aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore24
-rw-r--r--INSTALL-WIN32.md256
-rw-r--r--INSTALL.md282
-rw-r--r--Makefile.in49
-rw-r--r--README.md.txt266
-rw-r--r--TAR.include1
-rw-r--r--bootstrap/bin/start.bootbin5312 -> 5306 bytes
-rw-r--r--bootstrap/bin/start.script8
-rw-r--r--bootstrap/bin/start_clean.bootbin5312 -> 5306 bytes
-rw-r--r--bootstrap/bin/start_clean.script8
-rw-r--r--bootstrap/lib/compiler/ebin/beam_asm.beambin9168 -> 9168 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_block.beambin13096 -> 13040 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_bool.beambin14928 -> 14928 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_bsm.beambin12292 -> 12308 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_clean.beambin10192 -> 10192 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_dict.beambin3928 -> 3928 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_disasm.beambin23204 -> 23300 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_flatten.beambin3312 -> 3256 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_jump.beambin8996 -> 8984 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_listing.beambin2720 -> 2720 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_opcodes.beambin6680 -> 6748 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_receive.beambin0 -> 5388 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_type.beambin13344 -> 13236 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/beam_validator.beambin31480 -> 31536 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/cerl_clauses.beambin2644 -> 2676 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/cerl_inline.beambin33048 -> 33288 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/compile.beambin31800 -> 31804 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/compiler.app1
-rw-r--r--bootstrap/lib/compiler/ebin/core_lib.beambin5056 -> 5068 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/core_lint.beambin10660 -> 10660 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/sys_core_dsetel.beambin6352 -> 6352 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/sys_core_fold.beambin41596 -> 41752 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/sys_core_inline.beambin4028 -> 3996 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/sys_pre_expand.beambin14052 -> 14064 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/v3_codegen.beambin48016 -> 48048 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/v3_core.beambin45504 -> 45328 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/v3_kernel.beambin41256 -> 40832 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/v3_kernel_pp.beambin10660 -> 10624 bytes
-rw-r--r--bootstrap/lib/compiler/ebin/v3_life.beambin20916 -> 21600 bytes
-rw-r--r--bootstrap/lib/compiler/egen/beam_opcodes.erl10
-rw-r--r--bootstrap/lib/compiler/egen/core_parse.erl33
-rw-r--r--bootstrap/lib/kernel/ebin/application_controller.beambin28696 -> 28120 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/application_starter.beambin1260 -> 1200 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/code.beambin5744 -> 5732 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/code_server.beambin23856 -> 23788 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/error_handler.beambin1864 -> 1828 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/file_io_server.beambin12836 -> 12816 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/file_server.beambin4852 -> 4852 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/global.beambin30796 -> 29508 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/heart.beambin3644 -> 3632 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/inet6_tcp_dist.beambin5792 -> 5864 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/inet_db.beambin24836 -> 24820 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/inet_gethost_native.beambin9748 -> 9724 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/kernel.app2
-rw-r--r--bootstrap/lib/kernel/ebin/kernel.appup2
-rw-r--r--bootstrap/lib/kernel/ebin/kernel_config.beambin2572 -> 2564 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/os.beambin4240 -> 4648 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/pg2.beambin6948 -> 6956 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/rpc.beambin8200 -> 8200 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/standard_error.beambin3472 -> 3460 bytes
-rw-r--r--bootstrap/lib/kernel/ebin/user.beambin11356 -> 11448 bytes
-rw-r--r--bootstrap/lib/kernel/include/file.hrl31
-rw-r--r--bootstrap/lib/orber/include/ifr_types.hrl2
-rw-r--r--bootstrap/lib/stdlib/ebin/c.beambin12664 -> 12524 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/epp.beambin21644 -> 21924 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/erl_expand_records.beambin17156 -> 17056 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/erl_lint.beambin73276 -> 72444 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/erl_parse.beambin61804 -> 62612 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/erl_pp.beambin21224 -> 21332 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/erl_scan.beambin30300 -> 30292 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/escript.beambin12092 -> 15328 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/ets.beambin18516 -> 18140 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/gen.beambin3456 -> 3408 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/gen_event.beambin11880 -> 11916 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/gen_fsm.beambin8600 -> 8832 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/gen_server.beambin11336 -> 11720 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/lists.beambin27512 -> 27432 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/otp_internal.beambin7192 -> 7792 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/sofs.beambin39096 -> 39096 bytes
-rw-r--r--bootstrap/lib/stdlib/ebin/stdlib.app2
-rw-r--r--bootstrap/lib/stdlib/ebin/stdlib.appup2
-rw-r--r--bootstrap/lib/stdlib/ebin/zip.beambin23960 -> 24644 bytes
-rw-r--r--bootstrap/lib/stdlib/egen/erl_parse.erl13172
-rw-r--r--configure.in31
-rw-r--r--erts/configure.in44
-rw-r--r--erts/doc/src/Makefile11
-rw-r--r--erts/doc/src/alt_dist.xml8
-rw-r--r--erts/doc/src/driver.xml2
-rw-r--r--erts/doc/src/erl_dist_protocol.xml2
-rw-r--r--erts/doc/src/erl_driver.xml2
-rw-r--r--erts/doc/src/erl_nif.xml40
-rw-r--r--erts/doc/src/erlang.xml79
-rw-r--r--erts/doc/src/escript.xml217
-rw-r--r--erts/doc/src/match_spec.xml2
-rw-r--r--erts/doc/src/notes.xml4
-rw-r--r--erts/emulator/Makefile.in87
-rw-r--r--erts/emulator/beam/atom.names10
-rw-r--r--erts/emulator/beam/beam_bif_load.c38
-rw-r--r--erts/emulator/beam/beam_bp.c213
-rw-r--r--erts/emulator/beam/beam_bp.h50
-rw-r--r--erts/emulator/beam/beam_catches.c18
-rw-r--r--erts/emulator/beam/beam_catches.h16
-rw-r--r--erts/emulator/beam/beam_debug.c154
-rw-r--r--erts/emulator/beam/beam_emu.c650
-rw-r--r--erts/emulator/beam/beam_load.c534
-rw-r--r--erts/emulator/beam/beam_load.h22
-rw-r--r--erts/emulator/beam/bif.c19
-rw-r--r--erts/emulator/beam/bif.h31
-rw-r--r--erts/emulator/beam/bif.tab34
-rw-r--r--erts/emulator/beam/big.c74
-rw-r--r--erts/emulator/beam/big.h24
-rw-r--r--erts/emulator/beam/binary.c59
-rw-r--r--erts/emulator/beam/break.c18
-rw-r--r--erts/emulator/beam/dist.c173
-rw-r--r--erts/emulator/beam/dist.h11
-rw-r--r--erts/emulator/beam/erl_alloc.c96
-rw-r--r--erts/emulator/beam/erl_alloc.h18
-rw-r--r--erts/emulator/beam/erl_alloc.types15
-rw-r--r--erts/emulator/beam/erl_alloc_util.c175
-rw-r--r--erts/emulator/beam/erl_alloc_util.h60
-rw-r--r--erts/emulator/beam/erl_arith.c107
-rw-r--r--erts/emulator/beam/erl_async.c10
-rw-r--r--erts/emulator/beam/erl_bif_binary.c2930
-rw-r--r--erts/emulator/beam/erl_bif_chksum.c14
-rw-r--r--erts/emulator/beam/erl_bif_guard.c37
-rw-r--r--erts/emulator/beam/erl_bif_info.c46
-rw-r--r--erts/emulator/beam/erl_bif_lists.c15
-rw-r--r--erts/emulator/beam/erl_bif_op.c12
-rw-r--r--erts/emulator/beam/erl_bif_port.c44
-rw-r--r--erts/emulator/beam/erl_bif_re.c8
-rw-r--r--erts/emulator/beam/erl_bif_timer.c20
-rw-r--r--erts/emulator/beam/erl_bif_trace.c57
-rw-r--r--erts/emulator/beam/erl_binary.h27
-rw-r--r--erts/emulator/beam/erl_bits.c14
-rw-r--r--erts/emulator/beam/erl_bits.h12
-rw-r--r--erts/emulator/beam/erl_db.c135
-rw-r--r--erts/emulator/beam/erl_db_hash.c12
-rw-r--r--erts/emulator/beam/erl_db_tree.c12
-rw-r--r--erts/emulator/beam/erl_db_util.c340
-rw-r--r--erts/emulator/beam/erl_db_util.h18
-rw-r--r--erts/emulator/beam/erl_debug.c32
-rw-r--r--erts/emulator/beam/erl_debug.h18
-rw-r--r--erts/emulator/beam/erl_driver.h9
-rw-r--r--erts/emulator/beam/erl_fun.c18
-rw-r--r--erts/emulator/beam/erl_fun.h18
-rw-r--r--erts/emulator/beam/erl_gc.c6
-rw-r--r--erts/emulator/beam/erl_goodfit_alloc.c58
-rw-r--r--erts/emulator/beam/erl_goodfit_alloc.h30
-rw-r--r--erts/emulator/beam/erl_init.c28
-rw-r--r--erts/emulator/beam/erl_instrument.c84
-rw-r--r--erts/emulator/beam/erl_lock_check.c5
-rw-r--r--erts/emulator/beam/erl_message.h10
-rw-r--r--erts/emulator/beam/erl_mtrace.c36
-rw-r--r--erts/emulator/beam/erl_nif.c166
-rw-r--r--erts/emulator/beam/erl_nif.h32
-rw-r--r--erts/emulator/beam/erl_nif_api_funcs.h4
-rw-r--r--erts/emulator/beam/erl_node_container_utils.h12
-rw-r--r--erts/emulator/beam/erl_node_tables.c39
-rw-r--r--erts/emulator/beam/erl_node_tables.h12
-rw-r--r--erts/emulator/beam/erl_printf_term.c16
-rw-r--r--erts/emulator/beam/erl_process.c60
-rw-r--r--erts/emulator/beam/erl_process.h40
-rw-r--r--erts/emulator/beam/erl_process_dump.c32
-rw-r--r--erts/emulator/beam/erl_term.c28
-rw-r--r--erts/emulator/beam/erl_term.h85
-rw-r--r--erts/emulator/beam/erl_trace.c247
-rw-r--r--erts/emulator/beam/erl_unicode.c30
-rw-r--r--erts/emulator/beam/erl_vm.h16
-rw-r--r--erts/emulator/beam/error.h16
-rw-r--r--erts/emulator/beam/export.c20
-rw-r--r--erts/emulator/beam/export.h16
-rw-r--r--erts/emulator/beam/external.c162
-rw-r--r--erts/emulator/beam/external.h2
-rw-r--r--erts/emulator/beam/global.h144
-rw-r--r--erts/emulator/beam/io.c268
-rw-r--r--erts/emulator/beam/module.h4
-rw-r--r--erts/emulator/beam/ops.tab61
-rw-r--r--erts/emulator/beam/register.c19
-rw-r--r--erts/emulator/beam/sys.h81
-rw-r--r--erts/emulator/beam/utils.c176
-rw-r--r--erts/emulator/drivers/common/efile_drv.c26
-rw-r--r--erts/emulator/drivers/common/inet_drv.c82
-rw-r--r--erts/emulator/drivers/common/zlib_drv.c12
-rw-r--r--erts/emulator/drivers/unix/ttsl_drv.c6
-rw-r--r--erts/emulator/drivers/unix/unix_efile.c80
-rw-r--r--erts/emulator/pcre/pcre_compile.c9
-rw-r--r--erts/emulator/pcre/pcre_exec.c1
-rw-r--r--erts/emulator/sys/common/erl_mseg.c487
-rw-r--r--erts/emulator/sys/common/erl_mseg.h14
-rw-r--r--erts/emulator/sys/common/erl_poll.c1
-rw-r--r--erts/emulator/sys/unix/sys.c5
-rw-r--r--erts/emulator/sys/vxworks/sys.c18
-rw-r--r--erts/emulator/sys/win32/sys.c21
-rw-r--r--erts/emulator/test/Makefile16
-rw-r--r--erts/emulator/test/beam_SUITE.erl35
-rw-r--r--erts/emulator/test/binary_SUITE.erl32
-rw-r--r--erts/emulator/test/decode_packet_SUITE.erl35
-rw-r--r--erts/emulator/test/distribution_SUITE.erl11
-rw-r--r--erts/emulator/test/driver_SUITE_data/chkio_drv.c2
-rw-r--r--erts/emulator/test/driver_SUITE_data/io_ready_exit_drv.c2
-rw-r--r--erts/emulator/test/driver_SUITE_data/ioq_exit_drv.c48
-rw-r--r--erts/emulator/test/driver_SUITE_data/missing_callback_drv.c2
-rw-r--r--erts/emulator/test/driver_SUITE_data/peek_non_existing_queue_drv.c2
-rw-r--r--erts/emulator/test/fun_r12_SUITE.erl (renamed from erts/emulator/test/fun_r11_SUITE.erl)34
-rw-r--r--erts/emulator/test/guard_SUITE.erl179
-rw-r--r--erts/emulator/test/nif_SUITE_data/nif_SUITE.c44
-rw-r--r--erts/emulator/test/nif_SUITE_data/nif_mod.c18
-rw-r--r--erts/emulator/test/obsolete_SUITE.erl14
-rw-r--r--erts/emulator/test/port_SUITE.erl21
-rw-r--r--erts/emulator/test/receive_SUITE.erl113
-rw-r--r--erts/emulator/test/system_info_SUITE.erl24
-rwxr-xr-xerts/emulator/utils/beam_makeops22
-rwxr-xr-xerts/emulator/utils/make_tables20
-rw-r--r--erts/epmd/src/epmd.c103
-rw-r--r--erts/epmd/src/epmd_int.h44
-rw-r--r--erts/epmd/src/epmd_srv.c38
-rw-r--r--erts/etc/common/Makefile.in10
-rw-r--r--erts/etc/common/inet_gethost.c18
-rw-r--r--erts/etc/unix/cerl.src20
-rw-r--r--erts/include/erl_int_sizes_config.h.in13
-rw-r--r--erts/lib_src/common/erl_misc_utils.c14
-rw-r--r--erts/preloaded/ebin/erl_prim_loader.beambin50808 -> 50816 bytes
-rw-r--r--erts/preloaded/ebin/erlang.beambin23800 -> 23808 bytes
-rw-r--r--erts/preloaded/ebin/init.beambin44488 -> 44500 bytes
-rw-r--r--erts/preloaded/ebin/otp_ring0.beambin1436 -> 1448 bytes
-rw-r--r--erts/preloaded/ebin/prim_file.beambin29480 -> 29496 bytes
-rw-r--r--erts/preloaded/ebin/prim_inet.beambin57308 -> 57320 bytes
-rw-r--r--erts/preloaded/ebin/prim_zip.beambin21756 -> 22600 bytes
-rw-r--r--erts/preloaded/ebin/zlib.beambin10612 -> 10620 bytes
-rw-r--r--erts/preloaded/src/prim_zip.erl89
-rw-r--r--erts/test/erlexec_SUITE_data/erlexec_tests.c12
-rw-r--r--erts/vsn.mk14
-rw-r--r--lib/.gitignore5
-rw-r--r--lib/appmon/doc/src/appmon_chapter.xml10
-rw-r--r--lib/asn1/c_src/Makefile2
-rw-r--r--lib/asn1/doc/src/asn1ct.xml7
-rw-r--r--lib/asn1/src/asn1ct.erl38
-rw-r--r--lib/asn1/src/asn1ct_gen.erl26
-rw-r--r--lib/asn1/src/asn1ct_gen_ber.erl12
-rw-r--r--lib/asn1/src/asn1ct_gen_ber_bin_v2.erl12
-rw-r--r--lib/asn1/src/asn1ct_gen_per.erl12
-rw-r--r--lib/asn1/src/asn1ct_gen_per_rt2ct.erl12
-rw-r--r--lib/asn1/test/Makefile35
-rw-r--r--lib/asn1/test/asn1_SUITE.erl.src5
-rw-r--r--lib/asn1/test/asn1_SUITE_data/P-Record.py66
-rw-r--r--lib/asn1/test/asn1_SUITE_data/XSeq.py72
-rw-r--r--lib/asn1/test/asn1_SUITE_data/XSeqOf.py28
-rw-r--r--lib/asn1/test/asn1_app_test.erl38
-rw-r--r--lib/asn1/test/asn1_appup_test.erl56
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/AA1.asn13
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/AA2.asn1dbbin5224 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/BadEnumValue1.asn8
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/BadTypeEnding.asn6
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/BadValueAssignment1.asn18
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/BadValueAssignment2.asn18
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/BadValueSet.asn19
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/BitStr.py56
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/CCSNARG3.asn345
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Certificate.asn0
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Cho.py27
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoExtension.asn144
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoExternal.asn140
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoOptional.asn135
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoOptionalImplicitTag.asn135
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoPrim.asn120
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoRecursive.asn130
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefCho.asn144
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefPrim.asn134
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefSeq.asn137
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefSet.asn137
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoiceBadExtension.asn127
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoiceInSeq.asn22
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ChoiceIndef.asn24
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Comment.asn21
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/CommonDataTypes.py4360
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Constraints.py84
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Constructed.asn23
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ContextSwitchingTypes.asn153
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/DERSpec.asn38
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/DS-EquipmentUser-CommonFunctionOrig-TransmissionPath.py150
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Def.asn131
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Def.py31
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Default.asn158
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/DirectoryAbstractService.asn710
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/DoubleEllipses.asn99
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ELDAPv3.asn291
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/EUTRA-InterNodeDefinitions.asn123
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/EUTRA-RRC-Definitions.asn2640
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/EUTRA-UE-Variables.asn49
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/EUTRA-extract-55.asn47
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/EUTRA-extract-7407.asn1109
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Enum.py46
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/EnumExt.asn128
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/EnumerationBadExtension.asn120
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ErrorClass.asn15
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Example.asn120
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Export1.asn7
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/External.asn1132
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/From.py15
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/H235-SECURITY-MESSAGES.asn170
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/H323-MESSAGES.asn1341
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/IMP.asn17
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/IN-CS-1-Datatypes.asn1630
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/INAPv2extract.asn112
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/INSTANCEOF.asn134
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/IllegalExport.asn17
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Import.py14
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ImportsFrom.asn117
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/InfClass.asn56
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/InfObj.asn153
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/InfObj2.asn156
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/InformationFramework.asn868
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Int.py12
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/LDAP.asn1283
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/M1.asn24
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/M2.asn29
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/MAP-ExtensionDataTypes.asn37
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/MAP-commonDataTypes.py31
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/MAP-insertSubscriberData-def.py102
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/MEDIA-GATEWAY-CONTROL.asn975
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/MEDIA-GATEWAY-CONTROL.asn1config7
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/MS.set.asn2
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn3084
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/MissingEnd.asn15
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mod.set.asn5
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mod1.asn18
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mod2.asn43
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mod3.asn33
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mod4.asn33
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mod5.asn37
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-11-4.asn675
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-11-6.asn1776
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-14-4.asn66
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-14-6.asn352
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-15-4.asn42
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-15-6.asn202
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-17-4.asn100
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-18-4.asn215
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-18-6.asn515
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-19-4.asn53
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-19-6.asn109
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-20-4.asn54
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-20-6.asn147
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-21-4.asn66
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-Constants-1.asn85
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-DataTypes-1.asn454
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn.set.asn7
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn4.set.asn10
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Mvrasn6.set.asn7
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/MyMerge.set.asn2
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/NoImport.asn14
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/Nortel.asn592
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Null.py22
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/OLD-MEDIA-GATEWAY-CONTROL.asn950
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/OTP-PKIX.asn1config2
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/OTP-PKIX.set.asn5
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ObjIdValues.asn166
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Objects.asn61
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Octetstr.py15
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/One.py52
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/OpenType.asn112
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/OpenTypeImplicitTag.asn19
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Opt.asn131
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Opt.py31
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/P-Record.asn1config1
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/P-Record.asn1dbbin3128 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/P-Record.erl244
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/P-Record.hrl17
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/P-Record.py59
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/P-RecordA1.asn29
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/P-RecordA2.asn33
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/P-RecordA3.asn40
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/P.py19
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PDUs.py325
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PKIX1Algorithms88.asn1274
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PKIX1Explicit88.asn1619
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PKIX1Explicit93.asn1779
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PKIX1Implicit88.asn1349
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PKIX1Implicit93.asn1357
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PKIXAttributeCertificate.asn1189
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Param.asn193
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ParamBasic.asn123
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PartialDecMyHTTP.asn19
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PartialDecMyHTTP.asn1config3
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq.asn34
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq.asn1config22
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq2.asn29
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq2.asn1config4
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq3.asn45
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq3.asn1config2
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Pattern.asn8
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Person.py10
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Prim.asn132
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PrimExternal.asn139
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/PrimStrings.asn197
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/RANAP-CommonDataTypes.asn145
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/RANAP-Constants.asn1355
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/RANAP-Containers.asn1206
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/RANAP-IEs.asn12081
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/RANAP-PDU-Contents.asn13383
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/RANAP-PDU-Descriptions.asn1619
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/RANAP.asn13237
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/RANAPSET.set.asn16
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/RANAPextract1.asn142
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ROSE.asn1449
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Real.py31
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1203
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Information-Objects.asn1130
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Merged.set.asn13
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Useful-Definitions.asn1149
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/S1AP-CommonDataTypes.asn35
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/S1AP-Constants.asn251
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/S1AP-Containers.asn201
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/S1AP-IEs.asn1178
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/S1AP-PDU-Contents.asn2083
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/S1AP-PDU-Descriptions.asn548
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SOpttest.asn30
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SSL-PKIX.asn1704
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SelectedAttributeTypes.asn1466
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SelectionType.asn59
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Seq.py152
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Seq2738.asn137
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqBadComma.asn10
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqDefault.asn177
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqExtension.asn137
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqExternal.asn168
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqOf.asn165
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqOf.py45
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqOfCho.asn173
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqOfEnum.asn111
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqOfExternal.asn142
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqOfTag.asn165
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqOptional.asn186
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqOptional2.asn90
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqPrim.asn119
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqSetIndefinite.asn41
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqSetLib.py32
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqTag.asn148
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefCho.asn128
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefPrim.asn148
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefSeq.asn1113
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefSet.asn139
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComma.asn10
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComponentName.asn110
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComponentType.asn110
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Set.py141
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetDefault.asn133
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetExtension.asn137
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetExternal.asn168
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetOf.asn161
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetOf.py42
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetOfCho.asn173
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetOfExternal.asn142
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetOfTag.asn165
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetOptional.asn177
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetPrim.asn120
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetTag.asn147
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefCho.asn127
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefPrim.asn129
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefSeq.asn138
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefSet.asn1110
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/String.py7
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/SwCDR.py213
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Syntax.py10
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/TCAPMessages-simple.asn206
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/TCAPMessages.asn98
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage.asn271
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage.asn1config12
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage_msg.erl141
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/TConstr.asn195
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/TConstrChoice.asn1175
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Time.py7
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Tst.py153
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/Two.py34
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/UPERDefault.asn18
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/UndefType.py14
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/UpperBounds.asn89
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/UsefulDefinitions.asn238
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/ValueTest.asn53
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/XSeq.py42
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/XSeqOf.py19
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/XSet.py47
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/XSetOf.py12
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg1.valbin1032 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg10.valbin893 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg11.valbin854 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg12.valbin538 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg13.valbin1156 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg14.valbin878 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg15.valbin1542 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg16.valbin691 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg17.valbin957 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg18.valbin402 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg19.valbin476 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg2.valbin1032 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg20.valbin331 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg21.valbin474 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg22.valbin329 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg23.valbin691 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg24.valbin452 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg25.valbin1552 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg3.valbin1090 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg4.valbin473 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg5.valbin550 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg6.valbin483 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg7.valbin326 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg8.valbin326 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg9.valbin331 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/AuthenticationFramework.asn290
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/BasicAccessControl.asn184
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/CertificateExtensions.asn498
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/InformationFramework.asn868
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/MTSAbstractService.asn2366
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/MTSUpperBounds.asn146
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/PKCS7.asn343
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/SelectedAttributeTypes.asn1466
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/UpperBounds.asn89
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/UsefulDefinitions.asn238
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/modified_x420/p7_signed_data.pem23
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-CommonDataTypes.asn58
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-Constants.asn688
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-Containers.asn197
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-IEs.asn4127
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-PDU-Contents.asn9234
-rwxr-xr-xlib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-PDU-Discriptions.asn916
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/p_record.asn1config1
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/p_record.set.asn1
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/subdir/MySO.asn14
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/DialoguePDUs.asn80
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ApplicationContexts.asn186
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-BS-Code.asn126
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CH-DataTypes.asn438
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CallHandlingOperations.asn198
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CommonDataTypes.asn612
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-DialogueInformation.asn149
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ER-DataTypes.asn405
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Errors.asn507
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ExtensionDataTypes.asn65
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-GR-DataTypes.asn122
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Group-Call-Operations.asn72
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-LCS-DataTypes.asn533
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-LocationServiceOperations.asn103
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-MS-DataTypes.asn2458
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-MobileServiceOperations.asn506
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-OM-DataTypes.asn62
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-OperationAndMaintenanceOperations.asn91
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Protocol.asn176
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SM-DataTypes.asn217
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SS-Code.asn183
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SS-DataTypes.asn337
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ST-DataTypes.asn98
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SecureTransportOperations.asn78
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ShortMessageServiceOperations.asn155
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SupplementaryServiceOperations.asn295
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-TS-Code.asn87
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MobileDomainDefinitions.asn38
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Generic-ROS-PDUs.asn167
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Information-Objects.asn127
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Useful-Definitions.asn99
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TC-Notation-Extensions.asn87
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAP-Examples.asn72
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAP-Tools.asn47
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAPMessages.asn149
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/UnidialoguePDUs.asn26
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/test_records.erl87
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/testobj.erl1443
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/ACSE-1.asn253
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/AuthenticationFramework.asn290
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/BasicAccessControl.asn184
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/CertificateExtensions.asn498
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Coding-Attributes.asn17
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Presentation-Attributes.asn125
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Profile-Attributes.asn54
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Colour-Attributes.asn192
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DOR-definition.asn134
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DSAOperationalAttributeTypes.asn186
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Default-Value-Lists.asn143
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryAbstractService.asn710
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryAccessProtocol.asn162
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryInformationShadowProtocol.asn246
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryOperationalBindingManagementProtocol.asn117
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryOperationalBindingTypes.asn26
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryProtectionMappings.asn70
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryShadowAbstractService.asn324
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DirectorySystemProtocol.asn118
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/DistributedOperations.asn181
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Document-Profile-Descriptor.asn464
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/EnhancedSecurity.asn363
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/External-References.asn49
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/GULSProtectionMappings.asn71
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/GenericProtectingTransferSyntax.asn66
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Coding-Attributes.asn16
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Presentation-Attributes.asn265
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Profile-Attributes.asn44
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/GulsSecurityExchanges.asn79
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/GulsSecurityTransformations.asn212
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/HierarchicalOperationalBindings.asn123
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSAbstractService.asn148
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSAutoActionTypes.asn234
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedBodyPartTypes.asn102
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedBodyPartTypes2.asn37
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedVoiceBodyPartType.asn39
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSFileTransferBodyPartType.asn253
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSForwardedContentBodyPartType.asn53
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSForwardedReportBodyPartType.asn41
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSFunctionalObjects.asn47
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSHeadingExtensions.asn246
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSInformationObjects.asn626
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSMessageStoreAttributes.asn1120
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSObjectIdentifiers.asn507
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSObjectIdentifiers2.asn33
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSSecurityExtensions.asn143
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSUpperBounds.asn46
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/ISO-STANDARD-9541-FONT-ATTRIBUTE-SET.asn459
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/ISO8571-FTAM.asn1453
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/ISO9541-SN.asn51
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Identifiers-and-Expressions.asn126
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/InformationFramework.asn868
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Interchange-Data-Elements.asn57
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Layout-Descriptors.asn268
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Link-Descriptors.asn80
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Location-Expressions.asn338
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Logical-Descriptors.asn95
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MHSObjectIdentifiers.asn187
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MHSProtocolObjectIdentifiers.asn112
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MSAbstractService.asn1085
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MSAccessProtocol.asn259
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MSGeneralAttributeTypes.asn830
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MSGeneralAutoActionTypes.asn118
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MSMatchingRules.asn225
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MSObjectIdentifiers.asn322
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MSUpperBounds.asn77
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MTAAbstractService.asn481
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAbstractService.asn2366
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAbstractService88.asn150
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAccessProtocol.asn321
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MTSObjectIdentifiers.asn116
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/MTSUpperBounds.asn146
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Notation.asn244
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/ObjectIdentifiers.asn46
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/OperationalBindingManagement.asn263
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/PKCS7.asn342
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/PKCS7BodyPartType.asn31
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Protected-Part-Descriptors.asn74
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/ProtocolObjectIdentifiers.asn140
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Coding-Attributes.asn75
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Presentation-Attributes.asn92
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Profile-Attributes.asn76
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Reliable-Transfer-APDU.asn132
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Abstract-Syntaxes.asn103
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Generic-ROS-PDUs.asn163
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Information-Objects-extensions.asn36
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Information-Objects.asn123
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Realizations.asn81
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Useful-Definitions.asn95
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/SelectedAttributeTypes.asn1466
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/SeseAPDUs.asn116
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/SpkmGssTokens.asn257
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Style-Descriptors.asn190
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Subprofiles.asn96
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Temporal-Relationships.asn92
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Text-Units.asn72
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/UpperBounds.asn89
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/UsefulDefinitions.asn238
-rw-r--r--lib/asn1/test/asn1_bin_SUITE_data/x420/Videotex-Coding-Attributes.asn30
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/AA1.asn13
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/AA2.asn1dbbin5224 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/BadEnumValue1.asn8
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/BadTypeEnding.asn6
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueAssignment1.asn18
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueAssignment2.asn18
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueSet.asn19
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/BitStr.py56
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/CCSNARG3.asn345
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Certificate.asn0
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Cho.py27
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoExtension.asn144
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoExternal.asn140
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoOptional.asn135
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoOptionalImplicitTag.asn135
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoPrim.asn120
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoRecursive.asn130
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefCho.asn144
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefPrim.asn134
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefSeq.asn137
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefSet.asn137
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceBadExtension.asn127
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceInSeq.asn22
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceIndef.asn24
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Comment.asn21
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/CommonDataTypes.py4360
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Constraints.py84
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Constructed.asn23
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ContextSwitchingTypes.asn153
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/DERSpec.asn38
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/DS-EquipmentUser-CommonFunctionOrig-TransmissionPath.py150
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Def.asn131
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Def.py31
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Default.asn158
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/DirectoryAbstractService.asn710
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/DoubleEllipses.asn99
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ELDAPv3.asn291
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-InterNodeDefinitions.asn123
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-RRC-Definitions.asn2640
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-UE-Variables.asn49
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-extract-55.asn47
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-extract-7407.asn1109
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Enum.py46
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/EnumExt.asn128
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/EnumerationBadExtension.asn120
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ErrorClass.asn15
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Example.asn120
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Export1.asn7
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/External.asn1132
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/From.py15
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/H235-SECURITY-MESSAGES.asn170
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/H323-MESSAGES.asn1341
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/IMP.asn17
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/IN-CS-1-Datatypes.asn1630
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/INAPv2extract.asn112
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/INSTANCEOF.asn134
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/IllegalExport.asn17
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Import.py14
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ImportsFrom.asn117
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/InfClass.asn56
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/InfObj.asn153
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/InfObj2.asn156
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/InformationFramework.asn868
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Int.py12
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/LDAP.asn1283
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/M1.asn24
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/M2.asn29
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-ExtensionDataTypes.asn37
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-commonDataTypes.py31
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-insertSubscriberData-def.py102
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/MEDIA-GATEWAY-CONTROL.asn975
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/MEDIA-GATEWAY-CONTROL.asn1config7
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/MS.set.asn2
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn3084
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/MissingEnd.asn15
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mod.set.asn5
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mod1.asn18
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mod2.asn43
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mod3.asn33
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mod4.asn33
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mod5.asn37
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-11-4.asn675
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-11-6.asn1776
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-14-4.asn66
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-14-6.asn352
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-15-4.asn42
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-15-6.asn202
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-17-4.asn100
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-18-4.asn215
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-18-6.asn515
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-19-4.asn53
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-19-6.asn109
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-20-4.asn54
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-20-6.asn147
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-21-4.asn66
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-Constants-1.asn85
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-DataTypes-1.asn454
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn.set.asn7
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn4.set.asn10
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn6.set.asn7
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/MyMerge.set.asn2
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/NoImport.asn14
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/Nortel.asn592
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Null.py22
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/OLD-MEDIA-GATEWAY-CONTROL.asn950
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/OTP-PKIX.asn1config2
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/OTP-PKIX.set.asn5
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ObjIdValues.asn166
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Objects.asn61
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Octetstr.py15
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/One.py52
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/OpenType.asn112
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/OpenTypeImplicitTag.asn19
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Opt.asn131
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Opt.py31
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.asn1config1
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.asn1dbbin3128 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.erl244
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.hrl17
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.py59
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA1.asn29
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA2.asn33
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA3.asn40
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/P.py19
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PDUs.py325
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Algorithms88.asn1274
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Explicit88.asn1619
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Explicit93.asn1779
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Implicit88.asn1349
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Implicit93.asn1357
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PKIXAttributeCertificate.asn1189
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Param.asn193
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ParamBasic.asn123
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecMyHTTP.asn19
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecMyHTTP.asn1config3
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq.asn34
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq.asn1config22
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq2.asn29
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq2.asn1config4
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq3.asn45
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq3.asn1config2
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Pattern.asn8
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Person.py10
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Prim.asn132
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PrimExternal.asn139
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/PrimStrings.asn197
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-CommonDataTypes.asn145
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-Constants.asn1355
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-Containers.asn1206
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-IEs.asn12081
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-PDU-Contents.asn13383
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-PDU-Descriptions.asn1619
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP.asn13237
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/RANAPSET.set.asn16
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/RANAPextract1.asn142
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ROSE.asn1449
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Real.py31
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1203
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Information-Objects.asn1130
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Merged.set.asn13
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Useful-Definitions.asn1149
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-CommonDataTypes.asn35
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-Constants.asn251
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-Containers.asn201
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-IEs.asn1178
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-PDU-Contents.asn2083
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-PDU-Descriptions.asn548
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SOpttest.asn30
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SSL-PKIX.asn1704
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SelectedAttributeTypes.asn1466
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SelectionType.asn59
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Seq.py152
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Seq2738.asn137
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqBadComma.asn10
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqDefault.asn177
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqExtension.asn137
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqExternal.asn168
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOf.asn165
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOf.py45
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfCho.asn173
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfEnum.asn111
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfExternal.asn142
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfTag.asn165
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOptional.asn186
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOptional2.asn90
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqPrim.asn119
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqSetIndefinite.asn41
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqSetLib.py32
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTag.asn148
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefCho.asn128
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefPrim.asn148
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefSeq.asn1113
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefSet.asn139
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComma.asn10
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComponentName.asn110
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComponentType.asn110
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Set.py141
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetDefault.asn133
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetExtension.asn137
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetExternal.asn168
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetOf.asn161
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetOf.py42
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfCho.asn173
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfExternal.asn142
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfTag.asn165
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetOptional.asn177
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetPrim.asn120
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetTag.asn147
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefCho.asn127
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefPrim.asn129
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefSeq.asn138
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefSet.asn1110
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/String.py7
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/SwCDR.py213
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Syntax.py10
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPMessages-simple.asn206
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPMessages.asn98
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage.asn271
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage.asn1config12
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage_msg.erl141
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/TConstr.asn195
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/TConstrChoice.asn1175
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Time.py7
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Tst.py153
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/Two.py34
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/UPERDefault.asn18
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/UndefType.py14
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/UpperBounds.asn89
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/UsefulDefinitions.asn238
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/ValueTest.asn53
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/XSeq.py42
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/XSeqOf.py19
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/XSet.py47
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/XSetOf.py12
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg1.valbin1032 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg10.valbin893 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg11.valbin854 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg12.valbin538 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg13.valbin1156 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg14.valbin878 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg15.valbin1542 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg16.valbin691 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg17.valbin957 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg18.valbin402 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg19.valbin476 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg2.valbin1032 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg20.valbin331 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg21.valbin474 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg22.valbin329 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg23.valbin691 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg24.valbin452 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg25.valbin1552 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg3.valbin1090 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg4.valbin473 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg5.valbin550 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg6.valbin483 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg7.valbin326 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg8.valbin326 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg9.valbin331 -> 0 bytes
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/AuthenticationFramework.asn290
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/BasicAccessControl.asn184
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/CertificateExtensions.asn498
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/InformationFramework.asn868
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/MTSAbstractService.asn2366
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/MTSUpperBounds.asn146
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/PKCS7.asn343
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/SelectedAttributeTypes.asn1466
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/UpperBounds.asn89
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/UsefulDefinitions.asn238
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/p7_signed_data.pem23
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-CommonDataTypes.asn58
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-Constants.asn688
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-Containers.asn197
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-IEs.asn4127
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-PDU-Contents.asn9234
-rwxr-xr-xlib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-PDU-Discriptions.asn916
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/p_record.asn1config1
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/p_record.set.asn1
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/subdir/MySO.asn14
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/DialoguePDUs.asn80
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ApplicationContexts.asn186
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-BS-Code.asn126
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CH-DataTypes.asn438
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CallHandlingOperations.asn198
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CommonDataTypes.asn612
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-DialogueInformation.asn149
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ER-DataTypes.asn405
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Errors.asn507
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ExtensionDataTypes.asn65
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-GR-DataTypes.asn122
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Group-Call-Operations.asn72
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-LCS-DataTypes.asn533
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-LocationServiceOperations.asn103
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-MS-DataTypes.asn2458
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-MobileServiceOperations.asn506
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-OM-DataTypes.asn62
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-OperationAndMaintenanceOperations.asn91
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Protocol.asn176
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SM-DataTypes.asn217
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SS-Code.asn183
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SS-DataTypes.asn337
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ST-DataTypes.asn98
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SecureTransportOperations.asn78
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ShortMessageServiceOperations.asn155
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SupplementaryServiceOperations.asn295
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-TS-Code.asn87
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MobileDomainDefinitions.asn38
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Generic-ROS-PDUs.asn167
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Information-Objects.asn127
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Useful-Definitions.asn99
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TC-Notation-Extensions.asn87
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAP-Examples.asn72
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAP-Tools.asn47
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAPMessages.asn149
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/UnidialoguePDUs.asn26
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/test_records.erl87
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/testobj.erl1443
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ACSE-1.asn253
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/AuthenticationFramework.asn290
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/BasicAccessControl.asn184
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/CertificateExtensions.asn498
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Coding-Attributes.asn17
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Presentation-Attributes.asn125
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Profile-Attributes.asn54
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Colour-Attributes.asn192
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DOR-definition.asn134
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DSAOperationalAttributeTypes.asn186
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Default-Value-Lists.asn143
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryAbstractService.asn710
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryAccessProtocol.asn162
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryInformationShadowProtocol.asn246
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryOperationalBindingManagementProtocol.asn117
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryOperationalBindingTypes.asn26
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryProtectionMappings.asn70
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryShadowAbstractService.asn324
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectorySystemProtocol.asn118
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DistributedOperations.asn181
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Document-Profile-Descriptor.asn464
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/EnhancedSecurity.asn363
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/External-References.asn49
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GULSProtectionMappings.asn71
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GenericProtectingTransferSyntax.asn66
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Coding-Attributes.asn16
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Presentation-Attributes.asn265
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Profile-Attributes.asn44
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GulsSecurityExchanges.asn79
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GulsSecurityTransformations.asn212
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/HierarchicalOperationalBindings.asn123
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSAbstractService.asn148
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSAutoActionTypes.asn234
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedBodyPartTypes.asn102
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedBodyPartTypes2.asn37
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedVoiceBodyPartType.asn39
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSFileTransferBodyPartType.asn253
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSForwardedContentBodyPartType.asn53
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSForwardedReportBodyPartType.asn41
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSFunctionalObjects.asn47
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSHeadingExtensions.asn246
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSInformationObjects.asn626
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSMessageStoreAttributes.asn1120
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSObjectIdentifiers.asn507
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSObjectIdentifiers2.asn33
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSSecurityExtensions.asn143
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSUpperBounds.asn46
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO-STANDARD-9541-FONT-ATTRIBUTE-SET.asn459
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO8571-FTAM.asn1453
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO9541-SN.asn51
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Identifiers-and-Expressions.asn126
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/InformationFramework.asn868
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Interchange-Data-Elements.asn57
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Layout-Descriptors.asn268
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Link-Descriptors.asn80
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Location-Expressions.asn338
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Logical-Descriptors.asn95
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MHSObjectIdentifiers.asn187
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MHSProtocolObjectIdentifiers.asn112
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSAbstractService.asn1085
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSAccessProtocol.asn259
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSGeneralAttributeTypes.asn830
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSGeneralAutoActionTypes.asn118
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSMatchingRules.asn225
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSObjectIdentifiers.asn322
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSUpperBounds.asn77
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTAAbstractService.asn481
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAbstractService.asn2366
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAbstractService88.asn150
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAccessProtocol.asn321
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSObjectIdentifiers.asn116
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSUpperBounds.asn146
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Notation.asn244
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ObjectIdentifiers.asn46
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/OperationalBindingManagement.asn263
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/PKCS7.asn342
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/PKCS7BodyPartType.asn31
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Protected-Part-Descriptors.asn74
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ProtocolObjectIdentifiers.asn140
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Coding-Attributes.asn75
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Presentation-Attributes.asn92
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Profile-Attributes.asn76
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Reliable-Transfer-APDU.asn132
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Abstract-Syntaxes.asn103
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Generic-ROS-PDUs.asn163
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Information-Objects-extensions.asn36
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Information-Objects.asn123
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Realizations.asn81
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Useful-Definitions.asn95
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SelectedAttributeTypes.asn1466
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SeseAPDUs.asn116
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SpkmGssTokens.asn257
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Style-Descriptors.asn190
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Subprofiles.asn96
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Temporal-Relationships.asn92
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Text-Units.asn72
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/UpperBounds.asn89
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/UsefulDefinitions.asn238
-rw-r--r--lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Videotex-Coding-Attributes.asn30
-rw-r--r--lib/asn1/test/asn1_test_lib.erl2
-rw-r--r--lib/asn1/test/asn1_wrapper.erl20
-rw-r--r--lib/asn1/test/bench/README109
-rw-r--r--lib/asn1/test/bench/RanapASN1.asn3146
-rw-r--r--lib/asn1/test/bench/all.erl98
-rw-r--r--lib/asn1/test/bench/bench.erl454
-rw-r--r--lib/asn1/test/bench/bench.hrl24
-rw-r--r--lib/asn1/test/bench/per_bm.erl650
-rw-r--r--lib/asn1/test/ber_decode_error.erl12
-rw-r--r--lib/asn1/test/choice_extension.erl12
-rw-r--r--lib/asn1/test/h323test.erl12
-rw-r--r--lib/asn1/test/testChoExtension.erl12
-rw-r--r--lib/asn1/test/testChoExternal.erl12
-rw-r--r--lib/asn1/test/testChoOptional.erl12
-rw-r--r--lib/asn1/test/testChoOptionalImplicitTag.erl12
-rw-r--r--lib/asn1/test/testChoPrim.erl12
-rw-r--r--lib/asn1/test/testChoRecursive.erl12
-rw-r--r--lib/asn1/test/testChoTypeRefCho.erl12
-rw-r--r--lib/asn1/test/testChoTypeRefPrim.erl12
-rw-r--r--lib/asn1/test/testChoTypeRefSeq.erl12
-rw-r--r--lib/asn1/test/testChoTypeRefSet.erl12
-rw-r--r--lib/asn1/test/testChoiceIndefinite.erl12
-rw-r--r--lib/asn1/test/testCompactBitString.erl12
-rw-r--r--lib/asn1/test/testConstraints.erl12
-rw-r--r--lib/asn1/test/testContextSwitchingTypes.erl16
-rw-r--r--lib/asn1/test/testDER.erl12
-rw-r--r--lib/asn1/test/testDeepTConstr.erl12
-rw-r--r--lib/asn1/test/testDef.erl12
-rw-r--r--lib/asn1/test/testDoubleEllipses.erl12
-rw-r--r--lib/asn1/test/testEnumExt.erl12
-rw-r--r--lib/asn1/test/testExternal.erl12
-rw-r--r--lib/asn1/test/testINSTANCE_OF.erl24
-rw-r--r--lib/asn1/test/testInfObj.erl12
-rw-r--r--lib/asn1/test/testInfObjectClass.erl12
-rw-r--r--lib/asn1/test/testMegaco.erl14
-rw-r--r--lib/asn1/test/testMergeCompile.erl12
-rw-r--r--lib/asn1/test/testMvrasn6.erl12
-rw-r--r--lib/asn1/test/testNBAPsystem.erl14
-rw-r--r--lib/asn1/test/testOpenTypeImplicitTag.erl12
-rw-r--r--lib/asn1/test/testOpt.erl12
-rw-r--r--lib/asn1/test/testParamBasic.erl12
-rw-r--r--lib/asn1/test/testParameterizedInfObj.erl2
-rw-r--r--lib/asn1/test/testPrim.erl12
-rw-r--r--lib/asn1/test/testPrimExternal.erl12
-rw-r--r--lib/asn1/test/testPrimStrings.erl14
-rw-r--r--lib/asn1/test/testRANAP.erl2
-rw-r--r--lib/asn1/test/testROSE.erl12
-rw-r--r--lib/asn1/test/testSSLspecs.erl12
-rw-r--r--lib/asn1/test/testSelectionTypes.erl12
-rw-r--r--lib/asn1/test/testSeq2738.erl12
-rw-r--r--lib/asn1/test/testSeqDefault.erl12
-rw-r--r--lib/asn1/test/testSeqExtension.erl12
-rw-r--r--lib/asn1/test/testSeqExternal.erl12
-rw-r--r--lib/asn1/test/testSeqIndefinite.erl12
-rw-r--r--lib/asn1/test/testSeqOf.erl12
-rw-r--r--lib/asn1/test/testSeqOfCho.erl12
-rw-r--r--lib/asn1/test/testSeqOfExternal.erl12
-rw-r--r--lib/asn1/test/testSeqOfIndefinite.erl12
-rw-r--r--lib/asn1/test/testSeqOfTag.erl12
-rw-r--r--lib/asn1/test/testSeqOptional.erl12
-rw-r--r--lib/asn1/test/testSeqPrim.erl12
-rw-r--r--lib/asn1/test/testSeqSetDefaultVal.erl12
-rw-r--r--lib/asn1/test/testSeqTag.erl12
-rw-r--r--lib/asn1/test/testSeqTypeRefCho.erl12
-rw-r--r--lib/asn1/test/testSeqTypeRefPrim.erl12
-rw-r--r--lib/asn1/test/testSeqTypeRefSeq.erl12
-rw-r--r--lib/asn1/test/testSeqTypeRefSet.erl12
-rw-r--r--lib/asn1/test/testSetDefault.erl12
-rw-r--r--lib/asn1/test/testSetExtension.erl12
-rw-r--r--lib/asn1/test/testSetExternal.erl12
-rw-r--r--lib/asn1/test/testSetIndefinite.erl12
-rw-r--r--lib/asn1/test/testSetOf.erl12
-rw-r--r--lib/asn1/test/testSetOfCho.erl12
-rw-r--r--lib/asn1/test/testSetOfExternal.erl12
-rw-r--r--lib/asn1/test/testSetOfTag.erl12
-rw-r--r--lib/asn1/test/testSetOptional.erl12
-rw-r--r--lib/asn1/test/testSetPrim.erl12
-rw-r--r--lib/asn1/test/testSetTag.erl12
-rw-r--r--lib/asn1/test/testSetTypeRefCho.erl12
-rw-r--r--lib/asn1/test/testSetTypeRefPrim.erl12
-rw-r--r--lib/asn1/test/testSetTypeRefSeq.erl12
-rw-r--r--lib/asn1/test/testSetTypeRefSet.erl12
-rw-r--r--lib/asn1/test/testTCAP.erl12
-rw-r--r--lib/asn1/test/testTcapsystem.erl12
-rw-r--r--lib/asn1/test/testTimer.erl16
-rw-r--r--lib/asn1/test/testTypeValueNotation.erl12
-rw-r--r--lib/asn1/test/testX420.erl14
-rw-r--r--lib/asn1/test/test_bad_values.erl12
-rw-r--r--lib/asn1/test/test_compile_options.erl33
-rw-r--r--lib/asn1/test/test_driver_load.erl12
-rw-r--r--lib/asn1/test/test_inline.erl12
-rw-r--r--lib/asn1/test/test_modified_x420.erl12
-rw-r--r--lib/asn1/test/test_partial_incomplete_decode.erl12
-rw-r--r--lib/asn1/test/test_selective_decode.erl12
-rw-r--r--lib/asn1/test/test_special_decode_performance.erl12
-rw-r--r--lib/asn1/test/test_undecoded_rest.erl18
-rw-r--r--lib/asn1/test/test_x691.erl12
-rw-r--r--lib/common_test/src/ct_ssh.erl26
-rw-r--r--lib/common_test/vsn.mk2
-rw-r--r--lib/compiler/src/Makefile1
-rw-r--r--lib/compiler/src/beam_asm.erl21
-rw-r--r--lib/compiler/src/beam_block.erl12
-rw-r--r--lib/compiler/src/beam_disasm.erl25
-rw-r--r--lib/compiler/src/beam_flatten.erl11
-rw-r--r--lib/compiler/src/beam_jump.erl11
-rw-r--r--lib/compiler/src/beam_receive.erl388
-rw-r--r--lib/compiler/src/beam_type.erl14
-rw-r--r--lib/compiler/src/beam_validator.erl5
-rw-r--r--lib/compiler/src/cerl_clauses.erl25
-rw-r--r--lib/compiler/src/cerl_inline.erl42
-rw-r--r--lib/compiler/src/compile.erl13
-rw-r--r--lib/compiler/src/compiler.app.src11
-rw-r--r--lib/compiler/src/erl_bifs.erl12
-rw-r--r--lib/compiler/src/genop.tab18
-rw-r--r--lib/compiler/src/sys_core_dsetel.erl12
-rw-r--r--lib/compiler/src/sys_core_fold.erl27
-rw-r--r--lib/compiler/src/sys_core_inline.erl29
-rw-r--r--lib/compiler/src/v3_codegen.erl24
-rw-r--r--lib/compiler/src/v3_core.erl94
-rw-r--r--lib/compiler/src/v3_kernel.erl161
-rw-r--r--lib/compiler/src/v3_kernel_pp.erl11
-rw-r--r--lib/compiler/src/v3_life.erl48
-rw-r--r--lib/compiler/test/Makefile28
-rw-r--r--lib/compiler/test/bs_match_SUITE.erl88
-rw-r--r--lib/compiler/test/bs_utf_SUITE.erl14
-rw-r--r--lib/compiler/test/compile_SUITE.erl46
-rw-r--r--lib/compiler/test/error_SUITE.erl35
-rw-r--r--lib/compiler/test/float_SUITE.erl12
-rw-r--r--lib/compiler/test/guard_SUITE.erl165
-rw-r--r--lib/compiler/test/inline_SUITE_data/decode1.erl48
-rw-r--r--lib/compiler/test/lc_SUITE.erl20
-rw-r--r--lib/compiler/test/match_SUITE.erl26
-rw-r--r--lib/compiler/test/misc_SUITE.erl29
-rw-r--r--lib/compiler/test/num_bif_SUITE.erl14
-rw-r--r--lib/compiler/test/pmod_SUITE.erl4
-rw-r--r--lib/compiler/test/receive_SUITE.erl63
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/no_1.erl99
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/no_2.erl26
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/no_3.erl14
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/yes_1.erl12
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/yes_2.erl13
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/yes_3.erl16
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl16
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/yes_5.erl46
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/yes_6.erl15
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/yes_7.erl12
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/yes_8.erl15
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/yes_9.erl13
-rw-r--r--lib/compiler/test/record_SUITE.erl39
-rw-r--r--lib/compiler/test/test_lib.erl49
-rw-r--r--lib/compiler/test/warnings_SUITE.erl17
-rw-r--r--lib/cosEvent/doc/src/notes.xml16
-rw-r--r--lib/cosEvent/test/Makefile154
-rw-r--r--lib/cosEvent/test/cosEvent.spec (renamed from lib/asn1/test/asn1_bin_v2_SUITE_data/a_SeqIn.erl)24
-rw-r--r--lib/cosEvent/test/event_channel_SUITE.erl316
-rw-r--r--lib/cosEvent/test/event_test_PullC_impl.erl43
-rw-r--r--lib/cosEvent/test/event_test_PullS_impl.erl57
-rw-r--r--lib/cosEvent/test/event_test_PushC_impl.erl46
-rw-r--r--lib/cosEvent/test/event_test_PushS_impl.erl41
-rw-r--r--lib/cosEvent/test/event_test_server.idl47
-rw-r--r--lib/cosEvent/test/generated_SUITE.erl487
-rw-r--r--lib/cosEvent/test/idl_output/.gitignore (renamed from lib/asn1/test/asn1_bin_SUITE_data/subdir/subsubdir/.gitignore)0
-rw-r--r--lib/cosEvent/vsn.mk6
-rw-r--r--lib/cosEventDomain/doc/src/notes.xml22
-rw-r--r--lib/cosEventDomain/test/Makefile104
-rw-r--r--lib/cosEventDomain/test/cosEventDomain.spec19
-rw-r--r--lib/cosEventDomain/test/event_domain_SUITE.erl456
-rw-r--r--lib/cosEventDomain/test/generated_SUITE.erl390
-rw-r--r--lib/cosEventDomain/vsn.mk6
-rw-r--r--lib/cosNotification/doc/src/notes.xml31
-rw-r--r--lib/cosNotification/src/CosNotification_Definitions.hrl12
-rw-r--r--lib/cosNotification/test/Makefile190
-rw-r--r--lib/cosNotification/test/cosNotification.spec19
-rw-r--r--lib/cosNotification/test/eventDB_SUITE.erl902
-rw-r--r--lib/cosNotification/test/generated_SUITE.erl2042
-rw-r--r--lib/cosNotification/test/grammar_SUITE.erl1094
-rw-r--r--lib/cosNotification/test/notification_SUITE.erl2185
-rw-r--r--lib/cosNotification/test/notify_test_impl.erl299
-rw-r--r--lib/cosNotification/test/notify_test_server.cfg54
-rw-r--r--lib/cosNotification/test/notify_test_server.idl113
-rw-r--r--lib/cosNotification/vsn.mk7
-rw-r--r--lib/cosProperty/doc/src/notes.xml22
-rw-r--r--lib/cosProperty/test/Makefile129
-rw-r--r--lib/cosProperty/test/cosProperty.spec (renamed from lib/asn1/test/asn1_bin_SUITE_data/b_SeqIn.erl)21
-rw-r--r--lib/cosProperty/test/generated_SUITE.erl571
-rw-r--r--lib/cosProperty/test/property_SUITE.erl747
-rw-r--r--lib/cosProperty/vsn.mk6
-rw-r--r--lib/cosTime/doc/src/notes.xml22
-rw-r--r--lib/cosTime/test/Makefile135
-rw-r--r--lib/cosTime/test/cosTime.spec19
-rw-r--r--lib/cosTime/test/generated_SUITE.erl288
-rw-r--r--lib/cosTime/test/time_SUITE.erl295
-rw-r--r--lib/cosTime/vsn.mk6
-rw-r--r--lib/cosTransactions/doc/src/ch_example.xml10
-rw-r--r--lib/cosTransactions/doc/src/notes.xml30
-rw-r--r--lib/cosTransactions/src/ETraP_Common.hrl12
-rw-r--r--lib/cosTransactions/test/Makefile150
-rw-r--r--lib/cosTransactions/test/cosTransactions.spec19
-rw-r--r--lib/cosTransactions/test/etrap_test.cfg20
-rw-r--r--lib/cosTransactions/test/etrap_test.idl38
-rw-r--r--lib/cosTransactions/test/etrap_test_lib.erl125
-rw-r--r--lib/cosTransactions/test/etrap_test_lib.hrl100
-rw-r--r--lib/cosTransactions/test/etrap_test_server_impl.erl210
-rw-r--r--lib/cosTransactions/test/generated_SUITE.erl564
-rw-r--r--lib/cosTransactions/test/transactions_SUITE.erl395
-rw-r--r--lib/cosTransactions/vsn.mk7
-rw-r--r--lib/crypto/c_src/Makefile.in20
-rw-r--r--lib/crypto/c_src/crypto.c1531
-rw-r--r--lib/crypto/c_src/crypto_drv.c1799
-rw-r--r--lib/crypto/doc/src/crypto.xml82
-rw-r--r--lib/crypto/priv/Makefile28
-rw-r--r--lib/crypto/src/Makefile12
-rw-r--r--lib/crypto/src/crypto.erl509
-rw-r--r--lib/crypto/src/crypto_server.erl88
-rw-r--r--lib/crypto/test/blowfish_SUITE.erl15
-rw-r--r--lib/crypto/test/crypto_SUITE.erl46
-rw-r--r--lib/crypto/vsn.mk2
-rw-r--r--lib/dialyzer/doc/manual.txt2
-rw-r--r--lib/dialyzer/doc/src/dialyzer.xml8
-rw-r--r--lib/dialyzer/src/dialyzer_dataflow.erl4
-rw-r--r--lib/erl_interface/doc/src/ei.xml8
-rw-r--r--lib/erl_interface/doc/src/erl_call.xml8
-rw-r--r--lib/erl_interface/test/ei_tmo_SUITE_data/ei_tmo_test.c12
-rw-r--r--lib/hipe/arm/hipe_arm_pp.erl17
-rw-r--r--lib/hipe/cerl/erl_bif_types.erl30
-rw-r--r--lib/hipe/cerl/erl_types.erl2
-rw-r--r--lib/hipe/icode/hipe_beam_to_icode.erl17
-rw-r--r--lib/hipe/icode/hipe_icode.erl32
-rw-r--r--lib/ic/doc/src/Makefile10
-rw-r--r--lib/ic/doc/src/ch_c_mapping.xml8
-rw-r--r--lib/inets/doc/src/http_server.xml2
-rw-r--r--lib/inets/doc/src/httpc.xml3
-rw-r--r--lib/inets/doc/src/httpd_util.xml4
-rw-r--r--lib/inets/doc/src/mod_security.xml17
-rw-r--r--lib/inets/doc/src/notes.xml116
-rw-r--r--lib/inets/src/http_client/httpc.erl8
-rw-r--r--lib/inets/src/http_client/httpc_handler.erl45
-rw-r--r--lib/inets/src/http_client/httpc_manager.erl18
-rw-r--r--lib/inets/src/http_server/httpd_conf.erl2
-rw-r--r--lib/inets/src/http_server/mod_esi.erl26
-rw-r--r--lib/inets/src/inets_app/inets.appup.src30
-rw-r--r--lib/inets/vsn.mk10
-rw-r--r--lib/kernel/doc/src/application.xml8
-rw-r--r--lib/kernel/doc/src/erl_ddll.xml12
-rw-r--r--lib/kernel/doc/src/file.xml19
-rw-r--r--lib/kernel/doc/src/inet.xml8
-rw-r--r--lib/kernel/doc/src/notes.xml16
-rw-r--r--lib/kernel/include/file.hrl41
-rw-r--r--lib/kernel/src/application_controller.erl234
-rw-r--r--lib/kernel/src/application_starter.erl22
-rw-r--r--lib/kernel/src/auth.erl72
-rw-r--r--lib/kernel/src/code.erl6
-rw-r--r--lib/kernel/src/code_server.erl165
-rw-r--r--lib/kernel/src/disk_log.hrl20
-rw-r--r--lib/kernel/src/disk_log_1.erl16
-rw-r--r--lib/kernel/src/erl_boot_server.erl44
-rw-r--r--lib/kernel/src/erl_epmd.erl30
-rw-r--r--lib/kernel/src/error_handler.erl18
-rw-r--r--lib/kernel/src/file.erl9
-rw-r--r--lib/kernel/src/file_io_server.erl45
-rw-r--r--lib/kernel/src/file_server.erl33
-rw-r--r--lib/kernel/src/global.erl131
-rw-r--r--lib/kernel/src/group.erl48
-rw-r--r--lib/kernel/src/heart.erl19
-rw-r--r--lib/kernel/src/inet6_tcp_dist.erl35
-rw-r--r--lib/kernel/src/inet_db.erl67
-rw-r--r--lib/kernel/src/inet_gethost_native.erl25
-rw-r--r--lib/kernel/src/kernel_config.erl27
-rw-r--r--lib/kernel/src/os.erl59
-rw-r--r--lib/kernel/src/rpc.erl61
-rw-r--r--lib/kernel/src/standard_error.erl40
-rw-r--r--lib/kernel/src/user.erl21
-rw-r--r--lib/kernel/src/wrap_log_reader.erl12
-rw-r--r--lib/kernel/test/code_SUITE.erl40
-rw-r--r--lib/kernel/test/disk_log_SUITE.erl23
-rw-r--r--lib/kernel/test/file_SUITE.erl5
-rw-r--r--lib/kernel/test/global_SUITE.erl41
-rw-r--r--lib/kernel/test/inet_sockopt_SUITE_data/sockopt_helper.c2
-rw-r--r--lib/kernel/test/os_SUITE.erl46
-rw-r--r--lib/kernel/test/prim_file_SUITE.erl15
-rw-r--r--lib/kernel/vsn.mk12
-rw-r--r--lib/megaco/doc/src/megaco_mib.xml12
-rw-r--r--lib/megaco/doc/src/megaco_run.xml8
-rw-r--r--lib/megaco/doc/src/megaco_user.xml11
-rw-r--r--lib/megaco/doc/src/notes.xml45
-rw-r--r--lib/megaco/doc/src/notes_history.xml10
-rw-r--r--lib/megaco/src/app/megaco.appup.src13
-rw-r--r--lib/megaco/src/engine/megaco_config.erl401
-rw-r--r--lib/megaco/src/flex/Makefile.in2
-rw-r--r--lib/megaco/test/megaco_app_test.erl14
-rw-r--r--lib/megaco/test/megaco_config_test.erl362
-rw-r--r--lib/megaco/vsn.mk6
-rw-r--r--lib/mnesia/doc/src/Mnesia_chap5.xmlsrc36
-rw-r--r--lib/mnesia/doc/src/mnesia.xml2
-rw-r--r--lib/mnesia/src/mnesia_monitor.erl1
-rw-r--r--lib/mnesia/src/mnesia_subscr.erl41
-rw-r--r--lib/mnesia/src/mnesia_tm.erl4
-rw-r--r--lib/observer/test/Makefile90
-rw-r--r--lib/observer/test/crashdump_helper.erl61
-rw-r--r--lib/observer/test/crashdump_viewer_SUITE.erl723
-rw-r--r--lib/observer/test/crashdump_viewer_SUITE_data/old_format.dump3991
-rw-r--r--lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.100atoms13135
-rw-r--r--lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.250atoms13285
-rw-r--r--lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.50atoms13085
-rw-r--r--lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.noatoms13035
-rw-r--r--lib/observer/test/etop_SUITE.erl94
-rw-r--r--lib/observer/test/observer.cover2
-rw-r--r--lib/observer/test/observer.dynspec11
-rw-r--r--lib/observer/test/observer.spec2
-rw-r--r--lib/observer/test/observer_SUITE.erl51
-rw-r--r--lib/observer/test/ttb_SUITE.erl775
-rw-r--r--lib/odbc/AUTHORS4
-rw-r--r--lib/odbc/c_src/odbcserver.c278
-rw-r--r--lib/odbc/c_src/odbcserver.h15
-rw-r--r--lib/odbc/configure.in31
-rw-r--r--lib/odbc/doc/src/databases.xml34
-rw-r--r--lib/odbc/doc/src/error_handling.xml16
-rw-r--r--lib/odbc/doc/src/getting_started.xml16
-rw-r--r--lib/odbc/doc/src/notes.xml41
-rw-r--r--lib/odbc/doc/src/odbc.xml43
-rw-r--r--lib/odbc/src/odbc.erl67
-rw-r--r--lib/odbc/src/odbc_internal.hrl13
-rw-r--r--lib/odbc/vsn.mk5
-rw-r--r--lib/orber/doc/src/notes.xml24
-rw-r--r--lib/orber/include/ifr_types.hrl12
-rw-r--r--lib/orber/test/Makefile228
-rw-r--r--lib/orber/test/cdrcoding_10_SUITE.erl616
-rw-r--r--lib/orber/test/cdrcoding_11_SUITE.erl615
-rw-r--r--lib/orber/test/cdrcoding_12_SUITE.erl603
-rw-r--r--lib/orber/test/cdrlib_SUITE.erl487
-rw-r--r--lib/orber/test/corba_SUITE.erl909
-rw-r--r--lib/orber/test/csiv2_SUITE.erl940
-rw-r--r--lib/orber/test/data_types_SUITE.erl173
-rw-r--r--lib/orber/test/generated_SUITE.erl385
-rw-r--r--lib/orber/test/idl_output/.gitignore (renamed from lib/asn1/test/asn1_bin_v2_SUITE_data/subdir/subsubdir/.gitignore)0
-rw-r--r--lib/orber/test/iiop_module_do_test_impl.erl112
-rw-r--r--lib/orber/test/iiop_module_test_impl.erl128
-rw-r--r--lib/orber/test/iiop_test.idl111
-rw-r--r--lib/orber/test/iiop_test_impl.erl34
-rw-r--r--lib/orber/test/interceptors_SUITE.erl338
-rw-r--r--lib/orber/test/iop_ior_10_SUITE.erl167
-rw-r--r--lib/orber/test/iop_ior_11_SUITE.erl186
-rw-r--r--lib/orber/test/iop_ior_12_SUITE.erl187
-rw-r--r--lib/orber/test/lname_SUITE.erl198
-rw-r--r--lib/orber/test/multi_ORB_SUITE.erl2352
-rw-r--r--lib/orber/test/naming_context_SUITE.erl385
-rw-r--r--lib/orber/test/orber.spec19
-rw-r--r--lib/orber/test/orber_SUITE.erl179
-rw-r--r--lib/orber/test/orber_acl_SUITE.erl303
-rw-r--r--lib/orber/test/orber_firewall_ipv4_in_SUITE.erl280
-rw-r--r--lib/orber/test/orber_firewall_ipv4_out_SUITE.erl224
-rw-r--r--lib/orber/test/orber_firewall_ipv6_in_SUITE.erl311
-rw-r--r--lib/orber/test/orber_firewall_ipv6_out_SUITE.erl231
-rw-r--r--lib/orber/test/orber_nat_SUITE.erl372
-rw-r--r--lib/orber/test/orber_test.idl95
-rw-r--r--lib/orber/test/orber_test_lib.erl1498
-rw-r--r--lib/orber/test/orber_test_server.cfg27
-rw-r--r--lib/orber/test/orber_test_server.idl153
-rw-r--r--lib/orber/test/orber_test_server_impl.erl262
-rw-r--r--lib/orber/test/orber_test_timeout_server_impl.erl65
-rw-r--r--lib/orber/test/orber_web_SUITE.erl443
-rw-r--r--lib/orber/test/tc_SUITE.erl661
-rw-r--r--lib/orber/vsn.mk7
-rw-r--r--lib/parsetools/src/yecc.erl24
-rw-r--r--lib/parsetools/test/yecc_SUITE.erl58
-rw-r--r--lib/public_key/asn1/Makefile14
-rw-r--r--lib/public_key/asn1/OTP-PUB-KEY.set.asn1
-rw-r--r--lib/public_key/asn1/PKCS-3.asn121
-rw-r--r--lib/public_key/doc/src/notes.xml21
-rw-r--r--lib/public_key/src/pubkey_cert.erl49
-rw-r--r--lib/public_key/src/pubkey_crypto.erl59
-rw-r--r--lib/public_key/src/pubkey_pem.erl12
-rw-r--r--lib/public_key/src/public_key.appup.src26
-rw-r--r--lib/public_key/src/public_key.erl47
-rw-r--r--lib/public_key/vsn.mk8
-rw-r--r--lib/reltool/bin/reltool.escript249
-rw-r--r--lib/reltool/doc/src/reltool.xml185
-rw-r--r--lib/reltool/doc/src/reltool_examples.xml4
-rw-r--r--lib/reltool/src/Makefile54
-rw-r--r--lib/reltool/src/files.mk32
-rw-r--r--lib/reltool/src/reltool.app.src45
-rw-r--r--lib/reltool/src/reltool.appup.src (renamed from lib/asn1/test/asn1_bin_v2_SUITE_data/b_SeqIn.erl)25
-rw-r--r--lib/reltool/src/reltool.erl239
-rw-r--r--lib/reltool/src/reltool.hrl363
-rw-r--r--lib/reltool/src/reltool_app_win.erl248
-rw-r--r--lib/reltool/src/reltool_fgraph.erl34
-rw-r--r--lib/reltool/src/reltool_fgraph_win.erl277
-rw-r--r--lib/reltool/src/reltool_mod_win.erl243
-rw-r--r--lib/reltool/src/reltool_server.erl1098
-rw-r--r--lib/reltool/src/reltool_sys_win.erl391
-rw-r--r--lib/reltool/src/reltool_target.erl780
-rw-r--r--lib/reltool/src/reltool_utils.erl143
-rw-r--r--lib/reltool/test/Makefile11
-rw-r--r--lib/reltool/test/reltool_app_SUITE.erl291
-rw-r--r--lib/reltool/test/reltool_server_SUITE.erl38
-rw-r--r--lib/reltool/test/reltool_test_lib.erl14
-rw-r--r--lib/reltool/test/reltool_test_lib.hrl11
-rwxr-xr-xlib/reltool/test/rtt12
-rw-r--r--lib/runtime_tools/doc/src/erts_alloc_config.xml8
-rw-r--r--lib/runtime_tools/src/dbg.erl71
-rw-r--r--lib/sasl/doc/src/notes.xml43
-rw-r--r--lib/sasl/src/overload.erl22
-rw-r--r--lib/sasl/src/rb.erl29
-rw-r--r--lib/sasl/src/release_handler.erl47
-rw-r--r--lib/sasl/src/release_handler_1.erl18
-rw-r--r--lib/sasl/src/si_sasl_supp.erl24
-rw-r--r--lib/sasl/vsn.mk2
-rw-r--r--lib/snmp/doc/src/notes.xml122
-rw-r--r--lib/snmp/doc/src/notes_history.xml14
-rw-r--r--lib/snmp/doc/src/snmp_app.xml4
-rw-r--r--lib/snmp/doc/src/snmp_config.xml2
-rw-r--r--lib/snmp/doc/src/snmpa_network_interface_filter.xml8
-rw-r--r--lib/snmp/doc/src/snmpc.xml152
-rw-r--r--lib/snmp/doc/src/snmpm.xml10
-rw-r--r--lib/snmp/src/agent/snmpa_general_db.erl19
-rw-r--r--lib/snmp/src/agent/snmpa_usm.erl8
-rw-r--r--lib/snmp/src/app/snmp.appup.src78
-rw-r--r--lib/snmp/src/compile/snmpc.erl187
-rw-r--r--lib/snmp/src/compile/snmpc_lib.erl13
-rw-r--r--lib/snmp/src/manager/snmpm_net_if.erl43
-rw-r--r--lib/snmp/src/misc/snmp_pdus.erl51
-rw-r--r--lib/snmp/src/misc/snmp_usm.erl10
-rw-r--r--lib/snmp/test/modules.mk14
-rw-r--r--lib/snmp/test/snmp_compiler_test.erl70
-rw-r--r--lib/snmp/test/snmp_manager_config_test.erl90
-rw-r--r--lib/snmp/test/snmp_pdus_test.erl64
-rw-r--r--lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB.mib18
-rw-r--r--lib/snmp/test/snmp_test_data/OTP8574-MIB.mib77
-rw-r--r--lib/snmp/test/snmp_test_data/OTP8595-MIB.mib45
-rw-r--r--lib/snmp/test/snmp_test_mgr_misc.erl14
-rw-r--r--lib/snmp/vsn.mk8
-rw-r--r--lib/ssh/Makefile10
-rw-r--r--lib/ssh/doc/src/book.xml6
-rw-r--r--lib/ssh/doc/src/notes.xml42
-rw-r--r--lib/ssh/doc/src/ref_man.xml6
-rw-r--r--lib/ssh/doc/src/ssh.xml17
-rw-r--r--lib/ssh/doc/src/ssh_sftp.xml6
-rw-r--r--lib/ssh/doc/src/ssh_sftpd.xml6
-rw-r--r--lib/ssh/examples/Makefile10
-rw-r--r--lib/ssh/examples/ssh_sample_cli.erl66
-rw-r--r--lib/ssh/src/Makefile13
-rw-r--r--lib/ssh/src/ssh.app.src3
-rw-r--r--lib/ssh/src/ssh.appup.src12
-rw-r--r--lib/ssh/src/ssh.erl18
-rw-r--r--lib/ssh/src/ssh.hrl10
-rw-r--r--lib/ssh/src/ssh_acceptor.erl10
-rw-r--r--lib/ssh/src/ssh_acceptor_sup.erl10
-rw-r--r--lib/ssh/src/ssh_app.erl10
-rw-r--r--lib/ssh/src/ssh_auth.erl10
-rw-r--r--lib/ssh/src/ssh_auth.hrl10
-rwxr-xr-xlib/ssh/src/ssh_bits.erl10
-rw-r--r--lib/ssh/src/ssh_channel.erl10
-rw-r--r--lib/ssh/src/ssh_channel_sup.erl10
-rw-r--r--lib/ssh/src/ssh_cli.erl12
-rwxr-xr-xlib/ssh/src/ssh_cm.erl237
-rwxr-xr-xlib/ssh/src/ssh_connect.hrl10
-rw-r--r--lib/ssh/src/ssh_connection.erl12
-rw-r--r--lib/ssh/src/ssh_connection_controler.erl10
-rw-r--r--lib/ssh/src/ssh_connection_manager.erl22
-rwxr-xr-xlib/ssh/src/ssh_dsa.erl10
-rwxr-xr-xlib/ssh/src/ssh_file.erl10
-rwxr-xr-xlib/ssh/src/ssh_io.erl10
-rwxr-xr-xlib/ssh/src/ssh_math.erl10
-rw-r--r--lib/ssh/src/ssh_no_io.erl10
-rwxr-xr-xlib/ssh/src/ssh_rsa.erl10
-rwxr-xr-xlib/ssh/src/ssh_sftp.erl48
-rw-r--r--lib/ssh/src/ssh_sftpd.erl10
-rw-r--r--lib/ssh/src/ssh_sftpd_file.erl10
-rw-r--r--lib/ssh/src/ssh_sftpd_file_api.erl10
-rw-r--r--lib/ssh/src/ssh_shell.erl10
-rw-r--r--lib/ssh/src/ssh_ssh.erl65
-rw-r--r--lib/ssh/src/ssh_sshd.erl48
-rw-r--r--lib/ssh/src/ssh_subsystem_sup.erl10
-rw-r--r--lib/ssh/src/ssh_sup.erl10
-rw-r--r--lib/ssh/src/ssh_system_sup.erl10
-rw-r--r--lib/ssh/src/ssh_transport.erl10
-rw-r--r--lib/ssh/src/ssh_transport.hrl10
-rwxr-xr-xlib/ssh/src/ssh_userauth.hrl10
-rw-r--r--lib/ssh/src/ssh_userreg.erl10
-rw-r--r--lib/ssh/src/ssh_xfer.erl10
-rwxr-xr-xlib/ssh/src/ssh_xfer.hrl10
-rw-r--r--lib/ssh/src/sshc_sup.erl10
-rw-r--r--lib/ssh/src/sshd_sup.erl10
-rw-r--r--lib/ssh/vsn.mk10
-rw-r--r--lib/ssl/doc/src/new_ssl.xml29
-rw-r--r--lib/ssl/doc/src/notes.xml76
-rw-r--r--lib/ssl/src/ssl.appup.src7
-rw-r--r--lib/ssl/src/ssl.erl148
-rw-r--r--lib/ssl/src/ssl_alert.erl60
-rw-r--r--lib/ssl/src/ssl_certificate.erl61
-rw-r--r--lib/ssl/src/ssl_certificate_db.erl2
-rw-r--r--lib/ssl/src/ssl_cipher.erl528
-rw-r--r--lib/ssl/src/ssl_cipher.hrl15
-rw-r--r--lib/ssl/src/ssl_connection.erl1590
-rw-r--r--lib/ssl/src/ssl_handshake.erl543
-rw-r--r--lib/ssl/src/ssl_handshake.hrl28
-rw-r--r--lib/ssl/src/ssl_internal.hrl15
-rw-r--r--lib/ssl/src/ssl_manager.erl11
-rw-r--r--lib/ssl/src/ssl_record.erl169
-rw-r--r--lib/ssl/src/ssl_record.hrl23
-rw-r--r--lib/ssl/src/ssl_ssl3.erl18
-rw-r--r--lib/ssl/src/ssl_tls1.erl20
-rw-r--r--lib/ssl/test/ssl.cover14
-rw-r--r--lib/ssl/test/ssl_basic_SUITE.erl1061
-rw-r--r--lib/ssl/test/ssl_basic_SUITE_data/dHParam.pem5
-rw-r--r--lib/ssl/test/ssl_packet_SUITE.erl703
-rw-r--r--lib/ssl/test/ssl_test_lib.erl207
-rw-r--r--lib/ssl/test/ssl_to_openssl_SUITE.erl386
-rw-r--r--lib/ssl/vsn.mk17
-rw-r--r--lib/stdlib/doc/src/Makefile11
-rw-r--r--lib/stdlib/doc/src/beam_lib.xml7
-rw-r--r--lib/stdlib/doc/src/binary.xml729
-rw-r--r--lib/stdlib/doc/src/erl_scan.xml19
-rw-r--r--lib/stdlib/doc/src/ets.xml8
-rw-r--r--lib/stdlib/doc/src/io_protocol.xml4
-rw-r--r--lib/stdlib/doc/src/lists.xml6
-rw-r--r--lib/stdlib/doc/src/ms_transform.xml8
-rw-r--r--lib/stdlib/doc/src/notes.xml2
-rw-r--r--lib/stdlib/doc/src/ref_man.xml7
-rw-r--r--lib/stdlib/doc/src/unicode_usage.xml4
-rw-r--r--lib/stdlib/doc/src/zip.xml96
-rw-r--r--lib/stdlib/src/Makefile1
-rw-r--r--lib/stdlib/src/beam_lib.erl35
-rw-r--r--lib/stdlib/src/binary.erl177
-rw-r--r--lib/stdlib/src/c.erl117
-rw-r--r--lib/stdlib/src/dets_sup.erl17
-rw-r--r--lib/stdlib/src/edlin.erl5
-rw-r--r--lib/stdlib/src/epp.erl53
-rw-r--r--lib/stdlib/src/erl_expand_records.erl14
-rw-r--r--lib/stdlib/src/erl_internal.erl14
-rw-r--r--lib/stdlib/src/erl_lint.erl50
-rw-r--r--lib/stdlib/src/erl_parse.yrl151
-rw-r--r--lib/stdlib/src/erl_pp.erl17
-rw-r--r--lib/stdlib/src/erl_scan.erl87
-rw-r--r--lib/stdlib/src/escript.erl441
-rw-r--r--lib/stdlib/src/ets.erl112
-rw-r--r--lib/stdlib/src/filelib.erl32
-rw-r--r--lib/stdlib/src/filename.erl36
-rw-r--r--lib/stdlib/src/gen.erl45
-rw-r--r--lib/stdlib/src/gen_event.erl13
-rw-r--r--lib/stdlib/src/gen_fsm.erl20
-rw-r--r--lib/stdlib/src/gen_server.erl24
-rw-r--r--lib/stdlib/src/lists.erl21
-rw-r--r--lib/stdlib/src/otp_internal.erl136
-rw-r--r--lib/stdlib/src/stdlib.app.src11
-rw-r--r--lib/stdlib/src/timer.erl66
-rw-r--r--lib/stdlib/src/zip.erl90
-rw-r--r--lib/stdlib/test/Makefile2
-rw-r--r--lib/stdlib/test/binary_module_SUITE.erl1323
-rw-r--r--lib/stdlib/test/binref.erl588
-rw-r--r--lib/stdlib/test/epp_SUITE.erl84
-rw-r--r--lib/stdlib/test/erl_pp_SUITE.erl184
-rw-r--r--lib/stdlib/test/erl_scan_SUITE.erl210
-rw-r--r--lib/stdlib/test/escript_SUITE.erl406
-rw-r--r--lib/stdlib/test/gen_server_SUITE.erl55
-rw-r--r--lib/stdlib/test/io_proto_SUITE.erl1
-rw-r--r--lib/stdlib/test/qlc_SUITE.erl11
-rw-r--r--lib/stdlib/test/re_SUITE.erl26
-rw-r--r--lib/stdlib/test/zip_SUITE.erl78
-rw-r--r--lib/stdlib/vsn.mk12
-rw-r--r--lib/syntax_tools/src/erl_comment_scan.erl4
-rw-r--r--lib/syntax_tools/src/erl_prettypr.erl6
-rw-r--r--lib/syntax_tools/src/igor.erl22
-rw-r--r--lib/test_server/doc/src/test_server_ctrl.xml5
-rw-r--r--lib/test_server/doc/src/ts.xml4
-rw-r--r--lib/test_server/src/test_server.erl12
-rw-r--r--lib/test_server/src/test_server_internal.hrl12
-rw-r--r--lib/test_server/src/test_server_node.erl16
-rw-r--r--lib/test_server/src/ts.erl12
-rw-r--r--lib/test_server/src/ts_erl_config.erl13
-rw-r--r--lib/test_server/src/ts_run.erl140
-rw-r--r--lib/test_server/vsn.mk2
-rw-r--r--lib/tools/doc/src/xref.xml18
-rw-r--r--lib/tools/emacs/Makefile3
-rw-r--r--lib/tools/emacs/erlang-eunit.el13
-rw-r--r--lib/tools/emacs/erlang.el20
-rw-r--r--lib/tools/emacs/test.erl.indented20
-rw-r--r--lib/tools/emacs/test.erl.orig20
-rw-r--r--lib/tools/src/cover.erl12
-rw-r--r--lib/tools/src/xref_parser.yrl17
-rw-r--r--lib/tools/src/xref_utils.erl8
-rw-r--r--lib/tools/test/xref_SUITE.erl9
-rw-r--r--lib/wx/api_gen/README18
-rw-r--r--lib/wx/api_gen/gl_doxygen.conf17
-rw-r--r--lib/wx/api_gen/gl_gen.erl14
-rw-r--r--lib/wx/api_gen/gl_gen_c.erl3
-rw-r--r--lib/wx/api_gen/gl_gen_erl.erl11
-rw-r--r--lib/wx/api_gen/wx_doxygen.conf23
-rw-r--r--lib/wx/api_gen/wx_gen.erl50
-rw-r--r--lib/wx/api_gen/wx_gen.hrl12
-rw-r--r--lib/wx/api_gen/wx_gen_cpp.erl5
-rw-r--r--lib/wx/api_gen/wx_gen_erl.erl27
-rw-r--r--lib/wx/api_gen/wxapi.conf10
-rw-r--r--lib/wx/c_src/Makefile.in2
-rw-r--r--lib/wx/c_src/gen/gl_fdefs.h2
-rw-r--r--lib/wx/c_src/gen/gl_finit.h2
-rw-r--r--lib/wx/c_src/gen/gl_funcs.cpp2732
-rw-r--r--lib/wx/c_src/gen/glu_finit.h2
-rw-r--r--lib/wx/c_src/gen/wxe_funcs.cpp54
-rw-r--r--lib/wx/c_src/gen/wxe_init.cpp8
-rw-r--r--lib/wx/c_src/gen/wxe_macros.h5017
-rw-r--r--lib/wx/c_src/wxe_driver.c13
-rw-r--r--lib/wx/c_src/wxe_driver.h11
-rw-r--r--lib/wx/c_src/wxe_impl.cpp16
-rw-r--r--lib/wx/c_src/wxe_impl.h15
-rw-r--r--lib/wx/include/wx.hrl3269
-rw-r--r--lib/wx/src/Makefile36
-rw-r--r--lib/wx/src/gen/gl.erl8
-rw-r--r--lib/wx/src/gen/gl_debug.hrl2
-rw-r--r--lib/wx/src/gen/glu.erl12
-rw-r--r--lib/wx/src/gen/wxe_debug.hrl5012
-rw-r--r--lib/wx/src/gen/wxe_funcs.hrl5012
-rw-r--r--lib/wx/src/wx.app.src37
-rw-r--r--lib/wx/src/wx.appup.src (renamed from lib/asn1/test/asn1_bin_SUITE_data/a_SeqIn.erl)27
-rw-r--r--lib/wx/src/wxe_master.erl11
-rw-r--r--lib/wx/test/Makefile14
-rw-r--r--lib/wx/test/wx_app_SUITE.erl277
-rw-r--r--lib/xmerl/doc/src/notes.xml26
-rw-r--r--lib/xmerl/vsn.mk9
-rw-r--r--make/emd2exml.in1285
-rwxr-xr-xmake/fakefop113
-rwxr-xr-xotp_build2
-rw-r--r--system/doc/efficiency_guide/advanced.xml23
-rw-r--r--system/doc/efficiency_guide/commoncaveats.xml8
-rw-r--r--system/doc/efficiency_guide/functions.xml10
-rw-r--r--system/doc/efficiency_guide/myths.xml4
-rw-r--r--system/doc/getting_started/robustness.xml8
-rw-r--r--system/doc/installation_guide/Makefile45
-rw-r--r--system/doc/installation_guide/install-binary.xml (renamed from system/doc/installation_guide/install.xml)24
-rw-r--r--system/doc/installation_guide/make.dep2
-rw-r--r--system/doc/installation_guide/part.xml11
-rw-r--r--system/doc/installation_guide/xmlfiles.mk17
-rw-r--r--system/doc/reference_manual/expressions.xml9
-rw-r--r--system/doc/reference_manual/records.xml29
-rw-r--r--system/doc/tutorial/complex6.erl11
-rw-r--r--system/doc/tutorial/complex6_nif.c32
-rw-r--r--system/doc/tutorial/nif.xmlsrc136
-rw-r--r--system/doc/tutorial/part.xml9
-rw-r--r--system/doc/tutorial/xmlfiles.mk13
-rw-r--r--xcomp/README.md161
1721 files changed, 134221 insertions, 253538 deletions
diff --git a/.gitignore b/.gitignore
index 1a68d55eff..cba7caa074 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,6 +51,7 @@ a.out.dSYM/
/release
+/make/emd2exml
# Created by "out_build update_primary"
/bootstrap/primary_compiler/
@@ -66,6 +67,7 @@ a.out.dSYM/
/lib/*/ebin/*.appup
/lib/*/test/Emakefile
+/erts/epmd/test/Emakefile
/lib/*/SKIP
@@ -99,10 +101,14 @@ a.out.dSYM/
/lib/*/test/*_SUITE_data/Makefile
/erts/emulator/test/*_SUITE_make.erl
/erts/emulator/test/*_SUITE_data/Makefile
+/erts/test/install_SUITE_data/install_bin
# asn1
/lib/asn1/doc/src/asn1_spec.xml
+/lib/asn1/test/asn1_SUITE.erl
+/lib/asn1/test/asn1_bin_SUITE.erl
+/lib/asn1/test/asn1_bin_v2_SUITE.erl
# common_test
@@ -114,9 +120,9 @@ a.out.dSYM/
/lib/compiler/src/beam_opcodes.hrl
/lib/compiler/src/core_parse.erl
-/lib/compiler/test/*_r11_SUITE.erl
/lib/compiler/test/*_no_opt_SUITE.erl
/lib/compiler/test/*_post_opt_SUITE.erl
+/lib/compiler/test/*_inline_SUITE.erl
# debugger
@@ -137,6 +143,13 @@ a.out.dSYM/
/erts/doc/pdf/*.pdf
/erts/doc/man[0-9]/*.[0-9]
+# et
+
+/lib/et/doc/html/*.png
+/lib/et/doc/src/et_desc.xml
+/lib/et/doc/src/et_examples.xml
+/lib/et/doc/src/et_tutorial.xml
+
# gs
/lib/gs/src/gstk_generic.hrl
@@ -162,6 +175,7 @@ a.out.dSYM/
/lib/ic/priv/ic.jar
/lib/ic/src/icparse.erl
/lib/ic/doc/html/java
+/lib/ic/java_src/SKIP
# jinterface
@@ -231,15 +245,23 @@ a.out.dSYM/
/system/doc/pdf/*.pdf
/system/doc/pdf/*.fo
+/system/doc/html/*.html
+/system/doc/html/*.eix
+/system/doc/html/js
/system/doc/html/*/*.html
/system/doc/html/*/*.gif
/system/doc/html/*/*.eix
+/system/doc/top/PR.template
+/system/doc/top/erlresolvelinks.js
/system/doc/programming_examples/funs.xml
/system/doc/tutorial/c_port.xml
/system/doc/tutorial/c_portdriver.xml
/system/doc/tutorial/cnode.xml
/system/doc/tutorial/erl_interface.xml
/system/doc/tutorial/example.xml
+/system/doc/installation_guide/INSTALL.xml
+/system/doc/installation_guide/INSTALL-CROSS.xml
+/system/doc/installation_guide/INSTALL-WIN32.xml
# test_server
diff --git a/INSTALL-WIN32.md b/INSTALL-WIN32.md
index f59a8ece67..643cd33c84 100644
--- a/INSTALL-WIN32.md
+++ b/INSTALL-WIN32.md
@@ -1,18 +1,6 @@
How to Build Erlang/OTP on Windows
==================================
-Table of Contents
------------------
-
-1. Introduction
-2. Frequently Asked Questions
-3. Tools you Need and Their Environment
-4. The Shell Environment
-5. Building and Installing
-6. Development
-7. Final Words
-8. Copyright and License
-
Introduction
------------
@@ -27,7 +15,7 @@ sure of, but it certainly will...
The procedure described uses Cygwin as a build environment, you run
the bash shell in Cygwin and uses gnu make/configure/autoconf etc to
do the build. The emulator C-source code is, however, mostly compiled
-with Microsoft Visual C++(tm), producing a native Windows binary. This
+with Microsoft Visual C++â„¢, producing a native Windows binary. This
is the same procedure as we use to build the pre-built binaries. The
fact that we use VC++ and not gcc is explained further in the FAQ
section.
@@ -67,7 +55,7 @@ needed at all. Now we've used this build procedure for a couple of
releases, and it has worked fine for us. Still, there might be all
sorts of troubles on different machines and with different
setups. I'll try to give hints wherever I've encountered difficulties,
-but please share your experiences by using the [`erlang-questions`] [1]
+but please share your experiences by using the [erlang-questions] [1]
mailing list. I cannot of course help everyone with all
their problems, please try to solve the problems and submit
solutions/workarounds. Remember, it's all about sharing, not about
@@ -87,7 +75,7 @@ Frequently Asked Questions
from within the Cygwin environment. All other tools needed to build
Erlang are free-ware/open source, but not the C compiler.
-* Q: Why haven't you got rid of VC++ then, you `******`?
+* Q: Why haven't you got rid of VC++ then, you \*\*\*\*\*\*?
A: Well, partly because it's a good compiler - really! Actually it's
been possible in late R11-releases to build using mingw instead of
@@ -115,7 +103,7 @@ Frequently Asked Questions
emulation in Cygwin, which, I'm sure of, will improve, but still has
some problems. Fixing those problems might be easy or might be hard.
I suggest you try yourself and share your experience. No one would be
- happier if a simple ./configure && make would produce a fully fledged
+ happier if a simple `./configure && make` would produce a fully fledged
Cygwin binary. Ericsson does however not pay me to do a Cygwin port, so
such a port would have to happen in spare time, which is a limited
resource...
@@ -256,9 +244,9 @@ Frequently Asked Questions
$ ./otp_build boot -a
$ ./otp_build release -a
$ ./otp_build installer_win32
- $ release/win32/otp_win32_<OTP version> /S
+ $ release/win32/otp_win32_%OTP-REL% /S
- Voila! `Start->Programs->Erlang OTP <OTP version>->Erlang` starts the Erlang
+ Voila! `Start->Programs->Erlang OTP %OTP-REL%->Erlang` starts the Erlang
Windows shell.
@@ -431,7 +419,7 @@ Well' here's the list:
archives (`.a`, not `.lib`).
* Building with wxWidgets. Download wxWidgets-2.8.9 or higher patch
- release (2.9.* is a developer release which currently does not work
+ release (2.9.\* is a developer release which currently does not work
with wxErlang).
Install or unpack it to `DRIVE:/PATH/cygwin/opt/local/pgm`
@@ -448,13 +436,13 @@ Well' here's the list:
* The Erlang source distribution (from <http://www.erlang.org/download.html>).
The same as for Unix platforms. Preferably use tar from within Cygwin to
- unpack the source tar.gz (`tar zxf otp_src_R13B04.tar.gz`).
+ unpack the source tar.gz (`tar zxf otp_src_%OTP-REL%.tar.gz`).
- set the environment ERL_TOP to point to the root directory of the
+ set the environment `ERL_TOP` to point to the root directory of the
source distribution. Let's say I stood in `$HOME/src` and unpacked
- `otp_src_R13B04.tar.gz`, I then add the following to `.profile`:
+ `otp_src_%OTP-REL%.tar.gz`, I then add the following to `.profile`:
- ERL_TOP=$HOME/src/otp_src_R13B04
+ ERL_TOP=$HOME/src/otp_src_%OTP-REL%
export $ERL_TOP
* The TCL/TK binaries. You could compile Tcl/Tk for windows yourself,
@@ -546,94 +534,94 @@ Now you will have a file called `otp_win32_R12B.exe` in the
Lets get into more detail:
-`$ ./otp_build autoconf` - This step rebuilds the configure scripts to
-work correctly in the cygwin environment. In an ideal world, this
-would not be needed, but alas, we have encountered several
-incompatibilities between our distributed configure scripts (generated
-on a Linux platform) and the cygwin environment over the
-years. Running autoconf on cygwin ensures that the configure scripts
-are generated in a cygwin-compatible way and that they will work well
-in the next step.
-
-`$ ./otp_build configure` - This runs the newly generated configure scripts
-with options making configure behave nicely. The target machine type is
-plainly `win32`, so a lot of the configure-scripts recognize this
-awkward target name and behave accordingly. The CC variable also makes
-the compiler be cc.sh, which wraps MSVC++, so all configure tests
-regarding the C compiler gets to run the right compiler. A lot of the
-tests are not needed on Windows, but I thought it best to run the
-whole configure anyway. The only configure option you might want to
-supply is `--with-ssl`, which might be needed if you have built your own
-openssl distribution. The Shining Lights distribution should be found
-automatically by configure, if that fails, add a `--with-ssl=<dir>` that
-specifies the root directory of your OpenSSL installation.
-
-`$ ./otp_build boot -a` - This uses the bootstrap directory (shipped
-with the source, `$ERL_TOP/bootstrap`) to build a complete OTP
-system. It first builds an emulator and sets up a minimal OTP system
-under `$ERL_TOP/bootstrap`, then starts to compile the different OTP
-compilers to make the `$ERL_TOP/bootstrap` system potent enough to be
-able to compile all Erlang code in OTP. Then, all Erlang and C code
-under `$ERL_TOP/lib` is built using the bootstrap system, giving a
-complete OTP system (although not installed). When this is done, one
-can run Erlang from within the source tree, just type `$ERL_TOP/bin/erl`
-and you should have a prompt. If you omit the -a flag, you'll get a
-smaller system, that might be useful during development. Now
-exit from Erlang and start making a release of the thing:
-
-`$ ./otp_build release -a` - Builds a commercial release tree from the
-source tree, default is to put it in `$ERL_TOP/release/win32`, you can
-give any directory as parameter (Cygwin style), but it doesn't really matter
-if you're going to build a self extracting installer too. You could of
-course build release to the final directory and then run `./Install.exe`
-standing in the directory where the release was put, that will create
-a fully functional OTP installation. But let's make the nifty
-installer:
-
-`$ ./otp_build installer_win32` - Create the self extracting installer
-executable. The executable `otp_win32_<OTP version>.exe` will be placed
-in the top directory of the release created in the previous step. If
-no release directory is specified, the release is expected to have
-been built to `$ERL_TOP/release/win32`, which also will be the place
-where the installer executable will be placed. If you specified some
-other directory for the release (i.e.
-`./otp_build release -a /tmp/erl_release`), you're expected to give the
-same parameter here, (i.e. `./otp_build installer_win32 /tmp/erl_release`).
-You need to have a full NSIS installation and `makensis.exe` in your
-path for this to work of course. Once you have created the installer,
-you can run it to install Erlang/OTP in the regular way, just run the
-executable and follow the steps in the installation wizard. To get all
-default settings in the installation without any questions asked, you
-run the executable with the parameter `/S` (capital S). like in:
-
- $ cd $ERL_TOP
- $ release/win32/otp_win32_R13B04 /S
- ...
-
-and after a while Erlang will have been installed in
-`C:\Program Files\erl5.7.5`, with shortcuts in the menu etc.
-
-*NOTE* Beginning with R9C, the Windows installer does *not* add Erlang
-to the system wide path. If one wants to have Erlang in the path, one
-has to add it by hand.
-
-The necessary setup of an Erlang installation is actually done by the
-program `Install.exe`, which resides in the release top. That program
-creates `.ini`-files and copies the correct boot scripts. If one has
-the correct directory tree (like after a `./otp_build release -a`), only
-the running of Install.exe is necessary to get a fully functional
-OTP. What the self extracting installer adds is (of course) the
-possibility to distribute the binary easily, together with adding
-shortcuts to the Windows start menu. There is also some adding of
-entries in the registry, to associate `.erl` and `.beam` files with Erlang
-and get nifty icons, but that's not something you'll really need to
-run Erlang. The registry is also used to store uninstall information,
-but if one has not used the self extracting installer, one cannot
-(need not) do any uninstall, one just scratches the release directory
-and everything is gone. Erlang/OTP does not *need* to put anything
-in the Windows registry at all, and does not if you don't use the self
-extracting installer. In other words the installer is pure cosmetics.
-
+1. `$ ./otp_build autoconf` - This step rebuilds the configure scripts
+ to work correctly in the cygwin environment. In an ideal world, this
+ would not be needed, but alas, we have encountered several
+ incompatibilities between our distributed configure scripts (generated
+ on a Linux platform) and the cygwin environment over the
+ years. Running autoconf on cygwin ensures that the configure scripts
+ are generated in a cygwin-compatible way and that they will work well
+ in the next step.
+
+2. `$ ./otp_build configure` - This runs the newly generated configure
+ scripts with options making configure behave nicely. The target machine
+ type is plainly `win32`, so a lot of the configure-scripts recognize
+ this awkward target name and behave accordingly. The CC variable also
+ makes the compiler be `cc.sh`, which wraps MSVC++, so all configure
+ tests regarding the C compiler gets to run the right compiler. A lot of
+ the tests are not needed on Windows, but I thought it best to run the
+ whole configure anyway. The only configure option you might want to
+ supply is `--with-ssl`, which might be needed if you have built your
+ own OpenSSL distribution. The Shining Lights distribution should be
+ found automatically by `configure`, if that fails, add a
+ `--with-ssl=<dir>` that specifies the root directory of your OpenSSL
+ installation.
+
+3. `$ ./otp_build boot -a` - This uses the bootstrap directory (shipped
+ with the source, `$ERL_TOP/bootstrap`) to build a complete OTP
+ system. It first builds an emulator and sets up a minimal OTP system
+ under `$ERL_TOP/bootstrap`, then starts to compile the different OTP
+ compilers to make the `$ERL_TOP/bootstrap` system potent enough to be
+ able to compile all Erlang code in OTP. Then, all Erlang and C code
+ under `$ERL_TOP/lib` is built using the bootstrap system, giving a
+ complete OTP system (although not installed). When this is done, one
+ can run Erlang from within the source tree, just type `$ERL_TOP/bin/erl`
+ and you should have a prompt. If you omit the -a flag, you'll get a
+ smaller system, that might be useful during development. Now
+ exit from Erlang and start making a release of the thing:
+
+4. `$ ./otp_build release -a` - Builds a commercial release tree from the
+ source tree, default is to put it in `$ERL_TOP/release/win32`, you can
+ give any directory as parameter (Cygwin style), but it doesn't really
+ matter if you're going to build a self extracting installer too. You
+ could of course build release to the final directory and then run
+ `./Install.exe` standing in the directory where the release was put,
+ that will create a fully functional OTP installation. But let's make
+ the nifty installer:
+
+5. `$ ./otp_build installer_win32` - Create the self extracting installer
+ executable. The executable `otp_win32_%OTP-REL%.exe` will be placed
+ in the top directory of the release created in the previous step. If
+ no release directory is specified, the release is expected to have
+ been built to `$ERL_TOP/release/win32`, which also will be the place
+ where the installer executable will be placed. If you specified some
+ other directory for the release (i.e. `./otp_build release -a
+ /tmp/erl_release`), you're expected to give the same parameter here,
+ (i.e. `./otp_build installer_win32 /tmp/erl_release`). You need to have
+ a full NSIS installation and `makensis.exe` in your path for this to
+ work of course. Once you have created the installer, you can run it to
+ install Erlang/OTP in the regular way, just run the executable and
+ follow the steps in the installation wizard. To get all default settings
+ in the installation without any questions asked, you run the executable
+ with the parameter `/S` (capital S) like in:
+
+ $ cd $ERL_TOP
+ $ release/win32/otp_win32_%OTP-REL% /S
+ ...
+
+ and after a while Erlang/OTP-%OTP-REL% will have been installed in
+ `C:\Program Files\erl%ERTS-VSN%\`, with shortcuts in the menu etc.
+
+ The necessary setup of an Erlang installation is actually done by the
+ program `Install.exe`, which resides in the release top. That program
+ creates `.ini`-files and copies the correct boot scripts. If one has
+ the correct directory tree (like after a `./otp_build release -a`), only
+ the running of `Install.exe` is necessary to get a fully functional
+ OTP. What the self extracting installer adds is (of course) the
+ possibility to distribute the binary easily, together with adding
+ shortcuts to the Windows start menu. There is also some adding of
+ entries in the registry, to associate `.erl` and `.beam` files with
+ Erlang and get nifty icons, but that's not something you'll really need
+ to run Erlang. The registry is also used to store uninstall information,
+ but if one has not used the self extracting installer, one cannot
+ (need not) do any uninstall, one just scratches the release directory
+ and everything is gone. Erlang/OTP does not *need* to put anything
+ in the Windows registry at all, and does not if you don't use the self
+ extracting installer. In other words the installer is pure cosmetics.
+
+> *NOTE*: Beginning with R9C, the Windows installer does *not* add Erlang
+> to the system wide path. If one wants to have Erlang in the path, one
+> has to add it by hand.
Development
-----------
@@ -694,7 +682,7 @@ or even in the source directory...
$ make opt
Note that you're expected o have a fresh Erlang in your path when
-doing this, preferably the plain R13B04 you have built in the previous
+doing this, preferably the plain %OTP-REL% you have built in the previous
steps. You could also add `$ERL_TOP/bootstrap/bin` to your `PATH` before
rebuilding specific libraries, that would give you a good enough
Erlang system to compile any OTP erlang code. Setting up the path
@@ -704,7 +692,8 @@ correctly is a little bit tricky, you still need to have
in the path. A typical setting of the path for using the bootstrap
compiler would be:
- $ export PATH=$ERL_TOP/erts/etc/win32/cygwin_tools/vc:$ERL_TOP/erts/etc/win32/cygwin_tools:$ERL_TOP/bootstrap/bin:$PATH
+ $ export PATH=$ERL_TOP/erts/etc/win32/cygwin_tools/vc\
+ :$ERL_TOP/erts/etc/win32/cygwin_tools:$ERL_TOP/bootstrap/bin:$PATH
That should make it possible to rebuild any library without hassle...
@@ -760,22 +749,31 @@ Patrik, OTP
Copyright and License
---------------------
-> %CopyrightBegin%
->
-> Copyright Ericsson AB 2003-2010. All Rights Reserved.
->
-> The contents of this file are subject to the Erlang Public License,
-> Version 1.1, (the "License"); you may not use this file except in
-> compliance with the License. You should have received a copy of the
-> Erlang Public License along with this software. If not, it can be
-> retrieved online at http://www.erlang.org/.
->
-> Software distributed under the License is distributed on an "AS IS"
-> basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-> the License for the specific language governing rights and limitations
-> under the License.
->
-> %CopyrightEnd%
+%CopyrightBegin%
+
+Copyright Ericsson AB 2003-2010. All Rights Reserved.
+
+The contents of this file are subject to the Erlang Public License,
+Version 1.1, (the "License"); you may not use this file except in
+compliance with the License. You should have received a copy of the
+Erlang Public License along with this software. If not, it can be
+retrieved online at http://www.erlang.org/.
+
+Software distributed under the License is distributed on an "AS IS"
+basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+the License for the specific language governing rights and limitations
+under the License.
+
+%CopyrightEnd%
+
+Modifying This Document
+-----------------------
+
+Before modifying this document you need to have a look at the
+`$ERL_TOP/README.md.txt` document.
+
[1]: http://www.erlang.org/faq.html "mailing lists"
+
+ [?TOC]: true
diff --git a/INSTALL.md b/INSTALL.md
index 452b0ff252..b26c0ce018 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,8 +1,12 @@
Building and Installing Erlang/OTP
==================================
-Please read the whole file before attempting to build and install Erlang/OTP.
-You can find more information about Open Source Erlang/OTP at:
+Introduction
+------------
+
+This document describes how to build and install Erlang/OTP-%OTP-REL%. You
+are advised to read the whole document before attempting to build and install
+Erlang/OTP. You can find more information about Open Source Erlang/OTP at:
<http://www.erlang.org/>
@@ -10,24 +14,22 @@ The source code for Erlang/OTP can also be found in a Git repository:
<http://github.com/erlang/otp>
-Portability
------------
-
Erlang/OTP should be possible to build from source on any Unix system,
including Mac OS X. This document describes how to native compile Erlang/OTP
on Unix. For detailed instructions on how to
-* cross compile Erlang/OTP, see the [`$ERL_TOP/INSTALL-CROSS.md`] [1]
+* cross compile Erlang/OTP, see the [$ERL_TOP/INSTALL-CROSS.md][]
document.
-* build Erlang/OTP on Windows, see the [`$ERL_TOP/INSTALL-WIN32.md`] [2]
+* build Erlang/OTP on Windows, see the [$ERL_TOP/INSTALL-WIN32.md][]
document.
Binary releases for Windows can be found at
<http://www.erlang.org/download.html>.
-However, you are in any case advised to read this document first, since it
-covers building Erlang/OTP in general as well as other important information.
+Before reading the above mensioned documents you are in any case advised to
+read this document first, since it covers building Erlang/OTP in general as
+well as other important information.
Daily Build and Test
--------------------
@@ -44,9 +46,9 @@ At Ericsson we have a "Daily Build and Test" that runs on:
* x86
* SuSE Linux/GNU 10.0, 10.1
* x86
- * x86_64
+ * x86\_64
* SuSE Linux/GNU 11.0
- * x86_64
+ * x86\_64
* Gentoo Linux/GNU 1.12.11.1
* x86
* MontaVista Linux/GNU 4.0.1
@@ -60,15 +62,15 @@ At Ericsson we have a "Daily Build and Test" that runs on:
We also have the following "Daily Cross Builds":
-* SuSE Linux/GNU 10.1 x86 -> SuSE Linux/GNU 10.1 x86_64
-* SuSE Linux/GNU 10.1 x86_64 -> Linux/GNU TILEPro64
+* SuSE Linux/GNU 10.1 x86 -> SuSE Linux/GNU 10.1 x86\_64
+* SuSE Linux/GNU 10.1 x86\_64 -> Linux/GNU TILEPro64
and the following "Daily Cross Build Tests":
-* SuSE Linux/GNU 10.1 x86_64
+* SuSE Linux/GNU 10.1 x86\_64
-Versions Known *not* to Work
-----------------------------
+Versions Known NOT to Work
+--------------------------
* Suse linux 9.1 is shipped with a patched GCC version 3.3.3, having the
rpm named `gcc-3.3.3-41`. That version has a serious optimization bug
@@ -118,14 +120,15 @@ These are the tools you will need in order to unpack and build Erlang/OTP.
### Building ###
-* GNU make
-* GNU C compiler
+* GNU `make`
+* `gcc` -- GNU C compiler
* Perl 5
-* GNU m4 -- If hipe (native code) support is enabled.
-* ncurses (or termcap or termlib) -- The development headers and libraries
- are needed, often known as ncurses-devel. (Use --without-termcap to build
- without any of these libraries. Only the old shell (without any line
- editing) can be used.)
+* GNU `m4` -- If HiPE (native code) support is enabled. HiPE can be
+ disabled using `--disable-hipe`
+* `ncurses`, `termcap`, or `termlib` -- The development headers and
+ libraries are needed, often known as `ncurses-devel`. Use
+ `--without-termcap` to build without any of these libraries. Note that
+ in this case only the old shell (without any line editing) can be used.
* OpenSSL -- Optional, but needed for building the Erlang/OTP applications
`ssl` and `crypto`. You need the "development package" of OpenSSL, i.e.
including the header files. For building the application `ssl` the OpenSSL
@@ -140,23 +143,21 @@ These are the tools you will need in order to unpack and build Erlang/OTP.
* `sed` -- There seem to be some problems with some of the `sed` version on
Solaris. Make sure `/bin/sed` or `/usr/bin/sed` is used on the Solaris
platform.
-* Flex -- Optional, headers and libraries are needed to build the flex
+* `flex` -- Optional, headers and libraries are needed to build the `flex`
scanner for the `megaco` application on Unix/Linux.
-If you are building in a Git working directory you also have to have a GNU
-`autoconf` of at least version 2.59. Autoconf is however not needed if you
-build an unmodified version of the released source.
-
#### Building Documentation ####
* `xsltproc` -- XSLT processor. A tool for applying XSLT stylesheets
to XML documents. Can be downloaded from
<http://xmlsoft.org/XSLT/xsltproc2.html>.
-* `fop` -- Apache FOP print formatter (requires Java). Can be downloaded from
- <http://xmlgraphics.apache.org/fop>.
-* `Markdown.pl` -- Optional. This is a `perl` script that generates an
- HTML version of a document written in Markdown notation. Can be
- downloaded at <http://daringfireball.net/projects/markdown>.
+* `fop` -- Apache FOP print formatter (requires Java). Can be downloaded
+ from <http://xmlgraphics.apache.org/fop>.
+
+#### Building in Git ####
+
+* GNU `autoconf` of at least version 2.59. Note that `autoconf` is not
+ needed when building an unmodified version of the released source.
### Installing ###
@@ -165,12 +166,12 @@ build an unmodified version of the released source.
How to Build and Install Erlang/OTP
-----------------------------------
-The following instructions are for building using the source tar ball.
+The following instructions are for building [the released source tar ball][].
The variable `$ERL_TOP` will be mentioned a lot of times. It refers to
the top directory in the source tree. More information about `$ERL_TOP`
-can be found in the "`make` and `$ERL_TOP`" section below. If you are
-building in git you probably want to take a look at the "Building in Git"
+can be found in the [make and $ERL_TOP][] section below. If you are
+building in git you probably want to take a look at the [Building in Git][]
section below before proceeding.
### Unpacking ###
@@ -178,13 +179,16 @@ section below before proceeding.
Step 1: Start by unpacking the Erlang/OTP distribution file with your GNU
compatible TAR program.
- $ gunzip -c otp_src_R13B04.tar.gz | tar xf -
- $ zcat otp_src_R13B04.tar.gz | tar xf -
+ $ gunzip -c otp_src_%OTP-REL%.tar.gz | tar xf -
+
+alternatively:
+
+ $ zcat otp_src_%OTP-REL%.tar.gz | tar xf -
Step 2: Now cd into the base directory (`$ERL_TOP`).
- $ cd otp_src_R13B04
+ $ cd otp_src_%OTP-REL%
### Configuring ###
@@ -208,8 +212,8 @@ To instead install in `<BaseDir>/{bin,lib/erlang}`, use the
`--prefix=<BaseDir>` option.
If you upgraded the source with some patch you may need to clean up
-from previous builds before the new build. Do a `make clean`; see
-"Caveats" below.
+from previous builds before the new build. Before doing a `make clean`,
+be sure to read the [Pre-built Source Release][] section below.
### Building ###
@@ -237,46 +241,54 @@ type `./configure --help` or `./configure --help=recursive` for details.
`./configure --help=recursive` will give help for all `configure` scripts in
all applications.
-One of the things you can specify is where Erlang/OTP should be installed: by
-default Erlang/OTP will be installed in `/usr/local/{bin,lib/erlang}`;
-to keep the same structure but install in a different place, `<Dir>` say,
+One of the things you can specify is where Erlang/OTP should be installed. By
+default Erlang/OTP will be installed in `/usr/local/{bin,lib/erlang}`.
+To keep the same structure but install in a different place, `<Dir>` say,
use the `--prefix` argument like this: `./configure --prefix=<Dir>`.
Some of the available `configure` options are:
- * `--prefix=PATH`: Specify installation prefix.
- * `--{enable,disable}-threads`: Thread support (enabled by default if
+* `--prefix=PATH` - Specify installation prefix.
+* `--{enable,disable}-threads` - Thread support (enabled by default if
possible)
- * `--{enable,disable}-smp-support`: SMP support (enabled by default if
+* `--{enable,disable}-smp-support` - SMP support (enabled by default if
possible)
- * `--{enable,disable}-kernel-poll`: Kernel poll support (enabled by default
- if possible)
- * `--{enable,disable}-hipe`: HiPE support (enabled by default on supported
+* `--{enable,disable}-kernel-poll` - Kernel poll support (enabled by
+ default if possible)
+* `--{enable,disable}-hipe` - HiPE support (enabled by default on supported
platforms)
- * `--enable-darwin-universal`: Build universal binaries on darwin i386.
- * `--enable-darwin-64bit`: Build 64bit binaries on darwin
- * `--enable-m64-build`: Build 64bit binaries using the -m64 flag to (g)cc
- * `--enable-m32-build`: Build 32bit binaries using the -m32 flag to (g)cc
- * `--{with,without}-termcap`: termcap (without implies that only the old
+* `--enable-darwin-universal` - Build universal binaries on darwin i386.
+* `--enable-darwin-64bit` - Build 64-bit binaries on darwin
+* `--enable-m64-build` - Build 64-bit binaries using the `-m64` flag to
+ `(g)cc`
+* `--enable-m32-build` - Build 32-bit binaries using the `-m32` flag to
+ `(g)cc`
+* `--{with,without}-termcap` - termcap (without implies that only the old
Erlang shell can be used)
- * `--with-javac=JAVAC`: Specify Java compiler to use
- * `--{with,without}-javac`: Java compiler (without implies that the
- `jinterface` application won't be built).
- * `--{enable,disable}-dynamic-ssl-lib`: Dynamic OpenSSL libraries
- * `--{enable,disable}-shared-zlib`: Shared zlib library
- * `--with-ssl=PATH`: Specify location of OpenSSL include and lib
- * `--{with,without}-ssl`: OpenSSL (without implies that the `crypto`, `ssh`,
- and `ssl` won't be built)
-
-If you or your system has special requirements please read the
-Makefile for additional configuration information.
+* `--with-javac=JAVAC` - Specify Java compiler to use
+* `--{with,without}-javac` - Java compiler (without implies that the
+ `jinterface` application won't be built)
+* `--{enable,disable}-dynamic-ssl-lib` - Dynamic OpenSSL libraries
+* `--{enable,disable}-shared-zlib` - Shared zlib library
+* `--with-ssl=PATH` - Specify location of OpenSSL include and lib
+* `--{with,without}-ssl` - OpenSSL (without implies that the `crypto`,
+ `ssh`, and `ssl` won't be built)
+
+If you or your system has special requirements please read the `Makefile` for
+additional configuration information.
#### Building ####
Step 5 builds the Erlang/OTP system. On a fast computer, this will take about
5 minutes. After completion of this step, you should have a working
Erlang/OTP system which you can try by typing `bin/erl`. This should start
-up Erlang/OTP and give you a prompt.
+up Erlang/OTP and give you a prompt:
+
+ $ bin/erl
+ Erlang %OTP-REL% (erts-%ERTS-VSN%) [source] [smp:4:4] [rq:4] [async-threads:0] [kernel-poll:false]
+
+ Eshell V%ERTS-VSN% (abort with ^G)
+ 1> _
#### Installing ####
@@ -286,7 +298,7 @@ without having to do step 5 again).
##### Alternative Installation Procedures #####
-* Staged install using [`DESTDIR`] [3]. You can perform the install
+* Staged install using [DESTDIR][]. You can perform the install
phase in a temporary directory and later move the installation into
its correct location by use of the `DESTDIR` variable:
@@ -366,7 +378,7 @@ without having to do step 5 again).
if you want to try the system out, running test suites, etc, before doing
the real install without `EXTRA_PREFIX`.
-### Symbolic Links in `--bindir` ###
+### Symbolic Links in --bindir ###
When doing `make install` and the default installation prefix is used,
relative symbolic links will be created from `/usr/local/bin` to all public
@@ -380,6 +392,24 @@ passed to `configure`. One can force relative, or absolute links by passing
phase. Note that such a request might cause a failure if the request cannot
be satisfied.
+### Pre-built Source Release ###
+
+The source release is delivered with a lot of platform independent
+build results already pre-built. If you want to remove these pre-built
+files, invoke `./otp_build remove_prebuilt_files` from the `$ERL_TOP`
+directory. After you have done this, you can build exactly the same way
+as before, but the build process will take a much longer time.
+
+> *WARNING*: Doing `make clean` in an arbitrary directory of the source
+> tree, may remove files needed for bootstrapping the build.
+>
+> Doing `./otp_build save_bootstrap` from the `$ERL_TOP` directory before
+> doing `make clean` will ensure that it will be possible to build after
+> doing `make clean`. `./otp_build save_bootstrap` will be invoked
+> automatically when `make` is invoked from `$ERL_TOP` with either the
+> `clean` target, or the default target. It is also automatically invoked
+> if `./otp_build remove_prebuilt_files` is invoked.
+
### Building in Git ###
When building in a Git working directory you also have to have a GNU `autoconf`
@@ -394,32 +424,13 @@ content, and you may therefore have to regenerate the `configure` scripts
when checking out a branch. Regenerated `configure` scripts imply that you
have to run `configure` and build again.
-Note that running `./otp_build autoconf` is **not** needed when building an
-unmodified version the released source.
+> *NOTE*: Running `./otp_build autoconf` is **not** needed when building
+> an unmodified version the released source.
Other useful information can be found at our github wiki:
<http://wiki.github.com/erlang/otp>
-Pre-built Source Tree
----------------------
-
-The source tree is delivered with a lot of platform independent
-build results already pre-built. If you want to remove these pre-built
-files, invoke `./otp_build remove_prebuilt_files` from the `$ERL_TOP`
-directory. After you have done this, you can build exactly the same way
-as before, but the build process will take a much longer time.
-
-*NOTE*: Doing `make clean` in an arbitrary directory of the source tree,
-may remove files needed for bootstrapping the build. Doing
-`./otp_build save_bootstrap` from the `$ERL_TOP` directory before
-doing `make clean` will ensure that it will be possible to build after
-doing `make clean`. `./otp_build save_bootstrap` will be invoked
-automatically when `make` is invoked from `$ERL_TOP` with either the
-`clean` target, or the default target. It is also automatically invoked
-if `./otp_build remove_prebuilt_files` is invoked.
-
-`make` and `$ERL_TOP`
----------------------
+### make and $ERL\_TOP ###
All the makefiles in the entire directory tree use the environment
variable `ERL_TOP` to find the absolute path of the installation. The
@@ -437,8 +448,10 @@ want to rebuild the application `STDLIB`, then you could do:
where `<Dir>` would be what you find `ERL_TOP` is set to in the top level
Makefile.
-How to Build the Erlang/OTP Documentation
------------------------------------------
+The Erlang/OTP Documentation
+----------------------------
+
+### How to Build the Documentation ###
$ cd $ERL_TOP
@@ -448,19 +461,10 @@ already ran `configure` and do not need to do this again; otherwise, run
$ ./configure [Configure Args]
-When building the documentation you need a full Erlang/OTP-R13B04 system in
+When building the documentation you need a full Erlang/OTP-%OTP-REL% system in
the `$PATH`.
- $ export PATH=<Erlang/OTP-R13B04 bin dir>:$PATH # Assuming bash/sh
-
-This document as well as some other documents have been written using
-Markdown notation. HTML versions of these documents are created and included
-in the HTML documentation if the environment variable `MD2HTML` is set to a
-command that generates HTML on `stdout` for a Markdown document passed as
-argument. This is a last minute hack, which will be handled in a better way
-in the future. We currently set `MD2HTML` as follows.
-
- $ export MD2HTML="perl <path to script>/Markdown.pl --html4tags"
+ $ export PATH=<Erlang/OTP-%OTP-REL% bin dir>:$PATH # Assuming bash/sh
Build the documentation.
@@ -478,13 +482,13 @@ or using the `release_docs` target.
* If you have installed Erlang/OTP using the `release` target, install
the documentation using the `release_docs` target. You typically want
- to use the same RELEASE_ROOT as when invoking `make release`.
+ to use the same `RELEASE_ROOT` as when invoking `make release`.
$ make release_docs RELEASE_ROOT=<release dir>
-### Build Issues ###
+#### Build Issues ####
-We have sometimes experienced problems with suns `java` running out of
+We have sometimes experienced problems with Sun's `java` running out of
memory when running `fop`. Increasing the amount of memory available
as follows has in our case solved the problem.
@@ -493,23 +497,22 @@ as follows has in our case solved the problem.
More information can be found at
<http://xmlgraphics.apache.org/fop/0.95/running.html#memory>.
-How to Install the Pre-formatted Erlang/OTP Documentation
----------------------------------------------------------
+### How to Install the Pre-formatted Documentation ###
-Pre-formatted documentation can be downloaded at
+Pre-formatted [html documentation][] and [man pages][] can be downloaded at
<http://www.erlang.org/download.html>.
For some graphical tools to find the on-line help you have to install
the HTML documentation on top of the installed OTP applications, i.e.
$ cd <ReleaseDir>
- $ gunzip -c otp_html_R13B04.tar.gz | tar xf -
+ $ gunzip -c otp_html_%OTP-REL%.tar.gz | tar xf -
For `erl -man <page>` to work the Unix manual pages have to be
installed in the same way, i.e.
$ cd <ReleaseDir>
- $ gunzip -c otp_man_R13B04.tar.gz | tar xf -
+ $ gunzip -c otp_man_%OTP-REL%.tar.gz | tar xf -
Where `<ReleaseDir>` is
@@ -620,7 +623,7 @@ To add hipe options, write like this from the Erlang shell:
1> c(Module, [native,{hipe,HipeOptions}|MoreOptions]).
-Use hipe:help_options/0 to print out the available options.
+Use `hipe:help_options/0` to print out the available options.
1> hipe:help_options().
@@ -702,6 +705,7 @@ purposes.
Authors
-------
+
Authors are mostly listed in the application's `AUTHORS` files,
that is `$ERL_TOP/lib/*/AUTHORS` and `$ERL_TOP/erts/AUTHORS`,
not in the individual source files.
@@ -709,30 +713,44 @@ not in the individual source files.
Copyright and License
---------------------
-> %CopyrightBegin%
->
-> Copyright Ericsson AB 1998-2010. All Rights Reserved.
->
-> The contents of this file are subject to the Erlang Public License,
-> Version 1.1, (the "License"); you may not use this file except in
-> compliance with the License. You should have received a copy of the
-> Erlang Public License along with this software. If not, it can be
-> retrieved online at http://www.erlang.org/.
->
-> Software distributed under the License is distributed on an "AS IS"
-> basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-> the License for the specific language governing rights and limitations
-> under the License.
->
-> %CopyrightEnd%
+%CopyrightBegin%
+
+Copyright Ericsson AB 1998-2010. All Rights Reserved.
+
+The contents of this file are subject to the Erlang Public License,
+Version 1.1, (the "License"); you may not use this file except in
+compliance with the License. You should have received a copy of the
+Erlang Public License along with this software. If not, it can be
+retrieved online at http://www.erlang.org/.
+
+Software distributed under the License is distributed on an "AS IS"
+basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+the License for the specific language governing rights and limitations
+under the License.
+
+%CopyrightEnd%
More Information
----------------
More information can be found at <http://www.erlang.org>.
+Modifying This Document
+-----------------------
+
+Before modifying this document you need to have a look at the
+`$ERL_TOP/README.md.txt` document.
+
+
+ [$ERL_TOP/INSTALL-CROSS.md]: INSTALL-CROSS
+ [$ERL_TOP/INSTALL-WIN32.md]: INSTALL-WIN32
+ [DESTDIR]: http://www.gnu.org/prep/standards/html_node/DESTDIR.html
+ [Building in Git]: #How-to-Build-and-Install-ErlangOTP_Building-in-Git
+ [Pre-built Source Release]: #How-to-Build-and-Install-ErlangOTP_Prebuilt-Source-Release
+ [make and $ERL_TOP]: #How-to-Build-and-Install-ErlangOTP_make-and-ERLTOP
+ [html documentation]: http://www.erlang.org/download/otp_doc_html_%OTP-REL%.tar.gz
+ [man pages]: http://www.erlang.org/download/otp_doc_man_%OTP-REL%.tar.gz
+ [the released source tar ball]: http://www.erlang.org/download/otp_src_%OTP-REL%.tar.gz
- [1]: INSTALL-CROSS.html "$ERL_TOP/INSTALL-CROSS.md"
- [2]: INSTALL-WIN32.html "$ERL_TOP/INSTALL-WIN32.md"
- [3]: http://www.gnu.org/prep/standards/html_node/DESTDIR.html "DESTDIR"
+ [?TOC]: true
diff --git a/Makefile.in b/Makefile.in
index 12e485754f..ac2015f8e4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -28,10 +28,10 @@ SHELL = /bin/sh
ERL_TOP = @ERL_TOP@
# OTP release
-OTP = @OTP@
+OTP = OTP-@OTP_REL@
# erts (Erlang RunTime System) version
-ERTS = @ERTS@
+ERTS = erts-@ERTS_VSN@
# ----------------------------------------------------------------------
@@ -357,13 +357,9 @@ all_bootstraps: emulator \
# binaries in your PATH instead of those created from the
# pre-compiled Erlang modules under bootstrap/.
#
-ifeq ($(findstring ose,$(TARGET)),ose)
-noboot:
- $(MAKE) BOOT_PREFIX= emulator libs
-else
noboot:
$(MAKE) BOOT_PREFIX= emulator libs local_setup
-endif
+
noboot_install:
$(MAKE) BOOT_PREFIX= install
@@ -397,7 +393,7 @@ endif
# ---------------------------------------------------------------
# Target only used when building commercial ERTS patches
# ---------------------------------------------------------------
-release_docs docs: html_readmes
+release_docs docs:
ifeq ($(OTP_SMALL_BUILD),true)
cd $(ERL_TOP)/lib && \
ERL_TOP=$(ERL_TOP) $(MAKE) TESTROOT=$(RELEASE_ROOT) $@
@@ -412,41 +408,6 @@ endif
cd $(ERL_TOP)/system/doc && \
ERL_TOP=$(ERL_TOP) $(MAKE) TESTROOT=$(RELEASE_ROOT) $@
-.PHONY: html_readmes clean_html_readmes
-
-HTML_READMES = INSTALL.html INSTALL-WIN32.html INSTALL-CROSS.html
-
-html_readmes: $(HTML_READMES)
-
-clean_html_readmes:
- rm -f $(HTML_READMES)
-
-%.html: %.md
- echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">" > $@
- echo "<html xmlns:fn=\"http://www.w3.org/2005/02/xpath-functions\"><head>" >> $@
- echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">" >> $@
- echo "<style type=\"text/css\">" >> $@
- echo "body {" >> $@
- echo " margin: 4em 4em 4em 4em;" >> $@
- echo " background: white;" >> $@
- echo " font-family: Verdana, Arial, Helvetica, sans-serif;" >> $@
- echo "}" >> $@
- echo "code { font-family: courier;font-weight: normal}" >> $@
- echo "a:link { color: blue; text-decoration: none }" >> $@
- echo "a:active { color: blue; text-decoration: none }" >> $@
- echo "a:visited { color: blue; text-decoration: none }" >> $@
- echo "</style><title>" >> $@
- cat $< | sed -n "s/[ ]*\([^ ].*[^ ]\)[ ]*/\1/p;/[ ]*[^ ][ ]*/q" >> $@
- echo "</title></head><body>" >> $@
-ifneq ($(MD2HTML),)
- $(MD2HTML) $< >> $@
-else
- echo "<pre>" >> $@
- cat $< | sed "s|\&|\&amp\;|g;s|\"|\&quot\;|g;s|<|\&lt\;|g;s|>|\&gt\;|g" >> $@
- echo "</pre>" >> $@
-endif
- echo "</body></html>" >> $@
-
# ----------------------------------------------------------------------
ERLANG_EARS=$(BOOTSTRAP_ROOT)/bootstrap/erts
ELINK=$(BOOTSTRAP_ROOT)/bootstrap/erts/bin/elink
@@ -1032,7 +993,7 @@ $(IBIN_DIR):
# Clean targets
#
-clean: check_recreate_primary_bootstrap clean_html_readmes
+clean: check_recreate_primary_bootstrap
rm -f *~ *.bak config.log config.status prebuilt.files ibin/*
find . -type f -name SKIP -print | xargs $(RM)
cd erts && ERL_TOP=$(ERL_TOP) $(MAKE) clean
diff --git a/README.md.txt b/README.md.txt
new file mode 100644
index 0000000000..a5a1bf4b7d
--- /dev/null
+++ b/README.md.txt
@@ -0,0 +1,266 @@
+Erlangish Markdown Text Files
+=============================
+
+Introduction
+------------
+
+If you are looking for information on how to build and install Erlang/OTP you
+want to read the [$ERL_TOP/INSTALL.md][] document instead of this document
+(where `$ERL_TOP` is the top source directory in the source tree).
+
+All files with the `.md` suffix (as well as this file) are ordinary text files
+written using a Markdown like notation, and can be read using an ordinary text
+editor such as for example `emacs`.
+
+This document describes how `*.md` files in the Erlang/OTP source tree should
+be written.
+
+> *NOTE*: Before modifying a `*.md` file read all of this document.
+
+Erlangish Markdown
+------------------
+
+We do not use Markdown straight out of the box. The Markdown syntax we use is
+similar to the original Markdown but with a number of tweaks. The original
+Markdown is documented at <http://daringfireball.net/projects/markdown/>. You
+should read that documentation as well as this document before modifying any
+Erlangish Markdown files in the Erlang/OTP source tree.
+
+The original Markdown syntax was designed for generating HTML code from an
+"easy to read/easy to write" plain text. Instead of generating HTML we generate
+XML that fits into our documentation, i.e. we generate Erlangish XML from
+Erlangish Markdown.
+
+The `.md` suffix has been chosen since [github][] will generate HTML pages for
+files with the `.md` suffix. Github does however not generate HTML according to
+Erlangish Markdown, so some features do not work. The Erlangish Markdown
+documents viewed at [our github repository][] will typically suffer from broken
+links. The original Markdown script, gitub's Markdown, and our Erlangish
+Markdown script will generate somewhat different results if you do not follow
+indentation rules outlined in the Markdown documentation. You are encouraged to
+try to write using a Markdown syntax that also looks nice on github. However,
+it is *much* more important that the document is formatted correct in the
+Erlang/OTP documentation.
+
+### Differences Between Markdown and Erlangish Markdown ###
+
+#### Missing Features ####
+
+This functionality is missing compared to Markdown version 1.0.1. Do not
+depend on the fact that these features are missing. Some of them might appear
+in the future.
+
+* No inline HTML. Currently no inline XML is allowed either. Inline XML might
+ be allowed in the future, but there is no real need for it since we use
+ Erlangish Markdown for "readme"s that have a main purpose of being readable
+ in plain text.
+
+* Backslash escapes all characters.
+
+* No support for "horizontal rules".
+
+* Links.
+ * No support for the "title" attribute.
+ * Automatic links does not support email addresses.
+
+* Images.
+ * No support for the "title" attribute. Specified "title" will however
+ be used as `<icaption>`.
+ * No support for the "alt" attribute.
+
+* Lists aren't supported inside block quotes.
+
+* Link and image definition names *are* case sensitive.
+
+#### Additional Features ####
+
+* Automatic anchors at each heading.
+
+* Optionally automatically generated table of contents.
+
+* Note blocks.
+
+* Warning blocks.
+
+#### Extra requirements ####
+
+* One and only one level 1 heading is allowed and required.
+
+* The level 1 heading must be the first heading in the document.
+
+* A level `X` heading must have a level `X-1` heading as parent heading.
+
+* Link and image definition names aren't allowed to begin with a
+ question mark (?) character. Names beginning with a question mark have
+ been reserved for other use.
+
+* The encoding of the file containing Erlangish Markdown should be
+ UTF-8.
+
+### Generated XML ###
+
+> *WARNING*: The `emd2exml` script will blindly generate XML code according
+> to the Erlangish Markdown in a file. Successfully generated XML does **not**
+> imply that the generated XML adheres to used DTDs. `emd2exml` does very
+> seldom fail and can easily generate XML that will cause the documentation
+> build to fail. You always have to keep in mind that the XML generated
+> should fit the chapter DTD of Erlang/OTP. Also note that even though HTML
+> generation succeeds the PDF generation might fail, etc.
+>
+> *Always build the Erlang/OTP documentation after modifying an Erlangish
+> Markdown document!*
+
+A note about how we talk about "tags" below. When we say "generate(s) `<X>`
+tags" this also imply that ending `</X>` tags will be generated at appropriate
+places. Appropriate attributes to the `X` tag will also be generated.
+
+* Inline and reference style links will either generate `<seealso>` tags
+ or `<url>` tags. If a "://" character sequence is found in the URL an
+ `<url>` tag will be generated; otherwise, a `<seealso>` tag is generated.
+
+* Automatic links will only generate `<url>` tags. This since a
+ "://" character sequence have to be present in the URL in order
+ for the link to be identified.
+
+* Inline and reference style images will generate a `<image file="...">
+ <icaption>...</icaption> </image>` sequence where the "title" will be
+ placed between `<icaption>` and `</icaption>`.
+
+* Block quotes generate `<blockquote>` tags.
+
+* If the first line of a top level block quote begins with a `> *NOTE*:`
+ character sequence, a `<note>` tag will be generated instead of a
+ `<blockquote>` tag. The note will span the entire block quote.
+
+* If the first line of a top level block quote begins with a `> *WARNING*:`
+ character sequence, a `<warning>` tag will be generated instead of a
+ `<blockquote>` tag. The warning will span the entire block quote.
+
+* Paragraphs will generate `<p>` tags.
+
+* Break line (double trailing white space) will generate `<br/>` tags.
+
+* An unordered list generates a `<list type="bulleted">` tag and `<item>`
+ tags for each item.
+
+* An ordered list generates a `<list type="ordered">` tag and `<item>` tags
+ for each item.
+
+* Code blocks will generate `<code type="none">` tags.
+
+* Code span (backticks) will generate `<c>` tags.
+
+* Emphasis (single `*` or `_`) will generate `<em>` tags.
+
+* Strong emphasis (double `*` or `_`) will generate `<b>` tags.
+
+* The level 1 heading will cause the following to be generated:
+
+ <?xml version="1.0" encoding="utf8" ?>
+ <!DOCTYPE chapter SYSTEM "chapter.dtd">
+ <chapter>
+ <header>
+ <copyright>
+ ...
+ </copyright>
+ <legalnotice>
+ ...
+ </legalnotice>
+
+ <title>...</title>
+ ...
+ <file>...</file>
+ </header>
+
+ ...
+
+ </chapter>
+
+ The content of copyright section and the legalnotice section will
+ contain information from a \%CopyrightBegin\%, \%CopyrightEnd\% block
+ if such exist (see below).
+
+* A level `X` heading where `1 < X <= 3` will cause the the following
+ to be generated:
+
+ <marker id="..."/>
+ <section>
+ <title>...</title>
+ ...
+ </section>
+
+ The marker id is automatically generated as a combination of all parent
+ headings up to and including level 2 separated by a `_` character. As in
+ `<marker heading 2>_<marker heading 3>_ ... _<current marker heading>`
+ where each "marker heading" is constructed as follows. All characters a-z
+ and A-Z are kept as they are, space and tab characters are replaced by
+ `-` characters, and all other characters are dropped.
+
+ This way it is relatively easy to make sure that all marker ids of a
+ document are unique, but there is of course no guarantee that they are.
+
+ The upside of these auto generated markers is that we wont have to clutter
+ the document with XML or something else while being able to refer into
+ the document. The downside is that if you change a level 2 heading you
+ change a lot of marker ids which may break links into a document from
+ other documents. That is, *be careful* when changing headings in an
+ existing document.
+
+* A level `X` heading where `3 < X` will cause the the following
+ to be generated:
+
+ <marker id="..."/>
+ <p><b>...</b></p>
+ ...
+
+ Current DTD:s used don't support deeper levels of sections, and we
+ therefore simulate a section this way. The marker id is generated as for
+ a true section (see above).
+
+* If a section enclosed by \%CopyrightBegin\% and \%CopyrightEnd\% is
+ encountered, it will be interpreted as an EPL copyright and license,
+ and will be used in the header section of the document. The
+ \%CopyrightBegin\% and \%CopyrightEnd\% "tags" will be removed from
+ the output.
+
+* All occurrences of \%OTP-REL% will be replaced by current release number
+ (e.g. R14A).
+
+* All occurrences of \%ERTS-VSN% will be replaced by current ERTS version
+ (e.g. 5.8).
+
+* Adding a `[?TOC]: true` line (optionally indented with three spaces)
+ anywhere in the document will cause a table of contents to be automatically
+ generated at the beginning of the generated document.
+
+* Unicode characters (encoded in UTF-8) are allowed and will be passed
+ through as is to the output file.
+
+Copyright and License
+---------------------
+
+%CopyrightBegin%
+
+Copyright Ericsson AB 2010. All Rights Reserved.
+
+The contents of this file are subject to the Erlang Public License,
+Version 1.1, (the "License"); you may not use this file except in
+compliance with the License. You should have received a copy of the
+Erlang Public License along with this software. If not, it can be
+retrieved online at http://www.erlang.org/.
+
+Software distributed under the License is distributed on an "AS IS"
+basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+the License for the specific language governing rights and limitations
+under the License.
+
+%CopyrightEnd%
+
+
+
+ [$ERL_TOP/INSTALL.md]: doc/installation_guide:INSTALL
+ [github]: http://github.com
+ [our github repository]: http://github.com/erlang/otp
+
+
+ [?TOC]: true
diff --git a/TAR.include b/TAR.include
index 27b10d6243..5146458eea 100644
--- a/TAR.include
+++ b/TAR.include
@@ -2,6 +2,7 @@ AUTHORS
EPLICENCE
Makefile.in
README.md
+README.md.txt
INSTALL.md
INSTALL-CROSS.md
INSTALL-WIN32.md
diff --git a/bootstrap/bin/start.boot b/bootstrap/bin/start.boot
index 4153fa1087..940541dbf8 100644
--- a/bootstrap/bin/start.boot
+++ b/bootstrap/bin/start.boot
Binary files differ
diff --git a/bootstrap/bin/start.script b/bootstrap/bin/start.script
index edcd4ffc99..08ed9939f7 100644
--- a/bootstrap/bin/start.script
+++ b/bootstrap/bin/start.script
@@ -1,6 +1,6 @@
-%% script generated at {2010,2,18} {13,24,55}
+%% script generated at {2010,5,11} {9,2,55}
{script,
- {"OTP APN 181 01","R13B04"},
+ {"OTP APN 181 01","R14A"},
[{preLoaded,
[erl_prim_loader,erlang,init,otp_ring0,prim_file,prim_inet,prim_zip,
zlib]},
@@ -43,7 +43,7 @@
{application_controller,start,
[{application,kernel,
[{description,"ERTS CXC 138 10"},
- {vsn,"2.13.5"},
+ {vsn,"2.14"},
{id,[]},
{modules,
[application,application_controller,application_master,
@@ -80,7 +80,7 @@
{application,load,
[{application,stdlib,
[{description,"ERTS CXC 138 10"},
- {vsn,"1.16.5"},
+ {vsn,"1.17"},
{id,[]},
{modules,
[array,base64,beam_lib,c,calendar,dets,dets_server,
diff --git a/bootstrap/bin/start_clean.boot b/bootstrap/bin/start_clean.boot
index 4153fa1087..940541dbf8 100644
--- a/bootstrap/bin/start_clean.boot
+++ b/bootstrap/bin/start_clean.boot
Binary files differ
diff --git a/bootstrap/bin/start_clean.script b/bootstrap/bin/start_clean.script
index edcd4ffc99..08ed9939f7 100644
--- a/bootstrap/bin/start_clean.script
+++ b/bootstrap/bin/start_clean.script
@@ -1,6 +1,6 @@
-%% script generated at {2010,2,18} {13,24,55}
+%% script generated at {2010,5,11} {9,2,55}
{script,
- {"OTP APN 181 01","R13B04"},
+ {"OTP APN 181 01","R14A"},
[{preLoaded,
[erl_prim_loader,erlang,init,otp_ring0,prim_file,prim_inet,prim_zip,
zlib]},
@@ -43,7 +43,7 @@
{application_controller,start,
[{application,kernel,
[{description,"ERTS CXC 138 10"},
- {vsn,"2.13.5"},
+ {vsn,"2.14"},
{id,[]},
{modules,
[application,application_controller,application_master,
@@ -80,7 +80,7 @@
{application,load,
[{application,stdlib,
[{description,"ERTS CXC 138 10"},
- {vsn,"1.16.5"},
+ {vsn,"1.17"},
{id,[]},
{modules,
[array,base64,beam_lib,c,calendar,dets,dets_server,
diff --git a/bootstrap/lib/compiler/ebin/beam_asm.beam b/bootstrap/lib/compiler/ebin/beam_asm.beam
index 6908d2c296..2db98a2013 100644
--- a/bootstrap/lib/compiler/ebin/beam_asm.beam
+++ b/bootstrap/lib/compiler/ebin/beam_asm.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_block.beam b/bootstrap/lib/compiler/ebin/beam_block.beam
index 2b2b569026..e494c90788 100644
--- a/bootstrap/lib/compiler/ebin/beam_block.beam
+++ b/bootstrap/lib/compiler/ebin/beam_block.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_bool.beam b/bootstrap/lib/compiler/ebin/beam_bool.beam
index d286fb2f5b..a1ff7e705d 100644
--- a/bootstrap/lib/compiler/ebin/beam_bool.beam
+++ b/bootstrap/lib/compiler/ebin/beam_bool.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_bsm.beam b/bootstrap/lib/compiler/ebin/beam_bsm.beam
index 73b165e574..87bdc81d1e 100644
--- a/bootstrap/lib/compiler/ebin/beam_bsm.beam
+++ b/bootstrap/lib/compiler/ebin/beam_bsm.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_clean.beam b/bootstrap/lib/compiler/ebin/beam_clean.beam
index d43e6210bf..9127a20bda 100644
--- a/bootstrap/lib/compiler/ebin/beam_clean.beam
+++ b/bootstrap/lib/compiler/ebin/beam_clean.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_dict.beam b/bootstrap/lib/compiler/ebin/beam_dict.beam
index 61d74bb393..e1b39a1799 100644
--- a/bootstrap/lib/compiler/ebin/beam_dict.beam
+++ b/bootstrap/lib/compiler/ebin/beam_dict.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_disasm.beam b/bootstrap/lib/compiler/ebin/beam_disasm.beam
index 9b43e250c0..b58b44c68c 100644
--- a/bootstrap/lib/compiler/ebin/beam_disasm.beam
+++ b/bootstrap/lib/compiler/ebin/beam_disasm.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_flatten.beam b/bootstrap/lib/compiler/ebin/beam_flatten.beam
index b8ed6402bf..8546e1233a 100644
--- a/bootstrap/lib/compiler/ebin/beam_flatten.beam
+++ b/bootstrap/lib/compiler/ebin/beam_flatten.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_jump.beam b/bootstrap/lib/compiler/ebin/beam_jump.beam
index 523c7bfefe..2643874e07 100644
--- a/bootstrap/lib/compiler/ebin/beam_jump.beam
+++ b/bootstrap/lib/compiler/ebin/beam_jump.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_listing.beam b/bootstrap/lib/compiler/ebin/beam_listing.beam
index a68dd78e6c..b282af5fce 100644
--- a/bootstrap/lib/compiler/ebin/beam_listing.beam
+++ b/bootstrap/lib/compiler/ebin/beam_listing.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_opcodes.beam b/bootstrap/lib/compiler/ebin/beam_opcodes.beam
index adbcacff53..8c5378e05e 100644
--- a/bootstrap/lib/compiler/ebin/beam_opcodes.beam
+++ b/bootstrap/lib/compiler/ebin/beam_opcodes.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_receive.beam b/bootstrap/lib/compiler/ebin/beam_receive.beam
new file mode 100644
index 0000000000..ef7afd8113
--- /dev/null
+++ b/bootstrap/lib/compiler/ebin/beam_receive.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_type.beam b/bootstrap/lib/compiler/ebin/beam_type.beam
index 3f281d5d01..2f2b518994 100644
--- a/bootstrap/lib/compiler/ebin/beam_type.beam
+++ b/bootstrap/lib/compiler/ebin/beam_type.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/beam_validator.beam b/bootstrap/lib/compiler/ebin/beam_validator.beam
index 2edf5f226e..e04c9efa69 100644
--- a/bootstrap/lib/compiler/ebin/beam_validator.beam
+++ b/bootstrap/lib/compiler/ebin/beam_validator.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/cerl_clauses.beam b/bootstrap/lib/compiler/ebin/cerl_clauses.beam
index 662f42259f..5004b4d4c2 100644
--- a/bootstrap/lib/compiler/ebin/cerl_clauses.beam
+++ b/bootstrap/lib/compiler/ebin/cerl_clauses.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/cerl_inline.beam b/bootstrap/lib/compiler/ebin/cerl_inline.beam
index 30926f66ca..430f5e72b5 100644
--- a/bootstrap/lib/compiler/ebin/cerl_inline.beam
+++ b/bootstrap/lib/compiler/ebin/cerl_inline.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/compile.beam b/bootstrap/lib/compiler/ebin/compile.beam
index 864d76b526..3d44822af6 100644
--- a/bootstrap/lib/compiler/ebin/compile.beam
+++ b/bootstrap/lib/compiler/ebin/compile.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/compiler.app b/bootstrap/lib/compiler/ebin/compiler.app
index 497d1873d8..ed0dd7c30e 100644
--- a/bootstrap/lib/compiler/ebin/compiler.app
+++ b/bootstrap/lib/compiler/ebin/compiler.app
@@ -33,6 +33,7 @@
beam_listing,
beam_opcodes,
beam_peep,
+ beam_receive,
beam_trim,
beam_type,
beam_utils,
diff --git a/bootstrap/lib/compiler/ebin/core_lib.beam b/bootstrap/lib/compiler/ebin/core_lib.beam
index 254d3375e0..43c29138b8 100644
--- a/bootstrap/lib/compiler/ebin/core_lib.beam
+++ b/bootstrap/lib/compiler/ebin/core_lib.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/core_lint.beam b/bootstrap/lib/compiler/ebin/core_lint.beam
index 892268bc79..75e8b9b162 100644
--- a/bootstrap/lib/compiler/ebin/core_lint.beam
+++ b/bootstrap/lib/compiler/ebin/core_lint.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/sys_core_dsetel.beam b/bootstrap/lib/compiler/ebin/sys_core_dsetel.beam
index 28663aea47..2975d77648 100644
--- a/bootstrap/lib/compiler/ebin/sys_core_dsetel.beam
+++ b/bootstrap/lib/compiler/ebin/sys_core_dsetel.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/sys_core_fold.beam b/bootstrap/lib/compiler/ebin/sys_core_fold.beam
index cff47f2997..6d96618ce7 100644
--- a/bootstrap/lib/compiler/ebin/sys_core_fold.beam
+++ b/bootstrap/lib/compiler/ebin/sys_core_fold.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/sys_core_inline.beam b/bootstrap/lib/compiler/ebin/sys_core_inline.beam
index 610f6e25cc..919b616c62 100644
--- a/bootstrap/lib/compiler/ebin/sys_core_inline.beam
+++ b/bootstrap/lib/compiler/ebin/sys_core_inline.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/sys_pre_expand.beam b/bootstrap/lib/compiler/ebin/sys_pre_expand.beam
index a2766d3048..2333028391 100644
--- a/bootstrap/lib/compiler/ebin/sys_pre_expand.beam
+++ b/bootstrap/lib/compiler/ebin/sys_pre_expand.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/v3_codegen.beam b/bootstrap/lib/compiler/ebin/v3_codegen.beam
index 4417a91407..d55373f6ac 100644
--- a/bootstrap/lib/compiler/ebin/v3_codegen.beam
+++ b/bootstrap/lib/compiler/ebin/v3_codegen.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/v3_core.beam b/bootstrap/lib/compiler/ebin/v3_core.beam
index 2b5efad43f..df65af76c7 100644
--- a/bootstrap/lib/compiler/ebin/v3_core.beam
+++ b/bootstrap/lib/compiler/ebin/v3_core.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/v3_kernel.beam b/bootstrap/lib/compiler/ebin/v3_kernel.beam
index ca4bb278e1..2f3efc7dfb 100644
--- a/bootstrap/lib/compiler/ebin/v3_kernel.beam
+++ b/bootstrap/lib/compiler/ebin/v3_kernel.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/v3_kernel_pp.beam b/bootstrap/lib/compiler/ebin/v3_kernel_pp.beam
index c72919dc97..e938467630 100644
--- a/bootstrap/lib/compiler/ebin/v3_kernel_pp.beam
+++ b/bootstrap/lib/compiler/ebin/v3_kernel_pp.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/ebin/v3_life.beam b/bootstrap/lib/compiler/ebin/v3_life.beam
index 59a6797138..3b39cffbf9 100644
--- a/bootstrap/lib/compiler/ebin/v3_life.beam
+++ b/bootstrap/lib/compiler/ebin/v3_life.beam
Binary files differ
diff --git a/bootstrap/lib/compiler/egen/beam_opcodes.erl b/bootstrap/lib/compiler/egen/beam_opcodes.erl
index 6adbe4c7c7..05587800b4 100644
--- a/bootstrap/lib/compiler/egen/beam_opcodes.erl
+++ b/bootstrap/lib/compiler/egen/beam_opcodes.erl
@@ -8,7 +8,7 @@
-spec format_number() -> 0.
format_number() -> 0.
--spec opcode(atom(), 0..8) -> 1..149.
+-spec opcode(atom(), 0..8) -> 1..151.
opcode(label, 1) -> 1;
opcode(func_info, 3) -> 2;
opcode(int_code_end, 0) -> 3;
@@ -76,7 +76,7 @@ opcode(move, 2) -> 64;
opcode(get_list, 3) -> 65;
opcode(get_tuple_element, 3) -> 66;
opcode(set_tuple_element, 3) -> 67;
-opcode(put_string, 3) -> 68;
+%%opcode(put_string, 3) -> 68;
opcode(put_list, 3) -> 69;
opcode(put_tuple, 2) -> 70;
opcode(put, 1) -> 71;
@@ -158,9 +158,11 @@ opcode(bs_utf16_size, 3) -> 146;
opcode(bs_put_utf16, 3) -> 147;
opcode(bs_put_utf32, 3) -> 148;
opcode(on_load, 0) -> 149;
+opcode(recv_mark, 1) -> 150;
+opcode(recv_set, 1) -> 151;
opcode(Name, Arity) -> erlang:error(badarg, [Name,Arity]).
--spec opname(1..149) -> {atom(),0..8}.
+-spec opname(1..151) -> {atom(),0..8}.
opname(1) -> {label,1};
opname(2) -> {func_info,3};
opname(3) -> {int_code_end,0};
@@ -310,4 +312,6 @@ opname(146) -> {bs_utf16_size,3};
opname(147) -> {bs_put_utf16,3};
opname(148) -> {bs_put_utf32,3};
opname(149) -> {on_load,0};
+opname(150) -> {recv_mark,1};
+opname(151) -> {recv_set,1};
opname(Number) -> erlang:error(badarg, [Number]).
diff --git a/bootstrap/lib/compiler/egen/core_parse.erl b/bootstrap/lib/compiler/egen/core_parse.erl
index e93877a690..093ab4d1a3 100644
--- a/bootstrap/lib/compiler/egen/core_parse.erl
+++ b/bootstrap/lib/compiler/egen/core_parse.erl
@@ -13,7 +13,7 @@
tok_val(T) -> element(3, T).
tok_line(T) -> element(2, T).
--file("/usr/local/otp/releases/sles10_32_R13B03_patched/lib/parsetools-2.0.1/include/yeccpre.hrl", 0).
+-file("/usr/local/lib/erlang/lib/parsetools-2.0.2/include/yeccpre.hrl", 0).
%%
%% %CopyrightBegin%
%%
@@ -36,33 +36,32 @@ tok_line(T) -> element(2, T).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% The parser generator will insert appropriate declarations before this line.%
--type(yecc_ret() :: {'error', _} | {'ok', _}).
+-type yecc_ret() :: {'error', _} | {'ok', _}.
-spec parse(Tokens :: list()) -> yecc_ret().
parse(Tokens) ->
yeccpars0(Tokens, {no_func, no_line}, 0, [], []).
--spec(parse_and_scan/1 ::
- ({function() | {atom(), atom()}, [_]} | {atom(), atom(), [_]}) ->
- yecc_ret()).
+-spec parse_and_scan({function() | {atom(), atom()}, [_]} | {atom(), atom(), [_]}) ->
+ yecc_ret().
parse_and_scan({F, A}) -> % Fun or {M, F}
yeccpars0([], {{F, A}, no_line}, 0, [], []);
parse_and_scan({M, F, A}) ->
yeccpars0([], {{{M, F}, A}, no_line}, 0, [], []).
--spec(format_error/1 :: (any()) -> [char() | list()]).
+-spec format_error(any()) -> [char() | list()].
format_error(Message) ->
case io_lib:deep_char_list(Message) of
- true ->
- Message;
- _ ->
- io_lib:write(Message)
+ true ->
+ Message;
+ _ ->
+ io_lib:write(Message)
end.
-% To be used in grammar files to throw an error message to the parser
-% toplevel. Doesn't have to be exported!
--compile({nowarn_unused_function, return_error/2}).
--spec(return_error/2 :: (integer(), any()) -> no_return()).
+%% To be used in grammar files to throw an error message to the parser
+%% toplevel. Doesn't have to be exported!
+-compile({nowarn_unused_function,{return_error,2}}).
+-spec return_error(integer(), any()) -> no_return().
return_error(Line, Message) ->
throw({error, {Line, ?MODULE, Message}}).
@@ -101,7 +100,7 @@ yeccpars1([Token | Tokens], Tzr, State, States, Vstack) ->
yeccpars1([], {{F, A},_Line}, State, States, Vstack) ->
case apply(F, A) of
{ok, Tokens, Endline} ->
- yeccpars1(Tokens, {{F, A}, Endline}, State, States, Vstack);
+ yeccpars1(Tokens, {{F, A}, Endline}, State, States, Vstack);
{eof, Endline} ->
yeccpars1([], {no_func, Endline}, State, States, Vstack);
{error, Descriptor, _Endline} ->
@@ -134,7 +133,7 @@ yeccpars1(State1, State, States, Vstack, Token0, [], {no_func, Line}) ->
yeccpars2(State, '$end', [State1 | States], [Token0 | Vstack],
yecc_end(Line), [], {no_func, Line}).
-% For internal use only.
+%% For internal use only.
yecc_end({Line,_Column}) ->
{'$end', Line};
yecc_end(Line) ->
@@ -195,7 +194,7 @@ yecctoken2string(Other) ->
--file("/clearcase/otp/erts/bootstrap/lib/compiler/egen/core_parse.erl", 198).
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/compiler/egen/core_parse.erl", 197).
yeccpars2(0=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_0(S, Cat, Ss, Stack, T, Ts, Tzr);
diff --git a/bootstrap/lib/kernel/ebin/application_controller.beam b/bootstrap/lib/kernel/ebin/application_controller.beam
index 4cb6bc6b7e..093c2adbdf 100644
--- a/bootstrap/lib/kernel/ebin/application_controller.beam
+++ b/bootstrap/lib/kernel/ebin/application_controller.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/application_starter.beam b/bootstrap/lib/kernel/ebin/application_starter.beam
index 542ef99f18..e33c9a5028 100644
--- a/bootstrap/lib/kernel/ebin/application_starter.beam
+++ b/bootstrap/lib/kernel/ebin/application_starter.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/code.beam b/bootstrap/lib/kernel/ebin/code.beam
index 1392a018ab..e82b91cf8e 100644
--- a/bootstrap/lib/kernel/ebin/code.beam
+++ b/bootstrap/lib/kernel/ebin/code.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/code_server.beam b/bootstrap/lib/kernel/ebin/code_server.beam
index e6ad873c82..5bf9b13367 100644
--- a/bootstrap/lib/kernel/ebin/code_server.beam
+++ b/bootstrap/lib/kernel/ebin/code_server.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/error_handler.beam b/bootstrap/lib/kernel/ebin/error_handler.beam
index e97e1d214f..5a17c845eb 100644
--- a/bootstrap/lib/kernel/ebin/error_handler.beam
+++ b/bootstrap/lib/kernel/ebin/error_handler.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/file_io_server.beam b/bootstrap/lib/kernel/ebin/file_io_server.beam
index 93e19d9463..9b02183180 100644
--- a/bootstrap/lib/kernel/ebin/file_io_server.beam
+++ b/bootstrap/lib/kernel/ebin/file_io_server.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/file_server.beam b/bootstrap/lib/kernel/ebin/file_server.beam
index 7b9075b3ae..37e598a10f 100644
--- a/bootstrap/lib/kernel/ebin/file_server.beam
+++ b/bootstrap/lib/kernel/ebin/file_server.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/global.beam b/bootstrap/lib/kernel/ebin/global.beam
index 6f576b3cb2..4dc43450f0 100644
--- a/bootstrap/lib/kernel/ebin/global.beam
+++ b/bootstrap/lib/kernel/ebin/global.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/heart.beam b/bootstrap/lib/kernel/ebin/heart.beam
index 5d5017225d..e2aa55f9b0 100644
--- a/bootstrap/lib/kernel/ebin/heart.beam
+++ b/bootstrap/lib/kernel/ebin/heart.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/inet6_tcp_dist.beam b/bootstrap/lib/kernel/ebin/inet6_tcp_dist.beam
index c83a3246eb..1f9ace4ad5 100644
--- a/bootstrap/lib/kernel/ebin/inet6_tcp_dist.beam
+++ b/bootstrap/lib/kernel/ebin/inet6_tcp_dist.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/inet_db.beam b/bootstrap/lib/kernel/ebin/inet_db.beam
index ee4a8633d6..7009d9b9c1 100644
--- a/bootstrap/lib/kernel/ebin/inet_db.beam
+++ b/bootstrap/lib/kernel/ebin/inet_db.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/inet_gethost_native.beam b/bootstrap/lib/kernel/ebin/inet_gethost_native.beam
index 1f9241a378..e712d25405 100644
--- a/bootstrap/lib/kernel/ebin/inet_gethost_native.beam
+++ b/bootstrap/lib/kernel/ebin/inet_gethost_native.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/kernel.app b/bootstrap/lib/kernel/ebin/kernel.app
index 83a01d75cb..93b0c3d78e 100644
--- a/bootstrap/lib/kernel/ebin/kernel.app
+++ b/bootstrap/lib/kernel/ebin/kernel.app
@@ -21,7 +21,7 @@
{application, kernel,
[
{description, "ERTS CXC 138 10"},
- {vsn, "2.13.5"},
+ {vsn, "2.14"},
{modules, [application,
application_controller,
application_master,
diff --git a/bootstrap/lib/kernel/ebin/kernel.appup b/bootstrap/lib/kernel/ebin/kernel.appup
index c5c34877ef..013c65b3e2 100644
--- a/bootstrap/lib/kernel/ebin/kernel.appup
+++ b/bootstrap/lib/kernel/ebin/kernel.appup
@@ -1 +1 @@
-{"2.13.5",[],[]}.
+{"2.14",[],[]}.
diff --git a/bootstrap/lib/kernel/ebin/kernel_config.beam b/bootstrap/lib/kernel/ebin/kernel_config.beam
index b291058d1a..73431675bf 100644
--- a/bootstrap/lib/kernel/ebin/kernel_config.beam
+++ b/bootstrap/lib/kernel/ebin/kernel_config.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/os.beam b/bootstrap/lib/kernel/ebin/os.beam
index aed29ac5ab..4a4051d0c1 100644
--- a/bootstrap/lib/kernel/ebin/os.beam
+++ b/bootstrap/lib/kernel/ebin/os.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/pg2.beam b/bootstrap/lib/kernel/ebin/pg2.beam
index 38870b0f43..51912f2263 100644
--- a/bootstrap/lib/kernel/ebin/pg2.beam
+++ b/bootstrap/lib/kernel/ebin/pg2.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/rpc.beam b/bootstrap/lib/kernel/ebin/rpc.beam
index 879f938be0..1763808337 100644
--- a/bootstrap/lib/kernel/ebin/rpc.beam
+++ b/bootstrap/lib/kernel/ebin/rpc.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/standard_error.beam b/bootstrap/lib/kernel/ebin/standard_error.beam
index 32554b1b73..95edb1860a 100644
--- a/bootstrap/lib/kernel/ebin/standard_error.beam
+++ b/bootstrap/lib/kernel/ebin/standard_error.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/ebin/user.beam b/bootstrap/lib/kernel/ebin/user.beam
index 07a86f04c2..0f2fe211ab 100644
--- a/bootstrap/lib/kernel/ebin/user.beam
+++ b/bootstrap/lib/kernel/ebin/user.beam
Binary files differ
diff --git a/bootstrap/lib/kernel/include/file.hrl b/bootstrap/lib/kernel/include/file.hrl
index 2273b0c5a6..b46400ca26 100644
--- a/bootstrap/lib/kernel/include/file.hrl
+++ b/bootstrap/lib/kernel/include/file.hrl
@@ -21,29 +21,18 @@
-define(FILE_HRL_, 1).
%%--------------------------------------------------------------------------
-%%-type namelist() :: [char() | atom() | namelist()].
--type namelist() :: [_]. %% XXX: GROSS OVERAPPROXIMATION -- FIX ME
--type name() :: string() | atom() | namelist().
--type posix() :: atom().
-
--type date() :: {pos_integer(), pos_integer(), pos_integer()}.
--type time() :: {non_neg_integer(), non_neg_integer(), non_neg_integer()}.
--type date_time() :: {date(), time()}.
-
-%%--------------------------------------------------------------------------
-
-record(file_info,
{size :: non_neg_integer(), % Size of file in bytes.
type :: 'device' | 'directory' | 'other' | 'regular' | 'symlink',
access :: 'read' | 'write' | 'read_write' | 'none',
- atime :: date_time(), % The local time the file was last read:
- % {{Year, Mon, Day}, {Hour, Min, Sec}}.
- mtime :: date_time(), % The local time the file was last written.
- ctime :: date_time(), % The interpretation of this time field
- % is dependent on operating system.
- % On Unix it is the last time the file or
- % or the inode was changed. On Windows,
- % it is the creation time.
+ atime :: file:date_time(), % The local time the file was last read:
+ % {{Year, Mon, Day}, {Hour, Min, Sec}}.
+ mtime :: file:date_time(), % The local time the file was last written.
+ ctime :: file:date_time(), % The interpretation of this time field
+ % is dependent on operating system.
+ % On Unix it is the last time the file
+ % or the inode was changed. On Windows,
+ % it is the creation time.
mode :: integer(), % File permissions. On Windows,
% the owner permissions will be
% duplicated for group and user.
@@ -61,10 +50,8 @@
-record(file_descriptor,
- {module :: module(), % Module that handles this kind of file
+ {module :: module(), % Module that handles this kind of file
data :: term()}). % Module dependent data
--type fd() :: pid() | #file_descriptor{}.
-
%%--------------------------------------------------------------------------
-endif.
diff --git a/bootstrap/lib/orber/include/ifr_types.hrl b/bootstrap/lib/orber/include/ifr_types.hrl
index 035142d802..798f1c30a1 100644
--- a/bootstrap/lib/orber/include/ifr_types.hrl
+++ b/bootstrap/lib/orber/include/ifr_types.hrl
@@ -54,7 +54,7 @@
id = Obj#Object_type.id,
defined_in = Obj#Object_type.defined_in,
version = Obj#Object_type.version,
- type = Obj#Object_type.type}.
+ type = Obj#Object_type.type}).
-record(exceptiondescription, {name, id, defined_in, version, type}).
diff --git a/bootstrap/lib/stdlib/ebin/c.beam b/bootstrap/lib/stdlib/ebin/c.beam
index e5fe08f44f..ea36930179 100644
--- a/bootstrap/lib/stdlib/ebin/c.beam
+++ b/bootstrap/lib/stdlib/ebin/c.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/epp.beam b/bootstrap/lib/stdlib/ebin/epp.beam
index 66a84e41df..71e0d21db1 100644
--- a/bootstrap/lib/stdlib/ebin/epp.beam
+++ b/bootstrap/lib/stdlib/ebin/epp.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/erl_expand_records.beam b/bootstrap/lib/stdlib/ebin/erl_expand_records.beam
index 00eabdb116..2a2ec9b4e1 100644
--- a/bootstrap/lib/stdlib/ebin/erl_expand_records.beam
+++ b/bootstrap/lib/stdlib/ebin/erl_expand_records.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/erl_lint.beam b/bootstrap/lib/stdlib/ebin/erl_lint.beam
index 79ed469508..21ec2e638f 100644
--- a/bootstrap/lib/stdlib/ebin/erl_lint.beam
+++ b/bootstrap/lib/stdlib/ebin/erl_lint.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/erl_parse.beam b/bootstrap/lib/stdlib/ebin/erl_parse.beam
index 2c0ce68987..1a61eb31ac 100644
--- a/bootstrap/lib/stdlib/ebin/erl_parse.beam
+++ b/bootstrap/lib/stdlib/ebin/erl_parse.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/erl_pp.beam b/bootstrap/lib/stdlib/ebin/erl_pp.beam
index 0d15bb2300..161db6cef0 100644
--- a/bootstrap/lib/stdlib/ebin/erl_pp.beam
+++ b/bootstrap/lib/stdlib/ebin/erl_pp.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/erl_scan.beam b/bootstrap/lib/stdlib/ebin/erl_scan.beam
index 73f9a4ac97..0b04a411b5 100644
--- a/bootstrap/lib/stdlib/ebin/erl_scan.beam
+++ b/bootstrap/lib/stdlib/ebin/erl_scan.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/escript.beam b/bootstrap/lib/stdlib/ebin/escript.beam
index b27a37b50d..3c4b3f4eb6 100644
--- a/bootstrap/lib/stdlib/ebin/escript.beam
+++ b/bootstrap/lib/stdlib/ebin/escript.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/ets.beam b/bootstrap/lib/stdlib/ebin/ets.beam
index 17ea23e03b..70916dd1ae 100644
--- a/bootstrap/lib/stdlib/ebin/ets.beam
+++ b/bootstrap/lib/stdlib/ebin/ets.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/gen.beam b/bootstrap/lib/stdlib/ebin/gen.beam
index bf09b84de6..4b047eb838 100644
--- a/bootstrap/lib/stdlib/ebin/gen.beam
+++ b/bootstrap/lib/stdlib/ebin/gen.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/gen_event.beam b/bootstrap/lib/stdlib/ebin/gen_event.beam
index 662d4af25c..69a18e0c6e 100644
--- a/bootstrap/lib/stdlib/ebin/gen_event.beam
+++ b/bootstrap/lib/stdlib/ebin/gen_event.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/gen_fsm.beam b/bootstrap/lib/stdlib/ebin/gen_fsm.beam
index d5d027ce1e..4d7528be15 100644
--- a/bootstrap/lib/stdlib/ebin/gen_fsm.beam
+++ b/bootstrap/lib/stdlib/ebin/gen_fsm.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/gen_server.beam b/bootstrap/lib/stdlib/ebin/gen_server.beam
index 5c2c569016..8d76d138f1 100644
--- a/bootstrap/lib/stdlib/ebin/gen_server.beam
+++ b/bootstrap/lib/stdlib/ebin/gen_server.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/lists.beam b/bootstrap/lib/stdlib/ebin/lists.beam
index ef6dcfb6ea..c4ad32a7ec 100644
--- a/bootstrap/lib/stdlib/ebin/lists.beam
+++ b/bootstrap/lib/stdlib/ebin/lists.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/otp_internal.beam b/bootstrap/lib/stdlib/ebin/otp_internal.beam
index 974377cdd4..e2550578e7 100644
--- a/bootstrap/lib/stdlib/ebin/otp_internal.beam
+++ b/bootstrap/lib/stdlib/ebin/otp_internal.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/sofs.beam b/bootstrap/lib/stdlib/ebin/sofs.beam
index a67389fdf4..d8e984f217 100644
--- a/bootstrap/lib/stdlib/ebin/sofs.beam
+++ b/bootstrap/lib/stdlib/ebin/sofs.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/ebin/stdlib.app b/bootstrap/lib/stdlib/ebin/stdlib.app
index 8a6e9cf514..b7cb765910 100644
--- a/bootstrap/lib/stdlib/ebin/stdlib.app
+++ b/bootstrap/lib/stdlib/ebin/stdlib.app
@@ -19,7 +19,7 @@
%%
{application, stdlib,
[{description, "ERTS CXC 138 10"},
- {vsn, "1.16.5"},
+ {vsn, "1.17"},
{modules, [array,
base64,
beam_lib,
diff --git a/bootstrap/lib/stdlib/ebin/stdlib.appup b/bootstrap/lib/stdlib/ebin/stdlib.appup
index a52ce1a4f0..097f2b47ed 100644
--- a/bootstrap/lib/stdlib/ebin/stdlib.appup
+++ b/bootstrap/lib/stdlib/ebin/stdlib.appup
@@ -1 +1 @@
-{"1.16.5",[],[]}.
+{"1.17",[],[]}.
diff --git a/bootstrap/lib/stdlib/ebin/zip.beam b/bootstrap/lib/stdlib/ebin/zip.beam
index 63a03efaf0..f0df604d79 100644
--- a/bootstrap/lib/stdlib/ebin/zip.beam
+++ b/bootstrap/lib/stdlib/ebin/zip.beam
Binary files differ
diff --git a/bootstrap/lib/stdlib/egen/erl_parse.erl b/bootstrap/lib/stdlib/egen/erl_parse.erl
index d3e63c1aec..2f985589c9 100644
--- a/bootstrap/lib/stdlib/egen/erl_parse.erl
+++ b/bootstrap/lib/stdlib/egen/erl_parse.erl
@@ -1,6 +1,6 @@
-module(erl_parse).
-export([parse/1, parse_and_scan/1, format_error/1]).
--file("erl_parse.yrl", 501).
+-file("erl_parse.yrl", 491).
-export([parse_form/1,parse_exprs/1,parse_term/1]).
-export([normalise/1,abstract/1,tokens/1,tokens/2]).
@@ -16,8 +16,8 @@
%% mkop(Op, Arg) -> {op,Line,Op,Arg}.
%% mkop(Left, Op, Right) -> {op,Line,Op,Left,Right}.
--define(mkop2(L, OpPos, R),
- begin
+-define(mkop2(L, OpPos, R),
+ begin
{Op,Pos} = OpPos,
{op,Pos,Op,L,R}
end).
@@ -35,6 +35,8 @@
%% These really suck and are only here until Calle gets multiple
%% entry points working.
+parse_form([{'-',L1},{atom,L2,spec}|Tokens]) ->
+ parse([{'-',L1},{'spec',L2}|Tokens]);
parse_form(Tokens) ->
parse(Tokens).
@@ -61,7 +63,7 @@ parse_term(Tokens) ->
-type attributes() :: 'export' | 'file' | 'import' | 'module'
| 'opaque' | 'record' | 'type'.
-build_typed_attribute({atom,La,record},
+build_typed_attribute({atom,La,record},
{typed_record, {atom,_Ln,RecordName}, RecTuple}) ->
{attribute,La,record,{RecordName,record_tuple(RecTuple)}};
build_typed_attribute({atom,La,Attr},
@@ -84,7 +86,7 @@ build_typed_attribute({atom,La,Attr},_) ->
build_type_spec({spec,La}, {SpecFun, TypeSpecs}) ->
NewSpecFun =
case SpecFun of
- {atom, _, Fun} ->
+ {atom, _, Fun} ->
{Fun, find_arity_from_specs(TypeSpecs)};
{{atom,_, Mod}, {atom,_, Fun}} ->
{Mod,Fun,find_arity_from_specs(TypeSpecs)};
@@ -218,7 +220,7 @@ attribute_farity(Other) -> Other.
attribute_farity_list(Args) ->
[attribute_farity(A) || A <- Args].
-
+
-spec error_bad_decl(integer(), attributes()) -> no_return().
error_bad_decl(L, S) ->
@@ -241,17 +243,33 @@ record_fields([{match,_Lm,{atom,La,A},Expr}|Fields]) ->
[{record_field,La,{atom,La,A},Expr}|record_fields(Fields)];
record_fields([{typed,Expr,TypeInfo}|Fields]) ->
[Field] = record_fields([Expr]),
- TypeInfo1 =
+ TypeInfo1 =
case Expr of
{match, _, _, _} -> TypeInfo; %% If we have an initializer.
- {atom, La, _} ->
- lift_unions(abstract(undefined, La), TypeInfo)
- end,
+ {atom, La, _} ->
+ case has_undefined(TypeInfo) of
+ false ->
+ lift_unions(abstract(undefined, La), TypeInfo);
+ true ->
+ TypeInfo
+ end
+ end,
[{typed_record_field,Field,TypeInfo1}|record_fields(Fields)];
record_fields([Other|_Fields]) ->
ret_err(?line(Other), "bad record field");
record_fields([]) -> [].
+has_undefined({atom,_,undefined}) ->
+ true;
+has_undefined({ann_type,_,[_,T]}) ->
+ has_undefined(T);
+has_undefined({paren_type,_,[T]}) ->
+ has_undefined(T);
+has_undefined({type,_,union,Ts}) ->
+ lists:any(fun has_undefined/1, Ts);
+has_undefined(_) ->
+ false.
+
term(Expr) ->
try normalise(Expr)
catch _:_R -> ret_err(?line(Expr), "bad attribute")
@@ -491,7 +509,7 @@ inop_prec('#') -> {800,700,800};
inop_prec(':') -> {900,800,900};
inop_prec('.') -> {900,900,1000}.
--type pre_op() :: 'catch' | '+' | '-' | 'bnot' | '#'.
+-type pre_op() :: 'catch' | '+' | '-' | 'bnot' | 'not' | '#'.
-spec preop_prec(pre_op()) -> {0 | 600 | 700, 100 | 700 | 800}.
@@ -529,7 +547,7 @@ get_attribute(L, Name) ->
get_attributes(L) ->
erl_scan:attributes_info(L).
--file("/usr/local/otp/releases/sles10_32_R13B03_patched/lib/parsetools-2.0.1/include/yeccpre.hrl", 0).
+-file("/usr/local/lib/erlang/lib/parsetools-2.0.2/include/yeccpre.hrl", 0).
%%
%% %CopyrightBegin%
%%
@@ -552,33 +570,32 @@ get_attributes(L) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% The parser generator will insert appropriate declarations before this line.%
--type(yecc_ret() :: {'error', _} | {'ok', _}).
+-type yecc_ret() :: {'error', _} | {'ok', _}.
-spec parse(Tokens :: list()) -> yecc_ret().
parse(Tokens) ->
yeccpars0(Tokens, {no_func, no_line}, 0, [], []).
--spec(parse_and_scan/1 ::
- ({function() | {atom(), atom()}, [_]} | {atom(), atom(), [_]}) ->
- yecc_ret()).
+-spec parse_and_scan({function() | {atom(), atom()}, [_]} | {atom(), atom(), [_]}) ->
+ yecc_ret().
parse_and_scan({F, A}) -> % Fun or {M, F}
yeccpars0([], {{F, A}, no_line}, 0, [], []);
parse_and_scan({M, F, A}) ->
yeccpars0([], {{{M, F}, A}, no_line}, 0, [], []).
--spec(format_error/1 :: (any()) -> [char() | list()]).
+-spec format_error(any()) -> [char() | list()].
format_error(Message) ->
case io_lib:deep_char_list(Message) of
- true ->
- Message;
- _ ->
- io_lib:write(Message)
+ true ->
+ Message;
+ _ ->
+ io_lib:write(Message)
end.
-% To be used in grammar files to throw an error message to the parser
-% toplevel. Doesn't have to be exported!
--compile({nowarn_unused_function, return_error/2}).
--spec(return_error/2 :: (integer(), any()) -> no_return()).
+%% To be used in grammar files to throw an error message to the parser
+%% toplevel. Doesn't have to be exported!
+-compile({nowarn_unused_function,{return_error,2}}).
+-spec return_error(integer(), any()) -> no_return().
return_error(Line, Message) ->
throw({error, {Line, ?MODULE, Message}}).
@@ -617,7 +634,7 @@ yeccpars1([Token | Tokens], Tzr, State, States, Vstack) ->
yeccpars1([], {{F, A},_Line}, State, States, Vstack) ->
case apply(F, A) of
{ok, Tokens, Endline} ->
- yeccpars1(Tokens, {{F, A}, Endline}, State, States, Vstack);
+ yeccpars1(Tokens, {{F, A}, Endline}, State, States, Vstack);
{eof, Endline} ->
yeccpars1([], {no_func, Endline}, State, States, Vstack);
{error, Descriptor, _Endline} ->
@@ -650,7 +667,7 @@ yeccpars1(State1, State, States, Vstack, Token0, [], {no_func, Line}) ->
yeccpars2(State, '$end', [State1 | States], [Token0 | Vstack],
yecc_end(Line), [], {no_func, Line}).
-% For internal use only.
+%% For internal use only.
yecc_end({Line,_Column}) ->
{'$end', Line};
yecc_end(Line) ->
@@ -711,7 +728,7 @@ yecctoken2string(Other) ->
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 714).
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 731).
yeccpars2(0=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_0(S, Cat, Ss, Stack, T, Ts, Tzr);
@@ -731,36 +748,36 @@ yeccpars2(0=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_7(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(8=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_8(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(9=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_9(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(9=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_9(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(10=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(11=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_11(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(12=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_12(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(11=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_11(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(12=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_12(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(13=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_13(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(14=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_14(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(14=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_14(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(15=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_15(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(16=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_16(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(17=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_17(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(18=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(18=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(19=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_16(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_19(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(20=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_20(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(21=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_21(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(22=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_22(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(23=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_23(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(23=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_23(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(24=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_24(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(25=S, Cat, Ss, Stack, T, Ts, Tzr) ->
@@ -775,44 +792,44 @@ yeccpars2(23=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_29(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(30=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_30(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(31=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(32=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(33=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_33(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(34=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_34(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(35=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_35(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(36=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_36(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(37=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_37(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(38=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_38(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(39=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_39(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(40=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_40(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(31=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_31(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(32=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(33=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_33(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(34=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_34(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(35=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_35(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(36=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_36(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(37=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_37(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(38=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_38(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(39=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_39(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(40=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_40(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(41=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_41(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(42=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_42(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(43=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_43(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(42=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_42(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(43=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_43(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(44=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_44(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(45=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(45=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(46=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_46(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(47=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_47(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(48=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_48(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(49=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_49(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(48=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_48(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(49=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_49(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(50=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_50(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(51=S, Cat, Ss, Stack, T, Ts, Tzr) ->
@@ -820,21 +837,21 @@ yeccpars2(51=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2(52=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_52(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(53=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_53(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(54=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_54(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(55=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_55(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(56=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(57=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_57(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(57=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_57(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(58=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_58(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(59=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_59(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(59=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_59(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(60=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_60(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(61=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_61(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(62=S, Cat, Ss, Stack, T, Ts, Tzr) ->
@@ -846,6946 +863,6726 @@ yeccpars2(64=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2(65=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_65(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(66=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_66(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(67=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_67(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(68=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_68(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(69=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_69(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(67=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_67(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(68=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_68(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(69=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_69(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(70=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_70(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(71=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_71(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(72=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_72(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(73=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_73(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(72=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_72(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(73=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_73(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(74=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_74(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(75=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_75(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(76=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_76(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(77=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_77(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(77=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_77(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(78=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_78(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(79=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_79(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(79=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_79(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(80=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_80(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(81=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_81(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(82=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_82(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(83=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_83(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(81=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_81(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(82=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_82(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(83=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_83(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(84=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(85=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_85(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(86=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_86(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(87=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_87(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(88=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_88(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(89=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_89(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(90=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_90(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(89=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_89(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(90=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(91=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_91(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(92=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_92(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(93=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_93(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(94=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(95=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_95(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(93=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_93(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(94=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_94(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(95=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_95(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(96=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(97=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_97(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(98=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_98(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(99=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_99(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(100=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(101=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_101(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(102=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_102(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_96(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(97=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(98=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_98(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(99=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_83(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(100=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_100(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(101=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(102=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_102(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(103=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_103(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(104=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_104(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(105=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_105(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_83(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(104=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_104(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(105=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_83(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(106=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_106(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(107=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_107(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(108=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_108(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_75(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(108=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_108(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(109=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_109(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(110=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_110(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(111=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_111(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(112=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_112(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(113=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_113(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(114=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_114(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(115=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(115=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_115(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(116=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_116(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(117=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_44(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(118=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_118(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(119=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(120=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_120(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(121=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_121(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(122=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_122(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(123=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_83(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(119=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_119(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(120=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_120(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(121=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(122=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_122(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(123=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_83(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(124=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_124(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(125=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_125(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(126=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(127=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_127(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(128=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_16(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(129=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_129(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(130=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_130(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(131=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_131(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(132=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(126=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_126(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(127=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(128=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_128(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(129=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(130=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_130(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(131=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_131(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(132=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_132(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(133=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_133(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(134=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_134(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(135=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_135(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(135=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_135(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(136=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_136(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(137=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_137(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(137=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_137(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(138=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_138(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(139=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_139(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(140=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_140(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(141=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_141(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(140=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_140(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(141=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_141(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(142=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_142(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(143=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_143(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(144=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_144(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_83(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(145=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_145(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(146=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_146(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(146=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(147=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_147(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(148=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_148(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(148=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_148(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(149=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_149(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(150=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_150(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(151=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_151(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(152=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_152(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(153=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_153(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(154=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_154(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(155=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_155(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(156=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_156(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(157=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_157(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(158=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_158(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(152=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_152(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(153=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_153(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(154=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_154(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(155=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_155(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(156=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_156(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(157=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_157(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(158=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_158(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(159=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_159(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_83(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(160=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_160(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(161=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_161(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(161=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(162=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_162(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(163=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_163(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(163=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_163(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(164=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_164(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(165=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_165(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(166=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_166(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(166=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(167=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_167(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(168=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_168(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(168=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_168(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(169=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_169(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(170=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_170(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(170=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_170(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(171=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_171(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(172=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(173=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_172(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(173=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(174=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_174(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(175=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_175(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(176=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(177=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_177(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(177=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_177(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(178=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_178(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(179=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(180=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_180(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(181=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(182=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(183=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_183(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(184=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_184(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(185=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_185(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(186=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(179=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_179(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(180=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_180(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(181=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_181(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(182=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_182(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(183=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_183(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(184=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_184(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(185=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_185(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(186=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_186(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(187=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_187(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(188=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_188(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(189=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_189(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(189=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_189(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(190=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_190(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(191=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_191(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(192=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(192=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_192(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(193=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_193(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(194=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_194(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(195=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_195(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(194=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_194(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(195=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_181(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(196=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_196(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(197=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(198=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_198(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(199=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_199(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(200=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_200(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(201=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(202=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_202(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(197=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_197(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(198=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_198(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(199=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_199(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(200=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_200(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(201=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_201(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(202=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_202(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(203=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_203(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(204=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_204(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(205=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_205(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(206=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(207=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_207(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(204=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_204(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(205=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_199(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(206=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_206(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(207=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_207(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(208=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_208(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(209=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_209(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(210=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_210(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(211=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_211(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(212=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(213=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_213(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(214=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_214(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(210=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_210(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(211=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_211(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(212=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_212(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(213=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_213(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(214=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_214(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(215=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_215(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(216=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(217=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_217(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(218=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_218(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(216=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_216(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(217=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_217(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(218=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_218(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(219=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(220=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_220(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_219(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(220=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(221=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_221(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(222=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(223=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_223(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(224=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_224(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(224=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_224(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(225=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_225(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(226=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_226(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(227=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_227(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(226=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_226(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(227=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_227(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(228=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_228(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(229=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(230=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_230(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(231=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_215(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(229=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_229(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(230=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_230(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(231=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_230(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(232=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_232(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(233=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(234=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_234(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(233=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_233(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(234=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_230(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(235=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_215(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(236=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_236(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_235(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(236=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_230(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(237=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_215(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_237(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(238=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_238(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_230(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(239=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_207(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(240=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_240(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_239(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(240=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_240(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(241=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_241(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(242=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_242(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(243=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_243(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(243=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_243(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(244=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_244(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(245=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_245(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(245=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_245(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(246=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_246(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(247=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_247(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(248=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_248(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(249=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(250=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_215(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(251=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_251(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_230(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(249=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_230(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(250=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_250(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(251=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_251(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(252=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_252(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(253=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_253(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(254=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_254(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(255=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_215(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(256=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_256(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(255=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_255(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(256=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_256(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(257=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_257(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(258=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_258(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(258=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_258(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(259=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_259(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(260=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_260(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(261=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(262=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_262(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(263=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_263(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(264=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_264(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(265=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_265(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(261=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_230(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(262=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_262(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(263=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_263(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(264=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_264(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(265=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_265(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(266=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(267=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_267(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(268=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_266(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(267=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_267(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(268=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_268(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(269=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_269(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(270=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(271=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_271(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(270=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_270(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(271=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_271(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(272=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_272(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(273=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_273(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(274=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_274(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(275=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_275(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(276=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_215(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_181(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(273=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_273(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(274=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_274(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(275=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_275(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(276=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_276(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(277=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_277(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(278=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(279=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_279(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_278(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(279=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_279(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(280=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_280(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(281=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_281(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(282=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_282(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(283=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_283(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(282=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_282(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(283=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_283(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(284=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_284(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(285=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_285(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(286=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_286(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(287=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_287(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(288=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_288(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(286=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_286(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(287=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_287(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(288=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_288(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(289=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_215(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(290=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_290(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(291=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_291(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_289(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(290=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(291=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_291(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(292=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(293=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_293(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(294=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_294(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(295=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_295(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_292(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(293=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_293(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(294=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_294(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(295=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_295(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(296=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_296(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(297=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_9(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(298=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_298(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_297(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(298=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_298(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(299=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_299(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(300=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_300(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(301=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_301(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(300=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_300(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(301=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_301(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(302=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(303=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_303(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_302(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(303=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_303(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(304=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_304(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(305=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_305(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(306=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_306(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(305=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_305(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(306=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_295(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(307=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_307(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(308=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_308(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(308=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_308(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(309=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_309(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(310=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(311=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_311(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(312=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_310(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(311=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_311(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(312=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_312(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(313=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_313(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(314=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_314(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(314=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_314(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(315=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_315(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(316=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_316(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(317=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_317(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(318=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(319=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_319(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(320=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_320(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(321=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_321(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(322=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_322(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(317=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_317(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(318=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(319=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_319(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(320=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_320(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(321=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_321(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(322=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_322(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(323=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_323(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(324=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_324(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(325=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_325(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(325=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_325(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(326=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_326(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(327=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_327(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(328=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_328(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(329=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_329(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(330=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_330(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(330=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_330(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(331=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_317(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_331(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(332=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_332(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(333=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_333(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(334=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_334(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(335=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(333=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_333(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(334=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_334(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(335=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_335(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(336=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_336(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(337=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_337(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(338=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_338(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(337=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_337(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(338=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_338(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(339=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_339(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(340=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_340(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(341=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(342=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_342(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(343=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_343(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_341(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(342=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_342(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(343=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(344=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_344(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(345=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_345(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(346=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_346(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(345=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_345(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(346=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_346(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(347=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_347(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(348=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(349=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_349(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_348(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(349=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_349(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(350=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_350(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(351=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_351(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(351=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_351(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(352=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_194(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_352(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(353=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_353(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(354=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_354(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(355=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_355(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(356=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(354=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_354(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(355=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_355(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(356=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_356(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(357=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(358=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_358(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(359=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_359(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_357(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(358=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_358(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(359=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_359(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(360=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(361=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_361(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(362=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_362(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_360(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(361=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_361(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(362=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_362(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(363=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_363(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(364=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_364(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(365=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_365(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(366=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_366(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(367=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_367(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(364=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_364(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(365=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_365(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(366=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_366(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(367=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_367(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(368=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_368(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(369=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_369(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(370=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_370(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(371=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_371(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(372=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_372(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(370=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_370(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(371=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_371(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(372=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_372(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(373=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_373(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(374=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_374(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(375=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(376=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_376(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(375=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_375(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(376=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_376(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(377=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(378=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_378(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_377(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(378=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_378(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(379=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_379(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(380=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_380(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(380=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_380(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(381=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_381(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(382=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_382(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(383=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_347(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(384=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_384(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(383=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_383(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(384=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_384(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(385=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_385(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(386=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_385(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_386(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(387=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_387(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(388=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_388(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(389=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_385(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(390=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_390(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_389(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(390=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_390(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(391=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_385(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(392=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_392(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(393=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_385(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(394=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_394(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(393=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_393(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(394=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_394(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(395=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_395(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(396=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_396(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(397=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_397(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(398=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_398(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(398=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_398(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(399=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_399(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(400=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_400(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(400=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_400(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(401=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_401(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(402=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_402(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(402=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(403=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_385(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(404=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_385(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(405=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_405(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_403(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(404=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_331(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(405=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_405(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(406=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_406(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(407=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_407(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(408=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_408(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(407=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_407(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(408=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_408(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(409=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_409(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(410=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_410(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(411=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_411(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(411=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_411(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(412=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_412(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(413=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_413(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(414=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_414(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(415=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_415(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_406(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(414=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_414(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(415=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_295(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(416=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_385(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_416(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(417=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_417(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(418=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_418(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(419=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_419(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(420=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_420(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(421=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_421(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(418=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_418(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(419=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_419(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(420=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_420(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(421=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_421(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(422=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_422(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(423=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_423(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(424=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_424(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(425=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_425(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(425=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_425(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(426=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(427=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_317(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(427=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_427(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(428=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_428(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(429=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_429(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(430=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_68(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(431=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_431(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(432=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_432(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(433=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(434=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_434(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(435=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_435(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(433=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_433(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(434=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(435=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(436=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_436(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(437=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_437(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(438=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_438(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(438=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(439=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_439(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(440=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_440(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(441=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(442=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_442(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_441(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(442=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_442(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(443=S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_443(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(444=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_444(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(445=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(446=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_446(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(447=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_9(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(448=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_448(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_425(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(445=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_445(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(446=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_446(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(447=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_447(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(448=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_448(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(449=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_215(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_449(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(450=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_450(S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccpars2(451=S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(451=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_451(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(452=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_452(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(453=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_9(S, Cat, Ss, Stack, T, Ts, Tzr);
-%% yeccpars2(454=S, Cat, Ss, Stack, T, Ts, Tzr) ->
-%% yeccpars2_454(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2_83(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(453=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_453(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(454=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_454(S, Cat, Ss, Stack, T, Ts, Tzr);
%% yeccpars2(455=S, Cat, Ss, Stack, T, Ts, Tzr) ->
%% yeccpars2_455(S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccpars2(456=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(457=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_457(S, Cat, Ss, Stack, T, Ts, Tzr);
+%% yeccpars2(458=S, Cat, Ss, Stack, T, Ts, Tzr) ->
+%% yeccpars2_458(S, Cat, Ss, Stack, T, Ts, Tzr);
yeccpars2(Other, _, _, _, _, _, _) ->
erlang:error({yecc_bug,"1.3",{missing_state_in_action_table, Other}}).
yeccpars2_0(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr);
-yeccpars2_0(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 9, Ss, Stack, T, Ts, Tzr);
+yeccpars2_0(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr).
yeccpars2_1(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
NewStack = yeccpars2_1_(Stack),
yeccgoto_rule(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
yeccpars2_2(S, ';', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 451, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 454, Ss, Stack, T, Ts, Tzr);
yeccpars2_2(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
NewStack = yeccpars2_2_(Stack),
yeccgoto_rule_clauses(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
yeccpars2_3(S, dot, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 450, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 453, Ss, Stack, T, Ts, Tzr).
yeccpars2_4(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
NewStack = yeccpars2_4_(Stack),
yeccgoto_function(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
yeccpars2_5(S, ';', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 445, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 448, Ss, Stack, T, Ts, Tzr);
yeccpars2_5(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
NewStack = yeccpars2_5_(Stack),
yeccgoto_function_clauses(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
yeccpars2_6(S, dot, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 444, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 447, Ss, Stack, T, Ts, Tzr).
yeccpars2_7(_S, '$end', _Ss, Stack, _T, _Ts, _Tzr) ->
{ok, hd(Stack)}.
yeccpars2_8(S, dot, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 443, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 446, Ss, Stack, T, Ts, Tzr).
-yeccpars2_9(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 285, Ss, Stack, T, Ts, Tzr).
+yeccpars2_9(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 292, Ss, Stack, T, Ts, Tzr);
+yeccpars2_9(S, spec, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 293, Ss, Stack, T, Ts, Tzr).
-yeccpars2_10(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 13, Ss, Stack, T, Ts, Tzr);
-yeccpars2_10(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr).
+yeccpars2_10(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 13, Ss, Stack, T, Ts, Tzr).
+yeccpars2_11(S, 'when', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 84, Ss, Stack, T, Ts, Tzr);
yeccpars2_11(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_atom1(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_11_(Stack),
+ yeccpars2_287(287, Cat, [11 | Ss], NewStack, T, Ts, Tzr).
yeccpars2_12(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
NewStack = yeccpars2_12_(Stack),
- yeccgoto_atom1(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_clause_args(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
yeccpars2_13(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 173, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_13(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 46, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 49, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 182, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 56, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_13(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
yeccpars2_13(S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_cont_13(S, '<<', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 177, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 50, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, '[', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 178, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 51, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, 'begin', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 179, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 53, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, 'case', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 181, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 55, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, char, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 183, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 57, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, float, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 184, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 58, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, 'fun', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 185, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 59, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, 'if', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 186, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 60, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 187, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 61, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, 'query', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 189, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 63, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, 'receive', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 190, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 64, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, string, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 191, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 65, Ss, Stack, T, Ts, Tzr);
yeccpars2_cont_13(S, 'try', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 192, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 66, Ss, Stack, T, Ts, Tzr).
-yeccpars2_14(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 18, Ss, Stack, T, Ts, Tzr);
-yeccpars2_14(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_15_(Stack),
- yeccgoto_attribute(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_16(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 23, Ss, Stack, T, Ts, Tzr).
+yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_17(S, '/', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 131, Ss, Stack, T, Ts, Tzr);
-yeccpars2_17(S, ':', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 132, Ss, Stack, T, Ts, Tzr);
+yeccpars2_17(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 282, Ss, Stack, T, Ts, Tzr);
yeccpars2_17(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_spec_fun(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ yeccgoto_expr_700(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_18(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_18(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr).
+yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_19: see yeccpars2_16
+yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_20(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 130, Ss, Stack, T, Ts, Tzr).
+yeccpars2_20(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
+yeccpars2_20(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_20(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 49, Ss, Stack, T, Ts, Tzr);
+yeccpars2_20(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_20(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_20(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
+yeccpars2_20(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_21(S, ';', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 128, Ss, Stack, T, Ts, Tzr);
yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_21_(Stack),
- yeccgoto_type_sigs(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_22(S, 'when', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 119, Ss, Stack, T, Ts, Tzr);
yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_type_sig(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_23(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 33, Ss, Stack, T, Ts, Tzr);
-yeccpars2_23(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr);
-yeccpars2_23(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_23(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 38, Ss, Stack, T, Ts, Tzr);
-yeccpars2_23(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_23(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 39, Ss, Stack, T, Ts, Tzr);
-yeccpars2_23(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_23(S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_cont_23(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 31, Ss, Stack, T, Ts, Tzr);
-yeccpars2_cont_23(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 32, Ss, Stack, T, Ts, Tzr);
-yeccpars2_cont_23(S, '<<', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 35, Ss, Stack, T, Ts, Tzr);
-yeccpars2_cont_23(S, '[', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 36, Ss, Stack, T, Ts, Tzr);
-yeccpars2_cont_23(S, 'fun', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 37, Ss, Stack, T, Ts, Tzr);
-yeccpars2_cont_23(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 40, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_24(S, '|', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 117, Ss, Stack, T, Ts, Tzr);
yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_top_type_100(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ yeccgoto_expr_700(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_25(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 114, Ss, Stack, T, Ts, Tzr).
+yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_top_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_26(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 280, Ss, Stack, T, Ts, Tzr).
-yeccpars2_27(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 112, Ss, Stack, T, Ts, Tzr);
+yeccpars2_27(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 275, Ss, Stack, T, Ts, Tzr);
yeccpars2_27(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_27_(Stack),
- yeccgoto_top_types(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_expr_900(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_28(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 109, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 271, Ss, Stack, T, Ts, Tzr);
+yeccpars2_28(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 272, Ss, Stack, T, Ts, Tzr);
yeccpars2_28(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ yeccgoto_expr_800(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_29(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 13, Ss, Stack, T, Ts, Tzr);
yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ yeccgoto_expr_700(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_30(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 99, Ss, Stack, T, Ts, Tzr);
-yeccpars2_30(S, ':', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 100, Ss, Stack, T, Ts, Tzr);
yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ yeccgoto_expr_600(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_31: see yeccpars2_18
-
-yeccpars2_32(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr);
-yeccpars2_32(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_32(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 38, Ss, Stack, T, Ts, Tzr);
-yeccpars2_32(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_32(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 39, Ss, Stack, T, Ts, Tzr);
-yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_23(S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_33(S, '->', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 84, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_34(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 83, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_35(S, '>>', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 69, Ss, Stack, T, Ts, Tzr);
-yeccpars2_35(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 70, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_36(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr);
-yeccpars2_36(S, ']', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 60, Ss, Stack, T, Ts, Tzr);
-yeccpars2_36(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_36(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 38, Ss, Stack, T, Ts, Tzr);
-yeccpars2_36(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_36(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 39, Ss, Stack, T, Ts, Tzr);
-yeccpars2_36(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_23(S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_37(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr).
+yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_500(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_32(S, '*', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 262, Ss, Stack, T, Ts, Tzr);
+yeccpars2_32(S, '/', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 263, Ss, Stack, T, Ts, Tzr);
+yeccpars2_32(S, 'and', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 264, Ss, Stack, T, Ts, Tzr);
+yeccpars2_32(S, 'band', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 265, Ss, Stack, T, Ts, Tzr);
+yeccpars2_32(S, 'div', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 266, Ss, Stack, T, Ts, Tzr);
+yeccpars2_32(S, 'rem', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 267, Ss, Stack, T, Ts, Tzr);
+yeccpars2_32(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_400(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_33(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 250, Ss, Stack, T, Ts, Tzr);
+yeccpars2_33(S, '++', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 251, Ss, Stack, T, Ts, Tzr);
+yeccpars2_33(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 252, Ss, Stack, T, Ts, Tzr);
+yeccpars2_33(S, '--', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 253, Ss, Stack, T, Ts, Tzr);
+yeccpars2_33(S, 'bor', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 254, Ss, Stack, T, Ts, Tzr);
+yeccpars2_33(S, 'bsl', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 255, Ss, Stack, T, Ts, Tzr);
+yeccpars2_33(S, 'bsr', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 256, Ss, Stack, T, Ts, Tzr);
+yeccpars2_33(S, 'bxor', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 257, Ss, Stack, T, Ts, Tzr);
+yeccpars2_33(S, 'or', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 258, Ss, Stack, T, Ts, Tzr);
+yeccpars2_33(S, 'xor', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 259, Ss, Stack, T, Ts, Tzr);
+yeccpars2_33(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_300(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_34(S, '/=', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 239, Ss, Stack, T, Ts, Tzr);
+yeccpars2_34(S, '<', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 240, Ss, Stack, T, Ts, Tzr);
+yeccpars2_34(S, '=/=', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 241, Ss, Stack, T, Ts, Tzr);
+yeccpars2_34(S, '=:=', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 242, Ss, Stack, T, Ts, Tzr);
+yeccpars2_34(S, '=<', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 243, Ss, Stack, T, Ts, Tzr);
+yeccpars2_34(S, '==', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 244, Ss, Stack, T, Ts, Tzr);
+yeccpars2_34(S, '>', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 245, Ss, Stack, T, Ts, Tzr);
+yeccpars2_34(S, '>=', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 246, Ss, Stack, T, Ts, Tzr);
+yeccpars2_34(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_200(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_35(S, 'andalso', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 236, Ss, Stack, T, Ts, Tzr);
+yeccpars2_35(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_160(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_36(S, 'orelse', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 234, Ss, Stack, T, Ts, Tzr);
+yeccpars2_36(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_150(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_37(S, '!', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 230, Ss, Stack, T, Ts, Tzr);
+yeccpars2_37(S, '=', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 231, Ss, Stack, T, Ts, Tzr);
+yeccpars2_37(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_100(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_int_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ yeccgoto_expr(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_39(S, '::', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
+yeccpars2_39(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 228, Ss, Stack, T, Ts, Tzr);
yeccpars2_39(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_39_(Stack),
+ yeccgoto_exprs(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-yeccpars2_40(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr);
-yeccpars2_40(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_40(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 38, Ss, Stack, T, Ts, Tzr);
-yeccpars2_40(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_40(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 39, Ss, Stack, T, Ts, Tzr);
-yeccpars2_40(S, '}', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 42, Ss, Stack, T, Ts, Tzr);
-yeccpars2_40(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_23(S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_41(S, '}', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 43, Ss, Stack, T, Ts, Tzr).
+yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_42_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_43_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_44(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr);
yeccpars2_44(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_44(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 38, Ss, Stack, T, Ts, Tzr);
-yeccpars2_44(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_44(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 46, Ss, Stack, T, Ts, Tzr);
-yeccpars2_44(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_23(S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 211, Ss, Stack, T, Ts, Tzr).
-yeccpars2_45(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_45_(Stack),
- yeccgoto_top_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_45(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 49, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 56, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, 'not', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
+yeccpars2_45(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_46(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_46_(Stack),
+ yeccgoto_argument_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_47(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 50, Ss, Stack, T, Ts, Tzr);
-yeccpars2_47(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 51, Ss, Stack, T, Ts, Tzr).
+yeccpars2_47(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_prefix_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_48(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 58, Ss, Stack, T, Ts, Tzr).
+yeccpars2_48(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_prefix_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_49(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_fun_type_100(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_49(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 208, Ss, Stack, T, Ts, Tzr).
-yeccpars2_50(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 33, Ss, Stack, T, Ts, Tzr);
+yeccpars2_50(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_50(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
yeccpars2_50(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr);
-yeccpars2_50(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
+yeccpars2_50(S, '>>', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 187, Ss, Stack, T, Ts, Tzr);
yeccpars2_50(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_50(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 38, Ss, Stack, T, Ts, Tzr);
-yeccpars2_50(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_50(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
+yeccpars2_50(S, 'not', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
yeccpars2_50(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 39, Ss, Stack, T, Ts, Tzr);
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_50(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
yeccpars2_50(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_23(S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_51(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_51_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_51(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 49, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, ']', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 56, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, 'not', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
+yeccpars2_51(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_52(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 53, Ss, Stack, T, Ts, Tzr).
+yeccpars2_52(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_53(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_53: see yeccpars2_45
-yeccpars2_54(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 55, Ss, Stack, T, Ts, Tzr).
+yeccpars2_54(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_prefix_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_55(S, '->', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 56, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_55: see yeccpars2_45
-%% yeccpars2_56: see yeccpars2_32
+%% yeccpars2_56: see yeccpars2_45
yeccpars2_57(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_57_(Stack),
- yeccgoto_fun_type_100(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_58(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
- NewStack = yeccpars2_58_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_59(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 61, Ss, Stack, T, Ts, Tzr);
-yeccpars2_59(S, ']', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr).
+yeccpars2_59(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 13, Ss, Stack, T, Ts, Tzr);
+yeccpars2_59(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 152, Ss, Stack, T, Ts, Tzr).
-yeccpars2_60(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_60_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_60: see yeccpars2_45
-yeccpars2_61(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 63, Ss, Stack, T, Ts, Tzr).
+yeccpars2_61(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_62(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_62_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_prefix_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_63(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 64, Ss, Stack, T, Ts, Tzr).
+yeccpars2_63(S, '[', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 127, Ss, Stack, T, Ts, Tzr).
+yeccpars2_64(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
yeccpars2_64(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 65, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_65(S, ']', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 66, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 49, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, 'after', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 117, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 56, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, 'not', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
+yeccpars2_64(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_66(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_66_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_65(S, string, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 65, Ss, Stack, T, Ts, Tzr);
+yeccpars2_65(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_strings(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_67(S, '>>', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 82, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_66: see yeccpars2_45
-yeccpars2_68(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 76, Ss, Stack, T, Ts, Tzr);
-yeccpars2_68(S, '>>', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 77, Ss, Stack, T, Ts, Tzr).
+yeccpars2_67(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_69(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_69_(Stack),
- yeccgoto_binary_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_68(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 49, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 56, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, 'not', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, '}', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 70, Ss, Stack, T, Ts, Tzr);
+yeccpars2_68(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_70(S, ':', Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_69(S, '}', Ss, Stack, T, Ts, Tzr) ->
yeccpars1(S, 71, Ss, Stack, T, Ts, Tzr).
-yeccpars2_71(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 72, Ss, Stack, T, Ts, Tzr);
-yeccpars2_71(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 73, Ss, Stack, T, Ts, Tzr).
+yeccpars2_70(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_70_(Stack),
+ yeccgoto_tuple(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_72(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_71(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
- NewStack = yeccpars2_72_(Stack),
- yeccgoto_bin_base_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ NewStack = yeccpars2_71_(Stack),
+ yeccgoto_tuple(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_73(S, '*', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 74, Ss, Stack, T, Ts, Tzr).
+yeccpars2_72(S, 'of', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 76, Ss, Stack, T, Ts, Tzr);
+yeccpars2_72(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_78(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_74(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 75, Ss, Stack, T, Ts, Tzr).
+yeccpars2_73(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_73_(Stack),
+ yeccgoto_try_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_75(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_75_(Stack),
- yeccgoto_bin_unit_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_74: see yeccpars2_45
-yeccpars2_76(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 79, Ss, Stack, T, Ts, Tzr).
+yeccpars2_75(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 49, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 95, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 56, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, 'not', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 96, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
+yeccpars2_75(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_76: see yeccpars2_45
+
+yeccpars2_77(S, 'when', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 84, Ss, Stack, T, Ts, Tzr);
yeccpars2_77(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
NewStack = yeccpars2_77_(Stack),
- yeccgoto_binary_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccpars2_83(83, Cat, [77 | Ss], NewStack, T, Ts, Tzr).
-yeccpars2_78(S, '>>', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 81, Ss, Stack, T, Ts, Tzr).
+yeccpars2_78(S, 'after', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 74, Ss, Stack, T, Ts, Tzr);
+yeccpars2_78(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 75, Ss, Stack, T, Ts, Tzr).
-yeccpars2_79(S, ':', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 80, Ss, Stack, T, Ts, Tzr).
+yeccpars2_79(S, ';', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 80, Ss, Stack, T, Ts, Tzr);
+yeccpars2_79(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_79_(Stack),
+ yeccgoto_cr_clauses(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-yeccpars2_80(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 73, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_80: see yeccpars2_45
yeccpars2_81(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_81_(Stack),
- yeccgoto_binary_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_cr_clauses(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_82(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
+ [_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_82_(Stack),
- yeccgoto_binary_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_try_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_83(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_83_(Stack),
- yeccgoto_int_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_83(S, '->', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 90, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_84: see yeccpars2_32
+%% yeccpars2_84: see yeccpars2_45
yeccpars2_85(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
+ [_|Nss] = Ss,
NewStack = yeccpars2_85_(Stack),
- yeccgoto_fun_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_clause_guard(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+
+yeccpars2_86(S, ';', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 87, Ss, Stack, T, Ts, Tzr);
+yeccpars2_86(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_86_(Stack),
+ yeccgoto_guard(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-yeccpars2_86(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 87, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_87: see yeccpars2_45
-yeccpars2_87(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_88(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
- NewStack = yeccpars2_87_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-
-yeccpars2_88(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 89, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_88_(Stack),
+ yeccgoto_guard(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_89(S, '}', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 93, Ss, Stack, T, Ts, Tzr);
-yeccpars2_89(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_89(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_89_(Stack),
+ yeccgoto_cr_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_90(S, '}', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 98, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_90: see yeccpars2_45
-yeccpars2_91(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 96, Ss, Stack, T, Ts, Tzr);
yeccpars2_91(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
NewStack = yeccpars2_91_(Stack),
- yeccgoto_field_types(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_clause_body(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_92(S, '::', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 94, Ss, Stack, T, Ts, Tzr).
+yeccpars2_92(S, 'after', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 109, Ss, Stack, T, Ts, Tzr);
+yeccpars2_92(S, 'end', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 110, Ss, Stack, T, Ts, Tzr).
+yeccpars2_93(S, ';', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 107, Ss, Stack, T, Ts, Tzr);
yeccpars2_93(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
NewStack = yeccpars2_93_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_try_clauses(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-%% yeccpars2_94: see yeccpars2_32
+yeccpars2_94(S, 'when', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 84, Ss, Stack, T, Ts, Tzr);
+yeccpars2_94(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_94_(Stack),
+ yeccpars2_83(105, Cat, [94 | Ss], NewStack, T, Ts, Tzr).
+yeccpars2_95(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 101, Ss, Stack, T, Ts, Tzr);
yeccpars2_95(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_95_(Stack),
- yeccgoto_field_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_96: see yeccpars2_18
+yeccpars2_96(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 97, Ss, Stack, T, Ts, Tzr);
+yeccpars2_96(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_97(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_97_(Stack),
- yeccgoto_field_types(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_97: see yeccpars2_45
+yeccpars2_98(S, 'when', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 84, Ss, Stack, T, Ts, Tzr);
yeccpars2_98(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_98_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccpars2_83(99, Cat, [98 | Ss], NewStack, T, Ts, Tzr).
-yeccpars2_99(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 107, Ss, Stack, T, Ts, Tzr);
-yeccpars2_99(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr);
-yeccpars2_99(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_99(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 38, Ss, Stack, T, Ts, Tzr);
-yeccpars2_99(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_99(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 39, Ss, Stack, T, Ts, Tzr);
-yeccpars2_99(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_23(S, Cat, Ss, Stack, T, Ts, Tzr).
-
-%% yeccpars2_100: see yeccpars2_18
-
-yeccpars2_101(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 102, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_102(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 104, Ss, Stack, T, Ts, Tzr);
-yeccpars2_102(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr);
-yeccpars2_102(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_102(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 38, Ss, Stack, T, Ts, Tzr);
-yeccpars2_102(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_102(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 39, Ss, Stack, T, Ts, Tzr);
-yeccpars2_102(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_23(S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_103(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 105, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_99: see yeccpars2_83
+
+yeccpars2_100(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_100_(Stack),
+ yeccgoto_try_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+
+%% yeccpars2_101: see yeccpars2_45
+
+yeccpars2_102(S, 'when', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 84, Ss, Stack, T, Ts, Tzr);
+yeccpars2_102(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_102_(Stack),
+ yeccpars2_83(103, Cat, [102 | Ss], NewStack, T, Ts, Tzr).
+
+%% yeccpars2_103: see yeccpars2_83
yeccpars2_104(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_104_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-
-yeccpars2_105(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_105_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_try_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_106(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 108, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_105: see yeccpars2_83
-yeccpars2_107(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_106(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
- NewStack = yeccpars2_107_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ NewStack = yeccpars2_106_(Stack),
+ yeccgoto_try_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+
+%% yeccpars2_107: see yeccpars2_75
yeccpars2_108(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_108_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_try_clauses(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_109(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 110, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_109: see yeccpars2_45
+
+yeccpars2_110(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_110_(Stack),
+ yeccgoto_try_catch(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_110(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr);
-yeccpars2_110(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 38, Ss, Stack, T, Ts, Tzr).
+yeccpars2_111(S, 'end', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 112, Ss, Stack, T, Ts, Tzr).
-yeccpars2_111(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
- NewStack = yeccpars2_111_(Stack),
- yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_112(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_112_(Stack),
+ yeccgoto_try_catch(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_112: see yeccpars2_32
+yeccpars2_113(S, 'end', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 114, Ss, Stack, T, Ts, Tzr).
-yeccpars2_113(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_114(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
- NewStack = yeccpars2_113_(Stack),
- yeccgoto_top_types(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-
-yeccpars2_114(S, '->', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 115, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_114_(Stack),
+ yeccgoto_try_catch(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_115: see yeccpars2_32
+yeccpars2_115(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_115_(Stack),
+ yeccgoto_strings(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_116(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_116_(Stack),
- yeccgoto_fun_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_116(S, 'after', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 121, Ss, Stack, T, Ts, Tzr);
+yeccpars2_116(S, 'end', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 122, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_117: see yeccpars2_44
+%% yeccpars2_117: see yeccpars2_45
-yeccpars2_118(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_118_(Stack),
- yeccgoto_top_type_100(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_118: see yeccpars2_83
-%% yeccpars2_119: see yeccpars2_18
+yeccpars2_119(S, 'end', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 120, Ss, Stack, T, Ts, Tzr).
yeccpars2_120(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
+ [_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_120_(Stack),
- yeccgoto_type_sig(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_receive_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_121(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 126, Ss, Stack, T, Ts, Tzr);
-yeccpars2_121(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_121_(Stack),
- yeccgoto_type_guards(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+%% yeccpars2_121: see yeccpars2_45
-yeccpars2_122(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 123, Ss, Stack, T, Ts, Tzr).
+yeccpars2_122(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_122_(Stack),
+ yeccgoto_receive_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_123: see yeccpars2_32
+%% yeccpars2_123: see yeccpars2_83
-yeccpars2_124(S, ')', Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_124(S, 'end', Ss, Stack, T, Ts, Tzr) ->
yeccpars1(S, 125, Ss, Stack, T, Ts, Tzr).
yeccpars2_125(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
+ [_,_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_125_(Stack),
- yeccgoto_type_guard(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_receive_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_126: see yeccpars2_18
+yeccpars2_126(S, 'end', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 141, Ss, Stack, T, Ts, Tzr).
-yeccpars2_127(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_127_(Stack),
- yeccgoto_type_guards(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_127: see yeccpars2_45
-%% yeccpars2_128: see yeccpars2_16
+yeccpars2_128(S, '||', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 129, Ss, Stack, T, Ts, Tzr).
-yeccpars2_129(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_129_(Stack),
- yeccgoto_type_sigs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_129: see yeccpars2_45
-yeccpars2_130(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
- NewStack = yeccpars2_130_(Stack),
- yeccgoto_type_spec(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_130(S, ']', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 140, Ss, Stack, T, Ts, Tzr).
-yeccpars2_131(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 137, Ss, Stack, T, Ts, Tzr).
+yeccpars2_131(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 138, Ss, Stack, T, Ts, Tzr);
+yeccpars2_131(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_131_(Stack),
+ yeccgoto_lc_exprs(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-%% yeccpars2_132: see yeccpars2_18
+yeccpars2_132(S, '<-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 136, Ss, Stack, T, Ts, Tzr);
+yeccpars2_132(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_lc_expr(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_133(S, '/', Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_133(S, '<=', Ss, Stack, T, Ts, Tzr) ->
yeccpars1(S, 134, Ss, Stack, T, Ts, Tzr);
yeccpars2_133(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_133_(Stack),
- yeccgoto_spec_fun(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_134(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 135, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_134: see yeccpars2_45
-yeccpars2_135(S, '::', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 136, Ss, Stack, T, Ts, Tzr).
+yeccpars2_135(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_135_(Stack),
+ yeccgoto_lc_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_136(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_136_(Stack),
- yeccgoto_spec_fun(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_136: see yeccpars2_45
-yeccpars2_137(S, '::', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 138, Ss, Stack, T, Ts, Tzr).
+yeccpars2_137(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_137_(Stack),
+ yeccgoto_lc_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_138(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
- NewStack = yeccpars2_138_(Stack),
- yeccgoto_spec_fun(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_138: see yeccpars2_45
yeccpars2_139(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_139_(Stack),
- yeccgoto_type_spec(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_lc_exprs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_140(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
+ [_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_140_(Stack),
- yeccgoto_attribute(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_list_comprehension(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_141_(Stack),
+ yeccgoto_query_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_142(S, 'end', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 148, Ss, Stack, T, Ts, Tzr).
+yeccpars2_143(S, ';', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 146, Ss, Stack, T, Ts, Tzr);
yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_143_(Stack),
+ yeccgoto_if_clauses(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_700(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_144: see yeccpars2_83
yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_145_(Stack),
+ yeccgoto_if_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_146: see yeccpars2_45
-yeccpars2_147(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
-yeccpars2_147(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_147(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr);
-yeccpars2_147(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_147(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_147(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
-yeccpars2_147(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_147(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_147(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_147_(Stack),
+ yeccgoto_if_clauses(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_148_(Stack),
+ yeccgoto_if_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_149(S, 'end', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 163, Ss, Stack, T, Ts, Tzr).
+yeccpars2_150(S, ';', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 161, Ss, Stack, T, Ts, Tzr);
yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_150_(Stack),
+ yeccgoto_fun_clauses(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+yeccpars2_151(S, 'when', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 84, Ss, Stack, T, Ts, Tzr);
yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_700(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_151_(Stack),
+ yeccpars2_83(159, Cat, [151 | Ss], NewStack, T, Ts, Tzr).
-yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_152(S, '/', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 153, Ss, Stack, T, Ts, Tzr);
+yeccpars2_152(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 154, Ss, Stack, T, Ts, Tzr).
-yeccpars2_153(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 430, Ss, Stack, T, Ts, Tzr);
-yeccpars2_153(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_900(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_153(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 158, Ss, Stack, T, Ts, Tzr).
-yeccpars2_154(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 426, Ss, Stack, T, Ts, Tzr);
-yeccpars2_154(S, ':', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 427, Ss, Stack, T, Ts, Tzr);
-yeccpars2_154(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_800(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_154(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 155, Ss, Stack, T, Ts, Tzr).
-yeccpars2_155(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 285, Ss, Stack, T, Ts, Tzr);
-yeccpars2_155(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_700(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_155(S, '/', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 156, Ss, Stack, T, Ts, Tzr).
-yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_600(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_156(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 157, Ss, Stack, T, Ts, Tzr).
yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_500(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_157_(Stack),
+ yeccgoto_fun_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_158(S, '*', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 417, Ss, Stack, T, Ts, Tzr);
-yeccpars2_158(S, '/', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 418, Ss, Stack, T, Ts, Tzr);
-yeccpars2_158(S, 'and', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 419, Ss, Stack, T, Ts, Tzr);
-yeccpars2_158(S, 'band', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 420, Ss, Stack, T, Ts, Tzr);
-yeccpars2_158(S, 'div', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 421, Ss, Stack, T, Ts, Tzr);
-yeccpars2_158(S, 'rem', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 422, Ss, Stack, T, Ts, Tzr);
yeccpars2_158(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_400(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_158_(Stack),
+ yeccgoto_fun_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_159(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 405, Ss, Stack, T, Ts, Tzr);
-yeccpars2_159(S, '++', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 406, Ss, Stack, T, Ts, Tzr);
-yeccpars2_159(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 407, Ss, Stack, T, Ts, Tzr);
-yeccpars2_159(S, '--', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 408, Ss, Stack, T, Ts, Tzr);
-yeccpars2_159(S, 'bor', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 409, Ss, Stack, T, Ts, Tzr);
-yeccpars2_159(S, 'bsl', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 410, Ss, Stack, T, Ts, Tzr);
-yeccpars2_159(S, 'bsr', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 411, Ss, Stack, T, Ts, Tzr);
-yeccpars2_159(S, 'bxor', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 412, Ss, Stack, T, Ts, Tzr);
-yeccpars2_159(S, 'or', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 413, Ss, Stack, T, Ts, Tzr);
-yeccpars2_159(S, 'xor', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 414, Ss, Stack, T, Ts, Tzr);
-yeccpars2_159(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_300(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_159: see yeccpars2_83
-yeccpars2_160(S, '/=', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 394, Ss, Stack, T, Ts, Tzr);
-yeccpars2_160(S, '<', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 395, Ss, Stack, T, Ts, Tzr);
-yeccpars2_160(S, '=/=', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 396, Ss, Stack, T, Ts, Tzr);
-yeccpars2_160(S, '=:=', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 397, Ss, Stack, T, Ts, Tzr);
-yeccpars2_160(S, '=<', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 398, Ss, Stack, T, Ts, Tzr);
-yeccpars2_160(S, '==', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 399, Ss, Stack, T, Ts, Tzr);
-yeccpars2_160(S, '>', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 400, Ss, Stack, T, Ts, Tzr);
-yeccpars2_160(S, '>=', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 401, Ss, Stack, T, Ts, Tzr);
yeccpars2_160(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_200(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_160_(Stack),
+ yeccgoto_fun_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_161(S, 'andalso', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 391, Ss, Stack, T, Ts, Tzr);
-yeccpars2_161(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_160(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_161: see yeccpars2_10
-yeccpars2_162(S, 'orelse', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 389, Ss, Stack, T, Ts, Tzr);
yeccpars2_162(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_150(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_162_(Stack),
+ yeccgoto_fun_clauses(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_163(S, '!', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 385, Ss, Stack, T, Ts, Tzr);
-yeccpars2_163(S, '=', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 386, Ss, Stack, T, Ts, Tzr);
yeccpars2_163(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_100(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_163_(Stack),
+ yeccgoto_fun_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_164_(Stack),
+ yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_165(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 383, Ss, Stack, T, Ts, Tzr);
-yeccpars2_165(S, '::', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 348, Ss, Stack, T, Ts, Tzr);
-yeccpars2_165(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_165_(Stack),
- yeccgoto_attr_val(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+yeccpars2_165(S, 'of', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 166, Ss, Stack, T, Ts, Tzr).
-yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_166: see yeccpars2_45
-yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_167(S, 'end', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 168, Ss, Stack, T, Ts, Tzr).
yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_168_(Stack),
+ yeccgoto_case_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_169(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_169_(Stack),
- yeccgoto_attribute(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_169(S, 'end', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 170, Ss, Stack, T, Ts, Tzr).
yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_170_(Stack),
+ yeccgoto_expr_max(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_171(S, '||', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 129, Ss, Stack, T, Ts, Tzr);
+yeccpars2_171(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_179(S, Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_172: see yeccpars2_18
+yeccpars2_172(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_172_(Stack),
+ yeccgoto_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_173(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 182, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_173(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_173(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_173_(Stack),
+ yeccgoto_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_174(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_prefix_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_174: see yeccpars2_45
yeccpars2_175(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_prefix_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_175_(Stack),
+ yeccgoto_tail(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-%% yeccpars2_176: see yeccpars2_18
+%% yeccpars2_176: see yeccpars2_45
-yeccpars2_177(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_177(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
-yeccpars2_177(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
-yeccpars2_177(S, '>>', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 323, Ss, Stack, T, Ts, Tzr);
-yeccpars2_177(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_177(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
-yeccpars2_177(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_177(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_177(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
-yeccpars2_177(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_177(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_177(S, ']', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 178, Ss, Stack, T, Ts, Tzr).
-yeccpars2_178(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, '+', Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_178(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_178_(Stack),
+ yeccgoto_tail(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+
+yeccpars2_179(S, ',', Ss, Stack, T, Ts, Tzr) ->
yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, '-', Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_179(S, ']', Ss, Stack, T, Ts, Tzr) ->
yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, ']', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 308, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 182, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_178(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-
-%% yeccpars2_179: see yeccpars2_173
+yeccpars2_179(S, '|', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr).
yeccpars2_180(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_prefix_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_180_(Stack),
+ yeccgoto_tail(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_181: see yeccpars2_173
+yeccpars2_181(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_181(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_181(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_181(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
+yeccpars2_181(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_182: see yeccpars2_173
+yeccpars2_182(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_bit_expr(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_183(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 195, Ss, Stack, T, Ts, Tzr);
yeccpars2_183(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_183_(Stack),
+ yeccpars2_194(194, Cat, [183 | Ss], NewStack, T, Ts, Tzr).
+yeccpars2_184(S, '||', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 191, Ss, Stack, T, Ts, Tzr);
yeccpars2_184(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_185(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 285, Ss, Stack, T, Ts, Tzr);
-yeccpars2_185(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_185(S, '>>', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 190, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_186: see yeccpars2_173
+yeccpars2_186(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
+yeccpars2_186(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_186_(Stack),
+ yeccgoto_bin_elements(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
yeccpars2_187(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_187_(Stack),
+ yeccgoto_binary(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_188(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_prefix_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_188(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_188(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
+yeccpars2_188(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
+yeccpars2_188(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_188(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
+yeccpars2_188(S, 'not', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
+yeccpars2_188(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_188(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
+yeccpars2_188(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_189(S, '[', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 259, Ss, Stack, T, Ts, Tzr).
+yeccpars2_189(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_189_(Stack),
+ yeccgoto_bin_elements(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_190(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, 'after', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 249, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 182, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_190(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_190(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_190_(Stack),
+ yeccgoto_binary(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_191(S, string, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 191, Ss, Stack, T, Ts, Tzr);
-yeccpars2_191(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_strings(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_191: see yeccpars2_45
-%% yeccpars2_192: see yeccpars2_173
+yeccpars2_192(S, '>>', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr).
yeccpars2_193(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_193_(Stack),
+ yeccgoto_binary_comprehension(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_194(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 182, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, '}', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 198, Ss, Stack, T, Ts, Tzr);
-yeccpars2_194(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_194(S, '/', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 199, Ss, Stack, T, Ts, Tzr);
+yeccpars2_194(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_194_(Stack),
+ yeccpars2_198(_S, Cat, [194 | Ss], NewStack, T, Ts, Tzr).
-yeccpars2_195(S, '}', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 203, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_195: see yeccpars2_181
-yeccpars2_196(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 201, Ss, Stack, T, Ts, Tzr);
yeccpars2_196(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_196_(Stack),
- yeccgoto_exprs(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_bit_size_expr(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_197: see yeccpars2_173
+yeccpars2_197(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_197_(Stack),
+ yeccgoto_opt_bit_size_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_198(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_198_(Stack),
- yeccgoto_tuple(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_bin_element(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_199(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 200, Ss, Stack, T, Ts, Tzr).
+yeccpars2_199(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 202, Ss, Stack, T, Ts, Tzr).
yeccpars2_200(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
+ [_|Nss] = Ss,
NewStack = yeccpars2_200_(Stack),
- yeccgoto_expr_max(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_opt_bit_type_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_201: see yeccpars2_173
+yeccpars2_201(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 205, Ss, Stack, T, Ts, Tzr);
+yeccpars2_201(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_201_(Stack),
+ yeccgoto_bit_type_list(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+yeccpars2_202(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 203, Ss, Stack, T, Ts, Tzr);
yeccpars2_202(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
NewStack = yeccpars2_202_(Stack),
- yeccgoto_exprs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_bit_type(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+
+yeccpars2_203(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 204, Ss, Stack, T, Ts, Tzr).
-yeccpars2_203(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_204(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
- NewStack = yeccpars2_203_(Stack),
- yeccgoto_tuple(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ NewStack = yeccpars2_204_(Stack),
+ yeccgoto_bit_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_204(S, 'of', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 208, Ss, Stack, T, Ts, Tzr);
-yeccpars2_204(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_210(S, Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_205: see yeccpars2_199
-yeccpars2_205(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_206(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
- NewStack = yeccpars2_205_(Stack),
- yeccgoto_try_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ NewStack = yeccpars2_206_(Stack),
+ yeccgoto_bit_type_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+
+yeccpars2_207(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_207_(Stack),
+ yeccgoto_bit_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_206: see yeccpars2_173
+yeccpars2_208(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_208_(Stack),
+ yeccgoto_expr_900(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_207(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 182, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 228, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_207(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_209(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 210, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_208: see yeccpars2_173
+yeccpars2_210(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_210_(Stack),
+ yeccgoto_expr_max(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_209(S, 'when', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 216, Ss, Stack, T, Ts, Tzr);
-yeccpars2_209(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_209_(Stack),
- yeccpars2_215(215, Cat, [209 | Ss], NewStack, T, Ts, Tzr).
+yeccpars2_211(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 213, Ss, Stack, T, Ts, Tzr);
+yeccpars2_211(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 214, Ss, Stack, T, Ts, Tzr).
-yeccpars2_210(S, 'after', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 206, Ss, Stack, T, Ts, Tzr);
-yeccpars2_210(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 207, Ss, Stack, T, Ts, Tzr).
+yeccpars2_212(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_212_(Stack),
+ yeccgoto_record_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_211(S, ';', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 212, Ss, Stack, T, Ts, Tzr);
-yeccpars2_211(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_211_(Stack),
- yeccgoto_cr_clauses(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+yeccpars2_213(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 227, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_212: see yeccpars2_173
+yeccpars2_214(S, '}', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 219, Ss, Stack, T, Ts, Tzr);
+yeccpars2_214(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_224(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_213(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_213_(Stack),
- yeccgoto_cr_clauses(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_215(S, '}', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 226, Ss, Stack, T, Ts, Tzr).
-yeccpars2_214(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_214_(Stack),
- yeccgoto_try_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_216(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 224, Ss, Stack, T, Ts, Tzr);
+yeccpars2_216(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_216_(Stack),
+ yeccgoto_record_fields(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-yeccpars2_215(S, '->', Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_217(S, '=', Ss, Stack, T, Ts, Tzr) ->
yeccpars1(S, 222, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_216: see yeccpars2_173
+yeccpars2_218(S, '=', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 220, Ss, Stack, T, Ts, Tzr).
-yeccpars2_217(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_219(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_|Nss] = Ss,
- NewStack = yeccpars2_217_(Stack),
- yeccgoto_clause_guard(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-
-yeccpars2_218(S, ';', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 219, Ss, Stack, T, Ts, Tzr);
-yeccpars2_218(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_218_(Stack),
- yeccgoto_guard(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-
-%% yeccpars2_219: see yeccpars2_173
+ NewStack = yeccpars2_219_(Stack),
+ yeccgoto_record_tuple(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_220(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_220_(Stack),
- yeccgoto_guard(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_220: see yeccpars2_45
yeccpars2_221(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
NewStack = yeccpars2_221_(Stack),
- yeccgoto_cr_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_record_field(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_222: see yeccpars2_173
+%% yeccpars2_222: see yeccpars2_45
yeccpars2_223(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_223_(Stack),
- yeccgoto_clause_body(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_record_field(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_224(S, 'after', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 241, Ss, Stack, T, Ts, Tzr);
-yeccpars2_224(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 242, Ss, Stack, T, Ts, Tzr).
+yeccpars2_224(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 217, Ss, Stack, T, Ts, Tzr);
+yeccpars2_224(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 218, Ss, Stack, T, Ts, Tzr).
-yeccpars2_225(S, ';', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 239, Ss, Stack, T, Ts, Tzr);
yeccpars2_225(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_225_(Stack),
- yeccgoto_try_clauses(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_record_fields(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_226(S, 'when', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 216, Ss, Stack, T, Ts, Tzr);
yeccpars2_226(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_226_(Stack),
- yeccpars2_215(237, Cat, [226 | Ss], NewStack, T, Ts, Tzr).
+ yeccgoto_record_tuple(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_227(S, ':', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 233, Ss, Stack, T, Ts, Tzr);
yeccpars2_227(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_atomic(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_227_(Stack),
+ yeccgoto_record_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_228(S, ':', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 229, Ss, Stack, T, Ts, Tzr);
-yeccpars2_228(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_228: see yeccpars2_45
-%% yeccpars2_229: see yeccpars2_173
+yeccpars2_229(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_229_(Stack),
+ yeccgoto_exprs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_230(S, 'when', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 216, Ss, Stack, T, Ts, Tzr);
-yeccpars2_230(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_230_(Stack),
- yeccpars2_215(231, Cat, [230 | Ss], NewStack, T, Ts, Tzr).
+yeccpars2_230(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
+yeccpars2_230(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_230(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
+yeccpars2_230(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
+yeccpars2_230(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 49, Ss, Stack, T, Ts, Tzr);
+yeccpars2_230(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_230(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
+yeccpars2_230(S, 'not', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
+yeccpars2_230(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_230(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
+yeccpars2_230(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_231: see yeccpars2_215
+%% yeccpars2_231: see yeccpars2_230
yeccpars2_232(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_232_(Stack),
- yeccgoto_try_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-
-%% yeccpars2_233: see yeccpars2_173
+ yeccgoto_expr_100(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_234(S, 'when', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 216, Ss, Stack, T, Ts, Tzr);
-yeccpars2_234(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_234_(Stack),
- yeccpars2_215(235, Cat, [234 | Ss], NewStack, T, Ts, Tzr).
+yeccpars2_233(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_233_(Stack),
+ yeccgoto_expr_100(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_235: see yeccpars2_215
+%% yeccpars2_234: see yeccpars2_230
-yeccpars2_236(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_236_(Stack),
- yeccgoto_try_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_235(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_235_(Stack),
+ yeccgoto_expr_150(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_237: see yeccpars2_215
+%% yeccpars2_236: see yeccpars2_230
-yeccpars2_238(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_237(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
- NewStack = yeccpars2_238_(Stack),
- yeccgoto_try_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ NewStack = yeccpars2_237_(Stack),
+ yeccgoto_expr_160(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_239: see yeccpars2_207
+%% yeccpars2_238: see yeccpars2_230
+
+yeccpars2_239(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_240(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_240_(Stack),
- yeccgoto_try_clauses(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_241: see yeccpars2_173
+yeccpars2_241(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_242(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_242_(Stack),
- yeccgoto_try_catch(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_243(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 244, Ss, Stack, T, Ts, Tzr).
+yeccpars2_243(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_244(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_244_(Stack),
- yeccgoto_try_catch(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_245(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 246, Ss, Stack, T, Ts, Tzr).
+yeccpars2_245(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_246(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_246_(Stack),
- yeccgoto_try_catch(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_247(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_247_(Stack),
- yeccgoto_strings(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_expr_200(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_248(S, 'after', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 253, Ss, Stack, T, Ts, Tzr);
-yeccpars2_248(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 254, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_248: see yeccpars2_230
-%% yeccpars2_249: see yeccpars2_173
+%% yeccpars2_249: see yeccpars2_230
-%% yeccpars2_250: see yeccpars2_215
+yeccpars2_250(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_251(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 252, Ss, Stack, T, Ts, Tzr).
+yeccpars2_251(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_list_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_252(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_252_(Stack),
- yeccgoto_receive_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_253: see yeccpars2_173
+yeccpars2_253(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_list_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_254(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_254_(Stack),
- yeccgoto_receive_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_255: see yeccpars2_215
+yeccpars2_255(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_256(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 257, Ss, Stack, T, Ts, Tzr).
+yeccpars2_256(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_257(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_257_(Stack),
- yeccgoto_receive_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_258(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 273, Ss, Stack, T, Ts, Tzr).
+yeccpars2_258(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_259: see yeccpars2_173
+yeccpars2_259(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_260(S, '||', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 261, Ss, Stack, T, Ts, Tzr).
+yeccpars2_260(S, '*', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 262, Ss, Stack, T, Ts, Tzr);
+yeccpars2_260(S, '/', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 263, Ss, Stack, T, Ts, Tzr);
+yeccpars2_260(S, 'and', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 264, Ss, Stack, T, Ts, Tzr);
+yeccpars2_260(S, 'band', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 265, Ss, Stack, T, Ts, Tzr);
+yeccpars2_260(S, 'div', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 266, Ss, Stack, T, Ts, Tzr);
+yeccpars2_260(S, 'rem', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 267, Ss, Stack, T, Ts, Tzr);
+yeccpars2_260(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_260_(Stack),
+ yeccgoto_expr_400(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_261: see yeccpars2_173
+%% yeccpars2_261: see yeccpars2_230
-yeccpars2_262(S, ']', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 272, Ss, Stack, T, Ts, Tzr).
+yeccpars2_262(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_263(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 270, Ss, Stack, T, Ts, Tzr);
yeccpars2_263(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_263_(Stack),
- yeccgoto_lc_exprs(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_264(S, '<-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 268, Ss, Stack, T, Ts, Tzr);
yeccpars2_264(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_lc_expr(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_265(S, '<=', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 266, Ss, Stack, T, Ts, Tzr);
yeccpars2_265(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_266: see yeccpars2_173
+yeccpars2_266(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_267(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_267_(Stack),
- yeccgoto_lc_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_268: see yeccpars2_173
+yeccpars2_268(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_268_(Stack),
+ yeccgoto_expr_500(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_269(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
NewStack = yeccpars2_269_(Stack),
- yeccgoto_lc_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_expr_300(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_270: see yeccpars2_173
+yeccpars2_270(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_270_(Stack),
+ yeccgoto_function_call(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_271(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_271_(Stack),
- yeccgoto_lc_exprs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_271(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 274, Ss, Stack, T, Ts, Tzr).
-yeccpars2_272(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_272_(Stack),
- yeccgoto_list_comprehension(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_272: see yeccpars2_181
yeccpars2_273(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
NewStack = yeccpars2_273_(Stack),
- yeccgoto_query_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_expr_800(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_274(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 280, Ss, Stack, T, Ts, Tzr).
+yeccpars2_274(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_274_(Stack),
+ yeccgoto_expr_900(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_275(S, ';', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 278, Ss, Stack, T, Ts, Tzr);
-yeccpars2_275(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_275_(Stack),
- yeccgoto_if_clauses(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+yeccpars2_275(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 276, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_276: see yeccpars2_215
+yeccpars2_276(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 278, Ss, Stack, T, Ts, Tzr);
+yeccpars2_276(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 214, Ss, Stack, T, Ts, Tzr).
yeccpars2_277(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
+ [_,_,_|Nss] = Ss,
NewStack = yeccpars2_277_(Stack),
- yeccgoto_if_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_record_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_278: see yeccpars2_173
+yeccpars2_278(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 279, Ss, Stack, T, Ts, Tzr).
yeccpars2_279(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
+ [_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_279_(Stack),
- yeccgoto_if_clauses(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_record_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_280(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
NewStack = yeccpars2_280_(Stack),
- yeccgoto_if_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_argument_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_281(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 299, Ss, Stack, T, Ts, Tzr).
+yeccpars2_281(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_281_(Stack),
+ yeccgoto_expr_600(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_282(S, ';', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 297, Ss, Stack, T, Ts, Tzr);
-yeccpars2_282(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_282_(Stack),
- yeccgoto_fun_clauses(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+yeccpars2_282(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 283, Ss, Stack, T, Ts, Tzr).
-yeccpars2_283(S, '/', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 291, Ss, Stack, T, Ts, Tzr);
-yeccpars2_283(S, ':', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 292, Ss, Stack, T, Ts, Tzr).
+yeccpars2_283(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 285, Ss, Stack, T, Ts, Tzr);
+yeccpars2_283(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 214, Ss, Stack, T, Ts, Tzr).
-yeccpars2_284(S, 'when', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 216, Ss, Stack, T, Ts, Tzr);
yeccpars2_284(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_|Nss] = Ss,
NewStack = yeccpars2_284_(Stack),
- yeccpars2_215(289, Cat, [284 | Ss], NewStack, T, Ts, Tzr).
+ yeccgoto_record_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_285(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 287, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr);
yeccpars2_285(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 182, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_285(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 286, Ss, Stack, T, Ts, Tzr).
-yeccpars2_286(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 288, Ss, Stack, T, Ts, Tzr).
+yeccpars2_286(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_286_(Stack),
+ yeccgoto_record_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_287(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_287_(Stack),
- yeccgoto_argument_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_287(S, '->', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 90, Ss, Stack, T, Ts, Tzr);
+yeccpars2_287(S, ':-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 290, Ss, Stack, T, Ts, Tzr).
yeccpars2_288(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
+ [_,_,_|Nss] = Ss,
NewStack = yeccpars2_288_(Stack),
- yeccgoto_argument_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_rule_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_289: see yeccpars2_215
+yeccpars2_289(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_289_(Stack),
+ yeccgoto_function_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_290(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_290_(Stack),
- yeccgoto_fun_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_290: see yeccpars2_45
-yeccpars2_291(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 296, Ss, Stack, T, Ts, Tzr).
+yeccpars2_291(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_291_(Stack),
+ yeccgoto_rule_body(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_292: see yeccpars2_18
+yeccpars2_292(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 422, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 49, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 56, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, 'not', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 68, Ss, Stack, T, Ts, Tzr);
+yeccpars2_292(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_293(S, '/', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 294, Ss, Stack, T, Ts, Tzr).
+yeccpars2_293(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 296, Ss, Stack, T, Ts, Tzr);
+yeccpars2_293(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 297, Ss, Stack, T, Ts, Tzr).
-yeccpars2_294(S, integer, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 295, Ss, Stack, T, Ts, Tzr).
+yeccpars2_294(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_294_(Stack),
+ yeccgoto_attribute(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_295(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_295_(Stack),
- yeccgoto_fun_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_295(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 310, Ss, Stack, T, Ts, Tzr).
-yeccpars2_296(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
- NewStack = yeccpars2_296_(Stack),
- yeccgoto_fun_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_296(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 297, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_297: see yeccpars2_9
+yeccpars2_297(S, '/', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 298, Ss, Stack, T, Ts, Tzr);
+yeccpars2_297(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 299, Ss, Stack, T, Ts, Tzr);
+yeccpars2_297(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_spec_fun(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_298(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_298_(Stack),
- yeccgoto_fun_clauses(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_298(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 304, Ss, Stack, T, Ts, Tzr).
-yeccpars2_299(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_299_(Stack),
- yeccgoto_fun_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_299(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 300, Ss, Stack, T, Ts, Tzr).
+yeccpars2_300(S, '/', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 301, Ss, Stack, T, Ts, Tzr);
yeccpars2_300(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_300_(Stack),
- yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_spec_fun(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_301(S, 'of', Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_301(S, integer, Ss, Stack, T, Ts, Tzr) ->
yeccpars1(S, 302, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_302: see yeccpars2_173
+yeccpars2_302(S, '::', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 303, Ss, Stack, T, Ts, Tzr).
-yeccpars2_303(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 304, Ss, Stack, T, Ts, Tzr).
+yeccpars2_303(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_303_(Stack),
+ yeccgoto_spec_fun(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_304(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_304_(Stack),
- yeccgoto_case_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_304(S, '::', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 305, Ss, Stack, T, Ts, Tzr).
-yeccpars2_305(S, 'end', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 306, Ss, Stack, T, Ts, Tzr).
+yeccpars2_305(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_305_(Stack),
+ yeccgoto_spec_fun(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_306(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_306_(Stack),
- yeccgoto_expr_max(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_306: see yeccpars2_295
-yeccpars2_307(S, '||', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 261, Ss, Stack, T, Ts, Tzr);
-yeccpars2_307(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_315(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_307(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 417, Ss, Stack, T, Ts, Tzr).
+yeccpars2_308(S, ';', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 415, Ss, Stack, T, Ts, Tzr);
yeccpars2_308(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
NewStack = yeccpars2_308_(Stack),
- yeccgoto_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type_sigs(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+yeccpars2_309(S, 'when', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 406, Ss, Stack, T, Ts, Tzr);
yeccpars2_309(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_309_(Stack),
- yeccgoto_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type_sig(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_310: see yeccpars2_173
+yeccpars2_310(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 319, Ss, Stack, T, Ts, Tzr);
+yeccpars2_310(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 320, Ss, Stack, T, Ts, Tzr);
+yeccpars2_310(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 325, Ss, Stack, T, Ts, Tzr);
+yeccpars2_310(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 326, Ss, Stack, T, Ts, Tzr);
+yeccpars2_310(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_310(S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_cont_310(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 317, Ss, Stack, T, Ts, Tzr);
+yeccpars2_cont_310(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 318, Ss, Stack, T, Ts, Tzr);
+yeccpars2_cont_310(S, '<<', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 321, Ss, Stack, T, Ts, Tzr);
+yeccpars2_cont_310(S, '[', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 322, Ss, Stack, T, Ts, Tzr);
+yeccpars2_cont_310(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 323, Ss, Stack, T, Ts, Tzr);
+yeccpars2_cont_310(S, 'fun', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 324, Ss, Stack, T, Ts, Tzr);
+yeccpars2_cont_310(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 327, Ss, Stack, T, Ts, Tzr).
+yeccpars2_311(S, '|', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 404, Ss, Stack, T, Ts, Tzr);
yeccpars2_311(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_311_(Stack),
- yeccgoto_tail(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_top_type_100(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_312: see yeccpars2_173
+yeccpars2_312(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 401, Ss, Stack, T, Ts, Tzr).
-yeccpars2_313(S, ']', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 314, Ss, Stack, T, Ts, Tzr).
+yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_top_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_314(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 399, Ss, Stack, T, Ts, Tzr);
yeccpars2_314(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
NewStack = yeccpars2_314_(Stack),
- yeccgoto_tail(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_top_types(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-yeccpars2_315(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 310, Ss, Stack, T, Ts, Tzr);
-yeccpars2_315(S, ']', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 311, Ss, Stack, T, Ts, Tzr);
-yeccpars2_315(S, '|', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 312, Ss, Stack, T, Ts, Tzr).
+yeccpars2_315(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 396, Ss, Stack, T, Ts, Tzr);
+yeccpars2_315(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccgoto_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_316_(Stack),
- yeccgoto_tail(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_317(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
yeccpars2_317(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_317(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_317(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
-yeccpars2_317(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_317(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_318(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_bit_expr(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_319(S, ':', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 331, Ss, Stack, T, Ts, Tzr);
-yeccpars2_319(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_319_(Stack),
- yeccpars2_330(330, Cat, [319 | Ss], NewStack, T, Ts, Tzr).
+ yeccpars1(S, 385, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_318(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 320, Ss, Stack, T, Ts, Tzr);
+yeccpars2_318(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 325, Ss, Stack, T, Ts, Tzr);
+yeccpars2_318(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 326, Ss, Stack, T, Ts, Tzr);
+yeccpars2_318(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_310(S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_319(S, '->', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 381, Ss, Stack, T, Ts, Tzr).
-yeccpars2_320(S, '||', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 327, Ss, Stack, T, Ts, Tzr);
-yeccpars2_320(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_expr_max(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_320(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 380, Ss, Stack, T, Ts, Tzr).
yeccpars2_321(S, '>>', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 326, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_322(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 324, Ss, Stack, T, Ts, Tzr);
-yeccpars2_322(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_322_(Stack),
- yeccgoto_bin_elements(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccpars1(S, 366, Ss, Stack, T, Ts, Tzr);
+yeccpars2_321(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 367, Ss, Stack, T, Ts, Tzr).
+yeccpars2_322(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 320, Ss, Stack, T, Ts, Tzr);
+yeccpars2_322(S, ']', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 357, Ss, Stack, T, Ts, Tzr);
+yeccpars2_322(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 325, Ss, Stack, T, Ts, Tzr);
+yeccpars2_322(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 326, Ss, Stack, T, Ts, Tzr);
+yeccpars2_322(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_310(S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccpars2_323(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 346, Ss, Stack, T, Ts, Tzr);
+yeccpars2_323(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 347, Ss, Stack, T, Ts, Tzr);
yeccpars2_323(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_323_(Stack),
- yeccgoto_binary(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_324(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_324(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
-yeccpars2_324(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
-yeccpars2_324(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_324(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
-yeccpars2_324(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_324(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_324(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
-yeccpars2_324(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_324(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 334, Ss, Stack, T, Ts, Tzr).
yeccpars2_325(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_325_(Stack),
- yeccgoto_bin_elements(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_int_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_326(S, '::', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 331, Ss, Stack, T, Ts, Tzr);
yeccpars2_326(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_326_(Stack),
- yeccgoto_binary(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_327: see yeccpars2_173
+yeccpars2_327(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 320, Ss, Stack, T, Ts, Tzr);
+yeccpars2_327(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 325, Ss, Stack, T, Ts, Tzr);
+yeccpars2_327(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 326, Ss, Stack, T, Ts, Tzr);
+yeccpars2_327(S, '}', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 329, Ss, Stack, T, Ts, Tzr);
+yeccpars2_327(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_310(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_328(S, '>>', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 329, Ss, Stack, T, Ts, Tzr).
+yeccpars2_328(S, '}', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 330, Ss, Stack, T, Ts, Tzr).
yeccpars2_329(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
+ [_|Nss] = Ss,
NewStack = yeccpars2_329_(Stack),
- yeccgoto_binary_comprehension(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_330(S, '/', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 335, Ss, Stack, T, Ts, Tzr);
yeccpars2_330(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_330_(Stack),
- yeccpars2_334(_S, Cat, [330 | Ss], NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_331: see yeccpars2_317
+yeccpars2_331(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 320, Ss, Stack, T, Ts, Tzr);
+yeccpars2_331(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 325, Ss, Stack, T, Ts, Tzr);
+yeccpars2_331(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 333, Ss, Stack, T, Ts, Tzr);
+yeccpars2_331(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_310(S, Cat, Ss, Stack, T, Ts, Tzr).
yeccpars2_332(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_bit_size_expr(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_332_(Stack),
+ yeccgoto_top_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_333(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_333_(Stack),
- yeccgoto_opt_bit_size_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_334(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_334_(Stack),
- yeccgoto_bin_element(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_334(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 337, Ss, Stack, T, Ts, Tzr);
+yeccpars2_334(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 338, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_335: see yeccpars2_18
+yeccpars2_335(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 345, Ss, Stack, T, Ts, Tzr).
yeccpars2_336(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_336_(Stack),
- yeccgoto_opt_bit_type_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_fun_type_100(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_337(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 319, Ss, Stack, T, Ts, Tzr);
yeccpars2_337(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 341, Ss, Stack, T, Ts, Tzr);
-yeccpars2_337(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_337_(Stack),
- yeccgoto_bit_type_list(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-
-yeccpars2_338(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 320, Ss, Stack, T, Ts, Tzr);
+yeccpars2_337(S, '.', Ss, Stack, T, Ts, Tzr) ->
yeccpars1(S, 339, Ss, Stack, T, Ts, Tzr);
+yeccpars2_337(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 325, Ss, Stack, T, Ts, Tzr);
+yeccpars2_337(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 326, Ss, Stack, T, Ts, Tzr);
+yeccpars2_337(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_310(S, Cat, Ss, Stack, T, Ts, Tzr).
+
yeccpars2_338(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_338_(Stack),
- yeccgoto_bit_type(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_339(S, integer, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_339(S, '.', Ss, Stack, T, Ts, Tzr) ->
yeccpars1(S, 340, Ss, Stack, T, Ts, Tzr).
-yeccpars2_340(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_340_(Stack),
- yeccgoto_bit_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_340(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 341, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_341: see yeccpars2_18
+yeccpars2_341(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 342, Ss, Stack, T, Ts, Tzr).
-yeccpars2_342(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_342_(Stack),
- yeccgoto_bit_type_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_342(S, '->', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 343, Ss, Stack, T, Ts, Tzr).
-yeccpars2_343(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_343_(Stack),
- yeccgoto_bit_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_343: see yeccpars2_318
yeccpars2_344(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
+ [_,_,_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_344_(Stack),
- yeccgoto_expr_900(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_fun_type_100(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_345(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 365, Ss, Stack, T, Ts, Tzr).
+yeccpars2_345(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_345_(Stack),
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_346(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 200, Ss, Stack, T, Ts, Tzr);
-yeccpars2_346(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 347, Ss, Stack, T, Ts, Tzr);
-yeccpars2_346(S, '::', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 348, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 354, Ss, Stack, T, Ts, Tzr);
+yeccpars2_346(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 320, Ss, Stack, T, Ts, Tzr);
+yeccpars2_346(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 325, Ss, Stack, T, Ts, Tzr);
+yeccpars2_346(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 326, Ss, Stack, T, Ts, Tzr);
+yeccpars2_346(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_310(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_347(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr);
yeccpars2_347(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 182, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 352, Ss, Stack, T, Ts, Tzr);
-yeccpars2_347(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 348, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_348: see yeccpars2_32
+yeccpars2_348(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 349, Ss, Stack, T, Ts, Tzr).
-yeccpars2_349(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_349_(Stack),
- yeccgoto_typed_attr_val(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_349(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 351, Ss, Stack, T, Ts, Tzr);
+yeccpars2_349(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 320, Ss, Stack, T, Ts, Tzr);
+yeccpars2_349(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 325, Ss, Stack, T, Ts, Tzr);
+yeccpars2_349(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 326, Ss, Stack, T, Ts, Tzr);
+yeccpars2_349(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_310(S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccpars2_350(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_350_(Stack),
- yeccgoto_typed_attr_val(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_350(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 352, Ss, Stack, T, Ts, Tzr).
-yeccpars2_351(S, ')', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 364, Ss, Stack, T, Ts, Tzr).
+yeccpars2_351(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_351_(Stack),
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_352: see yeccpars2_194
+yeccpars2_352(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_352_(Stack),
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_353(S, '}', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 363, Ss, Stack, T, Ts, Tzr).
+yeccpars2_353(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 355, Ss, Stack, T, Ts, Tzr).
-yeccpars2_354(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 360, Ss, Stack, T, Ts, Tzr);
yeccpars2_354(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_354_(Stack),
- yeccgoto_typed_exprs(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_355(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 356, Ss, Stack, T, Ts, Tzr);
-yeccpars2_355(S, '::', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 357, Ss, Stack, T, Ts, Tzr);
yeccpars2_355(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_|Nss] = Ss,
NewStack = yeccpars2_355_(Stack),
- yeccgoto_exprs(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_356: see yeccpars2_173
+yeccpars2_356(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 358, Ss, Stack, T, Ts, Tzr);
+yeccpars2_356(S, ']', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 359, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_357: see yeccpars2_32
+yeccpars2_357(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_357_(Stack),
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_358(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_358_(Stack),
- yeccgoto_typed_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_358(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 360, Ss, Stack, T, Ts, Tzr).
yeccpars2_359(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
NewStack = yeccpars2_359_(Stack),
- yeccgoto_typed_exprs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_360: see yeccpars2_173
+yeccpars2_360(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 361, Ss, Stack, T, Ts, Tzr).
-yeccpars2_361(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_361_(Stack),
- yeccgoto_typed_exprs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_361(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 362, Ss, Stack, T, Ts, Tzr).
-yeccpars2_362(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_362_(Stack),
- yeccgoto_typed_exprs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_362(S, ']', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 363, Ss, Stack, T, Ts, Tzr).
yeccpars2_363(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
+ [_,_,_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_363_(Stack),
- yeccgoto_typed_record_fields(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_364(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_364_(Stack),
- yeccgoto_attr_val(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_364(S, '>>', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 379, Ss, Stack, T, Ts, Tzr).
-yeccpars2_365(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_365_(Stack),
- yeccgoto_attribute(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_365(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 373, Ss, Stack, T, Ts, Tzr);
+yeccpars2_365(S, '>>', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 374, Ss, Stack, T, Ts, Tzr).
-yeccpars2_366(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 368, Ss, Stack, T, Ts, Tzr);
-yeccpars2_366(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 369, Ss, Stack, T, Ts, Tzr).
+yeccpars2_366(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_366_(Stack),
+ yeccgoto_binary_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_367(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_367_(Stack),
- yeccgoto_record_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_367(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 368, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_368: see yeccpars2_18
+yeccpars2_368(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 369, Ss, Stack, T, Ts, Tzr);
+yeccpars2_368(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 370, Ss, Stack, T, Ts, Tzr).
-yeccpars2_369(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 373, Ss, Stack, T, Ts, Tzr);
-yeccpars2_369(S, '}', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 374, Ss, Stack, T, Ts, Tzr);
-yeccpars2_369(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_369(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_369_(Stack),
+ yeccgoto_bin_base_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_370(S, '}', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 381, Ss, Stack, T, Ts, Tzr).
+yeccpars2_370(S, '*', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 371, Ss, Stack, T, Ts, Tzr).
-yeccpars2_371(S, ',', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 379, Ss, Stack, T, Ts, Tzr);
-yeccpars2_371(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_371_(Stack),
- yeccgoto_record_fields(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+yeccpars2_371(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 372, Ss, Stack, T, Ts, Tzr).
-yeccpars2_372(S, '=', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 377, Ss, Stack, T, Ts, Tzr).
+yeccpars2_372(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_372_(Stack),
+ yeccgoto_bin_unit_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_373(S, '=', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 375, Ss, Stack, T, Ts, Tzr).
+yeccpars2_373(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 376, Ss, Stack, T, Ts, Tzr).
yeccpars2_374(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_374_(Stack),
- yeccgoto_record_tuple(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_binary_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_375: see yeccpars2_173
+yeccpars2_375(S, '>>', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 378, Ss, Stack, T, Ts, Tzr).
-yeccpars2_376(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_376_(Stack),
- yeccgoto_record_field(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_376(S, ':', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 377, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_377: see yeccpars2_173
+yeccpars2_377(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 370, Ss, Stack, T, Ts, Tzr).
yeccpars2_378(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
+ [_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_378_(Stack),
- yeccgoto_record_field(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_binary_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_379(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 373, Ss, Stack, T, Ts, Tzr);
-yeccpars2_379(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_379(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_379_(Stack),
+ yeccgoto_binary_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_380(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
+ [_|Nss] = Ss,
NewStack = yeccpars2_380_(Stack),
- yeccgoto_record_fields(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_int_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_381(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_381_(Stack),
- yeccgoto_record_tuple(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_381: see yeccpars2_318
yeccpars2_382(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_,_|Nss] = Ss,
NewStack = yeccpars2_382_(Stack),
- yeccgoto_record_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_fun_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_383: see yeccpars2_347
+yeccpars2_383(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 384, Ss, Stack, T, Ts, Tzr).
yeccpars2_384(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
NewStack = yeccpars2_384_(Stack),
- yeccgoto_attr_val(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_385(S, '#', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 172, Ss, Stack, T, Ts, Tzr);
-yeccpars2_385(S, '(', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 197, Ss, Stack, T, Ts, Tzr);
-yeccpars2_385(S, '+', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 174, Ss, Stack, T, Ts, Tzr);
-yeccpars2_385(S, '-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 175, Ss, Stack, T, Ts, Tzr);
-yeccpars2_385(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 176, Ss, Stack, T, Ts, Tzr);
-yeccpars2_385(S, atom, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr);
-yeccpars2_385(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 180, Ss, Stack, T, Ts, Tzr);
-yeccpars2_385(S, 'not', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 188, Ss, Stack, T, Ts, Tzr);
-yeccpars2_385(S, 'spec', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr);
-yeccpars2_385(S, var, Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 193, Ss, Stack, T, Ts, Tzr);
yeccpars2_385(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 194, Ss, Stack, T, Ts, Tzr);
-yeccpars2_385(S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars1(S, 386, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_386: see yeccpars2_385
+yeccpars2_386(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 389, Ss, Stack, T, Ts, Tzr);
+yeccpars2_386(S, '}', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 390, Ss, Stack, T, Ts, Tzr).
-yeccpars2_387(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_387_(Stack),
- yeccgoto_expr_100(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_387(S, '}', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 395, Ss, Stack, T, Ts, Tzr).
+yeccpars2_388(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 393, Ss, Stack, T, Ts, Tzr);
yeccpars2_388(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
NewStack = yeccpars2_388_(Stack),
- yeccgoto_expr_100(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_field_types(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-%% yeccpars2_389: see yeccpars2_385
+yeccpars2_389(S, '::', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 391, Ss, Stack, T, Ts, Tzr).
yeccpars2_390(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
+ [_,_,_|Nss] = Ss,
NewStack = yeccpars2_390_(Stack),
- yeccgoto_expr_150(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_391: see yeccpars2_385
+%% yeccpars2_391: see yeccpars2_318
yeccpars2_392(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
NewStack = yeccpars2_392_(Stack),
- yeccgoto_expr_160(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_field_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_393: see yeccpars2_385
+yeccpars2_393(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 389, Ss, Stack, T, Ts, Tzr).
yeccpars2_394(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_394_(Stack),
+ yeccgoto_field_types(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_395(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_395_(Stack),
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_396(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_396(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 397, Ss, Stack, T, Ts, Tzr).
-yeccpars2_397(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_397(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 320, Ss, Stack, T, Ts, Tzr);
+yeccpars2_397(S, integer, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 325, Ss, Stack, T, Ts, Tzr).
yeccpars2_398(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_398_(Stack),
+ yeccgoto_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_399(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_399: see yeccpars2_318
yeccpars2_400(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_400_(Stack),
+ yeccgoto_top_types(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_401(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_comp_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_401(S, '->', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 402, Ss, Stack, T, Ts, Tzr).
-yeccpars2_402(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_402_(Stack),
- yeccgoto_expr_200(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_402: see yeccpars2_318
-%% yeccpars2_403: see yeccpars2_385
+yeccpars2_403(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_403_(Stack),
+ yeccgoto_fun_type(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_404: see yeccpars2_385
+%% yeccpars2_404: see yeccpars2_331
yeccpars2_405(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_405_(Stack),
+ yeccgoto_top_type_100(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_406(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_list_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_406(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 409, Ss, Stack, T, Ts, Tzr).
yeccpars2_407(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_407_(Stack),
+ yeccgoto_type_sig(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_408(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 413, Ss, Stack, T, Ts, Tzr);
yeccpars2_408(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_list_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_408_(Stack),
+ yeccgoto_type_guards(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-yeccpars2_409(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_409(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 410, Ss, Stack, T, Ts, Tzr).
-yeccpars2_410(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_410: see yeccpars2_318
-yeccpars2_411(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+yeccpars2_411(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 412, Ss, Stack, T, Ts, Tzr).
yeccpars2_412(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_412_(Stack),
+ yeccgoto_type_guard(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_413(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_413: see yeccpars2_406
yeccpars2_414(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_add_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccpars2_415(S, '*', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 417, Ss, Stack, T, Ts, Tzr);
-yeccpars2_415(S, '/', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 418, Ss, Stack, T, Ts, Tzr);
-yeccpars2_415(S, 'and', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 419, Ss, Stack, T, Ts, Tzr);
-yeccpars2_415(S, 'band', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 420, Ss, Stack, T, Ts, Tzr);
-yeccpars2_415(S, 'div', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 421, Ss, Stack, T, Ts, Tzr);
-yeccpars2_415(S, 'rem', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 422, Ss, Stack, T, Ts, Tzr);
-yeccpars2_415(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
- NewStack = yeccpars2_415_(Stack),
- yeccgoto_expr_400(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ NewStack = yeccpars2_414_(Stack),
+ yeccgoto_type_guards(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+
+%% yeccpars2_415: see yeccpars2_295
-%% yeccpars2_416: see yeccpars2_385
+yeccpars2_416(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_416_(Stack),
+ yeccgoto_type_sigs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_417(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_,_|Nss] = Ss,
+ NewStack = yeccpars2_417_(Stack),
+ yeccgoto_type_spec(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_418(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_418_(Stack),
+ yeccgoto_type_spec(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_419(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_419_(Stack),
+ yeccgoto_attribute(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_420(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 444, Ss, Stack, T, Ts, Tzr);
+yeccpars2_420(S, '::', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 426, Ss, Stack, T, Ts, Tzr);
yeccpars2_420(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ NewStack = yeccpars2_420_(Stack),
+ yeccgoto_attr_val(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
yeccpars2_421(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_421_(Stack),
+ yeccgoto_attribute(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_422(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccgoto_mult_op(hd(Ss), Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_422: see yeccpars2_45
-yeccpars2_423(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_423_(Stack),
- yeccgoto_expr_500(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_423(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 443, Ss, Stack, T, Ts, Tzr).
-yeccpars2_424(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_424_(Stack),
- yeccgoto_expr_300(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_424(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 210, Ss, Stack, T, Ts, Tzr);
+yeccpars2_424(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 425, Ss, Stack, T, Ts, Tzr);
+yeccpars2_424(S, '::', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 426, Ss, Stack, T, Ts, Tzr).
-yeccpars2_425(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_425_(Stack),
- yeccgoto_function_call(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_425(S, '#', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 44, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, '(', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 45, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, '+', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 47, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, '-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 48, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, '.', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 49, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 52, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, 'bnot', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 54, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, 'catch', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 56, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, 'not', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 62, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, var, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 67, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, '{', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 430, Ss, Stack, T, Ts, Tzr);
+yeccpars2_425(S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_cont_13(S, Cat, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_426: see yeccpars2_18
+%% yeccpars2_426: see yeccpars2_318
-%% yeccpars2_427: see yeccpars2_317
+yeccpars2_427(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_427_(Stack),
+ yeccgoto_typed_attr_val(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_428(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
NewStack = yeccpars2_428_(Stack),
- yeccgoto_expr_800(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_typed_attr_val(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_429(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_|Nss] = Ss,
- NewStack = yeccpars2_429_(Stack),
- yeccgoto_expr_900(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+yeccpars2_429(S, ')', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 442, Ss, Stack, T, Ts, Tzr).
-%% yeccpars2_430: see yeccpars2_18
+%% yeccpars2_430: see yeccpars2_68
-yeccpars2_431(S, '.', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 433, Ss, Stack, T, Ts, Tzr);
-yeccpars2_431(S, '{', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 369, Ss, Stack, T, Ts, Tzr).
+yeccpars2_431(S, '}', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 441, Ss, Stack, T, Ts, Tzr).
+yeccpars2_432(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 438, Ss, Stack, T, Ts, Tzr);
yeccpars2_432(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
NewStack = yeccpars2_432_(Stack),
- yeccgoto_record_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_typed_exprs(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-%% yeccpars2_433: see yeccpars2_18
+yeccpars2_433(S, ',', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 434, Ss, Stack, T, Ts, Tzr);
+yeccpars2_433(S, '::', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 435, Ss, Stack, T, Ts, Tzr);
+yeccpars2_433(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_433_(Stack),
+ yeccgoto_exprs(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
-yeccpars2_434(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_,_|Nss] = Ss,
- NewStack = yeccpars2_434_(Stack),
- yeccgoto_record_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_434: see yeccpars2_45
-yeccpars2_435(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
- NewStack = yeccpars2_435_(Stack),
- yeccgoto_expr_600(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+%% yeccpars2_435: see yeccpars2_318
-yeccpars2_436(S, 'when', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 216, Ss, Stack, T, Ts, Tzr);
yeccpars2_436(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_436_(Stack),
- yeccpars2_438(438, Cat, [436 | Ss], NewStack, T, Ts, Tzr).
+ yeccgoto_typed_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_437(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_437_(Stack),
- yeccgoto_clause_args(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr).
+ yeccgoto_typed_exprs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_438(S, '->', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 222, Ss, Stack, T, Ts, Tzr);
-yeccpars2_438(S, ':-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 441, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_438: see yeccpars2_45
yeccpars2_439(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_439_(Stack),
- yeccgoto_rule_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_typed_exprs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_440(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_,_,_|Nss] = Ss,
+ [_,_|Nss] = Ss,
NewStack = yeccpars2_440_(Stack),
- yeccgoto_function_clause(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_typed_exprs(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_441: see yeccpars2_173
+yeccpars2_441(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_441_(Stack),
+ yeccgoto_typed_record_fields(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_442(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
+ [_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_442_(Stack),
- yeccgoto_rule_body(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+ yeccgoto_attr_val(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
yeccpars2_443(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- [_|Nss] = Ss,
+ [_,_,_,_|Nss] = Ss,
NewStack = yeccpars2_443_(Stack),
+ yeccgoto_attribute(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+
+%% yeccpars2_444: see yeccpars2_425
+
+yeccpars2_445(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_,_|Nss] = Ss,
+ NewStack = yeccpars2_445_(Stack),
+ yeccgoto_attr_val(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
+
+yeccpars2_446(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ [_|Nss] = Ss,
+ NewStack = yeccpars2_446_(Stack),
yeccgoto_form(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-yeccpars2_444(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_447(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_|Nss] = Ss,
- NewStack = yeccpars2_444_(Stack),
+ NewStack = yeccpars2_447_(Stack),
yeccgoto_form(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_445: see yeccpars2_18
+yeccpars2_448(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 450, Ss, Stack, T, Ts, Tzr).
-yeccpars2_446(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_449(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
- NewStack = yeccpars2_446_(Stack),
+ NewStack = yeccpars2_449_(Stack),
yeccgoto_function_clauses(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_447: see yeccpars2_9
+%% yeccpars2_450: see yeccpars2_10
-yeccpars2_448(S, 'when', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 216, Ss, Stack, T, Ts, Tzr);
-yeccpars2_448(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_448_(Stack),
- yeccpars2_215(449, Cat, [448 | Ss], NewStack, T, Ts, Tzr).
+yeccpars2_451(S, 'when', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 84, Ss, Stack, T, Ts, Tzr);
+yeccpars2_451(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_451_(Stack),
+ yeccpars2_83(452, Cat, [451 | Ss], NewStack, T, Ts, Tzr).
-%% yeccpars2_449: see yeccpars2_215
+%% yeccpars2_452: see yeccpars2_83
-yeccpars2_450(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_453(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_|Nss] = Ss,
- NewStack = yeccpars2_450_(Stack),
+ NewStack = yeccpars2_453_(Stack),
yeccgoto_form(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_451: see yeccpars2_18
+yeccpars2_454(S, atom, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 456, Ss, Stack, T, Ts, Tzr).
-yeccpars2_452(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccpars2_455(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
[_,_|Nss] = Ss,
- NewStack = yeccpars2_452_(Stack),
+ NewStack = yeccpars2_455_(Stack),
yeccgoto_rule_clauses(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr).
-%% yeccpars2_453: see yeccpars2_9
-
-yeccpars2_454(S, 'when', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 216, Ss, Stack, T, Ts, Tzr);
-yeccpars2_454(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- NewStack = yeccpars2_454_(Stack),
- yeccpars2_455(455, Cat, [454 | Ss], NewStack, T, Ts, Tzr).
-
-yeccpars2_455(S, ':-', Ss, Stack, T, Ts, Tzr) ->
- yeccpars1(S, 441, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_add_op(159, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_385(404, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_argument_list(9=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_437(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_argument_list(155=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_425(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_argument_list(185, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_284(284, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_argument_list(297, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_284(284, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_argument_list(447=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_437(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_argument_list(453=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_437(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_atom1(0, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_9(9, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(14, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(18, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(23, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(31, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_88(88, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(32, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(36, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(40, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(44, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(50, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(56, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(84, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(89, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_92(92, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(94, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(96, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_92(92, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(99, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(100, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_101(101, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(102, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(112, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(115, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(117, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(119, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_122(122, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(123, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(126, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_122(122, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(132, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_133(133, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(172, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_366(366, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_344(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(185, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_283(283, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_227(227, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_227(227, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(292, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_293(293, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(335, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_338(338, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(341, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_338(338, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(348, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(357, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(368=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_382(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(369, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_372(372, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(379, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_372(372, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(426=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_429(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(430, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_431(431, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(433=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_434(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_171(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(445, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_9(447, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atom1(451, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_9(453, Cat, Ss, Stack, T, Ts, Tzr).
+%% yeccpars2_456: see yeccpars2_10
+
+yeccpars2_457(S, 'when', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 84, Ss, Stack, T, Ts, Tzr);
+yeccpars2_457(_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ NewStack = yeccpars2_457_(Stack),
+ yeccpars2_458(458, Cat, [457 | Ss], NewStack, T, Ts, Tzr).
+
+yeccpars2_458(S, ':-', Ss, Stack, T, Ts, Tzr) ->
+ yeccpars1(S, 290, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_add_op(33, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_230(249, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_argument_list(10=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_12(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_argument_list(29=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_270(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_argument_list(59, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_151(151, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_argument_list(161, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_151(151, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_argument_list(450=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_12(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_argument_list(456=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_12(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_atomic(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_atomic(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_atomic(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_atomic(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_atomic(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_atomic(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_170(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_attr_val(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_169(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_atomic(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_43(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_attr_val(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_421(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_attribute(0, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_8(8, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_bin_base_type(35, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_68(68, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_bin_base_type(321, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_365(365, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_bin_element(177, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_322(322, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_bin_element(324, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_322(322, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_bin_element(50, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_186(186, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_bin_element(188, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_186(186, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_bin_elements(177, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_321(321, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_bin_elements(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_325(_S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_bin_elements(50, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_185(185, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_bin_elements(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_189(_S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_bin_unit_type(35, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_67(67, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_bin_unit_type(76, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_78(78, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_bin_unit_type(321, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_364(364, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_bin_unit_type(373, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_375(375, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_binary(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(177, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_320(320, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(50, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_184(184, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_133(133, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_133(133, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_binary(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_133(133, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_binary(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_binary(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_265(265, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_265(265, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_265(265, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_168(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_265(265, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_133(133, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_binary_comprehension(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_binary_comprehension(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_binary_comprehension(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_binary_comprehension(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_binary_comprehension(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_comprehension(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_167(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_binary_type(23=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(32=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(36=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(40=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(44=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(94=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(99=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(102=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(112=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(115=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(123=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(348=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_binary_type(357=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_bit_expr(177, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_319(319, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_bit_expr(324, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_319(319, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_bit_size_expr(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_333(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_bit_type(335, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_337(337, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_bit_type(341, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_337(337, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_bit_type_list(335=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_336(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_bit_type_list(341=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_342(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_comprehension(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_41(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_binary_type(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(318=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(322=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(337=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(343=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(346=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(349=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(381=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(399=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(402=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(410=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(426=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_binary_type(435=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_bit_expr(50, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_183(183, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_bit_expr(188, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_183(183, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_bit_size_expr(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_197(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_bit_type(199, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_201(201, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_bit_type(205, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_201(201, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_bit_type_list(199=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_200(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_bit_type_list(205=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_206(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_case_expr(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_case_expr(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_case_expr(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_case_expr(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_case_expr(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_case_expr(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_166(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_clause_args(9, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_436(436, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_args(447, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_448(448, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_args(453, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_454(454, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_clause_body(215=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_221(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_body(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_232(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_body(235=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_236(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_body(237=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_238(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_body(250, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_251(251, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_body(255, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_256(256, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_body(276=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_277(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_body(289=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_290(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_body(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_440(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_body(449=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_440(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_clause_guard(209, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_215(215, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_guard(226, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_215(237, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_guard(230, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_215(231, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_guard(234, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_215(235, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_guard(284, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_215(289, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_guard(436, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_438(438, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_guard(448, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_215(449, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_clause_guard(454, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_455(455, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_comp_op(160, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_385(393, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_cr_clause(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_211(211, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_cr_clause(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_211(211, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_cr_clause(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_211(211, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_cr_clause(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_211(211, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_cr_clauses(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_248(248, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_cr_clauses(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_210(210, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_cr_clauses(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_213(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_cr_clauses(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_303(303, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_case_expr(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_clause_args(10, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_11(11, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_args(450, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_451(451, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_args(456, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_457(457, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_clause_body(83=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_89(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_body(99=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_100(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_body(103=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_104(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_body(105=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_106(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_body(118, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_119(119, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_body(123, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_124(124, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_body(144=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_body(159=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_160(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_body(287=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_289(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_body(452=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_289(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_clause_guard(11, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_287(287, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_guard(77, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_83(83, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_guard(94, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_83(105, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_guard(98, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_83(99, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_guard(102, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_83(103, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_guard(151, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_83(159, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_guard(451, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_83(452, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_clause_guard(457, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_458(458, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_comp_op(34, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_230(238, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_cr_clause(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_79(79, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_cr_clause(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_79(79, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_cr_clause(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_79(79, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_cr_clause(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_79(79, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_cr_clauses(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_116(116, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_cr_clauses(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_78(78, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_cr_clauses(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_81(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_cr_clauses(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_167(167, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_165(165, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_346(346, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_307(307, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_301(301, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_300(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_209(209, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_199(199, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_226(226, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(208, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(45, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_209(209, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_209(209, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_230(230, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_234(234, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_226(226, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_215(250, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_215(255, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_260(260, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_264(264, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_267(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_269(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_264(264, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_209(209, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_313(313, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_264(264, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_355(355, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_355(355, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_355(355, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_376(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_378(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_196(196, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_264(264, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_expr(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_171(171, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_165(165, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_77(77, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_94(94, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_77(77, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_77(77, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_98(98, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_102(102, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_94(94, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_83(118, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_83(123, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_128(128, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_132(132, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_135(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_137(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_132(132, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_77(77, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_179(179, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_177(177, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_132(132, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_221(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_223(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_132(132, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_420(420, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_424(424, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_433(433, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_433(433, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_433(433, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_100(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_100(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_388(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_387(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_100(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_164(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_233(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_232(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_100(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_38(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_150(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(182, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_150(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(266, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(268, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(375, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(377, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(385, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(386, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_390(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_150(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_163(163, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_235(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_150(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_37(37, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_160(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(182, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_160(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(266, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(268, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(375, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(377, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(385, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(386, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(389, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_392(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_160(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_162(162, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(234, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_237(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_160(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_36(36, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_200(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(182, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_200(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(266, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(268, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(375, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(377, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(385, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(386, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(389, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(391, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_200(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_161(161, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(234, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(236, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_200(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_300(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(182, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_300(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(266, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(268, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(375, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(377, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(385, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(386, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(389, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(391, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_402(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_424(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_300(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_160(160, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(234, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(236, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_247(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_269(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_300(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_34(34, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_400(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(182, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_400(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(266, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(268, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(375, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(377, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(385, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(386, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(389, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(391, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(393, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(403, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_400(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_159(159, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(234, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(236, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(238, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(248, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_400(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_500(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(182, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_500(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(234, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(236, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(238, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(248, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_500(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(266, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(268, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(375, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(377, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(385, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(386, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(389, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(391, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(393, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(403, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(404, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_415(415, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_500(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_158(158, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_260(260, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_500(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_600(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_600(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_600(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_600(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_423(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_600(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_157(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_268(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_600(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_700(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_435(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_281(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_700(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_700(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_700(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_700(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_156(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_700(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_800(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(147, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(182, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(20, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_800(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(234, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(236, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(238, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(248, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_800(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_800(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(266, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(268, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(375, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(377, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(385, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(386, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(389, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(391, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(393, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(403, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(404, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(416, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_800(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_155(155, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_800(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_900(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(147, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(182, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(20, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_900(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(234, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(236, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(238, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(248, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_900(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_900(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(266, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(268, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(375, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(377, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(385, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(386, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(389, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(391, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(393, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(403, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(404, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(416, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_900(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_154(154, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_900(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_expr_max(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(147, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_318(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(182, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(20, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_182(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_207(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_182(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_196(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_max(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(234, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(236, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(238, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(248, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_max(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_expr_max(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(266, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(268, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_343(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_318(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_332(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(375, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(377, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(385, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(386, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(389, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(391, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(393, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(403, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(404, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(416, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_428(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_expr_max(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_153(153, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_exprs(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_305(305, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_218(218, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_204(204, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_195(195, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_202(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_245(245, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_218(218, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_218(218, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_223(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_243(243, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_218(218, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_286(286, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_351(351, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_195(195, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_202(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_362(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_exprs(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_384(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_field_type(89, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_91(91, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_field_type(96, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_91(91, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_field_types(89, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_90(90, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_field_types(96=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_97(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_273(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_expr_max(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_exprs(13, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_26(26, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_169(169, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_86(86, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_72(72, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_69(69, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_113(113, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_86(86, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_86(86, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_91(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_111(111, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_86(86, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_229(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_429(429, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_69(69, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_229(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_440(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_exprs(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_445(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_field_type(386, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_388(388, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_field_type(393, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_388(388, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_field_types(386, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_387(387, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_field_types(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_394(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_form(0, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_7(7, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_fun_clause(185, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_282(282, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_clause(297, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_282(282, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_fun_clause(59, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_150(150, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_clause(161, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_150(150, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_fun_clauses(185, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_281(281, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_clauses(297=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_298(_S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_fun_clauses(59, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_149(149, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_clauses(161=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_162(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_fun_expr(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_fun_expr(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_fun_expr(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_fun_expr(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_fun_expr(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_expr(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_152(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_fun_type(16, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_type(19, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_type(47=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_49(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_fun_type(128, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_fun_type_100(47, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_48(48, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_expr(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_fun_type(295, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_309(309, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_type(306, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_309(309, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_type(334=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_336(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_fun_type(415, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_309(309, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_fun_type_100(334, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_335(335, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_function(0, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_6(6, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_function_call(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_function_call(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_function_call(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_function_call(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_call(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_151(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_function_call(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_function_clause(0, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_5(5, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_clause(445, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccgoto_function_clause(448, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_5(5, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_function_clauses(0=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_4(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_function_clauses(445=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_446(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_guard(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_215(276, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_guard(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_217(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_guard(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_220(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_guard(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_215(276, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_if_clause(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_275(275, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_clause(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_275(275, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_if_clauses(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_274(274, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_clauses(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_279(_S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_function_clauses(448=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_449(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_guard(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_83(144, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_guard(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_85(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_guard(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_88(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_guard(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_83(144, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_if_clause(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_143(143, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_clause(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_143(143, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_if_clauses(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_142(142, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_clauses(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_147(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_if_expr(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_if_expr(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_if_expr(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_if_expr(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_if_expr(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_if_expr(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_150(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_int_type(23, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(32, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(36, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(40, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(44, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(50, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(56, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(84, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(94, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(99, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(102, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(110=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_111(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(112, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(115, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(117, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(123, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(348, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_int_type(357, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_28(28, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_lc_expr(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_263(263, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_lc_expr(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_263(263, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_lc_expr(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_263(263, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_lc_expr(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_263(263, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_lc_exprs(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_262(262, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_lc_exprs(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_271(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_lc_exprs(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_328(328, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_lc_exprs(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_442(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_if_expr(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_int_type(310, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(318, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(322, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(327, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(331, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(337, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(343, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(346, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(349, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(381, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(391, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(397=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_398(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(399, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(402, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(404, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(410, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(426, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_int_type(435, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_315(315, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_lc_expr(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_131(131, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_lc_expr(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_131(131, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_lc_expr(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_131(131, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_lc_expr(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_131(131, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_lc_exprs(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_130(130, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_lc_exprs(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_139(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_lc_exprs(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_192(192, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_lc_exprs(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_291(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_list(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_list(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_list(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_list(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_list(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_149(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_list_comprehension(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(63, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_126(126, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_list_comprehension(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(189, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_258(258, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_list_comprehension(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_list_comprehension(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_list_comprehension(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_list_comprehension(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_148(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_list_op(159, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_385(403, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_mult_op(158, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_385(416, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_mult_op(415, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_385(416, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_opt_bit_size_expr(319, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_330(330, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_opt_bit_type_list(330=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_334(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_list_comprehension(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_list_op(33, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_230(248, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_mult_op(32, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_230(261, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_mult_op(260, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_230(261, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_opt_bit_size_expr(183, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_194(194, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_opt_bit_type_list(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_198(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_prefix_op(13, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(177, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_317(317, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(178, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(179, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(181, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(182, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(186, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(190, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(192, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(194, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(197, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(201, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(206, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(208, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(212, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(216, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(219, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(50, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_181(181, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(188, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_181(181, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_prefix_op(222, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(229, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(233, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(241, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(234, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(236, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(238, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(248, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_prefix_op(249, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(253, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(259, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_prefix_op(261, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(266, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(268, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(270, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(278, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(285, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(302, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(310, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(312, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(324, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_317(317, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(327, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(347, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(375, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(377, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(383, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(385, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(386, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(389, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(391, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(393, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(403, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(404, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(416, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_prefix_op(441, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_147(147, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_prefix_op(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_query_expr(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_query_expr(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_query_expr(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_query_expr(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_query_expr(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_query_expr(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_146(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_query_expr(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_receive_expr(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_receive_expr(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_receive_expr(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_receive_expr(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_receive_expr(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_receive_expr(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_145(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_record_expr(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_expr(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_144(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_record_field(369, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_371(371, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_field(379, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_371(371, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_record_fields(369, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_370(370, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_fields(379=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_380(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_record_tuple(366=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_367(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_record_tuple(431=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_432(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_receive_expr(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_record_expr(13, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(20, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(45, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(51, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(53, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(55, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(56, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(60, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(64, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(66, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(68, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(74, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(76, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(80, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(84, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(87, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(90, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(97, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(101, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(109, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(117, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(121, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(127, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(129, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(134, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(136, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(138, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(146, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(166, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(174, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(176, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(191, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(220, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(222, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(228, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(230, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(231, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(234, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(236, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(238, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(248, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(249, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(261, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(290, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(292, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(425, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_expr(444, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_17(17, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_record_field(214, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_216(216, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_field(224, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_216(216, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_record_fields(214, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_215(215, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_fields(224=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_225(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_record_tuple(211=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_212(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_tuple(276=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_277(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_record_tuple(283=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_284(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_rule(0, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_3(3, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_rule_body(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_439(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_rule_body(455=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_439(_S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_rule_body(287=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_288(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_rule_body(458=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_288(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_rule_clause(0, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_2(2, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_rule_clause(451, Cat, Ss, Stack, T, Ts, Tzr) ->
+yeccgoto_rule_clause(454, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_2(2, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_rule_clauses(0=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
yeccpars2_1(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_rule_clauses(451=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_452(_S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_rule_clauses(454=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_455(_S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_spec_fun(14, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_16(16, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_spec_fun(18, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_16(19, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_spec_fun(293, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_295(295, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_spec_fun(296, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_295(306, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_strings(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(65=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_115(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_strings(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_strings(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_247(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_strings(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_strings(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_strings(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_strings(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_143(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_tail(307=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_309(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tail(315=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_316(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_top_type(23, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(32, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_86(86, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(36, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_59(59, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(40, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(50, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_57(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_85(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(94=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_95(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(99, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(102, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(112, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(115=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_116(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(123, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(348=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_349(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type(357=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_358(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_top_type_100(23=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(32=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(36=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(40=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(44=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_45(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(94=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(99=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(102=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(112=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(115=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_118(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(123=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(348=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_type_100(357=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_top_types(23, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_25(25, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_types(40, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_41(41, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_types(50, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_25(25, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_types(99, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_106(106, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_types(102, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_103(103, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_types(112=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_113(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_top_types(123, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_124(124, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_try_catch(204=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_205(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_catch(210=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_214(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_try_clause(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_225(225, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_clause(239, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_225(225, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_try_clauses(207, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_224(224, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_clauses(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_240(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_strings(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_tail(171=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_173(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tail(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_180(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_top_type(310, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_314(314, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(318, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_383(383, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(322, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_356(356, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(327, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_314(314, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(337, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_314(314, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(343=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_344(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(346, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_314(314, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(349, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_314(314, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(381=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_382(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_392(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(399, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_314(314, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(402=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_403(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(410, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_314(314, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(426=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_427(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type(435=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_436(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_top_type_100(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(318=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(322=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_332(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(337=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(343=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(346=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(349=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(381=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(399=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(402=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_405(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(410=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(426=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_type_100(435=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_313(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_top_types(310, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_312(312, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_types(327, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_328(328, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_types(337, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_312(312, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_types(346, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_353(353, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_types(349, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_350(350, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_types(399=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_400(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_top_types(410, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_411(411, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_try_catch(72=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_73(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_catch(78=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_82(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_try_clause(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_93(93, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_clause(107, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_93(93, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_try_clauses(75, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_92(92, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_clauses(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_108(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_try_expr(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_try_expr(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_try_expr(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_try_expr(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_try_expr(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_try_expr(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_142(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_try_expr(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr).
yeccgoto_tuple(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(147=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(173=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(177=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(178=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(179=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(20=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(45=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(50=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(51=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(53=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(55=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(56=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(60=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(64=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(66=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(68=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(74=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(75=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(76=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(80=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(84=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(87=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(90=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(97=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(101=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(107=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(109=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(117=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(121=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(127=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(129=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(134=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(136=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(138=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(146=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(166=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(174=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(176=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_tuple(181=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(182=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(186=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(190=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(192=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(194=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(197=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(201=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(206=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(207=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(208=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(212=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(216=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(219=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(188=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(191=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(195=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(220=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_tuple(222=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(229=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(233=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(239=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(241=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(228=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(230=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(231=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(234=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(236=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(238=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(248=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_tuple(249=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(253=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(259=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
yeccgoto_tuple(261=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(266=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(268=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(270=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(278=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(285=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(302=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(310=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(312=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(317=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(324=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(327=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(331=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(352=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(375=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(377=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(385=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(386=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(389=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(391=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(393=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(403=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(404=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(416=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(427=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_tuple(441=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_141(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_type(23, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(32, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(36, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(40, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(44, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(50, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(56, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(84, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(94, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(99, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(102, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(112, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(115, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(117, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(123, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(348, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type(357, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_type_guard(119, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_121(121, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type_guard(126, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_121(121, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_type_guards(119=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_120(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type_guards(126=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_127(_S, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_type_sig(16, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_21(21, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type_sig(19, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_21(21, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type_sig(128, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_21(21, Cat, Ss, Stack, T, Ts, Tzr).
-
-yeccgoto_type_sigs(16=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_139(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type_sigs(19, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_type_sigs(128=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_129(_S, Cat, Ss, Stack, T, Ts, Tzr).
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(272=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(290=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(422=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(430=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_tuple(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_type(310, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(318, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(322, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(327, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(331, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(337, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(343, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(346, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(349, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(381, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(391, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(399, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(402, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(404, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(410, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(426, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type(435, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_311(311, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_type_guard(406, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_408(408, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type_guard(413, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_408(408, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_type_guards(406=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_407(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type_guards(413=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_414(_S, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_type_sig(295, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_308(308, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type_sig(306, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_308(308, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type_sig(415, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_308(308, Cat, Ss, Stack, T, Ts, Tzr).
+
+yeccgoto_type_sigs(295=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_418(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type_sigs(306, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_307(307, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_type_sigs(415=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_416(_S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_type_spec(14=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_type_spec(293=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_294(_S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_typed_attr_val(13=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_140(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_typed_attr_val(173, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_345(345, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_typed_attr_val(292=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_419(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_typed_attr_val(422, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_423(423, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_typed_expr(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_354(354, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_typed_expr(356, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_354(354, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_typed_expr(360, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_354(354, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_typed_expr(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_432(432, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_typed_expr(434, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_432(432, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_typed_expr(438, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_432(432, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_typed_exprs(352, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_353(353, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_typed_exprs(356=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_359(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_typed_exprs(360=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_361(_S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_typed_exprs(430, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_431(431, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_typed_exprs(434=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_437(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_typed_exprs(438=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_439(_S, Cat, Ss, Stack, T, Ts, Tzr).
-yeccgoto_typed_record_fields(347=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_350(_S, Cat, Ss, Stack, T, Ts, Tzr);
-yeccgoto_typed_record_fields(383=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
- yeccpars2_350(_S, Cat, Ss, Stack, T, Ts, Tzr).
+yeccgoto_typed_record_fields(425=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_428(_S, Cat, Ss, Stack, T, Ts, Tzr);
+yeccgoto_typed_record_fields(444=_S, Cat, Ss, Stack, T, Ts, Tzr) ->
+ yeccpars2_428(_S, Cat, Ss, Stack, T, Ts, Tzr).
-compile({inline,yeccpars2_1_/1}).
--file("erl_parse.yrl", 486).
+-file("erl_parse.yrl", 476).
yeccpars2_1_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
@@ -7793,7 +7590,7 @@ yeccpars2_1_(__Stack0) ->
end | __Stack].
-compile({inline,yeccpars2_2_/1}).
--file("erl_parse.yrl", 488).
+-file("erl_parse.yrl", 478).
yeccpars2_2_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
@@ -7801,7 +7598,7 @@ yeccpars2_2_(__Stack0) ->
end | __Stack].
-compile({inline,yeccpars2_4_/1}).
--file("erl_parse.yrl", 191).
+-file("erl_parse.yrl", 186).
yeccpars2_4_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
@@ -7809,1442 +7606,1451 @@ yeccpars2_4_(__Stack0) ->
end | __Stack].
-compile({inline,yeccpars2_5_/1}).
--file("erl_parse.yrl", 193).
+-file("erl_parse.yrl", 188).
yeccpars2_5_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
[ __1 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7819).
+-compile({inline,yeccpars2_11_/1}).
+-file("erl_parse.yrl", 198).
+yeccpars2_11_(__Stack0) ->
+ [begin
+ [ ]
+ end | __Stack0].
+
-compile({inline,yeccpars2_12_/1}).
--file("erl_parse.yrl", 79).
+-file("erl_parse.yrl", 195).
yeccpars2_12_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
- { atom , ? line ( __1 ) , 'spec' }
- end | __Stack].
-
--compile({inline,yeccpars2_15_/1}).
--file("erl_parse.yrl", 77).
-yeccpars2_15_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
- [begin
- build_type_spec ( __2 , __3 )
+ element ( 1 , __1 )
end | __Stack].
--compile({inline,yeccpars2_21_/1}).
--file("erl_parse.yrl", 104).
-yeccpars2_21_(__Stack0) ->
+-compile({inline,yeccpars2_39_/1}).
+-file("erl_parse.yrl", 427).
+yeccpars2_39_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
[ __1 ]
end | __Stack].
--compile({inline,yeccpars2_27_/1}).
--file("erl_parse.yrl", 117).
-yeccpars2_27_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7639).
+-compile({inline,yeccpars2_46_/1}).
+-file("erl_parse.yrl", 423).
+yeccpars2_46_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ { [ ] , ? line ( __1 ) }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7852).
--compile({inline,yeccpars2_42_/1}).
--file("erl_parse.yrl", 140).
-yeccpars2_42_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7648).
+-compile({inline,yeccpars2_70_/1}).
+-file("erl_parse.yrl", 314).
+yeccpars2_70_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , tuple , [ ] }
+ { tuple , ? line ( __1 ) , [ ] }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7861).
--compile({inline,yeccpars2_43_/1}).
--file("erl_parse.yrl", 141).
-yeccpars2_43_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7657).
+-compile({inline,yeccpars2_71_/1}).
+-file("erl_parse.yrl", 315).
+yeccpars2_71_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , tuple , __2 }
+ { tuple , ? line ( __1 ) , __2 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7870).
--compile({inline,yeccpars2_45_/1}).
--file("erl_parse.yrl", 120).
-yeccpars2_45_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7666).
+-compile({inline,yeccpars2_73_/1}).
+-file("erl_parse.yrl", 397).
+yeccpars2_73_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { ann_type , ? line ( __1 ) , [ __1 , __3 ] }
+ build_try ( ? line ( __1 ) , __2 , [ ] , __3 )
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7879).
--compile({inline,yeccpars2_51_/1}).
--file("erl_parse.yrl", 149).
-yeccpars2_51_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_77_/1}).
+-file("erl_parse.yrl", 198).
+yeccpars2_77_(__Stack0) ->
[begin
- { type , ? line ( __1 ) , 'fun' , [ ] }
+ [ ]
+ end | __Stack0].
+
+-compile({inline,yeccpars2_79_/1}).
+-file("erl_parse.yrl", 366).
+yeccpars2_79_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
+ [begin
+ [ __1 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7888).
--compile({inline,yeccpars2_57_/1}).
--file("erl_parse.yrl", 157).
-yeccpars2_57_(__Stack0) ->
- [__7,__6,__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_81_/1}).
+-file("erl_parse.yrl", 367).
+yeccpars2_81_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , 'fun' ,
- [ { type , ? line ( __1 ) , any } , __7 ] }
+ [ __1 | __3 ]
end | __Stack].
--compile({inline,yeccpars2_58_/1}).
--file("erl_parse.yrl", 150).
-yeccpars2_58_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7698).
+-compile({inline,yeccpars2_82_/1}).
+-file("erl_parse.yrl", 395).
+yeccpars2_82_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- __3
+ build_try ( ? line ( __1 ) , __2 , __4 , __5 )
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7906).
--compile({inline,yeccpars2_60_/1}).
--file("erl_parse.yrl", 136).
-yeccpars2_60_(__Stack0) ->
+-compile({inline,yeccpars2_85_/1}).
+-file("erl_parse.yrl", 197).
+yeccpars2_85_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , nil , [ ] }
+ __2
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7915).
--compile({inline,yeccpars2_62_/1}).
--file("erl_parse.yrl", 137).
-yeccpars2_62_(__Stack0) ->
+-compile({inline,yeccpars2_86_/1}).
+-file("erl_parse.yrl", 430).
+yeccpars2_86_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
+ [begin
+ [ __1 ]
+ end | __Stack].
+
+-compile({inline,yeccpars2_88_/1}).
+-file("erl_parse.yrl", 431).
+yeccpars2_88_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , list , [ __2 ] }
+ [ __1 | __3 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7924).
--compile({inline,yeccpars2_66_/1}).
--file("erl_parse.yrl", 138).
-yeccpars2_66_(__Stack0) ->
- [__7,__6,__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7731).
+-compile({inline,yeccpars2_89_/1}).
+-file("erl_parse.yrl", 370).
+yeccpars2_89_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) ,
- nonempty_list , [ __2 ] }
+ { clause , ? line ( __1 ) , [ __1 ] , __2 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7934).
--compile({inline,yeccpars2_69_/1}).
--file("erl_parse.yrl", 173).
-yeccpars2_69_(__Stack0) ->
+-compile({inline,yeccpars2_91_/1}).
+-file("erl_parse.yrl", 200).
+yeccpars2_91_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , binary ,
- [ abstract ( 0 , ? line ( __1 ) ) ,
- abstract ( 0 , ? line ( __1 ) ) ] }
+ __2
end | __Stack].
--compile({inline,yeccpars2_72_/1}).
--file("erl_parse.yrl", 183).
-yeccpars2_72_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_93_/1}).
+-file("erl_parse.yrl", 406).
+yeccpars2_93_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
[begin
- build_bin_type ( [ __1 ] , __3 )
+ [ __1 ]
end | __Stack].
--compile({inline,yeccpars2_75_/1}).
--file("erl_parse.yrl", 185).
-yeccpars2_75_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_94_/1}).
+-file("erl_parse.yrl", 198).
+yeccpars2_94_(__Stack0) ->
[begin
- build_bin_type ( [ __1 , __3 ] , __5 )
- end | __Stack].
+ [ ]
+ end | __Stack0].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7961).
--compile({inline,yeccpars2_77_/1}).
--file("erl_parse.yrl", 176).
-yeccpars2_77_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_98_/1}).
+-file("erl_parse.yrl", 198).
+yeccpars2_98_(__Stack0) ->
[begin
- { type , ? line ( __1 ) , binary ,
- [ __2 , abstract ( 0 , ? line ( __1 ) ) ] }
- end | __Stack].
+ [ ]
+ end | __Stack0].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7971).
--compile({inline,yeccpars2_81_/1}).
--file("erl_parse.yrl", 181).
-yeccpars2_81_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7770).
+-compile({inline,yeccpars2_100_/1}).
+-file("erl_parse.yrl", 416).
+yeccpars2_100_(__Stack0) ->
[__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , binary , [ __2 , __4 ] }
+ L = ? line ( __1 ) ,
+ { clause , L , [ { tuple , L , [ __1 , __3 , { var , L , '_' } ] } ] , __4 , __5 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7980).
--compile({inline,yeccpars2_82_/1}).
--file("erl_parse.yrl", 178).
-yeccpars2_82_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_102_/1}).
+-file("erl_parse.yrl", 198).
+yeccpars2_102_(__Stack0) ->
[begin
- { type , ? line ( __1 ) , binary ,
- [ abstract ( 0 , ? line ( __1 ) ) , __2 ] }
- end | __Stack].
+ [ ]
+ end | __Stack0].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 7990).
--compile({inline,yeccpars2_83_/1}).
--file("erl_parse.yrl", 153).
-yeccpars2_83_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7787).
+-compile({inline,yeccpars2_104_/1}).
+-file("erl_parse.yrl", 413).
+yeccpars2_104_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- abstract ( - normalise ( __2 ) ,
- ? line ( __2 ) )
+ L = ? line ( __1 ) ,
+ { clause , L , [ { tuple , L , [ __1 , __3 , { var , L , '_' } ] } ] , __4 , __5 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8000).
--compile({inline,yeccpars2_85_/1}).
--file("erl_parse.yrl", 161).
-yeccpars2_85_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7797).
+-compile({inline,yeccpars2_106_/1}).
+-file("erl_parse.yrl", 410).
+yeccpars2_106_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , 'fun' ,
- [ { type , ? line ( __1 ) , product , [ ] } , __4 ] }
+ L = ? line ( __1 ) ,
+ { clause , L , [ { tuple , L , [ { atom , L , throw } , __1 , { var , L , '_' } ] } ] , __2 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8010).
--compile({inline,yeccpars2_87_/1}).
--file("erl_parse.yrl", 126).
-yeccpars2_87_(__Stack0) ->
+-compile({inline,yeccpars2_108_/1}).
+-file("erl_parse.yrl", 407).
+yeccpars2_108_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { paren_type , ? line ( __2 ) , [ __2 ] }
+ [ __1 | __3 ]
end | __Stack].
--compile({inline,yeccpars2_91_/1}).
--file("erl_parse.yrl", 167).
-yeccpars2_91_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_110_/1}).
+-file("erl_parse.yrl", 400).
+yeccpars2_110_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ { __2 , [ ] }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8027).
--compile({inline,yeccpars2_93_/1}).
--file("erl_parse.yrl", 142).
-yeccpars2_93_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_112_/1}).
+-file("erl_parse.yrl", 402).
+yeccpars2_112_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , record , [ __2 ] }
+ { __2 , __4 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8036).
--compile({inline,yeccpars2_95_/1}).
--file("erl_parse.yrl", 170).
-yeccpars2_95_(__Stack0) ->
+-compile({inline,yeccpars2_114_/1}).
+-file("erl_parse.yrl", 404).
+yeccpars2_114_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , field_type ,
- [ __1 , __3 ] }
+ { [ ] , __2 }
end | __Stack].
--compile({inline,yeccpars2_97_/1}).
--file("erl_parse.yrl", 168).
-yeccpars2_97_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7839).
+-compile({inline,yeccpars2_115_/1}).
+-file("erl_parse.yrl", 441).
+yeccpars2_115_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ { string , ? line ( __1 ) , element ( 3 , __1 ) ++ element ( 3 , __2 ) }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8054).
--compile({inline,yeccpars2_98_/1}).
--file("erl_parse.yrl", 143).
-yeccpars2_98_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7848).
+-compile({inline,yeccpars2_120_/1}).
+-file("erl_parse.yrl", 375).
+yeccpars2_120_(__Stack0) ->
[__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) ,
- record , [ __2 | __4 ] }
+ { 'receive' , ? line ( __1 ) , [ ] , __3 , __4 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8064).
--compile({inline,yeccpars2_104_/1}).
--file("erl_parse.yrl", 132).
-yeccpars2_104_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7857).
+-compile({inline,yeccpars2_122_/1}).
+-file("erl_parse.yrl", 373).
+yeccpars2_122_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { remote_type , ? line ( __1 ) ,
- [ __1 , __3 , [ ] ] }
+ { 'receive' , ? line ( __1 ) , __2 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8074).
--compile({inline,yeccpars2_105_/1}).
--file("erl_parse.yrl", 134).
-yeccpars2_105_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7866).
+-compile({inline,yeccpars2_125_/1}).
+-file("erl_parse.yrl", 377).
+yeccpars2_125_(__Stack0) ->
[__6,__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { remote_type , ? line ( __1 ) ,
- [ __1 , __3 , __5 ] }
+ { 'receive' , ? line ( __1 ) , __2 , __4 , __5 }
end | __Stack].
--compile({inline,yeccpars2_107_/1}).
--file("erl_parse.yrl", 129).
-yeccpars2_107_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_131_/1}).
+-file("erl_parse.yrl", 307).
+yeccpars2_131_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
[begin
- build_gen_type ( __1 )
+ [ __1 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8092).
--compile({inline,yeccpars2_108_/1}).
--file("erl_parse.yrl", 130).
-yeccpars2_108_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7883).
+-compile({inline,yeccpars2_135_/1}).
+-file("erl_parse.yrl", 312).
+yeccpars2_135_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) ,
- normalise ( __1 ) , __3 }
+ { b_generate , ? line ( __2 ) , __1 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8102).
--compile({inline,yeccpars2_111_/1}).
--file("erl_parse.yrl", 147).
-yeccpars2_111_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7892).
+-compile({inline,yeccpars2_137_/1}).
+-file("erl_parse.yrl", 311).
+yeccpars2_137_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , range ,
- [ __1 , __4 ] }
+ { generate , ? line ( __2 ) , __1 , __3 }
end | __Stack].
--compile({inline,yeccpars2_113_/1}).
--file("erl_parse.yrl", 118).
-yeccpars2_113_(__Stack0) ->
+-compile({inline,yeccpars2_139_/1}).
+-file("erl_parse.yrl", 308).
+yeccpars2_139_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
[ __1 | __3 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8120).
--compile({inline,yeccpars2_116_/1}).
--file("erl_parse.yrl", 164).
-yeccpars2_116_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7909).
+-compile({inline,yeccpars2_140_/1}).
+-file("erl_parse.yrl", 304).
+yeccpars2_140_(__Stack0) ->
[__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , 'fun' ,
- [ { type , ? line ( __1 ) , product , __2 } , __5 ] }
- end | __Stack].
-
--compile({inline,yeccpars2_118_/1}).
--file("erl_parse.yrl", 124).
-yeccpars2_118_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
- [begin
- lift_unions ( __1 , __3 )
+ { lc , ? line ( __1 ) , __2 , __4 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8138).
--compile({inline,yeccpars2_120_/1}).
--file("erl_parse.yrl", 108).
-yeccpars2_120_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7918).
+-compile({inline,yeccpars2_141_/1}).
+-file("erl_parse.yrl", 420).
+yeccpars2_141_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , bounded_fun ,
- [ __1 , __3 ] }
+ { 'query' , ? line ( __1 ) , __2 }
end | __Stack].
--compile({inline,yeccpars2_121_/1}).
--file("erl_parse.yrl", 111).
-yeccpars2_121_(__Stack0) ->
+-compile({inline,yeccpars2_143_/1}).
+-file("erl_parse.yrl", 356).
+yeccpars2_143_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
[ __1 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8156).
--compile({inline,yeccpars2_125_/1}).
--file("erl_parse.yrl", 114).
-yeccpars2_125_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7935).
+-compile({inline,yeccpars2_145_/1}).
+-file("erl_parse.yrl", 360).
+yeccpars2_145_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- { type , ? line ( __1 ) , constraint ,
- [ __1 , __3 ] }
+ { clause , ? line ( hd ( hd ( __1 ) ) ) , [ ] , __1 , __2 }
end | __Stack].
--compile({inline,yeccpars2_127_/1}).
--file("erl_parse.yrl", 112).
-yeccpars2_127_(__Stack0) ->
+-compile({inline,yeccpars2_147_/1}).
+-file("erl_parse.yrl", 357).
+yeccpars2_147_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
[ __1 | __3 ]
end | __Stack].
--compile({inline,yeccpars2_129_/1}).
--file("erl_parse.yrl", 105).
-yeccpars2_129_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7952).
+-compile({inline,yeccpars2_148_/1}).
+-file("erl_parse.yrl", 354).
+yeccpars2_148_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ { 'if' , ? line ( __1 ) , __2 }
end | __Stack].
--compile({inline,yeccpars2_130_/1}).
--file("erl_parse.yrl", 83).
-yeccpars2_130_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_150_/1}).
+-file("erl_parse.yrl", 387).
+yeccpars2_150_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
[begin
- { __2 , __3 }
+ [ __1 ]
end | __Stack].
--compile({inline,yeccpars2_133_/1}).
--file("erl_parse.yrl", 86).
-yeccpars2_133_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_151_/1}).
+-file("erl_parse.yrl", 198).
+yeccpars2_151_(__Stack0) ->
[begin
- { __1 , __3 }
- end | __Stack].
+ [ ]
+ end | __Stack0].
--compile({inline,yeccpars2_136_/1}).
--file("erl_parse.yrl", 90).
-yeccpars2_136_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7976).
+-compile({inline,yeccpars2_157_/1}).
+-file("erl_parse.yrl", 383).
+yeccpars2_157_(__Stack0) ->
[__6,__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { __1 , __3 , __5 }
+ { 'fun' , ? line ( __1 ) , { function , element ( 3 , __2 ) , element ( 3 , __4 ) , element ( 3 , __6 ) } }
end | __Stack].
--compile({inline,yeccpars2_138_/1}).
--file("erl_parse.yrl", 89).
-yeccpars2_138_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 7985).
+-compile({inline,yeccpars2_158_/1}).
+-file("erl_parse.yrl", 381).
+yeccpars2_158_(__Stack0) ->
[__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { __1 , __3 }
+ { 'fun' , ? line ( __1 ) , { function , element ( 3 , __2 ) , element ( 3 , __4 ) } }
end | __Stack].
--compile({inline,yeccpars2_139_/1}).
--file("erl_parse.yrl", 82).
-yeccpars2_139_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_160_/1}).
+-file("erl_parse.yrl", 391).
+yeccpars2_160_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { __1 , __2 }
+ { Args , Pos } = __1 ,
+ { clause , Pos , 'fun' , Args , __2 , __3 }
end | __Stack].
--compile({inline,yeccpars2_140_/1}).
--file("erl_parse.yrl", 75).
-yeccpars2_140_(__Stack0) ->
+-compile({inline,yeccpars2_162_/1}).
+-file("erl_parse.yrl", 388).
+yeccpars2_162_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- build_typed_attribute ( __2 , __3 )
+ [ __1 | __3 ]
end | __Stack].
--compile({inline,yeccpars2_165_/1}).
--file("erl_parse.yrl", 187).
-yeccpars2_165_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8011).
+-compile({inline,yeccpars2_163_/1}).
+-file("erl_parse.yrl", 385).
+yeccpars2_163_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ build_fun ( ? line ( __1 ) , __2 )
end | __Stack].
--compile({inline,yeccpars2_169_/1}).
--file("erl_parse.yrl", 74).
-yeccpars2_169_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8020).
+-compile({inline,yeccpars2_164_/1}).
+-file("erl_parse.yrl", 203).
+yeccpars2_164_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- build_attribute ( __2 , __3 )
+ { 'catch' , ? line ( __1 ) , __2 }
end | __Stack].
--compile({inline,yeccpars2_196_/1}).
--file("erl_parse.yrl", 437).
-yeccpars2_196_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8029).
+-compile({inline,yeccpars2_168_/1}).
+-file("erl_parse.yrl", 364).
+yeccpars2_168_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ { 'case' , ? line ( __1 ) , __2 , __4 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8254).
--compile({inline,yeccpars2_198_/1}).
--file("erl_parse.yrl", 320).
-yeccpars2_198_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8038).
+-compile({inline,yeccpars2_170_/1}).
+-file("erl_parse.yrl", 259).
+yeccpars2_170_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
+ [begin
+ { block , ? line ( __1 ) , __2 }
+ end | __Stack].
+
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8047).
+-compile({inline,yeccpars2_172_/1}).
+-file("erl_parse.yrl", 268).
+yeccpars2_172_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
- { tuple , ? line ( __1 ) , [ ] }
+ { nil , ? line ( __1 ) }
end | __Stack].
--compile({inline,yeccpars2_200_/1}).
--file("erl_parse.yrl", 263).
-yeccpars2_200_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8056).
+-compile({inline,yeccpars2_173_/1}).
+-file("erl_parse.yrl", 269).
+yeccpars2_173_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- __2
+ { cons , ? line ( __1 ) , __2 , __3 }
end | __Stack].
--compile({inline,yeccpars2_202_/1}).
--file("erl_parse.yrl", 438).
-yeccpars2_202_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8065).
+-compile({inline,yeccpars2_175_/1}).
+-file("erl_parse.yrl", 271).
+yeccpars2_175_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ { nil , ? line ( __1 ) }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8279).
--compile({inline,yeccpars2_203_/1}).
--file("erl_parse.yrl", 321).
-yeccpars2_203_(__Stack0) ->
+-compile({inline,yeccpars2_178_/1}).
+-file("erl_parse.yrl", 272).
+yeccpars2_178_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { tuple , ? line ( __1 ) , __2 }
+ __2
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8288).
--compile({inline,yeccpars2_205_/1}).
--file("erl_parse.yrl", 399).
-yeccpars2_205_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8082).
+-compile({inline,yeccpars2_180_/1}).
+-file("erl_parse.yrl", 273).
+yeccpars2_180_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- build_try ( ? line ( __1 ) , __2 , [ ] , __3 )
+ { cons , ? line ( __2 ) , __2 , __3 }
end | __Stack].
--compile({inline,yeccpars2_209_/1}).
--file("erl_parse.yrl", 203).
-yeccpars2_209_(__Stack0) ->
+-compile({inline,yeccpars2_183_/1}).
+-file("erl_parse.yrl", 289).
+yeccpars2_183_(__Stack0) ->
[begin
- [ ]
+ default
end | __Stack0].
--compile({inline,yeccpars2_211_/1}).
--file("erl_parse.yrl", 368).
-yeccpars2_211_(__Stack0) ->
+-compile({inline,yeccpars2_186_/1}).
+-file("erl_parse.yrl", 279).
+yeccpars2_186_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
[ __1 ]
end | __Stack].
--compile({inline,yeccpars2_213_/1}).
--file("erl_parse.yrl", 369).
-yeccpars2_213_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8106).
+-compile({inline,yeccpars2_187_/1}).
+-file("erl_parse.yrl", 276).
+yeccpars2_187_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
+ [begin
+ { bin , ? line ( __1 ) , [ ] }
+ end | __Stack].
+
+-compile({inline,yeccpars2_189_/1}).
+-file("erl_parse.yrl", 280).
+yeccpars2_189_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
[ __1 | __3 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8320).
--compile({inline,yeccpars2_214_/1}).
--file("erl_parse.yrl", 397).
-yeccpars2_214_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8123).
+-compile({inline,yeccpars2_190_/1}).
+-file("erl_parse.yrl", 277).
+yeccpars2_190_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
+ [begin
+ { bin , ? line ( __1 ) , __2 }
+ end | __Stack].
+
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8132).
+-compile({inline,yeccpars2_193_/1}).
+-file("erl_parse.yrl", 306).
+yeccpars2_193_(__Stack0) ->
[__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- build_try ( ? line ( __1 ) , __2 , __4 , __5 )
+ { bc , ? line ( __1 ) , __2 , __4 }
+ end | __Stack].
+
+-compile({inline,yeccpars2_194_/1}).
+-file("erl_parse.yrl", 292).
+yeccpars2_194_(__Stack0) ->
+ [begin
+ default
+ end | __Stack0].
+
+-compile({inline,yeccpars2_197_/1}).
+-file("erl_parse.yrl", 288).
+yeccpars2_197_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
+ [begin
+ __2
+ end | __Stack].
+
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8156).
+-compile({inline,yeccpars2_198_/1}).
+-file("erl_parse.yrl", 283).
+yeccpars2_198_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
+ [begin
+ { bin_element , ? line ( __1 ) , __1 , __2 , __3 }
end | __Stack].
--compile({inline,yeccpars2_217_/1}).
--file("erl_parse.yrl", 202).
-yeccpars2_217_(__Stack0) ->
+-compile({inline,yeccpars2_200_/1}).
+-file("erl_parse.yrl", 291).
+yeccpars2_200_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
__2
end | __Stack].
--compile({inline,yeccpars2_218_/1}).
--file("erl_parse.yrl", 440).
-yeccpars2_218_(__Stack0) ->
+-compile({inline,yeccpars2_201_/1}).
+-file("erl_parse.yrl", 295).
+yeccpars2_201_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
[ __1 ]
end | __Stack].
--compile({inline,yeccpars2_220_/1}).
--file("erl_parse.yrl", 441).
-yeccpars2_220_(__Stack0) ->
+-compile({inline,yeccpars2_202_/1}).
+-file("erl_parse.yrl", 297).
+yeccpars2_202_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
+ [begin
+ element ( 3 , __1 )
+ end | __Stack].
+
+-compile({inline,yeccpars2_204_/1}).
+-file("erl_parse.yrl", 298).
+yeccpars2_204_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ { element ( 3 , __1 ) , element ( 3 , __3 ) }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8353).
--compile({inline,yeccpars2_221_/1}).
--file("erl_parse.yrl", 372).
-yeccpars2_221_(__Stack0) ->
+-compile({inline,yeccpars2_206_/1}).
+-file("erl_parse.yrl", 294).
+yeccpars2_206_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { clause , ? line ( __1 ) , [ __1 ] , __2 , __3 }
+ [ __1 | __3 ]
end | __Stack].
--compile({inline,yeccpars2_223_/1}).
--file("erl_parse.yrl", 205).
-yeccpars2_223_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8205).
+-compile({inline,yeccpars2_207_/1}).
+-file("erl_parse.yrl", 285).
+yeccpars2_207_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
- __2
+ ? mkop1 ( __1 , __2 )
end | __Stack].
--compile({inline,yeccpars2_225_/1}).
--file("erl_parse.yrl", 408).
-yeccpars2_225_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8214).
+-compile({inline,yeccpars2_208_/1}).
+-file("erl_parse.yrl", 245).
+yeccpars2_208_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ { record_field , ? line ( __1 ) , { atom , ? line ( __1 ) , '' } , __2 }
end | __Stack].
--compile({inline,yeccpars2_226_/1}).
--file("erl_parse.yrl", 203).
-yeccpars2_226_(__Stack0) ->
+-compile({inline,yeccpars2_210_/1}).
+-file("erl_parse.yrl", 258).
+yeccpars2_210_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ ]
- end | __Stack0].
+ __2
+ end | __Stack].
--compile({inline,yeccpars2_230_/1}).
--file("erl_parse.yrl", 203).
-yeccpars2_230_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8231).
+-compile({inline,yeccpars2_212_/1}).
+-file("erl_parse.yrl", 329).
+yeccpars2_212_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ ]
- end | __Stack0].
+ { record , ? line ( __1 ) , element ( 3 , __2 ) , __3 }
+ end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8392).
--compile({inline,yeccpars2_232_/1}).
--file("erl_parse.yrl", 418).
-yeccpars2_232_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_216_/1}).
+-file("erl_parse.yrl", 342).
+yeccpars2_216_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
[begin
- L = ? line ( __1 ) ,
- { clause , L , [ { tuple , L , [ __1 , __3 , { var , L , '_' } ] } ] , __4 , __5 }
+ [ __1 ]
end | __Stack].
--compile({inline,yeccpars2_234_/1}).
--file("erl_parse.yrl", 203).
-yeccpars2_234_(__Stack0) ->
+-compile({inline,yeccpars2_219_/1}).
+-file("erl_parse.yrl", 339).
+yeccpars2_219_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
[ ]
- end | __Stack0].
+ end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8409).
--compile({inline,yeccpars2_236_/1}).
--file("erl_parse.yrl", 415).
-yeccpars2_236_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8256).
+-compile({inline,yeccpars2_221_/1}).
+-file("erl_parse.yrl", 345).
+yeccpars2_221_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- L = ? line ( __1 ) ,
- { clause , L , [ { tuple , L , [ __1 , __3 , { var , L , '_' } ] } ] , __4 , __5 }
+ { record_field , ? line ( __1 ) , __1 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8419).
--compile({inline,yeccpars2_238_/1}).
--file("erl_parse.yrl", 412).
-yeccpars2_238_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8265).
+-compile({inline,yeccpars2_223_/1}).
+-file("erl_parse.yrl", 346).
+yeccpars2_223_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- L = ? line ( __1 ) ,
- { clause , L , [ { tuple , L , [ { atom , L , throw } , __1 , { var , L , '_' } ] } ] , __2 , __3 }
+ { record_field , ? line ( __1 ) , __1 , __3 }
end | __Stack].
--compile({inline,yeccpars2_240_/1}).
--file("erl_parse.yrl", 409).
-yeccpars2_240_(__Stack0) ->
+-compile({inline,yeccpars2_225_/1}).
+-file("erl_parse.yrl", 343).
+yeccpars2_225_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
[ __1 | __3 ]
end | __Stack].
--compile({inline,yeccpars2_242_/1}).
--file("erl_parse.yrl", 402).
-yeccpars2_242_(__Stack0) ->
+-compile({inline,yeccpars2_226_/1}).
+-file("erl_parse.yrl", 340).
+yeccpars2_226_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { __2 , [ ] }
+ __2
end | __Stack].
--compile({inline,yeccpars2_244_/1}).
--file("erl_parse.yrl", 404).
-yeccpars2_244_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8290).
+-compile({inline,yeccpars2_227_/1}).
+-file("erl_parse.yrl", 327).
+yeccpars2_227_(__Stack0) ->
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { __2 , __4 }
+ { record_index , ? line ( __1 ) , element ( 3 , __2 ) , __4 }
end | __Stack].
--compile({inline,yeccpars2_246_/1}).
--file("erl_parse.yrl", 406).
-yeccpars2_246_(__Stack0) ->
+-compile({inline,yeccpars2_229_/1}).
+-file("erl_parse.yrl", 428).
+yeccpars2_229_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { [ ] , __2 }
+ [ __1 | __3 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8461).
--compile({inline,yeccpars2_247_/1}).
--file("erl_parse.yrl", 451).
-yeccpars2_247_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8307).
+-compile({inline,yeccpars2_232_/1}).
+-file("erl_parse.yrl", 206).
+yeccpars2_232_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { string , ? line ( __1 ) , element ( 3 , __1 ) ++ element ( 3 , __2 ) }
+ { match , ? line ( __2 ) , __1 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8470).
--compile({inline,yeccpars2_252_/1}).
--file("erl_parse.yrl", 377).
-yeccpars2_252_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8316).
+-compile({inline,yeccpars2_233_/1}).
+-file("erl_parse.yrl", 207).
+yeccpars2_233_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { 'receive' , ? line ( __1 ) , [ ] , __3 , __4 }
+ ? mkop2 ( __1 , __2 , __3 )
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8479).
--compile({inline,yeccpars2_254_/1}).
--file("erl_parse.yrl", 375).
-yeccpars2_254_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8325).
+-compile({inline,yeccpars2_235_/1}).
+-file("erl_parse.yrl", 210).
+yeccpars2_235_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { 'receive' , ? line ( __1 ) , __2 }
+ ? mkop2 ( __1 , __2 , __3 )
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8488).
--compile({inline,yeccpars2_257_/1}).
--file("erl_parse.yrl", 379).
-yeccpars2_257_(__Stack0) ->
- [__6,__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8334).
+-compile({inline,yeccpars2_237_/1}).
+-file("erl_parse.yrl", 213).
+yeccpars2_237_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { 'receive' , ? line ( __1 ) , __2 , __4 , __5 }
+ ? mkop2 ( __1 , __2 , __3 )
end | __Stack].
--compile({inline,yeccpars2_263_/1}).
--file("erl_parse.yrl", 313).
-yeccpars2_263_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8343).
+-compile({inline,yeccpars2_247_/1}).
+-file("erl_parse.yrl", 217).
+yeccpars2_247_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ ? mkop2 ( __1 , __2 , __3 )
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8505).
--compile({inline,yeccpars2_267_/1}).
--file("erl_parse.yrl", 318).
-yeccpars2_267_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8352).
+-compile({inline,yeccpars2_260_/1}).
+-file("erl_parse.yrl", 225).
+yeccpars2_260_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { b_generate , ? line ( __2 ) , __1 , __3 }
+ ? mkop2 ( __1 , __2 , __3 )
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8514).
--compile({inline,yeccpars2_269_/1}).
--file("erl_parse.yrl", 317).
-yeccpars2_269_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8361).
+-compile({inline,yeccpars2_268_/1}).
+-file("erl_parse.yrl", 229).
+yeccpars2_268_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { generate , ? line ( __2 ) , __1 , __3 }
+ ? mkop2 ( __1 , __2 , __3 )
end | __Stack].
--compile({inline,yeccpars2_271_/1}).
--file("erl_parse.yrl", 314).
-yeccpars2_271_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8370).
+-compile({inline,yeccpars2_269_/1}).
+-file("erl_parse.yrl", 221).
+yeccpars2_269_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ ? mkop2 ( __1 , __2 , __3 )
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8531).
--compile({inline,yeccpars2_272_/1}).
--file("erl_parse.yrl", 310).
-yeccpars2_272_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8379).
+-compile({inline,yeccpars2_270_/1}).
+-file("erl_parse.yrl", 351).
+yeccpars2_270_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- { lc , ? line ( __1 ) , __2 , __4 }
+ { call , ? line ( __1 ) , __1 , element ( 1 , __2 ) }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8540).
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8388).
-compile({inline,yeccpars2_273_/1}).
--file("erl_parse.yrl", 430).
+-file("erl_parse.yrl", 241).
yeccpars2_273_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { 'query' , ? line ( __1 ) , __2 }
+ { remote , ? line ( __2 ) , __1 , __3 }
end | __Stack].
--compile({inline,yeccpars2_275_/1}).
--file("erl_parse.yrl", 358).
-yeccpars2_275_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8397).
+-compile({inline,yeccpars2_274_/1}).
+-file("erl_parse.yrl", 247).
+yeccpars2_274_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ { record_field , ? line ( __2 ) , __1 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8557).
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8406).
-compile({inline,yeccpars2_277_/1}).
--file("erl_parse.yrl", 362).
+-file("erl_parse.yrl", 333).
yeccpars2_277_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { clause , ? line ( hd ( hd ( __1 ) ) ) , [ ] , __1 , __2 }
+ { record , ? line ( __2 ) , __1 , element ( 3 , __3 ) , __4 }
end | __Stack].
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8415).
-compile({inline,yeccpars2_279_/1}).
--file("erl_parse.yrl", 359).
+-file("erl_parse.yrl", 331).
yeccpars2_279_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ { record_field , ? line ( __2 ) , __1 , element ( 3 , __3 ) , __5 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8574).
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8424).
-compile({inline,yeccpars2_280_/1}).
--file("erl_parse.yrl", 356).
+-file("erl_parse.yrl", 424).
yeccpars2_280_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { 'if' , ? line ( __1 ) , __2 }
+ { __2 , ? line ( __1 ) }
end | __Stack].
--compile({inline,yeccpars2_282_/1}).
--file("erl_parse.yrl", 389).
-yeccpars2_282_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8433).
+-compile({inline,yeccpars2_281_/1}).
+-file("erl_parse.yrl", 233).
+yeccpars2_281_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ ? mkop1 ( __1 , __2 )
end | __Stack].
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8442).
-compile({inline,yeccpars2_284_/1}).
--file("erl_parse.yrl", 203).
+-file("erl_parse.yrl", 337).
yeccpars2_284_(__Stack0) ->
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ ]
- end | __Stack0].
+ { record , ? line ( __2 ) , __1 , element ( 3 , __3 ) , __4 }
+ end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8598).
--compile({inline,yeccpars2_287_/1}).
--file("erl_parse.yrl", 433).
-yeccpars2_287_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8451).
+-compile({inline,yeccpars2_286_/1}).
+-file("erl_parse.yrl", 335).
+yeccpars2_286_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { [ ] , ? line ( __1 ) }
+ { record_field , ? line ( __2 ) , __1 , element ( 3 , __3 ) , __5 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8607).
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8460).
-compile({inline,yeccpars2_288_/1}).
--file("erl_parse.yrl", 434).
+-file("erl_parse.yrl", 482).
yeccpars2_288_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
- [begin
- { __2 , ? line ( __1 ) }
- end | __Stack].
-
--compile({inline,yeccpars2_290_/1}).
--file("erl_parse.yrl", 393).
-yeccpars2_290_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
- [begin
- { Args , Pos } = __1 ,
- { clause , Pos , 'fun' , Args , __2 , __3 }
- end | __Stack].
-
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8625).
--compile({inline,yeccpars2_295_/1}).
--file("erl_parse.yrl", 385).
-yeccpars2_295_(__Stack0) ->
- [__6,__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { 'fun' , ? line ( __1 ) , { function , element ( 3 , __2 ) , element ( 3 , __4 ) , element ( 3 , __6 ) } }
+ { clause , ? line ( __1 ) , element ( 3 , __1 ) , __2 , __3 , __4 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8634).
--compile({inline,yeccpars2_296_/1}).
--file("erl_parse.yrl", 383).
-yeccpars2_296_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8469).
+-compile({inline,yeccpars2_289_/1}).
+-file("erl_parse.yrl", 192).
+yeccpars2_289_(__Stack0) ->
[__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { 'fun' , ? line ( __1 ) , { function , element ( 3 , __2 ) , element ( 3 , __4 ) } }
+ { clause , ? line ( __1 ) , element ( 3 , __1 ) , __2 , __3 , __4 }
end | __Stack].
--compile({inline,yeccpars2_298_/1}).
--file("erl_parse.yrl", 390).
-yeccpars2_298_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_291_/1}).
+-file("erl_parse.yrl", 484).
+yeccpars2_291_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ __2
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8651).
--compile({inline,yeccpars2_299_/1}).
--file("erl_parse.yrl", 387).
-yeccpars2_299_(__Stack0) ->
+-compile({inline,yeccpars2_294_/1}).
+-file("erl_parse.yrl", 75).
+yeccpars2_294_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- build_fun ( ? line ( __1 ) , __2 )
+ build_type_spec ( __2 , __3 )
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8660).
-compile({inline,yeccpars2_300_/1}).
--file("erl_parse.yrl", 208).
+-file("erl_parse.yrl", 81).
yeccpars2_300_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { 'catch' , ? line ( __1 ) , __2 }
+ { __1 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8669).
--compile({inline,yeccpars2_304_/1}).
--file("erl_parse.yrl", 366).
-yeccpars2_304_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_303_/1}).
+-file("erl_parse.yrl", 85).
+yeccpars2_303_(__Stack0) ->
+ [__6,__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { 'case' , ? line ( __1 ) , __2 , __4 }
+ { __1 , __3 , __5 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8678).
--compile({inline,yeccpars2_306_/1}).
--file("erl_parse.yrl", 264).
-yeccpars2_306_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_305_/1}).
+-file("erl_parse.yrl", 84).
+yeccpars2_305_(__Stack0) ->
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { block , ? line ( __1 ) , __2 }
+ { __1 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8687).
-compile({inline,yeccpars2_308_/1}).
--file("erl_parse.yrl", 274).
+-file("erl_parse.yrl", 99).
yeccpars2_308_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
- [begin
- { nil , ? line ( __1 ) }
- end | __Stack].
-
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8696).
--compile({inline,yeccpars2_309_/1}).
--file("erl_parse.yrl", 275).
-yeccpars2_309_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
- [begin
- { cons , ? line ( __1 ) , __2 , __3 }
- end | __Stack].
-
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8705).
--compile({inline,yeccpars2_311_/1}).
--file("erl_parse.yrl", 277).
-yeccpars2_311_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
- { nil , ? line ( __1 ) }
+ [ __1 ]
end | __Stack].
-compile({inline,yeccpars2_314_/1}).
--file("erl_parse.yrl", 278).
+-file("erl_parse.yrl", 112).
yeccpars2_314_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
- [begin
- __2
- end | __Stack].
-
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8722).
--compile({inline,yeccpars2_316_/1}).
--file("erl_parse.yrl", 279).
-yeccpars2_316_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
- [begin
- { cons , ? line ( __2 ) , __2 , __3 }
- end | __Stack].
-
--compile({inline,yeccpars2_319_/1}).
--file("erl_parse.yrl", 295).
-yeccpars2_319_(__Stack0) ->
- [begin
- default
- end | __Stack0].
-
--compile({inline,yeccpars2_322_/1}).
--file("erl_parse.yrl", 285).
-yeccpars2_322_(__Stack0) ->
[__1 | __Stack] = __Stack0,
[begin
[ __1 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8746).
--compile({inline,yeccpars2_323_/1}).
--file("erl_parse.yrl", 282).
-yeccpars2_323_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8534).
+-compile({inline,yeccpars2_329_/1}).
+-file("erl_parse.yrl", 135).
+yeccpars2_329_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
- { bin , ? line ( __1 ) , [ ] }
+ { type , ? line ( __1 ) , tuple , [ ] }
end | __Stack].
--compile({inline,yeccpars2_325_/1}).
--file("erl_parse.yrl", 286).
-yeccpars2_325_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8543).
+-compile({inline,yeccpars2_330_/1}).
+-file("erl_parse.yrl", 136).
+yeccpars2_330_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ { type , ? line ( __1 ) , tuple , __2 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8763).
--compile({inline,yeccpars2_326_/1}).
--file("erl_parse.yrl", 283).
-yeccpars2_326_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8552).
+-compile({inline,yeccpars2_332_/1}).
+-file("erl_parse.yrl", 115).
+yeccpars2_332_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { bin , ? line ( __1 ) , __2 }
+ { ann_type , ? line ( __1 ) , [ __1 , __3 ] }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8772).
--compile({inline,yeccpars2_329_/1}).
--file("erl_parse.yrl", 312).
-yeccpars2_329_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8561).
+-compile({inline,yeccpars2_338_/1}).
+-file("erl_parse.yrl", 144).
+yeccpars2_338_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { bc , ? line ( __1 ) , __2 , __4 }
+ { type , ? line ( __1 ) , 'fun' , [ ] }
end | __Stack].
--compile({inline,yeccpars2_330_/1}).
--file("erl_parse.yrl", 298).
-yeccpars2_330_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8570).
+-compile({inline,yeccpars2_344_/1}).
+-file("erl_parse.yrl", 152).
+yeccpars2_344_(__Stack0) ->
+ [__7,__6,__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- default
- end | __Stack0].
+ { type , ? line ( __1 ) , 'fun' ,
+ [ { type , ? line ( __1 ) , any } , __7 ] }
+ end | __Stack].
--compile({inline,yeccpars2_333_/1}).
--file("erl_parse.yrl", 294).
-yeccpars2_333_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_345_/1}).
+-file("erl_parse.yrl", 145).
+yeccpars2_345_(__Stack0) ->
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- __2
+ __3
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8796).
--compile({inline,yeccpars2_334_/1}).
--file("erl_parse.yrl", 289).
-yeccpars2_334_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8588).
+-compile({inline,yeccpars2_351_/1}).
+-file("erl_parse.yrl", 127).
+yeccpars2_351_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { bin_element , ? line ( __1 ) , __1 , __2 , __3 }
+ { remote_type , ? line ( __1 ) ,
+ [ __1 , __3 , [ ] ] }
end | __Stack].
--compile({inline,yeccpars2_336_/1}).
--file("erl_parse.yrl", 297).
-yeccpars2_336_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8598).
+-compile({inline,yeccpars2_352_/1}).
+-file("erl_parse.yrl", 129).
+yeccpars2_352_(__Stack0) ->
+ [__6,__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- __2
+ { remote_type , ? line ( __1 ) ,
+ [ __1 , __3 , __5 ] }
end | __Stack].
--compile({inline,yeccpars2_337_/1}).
--file("erl_parse.yrl", 301).
-yeccpars2_337_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_354_/1}).
+-file("erl_parse.yrl", 124).
+yeccpars2_354_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ build_gen_type ( __1 )
end | __Stack].
--compile({inline,yeccpars2_338_/1}).
--file("erl_parse.yrl", 303).
-yeccpars2_338_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8616).
+-compile({inline,yeccpars2_355_/1}).
+-file("erl_parse.yrl", 125).
+yeccpars2_355_(__Stack0) ->
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- element ( 3 , __1 )
+ { type , ? line ( __1 ) ,
+ normalise ( __1 ) , __3 }
end | __Stack].
--compile({inline,yeccpars2_340_/1}).
--file("erl_parse.yrl", 304).
-yeccpars2_340_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8626).
+-compile({inline,yeccpars2_357_/1}).
+-file("erl_parse.yrl", 131).
+yeccpars2_357_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- { element ( 3 , __1 ) , element ( 3 , __3 ) }
+ { type , ? line ( __1 ) , nil , [ ] }
end | __Stack].
--compile({inline,yeccpars2_342_/1}).
--file("erl_parse.yrl", 300).
-yeccpars2_342_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8635).
+-compile({inline,yeccpars2_359_/1}).
+-file("erl_parse.yrl", 132).
+yeccpars2_359_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ { type , ? line ( __1 ) , list , [ __2 ] }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8845).
--compile({inline,yeccpars2_343_/1}).
--file("erl_parse.yrl", 291).
-yeccpars2_343_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8644).
+-compile({inline,yeccpars2_363_/1}).
+-file("erl_parse.yrl", 133).
+yeccpars2_363_(__Stack0) ->
+ [__7,__6,__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- ? mkop1 ( __1 , __2 )
+ { type , ? line ( __1 ) ,
+ nonempty_list , [ __2 ] }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8854).
--compile({inline,yeccpars2_344_/1}).
--file("erl_parse.yrl", 250).
-yeccpars2_344_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8654).
+-compile({inline,yeccpars2_366_/1}).
+-file("erl_parse.yrl", 168).
+yeccpars2_366_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
- { record_field , ? line ( __1 ) , { atom , ? line ( __1 ) , '' } , __2 }
+ { type , ? line ( __1 ) , binary ,
+ [ abstract ( 0 , ? line ( __1 ) ) ,
+ abstract ( 0 , ? line ( __1 ) ) ] }
end | __Stack].
--compile({inline,yeccpars2_349_/1}).
--file("erl_parse.yrl", 93).
-yeccpars2_349_(__Stack0) ->
+-compile({inline,yeccpars2_369_/1}).
+-file("erl_parse.yrl", 178).
+yeccpars2_369_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { type_def , __1 , __3 }
+ build_bin_type ( [ __1 ] , __3 )
end | __Stack].
--compile({inline,yeccpars2_350_/1}).
--file("erl_parse.yrl", 92).
-yeccpars2_350_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_372_/1}).
+-file("erl_parse.yrl", 180).
+yeccpars2_372_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { typed_record , __1 , __3 }
+ build_bin_type ( [ __1 , __3 ] , __5 )
end | __Stack].
--compile({inline,yeccpars2_354_/1}).
--file("erl_parse.yrl", 97).
-yeccpars2_354_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8681).
+-compile({inline,yeccpars2_374_/1}).
+-file("erl_parse.yrl", 171).
+yeccpars2_374_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ { type , ? line ( __1 ) , binary ,
+ [ __2 , abstract ( 0 , ? line ( __1 ) ) ] }
end | __Stack].
--compile({inline,yeccpars2_355_/1}).
--file("erl_parse.yrl", 437).
-yeccpars2_355_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8691).
+-compile({inline,yeccpars2_378_/1}).
+-file("erl_parse.yrl", 176).
+yeccpars2_378_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ { type , ? line ( __1 ) , binary , [ __2 , __4 ] }
end | __Stack].
--compile({inline,yeccpars2_358_/1}).
--file("erl_parse.yrl", 102).
-yeccpars2_358_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8700).
+-compile({inline,yeccpars2_379_/1}).
+-file("erl_parse.yrl", 173).
+yeccpars2_379_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { typed , __1 , __3 }
+ { type , ? line ( __1 ) , binary ,
+ [ abstract ( 0 , ? line ( __1 ) ) , __2 ] }
end | __Stack].
--compile({inline,yeccpars2_359_/1}).
--file("erl_parse.yrl", 99).
-yeccpars2_359_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8710).
+-compile({inline,yeccpars2_380_/1}).
+-file("erl_parse.yrl", 148).
+yeccpars2_380_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ abstract ( - normalise ( __2 ) ,
+ ? line ( __2 ) )
end | __Stack].
--compile({inline,yeccpars2_361_/1}).
--file("erl_parse.yrl", 98).
-yeccpars2_361_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8720).
+-compile({inline,yeccpars2_382_/1}).
+-file("erl_parse.yrl", 156).
+yeccpars2_382_(__Stack0) ->
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ { type , ? line ( __1 ) , 'fun' ,
+ [ { type , ? line ( __1 ) , product , [ ] } , __4 ] }
end | __Stack].
--compile({inline,yeccpars2_362_/1}).
--file("erl_parse.yrl", 100).
-yeccpars2_362_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8730).
+-compile({inline,yeccpars2_384_/1}).
+-file("erl_parse.yrl", 121).
+yeccpars2_384_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ { paren_type , ? line ( __2 ) , [ __2 ] }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8927).
--compile({inline,yeccpars2_363_/1}).
--file("erl_parse.yrl", 95).
-yeccpars2_363_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_388_/1}).
+-file("erl_parse.yrl", 162).
+yeccpars2_388_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
[begin
- { tuple , ? line ( __1 ) , __2 }
+ [ __1 ]
end | __Stack].
--compile({inline,yeccpars2_364_/1}).
--file("erl_parse.yrl", 189).
-yeccpars2_364_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8747).
+-compile({inline,yeccpars2_390_/1}).
+-file("erl_parse.yrl", 137).
+yeccpars2_390_(__Stack0) ->
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __2 | __4 ]
+ { type , ? line ( __1 ) , record , [ __2 ] }
end | __Stack].
--compile({inline,yeccpars2_365_/1}).
--file("erl_parse.yrl", 76).
-yeccpars2_365_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8756).
+-compile({inline,yeccpars2_392_/1}).
+-file("erl_parse.yrl", 165).
+yeccpars2_392_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- build_typed_attribute ( __2 , __4 )
+ { type , ? line ( __1 ) , field_type ,
+ [ __1 , __3 ] }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8952).
--compile({inline,yeccpars2_367_/1}).
--file("erl_parse.yrl", 335).
-yeccpars2_367_(__Stack0) ->
+-compile({inline,yeccpars2_394_/1}).
+-file("erl_parse.yrl", 163).
+yeccpars2_394_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { record , ? line ( __1 ) , element ( 3 , __2 ) , __3 }
+ [ __1 | __3 ]
end | __Stack].
--compile({inline,yeccpars2_371_/1}).
--file("erl_parse.yrl", 344).
-yeccpars2_371_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8774).
+-compile({inline,yeccpars2_395_/1}).
+-file("erl_parse.yrl", 138).
+yeccpars2_395_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 ]
+ { type , ? line ( __1 ) ,
+ record , [ __2 | __4 ] }
end | __Stack].
--compile({inline,yeccpars2_374_/1}).
--file("erl_parse.yrl", 341).
-yeccpars2_374_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8784).
+-compile({inline,yeccpars2_398_/1}).
+-file("erl_parse.yrl", 142).
+yeccpars2_398_(__Stack0) ->
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ ]
+ { type , ? line ( __1 ) , range ,
+ [ __1 , __4 ] }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8977).
--compile({inline,yeccpars2_376_/1}).
--file("erl_parse.yrl", 347).
-yeccpars2_376_(__Stack0) ->
+-compile({inline,yeccpars2_400_/1}).
+-file("erl_parse.yrl", 113).
+yeccpars2_400_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { record_field , ? line ( __1 ) , __1 , __3 }
+ [ __1 | __3 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 8986).
--compile({inline,yeccpars2_378_/1}).
--file("erl_parse.yrl", 348).
-yeccpars2_378_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8802).
+-compile({inline,yeccpars2_403_/1}).
+-file("erl_parse.yrl", 159).
+yeccpars2_403_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- { record_field , ? line ( __1 ) , __1 , __3 }
+ { type , ? line ( __1 ) , 'fun' ,
+ [ { type , ? line ( __1 ) , product , __2 } , __5 ] }
end | __Stack].
--compile({inline,yeccpars2_380_/1}).
--file("erl_parse.yrl", 345).
-yeccpars2_380_(__Stack0) ->
+-compile({inline,yeccpars2_405_/1}).
+-file("erl_parse.yrl", 119).
+yeccpars2_405_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ lift_unions ( __1 , __3 )
end | __Stack].
--compile({inline,yeccpars2_381_/1}).
--file("erl_parse.yrl", 342).
-yeccpars2_381_(__Stack0) ->
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8820).
+-compile({inline,yeccpars2_407_/1}).
+-file("erl_parse.yrl", 103).
+yeccpars2_407_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- __2
+ { type , ? line ( __1 ) , bounded_fun ,
+ [ __1 , __3 ] }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9011).
--compile({inline,yeccpars2_382_/1}).
--file("erl_parse.yrl", 333).
-yeccpars2_382_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_408_/1}).
+-file("erl_parse.yrl", 106).
+yeccpars2_408_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
[begin
- { record_index , ? line ( __1 ) , element ( 3 , __2 ) , __4 }
+ [ __1 ]
end | __Stack].
--compile({inline,yeccpars2_384_/1}).
--file("erl_parse.yrl", 188).
-yeccpars2_384_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8838).
+-compile({inline,yeccpars2_412_/1}).
+-file("erl_parse.yrl", 109).
+yeccpars2_412_(__Stack0) ->
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ __1 | __3 ]
+ { type , ? line ( __1 ) , constraint ,
+ [ __1 , __3 ] }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9028).
--compile({inline,yeccpars2_387_/1}).
--file("erl_parse.yrl", 211).
-yeccpars2_387_(__Stack0) ->
+-compile({inline,yeccpars2_414_/1}).
+-file("erl_parse.yrl", 107).
+yeccpars2_414_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { match , ? line ( __2 ) , __1 , __3 }
+ [ __1 | __3 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9037).
--compile({inline,yeccpars2_388_/1}).
--file("erl_parse.yrl", 212).
-yeccpars2_388_(__Stack0) ->
+-compile({inline,yeccpars2_416_/1}).
+-file("erl_parse.yrl", 100).
+yeccpars2_416_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- ? mkop2 ( __1 , __2 , __3 )
+ [ __1 | __3 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9046).
--compile({inline,yeccpars2_390_/1}).
--file("erl_parse.yrl", 215).
-yeccpars2_390_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_417_/1}).
+-file("erl_parse.yrl", 78).
+yeccpars2_417_(__Stack0) ->
+ [__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- ? mkop2 ( __1 , __2 , __3 )
+ { __2 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9055).
--compile({inline,yeccpars2_392_/1}).
--file("erl_parse.yrl", 218).
-yeccpars2_392_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_418_/1}).
+-file("erl_parse.yrl", 77).
+yeccpars2_418_(__Stack0) ->
+ [__2,__1 | __Stack] = __Stack0,
[begin
- ? mkop2 ( __1 , __2 , __3 )
+ { __1 , __2 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9064).
--compile({inline,yeccpars2_402_/1}).
--file("erl_parse.yrl", 222).
-yeccpars2_402_(__Stack0) ->
+-compile({inline,yeccpars2_419_/1}).
+-file("erl_parse.yrl", 73).
+yeccpars2_419_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- ? mkop2 ( __1 , __2 , __3 )
+ build_typed_attribute ( __2 , __3 )
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9073).
--compile({inline,yeccpars2_415_/1}).
--file("erl_parse.yrl", 230).
-yeccpars2_415_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_420_/1}).
+-file("erl_parse.yrl", 182).
+yeccpars2_420_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
[begin
- ? mkop2 ( __1 , __2 , __3 )
+ [ __1 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9082).
--compile({inline,yeccpars2_423_/1}).
--file("erl_parse.yrl", 234).
-yeccpars2_423_(__Stack0) ->
+-compile({inline,yeccpars2_421_/1}).
+-file("erl_parse.yrl", 72).
+yeccpars2_421_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- ? mkop2 ( __1 , __2 , __3 )
+ build_attribute ( __2 , __3 )
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9091).
--compile({inline,yeccpars2_424_/1}).
--file("erl_parse.yrl", 226).
-yeccpars2_424_(__Stack0) ->
+-compile({inline,yeccpars2_427_/1}).
+-file("erl_parse.yrl", 88).
+yeccpars2_427_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- ? mkop2 ( __1 , __2 , __3 )
- end | __Stack].
-
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9100).
--compile({inline,yeccpars2_425_/1}).
--file("erl_parse.yrl", 353).
-yeccpars2_425_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
- [begin
- { call , ? line ( __1 ) , __1 , element ( 1 , __2 ) }
+ { type_def , __1 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9109).
-compile({inline,yeccpars2_428_/1}).
--file("erl_parse.yrl", 246).
+-file("erl_parse.yrl", 87).
yeccpars2_428_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
- { remote , ? line ( __2 ) , __1 , __3 }
- end | __Stack].
-
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9118).
--compile({inline,yeccpars2_429_/1}).
--file("erl_parse.yrl", 252).
-yeccpars2_429_(__Stack0) ->
- [__3,__2,__1 | __Stack] = __Stack0,
- [begin
- { record_field , ? line ( __2 ) , __1 , __3 }
+ { typed_record , __1 , __3 }
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9127).
-compile({inline,yeccpars2_432_/1}).
--file("erl_parse.yrl", 339).
+-file("erl_parse.yrl", 92).
yeccpars2_432_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
- [begin
- { record , ? line ( __2 ) , __1 , element ( 3 , __3 ) , __4 }
- end | __Stack].
-
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9136).
--compile({inline,yeccpars2_434_/1}).
--file("erl_parse.yrl", 337).
-yeccpars2_434_(__Stack0) ->
- [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+ [__1 | __Stack] = __Stack0,
[begin
- { record_field , ? line ( __2 ) , __1 , element ( 3 , __3 ) , __5 }
+ [ __1 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9145).
--compile({inline,yeccpars2_435_/1}).
--file("erl_parse.yrl", 238).
-yeccpars2_435_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+-compile({inline,yeccpars2_433_/1}).
+-file("erl_parse.yrl", 427).
+yeccpars2_433_(__Stack0) ->
+ [__1 | __Stack] = __Stack0,
[begin
- ? mkop1 ( __1 , __2 )
+ [ __1 ]
end | __Stack].
-compile({inline,yeccpars2_436_/1}).
--file("erl_parse.yrl", 203).
+-file("erl_parse.yrl", 97).
yeccpars2_436_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- [ ]
- end | __Stack0].
+ { typed , __1 , __3 }
+ end | __Stack].
-compile({inline,yeccpars2_437_/1}).
--file("erl_parse.yrl", 200).
+-file("erl_parse.yrl", 94).
yeccpars2_437_(__Stack0) ->
- [__1 | __Stack] = __Stack0,
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- element ( 1 , __1 )
+ [ __1 | __3 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9169).
-compile({inline,yeccpars2_439_/1}).
--file("erl_parse.yrl", 492).
+-file("erl_parse.yrl", 93).
yeccpars2_439_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { clause , ? line ( __1 ) , element ( 3 , __1 ) , __2 , __3 , __4 }
+ [ __1 | __3 ]
end | __Stack].
--file("/clearcase/otp/erts/bootstrap/lib/stdlib/egen/erl_parse.erl", 9178).
-compile({inline,yeccpars2_440_/1}).
--file("erl_parse.yrl", 197).
+-file("erl_parse.yrl", 95).
yeccpars2_440_(__Stack0) ->
- [__4,__3,__2,__1 | __Stack] = __Stack0,
+ [__3,__2,__1 | __Stack] = __Stack0,
[begin
- { clause , ? line ( __1 ) , element ( 3 , __1 ) , __2 , __3 , __4 }
+ [ __1 | __3 ]
+ end | __Stack].
+
+-file("/Users/bjorng/Downloads/otp/bootstrap/lib/stdlib/egen/erl_parse.erl", 8968).
+-compile({inline,yeccpars2_441_/1}).
+-file("erl_parse.yrl", 90).
+yeccpars2_441_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
+ [begin
+ { tuple , ? line ( __1 ) , __2 }
end | __Stack].
-compile({inline,yeccpars2_442_/1}).
--file("erl_parse.yrl", 494).
+-file("erl_parse.yrl", 184).
yeccpars2_442_(__Stack0) ->
- [__2,__1 | __Stack] = __Stack0,
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
[begin
- __2
+ [ __2 | __4 ]
end | __Stack].
-compile({inline,yeccpars2_443_/1}).
--file("erl_parse.yrl", 70).
+-file("erl_parse.yrl", 74).
yeccpars2_443_(__Stack0) ->
+ [__5,__4,__3,__2,__1 | __Stack] = __Stack0,
+ [begin
+ build_typed_attribute ( __2 , __4 )
+ end | __Stack].
+
+-compile({inline,yeccpars2_445_/1}).
+-file("erl_parse.yrl", 183).
+yeccpars2_445_(__Stack0) ->
+ [__3,__2,__1 | __Stack] = __Stack0,
+ [begin
+ [ __1 | __3 ]
+ end | __Stack].
+
+-compile({inline,yeccpars2_446_/1}).
+-file("erl_parse.yrl", 68).
+yeccpars2_446_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
__1
end | __Stack].
--compile({inline,yeccpars2_444_/1}).
--file("erl_parse.yrl", 71).
-yeccpars2_444_(__Stack0) ->
+-compile({inline,yeccpars2_447_/1}).
+-file("erl_parse.yrl", 69).
+yeccpars2_447_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
__1
end | __Stack].
--compile({inline,yeccpars2_446_/1}).
--file("erl_parse.yrl", 194).
-yeccpars2_446_(__Stack0) ->
+-compile({inline,yeccpars2_449_/1}).
+-file("erl_parse.yrl", 189).
+yeccpars2_449_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
[ __1 | __3 ]
end | __Stack].
--compile({inline,yeccpars2_448_/1}).
--file("erl_parse.yrl", 203).
-yeccpars2_448_(__Stack0) ->
+-compile({inline,yeccpars2_451_/1}).
+-file("erl_parse.yrl", 198).
+yeccpars2_451_(__Stack0) ->
[begin
[ ]
end | __Stack0].
--compile({inline,yeccpars2_450_/1}).
--file("erl_parse.yrl", 72).
-yeccpars2_450_(__Stack0) ->
+-compile({inline,yeccpars2_453_/1}).
+-file("erl_parse.yrl", 70).
+yeccpars2_453_(__Stack0) ->
[__2,__1 | __Stack] = __Stack0,
[begin
__1
end | __Stack].
--compile({inline,yeccpars2_452_/1}).
--file("erl_parse.yrl", 489).
-yeccpars2_452_(__Stack0) ->
+-compile({inline,yeccpars2_455_/1}).
+-file("erl_parse.yrl", 479).
+yeccpars2_455_(__Stack0) ->
[__3,__2,__1 | __Stack] = __Stack0,
[begin
[ __1 | __3 ]
end | __Stack].
--compile({inline,yeccpars2_454_/1}).
--file("erl_parse.yrl", 203).
-yeccpars2_454_(__Stack0) ->
+-compile({inline,yeccpars2_457_/1}).
+-file("erl_parse.yrl", 198).
+yeccpars2_457_(__Stack0) ->
[begin
[ ]
end | __Stack0].
--file("erl_parse.yrl", 1029).
+-file("erl_parse.yrl", 1037).
diff --git a/configure.in b/configure.in
index 21f9a640ff..eb29b13bcc 100644
--- a/configure.in
+++ b/configure.in
@@ -182,19 +182,23 @@ AC_PROG_RANLIB
# Get erts version and otp release from erts/vsn.mk
#
AC_MSG_CHECKING([ERTS version])
-[ERTS=erts-`sed -n "s/^VSN[ ]*=[ ]*\(.*\)/\1/p" < $ERL_TOP/erts/vsn.mk`]
-AC_MSG_RESULT([$ERTS])
-AC_SUBST(ERTS)
+[ERTS_VSN=`sed -n "s/^VSN[ ]*=[ ]*\(.*\)/\1/p" < $ERL_TOP/erts/vsn.mk`]
+AC_MSG_RESULT([$ERTS_VSN])
+AC_SUBST(ERTS_VSN)
AC_MSG_CHECKING([OTP release])
-[OTP=OTP-`sed -n "s/^SYSTEM_VSN[ ]*=[ ]*\(.*\)/\1/p" < $ERL_TOP/erts/vsn.mk`]
-AC_MSG_RESULT([$OTP])
-AC_SUBST(OTP)
+[OTP_REL=`sed -n "s/^SYSTEM_VSN[ ]*=[ ]*\(.*\)/\1/p" < $ERL_TOP/erts/vsn.mk`]
+AC_MSG_RESULT([$OTP_REL])
+AC_SUBST(OTP_REL)
AC_ARG_ENABLE(threads,
[ --enable-threads enable async thread support
--disable-threads disable async thread support])
+AC_ARG_ENABLE(halfword-emulator,
+[ --enable-halfword-emulator enable halfword emulator (only for 64bit builds)
+ --disable-halfword-emulator disable halfword emulator (only for 64bit builds)])
+
AC_ARG_ENABLE(smp-support,
[ --enable-smp-support enable smp support
--disable-smp-support disable smp support])
@@ -343,7 +347,10 @@ fi
export ERL_TOP
AC_CONFIG_SUBDIRS(lib erts)
-AC_OUTPUT(Makefile)
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([make/emd2exml], [chmod +x make/emd2exml])
+
+AC_OUTPUT
pattern="lib/*/SKIP"
files=`echo $pattern`
@@ -379,10 +386,18 @@ if test -f "erts/doc/CONF_INFO"; then
echo '*********************************************************************'
echo
printf "%-15s: \n" documentation;
+ havexsltproc="yes"
for cmd in `cat erts/doc/CONF_INFO`; do
echo " $cmd is missing."
+ if test $cmd = "xsltproc"; then
+ havexsltproc="no"
+ fi
done
- echo ' The documentation can not be built.'
+ if test $havexsltproc = "no"; then
+ echo ' The documentation can not be built.'
+ else
+ echo ' Using fakefop to generate placeholder PDF files.'
+ fi
echo
echo '*********************************************************************'
fi
diff --git a/erts/configure.in b/erts/configure.in
index 5fa1245b13..a14b10adbf 100644
--- a/erts/configure.in
+++ b/erts/configure.in
@@ -123,6 +123,14 @@ AC_ARG_ENABLE(threads,
*) enable_threads=yes ;;
esac ], enable_threads=unknown)
+AC_ARG_ENABLE(halfword-emulator,
+[ --enable-halfword-emulator enable halfword emulator (only for 64bit builds)
+ --disable-halfword-emulator disable halfword emulator (only for 64bit builds)],
+[ case "$enableval" in
+ no) enable_halfword_emualtor=no ;;
+ *) enable_halfword_emulator=yes ;;
+ esac ], enable_halfword_emulator=unknown)
+
AC_ARG_ENABLE(smp-support,
[ --enable-smp-support enable smp support
--disable-smp-support disable smp support],
@@ -749,6 +757,25 @@ esac
AC_SUBST(LIBCARBON)
+dnl Check if we should/can build a halfword emulator
+
+AC_MSG_CHECKING(if we are building a halfword emulator (32bit heap on 64bit machine))
+if test "$enable_halfword_emulator" = "yes"; then
+ if test "$ARCH" = "amd64"; then
+ AC_DEFINE(HALFWORD_HEAP_EMULATOR, [1],
+ [Define if building a halfword-heap 64bit emulator])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_ERROR(no; halfword emulator not supported on this architecture)
+ fi
+else
+ AC_MSG_RESULT([no])
+fi
+
+
+
+
+
dnl some tests below will call this if we haven't already - and autoconf
dnl can't handle those tests being done conditionally at runtime
AC_PROG_CPP
@@ -794,13 +821,14 @@ fi
AC_CHECK_PROGS(XSLTPROC, xsltproc)
if test -z "$XSLTPROC"; then
echo "xsltproc" >> doc/CONF_INFO
- AC_MSG_WARN([No 'xsltproc' command found: the documentation can not be built])
+ AC_MSG_WARN([No 'xsltproc' command found: the documentation cannot be built])
fi
AC_CHECK_PROGS(FOP, fop)
if test -z "$FOP"; then
+ FOP="$ERL_TOP/make/fakefop"
echo "fop" >> doc/CONF_INFO
- AC_MSG_WARN([No 'fop' command found: the documentation can not be built])
+ AC_MSG_WARN([No 'fop' command found: going to generate placeholder PDF files])
fi
dnl
@@ -1666,7 +1694,7 @@ AC_CHECK_FUNCS([getnameinfo getipnodebyname getipnodebyaddr gethostbyname2])
AC_CHECK_FUNCS([ieee_handler fpsetmask finite isnan isinf res_gethostbyname dlopen \
pread pwrite writev memmove strerror strerror_r strncasecmp \
- gethrtime localtime_r gmtime_r mremap memcpy mallopt \
+ gethrtime localtime_r gmtime_r mmap mremap memcpy mallopt \
sbrk _sbrk __sbrk brk _brk __brk \
flockfile fstat strlcpy strlcat setsid posix2time setlocale nl_langinfo poll])
if test "X$host" = "Xwin32"; then
@@ -1698,7 +1726,6 @@ if test $disable_vfork = true; then
fi
AC_FUNC_VPRINTF
-AC_FUNC_MMAP
dnl The AC_DEFINEs are necessary for autoheader to work. :-(
dnl for gzio
@@ -2883,7 +2910,7 @@ case $enable_hybrid_heap-$host_os in
no-*)
AC_MSG_RESULT([no; disabled by user])
ERTS_BUILD_HYBRID_EMU=no;;
- *-win32|*-vxworks|*-ose) # vxworks and ose have their own "configure scripts"...
+ *-win32|*-vxworks) # vxworks have their own "configure scripts"...
AC_MSG_RESULT([no; default on this platform])
ERTS_BUILD_HYBRID_EMU=no;;
*)
@@ -3702,13 +3729,6 @@ dnl so it is - be adoptable
fi
;;
*)
- if test "$cross_compiling" = "yes"; then
- case "$with_ssl" in
- "$erl_xcomp_sysroot"*) ;;
- *) AC_MSG_ERROR([Invalid path to option --with-ssl=PATH (not a subdirectory to cross system root)]);;
- esac
- fi
-
# Option given with PATH to package
if test ! -d "$with_ssl" ; then
AC_MSG_ERROR(Invalid path to option --with-ssl=PATH)
diff --git a/erts/doc/src/Makefile b/erts/doc/src/Makefile
index 3dfefa2001..6578923fe1 100644
--- a/erts/doc/src/Makefile
+++ b/erts/doc/src/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1997-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1997-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
include $(ERL_TOP)/make/target.mk
@@ -45,6 +45,7 @@ XML_REF1_FILES = epmd.xml \
XML_REF3_FILES = \
driver_entry.xml \
+ erl_nif.xml \
erl_set_memory_block.xml \
erl_driver.xml \
erl_prim_loader.xml \
diff --git a/erts/doc/src/alt_dist.xml b/erts/doc/src/alt_dist.xml
index a929aec97f..36d83a685b 100644
--- a/erts/doc/src/alt_dist.xml
+++ b/erts/doc/src/alt_dist.xml
@@ -434,7 +434,7 @@
(13) Word received; /* Bytes received */
(14) struct uds_data *partner; /* The partner in an accept/listen pair */
(15) struct uds_data *next; /* Next structure in list */
-(16) /* The input buffer and it's data */
+(16) /* The input buffer and its data */
(17) int buffer_size; /* The allocated size of the input buffer */
(18) int buffer_pos; /* Current position in input buffer */
(19) int header_pos; /* Where the current header is in the
@@ -825,7 +825,7 @@
I/O vector itself. One can use this to allocate the binaries
for the queue "manually" in the driver, but we'll just fill
the binary array with NULL values (line 7) , which will make
- the runtime system allocate it's own buffers when we call
+ the runtime system allocate its own buffers when we call
<c><![CDATA[driver_enqv]]></c> (line 37).</p>
<p></p>
<p>The routine builds an I/O vector containing the header bytes
@@ -942,7 +942,7 @@
between invocations of Erlang nodes with the same name.</item>
</list>
<p>The control interface gets a buffer to return its value in,
- but is free to allocate it's own buffer is the provided one is
+ but is free to allocate its own buffer is the provided one is
to small. Here is the code for <c><![CDATA[uds_control]]></c>:</p>
<code type="none"><![CDATA[
( 1) static int uds_control(ErlDrvData handle, unsigned int command,
@@ -1042,7 +1042,7 @@
<c><![CDATA[net_kernel:start/1]]></c> function, which is useful as it starts
the distribution on a running system, where tracing/debugging
can be performed. The <c><![CDATA[net_kernel:start/1]]></c> routine takes a
- list as it's single argument. The lists first element should be
+ list as its single argument. The lists first element should be
the node name (without the "@hostname") as an atom, and the second (and
last) element should be one of the atoms <c><![CDATA[shortnames]]></c> or
<c><![CDATA[longnames]]></c>. In the example case <c><![CDATA[shortnames]]></c> is
diff --git a/erts/doc/src/driver.xml b/erts/doc/src/driver.xml
index 12c79aee90..006a6160de 100644
--- a/erts/doc/src/driver.xml
+++ b/erts/doc/src/driver.xml
@@ -413,7 +413,7 @@ select(Port, Query) ->
<title>Sample asynchronous driver</title>
<p>Sometimes database queries can take long time to
complete, in our <c><![CDATA[pg_sync]]></c> driver, the emulator
- halts while the driver is doing it's job. This is
+ halts while the driver is doing its job. This is
often not acceptable, since no other Erlang processes
gets a chance to do anything. To improve on our
postgres driver, we reimplement it using the asynchronous
diff --git a/erts/doc/src/erl_dist_protocol.xml b/erts/doc/src/erl_dist_protocol.xml
index 5978af178a..1fe7ac7ecd 100644
--- a/erts/doc/src/erl_dist_protocol.xml
+++ b/erts/doc/src/erl_dist_protocol.xml
@@ -206,7 +206,7 @@ By default EPMD listens on port 4369.
<section>
<title>Unregister a node from the EPMD</title>
<p>
- A node unregister itself from the EPMD by simply closing the
+ A node unregisters itself from the EPMD by simply closing the
TCP connection towards EPMD established when the node was registered.
</p>
</section>
diff --git a/erts/doc/src/erl_driver.xml b/erts/doc/src/erl_driver.xml
index 5061230a33..497a2fa01d 100644
--- a/erts/doc/src/erl_driver.xml
+++ b/erts/doc/src/erl_driver.xml
@@ -781,7 +781,7 @@ typedef struct ErlIOVec {
<marker id="driver_get_now"></marker>
<p>This function reads a timestamp into the memory pointed to by
the parameter <c>now</c>. See the description of <seealso marker="#ErlDrvNowData">ErlDrvNowData</seealso> for
- specification of it's fields. </p>
+ specification of its fields. </p>
<p>The return value is 0 unless the <c>now</c> pointer is not
valid, in which case it is &lt; 0. </p>
</desc>
diff --git a/erts/doc/src/erl_nif.xml b/erts/doc/src/erl_nif.xml
index 0dd46a951a..5ec844e2ad 100644
--- a/erts/doc/src/erl_nif.xml
+++ b/erts/doc/src/erl_nif.xml
@@ -161,8 +161,10 @@ ok
<seealso marker="#enif_release_binary">enif_release_binary</seealso>
or made read-only by transferring it to an Erlang term with
<seealso marker="#enif_make_binary">enif_make_binary</seealso>.
- But it does not have do happen in the same NIF call. Read-only binaries
- does not have to be released.</p>
+ But it does not have to happen in the same NIF call. Read-only binaries
+ do not have to be released.</p>
+ <p><seealso marker="#enif_make_new_binary">enif_make_new_binary</seealso>
+ can be used as a shortcut to allocate and return a binary in the same NIF call.</p>
<p>Binaries are sequences of whole bytes. Bitstrings with an arbitrary
bit length have no support yet.</p>
</item>
@@ -199,7 +201,7 @@ ok
library with the old destructor function can be safely unloaded. Existing
resource objects, of a module that is upgraded, must either be deleted
or taken over by the new NIF library. The unloading of a library will be
- postponed as long as it exists resource objects with a destructor
+ postponed as long as there exist resource objects with a destructor
function in the library.
</p>
<p>Here is a template example of how to create and return a resource object.</p>
@@ -262,7 +264,7 @@ ok
<item><p><c>load</c> is called when the NIF library is loaded
and there is no previously loaded library for this module.</p>
<p><c>*priv_data</c> can be set to point to some private data
- that the library needs in able to keep a state between NIF
+ that the library needs in order to keep a state between NIF
calls. <c>enif_priv_data()</c> will return this pointer.
<c>*priv_data</c> will be initialized to NULL when <c>load</c> is
called.</p>
@@ -325,8 +327,8 @@ ok
which a NIF call is made. This pointer should not be
dereferenced in any way, but only passed on to API
functions. An <c>ErlNifEnv</c> pointer is only valid until
- the function, where is what supplied as argument,
- returns. There is thus useless and dangerous to store <c>ErlNifEnv</c>
+ the function, where it was supplied as argument,
+ returns. It is thus useless and dangerous to store <c>ErlNifEnv</c>
pointers in between NIF calls.</p>
</item>
<tag><marker id="ErlNifFunc"/>ErlNifFunc</tag>
@@ -407,7 +409,7 @@ typedef enum {
</func>
<func><name><ret>int</ret><nametext>enif_alloc_binary(ErlNifEnv* env, unsigned size, ErlNifBinary* bin)</nametext></name>
<fsummary>Create a new binary.</fsummary>
- <desc><p>Allocate a new binary of size of <c>size</c>
+ <desc><p>Allocate a new binary of size <c>size</c>
bytes. Initialize the structure pointed to by <c>bin</c> to
refer to the allocated binary. The binary must either be released by
<seealso marker="#enif_release_binary">enif_release_binary()</seealso>
@@ -612,8 +614,8 @@ typedef enum {
call and then as released.</p></desc>
</func>
<func><name><ret>ERL_NIF_TERM</ret><nametext>enif_make_double(ErlNifEnv* env, double d)</nametext></name>
- <fsummary>Create an floating-point term</fsummary>
- <desc><p>Create an floating-point term from a <c>double</c>.</p></desc>
+ <fsummary>Create a floating-point term</fsummary>
+ <desc><p>Create a floating-point term from a <c>double</c>.</p></desc>
</func>
<func><name><ret>int</ret><nametext>enif_make_existing_atom(ErlNifEnv* env, const char* name, ERL_NIF_TERM* atom)</nametext></name>
<fsummary>Create an existing atom term</fsummary>
@@ -644,7 +646,7 @@ typedef enum {
<fsummary>Create a list term.</fsummary>
<desc><p>Create an ordinary list term with length indicated by the
function name. Prefer these functions (macros) over the variadic
- <c>enif_make_list</c> to get compile time error if the number of
+ <c>enif_make_list</c> to get a compile time error if the number of
arguments does not match.</p></desc>
</func>
<func><name><ret>ERL_NIF_TERM</ret><nametext>enif_make_list_cell(ErlNifEnv* env, ERL_NIF_TERM head, ERL_NIF_TERM tail)</nametext></name>
@@ -660,6 +662,16 @@ typedef enum {
<fsummary>Create an integer term from a long int</fsummary>
<desc><p>Create an integer term from a <c>long int</c>.</p></desc>
</func>
+ <func><name><ret>unsigned char*</ret><nametext>enif_make_new_binary(ErlNifEnv* env, unsigned size, ERL_NIF_TERM* termp)</nametext></name>
+ <fsummary>Allocate and create a new binary term</fsummary>
+ <desc><p>Allocate a binary of size <c>size</c> bytes and create an owning
+ term. The binary data is mutable until the calling NIF returns. This is a
+ quick way to create a new binary without having to use
+ <seealso marker="#ErlNifBinary">ErlNifBinary</seealso>. The drawbacks are
+ that the binary can not be kept between NIF calls and it can not be
+ reallocated.</p><p>Return a pointer to the raw binary data and set
+ <c>*termp</c> to the binary term.</p></desc>
+ </func>
<func><name><ret>ERL_NIF_TERM</ret><nametext>enif_make_ref(ErlNifEnv* env)</nametext></name>
<fsummary>Create a reference.</fsummary>
<desc><p>Create a reference like <seealso marker="erlang#make_ref-0">erlang:make_ref/0</seealso>.</p></desc>
@@ -670,7 +682,7 @@ typedef enum {
obtained by <seealso marker="#enif_alloc_resource">enif_alloc_resource</seealso>.
No ownership transfer is done, the resource object still needs to be released by
<seealso marker="#enif_release_resource">enif_release_resource</seealso>.</p>
- <p>Note that the only defined behaviour when using of a resource term in
+ <p>Note that the only defined behaviour of using a resource term in
an Erlang program is to store it and send it between processes on the
same node. Other operations such as matching or <c>term_to_binary</c>
will have unpredictable (but harmless) results.</p></desc>
@@ -707,7 +719,7 @@ typedef enum {
<fsummary>Create a tuple term.</fsummary>
<desc><p>Create a tuple term with length indicated by the
function name. Prefer these functions (macros) over the variadic
- <c>enif_make_tuple</c> to get compile time error if the number of
+ <c>enif_make_tuple</c> to get a compile time error if the number of
arguments does not match.</p></desc>
</func>
<func><name><ret>ERL_NIF_TERM</ret><nametext>enif_make_tuple_from_array(ErlNifEnv* env, const ERL_NIF_TERM arr[], unsigned cnt)</nametext></name>
@@ -762,7 +774,7 @@ typedef enum {
The supplied destructor <c>dtor</c> will be called both for existing instances
as well as new instances not yet created by the calling NIF library.</item>
</taglist>
- <p>The two flag values can be combined with bitwise-or. To avoid unintentionally
+ <p>The two flag values can be combined with bitwise-or. To avoid unintentional
name clashes a good practice is to include the module name as part of the
type <c>name</c>. The <c>dtor</c> may be <c>NULL</c> in case no destructor
is needed.</p>
@@ -795,7 +807,7 @@ typedef enum {
</func>
<func><name><ret>void</ret><nametext>enif_release_resource(ErlNifEnv* env, void* obj)</nametext></name>
<fsummary>Release a resource object.</fsummary>
- <desc><p>Release a resource objects obtained from <c>enif_alloc_resource</c>.
+ <desc><p>Release a resource object obtained from <c>enif_alloc_resource</c>.
The object may still be alive if it is referred to by Erlang terms. Each call to
<c>enif_release_resource</c> must correspond to a previous call to <c>enif_alloc_resource</c>.
References made by <c>enif_make_resource</c> can only be released by the garbage collector.</p></desc>
diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml
index 46f8df4683..e90160dfd7 100644
--- a/erts/doc/src/erlang.xml
+++ b/erts/doc/src/erlang.xml
@@ -253,6 +253,54 @@ iolist() = [char() | binary() | iolist()]
</desc>
</func>
<func>
+ <name>binary_part(Subject, PosLen) -> binary()</name>
+ <fsummary>Extracts a part of a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>PosLen = {Start,Length}</v>
+ <v>Start = int()</v>
+ <v>Length = int()</v>
+ </type>
+ <desc>
+ <p>Extracts the part of the binary described by <c>PosLen</c>.</p>
+
+ <p>Negative length can be used to extract bytes at the end of a binary:</p>
+
+<code>
+1> Bin = &lt;&lt;1,2,3,4,5,6,7,8,9,10&gt;&gt;.
+2> binary_part(Bin,{byte_size(Bin), -5)).
+&lt;&lt;6,7,8,9,10&gt;&gt;
+</code>
+
+ <p>If <c>PosLen</c> in any way references outside the binary, a <c>badarg</c> exception is raised.</p>
+
+ <p><c>Start</c> is zero-based, i.e:</p>
+<code>
+1> Bin = &lt;&lt;1,2,3&gt;&gt;
+2> binary_part(Bin,{0,2}).
+&lt;&lt;1,2&gt;&gt;
+</code>
+
+ <p>See the STDLIB module <c>binary</c> for details about the <c>PosLen</c> semantics.</p>
+
+ <p>Allowed in guard tests.</p>
+ </desc>
+ </func>
+ <func>
+ <name>binary_part(Subject, Start, Length) -> binary()</name>
+ <fsummary>Extracts a part of a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Start = int()</v>
+ <v>Length = int()</v>
+ </type>
+ <desc>
+ <p>The same as <c>binary_part(Subject, {Pos, Len})</c>.</p>
+
+ <p>Allowed in guard tests.</p>
+ </desc>
+ </func>
+ <func>
<name>binary_to_atom(Binary, Encoding) -> atom()</name>
<fsummary>Convert from text representation to an atom</fsummary>
<type>
@@ -318,6 +366,11 @@ iolist() = [char() | binary() | iolist()]
corresponding to the bytes from position <c>Start</c> to
position <c>Stop</c> in <c>Binary</c>. Positions in the
binary are numbered starting from 1.</p>
+
+ <note><p>This functions indexing style of using one-based indices for
+ binaries is deprecated. New code should use the functions in
+ the STDLIB module <c>binary</c> instead. They consequently
+ use the same (zero-based) style of indexing.</p></note>
</desc>
</func>
<func>
@@ -2749,7 +2802,7 @@ os_prompt%</pre>
<item>
<p>Works like <c>{spawn, Command}</c>, but only runs
- external executables. The <c>Command</c> in it's whole
+ external executables. The <c>Command</c> in its whole
is used as the name of the executable, including any
spaces. If arguments are to be passed, the
<c>args</c> and <c>arg0</c> <c>PortSettings</c> can be used.</p>
@@ -2926,7 +2979,7 @@ os_prompt%</pre>
The standard input and standard output handles of the port program
will, if this option is supplied, be opened with the flag
FILE_FLAG_OVERLAPPED, so that the port program can (and has to) do
- overlapped I/O on it's standard handles. This is not normally
+ overlapped I/O on its standard handles. This is not normally
the case for simple port programs, but an option of value for the
experienced Windows programmer. <em>On all other platforms, this
option is silently discarded</em>.</p>
@@ -5105,7 +5158,7 @@ true</pre>
</p>
<p><em>NOTE:</em> If other programs on the system have bound
to processors, e.g. another Erlang runtime system, you
- may loose performance when binding schedulers. Therefore,
+ may lose performance when binding schedulers. Therefore,
schedulers are by default not bound.</p>
<p>Schedulers can be bound in different ways. The <c>How</c>
argument determines how schedulers are bound. <c>How</c> can
@@ -5850,9 +5903,23 @@ true</pre>
</item>
<tag><c>wordsize</c></tag>
<item>
- <p>Returns the word size in bytes as an integer, i.e. on a
- 32-bit architecture 4 is returned, and on a 64-bit
- architecture 8 is returned.</p>
+ <p>Same as <c>{wordsize, internal}</c></p>
+ </item>
+ <tag><c>{wordsize, internal}</c></tag>
+ <item>
+ <p>Returns the size of Erlang term words in bytes as an
+ integer, i.e. on a 32-bit architecture 4 is returned,
+ and on a pure 64-bit architecture 8 is returned. On a
+ halfword 64-bit emulator, 4 is returned, as the Erlang
+ terms are stored using a virtual wordsize of half the
+ systems wordsize.</p>
+ </item>
+ <tag><c>{wordsize, external}</c></tag>
+ <item>
+ <p>Returns the true wordsize of the emulator, i.e. the size
+ of a pointer, in bytes as an integer. On a pure 32-bit
+ architecture 4 is returned, on both a halfword and pure
+ 64-bit architecture, 8 is returned.</p>
</item>
</taglist>
<note>
diff --git a/erts/doc/src/escript.xml b/erts/doc/src/escript.xml
index a89449df23..44c9a5ac68 100644
--- a/erts/doc/src/escript.xml
+++ b/erts/doc/src/escript.xml
@@ -31,7 +31,7 @@
<com>escript</com>
<comsummary>Erlang scripting support</comsummary>
<description>
- <p><c><![CDATA[escript]]></c> provides support for running short Erlang programs
+ <p><c>escript</c> provides support for running short Erlang programs
without having to compile them first and an easy way to retrieve the
command line arguments.</p>
</description>
@@ -41,10 +41,10 @@
<name>escript escript-flags script-name script-arg1 script-arg2...</name>
<fsummary>Run a script written in Erlang</fsummary>
<desc>
- <p><c><![CDATA[escript]]></c> runs a script written in Erlang.</p>
+ <p><c>escript</c> runs a script written in Erlang.</p>
<p>Here follows an example.</p>
<pre>
-$ <input>cat factorial</input>
+$ <input>cat factorial</input>
#!/usr/bin/env escript
%% -*- erlang -*-
%%! -smp enable -sname factorial -mnesia debug verbose
@@ -59,11 +59,11 @@ main([String]) ->
end;
main(_) ->
usage().
-
+
usage() ->
io:format("usage: factorial integer\n"),
halt(1).
-
+
fac(0) -> 1;
fac(N) -> N * fac(N-1).
$ <input>factorial 5</input>
@@ -74,9 +74,8 @@ $ <input>factorial five</input>
usage: factorial integer </pre>
<p>The header of the Erlang script in the example differs from
a normal Erlang module. The first line is intended to be the
- interpreter line, which invokes
- <c><![CDATA[escript]]></c>. However if you invoke the
- <c><![CDATA[escript]]></c> like this</p>
+ interpreter line, which invokes <c>escript</c>. However if you
+ invoke the <c>escript</c> like this</p>
<pre>
$ <input>escript factorial 5</input> </pre>
<p>the contents of the first line does not matter, but it
@@ -93,13 +92,13 @@ $ <input>escript factorial 5</input> </pre>
%%! -smp enable -sname factorial -mnesia debug verbose</pre>
<p>Such an argument line must start with <c>%%!</c> and the
rest of the line will interpreted as arguments to the emulator.</p>
- <p>If you know the location of the <c><![CDATA[escript]]></c> executable, the first
- line can directly give the path to <c><![CDATA[escript]]></c>. For instance:</p>
+ <p>If you know the location of the <c>escript</c> executable, the first
+ line can directly give the path to <c>escript</c>. For instance:</p>
<pre>
#!/usr/local/bin/escript </pre>
<p>As any other kind of scripts, Erlang scripts will not work on
Unix platforms if the execution bit for the script file is not set.
- (Use <c><![CDATA[chmod +x script-name]]></c> to turn on the execution bit.)
+ (Use <c>chmod +x script-name</c> to turn on the execution bit.)
</p>
<p>The rest of the Erlang script file may either contain
@@ -108,33 +107,33 @@ $ <input>escript factorial 5</input> </pre>
<p>An Erlang script file must always contain the function
<em>main/1</em>. When the script is run, the
- <c><![CDATA[main/1]]></c> function will be called with a list
+ <c>main/1</c> function will be called with a list
of strings representing the arguments given to the script (not
changed or interpreted in any way).</p>
- <p>If the <c><![CDATA[main/1]]></c> function in the script returns successfully,
+ <p>If the <c>main/1</c> function in the script returns successfully,
the exit status for the script will be 0. If an exception is generated
during execution, a short message will be printed and the script terminated
with exit status 127.</p>
- <p>To return your own non-zero exit code, call <c><![CDATA[halt(ExitCode)]]></c>;
+ <p>To return your own non-zero exit code, call <c>halt(ExitCode)</c>;
for instance:</p>
<pre>
halt(1).</pre>
- <p>Call <c><![CDATA[escript:script_name/0]]></c> from your to
- script to retrieve the pathname of the script (the pathname
- is usually, but not always, absolute).</p>
+ <p>Call <seealso marker="#script_name_0">escript:script_name()</seealso>
+ from your to script to retrieve the pathname of the script
+ (the pathname is usually, but not always, absolute).</p>
<p>If the file contains source code (as in the example above),
it will be processed by the preprocessor <c>epp</c>. This
means that you for example may use pre-defined macros (such as
- <c><![CDATA[?MODULE]]></c>) as well as include directives like
- the <c><![CDATA[-include_lib]]></c> directive. For instance, use</p>
+ <c>?MODULE</c>) as well as include directives like
+ the <c>-include_lib</c> directive. For instance, use</p>
<pre>
--include_lib("kernel/include/file.hrl"). </pre>
+-include_lib("kernel/include/file.hrl").</pre>
<p>to include the record definitions for the records used by the
- <c><![CDATA[file:read_link_info/1]]></c> function.</p>
+ <c>file:read_link_info/1</c> function.</p>
<p>The script will be checked for syntactic and semantic
correctness before being run. If there are warnings (such as
@@ -144,7 +143,7 @@ halt(1).</pre>
127.</p>
<p>Both the module declaration and the export declaration of
- the <c><![CDATA[main/1]]></c> function are optional.</p>
+ the <c>main/1</c> function are optional.</p>
<p>By default, the script will be interpreted. You can force
it to be compiled by including the following line somewhere
@@ -198,6 +197,180 @@ factorial 5 = 120
</pre>
</desc>
</func>
+ <func>
+ <name>escript:create(FileOrBin, Sections) -> ok | {ok, binary()} | {error, term()}</name>
+ <fsummary>Create an escript</fsummary>
+ <type>
+ <v>FileOrBin = filename() | 'binary'</v>
+ <v>Sections = [Header] Body | Body</v>
+ <v>Header = shebang | {shebang, Shebang}
+ | comment | {comment, Comment}
+ | {emu_args, EmuArgs}</v>
+ <v>Shebang = string() | 'default' | 'undefined'</v>
+ <v>Comment = string() | 'default' | 'undefined'</v>
+ <v>EmuArgs = string() | 'undefined'</v>
+ <v>Body = {source, SourceCode}
+ | {beam, BeamCode}
+ | {archive, ZipArchive}</v>
+ <v>SourceCode = BeamCode = ZipArchive = binary()</v>
+ </type>
+ <desc>
+ <p>The <marker id="create_2"></marker> <c>create/2</c>
+ function creates an escript from a list of sections. The
+ sections can be given in any order. An escript begins with an
+ optional <c>Header</c> followed by a mandatory <c>Body</c>. If
+ the header is present, it does always begin with a
+ <c>shebang</c>, possibly followed by a <c>comment</c> and
+ <c>emu_args</c>. The <c>shebang</c> defaults to
+ <c>"/usr/bin/env escript"</c>. The comment defaults to
+ <c>"This is an -*- erlang -*- file"</c>. The created escript
+ can either be returned as a binary or written to file.</p>
+
+ <p>As an example of how the function can be used, we create an
+ interpreted escript which uses emu_args to set some emulator
+ flag. In this case it happens to disable the smp_support. We
+ do also extract the different sections from the newly created
+ script:</p>
+ <pre>
+&gt; <input>Source = "%% Demo\nmain(_Args) ->\n io:format(erlang:system_info(smp_support)).\n".</input>
+"%% Demo\nmain(_Args) ->\n io:format(erlang:system_info(smp_support)).\n"
+&gt; <input>io:format("~s\n", [Source]).</input>
+%% Demo
+main(_Args) ->
+ io:format(erlang:system_info(smp_support)).
+
+ok
+&gt; <input>{ok, Bin} = escript:create(binary, [shebang, comment, {emu_args, "-smp disable"},
+ {source, list_to_binary(Source)}]).</input>
+{ok,&lt;&lt;"#!/usr/bin/env escript\n%% This is an -*- erlang -*- file\n%%!-smp disabl"...&gt;&gt;}
+&gt; <input>file:write_file("demo.escript", Bin).</input>
+ok
+&gt; <input>os:cmd("escript demo.escript").</input>
+"false"
+&gt; <input>escript:extract("demo.escript", []).</input>
+{ok,[{shebang,default}, {comment,default}, {emu_args,"-smp disable"},
+ {source,&lt;&lt;"%% Demo\nmain(_Args) ->\n io:format(erlang:system_info(smp_su"...&gt;&gt;}]}
+ </pre>
+
+ <p>An escript without header can be created like this:</p>
+<pre>
+&gt; <input>file:write_file("demo.erl",
+ ["%% demo.erl\n-module(demo).\n-export([main/1]).\n\n", Source]).</input>
+ok
+&gt; <input>{ok, _, BeamCode} = compile:file("demo.erl", [binary, debug_info]).</input>
+{ok,demo,
+ &lt;&lt;70,79,82,49,0,0,2,208,66,69,65,77,65,116,111,109,0,0,0,
+ 79,0,0,0,9,4,100,...&gt;&gt;}
+&gt; <input>escript:create("demo.beam", [{beam, BeamCode}]).</input>
+ok
+&gt; <input>escript:extract("demo.beam", []).</input>
+{ok,[{shebang,undefined}, {comment,undefined}, {emu_args,undefined},
+ {beam,&lt;&lt;70,79,82,49,0,0,3,68,66,69,65,77,65,116,
+ 111,109,0,0,0,83,0,0,0,9,...&gt;&gt;}]}
+&gt; <input>os:cmd("escript demo.beam").</input>
+"true"
+</pre>
+ <p>Here we create an archive script containing both Erlang
+ code as well as beam code. Then we iterate over all files in
+ the archive and collect their contents and some info about
+ them.
+ </p>
+<pre>
+&gt; <input>{ok, SourceCode} = file:read_file("demo.erl").</input>
+{ok,&lt;&lt;"%% demo.erl\n-module(demo).\n-export([main/1]).\n\n%% Demo\nmain(_Arg"...&gt;&gt;}
+&gt; <input>escript:create("demo.escript",
+ [shebang,
+ {archive, [{"demo.erl", SourceCode},
+ {"demo.beam", BeamCode}], []}]).</input>
+ok
+&gt; <input>{ok, [{shebang,default}, {comment,undefined}, {emu_args,undefined},
+ {archive, ArchiveBin}]} = escript:extract("demo.escript", []).</input>
+{ok,[{shebang,default}, {comment,undefined}, {emu_args,undefined},
+ {{archive,&lt;&lt;80,75,3,4,20,0,0,0,8,0,118,7,98,60,105,
+ 152,61,93,107,0,0,0,118,0,...&gt;&gt;}]}
+&gt; <input>file:write_file("demo.zip", ArchiveBin).</input>
+ok
+&gt; <input>zip:foldl(fun(N, I, B, A) -> [{N, I(), B()} | A] end, [], "demo.zip").</input>
+{ok,[{"demo.beam",
+ {file_info,748,regular,read_write,
+ {{2010,3,2},{0,59,22}},
+ {{2010,3,2},{0,59,22}},
+ {{2010,3,2},{0,59,22}},
+ 54,1,0,0,0,0,0},
+ &lt;&lt;70,79,82,49,0,0,2,228,66,69,65,77,65,116,111,109,0,0,0,
+ 83,0,0,...&gt;&gt;},
+ {"demo.erl",
+ {file_info,118,regular,read_write,
+ {{2010,3,2},{0,59,22}},
+ {{2010,3,2},{0,59,22}},
+ {{2010,3,2},{0,59,22}},
+ 54,1,0,0,0,0,0},
+ &lt;&lt;"%% demo.erl\n-module(demo).\n-export([main/1]).\n\n%% Demo\nmain(_Arg"...&gt;&gt;}]}</pre>
+ </desc>
+ </func>
+ <func>
+ <name>escript:extract(File, Options) -> {ok, Sections} | {error, term()}</name>
+ <fsummary>Parses an escript and extracts its sections</fsummary>
+ <type>
+ <v>File = filename()</v>
+ <v>Options = [] | [compile_source]</v>
+ <v>Sections = Headers Body</v>
+ <v>Headers = {shebang, Shebang}
+ {comment, Comment}
+ {emu_args, EmuArgs}</v>
+ <v>Shebang = string() | 'default' | 'undefined'</v>
+ <v>Comment = string() | 'default' | 'undefined'</v>
+ <v>EmuArgs = string() | 'undefined'</v>
+ <v>Body = {source, SourceCode}
+ | {source, BeamCode}
+ | {beam, BeamCode}
+ | {archive, ZipArchive}</v>
+ <v>SourceCode = BeamCode = ZipArchive = binary()</v>
+ </type>
+ <desc>
+ <p>The <marker id="extract_2"></marker> <c>extract/2</c>
+ function parses an escript and extracts its sections. This is
+ the reverse of <c>create/2</c>.</p>
+
+ <p>All sections are returned even if they do not exist in the
+ escript. If a particular section happens to have the same
+ value as the default value, the extracted value is set to the
+ atom <c>default</c>. If a section is missing, the extracted
+ value is set to the atom <c>undefined</c>. </p>
+
+ <p>The <c>compile_source</c> option only affects the result if
+ the escript contains <c>source</c> code. In that case the
+ Erlang code is automatically compiled and <c>{source,
+ BeamCode}</c> is returned instead of <c>{source,
+ SourceCode}</c>.</p>
+
+ <pre>
+&gt; <input>escript:create("demo.escript",
+ [shebang, {archive, [{"demo.erl", SourceCode},
+ {"demo.beam", BeamCode}], []}]).</input>
+ok
+&gt; <input>{ok, [{shebang,default}, {comment,undefined}, {emu_args,undefined},
+ {archive, ArchiveBin}]} =
+ escript:extract("demo.escript", []).</input>
+{ok,[{{archive,&lt;&lt;80,75,3,4,20,0,0,0,8,0,118,7,98,60,105,
+ 152,61,93,107,0,0,0,118,0,...&gt;&gt;}
+ {emu_args,undefined}]}
+ </pre>
+ </desc>
+ </func>
+ <func>
+ <name>escript:script_name() -> File</name>
+ <fsummary>Returns the name of an escript</fsummary>
+ <type>
+ <v>File = filename()</v>
+ </type>
+ <desc>
+ <p>The <marker id="script_name_0"></marker>
+ <c>script_name/0</c> function returns the name of the escript
+ being executed. If the function is invoked outside the context
+ of an escript, the behavior is undefined.</p>
+ </desc>
+ </func>
</funcs>
<section>
diff --git a/erts/doc/src/match_spec.xml b/erts/doc/src/match_spec.xml
index b9f955e4db..d6492198ca 100644
--- a/erts/doc/src/match_spec.xml
+++ b/erts/doc/src/match_spec.xml
@@ -530,7 +530,7 @@
the atom 'strider' and the tuple arity is 3 and return the whole
object.</p>
<code type="none"><![CDATA[
-[{{strider,'_'.'_'},
+[{{strider,'_','_'},
[],
['$_']}]
]]></code>
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml
index 65b836fc45..a4867adf22 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -109,7 +109,7 @@
<item>
<p>A number of bugs concerning re and unicode are
corrected:</p>
- <p>re:compile no longer looses unicode option, which also
+ <p>re:compile no longer loses unicode option, which also
fixes bug in re:split.</p>
<p>re:replace now handles unicode charlist replacement
argument</p>
@@ -4681,7 +4681,7 @@
</item>
<item>
<p>The runtime system with SMP support did not slowly adjust
- it's view of time when the system time suddenly changed.</p>
+ its view of time when the system time suddenly changed.</p>
<p>Timeouts could sometimes timeout too early on the runtime
system with SMP support.</p>
<p>Own Id: OTP-6202</p>
diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in
index a81ab28847..d767194d4d 100644
--- a/erts/emulator/Makefile.in
+++ b/erts/emulator/Makefile.in
@@ -61,11 +61,7 @@ ifeq ($(TYPE),quantify)
PURIFY = quantify $(QUANTIFY_BUILD_OPTIONS)
TYPEMARKER = .quantify
ENABLE_ALLOC_TYPE_VARS += quantify
-ifeq ($(findstring ose,$(TARGET)),ose)
- TYPE_FLAGS = @CFLAGS@ -DQUANTIFY
-else
TYPE_FLAGS = @CFLAGS@ -g -O2 -DQUANTIFY -DNO_JUMP_TABLE
-endif
else
ifeq ($(TYPE),purecov)
@@ -423,12 +419,6 @@ RELEASE_INCLUDES = beam/erl_driver.h sys/$(ERLANG_OSTYPE)/driver_int.h beam/erl_
ifeq ($(TARGET),win32)
RELEASE_INCLUDES += sys/$(ERLANG_OSTYPE)/erl_win_dyn_driver.h
endif
-ifeq ($(findstring ose,$(TARGET)),ose)
-RELEASE_INCLUDES += sys/$(ERLANG_OSTYPE)/erl_port_signals.sig \
- sys/$(ERLANG_OSTYPE)/ose_erl_port_prog.h \
- drivers/$(ERLANG_OSTYPE)/ose_erl_driver.h
-
-endif
ifeq ($(TYPE)-@HAVE_VALGRIND@,valgrind-no)
release_spec:
@@ -480,8 +470,6 @@ endif
ifeq ($(findstring vxworks,$(TARGET)),vxworks)
else
-ifeq ($(findstring ose,$(TARGET)),ose)
-else
ifdef HIPE_ENABLED
GENERATE += $(TTF_DIR)/hipe_x86_asm.h \
$(TTF_DIR)/hipe_amd64_asm.h \
@@ -492,7 +480,6 @@ GENERATE += $(TTF_DIR)/hipe_x86_asm.h \
$(BINDIR)/hipe_mkliterals$(TF_MARKER)
endif
endif
-endif
ifeq ($(FLAVOR)-@ERTS_BUILD_SMP_EMU@,smp-no)
GENERATE=
@@ -592,7 +579,6 @@ ifeq ($(findstring vxworks,$(TARGET)),vxworks)
INCLUDES += -I$(ERL_TOP)/erts/etc/vxworks
endif
-ifneq ($(findstring ose,$(TARGET)),ose)
ifeq ($(TARGET),win32)
# Usually the same as the default rule, but certain platforms (i.e. win32) mix
# different compilers
@@ -618,33 +604,6 @@ endif
$(OBJDIR)/%.o: beam/%.c
$(CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@
-else
-
-INCLUDES += -Idrivers/ose
-
-ifeq ($(TYPE),debug)
-$(OBJDIR)/%.o: beam/%.c
- $(CC) $(CFLAGS) -DNO_JUMP_TABLE $(INCLUDES) -c $< -o $@
-else
-
-VXCC=@VXCC@
-VXCFLAGS=@VXCFLAGS@
-CFLAGS_NOOPT=@CFLAGS_NOOPT@ @DEFS@ $(WFLAGS) $(THR_DEFS) $(ARCHCFLAGS)
-
-# we want to use jump table
-$(OBJDIR)/beam_emu.o: beam/beam_emu.c
- $(VXCC) $(VXCFLAGS) $(INCLUDES) -c $< -o $@
-
-# erl_process does not work properly with DIAB's -XO option,
-# we'll compile it with gcc instead
-$(OBJDIR)/erl_process.o: beam/erl_process.c
- $(VXCC) $(VXCFLAGS) $(INCLUDES) -c $< -o $@
-
-$(OBJDIR)/%.o: beam/%.c
- $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
-endif
-endif
-
$(OBJDIR)/%.o: $(TARGET)/%.c
$(CC) $(CFLAGS) $(INCLUDES) -Idrivers/common -c $< -o $@
@@ -663,15 +622,11 @@ $(OBJDIR)/%.o: drivers/common/%.c
$(OBJDIR)/%.o: drivers/$(ERLANG_OSTYPE)/%.c
$(CC) $(CFLAGS) $(INCLUDES) -Idrivers/common -Idrivers/$(ERLANG_OSTYPE) -I../etc/$(ERLANG_OSTYPE) -c $< -o $@
-# VxWorks and OSE uses unix drivers too...
+# VxWorks uses unix drivers too...
ifeq ($(findstring vxworks,$(TARGET)),vxworks)
$(OBJDIR)/%.o: drivers/unix/%.c
$(CC) $(CFLAGS) $(INCLUDES) -Idrivers/common -c $< -o $@
endif
-ifeq ($(findstring ose,$(TARGET)),ose)
-$(OBJDIR)/%.o: drivers/unix/%.c
- $(CC) $(CFLAGS) $(INCLUDES) -Idrivers/common -c $< -o $@
-endif
# ----------------------------------------------------------------------
# Specials
@@ -780,7 +735,8 @@ RUN_OBJS = \
$(OBJDIR)/erl_drv_thread.o $(OBJDIR)/erl_bif_chksum.o \
$(OBJDIR)/erl_bif_re.o $(OBJDIR)/erl_unicode.o \
$(OBJDIR)/packet_parser.o $(OBJDIR)/safe_hash.o \
- $(OBJDIR)/erl_zlib.o $(OBJDIR)/erl_nif.o
+ $(OBJDIR)/erl_zlib.o $(OBJDIR)/erl_nif.o \
+ $(OBJDIR)/erl_bif_binary.o
ifeq ($(TARGET),win32)
DRV_OBJS = \
@@ -810,18 +766,12 @@ OS_OBJS = \
$(OBJDIR)/elib_malloc.o \
$(OBJDIR)/elib_memmove.o
-ifeq ($(findstring ose,$(TARGET)),ose)
- OS_OBJS += $(OBJDIR)/erl_port_init.o \
- $(OBJDIR)/ose_inet_sock_select.o \
- $(OBJDIR)/ose_sfp.o
-else
ifeq ($(findstring vxworks,$(TARGET)),vxworks)
OS_OBJS += $(OBJDIR)/int64.o
else
OS_OBJS += $(OBJDIR)/sys_float.o \
$(OBJDIR)/sys_time.o
endif
-endif
DRV_OBJS = \
$(OBJDIR)/efile_drv.o \
$(OBJDIR)/inet_drv.o \
@@ -830,11 +780,7 @@ DRV_OBJS = \
endif
ifneq ($(findstring vxworks,$(TARGET)),vxworks)
- ifeq ($(findstring ose,$(TARGET)),ose)
- DRV_OBJS += $(OBJDIR)/ose_inet_drv.o
- else
DRV_OBJS += $(OBJDIR)/ttsl_drv.o
- endif
endif
ifeq ($(ERTS_ENABLE_KERNEL_POLL),yes)
@@ -968,33 +914,6 @@ $(TARGET)/int64.c:
endif
-ifeq ($(findstring ose,$(TARGET)),ose)
-# Extract soft float functions from libgcc.a (for beam_emu)
-VXCC=@VXCC@
-VXCFLAGS=@VXCFLAGS@
-VXLD=@VXLD@
-VXLDFLAGS=@VXLDFLAGS@
-VXCCLIBFLAGS=@VXCCLIBFLAGS@
-STRIP=@STRIP@
-SYMPREFIX=@SYMPREFIX@
-
-NEEDFUNCTIONS=__floatsidf __adddf3 __negdf2 __muldf3 __divdf3 __subdf3
-KEEPSYMS=$(NEEDFUNCTIONS:%=-K $(SYMPREFIX)%)
-
-$(OBJDIR)/ose_sfp.o: $(TARGET)/ose_sfp.c
- $(VXCC) $(VXCFLAGS) -o $(OBJDIR)/ose_sfp_tmp.o -c $(TARGET)/ose_sfp.c
- $(VXLD) -o $(OBJDIR)/ose_sfp.o $(OBJDIR)/ose_sfp_tmp.o $(VXLDFLAGS) $(VXCCLIBFLAGS)
- $(STRIP) $(KEEPSYMS) $(OBJDIR)/ose_sfp.o
-
-$(TARGET)/ose_sfp.c:
- echo 'void dummy(void); void dummy(void) {' > $(TARGET)/ose_sfp.c
- for x in $(NEEDFUNCTIONS); do echo 'extern void '$$x'();' \
- >> $(TARGET)/ose_sfp.c; done
- for x in $(NEEDFUNCTIONS); do echo $$x'();' >> $(TARGET)/ose_sfp.c; done
- echo '}' >> $(TARGET)/ose_sfp.c
-
-endif
-
# ----------------------------------------------------------------------
# The emulator itself
diff --git a/erts/emulator/beam/atom.names b/erts/emulator/beam/atom.names
index 57c8b08223..1138c0c871 100644
--- a/erts/emulator/beam/atom.names
+++ b/erts/emulator/beam/atom.names
@@ -65,6 +65,7 @@ atom EXIT='EXIT'
atom aborted
atom abs_path
atom absoluteURI
+atom ac
atom active
atom all
atom all_but_first
@@ -100,8 +101,15 @@ atom band
atom big
atom bif_return_trap
atom binary
+atom binary_bin_to_list_trap
+atom binary_copy_trap
+atom binary_longest_prefix_trap
+atom binary_longest_suffix_trap
+atom binary_match_trap
+atom binary_matches_trap
atom block
atom blocked
+atom bm
atom bnot
atom bor
atom bxor
@@ -256,6 +264,7 @@ atom info
atom info_msg
atom initial_call
atom input
+atom internal
atom internal_error
atom internal_status
atom instruction_counts
@@ -453,6 +462,7 @@ atom scheduler
atom scheduler_id
atom schedulers_online
atom scheme
+atom scope
atom sensitive
atom sequential_tracer
atom sequential_trace_token
diff --git a/erts/emulator/beam/beam_bif_load.c b/erts/emulator/beam/beam_bif_load.c
index b1feec7074..8462f1c7fd 100644
--- a/erts/emulator/beam/beam_bif_load.c
+++ b/erts/emulator/beam/beam_bif_load.c
@@ -39,10 +39,10 @@ static Eterm check_process_code(Process* rp, Module* modp);
static void delete_code(Process *c_p, ErtsProcLocks c_p_locks, Module* modp);
static void delete_export_references(Eterm module);
static int purge_module(int module);
-static int is_native(Eterm* code);
+static int is_native(BeamInstr* code);
static int any_heap_ref_ptrs(Eterm* start, Eterm* end, char* mod_start, Uint mod_size);
static int any_heap_refs(Eterm* start, Eterm* end, char* mod_start, Uint mod_size);
-static void remove_from_address_table(Eterm* code);
+static void remove_from_address_table(BeamInstr* code);
Eterm
load_module_2(BIF_ALIST_2)
@@ -344,8 +344,8 @@ BIF_RETTYPE finish_after_on_load_2(BIF_ALIST_2)
modp->code[MI_ON_LOAD_FUNCTION_PTR] = 0;
set_default_trace_pattern(BIF_ARG_1);
} else if (BIF_ARG_2 == am_false) {
- Eterm* code;
- Eterm* end;
+ BeamInstr* code;
+ BeamInstr* end;
/*
* The on_load function failed. Remove the loaded code.
@@ -354,7 +354,7 @@ BIF_RETTYPE finish_after_on_load_2(BIF_ALIST_2)
*/
erts_total_code_size -= modp->code_length;
code = modp->code;
- end = (Eterm *)((char *)code + modp->code_length);
+ end = (BeamInstr *)((char *)code + modp->code_length);
erts_cleanup_funs_on_purge(code, end);
beam_catches_delmod(modp->catches, code, modp->code_length);
erts_free(ERTS_ALC_T_CODE, (void *) code);
@@ -397,10 +397,10 @@ set_default_trace_pattern(Eterm module)
static Eterm
check_process_code(Process* rp, Module* modp)
{
- Eterm* start;
+ BeamInstr* start;
char* mod_start;
Uint mod_size;
- Eterm* end;
+ BeamInstr* end;
Eterm* sp;
#ifndef HYBRID /* FIND ME! */
ErlFunThing* funp;
@@ -418,7 +418,7 @@ check_process_code(Process* rp, Module* modp)
* Pick up limits for the module.
*/
start = modp->old_code;
- end = (Eterm *)((char *)start + modp->old_code_length);
+ end = (BeamInstr *)((char *)start + modp->old_code_length);
mod_start = (char *) start;
mod_size = modp->old_code_length;
@@ -472,11 +472,11 @@ check_process_code(Process* rp, Module* modp)
#ifndef HYBRID /* FIND ME! */
rescan:
for (funp = MSO(rp).funs; funp; funp = funp->next) {
- Eterm* fun_code;
+ BeamInstr* fun_code;
fun_code = funp->fe->address;
- if (INSIDE((Eterm *) funp->fe->address)) {
+ if (INSIDE((BeamInstr *) funp->fe->address)) {
if (done_gc) {
return am_true;
} else {
@@ -576,7 +576,7 @@ any_heap_ref_ptrs(Eterm* start, Eterm* end, char* mod_start, Uint mod_size)
switch (primary_tag(val)) {
case TAG_PRIMARY_BOXED:
case TAG_PRIMARY_LIST:
- if (in_area(val, mod_start, mod_size)) {
+ if (in_area(EXPAND_POINTER(val), mod_start, mod_size)) {
return 1;
}
break;
@@ -596,7 +596,7 @@ any_heap_refs(Eterm* start, Eterm* end, char* mod_start, Uint mod_size)
switch (primary_tag(val)) {
case TAG_PRIMARY_BOXED:
case TAG_PRIMARY_LIST:
- if (in_area(val, mod_start, mod_size)) {
+ if (in_area(EXPAND_POINTER(val), mod_start, mod_size)) {
return 1;
}
break;
@@ -617,8 +617,8 @@ any_heap_refs(Eterm* start, Eterm* end, char* mod_start, Uint mod_size)
static int
purge_module(int module)
{
- Eterm* code;
- Eterm* end;
+ BeamInstr* code;
+ BeamInstr* end;
Module* modp;
/*
@@ -653,7 +653,7 @@ purge_module(int module)
ASSERT(erts_total_code_size >= modp->old_code_length);
erts_total_code_size -= modp->old_code_length;
code = modp->old_code;
- end = (Eterm *)((char *)code + modp->old_code_length);
+ end = (BeamInstr *)((char *)code + modp->old_code_length);
erts_cleanup_funs_on_purge(code, end);
beam_catches_delmod(modp->old_catches, code, modp->old_code_length);
erts_free(ERTS_ALC_T_CODE, (void *) code);
@@ -665,7 +665,7 @@ purge_module(int module)
}
static void
-remove_from_address_table(Eterm* code)
+remove_from_address_table(BeamInstr* code)
{
int i;
@@ -738,11 +738,11 @@ delete_export_references(Eterm module)
Export *ep = export_list(i);
if (ep != NULL && (ep->code[0] == module)) {
if (ep->address == ep->code+3 &&
- (ep->code[3] == (Eterm) em_apply_bif)) {
+ (ep->code[3] == (BeamInstr) em_apply_bif)) {
continue;
}
ep->address = ep->code+3;
- ep->code[3] = (Uint) em_call_error_handler;
+ ep->code[3] = (BeamInstr) em_call_error_handler;
ep->code[4] = 0;
MatchSetUnref(ep->match_prog_set);
ep->match_prog_set = NULL;
@@ -774,7 +774,7 @@ beam_make_current_old(Process *c_p, ErtsProcLocks c_p_locks, Eterm module)
}
static int
-is_native(Eterm* code)
+is_native(BeamInstr* code)
{
return ((Eterm *)code[MI_FUNCTIONS])[1] != 0;
}
diff --git a/erts/emulator/beam/beam_bp.c b/erts/emulator/beam/beam_bp.c
index 1abf1dc10c..6278ff6bad 100644
--- a/erts/emulator/beam/beam_bp.c
+++ b/erts/emulator/beam/beam_bp.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2000-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2000-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -109,23 +109,23 @@ do { \
*/
static int set_break(Eterm mfa[3], int specified,
- Binary *match_spec, Uint break_op,
+ Binary *match_spec, BeamInstr break_op,
enum erts_break_op count_op, Eterm tracer_pid);
static int set_module_break(Module *modp, Eterm mfa[3], int specified,
- Binary *match_spec, Uint break_op,
+ Binary *match_spec, BeamInstr break_op,
enum erts_break_op count_op, Eterm tracer_pid);
-static int set_function_break(Module *modp, Uint *pc,
- Binary *match_spec, Uint break_op,
+static int set_function_break(Module *modp, BeamInstr *pc,
+ Binary *match_spec, BeamInstr break_op,
enum erts_break_op count_op, Eterm tracer_pid);
static int clear_break(Eterm mfa[3], int specified,
- Uint break_op);
+ BeamInstr break_op);
static int clear_module_break(Module *modp, Eterm mfa[3], int specified,
- Uint break_op);
-static int clear_function_break(Module *modp, Uint *pc,
- Uint break_op);
+ BeamInstr break_op);
+static int clear_function_break(Module *modp, BeamInstr *pc,
+ BeamInstr break_op);
-static BpData *is_break(Uint *pc, Uint break_op);
+static BpData *is_break(BeamInstr *pc, BeamInstr break_op);
@@ -145,7 +145,7 @@ erts_set_trace_break(Eterm mfa[3], int specified, Binary *match_spec,
Eterm tracer_pid) {
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
return set_break(mfa, specified, match_spec,
- (Uint) BeamOp(op_i_trace_breakpoint), 0, tracer_pid);
+ (BeamInstr) BeamOp(op_i_trace_breakpoint), 0, tracer_pid);
}
int
@@ -153,11 +153,11 @@ erts_set_mtrace_break(Eterm mfa[3], int specified, Binary *match_spec,
Eterm tracer_pid) {
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
return set_break(mfa, specified, match_spec,
- (Uint) BeamOp(op_i_mtrace_breakpoint), 0, tracer_pid);
+ (BeamInstr) BeamOp(op_i_mtrace_breakpoint), 0, tracer_pid);
}
void
-erts_set_mtrace_bif(Uint *pc, Binary *match_spec, Eterm tracer_pid) {
+erts_set_mtrace_bif(BeamInstr *pc, Binary *match_spec, Eterm tracer_pid) {
BpDataTrace *bdt;
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
@@ -173,7 +173,7 @@ erts_set_mtrace_bif(Uint *pc, Binary *match_spec, Eterm tracer_pid) {
MatchSetRef(match_spec);
bdt->match_spec = match_spec;
bdt->tracer_pid = tracer_pid;
- pc[-4] = (Uint) bdt;
+ pc[-4] = (BeamInstr) bdt;
}
}
@@ -181,14 +181,14 @@ int
erts_set_debug_break(Eterm mfa[3], int specified) {
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
return set_break(mfa, specified, NULL,
- (Uint) BeamOp(op_i_debug_breakpoint), 0, NIL);
+ (BeamInstr) BeamOp(op_i_debug_breakpoint), 0, NIL);
}
int
erts_set_count_break(Eterm mfa[3], int specified, enum erts_break_op count_op) {
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
return set_break(mfa, specified, NULL,
- (Uint) BeamOp(op_i_count_breakpoint), count_op, NIL);
+ (BeamInstr) BeamOp(op_i_count_breakpoint), count_op, NIL);
}
@@ -197,18 +197,18 @@ int
erts_clear_trace_break(Eterm mfa[3], int specified) {
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
return clear_break(mfa, specified,
- (Uint) BeamOp(op_i_trace_breakpoint));
+ (BeamInstr) BeamOp(op_i_trace_breakpoint));
}
int
erts_clear_mtrace_break(Eterm mfa[3], int specified) {
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
return clear_break(mfa, specified,
- (Uint) BeamOp(op_i_mtrace_breakpoint));
+ (BeamInstr) BeamOp(op_i_mtrace_breakpoint));
}
void
-erts_clear_mtrace_bif(Uint *pc) {
+erts_clear_mtrace_bif(BeamInstr *pc) {
BpDataTrace *bdt;
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
@@ -219,21 +219,21 @@ erts_clear_mtrace_bif(Uint *pc) {
}
Free(bdt);
}
- pc[-4] = (Uint) NULL;
+ pc[-4] = (BeamInstr) NULL;
}
int
erts_clear_debug_break(Eterm mfa[3], int specified) {
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
return clear_break(mfa, specified,
- (Uint) BeamOp(op_i_debug_breakpoint));
+ (BeamInstr) BeamOp(op_i_debug_breakpoint));
}
int
erts_clear_count_break(Eterm mfa[3], int specified) {
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
return clear_break(mfa, specified,
- (Uint) BeamOp(op_i_count_breakpoint));
+ (BeamInstr) BeamOp(op_i_count_breakpoint));
}
int
@@ -250,7 +250,7 @@ erts_clear_module_break(Module *modp) {
}
int
-erts_clear_function_break(Module *modp, Uint *pc) {
+erts_clear_function_break(Module *modp, BeamInstr *pc) {
ERTS_SMP_LC_ASSERT(erts_smp_is_system_blocked(0));
ASSERT(modp);
return clear_function_break(modp, pc, 0);
@@ -261,13 +261,13 @@ erts_clear_function_break(Module *modp, Uint *pc) {
/*
* SMP NOTE: Process p may have become exiting on return!
*/
-Uint
-erts_trace_break(Process *p, Uint *pc, Eterm *args,
+BeamInstr
+erts_trace_break(Process *p, BeamInstr *pc, Eterm *args,
Uint32 *ret_flags, Eterm *tracer_pid) {
Eterm tpid1, tpid2;
BpDataTrace *bdt = (BpDataTrace *) pc[-4];
-
- ASSERT(pc[-5] == (Uint) BeamOp(op_i_func_info_IaaI));
+
+ ASSERT(pc[-5] == (BeamInstr) BeamOp(op_i_func_info_IaaI));
ASSERT(bdt);
bdt = (BpDataTrace *) bdt->next;
ASSERT(bdt);
@@ -286,7 +286,7 @@ erts_trace_break(Process *p, Uint *pc, Eterm *args,
bdt->tracer_pid = tpid2;
ErtsSmpBPUnlock(bdt);
}
- pc[-4] = (Uint) bdt;
+ pc[-4] = (BeamInstr) bdt;
return bdt->orig_instr;
}
@@ -296,10 +296,10 @@ erts_trace_break(Process *p, Uint *pc, Eterm *args,
* SMP NOTE: Process p may have become exiting on return!
*/
Uint32
-erts_bif_mtrace(Process *p, Uint *pc, Eterm *args, int local,
+erts_bif_mtrace(Process *p, BeamInstr *pc, Eterm *args, int local,
Eterm *tracer_pid) {
BpDataTrace *bdt = (BpDataTrace *) pc[-4];
-
+
ASSERT(tracer_pid);
if (bdt) {
Eterm tpid1, tpid2;
@@ -326,9 +326,9 @@ erts_bif_mtrace(Process *p, Uint *pc, Eterm *args, int local,
int
-erts_is_trace_break(Uint *pc, Binary **match_spec_ret, Eterm *tracer_pid_ret) {
+erts_is_trace_break(BeamInstr *pc, Binary **match_spec_ret, Eterm *tracer_pid_ret) {
BpDataTrace *bdt =
- (BpDataTrace *) is_break(pc, (Uint) BeamOp(op_i_trace_breakpoint));
+ (BpDataTrace *) is_break(pc, (BeamInstr) BeamOp(op_i_trace_breakpoint));
if (bdt) {
if (match_spec_ret) {
@@ -345,9 +345,9 @@ erts_is_trace_break(Uint *pc, Binary **match_spec_ret, Eterm *tracer_pid_ret) {
}
int
-erts_is_mtrace_break(Uint *pc, Binary **match_spec_ret, Eterm *tracer_pid_ret) {
+erts_is_mtrace_break(BeamInstr *pc, Binary **match_spec_ret, Eterm *tracer_pid_ret) {
BpDataTrace *bdt =
- (BpDataTrace *) is_break(pc, (Uint) BeamOp(op_i_mtrace_breakpoint));
+ (BpDataTrace *) is_break(pc, (BeamInstr) BeamOp(op_i_mtrace_breakpoint));
if (bdt) {
if (match_spec_ret) {
@@ -364,7 +364,7 @@ erts_is_mtrace_break(Uint *pc, Binary **match_spec_ret, Eterm *tracer_pid_ret) {
}
int
-erts_is_mtrace_bif(Uint *pc, Binary **match_spec_ret, Eterm *tracer_pid_ret) {
+erts_is_mtrace_bif(BeamInstr *pc, Binary **match_spec_ret, Eterm *tracer_pid_ret) {
BpDataTrace *bdt = (BpDataTrace *) pc[-4];
if (bdt) {
@@ -382,20 +382,20 @@ erts_is_mtrace_bif(Uint *pc, Binary **match_spec_ret, Eterm *tracer_pid_ret) {
}
int
-erts_is_native_break(Uint *pc) {
+erts_is_native_break(BeamInstr *pc) {
#ifdef HIPE
- ASSERT(pc[-5] == (Uint) BeamOp(op_i_func_info_IaaI));
- return pc[0] == (Uint) BeamOp(op_hipe_trap_call)
- || pc[0] == (Uint) BeamOp(op_hipe_trap_call_closure);
+ ASSERT(pc[-5] == (BeamInstr) BeamOp(op_i_func_info_IaaI));
+ return pc[0] == (BeamInstr) BeamOp(op_hipe_trap_call)
+ || pc[0] == (BeamInstr) BeamOp(op_hipe_trap_call_closure);
#else
return 0;
#endif
}
int
-erts_is_count_break(Uint *pc, Sint *count_ret) {
+erts_is_count_break(BeamInstr *pc, Sint *count_ret) {
BpDataCount *bdc =
- (BpDataCount *) is_break(pc, (Uint) BeamOp(op_i_count_breakpoint));
+ (BpDataCount *) is_break(pc, (BeamInstr) BeamOp(op_i_count_breakpoint));
if (bdc) {
if (count_ret) {
@@ -408,24 +408,24 @@ erts_is_count_break(Uint *pc, Sint *count_ret) {
return 0;
}
-Uint *
+BeamInstr *
erts_find_local_func(Eterm mfa[3]) {
Module *modp;
- Uint** code_base;
- Uint* code_ptr;
+ BeamInstr** code_base;
+ BeamInstr* code_ptr;
Uint i,n;
if ((modp = erts_get_module(mfa[0])) == NULL)
return NULL;
- if ((code_base = (Uint **) modp->code) == NULL)
+ if ((code_base = (BeamInstr **) modp->code) == NULL)
return NULL;
- n = (Uint) code_base[MI_NUM_FUNCTIONS];
+ n = (BeamInstr) code_base[MI_NUM_FUNCTIONS];
for (i = 0; i < n; ++i) {
code_ptr = code_base[MI_FUNCTIONS+i];
- ASSERT(((Uint) BeamOp(op_i_func_info_IaaI)) == code_ptr[0]);
+ ASSERT(((BeamInstr) BeamOp(op_i_func_info_IaaI)) == code_ptr[0]);
ASSERT(mfa[0] == ((Eterm) code_ptr[2]));
if (mfa[1] == ((Eterm) code_ptr[3]) &&
- ((Uint) mfa[2]) == code_ptr[4]) {
+ ((BeamInstr) mfa[2]) == code_ptr[4]) {
return code_ptr + 5;
}
}
@@ -440,7 +440,7 @@ erts_find_local_func(Eterm mfa[3]) {
static int set_break(Eterm mfa[3], int specified,
- Binary *match_spec, Eterm break_op,
+ Binary *match_spec, BeamInstr break_op,
enum erts_break_op count_op, Eterm tracer_pid)
{
Module *modp;
@@ -470,26 +470,26 @@ static int set_break(Eterm mfa[3], int specified,
}
static int set_module_break(Module *modp, Eterm mfa[3], int specified,
- Binary *match_spec, Uint break_op,
+ Binary *match_spec, BeamInstr break_op,
enum erts_break_op count_op, Eterm tracer_pid) {
- Uint** code_base;
- Uint* code_ptr;
+ BeamInstr** code_base;
+ BeamInstr* code_ptr;
int num_processed = 0;
Uint i,n;
ASSERT(break_op);
ASSERT(modp);
- code_base = (Uint **) modp->code;
+ code_base = (BeamInstr **) modp->code;
if (code_base == NULL) {
return 0;
}
- n = (Uint) code_base[MI_NUM_FUNCTIONS];
+ n = (BeamInstr) code_base[MI_NUM_FUNCTIONS];
for (i = 0; i < n; ++i) {
code_ptr = code_base[MI_FUNCTIONS+i];
- ASSERT(code_ptr[0] == (Uint) BeamOp(op_i_func_info_IaaI));
+ ASSERT(code_ptr[0] == (BeamInstr) BeamOp(op_i_func_info_IaaI));
if ((specified < 2 || mfa[1] == ((Eterm) code_ptr[3])) &&
(specified < 3 || ((int) mfa[2]) == ((int) code_ptr[4]))) {
- Uint *pc = code_ptr+5;
+ BeamInstr *pc = code_ptr+5;
num_processed +=
set_function_break(modp, pc, match_spec,
@@ -499,16 +499,16 @@ static int set_module_break(Module *modp, Eterm mfa[3], int specified,
return num_processed;
}
-static int set_function_break(Module *modp, Uint *pc,
- Binary *match_spec, Uint break_op,
+static int set_function_break(Module *modp, BeamInstr *pc,
+ Binary *match_spec, BeamInstr break_op,
enum erts_break_op count_op, Eterm tracer_pid) {
BpData *bd, **r;
size_t size;
- Uint **code_base = (Uint **)modp->code;
+ BeamInstr **code_base = (BeamInstr **)modp->code;
ASSERT(code_base);
- ASSERT(code_base <= (Uint **)pc);
- ASSERT((Uint **)pc < code_base + (modp->code_length/sizeof(Uint *)));
+ ASSERT(code_base <= (BeamInstr **)pc);
+ ASSERT((BeamInstr **)pc < code_base + (modp->code_length/sizeof(BeamInstr *)));
/*
* Currently no trace support for native code.
*/
@@ -517,8 +517,8 @@ static int set_function_break(Module *modp, Uint *pc,
}
/* Do not allow two breakpoints of the same kind */
if ( (bd = is_break(pc, break_op))) {
- if (break_op == (Uint) BeamOp(op_i_trace_breakpoint)
- || break_op == (Uint) BeamOp(op_i_mtrace_breakpoint)) {
+ if (break_op == (BeamInstr) BeamOp(op_i_trace_breakpoint)
+ || break_op == (BeamInstr) BeamOp(op_i_mtrace_breakpoint)) {
BpDataTrace *bdt = (BpDataTrace *) bd;
Binary *old_match_spec;
@@ -533,7 +533,7 @@ static int set_function_break(Module *modp, Uint *pc,
} else {
ASSERT(! match_spec);
ASSERT(is_nil(tracer_pid));
- if (break_op == (Uint) BeamOp(op_i_count_breakpoint)) {
+ if (break_op == (BeamInstr) BeamOp(op_i_count_breakpoint)) {
BpDataCount *bdc = (BpDataCount *) bd;
ErtsSmpBPLock(bdc);
@@ -551,13 +551,13 @@ static int set_function_break(Module *modp, Uint *pc,
}
return 1;
}
- if (break_op == (Uint) BeamOp(op_i_trace_breakpoint) ||
- break_op == (Uint) BeamOp(op_i_mtrace_breakpoint)) {
+ if (break_op == (BeamInstr) BeamOp(op_i_trace_breakpoint) ||
+ break_op == (BeamInstr) BeamOp(op_i_mtrace_breakpoint)) {
size = sizeof(BpDataTrace);
} else {
ASSERT(! match_spec);
ASSERT(is_nil(tracer_pid));
- if (break_op == (Uint) BeamOp(op_i_count_breakpoint)) {
+ if (break_op == (BeamInstr) BeamOp(op_i_count_breakpoint)) {
if (count_op == erts_break_reset
|| count_op == erts_break_stop) {
/* Do not insert a new breakpoint */
@@ -566,27 +566,27 @@ static int set_function_break(Module *modp, Uint *pc,
size = sizeof(BpDataCount);
} else {
ASSERT(! count_op);
- ASSERT(break_op == (Uint) BeamOp(op_i_debug_breakpoint));
+ ASSERT(break_op == (BeamInstr) BeamOp(op_i_debug_breakpoint));
size = sizeof(BpDataDebug);
}
}
r = (BpData **) (pc-4);
if (! *r) {
- ASSERT(*pc != (Uint) BeamOp(op_i_trace_breakpoint));
- ASSERT(*pc != (Uint) BeamOp(op_i_mtrace_breakpoint));
- ASSERT(*pc != (Uint) BeamOp(op_i_debug_breakpoint));
- ASSERT(*pc != (Uint) BeamOp(op_i_count_breakpoint));
+ ASSERT(*pc != (BeamInstr) BeamOp(op_i_trace_breakpoint));
+ ASSERT(*pc != (BeamInstr) BeamOp(op_i_mtrace_breakpoint));
+ ASSERT(*pc != (BeamInstr) BeamOp(op_i_debug_breakpoint));
+ ASSERT(*pc != (BeamInstr) BeamOp(op_i_count_breakpoint));
/* First breakpoint; create singleton ring */
bd = Alloc(size);
BpInit(bd, *pc);
*pc = break_op;
*r = bd;
} else {
- ASSERT(*pc == (Uint) BeamOp(op_i_trace_breakpoint) ||
- *pc == (Uint) BeamOp(op_i_mtrace_breakpoint) ||
- *pc == (Uint) BeamOp(op_i_debug_breakpoint) ||
- *pc == (Uint) BeamOp(op_i_count_breakpoint));
- if (*pc == (Uint) BeamOp(op_i_debug_breakpoint)) {
+ ASSERT(*pc == (BeamInstr) BeamOp(op_i_trace_breakpoint) ||
+ *pc == (BeamInstr) BeamOp(op_i_mtrace_breakpoint) ||
+ *pc == (BeamInstr) BeamOp(op_i_debug_breakpoint) ||
+ *pc == (BeamInstr) BeamOp(op_i_count_breakpoint));
+ if (*pc == (BeamInstr) BeamOp(op_i_debug_breakpoint)) {
/* Debug bp must be last, so if it is also first;
* it must be singleton. */
ASSERT(BpSingleton(*r));
@@ -595,7 +595,7 @@ static int set_function_break(Module *modp, Uint *pc,
BpInitAndSpliceNext(bd, *pc, *r);
*pc = break_op;
} else if ((*r)->prev->orig_instr
- == (Uint) BeamOp(op_i_debug_breakpoint)) {
+ == (BeamInstr) BeamOp(op_i_debug_breakpoint)) {
/* Debug bp last in the ring; insert new second to last. */
bd = Alloc(size);
BpInitAndSplicePrev(bd, (*r)->prev->orig_instr, *r);
@@ -609,24 +609,24 @@ static int set_function_break(Module *modp, Uint *pc,
}
}
/* Init the bp type specific data */
- if (break_op == (Uint) BeamOp(op_i_trace_breakpoint) ||
- break_op == (Uint) BeamOp(op_i_mtrace_breakpoint)) {
+ if (break_op == (BeamInstr) BeamOp(op_i_trace_breakpoint) ||
+ break_op == (BeamInstr) BeamOp(op_i_mtrace_breakpoint)) {
BpDataTrace *bdt = (BpDataTrace *) bd;
MatchSetRef(match_spec);
bdt->match_spec = match_spec;
bdt->tracer_pid = tracer_pid;
- } else if (break_op == (Uint) BeamOp(op_i_count_breakpoint)) {
+ } else if (break_op == (BeamInstr) BeamOp(op_i_count_breakpoint)) {
BpDataCount *bdc = (BpDataCount *) bd;
bdc->count = 0;
}
- ++(*(Uint*)&code_base[MI_NUM_BREAKPOINTS]);
+ ++(*(BeamInstr*)&code_base[MI_NUM_BREAKPOINTS]);
return 1;
}
-static int clear_break(Eterm mfa[3], int specified, Uint break_op)
+static int clear_break(Eterm mfa[3], int specified, BeamInstr break_op)
{
int num_processed = 0;
Module *modp;
@@ -652,23 +652,24 @@ static int clear_break(Eterm mfa[3], int specified, Uint break_op)
}
static int clear_module_break(Module *m, Eterm mfa[3], int specified,
- Uint break_op) {
- Uint** code_base;
- Uint* code_ptr;
+ BeamInstr break_op) {
+ BeamInstr** code_base;
+ BeamInstr* code_ptr;
int num_processed = 0;
- Uint i,n;
+ Uint i;
+ BeamInstr n;
ASSERT(m);
- code_base = (Uint **) m->code;
+ code_base = (BeamInstr **) m->code;
if (code_base == NULL) {
return 0;
}
- n = (Uint) code_base[MI_NUM_FUNCTIONS];
+ n = (BeamInstr) code_base[MI_NUM_FUNCTIONS];
for (i = 0; i < n; ++i) {
code_ptr = code_base[MI_FUNCTIONS+i];
if ((specified < 2 || mfa[1] == ((Eterm) code_ptr[3])) &&
(specified < 3 || ((int) mfa[2]) == ((int) code_ptr[4]))) {
- Uint *pc = code_ptr + 5;
+ BeamInstr *pc = code_ptr + 5;
num_processed +=
clear_function_break(m, pc, break_op);
@@ -677,13 +678,13 @@ static int clear_module_break(Module *m, Eterm mfa[3], int specified,
return num_processed;
}
-static int clear_function_break(Module *m, Uint *pc, Uint break_op) {
+static int clear_function_break(Module *m, BeamInstr *pc, BeamInstr break_op) {
BpData *bd;
- Uint **code_base = (Uint **)m->code;
+ BeamInstr **code_base = (BeamInstr **)m->code;
ASSERT(code_base);
- ASSERT(code_base <= (Uint **)pc);
- ASSERT((Uint **)pc < code_base + (m->code_length/sizeof(Uint *)));
+ ASSERT(code_base <= (BeamInstr **)pc);
+ ASSERT((BeamInstr **)pc < code_base + (m->code_length/sizeof(BeamInstr *)));
/*
* Currently no trace support for native code.
*/
@@ -695,7 +696,7 @@ static int clear_function_break(Module *m, Uint *pc, Uint break_op) {
* There should be only one of each type,
* but break_op may be 0 which matches any type.
*/
- Uint op;
+ BeamInstr op;
BpData **r = (BpData **) (pc-4);
ASSERT(*r);
@@ -731,16 +732,16 @@ static int clear_function_break(Module *m, Uint *pc, Uint break_op) {
bd_prev->orig_instr = bd->orig_instr;
}
}
- if (op == (Uint) BeamOp(op_i_trace_breakpoint) ||
- op == (Uint) BeamOp(op_i_mtrace_breakpoint)) {
+ if (op == (BeamInstr) BeamOp(op_i_trace_breakpoint) ||
+ op == (BeamInstr) BeamOp(op_i_mtrace_breakpoint)) {
BpDataTrace *bdt = (BpDataTrace *) bd;
-
+
MatchSetUnref(bdt->match_spec);
}
Free(bd);
- ASSERT(((Uint) code_base[MI_NUM_BREAKPOINTS]) > 0);
- --(*(Uint*)&code_base[MI_NUM_BREAKPOINTS]);
+ ASSERT(((BeamInstr) code_base[MI_NUM_BREAKPOINTS]) > 0);
+ --(*(BeamInstr*)&code_base[MI_NUM_BREAKPOINTS]);
}
return 1;
}
@@ -754,8 +755,8 @@ static int clear_function_break(Module *m, Uint *pc, Uint break_op) {
** returned. The program counter must point to the first executable
** (breakpoint) instruction of the function.
*/
-static BpData *is_break(Uint *pc, Uint break_op) {
- ASSERT(pc[-5] == (Uint) BeamOp(op_i_func_info_IaaI));
+static BpData *is_break(BeamInstr *pc, BeamInstr break_op) {
+ ASSERT(pc[-5] == (BeamInstr) BeamOp(op_i_func_info_IaaI));
if (! erts_is_native_break(pc)) {
BpData *bd = (BpData *) pc[-4];
diff --git a/erts/emulator/beam/beam_bp.h b/erts/emulator/beam/beam_bp.h
index 44e6b294d8..786cbbe9d9 100644
--- a/erts/emulator/beam/beam_bp.h
+++ b/erts/emulator/beam/beam_bp.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2000-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2000-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -48,7 +48,7 @@
typedef struct bp_data {
struct bp_data *next; /* Doubly linked ring pointers */
struct bp_data *prev; /* -"- */
- Uint orig_instr; /* The original instruction to execute */
+ BeamInstr orig_instr; /* The original instruction to execute */
} BpData;
/*
** All the following bp_data_.. structs must begin the same way
@@ -57,21 +57,21 @@ typedef struct bp_data {
typedef struct bp_data_trace {
struct bp_data *next;
struct bp_data *prev;
- Uint orig_instr;
+ BeamInstr orig_instr;
Binary *match_spec;
- Eterm tracer_pid;
+ Eterm tracer_pid;
} BpDataTrace;
typedef struct bp_data_debug {
struct bp_data *next;
struct bp_data *prev;
- Uint orig_instr;
+ BeamInstr orig_instr;
} BpDataDebug;
typedef struct bp_data_count { /* Call count */
struct bp_data *next;
struct bp_data *prev;
- Uint orig_instr;
+ BeamInstr orig_instr;
Sint count;
} BpDataCount;
@@ -89,11 +89,11 @@ extern erts_smp_spinlock_t erts_bp_lock;
do { \
BpDataCount *bdc = (BpDataCount *) (pc)[-4]; \
\
- ASSERT((pc)[-5] == (Uint) BeamOp(op_i_func_info_IaaI)); \
+ ASSERT((pc)[-5] == (BeamInstr) BeamOp(op_i_func_info_IaaI)); \
ASSERT(bdc); \
bdc = (BpDataCount *) bdc->next; \
ASSERT(bdc); \
- (pc)[-4] = (Uint) bdc; \
+ (pc)[-4] = (BeamInstr) bdc; \
ErtsSmpBPLock(bdc); \
if (bdc->count >= 0) bdc->count++; \
ErtsSmpBPUnlock(bdc); \
@@ -104,11 +104,11 @@ do { \
do { \
BpData *bd = (BpData *) (pc)[-4]; \
\
- ASSERT((pc)[-5] == (Uint) BeamOp(op_i_func_info_IaaI)); \
+ ASSERT((pc)[-5] == (BeamInstr) BeamOp(op_i_func_info_IaaI)); \
ASSERT(bd); \
bd = bd->next; \
ASSERT(bd); \
- (pc)[-4] = (Uint) bd; \
+ (pc)[-4] = (BeamInstr) bd; \
*(instr_result) = bd->orig_instr; \
} while (0)
@@ -133,9 +133,9 @@ int erts_clear_trace_break(Eterm mfa[3], int specified);
int erts_set_mtrace_break(Eterm mfa[3], int specified, Binary *match_spec,
Eterm tracer_pid);
int erts_clear_mtrace_break(Eterm mfa[3], int specified);
-void erts_set_mtrace_bif(Uint *pc, Binary *match_spec,
+void erts_set_mtrace_bif(BeamInstr *pc, Binary *match_spec,
Eterm tracer_pid);
-void erts_clear_mtrace_bif(Uint *pc);
+void erts_clear_mtrace_bif(BeamInstr *pc);
int erts_set_debug_break(Eterm mfa[3], int specified);
int erts_clear_debug_break(Eterm mfa[3], int specified);
int erts_set_count_break(Eterm mfa[3], int specified, enum erts_break_op);
@@ -144,22 +144,22 @@ int erts_clear_count_break(Eterm mfa[3], int specified);
int erts_clear_break(Eterm mfa[3], int specified);
int erts_clear_module_break(Module *modp);
-int erts_clear_function_break(Module *modp, Uint *pc);
+int erts_clear_function_break(Module *modp, BeamInstr *pc);
-Uint erts_trace_break(Process *p, Uint *pc, Eterm *args,
+BeamInstr erts_trace_break(Process *p, BeamInstr *pc, Eterm *args,
Uint32 *ret_flags, Eterm *tracer_pid);
-Uint32 erts_bif_mtrace(Process *p, Uint *pc, Eterm *args,
+Uint32 erts_bif_mtrace(Process *p, BeamInstr *pc, Eterm *args,
int local, Eterm *tracer_pid);
-int erts_is_trace_break(Uint *pc, Binary **match_spec_ret,
+int erts_is_trace_break(BeamInstr *pc, Binary **match_spec_ret,
Eterm *tracer_pid_ret);
-int erts_is_mtrace_break(Uint *pc, Binary **match_spec_ret,
+int erts_is_mtrace_break(BeamInstr *pc, Binary **match_spec_ret,
Eterm *tracer_pid_rte);
-int erts_is_mtrace_bif(Uint *pc, Binary **match_spec_ret,
+int erts_is_mtrace_bif(BeamInstr *pc, Binary **match_spec_ret,
Eterm *tracer_pid_ret);
-int erts_is_native_break(Uint *pc);
-int erts_is_count_break(Uint *pc, Sint *count_ret);
+int erts_is_native_break(BeamInstr *pc);
+int erts_is_count_break(BeamInstr *pc, Sint *count_ret);
-Uint *erts_find_local_func(Eterm mfa[3]);
+BeamInstr *erts_find_local_func(Eterm mfa[3]);
#endif /* _BEAM_BP_H */
diff --git a/erts/emulator/beam/beam_catches.c b/erts/emulator/beam/beam_catches.c
index d5cef1cad2..e795b4efbd 100644
--- a/erts/emulator/beam/beam_catches.c
+++ b/erts/emulator/beam/beam_catches.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2000-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2000-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -26,7 +26,7 @@
/* XXX: should use dynamic reallocation */
#define TABSIZ (16*1024)
static struct {
- Eterm *cp;
+ BeamInstr *cp;
unsigned cdr;
} beam_catches[TABSIZ];
@@ -39,7 +39,7 @@ void beam_catches_init(void)
high_mark = 0;
}
-unsigned beam_catches_cons(Eterm *cp, unsigned cdr)
+unsigned beam_catches_cons(BeamInstr *cp, unsigned cdr)
{
int i;
@@ -65,7 +65,7 @@ unsigned beam_catches_cons(Eterm *cp, unsigned cdr)
return i;
}
-Eterm *beam_catches_car(unsigned i)
+BeamInstr *beam_catches_car(unsigned i)
{
if( i >= TABSIZ ) {
fprintf(stderr,
@@ -75,7 +75,7 @@ Eterm *beam_catches_car(unsigned i)
return beam_catches[i].cp;
}
-void beam_catches_delmod(unsigned head, Eterm *code, unsigned code_bytes)
+void beam_catches_delmod(unsigned head, BeamInstr *code, unsigned code_bytes)
{
unsigned i, cdr;
diff --git a/erts/emulator/beam/beam_catches.h b/erts/emulator/beam/beam_catches.h
index ccf33d5e86..6223427f0d 100644
--- a/erts/emulator/beam/beam_catches.h
+++ b/erts/emulator/beam/beam_catches.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2000-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2000-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -23,9 +23,9 @@
#define BEAM_CATCHES_NIL (-1)
void beam_catches_init(void);
-unsigned beam_catches_cons(Eterm* cp, unsigned cdr);
-Eterm *beam_catches_car(unsigned i);
-void beam_catches_delmod(unsigned head, Eterm* code, unsigned code_bytes);
+unsigned beam_catches_cons(BeamInstr* cp, unsigned cdr);
+BeamInstr *beam_catches_car(unsigned i);
+void beam_catches_delmod(unsigned head, BeamInstr* code, unsigned code_bytes);
#define catch_pc(x) beam_catches_car(catch_val((x)))
diff --git a/erts/emulator/beam/beam_debug.c b/erts/emulator/beam/beam_debug.c
index 4242a4161e..23b267d5cd 100644
--- a/erts/emulator/beam/beam_debug.c
+++ b/erts/emulator/beam/beam_debug.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1998-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1998-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -43,12 +43,13 @@
#else
# define HEXF "%08bpX"
#endif
+#define TermWords(t) (((t) / (sizeof(BeamInstr)/sizeof(Eterm))) + !!((t) % (sizeof(BeamInstr)/sizeof(Eterm))))
void dbg_bt(Process* p, Eterm* sp);
-void dbg_where(Eterm* addr, Eterm x0, Eterm* reg);
+void dbg_where(BeamInstr* addr, Eterm x0, Eterm* reg);
static void print_big(int to, void *to_arg, Eterm* addr);
-static int print_op(int to, void *to_arg, int op, int size, Eterm* addr);
+static int print_op(int to, void *to_arg, int op, int size, BeamInstr* addr);
Eterm
erts_debug_same_2(Process* p, Eterm term1, Eterm term2)
{
@@ -124,6 +125,38 @@ erts_debug_breakpoint_2(Process* p, Eterm MFA, Eterm bool)
BIF_ERROR(p, BADARG);
}
+#if 0 /* XXX:PaN - not used */
+void debug_dump_code(BeamInstr *I, int num)
+{
+ BeamInstr *code_ptr = I;
+ BeamInstr *end = code_ptr + num;
+ erts_dsprintf_buf_t *dsbufp;
+ BeamInstr instr;
+ int i;
+
+ dsbufp = erts_create_tmp_dsbuf(0);
+ while (code_ptr < end) {
+ erts_print(ERTS_PRINT_DSBUF, (void *) dsbufp, HEXF ": ", code_ptr);
+ instr = (BeamInstr) code_ptr[0];
+ for (i = 0; i < NUM_SPECIFIC_OPS; i++) {
+ if (instr == (BeamInstr) BeamOp(i) && opc[i].name[0] != '\0') {
+ code_ptr += print_op(ERTS_PRINT_DSBUF, (void *) dsbufp,
+ i, opc[i].sz-1, code_ptr+1) + 1;
+ break;
+ }
+ }
+ if (i >= NUM_SPECIFIC_OPS) {
+ erts_print(ERTS_PRINT_DSBUF, (void *) dsbufp,
+ "unknown " HEXF "\n", instr);
+ code_ptr++;
+ }
+ }
+ dsbufp->str[dsbufp->str_len] = 0;
+ erts_fprintf(stderr,"%s", dsbufp->str);
+ erts_destroy_tmp_dsbuf(dsbufp);
+}
+#endif
+
Eterm
erts_debug_disassemble_1(Process* p, Eterm addr)
{
@@ -132,16 +165,16 @@ erts_debug_disassemble_1(Process* p, Eterm addr)
Eterm* tp;
Eterm bin;
Eterm mfa;
- Eterm* funcinfo = NULL; /* Initialized to eliminate warning. */
- Uint* code_base;
- Uint* code_ptr = NULL; /* Initialized to eliminate warning. */
- Uint instr;
- Uint uaddr;
+ BeamInstr* funcinfo = NULL; /* Initialized to eliminate warning. */
+ BeamInstr* code_base;
+ BeamInstr* code_ptr = NULL; /* Initialized to eliminate warning. */
+ BeamInstr instr;
+ BeamInstr uaddr;
Uint hsz;
int i;
- if (term_to_Uint(addr, &uaddr)) {
- code_ptr = (Uint *) uaddr;
+ if (term_to_UWord(addr, &uaddr)) {
+ code_ptr = (BeamInstr *) uaddr;
if ((funcinfo = find_function_from_pc(code_ptr)) == NULL) {
BIF_RET(am_false);
}
@@ -180,14 +213,14 @@ erts_debug_disassemble_1(Process* p, Eterm addr)
* But this code_ptr will point to the start of the Export,
* not the function's func_info instruction. BOOM !?
*/
- code_ptr = ((Eterm *) ep->address) - 5;
+ code_ptr = ((BeamInstr *) ep->address) - 5;
funcinfo = code_ptr+2;
} else if (modp == NULL || (code_base = modp->code) == NULL) {
BIF_RET(am_undef);
} else {
n = code_base[MI_NUM_FUNCTIONS];
for (i = 0; i < n; i++) {
- code_ptr = (Uint *) code_base[MI_FUNCTIONS+i];
+ code_ptr = (BeamInstr *) code_base[MI_FUNCTIONS+i];
if (code_ptr[3] == name && code_ptr[4] == arity) {
funcinfo = code_ptr+2;
break;
@@ -203,9 +236,9 @@ erts_debug_disassemble_1(Process* p, Eterm addr)
dsbufp = erts_create_tmp_dsbuf(0);
erts_print(ERTS_PRINT_DSBUF, (void *) dsbufp, HEXF ": ", code_ptr);
- instr = (Uint) code_ptr[0];
+ instr = (BeamInstr) code_ptr[0];
for (i = 0; i < NUM_SPECIFIC_OPS; i++) {
- if (instr == (Uint) BeamOp(i) && opc[i].name[0] != '\0') {
+ if (instr == (BeamInstr) BeamOp(i) && opc[i].name[0] != '\0') {
code_ptr += print_op(ERTS_PRINT_DSBUF, (void *) dsbufp,
i, opc[i].sz-1, code_ptr+1) + 1;
break;
@@ -219,12 +252,12 @@ erts_debug_disassemble_1(Process* p, Eterm addr)
bin = new_binary(p, (byte *) dsbufp->str, (int) dsbufp->str_len);
erts_destroy_tmp_dsbuf(dsbufp);
hsz = 4+4;
- (void) erts_bld_uint(NULL, &hsz, (Uint) code_ptr);
+ (void) erts_bld_uword(NULL, &hsz, (BeamInstr) code_ptr);
hp = HAlloc(p, hsz);
- addr = erts_bld_uint(&hp, NULL, (Uint) code_ptr);
+ addr = erts_bld_uword(&hp, NULL, (BeamInstr) code_ptr);
ASSERT(is_atom(funcinfo[0]));
ASSERT(is_atom(funcinfo[1]));
- mfa = TUPLE3(hp, funcinfo[0], funcinfo[1], make_small(funcinfo[2]));
+ mfa = TUPLE3(hp, (Eterm) funcinfo[0], (Eterm) funcinfo[1], make_small((Eterm) funcinfo[2]));
hp += 4;
return TUPLE3(hp, addr, bin, mfa);
}
@@ -236,20 +269,20 @@ dbg_bt(Process* p, Eterm* sp)
while (sp < stack) {
if (is_CP(*sp)) {
- Eterm* addr = find_function_from_pc(cp_val(*sp));
+ BeamInstr* addr = find_function_from_pc(cp_val(*sp));
if (addr)
erts_fprintf(stderr,
HEXF ": %T:%T/%bpu\n",
- addr, addr[0], addr[1], addr[2]);
+ addr, (Eterm) addr[0], (Eterm) addr[1], (Uint) addr[2]);
}
sp++;
}
}
void
-dbg_where(Eterm* addr, Eterm x0, Eterm* reg)
+dbg_where(BeamInstr* addr, Eterm x0, Eterm* reg)
{
- Eterm* f = find_function_from_pc(addr);
+ BeamInstr* f = find_function_from_pc(addr);
if (f == NULL) {
erts_fprintf(stderr, "???\n");
@@ -259,7 +292,7 @@ dbg_where(Eterm* addr, Eterm x0, Eterm* reg)
addr = f;
arity = addr[2];
- erts_fprintf(stderr, HEXF ": %T:%T(", addr, addr[0], addr[1]);
+ erts_fprintf(stderr, HEXF ": %T:%T(", addr, (Eterm) addr[0], (Eterm) addr[1]);
for (i = 0; i < arity; i++)
erts_fprintf(stderr, i ? ", %T" : "%T", i ? reg[i] : x0);
erts_fprintf(stderr, ")\n");
@@ -267,18 +300,18 @@ dbg_where(Eterm* addr, Eterm x0, Eterm* reg)
}
static int
-print_op(int to, void *to_arg, int op, int size, Eterm* addr)
+print_op(int to, void *to_arg, int op, int size, BeamInstr* addr)
{
int i;
- Uint tag;
+ BeamInstr tag;
char* sign;
char* start_prog; /* Start of program for packer. */
char* prog; /* Current position in packer program. */
- Uint stack[8]; /* Stack for packer. */
- Uint* sp = stack; /* Points to next free position. */
- Uint packed = 0; /* Accumulator for packed operations. */
- Uint args[8]; /* Arguments for this instruction. */
- Uint* ap; /* Pointer to arguments. */
+ BeamInstr stack[8]; /* Stack for packer. */
+ BeamInstr* sp = stack; /* Points to next free position. */
+ BeamInstr packed = 0; /* Accumulator for packed operations. */
+ BeamInstr args[8]; /* Arguments for this instruction. */
+ BeamInstr* ap; /* Pointer to arguments. */
start_prog = opc[op].pack;
@@ -288,7 +321,7 @@ print_op(int to, void *to_arg, int op, int size, Eterm* addr)
* Avoid copying because instructions containing bignum operands
* are bigger than actually declared.
*/
- ap = (Uint *) addr;
+ ap = (BeamInstr *) addr;
} else {
/*
* Copy all arguments to a local buffer for the unpacking.
@@ -324,8 +357,8 @@ print_op(int to, void *to_arg, int op, int size, Eterm* addr)
packed >>= BEAM_TIGHT_SHIFT;
break;
case '6': /* Shift 16 steps */
- *ap++ = packed & 0xffff;
- packed >>= 16;
+ *ap++ = packed & BEAM_LOOSE_MASK;
+ packed >>= BEAM_LOOSE_SHIFT;
break;
case 'p':
*sp++ = *--ap;
@@ -390,11 +423,11 @@ print_op(int to, void *to_arg, int op, int size, Eterm* addr)
case 'i': /* Tagged integer */
case 'c': /* Tagged constant */
case 'q': /* Tagged literal */
- erts_print(to, to_arg, "%T", *ap);
+ erts_print(to, to_arg, "%T", (Eterm) *ap);
ap++;
break;
case 'A':
- erts_print(to, to_arg, "%d", arityval(ap[0]));
+ erts_print(to, to_arg, "%d", arityval( (Eterm) ap[0]));
ap++;
break;
case 'd': /* Destination (x(0), x(N), y(N)) */
@@ -421,30 +454,36 @@ print_op(int to, void *to_arg, int op, int size, Eterm* addr)
ap++;
break;
case 'f': /* Destination label */
- erts_print(to, to_arg, "f(%X)", *ap);
- ap++;
+ {
+ BeamInstr* f = find_function_from_pc((BeamInstr *)*ap);
+ if (f+3 != (BeamInstr *) *ap) {
+ erts_print(to, to_arg, "f(" HEXF ")", *ap);
+ } else {
+ erts_print(to, to_arg, "%T:%T/%bpu", (Eterm) f[0], (Eterm) f[1], (Eterm) f[2]);
+ }
+ ap++;
+ }
break;
case 'p': /* Pointer (to label) */
{
- Eterm* f = find_function_from_pc((Eterm *)*ap);
-
- if (f+3 != (Eterm *) *ap) {
- erts_print(to, to_arg, "p(%X)", *ap);
+ BeamInstr* f = find_function_from_pc((BeamInstr *)*ap);
+ if (f+3 != (BeamInstr *) *ap) {
+ erts_print(to, to_arg, "p(" HEXF ")", *ap);
} else {
- erts_print(to, to_arg, "%T:%T/%bpu", f[0], f[1], f[2]);
+ erts_print(to, to_arg, "%T:%T/%bpu", (Eterm) f[0], (Eterm) f[1], (Eterm) f[2]);
}
ap++;
}
break;
case 'j': /* Pointer (to label) */
- erts_print(to, to_arg, "j(%X)", *ap);
+ erts_print(to, to_arg, "j(" HEXF ")", *ap);
ap++;
break;
case 'e': /* Export entry */
{
Export* ex = (Export *) *ap;
erts_print(to, to_arg,
- "%T:%T/%bpu", ex->code[0], ex->code[1], ex->code[2]);
+ "%T:%T/%bpu", (Eterm) ex->code[0], (Eterm) ex->code[1], (Uint) ex->code[2]);
ap++;
}
break;
@@ -467,7 +506,7 @@ print_op(int to, void *to_arg, int op, int size, Eterm* addr)
ap++;
break;
case 'P': /* Byte offset into tuple (see beam_load.c) */
- erts_print(to, to_arg, "%d", (*ap / sizeof(Eterm*)) - 1);
+ erts_print(to, to_arg, "%d", (*ap / sizeof(Eterm)) - 1);
ap++;
break;
case 'l': /* fr(N) */
@@ -494,7 +533,7 @@ print_op(int to, void *to_arg, int op, int size, Eterm* addr)
int n = ap[-1];
while (n > 0) {
- erts_print(to, to_arg, "%T f(%X) ", ap[0], ap[1]);
+ erts_print(to, to_arg, "%T f(" HEXF ") ", (Eterm) ap[0], ap[1]);
ap += 2;
size += 2;
n--;
@@ -505,7 +544,7 @@ print_op(int to, void *to_arg, int op, int size, Eterm* addr)
{
int n;
for (n = ap[-2]; n > 0; n--) {
- erts_print(to, to_arg, "f(%X) ", ap[0]);
+ erts_print(to, to_arg, "f(" HEXF ") ", ap[0]);
ap++;
size++;
}
@@ -513,11 +552,12 @@ print_op(int to, void *to_arg, int op, int size, Eterm* addr)
break;
case op_i_select_big_sf:
while (ap[0]) {
- int arity = thing_arityval(ap[0]);
- print_big(to, to_arg, ap);
- size += arity+1;
- ap += arity+1;
- erts_print(to, to_arg, " f(%X) ", ap[0]);
+ Eterm *bigp = (Eterm *) ap;
+ int arity = thing_arityval(*bigp);
+ print_big(to, to_arg, bigp);
+ size += TermWords(arity+1);
+ ap += TermWords(arity+1);
+ erts_print(to, to_arg, " f(" HEXF ") ", ap[0]);
ap++;
size++;
}
@@ -541,8 +581,8 @@ print_big(int to, void *to_arg, Eterm* addr)
erts_print(to, to_arg, "-#integer(%d) = {", i);
else
erts_print(to, to_arg, "#integer(%d) = {", i);
- erts_print(to, to_arg, "%d", BIG_DIGIT(addr, 0));
+ erts_print(to, to_arg, "0x%x", BIG_DIGIT(addr, 0));
for (k = 1; k < i; k++)
- erts_print(to, to_arg, ",%d", BIG_DIGIT(addr, k));
+ erts_print(to, to_arg, ",0x%x", BIG_DIGIT(addr, k));
erts_print(to, to_arg, "}");
}
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index 2f7f48193d..f0b04535dd 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -117,6 +117,7 @@ do { \
#endif
#define GET_BIF_ADDRESS(p) ((BifFunction) (((Export *) p)->code[4]))
+#define TermWords(t) (((t) / (sizeof(BeamInstr)/sizeof(Eterm))) + !!((t) % (sizeof(BeamInstr)/sizeof(Eterm))))
/*
@@ -138,8 +139,8 @@ do { \
#define VALID_INSTR(IP) (0 <= (int)(IP) && ((int)(IP) < (NUMBER_OF_OPCODES*2+10)))
#else
#define VALID_INSTR(IP) \
- ((Sint)LabelAddr(emulator_loop) <= (Sint)(IP) && \
- (Sint)(IP) < (Sint)LabelAddr(end_emulator_loop))
+ ((SWord)LabelAddr(emulator_loop) <= (SWord)(IP) && \
+ (SWord)(IP) < (SWord)LabelAddr(end_emulator_loop))
#endif /* NO_JUMP_TABLE */
#define SET_CP(p, ip) \
@@ -181,11 +182,11 @@ do { \
#define StoreBifResult(Dst, Result) \
do { \
- Eterm* stb_next; \
+ BeamInstr* stb_next; \
Eterm stb_reg; \
stb_reg = Arg(Dst); \
I += (Dst) + 2; \
- stb_next = (Eterm *) *I; \
+ stb_next = (BeamInstr *) *I; \
CHECK_TERM(Result); \
switch (beam_reg_tag(stb_reg)) { \
case R_REG_DEF: \
@@ -205,7 +206,7 @@ do { \
c_p->cp = 0; \
} while(0)
-#define RESTORE_CP(X) SET_CP(c_p, cp_val(*(X)))
+#define RESTORE_CP(X) SET_CP(c_p, (BeamInstr *) cp_val(*(X)))
#define ISCATCHEND(instr) ((Eterm *) *(instr) == OpCode(catch_end_y))
@@ -213,13 +214,13 @@ do { \
* Special Beam instructions.
*/
-Eterm beam_apply[2];
-Eterm beam_exit[1];
-Eterm beam_continue_exit[1];
+BeamInstr beam_apply[2];
+BeamInstr beam_exit[1];
+BeamInstr beam_continue_exit[1];
-Eterm* em_call_error_handler;
-Eterm* em_apply_bif;
-Eterm* em_call_traced_function;
+BeamInstr* em_call_error_handler;
+BeamInstr* em_apply_bif;
+BeamInstr* em_call_traced_function;
/* NOTE These should be the only variables containing trace instructions.
@@ -227,9 +228,9 @@ Eterm* em_call_traced_function;
** for the refering variable (one of these), and rouge references
** will most likely cause chaos.
*/
-Eterm beam_return_to_trace[1]; /* OpCode(i_return_to_trace) */
-Eterm beam_return_trace[1]; /* OpCode(i_return_trace) */
-Eterm beam_exception_trace[1]; /* UGLY also OpCode(i_return_trace) */
+BeamInstr beam_return_to_trace[1]; /* OpCode(i_return_to_trace) */
+BeamInstr beam_return_trace[1]; /* OpCode(i_return_trace) */
+BeamInstr beam_exception_trace[1]; /* UGLY also OpCode(i_return_trace) */
/*
* All Beam instructions in numerical order.
@@ -522,8 +523,8 @@ extern int count_instructions;
#define DispatchMacro() \
do { \
- Eterm* dis_next; \
- dis_next = (Eterm *) *I; \
+ BeamInstr* dis_next; \
+ dis_next = (BeamInstr *) *I; \
CHECK_ARGS(I); \
if (FCALLS > 0 || FCALLS > neg_o_reds) { \
FCALLS--; \
@@ -535,8 +536,8 @@ extern int count_instructions;
#define DispatchMacroFun() \
do { \
- Eterm* dis_next; \
- dis_next = (Eterm *) *I; \
+ BeamInstr* dis_next; \
+ dis_next = (BeamInstr *) *I; \
CHECK_ARGS(I); \
if (FCALLS > 0 || FCALLS > neg_o_reds) { \
FCALLS--; \
@@ -590,7 +591,7 @@ extern int count_instructions;
ASSERT(VALID_INSTR(*I)); \
Goto(*I)
-#define PreFetch(N, Dst) do { Dst = (Eterm *) *(I + N + 1); } while (0)
+#define PreFetch(N, Dst) do { Dst = (BeamInstr *) *(I + N + 1); } while (0)
#define NextPF(N, Dst) \
I += N + 1; \
ASSERT(VALID_INSTR(Dst)); \
@@ -644,7 +645,7 @@ extern int count_instructions;
#define DeallocateReturn(Deallocate) \
do { \
int words_to_pop = (Deallocate); \
- SET_I(cp_val(*E)); \
+ SET_I((BeamInstr *) cp_val(*E)); \
E = ADD_BYTE_OFFSET(E, words_to_pop); \
CHECK_TERM(r(0)); \
Goto(*I); \
@@ -657,19 +658,19 @@ extern int count_instructions;
#define MoveCall(Src, Dest, CallDest, Size) \
(Dest) = (Src); \
SET_CP(c_p, I+Size+1); \
- SET_I((Eterm *) CallDest); \
+ SET_I((BeamInstr *) CallDest); \
Dispatch();
#define MoveCallLast(Src, Dest, CallDest, Deallocate) \
(Dest) = (Src); \
RESTORE_CP(E); \
E = ADD_BYTE_OFFSET(E, (Deallocate)); \
- SET_I((Eterm *) CallDest); \
+ SET_I((BeamInstr *) CallDest); \
Dispatch();
#define MoveCallOnly(Src, Dest, CallDest) \
(Dest) = (Src); \
- SET_I((Eterm *) CallDest); \
+ SET_I((BeamInstr *) CallDest); \
Dispatch();
#define GetList(Src, H, T) do { \
@@ -677,47 +678,48 @@ extern int count_instructions;
H = CAR(tmp_ptr); \
T = CDR(tmp_ptr); } while (0)
-#define GetTupleElement(Src, Element, Dest) \
- do { \
- tmp_arg1 = (Eterm) (((unsigned char *) tuple_val(Src)) + (Element)); \
- (Dest) = (*(Eterm *)tmp_arg1); \
+#define GetTupleElement(Src, Element, Dest) \
+ do { \
+ tmp_arg1 = (Eterm) COMPRESS_POINTER(((unsigned char *) tuple_val(Src)) + \
+ (Element)); \
+ (Dest) = (*(Eterm *) EXPAND_POINTER(tmp_arg1)); \
} while (0)
-#define ExtractNextElement(Dest) \
- tmp_arg1 += sizeof(Eterm); \
- (Dest) = (* (Eterm *) (((unsigned char *) tmp_arg1)))
+#define ExtractNextElement(Dest) \
+ tmp_arg1 += sizeof(Eterm); \
+ (Dest) = (* (Eterm *) (((unsigned char *) EXPAND_POINTER(tmp_arg1))))
-#define ExtractNextElement2(Dest) \
- do { \
- Eterm* ene_dstp = &(Dest); \
- ene_dstp[0] = ((Eterm *) tmp_arg1)[1]; \
- ene_dstp[1] = ((Eterm *) tmp_arg1)[2]; \
- tmp_arg1 += sizeof(Eterm) + sizeof(Eterm); \
+#define ExtractNextElement2(Dest) \
+ do { \
+ Eterm* ene_dstp = &(Dest); \
+ ene_dstp[0] = ((Eterm *) EXPAND_POINTER(tmp_arg1))[1]; \
+ ene_dstp[1] = ((Eterm *) EXPAND_POINTER(tmp_arg1))[2]; \
+ tmp_arg1 += sizeof(Eterm) + sizeof(Eterm); \
} while (0)
#define ExtractNextElement3(Dest) \
do { \
Eterm* ene_dstp = &(Dest); \
- ene_dstp[0] = ((Eterm *) tmp_arg1)[1]; \
- ene_dstp[1] = ((Eterm *) tmp_arg1)[2]; \
- ene_dstp[2] = ((Eterm *) tmp_arg1)[3]; \
+ ene_dstp[0] = ((Eterm *) EXPAND_POINTER(tmp_arg1))[1]; \
+ ene_dstp[1] = ((Eterm *) EXPAND_POINTER(tmp_arg1))[2]; \
+ ene_dstp[2] = ((Eterm *) EXPAND_POINTER(tmp_arg1))[3]; \
tmp_arg1 += 3*sizeof(Eterm); \
} while (0)
#define ExtractNextElement4(Dest) \
do { \
Eterm* ene_dstp = &(Dest); \
- ene_dstp[0] = ((Eterm *) tmp_arg1)[1]; \
- ene_dstp[1] = ((Eterm *) tmp_arg1)[2]; \
- ene_dstp[2] = ((Eterm *) tmp_arg1)[3]; \
- ene_dstp[3] = ((Eterm *) tmp_arg1)[4]; \
+ ene_dstp[0] = ((Eterm *) EXPAND_POINTER(tmp_arg1))[1]; \
+ ene_dstp[1] = ((Eterm *) EXPAND_POINTER(tmp_arg1))[2]; \
+ ene_dstp[2] = ((Eterm *) EXPAND_POINTER(tmp_arg1))[3]; \
+ ene_dstp[3] = ((Eterm *) EXPAND_POINTER(tmp_arg1))[4]; \
tmp_arg1 += 4*sizeof(Eterm); \
} while (0)
#define ExtractElement(Element, Dest) \
do { \
tmp_arg1 += (Element); \
- (Dest) = (* (Eterm *) tmp_arg1); \
+ (Dest) = (* (Eterm *) EXPAND_POINTER(tmp_arg1)); \
} while (0)
#define PutTuple(Arity, Src, Dest) \
@@ -759,8 +761,13 @@ extern int count_instructions;
#define IsTuple(X, Action) if (is_not_tuple(X)) Action
-#define IsArity(Pointer, Arity, Fail) \
- if (*(Eterm *)(tmp_arg1 = (Eterm)tuple_val(Pointer)) != (Arity)) { Fail; }
+#define IsArity(Pointer, Arity, Fail) \
+ if (*(Eterm *) \
+ EXPAND_POINTER(tmp_arg1 = (Eterm) \
+ COMPRESS_POINTER(tuple_val(Pointer))) != (Arity)) \
+ { \
+ Fail; \
+ }
#define IsFunction(X, Action) \
do { \
@@ -776,11 +783,14 @@ extern int count_instructions;
} \
} while (0)
-#define IsTupleOfArity(Src, Arity, Fail) \
- do { \
- if (is_not_tuple(Src) || *(Eterm *)(tmp_arg1 = (Eterm) tuple_val(Src)) != Arity) { \
- Fail; \
- } \
+#define IsTupleOfArity(Src, Arity, Fail) \
+ do { \
+ if (is_not_tuple(Src) || \
+ *(Eterm *) \
+ EXPAND_POINTER(tmp_arg1 = \
+ (Eterm) COMPRESS_POINTER(tuple_val(Src))) != Arity) { \
+ Fail; \
+ } \
} while (0)
#define IsBoolean(X, Fail) if ((X) != am_true && (X) != am_false) { Fail; }
@@ -791,7 +801,7 @@ extern int count_instructions;
#define IsBitstring(Src, Fail) \
if (is_not_binary(Src)) { Fail; }
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
#define BsSafeMul(A, B, Fail, Target) \
do { Uint64 _res = (A) * (B); \
if (_res / B != A) { Fail; } \
@@ -974,33 +984,33 @@ extern int count_instructions;
#define IsRef(Src, Fail) if (is_not_ref(Src)) { Fail; }
static BifFunction translate_gc_bif(void* gcf);
-static Eterm* handle_error(Process* c_p, Eterm* pc, Eterm* reg, BifFunction bf);
-static Eterm* next_catch(Process* c_p, Eterm *reg);
+static BeamInstr* handle_error(Process* c_p, BeamInstr* pc, Eterm* reg, BifFunction bf);
+static BeamInstr* next_catch(Process* c_p, Eterm *reg);
static void terminate_proc(Process* c_p, Eterm Value);
static Eterm add_stacktrace(Process* c_p, Eterm Value, Eterm exc);
-static void save_stacktrace(Process* c_p, Eterm* pc, Eterm* reg,
+static void save_stacktrace(Process* c_p, BeamInstr* pc, Eterm* reg,
BifFunction bf, Eterm args);
static struct StackTrace * get_trace_from_exc(Eterm exc);
static Eterm make_arglist(Process* c_p, Eterm* reg, int a);
-static Eterm call_error_handler(Process* p, Eterm* ip, Eterm* reg);
-static Eterm call_breakpoint_handler(Process* p, Eterm* fi, Eterm* reg);
-static Uint* fixed_apply(Process* p, Eterm* reg, Uint arity);
-static Eterm* apply(Process* p, Eterm module, Eterm function,
+static Eterm call_error_handler(Process* p, BeamInstr* ip, Eterm* reg);
+static Eterm call_breakpoint_handler(Process* p, BeamInstr* fi, Eterm* reg);
+static BeamInstr* fixed_apply(Process* p, Eterm* reg, Uint arity);
+static BeamInstr* apply(Process* p, Eterm module, Eterm function,
Eterm args, Eterm* reg);
static int hibernate(Process* c_p, Eterm module, Eterm function,
Eterm args, Eterm* reg);
-static Eterm* call_fun(Process* p, int arity, Eterm* reg, Eterm args);
-static Eterm* apply_fun(Process* p, Eterm fun, Eterm args, Eterm* reg);
+static BeamInstr* call_fun(Process* p, int arity, Eterm* reg, Eterm args);
+static BeamInstr* apply_fun(Process* p, Eterm fun, Eterm args, Eterm* reg);
static Eterm new_fun(Process* p, Eterm* reg, ErlFunEntry* fe, int num_free);
-#if defined(_OSE_) || defined(VXWORKS)
+#if defined(VXWORKS)
static int init_done;
#endif
void
init_emulator(void)
{
-#if defined(_OSE_) || defined(VXWORKS)
+#if defined(VXWORKS)
init_done = 0;
#endif
process_main();
@@ -1039,7 +1049,7 @@ init_emulator(void)
*/
void process_main(void)
{
-#if !defined(_OSE_) && !defined(VXWORKS)
+#if !defined(VXWORKS)
static int init_done = 0;
#endif
Process* c_p = NULL;
@@ -1078,7 +1088,7 @@ void process_main(void)
/*
* Pointer to next threaded instruction.
*/
- register Eterm *I REG_I = NULL;
+ register BeamInstr *I REG_I = NULL;
/* Number of reductions left. This function
* returns to the scheduler when FCALLS reaches zero.
@@ -1090,9 +1100,14 @@ void process_main(void)
*/
register Eterm tmp_arg1 REG_tmp_arg1 = NIL;
register Eterm tmp_arg2 REG_tmp_arg2 = NIL;
- Eterm tmp_big[2]; /* Temporary buffer for small bignums. */
+#if HEAP_ON_C_STACK
+ Eterm tmp_big[2]; /* Temporary buffer for small bignums if HEAP_ON_C_STACK. */
+#else
+ Eterm *tmp_big; /* Temporary buffer for small bignums if !HEAP_ON_C_STACK. */
+#endif
#ifndef ERTS_SMP
+#if !HALFWORD_HEAP
static Eterm save_reg[ERTS_X_REGS_ALLOCATED];
/* X registers -- not used directly, but
* through 'reg', because using it directly
@@ -1100,7 +1115,7 @@ void process_main(void)
* while using it through reg needs only
* one.
*/
-
+#endif
/*
* Floating point registers.
*/
@@ -1141,13 +1156,17 @@ void process_main(void)
* Note: c_p->arity must be set to reflect the number of useful terms in
* c_p->arg_reg before calling the scheduler.
*/
-
if (!init_done) {
init_done = 1;
goto init_emulator;
}
#ifndef ERTS_SMP
+#if !HALFWORD_HEAP
reg = save_reg; /* XXX: probably wastes a register on x86 */
+#else
+ /* Registers need to be heap allocated (correct memory range) for tracing to work */
+ reg = erts_alloc(ERTS_ALC_T_BEAM_REGISTER, ERTS_X_REGS_ALLOCATED * sizeof(Eterm));
+#endif
#endif
c_p = NULL;
reds_used = 0;
@@ -1168,11 +1187,14 @@ void process_main(void)
reg = c_p->scheduler_data->save_reg;
freg = c_p->scheduler_data->freg;
#endif
+#if !HEAP_ON_C_STACK
+ tmp_big = ERTS_PROC_GET_SCHDATA(c_p)->beam_emu_tmp_heap;
+#endif
ERL_BITS_RELOAD_STATEP(c_p);
{
int reds;
Eterm* argp;
- Eterm* next;
+ BeamInstr *next;
int i;
argp = c_p->arg_reg;
@@ -1199,7 +1221,7 @@ void process_main(void)
FCALLS = REDS_IN(c_p) = reds;
}
- next = (Eterm *) *I;
+ next = (BeamInstr *) *I;
r(0) = c_p->arg_reg[0];
#ifdef HARDDEBUG
if (c_p->arity > 0) {
@@ -1291,7 +1313,7 @@ void process_main(void)
}
/* FALL THROUGH */
OpCase(i_call_only_f): {
- SET_I((Eterm *) Arg(0));
+ SET_I((BeamInstr *) Arg(0));
Dispatch();
}
@@ -1302,7 +1324,7 @@ void process_main(void)
OpCase(i_call_last_fP): {
RESTORE_CP(E);
E = ADD_BYTE_OFFSET(E, Arg(1));
- SET_I((Eterm *) Arg(0));
+ SET_I((BeamInstr *) Arg(0));
Dispatch();
}
@@ -1313,7 +1335,7 @@ void process_main(void)
/* FALL THROUGH */
OpCase(i_call_f): {
SET_CP(c_p, I+2);
- SET_I((Eterm *) Arg(0));
+ SET_I((BeamInstr *) Arg(0));
Dispatch();
}
@@ -1349,7 +1371,7 @@ void process_main(void)
Dispatchx();
OpCase(init_y): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(1, next);
make_blank(yb(Arg(0)));
@@ -1357,7 +1379,7 @@ void process_main(void)
}
OpCase(i_trim_I): {
- Eterm* next;
+ BeamInstr *next;
Uint words;
Uint cp;
@@ -1383,7 +1405,7 @@ void process_main(void)
}
OpCase(test_heap_1_put_list_Iy): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(2, next);
TestHeap(Arg(0), 1);
@@ -1392,20 +1414,6 @@ void process_main(void)
NextPF(2, next);
}
- OpCase(put_string_IId):
- {
- unsigned char* s;
- int len;
- Eterm result;
-
- len = Arg(0); /* Length. */
- result = NIL;
- for (s = (unsigned char *) Arg(1); len > 0; s--, len--) {
- PutList(make_small(*s), result, result, StoreSimpleDest);
- }
- StoreBifResult(2, result);
- }
-
/*
* Send is almost a standard call-BIF with two arguments, except for:
* 1) It cannot be traced.
@@ -1414,7 +1422,7 @@ void process_main(void)
*/
OpCase(send): {
- Eterm* next;
+ BeamInstr *next;
Eterm result;
PRE_BIF_SWAPOUT(c_p);
@@ -1429,7 +1437,7 @@ void process_main(void)
NextPF(0, next);
} else if (c_p->freason == TRAP) {
SET_CP(c_p, I+1);
- SET_I((Eterm *) c_p->def_arg_reg[3]);
+ SET_I(*((BeamInstr **) (BeamInstr) ((c_p)->def_arg_reg + 3)));
SWAPIN;
r(0) = c_p->def_arg_reg[0];
x(1) = c_p->def_arg_reg[1];
@@ -1531,6 +1539,10 @@ void process_main(void)
/*
* Skeleton for receive statement:
*
+ * recv_mark L1 Optional
+ * call make_ref/monitor Optional
+ * ...
+ * recv_set L1 Optional
* L1: <-------------------+
* <-----------+ |
* | |
@@ -1549,13 +1561,41 @@ void process_main(void)
*
*/
+ OpCase(recv_mark_f): {
+ /*
+ * Save the current position in message buffer and the
+ * the label for the loop_rec/2 instruction for the
+ * the receive statement.
+ */
+ c_p->msg.mark = (BeamInstr *) Arg(0);
+ c_p->msg.saved_last = c_p->msg.last;
+ Next(1);
+ }
+
+ OpCase(i_recv_set): {
+ /*
+ * If the mark is valid (points to the loop_rec/2
+ * instruction that follows), we know that the saved
+ * position points to the first message that could
+ * possibly be matched out.
+ *
+ * If the mark is invalid, we do nothing, meaning that
+ * we will look through all messages in the message queue.
+ */
+ if (c_p->msg.mark == (BeamInstr *) (I+1)) {
+ c_p->msg.save = c_p->msg.saved_last;
+ }
+ I++;
+ /* Fall through to the loop_rec/2 instruction */
+ }
+
/*
* Pick up the next message and place it in x(0).
* If no message, jump to a wait or wait_timeout instruction.
*/
OpCase(i_loop_rec_fr):
{
- Eterm* next;
+ BeamInstr *next;
ErlMessage* msgp;
loop_rec__:
@@ -1579,7 +1619,7 @@ void process_main(void)
erts_smp_proc_unlock(c_p, ERTS_PROC_LOCKS_MSG_RECEIVE);
else {
#endif
- SET_I((Eterm *) Arg(0));
+ SET_I((BeamInstr *) Arg(0));
Goto(*I); /* Jump to a wait or wait_timeout instruction */
#ifdef ERTS_SMP
}
@@ -1615,7 +1655,7 @@ void process_main(void)
* Remove a (matched) message from the message queue.
*/
OpCase(remove_message): {
- Eterm* next;
+ BeamInstr *next;
ErlMessage* msgp;
PROCESS_MAIN_CHK_LOCKS(c_p);
@@ -1660,7 +1700,7 @@ void process_main(void)
* message didn't match), then jump to the loop_rec instruction.
*/
OpCase(loop_rec_end_f): {
- SET_I((Eterm *) Arg(0));
+ SET_I((BeamInstr *) Arg(0));
SAVE_MESSAGE(c_p);
goto loop_rec__;
}
@@ -1690,12 +1730,12 @@ void process_main(void)
}
GetArg1(1, timeout_value);
if (timeout_value != make_small(0)) {
-#if !defined(ARCH_64)
+#if !defined(ARCH_64) || HALFWORD_HEAP
Uint time_val;
#endif
if (is_small(timeout_value) && signed_val(timeout_value) > 0 &&
-#if defined(ARCH_64)
+#if defined(ARCH_64) && !HALFWORD_HEAP
((unsigned_val(timeout_value) >> 32) == 0)
#else
1
@@ -1706,14 +1746,16 @@ void process_main(void)
* c_p->def_arg_reg[0]. Note that it is safe to use this
* location because there are no living x registers in
* a receive statement.
+ * Note that for the halfword emulator, the two first elements
+ * of the array are used.
*/
- c_p->def_arg_reg[0] = (Eterm) (I+3);
+ *((BeamInstr **) (UWord) c_p->def_arg_reg) = I+3;
set_timer(c_p, unsigned_val(timeout_value));
} else if (timeout_value == am_infinity) {
c_p->flags |= F_TIMO;
-#if !defined(ARCH_64)
+#if !defined(ARCH_64) || HALFWORD_HEAP
} else if (term_to_Uint(timeout_value, &time_val)) {
- c_p->def_arg_reg[0] = (Eterm) (I+3);
+ *((BeamInstr **) (UWord) c_p->def_arg_reg) = I+3;
set_timer(c_p, time_val);
#endif
} else { /* Wrong time */
@@ -1742,7 +1784,7 @@ void process_main(void)
wait2: {
ASSERT(!ERTS_PROC_IS_EXITING(c_p));
- c_p->i = (Eterm *) Arg(0); /* L1 */
+ c_p->i = (BeamInstr *) Arg(0); /* L1 */
SWAPOUT;
c_p->arity = 0;
c_p->status = P_WAITING;
@@ -1770,7 +1812,7 @@ void process_main(void)
* we must test the F_INSLPQUEUE flag as well as the F_TIMO flag.
*/
if ((c_p->flags & (F_INSLPQUEUE | F_TIMO)) == 0) {
- c_p->def_arg_reg[0] = (Eterm) (I+3);
+ *((BeamInstr **) (UWord) c_p->def_arg_reg) = I+3;
set_timer(c_p, Arg(1));
}
goto wait2;
@@ -1785,7 +1827,7 @@ void process_main(void)
}
OpCase(timeout): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(0, next);
if (IS_TRACED_FL(c_p, F_TRACE_RECEIVE)) {
@@ -1805,8 +1847,8 @@ void process_main(void)
do_binary_search:
{
struct Pairs {
- Eterm val;
- Eterm* addr;
+ BeamInstr val;
+ BeamInstr* addr;
};
struct Pairs* low;
struct Pairs* high;
@@ -1846,7 +1888,7 @@ void process_main(void)
Goto(*I);
}
}
- SET_I((Eterm *) Arg(1));
+ SET_I((BeamInstr *) Arg(1));
Goto(*I);
}
@@ -1858,11 +1900,11 @@ void process_main(void)
if (is_small(index)) {
index = signed_val(index);
if (index < Arg(2)) {
- SET_I((Eterm *) (&Arg(3))[index]);
+ SET_I((BeamInstr *) (&Arg(3))[index]);
Goto(*I);
}
}
- SET_I((Eterm *) Arg(1));
+ SET_I((BeamInstr *) Arg(1));
Goto(*I);
}
@@ -1874,11 +1916,11 @@ void process_main(void)
if (is_small(index)) {
index = (Uint) (signed_val(index) - Arg(3));
if (index < Arg(2)) {
- SET_I((Eterm *) (&Arg(4))[index]);
+ SET_I((BeamInstr *) (&Arg(4))[index]);
Goto(*I);
}
}
- SET_I((Eterm *) Arg(1));
+ SET_I((BeamInstr *) Arg(1));
Goto(*I);
}
@@ -1915,7 +1957,7 @@ void process_main(void)
if (is_value(result)) {
StoreBifResult(3, result);
}
- SET_I((Eterm *) Arg(0));
+ SET_I((BeamInstr *) Arg(0));
Goto(*I);
}
@@ -1955,7 +1997,7 @@ void process_main(void)
GcBifFunction bf;
Eterm arg;
Eterm result;
- Uint live = Arg(3);
+ Uint live = (Uint) Arg(3);
GetArg1(2, arg);
reg[0] = r(0);
@@ -1976,7 +2018,7 @@ void process_main(void)
StoreBifResult(4, result);
}
if (Arg(0) != 0) {
- SET_I((Eterm *) Arg(0));
+ SET_I((BeamInstr *) Arg(0));
Goto(*I);
}
reg[0] = arg;
@@ -1984,6 +2026,81 @@ void process_main(void)
goto post_error_handling;
}
+ OpCase(i_gc_bif2_jIId): /* Note, one less parameter than the i_gc_bif1
+ and i_gc_bif3 */
+ {
+ typedef Eterm (*GcBifFunction)(Process*, Eterm*, Uint);
+ GcBifFunction bf;
+ Eterm result;
+ Uint live = (Uint) Arg(2);
+
+ reg[0] = r(0);
+ reg[live++] = tmp_arg1;
+ reg[live] = tmp_arg2;
+ bf = (GcBifFunction) Arg(1);
+ c_p->fcalls = FCALLS;
+ SWAPOUT;
+ PROCESS_MAIN_CHK_LOCKS(c_p);
+ ERTS_SMP_UNREQ_PROC_MAIN_LOCK(c_p);
+ result = (*bf)(c_p, reg, live);
+ ERTS_SMP_REQ_PROC_MAIN_LOCK(c_p);
+ PROCESS_MAIN_CHK_LOCKS(c_p);
+ SWAPIN;
+ r(0) = reg[0];
+ ERTS_HOLE_CHECK(c_p);
+ FCALLS = c_p->fcalls;
+ if (is_value(result)) {
+ StoreBifResult(3, result);
+ }
+ if (Arg(0) != 0) {
+ SET_I((BeamInstr *) Arg(0));
+ Goto(*I);
+ }
+ reg[0] = tmp_arg1;
+ reg[1] = tmp_arg2;
+ I = handle_error(c_p, I, reg, translate_gc_bif((void *) bf));
+ goto post_error_handling;
+ }
+
+ OpCase(i_gc_bif3_jIsId):
+ {
+ typedef Eterm (*GcBifFunction)(Process*, Eterm*, Uint);
+ GcBifFunction bf;
+ Eterm arg;
+ Eterm result;
+ Uint live = (Uint) Arg(3);
+
+ GetArg1(2, arg);
+ reg[0] = r(0);
+ reg[live++] = arg;
+ reg[live++] = tmp_arg1;
+ reg[live] = tmp_arg2;
+ bf = (GcBifFunction) Arg(1);
+ c_p->fcalls = FCALLS;
+ SWAPOUT;
+ PROCESS_MAIN_CHK_LOCKS(c_p);
+ ERTS_SMP_UNREQ_PROC_MAIN_LOCK(c_p);
+ result = (*bf)(c_p, reg, live);
+ ERTS_SMP_REQ_PROC_MAIN_LOCK(c_p);
+ PROCESS_MAIN_CHK_LOCKS(c_p);
+ SWAPIN;
+ r(0) = reg[0];
+ ERTS_HOLE_CHECK(c_p);
+ FCALLS = c_p->fcalls;
+ if (is_value(result)) {
+ StoreBifResult(4, result);
+ }
+ if (Arg(0) != 0) {
+ SET_I((BeamInstr *) Arg(0));
+ Goto(*I);
+ }
+ reg[0] = arg;
+ reg[1] = tmp_arg1;
+ reg[2] = tmp_arg2;
+ I = handle_error(c_p, I, reg, translate_gc_bif((void *) bf));
+ goto post_error_handling;
+ }
+
/*
* Guards bifs and, or, xor in guards.
*/
@@ -2004,7 +2121,7 @@ void process_main(void)
if (is_value(result)) {
StoreBifResult(2, result);
}
- SET_I((Eterm *) Arg(0));
+ SET_I((BeamInstr *) Arg(0));
Goto(*I);
}
@@ -2040,7 +2157,7 @@ void process_main(void)
*/
OpCase(call_bif0_e):
{
- Eterm (*bf)(Process*, Uint*) = GET_BIF_ADDRESS(Arg(0));
+ Eterm (*bf)(Process*, BeamInstr*) = GET_BIF_ADDRESS(Arg(0));
PRE_BIF_SWAPOUT(c_p);
c_p->fcalls = FCALLS - 1;
@@ -2073,9 +2190,9 @@ void process_main(void)
OpCase(call_bif1_e):
{
- Eterm (*bf)(Process*, Eterm, Uint*) = GET_BIF_ADDRESS(Arg(0));
+ Eterm (*bf)(Process*, Eterm, BeamInstr*) = GET_BIF_ADDRESS(Arg(0));
Eterm result;
- Eterm* next;
+ BeamInstr *next;
c_p->fcalls = FCALLS - 1;
if (FCALLS <= 0) {
@@ -2108,9 +2225,9 @@ void process_main(void)
OpCase(call_bif2_e):
{
- Eterm (*bf)(Process*, Eterm, Eterm, Uint*) = GET_BIF_ADDRESS(Arg(0));
+ Eterm (*bf)(Process*, Eterm, Eterm, BeamInstr*) = GET_BIF_ADDRESS(Arg(0));
Eterm result;
- Eterm* next;
+ BeamInstr *next;
PRE_BIF_SWAPOUT(c_p);
c_p->fcalls = FCALLS - 1;
@@ -2145,9 +2262,9 @@ void process_main(void)
OpCase(call_bif3_e):
{
- Eterm (*bf)(Process*, Eterm, Eterm, Eterm, Uint*) = GET_BIF_ADDRESS(Arg(0));
+ Eterm (*bf)(Process*, Eterm, Eterm, Eterm, BeamInstr*) = GET_BIF_ADDRESS(Arg(0));
Eterm result;
- Eterm* next;
+ BeamInstr *next;
PRE_BIF_SWAPOUT(c_p);
c_p->fcalls = FCALLS - 1;
@@ -2168,7 +2285,7 @@ void process_main(void)
} else if (c_p->freason == TRAP) {
call_bif_trap3:
SET_CP(c_p, I+2);
- SET_I((Eterm *)c_p->def_arg_reg[3]);
+ SET_I(*((BeamInstr **) (UWord) ((c_p)->def_arg_reg + 3)));
SWAPIN;
r(0) = c_p->def_arg_reg[0];
x(1) = c_p->def_arg_reg[1];
@@ -2276,7 +2393,7 @@ void process_main(void)
lb_Cl_error: {
if (Arg(0) != 0) {
OpCase(jump_f): {
- SET_I((Eterm *) Arg(0));
+ SET_I((BeamInstr *) Arg(0));
Goto(*I);
}
}
@@ -2468,7 +2585,7 @@ void process_main(void)
goto lb_Cl_error;
OpCase(i_apply): {
- Eterm* next;
+ BeamInstr *next;
SWAPOUT;
next = apply(c_p, r(0), x(1), x(2), reg);
SWAPIN;
@@ -2483,13 +2600,13 @@ void process_main(void)
}
OpCase(i_apply_last_P): {
- Eterm* next;
+ BeamInstr *next;
SWAPOUT;
next = apply(c_p, r(0), x(1), x(2), reg);
SWAPIN;
if (next != NULL) {
r(0) = reg[0];
- SET_CP(c_p, (Eterm *) E[0]);
+ SET_CP(c_p, (BeamInstr *) EXPAND_POINTER(E[0]));
E = ADD_BYTE_OFFSET(E, Arg(0));
SET_I(next);
Dispatch();
@@ -2499,7 +2616,7 @@ void process_main(void)
}
OpCase(i_apply_only): {
- Eterm* next;
+ BeamInstr *next;
SWAPOUT;
next = apply(c_p, r(0), x(1), x(2), reg);
SWAPIN;
@@ -2513,7 +2630,7 @@ void process_main(void)
}
OpCase(apply_I): {
- Eterm* next;
+ BeamInstr *next;
reg[0] = r(0);
SWAPOUT;
@@ -2530,7 +2647,7 @@ void process_main(void)
}
OpCase(apply_last_IP): {
- Eterm* next;
+ BeamInstr *next;
reg[0] = r(0);
SWAPOUT;
@@ -2538,7 +2655,7 @@ void process_main(void)
SWAPIN;
if (next != NULL) {
r(0) = reg[0];
- SET_CP(c_p, (Eterm *) E[0]);
+ SET_CP(c_p, (BeamInstr *) EXPAND_POINTER(E[0]));
E = ADD_BYTE_OFFSET(E, Arg(1));
SET_I(next);
Dispatch();
@@ -2548,7 +2665,7 @@ void process_main(void)
}
OpCase(i_apply_fun): {
- Eterm* next;
+ BeamInstr *next;
SWAPOUT;
next = apply_fun(c_p, r(0), x(1), reg);
@@ -2563,14 +2680,14 @@ void process_main(void)
}
OpCase(i_apply_fun_last_P): {
- Eterm* next;
+ BeamInstr *next;
SWAPOUT;
next = apply_fun(c_p, r(0), x(1), reg);
SWAPIN;
if (next != NULL) {
r(0) = reg[0];
- SET_CP(c_p, (Eterm *) E[0]);
+ SET_CP(c_p, (BeamInstr *) EXPAND_POINTER(E[0]));
E = ADD_BYTE_OFFSET(E, Arg(0));
SET_I(next);
Dispatchfun();
@@ -2579,7 +2696,7 @@ void process_main(void)
}
OpCase(i_apply_fun_only): {
- Eterm* next;
+ BeamInstr *next;
SWAPOUT;
next = apply_fun(c_p, r(0), x(1), reg);
@@ -2593,10 +2710,11 @@ void process_main(void)
}
OpCase(i_call_fun_I): {
- Eterm* next;
+ BeamInstr *next;
SWAPOUT;
reg[0] = r(0);
+
next = call_fun(c_p, Arg(0), reg, THE_NON_VALUE);
SWAPIN;
if (next != NULL) {
@@ -2609,7 +2727,7 @@ void process_main(void)
}
OpCase(i_call_fun_last_IP): {
- Eterm* next;
+ BeamInstr *next;
SWAPOUT;
reg[0] = r(0);
@@ -2617,7 +2735,7 @@ void process_main(void)
SWAPIN;
if (next != NULL) {
r(0) = reg[0];
- SET_CP(c_p, (Eterm *) E[0]);
+ SET_CP(c_p, (BeamInstr *) EXPAND_POINTER(E[0]));
E = ADD_BYTE_OFFSET(E, Arg(1));
SET_I(next);
Dispatchfun();
@@ -2722,7 +2840,7 @@ void process_main(void)
tmp_arg1 = *tuple_val(tmp_arg1);
goto do_binary_search;
}
- SET_I((Eterm *) Arg(1));
+ SET_I((BeamInstr *) Arg(1));
Goto(*I);
}
@@ -2748,16 +2866,18 @@ void process_main(void)
given = big_val(tmp_arg1);
given_arity = given[0];
given_size = thing_arityval(given_arity);
- bigp = &Arg(2);
+ bigp = (Eterm *) &Arg(2);
while ((arity = bigp[0]) > given_arity) {
- bigp += thing_arityval(arity) + 2;
+ bigp += (TermWords(thing_arityval(arity) + 1) + 1) * (sizeof(BeamInstr)/sizeof(Eterm));
}
while (bigp[0] == given_arity) {
if (memcmp(bigp+1, given+1, sizeof(Eterm)*given_size) == 0) {
- SET_I((Eterm *) bigp[given_size+1]);
+ BeamInstr *tmp =
+ ((BeamInstr *) (UWord) bigp) + TermWords(given_size + 1);
+ SET_I((BeamInstr *) *tmp);
Goto(*I);
}
- bigp += thing_arityval(arity) + 2;
+ bigp += (TermWords(thing_arityval(arity) + 1) + 1) * (sizeof(BeamInstr)/sizeof(Eterm));
}
}
@@ -2765,18 +2885,18 @@ void process_main(void)
* Failed.
*/
- SET_I((Eterm *) Arg(1));
+ SET_I((BeamInstr *) Arg(1));
Goto(*I);
}
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
OpCase(i_select_float_sfI):
{
Uint f;
int n;
struct ValLabel {
Uint f;
- Eterm* addr;
+ BeamInstr* addr;
};
struct ValLabel* ptr;
@@ -2804,7 +2924,7 @@ void process_main(void)
struct ValLabel {
Uint fpart1;
Uint fpart2;
- Eterm* addr;
+ BeamInstr* addr;
};
struct ValLabel* ptr;
@@ -2822,7 +2942,7 @@ void process_main(void)
}
ptr++;
}
- SET_I((Eterm *) Arg(1));
+ SET_I((BeamInstr *) Arg(1));
Goto(*I);
}
#endif
@@ -2830,7 +2950,7 @@ void process_main(void)
OpCase(set_tuple_element_sdP): {
Eterm element;
Eterm tuple;
- Eterm* next;
+ BeamInstr *next;
Eterm* p;
PreFetch(3, next);
@@ -3025,7 +3145,7 @@ void process_main(void)
switch (tmp_arg2) {
case 3:
{
- Eterm (*bf)(Process*, Eterm, Eterm, Eterm, Uint*) = vbf;
+ Eterm (*bf)(Process*, Eterm, Eterm, Eterm, BeamInstr*) = vbf;
ASSERT(!ERTS_PROC_IS_EXITING(c_p));
tmp_arg1 = (*bf)(c_p, r(0), x(1), x(2), I);
ASSERT(!ERTS_PROC_IS_EXITING(c_p) || is_non_value(tmp_arg1));
@@ -3034,7 +3154,7 @@ void process_main(void)
break;
case 2:
{
- Eterm (*bf)(Process*, Eterm, Eterm, Uint*) = vbf;
+ Eterm (*bf)(Process*, Eterm, Eterm, BeamInstr*) = vbf;
ASSERT(!ERTS_PROC_IS_EXITING(c_p));
tmp_arg1 = (*bf)(c_p, r(0), x(1), I);
ASSERT(!ERTS_PROC_IS_EXITING(c_p) || is_non_value(tmp_arg1));
@@ -3043,7 +3163,7 @@ void process_main(void)
break;
case 1:
{
- Eterm (*bf)(Process*, Eterm, Uint*) = vbf;
+ Eterm (*bf)(Process*, Eterm, BeamInstr*) = vbf;
ASSERT(!ERTS_PROC_IS_EXITING(c_p));
tmp_arg1 = (*bf)(c_p, r(0), I);
ASSERT(!ERTS_PROC_IS_EXITING(c_p) || is_non_value(tmp_arg1));
@@ -3052,7 +3172,7 @@ void process_main(void)
break;
case 0:
{
- Eterm (*bf)(Process*, Uint*) = vbf;
+ Eterm (*bf)(Process*, BeamInstr*) = vbf;
ASSERT(!ERTS_PROC_IS_EXITING(c_p));
tmp_arg1 = (*bf)(c_p, I);
ASSERT(!ERTS_PROC_IS_EXITING(c_p) || is_non_value(tmp_arg1));
@@ -3076,7 +3196,7 @@ apply_bif_or_nif_epilogue:
SET_I(c_p->cp);
Goto(*I);
} else if (c_p->freason == TRAP) {
- SET_I((Eterm *)c_p->def_arg_reg[3]);
+ SET_I(*((BeamInstr **) (UWord) ((c_p)->def_arg_reg + 3)));
r(0) = c_p->def_arg_reg[0];
x(1) = c_p->def_arg_reg[1];
x(2) = c_p->def_arg_reg[2];
@@ -3534,7 +3654,7 @@ apply_bif_or_nif_epilogue:
OpCase(bs_put_string_II):
{
- Eterm* next;
+ BeamInstr *next;
PreFetch(2, next);
erts_new_bs_put_string(ERL_BITS_ARGS_2((byte *) Arg(1), Arg(0)));
NextPF(2, next);
@@ -3705,7 +3825,7 @@ apply_bif_or_nif_epilogue:
{
Eterm header;
- Eterm* next;
+ BeamInstr *next;
Uint slots;
OpCase(i_bs_start_match2_rfIId): {
@@ -3771,7 +3891,7 @@ apply_bif_or_nif_epilogue:
}
OpCase(bs_test_zero_tail2_fr): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchBuffer *_mb;
PreFetch(1, next);
@@ -3783,7 +3903,7 @@ apply_bif_or_nif_epilogue:
}
OpCase(bs_test_zero_tail2_fx): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchBuffer *_mb;
PreFetch(2, next);
@@ -3795,7 +3915,7 @@ apply_bif_or_nif_epilogue:
}
OpCase(bs_test_tail_imm2_frI): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchBuffer *_mb;
PreFetch(2, next);
_mb = ms_matchbuffer(r(0));
@@ -3805,7 +3925,7 @@ apply_bif_or_nif_epilogue:
NextPF(2, next);
}
OpCase(bs_test_tail_imm2_fxI): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchBuffer *_mb;
PreFetch(3, next);
_mb = ms_matchbuffer(xb(Arg(1)));
@@ -3816,7 +3936,7 @@ apply_bif_or_nif_epilogue:
}
OpCase(bs_test_unit_frI): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchBuffer *_mb;
PreFetch(2, next);
_mb = ms_matchbuffer(r(0));
@@ -3826,7 +3946,7 @@ apply_bif_or_nif_epilogue:
NextPF(2, next);
}
OpCase(bs_test_unit_fxI): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchBuffer *_mb;
PreFetch(3, next);
_mb = ms_matchbuffer(xb(Arg(1)));
@@ -3837,7 +3957,7 @@ apply_bif_or_nif_epilogue:
}
OpCase(bs_test_unit8_fr): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchBuffer *_mb;
PreFetch(1, next);
_mb = ms_matchbuffer(r(0));
@@ -3847,7 +3967,7 @@ apply_bif_or_nif_epilogue:
NextPF(1, next);
}
OpCase(bs_test_unit8_fx): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchBuffer *_mb;
PreFetch(2, next);
_mb = ms_matchbuffer(xb(Arg(1)));
@@ -3931,11 +4051,11 @@ apply_bif_or_nif_epilogue:
_integer = get_int32(_mb->base + _mb->offset/8);
}
_mb->offset += 32;
-#ifndef ARCH_64
+#if !defined(ARCH_64) || HALFWORD_HEAP
if (IS_USMALL(0, _integer)) {
#endif
_result = make_small(_integer);
-#ifndef ARCH_64
+#if !defined(ARCH_64) || HALFWORD_HEAP
} else {
TestHeap(BIG_UINT_HEAP_SIZE, Arg(1));
_result = uint_to_big((Uint) _integer, HTOP);
@@ -4172,7 +4292,7 @@ apply_bif_or_nif_epilogue:
do_bs_match_string:
{
- Eterm* next;
+ BeamInstr *next;
byte* bytes;
Uint bits;
ErlBinMatchBuffer* mb;
@@ -4199,7 +4319,7 @@ apply_bif_or_nif_epilogue:
}
OpCase(i_bs_save2_rI): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchState *_ms;
PreFetch(1, next);
_ms = (ErlBinMatchState*) boxed_val((Eterm) r(0));
@@ -4207,7 +4327,7 @@ apply_bif_or_nif_epilogue:
NextPF(1, next);
}
OpCase(i_bs_save2_xI): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchState *_ms;
PreFetch(2, next);
_ms = (ErlBinMatchState*) boxed_val((Eterm) xb(Arg(0)));
@@ -4216,7 +4336,7 @@ apply_bif_or_nif_epilogue:
}
OpCase(i_bs_restore2_rI): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchState *_ms;
PreFetch(1, next);
_ms = (ErlBinMatchState*) boxed_val((Eterm) r(0));
@@ -4224,7 +4344,7 @@ apply_bif_or_nif_epilogue:
NextPF(1, next);
}
OpCase(i_bs_restore2_xI): {
- Eterm* next;
+ BeamInstr *next;
ErlBinMatchState *_ms;
PreFetch(2, next);
_ms = (ErlBinMatchState*) boxed_val((Eterm) xb(Arg(0)));
@@ -4241,7 +4361,7 @@ apply_bif_or_nif_epilogue:
* deallocate not followed by a return, and that should work.
*/
OpCase(deallocate_I): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(1, next);
D(Arg(0));
@@ -4264,7 +4384,7 @@ apply_bif_or_nif_epilogue:
*/
OpCase(call_traced_function): {
if (IS_TRACED_FL(c_p, F_TRACE_CALLS)) {
- unsigned offset = offsetof(Export, code) + 3*sizeof(Eterm);
+ unsigned offset = offsetof(Export, code) + 3*sizeof(BeamInstr);
Export* ep = (Export *) (((char *)I)-offset);
Uint32 flags;
@@ -4291,26 +4411,25 @@ apply_bif_or_nif_epilogue:
}
E -= 3;
ASSERT(c_p->htop <= E && E <= c_p->hend);
- ASSERT(is_CP((Eterm)(ep->code)));
+ ASSERT(is_CP((BeamInstr)(ep->code)));
ASSERT(is_internal_pid(c_p->tracer_proc) ||
is_internal_port(c_p->tracer_proc));
- E[2] = make_cp(c_p->cp);
+ E[2] = make_cp(c_p->cp); /* XXX:PaN - code in lower range on halfword */
E[1] = am_true; /* Process tracer */
E[0] = make_cp(ep->code);
- c_p->cp = (Eterm*)
- make_cp(flags & MATCH_SET_EXCEPTION_TRACE
- ? beam_exception_trace : beam_return_trace);
+ c_p->cp = (flags & MATCH_SET_EXCEPTION_TRACE)
+ ? beam_exception_trace : beam_return_trace;
erts_smp_proc_lock(c_p, ERTS_PROC_LOCKS_ALL_MINOR);
c_p->trace_flags |= F_EXCEPTION_TRACE;
erts_smp_proc_unlock(c_p, ERTS_PROC_LOCKS_ALL_MINOR);
}
}
- SET_I((Uint *) Arg(0));
+ SET_I((BeamInstr *)Arg(0));
Dispatch();
}
OpCase(return_trace): {
- Uint* code = (Uint *) E[0];
+ BeamInstr* code = (BeamInstr *) (UWord) E[0];
SWAPOUT; /* Needed for shared heap */
ERTS_SMP_UNREQ_PROC_MAIN_LOCK(c_p);
@@ -4318,24 +4437,24 @@ apply_bif_or_nif_epilogue:
ERTS_SMP_REQ_PROC_MAIN_LOCK(c_p);
SWAPIN;
c_p->cp = NULL;
- SET_I((Eterm *) E[2]);
+ SET_I((BeamInstr *) cp_val(E[2]));
E += 3;
Goto(*I);
}
OpCase(i_count_breakpoint): {
- Uint real_I;
+ BeamInstr real_I;
- ErtsCountBreak((Uint *) I, &real_I);
+ ErtsCountBreak((BeamInstr *) I, &real_I);
ASSERT(VALID_INSTR(real_I));
Goto(real_I);
}
OpCase(i_trace_breakpoint):
if (! IS_TRACED_FL(c_p, F_TRACE_CALLS)) {
- Uint real_I;
+ BeamInstr real_I;
- ErtsBreakSkip((Uint *) I, &real_I);
+ ErtsBreakSkip((BeamInstr *) I, &real_I);
Goto(real_I);
}
/* Fall through to next case */
@@ -4349,11 +4468,10 @@ apply_bif_or_nif_epilogue:
SWAPOUT;
reg[0] = r(0);
- if (*cp_val((Eterm)c_p->cp)
- == (Uint) OpCode(return_trace)) {
+ if (*(c_p->cp) == (BeamInstr) OpCode(return_trace)) {
cpp = (Uint*)&E[2];
- } else if (*cp_val((Eterm)c_p->cp)
- == (Uint) OpCode(i_return_to_trace)) {
+ } else if (*(c_p->cp)
+ == (BeamInstr) OpCode(i_return_to_trace)) {
return_to_trace = !0;
cpp = (Uint*)&E[0];
} else {
@@ -4364,19 +4482,19 @@ apply_bif_or_nif_epilogue:
* return_trace and/or i_return_to_trace stackframes
* on the stack, they are not intermixed with y registers
*/
- Eterm *cp_save = c_p->cp;
+ BeamInstr *cp_save = c_p->cp;
for (;;) {
ASSERT(is_CP(*cpp));
- if (*cp_val(*cpp) == (Uint) OpCode(return_trace)) {
+ if (*cp_val(*cpp) == (BeamInstr) OpCode(return_trace)) {
cpp += 3;
- } else if (*cp_val(*cpp) == (Uint) OpCode(i_return_to_trace)) {
+ } else if (*cp_val(*cpp) == (BeamInstr) OpCode(i_return_to_trace)) {
return_to_trace = !0;
cpp += 1;
} else
break;
}
- c_p->cp = (Eterm *) *cpp;
- ASSERT(is_CP((Eterm)c_p->cp));
+ c_p->cp = (BeamInstr *) cp_val(*cpp);
+ ASSERT(is_CP(*cpp));
ERTS_SMP_UNREQ_PROC_MAIN_LOCK(c_p);
real_I = erts_trace_break(c_p, I, reg, &flags, &tracer_pid);
ERTS_SMP_REQ_PROC_MAIN_LOCK(c_p);
@@ -4412,12 +4530,12 @@ apply_bif_or_nif_epilogue:
E -= 1;
ASSERT(c_p->htop <= E && E <= c_p->hend);
E[0] = make_cp(c_p->cp);
- c_p->cp = (Eterm *) make_cp(beam_return_to_trace);
+ c_p->cp = (BeamInstr *) beam_return_to_trace;
}
if (flags & MATCH_SET_RX_TRACE) {
E -= 3;
ASSERT(c_p->htop <= E && E <= c_p->hend);
- ASSERT(is_CP((Eterm) (I - 3)));
+ ASSERT(is_CP((Eterm) (UWord) (I - 3)));
ASSERT(am_true == tracer_pid ||
is_internal_pid(tracer_pid) || is_internal_port(tracer_pid));
E[2] = make_cp(c_p->cp);
@@ -4425,9 +4543,9 @@ apply_bif_or_nif_epilogue:
E[0] = make_cp(I - 3); /* We ARE at the beginning of an
instruction,
the funcinfo is above i. */
- c_p->cp = (Eterm*)
- make_cp(flags & MATCH_SET_EXCEPTION_TRACE
- ? beam_exception_trace : beam_return_trace);
+ c_p->cp =
+ (flags & MATCH_SET_EXCEPTION_TRACE)
+ ? beam_exception_trace : beam_return_trace;
erts_smp_proc_lock(c_p, ERTS_PROC_LOCKS_ALL_MINOR);
c_p->trace_flags |= F_EXCEPTION_TRACE;
erts_smp_proc_unlock(c_p, ERTS_PROC_LOCKS_ALL_MINOR);
@@ -4440,10 +4558,10 @@ apply_bif_or_nif_epilogue:
Uint *cpp = (Uint*) E;
for(;;) {
ASSERT(is_CP(*cpp));
- if (*cp_val(*cpp) == (Uint) OpCode(return_trace)) {
+ if (*cp_val(*cpp) == (BeamInstr) OpCode(return_trace)) {
do ++cpp; while(is_not_CP(*cpp));
cpp += 2;
- } else if (*cp_val(*cpp) == (Uint) OpCode(i_return_to_trace)) {
+ } else if (*cp_val(*cpp) == (BeamInstr) OpCode(i_return_to_trace)) {
do ++cpp; while(is_not_CP(*cpp));
} else break;
}
@@ -4454,7 +4572,7 @@ apply_bif_or_nif_epilogue:
SWAPIN;
}
c_p->cp = NULL;
- SET_I((Eterm *) E[0]);
+ SET_I((BeamInstr *) cp_val(E[0]));
E += 1;
Goto(*I);
}
@@ -4465,7 +4583,7 @@ apply_bif_or_nif_epilogue:
OpCase(i_global_cons):
{
- Eterm *next;
+ BeamInstr *next;
#ifdef HYBRID
Eterm *hp;
@@ -4487,7 +4605,7 @@ apply_bif_or_nif_epilogue:
OpCase(i_global_tuple):
{
- Eterm *next;
+ BeamInstr *next;
int len;
#ifdef HYBRID
Eterm list;
@@ -4522,7 +4640,7 @@ apply_bif_or_nif_epilogue:
OpCase(i_global_copy):
{
- Eterm *next;
+ BeamInstr *next;
PreFetch(0,next);
#ifdef HYBRID
if (!IS_CONST(r(0)))
@@ -4551,7 +4669,7 @@ apply_bif_or_nif_epilogue:
OpCase(fmove_ql): {
Eterm fr = Arg(1);
- Eterm* next;
+ BeamInstr *next;
PreFetch(2, next);
GET_DOUBLE(Arg(0), *(FloatDef*)ADD_BYTE_OFFSET(freg, fr));
@@ -4561,7 +4679,7 @@ apply_bif_or_nif_epilogue:
OpCase(fmove_dl): {
Eterm targ1;
Eterm fr = Arg(1);
- Eterm* next;
+ BeamInstr *next;
PreFetch(2, next);
GetR(0, targ1);
@@ -4582,7 +4700,7 @@ apply_bif_or_nif_epilogue:
OpCase(fconv_dl): {
Eterm targ1;
Eterm fr = Arg(1);
- Eterm* next;
+ BeamInstr *next;
GetR(0, targ1);
PreFetch(2, next);
@@ -4611,7 +4729,7 @@ apply_bif_or_nif_epilogue:
erl_exit(1, "fclearerror/i_fcheckerror without fpe signals (beam_emu)");
#else
OpCase(fclearerror): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(0, next);
ERTS_FP_CHECK_INIT(c_p);
@@ -4619,7 +4737,7 @@ apply_bif_or_nif_epilogue:
}
OpCase(i_fcheckerror): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(0, next);
ERTS_FP_ERROR(c_p, freg[0].fd, goto fbadarith);
@@ -4633,7 +4751,7 @@ apply_bif_or_nif_epilogue:
OpCase(i_fadd_lll): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(3, next);
ERTS_FP_CHECK_INIT(c_p);
@@ -4642,7 +4760,7 @@ apply_bif_or_nif_epilogue:
NextPF(3, next);
}
OpCase(i_fsub_lll): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(3, next);
ERTS_FP_CHECK_INIT(c_p);
@@ -4651,7 +4769,7 @@ apply_bif_or_nif_epilogue:
NextPF(3, next);
}
OpCase(i_fmul_lll): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(3, next);
ERTS_FP_CHECK_INIT(c_p);
@@ -4660,7 +4778,7 @@ apply_bif_or_nif_epilogue:
NextPF(3, next);
}
OpCase(i_fdiv_lll): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(3, next);
ERTS_FP_CHECK_INIT(c_p);
@@ -4669,7 +4787,7 @@ apply_bif_or_nif_epilogue:
NextPF(3, next);
}
OpCase(i_fnegate_ll): {
- Eterm* next;
+ BeamInstr *next;
PreFetch(2, next);
ERTS_FP_CHECK_INIT(c_p);
@@ -4736,7 +4854,7 @@ apply_bif_or_nif_epilogue:
neg_o_reds = -c_p->def_arg_reg[4];
FCALLS = c_p->fcalls;
SWAPIN;
- switch( c_p->def_arg_reg[3] ) {
+ switch( c_p->def_arg_reg[3] ) { /* XXX:PaN - Halfword wont work with hipe yet... */
case HIPE_MODE_SWITCH_RES_RETURN:
ASSERT(is_value(reg[0]));
MoveReturn(reg[0], r(0));
@@ -4748,7 +4866,7 @@ apply_bif_or_nif_epilogue:
/* This can be used to call any function value, but currently it's
only used to call closures referring to unloaded modules. */
{
- Eterm *next;
+ BeamInstr *next;
next = call_fun(c_p, c_p->arity - 1, reg, THE_NON_VALUE);
SWAPIN;
@@ -4881,13 +4999,13 @@ apply_bif_or_nif_epilogue:
em_call_error_handler = OpCode(call_error_handler);
em_call_traced_function = OpCode(call_traced_function);
em_apply_bif = OpCode(apply_bif);
- beam_apply[0] = (Eterm) OpCode(i_apply);
- beam_apply[1] = (Eterm) OpCode(normal_exit);
- beam_exit[0] = (Eterm) OpCode(error_action_code);
- beam_continue_exit[0] = (Eterm) OpCode(continue_exit);
- beam_return_to_trace[0] = (Eterm) OpCode(i_return_to_trace);
- beam_return_trace[0] = (Eterm) OpCode(return_trace);
- beam_exception_trace[0] = (Eterm) OpCode(return_trace); /* UGLY */
+ beam_apply[0] = (BeamInstr) OpCode(i_apply);
+ beam_apply[1] = (BeamInstr) OpCode(normal_exit);
+ beam_exit[0] = (BeamInstr) OpCode(error_action_code);
+ beam_continue_exit[0] = (BeamInstr) OpCode(continue_exit);
+ beam_return_to_trace[0] = (BeamInstr) OpCode(i_return_to_trace);
+ beam_return_trace[0] = (BeamInstr) OpCode(return_trace);
+ beam_exception_trace[0] = (BeamInstr) OpCode(return_trace); /* UGLY */
/*
* Enter all BIFs into the export table.
@@ -4897,8 +5015,8 @@ apply_bif_or_nif_epilogue:
bif_table[i].name,
bif_table[i].arity);
bif_export[i] = ep;
- ep->code[3] = (Eterm) OpCode(apply_bif);
- ep->code[4] = (Eterm) bif_table[i].f;
+ ep->code[3] = (BeamInstr) OpCode(apply_bif);
+ ep->code[4] = (BeamInstr) bif_table[i].f;
}
return;
@@ -4943,6 +5061,10 @@ translate_gc_bif(void* gcf)
return round_1;
} else if (gcf == erts_gc_trunc_1) {
return round_1;
+ } else if (gcf == erts_gc_binary_part_2) {
+ return binary_part_2;
+ } else if (gcf == erts_gc_binary_part_3) {
+ return binary_part_3;
} else {
erl_exit(1, "bad gc bif");
}
@@ -5001,8 +5123,8 @@ Eterm error_atom[NUMBER_EXIT_CODES] = {
* at the point of the original exception.
*/
-static Eterm*
-handle_error(Process* c_p, Eterm* pc, Eterm* reg, BifFunction bf)
+static BeamInstr*
+handle_error(Process* c_p, BeamInstr* pc, Eterm* reg, BifFunction bf)
{
Eterm* hp;
Eterm Value = c_p->fvalue;
@@ -5056,7 +5178,7 @@ handle_error(Process* c_p, Eterm* pc, Eterm* reg, BifFunction bf)
/* Find a handler or die */
if ((c_p->catches > 0 || IS_TRACED_FL(c_p, F_EXCEPTION_TRACE))
&& !(c_p->freason & EXF_PANIC)) {
- Eterm *new_pc;
+ BeamInstr *new_pc;
/* The Beam handler code (catch_end or try_end) checks reg[0]
for THE_NON_VALUE to see if the previous code finished
abnormally. If so, reg[1], reg[2] and reg[3] should hold the
@@ -5082,13 +5204,13 @@ handle_error(Process* c_p, Eterm* pc, Eterm* reg, BifFunction bf)
/*
* Find the nearest catch handler
*/
-static Eterm*
+static BeamInstr*
next_catch(Process* c_p, Eterm *reg) {
int active_catches = c_p->catches > 0;
int have_return_to_trace = 0;
Eterm *ptr, *prev, *return_to_trace_ptr = NULL;
- Uint i_return_trace = beam_return_trace[0];
- Uint i_return_to_trace = beam_return_to_trace[0];
+ BeamInstr i_return_trace = beam_return_trace[0];
+ BeamInstr i_return_to_trace = beam_return_to_trace[0];
ptr = prev = c_p->stop;
ASSERT(is_CP(*ptr));
ASSERT(ptr <= STACK_START(c_p));
@@ -5097,9 +5219,9 @@ next_catch(Process* c_p, Eterm *reg) {
*cp_val(*ptr) != i_return_to_trace))
&& c_p->cp) {
/* Can not follow cp here - code may be unloaded */
- Uint *cpp = cp_val((Eterm) c_p->cp);
+ BeamInstr *cpp = c_p->cp;
if (cpp == beam_exception_trace) {
- erts_trace_exception(c_p, (Eterm*) ptr[0],
+ erts_trace_exception(c_p, cp_val(ptr[0]),
reg[1], reg[2], ptr+1);
/* Skip return_trace parameters */
ptr += 2;
@@ -5123,7 +5245,7 @@ next_catch(Process* c_p, Eterm *reg) {
if (is_catch(*ptr) && active_catches) goto found_catch;
}
if (cp_val(*prev) == beam_exception_trace) {
- erts_trace_exception(c_p, (Eterm*) ptr[0],
+ erts_trace_exception(c_p, cp_val(ptr[0]),
reg[1], reg[2], ptr+1);
}
/* Skip return_trace parameters */
@@ -5252,7 +5374,7 @@ expand_error_value(Process* c_p, Uint freason, Eterm Value) {
*/
static void
-save_stacktrace(Process* c_p, Eterm* pc, Eterm* reg, BifFunction bf,
+save_stacktrace(Process* c_p, BeamInstr* pc, Eterm* reg, BifFunction bf,
Eterm args) {
struct StackTrace* s;
int sz;
@@ -5263,7 +5385,7 @@ save_stacktrace(Process* c_p, Eterm* pc, Eterm* reg, BifFunction bf,
}
/* Create a container for the exception data */
- sz = (offsetof(struct StackTrace, trace) + sizeof(Eterm)*depth
+ sz = (offsetof(struct StackTrace, trace) + sizeof(BeamInstr *)*depth
+ sizeof(Eterm) - 1) / sizeof(Eterm);
s = (struct StackTrace *) HAlloc(c_p, 1 + sz);
/* The following fields are inside the bignum */
@@ -5298,7 +5420,6 @@ save_stacktrace(Process* c_p, Eterm* pc, Eterm* reg, BifFunction bf,
ASSERT(c_p->current);
s->current = c_p->current;
a = s->current[2];
- ASSERT(s->current[2] <= 3);
}
/* Save first stack entry */
ASSERT(pc);
@@ -5350,9 +5471,10 @@ save_stacktrace(Process* c_p, Eterm* pc, Eterm* reg, BifFunction bf,
/* Save the actual stack trace */
if (depth > 0) {
- Eterm *ptr, *prev = s->depth ? s->trace[s->depth-1] : NULL;
- Uint i_return_trace = beam_return_trace[0];
- Uint i_return_to_trace = beam_return_to_trace[0];
+ Eterm *ptr;
+ BeamInstr *prev = s->depth ? s->trace[s->depth-1] : NULL;
+ BeamInstr i_return_trace = beam_return_trace[0];
+ BeamInstr i_return_to_trace = beam_return_to_trace[0];
/*
* Traverse the stack backwards and add all unique continuation
* pointers to the buffer, up to the maximum stack trace size.
@@ -5365,7 +5487,7 @@ save_stacktrace(Process* c_p, Eterm* pc, Eterm* reg, BifFunction bf,
*cp_val(*ptr) != i_return_to_trace))
&& c_p->cp) {
/* Can not follow cp here - code may be unloaded */
- Uint *cpp = cp_val((Eterm) c_p->cp);
+ BeamInstr *cpp = c_p->cp;
if (cpp == beam_exception_trace || cpp == beam_return_trace) {
/* Skip return_trace parameters */
ptr += 2;
@@ -5385,7 +5507,7 @@ save_stacktrace(Process* c_p, Eterm* pc, Eterm* reg, BifFunction bf,
/* Skip stack frame variables */
do ++ptr; while (is_not_CP(*ptr));
} else {
- Eterm *cp = (Eterm *)(*ptr);
+ BeamInstr *cp = cp_val(*ptr);
if (cp != prev) {
/* Record non-duplicates only */
prev = cp;
@@ -5457,9 +5579,12 @@ build_stacktrace(Process* c_p, Eterm exc) {
struct StackTrace* s;
Eterm args;
int depth;
- Eterm* current;
+ BeamInstr* current;
+#if HALFWORD_HEAP
+ BeamInstr current_buff[3];
+#endif
Eterm Where = NIL;
- Eterm* next_p = &Where;
+ Eterm *next_p = &Where;
if (! (s = get_trace_from_exc(exc))) {
return NIL;
@@ -5487,7 +5612,14 @@ build_stacktrace(Process* c_p, Eterm exc) {
* (e.g. spawn_link(erlang, abs, [1])).
*/
if (current == NULL) {
+#if HALFWORD_HEAP
+ current = current_buff;
+ current[0] = (BeamInstr) c_p->initial[0];
+ current[1] = (BeamInstr) c_p->initial[1];
+ current[2] = (BeamInstr) c_p->initial[2];
+#else
current = c_p->initial;
+#endif
args = am_true; /* Just in case */
} else {
args = get_args_from_exc(exc);
@@ -5523,7 +5655,7 @@ build_stacktrace(Process* c_p, Eterm exc) {
* Finally, we go through the saved continuation pointers.
*/
for (i = 0; i < depth; i++) {
- Eterm *fi = find_function_from_pc((Eterm *) s->trace[i]);
+ BeamInstr *fi = find_function_from_pc((BeamInstr *) s->trace[i]);
if (fi == NULL) continue;
mfa = TUPLE3(hp, fi[0], fi[1], make_small(fi[2]));
hp += 4;
@@ -5540,7 +5672,7 @@ build_stacktrace(Process* c_p, Eterm exc) {
static Eterm
-call_error_handler(Process* p, Eterm* fi, Eterm* reg)
+call_error_handler(Process* p, BeamInstr* fi, Eterm* reg)
{
Eterm* hp;
Export* ep;
@@ -5588,7 +5720,7 @@ call_error_handler(Process* p, Eterm* fi, Eterm* reg)
}
static Eterm
-call_breakpoint_handler(Process* p, Eterm* fi, Eterm* reg)
+call_breakpoint_handler(Process* p, BeamInstr* fi, Eterm* reg)
{
Eterm* hp;
Export* ep;
@@ -5681,7 +5813,7 @@ apply_setup_error_handler(Process* p, Eterm module, Eterm function, Uint arity,
return ep;
}
-static Uint*
+static BeamInstr*
apply(Process* p, Eterm module, Eterm function, Eterm args, Eterm* reg)
{
int arity;
@@ -5763,7 +5895,7 @@ apply(Process* p, Eterm module, Eterm function, Eterm args, Eterm* reg)
return ep->address;
}
-static Uint*
+static BeamInstr*
fixed_apply(Process* p, Eterm* reg, Uint arity)
{
Export* ep;
@@ -5869,7 +6001,7 @@ hibernate(Process* c_p, Eterm module, Eterm function, Eterm args, Eterm* reg)
c_p->stop = STACK_START(c_p);
c_p->catches = 0;
c_p->i = beam_apply;
- c_p->cp = (Eterm *) beam_apply+1;
+ c_p->cp = (BeamInstr *) beam_apply+1;
/*
* If there are no waiting messages, garbage collect and
@@ -5899,7 +6031,7 @@ hibernate(Process* c_p, Eterm module, Eterm function, Eterm args, Eterm* reg)
return 1;
}
-static Uint*
+static BeamInstr*
call_fun(Process* p, /* Current process. */
int arity, /* Number of arguments for Fun. */
Eterm* reg, /* Contents of registers. */
@@ -5919,7 +6051,7 @@ call_fun(Process* p, /* Current process. */
if (is_fun_header(hdr)) {
ErlFunThing* funp = (ErlFunThing *) fun_val(fun);
ErlFunEntry* fe;
- Eterm* code_ptr;
+ BeamInstr* code_ptr;
Eterm* var_ptr;
int actual_arity;
unsigned num_free;
@@ -6014,8 +6146,12 @@ call_fun(Process* p, /* Current process. */
}
}
} else if (is_export_header(hdr)) {
- Export* ep = (Export *) (export_val(fun))[1];
- int actual_arity = (int) ep->code[2];
+ Export *ep;
+ int actual_arity;
+
+ ep = *((Export **) (export_val(fun) + 1));
+ actual_arity = (int) ep->code[2];
+
if (arity == actual_arity) {
return ep->address;
} else {
@@ -6082,7 +6218,7 @@ call_fun(Process* p, /* Current process. */
}
}
-static Eterm*
+static BeamInstr*
apply_fun(Process* p, Eterm fun, Eterm args, Eterm* reg)
{
int arity;
@@ -6176,7 +6312,7 @@ erts_is_builtin(Eterm Mod, Eterm Name, int arity)
if ((ep = export_get(&e)) == NULL) {
return 0;
}
- return ep->address == ep->code+3 && (ep->code[3] == (Uint) em_apply_bif);
+ return ep->address == ep->code+3 && (ep->code[3] == (BeamInstr) em_apply_bif);
}
diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c
index 99fab28dce..597f604e22 100644
--- a/erts/emulator/beam/beam_load.c
+++ b/erts/emulator/beam/beam_load.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -51,9 +51,9 @@ ErlDrvBinary* erts_gzinflate_buffer(char*, int);
#define EXPORTED 2
#ifdef NO_JUMP_TABLE
-# define BeamOpCode(Op) ((Uint)(Op))
+# define BeamOpCode(Op) ((BeamInstr)(Op))
#else
-# define BeamOpCode(Op) ((Eterm)beam_ops[Op])
+# define BeamOpCode(Op) ((BeamInstr)beam_ops[Op])
#endif
#if defined(WORDS_BIGENDIAN)
@@ -94,7 +94,7 @@ typedef struct {
typedef struct {
unsigned type; /* Type of operand. */
- Uint val; /* Value of operand. */
+ BeamInstr val; /* Value of operand. */
Uint bigarity; /* Arity for bignumbers (only). */
} GenOpArg;
@@ -142,7 +142,7 @@ typedef struct {
typedef struct {
Eterm function; /* Tagged atom for function. */
int arity; /* Arity. */
- Eterm* address; /* Address to function in code. */
+ BeamInstr* address; /* Address to function in code. */
} ExportEntry;
#define MakeIffId(a, b, c, d) \
@@ -274,13 +274,12 @@ typedef struct {
int num_functions; /* Number of functions in module. */
int num_labels; /* Number of labels. */
int code_buffer_size; /* Size of code buffer in words. */
- Eterm* code; /* Loaded code. */
+ BeamInstr* code; /* Loaded code. */
int ci; /* Current index into loaded code. */
Label* labels;
- Uint put_strings; /* Linked list of put_string instructions. */
- Uint new_bs_put_strings; /* Linked list of i_new_bs_put_string instructions. */
+ BeamInstr new_bs_put_strings; /* Linked list of i_new_bs_put_string instructions. */
StringPatch* string_patches; /* Linked list of position into string table to patch. */
- Uint catches; /* Linked list of catch_yf instructions. */
+ BeamInstr catches; /* Linked list of catch_yf instructions. */
unsigned loaded_size; /* Final size of code when loaded. */
byte mod_md5[16]; /* MD5 for module code. */
int may_load_nif; /* true if NIFs may later be loaded for this module */
@@ -341,7 +340,7 @@ typedef struct {
#define GetTagAndValue(Stp, Tag, Val) \
do { \
- Uint __w; \
+ BeamInstr __w; \
GetByte(Stp, __w); \
Tag = __w & 0x07; \
if ((__w & 0x08) == 0) { \
@@ -388,7 +387,7 @@ typedef struct {
goto load_error; \
} else { \
int __n = (N); \
- Uint __result = 0; \
+ BeamInstr __result = 0; \
Stp->file_left -= (unsigned) __n; \
while (__n-- > 0) { \
__result = __result << 8 | *Stp->file_p++; \
@@ -465,7 +464,7 @@ static int bin_load(Process *c_p, ErtsProcLocks c_p_locks,
static void init_state(LoaderState* stp);
static int insert_new_code(Process *c_p, ErtsProcLocks c_p_locks,
Eterm group_leader, Eterm module,
- Eterm* code, Uint size, Uint catches);
+ BeamInstr* code, Uint size, BeamInstr catches);
static int scan_iff_file(LoaderState* stp, Uint* chunk_types,
Uint num_types, Uint num_mandatory);
static int load_atom_table(LoaderState* stp);
@@ -487,9 +486,6 @@ static GenOp* const_select_val(LoaderState* stp, GenOpArg S, GenOpArg Fail,
GenOpArg Size, GenOpArg* Rest);
static GenOp* gen_func_info(LoaderState* stp, GenOpArg mod, GenOpArg Func,
GenOpArg arity, GenOpArg label);
-static GenOp*
-gen_guard_bif(LoaderState* stp, GenOpArg Fail, GenOpArg Live, GenOpArg Bif,
- GenOpArg Src, GenOpArg Dst);
static int freeze_code(LoaderState* stp);
@@ -499,8 +495,8 @@ static void load_printf(int line, LoaderState* context, char *fmt, ...);
static int transform_engine(LoaderState* st);
static void id_to_string(Uint id, char* s);
static void new_genop(LoaderState* stp);
-static int get_int_val(LoaderState* stp, Uint len_code, Uint* result);
-static int get_erlang_integer(LoaderState* stp, Uint len_code, Uint* result);
+static int get_int_val(LoaderState* stp, Uint len_code, BeamInstr* result);
+static int get_erlang_integer(LoaderState* stp, Uint len_code, BeamInstr* result);
static int new_label(LoaderState* stp);
static void new_literal_patch(LoaderState* stp, int pos);
static void new_string_patch(LoaderState* stp, int pos);
@@ -513,7 +509,7 @@ static Eterm compilation_info_for_module(Process* p, Eterm mod);
static Eterm native_addresses(Process* p, Eterm mod);
int patch_funentries(Eterm Patchlist);
int patch(Eterm Addresses, Uint fe);
-static int safe_mul(Uint a, Uint b, Uint* resp);
+static int safe_mul(UWord a, UWord b, UWord* resp);
static int must_swap_floats;
@@ -591,7 +587,18 @@ erts_load_module(Process *c_p,
}
return result;
}
-
+/* #define LOAD_MEMORY_HARD_DEBUG 1*/
+
+#if defined(LOAD_MEMORY_HARD_DEBUG) && defined(DEBUG)
+/* Requires allocators ERTS_ALLOC_UTIL_HARD_DEBUG also set in erl_alloc_util.h */
+extern void check_allocators(void);
+extern void check_allocated_block(Uint type, void *blk);
+#define CHKALLOC() check_allocators()
+#define CHKBLK(TYPE,BLK) if ((BLK) != NULL) check_allocated_block((TYPE),(BLK))
+#else
+#define CHKALLOC() /* nothing */
+#define CHKBLK(TYPE,BLK) /* nothing */
+#endif
static int
bin_load(Process *c_p, ErtsProcLocks c_p_locks,
@@ -608,6 +615,12 @@ bin_load(Process *c_p, ErtsProcLocks c_p_locks,
* Scan the IFF file.
*/
+#if defined(LOAD_MEMORY_HARD_DEBUG) && defined(DEBUG)
+ erts_fprintf(stderr,"Loading a module\n");
+#endif
+
+ CHKALLOC();
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
state.file_name = "IFF header for Beam file";
state.file_p = bytes;
state.file_left = unloaded_size;
@@ -619,6 +632,7 @@ bin_load(Process *c_p, ErtsProcLocks c_p_locks,
* Read the header for the code chunk.
*/
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
define_file(&state, "code chunk header", CODE_CHUNK);
if (!read_code_header(&state)) {
goto load_error;
@@ -628,6 +642,7 @@ bin_load(Process *c_p, ErtsProcLocks c_p_locks,
* Read the atom table.
*/
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
define_file(&state, "atom table", ATOM_CHUNK);
if (!load_atom_table(&state)) {
goto load_error;
@@ -637,6 +652,7 @@ bin_load(Process *c_p, ErtsProcLocks c_p_locks,
* Read the import table.
*/
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
define_file(&state, "import table", IMP_CHUNK);
if (!load_import_table(&state)) {
goto load_error;
@@ -646,6 +662,7 @@ bin_load(Process *c_p, ErtsProcLocks c_p_locks,
* Read the lambda (fun) table.
*/
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
if (state.chunks[LAMBDA_CHUNK].size > 0) {
define_file(&state, "lambda (fun) table", LAMBDA_CHUNK);
if (!read_lambda_table(&state)) {
@@ -657,6 +674,7 @@ bin_load(Process *c_p, ErtsProcLocks c_p_locks,
* Read the literal table.
*/
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
if (state.chunks[LITERAL_CHUNK].size > 0) {
define_file(&state, "literals table (constant pool)", LITERAL_CHUNK);
if (!read_literal_table(&state)) {
@@ -668,18 +686,25 @@ bin_load(Process *c_p, ErtsProcLocks c_p_locks,
* Load the code chunk.
*/
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
state.file_name = "code chunk";
state.file_p = state.code_start;
state.file_left = state.code_size;
- if (!load_code(&state) || !freeze_code(&state)) {
+ if (!load_code(&state)) {
+ goto load_error;
+ }
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
+ if (!freeze_code(&state)) {
goto load_error;
}
+
/*
* Read and validate the export table. (This must be done after
* loading the code, because it contains labels.)
*/
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
define_file(&state, "export table", EXP_CHUNK);
if (!read_export_table(&state)) {
goto load_error;
@@ -690,16 +715,25 @@ bin_load(Process *c_p, ErtsProcLocks c_p_locks,
* exported and imported functions. This can't fail.
*/
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
rval = insert_new_code(c_p, c_p_locks, state.group_leader, state.module,
state.code, state.loaded_size, state.catches);
if (rval < 0) {
goto load_error;
}
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
final_touch(&state);
/*
* Loading succeded.
*/
+ CHKBLK(ERTS_ALC_T_CODE,state.code);
+#if defined(LOAD_MEMORY_HARD_DEBUG) && defined(DEBUG)
+ erts_fprintf(stderr,"Loaded %T\n",*modp);
+#if 0
+ debug_dump_code(state.code,state.ci);
+#endif
+#endif
rval = 0;
state.code = NULL; /* Prevent code from being freed. */
*modp = state.module;
@@ -791,7 +825,7 @@ init_state(LoaderState* stp)
static int
insert_new_code(Process *c_p, ErtsProcLocks c_p_locks,
- Eterm group_leader, Eterm module, Eterm* code, Uint size, Uint catches)
+ Eterm group_leader, Eterm module, BeamInstr* code, Uint size, BeamInstr catches)
{
Module* modp;
int rval;
@@ -833,7 +867,7 @@ insert_new_code(Process *c_p, ErtsProcLocks c_p_locks,
modules[i] = modules[i-1];
}
modules[i].start = code;
- modules[i].end = (Eterm *) (((byte *)code) + size);
+ modules[i].end = (BeamInstr *) (((byte *)code) + size);
num_loaded_modules++;
mid_module = &modules[num_loaded_modules/2];
return 0;
@@ -1083,7 +1117,7 @@ load_import_table(LoaderState* stp)
* the BIF function.
*/
if ((e = erts_find_export_entry(mod, func, arity)) != NULL) {
- if (e->code[3] == (Uint) em_apply_bif) {
+ if (e->code[3] == (BeamInstr) em_apply_bif) {
stp->import[i].bf = (BifFunction) e->code[4];
if (func == am_load_nif && mod == am_erlang && arity == 2) {
stp->may_load_nif = 1;
@@ -1151,7 +1185,7 @@ read_export_table(LoaderState* stp)
* redefine).
*/
if ((e = erts_find_export_entry(stp->module, func, arity)) != NULL) {
- if (e->code[3] == (Uint) em_apply_bif) {
+ if (e->code[3] == (BeamInstr) em_apply_bif) {
int j;
for (j = 0; j < sizeof(allow_redef)/sizeof(allow_redef[0]); j++) {
@@ -1220,7 +1254,7 @@ static int
read_literal_table(LoaderState* stp)
{
int i;
- Uint uncompressed_sz;
+ BeamInstr uncompressed_sz;
byte* uncompressed = 0;
GetInt(stp, 4, uncompressed_sz);
@@ -1338,8 +1372,8 @@ read_code_header(LoaderState* stp)
* Initialize code area.
*/
stp->code_buffer_size = erts_next_heap_size(2048 + stp->num_functions, 0);
- stp->code = (Eterm*) erts_alloc(ERTS_ALC_T_CODE,
- sizeof(Eterm) * stp->code_buffer_size);
+ stp->code = (BeamInstr *) erts_alloc(ERTS_ALC_T_CODE,
+ sizeof(BeamInstr) * stp->code_buffer_size);
stp->code[MI_NUM_FUNCTIONS] = stp->num_functions;
stp->ci = MI_FUNCTIONS + stp->num_functions + 1;
@@ -1350,7 +1384,6 @@ read_code_header(LoaderState* stp)
stp->code[MI_COMPILE_SIZE_ON_HEAP] = 0;
stp->code[MI_NUM_BREAKPOINTS] = 0;
- stp->put_strings = 0;
stp->new_bs_put_strings = 0;
stp->catches = 0;
return 1;
@@ -1365,16 +1398,18 @@ read_code_header(LoaderState* stp)
LoadError2(Stp, "bad tag %d; expected %d", Actual, Expected); \
} else {}
-#define Need(w) \
- ASSERT(ci <= code_buffer_size); \
- if (code_buffer_size < ci+(w)) { \
- code_buffer_size = erts_next_heap_size(ci+(w), 0); \
- stp->code = code \
- = (Eterm *) erts_realloc(ERTS_ALC_T_CODE, \
- (void *) code, \
- code_buffer_size * sizeof(Eterm)); \
- }
+#define CodeNeed(w) do { \
+ ASSERT(ci <= code_buffer_size); \
+ if (code_buffer_size < ci+(w)) { \
+ code_buffer_size = erts_next_heap_size(ci+(w), 0); \
+ stp->code = code \
+ = (BeamInstr *) erts_realloc(ERTS_ALC_T_CODE, \
+ (void *) code, \
+ code_buffer_size * sizeof(BeamInstr)); \
+ } \
+} while (0)
+#define TermWords(t) (((t) / (sizeof(BeamInstr)/sizeof(Eterm))) + !!((t) % (sizeof(BeamInstr)/sizeof(Eterm))))
static int
@@ -1387,7 +1422,7 @@ load_code(LoaderState* stp)
char* sign;
int arg; /* Number of current argument. */
int num_specific; /* Number of specific ops for current. */
- Eterm* code;
+ BeamInstr* code;
int code_buffer_size;
int specific;
Uint last_label = 0; /* Number of last label. */
@@ -1446,7 +1481,7 @@ load_code(LoaderState* stp)
if (((First) & 0x08) == 0) { \
Val = (First) >> 4; \
} else if (((First) & 0x10) == 0) { \
- Uint __w; \
+ BeamInstr __w; \
GetByte(Stp, __w); \
Val = (((First) >> 5) << 8) | __w; \
} else { \
@@ -1455,7 +1490,7 @@ load_code(LoaderState* stp)
} while (0)
for (arg = 0; arg < arity; arg++) {
- Uint first;
+ BeamInstr first;
GetByte(stp, first);
last_op->a[arg].type = first & 0x07;
@@ -1464,7 +1499,7 @@ load_code(LoaderState* stp)
if ((first & 0x08) == 0) {
last_op->a[arg].val = first >> 4;
} else if ((first & 0x10) == 0) {
- Uint w;
+ BeamInstr w;
GetByte(stp, w);
ASSERT(first < 0x800);
last_op->a[arg].val = ((first >> 5) << 8) | w;
@@ -1523,7 +1558,7 @@ load_code(LoaderState* stp)
break;
case TAG_z:
{
- Uint ext_tag;
+ BeamInstr ext_tag;
unsigned tag;
GetValue(stp, first, ext_tag);
@@ -1531,14 +1566,14 @@ load_code(LoaderState* stp)
case 0: /* Floating point number */
{
Eterm* hp;
-# ifndef ARCH_64
+#if !defined(ARCH_64) || HALFWORD_HEAP /* XXX:PaN - Should use ARCH_64 variant instead */
Uint high, low;
# endif
last_op->a[arg].val = new_literal(stp, &hp,
FLOAT_SIZE_OBJECT);
hp[0] = HEADER_FLONUM;
last_op->a[arg].type = TAG_q;
-# ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
GetInt(stp, 8, hp[1]);
# else
GetInt(stp, 4, high);
@@ -1575,10 +1610,10 @@ load_code(LoaderState* stp)
break;
case 3: /* Allocation list. */
{
- Uint n;
- Uint type;
- Uint val;
- Uint words = 0;
+ BeamInstr n;
+ BeamInstr type;
+ BeamInstr val;
+ BeamInstr words = 0;
stp->new_float_instructions = 1;
GetTagAndValue(stp, tag, n);
@@ -1607,7 +1642,7 @@ load_code(LoaderState* stp)
}
case 4: /* Literal. */
{
- Uint val;
+ BeamInstr val;
GetTagAndValue(stp, tag, val);
VerifyTag(stp, tag, TAG_u);
@@ -1734,7 +1769,7 @@ load_code(LoaderState* stp)
}
stp->specific_op = specific;
- Need(opc[stp->specific_op].sz+2); /* Extra margin for packing */
+ CodeNeed(opc[stp->specific_op].sz+2); /* Extra margin for packing */
code[ci++] = BeamOpCode(stp->specific_op);
}
@@ -1772,7 +1807,7 @@ load_code(LoaderState* stp)
case 'c': /* Tagged constant */
switch (tag) {
case TAG_i:
- code[ci++] = make_small(tmp_op->a[arg].val);
+ code[ci++] = (BeamInstr) make_small((Uint) tmp_op->a[arg].val);
break;
case TAG_a:
code[ci++] = tmp_op->a[arg].val;
@@ -1802,7 +1837,7 @@ load_code(LoaderState* stp)
code[ci++] = make_yreg(tmp_op->a[arg].val);
break;
case TAG_i:
- code[ci++] = make_small(tmp_op->a[arg].val);
+ code[ci++] = (BeamInstr) make_small((Uint)tmp_op->a[arg].val);
break;
case TAG_a:
code[ci++] = tmp_op->a[arg].val;
@@ -1896,12 +1931,12 @@ load_code(LoaderState* stp)
if (stp->import[i].bf == NULL) {
LoadError1(stp, "not a BIF: import table index %d", i);
}
- code[ci++] = (Eterm) stp->import[i].bf;
+ code[ci++] = (BeamInstr) stp->import[i].bf;
break;
- case 'P': /* Byte offset into tuple */
+ case 'P': /* Byte offset into tuple */ /* XXX:PaN - * sizeof(Eterm or Eterm *) ? */
VerifyTag(stp, tag, TAG_u);
tmp = tmp_op->a[arg].val;
- code[ci++] = (Eterm) ((tmp_op->a[arg].val+1) * sizeof(Eterm *));
+ code[ci++] = (BeamInstr) ((tmp_op->a[arg].val+1) * sizeof(Eterm));
break;
case 'l': /* Floating point register. */
VerifyTag(stp, tag_to_letter[tag], *sign);
@@ -1925,17 +1960,17 @@ load_code(LoaderState* stp)
for ( ; arg < tmp_op->arity; arg++) {
switch (tmp_op->a[arg].type) {
case TAG_i:
- Need(1);
+ CodeNeed(1);
code[ci++] = make_small(tmp_op->a[arg].val);
break;
case TAG_u:
case TAG_a:
case TAG_v:
- Need(1);
+ CodeNeed(1);
code[ci++] = tmp_op->a[arg].val;
break;
case TAG_f:
- Need(1);
+ CodeNeed(1);
code[ci] = stp->labels[tmp_op->a[arg].val].patches;
stp->labels[tmp_op->a[arg].val].patches = ci;
ci++;
@@ -1947,24 +1982,41 @@ load_code(LoaderState* stp)
lit = stp->literals[tmp_op->a[arg].val].term;
if (is_big(lit)) {
Eterm* bigp;
+ Eterm *tmp;
Uint size;
+ Uint term_size;
bigp = big_val(lit);
- size = bignum_header_arity(*bigp);
- Need(size+1);
- code[ci++] = *bigp++;
- while (size-- > 0) {
- code[ci++] = *bigp++;
+ term_size = bignum_header_arity(*bigp);
+ size = TermWords(term_size + 1);
+ CodeNeed(size);
+ tmp = (Eterm *) (code + ci);
+ *tmp++ = *bigp++;
+ while (term_size-- > 0) {
+ *tmp++ = *bigp++;
}
+ ci +=size;
} else if (is_float(lit)) {
-#ifdef ARCH_64
- Need(1);
+#if defined(ARCH_64) && !HALFWORD_HEAP
+ CodeNeed(1);
code[ci++] = float_val(stp->literals[tmp_op->a[arg].val].term)[1];
+#elif HALFWORD_HEAP
+ Eterm* fptr;
+ Uint size;
+ Eterm *tmp;
+
+ fptr = float_val(stp->literals[tmp_op->a[arg].val].term)+1;
+ size = TermWords(2);
+ CodeNeed(size);
+ tmp = (Eterm *) (code + ci);
+ *tmp++ = *fptr++;
+ *tmp = *fptr;
+ ci += size;
#else
Eterm* fptr;
fptr = float_val(stp->literals[tmp_op->a[arg].val].term)+1;
- Need(2);
+ CodeNeed(2);
code[ci++] = *fptr++;
code[ci++] = *fptr;
#endif
@@ -1984,10 +2036,10 @@ load_code(LoaderState* stp)
*/
if (opc[stp->specific_op].pack[0]) {
char* prog; /* Program for packing engine. */
- Uint stack[8]; /* Stack. */
- Uint* sp = stack; /* Points to next free position. */
- Uint packed = 0; /* Accumulator for packed operations. */
-
+ BeamInstr stack[8]; /* Stack. */
+ BeamInstr* sp = stack; /* Points to next free position. */
+ BeamInstr packed = 0; /* Accumulator for packed operations. */
+
for (prog = opc[stp->specific_op].pack; *prog; prog++) {
switch (*prog) {
case 'g': /* Get instruction; push on stack. */
@@ -2000,7 +2052,7 @@ load_code(LoaderState* stp)
packed = (packed << BEAM_TIGHT_SHIFT) | code[--ci];
break;
case '6': /* Shift 16 steps */
- packed = (packed << 16) | code[--ci];
+ packed = (packed << BEAM_LOOSE_SHIFT) | code[--ci];
break;
case 'p': /* Put instruction (from stack). */
code[ci++] = *--sp;
@@ -2037,9 +2089,9 @@ load_code(LoaderState* stp)
/* Must make room for call_nif op */
int pad = MIN_FUNC_SZ - (finfo_ix - last_func_start);
ASSERT(pad > 0 && pad < MIN_FUNC_SZ);
- Need(pad);
- sys_memmove(&code[finfo_ix+pad], &code[finfo_ix], FINFO_SZ*sizeof(Eterm));
- sys_memset(&code[finfo_ix], 0, pad*sizeof(Eterm));
+ CodeNeed(pad);
+ sys_memmove(&code[finfo_ix+pad], &code[finfo_ix], FINFO_SZ*sizeof(BeamInstr));
+ sys_memset(&code[finfo_ix], 0, pad*sizeof(BeamInstr));
ci += pad;
stp->labels[last_label].value += pad;
}
@@ -2050,6 +2102,7 @@ load_code(LoaderState* stp)
*/
stp->function = code[ci-2];
stp->arity = code[ci-1];
+
ASSERT(stp->labels[last_label].value == ci - FINFO_SZ);
offset = MI_FUNCTIONS + function_number;
code[offset] = stp->labels[last_label].patches;
@@ -2072,34 +2125,6 @@ load_code(LoaderState* stp)
/* Remember offset for the on_load function. */
stp->on_load = ci;
break;
- case op_put_string_IId:
- {
- /*
- * At entry:
- *
- * code[ci-4] &&lb_put_string_IId
- * code[ci-3] length of string
- * code[ci-2] offset into string table
- * code[ci-1] destination register
- *
- * Since we don't know the address of the string table yet,
- * just check the offset and length for validity, and use
- * the instruction field as a link field to link all put_string
- * instructions into a single linked list. At exit:
- *
- * code[ci-4] pointer to next put_string instruction (or 0
- * if this is the last)
- */
- Uint offset = code[ci-2];
- Uint len = code[ci-3];
- unsigned strtab_size = stp->chunks[STR_CHUNK].size;
- if (offset > strtab_size || offset + len > strtab_size) {
- LoadError2(stp, "invalid string reference %d, size %d", offset, len);
- }
- code[ci-4] = stp->put_strings;
- stp->put_strings = ci - 4;
- }
- break;
case op_bs_put_string_II:
{
/*
@@ -2161,7 +2186,6 @@ load_code(LoaderState* stp)
}
}
-#undef Need
load_error:
return 0;
@@ -2373,7 +2397,7 @@ gen_get_integer2(LoaderState* stp, GenOpArg Fail, GenOpArg Ms, GenOpArg Live,
GenOpArg Flags, GenOpArg Dst)
{
GenOp* op;
- Uint bits;
+ UWord bits;
NEW_GENOP(stp, op);
@@ -2838,14 +2862,14 @@ gen_literal_timeout(LoaderState* stp, GenOpArg Fail, GenOpArg Time)
op->a[1].type = TAG_u;
if (Time.type == TAG_i && (timeout = Time.val) >= 0 &&
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
(timeout >> 32) == 0
#else
1
#endif
) {
op->a[1].val = timeout;
-#if !defined(ARCH_64)
+#if !defined(ARCH_64) || HALFWORD_HEAP
} else if (Time.type == TAG_q) {
Eterm big;
@@ -2856,11 +2880,13 @@ gen_literal_timeout(LoaderState* stp, GenOpArg Fail, GenOpArg Time)
if (big_arity(big) > 1 || big_sign(big)) {
goto error;
} else {
- (void) term_to_Uint(big, &op->a[1].val);
+ Uint u;
+ (void) term_to_Uint(big, &u);
+ op->a[1].val = (BeamInstr) u;
}
#endif
} else {
-#if !defined(ARCH_64)
+#if !defined(ARCH_64) || HALFWORD_HEAP
error:
#endif
op->op = genop_i_wait_error_0;
@@ -2883,14 +2909,14 @@ gen_literal_timeout_locked(LoaderState* stp, GenOpArg Fail, GenOpArg Time)
op->a[1].type = TAG_u;
if (Time.type == TAG_i && (timeout = Time.val) >= 0 &&
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
(timeout >> 32) == 0
#else
1
#endif
) {
op->a[1].val = timeout;
-#ifndef ARCH_64
+#if !defined(ARCH_64) || HALFWORD_HEAP
} else if (Time.type == TAG_q) {
Eterm big;
@@ -2901,11 +2927,13 @@ gen_literal_timeout_locked(LoaderState* stp, GenOpArg Fail, GenOpArg Time)
if (big_arity(big) > 1 || big_sign(big)) {
goto error;
} else {
- (void) term_to_Uint(big, &op->a[1].val);
+ Uint u;
+ (void) term_to_Uint(big, &u);
+ op->a[1].val = (BeamInstr) u;
}
#endif
} else {
-#ifndef ARCH_64
+#if !defined(ARCH_64) || HALFWORD_HEAP
error:
#endif
op->op = genop_i_wait_error_locked_0;
@@ -3321,15 +3349,21 @@ gen_make_fun2(LoaderState* stp, GenOpArg idx)
op->op = genop_i_make_fun_2;
op->arity = 2;
op->a[0].type = TAG_u;
- op->a[0].val = (Uint) fe;
+ op->a[0].val = (BeamInstr) fe;
op->a[1].type = TAG_u;
op->a[1].val = stp->lambdas[idx.val].num_free;
op->next = NULL;
return op;
}
-
+/*
+ * Rewrite gc_bifs with one parameter (the common case). Utilized
+ * in ops.tab to rewrite instructions calling bif's in guards
+ * to use a garbage collecting implementation. The instructions
+ * are sometimes once again rewritten to handle literals (putting the
+ * parameter in the mostly unused r[0] before the instruction is executed).
+ */
static GenOp*
-gen_guard_bif(LoaderState* stp, GenOpArg Fail, GenOpArg Live, GenOpArg Bif,
+gen_guard_bif1(LoaderState* stp, GenOpArg Fail, GenOpArg Live, GenOpArg Bif,
GenOpArg Src, GenOpArg Dst)
{
GenOp* op;
@@ -3341,22 +3375,24 @@ gen_guard_bif(LoaderState* stp, GenOpArg Fail, GenOpArg Live, GenOpArg Bif,
op->a[0] = Fail;
op->a[1].type = TAG_u;
bf = stp->import[Bif.val].bf;
+ /* The translations here need to have a reverse counterpart in
+ beam_emu.c:translate_gc_bif for error handling to work properly. */
if (bf == length_1) {
- op->a[1].val = (Uint) (void *) erts_gc_length_1;
+ op->a[1].val = (BeamInstr) (void *) erts_gc_length_1;
} else if (bf == size_1) {
- op->a[1].val = (Uint) (void *) erts_gc_size_1;
+ op->a[1].val = (BeamInstr) (void *) erts_gc_size_1;
} else if (bf == bit_size_1) {
- op->a[1].val = (Uint) (void *) erts_gc_bit_size_1;
+ op->a[1].val = (BeamInstr) (void *) erts_gc_bit_size_1;
} else if (bf == byte_size_1) {
- op->a[1].val = (Uint) (void *) erts_gc_byte_size_1;
+ op->a[1].val = (BeamInstr) (void *) erts_gc_byte_size_1;
} else if (bf == abs_1) {
- op->a[1].val = (Uint) (void *) erts_gc_abs_1;
+ op->a[1].val = (BeamInstr) (void *) erts_gc_abs_1;
} else if (bf == float_1) {
- op->a[1].val = (Uint) (void *) erts_gc_float_1;
+ op->a[1].val = (BeamInstr) (void *) erts_gc_float_1;
} else if (bf == round_1) {
- op->a[1].val = (Uint) (void *) erts_gc_round_1;
+ op->a[1].val = (BeamInstr) (void *) erts_gc_round_1;
} else if (bf == trunc_1) {
- op->a[1].val = (Uint) (void *) erts_gc_trunc_1;
+ op->a[1].val = (BeamInstr) (void *) erts_gc_trunc_1;
} else {
abort();
}
@@ -3367,6 +3403,77 @@ gen_guard_bif(LoaderState* stp, GenOpArg Fail, GenOpArg Live, GenOpArg Bif,
return op;
}
+/*
+ * This is used by the ops.tab rule that rewrites gc_bifs with two parameters
+ * The instruction returned is then again rewritten to an i_load instruction
+ * folowed by i_gc_bif2_jIId, to handle literals properly.
+ * As opposed to the i_gc_bif1_jIsId, the instruction i_gc_bif2_jIId is
+ * always rewritten, regardless of if there actually are any literals.
+ */
+static GenOp*
+gen_guard_bif2(LoaderState* stp, GenOpArg Fail, GenOpArg Live, GenOpArg Bif,
+ GenOpArg S1, GenOpArg S2, GenOpArg Dst)
+{
+ GenOp* op;
+ BifFunction bf;
+
+ NEW_GENOP(stp, op);
+ op->op = genop_ii_gc_bif2_6;
+ op->arity = 6;
+ op->a[0] = Fail;
+ op->a[1].type = TAG_u;
+ bf = stp->import[Bif.val].bf;
+ /* The translations here need to have a reverse counterpart in
+ beam_emu.c:translate_gc_bif for error handling to work properly. */
+ if (bf == binary_part_2) {
+ op->a[1].val = (BeamInstr) (void *) erts_gc_binary_part_2;
+ } else {
+ abort();
+ }
+ op->a[2] = S1;
+ op->a[3] = S2;
+ op->a[4] = Live;
+ op->a[5] = Dst;
+ op->next = NULL;
+ return op;
+}
+
+/*
+ * This is used by the ops.tab rule that rewrites gc_bifs with three parameters
+ * The instruction returned is then again rewritten to a move instruction that
+ * uses r[0] for temp storage, followed by an i_load instruction,
+ * folowed by i_gc_bif3_jIsId, to handle literals properly. Rewriting
+ * always occur, as with the gc_bif2 counterpart.
+ */
+static GenOp*
+gen_guard_bif3(LoaderState* stp, GenOpArg Fail, GenOpArg Live, GenOpArg Bif,
+ GenOpArg S1, GenOpArg S2, GenOpArg S3, GenOpArg Dst)
+{
+ GenOp* op;
+ BifFunction bf;
+
+ NEW_GENOP(stp, op);
+ op->op = genop_ii_gc_bif3_7;
+ op->arity = 7;
+ op->a[0] = Fail;
+ op->a[1].type = TAG_u;
+ bf = stp->import[Bif.val].bf;
+ /* The translations here need to have a reverse counterpart in
+ beam_emu.c:translate_gc_bif for error handling to work properly. */
+ if (bf == binary_part_3) {
+ op->a[1].val = (BeamInstr) (void *) erts_gc_binary_part_3;
+ } else {
+ abort();
+ }
+ op->a[2] = S1;
+ op->a[3] = S2;
+ op->a[4] = S3;
+ op->a[5] = Live;
+ op->a[6] = Dst;
+ op->next = NULL;
+ return op;
+}
+
/*
* Freeze the code in memory, move the string table into place,
@@ -3376,7 +3483,8 @@ gen_guard_bif(LoaderState* stp, GenOpArg Fail, GenOpArg Live, GenOpArg Bif,
static int
freeze_code(LoaderState* stp)
{
- Eterm* code = stp->code;
+ BeamInstr* code = stp->code;
+ Uint *literal_end = NULL;
Uint index;
int i;
byte* str_table;
@@ -3401,46 +3509,49 @@ freeze_code(LoaderState* stp)
* Calculate the final size of the code.
*/
- size = (stp->ci + stp->total_literal_size) * sizeof(Eterm) +
+ size = (stp->ci * sizeof(BeamInstr)) + (stp->total_literal_size * sizeof(Eterm)) +
strtab_size + attr_size + compile_size;
/*
* Move the code to its final location.
*/
- code = (Eterm *) erts_realloc(ERTS_ALC_T_CODE, (void *) code, size);
-
+ code = (BeamInstr *) erts_realloc(ERTS_ALC_T_CODE, (void *) code, size);
+ CHKBLK(ERTS_ALC_T_CODE,code);
/*
* Place a pointer to the op_int_code_end instruction in the
* function table in the beginning of the file.
*/
- code[MI_FUNCTIONS+stp->num_functions] = (Eterm) (code + stp->ci - 1);
+ code[MI_FUNCTIONS+stp->num_functions] = (BeamInstr) (code + stp->ci - 1);
+ CHKBLK(ERTS_ALC_T_CODE,code);
/*
* Store the pointer to the on_load function.
*/
if (stp->on_load) {
- code[MI_ON_LOAD_FUNCTION_PTR] = (Eterm) (code + stp->on_load);
+ code[MI_ON_LOAD_FUNCTION_PTR] = (BeamInstr) (code + stp->on_load);
} else {
code[MI_ON_LOAD_FUNCTION_PTR] = 0;
}
+ CHKBLK(ERTS_ALC_T_CODE,code);
+ literal_end = (Uint *) (code+stp->ci);
/*
* Place the literal heap directly after the code and fix up all
* put_literal instructions that refer to it.
*/
{
- Eterm* ptr;
- Eterm* low;
- Eterm* high;
+ Uint* ptr;
+ Uint* low;
+ Uint* high;
LiteralPatch* lp;
- low = code+stp->ci;
+ low = (Uint *) (code+stp->ci);
high = low + stp->total_literal_size;
- code[MI_LITERALS_START] = (Eterm) low;
- code[MI_LITERALS_END] = (Eterm) high;
+ code[MI_LITERALS_START] = (BeamInstr) low;
+ code[MI_LITERALS_END] = (BeamInstr) high;
ptr = low;
for (i = 0; i < stp->num_literals; i++) {
Uint offset;
@@ -3472,7 +3583,7 @@ freeze_code(LoaderState* stp)
}
lp = stp->literal_patches;
while (lp != 0) {
- Uint* op_ptr;
+ BeamInstr* op_ptr;
Uint literal;
Literal* lit;
@@ -3485,53 +3596,48 @@ freeze_code(LoaderState* stp)
op_ptr[0] = literal;
lp = lp->next;
}
- stp->ci += stp->total_literal_size;
+ literal_end += stp->total_literal_size;
}
/*
* Place the string table and, optionally, attributes, after the literal heap.
*/
+ CHKBLK(ERTS_ALC_T_CODE,code);
- sys_memcpy(code+stp->ci, stp->chunks[STR_CHUNK].start, strtab_size);
- str_table = (byte *) (code+stp->ci);
+ sys_memcpy(literal_end, stp->chunks[STR_CHUNK].start, strtab_size);
+ CHKBLK(ERTS_ALC_T_CODE,code);
+ str_table = (byte *) literal_end;
if (attr_size) {
byte* attr = str_table + strtab_size;
sys_memcpy(attr, stp->chunks[ATTR_CHUNK].start, stp->chunks[ATTR_CHUNK].size);
- code[MI_ATTR_PTR] = (Eterm) attr;
- code[MI_ATTR_SIZE] = (Eterm) stp->chunks[ATTR_CHUNK].size;
+ code[MI_ATTR_PTR] = (BeamInstr) attr;
+ code[MI_ATTR_SIZE] = (BeamInstr) stp->chunks[ATTR_CHUNK].size;
decoded_size = erts_decode_ext_size(attr, attr_size, 0);
if (decoded_size < 0) {
LoadError0(stp, "bad external term representation of module attributes");
}
code[MI_ATTR_SIZE_ON_HEAP] = decoded_size;
}
+ CHKBLK(ERTS_ALC_T_CODE,code);
if (compile_size) {
byte* compile_info = str_table + strtab_size + attr_size;
+ CHKBLK(ERTS_ALC_T_CODE,code);
sys_memcpy(compile_info, stp->chunks[COMPILE_CHUNK].start,
stp->chunks[COMPILE_CHUNK].size);
- code[MI_COMPILE_PTR] = (Eterm) compile_info;
- code[MI_COMPILE_SIZE] = (Eterm) stp->chunks[COMPILE_CHUNK].size;
+ CHKBLK(ERTS_ALC_T_CODE,code);
+ code[MI_COMPILE_PTR] = (BeamInstr) compile_info;
+ CHKBLK(ERTS_ALC_T_CODE,code);
+ code[MI_COMPILE_SIZE] = (BeamInstr) stp->chunks[COMPILE_CHUNK].size;
+ CHKBLK(ERTS_ALC_T_CODE,code);
decoded_size = erts_decode_ext_size(compile_info, compile_size, 0);
+ CHKBLK(ERTS_ALC_T_CODE,code);
if (decoded_size < 0) {
LoadError0(stp, "bad external term representation of compilation information");
}
+ CHKBLK(ERTS_ALC_T_CODE,code);
code[MI_COMPILE_SIZE_ON_HEAP] = decoded_size;
}
-
-
- /*
- * Go through all put_strings instructions, restore the pointer to
- * the instruction and convert string offsets to pointers (to the
- * LAST character).
- */
-
- index = stp->put_strings;
- while (index != 0) {
- Uint next = code[index];
- code[index] = BeamOpCode(op_put_string_IId);
- code[index+2] = (Uint) (str_table + code[index+2] + code[index+1] - 1);
- index = next;
- }
+ CHKBLK(ERTS_ALC_T_CODE,code);
/*
* Go through all i_new_bs_put_strings instructions, restore the pointer to
@@ -3543,23 +3649,25 @@ freeze_code(LoaderState* stp)
while (index != 0) {
Uint next = code[index];
code[index] = BeamOpCode(op_bs_put_string_II);
- code[index+2] = (Uint) (str_table + code[index+2]);
+ code[index+2] = (BeamInstr) (str_table + code[index+2]);
index = next;
}
+ CHKBLK(ERTS_ALC_T_CODE,code);
{
StringPatch* sp = stp->string_patches;
while (sp != 0) {
- Uint* op_ptr;
+ BeamInstr* op_ptr;
byte* strp;
op_ptr = code + sp->pos;
strp = str_table + op_ptr[0];
- op_ptr[0] = (Eterm) strp;
+ op_ptr[0] = (BeamInstr) strp;
sp = sp->next;
}
}
+ CHKBLK(ERTS_ALC_T_CODE,code);
/*
* Resolve all labels.
@@ -3579,10 +3687,11 @@ freeze_code(LoaderState* stp)
ASSERT(this_patch < stp->ci);
next_patch = code[this_patch];
ASSERT(next_patch < stp->ci);
- code[this_patch] = (Uint) (code + value);
+ code[this_patch] = (BeamInstr) (code + value);
this_patch = next_patch;
}
}
+ CHKBLK(ERTS_ALC_T_CODE,code);
/*
* Fix all catch_yf instructions.
@@ -3590,13 +3699,14 @@ freeze_code(LoaderState* stp)
index = stp->catches;
catches = BEAM_CATCHES_NIL;
while (index != 0) {
- Uint next = code[index];
+ BeamInstr next = code[index];
code[index] = BeamOpCode(op_catch_yf);
- catches = beam_catches_cons((Uint*)code[index+2], catches);
+ catches = beam_catches_cons((BeamInstr *)code[index+2], catches);
code[index+2] = make_catch(catches);
index = next;
}
stp->catches = catches;
+ CHKBLK(ERTS_ALC_T_CODE,code);
/*
* Save the updated code pointer and code size.
@@ -3605,6 +3715,7 @@ freeze_code(LoaderState* stp)
stp->code = code;
stp->loaded_size = size;
+ CHKBLK(ERTS_ALC_T_CODE,code);
return 1;
load_error:
@@ -3638,7 +3749,7 @@ final_touch(LoaderState* stp)
* callable yet.
*/
ep->address = ep->code+3;
- ep->code[4] = (Eterm) stp->export[i].address;
+ ep->code[4] = (BeamInstr) stp->export[i].address;
}
}
@@ -3650,14 +3761,14 @@ final_touch(LoaderState* stp)
Eterm mod;
Eterm func;
Uint arity;
- Uint import;
+ BeamInstr import;
Uint current;
Uint next;
mod = stp->import[i].module;
func = stp->import[i].function;
arity = stp->import[i].arity;
- import = (Uint) erts_export_put(mod, func, arity);
+ import = (BeamInstr) erts_export_put(mod, func, arity);
current = stp->import[i].patches;
while (current != 0) {
ASSERT(current < stp->ci);
@@ -3675,7 +3786,7 @@ final_touch(LoaderState* stp)
for (i = 0; i < stp->num_lambdas; i++) {
unsigned entry_label = stp->lambdas[i].label;
ErlFunEntry* fe = stp->lambdas[i].fe;
- Eterm* code_ptr = (Eterm *) (stp->code + stp->labels[entry_label].value);
+ BeamInstr* code_ptr = (BeamInstr *) (stp->code + stp->labels[entry_label].value);
if (fe->address[0] != 0) {
/*
@@ -3807,7 +3918,7 @@ transform_engine(LoaderState* st)
if (i >= st->num_imports || st->import[i].bf == NULL)
goto restart;
if (bif_number != -1 &&
- bif_export[bif_number]->code[4] != (Uint) st->import[i].bf) {
+ bif_export[bif_number]->code[4] != (BeamInstr) st->import[i].bf) {
goto restart;
}
}
@@ -4071,7 +4182,7 @@ load_printf(int line, LoaderState* context, char *fmt,...)
static int
-get_int_val(LoaderState* stp, Uint len_code, Uint* result)
+get_int_val(LoaderState* stp, Uint len_code, BeamInstr* result)
{
Uint count;
Uint val;
@@ -4103,7 +4214,7 @@ get_int_val(LoaderState* stp, Uint len_code, Uint* result)
static int
-get_erlang_integer(LoaderState* stp, Uint len_code, Uint* result)
+get_erlang_integer(LoaderState* stp, Uint len_code, BeamInstr* result)
{
Uint count;
Sint val;
@@ -4124,11 +4235,12 @@ get_erlang_integer(LoaderState* stp, Uint len_code, Uint* result)
count = len_code + 2;
} else {
Uint tag;
+ UWord len_word;
ASSERT(len_code == 7);
- GetTagAndValue(stp, tag, len_code);
+ GetTagAndValue(stp, tag, len_word);
VerifyTag(stp, TAG_u, tag);
- count = len_code + 9;
+ count = len_word + 9;
}
/*
@@ -4376,7 +4488,7 @@ functions_in_module(Process* p, /* Process whose heap to use. */
Eterm mod) /* Tagged atom for module. */
{
Module* modp;
- Eterm* code;
+ BeamInstr* code;
int i;
Uint num_functions;
Eterm* hp;
@@ -4394,9 +4506,9 @@ functions_in_module(Process* p, /* Process whose heap to use. */
num_functions = code[MI_NUM_FUNCTIONS];
hp = HAlloc(p, 5*num_functions);
for (i = num_functions-1; i >= 0 ; i--) {
- Eterm* func_info = (Eterm *) code[MI_FUNCTIONS+i];
- Eterm name = func_info[3];
- int arity = func_info[4];
+ BeamInstr* func_info = (BeamInstr *) code[MI_FUNCTIONS+i];
+ Eterm name = (Eterm) func_info[3];
+ int arity = (int) func_info[4];
Eterm tuple;
ASSERT(is_atom(name));
@@ -4419,7 +4531,7 @@ static Eterm
native_addresses(Process* p, Eterm mod)
{
Module* modp;
- Eterm* code;
+ BeamInstr* code;
int i;
Eterm* hp;
Uint num_functions;
@@ -4442,9 +4554,9 @@ native_addresses(Process* p, Eterm mod)
hp = HAlloc(p, need);
hp_end = hp + need;
for (i = num_functions-1; i >= 0 ; i--) {
- Eterm* func_info = (Eterm *) code[MI_FUNCTIONS+i];
- Eterm name = func_info[3];
- int arity = func_info[4];
+ BeamInstr* func_info = (BeamInstr *) code[MI_FUNCTIONS+i];
+ Eterm name = (Eterm) func_info[3];
+ int arity = (int) func_info[4];
Eterm tuple;
ASSERT(is_atom(name));
@@ -4486,7 +4598,7 @@ exported_from_module(Process* p, /* Process whose heap to use. */
Eterm tuple;
if (ep->address == ep->code+3 &&
- ep->code[3] == (Eterm) em_call_error_handler) {
+ ep->code[3] == (BeamInstr) em_call_error_handler) {
/* There is a call to the function, but it does not exist. */
continue;
}
@@ -4519,7 +4631,7 @@ attributes_for_module(Process* p, /* Process whose heap to use. */
{
Module* modp;
- Eterm* code;
+ BeamInstr* code;
Eterm* hp;
byte* ext;
Eterm result = NIL;
@@ -4559,7 +4671,7 @@ compilation_info_for_module(Process* p, /* Process whose heap to use. */
Eterm mod) /* Tagged atom for module. */
{
Module* modp;
- Eterm* code;
+ BeamInstr* code;
Eterm* hp;
byte* ext;
Eterm result = NIL;
@@ -4591,8 +4703,8 @@ compilation_info_for_module(Process* p, /* Process whose heap to use. */
/*
* Returns a pointer to {module, function, arity}, or NULL if not found.
*/
-Eterm*
-find_function_from_pc(Eterm* pc)
+BeamInstr *
+find_function_from_pc(BeamInstr* pc)
{
Range* low = modules;
Range* high = low + num_loaded_modules;
@@ -4604,9 +4716,9 @@ find_function_from_pc(Eterm* pc)
} else if (pc > mid->end) {
low = mid + 1;
} else {
- Eterm** low1 = (Eterm **) (mid->start + MI_FUNCTIONS);
- Eterm** high1 = low1 + mid->start[MI_NUM_FUNCTIONS];
- Eterm** mid1;
+ BeamInstr** low1 = (BeamInstr **) (mid->start + MI_FUNCTIONS);
+ BeamInstr** high1 = low1 + mid->start[MI_NUM_FUNCTIONS];
+ BeamInstr** mid1;
while (low1 < high1) {
mid1 = low1 + (high1-low1) / 2;
@@ -4719,10 +4831,10 @@ code_module_md5_1(Process* p, Eterm Bin)
#define WORDS_PER_FUNCTION 6
-static Eterm*
-make_stub(Eterm* fp, Eterm mod, Eterm func, Uint arity, Uint native, Eterm OpCode)
+static BeamInstr*
+make_stub(BeamInstr* fp, Eterm mod, Eterm func, Uint arity, Uint native, BeamInstr OpCode)
{
- fp[0] = (Eterm) BeamOp(op_i_func_info_IaaI);
+ fp[0] = (BeamInstr) BeamOp(op_i_func_info_IaaI);
fp[1] = native;
fp[2] = mod;
fp[3] = func;
@@ -4741,14 +4853,14 @@ static byte*
stub_copy_info(LoaderState* stp,
int chunk, /* Chunk: ATTR_CHUNK or COMPILE_CHUNK */
byte* info, /* Where to store info. */
- Eterm* ptr_word, /* Where to store pointer into info. */
- Eterm* size_word) /* Where to store size of info. */
+ BeamInstr* ptr_word, /* Where to store pointer into info. */
+ BeamInstr* size_word) /* Where to store size of info. */
{
Sint decoded_size;
Uint size = stp->chunks[chunk].size;
if (size != 0) {
memcpy(info, stp->chunks[chunk].start, size);
- *ptr_word = (Eterm) info;
+ *ptr_word = (BeamInstr) info;
decoded_size = erts_decode_ext_size(info, size, 0);
if (decoded_size < 0) {
return 0;
@@ -4791,7 +4903,7 @@ stub_read_export_table(LoaderState* stp)
}
static void
-stub_final_touch(LoaderState* stp, Eterm* fp)
+stub_final_touch(LoaderState* stp, BeamInstr* fp)
{
int i;
int n = stp->num_exps;
@@ -4978,12 +5090,12 @@ Eterm
erts_make_stub_module(Process* p, Eterm Mod, Eterm Beam, Eterm Info)
{
LoaderState state;
- Eterm Funcs;
- Eterm Patchlist;
+ BeamInstr Funcs;
+ BeamInstr Patchlist;
Eterm* tp;
- Eterm* code = NULL;
- Eterm* ptrs;
- Eterm* fp;
+ BeamInstr* code = NULL;
+ BeamInstr* ptrs;
+ BeamInstr* fp;
byte* info;
Uint ci;
int n;
@@ -5072,7 +5184,7 @@ erts_make_stub_module(Process* p, Eterm Mod, Eterm Beam, Eterm Info)
* Allocate memory for the stub module.
*/
- code_size = ((WORDS_PER_FUNCTION+1)*n + MI_FUNCTIONS + 2) * sizeof(Eterm);
+ code_size = ((WORDS_PER_FUNCTION+1)*n + MI_FUNCTIONS + 2) * sizeof(BeamInstr);
code_size += state.chunks[ATTR_CHUNK].size;
code_size += state.chunks[COMPILE_CHUNK].size;
code = erts_alloc_fnf(ERTS_ALC_T_CODE, code_size);
@@ -5141,7 +5253,7 @@ erts_make_stub_module(Process* p, Eterm Mod, Eterm Beam, Eterm Info)
* Set the pointer and make the stub. Put a return instruction
* as the body until we know what kind of trap we should put there.
*/
- ptrs[i] = (Eterm) fp;
+ ptrs[i] = (BeamInstr) fp;
#ifdef HIPE
op = (Eterm) BeamOpCode(op_hipe_trap_call); /* Might be changed later. */
#else
@@ -5154,8 +5266,8 @@ erts_make_stub_module(Process* p, Eterm Mod, Eterm Beam, Eterm Info)
* Insert the last pointer and the int_code_end instruction.
*/
- ptrs[i] = (Eterm) fp;
- *fp++ = (Eterm) BeamOp(op_int_code_end);
+ ptrs[i] = (BeamInstr) fp;
+ *fp++ = (BeamInstr) BeamOp(op_int_code_end);
/*
* Copy attributes and compilation information.
@@ -5222,9 +5334,9 @@ erts_make_stub_module(Process* p, Eterm Mod, Eterm Beam, Eterm Info)
#undef WORDS_PER_FUNCTION
-static int safe_mul(Uint a, Uint b, Uint* resp)
+static int safe_mul(UWord a, UWord b, UWord* resp)
{
- Uint res = a * b;
+ Uint res = a * b; /* XXX:Pan - used in bit syntax, the multiplication has to be stored in Uint */
*resp = res;
if (b == 0) {
diff --git a/erts/emulator/beam/beam_load.h b/erts/emulator/beam/beam_load.h
index c17844a553..26e3054c4b 100644
--- a/erts/emulator/beam/beam_load.h
+++ b/erts/emulator/beam/beam_load.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1999-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1999-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -44,13 +44,13 @@ extern void** beam_ops;
#endif
-extern Eterm beam_debug_apply[];
-extern Eterm* em_call_error_handler;
-extern Eterm* em_apply_bif;
-extern Eterm* em_call_traced_function;
+extern BeamInstr beam_debug_apply[];
+extern BeamInstr* em_call_error_handler;
+extern BeamInstr* em_apply_bif;
+extern BeamInstr* em_call_traced_function;
typedef struct {
- Eterm* start; /* Pointer to start of module. */
- Eterm* end; /* Points one word beyond last function in module. */
+ BeamInstr* start; /* Pointer to start of module. */
+ BeamInstr* end; /* Points one word beyond last function in module. */
} Range;
/*
diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c
index 1b670585a7..85bf584337 100644
--- a/erts/emulator/beam/bif.c
+++ b/erts/emulator/beam/bif.c
@@ -616,13 +616,15 @@ local_name_monitor(Process *p, Eterm target_name)
rp = erts_whereis_process(p, p_locks, target_name, ERTS_PROC_LOCK_LINK,
ERTS_P2P_FLG_ALLOW_OTHER_X);
if (!rp) {
- Eterm lhp[3];
+ DeclareTmpHeap(lhp,3,p);
Eterm item;
+ UseTmpHeap(3,p);
erts_smp_proc_unlock(p, ERTS_PROC_LOCK_LINK);
p_locks &= ~ERTS_PROC_LOCK_LINK;
item = TUPLE2(lhp, target_name, erts_this_dist_entry->sysname);
erts_queue_monitor_message(p, &p_locks,
mon_ref, am_process, item, am_noproc);
+ UnUseTmpHeap(3,p);
}
else if (rp != p) {
erts_add_monitor(&(p->monitors), MON_ORIGIN, mon_ref, rp->id,
@@ -3466,9 +3468,16 @@ BIF_RETTYPE make_fun_3(BIF_ALIST_3)
if (arity < 0) {
goto error;
}
+#if HALFWORD_HEAP
+ hp = HAlloc(BIF_P, 3);
+ hp[0] = HEADER_EXPORT;
+ /* Yes, May be misaligned, but X86_64 will fix it... */
+ *((Export **) (hp+1)) = erts_export_get_or_make_stub(BIF_ARG_1, BIF_ARG_2, (Uint) arity);
+#else
hp = HAlloc(BIF_P, 2);
hp[0] = HEADER_EXPORT;
hp[1] = (Eterm) erts_export_get_or_make_stub(BIF_ARG_1, BIF_ARG_2, (Uint) arity);
+#endif
BIF_RET(make_export(hp));
}
@@ -3884,7 +3893,7 @@ BIF_RETTYPE hash_2(BIF_ALIST_2)
if ((range = signed_val(BIF_ARG_2)) <= 0) { /* [1..MAX_SMALL] */
BIF_ERROR(BIF_P, BADARG);
}
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
if (range > ((1L << 27) - 1))
BIF_ERROR(BIF_P, BADARG);
#endif
@@ -3956,7 +3965,7 @@ BIF_RETTYPE phash2_2(BIF_ALIST_2)
/*
* Return either a small or a big. Use the heap for bigs if there is room.
*/
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
BIF_RET(make_small(final_hash));
#else
if (IS_USMALL(0, final_hash)) {
@@ -4118,8 +4127,8 @@ void erts_init_bif(void)
#else
bif_return_trap_export.code[2] = 1;
#endif
- bif_return_trap_export.code[3] = (Eterm) em_apply_bif;
- bif_return_trap_export.code[4] = (Eterm) &bif_return_trap;
+ bif_return_trap_export.code[3] = (BeamInstr) em_apply_bif;
+ bif_return_trap_export.code[4] = (BeamInstr) &bif_return_trap;
flush_monitor_message_trap = erts_export_put(am_erlang,
am_flush_monitor_message,
diff --git a/erts/emulator/beam/bif.h b/erts/emulator/beam/bif.h
index 05e9b78c28..50f5f4fbd6 100644
--- a/erts/emulator/beam/bif.h
+++ b/erts/emulator/beam/bif.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -125,7 +125,7 @@ do { \
#define ERTS_BIF_PREP_TRAP0(Ret, Trap, Proc) \
do { \
(Proc)->arity = 0; \
- (Proc)->def_arg_reg[3] = (Eterm) (Trap->address); \
+ *((UWord *) (UWord) ((Proc)->def_arg_reg + 3)) = (UWord) ((Trap)->address); \
(Proc)->freason = TRAP; \
(Ret) = THE_NON_VALUE; \
} while (0)
@@ -134,7 +134,8 @@ do { \
do { \
(Proc)->arity = 1; \
(Proc)->def_arg_reg[0] = (Eterm) (A0); \
- (Proc)->def_arg_reg[3] = (Eterm) ((Trap)->address); \
+ *((UWord *) (UWord) ((Proc)->def_arg_reg + 3)) = (UWord) ((Trap)->address); \
+ (Proc)->def_arg_reg[3] = (UWord) ((Trap)->address); \
(Proc)->freason = TRAP; \
(Ret) = THE_NON_VALUE; \
} while (0)
@@ -144,7 +145,8 @@ do { \
(Proc)->arity = 2; \
(Proc)->def_arg_reg[0] = (Eterm) (A0); \
(Proc)->def_arg_reg[1] = (Eterm) (A1); \
- (Proc)->def_arg_reg[3] = (Eterm) ((Trap)->address); \
+ *((UWord *) (UWord) ((Proc)->def_arg_reg + 3)) = (UWord) ((Trap)->address); \
+ (Proc)->def_arg_reg[3] = (UWord) ((Trap)->address); \
(Proc)->freason = TRAP; \
(Ret) = THE_NON_VALUE; \
} while (0)
@@ -155,14 +157,15 @@ do { \
(Proc)->def_arg_reg[0] = (Eterm) (A0); \
(Proc)->def_arg_reg[1] = (Eterm) (A1); \
(Proc)->def_arg_reg[2] = (Eterm) (A2); \
- (Proc)->def_arg_reg[3] = (Eterm) ((Trap)->address); \
+ *((UWord *) (UWord) ((Proc)->def_arg_reg + 3)) = (UWord) ((Trap)->address); \
+ (Proc)->def_arg_reg[3] = (UWord) ((Trap)->address); \
(Proc)->freason = TRAP; \
(Ret) = THE_NON_VALUE; \
} while (0)
#define BIF_TRAP0(p, Trap_) do { \
(p)->arity = 0; \
- (p)->def_arg_reg[3] = (Eterm) ((Trap_)->address); \
+ *((UWord *) (UWord) ((p)->def_arg_reg + 3)) = (UWord) ((Trap_)->address); \
(p)->freason = TRAP; \
return THE_NON_VALUE; \
} while(0)
@@ -170,7 +173,7 @@ do { \
#define BIF_TRAP1(Trap_, p, A0) do { \
(p)->arity = 1; \
(p)->def_arg_reg[0] = (A0); \
- (p)->def_arg_reg[3] = (Eterm) ((Trap_)->address); \
+ *((UWord *) (UWord) ((p)->def_arg_reg + 3)) = (UWord) ((Trap_)->address); \
(p)->freason = TRAP; \
return THE_NON_VALUE; \
} while(0)
@@ -179,7 +182,7 @@ do { \
(p)->arity = 2; \
(p)->def_arg_reg[0] = (A0); \
(p)->def_arg_reg[1] = (A1); \
- (p)->def_arg_reg[3] = (Eterm) ((Trap_)->address); \
+ *((UWord *) (UWord) ((p)->def_arg_reg + 3)) = (UWord) ((Trap_)->address); \
(p)->freason = TRAP; \
return THE_NON_VALUE; \
} while(0)
@@ -189,14 +192,14 @@ do { \
(p)->def_arg_reg[0] = (A0); \
(p)->def_arg_reg[1] = (A1); \
(p)->def_arg_reg[2] = (A2); \
- (p)->def_arg_reg[3] = (Eterm) ((Trap_)->address); \
+ *((UWord *) (UWord) ((p)->def_arg_reg + 3)) = (UWord) ((Trap_)->address); \
(p)->freason = TRAP; \
return THE_NON_VALUE; \
} while(0)
#define BIF_TRAP_CODE_PTR_0(p, Code_) do { \
(p)->arity = 0; \
- (p)->def_arg_reg[3] = (Eterm) (Code_); \
+ *((UWord *) (UWord) ((p)->def_arg_reg + 3)) = (UWord) (Code_); \
(p)->freason = TRAP; \
return THE_NON_VALUE; \
} while(0)
diff --git a/erts/emulator/beam/bif.tab b/erts/emulator/beam/bif.tab
index b6fa06354a..9feb302a3d 100644
--- a/erts/emulator/beam/bif.tab
+++ b/erts/emulator/beam/bif.tab
@@ -760,6 +760,40 @@ bif erlang:finish_after_on_load/2
bif erlang:binary_to_term/2
#
+# The binary match bifs (New in R14A - EEP9)
+#
+
+#
+# The searching/splitting/substituting thingies
+#
+ubif erlang:binary_part/2
+ubif erlang:binary_part/3
+
+bif binary:compile_pattern/1
+bif binary:match/2
+bif binary:match/3
+bif binary:matches/2
+bif binary:matches/3
+bif binary:longest_common_prefix/1
+bif binary:longest_common_suffix/1
+bif binary:first/1
+bif binary:last/1
+bif binary:at/2
+bif binary:part/2 binary_binary_part_2
+bif binary:part/3 binary_binary_part_3
+bif binary:bin_to_list/1
+bif binary:bin_to_list/2
+bif binary:bin_to_list/3
+bif binary:list_to_bin/1
+bif binary:copy/1
+bif binary:copy/2
+bif binary:referenced_byte_size/1
+bif binary:encode_unsigned/1
+bif binary:encode_unsigned/2
+bif binary:decode_unsigned/1
+bif binary:decode_unsigned/2
+
+#
# Obsolete
#
diff --git a/erts/emulator/beam/big.c b/erts/emulator/beam/big.c
index 03c88da8c6..90d3a0304a 100644
--- a/erts/emulator/beam/big.c
+++ b/erts/emulator/beam/big.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -1459,7 +1459,31 @@ Eterm uint_to_big(Uint x, Eterm *y)
BIG_DIGIT(y, 0) = x;
return make_big(y);
}
+/*
+** convert UWord to bigint
+** (must only be used if x is to big to be stored as a small)
+** Allocation is tricky, the heap need has to be calculated
+** with the macro BIG_UWORD_HEAP_SIZE(x)
+*/
+Eterm uword_to_big(UWord x, Eterm *y)
+{
+#if HALFWORD_HEAP
+ Uint upper = x >> 32;
+ Uint lower = x & 0xFFFFFFFFUL;
+ if (upper == 0) {
+ *y = make_pos_bignum_header(1);
+ } else {
+ *y = make_pos_bignum_header(2);
+ BIG_DIGIT(y, 1) = upper;
+ }
+ BIG_DIGIT(y, 0) = lower;
+#else
+ *y = make_pos_bignum_header(1);
+ BIG_DIGIT(y, 0) = x;
+#endif
+ return make_big(y);
+}
/*
** convert signed int to bigint
@@ -1480,7 +1504,7 @@ Eterm small_to_big(Sint x, Eterm *y)
Eterm erts_uint64_to_big(Uint64 x, Eterm **hpp)
{
Eterm *hp = *hpp;
-#ifdef ARCH_32
+#if defined(ARCH_32) || HALFWORD_HEAP
if (x >= (((Uint64) 1) << 32)) {
*hp = make_pos_bignum_header(2);
BIG_DIGIT(hp, 0) = (Uint) (x & ((Uint) 0xffffffff));
@@ -1507,7 +1531,7 @@ Eterm erts_sint64_to_big(Sint64 x, Eterm **hpp)
neg = 1;
x = -x;
}
-#ifdef ARCH_32
+#if defined(ARCH_32) || HALFWORD_HEAP
if (x >= (((Uint64) 1) << 32)) {
if (neg)
*hp = make_neg_bignum_header(2);
@@ -1854,6 +1878,42 @@ term_to_Uint(Eterm term, Uint *up)
}
}
+int
+term_to_UWord(Eterm term, UWord *up)
+{
+ if (is_small(term)) {
+ Sint i = signed_val(term);
+ if (i < 0) {
+ *up = BADARG;
+ return 0;
+ }
+ *up = (UWord) i;
+ return 1;
+ } else if (is_big(term)) {
+ ErtsDigit* xr = big_v(term);
+ dsize_t xl = big_size(term);
+ UWord uval = 0;
+ int n = 0;
+
+ if (big_sign(term)) {
+ *up = BADARG;
+ return 0;
+ } else if (xl*D_EXP > sizeof(UWord)*8) {
+ *up = SYSTEM_LIMIT;
+ return 0;
+ }
+ while (xl-- > 0) {
+ uval |= ((Uint)(*xr++)) << n;
+ n += D_EXP;
+ }
+ *up = uval;
+ return 1;
+ } else {
+ *up = BADARG;
+ return 0;
+ }
+}
+
int term_to_Sint(Eterm term, Sint *sp)
{
if (is_small(term)) {
diff --git a/erts/emulator/beam/big.h b/erts/emulator/beam/big.h
index b8e38d482c..56f3be372a 100644
--- a/erts/emulator/beam/big.h
+++ b/erts/emulator/beam/big.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -34,7 +34,7 @@
typedef Uint ErtsDigit;
-#if (SIZEOF_VOID_P == 4) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 8)
+#if ((SIZEOF_VOID_P == 4) || HALFWORD_HEAP) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 8)
/* Assume 32-bit machine with long long support */
typedef Uint64 ErtsDoubleDigit;
typedef Uint16 ErtsHalfDigit;
@@ -58,7 +58,7 @@ typedef Uint32 ErtsHalfDigit;
typedef Uint dsize_t; /* Vector size type */
-#define D_EXP (SIZEOF_VOID_P*8)
+#define D_EXP (ERTS_SIZEOF_ETERM*8)
#define D_MASK ((ErtsDigit)(-1)) /* D_BASE-1 */
/* macros for bignum objects */
@@ -88,7 +88,13 @@ typedef Uint dsize_t; /* Vector size type */
#define BIG_UINT_HEAP_SIZE (1 + 1) /* always, since sizeof(Uint) <= sizeof(Eterm) */
-#ifdef ARCH_32
+#if HALFWORD_HEAP
+#define BIG_UWORD_HEAP_SIZE(UW) (((UW) >> (sizeof(Uint) * 8)) ? 3 : 2)
+#else
+#define BIG_UWORD_HEAP_SIZE(UW) BIG_UINT_HEAP_SIZE
+#endif
+
+#if defined(ARCH_32) || HALFWORD_HEAP
#define ERTS_UINT64_BIG_HEAP_SIZE__(X) \
((X) >= (((Uint64) 1) << 32) ? (1 + 2) : (1 + 1))
@@ -136,6 +142,7 @@ int big_ucomp (Eterm, Eterm);
int big_to_double(Eterm x, double* resp);
Eterm small_to_big(Sint, Eterm*);
Eterm uint_to_big(Uint, Eterm*);
+Eterm uword_to_big(UWord, Eterm*);
Eterm erts_make_integer(Uint, Process *);
dsize_t big_bytes(Eterm);
@@ -143,6 +150,7 @@ Eterm bytes_to_big(byte*, dsize_t, int, Eterm*);
byte* big_to_bytes(Eterm, byte*);
int term_to_Uint(Eterm, Uint*);
+int term_to_UWord(Eterm, UWord*);
int term_to_Sint(Eterm, Sint*);
Uint32 big_to_uint32(Eterm b);
diff --git a/erts/emulator/beam/binary.c b/erts/emulator/beam/binary.c
index 08c64610a2..c68392fad4 100644
--- a/erts/emulator/beam/binary.c
+++ b/erts/emulator/beam/binary.c
@@ -42,7 +42,7 @@ void
erts_init_binary(void)
{
/* Verify Binary alignment... */
- if ((((Uint) &((Binary *) 0)->orig_bytes[0]) % ((Uint) 8)) != 0) {
+ if ((((UWord) &((Binary *) 0)->orig_bytes[0]) % ((UWord) 8)) != 0) {
/* I assume that any compiler should be able to optimize this
away. If not, this test is not very expensive... */
erl_exit(ERTS_ABORT_EXIT,
@@ -180,7 +180,7 @@ erts_realloc_binary(Eterm bin, size_t size)
}
byte*
-erts_get_aligned_binary_bytes_extra(Eterm bin, byte** base_ptr, unsigned extra)
+erts_get_aligned_binary_bytes_extra(Eterm bin, byte** base_ptr, ErtsAlcType_t allocator, unsigned extra)
{
byte* bytes;
Eterm* real_bin;
@@ -208,7 +208,7 @@ erts_get_aligned_binary_bytes_extra(Eterm bin, byte** base_ptr, unsigned extra)
bytes = (byte *)(&(((ErlHeapBin *) real_bin)->data)) + offs;
}
if (bit_offs) {
- byte* buf = (byte *) erts_alloc(ERTS_ALC_T_TMP, byte_size + extra);
+ byte* buf = (byte *) erts_alloc(allocator, byte_size + extra);
*base_ptr = buf;
buf += extra;
erts_copy_bits(bytes, bit_offs, 1, buf, 0, 1, byte_size*8);
@@ -346,29 +346,40 @@ BIF_RETTYPE bitstring_to_list_1(BIF_ALIST_1)
/* Turn a possibly deep list of ints (and binaries) into */
/* One large binary object */
-BIF_RETTYPE list_to_binary_1(BIF_ALIST_1)
+/*
+ * This bif also exists in the binary module, under the name
+ * binary:list_to_bin/1, why it's divided into interface and
+ * implementation. Also the backend for iolist_to_binary_1.
+ */
+
+BIF_RETTYPE erts_list_to_binary_bif(Process *p, Eterm arg)
{
Eterm bin;
int i;
int offset;
byte* bytes;
- if (is_nil(BIF_ARG_1)) {
- BIF_RET(new_binary(BIF_P,(byte*)"",0));
+ if (is_nil(arg)) {
+ BIF_RET(new_binary(p,(byte*)"",0));
}
- if (is_not_list(BIF_ARG_1)) {
+ if (is_not_list(arg)) {
goto error;
}
- if ((i = io_list_len(BIF_ARG_1)) < 0) {
+ if ((i = io_list_len(arg)) < 0) {
goto error;
}
- bin = new_binary(BIF_P, (byte *)NULL, i);
+ bin = new_binary(p, (byte *)NULL, i);
bytes = binary_bytes(bin);
- offset = io_list_to_buf(BIF_ARG_1, (char*) bytes, i);
+ offset = io_list_to_buf(arg, (char*) bytes, i);
ASSERT(offset == 0);
BIF_RET(bin);
- error:
- BIF_ERROR(BIF_P, BADARG);
+ error:
+ BIF_ERROR(p, BADARG);
+}
+
+BIF_RETTYPE list_to_binary_1(BIF_ALIST_1)
+{
+ return erts_list_to_binary_bif(BIF_P, BIF_ARG_1);
}
/* Turn a possibly deep list of ints (and binaries) into */
@@ -376,31 +387,10 @@ BIF_RETTYPE list_to_binary_1(BIF_ALIST_1)
BIF_RETTYPE iolist_to_binary_1(BIF_ALIST_1)
{
- Eterm bin;
- int i;
- int offset;
- byte* bytes;
-
if (is_binary(BIF_ARG_1)) {
BIF_RET(BIF_ARG_1);
}
- if (is_nil(BIF_ARG_1)) {
- BIF_RET(new_binary(BIF_P,(byte*)"",0));
- }
- if (is_not_list(BIF_ARG_1)) {
- goto error;
- }
- if ((i = io_list_len(BIF_ARG_1)) < 0) {
- goto error;
- }
- bin = new_binary(BIF_P, (byte *)NULL, i);
- bytes = binary_bytes(bin);
- offset = io_list_to_buf(BIF_ARG_1, (char*) bytes, i);
- ASSERT(offset == 0);
- BIF_RET(bin);
-
- error:
- BIF_ERROR(BIF_P, BADARG);
+ return erts_list_to_binary_bif(BIF_P, BIF_ARG_1);
}
BIF_RETTYPE list_to_bitstring_1(BIF_ALIST_1)
@@ -675,3 +665,4 @@ bitstr_list_len(Eterm obj)
DESTROY_ESTACK(s);
return (Sint) -1;
}
+
diff --git a/erts/emulator/beam/break.c b/erts/emulator/beam/break.c
index cc69977b79..5cb1481a3a 100644
--- a/erts/emulator/beam/break.c
+++ b/erts/emulator/beam/break.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
/* This File contains functions which are called if a user hits ^C */
@@ -38,10 +38,6 @@
#include "erl_instrument.h"
#include "erl_bif_timer.h"
-#ifdef _OSE_
-#include "time.h"
-#endif
-
/* Forward declarations -- should really appear somewhere else */
static void process_killer(void);
void do_break(void);
@@ -327,7 +323,7 @@ print_process_info(int to, void *to_arg, Process *p)
(unsigned)(OLD_HEND(p) - OLD_HEAP(p)) );
erts_print(to, to_arg, "Heap unused: %bpu\n", (p->hend - p->htop));
erts_print(to, to_arg, "OldHeap unused: %bpu\n",
- (OLD_HEAP(p) == NULL) ? 0 : (OLD_HEND(p) - OLD_HEAP(p)) );
+ (OLD_HEAP(p) == NULL) ? 0 : (OLD_HEND(p) - OLD_HTOP(p)) );
if (garbing) {
print_garb_info(to, to_arg, p);
@@ -381,7 +377,7 @@ loaded(int to, void *to_arg)
int i;
int old = 0;
int cur = 0;
- Eterm* code;
+ BeamInstr* code;
/*
* Calculate and print totals.
diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c
index e3094404e2..d465017949 100644
--- a/erts/emulator/beam/dist.c
+++ b/erts/emulator/beam/dist.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -228,6 +228,7 @@ int is_node_name_atom(Eterm a)
typedef struct {
DistEntry *dep;
+ Eterm *lhp;
} NetExitsContext;
/*
@@ -253,8 +254,9 @@ static void doit_monitor_net_exits(ErtsMonitor *mon, void *vnecp)
erts_destroy_monitor(rmon);
}
} else {
- Eterm lhp[3];
+ DeclareTmpHeapNoproc(lhp,3);
Eterm watched;
+ UseTmpHeapNoproc(3);
ASSERT(mon->type == MON_TARGET);
rmon = erts_remove_monitor(&(rp->monitors),mon->ref);
/* ASSERT(rmon != NULL); can happen during process exit */
@@ -271,6 +273,7 @@ static void doit_monitor_net_exits(ErtsMonitor *mon, void *vnecp)
watched, am_noconnection);
erts_destroy_monitor(rmon);
}
+ UnUseTmpHeapNoproc(3);
}
erts_smp_proc_unlock(rp, rp_locks);
done:
@@ -632,19 +635,27 @@ static void clear_dist_entry(DistEntry *dep)
int
erts_dsig_send_link(ErtsDSigData *dsdp, Eterm local, Eterm remote)
{
- Eterm ctl_heap[4];
+ DeclareTmpHeapNoproc(ctl_heap,4);
Eterm ctl = TUPLE3(&ctl_heap[0], make_small(DOP_LINK), local, remote);
+ int res;
+ UseTmpHeapNoproc(4);
- return dsig_send(dsdp, ctl, THE_NON_VALUE, 0);
+ res = dsig_send(dsdp, ctl, THE_NON_VALUE, 0);
+ UnUseTmpHeapNoproc(4);
+ return res;
}
int
erts_dsig_send_unlink(ErtsDSigData *dsdp, Eterm local, Eterm remote)
{
- Eterm ctl_heap[4];
+ DeclareTmpHeapNoproc(ctl_heap,4);
Eterm ctl = TUPLE3(&ctl_heap[0], make_small(DOP_UNLINK), local, remote);
+ int res;
- return dsig_send(dsdp, ctl, THE_NON_VALUE, 0);
+ UseTmpHeapNoproc(4);
+ res = dsig_send(dsdp, ctl, THE_NON_VALUE, 0);
+ UnUseTmpHeapNoproc(4);
+ return res;
}
@@ -656,7 +667,10 @@ erts_dsig_send_m_exit(ErtsDSigData *dsdp, Eterm watcher, Eterm watched,
Eterm ref, Eterm reason)
{
Eterm ctl;
- Eterm ctl_heap[6];
+ DeclareTmpHeapNoproc(ctl_heap,6);
+ int res;
+
+ UseTmpHeapNoproc(6);
ctl = TUPLE5(&ctl_heap[0], make_small(DOP_MONITOR_P_EXIT),
watched, watcher, ref, reason);
@@ -667,7 +681,9 @@ erts_dsig_send_m_exit(ErtsDSigData *dsdp, Eterm watcher, Eterm watched,
erts_smp_de_links_unlock(dsdp->dep);
#endif
- return dsig_send(dsdp, ctl, THE_NON_VALUE, 1);
+ res = dsig_send(dsdp, ctl, THE_NON_VALUE, 1);
+ UnUseTmpHeapNoproc(6);
+ return res;
}
/* We want to monitor a process (named or unnamed) on another node, we send:
@@ -678,13 +694,17 @@ erts_dsig_send_monitor(ErtsDSigData *dsdp, Eterm watcher, Eterm watched,
Eterm ref)
{
Eterm ctl;
- Eterm ctl_heap[5];
+ DeclareTmpHeapNoproc(ctl_heap,5);
+ int res;
+ UseTmpHeapNoproc(5);
ctl = TUPLE4(&ctl_heap[0],
make_small(DOP_MONITOR_P),
watcher, watched, ref);
- return dsig_send(dsdp, ctl, THE_NON_VALUE, 0);
+ res = dsig_send(dsdp, ctl, THE_NON_VALUE, 0);
+ UnUseTmpHeapNoproc(5);
+ return res;
}
/* A local process monitoring a remote one wants to stop monitoring, either
@@ -696,23 +716,29 @@ erts_dsig_send_demonitor(ErtsDSigData *dsdp, Eterm watcher,
Eterm watched, Eterm ref, int force)
{
Eterm ctl;
- Eterm ctl_heap[5];
+ DeclareTmpHeapNoproc(ctl_heap,5);
+ int res;
+ UseTmpHeapNoproc(5);
ctl = TUPLE4(&ctl_heap[0],
make_small(DOP_DEMONITOR_P),
watcher, watched, ref);
- return dsig_send(dsdp, ctl, THE_NON_VALUE, force);
+ res = dsig_send(dsdp, ctl, THE_NON_VALUE, force);
+ UnUseTmpHeapNoproc(5);
+ return res;
}
int
erts_dsig_send_msg(ErtsDSigData *dsdp, Eterm remote, Eterm message)
{
Eterm ctl;
- Eterm ctl_heap[5];
+ DeclareTmpHeapNoproc(ctl_heap,5);
Eterm token = NIL;
Process *sender = dsdp->proc;
+ int res;
+ UseTmpHeapNoproc(5);
if (SEQ_TRACE_TOKEN(sender) != NIL) {
seq_trace_update_send(sender);
token = SEQ_TRACE_TOKEN(sender);
@@ -724,17 +750,21 @@ erts_dsig_send_msg(ErtsDSigData *dsdp, Eterm remote, Eterm message)
make_small(DOP_SEND_TT), am_Cookie, remote, token);
else
ctl = TUPLE3(&ctl_heap[0], make_small(DOP_SEND), am_Cookie, remote);
- return dsig_send(dsdp, ctl, message, 0);
+ res = dsig_send(dsdp, ctl, message, 0);
+ UnUseTmpHeapNoproc(5);
+ return res;
}
int
erts_dsig_send_reg_msg(ErtsDSigData *dsdp, Eterm remote_name, Eterm message)
{
Eterm ctl;
- Eterm ctl_heap[6];
+ DeclareTmpHeapNoproc(ctl_heap,6);
Eterm token = NIL;
Process *sender = dsdp->proc;
+ int res;
+ UseTmpHeapNoproc(6);
if (SEQ_TRACE_TOKEN(sender) != NIL) {
seq_trace_update_send(sender);
token = SEQ_TRACE_TOKEN(sender);
@@ -747,7 +777,9 @@ erts_dsig_send_reg_msg(ErtsDSigData *dsdp, Eterm remote_name, Eterm message)
else
ctl = TUPLE4(&ctl_heap[0], make_small(DOP_REG_SEND),
sender->id, am_Cookie, remote_name);
- return dsig_send(dsdp, ctl, message, 0);
+ res = dsig_send(dsdp, ctl, message, 0);
+ UnUseTmpHeapNoproc(6);
+ return res;
}
/* local has died, deliver the exit signal to remote */
@@ -756,8 +788,10 @@ erts_dsig_send_exit_tt(ErtsDSigData *dsdp, Eterm local, Eterm remote,
Eterm reason, Eterm token)
{
Eterm ctl;
- Eterm ctl_heap[6];
+ DeclareTmpHeapNoproc(ctl_heap,6);
+ int res;
+ UseTmpHeapNoproc(6);
if (token != NIL) {
seq_trace_update_send(dsdp->proc);
seq_trace_output_exit(token, reason, SEQ_TRACE_SEND, remote, local);
@@ -767,38 +801,58 @@ erts_dsig_send_exit_tt(ErtsDSigData *dsdp, Eterm local, Eterm remote,
ctl = TUPLE4(&ctl_heap[0], make_small(DOP_EXIT), local, remote, reason);
}
/* forced, i.e ignore busy */
- return dsig_send(dsdp, ctl, THE_NON_VALUE, 1);
+ res = dsig_send(dsdp, ctl, THE_NON_VALUE, 1);
+ UnUseTmpHeapNoproc(6);
+ return res;
}
int
erts_dsig_send_exit(ErtsDSigData *dsdp, Eterm local, Eterm remote, Eterm reason)
{
- Eterm ctl_heap[5];
- Eterm ctl = TUPLE4(&ctl_heap[0],
- make_small(DOP_EXIT), local, remote, reason);
+ DeclareTmpHeapNoproc(ctl_heap,5);
+ int res;
+ Eterm ctl;
+
+ UseTmpHeapNoproc(5);
+ ctl = TUPLE4(&ctl_heap[0],
+ make_small(DOP_EXIT), local, remote, reason);
/* forced, i.e ignore busy */
- return dsig_send(dsdp, ctl, THE_NON_VALUE, 1);
+ res = dsig_send(dsdp, ctl, THE_NON_VALUE, 1);
+ UnUseTmpHeapNoproc(5);
+ return res;
}
int
erts_dsig_send_exit2(ErtsDSigData *dsdp, Eterm local, Eterm remote, Eterm reason)
{
- Eterm ctl_heap[5];
- Eterm ctl = TUPLE4(&ctl_heap[0],
- make_small(DOP_EXIT2), local, remote, reason);
+ DeclareTmpHeapNoproc(ctl_heap,5);
+ int res;
+ Eterm ctl;
+
+ UseTmpHeapNoproc(5);
+ ctl = TUPLE4(&ctl_heap[0],
+ make_small(DOP_EXIT2), local, remote, reason);
- return dsig_send(dsdp, ctl, THE_NON_VALUE, 0);
+ res = dsig_send(dsdp, ctl, THE_NON_VALUE, 0);
+ UnUseTmpHeapNoproc(5);
+ return res;
}
int
erts_dsig_send_group_leader(ErtsDSigData *dsdp, Eterm leader, Eterm remote)
{
- Eterm ctl_heap[4];
- Eterm ctl = TUPLE3(&ctl_heap[0],
- make_small(DOP_GROUP_LEADER), leader, remote);
+ DeclareTmpHeapNoproc(ctl_heap,4);
+ int res;
+ Eterm ctl;
- return dsig_send(dsdp, ctl, THE_NON_VALUE, 0);
+ UseTmpHeapNoproc(4);
+ ctl = TUPLE3(&ctl_heap[0],
+ make_small(DOP_GROUP_LEADER), leader, remote);
+
+ res = dsig_send(dsdp, ctl, THE_NON_VALUE, 0);
+ UnUseTmpHeapNoproc(4);
+ return res;
}
#if defined(PURIFY)
@@ -832,6 +886,7 @@ erts_dsig_send_group_leader(ErtsDSigData *dsdp, Eterm leader, Eterm remote)
**
** assert hlen == 0 !!!
*/
+
int erts_net_message(Port *prt,
DistEntry *dep,
byte *hbuf,
@@ -839,6 +894,7 @@ int erts_net_message(Port *prt,
byte *buf,
int len)
{
+#define DIST_CTL_DEFAULT_SIZE 64
ErtsDistExternal ede;
byte *t;
Sint ctl_len;
@@ -850,7 +906,7 @@ int erts_net_message(Port *prt,
Eterm *tuple;
Eterm reason;
Process* rp;
- Eterm ctl_default[64];
+ DeclareTmpHeapNoproc(ctl_default,DIST_CTL_DEFAULT_SIZE);
Eterm* ctl = ctl_default;
ErlOffHeap off_heap;
Eterm* hp;
@@ -864,6 +920,7 @@ int erts_net_message(Port *prt,
int orig_len = len;
#endif
+ UseTmpHeapNoproc(DIST_CTL_DEFAULT_SIZE);
/* Thanks to Luke Gorrie */
off_heap.mso = NULL;
#ifndef HYBRID /* FIND ME! */
@@ -876,12 +933,16 @@ int erts_net_message(Port *prt,
ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(prt));
- if (!erts_is_alive)
+ if (!erts_is_alive) {
+ UnUseTmpHeapNoproc(DIST_CTL_DEFAULT_SIZE);
return 0;
+ }
if (hlen > 0)
goto data_error;
- if (len == 0) /* HANDLE TICK !!! */
+ if (len == 0) { /* HANDLE TICK !!! */
+ UnUseTmpHeapNoproc(DIST_CTL_DEFAULT_SIZE);
return 0;
+ }
#ifdef ERTS_RAW_DIST_MSG_DBG
erts_fprintf(stderr, "<< ");
@@ -922,7 +983,8 @@ int erts_net_message(Port *prt,
goto data_error;
}
orig_ctl_len = ctl_len;
- if (ctl_len > sizeof(ctl_default)/sizeof(ctl_default[0])) {
+
+ if (ctl_len > DIST_CTL_DEFAULT_SIZE) {
ctl = erts_alloc(ERTS_ALC_T_DCTRL_BUF, ctl_len * sizeof(Eterm));
}
hp = ctl;
@@ -1202,7 +1264,7 @@ int erts_net_message(Port *prt,
{DOP_MONITOR_P_EXIT, Remote pid or name, Local pid, ref, reason} */
- Eterm lhp[3];
+ DeclareTmpHeapNoproc(lhp,3);
Eterm sysname;
ErtsProcLocks rp_locks = ERTS_PROC_LOCKS_MSG_SEND|ERTS_PROC_LOCK_LINK;
@@ -1237,6 +1299,7 @@ int erts_net_message(Port *prt,
erts_smp_proc_unlock(rp, rp_locks);
break;
}
+ UseTmpHeapNoproc(3);
watched = (is_not_nil(mon->name)
? TUPLE2(&lhp[0], mon->name, sysname)
@@ -1246,6 +1309,7 @@ int erts_net_message(Port *prt,
ref, am_process, watched, reason);
erts_smp_proc_unlock(rp, rp_locks);
erts_destroy_monitor(mon);
+ UnUseTmpHeapNoproc(3);
break;
}
@@ -1384,6 +1448,7 @@ int erts_net_message(Port *prt,
erts_free(ERTS_ALC_T_DCTRL_BUF, (void *) ctl);
}
#endif
+ UnUseTmpHeapNoproc(DIST_CTL_DEFAULT_SIZE);
ERTS_SMP_CHK_NO_PROC_LOCKS;
return 0;
@@ -1402,6 +1467,7 @@ int erts_net_message(Port *prt,
erts_free(ERTS_ALC_T_DCTRL_BUF, (void *) ctl);
}
#endif
+ UnUseTmpHeapNoproc(DIST_CTL_DEFAULT_SIZE);
erts_do_exit_port(prt, dep->cid, am_killed);
ERTS_SMP_CHK_NO_PROC_LOCKS;
return -1;
@@ -1554,9 +1620,9 @@ dsig_send(ErtsDSigData *dsdp, Eterm ctl, Eterm msg, int force_busy)
*/
data_size >>= (10-4);
-#if defined(ARCH_64)
+#if defined(ARCH_64) && !HALFWORD_HEAP
data_size &= 0x003fffffffffffff;
-#elif defined(ARCH_32)
+#elif defined(ARCH_32) || HALFWORD_HEAP
data_size &= 0x003fffff;
#else
# error "Ohh come on ... !?!"
@@ -1640,9 +1706,9 @@ dist_port_commandv(Port *prt, ErtsDistOutputBuf *obuf)
}
-#if defined(ARCH_64)
+#if defined(ARCH_64) && !HALFWORD_HEAP
#define ERTS_PORT_REDS_MASK__ 0x003fffffffffffffL
-#elif defined(ARCH_32)
+#elif defined(ARCH_32) || HALFWORD_HEAP
#define ERTS_PORT_REDS_MASK__ 0x003fffff
#else
# error "Ohh come on ... !?!"
@@ -2547,12 +2613,15 @@ BIF_RETTYPE nodes_1(BIF_ALIST_1)
int visible = 0;
int hidden = 0;
int this = 0;
- Uint buf[2]; /* For one cons-cell */
+ DeclareTmpHeap(buf,2,BIF_P); /* For one cons-cell */
DistEntry *dep;
Eterm arg_list = BIF_ARG_1;
#ifdef DEBUG
Eterm* endp;
#endif
+
+ UseTmpHeap(2,BIF_P);
+
if (is_atom(BIF_ARG_1))
arg_list = CONS(buf, BIF_ARG_1, NIL);
@@ -2563,13 +2632,14 @@ BIF_RETTYPE nodes_1(BIF_ALIST_1)
case am_known: visible = hidden = not_connected = this = 1; break;
case am_this: this = 1; break;
case am_connected: visible = hidden = 1; break;
- default: BIF_ERROR(BIF_P, BADARG); break;
+ default: goto error; break;
}
arg_list = CDR(list_val(arg_list));
}
- if (is_not_nil(arg_list))
- BIF_ERROR(BIF_P, BADARG);
+ if (is_not_nil(arg_list)) {
+ goto error;
+ }
length = 0;
@@ -2591,7 +2661,7 @@ BIF_RETTYPE nodes_1(BIF_ALIST_1)
if (length == 0) {
erts_smp_rwmtx_rwunlock(&erts_dist_table_rwmtx);
- BIF_RET(result);
+ goto done;
}
hp = HAlloc(BIF_P, 2*length);
@@ -2620,7 +2690,14 @@ BIF_RETTYPE nodes_1(BIF_ALIST_1)
}
ASSERT(endp == hp);
erts_smp_rwmtx_rwunlock(&erts_dist_table_rwmtx);
+
+done:
+ UnUseTmpHeap(2,BIF_P);
BIF_RET(result);
+
+error:
+ UnUseTmpHeap(2,BIF_P);
+ BIF_ERROR(BIF_P,BADARG);
}
/**********************************************************************/
diff --git a/erts/emulator/beam/dist.h b/erts/emulator/beam/dist.h
index ea1abcaeed..fa19c7fb45 100644
--- a/erts/emulator/beam/dist.h
+++ b/erts/emulator/beam/dist.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -287,4 +287,5 @@ extern void erts_kill_dist_connection(DistEntry *dep, Uint32);
extern Uint erts_dist_cache_size(void);
+
#endif
diff --git a/erts/emulator/beam/erl_alloc.c b/erts/emulator/beam/erl_alloc.c
index b853ec0f01..f8823b85fe 100644
--- a/erts/emulator/beam/erl_alloc.c
+++ b/erts/emulator/beam/erl_alloc.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2002-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2002-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -220,7 +220,7 @@ set_default_ll_alloc_opts(struct au_init *ip)
ip->init.util.ramv = 0;
ip->init.util.mmsbc = 0;
ip->init.util.mmmbc = 0;
- ip->init.util.sbct = ~((Uint) 0);
+ ip->init.util.sbct = ~((UWord) 0);
ip->init.util.name_prefix = "ll_";
ip->init.util.alloc_no = ERTS_ALC_A_LONG_LIVED;
#ifndef SMALL_MEMORY
@@ -394,7 +394,7 @@ static void init_thr_ix(int static_ixs);
void
erts_alloc_init(int *argc, char **argv, ErtsAllocInitOpts *eaiop)
{
- Uint extra_block_size = 0;
+ UWord extra_block_size = 0;
int i;
erts_alc_hndl_args_init_t init = {
0,
@@ -542,7 +542,6 @@ erts_alloc_init(int *argc, char **argv, ErtsAllocInitOpts *eaiop)
sys_alloc_opt(SYS_ALLOC_OPT_TRIM_THRESHOLD, init.trim_threshold);
sys_alloc_opt(SYS_ALLOC_OPT_TOP_PAD, init.top_pad);
-
if (erts_allctrs_info[ERTS_FIX_CORE_ALLOCATOR].enabled)
erts_fix_core_allocator_ix = ERTS_FIX_CORE_ALLOCATOR;
else
@@ -719,8 +718,8 @@ start_au_allocator(ErtsAlcType_t alctr_n,
init->init.util.name_prefix);
tspec->allctr = (Allctr_t **) states;
states = ((char *) states) + sizeof(Allctr_t *) * (tspec->size + 1);
- states = ((((Uint) states) & ERTS_CACHE_LINE_MASK)
- ? (void *) ((((Uint) states) & ~ERTS_CACHE_LINE_MASK)
+ states = ((((UWord) states) & ERTS_CACHE_LINE_MASK)
+ ? (void *) ((((UWord) states) & ~ERTS_CACHE_LINE_MASK)
+ ERTS_CACHE_LINE_SIZE)
: (void *) states);
tspec->allctr[0] = init->thr_spec > 0 ? (Allctr_t *) state : (Allctr_t *) NULL;
@@ -1605,12 +1604,13 @@ erts_memory(int *print_to_p, void *print_to_arg, void *proc, Eterm earg)
}
else {
- Eterm tmp_heap[2];
+ DeclareTmpHeapNoproc(tmp_heap,2);
Eterm wanted_list;
if (is_nil(earg))
return NIL;
+ UseTmpHeapNoproc(2);
if (is_not_atom(earg))
wanted_list = earg;
else {
@@ -1690,15 +1690,18 @@ erts_memory(int *print_to_p, void *print_to_arg, void *proc, Eterm earg)
atoms[length] = am_maximum;
uintps[length++] = &size.maximum;
}
- }
- else
+ } else {
+ UnUseTmpHeapNoproc(2);
return am_badarg;
+ }
break;
default:
+ UnUseTmpHeapNoproc(2);
return am_badarg;
}
wanted_list = CDR(list_val(wanted_list));
}
+ UnUseTmpHeapNoproc(2);
if (is_not_nil(wanted_list))
return am_badarg;
}
@@ -2285,8 +2288,8 @@ erts_allocator_info_term(void *proc, Eterm which_alloc, int only_sz)
SysAllocStat sas;
Eterm opts_am;
Eterm opts;
- Eterm as[4];
- Eterm ts[4];
+ Eterm as[4]; /* Ok even if !HEAP_ON_C_STACK, not really heap data on stack */
+ Eterm ts[4]; /* Ok even if !HEAP_ON_C_STACK, not really heap data on stack */
int l;
if (only_sz)
@@ -2944,9 +2947,9 @@ unsigned long erts_alc_test(unsigned long op,
#endif
-#define FENCE_SZ (3*sizeof(Uint))
+#define FENCE_SZ (3*sizeof(UWord))
-#ifdef ARCH_64
+#if defined(ARCH_64)
#define FENCE_PATTERN 0xABCDEF97ABCDEF97
#else
#define FENCE_PATTERN 0xABCDEF97
@@ -2956,7 +2959,7 @@ unsigned long erts_alc_test(unsigned long op,
#define TYPE_PATTERN_SHIFT 16
#define FIXED_FENCE_PATTERN_MASK \
- (~((Uint) (TYPE_PATTERN_MASK << TYPE_PATTERN_SHIFT)))
+ (~((UWord) (TYPE_PATTERN_MASK << TYPE_PATTERN_SHIFT)))
#define FIXED_FENCE_PATTERN \
(FENCE_PATTERN & FIXED_FENCE_PATTERN_MASK)
@@ -2967,21 +2970,60 @@ unsigned long erts_alc_test(unsigned long op,
(((P) >> TYPE_PATTERN_SHIFT) & TYPE_PATTERN_MASK)
+#ifdef ERTS_ALLOC_UTIL_HARD_DEBUG
+static void *check_memory_fence(void *ptr, Uint *size, ErtsAlcType_t n, int func);
+
+void check_allocated_block( Uint type, void *blk)
+{
+ Uint dummy;
+ check_memory_fence(blk, &dummy, ERTS_ALC_T2N(type), ERTS_ALC_O_FREE);
+}
+
+void check_allocators(void)
+{
+ int i;
+ if (!erts_initialized)
+ return;
+ for (i = ERTS_ALC_A_MIN; i <= ERTS_ALC_A_MAX; ++i) {
+ if (erts_allctrs_info[i].alloc_util) {
+ ErtsAllocatorFunctions_t *real_af = (ErtsAllocatorFunctions_t *) erts_allctrs[i].extra;
+ Allctr_t *allctr = real_af->extra;
+ Carrier_t *ct;
+#ifdef USE_THREADS
+ if (allctr->thread_safe)
+ erts_mtx_lock(&allctr->mutex);
+#endif
+
+ if (allctr->check_mbc) {
+ for (ct = allctr->mbc_list.first; ct; ct = ct->next) {
+ fprintf(stderr,"Checking allocator %d\r\n",i);
+ allctr->check_mbc(allctr,ct);
+ }
+ }
+#ifdef USE_THREADS
+ if (allctr->thread_safe)
+ erts_mtx_unlock(&allctr->mutex);
+#endif
+ }
+ }
+}
+#endif
+
static void *
set_memory_fence(void *ptr, Uint sz, ErtsAlcType_t n)
{
- Uint *ui_ptr;
- Uint pattern;
+ UWord *ui_ptr;
+ UWord pattern;
if (!ptr)
return NULL;
- ui_ptr = (Uint *) ptr;
+ ui_ptr = (UWord *) ptr;
pattern = MK_PATTERN(n);
*(ui_ptr++) = sz;
*(ui_ptr++) = pattern;
- memcpy((void *) (((char *) ui_ptr)+sz), (void *) &pattern, sizeof(Uint));
+ memcpy((void *) (((char *) ui_ptr)+sz), (void *) &pattern, sizeof(UWord));
return (void *) ui_ptr;
}
@@ -2991,14 +3033,14 @@ check_memory_fence(void *ptr, Uint *size, ErtsAlcType_t n, int func)
{
Uint sz;
Uint found_type;
- Uint pre_pattern;
- Uint post_pattern;
- Uint *ui_ptr;
+ UWord pre_pattern;
+ UWord post_pattern;
+ UWord *ui_ptr;
if (!ptr)
return NULL;
- ui_ptr = (Uint *) ptr;
+ ui_ptr = (UWord *) ptr;
pre_pattern = *(--ui_ptr);
*size = sz = *(--ui_ptr);
@@ -3011,7 +3053,7 @@ check_memory_fence(void *ptr, Uint *size, ErtsAlcType_t n, int func)
(unsigned long) ptr);
}
- memcpy((void *) &post_pattern, (void *) (((char *)ptr)+sz), sizeof(Uint));
+ memcpy((void *) &post_pattern, (void *) (((char *)ptr)+sz), sizeof(UWord));
if (post_pattern != MK_PATTERN(n)
|| pre_pattern != post_pattern) {
diff --git a/erts/emulator/beam/erl_alloc.h b/erts/emulator/beam/erl_alloc.h
index e7a203002f..3e96c76dbf 100644
--- a/erts/emulator/beam/erl_alloc.h
+++ b/erts/emulator/beam/erl_alloc.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2002-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2002-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -238,7 +238,7 @@ void *erts_realloc_fnf(ErtsAlcType_t type, void *ptr, Uint size)
#ifndef ERTS_CACHE_LINE_SIZE
/* Assume a cache line size of 64 bytes */
-# define ERTS_CACHE_LINE_SIZE ((Uint) 64)
+# define ERTS_CACHE_LINE_SIZE ((UWord) 64)
# define ERTS_CACHE_LINE_MASK (ERTS_CACHE_LINE_SIZE - 1)
#endif
@@ -486,9 +486,9 @@ init_##NAME##_alloc(void) \
qa_data_##NAME##__ = erts_alloc(ERTS_ALC_T_PRE_ALLOC_DATA,tot_size);\
chunk_start = (((char *) qa_data_##NAME##__) \
+ sizeof(erts_sched_pref_quick_alloc_data_t)); \
- if ((((Uint) chunk_start) & ERTS_CACHE_LINE_MASK) != ((Uint) 0)) \
+ if ((((UWord) chunk_start) & ERTS_CACHE_LINE_MASK) != ((UWord) 0)) \
chunk_start = ((char *) \
- ((((Uint) chunk_start) & ~ERTS_CACHE_LINE_MASK) \
+ ((((UWord) chunk_start) & ~ERTS_CACHE_LINE_MASK) \
+ ERTS_CACHE_LINE_SIZE)); \
qa_data_##NAME##__->chunks_mem_size = chunk_mem_size; \
qa_data_##NAME##__->start = (void *) chunk_start; \
@@ -553,7 +553,7 @@ NAME##_free(TYPE *p) \
}
#ifdef DEBUG
-#define ERTS_ALC_DBG_BLK_SZ(PTR) (*(((Uint *) (PTR)) - 2))
+#define ERTS_ALC_DBG_BLK_SZ(PTR) (*(((UWord *) (PTR)) - 2))
#endif /* #ifdef DEBUG */
#undef ERTS_ALC_INLINE
diff --git a/erts/emulator/beam/erl_alloc.types b/erts/emulator/beam/erl_alloc.types
index f701f71c7d..6f88bbe5b8 100644
--- a/erts/emulator/beam/erl_alloc.types
+++ b/erts/emulator/beam/erl_alloc.types
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2003-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2003-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
@@ -138,6 +138,7 @@ type PEND_SUSPEND SHORT_LIVED PROCESSES pending_suspend
type PROC_LIST SHORT_LIVED PROCESSES proc_list
type FUN_ENTRY FIXED_SIZE CODE fun_entry
type ATOM_TXT LONG_LIVED ATOM atom_text
+type BEAM_REGISTER EHEAP PROCESSES beam_register
type HEAP EHEAP PROCESSES heap
type OLD_HEAP EHEAP PROCESSES old_heap
type HEAP_FRAG EHEAP PROCESSES heap_frag
@@ -231,6 +232,7 @@ type RE_SUBJECT SHORT_LIVED SYSTEM re_subject
type RE_HEAP STANDARD SYSTEM re_heap
type RE_STACK SHORT_LIVED SYSTEM re_stack
type UNICODE_BUFFER SHORT_LIVED SYSTEM unicode_buffer
+type BINARY_BUFFER SHORT_LIVED SYSTEM binary_buffer
type PRE_ALLOC_DATA LONG_LIVED SYSTEM pre_alloc_data
type DRV_THR_OPTS DRIVER SYSTEM driver_thread_opts
type DRV_TID DRIVER SYSTEM driver_tid
@@ -322,6 +324,9 @@ type SSB SHORT_LIVED PROCESSES ssb
# Types used by system specific code
#
+type TEMP_TERM TEMPORARY SYSTEM temp_term
+type LL_TEMP_TERM LONG_LIVED SYSTEM ll_temp_term
+
type DRV_TAB LONG_LIVED SYSTEM drv_tab
type DRV_EV_STATE LONG_LIVED SYSTEM driver_event_state
type DRV_EV_D_STATE FIXED_SIZE SYSTEM driver_event_data_state
diff --git a/erts/emulator/beam/erl_alloc_util.c b/erts/emulator/beam/erl_alloc_util.c
index 9b7bc24c1c..8b184899c9 100644
--- a/erts/emulator/beam/erl_alloc_util.c
+++ b/erts/emulator/beam/erl_alloc_util.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2002-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2002-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -69,14 +69,14 @@ static int initialized = 0;
#if HAVE_ERTS_MSEG
-#define INV_MSEG_UNIT_MASK ((Uint) (mseg_unit_size - 1))
+#define INV_MSEG_UNIT_MASK ((UWord) (mseg_unit_size - 1))
#define MSEG_UNIT_MASK (~INV_MSEG_UNIT_MASK)
#define MSEG_UNIT_FLOOR(X) ((X) & MSEG_UNIT_MASK)
#define MSEG_UNIT_CEILING(X) MSEG_UNIT_FLOOR((X) + INV_MSEG_UNIT_MASK)
#endif
-#define INV_SYS_ALLOC_CARRIER_MASK ((Uint) (sys_alloc_carrier_size - 1))
+#define INV_SYS_ALLOC_CARRIER_MASK ((UWord) (sys_alloc_carrier_size - 1))
#define SYS_ALLOC_CARRIER_MASK (~INV_SYS_ALLOC_CARRIER_MASK)
#define SYS_ALLOC_CARRIER_FLOOR(X) ((X) & SYS_ALLOC_CARRIER_MASK)
#define SYS_ALLOC_CARRIER_CEILING(X) \
@@ -85,7 +85,7 @@ static int initialized = 0;
#undef ASSERT
#define ASSERT ASSERT_EXPR
-#define ERTS_ALCU_FLG_FAIL_REALLOC_MOVE ((Uint) 1)
+#define ERTS_ALCU_FLG_FAIL_REALLOC_MOVE ((UWord) 1)
#if 0
/* Can be useful for debugging */
@@ -114,12 +114,12 @@ static Uint mseg_unit_size;
/* Blocks ... */
-#define SBC_BLK_FTR_FLG (((Uint) 1) << 0)
-#define UNUSED1_BLK_FTR_FLG (((Uint) 1) << 1)
-#define UNUSED2_BLK_FTR_FLG (((Uint) 1) << 2)
+#define SBC_BLK_FTR_FLG (((UWord) 1) << 0)
+#define UNUSED1_BLK_FTR_FLG (((UWord) 1) << 1)
+#define UNUSED2_BLK_FTR_FLG (((UWord) 1) << 2)
#define ABLK_HDR_SZ (sizeof(Block_t))
-#define FBLK_FTR_SZ (sizeof(Uint))
+#define FBLK_FTR_SZ (sizeof(UWord))
#define UMEMSZ2BLKSZ(AP, SZ) \
(ABLK_HDR_SZ + (SZ) <= (AP)->min_block_size \
@@ -130,14 +130,14 @@ static Uint mseg_unit_size;
#define BLK2UMEM(P) ((void *) (((char *) (P)) + ABLK_HDR_SZ))
#define PREV_BLK_SZ(B) \
- ((Uint) (*(((Uint *) (B)) - 1) & SZ_MASK))
+ ((UWord) (*(((UWord *) (B)) - 1) & SZ_MASK))
#define SET_BLK_SZ_FTR(B, SZ) \
- (*((Uint *) (((char *) (B)) + (SZ) - sizeof(Uint))) = (SZ))
+ (*((UWord *) (((char *) (B)) + (SZ) - sizeof(UWord))) = (SZ))
-#define THIS_FREE_BLK_HDR_FLG (((Uint) 1) << 0)
-#define PREV_FREE_BLK_HDR_FLG (((Uint) 1) << 1)
-#define LAST_BLK_HDR_FLG (((Uint) 1) << 2)
+#define THIS_FREE_BLK_HDR_FLG (((UWord) 1) << 0)
+#define PREV_FREE_BLK_HDR_FLG (((UWord) 1) << 1)
+#define LAST_BLK_HDR_FLG (((UWord) 1) << 2)
#define SET_BLK_SZ(B, SZ) \
(ASSERT(((SZ) & FLG_MASK) == 0), \
@@ -156,11 +156,11 @@ static Uint mseg_unit_size;
(*((Block_t *) (B)) &= ~LAST_BLK_HDR_FLG)
#define SBH_THIS_FREE THIS_FREE_BLK_HDR_FLG
-#define SBH_THIS_ALLOCED ((Uint) 0)
+#define SBH_THIS_ALLOCED ((UWord) 0)
#define SBH_PREV_FREE PREV_FREE_BLK_HDR_FLG
-#define SBH_PREV_ALLOCED ((Uint) 0)
+#define SBH_PREV_ALLOCED ((UWord) 0)
#define SBH_LAST_BLK LAST_BLK_HDR_FLG
-#define SBH_NOT_LAST_BLK ((Uint) 0)
+#define SBH_NOT_LAST_BLK ((UWord) 0)
#define SET_BLK_HDR(B, Sz, F) \
(ASSERT(((Sz) & FLG_MASK) == 0), *((Block_t *) (B)) = ((Sz) | (F)))
@@ -200,7 +200,7 @@ static Uint mseg_unit_size;
((FTR) = 0)
#define IS_SBC_BLK(B) \
- (IS_PREV_BLK_FREE((B)) && (((Uint *) (B))[-1] & SBC_BLK_FTR_FLG))
+ (IS_PREV_BLK_FREE((B)) && (((UWord *) (B))[-1] & SBC_BLK_FTR_FLG))
#define IS_MBC_BLK(B) \
(!IS_SBC_BLK((B)))
@@ -211,8 +211,8 @@ static Uint mseg_unit_size;
/* Carriers ... */
-#define MSEG_CARRIER_HDR_FLAG (((Uint) 1) << 0)
-#define SBC_CARRIER_HDR_FLAG (((Uint) 1) << 1)
+#define MSEG_CARRIER_HDR_FLAG (((UWord) 1) << 0)
+#define SBC_CARRIER_HDR_FLAG (((UWord) 1) << 1)
#define SCH_SYS_ALLOC 0
#define SCH_MSEG MSEG_CARRIER_HDR_FLAG
@@ -407,18 +407,18 @@ do { \
/* Debug stuff... */
#ifdef DEBUG
-static Uint carrier_alignment;
+static UWord carrier_alignment;
#define DEBUG_SAVE_ALIGNMENT(C) \
do { \
- Uint algnmnt__ = sizeof(Unit_t) - (((Uint) (C)) % sizeof(Unit_t)); \
+ UWord algnmnt__ = sizeof(Unit_t) - (((UWord) (C)) % sizeof(Unit_t)); \
carrier_alignment = MIN(carrier_alignment, algnmnt__); \
- ASSERT(((Uint) (C)) % sizeof(Uint) == 0); \
+ ASSERT(((UWord) (C)) % sizeof(UWord) == 0); \
} while (0)
#define DEBUG_CHECK_ALIGNMENT(P) \
do { \
- ASSERT(sizeof(Unit_t) - (((Uint) (P)) % sizeof(Unit_t)) \
+ ASSERT(sizeof(Unit_t) - (((UWord) (P)) % sizeof(Unit_t)) \
>= carrier_alignment); \
- ASSERT(((Uint) (P)) % sizeof(Uint) == 0); \
+ ASSERT(((UWord) (P)) % sizeof(UWord) == 0); \
} while (0)
#else
@@ -610,7 +610,7 @@ unlink_carrier(CarrierList_t *cl, Carrier_t *crr)
}
-static Block_t *create_carrier(Allctr_t *, Uint, Uint);
+static Block_t *create_carrier(Allctr_t *, Uint, UWord);
static void destroy_carrier(Allctr_t *, Block_t *);
/* Multi block carrier alloc/realloc/free ... */
@@ -630,6 +630,11 @@ mbc_alloc_block(Allctr_t *allctr, Uint size, Uint *blk_szp)
blk = (*allctr->get_free_block)(allctr, *blk_szp, NULL, 0);
+#if HALFWORD_HEAP
+ if (!blk) {
+ blk = create_carrier(allctr, *blk_szp, CFLG_MBC|CFLG_FORCE_MSEG);
+ }
+#else
if (!blk) {
blk = create_carrier(allctr, *blk_szp, CFLG_MBC);
if (!blk) {
@@ -640,6 +645,7 @@ mbc_alloc_block(Allctr_t *allctr, Uint size, Uint *blk_szp)
CFLG_SBC|CFLG_FORCE_SIZE|CFLG_FORCE_SYS_ALLOC);
}
}
+#endif
#ifdef ERTS_ALLOC_UTIL_HARD_DEBUG
if (IS_MBC_BLK(blk)) {
@@ -656,14 +662,14 @@ static ERTS_INLINE void
mbc_alloc_finalize(Allctr_t *allctr,
Block_t *blk,
Uint org_blk_sz,
- Uint flags,
+ UWord flags,
Uint want_blk_sz,
int valid_blk_info)
{
Uint blk_sz;
Uint nxt_blk_sz;
Block_t *nxt_blk;
- Uint prev_free_flg = flags & PREV_FREE_BLK_HDR_FLG;
+ UWord prev_free_flg = flags & PREV_FREE_BLK_HDR_FLG;
ASSERT(org_blk_sz >= want_blk_sz);
ASSERT(blk);
@@ -853,7 +859,7 @@ mbc_free(Allctr_t *allctr, void *p)
}
static void *
-mbc_realloc(Allctr_t *allctr, void *p, Uint size, Uint flgs)
+mbc_realloc(Allctr_t *allctr, void *p, Uint size, UWord flgs)
{
void *new_p;
Uint old_blk_sz;
@@ -1144,7 +1150,7 @@ mbc_realloc(Allctr_t *allctr, void *p, Uint size, Uint flgs)
}
else {
Uint new_blk_sz;
- Uint new_blk_flgs;
+ UWord new_blk_flgs;
Uint prev_blk_sz;
Uint blk_cpy_sz;
@@ -1239,7 +1245,7 @@ do { \
static Block_t *
-create_carrier(Allctr_t *allctr, Uint umem_sz, Uint flags)
+create_carrier(Allctr_t *allctr, Uint umem_sz, UWord flags)
{
Block_t *blk;
Carrier_t *crr;
@@ -1283,8 +1289,8 @@ create_carrier(Allctr_t *allctr, Uint umem_sz, Uint flags)
if (crr_sz < allctr->mbc_header_size + blk_sz)
crr_sz = allctr->mbc_header_size + blk_sz;
#ifdef ERTS_ALLOC_UTIL_HARD_DEBUG
- if (sizeof(Unit_t) == sizeof(Uint))
- crr_sz += sizeof(Uint);
+ if (sizeof(Unit_t) == sizeof(UWord))
+ crr_sz += sizeof(UWord);
#endif
}
crr_sz = MSEG_UNIT_CEILING(crr_sz);
@@ -1324,8 +1330,8 @@ create_carrier(Allctr_t *allctr, Uint umem_sz, Uint flags)
&& bcrr_sz < allctr->smallest_mbc_size)
bcrr_sz = allctr->smallest_mbc_size;
#ifdef ERTS_ALLOC_UTIL_HARD_DEBUG
- if (sizeof(Unit_t) == sizeof(Uint))
- bcrr_sz += sizeof(Uint);
+ if (sizeof(Unit_t) == sizeof(UWord))
+ bcrr_sz += sizeof(UWord);
#endif
}
@@ -1360,7 +1366,7 @@ create_carrier(Allctr_t *allctr, Uint umem_sz, Uint flags)
blk = SBC2BLK(allctr, crr);
- SET_SBC_BLK_FTR(((Uint *) blk)[-1]);
+ SET_SBC_BLK_FTR(((UWord *) blk)[-1]);
SET_BLK_HDR(blk, blk_sz, SBH_THIS_ALLOCED|SBH_PREV_FREE|SBH_LAST_BLK);
link_carrier(&allctr->sbc_list, crr);
@@ -1379,13 +1385,13 @@ create_carrier(Allctr_t *allctr, Uint umem_sz, Uint flags)
blk = MBC2FBLK(allctr, crr);
#ifdef ERTS_ALLOC_UTIL_HARD_DEBUG
- if (sizeof(Unit_t) == sizeof(Uint))
- crr_sz -= sizeof(Uint);
+ if (sizeof(Unit_t) == sizeof(UWord))
+ crr_sz -= sizeof(UWord);
#endif
blk_sz = UNIT_FLOOR(crr_sz - allctr->mbc_header_size);
- SET_MBC_BLK_FTR(((Uint *) blk)[-1]);
+ SET_MBC_BLK_FTR(((UWord *) blk)[-1]);
SET_BLK_HDR(blk, blk_sz, SBH_THIS_FREE|SBH_PREV_FREE|SBH_LAST_BLK);
#ifdef ERTS_ALLOC_UTIL_HARD_DEBUG
@@ -1400,13 +1406,13 @@ create_carrier(Allctr_t *allctr, Uint umem_sz, Uint flags)
link_carrier(&allctr->mbc_list, crr);
#ifdef ERTS_ALLOC_UTIL_HARD_DEBUG
- if (sizeof(Unit_t) == sizeof(Uint))
- crr_sz += sizeof(Uint);
+ if (sizeof(Unit_t) == sizeof(UWord))
+ crr_sz += sizeof(UWord);
#endif
CHECK_1BLK_CARRIER(allctr, 0, is_mseg, crr, crr_sz, blk, blk_sz);
#ifdef ERTS_ALLOC_UTIL_HARD_DEBUG
- if (sizeof(Unit_t) == sizeof(Uint))
- crr_sz -= sizeof(Uint);
+ if (sizeof(Unit_t) == sizeof(UWord))
+ crr_sz -= sizeof(UWord);
#endif
if (allctr->creating_mbc)
(*allctr->creating_mbc)(allctr, crr);
@@ -1418,11 +1424,12 @@ create_carrier(Allctr_t *allctr, Uint umem_sz, Uint flags)
}
static Block_t *
-resize_carrier(Allctr_t *allctr, Block_t *old_blk, Uint umem_sz, Uint flags)
+resize_carrier(Allctr_t *allctr, Block_t *old_blk, Uint umem_sz, UWord flags)
{
Block_t *new_blk;
Carrier_t *new_crr, *old_crr;
- Uint create_flags, old_crr_sz, old_blk_sz, new_blk_sz, new_crr_sz;
+ UWord create_flags;
+ Uint old_crr_sz, old_blk_sz, new_blk_sz, new_crr_sz;
Uint new_bcrr_sz;
if (flags & CFLG_MBC) {
@@ -2522,7 +2529,12 @@ do_erts_alcu_alloc(ErtsAlcType_t type, void *extra, Uint size)
INC_CC(allctr->calls.this_alloc);
if (size >= allctr->sbc_threshold) {
+#if HALFWORD_HEAP
+ Block_t *blk = create_carrier(allctr, size,
+ CFLG_SBC | CFLG_FORCE_MSEG);
+#else
Block_t *blk = create_carrier(allctr, size, CFLG_SBC);
+#endif
res = blk ? BLK2UMEM(blk) : NULL;
}
else
@@ -2594,16 +2606,16 @@ erts_alcu_alloc_thr_pref(ErtsAlcType_t type, void *extra, Uint size)
Allctr_t *allctr;
void *res;
- ASSERT(sizeof(Uint) == sizeof(Allctr_t *));
+ ASSERT(sizeof(UWord) == sizeof(Allctr_t *));
ASSERT(ix > 0);
if (ix >= tspec->size)
ix = (ix % (tspec->size - 1)) + 1;
allctr = tspec->allctr[ix];
erts_mtx_lock(&allctr->mutex);
- res = do_erts_alcu_alloc(type, allctr, size + sizeof(Uint));
+ res = do_erts_alcu_alloc(type, allctr, size + sizeof(UWord));
if (res) {
*((Allctr_t **) res) = allctr;
- res = (void *) (((char *) res) + sizeof(Uint));
+ res = (void *) (((char *) res) + sizeof(UWord));
}
erts_mtx_unlock(&allctr->mutex);
DEBUG_CHECK_ALIGNMENT(res);
@@ -2681,7 +2693,7 @@ void
erts_alcu_free_thr_pref(ErtsAlcType_t type, void *unused, void *p)
{
if (p) {
- void *ptr = (void *) (((char *) p) - sizeof(Uint));
+ void *ptr = (void *) (((char *) p) - sizeof(UWord));
Allctr_t *allctr = *((Allctr_t **) ptr);
erts_mtx_lock(&allctr->mutex);
do_erts_alcu_free(type, allctr, ptr);
@@ -2698,7 +2710,7 @@ do_erts_alcu_realloc(ErtsAlcType_t type,
void *extra,
void *p,
Uint size,
- Uint flgs)
+ UWord flgs)
{
Allctr_t *allctr = (Allctr_t *) extra;
Block_t *blk;
@@ -2780,13 +2792,21 @@ do_erts_alcu_realloc(ErtsAlcType_t type,
Block_t *new_blk;
if(IS_SBC_BLK(blk)) {
do_carrier_resize:
+#if HALFWORD_HEAP
+ new_blk = resize_carrier(allctr, blk, size, CFLG_SBC | CFLG_FORCE_MSEG);
+#else
new_blk = resize_carrier(allctr, blk, size, CFLG_SBC);
+#endif
res = new_blk ? BLK2UMEM(new_blk) : NULL;
}
else if (flgs & ERTS_ALCU_FLG_FAIL_REALLOC_MOVE)
return NULL;
else {
+#if HALFWORD_HEAP
+ new_blk = create_carrier(allctr, size, CFLG_SBC | CFLG_FORCE_MSEG);
+#else
new_blk = create_carrier(allctr, size, CFLG_SBC);
+#endif
if (new_blk) {
res = BLK2UMEM(new_blk);
sys_memcpy((void *) res,
@@ -2962,7 +2982,7 @@ erts_alcu_realloc_thr_pref(ErtsAlcType_t type, void *extra, void *p, Uint size)
if (!p)
return erts_alcu_alloc_thr_pref(type, extra, size);
- ptr = (void *) (((char *) p) - sizeof(Uint));
+ ptr = (void *) (((char *) p) - sizeof(UWord));
used_allctr = *((Allctr_t **) ptr);
ix = erts_alc_get_thr_ix();
@@ -2976,32 +2996,32 @@ erts_alcu_realloc_thr_pref(ErtsAlcType_t type, void *extra, void *p, Uint size)
res = do_erts_alcu_realloc(type,
used_allctr,
ptr,
- size + sizeof(Uint),
+ size + sizeof(UWord),
(pref_allctr != used_allctr
? ERTS_ALCU_FLG_FAIL_REALLOC_MOVE
: 0));
erts_mtx_unlock(&used_allctr->mutex);
if (res) {
ASSERT(used_allctr == *((Allctr_t **) res));
- res = (void *) (((char *) res) + sizeof(Uint));
+ res = (void *) (((char *) res) + sizeof(UWord));
DEBUG_CHECK_ALIGNMENT(res);
}
else {
erts_mtx_lock(&pref_allctr->mutex);
- res = do_erts_alcu_alloc(type, pref_allctr, size + sizeof(Uint));
+ res = do_erts_alcu_alloc(type, pref_allctr, size + sizeof(UWord));
erts_mtx_unlock(&pref_allctr->mutex);
if (res) {
Block_t *blk;
size_t cpy_size;
*((Allctr_t **) res) = pref_allctr;
- res = (void *) (((char *) res) + sizeof(Uint));
+ res = (void *) (((char *) res) + sizeof(UWord));
DEBUG_CHECK_ALIGNMENT(res);
erts_mtx_lock(&used_allctr->mutex);
blk = UMEM2BLK(ptr);
- cpy_size = BLK_SZ(blk) - ABLK_HDR_SZ - sizeof(Uint);
+ cpy_size = BLK_SZ(blk) - ABLK_HDR_SZ - sizeof(UWord);
if (cpy_size > size)
cpy_size = size;
sys_memcpy(res, p, cpy_size);
@@ -3026,7 +3046,7 @@ erts_alcu_realloc_mv_thr_pref(ErtsAlcType_t type, void *extra,
if (!p)
return erts_alcu_alloc_thr_pref(type, extra, size);
- ptr = (void *) (((char *) p) - sizeof(Uint));
+ ptr = (void *) (((char *) p) - sizeof(UWord));
used_allctr = *((Allctr_t **) ptr);
ix = erts_alc_get_thr_ix();
@@ -3037,7 +3057,7 @@ erts_alcu_realloc_mv_thr_pref(ErtsAlcType_t type, void *extra,
ASSERT(used_allctr && pref_allctr);
erts_mtx_lock(&pref_allctr->mutex);
- res = do_erts_alcu_alloc(type, pref_allctr, size + sizeof(Uint));
+ res = do_erts_alcu_alloc(type, pref_allctr, size + sizeof(UWord));
if (!res) {
erts_mtx_unlock(&pref_allctr->mutex);
res = erts_alcu_realloc_thr_pref(type, extra, p, size);
@@ -3048,7 +3068,7 @@ erts_alcu_realloc_mv_thr_pref(ErtsAlcType_t type, void *extra,
Allctr_t *allctr;
*((Allctr_t **) res) = pref_allctr;
- res = (void *) (((char *) res) + sizeof(Uint));
+ res = (void *) (((char *) res) + sizeof(UWord));
DEBUG_CHECK_ALIGNMENT(res);
@@ -3061,7 +3081,7 @@ erts_alcu_realloc_mv_thr_pref(ErtsAlcType_t type, void *extra,
}
blk = UMEM2BLK(ptr);
- cpy_size = BLK_SZ(blk) - ABLK_HDR_SZ - sizeof(Uint);
+ cpy_size = BLK_SZ(blk) - ABLK_HDR_SZ - sizeof(UWord);
if (cpy_size > size)
cpy_size = size;
sys_memcpy(res, p, cpy_size);
@@ -3138,11 +3158,11 @@ erts_alcu_start(Allctr_t *allctr, AllctrInit_t *init)
if (allctr->min_block_size < ABLK_HDR_SZ)
goto error;
allctr->min_block_size = UNIT_CEILING(allctr->min_block_size
- + sizeof(Uint));
+ + sizeof(UWord));
#if HAVE_ERTS_MSEG
- if (allctr->mseg_opt.abs_shrink_th > ~((Uint) 0) / 100)
- allctr->mseg_opt.abs_shrink_th = ~((Uint) 0) / 100;
+ if (allctr->mseg_opt.abs_shrink_th > ~((UWord) 0) / 100)
+ allctr->mseg_opt.abs_shrink_th = ~((UWord) 0) / 100;
#endif
#ifdef USE_THREADS
@@ -3182,15 +3202,15 @@ erts_alcu_start(Allctr_t *allctr, AllctrInit_t *init)
allctr->mbc_header_size = (UNIT_CEILING(allctr->mbc_header_size
+ FBLK_FTR_SZ
+ ABLK_HDR_SZ
- + sizeof(Uint))
+ + sizeof(UWord))
- ABLK_HDR_SZ
- - sizeof(Uint));
+ - sizeof(UWord));
allctr->sbc_header_size = (UNIT_CEILING(sizeof(Carrier_t)
+ FBLK_FTR_SZ
+ ABLK_HDR_SZ
- + sizeof(Uint))
+ + sizeof(UWord))
- ABLK_HDR_SZ
- - sizeof(Uint));
+ - sizeof(UWord));
}
else
#endif
@@ -3208,12 +3228,21 @@ erts_alcu_start(Allctr_t *allctr, AllctrInit_t *init)
if (allctr->main_carrier_size) {
Block_t *blk;
+#if HALFWORD_HEAP
+ blk = create_carrier(allctr,
+ allctr->main_carrier_size,
+ CFLG_MBC
+ | CFLG_FORCE_SIZE
+ | CFLG_FORCE_MSEG
+ | CFLG_MAIN_CARRIER);
+#else
blk = create_carrier(allctr,
allctr->main_carrier_size,
CFLG_MBC
| CFLG_FORCE_SIZE
| CFLG_FORCE_SYS_ALLOC
| CFLG_MAIN_CARRIER);
+#endif
if (!blk)
goto error;
@@ -3409,7 +3438,7 @@ check_blk_carrier(Allctr_t *allctr, Block_t *iblk)
is_free_blk = (int) IS_FREE_BLK(blk);
if(is_free_blk) {
if (IS_NOT_LAST_BLK(blk))
- ASSERT(*((Uint *) (((char *) blk)+blk_sz-sizeof(Uint)))
+ ASSERT(*((UWord *) (((char *) blk)+blk_sz-sizeof(UWord)))
== blk_sz);
}
@@ -3417,7 +3446,7 @@ check_blk_carrier(Allctr_t *allctr, Block_t *iblk)
(*allctr->check_block)(allctr, blk, (int) is_free_blk);
if (IS_LAST_BLK(blk)) {
- carrier_end = ((char *) NXT_BLK(blk)) + sizeof(Uint);
+ carrier_end = ((char *) NXT_BLK(blk)) + sizeof(UWord);
mbc = *((Carrier_t **) NXT_BLK(blk));
prev_blk = NULL;
blk = MBC2FBLK(allctr, mbc);
@@ -3433,7 +3462,7 @@ check_blk_carrier(Allctr_t *allctr, Block_t *iblk)
ASSERT((((char *) mbc)
+ allctr->mbc_header_size
+ tot_blk_sz
- + sizeof(Uint)) == carrier_end);
+ + sizeof(UWord)) == carrier_end);
ASSERT(((char *) mbc) + CARRIER_SZ(mbc) == carrier_end);
if (allctr->check_mbc)
diff --git a/erts/emulator/beam/erl_alloc_util.h b/erts/emulator/beam/erl_alloc_util.h
index 10b11661e6..f2b951bca6 100644
--- a/erts/emulator/beam/erl_alloc_util.h
+++ b/erts/emulator/beam/erl_alloc_util.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2002-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2002-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -27,8 +27,8 @@
typedef struct Allctr_t_ Allctr_t;
typedef struct {
- Uint ycs;
- Uint mmc;
+ UWord ycs;
+ UWord mmc;
} AlcUInit_t;
typedef struct {
@@ -38,22 +38,22 @@ typedef struct {
int tspec;
int tpref;
int ramv;
- Uint sbct;
- Uint asbcst;
- Uint rsbcst;
- Uint rsbcmt;
- Uint rmbcmt;
- Uint mmbcs;
- Uint mmsbc;
- Uint mmmbc;
- Uint lmbcs;
- Uint smbcs;
- Uint mbcgs;
+ UWord sbct;
+ UWord asbcst;
+ UWord rsbcst;
+ UWord rsbcmt;
+ UWord rmbcmt;
+ UWord mmbcs;
+ UWord mmsbc;
+ UWord mmmbc;
+ UWord lmbcs;
+ UWord smbcs;
+ UWord mbcgs;
} AllctrInit_t;
typedef struct {
- Uint blocks;
- Uint carriers;
+ UWord blocks;
+ UWord carriers;
} AllctrSize_t;
#ifndef SMALL_MEMORY
@@ -163,19 +163,19 @@ void erts_alcu_current_size(Allctr_t *, AllctrSize_t *);
#define CEILING(X, I) ((((X) - 1)/(I) + 1)*(I))
#undef WORD_MASK
-#define INV_WORD_MASK ((Uint) (sizeof(Uint) - 1))
+#define INV_WORD_MASK ((UWord) (sizeof(UWord) - 1))
#define WORD_MASK (~INV_WORD_MASK)
#define WORD_FLOOR(X) ((X) & WORD_MASK)
#define WORD_CEILING(X) WORD_FLOOR((X) + INV_WORD_MASK)
#undef UNIT_MASK
-#define INV_UNIT_MASK ((Uint) (sizeof(Unit_t) - 1))
+#define INV_UNIT_MASK ((UWord) (sizeof(Unit_t) - 1))
#define UNIT_MASK (~INV_UNIT_MASK)
#define UNIT_FLOOR(X) ((X) & UNIT_MASK)
#define UNIT_CEILING(X) UNIT_FLOOR((X) + INV_UNIT_MASK)
-#define SZ_MASK (~((Uint) 0) << 3)
+#define SZ_MASK (~((UWord) 0) << 3)
#define FLG_MASK (~(SZ_MASK))
@@ -189,7 +189,7 @@ typedef union {char c[8]; long l; double d;} Unit_t;
typedef struct Carrier_t_ Carrier_t;
struct Carrier_t_ {
- Uint chdr;
+ UWord chdr;
Carrier_t *next;
Carrier_t *prev;
};
@@ -199,17 +199,17 @@ typedef struct {
Carrier_t *last;
} CarrierList_t;
-typedef Uint Block_t;
-typedef Uint FreeBlkFtr_t;
+typedef UWord Block_t;
+typedef UWord FreeBlkFtr_t;
typedef struct {
- Uint giga_no;
- Uint no;
+ UWord giga_no;
+ UWord no;
} CallCounter_t;
typedef struct {
- Uint no;
- Uint size;
+ UWord no;
+ UWord size;
} StatValues_t;
typedef struct {
diff --git a/erts/emulator/beam/erl_arith.c b/erts/emulator/beam/erl_arith.c
index 126ec7cc73..64fad9fe0e 100644
--- a/erts/emulator/beam/erl_arith.c
+++ b/erts/emulator/beam/erl_arith.c
@@ -41,6 +41,16 @@
# define MAX(x, y) (((x) > (y)) ? (x) : (y))
#endif
+#if !HEAP_ON_C_STACK
+# define DECLARE_TMP(VariableName,N,P) \
+ Eterm *VariableName = ((ERTS_PROC_GET_SCHDATA(P)->erl_arith_tmp_heap) + (2 * N))
+#else
+# define DECLARE_TMP(VariableName,N,P) \
+ Eterm VariableName[2]
+#endif
+# define ARG_IS_NOT_TMP(Arg,Tmp) ((Arg) != make_big((Tmp)))
+
+
static Eterm shift(Process* p, Eterm arg1, Eterm arg2, int right);
static ERTS_INLINE void maybe_shrink(Process* p, Eterm* hp, Eterm res, Uint alloc)
@@ -169,7 +179,7 @@ shift(Process* p, Eterm arg1, Eterm arg2, int right)
{
Sint i;
Sint ires;
- Eterm tmp_big1[2];
+ DECLARE_TMP(tmp_big1,0,p);
Eterm* bigp;
Uint need;
@@ -312,8 +322,8 @@ BIF_RETTYPE bnot_1(BIF_ALIST_1)
Eterm
erts_mixed_plus(Process* p, Eterm arg1, Eterm arg2)
{
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
Eterm res;
Eterm hdr;
FloatDef f1, f2;
@@ -458,8 +468,8 @@ erts_mixed_plus(Process* p, Eterm arg1, Eterm arg2)
Eterm
erts_mixed_minus(Process* p, Eterm arg1, Eterm arg2)
{
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
Eterm hdr;
Eterm res;
FloatDef f1, f2;
@@ -602,8 +612,8 @@ erts_mixed_minus(Process* p, Eterm arg1, Eterm arg2)
Eterm
erts_mixed_times(Process* p, Eterm arg1, Eterm arg2)
{
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
Eterm hdr;
Eterm res;
FloatDef f1, f2;
@@ -627,8 +637,8 @@ erts_mixed_times(Process* p, Eterm arg1, Eterm arg2)
} else if (arg2 == SMALL_ONE) {
return(arg1);
} else {
- Eterm big_res[3];
-
+ DeclareTmpHeap(big_res,3,p);
+ UseTmpHeap(3,p);
/*
* The following code is optimized for the case that
* result is small (which should be the most common case
@@ -636,6 +646,7 @@ erts_mixed_times(Process* p, Eterm arg1, Eterm arg2)
*/
res = small_times(signed_val(arg1), signed_val(arg2), big_res);
if (is_small(res)) {
+ UnUseTmpHeap(3,p);
return res;
} else {
/*
@@ -657,6 +668,7 @@ erts_mixed_times(Process* p, Eterm arg1, Eterm arg2)
if (arity > 1) {
*hp = big_res[2];
}
+ UnUseTmpHeap(3,p);
return res;
}
}
@@ -915,8 +927,8 @@ erts_mixed_div(Process* p, Eterm arg1, Eterm arg2)
Eterm
erts_int_div(Process* p, Eterm arg1, Eterm arg2)
{
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
int ires;
switch (NUMBER_CODE(arg1, arg2)) {
@@ -967,8 +979,8 @@ erts_int_div(Process* p, Eterm arg1, Eterm arg2)
Eterm
erts_int_rem(Process* p, Eterm arg1, Eterm arg2)
{
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
int ires;
switch (NUMBER_CODE(arg1, arg2)) {
@@ -979,7 +991,8 @@ erts_int_rem(Process* p, Eterm arg1, Eterm arg2)
if (arg1 != make_small(MIN_SMALL)) {
return arg1;
} else {
- Eterm tmp = small_to_big(signed_val(arg1), tmp_big1);
+ Eterm tmp;
+ tmp = small_to_big(signed_val(arg1), tmp_big1);
if ((ires = big_ucomp(tmp, arg2)) == 0) {
return SMALL_ZERO;
} else {
@@ -1013,8 +1026,8 @@ erts_int_rem(Process* p, Eterm arg1, Eterm arg2)
Eterm erts_band(Process* p, Eterm arg1, Eterm arg2)
{
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
Eterm* hp;
int need;
@@ -1041,8 +1054,8 @@ Eterm erts_band(Process* p, Eterm arg1, Eterm arg2)
Eterm erts_bor(Process* p, Eterm arg1, Eterm arg2)
{
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
Eterm* hp;
int need;
@@ -1069,8 +1082,8 @@ Eterm erts_bor(Process* p, Eterm arg1, Eterm arg2)
Eterm erts_bxor(Process* p, Eterm arg1, Eterm arg2)
{
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
Eterm* hp;
int need;
@@ -1148,8 +1161,8 @@ erts_gc_mixed_plus(Process* p, Eterm* reg, Uint live)
{
Eterm arg1;
Eterm arg2;
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
Eterm res;
Eterm hdr;
FloatDef f1, f2;
@@ -1237,10 +1250,10 @@ erts_gc_mixed_plus(Process* p, Eterm* reg, Uint live)
need_heap = BIG_NEED_SIZE(sz);
if (ERTS_NEED_GC(p, need_heap)) {
erts_garbage_collect(p, need_heap, reg, live+2);
- if (arg1 != make_big(tmp_big1)) {
+ if (ARG_IS_NOT_TMP(arg1,tmp_big1)) {
arg1 = reg[live];
}
- if (arg2 != make_big(tmp_big2)) {
+ if (ARG_IS_NOT_TMP(arg2,tmp_big2)) {
arg2 = reg[live+1];
}
}
@@ -1316,8 +1329,8 @@ erts_gc_mixed_minus(Process* p, Eterm* reg, Uint live)
{
Eterm arg1;
Eterm arg2;
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
Eterm hdr;
Eterm res;
FloatDef f1, f2;
@@ -1394,10 +1407,10 @@ erts_gc_mixed_minus(Process* p, Eterm* reg, Uint live)
need_heap = BIG_NEED_SIZE(sz);
if (ERTS_NEED_GC(p, need_heap)) {
erts_garbage_collect(p, need_heap, reg, live+2);
- if (arg1 != make_big(tmp_big1)) {
+ if (ARG_IS_NOT_TMP(arg1,tmp_big1)) {
arg1 = reg[live];
}
- if (arg2 != make_big(tmp_big2)) {
+ if (ARG_IS_NOT_TMP(arg2,tmp_big2)) {
arg2 = reg[live+1];
}
}
@@ -1482,8 +1495,8 @@ erts_gc_mixed_times(Process* p, Eterm* reg, Uint live)
{
Eterm arg1;
Eterm arg2;
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
Eterm hdr;
Eterm res;
FloatDef f1, f2;
@@ -1509,7 +1522,8 @@ erts_gc_mixed_times(Process* p, Eterm* reg, Uint live)
} else if (arg2 == SMALL_ONE) {
return(arg1);
} else {
- Eterm big_res[3];
+ DeclareTmpHeap(big_res,3,p);
+ UseTmpHeap(3,p);
/*
* The following code is optimized for the case that
@@ -1519,6 +1533,7 @@ erts_gc_mixed_times(Process* p, Eterm* reg, Uint live)
res = small_times(signed_val(arg1), signed_val(arg2),
big_res);
if (is_small(res)) {
+ UnUseTmpHeap(3,p);
return res;
} else {
/*
@@ -1546,6 +1561,7 @@ erts_gc_mixed_times(Process* p, Eterm* reg, Uint live)
if (arity > 1) {
*hp = big_res[2];
}
+ UnUseTmpHeap(3,p);
return res;
}
}
@@ -1609,17 +1625,17 @@ erts_gc_mixed_times(Process* p, Eterm* reg, Uint live)
need_heap = BIG_NEED_SIZE(sz);
if (ERTS_NEED_GC(p, need_heap)) {
erts_garbage_collect(p, need_heap, reg, live+2);
- if (arg1 != make_big(tmp_big1)) {
+ if (ARG_IS_NOT_TMP(arg1,tmp_big1)) {
arg1 = reg[live];
}
- if (arg2 != make_big(tmp_big2)) {
+ if (ARG_IS_NOT_TMP(arg2,tmp_big2)) {
arg2 = reg[live+1];
}
}
hp = p->htop;
p->htop += need_heap;
res = big_times(arg1, arg2, hp);
- trim_heap(p, hp, res);
+ trim_heap(p, hp, res);
/*
* Note that the result must be big in this case, since
@@ -1828,8 +1844,8 @@ erts_gc_int_div(Process* p, Eterm* reg, Uint live)
{
Eterm arg1;
Eterm arg2;
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
int ires;
arg1 = reg[live];
@@ -1866,10 +1882,10 @@ erts_gc_int_div(Process* p, Eterm* reg, Uint live)
need = BIG_NEED_SIZE(i-ires+1) + BIG_NEED_SIZE(i);
if (ERTS_NEED_GC(p, need)) {
erts_garbage_collect(p, need, reg, live+2);
- if (arg1 != make_big(tmp_big1)) {
+ if (ARG_IS_NOT_TMP(arg1,tmp_big1)) {
arg1 = reg[live];
}
- if (arg2 != make_big(tmp_big2)) {
+ if (ARG_IS_NOT_TMP(arg2,tmp_big2)) {
arg2 = reg[live+1];
}
}
@@ -1894,8 +1910,8 @@ erts_gc_int_rem(Process* p, Eterm* reg, Uint live)
{
Eterm arg1;
Eterm arg2;
- Eterm tmp_big1[2];
- Eterm tmp_big2[2];
+ DECLARE_TMP(tmp_big1,0,p);
+ DECLARE_TMP(tmp_big2,1,p);
int ires;
arg1 = reg[live];
@@ -1908,7 +1924,8 @@ erts_gc_int_rem(Process* p, Eterm* reg, Uint live)
if (arg1 != make_small(MIN_SMALL)) {
return arg1;
} else {
- Eterm tmp = small_to_big(signed_val(arg1), tmp_big1);
+ Eterm tmp;
+ tmp = small_to_big(signed_val(arg1), tmp_big1);
if ((ires = big_ucomp(tmp, arg2)) == 0) {
return SMALL_ZERO;
} else {
@@ -1928,10 +1945,10 @@ erts_gc_int_rem(Process* p, Eterm* reg, Uint live)
if (ERTS_NEED_GC(p, need)) {
erts_garbage_collect(p, need, reg, live+2);
- if (arg1 != make_big(tmp_big1)) {
+ if (ARG_IS_NOT_TMP(arg1,tmp_big1)) {
arg1 = reg[live];
}
- if (arg2 != make_big(tmp_big2)) {
+ if (ARG_IS_NOT_TMP(arg2,tmp_big2)) {
arg2 = reg[live+1];
}
}
@@ -1956,8 +1973,8 @@ Eterm erts_gc_##func(Process* p, Eterm* reg, Uint live) \
{ \
Eterm arg1; \
Eterm arg2; \
- Eterm tmp_big1[2]; \
- Eterm tmp_big2[2]; \
+ DECLARE_TMP(tmp_big1,0,p); \
+ DECLARE_TMP(tmp_big2,1,p); \
Eterm* hp; \
int need; \
\
diff --git a/erts/emulator/beam/erl_async.c b/erts/emulator/beam/erl_async.c
index b090564649..be691317ee 100644
--- a/erts/emulator/beam/erl_async.c
+++ b/erts/emulator/beam/erl_async.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2000-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2000-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
#ifdef HAVE_CONFIG_H
diff --git a/erts/emulator/beam/erl_bif_binary.c b/erts/emulator/beam/erl_bif_binary.c
new file mode 100644
index 0000000000..8071d94d07
--- /dev/null
+++ b/erts/emulator/beam/erl_bif_binary.c
@@ -0,0 +1,2930 @@
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2010. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
+ * Version 1.1, (the "License"); you may not use this file except in
+ * compliance with the License. You should have received a copy of the
+ * Erlang Public License along with this software. If not, it can be
+ * retrieved online at http://www.erlang.org/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * %CopyrightEnd%
+ */
+
+/*
+ * NOTE: This file contains the BIF's for the *module* binary in stdlib.
+ * other BIF's concerning binaries are in binary.c.
+ */
+
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include "sys.h"
+#include "erl_vm.h"
+#include "global.h"
+#include "erl_process.h"
+#include "error.h"
+#include "bif.h"
+#include "big.h"
+#include "erl_binary.h"
+#include "erl_bits.h"
+
+
+/*
+ * The native implementation functions for the module binary.
+ * Searching is implemented using aither Boyer-More or Aho-Corasick
+ * depending on number of searchstrings (BM if one, AC if more than one).
+ * Native implementation is mostly for efficiency, nothing
+ * (except binary:referenced_byte_size) really *needs* to be implemented
+ * in native code.
+ */
+
+/* #define HARDDEBUG */
+
+/* Init and local variables */
+
+static Export binary_match_trap_export;
+static BIF_RETTYPE binary_match_trap(BIF_ALIST_3);
+static Export binary_matches_trap_export;
+static BIF_RETTYPE binary_matches_trap(BIF_ALIST_3);
+static Export binary_longest_prefix_trap_export;
+static BIF_RETTYPE binary_longest_prefix_trap(BIF_ALIST_3);
+static Export binary_longest_suffix_trap_export;
+static BIF_RETTYPE binary_longest_suffix_trap(BIF_ALIST_3);
+static Export binary_bin_to_list_trap_export;
+static BIF_RETTYPE binary_bin_to_list_trap(BIF_ALIST_3);
+static Export binary_copy_trap_export;
+static BIF_RETTYPE binary_copy_trap(BIF_ALIST_2);
+static Uint max_loop_limit;
+
+
+void erts_init_bif_binary(void)
+{
+ sys_memset((void *) &binary_match_trap_export, 0, sizeof(Export));
+ binary_match_trap_export.address = &binary_match_trap_export.code[3];
+ binary_match_trap_export.code[0] = am_erlang;
+ binary_match_trap_export.code[1] = am_binary_match_trap;
+ binary_match_trap_export.code[2] = 3;
+ binary_match_trap_export.code[3] = (BeamInstr) em_apply_bif;
+ binary_match_trap_export.code[4] = (BeamInstr) &binary_match_trap;
+
+ sys_memset((void *) &binary_matches_trap_export, 0, sizeof(Export));
+ binary_matches_trap_export.address = &binary_matches_trap_export.code[3];
+ binary_matches_trap_export.code[0] = am_erlang;
+ binary_matches_trap_export.code[1] = am_binary_matches_trap;
+ binary_matches_trap_export.code[2] = 3;
+ binary_matches_trap_export.code[3] = (BeamInstr) em_apply_bif;
+ binary_matches_trap_export.code[4] = (BeamInstr) &binary_matches_trap;
+
+ sys_memset((void *) &binary_longest_prefix_trap_export, 0, sizeof(Export));
+ binary_longest_prefix_trap_export.address = &binary_longest_prefix_trap_export.code[3];
+ binary_longest_prefix_trap_export.code[0] = am_erlang;
+ binary_longest_prefix_trap_export.code[1] = am_binary_longest_prefix_trap;
+ binary_longest_prefix_trap_export.code[2] = 3;
+ binary_longest_prefix_trap_export.code[3] = (BeamInstr) em_apply_bif;
+ binary_longest_prefix_trap_export.code[4] = (BeamInstr) &binary_longest_prefix_trap;
+
+ sys_memset((void *) &binary_longest_suffix_trap_export, 0, sizeof(Export));
+ binary_longest_suffix_trap_export.address = &binary_longest_suffix_trap_export.code[3];
+ binary_longest_suffix_trap_export.code[0] = am_erlang;
+ binary_longest_suffix_trap_export.code[1] = am_binary_longest_suffix_trap;
+ binary_longest_suffix_trap_export.code[2] = 3;
+ binary_longest_suffix_trap_export.code[3] = (BeamInstr) em_apply_bif;
+ binary_longest_suffix_trap_export.code[4] = (BeamInstr) &binary_longest_suffix_trap;
+
+ sys_memset((void *) &binary_bin_to_list_trap_export, 0, sizeof(Export));
+ binary_bin_to_list_trap_export.address = &binary_bin_to_list_trap_export.code[3];
+ binary_bin_to_list_trap_export.code[0] = am_erlang;
+ binary_bin_to_list_trap_export.code[1] = am_binary_bin_to_list_trap;
+ binary_bin_to_list_trap_export.code[2] = 3;
+ binary_bin_to_list_trap_export.code[3] = (BeamInstr) em_apply_bif;
+ binary_bin_to_list_trap_export.code[4] = (BeamInstr) &binary_bin_to_list_trap;
+ sys_memset((void *) &binary_copy_trap_export, 0, sizeof(Export));
+ binary_copy_trap_export.address = &binary_copy_trap_export.code[3];
+ binary_copy_trap_export.code[0] = am_erlang;
+ binary_copy_trap_export.code[1] = am_binary_copy_trap;
+ binary_copy_trap_export.code[2] = 2;
+ binary_copy_trap_export.code[3] = (BeamInstr) em_apply_bif;
+ binary_copy_trap_export.code[4] = (BeamInstr) &binary_copy_trap;
+
+ max_loop_limit = 0;
+ return;
+}
+
+/*
+ * Setting the loop_limit for searches for debugging
+ */
+Sint erts_binary_set_loop_limit(Sint limit)
+{
+ Sint save = (Sint) max_loop_limit;
+ if (limit <= 0) {
+ max_loop_limit = 0;
+ } else {
+ max_loop_limit = (Uint) limit;
+ }
+
+ return save;
+}
+
+static Uint get_reds(Process *p, int loop_factor)
+{
+ Uint reds = ERTS_BIF_REDS_LEFT(p) * loop_factor;
+ Uint tmp = max_loop_limit;
+ if (tmp != 0 && tmp < reds) {
+ return tmp;
+ }
+ if (!reds) {
+ reds = 1;
+ }
+ return reds;
+}
+
+/*
+ * A micro allocator used when building search structures, just a convenience
+ * for building structures inside a pre alocated magic binary using
+ * conventional malloc-like interface.
+ */
+
+#define MYALIGN(Size) (SIZEOF_VOID_P * (((Size) / SIZEOF_VOID_P) + \
+ !!(((Size) % SIZEOF_VOID_P))))
+
+#ifdef DEBUG
+#define CHECK_ALLOCATOR(My) ASSERT((My).current <= ((My).mem + (My).size))
+#else
+#define CHECK_ALLOCATOR(My) /* nothing */
+#endif
+
+typedef struct _my_allocator {
+ Uint size;
+ byte *current;
+ byte *mem;
+} MyAllocator;
+
+static void init_my_allocator(MyAllocator *my, Uint siz, byte *array)
+{
+ ASSERT((siz % SIZEOF_VOID_P) == 0);
+ my->size = siz;
+ my->mem = array;
+ my->current = my->mem;
+}
+
+static void *my_alloc(MyAllocator *my, Uint size)
+{
+ void *ptr = my->current;
+ my->current += MYALIGN(size);
+ return ptr;
+}
+
+/*
+ * The search functionality.
+ *
+ * The search is byte oriented, which works nicely for UTF-8 as well as
+ * latin1 data
+ */
+
+#define ALPHABET_SIZE 256
+
+typedef struct _ac_node {
+#ifdef HARDDEBUG
+ Uint32 id; /* To identify h pointer targets when
+ dumping */
+#endif
+ Uint32 d; /* Depth in trie, also represents the
+ length (-1) of the matched string if
+ in final set */
+ Sint32 final; /* Members in final set represent
+ * matches.
+ * The set representation is scattered
+ * among the nodes in this way:
+ * >0 -> this represents a member of
+ * the final set, <0 -> member of
+ * final set somewhere in the failure
+ * chain,
+ * 0 -> not member of the final set */
+ struct _ac_node *h; /* h(Hode) is the failure function */
+ struct _ac_node *g[ALPHABET_SIZE]; /* g(Node,Character) is the
+ transition function */
+} ACNode;
+
+typedef struct _ac_trie {
+#ifdef HARDDEBUG
+ Uint32 idc;
+#endif
+ Uint32 counter; /* Number of added patterns */
+ ACNode *root; /* pointer to the root state */
+} ACTrie;
+
+typedef struct _bm_data {
+ byte *x;
+ Sint len;
+ Sint *goodshift;
+ Sint badshift[ALPHABET_SIZE];
+} BMData;
+
+#ifdef HARDDEBUG
+static void dump_bm_data(BMData *bm);
+static void dump_ac_trie(ACTrie *act);
+static void dump_ac_node(ACNode *node, int indent, int ch);
+#endif
+
+/*
+ * The needed size of binary data for a search structure - given the
+ * accumulated string lengths.
+ */
+#define BM_SIZE(StrLen) /* StrLen: length of searchstring */ \
+((MYALIGN(sizeof(Sint) * (StrLen))) + /* goodshift array */ \
+ MYALIGN(StrLen) + /* searchstring saved */ \
+ (MYALIGN(sizeof(BMData)))) /* Structure */
+
+#define AC_SIZE(StrLens) /* StrLens: sum of all searchstring lengths */ \
+((MYALIGN(sizeof(ACNode)) * \
+((StrLens)+1)) + /* The actual nodes (including rootnode) */ \
+ MYALIGN(sizeof(ACTrie))) /* Structure */
+
+
+#ifndef MAX
+#define MAX(A,B) (((A) > (B)) ? (A) : (B))
+#endif
+
+#ifndef MIN
+#define MIN(A,B) (((A) > (B)) ? (B) : (A))
+#endif
+/*
+ * Callback for the magic binary
+ */
+static void cleanup_my_data_ac(Binary *bp)
+{
+ return;
+}
+static void cleanup_my_data_bm(Binary *bp)
+{
+ return;
+}
+
+/*
+ * Initiate a (allocated) micro allocator and fill in the base
+ * for an Aho-Corasick search trie, given the accumulated length of the search
+ * strings.
+ */
+static ACTrie *create_acdata(MyAllocator *my, Uint len,
+ ACNode ***qbuff /* out */,
+ Binary **the_bin /* out */)
+{
+ Uint datasize = AC_SIZE(len);
+ ACTrie *act;
+ ACNode *acn;
+ Binary *mb = erts_create_magic_binary(datasize,cleanup_my_data_ac);
+ byte *data = ERTS_MAGIC_BIN_DATA(mb);
+
+ init_my_allocator(my, datasize, data);
+ act = my_alloc(my, sizeof(ACTrie)); /* Important that this is the first
+ allocation */
+ act->counter = 0;
+ act->root = acn = my_alloc(my, sizeof(ACNode));
+ acn->d = 0;
+ acn->final = 0;
+ acn->h = NULL;
+ memset(acn->g, 0, sizeof(ACNode *) * ALPHABET_SIZE);
+#ifdef HARDDEBUG
+ act->idc = 0;
+ acn->id = 0;
+#endif
+ *qbuff = erts_alloc(ERTS_ALC_T_TMP, sizeof(ACNode *) * len);
+ *the_bin = mb;
+ return act;
+}
+
+/*
+ * The same initialization of allocator and basic data for Boyer-More.
+ */
+static BMData *create_bmdata(MyAllocator *my, byte *x, Uint len,
+ Binary **the_bin /* out */)
+{
+ Uint datasize = BM_SIZE(len);
+ BMData *bmd;
+ Binary *mb = erts_create_magic_binary(datasize,cleanup_my_data_bm);
+ byte *data = ERTS_MAGIC_BIN_DATA(mb);
+ init_my_allocator(my, datasize, data);
+ bmd = my_alloc(my, sizeof(BMData));
+ bmd->x = my_alloc(my,len);
+ memcpy(bmd->x,x,len);
+ bmd->len = len;
+ bmd->goodshift = my_alloc(my,sizeof(Uint) * len);
+ *the_bin = mb;
+ return bmd;
+}
+
+/*
+ * Compilation of search structures
+ */
+
+/*
+ * Aho Corasick - Build a Trie and fill in the failure functions
+ * when all strings are added.
+ * The algorithm is nicely described by Dieter B�hler of University of
+ * T�bingen:
+ * http://www-sr.informatik.uni-tuebingen.de/~buehler/AC/AC.html
+ */
+
+/*
+ * Helper called once for each search pattern
+ */
+static void ac_add_one_pattern(MyAllocator *my, ACTrie *act, byte *x, Uint len)
+{
+ ACNode *acn = act->root;
+ Uint32 n = ++act->counter; /* Always increase conter, even if it's a
+ duplicate as this may identify the pattern
+ in the final set (not in current interface
+ though) */
+ Uint i = 0;
+
+ while(i < len) {
+ if (acn->g[x[i]] != NULL) {
+ /* node exists, continue */
+ acn = acn->g[x[i]];
+ ++i;
+ } else {
+ /* allocate a new node */
+ ACNode *nn = my_alloc(my,sizeof(ACNode));
+#ifdef HARDDEBUG
+ nn->id = ++(act->idc);
+#endif
+ nn->d = i+1;
+ nn->h = act->root;
+ nn->final = 0;
+ memset(nn->g, 0, sizeof(ACNode *) * ALPHABET_SIZE);
+ acn->g[x[i]] = nn;
+ ++i;
+ acn = nn;
+ }
+ }
+ if (acn->final == 0) { /* New pattern, add to final set */
+ acn->final = n;
+ }
+}
+
+/*
+ * Called when all search patterns are added.
+ */
+static void ac_compute_failure_functions(ACTrie *act, ACNode **qbuff)
+{
+ ACNode *root = act->root;
+ ACNode *parent;
+ int i;
+ int qh = 0,qt = 0;
+ ACNode *child, *r;
+
+ /* Set all children of the root to have the root as failure function */
+ for (i = 0; i < ALPHABET_SIZE; ++i) {
+ if (root->g[i] != NULL) {
+ root->g[i]->h = root;
+ /* Add to que for later traversal */
+ qbuff[qt++] = root->g[i];
+ }
+ }
+
+ /* So, now we've handled children of the root state, traverse the
+ rest of the trie BF... */
+ while (qh < qt) {
+ parent = qbuff[qh++];
+ for (i = 0; i < ALPHABET_SIZE; ++ i) {
+ if ((child = parent->g[i]) != NULL) {
+ /* Visit this node to */
+ qbuff[qt++] = child;
+ /* Search for correct failure function, follow the parents
+ failure function until you find a similar transition
+ funtion to this childs */
+ r = parent->h;
+ while (r != NULL && r->g[i] == NULL) {
+ r = r->h;
+ }
+ if (r == NULL) {
+ /* Replace NULL failures with the root as we go */
+ child->h = (root->g[i] == NULL) ? root : root->g[i];
+ } else {
+ child->h = r->g[i];
+ /*
+ * The "final" set is scattered among the nodes. When
+ * the failure function points to a member of the final
+ * set, we have a match, but we might not see it in the
+ * current node if we dont mark it as a special type of
+ * final, i.e. foolow the failure function and you will
+ * find a real member of final set. This is marked with
+ * a negative string id and only done if this node does
+ * not represent a member in the final set.
+ */
+ if (!(child->final) && (child->h->final)) {
+ child->final = -1;
+ }
+ }
+ }
+ }
+ }
+ /* Finally the failure function of the root should point to itself */
+ root->h = root;
+}
+
+
+/*
+ * The actual searching for needles in the haystack...
+ * Find first match using Aho-Coracick Trie
+ * return pattern number and fill in mpos + mlen if found, otherwise return 0
+ * Return the matching pattern that *starts* first, and ends
+ * last (difference when overlapping), hence the candidate thing.
+ * Basic AC finds the first end before the first start...
+ *
+ */
+typedef struct {
+ ACNode *q;
+ Uint pos;
+ Uint len;
+ ACNode *candidate;
+ Uint candidate_start;
+} ACFindFirstState;
+
+
+static void ac_init_find_first_match(ACFindFirstState *state, ACTrie *act, Sint startpos, Uint len)
+{
+ state->q = act->root;
+ state->pos = startpos;
+ state->len = len;
+ state->candidate = NULL;
+ state->candidate_start = 0;
+}
+#define AC_OK 0
+#define AC_NOT_FOUND -1
+#define AC_RESTART -2
+
+#define AC_LOOP_FACTOR 10
+
+static int ac_find_first_match(ACFindFirstState *state, byte *haystack,
+ Uint *mpos, Uint *mlen, Uint *reductions)
+{
+ ACNode *q = state->q;
+ Uint i = state->pos;
+ ACNode *candidate = state->candidate, *r;
+ Uint len = state->len;
+ Uint candidate_start = state->candidate_start;
+ Uint rstart;
+ register Uint reds = *reductions;
+
+ while (i < len) {
+ if (--reds == 0) {
+ state->q = q;
+ state->pos = i;
+ state->len = len;
+ state->candidate = candidate;
+ state->candidate_start = candidate_start;
+ return AC_RESTART;
+ }
+
+ while (q->g[haystack[i]] == NULL && q->h != q) {
+ q = q->h;
+ }
+ if (q->g[haystack[i]] != NULL) {
+ q = q->g[haystack[i]];
+ }
+#ifdef HARDDEBUG
+ erts_printf("ch = %c, Current: %u\n", (int) haystack[i], (unsigned) q->id);
+#endif
+ ++i;
+ if (candidate != NULL && (i - q->d) > candidate_start) {
+ break;
+ }
+ if (q->final) {
+ r = q;
+ while (r->final < 0)
+ r = r->h;
+ rstart = i - r->d;
+ if (candidate == NULL || rstart < candidate_start ||
+ (rstart == candidate_start && candidate->d < q->d)) {
+ candidate_start = rstart;
+ candidate = r;
+ }
+ }
+ }
+ *reductions = reds;
+ if (!candidate) {
+ return AC_NOT_FOUND;
+ }
+#ifdef HARDDEBUG
+ dump_ac_node(candidate,0,'?');
+#endif
+ *mpos = candidate_start;
+ *mlen = candidate->d;
+ return AC_OK;
+}
+
+typedef struct _findall_data {
+ Uint pos;
+ Uint len;
+#ifdef HARDDEBUG
+ Uint id;
+#endif
+ Eterm epos;
+ Eterm elen;
+} FindallData;
+
+typedef struct {
+ ACNode *q;
+ Uint pos;
+ Uint len;
+ Uint m;
+ Uint allocated;
+ FindallData *out;
+} ACFindAllState;
+
+static void ac_init_find_all(ACFindAllState *state, ACTrie *act, Sint startpos, Uint len)
+{
+ state->q = act->root;
+ state->pos = startpos;
+ state->len = len;
+ state->m = 0;
+ state->allocated = 0;
+ state->out = NULL;
+}
+
+static void ac_restore_find_all(ACFindAllState *state, char *buff)
+{
+ memcpy(state,buff,sizeof(ACFindAllState));
+ state->out = erts_alloc(ERTS_ALC_T_TMP, sizeof(FindallData) * (state->allocated));
+ memcpy(state->out,buff+sizeof(ACFindAllState),sizeof(FindallData)*state->m);
+}
+
+static void ac_serialize_find_all(ACFindAllState *state, char *buff)
+{
+ memcpy(buff,state,sizeof(ACFindAllState));
+ memcpy(buff+sizeof(ACFindAllState),state->out,sizeof(FindallData)*state->m);
+}
+
+static void ac_clean_find_all(ACFindAllState *state)
+{
+ if (state->out != NULL) {
+ erts_free(ERTS_ALC_T_TMP, state->out);
+ }
+#ifdef HARDDEBUG
+ state->out = NULL;
+ state->allocated = 0;
+#endif
+}
+
+#define SIZEOF_AC_SERIALIZED_FIND_ALL_STATE(S) \
+ (sizeof(ACFindAllState)+(sizeof(FindallData)*(S).m))
+
+/*
+ * Differs to the find_first function in that it stores all matches and the values
+ * arte returned only in the state.
+ */
+static int ac_find_all_non_overlapping(ACFindAllState *state, byte *haystack,
+ Uint *reductions)
+{
+ ACNode *q = state->q;
+ Uint i = state->pos;
+ Uint rstart;
+ ACNode *r;
+ Uint len = state->len;
+ Uint m = state->m, save_m;
+ Uint allocated = state->allocated;
+ FindallData *out = state->out;
+ register Uint reds = *reductions;
+
+
+ while (i < len) {
+ if (--reds == 0) {
+ state->q = q;
+ state->pos = i;
+ state->len = len;
+ state->m = m;
+ state->allocated = allocated;
+ state->out = out;
+ return AC_RESTART;
+ }
+ while (q->g[haystack[i]] == NULL && q->h != q) {
+ q = q->h;
+ }
+ if (q->g[haystack[i]] != NULL) {
+ q = q->g[haystack[i]];
+ }
+ ++i;
+ if (q->final) {
+ r = q;
+ while (r->final) {
+ while (r->final < 0)
+ r = r->h;
+#ifdef HARDDEBUG
+ erts_printf("Trying to add %u\n",(unsigned) r->final);
+#endif
+ rstart = i - r->d;
+ save_m = m;
+ while (m > 0 && (out[m-1].pos > rstart ||
+ (out[m-1].pos == rstart &&
+ out[m-1].len < r->d))) {
+#ifdef HARDDEBUG
+ erts_printf("Popping %u\n",(unsigned) out[m-1].id);
+#endif
+ --m;
+ }
+#ifdef HARDDEBUG
+ if (m > 0) {
+ erts_printf("Pos %u\n",out[m-1].pos);
+ erts_printf("Len %u\n",out[m-1].len);
+ }
+ erts_printf("Rstart %u\n",rstart);
+#endif
+ if (m == 0 || out[m-1].pos + out[m-1].len <= rstart) {
+ if (m >= allocated) {
+ if (!allocated) {
+ allocated = 10;
+ out = erts_alloc(ERTS_ALC_T_TMP,
+ sizeof(FindallData) * allocated);
+ } else {
+ allocated *= 2;
+ out = erts_realloc(ERTS_ALC_T_TMP, out,
+ sizeof(FindallData) *
+ allocated);
+ }
+ }
+ out[m].pos = rstart;
+ out[m].len = r->d;
+#ifdef HARDDEBUG
+ out[m].id = r->final;
+#endif
+ ++m;
+#ifdef HARDDEBUG
+ erts_printf("Pushing %u\n",(unsigned) out[m-1].id);
+#endif
+ } else {
+#ifdef HARDDEBUG
+ erts_printf("Backtracking %d steps\n",save_m - m);
+#endif
+ m = save_m;
+ }
+ r = r->h;
+ }
+ }
+ }
+ *reductions = reds;
+ state->m = m;
+ state->out = out;
+ return (m == 0) ? AC_NOT_FOUND : AC_OK;
+}
+
+/*
+ * Boyer More - most obviously implemented more or less exactly as
+ * Christian Charras and Thierry Lecroq describes it in "Handbook of
+ * Exact String-Matching Algorithms"
+ * http://www-igm.univ-mlv.fr/~lecroq/string/
+ */
+
+/*
+ * Call this to compute badshifts array
+ */
+static void compute_badshifts(BMData *bmd)
+{
+ Sint i;
+ Sint m = bmd->len;
+
+ for (i = 0; i < ALPHABET_SIZE; ++i) {
+ bmd->badshift[i] = m;
+ }
+ for (i = 0; i < m - 1; ++i) {
+ bmd->badshift[bmd->x[i]] = m - i - 1;
+ }
+}
+
+/* Helper for "compute_goodshifts" */
+static void compute_suffixes(byte *x, Sint m, Sint *suffixes)
+{
+ int f,g,i;
+
+ suffixes[m - 1] = m;
+
+ f = 0; /* To avoid use before set warning */
+
+ g = m - 1;
+
+ for (i = m - 2; i >= 0; --i) {
+ if (i > g && suffixes[i + m - 1 - f] < i - g) {
+ suffixes[i] = suffixes[i + m - 1 - f];
+ } else {
+ if (i < g) {
+ g = i;
+ }
+ f = i;
+ while ( g >= 0 && x[g] == x[g + m - 1 - f] ) {
+ --g;
+ }
+ suffixes[i] = f - g;
+ }
+ }
+}
+
+/*
+ * Call this to compute goodshift array
+ */
+static void compute_goodshifts(BMData *bmd)
+{
+ Sint m = bmd->len;
+ byte *x = bmd->x;
+ Sint i, j;
+ Sint *suffixes = erts_alloc(ERTS_ALC_T_TMP, m * sizeof(Sint));
+
+ compute_suffixes(x, m, suffixes);
+
+ for (i = 0; i < m; ++i) {
+ bmd->goodshift[i] = m;
+ }
+
+ j = 0;
+
+ for (i = m - 1; i >= -1; --i) {
+ if (i == -1 || suffixes[i] == i + 1) {
+ while (j < m - 1 - i) {
+ if (bmd->goodshift[j] == m) {
+ bmd->goodshift[j] = m - 1 - i;
+ }
+ ++j;
+ }
+ }
+ }
+ for (i = 0; i <= m - 2; ++i) {
+ bmd->goodshift[m - 1 - suffixes[i]] = m - 1 - i;
+ }
+ erts_free(ERTS_ALC_T_TMP, suffixes);
+}
+
+typedef struct {
+ Sint pos;
+ Sint len;
+} BMFindFirstState;
+
+#define BM_OK 0 /* used only for find_all */
+#define BM_NOT_FOUND -1
+#define BM_RESTART -2
+#define BM_LOOP_FACTOR 10 /* Should we have a higher value? */
+
+static void bm_init_find_first_match(BMFindFirstState *state, Sint startpos,
+ Uint len)
+{
+ state->pos = startpos;
+ state->len = (Sint) len;
+}
+
+
+static Sint bm_find_first_match(BMFindFirstState *state, BMData *bmd,
+ byte *haystack, Uint *reductions)
+{
+ Sint blen = bmd->len;
+ Sint len = state->len;
+ Sint *gs = bmd->goodshift;
+ Sint *bs = bmd->badshift;
+ byte *needle = bmd->x;
+ Sint i;
+ Sint j = state->pos;
+ register Uint reds = *reductions;
+
+ while (j <= len - blen) {
+ if (--reds == 0) {
+ state->pos = j;
+ return BM_RESTART;
+ }
+ for (i = blen - 1; i >= 0 && needle[i] == haystack[i + j]; --i)
+ ;
+ if (i < 0) { /* found */
+ *reductions = reds;
+ return j;
+ }
+ j += MAX(gs[i],bs[haystack[i+j]] - blen + 1 + i);
+ }
+ *reductions = reds;
+ return BM_NOT_FOUND;
+}
+
+typedef struct {
+ Sint pos;
+ Sint len;
+ Uint m;
+ Uint allocated;
+ FindallData *out;
+} BMFindAllState;
+
+static void bm_init_find_all(BMFindAllState *state, Sint startpos, Uint len)
+{
+ state->pos = startpos;
+ state->len = (Sint) len;
+ state->m = 0;
+ state->allocated = 0;
+ state->out = NULL;
+}
+
+static void bm_restore_find_all(BMFindAllState *state, char *buff)
+{
+ memcpy(state,buff,sizeof(BMFindAllState));
+ state->out = erts_alloc(ERTS_ALC_T_TMP, sizeof(FindallData) *
+ (state->allocated));
+ memcpy(state->out,buff+sizeof(BMFindAllState),
+ sizeof(FindallData)*state->m);
+}
+
+static void bm_serialize_find_all(BMFindAllState *state, char *buff)
+{
+ memcpy(buff,state,sizeof(BMFindAllState));
+ memcpy(buff+sizeof(BMFindAllState),state->out,
+ sizeof(FindallData)*state->m);
+}
+
+static void bm_clean_find_all(BMFindAllState *state)
+{
+ if (state->out != NULL) {
+ erts_free(ERTS_ALC_T_TMP, state->out);
+ }
+#ifdef HARDDEBUG
+ state->out = NULL;
+ state->allocated = 0;
+#endif
+}
+
+#define SIZEOF_BM_SERIALIZED_FIND_ALL_STATE(S) \
+ (sizeof(BMFindAllState)+(sizeof(FindallData)*(S).m))
+
+/*
+ * Differs to the find_first function in that it stores all matches and the
+ * values are returned only in the state.
+ */
+static Sint bm_find_all_non_overlapping(BMFindAllState *state,
+ BMData *bmd, byte *haystack,
+ Uint *reductions)
+{
+ Sint blen = bmd->len;
+ Sint len = state->len;
+ Sint *gs = bmd->goodshift;
+ Sint *bs = bmd->badshift;
+ byte *needle = bmd->x;
+ Sint i;
+ Sint j = state->pos;
+ Uint m = state->m;
+ Uint allocated = state->allocated;
+ FindallData *out = state->out;
+ register Uint reds = *reductions;
+
+ while (j <= len - blen) {
+ if (--reds == 0) {
+ state->pos = j;
+ state->m = m;
+ state->allocated = allocated;
+ state->out = out;
+ return BM_RESTART;
+ }
+ for (i = blen - 1; i >= 0 && needle[i] == haystack[i + j]; --i)
+ ;
+ if (i < 0) { /* found */
+ if (m >= allocated) {
+ if (!allocated) {
+ allocated = 10;
+ out = erts_alloc(ERTS_ALC_T_TMP, sizeof(FindallData) * allocated);
+ } else {
+ allocated *= 2;
+ out = erts_realloc(ERTS_ALC_T_TMP, out,
+ sizeof(FindallData) * allocated);
+ }
+ }
+ out[m].pos = j;
+ out[m].len = blen;
+ ++m;
+ j += blen;
+ } else {
+ j += MAX(gs[i],bs[haystack[i+j]] - blen + 1 + i);
+ }
+ }
+ state->m = m;
+ state->out = out;
+ *reductions = reds;
+ return (m == 0) ? BM_NOT_FOUND : BM_OK;
+}
+
+/*
+ * Interface functions (i.e. "bif's")
+ */
+
+/*
+ * Search functionality interfaces
+ */
+
+static int do_binary_match_compile(Eterm argument, Eterm *tag, Binary **binp)
+{
+ Eterm t, b, comp_term = NIL;
+ Uint characters;
+ Uint words;
+
+ characters = 0;
+ words = 0;
+
+ if (is_list(argument)) {
+ t = argument;
+ while (is_list(t)) {
+ b = CAR(list_val(t));
+ t = CDR(list_val(t));
+ if (!is_binary(b)) {
+ goto badarg;
+ }
+ if (binary_bitsize(b) != 0) {
+ goto badarg;
+ }
+ ++words;
+ characters += binary_size(b);
+ }
+ if (is_not_nil(t)) {
+ goto badarg;
+ }
+ if (words > 1) {
+ comp_term = argument;
+ } else {
+ comp_term = CAR(list_val(argument));
+ }
+ } else if (is_binary(argument)) {
+ if (binary_bitsize(argument) != 0) {
+ goto badarg;
+ }
+ words = 1;
+ comp_term = argument;
+ characters = binary_size(argument);
+ }
+
+ if (characters == 0) {
+ goto badarg;
+ }
+ ASSERT(words > 0);
+
+ if (words == 1) {
+ byte *bytes;
+ Uint bitoffs, bitsize;
+ byte *temp_alloc = NULL;
+ MyAllocator my;
+ BMData *bmd;
+ Binary *bin;
+
+ ERTS_GET_BINARY_BYTES(comp_term, bytes, bitoffs, bitsize);
+ if (bitoffs != 0) {
+ bytes = erts_get_aligned_binary_bytes(comp_term, &temp_alloc);
+ }
+ bmd = create_bmdata(&my, bytes, characters, &bin);
+ compute_badshifts(bmd);
+ compute_goodshifts(bmd);
+ erts_free_aligned_binary_bytes(temp_alloc);
+ CHECK_ALLOCATOR(my);
+ *tag = am_bm;
+ *binp = bin;
+ return 0;
+ } else {
+ ACTrie *act;
+ MyAllocator my;
+ ACNode **qbuff;
+ Binary *bin;
+
+ act = create_acdata(&my, characters, &qbuff, &bin);
+ t = comp_term;
+ while (is_list(t)) {
+ byte *bytes;
+ Uint bitoffs, bitsize;
+ byte *temp_alloc = NULL;
+ b = CAR(list_val(t));
+ t = CDR(list_val(t));
+ ERTS_GET_BINARY_BYTES(b, bytes, bitoffs, bitsize);
+ if (bitoffs != 0) {
+ bytes = erts_get_aligned_binary_bytes(b, &temp_alloc);
+ }
+ ac_add_one_pattern(&my,act,bytes,binary_size(b));
+ erts_free_aligned_binary_bytes(temp_alloc);
+ }
+ ac_compute_failure_functions(act,qbuff);
+ CHECK_ALLOCATOR(my);
+ erts_free(ERTS_ALC_T_TMP,qbuff);
+ *tag = am_ac;
+ *binp = bin;
+ return 0;
+ }
+ badarg:
+ return -1;
+}
+
+BIF_RETTYPE binary_compile_pattern_1(BIF_ALIST_1)
+{
+ Binary *bin;
+ Eterm tag, ret;
+ Eterm *hp;
+
+ if (do_binary_match_compile(BIF_ARG_1,&tag,&bin)) {
+ BIF_ERROR(BIF_P,BADARG);
+ }
+ hp = HAlloc(BIF_P, PROC_BIN_SIZE+3);
+ ret = erts_mk_magic_binary_term(&hp, &MSO(BIF_P), bin);
+ ret = TUPLE2(hp, tag, ret);
+ BIF_RET(ret);
+}
+
+#define DO_BIN_MATCH_OK 0
+#define DO_BIN_MATCH_BADARG -1
+#define DO_BIN_MATCH_RESTART -2
+
+static int do_binary_match(Process *p, Eterm subject, Uint hsstart, Uint hsend,
+ Eterm type, Binary *bin, Eterm state_term,
+ Eterm *res_term)
+{
+ byte *bytes;
+ Uint bitoffs, bitsize;
+ byte *temp_alloc = NULL;
+
+ ERTS_GET_BINARY_BYTES(subject, bytes, bitoffs, bitsize);
+ if (bitsize != 0) {
+ goto badarg;
+ }
+ if (bitoffs != 0) {
+ bytes = erts_get_aligned_binary_bytes(subject, &temp_alloc);
+ }
+ if (state_term != NIL) {
+ Eterm *ptr = big_val(state_term);
+ type = ptr[1];
+ }
+
+ if (type == am_bm) {
+ BMData *bm;
+ Sint pos;
+ Eterm ret;
+ Eterm *hp;
+ BMFindFirstState state;
+ Uint reds = get_reds(p, BM_LOOP_FACTOR);
+ Uint save_reds = reds;
+
+ bm = (BMData *) ERTS_MAGIC_BIN_DATA(bin);
+#ifdef HARDDEBUG
+ dump_bm_data(bm);
+#endif
+ if (state_term == NIL) {
+ bm_init_find_first_match(&state, hsstart, hsend);
+ } else {
+ Eterm *ptr = big_val(state_term);
+ memcpy(&state,ptr+2,sizeof(state));
+ }
+#ifdef HARDDEBUG
+ erts_printf("(bm) state->pos = %ld, state->len = %lu\n",state.pos,
+ state.len);
+#endif
+ pos = bm_find_first_match(&state, bm, bytes, &reds);
+ if (pos == BM_NOT_FOUND) {
+ ret = am_nomatch;
+ } else if (pos == BM_RESTART) {
+ int x = (sizeof(BMFindFirstState) / sizeof(Eterm)) +
+ !!(sizeof(BMFindFirstState) % sizeof(Eterm));
+#ifdef HARDDEBUG
+ erts_printf("Trap bm!\n");
+#endif
+ hp = HAlloc(p,x+2);
+ hp[0] = make_pos_bignum_header(x+1);
+ hp[1] = type;
+ memcpy(hp+2,&state,sizeof(state));
+ *res_term = make_big(hp);
+ erts_free_aligned_binary_bytes(temp_alloc);
+ return DO_BIN_MATCH_RESTART;
+ } else {
+ Eterm erlen = erts_make_integer((Uint) bm->len, p);
+ ret = erts_make_integer(pos,p);
+ hp = HAlloc(p,3);
+ ret = TUPLE2(hp, ret, erlen);
+ }
+ erts_free_aligned_binary_bytes(temp_alloc);
+ BUMP_REDS(p, (save_reds - reds) / BM_LOOP_FACTOR);
+ *res_term = ret;
+ return DO_BIN_MATCH_OK;
+ } else if (type == am_ac) {
+ ACTrie *act;
+ Uint pos, rlen;
+ int acr;
+ ACFindFirstState state;
+ Eterm ret;
+ Eterm *hp;
+ Uint reds = get_reds(p, AC_LOOP_FACTOR);
+ Uint save_reds = reds;
+
+ act = (ACTrie *) ERTS_MAGIC_BIN_DATA(bin);
+#ifdef HARDDEBUG
+ dump_ac_trie(act);
+#endif
+ if (state_term == NIL) {
+ ac_init_find_first_match(&state, act, hsstart, hsend);
+ } else {
+ Eterm *ptr = big_val(state_term);
+ memcpy(&state,ptr+2,sizeof(state));
+ }
+ acr = ac_find_first_match(&state, bytes, &pos, &rlen, &reds);
+ if (acr == AC_NOT_FOUND) {
+ ret = am_nomatch;
+ } else if (acr == AC_RESTART) {
+ int x = (sizeof(state) / sizeof(Eterm)) +
+ !!(sizeof(BMFindFirstState) % sizeof(Eterm));
+#ifdef HARDDEBUG
+ erts_printf("Trap ac!\n");
+#endif
+ hp = HAlloc(p,x+2);
+ hp[0] = make_pos_bignum_header(x+1);
+ hp[1] = type;
+ memcpy(hp+2,&state,sizeof(state));
+ *res_term = make_big(hp);
+ erts_free_aligned_binary_bytes(temp_alloc);
+ return DO_BIN_MATCH_RESTART;
+ } else {
+ Eterm epos = erts_make_integer(pos+hsstart,p);
+ Eterm erlen = erts_make_integer(rlen,p);
+ hp = HAlloc(p,3);
+ ret = TUPLE2(hp, epos, erlen);
+ }
+ erts_free_aligned_binary_bytes(temp_alloc);
+ BUMP_REDS(p, (save_reds - reds) / AC_LOOP_FACTOR);
+ *res_term = ret;
+ return DO_BIN_MATCH_OK;
+ }
+ badarg:
+ return DO_BIN_MATCH_BADARG;
+}
+
+static int do_binary_matches(Process *p, Eterm subject, Uint hsstart,
+ Uint hsend, Eterm type, Binary *bin,
+ Eterm state_term, Eterm *res_term)
+{
+ byte *bytes;
+ Uint bitoffs, bitsize;
+ byte *temp_alloc = NULL;
+
+ ERTS_GET_BINARY_BYTES(subject, bytes, bitoffs, bitsize);
+ if (bitsize != 0) {
+ goto badarg;
+ }
+ if (bitoffs != 0) {
+ bytes = erts_get_aligned_binary_bytes(subject, &temp_alloc);
+ }
+ if (state_term != NIL) {
+ Eterm *ptr = big_val(state_term);
+ type = ptr[1];
+ }
+
+ if (type == am_bm) {
+ BMData *bm;
+ Sint pos;
+ Eterm ret,tpl;
+ Eterm *hp;
+ BMFindAllState state;
+ Uint reds = get_reds(p, BM_LOOP_FACTOR);
+ Uint save_reds = reds;
+
+ bm = (BMData *) ERTS_MAGIC_BIN_DATA(bin);
+#ifdef HARDDEBUG
+ dump_bm_data(bm);
+#endif
+ if (state_term == NIL) {
+ bm_init_find_all(&state, hsstart, hsend);
+ } else {
+ Eterm *ptr = big_val(state_term);
+ bm_restore_find_all(&state,(char *) (ptr+2));
+ }
+
+ pos = bm_find_all_non_overlapping(&state, bm, bytes, &reds);
+ if (pos == BM_NOT_FOUND) {
+ ret = NIL;
+ } else if (pos == BM_RESTART) {
+ int x =
+ (SIZEOF_BM_SERIALIZED_FIND_ALL_STATE(state) / sizeof(Eterm)) +
+ !!(SIZEOF_BM_SERIALIZED_FIND_ALL_STATE(state) % sizeof(Eterm));
+#ifdef HARDDEBUG
+ erts_printf("Trap bm!\n");
+#endif
+ hp = HAlloc(p,x+2);
+ hp[0] = make_pos_bignum_header(x+1);
+ hp[1] = type;
+ bm_serialize_find_all(&state, (char *) (hp+2));
+ *res_term = make_big(hp);
+ erts_free_aligned_binary_bytes(temp_alloc);
+ bm_clean_find_all(&state);
+ return DO_BIN_MATCH_RESTART;
+ } else {
+ FindallData *fad = state.out;
+ int i;
+ for (i = 0; i < state.m; ++i) {
+ fad[i].epos = erts_make_integer(fad[i].pos,p);
+ fad[i].elen = erts_make_integer(fad[i].len,p);
+ }
+ hp = HAlloc(p,state.m * (3 + 2));
+ ret = NIL;
+ for (i = state.m - 1; i >= 0; --i) {
+ tpl = TUPLE2(hp, fad[i].epos, fad[i].elen);
+ hp +=3;
+ ret = CONS(hp,tpl,ret);
+ hp += 2;
+ }
+ }
+ erts_free_aligned_binary_bytes(temp_alloc);
+ bm_clean_find_all(&state);
+ BUMP_REDS(p, (save_reds - reds) / BM_LOOP_FACTOR);
+ *res_term = ret;
+ return DO_BIN_MATCH_OK;
+ } else if (type == am_ac) {
+ ACTrie *act;
+ int acr;
+ ACFindAllState state;
+ Eterm ret,tpl;
+ Eterm *hp;
+ Uint reds = get_reds(p, AC_LOOP_FACTOR);
+ Uint save_reds = reds;
+
+ act = (ACTrie *) ERTS_MAGIC_BIN_DATA(bin);
+#ifdef HARDDEBUG
+ dump_ac_trie(act);
+#endif
+ if (state_term == NIL) {
+ ac_init_find_all(&state, act, hsstart, hsend);
+ } else {
+ Eterm *ptr = big_val(state_term);
+ ac_restore_find_all(&state,(char *) (ptr+2));
+ }
+ acr = ac_find_all_non_overlapping(&state, bytes, &reds);
+ if (acr == AC_NOT_FOUND) {
+ ret = NIL;
+ } else if (acr == AC_RESTART) {
+ int x =
+ (SIZEOF_AC_SERIALIZED_FIND_ALL_STATE(state) / sizeof(Eterm)) +
+ !!(SIZEOF_AC_SERIALIZED_FIND_ALL_STATE(state) % sizeof(Eterm));
+#ifdef HARDDEBUG
+ erts_printf("Trap ac!\n");
+#endif
+ hp = HAlloc(p,x+2);
+ hp[0] = make_pos_bignum_header(x+1);
+ hp[1] = type;
+ ac_serialize_find_all(&state, (char *) (hp+2));
+ *res_term = make_big(hp);
+ erts_free_aligned_binary_bytes(temp_alloc);
+ ac_clean_find_all(&state);
+ return DO_BIN_MATCH_RESTART;
+ } else {
+ FindallData *fad = state.out;
+ int i;
+ for (i = 0; i < state.m; ++i) {
+ fad[i].epos = erts_make_integer(fad[i].pos,p);
+ fad[i].elen = erts_make_integer(fad[i].len,p);
+ }
+ hp = HAlloc(p,state.m * (3 + 2));
+ ret = NIL;
+ for (i = state.m - 1; i >= 0; --i) {
+ tpl = TUPLE2(hp, fad[i].epos, fad[i].elen);
+ hp +=3;
+ ret = CONS(hp,tpl,ret);
+ hp += 2;
+ }
+ }
+ erts_free_aligned_binary_bytes(temp_alloc);
+ ac_clean_find_all(&state);
+ BUMP_REDS(p, (save_reds - reds) / AC_LOOP_FACTOR);
+ *res_term = ret;
+ return DO_BIN_MATCH_OK;
+ }
+ badarg:
+ return DO_BIN_MATCH_BADARG;
+}
+
+static int parse_match_opts_list(Eterm l, Eterm bin, Uint *posp, Uint *endp)
+{
+ Eterm *tp;
+ Uint pos;
+ Sint len;
+ if (l == ((Eterm) 0) || l == NIL) {
+ /* Invalid term or NIL, we're called from binary_match(es)_2 or
+ have no options*/
+ *posp = 0;
+ *endp = binary_size(bin);
+ return 0;
+ } else if (is_list(l)) {
+ while(is_list(l)) {
+ Eterm t = CAR(list_val(l));
+ Uint orig_size;
+ if (!is_tuple(t)) {
+ goto badarg;
+ }
+ tp = tuple_val(t);
+ if (arityval(*tp) != 2) {
+ goto badarg;
+ }
+ if (tp[1] != am_scope || is_not_tuple(tp[2])) {
+ goto badarg;
+ }
+ tp = tuple_val(tp[2]);
+ if (arityval(*tp) != 2) {
+ goto badarg;
+ }
+ if (!term_to_Uint(tp[1], &pos)) {
+ goto badarg;
+ }
+ if (!term_to_Sint(tp[2], &len)) {
+ goto badarg;
+ }
+ if (len < 0) {
+ Sint lentmp = -len;
+ /* overflow */
+ if (lentmp == len || lentmp < 0 || -lentmp != len) {
+ goto badarg;
+ }
+ len = lentmp;
+ pos -= len;
+ }
+ /* overflow */
+ if ((pos + len) < pos || (len > 0 && (pos + len) == pos)) {
+ goto badarg;
+ }
+ *endp = len + pos;
+ *posp = pos;
+ if ((orig_size = binary_size(bin)) < pos ||
+ orig_size < (*endp)) {
+ goto badarg;
+ }
+ l = CDR(list_val(l));
+ }
+ return 0;
+ } else {
+ badarg:
+ return 1;
+ }
+}
+
+static BIF_RETTYPE binary_match_trap(BIF_ALIST_3)
+{
+ int runres;
+ Eterm result;
+ Binary *bin = ((ProcBin *) binary_val(BIF_ARG_3))->val;
+ runres = do_binary_match(BIF_P,BIF_ARG_1,0,0,NIL,bin,BIF_ARG_2,&result);
+ if (runres == DO_BIN_MATCH_OK) {
+ BIF_RET(result);
+ } else {
+ BUMP_ALL_REDS(BIF_P);
+ BIF_TRAP3(&binary_match_trap_export, BIF_P, BIF_ARG_1, result,
+ BIF_ARG_3);
+ }
+}
+
+static BIF_RETTYPE binary_matches_trap(BIF_ALIST_3)
+{
+ int runres;
+ Eterm result;
+ Binary *bin = ((ProcBin *) binary_val(BIF_ARG_3))->val;
+ runres = do_binary_matches(BIF_P,BIF_ARG_1,0,0,NIL,bin,BIF_ARG_2,&result);
+ if (runres == DO_BIN_MATCH_OK) {
+ BIF_RET(result);
+ } else {
+ BUMP_ALL_REDS(BIF_P);
+ BIF_TRAP3(&binary_matches_trap_export, BIF_P, BIF_ARG_1, result,
+ BIF_ARG_3);
+ }
+}
+
+BIF_RETTYPE binary_match_3(BIF_ALIST_3)
+{
+ Uint hsstart;
+ Uint hsend;
+ Eterm *tp;
+ Eterm type;
+ Binary *bin;
+ Eterm bin_term = NIL;
+ int runres;
+ Eterm result;
+
+ if (is_not_binary(BIF_ARG_1)) {
+ goto badarg;
+ }
+ if (parse_match_opts_list(BIF_ARG_3,BIF_ARG_1,&hsstart,&hsend)) {
+ goto badarg;
+ }
+ if (hsend == 0) {
+ BIF_RET(am_nomatch);
+ }
+ if (is_tuple(BIF_ARG_2)) {
+ tp = tuple_val(BIF_ARG_2);
+ if (arityval(*tp) != 2 || is_not_atom(tp[1])) {
+ goto badarg;
+ }
+ if (((tp[1] != am_bm) && (tp[1] != am_ac)) ||
+ !ERTS_TERM_IS_MAGIC_BINARY(tp[2])) {
+ goto badarg;
+ }
+ type = tp[1];
+ bin = ((ProcBin *) binary_val(tp[2]))->val;
+ if (type == am_bm &&
+ ERTS_MAGIC_BIN_DESTRUCTOR(bin) != cleanup_my_data_bm) {
+ goto badarg;
+ }
+ if (type == am_ac &&
+ ERTS_MAGIC_BIN_DESTRUCTOR(bin) != cleanup_my_data_ac) {
+ goto badarg;
+ }
+ bin_term = tp[2];
+ } else if (do_binary_match_compile(BIF_ARG_2,&type,&bin)) {
+ goto badarg;
+ }
+ runres = do_binary_match(BIF_P,BIF_ARG_1,hsstart,hsend,type,bin,NIL,&result);
+ if (runres == DO_BIN_MATCH_RESTART && bin_term == NIL) {
+ Eterm *hp = HAlloc(BIF_P, PROC_BIN_SIZE);
+ bin_term = erts_mk_magic_binary_term(&hp, &MSO(BIF_P), bin);
+ } else if (bin_term == NIL) {
+ erts_bin_free(bin);
+ }
+ switch (runres) {
+ case DO_BIN_MATCH_OK:
+ BIF_RET(result);
+ case DO_BIN_MATCH_RESTART:
+ BUMP_ALL_REDS(BIF_P);
+ BIF_TRAP3(&binary_match_trap_export, BIF_P, BIF_ARG_1, result, bin_term);
+ default:
+ goto badarg;
+ }
+ badarg:
+ BIF_ERROR(BIF_P,BADARG);
+}
+
+BIF_RETTYPE binary_matches_3(BIF_ALIST_3)
+{
+ Uint hsstart, hsend;
+ Eterm *tp;
+ Eterm type;
+ Binary *bin;
+ Eterm bin_term = NIL;
+ int runres;
+ Eterm result;
+
+ if (is_not_binary(BIF_ARG_1)) {
+ goto badarg;
+ }
+ if (parse_match_opts_list(BIF_ARG_3,BIF_ARG_1,&hsstart,&hsend)) {
+ goto badarg;
+ }
+ if (hsend == 0) {
+ BIF_RET(am_nomatch);
+ }
+ if (is_tuple(BIF_ARG_2)) {
+ tp = tuple_val(BIF_ARG_2);
+ if (arityval(*tp) != 2 || is_not_atom(tp[1])) {
+ goto badarg;
+ }
+ if (((tp[1] != am_bm) && (tp[1] != am_ac)) ||
+ !ERTS_TERM_IS_MAGIC_BINARY(tp[2])) {
+ goto badarg;
+ }
+ type = tp[1];
+ bin = ((ProcBin *) binary_val(tp[2]))->val;
+ if (type == am_bm &&
+ ERTS_MAGIC_BIN_DESTRUCTOR(bin) != cleanup_my_data_bm) {
+ goto badarg;
+ }
+ if (type == am_ac &&
+ ERTS_MAGIC_BIN_DESTRUCTOR(bin) != cleanup_my_data_ac) {
+ goto badarg;
+ }
+ bin_term = tp[2];
+ } else if (do_binary_match_compile(BIF_ARG_2,&type,&bin)) {
+ goto badarg;
+ }
+ runres = do_binary_matches(BIF_P,BIF_ARG_1,hsstart,hsend,type,bin,
+ NIL,&result);
+ if (runres == DO_BIN_MATCH_RESTART && bin_term == NIL) {
+ Eterm *hp = HAlloc(BIF_P, PROC_BIN_SIZE);
+ bin_term = erts_mk_magic_binary_term(&hp, &MSO(BIF_P), bin);
+ } else if (bin_term == NIL) {
+ erts_bin_free(bin);
+ }
+ switch (runres) {
+ case DO_BIN_MATCH_OK:
+ BIF_RET(result);
+ case DO_BIN_MATCH_RESTART:
+ BUMP_ALL_REDS(BIF_P);
+ BIF_TRAP3(&binary_matches_trap_export, BIF_P, BIF_ARG_1, result,
+ bin_term);
+ default:
+ goto badarg;
+ }
+ badarg:
+ BIF_ERROR(BIF_P,BADARG);
+}
+
+
+BIF_RETTYPE binary_match_2(BIF_ALIST_2)
+{
+ return binary_match_3(BIF_P,BIF_ARG_1,BIF_ARG_2,((Eterm) 0));
+}
+
+
+BIF_RETTYPE binary_matches_2(BIF_ALIST_2)
+{
+ return binary_matches_3(BIF_P,BIF_ARG_1,BIF_ARG_2,((Eterm) 0));
+}
+
+
+BIF_RETTYPE erts_binary_part(Process *p, Eterm binary, Eterm epos, Eterm elen)
+{
+ Uint pos;
+ Sint len;
+ size_t orig_size;
+ Eterm orig;
+ Uint offset;
+ Uint bit_offset;
+ Uint bit_size;
+ Eterm* hp;
+ ErlSubBin* sb;
+
+ if (is_not_binary(binary)) {
+ goto badarg;
+ }
+ if (!term_to_Uint(epos, &pos)) {
+ goto badarg;
+ }
+ if (!term_to_Sint(elen, &len)) {
+ goto badarg;
+ }
+ if (len < 0) {
+ Sint lentmp = -len;
+ /* overflow */
+ if (lentmp == len || lentmp < 0 || -lentmp != len) {
+ goto badarg;
+ }
+ len = lentmp;
+ if (len > pos) {
+ goto badarg;
+ }
+ pos -= len;
+ }
+ /* overflow */
+ if ((pos + len) < pos || (len > 0 && (pos + len) == pos)){
+ goto badarg;
+ }
+ if ((orig_size = binary_size(binary)) < pos ||
+ orig_size < (pos + len)) {
+ goto badarg;
+ }
+
+
+
+ hp = HAlloc(p, ERL_SUB_BIN_SIZE);
+
+ ERTS_GET_REAL_BIN(binary, orig, offset, bit_offset, bit_size);
+ sb = (ErlSubBin *) hp;
+ sb->thing_word = HEADER_SUB_BIN;
+ sb->size = len;
+ sb->offs = offset + pos;
+ sb->orig = orig;
+ sb->bitoffs = bit_offset;
+ sb->bitsize = 0;
+ sb->is_writable = 0;
+
+ BIF_RET(make_binary(sb));
+
+ badarg:
+ BIF_ERROR(p, BADARG);
+}
+
+#define ERTS_NEED_GC(p, need) ((HEAP_LIMIT((p)) - HEAP_TOP((p))) <= (need))
+
+BIF_RETTYPE erts_gc_binary_part(Process *p, Eterm *reg, Eterm live, int range_is_tuple)
+{
+ Uint pos;
+ Sint len;
+ size_t orig_size;
+ Eterm orig;
+ Uint offset;
+ Uint bit_offset;
+ Uint bit_size;
+ Eterm* hp;
+ ErlSubBin* sb;
+ Eterm binary;
+ Eterm *tp;
+ Eterm epos, elen;
+ int extra_args;
+
+
+ if (range_is_tuple) {
+ Eterm tpl = reg[live];
+ extra_args = 1;
+ if (is_not_tuple(tpl)) {
+ goto badarg;
+ }
+ tp = tuple_val(tpl);
+ if (arityval(*tp) != 2) {
+ goto badarg;
+ }
+
+ epos = tp[1];
+ elen = tp[2];
+ } else {
+ extra_args = 2;
+ epos = reg[live-1];
+ elen = reg[live];
+ }
+ binary = reg[live-extra_args];
+
+ if (is_not_binary(binary)) {
+ goto badarg;
+ }
+ if (!term_to_Uint(epos, &pos)) {
+ goto badarg;
+ }
+ if (!term_to_Sint(elen, &len)) {
+ goto badarg;
+ }
+ if (len < 0) {
+ Sint lentmp = -len;
+ /* overflow */
+ if (lentmp == len || lentmp < 0 || -lentmp != len) {
+ goto badarg;
+ }
+ len = lentmp;
+ if (len > pos) {
+ goto badarg;
+ }
+ pos -= len;
+ }
+ /* overflow */
+ if ((pos + len) < pos || (len > 0 && (pos + len) == pos)) {
+ goto badarg;
+ }
+ if ((orig_size = binary_size(binary)) < pos ||
+ orig_size < (pos + len)) {
+ goto badarg;
+ }
+
+ if (ERTS_NEED_GC(p, ERL_SUB_BIN_SIZE)) {
+ erts_garbage_collect(p, ERL_SUB_BIN_SIZE, reg, live+1-extra_args); /* I don't need the tuple
+ or indices any more */
+ binary = reg[live-extra_args];
+ }
+
+ hp = p->htop;
+ p->htop += ERL_SUB_BIN_SIZE;
+
+ ERTS_GET_REAL_BIN(binary, orig, offset, bit_offset, bit_size);
+
+ sb = (ErlSubBin *) hp;
+ sb->thing_word = HEADER_SUB_BIN;
+ sb->size = len;
+ sb->offs = offset + pos;
+ sb->orig = orig;
+ sb->bitoffs = bit_offset;
+ sb->bitsize = 0;
+ sb->is_writable = 0;
+
+ BIF_RET(make_binary(sb));
+
+ badarg:
+ BIF_ERROR(p, BADARG);
+}
+/*************************************************************
+ * The actual guard BIFs are in erl_bif_guard.c
+ * but the implementation of both the non-gc and the gc
+ * variants are here. Note that the functions are named so that they do
+ * not clash with the guard bif's erlang:binary_part/2,3
+ *************************************************************/
+
+BIF_RETTYPE binary_binary_part_3(BIF_ALIST_3)
+{
+ return erts_binary_part(BIF_P,BIF_ARG_1,BIF_ARG_2, BIF_ARG_3);
+}
+
+BIF_RETTYPE binary_binary_part_2(BIF_ALIST_2)
+{
+ Eterm *tp;
+ if (is_not_tuple(BIF_ARG_2)) {
+ goto badarg;
+ }
+ tp = tuple_val(BIF_ARG_2);
+ if (arityval(*tp) != 2) {
+ goto badarg;
+ }
+ return erts_binary_part(BIF_P,BIF_ARG_1,tp[1], tp[2]);
+ badarg:
+ BIF_ERROR(BIF_P,BADARG);
+}
+
+typedef struct {
+ int type; /* CL_TYPE_XXX */
+ byte *temp_alloc; /* Used for erts_get/free_aligned, i.e. CL_TYPE_ALIGNED */
+ unsigned char *buff; /* Used for all types, malloced if CL_TYPE_HEAP */
+ Uint bufflen; /* The length (in bytes) of buffer */
+} CommonData;
+
+#define COMMON_LOOP_FACTOR 10
+
+#define DIRECTION_PREFIX 0
+#define DIRECTION_SUFFIX 1
+
+#define CL_OK 0
+#define CL_RESTART 1
+
+/* The type field in the above structure */
+#define CL_TYPE_EMPTY 0 /* End of array */
+#define CL_TYPE_HEAP 1
+#define CL_TYPE_ALIGNED 2
+#define CL_TYPE_COMMON 3 /* emacsulated */
+#define CL_TYPE_HEAP_NOALLOC 4 /* Will need allocating when trapping */
+
+
+static int do_search_forward(CommonData *cd, Uint *posp, Uint *redsp)
+{
+ Uint pos = *posp;
+ Sint reds = (Sint) *redsp;
+ int i;
+ unsigned char current = 0;
+
+ for(;;) {
+ for(i = 0; cd[i].type != CL_TYPE_EMPTY; ++i) {
+ if (pos >= cd[i].bufflen) {
+ *posp = pos;
+ if (reds > 0) {
+ *redsp = (Uint) reds;
+ } else {
+ *redsp = 0;
+ }
+ return CL_OK;
+ }
+ if (i == 0) {
+ current = cd[i].buff[pos];
+ } else {
+ if (cd[i].buff[pos] != current) {
+ *posp = pos;
+ if (reds > 0) {
+ *redsp = (Uint) reds;
+ } else {
+ *redsp = 0;
+ }
+ return CL_OK;
+ }
+ }
+ --reds;
+ }
+ ++pos;
+ if (reds <= 0) {
+ *posp = pos;
+ *redsp = 0;
+ return CL_RESTART;
+ }
+ }
+}
+static int do_search_backward(CommonData *cd, Uint *posp, Uint *redsp)
+{
+ Uint pos = *posp;
+ Sint reds = (Sint) *redsp;
+ int i;
+ unsigned char current = 0;
+
+ for(;;) {
+ for(i = 0; cd[i].type != CL_TYPE_EMPTY; ++i) {
+ if (pos >= cd[i].bufflen) {
+ *posp = pos;
+ if (reds > 0) {
+ *redsp = (Uint) reds;
+ } else {
+ *redsp = 0;
+ }
+ return CL_OK;
+ }
+ if (i == 0) {
+ current = cd[i].buff[cd[i].bufflen - 1 - pos];
+ } else {
+ if (cd[i].buff[cd[i].bufflen - 1 - pos] != current) {
+ *posp = pos;
+ if (reds > 0) {
+ *redsp = (Uint) reds;
+ } else {
+ *redsp = 0;
+ }
+ return CL_OK;
+ }
+ }
+ --reds;
+ }
+ ++pos;
+ if (reds <= 0) {
+ *posp = pos;
+ *redsp = 0;
+ return CL_RESTART;
+ }
+ }
+}
+
+static void cleanup_common_data(Binary *bp)
+{
+ int i;
+ CommonData *cd;
+ cd = (CommonData *) ERTS_MAGIC_BIN_DATA(bp);
+ for (i=0;cd[i].type != CL_TYPE_EMPTY;++i) {
+ switch (cd[i].type) {
+ case CL_TYPE_HEAP:
+ erts_free(ERTS_ALC_T_BINARY_BUFFER,cd[i].buff);
+ break;
+ case CL_TYPE_ALIGNED:
+ erts_free_aligned_binary_bytes_extra(cd[i].temp_alloc, ERTS_ALC_T_BINARY_BUFFER);
+ break;
+ default:
+ break;
+ }
+ }
+ return;
+}
+
+static BIF_RETTYPE do_longest_common(Process *p, Eterm list, int direction)
+{
+ Eterm l = list;
+ int n = 0;
+ Binary *mb;
+ CommonData *cd;
+ int i = 0;
+ Uint reds = get_reds(p, COMMON_LOOP_FACTOR);
+ Uint save_reds = reds;
+ int res;
+ Export *trapper;
+ Uint pos;
+ Eterm epos;
+ Eterm *hp;
+ Eterm bin_term;
+ Eterm b;
+
+ /* First just count the number of binaries */
+ while (is_list(l)) {
+ b = CAR(list_val(l));
+ if (!is_binary(b)) {
+ goto badarg;
+ }
+ ++n;
+ l = CDR(list_val(l));
+ }
+ if (l != NIL || n == 0) {
+ goto badarg;
+ }
+
+ /* OK, now create a buffer of the right size, we can do a magic binary right away,
+ thats not to costly. */
+ mb = erts_create_magic_binary((n+1)*sizeof(CommonData),cleanup_common_data);
+ cd = (CommonData *) ERTS_MAGIC_BIN_DATA(mb);
+ l = list;
+ while (is_list(l)) {
+ Uint bitoffs;
+ Uint bitsize;
+ Uint offset;
+ Eterm real_bin;
+ ProcBin* pb;
+
+ cd[i].type = CL_TYPE_EMPTY;
+ b = CAR(list_val(l));
+ ERTS_GET_REAL_BIN(b, real_bin, offset, bitoffs, bitsize);
+ if (bitsize != 0) {
+ erts_bin_free(mb);
+ goto badarg;
+ }
+ cd[i].bufflen = binary_size(b);
+ cd[i].temp_alloc = NULL;
+ if (*(binary_val(real_bin)) == HEADER_PROC_BIN) {
+ pb = (ProcBin *) binary_val(real_bin);
+ if (pb->flags) {
+ erts_emasculate_writable_binary(pb);
+ }
+ cd[i].buff = erts_get_aligned_binary_bytes_extra(b, &(cd[i].temp_alloc),
+ ERTS_ALC_T_BINARY_BUFFER,0);
+ cd[i].type = (cd[i].temp_alloc != NULL) ? CL_TYPE_ALIGNED : CL_TYPE_COMMON;
+ } else { /* Heap binary */
+ cd[i].buff = erts_get_aligned_binary_bytes_extra(b, &(cd[i].temp_alloc),
+ ERTS_ALC_T_BINARY_BUFFER,0);
+ /* CL_TYPE_HEAP_NOALLOC means you have to copy if trapping */
+ cd[i].type = (cd[i].temp_alloc != NULL) ? CL_TYPE_ALIGNED : CL_TYPE_HEAP_NOALLOC;
+ }
+ ++i;
+ l = CDR(list_val(l));
+ }
+ cd[i].type = CL_TYPE_EMPTY;
+#if defined(DEBUG) || defined(VALGRIND)
+ cd[i].temp_alloc = NULL;
+ cd[i].buff = NULL;
+ cd[i].bufflen = 0;
+#endif
+
+ pos = 0;
+ if (direction == DIRECTION_PREFIX) {
+ trapper = &binary_longest_prefix_trap_export;
+ res = do_search_forward(cd,&pos,&reds);
+ } else {
+ ASSERT(direction == DIRECTION_SUFFIX);
+ trapper = &binary_longest_suffix_trap_export;
+ res = do_search_backward(cd,&pos,&reds);
+ }
+ epos = erts_make_integer(pos,p);
+ if (res == CL_OK) {
+ erts_bin_free(mb);
+ BUMP_REDS(p, (save_reds - reds) / COMMON_LOOP_FACTOR);
+ BIF_RET(epos);
+ } else {
+ ASSERT(res == CL_RESTART);
+ /* Copy all heap binaries that are not already copied (aligned) */
+ for(i = 0; i < n; ++i) {
+ if (cd[i].type == CL_TYPE_HEAP_NOALLOC) {
+ unsigned char *tmp = cd[i].buff;
+ cd[i].buff = erts_alloc(ERTS_ALC_T_BINARY_BUFFER, cd[i].bufflen);
+ memcpy(cd[i].buff,tmp,cd[i].bufflen);
+ cd[i].type = CL_TYPE_HEAP;
+ }
+ }
+ hp = HAlloc(p, PROC_BIN_SIZE);
+ bin_term = erts_mk_magic_binary_term(&hp, &MSO(p), mb);
+ BUMP_ALL_REDS(p);
+ BIF_TRAP3(trapper, p, bin_term, epos,list);
+ }
+ badarg:
+ BIF_ERROR(p,BADARG);
+}
+
+static BIF_RETTYPE do_longest_common_trap(Process *p, Eterm bin_term, Eterm current_pos,
+ Eterm orig_list, int direction)
+{
+ Uint reds = get_reds(p, COMMON_LOOP_FACTOR);
+ Uint save_reds = reds;
+ Uint pos;
+ Binary *bin;
+ CommonData *cd;
+ int res;
+ Eterm epos;
+ Export *trapper;
+
+#ifdef DEBUG
+ int r;
+ r = term_to_Uint(current_pos, &pos);
+ ASSERT(r != 0);
+#else
+ term_to_Uint(current_pos, &pos);
+#endif
+ ASSERT(ERTS_TERM_IS_MAGIC_BINARY(bin_term));
+ bin = ((ProcBin *) binary_val(bin_term))->val;
+ cd = (CommonData *) ERTS_MAGIC_BIN_DATA(bin);
+ if (direction == DIRECTION_PREFIX) {
+ trapper = &binary_longest_prefix_trap_export;
+ res = do_search_forward(cd,&pos,&reds);
+ } else {
+ ASSERT(direction == DIRECTION_SUFFIX);
+ trapper = &binary_longest_suffix_trap_export;
+ res = do_search_backward(cd,&pos,&reds);
+ }
+ epos = erts_make_integer(pos,p);
+ if (res == CL_OK) {
+ BUMP_REDS(p, (save_reds - reds) / COMMON_LOOP_FACTOR);
+ BIF_RET(epos);
+ } else {
+ ASSERT(res == CL_RESTART);
+ /* Copy all heap binaries that are not already copied (aligned) */
+ BUMP_ALL_REDS(p);
+ BIF_TRAP3(trapper, p, bin_term, epos, orig_list);
+ }
+}
+
+static BIF_RETTYPE binary_longest_prefix_trap(BIF_ALIST_3)
+{
+ return do_longest_common_trap(BIF_P,BIF_ARG_1,BIF_ARG_2,BIF_ARG_3,DIRECTION_PREFIX);
+}
+
+static BIF_RETTYPE binary_longest_suffix_trap(BIF_ALIST_3)
+{
+ return do_longest_common_trap(BIF_P,BIF_ARG_1,BIF_ARG_2,BIF_ARG_3,DIRECTION_SUFFIX);
+}
+
+BIF_RETTYPE binary_longest_common_prefix_1(BIF_ALIST_1)
+{
+ return do_longest_common(BIF_P,BIF_ARG_1,DIRECTION_PREFIX);
+}
+
+BIF_RETTYPE binary_longest_common_suffix_1(BIF_ALIST_1)
+{
+ return do_longest_common(BIF_P,BIF_ARG_1,DIRECTION_SUFFIX);
+}
+
+BIF_RETTYPE binary_first_1(BIF_ALIST_1)
+{
+ byte* bytes;
+ Uint byte_size;
+ Uint bit_offs;
+ Uint bit_size;
+ Uint res;
+
+ if (is_not_binary(BIF_ARG_1)) {
+ goto badarg;
+ }
+ byte_size = binary_size(BIF_ARG_1);
+ if (!byte_size) {
+ goto badarg;
+ }
+ ERTS_GET_BINARY_BYTES(BIF_ARG_1,bytes,bit_offs,bit_size);
+ if (bit_size) {
+ goto badarg;
+ }
+ if (bit_offs) {
+ res = ((((Uint) bytes[0]) << bit_offs) | (((Uint) bytes[1]) >> (8-bit_offs))) & 0xFF;
+ } else {
+ res = bytes[0];
+ }
+ BIF_RET(make_small(res));
+ badarg:
+ BIF_ERROR(BIF_P,BADARG);
+}
+
+BIF_RETTYPE binary_last_1(BIF_ALIST_1)
+{
+ byte* bytes;
+ Uint byte_size;
+ Uint bit_offs;
+ Uint bit_size;
+ Uint res;
+
+ if (is_not_binary(BIF_ARG_1)) {
+ goto badarg;
+ }
+ byte_size = binary_size(BIF_ARG_1);
+ if (!byte_size) {
+ goto badarg;
+ }
+ ERTS_GET_BINARY_BYTES(BIF_ARG_1,bytes,bit_offs,bit_size);
+ if (bit_size) {
+ goto badarg;
+ }
+ if (bit_offs) {
+ res = ((((Uint) bytes[byte_size-1]) << bit_offs) |
+ (((Uint) bytes[byte_size]) >> (8-bit_offs))) & 0xFF;
+ } else {
+ res = bytes[byte_size-1];
+ }
+ BIF_RET(make_small(res));
+ badarg:
+ BIF_ERROR(BIF_P,BADARG);
+}
+
+BIF_RETTYPE binary_at_2(BIF_ALIST_2)
+{
+ byte* bytes;
+ Uint byte_size;
+ Uint bit_offs;
+ Uint bit_size;
+ Uint res;
+ Uint index;
+
+ if (is_not_binary(BIF_ARG_1)) {
+ goto badarg;
+ }
+ byte_size = binary_size(BIF_ARG_1);
+ if (!byte_size) {
+ goto badarg;
+ }
+ if (!term_to_Uint(BIF_ARG_2, &index)) {
+ goto badarg;
+ }
+ if (index >= byte_size) {
+ goto badarg;
+ }
+ ERTS_GET_BINARY_BYTES(BIF_ARG_1,bytes,bit_offs,bit_size);
+ if (bit_size) {
+ goto badarg;
+ }
+ if (bit_offs) {
+ res = ((((Uint) bytes[index]) << bit_offs) |
+ (((Uint) bytes[index+1]) >> (8-bit_offs))) & 0xFF;
+ } else {
+ res = bytes[index];
+ }
+ BIF_RET(make_small(res));
+ badarg:
+ BIF_ERROR(BIF_P,BADARG);
+}
+
+#define BIN_TO_LIST_OK 0
+#define BIN_TO_LIST_TRAP 1
+/* No badarg, checked before call */
+
+#define BIN_TO_LIST_LOOP_FACTOR 10
+
+static int do_bin_to_list(Process *p, byte *bytes, Uint bit_offs,
+ Uint start, Sint *lenp, Eterm *termp)
+{
+ Uint reds = get_reds(p, BIN_TO_LIST_LOOP_FACTOR); /* reds can never be 0 */
+ Uint len = *lenp;
+ Uint loops;
+ Eterm *hp;
+ Eterm term = *termp;
+ Uint n;
+
+ ASSERT(reds > 0);
+
+ loops = MIN(reds,len);
+
+ BUMP_REDS(p, loops / BIN_TO_LIST_LOOP_FACTOR);
+
+ hp = HAlloc(p,2*loops);
+ while (loops--) {
+ --len;
+ if (bit_offs) {
+ n = ((((Uint) bytes[start+len]) << bit_offs) |
+ (((Uint) bytes[start+len+1]) >> (8-bit_offs))) & 0xFF;
+ } else {
+ n = bytes[start+len];
+ }
+
+ term = CONS(hp,make_small(n),term);
+ hp +=2;
+ }
+ *termp = term;
+ *lenp = len;
+ if (len) {
+ BUMP_ALL_REDS(p);
+ return BIN_TO_LIST_TRAP;
+ }
+ return BIN_TO_LIST_OK;
+}
+
+
+static BIF_RETTYPE do_trap_bin_to_list(Process *p, Eterm binary,
+ Uint start, Sint len, Eterm sofar)
+{
+ Eterm *hp;
+ Eterm blob;
+
+ hp = HAlloc(p,3);
+ hp[0] = make_pos_bignum_header(2);
+ hp[1] = start;
+ hp[2] = (Uint) len;
+ blob = make_big(hp);
+ BIF_TRAP3(&binary_bin_to_list_trap_export, p, binary, blob, sofar);
+}
+
+static BIF_RETTYPE binary_bin_to_list_trap(BIF_ALIST_3)
+{
+ Eterm *ptr;
+ Uint start;
+ Sint len;
+ byte *bytes;
+ Uint bit_offs;
+ Uint bit_size;
+ Eterm res = BIF_ARG_3;
+
+ ptr = big_val(BIF_ARG_2);
+ start = ptr[1];
+ len = (Sint) ptr[2];
+
+ ERTS_GET_BINARY_BYTES(BIF_ARG_1,bytes,bit_offs,bit_size);
+ if (do_bin_to_list(BIF_P, bytes, bit_offs, start, &len, &res) ==
+ BIN_TO_LIST_OK) {
+ BIF_RET(res);
+ }
+ return do_trap_bin_to_list(BIF_P,BIF_ARG_1,start,len,res);
+}
+
+static BIF_RETTYPE binary_bin_to_list_common(Process *p,
+ Eterm bin,
+ Eterm epos,
+ Eterm elen)
+{
+ Uint pos;
+ Sint len;
+ size_t sz;
+ byte *bytes;
+ Uint bit_offs;
+ Uint bit_size;
+ Eterm res = NIL;
+
+ if (is_not_binary(bin)) {
+ goto badarg;
+ }
+ if (!term_to_Uint(epos, &pos)) {
+ goto badarg;
+ }
+ if (!term_to_Sint(elen, &len)) {
+ goto badarg;
+ }
+ if (len < 0) {
+ Sint lentmp = -len;
+ /* overflow */
+ if (lentmp == len || lentmp < 0 || -lentmp != len) {
+ goto badarg;
+ }
+ len = lentmp;
+ if (len > pos) {
+ goto badarg;
+ }
+ pos -= len;
+ }
+ /* overflow */
+ if ((pos + len) < pos || (len > 0 && (pos + len) == pos)) {
+ goto badarg;
+ }
+ sz = binary_size(bin);
+
+ if (pos+len > sz) {
+ goto badarg;
+ }
+ ERTS_GET_BINARY_BYTES(bin,bytes,bit_offs,bit_size);
+ if (bit_size != 0) {
+ goto badarg;
+ }
+ if(do_bin_to_list(p, bytes, bit_offs, pos, &len, &res) ==
+ BIN_TO_LIST_OK) {
+ BIF_RET(res);
+ }
+ return do_trap_bin_to_list(p,bin,pos,len,res);
+
+ badarg:
+ BIF_ERROR(p,BADARG);
+}
+
+BIF_RETTYPE binary_bin_to_list_3(BIF_ALIST_3)
+{
+ return binary_bin_to_list_common(BIF_P,BIF_ARG_1,BIF_ARG_2,BIF_ARG_3);
+}
+
+BIF_RETTYPE binary_bin_to_list_2(BIF_ALIST_2)
+{
+ Eterm *tp;
+
+ if (is_not_tuple(BIF_ARG_2)) {
+ goto badarg;
+ }
+ tp = tuple_val(BIF_ARG_2);
+ if (arityval(*tp) != 2) {
+ goto badarg;
+ }
+ return binary_bin_to_list_common(BIF_P,BIF_ARG_1,tp[1],tp[2]);
+ badarg:
+ BIF_ERROR(BIF_P,BADARG);
+}
+
+BIF_RETTYPE binary_bin_to_list_1(BIF_ALIST_1)
+{
+ Uint pos = 0;
+ Sint len;
+ byte *bytes;
+ Uint bit_offs;
+ Uint bit_size;
+ Eterm res = NIL;
+
+ if (is_not_binary(BIF_ARG_1)) {
+ goto badarg;
+ }
+ len = binary_size(BIF_ARG_1);
+ ERTS_GET_BINARY_BYTES(BIF_ARG_1,bytes,bit_offs,bit_size);
+ if (bit_size != 0) {
+ goto badarg;
+ }
+ if(do_bin_to_list(BIF_P, bytes, bit_offs, pos, &len, &res) ==
+ BIN_TO_LIST_OK) {
+ BIF_RET(res);
+ }
+ return do_trap_bin_to_list(BIF_P,BIF_ARG_1,pos,len,res);
+ badarg:
+ BIF_ERROR(BIF_P,BADARG);
+}
+
+/*
+ * Ok, erlang:list_to_binary does not interrupt, and we really don't want
+ * an alternative implementation for the exact same thing, why we
+ * have descided to use the old non-restarting implementation for now.
+ * In reality, there is seldom many iterations involved in doing this, so the
+ * problem of long-running-bif's is not really that big in this case.
+ * So, for now we use the old implementation also in the module binary.
+ */
+
+BIF_RETTYPE binary_list_to_bin_1(BIF_ALIST_1)
+{
+ return erts_list_to_binary_bif(BIF_P, BIF_ARG_1);
+}
+
+typedef struct {
+ Uint times_left;
+ Uint source_size;
+ int source_type;
+ byte *source;
+ byte *temp_alloc;
+ Uint result_pos;
+ Binary *result;
+} CopyBinState;
+
+#define BC_TYPE_EMPTY 0
+#define BC_TYPE_HEAP 1
+#define BC_TYPE_ALIGNED 2 /* May or may not point to (emasculated) binary, temp_alloc field is set
+ so that erts_free_aligned_binary_bytes_extra can handle either */
+
+
+#define BINARY_COPY_LOOP_FACTOR 100
+
+static void cleanup_copy_bin_state(Binary *bp)
+{
+ CopyBinState *cbs = (CopyBinState *) ERTS_MAGIC_BIN_DATA(bp);
+ if (cbs->result != NULL) {
+ erts_bin_free(cbs->result);
+ cbs->result = NULL;
+ }
+ switch (cbs->source_type) {
+ case BC_TYPE_HEAP:
+ erts_free(ERTS_ALC_T_BINARY_BUFFER,cbs->source);
+ break;
+ case BC_TYPE_ALIGNED:
+ erts_free_aligned_binary_bytes_extra(cbs->temp_alloc,
+ ERTS_ALC_T_BINARY_BUFFER);
+ break;
+ default:
+ /* otherwise do nothing */
+ break;
+ }
+ cbs->source_type = BC_TYPE_EMPTY;
+}
+
+/*
+ * Binary *erts_bin_nrml_alloc(Uint size);
+ * Binary *erts_bin_realloc(Binary *bp, Uint size);
+ * void erts_bin_free(Binary *bp);
+ */
+static BIF_RETTYPE do_binary_copy(Process *p, Eterm bin, Eterm en)
+{
+ Uint n;
+ byte *bytes;
+ Uint bit_offs;
+ Uint bit_size;
+ size_t size;
+ Uint reds = get_reds(p, BINARY_COPY_LOOP_FACTOR);
+ Uint target_size;
+ byte *t;
+ Uint pos;
+
+
+ if (is_not_binary(bin)) {
+ goto badarg;
+ }
+ if (!term_to_Uint(en, &n)) {
+ goto badarg;
+ }
+ if (!n) {
+ Eterm res_term = erts_new_heap_binary(p,NULL,0,&bytes);
+ BIF_RET(res_term);
+ }
+ ERTS_GET_BINARY_BYTES(bin,bytes,bit_offs,bit_size);
+ if (bit_size != 0) {
+ goto badarg;
+ }
+
+ size = binary_size(bin);
+ target_size = size * n;
+
+ if ((target_size - size) >= reds) {
+ Eterm orig;
+ Uint offset;
+ Uint bit_offset;
+ Uint bit_size;
+ CopyBinState *cbs;
+ Eterm *hp;
+ Eterm trap_term;
+ int i;
+
+ /* We will trap, set up the structure for trapping right away */
+ Binary *mb = erts_create_magic_binary(sizeof(CopyBinState),
+ cleanup_copy_bin_state);
+ cbs = ERTS_MAGIC_BIN_DATA(mb);
+
+ cbs->temp_alloc = NULL;
+ cbs->source = NULL;
+
+ ERTS_GET_REAL_BIN(bin, orig, offset, bit_offset, bit_size);
+ if (*(binary_val(orig)) == HEADER_PROC_BIN) {
+ ProcBin* pb = (ProcBin *) binary_val(orig);
+ if (pb->flags) {
+ erts_emasculate_writable_binary(pb);
+ }
+ cbs->source =
+ erts_get_aligned_binary_bytes_extra(bin,
+ &(cbs->temp_alloc),
+ ERTS_ALC_T_BINARY_BUFFER,
+ 0);
+ cbs->source_type = BC_TYPE_ALIGNED;
+ } else { /* Heap binary */
+ cbs->source =
+ erts_get_aligned_binary_bytes_extra(bin,
+ &(cbs->temp_alloc),
+ ERTS_ALC_T_BINARY_BUFFER,
+ 0);
+ if (!(cbs->temp_alloc)) { /* alignment not needed, need to copy */
+ byte *tmp = erts_alloc(ERTS_ALC_T_BINARY_BUFFER,size);
+ memcpy(tmp,cbs->source,size);
+ cbs->source = tmp;
+ cbs->source_type = BC_TYPE_HEAP;
+ } else {
+ cbs->source_type = BC_TYPE_ALIGNED;
+ }
+ }
+ cbs->result = erts_bin_nrml_alloc(target_size); /* Always offheap
+ if trapping */
+ cbs->result->flags = 0;
+ cbs->result->orig_size = target_size;
+ erts_refc_init(&(cbs->result->refc), 1);
+ t = (byte *) cbs->result->orig_bytes; /* No offset or anything */
+ pos = 0;
+ i = 0;
+ while (pos < reds) {
+ memcpy(t+pos,cbs->source, size);
+ pos += size;
+ ++i;
+ }
+ cbs->source_size = size;
+ cbs->result_pos = pos;
+ cbs->times_left = n-i;
+ hp = HAlloc(p,PROC_BIN_SIZE);
+ trap_term = erts_mk_magic_binary_term(&hp, &MSO(p), mb);
+ BUMP_ALL_REDS(p);
+ BIF_TRAP2(&binary_copy_trap_export, p, bin, trap_term);
+ } else {
+ Eterm res_term;
+ byte *temp_alloc = NULL;
+ byte *source =
+ erts_get_aligned_binary_bytes(bin,
+ &temp_alloc);
+ if (target_size <= ERL_ONHEAP_BIN_LIMIT) {
+ res_term = erts_new_heap_binary(p,NULL,target_size,&t);
+ } else {
+ res_term = erts_new_mso_binary(p,NULL,target_size);
+ t = ((ProcBin *) binary_val(res_term))->bytes;
+ }
+ pos = 0;
+ while (pos < target_size) {
+ memcpy(t+pos,source, size);
+ pos += size;
+ }
+ erts_free_aligned_binary_bytes(temp_alloc);
+ BUMP_REDS(p,pos / BINARY_COPY_LOOP_FACTOR);
+ BIF_RET(res_term);
+ }
+ badarg:
+ BIF_ERROR(p,BADARG);
+}
+
+BIF_RETTYPE binary_copy_trap(BIF_ALIST_2)
+{
+ Uint n;
+ size_t size;
+ Uint reds = get_reds(BIF_P, BINARY_COPY_LOOP_FACTOR);
+ byte *t;
+ Uint pos;
+ Binary *mb = ((ProcBin *) binary_val(BIF_ARG_2))->val;
+ CopyBinState *cbs = (CopyBinState *) ERTS_MAGIC_BIN_DATA(mb);
+ Uint opos;
+
+ /* swapout... */
+ n = cbs->times_left;
+ size = cbs->source_size;
+ opos = pos = cbs->result_pos;
+ t = (byte *) cbs->result->orig_bytes; /* "well behaved" binary */
+ if ((n-1) * size >= reds) {
+ Uint i = 0;
+ while ((pos - opos) < reds) {
+ memcpy(t+pos,cbs->source, size);
+ pos += size;
+ ++i;
+ }
+ cbs->result_pos = pos;
+ cbs->times_left -= i;
+ BUMP_ALL_REDS(BIF_P);
+ BIF_TRAP2(&binary_copy_trap_export, BIF_P, BIF_ARG_1, BIF_ARG_2);
+ } else {
+ Binary *save;
+ ProcBin* pb;
+ Uint target_size = cbs->result->orig_size;
+ while (pos < target_size) {
+ memcpy(t+pos,cbs->source, size);
+ pos += size;
+ }
+ save = cbs->result;
+ cbs->result = NULL;
+ cleanup_copy_bin_state(mb); /* now cbs is dead */
+ pb = (ProcBin *) HAlloc(BIF_P, PROC_BIN_SIZE);
+ pb->thing_word = HEADER_PROC_BIN;
+ pb->size = target_size;
+ pb->next = MSO(BIF_P).mso;
+ MSO(BIF_P).mso = pb;
+ pb->val = save;
+ pb->bytes = t;
+ pb->flags = 0;
+
+ MSO(BIF_P).overhead += target_size / sizeof(Eterm);
+ BUMP_REDS(BIF_P,(pos - opos) / BINARY_COPY_LOOP_FACTOR);
+
+ BIF_RET(make_binary(pb));
+ }
+}
+
+
+BIF_RETTYPE binary_copy_1(BIF_ALIST_1)
+{
+ return do_binary_copy(BIF_P,BIF_ARG_1,make_small(1));
+}
+
+BIF_RETTYPE binary_copy_2(BIF_ALIST_2)
+{
+ return do_binary_copy(BIF_P,BIF_ARG_1,BIF_ARG_2);
+}
+
+BIF_RETTYPE binary_referenced_byte_size_1(BIF_ALIST_1)
+{
+ ErlSubBin *sb;
+ ProcBin *pb;
+ Eterm res;
+ Eterm bin = BIF_ARG_1;
+
+ if (is_not_binary(BIF_ARG_1)) {
+ BIF_ERROR(BIF_P,BADARG);
+ }
+ sb = (ErlSubBin *) binary_val(bin);
+ if (sb->thing_word == HEADER_SUB_BIN) {
+ bin = sb->orig;
+ }
+ pb = (ProcBin *) binary_val(bin);
+ if (pb->thing_word == HEADER_PROC_BIN) {
+ res = erts_make_integer((Uint) pb->val->orig_size, BIF_P); /* XXX:PaN Halfword? orig_size is a long */
+ } else { /* heap binary */
+ res = erts_make_integer((Uint) ((ErlHeapBin *) pb)->size, BIF_P);
+ }
+ BIF_RET(res);
+}
+
+#define END_BIG 0
+#define END_SMALL 1
+
+#ifdef WORDS_BIGENDIAN
+#define END_NATIVE END_BIG
+#else
+#define END_NATIVE END_SMALL
+#endif
+
+static int get_need(Uint u) {
+#if defined(ARCH_64) && !HALFWORD_HEAP
+ if (u > 0xFFFFFFFFUL) {
+ if (u > 0xFFFFFFFFFFFFUL) {
+ if (u > 0xFFFFFFFFFFFFFFUL) {
+ return 8;
+ }
+ return 7;
+ }
+ if (u > 0xFFFFFFFFFFUL) {
+ return 6;
+ }
+ return 5;
+ }
+#endif
+ if (u > 0xFFFFUL) {
+ if (u > 0xFFFFFFUL) {
+ return 4;
+ }
+ return 3;
+ }
+ if (u > 0xFFUL) {
+ return 2;
+ }
+ return 1;
+}
+
+static BIF_RETTYPE do_encode_unsigned(Process *p, Eterm uns, Eterm endianess)
+{
+ Eterm res;
+ if ((is_not_small(uns) && is_not_big(uns)) || is_not_atom(endianess) ||
+ (endianess != am_big && endianess != am_little)) {
+ goto badarg;
+ }
+ if (is_small(uns)) {
+ Sint x = signed_val(uns);
+ Uint u;
+ int n,i;
+ byte *b;
+
+ if (x < 0) {
+ goto badarg;
+ }
+
+ u = (Uint) x;
+ n = get_need(u);
+ ASSERT(n <= ERL_ONHEAP_BIN_LIMIT);
+ res = erts_new_heap_binary(p, NULL, n, &b);
+ if (endianess == am_big) {
+ for(i=n-1;i>=0;--i) {
+ b[i] = u & 0xFF;
+ u >>= 8;
+ }
+ } else {
+ for(i=0;i<n;++i) {
+ b[i] = u & 0xFF;
+ u >>= 8;
+ }
+ }
+ BIF_RET(res);
+ } else {
+ /* Big */
+ Eterm *bigp = big_val(uns);
+ Uint n;
+ dsize_t num_parts = BIG_SIZE(bigp);
+ Eterm res;
+ byte *b;
+ ErtsDigit d;
+
+ if(BIG_SIGN(bigp)) {
+ goto badarg;
+ }
+ n = (num_parts-1)*sizeof(ErtsDigit)+get_need(BIG_DIGIT(bigp,(num_parts-1)));
+ if (n <= ERL_ONHEAP_BIN_LIMIT) {
+ res = erts_new_heap_binary(p,NULL,n,&b);
+ } else {
+ res = erts_new_mso_binary(p,NULL,n);
+ b = ((ProcBin *) binary_val(res))->bytes;
+ }
+
+ if (endianess == am_big) {
+ Sint i,j;
+ j = 0;
+ d = BIG_DIGIT(bigp,0);
+ for (i=n-1;i>=0;--i) {
+ b[i] = d & 0xFF;
+ if (!((++j) % sizeof(ErtsDigit))) {
+ d = BIG_DIGIT(bigp,j / sizeof(ErtsDigit));
+ } else {
+ d >>= 8;
+ }
+ }
+ } else {
+ Sint i,j;
+ j = 0;
+ d = BIG_DIGIT(bigp,0);
+ for (i=0;i<n;++i) {
+ b[i] = d & 0xFF;
+ if (!((++j) % sizeof(ErtsDigit))) {
+ d = BIG_DIGIT(bigp,j / sizeof(ErtsDigit));
+ } else {
+ d >>= 8;
+ }
+ }
+
+ }
+ BIF_RET(res);
+ }
+ badarg:
+ BIF_ERROR(p,BADARG);
+}
+
+static BIF_RETTYPE do_decode_unsigned(Process *p, Eterm uns, Eterm endianess)
+{
+ byte *bytes;
+ Uint bitoffs, bitsize;
+ Uint size;
+ Eterm res;
+
+ if (is_not_binary(uns) || is_not_atom(endianess) ||
+ (endianess != am_big && endianess != am_little)) {
+ goto badarg;
+ }
+ ERTS_GET_BINARY_BYTES(uns, bytes, bitoffs, bitsize);
+ if (bitsize != 0) {
+ goto badarg;
+ }
+ /* align while rolling */
+ size = binary_size(uns);
+ if (bitoffs) {
+ if (endianess == am_big) {
+ while (size && (((((Uint) bytes[0]) << bitoffs) |
+ (((Uint) bytes[1]) >> (8-bitoffs))) & 0xFF) == 0) {
+ ++bytes;
+ --size;
+ }
+ } else {
+ while(size &&
+ (((((Uint) bytes[size-1]) << bitoffs) |
+ (((Uint) bytes[size]) >> (8-bitoffs))) & 0xFF) == 0) {
+ --size;
+ }
+ }
+ } else {
+ if (endianess == am_big) {
+ while (size && *bytes == 0) {
+ ++bytes;
+ --size;
+ }
+ } else {
+ while(size && bytes[size-1] == 0) {
+ --size;
+ }
+ }
+ }
+ if (!size) {
+ BIF_RET(make_small(0));
+ }
+
+ if (size <= sizeof(Uint)) {
+ Uint u = 0;
+ Sint i;
+
+ if (endianess == am_big) {
+ if (bitoffs) {
+ for(i=0;i<size;++i) {
+ u <<=8;
+ u |= (((((Uint) bytes[i]) << bitoffs) |
+ (((Uint) bytes[i+1]) >> (8-bitoffs))) & 0xFF);
+ }
+ } else {
+ for(i=0;i<size;++i) {
+ u <<=8;
+ u |= bytes[i];
+ }
+ }
+ } else {
+
+ if (bitoffs) {
+ for(i=size-1;i>=0;--i) {
+ u <<=8;
+ u |= (((((Uint) bytes[i]) << bitoffs) |
+ (((Uint) bytes[i+1]) >> (8-bitoffs))) & 0xFF);
+ }
+ } else {
+ for(i=size-1;i>=0;--i) {
+ u <<=8;
+ u |= bytes[i];
+ }
+ }
+ }
+ res = erts_make_integer(u,p);
+ BIF_RET(res);
+ } else {
+ /* Assume big, as we stripped away all zeroes from the MSB part of the binary */
+ dsize_t num_parts = size / sizeof(ErtsDigit) + !!(size % sizeof(ErtsDigit));
+ Eterm *bigp;
+
+ bigp = HAlloc(p, BIG_NEED_SIZE(num_parts));
+ *bigp = make_pos_bignum_header(num_parts);
+ res = make_big(bigp);
+
+ if (endianess == am_big) {
+ Sint i,j;
+ ErtsDigit *d;
+ j = size;
+ d = &(BIG_DIGIT(bigp,num_parts - 1));
+ *d = 0;
+ i = 0;
+ if(bitoffs) {
+ for (;;){
+ (*d) <<= 8;
+ (*d) |= (((((Uint) bytes[i]) << bitoffs) |
+ (((Uint) bytes[i+1]) >> (8-bitoffs))) & 0xFF);
+ if (++i >= size) {
+ break;
+ }
+ if (!(--j % sizeof(ErtsDigit))) {
+ --d;
+ *d = 0;
+ }
+ }
+ } else {
+ for (;;){
+ (*d) <<= 8;
+ (*d) |= bytes[i];
+ if (++i >= size) {
+ break;
+ }
+ if (!(--j % sizeof(ErtsDigit))) {
+ --d;
+ *d = 0;
+ }
+ }
+ }
+ } else {
+ Sint i,j;
+ ErtsDigit *d;
+ j = size;
+ d = &(BIG_DIGIT(bigp,num_parts - 1));
+ *d = 0;
+ i = size-1;
+ if (bitoffs) {
+ for (;;){
+ (*d) <<= 8;
+ (*d) |= (((((Uint) bytes[i]) << bitoffs) |
+ (((Uint) bytes[i+1]) >> (8-bitoffs))) & 0xFF);
+ if (--i < 0) {
+ break;
+ }
+ if (!(--j % sizeof(ErtsDigit))) {
+ --d;
+ *d = 0;
+ }
+ }
+ } else {
+ for (;;){
+ (*d) <<= 8;
+ (*d) |= bytes[i];
+ if (--i < 0) {
+ break;
+ }
+ if (!(--j % sizeof(ErtsDigit))) {
+ --d;
+ *d = 0;
+ }
+ }
+ }
+ }
+ BIF_RET(res);
+ }
+ badarg:
+ BIF_ERROR(p,BADARG);
+}
+
+BIF_RETTYPE binary_encode_unsigned_1(BIF_ALIST_1)
+{
+ return do_encode_unsigned(BIF_P,BIF_ARG_1,am_big);
+}
+
+BIF_RETTYPE binary_encode_unsigned_2(BIF_ALIST_2)
+{
+ return do_encode_unsigned(BIF_P,BIF_ARG_1,BIF_ARG_2);
+}
+
+BIF_RETTYPE binary_decode_unsigned_1(BIF_ALIST_1)
+{
+ return do_decode_unsigned(BIF_P,BIF_ARG_1,am_big);
+}
+
+BIF_RETTYPE binary_decode_unsigned_2(BIF_ALIST_2)
+{
+ return do_decode_unsigned(BIF_P,BIF_ARG_1,BIF_ARG_2);
+}
+
+/*
+ * Hard debug functions (dump) for the search structures
+ */
+
+#ifdef HARDDEBUG
+static void dump_bm_data(BMData *bm)
+{
+ int i,j;
+ erts_printf("Dumping Boyer-More structure.\n");
+ erts_printf("=============================\n");
+ erts_printf("Searchstring [%ld]:\n", bm->len);
+ erts_printf("<<");
+ for (i = 0; i < bm->len; ++i) {
+ if (i > 0) {
+ erts_printf(", ");
+ }
+ erts_printf("%d", (int) bm->x[i]);
+ if (bm->x[i] >= 'A') {
+ erts_printf(" ($%c)",(char) bm->x[i]);
+ }
+ }
+ erts_printf(">>\n");
+ erts_printf("GoodShift array:\n");
+ for (i = 0; i < bm->len; ++i) {
+ erts_printf("GoodShift[%d]: %ld\n", i, bm->goodshift[i]);
+ }
+ erts_printf("BadShift array:\n");
+ j = 0;
+ for (i = 0; i < ALPHABET_SIZE; i += j) {
+ for (j = 0; i + j < ALPHABET_SIZE && j < 6; ++j) {
+ erts_printf("BS[%03d]:%02ld, ", i+j, bm->badshift[i+j]);
+ }
+ erts_printf("\n");
+ }
+}
+
+static void dump_ac_node(ACNode *node, int indent, int ch) {
+ int i;
+ char *spaces = erts_alloc(ERTS_ALC_T_TMP, 10 * indent + 1);
+ memset(spaces,' ',10*indent);
+ spaces[10*indent] = '\0';
+ erts_printf("%s-> %c\n",spaces,ch);
+ erts_printf("%sId: %u\n",spaces,(unsigned) node->id);
+ erts_printf("%sD: %u\n",spaces,(unsigned)node->d);
+ erts_printf("%sFinal: %d\n",spaces,(int)node->final);
+ erts_printf("%sFail: %u\n",spaces,(unsigned)node->h->id);
+ erts_free(ERTS_ALC_T_TMP,spaces);
+ for(i=0;i<ALPHABET_SIZE;++i) {
+ if (node->g[i] != NULL && node->g[i] != node) {
+ dump_ac_node(node->g[i],indent+1,i);
+ }
+ }
+}
+
+
+static void dump_ac_trie(ACTrie *act)
+{
+ erts_printf("Aho Corasick Trie dump.\n");
+ erts_printf("=======================\n");
+ erts_printf("Node counter: %u\n", (unsigned) act->idc);
+ erts_printf("Searchstring counter: %u\n", (unsigned) act->counter);
+ erts_printf("Trie:\n");
+ dump_ac_node(act->root, 0, '0');
+ return;
+}
+#endif
diff --git a/erts/emulator/beam/erl_bif_chksum.c b/erts/emulator/beam/erl_bif_chksum.c
index 445ba00ca7..06b7ffdf32 100644
--- a/erts/emulator/beam/erl_bif_chksum.c
+++ b/erts/emulator/beam/erl_bif_chksum.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2008-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2008-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -49,9 +49,9 @@ void erts_init_bif_chksum(void)
chksum_md5_2_exp.code[1] = am_atom_put("md5_trap",8);
chksum_md5_2_exp.code[2] = 2;
chksum_md5_2_exp.code[3] =
- (Eterm) em_apply_bif;
+ (BeamInstr) em_apply_bif;
chksum_md5_2_exp.code[4] =
- (Eterm) &md5_2;
+ (BeamInstr) &md5_2;
}
diff --git a/erts/emulator/beam/erl_bif_guard.c b/erts/emulator/beam/erl_bif_guard.c
index 440b0b4f14..01e6977a2c 100644
--- a/erts/emulator/beam/erl_bif_guard.c
+++ b/erts/emulator/beam/erl_bif_guard.c
@@ -314,6 +314,30 @@ double_to_integer(Process* p, double x)
return res;
}
+/********************************************************************************
+ * binary_part guards. The actual implementation is in erl_bif_binary.c
+ ********************************************************************************/
+BIF_RETTYPE binary_part_3(BIF_ALIST_3)
+{
+ return erts_binary_part(BIF_P,BIF_ARG_1,BIF_ARG_2, BIF_ARG_3);
+}
+
+BIF_RETTYPE binary_part_2(BIF_ALIST_2)
+{
+ Eterm *tp;
+ if (is_not_tuple(BIF_ARG_2)) {
+ goto badarg;
+ }
+ tp = tuple_val(BIF_ARG_2);
+ if (arityval(*tp) != 2) {
+ goto badarg;
+ }
+ return erts_binary_part(BIF_P,BIF_ARG_1,tp[1], tp[2]);
+ badarg:
+ BIF_ERROR(BIF_P,BADARG);
+}
+
+
/*
* The following code is used when a guard that may build on the
* heap is called directly. They must not use HAlloc(), but must
@@ -630,3 +654,16 @@ gc_double_to_integer(Process* p, double x, Eterm* reg, Uint live)
}
return res;
}
+
+/********************************************************************************
+ * binary_part guards. The actual implementation is in erl_bif_binary.c
+ ********************************************************************************/
+Eterm erts_gc_binary_part_3(Process* p, Eterm* reg, Uint live)
+{
+ return erts_gc_binary_part(p,reg,live,0);
+}
+
+Eterm erts_gc_binary_part_2(Process* p, Eterm* reg, Uint live)
+{
+ return erts_gc_binary_part(p,reg,live,1);
+}
diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c
index a34d400ed8..de60ca49fa 100644
--- a/erts/emulator/beam/erl_bif_info.c
+++ b/erts/emulator/beam/erl_bif_info.c
@@ -59,12 +59,19 @@
/* Keep erts_system_version as a global variable for easy access from a core */
static char erts_system_version[] = ("Erlang " ERLANG_OTP_RELEASE
" (erts-" ERLANG_VERSION ")"
+#if !HEAP_ON_C_STACK && !HALFWORD_HEAP
+ " [no-c-stack-objects]"
+#endif
#ifndef OTP_RELEASE
" [source]"
#endif
#ifdef ARCH_64
+#if HALFWORD_HEAP
+ " [64-bit halfword]"
+#else
" [64-bit]"
#endif
+#endif
#ifdef ERTS_SMP
" [smp:%bpu:%bpu]"
#endif
@@ -121,7 +128,7 @@ bld_bin_list(Uint **hpp, Uint *szp, ProcBin* pb)
Eterm tuple;
for (; pb; pb = pb->next) {
- Eterm val = erts_bld_uint(hpp, szp, (Uint) pb->val);
+ Eterm val = erts_bld_uword(hpp, szp, (UWord) pb->val);
Eterm orig_size = erts_bld_uint(hpp, szp, pb->val->orig_size);
if (szp)
@@ -624,12 +631,18 @@ static Eterm pi_1_keys[] = {
#define ERTS_PI_1_NO_OF_KEYS (sizeof(pi_1_keys)/sizeof(Eterm))
static Eterm pi_1_keys_list;
-static Uint pi_1_keys_list_heap[2*ERTS_PI_1_NO_OF_KEYS];
+#if HEAP_ON_C_STACK
+static Eterm pi_1_keys_list_heap[2*ERTS_PI_1_NO_OF_KEYS];
+#endif
static void
process_info_init(void)
{
+#if HEAP_ON_C_STACK
Eterm *hp = &pi_1_keys_list_heap[0];
+#else
+ Eterm *hp = erts_alloc(ERTS_ALC_T_LL_TEMP_TERM,sizeof(Eterm)*2*ERTS_PI_1_NO_OF_KEYS);
+#endif
int i;
pi_1_keys_list = NIL;
@@ -998,7 +1011,7 @@ process_info_aux(Process *BIF_P,
hp = HAlloc(BIF_P, 3);
res = am_undefined;
} else {
- Eterm* current;
+ BeamInstr* current;
if (rp->current[0] == am_erlang &&
rp->current[1] == am_process_info &&
@@ -1622,6 +1635,14 @@ info_1_tuple(Process* BIF_P, /* Pointer to current process. */
if (sel == am_allocator_sizes && arity == 2) {
return erts_allocator_info_term(BIF_P, *tp, 1);
+ } else if (sel == am_wordsize && arity == 2) {
+ if (tp[0] == am_internal) {
+ return make_small(sizeof(Eterm));
+ }
+ if (tp[0] == am_external) {
+ return make_small(sizeof(UWord));
+ }
+ goto badarg;
} else if (sel == am_allocated) {
if (arity == 2) {
Eterm res = THE_NON_VALUE;
@@ -2817,7 +2838,7 @@ fun_info_2(Process* p, Eterm fun, Eterm what)
goto error;
}
} else if (is_export(fun)) {
- Export* exp = (Export *) (export_val(fun))[1];
+ Export* exp = (Export *) ((UWord) (export_val(fun))[1]);
switch (what) {
case am_type:
hp = HAlloc(p, 3);
@@ -3010,11 +3031,11 @@ BIF_RETTYPE statistics_1(BIF_ALIST_1)
res = erts_run_queues_len(NULL);
BIF_RET(make_small(res));
} else if (BIF_ARG_1 == am_wall_clock) {
- Uint w1, w2;
+ UWord w1, w2;
Eterm b1, b2;
wall_clock_elapsed_time_both(&w1, &w2);
- b1 = erts_make_integer(w1,BIF_P);
- b2 = erts_make_integer(w2,BIF_P);
+ b1 = erts_make_integer((Uint) w1,BIF_P);
+ b2 = erts_make_integer((Uint) w2,BIF_P);
hp = HAlloc(BIF_P,3);
res = TUPLE2(hp, b1, b2);
BIF_RET(res);
@@ -3546,6 +3567,17 @@ BIF_RETTYPE erts_debug_set_internal_state_2(BIF_ALIST_2)
}
}
}
+ else if (ERTS_IS_ATOM_STR("binary_loop_limit", BIF_ARG_1)) {
+ /* Used by binary_module_SUITE (stdlib) */
+ Uint max_loops;
+ if (is_atom(BIF_ARG_2) && ERTS_IS_ATOM_STR("default", BIF_ARG_2)) {
+ max_loops = erts_binary_set_loop_limit(-1);
+ BIF_RET(make_small(max_loops));
+ } else if (term_to_Uint(BIF_ARG_2, &max_loops) != 0) {
+ max_loops = erts_binary_set_loop_limit(max_loops);
+ BIF_RET(make_small(max_loops));
+ }
+ }
else if (ERTS_IS_ATOM_STR("re_loop_limit", BIF_ARG_1)) {
/* Used by re_SUITE (stdlib) */
Uint max_loops;
diff --git a/erts/emulator/beam/erl_bif_lists.c b/erts/emulator/beam/erl_bif_lists.c
index a9e8dd86f7..ce13469801 100644
--- a/erts/emulator/beam/erl_bif_lists.c
+++ b/erts/emulator/beam/erl_bif_lists.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1999-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1999-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -89,13 +89,14 @@ BIF_RETTYPE append_2(BIF_ALIST_2)
BIF_RET(copy);
}
+#define SMALL_VEC_SIZE 10
BIF_RETTYPE subtract_2(BIF_ALIST_2)
{
Eterm list;
Eterm* hp;
Uint need;
Eterm res;
- Eterm small_vec[10]; /* Preallocated memory for small lists */
+ Eterm small_vec[SMALL_VEC_SIZE]; /* Preallocated memory for small lists */
Eterm* vec_p;
Eterm* vp;
int i;
@@ -115,7 +116,7 @@ BIF_RETTYPE subtract_2(BIF_ALIST_2)
BIF_RET(BIF_ARG_1);
/* allocate element vector */
- if (n <= sizeof(small_vec)/sizeof(small_vec[0]))
+ if (n <= SMALL_VEC_SIZE)
vec_p = small_vec;
else
vec_p = (Eterm*) erts_alloc(ERTS_ALC_T_TMP, n * sizeof(Eterm));
diff --git a/erts/emulator/beam/erl_bif_op.c b/erts/emulator/beam/erl_bif_op.c
index 6da72dcef9..deda7adc1f 100644
--- a/erts/emulator/beam/erl_bif_op.c
+++ b/erts/emulator/beam/erl_bif_op.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1999-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1999-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -251,7 +251,7 @@ BIF_RETTYPE is_function_2(BIF_ALIST_2)
BIF_RET(am_true);
}
} else if (is_export(BIF_ARG_1)) {
- Export* exp = (Export *) (export_val(BIF_ARG_1))[1];
+ Export* exp = (Export *) EXPAND_POINTER((export_val(BIF_ARG_1))[1]);
if (exp->code[2] == (Uint) arity) {
BIF_RET(am_true);
diff --git a/erts/emulator/beam/erl_bif_port.c b/erts/emulator/beam/erl_bif_port.c
index f454f2e12d..9b56ddd4f8 100644
--- a/erts/emulator/beam/erl_bif_port.c
+++ b/erts/emulator/beam/erl_bif_port.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2001-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2001-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -21,10 +21,6 @@
# include "config.h"
#endif
-#ifdef _OSE_
-# include "ose.h"
-#endif
-
#include <ctype.h>
#define ERTS_WANT_EXTERNAL_TAGS
@@ -716,15 +712,17 @@ open_port(Process* p, Eterm name, Eterm settings, int *err_nump)
}
} else if (option == am_cd) {
Eterm iolist;
- Eterm heap[4];
+ DeclareTmpHeap(heap,4,p);
int r;
+ UseTmpHeap(4,p);
heap[0] = *tp;
heap[1] = make_list(heap+2);
heap[2] = make_small(0);
heap[3] = NIL;
iolist = make_list(heap);
r = io_list_to_buf(iolist, (char*) dir, MAXPATHLEN);
+ UnUseTmpHeap(4,p);
if (r < 0) {
goto badarg;
}
@@ -1077,27 +1075,33 @@ struct packet_callback_args
Eterm res; /* Out */
int string_as_bin; /* return strings as binaries (http_bin): */
byte* aligned_ptr;
+ Uint bin_sz;
Eterm orig;
Uint bin_offs;
byte bin_bitoffs;
};
+#define in_area(ptr,start,nbytes) \
+ ((unsigned long)((char*)(ptr) - (char*)(start)) < (nbytes))
+
static Eterm
http_bld_string(struct packet_callback_args* pca, Uint **hpp, Uint *szp,
const char *str, Sint len)
{
Eterm res = THE_NON_VALUE;
Uint size;
+ int make_subbin;
if (pca->string_as_bin) {
size = heap_bin_size(len);
-
+ make_subbin = (size > ERL_SUB_BIN_SIZE
+ && in_area(str, pca->aligned_ptr, pca->bin_sz));
if (szp) {
- *szp += (size > ERL_SUB_BIN_SIZE) ? ERL_SUB_BIN_SIZE : size;
+ *szp += make_subbin ? ERL_SUB_BIN_SIZE : size;
}
if (hpp) {
res = make_binary(*hpp);
- if (size > ERL_SUB_BIN_SIZE) {
+ if (make_subbin) {
ErlSubBin* bin = (ErlSubBin*) *hpp;
bin->thing_word = HEADER_SUB_BIN;
bin->size = len;
@@ -1328,7 +1332,7 @@ BIF_RETTYPE decode_packet_3(BIF_ALIST_3)
int packet_sz; /*-------Binaries involved: ------------------*/
byte* bin_ptr; /*| orig: original binary */
byte bin_bitsz; /*| bin: BIF_ARG_2, may be sub-binary of orig */
- Uint bin_sz; /*| packet: prefix of bin */
+ /*| packet: prefix of bin */
char* body_ptr; /*| body: part of packet to return */
int body_sz; /*| rest: bin without packet */
struct packet_callback_args pca;
@@ -1389,18 +1393,18 @@ BIF_RETTYPE decode_packet_3(BIF_ALIST_3)
}
- bin_sz = binary_size(BIF_ARG_2);
+ pca.bin_sz = binary_size(BIF_ARG_2);
ERTS_GET_BINARY_BYTES(BIF_ARG_2, bin_ptr, pca.bin_bitoffs, bin_bitsz);
if (pca.bin_bitoffs != 0) {
- pca.aligned_ptr = erts_alloc(ERTS_ALC_T_TMP, bin_sz);
- erts_copy_bits(bin_ptr, pca.bin_bitoffs, 1, pca.aligned_ptr, 0, 1, bin_sz*8);
+ pca.aligned_ptr = erts_alloc(ERTS_ALC_T_TMP, pca.bin_sz);
+ erts_copy_bits(bin_ptr, pca.bin_bitoffs, 1, pca.aligned_ptr, 0, 1, pca.bin_sz*8);
}
else {
pca.aligned_ptr = bin_ptr;
}
- packet_sz = packet_get_length(type, (char*)pca.aligned_ptr, bin_sz,
+ packet_sz = packet_get_length(type, (char*)pca.aligned_ptr, pca.bin_sz,
max_plen, trunc_len, &http_state);
- if (!(packet_sz > 0 && packet_sz <= bin_sz)) {
+ if (!(packet_sz > 0 && packet_sz <= pca.bin_sz)) {
if (packet_sz < 0) {
goto error;
}
@@ -1456,7 +1460,7 @@ error:
rest = (ErlSubBin *) hp;
rest->thing_word = HEADER_SUB_BIN;
- rest->size = bin_sz - packet_sz;
+ rest->size = pca.bin_sz - packet_sz;
rest->offs = pca.bin_offs + packet_sz;
rest->orig = pca.orig;
rest->bitoffs = pca.bin_bitoffs;
diff --git a/erts/emulator/beam/erl_bif_re.c b/erts/emulator/beam/erl_bif_re.c
index c027cd5984..d4a8a3aaa7 100644
--- a/erts/emulator/beam/erl_bif_re.c
+++ b/erts/emulator/beam/erl_bif_re.c
@@ -76,8 +76,8 @@ void erts_init_bif_re(void)
re_exec_trap_export.code[0] = am_erlang;
re_exec_trap_export.code[1] = am_re_run_trap;
re_exec_trap_export.code[2] = 3;
- re_exec_trap_export.code[3] = (Eterm) em_apply_bif;
- re_exec_trap_export.code[4] = (Eterm) &re_exec_trap;
+ re_exec_trap_export.code[3] = (BeamInstr) em_apply_bif;
+ re_exec_trap_export.code[4] = (BeamInstr) &re_exec_trap;
grun_trap_exportp = erts_export_put(am_re,am_grun,3);
urun_trap_exportp = erts_export_put(am_re,am_urun,3);
@@ -103,7 +103,7 @@ Sint erts_re_set_loop_limit(Sint limit)
static int term_to_int(Eterm term, int *sp)
{
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
if (is_small(term)) {
Uint x = signed_val(term);
@@ -154,7 +154,7 @@ static int term_to_int(Eterm term, int *sp)
static Eterm make_signed_integer(int x, Process *p)
{
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
return make_small(x);
#else
Eterm* hp;
diff --git a/erts/emulator/beam/erl_bif_timer.c b/erts/emulator/beam/erl_bif_timer.c
index 172bb37952..eb40c75110 100644
--- a/erts/emulator/beam/erl_bif_timer.c
+++ b/erts/emulator/beam/erl_bif_timer.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2005-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2005-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -155,7 +155,7 @@ create_ref(Uint *hp, Uint32 *ref_numbers, Uint32 len)
erl_exit(1, "%s:%d: Internal error\n", __FILE__, __LINE__);
}
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
hp[0] = make_ref_thing_header(len/2 + 1);
datap = (Uint32 *) &hp[1];
*(datap++) = len;
@@ -173,13 +173,13 @@ create_ref(Uint *hp, Uint32 *ref_numbers, Uint32 len)
static int
eq_non_standard_ref_numbers(Uint32 *rn1, Uint32 len1, Uint32 *rn2, Uint32 len2)
{
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
#define MAX_REF_HEAP_SZ (1+(ERTS_MAX_REF_NUMBERS/2+1))
#else
#define MAX_REF_HEAP_SZ (1+ERTS_MAX_REF_NUMBERS)
#endif
- Uint r1_hp[MAX_REF_HEAP_SZ];
- Uint r2_hp[MAX_REF_HEAP_SZ];
+ DeclareTmpHeapNoproc(r1_hp,(MAX_REF_HEAP_SZ * 2));
+ Eterm *r2_hp = r1_hp +MAX_REF_HEAP_SZ;
return eq(create_ref(r1_hp, rn1, len1), create_ref(r2_hp, rn2, len2));
#undef MAX_REF_HEAP_SZ
@@ -398,7 +398,7 @@ setup_bif_timer(Uint32 xflags,
if (!term_to_Uint(time, &timeout))
return THE_NON_VALUE;
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
if ((timeout >> 32) != 0)
return THE_NON_VALUE;
#endif
diff --git a/erts/emulator/beam/erl_bif_trace.c b/erts/emulator/beam/erl_bif_trace.c
index 7dff5e0eeb..7fe4410e0d 100644
--- a/erts/emulator/beam/erl_bif_trace.c
+++ b/erts/emulator/beam/erl_bif_trace.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1999-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1999-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -86,7 +86,7 @@ trace_pattern_2(Process* p, Eterm MFA, Eterm Pattern)
Eterm
trace_pattern_3(Process* p, Eterm MFA, Eterm Pattern, Eterm flaglist)
{
- Eterm mfa[3];
+ DeclareTmpHeap(mfa,3,p); /* Not really heap here, but might be when setting pattern */
int i;
int matches = 0;
int specified = 0;
@@ -101,6 +101,7 @@ trace_pattern_3(Process* p, Eterm MFA, Eterm Pattern, Eterm flaglist)
erts_smp_proc_unlock(p, ERTS_PROC_LOCK_MAIN);
erts_smp_block_system(0);
+ UseTmpHeap(3,p);
/*
* Check and compile the match specification.
*/
@@ -312,7 +313,7 @@ trace_pattern_3(Process* p, Eterm MFA, Eterm Pattern, Eterm flaglist)
MatchSetUnref(match_prog_set);
done:
-
+ UnUseTmpHeap(3,p);
erts_smp_release_system();
erts_smp_proc_lock(p, ERTS_PROC_LOCK_MAIN);
@@ -322,6 +323,7 @@ trace_pattern_3(Process* p, Eterm MFA, Eterm Pattern, Eterm flaglist)
MatchSetUnref(match_prog_set);
+ UnUseTmpHeap(3,p);
erts_smp_release_system();
erts_smp_proc_lock(p, ERTS_PROC_LOCK_MAIN);
BIF_ERROR(p, BADARG);
@@ -952,7 +954,7 @@ static int function_is_traced(Eterm mfa[3],
Export e;
Export* ep;
int i;
- Uint *code;
+ BeamInstr *code;
/* First look for an export entry */
e.code[0] = mfa[0];
@@ -960,12 +962,12 @@ static int function_is_traced(Eterm mfa[3],
e.code[2] = mfa[2];
if ((ep = export_get(&e)) != NULL) {
if (ep->address == ep->code+3 &&
- ep->code[3] != (Uint) em_call_error_handler) {
- if (ep->code[3] == (Uint) em_call_traced_function) {
+ ep->code[3] != (BeamInstr) em_call_error_handler) {
+ if (ep->code[3] == (BeamInstr) em_call_traced_function) {
*ms = ep->match_prog_set;
return FUNC_TRACE_GLOBAL_TRACE;
}
- if (ep->code[3] == (Uint) em_apply_bif) {
+ if (ep->code[3] == (BeamInstr) em_apply_bif) {
for (i = 0; i < BIF_SIZE; ++i) {
if (bif_export[i] == ep) {
int r = 0;
@@ -1011,7 +1013,7 @@ trace_info_func(Process* p, Eterm func_spec, Eterm key)
{
Eterm* tp;
Eterm* hp;
- Eterm mfa[3];
+ DeclareTmpHeap(mfa,3,p); /* Not really heap here, but might be when setting pattern */
Binary *ms = NULL, *ms_meta = NULL;
Sint count = 0;
Eterm traced = am_false;
@@ -1020,6 +1022,9 @@ trace_info_func(Process* p, Eterm func_spec, Eterm key)
Eterm meta = am_false;
int r;
+
+ UseTmpHeap(3,p);
+
if (!is_tuple(func_spec)) {
goto error;
}
@@ -1037,9 +1042,11 @@ trace_info_func(Process* p, Eterm func_spec, Eterm key)
r = function_is_traced(mfa, &ms, &ms_meta, &meta, &count);
switch (r) {
case FUNC_TRACE_NOEXIST:
+ UnUseTmpHeap(3,p);
hp = HAlloc(p, 3);
return TUPLE2(hp, key, am_undefined);
case FUNC_TRACE_UNTRACED:
+ UnUseTmpHeap(3,p);
hp = HAlloc(p, 3);
return TUPLE2(hp, key, am_false);
case FUNC_TRACE_GLOBAL_TRACE:
@@ -1120,10 +1127,12 @@ trace_info_func(Process* p, Eterm func_spec, Eterm key)
default:
goto error;
}
+ UnUseTmpHeap(3,p);
hp = HAlloc(p, 3);
return TUPLE2(hp, key, retval);
error:
+ UnUseTmpHeap(3,p);
BIF_ERROR(p, BADARG);
}
@@ -1312,7 +1321,7 @@ erts_set_trace_pattern(Eterm* mfa, int specified,
if (erts_bif_trace_flags[i] & BIF_TRACE_AS_META) {
ASSERT(ExportIsBuiltIn(bif_export[i]));
erts_clear_mtrace_bif
- ((Uint *)bif_export[i]->code + 3);
+ ((BeamInstr *)bif_export[i]->code + 3);
erts_bif_trace_flags[i] &= ~BIF_TRACE_AS_META;
}
set_trace_bif(i, match_prog_set);
@@ -1341,7 +1350,7 @@ erts_set_trace_pattern(Eterm* mfa, int specified,
}
if (flags.meta) {
erts_set_mtrace_bif
- ((Uint *)bif_export[i]->code + 3,
+ ((BeamInstr *)bif_export[i]->code + 3,
meta_match_prog_set, meta_tracer_pid);
erts_bif_trace_flags[i] |= BIF_TRACE_AS_META;
erts_bif_trace_flags[i] &= ~BIF_TRACE_AS_GLOBAL;
@@ -1361,7 +1370,7 @@ erts_set_trace_pattern(Eterm* mfa, int specified,
if (flags.meta) {
if (erts_bif_trace_flags[i] & BIF_TRACE_AS_META) {
erts_clear_mtrace_bif
- ((Uint *)bif_export[i]->code + 3);
+ ((BeamInstr *)bif_export[i]->code + 3);
erts_bif_trace_flags[i] &= ~BIF_TRACE_AS_META;
}
m = 1;
@@ -1430,9 +1439,9 @@ static int
setup_func_trace(Export* ep, void* match_prog)
{
if (ep->address == ep->code+3) {
- if (ep->code[3] == (Uint) em_call_error_handler) {
+ if (ep->code[3] == (BeamInstr) em_call_error_handler) {
return 0;
- } else if (ep->code[3] == (Uint) em_call_traced_function) {
+ } else if (ep->code[3] == (BeamInstr) em_call_traced_function) {
MatchSetUnref(ep->match_prog_set);
ep->match_prog_set = match_prog;
MatchSetRef(ep->match_prog_set);
@@ -1452,8 +1461,8 @@ setup_func_trace(Export* ep, void* match_prog)
return 0;
}
- ep->code[3] = (Uint) em_call_traced_function;
- ep->code[4] = (Uint) ep->address;
+ ep->code[3] = (BeamInstr) em_call_traced_function;
+ ep->code[4] = (BeamInstr) ep->address;
ep->address = ep->code+3;
ep->match_prog_set = match_prog;
MatchSetRef(ep->match_prog_set);
@@ -1465,7 +1474,7 @@ static void setup_bif_trace(int bif_index) {
ASSERT(ExportIsBuiltIn(ep));
ASSERT(ep->code[4]);
- ep->code[4] = (Uint) bif_table[bif_index].traced;
+ ep->code[4] = (BeamInstr) bif_table[bif_index].traced;
}
static void set_trace_bif(int bif_index, void* match_prog) {
@@ -1492,9 +1501,9 @@ static int
reset_func_trace(Export* ep)
{
if (ep->address == ep->code+3) {
- if (ep->code[3] == (Uint) em_call_error_handler) {
+ if (ep->code[3] == (BeamInstr) em_call_error_handler) {
return 0;
- } else if (ep->code[3] == (Uint) em_call_traced_function) {
+ } else if (ep->code[3] == (BeamInstr) em_call_traced_function) {
ep->address = (Uint *) ep->code[4];
MatchSetUnref(ep->match_prog_set);
ep->match_prog_set = NULL;
@@ -1527,8 +1536,8 @@ static void reset_bif_trace(int bif_index) {
ASSERT(ExportIsBuiltIn(ep));
ASSERT(ep->code[4]);
ASSERT(! ep->match_prog_set);
- ASSERT(! erts_is_mtrace_bif((Uint *)ep->code+3, NULL, NULL));
- ep->code[4] = (Uint) bif_table[bif_index].f;
+ ASSERT(! erts_is_mtrace_bif((BeamInstr *)ep->code+3, NULL, NULL));
+ ep->code[4] = (BeamInstr) bif_table[bif_index].f;
}
static void clear_trace_bif(int bif_index) {
diff --git a/erts/emulator/beam/erl_binary.h b/erts/emulator/beam/erl_binary.h
index 1f948a9684..a569fe2e85 100644
--- a/erts/emulator/beam/erl_binary.h
+++ b/erts/emulator/beam/erl_binary.h
@@ -21,6 +21,7 @@
#define __ERL_BINARY_H
#include "erl_threads.h"
+#include "bif.h"
/*
* Maximum number of bytes to place in a heap binary.
@@ -150,7 +151,16 @@ do { \
void erts_init_binary(void);
-byte* erts_get_aligned_binary_bytes_extra(Eterm, byte**, unsigned extra);
+byte* erts_get_aligned_binary_bytes_extra(Eterm, byte**, ErtsAlcType_t, unsigned extra);
+
+/*
+ * Common implementation for erlang:list_to_binary/1 and binary:list_to_bin/1
+ */
+
+BIF_RETTYPE erts_list_to_binary_bif(Process *p, Eterm arg);
+BIF_RETTYPE erts_gc_binary_part(Process *p, Eterm *reg, Eterm live, int range_is_tuple);
+BIF_RETTYPE erts_binary_part(Process *p, Eterm binary, Eterm epos, Eterm elen);
+
#if defined(__i386__) || !defined(__GNUC__)
/*
@@ -164,10 +174,11 @@ byte* erts_get_aligned_binary_bytes_extra(Eterm, byte**, unsigned extra);
#endif
#define ERTS_CHK_BIN_ALIGNMENT(B) \
- do { ASSERT(!(B) || (((Uint) &((Binary *)(B))->orig_bytes[0]) & ERTS_BIN_ALIGNMENT_MASK) == ((Uint) 0)) } while(0)
+ do { ASSERT(!(B) || (((UWord) &((Binary *)(B))->orig_bytes[0]) & ERTS_BIN_ALIGNMENT_MASK) == ((UWord) 0)) } while(0)
ERTS_GLB_INLINE byte* erts_get_aligned_binary_bytes(Eterm bin, byte** base_ptr);
ERTS_GLB_INLINE void erts_free_aligned_binary_bytes(byte* buf);
+ERTS_GLB_INLINE void erts_free_aligned_binary_bytes_extra(byte* buf, ErtsAlcType_t);
ERTS_GLB_INLINE Binary *erts_bin_drv_alloc_fnf(Uint size);
ERTS_GLB_INLINE Binary *erts_bin_drv_alloc(Uint size);
ERTS_GLB_INLINE Binary *erts_bin_nrml_alloc(Uint size);
@@ -184,17 +195,23 @@ ERTS_GLB_INLINE Binary *erts_create_magic_binary(Uint size,
ERTS_GLB_INLINE byte*
erts_get_aligned_binary_bytes(Eterm bin, byte** base_ptr)
{
- return erts_get_aligned_binary_bytes_extra(bin, base_ptr, 0);
+ return erts_get_aligned_binary_bytes_extra(bin, base_ptr, ERTS_ALC_T_TMP, 0);
}
ERTS_GLB_INLINE void
-erts_free_aligned_binary_bytes(byte* buf)
+erts_free_aligned_binary_bytes_extra(byte* buf, ErtsAlcType_t allocator)
{
if (buf) {
- erts_free(ERTS_ALC_T_TMP, (void *) buf);
+ erts_free(allocator, (void *) buf);
}
}
+ERTS_GLB_INLINE void
+erts_free_aligned_binary_bytes(byte* buf)
+{
+ erts_free_aligned_binary_bytes_extra(buf,ERTS_ALC_T_TMP);
+}
+
/* Explicit extra bytes allocated to counter buggy drivers.
** These extra bytes where earlier (< R13B04) added by an alignment-bug
** in this code. Do we dare remove this in some major release (R14?) maybe?
diff --git a/erts/emulator/beam/erl_bits.c b/erts/emulator/beam/erl_bits.c
index e4f5d50ddf..defe18c92b 100644
--- a/erts/emulator/beam/erl_bits.c
+++ b/erts/emulator/beam/erl_bits.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1999-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1999-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -255,7 +255,7 @@ erts_bs_get_integer_2(Process *p, Uint num_bits, unsigned flags, ErlBinMatchBuff
* Simply shift whole bytes into the result.
*/
switch (BYTE_OFFSET(n)) {
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
case 7: w = (w << 8) | *bp++;
case 6: w = (w << 8) | *bp++;
case 5: w = (w << 8) | *bp++;
@@ -360,7 +360,7 @@ erts_bs_get_integer_2(Process *p, Uint num_bits, unsigned flags, ErlBinMatchBuff
case 3:
v32 = LSB[0] + (LSB[1]<<8) + (LSB[2]<<16);
goto big_small;
-#if !defined(ARCH_64)
+#if !defined(ARCH_64) || HALFWORD_HEAP
case 4:
v32 = (LSB[0] + (LSB[1]<<8) + (LSB[2]<<16) + (LSB[3]<<24));
if (!IS_USMALL(sgn, v32)) {
diff --git a/erts/emulator/beam/erl_bits.h b/erts/emulator/beam/erl_bits.h
index e3f8e0b679..0f67733fa4 100644
--- a/erts/emulator/beam/erl_bits.h
+++ b/erts/emulator/beam/erl_bits.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1999-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1999-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -63,7 +63,7 @@ typedef struct erl_bin_match_struct{
#define HEADER_NUM_SLOTS(hdr) (header_arity(hdr)-sizeof(ErlBinMatchState)/sizeof(Eterm)+1)
#define make_matchstate(_Ms) make_boxed((Eterm*)(_Ms))
-#define ms_matchbuffer(_Ms) &(((ErlBinMatchState*)(_Ms - TAG_PRIMARY_BOXED))->mb)
+#define ms_matchbuffer(_Ms) &(((ErlBinMatchState*) boxed_val(_Ms))->mb)
#if defined(ERTS_SMP)
diff --git a/erts/emulator/beam/erl_db.c b/erts/emulator/beam/erl_db.c
index 15b1c6bb56..cbdaa459de 100644
--- a/erts/emulator/beam/erl_db.c
+++ b/erts/emulator/beam/erl_db.c
@@ -87,7 +87,7 @@ static union {
static struct {
union {
DbTable *tb; /* Only directly readable if slot is ALIVE */
- Uint next_free; /* (index<<2)|1 if slot is FREE */
+ UWord next_free; /* (index<<2)|1 if slot is FREE */
}u;
} *meta_main_tab;
@@ -187,7 +187,7 @@ static Eterm ms_delete_all_buff[8]; /* To compare with for deletion
static void fix_table_locked(Process* p, DbTable* tb);
static void unfix_table_locked(Process* p, DbTable* tb, db_lock_kind_t* kind);
-static void set_heir(Process* me, DbTable* tb, Eterm heir, Eterm heir_data);
+static void set_heir(Process* me, DbTable* tb, Eterm heir, UWord heir_data);
static void free_heir_data(DbTable*);
static void free_fixations_locked(DbTable *tb);
@@ -704,12 +704,13 @@ BIF_RETTYPE ets_update_element_3(BIF_ALIST_3)
int cret = DB_ERROR_BADITEM;
Eterm list;
Eterm iter;
- Eterm cell[2];
+ DeclareTmpHeap(cell,2,BIF_P);
DbUpdateHandle handle;
if ((tb = db_get_table(BIF_P, BIF_ARG_1, DB_WRITE, LCK_WRITE_REC)) == NULL) {
BIF_ERROR(BIF_P, BADARG);
}
+ UseTmpHeap(2,BIF_P);
if (!(tb->common.status & (DB_SET | DB_ORDERED_SET))) {
goto bail_out;
}
@@ -762,6 +763,7 @@ finalize:
tb->common.meth->db_finalize_dbterm(&handle);
bail_out:
+ UnUseTmpHeap(2,BIF_P);
db_unlock(tb, LCK_WRITE_REC);
switch (cret) {
@@ -794,8 +796,8 @@ BIF_RETTYPE ets_update_counter_3(BIF_ALIST_3)
Eterm* ret_list_currp = NULL;
Eterm* ret_list_prevp = NULL;
Eterm iter;
- Eterm cell[2];
- Eterm tuple[3];
+ DeclareTmpHeap(cell,5,BIF_P);
+ Eterm *tuple = cell+2;
DbUpdateHandle handle;
Uint halloc_size = 0; /* overestimated heap usage */
Eterm* htop; /* actual heap usage */
@@ -805,6 +807,9 @@ BIF_RETTYPE ets_update_counter_3(BIF_ALIST_3)
if ((tb = db_get_table(BIF_P, BIF_ARG_1, DB_WRITE, LCK_WRITE_REC)) == NULL) {
BIF_ERROR(BIF_P, BADARG);
}
+
+ UseTmpHeap(5,BIF_P);
+
if (!(tb->common.status & (DB_SET | DB_ORDERED_SET))) {
goto bail_out;
}
@@ -951,6 +956,7 @@ finalize:
tb->common.meth->db_finalize_dbterm(&handle);
bail_out:
+ UnUseTmpHeap(5,BIF_P);
db_unlock(tb, LCK_WRITE_REC);
switch (cret) {
@@ -1180,12 +1186,12 @@ BIF_RETTYPE ets_new_2(BIF_ALIST_2)
Eterm val;
Eterm ret;
Eterm heir;
- Eterm heir_data;
+ UWord heir_data;
Uint32 status;
Sint keypos;
int is_named, is_fine_locked;
int cret;
- Eterm meta_tuple[3];
+ DeclareTmpHeap(meta_tuple,3,BIF_P);
DbTableMethod* meth;
if (is_not_atom(BIF_ARG_1)) {
@@ -1200,7 +1206,7 @@ BIF_RETTYPE ets_new_2(BIF_ALIST_2)
is_named = 0;
is_fine_locked = 0;
heir = am_none;
- heir_data = am_undefined;
+ heir_data = (UWord) am_undefined;
list = BIF_ARG_2;
while(is_list(list)) {
@@ -1375,6 +1381,8 @@ BIF_RETTYPE ets_new_2(BIF_ALIST_2)
erts_smp_atomic_read(&meta_pid_to_fixed_tab->common.memory_size));
#endif
+ UseTmpHeap(3,BIF_P);
+
db_meta_lock(meta_pid_to_tab, LCK_WRITE_REC);
if (db_put_hash(meta_pid_to_tab,
TUPLE2(meta_tuple, BIF_P->id, make_small(slot)),
@@ -1383,6 +1391,8 @@ BIF_RETTYPE ets_new_2(BIF_ALIST_2)
}
db_meta_unlock(meta_pid_to_tab, LCK_WRITE_REC);
+ UnUseTmpHeap(3,BIF_P);
+
BIF_RET(ret);
}
@@ -1519,7 +1529,7 @@ BIF_RETTYPE ets_delete_1(BIF_ALIST_1)
}
if (tb->common.owner != BIF_P->id) {
- Eterm meta_tuple[3];
+ DeclareTmpHeap(meta_tuple,3,BIF_P);
/*
* The table is being deleted by a process other than its owner.
@@ -1527,6 +1537,7 @@ BIF_RETTYPE ets_delete_1(BIF_ALIST_1)
* current process will be killed (e.g. by an EXIT signal), we will
* now transfer the ownership to the current process.
*/
+ UseTmpHeap(3,BIF_P);
db_meta_lock(meta_pid_to_tab, LCK_WRITE_REC);
db_erase_bag_exact2(meta_pid_to_tab, tb->common.owner,
make_small(tb->common.slot));
@@ -1538,6 +1549,7 @@ BIF_RETTYPE ets_delete_1(BIF_ALIST_1)
TUPLE2(meta_tuple,BIF_P->id,make_small(tb->common.slot)),
0);
db_meta_unlock(meta_pid_to_tab, LCK_WRITE_REC);
+ UnUseTmpHeap(3,BIF_P);
}
/* disable inheritance */
free_heir_data(tb);
@@ -1554,9 +1566,15 @@ BIF_RETTYPE ets_delete_1(BIF_ALIST_1)
* (it looks like an continuation pointer), but that is will crash the
* emulator if this BIF is call traced.
*/
+#if HALFWORD_HEAP
+ Eterm *hp = HAlloc(BIF_P, 3);
+ hp[0] = make_pos_bignum_header(2);
+ *((UWord *) (UWord) (hp+1)) = (UWord) tb;
+#else
Eterm *hp = HAlloc(BIF_P, 2);
hp[0] = make_pos_bignum_header(1);
hp[1] = (Eterm) tb;
+#endif
BIF_TRAP1(&ets_delete_continue_exp, BIF_P, make_big(hp));
}
else {
@@ -1571,7 +1589,7 @@ BIF_RETTYPE ets_give_away_3(BIF_ALIST_3)
{
Process* to_proc = NULL;
ErtsProcLocks to_locks = ERTS_PROC_LOCK_MAIN;
- Eterm buf[5];
+ DeclareTmpHeap(buf,5,BIF_P);
Eterm to_pid = BIF_ARG_2;
Eterm from_pid;
DbTable* tb = NULL;
@@ -1593,6 +1611,7 @@ BIF_RETTYPE ets_give_away_3(BIF_ALIST_3)
goto badarg; /* or should we be idempotent? return false maybe */
}
+ UseTmpHeap(5,BIF_P);
db_meta_lock(meta_pid_to_tab, LCK_WRITE_REC);
db_erase_bag_exact2(meta_pid_to_tab, tb->common.owner,
make_small(tb->common.slot));
@@ -1610,6 +1629,7 @@ BIF_RETTYPE ets_give_away_3(BIF_ALIST_3)
TUPLE4(buf, am_ETS_TRANSFER, tb->common.id, from_pid, BIF_ARG_3),
0);
erts_smp_proc_unlock(to_proc, to_locks);
+ UnUseTmpHeap(5,BIF_P);
BIF_RET(am_true);
badarg:
@@ -1624,11 +1644,12 @@ BIF_RETTYPE ets_setopts_2(BIF_ALIST_2)
Eterm* tp;
Eterm opt;
Eterm heir = THE_NON_VALUE;
- Eterm heir_data = THE_NON_VALUE;
+ UWord heir_data = (UWord) THE_NON_VALUE;
Uint32 protection = 0;
- Eterm fakelist[2];
+ DeclareTmpHeap(fakelist,2,BIF_P);
Eterm tail;
+ UseTmpHeap(2,BIF_P);
for (tail = is_tuple(BIF_ARG_2) ? CONS(fakelist, BIF_ARG_2, NIL) : BIF_ARG_2;
is_list(tail);
tail = CDR(list_val(tail))) {
@@ -1681,9 +1702,11 @@ BIF_RETTYPE ets_setopts_2(BIF_ALIST_2)
}
db_unlock (tb,LCK_WRITE);
+ UnUseTmpHeap(2,BIF_P);
BIF_RET(am_true);
badarg:
+ UnUseTmpHeap(2,BIF_P);
if (tb != NULL) {
db_unlock(tb,LCK_WRITE);
}
@@ -1949,29 +1972,37 @@ BIF_RETTYPE ets_match_1(BIF_ALIST_1)
BIF_RETTYPE ets_match_2(BIF_ALIST_2)
{
Eterm ms;
- Eterm buff[8];
+ DeclareTmpHeap(buff,8,BIF_P);
Eterm *hp = buff;
- /*hp = HAlloc(BIF_P, 8);*/
+ Eterm res;
+
+ UseTmpHeap(8,BIF_P);
ms = CONS(hp, am_DollarDollar, NIL);
hp += 2;
ms = TUPLE3(hp, BIF_ARG_2, NIL, ms);
hp += 4;
ms = CONS(hp, ms, NIL);
- return ets_select_2(BIF_P, BIF_ARG_1, ms);
+ res = ets_select_2(BIF_P, BIF_ARG_1, ms);
+ UnUseTmpHeap(8,BIF_P);
+ return res;
}
BIF_RETTYPE ets_match_3(BIF_ALIST_3)
{
Eterm ms;
- Eterm buff[8];
+ DeclareTmpHeap(buff,8,BIF_P);
Eterm *hp = buff;
- /*hp = HAlloc(BIF_P, 8);*/
+ Eterm res;
+
+ UseTmpHeap(8,BIF_P);
ms = CONS(hp, am_DollarDollar, NIL);
hp += 2;
ms = TUPLE3(hp, BIF_ARG_2, NIL, ms);
hp += 4;
ms = CONS(hp, ms, NIL);
- return ets_select_3(BIF_P, BIF_ARG_1, ms, BIF_ARG_3);
+ res = ets_select_3(BIF_P, BIF_ARG_1, ms, BIF_ARG_3);
+ UnUseTmpHeap(8,BIF_P);
+ return res;
}
@@ -2385,29 +2416,37 @@ BIF_RETTYPE ets_match_object_1(BIF_ALIST_1)
BIF_RETTYPE ets_match_object_2(BIF_ALIST_2)
{
Eterm ms;
- Eterm buff[8];
+ DeclareTmpHeap(buff,8,BIF_P);
Eterm *hp = buff;
- /*hp = HAlloc(BIF_P, 8);*/
+ Eterm res;
+
+ UseTmpHeap(8,BIF_P);
ms = CONS(hp, am_DollarUnderscore, NIL);
hp += 2;
ms = TUPLE3(hp, BIF_ARG_2, NIL, ms);
hp += 4;
ms = CONS(hp, ms, NIL);
- return ets_select_2(BIF_P, BIF_ARG_1, ms);
+ res = ets_select_2(BIF_P, BIF_ARG_1, ms);
+ UnUseTmpHeap(8,BIF_P);
+ return res;
}
BIF_RETTYPE ets_match_object_3(BIF_ALIST_3)
{
Eterm ms;
- Eterm buff[8];
+ DeclareTmpHeap(buff,8,BIF_P);
Eterm *hp = buff;
- /*hp = HAlloc(BIF_P, 8);*/
+ Eterm res;
+
+ UseTmpHeap(8,BIF_P);
ms = CONS(hp, am_DollarUnderscore, NIL);
hp += 2;
ms = TUPLE3(hp, BIF_ARG_2, NIL, ms);
hp += 4;
ms = CONS(hp, ms, NIL);
- return ets_select_3(BIF_P, BIF_ARG_1, ms, BIF_ARG_3);
+ res = ets_select_3(BIF_P, BIF_ARG_1, ms, BIF_ARG_3);
+ UnUseTmpHeap(8,BIF_P);
+ return res;
}
/*
@@ -2558,7 +2597,7 @@ BIF_RETTYPE ets_match_spec_run_r_3(BIF_ALIST_3)
BIF_TRAP3(bif_export[BIF_ets_match_spec_run_r_3],
BIF_P,lst,BIF_ARG_2,ret);
}
- res = db_prog_match(BIF_P, mp, CAR(list_val(lst)), 0, &dummy);
+ res = db_prog_match(BIF_P, mp, CAR(list_val(lst)), NULL, 0, &dummy);
if (is_value(res)) {
sz = size_object(res);
hp = HAlloc(BIF_P, sz + 2);
@@ -2585,7 +2624,7 @@ void init_db(void)
{
DbTable init_tb;
int i;
- extern Eterm* em_apply_bif;
+ extern BeamInstr* em_apply_bif;
Eterm *hp;
unsigned bits;
size_t size;
@@ -2714,9 +2753,9 @@ void init_db(void)
ets_select_delete_continue_exp.code[1] = am_atom_put("delete_trap",11);
ets_select_delete_continue_exp.code[2] = 1;
ets_select_delete_continue_exp.code[3] =
- (Eterm) em_apply_bif;
+ (BeamInstr) em_apply_bif;
ets_select_delete_continue_exp.code[4] =
- (Eterm) &ets_select_delete_1;
+ (BeamInstr) &ets_select_delete_1;
/* Non visual BIF to trap to. */
memset(&ets_select_count_continue_exp, 0, sizeof(Export));
@@ -2726,9 +2765,9 @@ void init_db(void)
ets_select_count_continue_exp.code[1] = am_atom_put("count_trap",11);
ets_select_count_continue_exp.code[2] = 1;
ets_select_count_continue_exp.code[3] =
- (Eterm) em_apply_bif;
+ (BeamInstr) em_apply_bif;
ets_select_count_continue_exp.code[4] =
- (Eterm) &ets_select_count_1;
+ (BeamInstr) &ets_select_count_1;
/* Non visual BIF to trap to. */
memset(&ets_select_continue_exp, 0, sizeof(Export));
@@ -2738,9 +2777,9 @@ void init_db(void)
ets_select_continue_exp.code[1] = am_atom_put("select_trap",11);
ets_select_continue_exp.code[2] = 1;
ets_select_continue_exp.code[3] =
- (Eterm) em_apply_bif;
+ (BeamInstr) em_apply_bif;
ets_select_continue_exp.code[4] =
- (Eterm) &ets_select_trap_1;
+ (BeamInstr) &ets_select_trap_1;
/* Non visual BIF to trap to. */
memset(&ets_delete_continue_exp, 0, sizeof(Export));
@@ -2748,8 +2787,8 @@ void init_db(void)
ets_delete_continue_exp.code[0] = am_ets;
ets_delete_continue_exp.code[1] = am_atom_put("delete_trap",11);
ets_delete_continue_exp.code[2] = 1;
- ets_delete_continue_exp.code[3] = (Eterm) em_apply_bif;
- ets_delete_continue_exp.code[4] = (Eterm) &ets_delete_trap;
+ ets_delete_continue_exp.code[3] = (BeamInstr) em_apply_bif;
+ ets_delete_continue_exp.code[4] = (BeamInstr) &ets_delete_trap;
hp = ms_delete_all_buff;
ms_delete_all = CONS(hp, am_true, NIL);
@@ -2843,9 +2882,9 @@ static int give_away_to_heir(Process* p, DbTable* tb)
{
Process* to_proc;
ErtsProcLocks to_locks = ERTS_PROC_LOCK_MAIN;
- Eterm buf[5];
+ DeclareTmpHeap(buf,5,p);
Eterm to_pid;
- Eterm heir_data;
+ UWord heir_data;
ASSERT(tb->common.owner == p->id);
ASSERT(is_internal_pid(tb->common.heir));
@@ -2888,6 +2927,7 @@ retry:
erts_smp_proc_unlock(to_proc, to_locks);
return 0; /* heir dead and pid reused, table still mine */
}
+ UseTmpHeap(5,p);
db_meta_lock(meta_pid_to_tab, LCK_WRITE_REC);
db_erase_bag_exact2(meta_pid_to_tab, tb->common.owner,
make_small(tb->common.slot));
@@ -2899,7 +2939,7 @@ retry:
TUPLE2(buf,to_pid,make_small(tb->common.slot)),
0);
db_meta_unlock(meta_pid_to_tab, LCK_WRITE_REC);
-
+ UnUseTmpHeap(5,p);
db_unlock(tb,LCK_WRITE);
heir_data = tb->common.heir_data;
if (!is_immed(heir_data)) {
@@ -3145,7 +3185,7 @@ erts_db_process_exiting(Process *c_p, ErtsProcLocks c_p_locks)
static void fix_table_locked(Process* p, DbTable* tb)
{
DbFixation *fix;
- Eterm meta_tuple[3];
+ DeclareTmpHeap(meta_tuple,3,p);
#ifdef ERTS_SMP
erts_smp_mtx_lock(&tb->common.fixlock);
@@ -3179,12 +3219,15 @@ static void fix_table_locked(Process* p, DbTable* tb)
erts_smp_mtx_unlock(&tb->common.fixlock);
#endif
p->flags |= F_USING_DB;
+ UseTmpHeap(3,p);
db_meta_lock(meta_pid_to_fixed_tab, LCK_WRITE_REC);
if (db_put_hash(meta_pid_to_fixed_tab,
TUPLE2(meta_tuple, p->id, make_small(tb->common.slot)),
0) != DB_ERROR_NONE) {
+ UnUseTmpHeap(3,p);
erl_exit(1,"Could not insert ets metadata in safe_fixtable.");
}
+ UnUseTmpHeap(3,p);
db_meta_unlock(meta_pid_to_fixed_tab, LCK_WRITE_REC);
}
@@ -3264,7 +3307,7 @@ static void free_fixations_locked(DbTable *tb)
tb->common.fixations = NULL;
}
-static void set_heir(Process* me, DbTable* tb, Eterm heir, Eterm heir_data)
+static void set_heir(Process* me, DbTable* tb, Eterm heir, UWord heir_data)
{
tb->common.heir = heir;
if (heir == am_none) {
@@ -3285,10 +3328,13 @@ static void set_heir(Process* me, DbTable* tb, Eterm heir, Eterm heir_data)
}
if (!is_immed(heir_data)) {
- Eterm tmp[2];
+ DeclareTmpHeap(tmp,2,me);
+
+ UseTmpHeap(2,me);
/* Make a dummy 1-tuple around data to use db_get_term() */
- heir_data = (Eterm) db_get_term(&tb->common, NULL, 0,
+ heir_data = (UWord) db_get_term(&tb->common, NULL, 0,
TUPLE1(tmp,heir_data));
+ UnUseTmpHeap(2,me);
ASSERT(!is_immed(heir_data));
}
tb->common.heir_data = heir_data;
@@ -3311,10 +3357,13 @@ static BIF_RETTYPE ets_delete_trap(Process *p, Eterm cont)
{
int trap;
Eterm* ptr = big_val(cont);
- DbTable *tb = (DbTable *) ptr[1];
+ DbTable *tb = *((DbTable **) (UWord) (ptr + 1));
+#if HALFWORD_HEAP
+ ASSERT(*ptr == make_pos_bignum_header(2));
+#else
ASSERT(*ptr == make_pos_bignum_header(1));
-
+#endif
db_lock(tb, LCK_WRITE);
trap = free_table_cont(p, tb, 0, 1);
db_unlock(tb, LCK_WRITE);
diff --git a/erts/emulator/beam/erl_db_hash.c b/erts/emulator/beam/erl_db_hash.c
index 4141f9766b..124129a371 100644
--- a/erts/emulator/beam/erl_db_hash.c
+++ b/erts/emulator/beam/erl_db_hash.c
@@ -1284,7 +1284,7 @@ static int db_select_continue_hash(Process *p,
(match_res =
db_prog_match(p,mp,
make_tuple(current->dbterm.tpl),
- 0,&dummy),
+ NULL,0,&dummy),
is_value(match_res))) {
if (all_objects) {
hp = HAlloc(p, current->dbterm.size + 2);
@@ -1462,7 +1462,7 @@ static int db_select_chunk_hash(Process *p, DbTable *tbl,
if (current->hvalue != INVALID_HASH) {
match_res = db_prog_match(p,mpi.mp,
make_tuple(current->dbterm.tpl),
- 0,&dummy);
+ NULL,0,&dummy);
if (is_value(match_res)) {
if (mpi.all_objects) {
hp = HAlloc(p, current->dbterm.size + 2);
@@ -1641,7 +1641,7 @@ static int db_select_count_hash(Process *p,
if (current != NULL) {
if (current->hvalue != INVALID_HASH) {
if (db_prog_match(p, mpi.mp, make_tuple(current->dbterm.tpl),
- 0, &dummy) == am_true) {
+ NULL,0, &dummy) == am_true) {
++got;
}
--num_left;
@@ -1792,7 +1792,7 @@ static int db_select_delete_hash(Process *p,
int did_erase = 0;
if ((db_prog_match(p,mpi.mp,
make_tuple((*current)->dbterm.tpl),
- 0,&dummy)) == am_true) {
+ NULL,0,&dummy)) == am_true) {
if (NFIXED(tb) > fixated_by_me) { /* fixated by others? */
if (slot_ix != last_pseudo_delete) {
add_fixed_deletion(tb, slot_ix);
@@ -1904,7 +1904,7 @@ static int db_select_delete_continue_hash(Process *p,
else {
int did_erase = 0;
if ((db_prog_match(p,mp,make_tuple((*current)->dbterm.tpl),
- 0,&dummy)) == am_true) {
+ NULL,0,&dummy)) == am_true) {
if (NFIXED(tb) > fixated_by_me) { /* fixated by others? */
if (slot_ix != last_pseudo_delete) {
add_fixed_deletion(tb, slot_ix);
@@ -2005,7 +2005,7 @@ static int db_select_count_continue_hash(Process *p,
continue;
}
if (db_prog_match(p, mp, make_tuple(current->dbterm.tpl),
- 0,&dummy) == am_true) {
+ NULL,0,&dummy) == am_true) {
++got;
}
--num_left;
diff --git a/erts/emulator/beam/erl_db_tree.c b/erts/emulator/beam/erl_db_tree.c
index b421da591b..b6b3cabafe 100644
--- a/erts/emulator/beam/erl_db_tree.c
+++ b/erts/emulator/beam/erl_db_tree.c
@@ -443,9 +443,9 @@ void db_initialize_tree(void)
ets_select_reverse_exp.code[1] = am_reverse;
ets_select_reverse_exp.code[2] = 3;
ets_select_reverse_exp.code[3] =
- (Eterm) em_apply_bif;
+ (BeamInstr) em_apply_bif;
ets_select_reverse_exp.code[4] =
- (Eterm) &ets_select_reverse;
+ (BeamInstr) &ets_select_reverse;
return;
};
@@ -3023,7 +3023,7 @@ static int doit_select(DbTableTree *tb, TreeDbTerm *this, void *ptr,
}
ret = db_prog_match(sc->p, sc->mp,
make_tuple(this->dbterm.tpl),
- 0, &dummy);
+ NULL,0, &dummy);
if (is_value(ret)) {
Uint sz;
Eterm *hp;
@@ -3072,7 +3072,7 @@ static int doit_select_count(DbTableTree *tb, TreeDbTerm *this, void *ptr,
}
ret = db_prog_match(sc->p, sc->mp,
make_tuple(this->dbterm.tpl),
- 0, &dummy);
+ NULL,0, &dummy);
if (ret == am_true) {
++(sc->got);
}
@@ -3105,7 +3105,7 @@ static int doit_select_chunk(DbTableTree *tb, TreeDbTerm *this, void *ptr,
ret = db_prog_match(sc->p, sc->mp,
make_tuple(this->dbterm.tpl),
- 0, &dummy);
+ NULL,0, &dummy);
if (is_value(ret)) {
Uint sz;
Eterm *hp;
@@ -3158,7 +3158,7 @@ static int doit_select_delete(DbTableTree *tb, TreeDbTerm *this, void *ptr,
return 0;
ret = db_prog_match(sc->p, sc->mp,
make_tuple(this->dbterm.tpl),
- 0, &dummy);
+ NULL,0, &dummy);
if (ret == am_true) {
key = GETKEY(sc->tb, this->dbterm.tpl);
linkout_tree(sc->tb, key);
diff --git a/erts/emulator/beam/erl_db_util.c b/erts/emulator/beam/erl_db_util.c
index 8c373451fd..fd7de98ac9 100644
--- a/erts/emulator/beam/erl_db_util.c
+++ b/erts/emulator/beam/erl_db_util.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1998-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1998-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -117,6 +117,10 @@ do { \
erts_free(ERTS_ALC_T_DB_MC_STK, (Name).data); \
} while (0)
+
+#define TermWords(t) (((t) / (sizeof(UWord)/sizeof(Eterm))) + !!((t) % (sizeof(UWord)/sizeof(Eterm))))
+
+
static ERTS_INLINE Process *
get_proc(Process *cp, Uint32 cp_locks, Eterm id, Uint32 id_locks)
{
@@ -281,7 +285,7 @@ typedef struct dmc_guard_bif {
*/
DMC_DECLARE_STACK_TYPE(Eterm);
-DMC_DECLARE_STACK_TYPE(Uint);
+DMC_DECLARE_STACK_TYPE(UWord);
DMC_DECLARE_STACK_TYPE(unsigned);
@@ -382,7 +386,7 @@ cleanup_match_pseudo_process(ErtsMatchPseudoProcess *mpsp, int keep_heap)
else {
int i;
for (i = 0; i < ERTS_DEFAULT_MS_HEAP_SIZE; i++) {
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
mpsp->default_heap[i] = (Eterm) 0xdeadbeefdeadbeef;
#else
mpsp->default_heap[i] = (Eterm) 0xdeadbeef;
@@ -830,42 +834,42 @@ static Uint my_size_object(Eterm t);
static Eterm my_copy_struct(Eterm t, Eterm **hp, ErlOffHeap* off_heap);
/* Guard compilation */
-static void do_emit_constant(DMCContext *context, DMC_STACK_TYPE(Uint) *text,
+static void do_emit_constant(DMCContext *context, DMC_STACK_TYPE(UWord) *text,
Eterm t);
static DMCRet dmc_list(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant);
static DMCRet dmc_tuple(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant);
static DMCRet dmc_variable(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant);
static DMCRet dmc_fun(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant);
static DMCRet dmc_expr(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant);
static DMCRet compile_guard_expr(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t);
/* match expression subroutine */
static DMCRet dmc_one_term(DMCContext *context,
DMCHeap *heap,
DMC_STACK_TYPE(Eterm) *stack,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm c);
@@ -1185,7 +1189,7 @@ Eterm erts_match_set_run(Process *p, Binary *mpsp,
Eterm ret;
ret = db_prog_match(p, mpsp,
- (Eterm) args,
+ NIL, args,
num_args, return_flags);
#if defined(HARDDEBUG)
if (is_non_value(ret)) {
@@ -1204,6 +1208,32 @@ Eterm erts_match_set_run(Process *p, Binary *mpsp,
*/
}
+static Eterm erts_match_set_run_ets(Process *p, Binary *mpsp,
+ Eterm args, int num_args,
+ Uint32 *return_flags)
+{
+ Eterm ret;
+
+ ret = db_prog_match(p, mpsp,
+ args, NULL,
+ num_args, return_flags);
+#if defined(HARDDEBUG)
+ if (is_non_value(ret)) {
+ erts_fprintf(stderr, "Failed\n");
+ } else {
+ erts_fprintf(stderr, "Returning : %T\n", ret);
+ }
+#endif
+ return ret;
+ /* Returns
+ * THE_NON_VALUE if no match
+ * am_false if {message,false} has been called,
+ * am_true if {message,_} has not been called or
+ * if {message,true} has been called,
+ * Msg if {message,Msg} has been called.
+ */
+}
+
/*
** API Used by other erl_db modules.
*/
@@ -1245,7 +1275,7 @@ Binary *db_match_compile(Eterm *matchexpr,
{
DMCHeap heap;
DMC_STACK_TYPE(Eterm) stack;
- DMC_STACK_TYPE(Uint) text;
+ DMC_STACK_TYPE(UWord) text;
DMCContext context;
MatchProg *ret = NULL;
Eterm t;
@@ -1380,7 +1410,7 @@ restart:
/*
** There is one single top variable in the match expression
- ** iff the text is tho Uint's and the single instruction
+ ** iff the text is two Uint's and the single instruction
** is 'matchBind' or it is only a skip.
*/
context.special =
@@ -1491,8 +1521,8 @@ restart:
** A special case is when the match expression is a single binding
** (i.e '$1'), then the field single_variable is set to 1.
*/
- bp = erts_create_magic_binary(((sizeof(MatchProg) - sizeof(Uint)) +
- (DMC_STACK_NUM(text) * sizeof(Uint))),
+ bp = erts_create_magic_binary(((sizeof(MatchProg) - sizeof(UWord)) +
+ (DMC_STACK_NUM(text) * sizeof(UWord))),
erts_db_match_prog_destructor);
ret = Binary2MatchProg(bp);
ret->saved_program_buf = NULL;
@@ -1501,7 +1531,7 @@ restart:
ret->num_bindings = heap.used;
ret->single_variable = context.special;
sys_memcpy(ret->text, DMC_STACK_DATA(text),
- DMC_STACK_NUM(text) * sizeof(Uint));
+ DMC_STACK_NUM(text) * sizeof(UWord));
ret->heap_size = ((heap.used * sizeof(Eterm)) +
(max_eheap_need * sizeof(Eterm)) +
(context.stack_need * sizeof(Eterm *)) +
@@ -1591,6 +1621,7 @@ static Eterm dpm_array_to_list(Process *psp, Eterm *arr, int arity)
** i.e. 'DCOMP_TRACE' was specified
*/
Eterm db_prog_match(Process *c_p, Binary *bprog, Eterm term,
+ Eterm *termp,
int arity,
Uint32 *return_flags)
{
@@ -1601,7 +1632,8 @@ Eterm db_prog_match(Process *c_p, Binary *bprog, Eterm term,
Eterm **sp;
Eterm *esp;
Eterm *hp;
- Uint *pc = prog->text;
+ BeamInstr *cp;
+ UWord *pc = prog->text;
Eterm *ehp;
Eterm ret;
Uint n = 0; /* To avoid warning. */
@@ -1616,9 +1648,9 @@ Eterm db_prog_match(Process *c_p, Binary *bprog, Eterm term,
int fail_label;
int atomic_trace;
#ifdef DMC_DEBUG
- unsigned long *heap_fence;
- unsigned long *eheap_fence;
- unsigned long *stack_fence;
+ Uint *heap_fence;
+ Uint *eheap_fence;
+ Uint *stack_fence;
Uint save_op;
#endif /* DMC_DEBUG */
@@ -1654,9 +1686,9 @@ Eterm db_prog_match(Process *c_p, Binary *bprog, Eterm term,
#ifdef DMC_DEBUG
save_op = 0;
- heap_fence = (unsigned long *) mpsp->heap + prog->eheap_offset - 1;
- eheap_fence = (unsigned long *) mpsp->heap + prog->stack_offset - 1;
- stack_fence = (unsigned long *) mpsp->heap + prog->heap_size - 1;
+ heap_fence = (Uint *) mpsp->heap + prog->eheap_offset - 1;
+ eheap_fence = (Uint *) mpsp->heap + prog->stack_offset - 1;
+ stack_fence = (Uint *) mpsp->heap + prog->heap_size - 1;
*heap_fence = FENCE_PATTERN;
*eheap_fence = FENCE_PATTERN;
*stack_fence = FENCE_PATTERN;
@@ -1709,11 +1741,12 @@ restart:
n = *pc++;
if ((int) n != arity)
FAIL();
- ep = (Eterm *) *ep;
+ ep = termp;
break;
- case matchArrayBind: /* When the array size is unknown. */
+ case matchArrayBind: /* When the array size is unknown. */ /* XXX:PaN - where does
+ this array come from? */
n = *pc++;
- hp[n] = dpm_array_to_list(psp, (Eterm *) term, arity);
+ hp[n] = dpm_array_to_list(psp, termp, arity);
break;
case matchTuple: /* *ep is a tuple of arity n */
if (!is_tuple(*ep))
@@ -1770,29 +1803,34 @@ restart:
FAIL();
if (memcmp(float_val(*ep) + 1, pc, sizeof(double)))
FAIL();
- pc += 2;
+ pc += TermWords(2);
++ep;
break;
case matchEqRef:
if (!is_ref(*ep))
FAIL();
- if (!eq(*ep, make_internal_ref(pc)))
+ if (!eq(*ep, make_internal_ref((Uint *) pc)))
FAIL();
- i = thing_arityval(*pc);
- pc += i+1;
+ i = thing_arityval(*((Uint *) pc));
+ pc += TermWords(i+1);
++ep;
break;
case matchEqBig:
if (!is_big(*ep))
FAIL();
tp = big_val(*ep);
- if (*tp != *pc)
- FAIL();
- i = BIG_ARITY(pc);
- while(i--)
- if (*++tp != *++pc)
+ {
+ Eterm *epc = (Eterm *) pc;
+ if (*tp != *epc)
FAIL();
- ++pc;
+ i = BIG_ARITY(epc);
+ pc += TermWords(i+1);
+ while(i--) {
+ if (*++tp != *++epc) {
+ FAIL();
+ }
+ }
+ }
++ep;
break;
case matchEq:
@@ -1884,7 +1922,7 @@ restart:
break;
case matchPushArrayAsList:
n = arity; /* Only happens when 'term' is an array */
- tp = (Eterm *) term;
+ tp = termp;
*esp++ = make_list(ehp);
while (n--) {
*ehp++ = *tp++;
@@ -1897,7 +1935,7 @@ restart:
break;
case matchPushArrayAsListU:
/* This instruction is NOT efficient. */
- *esp++ = dpm_array_to_list(psp, (Eterm *) term, arity);
+ *esp++ = dpm_array_to_list(psp, termp, arity);
break;
case matchTrue:
if (*--esp != am_true)
@@ -2095,17 +2133,17 @@ restart:
}
break;
case matchCaller:
- if (!(c_p->cp) || !(hp = find_function_from_pc(c_p->cp))) {
+ if (!(c_p->cp) || !(cp = find_function_from_pc(c_p->cp))) {
*esp++ = am_undefined;
} else {
*esp++ = make_tuple(ehp);
- ehp[0] = make_arityval(3);
- ehp[1] = hp[0];
- ehp[2] = hp[1];
- ehp[3] = make_small(hp[2]);
- ehp += 4;
- }
- break;
+ ehp[0] = make_arityval(3);
+ ehp[1] = cp[0];
+ ehp[2] = cp[1];
+ ehp[3] = make_small((Uint) cp[2]);
+ ehp += 4;
+ }
+ break;
case matchSilent:
--esp;
if (*esp == am_true) {
@@ -2300,7 +2338,7 @@ void db_free_dmc_err_info(DMCErrInfo *ei){
*/
Eterm db_add_counter(Eterm** hpp, Eterm counter, Eterm incr)
{
- Eterm big_tmp[2];
+ DeclareTmpHeapNoproc(big_tmp,2);
Eterm res;
Sint ires;
Eterm arg1;
@@ -2318,6 +2356,7 @@ Eterm db_add_counter(Eterm** hpp, Eterm counter, Eterm incr)
}
}
else {
+ UseTmpHeapNoproc(2);
switch(NUMBER_CODE(counter, incr)) {
case SMALL_BIG:
arg1 = small_to_big(signed_val(counter), big_tmp);
@@ -2332,12 +2371,14 @@ Eterm db_add_counter(Eterm** hpp, Eterm counter, Eterm incr)
arg2 = counter;
break;
default:
+ UnUseTmpHeapNoproc(2);
return THE_NON_VALUE;
}
res = big_plus(arg1, arg2, *hpp);
if (is_big(res)) {
*hpp += BIG_NEED_SIZE(big_size(res));
}
+ UnUseTmpHeapNoproc(2);
return res;
}
}
@@ -2606,7 +2647,7 @@ static void add_dmc_err(DMCErrInfo *err_info,
static DMCRet dmc_one_term(DMCContext *context,
DMCHeap *heap,
DMC_STACK_TYPE(Eterm) *stack,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm c)
{
Sint n;
@@ -2704,27 +2745,80 @@ static DMCRet dmc_one_term(DMCContext *context,
DMC_PUSH(*stack, c);
break;
case (_TAG_HEADER_REF >> _TAG_PRIMARY_SIZE):
- n = thing_arityval(*internal_ref_val(c));
DMC_PUSH(*text, matchEqRef);
+#if HALFWORD_HEAP
+ {
+ union {
+ UWord u;
+ Uint t[2];
+ } fiddle;
+ ASSERT(thing_arityval(*internal_ref_val(c)) == 3);
+ fiddle.t[0] = *internal_ref_val(c);
+ fiddle.t[1] = (Uint) internal_ref_val(c)[1];
+ DMC_PUSH(*text, fiddle.u);
+ fiddle.t[0] = (Uint) internal_ref_val(c)[2];
+ fiddle.t[1] = (Uint) internal_ref_val(c)[3];
+ DMC_PUSH(*text, fiddle.u);
+ }
+#else
+ n = thing_arityval(*internal_ref_val(c));
DMC_PUSH(*text, *internal_ref_val(c));
for (i = 1; i <= n; ++i) {
DMC_PUSH(*text, (Uint) internal_ref_val(c)[i]);
}
+#endif
break;
case (_TAG_HEADER_POS_BIG >> _TAG_PRIMARY_SIZE):
case (_TAG_HEADER_NEG_BIG >> _TAG_PRIMARY_SIZE):
n = thing_arityval(*big_val(c));
DMC_PUSH(*text, matchEqBig);
+#if HALFWORD_HEAP
+ {
+ union {
+ UWord u;
+ Uint t[2];
+ } fiddle;
+ ASSERT(n >= 1);
+ fiddle.t[0] = *big_val(c);
+ fiddle.t[1] = big_val(c)[1];
+ DMC_PUSH(*text, fiddle.u);
+ for (i = 2; i <= n; ++i) {
+ fiddle.t[0] = big_val(c)[i];
+ if (++i <= n) {
+ fiddle.t[1] = big_val(c)[i];
+ } else {
+ fiddle.t[1] = (Uint) 0;
+ }
+ DMC_PUSH(*text, fiddle.u);
+ }
+ }
+#else
DMC_PUSH(*text, *big_val(c));
for (i = 1; i <= n; ++i) {
DMC_PUSH(*text, (Uint) big_val(c)[i]);
}
+#endif
break;
case (_TAG_HEADER_FLOAT >> _TAG_PRIMARY_SIZE):
DMC_PUSH(*text,matchEqFloat);
+#if HALFWORD_HEAP
+ {
+ union {
+ UWord u;
+ Uint t[2];
+ } fiddle;
+ fiddle.t[0] = float_val(c)[1];
+ fiddle.t[1] = float_val(c)[2];
+ DMC_PUSH(*text, fiddle.u);
+ }
+#else
DMC_PUSH(*text, (Uint) float_val(c)[1]);
- /* XXX: this reads and pushes random junk on ARCH_64 */
+#ifdef ARCH_64
+ DMC_PUSH(*text, (Uint) 0);
+#else
DMC_PUSH(*text, (Uint) float_val(c)[2]);
+#endif
+#endif
break;
default: /* BINARY, FUN, VECTOR, or EXTERNAL */
/*
@@ -2753,7 +2847,7 @@ static DMCRet dmc_one_term(DMCContext *context,
** Match guard compilation
*/
-static void do_emit_constant(DMCContext *context, DMC_STACK_TYPE(Uint) *text,
+static void do_emit_constant(DMCContext *context, DMC_STACK_TYPE(UWord) *text,
Eterm t)
{
int sz;
@@ -2807,7 +2901,7 @@ add_dmc_err((ContextP)->err_info, String, -1, T, dmcWarning)
static DMCRet dmc_list(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -2843,11 +2937,11 @@ static DMCRet dmc_list(DMCContext *context,
static DMCRet dmc_tuple(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
- DMC_STACK_TYPE(Uint) instr_save;
+ DMC_STACK_TYPE(UWord) instr_save;
int all_constant = 1;
int textpos = DMC_STACK_NUM(*text);
Eterm *p = tuple_val(t);
@@ -2903,7 +2997,7 @@ static DMCRet dmc_tuple(DMCContext *context,
static DMCRet dmc_whole_expression(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -2931,7 +3025,7 @@ static DMCRet dmc_whole_expression(DMCContext *context,
static DMCRet dmc_variable(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -2952,7 +3046,7 @@ static DMCRet dmc_variable(DMCContext *context,
static DMCRet dmc_all_bindings(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -2979,7 +3073,7 @@ static DMCRet dmc_all_bindings(DMCContext *context,
static DMCRet dmc_const(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -2996,7 +3090,7 @@ static DMCRet dmc_const(DMCContext *context,
static DMCRet dmc_and(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3025,7 +3119,7 @@ static DMCRet dmc_and(DMCContext *context,
static DMCRet dmc_or(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3055,7 +3149,7 @@ static DMCRet dmc_or(DMCContext *context,
static DMCRet dmc_andalso(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3104,7 +3198,7 @@ static DMCRet dmc_andalso(DMCContext *context,
static DMCRet dmc_orelse(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3152,7 +3246,7 @@ static DMCRet dmc_orelse(DMCContext *context,
static DMCRet dmc_message(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3194,7 +3288,7 @@ static DMCRet dmc_message(DMCContext *context,
static DMCRet dmc_self(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3214,7 +3308,7 @@ static DMCRet dmc_self(DMCContext *context,
static DMCRet dmc_return_trace(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3244,7 +3338,7 @@ static DMCRet dmc_return_trace(DMCContext *context,
static DMCRet dmc_exception_trace(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3276,7 +3370,7 @@ static DMCRet dmc_exception_trace(DMCContext *context,
static DMCRet dmc_is_seq_trace(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3302,7 +3396,7 @@ static DMCRet dmc_is_seq_trace(DMCContext *context,
static DMCRet dmc_set_seq_token(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3351,7 +3445,7 @@ static DMCRet dmc_set_seq_token(DMCContext *context,
static DMCRet dmc_get_seq_token(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3388,7 +3482,7 @@ static DMCRet dmc_get_seq_token(DMCContext *context,
static DMCRet dmc_display(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3428,7 +3522,7 @@ static DMCRet dmc_display(DMCContext *context,
static DMCRet dmc_process_dump(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3458,7 +3552,7 @@ static DMCRet dmc_process_dump(DMCContext *context,
static DMCRet dmc_enable_trace(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3518,7 +3612,7 @@ static DMCRet dmc_enable_trace(DMCContext *context,
static DMCRet dmc_disable_trace(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3578,7 +3672,7 @@ static DMCRet dmc_disable_trace(DMCContext *context,
static DMCRet dmc_trace(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3652,7 +3746,7 @@ static DMCRet dmc_trace(DMCContext *context,
static DMCRet dmc_caller(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3685,7 +3779,7 @@ static DMCRet dmc_caller(DMCContext *context,
static DMCRet dmc_silent(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3727,7 +3821,7 @@ static DMCRet dmc_silent(DMCContext *context,
static DMCRet dmc_fun(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3844,7 +3938,7 @@ static DMCRet dmc_fun(DMCContext *context,
erl_exit(1,"ets:match() internal error, "
"guard with more than 3 arguments.");
}
- DMC_PUSH(*text, (Uint) b->biff);
+ DMC_PUSH(*text, (UWord) b->biff);
context->stack_used -= (((int) a) - 2);
if (context->stack_used > context->stack_need)
context->stack_need = context->stack_used;
@@ -3853,7 +3947,7 @@ static DMCRet dmc_fun(DMCContext *context,
static DMCRet dmc_expr(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm t,
int *constant)
{
@@ -3916,7 +4010,7 @@ static DMCRet dmc_expr(DMCContext *context,
static DMCRet compile_guard_expr(DMCContext *context,
DMCHeap *heap,
- DMC_STACK_TYPE(Uint) *text,
+ DMC_STACK_TYPE(UWord) *text,
Eterm l)
{
DMCRet ret;
@@ -4230,7 +4324,7 @@ static Eterm match_spec_test(Process *p, Eterm against, Eterm spec, int trace)
Eterm l;
Uint32 ret_flags;
Uint sz;
- Eterm *save_cp;
+ BeamInstr *save_cp;
if (trace && !(is_list(against) || against == NIL)) {
return THE_NON_VALUE;
@@ -4271,17 +4365,18 @@ static Eterm match_spec_test(Process *p, Eterm against, Eterm spec, int trace)
++n;
l = CDR(list_val(l));
}
+ save_cp = p->cp;
+ p->cp = NULL;
+ res = erts_match_set_run(p, mps, arr, n, &ret_flags);
+ p->cp = save_cp;
} else {
n = 0;
- arr = (Eterm *) against;
+ arr = NULL;
+ res = erts_match_set_run_ets(p, mps, against, n, &ret_flags);
}
/* We are in the context of a BIF,
{caller} should return 'undefined' */
- save_cp = p->cp;
- p->cp = NULL;
- res = erts_match_set_run(p, mps, arr, n, &ret_flags);
- p->cp = save_cp;
if (is_non_value(res)) {
res = am_false;
}
@@ -4324,7 +4419,7 @@ static Eterm seq_trace_fake(Process *p, Eterm arg1)
static void db_match_dis(Binary *bp)
{
MatchProg *prog = Binary2MatchProg(bp);
- Uint *t = prog->text;
+ UWord *t = prog->text;
Uint n;
Eterm p;
int first;
@@ -4390,41 +4485,48 @@ static void db_match_dis(Binary *bp)
break;
case matchEqRef:
++t;
- n = thing_arityval(*t);
- ++t;
- erts_printf("EqRef\t(%d) {", (int) n);
- first = 1;
- while (n--) {
- if (first)
- first = 0;
- else
- erts_printf(", ");
-#ifdef ARCH_64
- erts_printf("0x%016bpx", *t);
+ {
+ RefThing *rt = (RefThing *) t;
+ int ri;
+ n = thing_arityval(rt->header);
+ erts_printf("EqRef\t(%d) {", (int) n);
+ first = 1;
+ for (ri = 0; ri < n; ++ri) {
+ if (first)
+ first = 0;
+ else
+ erts_printf(", ");
+#if defined(ARCH_64) && !HALFWORD_HEAP
+ erts_printf("0x%016bpx", rt->data.ui[ri]);
#else
- erts_printf("0x%08bpx", *t);
+ erts_printf("0x%08bpx", rt->data.ui[ri]);
#endif
- ++t;
+ }
}
+ t += TermWords(REF_THING_SIZE);
erts_printf("}\n");
break;
case matchEqBig:
++t;
n = thing_arityval(*t);
- ++t;
- erts_printf("EqBig\t(%d) {", (int) n);
- first = 1;
- while (n--) {
- if (first)
- first = 0;
- else
- erts_printf(", ");
-#ifdef ARCH_64
- erts_printf("0x%016bpx", *t);
+ {
+ Eterm *et = (Eterm *) t;
+ t += TermWords(n+1);
+ erts_printf("EqBig\t(%d) {", (int) n);
+ first = 1;
+ ++n;
+ while (n--) {
+ if (first)
+ first = 0;
+ else
+ erts_printf(", ");
+#if defined(ARCH_64) && !HALFWORD_HEAP
+ erts_printf("0x%016bpx", *et);
#else
- erts_printf("0x%08bpx", *t);
+ erts_printf("0x%08bpx", *et);
#endif
- ++t;
+ ++et;
+ }
}
erts_printf("}\n");
break;
@@ -4432,8 +4534,8 @@ static void db_match_dis(Binary *bp)
++t;
{
double num;
- memcpy(&num,t, 2 * sizeof(*t));
- t += 2;
+ memcpy(&num,t,sizeof(double));
+ t += TermWords(2);
erts_printf("EqFloat\t%f\n", num);
}
break;
diff --git a/erts/emulator/beam/erl_db_util.h b/erts/emulator/beam/erl_db_util.h
index 4fc7b4f52e..382e5dceb5 100644
--- a/erts/emulator/beam/erl_db_util.h
+++ b/erts/emulator/beam/erl_db_util.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1998-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1998-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -212,7 +212,7 @@ typedef struct db_table_common {
#endif
Eterm owner; /* Pid of the creator */
Eterm heir; /* Pid of the heir */
- Eterm heir_data; /* To send in ETS-TRANSFER (is_immed or (DbTerm*) */
+ UWord heir_data; /* To send in ETS-TRANSFER (is_immed or (DbTerm*) */
SysTimeval heir_started; /* To further identify the heir */
Eterm the_name; /* an atom */
Eterm id; /* atom | integer */
@@ -304,9 +304,9 @@ typedef struct match_prog {
Uint eheap_offset;
Uint stack_offset;
#ifdef DMC_DEBUG
- Uint* prog_end; /* End of program */
+ UWord* prog_end; /* End of program */
#endif
- Uint text[1]; /* Beginning of program */
+ UWord text[1]; /* Beginning of program */
} MatchProg;
/*
@@ -366,7 +366,7 @@ Binary *db_match_compile(Eterm *matchexpr, Eterm *guards,
Uint flags,
DMCErrInfo *err_info);
/* Returns newly allocated MatchProg binary with refc == 0*/
-Eterm db_prog_match(Process *p, Binary *prog, Eterm term, int arity,
+Eterm db_prog_match(Process *p, Binary *prog, Eterm term, Eterm *termp, int arity,
Uint32 *return_flags /* Zeroed on enter */);
/* returns DB_ERROR_NONE if matches, 1 if not matches and some db error on
error. */
diff --git a/erts/emulator/beam/erl_debug.c b/erts/emulator/beam/erl_debug.c
index e5c3c76fdd..58d3f92f56 100644
--- a/erts/emulator/beam/erl_debug.c
+++ b/erts/emulator/beam/erl_debug.c
@@ -207,11 +207,7 @@ pdisplay1(int to, void *to_arg, Process* p, Eterm obj)
case FLOAT_DEF: {
FloatDef ff;
GET_DOUBLE(obj, ff);
-#ifdef _OSE_
- erts_print(to, to_arg, "%e", ff.fd);
-#else
erts_print(to, to_arg, "%.20e", ff.fd);
-#endif
}
break;
case BINARY_DEF:
@@ -235,9 +231,9 @@ pps(Process* p, Eterm* stop)
}
while(sp >= stop) {
- erts_print(to, to_arg, "%0*lx: ", PTR_SIZE, (Eterm) sp);
+ erts_print(to, to_arg, "%0*lx: ", PTR_SIZE, (UWord) sp);
if (is_catch(*sp)) {
- erts_print(to, to_arg, "catch %d", (Uint)catch_pc(*sp));
+ erts_print(to, to_arg, "catch %ld", (UWord)catch_pc(*sp));
} else {
paranoid_display(to, to_arg, p, *sp);
}
@@ -895,5 +891,29 @@ void print_memory_info(Process *p)
#endif
erts_printf("+-----------------%s-%s-%s-%s-+\n",dashes,dashes,dashes,dashes);
}
+#if !HEAP_ON_C_STACK && defined(DEBUG)
+Eterm *erts_debug_allocate_tmp_heap(int size, Process *p)
+{
+ ErtsSchedulerData *sd = ((p == NULL) ? erts_get_scheduler_data() : ERTS_PROC_GET_SCHDATA(p));
+ int offset = sd->num_tmp_heap_used;
+
+ ASSERT(offset+size <= TMP_HEAP_SIZE);
+ return (sd->tmp_heap)+offset;
+}
+void erts_debug_use_tmp_heap(int size, Process *p)
+{
+ ErtsSchedulerData *sd = ((p == NULL) ? erts_get_scheduler_data() : ERTS_PROC_GET_SCHDATA(p));
+
+ sd->num_tmp_heap_used += size;
+ ASSERT(sd->num_tmp_heap_used <= TMP_HEAP_SIZE);
+}
+void erts_debug_unuse_tmp_heap(int size, Process *p)
+{
+ ErtsSchedulerData *sd = ((p == NULL) ? erts_get_scheduler_data() : ERTS_PROC_GET_SCHDATA(p));
+
+ sd->num_tmp_heap_used -= size;
+ ASSERT(sd->num_tmp_heap_used >= 0);
+}
+#endif
#endif
diff --git a/erts/emulator/beam/erl_debug.h b/erts/emulator/beam/erl_debug.h
index 74f4a00b63..bdfbaddbbf 100644
--- a/erts/emulator/beam/erl_debug.h
+++ b/erts/emulator/beam/erl_debug.h
@@ -1,26 +1,27 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2004-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2004-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
#ifndef _ERL_DEBUG_H_
#define _ERL_DEBUG_H_
-
#ifdef DEBUG
+#include "erl_term.h"
+
#ifdef HIPE
#include "hipe_debug.h"
#endif
@@ -92,6 +93,11 @@ extern void print_tagged_memory(Eterm *start, Eterm *end);
extern void print_untagged_memory(Eterm *start, Eterm *end);
extern void print_memory(Process *p);
extern void print_memory_info(Process *p);
+#if defined(DEBUG) && !HEAP_ON_C_STACK
+extern Eterm *erts_debug_allocate_tmp_heap(int, Process *);
+extern void erts_debug_use_tmp_heap(int, Process *);
+extern void erts_debug_unuse_tmp_heap(int, Process *);
+#endif
#ifdef HYBRID
extern void print_ma_info(void);
diff --git a/erts/emulator/beam/erl_driver.h b/erts/emulator/beam/erl_driver.h
index 489e74d960..9733c0e5b5 100644
--- a/erts/emulator/beam/erl_driver.h
+++ b/erts/emulator/beam/erl_driver.h
@@ -48,6 +48,10 @@
# define SIZEOF_LONG_LONG_SAVED__ SIZEOF_LONG_LONG
# undef SIZEOF_LONG_LONG
#endif
+#ifdef HALFWORD_HEAP_EMULATOR
+# define HALFWORD_HEAP_EMULATOR_SAVED__ HALFWORD_HEAP_EMULATOR
+# undef HALFWORD_HEAP_EMULATOR
+#endif
#include "erl_int_sizes_config.h"
#if defined(SIZEOF_CHAR_SAVED__) && SIZEOF_CHAR_SAVED__ != SIZEOF_CHAR
# error SIZEOF_CHAR mismatch
@@ -65,6 +69,11 @@
# error SIZEOF_LONG_LONG mismatch
#endif
+/* This is OK to override by the NIF/driver implementor */
+#if defined(HALFWORD_HEAP_EMULATOR_SAVED__) && !defined(HALFWORD_HEAP_EMULATOR)
+#define HALFWORD_HEAP_EMULATOR HALFWORD_HEAP_EMULATOR_SAVED__
+#endif
+
#include "erl_drv_nif.h"
#include <stdlib.h>
diff --git a/erts/emulator/beam/erl_fun.c b/erts/emulator/beam/erl_fun.c
index 79e844b315..15d9538301 100644
--- a/erts/emulator/beam/erl_fun.c
+++ b/erts/emulator/beam/erl_fun.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2000-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2000-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -50,8 +50,8 @@ static void fun_free(ErlFunEntry* obj);
* to unloaded_fun[]. The -1 in unloaded_fun[0] will be interpreted
* as an illegal arity when attempting to call a fun.
*/
-static Eterm unloaded_fun_code[3] = {NIL, -1, 0};
-static Eterm* unloaded_fun = unloaded_fun_code + 2;
+static BeamInstr unloaded_fun_code[3] = {NIL, -1, 0};
+static BeamInstr* unloaded_fun = unloaded_fun_code + 2;
void
erts_init_fun_table(void)
@@ -207,7 +207,7 @@ erts_cleanup_funs(ErlFunThing* funp)
#endif
void
-erts_cleanup_funs_on_purge(Eterm* start, Eterm* end)
+erts_cleanup_funs_on_purge(BeamInstr* start, BeamInstr* end)
{
int limit;
HashBucket** bucket;
@@ -222,7 +222,7 @@ erts_cleanup_funs_on_purge(Eterm* start, Eterm* end)
while (b) {
ErlFunEntry* fe = (ErlFunEntry *) b;
- Eterm* addr = fe->address;
+ BeamInstr* addr = fe->address;
if (start <= addr && addr < end) {
fe->address = unloaded_fun;
diff --git a/erts/emulator/beam/erl_fun.h b/erts/emulator/beam/erl_fun.h
index fb5e75649b..944d4b3df5 100644
--- a/erts/emulator/beam/erl_fun.h
+++ b/erts/emulator/beam/erl_fun.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2000-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2000-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -33,10 +33,10 @@ typedef struct erl_fun_entry {
int index; /* New style index. */
int old_uniq; /* Unique number (old_style) */
int old_index; /* Old style index */
- Eterm* address; /* Pointer to code for fun */
+ BeamInstr* address; /* Pointer to code for fun */
#ifdef HIPE
- Eterm* native_address; /* Native entry code for fun. */
+ UWord* native_address; /* Native entry code for fun. */
#endif
Uint arity; /* The arity of the fun. */
@@ -58,7 +58,7 @@ typedef struct erl_fun_thing {
#endif
ErlFunEntry* fe; /* Pointer to fun entry. */
#ifdef HIPE
- Eterm* native_address; /* Native code for the fun. */
+ UWord* native_address; /* Native code for the fun. */
#endif
Uint arity; /* The arity of the fun. */
Uint num_free; /* Number of free variables (in env). */
@@ -86,7 +86,7 @@ void erts_erase_fun_entry(ErlFunEntry* fe);
#ifndef HYBRID /* FIND ME! */
void erts_cleanup_funs(ErlFunThing* funp);
#endif
-void erts_cleanup_funs_on_purge(Eterm* start, Eterm* end);
+void erts_cleanup_funs_on_purge(BeamInstr* start, BeamInstr* end);
void erts_dump_fun_entries(int, void *);
#endif
diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c
index e9bf37a173..9ed566e66e 100644
--- a/erts/emulator/beam/erl_gc.c
+++ b/erts/emulator/beam/erl_gc.c
@@ -126,7 +126,7 @@ static void disallow_heap_frag_ref_in_old_heap(Process* p);
static void disallow_heap_frag_ref(Process* p, Eterm* n_htop, Eterm* objv, int nobj);
#endif
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
# define MAX_HEAP_SIZES 154
#else
# define MAX_HEAP_SIZES 55
@@ -1551,7 +1551,7 @@ disallow_heap_frag_ref_in_old_heap(Process* p)
val = *hp++;
switch (primary_tag(val)) {
case TAG_PRIMARY_BOXED:
- ptr = (Eterm *) val;
+ ptr = (Eterm *) EXPAND_POINTER(val);
if (!in_area(ptr, old_heap, old_heap_size)) {
if (in_area(ptr, new_heap, new_heap_size)) {
abort();
@@ -1564,7 +1564,7 @@ disallow_heap_frag_ref_in_old_heap(Process* p)
}
break;
case TAG_PRIMARY_LIST:
- ptr = (Eterm *) val;
+ ptr = (Eterm *) EXPAND_POINTER(val);
if (!in_area(ptr, old_heap, old_heap_size)) {
if (in_area(ptr, new_heap, new_heap_size)) {
abort();
diff --git a/erts/emulator/beam/erl_goodfit_alloc.c b/erts/emulator/beam/erl_goodfit_alloc.c
index ea2ba4d55c..76b206d76f 100644
--- a/erts/emulator/beam/erl_goodfit_alloc.c
+++ b/erts/emulator/beam/erl_goodfit_alloc.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2003-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2003-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -49,30 +49,30 @@
#define MIN_MBC_FIRST_FREE_SZ (4*1024)
#define MAX_SUB_MASK_IX \
- ((((Uint)1) << (NO_OF_BKT_IX_BITS - SUB_MASK_IX_SHIFT)) - 1)
-#define MAX_SUB_BKT_IX ((((Uint)1) << SUB_MASK_IX_SHIFT) - 1)
+ ((((UWord)1) << (NO_OF_BKT_IX_BITS - SUB_MASK_IX_SHIFT)) - 1)
+#define MAX_SUB_BKT_IX ((((UWord)1) << SUB_MASK_IX_SHIFT) - 1)
#define MAX_BKT_IX (NO_OF_BKTS - 1)
-#define MIN_BLK_SZ UNIT_CEILING(sizeof(GFFreeBlock_t) + sizeof(Uint))
+#define MIN_BLK_SZ UNIT_CEILING(sizeof(GFFreeBlock_t) + sizeof(UWord))
-#define IX2SBIX(IX) ((IX) & (~(~((Uint)0) << SUB_MASK_IX_SHIFT)))
+#define IX2SBIX(IX) ((IX) & (~(~((UWord)0) << SUB_MASK_IX_SHIFT)))
#define IX2SMIX(IX) ((IX) >> SUB_MASK_IX_SHIFT)
#define MAKE_BKT_IX(SMIX, SBIX) \
- ((((Uint)(SMIX)) << SUB_MASK_IX_SHIFT) | ((Uint)(SBIX)))
+ ((((UWord)(SMIX)) << SUB_MASK_IX_SHIFT) | ((UWord)(SBIX)))
#define SET_BKT_MASK_IX(BM, IX) \
do { \
int sub_mask_ix__ = IX2SMIX((IX)); \
- (BM).main |= (((Uint) 1) << sub_mask_ix__); \
- (BM).sub[sub_mask_ix__] |= (((Uint)1) << IX2SBIX((IX))); \
+ (BM).main |= (((UWord) 1) << sub_mask_ix__); \
+ (BM).sub[sub_mask_ix__] |= (((UWord)1) << IX2SBIX((IX))); \
} while (0)
#define UNSET_BKT_MASK_IX(BM, IX) \
do { \
int sub_mask_ix__ = IX2SMIX((IX)); \
- (BM).sub[sub_mask_ix__] &= ~(((Uint)1) << IX2SBIX((IX))); \
+ (BM).sub[sub_mask_ix__] &= ~(((UWord)1) << IX2SBIX((IX))); \
if (!(BM).sub[sub_mask_ix__]) \
- (BM).main &= ~(((Uint)1) << sub_mask_ix__); \
+ (BM).main &= ~(((UWord)1) << sub_mask_ix__); \
} while (0)
/* Buckets ... */
@@ -263,8 +263,8 @@ find_bucket(BucketMask_t *bmask, int min_index)
while(max != min) { \
mid = ((max - min) >> 1) + min; \
if((BitMask) \
- & (~(~((Uint) 0) << (mid + 1))) \
- & (~((Uint) 0) << min)) \
+ & (~(~((UWord) 0) << (mid + 1))) \
+ & (~((UWord) 0) << min)) \
max = mid; \
else \
min = mid + 1; \
@@ -272,21 +272,21 @@ find_bucket(BucketMask_t *bmask, int min_index)
(MinBit) = min
- ASSERT(bmask->main < (((Uint) 1) << (MAX_SUB_MASK_IX+1)));
+ ASSERT(bmask->main < (((UWord) 1) << (MAX_SUB_MASK_IX+1)));
sub_mask_ix = IX2SMIX(min_index);
- if ((bmask->main & (~((Uint) 0) << sub_mask_ix)) == 0)
+ if ((bmask->main & (~((UWord) 0) << sub_mask_ix)) == 0)
return -1;
/* There exists a non empty bucket; find it... */
- if (bmask->main & (((Uint) 1) << sub_mask_ix)) {
+ if (bmask->main & (((UWord) 1) << sub_mask_ix)) {
sub_bkt_ix = IX2SBIX(min_index);
- if ((bmask->sub[sub_mask_ix] & (~((Uint) 0) << sub_bkt_ix)) == 0) {
+ if ((bmask->sub[sub_mask_ix] & (~((UWord) 0) << sub_bkt_ix)) == 0) {
sub_mask_ix++;
sub_bkt_ix = 0;
- if ((bmask->main & (~((Uint) 0)<< sub_mask_ix)) == 0)
+ if ((bmask->main & (~((UWord) 0)<< sub_mask_ix)) == 0)
return -1;
}
else
@@ -299,17 +299,17 @@ find_bucket(BucketMask_t *bmask, int min_index)
ASSERT(sub_mask_ix <= MAX_SUB_MASK_IX);
/* Has to be a bit > sub_mask_ix */
- ASSERT(bmask->main & (~((Uint) 0) << (sub_mask_ix)));
+ ASSERT(bmask->main & (~((UWord) 0) << (sub_mask_ix)));
GET_MIN_BIT(sub_mask_ix, bmask->main, sub_mask_ix, MAX_SUB_MASK_IX);
find_sub_bkt_ix:
ASSERT(sub_mask_ix <= MAX_SUB_MASK_IX);
ASSERT(sub_bkt_ix <= MAX_SUB_BKT_IX);
- if ((bmask->sub[sub_mask_ix] & (((Uint) 1) << sub_bkt_ix)) == 0) {
+ if ((bmask->sub[sub_mask_ix] & (((UWord) 1) << sub_bkt_ix)) == 0) {
ASSERT(sub_mask_ix + 1 <= MAX_SUB_BKT_IX);
/* Has to be a bit > sub_bkt_ix */
- ASSERT(bmask->sub[sub_mask_ix] & (~((Uint) 0) << sub_bkt_ix));
+ ASSERT(bmask->sub[sub_mask_ix] & (~((UWord) 0) << sub_bkt_ix));
GET_MIN_BIT(sub_bkt_ix,
bmask->sub[sub_mask_ix],
@@ -336,7 +336,7 @@ search_bucket(Allctr_t *allctr, int ix, Uint size)
Uint min_sz;
Uint blk_sz;
Uint cand_sz = 0;
- Uint max_blk_search;
+ UWord max_blk_search;
GFFreeBlock_t *blk;
GFFreeBlock_t *cand = NULL;
int blk_on_lambc;
@@ -615,9 +615,9 @@ check_block(Allctr_t *allctr, Block_t * blk, int free_block)
Uint blk_sz = BLK_SZ(blk);
bi = BKT_IX(gfallctr, blk_sz);
- ASSERT(gfallctr->bucket_mask.main & (((Uint) 1) << IX2SMIX(bi)));
+ ASSERT(gfallctr->bucket_mask.main & (((UWord) 1) << IX2SMIX(bi)));
ASSERT(gfallctr->bucket_mask.sub[IX2SMIX(bi)]
- & (((Uint) 1) << IX2SBIX(bi)));
+ & (((UWord) 1) << IX2SBIX(bi)));
found = 0;
for (fblk = gfallctr->buckets[bi]; fblk; fblk = fblk->next)
@@ -648,9 +648,9 @@ check_mbc(Allctr_t *allctr, Carrier_t *mbc)
int bi;
for(bi = 0; bi < NO_OF_BKTS; bi++) {
- if ((gfallctr->bucket_mask.main & (((Uint) 1) << IX2SMIX(bi)))
+ if ((gfallctr->bucket_mask.main & (((UWord) 1) << IX2SMIX(bi)))
&& (gfallctr->bucket_mask.sub[IX2SMIX(bi)]
- & (((Uint) 1) << IX2SBIX(bi)))) {
+ & (((UWord) 1) << IX2SBIX(bi)))) {
ASSERT(gfallctr->buckets[bi] != NULL);
}
else {
diff --git a/erts/emulator/beam/erl_goodfit_alloc.h b/erts/emulator/beam/erl_goodfit_alloc.h
index 3d1b8c01f6..a554a6f466 100644
--- a/erts/emulator/beam/erl_goodfit_alloc.h
+++ b/erts/emulator/beam/erl_goodfit_alloc.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2003-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2003-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -28,7 +28,7 @@
typedef struct GFAllctr_t_ GFAllctr_t;
typedef struct {
- Uint mbsd;
+ UWord mbsd;
} GFAllctrInit_t;
#define ERTS_DEFAULT_GF_ALLCTR_INIT { \
@@ -49,18 +49,18 @@ Allctr_t *erts_gfalc_start(GFAllctr_t *, GFAllctrInit_t *, AllctrInit_t *);
#include "erl_alloc_util.h"
#define NO_OF_BKT_IX_BITS (8)
-#ifdef ARCH_64
+#if defined(ARCH_64)
# define SUB_MASK_IX_SHIFT (6)
#else
# define SUB_MASK_IX_SHIFT (5)
#endif
-#define NO_OF_BKTS (((Uint) 1) << NO_OF_BKT_IX_BITS)
-#define NO_OF_SUB_MASKS (NO_OF_BKTS/(((Uint) 1) << SUB_MASK_IX_SHIFT))
+#define NO_OF_BKTS (((UWord) 1) << NO_OF_BKT_IX_BITS)
+#define NO_OF_SUB_MASKS (NO_OF_BKTS/(((UWord) 1) << SUB_MASK_IX_SHIFT))
typedef struct {
- Uint main;
- Uint sub[NO_OF_SUB_MASKS];
-} BucketMask_t;
+ UWord main;
+ UWord sub[NO_OF_SUB_MASKS];
+} BucketMask_t;
typedef struct GFFreeBlock_t_ GFFreeBlock_t;
struct GFFreeBlock_t_ {
@@ -74,11 +74,11 @@ struct GFAllctr_t_ {
char * last_aux_mbc_start;
char * last_aux_mbc_end;
- Uint bkt_max_size_d;
- Uint bkt_intrvl_d;
+ UWord bkt_max_size_d;
+ UWord bkt_intrvl_d;
BucketMask_t bucket_mask;
GFFreeBlock_t * buckets[NO_OF_BKTS];
- Uint max_blk_search;
+ UWord max_blk_search;
};
diff --git a/erts/emulator/beam/erl_init.c b/erts/emulator/beam/erl_init.c
index e97ab328cd..f2e71ae98d 100644
--- a/erts/emulator/beam/erl_init.c
+++ b/erts/emulator/beam/erl_init.c
@@ -281,6 +281,7 @@ erl_init(void)
init_load();
erts_init_bif();
erts_init_bif_chksum();
+ erts_init_bif_binary();
erts_init_bif_re();
erts_init_unicode(); /* after RE to get access to PCRE unicode */
erts_delay_trap = erts_export_put(am_erlang, am_delay_trap, 2);
@@ -292,9 +293,6 @@ erl_init(void)
#ifdef HIPE
hipe_mode_switch_init(); /* Must be after init_load/beam_catches/init */
#endif
-#ifdef _OSE_
- erl_sys_init_final();
-#endif
packet_parser_init();
erl_nif_init();
}
@@ -819,7 +817,13 @@ erl_start(int argc, char **argv)
if (erts_sys_getenv("ERL_THREAD_POOL_SIZE", envbuf, &envbufsz) == 0) {
async_max_threads = atoi(envbuf);
}
-
+
+#if (defined(__APPLE__) && defined(__MACH__)) || defined(__DARWIN__)
+ /*
+ * The default stack size on MacOS X is too small for pcre.
+ */
+ erts_sched_thread_suggested_stack_size = 256;
+#endif
#ifdef DEBUG
verbose = DEBUG_DEFAULT;
@@ -1447,13 +1451,7 @@ __decl_noreturn void erl_exit0(char *file, int line, int n, char *fmt,...)
if (fmt != NULL && *fmt != '\0')
erl_error(fmt, args); /* Print error message. */
va_end(args);
-#ifdef __WIN32__
- if(n > 0) ConWaitForExit();
- else ConNormalExit();
-#endif
-#if !defined(__WIN32__) && !defined(VXWORKS) && !defined(_OSE_)
- sys_tty_reset();
-#endif
+ sys_tty_reset(n);
if (n == ERTS_INTR_EXIT)
exit(0);
@@ -1493,13 +1491,7 @@ __decl_noreturn void erl_exit(int n, char *fmt,...)
if (fmt != NULL && *fmt != '\0')
erl_error(fmt, args); /* Print error message. */
va_end(args);
-#ifdef __WIN32__
- if(n > 0) ConWaitForExit();
- else ConNormalExit();
-#endif
-#if !defined(__WIN32__) && !defined(VXWORKS) && !defined(_OSE_)
- sys_tty_reset();
-#endif
+ sys_tty_reset(n);
if (n == ERTS_INTR_EXIT)
exit(0);
diff --git a/erts/emulator/beam/erl_instrument.c b/erts/emulator/beam/erl_instrument.c
index 3f022f92b8..f3f3c22933 100644
--- a/erts/emulator/beam/erl_instrument.c
+++ b/erts/emulator/beam/erl_instrument.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2003-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2003-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -540,18 +540,18 @@ static void dump_memory_map_to_stream(FILE *fp)
if (is_internal_pid(bp->pid))
fprintf(fp,
"{%lu, %lu, %lu, {%lu,%lu,%lu}}.\n",
- (Uint) bp->type_no,
- (Uint) bp->mem,
- (Uint) bp->size,
- (Uint) pid_channel_no(bp->pid),
- (Uint) pid_number(bp->pid),
- (Uint) pid_serial(bp->pid));
+ (UWord) bp->type_no,
+ (UWord) bp->mem,
+ (UWord) bp->size,
+ (UWord) pid_channel_no(bp->pid),
+ (UWord) pid_number(bp->pid),
+ (UWord) pid_serial(bp->pid));
else
fprintf(fp,
"{%lu, %lu, %lu, undefined}.\n",
- (Uint) bp->type_no,
- (Uint) bp->mem,
- (Uint) bp->size);
+ (UWord) bp->type_no,
+ (UWord) bp->mem,
+ (UWord) bp->size);
}
if (lock)
@@ -638,7 +638,7 @@ Eterm erts_instr_get_memory_map(Process *proc)
hsz += 4;
}
- if ((Uint) bp->mem > MAX_SMALL)
+ if ((UWord) bp->mem > MAX_SMALL)
hsz += BIG_UINT_HEAP_SIZE;
if (bp->size > MAX_SMALL)
hsz += BIG_UINT_HEAP_SIZE;
@@ -749,12 +749,12 @@ Eterm erts_instr_get_memory_map(Process *proc)
#endif
type = make_small(bp->type_no);
- if ((Uint) bp->mem > MAX_SMALL) {
- ptr = uint_to_big((Uint) bp->mem, hp);
+ if ((UWord) bp->mem > MAX_SMALL) {
+ ptr = uint_to_big((UWord) bp->mem, hp);
hp += BIG_UINT_HEAP_SIZE;
}
else
- ptr = make_small((Uint) bp->mem);
+ ptr = make_small((UWord) bp->mem);
if (bp->size > MAX_SMALL) {
size = uint_to_big(bp->size, hp);
@@ -962,12 +962,12 @@ dump_stat_to_stream(FILE *fp, int begin_max_period)
fprintf(fp,
"{total,[{total,[{sizes,%lu,%lu,%lu},{blocks,%lu,%lu,%lu}]}]}.\n",
- stats->tot.size,
- stats->tot.max_size,
- stats->tot.max_size_ever,
- stats->tot.blocks,
- stats->tot.max_blocks,
- stats->tot.max_blocks_ever);
+ (UWord) stats->tot.size,
+ (UWord) stats->tot.max_size,
+ (UWord) stats->tot.max_size_ever,
+ (UWord) stats->tot.blocks,
+ (UWord) stats->tot.max_blocks,
+ (UWord) stats->tot.max_blocks_ever);
a_max = 0;
a_min = ~0;
@@ -992,12 +992,12 @@ dump_stat_to_stream(FILE *fp, int begin_max_period)
"%s{%s,[{sizes,%lu,%lu,%lu},{blocks,%lu,%lu,%lu}]}%s",
i == a_min ? "{allocators,\n [" : " ",
ERTS_ALC_A2AD(i),
- stats->a[i].size,
- stats->a[i].max_size,
- stats->a[i].max_size_ever,
- stats->a[i].blocks,
- stats->a[i].max_blocks,
- stats->a[i].max_blocks_ever,
+ (UWord) stats->a[i].size,
+ (UWord) stats->a[i].max_size,
+ (UWord) stats->a[i].max_size_ever,
+ (UWord) stats->a[i].blocks,
+ (UWord) stats->a[i].max_blocks,
+ (UWord) stats->a[i].max_blocks_ever,
i == a_max ? "]}.\n" : ",\n");
}
}
@@ -1009,12 +1009,12 @@ dump_stat_to_stream(FILE *fp, int begin_max_period)
"%s{%s,[{sizes,%lu,%lu,%lu},{blocks,%lu,%lu,%lu}]}%s",
i == ERTS_ALC_C_MIN ? "{classes,\n [" : " ",
ERTS_ALC_C2CD(i),
- stats->c[i].size,
- stats->c[i].max_size,
- stats->c[i].max_size_ever,
- stats->c[i].blocks,
- stats->c[i].max_blocks,
- stats->c[i].max_blocks_ever,
+ (UWord) stats->c[i].size,
+ (UWord) stats->c[i].max_size,
+ (UWord) stats->c[i].max_size_ever,
+ (UWord) stats->c[i].blocks,
+ (UWord) stats->c[i].max_blocks,
+ (UWord) stats->c[i].max_blocks_ever,
i == ERTS_ALC_C_MAX ? "]}.\n" : ",\n" );
}
@@ -1025,12 +1025,12 @@ dump_stat_to_stream(FILE *fp, int begin_max_period)
"%s{%s,[{sizes,%lu,%lu,%lu},{blocks,%lu,%lu,%lu}]}%s",
i == ERTS_ALC_N_MIN ? "{types,\n [" : " ",
ERTS_ALC_N2TD(i),
- stats->n[i].size,
- stats->n[i].max_size,
- stats->n[i].max_size_ever,
- stats->n[i].blocks,
- stats->n[i].max_blocks,
- stats->n[i].max_blocks_ever,
+ (UWord) stats->n[i].size,
+ (UWord) stats->n[i].max_size,
+ (UWord) stats->n[i].max_size_ever,
+ (UWord) stats->n[i].blocks,
+ (UWord) stats->n[i].max_blocks,
+ (UWord) stats->n[i].max_blocks_ever,
i == ERTS_ALC_N_MAX ? "]}.\n" : ",\n" );
}
diff --git a/erts/emulator/beam/erl_lock_check.c b/erts/emulator/beam/erl_lock_check.c
index 074b08ea57..6ff5c1b9da 100644
--- a/erts/emulator/beam/erl_lock_check.c
+++ b/erts/emulator/beam/erl_lock_check.c
@@ -155,6 +155,9 @@ static erts_lc_lock_order_t erts_lock_order[] = {
{ "fix_alloc", "index" },
{ "alcu_allocator", "index" },
{ "mseg", NULL },
+#ifdef HALFWORD_HEAP
+ { "pmmap", NULL },
+#endif
#ifdef ERTS_SMP
{ "port_task_pre_alloc_lock", "address" },
{ "port_taskq_pre_alloc_lock", "address" },
@@ -1231,6 +1234,8 @@ void
erts_lc_init_lock(erts_lc_lock_t *lck, char *name, Uint16 flags)
{
lck->id = erts_lc_get_lock_order_id(name);
+
+ /* XXX:PaN What to do with the extra information? */
lck->extra = make_boxed(&lck->extra);
lck->flags = flags;
lck->inited = ERTS_LC_INITITALIZED;
diff --git a/erts/emulator/beam/erl_message.h b/erts/emulator/beam/erl_message.h
index 5cf7c209bd..489dee7b37 100644
--- a/erts/emulator/beam/erl_message.h
+++ b/erts/emulator/beam/erl_message.h
@@ -49,7 +49,7 @@ typedef struct erl_heap_fragment ErlHeapFragment;
struct erl_heap_fragment {
ErlHeapFragment* next; /* Next heap fragment */
ErlOffHeap off_heap; /* Offset heap data. */
- unsigned size; /* Size in words of mem */
+ unsigned size; /* Size in (half)words of mem */
unsigned used_size; /* With terms to be moved to heap by GC */
Eterm mem[1]; /* Data */
};
@@ -75,6 +75,13 @@ typedef struct {
ErlMessage** last; /* point to the last next pointer */
ErlMessage** save;
int len; /* queue length */
+
+ /*
+ * The following two fields are used by the recv_mark/1 and
+ * recv_set/1 instructions.
+ */
+ BeamInstr* mark; /* address to rec_loop/2 instruction */
+ ErlMessage** saved_last; /* saved last pointer */
} ErlMessageQueue;
#ifdef ERTS_SMP
@@ -137,6 +144,7 @@ do { \
(p)->msg.len--; \
if (__mp == NULL) \
(p)->msg.last = (p)->msg.save; \
+ (p)->msg.mark = 0; \
} while(0)
/* Reset message save point (after receive match) */
diff --git a/erts/emulator/beam/erl_mtrace.c b/erts/emulator/beam/erl_mtrace.c
index 8b8ac2ec80..9cf55ee319 100644
--- a/erts/emulator/beam/erl_mtrace.c
+++ b/erts/emulator/beam/erl_mtrace.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2003-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2003-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -79,7 +79,7 @@ static erts_mtx_t mtrace_buf_mutex;
#define UI16_SZ (2)
#define UI32_SZ (4)
#define UI64_SZ (8)
-#ifdef ARCH_64
+#ifdef ARCH_64 /* XXX:PaN Halfword? (whole file...) */
# define UI_SZ UI64_SZ
#else
# define UI_SZ UI32_SZ
@@ -188,7 +188,7 @@ check_alloc_entry(byte *sp, byte *ep,
byte tag,
Uint16 ct_no, int ct_no_n,
Uint16 type, int type_n,
- Uint res, int res_n,
+ UWord res, int res_n,
Uint size, int size_n,
Uint32 ti,int ti_n);
void
@@ -196,8 +196,8 @@ check_realloc_entry(byte *sp, byte *ep,
byte tag,
Uint16 ct_no, int ct_no_n,
Uint16 type, int type_n,
- Uint res, int res_n,
- Uint ptr, int ptr_n,
+ UWord res, int res_n,
+ UWord ptr, int ptr_n,
Uint size, int size_n,
Uint32 ti,int ti_n);
void
@@ -205,7 +205,7 @@ check_free_entry(byte *sp, byte *ep,
byte tag,
Uint16 ct_no, int ct_no_n,
Uint16 t_no, int t_no_n,
- Uint ptr, int ptr_n,
+ UWord ptr, int ptr_n,
Uint32 ti,int ti_n);
void
check_time_inc_entry(byte *sp, byte *ep,
@@ -785,7 +785,7 @@ write_alloc_entry(byte tag,
tag,
ct_no, ct_no_n,
t_no, t_no_n,
- (Uint) res, res_n,
+ (UWord) res, res_n,
size, size_n,
ti, ti_n);
#endif
@@ -865,8 +865,8 @@ write_realloc_entry(byte tag,
tag,
ct_no, ct_no_n,
t_no, t_no_n,
- (Uint) res, res_n,
- (Uint) ptr, ptr_n,
+ (UWord) res, res_n,
+ (UWord) ptr, ptr_n,
size, size_n,
ti, ti_n);
#endif
@@ -934,7 +934,7 @@ write_free_entry(byte tag,
tag,
ct_no, ct_no_n,
t_no, t_no_n,
- (Uint) ptr, ptr_n,
+ (UWord) ptr, ptr_n,
ti, ti_n);
#endif
}
@@ -1135,7 +1135,7 @@ check_alloc_entry(byte *sp, byte *ep,
byte tag,
Uint16 ct_no, int ct_no_n,
Uint16 t_no, int t_no_n,
- Uint res, int res_n,
+ UWord res, int res_n,
Uint size, int size_n,
Uint32 ti,int ti_n)
{
@@ -1163,8 +1163,8 @@ check_realloc_entry(byte *sp, byte *ep,
byte tag,
Uint16 ct_no, int ct_no_n,
Uint16 t_no, int t_no_n,
- Uint res, int res_n,
- Uint ptr, int ptr_n,
+ UWord res, int res_n,
+ UWord ptr, int ptr_n,
Uint size, int size_n,
Uint32 ti,int ti_n)
{
@@ -1193,7 +1193,7 @@ check_free_entry(byte *sp, byte *ep,
byte tag,
Uint16 ct_no, int ct_no_n,
Uint16 t_no, int t_no_n,
- Uint ptr, int ptr_n,
+ UWord ptr, int ptr_n,
Uint32 ti,int ti_n)
{
byte *p = sp;
diff --git a/erts/emulator/beam/erl_nif.c b/erts/emulator/beam/erl_nif.c
index 585a6c1fdf..cee4df72a2 100644
--- a/erts/emulator/beam/erl_nif.c
+++ b/erts/emulator/beam/erl_nif.c
@@ -51,6 +51,16 @@ struct erl_module_nif {
int is_orphan; /* if erlang module has been purged */
};
+#ifdef DEBUG
+# define READONLY_CHECK
+#endif
+#ifdef READONLY_CHECK
+# define ADD_READONLY_CHECK(ENV,PTR,SIZE) add_readonly_check(ENV,PTR,SIZE)
+static void add_readonly_check(ErlNifEnv*, unsigned char* ptr, unsigned sz);
+#else
+# define ADD_READONLY_CHECK(ENV,PTR,SIZE) ((void)0)
+#endif
+
#define MIN_HEAP_FRAG_SZ 200
static Eterm* alloc_heap_heavy(ErlNifEnv* env, unsigned need, Eterm* hp);
@@ -106,6 +116,13 @@ static void pre_nif_noproc(ErlNifEnv* env, struct erl_module_nif* mod_nif)
env->tmp_obj_list = NULL;
}
+/* Temporary object header, auto-deallocated when NIF returns. */
+struct enif_tmp_obj_t {
+ struct enif_tmp_obj_t* next;
+ void (*dtor)(struct enif_tmp_obj_t*);
+ /*char data[];*/
+};
+
static ERTS_INLINE void free_tmp_objs(ErlNifEnv* env)
{
while (env->tmp_obj_list != NULL) {
@@ -176,7 +193,6 @@ static void disable_halloc(ErlNifEnv* env)
}
}
-
void* enif_priv_data(ErlNifEnv* env)
{
return env->mod_nif->priv_data;
@@ -234,7 +250,7 @@ int enif_is_ref(ErlNifEnv* env, ERL_NIF_TERM term)
static void aligned_binary_dtor(struct enif_tmp_obj_t* obj)
{
- erts_free_aligned_binary_bytes((byte*)obj);
+ erts_free_aligned_binary_bytes_extra((byte*)obj,ERTS_ALC_T_TMP);
}
int enif_inspect_binary(ErlNifEnv* env, Eterm bin_term, ErlNifBinary* bin)
@@ -244,7 +260,7 @@ int enif_inspect_binary(ErlNifEnv* env, Eterm bin_term, ErlNifBinary* bin)
byte* raw_ptr;
}u;
u.tmp = NULL;
- bin->data = erts_get_aligned_binary_bytes_extra(bin_term, &u.raw_ptr,
+ bin->data = erts_get_aligned_binary_bytes_extra(bin_term, &u.raw_ptr, ERTS_ALC_T_TMP,
sizeof(struct enif_tmp_obj_t));
if (bin->data == NULL) {
return 0;
@@ -257,6 +273,7 @@ int enif_inspect_binary(ErlNifEnv* env, Eterm bin_term, ErlNifBinary* bin)
bin->bin_term = bin_term;
bin->size = binary_size(bin_term);
bin->ref_bin = NULL;
+ ADD_READONLY_CHECK(env, bin->data, bin->size);
return 1;
}
@@ -293,6 +310,7 @@ int enif_inspect_iolist_as_binary(ErlNifEnv* env, Eterm term, ErlNifBinary* bin)
bin->bin_term = THE_NON_VALUE;
bin->ref_bin = NULL;
io_list_to_buf(term, (char*) bin->data, sz);
+ ADD_READONLY_CHECK(env, bin->data, bin->size);
return 1;
}
@@ -357,6 +375,15 @@ void enif_release_binary(ErlNifEnv* env, ErlNifBinary* bin)
#endif
}
+unsigned char* enif_make_new_binary(ErlNifEnv* env, unsigned size,
+ ERL_NIF_TERM* termp)
+{
+ enable_halloc(env);
+ *termp = new_binary(env->proc, NULL, size);
+ disable_halloc(env);
+ return binary_bytes(*termp);
+}
+
int enif_is_identical(ErlNifEnv* env, Eterm lhs, Eterm rhs)
{
return EQ(lhs,rhs);
@@ -496,9 +523,9 @@ int enif_get_atom(ErlNifEnv* env, Eterm atom, char* buf, unsigned len)
int enif_get_int(ErlNifEnv* env, Eterm term, int* ip)
{
-#if SIZEOF_INT == SIZEOF_VOID_P
+#if SIZEOF_INT == ERTS_SIZEOF_ETERM
return term_to_Sint(term, (Sint*)ip);
-#elif SIZEOF_LONG == SIZEOF_VOID_P
+#elif SIZEOF_LONG == ERTS_SIZEOF_ETERM
Sint i;
if (!term_to_Sint(term, &i) || i < INT_MIN || i > INT_MAX) {
return 0;
@@ -512,9 +539,9 @@ int enif_get_int(ErlNifEnv* env, Eterm term, int* ip)
int enif_get_uint(ErlNifEnv* env, Eterm term, unsigned* ip)
{
-#if SIZEOF_INT == SIZEOF_VOID_P
+#if SIZEOF_INT == ERTS_SIZEOF_ETERM
return term_to_Uint(term, (Uint*)ip);
-#elif SIZEOF_LONG == SIZEOF_VOID_P
+#elif SIZEOF_LONG == ERTS_SIZEOF_ETERM
Uint i;
if (!term_to_Uint(term, &i) || i > UINT_MAX) {
return 0;
@@ -526,8 +553,13 @@ int enif_get_uint(ErlNifEnv* env, Eterm term, unsigned* ip)
int enif_get_long(ErlNifEnv* env, Eterm term, long* ip)
{
-#if SIZEOF_LONG == SIZEOF_VOID_P
+#if SIZEOF_LONG == ERTS_SIZEOF_ETERM
return term_to_Sint(term, ip);
+#elif SIZEOF_INT == ERTS_SIZEOF_ETERM
+ Uint u;
+ term_to_Sint(term, u);
+ *ip = (long) u;
+ return 1;
#else
# error Unknown long word size
#endif
@@ -535,8 +567,14 @@ int enif_get_long(ErlNifEnv* env, Eterm term, long* ip)
int enif_get_ulong(ErlNifEnv* env, Eterm term, unsigned long* ip)
{
-#if SIZEOF_LONG == SIZEOF_VOID_P
+#if SIZEOF_LONG == ERTS_SIZEOF_ETERM
return term_to_Uint(term, ip);
+#elif SIZEOF_INT == ERTS_SIZEOF_ETERM
+ Uint u;
+ int r;
+ r = term_to_Uint(term, &u);
+ *ip = (unsigned long) u;
+ return r;
#else
# error Unknown long word size
#endif
@@ -565,27 +603,24 @@ int enif_get_list_cell(ErlNifEnv* env, Eterm term, Eterm* head, Eterm* tail)
ERL_NIF_TERM enif_make_int(ErlNifEnv* env, int i)
{
-#if SIZEOF_INT == SIZEOF_VOID_P
+#if SIZEOF_INT == ERTS_SIZEOF_ETERM
return IS_SSMALL(i) ? make_small(i) : small_to_big(i,alloc_heap(env,2));
-#elif SIZEOF_LONG == SIZEOF_VOID_P
+#elif SIZEOF_LONG == ERTS_SIZEOF_ETERM
return make_small(i);
#endif
}
ERL_NIF_TERM enif_make_uint(ErlNifEnv* env, unsigned i)
{
-#if SIZEOF_INT == SIZEOF_VOID_P
+#if SIZEOF_INT == ERTS_SIZEOF_ETERM
return IS_USMALL(0,i) ? make_small(i) : uint_to_big(i,alloc_heap(env,2));
-#elif SIZEOF_LONG == SIZEOF_VOID_P
+#elif SIZEOF_LONG == ERTS_SIZEOF_ETERM
return make_small(i);
#endif
}
ERL_NIF_TERM enif_make_long(ErlNifEnv* env, long i)
{
-#if SIZEOF_LONG != SIZEOF_VOID_P
-# error Unknown long word size
-#endif
return IS_SSMALL(i) ? make_small(i) : small_to_big(i, alloc_heap(env,2));
}
@@ -967,37 +1002,22 @@ unsigned enif_sizeof_resource(ErlNifEnv* env, void* obj)
***************************************************************************/
-static Uint** get_func_pp(Eterm* mod_code, Eterm f_atom, unsigned arity)
+static BeamInstr** get_func_pp(BeamInstr* mod_code, Eterm f_atom, unsigned arity)
{
int n = (int) mod_code[MI_NUM_FUNCTIONS];
int j;
for (j = 0; j < n; ++j) {
- Uint* code_ptr = (Uint*) mod_code[MI_FUNCTIONS+j];
- ASSERT(code_ptr[0] == (Uint) BeamOp(op_i_func_info_IaaI));
+ BeamInstr* code_ptr = (BeamInstr*) mod_code[MI_FUNCTIONS+j];
+ ASSERT(code_ptr[0] == (BeamInstr) BeamOp(op_i_func_info_IaaI));
if (f_atom == ((Eterm) code_ptr[3])
&& arity == ((unsigned) code_ptr[4])) {
- return (Uint**) &mod_code[MI_FUNCTIONS+j];
+ return (BeamInstr**) &mod_code[MI_FUNCTIONS+j];
}
}
return NULL;
}
-/*static void refresh_cached_nif_data(Eterm* mod_code,
- struct erl_module_nif* mod_nif)
-{
- int i;
- for (i=0; i < mod_nif->entry->num_of_funcs; i++) {
- Eterm f_atom;
- ErlNifFunc* func = &mod_nif->entry->funcs[i];
- Uint* code_ptr;
-
- erts_atom_get(func->name, sys_strlen(func->name), &f_atom);
- code_ptr = *get_func_pp(mod_code, f_atom, func->arity);
- code_ptr[5+2] = (Uint) mod_nif->priv_data;
- }
-}*/
-
static Eterm mkatom(const char *str)
{
return am_atom_put(str, sys_strlen(str));
@@ -1089,7 +1109,7 @@ BIF_RETTYPE load_nif_2(BIF_ALIST_2)
static const char bad_lib[] = "bad_lib";
static const char reload[] = "reload";
static const char upgrade[] = "upgrade";
- char lib_name[256]; /* BUGBUG: Max-length? */
+ char* lib_name = NULL;
void* handle = NULL;
void* init_func;
ErlNifEntry* entry = NULL;
@@ -1098,15 +1118,20 @@ BIF_RETTYPE load_nif_2(BIF_ALIST_2)
Module* mod;
Eterm mod_atom;
Eterm f_atom;
- Eterm* caller;
+ BeamInstr* caller;
ErtsSysDdllError errdesc = ERTS_SYS_DDLL_ERROR_INIT;
Eterm ret = am_ok;
int veto;
struct erl_module_nif* lib = NULL;
- len = intlist_to_buf(BIF_ARG_1, lib_name, sizeof(lib_name)-1);
- if (len < 1) {
- /*erts_fprintf(stderr, "Invalid library path name '%T'\r\n", BIF_ARG_1);*/
+ len = list_length(BIF_ARG_1);
+ if (len < 0) {
+ BIF_ERROR(BIF_P, BADARG);
+ }
+ lib_name = (char *) erts_alloc(ERTS_ALC_T_TMP, len + 1);
+
+ if (intlist_to_buf(BIF_ARG_1, lib_name, len) != len) {
+ erts_free(ERTS_ALC_T_TMP, lib_name);
BIF_ERROR(BIF_P, BADARG);
}
lib_name[len] = '\0';
@@ -1165,7 +1190,7 @@ BIF_RETTYPE load_nif_2(BIF_ALIST_2)
/*erts_fprintf(stderr, "Found module %T\r\n", mod_atom);*/
for (i=0; i < entry->num_of_funcs && ret==am_ok; i++) {
- Uint** code_pp;
+ BeamInstr** code_pp;
ErlNifFunc* f = &entry->funcs[i];
if (!erts_atom_get(f->name, sys_strlen(f->name), &f_atom)
|| (code_pp = get_func_pp(mod->code, f_atom, f->arity))==NULL) {
@@ -1268,22 +1293,22 @@ BIF_RETTYPE load_nif_2(BIF_ALIST_2)
mod->nif = lib;
for (i=0; i < entry->num_of_funcs; i++)
{
- Uint* code_ptr;
+ BeamInstr* code_ptr;
erts_atom_get(entry->funcs[i].name, sys_strlen(entry->funcs[i].name), &f_atom);
code_ptr = *get_func_pp(mod->code, f_atom, entry->funcs[i].arity);
if (code_ptr[1] == 0) {
- code_ptr[5+0] = (Uint) BeamOp(op_call_nif);
+ code_ptr[5+0] = (BeamInstr) BeamOp(op_call_nif);
}
else { /* Function traced, patch the original instruction word */
BpData* bp = (BpData*) code_ptr[1];
- bp->orig_instr = (Uint) BeamOp(op_call_nif);
+ bp->orig_instr = (BeamInstr) BeamOp(op_call_nif);
}
- code_ptr[5+1] = (Uint) entry->funcs[i].fptr;
- code_ptr[5+2] = (Uint) lib;
+ code_ptr[5+1] = (BeamInstr) entry->funcs[i].fptr;
+ code_ptr[5+2] = (BeamInstr) lib;
}
}
- else {
+ else {
error:
ASSERT(ret != am_ok);
if (lib != NULL) {
@@ -1297,6 +1322,7 @@ BIF_RETTYPE load_nif_2(BIF_ALIST_2)
erts_smp_release_system();
erts_smp_proc_lock(BIF_P, ERTS_PROC_LOCK_MAIN);
+ erts_free(ERTS_ALC_T_TMP, lib_name);
BIF_RET(ret);
}
@@ -1350,3 +1376,49 @@ void erl_nif_init()
resource_type_list.name[0] = '\0';
}
+#ifdef READONLY_CHECK
+/* Use checksums to assert that NIFs do not write into inspected binaries
+*/
+static void readonly_check_dtor(struct enif_tmp_obj_t*);
+static unsigned calc_checksum(unsigned char* ptr, unsigned size);
+
+struct readonly_check_t
+{
+ struct enif_tmp_obj_t hdr;
+ unsigned char* ptr;
+ unsigned size;
+ unsigned checksum;
+};
+static void add_readonly_check(ErlNifEnv* env, unsigned char* ptr, unsigned sz)
+{
+ struct readonly_check_t* obj = erts_alloc(ERTS_ALC_T_TMP,
+ sizeof(struct readonly_check_t));
+ obj->hdr.next = env->tmp_obj_list;
+ env->tmp_obj_list = &obj->hdr;
+ obj->hdr.dtor = &readonly_check_dtor;
+ obj->ptr = ptr;
+ obj->size = sz;
+ obj->checksum = calc_checksum(ptr, sz);
+}
+static void readonly_check_dtor(struct enif_tmp_obj_t* o)
+{
+ struct readonly_check_t* obj = (struct readonly_check_t*) o;
+ unsigned chksum = calc_checksum(obj->ptr, obj->size);
+ if (chksum != obj->checksum) {
+ fprintf(stderr, "\r\nReadonly data written by NIF, checksums differ"
+ " %x != %x\r\nABORTING\r\n", chksum, obj->checksum);
+ abort();
+ }
+ erts_free(ERTS_ALC_T_TMP, obj);
+}
+static unsigned calc_checksum(unsigned char* ptr, unsigned size)
+{
+ unsigned i, sum = 0;
+ for (i=0; i<size; i++) {
+ sum ^= ptr[i] << ((i % 4)*8);
+ }
+ return sum;
+}
+
+#endif /* READONLY_CHECK */
+
diff --git a/erts/emulator/beam/erl_nif.h b/erts/emulator/beam/erl_nif.h
index 1ccf00293e..a345837569 100644
--- a/erts/emulator/beam/erl_nif.h
+++ b/erts/emulator/beam/erl_nif.h
@@ -30,11 +30,41 @@
** 1.0: R13B04
*/
#define ERL_NIF_MAJOR_VERSION 1
-#define ERL_NIF_MINOR_VERSION 0
+#define ERL_NIF_MINOR_VERSION 1
#include <stdlib.h>
+#ifdef SIZEOF_CHAR
+# define SIZEOF_CHAR_SAVED__ SIZEOF_CHAR
+# undef SIZEOF_CHAR
+#endif
+#ifdef SIZEOF_SHORT
+# define SIZEOF_SHORT_SAVED__ SIZEOF_SHORT
+# undef SIZEOF_SHORT
+#endif
+#ifdef SIZEOF_INT
+# define SIZEOF_INT_SAVED__ SIZEOF_INT
+# undef SIZEOF_INT
+#endif
+#ifdef SIZEOF_LONG
+# define SIZEOF_LONG_SAVED__ SIZEOF_LONG
+# undef SIZEOF_LONG
+#endif
+#ifdef SIZEOF_LONG_LONG
+# define SIZEOF_LONG_LONG_SAVED__ SIZEOF_LONG_LONG
+# undef SIZEOF_LONG_LONG
+#endif
+#ifdef HALFWORD_HEAP_EMULATOR
+# define HALFWORD_HEAP_EMULATOR_SAVED__ HALFWORD_HEAP_EMULATOR
+# undef HALFWORD_HEAP_EMULATOR
+#endif
+#include "erl_int_sizes_config.h"
+
+#ifdef HALFWORD_HEAP_EMULATOR
+typedef unsigned int ERL_NIF_TERM;
+#else
typedef unsigned long ERL_NIF_TERM;
+#endif
struct enif_environment_t;
typedef struct enif_environment_t ErlNifEnv;
diff --git a/erts/emulator/beam/erl_nif_api_funcs.h b/erts/emulator/beam/erl_nif_api_funcs.h
index ec07a976b2..fe8d2664e1 100644
--- a/erts/emulator/beam/erl_nif_api_funcs.h
+++ b/erts/emulator/beam/erl_nif_api_funcs.h
@@ -105,6 +105,8 @@ ERL_NIF_API_FUNC_DECL(void,enif_release_resource,(ErlNifEnv*, void* obj));
ERL_NIF_API_FUNC_DECL(ERL_NIF_TERM,enif_make_resource,(ErlNifEnv*, void* obj));
ERL_NIF_API_FUNC_DECL(int,enif_get_resource,(ErlNifEnv*, ERL_NIF_TERM term, ErlNifResourceType* type, void** objp));
ERL_NIF_API_FUNC_DECL(unsigned,enif_sizeof_resource,(ErlNifEnv*, void* obj));
+ERL_NIF_API_FUNC_DECL(unsigned char*,enif_make_new_binary,(ErlNifEnv*,unsigned size,ERL_NIF_TERM* termp));
+
/*
** Add last to keep compatibility on Windows!!!
*/
@@ -195,7 +197,7 @@ ERL_NIF_API_FUNC_DECL(unsigned,enif_sizeof_resource,(ErlNifEnv*, void* obj));
# define enif_make_resource ERL_NIF_API_FUNC_MACRO(enif_make_resource)
# define enif_get_resource ERL_NIF_API_FUNC_MACRO(enif_get_resource)
# define enif_sizeof_resource ERL_NIF_API_FUNC_MACRO(enif_sizeof_resource)
-
+# define enif_make_new_binary ERL_NIF_API_FUNC_MACRO(enif_make_new_binary)
#endif
#ifndef enif_make_list1
diff --git a/erts/emulator/beam/erl_node_container_utils.h b/erts/emulator/beam/erl_node_container_utils.h
index 87dbfc2a04..ae1316eba2 100644
--- a/erts/emulator/beam/erl_node_container_utils.h
+++ b/erts/emulator/beam/erl_node_container_utils.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2001-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2001-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -251,7 +251,7 @@ extern int erts_use_r9_pids_ports;
* Refs *
\* */
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
#define internal_ref_no_of_numbers(x) \
(internal_ref_data((x))[0])
diff --git a/erts/emulator/beam/erl_node_tables.c b/erts/emulator/beam/erl_node_tables.c
index 42b28d987c..5865d33138 100644
--- a/erts/emulator/beam/erl_node_tables.c
+++ b/erts/emulator/beam/erl_node_tables.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2001-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2001-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -1109,10 +1109,23 @@ insert_offheap(ErlOffHeap *oh, int type, Eterm id)
break;
}
if (insert_bin) {
- Uint id_heap[BIG_UINT_HEAP_SIZE];
+#if HALFWORD_HEAP
+ UWord val = (UWord) pb->val;
+ DeclareTmpHeapNoproc(id_heap,BIG_UINT_HEAP_SIZE*2); /* extra place allocated */
+#else
+ DeclareTmpHeapNoproc(id_heap,BIG_UINT_HEAP_SIZE);
+#endif
Uint *hp = &id_heap[0];
InsertedBin *nib;
+#if HALFWORD_HEAP
+ int actual_need = BIG_UWORD_HEAP_SIZE(val);
+ ASSERT(actual_need <= (BIG_UINT_HEAP_SIZE*2));
+ UseTmpHeapNoproc(actual_need);
+ a.id = erts_bld_uword(&hp, NULL, (UWord) val);
+#else
+ UseTmpHeapNoproc(BIG_UINT_HEAP_SIZE);
a.id = erts_bld_uint(&hp, NULL, (Uint) pb->val);
+#endif
erts_match_prog_foreach_offheap(pb->val,
insert_offheap2,
(void *) &a);
@@ -1120,6 +1133,11 @@ insert_offheap(ErlOffHeap *oh, int type, Eterm id)
nib->bin_val = pb->val;
nib->next = inserted_bins;
inserted_bins = nib;
+#if HALFWORD_HEAP
+ UnUseTmpHeapNoproc(actual_need);
+#else
+ UnUseTmpHeapNoproc(BIG_UINT_HEAP_SIZE);
+#endif
}
}
}
@@ -1190,12 +1208,15 @@ static void
insert_bif_timer(Eterm receiver, Eterm msg, ErlHeapFragment *bp, void *arg)
{
if (bp) {
- Eterm heap[3];
+ DeclareTmpHeapNoproc(heap,3);
+
+ UseTmpHeapNoproc(3);
insert_offheap(&bp->off_heap,
TIMER_REF,
(is_internal_pid(receiver)
? receiver
: TUPLE2(&heap[0], AM_process, receiver)));
+ UnUseTmpHeapNoproc(3);
}
}
@@ -1230,7 +1251,7 @@ setup_reference_table(void)
DistEntry *dep;
HashInfo hi;
int i;
- Eterm heap[3];
+ DeclareTmpHeapNoproc(heap,3);
inserted_bins = NULL;
@@ -1251,6 +1272,7 @@ setup_reference_table(void)
/* Go through the hole system, and build a table of all references
to ErlNode and DistEntry structures */
+ UseTmpHeapNoproc(3);
insert_node(erts_this_node,
SYSTEM_REF,
TUPLE2(&heap[0], AM_system, am_undefined));
@@ -1261,6 +1283,7 @@ setup_reference_table(void)
HEAP_REF,
TUPLE2(&heap[0], AM_processes, am_undefined));
#endif
+ UnUseTmpHeapNoproc(3);
/* Insert all processes */
for (i = 0; i < erts_max_processes; i++)
diff --git a/erts/emulator/beam/erl_node_tables.h b/erts/emulator/beam/erl_node_tables.h
index c48dac6219..eb759b87e9 100644
--- a/erts/emulator/beam/erl_node_tables.h
+++ b/erts/emulator/beam/erl_node_tables.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2001-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2001-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -61,7 +61,7 @@
#define ERTS_DE_QFLGS_ALL (ERTS_DE_QFLG_BUSY \
| ERTS_DE_QFLG_EXIT)
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
#define ERTS_DIST_OUTPUT_BUF_DBG_PATTERN ((Uint) 0xf713f713f713f713UL)
#else
#define ERTS_DIST_OUTPUT_BUF_DBG_PATTERN ((Uint) 0xf713f713)
diff --git a/erts/emulator/beam/erl_printf_term.c b/erts/emulator/beam/erl_printf_term.c
index 7fe3f3bca5..d9f132f067 100644
--- a/erts/emulator/beam/erl_printf_term.c
+++ b/erts/emulator/beam/erl_printf_term.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2005-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2005-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -246,7 +246,7 @@ print_term(fmtfn_t fn, void* arg, Eterm obj, long *dcount)
if (is_CP(obj)) {
PRINT_STRING(res, fn, arg, "<cp/header:");
- PRINT_POINTER(res, fn, arg, obj);
+ PRINT_POINTER(res, fn, arg, cp_val(obj));
PRINT_CHAR(res, fn, arg, '>');
return res;
}
@@ -406,7 +406,7 @@ print_term(fmtfn_t fn, void* arg, Eterm obj, long *dcount)
break;
case EXPORT_DEF:
{
- Export* ep = (Export *) (export_val(obj))[1];
+ Export* ep = *((Export **) (export_val(obj) + 1));
Atom* module = atom_tab(atom_val(ep->code[0]));
Atom* name = atom_tab(atom_val(ep->code[1]));
@@ -438,7 +438,7 @@ print_term(fmtfn_t fn, void* arg, Eterm obj, long *dcount)
break;
default:
PRINT_STRING(res, fn, arg, "<unknown:");
- PRINT_POINTER(res, fn, arg, obj);
+ PRINT_POINTER(res, fn, arg, (UWord) obj);
PRINT_CHAR(res, fn, arg, '>');
break;
}
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 996806fc75..11ca85a41c 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -91,9 +91,9 @@ do { \
#define ERTS_EMPTY_RUNQ(RQ) \
((RQ)->len == 0 && (RQ)->misc.start == NULL)
-extern Eterm beam_apply[];
-extern Eterm beam_exit[];
-extern Eterm beam_continue_exit[];
+extern BeamInstr beam_apply[];
+extern BeamInstr beam_exit[];
+extern BeamInstr beam_continue_exit[];
static Sint p_last;
static Sint p_next;
@@ -334,7 +334,7 @@ do { \
static void init_processes_bif(void);
static void save_terminating_process(Process *p);
static void exec_misc_ops(ErtsRunQueue *);
-static void print_function_from_pc(int to, void *to_arg, Eterm* x);
+static void print_function_from_pc(int to, void *to_arg, BeamInstr* x);
static int stack_element_dump(int to, void *to_arg, Process* p, Eterm* sp,
int yreg);
#ifdef ERTS_SMP
@@ -2078,9 +2078,9 @@ erts_init_scheduling(int mrq, int no_schedulers, int no_schedulers_online)
erts_aligned_run_queues = erts_alloc(ERTS_ALC_T_RUNQS,
(sizeof(ErtsAlignedRunQueue)*(n+1)));
- if ((((Uint) erts_aligned_run_queues) & ERTS_CACHE_LINE_MASK) == 0)
+ if ((((UWord) erts_aligned_run_queues) & ERTS_CACHE_LINE_MASK) == 0)
erts_aligned_run_queues = ((ErtsAlignedRunQueue *)
- ((((Uint) erts_aligned_run_queues)
+ ((((UWord) erts_aligned_run_queues)
& ~ERTS_CACHE_LINE_MASK)
+ ERTS_CACHE_LINE_SIZE));
@@ -2175,9 +2175,9 @@ erts_init_scheduling(int mrq, int no_schedulers, int no_schedulers_online)
erts_aligned_scheduler_data = erts_alloc(ERTS_ALC_T_SCHDLR_DATA,
(sizeof(ErtsAlignedSchedulerData)
*(n+1)));
- if ((((Uint) erts_aligned_scheduler_data) & ERTS_CACHE_LINE_MASK) == 0)
+ if ((((UWord) erts_aligned_scheduler_data) & ERTS_CACHE_LINE_MASK) == 0)
erts_aligned_scheduler_data = ((ErtsAlignedSchedulerData *)
- ((((Uint) erts_aligned_scheduler_data)
+ ((((UWord) erts_aligned_scheduler_data)
& ~ERTS_CACHE_LINE_MASK)
+ ERTS_CACHE_LINE_SIZE));
for (ix = 0; ix < n; ix++) {
@@ -2186,6 +2186,13 @@ erts_init_scheduling(int mrq, int no_schedulers, int no_schedulers_online)
erts_bits_init_state(&esdp->erl_bits_state);
esdp->match_pseudo_process = NULL;
esdp->free_process = NULL;
+#if HALFWORD_HEAP
+ /* Registers need to be heap allocated (correct memory range) for tracing to work */
+ esdp->save_reg = erts_alloc(ERTS_ALC_T_BEAM_REGISTER, ERTS_X_REGS_ALLOCATED * sizeof(Eterm));
+#endif
+#endif
+#if !HEAP_ON_C_STACK
+ esdp->num_tmp_heap_used = 0;
#endif
esdp->no = (Uint) ix+1;
esdp->current_process = NULL;
@@ -4481,7 +4488,7 @@ add_pend_suspend(Process *suspendee,
sizeof(ErtsPendingSuspend));
psp->next = NULL;
#ifdef DEBUG
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
psp->end = (ErtsPendingSuspend *) 0xdeaddeaddeaddead;
#else
psp->end = (ErtsPendingSuspend *) 0xdeaddead;
@@ -6231,10 +6238,10 @@ Process *schedule(Process *p, int calls)
erts_smp_proc_lock(p, ERTS_PROC_LOCK_MAIN|ERTS_PROC_LOCK_STATUS);
if (erts_sched_stat.enabled) {
- Uint old = ERTS_PROC_SCHED_ID(p,
+ UWord old = ERTS_PROC_SCHED_ID(p,
(ERTS_PROC_LOCK_MAIN
| ERTS_PROC_LOCK_STATUS),
- esdp->no);
+ (UWord) esdp->no);
int migrated = old && old != esdp->no;
erts_smp_spin_lock(&erts_sched_stat.lock);
@@ -6762,8 +6769,8 @@ erl_create_process(Process* parent, /* Parent of process (default group leader).
p->current = p->initial+INITIAL_MOD;
- p->i = (Eterm *) beam_apply;
- p->cp = (Eterm *) beam_apply+1;
+ p->i = (BeamInstr *) beam_apply;
+ p->cp = (BeamInstr *) beam_apply+1;
p->arg_reg = p->def_arg_reg;
p->max_arg_reg = sizeof(p->def_arg_reg)/sizeof(p->def_arg_reg[0]);
@@ -7348,7 +7355,7 @@ set_proc_exiting(Process *p, Eterm reason, ErlHeapFragment *bp)
p->freason = EXTAG_EXIT;
KILL_CATCHES(p);
cancel_timer(p);
- p->i = (Eterm *) beam_exit;
+ p->i = (BeamInstr *) beam_exit;
}
@@ -7778,9 +7785,10 @@ static void doit_exit_monitor(ErtsMonitor *mon, void *vpcontext)
erts_port_release(prt);
} else if (is_internal_pid(mon->pid)) {/* local by name or pid */
Eterm watched;
- Eterm lhp[3];
+ DeclareTmpHeapNoproc(lhp,3);
ErtsProcLocks rp_locks = (ERTS_PROC_LOCK_LINK
| ERTS_PROC_LOCKS_MSG_SEND);
+ UseTmpHeapNoproc(3);
rp = erts_pid2proc(NULL, 0, mon->pid, rp_locks);
if (rp == NULL) {
goto done;
@@ -7795,6 +7803,7 @@ static void doit_exit_monitor(ErtsMonitor *mon, void *vpcontext)
erts_queue_monitor_message(rp, &rp_locks, mon->ref, am_process,
watched, pcontext->reason);
}
+ UnUseTmpHeapNoproc(3);
/* else: demonitor while we exited, i.e. do nothing... */
erts_smp_proc_unlock(rp, rp_locks);
} else { /* external by pid or name */
@@ -8228,11 +8237,12 @@ continue_exit_process(Process *p
* Pre-build the EXIT tuple if there are any links.
*/
if (lnk) {
- Eterm tmp_heap[4];
+ DeclareTmpHeap(tmp_heap,4,p);
Eterm exit_tuple;
Uint exit_tuple_sz;
Eterm* hp;
+ UseTmpHeap(4,p);
hp = &tmp_heap[0];
exit_tuple = TUPLE3(hp, am_EXIT, p->id, reason);
@@ -8243,11 +8253,13 @@ continue_exit_process(Process *p
ExitLinkContext context = {p, reason, exit_tuple, exit_tuple_sz};
erts_sweep_links(lnk, &doit_exit_link, &context);
}
+ UnUseTmpHeap(4,p);
}
{
ExitMonitorContext context = {reason, p};
- erts_sweep_monitors(mon,&doit_exit_monitor,&context);
+ erts_sweep_monitors(mon,&doit_exit_monitor,&context); /* Allocates TmpHeap, but we
+ have none here */
}
if (scb)
@@ -8271,7 +8283,7 @@ continue_exit_process(Process *p
ASSERT(p->status == P_EXITING);
- p->i = (Eterm *) beam_continue_exit;
+ p->i = (BeamInstr *) beam_continue_exit;
if (!(curr_locks & ERTS_PROC_LOCK_STATUS)) {
erts_smp_proc_lock(p, ERTS_PROC_LOCK_STATUS);
@@ -8291,7 +8303,7 @@ continue_exit_process(Process *p
static void
timeout_proc(Process* p)
{
- p->i = (Eterm *) p->def_arg_reg[0];
+ p->i = *((BeamInstr **) (UWord) p->def_arg_reg);
p->flags |= F_TIMO;
p->flags &= ~F_INSLPQUEUE;
@@ -8390,9 +8402,9 @@ erts_program_counter_info(int to, void *to_arg, Process *p)
}
static void
-print_function_from_pc(int to, void *to_arg, Eterm* x)
+print_function_from_pc(int to, void *to_arg, BeamInstr* x)
{
- Eterm* addr = find_function_from_pc(x);
+ BeamInstr* addr = find_function_from_pc(x);
if (addr == NULL) {
if (x == beam_exit) {
erts_print(to, to_arg, "<terminate process>");
@@ -8426,7 +8438,7 @@ stack_element_dump(int to, void *to_arg, Process* p, Eterm* sp, int yreg)
}
if (is_CP(x)) {
- erts_print(to, to_arg, "Return addr %p (", (Eterm *) x);
+ erts_print(to, to_arg, "Return addr %p (", (Eterm *) EXPAND_POINTER(x));
print_function_from_pc(to, to_arg, cp_val(x));
erts_print(to, to_arg, ")\n");
yreg = 0;
@@ -9255,8 +9267,8 @@ init_processes_bif(void)
processes_trap_export.code[0] = am_erlang;
processes_trap_export.code[1] = am_processes_trap;
processes_trap_export.code[2] = 2;
- processes_trap_export.code[3] = (Eterm) em_apply_bif;
- processes_trap_export.code[4] = (Eterm) &processes_trap;
+ processes_trap_export.code[3] = (BeamInstr) em_apply_bif;
+ processes_trap_export.code[4] = (BeamInstr) &processes_trap;
#if ERTS_PROCESSES_BIF_DEBUGLEVEL >= ERTS_PROCS_DBGLVL_CHK_TERM_PROC_LIST
erts_get_emu_time(&debug_tv_start);
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h
index f58b6932b3..cbcdec4ba7 100644
--- a/erts/emulator/beam/erl_process.h
+++ b/erts/emulator/beam/erl_process.h
@@ -179,7 +179,7 @@ extern int erts_sched_thread_suggested_stack_size;
#ifdef DEBUG
-# ifdef ARCH_64
+# if defined(ARCH_64) && !HALFWORD_HEAP
# define ERTS_DBG_SET_INVALID_RUNQP(RQP, N) \
(*((char **) &(RQP)) = (char *) (0xdeadbeefdead0003 | ((N) << 4)))
# define ERTS_DBG_VERIFY_VALID_RUNQP(RQP) \
@@ -194,8 +194,8 @@ do { \
# define ERTS_DBG_VERIFY_VALID_RUNQP(RQP) \
do { \
ASSERT((RQP) != NULL); \
- ASSERT(((((Uint) (RQP)) & ((Uint) 1))) == ((Uint) 0)); \
- ASSERT((((Uint) (RQP)) & ~((Uint) 0xffff)) != ((Uint) 0xdead0000)); \
+ ASSERT(((((UWord) (RQP)) & ((UWord) 1))) == ((UWord) 0)); \
+ ASSERT((((UWord) (RQP)) & ~((UWord) 0xffff)) != ((UWord) 0xdead0000)); \
} while (0)
# endif
#else
@@ -344,13 +344,24 @@ struct ErtsSchedulerData_ {
* numbered registers as possible in the same cache
* line).
*/
+#if !HALFWORD_HEAP
Eterm save_reg[ERTS_X_REGS_ALLOCATED]; /* X registers */
+#else
+ Eterm *save_reg;
+#endif
FloatDef freg[MAX_REG]; /* Floating point registers. */
ethr_tid tid; /* Thread id */
struct erl_bits_state erl_bits_state; /* erl_bits.c state */
void *match_pseudo_process; /* erl_db_util.c:db_prog_match() */
Process *free_process;
#endif
+#if !HEAP_ON_C_STACK
+ Eterm tmp_heap[TMP_HEAP_SIZE];
+ int num_tmp_heap_used;
+ Eterm beam_emu_tmp_heap[BEAM_EMU_TMP_HEAP_SIZE];
+ Eterm cmp_tmp_heap[CMP_TMP_HEAP_SIZE];
+ Eterm erl_arith_tmp_heap[ERL_ARITH_TMP_HEAP_SIZE];
+#endif
Process *current_process;
Uint no; /* Scheduler number */
@@ -518,8 +529,8 @@ struct process {
unsigned max_arg_reg; /* Maximum number of argument registers available. */
Eterm def_arg_reg[6]; /* Default array for argument registers. */
- Eterm* cp; /* Continuation pointer (for threaded code). */
- Eterm* i; /* Program counter for threaded code. */
+ BeamInstr* cp; /* (untagged) Continuation pointer (for threaded code). */
+ BeamInstr* i; /* Program counter for threaded code. */
Sint catches; /* Number of catches on stack */
Sint fcalls; /*
* Number of reductions left to execute.
@@ -566,11 +577,12 @@ struct process {
Uint seq_trace_lastcnt;
Eterm seq_trace_token; /* Sequential trace token (tuple size 5 see below) */
- Eterm initial[3]; /* Initial module(0), function(1), arity(2) */
- Eterm* current; /* Current Erlang function:
+ BeamInstr initial[3]; /* Initial module(0), function(1), arity(2), often used instead
+ of pointer to funcinfo instruction, hence the BeamInstr datatype */
+ BeamInstr* current; /* Current Erlang function, part of the funcinfo:
* module(0), function(1), arity(2)
* (module and functions are tagged atoms;
- * arity an untagged integer).
+ * arity an untagged integer). BeamInstr * because it references code
*/
/*
@@ -1184,7 +1196,7 @@ erts_psd_set(Process *p, ErtsProcLocks plocks, int ix, void *data)
#endif
#define ERTS_PROC_SCHED_ID(P, L, ID) \
- ((Uint) erts_psd_set((P), (L), ERTS_PSD_SCHED_ID, (void *) (ID)))
+ ((UWord) erts_psd_set((P), (L), ERTS_PSD_SCHED_ID, (void *) (ID)))
#define ERTS_PROC_GET_DIST_ENTRY(P) \
((DistEntry *) erts_psd_get((P), ERTS_PSD_DIST_ENTRY))
@@ -1209,8 +1221,8 @@ erts_proc_get_error_handler(Process *p)
if (!val)
return am_error_handler;
else {
- ASSERT(is_atom(((Eterm) val)));
- return (Eterm) val;
+ ASSERT(is_atom(((Eterm) (UWord) val)));
+ return (Eterm) (UWord) val;
}
}
@@ -1220,13 +1232,13 @@ erts_proc_set_error_handler(Process *p, ErtsProcLocks plocks, Eterm handler)
void *old_val;
void *new_val;
ASSERT(is_atom(handler));
- new_val = handler == am_error_handler ? NULL : (void *) handler;
+ new_val = (handler == am_error_handler) ? NULL : (void *) (UWord) handler;
old_val = erts_psd_set(p, plocks, ERTS_PSD_ERROR_HANDLER, new_val);
if (!old_val)
return am_error_handler;
else {
- ASSERT(is_atom(((Eterm) old_val)));
- return (Eterm) old_val;
+ ASSERT(is_atom(((Eterm) (UWord) old_val)));
+ return (Eterm) (UWord) old_val;
}
}
diff --git a/erts/emulator/beam/erl_process_dump.c b/erts/emulator/beam/erl_process_dump.c
index 1666509c72..7a7042abe4 100644
--- a/erts/emulator/beam/erl_process_dump.c
+++ b/erts/emulator/beam/erl_process_dump.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2003-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2003-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -45,16 +45,16 @@ static void dump_dist_ext(int to, void *to_arg, ErtsDistExternal *edep);
static void dump_element_nl(int to, void *to_arg, Eterm x);
static int stack_element_dump(int to, void *to_arg, Process* p, Eterm* sp,
int yreg);
-static void print_function_from_pc(int to, void *to_arg, Eterm* x);
+static void print_function_from_pc(int to, void *to_arg, BeamInstr* x);
static void heap_dump(int to, void *to_arg, Eterm x);
static void dump_binaries(int to, void *to_arg, Binary* root);
static void dump_externally(int to, void *to_arg, Eterm term);
static Binary* all_binaries;
-extern Eterm beam_apply[];
-extern Eterm beam_exit[];
-extern Eterm beam_continue_exit[];
+extern BeamInstr beam_apply[];
+extern BeamInstr beam_exit[];
+extern BeamInstr beam_continue_exit[];
void
@@ -223,7 +223,7 @@ stack_element_dump(int to, void *to_arg, Process* p, Eterm* sp, int yreg)
}
if (is_CP(x)) {
- erts_print(to, to_arg, "SReturn addr 0x%X (", (Eterm *) x);
+ erts_print(to, to_arg, "SReturn addr 0x%X (", cp_val(x));
print_function_from_pc(to, to_arg, cp_val(x));
erts_print(to, to_arg, ")\n");
yreg = 0;
@@ -239,9 +239,9 @@ stack_element_dump(int to, void *to_arg, Process* p, Eterm* sp, int yreg)
}
static void
-print_function_from_pc(int to, void *to_arg, Eterm* x)
+print_function_from_pc(int to, void *to_arg, BeamInstr* x)
{
- Eterm* addr = find_function_from_pc(x);
+ BeamInstr* addr = find_function_from_pc(x);
if (addr == NULL) {
if (x == beam_exit) {
erts_print(to, to_arg, "<terminate process>");
@@ -273,7 +273,7 @@ heap_dump(int to, void *to_arg, Eterm x)
if (x == OUR_NIL) { /* We are done. */
return;
} if (is_CP(x)) {
- next = (Eterm *) x;
+ next = (Eterm *) EXPAND_POINTER(x);
} else if (is_list(x)) {
ptr = list_val(x);
if (ptr[0] != OUR_NIL) {
@@ -286,7 +286,7 @@ heap_dump(int to, void *to_arg, Eterm x)
ptr[1] = make_small(0);
}
x = ptr[0];
- ptr[0] = (Eterm) next;
+ ptr[0] = (Eterm) COMPRESS_POINTER(next);
next = ptr + 1;
goto again;
}
@@ -316,7 +316,7 @@ heap_dump(int to, void *to_arg, Eterm x)
ptr[0] = OUR_NIL;
} else {
x = ptr[arity];
- ptr[0] = (Eterm) next;
+ ptr[0] = (Eterm) COMPRESS_POINTER(next);
next = ptr + arity - 1;
goto again;
}
@@ -351,7 +351,7 @@ heap_dump(int to, void *to_arg, Eterm x)
Binary* val = pb->val;
if (erts_smp_atomic_xchg(&val->refc, 0) != 0) {
- val->flags = (Uint) all_binaries;
+ val->flags = (UWord) all_binaries;
all_binaries = val;
}
erts_print(to, to_arg, "Yc%X:%X:%X", val,
diff --git a/erts/emulator/beam/erl_term.c b/erts/emulator/beam/erl_term.c
index 2924abbd51..c6458a0e45 100644
--- a/erts/emulator/beam/erl_term.c
+++ b/erts/emulator/beam/erl_term.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2000-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2000-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -68,7 +68,9 @@ unsigned tag_val_def(Eterm x)
static char msg[32];
switch (x & _TAG_PRIMARY_MASK) {
- case TAG_PRIMARY_LIST: return LIST_DEF;
+ case TAG_PRIMARY_LIST:
+ ET_ASSERT(_list_precond(x),file,line);
+ return LIST_DEF;
case TAG_PRIMARY_BOXED: {
Eterm hdr = *boxed_val(x);
ET_ASSERT(is_header(hdr),file,line);
@@ -103,7 +105,7 @@ unsigned tag_val_def(Eterm x)
break;
}
}
- sprintf(msg, "tag_val_def: %#lx", x);
+ sprintf(msg, "tag_val_def: %#lx", (unsigned long) x);
et_abort(msg, file, line);
#undef file
#undef line
@@ -121,12 +123,12 @@ FUNTY checked_##FUN(ARGTY x, const char *file, unsigned line) \
return _unchecked_##FUN(x); \
}
-ET_DEFINE_CHECKED(Eterm,make_boxed,Eterm*,_is_aligned);
+ET_DEFINE_CHECKED(Eterm,make_boxed,Eterm*,_is_taggable_pointer);
ET_DEFINE_CHECKED(int,is_boxed,Eterm,!is_header);
-ET_DEFINE_CHECKED(Eterm*,boxed_val,Eterm,is_boxed);
-ET_DEFINE_CHECKED(Eterm,make_list,Eterm*,_is_aligned);
+ET_DEFINE_CHECKED(Eterm*,boxed_val,Eterm,_boxed_precond);
+ET_DEFINE_CHECKED(Eterm,make_list,Eterm*,_is_taggable_pointer);
ET_DEFINE_CHECKED(int,is_not_list,Eterm,!is_header);
-ET_DEFINE_CHECKED(Eterm*,list_val,Eterm,is_list);
+ET_DEFINE_CHECKED(Eterm*,list_val,Eterm,_list_precond);
ET_DEFINE_CHECKED(Uint,unsigned_val,Eterm,is_small);
ET_DEFINE_CHECKED(Sint,signed_val,Eterm,is_small);
ET_DEFINE_CHECKED(Uint,atom_val,Eterm,is_atom);
@@ -163,8 +165,8 @@ ET_DEFINE_CHECKED(Uint32*,external_ref_data,Eterm,is_external_ref);
ET_DEFINE_CHECKED(struct erl_node_*,external_ref_node,Eterm,is_external_ref);
ET_DEFINE_CHECKED(Eterm*,export_val,Eterm,is_export);
-ET_DEFINE_CHECKED(Eterm,make_cp,Uint*,_is_aligned);
-ET_DEFINE_CHECKED(Uint*,cp_val,Eterm,is_CP);
+ET_DEFINE_CHECKED(Eterm,make_cp,UWord *,_is_taggable_pointer);
+ET_DEFINE_CHECKED(UWord *,cp_val,Eterm,is_CP);
ET_DEFINE_CHECKED(Uint,catch_val,Eterm,is_catch);
ET_DEFINE_CHECKED(Uint,x_reg_offset,Uint,_is_xreg);
ET_DEFINE_CHECKED(Uint,y_reg_offset,Uint,_is_yreg);
diff --git a/erts/emulator/beam/erl_term.h b/erts/emulator/beam/erl_term.h
index a6596558fa..3a8c30fe6a 100644
--- a/erts/emulator/beam/erl_term.h
+++ b/erts/emulator/beam/erl_term.h
@@ -20,6 +20,32 @@
#ifndef __ERL_TERM_H
#define __ERL_TERM_H
+#include "sys.h" /* defines HALFWORD_HEAP */
+
+#if HALFWORD_HEAP
+# define HEAP_ON_C_STACK 0
+# if HALFWORD_ASSERT
+# ifdef ET_DEBUG
+# undef ET_DEBUG
+# endif
+# define ET_DEBUG 1
+# endif
+# if 1
+# define CHECK_POINTER_MASK 0xFFFFFFFF00000000UL
+# define COMPRESS_POINTER(APointer) ((Eterm) (UWord) (APointer))
+# define EXPAND_POINTER(AnEterm) ((UWord) (AnEterm))
+# else
+# define CHECK_POINTER_MASK 0x0UL
+# define COMPRESS_POINTER(AnUint) (AnUint)
+# define EXPAND_POINTER(APointer) (APointer)
+# endif
+#else
+# define HEAP_ON_C_STACK 1
+# define CHECK_POINTER_MASK 0x0UL
+# define COMPRESS_POINTER(AnUint) (AnUint)
+# define EXPAND_POINTER(APointer) (APointer)
+#endif
+
struct erl_node_; /* Declared in erl_node_tables.h */
/*
@@ -158,9 +184,16 @@ struct erl_node_; /* Declared in erl_node_tables.h */
/* boxed object access methods */
+#if HALFWORD_HEAP
+#define _is_taggable_pointer(x) (((UWord)(x) & (CHECK_POINTER_MASK | 0x3)) == 0)
+#define _boxed_precond(x) (is_boxed(x))
+#else
+#define _is_taggable_pointer(x) (((Uint)(x) & 0x3) == 0)
+#define _boxed_precond(x) (is_boxed(x))
+#endif
#define _is_aligned(x) (((Uint)(x) & 0x3) == 0)
-#define _unchecked_make_boxed(x) ((Uint)(x) + TAG_PRIMARY_BOXED)
-_ET_DECLARE_CHECKED(Eterm,make_boxed,Eterm*)
+#define _unchecked_make_boxed(x) ((Uint) COMPRESS_POINTER(x) + TAG_PRIMARY_BOXED)
+_ET_DECLARE_CHECKED(Eterm,make_boxed,Eterm*);
#define make_boxed(x) _ET_APPLY(make_boxed,(x))
#if 1
#define _is_not_boxed(x) ((x) & (_TAG_PRIMARY_MASK-TAG_PRIMARY_BOXED))
@@ -170,13 +203,13 @@ _ET_DECLARE_CHECKED(int,is_boxed,Eterm)
#else
#define is_boxed(x) (((x) & _TAG_PRIMARY_MASK) == TAG_PRIMARY_BOXED)
#endif
-#define _unchecked_boxed_val(x) ((Eterm*)((x) - TAG_PRIMARY_BOXED))
-_ET_DECLARE_CHECKED(Eterm*,boxed_val,Eterm)
+#define _unchecked_boxed_val(x) ((Eterm*) EXPAND_POINTER(((x) - TAG_PRIMARY_BOXED)))
+_ET_DECLARE_CHECKED(Eterm*,boxed_val,Eterm);
#define boxed_val(x) _ET_APPLY(boxed_val,(x))
/* cons cell ("list") access methods */
-#define _unchecked_make_list(x) ((Uint)(x) + TAG_PRIMARY_LIST)
-_ET_DECLARE_CHECKED(Eterm,make_list,Eterm*)
+#define _unchecked_make_list(x) ((Uint) COMPRESS_POINTER(x) + TAG_PRIMARY_LIST)
+_ET_DECLARE_CHECKED(Eterm,make_list,Eterm*);
#define make_list(x) _ET_APPLY(make_list,(x))
#if 1
#define _unchecked_is_not_list(x) ((x) & (_TAG_PRIMARY_MASK-TAG_PRIMARY_LIST))
@@ -187,8 +220,13 @@ _ET_DECLARE_CHECKED(int,is_not_list,Eterm)
#define is_list(x) (((x) & _TAG_PRIMARY_MASK) == TAG_PRIMARY_LIST)
#define is_not_list(x) (!is_list((x)))
#endif
-#define _unchecked_list_val(x) ((Eterm*)((x) - TAG_PRIMARY_LIST))
-_ET_DECLARE_CHECKED(Eterm*,list_val,Eterm)
+#if HALFWORD_HEAP
+#define _list_precond(x) (is_list(x))
+#else
+#define _list_precond(x) (is_list(x))
+#endif
+#define _unchecked_list_val(x) ((Eterm*) EXPAND_POINTER((x) - TAG_PRIMARY_LIST))
+_ET_DECLARE_CHECKED(Eterm*,list_val,Eterm);
#define list_val(x) _ET_APPLY(list_val,(x))
#define CONS(hp, car, cdr) \
@@ -198,13 +236,13 @@ _ET_DECLARE_CHECKED(Eterm*,list_val,Eterm)
#define CDR(x) ((x)[1])
/* generic tagged pointer (boxed or list) access methods */
-#define _unchecked_ptr_val(x) ((Eterm*)((x) & ~((Uint) 0x3)))
+#define _unchecked_ptr_val(x) ((Eterm*) EXPAND_POINTER((x) & ~((Uint) 0x3)))
#define ptr_val(x) _unchecked_ptr_val((x)) /*XXX*/
#define _unchecked_offset_ptr(x,offs) ((x)+((offs)*sizeof(Eterm)))
#define offset_ptr(x,offs) _unchecked_offset_ptr(x,offs) /*XXX*/
/* fixnum ("small") access methods */
-#if defined(ARCH_64)
+#if defined(ARCH_64) && !HALFWORD_HEAP
#define SMALL_BITS (64-4)
#define SMALL_DIGITS (17)
#else
@@ -329,7 +367,11 @@ _ET_DECLARE_CHECKED(Eterm*,fun_val,Eterm)
_ET_DECLARE_CHECKED(Eterm*,export_val,Eterm)
#define export_val(x) _ET_APPLY(export_val,(x))
#define is_export_header(x) ((x) == HEADER_EXPORT)
+#if HALFWORD_HEAP
+#define HEADER_EXPORT _make_header(2,_TAG_HEADER_EXPORT)
+#else
#define HEADER_EXPORT _make_header(1,_TAG_HEADER_EXPORT)
+#endif
/* bignum access methods */
#define make_pos_bignum_header(sz) _make_header((sz),_TAG_HEADER_POS_BIG)
@@ -353,7 +395,7 @@ _ET_DECLARE_CHECKED(Eterm*,big_val,Eterm)
#define big_val(x) _ET_APPLY(big_val,(x))
/* flonum ("float") access methods */
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
#define HEADER_FLONUM _make_header(1,_TAG_HEADER_FLOAT)
#else
#define HEADER_FLONUM _make_header(2,_TAG_HEADER_FLOAT)
@@ -374,12 +416,12 @@ typedef union float_def
byte fb[sizeof(ieee754_8)];
Uint16 fs[sizeof(ieee754_8) / sizeof(Uint16)];
Uint32 fw[sizeof(ieee754_8) / sizeof(Uint32)];
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
Uint fdw;
#endif
} FloatDef;
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
#define GET_DOUBLE(x, f) (f).fdw = *(float_val(x)+1)
#define PUT_DOUBLE(f, x) *(x) = HEADER_FLONUM, \
@@ -679,7 +721,7 @@ _ET_DECLARE_CHECKED(struct erl_node_*,internal_port_node,Eterm)
#define ERTS_MAX_REF_NUMBERS 3
#define ERTS_REF_NUMBERS ERTS_MAX_REF_NUMBERS
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
# define ERTS_REF_WORDS (ERTS_REF_NUMBERS/2 + 1)
# define ERTS_REF_32BIT_WORDS (ERTS_REF_NUMBERS+1)
#else
@@ -701,7 +743,7 @@ typedef struct {
#define make_ref_thing_header(DW) \
_make_header((DW)+REF_THING_HEAD_SIZE-1,_TAG_HEADER_REF)
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
/*
* Ref layout on a 64-bit little endian machine:
@@ -807,6 +849,11 @@ _ET_DECLARE_CHECKED(struct erl_node_*,internal_ref_node,Eterm)
*
*/
+/* XXX:PaN - this structure is not perfect for halfword heap, it takes
+ a lot of memory due to padding, and the array will not begin at the end of the
+ structure, as otherwise expected. Be sure to access data.ui32 array and not try
+ to do pointer manipulation on an Eterm * to reach the actual data... */
+
typedef struct external_thing_ {
/* ----+ */
Eterm header; /* | */
@@ -944,15 +991,15 @@ _ET_DECLARE_CHECKED(struct erl_node_*,external_ref_node,Eterm)
#error "fix yer arch, like"
#endif
-#define _unchecked_make_cp(x) ((Eterm)(x))
-_ET_DECLARE_CHECKED(Eterm,make_cp,Uint*)
+#define _unchecked_make_cp(x) ((Eterm) COMPRESS_POINTER(x))
+_ET_DECLARE_CHECKED(Eterm,make_cp,BeamInstr*);
#define make_cp(x) _ET_APPLY(make_cp,(x))
#define is_not_CP(x) ((x) & _CPMASK)
#define is_CP(x) (!is_not_CP(x))
-#define _unchecked_cp_val(x) ((Uint*)(x))
-_ET_DECLARE_CHECKED(Uint*,cp_val,Eterm)
+#define _unchecked_cp_val(x) ((BeamInstr*) EXPAND_POINTER(x))
+_ET_DECLARE_CHECKED(BeamInstr*,cp_val,Eterm);
#define cp_val(x) _ET_APPLY(cp_val,(x))
#define make_catch(x) (((x) << _TAG_IMMED2_SIZE) | _TAG_IMMED2_CATCH)
diff --git a/erts/emulator/beam/erl_trace.c b/erts/emulator/beam/erl_trace.c
index 2842c2361a..8addfcf5ad 100644
--- a/erts/emulator/beam/erl_trace.c
+++ b/erts/emulator/beam/erl_trace.c
@@ -397,11 +397,13 @@ WRITE_SYS_MSG_TO_PORT(Eterm unused_to,
*/
static void
do_send_schedfix_to_port(Port *trace_port, Eterm pid, Eterm timestamp) {
- Eterm local_heap[4+5+5];
+#define LOCAL_HEAP_SIZE (4+5+5)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
Eterm message;
Eterm *hp;
Eterm mfarity;
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
ASSERT(is_pid(pid));
ASSERT(is_tuple(timestamp));
ASSERT(*tuple_val(timestamp) == make_arityval(3));
@@ -426,6 +428,8 @@ do_send_schedfix_to_port(Port *trace_port, Eterm pid, Eterm timestamp) {
pid,
SYS_MSG_TYPE_UNDEFINED,
message);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
}
#endif
@@ -442,7 +446,9 @@ send_to_port(Process *c_p, Eterm message,
Eterm *tracer_pid, Uint *tracee_flags) {
Port* trace_port;
#ifndef ERTS_SMP
- Eterm ts, local_heap[4], *hp;
+#define LOCAL_HEAP_SIZE (4)
+ Eterm ts, *hp;
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
#endif
ASSERT(is_internal_port(*tracer_pid));
@@ -486,6 +492,8 @@ send_to_port(Process *c_p, Eterm message,
* (e.g. getting_linked) need not be the current process. That other
* process might not have timestamps enabled.
*/
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
if (*tracee_flags & F_TIMESTAMP) {
ASSERT(is_tuple(message));
hp = tuple_val(message);
@@ -522,6 +530,8 @@ send_to_port(Process *c_p, Eterm message,
*/
do_send_schedfix_to_port(trace_port, c_p->id, ts);
}
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
#endif
}
@@ -589,7 +599,10 @@ seq_trace_send_to_port(Process *c_p,
{
Port* trace_port;
#ifndef ERTS_SMP
- Eterm ts, local_heap[4], *hp;
+ Eterm ts, *hp;
+#define LOCAL_HEAP_SIZE (4)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
#endif
ASSERT(is_internal_port(seq_tracer));
@@ -607,6 +620,9 @@ seq_trace_send_to_port(Process *c_p,
if (INVALID_TRACER_PORT(trace_port, seq_tracer)) {
invalid_tracer_port:
system_seq_tracer = am_false;
+#ifndef ERTS_SMP
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#endif
return;
}
@@ -620,6 +636,7 @@ seq_trace_send_to_port(Process *c_p,
message);
#ifndef ERTS_SMP
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
return;
}
/* Make a fake schedule only if the current process is traced
@@ -660,6 +677,8 @@ seq_trace_send_to_port(Process *c_p,
*/
do_send_schedfix_to_port(trace_port, c_p->id, ts);
}
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
#endif
}
@@ -719,7 +738,8 @@ send_to_tracer(Process *tracee,
static void
trace_sched_aux(Process *p, Eterm what, int never_fake_sched)
{
- Eterm local_heap[5+4+1+TS_HEAP_WORDS];
+#define LOCAL_HEAP_SIZE (5+4+1+TS_HEAP_WORDS)
+ DeclareTmpHeap(local_heap,LOCAL_HEAP_SIZE,p);
Eterm tmp, mess, *hp;
ErlHeapFragment *bp = NULL;
ErlOffHeap *off_heap;
@@ -768,8 +788,10 @@ trace_sched_aux(Process *p, Eterm what, int never_fake_sched)
curr_func = p->current != NULL;
}
+ UseTmpHeap(LOCAL_HEAP_SIZE,p);
+
if (to_port)
- hp = &local_heap[0];
+ hp = local_heap;
else {
Uint size = 5;
if (curr_func)
@@ -802,6 +824,8 @@ trace_sched_aux(Process *p, Eterm what, int never_fake_sched)
}
send_to_tracer(p, tracer_ref, mess, &hp, bp, no_fake_sched);
+ UnUseTmpHeap(LOCAL_HEAP_SIZE,p);
+#undef LOCAL_HEAP_SIZE
}
/* Send {trace_ts, Pid, What, {Mod, Func, Arity}, Timestamp}
@@ -848,7 +872,10 @@ trace_send(Process *p, Eterm to, Eterm msg)
}
if (is_internal_port(p->tracer_proc)) {
- Eterm local_heap[11];
+#define LOCAL_HEAP_SIZE (11)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
mess = TUPLE5(hp, am_trace, p->id, operation, msg, to);
hp += 6;
@@ -857,6 +884,8 @@ trace_send(Process *p, Eterm to, Eterm msg)
hp = patch_ts(mess, hp);
}
send_to_port(p, mess, &p->tracer_proc, &p->trace_flags);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
} else {
Uint need;
@@ -908,7 +937,10 @@ trace_receive(Process *rp, Eterm msg)
Eterm* hp;
if (is_internal_port(rp->tracer_proc)) {
- Eterm local_heap[10];
+#define LOCAL_HEAP_SIZE (10)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
mess = TUPLE4(hp, am_trace, rp->id, am_receive, msg);
hp += 5;
@@ -917,6 +949,8 @@ trace_receive(Process *rp, Eterm msg)
hp = patch_ts(mess, hp);
}
send_to_port(rp, mess, &rp->tracer_proc, &rp->trace_flags);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
} else {
Uint hsz;
@@ -1018,7 +1052,10 @@ seq_trace_output_generic(Eterm token, Eterm msg, Uint type,
}
if (is_internal_port(seq_tracer)) {
- Eterm local_heap[64];
+#define LOCAL_HEAP_SIZE (64)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
label = SEQ_TRACE_T_LABEL(token);
lastcnt_serial = TUPLE2(hp, SEQ_TRACE_T_LASTCNT(token),
@@ -1043,6 +1080,8 @@ seq_trace_output_generic(Eterm token, Eterm msg, Uint type,
mess = TUPLE4(hp, am_seq_trace, label, mess, ts);
seq_trace_send_to_port(process, seq_tracer, mess, ts);
}
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
} else {
#ifndef ERTS_SMP
@@ -1143,14 +1182,18 @@ seq_trace_output_generic(Eterm token, Eterm msg, Uint type,
* or {trace, Pid, return_to, {Mod, Func, Arity}}
*/
void
-erts_trace_return_to(Process *p, Uint *pc)
+erts_trace_return_to(Process *p, BeamInstr *pc)
{
+#define LOCAL_HEAP_SIZE (4+5+5)
Eterm* hp;
Eterm mfa;
Eterm mess;
- Eterm local_heap[4+5+5];
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
- Eterm *code_ptr = find_function_from_pc(pc);
+ BeamInstr *code_ptr = find_function_from_pc(pc);
+
+
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
hp = local_heap;
@@ -1196,6 +1239,8 @@ erts_trace_return_to(Process *p, Uint *pc)
mess = copy_struct(mess, size, &hp, off_heap);
ERTS_ENQ_TRACE_MSG(p->id, tracer_ref, mess, bp);
}
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
}
@@ -1204,7 +1249,7 @@ erts_trace_return_to(Process *p, Uint *pc)
* or {trace, Pid, return_from, {Mod, Name, Arity}, Retval}
*/
void
-erts_trace_return(Process* p, Eterm* fi, Eterm retval, Eterm *tracer_pid)
+erts_trace_return(Process* p, BeamInstr* fi, Eterm retval, Eterm *tracer_pid)
{
Eterm* hp;
Eterm mfa;
@@ -1262,7 +1307,9 @@ erts_trace_return(Process* p, Eterm* fi, Eterm retval, Eterm *tracer_pid)
arity = fi[2];
if (is_internal_port(*tracer_pid)) {
- Eterm local_heap[4+6+5];
+#define LOCAL_HEAP_SIZE (4+6+5)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
hp = local_heap;
mfa = TUPLE3(hp, mod, name, make_small(arity));
hp += 4;
@@ -1273,6 +1320,8 @@ erts_trace_return(Process* p, Eterm* fi, Eterm retval, Eterm *tracer_pid)
hp = patch_ts(mess, hp);
}
send_to_port(p, mess, tracer_pid, tracee_flags);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
} else {
ErlHeapFragment *bp;
@@ -1331,7 +1380,7 @@ erts_trace_return(Process* p, Eterm* fi, Eterm retval, Eterm *tracer_pid)
* Where Class is atomic but Value is any term.
*/
void
-erts_trace_exception(Process* p, Eterm mfa[3], Eterm class, Eterm value,
+erts_trace_exception(Process* p, BeamInstr mfa[3], Eterm class, Eterm value,
Eterm *tracer_pid)
{
Eterm* hp;
@@ -1385,21 +1434,26 @@ erts_trace_exception(Process* p, Eterm mfa[3], Eterm class, Eterm value,
}
if (is_internal_port(*tracer_pid)) {
- Eterm local_heap[4+3+6+5];
+#define LOCAL_HEAP_SIZE (4+3+6+5)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
- mfa_tuple = TUPLE3(hp, mfa[0], mfa[1], make_small(mfa[2]));
+ mfa_tuple = TUPLE3(hp, (Eterm) mfa[0], (Eterm) mfa[1], make_small((Eterm)mfa[2]));
hp += 4;
cv = TUPLE2(hp, class, value);
hp += 3;
mess = TUPLE5(hp, am_trace, p->id, am_exception_from, mfa_tuple, cv);
hp += 6;
- ASSERT((hp - local_heap)*sizeof(*hp) <= sizeof(local_heap));
+ ASSERT((hp - local_heap) <= LOCAL_HEAP_SIZE);
erts_smp_mtx_lock(&smq_mtx);
if (*tracee_flags & F_TIMESTAMP) {
hp = patch_ts(mess, hp); /* hp += 5 */
- ASSERT((hp - local_heap)*sizeof(*hp) == sizeof(local_heap));
+ ASSERT((hp - local_heap) == LOCAL_HEAP_SIZE);
}
send_to_port(p, mess, tracer_pid, tracee_flags);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
} else {
ErlHeapFragment *bp;
@@ -1431,7 +1485,7 @@ erts_trace_exception(Process* p, Eterm mfa[3], Eterm class, Eterm value,
* Build the trace tuple and put it into receive queue of the tracer process.
*/
- mfa_tuple = TUPLE3(hp, mfa[0], mfa[1], make_small(mfa[2]));
+ mfa_tuple = TUPLE3(hp, (Eterm) mfa[0], (Eterm) mfa[1], make_small((Eterm) mfa[2]));
hp += 4;
value = copy_struct(value, value_size, &hp, off_heap);
cv = TUPLE2(hp, class, value);
@@ -1468,7 +1522,7 @@ erts_trace_exception(Process* p, Eterm mfa[3], Eterm class, Eterm value,
* if it is a pid or port we do a meta trace.
*/
Uint32
-erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
+erts_call_trace(Process* p, BeamInstr mfa[3], Binary *match_spec,
Eterm* args, int local, Eterm *tracer_pid)
{
Eterm* hp;
@@ -1483,7 +1537,8 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
Eterm tracee;
#endif
Eterm transformed_args[MAX_ARG];
- ErlSubBin sub_bin_heap;
+ DeclareTmpHeap(sub_bin_heap_et,ERL_SUB_BIN_SIZE,p);
+ ErlSubBin *sub_bin_heap = (ErlSubBin *) sub_bin_heap_et;
ASSERT(tracer_pid);
if (*tracer_pid == am_true) {
@@ -1534,19 +1589,20 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
* such as size_object() and copy_struct(), we must make sure that we
* temporarily convert any match contexts to sub binaries.
*/
- arity = mfa[2];
+ arity = (Eterm) mfa[2];
+ UseTmpHeap(ERL_SUB_BIN_SIZE,p);
#ifdef DEBUG
- sub_bin_heap.thing_word = 0;
+ sub_bin_heap->thing_word = 0;
#endif
for (i = 0; i < arity; i++) {
Eterm arg = args[i];
if (is_boxed(arg) && header_is_bin_matchstate(*boxed_val(arg))) {
ErlBinMatchState* ms = (ErlBinMatchState *) boxed_val(arg);
ErlBinMatchBuffer* mb = &ms->mb;
- ErlSubBin* sb = &sub_bin_heap;
+ ErlSubBin* sb = sub_bin_heap;
Uint bit_size;
- ASSERT(sub_bin_heap.thing_word == 0); /* At most one of match context */
+ ASSERT(sub_bin_heap->thing_word == 0); /* At most one of match context */
bit_size = mb->size - mb->offset;
sb->thing_word = HEADER_SUB_BIN;
@@ -1564,7 +1620,12 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
args = transformed_args;
if (is_internal_port(*tracer_pid)) {
+#if HEAP_ON_C_STACK
Eterm local_heap[64+MAX_ARG];
+#else
+ Eterm *local_heap = erts_alloc(ERTS_ALC_T_TEMP_TERM,
+ sizeof(Eterm)*(64+MAX_ARG));
+#endif
hp = local_heap;
if (!erts_is_valid_tracer_port(*tracer_pid)) {
@@ -1579,6 +1640,10 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
if (is_not_nil(tracee))
erts_smp_proc_unlock(p, ERTS_PROC_LOCKS_ALL_MINOR);
#endif
+#if !HEAP_ON_C_STACK
+ erts_free(ERTS_ALC_T_TEMP_TERM,local_heap);
+#endif
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return 0;
}
@@ -1605,6 +1670,10 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
&return_flags);
if (is_non_value(pam_result)) {
erts_match_set_release_result(p);
+#if !HEAP_ON_C_STACK
+ erts_free(ERTS_ALC_T_TEMP_TERM,local_heap);
+#endif
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return 0;
}
}
@@ -1612,16 +1681,28 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
/* Meta trace */
if (pam_result == am_false) {
erts_match_set_release_result(p);
+#if !HEAP_ON_C_STACK
+ erts_free(ERTS_ALC_T_TEMP_TERM,local_heap);
+#endif
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return return_flags;
}
} else {
/* Non-meta trace */
if (*tracee_flags & F_TRACE_SILENT) {
erts_match_set_release_result(p);
+#if !HEAP_ON_C_STACK
+ erts_free(ERTS_ALC_T_TEMP_TERM,local_heap);
+#endif
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return 0;
}
if (pam_result == am_false) {
erts_match_set_release_result(p);
+#if !HEAP_ON_C_STACK
+ erts_free(ERTS_ALC_T_TEMP_TERM,local_heap);
+#endif
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return return_flags;
}
if (local && (*tracee_flags & F_TRACE_RETURN_TO)) {
@@ -1644,7 +1725,7 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
hp += 2;
}
}
- mfa_tuple = TUPLE3(hp, mfa[0], mfa[1], mfa_tuple);
+ mfa_tuple = TUPLE3(hp, (Eterm) mfa[0], (Eterm) mfa[1], mfa_tuple);
hp += 4;
/*
@@ -1664,6 +1745,10 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
send_to_port(p, mess, tracer_pid, tracee_flags);
erts_smp_mtx_unlock(&smq_mtx);
erts_match_set_release_result(p);
+#if !HEAP_ON_C_STACK
+ erts_free(ERTS_ALC_T_TEMP_TERM,local_heap);
+#endif
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return *tracer_pid == NIL ? 0 : return_flags;
} else {
@@ -1706,6 +1791,7 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
if (is_not_nil(tracee))
erts_smp_proc_unlock(p, ERTS_PROC_LOCKS_ALL_MINOR);
#endif
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return 0;
}
@@ -1731,6 +1817,7 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
&return_flags);
if (is_non_value(pam_result)) {
erts_match_set_release_result(p);
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return 0;
}
}
@@ -1738,16 +1825,19 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
/* Meta trace */
if (pam_result == am_false) {
erts_match_set_release_result(p);
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return return_flags;
}
} else {
/* Non-meta trace */
if (*tracee_flags & F_TRACE_SILENT) {
erts_match_set_release_result(p);
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return 0;
}
if (pam_result == am_false) {
erts_match_set_release_result(p);
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return return_flags;
}
if (local && (*tracee_flags & F_TRACE_RETURN_TO)) {
@@ -1798,7 +1888,7 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
hp += 2;
}
}
- mfa_tuple = TUPLE3(hp, mfa[0], mfa[1], mfa_tuple);
+ mfa_tuple = TUPLE3(hp, (Eterm) mfa[0], (Eterm) mfa[1], mfa_tuple);
hp += 4;
/*
@@ -1831,6 +1921,7 @@ erts_call_trace(Process* p, Eterm mfa[3], Binary *match_spec,
ASSERT(hp == limit);
ERTS_ENQ_TRACE_MSG(tracee, tracer_ref, mess, bp);
erts_smp_mtx_unlock(&smq_mtx);
+ UnUseTmpHeap(ERL_SUB_BIN_SIZE,p);
return return_flags;
}
}
@@ -1851,7 +1942,10 @@ trace_proc(Process *c_p, Process *t_p, Eterm what, Eterm data)
int need;
if (is_internal_port(t_p->tracer_proc)) {
- Eterm local_heap[5+5];
+#define LOCAL_HEAP_SIZE (5+5)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
mess = TUPLE4(hp, am_trace, t_p->id, what, data);
hp += 5;
@@ -1868,6 +1962,8 @@ trace_proc(Process *c_p, Process *t_p, Eterm what, Eterm data)
c_p,
#endif
mess, &t_p->tracer_proc, &t_p->trace_flags);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
} else {
Eterm tmp;
@@ -1919,7 +2015,10 @@ trace_proc_spawn(Process *p, Eterm pid,
Eterm* hp;
if (is_internal_port(p->tracer_proc)) {
- Eterm local_heap[4+6+5];
+#define LOCAL_HEAP_SIZE (4+6+5)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
mfa = TUPLE3(hp, mod, func, args);
hp += 4;
@@ -1930,6 +2029,8 @@ trace_proc_spawn(Process *p, Eterm pid,
hp = patch_ts(mess, hp);
}
send_to_port(p, mess, &p->tracer_proc, &p->trace_flags);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
} else {
Eterm tmp;
@@ -1991,7 +2092,7 @@ void save_calls(Process *p, Export *e)
*/
Eterm
erts_bif_trace(int bif_index, Process* p,
- Eterm arg1, Eterm arg2, Eterm arg3, Uint *I)
+ Eterm arg1, Eterm arg2, Eterm arg3, BeamInstr *I)
{
Eterm result;
int meta = !!(erts_bif_trace_flags[bif_index] & BIF_TRACE_AS_META);
@@ -2005,10 +2106,10 @@ erts_bif_trace(int bif_index, Process* p,
* no tracing will occur. Doing the whole else branch will
* also do nothing, only slower.
*/
- Eterm (*func)(Process*, Eterm, Eterm, Eterm, Uint*) = bif_table[bif_index].f;
+ Eterm (*func)(Process*, Eterm, Eterm, Eterm, BeamInstr*) = bif_table[bif_index].f;
result = func(p, arg1, arg2, arg3, I);
} else {
- Eterm (*func)(Process*, Eterm, Eterm, Eterm, Uint*);
+ Eterm (*func)(Process*, Eterm, Eterm, Eterm, BeamInstr*);
Export* ep = bif_export[bif_index];
Uint32 flags = 0, flags_meta = 0;
int global = !!(erts_bif_trace_flags[bif_index] & BIF_TRACE_AS_GLOBAL);
@@ -2017,16 +2118,9 @@ erts_bif_trace(int bif_index, Process* p,
int applying = (I == &(ep->code[3])); /* Yup, the apply code for a bif
* is actually in the
* export entry */
- Eterm *cp = p->cp;
+ BeamInstr *cp = p->cp;
-#ifndef _OSE_
Eterm args[3] = {arg1, arg2, arg3};
-#else
- Eterm args[3];
- args[0] = arg1;
- args[1] = arg2;
- args[2] = arg3;
-#endif
/*
* Make continuation pointer OK, it is not during direct BIF calls,
@@ -2056,12 +2150,11 @@ erts_bif_trace(int bif_index, Process* p,
Eterm *cpp;
/* Maybe advance cp to skip trace stack frames */
for (cpp = p->stop; ; cp = cp_val(*cpp++)) {
- ASSERT(is_CP((Eterm) cp));
- if (*cp_val((Eterm) cp) == i_return_trace) {
+ if (*cp == i_return_trace) {
/* Skip stack frame variables */
while (is_not_CP(*cpp)) cpp++;
cpp += 2; /* Skip return_trace parameters */
- } else if (*cp_val((Eterm) cp) == i_return_to_trace) {
+ } else if (*cp == i_return_to_trace) {
/* A return_to trace message is going to be generated
* by normal means, so we do not have to.
*/
@@ -2078,7 +2171,8 @@ erts_bif_trace(int bif_index, Process* p,
if (reason != TRAP) {
Eterm class;
Eterm value = p->fvalue;
- Eterm nocatch[3];
+ DeclareTmpHeapNoproc(nocatch,3);
+ UseTmpHeapNoproc(3);
/* Expand error value like in handle_error() */
if (reason & EXF_ARGLIST) {
Eterm *tp;
@@ -2126,6 +2220,7 @@ erts_bif_trace(int bif_index, Process* p,
}
}
}
+ UnUseTmpHeapNoproc(3);
if ((flags_meta|flags) & MATCH_SET_EXCEPTION_TRACE) {
erts_smp_proc_lock(p, ERTS_PROC_LOCKS_ALL_MINOR);
p->trace_flags |= F_EXCEPTION_TRACE;
@@ -2213,15 +2308,19 @@ trace_gc(Process *p, Eterm what)
BIN_OLD_VHEAP(p),
BIN_OLD_VHEAP_SZ(p)
};
- Eterm local_heap[(sizeof(values)/sizeof(Uint))
- *(2/*cons*/ + 3/*2-tuple*/ + BIG_UINT_HEAP_SIZE)
- + 5/*4-tuple */ + TS_HEAP_WORDS];
+#define LOCAL_HEAP_SIZE \
+ (sizeof(values)/sizeof(Eterm)) * \
+ (2/*cons*/ + 3/*2-tuple*/ + BIG_UINT_HEAP_SIZE) + \
+ 5/*4-tuple */ + TS_HEAP_WORDS
+ DeclareTmpHeap(local_heap,LOCAL_HEAP_SIZE,p);
#ifdef DEBUG
Eterm* limit;
#endif
ASSERT(sizeof(values)/sizeof(Uint) == sizeof(tags)/sizeof(Eterm));
+ UseTmpHeap(LOCAL_HEAP_SIZE,p);
+
if (is_internal_port(p->tracer_proc)) {
hp = local_heap;
#ifdef DEBUG
@@ -2252,7 +2351,7 @@ trace_gc(Process *p, Eterm what)
#ifdef DEBUG
limit = hp + size;
- ASSERT(size <= sizeof(local_heap)/sizeof(Eterm));
+ ASSERT(size <= LOCAL_HEAP_SIZE);
#endif
msg = erts_bld_atom_uint_2tup_list(&hp,
@@ -2275,6 +2374,8 @@ trace_gc(Process *p, Eterm what)
else
ERTS_ENQ_TRACE_MSG(p->id, tracer_ref, msg, bp);
erts_smp_mtx_unlock(&smq_mtx);
+ UnUseTmpHeap(LOCAL_HEAP_SIZE,p);
+#undef LOCAL_HEAP_SIZE
}
@@ -2465,7 +2566,9 @@ profile_scheduler(Eterm scheduler_id, Eterm state) {
Uint Ms, s, us;
#ifndef ERTS_SMP
- Eterm local_heap[4 + 7];
+#define LOCAL_HEAP_SIZE (4 + 7)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
hp = local_heap;
#else
ErlHeapFragment *bp;
@@ -2498,6 +2601,8 @@ profile_scheduler(Eterm scheduler_id, Eterm state) {
#ifndef ERTS_SMP
profile_send(msg);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
#else
enqueue_sys_msg_unlocked(SYS_MSG_TYPE_SYSPROF, NIL, NIL, msg, bp);
#endif
@@ -2510,7 +2615,10 @@ profile_scheduler_q(Eterm scheduler_id, Eterm state, Eterm no_schedulers, Uint M
Eterm *hp, msg, timestamp;
#ifndef ERTS_SMP
- Eterm local_heap[4 + 7];
+#define LOCAL_HEAP_SIZE (4 + 7)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
#else
ErlHeapFragment *bp;
@@ -2528,6 +2636,8 @@ profile_scheduler_q(Eterm scheduler_id, Eterm state, Eterm no_schedulers, Uint M
msg = TUPLE6(hp, am_profile, am_scheduler, scheduler_id, state, no_schedulers, timestamp); hp += 7;
#ifndef ERTS_SMP
profile_send(msg);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
#else
enqueue_sys_msg_unlocked(SYS_MSG_TYPE_SYSPROF, NIL, NIL, msg, bp);
#endif
@@ -2558,7 +2668,10 @@ trace_port_open(Port *p, Eterm calling_pid, Eterm drv_name) {
Eterm* hp;
if (is_internal_port(p->tracer_proc)) {
- Eterm local_heap[5+6];
+#define LOCAL_HEAP_SIZE (5+6)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
mess = TUPLE5(hp, am_trace, calling_pid, am_open, p->id, drv_name);
@@ -2569,6 +2682,8 @@ trace_port_open(Port *p, Eterm calling_pid, Eterm drv_name) {
}
/* No fake schedule */
send_to_port(NULL, mess, &p->tracer_proc, &p->trace_flags);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
} else {
ErlHeapFragment *bp;
@@ -2613,7 +2728,10 @@ trace_port(Port *t_p, Eterm what, Eterm data) {
Eterm* hp;
if (is_internal_port(t_p->tracer_proc)) {
- Eterm local_heap[5+5];
+#define LOCAL_HEAP_SIZE (5+5)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
mess = TUPLE4(hp, am_trace, t_p->id, what, data);
hp += 5;
@@ -2623,6 +2741,8 @@ trace_port(Port *t_p, Eterm what, Eterm data) {
}
/* No fake schedule */
send_to_port(NULL, mess, &t_p->tracer_proc, &t_p->trace_flags);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
} else {
ErlHeapFragment *bp;
@@ -2674,7 +2794,10 @@ trace_sched_ports_where(Port *p, Eterm what, Eterm where) {
Eterm sched_id = am_undefined;
if (is_internal_port(p->tracer_proc)) {
- Eterm local_heap[5+6];
+#define LOCAL_HEAP_SIZE (5+6)
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
if (IS_TRACED_FL(p, F_TRACE_SCHED_NO)) {
@@ -2700,6 +2823,8 @@ trace_sched_ports_where(Port *p, Eterm what, Eterm where) {
/* No fake scheduling */
send_to_port(NULL, mess, &p->tracer_proc, &p->trace_flags);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
erts_smp_mtx_unlock(&smq_mtx);
} else {
ErlHeapFragment *bp;
@@ -2750,7 +2875,11 @@ profile_runnable_port(Port *p, Eterm status) {
Eterm count = make_small(0);
#ifndef ERTS_SMP
- Eterm local_heap[4 + 6];
+#define LOCAL_HEAP_SIZE (4 + 6)
+
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
#else
@@ -2771,6 +2900,8 @@ profile_runnable_port(Port *p, Eterm status) {
#ifndef ERTS_SMP
profile_send(msg);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
#else
enqueue_sys_msg_unlocked(SYS_MSG_TYPE_SYSPROF, NIL, NIL, msg, bp);
#endif
@@ -2785,7 +2916,11 @@ profile_runnable_proc(Process *p, Eterm status){
Eterm where = am_undefined;
#ifndef ERTS_SMP
- Eterm local_heap[4 + 6 + 4];
+#define LOCAL_HEAP_SIZE (4 + 6 + 4)
+
+ DeclareTmpHeapNoproc(local_heap,LOCAL_HEAP_SIZE);
+ UseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+
hp = local_heap;
#else
ErlHeapFragment *bp;
@@ -2818,6 +2953,8 @@ profile_runnable_proc(Process *p, Eterm status){
msg = TUPLE5(hp, am_profile, p->id, status, where, timestamp); hp += 6;
#ifndef ERTS_SMP
profile_send(msg);
+ UnUseTmpHeapNoproc(LOCAL_HEAP_SIZE);
+#undef LOCAL_HEAP_SIZE
#else
enqueue_sys_msg_unlocked(SYS_MSG_TYPE_SYSPROF, NIL, NIL, msg, bp);
#endif
diff --git a/erts/emulator/beam/erl_unicode.c b/erts/emulator/beam/erl_unicode.c
index ab5811c70f..d01a3661f9 100644
--- a/erts/emulator/beam/erl_unicode.c
+++ b/erts/emulator/beam/erl_unicode.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2008-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2008-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -90,9 +90,9 @@ void erts_init_unicode(void)
am_atom_put("characters_to_utf8_trap",23);
characters_to_utf8_trap_exp.code[2] = 3;
characters_to_utf8_trap_exp.code[3] =
- (Eterm) em_apply_bif;
+ (BeamInstr) em_apply_bif;
characters_to_utf8_trap_exp.code[4] =
- (Eterm) &characters_to_utf8_trap;
+ (BeamInstr) &characters_to_utf8_trap;
memset(&characters_to_list_trap_1_exp, 0, sizeof(Export));
characters_to_list_trap_1_exp.address =
@@ -102,9 +102,9 @@ void erts_init_unicode(void)
am_atom_put("characters_to_list_trap_1",25);
characters_to_list_trap_1_exp.code[2] = 3;
characters_to_list_trap_1_exp.code[3] =
- (Eterm) em_apply_bif;
+ (BeamInstr) em_apply_bif;
characters_to_list_trap_1_exp.code[4] =
- (Eterm) &characters_to_list_trap_1;
+ (BeamInstr) &characters_to_list_trap_1;
memset(&characters_to_list_trap_2_exp, 0, sizeof(Export));
characters_to_list_trap_2_exp.address =
@@ -114,9 +114,9 @@ void erts_init_unicode(void)
am_atom_put("characters_to_list_trap_2",25);
characters_to_list_trap_2_exp.code[2] = 3;
characters_to_list_trap_2_exp.code[3] =
- (Eterm) em_apply_bif;
+ (BeamInstr) em_apply_bif;
characters_to_list_trap_2_exp.code[4] =
- (Eterm) &characters_to_list_trap_2;
+ (BeamInstr) &characters_to_list_trap_2;
memset(&characters_to_list_trap_3_exp, 0, sizeof(Export));
@@ -127,9 +127,9 @@ void erts_init_unicode(void)
am_atom_put("characters_to_list_trap_3",25);
characters_to_list_trap_3_exp.code[2] = 3;
characters_to_list_trap_3_exp.code[3] =
- (Eterm) em_apply_bif;
+ (BeamInstr) em_apply_bif;
characters_to_list_trap_3_exp.code[4] =
- (Eterm) &characters_to_list_trap_3;
+ (BeamInstr) &characters_to_list_trap_3;
memset(&characters_to_list_trap_4_exp, 0, sizeof(Export));
characters_to_list_trap_4_exp.address =
@@ -139,9 +139,9 @@ void erts_init_unicode(void)
am_atom_put("characters_to_list_trap_4",25);
characters_to_list_trap_4_exp.code[2] = 1;
characters_to_list_trap_4_exp.code[3] =
- (Eterm) em_apply_bif;
+ (BeamInstr) em_apply_bif;
characters_to_list_trap_4_exp.code[4] =
- (Eterm) &characters_to_list_trap_4;
+ (BeamInstr) &characters_to_list_trap_4;
c_to_b_int_trap_exportp = erts_export_put(am_unicode,am_characters_to_binary_int,2);
c_to_l_int_trap_exportp = erts_export_put(am_unicode,am_characters_to_list_int,2);
diff --git a/erts/emulator/beam/erl_vm.h b/erts/emulator/beam/erl_vm.h
index 50b3e5b61c..eeeeb7ccfd 100644
--- a/erts/emulator/beam/erl_vm.h
+++ b/erts/emulator/beam/erl_vm.h
@@ -50,10 +50,20 @@
#define MAX_ARG 256 /* Max number of arguments allowed */
#define MAX_REG 1024 /* Max number of x(N) registers used */
+/* Scheduler stores data for temporary heaps if
+ !HEAP_ON_C_STACK. Macros (*TmpHeap*) in global.h selects if we put temporary
+ heap data on the C stack or if we use the buffers in the scheduler data. */
+#define TMP_HEAP_SIZE 128 /* Number of Eterm in the schedulers
+ small heap for transient heap data */
+#define CMP_TMP_HEAP_SIZE 2 /* cmp wants its own tmp-heap... */
+#define ERL_ARITH_TMP_HEAP_SIZE 4 /* as does erl_arith... */
+#define BEAM_EMU_TMP_HEAP_SIZE 2 /* and beam_emu... */
+
/*
* The new arithmetic operations need some extra X registers in the register array.
+ * so does the gc_bif's (i_gc_bif3 need 3 extra).
*/
-#define ERTS_X_REGS_ALLOCATED (MAX_REG+2)
+#define ERTS_X_REGS_ALLOCATED (MAX_REG+3)
#define INPUT_REDUCTIONS (2 * CONTEXT_REDS)
@@ -130,8 +140,12 @@
#define HeapWordsLeft(p) (HEAP_LIMIT(p) - HEAP_TOP(p))
#if defined(DEBUG) || defined(CHECK_FOR_HOLES)
+#if HALFWORD_HEAP
+# define ERTS_HOLE_MARKER (0xaf5e78ccU)
+#else
# define ERTS_HOLE_MARKER (((0xaf5e78ccUL << 24) << 8) | 0xaf5e78ccUL)
#endif
+#endif
/*
* Allocate heap memory on the ordinary heap, NEVER in a heap
diff --git a/erts/emulator/beam/error.h b/erts/emulator/beam/error.h
index 4930def4ed..ddc2c1396d 100644
--- a/erts/emulator/beam/error.h
+++ b/erts/emulator/beam/error.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -187,10 +187,10 @@ extern Eterm exception_tag[NUMBER_EXC_TAGS];
struct StackTrace {
Eterm header; /* bignum header - must be first in struct */
Eterm freason; /* original exception reason is saved in the struct */
- Eterm* pc;
- Eterm* current;
+ BeamInstr* pc;
+ BeamInstr* current;
int depth; /* number of saved pointers in trace[] */
- Eterm *trace[1]; /* varying size - must be last in struct */
+ BeamInstr *trace[1]; /* varying size - must be last in struct */
};
#endif /* __ERROR_H__ */
diff --git a/erts/emulator/beam/export.c b/erts/emulator/beam/export.c
index 271b40cf0f..66b05c0e9d 100644
--- a/erts/emulator/beam/export.c
+++ b/erts/emulator/beam/export.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -46,8 +46,8 @@ static erts_smp_rwmtx_t export_table_lock; /* Locks the secondary export table.
#define export_init_lock() erts_smp_rwmtx_init(&export_table_lock, \
"export_tab")
-extern Eterm* em_call_error_handler;
-extern Uint* em_call_traced_function;
+extern BeamInstr* em_call_error_handler;
+extern BeamInstr* em_call_traced_function;
void
export_info(int to, void *to_arg)
@@ -93,7 +93,7 @@ export_alloc(Export* tmpl)
obj->code[2] = tmpl->code[2];
obj->slot.index = -1;
obj->address = obj->code+3;
- obj->code[3] = (Eterm) em_call_error_handler;
+ obj->code[3] = (BeamInstr) em_call_error_handler;
obj->code[4] = 0;
obj->match_prog_set = NULL;
return obj;
@@ -140,7 +140,7 @@ init_export_table(void)
Export*
erts_find_export_entry(Eterm m, Eterm f, unsigned int a)
{
- HashValue hval = EXPORT_HASH(m, f, a);
+ HashValue hval = EXPORT_HASH((BeamInstr) m, (BeamInstr) f, (BeamInstr) a);
int ix;
HashBucket* b;
@@ -185,7 +185,7 @@ erts_find_function(Eterm m, Eterm f, unsigned int a)
ep = hash_get(&export_table.htable, (void*) &e);
if (ep != NULL && ep->address == ep->code+3 &&
- ep->code[3] != (Uint) em_call_traced_function) {
+ ep->code[3] != (BeamInstr) em_call_traced_function) {
ep = NULL;
}
return ep;
diff --git a/erts/emulator/beam/export.h b/erts/emulator/beam/export.h
index cd6af6dd85..87c1d483f4 100644
--- a/erts/emulator/beam/export.h
+++ b/erts/emulator/beam/export.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -52,7 +52,11 @@ typedef struct export
* on_load function that has not been run yet.
* Otherwise: 0.
*/
+#if HALFWORD_HEAP
+ BeamInstr code[5];
+#else
Eterm code[5];
+#endif
} Export;
@@ -74,6 +78,6 @@ Export *export_get(Export*);
#include "beam_load.h" /* For em_* extern declarations */
#define ExportIsBuiltIn(EntryPtr) \
(((EntryPtr)->address == (EntryPtr)->code + 3) && \
- ((EntryPtr)->code[3] == (Uint) em_apply_bif))
+ ((EntryPtr)->code[3] == (BeamInstr) em_apply_bif))
#endif
diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c
index 099eddd195..f41b61d73d 100644
--- a/erts/emulator/beam/external.c
+++ b/erts/emulator/beam/external.c
@@ -1489,20 +1489,28 @@ dec_pid(ErtsDistExternal *edep, Eterm** hpp, byte* ep, ErlOffHeap* off_heap, Ete
static byte*
enc_term(ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, Uint32 dflags)
{
- DECLARE_ESTACK(s);
+ DECLARE_WSTACK(s);
Uint n;
Uint i;
Uint j;
Uint* ptr;
Eterm val;
FloatDef f;
+#if HALFWORD_HEAP
+ UWord wobj;
+#endif
+
goto L_jump_start;
outer_loop:
- while (!ESTACK_ISEMPTY(s)) {
- obj = ESTACK_POP(s);
- switch (val = ESTACK_POP(s)) {
+ while (!WSTACK_ISEMPTY(s)) {
+#if HALFWORD_HEAP
+ obj = (Eterm) (wobj = WSTACK_POP(s));
+#else
+ obj = WSTACK_POP(s);
+#endif
+ switch (val = WSTACK_POP(s)) {
case ENC_TERM:
break;
case ENC_ONE_CONS:
@@ -1513,29 +1521,40 @@ enc_term(ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, Uint32 dflags)
obj = CAR(cons);
tl = CDR(cons);
- ESTACK_PUSH(s, is_list(tl) ? ENC_ONE_CONS : ENC_TERM);
- ESTACK_PUSH(s, tl);
+ WSTACK_PUSH(s, is_list(tl) ? ENC_ONE_CONS : ENC_TERM);
+ WSTACK_PUSH(s, tl);
}
break;
case ENC_PATCH_FUN_SIZE:
{
+#if HALFWORD_HEAP
+ byte* size_p = (byte *) wobj;
+#else
byte* size_p = (byte *) obj;
-
+#endif
put_int32(ep - size_p, size_p);
}
goto outer_loop;
case ENC_LAST_ARRAY_ELEMENT:
{
+#if HALFWORD_HEAP
+ Eterm* ptr = (Eterm *) wobj;
+#else
Eterm* ptr = (Eterm *) obj;
+#endif
obj = *ptr;
}
break;
default: /* ENC_LAST_ARRAY_ELEMENT+1 and upwards */
{
+#if HALFWORD_HEAP
+ Eterm* ptr = (Eterm *) wobj;
+#else
Eterm* ptr = (Eterm *) obj;
+#endif
obj = *ptr++;
- ESTACK_PUSH(s, val-1);
- ESTACK_PUSH(s, (Eterm) ptr);
+ WSTACK_PUSH(s, val-1);
+ WSTACK_PUSH(s, (UWord) ptr);
}
break;
}
@@ -1563,8 +1582,10 @@ enc_term(ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, Uint32 dflags)
put_int32(val, ep);
ep += 4;
} else {
- Eterm tmp_big[2];
- Eterm big = small_to_big(val, tmp_big);
+ DeclareTmpHeapNoproc(tmp_big,2);
+ Eterm big;
+ UseTmpHeapNoproc(2);
+ big = small_to_big(val, tmp_big);
*ep++ = SMALL_BIG_EXT;
n = big_bytes(big);
ASSERT(n < 256);
@@ -1572,6 +1593,7 @@ enc_term(ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, Uint32 dflags)
ep += 1;
*ep++ = big_sign(big);
ep = big_to_bytes(big, ep);
+ UnUseTmpHeapNoproc(2);
}
}
break;
@@ -1662,8 +1684,8 @@ enc_term(ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, Uint32 dflags)
ep += 4;
}
if (i > 0) {
- ESTACK_PUSH(s, ENC_LAST_ARRAY_ELEMENT+i-1);
- ESTACK_PUSH(s, (Eterm) ptr);
+ WSTACK_PUSH(s, ENC_LAST_ARRAY_ELEMENT+i-1);
+ WSTACK_PUSH(s, (UWord) ptr);
}
break;
@@ -1741,7 +1763,7 @@ enc_term(ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, Uint32 dflags)
}
case EXPORT_DEF:
{
- Export* exp = (Export *) (export_val(obj))[1];
+ Export* exp = *((Export **) (export_val(obj) + 1));
if ((dflags & DFLAG_EXPORT_PTR_TAG) != 0) {
*ep++ = EXPORT_EXT;
ep = enc_atom(acmp, exp->code[0], ep, dflags);
@@ -1770,8 +1792,8 @@ enc_term(ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, Uint32 dflags)
int ei;
*ep++ = NEW_FUN_EXT;
- ESTACK_PUSH(s, ENC_PATCH_FUN_SIZE);
- ESTACK_PUSH(s, (Eterm) ep); /* Position for patching in size */
+ WSTACK_PUSH(s, ENC_PATCH_FUN_SIZE);
+ WSTACK_PUSH(s, (UWord) ep); /* Position for patching in size */
ep += 4;
*ep = funp->arity;
ep += 1;
@@ -1788,8 +1810,8 @@ enc_term(ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, Uint32 dflags)
fun_env:
for (ei = funp->num_free-1; ei > 0; ei--) {
- ESTACK_PUSH(s, ENC_TERM);
- ESTACK_PUSH(s, funp->env[ei]);
+ WSTACK_PUSH(s, ENC_TERM);
+ WSTACK_PUSH(s, (UWord) funp->env[ei]);
}
if (funp->num_free != 0) {
obj = funp->env[0];
@@ -1832,7 +1854,7 @@ enc_term(ErtsAtomCacheMap *acmp, Eterm obj, byte* ep, Uint32 dflags)
break;
}
}
- DESTROY_ESTACK(s);
+ DESTROY_WSTACK(s);
return ep;
}
@@ -1952,11 +1974,11 @@ dec_term(ErtsDistExternal *edep, Eterm** hpp, byte* ep, ErlOffHeap* off_heap, Et
register Eterm* hp = *hpp; /* Please don't take the address of hp */
Eterm* next = objp;
- *next = (Eterm) NULL;
+ *next = (Eterm) (UWord) NULL;
while (next != NULL) {
objp = next;
- next = (Eterm *) (*objp);
+ next = (Eterm *) EXPAND_POINTER(*objp);
switch (*ep++) {
case INTEGER_EXT:
@@ -1964,7 +1986,7 @@ dec_term(ErtsDistExternal *edep, Eterm** hpp, byte* ep, ErlOffHeap* off_heap, Et
Sint sn = get_int32(ep);
ep += 4;
-#if defined(ARCH_64)
+#if defined(ARCH_64) && !HALFWORD_HEAP
*objp = make_small(sn);
#else
if (MY_IS_SSMALL(sn)) {
@@ -2061,7 +2083,7 @@ dec_term_atom_common:
hp += n;
objp = hp - 1;
while (n-- > 0) {
- objp[0] = (Eterm) next;
+ objp[0] = (Eterm) COMPRESS_POINTER(next);
next = objp;
objp--;
}
@@ -2079,12 +2101,12 @@ dec_term_atom_common:
*objp = make_list(hp);
hp += 2*n;
objp = hp - 2;
- objp[0] = (Eterm) (objp+1);
- objp[1] = (Eterm) next;
+ objp[0] = (Eterm) COMPRESS_POINTER((objp+1));
+ objp[1] = (Eterm) COMPRESS_POINTER(next);
next = objp;
objp -= 2;
while (--n > 0) {
- objp[0] = (Eterm) next;
+ objp[0] = (Eterm) COMPRESS_POINTER(next);
objp[1] = make_list(objp + 2);
next = objp;
objp -= 2;
@@ -2238,19 +2260,26 @@ dec_term_atom_common:
node = erts_find_or_insert_node(sysname, cre);
if(node == erts_this_node) {
RefThing *rtp = (RefThing *) hp;
- hp += REF_THING_HEAD_SIZE;
-#ifdef ARCH_64
+ ref_num = (Uint32 *) (hp + REF_THING_HEAD_SIZE);
+
+#if defined(ARCH_64) && !HALFWORD_HEAP
+ hp += REF_THING_HEAD_SIZE + ref_words/2 + 1;
rtp->header = make_ref_thing_header(ref_words/2 + 1);
#else
+ hp += REF_THING_HEAD_SIZE + ref_words;
rtp->header = make_ref_thing_header(ref_words);
#endif
*objp = make_internal_ref(rtp);
}
else {
ExternalThing *etp = (ExternalThing *) hp;
- hp += EXTERNAL_THING_HEAD_SIZE;
-
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
+ hp += EXTERNAL_THING_HEAD_SIZE + ref_words/2 + 1;
+#else
+ hp += EXTERNAL_THING_HEAD_SIZE + ref_words;
+#endif
+
+#if defined(ARCH_64) && !HALFWORD_HEAP
etp->header = make_external_ref_header(ref_words/2 + 1);
#else
etp->header = make_external_ref_header(ref_words);
@@ -2260,10 +2289,10 @@ dec_term_atom_common:
off_heap->externals = etp;
*objp = make_external_ref(etp);
+ ref_num = &(etp->data.ui32[0]);
}
- ref_num = (Uint32 *) hp;
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
*(ref_num++) = ref_words /* 32-bit arity */;
#endif
ref_num[0] = r0;
@@ -2271,12 +2300,9 @@ dec_term_atom_common:
ref_num[i] = get_int32(ep);
ep += 4;
}
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
if ((1 + ref_words) % 2)
ref_num[ref_words] = 0;
- hp += ref_words/2 + 1;
-#else
- hp += ref_words;
#endif
break;
}
@@ -2398,7 +2424,12 @@ dec_term_atom_common:
}
*objp = make_export(hp);
*hp++ = HEADER_EXPORT;
+#if HALFWORD_HEAP
+ *((UWord *) (UWord) hp) = (UWord) erts_export_get_or_make_stub(mod, name, arity);
+ hp += 2;
+#else
*hp++ = (Eterm) erts_export_get_or_make_stub(mod, name, arity);
+#endif
break;
}
break;
@@ -2474,11 +2505,11 @@ dec_term_atom_common:
/* Environment */
for (i = num_free-1; i >= 0; i--) {
- funp->env[i] = (Eterm) next;
+ funp->env[i] = (Eterm) COMPRESS_POINTER(next);
next = funp->env + i;
}
/* Creator */
- funp->creator = (Eterm) next;
+ funp->creator = (Eterm) COMPRESS_POINTER(next);
next = &(funp->creator);
break;
}
@@ -2549,7 +2580,7 @@ dec_term_atom_common:
/* Environment */
for (i = num_free-1; i >= 0; i--) {
- funp->env[i] = (Eterm) next;
+ funp->env[i] = (Eterm) COMPRESS_POINTER(next);
next = funp->env + i;
}
break;
@@ -2580,26 +2611,35 @@ dec_term_atom_common:
static Uint
encode_size_struct2(ErtsAtomCacheMap *acmp, Eterm obj, unsigned dflags)
{
- DECLARE_ESTACK(s);
+ DECLARE_WSTACK(s);
Uint m, i, arity;
Uint result = 0;
+#if HALFWORD_HEAP
+ UWord wobj = 0;
+#endif
goto L_jump_start;
outer_loop:
- while (!ESTACK_ISEMPTY(s)) {
- obj = ESTACK_POP(s);
-
+ while (!WSTACK_ISEMPTY(s)) {
+#if HALFWORD_HEAP
+ obj = (Eterm) (wobj = WSTACK_POP(s));
+#else
+ obj = WSTACK_POP(s);
+#endif
handle_popped_obj:
- if (is_CP(obj)) {
+ if (is_CP(obj)) { /* Does not look for CP, looks for "no tag" */
+#if HALFWORD_HEAP
+ Eterm* ptr = (Eterm *) wobj;
+#else
Eterm* ptr = (Eterm *) obj;
-
+#endif
/*
* Pointer into a tuple.
*/
obj = *ptr--;
if (!is_header(obj)) {
- ESTACK_PUSH(s, (Eterm)ptr);
+ WSTACK_PUSH(s, (UWord)ptr);
} else {
/* Reached tuple header */
ASSERT(header_is_arityval(obj));
@@ -2611,7 +2651,7 @@ encode_size_struct2(ErtsAtomCacheMap *acmp, Eterm obj, unsigned dflags)
tl = CDR(cons);
obj = CAR(cons);
- ESTACK_PUSH(s, tl);
+ WSTACK_PUSH(s, tl);
} else if (is_nil(obj)) {
result++;
goto outer_loop;
@@ -2650,9 +2690,11 @@ encode_size_struct2(ErtsAtomCacheMap *acmp, Eterm obj, unsigned dflags)
else if (sizeof(Sint) == 4 || IS_SSMALL28(val))
result += 1 + 4; /* INTEGER_EXT */
else {
- Eterm tmp_big[2];
+ DeclareTmpHeapNoproc(tmp_big,2);
+ UseTmpHeapNoproc(2);
i = big_bytes(small_to_big(val, tmp_big));
result += 1 + 1 + 1 + i; /* SMALL_BIG_EXT */
+ UnUseTmpHeapNoproc(2);
}
}
break;
@@ -2698,7 +2740,11 @@ encode_size_struct2(ErtsAtomCacheMap *acmp, Eterm obj, unsigned dflags)
result += 1 + 4;
}
ptr += arity;
+#if HALFWORD_HEAP
+ obj = (Eterm) (wobj = (UWord) ptr);
+#else
obj = (Eterm) ptr;
+#endif
goto handle_popped_obj;
}
break;
@@ -2740,14 +2786,14 @@ encode_size_struct2(ErtsAtomCacheMap *acmp, Eterm obj, unsigned dflags)
if (is_not_list(obj)) {
/* Push any non-list terms on the stack */
- ESTACK_PUSH(s, obj);
+ WSTACK_PUSH(s, obj);
} else {
/* Lists must be handled specially. */
if ((m = is_string(obj)) && (m < MAX_STRING_LEN)) {
result += m + 2 + 1;
} else {
result += 5;
- ESTACK_PUSH(s, obj);
+ WSTACK_PUSH(s, obj);
}
}
}
@@ -2760,8 +2806,12 @@ encode_size_struct2(ErtsAtomCacheMap *acmp, Eterm obj, unsigned dflags)
case EXPORT_DEF:
{
- Export* ep = (Export *) (export_val(obj))[1];
+ Export* ep = *((Export **) (export_val(obj) + 1));
+#if HALFWORD_HEAP
+ result += 2;
+#else
result += 1;
+#endif
result += encode_size_struct2(acmp, ep->code[0], dflags);
result += encode_size_struct2(acmp, ep->code[1], dflags);
result += encode_size_struct2(acmp, make_small(ep->code[2]), dflags);
@@ -2774,7 +2824,7 @@ encode_size_struct2(ErtsAtomCacheMap *acmp, Eterm obj, unsigned dflags)
}
}
- DESTROY_ESTACK(s);
+ DESTROY_WSTACK(s);
return result;
}
@@ -2886,7 +2936,7 @@ decoded_size(byte *ep, byte* endp, int no_refc_bins)
ep += 2;
atom_extra_skip = 1 + 4*id_words;
/* In case it is an external ref */
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
heap_size += EXTERNAL_THING_HEAD_SIZE + id_words/2 + 1;
#else
heap_size += EXTERNAL_THING_HEAD_SIZE + id_words;
@@ -2961,7 +3011,11 @@ decoded_size(byte *ep, byte* endp, int no_refc_bins)
break;
case EXPORT_EXT:
terms += 3;
+#if HALFWORD_HEAP
+ heap_size += 3;
+#else
heap_size += 2;
+#endif
break;
case NEW_FUN_EXT:
{
diff --git a/erts/emulator/beam/external.h b/erts/emulator/beam/external.h
index eada6d4f27..db86b4d796 100644
--- a/erts/emulator/beam/external.h
+++ b/erts/emulator/beam/external.h
@@ -212,7 +212,7 @@ erts_dist_ext_trailer(ErtsDistExternal *edep)
{
void *res = (void *) (edep->ext_endp
+ ERTS_WORD_ALIGN_PAD_SZ(edep->ext_endp));
- ASSERT((((Uint) res) % sizeof(Uint)) == 0);
+ ASSERT((((UWord) res) % sizeof(Uint)) == 0);
return res;
}
diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h
index cab249a53f..a7990e1799 100644
--- a/erts/emulator/beam/global.h
+++ b/erts/emulator/beam/global.h
@@ -76,12 +76,6 @@ typedef struct line_buf { /* Buffer used in line oriented I/O */
The rest is the overflow buffer. */
} LineBuf;
-/* Temporary object header, auto-deallocated when NIF returns. */
-struct enif_tmp_obj_t {
- struct enif_tmp_obj_t* next;
- void (*dtor)(struct enif_tmp_obj_t*);
- /*char data[];*/
-};
struct enif_environment_t /* ErlNifEnv */
{
struct erl_module_nif* mod_nif;
@@ -403,7 +397,7 @@ extern Eterm erts_ddll_monitor_driver(Process *p,
/* Add fields in ERTS_INTERNAL_BINARY_FIELDS, otherwise the drivers crash */
#define ERTS_INTERNAL_BINARY_FIELDS \
- Uint flags; \
+ UWord flags; \
erts_refc_t refc; \
ERTS_BINARY_STRUCT_ALIGNMENT
@@ -723,6 +717,60 @@ do { \
#define ESTACK_POP(s) (*(--ESTK_CONCAT(s,_sp)))
+void erl_grow_wstack(UWord** start, UWord** sp, UWord** end);
+#define WSTK_CONCAT(a,b) a##b
+#define WSTK_SUBSCRIPT(s,i) *((UWord *)((byte *)WSTK_CONCAT(s,_start) + (i)))
+#define DEF_WSTACK_SIZE (16)
+
+#define DECLARE_WSTACK(s) \
+ UWord WSTK_CONCAT(s,_default_stack)[DEF_WSTACK_SIZE]; \
+ UWord* WSTK_CONCAT(s,_start) = WSTK_CONCAT(s,_default_stack); \
+ UWord* WSTK_CONCAT(s,_sp) = WSTK_CONCAT(s,_start); \
+ UWord* WSTK_CONCAT(s,_end) = WSTK_CONCAT(s,_start) + DEF_WSTACK_SIZE
+
+#define DESTROY_WSTACK(s) \
+do { \
+ if (WSTK_CONCAT(s,_start) != WSTK_CONCAT(s,_default_stack)) { \
+ erts_free(ERTS_ALC_T_ESTACK, WSTK_CONCAT(s,_start)); \
+ } \
+} while(0)
+
+#define WSTACK_PUSH(s, x) \
+do { \
+ if (WSTK_CONCAT(s,_sp) == WSTK_CONCAT(s,_end)) { \
+ erl_grow_wstack(&WSTK_CONCAT(s,_start), &WSTK_CONCAT(s,_sp), \
+ &WSTK_CONCAT(s,_end)); \
+ } \
+ *WSTK_CONCAT(s,_sp)++ = (x); \
+} while(0)
+
+#define WSTACK_PUSH2(s, x, y) \
+do { \
+ if (WSTK_CONCAT(s,_sp) > WSTK_CONCAT(s,_end) - 2) { \
+ erl_grow_wstack(&WSTK_CONCAT(s,_start), &WSTK_CONCAT(s,_sp), \
+ &WSTK_CONCAT(s,_end)); \
+ } \
+ *WSTK_CONCAT(s,_sp)++ = (x); \
+ *WSTK_CONCAT(s,_sp)++ = (y); \
+} while(0)
+
+#define WSTACK_PUSH3(s, x, y, z) \
+do { \
+ if (WSTK_CONCAT(s,_sp) > WSTK_CONCAT(s,_end) - 3) { \
+ erl_grow_wstack(&WSTK_CONCAT(s,_start), &WSTK_CONCAT(s,_sp), \
+ &WSTK_CONCAT(s,_end)); \
+ } \
+ *WSTK_CONCAT(s,_sp)++ = (x); \
+ *WSTK_CONCAT(s,_sp)++ = (y); \
+ *WSTK_CONCAT(s,_sp)++ = (z); \
+} while(0)
+
+#define WSTACK_COUNT(s) (WSTK_CONCAT(s,_sp) - WSTK_CONCAT(s,_start))
+
+#define WSTACK_ISEMPTY(s) (WSTK_CONCAT(s,_sp) == WSTK_CONCAT(s,_start))
+#define WSTACK_POP(s) (*(--WSTK_CONCAT(s,_sp)))
+
+
/* port status flags */
#define ERTS_PORT_SFLG_CONNECTED ((Uint32) (1 << 0))
@@ -802,7 +850,7 @@ void erts_system_profile_clear(Process *c_p);
int erts_load_module(Process *c_p, ErtsProcLocks c_p_locks,
Eterm group_leader, Eterm* mod, byte* code, int size);
void init_load(void);
-Eterm* find_function_from_pc(Eterm* pc);
+BeamInstr* find_function_from_pc(BeamInstr* pc);
Eterm erts_module_info_0(Process* p, Eterm module);
Eterm erts_module_info_1(Process* p, Eterm module, Eterm what);
Eterm erts_make_stub_module(Process* p, Eterm Mod, Eterm Beam, Eterm Info);
@@ -1171,7 +1219,7 @@ erts_smp_port_unlock(Port *prt)
ERTS_INVALID_PORT_OPT((PP), (ID), ERTS_PORT_SFLGS_INVALID_TRACER_LOOKUP)
#define ERTS_PORT_SCHED_ID(P, ID) \
- ((Uint) erts_prtsd_set((P), ERTS_PSD_SCHED_ID, (void *) (ID)))
+ ((Uint) (UWord) erts_prtsd_set((P), ERTS_PSD_SCHED_ID, (void *) (UWord) (ID)))
#ifdef ERTS_SMP
Port *erts_de2port(DistEntry *, Process *, ErtsProcLocks);
@@ -1463,6 +1511,7 @@ Uint32 make_hash(Eterm);
Eterm erts_bld_atom(Uint **hpp, Uint *szp, char *str);
Eterm erts_bld_uint(Uint **hpp, Uint *szp, Uint ui);
+Eterm erts_bld_uword(Uint **hpp, Uint *szp, UWord uw);
Eterm erts_bld_uint64(Uint **hpp, Uint *szp, Uint64 ui64);
Eterm erts_bld_sint64(Uint **hpp, Uint *szp, Sint64 si64);
Eterm erts_bld_cons(Uint **hpp, Uint *szp, Eterm car, Eterm cdr);
@@ -1515,7 +1564,9 @@ Sint cmp(Eterm, Eterm);
#define CMP_EQ(a,b) ((a) == (b) || cmp_eq((a),(b)))
#define CMP_NE(a,b) ((a) != (b) && cmp_ne((a),(b)))
+/* duplicates from big.h */
int term_to_Uint(Eterm term, Uint *up);
+int term_to_UWord(Eterm, UWord*);
#ifdef HAVE_ERTS_NOW_CPU
extern int erts_cpu_timestamp;
@@ -1525,6 +1576,10 @@ void erts_init_bif_chksum(void);
/* erl_bif_re.c */
void erts_init_bif_re(void);
Sint erts_re_set_loop_limit(Sint limit);
+/* erl_bif_binary.c */
+void erts_init_bif_binary(void);
+Sint erts_binary_set_loop_limit(Sint limit);
+
/* erl_unicode.c */
void erts_init_unicode(void);
Sint erts_unicode_set_loop_limit(Sint limit);
@@ -1554,12 +1609,12 @@ void erts_queue_error_logger_message(Eterm, Eterm, ErlHeapFragment *);
void erts_send_sys_msg_proc(Eterm, Eterm, Eterm, ErlHeapFragment *);
void trace_send(Process*, Eterm, Eterm);
void trace_receive(Process*, Eterm);
-Uint32 erts_call_trace(Process *p, Eterm mfa[], Binary *match_spec, Eterm* args,
+Uint32 erts_call_trace(Process *p, BeamInstr mfa[], Binary *match_spec, Eterm* args,
int local, Eterm *tracer_pid);
-void erts_trace_return(Process* p, Eterm* fi, Eterm retval, Eterm *tracer_pid);
-void erts_trace_exception(Process* p, Eterm mfa[], Eterm class, Eterm value,
+void erts_trace_return(Process* p, BeamInstr* fi, Eterm retval, Eterm *tracer_pid);
+void erts_trace_exception(Process* p, BeamInstr mfa[], Eterm class, Eterm value,
Eterm *tracer);
-void erts_trace_return_to(Process *p, Uint *pc);
+void erts_trace_return_to(Process *p, BeamInstr *pc);
void trace_sched(Process*, Eterm);
void trace_proc(Process*, Process*, Eterm, Eterm);
void trace_proc_spawn(Process*, Eterm pid, Eterm mod, Eterm func, Eterm args);
@@ -1589,7 +1644,7 @@ Uint erts_trace_flag2bit(Eterm flag);
int erts_trace_flags(Eterm List,
Uint *pMask, Eterm *pTracer, int *pCpuTimestamp);
Eterm erts_bif_trace(int bif_index, Process* p,
- Eterm arg1, Eterm arg2, Eterm arg3, Uint *I);
+ Eterm arg1, Eterm arg2, Eterm arg3, BeamInstr *I);
#ifdef ERTS_SMP
void erts_send_pending_trace_msgs(ErtsSchedulerData *esdp);
@@ -1606,7 +1661,7 @@ void bin_write(int, void*, byte*, int);
int intlist_to_buf(Eterm, char*, int); /* most callers pass plain char*'s */
struct Sint_buf {
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
char s[22];
#else
char s[12];
@@ -1654,6 +1709,8 @@ Eterm erts_gc_abs_1(Process* p, Eterm* reg, Uint live);
Eterm erts_gc_float_1(Process* p, Eterm* reg, Uint live);
Eterm erts_gc_round_1(Process* p, Eterm* reg, Uint live);
Eterm erts_gc_trunc_1(Process* p, Eterm* reg, Uint live);
+Eterm erts_gc_binary_part_3(Process* p, Eterm* reg, Uint live);
+Eterm erts_gc_binary_part_2(Process* p, Eterm* reg, Uint live);
Uint erts_current_reductions(Process* current, Process *p);
@@ -1839,4 +1896,61 @@ erts_alloc_message_heap(Uint size,
#endif /* #if ERTS_GLB_INLINE_INCL_FUNC_DEF */
+#if !HEAP_ON_C_STACK
+# if defined(DEBUG)
+# define DeclareTmpHeap(VariableName,Size,Process) \
+ Eterm *VariableName = erts_debug_allocate_tmp_heap(Size,Process)
+# define DeclareTmpHeapNoproc(VariableName,Size) \
+ Eterm *VariableName = erts_debug_allocate_tmp_heap(Size,NULL)
+# define UseTmpHeap(Size,Proc) \
+ do { \
+ erts_debug_use_tmp_heap((Size),(Proc)); \
+ } while (0)
+# define UnUseTmpHeap(Size,Proc) \
+ do { \
+ erts_debug_unuse_tmp_heap((Size),(Proc)); \
+ } while (0)
+# define UseTmpHeapNoproc(Size) \
+ do { \
+ erts_debug_use_tmp_heap(Size,NULL); \
+ } while (0)
+# define UnUseTmpHeapNoproc(Size) \
+ do { \
+ erts_debug_unuse_tmp_heap(Size,NULL); \
+ } while (0)
+# else
+# define DeclareTmpHeap(VariableName,Size,Process) \
+ Eterm *VariableName = (ERTS_PROC_GET_SCHDATA(Process)->tmp_heap)+(ERTS_PROC_GET_SCHDATA(Process)->num_tmp_heap_used)
+# define DeclareTmpHeapNoproc(VariableName,Size) \
+ Eterm *VariableName = (erts_get_scheduler_data()->tmp_heap)+(erts_get_scheduler_data()->num_tmp_heap_used)
+# define UseTmpHeap(Size,Proc) \
+ do { \
+ ERTS_PROC_GET_SCHDATA(Proc)->num_tmp_heap_used += (Size); \
+ } while (0)
+# define UnUseTmpHeap(Size,Proc) \
+ do { \
+ ERTS_PROC_GET_SCHDATA(Proc)->num_tmp_heap_used -= (Size); \
+ } while (0)
+# define UseTmpHeapNoproc(Size) \
+ do { \
+ erts_get_scheduler_data()->num_tmp_heap_used += (Size); \
+ } while (0)
+# define UnUseTmpHeapNoproc(Size) \
+ do { \
+ erts_get_scheduler_data()->num_tmp_heap_used -= (Size); \
+ } while (0)
+
+
+# endif
+
+#else
+# define DeclareTmpHeap(VariableName,Size,Process) \
+ Eterm VariableName[Size]
+# define DeclareTmpHeapNoproc(VariableName,Size) \
+ Eterm VariableName[Size]
+# define UseTmpHeap(Size,Proc) /* Nothing */
+# define UnUseTmpHeap(Size,Proc) /* Nothing */
+# define UseTmpHeapNoproc(Size) /* Nothing */
+# define UnUseTmpHeapNoproc(Size) /* Nothing */
+#endif
#endif
diff --git a/erts/emulator/beam/io.c b/erts/emulator/beam/io.c
index ad0b909b2a..10f1082039 100644
--- a/erts/emulator/beam/io.c
+++ b/erts/emulator/beam/io.c
@@ -72,20 +72,49 @@ erts_driver_t fd_driver;
static int init_driver(erts_driver_t *, ErlDrvEntry *, DE_Handle *);
static void terminate_port(Port *p);
static void pdl_init(void);
+#ifdef ERTS_SMP
+static void driver_monitor_lock_pdl(Port *p);
+static void driver_monitor_unlock_pdl(Port *p);
+#define DRV_MONITOR_LOCK_PDL(Port) driver_monitor_lock_pdl(Port)
+#define DRV_MONITOR_UNLOCK_PDL(Port) driver_monitor_unlock_pdl(Port)
+#else
+#define DRV_MONITOR_LOCK_PDL(Port) /* nothing */
+#define DRV_MONITOR_UNLOCK_PDL(Port) /* nothing */
+#endif
static ERTS_INLINE ErlIOQueue*
drvport2ioq(ErlDrvPort drvport)
{
int ix = (int) drvport;
+ Uint32 status;
+
if (ix < 0 || erts_max_ports <= ix)
return NULL;
- if (erts_port[ix].status & ERTS_PORT_SFLGS_INVALID_DRIVER_LOOKUP)
- return NULL;
- ERTS_LC_ASSERT(!erts_port[ix].port_data_lock
- || erts_lc_mtx_is_locked(&erts_port[ix].port_data_lock->mtx));
- ERTS_SMP_LC_ASSERT(erts_port[ix].port_data_lock
- || erts_lc_is_port_locked(&erts_port[ix]));
- return &erts_port[ix].ioq;
+
+ if (erts_get_scheduler_data()) {
+ ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(&erts_port[ix]));
+ ERTS_LC_ASSERT(!erts_port[ix].port_data_lock
+ || erts_lc_mtx_is_locked(
+ &erts_port[ix].port_data_lock->mtx));
+
+ status = erts_port[ix].status;
+ }
+ else {
+ erts_smp_port_state_lock(&erts_port[ix]);
+ status = erts_port[ix].status;
+ erts_smp_port_state_unlock(&erts_port[ix]);
+
+ ERTS_LC_ASSERT((status & ERTS_PORT_SFLGS_INVALID_DRIVER_LOOKUP)
+ || erts_port[ix].port_data_lock);
+ ERTS_LC_ASSERT(!erts_port[ix].port_data_lock
+ || erts_lc_mtx_is_locked(
+ &erts_port[ix].port_data_lock->mtx));
+
+ }
+
+ return ((status & ERTS_PORT_SFLGS_INVALID_DRIVER_LOOKUP)
+ ? NULL
+ : &erts_port[ix].ioq);
}
static ERTS_INLINE int
@@ -1978,12 +2007,13 @@ erts_do_exit_port(Port *p, Eterm from, Eterm reason)
p->nlinks = NULL;
erts_sweep_links(lnk, &sweep_one_link, &sc);
}
+ DRV_MONITOR_LOCK_PDL(p);
{
ErtsMonitor *moni = p->monitors;
p->monitors = NULL;
erts_sweep_monitors(moni, &sweep_one_monitor, NULL);
}
-
+ DRV_MONITOR_UNLOCK_PDL(p);
if ((p->status & ERTS_PORT_SFLG_DISTRIBUTION) && p->dist_entry) {
erts_do_net_exits(p->dist_entry, rreason);
@@ -3516,6 +3546,32 @@ static ERTS_INLINE void pdl_destroy(ErlDrvPDL pdl)
erts_free(ERTS_ALC_T_PORT_DATA_LOCK, pdl);
}
+#ifdef ERTS_SMP
+
+static void driver_monitor_lock_pdl(Port *p) {
+ if (p->port_data_lock) {
+ driver_pdl_lock(p->port_data_lock);
+ }
+ /* Now we either have the port lock or the port_data_lock */
+ ERTS_LC_ASSERT(!p->port_data_lock
+ || erts_lc_mtx_is_locked(&(p->port_data_lock->mtx)));
+ ERTS_SMP_LC_ASSERT(p->port_data_lock
+ || erts_lc_is_port_locked(p));
+}
+
+static void driver_monitor_unlock_pdl(Port *p) {
+ /* We should either have the port lock or the port_data_lock */
+ ERTS_LC_ASSERT(!p->port_data_lock
+ || erts_lc_mtx_is_locked(&(p->port_data_lock->mtx)));
+ ERTS_SMP_LC_ASSERT(p->port_data_lock
+ || erts_lc_is_port_locked(p));
+ if (p->port_data_lock) {
+ driver_pdl_unlock(p->port_data_lock);
+ }
+}
+
+#endif
+
/*
* exported driver_pdl_* functions ...
*/
@@ -3974,7 +4030,7 @@ drv_cancel_timer(Port *prt)
erts_port_task_abort(prt->id, &prt->timeout_task);
}
-int driver_set_timer(ErlDrvPort ix, Uint t)
+int driver_set_timer(ErlDrvPort ix, UWord t)
{
Port* prt = erts_drvport2port(ix);
@@ -4033,12 +4089,16 @@ driver_read_timer(ErlDrvPort ix, unsigned long* t)
int
driver_get_now(ErlDrvNowData *now_data)
{
+ Uint mega,secs,micro;
ERTS_SMP_CHK_NO_PROC_LOCKS;
if (now_data == NULL) {
return -1;
}
- get_now(&(now_data->megasecs),&(now_data->secs),&(now_data->microsecs));
+ get_now(&mega,&secs,&micro);
+ now_data->megasecs = (unsigned long) mega;
+ now_data->secs = (unsigned long) secs;
+ now_data->microsecs = (unsigned long) micro;
return 0;
}
@@ -4052,14 +4112,15 @@ static void ref_to_driver_monitor(Eterm ref, ErlDrvMonitor *mon)
memcpy(mon,refp,sizeof(RefThing));
}
-int driver_monitor_process(ErlDrvPort port,
- ErlDrvTermData process,
- ErlDrvMonitor *monitor)
+
+static int do_driver_monitor_process(Port *prt,
+ Eterm *buf,
+ ErlDrvTermData process,
+ ErlDrvMonitor *monitor)
{
- Port *prt = erts_drvport2port(port);
Process *rp;
Eterm ref;
- Eterm buf[REF_THING_SIZE];
+
if (prt->drv_ptr->process_exit == NULL) {
return -1;
}
@@ -4069,22 +4130,76 @@ int driver_monitor_process(ErlDrvPort port,
if (!rp) {
return 1;
}
+
ref = erts_make_ref_in_buffer(buf);
erts_add_monitor(&(prt->monitors), MON_ORIGIN, ref, rp->id, NIL);
erts_add_monitor(&(rp->monitors), MON_TARGET, ref, prt->id, NIL);
-
+
erts_smp_proc_unlock(rp, ERTS_PROC_LOCK_LINK);
ref_to_driver_monitor(ref,monitor);
return 0;
}
-int driver_demonitor_process(ErlDrvPort port,
- const ErlDrvMonitor *monitor)
+/*
+ * This can be called from a non scheduler thread iff a port_data_lock exists
+ */
+int driver_monitor_process(ErlDrvPort port,
+ ErlDrvTermData process,
+ ErlDrvMonitor *monitor)
+{
+ Port *prt;
+ int ret;
+ Uint32 status;
+ ErtsSchedulerData *sched = erts_get_scheduler_data();
+ int ix = (int) port;
+ if (ix < 0 || erts_max_ports <= ix) {
+ return -1;
+ }
+ prt = &erts_port[ix];
+
+ DRV_MONITOR_LOCK_PDL(prt);
+
+ if (sched) {
+ status = erts_port[ix].status;
+ } else {
+ erts_smp_port_state_lock(prt);
+ status = erts_port[ix].status;
+ erts_smp_port_state_unlock(prt);
+ }
+
+ if (status & ERTS_PORT_SFLGS_INVALID_DRIVER_LOOKUP) {
+ DRV_MONITOR_UNLOCK_PDL(prt);
+ return -1;
+ }
+
+ /* Now (in SMP) we should have either the port lock (if we have a scheduler) or the port data lock
+ (if we're a driver thread) */
+ ERTS_SMP_LC_ASSERT((sched != NULL || prt->port_data_lock));
+
+#if !HEAP_ON_C_STACK
+ if (!sched) {
+ /* Need a separate allocation for the ref :( */
+ Eterm *buf = erts_alloc(ERTS_ALC_T_TEMP_TERM,
+ sizeof(Eterm)*REF_THING_SIZE);
+ ret = do_driver_monitor_process(prt,buf,process,monitor);
+ erts_free(ERTS_ALC_T_TEMP_TERM,buf);
+ } else
+#endif
+ {
+ DeclareTmpHeapNoproc(buf,REF_THING_SIZE);
+ UseTmpHeapNoproc(REF_THING_SIZE);
+ ret = do_driver_monitor_process(prt,buf,process,monitor);
+ UnUseTmpHeapNoproc(REF_THING_SIZE);
+ }
+ DRV_MONITOR_UNLOCK_PDL(prt);
+ return ret;
+}
+
+static int do_driver_demonitor_process(Port *prt, Eterm *buf,
+ const ErlDrvMonitor *monitor)
{
- Port *prt = erts_drvport2port(port);
Process *rp;
Eterm ref;
- Eterm buf[REF_THING_SIZE];
ErtsMonitor *mon;
Eterm to;
@@ -4117,12 +4232,60 @@ int driver_demonitor_process(ErlDrvPort port,
return 0;
}
-ErlDrvTermData driver_get_monitored_process(ErlDrvPort port,
+int driver_demonitor_process(ErlDrvPort port,
+ const ErlDrvMonitor *monitor)
+{
+ Port *prt;
+ int ret;
+ Uint32 status;
+ ErtsSchedulerData *sched = erts_get_scheduler_data();
+ int ix = (int) port;
+ if (ix < 0 || erts_max_ports <= ix) {
+ return -1;
+ }
+ prt = &erts_port[ix];
+
+ DRV_MONITOR_LOCK_PDL(prt);
+
+ if (sched) {
+ status = erts_port[ix].status;
+ } else {
+ erts_smp_port_state_lock(prt);
+ status = erts_port[ix].status;
+ erts_smp_port_state_unlock(prt);
+ }
+
+ if (status & ERTS_PORT_SFLGS_INVALID_DRIVER_LOOKUP) {
+ DRV_MONITOR_UNLOCK_PDL(prt);
+ return -1;
+ }
+
+ /* Now we should have either the port lock (if we have a scheduler) or the port data lock
+ (if we're a driver thread) */
+ ERTS_SMP_LC_ASSERT((sched != NULL || prt->port_data_lock));
+#if !HEAP_ON_C_STACK
+ if (!sched) {
+ /* Need a separate allocation for the ref :( */
+ Eterm *buf = erts_alloc(ERTS_ALC_T_TEMP_TERM,
+ sizeof(Eterm)*REF_THING_SIZE);
+ ret = do_driver_demonitor_process(prt,buf,monitor);
+ erts_free(ERTS_ALC_T_TEMP_TERM,buf);
+ } else
+#endif
+ {
+ DeclareTmpHeapNoproc(buf,REF_THING_SIZE);
+ UseTmpHeapNoproc(REF_THING_SIZE);
+ ret = do_driver_demonitor_process(prt,buf,monitor);
+ UnUseTmpHeapNoproc(REF_THING_SIZE);
+ }
+ DRV_MONITOR_UNLOCK_PDL(prt);
+ return ret;
+}
+
+static ErlDrvTermData do_driver_get_monitored_process(Port *prt, Eterm *buf,
const ErlDrvMonitor *monitor)
{
- Port *prt = erts_drvport2port(port);
Eterm ref;
- Eterm buf[REF_THING_SIZE];
ErtsMonitor *mon;
Eterm to;
@@ -4138,6 +4301,59 @@ ErlDrvTermData driver_get_monitored_process(ErlDrvPort port,
return (ErlDrvTermData) to;
}
+
+ErlDrvTermData driver_get_monitored_process(ErlDrvPort port,
+ const ErlDrvMonitor *monitor)
+{
+ Port *prt;
+ ErlDrvTermData ret;
+ Uint32 status;
+ ErtsSchedulerData *sched = erts_get_scheduler_data();
+ int ix = (int) port;
+ if (ix < 0 || erts_max_ports <= ix) {
+ return driver_term_nil;
+ }
+ prt = &erts_port[ix];
+
+ DRV_MONITOR_LOCK_PDL(prt);
+
+ if (sched) {
+ status = erts_port[ix].status;
+ } else {
+ erts_smp_port_state_lock(prt);
+ status = erts_port[ix].status;
+ erts_smp_port_state_unlock(prt);
+ }
+
+ if (status & ERTS_PORT_SFLGS_INVALID_DRIVER_LOOKUP) {
+ DRV_MONITOR_UNLOCK_PDL(prt);
+ return driver_term_nil;
+ }
+
+ /* Now we should have either the port lock (if we have a scheduler) or the port data lock
+ (if we're a driver thread) */
+ ERTS_SMP_LC_ASSERT((sched != NULL || prt->port_data_lock));
+
+#if !HEAP_ON_C_STACK
+ if (!sched) {
+ /* Need a separate allocation for the ref :( */
+ Eterm *buf = erts_alloc(ERTS_ALC_T_TEMP_TERM,
+ sizeof(Eterm)*REF_THING_SIZE);
+ ret = do_driver_get_monitored_process(prt,buf,monitor);
+ erts_free(ERTS_ALC_T_TEMP_TERM,buf);
+ } else
+#endif
+ {
+ DeclareTmpHeapNoproc(buf,REF_THING_SIZE);
+ UseTmpHeapNoproc(REF_THING_SIZE);
+ ret = do_driver_get_monitored_process(prt,buf,monitor);
+ UnUseTmpHeapNoproc(REF_THING_SIZE);
+ }
+ DRV_MONITOR_UNLOCK_PDL(prt);
+ return ret;
+}
+
+
int driver_compare_monitors(const ErlDrvMonitor *monitor1,
const ErlDrvMonitor *monitor2)
{
@@ -4153,18 +4369,22 @@ void erts_fire_port_monitor(Port *prt, Eterm ref)
ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(prt));
ASSERT(prt->drv_ptr != NULL);
-
+ DRV_MONITOR_LOCK_PDL(prt);
if (erts_lookup_monitor(prt->monitors,ref) == NULL) {
+ DRV_MONITOR_UNLOCK_PDL(prt);
return;
}
callback = prt->drv_ptr->process_exit;
ASSERT(callback != NULL);
ref_to_driver_monitor(ref,&drv_monitor);
+ DRV_MONITOR_UNLOCK_PDL(prt);
fpe_was_unmasked = erts_block_fpe();
(*callback)((ErlDrvData) (prt->drv_data), &drv_monitor);
erts_unblock_fpe(fpe_was_unmasked);
+ DRV_MONITOR_LOCK_PDL(prt);
/* remove monitor *after* callback */
rmon = erts_remove_monitor(&(prt->monitors),ref);
+ DRV_MONITOR_UNLOCK_PDL(prt);
if (rmon) {
erts_destroy_monitor(rmon);
}
diff --git a/erts/emulator/beam/module.h b/erts/emulator/beam/module.h
index 87d13b3607..694e4ab72f 100644
--- a/erts/emulator/beam/module.h
+++ b/erts/emulator/beam/module.h
@@ -29,8 +29,8 @@ typedef struct erl_module {
IndexSlot slot; /* Must be located at top of struct! */
int module; /* Atom index for module (not tagged). */
- Eterm* code;
- Eterm* old_code;
+ BeamInstr* code;
+ BeamInstr* old_code;
int code_length; /* Length of loaded code in bytes. */
int old_code_length; /* Length of old loaded code in bytes */
unsigned catches, old_catches;
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab
index ce1df74f03..d6feef3fb9 100644
--- a/erts/emulator/beam/ops.tab
+++ b/erts/emulator/beam/ops.tab
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1997-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1997-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
@@ -66,7 +66,6 @@ func_info M=a a==am_module_info A=u==1 | label L | move n r => too_old_compiler
bif1 Fail u$func:erlang:is_constant/1 Src Dst => too_old_compiler
-
#
# All the other instructions.
#
@@ -115,12 +114,6 @@ init Y1 | init Y2 => init2 Y1 Y2
%macro: init2 Init2 -pack
%macro: init3 Init3 -pack
-#
-# Warning: The put_string instruction is specially treated in the loader.
-# Don't change the instruction format unless you change the loader too.
-#
-put_string I I d
-
# Selecting values
select_val S=q Fail=f Size=u Rest=* => const_select_val(S, Fail, Size, Rest)
@@ -1311,7 +1304,7 @@ fmul p FR1 FR2 FR3 => i_fmul FR1 FR2 FR3
fdiv p FR1 FR2 FR3 => i_fdiv FR1 FR2 FR3
fnegate p FR1 FR2 => i_fnegate FR1 FR2
-fconv Int=iq Dst=l => move Int x | fconv x Dst
+fconv Arg=iqan Dst=l => move Arg x | fconv x Dst
fmove q l
fmove d l
@@ -1397,34 +1390,60 @@ bif1 Fail u$bif:erlang:trunc/1 s d => too_old_compiler
# Guard BIFs.
#
gc_bif1 Fail I Bif=u$bif:erlang:length/1 Src Dst=d => \
- gen_guard_bif(Fail, I, Bif, Src, Dst)
+ gen_guard_bif1(Fail, I, Bif, Src, Dst)
gc_bif1 Fail I Bif=u$bif:erlang:size/1 Src Dst=d => \
- gen_guard_bif(Fail, I, Bif, Src, Dst)
+ gen_guard_bif1(Fail, I, Bif, Src, Dst)
gc_bif1 Fail I Bif=u$bif:erlang:bit_size/1 Src Dst=d => \
- gen_guard_bif(Fail, I, Bif, Src, Dst)
+ gen_guard_bif1(Fail, I, Bif, Src, Dst)
gc_bif1 Fail I Bif=u$bif:erlang:byte_size/1 Src Dst=d => \
- gen_guard_bif(Fail, I, Bif, Src, Dst)
+ gen_guard_bif1(Fail, I, Bif, Src, Dst)
gc_bif1 Fail I Bif=u$bif:erlang:abs/1 Src Dst=d => \
- gen_guard_bif(Fail, I, Bif, Src, Dst)
+ gen_guard_bif1(Fail, I, Bif, Src, Dst)
gc_bif1 Fail I Bif=u$bif:erlang:float/1 Src Dst=d => \
- gen_guard_bif(Fail, I, Bif, Src, Dst)
+ gen_guard_bif1(Fail, I, Bif, Src, Dst)
gc_bif1 Fail I Bif=u$bif:erlang:round/1 Src Dst=d => \
- gen_guard_bif(Fail, I, Bif, Src, Dst)
+ gen_guard_bif1(Fail, I, Bif, Src, Dst)
gc_bif1 Fail I Bif=u$bif:erlang:trunc/1 Src Dst=d => \
- gen_guard_bif(Fail, I, Bif, Src, Dst)
+ gen_guard_bif1(Fail, I, Bif, Src, Dst)
+
+gc_bif2 Fail I Bif=u$bif:erlang:binary_part/2 S1 S2 Dst=d => \
+ gen_guard_bif2(Fail, I, Bif, S1, S2, Dst)
+
+gc_bif3 Fail I Bif=u$bif:erlang:binary_part/3 S1 S2 S3 Dst=d => \
+ gen_guard_bif3(Fail, I, Bif, S1, S2, S3, Dst)
i_gc_bif1 Fail Bif V=q Live D => move V x | i_gc_bif1 Fail Bif x Live D
i_gc_bif1 j I s I d
+ii_gc_bif2/6
+
+ii_gc_bif2 Fail Bif S1 S2 Live D => i_fetch S1 S2 | i_gc_bif2 Fail Bif Live D
+
+i_gc_bif2 j I I d
+
+ii_gc_bif3/7
+
+ii_gc_bif3 Fail Bif S1 S2 S3 Live D => move S1 x | i_fetch S2 S3 | i_gc_bif3 Fail Bif x Live D
+
+i_gc_bif3 j I s I d
#
# R13B03
#
on_load
+
+#
+# R14A.
+#
+recv_mark f
+
+recv_set Fail | label Lbl | loop_rec Lf Reg => \
+ i_recv_set | label Lbl | loop_rec Lf Reg
+i_recv_set
diff --git a/erts/emulator/beam/register.c b/erts/emulator/beam/register.c
index 7ba097382a..964c10a380 100644
--- a/erts/emulator/beam/register.c
+++ b/erts/emulator/beam/register.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -500,8 +500,8 @@ int erts_unregister_name(Process *c_p,
if ((rp = (RegProc*) hash_get(&process_reg, (void*) &r)) != NULL) {
if (rp->pt) {
-#ifdef ERTS_SMP
if (port != rp->pt) {
+#ifdef ERTS_SMP
if (port) {
ERTS_SMP_LC_ASSERT(port != c_prt);
erts_smp_port_unlock(port);
@@ -519,10 +519,13 @@ int erts_unregister_name(Process *c_p,
port = erts_id2port(id, NULL, 0);
goto restart;
}
+#endif
port = rp->pt;
}
-#endif
- ERTS_SMP_LC_ASSERT(rp->pt == port && erts_lc_is_port_locked(port));
+
+ ASSERT(rp->pt == port);
+ ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(port));
+
rp->pt->reg = NULL;
if (IS_TRACED_FL(port, F_TRACE_PORTS)) {
diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h
index 4b949523fa..a1955235b7 100644
--- a/erts/emulator/beam/sys.h
+++ b/erts/emulator/beam/sys.h
@@ -1,25 +1,26 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
#ifndef __SYS_H__
#define __SYS_H__
+
#if defined(VALGRIND) && !defined(NO_FPE_SIGNALS)
# define NO_FPE_SIGNALS
#endif
@@ -57,8 +58,6 @@
# include "erl_win_sys.h"
#elif defined (VXWORKS)
# include "erl_vxworks_sys.h"
-#elif defined (_OSE_)
-# include "erl_ose_sys.h"
#else
# include "erl_unix_sys.h"
#ifndef UNIX
@@ -230,9 +229,14 @@ EXTERN_FUNCTION(int, real_printf, (const char *fmt, ...));
** Data types:
**
** Eterm: A tagged erlang term (possibly 64 bits)
+** BeamInstr: A beam code instruction unit, possibly larger than Eterm, not smaller.
** UInt: An unsigned integer exactly as large as an Eterm.
** SInt: A signed integer exactly as large as an eterm and therefor large
** enough to hold the return value of the signed_val() macro.
+** UWord: An unsigned integer at least as large as a void * and also as large
+** or larger than an Eterm
+** SWord: A signed integer at least as large as a void * and also as large
+** or larger than an Eterm
** Uint32: An unsigned integer of 32 bits exactly
** Sint32: A signed integer of 32 bits exactly
** Uint16: An unsigned integer of 16 bits exactly
@@ -253,11 +257,43 @@ EXTERN_FUNCTION(int, real_printf, (const char *fmt, ...));
#else
#error Neither 32 nor 64 bit architecture
#endif
+#ifdef ARCH_64
+# ifdef HALFWORD_HEAP_EMULATOR
+# define HALFWORD_HEAP 1
+# define HALFWORD_ASSERT 0
+# else
+# define HALFWORD_HEAP 0
+# define HALFWORD_ASSERT 0
+# endif
+#endif
#if SIZEOF_VOID_P != SIZEOF_SIZE_T
#error sizeof(void*) != sizeof(size_t)
#endif
+#if HALFWORD_HEAP
+
+#if SIZEOF_INT == 4
+typedef unsigned int Eterm;
+typedef unsigned int Uint;
+typedef int Sint;
+#define ERTS_SIZEOF_ETERM SIZEOF_INT
+#else
+#error Found no appropriate type to use for 'Eterm', 'Uint' and 'Sint'
+#endif
+
+#if SIZEOF_VOID_P == SIZEOF_LONG
+typedef unsigned long UWord;
+typedef long SWord;
+#elif SIZEOF_VOID_P == SIZEOF_INT
+typedef unsigned int UWord;
+typedef int SWord;
+#else
+#error Found no appropriate type to use for 'Eterm', 'Uint' and 'Sint'
+#endif
+
+#else /* !HALFWORD_HEAP */
+
#if SIZEOF_VOID_P == SIZEOF_LONG
typedef unsigned long Eterm;
typedef unsigned long Uint;
@@ -272,6 +308,13 @@ typedef int Sint;
#error Found no appropriate type to use for 'Eterm', 'Uint' and 'Sint'
#endif
+typedef Uint UWord;
+typedef Sint SWord;
+
+#endif /* HALFWORD_HEAP */
+
+typedef UWord BeamInstr;
+
#ifndef HAVE_INT64
#if SIZEOF_LONG == 8
#define HAVE_INT64 1
@@ -413,13 +456,6 @@ extern volatile int erts_writing_erl_crash_dump;
in non-blocking mode - and ioctl FIONBIO on AIX *doesn't* work for
pipes or ttys (O_NONBLOCK does)!!! For now, we'll use FIONBIO for AIX. */
-# ifdef _OSE_
-static const int zero_value = 0, one_value = 1;
-# define SET_BLOCKING(fd) ioctl((fd), FIONBIO, (char*)&zero_value)
-# define SET_NONBLOCKING(fd) ioctl((fd), FIONBIO, (char*)&one_value)
-# define ERRNO_BLOCK EWOULDBLOCK
-# else
-
# ifdef __WIN32__
static unsigned long zero_value = 0, one_value = 1;
@@ -460,7 +496,6 @@ static const int zero_value = 0, one_value = 1;
# endif /* !NB_FIONBIO */
# endif /* _WXWORKS_ */
# endif /* !__WIN32__ */
-# endif /* _OSE_ */
#endif /* WANT_NONBLOCKING */
extern erts_cpu_info_t *erts_cpuinfo; /* erl_init.c */
@@ -538,8 +573,6 @@ typedef struct preload {
* None of the drivers use all of the fields.
*/
-/* OSE: Want process_type and priority in here as well! Needs updates in erl_bif_ports.c! */
-
typedef struct _SysDriverOpts {
int ifd; /* Input file descriptor (fd driver). */
int ofd; /* Outputfile descriptor (fd driver). */
@@ -556,12 +589,6 @@ typedef struct _SysDriverOpts {
char *wd; /* Working directory. */
unsigned spawn_type; /* Bitfield of ERTS_SPAWN_DRIVER |
ERTS_SPAWN_EXTERNAL | both*/
-
-#ifdef _OSE_
- enum PROCESS_TYPE process_type;
- OSPRIORITY priority;
-#endif /* _OSE_ */
-
} SysDriverOpts;
extern char *erts_default_arg0;
@@ -638,11 +665,7 @@ extern void erts_sys_pre_init(void);
extern void erl_sys_init(void);
extern void erl_sys_args(int *argc, char **argv);
extern void erl_sys_schedule(int);
-#ifdef _OSE_
-extern void erl_sys_init_final(void);
-#else
-void sys_tty_reset(void);
-#endif
+void sys_tty_reset(int);
EXTERN_FUNCTION(int, sys_max_files, (_VOID_));
void sys_init_io(void);
@@ -1107,7 +1130,7 @@ extern int erts_use_kernel_poll;
void elib_ensure_initialized(void);
-#if (defined(VXWORKS) || defined(_OSE_))
+#if defined(VXWORKS)
/* NOTE! sys_calloc2 does not exist on other
platforms than VxWorks and OSE */
EXTERN_FUNCTION(void*, sys_calloc2, (Uint, Uint));
diff --git a/erts/emulator/beam/utils.c b/erts/emulator/beam/utils.c
index 31efddc0f2..51c12a0b69 100644
--- a/erts/emulator/beam/utils.c
+++ b/erts/emulator/beam/utils.c
@@ -204,6 +204,25 @@ erl_grow_stack(Eterm** start, Eterm** sp, Eterm** end)
*end = *start + new_size;
*sp = *start + sp_offs;
}
+/*
+ * Helper function for the ESTACK macros defined in global.h.
+ */
+void
+erl_grow_wstack(UWord** start, UWord** sp, UWord** end)
+{
+ Uint old_size = (*end - *start);
+ Uint new_size = old_size * 2;
+ Uint sp_offs = *sp - *start;
+ if (new_size > 2 * DEF_ESTACK_SIZE) {
+ *start = erts_realloc(ERTS_ALC_T_ESTACK, (void *) *start, new_size*sizeof(UWord));
+ } else {
+ UWord* new_ptr = erts_alloc(ERTS_ALC_T_ESTACK, new_size*sizeof(UWord));
+ sys_memcpy(new_ptr, *start, old_size*sizeof(UWord));
+ *start = new_ptr;
+ }
+ *end = *start + new_size;
+ *sp = *start + sp_offs;
+}
/* CTYPE macros */
@@ -354,6 +373,31 @@ erts_bld_uint(Uint **hpp, Uint *szp, Uint ui)
return res;
}
+/*
+ * Erts_bld_uword is more or less similar to erts_bld_uint, but a pointer
+ * can safely be passed.
+ */
+
+Eterm
+erts_bld_uword(Uint **hpp, Uint *szp, UWord uw)
+{
+ Eterm res = THE_NON_VALUE;
+ if (IS_USMALL(0, uw)) {
+ if (hpp)
+ res = make_small((Uint) uw);
+ }
+ else {
+ if (szp)
+ *szp += BIG_UWORD_HEAP_SIZE(uw);
+ if (hpp) {
+ res = uword_to_big(uw, *hpp);
+ *hpp += BIG_UWORD_HEAP_SIZE(uw);
+ }
+ }
+ return res;
+}
+
+
Eterm
erts_bld_uint64(Uint **hpp, Uint *szp, Uint64 ui64)
{
@@ -711,7 +755,7 @@ hash_binary_bytes(Eterm bin, Uint sz, Uint32 hash)
Uint32 make_hash(Eterm term_arg)
{
- DECLARE_ESTACK(stack);
+ DECLARE_WSTACK(stack);
Eterm term = term_arg;
Eterm hash = 0;
unsigned op;
@@ -770,7 +814,7 @@ tail_recur:
Uint y2 = y1 < 0 ? -(Uint)y1 : y1;
UINT32_HASH_STEP(y2, FUNNY_NUMBER2);
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
if (y2 >> 32)
UINT32_HASH_STEP(y2 >> 32, FUNNY_NUMBER2);
#endif
@@ -787,7 +831,7 @@ tail_recur:
}
case EXPORT_DEF:
{
- Export* ep = (Export *) (export_val(term))[1];
+ Export* ep = *((Export **) (export_val(term) + 1));
hash = hash * FUNNY_NUMBER11 + ep->code[2];
hash = hash*FUNNY_NUMBER1 +
@@ -809,7 +853,7 @@ tail_recur:
hash = hash*FUNNY_NUMBER2 + funp->fe->old_uniq;
if (num_free > 0) {
if (num_free > 1) {
- ESTACK_PUSH3(stack, (Eterm) &funp->env[1], (num_free-1), MAKE_HASH_FUN_OP);
+ WSTACK_PUSH3(stack, (UWord) &funp->env[1], (num_free-1), MAKE_HASH_FUN_OP);
}
term = funp->env[0];
goto tail_recur;
@@ -837,9 +881,9 @@ tail_recur:
}
case MAKE_HASH_CDR_PRE_OP:
- term = ESTACK_POP(stack);
+ term = (Eterm) WSTACK_POP(stack);
if (is_not_list(term)) {
- ESTACK_PUSH(stack, MAKE_HASH_CDR_POST_OP);
+ WSTACK_PUSH(stack, (UWord) MAKE_HASH_CDR_POST_OP);
goto tail_recur;
}
/* fall through */
@@ -854,13 +898,13 @@ tail_recur:
hash = hash*FUNNY_NUMBER2 + unsigned_val(*list);
if (is_not_list(CDR(list))) {
- ESTACK_PUSH(stack, MAKE_HASH_CDR_POST_OP);
+ WSTACK_PUSH(stack, MAKE_HASH_CDR_POST_OP);
term = CDR(list);
goto tail_recur;
}
list = list_val(CDR(list));
}
- ESTACK_PUSH2(stack, CDR(list), MAKE_HASH_CDR_PRE_OP);
+ WSTACK_PUSH2(stack, CDR(list), MAKE_HASH_CDR_PRE_OP);
term = CAR(list);
goto tail_recur;
}
@@ -888,7 +932,7 @@ tail_recur:
}
d = BIG_DIGIT(ptr, k);
k = sizeof(ErtsDigit);
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
if (!(d >> 32))
k /= 2;
#endif
@@ -904,21 +948,21 @@ tail_recur:
Eterm* ptr = tuple_val(term);
Uint arity = arityval(*ptr);
- ESTACK_PUSH3(stack, arity, (Eterm)(ptr+1), arity);
+ WSTACK_PUSH3(stack, (UWord) arity, (UWord)(ptr+1), (UWord) arity);
op = MAKE_HASH_TUPLE_OP;
}/*fall through*/
case MAKE_HASH_TUPLE_OP:
case MAKE_HASH_FUN_OP:
{
- Uint i = ESTACK_POP(stack);
- Eterm* ptr = (Eterm*) ESTACK_POP(stack);
+ Uint i = (Uint) WSTACK_POP(stack);
+ Eterm* ptr = (Eterm*) WSTACK_POP(stack);
if (i != 0) {
term = *ptr;
- ESTACK_PUSH3(stack, (Eterm)(ptr+1), i-1, op);
+ WSTACK_PUSH3(stack, (UWord)(ptr+1), (UWord) i-1, (UWord) op);
goto tail_recur;
}
if (op == MAKE_HASH_TUPLE_OP) {
- Uint32 arity = ESTACK_POP(stack);
+ Uint32 arity = (Uint32) WSTACK_POP(stack);
hash = hash*FUNNY_NUMBER9 + arity;
}
break;
@@ -928,10 +972,10 @@ tail_recur:
erl_exit(1, "Invalid tag in make_hash(0x%X,0x%X)\n", term, op);
return 0;
}
- if (ESTACK_ISEMPTY(stack)) break;
- op = ESTACK_POP(stack);
+ if (WSTACK_ISEMPTY(stack)) break;
+ op = WSTACK_POP(stack);
}
- DESTROY_ESTACK(stack);
+ DESTROY_WSTACK(stack);
return hash;
#undef UINT32_HASH_STEP
@@ -1002,7 +1046,7 @@ Uint32
make_hash2(Eterm term)
{
Uint32 hash;
- Eterm tmp_big[2];
+ DeclareTmpHeapNoproc(tmp_big,2);
/* (HCONST * {2, ..., 14}) mod 2^32 */
#define HCONST_2 0x3c6ef372UL
@@ -1041,7 +1085,6 @@ make_hash2(Eterm term)
} while(0)
#define IS_SSMALL28(x) (((Uint) (((x) >> (28-1)) + 1)) < 2)
-
/* Optimization. Simple cases before declaration of estack. */
if (primary_tag(term) == TAG_PRIMARY_IMMED1) {
switch (term & _TAG_IMMED1_MASK) {
@@ -1070,6 +1113,7 @@ make_hash2(Eterm term)
Eterm tmp;
DECLARE_ESTACK(s);
+ UseTmpHeapNoproc(2);
hash = 0;
for (;;) {
switch (primary_tag(term)) {
@@ -1123,7 +1167,7 @@ make_hash2(Eterm term)
break;
case EXPORT_SUBTAG:
{
- Export* ep = (Export *) (export_val(term))[1];
+ Export* ep = *((Export **) (export_val(term) + 1));
UINT32_HASH_2
(ep->code[2],
@@ -1314,6 +1358,7 @@ make_hash2(Eterm term)
hash2_common:
if (ESTACK_ISEMPTY(s)) {
DESTROY_ESTACK(s);
+ UnUseTmpHeapNoproc(2);
return hash;
}
term = ESTACK_POP(s);
@@ -1332,7 +1377,7 @@ make_hash2(Eterm term)
Uint32 make_broken_hash(Eterm term)
{
Uint32 hash = 0;
- DECLARE_ESTACK(stack);
+ DECLARE_WSTACK(stack);
unsigned op;
tail_recur:
op = tag_val_def(term);
@@ -1346,7 +1391,7 @@ tail_recur:
(atom_tab(atom_val(term))->slot.bucket.hvalue);
break;
case SMALL_DEF:
-#ifdef ARCH_64
+#if defined(ARCH_64) && !HALFWORD_HEAP
{
Sint y1 = signed_val(term);
Uint y2 = y1 < 0 ? -(Uint)y1 : y1;
@@ -1399,7 +1444,7 @@ tail_recur:
case EXPORT_DEF:
{
- Export* ep = (Export *) (export_val(term))[1];
+ Export* ep = *((Export **) (export_val(term) + 1));
hash = hash * FUNNY_NUMBER11 + ep->code[2];
hash = hash*FUNNY_NUMBER1 +
@@ -1421,7 +1466,7 @@ tail_recur:
hash = hash*FUNNY_NUMBER2 + funp->fe->old_uniq;
if (num_free > 0) {
if (num_free > 1) {
- ESTACK_PUSH3(stack, (Eterm) &funp->env[1], (num_free-1), MAKE_HASH_FUN_OP);
+ WSTACK_PUSH3(stack, (UWord) &funp->env[1], (num_free-1), MAKE_HASH_FUN_OP);
}
term = funp->env[0];
goto tail_recur;
@@ -1456,16 +1501,17 @@ tail_recur:
break;
case MAKE_HASH_CDR_PRE_OP:
- term = ESTACK_POP(stack);
+ term = (Eterm) WSTACK_POP(stack);
if (is_not_list(term)) {
- ESTACK_PUSH(stack, MAKE_HASH_CDR_POST_OP);
+ WSTACK_PUSH(stack, (UWord) MAKE_HASH_CDR_POST_OP);
goto tail_recur;
}
/*fall through*/
case LIST_DEF:
{
Eterm* list = list_val(term);
- ESTACK_PUSH2(stack, CDR(list), MAKE_HASH_CDR_PRE_OP);
+ WSTACK_PUSH2(stack, (UWord) CDR(list),
+ (UWord) MAKE_HASH_CDR_PRE_OP);
term = CAR(list);
goto tail_recur;
}
@@ -1538,21 +1584,21 @@ tail_recur:
Eterm* ptr = tuple_val(term);
Uint arity = arityval(*ptr);
- ESTACK_PUSH3(stack, arity, (Eterm)(ptr+1), arity);
+ WSTACK_PUSH3(stack, (UWord) arity, (UWord) (ptr+1), (UWord) arity);
op = MAKE_HASH_TUPLE_OP;
}/*fall through*/
case MAKE_HASH_TUPLE_OP:
case MAKE_HASH_FUN_OP:
{
- Uint i = ESTACK_POP(stack);
- Eterm* ptr = (Eterm*) ESTACK_POP(stack);
+ Uint i = (Uint) WSTACK_POP(stack);
+ Eterm* ptr = (Eterm*) WSTACK_POP(stack);
if (i != 0) {
term = *ptr;
- ESTACK_PUSH3(stack, (Eterm)(ptr+1), i-1, op);
+ WSTACK_PUSH3(stack, (UWord)(ptr+1), (UWord) i-1, (UWord) op);
goto tail_recur;
}
if (op == MAKE_HASH_TUPLE_OP) {
- Uint32 arity = ESTACK_POP(stack);
+ Uint32 arity = (UWord) WSTACK_POP(stack);
hash = hash*FUNNY_NUMBER9 + arity;
}
break;
@@ -1562,11 +1608,11 @@ tail_recur:
erl_exit(1, "Invalid tag in make_broken_hash\n");
return 0;
}
- if (ESTACK_ISEMPTY(stack)) break;
- op = ESTACK_POP(stack);
+ if (WSTACK_ISEMPTY(stack)) break;
+ op = (Uint) WSTACK_POP(stack);
}
- DESTROY_ESTACK(stack);
+ DESTROY_WSTACK(stack);
return hash;
#undef MAKE_HASH_TUPLE_OP
@@ -1869,7 +1915,7 @@ erts_destroy_tmp_dsbuf(erts_dsprintf_buf_t *dsbufp)
int eq(Eterm a, Eterm b)
{
- DECLARE_ESTACK(stack);
+ DECLARE_WSTACK(stack);
Sint sz;
Eterm* aa;
Eterm* bb;
@@ -1887,7 +1933,7 @@ tailrecur_ne:
Eterm atmp = CAR(aval);
Eterm btmp = CAR(bval);
if (atmp != btmp) {
- ESTACK_PUSH2(stack,CDR(bval),CDR(aval));
+ WSTACK_PUSH2(stack,(UWord) CDR(bval),(UWord) CDR(aval));
a = atmp;
b = btmp;
goto tailrecur_ne;
@@ -1957,8 +2003,8 @@ tailrecur_ne:
case EXPORT_SUBTAG:
{
if (is_export(b)) {
- Export* a_exp = (Export *) (export_val(a))[1];
- Export* b_exp = (Export *) (export_val(b))[1];
+ Export* a_exp = *((Export **) (export_val(a) + 1));
+ Export* b_exp = *((Export **) (export_val(b) + 1));
if (a_exp == b_exp) goto pop_next;
}
break; /* not equal */
@@ -2130,32 +2176,32 @@ term_array: /* arrays in 'aa' and 'bb', length in 'sz' */
goto not_equal;
}
if (i > 1) { /* push the rest */
- ESTACK_PUSH3(stack, i-1, (Eterm)(bp+1),
- ((Eterm)(ap+1)) | TAG_PRIMARY_HEADER);
+ WSTACK_PUSH3(stack, i-1, (UWord)(bp+1),
+ ((UWord)(ap+1)) | TAG_PRIMARY_HEADER);
/* We (ab)use TAG_PRIMARY_HEADER to recognize a term_array */
}
goto tailrecur_ne;
}
pop_next:
- if (!ESTACK_ISEMPTY(stack)) {
- Eterm something = ESTACK_POP(stack);
- if (primary_tag(something) == TAG_PRIMARY_HEADER) { /* a term_array */
+ if (!WSTACK_ISEMPTY(stack)) {
+ UWord something = WSTACK_POP(stack);
+ if (primary_tag((Eterm) something) == TAG_PRIMARY_HEADER) { /* a term_array */
aa = (Eterm*) something;
- bb = (Eterm*) ESTACK_POP(stack);
- sz = ESTACK_POP(stack);
+ bb = (Eterm*) WSTACK_POP(stack);
+ sz = WSTACK_POP(stack);
goto term_array;
}
a = something;
- b = ESTACK_POP(stack);
+ b = WSTACK_POP(stack);
goto tailrecur;
}
- DESTROY_ESTACK(stack);
+ DESTROY_WSTACK(stack);
return 1;
not_equal:
- DESTROY_ESTACK(stack);
+ DESTROY_WSTACK(stack);
return 0;
}
@@ -2210,7 +2256,7 @@ static int cmp_atoms(Eterm a, Eterm b)
Sint cmp(Eterm a, Eterm b)
{
- DECLARE_ESTACK(stack);
+ DECLARE_WSTACK(stack);
Eterm* aa;
Eterm* bb;
int i;
@@ -2327,7 +2373,7 @@ tailrecur_ne:
Eterm atmp = CAR(aa);
Eterm btmp = CAR(bb);
if (atmp != btmp) {
- ESTACK_PUSH2(stack,CDR(bb),CDR(aa));
+ WSTACK_PUSH2(stack,(UWord) CDR(bb),(UWord) CDR(aa));
a = atmp;
b = btmp;
goto tailrecur_ne;
@@ -2392,8 +2438,8 @@ tailrecur_ne:
a_tag = EXPORT_DEF;
goto mixed_types;
} else {
- Export* a_exp = (Export *) (export_val(a))[1];
- Export* b_exp = (Export *) (export_val(b))[1];
+ Export* a_exp = *((Export **) (export_val(a) + 1));
+ Export* b_exp = *((Export **) (export_val(b) + 1));
if ((j = cmp_atoms(a_exp->code[0], b_exp->code[0])) != 0) {
RETURN_NEQ(j);
@@ -2581,7 +2627,11 @@ tailrecur_ne:
{
FloatDef f1, f2;
Eterm big;
- Eterm big_buf[2];
+#if HEAP_ON_C_STACK
+ Eterm big_buf[2]; /* If HEAP_ON_C_STACK */
+#else
+ Eterm *big_buf = erts_get_scheduler_data()->cmp_tmp_heap;
+#endif
switch(_NUMBER_CODE(a_tag, b_tag)) {
case SMALL_BIG:
@@ -2644,7 +2694,7 @@ term_array: /* arrays in 'aa' and 'bb', length in 'i' */
}
} else {
/* (ab)Use TAG_PRIMARY_HEADER to recognize a term_array */
- ESTACK_PUSH3(stack, i, (Eterm)bb, (Eterm)aa | TAG_PRIMARY_HEADER);
+ WSTACK_PUSH3(stack, i, (UWord)bb, (UWord)aa | TAG_PRIMARY_HEADER);
goto tailrecur_ne;
}
}
@@ -2654,20 +2704,20 @@ term_array: /* arrays in 'aa' and 'bb', length in 'i' */
goto tailrecur;
pop_next:
- if (!ESTACK_ISEMPTY(stack)) {
- Eterm something = ESTACK_POP(stack);
- if (primary_tag(something) == TAG_PRIMARY_HEADER) { /* a term_array */
+ if (!WSTACK_ISEMPTY(stack)) {
+ UWord something = WSTACK_POP(stack);
+ if (primary_tag((Eterm) something) == TAG_PRIMARY_HEADER) { /* a term_array */
aa = (Eterm*) something;
- bb = (Eterm*) ESTACK_POP(stack);
- i = ESTACK_POP(stack);
+ bb = (Eterm*) WSTACK_POP(stack);
+ i = WSTACK_POP(stack);
goto term_array;
}
- a = something;
- b = ESTACK_POP(stack);
+ a = (Eterm) something;
+ b = (Eterm) WSTACK_POP(stack);
goto tailrecur;
}
- DESTROY_ESTACK(stack);
+ DESTROY_WSTACK(stack);
return 0;
not_equal:
diff --git a/erts/emulator/drivers/common/efile_drv.c b/erts/emulator/drivers/common/efile_drv.c
index 95510a16b2..d2b916000e 100644
--- a/erts/emulator/drivers/common/efile_drv.c
+++ b/erts/emulator/drivers/common/efile_drv.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
/*
@@ -196,9 +196,9 @@ enum e_timer {timer_idle, timer_again, timer_write};
struct t_data;
typedef struct {
- Sint fd;
+ SWord fd;
ErlDrvPort port;
- unsigned key; /* Async queue key */
+ unsigned int key; /* Async queue key */
unsigned flags; /* Original flags from FILE_OPEN. */
void (*invoke)(void *);
struct t_data *d;
@@ -306,7 +306,7 @@ struct t_data
int result_ok;
Efile_error errInfo;
int flags;
- Sint fd;
+ SWord fd;
/**/
Efile_info info;
EFILE_DIR_HANDLE dir_handle; /* Handle to open directory. */
@@ -605,7 +605,7 @@ file_start(ErlDrvPort port, char* command)
}
desc->fd = FILE_FD_INVALID;
desc->port = port;
- desc->key = (unsigned) (Uint) port;
+ desc->key = (unsigned int) (UWord) port;
desc->flags = 0;
desc->invoke = NULL;
desc->d = NULL;
@@ -630,7 +630,7 @@ static void free_data(void *data)
EF_FREE(data);
}
-static void do_close(int flags, Sint fd) {
+static void do_close(int flags, SWord fd) {
if (flags & EFILE_COMPRESSED) {
erts_gzclose((gzFile)(fd));
} else {
@@ -709,7 +709,7 @@ static void reply_Uint_posix_error(file_descriptor *desc, Uint num,
TRACE_C('N');
response[0] = FILE_RESP_NUMERR;
-#if SIZEOF_VOID_P == 4
+#if SIZEOF_VOID_P == 4 || HALFWORD_HEAP
put_int32(0, response+1);
#else
put_int32(num>>32, response+1);
@@ -767,7 +767,7 @@ static int reply_Uint(file_descriptor *desc, Uint result) {
TRACE_C('R');
tmp[0] = FILE_RESP_NUMBER;
-#if SIZEOF_VOID_P == 4
+#if SIZEOF_VOID_P == 4 || HALFWORD_HEAP
put_int32(0, tmp+1);
#else
put_int32(result>>32, tmp+1);
@@ -1620,7 +1620,7 @@ static void invoke_open(void *data)
status = efile_may_openfile(&d->errInfo, d->b);
if (status || (d->errInfo.posix_errno != EISDIR)) {
mode = (d->flags & EFILE_MODE_READ) ? "rb" : "wb";
- d->fd = (Sint) erts_gzopen(d->b, mode);
+ d->fd = (SWord) erts_gzopen(d->b, mode);
if ((gzFile)d->fd) {
status = 1;
} else {
diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c
index c6e23ee647..e8456cc616 100644
--- a/erts/emulator/drivers/common/inet_drv.c
+++ b/erts/emulator/drivers/common/inet_drv.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1997-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1997-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -41,14 +41,12 @@
#define STRINGIFY_1(b) IDENTITY(#b)
#define STRINGIFY(a) STRINGIFY_1(a)
-#ifndef _OSE_
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_SYS_UIO_H
#include <sys/uio.h>
#endif
-#endif
/* All platforms fail on malloc errors. */
@@ -186,18 +184,8 @@ static unsigned long one_value = 1;
#include <netdb.h>
#endif
-#ifndef _OSE_
#include <sys/socket.h>
#include <netinet/in.h>
-#else
-/* datatypes and macros from Solaris socket.h */
-struct linger {
- int l_onoff; /* option on/off */
- int l_linger; /* linger time */
-};
-#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */
-#define SO_LINGER 0x0080 /* linger on close if data present */
-#endif
#ifdef VXWORKS
#include <rpc/rpctypes.h>
@@ -206,12 +194,10 @@ struct linger {
#include <rpc/types.h>
#endif
-#ifndef _OSE_
#include <netinet/tcp.h>
#include <arpa/inet.h>
-#endif
-#if (!defined(VXWORKS) && !defined(_OSE_))
+#if (!defined(VXWORKS))
#include <sys/param.h>
#ifdef HAVE_ARPA_NAMESER_H
#include <arpa/nameser.h>
@@ -226,33 +212,11 @@ struct linger {
#include <sys/ioctl.h>
#endif
-#ifndef _OSE_
#include <net/if.h>
-#else
-#define IFF_MULTICAST 0x00000800
-#endif
-
-#ifdef _OSE_
-#include "inet.h"
-#include "ineterr.h"
-#include "ose_inet_drv.h"
-#include "nameser.h"
-#include "resolv.h"
-#define SET_ASYNC(s) setsockopt((s), SOL_SOCKET, SO_OSEEVENT, (&(s)), sizeof(int))
-
-extern void select_release(void);
-
-#endif /* _OSE_ */
-
-/* Solaris headers, only to be used with SFK */
-#ifdef _OSE_SFK_
-#include <ctype.h>
-#include <string.h>
-#endif
/* SCTP support -- currently for UNIX platforms only: */
#undef HAVE_SCTP
-#if (!defined(VXWORKS) && !defined(_OSE_) && !defined(__WIN32__) && defined(HAVE_SCTP_H))
+#if (!defined(VXWORKS) && !defined(__WIN32__) && defined(HAVE_SCTP_H))
#include <netinet/sctp.h>
@@ -362,20 +326,6 @@ static int my_strncasecmp(const char *s1, const char *s2, size_t n)
#define sock_htons(x) htons((x))
#define sock_htonl(x) htonl((x))
-#ifdef _OSE_
-#define sock_accept(s, addr, len) ose_inet_accept((s), (addr), (len))
-#define sock_send(s,buf,len,flag) ose_inet_send((s),(buf),(len),(flag))
-#define sock_sendto(s,buf,blen,flag,addr,alen) \
- ose_inet_sendto((s),(buf),(blen),(flag),(addr),(alen))
-#define sock_sendv(s, vec, size, np, flag) \
- (*(np) = ose_inet_sendv((s), (SysIOVec*)(vec), (size)))
-#define sock_open(af, type, proto) ose_inet_socket((af), (type), (proto))
-#define sock_close(s) ose_inet_close((s))
-#define sock_hostname(buf, len) ose_gethostname((buf), (len))
-#define sock_getservbyname(name,proto) ose_getservbyname((name), (proto))
-#define sock_getservbyport(port,proto) ose_getservbyport((port), (proto))
-
-#else
#define sock_accept(s, addr, len) accept((s), (addr), (len))
#define sock_send(s,buf,len,flag) send((s),(buf),(len),(flag))
#define sock_sendto(s,buf,blen,flag,addr,alen) \
@@ -391,7 +341,6 @@ static int my_strncasecmp(const char *s1, const char *s2, size_t n)
#define sock_hostname(buf, len) gethostname((buf), (len))
#define sock_getservbyname(name,proto) getservbyname((name), (proto))
#define sock_getservbyport(port,proto) getservbyport((port), (proto))
-#endif /* _OSE_ */
#define sock_recv(s,buf,len,flag) recv((s),(buf),(len),(flag))
#define sock_recvfrom(s,buf,blen,flag,addr,alen) \
@@ -402,13 +351,8 @@ static int my_strncasecmp(const char *s1, const char *s2, size_t n)
#define sock_create_event(d) ((d)->s) /* return file descriptor */
#define sock_close_event(e) /* do nothing */
-#ifdef _OSE_
-#define inet_driver_select(port, e, mode, on) \
- ose_inet_select(port, e, mode, on)
-#else
#define inet_driver_select(port, e, mode, on) \
driver_select(port, e, mode | (on?ERL_DRV_USE:0), on)
-#endif /* _OSE_ */
#define sock_select(d, flags, onoff) do { \
(d)->event_mask = (onoff) ? \
@@ -3480,13 +3424,9 @@ static int inet_init()
INIT_ATOM(scheme);
/* add TCP, UDP and SCTP drivers */
-#ifdef _OSE_
- add_ose_tcp_drv_entry(&tcp_inet_driver_entry);
- add_ose_udp_drv_entry(&udp_inet_driver_entry);
-#else
add_driver_entry(&tcp_inet_driver_entry);
add_driver_entry(&udp_inet_driver_entry);
-# ifdef HAVE_SCTP
+#ifdef HAVE_SCTP
/* Check the size of SCTP AssocID -- currently both this driver and the
Erlang part require 32 bit: */
ASSERT(sizeof(sctp_assoc_t)==ASSOC_ID_LEN);
@@ -3501,8 +3441,8 @@ static int inet_init()
add_driver_entry(&sctp_inet_driver_entry);
}
}
-# endif
-#endif /* _OSE_ */
+#endif
+
/* remove the dummy inet driver */
remove_driver_entry(&inet_driver_entry);
return 0;
@@ -7518,7 +7458,6 @@ static int tcp_inet_ctl(ErlDrvData e, unsigned int cmd, char* buf, int len,
tcp_deliver(desc, 0);
return ctl_reply(INET_REP_OK, NULL, 0, rbuf, rsize);
}
-#ifndef _OSE_
case TCP_REQ_SHUTDOWN: {
int how;
DEBUGF(("tcp_inet_ctl(%ld): FDOPEN\r\n", (long)desc->inet.port));
@@ -7535,7 +7474,6 @@ static int tcp_inet_ctl(ErlDrvData e, unsigned int cmd, char* buf, int len,
return ctl_error(sock_errno(), rbuf, rsize);
}
}
-#endif
default:
DEBUGF(("tcp_inet_ctl(%ld): %u\r\n", (long)desc->inet.port, cmd));
return inet_ctl(INETP(desc), cmd, buf, len, rbuf, rsize);
diff --git a/erts/emulator/drivers/common/zlib_drv.c b/erts/emulator/drivers/common/zlib_drv.c
index 723efeaa13..f50899a730 100644
--- a/erts/emulator/drivers/common/zlib_drv.c
+++ b/erts/emulator/drivers/common/zlib_drv.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2003-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2003-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -115,7 +115,7 @@ typedef struct {
static int zlib_inflate(ZLibData* d, int flush);
static int zlib_deflate(ZLibData* d, int flush);
-#if defined(_OSE_) || defined(__WIN32__)
+#if defined(__WIN32__)
static int i32(char* buf)
#else
static inline int i32(char* buf)
diff --git a/erts/emulator/drivers/unix/ttsl_drv.c b/erts/emulator/drivers/unix/ttsl_drv.c
index 4cd54c073f..d782b044a9 100644
--- a/erts/emulator/drivers/unix/ttsl_drv.c
+++ b/erts/emulator/drivers/unix/ttsl_drv.c
@@ -314,7 +314,7 @@ static ErlDrvData ttysl_start(ErlDrvPort port, char* buf)
sys_sigset(SIGCONT, cont);
sys_sigset(SIGWINCH, winch);
- driver_select(port, (ErlDrvEvent)(Uint)ttysl_fd, ERL_DRV_READ|ERL_DRV_USE, 1);
+ driver_select(port, (ErlDrvEvent)(UWord)ttysl_fd, ERL_DRV_READ|ERL_DRV_USE, 1);
ttysl_port = port;
/* we need to know this when we enter the break handler */
@@ -394,7 +394,7 @@ static void ttysl_stop(ErlDrvData ttysl_data)
stop_lbuf();
stop_termcap();
tty_reset(ttysl_fd);
- driver_select(ttysl_port, (ErlDrvEvent)(Uint)ttysl_fd, ERL_DRV_READ|ERL_DRV_USE, 0);
+ driver_select(ttysl_port, (ErlDrvEvent)(UWord)ttysl_fd, ERL_DRV_READ|ERL_DRV_USE, 0);
sys_sigset(SIGCONT, SIG_DFL);
sys_sigset(SIGWINCH, SIG_DFL);
}
@@ -685,7 +685,7 @@ static void ttysl_from_tty(ErlDrvData ttysl_data, ErlDrvEvent fd)
utf8buf_size = 0;
}
- if ((i = read((int)(Sint)fd, (char *) p, left)) >= 0) {
+ if ((i = read((int)(SWord)fd, (char *) p, left)) >= 0) {
if (p != b) {
i += (p - b);
}
diff --git a/erts/emulator/drivers/unix/unix_efile.c b/erts/emulator/drivers/unix/unix_efile.c
index d395b68691..1d094ee613 100644
--- a/erts/emulator/drivers/unix/unix_efile.c
+++ b/erts/emulator/drivers/unix/unix_efile.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1997-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1997-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
/*
@@ -34,17 +34,6 @@
#include <sys/uio.h>
#endif
-#ifdef _OSE_
-#include "efs.h"
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#ifdef _OSE_SFK_
-#include <string.h>
-#endif
-#endif /* _OSE_ */
-
#if defined(__APPLE__) && defined(__MACH__) && !defined(__DARWIN__)
#define DARWIN 1
#endif
@@ -88,23 +77,6 @@ extern STATUS copy(char *, char *);
* Macros for testing file types.
*/
-#ifdef _OSE_
-
-#define ISDIR(st) S_ISDIR(((st).st_mode))
-#define ISREG(st) S_ISREG(((st).st_mode))
-#define ISDEV(st) (S_ISCHR(((st).st_mode)) || S_ISBLK(((st).st_mode)))
-#define ISLNK(st) S_ISLNK(((st).st_mode))
-#ifdef NO_UMASK
-#define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
-#define DIR_MODE (S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
-#else
-#define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
-#define DIR_MODE (S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP | S_IROTH | \
- S_IWOTH | S_IXOTH)
-#endif
-
-#else /* !_OSE_ */
-
#define ISDIR(st) (((st).st_mode & S_IFMT) == S_IFDIR)
#define ISREG(st) (((st).st_mode & S_IFMT) == S_IFREG)
#define ISDEV(st) \
@@ -118,8 +90,6 @@ extern STATUS copy(char *, char *);
#define DIR_MODE 0777
#endif
-#endif /* _OSE_ */
-
#ifdef VXWORKS /* Currently only used on vxworks */
#define EF_ALLOC(S) driver_alloc((S))
@@ -361,15 +331,6 @@ path_size(char *pathname)
#endif /* VXWORKS */
-#ifdef _OSE_
-static int
-ose_enotsup(Efile_error *errInfo)
-{
- errInfo->posix_errno = errInfo->os_errno = ENOTSUP;
- return 0;
-}
-#endif /* _OSE_ */
-
int
efile_mkdir(Efile_error* errInfo, /* Where to return error codes. */
char* name) /* Name of directory to create. */
@@ -446,18 +407,12 @@ efile_delete_file(Efile_error* errInfo, /* Where to return error codes. */
char* name) /* Name of file to delete. */
{
CHECK_PATHLEN(name,errInfo);
-#ifdef _OSE_
- if (remove(name) == 0) {
- return 1;
- }
-#else
if (unlink(name) == 0) {
return 1;
}
if (errno == EISDIR) { /* Linux sets the wrong error code. */
errno = EPERM;
}
-#endif
return check_error(-1, errInfo);
}
@@ -524,7 +479,7 @@ efile_rename(Efile_error* errInfo, /* Where to return error codes. */
if (errno == ENOTEMPTY) {
errno = EEXIST;
}
-#if defined (sparc) && !defined(VXWORKS) && !defined(_OSE_)
+#if defined (sparc) && !defined(VXWORKS)
/*
* SunOS 4.1.4 reports overwriting a non-empty directory with a
* directory as EINVAL instead of EEXIST (first rule out the correct
@@ -855,7 +810,7 @@ efile_fileinfo(Efile_error* errInfo, Efile_info* pInfo,
CHECK_PATHLEN(name, errInfo);
if (info_for_link) {
-#if (defined(VXWORKS) || defined(_OSE_))
+#if (defined(VXWORKS))
result = stat(name, &statbuf);
#else
result = lstat(name, &statbuf);
@@ -939,11 +894,7 @@ efile_fileinfo(Efile_error* errInfo, Efile_info* pInfo,
pInfo->mode = statbuf.st_mode;
pInfo->links = statbuf.st_nlink;
pInfo->major_device = statbuf.st_dev;
-#ifdef _OSE_
- pInfo->minor_device = 0;
-#else
pInfo->minor_device = statbuf.st_rdev;
-#endif
pInfo->inode = statbuf.st_ino;
pInfo->uid = statbuf.st_uid;
pInfo->gid = statbuf.st_gid;
@@ -989,11 +940,9 @@ efile_write_info(Efile_error *errInfo, Efile_info *pInfo, char *name)
* you don't try to chown a file to someone besides youself.
*/
-#ifndef _OSE_
if (chown(name, pInfo->uid, pInfo->gid) && errno != EPERM) {
return check_error(-1, errInfo);
}
-#endif
if (pInfo->mode != -1) {
mode_t newMode = pInfo->mode & (S_ISUID | S_ISGID |
@@ -1008,8 +957,6 @@ efile_write_info(Efile_error *errInfo, Efile_info *pInfo, char *name)
#endif /* !VXWORKS */
-#ifndef _OSE_
-
if (pInfo->accessTime.year != -1 && pInfo->modifyTime.year != -1) {
struct utimbuf tval;
struct tm timebuf;
@@ -1041,7 +988,6 @@ efile_write_info(Efile_error *errInfo, Efile_info *pInfo, char *name)
return check_error(utime(name, &tval), errInfo);
#endif
}
-#endif /* !_OSE_ */
return 1;
}
@@ -1451,9 +1397,6 @@ efile_truncate_file(Efile_error* errInfo, int *fd, int flags)
int
efile_readlink(Efile_error* errInfo, char* name, char* buffer, size_t size)
{
-#ifdef _OSE_
- return ose_enotsup(errInfo);
-#else
#ifdef VXWORKS
return vxworks_enotsup(errInfo);
#else
@@ -1466,7 +1409,6 @@ efile_readlink(Efile_error* errInfo, char* name, char* buffer, size_t size)
buffer[len] = '\0';
return 1;
#endif
-#endif
}
int
@@ -1479,27 +1421,19 @@ efile_altname(Efile_error* errInfo, char* name, char* buffer, size_t size)
int
efile_link(Efile_error* errInfo, char* old, char* new)
{
-#ifdef _OSE_
- return ose_enotsup(errInfo);
-#else
#ifdef VXWORKS
return vxworks_enotsup(errInfo);
#else
return check_error(link(old, new), errInfo);
#endif
-#endif
}
int
efile_symlink(Efile_error* errInfo, char* old, char* new)
{
-#ifdef _OSE_
- return ose_enotsup(errInfo);
-#else
#ifdef VXWORKS
return vxworks_enotsup(errInfo);
#else
return check_error(symlink(old, new), errInfo);
#endif
-#endif
}
diff --git a/erts/emulator/pcre/pcre_compile.c b/erts/emulator/pcre/pcre_compile.c
index 29743362d4..9508c5a697 100644
--- a/erts/emulator/pcre/pcre_compile.c
+++ b/erts/emulator/pcre/pcre_compile.c
@@ -92,6 +92,11 @@ is 4 there is plenty of room. */
#define COMPILE_WORK_SIZE (4096)
+/* The overrun tests check for a slightly smaller size so that they detect the
+overrun before it actually does run off the end of the data block. */
+
+#define WORK_SIZE_CHECK (COMPILE_WORK_SIZE - 100)
+
/* Table for handling escaped characters in the range '0'-'z'. Positive returns
are simple data values; negative values are for special things like \d and so
@@ -2445,7 +2450,7 @@ for (;; ptr++)
#ifdef DEBUG
if (code > cd->hwm) cd->hwm = code; /* High water info */
#endif
- if (code > cd->start_workspace + COMPILE_WORK_SIZE) /* Check for overrun */
+ if (code > cd->start_workspace + WORK_SIZE_CHECK) /* Check for overrun */
{
*errorcodeptr = ERR52;
goto FAILED;
@@ -2494,7 +2499,7 @@ for (;; ptr++)
/* In the real compile phase, just check the workspace used by the forward
reference list. */
- else if (cd->hwm > cd->start_workspace + COMPILE_WORK_SIZE)
+ else if (cd->hwm > cd->start_workspace + WORK_SIZE_CHECK)
{
*errorcodeptr = ERR52;
goto FAILED;
diff --git a/erts/emulator/pcre/pcre_exec.c b/erts/emulator/pcre/pcre_exec.c
index 51625130c3..3fe13ca32e 100644
--- a/erts/emulator/pcre/pcre_exec.c
+++ b/erts/emulator/pcre/pcre_exec.c
@@ -5191,7 +5191,6 @@ for(;;)
EDEBUGF(("Loop limit break detected"));
return PCRE_ERROR_LOOP_LIMIT;
RESTART_INTERRUPTED:
- md->match_call_count = 0;
md->loop_limit = extra_data->loop_limit;
rc = match(NULL,NULL,NULL,0,md,0,NULL,0,0);
*extra_data->loop_counter_return =
diff --git a/erts/emulator/sys/common/erl_mseg.c b/erts/emulator/sys/common/erl_mseg.c
index f4e21bc05f..1c4c37b01a 100644
--- a/erts/emulator/sys/common/erl_mseg.c
+++ b/erts/emulator/sys/common/erl_mseg.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2002-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2002-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -83,10 +83,20 @@ static int is_cache_check_scheduled;
static int is_cache_check_requested;
#endif
+#if HALFWORD_HEAP
+static int initialize_pmmap(void);
+static void *pmmap(size_t size);
+static int pmunmap(void *p, size_t size);
+static void *pmremap(void *old_address, size_t old_size,
+ size_t new_size);
+#endif
+
#if HAVE_MMAP
/* Mmap ... */
#define MMAP_PROT (PROT_READ|PROT_WRITE)
+
+
#ifdef MAP_ANON
# define MMAP_FLAGS (MAP_ANON|MAP_PRIVATE)
# define MMAP_FD (-1)
@@ -102,7 +112,11 @@ static int mmap_fd;
# define HAVE_MSEG_RECREATE 0
#endif
+#if HALFWORD_HEAP
+#define CAN_PARTLY_DESTROY 0
+#else
#define CAN_PARTLY_DESTROY 1
+#endif
#else /* #if HAVE_MMAP */
#define CAN_PARTLY_DESTROY 0
#error "Not supported"
@@ -232,6 +246,7 @@ static void thread_safe_init(void)
{
erts_mtx_init(&init_atoms_mutex, "mseg_init_atoms");
erts_mtx_init(&mseg_mutex, "mseg");
+
#ifdef ERTS_THREADS_NO_SMP
main_tid = erts_thr_self();
#endif
@@ -287,13 +302,9 @@ check_schedule_cache_check(void)
static void
mseg_shutdown(void)
{
-#ifdef ERTS_SMP
erts_mtx_lock(&mseg_mutex);
-#endif
mseg_clear_cache();
-#ifdef ERTS_SMP
erts_mtx_unlock(&mseg_mutex);
-#endif
}
static ERTS_INLINE void *
@@ -306,10 +317,20 @@ mseg_create(Uint size)
#if defined(ERTS_MSEG_FAKE_SEGMENTS)
seg = erts_sys_alloc(ERTS_ALC_N_INVALID, NULL, size);
#elif HAVE_MMAP
+#if HALFWORD_HEAP
+ seg = pmmap(size);
+#else
seg = (void *) mmap((void *) 0, (size_t) size,
MMAP_PROT, MMAP_FLAGS, MMAP_FD, 0);
if (seg == (void *) MAP_FAILED)
seg = NULL;
+#endif
+#if HALFWORD_HEAP
+ if ((unsigned long) seg & CHECK_POINTER_MASK) {
+ erts_fprintf(stderr,"Pointer mask failure (0x%08lx)\n",(unsigned long) seg);
+ return NULL;
+ }
+#endif
#else
#error "Missing mseg_create() implementation"
#endif
@@ -329,9 +350,11 @@ mseg_destroy(void *seg, Uint size)
#ifdef DEBUG
int res =
#endif
-
+#if HALFWORD_HEAP
+ pmunmap((void *) seg, size);
+#else
munmap((void *) seg, size);
-
+#endif
ASSERT(size % page_size == 0);
ASSERT(res == 0);
#else
@@ -355,12 +378,18 @@ mseg_recreate(void *old_seg, Uint old_size, Uint new_size)
#if defined(ERTS_MSEG_FAKE_SEGMENTS)
new_seg = erts_sys_realloc(ERTS_ALC_N_INVALID, NULL, old_seg, new_size);
#elif HAVE_MREMAP
+#if HALFWORD_HEAP
+ new_seg = (void *) pmremap((void *) old_seg,
+ (size_t) old_size,
+ (size_t) new_size);
+#else
new_seg = (void *) mremap((void *) old_seg,
(size_t) old_size,
(size_t) new_size,
MREMAP_MAYMOVE);
if (new_seg == (void *) MAP_FAILED)
new_seg = NULL;
+#endif
#else
#error "Missing mseg_recreate() implementation"
#endif
@@ -375,8 +404,9 @@ mseg_recreate(void *old_seg, Uint old_size, Uint new_size)
static ERTS_INLINE cache_desc_t *
alloc_cd(void)
-{
+{
cache_desc_t *cd = free_cache_descs;
+ ERTS_LC_ASSERT(erts_lc_mtx_is_locked(&mseg_mutex));
if (cd)
free_cache_descs = cd->next;
return cd;
@@ -385,6 +415,7 @@ alloc_cd(void)
static ERTS_INLINE void
free_cd(cache_desc_t *cd)
{
+ ERTS_LC_ASSERT(erts_lc_mtx_is_locked(&mseg_mutex));
cd->next = free_cache_descs;
free_cache_descs = cd;
}
@@ -393,6 +424,7 @@ free_cd(cache_desc_t *cd)
static ERTS_INLINE void
link_cd(cache_desc_t *cd)
{
+ ERTS_LC_ASSERT(erts_lc_mtx_is_locked(&mseg_mutex));
if (cache)
cache->prev = cd;
cd->next = cache;
@@ -410,6 +442,7 @@ link_cd(cache_desc_t *cd)
static ERTS_INLINE void
end_link_cd(cache_desc_t *cd)
{
+ ERTS_LC_ASSERT(erts_lc_mtx_is_locked(&mseg_mutex));
if (cache_end)
cache_end->next = cd;
cd->next = NULL;
@@ -427,7 +460,7 @@ end_link_cd(cache_desc_t *cd)
static ERTS_INLINE void
unlink_cd(cache_desc_t *cd)
{
-
+ ERTS_LC_ASSERT(erts_lc_mtx_is_locked(&mseg_mutex));
if (cd->next)
cd->next->prev = cd->prev;
else
@@ -445,6 +478,7 @@ static ERTS_INLINE void
check_cache_limits(void)
{
cache_desc_t *cd;
+ ERTS_LC_ASSERT(erts_lc_mtx_is_locked(&mseg_mutex));
max_cached_seg_size = 0;
min_cached_seg_size = ~((Uint) 0);
for (cd = cache; cd; cd = cd->next) {
@@ -463,7 +497,7 @@ adjust_cache_size(int force_check_limits)
int check_limits = force_check_limits;
Sint max_cached = ((Sint) segments.current.watermark
- (Sint) segments.current.no);
-
+ ERTS_LC_ASSERT(erts_lc_mtx_is_locked(&mseg_mutex));
while (((Sint) cache_size) > max_cached && ((Sint) cache_size) > 0) {
ASSERT(cache_end);
cd = cache_end;
@@ -487,9 +521,7 @@ adjust_cache_size(int force_check_limits)
static void
check_cache(void *unused)
{
-#ifdef ERTS_SMP
erts_mtx_lock(&mseg_mutex);
-#endif
is_cache_check_scheduled = 0;
@@ -502,10 +534,7 @@ check_cache(void *unused)
INC_CC(check_cache);
-#ifdef ERTS_SMP
erts_mtx_unlock(&mseg_mutex);
-#endif
-
}
static void
@@ -1328,6 +1357,10 @@ erts_mseg_init(ErtsMsegInit_t *init)
erl_exit(ERTS_ABORT_EXIT, "erts_mseg: unable to open /dev/zero\n");
#endif
+#if HAVE_MMAP && HALFWORD_HEAP
+ initialize_pmmap();
+#endif
+
page_size = GET_PAGE_SIZE;
page_shift = 1;
@@ -1450,3 +1483,419 @@ erts_mseg_test(unsigned long op,
}
+#if HALFWORD_HEAP
+/*
+ * Very simple page oriented mmap replacer. Works in the lower
+ * 32 bit address range of a 64bit program.
+ * Implements anonymous mmap mremap and munmap with address order first fit.
+ * The free list is expected to be very short...
+ * To be used for compressed pointers in Erlang halfword emulator
+ * implementation. The MacOS X version is more of a toy, it's not really
+ * for production as the halfword erlang VM relies on Linux specific memory
+ * mapping tricks.
+ */
+
+/*#define HARDDEBUG 1*/
+
+#ifdef __APPLE__
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+#define INIT_LOCK() do {erts_mtx_init(&pmmap_mutex, "pmmap");} while(0)
+
+#define TAKE_LOCK() do {erts_mtx_lock(&pmmap_mutex);} while(0)
+
+#define RELEASE_LOCK() do {erts_mtx_unlock(&pmmap_mutex);} while(0)
+
+static erts_mtx_t pmmap_mutex; /* Also needed when !USE_THREADS */
+
+typedef struct _free_block {
+ unsigned long num; /*pages*/
+ struct _free_block *next;
+} FreeBlock;
+
+/* Assigned once and for all */
+static size_t pagsz;
+
+/* Protect with lock */
+static FreeBlock *first;
+
+static size_t round_up_to_pagesize(size_t size)
+{
+ size_t x = size / pagsz;
+
+ if ((size % pagsz)) {
+ ++x;
+ }
+
+ return pagsz * x;
+}
+
+static size_t round_down_to_pagesize(size_t size)
+{
+ size_t x = size / pagsz;
+
+ return pagsz * x;
+}
+
+static void *do_map(void *ptr, size_t sz)
+{
+ void *res;
+
+ if (round_up_to_pagesize(sz) != sz) {
+#ifdef HARDDEBUG
+ fprintf(stderr,"Mapping of address %p with size %ld "
+ "does not map complete pages\r\n",
+ (void *) ptr, (unsigned long) sz);
+#endif
+ return NULL;
+ }
+
+ if (((unsigned long) ptr) % pagsz) {
+#ifdef HARDDEBUG
+ fprintf(stderr,"Mapping of address %p with size %ld "
+ "is not page aligned\r\n",
+ (void *) ptr, (unsigned long) sz);
+#endif
+ return NULL;
+ }
+
+
+ res = mmap(ptr, sz,
+ PROT_READ | PROT_WRITE, MAP_PRIVATE |
+ MAP_ANONYMOUS | MAP_FIXED,
+ -1 , 0);
+
+ if (res == MAP_FAILED) {
+#ifdef HARDDEBUG
+ fprintf(stderr,"Mapping of address %p with size %ld failed!\r\n",
+ (void *) ptr, (unsigned long) sz);
+#endif
+ return NULL;
+ }
+
+ return res;
+}
+
+static int do_unmap(void *ptr, size_t sz)
+{
+ void *res;
+
+ if (round_up_to_pagesize(sz) != sz) {
+#ifdef HARDDEBUG
+ fprintf(stderr,"Mapping of address %p with size %ld "
+ "does not map complete pages\r\n",
+ (void *) ptr, (unsigned long) sz);
+#endif
+ return 1;
+ }
+
+ if (((unsigned long) ptr) % pagsz) {
+#ifdef HARDDEBUG
+ fprintf(stderr,"Mapping of address %p with size %ld "
+ "is not page aligned\r\n",
+ (void *) ptr, (unsigned long) sz);
+#endif
+ return 1;
+ }
+
+
+ res = mmap(ptr, sz,
+ PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE
+ | MAP_FIXED,
+ -1 , 0);
+
+ if (res == MAP_FAILED) {
+#ifdef HARDDEBUG
+ fprintf(stderr,"Mapping of address %p with size %ld failed!\r\n",
+ (void *) ptr, (unsigned long) sz);
+#endif
+ return 1;
+ }
+
+ return 0;
+}
+
+#ifdef __APPLE__
+/*
+ * The first 4 gig's are protected on Macos X for 64bit processes :(
+ * The range 0x1000000000 - 0x10FFFFFFFF is selected as an arbitrary
+ * value of a normally unused range... Real MMAP's will avoid
+ * it and all 32bit compressed pointers can be in that range...
+ * More expensive than on Linux where expansion of compressed
+ * poiters involves no masking (as they are in the first 4 gig's).
+ * It's also very uncertain if the MAP_NORESERVE flag really has
+ * any effect in MacOS X. Swap space may always be allocated...
+ */
+#define SET_RANGE_MIN() /* nothing */
+#define RANGE_MIN 0x1000000000UL
+#define RANGE_MAX 0x1100000000UL
+#define RANGE_MASK (RANGE_MIN)
+#define EXTRA_MAP_FLAGS (MAP_FIXED)
+#else
+static size_t range_min;
+#define SET_RANGE_MIN() do { range_min = (size_t) sbrk(0); } while (0)
+#define RANGE_MIN range_min
+#define RANGE_MAX 0x100000000UL
+#define RANGE_MASK 0UL
+#define EXTRA_MAP_FLAGS (0)
+#endif
+
+static int initialize_pmmap(void)
+{
+ char *p,*q,*rptr;
+ size_t rsz;
+ FreeBlock *initial;
+
+
+ pagsz = getpagesize();
+ SET_RANGE_MIN();
+ if (sizeof(void *) != 8) {
+ erl_exit(1,"Halfword emulator cannot be run in 32bit mode");
+ }
+
+ p = (char *) RANGE_MIN;
+ q = (char *) RANGE_MAX;
+
+ rsz = round_down_to_pagesize(q - p);
+
+ rptr = mmap((void *) p, rsz,
+ PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS |
+ MAP_NORESERVE | EXTRA_MAP_FLAGS,
+ -1 , 0);
+#ifdef HARDDEBUG
+ printf("rsz = %ld, pages = %ld, rptr = %p\r\n",
+ (unsigned long) rsz, (unsigned long) (rsz / pagsz),
+ (void *) rptr);
+#endif
+ if (!do_map(rptr,pagsz)) {
+ erl_exit(1,"Could not actually mmap first page for halfword emulator...\n");
+ }
+ initial = (FreeBlock *) rptr;
+ initial->num = (rsz / pagsz);
+ initial->next = NULL;
+ first = initial;
+ INIT_LOCK();
+ return 0;
+}
+
+#ifdef HARDDEBUG
+static void dump_freelist(void)
+{
+ FreeBlock *p = first;
+
+ while (p) {
+ printf("p = %p\r\np->num = %ld\r\np->next = %p\r\n\r\n",
+ (void *) p, (unsigned long) p->num, (void *) p->next);
+ p = p->next;
+ }
+}
+#endif
+
+
+static void *pmmap(size_t size)
+{
+ size_t real_size = round_up_to_pagesize(size);
+ size_t num_pages = real_size / pagsz;
+ FreeBlock **block;
+ FreeBlock *tail;
+ FreeBlock *res;
+ TAKE_LOCK();
+ for (block = &first;
+ *block != NULL && (*block)->num < num_pages;
+ block = &((*block)->next))
+ ;
+ if (!(*block)) {
+ RELEASE_LOCK();
+ return NULL;
+ }
+ if ((*block)->num == num_pages) {
+ /* nice, perfect fit */
+ res = *block;
+ *block = (*block)->next;
+ } else {
+ tail = (FreeBlock *) (((char *) ((void *) (*block))) + real_size);
+ if (!do_map(tail,pagsz)) {
+#ifdef HARDDEBUG
+ fprintf(stderr, "Could not actually allocate page at %p...\r\n",
+ (void *) tail);
+#endif
+ RELEASE_LOCK();
+ return NULL;
+ }
+ tail->num = (*block)->num - num_pages;
+ tail->next = (*block)->next;
+ res = *block;
+ *block = tail;
+ }
+ RELEASE_LOCK();
+ if (!do_map(res,real_size)) {
+#ifdef HARDDEBUG
+ fprintf(stderr, "Could not actually allocate %ld at %p...\r\n",
+ (unsigned long) real_size, (void *) res);
+#endif
+ return NULL;
+ }
+
+ return (void *) res;
+}
+
+static int pmunmap(void *p, size_t size)
+{
+ size_t real_size = round_up_to_pagesize(size);
+ size_t num_pages = real_size / pagsz;
+ FreeBlock *block;
+ FreeBlock *last;
+ FreeBlock *nb = (FreeBlock *) p;
+
+ if (real_size > pagsz) {
+ if (do_unmap(((char *) p) + pagsz,real_size - pagsz)) {
+ return 1;
+ }
+ }
+
+ TAKE_LOCK();
+
+ last = NULL;
+ block = first;
+ while(block != NULL && ((void *) block) < p) {
+ last = block;
+ block = block->next;
+ }
+
+ if (block != NULL &&
+ ((void *) block) == ((void *) (((char *) p) + real_size))) {
+ /* Merge new free block with following */
+ nb->num = block->num + num_pages;
+ nb->next = block->next;
+ if (do_unmap(block,pagsz)) {
+ RELEASE_LOCK();
+ return 1;
+ }
+ } else {
+ /* just link in */
+ nb->num = num_pages;
+ nb->next = block;
+ }
+ if (last != NULL) {
+ if (p == ((void *) (((char *) last) + (last->num * pagsz)))) {
+ /* Merge with previous */
+ last->num += nb->num;
+ last->next = nb->next;
+ if (do_unmap(nb,pagsz)) {
+ RELEASE_LOCK();
+ return 1;
+ }
+ } else {
+ last->next = nb;
+ }
+ } else {
+ first = nb;
+ }
+ RELEASE_LOCK();
+ return 0;
+}
+
+static void *pmremap(void *old_address, size_t old_size,
+ size_t new_size)
+{
+ size_t new_real_size = round_up_to_pagesize(new_size);
+ size_t new_num_pages = new_real_size / pagsz;
+ size_t old_real_size = round_up_to_pagesize(old_size);
+ size_t old_num_pages = old_real_size / pagsz;
+ if (new_num_pages == old_num_pages) {
+ return old_address;
+ } else if (new_num_pages < old_num_pages) { /* Shrink */
+ size_t nfb_pages = old_num_pages - new_num_pages;
+ size_t nfb_real_size = old_real_size - new_real_size;
+ void *vnfb = (void *) (((char *)old_address) + new_real_size);
+ FreeBlock *nfb = (FreeBlock *) vnfb;
+ FreeBlock **block;
+ TAKE_LOCK();
+ for (block = &first;
+ *block != NULL && (*block) < nfb;
+ block = &((*block)->next))
+ ;
+ if (!(*block) ||
+ (*block) > ((FreeBlock *)(((char *) vnfb) + nfb_real_size))) {
+ /* Normal link in */
+ if (nfb_pages > 1) {
+ if (do_unmap((void *)(((char *) vnfb) + pagsz),
+ (nfb_pages - 1)*pagsz)) {
+ return NULL;
+ }
+ }
+ nfb->next = (*block);
+ nfb->num = nfb_pages;
+ (*block) = nfb;
+ } else { /* block merge */
+ nfb->next = (*block)->next;
+ nfb->num = nfb_pages + (*block)->num;
+ /* unmap also the first page of the next freeblock */
+ (*block) = nfb;
+ if (do_unmap((void *)(((char *) vnfb) + pagsz),
+ nfb_pages*pagsz)) {
+ return NULL;
+ }
+ }
+ RELEASE_LOCK();
+ return old_address;
+ } else { /* Enlarge */
+ FreeBlock **block;
+ void *old_end = (void *) (((char *)old_address) + old_real_size);
+ TAKE_LOCK();
+ for (block = &first;
+ *block != NULL && (*block) < (FreeBlock *) old_address;
+ block = &((*block)->next))
+ ;
+ if ((*block) == NULL || old_end > ((void *) RANGE_MAX) ||
+ (*block) != old_end ||
+ (*block)->num < (new_num_pages - old_num_pages)) {
+ /* cannot extend */
+ void *result;
+ RELEASE_LOCK();
+ result = pmmap(new_size);
+ if (result == NULL) {
+ return NULL;
+ }
+ memcpy(result,old_address,old_size);
+ if (pmunmap(old_address,old_size)) {
+ /* Oups... */
+ pmunmap(result,new_size);
+ return NULL;
+ }
+ return result;
+ } else { /* extend */
+ size_t remaining_pages = (*block)->num -
+ (new_num_pages - old_num_pages);
+ if (!remaining_pages) {
+ void *p = (void *) (((char *) (*block)) + pagsz);
+ void *n = (*block)->next;
+ size_t x = ((*block)->num - 1) * pagsz;
+ if (x > 0) {
+ if (do_map(p,x) == NULL) {
+ RELEASE_LOCK();
+ return NULL;
+ }
+ }
+ (*block) = n;
+ } else {
+ FreeBlock *nfb = (FreeBlock *) ((void *)
+ (((char *) old_address) +
+ new_real_size));
+ void *p = (void *) (((char *) (*block)) + pagsz);
+ if (do_map(p,new_real_size - old_real_size) == NULL) {
+ RELEASE_LOCK();
+ return NULL;
+ }
+ nfb->num = remaining_pages;
+ nfb->next = (*block)->next;
+ (*block) = nfb;
+ }
+ RELEASE_LOCK();
+ return old_address;
+ }
+ }
+}
+
+#endif /* HALFWORD_HEAP */
diff --git a/erts/emulator/sys/common/erl_mseg.h b/erts/emulator/sys/common/erl_mseg.h
index 1c5aa63e90..d8053eb0d9 100644
--- a/erts/emulator/sys/common/erl_mseg.h
+++ b/erts/emulator/sys/common/erl_mseg.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2002-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2002-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -58,8 +58,8 @@ typedef struct {
typedef struct {
int cache;
int preserv;
- Uint abs_shrink_th;
- Uint rel_shrink_th;
+ UWord abs_shrink_th;
+ UWord rel_shrink_th;
} ErtsMsegOpt_t;
#define ERTS_MSEG_DEFAULT_OPT_INITIALIZER \
diff --git a/erts/emulator/sys/common/erl_poll.c b/erts/emulator/sys/common/erl_poll.c
index 5cca33d7eb..d268547e1a 100644
--- a/erts/emulator/sys/common/erl_poll.c
+++ b/erts/emulator/sys/common/erl_poll.c
@@ -2405,6 +2405,7 @@ ERTS_POLL_EXPORT(erts_poll_info)(ErtsPollSet ps, ErtsPollInfo *pip)
while (urqbp) {
size += sizeof(ErtsPollSetUpdateRequestsBlock);
pending_updates += urqbp->len;
+ urqbp = urqbp->next;
}
}
#endif
diff --git a/erts/emulator/sys/unix/sys.c b/erts/emulator/sys/unix/sys.c
index 31ab5d03de..50b208848f 100644
--- a/erts/emulator/sys/unix/sys.c
+++ b/erts/emulator/sys/unix/sys.c
@@ -367,7 +367,7 @@ erts_sys_misc_mem_sz(void)
/*
* reset the terminal to the original settings on exit
*/
-void sys_tty_reset(void)
+void sys_tty_reset(int exit_code)
{
if (using_oldshell && !replace_intr) {
SET_BLOCKING(0);
@@ -1325,7 +1325,8 @@ static char **build_unix_environment(char *block)
}
for (j = 0; j < i; j++) {
- if (cpp[j][strlen(cpp[j])-1] == '=') {
+ size_t last = strlen(cpp[j])-1;
+ if (cpp[j][last] == '=' && strchr(cpp[j], '=') == cpp[j]+last) {
cpp[j] = cpp[--len];
}
}
diff --git a/erts/emulator/sys/vxworks/sys.c b/erts/emulator/sys/vxworks/sys.c
index abddc7e107..411b4b37cf 100644
--- a/erts/emulator/sys/vxworks/sys.c
+++ b/erts/emulator/sys/vxworks/sys.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1997-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1997-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
/*
@@ -143,6 +143,14 @@ volatile int erts_break_requested;
/********************* General functions ****************************/
+/*
+ * Reset the terminal to the original settings on exit
+ * (nothing to do for WxWorks).
+ */
+void sys_tty_reset(int exit_code)
+{
+}
+
Uint
erts_sys_misc_mem_sz(void)
{
diff --git a/erts/emulator/sys/win32/sys.c b/erts/emulator/sys/win32/sys.c
index 3194493ac8..46dee826f0 100644
--- a/erts/emulator/sys/win32/sys.c
+++ b/erts/emulator/sys/win32/sys.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1996-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1996-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
/*
@@ -187,6 +187,17 @@ erts_sys_misc_mem_sz(void)
return res;
}
+/*
+ * Reset the terminal to the original settings on exit
+ */
+void sys_tty_reset(int exit_code)
+{
+ if (exit_code > 0)
+ ConWaitForExit();
+ else
+ ConNormalExit();
+}
+
void erl_sys_args(int* argc, char** argv)
{
char *event_name;
diff --git a/erts/emulator/test/Makefile b/erts/emulator/test/Makefile
index b1374950b2..97b94c466f 100644
--- a/erts/emulator/test/Makefile
+++ b/erts/emulator/test/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1997-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1997-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
@@ -61,7 +61,7 @@ MODULES= \
exception_SUITE \
float_SUITE \
fun_SUITE \
- fun_r11_SUITE \
+ fun_r12_SUITE \
gc_SUITE \
guard_SUITE \
hash_SUITE \
@@ -81,6 +81,7 @@ MODULES= \
port_bif_SUITE \
process_SUITE \
pseudoknot_SUITE \
+ receive_SUITE \
ref_SUITE \
register_SUITE \
save_calls_SUITE \
@@ -117,7 +118,8 @@ NO_OPT= bs_bincomp \
bs_match_int \
bs_match_tail \
bs_match_misc \
- bs_utf
+ bs_utf \
+ guard
NO_OPT_MODULES= $(NO_OPT:%=%_no_opt_SUITE)
diff --git a/erts/emulator/test/beam_SUITE.erl b/erts/emulator/test/beam_SUITE.erl
index cc1626630b..228ff15341 100644
--- a/erts/emulator/test/beam_SUITE.erl
+++ b/erts/emulator/test/beam_SUITE.erl
@@ -1,26 +1,26 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1998-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(beam_SUITE).
-export([all/1, packed_registers/1, apply_last/1, apply_last_bif/1,
- buildo_mucho/1, heap_sizes/1, big_lists/1]).
+ buildo_mucho/1, heap_sizes/1, big_lists/1, fconv/1]).
-export([applied/2]).
@@ -279,3 +279,26 @@ b() ->
_} ->
ok
end.
+
+fconv(Config) when is_list(Config) ->
+ ?line do_fconv(atom),
+ ?line do_fconv(nil),
+ ?line do_fconv(tuple_literal),
+ ?line 3.0 = do_fconv(1.0, 2.0),
+ ok.
+
+do_fconv(Type) ->
+ try
+ do_fconv(Type, 1.0),
+ test_server:fail()
+ catch
+ error:badarith ->
+ ok
+ end.
+
+do_fconv(atom, Float) when is_float(Float) ->
+ Float + a;
+do_fconv(nil, Float) when is_float(Float) ->
+ Float + [];
+do_fconv(tuple_literal, Float) when is_float(Float) ->
+ Float + {a,b}.
diff --git a/erts/emulator/test/binary_SUITE.erl b/erts/emulator/test/binary_SUITE.erl
index db2b3e10db..7ecc31aa29 100644
--- a/erts/emulator/test/binary_SUITE.erl
+++ b/erts/emulator/test/binary_SUITE.erl
@@ -55,7 +55,6 @@
otp_5484/1,otp_5933/1,
ordering/1,unaligned_order/1,gc_test/1,
bit_sized_binary_sizes/1,
- bitlevel_roundtrip/1,
otp_6817/1,deep/1,obsolete_funs/1,robustness/1,otp_8117/1,
otp_8180/1]).
@@ -70,7 +69,7 @@ all(suite) ->
bad_binary_to_term_2,safe_binary_to_term2,
bad_binary_to_term, bad_terms, t_hash, bad_size, bad_term_to_binary,
more_bad_terms, otp_5484, otp_5933, ordering, unaligned_order,
- gc_test, bit_sized_binary_sizes, bitlevel_roundtrip, otp_6817, otp_8117,
+ gc_test, bit_sized_binary_sizes, otp_6817, otp_8117,
deep,obsolete_funs,robustness,otp_8180].
init_per_testcase(Func, Config) when is_atom(Func), is_list(Config) ->
@@ -1150,35 +1149,6 @@ bsbs_1(A) ->
Bin = binary_to_term(<<131,$M,5:32,A,0,0,0,0,0>>),
BinSize = bit_size(Bin).
-bitlevel_roundtrip(Config) when is_list(Config) ->
- case ?t:is_release_available("r11b") of
- true -> bitlevel_roundtrip_1();
- false -> {skip,"No R11B found"}
- end.
-
-bitlevel_roundtrip_1() ->
- Name = bitlevelroundtrip,
- ?line N = list_to_atom(atom_to_list(Name) ++ "@" ++ hostname()),
- ?line ?t:start_node(Name, slave, [{erl,[{release,"r11b"}]}]),
-
- ?line {<<128>>,1} = roundtrip(N, <<1:1>>),
- ?line {<<64>>,2} = roundtrip(N, <<1:2>>),
- ?line {<<16#E0>>,3} = roundtrip(N, <<7:3>>),
- ?line {<<16#70>>,4} = roundtrip(N, <<7:4>>),
- ?line {<<16#10>>,5} = roundtrip(N, <<2:5>>),
- ?line {<<16#8>>,6} = roundtrip(N, <<2:6>>),
- ?line {<<16#2>>,7} = roundtrip(N, <<1:7>>),
- ?line {<<8,128>>,1} = roundtrip(N, <<8,1:1>>),
- ?line {<<42,248>>,5} = roundtrip(N, <<42,31:5>>),
-
- ?line ?t:stop_node(N),
- ok.
-
-roundtrip(Node, Term) ->
- {badrpc,{'EXIT',Res}} = rpc:call(Node, erlang, exit, [Term]),
- io:format("<<~p bits>> => ~w", [bit_size(Term),Res]),
- Res.
-
deep(Config) when is_list(Config) ->
?line deep_roundtrip(lists:foldl(fun(E, A) ->
[E,A]
diff --git a/erts/emulator/test/decode_packet_SUITE.erl b/erts/emulator/test/decode_packet_SUITE.erl
index 13f17e972c..6cde286871 100644
--- a/erts/emulator/test/decode_packet_SUITE.erl
+++ b/erts/emulator/test/decode_packet_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -24,10 +24,10 @@
-include("test_server.hrl").
-export([all/1,init_per_testcase/2,fin_per_testcase/2,
- basic/1, packet_size/1, neg/1, http/1, line/1, ssl/1]).
+ basic/1, packet_size/1, neg/1, http/1, line/1, ssl/1, otp_8536/1]).
all(suite) ->
- [basic, packet_size, neg, http, line, ssl].
+ [basic, packet_size, neg, http, line, ssl, otp_8536].
init_per_testcase(Func, Config) when is_atom(Func), is_list(Config) ->
Seed = {S1,S2,S3} = now(),
@@ -504,6 +504,27 @@ ssl(Config) when is_list(Config) ->
F(v2hello),
ok.
+otp_8536(doc) -> ["Corrupt sub-binary-strings from httph_bin"];
+otp_8536(Config) when is_list(Config) ->
+ lists:foreach(fun otp_8536_do/1, lists:seq(1,50)),
+ ok.
+
+otp_8536_do(N) ->
+ Data = <<"some data 123">>,
+ Letters = <<"bcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba">>,
+ <<HdrTail:N/binary,_/binary>> = Letters,
+ Hdr = <<$A, HdrTail/binary>>,
+ Bin = <<Hdr/binary, ": ", Data/binary, "\r\n\r\n">>,
+
+ io:format("Bin='~p'\n",[Bin]),
+ ?line {ok,{http_header,0,Hdr2,undefined,Data2},<<"\r\n">>} = decode_pkt(httph_bin, Bin, []),
+
+ %% Do something to trash the C-stack, how about another decode_packet:
+ decode_pkt(httph_bin,<<Letters/binary, ": ", Data/binary, "\r\n\r\n">>, []),
+
+ %% Now check that we got the expected binaries
+ {Hdr, Data} = {Hdr2, Data2}.
+
decode_pkt(Type,Bin) ->
decode_pkt(Type,Bin,[]).
decode_pkt(Type,Bin,Opts) ->
diff --git a/erts/emulator/test/distribution_SUITE.erl b/erts/emulator/test/distribution_SUITE.erl
index 8f48d8a992..7c19274696 100644
--- a/erts/emulator/test/distribution_SUITE.erl
+++ b/erts/emulator/test/distribution_SUITE.erl
@@ -1,23 +1,24 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(distribution_SUITE).
+-compile(r12).
%% Tests distribution and the tcp driver.
diff --git a/erts/emulator/test/driver_SUITE_data/chkio_drv.c b/erts/emulator/test/driver_SUITE_data/chkio_drv.c
index 9e1e5e72c2..b571cb30e6 100644
--- a/erts/emulator/test/driver_SUITE_data/chkio_drv.c
+++ b/erts/emulator/test/driver_SUITE_data/chkio_drv.c
@@ -17,7 +17,7 @@
*/
#ifndef UNIX
-#if !defined(__WIN32__) && !defined(_OSE_) && !defined(VXWORKS)
+#if !defined(__WIN32__) && !defined(VXWORKS)
#define UNIX 1
#endif
#endif
diff --git a/erts/emulator/test/driver_SUITE_data/io_ready_exit_drv.c b/erts/emulator/test/driver_SUITE_data/io_ready_exit_drv.c
index 25d4b17001..6afa46b3a2 100644
--- a/erts/emulator/test/driver_SUITE_data/io_ready_exit_drv.c
+++ b/erts/emulator/test/driver_SUITE_data/io_ready_exit_drv.c
@@ -17,7 +17,7 @@
*/
#ifndef UNIX
-#if !defined(__WIN32__) && !defined(_OSE_) && !defined(VXWORKS)
+#if !defined(__WIN32__) && !defined(VXWORKS)
#define UNIX 1
#endif
#endif
diff --git a/erts/emulator/test/driver_SUITE_data/ioq_exit_drv.c b/erts/emulator/test/driver_SUITE_data/ioq_exit_drv.c
index 2048d06123..e49de388b4 100644
--- a/erts/emulator/test/driver_SUITE_data/ioq_exit_drv.c
+++ b/erts/emulator/test/driver_SUITE_data/ioq_exit_drv.c
@@ -1,19 +1,20 @@
-/* ``The contents of this file are subject to the Erlang Public License,
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2007-2010. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
- * retrieved via the world wide web at http://www.erlang.org/.
- *
+ * retrieved online at http://www.erlang.org/.
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
- * The Initial Developer of the Original Code is Ericsson Utvecklings AB.
- * Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
- * AB. All Rights Reserved.''
- *
- * $Id$
+ *
+ * %CopyrightEnd%
*/
/*
@@ -28,7 +29,7 @@
*/
#ifndef UNIX
-#if !defined(__WIN32__) && !defined(_OSE_) && !defined(VXWORKS)
+#if !defined(__WIN32__) && !defined(VXWORKS)
#define UNIX 1
#endif
#endif
@@ -77,6 +78,7 @@ typedef struct {
int ofd;
int outstanding_async_task;
long async_task;
+ ErlDrvPDL pdl;
#ifdef HAVE_POLL_H
struct erl_drv_event_data event_data;
#endif
@@ -144,6 +146,7 @@ start(ErlDrvPort port, char *command)
ddp->ofd = -1;
ddp->outstanding_async_task = 0;
ddp->async_task = -1;
+ ddp->pdl = driver_pdl_create(port);
#ifdef HAVE_POLL_H
ddp->event_data.events = (short) 0;
ddp->event_data.revents = (short) 0;
@@ -217,8 +220,9 @@ static int control(ErlDrvData drv_data,
res_str = "error: command not supported";
goto done;
}
-
+ driver_pdl_lock(ddp->pdl);
driver_enq(ddp->port, "!", 1);
+ driver_pdl_unlock(ddp->pdl);
ddp->test = (IOQExitTest) command;
res_str = "ok";
@@ -333,8 +337,11 @@ static void ready_input(ErlDrvData drv_data, ErlDrvEvent event)
ddp->ifd = -1;
if (ddp->test == IOQ_EXIT_READY_INPUT_ASYNC)
do_driver_async(ddp);
- else
+ else {
+ driver_pdl_lock(ddp->pdl);
driver_deq(ddp->port, 1);
+ driver_pdl_unlock(ddp->pdl);
+ }
}
#endif
}
@@ -352,8 +359,11 @@ static void ready_output(ErlDrvData drv_data, ErlDrvEvent event)
ddp->ofd = -1;
if (ddp->test == IOQ_EXIT_READY_OUTPUT_ASYNC)
do_driver_async(ddp);
- else
+ else {
+ driver_pdl_lock(ddp->pdl);
driver_deq(ddp->port, 1);
+ driver_pdl_unlock(ddp->pdl);
+ }
}
#endif
}
@@ -366,8 +376,11 @@ static void timeout(ErlDrvData drv_data)
if (ddp->test == IOQ_EXIT_TIMEOUT_ASYNC)
do_driver_async(ddp);
- else
+ else {
+ driver_pdl_lock(ddp->pdl);
driver_deq(ddp->port, 1);
+ driver_pdl_unlock(ddp->pdl);
+ }
}
static void ready_async(ErlDrvData drv_data, ErlDrvThreadData thread_data)
@@ -377,7 +390,9 @@ static void ready_async(ErlDrvData drv_data, ErlDrvThreadData thread_data)
PRINTF(("ready_async(%p, %p) called\r\n", drv_data, thread_data));
if (drv_data == (ErlDrvData) thread_data) {
+ driver_pdl_lock(ddp->pdl);
driver_deq(ddp->port, 1);
+ driver_pdl_unlock(ddp->pdl);
ddp->outstanding_async_task = 0;
}
}
@@ -397,8 +412,11 @@ static void event(ErlDrvData drv_data,
ddp->ofd = -1;
if (ddp->test == IOQ_EXIT_EVENT_ASYNC)
do_driver_async(ddp);
- else
+ else {
+ driver_pdl_lock(ddp->pdl);
driver_deq(ddp->port, 1);
+ driver_pdl_unlock(ddp->pdl);
+ }
}
#endif
}
diff --git a/erts/emulator/test/driver_SUITE_data/missing_callback_drv.c b/erts/emulator/test/driver_SUITE_data/missing_callback_drv.c
index c80e492e3f..e7d9a294fa 100644
--- a/erts/emulator/test/driver_SUITE_data/missing_callback_drv.c
+++ b/erts/emulator/test/driver_SUITE_data/missing_callback_drv.c
@@ -17,7 +17,7 @@
*/
#ifndef UNIX
-#if !defined(__WIN32__) && !defined(_OSE_) && !defined(VXWORKS)
+#if !defined(__WIN32__) && !defined(VXWORKS)
#define UNIX 1
#endif
#endif
diff --git a/erts/emulator/test/driver_SUITE_data/peek_non_existing_queue_drv.c b/erts/emulator/test/driver_SUITE_data/peek_non_existing_queue_drv.c
index f429a5b51e..3a5b5af13a 100644
--- a/erts/emulator/test/driver_SUITE_data/peek_non_existing_queue_drv.c
+++ b/erts/emulator/test/driver_SUITE_data/peek_non_existing_queue_drv.c
@@ -28,7 +28,7 @@
*/
#ifndef UNIX
-#if !defined(__WIN32__) && !defined(_OSE_) && !defined(VXWORKS)
+#if !defined(__WIN32__) && !defined(VXWORKS)
#define UNIX 1
#endif
#endif
diff --git a/erts/emulator/test/fun_r11_SUITE.erl b/erts/emulator/test/fun_r12_SUITE.erl
index 61ba816cc8..9262731dcb 100644
--- a/erts/emulator/test/fun_r11_SUITE.erl
+++ b/erts/emulator/test/fun_r12_SUITE.erl
@@ -1,24 +1,24 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
--module(fun_r11_SUITE).
--compile(r11).
+-module(fun_r12_SUITE).
+-compile(r12).
-export([all/1,init_per_testcase/2,fin_per_testcase/2,dist_old_release/1]).
@@ -37,36 +37,36 @@ fin_per_testcase(_Case, Config) ->
ok.
dist_old_release(Config) when is_list(Config) ->
- case ?t:is_release_available("r11b") of
+ case ?t:is_release_available("r12b") of
true -> do_dist_old(Config);
- false -> {skip,"No R11B found"}
+ false -> {skip,"No R12B found"}
end.
do_dist_old(Config) when is_list(Config) ->
?line Pa = filename:dirname(code:which(?MODULE)),
- Name = fun_dist_r11,
+ Name = fun_dist_r12,
?line {ok,Node} = ?t:start_node(Name, peer,
[{args,"-pa "++Pa},
- {erl,[{release,"r11b"}]}]),
+ {erl,[{release,"r12b"}]}]),
?line Pid = spawn_link(Node,
fun() ->
receive
Fun when is_function(Fun) ->
- R11BFun = fun(H) -> cons(H, [b,c]) end,
- Fun(Fun, R11BFun)
+ R12BFun = fun(H) -> cons(H, [b,c]) end,
+ Fun(Fun, R12BFun)
end
end),
Self = self(),
- Fun = fun(F, R11BFun) ->
+ Fun = fun(F, R12BFun) ->
{pid,Self} = erlang:fun_info(F, pid),
{module,?MODULE} = erlang:fun_info(F, module),
- Self ! {ok,F,R11BFun}
+ Self ! {ok,F,R12BFun}
end,
?line Pid ! Fun,
?line receive
- {ok,Fun,R11BFun} ->
- ?line [a,b,c] = R11BFun(a);
+ {ok,Fun,R12BFun} ->
+ ?line [a,b,c] = R12BFun(a);
Other ->
?line ?t:fail({bad_message,Other})
end,
diff --git a/erts/emulator/test/guard_SUITE.erl b/erts/emulator/test/guard_SUITE.erl
index 23482a20d7..8fef36dfaf 100644
--- a/erts/emulator/test/guard_SUITE.erl
+++ b/erts/emulator/test/guard_SUITE.erl
@@ -1,33 +1,34 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(guard_SUITE).
-export([all/1, bad_arith/1, bad_tuple/1, test_heap_guards/1, guard_bifs/1,
- type_tests/1]).
+ type_tests/1,guard_bif_binary_part/1]).
-include("test_server.hrl").
-export([init/3]).
-import(lists, [member/2]).
-all(suite) -> [bad_arith, bad_tuple, test_heap_guards, guard_bifs, type_tests].
+all(suite) -> [bad_arith, bad_tuple, test_heap_guards, guard_bifs,
+ type_tests, guard_bif_binary_part].
bad_arith(doc) -> "Test that a bad arithmetic operation in a guard works correctly.";
bad_arith(Config) when is_list(Config) ->
@@ -136,6 +137,170 @@ init(Fun, Args, Filler) ->
dummy(_) ->
ok.
+-define(MASK_ERROR(EXPR),mask_error((catch (EXPR)))).
+mask_error({'EXIT',{Err,_}}) ->
+ Err;
+mask_error(Else) ->
+ Else.
+
+guard_bif_binary_part(doc) ->
+ ["Test the binary_part/2,3 guard BIF's extensively"];
+guard_bif_binary_part(Config) when is_list(Config) ->
+ %% Overflow tests that need to be unoptimized
+ ?line badarg =
+ ?MASK_ERROR(
+ binary_part(<<1,2,3>>,{16#FFFFFFFFFFFFFFFF,
+ -16#7FFFFFFFFFFFFFFF-1})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary_part(<<1,2,3>>,{16#FFFFFFFFFFFFFFFF,
+ 16#7FFFFFFFFFFFFFFF})),
+ F = fun(X) ->
+ Master = self(),
+ {Pid,Ref} = spawn_monitor( fun() ->
+ A = lists:duplicate(X,a),
+ B = [do_binary_part_guard() | A],
+ Master ! {self(),hd(B)},
+ ok
+ end),
+ receive
+ {Pid,ok} ->
+ erlang:demonitor(Ref,[flush]),
+ ok;
+ Error ->
+ Error
+ end
+ end,
+ [ ok = F(N) || N <- lists:seq(1,10000) ],
+ ok.
+
+
+do_binary_part_guard() ->
+ ?line 1 = bptest(<<1,2,3>>),
+ ?line 2 = bptest(<<2,1,3>>),
+ ?line error = bptest(<<1>>),
+ ?line error = bptest(<<>>),
+ ?line error = bptest(apa),
+ ?line 3 = bptest(<<2,3,3>>),
+ % With one variable (pos)
+ ?line 1 = bptest(<<1,2,3>>,1),
+ ?line 2 = bptest(<<2,1,3>>,1),
+ ?line error = bptest(<<1>>,1),
+ ?line error = bptest(<<>>,1),
+ ?line error = bptest(apa,1),
+ ?line 3 = bptest(<<2,3,3>>,1),
+ % With one variable (length)
+ ?line 1 = bptesty(<<1,2,3>>,1),
+ ?line 2 = bptesty(<<2,1,3>>,1),
+ ?line error = bptesty(<<1>>,1),
+ ?line error = bptesty(<<>>,1),
+ ?line error = bptesty(apa,1),
+ ?line 3 = bptesty(<<2,3,3>>,2),
+ % With one variable (whole tuple)
+ ?line 1 = bptestx(<<1,2,3>>,{1,1}),
+ ?line 2 = bptestx(<<2,1,3>>,{1,1}),
+ ?line error = bptestx(<<1>>,{1,1}),
+ ?line error = bptestx(<<>>,{1,1}),
+ ?line error = bptestx(apa,{1,1}),
+ ?line 3 = bptestx(<<2,3,3>>,{1,2}),
+ % With two variables
+ ?line 1 = bptest(<<1,2,3>>,1,1),
+ ?line 2 = bptest(<<2,1,3>>,1,1),
+ ?line error = bptest(<<1>>,1,1),
+ ?line error = bptest(<<>>,1,1),
+ ?line error = bptest(apa,1,1),
+ ?line 3 = bptest(<<2,3,3>>,1,2),
+ % Direct (autoimported) call, these will be evaluated by the compiler...
+ ?line <<2>> = binary_part(<<1,2,3>>,1,1),
+ ?line <<1>> = binary_part(<<2,1,3>>,1,1),
+ % Compiler warnings due to constant evaluation expected (3)
+ ?line badarg = ?MASK_ERROR(binary_part(<<1>>,1,1)),
+ ?line badarg = ?MASK_ERROR(binary_part(<<>>,1,1)),
+ ?line badarg = ?MASK_ERROR(binary_part(apa,1,1)),
+ ?line <<3,3>> = binary_part(<<2,3,3>>,1,2),
+ % Direct call through apply
+ ?line <<2>> = apply(erlang,binary_part,[<<1,2,3>>,1,1]),
+ ?line <<1>> = apply(erlang,binary_part,[<<2,1,3>>,1,1]),
+ % Compiler warnings due to constant evaluation expected (3)
+ ?line badarg = ?MASK_ERROR(apply(erlang,binary_part,[<<1>>,1,1])),
+ ?line badarg = ?MASK_ERROR(apply(erlang,binary_part,[<<>>,1,1])),
+ ?line badarg = ?MASK_ERROR(apply(erlang,binary_part,[apa,1,1])),
+ ?line <<3,3>> = apply(erlang,binary_part,[<<2,3,3>>,1,2]),
+ % Constant propagation
+ ?line Bin = <<1,2,3>>,
+ ?line ok = if
+ binary_part(Bin,1,1) =:= <<2>> ->
+ ok;
+ %% Compiler warning, clause cannot match (expected)
+ true ->
+ error
+ end,
+ ?line ok = if
+ binary_part(Bin,{1,1}) =:= <<2>> ->
+ ok;
+ %% Compiler warning, clause cannot match (expected)
+ true ->
+ error
+ end,
+ ok.
+
+
+bptest(B) when length(B) =:= 1337 ->
+ 1;
+bptest(B) when binary_part(B,{1,1}) =:= <<2>> ->
+ 1;
+bptest(B) when erlang:binary_part(B,1,1) =:= <<1>> ->
+ 2;
+bptest(B) when erlang:binary_part(B,{1,2}) =:= <<3,3>> ->
+ 3;
+bptest(_) ->
+ error.
+
+bptest(B,A) when length(B) =:= A ->
+ 1;
+bptest(B,A) when binary_part(B,{A,1}) =:= <<2>> ->
+ 1;
+bptest(B,A) when erlang:binary_part(B,A,1) =:= <<1>> ->
+ 2;
+bptest(B,A) when erlang:binary_part(B,{A,2}) =:= <<3,3>> ->
+ 3;
+bptest(_,_) ->
+ error.
+
+bptestx(B,A) when length(B) =:= A ->
+ 1;
+bptestx(B,A) when binary_part(B,A) =:= <<2>> ->
+ 1;
+bptestx(B,A) when erlang:binary_part(B,A) =:= <<1>> ->
+ 2;
+bptestx(B,A) when erlang:binary_part(B,A) =:= <<3,3>> ->
+ 3;
+bptestx(_,_) ->
+ error.
+
+bptesty(B,A) when length(B) =:= A ->
+ 1;
+bptesty(B,A) when binary_part(B,{1,A}) =:= <<2>> ->
+ 1;
+bptesty(B,A) when erlang:binary_part(B,1,A) =:= <<1>> ->
+ 2;
+bptesty(B,A) when erlang:binary_part(B,{1,A}) =:= <<3,3>> ->
+ 3;
+bptesty(_,_) ->
+ error.
+
+bptest(B,A,_C) when length(B) =:= A ->
+ 1;
+bptest(B,A,C) when binary_part(B,{A,C}) =:= <<2>> ->
+ 1;
+bptest(B,A,C) when erlang:binary_part(B,A,C) =:= <<1>> ->
+ 2;
+bptest(B,A,C) when erlang:binary_part(B,{A,C}) =:= <<3,3>> ->
+ 3;
+bptest(_,_,_) ->
+ error.
+
+
guard_bifs(doc) -> "Test all guard bifs with nasty (but legal arguments).";
guard_bifs(Config) when is_list(Config) ->
?line Big = -237849247829874297658726487367328971246284736473821617265433,
diff --git a/erts/emulator/test/nif_SUITE_data/nif_SUITE.c b/erts/emulator/test/nif_SUITE_data/nif_SUITE.c
index 7d05a9a880..3ad4f93374 100644
--- a/erts/emulator/test/nif_SUITE_data/nif_SUITE.c
+++ b/erts/emulator/test/nif_SUITE_data/nif_SUITE.c
@@ -1,3 +1,21 @@
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2009-2010. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
+ * Version 1.1, (the "License"); you may not use this file except in
+ * compliance with the License. You should have received a copy of the
+ * Erlang Public License along with this software. If not, it can be
+ * retrieved online at http://www.erlang.org/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * %CopyrightEnd%
+ */
#include "erl_nif.h"
#include <stdio.h>
@@ -120,11 +138,10 @@ static ERL_NIF_TERM make_call_history(ErlNifEnv* env, CallInfo** headp)
ERL_NIF_TERM func_term = enif_make_atom(env,call->func_name);
ERL_NIF_TERM tpl;
if (call->arg != NULL) {
- ErlNifBinary arg_bin;
- enif_alloc_binary(env, call->arg_sz, &arg_bin);
- memcpy(arg_bin.data, call->arg, call->arg_sz);
- func_term = enif_make_tuple2(env, func_term,
- enif_make_binary(env, &arg_bin));
+ ERL_NIF_TERM arg_bin;
+ memcpy(enif_make_new_binary(env, call->arg_sz, &arg_bin),
+ call->arg, call->arg_sz);
+ func_term = enif_make_tuple2(env, func_term, arg_bin);
}
tpl = enif_make_tuple4(env, func_term,
enif_make_int(env,call->lib_ver),
@@ -412,11 +429,10 @@ static ERL_NIF_TERM clone_bin(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[
{
ErlNifBinary ibin;
if (enif_inspect_binary(env,argv[0],&ibin)) {
- ErlNifBinary obin;
- enif_alloc_binary(env,ibin.size,&obin);
- memcpy(obin.data,ibin.data,ibin.size);
- /*enif_release_binary(env,&ibin);*/
- return enif_make_binary(env,&obin);
+ ERL_NIF_TERM obin;
+ memcpy(enif_make_new_binary(env, ibin.size, &obin),
+ ibin.data, ibin.size);
+ return obin;
}
else {
return enif_make_badarg(env);
@@ -515,14 +531,14 @@ static ERL_NIF_TERM iolist_2_bin(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar
static ERL_NIF_TERM last_resource_dtor_call(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
{
- ErlNifBinary bin;
ERL_NIF_TERM ret;
if (resource_dtor_last != NULL) {
- enif_alloc_binary(env, resource_dtor_last_sz, &bin);
- memcpy(bin.data, resource_dtor_last_data, resource_dtor_last_sz);
+ ERL_NIF_TERM bin;
+ memcpy(enif_make_new_binary(env, resource_dtor_last_sz, &bin),
+ resource_dtor_last_data, resource_dtor_last_sz);
ret = enif_make_tuple3(env,
enif_make_long(env, (long)resource_dtor_last),
- enif_make_binary(env, &bin),
+ bin,
enif_make_int(env, resource_dtor_cnt));
}
else {
diff --git a/erts/emulator/test/nif_SUITE_data/nif_mod.c b/erts/emulator/test/nif_SUITE_data/nif_mod.c
index c075b74c57..75df9d56d5 100644
--- a/erts/emulator/test/nif_SUITE_data/nif_mod.c
+++ b/erts/emulator/test/nif_SUITE_data/nif_mod.c
@@ -1,3 +1,21 @@
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2009-2010. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
+ * Version 1.1, (the "License"); you may not use this file except in
+ * compliance with the License. You should have received a copy of the
+ * Erlang Public License along with this software. If not, it can be
+ * retrieved online at http://www.erlang.org/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * %CopyrightEnd%
+ */
#include "erl_nif.h"
#include <string.h>
#include <stdio.h>
diff --git a/erts/emulator/test/obsolete_SUITE.erl b/erts/emulator/test/obsolete_SUITE.erl
index 33c4726699..b191f84ee0 100644
--- a/erts/emulator/test/obsolete_SUITE.erl
+++ b/erts/emulator/test/obsolete_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -32,9 +32,9 @@
all(doc) -> [];
all(suite) ->
- case catch erlang:system_info(wordsize) of
+ case catch erlang:system_info({wordsize,external}) of
4 -> [erl_threads];
- _ -> {skip, "Only expected to work on 32-bit architectures"}
+ _ -> {skip, "Only expected to work on true 32-bit architectures"}
end.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/erts/emulator/test/port_SUITE.erl b/erts/emulator/test/port_SUITE.erl
index 9a09d20eab..eb69bf917b 100644
--- a/erts/emulator/test/port_SUITE.erl
+++ b/erts/emulator/test/port_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -88,7 +88,8 @@
otp_3906/1, otp_4389/1, win_massive/1, win_massive_client/1,
mix_up_ports/1, otp_5112/1, otp_5119/1, otp_6224/1,
exit_status_multi_scheduling_block/1, ports/1,
- spawn_driver/1,spawn_executable/1]).
+ spawn_driver/1,spawn_executable/1,
+ unregister_name/1]).
-export([]).
@@ -112,7 +113,8 @@ all(suite) ->
otp_3906, otp_4389, win_massive, mix_up_ports,
otp_5112, otp_5119,
exit_status_multi_scheduling_block,
- ports, spawn_driver, spawn_executable
+ ports, spawn_driver, spawn_executable,
+ unregister_name
].
-define(DEFAULT_TIMEOUT, ?t:minutes(5)).
@@ -879,6 +881,7 @@ env2(Config) ->
?line env_slave(Temp, [{"must_define_something","some_value"},
{"certainly_not_existing",false},
+ {"ends_with_equal", "value="},
{Long,false},
{"glurf","a glorfy string"}]),
@@ -1434,6 +1437,10 @@ spawn_executable(Config) when is_list(Config) ->
?line test_server:timetrap_cancel(Dog),
ok.
+unregister_name(Config) when is_list(Config) ->
+ ?line true = register(crash, open_port({spawn, "sleep 100"}, [])),
+ ?line true = unregister(crash).
+
test_bat_file(Dir) ->
FN = "tf.bat",
Full = filename:join([Dir,FN]),
diff --git a/erts/emulator/test/receive_SUITE.erl b/erts/emulator/test/receive_SUITE.erl
new file mode 100644
index 0000000000..40ebf2bd21
--- /dev/null
+++ b/erts/emulator/test/receive_SUITE.erl
@@ -0,0 +1,113 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+-module(receive_SUITE).
+
+%% Tests receive after.
+
+-include("test_server.hrl").
+
+-export([all/1,
+ call_with_huge_message_queue/1,receive_in_between/1]).
+
+-export([init_per_testcase/2,fin_per_testcase/2]).
+
+all(suite) ->
+ [call_with_huge_message_queue,receive_in_between].
+
+init_per_testcase(Func, Config) when is_atom(Func), is_list(Config) ->
+ Dog=?t:timetrap(?t:minutes(3)),
+ [{watchdog, Dog}|Config].
+
+fin_per_testcase(_Func, Config) ->
+ Dog=?config(watchdog, Config),
+ ?t:timetrap_cancel(Dog).
+
+call_with_huge_message_queue(Config) when is_list(Config) ->
+ ?line Pid = spawn_link(fun echo_loop/0),
+
+ ?line {Time,ok} = tc(fun() -> calls(10, Pid) end),
+
+ ?line [self() ! {msg,N} || N <- lists:seq(1, 500000)],
+ erlang:garbage_collect(),
+ ?line {NewTime,ok} = tc(fun() -> calls(10, Pid) end),
+ io:format("Time for empty message queue: ~p", [Time]),
+ io:format("Time for huge message queue: ~p", [NewTime]),
+
+ case (NewTime+1) / (Time+1) of
+ Q when Q < 10 ->
+ ok;
+ Q ->
+ io:format("Q = ~p", [Q]),
+ ?line ?t:fail()
+ end,
+ ok.
+
+calls(0, _) -> ok;
+calls(N, Pid) ->
+ {ok,{ultimate_answer,42}} = call(Pid, {ultimate_answer,42}),
+ calls(N-1, Pid).
+
+call(Pid, Msg) ->
+ Mref = erlang:monitor(process, Pid),
+ Pid ! {Mref,{self(),Msg}},
+ receive
+ {Mref, Reply} ->
+ erlang:demonitor(Mref, [flush]),
+ {ok, Reply};
+ {'DOWN', Mref, _, _, Reason} ->
+ exit(Reason)
+ end.
+
+receive_in_between(Config) when is_list(Config) ->
+ ?line Pid = spawn_link(fun echo_loop/0),
+ ?line [{ok,{a,b}} = call2(Pid, {a,b}) || _ <- lists:seq(1, 100000)],
+ ok.
+
+call2(Pid, Msg) ->
+ self() ! dummy,
+ Mref = erlang:monitor(process, Pid),
+ Pid ! {Mref,{self(),Msg}},
+ receive_one(),
+ receive
+ {Mref,Reply} ->
+ erlang:demonitor(Mref, [flush]),
+ {ok,Reply};
+ {'DOWN',Mref,_,_,Reason} ->
+ exit(Reason)
+ end.
+
+receive_one() ->
+ receive
+ dummy -> ok
+ end.
+
+%%%
+%%% Common helpers.
+%%%
+
+echo_loop() ->
+ receive
+ {Ref,{Pid,Msg}} ->
+ Pid ! {Ref,Msg},
+ echo_loop()
+ end.
+
+tc(Fun) ->
+ timer:tc(erlang, apply, [Fun,[]]).
diff --git a/erts/emulator/test/system_info_SUITE.erl b/erts/emulator/test/system_info_SUITE.erl
index e782d2f293..ba433d4e11 100644
--- a/erts/emulator/test/system_info_SUITE.erl
+++ b/erts/emulator/test/system_info_SUITE.erl
@@ -35,12 +35,12 @@
%-compile(export_all).
-export([all/1, init_per_testcase/2, fin_per_testcase/2]).
--export([process_count/1, system_version/1, misc_smoke_tests/1, heap_size/1]).
+-export([process_count/1, system_version/1, misc_smoke_tests/1, heap_size/1, wordsize/1]).
-define(DEFAULT_TIMEOUT, ?t:minutes(2)).
all(doc) -> [];
-all(suite) -> [process_count, system_version, misc_smoke_tests, heap_size].
+all(suite) -> [process_count, system_version, misc_smoke_tests, heap_size, wordsize].
init_per_testcase(_Case, Config) when is_list(Config) ->
Dog = ?t:timetrap(?DEFAULT_TIMEOUT),
@@ -145,3 +145,23 @@ heap_size(Config) when is_list(Config) ->
?line Hmin = proplists:get_value(min_heap_size, GCinf),
ok.
+wordsize(suite) ->
+ [];
+wordsize(doc) ->
+ ["Tests the various wordsize variants"];
+wordsize(Config) when is_list(Config) ->
+ ?line A = erlang:system_info(wordsize),
+ ?line true = is_integer(A),
+ ?line A = erlang:system_info({wordsize,internal}),
+ ?line B = erlang:system_info({wordsize,external}),
+ ?line true = A =< B,
+ case {B,A} of
+ {4,4} ->
+ {comment, "True 32-bit emulator"};
+ {8,8} ->
+ {comment, "True 64-bit emulator"};
+ {8,4} ->
+ {comment, "Halfword 64-bit emulator"};
+ Other ->
+ exit({unexpected_wordsizes,Other})
+ end.
diff --git a/erts/emulator/utils/beam_makeops b/erts/emulator/utils/beam_makeops
index 4a859c3094..de19a2e35b 100755
--- a/erts/emulator/utils/beam_makeops
+++ b/erts/emulator/utils/beam_makeops
@@ -1,20 +1,20 @@
#!/usr/bin/env perl
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1998-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1998-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
use strict;
@@ -499,7 +499,11 @@ sub emulator_output {
print "\n";
print "#ifdef ARCH_64\n";
print "# define BEAM_LOOSE_MASK 0x1FFFUL\n";
+ print "#if HALFWORD_HEAP\n";
+ print "# define BEAM_TIGHT_MASK 0x1FFCUL\n";
+ print "#else\n";
print "# define BEAM_TIGHT_MASK 0x1FF8UL\n";
+ print "#endif\n";
print "# define BEAM_LOOSE_SHIFT 16\n";
print "# define BEAM_TIGHT_SHIFT 16\n";
print "#else\n";
@@ -813,7 +817,7 @@ sub basic_generator {
#
if ($flags =~ /-pack/ && $hot) {
- ($prefix, $pack_spec, @args) = &do_pack(@args);
+ ($prefix, $pack_spec, @args) = &do_pack(@args);
}
#
@@ -907,16 +911,16 @@ sub basic_generator {
my($code);
if (defined $macro{$name}) {
my($macro_code) = "$prefix$macro(" . join(', ', @f) . ");";
- $var_decls .= "Uint tmp_packed1;"
+ $var_decls .= "BeamInstr tmp_packed1;"
if $macro_code =~ /tmp_packed1/;
- $var_decls .= "Uint tmp_packed2;"
+ $var_decls .= "BeamInstr tmp_packed2;"
if $macro_code =~ /tmp_packed2/;
if ($flags =~ /-nonext/) {
$code = "$macro_code\n";
} else {
$code = join("\n",
"{ $var_decls",
- "Eterm* next;",
+ "BeamInstr* next;",
"PreFetch($size, next);",
"$macro_code",
"NextPF($size, next);",
diff --git a/erts/emulator/utils/make_tables b/erts/emulator/utils/make_tables
index b5391234cf..918ef62094 100755
--- a/erts/emulator/utils/make_tables
+++ b/erts/emulator/utils/make_tables
@@ -1,20 +1,20 @@
#!/usr/bin/env perl
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1999-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1999-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
use strict;
@@ -184,7 +184,7 @@ for ($i = 0; $i < @bif; $i++) {
my $arity = $bif[$i]->[2];
my $args = join(', ', 'Process*', ('Eterm') x $arity);
print "Eterm $bif[$i]->[3]($args);\n";
- print "Eterm wrap_$bif[$i]->[3]($args, Uint *I);\n";
+ print "Eterm wrap_$bif[$i]->[3]($args, UWord *I);\n";
}
print "#endif\n";
@@ -225,15 +225,15 @@ for ($i = 0; $i < @bif; $i++) {
for ($arg = 1; $arg <= $arity; $arg++) {
print ", Eterm arg$arg";
}
- print ", Uint *I)\n";
+ print ", UWord *I)\n";
print "{\n";
print " return erts_bif_trace($i, p";
for ($arg = 1; $arg <= 3; $arg++) {
if ($arg <= $arity) {
print ", arg$arg";
- } elsif ($arg == ($arity + 1)) {
- # Place I in correct position
- print ", (Eterm) I";
+ #} elsif ($arg == ($arity + 1)) {
+ # # Place I in correct position
+ # print ", (Eterm) I";
} else {
print ", 0";
}
diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
index 23ac421446..c509c49b39 100644
--- a/erts/epmd/src/epmd.c
+++ b/erts/epmd/src/epmd.c
@@ -1,20 +1,20 @@
/* -*- c-indent-level: 2; c-continued-statement-offset: 2 -*- */
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1998-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1998-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -24,11 +24,6 @@
#include "epmd.h" /* Renamed from 'epmd_r4.h' */
#include "epmd_int.h"
-#ifdef _OSE_
-# include "ose.h"
-# include "efs.h"
-#endif
-
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
@@ -82,86 +77,7 @@ static char *mystrdup(char *s)
return r;
}
-#ifdef _OSE_
-
-struct args_sig {
- SIGSELECT sig_no;
- int argc ;
- char argv[20][20];
-};
-
-union SIGNAL {
- SIGSELECT sig_no;
- struct args_sig args;
-};
-
-/* Start function. It may be called from the start script as well as from
- the OSE shell directly (using late start hooks). It spawns epmd as an
- OSE process which calls the epmd main function. */
-int start_ose_epmd(int argc, char **argv) {
- union SIGNAL *sig;
- PROCESS epmd_;
- OSENTRYPOINT ose_epmd;
- int i;
-
- if(hunt("epmd", 0, &epmd_, NULL)) {
- fprintf(stderr, "Warning! EPMD already exists (%u).\n", epmd_);
- return 0;
- }
- else {
- /* copy start args to signal */
- sig = alloc(sizeof(struct args_sig), 0);
- sig->args.argc = argc;
- for(i=0; i<argc; i++) {
- strcpy((sig->args.argv)[i], argv[i]);
- }
- /* start epmd and send signal */
- epmd_ = create_process(OS_BG_PROC, /* processtype */
- "epmd", /* name */
- ose_epmd, /* entrypoint */
- 16383, /* stacksize */
- 20, /* priority */
- 0, /* timeslice */
- 0, /* block */
- NULL,0,0); /* not used */
- efs_clone(epmd_);
- start(epmd_);
- send(&sig, epmd_);
-#ifdef DEBUG
- printf("EPMD ID: %li\n", epmd_);
-#endif
- }
- return 0;
-}
-
-OS_PROCESS(ose_epmd) {
- union SIGNAL *sig;
- static const SIGSELECT rec_any_sig[] = { 0 };
- int i, argc;
- char **argv;
-
- sig = receive((SIGSELECT*)rec_any_sig);
-
- argc = sig->args.argc;
- argv = (char **)malloc((argc+1)*sizeof(char *));
- for(i=0; i<argc; i++) {
- argv[i] = (char *)malloc(strlen((sig->args.argv)[i])+1);
- strcpy(argv[i], (sig->args.argv)[i]);
- }
- argv[argc] = NULL;
- free_buf(&sig);
-
- epmd(argc, argv);
-
- for(i=0; i<argc; i++) {
- free(argv[i]);
- }
- free(argv);
-}
-
-#else /* ifdef _OSE_ */
-
-/* VxWorks start function */
+#ifdef VXWORKS
int start_epmd(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)
char *a0, *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8, *a9;
{
@@ -200,10 +116,7 @@ char *a0, *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8, *a9;
argc,(int) argv,1,
0,0,0,0,0,0,0);
}
-
-#endif /* _OSE_ */
-
-
+#endif /* WxWorks */
int epmd(int argc, char **argv)
@@ -453,7 +366,7 @@ static void run_daemon(EpmdVars *g)
}
#endif
-#if (defined(VXWORKS) || defined(_OSE_))
+#if defined(VXWORKS)
static void run_daemon(EpmdVars *g)
{
run(g);
diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h
index 65fcf9bacb..5ead553f36 100644
--- a/erts/epmd/src/epmd_int.h
+++ b/erts/epmd/src/epmd_int.h
@@ -37,19 +37,6 @@
#define DONT_USE_MAIN
#endif
-#ifdef _OSE_
-#define NO_SYSLOG
-#define NO_SYSCONF
-#define NO_DAEMON
-#define DONT_USE_MAIN
-#ifndef HAVE_SYS_TIME_H
-#define HAVE_SYS_TIME_H
-#endif
-#ifndef HAVE_UNISTD_H
-#define HAVE_UNISTD_H
-#endif
-#endif
-
/* ************************************************************************ */
/* Standard includes */
@@ -92,7 +79,7 @@
#endif
#endif /* ! VXWORKS */
-#if (!defined(__WIN32__) && !defined(_OSE_))
+#if !defined(__WIN32__)
# include <netinet/in.h>
# include <sys/socket.h>
# include <sys/stat.h>
@@ -105,10 +92,8 @@
# include <netinet/tcp.h>
#endif /* ! WIN32 */
-#ifndef _OSE_
#include <ctype.h>
#include <signal.h>
-#endif
#include <errno.h>
@@ -126,13 +111,6 @@
#include <stdarg.h>
-#ifdef _OSE_
-# include "ose.h"
-# include "inet.h"
-# include "sys/stat.h"
-#endif
-
-
/* ************************************************************************ */
/* Replace some functions by others by making the function name a macro */
@@ -148,10 +126,6 @@
#define sleep(n) taskDelay((n) * sysClkRateGet())
#endif /* VXWORKS */
-#ifdef _OSE_
-#define sleep(n) delay((n))
-#endif
-
#ifdef USE_BCOPY
# define memcpy(a, b, c) bcopy((b), (a), (c))
# define memcmp(a, b, c) bcmp((a), (b), (c))
@@ -167,6 +141,10 @@
# define EADDRINUSE WSAEADDRINUSE
#endif
+#if defined(__WIN32__) && !defined(ECONNABORTED)
+# define ECONNABORTED WSAECONNABORTED
+#endif
+
#ifndef SOMAXCONN
# define SOMAXCONN 128
#endif
@@ -192,26 +170,18 @@
#define FAMILY AF_INET6
#define SET_ADDR_LOOPBACK(addr, af, port) do { \
- static u_int32_t __addr[4] = IN6ADDR_LOOPBACK_INIT; \
memset((char*)&(addr), 0, sizeof(addr)); \
(addr).sin6_family = (af); \
(addr).sin6_flowinfo = 0; \
- (addr).sin6_addr.s6_addr32[0] = __addr[0]; \
- (addr).sin6_addr.s6_addr32[1] = __addr[1]; \
- (addr).sin6_addr.s6_addr32[2] = __addr[2]; \
- (addr).sin6_addr.s6_addr32[3] = __addr[3]; \
+ (addr).sin6_addr = in6addr_loopback; \
(addr).sin6_port = htons(port); \
} while(0)
#define SET_ADDR_ANY(addr, af, port) do { \
- static u_int32_t __addr[4] = IN6ADDR_ANY_INIT; \
memset((char*)&(addr), 0, sizeof(addr)); \
(addr).sin6_family = (af); \
(addr).sin6_flowinfo = 0; \
- (addr).sin6_addr.s6_addr32[0] = __addr[0]; \
- (addr).sin6_addr.s6_addr32[1] = __addr[1]; \
- (addr).sin6_addr.s6_addr32[2] = __addr[2]; \
- (addr).sin6_addr.s6_addr32[3] = __addr[3]; \
+ (addr).sin6_addr = in6addr_any; \
(addr).sin6_port = htons(port); \
} while(0)
diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
index a033fab244..34f657fb16 100644
--- a/erts/epmd/src/epmd_srv.c
+++ b/erts/epmd/src/epmd_srv.c
@@ -138,7 +138,7 @@ void run(EpmdVars *g)
* because addresses will be reused even if they are still in use.
*/
-#if (!defined(__WIN32__) && !defined(_OSE_))
+#if !defined(__WIN32__)
/* We ignore the SIGPIPE signal that is raised when we call write
twice on a socket closed by the other end. */
signal(SIGPIPE, SIG_IGN);
@@ -156,10 +156,6 @@ void run(EpmdVars *g)
accept function is called. We set the listen socket
to be non blocking to prevent us from being hanging
in accept() waiting for the next request. */
-#ifdef _OSE_
- opt = 1;
- if (ioctl(listensock, FIONBIO, (char*)&opt) != 0)
-#else
#if (defined(__WIN32__) || defined(NO_FCNTL))
opt = 1;
if (ioctl(listensock, FIONBIO, &opt) != 0) /* Gives warning in VxWorks */
@@ -167,7 +163,6 @@ void run(EpmdVars *g)
opt = fcntl(listensock, F_GETFL, 0);
if (fcntl(listensock, F_SETFL, opt | O_NONBLOCK) == -1)
#endif /* __WIN32__ || VXWORKS */
-#endif /* _OSE_ */
dbg_perror(g,"failed to set non-blocking mode of listening socket %d",
listensock);
@@ -176,18 +171,6 @@ void run(EpmdVars *g)
SET_ADDR_ANY(iserv_addr, FAMILY, sport);
}
-#ifdef _OSE_
- {
- int optlen = sizeof(opt);
- opt = 1;
- if(getsockopt(listensock, SOL_SOCKET, SO_REUSEADDR,
- (void*)&opt, &optlen) < 0)
- fprintf(stderr, "\n\nGETSOCKOPT FAILS! %d\n\n", errno);
- else if(opt == 1)
- fprintf(stderr, "SO_REUSEADDR is set!\n");
- }
-#endif
-
if(bind(listensock,(struct sockaddr*) &iserv_addr, sizeof(iserv_addr)) < 0 )
{
if (errno == EADDRINUSE)
@@ -227,8 +210,16 @@ void run(EpmdVars *g)
timeout.tv_sec = (g->packet_timeout < IDLE_TIMEOUT) ? 1 : IDLE_TIMEOUT;
timeout.tv_usec = 0;
- if ((ret = select(g->max_conn,&read_mask,(fd_set *)0,(fd_set *)0,&timeout)) < 0)
+ if ((ret = select(g->max_conn,&read_mask,(fd_set *)0,(fd_set *)0,&timeout)) < 0) {
dbg_perror(g,"error in select ");
+ switch (errno) {
+ case EAGAIN:
+ case EINTR:
+ break;
+ default:
+ epmd_cleanup_exit(g,1);
+ }
+ }
else {
time_t now;
if (ret == 0) {
@@ -401,7 +392,14 @@ static int do_accept(EpmdVars *g,int listensock)
if (msgsock < 0) {
dbg_perror(g,"error in accept");
- return EPMD_FALSE;
+ switch (errno) {
+ case EAGAIN:
+ case ECONNABORTED:
+ case EINTR:
+ return EPMD_FALSE;
+ default:
+ epmd_cleanup_exit(g,1);
+ }
}
return conn_open(g,msgsock);
diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
index 3db4fcba61..d2a5080c68 100644
--- a/erts/etc/common/Makefile.in
+++ b/erts/etc/common/Makefile.in
@@ -96,9 +96,9 @@ endif
# On windows we always need reentrant libraries.
ifeq ($(TARGET),win32)
-ERLEXEC_XLIBS=-L../../lib/internal/$(TARGET) -lerts_internal_r$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
+ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal_r$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
else
-ERLEXEC_XLIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
+ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
endif
# ----------------------------------------------------
@@ -295,7 +295,7 @@ $(OBJDIR)/inet_gethost.o: inet_gethost.c
$(CC) $(CFLAGS) -o $@ -c inet_gethost.c
$(BINDIR)/inet_gethost@EXEEXT@: $(OBJDIR)/inet_gethost.o $(ENTRY_OBJ)
- $(PURIFY) $(LD) $(LDFLAGS) $(ENTRY_LDFLAGS) -o $@ $(OBJDIR)/inet_gethost.o $(ENTRY_OBJ) $(LIBS)
+ $(PURIFY) $(LD) $(LDFLAGS) $(ENTRY_LDFLAGS) -o $@ $(OBJDIR)/inet_gethost.o $(ENTRY_OBJ) $(LIBS) $(ERTS_INTERNAL_LIBS)
$(BINDIR)/run_erl: $(OBJDIR)/safe_string.o $(OBJDIR)/run_erl.o
$(LD) $(LDFLAGS) -o $@ $(OBJDIR)/safe_string.o $(OBJDIR)/run_erl.o $(LIBS)
@@ -320,7 +320,7 @@ $(OBJDIR)/safe_string.o: ../unix/safe_string.c
ifneq ($(TARGET),win32)
$(BINDIR)/$(ERLEXEC): $(OBJDIR)/$(ERLEXEC).o
- $(PURIFY) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/$(ERLEXEC).o $(ERLEXEC_XLIBS)
+ $(PURIFY) $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/$(ERLEXEC).o $(ERTS_INTERNAL_LIBS)
$(OBJDIR)/$(ERLEXEC).o: $(ERLEXECDIR)/$(ERLEXEC).c
$(CC) -I$(EMUDIR) $(CFLAGS) -o $@ -c $(ERLEXECDIR)/$(ERLEXEC).c
@@ -360,7 +360,7 @@ $(OBJDIR)/escript.o: escript.c
ifeq ($(TARGET),win32)
$(BINDIR)/$(ERLEXEC): $(OBJDIR)/erlexec.o $(OBJDIR)/win_erlexec.o $(OBJDIR)/init_file.o $(OBJDIR)/$(ERLRES_OBJ)
- $(LD) -dll $(LDFLAGS) -o $@ $(OBJDIR)/erlexec.o $(OBJDIR)/win_erlexec.o $(OBJDIR)/init_file.o $(OBJDIR)/$(ERLRES_OBJ) $(ERLEXEC_XLIBS)
+ $(LD) -dll $(LDFLAGS) -o $@ $(OBJDIR)/erlexec.o $(OBJDIR)/win_erlexec.o $(OBJDIR)/init_file.o $(OBJDIR)/$(ERLRES_OBJ) $(ERTS_INTERNAL_LIBS)
$(BINDIR)/erl@EXEEXT@: $(OBJDIR)/erl.o $(OBJDIR)/init_file.o $(OBJDIR)/$(ERLRES_OBJ)
$(LD) $(LDFLAGS) -o $@ $(OBJDIR)/erl.o $(OBJDIR)/init_file.o $(OBJDIR)/$(ERLRES_OBJ)
diff --git a/erts/etc/common/inet_gethost.c b/erts/etc/common/inet_gethost.c
index ff16ee02c4..d3ff4874ac 100644
--- a/erts/etc/common/inet_gethost.c
+++ b/erts/etc/common/inet_gethost.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 1998-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 1998-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
/*
@@ -52,6 +52,8 @@
# include "config.h"
#endif
+#include "erl_printf.h"
+
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
@@ -2552,7 +2554,7 @@ static void debugf(char *format, ...)
sprintf(buff,"%s[%d] (DEBUG):",program_name,(int) getpid());
#endif
ptr = buff + strlen(buff);
- vsprintf(ptr,format,ap);
+ erts_vsnprintf(ptr,sizeof(buff)-strlen(buff)-2,format,ap);
strcat(ptr,"\r\n");
#ifdef WIN32
if (debug_console_allocated != INVALID_HANDLE_VALUE) {
@@ -2574,7 +2576,7 @@ static void warning(char *format, ...)
va_start(ap,format);
sprintf(buff,"%s[%d]: WARNING:",program_name, (int) getpid());
ptr = buff + strlen(buff);
- vsprintf(ptr,format,ap);
+ erts_vsnprintf(ptr,sizeof(buff)-strlen(buff)-2,format,ap);
strcat(ptr,"\r\n");
#ifdef WIN32
{
@@ -2596,7 +2598,7 @@ static void fatal(char *format, ...)
va_start(ap,format);
sprintf(buff,"%s[%d]: FATAL ERROR:",program_name, (int) getpid());
ptr = buff + strlen(buff);
- vsprintf(ptr,format,ap);
+ erts_vsnprintf(ptr,sizeof(buff)-strlen(buff)-2,format,ap);
strcat(ptr,"\r\n");
#ifdef WIN32
{
diff --git a/erts/etc/unix/cerl.src b/erts/etc/unix/cerl.src
index f81ef6b0fe..9dab9fcfcc 100644
--- a/erts/etc/unix/cerl.src
+++ b/erts/etc/unix/cerl.src
@@ -1,20 +1,20 @@
#!/bin/sh
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2003-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2003-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
#
@@ -277,6 +277,16 @@ else
;;
esac
+ # Set annotation level for gdb in emacs 22 and higher.
+ emacs_major=`$EMACS --version | head -1 | sed 's,^[^0-9]*\([0-9]*\).*,\1,g'`
+ if [ '!' -z "$emacs_major" -a $emacs_major -gt 21 ]; then
+ # Hack - wait for etp-commands to be loaded and then set
+ # annotation level, could be done more beautifully than with sit-for...
+ gdbcmd="$gdbcmd \
+ (sit-for 1) \
+ (insert-string \"set annotate 3\") \
+ (comint-send-input)"
+ fi
gdbcmd="$gdbcmd $GDBBP \
(insert-string \"source $ROOTDIR/erts/etc/unix/etp-commands\") \
(comint-send-input)"
diff --git a/erts/include/erl_int_sizes_config.h.in b/erts/include/erl_int_sizes_config.h.in
index ef49995732..4b8a8e1b98 100644
--- a/erts/include/erl_int_sizes_config.h.in
+++ b/erts/include/erl_int_sizes_config.h.in
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2004-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2004-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -31,3 +31,6 @@
/* The number of bytes in a long long. */
#undef SIZEOF_LONG_LONG
+
+/* Define if building a halfword-heap 64bit emulator (needed for NIF's) */
+#undef HALFWORD_HEAP_EMULATOR
diff --git a/erts/lib_src/common/erl_misc_utils.c b/erts/lib_src/common/erl_misc_utils.c
index 9c25d33a3c..f70db86960 100644
--- a/erts/lib_src/common/erl_misc_utils.c
+++ b/erts/lib_src/common/erl_misc_utils.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2006-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2006-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -373,8 +373,8 @@ erts_get_cpu_topology(erts_cpu_info_t *cpuinfo,
return 0;
memcpy((void *) topology,
(void *) cpuinfo->topology,
- cpuinfo->configured*sizeof(erts_cpu_topology_t));
- return cpuinfo->configured;
+ cpuinfo->topology_size*sizeof(erts_cpu_topology_t));
+ return cpuinfo->topology_size;
}
int
diff --git a/erts/preloaded/ebin/erl_prim_loader.beam b/erts/preloaded/ebin/erl_prim_loader.beam
index 304ac41dce..afd8a90b3f 100644
--- a/erts/preloaded/ebin/erl_prim_loader.beam
+++ b/erts/preloaded/ebin/erl_prim_loader.beam
Binary files differ
diff --git a/erts/preloaded/ebin/erlang.beam b/erts/preloaded/ebin/erlang.beam
index 21e5525b2f..4ec84948d8 100644
--- a/erts/preloaded/ebin/erlang.beam
+++ b/erts/preloaded/ebin/erlang.beam
Binary files differ
diff --git a/erts/preloaded/ebin/init.beam b/erts/preloaded/ebin/init.beam
index 8ccc553c13..c3e746f3ee 100644
--- a/erts/preloaded/ebin/init.beam
+++ b/erts/preloaded/ebin/init.beam
Binary files differ
diff --git a/erts/preloaded/ebin/otp_ring0.beam b/erts/preloaded/ebin/otp_ring0.beam
index 8ae73ea9a7..4b2d8bb2de 100644
--- a/erts/preloaded/ebin/otp_ring0.beam
+++ b/erts/preloaded/ebin/otp_ring0.beam
Binary files differ
diff --git a/erts/preloaded/ebin/prim_file.beam b/erts/preloaded/ebin/prim_file.beam
index 3acda843fd..2916baaa77 100644
--- a/erts/preloaded/ebin/prim_file.beam
+++ b/erts/preloaded/ebin/prim_file.beam
Binary files differ
diff --git a/erts/preloaded/ebin/prim_inet.beam b/erts/preloaded/ebin/prim_inet.beam
index 9457b6d360..46912e2bea 100644
--- a/erts/preloaded/ebin/prim_inet.beam
+++ b/erts/preloaded/ebin/prim_inet.beam
Binary files differ
diff --git a/erts/preloaded/ebin/prim_zip.beam b/erts/preloaded/ebin/prim_zip.beam
index 6837cb4661..ccf8aff6f6 100644
--- a/erts/preloaded/ebin/prim_zip.beam
+++ b/erts/preloaded/ebin/prim_zip.beam
Binary files differ
diff --git a/erts/preloaded/ebin/zlib.beam b/erts/preloaded/ebin/zlib.beam
index 4e4f85d312..ccd597ba68 100644
--- a/erts/preloaded/ebin/zlib.beam
+++ b/erts/preloaded/ebin/zlib.beam
Binary files differ
diff --git a/erts/preloaded/src/prim_zip.erl b/erts/preloaded/src/prim_zip.erl
index 3f5a5b9721..6a9856fdad 100644
--- a/erts/preloaded/src/prim_zip.erl
+++ b/erts/preloaded/src/prim_zip.erl
@@ -65,34 +65,55 @@ filter_fun() ->
open(F) ->
open(filter_fun(), undefined, F).
-open(FilterFun, FilterAcc, F) ->
- case ?CATCH do_open(FilterFun, FilterAcc, F) of
- {ok, PrimZip, Acc} ->
- {ok, PrimZip, Acc};
- Error ->
- {error, Error}
- end.
+open(FilterFun, FilterAcc, F) when is_function(FilterFun, 2) ->
+ try
+ do_open(FilterFun, FilterAcc, F)
+ catch
+ throw:{filter_fun_throw, Reason} ->
+ throw(Reason);
+ throw:InternalReason ->
+ {error, InternalReason};
+ Class:Reason ->
+ erlang:error(erlang:raise(Class, Reason, erlang:get_stacktrace()))
+ end;
+open(_, _, _) ->
+ {error, einval}.
do_open(FilterFun, FilterAcc, F) ->
Input = get_zip_input(F),
In0 = Input({open, F, [read, binary, raw]}, []),
Z = zlib:open(),
PrimZip = #primzip{files = [], zlib = Z, in = In0, input = Input},
- {PrimZip2, FilterAcc2} = get_central_dir(PrimZip, FilterFun, FilterAcc),
- {ok, PrimZip2, FilterAcc2}.
+ try
+ {PrimZip2, FilterAcc2} = get_central_dir(PrimZip, FilterFun, FilterAcc),
+ {ok, PrimZip2, FilterAcc2}
+ catch
+ Class:Reason ->
+ close(PrimZip),
+ erlang:error(erlang:raise(Class, Reason, erlang:get_stacktrace()))
+ end.
%% iterate over all files in a zip archive
-foldl(FilterFun, FilterAcc, #primzip{files = Files} = PrimZip) ->
- case ?CATCH do_foldl(FilterFun, FilterAcc, Files, [], PrimZip, PrimZip) of
- {ok, FilterAcc2, PrimZip2} -> {ok, PrimZip2, FilterAcc2};
- Error -> {error, Error}
+foldl(FilterFun, FilterAcc, #primzip{files = Files} = PrimZip)
+ when is_function(FilterFun, 2) ->
+ try
+ {ok, FilterAcc2, PrimZip2} =
+ do_foldl(FilterFun, FilterAcc, Files, [], PrimZip, PrimZip),
+ {ok, PrimZip2, FilterAcc2}
+ catch
+ throw:{filter_fun_throw, Reason} ->
+ throw(Reason);
+ throw:InternalReason ->
+ {error, InternalReason};
+ Class:Reason ->
+ erlang:error(erlang:raise(Class, Reason, erlang:get_stacktrace()))
end;
foldl(_, _, _) ->
{error, einval}.
do_foldl(FilterFun, FilterAcc, [PF | Tail], Acc0, PrimZip, PrimZipOrig) ->
#primzip_file{name = F, get_info = GetInfo, get_bin = GetBin} = PF,
- case FilterFun({F, GetInfo, GetBin}, FilterAcc) of
+ try FilterFun({F, GetInfo, GetBin}, FilterAcc) of
{Continue, Include, FilterAcc2} ->
Acc1 = include_acc(Include, PF, Acc0),
case Continue of
@@ -103,6 +124,9 @@ do_foldl(FilterFun, FilterAcc, [PF | Tail], Acc0, PrimZip, PrimZipOrig) ->
end;
FilterRes ->
throw({illegal_filter, FilterRes})
+ catch
+ throw:Reason ->
+ throw({filter_fun_throw, Reason})
end;
do_foldl(_FilterFun, FilterAcc, [], Acc, PrimZip, _PrimZipOrig) ->
{ok, FilterAcc, PrimZip#primzip{files = reverse(Acc)}}.
@@ -121,12 +145,14 @@ include_acc(Include, PF, Acc) ->
List when is_list(List) ->
%% Add new entries
Fun = fun(I, A) -> include_acc(I, PF, A) end,
- lists_foldl(Fun, Acc, List)
+ lists_foldl(Fun, Acc, List);
+ Bad ->
+ throw({illegal_filter, Bad})
end.
lists_foldl(F, Accu, [Hd|Tail]) ->
lists_foldl(F, F(Hd, Accu), Tail);
-lists_foldl(F, Accu, []) when is_function(F, 2) ->
+lists_foldl(F, Accu, []) when is_function(F, 2) ->
Accu.
%% close a zip archive
@@ -139,7 +165,9 @@ close(_) ->
get_zip_input({F, B}) when is_binary(B), is_list(F) ->
fun binary_io/2;
get_zip_input(F) when is_list(F) ->
- fun prim_file_io/2.
+ fun prim_file_io/2;
+get_zip_input(_) ->
+ throw(einval).
%% get a file from the archive
get_z_file(F, Offset, ChunkSize, #primzip{zlib = Z, in = In0, input = Input}) ->
@@ -218,15 +246,15 @@ get_cd_loop(N, BCD, Acc0, PrimZip, FileName, Offset, CFH, EndOffset, FilterFun,
GetInfo = fun() -> cd_file_header_to_file_info(FileName, CFH, <<>>) end,
GetBin = fun() -> get_z_file(FileName, Offset, Size, PrimZip) end,
PF = #primzip_file{name = FileName, get_info = GetInfo, get_bin = GetBin},
- case FilterFun({FileName, GetInfo, GetBin}, FilterAcc) of
+ try FilterFun({FileName, GetInfo, GetBin}, FilterAcc) of
{Continue, Include, FilterAcc2} ->
Acc1 =
case Include of
- false ->
+ false ->
Acc0;
true ->
[PF | Acc0];
- {true, Nick} ->
+ {true, Nick} ->
[PF#primzip_file{name = Nick} | Acc0];
{true, Nick, GI, GB} ->
PF2 = #primzip_file{name = Nick, get_info = GI, get_bin = GB},
@@ -247,13 +275,16 @@ get_cd_loop(N, BCD, Acc0, PrimZip, FileName, Offset, CFH, EndOffset, FilterFun,
end;
FilterRes ->
throw({illegal_filter, FilterRes})
+ catch
+ throw:Reason ->
+ throw({filter_fun_throw, Reason})
end.
get_file_header(BCD) ->
BCFH =
case BCD of
<<?CENTRAL_FILE_MAGIC:32/little,
- B:(?CENTRAL_FILE_HEADER_SZ-4)/binary,
+ B:(?CENTRAL_FILE_HEADER_SZ-4)/binary,
_/binary>> ->
B;
_ ->
@@ -266,11 +297,11 @@ get_file_header(BCD) ->
ToGet = FileNameLen + ExtraLen + CommentLen,
{B2, BCDRest} =
case BCD of
- <<_:?CENTRAL_FILE_HEADER_SZ/binary,
+ <<_:?CENTRAL_FILE_HEADER_SZ/binary,
G:ToGet/binary,
- Rest/binary>> ->
+ Rest/binary>> ->
{G, Rest};
- _ ->
+ _ ->
throw(bad_central_directory)
end,
FileName = get_filename_from_b2(B2, FileNameLen, ExtraLen, CommentLen),
@@ -319,9 +350,9 @@ prim_file_io({file_info, F}, _) ->
end;
prim_file_io({open, FN, Opts}, _) ->
case ?CATCH prim_file:open(FN, Opts++[binary]) of
- {ok, H} ->
+ {ok, H} ->
H;
- {error, E} ->
+ {error, E} ->
throw(E)
end;
prim_file_io({read, N}, H) ->
@@ -476,7 +507,7 @@ cd_file_header_to_file_info(FileName,
%% FI; % not yet supported, and not widely used
add_extra_info(FI, _) ->
FI.
-%%
+%%
%% unix_extra_field_and_var_from_bin(<<TSize:16/little,
%% ATime:32/little,
%% MTime:32/little,
@@ -500,7 +531,7 @@ dos_date_time_to_datetime(DosDate, DosTime) ->
<<Hour:5, Min:6, Sec:5>> = <<DosTime:16>>,
<<YearFrom1980:7, Month:4, Day:5>> = <<DosDate:16>>,
{{YearFrom1980+1980, Month, Day},
- {Hour, Min, Sec}}.
+ {Hour, Min, Sec}}.
cd_file_header_from_bin(<<VersionMadeBy:16/little,
VersionNeeded:16/little,
@@ -622,7 +653,7 @@ reverse(X) ->
reverse([H|T], Y) ->
reverse(T, [H|Y]);
-reverse([], X) ->
+reverse([], X) ->
X.
last([E|Es]) -> last(E, Es).
diff --git a/erts/test/erlexec_SUITE_data/erlexec_tests.c b/erts/test/erlexec_SUITE_data/erlexec_tests.c
index a49a0b21a8..1d1ca881d9 100644
--- a/erts/test/erlexec_SUITE_data/erlexec_tests.c
+++ b/erts/test/erlexec_SUITE_data/erlexec_tests.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2008-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2008-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
/* Used by test case otp_7461 to spawn a child process with a given
@@ -22,7 +22,7 @@
* Author: Sverker Eriksson
*/
-#if defined (__WIN32__) || defined(VXWORKS) || defined(_OSE_)
+#if defined (__WIN32__) || defined(VXWORKS)
int main() {return 0;}
#else /* UNIX only */
diff --git a/erts/vsn.mk b/erts/vsn.mk
index 8f940339df..6e1338cff5 100644
--- a/erts/vsn.mk
+++ b/erts/vsn.mk
@@ -1,24 +1,24 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1997-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1997-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
-VSN = 5.7.5
-SYSTEM_VSN = R13B04
+VSN = 5.8
+SYSTEM_VSN = R14A
# Port number 4365 in 4.2
# Port number 4366 in 4.3
diff --git a/lib/.gitignore b/lib/.gitignore
index fc8a1c5568..a33916b3bf 100644
--- a/lib/.gitignore
+++ b/lib/.gitignore
@@ -141,6 +141,11 @@
# orber & cos* applications
+/orber/test/idl_output
+/cosEvent/test/idl_output
+/cosNotification/test/idl_output
+/cosTransactions/test/idl_output
+
/cosEvent/include/CosEventChannelAdmin.hrl
/cosEvent/include/CosEventChannelAdmin_ConsumerAdmin.hrl
/cosEvent/include/CosEventChannelAdmin_EventChannel.hrl
diff --git a/lib/appmon/doc/src/appmon_chapter.xml b/lib/appmon/doc/src/appmon_chapter.xml
index 9673a13078..0dab23b549 100644
--- a/lib/appmon/doc/src/appmon_chapter.xml
+++ b/lib/appmon/doc/src/appmon_chapter.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2000</year><year>2009</year>
+ <year>2000</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Appmon</title>
@@ -226,8 +226,8 @@
<p>In the left frame it is possible to:</p>
<list type="bulleted">
<item>Select which node to supervise.</item>
- <item>Select an application to view it's process tree.</item>
- <item>Select an application to view it's specification.</item>
+ <item>Select an application to view its process tree.</item>
+ <item>Select an application to view its specification.</item>
</list>
<p>The right frame shows the selected information, either the application
specification or the process tree and process information.</p>
diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
index 906c513fad..9e9cb18524 100644
--- a/lib/asn1/c_src/Makefile
+++ b/lib/asn1/c_src/Makefile
@@ -124,7 +124,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) $(RELSYSDIR)/priv/lib
- $(INSTALL_DATA) $(SHARED_OBJ_FILES) $(RELSYSDIR)/priv/lib
+ $(INSTALL_PROGRAM) $(SHARED_OBJ_FILES) $(RELSYSDIR)/priv/lib
$(INSTALL_DIR) $(RELSYSDIR)/c_src
$(INSTALL_DATA) $(C_FILES) $(RELSYSDIR)/c_src
diff --git a/lib/asn1/doc/src/asn1ct.xml b/lib/asn1/doc/src/asn1ct.xml
index 8a0ae52c39..265f8735c2 100644
--- a/lib/asn1/doc/src/asn1ct.xml
+++ b/lib/asn1/doc/src/asn1ct.xml
@@ -53,7 +53,7 @@
<v>Option = ber_bin | per_bin | uper_bin | der | compact_bit_string |
noobj | {n2n,EnumTypeName} |{outdir,Dir} | {i,IncludeDir} | optimize |
driver | asn1config | undec_rest | {inline,OutputName} | inline |
- {macro_name_prefix, Prefix} | {record_name_prefix, Prefix}</v>
+ {macro_name_prefix, Prefix} | {record_name_prefix, Prefix} | verbose</v>
<v>OldOption = ber | per</v>
<v>Reason = term()</v>
<v>Prefix = string()</v>
@@ -284,6 +284,11 @@ Binary = binary()
<c>Prefix</c>. This is useful when multiple protocols that contains
records with identical names are included in a single module.</p>
</item>
+ <tag><c>verbose</c></tag>
+ <item>
+ <p>Causes more verbose information from the compiler
+ describing what it is doing.</p>
+ </item>
</taglist>
<p>Any additional option that is applied will be passed to
the final step when the generated .erl file is compiled.
diff --git a/lib/asn1/src/asn1ct.erl b/lib/asn1/src/asn1ct.erl
index e6fd3663dd..ae681a4a78 100644
--- a/lib/asn1/src/asn1ct.erl
+++ b/lib/asn1/src/asn1ct.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -39,7 +39,7 @@
add_tobe_refed_func/1,add_generated_refed_func/1,
maybe_rename_function/3,latest_sindex/0,current_sindex/0,
set_current_sindex/1,next_sindex/0,maybe_saved_sindex/2,
- parse_and_save/2]).
+ parse_and_save/2,report_verbose/3]).
-include("asn1_records.hrl").
-include_lib("stdlib/include/erl_compile.hrl").
@@ -103,8 +103,8 @@ compile(File,Options) when is_list(Options) ->
compile1(File,Options) when is_list(Options) ->
- io:format("Erlang ASN.1 version ~p compiling ~p ~n",[?vsn,File]),
- io:format("Compiler Options: ~p~n",[Options]),
+ report_verbose("Erlang ASN.1 version ~p compiling ~p ~n",[?vsn,File],Options),
+ report_verbose("Compiler Options: ~p~n",[Options],Options),
Ext = filename:extension(File),
Base = filename:basename(File,Ext),
OutFile = outfile(Base,"",Options),
@@ -152,7 +152,7 @@ inline(true,Name,Module,Options) ->
IgorName = filename:rootname(filename:basename(Name)),
% io:format("*****~nName: ~p~nModules: ~p~nIgorOptions: ~p~n*****~n",
% [IgorName,Modules++RTmodule,IgorOptions]),
- io:format("Inlining modules: ~p in ~p~n",[[Module]++RTmodule,IgorName]),
+ report_verbose("Inlining modules: ~p in ~p~n",[[Module]++RTmodule,IgorName],Options),
case catch igor:merge(IgorName,[Module]++RTmodule,[{preprocess,true},{stubs,false},{backups,false}]++IgorOptions) of
{'EXIT',{undef,Reason}} -> %% module igor first in R10B
io:format("Module igor in syntax_tools must be available:~n~p~n",
@@ -173,8 +173,8 @@ inline(_,_,_,_) ->
compile_set(SetBase,Files,Options)
when is_list(hd(Files)),is_list(Options) ->
%% case when there are several input files in a list
- io:format("Erlang ASN.1 version ~p compiling ~p ~n",[?vsn,Files]),
- io:format("Compiler Options: ~p~n",[Options]),
+ report_verbose("Erlang ASN.1 version ~p compiling ~p ~n",[?vsn,Files],Options),
+ report_verbose("Compiler Options: ~p~n",[Options],Options),
OutFile = outfile(SetBase,"",Options),
DbFile = outfile(SetBase,"asn1db",Options),
Includes = [I || {i,I} <- Options],
@@ -802,7 +802,7 @@ check({true,M},File,OutFile,Includes,EncodingRule,DbFile,Options,InputMods) ->
NewM = Module#module{typeorval=NewTypeOrVal},
asn1_db:dbput(NewM#module.name,'MODULE',NewM),
asn1_db:dbsave(DbFile,M#module.name),
- io:format("--~p--~n",[{generated,DbFile}]),
+ report_verbose("--~p--~n",[{generated,DbFile}],Options),
{true,{M,NewM,GenTypeOrVal}}
end
end;
@@ -833,7 +833,7 @@ generate({true,{M,_Module,GenTOrV}},OutFile,EncodingRule,Options) ->
Result =
case (catch asn1ct_gen:pgen(OutFile,EncodingRule,
- M#module.name,GenTOrV)) of
+ M#module.name,GenTOrV,Options)) of
{'EXIT',Reason2} ->
io:format("ERROR: ~p~n",[Reason2]),
{error,Reason2};
@@ -1215,7 +1215,6 @@ compile(File, _OutFile, Options) ->
%% io:format("~p~n~s~n",[_Reason,"error"]),
error;
ok ->
- io:format("ok~n"),
ok;
ParseRes when is_tuple(ParseRes) ->
io:format("~p~n",[ParseRes]),
@@ -2518,3 +2517,14 @@ type_check(#'Externaltypereference'{}) ->
lists:concat(["_",I]);
make_suffix(_) ->
"".
+
+report_verbose(Format, Args, S) ->
+ case is_verbose(S) of
+ true ->
+ io:format(Format, Args);
+ false ->
+ ok
+ end.
+
+is_verbose(S) ->
+ lists:member(verbose, S).
diff --git a/lib/asn1/src/asn1ct_gen.erl b/lib/asn1/src/asn1ct_gen.erl
index b9f6c46b53..eab5fb4a2a 100644
--- a/lib/asn1/src/asn1ct_gen.erl
+++ b/lib/asn1/src/asn1ct_gen.erl
@@ -22,7 +22,7 @@
-include("asn1_records.hrl").
-export([pgen_exports/3,
- pgen_hrl/4,
+ pgen_hrl/5,
gen_head/3,
demit/1,
emit/1,
@@ -41,28 +41,29 @@
rt2ct_suffix/0,
index2suffix/1,
get_record_name_prefix/0]).
--export([pgen/4,
- pgen_module/5,
+-export([pgen/5,
+ pgen_module/6,
mk_var/1,
un_hyphen_var/1]).
-export([gen_encode_constructed/4,
gen_decode_constructed/4]).
-%% pgen(Erules, Module, TypeOrVal)
+%% pgen(Outfile, Erules, Module, TypeOrVal, Options)
%% Generate Erlang module (.erl) and (.hrl) file corresponding to an ASN.1 module
%% .hrl file is only generated if necessary
%% Erules = per | ber | ber_bin | per_bin
%% Module = atom()
%% TypeOrVal = {TypeList,ValueList}
%% TypeList = ValueList = [atom()]
+%% Options = [Options] from asn1ct:compile()
-pgen(OutFile,Erules,Module,TypeOrVal) ->
- pgen_module(OutFile,Erules,Module,TypeOrVal,true).
+pgen(OutFile,Erules,Module,TypeOrVal,Options) ->
+ pgen_module(OutFile,Erules,Module,TypeOrVal,Options,true).
pgen_module(OutFile,Erules,Module,
TypeOrVal = {Types,_Values,_Ptypes,_Classes,_Objects,_ObjectSets},
- Indent) ->
+ Options,Indent) ->
N2nConvEnums = [CName|| {n2n,CName} <- get(encoding_options)],
case N2nConvEnums -- Types of
[] ->
@@ -72,7 +73,7 @@ pgen_module(OutFile,Erules,Module,
UnmatchedTypes})
end,
put(outfile,OutFile),
- HrlGenerated = pgen_hrl(Erules,Module,TypeOrVal,Indent),
+ HrlGenerated = pgen_hrl(Erules,Module,TypeOrVal,Options,Indent),
asn1ct_name:start(),
ErlFile = lists:concat([OutFile,".erl"]),
Fid = fopen(ErlFile,[write]),
@@ -86,7 +87,7 @@ pgen_module(OutFile,Erules,Module,
% gen_vars(asn1_db:mod_to_vars(Module)),
% gen_tag_table(AllTypes),
file:close(Fid),
- io:format("--~p--~n",[{generated,ErlFile}]).
+ asn1ct:report_verbose("--~p--~n",[{generated,ErlFile}],Options).
pgen_typeorval(Erules,Module,N2nConvEnums,{Types,Values,_Ptypes,_Classes,Objects,ObjectSets}) ->
@@ -1310,7 +1311,7 @@ fopen(F, ModeList) ->
exit({error,Reason})
end.
-pgen_hrl(Erules,Module,TypeOrVal,_Indent) ->
+pgen_hrl(Erules,Module,TypeOrVal,Options,_Indent) ->
put(currmod,Module),
{Types,Values,Ptypes,_,_,_} = TypeOrVal,
Ret =
@@ -1334,8 +1335,9 @@ pgen_hrl(Erules,Module,TypeOrVal,_Indent) ->
Y ->
Fid = get(gen_file_out),
file:close(Fid),
- io:format("--~p--~n",
- [{generated,lists:concat([get(outfile),".hrl"])}]),
+ asn1ct:report_verbose("--~p--~n",
+ [{generated,lists:concat([get(outfile),".hrl"])}],
+ Options),
Y
end.
diff --git a/lib/asn1/src/asn1ct_gen_ber.erl b/lib/asn1/src/asn1ct_gen_ber.erl
index 7c432f29c3..d70586c75c 100644
--- a/lib/asn1/src/asn1ct_gen_ber.erl
+++ b/lib/asn1/src/asn1ct_gen_ber.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -67,7 +67,7 @@
%% TypeList = ValueList = [atom()]
pgen(OutFile,Erules,Module,TypeOrVal) ->
- asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,true).
+ asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,[],true).
%%===============================================================================
diff --git a/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl b/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl
index b7ac0f407c..a146e92d64 100644
--- a/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl
+++ b/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -67,7 +67,7 @@
%% TypeList = ValueList = [atom()]
pgen(OutFile,Erules,Module,TypeOrVal) ->
- asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,true).
+ asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,[],true).
%%===============================================================================
diff --git a/lib/asn1/src/asn1ct_gen_per.erl b/lib/asn1/src/asn1ct_gen_per.erl
index 06d2489748..23fb392d60 100644
--- a/lib/asn1/src/asn1ct_gen_per.erl
+++ b/lib/asn1/src/asn1ct_gen_per.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -43,7 +43,7 @@
%% TypeList = ValueList = [atom()]
pgen(OutFile,Erules,Module,TypeOrVal) ->
- asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,true).
+ asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,[],true).
%% Generate ENCODING ******************************
diff --git a/lib/asn1/src/asn1ct_gen_per_rt2ct.erl b/lib/asn1/src/asn1ct_gen_per_rt2ct.erl
index 56f895828a..e1feb42a59 100644
--- a/lib/asn1/src/asn1ct_gen_per_rt2ct.erl
+++ b/lib/asn1/src/asn1ct_gen_per_rt2ct.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -43,7 +43,7 @@
%% TypeList = ValueList = [atom()]
pgen(OutFile,Erules,Module,TypeOrVal) ->
- asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,true).
+ asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,[],true).
%% Generate ENCODING ******************************
diff --git a/lib/asn1/test/Makefile b/lib/asn1/test/Makefile
index d91b77dfc5..5014eb902b 100644
--- a/lib/asn1/test/Makefile
+++ b/lib/asn1/test/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1997-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1997-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
#
@@ -133,9 +133,7 @@ ERL_FILES= $(MODULES:%=%.erl)
HRL_FILES= External.hrl
-TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
-
-INSTALL_PROGS= $(TARGET_FILES)
+EMAKEFILE=Emakefile
# ----------------------------------------------------
# Release directory specification
@@ -145,19 +143,20 @@ RELSYSDIR = $(RELEASE_PATH)/asn1_test
# ----------------------------------------------------
# FLAGS
# ----------------------------------------------------
-ERL_COMPILE_FLAGS += -I$(ERL_TOP)/lib/test_server/include \
- -I$(ERL_TOP)/lib/kernel/include
-
+ERL_COMPILE_FLAGS += +warnings_as_errors
EBIN = .
# ----------------------------------------------------
# Targets
# ----------------------------------------------------
-tests debug opt: $(TARGET_FILES) $(SUITE) $(SUITE_BIN) $(SUITE_BIN_V2)
+$(EMAKEFILE): $(ERL_FILES) $(HRL_FILES)
+ $(ERL_TOP)/make/make_emakefile $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) $(ERL_FILES) >$(EMAKEFILE)
+
+tests debug opt: $(SUITE) $(SUITE_BIN) $(SUITE_BIN_V2) $(EMAKEFILE)
clean:
- rm -f $(TARGET_FILES) $(SUITE) $(SUITE_BIN) $(SUITE_BIN_V2)
+ rm -f $(SUITE) $(SUITE_BIN) $(SUITE_BIN_V2)
rm -f core
docs:
@@ -190,10 +189,14 @@ release_spec: opt
release_tests_spec: opt
$(INSTALL_DIR) $(RELSYSDIR)
- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(RELSYSDIR)
- $(INSTALL_DATA) asn1.spec $(INSTALL_PROGS) $(RELSYSDIR)
+ $(INSTALL_DATA) asn1.spec $(EMAKEFILE) $(ERL_FILES) $(HRL_FILES) $(RELSYSDIR)
chmod -f -R u+w $(RELSYSDIR)
- @tar cfh - *_SUITE_data | (cd $(RELSYSDIR); tar xf -)
+ @tar cf - *_SUITE_data | (cd $(RELSYSDIR); tar xf -)
+ $(INSTALL_DIR) $(RELSYSDIR)/asn1_bin_SUITE_data
+ @(cd asn1_SUITE_data; tar cf - *) | (cd $(RELSYSDIR)/asn1_bin_SUITE_data; tar xf -)
+ $(INSTALL_DIR) $(RELSYSDIR)/asn1_bin_v2_SUITE_data
+ @(cd asn1_SUITE_data; tar cf - *) | (cd $(RELSYSDIR)/asn1_bin_v2_SUITE_data; tar xf -)
+
release_docs_spec:
diff --git a/lib/asn1/test/asn1_SUITE.erl.src b/lib/asn1/test/asn1_SUITE.erl.src
index 53a5cc5284..ca73d259af 100644
--- a/lib/asn1/test/asn1_SUITE.erl.src
+++ b/lib/asn1/test/asn1_SUITE.erl.src
@@ -48,7 +48,7 @@
-compile(export_all).
%%-export([Function/Arity, ...]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
%% records used by test-case default
-record('Def1',{
@@ -2240,7 +2240,8 @@ test_compile_options(Config) ->
?line ok = test_compile_options:wrong_path(Config),
?line ok = test_compile_options:path(Config),
?line ok = test_compile_options:noobj(Config),
- ?line ok = test_compile_options:record_name_prefix(Config)
+ ?line ok = test_compile_options:record_name_prefix(Config),
+ ?line ok = test_compile_options:verbose(Config)
end.
testDoubleEllipses(suite) -> [];
testDoubleEllipses(Config) ->
diff --git a/lib/asn1/test/asn1_SUITE_data/P-Record.py b/lib/asn1/test/asn1_SUITE_data/P-Record.py
index f1db09ac6c..ac3dc9abe0 100644
--- a/lib/asn1/test/asn1_SUITE_data/P-Record.py
+++ b/lib/asn1/test/asn1_SUITE_data/P-Record.py
@@ -1,44 +1,44 @@
-P-Record DEFINITIONS ::=
-BEGIN
-
-
-PersonnelRecord ::= [APPLICATION 0] SET
-{ name Name,
- title VisibleString,
- number EmployeeNumber,
- dateOfHire Date,
- nameOfSpouse [1] Name,
- children SEQUENCE OF ChildInformation DEFAULT {}
-}
-
-ChildInformation ::= SET
-{ name Name,
- dateOfBirth Date
-}
-
-Name ::= [APPLICATION 1] SEQUENCE
-{ givenName VisibleString,
- initial VisibleString,
- familyName VisibleString
-}
-
-EmployeeNumber ::= [APPLICATION 2] INTEGER
-Date ::= [APPLICATION 3] VisibleString -- YYYY MMDD
+P-Record DEFINITIONS ::=
+BEGIN
+
+
+PersonnelRecord ::= [APPLICATION 0] SET
+{ name Name,
+ title VisibleString,
+ number EmployeeNumber,
+ dateOfHire Date,
+ nameOfSpouse [1] Name,
+ children SEQUENCE OF ChildInformation DEFAULT {}
+}
+
+ChildInformation ::= SET
+{ name Name,
+ dateOfBirth Date
+}
+
+Name ::= [APPLICATION 1] SEQUENCE
+{ givenName VisibleString,
+ initial VisibleString,
+ familyName VisibleString
+}
+
+EmployeeNumber ::= [APPLICATION 2] INTEGER
+Date ::= [APPLICATION 3] VisibleString -- YYYY MMDD
v PersonnelRecord ::=
{
name {
- givenName "John",
- initial "P",
- familyName "Smith"
+ givenName "John",
+ initial "P",
+ familyName "Smith"
},
title "Director",
number 51,
- dateOfHire "19710917",
+ dateOfHire "19710917",
nameOfSpouse {
- givenName "Mary",
- initial "T",
- familyName "Smith"
+ givenName "Mary",
+ initial "T",
+ familyName "Smith"
},
children {
{name {
diff --git a/lib/asn1/test/asn1_SUITE_data/XSeq.py b/lib/asn1/test/asn1_SUITE_data/XSeq.py
index b068ab4393..35b4469440 100644
--- a/lib/asn1/test/asn1_SUITE_data/XSeq.py
+++ b/lib/asn1/test/asn1_SUITE_data/XSeq.py
@@ -1,42 +1,42 @@
-XSeq DEFINITIONS ::=
-BEGIN
-
--- F.2.10.2
--- Use a sequence type to model a collection of variables whose
--- types are the same,
--- whose number is known and modest, and whose order is significant,
--- provided that the
--- makeup of the collection is unlikely to change from one version
--- of the protocol to the next.
--- EXAMPLE
-
-NamesOfOfficers ::= SEQUENCE {
- president VisibleString,
- vicePresident VisibleString,
- secretary VisibleString}
-
-acmeCorp NamesOfOfficers ::= {
- president "Jane Doe",
- vicePresident "John Doe",
- secretary "Joe Doe"}
-
--- F.2.10.3
--- Use a sequence type to model a collection of variables whose types differ,
--- whose number is known and modest, and whose order is significant,
--- provided that
--- the makeup of the collection is unlikely to change from one version
--- of the protocol to the next.
--- EXAMPLE
-
-Credentials ::= SEQUENCE {
- userName VisibleString,
- password VisibleString,
- accountNumber INTEGER}
-
+XSeq DEFINITIONS ::=
+BEGIN
+
+-- F.2.10.2
+-- Use a sequence type to model a collection of variables whose
+-- types are the same,
+-- whose number is known and modest, and whose order is significant,
+-- provided that the
+-- makeup of the collection is unlikely to change from one version
+-- of the protocol to the next.
+-- EXAMPLE
+
+NamesOfOfficers ::= SEQUENCE {
+ president VisibleString,
+ vicePresident VisibleString,
+ secretary VisibleString}
+
+acmeCorp NamesOfOfficers ::= {
+ president "Jane Doe",
+ vicePresident "John Doe",
+ secretary "Joe Doe"}
+
+-- F.2.10.3
+-- Use a sequence type to model a collection of variables whose types differ,
+-- whose number is known and modest, and whose order is significant,
+-- provided that
+-- the makeup of the collection is unlikely to change from one version
+-- of the protocol to the next.
+-- EXAMPLE
+
+Credentials ::= SEQUENCE {
+ userName VisibleString,
+ password VisibleString,
+ accountNumber INTEGER}
+
-- Empty SEQUENCE stupid but just for test
BasicCallCategories ::= SEQUENCE
{
... -- So far, no specific categories identified
}
-END
+END
diff --git a/lib/asn1/test/asn1_SUITE_data/XSeqOf.py b/lib/asn1/test/asn1_SUITE_data/XSeqOf.py
index f9fee92e56..116bd4a82d 100644
--- a/lib/asn1/test/asn1_SUITE_data/XSeqOf.py
+++ b/lib/asn1/test/asn1_SUITE_data/XSeqOf.py
@@ -1,19 +1,19 @@
-XSeqOf DEFINITIONS ::=
-BEGIN
-
--- F.2.10.1
--- Use a sequence-of type to model a collection of variables whose
--- types are the same,
--- whose number is large or unpredictable, and whose order is significant.
--- EXAMPLE
-
-NamesOfMemberNations ::= SEQUENCE OF VisibleString
--- in alphabetical order
-
-firstTwo NamesOfMemberNations ::= {"Australia", "Austria"}
+XSeqOf DEFINITIONS ::=
+BEGIN
+
+-- F.2.10.1
+-- Use a sequence-of type to model a collection of variables whose
+-- types are the same,
+-- whose number is large or unpredictable, and whose order is significant.
+-- EXAMPLE
+
+NamesOfMemberNations ::= SEQUENCE OF VisibleString
+-- in alphabetical order
+
+firstTwo NamesOfMemberNations ::= {"Australia", "Austria"}
DayNames1 ::= SEQUENCE SIZE(7) OF VisibleString
DayNames2 ::= SEQUENCE SIZE(1..7) OF VisibleString
DayNames3 ::= SEQUENCE (SIZE(7)) OF VisibleString
DayNames4 ::= SEQUENCE (SIZE(1..7)) OF VisibleString
-END
+END
diff --git a/lib/asn1/test/asn1_app_test.erl b/lib/asn1/test/asn1_app_test.erl
index 8ee42d3ec3..23a7e691e7 100644
--- a/lib/asn1/test/asn1_app_test.erl
+++ b/lib/asn1/test/asn1_app_test.erl
@@ -1,43 +1,29 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
%%----------------------------------------------------------------------
-%% Purpose: Verify the application specifics of the Megaco application
+%% Purpose: Verify the application specifics of the asn1 application
%%----------------------------------------------------------------------
-module(asn1_app_test).
-compile(export_all).
-%-include("megaco_test_lib.hrl").
-
-
-% t() -> megaco_test_lib:t(?MODULE).
-% t(Case) -> megaco_test_lib:t({?MODULE, Case}).
-
-
-% %% Test server callbacks
-% init_per_testcase(Case, Config) ->
-% megaco_test_lib:init_per_testcase(Case, Config).
-
-% fin_per_testcase(Case, Config) ->
-% megaco_test_lib:fin_per_testcase(Case, Config).
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
all(suite) ->
@@ -54,7 +40,7 @@ all(suite) ->
app_init(suite) -> [];
app_init(doc) -> [];
-app_init(Config) when list(Config) ->
+app_init(Config) when is_list(Config) ->
case is_app(asn1) of
{ok, AppFile} ->
io:format("AppFile: ~n~p~n", [AppFile]),
@@ -76,7 +62,7 @@ is_app(App) ->
app_fin(suite) -> [];
app_fin(doc) -> [];
-app_fin(Config) when list(Config) ->
+app_fin(Config) when is_list(Config) ->
Config.
@@ -86,7 +72,7 @@ fields(suite) ->
[];
fields(doc) ->
[];
-fields(Config) when list(Config) ->
+fields(Config) when is_list(Config) ->
AppFile = key1search(app_file, Config),
Fields = [vsn, description, modules, registered, applications],
case check_fields(Fields, AppFile, []) of
@@ -117,7 +103,7 @@ modules(suite) ->
[];
modules(doc) ->
[];
-modules(Config) when list(Config) ->
+modules(Config) when is_list(Config) ->
AppFile = key1search(app_file, Config),
Mods = key1search(modules, AppFile),
EbinList = get_ebin_mods(asn1),
@@ -188,7 +174,7 @@ exportall(suite) ->
[];
exportall(doc) ->
[];
-exportall(Config) when list(Config) ->
+exportall(Config) when is_list(Config) ->
AppFile = key1search(app_file, Config),
Mods = key1search(modules, AppFile),
check_export_all(Mods).
@@ -221,7 +207,7 @@ app_depend(suite) ->
[];
app_depend(doc) ->
[];
-app_depend(Config) when list(Config) ->
+app_depend(Config) when is_list(Config) ->
AppFile = key1search(app_file, Config),
Apps = key1search(applications, AppFile),
check_apps(Apps).
diff --git a/lib/asn1/test/asn1_appup_test.erl b/lib/asn1/test/asn1_appup_test.erl
index 644c0f7d03..81701328a6 100644
--- a/lib/asn1/test/asn1_appup_test.erl
+++ b/lib/asn1/test/asn1_appup_test.erl
@@ -1,43 +1,29 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
%%----------------------------------------------------------------------
-%% Purpose: Verify the application specifics of the Megaco application
+%% Purpose: Verify the application specifics of the asn1 application
%%----------------------------------------------------------------------
-module(asn1_appup_test).
-compile(export_all).
-%-include("megaco_test_lib.hrl").
-
-
-%t() -> megaco_test_lib:t(?MODULE).
-%t(Case) -> megaco_test_lib:t({?MODULE, Case}).
-
-
-%% Test server callbacks
-% init_per_testcase(Case, Config) ->
-% megaco_test_lib:init_per_testcase(Case, Config).
-
-% fin_per_testcase(Case, Config) ->
-% megaco_test_lib:fin_per_testcase(Case, Config).
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
all(suite) ->
@@ -51,7 +37,7 @@ all(suite) ->
appup_init(suite) -> [];
appup_init(doc) -> [];
-appup_init(Config) when list(Config) ->
+appup_init(Config) when is_list(Config) ->
AppFile = file_name(asn1, ".app"),
AppupFile = file_name(asn1, ".appup"),
[{app_file, AppFile}, {appup_file, AppupFile}|Config].
@@ -64,7 +50,7 @@ file_name(App, Ext) ->
appup_fin(suite) -> [];
appup_fin(doc) -> [];
-appup_fin(Config) when list(Config) ->
+appup_fin(Config) when is_list(Config) ->
Config.
@@ -74,7 +60,7 @@ appup(suite) ->
[];
appup(doc) ->
"perform a simple check of the appup file";
-appup(Config) when list(Config) ->
+appup(Config) when is_list(Config) ->
AppupFile = key1search(appup_file, Config),
AppFile = key1search(app_file, Config),
Modules = modules(AppFile),
@@ -161,14 +147,14 @@ check_instructions(UpDown, [Instr|Instrs], AllInstr, Good, Bad, Modules) ->
%% A new module is added
check_instruction(up, {add_module, Module}, _, Modules)
- when atom(Module) ->
+ when is_atom(Module) ->
d("check_instruction -> entry when up-add_module instruction with"
"~n Module: ~p", [Module]),
check_module(Module, Modules);
%% An old module is re-added
check_instruction(down, {add_module, Module}, _, Modules)
- when atom(Module) ->
+ when is_atom(Module) ->
d("check_instruction -> entry when down-add_module instruction with"
"~n Module: ~p", [Module]),
case (catch check_module(Module, Modules)) of
@@ -182,7 +168,7 @@ check_instruction(down, {add_module, Module}, _, Modules)
%% - the module has been removed from the app-file.
%% - check that no module depends on this (removed) module
check_instruction(up, {remove, {Module, Pre, Post}}, _, Modules)
- when atom(Module), atom(Pre), atom(Post) ->
+ when is_atom(Module), is_atom(Pre), is_atom(Post) ->
d("check_instruction -> entry when up-remove instruction with"
"~n Module: ~p"
"~n Pre: ~p"
@@ -198,7 +184,7 @@ check_instruction(up, {remove, {Module, Pre, Post}}, _, Modules)
%% Removing a module on downgrade: the module exist
%% in the app-file.
check_instruction(down, {remove, {Module, Pre, Post}}, AllInstr, Modules)
- when atom(Module), atom(Pre), atom(Post) ->
+ when is_atom(Module), is_atom(Pre), is_atom(Post) ->
d("check_instruction -> entry when down-remove instruction with"
"~n Module: ~p"
"~n Pre: ~p"
@@ -214,7 +200,7 @@ check_instruction(down, {remove, {Module, Pre, Post}}, AllInstr, Modules)
check_instruction(_, {load_module, Module, Pre, Post, Depend},
AllInstr, Modules)
- when atom(Module), atom(Pre), atom(Post), list(Depend) ->
+ when is_atom(Module), is_atom(Pre), is_atom(Post), is_list(Depend) ->
d("check_instruction -> entry when load_module instruction with"
"~n Module: ~p"
"~n Pre: ~p"
@@ -228,7 +214,7 @@ check_instruction(_, {load_module, Module, Pre, Post, Depend},
check_instruction(_, {update, Module, Change, Pre, Post, Depend},
AllInstr, Modules)
- when atom(Module), atom(Pre), atom(Post), list(Depend) ->
+ when is_atom(Module), is_atom(Pre), is_atom(Post), is_list(Depend) ->
d("check_instruction -> entry when update instruction with"
"~n Module: ~p"
"~n Change: ~p"
@@ -244,7 +230,7 @@ check_instruction(_, {update, Module, Change, Pre, Post, Depend},
check_instruction(_, {apply, {Module, Function, Args}},
_AllInstr, Modules)
- when atom(Module), atom(Function), list(Args) ->
+ when is_atom(Module), is_atom(Function), is_list(Args) ->
d("check_instruction -> entry when apply instruction with"
"~n Module: ~p"
"~n Function: ~p"
@@ -289,13 +275,13 @@ instruction_module(Instr) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-check_version(V) when list(V) ->
+check_version(V) when is_list(V) ->
ok;
check_version(V) ->
error({bad_version, V}).
-check_module(M, Modules) when atom(M) ->
+check_module(M, Modules) when is_atom(M) ->
case lists:member(M,Modules) of
true ->
ok;
@@ -307,7 +293,7 @@ check_module(M, _) ->
check_apply(Module,Function,Args) ->
case (catch Module:module_info()) of
- Info when list(Info) ->
+ Info when is_list(Info) ->
check_exported(Function,Args,Info);
{'EXIT',{undef,_}} ->
error({not_existing_module,Module})
@@ -326,11 +312,11 @@ check_exported(Function,Args,Info) ->
error({bad_export,Info})
end.
-check_module_depend(M, [], _) when atom(M) ->
+check_module_depend(M, [], _) when is_atom(M) ->
d("check_module_depend -> entry with"
"~n M: ~p", [M]),
ok;
-check_module_depend(M, Deps, Modules) when atom(M), list(Deps) ->
+check_module_depend(M, Deps, Modules) when is_atom(M), is_list(Deps) ->
d("check_module_depend -> entry with"
"~n M: ~p"
"~n Deps: ~p"
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/AA1.asn b/lib/asn1/test/asn1_bin_SUITE_data/AA1.asn
deleted file mode 100644
index c2c20f17a1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/AA1.asn
+++ /dev/null
@@ -1,13 +0,0 @@
-AA1 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- B
- FROM AA2;
-
-T1 ::= SEQUENCE (SIZE (1..10)) OF B
-T2 ::= SEQUENCE (SIZE (1..10)) OF B
-T3 ::= SEQUENCE (SIZE (1..10)) OF INTEGER
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/AA2.asn1db b/lib/asn1/test/asn1_bin_SUITE_data/AA2.asn1db
deleted file mode 100644
index 3bf2c1b89d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/AA2.asn1db
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/BadEnumValue1.asn b/lib/asn1/test/asn1_bin_SUITE_data/BadEnumValue1.asn
deleted file mode 100644
index dbc224a74b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/BadEnumValue1.asn
+++ /dev/null
@@ -1,8 +0,0 @@
-BadEnumValue1 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-E3 ::= ENUMERATED {monday,thuesday(0)}
-enumWrongVal E3 ::= sunday
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/BadTypeEnding.asn b/lib/asn1/test/asn1_bin_SUITE_data/BadTypeEnding.asn
deleted file mode 100644
index 3ccd838ac0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/BadTypeEnding.asn
+++ /dev/null
@@ -1,6 +0,0 @@
-BadTypeEnding DEFINITIONS ::=
-BEGIN
-
-T ::= Typ;
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/BadValueAssignment1.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/BadValueAssignment1.asn1
deleted file mode 100644
index a5d4984e60..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/BadValueAssignment1.asn1
+++ /dev/null
@@ -1,8 +0,0 @@
-BadValueAssignment1 DEFINITIONS ::=
-BEGIN
-
-int INTEGER ::= 3
-
-int2 integer ::= 3
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/BadValueAssignment2.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/BadValueAssignment2.asn1
deleted file mode 100644
index 7a96406001..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/BadValueAssignment2.asn1
+++ /dev/null
@@ -1,8 +0,0 @@
-BadValueAssignment2 DEFINITIONS ::=
-BEGIN
-
-int INTEGER ::= 3
-
-int2 ::= 3
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/BadValueSet.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/BadValueSet.asn1
deleted file mode 100644
index 68bd4380b7..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/BadValueSet.asn1
+++ /dev/null
@@ -1,9 +0,0 @@
-BadValueSet DEFINITIONS ::=
-BEGIN
-
-Int INTEGER ::= {1|2|3}
-
-Int2 INTEGER ::= {
- 1,2,3}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/BitStr.py b/lib/asn1/test/asn1_bin_SUITE_data/BitStr.py
deleted file mode 100644
index 1d5bc21fda..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/BitStr.py
+++ /dev/null
@@ -1,56 +0,0 @@
-BitStr DEFINITIONS ::=
-BEGIN
-
--- F.2.5.1
--- Use a bit string type to model binary data whose format and
--- length are unspecified,
--- or specified elsewhere, and whose length in bits is not necessarily
--- a multiple of eight.
--- EXAMPLE
-
-G3FacsimilePage ::= BIT STRING
--- a sequence of bits conforming to Recommendation T.4.
-
-image G3FacsimilePage ::= '100110100100001110110'B
-trailer BIT STRING ::= '0123456789ABCDEF'H
-body1 G3FacsimilePage ::= '1101'B
-body2 G3FacsimilePage ::= '1101000'B
-
--- F.2.5.2
--- Use a bit string type with a size constraint to model the
--- values of a fixed sized bit field.
--- EXAMPLE
-
-BitField ::= BIT STRING (SIZE (12))
-map1 BitField ::= '100110100100'B
-map2 BitField ::= '9A4'H
-map3 BitField ::= '1001101001'B -- Illegal - violates size constraint
-
--- F.2.5.3
--- Use a bit string type to model the values of a bit map, an
--- ordered collection of logical variables
--- indicating whether a particular condition holds for each of a
--- correspondingly ordered collection of objects.
-
-DaysOfTheWeek ::= BIT STRING {
- sunday(0), monday (1), tuesday(2),
- wednesday(3), thursday(4), friday(5),
- saturday(6) } (SIZE (0..7))
-
-sunnyDaysLastWeek1 DaysOfTheWeek ::= {sunday, monday, wednesday}
-sunnyDaysLastWeek2 DaysOfTheWeek ::= '1101'B
-sunnyDaysLastWeek3 DaysOfTheWeek ::= '1101000'B
-sunnyDaysLastWeek4 DaysOfTheWeek ::= '11010000'B -- Illegal - violates size constraint
-
--- F.2.5.5
--- Use a bit string type with named bits to model the values of a
--- collection of related logical variables.
--- EXAMPLE
-
-PersonalStatus ::= BIT STRING
- {married(0), employed(1), veteran(2), collegeGraduate(3)}
-
-billClinton PersonalStatus ::= {married, employed, collegeGraduate}
-hillaryClinton PersonalStatus ::= '110100'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/CCSNARG3.asn b/lib/asn1/test/asn1_bin_SUITE_data/CCSNARG3.asn
deleted file mode 100644
index 23c1f32ceb..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/CCSNARG3.asn
+++ /dev/null
@@ -1,345 +0,0 @@
-CCSNARG3 DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-CallCentreServiceNotificationArg ::= SEQUENCE {
- scriptInformation [0] ScriptToScriptInformation,
- eventInformation [1] IMPLICIT EventInformation OPTIONAL
-
-
-}
-
-EventInformation ::=
- CHOICE
- { callEvent [0] CallEvent,
- billingReport [1] BillingInformation
- }
-
-
-ScriptToScriptInformation ::= SEQUENCE {
- scriptKey [0] INTEGER (0..214783647),
- scriptAttribute1 [1] Attribute1 OPTIONAL,
- scriptAttribute2 [2] Attribute2 OPTIONAL,
- scriptAttribute3 [3] Attribute3 OPTIONAL,
- scriptAttribute4 [4] Attribute4 OPTIONAL,
- scriptAttribute5 [5] Attribute5 OPTIONAL,
- scriptAttribute6 [6] Attribute6 OPTIONAL,
- scriptAttribute7 [7] Attribute7 OPTIONAL,
- scriptAttribute8 [8] Attribute8 OPTIONAL,
- scriptAttribute9 [9] Attribute9 OPTIONAL,
- scriptAttribute10 [10] Attribute10 OPTIONAL,
- scriptAttribute11 [11] Attribute11 OPTIONAL,
- scriptAttribute12 [12] Attribute12 OPTIONAL,
- scriptAttribute13 [13] Attribute13 OPTIONAL,
- scriptAttribute14 [14] Attribute14 OPTIONAL,
- scriptAttribute15 [15] Attribute15 OPTIONAL,
- scriptAttribute16 [16] Attribute16 OPTIONAL,
- scriptAttribute17 [17] Attribute17 OPTIONAL,
- scriptAttribute18 [18] Attribute18 OPTIONAL,
- scriptAttribute19 [19] Attribute19 OPTIONAL,
- scriptAttribute20 [20] Attribute20 OPTIONAL,
- scriptAttribute21 [21] Attribute21 OPTIONAL,
- scriptAttribute22 [22] Attribute22 OPTIONAL,
- scriptAttribute23 [23] Attribute23 OPTIONAL,
- scriptAttribute24 [24] Attribute24 OPTIONAL,
- scriptAttribute25 [25] Attribute25 OPTIONAL,
- scriptAttribute26 [26] Attribute26 OPTIONAL,
- scriptAttribute27 [27] Attribute27 OPTIONAL,
- scriptAttribute28 [28] Attribute28 OPTIONAL,
- scriptAttribute29 [29] Attribute29 OPTIONAL,
- scriptAttribute30 [30] Attribute30 OPTIONAL
- }
-
-
-CallEvent ::= SEQUENCE {
- eventTypeBCSM [0] EventTypeBCSM OPTIONAL,
-
- miscCallInfo [1] MiscCallInfo OPTIONAL,
- iNlegID [2] LegType OPTIONAL,
- announcementInfo [3] INTEGER
- { announcementstarted(0), announcementcompleted(1) } (0..1) OPTIONAL,
- callAttemptElapsedTimeValue [4] INTEGER (0..255) OPTIONAL,
- callStopTimeValue [5] DateAndTime OPTIONAL,
- callConnectedElapsedTimeValue [6] INTEGER (0..4294967295) OPTIONAL,
- calledAddressValue [7] GenericNumber OPTIONAL,
- releaseCause [8] Cause OPTIONAL
- }
-
-EventTypeBCSM ::= INTEGER {
- origAttemptauthorized(1),
- collectedInfo(2),
- analyzedInformation(3),
- routeSelectFailure(4),
- oCalledPartyBusy(5),
- oAlerting(255),
- oCalledPartyNotReachable(254),
- oNoAnswer(6),
- oAnswer(7),
- oMidCall(8),
- oSuspended(253),
- oReAnswer(252),
- oDisconnect(9),
- oAbandon(10),
- termAttemptauthorized(12)
- } (0..255)
-
-
-BackwardCallIndicators ::= OCTET STRING (SIZE (2))
-
-BackwardGVNSIndicator ::= OCTET STRING(SIZE(1))
-
-
-MiscCallInfo::= INTEGER {
- request (0),
- notification (1)
- } (0..1)
-
-LegType ::= INTEGER (1..30)
-
-DateAndTime ::= OCTET STRING (SIZE(6))
-
-GenericNumber ::= OCTET STRING (SIZE(1..16))
-
-GenericDigits ::= OCTET STRING (SIZE(1..16))
-
-Number ::= OCTET STRING (SIZE(1..16))
-
-Cause::= OCTET STRING (SIZE(2))
-
-
-BillingInformation ::= SEQUENCE {
- billingKey [0] INTEGER (0..214783647),
- billingAttribute1 [1] Attribute1 OPTIONAL,
- billingAttribute2 [2] Attribute2 OPTIONAL,
- billingAttribute3 [3] Attribute3 OPTIONAL,
- billingAttribute4 [4] Attribute4 OPTIONAL,
- billingAttribute5 [5] Attribute5 OPTIONAL,
- billingAttribute6 [6] Attribute6 OPTIONAL,
- billingAttribute7 [7] Attribute7 OPTIONAL,
- billingAttribute8 [8] Attribute8 OPTIONAL,
- billingAttribute9 [9] Attribute9 OPTIONAL,
- billingAttribute10 [10] Attribute10 OPTIONAL,
- billingAttribute11 [11] Attribute11 OPTIONAL,
- billingAttribute12 [12] Attribute12 OPTIONAL,
- billingAttribute13 [13] Attribute13 OPTIONAL,
- billingAttribute14 [14] Attribute14 OPTIONAL,
- billingAttribute15 [15] Attribute15 OPTIONAL,
- billingAttribute16 [16] Attribute16 OPTIONAL,
- billingAttribute17 [17] Attribute17 OPTIONAL,
- billingAttribute18 [18] Attribute18 OPTIONAL,
- billingAttribute19 [19] Attribute19 OPTIONAL,
- billingAttribute20 [20] Attribute20 OPTIONAL
-}
-
-
-Attribute1 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute2 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute3 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute4 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute5 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute6 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute7 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute8 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute9 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute10 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute11 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute12 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute13::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute14 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute15 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute16 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute17 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute18 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute19::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute20 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute21 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute22 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute23 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute24 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute25 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute26 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute27::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute28 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute29 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute30 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Certificate.asn b/lib/asn1/test/asn1_bin_SUITE_data/Certificate.asn
deleted file mode 100644
index e69de29bb2..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Certificate.asn
+++ /dev/null
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Cho.py b/lib/asn1/test/asn1_bin_SUITE_data/Cho.py
deleted file mode 100644
index c390eed2ba..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Cho.py
+++ /dev/null
@@ -1,27 +0,0 @@
-Cho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-ChoCon ::= CHOICE
-{
- nested Cho2,
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN,
- int2 [2] INTEGER
-}
-
-ChoExp ::= CHOICE
-{
- int10 [APPLICATION 10] EXPLICIT INTEGER {first(1),last(31)},
- bool11 [APPLICATION 11] EXPLICIT BOOLEAN,
- enum12 [APPLICATION 12] EXPLICIT ENUMERATED {one(1),two(2),three(3)}
-}
-
-Cho2 ::= CHOICE
-{
- i INTEGER,
- b BOOLEAN
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoExtension.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoExtension.asn1
deleted file mode 100644
index 18473bae30..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoExtension.asn1
+++ /dev/null
@@ -1,44 +0,0 @@
-ChoExtension DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-ChoExt1 ::= CHOICE
-{
- bool BOOLEAN,
- int INTEGER,
- ...
-}
-
-ChoExt1x ::= CHOICE
-{
- bool BOOLEAN,
- int INTEGER,
- ...,
- str OCTET STRING
-}
-
-ChoExt2 ::= CHOICE
-{
- bool BOOLEAN,
- ...,
- int INTEGER
-}
-
-ChoExt3 ::= CHOICE
-{
- str OCTET STRING,
--- ...,
- bool BOOLEAN,
- int INTEGER
-}
-
-ChoExt4 ::= CHOICE
-{
- bool BOOLEAN,
- int INTEGER,
- ...,
- str OCTET STRING
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoExternal.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoExternal.asn1
deleted file mode 100644
index 950579a620..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoExternal.asn1
+++ /dev/null
@@ -1,40 +0,0 @@
-ChoExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeq1, XCho, XBool, XBoolImp, XBoolExp, XChoNT, XChoExp FROM External;
-
-
-
-ChoXCho ::= XCho
-
-ChoXBool ::= CHOICE
-{
- xbool XBool,
- xboolImp XBoolImp,
- xboolExp XBoolExp
-}
-
-
-
-NT ::= CHOICE {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [2] EXPLICIT CHOICE {
- os OCTET STRING,
- bool BOOLEAN}
-
-NTNT ::= NT
-ExpNT ::= [4] EXPLICIT NT
-
-NTExp ::= Exp
-ExpExp ::= [8] EXPLICIT Exp
-
-XNTNT ::= XChoNT
-XExpNT ::= [4] EXPLICIT XChoNT
-
-XNTExp ::= XChoExp
-XExpExp ::= [8] EXPLICIT XChoExp
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoOptional.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoOptional.asn1
deleted file mode 100644
index 18f45b645c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoOptional.asn1
+++ /dev/null
@@ -1,35 +0,0 @@
-ChoOptional DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Seq1 ::= SEQUENCE
-{
- bool BOOLEAN,
- int INTEGER OPTIONAL,
- cho ChoOpt OPTIONAL
-}
-
-Seq2 ::= SEQUENCE
-{
- int INTEGER OPTIONAL,
- cho ChoOpt OPTIONAL,
- bool BOOLEAN
-}
-
-Seq3 ::= SEQUENCE
-{
- cho ChoOpt OPTIONAL,
- int INTEGER OPTIONAL,
- bool BOOLEAN
-}
-
-
-ChoOpt ::= CHOICE
-{
- vsCho VisibleString,
- ocStrCho OCTET STRING
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoOptionalImplicitTag.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoOptionalImplicitTag.asn1
deleted file mode 100644
index 251f682ddc..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoOptionalImplicitTag.asn1
+++ /dev/null
@@ -1,35 +0,0 @@
-ChoOptionalImplicitTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Seq1 ::= SEQUENCE
-{
- bool [0] BOOLEAN,
- int [1] INTEGER OPTIONAL,
- cho [7] ChoOpt OPTIONAL
-}
-
-Seq2 ::= SEQUENCE
-{
- int INTEGER OPTIONAL,
- cho ChoOpt OPTIONAL,
- bool BOOLEAN
-}
-
-Seq3 ::= SEQUENCE
-{
- cho ChoOpt OPTIONAL,
- int INTEGER OPTIONAL,
- bool BOOLEAN
-}
-
-
-ChoOpt ::= CHOICE
-{
- vsCho [2] VisibleString,
- ocStrCho [3] OCTET STRING
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoPrim.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoPrim.asn1
deleted file mode 100644
index 984694ced8..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoPrim.asn1
+++ /dev/null
@@ -1,20 +0,0 @@
-ChoPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-ChoCon ::= CHOICE
-{
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN,
- int2 [2] INTEGER
-}
-
-ChoExp ::= CHOICE
-{
- int10 [APPLICATION 10] EXPLICIT INTEGER {first(1),last(31)},
- bool11 [APPLICATION 11] EXPLICIT BOOLEAN,
- enum12 [APPLICATION 12] EXPLICIT ENUMERATED {one(1),two(2),three(3)}
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoRecursive.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoRecursive.asn1
deleted file mode 100644
index f0fe2f629c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoRecursive.asn1
+++ /dev/null
@@ -1,30 +0,0 @@
-ChoRecursive DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-ChoRec ::= CHOICE
-{
- nothing [0] NULL,
- something SEQUENCE
- {
- a INTEGER,
- b OCTET STRING,
- c ChoRec
- }
-}
-
-ChoRec2 ::= CHOICE
-{
- something SEQUENCE
- {
- a INTEGER,
- b OCTET STRING,
- c ChoRec2
- },
- nothing [0] NULL
-}
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefCho.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefCho.asn1
deleted file mode 100644
index bcbf5045cd..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefCho.asn1
+++ /dev/null
@@ -1,44 +0,0 @@
-ChoTypeRefCho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-ChoTRcho ::= CHOICE
-{
- choCho ChoChoNT,
- choChoE [145] EXPLICIT ChoChoNT,
-
- choCho-E ChoChoExp,
- choChoE-E [345] EXPLICIT ChoChoExp
-
-}
-
-ChoChoNT ::= CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-ChoChoExp ::= [75] EXPLICIT CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-
-
-ChoChoInline ::= CHOICE
-{
- bool1 [0] BOOLEAN,
- choCho CHOICE
- {
- bool BOOLEAN,
- octStr OctStr,
- int INTEGER
- }
-}
-
-OctStr ::= OCTET STRING
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefPrim.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefPrim.asn1
deleted file mode 100644
index ed6095f769..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefPrim.asn1
+++ /dev/null
@@ -1,34 +0,0 @@
-ChoTypeRefPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-ChoTR ::= CHOICE
-{
- bool BOOLEAN,
- octStr OctStr,
- int INTEGER
-}
-
-
-ChoTR2 ::= CHOICE
-{
- octStr OctStr,
- octStrI [114] OctStr,
- octStrE [115] EXPLICIT OctStr,
-
- octStr-I OctStrImp,
- octStrI-I [214] OctStrImp,
- octStrE-I [215] EXPLICIT OctStrImp,
-
- octStr-E OctStrExp,
- octStrI-E [314] OctStrExp,
- octStrE-E [315] EXPLICIT OctStrExp
-
-}
-
-OctStr ::= OCTET STRING
-OctStrImp ::= [14] OCTET STRING
-OctStrExp ::= [15] EXPLICIT OCTET STRING
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefSeq.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefSeq.asn1
deleted file mode 100644
index f9b5cbf85f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefSeq.asn1
+++ /dev/null
@@ -1,37 +0,0 @@
-ChoTypeRefSeq DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-ChoTRseq ::= CHOICE
-{
- choSeq ChoSeq,
- choSeqI [134] ChoSeq,
- choSeqE [135] EXPLICIT ChoSeq,
-
- choSeq-I ChoSeqImp,
- choSeqI-I [234] ChoSeqImp,
- choSeqE-I [235] EXPLICIT ChoSeqImp,
-
- choSeq-E ChoSeqExp,
- choSeqI-E [334] ChoSeqExp,
- choSeqE-E [335] EXPLICIT ChoSeqExp
-
-}
-
-ChoSeq ::= SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-ChoSeqImp ::= [64] SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-ChoSeqExp ::= [65] EXPLICIT SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefSet.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefSet.asn1
deleted file mode 100644
index 7d8da3f90d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoTypeRefSet.asn1
+++ /dev/null
@@ -1,37 +0,0 @@
-ChoTypeRefSet DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-ChoTRset ::= CHOICE
-{
- choSet ChoSet,
- choSetI [124] ChoSet,
- choSetE [125] EXPLICIT ChoSet,
-
- choSet-I ChoSetImp,
- choSetI-I [224] ChoSetImp,
- choSetE-I [225] EXPLICIT ChoSetImp,
-
- choSet-E ChoSetExp,
- choSetI-E [324] ChoSetExp,
- choSetE-E [325] EXPLICIT ChoSetExp
-
-}
-
-ChoSet ::= SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-ChoSetImp ::= [54] SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-ChoSetExp ::= [55] EXPLICIT SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoiceBadExtension.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ChoiceBadExtension.asn1
deleted file mode 100644
index d0789d7414..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoiceBadExtension.asn1
+++ /dev/null
@@ -1,27 +0,0 @@
-ChoiceBadExtension DEFINITIONS ::=
-BEGIN
-
-Seq ::= SEQUENCE {
- ...,
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER
- }
-
-Cho1 ::= CHOICE {
- name PrintableString,
- ...,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER
- }
-
-Cho2 ::= CHOICE {
- ...,
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER
- }
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoiceInSeq.asn b/lib/asn1/test/asn1_bin_SUITE_data/ChoiceInSeq.asn
deleted file mode 100644
index ac93226a1b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoiceInSeq.asn
+++ /dev/null
@@ -1,22 +0,0 @@
-ChoiceInSeq DEFINITIONS ::=
-BEGIN
-CallCentreServiceNotificationArg ::= SEQUENCE {
- scriptInformation [0] ScriptToScriptInformation,
- eventInformation
- CHOICE
- { callEvent [1] CallEvent,
- billingReport [2] BillingInformation
- } OPTIONAL
-}
-
-ScriptToScriptInformation ::= INTEGER
-CallEvent ::= INTEGER
-BillingInformation ::= INTEGER
-EventInformation ::=
- CHOICE
- { callEvent [1] CallEvent,
- billingReport [2] BillingInformation
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ChoiceIndef.asn b/lib/asn1/test/asn1_bin_SUITE_data/ChoiceIndef.asn
deleted file mode 100644
index 71b717b621..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ChoiceIndef.asn
+++ /dev/null
@@ -1,24 +0,0 @@
-ChoiceIndef DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-I ::= INTEGER
-
-Cho ::= CHOICE {
- ca [0] I,
- cb [1] INTEGER
-}
-
-Seq ::= SEQUENCE {
- sa [0] Cho,
- sb [1] INTEGER
-}
-
--- detta varde funkar ej. fixat i OTP-4358
--- Val4 = {'Seq',{ca,11},12}
--- val4 = <<48,128,160,128,128,1,11,0,0,129,1,12,0,0>>
-
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Comment.asn b/lib/asn1/test/asn1_bin_SUITE_data/Comment.asn
deleted file mode 100644
index c2a5abd633..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Comment.asn
+++ /dev/null
@@ -1,21 +0,0 @@
-Comment DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-/* comments as to the 2002 standard
-
-this is the new added way of commenting multile lines */
-
-/* it is also allowed to have -- old kind of comment signs inside
-this new variant. The two dashes will lose their meaning as a comment
-inside a multiline comment, /* the new type of comment may also be
-nested */ */
-
-Seq ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-
-/* another multiline comment, bu t on one line. */
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/CommonDataTypes.py b/lib/asn1/test/asn1_bin_SUITE_data/CommonDataTypes.py
deleted file mode 100644
index 2c25f81235..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/CommonDataTypes.py
+++ /dev/null
@@ -1,4360 +0,0 @@
-CommonDataTypes DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
--- @prop dataType
--- @descr This types only purpose is to avoid OSS compiler warning : Duplicate PDU tag
--- @
-CommonDataTypeWrapper ::= CHOICE
-{
- wrapAddAnalysisRejectReason AddAnalysisRejectReason,
- wrapAddServiceToServiceProfileRejectReason AddServiceToServiceProfileRejectReason,
- wrapAddUserIdentifiersRejectReason AddUserIdentifiersRejectReason,
- wrapAdmissionRejectReason AdmissionRejectReason,
- wrapAlertingUUIE AlertingUUIE,
- wrapAllocateTransmissionPathRejectReason AllocateTransmissionPathRejectReason,
- wrapAnalyseRejectReason AnalyseRejectReason,
- wrapAvailabilityOfEquipment AvailabilityOfEquipment,
- wrapBandwidth Bandwidth,
- wrapBandwidthReducedInformation BandwidthReducedInformation,
- wrapBandwidthReducedReason BandwidthReducedReason,
- wrapBandwidthRejectReason BandwidthRejectReason,
- wrapBasicCallCategories BasicCallCategories,
- wrapBearerCapability BearerCapability,
- wrapCallInformation CallInformation,
- wrapCallModel CallModel,
- wrapCallProceedingUUIE CallProceedingUUIE,
- wrapCallReference CallReference,
- wrapCallServices CallServices,
- wrapCallState CallState,
- wrapCallType CallType,
- wrapCause Cause,
- wrapCauseValue CauseValue,
- wrapChangeServiceAndStatusRejectReason ChangeServiceAndStatusRejectReason,
- wrapCheckServiceRejectReason CheckServiceRejectReason,
- wrapCoding Coding,
- wrapConferenceGoal ConferenceGoal,
- wrapConferenceIdentifier ConferenceIdentifier,
- wrapConnectTransmissionPathRejectReason ConnectTransmissionPathRejectReason,
- wrapConnectUUIE ConnectUUIE,
- wrapConnectionData ConnectionData,
- wrapConnectionIdentifier ConnectionIdentifier,
- wrapConnectionInformation ConnectionInformation,
- wrapConnectionInformationOriginatingSide ConnectionInformationOriginatingSide,
- wrapConnectionInformationTerminatingSide ConnectionInformationTerminatingSide,
- wrapConnectionType ConnectionType,
- wrapCreateEquipmentRepresentationRejectReason CreateEquipmentRepresentationRejectReason,
- wrapCreateServiceAndStatusRejectReason CreateServiceAndStatusRejectReason,
- wrapCreateServiceIdentifierRejectReason CreateServiceIdentifierRejectReason,
- wrapDeallocateTransmissionPathRejectReason DeallocateTransmissionPathRejectReason,
- wrapDetailedReasonAtom DetailedReasonAtom,
- wrapDiagnostics Diagnostics,
- wrapDisconnectTransmissionPathRejectReason DisconnectTransmissionPathRejectReason,
- wrapDisengageReason DisengageReason,
- wrapDisengageRejectReason DisengageRejectReason,
- wrapDisplay Display,
- wrapE164Identifier E164Identifier,
- wrapEndToEndEndpointInformationServiceCallAcknowledge EndToEndEndpointInformationServiceCallAcknowledge,
- wrapEndToEndEndpointInformationServiceCallActive EndToEndEndpointInformationServiceCallActive,
- wrapEndToEndEndpointInformationServiceCallProgress EndToEndEndpointInformationServiceCallProgress,
- wrapEndToEndEndpointInformationServiceCallSetup EndToEndEndpointInformationServiceCallSetup,
- wrapEndToEndEndpointInformationServiceCallTermination EndToEndEndpointInformationServiceCallTermination,
- wrapEndpointIdentifier EndpointIdentifier,
- wrapEndpointRegistrationCategories EndpointRegistrationCategories,
- wrapEndpointRegistrationRejectReason EndpointRegistrationRejectReason,
- wrapEndpointType EndpointType,
- wrapEndpointUnregistrationCategories EndpointUnregistrationCategories,
- wrapEndpointUnregistrationRejectReason EndpointUnregistrationRejectReason,
- wrapEquipmentAddressAN EquipmentAddressAN,
- wrapEquipmentAddressLAN EquipmentAddressLAN,
- wrapEquipmentRelatedInformation EquipmentRelatedInformation,
- wrapEquipmentRelatedInformationIdentifier EquipmentRelatedInformationIdentifier,
- wrapFacilityReason FacilityReason,
- wrapFacilityUUIE FacilityUUIE,
- wrapGatekeeperIdentifier GatekeeperIdentifier,
- wrapGatekeeperInformation GatekeeperInformation,
- wrapGatekeeperRejectReason GatekeeperRejectReason,
- wrapGatewayInformation GatewayInformation,
- wrapGetAnalysisRejectReason GetAnalysisRejectReason,
- wrapGetEquipmentInformationRejectReason GetEquipmentInformationRejectReason,
- wrapGetLANDataRejectReason GetLANDataRejectReason,
- wrapGetPartyInformationRejectReason GetPartyInformationRejectReason,
- wrapGetRejectReasonUser GetRejectReasonUser,
- wrapGetServiceFromServiceProfileRejectReason GetServiceFromServiceProfileRejectReason,
- wrapGetServiceProfileRejectReason GetServiceProfileRejectReason,
- wrapGetServicesAndStatusRejectReason GetServicesAndStatusRejectReason,
- wrapGetUserServiceInformationAndStatusRejectReason GetUserServiceInformationAndStatusRejectReason,
- wrapH221NonStandard H221NonStandard,
- wrapH310Information H310Information,
- wrapH320Information H320Information,
- wrapH321Information H321Information,
- wrapH322Information H322Information,
- wrapH323Information H323Information,
- wrapH323InterfaceAddCallReferenceRejectReason H323InterfaceAddCallReferenceRejectReason,
- wrapH323InterfaceAddCallRelatedDataRejectReason H323InterfaceAddCallRelatedDataRejectReason,
- wrapH323InterfaceAddFixedTransportAddressDataRejectReason H323InterfaceAddFixedTransportAddressDataRejectReason,
- wrapH323InterfaceAddKeysAndSetAttributesRejectReason H323InterfaceAddKeysAndSetAttributesRejectReason,
- wrapH323InterfaceAdditionalKeys H323InterfaceAdditionalKeys,
- wrapH323InterfaceAllocateResourceRejectReason H323InterfaceAllocateResourceRejectReason,
- wrapH323InterfaceChangeKeysAndRelationsToUsersReject H323InterfaceChangeKeysAndRelationsToUsersReject,
- wrapH323InterfaceCommonAttribute H323InterfaceCommonAttribute,
- wrapH323InterfaceCommonAttributeIdentifier H323InterfaceCommonAttributeIdentifier,
- wrapH323InterfaceCreateCallReferenceRejectReason H323InterfaceCreateCallReferenceRejectReason,
- wrapH323InterfaceCreateRejectReason H323InterfaceCreateRejectReason,
- wrapH323InterfaceDeallocateResourceRejectReason H323InterfaceDeallocateResourceRejectReason,
- wrapH323InterfaceGetFixedTransportAddressDataRejectReason H323InterfaceGetFixedTransportAddressDataRejectReason,
- wrapH323InterfaceGetOrRemoveCallRelatedDataRejectReason H323InterfaceGetOrRemoveCallRelatedDataRejectReason,
- wrapH323InterfaceGetOrSetCommonRejectReason H323InterfaceGetOrSetCommonRejectReason,
- wrapH323InterfaceGetOrSetInstanceRejectReason H323InterfaceGetOrSetInstanceRejectReason,
- wrapH323InterfaceInstanceAttribute H323InterfaceInstanceAttribute,
- wrapH323InterfaceInstanceAttributeIdentifier H323InterfaceInstanceAttributeIdentifier,
- wrapH323InterfaceKey H323InterfaceKey,
- wrapH323InterfaceKeyEndpointIdentifier H323InterfaceKeyEndpointIdentifier,
- wrapH323InterfaceReduceBandwidthRejectReason H323InterfaceReduceBandwidthRejectReason,
- wrapH323InterfaceRemoveCallReferenceRejectReason H323InterfaceRemoveCallReferenceRejectReason,
- wrapH323InterfaceRemoveFixedTransportAddressDataRejectReason H323InterfaceRemoveFixedTransportAddressDataRejectReason,
- wrapH323InterfaceRemoveKeysAndSetAttributesRejectReason H323InterfaceRemoveKeysAndSetAttributesRejectReason,
- wrapH323InterfaceRemoveRejectReason H323InterfaceRemoveRejectReason,
- wrapH324Information H324Information,
- wrapHighLayerCompatibility HighLayerCompatibility,
- wrapInterfaceRegistrationInformation InterfaceRegistrationInformation,
- wrapLANAttribute LANAttribute,
- wrapLANAttributeIdentifier LANAttributeIdentifier,
- wrapLayer1ProtUserInfo Layer1ProtUserInfo,
- wrapLocation Location,
- wrapLocationRejectReason LocationRejectReason,
- wrapLogicalConnectionPointIdentifier LogicalConnectionPointIdentifier,
- wrapLowLayerCompatibility LowLayerCompatibility,
- wrapMaximumNumberOfAllowedConnections MaximumNumberOfAllowedConnections,
- wrapMaximumTotalBandwidth MaximumTotalBandwidth,
- wrapMcuInformation McuInformation,
- wrapNonStandardIdentifier NonStandardIdentifier,
- wrapNonStandardMessage NonStandardMessage,
- wrapNonStandardParameter NonStandardParameter,
- wrapNumber Number,
- wrapNumberOfTimesLANWasCrowded NumberOfTimesLANWasCrowded,
- wrapNumberType NumberType,
- wrapNumberingPlan NumberingPlan,
- wrapObjectIdentifier ObjectIdentifier,
- wrapPhysicalConnectionPointIdentifier PhysicalConnectionPointIdentifier,
- wrapPid Pid,
- wrapPreStringToRemoveInDestinationAddress PreStringToRemoveInDestinationAddress,
- wrapProgressIndicator ProgressIndicator,
- wrapProtocolIdentifier ProtocolIdentifier,
- wrapQ931Timer301Value Q931Timer301Value,
- wrapQ931Timer303Value Q931Timer303Value,
- wrapQ954Details Q954Details,
- wrapQseriesOptions QseriesOptions,
- wrapRASMessageTimerValue RASMessageTimerValue,
- wrapRTPSession RTPSession,
- wrapRegistrationRejectReason RegistrationRejectReason,
- wrapRegistrationStatus RegistrationStatus,
- wrapRelationToEquipment RelationToEquipment,
- wrapRelationToUser RelationToUser,
- wrapReleaseCompleteReason ReleaseCompleteReason,
- wrapReleaseCompleteUUIE ReleaseCompleteUUIE,
- wrapReleaseInformation ReleaseInformation,
- wrapRemoveAnalysisRejectReason RemoveAnalysisRejectReason,
- wrapRemoveEquipmentRepresentationRejectReason RemoveEquipmentRepresentationRejectReason,
- wrapRemoveServiceAndStatusRejectReason RemoveServiceAndStatusRejectReason,
- wrapRemoveServiceFromServiceProfileRejectReason RemoveServiceFromServiceProfileRejectReason,
- wrapRemoveServiceIdentifierRejectReason RemoveServiceIdentifierRejectReason,
- wrapRepeatIndicator RepeatIndicator,
- wrapRequestSeqNum RequestSeqNum,
- wrapRequestedUserAndLinkedUserAreIdentical RequestedUserAndLinkedUserAreIdentical,
- wrapServiceAndStatus ServiceAndStatus,
- wrapServiceCallSetupRejectionInformation ServiceCallSetupRejectionInformation,
- wrapServiceCallSetupRejectionReason ServiceCallSetupRejectionReason,
- wrapServiceCallTerminationInformation ServiceCallTerminationInformation,
- wrapServiceCallTerminationReason ServiceCallTerminationReason,
- wrapServiceData ServiceData,
- wrapServiceIdentifier ServiceIdentifier,
- wrapServiceProfile ServiceProfile,
- wrapSetEquipmentStatusRejectReason SetEquipmentStatusRejectReason,
- wrapSetLANDataRejectReason SetLANDataRejectReason,
- wrapSetUserAttributeData SetUserAttributeData,
- wrapSetupUUIE SetupUUIE,
- wrapStateOfEquipment StateOfEquipment,
- wrapStateOfUser StateOfUser,
- wrapStatusOfService StatusOfService,
- wrapSubaddress Subaddress,
- wrapSubaddressInformation SubaddressInformation,
- wrapSubaddressType SubaddressType,
- wrapSupportedProtocols SupportedProtocols,
- wrapT120Information T120Information,
- wrapTerminalInformation TerminalInformation,
- wrapTerminationInitiatior TerminationInitiatior,
- wrapTimeSlot TimeSlot,
- wrapTransferCapability TransferCapability,
- wrapTransferRate TransferRate,
- wrapTransportAddress TransportAddress,
- wrapTransportAddressInformation TransportAddressInformation,
- wrapTransportChannelInformation TransportChannelInformation,
- wrapTypeOfEquipment TypeOfEquipment,
- wrapTypeOfFlowControl TypeOfFlowControl,
- wrapTypeOfLAN TypeOfLAN,
- wrapTypeOfRegistration TypeOfRegistration,
- wrapTypeOfService TypeOfService,
- wrapTypeOfUser TypeOfUser,
- wrapUnknownMessageResponse UnknownMessageResponse,
- wrapUnregistrationRejectReason UnregistrationRejectReason,
- wrapUserAllocateResourceRejectReason UserAllocateResourceRejectReason,
- wrapUserAttributeData UserAttributeData,
- wrapUserAttributeIdentifier UserAttributeIdentifier,
- wrapUserCreateRejectReason UserCreateRejectReason,
- wrapUserDeallocateResourceRejectReason UserDeallocateResourceRejectReason,
- wrapUserIdentifier UserIdentifier,
- wrapUserIdentifierInformation UserIdentifierInformation,
- wrapUserInformation UserInformation,
- wrapUserInformationUUIE UserInformationUUIE,
- wrapUserKey UserKey,
- wrapUserOrEquipmentRelatedInformation UserOrEquipmentRelatedInformation,
- wrapUserOrEquipmentRelatedInformationIdentifier UserOrEquipmentRelatedInformationIdentifier,
- wrapUserRelatedInformation UserRelatedInformation,
- wrapUserRelatedInformationIdentifier UserRelatedInformationIdentifier,
- wrapUserRemoveRejectReason UserRemoveRejectReason,
- wrapUserSetRejectReason UserSetRejectReason,
- wrapUserSpecificInformation UserSpecificInformation,
- wrapVendorIdentifier VendorIdentifier,
- wrapVoiceInformation VoiceInformation,
- ...
-}
-
-
--- ---------------------------------
---
--- AddAnalysisRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-AddAnalysisRejectReason ::= CHOICE
-{
- analysisTableEntryAlreadyExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- AddServiceToServiceProfileRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-AddServiceToServiceProfileRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- serviceAlreadyExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- AddUserIdentifiersRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-AddUserIdentifiersRejectReason ::= CHOICE
-{
- userIdentifierExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- AdmissionRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-AdmissionRejectReason ::= CHOICE
-{
- calledPartyNotRegistered NULL,
- invalidPermission NULL,
- requestDenied NULL,
- undefinedReason NULL,
- callerNotRegistered NULL,
- routeCallToGatekeeper NULL,
- invalidEndpointIdentifier NULL,
- resourceUnavailable NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- AlertingUUIE
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-AlertingUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationEndpointType EndpointType, -- destinationInfo
- destinationH245Address TransportAddress OPTIONAL, -- h245Address
- ...
-}
-
-
--- ---------------------------------
---
--- AllocateTransmissionPathRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-AllocateTransmissionPathRejectReason ::= CHOICE
-{
- calledUserNotAvailable NULL,
- calledUserUnknown NULL,
- permissionDenied NULL,
- resourcesNotAvailable NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- AnalyseRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-AnalyseRejectReason ::= CHOICE
-{
- noMatchingEntryFound NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- AvailabilityOfEquipment
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-AvailabilityOfEquipment ::= CHOICE
-{
- available NULL,
- notAvailable NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- Bandwidth
---
--- @prop dataType
---
--- @descr States the bandwidth to be used in 100 bps.
---
--- @
---
--- ---------------------------------
-
-Bandwidth ::= INTEGER ( 1.. 4294967295 )
-
-
-
--- ---------------------------------
---
--- BandwidthReducedInformation
---
--- @prop dataType
---
--- @descr States information related to the recuction of the bandwidth.
---
--- @
---
--- ---------------------------------
-
-BandwidthReducedInformation ::= SEQUENCE
-{
- allocatedBandwidth Bandwidth,
- bandwidthReducedReason BandwidthReducedReason,
- ...
-}
-
-
-
--- ---------------------------------
---
--- BandwidthReducedReason
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-BandwidthReducedReason ::= CHOICE
-{
- bandwidthLimited NULL,
- bandwidthAdaptedToOriginatingEndpoint NULL,
- originBandwidthBarredDueToCategories NULL,
- undefined NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- BandwidthRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-BandwidthRejectReason ::= CHOICE
-{
- notBound NULL,
- invalidConferenceID NULL,
- invalidPermission NULL,
- insufficientResources NULL,
- invalidRevision NULL,
- undefinedReason NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- BasicCallCategories
---
--- @prop dataType
---
--- @descr Categories for the service basic call.
---
--- @
--- ---------------------------------
-
-BasicCallCategories ::= SEQUENCE
-{
- ... -- So far, no specific categories identified
-}
-
--- ---------------------------------
---
--- BearerCapability
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-BearerCapability ::= SEQUENCE
-{
- transferCapability TransferCapability,
- transferRate TransferRate,
- layer1ProtUserInfo Layer1ProtUserInfo,
- rateMultiplier INTEGER (0..127),
- ...
-}
-
-
-
--- ---------------------------------
---
--- CallInformation
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-CallInformation ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- callReference CallReference, -- callReferenceValue
- conferenceID ConferenceIdentifier,
- originator BOOLEAN OPTIONAL,
- audio SEQUENCE OF RTPSession OPTIONAL,
- video SEQUENCE OF RTPSession OPTIONAL,
- data SEQUENCE OF TransportChannelInformation OPTIONAL,
- h245 TransportChannelInformation,
- callSignaling TransportChannelInformation,
- callType CallType,
- bandwidth Bandwidth, -- bandWidth
- callModel CallModel,
- ...
-}
-
--- ---------------------------------
---
--- CallModel
---
--- @prop dataType
---
--- @descr Type of callmodel used i.e routed via gatekeeper or not
---
--- @
---
--- ---------------------------------
-
-CallModel ::= CHOICE
-{
- gatekeeperRouted NULL,
- direct NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- CallProceedingUUIE
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-
-CallProceedingUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationEndpointType EndpointType, -- destinationInfo
- destinationH245Address TransportAddress OPTIONAL, -- h245Address
- ...
-}
-
--- ---------------------------------
---
--- PreStringToRemoveInDestinationAddress
---
--- @prop dataType
---
--- @descr states the call reference that identifies a specific call.
--- Origin: H.225.0 CallReferenceValue.
---
--- @
---
--- ---------------------------------
-
-CallReference ::= INTEGER (0..65535)
-
-
--- ---------------------------------
---
--- CallServices
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-CallServices ::= SEQUENCE
-{
- q932Full BOOLEAN,
- q951Full BOOLEAN,
- q952Full BOOLEAN,
- q953Full BOOLEAN,
- q955Full BOOLEAN,
- q956Full BOOLEAN,
- q957Full BOOLEAN,
- q954Info Q954Details,
- ...
-}
-
-
--- ---------------------------------
---
--- CallType
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-CallState ::= CHOICE
-{
- null NULL,
- callInit NULL,
- overlapSending NULL,
- outgoingCallProceeding NULL,
- callDelivered NULL,
- callPresent NULL,
- callReceived NULL,
- connectRequest NULL,
- incomingCallProceeding NULL,
- active NULL,
- disconnectRequest NULL,
- disconnectIndication NULL,
- releaseRequest NULL,
- facilityRequest NULL,
- overlapReceiving NULL,
- restartRequest NULL,
- restart NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- CallType
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-CallType ::= CHOICE
-{
- pointToPoint NULL,
- oneToN NULL,
- nToOne NULL,
- nToN NULL,
- ...
-}
-
--- ---------------------------------
---
--- Cause
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-Cause ::= SEQUENCE
-{
- coding Coding,
- location Location,
- value CauseValue,
- diagnostics Diagnostics,
- ...
-}
-
-
--- ---------------------------------
---
--- CauseValue
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-CauseValue ::= CHOICE
-{
- unassignedNumber NULL, -- 1
- noRouteToSpecifiedTransitNetwork NULL, -- 2
- noRouteToDestination NULL, -- 3
- channelUnacceptable NULL, -- 6
- normalClearing NULL, -- 16
- userBusy NULL, -- 17
- noUserResponding NULL, -- 18
- noAnswereFromUser NULL, -- 19
- portableNotAvailable NULL, -- 20
- callRejected NULL, -- 21
- numberChanged NULL, -- 22
- destinationOutOfOrder NULL, -- 27
- invalidNumberFormat NULL, -- 28
- facilityRequestRejected NULL, -- 29
- responseToStatusEnquiry NULL, -- 30
- normalUnspecified NULL, -- 31
- noCircuitChannelAvailable NULL, -- 34
- networkOutOfOrder NULL, -- 38
- temporaryFailure NULL, -- 41
- switchingEquipmentCongestion NULL, -- 42
- accessInformationDiscarded NULL, -- 43
- requestedCircuitChannelNotAvailable NULL, -- 44
- resourceUnavailableUnspecified NULL, -- 47
- qualityOfServiceUnavailable NULL, -- 49
- notSubscribedToRequestedFacility NULL, -- 50
- bearerCapabilityNotAuthorized NULL, -- 57
- bearerCapabilityNotPresentlyAvailable NULL, -- 58
- serviceOrOptionNotAvailableUnspecified NULL, -- 63, 79
- bearerCapabilityNotImplemented NULL, -- 65
- channelTypeNotImplemented NULL, -- 66
- requestedFacilityNotImplemented NULL, -- 69
- onlyRestrictedDigitalInformationBcIsAvailable NULL, -- 70
- invalidCallReferenceValue NULL, -- 81
- incompatibleDestination NULL, -- 88
- invalidTransitNetworkSelection NULL, -- 91
- invalidMessageUnspecified NULL, -- 95
- mandatoryInformationElementIsMissing NULL, -- 96
- messageTypeNonexistingOrNotimplemented NULL, -- 97
- messageNotCompatibleOrImplemented NULL, -- 98
- informationElementNonExisting NULL, -- 99
- invalidInformationElementContents NULL, -- 100
- messageNotCompatibleWithCallState NULL, -- 101
- recoveryOnTimerExpiry NULL, -- 102
- protocolErrorUnspecified NULL, -- 111
- interworkingUnspecified NULL, -- 127
- ...
-}
-
-
--- ---------------------------------
---
--- ChangeServiceAndStatusRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-ChangeServiceAndStatusRejectReason ::= CHOICE
-{
- identifierOfServiceNotKnown NULL,
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- CheckServiceRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-CheckServiceRejectReason ::= CHOICE
-{
- deniedDueToInteraction NULL,
- deniedDueToCategories NULL,
- undefined NULL,
- userNotKnown NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- Coding
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-Coding ::= CHOICE
-{
- ccitt NULL,
- ecma NULL,
- national NULL,
- network NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- ConferenceGoal
---
--- @prop dataType
---
--- @descr Type of call setup desire
---
--- @
---
--- ---------------------------------
-
-ConferenceGoal ::= CHOICE
-{
- create NULL,
- join NULL,
- invite NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConferenceIdentifier
---
--- @prop dataType
---
---
---
--- @
---
--- ---------------------------------
-
-ConferenceIdentifier ::= OCTET STRING (SIZE (16))
-
-
--- ---------------------------------
---
--- ConnectTransmissionPathRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-ConnectTransmissionPathRejectReason ::= CHOICE
-{
- resourcesNotAllocated NULL,
- switchFailure NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectUUIE
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-ConnectUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationH245Address TransportAddress OPTIONAL, -- h245Address
- destinationEndpointType EndpointType, -- destinationInfo
- conferenceIdentifier ConferenceIdentifier, -- conferenceID
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectionData
---
--- @prop dataType
---
--- @descr This parameter holds connection data that are specific for
--- certain types of Equipments.
--- @
---
--- ---------------------------------
-
-ConnectionData ::= CHOICE
-{
- timeSlotInformation SEQUENCE OF TimeSlot,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectionIdentifier
---
--- @prop dataType
---
--- @descr Identifier to the connection handler instance.
---
--- @
---
--- ---------------------------------
-
-ConnectionIdentifier ::= ObjectIdentifier
-
-
--- ---------------------------------
---
--- ConnectionInformation
---
--- @prop dataType
---
--- @descr This parameter specifies information that are of interest for
--- the functionallity handled by component Connection Handler.
--- @
---
--- ---------------------------------
-
-ConnectionInformation ::= SEQUENCE
-{
- logicalConnectionPointIdentifier LogicalConnectionPointIdentifier,
- connectionData ConnectionData OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectionInformationOriginatingSide
---
--- @prop dataType
---
--- @descr Contains connection information that shall be used for the originating side of the connection.
---
--- @
---
--- ---------------------------------
-
-ConnectionInformationOriginatingSide ::= SEQUENCE
-{
- bandwidth Bandwidth,
- callType CallType,
- originatorConnectionInformation ConnectionInformation,
- terminatorConnectionInformation ConnectionInformation,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectionInformationTerminatingSide
---
--- @prop dataType
---
--- @descr Contains connection information that shall be used for the terminating side of the connection.
---
--- @
---
--- ---------------------------------
-
-ConnectionInformationTerminatingSide ::= SEQUENCE
-{
- connectionIdentifier ConnectionIdentifier,
- originatorConnectionInformation ConnectionInformation,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectionType
---
--- @prop dataType
---
--- @descr States the type of connection.
---
--- @
---
--- ---------------------------------
-
-ConnectionType ::= CHOICE
-{
- pointToPoint NULL,
- oneToN NULL,
- nToOne NULL,
- nToN NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- CreateEquipmentRepresentationRejectReason
---
--- @prop dataType
---
--- @descr This reason for rejection.
---
--- @
---
--- ---------------------------------
-
-CreateEquipmentRepresentationRejectReason ::= CHOICE
-{
- equipmentRepresentationAlreadyExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- CreateServiceAndStatusRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-CreateServiceAndStatusRejectReason ::= CHOICE
-{
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- CreateServiceIdentifierRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-CreateServiceIdentifierRejectReason ::= CHOICE
-{
- keyNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- DeallocateTransmissionPathRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-DeallocateTransmissionPathRejectReason ::= CHOICE
-{
- resourcesNotAllocated NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- DetailedReasonAtom
---
--- @prop dataType
--- @descr This data type indicates the release information of a forced drop
--- during a call.
--- @
---
--- ---------------------------------
-
-DetailedReasonAtom ::= CHOICE
-{
- internalDataMissmatch NULL,
- destinationUserIdentifierNotKnown NULL,
- rejectedDueToCategories NULL,
- rejectedDueToResources NULL,
- failedToOpenDestinationCallSignallingPort NULL,
- theRequestedServiceIsNotSupported NULL,
- undefined NULL,
- ...
-}
-
--- ---------------------------------
---
--- Diagnostics
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-Diagnostics ::= INTEGER(1..127)
-
-
--- ---------------------------------
---
--- DisconnectTransmissionPathRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-DisconnectTransmissionPathRejectReason ::= CHOICE
-{
- resourcesNotAllocated NULL,
- switchFailure NULL,
- switchNotConnected NULL,
- undefined NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- DisengageReason
---
--- @prop dataType
--- @descr the reason why a change was requested by the gatekeeper or the terminal.
--- @
--- ---------------------------------
-
-DisengageReason ::= CHOICE
-{
- forcedDrop NULL,
- normalDrop NULL,
- undefinedReason NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- DisengageRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-DisengageRejectReason ::= CHOICE
-{
- notRegistered NULL,
- requestToDropOther NULL,
- ...
-}
--- ---------------------------------
---
--- Display
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-Display ::= OCTET STRING (SIZE(1..82))
-
-
-
--- ---------------------------------
---
--- E164Identifier
---
--- @prop dataType
---
--- @descr Identifier for the user identifier of the type E.164.
---
--- @
---
--- ---------------------------------
-
-E164Identifier ::= IA5String (SIZE (1..128)) (FROM ("0123456789#*,"))
-
-
--- ---------------------------------
---
--- EndToEndEndpointInformationServiceCallAcknowledge
---
--- @prop dataType
---
--- @descr Information that shall be sent end to end.
---
--- @
---
--- ---------------------------------
-
-EndToEndEndpointInformationServiceCallAcknowledge ::= SEQUENCE
-{
- bearerCapability BearerCapability OPTIONAL,
- highLayerCompatibility HighLayerCompatibility OPTIONAL,
- progressIndicator ProgressIndicator OPTIONAL,
- userToUserQ931Information UserInformation OPTIONAL,
- userToUserH323AcknowledgeInformation AlertingUUIE OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EndToEndEndpointInformationServiceCallActive
---
--- @prop dataType
---
--- @descr Information that shall be sent end to end.
---
--- @
---
--- ---------------------------------
-
-EndToEndEndpointInformationServiceCallActive ::= SEQUENCE
-{
- bearerCapability BearerCapability OPTIONAL,
- highLayerCompatibility HighLayerCompatibility OPTIONAL,
- lowLayerCompatibility LowLayerCompatibility OPTIONAL,
- progressIndicator ProgressIndicator OPTIONAL,
- userToUserQ931Information UserInformation OPTIONAL,
- userToUserH323ActiveInformation ConnectUUIE OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EndToEndEndpointInformationServiceCallProgress
---
--- @prop dataType
---
--- @descr Information that shall be sent end to end.
---
--- @
---
--- ---------------------------------
-
-EndToEndEndpointInformationServiceCallProgress ::=SEQUENCE
-{
- cause Cause OPTIONAL,
- highLayerCompatibility HighLayerCompatibility OPTIONAL,
- progressIndicator ProgressIndicator OPTIONAL,
- userToUserQ931Information UserInformation OPTIONAL,
- ...
-}
-
-
-
-
--- ---------------------------------
---
--- EndToEndEndpointInformationServiceCallSetup
---
--- @prop dataType
---
--- @descr Information that shall be sent end to end.
---
--- @
---
--- ---------------------------------
-
-EndToEndEndpointInformationServiceCallSetup ::=SEQUENCE
-{
- bearerCapability BearerCapability OPTIONAL,
- calledNumber Number OPTIONAL,
- calledSubaddress Subaddress OPTIONAL,
- callingNumber Number OPTIONAL,
- callingSubaddress Subaddress OPTIONAL,
- highLayerCompatibility HighLayerCompatibility OPTIONAL,
- lowLayerCompatibility LowLayerCompatibility OPTIONAL,
- progressIndicator ProgressIndicator OPTIONAL,
- repeatIndicator RepeatIndicator OPTIONAL,
- userToUserQ931Information UserInformation OPTIONAL,
- userToUserH323SetupInformation SetupUUIE OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EndToEndEndpointInformationServiceCallTermination
---
--- @prop dataType
---
--- @descr Information that shall be sent end to end.
---
--- @
---
--- ---------------------------------
-
-EndToEndEndpointInformationServiceCallTermination ::=SEQUENCE
-{
- cause Cause OPTIONAL,
- progressIndicator ProgressIndicator OPTIONAL,
- userToUserQ931Information UserInformation OPTIONAL,
- userToUserH323TerminationInformation ReleaseCompleteUUIE OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EndpointIdentifier
---
--- @prop dataType
---
---
--- @
---
--- ---------------------------------
-
-EndpointIdentifier ::= BMPString (SIZE(1..128)) -- change from SIZE(128)
-
-
--- ---------------------------------
---
--- EndpointRegistrationCategories
---
--- @prop dataType
---
--- @descr Categories for the service endpoint registration.
---
--- @
--- ---------------------------------
-
-EndpointRegistrationCategories ::= SEQUENCE
-{
- ... -- So far, no specific categories identified
-}
-
-
-
--- ---------------------------------
---
--- EndpointRegistrationRejectReason
---
--- @prop dataType
---
---
--- @
---
--- ---------------------------------
-
-EndpointRegistrationRejectReason ::= CHOICE
-{
- attemptToChangeEndpoint NULL,
- requestedUserNotKnown NULL,
- endpointTypeNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EndpointType
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-EndpointType ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- vendor VendorIdentifier OPTIONAL,
- gatekeeper GatekeeperInformation OPTIONAL,
- gateway GatewayInformation OPTIONAL,
- mcu McuInformation OPTIONAL,
- terminal TerminalInformation OPTIONAL,
- mc BOOLEAN,
- undefinedNode BOOLEAN,
- ...
-}
-
-
--- ---------------------------------
---
--- EndpointUnregistrationCategories
---
--- @prop dataType
---
--- @descr Categories for the service endpoint unregistration.
---
--- @
--- ---------------------------------
-
-EndpointUnregistrationCategories ::= SEQUENCE
-{
- ... -- So far, no specific categories identified
-}
-
-
-
--- ---------------------------------
---
--- EndpointUnregistrationRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-EndpointUnregistrationRejectReason ::= CHOICE
-{
- permissionDenied NULL,
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EquipmentAddressAN
---
--- @prop dataType
---
--- @descr States the address for a certain equipment connected
--- to the Access Node.
--- @
---
--- ---------------------------------
-
-EquipmentAddressAN ::= SEQUENCE
-{
- --TBD by SEA,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EquipmentAddressLAN
---
--- @prop dataType
---
--- @descr States the transport address for a certain equipment
---
--- @
---
--- ---------------------------------
-
-EquipmentAddressLAN ::= SEQUENCE
-{
- transportAddresses SEQUENCE OF TransportAddress,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EquipmentRelatedInformation
---
--- @prop dataType
---
--- @descr Contains the retreived data.
---
--- @
---
--- ---------------------------------
-
-EquipmentRelatedInformation ::= CHOICE
-{
- logicalConnectionPointIdentifier LogicalConnectionPointIdentifier,
- registrationStatus RegistrationStatus,
- stateOfEquipment StateOfEquipment,
- typeOfEquipment TypeOfEquipment,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EquipmentRelatedInformationIdentifier
---
---
--- @prop dataType
---
--- @descr This parameter specifies different types of data
--- that are specific to a certain equipment.
---
--- @
--- ---------------------------------
-
-EquipmentRelatedInformationIdentifier ::= CHOICE
-{
- logicalConnectionPointIdentifier NULL,
- registrationStatus NULL,
- stateOfEquipment NULL,
- typeOfEquipment NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- FacilityReason
---
--- @prop dataType
---
---
--- @
---
--- ---------------------------------
-
-FacilityReason ::= CHOICE
-{
- routeCallToGatekeeper NULL,
- callForwarded NULL,
- routeCallToMC NULL,
- undefinedReason NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- FacilityUUIE
---
--- @prop dataType
---
---
--- @
---
--- ---------------------------------
-
-FacilityUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- alternativeH245Address TransportAddress OPTIONAL, -- alternativeAddress
- alternativeUserIdentifierInformation UserIdentifierInformation OPTIONAL, -- alternativeAliasAddress
- conferenceIdentifier ConferenceIdentifier OPTIONAL, -- conferenceID
- facilityReason FacilityReason, -- reason
- ...
-}
-
-
--- ---------------------------------
---
--- GatekeeperIdentifier
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-GatekeeperIdentifier ::= BMPString (SIZE(1..128))
-
-
--- ---------------------------------
---
--- GatekeeperInformation
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-GatekeeperInformation ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- GatekeeperRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-GatekeeperRejectReason ::= CHOICE
-{
- resourceUnavailable NULL,
- terminalExcluded NULL,
- invalidRevision NULL,
- undefinedReason NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- GatewayInformation
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-GatewayInformation ::= SEQUENCE
-{
- protocol SEQUENCE OF SupportedProtocols OPTIONAL,
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- GetAnalysisRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetAnalysisRejectReason ::= CHOICE
-{
- noDataStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetEquipmentInformationRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetEquipmentInformationRejectReason ::= CHOICE
-{
- equipmentUnknown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetLANDataRejectReason
---
--- @prop dataType
---
--- @descr This reason for rejection.
---
--- @
---
--- ---------------------------------
-
-GetLANDataRejectReason ::= CHOICE
-{
- noDataStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetPartyInformationRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetPartyInformationRejectReason ::= CHOICE
-{
- noEquipmentAvailable NULL,
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetRejectReasonUser
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetRejectReasonUser ::= CHOICE
-{
- keyNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetServiceFromServiceProfileRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetServiceFromServiceProfileRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- serviceDoNotExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetServiceProfileRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-GetServiceProfileRejectReason ::= CHOICE
-{
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetServicesAndStatusRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetServicesAndStatusRejectReason ::= CHOICE
-{
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetUserServiceInformationAndStatusRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetUserServiceInformationAndStatusRejectReason ::= CHOICE
-{
- undefined NULL,
- userNotKnown NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H221NonStandard
--- @prop dataType
---
--- @descr Gives non standard information about the standard protocol H.221.
--- @
---
--- ---------------------------------
-
-H221NonStandard ::= SEQUENCE
-{ t35CountryCode INTEGER(0..255),
- t35Extension INTEGER(0..255),
- manufacturerCode INTEGER(0..65535),
- ...
-}
-
-
--- ---------------------------------
---
--- H310Information
--- @prop dataType
--- @descr Gives detailed information about the standard protocol H.310.
--- @
---
--- ---------------------------------
-
-H310Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- H320Information
--- @prop dataType
---
--- @descr Gives detailed information about the standard protocol H.320.
--- @
---
--- ---------------------------------
-
-H320Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- H321Information
---
--- @prop dataType
--- @descr Gives detailed information about the standard protocol H.321.
--- @
---
--- ---------------------------------
-
-H321Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- H322Information
---
--- @prop dataType
--- @descr Gives detailed information about the standard protocol H.322.
--- @
---
--- ---------------------------------
-
-H322Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- H323Information
---
--- @prop dataType
--- @descr Gives detailed information about the standard protocol H.323.
--- @
---
--- ---------------------------------
-
-H323Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- H323InterfaceAddCallReferenceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceAddCallReferenceRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- requestedCallReferenceAlreadyInUse NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceAddCallRelatedDataRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceAddCallRelatedDataRejectReason ::= CHOICE
-{
- callReferenceNotValid NULL,
- keyNotValid NULL,
- callRelatedDataAlredyStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceAddFixedTransportAddressDataRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceAddFixedTransportAddressDataRejectReason ::= CHOICE
-{
- fixedTransportAddressDataAlredyStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceAddKeysAndSetAttributesRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceAddKeysAndSetAttributesRejectReason ::= CHOICE
-{
- existingKeyNotValid NULL,
- newKeyAlreadyExists NULL,
- newKeyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceAdditionalKeys
---
--- @prop dataType
--- @descr Additional keys for an instance of the type H.323Interface.
--- @
--- ---------------------------------
-
-H323InterfaceAdditionalKeys ::= SEQUENCE
-{
- endpointCallSignallingAddresses SEQUENCE OF TransportAddress,
- endpointRASAddresses SEQUENCE OF TransportAddress,
- ...
-}
-
-
--- ---------------------------------
---
--- H323InterfaceAllocateResourceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceAllocateResourceRejectReason ::= CHOICE
-{
- callReferenceNotValid NULL,
- keyNotValid NULL,
- resourceNotAvailable NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceChangeKeysAndRelationsToUsersReject
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceChangeKeysAndRelationsToUsersReject ::= CHOICE
-{
- firstKeyNotValid NULL,
- secondKeyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceCommonAttribute
---
--- @prop dataType
---
--- @descr This parameter contains the attributes which holds data
--- that are common for all objects of the type H.323Interface.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceCommonAttribute ::= CHOICE
-{
- gatekeeperCallSignallingAddressData CHOICE
- {
- gatekeeperCallSignallingAddresses SEQUENCE OF TransportAddress,
- undefined NULL,
- ...
- },
- gatekeeperRASAddressInformation CHOICE
- {
- gatekeeperRASAddressData SEQUENCE
- {
- multicastRASAddress TransportAddress,
- gatekeeperRASAddress TransportAddress,
- ...
- },
- undefined NULL,
- ...
- },
- q931Timer301Value Q931Timer301Value,
- q931Timer303Value Q931Timer303Value,
- rasMessageTimerValue RASMessageTimerValue,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceCommonAttributeIdentifier
---
--- @prop dataType
---
--- @descr This parameter contains the attribute identifiers of the
--- attributes which holds data that are common for all objects
--- of the type H.323Interface.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceCommonAttributeIdentifier ::= CHOICE
-{
- gatekeeperCallSignallingAddresses NULL,
- gatekeeperRASAddress NULL,
- q931Timer301Value NULL,
- q931Timer303Value NULL,
- rasMessageTimerValue NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceCreateCallReferenceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
--- ---------------------------------
-
-H323InterfaceCreateCallReferenceRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- noCallReferenceAvailable NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceCreateRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceCreateRejectReason ::= CHOICE
-{
- keyAlreadyInUse NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceDeallocateResourceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
--- ---------------------------------
-
-H323InterfaceDeallocateResourceRejectReason ::= CHOICE
-{
- resourceNotAllocated NULL,
- callReferenceNotValid NULL,
- keyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceGetFixedTransportAddressDataRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
--- ---------------------------------
-
-H323InterfaceGetFixedTransportAddressDataRejectReason ::= CHOICE
-{
- noDataStoredForThisTransportAddress NULL,
- noFixedTransportAddressDataStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceGetOrRemoveCallRelatedDataRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceGetOrRemoveCallRelatedDataRejectReason ::= CHOICE
-{
- callReferenceNotValid NULL,
- keyNotValid NULL,
- noCallRelatedDataStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceGetOrSetCommonRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceGetOrSetCommonRejectReason ::= CHOICE
-{
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceGetOrSetInstanceRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceGetOrSetInstanceRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceInstanceAttribute
---
--- @prop dataType
---
--- @descr This parameter contains the attributes which holds data
--- that are specific for a h323Interface object.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceInstanceAttribute ::= CHOICE
-{
- endpointCallSignallingAddresses SEQUENCE OF TransportAddress,
- endpointRasAddresses SEQUENCE OF TransportAddress,
- registrationStatus RegistrationStatus,
- gatekeeperCallSignallingAddress TransportAddress,
- maximumTotalBandwidthForInterface Bandwidth,
- preStringsToRemoveInDestinationAddress SEQUENCE OF PreStringToRemoveInDestinationAddress,
- relationToH2250CallSignalling Pid,
- relationToUser RelationToUser,
- typeOfEquipment TypeOfEquipment,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceInstanceAttributeIdentifier
---
--- @prop dataType
---
--- @descr This parameter contains the attribute identifiers of the
--- attributes which holds data that are specific for a
--- h323Interface object.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceInstanceAttributeIdentifier ::= CHOICE
-{
- endpointCallSignallingAddresses NULL,
- endpointRASAddresses NULL,
- registrationStatus NULL,
- gatekeeperCallSignallingAddress NULL,
- maximumTotalBandwidthForInterface NULL,
- preStringsToRemoveInDestinationAddress NULL,
- relationToH2250CallSignalling NULL,
- relationToUser NULL,
- typeOfEquipment NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceKey
---
--- @prop dataType
--- @descr Allowed keys for an instance of the type H.323Interface.
--- @
--- ---------------------------------
-
-H323InterfaceKey ::= CHOICE
-{
- endpointIdentifier EndpointIdentifier,
- endpointCallSignallingAddresses SEQUENCE OF TransportAddress,
- endpointRASAddresses SEQUENCE OF TransportAddress,
- ...
-}
-
-
--- ---------------------------------
---
--- H323InterfaceKeyEndpointIdentifier
---
--- @descr Allowed keys for an instance of the type H.323Interface.
---
--- ---------------------------------
-
-H323InterfaceKeyEndpointIdentifier ::= SEQUENCE
-{
- endpointIdentifier EndpointIdentifier,
- ...
-}
-
-
--- ---------------------------------
---
--- H323InterfaceReduceBandwidthRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceReduceBandwidthRejectReason ::= CHOICE
-{
- bandwidthNotAllocated NULL,
- callReferenceNotValid NULL,
- keyNotValid NULL,
- newBandwidthHigherThanAllocatedBandwidth NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceRemoveCallReferenceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceRemoveCallReferenceRejectReason ::= CHOICE
-{
- callReferenceNotStored NULL,
- keyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceRemoveFixedTransportAddressDataRejectReason
--- @prop dataType
--- @descr Reason for the rejection.
--- @
--- ---------------------------------
-
-H323InterfaceRemoveFixedTransportAddressDataRejectReason ::= CHOICE
-{
- noDataStoredForThisTransportAddress NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceRemoveKeysAndSetAttributesRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceRemoveKeysAndSetAttributesRejectReason ::= CHOICE
-{
- keysNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceRemoveRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceRemoveRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- serviceInProgress NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H324Information
--- @prop dataType
---
--- @descr Gives detailed information about the standard protocol H.324.
--- @
---
--- ---------------------------------
-
-H324Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
--- @prop dataType
--- @descr Origin: Q931
--- @
-
-HighLayerCompatibility ::= SEQUENCE
-{
- ...
-}
--- ---------------------------------
---
--- InterfaceRegistrationInformation
--- @prop dataType
---
--- @descr This parameter specifies the current registration status of an
--- endpoints registration request.
--- @
---
--- ---------------------------------
-
-InterfaceRegistrationInformation ::= SEQUENCE
-{
- isInterfaceRegistered BOOLEAN,
- relationToH323User EndpointIdentifier OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- LANAttribute
---
--- @prop dataType
--- @descr This parameter contains a LAN attribute value.
--- @
---
--- ---------------------------------
-
-LANAttribute ::= CHOICE
-{
- maximumTotalBandwidth MaximumTotalBandwidth,
- maximumNumberOfAllowedConnections MaximumNumberOfAllowedConnections,
- numberOfTimesLANWasCrowded NumberOfTimesLANWasCrowded,
- typeOfFlowControl TypeOfFlowControl,
- typeOfLAN TypeOfLAN,
- ...
-}
-
-
-
--- ---------------------------------
---
--- LANAttributeIdentifier
---
--- @prop dataType
--- @descr This parameter contains a LAN attribute identifier.
--- @
---
--- ---------------------------------
-
-LANAttributeIdentifier ::= CHOICE
-{
- maximumTotalBandwidth NULL,
- maximumNumberOfAllowedConnections NULL,
- numberOfTimesLANWasCrowded NULL,
- typeOfFlowControl NULL,
- typeOfLAN NULL,
- ...
-}
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- Layer1ProtUserInfo ::= CHOICE
- {
- g711u-law NULL,
- g711a-law NULL,
- h323VidephoneCall NULL, -- the meaning of "5" in H323
- h221Andh242 NULL, -- the meaning of "5" in Q931
- ...
- }-- @prop dataType
--- @descr Origin: Q931
--- @
-
- Location ::= CHOICE
- {
- user NULL,
- localPrivateNetwork NULL,
- localPublicNetwork NULL,
- transitNetwork NULL,
- remotePublicNetwork NULL,
- remotePrivateNetwork NULL,
- internationalNetwork NULL,
- beyondInterworkingPoint NULL,
- ...
- }
-
--- ---------------------------------
---
--- LocationRejectReason
--- @prop dataType
---
--- @descr
--- @
--- ---------------------------------
-
-LocationRejectReason ::= CHOICE
-{
- notRegistered NULL,
- invalidPermission NULL,
- requestDenied NULL,
- undefinedReason NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- LogicalConnectionPointIdentifier
---
--- @prop dataType
--- @descr Identifier of the logical connection point.
--- @
---
--- ---------------------------------
-
-LogicalConnectionPointIdentifier ::= INTEGER (0..65535)
---
--- Created by :
--- Creation date :
--- Modified by :
--- Modification date :
--- Version :
---
--- @prop dataType
--- @descr origin Q931
--- @
-
- LowLayerCompatibility ::= SEQUENCE
- {
- }
-
--- ---------------------------------
---
--- MaximumNumberOfAllowedConnections
---
--- @prop dataType
--- @descr States the maximum number of allowed connections.
--- @
---
--- ---------------------------------
-
-MaximumNumberOfAllowedConnections ::= CHOICE
-{
- maximumNumberOfAllowedConnectionsValue INTEGER ( 0.. 999999999),
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- MaximumTotalBandwidth
--- @prop dataType
--- @descr States the maximum total bandwidth.
--- @
--- ---------------------------------
-
-MaximumTotalBandwidth ::= CHOICE
-{
- maximumTotalBandwidthValue Bandwidth,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- McuInformation
--- @prop dataType
---
--- @descr Gives detailed information about the endpoint type, MCU.
--- @
--- ---------------------------------
-
-McuInformation ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- NonStandardIdentifier
--- @prop dataType
---
--- @descr
--- @
---
--- ---------------------------------
-
-NonStandardIdentifier ::= CHOICE
-{
- object OBJECT IDENTIFIER,
- h221NonStandard H221NonStandard,
- ...
-}
-
-
--- ---------------------------------
---
--- NonStandardMessage
--- @prop dataType
---
--- @descr
--- @
---
--- ---------------------------------
-
-NonStandardMessage ::= SEQUENCE
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter,
- ...
-}
-
--- ---------------------------------
---
--- NonStandardParameter
---
--- @prop dataType
--- @
--- ---------------------------------
-
-NonStandardParameter ::= SEQUENCE
-{
- nonStandardIdentifier NonStandardIdentifier,
- data OCTET STRING,
- ...
-}
-
-
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- Number ::= SEQUENCE
- {
- type NumberType,
- indicator NumberingPlan,
- number IA5String (FROM ("0123456789#*")),
- ...
- }
-
--- ---------------------------------
---
--- NumberOfTimesLANWasCrowded
--- @prop dataType
---
--- @descr States the number of times the Lan has been crowded,
--- i.e. the endpoints has released the initiated call due to
--- heavy load in the LAN.
--- @
---
--- ---------------------------------
-
-NumberOfTimesLANWasCrowded ::= CHOICE
-{
- numberOfTimesLANWasCrowdedValue INTEGER ( 0.. 999999999),
- undefined NULL,
- ...
-}
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- NumberType ::= CHOICE
- {
- unknown NULL,
- international NULL,
- national NULL,
- network NULL,
- local NULL,
- abbreviated NULL,
- ...
- }
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- NumberingPlan ::= CHOICE
- {
- unknown NULL,
- e164 NULL,
- data NULL,
- telex NULL,
- national NULL,
- private NULL,
- ...
- }
-
-
-
--- ---------------------------------
---
--- ObjectIdentifier
---
--- @prop dataType
--- @descr An identifier to a certain instance of an object.
--- @
---
--- ---------------------------------
-
-ObjectIdentifier ::= OCTET STRING
-
-
-
--- ---------------------------------
---
--- PhysicalConnectionPointIdentifier
---
--- @prop dataType
--- @descr Contains data that identifies a specific equipment instance.
--- @
---
--- ---------------------------------
-
-PhysicalConnectionPointIdentifier ::= CHOICE
-{
- equipmentAN EquipmentAddressAN, -- Equipment connected to the Access Node.
- equipmentLAN EquipmentAddressLAN, -- Equipment connected to the LAN.
- ...
-}
-
-
--- ---------------------------------
---
--- Pid
--- @prop dataType
---
--- @descr A process identifier.
--- @
---
--- ---------------------------------
-
-Pid ::= ObjectIdentifier
-
-
-
--- ---------------------------------
---
--- PreStringToRemoveInDestinationAddress
---
--- @prop dataType
---
--- @descr A pre-string that shall be removed when sending the destination address.
---
--- @
---
--- ---------------------------------
-
-PreStringToRemoveInDestinationAddress ::= CHOICE
-{
- e164 IA5String (SIZE (1..128)) (FROM ("0123456789,")),
- h323 BMPString (SIZE (1..256)),
- -- h323 is Basic ISO/IEC 10646-1 (Unicode)
- ...
-}
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- ProgressIndicator ::= SEQUENCE
- {
- }
-
--- ---------------------------------
---
--- ProtocolIdentifier
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-ProtocolIdentifier ::= OBJECT IDENTIFIER
-
-
--- ---------------------------------
---
--- Q931Timer301Value
--- @prop dataType
---
--- @descr States the Q931 timer 301 value to be used in milli seconds.
--- @
---
--- ---------------------------------
-
-Q931Timer301Value ::= INTEGER ( 180000.. 360000 )
-
-
-
--- ---------------------------------
---
--- Q931Timer303Value
---
--- @prop dataType
--- @descr States the Q931 timer 303 value to be used in milli seconds.
--- @
---
--- ---------------------------------
-
-Q931Timer303Value ::= INTEGER ( 1000.. 10000 )
-
-
-
--- ---------------------------------
---
--- Q954Details
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-Q954Details ::= SEQUENCE
-{
- conferenceCalling BOOLEAN,
- threePartyService BOOLEAN,
- ...
-}
-
-
--- ---------------------------------
---
--- QseriesOptions
---
--- @prop dataType
--- @
---
--- ---------------------------------
-
-QseriesOptions ::=SEQUENCE
-{
- q932Full BOOLEAN,
- q951Full BOOLEAN,
- q952Full BOOLEAN,
- q953Full BOOLEAN,
- q955Full BOOLEAN,
- q956Full BOOLEAN,
- q957Full BOOLEAN,
- q954Info Q954Details,
- ...
-}
-
-
--- ---------------------------------
---
--- RASMessageTimerValue
---
--- @prop dataType
--- @descr States the RAS message timer value to be used in milli seconds.
--- @
---
--- ---------------------------------
-
-RASMessageTimerValue ::= INTEGER ( 1000.. 10000 )
-
-
-
--- ---------------------------------
---
--- RTPSession
---
--- @prop dataType
--- @
---
--- ---------------------------------
-
-RTPSession ::= SEQUENCE
-{
- rtpAddress TransportChannelInformation,
- rtcpAddress TransportChannelInformation,
- cname PrintableString,
- ssrc INTEGER (1.. 134217727), -- change from 4294967295 for erl 4.2
- sessionId INTEGER (1..255),
- associatedSessionIds SEQUENCE OF INTEGER (1..255),
- ...
-}
-
-
--- ---------------------------------
---
--- RegistrationRejectReason
---
--- @prop dataType
--- @descr Specifies the registration reject reason that are valid
--- in the H.225.0 message RegistartionReject
--- @ --
--- ---------------------------------
-
-RegistrationRejectReason ::= CHOICE
-{
- discoveryRequired NULL,
- invalidRevision NULL,
- invalidCallSignalAddress NULL,
- invalidRasAddress NULL,
- duplicateAlias UserIdentifierInformation,
- invalidTerminalType NULL,
- undefinedReason NULL,
- transportNotSupported NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- RegistrationStatus
---
--- @prop dataType
--- @
---
--- ---------------------------------
-
-RegistrationStatus ::= CHOICE
-{
- notRegistered NULL,
- registered NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- RelationToEquipment
---
--- @prop dataType
--- @descr Relation to the architecture component Equipment.
--- @
---
--- ---------------------------------
-
-RelationToEquipment ::= SEQUENCE
-{
- relationToUser RelationToUser,
- typeOfEquipment TypeOfEquipment,
- ...
-}
-
-
--- ---------------------------------
---
--- RelationToUser
---
--- @prop dataType
--- @descr Relation to the architecture component User.
--- @
---
--- ---------------------------------
-
-RelationToUser ::= BMPString (SIZE(1..128))
-
-
-
--- ---------------------------------
---
--- ReleaseCompleteReason
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-ReleaseCompleteReason ::= CHOICE
-{
- noBandwidth NULL,
- gatekeeperResources NULL,
- unreachableDestination NULL,
- destinationRejection NULL,
- invalidRevision NULL,
- noPermission NULL,
- unreachableGatekeeper NULL,
- gatewayResources NULL,
- badFormatAddress NULL,
- adaptiveBusy NULL,
- inConf NULL,
- undefinedReason NULL,
- ...
-}
-
-
-
-
-
-
--- ---------------------------------
---
--- ReleaseCompleteUUIE
--- @prop dataType
---
--- @
--- ---------------------------------
-
-ReleaseCompleteUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- releaseCompleteReason ReleaseCompleteReason OPTIONAL, -- reason
- ...
-}
-
-
--- ---------------------------------
---
--- ReleaseInformation
---
--- @prop dataType
--- @descr This data type is used to transfer the reason for the
--- rejection or release.
--- @
---
--- ---------------------------------
-
-ReleaseInformation ::= CHOICE
-{
- forcedDrop DetailedReasonAtom,
- normalDrop NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- RemoveAnalysisRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-RemoveAnalysisRejectReason ::= CHOICE
-{
- analysisTableEntryNotFound NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- RemoveEquipmentRepresentationRejectReason
---
--- @prop dataType
--- @descr This reason for rejection.
--- @
---
--- ---------------------------------
-
-RemoveEquipmentRepresentationRejectReason ::= CHOICE
-{
- invalidInputData NULL,
- equipmentRepresentationDoesNotExist NULL,
- other NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- RemoveServiceAndStatusRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-RemoveServiceAndStatusRejectReason ::= CHOICE
-{
- identifierOfServiceNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- RemoveServiceFromServiceProfileRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the service and its categories that
--- shall be added to a service profile.
---
--- @
---
--- ---------------------------------
-
-RemoveServiceFromServiceProfileRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- serviceDoNotExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- RemoveServiceIdentifierRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
--- ---------------------------------
-
-RemoveServiceIdentifierRejectReason ::= CHOICE
-{
- keyNotKnown NULL,
- serviceIdentifierDoNotExist NULL,
- undefined NULL,
- ...
-}
-
---
--- Created by :
--- Creation date :
--- Modified by :
--- Modification date :
--- Version :
---
--- @prop dataType
--- @
-
- RepeatIndicator ::= SEQUENCE
- {
- }
-
--- ---------------------------------
---
--- RequestSeqNum
---
--- @prop dataType
--- @descr
--- @
--- ---------------------------------
-
-RequestSeqNum ::= INTEGER (1..65535)
-
-
-
--- ---------------------------------
---
--- RequestedUserAndLinkedUserAreIdentical
---
--- @prop dataType
--- @descr This parameter indicates if the requested user and the user
--- linked to the requested endpoint are identical, not identical
--- or if this is undefined.
--- @
---
--- ---------------------------------
-
-RequestedUserAndLinkedUserAreIdentical ::= CHOICE
-{
- yes NULL,
- no NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ServiceAndStatus
--- @prop dataType
---
--- @descr Information of a service and its state.
--- @
---
--- ---------------------------------
-
-ServiceAndStatus ::= SEQUENCE
-{
- typeOfService TypeOfService,
- status StatusOfService,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ServiceCallSetupRejectionInformation
---
--- @prop dataType
--- @descr Information related to the call setup rejection.
--- @
---
--- ---------------------------------
-
-ServiceCallSetupRejectionInformation ::= SEQUENCE
-{
- terminationInitiatior TerminationInitiatior,
- terminationReason ServiceCallSetupRejectionReason,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ServiceCallSetupRejectionReason
---
--- @prop dataType
--- @descr Reason for rejection.
--- @
--- ---------------------------------
-
-ServiceCallSetupRejectionReason ::= CHOICE
-{
- calledUserBusy NULL,
- calledUserNotAvailable NULL,
- destinationOutOfOrder NULL,
- requestedServiceBarred NULL,
- requestedServiceNotAvailable NULL,
- requestedServiceNotSubscribed NULL,
- resourceUnavailable NULL,
- temporaryFailure NULL,
- unassignedUserIdentifier NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ServiceCallTerminationInformation
--- @prop dataType
---
--- @descr States information related to the termination.
--- @
---
--- ---------------------------------
-
-ServiceCallTerminationInformation ::= SEQUENCE
-{
- terminationInitiation TerminationInitiatior,
- terminationReason ServiceCallTerminationReason,
- ...
-}
-
-
--- ---------------------------------
---
--- ServiceCallTerminationReason
---
--- @prop dataType
--- @descr Reason for termination.
--- @
---
--- ---------------------------------
-
-ServiceCallTerminationReason ::= CHOICE
-{
- noAnswerFromCalledUser NULL,
- normalTermination NULL,
- resourceUnavailable NULL,
- temporaryFailure NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ServiceData
---
--- @prop dataType
--- @descr Contains the identified services and theirs categories
--- @
--- ---------------------------------
-
-ServiceData ::= CHOICE
-{
- basicCall BasicCallCategories,
- endpointRegistration EndpointRegistrationCategories,
- endpointUnregistration EndpointUnregistrationCategories,
- ...
-}
-
--- @prop dataType
--- @descr
--- @
---
-
- ServiceIdentifier ::= INTEGER
-
-
--- ---------------------------------
---
--- ServiceProfile
---
--- @prop dataType
--- @descr Contains services and data related to the services.
--- @
--- ---------------------------------
-
-ServiceProfile ::= SEQUENCE
-{
- serviceDataInformation SEQUENCE OF ServiceData OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- SetEquipmentStatusRejectReason
---
--- @prop dataType
---
---
--- @
---
--- ---------------------------------
-
-SetEquipmentStatusRejectReason ::= CHOICE
-{
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- SetLANDataRejectReason
---
--- @prop dataType
--- @descr This reason for rejection.
--- @
---
--- ---------------------------------
-
-SetLANDataRejectReason ::= CHOICE
-{
- invalidInputData NULL,
- other NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- SetUserAttributeData
---
--- @prop dataType
---
--- @descr This parameter contains an User attribute value.
---
--- @
---
--- ---------------------------------
-
-SetUserAttributeData ::= CHOICE
-{
- maximumTotalBandwidth Bandwidth,
- maximumBandwidthPerService Bandwidth,
- stateOfUser StateOfUser,
- typeOfUser TypeOfUser,
- ...
-}
-
-
-
--- ---------------------------------
---
--- SetupUUIE
--- @prop dataType
--- @
---
--- ---------------------------------
-
-SetupUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- sourceH245Address TransportAddress OPTIONAL, -- h245Address
- sourceUserIdentifierInformation UserIdentifierInformation OPTIONAL, -- sourceAddress
- sourceEndpointType EndpointType, -- sourceInfo
- destinationUserIdentifierInformation UserIdentifierInformation OPTIONAL, -- destinationAddress
- destinationCallSignallingAddress TransportAddress OPTIONAL, -- destCallSignalAddress
- destinationExtraUserIdentifierInformation UserIdentifierInformation OPTIONAL, -- destExtraCallInfo
- destinationExtraCallReference SEQUENCE OF CallReference OPTIONAL, -- destExtraCRV
- activeMC BOOLEAN,
- conferenceIdentifier ConferenceIdentifier, -- conferenceID
- conferenceGoal ConferenceGoal,
- callServices CallServices OPTIONAL,
- callType CallType,
- ...
-}
-
-
--- ---------------------------------
---
--- StateOfEquipment
---
--- @prop dataType
--- @descr States the state of the equipment.
--- @
---
--- ---------------------------------
-
-StateOfEquipment ::= CHOICE
-{
- blocked NULL, -- Equipment is blocked
- busy NULL, -- Equipment is busy, no more calls possible for moment
- available NULL, -- Equipment has reported itself as present and is ready for actions
- unregistered NULL, -- Equipment is not present
- ...
-}
-
-
-
--- ---------------------------------
---
--- StateOfUser
---
--- @prop dataType
--- @descr This parameter specifies the state of the user.
--- @
--- ---------------------------------
-
-StateOfUser ::= CHOICE
-{
- absent NULL,
- present NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- StatusOfService
---
--- @prop dataType
--- @descr States the state of the service.
--- @
---
--- ---------------------------------
-
-StatusOfService ::= CHOICE
-{
- acknowledge NULL,
- active NULL,
- initiatied NULL,
- ...
-}
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- Subaddress ::= SEQUENCE
- {
- type SubaddressType,
- indicator BOOLEAN,
- address SubaddressInformation,
- ...
- }
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- SubaddressInformation ::= OCTET STRING (SIZE(1..23))
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- SubaddressType ::= CHOICE
- {
- nsap NULL,
- user NULL,
- ...
- }
-
--- ---------------------------------
---
--- SupportedProtocols
---
--- @prop dataType
--- @descr Gives detailed information about protocols that are
--- supported by the stated endpoint.
--- @
--- ---------------------------------
-
-SupportedProtocols ::= CHOICE
-{
- nonStandardData NonStandardParameter,
- h310 H310Information,
- h320 H320Information,
- h321 H321Information,
- h322 H322Information,
- h323 H323Information,
- h324 H324Information,
- voice VoiceInformation,
- t120Only T120Information,
- ...
-}
-
-
--- ---------------------------------
---
--- T120Information
---
--- @prop dataType
--- @descr Gives detailed information about the standard protocol T.120
--- @
--- ---------------------------------
-
-T120Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- TerminalInformation
--- @prop dataType
---
--- @
---
--- ---------------------------------
-
-TerminalInformation ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- TerminationInitiatior
---
--- @prop dataType
--- @descr States who initiated the termination.
--- @
---
--- ---------------------------------
-
-TerminationInitiatior ::= CHOICE
-{
- endpoint NULL,
- serviceNode NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TimeSlot
---
--- @prop dataType
--- @descr This parameter contains the identity of the time slot used
--- for the connection.
--- @
---
--- ---------------------------------
-
-TimeSlot ::= INTEGER
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- TransferCapability ::= CHOICE
- {
- speech NULL,
- unrestrictedDigital NULL,
- restrictedDigital NULL,
- audio3point1kHz NULL,
- unrestrictedWithTonesAndAnnouncements NULL,
- video NULL,
- ...
- }
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- TransferRate ::= CHOICE
- {
- packedMode NULL,
- r64kbps NULL,
- r2x64kbps NULL,
- r384kbps NULL,
- r1536kbps NULL,
- r1920kbps NULL,
- multirate NULL,
- ...
- }
-
--- ---------------------------------
---
--- TransportAddress
---
--- @prop dataType
--- @descr The transport address.
--- @
---
--- ---------------------------------
-
-TransportAddress ::= CHOICE
-{
- ipV4Address SEQUENCE
- {
- ip OCTET STRING ( SIZE (4) ),
- port INTEGER ( 0..65535 )
- },
-
- ipV6Address SEQUENCE
- {
- ip OCTET STRING ( SIZE (16) ),
- port INTEGER ( 0..65535 ),
- ...
- },
- ...
-}
-
-
--- ---------------------------------
---
--- TransportAddressInformation
---
--- @prop dataType
--- @descr sequence of TransportAdress
--- @
--- ---------------------------------
-
-TransportAddressInformation ::= SEQUENCE OF TransportAddress
-
-
--- ---------------------------------
---
--- TransportChannelInformation
---
--- @prop dataType
--- @
---
--- ---------------------------------
-
-TransportChannelInformation ::= SEQUENCE
-{
- sendAddress TransportAddress OPTIONAL,
- recvAddress TransportAddress OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- TypeOfEquipment
---
--- @prop dataType
--- @descr Type of equipment.
--- @
---
--- ---------------------------------
-
-TypeOfEquipment ::= CHOICE
-{
- cordlessTerminal NULL,
- h323Terminal NULL,
- h323Gateway NULL,
- isdnTerminal NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TypeOfFlowControl
---
--- @prop dataType
--- @descr This parameter specifies the type of flow control used in the LAN.
--- @
---
--- ---------------------------------
-
-TypeOfFlowControl ::= CHOICE
-{
- isa NULL,
- priorityOutputRouting NULL,
- other NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TypeOfLAN
---
--- @prop dataType
--- @descr This parameter specifies the type of LAN.
--- @
---
--- ---------------------------------
-
-TypeOfLAN ::= CHOICE
-{
- ethernet NULL,
- tokenRing NULL,
- other NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TypeOfRegistration
---
--- @prop dataType
--- @descr Type of service.
--- @
---
--- ---------------------------------
-
-TypeOfRegistration ::= CHOICE
-{
- changeOfUser NULL,
- noChangeOfUser NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TypeOfService
---
--- @prop dataType
--- @descr Type of service.
--- @
---
--- ---------------------------------
-
-TypeOfService ::= CHOICE
-{
- basicCall NULL,
- endpointRegistration NULL,
- endpointUnregistration NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TypeOfUser
---
--- @prop dataType
--- @descr Type of user.
--- @
---
--- ---------------------------------
-
-TypeOfUser ::= CHOICE
-{
- human NULL,
- network NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UnknownMessageResponse
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-UnknownMessageResponse ::= SEQUENCE
-{
- requestSeqNum RequestSeqNum,
- ...
-}
-
--- ---------------------------------
---
--- UnregistrationRejectReason
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-UnregistrationRejectReason ::= CHOICE
-{
- notCurrentlyRegistered NULL,
- callInProgress NULL,
- undefinedReason NULL,
- ...
-}
-
--- ---------------------------------
---
--- UserAllocateResourceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-UserAllocateResourceRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- resourceNotAvailable NULL,
- serviceIdentifierExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserAttributeData
---
--- @prop dataType
---
--- @descr This parameter contains an User attribute value.
---
--- @
---
--- ---------------------------------
-
-UserAttributeData ::= CHOICE
-{
- maximumTotalBandwidth Bandwidth,
- maximumBandwidthPerService Bandwidth,
- relationToEquipment SEQUENCE OF RelationToEquipment,
- stateOfUser StateOfUser,
- typeOfUser TypeOfUser,
- userIdentifierInformation SEQUENCE OF UserIdentifier,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserAttributeIdentifier
---
--- @prop dataType
---
--- @descr This parameter contains User attribute identifiers.
---
--- @
---
--- ---------------------------------
-
-UserAttributeIdentifier ::= CHOICE
-{
- maximumTotalBandwidth NULL,
- maximumBandwidthPerService NULL,
- relationToEquipment NULL,
- stateOfUser NULL,
- typeOfUser NULL,
- userIdentifierInformation NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserCreateRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-UserCreateRejectReason ::= CHOICE
-{
- userIdentifierAlreadyExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserDeallocateResourceRejectReason
--- @prop dataType
---
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-UserDeallocateResourceRejectReason ::= CHOICE
-{
- resourceNotAllocated NULL,
- serviceIdentifierNotValid NULL,
- userNotExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserIdentifier
---
--- @prop dataType
--- @descr The identifier of the User.
--- @
---
--- ---------------------------------
-
-UserIdentifier ::= CHOICE
-{
- e164 E164Identifier,
- h323 BMPString (SIZE (1..256)),
- -- h323 is Basic ISO/IEC 10646-1 (Unicode)
- ...
-}
-
-
--- ---------------------------------
---
--- UserIdentifierInformation
---
--- @prop dataType
--- @descr sequence of UserIdentifier
--- @
---
--- ---------------------------------
-
-UserIdentifierInformation ::= SEQUENCE OF UserIdentifier--
--- Created by :
--- Creation date :
--- Modified by :
--- Modification date :
--- Version :
---
--- @prop dataType
--- @
-
-UserInformation ::= OCTET STRING (SIZE(1..131))
-
-
-
-
--- ---------------------------------
---
--- UserInformationUUIE
---
--- @prop dataType
--- @ --
--- ---------------------------------
-
-UserInformationUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- ...
-}
-
-
--- ---------------------------------
---
--- UserKey
---
--- @prop dataType
--- @descr Unique key for a certain user.
--- @
--- ---------------------------------
-
-UserKey ::= CHOICE
-{
- relationToUser RelationToUser,
- userIdentifierInformation SEQUENCE OF UserIdentifier,
- ...
-}
-
-
--- ---------------------------------
---
--- UserOrEquipmentRelatedInformation
---
--- @prop dataType
--- @descr This parameter specifies the type of information.
--- @
--- ---------------------------------
-
-UserOrEquipmentRelatedInformation ::= CHOICE
-{
- userRelatedInformation SEQUENCE OF UserRelatedInformation,
- equipmentRelatedInformation SEQUENCE OF EquipmentRelatedInformation,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserOrEquipmentRelatedInformationIdentifier
---
--- @prop dataType
--- @descr This parameter specifies the type of information identifiers.
--- @
--- ---------------------------------
-
-UserOrEquipmentRelatedInformationIdentifier ::= CHOICE
-{
- userRelatedInformationIdentifiers SEQUENCE OF UserRelatedInformationIdentifier,
- equipmentRelatedInformationIdentifiers SEQUENCE OF EquipmentRelatedInformationIdentifier,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserRelatedInformation
---
--- @prop dataType
--- @descr This parameter specifies different types of data
--- that are related to the user.
--- @
---
--- ---------------------------------
-
-UserRelatedInformation ::= CHOICE
-{
- numberOfEquipments INTEGER,
- stateOfUser StateOfUser,
- typeOfUser TypeOfUser,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserRelatedInformationIdentifier
---
---
--- @prop dataType
---
--- @descr This parameter specifies different types of data
--- that are specific to a certain user.
---
--- @
--- ---------------------------------
-
-UserRelatedInformationIdentifier ::= CHOICE
-{
- numberOfEquipments NULL,
- stateOfUser NULL,
- typeOfUser NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserRemoveRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-UserRemoveRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- serviceInProgress NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserSetRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-UserSetRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserSpecificInformation
---
--- @descr This parameter specifies different types of data
--- that are specific to the user.
--- @
---
--- ---------------------------------
-
-UserSpecificInformation ::= CHOICE
-{
- userRelatedInformation SEQUENCE OF UserRelatedInformation,
- equipmentRelatedInformation SEQUENCE OF EquipmentRelatedInformation,
- ...
-}
-
-
-
--- ---------------------------------
---
--- VendorIdentifier
---
--- @prop dataType
--- @
---
--- ---------------------------------
-
-VendorIdentifier ::= SEQUENCE
-{
- vendor H221NonStandard,
- productId OCTET STRING (SIZE(1..256)) OPTIONAL,
- versionId OCTET STRING (SIZE(1..256)) OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- VoiceInformation
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-VoiceInformation ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Constraints.py b/lib/asn1/test/asn1_bin_SUITE_data/Constraints.py
deleted file mode 100644
index b18c29bd89..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Constraints.py
+++ /dev/null
@@ -1,84 +0,0 @@
-Constraints DEFINITIONS ::=
-BEGIN
-
--- Single Value
-SingleValue ::= INTEGER (1)
-SingleValue2 ::= INTEGER (1..20)
-Range2to19 ::= INTEGER (1<..<20)
-Range10to20 ::= INTEGER (10..20)
-ContainedSubtype ::= INTEGER (INCLUDES Range10to20)
-FixedSize ::= OCTET STRING (SIZE(10))
-FixedSize2 ::= OCTET STRING (SIZE(10|20))
-VariableSize ::= OCTET STRING (SIZE(1..10))
-PemittedAlphabet ::= PrintableString (FROM ("a"|"yx"))
-AliasAddress ::=CHOICE
-{
- e164 IA5String (SIZE (1..128) ^ FROM ("0123456789#*,")),
- h323-ID BMPString (SIZE (1..256)),
- ...
-}
-Obj ::= OBJECT IDENTIFIER
-
-
--- OTP-4559: a referenced type that has a permitted alphabet constraint
--- Example from H323-MESSAGES ver (11/2000)
-TBCD-STRING ::= IA5String (FROM ("0123456789#*abc"))
-
-ANSI-41-UIM ::= SEQUENCE {
- imsi [0] TBCD-STRING(SIZE (3..16)) OPTIONAL,
- esn [1] TBCD-STRING(SIZE (16)) OPTIONAL
-}
-
--- OTP-4869: a BIT STRING constrained by SIZE(C) was encoded wrong
--- when C was larger than 16. There was also an error when encodeing
--- in compact_bit_string mode.
-
-IP ::= SEQUENCE {
- perm SEQUENCE OF INTEGER (0..15),
- key BIT STRING (SIZE (128)),
- bool BOOLEAN OPTIONAL
-}
-
--- add for OTP-3558 and OTP-4917
-Day ::= ENUMERATED{monday(0),tuesday(1),wednesday(2),thursday(3),friday(4),saturday(5),sunday(6)}
-
-Wednesday ::= Day(wednesday)
-
-
-Thing ::= INTEGER {fred (0),fred2 (1),fred3 (2)}
-
-
-AnotherThing ::= Thing (fred | fred2)
-
-I ::= INTEGER (0|15..269) -- OTP-5457
-
--- OTP-5511
-
-maxNrOfCellPortionsPerCell-1 INTEGER ::= 35
-CellPortionID ::= INTEGER (0..maxNrOfCellPortionsPerCell-1,...)
-
--- OTP-6763
-T ::= IA5String (SIZE (1|2, ..., SIZE (1|2|3))) -- Dubuisson 268
-T2 ::= IA5String (SIZE (1|2, ..., 3)) -- equal with T
-
--- OTP-8046
-DateAndTime ::= VisibleString (PATTERN "\d#2/\d#2/\d#4-\d#2:\d#2")
--- DD/MM/YYYY-HH:MM
-
-
--- OTP-6828
-HandoverCommand-r8-IEs ::= SEQUENCE {
- handoverCommandMessage OCTET STRING (CONTAINING MyType),
- ...
-}
-
-MoreCompact ::= OCTET STRING (CONTAINING MyType ENCODED BY {joint-iso-itu-t asn1 packed-encoding(3) basic(0) unaligned(1)})
-
-MyType ::= SEQUENCE {a INTEGER, b INTEGER}
-
-Document ::= OCTET STRING (ENCODED BY pdf)
-
-pdf OBJECT IDENTIFIER ::= {1,2,3,4,5}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Constructed.asn b/lib/asn1/test/asn1_bin_SUITE_data/Constructed.asn
deleted file mode 100644
index 09a66d0c0d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Constructed.asn
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-Constructed DEFINITIONS ::=
-BEGIN
-
-S ::= [UNIVERSAL 8] IMPLICIT SEQUENCE {
- b BOOLEAN
- }
-
-I ::= [8] IMPLICIT INTEGER
-
-S2 ::= [UNIVERSAL 8] SEQUENCE { b BOOLEAN}
-
-C ::= CHOICE {
- a S,
- b S3
-}
-
-S3 ::= SEQUENCE {i INTEGER}
-
-S3ext ::= SEQUENCE {i INTEGER, ...}
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ContextSwitchingTypes.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ContextSwitchingTypes.asn1
deleted file mode 100644
index c8145bad63..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ContextSwitchingTypes.asn1
+++ /dev/null
@@ -1,53 +0,0 @@
-ContextSwitchingTypes DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- EXTERNAL type
-
-T ::= EXTERNAL
-
-Seq ::= SEQUENCE {
- a INTEGER,
- b T
-}
-
-int INTEGER ::= 12
-
-val1-T T ::= {indirect-reference int, encoding octet-aligned:'123'H}
-
-val2-T T ::= {identification syntax:{1 2 3}, data-value '123'H}
-
-val3-T T ::= {identification context-negotiation:{presentation-context-id 12,
- transfer-syntax {1 2 3}},
- data-value '123'H}
-
--- EMBEDDED PDV type
-
-EP ::= EMBEDDED PDV
-
-Seq2 ::= SEQUENCE {
- a BOOLEAN,
- b EP
-}
-
-val1-EP EP ::= {identification syntaxes:{abstract {1 2 3 4},
- transfer {1 2 3 5}},
- data-value '12345'H}
-
-val2-EP EP ::= {identification syntax:{1 2 3}, data-value '123'H}
-
--- CHARACTER STRING type and value
-
-CS ::= CHARACTER STRING
-
-Seq3 ::= SEQUENCE {
- a INTEGER,
- b CS
-}
-
-val1-CS CS ::= {identification syntaxes:{abstract {1 2 3 4},
- transfer {1 2 3 5}},
- string-value '12345'H}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/DERSpec.asn b/lib/asn1/test/asn1_bin_SUITE_data/DERSpec.asn
deleted file mode 100644
index 93e6180d42..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/DERSpec.asn
+++ /dev/null
@@ -1,38 +0,0 @@
-DERSpec DEFINITIONS ::=
-
-BEGIN
-
-Seq ::= SEQUENCE {
- int [1] INTEGER,
- choice C,
- bool BOOLEAN
-}
-
-C ::= CHOICE {
- version INTEGER,
- message PrintableString
-}
-
-Set ::= SET {
- int [1] INTEGER,
- choice C,
- bool BOOLEAN
-}
-
-
-SetOf ::= SET OF C
-
--- This type compiled with ber_bin, optimize, der
--- will test the fix in OTP-4866
-Set2 ::= SET {
- int INTEGER,
- bool BOOLEAN}
-
--- OTP-5602
-SO ::= SEQUENCE OF Seq2
-
-Seq2 ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN}
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/DS-EquipmentUser-CommonFunctionOrig-TransmissionPath.py b/lib/asn1/test/asn1_bin_SUITE_data/DS-EquipmentUser-CommonFunctionOrig-TransmissionPath.py
deleted file mode 100644
index a17fb001d3..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/DS-EquipmentUser-CommonFunctionOrig-TransmissionPath.py
+++ /dev/null
@@ -1,150 +0,0 @@
-DS-EquipmentUser-CommonFunctionOrig-TransmissionPath DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-IMPORTS AllocateTransmissionPathRejectReason,
- Bandwidth,
- BandwidthReducedInformation,
- CallType,
- ConnectionIdentifier,
- ConnectionInformation,
- ConnectTransmissionPathRejectReason,
- DeallocateTransmissionPathRejectReason,
- DisconnectTransmissionPathRejectReason,
- RelationToUser,
- UserIdentifier FROM CommonDataTypes ;
-
-EquipmentUserCommonFunctionOrigTransmissionPathMessages ::= CHOICE
-{
- allocateTransmissionPathEU AllocateTransmissionPathEU,
- allocateTransmissionPathConfirmedUE AllocateTransmissionPathConfirmedUE, -- Reply
- allocateTransmissionPathRejectedUE AllocateTransmissionPathRejectedUE, -- Reply
- connectTransmissionPathEU ConnectTransmissionPathEU,
- connectTransmissionPathConfirmedUE ConnectTransmissionPathConfirmedUE, -- Reply
- connectTransmissionPathRejectedUE ConnectTransmissionPathRejectedUE, -- Reply
- deallocateTransmissionPathEU DeallocateTransmissionPathEU,
- deallocateTransmissionPathConfirmedUE DeallocateTransmissionPathConfirmedUE, -- Reply
- deallocateTransmissionPathRejectedUE DeallocateTransmissionPathRejectedUE, -- Reply
- disconnectTransmissionPathEU DisconnectTransmissionPathEU,
- disconnectTransmissionPathConfirmedUE DisconnectTransmissionPathConfirmedUE, -- Reply
- disconnectTransmissionPathRejectedUE DisconnectTransmissionPathRejectedUE, -- Reply
- ...
-}
-
-
-
--- ----------------------------------
---
--- Allocate transmission path
---
---
--- ----------------------------------
-
-AllocateTransmissionPathEU ::= SEQUENCE
-{
- callType CallType,
- bandwidth Bandwidth,
- destinationUserIdentifiers SEQUENCE OF UserIdentifier,
- sourceConnectionInformation ConnectionInformation,
- relationToSourceUser RelationToUser,
- ...
-}
-
-
---
--- @param bandwidthReducedInformation Mandatory if bandwidth has been reduced.
---
---
-
-AllocateTransmissionPathConfirmedUE ::= SEQUENCE
-{
- connectionIdentifier ConnectionIdentifier,
- bandwidthReducedInformation BandwidthReducedInformation OPTIONAL,
- ...
-}
-
-
-AllocateTransmissionPathRejectedUE ::= SEQUENCE
-{
- allocateTransmissionPathRejectReason AllocateTransmissionPathRejectReason,
- ...
-}
-
-
--- ----------------------------------
---
--- Connect transmission path
---
--- ----------------------------------
-
-ConnectTransmissionPathEU ::= SEQUENCE
-{
- connectionIdentifier ConnectionIdentifier,
- ...
-}
-
-ConnectTransmissionPathConfirmedUE ::= SEQUENCE
-{
- ...
-}
-
-
-ConnectTransmissionPathRejectedUE ::= SEQUENCE
-{
- connectTransmissionPathRejectReason ConnectTransmissionPathRejectReason,
- ...
-}
-
-
--- ----------------------------------
---
--- Deallocate transmission path
---
--- ----------------------------------
-
-DeallocateTransmissionPathEU ::= SEQUENCE
-{
- connectionIdentifier ConnectionIdentifier,
- ...
-}
-
-
-DeallocateTransmissionPathConfirmedUE ::= SEQUENCE
-{
- ...
-}
-
-
-DeallocateTransmissionPathRejectedUE ::= SEQUENCE
-{
- deallocateTransmissionPathRejectReason DeallocateTransmissionPathRejectReason,
- ...
-}
-
-
--- ----------------------------------
---
--- Disconnect transmission path
---
--- ----------------------------------
-
-DisconnectTransmissionPathEU ::= SEQUENCE
-{
- connectionIdentifier ConnectionIdentifier,
- ...
-}
-
-
-DisconnectTransmissionPathConfirmedUE ::= SEQUENCE
-{
- ...
-}
-
-
-DisconnectTransmissionPathRejectedUE ::= SEQUENCE
-{
- disconnectTransmissionPathRejectReason DisconnectTransmissionPathRejectReason,
- ...
-}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Def.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/Def.asn1
deleted file mode 100644
index 8dd5b383e3..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Def.asn1
+++ /dev/null
@@ -1,31 +0,0 @@
-Def DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Def1 ::= SEQUENCE
-{
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN DEFAULT FALSE,
- bool2 [2] BOOLEAN DEFAULT FALSE,
- bool3 [3] BOOLEAN DEFAULT FALSE
-}
-
-
-Def2 ::= SEQUENCE
-{
- bool10 [10] BOOLEAN,
- bool11 [11] BOOLEAN DEFAULT FALSE,
- bool12 [12] BOOLEAN DEFAULT FALSE,
- bool13 [13] BOOLEAN
-}
-
-
-Def3 ::= SEQUENCE
-{
- bool30 [30] BOOLEAN DEFAULT FALSE,
- bool31 [31] BOOLEAN DEFAULT FALSE,
- bool32 [32] BOOLEAN DEFAULT FALSE,
- bool33 [33] BOOLEAN DEFAULT FALSE
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Def.py b/lib/asn1/test/asn1_bin_SUITE_data/Def.py
deleted file mode 100644
index ff08ed6386..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Def.py
+++ /dev/null
@@ -1,31 +0,0 @@
-Def DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Def1 ::= SEQUENCE
-{
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN DEFAULT false,
- bool2 [2] BOOLEAN DEFAULT false,
- bool3 [3] BOOLEAN DEFAULT false
-}
-
-
-Def2 ::= SEQUENCE
-{
- bool10 [10] BOOLEAN,
- bool11 [11] BOOLEAN DEFAULT false,
- bool12 [12] BOOLEAN DEFAULT false,
- bool13 [13] BOOLEAN
-}
-
-
-Def3 ::= SEQUENCE
-{
- bool30 [30] BOOLEAN DEFAULT false,
- bool31 [31] BOOLEAN DEFAULT false,
- bool32 [32] BOOLEAN DEFAULT false,
- bool33 [33] BOOLEAN DEFAULT false
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Default.asn b/lib/asn1/test/asn1_bin_SUITE_data/Default.asn
deleted file mode 100644
index 6604953c1f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Default.asn
+++ /dev/null
@@ -1,158 +0,0 @@
-Default DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-SeqInts ::= SEQUENCE {
- a INTEGER DEFAULT 1,
- b INTEGER DEFAULT -1,
- c INTEGER {one(1),two(2),three(3)} DEFAULT three,
- d INTEGER DEFAULT one
-}
-
-SetInts ::= SET {
- a INTEGER DEFAULT 1,
- b INTEGER DEFAULT -1,
- c INTEGER {one(1),two(2),three(3)} DEFAULT three,
- d INTEGER DEFAULT one
-}
-
-
-SeqBS ::= SEQUENCE {
- a BIT STRING DEFAULT '1010110'B,
- b BIT STRING DEFAULT 'A8A'H,
- c BIT STRING {first(0),second(1),third(2)} DEFAULT {second},
- d BIT STRING DEFAULT onelist
-}
-
-SetBS ::= SET {
- a BIT STRING DEFAULT '1010110'B,
- b BIT STRING DEFAULT 'A8A'H,
- c BIT STRING {first(0),second(1),third(2)} DEFAULT {second},
- d BIT STRING DEFAULT onelist
-}
-
-onelist BIT STRING ::= '1001'B
-
-SeqOS ::= SEQUENCE {
- a OCTET STRING DEFAULT '1010110'B,
- b OCTET STRING DEFAULT 'A8A'H,
- c NULL DEFAULT NULL
-}
-
-SetOS ::= SET {
- a OCTET STRING DEFAULT '1010110'B,
- b OCTET STRING DEFAULT 'A8A'H,
- c NULL DEFAULT NULL
-}
-
-E ::= ENUMERATED {b1,b2,b3}
-
-SeqOI ::= SEQUENCE {
- a OBJECT IDENTIFIER DEFAULT {1 2 14 15},
- b OBJECT IDENTIFIER DEFAULT {iso member-body f(250) 3 4},
- c OBJECT IDENTIFIER DEFAULT {ftam 2 f(250) 4}--,
-}
-
-SetOI ::= SET {
- a OBJECT IDENTIFIER DEFAULT {1 2 14 15},
- b OBJECT IDENTIFIER DEFAULT {iso member-body f(250) 3 4},
- c OBJECT IDENTIFIER DEFAULT {ftam 2 f(250) 4}--,
-}
-
-SeqEnum ::= SEQUENCE {
- a ENUMERATED {b1,b2,b3,b4,b5} DEFAULT b4,
- b F DEFAULT b2
-}
-
-SetEnum ::= SET {
- a ENUMERATED {b1,b2,b3,b4,b5} DEFAULT b4,
- b F DEFAULT b2
-}
-
-ftam OBJECT IDENTIFIER ::= {iso standard 8571}
-
-F ::= E
-
-SeqIntBool ::= SEQUENCE {
- a SEQUENCE{
- aa INTEGER,
- ab INTEGER} DEFAULT {aa 12, ab 13},
- b S2 DEFAULT {a 14, b TRUE},
- c S2 DEFAULT s
-}
-
-SetIntBool ::= SET {
- a SET{
- aa INTEGER,
- ab INTEGER} DEFAULT {aa 12, ab 13},
- b S2 DEFAULT {a 14, b TRUE},
- c S2 DEFAULT s
-}
-
-SeqStrings ::= SEQUENCE {
- a NumericString DEFAULT "123456789",
- b1 IA5String DEFAULT "abcdef",
- b2 IA5String DEFAULT {0,13},
- b3 IA5String DEFAULT {"First line",cr,"Second line"},
- c PrintableString DEFAULT "Printable string",
- d UniversalString DEFAULT {0,0,1,14}
-}
-
-SetStrings ::= SET {
- a NumericString DEFAULT "123456789",
- b1 IA5String DEFAULT "abcdef",
- b2 IA5String DEFAULT {0,13},
- b3 IA5String DEFAULT {"First line",cr,"Second line"},
- c PrintableString DEFAULT "Printable string",
- d UniversalString DEFAULT {0,0,1,14}
-}
-
-S1 ::= SEQUENCE {
- a SEQUENCE {aa INTEGER, ab S2} DEFAULT {aa 1, ab {a two, b TRUE}},
- b S4 DEFAULT s4
-}
-
-S2 ::= SEQUENCE {
- a INTEGER DEFAULT one,
- b BOOLEAN OPTIONAL
-}
-
-S3 ::= SEQUENCE {
- a SEQUENCE OF INTEGER DEFAULT {11,12,13},
- b SEQUENCE OF C DEFAULT {a:11,b:TRUE,c:13},
- c SO DEFAULT so,
- d SEQUENCE OF S2 DEFAULT {{a 20,b TRUE},{a 30, b FALSE}}
-}
-
-S3set ::= SET {
- a SET OF CHOICE {a BOOLEAN,b INTEGER,c S2} DEFAULT {c:{a 3,b TRUE},b:17,a:FALSE},
- b SO DEFAULT so
-}
-
-S4 ::= SEQUENCE {
- a S2 DEFAULT {},
- b SEQUENCE {ba BOOLEAN,bb INTEGER} DEFAULT {ba TRUE,bb 0}
-}
-
-s4 S4 ::= {a {a 2,b TRUE}, b {ba TRUE, bb 5}}
-
-C ::= CHOICE{
- a INTEGER,
- b BOOLEAN,
- c INTEGER
-}
-
-SO ::= SEQUENCE OF INTEGER
-
-so SEQUENCE OF INTEGER ::= {1,2,3,4}
-
-s S2 ::= {a 15,b FALSE}
-
-one INTEGER ::= 1
-two INTEGER ::= 2
-three INTEGER ::= 3
-four INTEGER ::= 4
-
-cr IA5String ::= {0,13}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/DirectoryAbstractService.asn b/lib/asn1/test/asn1_bin_SUITE_data/DirectoryAbstractService.asn
deleted file mode 100755
index 5a5d310729..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/DirectoryAbstractService.asn
+++ /dev/null
@@ -1,710 +0,0 @@
--- Module DirectoryAbstractService (X.511:08/1997)
-DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
- directoryAbstractService(2) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, distributedOperations, authenticationFramework,
- dap, directoryShadowAbstractService, basicAccessControl, enhancedSecurity,
- id-at
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- AttributeTypeAndValue
- FROM BasicAccessControl basicAccessControl
- AgreementID
- FROM DirectoryShadowAbstractService directoryShadowAbstractService
- Attribute, AttributeType, AttributeValue, AttributeValueAssertion,
- DistinguishedName, Name, RelativeDistinguishedName, SupportedAttributes,
- ATTRIBUTE, MATCHING-RULE, ContextAssertion, AttributeTypeAssertion,
- OBJECT-CLASS, RelaxationPolicy
- FROM InformationFramework informationFramework
- OperationProgress, ReferenceType, Exclusions, AccessPoint,
- ContinuationReference
- FROM DistributedOperations distributedOperations
- CertificationPath, SIGNED{}, SIGNATURE{}, ENCRYPTED{}, AlgorithmIdentifier,
- AttributeCertificationPath
- FROM AuthenticationFramework authenticationFramework
- OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
- FROM EnhancedSecurity enhancedSecurity
- id-opcode-read, id-opcode-compare, id-opcode-abandon, id-opcode-list,
- id-opcode-search, id-opcode-addEntry, id-opcode-removeEntry,
- id-opcode-modifyEntry, id-opcode-modifyDN, id-errcode-abandoned,
- id-errcode-abandonFailed, id-errcode-attributeError, id-errcode-nameError,
- id-errcode-referral, id-errcode-securityError, id-errcode-serviceError,
- id-errcode-updateError
- FROM DirectoryAccessProtocol dap
- OPERATION, ERROR, Code
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- --PROTECTED
- -- FROM Notation { joint-iso-itu-t genericULS (20) modules (1) notation (1) }
- SPKM-REQ, SPKM-REP-TI, SPKM-ERROR
- FROM SpkmGssTokens {iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) spkm(1) spkmGssTokens(10)};
-
--- Common data types
--- Parameterized type for representing optional signing
-OPTIONALLY-SIGNED{Type} ::= CHOICE {unsigned Type,
- signed SIGNED{Type}
-}
-
-CommonArguments ::= SET {
- serviceControls [30] ServiceControls DEFAULT {},
- securityParameters [29] SecurityParameters OPTIONAL,
- requestor [28] DistinguishedName OPTIONAL,
- operationProgress
- [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
- aliasedRDNs [26] INTEGER OPTIONAL,
- criticalExtensions [25] BIT STRING OPTIONAL,
- referenceType [24] ReferenceType OPTIONAL,
- entryOnly [23] BOOLEAN DEFAULT TRUE,
- nameResolveOnMaste [21] BOOLEAN DEFAULT FALSE,
- operationContexts [20] ContextSelection OPTIONAL,
- familyGrouping [19] FamilyGrouping DEFAULT entryOnly
-}
-
-FamilyGrouping ::= ENUMERATED {
- entryOnly(1), compoundEntry(2), strands(3), multiStrand(4)}
-
-CommonResults ::= SET {
- securityParameters [30] SecurityParameters OPTIONAL,
- performer [29] DistinguishedName OPTIONAL,
- aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
- notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
-}
-
-CommonResultsSeq ::= SEQUENCE {
- securityParameters [30] SecurityParameters OPTIONAL,
- performer [29] DistinguishedName OPTIONAL,
- aliasDereferenced [28] BOOLEAN DEFAULT FALSE
-}
-
-ServiceControls ::= SET {
- options [0] ServiceControlOptions DEFAULT {},
- priority [1] INTEGER {low(0), medium(1), high(2)} DEFAULT medium,
- timeLimit [2] INTEGER OPTIONAL,
- sizeLimit [3] INTEGER OPTIONAL,
- scopeOfReferral [4] INTEGER {dmd(0), country(1)} OPTIONAL,
- attributeSizeLimit [5] INTEGER OPTIONAL,
- manageDSAITPlaneRef
- [6] SEQUENCE {dsaName Name,
- agreementID AgreementID} OPTIONAL,
- serviceType [7] OBJECT IDENTIFIER OPTIONAL,
- userClass [8] INTEGER OPTIONAL
-}
-
-ServiceControlOptions ::= BIT STRING {
- preferChaining(0), chainingProhibited(1), localScope(2), dontUseCopy(3),
- dontDereferenceAliases(4), subentries(5), copyShallDo(6),
- partialNameResolution(7), manageDSAIT(8), noSubtypeMatch(9),
- noSubtypeSelection(10), countFamily(11)}
-
-EntryInformationSelection ::= SET {
- attributes
- CHOICE {allUserAttributes [0] NULL,
- select [1] SET OF AttributeType
- -- empty set implies no attributes are requested
- } DEFAULT allUserAttributes:NULL,
- infoTypes
- [2] INTEGER {attributeTypesOnly(0), attributeTypesAndValues(1)}
- DEFAULT attributeTypesAndValues,
- extraAttributes
- CHOICE {allOperationalAttributes [3] NULL,
- select [4] SET OF AttributeType} OPTIONAL,
- contextSelection ContextSelection OPTIONAL,
- returnContexts BOOLEAN DEFAULT FALSE,
- familyReturn FamilyReturn DEFAULT {memberSelect contributingEntriesOnly}
-}
-
-ContextSelection ::= CHOICE {
- allContexts NULL,
- selectedContexts SET OF TypeAndContextAssertion
-}
-
-TypeAndContextAssertion ::= SEQUENCE {
- type AttributeType,
- contextAssertions
- CHOICE {preference SEQUENCE OF ContextAssertion,
- all SET OF ContextAssertion}
-}
-
-FamilyReturn ::= SEQUENCE {
- memberSelect
- ENUMERATED {contributingEntriesOnly(1), participatingEntriesOnly(2),
- compoundEntry(3)},
- familySelect SEQUENCE SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL
-}
-
-family-information ATTRIBUTE ::= {
- WITH SYNTAX FamilyEntries
- USAGE directoryOperation
- ID id-at-family-information
-}
-
-FamilyEntries ::= SEQUENCE {
- family-class OBJECT-CLASS.&id, -- structural object class value
- familyEntries SEQUENCE OF FamilyEntry
-}
-
-FamilyEntry ::= SEQUENCE {
- rdn RelativeDistinguishedName,
- information
- SEQUENCE OF CHOICE {attributeType AttributeType,
- attribute Attribute},
- family-info SEQUENCE SIZE (1..MAX) OF FamilyEntries OPTIONAL
-}
-
-EntryInformation ::= SEQUENCE {
- name Name,
- fromEntry BOOLEAN DEFAULT TRUE,
- information
- SET SIZE (1..MAX) OF
- CHOICE {attributeType AttributeType,
- attribute Attribute} OPTIONAL,
- incompleteEntry [3] BOOLEAN DEFAULT FALSE, -- not in 1988-edition systems
- partialNameResolution
- [4] BOOLEAN DEFAULT FALSE -- not in 1988 or 1993 edition systems --
-}
-
-Filter ::= CHOICE {
- item [0] FilterItem,
- and [1] SET OF Filter,
- or [2] SET OF Filter,
- not [3] Filter
-}
-
-FilterItem ::= CHOICE {
- equality [0] AttributeValueAssertion,
- substrings
- [1] SEQUENCE {type ATTRIBUTE.&id({SupportedAttributes}),
- strings
- SEQUENCE OF
- CHOICE {initial
- [0] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- any
- [1] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- final
- [2] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- control Attribute -- Used to specify interpretation of following items
- }},
- greaterOrEqual [2] AttributeValueAssertion,
- lessOrEqual [3] AttributeValueAssertion,
- present [4] AttributeType,
- approximateMatch [5] AttributeValueAssertion,
- extensibleMatch [6] MatchingRuleAssertion,
- contextPresent [7] AttributeTypeAssertion
-}
-
-MatchingRuleAssertion ::= SEQUENCE {
- matchingRule [1] SET SIZE (1..MAX) OF MATCHING-RULE.&id,
- type [2] AttributeType OPTIONAL,
- matchValue
- [3] MATCHING-RULE.&AssertionType
- (CONSTRAINED BY {
- -- matchValue must be a value of type specified by the &AssertionType field of
- -- one of the MATCHING-RULE information objects identified by matchingRule -- }),
- dnAttributes [4] BOOLEAN DEFAULT FALSE
-}
-
-PagedResultsRequest ::= CHOICE {
- newRequest
- SEQUENCE {pageSize INTEGER,
- sortKeys SEQUENCE SIZE (1..MAX) OF SortKey OPTIONAL,
- reverse [1] BOOLEAN DEFAULT FALSE,
- unmerged [2] BOOLEAN DEFAULT FALSE},
- queryReference OCTET STRING
-}
-
-SortKey ::= SEQUENCE {
- type AttributeType,
- orderingRule MATCHING-RULE.&id OPTIONAL
-}
-
-SecurityParameters ::= SET {
- certification-path [0] CertificationPath OPTIONAL,
- name [1] DistinguishedName OPTIONAL,
- time [2] Time OPTIONAL,
- random [3] BIT STRING OPTIONAL,
- target [4] ProtectionRequest OPTIONAL,
- response [5] BIT STRING OPTIONAL,
- operationCode [6] Code OPTIONAL,
- attributeCertificationPath [7] AttributeCertificationPath OPTIONAL,
- errorProtection [8] ErrorProtectionRequest OPTIONAL,
- errorCode [9] Code OPTIONAL
-}
-
-ProtectionRequest ::= INTEGER {
- none(0), signed(1), encrypted(2), signed-encrypted(3)}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-ErrorProtectionRequest ::= INTEGER {
- none(0), signed(1), encrypted(2), signed-encrypted(3)}
-
--- Bind and unbind operations
-directoryBind OPERATION ::= {
- ARGUMENT DirectoryBindArgument
- RESULT DirectoryBindResult
- ERRORS {directoryBindError}
-}
-
-DirectoryBindArgument ::= SET {
- credentials [0] Credentials OPTIONAL,
- versions [1] Versions DEFAULT {v1}
-}
-
-Credentials ::= CHOICE {
- simple [0] SimpleCredentials,
- strong [1] StrongCredentials,
- externalProcedure [2] EXTERNAL,
- spkm [3] SpkmCredentials
-}
-
-SimpleCredentials ::= SEQUENCE {
- name [0] DistinguishedName,
- validity
- [1] SET {time1 [0] CHOICE {utc UTCTime,
- gt GeneralizedTime} OPTIONAL,
- time2 [1] CHOICE {utc UTCTime,
- gt GeneralizedTime} OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL},
- password
- [2] CHOICE {unprotected OCTET STRING,
- protected SIGNATURE{OCTET STRING}} OPTIONAL
-}
-
-StrongCredentials ::= SET {
- certification-path [0] CertificationPath OPTIONAL,
- bind-token [1] Token,
- name [2] DistinguishedName OPTIONAL,
- attributeCertificationPath [3] AttributeCertificationPath OPTIONAL
-}
-
-SpkmCredentials ::= CHOICE {req [0] SPKM-REQ,
- rep [1] SPKM-REP-TI
-}
-
-Token ::=
- SIGNED
- {SEQUENCE {algorithm [0] AlgorithmIdentifier,
- name [1] DistinguishedName,
- time [2] Time,
- random [3] BIT STRING,
- response [4] BIT STRING OPTIONAL,
- bindIntAlgorithm
- [5] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL,
- bindIntKeyInfo [6] BindKeyInfo OPTIONAL,
- bindConfAlgorithm
- [7] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL,
- bindConfKeyInfo [8] BindKeyInfo OPTIONAL}}
-
-Versions ::= BIT STRING {v1(0), v2(1)}
-
-DirectoryBindResult ::= DirectoryBindArgument
-
-directoryBindError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {versions [0] Versions DEFAULT {v1},
- error
- CHOICE {serviceError [1] ServiceProblem,
- securityError [2] SecurityProblem}}}
-}
-
-BindKeyInfo ::= ENCRYPTED{BIT STRING}
-
-directoryUnbind OPERATION ::= emptyUnbind
-
--- Operations, arguments, and results
-read OPERATION ::= {
- ARGUMENT ReadArgument
- RESULT ReadResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-read
-}
-
-ReadArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- selection [1] EntryInformationSelection DEFAULT {},
- modifyRightsRequest [2] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonArguments}}
-
-ReadResult ::=
- OPTIONALLY-PROTECTED
- {SET {entry [0] EntryInformation,
- modifyRights [1] ModifyRights OPTIONAL,
- COMPONENTS OF CommonResults}}
-
-ModifyRights ::=
- SET OF
- SEQUENCE {item
- CHOICE {entry [0] NULL,
- attribute [1] AttributeType,
- value [2] AttributeValueAssertion},
- permission
- [3] BIT STRING {add(0), remove(1), rename(2), move(3)}
- }
-
-compare OPERATION ::= {
- ARGUMENT CompareArgument
- RESULT CompareResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-compare
-}
-
-CompareArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- purported [1] AttributeValueAssertion,
- COMPONENTS OF CommonArguments}}
-
-CompareResult ::=
- OPTIONALLY-PROTECTED
- {SET {name Name OPTIONAL,
- matched [0] BOOLEAN,
- fromEntry [1] BOOLEAN DEFAULT TRUE,
- matchedSubtype [2] AttributeType OPTIONAL,
- COMPONENTS OF CommonResults}}
-
-abandon OPERATION ::= {
- ARGUMENT AbandonArgument
- RESULT AbandonResult
- ERRORS {abandonFailed}
- CODE id-opcode-abandon
-}
-
-AbandonArgument ::=
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID [0] InvokeId}}
-
-AbandonResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID InvokeId,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-list OPERATION ::= {
- ARGUMENT ListArgument
- RESULT ListResult
- ERRORS {nameError | serviceError | referral | abandoned | securityError}
- CODE id-opcode-list
-}
-
-ListArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- pagedResults [1] PagedResultsRequest OPTIONAL,
- listFamily [2] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonArguments}}
-
-ListResult ::=
- OPTIONALLY-PROTECTED
- {CHOICE {listInfo
- SET {name Name OPTIONAL,
- subordinates
- [1] SET OF
- SEQUENCE {rdn RelativeDistinguishedName,
- aliasEntry [0] BOOLEAN DEFAULT FALSE,
- fromEntry [1] BOOLEAN DEFAULT TRUE
- },
- partialOutcomeQualifier
- [2] PartialOutcomeQualifier OPTIONAL,
- COMPONENTS OF CommonResults},
- uncorrelatedListInfo [0] SET OF ListResult}}
-
-PartialOutcomeQualifier ::= SET {
- limitProblem [0] LimitProblem OPTIONAL,
- unexplored
- [1] SET SIZE (1..MAX) OF ContinuationReference OPTIONAL,
- unavailableCriticalExtensions [2] BOOLEAN DEFAULT FALSE,
- unknownErrors
- [3] SET SIZE (1..MAX) OF ABSTRACT-SYNTAX.&Type OPTIONAL,
- queryReference [4] OCTET STRING OPTIONAL,
- overspecFilter [5] Filter OPTIONAL,
- notification
- [6] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL,
- entryCount
- CHOICE {bestEstimate [7] INTEGER,
- lowEstimate [8] INTEGER} OPTIONAL
-}
-
-LimitProblem ::= INTEGER {
- timeLimitExceeded(0), sizeLimitExceeded(1), administrativeLimitExceeded(2)
-}
-
-search OPERATION ::= {
- ARGUMENT SearchArgument
- RESULT SearchResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-search
-}
-
-SearchArgument ::=
- OPTIONALLY-PROTECTED
- {SET {baseObject [0] Name,
- subset
- [1] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)}
- DEFAULT baseObject,
- filter [2] Filter DEFAULT and:{},
- searchAliases [3] BOOLEAN DEFAULT TRUE,
- selection [4] EntryInformationSelection DEFAULT {},
- pagedResults [5] PagedResultsRequest OPTIONAL,
- matchedValuesOnly [6] BOOLEAN DEFAULT FALSE,
- extendedFilter [7] Filter OPTIONAL,
- checkOverspecified [8] BOOLEAN DEFAULT FALSE,
- relaxation [9] RelaxationPolicy OPTIONAL,
- extendedArea [10] INTEGER OPTIONAL,
- hierarchySelections [11] HierarchySelections DEFAULT {self},
- searchControlOptions
- [12] SearchControlOptions DEFAULT {searchAliases},
- COMPONENTS OF CommonArguments}}
-
-HierarchySelections ::= BIT STRING {
- self(0), children(1), parent(2), hierarchy(3), top(4), subtree(5),
- siblings(6), siblingChildren(7), siblingSubtree(8), all(9)}
-
-SearchControlOptions ::= BIT STRING {
- searchAliases(0), matchedValuesOnly(1), checkOverspecified(2),
- performExactly(3), includeAllAreas(4), noSystemRelaxation(5), dnAttribute(6),
- matchOnResidualName(7), entryCount(8), useSubset(9),
- separateFamilyMembers(10), searchFamily(11)}
-
-SearchResult ::=
- OPTIONALLY-PROTECTED
- {CHOICE {searchInfo
- SET {name Name OPTIONAL,
- entries [0] SET OF EntryInformation,
- partialOutcomeQualifier
- [2] PartialOutcomeQualifier OPTIONAL,
- altMatching [3] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonResults},
- uncorrelatedSearchInfo [0] SET OF SearchResult}}
-
-addEntry OPERATION ::= {
- ARGUMENT AddEntryArgument
- RESULT AddEntryResult
- ERRORS
- {attributeError | nameError | serviceError | referral | securityError |
- updateError}
- CODE id-opcode-addEntry
-}
-
-AddEntryArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- entry [1] SET OF Attribute,
- targetSystem [2] AccessPoint OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-AddEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
-}
-
-removeEntry OPERATION ::= {
- ARGUMENT RemoveEntryArgument
- RESULT RemoveEntryResult
- ERRORS {nameError | serviceError | referral | securityError | updateError}
- CODE id-opcode-removeEntry
-}
-
-RemoveEntryArgument ::=
- OPTIONALLY-PROTECTED{SET {object [0] Name,
- COMPONENTS OF CommonArguments}}
-
-RemoveEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
-}
-
-modifyEntry OPERATION ::= {
- ARGUMENT ModifyEntryArgument
- RESULT ModifyEntryResult
- ERRORS
- {attributeError | nameError | serviceError | referral | securityError |
- updateError}
- CODE id-opcode-modifyEntry
-}
-
-ModifyEntryArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- changes [1] SEQUENCE OF EntryModification,
- selection [2] EntryInformationSelection OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-ModifyEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {entry [0] EntryInformation OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-EntryModification ::= CHOICE {
- addAttribute [0] Attribute,
- removeAttribute [1] AttributeType,
- addValues [2] Attribute,
- removeValues [3] Attribute,
- alterValues [4] AttributeTypeAndValue,
- resetValue [5] AttributeType
-}
-
-modifyDN OPERATION ::= {
- ARGUMENT ModifyDNArgument
- RESULT ModifyDNResult
- ERRORS {nameError | serviceError | referral | securityError | updateError}
- CODE id-opcode-modifyDN
-}
-
-ModifyDNArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] DistinguishedName,
- newRDN [1] RelativeDistinguishedName,
- deleteOldRDN [2] BOOLEAN DEFAULT FALSE,
- newSuperior [3] DistinguishedName OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-ModifyDNResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {newRDN RelativeDistinguishedName,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
--- Errors and parameters
-abandoned ERROR ::= { -- not literally an "error"
- PARAMETER OPTIONALLY-PROTECTED {SET {COMPONENTS OF CommonResults}}
- CODE id-errcode-abandoned
-}
-
-abandonFailed ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] AbandonProblem,
- operation [1] InvokeId,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-abandonFailed
-}
-
-AbandonProblem ::= INTEGER {noSuchOperation(1), tooLate(2), cannotAbandon(3)}
-
-attributeError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- problems
- [1] SET OF
- SEQUENCE {problem [0] AttributeProblem,
- type [1] AttributeType,
- value [2] AttributeValue OPTIONAL},
- COMPONENTS OF CommonResults}}
- CODE id-errcode-attributeError
-}
-
-AttributeProblem ::= INTEGER {
- noSuchAttributeOrValue(1), invalidAttributeSyntax(2),
- undefinedAttributeType(3), inappropriateMatching(4), constraintViolation(5),
- attributeOrValueAlreadyExists(6), contextViolation(7)}
-
-nameError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] NameProblem,
- matched [1] Name,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-nameError
-}
-
-NameProblem ::= INTEGER {
- noSuchObject(1), aliasProblem(2), invalidAttributeSyntax(3),
- aliasDereferencingProblem(4), contextProblem(5)}
-
-referral ERROR ::= { -- not literally an "error"
- PARAMETER OPTIONALLY-PROTECTED
- {SET {candidate [0] ContinuationReference,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-referral
-}
-
-securityError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] SecurityProblem,
- spkmInfo [1] SPKM-ERROR,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-securityError
-}
-
-SecurityProblem ::= INTEGER {
- inappropriateAuthentication(1), invalidCredentials(2),
- insufficientAccessRights(3), invalidSignature(4), protectionRequired(5),
- noInformation(6), blockedCredentials(7), invalidQOPMatch(8), spkmError(9)
-}
-
-serviceError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] ServiceProblem,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-serviceError
-}
-
-ServiceProblem ::= INTEGER {
- busy(1), unavailable(2), unwillingToPerform(3), chainingRequired(4),
- unableToProceed(5), invalidReference(6), timeLimitExceeded(7),
- administrativeLimitExceeded(8), loopDetected(9),
- unavailableCriticalExtension(10), outOfScope(11), ditError(12),
- invalidQueryReference(13), requestedServiceNotAvailable(14),
- relaxationNotSupported(15), unavailableRelaxationLevel(16),
- unsupportedMatchingUse(17), unmatchedKeyAttributes(18),
- ambiguousKeyAttributes(19)}
-
-updateError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] UpdateProblem,
- attributeInfo
- [1] SET SIZE (1..MAX) OF
- CHOICE {attributeType AttributeType,
- attribute Attribute} OPTIONAL,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-updateError
-}
-
-UpdateProblem ::= INTEGER {
- namingViolation(1), objectClassViolation(2), notAllowedOnNonLeaf(3),
- notAllowedOnRDN(4), entryAlreadyExists(5), affectsMultipleDSAs(6),
- objectClassModificationProhibited(7), notAncestor(8), parentNotAncestor(9),
- hierarchyRuleViolation(10), familyRuleViolation(11)}
-
-id-at-family-information OBJECT IDENTIFIER ::= {id-at 64}
-
-END -- DirectoryAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/DoubleEllipses.asn b/lib/asn1/test/asn1_bin_SUITE_data/DoubleEllipses.asn
deleted file mode 100644
index e90cf55d61..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/DoubleEllipses.asn
+++ /dev/null
@@ -1,99 +0,0 @@
-DoubleEllipses DEFINITIONS AUTOMATIC TAGS ::=
-
-
-BEGIN
-
-
-Seq ::= SEQUENCE
- {
- a INTEGER,
- ...,
- ...,
- c BOOLEAN
- }
-
-SeqV2 ::= SEQUENCE
- {
- a INTEGER,
- ...,
- b BOOLEAN,
- ...,
- c BOOLEAN
- }
-
-
-SeqAlt ::= SEQUENCE
- {
- a INTEGER,
- d INTEGER,
- ...,
- b BIT STRING,
- e BOOLEAN,
- ...,
- c BOOLEAN,
- f INTEGER,
- g INTEGER
- }
-
-SeqAltV2 ::= SEQUENCE
- {
- a INTEGER,
- d INTEGER,
- ...,
- b BIT STRING,
- e BOOLEAN,
- h PrintableString,
- i INTEGER,
- ...,
- c BOOLEAN,
- f INTEGER,
- g INTEGER
- }
-
-Set ::= SET {
- a INTEGER,
- ...,
- ...,
- c BOOLEAN
- }
-
-SetV2 ::= SET
- {
- a INTEGER,
- ...,
- b BOOLEAN,
- ...,
- c BOOLEAN
- }
-
-
-SetAlt ::= SET
- {
- a INTEGER,
- d INTEGER,
- ...,
- b BIT STRING,
- e BOOLEAN,
- ...,
- c BOOLEAN,
- f INTEGER,
- g INTEGER
- }
-
-SetAltV2 ::= SET
- {
- a INTEGER,
- d INTEGER,
- ...,
- b BIT STRING,
- e BOOLEAN,
- h PrintableString,
- i INTEGER,
- ...,
- c BOOLEAN,
- f INTEGER,
- g INTEGER
- }
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ELDAPv3.asn b/lib/asn1/test/asn1_bin_SUITE_data/ELDAPv3.asn
deleted file mode 100644
index 0cfac48c37..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ELDAPv3.asn
+++ /dev/null
@@ -1,291 +0,0 @@
--- LDAPv3 ASN.1 specification, taken from RFC 2251
-
--- Lightweight-Directory-Access-Protocol-V3 DEFINITIONS
-ELDAPv3 DEFINITIONS
-IMPLICIT TAGS ::=
-
-BEGIN
-
-LDAPMessage ::= SEQUENCE {
- messageID MessageID,
- protocolOp CHOICE {
- bindRequest BindRequest,
- bindResponse BindResponse,
- unbindRequest UnbindRequest,
- searchRequest SearchRequest,
- searchResEntry SearchResultEntry,
- searchResDone SearchResultDone,
- searchResRef SearchResultReference,
- modifyRequest ModifyRequest,
- modifyResponse ModifyResponse,
- addRequest AddRequest,
- addResponse AddResponse,
- delRequest DelRequest,
- delResponse DelResponse,
- modDNRequest ModifyDNRequest,
- modDNResponse ModifyDNResponse,
- compareRequest CompareRequest,
- compareResponse CompareResponse,
- abandonRequest AbandonRequest,
- extendedReq ExtendedRequest,
- extendedResp ExtendedResponse },
- controls [0] Controls OPTIONAL }
-
-MessageID ::= INTEGER (0 .. maxInt)
-
-maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) --
-
-LDAPString ::= OCTET STRING
-
-LDAPOID ::= OCTET STRING
-
-LDAPDN ::= LDAPString
-
-RelativeLDAPDN ::= LDAPString
-
-AttributeType ::= LDAPString
-
-AttributeDescription ::= LDAPString
-
-
-
-
--- Wahl, et. al. Standards Track [Page 44]
---
--- RFC 2251 LDAPv3 December 1997
-
-
-AttributeDescriptionList ::= SEQUENCE OF
- AttributeDescription
-
-AttributeValue ::= OCTET STRING
-
-AttributeValueAssertion ::= SEQUENCE {
- attributeDesc AttributeDescription,
- assertionValue AssertionValue }
-
-AssertionValue ::= OCTET STRING
-
-Attribute ::= SEQUENCE {
- type AttributeDescription,
- vals SET OF AttributeValue }
-
-MatchingRuleId ::= LDAPString
-
-LDAPResult ::= SEQUENCE {
- resultCode ENUMERATED {
- success (0),
- operationsError (1),
- protocolError (2),
- timeLimitExceeded (3),
- sizeLimitExceeded (4),
- compareFalse (5),
- compareTrue (6),
- authMethodNotSupported (7),
- strongAuthRequired (8),
- -- 9 reserved --
- referral (10), -- new
- adminLimitExceeded (11), -- new
- unavailableCriticalExtension (12), -- new
- confidentialityRequired (13), -- new
- saslBindInProgress (14), -- new
- noSuchAttribute (16),
- undefinedAttributeType (17),
- inappropriateMatching (18),
- constraintViolation (19),
- attributeOrValueExists (20),
- invalidAttributeSyntax (21),
- -- 22-31 unused --
- noSuchObject (32),
- aliasProblem (33),
- invalidDNSyntax (34),
- -- 35 reserved for undefined isLeaf --
- aliasDereferencingProblem (36),
- -- 37-47 unused --
- inappropriateAuthentication (48),
-
--- Wahl, et. al. Standards Track [Page 45]
---
--- RFC 2251 LDAPv3 December 1997
-
-
- invalidCredentials (49),
- insufficientAccessRights (50),
- busy (51),
- unavailable (52),
- unwillingToPerform (53),
- loopDetect (54),
- -- 55-63 unused --
- namingViolation (64),
- objectClassViolation (65),
- notAllowedOnNonLeaf (66),
- notAllowedOnRDN (67),
- entryAlreadyExists (68),
- objectClassModsProhibited (69),
- -- 70 reserved for CLDAP --
- affectsMultipleDSAs (71), -- new
- -- 72-79 unused --
- other (80) },
- -- 81-90 reserved for APIs --
- matchedDN LDAPDN,
- errorMessage LDAPString,
- referral [3] Referral OPTIONAL }
-
-Referral ::= SEQUENCE OF LDAPURL
-
-LDAPURL ::= LDAPString -- limited to characters permitted in URLs
-
-Controls ::= SEQUENCE OF Control
-
-Control ::= SEQUENCE {
- controlType LDAPOID,
- criticality BOOLEAN DEFAULT FALSE,
- controlValue OCTET STRING OPTIONAL }
-
-BindRequest ::= [APPLICATION 0] SEQUENCE {
- version INTEGER (1 .. 127),
- name LDAPDN,
- authentication AuthenticationChoice }
-
-AuthenticationChoice ::= CHOICE {
- simple [0] OCTET STRING,
- -- 1 and 2 reserved
- sasl [3] SaslCredentials }
-
-SaslCredentials ::= SEQUENCE {
- mechanism LDAPString,
- credentials OCTET STRING OPTIONAL }
-
-BindResponse ::= [APPLICATION 1] SEQUENCE {
-
--- Wahl, et. al. Standards Track [Page 46]
---
--- RFC 2251 LDAPv3 December 1997
-
-
- COMPONENTS OF LDAPResult,
- serverSaslCreds [7] OCTET STRING OPTIONAL }
-
-UnbindRequest ::= [APPLICATION 2] NULL
-
-SearchRequest ::= [APPLICATION 3] SEQUENCE {
- baseObject LDAPDN,
- scope ENUMERATED {
- baseObject (0),
- singleLevel (1),
- wholeSubtree (2) },
- derefAliases ENUMERATED {
- neverDerefAliases (0),
- derefInSearching (1),
- derefFindingBaseObj (2),
- derefAlways (3) },
- sizeLimit INTEGER (0 .. maxInt),
- timeLimit INTEGER (0 .. maxInt),
- typesOnly BOOLEAN,
- filter Filter,
- attributes AttributeDescriptionList }
-
-Filter ::= CHOICE {
- and [0] SET OF Filter,
- or [1] SET OF Filter,
- not [2] Filter,
- equalityMatch [3] AttributeValueAssertion,
- substrings [4] SubstringFilter,
- greaterOrEqual [5] AttributeValueAssertion,
- lessOrEqual [6] AttributeValueAssertion,
- present [7] AttributeDescription,
- approxMatch [8] AttributeValueAssertion,
- extensibleMatch [9] MatchingRuleAssertion }
-
-SubstringFilter ::= SEQUENCE {
- type AttributeDescription,
- -- at least one must be present
- substrings SEQUENCE OF CHOICE {
- initial [0] LDAPString,
- any [1] LDAPString,
- final [2] LDAPString } }
-
-MatchingRuleAssertion ::= SEQUENCE {
- matchingRule [1] MatchingRuleId OPTIONAL,
- type [2] AttributeDescription OPTIONAL,
- matchValue [3] AssertionValue,
- dnAttributes [4] BOOLEAN DEFAULT FALSE }
-
--- Wahl, et. al. Standards Track [Page 47]
---
--- RFC 2251 LDAPv3 December 1997
-
-SearchResultEntry ::= [APPLICATION 4] SEQUENCE {
- objectName LDAPDN,
- attributes PartialAttributeList }
-
-PartialAttributeList ::= SEQUENCE OF SEQUENCE {
- type AttributeDescription,
- vals SET OF AttributeValue }
-
-SearchResultReference ::= [APPLICATION 19] SEQUENCE OF LDAPURL
-
-SearchResultDone ::= [APPLICATION 5] LDAPResult
-
-ModifyRequest ::= [APPLICATION 6] SEQUENCE {
- object LDAPDN,
- modification SEQUENCE OF SEQUENCE {
- operation ENUMERATED {
- add (0),
- delete (1),
- replace (2) },
- modification AttributeTypeAndValues } }
-
-AttributeTypeAndValues ::= SEQUENCE {
- type AttributeDescription,
- vals SET OF AttributeValue }
-
-ModifyResponse ::= [APPLICATION 7] LDAPResult
-
-AddRequest ::= [APPLICATION 8] SEQUENCE {
- entry LDAPDN,
- attributes AttributeList }
-
-AttributeList ::= SEQUENCE OF SEQUENCE {
- type AttributeDescription,
- vals SET OF AttributeValue }
-
-AddResponse ::= [APPLICATION 9] LDAPResult
-
-DelRequest ::= [APPLICATION 10] LDAPDN
-
-DelResponse ::= [APPLICATION 11] LDAPResult
-
-ModifyDNRequest ::= [APPLICATION 12] SEQUENCE {
- entry LDAPDN,
- newrdn RelativeLDAPDN,
- deleteoldrdn BOOLEAN,
- newSuperior [0] LDAPDN OPTIONAL }
-
-ModifyDNResponse ::= [APPLICATION 13] LDAPResult
-
--- Wahl, et. al. Standards Track [Page 48]
---
--- RFC 2251 LDAPv3 December 1997
-
-
-CompareRequest ::= [APPLICATION 14] SEQUENCE {
- entry LDAPDN,
- ava AttributeValueAssertion }
-
-CompareResponse ::= [APPLICATION 15] LDAPResult
-
-AbandonRequest ::= [APPLICATION 16] MessageID
-
-ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- requestName [0] LDAPOID,
- requestValue [1] OCTET STRING OPTIONAL }
-
-ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
- COMPONENTS OF LDAPResult,
- responseName [10] LDAPOID OPTIONAL,
- response [11] OCTET STRING OPTIONAL }
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-InterNodeDefinitions.asn b/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-InterNodeDefinitions.asn
deleted file mode 100644
index 5e6313dc02..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-InterNodeDefinitions.asn
+++ /dev/null
@@ -1,123 +0,0 @@
--- 3GPP TS 36.331 V8.8.0 (2009-12)
--- $Id$
---
-EUTRA-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-HandoverCommand ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- handoverCommand-r8 HandoverCommand-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-HandoverCommand-r8-IEs ::= SEQUENCE {
- handoverCommandMessage OCTET STRING (CONTAINING DL-DCCH-Message),
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-HandoverPreparationInformation ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- handoverPreparationInformation-r8 HandoverPreparationInformation-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-HandoverPreparationInformation-r8-IEs ::= SEQUENCE {
- ue-RadioAccessCapabilityInfo UE-CapabilityRAT-ContainerList,
- as-Config AS-Config OPTIONAL, -- Cond HO
- rrm-Config RRM-Config OPTIONAL,
- as-Context AS-Context OPTIONAL, -- Cond HO
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-UERadioAccessCapabilityInformation ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- ueRadioAccessCapabilityInformation-r8
- UERadioAccessCapabilityInformation-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-UERadioAccessCapabilityInformation-r8-IEs ::= SEQUENCE {
- ue-RadioAccessCapabilityInfo OCTET STRING (CONTAINING UECapabilityInformation),
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-AS-Config ::= SEQUENCE {
- sourceMeasConfig MeasConfig,
- sourceRadioResourceConfig RadioResourceConfigDedicated,
- sourceSecurityAlgorithmConfig SecurityAlgorithmConfig,
- sourceUE-Identity C-RNTI,
- sourceMasterInformationBlock MasterInformationBlock,
- sourceSystemInformationBlockType1 SystemInformationBlockType1,
- sourceSystemInformationBlockType2 SystemInformationBlockType2,
- antennaInfoCommon AntennaInfoCommon,
- sourceDl-CarrierFreq ARFCN-ValueEUTRA,
- ...
-}
-
-
-AS-Context ::= SEQUENCE {
- reestablishmentInfo ReestablishmentInfo OPTIONAL -- Cond HO
-}
-
-
-ReestablishmentInfo ::= SEQUENCE {
- sourcePhysCellId PhysCellId,
- targetCellShortMAC-I ShortMAC-I,
- additionalReestabInfoList AdditionalReestabInfoList OPTIONAL,
- ...
-}
-
-AdditionalReestabInfoList ::= SEQUENCE ( SIZE (1..maxReestabInfo) ) OF AdditionalReestabInfo
-
-AdditionalReestabInfo ::= SEQUENCE{
- cellIdentity CellIdentity,
- key-eNodeB-Star Key-eNodeB-Star,
- shortMAC-I ShortMAC-I
-}
-
-Key-eNodeB-Star ::= BIT STRING (SIZE (256))
-
-
-RRM-Config ::= SEQUENCE {
- ue-InactiveTime ENUMERATED {
- s1, s2, s3, s5, s7, s10, s15, s20,
- s25, s30, s40, s50, min1, min1s20c, min1s40,
- min2, min2s30, min3, min3s30, min4, min5, min6,
- min7, min8, min9, min10, min12, min14, min17, min20,
- min24, min28, min33, min38, min44, min50, hr1,
- hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6,
- hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2,
- day2hr12, day3, day4, day5, day7, day10, day14, day19,
- day24, day30, dayMoreThan30} OPTIONAL,
- ...
-}
-
-
-maxReestabInfo INTEGER ::= 32 -- Maximum number of KeNB* and shortMAC-I forwarded
- -- at handover for re-establishment preparation
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-RRC-Definitions.asn b/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-RRC-Definitions.asn
deleted file mode 100644
index a451874ef0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-RRC-Definitions.asn
+++ /dev/null
@@ -1,2640 +0,0 @@
--- 3GPP TS 36.331 V8.8.0 (2009-12)
--- $Id$
---
-EUTRA-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-BCCH-BCH-Message ::= SEQUENCE {
- message BCCH-BCH-MessageType
-}
-
-BCCH-BCH-MessageType ::= MasterInformationBlock
-
-
-BCCH-DL-SCH-Message ::= SEQUENCE {
- message BCCH-DL-SCH-MessageType
-}
-
-BCCH-DL-SCH-MessageType ::= CHOICE {
- c1 CHOICE {
- systemInformation SystemInformation,
- systemInformationBlockType1 SystemInformationBlockType1
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-PCCH-Message ::= SEQUENCE {
- message PCCH-MessageType
-}
-
-PCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- paging Paging
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-DL-CCCH-Message ::= SEQUENCE {
- message DL-CCCH-MessageType
-}
-
-DL-CCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- rrcConnectionReestablishment RRCConnectionReestablishment,
- rrcConnectionReestablishmentReject RRCConnectionReestablishmentReject,
- rrcConnectionReject RRCConnectionReject,
- rrcConnectionSetup RRCConnectionSetup
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-DL-DCCH-Message ::= SEQUENCE {
- message DL-DCCH-MessageType
-}
-
-DL-DCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- csfbParametersResponseCDMA2000 CSFBParametersResponseCDMA2000,
- dlInformationTransfer DLInformationTransfer,
- handoverFromEUTRAPreparationRequest HandoverFromEUTRAPreparationRequest,
- mobilityFromEUTRACommand MobilityFromEUTRACommand,
- rrcConnectionReconfiguration RRCConnectionReconfiguration,
- rrcConnectionRelease RRCConnectionRelease,
- securityModeCommand SecurityModeCommand,
- ueCapabilityEnquiry UECapabilityEnquiry,
- counterCheck CounterCheck,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-UL-CCCH-Message ::= SEQUENCE {
- message UL-CCCH-MessageType
-}
-
-UL-CCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- rrcConnectionReestablishmentRequest RRCConnectionReestablishmentRequest,
- rrcConnectionRequest RRCConnectionRequest
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-UL-DCCH-Message ::= SEQUENCE {
- message UL-DCCH-MessageType
-}
-
-UL-DCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- csfbParametersRequestCDMA2000 CSFBParametersRequestCDMA2000,
- measurementReport MeasurementReport,
- rrcConnectionReconfigurationComplete RRCConnectionReconfigurationComplete,
- rrcConnectionReestablishmentComplete RRCConnectionReestablishmentComplete,
- rrcConnectionSetupComplete RRCConnectionSetupComplete,
- securityModeComplete SecurityModeComplete,
- securityModeFailure SecurityModeFailure,
- ueCapabilityInformation UECapabilityInformation,
- ulHandoverPreparationTransfer ULHandoverPreparationTransfer,
- ulInformationTransfer ULInformationTransfer,
- counterCheckResponse CounterCheckResponse,
- spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-CounterCheck ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- counterCheck-r8 CounterCheck-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-CounterCheck-r8-IEs ::= SEQUENCE {
- drb-CountMSB-InfoList DRB-CountMSB-InfoList,
- nonCriticalExtension SEQUENCE {} OPTIONAL --Need OP
-}
-
-DRB-CountMSB-InfoList::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-CountMSB-Info
-
-DRB-CountMSB-Info ::= SEQUENCE {
- drb-Identity DRB-Identity,
- countMSB-Uplink INTEGER(0..33554431),
- countMSB-Downlink INTEGER(0..33554431)
-}
-
-
-CounterCheckResponse ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- counterCheckResponse-r8 CounterCheckResponse-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-CounterCheckResponse-r8-IEs ::= SEQUENCE {
- drb-CountInfoList DRB-CountInfoList,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-DRB-CountInfoList ::= SEQUENCE (SIZE (0..maxDRB)) OF DRB-CountInfo
-
-DRB-CountInfo ::= SEQUENCE {
- drb-Identity DRB-Identity,
- count-Uplink INTEGER(0..4294967295),
- count-Downlink INTEGER(0..4294967295)
-}
-
-
-CSFBParametersRequestCDMA2000 ::= SEQUENCE {
- criticalExtensions CHOICE {
- csfbParametersRequestCDMA2000-r8 CSFBParametersRequestCDMA2000-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-CSFBParametersRequestCDMA2000-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-CSFBParametersResponseCDMA2000 ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- csfbParametersResponseCDMA2000-r8 CSFBParametersResponseCDMA2000-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-CSFBParametersResponseCDMA2000-r8-IEs ::= SEQUENCE {
- rand RAND-CDMA2000,
- mobilityParameters MobilityParametersCDMA2000,
- nonCriticalExtension SEQUENCE {} OPTIONAL --Need OP
-}
-
-
-DLInformationTransfer ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- dlInformationTransfer-r8 DLInformationTransfer-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-DLInformationTransfer-r8-IEs ::= SEQUENCE {
- dedicatedInfoType CHOICE {
- dedicatedInfoNAS DedicatedInfoNAS,
- dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000,
- dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL --Need OP
-}
-
-
-HandoverFromEUTRAPreparationRequest ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- handoverFromEUTRAPreparationRequest-r8
- HandoverFromEUTRAPreparationRequest-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-HandoverFromEUTRAPreparationRequest-r8-IEs ::= SEQUENCE {
- cdma2000-Type CDMA2000-Type,
- rand RAND-CDMA2000 OPTIONAL, -- Cond cdma2000-Type
- mobilityParameters MobilityParametersCDMA2000 OPTIONAL, -- Cond cdma2000-Type
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-MasterInformationBlock ::= SEQUENCE {
- dl-Bandwidth ENUMERATED {
- n6, n15, n25, n50, n75, n100},
- phich-Config PHICH-Config,
- systemFrameNumber BIT STRING (SIZE (8)),
- spare BIT STRING (SIZE (10))
-}
-
-
-
-MeasurementReport ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- measurementReport-r8 MeasurementReport-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-MeasurementReport-r8-IEs ::= SEQUENCE {
- measResults MeasResults,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-MobilityFromEUTRACommand ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- mobilityFromEUTRACommand-r8 MobilityFromEUTRACommand-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-MobilityFromEUTRACommand-r8-IEs ::= SEQUENCE {
- cs-FallbackIndicator BOOLEAN,
- purpose CHOICE{
- handover Handover,
- cellChangeOrder CellChangeOrder
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-Handover ::= SEQUENCE {
- targetRAT-Type ENUMERATED {
- utra, geran, cdma2000-1XRTT, cdma2000-HRPD,
- spare4, spare3, spare2, spare1, ...},
- targetRAT-MessageContainer OCTET STRING,
- nas-SecurityParamFromEUTRA OCTET STRING (SIZE (1)) OPTIONAL, -- Cond UTRAGERAN
- systemInformation SI-OrPSI-GERAN OPTIONAL -- Cond PSHO
-}
-
-CellChangeOrder ::= SEQUENCE {
- t304 ENUMERATED {
- ms100, ms200, ms500, ms1000,
- ms2000, ms4000, ms8000, spare1},
- targetRAT-Type CHOICE {
- geran SEQUENCE {
- physCellId PhysCellIdGERAN,
- carrierFreq CarrierFreqGERAN,
- networkControlOrder BIT STRING (SIZE (2)) OPTIONAL, -- Need OP
- systemInformation SI-OrPSI-GERAN OPTIONAL -- Need OP
- },
- ...
- }
-}
-
-SI-OrPSI-GERAN ::= CHOICE {
- si SystemInfoListGERAN,
- psi SystemInfoListGERAN
-}
-
-SystemInfoListGERAN ::= SEQUENCE (SIZE (1..maxGERAN-SI)) OF
- OCTET STRING (SIZE (1..23))
-
-
-Paging ::= SEQUENCE {
- pagingRecordList PagingRecordList OPTIONAL, -- Need ON
- systemInfoModification ENUMERATED {true} OPTIONAL, -- Need ON
- etws-Indication ENUMERATED {true} OPTIONAL, -- Need ON
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-PagingRecordList ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord
-
-PagingRecord ::= SEQUENCE {
- ue-Identity PagingUE-Identity,
- cn-Domain ENUMERATED {ps, cs},
- ...
-}
-
-PagingUE-Identity ::= CHOICE {
- s-TMSI S-TMSI,
- imsi IMSI,
- ...
-}
-
-IMSI ::= SEQUENCE (SIZE (6..21)) OF IMSI-Digit
-
-IMSI-Digit::= INTEGER (0..9)
-
-
-RRCConnectionReconfiguration ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- rrcConnectionReconfiguration-r8 RRCConnectionReconfiguration-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReconfiguration-r8-IEs ::= SEQUENCE {
- measConfig MeasConfig OPTIONAL, -- Need ON
- mobilityControlInfo MobilityControlInfo OPTIONAL, -- Cond HO
- dedicatedInfoNASList SEQUENCE (SIZE(1..maxDRB)) OF
- DedicatedInfoNAS OPTIONAL, -- Cond nonHO
- radioResourceConfigDedicated RadioResourceConfigDedicated OPTIONAL, -- Cond HO-toEUTRA
- securityConfigHO SecurityConfigHO OPTIONAL, -- Cond HO
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-SecurityConfigHO ::= SEQUENCE {
- handoverType CHOICE {
- intraLTE SEQUENCE {
- securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Need OP
- keyChangeIndicator BOOLEAN,
- nextHopChainingCount NextHopChainingCount
- },
- interRAT SEQUENCE {
- securityAlgorithmConfig SecurityAlgorithmConfig,
- nas-SecurityParamToEUTRA OCTET STRING (SIZE(6))
- }
- },
- ...
-}
-
-
-RRCConnectionReconfigurationComplete ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- rrcConnectionReconfigurationComplete-r8
- RRCConnectionReconfigurationComplete-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReconfigurationComplete-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-RRCConnectionReestablishment ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- rrcConnectionReestablishment-r8 RRCConnectionReestablishment-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReestablishment-r8-IEs ::= SEQUENCE {
- radioResourceConfigDedicated RadioResourceConfigDedicated,
- nextHopChainingCount NextHopChainingCount,
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-RRCConnectionReestablishmentComplete ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- rrcConnectionReestablishmentComplete-r8
- RRCConnectionReestablishmentComplete-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReestablishmentComplete-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-RRCConnectionReestablishmentReject ::= SEQUENCE {
- criticalExtensions CHOICE {
- rrcConnectionReestablishmentReject-r8
- RRCConnectionReestablishmentReject-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReestablishmentReject-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-RRCConnectionReestablishmentRequest ::= SEQUENCE {
- criticalExtensions CHOICE {
- rrcConnectionReestablishmentRequest-r8
- RRCConnectionReestablishmentRequest-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReestablishmentRequest-r8-IEs ::= SEQUENCE {
- ue-Identity ReestabUE-Identity,
- reestablishmentCause ReestablishmentCause,
- spare BIT STRING (SIZE (2))
-}
-
-ReestabUE-Identity ::= SEQUENCE {
- c-RNTI C-RNTI,
- physCellId PhysCellId,
- shortMAC-I ShortMAC-I
-}
-
-ReestablishmentCause ::= ENUMERATED {
- reconfigurationFailure, handoverFailure,
- otherFailure, spare1}
-
-
-RRCConnectionReject ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE {
- rrcConnectionReject-r8 RRCConnectionReject-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReject-r8-IEs ::= SEQUENCE {
- waitTime INTEGER (1..16),
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-RRCConnectionRelease ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- rrcConnectionRelease-r8 RRCConnectionRelease-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionRelease-r8-IEs ::= SEQUENCE {
- releaseCause ReleaseCause,
- redirectedCarrierInfo RedirectedCarrierInfo OPTIONAL, -- Need ON
- idleModeMobilityControlInfo IdleModeMobilityControlInfo OPTIONAL, -- Need OP
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-ReleaseCause ::= ENUMERATED {loadBalancingTAUrequired,
- other,spare2, spare1 }
-
-RedirectedCarrierInfo ::= CHOICE {
- eutra ARFCN-ValueEUTRA,
- geran CarrierFreqsGERAN,
- utra-FDD ARFCN-ValueUTRA,
- utra-TDD ARFCN-ValueUTRA,
- cdma2000-HRPD CarrierFreqCDMA2000,
- cdma2000-1xRTT CarrierFreqCDMA2000,
- ...
-}
-
-IdleModeMobilityControlInfo ::= SEQUENCE {
- freqPriorityListEUTRA FreqPriorityListEUTRA OPTIONAL, -- Need ON
- freqPriorityListGERAN FreqsPriorityListGERAN OPTIONAL, -- Need ON
- freqPriorityListUTRA-FDD FreqPriorityListUTRA-FDD OPTIONAL, -- Need ON
- freqPriorityListUTRA-TDD FreqPriorityListUTRA-TDD OPTIONAL, -- Need ON
- bandClassPriorityListHRPD BandClassPriorityListHRPD OPTIONAL, -- Need ON
- bandClassPriorityList1XRTT BandClassPriorityList1XRTT OPTIONAL, -- Need ON
- t320 ENUMERATED {
- min5, min10, min20, min30, min60, min120, min180,
- spare1} OPTIONAL, -- Need OR
- ...
-}
-
-FreqPriorityListEUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA
-
-FreqPriorityEUTRA ::= SEQUENCE {
- carrierFreq ARFCN-ValueEUTRA,
- cellReselectionPriority CellReselectionPriority
-}
-
-FreqsPriorityListGERAN ::= SEQUENCE (SIZE (1..maxGNFG)) OF FreqsPriorityGERAN
-
-FreqsPriorityGERAN ::= SEQUENCE {
- carrierFreqs CarrierFreqsGERAN,
- cellReselectionPriority CellReselectionPriority
-}
-
-FreqPriorityListUTRA-FDD ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF FreqPriorityUTRA-FDD
-
-FreqPriorityUTRA-FDD ::= SEQUENCE {
- carrierFreq ARFCN-ValueUTRA,
- cellReselectionPriority CellReselectionPriority
-}
-
-FreqPriorityListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF FreqPriorityUTRA-TDD
-
-FreqPriorityUTRA-TDD ::= SEQUENCE {
- carrierFreq ARFCN-ValueUTRA,
- cellReselectionPriority CellReselectionPriority
-}
-
-BandClassPriorityListHRPD ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassPriorityHRPD
-
-BandClassPriorityHRPD ::= SEQUENCE {
- bandClass BandclassCDMA2000,
- cellReselectionPriority CellReselectionPriority
-}
-
-BandClassPriorityList1XRTT ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassPriority1XRTT
-
-BandClassPriority1XRTT ::= SEQUENCE {
- bandClass BandclassCDMA2000,
- cellReselectionPriority CellReselectionPriority
-}
-
-RRCConnectionRequest ::= SEQUENCE {
- criticalExtensions CHOICE {
- rrcConnectionRequest-r8 RRCConnectionRequest-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionRequest-r8-IEs ::= SEQUENCE {
- ue-Identity InitialUE-Identity,
- establishmentCause EstablishmentCause,
- spare BIT STRING (SIZE (1))
-}
-
-InitialUE-Identity ::= CHOICE {
- s-TMSI S-TMSI,
- randomValue BIT STRING (SIZE (40))
-}
-
-EstablishmentCause ::= ENUMERATED {
- emergency, highPriorityAccess, mt-Access, mo-Signalling,
- mo-Data, spare3, spare2, spare1}
-
-
-RRCConnectionSetup ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- rrcConnectionSetup-r8 RRCConnectionSetup-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionSetup-r8-IEs ::= SEQUENCE {
- radioResourceConfigDedicated RadioResourceConfigDedicated,
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-RRCConnectionSetupComplete ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- rrcConnectionSetupComplete-r8 RRCConnectionSetupComplete-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionSetupComplete-r8-IEs ::= SEQUENCE {
- selectedPLMN-Identity INTEGER (1..6),
- registeredMME RegisteredMME OPTIONAL,
- dedicatedInfoNAS DedicatedInfoNAS,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-RegisteredMME ::= SEQUENCE {
- plmn-Identity PLMN-Identity OPTIONAL,
- mmegi BIT STRING (SIZE (16)),
- mmec MMEC
-}
-
-
-SecurityModeCommand ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- securityModeCommand-r8 SecurityModeCommand-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-SecurityModeCommand-r8-IEs ::= SEQUENCE {
- securityConfigSMC SecurityConfigSMC,
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-SecurityConfigSMC ::= SEQUENCE {
- securityAlgorithmConfig SecurityAlgorithmConfig,
- ...
-}
-
-
-SecurityModeComplete ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- securityModeComplete-r8 SecurityModeComplete-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-SecurityModeComplete-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-SecurityModeFailure ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- securityModeFailure-r8 SecurityModeFailure-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-SecurityModeFailure-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-SystemInformation ::= SEQUENCE {
- criticalExtensions CHOICE {
- systemInformation-r8 SystemInformation-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-SystemInformation-r8-IEs ::= SEQUENCE {
- sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
- sib2 SystemInformationBlockType2,
- sib3 SystemInformationBlockType3,
- sib4 SystemInformationBlockType4,
- sib5 SystemInformationBlockType5,
- sib6 SystemInformationBlockType6,
- sib7 SystemInformationBlockType7,
- sib8 SystemInformationBlockType8,
- sib9 SystemInformationBlockType9,
- sib10 SystemInformationBlockType10,
- sib11 SystemInformationBlockType11,
- ...
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-SystemInformationBlockType1 ::= SEQUENCE {
- cellAccessRelatedInfo SEQUENCE {
- plmn-IdentityList PLMN-IdentityList,
- trackingAreaCode TrackingAreaCode,
- cellIdentity CellIdentity,
- cellBarred ENUMERATED {barred, notBarred},
- intraFreqReselection ENUMERATED {allowed, notAllowed},
- csg-Indication BOOLEAN,
- csg-Identity BIT STRING (SIZE (27)) OPTIONAL -- Need OR
- },
- cellSelectionInfo SEQUENCE {
- q-RxLevMin Q-RxLevMin,
- q-RxLevMinOffset INTEGER (1..8) OPTIONAL -- Need OP
- },
- p-Max P-Max OPTIONAL, -- Need OP
- freqBandIndicator INTEGER (1..64),
- schedulingInfoList SchedulingInfoList,
- tdd-Config TDD-Config OPTIONAL, -- Cond TDD
- si-WindowLength ENUMERATED {
- ms1, ms2, ms5, ms10, ms15, ms20,
- ms40},
- systemInfoValueTag INTEGER (0..31),
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-PLMN-IdentityList ::= SEQUENCE (SIZE (1..6)) OF PLMN-IdentityInfo
-
-PLMN-IdentityInfo ::= SEQUENCE {
- plmn-Identity PLMN-Identity,
- cellReservedForOperatorUse ENUMERATED {reserved, notReserved}
-}
-
-SchedulingInfoList ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo
-
-SchedulingInfo ::= SEQUENCE {
- si-Periodicity ENUMERATED {
- rf8, rf16, rf32, rf64, rf128, rf256, rf512},
- sib-MappingInfo SIB-MappingInfo
-}
-
-SIB-MappingInfo ::= SEQUENCE (SIZE (0..maxSIB-1)) OF SIB-Type
-
-SIB-Type ::= ENUMERATED {
- sibType3, sibType4, sibType5, sibType6,
- sibType7, sibType8, sibType9, sibType10,
- sibType11, spare7, spare6, spare5,
- spare4, spare3, spare2, spare1, ...}
-
-
-UECapabilityEnquiry ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- ueCapabilityEnquiry-r8 UECapabilityEnquiry-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-UECapabilityEnquiry-r8-IEs ::= SEQUENCE {
- ue-CapabilityRequest UE-CapabilityRequest,
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-UE-CapabilityRequest ::= SEQUENCE (SIZE (1..maxRAT-Capabilities)) OF RAT-Type
-
-
-UECapabilityInformation ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- ueCapabilityInformation-r8 UECapabilityInformation-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-UECapabilityInformation-r8-IEs ::= SEQUENCE {
- ue-CapabilityRAT-ContainerList UE-CapabilityRAT-ContainerList,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-ULHandoverPreparationTransfer ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE {
- ulHandoverPreparationTransfer-r8 ULHandoverPreparationTransfer-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-ULHandoverPreparationTransfer-r8-IEs ::= SEQUENCE {
- cdma2000-Type CDMA2000-Type,
- meid BIT STRING (SIZE (56)) OPTIONAL,
- dedicatedInfo DedicatedInfoCDMA2000,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-ULInformationTransfer ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE {
- ulInformationTransfer-r8 ULInformationTransfer-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-ULInformationTransfer-r8-IEs ::= SEQUENCE {
- dedicatedInfoType CHOICE {
- dedicatedInfoNAS DedicatedInfoNAS,
- dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000,
- dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-SystemInformationBlockType2 ::= SEQUENCE {
- ac-BarringInfo SEQUENCE {
- ac-BarringForEmergency BOOLEAN,
- ac-BarringForMO-Signalling AC-BarringConfig OPTIONAL, -- Need OP
- ac-BarringForMO-Data AC-BarringConfig OPTIONAL -- Need OP
- } OPTIONAL, -- Need OP
- radioResourceConfigCommon RadioResourceConfigCommonSIB,
- ue-TimersAndConstants UE-TimersAndConstants,
- freqInfo SEQUENCE {
- ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL, -- Need OP
- ul-Bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100}
- OPTIONAL, -- Need OP
- additionalSpectrumEmission AdditionalSpectrumEmission
- },
- mbsfn-SubframeConfigList MBSFN-SubframeConfigList OPTIONAL, -- Need OR
- timeAlignmentTimerCommon TimeAlignmentTimer,
- ...
-}
-
-AC-BarringConfig ::= SEQUENCE {
- ac-BarringFactor ENUMERATED {
- p00, p05, p10, p15, p20, p25, p30, p40,
- p50, p60, p70, p75, p80, p85, p90, p95},
- ac-BarringTime ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512},
- ac-BarringForSpecialAC BIT STRING (SIZE(5))
-}
-
-MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig
-
-MBSFN-SubframeConfig ::= SEQUENCE {
- radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32},
- radioframeAllocationOffset INTEGER (0..7),
- subframeAllocation CHOICE {
- oneFrame BIT STRING (SIZE(6)),
- fourFrames BIT STRING (SIZE(24))
- }
-}
-
-SystemInformationBlockType3 ::= SEQUENCE {
- cellReselectionInfoCommon SEQUENCE {
- q-Hyst ENUMERATED {
- dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,
- dB12, dB14, dB16, dB18, dB20, dB22, dB24},
- speedStateReselectionPars SEQUENCE {
- mobilityStateParameters MobilityStateParameters,
- q-HystSF SEQUENCE {
- sf-Medium ENUMERATED {
- dB-6, dB-4, dB-2, dB0},
- sf-High ENUMERATED {
- dB-6, dB-4, dB-2, dB0}
- }
- } OPTIONAL -- Need OP
- },
- cellReselectionServingFreqInfo SEQUENCE {
- s-NonIntraSearch ReselectionThreshold OPTIONAL, -- Need OP
- threshServingLow ReselectionThreshold,
- cellReselectionPriority CellReselectionPriority
- },
- intraFreqCellReselectionInfo SEQUENCE {
- q-RxLevMin Q-RxLevMin,
- p-Max P-Max OPTIONAL, -- Need OP
- s-IntraSearch ReselectionThreshold OPTIONAL, -- Need OP
- allowedMeasBandwidth AllowedMeasBandwidth OPTIONAL, -- Need OP
- presenceAntennaPort1 PresenceAntennaPort1,
- neighCellConfig NeighCellConfig,
- t-ReselectionEUTRA T-Reselection,
- t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL -- Need OP
- },
- ...
-}
-
-
-SystemInformationBlockType4 ::= SEQUENCE {
- intraFreqNeighCellList IntraFreqNeighCellList OPTIONAL, -- Need OR
- intraFreqBlackCellList IntraFreqBlackCellList OPTIONAL, -- Need OR
- csg-PhysCellIdRange PhysCellIdRange OPTIONAL, -- Cond CSG
- ...
-}
-
-IntraFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo
-
-IntraFreqNeighCellInfo ::= SEQUENCE {
- physCellId PhysCellId,
- q-OffsetCell Q-OffsetRange,
- ...
-}
-
-IntraFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellIdRange
-
-
-SystemInformationBlockType5 ::= SEQUENCE {
- interFreqCarrierFreqList InterFreqCarrierFreqList,
- ...
-}
-
-InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo
-
-InterFreqCarrierFreqInfo ::= SEQUENCE {
- dl-CarrierFreq ARFCN-ValueEUTRA,
- q-RxLevMin Q-RxLevMin,
- p-Max P-Max OPTIONAL, -- Need OP
- t-ReselectionEUTRA T-Reselection,
- t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need OP
- threshX-High ReselectionThreshold,
- threshX-Low ReselectionThreshold,
- allowedMeasBandwidth AllowedMeasBandwidth,
- presenceAntennaPort1 PresenceAntennaPort1,
- cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
- neighCellConfig NeighCellConfig,
- q-OffsetFreq Q-OffsetRange DEFAULT dB0,
- interFreqNeighCellList InterFreqNeighCellList OPTIONAL, -- Need OR
- interFreqBlackCellList InterFreqBlackCellList OPTIONAL, -- Need OR
- ...
-}
-
-InterFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo
-
-InterFreqNeighCellInfo ::= SEQUENCE {
- physCellId PhysCellId,
- q-OffsetCell Q-OffsetRange
-}
-
-InterFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellIdRange
-
-
-SystemInformationBlockType6 ::= SEQUENCE {
- carrierFreqListUTRA-FDD CarrierFreqListUTRA-FDD OPTIONAL, -- Need OR
- carrierFreqListUTRA-TDD CarrierFreqListUTRA-TDD OPTIONAL, -- Need OR
- t-ReselectionUTRA T-Reselection,
- t-ReselectionUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need OP
- ...
-}
-
-CarrierFreqListUTRA-FDD ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF CarrierFreqUTRA-FDD
-
-CarrierFreqUTRA-FDD ::= SEQUENCE {
- carrierFreq ARFCN-ValueUTRA,
- cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
- threshX-High ReselectionThreshold,
- threshX-Low ReselectionThreshold,
- q-RxLevMin INTEGER (-60..-13),
- p-MaxUTRA INTEGER (-50..33),
- q-QualMin INTEGER (-24..0),
- ...
-}
-
-CarrierFreqListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF CarrierFreqUTRA-TDD
-
-CarrierFreqUTRA-TDD ::= SEQUENCE {
- carrierFreq ARFCN-ValueUTRA,
- cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
- threshX-High ReselectionThreshold,
- threshX-Low ReselectionThreshold,
- q-RxLevMin INTEGER (-60..-13),
- p-MaxUTRA INTEGER (-50..33),
- ...
-}
-
-
-SystemInformationBlockType7 ::= SEQUENCE {
- t-ReselectionGERAN T-Reselection,
- t-ReselectionGERAN-SF SpeedStateScaleFactors OPTIONAL, -- Need OR
- carrierFreqsInfoList CarrierFreqsInfoListGERAN OPTIONAL, -- Need OR
- ...
-}
-
-CarrierFreqsInfoListGERAN ::= SEQUENCE (SIZE (1..maxGNFG)) OF CarrierFreqsInfoGERAN
-
-CarrierFreqsInfoGERAN ::= SEQUENCE {
- carrierFreqs CarrierFreqsGERAN,
- commonInfo SEQUENCE {
- cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
- ncc-Permitted BIT STRING (SIZE (8)),
- q-RxLevMin INTEGER (0..45),
- p-MaxGERAN INTEGER (0..39) OPTIONAL, -- Need OP
- threshX-High ReselectionThreshold,
- threshX-Low ReselectionThreshold
- },
- ...
-}
-
-
-SystemInformationBlockType8 ::= SEQUENCE {
- systemTimeInfo SystemTimeInfoCDMA2000 OPTIONAL, -- Need OR
- searchWindowSize INTEGER (0..15) OPTIONAL, -- Need OR
- parametersHRPD SEQUENCE {
- preRegistrationInfoHRPD PreRegistrationInfoHRPD,
- cellReselectionParametersHRPD CellReselectionParametersCDMA2000 OPTIONAL -- Need OR
- } OPTIONAL, -- Need OR
- parameters1XRTT SEQUENCE {
- csfb-RegistrationParam1XRTT CSFB-RegistrationParam1XRTT OPTIONAL, -- Need OP
- longCodeState1XRTT BIT STRING (SIZE (42)) OPTIONAL, -- Need OR
- cellReselectionParameters1XRTT CellReselectionParametersCDMA2000 OPTIONAL -- Need OR
- } OPTIONAL, -- Need OR
- ...
-}
-
-CellReselectionParametersCDMA2000 ::= SEQUENCE {
- bandClassList BandClassListCDMA2000,
- neighCellList NeighCellListCDMA2000,
- t-ReselectionCDMA2000 T-Reselection,
- t-ReselectionCDMA2000-SF SpeedStateScaleFactors OPTIONAL -- Need OP
-}
-NeighCellListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000
-
-NeighCellCDMA2000 ::= SEQUENCE {
- bandClass BandclassCDMA2000,
- neighCellsPerFreqList NeighCellsPerBandclassListCDMA2000
-}
-
-NeighCellsPerBandclassListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000
-
-NeighCellsPerBandclassCDMA2000 ::= SEQUENCE {
- arfcn ARFCN-ValueCDMA2000,
- physCellIdList PhysCellIdListCDMA2000
-}
-
-PhysCellIdListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF PhysCellIdCDMA2000
-
-BandClassListCDMA2000 ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassInfoCDMA2000
-
-BandClassInfoCDMA2000 ::= SEQUENCE {
- bandClass BandclassCDMA2000,
- cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
- threshX-High INTEGER (0..63),
- threshX-Low INTEGER (0..63),
- ...
-}
-
-
-SystemInformationBlockType9 ::= SEQUENCE {
- hnb-Name OCTET STRING (SIZE(1..48)) OPTIONAL, -- Need OR
- ...
-}
-
-
-SystemInformationBlockType10 ::= SEQUENCE {
- messageIdentifier BIT STRING (SIZE (16)),
- serialNumber BIT STRING (SIZE (16)),
- warningType OCTET STRING (SIZE (2)),
- warningSecurityInfo OCTET STRING (SIZE (50)) OPTIONAL, -- Need OP
- ...
-}
-
-
-SystemInformationBlockType11 ::= SEQUENCE {
- messageIdentifier BIT STRING (SIZE (16)),
- serialNumber BIT STRING (SIZE (16)),
- warningMessageSegmentType ENUMERATED {notLastSegment, lastSegment},
- warningMessageSegmentNumber INTEGER (0..63),
- warningMessageSegment OCTET STRING,
- dataCodingScheme OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1
- ...
-}
-
-
-AntennaInfoCommon ::= SEQUENCE {
- antennaPortsCount ENUMERATED {an1, an2, an4, spare1}
-}
-
-AntennaInfoDedicated ::= SEQUENCE {
- transmissionMode ENUMERATED {
- tm1, tm2, tm3, tm4, tm5, tm6,
- tm7, spare1},
- codebookSubsetRestriction CHOICE {
- n2TxAntenna-tm3 BIT STRING (SIZE (2)),
- n4TxAntenna-tm3 BIT STRING (SIZE (4)),
- n2TxAntenna-tm4 BIT STRING (SIZE (6)),
- n4TxAntenna-tm4 BIT STRING (SIZE (64)),
- n2TxAntenna-tm5 BIT STRING (SIZE (4)),
- n4TxAntenna-tm5 BIT STRING (SIZE (16)),
- n2TxAntenna-tm6 BIT STRING (SIZE (4)),
- n4TxAntenna-tm6 BIT STRING (SIZE (16))
- } OPTIONAL, -- Cond TM
- ue-TransmitAntennaSelection CHOICE{
- release NULL,
- setup ENUMERATED {closedLoop, openLoop}
- }
-}
-
-
-CQI-ReportConfig ::= SEQUENCE {
- cqi-ReportModeAperiodic ENUMERATED {
- rm12, rm20, rm22, rm30, rm31,
- spare3, spare2, spare1} OPTIONAL, -- Need OR
- nomPDSCH-RS-EPRE-Offset INTEGER (-1..6),
- cqi-ReportPeriodic CQI-ReportPeriodic OPTIONAL -- Need ON
-}
-
-CQI-ReportPeriodic ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- cqi-PUCCH-ResourceIndex INTEGER (0.. 1185),
- cqi-pmi-ConfigIndex INTEGER (0..1023),
- cqi-FormatIndicatorPeriodic CHOICE {
- widebandCQI NULL,
- subbandCQI SEQUENCE {
- k INTEGER (1..4)
- }
- },
- ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR
- simultaneousAckNackAndCQI BOOLEAN
- }
-}
-
-
-DRB-Identity ::= INTEGER (1..32)
-
-
-LogicalChannelConfig ::= SEQUENCE {
- ul-SpecificParameters SEQUENCE {
- priority INTEGER (1..16),
- prioritisedBitRate ENUMERATED {
- kBps0, kBps8, kBps16, kBps32, kBps64, kBps128,
- kBps256, infinity, spare8, spare7, spare6,
- spare5, spare4, spare3, spare2, spare1},
- bucketSizeDuration ENUMERATED {
- ms50, ms100, ms150, ms300, ms500, ms1000, spare2,
- spare1},
- logicalChannelGroup INTEGER (0..3) OPTIONAL -- Need OR
- } OPTIONAL, -- Cond UL
- ...
-}
-
-
-MAC-MainConfig ::= SEQUENCE {
- ul-SCH-Config SEQUENCE {
- maxHARQ-Tx ENUMERATED {
- n1, n2, n3, n4, n5, n6, n7, n8,
- n10, n12, n16, n20, n24, n28,
- spare2, spare1} OPTIONAL, -- Need ON
- periodicBSR-Timer ENUMERATED {
- sf5, sf10, sf16, sf20, sf32, sf40, sf64, sf80,
- sf128, sf160, sf320, sf640, sf1280, sf2560,
- infinity, spare1} OPTIONAL, -- Need ON
- retxBSR-Timer ENUMERATED {
- sf320, sf640, sf1280, sf2560, sf5120,
- sf10240, spare2, spare1},
- ttiBundling BOOLEAN
- } OPTIONAL, -- Need ON
- drx-Config DRX-Config OPTIONAL, -- Need ON
- timeAlignmentTimerDedicated TimeAlignmentTimer,
- phr-Config CHOICE {
- release NULL,
- setup SEQUENCE {
- periodicPHR-Timer ENUMERATED {sf10, sf20, sf50, sf100, sf200,
- sf500, sf1000, infinity},
- prohibitPHR-Timer ENUMERATED {sf0, sf10, sf20, sf50, sf100,
- sf200, sf500, sf1000},
- dl-PathlossChange ENUMERATED {dB1, dB3, dB6, infinity}
- }
- } OPTIONAL, -- Need ON
- ...
-}
-
-DRX-Config ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- onDurationTimer ENUMERATED {
- psf1, psf2, psf3, psf4, psf5, psf6,
- psf8, psf10, psf20, psf30, psf40,
- psf50, psf60, psf80, psf100,
- psf200},
- drx-InactivityTimer ENUMERATED {
- psf1, psf2, psf3, psf4, psf5, psf6,
- psf8, psf10, psf20, psf30, psf40,
- psf50, psf60, psf80, psf100,
- psf200, psf300, psf500, psf750,
- psf1280, psf1920, psf2560, spare10,
- spare9, spare8, spare7, spare6,
- spare5, spare4, spare3, spare2,
- spare1},
- drx-RetransmissionTimer ENUMERATED {
- psf1, psf2, psf4, psf6, psf8, psf16,
- psf24, psf33},
- longDRX-CycleStartOffset CHOICE {
- sf10 INTEGER(0..9),
- sf20 INTEGER(0..19),
- sf32 INTEGER(0..31),
- sf40 INTEGER(0..39),
- sf64 INTEGER(0..63),
- sf80 INTEGER(0..79),
- sf128 INTEGER(0..127),
- sf160 INTEGER(0..159),
- sf256 INTEGER(0..255),
- sf320 INTEGER(0..319),
- sf512 INTEGER(0..511),
- sf640 INTEGER(0..639),
- sf1024 INTEGER(0..1023),
- sf1280 INTEGER(0..1279),
- sf2048 INTEGER(0..2047),
- sf2560 INTEGER(0..2559)
- },
- shortDRX SEQUENCE {
- shortDRX-Cycle ENUMERATED {
- sf2, sf5, sf8, sf10, sf16, sf20,
- sf32, sf40, sf64, sf80, sf128, sf160,
- sf256, sf320, sf512, sf640},
- drxShortCycleTimer INTEGER (1..16)
- } OPTIONAL -- Need OR
- }
-}
-
-
-PDCP-Config ::= SEQUENCE {
- discardTimer ENUMERATED {
- ms50, ms100, ms150, ms300, ms500,
- ms750, ms1500, infinity
- } OPTIONAL, -- Cond Setup
- rlc-AM SEQUENCE {
- statusReportRequired BOOLEAN
- } OPTIONAL, -- Cond Rlc-AM
- rlc-UM SEQUENCE {
- pdcp-SN-Size ENUMERATED {len7bits, len12bits}
- } OPTIONAL, -- Cond Rlc-UM
- headerCompression CHOICE {
- notUsed NULL,
- rohc SEQUENCE {
- maxCID INTEGER (1..16383) DEFAULT 15,
- profiles SEQUENCE {
- profile0x0001 BOOLEAN,
- profile0x0002 BOOLEAN,
- profile0x0003 BOOLEAN,
- profile0x0004 BOOLEAN,
- profile0x0006 BOOLEAN,
- profile0x0101 BOOLEAN,
- profile0x0102 BOOLEAN,
- profile0x0103 BOOLEAN,
- profile0x0104 BOOLEAN
- },
- ...
- }
- },
- ...
-}
-
-
-PDSCH-ConfigCommon::= SEQUENCE {
- referenceSignalPower INTEGER (-60..50),
- p-b INTEGER (0..3)
-}
-
-PDSCH-ConfigDedicated::= SEQUENCE {
- p-a ENUMERATED {
- dB-6, dB-4dot77, dB-3, dB-1dot77,
- dB0, dB1, dB2, dB3 }
-}
-
-
-PHICH-Config ::= SEQUENCE {
- phich-Duration ENUMERATED {normal, extended},
- phich-Resource ENUMERATED {oneSixth, half, one, two}
-}
-
-
-PhysicalConfigDedicated ::= SEQUENCE {
- pdsch-ConfigDedicated PDSCH-ConfigDedicated OPTIONAL, -- Need ON
- pucch-ConfigDedicated PUCCH-ConfigDedicated OPTIONAL, -- Need ON
- pusch-ConfigDedicated PUSCH-ConfigDedicated OPTIONAL, -- Need ON
- uplinkPowerControlDedicated UplinkPowerControlDedicated OPTIONAL, -- Need ON
- tpc-PDCCH-ConfigPUCCH TPC-PDCCH-Config OPTIONAL, -- Need ON
- tpc-PDCCH-ConfigPUSCH TPC-PDCCH-Config OPTIONAL, -- Need ON
- cqi-ReportConfig CQI-ReportConfig OPTIONAL, -- Need ON
- soundingRS-UL-ConfigDedicated SoundingRS-UL-ConfigDedicated OPTIONAL, -- Need ON
- antennaInfo CHOICE {
- explicitValue AntennaInfoDedicated,
- defaultValue NULL
- } OPTIONAL, -- Need ON
- schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need ON
- ...
-}
-
-
-P-Max ::= INTEGER (-30..33)
-
-
-PRACH-ConfigSIB ::= SEQUENCE {
- rootSequenceIndex INTEGER (0..837),
- prach-ConfigInfo PRACH-ConfigInfo
-}
-
-PRACH-Config ::= SEQUENCE {
- rootSequenceIndex INTEGER (0..837),
- prach-ConfigInfo PRACH-ConfigInfo OPTIONAL -- Need ON
-}
-
-PRACH-ConfigInfo ::= SEQUENCE {
- prach-ConfigIndex INTEGER (0..63),
- highSpeedFlag BOOLEAN,
- zeroCorrelationZoneConfig INTEGER (0..15),
- prach-FreqOffset INTEGER (0..94)
-}
-
-
-PresenceAntennaPort1 ::= BOOLEAN
-
-
-PUCCH-ConfigCommon ::= SEQUENCE {
- deltaPUCCH-Shift ENUMERATED {ds1, ds2, ds3},
- nRB-CQI INTEGER (0..98),
- nCS-AN INTEGER (0..7),
- n1PUCCH-AN INTEGER (0..2047)
-}
-
-PUCCH-ConfigDedicated ::= SEQUENCE {
- ackNackRepetition CHOICE{
- release NULL,
- setup SEQUENCE {
- repetitionFactor ENUMERATED { n2, n4, n6, spare1},
- n1PUCCH-AN-Rep INTEGER (0..2047)
- }
- },
- tdd-AckNackFeedbackMode ENUMERATED {bundling, multiplexing} OPTIONAL -- Cond TDD
-}
-
-
-PUSCH-ConfigCommon ::= SEQUENCE {
- pusch-ConfigBasic SEQUENCE {
- n-SB INTEGER (1..4),
- hoppingMode ENUMERATED {interSubFrame, intraAndInterSubFrame},
- pusch-HoppingOffset INTEGER (0..98),
- enable64QAM BOOLEAN
- },
- ul-ReferenceSignalsPUSCH UL-ReferenceSignalsPUSCH
-}
-
-PUSCH-ConfigDedicated ::= SEQUENCE {
- betaOffset-ACK-Index INTEGER (0..15),
- betaOffset-RI-Index INTEGER (0..15),
- betaOffset-CQI-Index INTEGER (0..15)
-}
-
-UL-ReferenceSignalsPUSCH ::= SEQUENCE {
- groupHoppingEnabled BOOLEAN,
- groupAssignmentPUSCH INTEGER (0..29),
- sequenceHoppingEnabled BOOLEAN,
- cyclicShift INTEGER (0..7)
-}
-
-
-RACH-ConfigCommon ::= SEQUENCE {
- preambleInfo SEQUENCE {
- numberOfRA-Preambles ENUMERATED {
- n4, n8, n12, n16 ,n20, n24, n28,
- n32, n36, n40, n44, n48, n52, n56,
- n60, n64},
- preamblesGroupAConfig SEQUENCE {
- sizeOfRA-PreamblesGroupA ENUMERATED {
- n4, n8, n12, n16 ,n20, n24, n28,
- n32, n36, n40, n44, n48, n52, n56,
- n60},
- messageSizeGroupA ENUMERATED {b56, b144, b208, b256},
- messagePowerOffsetGroupB ENUMERATED {
- minusinfinity, dB0, dB5, dB8, dB10, dB12,
- dB15, dB18},
- ...
- } OPTIONAL -- Need OP
- },
- powerRampingParameters SEQUENCE {
- powerRampingStep ENUMERATED {dB0, dB2,dB4, dB6},
- preambleInitialReceivedTargetPower ENUMERATED {
- dBm-120, dBm-118, dBm-116, dBm-114, dBm-112,
- dBm-110, dBm-108, dBm-106, dBm-104, dBm-102,
- dBm-100, dBm-98, dBm-96, dBm-94,
- dBm-92, dBm-90}
- },
- ra-SupervisionInfo SEQUENCE {
- preambleTransMax ENUMERATED {
- n3, n4, n5, n6, n7, n8, n10, n20, n50,
- n100, n200},
- ra-ResponseWindowSize ENUMERATED {
- sf2, sf3, sf4, sf5, sf6, sf7,
- sf8, sf10},
- mac-ContentionResolutionTimer ENUMERATED {
- sf8, sf16, sf24, sf32, sf40, sf48,
- sf56, sf64}
- },
- maxHARQ-Msg3Tx INTEGER (1..8),
- ...
-}
-
-
-RACH-ConfigDedicated ::= SEQUENCE {
- ra-PreambleIndex INTEGER (0..63),
- ra-PRACH-MaskIndex INTEGER (0..15)
-}
-
-
-RadioResourceConfigCommonSIB ::= SEQUENCE {
- rach-ConfigCommon RACH-ConfigCommon,
- bcch-Config BCCH-Config,
- pcch-Config PCCH-Config,
- prach-Config PRACH-ConfigSIB,
- pdsch-ConfigCommon PDSCH-ConfigCommon,
- pusch-ConfigCommon PUSCH-ConfigCommon,
- pucch-ConfigCommon PUCCH-ConfigCommon,
- soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon,
- uplinkPowerControlCommon UplinkPowerControlCommon,
- ul-CyclicPrefixLength UL-CyclicPrefixLength,
- ...
-}
-
-RadioResourceConfigCommon ::= SEQUENCE {
- rach-ConfigCommon RACH-ConfigCommon OPTIONAL, -- Need ON
- prach-Config PRACH-Config,
- pdsch-ConfigCommon PDSCH-ConfigCommon OPTIONAL, -- Need ON
- pusch-ConfigCommon PUSCH-ConfigCommon,
- phich-Config PHICH-Config OPTIONAL, -- Need ON
- pucch-ConfigCommon PUCCH-ConfigCommon OPTIONAL, -- Need ON
- soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon OPTIONAL, -- Need ON
- uplinkPowerControlCommon UplinkPowerControlCommon OPTIONAL, -- Need ON
- antennaInfoCommon AntennaInfoCommon OPTIONAL, -- Need ON
- p-Max P-Max OPTIONAL, -- Need OP
- tdd-Config TDD-Config OPTIONAL, -- Cond TDD
- ul-CyclicPrefixLength UL-CyclicPrefixLength,
- ...
-}
-
-BCCH-Config ::= SEQUENCE {
- modificationPeriodCoeff ENUMERATED {n2, n4, n8, n16}
-}
-
-PCCH-Config ::= SEQUENCE {
- defaultPagingCycle ENUMERATED {
- rf32, rf64, rf128, rf256},
- nB ENUMERATED {
- fourT, twoT, oneT, halfT, quarterT, oneEighthT,
- oneSixteenthT, oneThirtySecondT}
-}
-
-UL-CyclicPrefixLength ::= ENUMERATED {len1, len2}
-
-
-RadioResourceConfigDedicated ::= SEQUENCE {
- srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Cond HO-Conn
- drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Cond HO-toEUTRA
- drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need ON
- mac-MainConfig CHOICE {
- explicitValue MAC-MainConfig,
- defaultValue NULL
- } OPTIONAL, -- Cond HO-toEUTRA2
- sps-Config SPS-Config OPTIONAL, -- Need ON
- physicalConfigDedicated PhysicalConfigDedicated OPTIONAL, -- Need ON
- ...
-}
-
-SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod
-
-SRB-ToAddMod ::= SEQUENCE {
- srb-Identity INTEGER (1..2),
- rlc-Config CHOICE {
- explicitValue RLC-Config,
- defaultValue NULL
- } OPTIONAL, -- Cond Setup
- logicalChannelConfig CHOICE {
- explicitValue LogicalChannelConfig,
- defaultValue NULL
- } OPTIONAL, -- Cond Setup
- ...
-}
-
-DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod
-
-DRB-ToAddMod ::= SEQUENCE {
- eps-BearerIdentity INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup
- drb-Identity DRB-Identity,
- pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
- rlc-Config RLC-Config OPTIONAL, -- Cond Setup
- logicalChannelIdentity INTEGER (3..10) OPTIONAL, -- Cond DRB-Setup
- logicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond Setup
- ...
-}
-
-DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity
-
-
-RLC-Config ::= CHOICE {
- am SEQUENCE {
- ul-AM-RLC UL-AM-RLC,
- dl-AM-RLC DL-AM-RLC
- },
- um-Bi-Directional SEQUENCE {
- ul-UM-RLC UL-UM-RLC,
- dl-UM-RLC DL-UM-RLC
- },
- um-Uni-Directional-UL SEQUENCE {
- ul-UM-RLC UL-UM-RLC
- },
- um-Uni-Directional-DL SEQUENCE {
- dl-UM-RLC DL-UM-RLC
- },
- ...
-}
-
-UL-AM-RLC ::= SEQUENCE {
- t-PollRetransmit T-PollRetransmit,
- pollPDU PollPDU,
- pollByte PollByte,
- maxRetxThreshold ENUMERATED {
- t1, t2, t3, t4, t6, t8, t16, t32}
-}
-
-DL-AM-RLC ::= SEQUENCE {
- t-Reordering T-Reordering,
- t-StatusProhibit T-StatusProhibit
-}
-
-UL-UM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLength
-}
-
-DL-UM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLength,
- t-Reordering T-Reordering
-}
-
-SN-FieldLength ::= ENUMERATED {size5, size10}
-
-T-PollRetransmit ::= ENUMERATED {
- ms5, ms10, ms15, ms20, ms25, ms30, ms35,
- ms40, ms45, ms50, ms55, ms60, ms65, ms70,
- ms75, ms80, ms85, ms90, ms95, ms100, ms105,
- ms110, ms115, ms120, ms125, ms130, ms135,
- ms140, ms145, ms150, ms155, ms160, ms165,
- ms170, ms175, ms180, ms185, ms190, ms195,
- ms200, ms205, ms210, ms215, ms220, ms225,
- ms230, ms235, ms240, ms245, ms250, ms300,
- ms350, ms400, ms450, ms500, spare9, spare8,
- spare7, spare6, spare5, spare4, spare3,
- spare2, spare1}
-
-PollPDU ::= ENUMERATED {
- p4, p8, p16, p32, p64, p128, p256, pInfinity}
-
-PollByte ::= ENUMERATED {
- kB25, kB50, kB75, kB100, kB125, kB250, kB375,
- kB500, kB750, kB1000, kB1250, kB1500, kB2000,
- kB3000, kBinfinity, spare1}
-
-T-Reordering ::= ENUMERATED {
- ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
- ms40, ms45, ms50, ms55, ms60, ms65, ms70,
- ms75, ms80, ms85, ms90, ms95, ms100, ms110,
- ms120, ms130, ms140, ms150, ms160, ms170,
- ms180, ms190, ms200, spare1}
-
-T-StatusProhibit ::= ENUMERATED {
- ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
- ms40, ms45, ms50, ms55, ms60, ms65, ms70,
- ms75, ms80, ms85, ms90, ms95, ms100, ms105,
- ms110, ms115, ms120, ms125, ms130, ms135,
- ms140, ms145, ms150, ms155, ms160, ms165,
- ms170, ms175, ms180, ms185, ms190, ms195,
- ms200, ms205, ms210, ms215, ms220, ms225,
- ms230, ms235, ms240, ms245, ms250, ms300,
- ms350, ms400, ms450, ms500, spare8, spare7,
- spare6, spare5, spare4, spare3, spare2,
- spare1}
-
-
-SchedulingRequestConfig ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- sr-PUCCH-ResourceIndex INTEGER (0..2047),
- sr-ConfigIndex INTEGER (0..155),
- dsr-TransMax ENUMERATED {
- n4, n8, n16, n32, n64, spare3, spare2, spare1}
- }
-}
-
-
-SoundingRS-UL-ConfigCommon ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- srs-BandwidthConfig ENUMERATED {bw0, bw1, bw2, bw3, bw4, bw5, bw6, bw7},
- srs-SubframeConfig ENUMERATED {
- sc0, sc1, sc2, sc3, sc4, sc5, sc6, sc7,
- sc8, sc9, sc10, sc11, sc12, sc13, sc14, sc15},
- ackNackSRS-SimultaneousTransmission BOOLEAN,
- srs-MaxUpPts ENUMERATED {true} OPTIONAL -- Cond TDD
- }
-}
-
-SoundingRS-UL-ConfigDedicated ::= CHOICE{
- release NULL,
- setup SEQUENCE {
- srs-Bandwidth ENUMERATED {bw0, bw1, bw2, bw3},
- srs-HoppingBandwidth ENUMERATED {hbw0, hbw1, hbw2, hbw3},
- freqDomainPosition INTEGER (0..23),
- duration BOOLEAN,
- srs-ConfigIndex INTEGER (0..1023),
- transmissionComb INTEGER (0..1),
- cyclicShift ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7}
- }
-}
-
-
-
-SPS-Config ::= SEQUENCE {
- semiPersistSchedC-RNTI C-RNTI OPTIONAL, -- Need OR
- sps-ConfigDL SPS-ConfigDL OPTIONAL, -- Need ON
- sps-ConfigUL SPS-ConfigUL OPTIONAL -- Need ON
-}
-
-SPS-ConfigDL ::= CHOICE{
- release NULL,
- setup SEQUENCE {
- semiPersistSchedIntervalDL ENUMERATED {
- sf10, sf20, sf32, sf40, sf64, sf80,
- sf128, sf160, sf320, sf640, spare6,
- spare5, spare4, spare3, spare2,
- spare1},
- numberOfConfSPS-Processes INTEGER (1..8),
- n1-PUCCH-AN-PersistentList N1-PUCCH-AN-PersistentList,
- ...
- }
-}
-
-SPS-ConfigUL ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- semiPersistSchedIntervalUL ENUMERATED {
- sf10, sf20, sf32, sf40, sf64, sf80,
- sf128, sf160, sf320, sf640, spare6,
- spare5, spare4, spare3, spare2,
- spare1},
- implicitReleaseAfter ENUMERATED {e2, e3, e4, e8},
- p0-Persistent SEQUENCE {
- p0-NominalPUSCH-Persistent INTEGER (-126..24),
- p0-UE-PUSCH-Persistent INTEGER (-8..7)
- } OPTIONAL, -- Need OP
- twoIntervalsConfig ENUMERATED {true} OPTIONAL, -- Cond TDD
- ...
- }
-}
-
-N1-PUCCH-AN-PersistentList ::= SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047)
-
-
-TDD-Config ::= SEQUENCE {
- subframeAssignment ENUMERATED {
- sa0, sa1, sa2, sa3, sa4, sa5, sa6},
- specialSubframePatterns ENUMERATED {
- ssp0, ssp1, ssp2, ssp3, ssp4,ssp5, ssp6, ssp7,
- ssp8}
-}
-
-
-TimeAlignmentTimer ::= ENUMERATED {
- sf500, sf750, sf1280, sf1920, sf2560, sf5120,
- sf10240, infinity}
-
-TPC-PDCCH-Config::= CHOICE {
- release NULL,
- setup SEQUENCE {
- tpc-RNTI BIT STRING (SIZE (16)),
- tpc-Index TPC-Index
- }
-}
-
-TPC-Index ::= CHOICE {
- indexOfFormat3 INTEGER (1..15),
- indexOfFormat3A INTEGER (1..31)
-}
-
-
-UplinkPowerControlCommon ::= SEQUENCE {
- p0-NominalPUSCH INTEGER (-126..24),
- alpha ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1},
- p0-NominalPUCCH INTEGER (-127..-96),
- deltaFList-PUCCH DeltaFList-PUCCH,
- deltaPreambleMsg3 INTEGER (-1..6)
-}
-
-UplinkPowerControlDedicated ::= SEQUENCE {
- p0-UE-PUSCH INTEGER (-8..7),
- deltaMCS-Enabled ENUMERATED {en0, en1},
- accumulationEnabled BOOLEAN,
- p0-UE-PUCCH INTEGER (-8..7),
- pSRS-Offset INTEGER (0..15),
- filterCoefficient FilterCoefficient DEFAULT fc4
-}
-
-DeltaFList-PUCCH ::= SEQUENCE {
- deltaF-PUCCH-Format1 ENUMERATED {deltaF-2, deltaF0, deltaF2},
- deltaF-PUCCH-Format1b ENUMERATED {deltaF1, deltaF3, deltaF5},
- deltaF-PUCCH-Format2 ENUMERATED {deltaF-2, deltaF0, deltaF1, deltaF2},
- deltaF-PUCCH-Format2a ENUMERATED {deltaF-2, deltaF0, deltaF2},
- deltaF-PUCCH-Format2b ENUMERATED {deltaF-2, deltaF0, deltaF2}
-}
-
-
-NextHopChainingCount ::= INTEGER (0..7)
-
-
-SecurityAlgorithmConfig ::= SEQUENCE {
- cipheringAlgorithm ENUMERATED {
- eea0, eea1, eea2, spare5, spare4, spare3,
- spare2, spare1, ...},
- integrityProtAlgorithm ENUMERATED {
- reserved, eia1, eia2, spare5, spare4, spare3,
- spare2, spare1, ...}
-}
-
-
-ShortMAC-I ::= BIT STRING (SIZE (16))
-
-
-AdditionalSpectrumEmission ::= INTEGER (1..32)
-
-
-ARFCN-ValueCDMA2000 ::= INTEGER (0..2047)
-
-
-ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN)
-
-
-ARFCN-ValueGERAN ::= INTEGER (0..1023)
-
-
-ARFCN-ValueUTRA ::= INTEGER (0..16383)
-
-
-BandclassCDMA2000 ::= ENUMERATED {
- bc0, bc1, bc2, bc3, bc4, bc5, bc6, bc7, bc8,
- bc9, bc10, bc11, bc12, bc13, bc14, bc15, bc16,
- bc17, spare14, spare13, spare12, spare11, spare10,
- spare9, spare8, spare7, spare6, spare5, spare4,
- spare3, spare2, spare1, ...}
-
-
-BandIndicatorGERAN ::= ENUMERATED {dcs1800, pcs1900}
-
-
-CarrierFreqCDMA2000 ::= SEQUENCE {
- bandClass BandclassCDMA2000,
- arfcn ARFCN-ValueCDMA2000
-}
-
-
-CarrierFreqGERAN ::= SEQUENCE {
- arfcn ARFCN-ValueGERAN,
- bandIndicator BandIndicatorGERAN
-}
-
-
-CarrierFreqsGERAN ::= SEQUENCE {
- startingARFCN ARFCN-ValueGERAN,
- bandIndicator BandIndicatorGERAN,
- followingARFCNs CHOICE {
- explicitListOfARFCNs ExplicitListOfARFCNs,
- equallySpacedARFCNs SEQUENCE {
- arfcn-Spacing INTEGER (1..8),
- numberOfFollowingARFCNs INTEGER (0..31)
- },
- variableBitMapOfARFCNs OCTET STRING (SIZE (1..16))
- }
-}
-
-ExplicitListOfARFCNs ::= SEQUENCE (SIZE (0..31)) OF ARFCN-ValueGERAN
-
-
-CDMA2000-Type ::= ENUMERATED {type1XRTT, typeHRPD}
-
-
-CellIdentity ::= BIT STRING (SIZE (28))
-
-
-CellIndexList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellIndex
-
-CellIndex ::= INTEGER (1..maxCellMeas)
-
-
-CellReselectionPriority ::= INTEGER (0..7)
-
-
-CSFB-RegistrationParam1XRTT ::= SEQUENCE {
- sid BIT STRING (SIZE (15)),
- nid BIT STRING (SIZE (16)),
- multipleSID BOOLEAN,
- multipleNID BOOLEAN,
- homeReg BOOLEAN,
- foreignSIDReg BOOLEAN,
- foreignNIDReg BOOLEAN,
- parameterReg BOOLEAN,
- powerUpReg BOOLEAN,
- registrationPeriod BIT STRING (SIZE (7)),
- registrationZone BIT STRING (SIZE (12)),
- totalZone BIT STRING (SIZE (3)),
- zoneTimer BIT STRING (SIZE (3))
-}
-
-
-CellGlobalIdEUTRA ::= SEQUENCE {
- plmn-Identity PLMN-Identity,
- cellIdentity CellIdentity
-}
-
-
-CellGlobalIdUTRA ::= SEQUENCE {
- plmn-Identity PLMN-Identity,
- cellIdentity BIT STRING (SIZE (28))
-}
-
-
-CellGlobalIdGERAN ::= SEQUENCE {
- plmn-Identity PLMN-Identity,
- locationAreaCode BIT STRING (SIZE (16)),
- cellIdentity BIT STRING (SIZE (16))
-}
-
-
-CellGlobalIdCDMA2000 ::= CHOICE {
- cellGlobalId1XRTT BIT STRING (SIZE (47)),
- cellGlobalIdHRPD BIT STRING (SIZE (128))
-}
-
-
-MobilityControlInfo ::= SEQUENCE {
- targetPhysCellId PhysCellId,
- carrierFreq CarrierFreqEUTRA OPTIONAL, -- Cond HO-toEUTRA
- carrierBandwidth CarrierBandwidthEUTRA OPTIONAL, -- Cond HO-toEUTRA
- additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Cond HO-toEUTRA
- t304 ENUMERATED {
- ms50, ms100, ms150, ms200, ms500, ms1000,
- ms2000, spare1},
- newUE-Identity C-RNTI,
- radioResourceConfigCommon RadioResourceConfigCommon,
- rach-ConfigDedicated RACH-ConfigDedicated OPTIONAL, -- Need OP
- ...
-}
-
-CarrierBandwidthEUTRA ::= SEQUENCE {
- dl-Bandwidth ENUMERATED {
- n6, n15, n25, n50, n75, n100, spare10,
- spare9, spare8, spare7, spare6, spare5,
- spare4, spare3, spare2, spare1},
- ul-Bandwidth ENUMERATED {
- n6, n15, n25, n50, n75, n100, spare10,
- spare9, spare8, spare7, spare6, spare5,
- spare4, spare3, spare2, spare1} OPTIONAL -- Need OP
-}
-
-CarrierFreqEUTRA ::= SEQUENCE {
- dl-CarrierFreq ARFCN-ValueEUTRA,
- ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL -- Cond FDD
-}
-
-
-MobilityParametersCDMA2000 ::= OCTET STRING
-
-
-MobilityStateParameters ::= SEQUENCE {
- t-Evaluation ENUMERATED {
- s30, s60, s120, s180, s240, spare3, spare2, spare1},
- t-HystNormal ENUMERATED {
- s30, s60, s120, s180, s240, spare3, spare2, spare1},
- n-CellChangeMedium INTEGER (1..16),
- n-CellChangeHigh INTEGER (1..16)
-}
-
-
-PhysCellId ::= INTEGER (0..503)
-
-
-PhysCellIdRange ::= SEQUENCE {
- start PhysCellId,
- range ENUMERATED {
- n4, n8, n12, n16, n24, n32, n48, n64, n84,
- n96, n128, n168, n252, n504, spare2,
- spare1} OPTIONAL -- Need OP
-}
-
-
-PhysCellIdCDMA2000 ::= INTEGER (0..maxPNOffset)
-
-
-PhysCellIdGERAN ::= SEQUENCE {
- networkColourCode BIT STRING (SIZE (3)),
- baseStationColourCode BIT STRING (SIZE (3))
-}
-
-
-PhysCellIdUTRA-FDD ::= INTEGER (0..511)
-
-
-PhysCellIdUTRA-TDD ::= INTEGER (0..127)
-
-
-PLMN-Identity ::= SEQUENCE {
- mcc MCC OPTIONAL, -- Cond MCC
- mnc MNC
-}
-
-MCC ::= SEQUENCE (SIZE (3)) OF
- MCC-MNC-Digit
-
-MNC ::= SEQUENCE (SIZE (2..3)) OF
- MCC-MNC-Digit
-
-MCC-MNC-Digit ::= INTEGER (0..9)
-
-
-
-PreRegistrationInfoHRPD ::= SEQUENCE {
- preRegistrationAllowed BOOLEAN,
- preRegistrationZoneId PreRegistrationZoneIdHRPD OPTIONAL, -- cond PreRegAllowed
- secondaryPreRegistrationZoneIdList SecondaryPreRegistrationZoneIdListHRPD OPTIONAL -- Need OR
-}
-
-SecondaryPreRegistrationZoneIdListHRPD ::= SEQUENCE (SIZE (1..2)) OF PreRegistrationZoneIdHRPD
-
-PreRegistrationZoneIdHRPD ::= INTEGER (0..255)
-
-
-Q-RxLevMin ::= INTEGER (-70..-22)
-
-
-Q-OffsetRange ::= ENUMERATED {
- dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,
- dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3,
- dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5,
- dB6, dB8, dB10, dB12, dB14, dB16, dB18,
- dB20, dB22, dB24}
-
-
-Q-OffsetRangeInterRAT ::= INTEGER (-15..15)
-
-
-ReselectionThreshold ::= INTEGER (0..31)
-
-
-SpeedStateScaleFactors ::= SEQUENCE {
- sf-Medium ENUMERATED {oDot25, oDot5, oDot75, lDot0},
- sf-High ENUMERATED {oDot25, oDot5, oDot75, lDot0}
-}
-
-SystemTimeInfoCDMA2000 ::= SEQUENCE {
- cdma-EUTRA-Synchronisation BOOLEAN,
- cdma-SystemTime CHOICE {
- synchronousSystemTime BIT STRING (SIZE (39)),
- asynchronousSystemTime BIT STRING (SIZE (49))
- }
-}
-
-
-TrackingAreaCode ::= BIT STRING (SIZE (16))
-
-
-T-Reselection ::= INTEGER (0..7)
-
-
-AllowedMeasBandwidth ::= ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100}
-
-
-Hysteresis ::= INTEGER (0..30)
-
-
-MeasConfig ::= SEQUENCE {
- -- Measurement objects
- measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need ON
- measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need ON
- -- Reporting configurations
- reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need ON
- reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need ON
- -- Measurement identities
- measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need ON
- measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need ON
- -- Other parameters
- quantityConfig QuantityConfig OPTIONAL, -- Need ON
- measGapConfig MeasGapConfig OPTIONAL, -- Need ON
- s-Measure RSRP-Range OPTIONAL, -- Need ON
- preRegistrationInfoHRPD PreRegistrationInfoHRPD OPTIONAL, -- Need OP
- speedStatePars CHOICE {
- release NULL,
- setup SEQUENCE {
- mobilityStateParameters MobilityStateParameters,
- timeToTrigger-SF SpeedStateScaleFactors
- }
- } OPTIONAL, -- Need ON
- ...
-}
-
-MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId
-
-MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectId
-
-ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId
-
-
-MeasGapConfig ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- gapOffset CHOICE {
- gp0 INTEGER (0..39),
- gp1 INTEGER (0..79),
- ...
- }
- }
-}
-
-
-MeasId ::= INTEGER (1..maxMeasId)
-
-
-MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddMod
-
-MeasIdToAddMod ::= SEQUENCE {
- measId MeasId,
- measObjectId MeasObjectId,
- reportConfigId ReportConfigId
-}
-
-
-MeasObjectCDMA2000 ::= SEQUENCE {
- cdma2000-Type CDMA2000-Type,
- carrierFreq CarrierFreqCDMA2000,
- searchWindowSize INTEGER (0..15) OPTIONAL, -- Need ON
- offsetFreq Q-OffsetRangeInterRAT DEFAULT 0,
- cellsToRemoveList CellIndexList OPTIONAL, -- Need ON
- cellsToAddModList CellsToAddModListCDMA2000 OPTIONAL, -- Need ON
- cellForWhichToReportCGI PhysCellIdCDMA2000 OPTIONAL, -- Need ON
- ...
-}
-
-CellsToAddModListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModCDMA2000
-
-CellsToAddModCDMA2000 ::= SEQUENCE {
- cellIndex INTEGER (1..maxCellMeas),
- physCellId PhysCellIdCDMA2000
-}
-
-
-MeasObjectEUTRA ::= SEQUENCE {
- carrierFreq ARFCN-ValueEUTRA,
- allowedMeasBandwidth AllowedMeasBandwidth,
- presenceAntennaPort1 PresenceAntennaPort1,
- neighCellConfig NeighCellConfig,
- offsetFreq Q-OffsetRange DEFAULT dB0,
- -- Neighbour cell list
- cellsToRemoveList CellIndexList OPTIONAL, -- Need ON
- cellsToAddModList CellsToAddModList OPTIONAL, -- Need ON
- -- Black list
- blackCellsToRemoveList CellIndexList OPTIONAL, -- Need ON
- blackCellsToAddModList BlackCellsToAddModList OPTIONAL, -- Need ON
- cellForWhichToReportCGI PhysCellId OPTIONAL, -- Need ON
- ...
-}
-
-CellsToAddModList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddMod
-
-CellsToAddMod ::= SEQUENCE {
- cellIndex INTEGER (1..maxCellMeas),
- physCellId PhysCellId,
- cellIndividualOffset Q-OffsetRange
-}
-
-BlackCellsToAddModList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF BlackCellsToAddMod
-
-BlackCellsToAddMod ::= SEQUENCE {
- cellIndex INTEGER (1..maxCellMeas),
- physCellIdRange PhysCellIdRange
-}
-
-
-MeasObjectGERAN ::= SEQUENCE {
- carrierFreqs CarrierFreqsGERAN,
- offsetFreq Q-OffsetRangeInterRAT DEFAULT 0,
- ncc-Permitted BIT STRING(SIZE (8)) DEFAULT '11111111'B,
- cellForWhichToReportCGI PhysCellIdGERAN OPTIONAL, -- Need ON
- ...
-}
-
-
-MeasObjectId ::= INTEGER (1..maxObjectId)
-
-
-MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectToAddMod
-
-MeasObjectToAddMod ::= SEQUENCE {
- measObjectId MeasObjectId,
- measObject CHOICE {
- measObjectEUTRA MeasObjectEUTRA,
- measObjectUTRA MeasObjectUTRA,
- measObjectGERAN MeasObjectGERAN,
- measObjectCDMA2000 MeasObjectCDMA2000,
- ...
- }
-}
-
-
-MeasObjectUTRA ::= SEQUENCE {
- carrierFreq ARFCN-ValueUTRA,
- offsetFreq Q-OffsetRangeInterRAT DEFAULT 0,
- cellsToRemoveList CellIndexList OPTIONAL, -- Need ON
- cellsToAddModList CHOICE {
- cellsToAddModListUTRA-FDD CellsToAddModListUTRA-FDD,
- cellsToAddModListUTRA-TDD CellsToAddModListUTRA-TDD
- } OPTIONAL, -- Need ON
- cellForWhichToReportCGI CHOICE {
- utra-FDD PhysCellIdUTRA-FDD,
- utra-TDD PhysCellIdUTRA-TDD
- } OPTIONAL, -- Need ON
- ...
-}
-
-CellsToAddModListUTRA-FDD ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModUTRA-FDD
-
-CellsToAddModUTRA-FDD ::= SEQUENCE {
- cellIndex INTEGER (1..maxCellMeas),
- physCellId PhysCellIdUTRA-FDD
-}
-
-CellsToAddModListUTRA-TDD ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModUTRA-TDD
-
-CellsToAddModUTRA-TDD ::= SEQUENCE {
- cellIndex INTEGER (1..maxCellMeas),
- physCellId PhysCellIdUTRA-TDD
-}
-
-
-MeasResults ::= SEQUENCE {
- measId MeasId,
- measResultServCell SEQUENCE {
- rsrpResult RSRP-Range,
- rsrqResult RSRQ-Range
- },
- measResultNeighCells CHOICE {
- measResultListEUTRA MeasResultListEUTRA,
- measResultListUTRA MeasResultListUTRA,
- measResultListGERAN MeasResultListGERAN,
- measResultsCDMA2000 MeasResultsCDMA2000,
- ...
- } OPTIONAL,
- ...
-}
-
-MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA
-
-MeasResultEUTRA ::= SEQUENCE {
- physCellId PhysCellId,
- cgi-Info SEQUENCE {
- cellGlobalId CellGlobalIdEUTRA,
- trackingAreaCode TrackingAreaCode,
- plmn-IdentityList PLMN-IdentityList2 OPTIONAL
- } OPTIONAL,
- measResult SEQUENCE {
- rsrpResult RSRP-Range OPTIONAL,
- rsrqResult RSRQ-Range OPTIONAL,
- ...
- }
-}
-
-MeasResultListUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultUTRA
-
-MeasResultUTRA ::= SEQUENCE {
- physCellId CHOICE {
- fdd PhysCellIdUTRA-FDD,
- tdd PhysCellIdUTRA-TDD
- },
- cgi-Info SEQUENCE {
- cellGlobalId CellGlobalIdUTRA,
- locationAreaCode BIT STRING (SIZE (16)) OPTIONAL,
- routingAreaCode BIT STRING (SIZE (8)) OPTIONAL,
- plmn-IdentityList PLMN-IdentityList2 OPTIONAL
- } OPTIONAL,
- measResult SEQUENCE {
- utra-RSCP INTEGER (-5..91) OPTIONAL,
- utra-EcN0 INTEGER (0..49) OPTIONAL,
- ...
- }
-}
-
-MeasResultListGERAN ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultGERAN
-
-MeasResultGERAN ::= SEQUENCE {
- carrierFreq CarrierFreqGERAN,
- physCellId PhysCellIdGERAN,
- cgi-Info SEQUENCE {
- cellGlobalId CellGlobalIdGERAN,
- routingAreaCode BIT STRING (SIZE (8)) OPTIONAL
- } OPTIONAL,
- measResult SEQUENCE {
- rssi INTEGER (0..63),
- ...
- }
-}
-
-MeasResultsCDMA2000 ::= SEQUENCE {
- preRegistrationStatusHRPD BOOLEAN,
- measResultListCDMA2000 MeasResultListCDMA2000
-}
-
-MeasResultListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCDMA2000
-
-MeasResultCDMA2000 ::= SEQUENCE {
- physCellId PhysCellIdCDMA2000,
- cgi-Info CellGlobalIdCDMA2000 OPTIONAL,
- measResult SEQUENCE {
- pilotPnPhase INTEGER (0..32767) OPTIONAL,
- pilotStrength INTEGER (0..63),
- ...
- }
-}
-
-PLMN-IdentityList2 ::= SEQUENCE (SIZE (1..5)) OF PLMN-Identity
-
-
-QuantityConfig ::= SEQUENCE {
- quantityConfigEUTRA QuantityConfigEUTRA OPTIONAL, -- Need ON
- quantityConfigUTRA QuantityConfigUTRA OPTIONAL, -- Need ON
- quantityConfigGERAN QuantityConfigGERAN OPTIONAL, -- Need ON
- quantityConfigCDMA2000 QuantityConfigCDMA2000 OPTIONAL, -- Need ON
- ...
-}
-
-QuantityConfigEUTRA ::= SEQUENCE {
- filterCoefficientRSRP FilterCoefficient DEFAULT fc4,
- filterCoefficientRSRQ FilterCoefficient DEFAULT fc4
-}
-
-QuantityConfigUTRA ::= SEQUENCE {
- measQuantityUTRA-FDD ENUMERATED {cpich-RSCP, cpich-EcN0},
- measQuantityUTRA-TDD ENUMERATED {pccpch-RSCP},
- filterCoefficient FilterCoefficient DEFAULT fc4
-}
-
-QuantityConfigGERAN ::= SEQUENCE {
- measQuantityGERAN ENUMERATED {rssi},
- filterCoefficient FilterCoefficient DEFAULT fc2
-}
-
-QuantityConfigCDMA2000 ::= SEQUENCE {
- measQuantityCDMA2000 ENUMERATED {pilotStrength, pilotPnPhaseAndPilotStrength}
-}
-
-
-ReportConfigEUTRA ::= SEQUENCE {
- triggerType CHOICE {
- event SEQUENCE {
- eventId CHOICE {
- eventA1 SEQUENCE {
- a1-Threshold ThresholdEUTRA
- },
- eventA2 SEQUENCE {
- a2-Threshold ThresholdEUTRA
- },
- eventA3 SEQUENCE {
- a3-Offset INTEGER (-30..30),
- reportOnLeave BOOLEAN
- },
- eventA4 SEQUENCE {
- a4-Threshold ThresholdEUTRA
- },
- eventA5 SEQUENCE {
- a5-Threshold1 ThresholdEUTRA,
- a5-Threshold2 ThresholdEUTRA
- },
- ...
- },
- hysteresis Hysteresis,
- timeToTrigger TimeToTrigger
- },
- periodical SEQUENCE {
- purpose ENUMERATED {
- reportStrongestCells, reportCGI}
- }
- },
- triggerQuantity ENUMERATED {rsrp, rsrq},
- reportQuantity ENUMERATED {sameAsTriggerQuantity, both},
- maxReportCells INTEGER (1..maxCellReport),
- reportInterval ReportInterval,
- reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
- ...
-}
-
-ThresholdEUTRA ::= CHOICE{
- threshold-RSRP RSRP-Range,
- threshold-RSRQ RSRQ-Range
-}
-
-
-ReportConfigId ::= INTEGER (1..maxReportConfigId)
-
-
-ReportConfigInterRAT ::= SEQUENCE {
- triggerType CHOICE {
- event SEQUENCE {
- eventId CHOICE {
- eventB1 SEQUENCE {
- b1-Threshold CHOICE {
- b1-ThresholdUTRA ThresholdUTRA,
- b1-ThresholdGERAN ThresholdGERAN,
- b1-ThresholdCDMA2000 ThresholdCDMA2000
- }
- },
- eventB2 SEQUENCE {
- b2-Threshold1 ThresholdEUTRA,
- b2-Threshold2 CHOICE {
- b2-Threshold2UTRA ThresholdUTRA,
- b2-Threshold2GERAN ThresholdGERAN,
- b2-Threshold2CDMA2000 ThresholdCDMA2000
- }
- },
- ...
- },
- hysteresis Hysteresis,
- timeToTrigger TimeToTrigger
- },
- periodical SEQUENCE {
- purpose ENUMERATED {
- reportStrongestCells,
- reportStrongestCellsForSON,
- reportCGI}
- }
- },
- maxReportCells INTEGER (1..maxCellReport),
- reportInterval ReportInterval,
- reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
- ...
-}
-
-ThresholdUTRA ::= CHOICE{
- utra-RSCP INTEGER (-5..91),
- utra-EcN0 INTEGER (0..49)
-}
-
-ThresholdGERAN ::= INTEGER (0..63)
-
-ThresholdCDMA2000 ::= INTEGER (0..63)
-
-
-ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod
-
-ReportConfigToAddMod ::= SEQUENCE {
- reportConfigId ReportConfigId,
- reportConfig CHOICE {
- reportConfigEUTRA ReportConfigEUTRA,
- reportConfigInterRAT ReportConfigInterRAT
- }
-}
-
-
-
-ReportInterval ::= ENUMERATED {
- ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240,
- min1, min6, min12, min30, min60, spare3, spare2, spare1}
-
-
-RSRP-Range ::= INTEGER(0..97)
-
-
-RSRQ-Range ::= INTEGER(0..34)
-
-
-TimeToTrigger ::= ENUMERATED {
- ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256,
- ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560,
- ms5120}
-
-
-C-RNTI ::= BIT STRING (SIZE (16))
-
-
-DedicatedInfoCDMA2000 ::= OCTET STRING
-
-
-DedicatedInfoNAS ::= OCTET STRING
-
-
-FilterCoefficient ::= ENUMERATED {
- fc0, fc1, fc2, fc3, fc4, fc5,
- fc6, fc7, fc8, fc9, fc11, fc13,
- fc15, fc17, fc19, spare1, ...}
-
-
-MMEC ::= BIT STRING (SIZE (8))
-
-
-NeighCellConfig ::= BIT STRING (SIZE (2))
-
-
-RAND-CDMA2000 ::= BIT STRING (SIZE (32))
-
-
-RAT-Type ::= ENUMERATED {
- eutra, utra, geran-cs, geran-ps, cdma2000-1XRTT,
- spare3, spare2, spare1, ...}
-
-
-RRC-TransactionIdentifier ::= INTEGER (0..3)
-
-
-S-TMSI ::= SEQUENCE {
- mmec MMEC,
- m-TMSI BIT STRING (SIZE (32))
-}
-
-
-UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0..maxRAT-Capabilities)) OF UE-CapabilityRAT-Container
-
-UE-CapabilityRAT-Container ::= SEQUENCE {
- rat-Type RAT-Type,
- ueCapabilityRAT-Container OCTET STRING
-}
-
-
-UE-EUTRA-Capability ::= SEQUENCE {
- accessStratumRelease AccessStratumRelease,
- ue-Category INTEGER (1..5),
- pdcp-Parameters PDCP-Parameters,
- phyLayerParameters PhyLayerParameters,
- rf-Parameters RF-Parameters,
- measParameters MeasParameters,
- featureGroupIndicators BIT STRING (SIZE (32)) OPTIONAL,
- interRAT-Parameters SEQUENCE {
- utraFDD IRAT-ParametersUTRA-FDD OPTIONAL,
- utraTDD128 IRAT-ParametersUTRA-TDD128 OPTIONAL,
- utraTDD384 IRAT-ParametersUTRA-TDD384 OPTIONAL,
- utraTDD768 IRAT-ParametersUTRA-TDD768 OPTIONAL,
- geran IRAT-ParametersGERAN OPTIONAL,
- cdma2000-HRPD IRAT-ParametersCDMA2000-HRPD OPTIONAL,
- cdma2000-1xRTT IRAT-ParametersCDMA2000-1XRTT OPTIONAL
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-AccessStratumRelease ::= ENUMERATED {
- rel8, spare7, spare6, spare5, spare4, spare3,
- spare2, spare1, ...}
-
-PDCP-Parameters ::= SEQUENCE {
- supportedROHC-Profiles SEQUENCE {
- profile0x0001 BOOLEAN,
- profile0x0002 BOOLEAN,
- profile0x0003 BOOLEAN,
- profile0x0004 BOOLEAN,
- profile0x0006 BOOLEAN,
- profile0x0101 BOOLEAN,
- profile0x0102 BOOLEAN,
- profile0x0103 BOOLEAN,
- profile0x0104 BOOLEAN
- },
- maxNumberROHC-ContextSessions ENUMERATED {
- cs2, cs4, cs8, cs12, cs16, cs24, cs32,
- cs48, cs64, cs128, cs256, cs512, cs1024,
- cs16384, spare2, spare1} DEFAULT cs16,
- ...
-}
-
-PhyLayerParameters ::= SEQUENCE {
- ue-TxAntennaSelectionSupported BOOLEAN,
- ue-SpecificRefSigsSupported BOOLEAN
-}
-
-RF-Parameters ::= SEQUENCE {
- supportedBandListEUTRA SupportedBandListEUTRA
-}
-
-SupportedBandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA
-
-SupportedBandEUTRA ::= SEQUENCE {
- bandEUTRA INTEGER (1..64),
- halfDuplex BOOLEAN
-}
-
-MeasParameters ::= SEQUENCE {
- bandListEUTRA BandListEUTRA
-}
-
-BandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF BandInfoEUTRA
-
-BandInfoEUTRA ::= SEQUENCE {
- interFreqBandList InterFreqBandList,
- interRAT-BandList InterRAT-BandList OPTIONAL
-}
-
-InterFreqBandList ::= SEQUENCE (SIZE (1..maxBands)) OF InterFreqBandInfo
-
-InterFreqBandInfo ::= SEQUENCE {
- interFreqNeedForGaps BOOLEAN
-}
-
-InterRAT-BandList ::= SEQUENCE (SIZE (1..maxBands)) OF InterRAT-BandInfo
-
-InterRAT-BandInfo ::= SEQUENCE {
- interRAT-NeedForGaps BOOLEAN
-}
-
-IRAT-ParametersUTRA-FDD ::= SEQUENCE {
- supportedBandListUTRA-FDD SupportedBandListUTRA-FDD
-}
-
-SupportedBandListUTRA-FDD ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-FDD
-
-SupportedBandUTRA-FDD ::= ENUMERATED {
- bandI, bandII, bandIII, bandIV, bandV, bandVI,
- bandVII, bandVIII, bandIX, bandX, bandXI,
- bandXII, bandXIII, bandXIV, bandXV, bandXVI, ...}
-
-IRAT-ParametersUTRA-TDD128 ::= SEQUENCE {
- supportedBandListUTRA-TDD128 SupportedBandListUTRA-TDD128
-}
-
-SupportedBandListUTRA-TDD128 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD128
-
-SupportedBandUTRA-TDD128 ::= ENUMERATED {
- a, b, c, d, e, f, g, h, i, j, k, l, m, n,
- o, p, ...}
-
-IRAT-ParametersUTRA-TDD384 ::= SEQUENCE {
- supportedBandListUTRA-TDD384 SupportedBandListUTRA-TDD384
-}
-
-SupportedBandListUTRA-TDD384 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD384
-
-SupportedBandUTRA-TDD384 ::= ENUMERATED {
- a, b, c, d, e, f, g, h, i, j, k, l, m, n,
- o, p, ...}
-
-IRAT-ParametersUTRA-TDD768 ::= SEQUENCE {
- supportedBandListUTRA-TDD768 SupportedBandListUTRA-TDD768
-}
-
-SupportedBandListUTRA-TDD768 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD768
-
-SupportedBandUTRA-TDD768 ::= ENUMERATED {
- a, b, c, d, e, f, g, h, i, j, k, l, m, n,
- o, p, ...}
-
-IRAT-ParametersGERAN ::= SEQUENCE {
- supportedBandListGERAN SupportedBandListGERAN,
- interRAT-PS-HO-ToGERAN BOOLEAN
-}
-
-SupportedBandListGERAN ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandGERAN
-
-SupportedBandGERAN ::= ENUMERATED {
- gsm450, gsm480, gsm710, gsm750, gsm810, gsm850,
- gsm900P, gsm900E, gsm900R, gsm1800, gsm1900,
- spare5, spare4, spare3, spare2, spare1, ...}
-
-IRAT-ParametersCDMA2000-HRPD ::= SEQUENCE {
- supportedBandListHRPD SupportedBandListHRPD,
- tx-ConfigHRPD ENUMERATED {single, dual},
- rx-ConfigHRPD ENUMERATED {single, dual}
-}
-
-SupportedBandListHRPD ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandclassCDMA2000
-
-IRAT-ParametersCDMA2000-1XRTT ::= SEQUENCE {
- supportedBandList1XRTT SupportedBandList1XRTT,
- tx-Config1XRTT ENUMERATED {single, dual},
- rx-Config1XRTT ENUMERATED {single, dual}
-}
-
-SupportedBandList1XRTT ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandclassCDMA2000
-
-
-UE-TimersAndConstants ::= SEQUENCE {
- t300 ENUMERATED {
- ms100, ms200, ms300, ms400, ms600, ms1000, ms1500,
- ms2000},
- t301 ENUMERATED {
- ms100, ms200, ms300, ms400, ms600, ms1000, ms1500,
- ms2000},
- t310 ENUMERATED {
- ms0, ms50, ms100, ms200, ms500, ms1000, ms2000},
- n310 ENUMERATED {
- n1, n2, n3, n4, n6, n8, n10, n20},
- t311 ENUMERATED {
- ms1000, ms3000, ms5000, ms10000, ms15000,
- ms20000, ms30000},
- n311 ENUMERATED {
- n1, n2, n3, n4, n5, n6, n8, n10},
- ...
-}
-
-
-maxBands INTEGER ::= 64 -- Maximum number of bands listed in EUTRA UE caps
-maxCDMA-BandClass INTEGER ::= 32 -- Maximum value of the CDMA band classes
-maxCellBlack INTEGER ::= 16 -- Maximum number of blacklisted cells
- -- listed in SIB type 4 and 5
-maxCellInter INTEGER ::= 16 -- Maximum number of neighbouring inter-frequency
- -- cells listed in SIB type 5
-maxCellIntra INTEGER ::= 16 -- Maximum number of neighbouring intra-frequency
- -- cells listed in SIB type 4
-maxCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the neighbour
- -- cell lists in a measurement object
-maxCellReport INTEGER ::= 8 -- Maximum number of reported cells
-maxDRB INTEGER ::= 11 -- Maximum number of Data Radio Bearers
-maxEARFCN INTEGER ::= 65535 -- Maximum value of EUTRA carrier fequency
-maxFreq INTEGER ::= 8 -- Maximum number of EUTRA carrier frequencies
-maxGERAN-SI INTEGER ::= 10 -- Maximum number of GERAN SI blocks that can be
- -- provided as part of NACC information
-maxGNFG INTEGER ::= 16 -- Maximum number of GERAN neighbour freq groups
-maxMBSFN-Allocations INTEGER ::= 8 -- Maximum number of MBSFN frame allocations with
- -- different offset
-maxMCS-1 INTEGER ::= 16 -- Maximum number of PUCCH formats (MCS)
-maxMeasId INTEGER ::= 32
-maxObjectId INTEGER ::= 32
-maxPageRec INTEGER ::= 16 --
-maxPNOffset INTEGER ::= 511 -- Maximum number of CDMA2000 PNOffsets
-maxRAT-Capabilities INTEGER ::= 8 -- Maximum number of interworking RATs (incl EUTRA)
-maxReportConfigId INTEGER ::= 32
-maxSIB INTEGER ::= 32 -- Maximum number of SIBs
-maxSIB-1 INTEGER ::= 31
-maxSI-Message INTEGER ::= 32 -- Maximum number of SI messages
-maxUTRA-FDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA FDD carrier frequencies
-maxUTRA-TDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA TDD carrier frequencies
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-UE-Variables.asn b/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-UE-Variables.asn
deleted file mode 100644
index 414140a6fb..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-UE-Variables.asn
+++ /dev/null
@@ -1,49 +0,0 @@
--- 3GPP TS 36.331 V8.8.0 (2009-12)
--- $Id$
---
-EUTRA-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-VarMeasConfig ::= SEQUENCE {
- -- Measurement identities
- measIdList MeasIdToAddModList OPTIONAL,
- -- Measurement objects
- measObjectList MeasObjectToAddModList OPTIONAL,
- -- Reporting configurations
- reportConfigList ReportConfigToAddModList OPTIONAL,
- -- Other parameters
- quantityConfig QuantityConfig OPTIONAL,
- s-Measure RSRP-Range OPTIONAL,
- speedStatePars CHOICE {
- release NULL,
- setup SEQUENCE {
- mobilityStateParameters MobilityStateParameters,
- timeToTrigger-SF SpeedStateScaleFactors
- }
- } OPTIONAL
-}
-
-
-VarMeasReportList ::= SEQUENCE (SIZE (1..maxMeasId)) OF VarMeasReport
-
-VarMeasReport ::= SEQUENCE {
- -- List of measurement that have been triggered
- measId MeasId,
- cellsTriggeredList CellsTriggeredList OPTIONAL,
- numberOfReportsSent INTEGER
-}
-
-CellsTriggeredList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF PhysCellId
-
-
-VarShortMAC-Input ::= SEQUENCE {
- cellIdentity CellIdentity,
- physCellId PhysCellId,
- c-RNTI C-RNTI
-}
-
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-extract-55.asn b/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-extract-55.asn
deleted file mode 100644
index 248e6963c9..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-extract-55.asn
+++ /dev/null
@@ -1,47 +0,0 @@
-EUTRA-extract-55 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-SystemInformation-r8-IEs ::= SEQUENCE {
- sib-TypeAndInfo SEQUENCE (SIZE (1..5)) OF CHOICE {
- sib2 SystemInformationBlockType2,
- sib3 SystemInformationBlockType3,
- sib4 SystemInformationBlockType4,
- sib5 SystemInformationBlockType5,
- sib6 SystemInformationBlockType6,
- sib7 SystemInformationBlockType7,
- sib8 SystemInformationBlockType8,
- sib9 SystemInformationBlockType9,
- sib10 SystemInformationBlockType10,
- sib11 SystemInformationBlockType11,
- ...
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-SystemInformationBlockType2 ::= INTEGER
-SystemInformationBlockType3 ::= INTEGER
-SystemInformationBlockType4 ::= INTEGER
-SystemInformationBlockType5 ::= INTEGER
-SystemInformationBlockType6 ::= INTEGER
-SystemInformationBlockType7 ::= INTEGER
-SystemInformationBlockType8 ::= INTEGER
-SystemInformationBlockType9 ::= INTEGER
-SystemInformationBlockType10 ::= INTEGER
-SystemInformationBlockType11 ::= INTEGER
-
--- OTP-7763
-CellIdentity ::= BIT STRING (SIZE (28))
-
-Seq ::= SEQUENCE {
- a INTEGER,
- b1 BIT STRING (SIZE (8)),
- b2 BIT STRING (SIZE (1)),
- b CellIdentity,
- c INTEGER,
- d BOOLEAN
-}
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-extract-7407.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-extract-7407.asn1
deleted file mode 100644
index fb81c42251..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/EUTRA-extract-7407.asn1
+++ /dev/null
@@ -1,109 +0,0 @@
--- 3GPP TS 36.331 V8.8.0 (2009-12) modified
--- $Id$
---
-EUTRA-extract-7407 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-BCCH-BCH-Message ::= SEQUENCE {
- message BCCH-BCH-MessageType
-}
-
-BCCH-BCH-MessageType ::= MasterInformationBlock
-
-
-BCCH-DL-SCH-Message ::= SEQUENCE {
- message BCCH-DL-SCH-MessageType
-}
-
-BCCH-DL-SCH-MessageType ::= CHOICE {
- c1 CHOICE {
- systemInformation SystemInformation,
- systemInformation1 SystemInformation1
- },
- messageClassExtension SEQUENCE {}
-}
-
-SystemInformation ::= SEQUENCE {
- criticalExtensions CHOICE {
- systemInformation-r8 SystemInformation-r8-IEs,
- criticalExtensions SEQUENCE {}
- }
-}
-
-maxSIB INTEGER ::= 1
-maxSI-Message INTEGER ::= 1
-
-SystemInformation-r8-IEs ::= SEQUENCE (SIZE (1..maxSIB)) OF SEQUENCE
- { -- Size is FFS
- sib-Type SIB-Type, -- FFS
- sib-Info OCTET STRING, -- FFS
- ...
- }
-
-SIB-Type ::= ENUMERATED {
- sibType1, -- FFS if SIB1 need explicit indication
- sibType2, sibType3, sibType4, sibType5,
- sibType6, sibType7, sibType8,
- spare8, spare7, spare6, spare5,
- spare4, spare3, spare2, spare1}
-
-
-SystemInformationMaster ::= MasterInformationBlock
-
-
-SystemInformation1 ::= SystemInformationBlockType1
-
-SystemInformationBlockType1 ::= SEQUENCE {
- cellAccessRelatedInformation SEQUENCE {
- plmn-IdentityList SEQUENCE (SIZE (1..6)) OF SEQUENCE {
- plmn-Identity PLMN-Identity,
- cellReservedForOperatorUse BOOLEAN
- },
- trackingAreaCode TrackingAreaCode,
- cellIdentity CellIdentity,
- cellBarred BOOLEAN,
- intraFrequencyCellReselection BOOLEAN OPTIONAL, -- Cond CellBarred
- cellReservationExtension BOOLEAN,
- csg-Indication BOOLEAN
- },
- cellSelectionInfo SEQUENCE {
- q-Rxlevmin INTEGER (-60..-28) -- value range FFS
- }, -- need FFS
- frequencyBandIndicator INTEGER (1..64),
- schedulinInformation SEQUENCE (SIZE (1..maxSI-Message)) OF SEQUENCE {
- si-MessageType SEQUENCE {}, -- FFS
- si-Periodicity ENUMERATED {
- ms80, ms160, ms320, ms640}, -- value range FFS
- sib-MappingInfo SEQUENCE {} -- FFS
- },
- systemInformationValueTag INTEGER (0), -- value is 3..5 bits FFS
- ...
-}
-
-PLMN-Identity ::= SEQUENCE {
- -- Enter other IEs here.
-}
-TrackingAreaCode ::= SEQUENCE {
- -- Enter other IEs here.
-}
-CellIdentity ::= SEQUENCE {
- -- Enter the IEs here.
-}
-
-MasterInformationBlock ::= SEQUENCE {
- dl-SystemBandwidth BIT STRING (SIZE (4)),
- numberOfTransmitAntennas BIT STRING (SIZE (4)),
- phich-Configuration PHICH-Configuration,
- systemFrameNumber BIT STRING (SIZE (8))
-}
-
-PHICH-Configuration ::= SEQUENCE {
- phich-Duration ENUMERATED {short, long},
- phich-Resource ENUMERATED {ffs} -- 2-bit field FFS
-}
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Enum.py b/lib/asn1/test/asn1_bin_SUITE_data/Enum.py
deleted file mode 100644
index 3fb0ee3297..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Enum.py
+++ /dev/null
@@ -1,46 +0,0 @@
-Enum DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
--- EXPORTS P1, P2;
-
--- F.2.3.1
--- Use an enumerated type to model the values of a variable
--- with three or more states.
--- Assign values starting with zero if their only
--- constraint is distinctness.
--- EXAMPLE
-
-DayOfTheWeek ::= ENUMERATED {sunday(0), monday(1), tuesday(2),
- wednesday(3), thursday(4), friday(5), saturday(6)}
-
-firstDay DayOfTheWeek ::= sunday
-
--- F.2.3.2
--- Use an enumerated type to model the values of a variable that
--- has just two states now,
--- but that may have additional states in a future version of the protocol.
--- EXAMPLE
-
-MaritalStatus ::= ENUMERATED {single(0), married(1)}
-
--- in anticipation of
-
-MaritalStatus2 ::= ENUMERATED {single(0), married(1), widowed(2)}
-
-
-E1 ::= ENUMERATED {blue,green,yellow}
-
-E2 ::= ENUMERATED {monday(0),thuesday(1),wednesday(2),thursday(3),friday(4)}
-
-E3 ::= ENUMERATED {monday,thuesday(0)}
-
-S ::= SEQUENCE {
- e1 ENUMERATED {hej,hopp},
- e2 [2] EXPLICIT ENUMERATED {san,sa}
- }
-
-enumVal E3 ::= monday
---enumWrongVal E3 ::= sunday
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/EnumExt.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/EnumExt.asn1
deleted file mode 100644
index 9ad1f6299e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/EnumExt.asn1
+++ /dev/null
@@ -1,28 +0,0 @@
-EnumExt DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-Ext ::= ENUMERATED {
- blue(0),
- red(1),
- green(2),
- ...
-}
-
-Ext1 ::= ENUMERATED {
- blue(0),
- red(1),
- green(2),
- ...,
- orange(7)
-}
-
-Noext ::= ENUMERATED {
- blue(0),
- red(1),
- green(2)
-}
-
-Globalstate ::= ENUMERATED {def(1),com(2),preop(3),oper(4),noop(5),fail(6)}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/EnumerationBadExtension.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/EnumerationBadExtension.asn1
deleted file mode 100644
index 471f92d7b6..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/EnumerationBadExtension.asn1
+++ /dev/null
@@ -1,20 +0,0 @@
-EnumerationBadExtension DEFINITIONS ::=
-BEGIN
-
-Enum1 ::= ENUMERATED {
- first,
- second}
-
-Enum2 ::= ENUMERATED {
- first,
- ...,
- second}
-
-Enum3 ::= ENUMERATED {
- first,
- second,
- ...}
-
-ENum3 ::= ENUMERATED {...,first,second}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ErrorClass.asn b/lib/asn1/test/asn1_bin_SUITE_data/ErrorClass.asn
deleted file mode 100644
index ab0f25ae4f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ErrorClass.asn
+++ /dev/null
@@ -1,15 +0,0 @@
-ErrorClass DEFINITIONS ::=
-BEGIN
-
-EXPORTS
-ERROR;
-
-
-ERROR ::= CLASS {
- &errorCode INTEGER UNIQUE,
- &ParameterType OPTIONAL
- }
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Example.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/Example.asn1
deleted file mode 100644
index 2639f63940..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Example.asn1
+++ /dev/null
@@ -1,20 +0,0 @@
-Example DEFINITIONS ::=
-BEGIN
-
-T ::= Typ
-
-Typ ::= SEQUENCE {
- a b,
- c Typ}
---ECLASS ::= CLASS {
--- &num INTEGER UNIQUE,
--- &Typo
--- } WITH SYNTAX {
--- &Typo DETERMINED BY &num
--- }
-
---v1 ECLASS ::= {INTEGER DETERMINED BY 12}
-
---v2 INTEGER ::= 13
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Export1.asn b/lib/asn1/test/asn1_bin_SUITE_data/Export1.asn
deleted file mode 100644
index 78ead8f4d2..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Export1.asn
+++ /dev/null
@@ -1,7 +0,0 @@
-Export1 DEFINITIONS ::=
-BEGIN
-EXPORTS T
-
-T ::= Typ
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/External.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/External.asn1
deleted file mode 100644
index 07b2c6aced..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/External.asn1
+++ /dev/null
@@ -1,132 +0,0 @@
-External DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-XSeq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 XSeqIn
-}
-
-XSeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-XSet1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 XSetIn
-}
-
-XSetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-XBool ::= BOOLEAN
-XBoolImp ::= [22] BOOLEAN
-XBoolExp ::= [23] EXPLICIT BOOLEAN
-
-XCho ::= CHOICE
-{
- boolCho [44] BOOLEAN,
- intCho [45] INTEGER
-}
-
-
-XSetExt1 ::= SET
-{
- ...
-}
-
-XSetExt2 ::= SET
-{
- bool BOOLEAN,
- int INTEGER,
- ...
-}
-
--- XSetExt3 ::= SET
--- {
--- ...,
--- bool BOOLEAN,
--- int INTEGER
--- }
-
--- XSetExt4 ::= SET
--- {
--- bool BOOLEAN,
--- ...,
--- int INTEGER
--- }
-
-
-XSeqExt1 ::= SEQUENCE
-{
- ...
-}
-
-XSeqExt2 ::= SEQUENCE
-{
- bool BOOLEAN,
- int INTEGER,
- ...
-}
-
--- XSeqExt3 ::= SEQUENCE
--- {
--- ...,
--- bool BOOLEAN,
--- int INTEGER
--- }
-
--- XSeqExt4 ::= SEQUENCE
--- {
--- bool BOOLEAN,
--- ...,
--- int INTEGER
--- }
-
-
-
-XNT ::= OCTET STRING
-XImp ::= [1] OCTET STRING
-XExp ::= [2] EXPLICIT OCTET STRING
-
-XChoNT ::= CHOICE {
- os OCTET STRING,
- bool BOOLEAN}
-XChoExp ::= [2] EXPLICIT CHOICE {
- os OCTET STRING,
- bool BOOLEAN}
-
-
-XSetNT ::= SET {
- os OCTET STRING,
- bool BOOLEAN}
-XSetImp ::= [1] SET {
- os OCTET STRING,
- bool BOOLEAN}
-XSetExp ::= [2] EXPLICIT SET {
- os OCTET STRING,
- bool BOOLEAN}
-
-
-XSeqNT ::= SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-XSeqImp ::= [1] SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-XSeqExp ::= [2] EXPLICIT SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/From.py b/lib/asn1/test/asn1_bin_SUITE_data/From.py
deleted file mode 100644
index 882d0b20be..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/From.py
+++ /dev/null
@@ -1,15 +0,0 @@
-From DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-AreaCode ::= SEQUENCE
-{
-
- firstDigit IA5String
- (FROM ( "2" | "3" ) ),
- secondDigit IA5String
- (FROM ( "3" | "4" ) )
-}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/H235-SECURITY-MESSAGES.asn b/lib/asn1/test/asn1_bin_SUITE_data/H235-SECURITY-MESSAGES.asn
deleted file mode 100644
index 3401f9599f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/H235-SECURITY-MESSAGES.asn
+++ /dev/null
@@ -1,170 +0,0 @@
-H235-SECURITY-MESSAGES DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS All
-
-ChallengeString ::= OCTET STRING (SIZE(8..128))
-TimeStamp ::= INTEGER(1..4294967295) -- seconds since 00:00 1/1/1970 UTC
-RandomVal ::= INTEGER
-Password ::= BMPString (SIZE (1..128))
-Identifier ::= BMPString (SIZE (1..128))
-KeyMaterial ::= BIT STRING(SIZE(1..2048))
-
-NonStandardParameter ::= SEQUENCE
-{
- nonStandardIdentifier OBJECT IDENTIFIER,
- data OCTET STRING
-}
-
--- if local octet representations of these bit strings are used they shall
--- utilize standard Network Octet ordering (e.g. Big Endian)
-DHset ::= SEQUENCE
-{
- halfkey BIT STRING (SIZE(0..2048)), -- = g^x mod n
- modSize BIT STRING (SIZE(0..2048)), -- n
- generator BIT STRING (SIZE(0..2048)), -- g
- ...
-}
-
-TypedCertificate ::= SEQUENCE
-{
- type OBJECT IDENTIFIER,
- certificate OCTET STRING,
- ...
-}
-
-AuthenticationMechanism ::=CHOICE
-{
- dhExch NULL, -- Diffe-Hellman
- pwdSymEnc NULL, -- password with symmetric encryption
- pwdHash NULL, -- password with hashing
- certSign NULL, -- Certificate with signature
- ipsec NULL, -- IPSEC based connection
- tls NULL,
- nonStandard NonStandardParameter, -- something else.
- ...
-}
-
-ClearToken ::= SEQUENCE -- a `token' may contain multiple value types.
-{
- timeStamp TimeStamp OPTIONAL,
- password Password OPTIONAL,
- dhkey DHset OPTIONAL,
- challenge ChallengeString OPTIONAL,
- random RandomVal OPTIONAL,
- certificate TypedCertificate OPTIONAL,
- generalID Identifier OPTIONAL,
- nonStandard NonStandardParameter OPTIONAL,
- ...
-}
-
---
--- Start all the cryptographic parameterized types here....
---
-
-
-SIGNED { ToBeSigned } ::= SEQUENCE {
- toBeSigned ToBeSigned,
- algorithmOID OBJECT IDENTIFIER,
- paramS Params, -- any 'runtime' parameters
- signature BIT STRING
-} ( CONSTRAINED BY { -- Verify or Sign Certificate -- } )
-
-
-ENCRYPTED { ToBeEncrypted } ::= SEQUENCE {
- algorithmOID OBJECT IDENTIFIER,
- paramS Params, -- any 'runtime' parameters
- encryptedData OCTET STRING
-} ( CONSTRAINED BY { -- Encrypt or Decrypt -- ToBeEncrypted } )
-
-HASHED { ToBeHashed } ::= SEQUENCE {
- algorithmOID OBJECT IDENTIFIER,
- paramS Params, -- any 'runtime' parameters
- hash BIT STRING
-} ( CONSTRAINED BY { -- Hash -- ToBeHashed } )
-
-IV8 ::= OCTET STRING (SIZE(8))
-
--- signing algorithm used must select one of these types of parameters
--- needed by receiving end of signature.
-
-Params ::= SEQUENCE {
- ranInt INTEGER OPTIONAL, -- some integer value
- iv8 IV8 OPTIONAL, -- 8 octet initialization vector
- ...
-}
-
-EncodedGeneralToken ::= TYPE-IDENTIFIER.&Type (ClearToken -- general usage token -- )
-PwdCertToken ::= ClearToken (WITH COMPONENTS {..., timeStamp PRESENT, generalID PRESENT})
-EncodedPwdCertToken ::= TYPE-IDENTIFIER.&Type (PwdCertToken)
-
-CryptoToken::= CHOICE
-{
-
- cryptoEncryptedToken SEQUENCE -- General purpose/application specific token
- {
- tokenOID OBJECT IDENTIFIER,
- token ENCRYPTED { EncodedGeneralToken }
- },
- cryptoSignedToken SEQUENCE -- General purpose/application specific token
- {
- tokenOID OBJECT IDENTIFIER,
- token SIGNED { EncodedGeneralToken }
- },
- cryptoHashedToken SEQUENCE -- General purpose/application specific token
- {
- tokenOID OBJECT IDENTIFIER,
- hashedVals ClearToken,
- token HASHED { EncodedGeneralToken }
- },
- cryptoPwdEncr ENCRYPTED { EncodedPwdCertToken },
- ...
-}
-
--- These allow the passing of session keys within the H.245 OLC structure.
--- They are encoded as standalone ASN.1 and based as an OCTET STRING within H.245
-H235Key ::=CHOICE -- this is used with the H.245 'h235Key' field
-{
- secureChannel KeyMaterial,
- sharedSecret ENCRYPTED {EncodedKeySyncMaterial},
- certProtectedKey SIGNED { EncodedKeySignedMaterial },
- ...
-}
-
-KeySignedMaterial ::= SEQUENCE {
- generalId Identifier, -- slave's alias
- mrandom RandomVal, -- master's random value
- srandom RandomVal OPTIONAL, -- slave's random value
- timeStamp TimeStamp OPTIONAL, -- master's timestamp for unsolicted EU
- encrptval ENCRYPTED {EncodedKeySyncMaterial }
-}
-EncodedKeySignedMaterial ::= TYPE-IDENTIFIER.&Type (KeySignedMaterial)
-
-KeySyncMaterial ::=SEQUENCE
-{
- generalID Identifier,
- keyMaterial KeyMaterial,
- ...
-}
-EncodedKeySyncMaterial ::=TYPE-IDENTIFIER.&Type (KeySyncMaterial)
-
-H235CertificateSignature ::=SEQUENCE
-{
- certificate TypedCertificate,
- responseRandom RandomVal,
- requesterRandom RandomVal OPTIONAL,
- signature SIGNED { EncodedReturnSig },
- ...
-}
-
-ReturnSig ::= SEQUENCE {
- generalId Identifier, -- slave's alias
- responseRandom RandomVal,
- requestRandom RandomVal OPTIONAL,
- certificate TypedCertificate OPTIONAL -- requested certificate
-}
-
-EncodedReturnSig ::= TYPE-IDENTIFIER.&Type (ReturnSig)
-
-
-END -- End of H235-SECURITY-MESSAGES DEFINITIONS
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/H323-MESSAGES.asn b/lib/asn1/test/asn1_bin_SUITE_data/H323-MESSAGES.asn
deleted file mode 100644
index ba6802f122..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/H323-MESSAGES.asn
+++ /dev/null
@@ -1,1341 +0,0 @@
-H323-MESSAGES DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-
-IMPORTS
- SIGNED{},
- ENCRYPTED{},
- HASHED{},
- ChallengeString,
- TimeStamp,
- RandomVal,
- Password,
- EncodedPwdCertToken,
- ClearToken,
- CryptoToken,
- AuthenticationMechanism
- FROM H235-SECURITY-MESSAGES;
-
-H323-UserInformation ::= SEQUENCE -- root for all Q.931 related ASN.1
-{
- h323-uu-pdu H323-UU-PDU,
- user-data SEQUENCE
- {
- protocol-discriminator INTEGER (0..255),
- user-information OCTET STRING (SIZE(1..131)),
- ...
- } OPTIONAL,
- ...
-}
-
-H323-UU-PDU ::= SEQUENCE
-{
- h323-message-body CHOICE
- {
- setup Setup-UUIE,
- callProceeding CallProceeding-UUIE,
- connect Connect-UUIE,
- alerting Alerting-UUIE,
- userInformation UI-UUIE,
- releaseComplete ReleaseComplete-UUIE,
- facility Facility-UUIE,
- ...,
- progress Progress-UUIE,
- empty NULL -- used when a FACILITY message is sent,
--- but the Facility-UUIE is not to be invoked
--- (possible when transporting supplementary
--- services messages)
- },
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- h4501SupplementaryService SEQUENCE OF OCTET STRING OPTIONAL,
- -- each sequence of octet string is defined as one
- -- H4501SupplementaryService APDU as defined in
- -- Table 3/H.450.1
- h245Tunneling BOOLEAN,
- -- if TRUE, tunneling of H.245 messages is enabled
- h245Control SEQUENCE OF OCTET STRING OPTIONAL,
- -- each octet string may contain exactly
- -- one H.245 PDU
- nonStandardControl SEQUENCE OF NonStandardParameter OPTIONAL
-}
-
-Alerting-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationInfo EndpointType,
- h245Address TransportAddress OPTIONAL,
- ...,
- callIdentifier CallIdentifier,
- h245SecurityMode H245Security OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- fastStart SEQUENCE OF OCTET STRING OPTIONAL
-}
-
-CallProceeding-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationInfo EndpointType,
- h245Address TransportAddress OPTIONAL,
- ...,
- callIdentifier CallIdentifier,
- h245SecurityMode H245Security OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- fastStart SEQUENCE OF OCTET STRING OPTIONAL
-}
-
-Connect-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- h245Address TransportAddress OPTIONAL,
- destinationInfo EndpointType,
- conferenceID ConferenceIdentifier,
- ...,
- callIdentifier CallIdentifier,
- h245SecurityMode H245Security OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- fastStart SEQUENCE OF OCTET STRING OPTIONAL
-}
-
-UI-UUIE ::=SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- ...,
- callIdentifier CallIdentifier
-}
-
-ReleaseComplete-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- reason ReleaseCompleteReason OPTIONAL,
- ...,
- callIdentifier CallIdentifier
-}
-
-ReleaseCompleteReason ::= CHOICE
-{
- noBandwidth NULL, -- bandwidth taken away or ARQ denied
- gatekeeperResources NULL, -- exhausted
- unreachableDestination NULL, -- no transport path to the destination
- destinationRejection NULL, -- rejected at destination
- invalidRevision NULL,
- noPermission NULL, -- called party's gatekeeper rejects
- unreachableGatekeeper NULL, -- terminal cannot reach gatekeeper for ARQ
- gatewayResources NULL,
- badFormatAddress NULL,
- adaptiveBusy NULL, -- call is dropping due to LAN crowding
- inConf NULL, -- no address in AlternativeAddress
- undefinedReason NULL,
- ...,
- facilityCallDeflection NULL, -- call was deflected using a Facility message
- securityDenied NULL, -- incompatible security settings
- calledPartyNotRegistered NULL, -- used by gatekeeper when endpoint has
- -- preGrantedARQ to bypass ARQ/ACF
- callerNotregistered NULL -- used by gatekeeper when endpoint has
- -- preGrantedArq to bypass ARQ/ACF
-}
-
-Setup-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- h245Address TransportAddress OPTIONAL,
- sourceAddress SEQUENCE OF AliasAddress OPTIONAL,
- sourceInfo EndpointType,
- destinationAddress SEQUENCE OF AliasAddress OPTIONAL,
- destCallSignalAddress TransportAddress OPTIONAL,
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL, -- Note(1)
- destExtraCRV SEQUENCE OF CallReferenceValue OPTIONAL,-- Note(1)
- activeMC BOOLEAN,
- conferenceID ConferenceIdentifier,
- conferenceGoal CHOICE
- {
- create NULL,
- join NULL,
- invite NULL,
- ...,
- capability-negotiation NULL,
- callIndependentSupplementaryService NULL
- },
- callServices QseriesOptions OPTIONAL,
- callType CallType,
- ...,
- sourceCallSignalAddress TransportAddress OPTIONAL,
- remoteExtensionAddress AliasAddress OPTIONAL,
- callIdentifier CallIdentifier,
- h245SecurityCapability SEQUENCE OF H245Security OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- fastStart SEQUENCE OF OCTET STRING OPTIONAL,
- mediaWaitForConnect BOOLEAN,
- canOverlapSend BOOLEAN
-}
-
-Facility-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- alternativeAddress TransportAddress OPTIONAL,
- alternativeAliasAddress SEQUENCE OF AliasAddress OPTIONAL,
- conferenceID ConferenceIdentifier OPTIONAL,
- reason FacilityReason,
- ...,
- callIdentifier CallIdentifier,
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
- remoteExtensionAddress AliasAddress OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- conferences SEQUENCE OF ConferenceList OPTIONAL,
- h245Address TransportAddress OPTIONAL
-}
-
-ConferenceList ::= SEQUENCE
-{
- conferenceID ConferenceIdentifier OPTIONAL,
- conferenceAlias AliasAddress OPTIONAL,
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-FacilityReason ::= CHOICE
-{
- routeCallToGatekeeper NULL, -- call must use gatekeeper model
- -- gatekeeper is alternativeAddress
- callForwarded NULL,
- routeCallToMC NULL,
- undefinedReason NULL,
- ...,
- conferenceListChoice NULL,
- startH245 NULL -- recipient should connect to h245Address
-}
-
-Progress-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationInfo EndpointType,
- h245Address TransportAddress OPTIONAL,
- callIdentifier CallIdentifier,
- h245SecurityMode H245Security OPTIONAL,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- fastStart SEQUENCE OF OCTET STRING OPTIONAL
-}
-
-TransportAddress ::= CHOICE
-{
- ipAddress SEQUENCE
- {
- ip OCTET STRING (SIZE(4)),
- port INTEGER(0..65535)
- },
- ipSourceRoute SEQUENCE
- {
- ip OCTET STRING (SIZE(4)),
- port INTEGER(0..65535),
- route SEQUENCE OF OCTET STRING(SIZE(4)),
- routing CHOICE
- {
- strict NULL,
- loose NULL,
- ...
- },
- ...
- },
- ipxAddress SEQUENCE
- {
- node OCTET STRING (SIZE(6)),
- netnum OCTET STRING (SIZE(4)),
- port OCTET STRING (SIZE(2))
- },
- ip6Address SEQUENCE
- {
- ip OCTET STRING (SIZE(16)),
- port INTEGER(0..65535),
- ...
- },
- netBios OCTET STRING (SIZE(16)),
- nsap OCTET STRING (SIZE(1..20)),
- nonStandardAddress NonStandardParameter,
- ...
-}
-
-EndpointType ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- vendor VendorIdentifier OPTIONAL,
- gatekeeper GatekeeperInfo OPTIONAL,
- gateway GatewayInfo OPTIONAL,
- mcu McuInfo OPTIONAL, -- mc must be set as well
- terminal TerminalInfo OPTIONAL,
- mc BOOLEAN, -- shall not be set by itself
- undefinedNode BOOLEAN,
- ...
-}
-
-GatewayInfo ::= SEQUENCE
-{
- protocol SEQUENCE OF SupportedProtocols OPTIONAL,
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-SupportedProtocols ::= CHOICE
-{
- nonStandardData NonStandardParameter,
- h310 H310Caps,
- h320 H320Caps,
- h321 H321Caps,
- h322 H322Caps,
- h323 H323Caps,
- h324 H324Caps,
- voice VoiceCaps,
- t120-only T120OnlyCaps,
- ...,
- nonStandardProtocol NonStandardProtocol
-}
-
-H310Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-H320Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-H321Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-H322Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-H323Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-H324Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-VoiceCaps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-T120OnlyCaps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-NonStandardProtocol ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix,
- ...
-}
-
-McuInfo ::=SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-TerminalInfo ::=SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-GatekeeperInfo ::=SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-VendorIdentifier ::= SEQUENCE
-{
- vendor H221NonStandard,
- productId OCTET STRING (SIZE(1..256)) OPTIONAL, -- per vendor
- versionId OCTET STRING (SIZE(1..256)) OPTIONAL, -- per product
- ...
-}
-
-H221NonStandard ::= SEQUENCE
-{ t35CountryCode INTEGER(0..255), -- country, as per T.35
- t35Extension INTEGER(0..255), -- assigned nationally
- manufacturerCode INTEGER(0..65535), -- assigned nationally
- ...
-}
-
-NonStandardParameter ::= SEQUENCE
-{
- nonStandardIdentifier NonStandardIdentifier,
- data OCTET STRING
-}
-
-NonStandardIdentifier ::=CHOICE
-{
- object OBJECT IDENTIFIER,
- h221NonStandard H221NonStandard,
- ...
-}
-
-AliasAddress ::= CHOICE
-{
- e164 IA5String (SIZE (1..128)) (FROM ("0123456789#*,")),
- h323-ID BMPString (SIZE (1..256)), -- Basic ISO/IEC 10646-1 (Unicode)
- ...,
- url-ID IA5String (SIZE(1..512)), -- URL style address
- transportID TransportAddress,
- email-ID IA5String (SIZE(1..512)), -- rfc822-compliant email address
- partyNumber PartyNumber
-}
-
-PartyNumber ::= CHOICE
-{
- publicNumber PublicPartyNumber,
- -- the numbering plan is according to
- -- Recommendations E.163 and E.164.
- dataPartyNumber NumberDigits,
- -- not used, value reserved.
- telexPartyNumber NumberDigits,
- -- not used, value reserved.
- privateNumber PrivatePartyNumber,
- nationalStandardPartyNumber NumberDigits,
- -- not used, value reserved.
- ...
-}
-
-PublicPartyNumber ::= SEQUENCE
-{
- publicTypeOfNumber PublicTypeOfNumber,
- publicNumberDigits NumberDigits
-}
-
-PrivatePartyNumber ::= SEQUENCE
-{
- privateTypeOfNumber PrivateTypeOfNumber,
- privateNumberDigits NumberDigits
-}
-
-NumberDigits ::= IA5String (SIZE (1..128)) (FROM ("0123456789#*,"))
-
-PublicTypeOfNumber ::= CHOICE
-{
- unknown NULL,
- -- if used number digits carry prefix indicating type
- -- of number according to national recommendations.
- internationalNumber NULL,
- nationalNumber NULL,
- networkSpecificNumber NULL,
- -- not used, value reserved
- subscriberNumber NULL,
- abbreviatedNumber NULL,
- -- valid only for called party number at the outgoing
- -- access, network substitutes appropriate number.
-...
-}
-
-PrivateTypeOfNumber ::= CHOICE
-{
- unknown NULL,
- level2RegionalNumber NULL,
- level1RegionalNumber NULL,
- pISNSpecificNumber NULL,
- localNumber NULL,
- abbreviatedNumber NULL,
- ...
-}
-
-Endpoint ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- aliasAddress SEQUENCE OF AliasAddress OPTIONAL,
- callSignalAddress SEQUENCE OF TransportAddress OPTIONAL,
- rasAddress SEQUENCE OF TransportAddress OPTIONAL,
- endpointType EndpointType OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- priority INTEGER(0..127) OPTIONAL,
- remoteExtensionAddress SEQUENCE OF AliasAddress OPTIONAL,
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
- ...
-}
-
-AlternateGK ::= SEQUENCE
-{
- rasAddress TransportAddress,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- needToRegister BOOLEAN,
- priority INTEGER (0..127),
- ...
-}
-
-AltGKInfo ::= SEQUENCE
-{
- alternateGatekeeper SEQUENCE OF AlternateGK,
- altGKisPermanent BOOLEAN,
- ...
-}
-
-SecurityServiceMode ::= CHOICE
-{
-nonStandard NonStandardParameter,
-none NULL,
-default NULL,
-... -- can be extended with other specific modes
-}
-
-SecurityCapabilities ::= SEQUENCE
-{
- nonStandard NonStandardParameter OPTIONAL,
- encryption SecurityServiceMode,
- authenticaton SecurityServiceMode,
- integrity SecurityServiceMode,
-...
-}
-
-H245Security ::= CHOICE
-{
- nonStandard NonStandardParameter,
- noSecurity NULL,
- tls SecurityCapabilities,
- ipsec SecurityCapabilities,
- ...
-}
-
-QseriesOptions ::= SEQUENCE
-{
- q932Full BOOLEAN, -- if true, indicates full support for Q.932
- q951Full BOOLEAN, -- if true, indicates full support for Q.951
- q952Full BOOLEAN, -- if true, indicates full support for Q.952
- q953Full BOOLEAN, -- if true, indicates full support for Q.953
- q955Full BOOLEAN, -- if true, indicates full support for Q.955
- q956Full BOOLEAN, -- if true, indicates full support for Q.956
- q957Full BOOLEAN, -- if true, indicates full support for Q.957
- q954Info Q954Details,
- ...
-}
-
-Q954Details ::= SEQUENCE
-{
- conferenceCalling BOOLEAN,
- threePartyService BOOLEAN,
- ...
-}
-
-GloballyUniqueID ::= OCTET STRING (SIZE(16))
-ConferenceIdentifier ::= GloballyUniqueID
-RequestSeqNum ::= INTEGER (1..65535)
-GatekeeperIdentifier ::= BMPString (SIZE(1..128))
-BandWidth ::= INTEGER (0.. 4294967295) -- in 100s of bits
-CallReferenceValue ::= INTEGER (0..65535)
-EndpointIdentifier ::= BMPString (SIZE(1..128))
-ProtocolIdentifier ::= OBJECT IDENTIFIER
- -- shall be set to
- -- {itu-t (0) recommendation (0) h (8) 2250 version (0) 2}
-TimeToLive ::= INTEGER (1..4294967295) --in seconds
-
-CallIdentifier ::= SEQUENCE
-{
- guid GloballyUniqueID,
- ...
-}
-
-
-EncryptIntAlg ::= CHOICE
-{ -- core encryption algorithms for RAS message integrity
- nonStandard NonStandardParameter,
- isoAlgorithm OBJECT IDENTIFIER, -- defined in ISO/IEC 9979
- ...
-}
-NonIsoIntegrityMechanism ::= CHOICE
-{ -- HMAC mechanism used, no truncation, tagging may be necessary!
- hMAC-MD5 NULL,
- hMAC-iso10118-2-s EncryptIntAlg, -- according to ISO/IEC 10118-2 using
- -- EncryptIntAlg as core block encryption algorithm
- -- (short MAC)
- hMAC-iso10118-2-l EncryptIntAlg, -- according to ISO/IEC 10118-2 using
- -- EncryptIntAlg as core block encryption algorithm
- -- (long MAC)
- hMAC-iso10118-3 OBJECT IDENTIFIER, -- according to ISO/IEC 10118-3 using
- -- OID as hash function (OID is SHA-1, RIPE-MD160,
- -- RIPE-MD128)
- ...
-}
-
-IntegrityMechanism ::= CHOICE
-{ -- for RAS message integrity
- nonStandard NonStandardParameter,
- digSig NULL, -- indicates to apply a digital signature
- iso9797 OBJECT IDENTIFIER, -- according to ISO/IEC 9797 using OID as
- -- core encryption algorithm (X-CBC MAC)
- nonIsoIM NonIsoIntegrityMechanism,
- ...
-}
-
-ICV ::= SEQUENCE
-{
- algorithmOID OBJECT IDENTIFIER, -- the algorithm used to compute the signature
- icv BIT STRING -- the computed cryptographic integrity check value
--- or signature
-}
-
-FastStartToken ::= ClearToken (WITH COMPONENTS {..., timeStamp, dhkey, generalID -- set to 'alias' -- })
-EncodedFastStartToken ::= TYPE-IDENTIFIER.&Type (FastStartToken)
-CryptoH323Token::= CHOICE
-{
- cryptoEPPwdHash SEQUENCE
-{
- alias AliasAddress, -- alias of entity generating hash
- timeStamp TimeStamp, -- timestamp used in hash
-token HASHED { EncodedPwdCertToken -- generalID set to 'alias' -- }
- },
- cryptoGKPwdHash SEQUENCE
-{
-gatekeeperId GatekeeperIdentifier, -- GatekeeperID of GK generating hash
- timeStamp TimeStamp, -- timestamp used in hash
-token HASHED { EncodedPwdCertToken -- generalID set to Gatekeeperid -- }
- },
- cryptoEPPwdEncr ENCRYPTED
-{ EncodedPwdCertToken -- generalID set to Gatekeeperid --},
- cryptoGKPwdEncr ENCRYPTED
-{ EncodedPwdCertToken -- generalID set to Gatekeeperid --},
- cryptoEPCert SIGNED { EncodedPwdCertToken -- generalID set to Gatekeeperid -- },
- cryptoGKCert SIGNED { EncodedPwdCertToken -- generalID set to alias -- },
- cryptoFastStart SIGNED { EncodedFastStartToken },
- nestedcryptoToken CryptoH323Token,
- ...
-}
-
-
-DataRate ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- channelRate BandWidth,
- channelMultiplier INTEGER (1..256) OPTIONAL,
- ...
-}
-
-SupportedPrefix ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- prefix AliasAddress,
- ...
-}
-
-
-RasMessage ::= CHOICE
-{
- gatekeeperRequest GatekeeperRequest,
- gatekeeperConfirm GatekeeperConfirm,
- gatekeeperReject GatekeeperReject,
- registrationRequest RegistrationRequest,
- registrationConfirm RegistrationConfirm,
- registrationReject RegistrationReject,
- unregistrationRequest UnregistrationRequest,
- unregistrationConfirm UnregistrationConfirm,
- unregistrationReject UnregistrationReject,
- admissionRequest AdmissionRequest,
- admissionConfirm AdmissionConfirm,
- admissionReject AdmissionReject,
- bandwidthRequest BandwidthRequest,
- bandwidthConfirm BandwidthConfirm,
- bandwidthReject BandwidthReject,
- disengageRequest DisengageRequest,
- disengageConfirm DisengageConfirm,
- disengageReject DisengageReject,
- locationRequest LocationRequest,
- locationConfirm LocationConfirm,
- locationReject LocationReject,
- infoRequest InfoRequest,
- infoRequestResponse InfoRequestResponse,
- nonStandardMessage NonStandardMessage,
- unknownMessageResponse UnknownMessageResponse,
- ...,
- requestInProgress RequestInProgress,
- resourcesAvailableIndicate ResourcesAvailableIndicate,
- resourcesAvailableConfirm ResourcesAvailableConfirm,
- infoRequestAck InfoRequestAck,
- infoRequestNak InfoRequestNak
-}
-
-GatekeeperRequest ::= SEQUENCE --(GRQ)
-{
-
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- rasAddress TransportAddress,
- endpointType EndpointType,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- callServices QseriesOptions OPTIONAL,
- endpointAlias SEQUENCE OF AliasAddress OPTIONAL,
- ...,
- alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- authenticationCapability SEQUENCE OF AuthenticationMechanism OPTIONAL,
- algorithmOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
- integrity SEQUENCE OF IntegrityMechanism OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-GatekeeperConfirm ::= SEQUENCE --(GCF)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- rasAddress TransportAddress,
- ...,
- alternateGatekeeper SEQUENCE OF AlternateGK OPTIONAL,
- authenticationMode AuthenticationMechanism OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- algorithmOID OBJECT IDENTIFIER OPTIONAL,
- integrity SEQUENCE OF IntegrityMechanism OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-GatekeeperReject ::= SEQUENCE --(GRJ)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- rejectReason GatekeeperRejectReason,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-GatekeeperRejectReason ::= CHOICE
-{
- resourceUnavailable NULL,
- terminalExcluded NULL, -- permission failure, not a resource failure
- invalidRevision NULL,
- undefinedReason NULL,
- ...,
- securityDenial NULL
-}
-
-RegistrationRequest ::= SEQUENCE --(RRQ)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- discoveryComplete BOOLEAN,
- callSignalAddress SEQUENCE OF TransportAddress,
- rasAddress SEQUENCE OF TransportAddress,
- terminalType EndpointType,
- terminalAlias SEQUENCE OF AliasAddress OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- endpointVendor VendorIdentifier,
- ...,
- alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
- timeToLive TimeToLive OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- keepAlive BOOLEAN,
- endpointIdentifier EndpointIdentifier OPTIONAL,
- willSupplyUUIEs BOOLEAN
-}
-
-RegistrationConfirm ::= SEQUENCE --(RCF)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- callSignalAddress SEQUENCE OF TransportAddress,
- terminalAlias SEQUENCE OF AliasAddress OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- endpointIdentifier EndpointIdentifier,
- ...,
- alternateGatekeeper SEQUENCE OF AlternateGK OPTIONAL,
- timeToLive TimeToLive OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- willRespondToIRR BOOLEAN,
- preGrantedARQ SEQUENCE
- {
- makeCall BOOLEAN,
- useGKCallSignalAddressToMakeCall BOOLEAN,
- answerCall BOOLEAN,
- useGKCallSignalAddressToAnswer BOOLEAN,
- ...
- } OPTIONAL
-}
-
-RegistrationReject ::= SEQUENCE --(RRJ)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- rejectReason RegistrationRejectReason,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-RegistrationRejectReason ::= CHOICE
-{
- discoveryRequired NULL, -- registration permission has aged
- invalidRevision NULL,
- invalidCallSignalAddress NULL,
- invalidRASAddress NULL, -- supplied address is invalid
- duplicateAlias SEQUENCE OF AliasAddress,
- -- alias registered to another endpoint
- invalidTerminalType NULL,
- undefinedReason NULL,
- transportNotSupported NULL, -- one or more of the transports
- ...,
- transportQOSNotSupported NULL, -- endpoint QoS not supported
- resourceUnavailable NULL, -- gatekeeper resources exhausted
- invalidAlias NULL, -- alias not consistent with gatekeeper rules
- securityDenial NULL
-}
-
-UnregistrationRequest ::= SEQUENCE --(URQ)
-{
- requestSeqNum RequestSeqNum,
- callSignalAddress SEQUENCE OF TransportAddress,
- endpointAlias SEQUENCE OF AliasAddress OPTIONAL,
- nonStandardData NonStandardParameter OPTIONAL,
- endpointIdentifier EndpointIdentifier OPTIONAL,
- ...,
- alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- reason UnregRequestReason OPTIONAL
-}
-
-UnregRequestReason ::= CHOICE
-{
- reregistrationRequired NULL,
- ttlExpired NULL,
- securityDenial NULL,
- undefinedReason NULL,
- ...
-}
-
-UnregistrationConfirm ::= SEQUENCE --(UCF)
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-UnregistrationReject ::= SEQUENCE --(URJ)
-{
-
- requestSeqNum RequestSeqNum,
- rejectReason UnregRejectReason,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-UnregRejectReason ::= CHOICE
-{
- notCurrentlyRegistered NULL,
- callInProgress NULL,
- undefinedReason NULL,
- ...,
- permissionDenied NULL, -- requesting user not allowed to unregister
- -- specified user
- securityDenial NULL
-}
-
-AdmissionRequest ::= SEQUENCE --(ARQ)
-{
- requestSeqNum RequestSeqNum,
- callType CallType,
- callModel CallModel OPTIONAL,
- endpointIdentifier EndpointIdentifier,
- destinationInfo SEQUENCE OF AliasAddress OPTIONAL, --Note 1
- destCallSignalAddress TransportAddress OPTIONAL, --Note 1
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
- srcInfo SEQUENCE OF AliasAddress,
- srcCallSignalAddress TransportAddress OPTIONAL,
- bandWidth BandWidth,
- callReferenceValue CallReferenceValue,
- nonStandardData NonStandardParameter OPTIONAL,
- callServices QseriesOptions OPTIONAL,
- conferenceID ConferenceIdentifier,
- activeMC BOOLEAN,
- answerCall BOOLEAN, -- answering a call
- ...,
- canMapAlias BOOLEAN, -- can handle alias address
- callIdentifier CallIdentifier,
- srcAlternatives SEQUENCE OF Endpoint OPTIONAL,
- destAlternatives SEQUENCE OF Endpoint OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- transportQOS TransportQOS OPTIONAL,
- willSupplyUUIEs BOOLEAN
-}
-
-CallType ::= CHOICE
-{
- pointToPoint NULL, -- Point to point
- oneToN NULL, -- no interaction (FFS)
- nToOne NULL, -- no interaction (FFS)
- nToN NULL, -- interactive (multipoint)
- ...
-}
-
-CallModel ::= CHOICE
-{
- direct NULL,
- gatekeeperRouted NULL,
- ...
-}
-
-TransportQOS ::= CHOICE
-{
- endpointControlled NULL,
- gatekeeperControlled NULL,
- noControl NULL,
- ...
-}
-
-AdmissionConfirm ::= SEQUENCE --(ACF)
-{
- requestSeqNum RequestSeqNum,
- bandWidth BandWidth,
- callModel CallModel,
- destCallSignalAddress TransportAddress,
- irrFrequency INTEGER (1..65535) OPTIONAL,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- destinationInfo SEQUENCE OF AliasAddress OPTIONAL,
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
- destinationType EndpointType OPTIONAL,
- remoteExtensionAddress SEQUENCE OF AliasAddress OPTIONAL,
- alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- transportQOS TransportQOS OPTIONAL,
- willRespondToIRR BOOLEAN,
- uuiesRequested UUIEsRequested
-}
-
-UUIEsRequested ::= SEQUENCE
-{
- setup BOOLEAN,
- callProceeding BOOLEAN,
- connect BOOLEAN,
- alerting BOOLEAN,
- userInformation BOOLEAN,
- releaseComplete BOOLEAN,
- facility BOOLEAN,
- progress BOOLEAN,
- empty BOOLEAN,
- ...
-}
-
-AdmissionReject ::= SEQUENCE --(ARJ)
-{
- requestSeqNum RequestSeqNum,
- rejectReason AdmissionRejectReason,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- callSignalAddress SEQUENCE OF TransportAddress OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-AdmissionRejectReason ::= CHOICE
-{
- calledPartyNotRegistered NULL, -- can't translate address
- invalidPermission NULL, -- permission has expired
- requestDenied NULL, -- no bandwidth available
- undefinedReason NULL,
- callerNotRegistered NULL,
- routeCallToGatekeeper NULL,
- invalidEndpointIdentifier NULL,
- resourceUnavailable NULL,
- ...,
- securityDenial NULL,
- qosControlNotSupported NULL,
- incompleteAddress NULL
-}
-
-BandwidthRequest ::= SEQUENCE --(BRQ)
-{
- requestSeqNum RequestSeqNum,
- endpointIdentifier EndpointIdentifier,
- conferenceID ConferenceIdentifier,
- callReferenceValue CallReferenceValue,
- callType CallType OPTIONAL,
- bandWidth BandWidth,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- callIdentifier CallIdentifier,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- answeredCall BOOLEAN
-}
-
-BandwidthConfirm ::= SEQUENCE --(BCF)
-{
- requestSeqNum RequestSeqNum,
- bandWidth BandWidth,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-BandwidthReject ::= SEQUENCE --(BRJ)
-{
- requestSeqNum RequestSeqNum,
- rejectReason BandRejectReason,
- allowedBandWidth BandWidth,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-BandRejectReason ::= CHOICE
-{
- notBound NULL, -- discovery permission has aged
- invalidConferenceID NULL, -- possible revision
- invalidPermission NULL, -- true permission violation
- insufficientResources NULL,
- invalidRevision NULL,
- undefinedReason NULL,
- ...,
- securityDenial NULL
-}
-
-LocationRequest ::= SEQUENCE --(LRQ)
-{
- requestSeqNum RequestSeqNum,
- endpointIdentifier EndpointIdentifier OPTIONAL,
- destinationInfo SEQUENCE OF AliasAddress,
- nonStandardData NonStandardParameter OPTIONAL,
- replyAddress TransportAddress,
- ...,
- sourceInfo SEQUENCE OF AliasAddress OPTIONAL,
- canMapAlias BOOLEAN, -- can handle alias address
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-LocationConfirm ::= SEQUENCE --(LCF)
-{
- requestSeqNum RequestSeqNum,
- callSignalAddress TransportAddress,
- rasAddress TransportAddress,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- destinationInfo SEQUENCE OF AliasAddress OPTIONAL,
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
- destinationType EndpointType OPTIONAL,
- remoteExtensionAddress SEQUENCE OF AliasAddress OPTIONAL,
- alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-LocationReject ::= SEQUENCE --(LRJ)
-{
- requestSeqNum RequestSeqNum,
- rejectReason LocationRejectReason,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-
-LocationRejectReason ::= CHOICE
-{
- notRegistered NULL,
- invalidPermission NULL, -- exclusion by administrator or feature
- requestDenied NULL, -- can't find location
- undefinedReason NULL,
- ...,
- securityDenial NULL
-}
-
-DisengageRequest ::= SEQUENCE --(DRQ)
-{
- requestSeqNum RequestSeqNum,
- endpointIdentifier EndpointIdentifier,
- conferenceID ConferenceIdentifier,
- callReferenceValue CallReferenceValue,
- disengageReason DisengageReason,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- callIdentifier CallIdentifier,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- answeredCall BOOLEAN
-}
-
-DisengageReason ::= CHOICE
-{
- forcedDrop NULL, -- gatekeeper is forcing the drop
- normalDrop NULL, -- associated with normal drop
- undefinedReason NULL,
- ...
-}
-
-DisengageConfirm ::= SEQUENCE --(DCF)
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-DisengageReject ::= SEQUENCE --(DRJ)
-{
- requestSeqNum RequestSeqNum,
- rejectReason DisengageRejectReason,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-DisengageRejectReason ::= CHOICE
-{
- notRegistered NULL, -- not registered with gatekeeper
- requestToDropOther NULL, -- can't request drop for others
- ...,
- securityDenial NULL
-}
-
-InfoRequest ::= SEQUENCE --(IRQ)
-{
- requestSeqNum RequestSeqNum,
- callReferenceValue CallReferenceValue,
- nonStandardData NonStandardParameter OPTIONAL,
- replyAddress TransportAddress OPTIONAL,
- ...,
- callIdentifier CallIdentifier,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- uuiesRequested UUIEsRequested OPTIONAL
-}
-InfoRequestResponse ::= SEQUENCE --(IRR)
-{
- nonStandardData NonStandardParameter OPTIONAL,
- requestSeqNum RequestSeqNum,
- endpointType EndpointType,
- endpointIdentifier EndpointIdentifier,
- rasAddress TransportAddress,
- callSignalAddress SEQUENCE OF TransportAddress,
- endpointAlias SEQUENCE OF AliasAddress OPTIONAL,
- perCallInfo SEQUENCE OF SEQUENCE
- {
- nonStandardData NonStandardParameter OPTIONAL,
- callReferenceValue CallReferenceValue,
- conferenceID ConferenceIdentifier,
- originator BOOLEAN OPTIONAL,
- audio SEQUENCE OF RTPSession OPTIONAL,
- video SEQUENCE OF RTPSession OPTIONAL,
- data SEQUENCE OF TransportChannelInfo OPTIONAL,
- h245 TransportChannelInfo,
- callSignaling TransportChannelInfo,
- callType CallType,
- bandWidth BandWidth,
- callModel CallModel,
- ...,
- callIdentifier CallIdentifier,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- substituteConfIDs SEQUENCE OF ConferenceIdentifier,
- pdu SEQUENCE OF SEQUENCE
- {
- h323pdu H323-UU-PDU,
- sent BOOLEAN -- TRUE is sent, FALSE is received
- } OPTIONAL
- } OPTIONAL,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- needResponse BOOLEAN
-}
-
-TransportChannelInfo ::= SEQUENCE
-{
- sendAddress TransportAddress OPTIONAL,
- recvAddress TransportAddress OPTIONAL,
- ...
-}
-
-RTPSession ::= SEQUENCE
-{
- rtpAddress TransportChannelInfo,
- rtcpAddress TransportChannelInfo,
- cname PrintableString,
- ssrc INTEGER (1..4294967295),
- sessionId INTEGER (1..255),
- associatedSessionIds SEQUENCE OF INTEGER (1..255),
- ...
-}
-
-InfoRequestAck ::= SEQUENCE --(IACK)
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- ...
-}
-
-InfoRequestNak ::= SEQUENCE --(INAK)
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter OPTIONAL,
- nakReason InfoRequestNakReason,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- ...
-}
-
-InfoRequestNakReason ::= CHOICE
-{
- notRegistered NULL, -- not registered with gatekeeper
- securityDenial NULL,
- undefinedReason NULL,
- ...
-}
-
-NonStandardMessage ::= SEQUENCE
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-UnknownMessageResponse ::= SEQUENCE -- (XRS)
-{
- requestSeqNum RequestSeqNum,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-RequestInProgress ::= SEQUENCE -- (RIP)
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- delay INTEGER(1..65535),
- ...
-}
-
-ResourcesAvailableIndicate ::= SEQUENCE --(RAI)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- endpointIdentifier EndpointIdentifier,
- protocols SEQUENCE OF SupportedProtocols,
- almostOutOfResources BOOLEAN,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- ...
-}
-
-ResourcesAvailableConfirm ::= SEQUENCE --(RAC)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- ...
-}
-
-END -- of ASN.1
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/IMP.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/IMP.asn1
deleted file mode 100644
index 8d7546fa15..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/IMP.asn1
+++ /dev/null
@@ -1,7 +0,0 @@
-IMP DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-T ::= INTEGER
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/IN-CS-1-Datatypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/IN-CS-1-Datatypes.asn
deleted file mode 100644
index ff0361f5c5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/IN-CS-1-Datatypes.asn
+++ /dev/null
@@ -1,1630 +0,0 @@
--- Module IN-CS-1-Datatypes (Q.1218:10/1995)
--- Example of addition of an extension named 'Some Network Specific Indicator' of type
--- BOOLEAN, with criticality 'abort' and to be identified as extension number 1.
--- Example of definition using the above macro:
---
--- SomeNetworkSpecificIndicator ::= EXTENSION {
--- EXTENSION-SYNTAX BOOLEAN
--- CRITICALITY abort
--- IDENTIFIED BY 1
--- }
---
---
--- Example of transfer syntax, using the ExtensionField datatype as specified in the module
--- below. Assuming the value of the extension is set to TRUE, the extensions parameter
--- becomes a Sequence of type INTEGER ::= 1, criticality ENUMERATED ::= 1 and value [1]
--- EXPLICIT BOOLEAN ::= TRUE.
---
--- Use of Q.1400 defined Extension is ffs.
--- In addition the extension mechanism marker is used to identify the future minor additions to INAP.
-IN-CS-1-Datatypes {itu-t recommendation q 1218 modules(0) cs-1-datatypes(2)
- version1(0)}
--- This module contains the type definitions for the IN CS-1 data types.
--- Where a parameter of type CHOICE is tagged with a specific tag value, the tag is automatically
--- replaced with an EXPLICIT tag of the same value.
--- The following parameters map onto bearer protocol (i.e. Q.931, case 2 and ISUP) parameters:
--- CallingPartySubaddress, CalledPartyNumber,
--- Prefix (derived from dialled digits), DestinationRoutingAddress,
--- DialledDigits, ISDNAccessRelatedInformation, CallingPartysCategory, LocationNumber,
--- TravellingClassMark, AssistingSSPIPRoutingAddress, AlertingPattern (Q.931 only),
--- ReleaseCause (and other Cause parameters), ServiceProfileIdentifier (Q.932 only),
--- BearerCapability, CallingPartyNumber, HighLayerCompatibility, OriginalCalledPartyID,
--- RedirectingPartyID, and RedirectionInformation.
--- The procedures for mapping of parameters onto bearer protocol are ffs.
--- The following SSF parameters do not map onto bearer protocol (i.e. Q.931, case 2 and ISUP)
--- parameters and therefore are assumed to be local to the switching system: CallingPartyBusinessGroupID
--- FacilityGroup, FacilityGroupMember, RouteList, LegID, IPSSPCapabilities, IPAvailable, CGEncountered,
--- ForwardingCondition, CorrelationID, ApplicationTimer, TerminalType, MiscCallInfo, TriggerType and
--- ServiceKey.
--- Where possible, Administrations should specify the maximum size within their network of
--- parameters specified in this Recommendation that are of an indeterminate length.
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- TYPE DEFINITIONS FOR IN CS-1 DATA TYPES FOLLOWS
--- Argument data types
-InvokeIdType ::= INTEGER(-128..127)
-
--- The ordering of parameters in the argument sequences has been arbitrary. Further study may be
--- required to order arguments in a manner which will facilitate efficient encoding and decoding.
-ActivateServiceFilteringArg ::= SEQUENCE {
- filteredCallTreatment [0] FilteredCallTreatment,
- filteringCharacteristics [1] FilteringCharacteristics,
- filteringTimeOut [2] FilteringTimeOut,
- filteringCriteria [3] FilteringCriteria,
- startTime [4] DateAndTime OPTIONAL,
- extensions
- [5] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-AnalysedInformationArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- dialledDigits [1] CalledPartyNumber OPTIONAL,
- callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [3] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [4] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [6] OriginalCalledPartyID OPTIONAL,
- prefix [7] Digits OPTIONAL,
- redirectingPartyID [8] RedirectingPartyID OPTIONAL,
- redirectionInformation [9] RedirectionInformation OPTIONAL,
- routeList [10] RouteList OPTIONAL,
- travellingClassMark [11] TravellingClassMark OPTIONAL,
- extensions
- [12] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- featureCode [13] FeatureCode OPTIONAL,
- accessCode [14] AccessCode OPTIONAL,
- carrier [15] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-AnalyseInformationArg ::= SEQUENCE {
- destinationRoutingAddress [0] DestinationRoutingAddress,
- alertingPattern [1] AlertingPattern OPTIONAL,
- iSDNAccessRelatedInformation [2] ISDNAccessRelatedInformation OPTIONAL,
- originalCalledPartyID [3] OriginalCalledPartyID OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- callingPartyNumber [5] CallingPartyNumber OPTIONAL,
- callingPartysCategory [6] CallingPartysCategory OPTIONAL,
- calledPartyNumber [7] CalledPartyNumber OPTIONAL,
- chargeNumber [8] ChargeNumber OPTIONAL,
- travellingClassMark [9] TravellingClassMark OPTIONAL,
- carrier [10] Carrier OPTIONAL,
- ...
-}
-
-ApplyChargingArg ::= SEQUENCE {
- aChBillingChargingCharacteristics [0] AChBillingChargingCharacteristics,
- partyToCharge [2] LegID OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- The partyToCharge parameter indicates the party in the call to which the ApplyCharging operation
--- should be applied. If it is not present, then it is applied to the A-party.
-ApplyChargingReportArg ::=
- CallResult
-
-AssistRequestInstructionsArg ::= SEQUENCE {
- correlationID [0] CorrelationID,
- iPAvailable [1] IPAvailable OPTIONAL,
- iPSSPCapabilities [2] IPSSPCapabilities OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- OPTIONAL denotes network operator specific use. The value of the correlationID may be the
--- Called Party Number supplied by the initiating SSF.
-CallGapArg ::= SEQUENCE {
- gapCriteria [0] GapCriteria,
- gapIndicators [1] GapIndicators,
- controlType [2] ControlType OPTIONAL,
- gapTreatment [3] GapTreatment OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- OPTIONAL denotes network operator optional. If gapTreatment is not present, the SSF will use
--- a default treatment depending on network operator implementation.
-CallInformationReportArg ::= SEQUENCE {
- requestedInformationList [0] RequestedInformationList,
- correlationID [1] CorrelationID OPTIONAL,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- OPTIONAL denotes network operator optional.
-CallInformationRequestArg ::= SEQUENCE {
- requestedInformationTypeList [0] RequestedInformationTypeList,
- correlationID [1] CorrelationID OPTIONAL,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- OPTIONAL denotes network operator optional.
-CancelArg ::= CHOICE {invokeID [0] InvokeID,
- allRequests [1] NULL
-}
-
--- The InvokeID has the same value as that which was used for the operation to be cancelled.
-CancelStatusReportRequestArg ::= SEQUENCE {
- resourceID [0] ResourceID OPTIONAL,
- extensions
- [1] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-CollectedInformationArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- dialledDigits [1] CalledPartyNumber OPTIONAL,
- callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [3] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [4] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [6] OriginalCalledPartyID OPTIONAL,
- prefix [7] Digits OPTIONAL,
- redirectingPartyID [8] RedirectingPartyID OPTIONAL,
- redirectionInformation [9] RedirectionInformation OPTIONAL,
- travellingClassMark [10] TravellingClassMark OPTIONAL,
- extensions
- [11] SEQUENCE SIZE (1..numOfExtensions) OF
- [11] ExtensionField{{SupportedExtensions}},
- featureCode [12] FeatureCode OPTIONAL,
- accessCode [13] AccessCode OPTIONAL,
- carrier [14] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-CollectInformationArg ::= SEQUENCE {
- alertingPattern [0] AlertingPattern OPTIONAL,
- numberingPlan [1] NumberingPlan OPTIONAL,
- originalCalledPartyID [2] OriginalCalledPartyID OPTIONAL,
- travellingClassMark [3] TravellingClassMark OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- callingPartyNumber [5] CallingPartyNumber OPTIONAL,
- dialledDigits [6] CalledPartyNumber OPTIONAL,
- ...
-}
-
-ConnectArg ::= SEQUENCE {
- destinationRoutingAddress [0] DestinationRoutingAddress,
- alertingPattern [1] AlertingPattern OPTIONAL,
- correlationID [2] CorrelationID OPTIONAL,
- cutAndPaste [3] CutAndPaste OPTIONAL,
- forwardingCondition [4] ForwardingCondition OPTIONAL,
- iSDNAccessRelatedInformation [5] ISDNAccessRelatedInformation OPTIONAL,
- originalCalledPartyID [6] OriginalCalledPartyID OPTIONAL,
- routeList [7] RouteList OPTIONAL,
- scfID [8] ScfID OPTIONAL,
- travellingClassMark [9] TravellingClassMark OPTIONAL,
- extensions
- [10] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [11] Carrier OPTIONAL,
- serviceInteractionIndicators [26] ServiceInteractionIndicators OPTIONAL,
- callingPartyNumber [27] CallingPartyNumber OPTIONAL,
- callingPartysCategory [28] CallingPartysCategory OPTIONAL,
- redirectingPartyID [29] RedirectingPartyID OPTIONAL,
- redirectionInformation [30] RedirectionInformation OPTIONAL,
- ...
-}
-
--- For alerting pattern, OPTIONAL denotes that this parameter only applies if SSF is the terminating
--- local exchange for the subscriber.
-ConnectToResourceArg ::= SEQUENCE {
- resourceAddress
- CHOICE {ipRoutingAddress [0] IPRoutingAddress,
- legID [1] LegID,
- both
- [2] SEQUENCE {ipRoutingAddress [0] IPRoutingAddress,
- legID [1] LegID},
- none [3] NULL},
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- serviceInteractionIndicators [30] ServiceInteractionIndicators OPTIONAL,
- ...
-}
-
-DpSpecificCommonParameters ::= SEQUENCE {
- serviceAddressInformation [0] ServiceAddressInformation,
- bearerCapability [1] BearerCapability OPTIONAL,
- calledPartyNumber [2] CalledPartyNumber OPTIONAL,
- callingPartyNumber [3] CallingPartyNumber OPTIONAL,
- callingPartysCategory [4] CallingPartysCategory OPTIONAL,
- iPSSPCapabilities [5] IPSSPCapabilities OPTIONAL,
- iPAvailable [6] IPAvailable OPTIONAL,
- iSDNAccessRelatedInformation [7] ISDNAccessRelatedInformation OPTIONAL,
- cGEncountered [8] CGEncountered OPTIONAL,
- locationNumber [9] LocationNumber OPTIONAL,
- serviceProfileIdentifier [10] ServiceProfileIdentifier OPTIONAL,
- terminalType [11] TerminalType OPTIONAL,
- extensions
- [12] SEQUENCE SIZE (1..numOfExtensions) OF
- [12] ExtensionField{{SupportedExtensions}},
- chargeNumber [13] ChargeNumber OPTIONAL,
- servingAreaID [14] ServingAreaID OPTIONAL,
- ...
-}
-
--- OPTIONAL for iPSSPCapabilities, iPAvailable, and cGEncountered denotes network operator
--- specific use. OPTIONAL for callingPartyNumber, and callingPartysCategory refer to clause 3 for
--- the trigger detection point processing rules to specify when these parameters are included in the
--- message. bearerCapability should be appropriately coded as speech.
-EstablishTemporaryConnectionArg ::= SEQUENCE {
- assistingSSPIPRoutingAddress [0] AssistingSSPIPRoutingAddress,
- correlationID [1] CorrelationID OPTIONAL,
- legID [2] LegID OPTIONAL,
- scfID [3] ScfID OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- [4] ExtensionField{{SupportedExtensions}},
- carrier [5] Carrier OPTIONAL,
- serviceInteractionIndicators [30] ServiceInteractionIndicators OPTIONAL,
- ...
-}
-
-EventNotificationChargingArg ::= SEQUENCE {
- eventTypeCharging [0] EventTypeCharging,
- eventSpecificInformationCharging
- [1] EventSpecificInformationCharging OPTIONAL,
- legID [2] LegID OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- monitorMode [30] MonitorMode DEFAULT notifyAndContinue,
- ...
-}
-
--- OPTIONAL denotes network operator specific use.
-EventReportBCSMArg ::= SEQUENCE {
- eventTypeBCSM [0] EventTypeBCSM,
- bcsmEventCorrelationID [1] CorrelationID OPTIONAL,
- eventSpecificInformationBCSM [2] EventSpecificInformationBCSM OPTIONAL,
- legID [3] LegID OPTIONAL,
- miscCallInfo [4] MiscCallInfo DEFAULT {messageType request},
- extensions
- [5] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-FurnishChargingInformationArg ::= FCIBillingChargingCharacteristics
-
-HoldCallInNetworkArg ::= CHOICE {
- holdcause [0] HoldCause,
- empty [1] NULL
-}
-
--- holdcause is optional and denotes network operator specific use.
-InitialDPArg ::= SEQUENCE {
- serviceKey [0] ServiceKey OPTIONAL,
- dialledDigits [1] CalledPartyNumber OPTIONAL,
- calledPartyNumber [2] CalledPartyNumber OPTIONAL,
- callingPartyNumber [3] CallingPartyNumber OPTIONAL,
- callingPartyBusinessGroupID [4] CallingPartyBusinessGroupID OPTIONAL,
- callingPartysCategory [5] CallingPartysCategory OPTIONAL,
- callingPartySubaddress [6] CallingPartySubaddress OPTIONAL,
- cGEncountered [7] CGEncountered OPTIONAL,
- iPSSPCapabilities [8] IPSSPCapabilities OPTIONAL,
- iPAvailable [9] IPAvailable OPTIONAL,
- locationNumber [10] LocationNumber OPTIONAL,
- miscCallInfo [11] MiscCallInfo OPTIONAL,
- originalCalledPartyID [12] OriginalCalledPartyID OPTIONAL,
- serviceProfileIdentifier [13] ServiceProfileIdentifier OPTIONAL,
- terminalType [14] TerminalType OPTIONAL,
- extensions
- [15] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- triggerType [16] TriggerType OPTIONAL,
- highLayerCompatibility [23] HighLayerCompatibility OPTIONAL,
- serviceInteractionIndicators [24] ServiceInteractionIndicators OPTIONAL,
- additionalCallingPartyNumber [25] AdditionalCallingPartyNumber OPTIONAL,
- forwardCallIndicators [26] ForwardCallIndicators OPTIONAL,
- bearerCapability [27] BearerCapability OPTIONAL,
- eventTypeBCSM [28] EventTypeBCSM OPTIONAL,
- redirectingPartyID [29] RedirectingPartyID OPTIONAL,
- redirectionInformation [30] RedirectionInformation OPTIONAL,
- ...
-}
-
--- OPTIONAL for iPSSPCapabilities, iPAvailable, cGEncountered, and miscCallInfo denotes network
--- operator specific use.
--- OPTIONAL for dialledDigits, callingPartyNumber, and callingPartysCategory refer to clause 3 for the
--- trigger detection point processing rules to specify when these parameters are included in the message.
--- OPTIONAL for terminalType indicates that this parameter applies only at originating or terminating
--- local exchanges if the SSF has this information.
-InitiateCallAttemptArg ::= SEQUENCE {
- destinationRoutingAddress [0] DestinationRoutingAddress,
- alertingPattern [1] AlertingPattern OPTIONAL,
- iSDNAccessRelatedInformation [2] ISDNAccessRelatedInformation OPTIONAL,
- travellingClassMark [3] TravellingClassMark OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- [5] ExtensionField{{SupportedExtensions}},
- serviceInteractionIndicators [29] ServiceInteractionIndicators OPTIONAL,
- callingPartyNumber [30] CallingPartyNumber OPTIONAL,
- ...
-}
-
-MidCallArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [2] CalledPartySubaddress OPTIONAL,
- callingPartyBusinessGroupID [3] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [4] CallingPartySubaddress OPTIONAL,
- featureRequestIndicator [5] FeatureRequestIndicator OPTIONAL,
- extensions
- [6] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [7] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-OAnswerArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- callingPartyBusinessGroupID [1] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [2] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [3] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [5] OriginalCalledPartyID OPTIONAL,
- redirectingPartyID [6] RedirectingPartyID OPTIONAL,
- redirectionInformation [7] RedirectionInformation OPTIONAL,
- routeList [8] RouteList OPTIONAL,
- travellingClassMark [9] TravellingClassMark OPTIONAL,
- extensions
- [10] SEQUENCE SIZE (1..numOfExtensions) OF
- [5] ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-OCalledPartyBusyArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- busyCause [1] Cause OPTIONAL,
- callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [3] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [4] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [6] OriginalCalledPartyID OPTIONAL,
- prefix [7] Digits OPTIONAL,
- redirectingPartyID [8] RedirectingPartyID OPTIONAL,
- redirectionInformation [9] RedirectionInformation OPTIONAL,
- routeList [10] RouteList OPTIONAL,
- travellingClassMark [11] TravellingClassMark OPTIONAL,
- extensions
- [12] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [13] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-ODisconnectArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- callingPartyBusinessGroupID [1] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [2] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [3] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- releaseCause [5] Cause OPTIONAL,
- routeList [6] RouteList OPTIONAL,
- extensions
- [7] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [8] Carrier OPTIONAL,
- connectTime [9] Integer4 OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-ONoAnswerArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- callingPartyBusinessGroupID [1] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [2] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [3] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [5] OriginalCalledPartyID OPTIONAL,
- prefix [6] Digits OPTIONAL,
- redirectingPartyID [7] RedirectingPartyID OPTIONAL,
- redirectionInformation [8] RedirectionInformation OPTIONAL,
- routeList [9] RouteList OPTIONAL,
- travellingClassMark [10] TravellingClassMark OPTIONAL,
- extensions
- [11] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [12] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-OriginationAttemptAuthorizedArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- dialledDigits [1] CalledPartyNumber OPTIONAL,
- callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [3] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [4] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
- travellingClassMark [6] TravellingClassMark OPTIONAL,
- extensions
- [7] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [8] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-PlayAnnouncementArg ::= SEQUENCE {
- informationToSend [0] InformationToSend,
- disconnectFromIPForbidden [1] BOOLEAN DEFAULT TRUE,
- requestAnnouncementComplete [2] BOOLEAN DEFAULT TRUE,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-PromptAndCollectUserInformationArg ::= SEQUENCE {
- collectedInfo [0] CollectedInfo,
- disconnectFromIPForbidden [1] BOOLEAN DEFAULT TRUE,
- informationToSend [2] InformationToSend OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-ReceivedInformationArg ::= CHOICE {
- digitsResponse [0] Digits,
- iA5Response [1] IA5String
-}
-
-ReleaseCallArg ::= Cause
-
--- A default value of decimal 31 (normal unspecified) should be coded appropriately.
-RequestCurrentStatusReportArg ::=
- ResourceID
-
-RequestCurrentStatusReportResultArg ::= SEQUENCE {
- resourceStatus [0] ResourceStatus,
- resourceID [1] ResourceID OPTIONAL,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-RequestEveryStatusChangeReportArg ::= SEQUENCE {
- resourceID [0] ResourceID,
- correlationID [1] CorrelationID OPTIONAL,
- monitorDuration [2] Duration OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- For correlationID OPTIONAL denotes network operator optional.
--- monitorDuration is required if outside the context of a call. It is not expected if we are in the context
--- of a call, because in that case the end of the call implicitly means the end of the monitoring.
-RequestFirstStatusMatchReportArg ::= SEQUENCE {
- resourceID [0] ResourceID OPTIONAL,
- resourceStatus [1] ResourceStatus OPTIONAL,
- correlationID [2] CorrelationID OPTIONAL,
- monitorDuration [3] Duration OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- bearerCapability [5] BearerCapability OPTIONAL,
- ...
-}
-
--- For correlationID OPTIONAL denotes network operator optional.
--- monitorDuration is required if outside the context of a call. It is not expected if we are in the context
--- of a call, because in that case the end of the call implicitly means the end of the monitoring.
-RequestNotificationChargingEventArg ::=
- SEQUENCE SIZE (1..numOfChargingEvents) OF ChargingEvent
-
-RequestReportBCSMEventArg ::= SEQUENCE {
- bcsmEvents [0] SEQUENCE SIZE (1..numOfBCSMEvents) OF BCSMEvent,
- bcsmEventCorrelationID [1] CorrelationID OPTIONAL,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- Indicates the BCSM related events for notification.
--- For correlationID OPTIONAL denotes network operator optional.
-ResetTimerArg ::= SEQUENCE {
- timerID [0] TimerID DEFAULT tssf,
- timervalue [1] TimerValue,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-RouteSelectFailureArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- dialledDigits [1] CalledPartyNumber OPTIONAL,
- callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [3] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [4] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
- failureCause [6] Cause OPTIONAL,
- originalCalledPartyID [7] OriginalCalledPartyID OPTIONAL,
- prefix [8] Digits OPTIONAL,
- redirectingPartyID [9] RedirectingPartyID OPTIONAL,
- redirectionInformation [10] RedirectionInformation OPTIONAL,
- routeList [11] RouteList OPTIONAL,
- travellingClassMark [12] TravellingClassMark OPTIONAL,
- extensions
- [13] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [14] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing
--- rules to specify when these parameters are included in the message.
-SelectFacilityArg ::= SEQUENCE {
- alertingPattern [0] AlertingPattern OPTIONAL,
- destinationNumberRoutingAddress [1] CalledPartyNumber OPTIONAL,
- iSDNAccessRelatedInformation [2] ISDNAccessRelatedInformation OPTIONAL,
- calledFacilityGroup [3] FacilityGroup OPTIONAL,
- calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [5] OriginalCalledPartyID OPTIONAL,
- extensions
- [6] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- OPTIONAL parameters are only provided if modifications desired to basic call processing values.
-SelectRouteArg ::= SEQUENCE {
- destinationRoutingAddress [0] DestinationRoutingAddress,
- alertingPattern [1] AlertingPattern OPTIONAL,
- correlationID [2] CorrelationID OPTIONAL,
- iSDNAccessRelatedInformation [3] ISDNAccessRelatedInformation OPTIONAL,
- originalCalledPartyID [4] OriginalCalledPartyID OPTIONAL,
- routeList [5] RouteList OPTIONAL,
- scfID [6] ScfID OPTIONAL,
- travellingClassMark [7] TravellingClassMark OPTIONAL,
- extensions
- [8] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [9] Carrier OPTIONAL,
- ...
-}
-
--- OPTIONAL parameters are only provided if modifications desired to basic call processing values.
-SendChargingInformationArg ::= SEQUENCE {
- sCIBillingChargingCharacteristics [0] SCIBillingChargingCharacteristics,
- partyToCharge [1] LegID,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-ServiceFilteringResponseArg ::= SEQUENCE {
- countersValue [0] CountersValue,
- filteringCriteria [1] FilteringCriteria,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- responseCondition [3] ResponseCondition OPTIONAL,
- ...
-}
-
-SpecializedResourceReportArg ::= NULL
-
-StatusReportArg ::= SEQUENCE {
- resourceStatus [0] ResourceStatus OPTIONAL,
- correlationID [1] CorrelationID OPTIONAL,
- resourceID [2] ResourceID OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- reportCondition [4] ReportCondition OPTIONAL,
- ...
-}
-
--- For correlationID, OPTIONAL denotes network operator optional.
--- resourceID is required when the SSF sends a report as an answer to a previous request when the
--- correlationID was present.
-TAnswerArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [2] CalledPartySubaddress OPTIONAL,
- calledFacilityGroup [3] FacilityGroup OPTIONAL,
- calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- extensions
- [5] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-TBusyArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- busyCause [1] Cause OPTIONAL,
- calledPartyBusinessGroupID [2] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [3] CalledPartySubaddress OPTIONAL,
- originalCalledPartyID [4] OriginalCalledPartyID OPTIONAL,
- redirectingPartyID [5] RedirectingPartyID OPTIONAL,
- redirectionInformation [6] RedirectionInformation OPTIONAL,
- routeList [7] RouteList OPTIONAL,
- travellingClassMark [8] TravellingClassMark OPTIONAL,
- extensions
- [9] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-TDisconnectArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [2] CalledPartySubaddress OPTIONAL,
- calledFacilityGroup [3] FacilityGroup OPTIONAL,
- calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- releaseCause [5] Cause OPTIONAL,
- extensions
- [6] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- connectTime [7] Integer4 OPTIONAL,
- ...
-}
-
-TermAttemptAuthorizedArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [2] CalledPartySubaddress OPTIONAL,
- callingPartyBusinessGroupID [3] CallingPartyBusinessGroupID OPTIONAL,
- originalCalledPartyID [4] OriginalCalledPartyID OPTIONAL,
- redirectingPartyID [5] RedirectingPartyID OPTIONAL,
- redirectionInformation [6] RedirectionInformation OPTIONAL,
- routeList [7] RouteList OPTIONAL,
- travellingClassMark [8] TravellingClassMark OPTIONAL,
- extensions
- [9] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-TNoAnswerArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [2] CalledPartySubaddress OPTIONAL,
- calledFacilityGroup [3] FacilityGroup OPTIONAL,
- calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [5] OriginalCalledPartyID OPTIONAL,
- redirectingPartyID [6] RedirectingPartyID OPTIONAL,
- redirectionInformation [7] RedirectionInformation OPTIONAL,
- travellingClassMark [8] TravellingClassMark OPTIONAL,
- extensions
- [9] SEQUENCE SIZE (1..numOfExtensions) OF
- [3] ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- The Definition of Common Data Types
-AccessCode ::= LocationNumber
-
--- An access code from a business group dialling plan attendant access codes, access codes to escape
--- to the public network, access code to access a private facility/network, and feature access codes.
--- Uses the LocationNumber format which is based on the Q.763 Location Number format.
--- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
--- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
--- Of local significance.
-AChBillingChargingCharacteristics ::=
- OCTET STRING(SIZE (minAChBillingChargingLength..maxAChBillingChargingLength))
-
--- The AChBillingChargingCharacteristics parameter specifies the charging related information
--- to be provided by the SSF and the conditions on which this information has to be reported
--- back to the SCF with the ApplyChargingReport operation.
--- Examples of charging related information to be provided by the SSF may be: bulk counter
--- values, costs, tariff change and time of charge, time stamps, durations, etc.
--- Examples of conditions on which the charging related information are to be reported may be:
--- threshold value reached, timer expiration, tariff change, end of connection configuration, etc.
-AdditionalCallingPartyNumber ::=
- Digits
-
--- Indicates the Additional Calling Party Number. Refer to Recommendation Q.763 for encoding.
-AlertingPattern ::= OCTET STRING(SIZE (3))
-
--- Indicates a specific pattern that is used to alert a subscriber (e.g. distinctive ringing, tones, etc.).
--- Only applies if SSF is the terminating local exchange for the subscriber. Refer to the Q.931
--- Signal parameter for encoding.
-ApplicationTimer ::= INTEGER(0..2047)
-
--- Used by the SCF to set a timer in the SSF. The timer is in seconds.
-AssistingSSPIPRoutingAddress ::=
- Digits
-
--- Indicates the destination address of the SRF for the assist procedure.
-BCSMEvent ::= SEQUENCE {
- eventTypeBCSM [0] EventTypeBCSM,
- monitorMode [1] MonitorMode,
- legID [2] LegID OPTIONAL,
- dpSpecificCriteria [30] DpSpecificCriteria OPTIONAL
-}
-
--- Indicates the BCSM Event information for monitoring.
-BearerCapability ::= CHOICE {
- bearerCap [0] OCTET STRING(SIZE (2..maxBearerCapabilityLength)),
- tmr [1] OCTET STRING(SIZE (1))
-}
-
--- Indicates the type of bearer capability connection to the user. For bearerCapability, either
--- DSS 1 (Q.931) or the ISUP User Service Information (Q.763) encoding can be used. Refer
--- to the Q.763 Transmission Medium Requirement parameter for tmr encoding.
-CalledPartyBusinessGroupID ::= OCTET STRING
-
--- Indicates the business group of the called party. The value of this octet string is network
--- operator specific.
-CalledPartyNumber ::=
- OCTET STRING(SIZE (minCalledPartyNumberLength..maxCalledPartyNumberLength))
-
--- Indicates the Called Party Number. Refer to Recommendation Q.763 for encoding.
-CalledPartySubaddress ::= OCTET STRING
-
--- Indicates the Called Party Subaddress. Refer to Recommendation Q.931 for encoding.
-CallingPartyBusinessGroupID ::= OCTET STRING
-
--- Indicates the business group of the calling party. The value of this octet string is network
--- operator specific.
-CallingPartyNumber ::=
- OCTET STRING(SIZE (minCallingPartyNumberLength..maxCallingPartyNumberLength))
-
--- Indicates the Calling Party Number. Refer to Recommendation Q.763 for encoding.
-CallingPartySubaddress ::= OCTET STRING
-
--- Indicates the Calling Party Subaddress. Refer to Recommendation Q.931 for encoding.
-CallingPartysCategory ::= OCTET STRING(SIZE (1))
-
--- Indicates the type of calling party (e.g. operator, payphone, ordinary subscriber).
--- Refer to Recommendation Q.763 for encoding.
-CallResult ::= OCTET STRING(SIZE (minCallResultLength..maxCallResultLength))
-
--- This parameter provides the SCF with the charging related information previously requested
--- using the ApplyCharging operation. This shall include the partyToCharge parameter as
--- received in the related ApplyCharging operation to correlate the result to the request.
--- The remaining content is network operator specific.
--- Examples of charging related information to be provided by the SSF may be: bulk counter values,
--- costs, tariff change and time of change, time stamps, durations, etc.
--- Examples of conditions on which the charging related information are to be reported may be:
--- threshold value reached, timer expiration, tariff change, end of connection configuration, etc.
-Carrier ::= OCTET STRING
-
--- Contains the carrier selection and carrier ID fields.
--- Carrier selection is one octet and is encoded as:
--- 00000000 No indication
--- 00000001 Selected carrier code pre subscribed and not input by calling party
--- 00000010 Selected carrier identification code pre subscribed and input by calling party
--- 00000011 Selected carrier identification code pre subscribed, no indication of whether input by calling party
--- 00000100 Selected carrier identification code not pre subscribed and input by calling party
--- 00000101
--- to Spare
--- 11111110
--- 11111111 Reserved
---
--- Carrier ID has a one octet field indicating the number of digits followed by the digits encoded using BCD.
--- Detailed coding is for further study. It is of local significance and carrying it through the ISUP is for further
--- study.
-Cause ::= OCTET STRING(SIZE (minCauseLength..maxCauseLength))
-
--- Indicates the cause for interface related information. Refer to the Q.763 Cause parameter for
--- encoding.
--- For the use of cause and location values refer to Recommendation Q.850.
-CGEncountered ::= ENUMERATED {
- noCGencountered(0), manualCGencountered(1), scpOverload(2)}
-
--- Indicates the type of automatic call gapping encountered, if any.
-ChargeNumber ::=
- LocationNumber
-
--- Information sent in either direction indicating the chargeable number for the call and consisting
--- of the odd/even indicator, nature of address indicator, numbering plan indicator, and address signals.
--- Uses the LocationNumber format which is based on the Q.763 Location Number format.
--- For example, the ChargeNumber may be a third party number to which a call is billed for the 3rd party
--- billing service. In this case, the calling party may request operator assistance to charge the call to,
--- for example, their home number.
-ChargingEvent ::= SEQUENCE {
- eventTypeCharging [0] EventTypeCharging,
- monitorMode [1] MonitorMode,
- legID [2] LegID OPTIONAL
-}
-
--- This parameter indicates the charging event type and corresponding
--- monitor mode and LedID.
-CollectedDigits ::= SEQUENCE {
- minimumNbOfDigits [0] INTEGER(1..127) DEFAULT 1,
- maximumNbOfDigits [1] INTEGER(1..127),
- endOfReplyDigit [2] OCTET STRING(SIZE (1..2)) OPTIONAL,
- cancelDigit [3] OCTET STRING(SIZE (1..2)) OPTIONAL,
- startDigit [4] OCTET STRING(SIZE (1..2)) OPTIONAL,
- firstDigitTimeOut [5] INTEGER(1..127) OPTIONAL,
- interDigitTimeOut [6] INTEGER(1..127) OPTIONAL,
- errorTreatment [7] ErrorTreatment DEFAULT reportErrorToScf,
- interruptableAnnInd [8] BOOLEAN DEFAULT TRUE,
- voiceInformation [9] BOOLEAN DEFAULT FALSE,
- voiceBack [10] BOOLEAN DEFAULT FALSE
-}
-
--- The use of voiceBack is network operator specific.
--- The endOfReplyDigit, cancelDigit, and startDigit parameters have been designated as OCTET STRING,
--- and are to be encoded as BCD, one digit per octet only, contained
--- in the four least significant bits of each OCTET. The usage is service dependent.
-CollectedInfo ::= CHOICE {
- collectedDigits [0] CollectedDigits,
- iA5Information [1] BOOLEAN
-}
-
-ControlType ::= ENUMERATED {
- sCPOverloaded(0), manuallyInitiated(1), destinationOverload(2)
- -- other values FFS
- }
-
-CorrelationID ::= Digits
-
--- used by SCF for correlation with a previous operation. Refer to clause 3 for a description of the
--- procedures associated with this parameter.
-CounterAndValue ::= SEQUENCE {
- counterID [0] CounterID,
- counterValue [1] Integer4
-}
-
-CounterID ::= INTEGER(0..99)
-
--- Indicates the counters to be incremented.
--- The counterIDs can be addressed by using the last digits of the dialled number.
-CountersValue ::= SEQUENCE SIZE (0..numOfCounters) OF CounterAndValue
-
-CutAndPaste ::= INTEGER(0..22)
-
--- Indicates the number of digits to be deleted. Refer to 6.4.2.16/Q.1214 for additional information.
-DateAndTime ::= OCTET STRING(SIZE (6))
-
--- Indicates, amongst others, the start time for activate service filtering. Coded as YYMMDDHHMMSS
--- with each digit coded BCD.
--- The first octet contains YY and the remaining items are sequenced following.
--- For example, 1993 September 30th, 12:15:01 would be encoded as:
--- Bits HGFE DCBA
--- leading octet 3 9
--- 9 0
--- 0 3
--- 2 1
--- 5 1
--- 1 0
-DestinationRoutingAddress ::= SEQUENCE SIZE (1..3) OF CalledPartyNumber
-
--- Indicates the list of Called Party Numbers (primary and alternates).
-Digits ::= OCTET STRING(SIZE (minDigitsLength..maxDigitsLength))
-
--- Indicates the address signalling digits. Refer to the Q.763 Generic Number and Generic Digits parameters
--- for encoding. The coding of the subfields 'NumberQualifier' in Generic Number and 'TypeOfDigits' in
--- Generic Digits are irrelevant to the INAP, the ASN.1 tags are sufficient to identify the parameter.
--- The ISUP format does not allow to exclude these subfields, therefore the value is network operator specific.
--- The following parameters should use Generic Number:
--- CorrelationID for AssistRequestInstructions, AssistingSSPIPRoutingAddress for
--- EstablishTemporaryConnection, calledAddressValue for all occurrences, callingAddressValue for all
--- occurrences. The following parameters should use Generic Digits: prefix, all
--- other CorrelationID occurrences, dialledNumber filtering criteria, callingLineID filtering criteria, lineID
--- for ResourceID type, digitResponse for ReceivedInformationArg.
-DisplayInformation ::=
- IA5String(SIZE (minDisplayInformationLength..maxDisplayInformationLength))
-
--- Indicates the display information.
-DpSpecificCriteria ::= CHOICE {
- numberOfDigits [0] NumberOfDigits,
- applicationTimer [1] ApplicationTimer
-}
-
--- The SCF may specify the number of digits to be collected by the SSF for the CollectedInfo event.
--- When all digits are collected, the SSF reports the event to the SCF.
--- The SCF may set a timer in the SSF for the No Answer event. If the user does not answer the call
--- within the allotted time, the SSF reports the event to the SCF.
-Duration ::= INTEGER(-2..86400)
-
--- Values are seconds.
-ErrorTreatment ::= ENUMERATED {reportErrorToScf(0), help(1), repeatPrompt(2)
-}
-
--- reportErrorToScf means returning the "ImproperCallerResponse" error in the event of an error
--- condition during collection of user info.
-EventSpecificInformationBCSM ::= CHOICE {
- collectedInfoSpecificInfo
- [0] SEQUENCE {calledPartynumber [0] CalledPartyNumber,
- ...},
- analyzedInfoSpecificInfo
- [1] SEQUENCE {calledPartynumber [0] CalledPartyNumber,
- ...},
- routeSelectFailureSpecificInfo
- [2] SEQUENCE {failureCause [0] Cause OPTIONAL,
- ...},
- oCalledPartyBusySpecificInfo
- [3] SEQUENCE {busyCause [0] Cause OPTIONAL,
- ...},
- oNoAnswerSpecificInfo
- [4] SEQUENCE {-- no specific info defined
- ...},
- oAnswerSpecificInfo
- [5] SEQUENCE {-- no specific info defined
- ...},
- oMidCallSpecificInfo
- [6] SEQUENCE {connectTime [0] Integer4 OPTIONAL,
- ...},
- oDisconnectSpecificInfo
- [7] SEQUENCE {releaseCause [0] Cause OPTIONAL,
- connectTime [1] Integer4 OPTIONAL,
- ...},
- tBusySpecificInfo
- [8] SEQUENCE {busyCause [0] Cause OPTIONAL,
- ...},
- tNoAnswerSpecificInfo
- [9] SEQUENCE {-- no specific info defined
- ...},
- tAnswerSpecificInfo
- [10] SEQUENCE {-- no specific info defined
- ...},
- tMidCallSpecificInfo
- [11] SEQUENCE {connectTime [0] Integer4 OPTIONAL,
- ...},
- tDisconnectSpecificInfo
- [12] SEQUENCE {releaseCause [0] Cause OPTIONAL,
- connectTime [1] Integer4 OPTIONAL,
- ...}
-}
-
--- Indicates the call related information specific to the event.
--- The connectTime indicates the duration between the received answer indication from the called party side
--- and the release of the connection for ODisconnect, OException, TDisconnect, or TException events.
--- The unit for the connectTime is 100 milliseconds.
-EventSpecificInformationCharging ::=
- OCTET STRING
- (SIZE (minEventSpecificInformationChargingLength..
- maxEventSpecificInformationChargingLength))
-
--- defined by network operator.
--- Indicates the charging related information specific to the event.
--- An example data type definition for this parameter is given below:
--- chargePulses [0] Integer4,
--- chargeMessages [1] OCTET STRING (SIZE (min..max))
-EventTypeBCSM ::= ENUMERATED {
- origAttemptAuthorized(1), collectedInfo(2), analysedInformation(3),
- routeSelectFailure(4), oCalledPartyBusy(5), oNoAnswer(6), oAnswer(7),
- oMidCall(8), oDisconnect(9), oAbandon(10), termAttemptAuthorized(12),
- tBusy(13), tNoAnswer(14), tAnswer(15), tMidCall(16), tDisconnect(17),
- tAbandon(18)}
-
--- Indicates the BCSM detection point event. Refer to 4.2.2.2/Q.1214 for additional information on the
--- events. Values origAttemptAuthorized and termAttemptAuthorized can only be used for TDPs.
-EventTypeCharging ::=
- OCTET STRING(SIZE (minEventTypeChargingLength..maxEventTypeChargingLength))
-
--- This parameter indicates the charging event type. Its content is network operator specific.
---
--- An example data type definition for this parameter is given below:
--- EventTypeCharging ::= ENUMERATED {
--- chargePulses (0),
--- chargeMessages (1)
--- }
-EXTENSION ::= CLASS {
- &id ExtensionType UNIQUE,
- &Type OPTIONAL,
- &absent &Type OPTIONAL,
- &criticality Criticality DEFAULT ignored
-}
-WITH SYNTAX {
- [EXTENSION-SYNTAX &Type
- [IF ABSENT &absent]]
- [CRITICALITY &criticality]
- IDENTIFIED BY &id
-}
-
-ExtensionType ::= INTEGER(0..MAX)
-
-Criticality ::= ENUMERATED {ignored(0), abort(1)}
-
-ExtensionField{EXTENSION:ChosenFrom} ::= SEQUENCE {
- type EXTENSION.&id({ChosenFrom}),
- criticality Criticality DEFAULT ignored,
- value [1] EXTENSION.&Type({ChosenFrom}{@type})
-}
-
--- This parameter indicates an extension of an argument data type. Its content is network operator specific.
-SupportedExtensions EXTENSION ::=
- {...}
-
-FacilityGroup ::= CHOICE {
- trunkGroupID [0] INTEGER,
- privateFacilityID [1] INTEGER,
- huntGroup [2] OCTET STRING,
- routeIndex [3] OCTET STRING
-}
-
--- Indicates the particular group of facilities to route the call. huntGroup and routeIndex are encoded as
--- network operator specific.
-FacilityGroupMember ::= INTEGER
-
--- Indicates the specific member of a trunk group or multi-line hunt group.
-FCIBillingChargingCharacteristics ::=
- OCTET STRING(SIZE (minFCIBillingChargingLength..maxFCIBillingChargingLength))
-
--- This parameter indicates the billing and/or charging characteristics. Its content is network operator
--- specific. An example datatype definition for this parameter is given below:
--- FCIBillingChargingCharacteristics ::= CHOICE {
--- completeChargingrecord [0] OCTET STRING (SIZE (min..max)),
--- correlationID [1] CorrelationID,
--- scenario2Dot3 [2] SEQUENCE {
--- chargeParty [0] LegID OPTIONAL,
--- chargeLevel [1] OCTET STRING (SIZE (min..max))
--- OPTIONAL,
--- chargeItems [2] SET OF Attribute OPTIONAL
--- }
--- }
--- Depending on the applied charging scenario, the following information elements can be included
--- (refer to Q.1214 Appendix II):
--- complete charging record (scenario 2.2)
--- charge party (scenario 2.3)
--- charge level (scenario 2.3)
--- charge items (scenario 2.3)
--- correlationID (scenario 2.4)
-FeatureCode ::=
- LocationNumber
-
--- The two-digit feature code preceded by "*" or "11".
--- Uses the LocationNumber format which is based on the Q.763 Location Number format.
--- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
--- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
--- Used for stimulus signalling (Q.932).
-FeatureRequestIndicator ::= ENUMERATED {
- hold(0), retrieve(1), featureActivation(2), spare1(3), sparen(127)}
-
--- Indicates the feature activated (e.g. a switch-hook flash, feature activation). Spare values reserved
--- for future use.
-FilteredCallTreatment ::= SEQUENCE {
- sFBillingChargingCharacteristics [0] SFBillingChargingCharacteristics,
- informationToSend [1] InformationToSend OPTIONAL,
- maximumNumberOfCounters [2] MaximumNumberOfCounters OPTIONAL,
- releaseCause [3] Cause OPTIONAL
-}
-
--- If releaseCause is not present, the default value is the same as the ISUP cause value decimal 31.
--- If informationToSend is present, the call will be released after the end of the announcement
--- with the indicated or default releaseCause.
--- If maximumNumberOfCounters is not present, ServiceFilteringResponse will be sent with
--- CountersValue::= SEQUENCE SIZE (0) OF CountersAndValue.
-FilteringCharacteristics ::= CHOICE {
- interval [0] INTEGER(-1..32000),
- numberOfCalls [1] Integer4
-}
-
--- Indicates the severity of the filtering and the point in time when the ServiceFilteringResponse is to be sent.
--- If = interval, every interval of time the next call leads to an InitialDP and a ServiceFilteringResponse is
--- sent to the SCF. The interval is specified in seconds.
--- If = NumberOfCalls, every N calls the Nth call leads to an InitialDP and a ServiceFilteringResponse
--- is sent to the SCF.
--- If ActivateServiceFiltering implies several counters - filtering on several dialled numbers -,
--- the numberOfCalls would include calls to all the dialled numbers.
-FilteringCriteria ::= CHOICE {
- dialledNumber [0] Digits,
- callingLineID [1] Digits,
- serviceKey [2] ServiceKey,
- addressAndService
- [30] SEQUENCE {calledAddressValue [0] Digits,
- serviceKey [1] ServiceKey,
- callingAddressValue [2] Digits OPTIONAL,
- locationNumber [3] LocationNumber OPTIONAL
- }
-}
-
--- In case calledAddressValue is specified, the numbers to be filtered are from calledAddressValue
--- up to and including calledAddressValue + maximumNumberOfCounters-1.
--- The last two digits of calledAddressvalue can not exceed 100-maximumNumberOfCounters.
-FilteringTimeOut ::= CHOICE {
- duration [0] Duration,
- stopTime [1] DateAndTime
-}
-
--- Indicates the maximum duration of the filtering. When the timer expires, a ServiceFilteringResponse
--- is sent to the SCF.
-ForwardCallIndicators ::= OCTET STRING(SIZE (2))
-
--- Indicates the Forward Call Indicators. Refer to Recommendation Q.763 for encoding.
-ForwardingCondition ::= ENUMERATED {busy(0), noanswer(1), any(2)}
-
--- Indicates the condition that must be met to complete the connect.
-GapCriteria ::= CHOICE {
- calledAddressValue [0] Digits,
- gapOnService [2] GapOnService,
- calledAddressAndService
- [29] SEQUENCE {calledAddressValue [0] Digits,
- serviceKey [1] ServiceKey},
- callingAddressAndService
- [30] SEQUENCE {callingAddressValue [0] Digits,
- serviceKey [1] ServiceKey,
- locationNumber [2] LocationNumber OPTIONAL
- }
-}
-
--- Both calledAddressValue and callingAddressValue can be
--- incomplete numbers, in the sense that a limited amount of digits can be given.
---
--- For the handling of numbers starting with the same digit string, refer to the detailed procedure
--- of the CallGap operation in 3.3.
-GapOnService ::= SEQUENCE {
- serviceKey [0] ServiceKey,
- dpCriteria [1] EventTypeBCSM OPTIONAL
-}
-
---Recommendation Q.1218 (10/95)
-GapIndicators ::= SEQUENCE {
- duration [0] Duration,
- gapInterval [1] Interval
-}
-
--- Indicates the gapping characteristics. No gapping when gapInterval equals 0, and gap all calls when
--- gapInterval equals 1.
-GapTreatment ::= CHOICE {
- informationToSend [0] InformationToSend,
- releaseCause [1] Cause,
- both
- [2] SEQUENCE {informationToSend [0] InformationToSend,
- releaseCause [1] Cause}
-}
-
--- The default value for Cause is the same as in ISUP.
-HighLayerCompatibility ::= OCTET STRING(SIZE (highLayerCompatibilityLength))
-
--- Indicates the teleservice. For encoding, DSS 1 (Q.931) is used.
-HoldCause ::= OCTET STRING -- defined by network operator.
-
--- Indicates the cause for holding the call.
-InbandInfo ::= SEQUENCE {
- messageID [0] MessageID,
- numberOfRepetitions [1] INTEGER(1..127) OPTIONAL,
- duration [2] INTEGER(0..32767) OPTIONAL,
- interval [3] INTEGER(0..32767) OPTIONAL
-}
-
--- Interval is the time in seconds between each repeated announcement. Duration is the total
--- amount of time in seconds, including repetitions and intervals.
--- The end of announcement is either the end of duration or numberOfRepetitions, whatever comes first.
--- Duration with value 0 indicates infinite duration.
-InformationToSend ::= CHOICE {
- inbandInfo [0] InbandInfo,
- tone [1] Tone,
- displayInformation [2] DisplayInformation
-}
-
-Integer4 ::= INTEGER(0..2147483647)
-
-Interval ::= INTEGER(-1..60000)
-
--- Units are milliseconds. A -1 value denotes infinite.
-InvokeID ::=
- InvokeIdType
-
--- Operation invoke identifier.
-IPAvailable ::= OCTET STRING(SIZE (minIPAvailableLength..maxIPAvailableLength))
-
--- defined by network operator.
--- Indicates that the resource is available.
-IPRoutingAddress ::=
- CalledPartyNumber
-
--- Indicates the routing address for the IP.
-IPSSPCapabilities ::=
- OCTET STRING(SIZE (minIPSSPCapabilitiesLength..maxIPSSPCapabilitiesLength))
-
--- defined by network operator.
--- Indicates the SRF resources available at the SSP.
-ISDNAccessRelatedInformation ::= OCTET STRING
-
--- Indicates the destination user network interface related information. Refer to the Q.763 Access
--- Transport parameter for encoding.
-LegID ::= CHOICE {sendingSideID [0] LegType,
- receivingSideID [1] LegType
-}
-
--- Indicates a reference to a specific party in a call. OPTIONAL denotes network operator specific use
--- with a choice of unilateral ID assignment or bilateral ID assignment.
--- OPTIONAL for LegID also denotes the following:
--- - when only one party exists in the call, this parameter is not needed (as no ambiguity exists);
--- - when more than one party exists in the call, one of the following alternatives applies:
--- 1. LegID is present and indicates which party is concerned.
--- 2. LegID is not present and a default value is assumed (e.g. calling party in the case of the
--- ApplyCharging operation).
--- Choice between these two alternatives is kept a network operator option.
-LegType ::= OCTET STRING(SIZE (1))
-
-leg1 LegType ::= '01'H
-
-leg2 LegType ::= '02'H
-
-LocationNumber ::=
- OCTET STRING(SIZE (minLocationNumberLength..maxLocationNumberLength))
-
--- Indicates the Location Number for the calling party. Refer to Recommendation Q.763 (White book) for encoding.
-MaximumNumberOfCounters ::= INTEGER(1..numOfCounters)
-
-MessageID ::= CHOICE {
- elementaryMessageID [0] Integer4,
- text
- [1] SEQUENCE {messageContent
- [0] IA5String
- (SIZE (minMessageContentLength..
- maxMessageContentLength)),
- attributes
- [1] OCTET STRING
- (SIZE (minAttributesLength..maxAttributesLength))
- OPTIONAL},
- elementaryMessageIDs [29] SEQUENCE SIZE (1..numOfMessageIDs) OF Integer4,
- variableMessage
- [30] SEQUENCE {elementaryMessageID [0] Integer4,
- variableParts
- [1] SEQUENCE SIZE (1..5) OF VariablePart}
-}
-
--- OPTIONAL denotes network operator specific use.
-MiscCallInfo ::= SEQUENCE {
- messageType [0] ENUMERATED {request(0), notification(1)},
- dpAssignment
- [1] ENUMERATED {individualLine(0), groupBased(1), officeBased(2)} OPTIONAL
-}
-
--- Indicates detection point related information.
-MonitorMode ::= ENUMERATED {
- interrupted(0), notifyAndContinue(1), transparent(2)}
-
--- Indicates the event is relayed and/or processed by the SSP.
--- If this parameter is used in the context of charging events, the following definitions apply for the
--- handling of charging events:
--- Interrupted means that the SSF notifies the SCF of the charging event using
--- EventNotificationCharging, does not process the event but discard it.
--- NotifyAndContinue means that SSF notifies the SCF of the charging event using
--- EventNotificationCharging, and continues processing the event or signal without waiting for SCF
--- instructions. Transparent means that the SSF does not notify the SCF of the event. This value is used to
--- end the monitoring of a previously requested charging event. Previously requested charging events are
--- monitored until ended by a transparent monitor mode, or until the end of the connection configuration.
--- For the use of this parameter in the context of BCSM events refer to 3.3.39.
-NumberingPlan ::= OCTET STRING(SIZE (1))
-
--- Indicates the numbering plan for collecting the user information. Refer to the Q.763 Numbering Plan.
--- Indicator field for encoding.
-NumberOfDigits ::= INTEGER(1..255)
-
--- Indicates the number of digits to be collected
-OriginalCalledPartyID ::=
- OCTET STRING
- (SIZE (minOriginalCalledPartyIDLength..maxOriginalCalledPartyIDLength))
-
--- Indicates the original called number. Refer to the Q.763 Original Called Number for encoding.
-RedirectingPartyID ::=
- OCTET STRING(SIZE (minRedirectingPartyIDLength..maxRedirectingPartyIDLength))
-
--- Indicates redirecting number. Refer to the Q.763 Redirecting number for encoding.
-RedirectionInformation ::= OCTET STRING(SIZE (2))
-
--- Indicates redirection information. Refer to the Q.763 Redirection Information for encoding.
-ReportCondition ::= ENUMERATED {statusReport(0), timerExpired(1), canceled(2)
-}
-
--- ReportCondition specifies the cause of sending "StatusReport" operation to the SCF.
-RequestedInformationList ::=
- SEQUENCE SIZE (1..numOfInfoItems) OF RequestedInformation
-
-RequestedInformationTypeList ::=
- SEQUENCE SIZE (1..numOfInfoItems) OF RequestedInformationType
-
-RequestedInformation ::= SEQUENCE {
- requestedInformationType [0] RequestedInformationType,
- requestedInformationValue [1] RequestedInformationValue
-}
-
-RequestedInformationType ::= ENUMERATED {
- callAttemptElapsedTime(0), callStopTime(1), callConnectedElapsedTime(2),
- calledAddress(3), releaseCause(30)}
-
-RequestedInformationValue ::= CHOICE {
- callAttemptElapsedTimeValue [0] INTEGER(0..255),
- callStopTimeValue [1] DateAndTime,
- callConnectedElapsedTimeValue [2] Integer4,
- calledAddressValue [3] Digits,
- releaseCauseValue [30] Cause
-}
-
--- The callAttemptElapsedTimeValue is specified in seconds. The unit for the
--- callConnectedElapsedTimeValue is 100 milliseconds.
-ResourceID ::= CHOICE {
- lineID [0] Digits,
- facilityGroupID [1] FacilityGroup,
- facilityGroupMemberID [2] INTEGER,
- trunkGroupID [3] INTEGER
-}
-
--- Indicates a logical identifier for the physical termination resource.
-ResourceStatus ::= ENUMERATED {busy(0), idle(1)}
-
-ResponseCondition ::= ENUMERATED {intermediateResponse(0), lastResponse(1)
-
--- additional values are for further study.
-}
-
--- ResponseCondition is used to identify the reason why ServiceFilteringResponse operation is sent.
--- intermediateresponse identifies that service filtering is running and the interval time is expired and
--- a call is received, or that service filtering is running and the threshold value is reached.
--- lastResponse identifies that the duration time is expired and service filtering has been finished or
--- that the stop time is met and service filtering has been finished.
-RouteList ::=
- SEQUENCE SIZE (1..3) OF
- OCTET STRING(SIZE (minRouteListLength..maxRouteListLength))
-
--- Indicates a list of trunk groups or a route index. See Recommendation Q.1214 for additional information on this item.
-ScfID ::= OCTET STRING(SIZE (minScfIDLength..maxScfIDLength))
-
--- defined by network operator.
--- Indicates the SCF identifier.
-SCIBillingChargingCharacteristics ::=
- OCTET STRING(SIZE (minSCIBillingChargingLength..maxSCIBillingChargingLength))
-
--- This parameter indicates the billing and/or charging characteristics. Its content is network operator
--- specific. An example datatype definition for this parameter is given below:
--- SCIBillingChargingCharacteristics ::= CHOICE {
--- chargeLevel [0] OCTET STRING (SIZE (min..max),
--- chargePulses [1] Integer4,
--- chargeMessages [2] OCTET STRING (SIZE (min..max)
--- }
--- Depending on the applied charging scenario the following information elements
--- can be included (refer to Appendix II/Q.1214):
--- chargeLevel (scenario 3.2)
--- chargePulses (scenario 3.2)
--- chargeMessages (scenario 3.2)
-ServiceAddressInformation ::= SEQUENCE {
- serviceKey [0] ServiceKey OPTIONAL,
- miscCallInfo [1] MiscCallInfo,
- triggerType [2] TriggerType OPTIONAL
-}
-
--- Information that represents the result of trigger analysis and allows the SCF to choose the appropriate
--- service logic.
-ServiceInteractionIndicators ::=
- OCTET STRING
- (SIZE (minServiceInteractionIndicatorsLength..
- maxServiceInteractionIndicatorsLength))
-
--- Indicators which are exchanged between SSP and SCP to resolve interactions between IN based services
--- and network based services, respectively between different IN based services.
--- The contents are network specific and identified as a subject for further study with respect to INAP.
--- The following example is listed to illustrate the use of this parameter:
--- CallToBeDiverted Allowed/NotAllowed Indicator
--- If the CallToBeDiverted indicator is set to NotAllowed, the destination exchange shall not allow any
--- divertion on the subjected call. By this, each service can pass the applicable indicators to inform the
--- destination exchange of how specific services are to be handled.
-ServiceKey ::=
- Integer4
-
--- Information that allows the SCF to choose the appropriate service logic.
-ServiceProfileIdentifier ::= OCTET STRING
-
--- Indicates a particular ISDN terminal. Refer to Recommendation Q.932 for encoding.
-ServingAreaID ::=
- LocationNumber
-
--- Identifies the local serving area where a network provider operates. Uses the LocationNumber
--- format which is based on the Q.763 Location Number format.
--- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
--- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
--- Defined by the network operator.
-SFBillingChargingCharacteristics ::=
- OCTET STRING(SIZE (minSFBillingChargingLength..maxSFBillingChargingLength))
-
--- This parameter indicates the billing and/or charging characteristics for filtered calls.
--- Its content is network operator specific.
-TerminalType ::= ENUMERATED {
- unknown(0), dialPulse(1), dtmf(2), isdn(3), isdnNoDtmf(4), spare(16)
-}
-
--- Identifies the terminal type so that the SCF can specify, to the SRF, the appropriate type of capability
--- (voice recognition, DTMF, display capability, etc.). Since present signalling systems do not convey
--- terminal type, this parameter applies only at originating or terminating local exchanges.
-TimerID ::= ENUMERATED {tssf(0)
- -- others ffs
- }
-
--- Indicates the timer to be reset.
-TimerValue ::= Integer4
-
--- Indicates the timer value (in seconds).
-Tone ::= SEQUENCE {toneID [0] Integer4,
- duration [1] Integer4 OPTIONAL
-}
-
--- The duration specifies the length of the tone in seconds, value 0 indicates infinite duration.
-TravellingClassMark ::=
- LocationNumber
-
--- Indicates travelling class mark information.
--- Uses the LocationNumber format which is based on the Q.763 Location Number format.
--- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
--- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
--- Maximum 2 digits.
-TriggerType ::= ENUMERATED {
- featureActivation(0), verticalServiceCode(1), customizedAccess(2),
- customizedIntercom(3), emergencyService(12), aFR(13), sharedIOTrunk(14),
- offHookDelay(17), channelSetupPRI(18), tNoAnswer(25), tBusy(26),
- oCalledPartyBusy(27), oNoAnswer(29), originationAttemptAuthorized(30),
- oAnswer(31), oDisconnect(32), termAttemptAuthorized(33), tAnswer(34),
- tDisconnect(35)
- -- Private (ffs)
- }
-
--- The type of trigger which caused call suspension
--- 4-11: Reserved; 15,16: Reserved; 19-24: Reserved
-UnavailableNetworkResource ::= ENUMERATED {
- unavailableResources(0), componentFailure(1),
- basicCallProcessingException(2), resourceStatusFailure(3), endUserFailure(4)
-}
-
--- Indicates the network resource that failed.
-VariablePart ::= CHOICE {
- integer [0] Integer4,
- number [1] Digits, -- Generic digits
- time [2] OCTET STRING(SIZE (2)), -- HH:MM, BCD coded
- date [3] OCTET STRING(SIZE (3)), -- YYMMDD, BCD coded
- price [4] OCTET STRING(SIZE (4))
-}
-
--- Indicates the variable part of the message.
--- BCD coded variable parts are encoded as described in the examples below.
--- For example, time = 12:15 would be encoded as:
--- Bits HGFE DCBA
--- leading octet 2 1
--- 5 1
--- date = 1993 September 30th would be encoded as:
--- Bits HGFE DCBA
--- leading octet 3 9
--- 9 0
--- 0 3
--- The Definition of range of constants Follows
-highLayerCompatibilityLength INTEGER ::=
- 2
-
-minAChBillingChargingLength INTEGER ::= 0 -- network specific
-
-maxAChBillingChargingLength INTEGER ::= 1 -- network specific
-
-minAttributesLength INTEGER ::= 0 -- network specific
-
-maxAttributesLength INTEGER ::= 1 -- network specific
-
-maxBearerCapabilityLength INTEGER ::= 2 -- network specific
-
-minCalledPartyNumberLength INTEGER ::= 0 -- network specific
-
-maxCalledPartyNumberLength INTEGER ::= 1 -- network specific
-
-minCallingPartyNumberLength INTEGER ::= 0 -- network specific
-
-maxCallingPartyNumberLength INTEGER ::= 1 -- network specific
-
-minCallResultLength INTEGER ::= 0 -- network specific
-
-maxCallResultLength INTEGER ::= 1 -- network specific
-
-minCauseLength INTEGER ::= 2
-
-maxCauseLength INTEGER ::= 2 -- network specific
-
-minDigitsLength INTEGER ::= 0 -- network specific
-
-maxDigitsLength INTEGER ::= 1 -- network specific
-
-minDisplayInformationLength INTEGER ::= 0 -- network specific
-
-maxDisplayInformationLength INTEGER ::= 1 -- network specific
-
-minEventSpecificInformationChargingLength INTEGER ::= 0 -- network specific
-
-maxEventSpecificInformationChargingLength INTEGER ::= 1 -- network specific
-
-minEventTypeChargingLength INTEGER ::= 0 -- network specific
-
-maxEventTypeChargingLength INTEGER ::= 1 -- network specific
-
-minFCIBillingChargingLength INTEGER ::= 0 -- network specific
-
-maxFCIBillingChargingLength INTEGER ::= 1 -- network specific
-
-minIPAvailableLength INTEGER ::= 0 -- network specific
-
-maxIPAvailableLength INTEGER ::= 1 -- network specific
-
-minIPSSPCapabilitiesLength INTEGER ::= 0 -- network specific
-
-maxIPSSPCapabilitiesLength INTEGER ::= 1 -- network specific
-
-minLocationNumberLength INTEGER ::= 0 -- network specific
-
-maxLocationNumberLength INTEGER ::= 1 -- network specific
-
-minMessageContentLength INTEGER ::= 0 -- network specific
-
-maxMessageContentLength INTEGER ::= 1 -- network specific
-
-minOriginalCalledPartyIDLength INTEGER ::= 0 -- network specific
-
-maxOriginalCalledPartyIDLength INTEGER ::= 1 -- network specific
-
-minRedirectingPartyIDLength INTEGER ::= 0 -- network specific
-
-maxRedirectingPartyIDLength INTEGER ::= 1 -- network specific
-
-minRouteListLength INTEGER ::= 0 -- network specific
-
-maxRouteListLength INTEGER ::= 1 -- network specific
-
-minScfIDLength INTEGER ::= 0 -- network specific
-
-maxScfIDLength INTEGER ::= 1 -- network specific
-
-minSCIBillingChargingLength INTEGER ::= 0 -- network specific
-
-maxSCIBillingChargingLength INTEGER ::= 1 -- network specific
-
-minServiceInteractionIndicatorsLength INTEGER ::= 0 -- network specific
-
-maxServiceInteractionIndicatorsLength INTEGER ::= 1 -- network specific
-
-minSFBillingChargingLength INTEGER ::= 0 -- network specific
-
-maxSFBillingChargingLength INTEGER ::= 1 -- network specific
-
-numOfBCSMEvents INTEGER ::= 1 -- network specific
-
-numOfChargingEvents INTEGER ::= 1 -- network specific
-
-numOfCounters INTEGER ::= 100
-
-numOfExtensions INTEGER ::= 1 -- network specific
-
-numOfInfoItems INTEGER ::= 5
-
-numOfMessageIDs INTEGER ::= 1 -- network specific
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/INAPv2extract.asn b/lib/asn1/test/asn1_bin_SUITE_data/INAPv2extract.asn
deleted file mode 100644
index 8eaecbd0a7..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/INAPv2extract.asn
+++ /dev/null
@@ -1,112 +0,0 @@
-INAPv2extract DEFINITIONS
-
-EXPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXTENSION ::= CLASS {
- &ExtensionType ,
- &criticality CriticalityType DEFAULT ignore,
- &id Code
-}
-WITH SYNTAX {
- EXTENSION-SYNTAX &ExtensionType
- [CRITICALITY &criticality]
- IDENTIFIED BY &id
-}
-
-CriticalityType ::= ENUMERATED {ignore(0), abort(1)}
-
-Code ::= CHOICE {local INTEGER,
- global OBJECT IDENTIFIER
-}
-
---3b parameteriserad object set
-SupportedExtensions{PARAMETERS-BOUND:bound} EXTENSION ::=
-{firstExtension |
- boundedExtension {bound}, --4a instans av parameteriserat object
- ...
-}
-
-firstExtension EXTENSION ::= {
- EXTENSION-SYNTAX NULL
- CRITICALITY ignore
- IDENTIFIED BY local:1
-}
-
---4b parameteriserat object
-boundedExtension{PARAMETERS-BOUND:bound} EXTENSION ::= {
- EXTENSION-SYNTAX BoundedExtensionSyntax {bound} --5a instans av parameteriserad typ
- CRITICALITY ignore
- IDENTIFIED BY local:2
-}
-
---1b parameteriserad typ
-InitialDPArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
- dialledDigits [1] CalledPartyNumber{bound} OPTIONAL, --2a instans av parameteriserad typ
- extensions [15] SEQUENCE SIZE (1..bound.&numOfExtensions) OF ExtensionField{ {SupportedExtensions {bound}}} OPTIONAL --3a instans av parameteriserad objectset
-}
-
-ExtensionField{EXTENSION:SupportedExtensions} ::= SEQUENCE {
- type EXTENSION.&id({SupportedExtensions}),
- -- shall identify the value of an EXTENSION type
- criticality CriticalityType DEFAULT ignore,
- value [1] EXTENSION.&ExtensionType({SupportedExtensions}{@type})
-}
-
---2b parameteriserad typ
-CalledPartyNumber{PARAMETERS-BOUND:bound} ::=
- OCTET STRING
- (SIZE (bound.&minCalledPartyNumberLength..bound.&maxCalledPartyNumberLength))
-
---5b parameteriserad typ
-BoundedExtensionSyntax{PARAMETERS-BOUND:bound} ::= SEQUENCE { --5
- digits OCTET STRING(SIZE (bound.&minDigitsLength..bound.&maxDigitsLength))
-}
-
-PARAMETERS-BOUND ::= CLASS {
- &minAChBillingChargingLength INTEGER,
- &maxAChBillingChargingLength INTEGER,
- &minAttributesLength INTEGER,
- &maxAttributesLength INTEGER,
- &minBackwardGVNSLength INTEGER,
- &minDigitsLength INTEGER,
- &maxDigitsLength INTEGER,
- &minCalledPartyNumberLength INTEGER,
- &maxCalledPartyNumberLength INTEGER,
- &numOfExtensions INTEGER
-}
-WITH SYNTAX {
- MINIMUM-FOR-ACH-BILLING-CHARGING &minAChBillingChargingLength
- MAXIMUM-FOR-ACH-BILLING-CHARGING &maxAChBillingChargingLength
- MINIMUM-FOR-ATTRIBUTES &minAttributesLength
- MAXIMUM-FOR-ATTRIBUTES &maxAttributesLength
- MINIMUM-FOR-BACKWARD-GVNS &minBackwardGVNSLength
- MINIMUM-FOR-DIGITS &minDigitsLength
- MAXIMUM-FOR-DIGITS &maxDigitsLength
- MINIMUM-FOR-CALLED-PARTY-NUMBER &minCalledPartyNumberLength
- MAXIMUM-FOR-CALLED-PARTY-NUMBER &maxCalledPartyNumberLength
- NUM-OF-EXTENSIONS &numOfExtensions
- }
-
---1a instans av parameteriserad typ
-ActivityTest2 ::= InitialDPArg{networkSpecificBoundSet}
-
-networkSpecificBoundSet PARAMETERS-BOUND ::= {
- MINIMUM-FOR-ACH-BILLING-CHARGING 1 -- example value
- MAXIMUM-FOR-ACH-BILLING-CHARGING 5 -- example value
- MINIMUM-FOR-ATTRIBUTES 1 -- example value
- MAXIMUM-FOR-ATTRIBUTES 5 -- example value
- MINIMUM-FOR-BACKWARD-GVNS 1
- MINIMUM-FOR-DIGITS 1
- MAXIMUM-FOR-DIGITS 5
- MINIMUM-FOR-CALLED-PARTY-NUMBER 1 -- example value
- MAXIMUM-FOR-CALLED-PARTY-NUMBER 5 -- example value
- NUM-OF-EXTENSIONS 1 -- example value
-}
-
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/INSTANCEOF.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/INSTANCEOF.asn1
deleted file mode 100644
index 8c4f3a8f7e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/INSTANCEOF.asn1
+++ /dev/null
@@ -1,34 +0,0 @@
-INSTANCEOF DEFINITIONS AUTOMATIC TAGS ::=
-
-
-BEGIN
-
-GeneralName ::= CHOICE {
- otherName [0] INSTANCE OF OTHER-NAME,
- rfc822Name [1] IA5String,
- dNSName [2] IA5String,
- lastName [3] INSTANCE OF OTHER-NAME ({TI})
-}
-
-Names ::= SEQUENCE {
- firstName [0] INSTANCE OF OTHER-NAME,
- secondName [1] PrintableString,
- thirdName [2] INSTANCE OF OTHER-NAME ({TI})
-}
-
-OTHER-NAME ::= TYPE-IDENTIFIER
-
-TI OTHER-NAME ::= {{INTEGER IDENTIFIED BY {2 4}} |
- {Seq IDENTIFIED BY {2 3 4}} |
- {SEQUENCE{a INTEGER,b ENUMERATED{a,b,c}} IDENTIFIED BY {2 3 4 5}} }
-
-Int ::= INTEGER
-
-Seq ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/IllegalExport.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/IllegalExport.asn1
deleted file mode 100644
index 1b5e42ad3c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/IllegalExport.asn1
+++ /dev/null
@@ -1,7 +0,0 @@
-IllegalExport DEFINITIONS ::=
-BEGIN
-EXPORTS T, KalleAnka;
-
-T ::= INTEGER
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Import.py b/lib/asn1/test/asn1_bin_SUITE_data/Import.py
deleted file mode 100644
index 91841c1c9f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Import.py
+++ /dev/null
@@ -1,14 +0,0 @@
-Import DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS Person;
---IMPORTS
--- OPERATION, ERROR FROM Remote-Operations-Notation
--- {joint-iso-ccitt(2) remote-operations(4) notation(0)};
--- {joint-iso-ccitt remote-operations notation};
-
-Person ::= [PRIVATE 19] SEQUENCE {
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL
- }
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ImportsFrom.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ImportsFrom.asn1
deleted file mode 100644
index 896a35d627..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ImportsFrom.asn1
+++ /dev/null
@@ -1,17 +0,0 @@
-ImportsFrom DEFINITIONS ::=
-
-BEGIN
-
-IMPORTS
-Type1, Type2, Type3
-FROM RemoteFile1 objid
-val1, val2, val3
-FROM RemoteFile2;
-
-objid OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) remote-operations(4) notation(0)}
-
-LocalType ::= INTEGER
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/InfClass.asn b/lib/asn1/test/asn1_bin_SUITE_data/InfClass.asn
deleted file mode 100644
index ecc6764402..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/InfClass.asn
+++ /dev/null
@@ -1,56 +0,0 @@
-InfClass DEFINITIONS ::=
-BEGIN
-
-IMPORTS
- ERROR
-FROM ErrorClass;
-
-FUNCTION ::= CLASS {
- &ArgumentType,
- &ResultType DEFAULT NULL,
- &error ERROR OPTIONAL,
- &code INTEGER UNIQUE
- }
-
-OTHER-FUNCTION ::= CLASS {
- &code INTEGER UNIQUE,
- &Alphabet DEFAULT NULL,
- &ArgumentType,
- &SupportedArguments &ArgumentType OPTIONAL,
- &ResultType DEFAULT NULL,
- &result-if-error &ResultType DEFAULT NULL,
- &associated-function OTHER-FUNCTION OPTIONAL,
- &NumberSet INTEGER,
- &ObjectSet OTHER-FUNCTION
- }
-
-ObjSet1 FUNCTION ::= { ... }
-
-val1 FUNCTION ::= {
- &ArgumentType INTEGER,
- &ResultType INTEGER,
- &code 3
- }
-
-val2 FUNCTION ::= {
- &ArgumentType INTEGER,
- &ResultType INTEGER,
- &code 2
- }
-
-int1 INTEGER ::= 3
-
-ObjSet2 FUNCTION ::= {
- val1 | val2 }
-
-
--- added for OTP-4591
-
-Seq ::= SEQUENCE {
- arg FUNCTION.&ArgumentType ({ObjSet2}{@val1}),
- res FUNCTION.&ResultType ({ObjSet2}{@val1}),
- val1 FUNCTION.&code ({ObjSet2})
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/InfObj.asn b/lib/asn1/test/asn1_bin_SUITE_data/InfObj.asn
deleted file mode 100644
index 0a437e12df..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/InfObj.asn
+++ /dev/null
@@ -1,153 +0,0 @@
-InfObj DEFINITIONS ::=
-BEGIN
-
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &Outcome DEFAULT NULL,
- &vartypvalue &Outcome OPTIONAL,
- &FixTypeValSet PrintableString OPTIONAL,
- &VarTypeValSet &InitiatingMessage OPTIONAL,
- &infoObject RANAP-ELEMENTARY-PROCEDURE OPTIONAL,
- &InfObjectSet CLASS2 OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
- [VARTYPEVALUE &vartypvalue]
- [FIXT &FixTypeValSet]
- [VART &VarTypeValSet]
- [INFOOBJECT &infoObject]
- [INFOOBJECTSET &InfObjectSet]
-}
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
--- successfulOutcome SuccessfulOutcome,
--- unsuccessfulOutcome UnsuccessfulOutcome,
--- outcome Outcome,
- ...
-}
-
-CLASS2 ::= RANAP-ELEMENTARY-PROCEDURE
-
-MY-CLASS ::= CLASS {
- &integerValue INTEGER UNIQUE,
- &booleanValue BOOLEAN,
- &stringValue PrintableString
- }
-
-myobject MY-CLASS ::= {
- &integerValue 12,
- &booleanValue TRUE,
- &stringValue "hejsan"
- }
-MyObjectSet MY-CLASS ::= {
- myobject
- }
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
- }
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release1
- CRITICALITY ignore
- }
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE INTEGER --Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release2
- CRITICALITY notify
- }
-
-object3 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage Iu-ReleaseCommand,
- &SuccessfulOutcome Iu-ReleaseComplete,
- &procedureCode id-Iu-Release3,
- &criticality reject
- }
-
-object4 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage INTEGER,
- &SuccessfulOutcome PrintableString,
- &procedureCode id-Iu-Release4,
- &criticality reject
- }
-
-object5 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage INTEGER,
- &SuccessfulOutcome PrintableString,
- &Outcome ProcedureCode,
- &vartypvalue 12,
- &infoObject object4,
- &InfObjectSet MyObjectSet,
- &procedureCode id-Iu-Release5,
- &criticality reject
- }
-
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation ,
- ...
- }
-
-RANAP-ELEMENTARY-PROCEDURES2 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation
- }
-
-
-OBJECTSET1 RANAP-ELEMENTARY-PROCEDURE ::= {
- {INITIATING MESSAGE Iu-ReleaseCommand SUCCESSFUL OUTCOME Iu-ReleaseComplete PROCEDURE CODE id-Iu-Release1 CRITICALITY ignore} | {INITIATING MESSAGE Iu-ReleaseCommand PROCEDURE CODE id-Iu-Release2}
- }
-
-OBJECTSET2 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- {INITIATING MESSAGE Iu-ReleaseCommand SUCCESSFUL OUTCOME Iu-ReleaseComplete PROCEDURE CODE id-Iu-Release4 CRITICALITY ignore} |
- relocationPreparation |
- {INITIATING MESSAGE Iu-ReleaseCommand PROCEDURE CODE id-Iu-Release5} ,
- ...
- }
-
-OBJECTSET3 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release,
- ...
- }
-
-OBJECTSET4 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release
- }
-
-Iu-ReleaseCommand ::= SEQUENCE {
- first INTEGER,
- second BOOLEAN
- }
-
-Iu-ReleaseComplete ::= INTEGER (1..510)
-
-ProcedureCode ::= INTEGER (0..255)
-Criticality ::= ENUMERATED { reject, ignore, notify }
-id-Iu-Release1 INTEGER ::= 1
-id-Iu-Release2 INTEGER ::= 2
-id-Iu-Release3 INTEGER ::= 3
-id-Iu-Release4 INTEGER ::= 4
-id-Iu-Release5 INTEGER ::= 5
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/InfObj2.asn b/lib/asn1/test/asn1_bin_SUITE_data/InfObj2.asn
deleted file mode 100644
index faba7371a4..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/InfObj2.asn
+++ /dev/null
@@ -1,156 +0,0 @@
-InfObj2 DEFINITIONS ::=
-BEGIN
-
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &Outcome DEFAULT NULL,
- &vartypvalue &Outcome,
- &FixTypeValSet PrintableString,
- &VarTypeValSet &InitiatingMessage,
- &infoObject RANAP-ELEMENTARY-PROCEDURE,
- &InfObjectSet CLASS2,
- &UnsuccessfulOutcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage [0] InitiatingMessage,
- substrings [1] SEQUENCE {
- type RANAP-ELEMENTARY-PROCEDURE.&procedureCode({RANAP-ELEMENTARY-PROCEDURES}),
- strings SEQUENCE OF CHOICE {
- initial [0] RANAP-ELEMENTARY-PROCEDURE.&Outcome({
- RANAP-ELEMENTARY-PROCEDURES}{@substrings.type}),
- final [1] RANAP-ELEMENTARY-PROCEDURE.&Outcome({RANAP-ELEMENTARY-PROCEDURES}{@substrings.type})
- }
- },
--- successfulOutcome SuccessfulOutcome,
--- unsuccessfulOutcome UnsuccessfulOutcome,
--- outcome Outcome,
- ...
- }
-
-CLASS2 ::= RANAP-ELEMENTARY-PROCEDURE
-
-MY-CLASS ::= CLASS {
- &integerValue INTEGER UNIQUE,
- &booleanValue BOOLEAN,
- &stringValue PrintableString
- }
-
-myobject MY-CLASS ::= {
- &integerValue 12,
- &booleanValue TRUE,
- &stringValue "hejsan"
- }
-MyObjectSet MY-CLASS ::= {
- myobject
- }
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
- }
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release1
- CRITICALITY ignore
- }
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE INTEGER --Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release2
- CRITICALITY notify
- }
-
-object3 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage Iu-ReleaseCommand,
- &SuccessfulOutcome Iu-ReleaseComplete,
- &procedureCode id-Iu-Release3,
- &criticality reject
- }
-
-object4 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage INTEGER,
- &SuccessfulOutcome PrintableString,
- &procedureCode id-Iu-Release4,
- &criticality reject
- }
-
-object5 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage INTEGER,
- &SuccessfulOutcome PrintableString,
- &Outcome ProcedureCode,
- &vartypvalue 12,
- &infoObject object4,
- &InfObjectSet MyObjectSet,
- &procedureCode id-Iu-Release5,
- &criticality reject
- }
-
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation ,
- ...
- }
-
-RANAP-ELEMENTARY-PROCEDURES2 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation
- }
-
-
-OBJECTSET1 RANAP-ELEMENTARY-PROCEDURE ::= {
- {INITIATING MESSAGE Iu-ReleaseCommand SUCCESSFUL OUTCOME Iu-ReleaseComplete PROCEDURE CODE id-Iu-Release1 CRITICALITY ignore} | {INITIATING MESSAGE Iu-ReleaseCommand PROCEDURE CODE id-Iu-Release2}
- }
-
-OBJECTSET2 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- {INITIATING MESSAGE Iu-ReleaseCommand SUCCESSFUL OUTCOME Iu-ReleaseComplete PROCEDURE CODE id-Iu-Release4 CRITICALITY ignore} |
- relocationPreparation |
- {INITIATING MESSAGE Iu-ReleaseCommand PROCEDURE CODE id-Iu-Release5} ,
- ...
- }
-
-OBJECTSET3 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release,
- ...
- }
-
-OBJECTSET4 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release
- }
-
-Iu-ReleaseCommand ::= SEQUENCE {
- first INTEGER,
- second BOOLEAN
- }
-
-Iu-ReleaseComplete ::= INTEGER (1..510)
-
-ProcedureCode ::= INTEGER (0..255)
-Criticality ::= ENUMERATED { reject, ignore, notify }
-id-Iu-Release1 INTEGER ::= 1
-id-Iu-Release2 INTEGER ::= 2
-id-Iu-Release3 INTEGER ::= 3
-id-Iu-Release4 INTEGER ::= 4
-id-Iu-Release5 INTEGER ::= 5
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/InformationFramework.asn b/lib/asn1/test/asn1_bin_SUITE_data/InformationFramework.asn
deleted file mode 100755
index ef236e98a9..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/InformationFramework.asn
+++ /dev/null
@@ -1,868 +0,0 @@
--- Module InformationFramework (X.501:08/1997)
-InformationFramework {joint-iso-itu-t ds(5) module(1) informationFramework(1)
- 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-oc, id-at, id-mr, id-oa, id-sc, id-ar, id-nf, selectedAttributeTypes,
- directoryAbstractService, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- commonName, generalizedTimeMatch, generalizedTimeOrderingMatch, booleanMatch,
- integerMatch, integerOrderingMatch, objectIdentifierFirstComponentMatch,
- integerFirstComponentMatch, DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes
- TypeAndContextAssertion, ServiceControlOptions, SearchControlOptions,
- HierarchySelections, FamilyGrouping, FamilyReturn
- FROM DirectoryAbstractService directoryAbstractService
- ub-search
- FROM UpperBounds upperBounds;
-
--- attribute data types
-Attribute ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- values
- SET SIZE (0..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
-AttributeType ::= ATTRIBUTE.&id
-
-AttributeValue ::= ATTRIBUTE.&Type
-
-Context ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Type({SupportedContexts}{@contextType}),
- fallback BOOLEAN DEFAULT FALSE
-}
-
-AttributeValueAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertion
- ATTRIBUTE.&equality-match.&AssertionType({SupportedAttributes}{@type}),
- assertedContexts
- CHOICE {allContexts [0] NULL,
- selectedContexts [1] SET SIZE (1..MAX) OF ContextAssertion
- } OPTIONAL
-}
-
-ContextAssertion ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Assertion({SupportedContexts}{@contextType})
-}
-
-AttributeTypeAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertedContexts SEQUENCE SIZE (1..MAX) OF ContextAssertion OPTIONAL
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the values component of Attribute, the value component
--- of AttributeTypeAndValue, and the assertion component of AttributeValueAssertion.
-SupportedAttributes ATTRIBUTE ::=
- {objectClass | aliasedEntryName, ...}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the context specifications
-SupportedContexts CONTEXT ::=
- {...}
-
--- naming data types
-Name ::= CHOICE { -- only one possibility for now --rdnSequence RDNSequence
-}
-
-RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
-
-DistinguishedName ::= RDNSequence
-
-RelativeDistinguishedName ::=
- SET SIZE (1..MAX) OF AttributeTypeAndDistinguishedValue
-
-AttributeTypeAndDistinguishedValue ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- primaryDistinguished BOOLEAN DEFAULT TRUE,
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {distingAttrValue
- [0] ATTRIBUTE.&Type({SupportedAttributes}{@type}) OPTIONAL,
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
--- subtree data types
-SubtreeSpecification ::= SEQUENCE {
- base [0] LocalName DEFAULT {},
- COMPONENTS OF ChopSpecification,
- specificationFilter [4] Refinement OPTIONAL
-}
-
--- empty sequence specifies whole administrative area
-LocalName ::= RDNSequence
-
-ChopSpecification ::= SEQUENCE {
- specificExclusions
- [1] SET SIZE (1..MAX) OF
- CHOICE {chopBefore [0] LocalName,
- chopAfter [1] LocalName} OPTIONAL,
- minimum [2] BaseDistance DEFAULT 0,
- maximum [3] BaseDistance OPTIONAL
-}
-
-BaseDistance ::= INTEGER(0..MAX)
-
-Refinement ::= CHOICE {
- item [0] OBJECT-CLASS.&id,
- and [1] SET OF Refinement,
- or [2] SET OF Refinement,
- not [3] Refinement
-}
-
--- OBJECT-CLASS information object class specification
-OBJECT-CLASS ::= CLASS {
- &Superclasses OBJECT-CLASS OPTIONAL,
- &kind ObjectClassKind DEFAULT structural,
- &MandatoryAttributes ATTRIBUTE OPTIONAL,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBCLASS OF &Superclasses]
- [KIND &kind]
- [MUST CONTAIN &MandatoryAttributes]
- [MAY CONTAIN &OptionalAttributes]
- ID &id
-}
-
-ObjectClassKind ::= ENUMERATED {abstract(0), structural(1), auxiliary(2)}
-
--- object classes
-top OBJECT-CLASS ::= {
- KIND abstract
- MUST CONTAIN {objectClass}
- ID id-oc-top
-}
-
-alias OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- MUST CONTAIN {aliasedEntryName}
- ID id-oc-alias
-}
-
-parent OBJECT-CLASS ::= {KIND abstract
- ID id-oc-parent
-}
-
-child OBJECT-CLASS ::= {KIND auxiliary
- ID id-oc-child
-}
-
--- ATTRIBUTE information object class specification
-ATTRIBUTE ::= CLASS {
- &derivation ATTRIBUTE OPTIONAL,
- &Type OPTIONAL, -- either &Type or &derivation required
- &equality-match MATCHING-RULE OPTIONAL,
- &ordering-match MATCHING-RULE OPTIONAL,
- &substrings-match MATCHING-RULE OPTIONAL,
- &single-valued BOOLEAN DEFAULT FALSE,
- &collective BOOLEAN DEFAULT FALSE,
- -- operational extensions
- &no-user-modification BOOLEAN DEFAULT FALSE,
- &usage AttributeUsage DEFAULT userApplications,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBTYPE OF &derivation]
- [WITH SYNTAX &Type]
- [EQUALITY MATCHING RULE &equality-match]
- [ORDERING MATCHING RULE &ordering-match]
- [SUBSTRINGS MATCHING RULE &substrings-match]
- [SINGLE VALUE &single-valued]
- [COLLECTIVE &collective]
- [NO USER MODIFICATION &no-user-modification]
- [USAGE &usage]
- ID &id
-}
-
-AttributeUsage ::= ENUMERATED {
- userApplications(0), directoryOperation(1), distributedOperation(2),
- dSAOperation(3)}
-
--- attributes
-objectClass ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-objectClass
-}
-
-aliasedEntryName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- ID id-at-aliasedEntryName
-}
-
--- MATCHING-RULE information object class specification
-MATCHING-RULE ::= CLASS {
- &ParentMatchingRules MATCHING-RULE.&id OPTIONAL,
- &AssertionType OPTIONAL,
- &uniqueMatchIndicator ATTRIBUTE.&id OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [PARENT &ParentMatchingRules]
- [SYNTAX &AssertionType]
- [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator]
- ID &id
-}
-
--- matching rules
-objectIdentifierMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierMatch
-}
-
-distinguishedNameMatch MATCHING-RULE ::= {
- SYNTAX DistinguishedName
- ID id-mr-distinguishedNameMatch
-}
-
-MAPPING-BASED-MATCHING{SelectedBy, BOOLEAN:combinable, MappingResult,
- OBJECT IDENTIFIER:matchingRule} ::= CLASS {
- &selectBy SelectedBy OPTIONAL,
- &ApplicableTo ATTRIBUTE,
- &subtypesIncluded BOOLEAN DEFAULT TRUE,
- &combinable BOOLEAN(combinable),
- &mappingResults MappingResult OPTIONAL,
- &userControl BOOLEAN DEFAULT FALSE,
- &exclusive BOOLEAN DEFAULT TRUE,
- &matching-rule MATCHING-RULE.&id(matchingRule),
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SELECT BY &selectBy]
- APPLICABLE TO &ApplicableTo
- [SUBTYPES INCLUDED &subtypesIncluded]
- COMBINABLE &combinable
- [MAPPING RESULTS &mappingResults]
- [USER CONTROL &userControl]
- [EXCLUSIVE &exclusive]
- MATCHING RULE &matching-rule
- ID &id
-}
-
--- NAME-FORM information object class specification
-NAME-FORM ::= CLASS {
- &namedObjectClass OBJECT-CLASS,
- &MandatoryAttributes ATTRIBUTE,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- NAMES &namedObjectClass
- WITH ATTRIBUTES &MandatoryAttributes
- [AND OPTIONALLY &OptionalAttributes]
- ID &id
-}
-
--- STRUCTURE-RULE class and DIT structure rule data types
-STRUCTURE-RULE ::= CLASS {
- &nameForm NAME-FORM,
- &SuperiorStructureRules STRUCTURE-RULE OPTIONAL,
- &id RuleIdentifier
-}
-WITH SYNTAX {
- NAME FORM &nameForm
- [SUPERIOR RULES &SuperiorStructureRules]
- ID &id
-}
-
-DITStructureRule ::= SEQUENCE {
- ruleIdentifier RuleIdentifier,
- -- must be unique within the scope of the subschema
- nameForm NAME-FORM.&id,
- superiorStructureRules SET SIZE (1..MAX) OF RuleIdentifier OPTIONAL
-}
-
-RuleIdentifier ::= INTEGER
-
--- CONTENT-RULE class and DIT content rule data types
-CONTENT-RULE ::= CLASS {
- &structuralClass OBJECT-CLASS.&id UNIQUE,
- &Auxiliaries OBJECT-CLASS OPTIONAL,
- &Mandatory ATTRIBUTE OPTIONAL,
- &Optional ATTRIBUTE OPTIONAL,
- &Precluded ATTRIBUTE OPTIONAL
-}
-WITH SYNTAX {
- STRUCTURAL OBJECT-CLASS &structuralClass
- [AUXILIARY OBJECT-CLASSES &Auxiliaries]
- [MUST CONTAIN &Mandatory]
- [MAY CONTAIN &Optional]
- [MUST-NOT CONTAIN &Precluded]
-}
-
-DITContentRule ::= SEQUENCE {
- structuralObjectClass OBJECT-CLASS.&id,
- auxiliaries SET SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL,
- mandatory [1] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- optional [2] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- precluded [3] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL
-}
-
-CONTEXT ::= CLASS {
- &Type ,
- &Assertion OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {WITH SYNTAX &Type
- [ASSERTED AS &Assertion]
- ID &id
-}
-
-DITContextUse ::= SEQUENCE {
- attributeType ATTRIBUTE.&id,
- mandatoryContexts [1] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL,
- optionalContexts [2] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL
-}
-
-DIT-CONTEXT-USE-RULE ::= CLASS {
- &attributeType ATTRIBUTE.&id UNIQUE,
- &Mandatory CONTEXT OPTIONAL,
- &Optional CONTEXT OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [MANDATORY CONTEXTS &Mandatory]
- [OPTIONAL CONTEXTS &Optional]
-}
-
--- system schema information objects
--- object classes
-subentry OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- KIND structural
- MUST CONTAIN {commonName | subtreeSpecification}
- ID id-sc-subentry
-}
-
-subentryNameForm NAME-FORM ::= {
- NAMES subentry
- WITH ATTRIBUTES {commonName}
- ID id-nf-subentryNameForm
-}
-
-accessControlSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-accessControlSubentry
-}
-
-collectiveAttributeSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-collectiveAttributeSubentry
-}
-
-contextAssertionSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- MUST CONTAIN {contextAssertionDefaults}
- ID id-sc-contextAssertionSubentry
-}
-
-serviceAdminSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- MUST CONTAIN {searchRules}
- ID id-sc-serviceAdminSubentry
-}
-
--- attributes
-createTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-createTimestamp
-}
-
-modifyTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifyTimestamp
-}
-
-subschemaTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec.X. 680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaTimestamp
-}
-
-creatorsName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-creatorsName
-}
-
-modifiersName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifiersName
-}
-
-subschemaSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaSubentryList
-}
-
-accessControlSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-accessControlSubentryList
-}
-
-collectiveAttributeSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-collectiveAttributeSubentryList
-}
-
-contextDefaultSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-contextDefaultSubentryList
-}
-
-serviceAdminSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-serviceAdminSubentryList
-}
-
-hasSubordinates ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hasSubordinates
-}
-
-administrativeRole ATTRIBUTE ::= {
- WITH SYNTAX OBJECT-CLASS.&id -- OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-administrativeRole
-}
-
-subtreeSpecification ATTRIBUTE ::= {
- WITH SYNTAX SubtreeSpecification
- USAGE directoryOperation
- ID id-oa-subtreeSpecification
-}
-
-collectiveExclusions ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-collectiveExclusions
-}
-
-contextAssertionDefaults ATTRIBUTE ::= {
- WITH SYNTAX TypeAndContextAssertion
- EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
- USAGE directoryOperation
- ID id-oa-contextAssertionDefault
-}
-
-searchRules ATTRIBUTE ::= {
- WITH SYNTAX SearchRuleDescription
- EQUALITY MATCHING RULE integerFirstComponentMatch
- USAGE directoryOperation
- ID id-oa-searchRules
-}
-
-SearchRuleDescription ::= SEQUENCE {
- COMPONENTS OF SearchRule,
- name [28] SET SIZE (1..MAX) OF DirectoryString{ub-search} OPTIONAL,
- description [29] DirectoryString{ub-search} OPTIONAL,
- obsolete [30] BOOLEAN DEFAULT FALSE
-}
-
-hierarchyLevel ATTRIBUTE ::= {
- WITH SYNTAX INTEGER
- EQUALITY MATCHING RULE integerMatch
- ORDERING MATCHING RULE integerOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyLevel
-}
-
-hierarchyBelow ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyBelow
-}
-
-hierarchyParent ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyParent
-}
-
-SearchRule ::= SEQUENCE {
- COMPONENTS OF SearchRuleId,
- serviceType [1] OBJECT IDENTIFIER OPTIONAL,
- userClass [2] INTEGER OPTIONAL,
- inputAttributeTypes
- [3] SEQUENCE SIZE (1..MAX) OF RequestAttribute OPTIONAL,
- attributeCombination [4] AttributeCombination DEFAULT and:{},
- outputAttributeTypes [5] SEQUENCE SIZE (1..MAX) OF ResultAttribute OPTIONAL,
- defaultControls [6] ControlOptions OPTIONAL,
- mandatoryControls [7] ControlOptions OPTIONAL,
- searchRuleControls [8] ControlOptions OPTIONAL,
- familyGrouping [9] FamilyGrouping OPTIONAL,
- familyReturn [10] FamilyReturn OPTIONAL,
- relaxation [11] RelaxationPolicy OPTIONAL,
- additionalControl [12] SEQUENCE SIZE (1..MAX) OF AttributeType OPTIONAL,
- allowedSubset [13] AllowedSubset DEFAULT '111'B,
- imposedSubset [14] ImposedSubset OPTIONAL,
- entryLimit [15] EntryLimit OPTIONAL
-}
-
-SearchRuleId ::= SEQUENCE {id INTEGER,
- dmdId [0] OBJECT IDENTIFIER
-}
-
-AllowedSubset ::= BIT STRING {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-ImposedSubset ::= ENUMERATED {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-RequestAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- includeSubtypes [0] BOOLEAN DEFAULT FALSE,
- selectedValues
- [1] SEQUENCE SIZE (0..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}) OPTIONAL,
- defaultValues
- [2] SEQUENCE SIZE (0..MAX) OF
- SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values
- SEQUENCE OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType})
- } OPTIONAL,
- contexts [3] SEQUENCE SIZE (0..MAX) OF ContextProfile OPTIONAL,
- contextCombination [4] ContextCombination DEFAULT and:{},
- matchingUse [5] SEQUENCE SIZE (1..MAX) OF MatchingUse OPTIONAL
-}
-
-ContextProfile ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValue
- SEQUENCE SIZE (1..MAX) OF
- CONTEXT.&Assertion({SupportedContexts}{@contextType}) OPTIONAL
-}
-
-ContextCombination ::= CHOICE {
- context [0] CONTEXT.&id,
- and [1] SEQUENCE OF ContextCombination,
- or [2] SEQUENCE OF ContextCombination,
- not [3] ContextCombination
-}
-
-MatchingUse ::= SEQUENCE {
- restrictionType MATCHING-RESTRICTION.&id({SupportedMatchingRestrictions}),
- restrictionValue
- MATCHING-RESTRICTION.&Restriction
- ({SupportedMatchingRestrictions}{@restrictionType})
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the components of SupportedMatchingRestrictions
-SupportedMatchingRestrictions MATCHING-RESTRICTION ::=
- {...}
-
-AttributeCombination ::= CHOICE {
- attribute [0] AttributeType,
- and [1] SEQUENCE OF AttributeCombination,
- or [2] SEQUENCE OF AttributeCombination,
- not [3] AttributeCombination
-}
-
-ResultAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- outputValues
- CHOICE {selectedValues
- SEQUENCE SIZE (1..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}),
- matchedValuesOnly NULL} OPTIONAL,
- contexts [0] SEQUENCE SIZE (1..MAX) OF ContextProfile OPTIONAL
-}
-
-OutputValues ::= CHOICE {
- selectedValues
- SEQUENCE SIZE (1..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}),
- matchedValuesOnly NULL
-}
-
-ControlOptions ::= SEQUENCE {
- serviceControls [0] ServiceControlOptions DEFAULT {},
- searchOptions [1] SearchControlOptions DEFAULT {searchAliases},
- hierarchyOptions [2] HierarchySelections OPTIONAL
-}
-
-EntryLimit ::= SEQUENCE {default INTEGER,
- max INTEGER
-}
-
-RelaxationPolicy ::= SEQUENCE {
- basic [0] MRMapping DEFAULT {},
- tightenings [1] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- relaxations [2] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- maximum [3] INTEGER OPTIONAL, -- mandatory if tightenings is present
- minimum [4] INTEGER DEFAULT 1
-}
-
-MRMapping ::= SEQUENCE {
- mapping [0] SEQUENCE SIZE (1..MAX) OF Mapping OPTIONAL,
- substitution [1] SEQUENCE SIZE (1..MAX) OF MRSubstitution OPTIONAL
-}
-
-Mapping ::= SEQUENCE {
- mappingFunction
- OBJECT IDENTIFIER
- (CONSTRAINED BY {-- shall be an--
-
- -- object identifier of a mapping-based matching algorithm -- }),
- level INTEGER DEFAULT 0
-}
-
-MRSubstitution ::= SEQUENCE {
- attribute AttributeType,
- oldMatchingRule [0] MATCHING-RULE.&id OPTIONAL,
- newMatchingRule [1] MATCHING-RULE.&id OPTIONAL
-}
-
-SEARCH-RULE ::= CLASS {
- &dmdId OBJECT IDENTIFIER,
- &serviceType OBJECT IDENTIFIER OPTIONAL,
- &userClass INTEGER OPTIONAL,
- &InputAttributeTypes REQUEST-ATTRIBUTE OPTIONAL,
- &combination AttributeCombination OPTIONAL,
- &OutputAttributeTypes RESULT-ATTRIBUTE OPTIONAL,
- &defaultControls ControlOptions OPTIONAL,
- &mandatoryControls ControlOptions OPTIONAL,
- &searchRuleControls ControlOptions OPTIONAL,
- &familyGrouping FamilyGrouping OPTIONAL,
- &familyReturn FamilyReturn OPTIONAL,
- &additionalControl AttributeType OPTIONAL,
- &relaxation RelaxationPolicy OPTIONAL,
- &entryLimit EntryLimit OPTIONAL,
- &allowedSubset AllowedSubset DEFAULT '111'B,
- &imposedSubset ImposedSubset OPTIONAL,
- &id INTEGER UNIQUE
-}
-WITH SYNTAX {
- DMD ID &dmdId
- [SERVICE-TYPE &serviceType]
- [USER-CLASS &userClass]
- [INPUT ATTRIBUTES &InputAttributeTypes]
- [COMBINATION &combination]
- [OUTPUT ATTRIBUTES &OutputAttributeTypes]
- [DEFAULT CONTROL &defaultControls]
- [MANDATORY CONTROL &mandatoryControls]
- [SEARCH-RULE CONTROL &searchRuleControls]
- [FAMILY-GROUPING &familyGrouping]
- [FAMILY-RETURN &familyReturn]
- [ADDITIONAL CONTROL &additionalControl]
- [RELAXATION &relaxation]
- [ALLOWED SUBSET &allowedSubset]
- [IMPOSED SUBSET &imposedSubset]
- [ENTRY LIMIT &entryLimit]
- ID &id
-}
-
-REQUEST-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &SelectedValues ATTRIBUTE.&Type OPTIONAL,
- &DefaultValues SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values SEQUENCE OF ATTRIBUTE.&Type
- } OPTIONAL,
- &contexts SEQUENCE OF ContextProfile OPTIONAL,
- &contextCombination ContextCombination OPTIONAL,
- &MatchingUse MatchingUse OPTIONAL,
- &includeSubtypes BOOLEAN DEFAULT FALSE
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [SELECTED VALUES &SelectedValues]
- [DEFAULT VALUES &DefaultValues]
- [CONTEXTS &contexts]
- [CONTEXT COMBINATION &contextCombination]
- [MATCHING USE &MatchingUse]
- [INCLUDE SUBTYPES &includeSubtypes]
-}
-
-RESULT-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &outputValues OutputValues OPTIONAL,
- &contexts ContextProfile OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [OUTPUT VALUES &outputValues]
- [CONTEXTS &contexts]
-}
-
-MATCHING-RESTRICTION ::= CLASS {
- &Restriction ,
- &Rules MATCHING-RULE.&id,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {RESTRICTION &Restriction
- RULES &Rules
- ID &id
-}
-
--- object identifier assignments
--- object classes
-id-oc-top OBJECT IDENTIFIER ::=
- {id-oc 0}
-
-id-oc-alias OBJECT IDENTIFIER ::= {id-oc 1}
-
-id-oc-parent OBJECT IDENTIFIER ::= {id-oc 28}
-
-id-oc-child OBJECT IDENTIFIER ::= {id-oc 29}
-
--- attributes
-id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
-
-id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-
--- matching rules
-id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
-
-id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-
--- operational attributes
-id-oa-excludeAllCollectiveAttributes OBJECT IDENTIFIER ::=
- {id-oa 0}
-
-id-oa-createTimestamp OBJECT IDENTIFIER ::= {id-oa 1}
-
-id-oa-modifyTimestamp OBJECT IDENTIFIER ::= {id-oa 2}
-
-id-oa-creatorsName OBJECT IDENTIFIER ::= {id-oa 3}
-
-id-oa-modifiersName OBJECT IDENTIFIER ::= {id-oa 4}
-
-id-oa-administrativeRole OBJECT IDENTIFIER ::= {id-oa 5}
-
-id-oa-subtreeSpecification OBJECT IDENTIFIER ::= {id-oa 6}
-
-id-oa-collectiveExclusions OBJECT IDENTIFIER ::= {id-oa 7}
-
-id-oa-subschemaTimestamp OBJECT IDENTIFIER ::= {id-oa 8}
-
-id-oa-hasSubordinates OBJECT IDENTIFIER ::= {id-oa 9}
-
-id-oa-subschemaSubentryList OBJECT IDENTIFIER ::= {id-oa 10}
-
-id-oa-accessControlSubentryList OBJECT IDENTIFIER ::= {id-oa 11}
-
-id-oa-collectiveAttributeSubentryList OBJECT IDENTIFIER ::= {id-oa 12}
-
-id-oa-contextDefaultSubentryList OBJECT IDENTIFIER ::= {id-oa 13}
-
-id-oa-contextAssertionDefault OBJECT IDENTIFIER ::= {id-oa 14}
-
-id-oa-serviceAdminSubentryList OBJECT IDENTIFIER ::= {id-oa 15}
-
-id-oa-searchRules OBJECT IDENTIFIER ::= {id-oa 16}
-
-id-oa-hierarchyLevel OBJECT IDENTIFIER ::= {id-oa 17}
-
-id-oa-hierarchyBelow OBJECT IDENTIFIER ::= {id-oa 18}
-
-id-oa-hierarchyParent OBJECT IDENTIFIER ::= {id-oa 19}
-
--- subentry classes
-id-sc-subentry OBJECT IDENTIFIER ::= {id-sc 0}
-
-id-sc-accessControlSubentry OBJECT IDENTIFIER ::= {id-sc 1}
-
-id-sc-collectiveAttributeSubentry OBJECT IDENTIFIER ::= {id-sc 2}
-
-id-sc-contextAssertionSubentry OBJECT IDENTIFIER ::= {id-sc 3}
-
-id-sc-serviceAdminSubentry OBJECT IDENTIFIER ::= {id-sc 4}
-
--- Name forms
-id-nf-subentryNameForm OBJECT IDENTIFIER ::= {id-nf 16}
-
--- administrative roles
-id-ar-autonomousArea OBJECT IDENTIFIER ::= {id-ar 1}
-
-id-ar-accessControlSpecificArea OBJECT IDENTIFIER ::= {id-ar 2}
-
-id-ar-accessControlInnerArea OBJECT IDENTIFIER ::= {id-ar 3}
-
-id-ar-subschemaAdminSpecificArea OBJECT IDENTIFIER ::= {id-ar 4}
-
-id-ar-collectiveAttributeSpecificArea OBJECT IDENTIFIER ::= {id-ar 5}
-
-id-ar-collectiveAttributeInnerArea OBJECT IDENTIFIER ::= {id-ar 6}
-
-id-ar-contextDefaultSpecificArea OBJECT IDENTIFIER ::= {id-ar 7}
-
-id-ar-serviceSpecificArea OBJECT IDENTIFIER ::= {id-ar 8}
-
-END -- InformationFramework
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Int.py b/lib/asn1/test/asn1_bin_SUITE_data/Int.py
deleted file mode 100644
index dd218b8dbd..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Int.py
+++ /dev/null
@@ -1,12 +0,0 @@
-Int DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS;
-
-Int ::= INTEGER
-Int2 ::= INTEGER (1..10)
-
--- OTP-5457
-int11 INTEGER ::= 11
-int11-2 INTEGER ::= int11 --correct should not cause crash or warning
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/LDAP.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/LDAP.asn1
deleted file mode 100755
index 4d845942e1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/LDAP.asn1
+++ /dev/null
@@ -1,283 +0,0 @@
- --Lightweight-Directory-Access-Protocol-V3 {1 3 6 1 1 18}
- -- Copyright (C) The Internet Society (2006). This version of
- -- this ASN.1 module is part of RFC 4511; see the RFC itself
- -- for full legal notices.
- LDAP
- DEFINITIONS
- IMPLICIT TAGS
- EXTENSIBILITY IMPLIED
- ::=
-
- BEGIN
-
- LDAPMessage ::= SEQUENCE {
- messageID MessageID,
- protocolOp CHOICE {
- bindRequest BindRequest,
- bindResponse BindResponse,
- unbindRequest UnbindRequest,
- searchRequest SearchRequest,
- searchResEntry SearchResultEntry,
- searchResDone SearchResultDone,
- searchResRef SearchResultReference,
- modifyRequest ModifyRequest,
- modifyResponse ModifyResponse,
- addRequest AddRequest,
- addResponse AddResponse,
- delRequest DelRequest,
- delResponse DelResponse,
- modDNRequest ModifyDNRequest,
- modDNResponse ModifyDNResponse,
- compareRequest CompareRequest,
- compareResponse CompareResponse,
- abandonRequest AbandonRequest,
- extendedReq ExtendedRequest,
- extendedResp ExtendedResponse,
- ...,
- intermediateResponse IntermediateResponse },
- controls [0] Controls OPTIONAL }
-
- MessageID ::= INTEGER (0 .. maxInt)
-
- maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) --
-
- LDAPString ::= OCTET STRING -- UTF-8 encoded,
- -- [ISO10646] characters
-
- LDAPOID ::= OCTET STRING -- Constrained to <numericoid>
- -- [RFC4512]
-
-
- LDAPDN ::= LDAPString -- Constrained to <distinguishedName>
- -- [RFC4514]
-
- RelativeLDAPDN ::= LDAPString -- Constrained to <name-component>
- -- [RFC4514]
-
- AttributeDescription ::= LDAPString
- -- Constrained to <attributedescription>
- -- [RFC4512]
-
- AttributeValue ::= OCTET STRING
-
- AttributeValueAssertion ::= SEQUENCE {
- attributeDesc AttributeDescription,
- assertionValue AssertionValue }
-
- AssertionValue ::= OCTET STRING
-
- PartialAttribute ::= SEQUENCE {
- type AttributeDescription,
- vals SET OF value AttributeValue }
-
- Attribute ::= PartialAttribute(WITH COMPONENTS {
- ...,
- vals (SIZE(1..MAX))})
-
- MatchingRuleId ::= LDAPString
-
- LDAPResult ::= SEQUENCE {
- resultCode ENUMERATED {
- success (0),
- operationsError (1),
- protocolError (2),
- timeLimitExceeded (3),
- sizeLimitExceeded (4),
- compareFalse (5),
- compareTrue (6),
- authMethodNotSupported (7),
- strongerAuthRequired (8),
- -- 9 reserved --
- referral (10),
- adminLimitExceeded (11),
- unavailableCriticalExtension (12),
- confidentialityRequired (13),
- saslBindInProgress (14),
-
- noSuchAttribute (16),
- undefinedAttributeType (17),
- inappropriateMatching (18),
- constraintViolation (19),
- attributeOrValueExists (20),
- invalidAttributeSyntax (21),
- -- 22-31 unused --
- noSuchObject (32),
- aliasProblem (33),
- invalidDNSyntax (34),
- -- 35 reserved for undefined isLeaf --
- aliasDereferencingProblem (36),
- -- 37-47 unused --
- inappropriateAuthentication (48),
- invalidCredentials (49),
- insufficientAccessRights (50),
- busy (51),
- unavailable (52),
- unwillingToPerform (53),
- loopDetect (54),
- -- 55-63 unused --
- namingViolation (64),
- objectClassViolation (65),
- notAllowedOnNonLeaf (66),
- notAllowedOnRDN (67),
- entryAlreadyExists (68),
- objectClassModsProhibited (69),
- -- 70 reserved for CLDAP --
- affectsMultipleDSAs (71),
- -- 72-79 unused --
- other (80),
- ... },
- matchedDN LDAPDN,
- diagnosticMessage LDAPString,
- referral [3] Referral OPTIONAL }
-
- Referral ::= SEQUENCE SIZE (1..MAX) OF uri URI
-
- URI ::= LDAPString -- limited to characters permitted in
- -- URIs
-
- Controls ::= SEQUENCE OF control Control
-
- Control ::= SEQUENCE {
- controlType LDAPOID,
- criticality BOOLEAN DEFAULT FALSE,
- controlValue OCTET STRING OPTIONAL }
-
-
- BindRequest ::= [APPLICATION 0] SEQUENCE {
- version INTEGER (1 .. 127),
- name LDAPDN,
- authentication AuthenticationChoice }
-
- AuthenticationChoice ::= CHOICE {
- simple [0] OCTET STRING,
- -- 1 and 2 reserved
- sasl [3] SaslCredentials,
- ... }
-
- SaslCredentials ::= SEQUENCE {
- mechanism LDAPString,
- credentials OCTET STRING OPTIONAL }
-
- BindResponse ::= [APPLICATION 1] SEQUENCE {
- COMPONENTS OF LDAPResult,
- serverSaslCreds [7] OCTET STRING OPTIONAL }
-
- UnbindRequest ::= [APPLICATION 2] NULL
-
- SearchRequest ::= [APPLICATION 3] SEQUENCE {
- baseObject LDAPDN,
- scope ENUMERATED {
- baseObject (0),
- singleLevel (1),
- wholeSubtree (2),
- ... },
- derefAliases ENUMERATED {
- neverDerefAliases (0),
- derefInSearching (1),
- derefFindingBaseObj (2),
- derefAlways (3) },
- sizeLimit INTEGER (0 .. maxInt),
- timeLimit INTEGER (0 .. maxInt),
- typesOnly BOOLEAN,
- filter Filter,
- attributes AttributeSelection }
-
- AttributeSelection ::= SEQUENCE OF selector LDAPString
- -- The LDAPString is constrained to
- -- <attributeSelector> in Section 4.5.1.8
-
- Filter ::= CHOICE {
- and [0] SET SIZE (1..MAX) OF filter Filter,
- or [1] SET SIZE (1..MAX) OF filter Filter,
- not [2] Filter,
- equalityMatch [3] AttributeValueAssertion,
- substrings [4] SubstringFilter,
- greaterOrEqual [5] AttributeValueAssertion,
- lessOrEqual [6] AttributeValueAssertion,
- present [7] AttributeDescription,
- approxMatch [8] AttributeValueAssertion,
- extensibleMatch [9] MatchingRuleAssertion,
- ... }
-
- SubstringFilter ::= SEQUENCE {
- type AttributeDescription,
- substrings SEQUENCE SIZE (1..MAX) OF substring CHOICE {
- initial [0] AssertionValue, -- can occur at most once
- any [1] AssertionValue,
- final [2] AssertionValue } -- can occur at most once
- }
-
- MatchingRuleAssertion ::= SEQUENCE {
- matchingRule [1] MatchingRuleId OPTIONAL,
- type [2] AttributeDescription OPTIONAL,
- matchValue [3] AssertionValue,
- dnAttributes [4] BOOLEAN DEFAULT FALSE }
-
- SearchResultEntry ::= [APPLICATION 4] SEQUENCE {
- objectName LDAPDN,
- attributes PartialAttributeList }
-
- PartialAttributeList ::= SEQUENCE OF
- partialAttribute PartialAttribute
-
- SearchResultReference ::= [APPLICATION 19] SEQUENCE
- SIZE (1..MAX) OF uri URI
-
- SearchResultDone ::= [APPLICATION 5] LDAPResult
-
- ModifyRequest ::= [APPLICATION 6] SEQUENCE {
- object LDAPDN,
- changes SEQUENCE OF change SEQUENCE {
- operation ENUMERATED {
- add (0),
- delete (1),
- replace (2),
- ... },
- modification PartialAttribute } }
-
- ModifyResponse ::= [APPLICATION 7] LDAPResult
-
- AddRequest ::= [APPLICATION 8] SEQUENCE {
- entry LDAPDN,
- attributes AttributeList }
-
- AttributeList ::= SEQUENCE OF attribute Attribute
-
- AddResponse ::= [APPLICATION 9] LDAPResult
-
- DelRequest ::= [APPLICATION 10] LDAPDN
-
- DelResponse ::= [APPLICATION 11] LDAPResult
-
- ModifyDNRequest ::= [APPLICATION 12] SEQUENCE {
- entry LDAPDN,
- newrdn RelativeLDAPDN,
- deleteoldrdn BOOLEAN,
- newSuperior [0] LDAPDN OPTIONAL }
-
- ModifyDNResponse ::= [APPLICATION 13] LDAPResult
-
- CompareRequest ::= [APPLICATION 14] SEQUENCE {
- entry LDAPDN,
- ava AttributeValueAssertion }
-
- CompareResponse ::= [APPLICATION 15] LDAPResult
-
- AbandonRequest ::= [APPLICATION 16] MessageID
-
- ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- requestName [0] LDAPOID,
- requestValue [1] OCTET STRING OPTIONAL }
-
- ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
- COMPONENTS OF LDAPResult,
- responseName [10] LDAPOID OPTIONAL,
- responseValue [11] OCTET STRING OPTIONAL }
-
- IntermediateResponse ::= [APPLICATION 25] SEQUENCE {
- responseName [0] LDAPOID OPTIONAL,
- responseValue [1] OCTET STRING OPTIONAL }
-
- END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/M1.asn b/lib/asn1/test/asn1_bin_SUITE_data/M1.asn
deleted file mode 100644
index f0575fb25f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/M1.asn
+++ /dev/null
@@ -1,24 +0,0 @@
-M1 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
-
- Type6
- FROM M2
- ;
-
-Type1 ::= INTEGER (1..3)
-
-Type2 ::= ENUMERATED {one,two}
-
-Type3 ::= BOOLEAN
-
-Type4 ::= SEQUENCE {
- a Type1,
- b BOOLEAN
-}
-
-Type5 ::= OCTET STRING
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/M2.asn b/lib/asn1/test/asn1_bin_SUITE_data/M2.asn
deleted file mode 100644
index 22d7fed6f1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/M2.asn
+++ /dev/null
@@ -1,29 +0,0 @@
-M2 DEFINITIONS ::=
-
-BEGIN
-
-IMPORTS
-
- Type5
- FROM M1
- ;
-
-Type1 ::= INTEGER (1..8)
-
-Type2 ::= ENUMERATED {one,two,three}
-
-Type3 ::= BOOLEAN
-
-Type4 ::= SEQUENCE {
- a Type1,
- b BOOLEAN,
- c Type2,
- d Type5
-}
-
-Type6 ::= SET {
- a Type1,
- b Type5
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/MAP-ExtensionDataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/MAP-ExtensionDataTypes.asn
deleted file mode 100644
index 2a90c4265a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/MAP-ExtensionDataTypes.asn
+++ /dev/null
@@ -1,37 +0,0 @@
-MAP-ExtensionDataTypes {
- ccitt identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version6 (6)}
-DEFINITIONS
-IMPLICIT TAGS
-::=
-BEGIN
-EXPORTS
- PrivateExtension,
- ExtensionContainer;
--- IOC for private MAP extensions
-MAP-EXTENSION ::= CLASS {
- &ExtensionType OPTIONAL,
- &extensionId OBJECT IDENTIFIER }
- -- The length of the Object Identifier shall not exceed 16 octets and the
- -- number of components of the Object Identifier shall not exceed 16
--- data types
-ExtensionContainer ::= SEQUENCE {
- privateExtensionList [0]PrivateExtensionList OPTIONAL,
- pcs-Extensions [1]PCS-Extensions OPTIONAL,
- ...}
-PrivateExtensionList ::= SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF
- PrivateExtension
-PrivateExtension ::= SEQUENCE {
- extId MAP-EXTENSION.&extensionId
- ({ExtensionSet}),
- extType MAP-EXTENSION.&ExtensionType
- ({ExtensionSet}{@extId}) OPTIONAL}
-maxNumOfPrivateExtensions INTEGER ::= 10
-ExtensionSet MAP-EXTENSION ::=
- {...
- -- ExtensionSet is the set of all defined private extensions
- }
- -- Unsupported private extensions shall be discarded if received.
-PCS-Extensions ::= SEQUENCE {
- ...}
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/MAP-commonDataTypes.py b/lib/asn1/test/asn1_bin_SUITE_data/MAP-commonDataTypes.py
deleted file mode 100644
index 694abefa6a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/MAP-commonDataTypes.py
+++ /dev/null
@@ -1,31 +0,0 @@
-MAP-commonDataTypes
- { iso (1) identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version2 (2) }
-DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- TBCD-STRING,
- AddressString,
- ISDN-AddressString,
- LMSI,
- IMSI,
- TMSI,
--- IMSIBCD,
- SubscriberID;
-
-
- TBCD-STRING ::= OCTET STRING (SIZE(3..8))
- AddressString ::= OCTET STRING (SIZE(1..20))
- ISDN-AddressString ::= AddressString
- LMSI ::= OCTET STRING (SIZE(4))
- -- IMSIBCD ::= BCD-STRING
- IMSI ::= TBCD-STRING
- TMSI ::= OCTET STRING (SIZE(1..4))
- SubscriberID ::= CHOICE{
- imsi [0] IMSI,
- tmsi [1] TMSI}
-
-
-END -- of MAP-commonDataTypes
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/MAP-insertSubscriberData-def.py b/lib/asn1/test/asn1_bin_SUITE_data/MAP-insertSubscriberData-def.py
deleted file mode 100644
index 298319b0ed..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/MAP-insertSubscriberData-def.py
+++ /dev/null
@@ -1,102 +0,0 @@
-MAP-insertSubscriberData-def
- { ccitt (0) identified-organization( 4) etsi( 0) mobileDomain(0)
- gsm-Network( 1) modules( 3) map-Protocol( 4) version2(2) }
-DEFINITIONS ::=
-
-BEGIN
-
-EXPORTS
-InsertSubsDataArg, InsertSubsDatRes;
-IMPORTS
-IMSI, ISDN-AddressString, LMSI FROM MAP-commonDataTypes;
-
-InsertSubsDataArg ::= SEQUENCE{
- imsi [0] IMPLICIT IMSI OPTIONAL,
- msisdn [1] IMPLICIT ISDN-AddressString OPTIONAL,
- category [2] IMPLICIT OCTET STRING (SIZE(1)) OPTIONAL,
- subscriberStatus [3] IMPLICIT SubscriberStatus OPTIONAL,
- bearerServiceList [4] IMPLICIT SEQUENCE OF
- OCTET STRING(SIZE(1)) OPTIONAL,
- teleServiceList [6] IMPLICIT SEQUENCE OF
- OCTET STRING(SIZE(1)) OPTIONAL,
- provisionedSS [7] IMPLICIT SEQUENCE OF SS-Information OPTIONAL
- }
-
-SS-Information ::= CHOICE{
- forwardingInfo [0] IMPLICIT ForwardingInfo,
- callBarringInfoInfo [1] IMPLICIT CallBarringInfoInfo,
- ss-Data [3] IMPLICIT SS-Data }
-
-SS-Data ::= SEQUENCE {
- ss-Code OCTET STRING (SIZE(1)),
- ss-Status [4] IMPLICIT OCTET STRING (SIZE(1))
- }
-
-
-ForwardingInfo ::= SEQUENCE {
- ss-Code OCTET STRING(SIZE(1)) OPTIONAL,
- forwardingFeatureList ForwardingFeatureList
- }
-
-CallBarringInfoInfo ::= SEQUENCE {
- ss-Code OCTET STRING(SIZE(1)) OPTIONAL,
- callBarringFeatureList CallBarringFeatureList}
-
-CallBarringFeatureList ::= SEQUENCE OF CallBarringFeature
-
-CallBarringFeature ::= SEQUENCE{
- basicService BasicServiceCode OPTIONAL,
- ss-Status [2] IMPLICIT OCTET STRING(SIZE(1)) OPTIONAL
- }
-
-InsertSubsDatRes ::=
- SEQUENCE {
- teleServiceList [1] IMPLICIT SEQUENCE OF
- OCTET STRING (SIZE(1)) OPTIONAL,
- bearerServiceList [2] IMPLICIT SEQUENCE OF
- OCTET STRING (SIZE(1)) OPTIONAL,
- ss-List [3] IMPLICIT SEQUENCE OF
- OCTET STRING (SIZE(1)) OPTIONAL,
- odb-GeneralData [4] IMPLICIT BIT STRING {
- allOG-CallsBarred (0),
- internationalOGCallsBarred (1),
- internationalOGCallsNotToHPLMN-CountryBarred (2),
- premiumRateInformationOGCallsBarred (3),
- premiumRateEntertainementOGCallsBarred (4),
- ss-AccessBarred (5) } (SIZE(6)) OPTIONAL,
- regionalSubscriptionResponse [5] IMPLICIT ENUMERATED{
- msc-AreaRestricted (0),
- tooManyZoneCodes (1),
- zoneCodeConflict (2),
- regionalSubscNotSupported (3) } OPTIONAL
- }
-
-
-ForwardingFeatureList ::= SEQUENCE OF ForwardingFeature
-
-ForwardingFeature ::= SEQUENCE{
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] IMPLICIT OCTET STRING(SIZE(1)) OPTIONAL,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- forwardingOptions [6] IMPLICIT OCTET STRING(SIZE(1)) OPTIONAL,
- noReplyConditionTime [7] IMPLICIT INTEGER(5..30) OPTIONAL
- }
-
-
-BasicServiceCode ::= CHOICE {
- bearerService [2] IMPLICIT OCTET STRING(SIZE(1)),
- teleService [3] IMPLICIT OCTET STRING(SIZE(1))
- }
-
-
-BasicServiceGroupList ::= SEQUENCE OF
- BasicServiceCode
-
-
-SubscriberStatus ::= ENUMERATED {
- serviceGranted (0),
- operatorDeterminedBarring (1)
- }
-
-END -- of MAP-insertSubscriberData-def
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/MEDIA-GATEWAY-CONTROL.asn b/lib/asn1/test/asn1_bin_SUITE_data/MEDIA-GATEWAY-CONTROL.asn
deleted file mode 100644
index 71b765f71d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/MEDIA-GATEWAY-CONTROL.asn
+++ /dev/null
@@ -1,975 +0,0 @@
--- This ASN.1 spec has been extracted from the Megaco/H.248 spec
--- http://www.ietf.org/internet-drafts/draft-ietf-megaco-merged-01.txt
---
--- o Removed stuff named nonStandard
--- o Major enhancements of the indentation has been performed.
---
--- Hakan Mattsson <[email protected]>
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- ANNEX A: BINARY ENCODING OF THE PROTOCOL (NORMATIVE)
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- This Annex specifies the syntax of messages using the notation
--- defined in ASN.1 [ITU-T Recommendation X.680 (1997): Information
--- Technology - Abstract Syntax Notation One (ASN.1) - Specification of
--- basic notation.]. Messages shall be encoded for transmission by
--- applying the basic encoding rules specified in [ITU-T Recommendation
--- X.690(1994) Information Technology - ASN.1 Encoding Rules:
--- Specification of Basic Encoding Rules (BER)].
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- A.1 Coding of wildcards
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- The use of wildcards ALL and CHOOSE is allowed in the protocol.
--- This allows a MGC to partially specify Termination IDs and let the
--- MG choose from the values that conform to the partial specification.
--- Termination IDs may encode a hierarchy of names. This hierarchy is
--- provisioned. For instance, a TerminationID may consist of a trunk
--- group, a trunk within the group and a circuit. Wildcarding must be
--- possible at all levels. The following paragraphs explain how this
--- is achieved.
---
--- The ASN.1 description uses octet strings of up to 8 octets in length
--- for Termination IDs. This means that Termination IDs consist of at
--- most 64 bits. A fully specified Termination ID may be preceded by a
--- sequence of wildcarding fields. A wildcarding field is one octet in
--- length. Bit 7 (the most significant bit) of this octet specifies
--- what type of wildcarding is invoked: if the bit value equals 1,
--- then the ALL wildcard is used; if the bit value if 0, then the
--- CHOOSE wildcard is used. Bit 6 of the wildcarding field specifies
--- whether the wildcarding pertains to one level in the hierarchical
--- naming scheme (bit value 0) or to the level of the hierarchy
--- specified in the wildcarding field plus all lower levels (bit value
--- 1). Bits 0 through 5 of the wildcarding field specify the bit
--- position in the Termination ID at which the starts.
---
--- We illustrate this scheme with some examples. In these examples,
--- the most significant bit in a string of bits appears on the left
--- hand side.
---
--- Assume that Termination IDs are three octets long and that each
--- octet represents a level in a hierarchical naming scheme. A valid
--- Termination ID is
--- 00000001 00011110 01010101.
---
--- Addressing ALL names with prefix 00000001 00011110 is done as
--- follows:
--- wildcarding field: 10000111
--- Termination ID: 00000001 00011110 xxxxxxxx.
---
--- The values of the bits labeled "x" is irrelevant and shall be
--- ignored by the receiver.
---
--- Indicating to the receiver that is must choose a name with 00011110
--- as the second octet is done as follows:
--- wildcarding fields: 00010111 followed by 00000111
--- Termination ID: xxxxxxxx 00011110 xxxxxxxx.
---
--- The first wildcard field indicates a CHOOSE wildcard for the level
--- in the naming hierarchy starting at bit 23, the highest level in our
--- assumed naming scheme. The second wildcard field indicates a CHOOSE
--- wildcard for the level in the naming hierarchy starting at bit 7,
--- the lowest level in our assumed naming scheme.
---
--- Finally, a CHOOSE-wildcarded name with the highest level of the name
--- equal to 00000001 is specified as follows:
--- wildcard field: 01001111
--- Termination ID: 0000001 xxxxxxxx xxxxxxxx .
---
--- Bit value 1 at bit position 6 of the first octet of the wildcard
--- field indicates that the wildcarding pertains to the specified level
--- in the naming hierarchy and all lower levels.
---
--- Context IDs may also be wildcarded. In the case of Context IDs,
--- however, specifying partial names is not allowed. Context ID 0x0
--- SHALL be used to indicate the NULL Context, Context ID 0xFFFFFFFE
--- SHALL be used to indicate a CHOOSE wildcard, and Context ID
--- 0xFFFFFFFF SHALL be used to indicate an ALL wildcard.
---
--- TerminationID 0xFFFFFFFFFFFFFFFF SHALL be used to indicate the ROOT
--- Termination.
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- Digit maps and path names
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- From a syntactic viewpoint, digit maps are strings with syntactic
--- restrictions imposed upon them. The syntax of valid digit maps is
--- specified in ABNF [RFC 2234]. The syntax for digit maps presented
--- in this section is for illustrative purposes only. The definition of
--- digitMap in Annex B takes precedence in the case of differences
--- between the two.
---
--- digitMap = (digitString / LWSP "(" LWSP digitStringList LWSP ")"
--- LWSP)
--- digitStringList = digitString *( LWSP "/" LWSP digitString )
--- digitString = 1*(digitStringElement)
--- digitStringElement = digitPosition [DOT]
--- digitPosition = digitMapLetter / digitMapRange
--- digitMapRange = ("x" / LWSP "[" LWSP digitLetter LWSP "]" LWSP)
--- digitLetter = *((DIGIT "-" DIGIT) /digitMapLetter)
--- digitMapLetter = DIGIT ;digits 0-9
--- / %x41-4B / %x61-6B ;a-k and A-K
--- / "L" / "S" ;Inter-event timers
--- ;(long, short)
--- / "Z" ;Long duration event
--- DOT = %x2E ; "."
--- LWSP = *(WSP / COMMENT / EOL)
--- WSP = SP / HTAB
--- COMMENT = ";" *(SafeChar / RestChar / WSP) EOL
--- EOL = (CR [LF]) / LF
--- SP = %x20
--- HTAB = %x09
--- CR = %x0D
--- LF = %x0A
--- SafeChar = DIGIT / ALPHA / "+" / "-" / "&" / "!" / "_" / "/" /
--- "'" / "?" / "@" / "^" / "`" / "~" / "*" / "$" / "\" /
--- "(" / ")" / "%" / "."
--- RestChar = ";" / "[" / "]" / "{" / "}" / ":" / "," / "#" /
--- "<" / ">" / "=" / %x22
--- DIGIT = %x30-39 ; digits 0 through 9
--- ALPHA = %x41-5A / %x61-7A ; A-Z, a-z
--- A path name is also a string with syntactic restrictions imposed
--- upon it. The ABNF production defining it is copied from Annex B.
---
--- PathName = NAME *(["/"] ["*"] ["@"] (ALPHA / DIGIT)) ["*"]
--- NAME = ALPHA *63(ALPHA / DIGIT / "_" )
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- A.2 ASN.1 syntax specification
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- This section contains the ASN.1 specification of the H.248 protocol
--- syntax.
---
--- NOTE - In case a transport mechanism is used that employs
--- application level framing, the definition of Transaction below
--- changes. Refer to the annex defining the transport mechanism for
--- the definition that applies in that case.
---
--- NOTE - The ASN.1 specification below contains a clause defining
--- TerminationIDList as a sequence of TerminationIDs. The length of
--- this sequence SHALL be one, except possibly when used in
--- contextAuditResult.
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-MEDIA-GATEWAY-CONTROL DEFINITIONS AUTOMATIC TAGS::=
-BEGIN
-
-MegacoMessage ::= SEQUENCE
-{
- authHeader AuthenticationHeader OPTIONAL,
- mess Message
-}
-
-AuthenticationHeader ::= SEQUENCE
-{
- secParmIndex SecurityParmIndex,
- seqNum SequenceNum,
- ad AuthData
-}
-
-SecurityParmIndex ::= OCTET STRING(SIZE(4))
-
-SequenceNum ::= OCTET STRING(SIZE(4))
-
-AuthData ::= OCTET STRING (SIZE (12..32))
-
-Message ::= SEQUENCE
-{
- version INTEGER(0..99),
- -- The version of the protocol defined here is equal to 1.
- mId MId, -- Name/address of message originator
- messageBody CHOICE
- {
- messageError ErrorDescriptor,
- transactions SEQUENCE OF Transaction
- },
- ...
-}
-
-MId ::= CHOICE
-{
- ip4Address IP4Address,
- ip6Address IP6Address,
- domainName DomainName,
- deviceName PathName,
- mtpAddress OCTET STRING(SIZE(2..4)),
- -- Addressing structure of mtpAddress:
- -- 15 0
- -- | PC | NI |
- -- 14 bits 2 bits
- ...
-}
-
-DomainName ::= SEQUENCE
-{
- name IA5String,
- -- The name starts with an alphanumeric digit followed by a
- -- sequence of alphanumeric digits, hyphens and dots. No two
- -- dots shall occur consecutively.
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-IP4Address ::= SEQUENCE
-{
- address OCTET STRING (SIZE(4)),
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-IP6Address ::= SEQUENCE
-{
- address OCTET STRING (SIZE(16)),
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-PathName ::= IA5String(SIZE (1..64))
--- See section A.3
-
-Transaction ::= CHOICE
-{
- transactionRequest TransactionRequest,
- transactionPending TransactionPending,
- transactionReply TransactionReply,
- transactionResponseAck TransactionResponseAck,
- -- use of response acks is dependent on underlying transport
- ...
-}
-
-TransactionId ::= INTEGER(0..4294967295) -- 32 bit unsigned integer
-
-TransactionRequest ::= SEQUENCE
-{
- transactionId TransactionId,
- actions SEQUENCE OF ActionRequest,
- ...
-}
-
-TransactionPending ::= SEQUENCE
-{
- transactionId TransactionId,
- ...
-}
-
-TransactionReply ::= SEQUENCE
-{
- transactionId TransactionId,
- immAckRequired NULL OPTIONAL,
- transactionResult CHOICE
- {
- transactionError ErrorDescriptor,
- actionReplies SEQUENCE OF ActionReply
- },
- ...
-}
-
-TransactionResponseAck ::= SEQUENCE OF TransactionAck
-
-TransactionAck ::= SEQUENCE
-{
- firstAck TransactionId,
- lastAck TransactionId OPTIONAL
-}
-
-ErrorDescriptor ::= SEQUENCE
-{
- errorCode ErrorCode,
- errorText ErrorText OPTIONAL
-}
-
-ErrorCode ::= INTEGER(0..65535)
--- See section 13 for IANA considerations w.r.t. error codes
-
-ErrorText ::= IA5String
-
-ContextID ::= INTEGER(0..4294967295)
-
--- Context NULL Value: 0
--- Context CHOOSE Value: 4294967294 (0xFFFFFFFE)
--- Context ALL Value: 4294967295 (0xFFFFFFFF)
-
-
-ActionRequest ::= SEQUENCE
-{
- contextId ContextID,
- contextRequest ContextRequest OPTIONAL,
- contextAttrAuditReq ContextAttrAuditRequest OPTIONAL,
- commandRequests SEQUENCE OF CommandRequest
-}
-
-ActionReply ::= SEQUENCE
-{
- contextId ContextID,
- errorDescriptor ErrorDescriptor OPTIONAL,
- contextReply ContextRequest OPTIONAL,
- commandReply SEQUENCE OF CommandReply
-}
-
-ContextRequest ::= SEQUENCE
-{
- priority INTEGER(0..15) OPTIONAL,
- emergency BOOLEAN OPTIONAL,
- topologyReq SEQUENCE OF TopologyRequest OPTIONAL,
- ...
-}
-
-ContextAttrAuditRequest ::= SEQUENCE
-{
- topology NULL OPTIONAL,
- emergency NULL OPTIONAL,
- priority NULL OPTIONAL,
- ...
-}
-
-CommandRequest ::= SEQUENCE
-{
- command Command,
- optional NULL OPTIONAL,
- wildcardReturn NULL OPTIONAL,
- ...
-}
-
-Command ::= CHOICE
-{
- addReq AmmRequest,
- moveReq AmmRequest,
- modReq AmmRequest,
- -- Add, Move, Modify requests have the same parameters
- subtractReq SubtractRequest,
- auditCapRequest AuditRequest,
- auditValueRequest AuditRequest,
- notifyReq NotifyRequest,
- serviceChangeReq ServiceChangeRequest,
- ...
-}
-
-CommandReply ::= CHOICE
-{
- addReply AmmsReply,
- moveReply AmmsReply,
- modReply AmmsReply,
- subtractReply AmmsReply,
- -- Add, Move, Modify, Subtract replies have the same parameters
- auditCapReply AuditReply,
- auditValueReply AuditReply,
- notifyReply NotifyReply,
- serviceChangeReply ServiceChangeReply,
- ...
-}
-
-TopologyRequest ::= SEQUENCE
-{
- terminationFrom TerminationID,
- terminationTo TerminationID,
- topologyDirection ENUMERATED
- {
- bothway(0),
- isolate(1),
- oneway(2)
- }
-}
-
-AmmRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- descriptors SEQUENCE OF AmmDescriptor,
- -- At most one descriptor of each type (see AmmDescriptor)
- -- allowed in the sequence.
- ...
-}
-
-AmmDescriptor ::= CHOICE
-{
- mediaDescriptor MediaDescriptor,
- modemDescriptor ModemDescriptor,
- muxDescriptor MuxDescriptor,
- eventsDescriptor EventsDescriptor,
- eventBufferDescriptor EventBufferDescriptor,
- signalsDescriptor SignalsDescriptor,
- digitMapDescriptor DigitMapDescriptor,
- auditDescriptor AuditDescriptor,
-...
-}
-
-AmmsReply ::= SEQUENCE
-{
- terminationID TerminationIDList,
- terminationAudit TerminationAudit OPTIONAL,
- ...
-}
-
-SubtractRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- auditDescriptor AuditDescriptor OPTIONAL,
- ...
-}
-
-AuditRequest ::= SEQUENCE
-{
- terminationID TerminationID,
- auditDescriptor AuditDescriptor,
- ...
-}
-
-AuditReply ::= CHOICE
-{
- contextAuditResult TerminationIDList,
- error ErrorDescriptor,
- auditResult AuditResult,
- ...
-}
-
-AuditResult ::= SEQUENCE
-{
- terminationID TerminationID,
- terminationAuditResult TerminationAudit
-}
-
-TerminationAudit ::= SEQUENCE OF AuditReturnParameter
-
-AuditReturnParameter ::= CHOICE
-{
- errorDescriptor ErrorDescriptor,
- mediaDescriptor MediaDescriptor,
- modemDescriptor ModemDescriptor,
- muxDescriptor MuxDescriptor,
- eventsDescriptor EventsDescriptor,
- eventBufferDescriptor EventBufferDescriptor,
- signalsDescriptor SignalsDescriptor,
- digitMapDescriptor DigitMapDescriptor,
- observedEventsDescriptor ObservedEventsDescriptor,
- statisticsDescriptor StatisticsDescriptor,
- packagesDescriptor PackagesDescriptor,
- emptyDescriptors AuditDescriptor,
- ...
-}
-
-AuditDescriptor ::= SEQUENCE
-{
- auditToken BIT STRING
- {
- muxToken(0),
- modemToken(1),
- mediaToken(2),
- eventsToken(3),
- signalsToken(4),
- digitMapToken(5),
- statsToken(6),
- observedEventsToken(7),
- packagesToken(8),
- eventBufferToken(9)
- } OPTIONAL,
- ...
-}
-
-NotifyRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- observedEventsDescriptor ObservedEventsDescriptor,
- errorDescriptor ErrorDescriptor OPTIONAL,
- ...
-}
-
-NotifyReply ::= SEQUENCE
-{
- terminationID TerminationIDList,
- errorDescriptor ErrorDescriptor OPTIONAL,
- ...
-}
-
-ObservedEventsDescriptor ::= SEQUENCE
-{
- requestId RequestID,
- observedEventLst SEQUENCE OF ObservedEvent
-}
-
-ObservedEvent ::= SEQUENCE
-{
- eventName EventName,
- streamID StreamID OPTIONAL,
- eventParList SEQUENCE OF EventParameter,
- timeNotation TimeNotation OPTIONAL,
- ...
-}
-
-EventName ::= PkgdName
-
-EventParameter ::= SEQUENCE
-{
- eventParameterName Name,
- value Value,
- -- For use of extraInfo see the comment related to propertyParm
- extraInfo CHOICE
- {
- relation Relation,
- range BOOLEAN,
- sublist BOOLEAN
- } OPTIONAL,
- ...
-}
-
-ServiceChangeRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- serviceChangeParms ServiceChangeParm,
- ...
-}
-
-ServiceChangeReply ::= SEQUENCE
-{
- terminationID TerminationIDList,
- serviceChangeResult ServiceChangeResult,
- ...
-}
-
--- For ServiceChangeResult, no parameters are mandatory. Hence the
--- distinction between ServiceChangeParm and ServiceChangeResParm.
-
-ServiceChangeResult ::= CHOICE
-{
- errorDescriptor ErrorDescriptor,
- serviceChangeResParms ServiceChangeResParm
-}
-
-WildcardField ::= OCTET STRING(SIZE(1))
-
-TerminationID ::= SEQUENCE
-{
- wildcard SEQUENCE OF WildcardField,
- id OCTET STRING(SIZE(1..8)),
- ...
-}
--- See Section A.1 for explanation of wildcarding mechanism.
--- Termination ID 0xFFFFFFFFFFFFFFFF indicates the ROOT Termination.
-
-TerminationIDList ::= SEQUENCE OF TerminationID
-
-MediaDescriptor ::= SEQUENCE
-{
-
- termStateDescr TerminationStateDescriptor OPTIONAL,
- streams CHOICE
- {
- oneStream StreamParms,
- multiStream SEQUENCE OF StreamDescriptor
- } OPTIONAL,
- ...
-}
-
-StreamDescriptor ::= SEQUENCE
-{
- streamID StreamID,
- streamParms StreamParms
-}
-
-StreamParms ::= SEQUENCE
-{
- localControlDescriptor LocalControlDescriptor OPTIONAL,
- localDescriptor LocalRemoteDescriptor OPTIONAL,
- remoteDescriptor LocalRemoteDescriptor OPTIONAL,
- ...
-}
-
-LocalControlDescriptor ::= SEQUENCE
-{
- streamMode StreamMode OPTIONAL,
- reserveValue BOOLEAN OPTIONAL,
- reserveGroup BOOLEAN OPTIONAL,
- propertyParms SEQUENCE OF PropertyParm,
- ...
-}
-
-StreamMode ::= ENUMERATED
-{
- sendOnly(0),
- recvOnly(1),
- sendRecv(2),
- inactive(3),
- loopBack(4),
- ...
-}
-
--- In PropertyParm, value is a SEQUENCE OF octet string. When sent
--- by an MGC the interpretation is as follows:
--- empty sequence means CHOOSE
--- one element sequence specifies value
--- If the sublist field is not selected, a longer sequence means
--- "choose one of the values" (i.e. value1 OR value2 OR ...)
--- If the sublist field is selected,
--- a sequence with more than one element encodes the value of a
--- list-valued property (i.e. value1 AND value2 AND ...).
--- The relation field may only be selected if the value sequence
--- has length 1. It indicates that the MG has to choose a value
--- for the property. E.g., x > 3 (using the greaterThan
--- value for relation) instructs the MG to choose any value larger
--- than 3 for property x.
--- The range field may only be selected if the value sequence
--- has length 2. It indicates that the MG has to choose a value
--- in the range between the first octet in the value sequence and
--- the trailing octet in the value sequence, including the
--- boundary values.
--- When sent by the MG, only responses to an AuditCapability request
--- may contain multiple values, a range, or a relation field.
-
-PropertyParm ::= SEQUENCE
-{
- name PkgdName,
- value SEQUENCE OF OCTET STRING,
- extraInfo CHOICE
- {
- relation Relation,
- range BOOLEAN,
- sublist BOOLEAN
- } OPTIONAL,
- ...
-}
-
-Name ::= OCTET STRING(SIZE(2))
-
-PkgdName ::= OCTET STRING(SIZE(4))
--- represents Package Name (2 octets) plus Property Name (2 octets)
--- To wildcard a package use 0xFFFF for first two octets, choose
--- is not allowed. To reference native property tag specified in
--- Annex C, use 0x0000 as first two octets.
--- Wildcarding of Package Name is permitted only if Property Name is
--- also wildcarded.
-
-Relation ::= ENUMERATED
-{
- greaterThan(0),
- smallerThan(1),
- unequalTo(2),
- ...
-}
-
-LocalRemoteDescriptor ::= SEQUENCE
-{
- propGrps SEQUENCE OF PropertyGroup,
- ...
-}
-
-PropertyGroup ::= SEQUENCE OF PropertyParm
-
-TerminationStateDescriptor ::= SEQUENCE
-{
- propertyParms SEQUENCE OF PropertyParm,
- eventBufferControl EventBufferControl OPTIONAL,
- serviceState ServiceState OPTIONAL,
- ...
-}
-
-EventBufferControl ::= ENUMERATED
-{
- off(0),
- lockStep(1),
- ...
-}
-
-ServiceState ::= ENUMERATED
-{
- test(0),
- outOfSvc(1),
- inSvc(2),
- ...
-}
-
-MuxDescriptor ::= SEQUENCE
-{
- muxType MuxType,
- termList SEQUENCE OF TerminationID,
- nonStandardData NonStandardData OPTIONAL,
- ...
-}
-
-MuxType ::= ENUMERATED
-{
- h221(0),
- h223(1),
- h226(2),
- v76(3),
- ...
-}
-
-StreamID ::= INTEGER(0..65535) -- 16 bit unsigned integer
-
-EventsDescriptor ::= SEQUENCE
-{
- requestID RequestID,
- -- IG 6.82 was withdrawn
- -- requestID RequestID OPTIONAL,
- -- RequestID must be present if eventList is non empty
- eventList SEQUENCE OF RequestedEvent,
- ...
-}
-
-RequestedEvent ::= SEQUENCE
-{
- pkgdName PkgdName,
- streamID StreamID OPTIONAL,
- eventAction RequestedActions OPTIONAL,
- evParList SEQUENCE OF EventParameter,
- ...
-}
-
-RequestedActions ::= SEQUENCE
-{
- keepActive BOOLEAN OPTIONAL,
- eventDM EventDM OPTIONAL,
- secondEvent SecondEventsDescriptor OPTIONAL,
- signalsDescriptor SignalsDescriptor OPTIONAL,
- ...
-}
-
-
-EventDM ::= CHOICE
-{
- digitMapName DigitMapName,
- digitMapValue DigitMapValue
-}
-
-SecondEventsDescriptor ::= SEQUENCE
-{
- requestID RequestID,
- -- IG 6.82 was withdrawn
- -- requestID RequestID OPTIONAL,
- -- RequestID must be present if eventList is non empty
- eventList SEQUENCE OF SecondRequestedEvent,
- ...
-}
-
-SecondRequestedEvent ::= SEQUENCE
-{
- pkgdName PkgdName,
- streamID StreamID OPTIONAL,
- eventAction SecondRequestedActions OPTIONAL,
- evParList SEQUENCE OF EventParameter,
- ...
-}
-
-SecondRequestedActions ::= SEQUENCE
-{
- keepActive BOOLEAN OPTIONAL,
- eventDM EventDM OPTIONAL,
- signalsDescriptor SignalsDescriptor OPTIONAL,
- ...
-}
-
-EventBufferDescriptor ::= SEQUENCE OF EventSpec
-
-EventSpec ::= SEQUENCE
-{
- eventName EventName,
- streamID StreamID OPTIONAL,
- eventParList SEQUENCE OF EventParameter,
- ...
-}
-
-SignalsDescriptor ::= SEQUENCE OF SignalRequest
-
-SignalRequest ::= CHOICE
-{
- signal Signal,
- seqSigList SeqSigList,
- ...
-}
-
-SeqSigList ::= SEQUENCE
-{
- id INTEGER(0..65535),
- signalList SEQUENCE OF Signal
-}
-
-Signal ::= SEQUENCE
-{
- signalName SignalName,
- streamID StreamID OPTIONAL,
- sigType SignalType OPTIONAL,
- duration INTEGER (0..65535) OPTIONAL,
- notifyCompletion NotifyCompletion OPTIONAL,
- keepActive BOOLEAN OPTIONAL,
- sigParList SEQUENCE OF SigParameter,
- ...
-}
-
-SignalType ::= ENUMERATED
-{
- brief(0),
- onOff(1),
- timeOut(2),
- ...
-}
-
-SignalName ::= PkgdName
-
-NotifyCompletion ::= BIT STRING
-{
- onTimeOut(0),
- onInterruptByEvent(1),
- onInterruptByNewSignalDescr(2),
- otherReason(3)
-}
-
-SigParameter ::= SEQUENCE
-{
- sigParameterName Name,
- value Value,
- -- For use of extraInfo see the comment related to propertyParm
- extraInfo CHOICE
- {
- relation Relation,
- range BOOLEAN,
- sublist BOOLEAN
- } OPTIONAL,
- ...
-}
-
-RequestID ::= INTEGER(0..4294967295) -- 32 bit unsigned integer
--- Request ALL Value: 4294967295 (0xFFFFFFFF)
-
-ModemDescriptor ::= SEQUENCE
-{
- mtl SEQUENCE OF ModemType,
- mpl SEQUENCE OF PropertyParm,
- nonStandardData NonStandardData OPTIONAL
-}
-
-ModemType ::= ENUMERATED
-{
- v18(0),
- v22(1),
- v22bis(2),
- v32(3),
- v32bis(4),
- v34(5),
- v90(6),
- v91(7),
- synchISDN(8),
- ...
-}
-
-DigitMapDescriptor ::= SEQUENCE
-{
- digitMapName DigitMapName OPTIONAL,
- digitMapValue DigitMapValue OPTIONAL
-}
-
-DigitMapName ::= Name
-
-DigitMapValue ::= SEQUENCE
-{
- startTimer INTEGER(0..99) OPTIONAL,
- shortTimer INTEGER(0..99) OPTIONAL,
- longTimer INTEGER(0..99) OPTIONAL,
- digitMapBody IA5String,
- -- See Section A.3 for explanation of digit map syntax
- ...
-}
-
-ServiceChangeParm ::= SEQUENCE
-{
- serviceChangeMethod ServiceChangeMethod,
- serviceChangeAddress ServiceChangeAddress OPTIONAL,
- serviceChangeVersion INTEGER(0..99) OPTIONAL,
- serviceChangeProfile ServiceChangeProfile OPTIONAL,
- serviceChangeReason Value,
- serviceChangeDelay INTEGER(0..4294967295) OPTIONAL,
- -- 32 bit unsigned integer
- serviceChangeMgcId MId OPTIONAL,
- timeStamp TimeNotation OPTIONAL,
- nonStandardData NonStandardData OPTIONAL,
- ...
-}
-
-ServiceChangeAddress ::= CHOICE
-{
- portNumber INTEGER(0..65535), -- TCP/UDP port number
- ip4Address IP4Address,
- ip6Address IP6Address,
- domainName DomainName,
- deviceName PathName,
- mtpAddress OCTET STRING(SIZE(2..4)),
- ...
-}
-
-ServiceChangeResParm ::= SEQUENCE
-{
- serviceChangeMgcId MId OPTIONAL,
- serviceChangeAddress ServiceChangeAddress OPTIONAL,
- serviceChangeVersion INTEGER(0..99) OPTIONAL,
- serviceChangeProfile ServiceChangeProfile OPTIONAL,
- timeStamp TimeNotation OPTIONAL,
- ...
-}
-
-ServiceChangeMethod ::= ENUMERATED
-{
- failover(0),
- forced(1),
- graceful(2),
- restart(3),
- disconnected(4),
- handOff(5),
- ...
-}
-
-ServiceChangeProfile ::= SEQUENCE
-{
- profileName Name,
- version INTEGER(0..99)
-}
-
-PackagesDescriptor ::= SEQUENCE OF PackagesItem
-
-PackagesItem ::= SEQUENCE
-{
- packageName Name,
- packageVersion INTEGER(0..99),
- ...
-}
-
-StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter
-
-StatisticsParameter ::= SEQUENCE
-{
- statName PkgdName,
- statValue Value OPTIONAL
-}
-
-NonStandardData ::= SEQUENCE
-{
- nonStandardIdentifier NonStandardIdentifier,
- data OCTET STRING
-}
-
-NonStandardIdentifier ::= CHOICE
-{
- object OBJECT IDENTIFIER,
- h221NonStandard H221NonStandard,
- experimental IA5String(SIZE(8)),
- -- first two characters should be "X-" or "X+"
- ...
-}
-
-H221NonStandard ::= SEQUENCE
-{
- t35CountryCode1 INTEGER(0..255),
- t35CountryCode2 INTEGER(0..255), -- country, as per T.35
- t35Extension INTEGER(0..255), -- assigned nationally
- manufacturerCode INTEGER(0..65535), -- assigned nationally
- ...
-}
-
-TimeNotation ::= SEQUENCE
-{
- date IA5String(SIZE(8)), -- yyyymmdd format
- time IA5String(SIZE(8)) -- hhmmssss format
-}
-
-Value ::= SEQUENCE OF OCTET STRING
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/MEDIA-GATEWAY-CONTROL.asn1config b/lib/asn1/test/asn1_bin_SUITE_data/MEDIA-GATEWAY-CONTROL.asn1config
deleted file mode 100644
index b7dba3c95c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/MEDIA-GATEWAY-CONTROL.asn1config
+++ /dev/null
@@ -1,7 +0,0 @@
-{exclusive_decode,
- {'MEDIA-GATEWAY-CONTROL',
- [{decode_MegacoMessage_exclusive,['MegacoMessage',[{authHeader,undecoded},{mess,[{mId,undecoded},{messageBody,undecoded}]}]]},
- {decode_Message_version,['Message',[{mId,undecoded},{messageBody,undecoded}]]}]}}.
-{selective_decode,
- {'MEDIA-GATEWAY-CONTROL',
- [{decode_MegacoMessage_selective,['MegacoMessage',mess,version]}]}}.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/MS.set.asn b/lib/asn1/test/asn1_bin_SUITE_data/MS.set.asn
deleted file mode 100644
index bcc74b2a96..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/MS.set.asn
+++ /dev/null
@@ -1,2 +0,0 @@
-M1.asn
-M2.asn
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn b/lib/asn1/test/asn1_bin_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn
deleted file mode 100644
index afbc7dc5ef..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn
+++ /dev/null
@@ -1,3084 +0,0 @@
-MULTIMEDIA-SYSTEM-CONTROL DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- Export all symbols
-
--- ===================================================================================
--- Top level Messages
--- ===================================================================================
-
-MultimediaSystemControlMessage ::=CHOICE
-{
- request RequestMessage,
- response ResponseMessage,
- command CommandMessage,
- indication IndicationMessage,
- ...
-}
-
--- A RequestMessage results in action and requires an immediate response
-
-RequestMessage ::=CHOICE
-{
- nonStandard NonStandardMessage,
-
- masterSlaveDetermination MasterSlaveDetermination,
-
- terminalCapabilitySet TerminalCapabilitySet,
-
- openLogicalChannel OpenLogicalChannel,
- closeLogicalChannel CloseLogicalChannel,
-
- requestChannelClose RequestChannelClose,
-
- multiplexEntrySend MultiplexEntrySend,
-
- requestMultiplexEntry RequestMultiplexEntry,
-
- requestMode RequestMode,
-
- roundTripDelayRequest RoundTripDelayRequest,
-
- maintenanceLoopRequest MaintenanceLoopRequest,
-
- ...,
- communicationModeRequest CommunicationModeRequest,
- conferenceRequest ConferenceRequest
-}
-
--- A ResponseMessage is the response to a request Message
-
-ResponseMessage ::=CHOICE
-{
- nonStandard NonStandardMessage,
-
- masterSlaveDeterminationAck MasterSlaveDeterminationAck,
- masterSlaveDeterminationReject MasterSlaveDeterminationReject,
-
- terminalCapabilitySetAck TerminalCapabilitySetAck,
- terminalCapabilitySetReject TerminalCapabilitySetReject,
-
- openLogicalChannelAck OpenLogicalChannelAck,
- openLogicalChannelReject OpenLogicalChannelReject,
- closeLogicalChannelAck CloseLogicalChannelAck,
-
- requestChannelCloseAck RequestChannelCloseAck,
- requestChannelCloseReject RequestChannelCloseReject,
-
- multiplexEntrySendAck MultiplexEntrySendAck,
- multiplexEntrySendReject MultiplexEntrySendReject,
-
- requestMultiplexEntryAck RequestMultiplexEntryAck,
- requestMultiplexEntryReject RequestMultiplexEntryReject,
-
- requestModeAck RequestModeAck,
- requestModeReject RequestModeReject,
-
- roundTripDelayResponse RoundTripDelayResponse,
-
- maintenanceLoopAck MaintenanceLoopAck,
- maintenanceLoopReject MaintenanceLoopReject,
-
- ...,
- communicationModeResponse CommunicationModeResponse,
-
- conferenceResponse ConferenceResponse
-
-
-}
-
--- A CommandMessage requires action, but no explicit response
-
-CommandMessage ::=CHOICE
-{
- nonStandard NonStandardMessage,
-
- maintenanceLoopOffCommand MaintenanceLoopOffCommand,
-
- sendTerminalCapabilitySet SendTerminalCapabilitySet,
-
- encryptionCommand EncryptionCommand,
-
- flowControlCommand FlowControlCommand,
-
- endSessionCommand EndSessionCommand,
-
- miscellaneousCommand MiscellaneousCommand,
-
- ...,
- communicationModeCommand CommunicationModeCommand,
-
- conferenceCommand ConferenceCommand,
-
- h223MultiplexReconfiguration H223MultiplexReconfiguration
-
-}
-
--- An IndicationMessage is information that does not require action or response
-
-IndicationMessage ::=CHOICE
-{
- nonStandard NonStandardMessage,
-
- functionNotUnderstood FunctionNotUnderstood,
-
- masterSlaveDeterminationRelease MasterSlaveDeterminationRelease,
-
- terminalCapabilitySetRelease TerminalCapabilitySetRelease,
-
- openLogicalChannelConfirm OpenLogicalChannelConfirm,
-
- requestChannelCloseRelease RequestChannelCloseRelease,
-
- multiplexEntrySendRelease MultiplexEntrySendRelease,
-
- requestMultiplexEntryRelease RequestMultiplexEntryRelease,
-
- requestModeRelease RequestModeRelease,
-
- miscellaneousIndication MiscellaneousIndication,
-
- jitterIndication JitterIndication,
-
- h223SkewIndication H223SkewIndication,
-
- newATMVCIndication NewATMVCIndication,
-
- userInput UserInputIndication,
- ...,
- h2250MaximumSkewIndication H2250MaximumSkewIndication,
-
- mcLocationIndication MCLocationIndication,
-
- conferenceIndication ConferenceIndication,
-
- vendorIdentification VendorIdentification,
-
- functionNotSupported FunctionNotSupported
-
-}
-
--- SequenceNumber is defined here as it is used in a number of Messages
-SequenceNumber ::=INTEGER (0..255)
-
--- ===================================================================================
--- Non standard Message definitions
--- ===================================================================================
-
-NonStandardMessage ::=SEQUENCE
-{
- nonStandardData NonStandardParameter,
- ...
-}
-
-NonStandardParameter ::=SEQUENCE
-{
- nonStandardIdentifier NonStandardIdentifier,
- data OCTET STRING
-}
-
-NonStandardIdentifier ::=CHOICE
-{
- object OBJECT IDENTIFIER,
- h221NonStandard SEQUENCE
- {
- t35CountryCode INTEGER (0..255), -- country, per T.35
- t35Extension INTEGER (0..255), -- assigned nationally
- manufacturerCode INTEGER (0..65535) -- assigned nationally
- }
-}
-
--- ===================================================================================
--- Master-slave determination definitions
--- ===================================================================================
-
-MasterSlaveDetermination ::=SEQUENCE
-{
- terminalType INTEGER (0..255),
- statusDeterminationNumber INTEGER (0..16777215),
- ...
-}
-
-MasterSlaveDeterminationAck ::=SEQUENCE
-{
- decision CHOICE
- {
- master NULL,
- slave NULL
- },
- ...
-}
-
-MasterSlaveDeterminationReject ::=SEQUENCE
-{
- cause CHOICE
- {
- identicalNumbers NULL,
- ...
- },
- ...
-}
-
-MasterSlaveDeterminationRelease ::=SEQUENCE
-{
- ...
-}
-
- -- ===================================================================================
--- Capability exchange definitions
--- ===================================================================================
-
-TerminalCapabilitySet ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
-
- protocolIdentifier OBJECT IDENTIFIER,
- -- shall be set to the value
- -- {itu-t (0) recommendation (0) h (8) 245 version (0) 3}
-
-
- multiplexCapability MultiplexCapability OPTIONAL,
-
- capabilityTable SET SIZE (1..256) OF CapabilityTableEntry OPTIONAL,
-
- capabilityDescriptors SET SIZE (1..256) OF CapabilityDescriptor OPTIONAL,
-
- ...
-}
-
-CapabilityTableEntry ::=SEQUENCE
-{
- capabilityTableEntryNumber CapabilityTableEntryNumber,
- capability Capability OPTIONAL
-}
-
-CapabilityDescriptor ::=SEQUENCE
-{
- capabilityDescriptorNumber CapabilityDescriptorNumber,
- simultaneousCapabilities SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL
-}
-
-AlternativeCapabilitySet ::=SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber
-
-CapabilityTableEntryNumber ::=INTEGER (1..65535)
-
-CapabilityDescriptorNumber ::=INTEGER (0..255)
-
-TerminalCapabilitySetAck ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- ...
-}
-
-TerminalCapabilitySetReject ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- cause CHOICE
- {
- unspecified NULL,
- undefinedTableEntryUsed NULL,
- descriptorCapacityExceeded NULL,
- tableEntryCapacityExceeded CHOICE
- {
- highestEntryNumberProcessed CapabilityTableEntryNumber,
- noneProcessed NULL
- },
- ...
- },
- ...
-}
-
-TerminalCapabilitySetRelease ::=SEQUENCE
-{
- ...
-}
-
--- ===================================================================================
--- Capability exchange definitions: top level capability description
--- ===================================================================================
-
-Capability ::=CHOICE
-{
- nonStandard NonStandardParameter,
-
- receiveVideoCapability VideoCapability,
- transmitVideoCapability VideoCapability,
- receiveAndTransmitVideoCapability VideoCapability,
-
- receiveAudioCapability AudioCapability,
- transmitAudioCapability AudioCapability,
- receiveAndTransmitAudioCapability AudioCapability,
-
- receiveDataApplicationCapability DataApplicationCapability,
- transmitDataApplicationCapability DataApplicationCapability,
- receiveAndTransmitDataApplicationCapability DataApplicationCapability,
-
- h233EncryptionTransmitCapability BOOLEAN,
- h233EncryptionReceiveCapability SEQUENCE
- {
- h233IVResponseTime INTEGER (0..255), -- units milliseconds
- ...
- },
- ...,
- conferenceCapability ConferenceCapability,
- h235SecurityCapability H235SecurityCapability,
- maxPendingReplacementFor INTEGER (0..255),
- receiveUserInputCapability UserInputCapability,
- transmitUserInputCapability UserInputCapability,
- receiveAndTransmitUserInputCapability UserInputCapability
-
-}
-
-H235SecurityCapability ::=SEQUENCE
-{
- encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity,
-
- mediaCapability CapabilityTableEntryNumber,
- -- Note: the mediaCapability shall refer to Capability Table Entries that do contain a transmit,
- -- receive, or receiveAndTransmit AudioCapability, VideoCapability,
- -- DataApplicationCapability, or similar capability indicated by a NonStandardParameter only
-
- ...
-}
-
--- ===================================================================================
--- Capability exchange definitions: Multiplex capabilities
--- ===================================================================================
-
-MultiplexCapability ::=CHOICE
-{
- nonStandard NonStandardParameter,
- h222Capability H222Capability,
- h223Capability H223Capability,
- v76Capability V76Capability,
- ...,
- h2250Capability H2250Capability
-
-}
-
-H222Capability ::= SEQUENCE
-{
- numberOfVCs INTEGER (1..256),
- vcCapability SET OF VCCapability,
- ...
-}
-
-VCCapability ::=SEQUENCE
-{
- aal1 SEQUENCE
- {
- nullClockRecovery BOOLEAN,
- srtsClockRecovery BOOLEAN,
- adaptiveClockRecovery BOOLEAN,
- nullErrorCorrection BOOLEAN,
- longInterleaver BOOLEAN,
- shortInterleaver BOOLEAN,
- errorCorrectionOnly BOOLEAN,
- structuredDataTransfer BOOLEAN,
- partiallyFilledCells BOOLEAN,
- ...
- } OPTIONAL,
- aal5 SEQUENCE
- {
- forwardMaximumSDUSize INTEGER (0..65535), -- units octets
- backwardMaximumSDUSize INTEGER (0..65535), -- units octets
- ...
- } OPTIONAL,
- transportStream BOOLEAN,
- programStream BOOLEAN,
- availableBitRates SEQUENCE
- {
- type CHOICE
- {
- singleBitRate INTEGER (1..65535), -- units 64 kbit/s
- rangeOfBitRates SEQUENCE
- {
- lowerBitRate INTEGER (1..65535), -- units 64 kbit/s
- higherBitRate INTEGER (1..65535) -- units 64 kbit/s
- }
- },
- ...
- },
- ...
-}
-
-H223Capability ::=SEQUENCE
-{
- transportWithI-frames BOOLEAN, -- I-frame transport of H.245
-
- videoWithAL1 BOOLEAN,
- videoWithAL2 BOOLEAN,
- videoWithAL3 BOOLEAN,
- audioWithAL1 BOOLEAN,
- audioWithAL2 BOOLEAN,
- audioWithAL3 BOOLEAN,
- dataWithAL1 BOOLEAN,
- dataWithAL2 BOOLEAN,
- dataWithAL3 BOOLEAN,
-
- maximumAl2SDUSize INTEGER (0..65535), -- units octets
- maximumAl3SDUSize INTEGER (0..65535), -- units octets
-
- maximumDelayJitter INTEGER (0..1023), -- units milliseconds
-
- h223MultiplexTableCapability CHOICE
- {
- basic NULL,
- enhanced SEQUENCE
- {
- maximumNestingDepth INTEGER (1..15),
- maximumElementListSize INTEGER (2..255),
- maximumSubElementListSize INTEGER (2..255),
- ...
- }
- },
- ...,
- maxMUXPDUSizeCapability BOOLEAN,
- nsrpSupport BOOLEAN,
- mobileOperationTransmitCapability SEQUENCE
- {
- modeChangeCapability BOOLEAN,
- h223AnnexA BOOLEAN,
- h223AnnexADoubleFlag BOOLEAN,
- h223AnnexB BOOLEAN,
- h223AnnexBwithHeader BOOLEAN,
- ...
- } OPTIONAL,
- h223AnnexCCapability H223AnnexCCapability OPTIONAL
-
-}
-
-H223AnnexCCapability ::= SEQUENCE
-{
- videoWithAL1M BOOLEAN,
- videoWithAL2M BOOLEAN,
- videoWithAL3M BOOLEAN,
- audioWithAL1M BOOLEAN,
- audioWithAL2M BOOLEAN,
- audioWithAL3M BOOLEAN,
- dataWithAL1M BOOLEAN,
- dataWithAL2M BOOLEAN,
- dataWithAL3M BOOLEAN,
- alpduInterleaving BOOLEAN,
-
- maximumAL1MPDUSize INTEGER (0..65535), -- units octets
- maximumAL2MSDUSize INTEGER (0..65535), -- units octets
- maximumAL3MSDUSize INTEGER (0..65535), -- units octets
- ...
-}
-
-V76Capability ::=SEQUENCE
-{
- suspendResumeCapabilitywAddress BOOLEAN,
- suspendResumeCapabilitywoAddress BOOLEAN,
- rejCapability BOOLEAN,
- sREJCapability BOOLEAN,
- mREJCapability BOOLEAN,
- crc8bitCapability BOOLEAN,
- crc16bitCapability BOOLEAN,
- crc32bitCapability BOOLEAN,
- uihCapability BOOLEAN,
- numOfDLCS INTEGER (2..8191),
- twoOctetAddressFieldCapability BOOLEAN,
- loopBackTestCapability BOOLEAN,
- n401Capability INTEGER (1..4095),
- maxWindowSizeCapability INTEGER (1..127),
- v75Capability V75Capability,
- ...
-}
-
-V75Capability ::=SEQUENCE
-{
- audioHeader BOOLEAN,
- ...
-}
-
-H2250Capability ::=SEQUENCE
-{
- maximumAudioDelayJitter INTEGER(0..1023), -- units in milliseconds
- receiveMultipointCapability MultipointCapability,
- transmitMultipointCapability MultipointCapability,
- receiveAndTransmitMultipointCapability MultipointCapability,
- mcCapability SEQUENCE
- {
- centralizedConferenceMC BOOLEAN,
- decentralizedConferenceMC BOOLEAN,
- ...
- },
- rtcpVideoControlCapability BOOLEAN, -- FIR and NACK
- mediaPacketizationCapability MediaPacketizationCapability,
- ...,
- transportCapability TransportCapability OPTIONAL,
- redundancyEncodingCapability SEQUENCE SIZE(1..256) OF RedundancyEncodingCapability OPTIONAL,
- logicalChannelSwitchingCapability BOOLEAN,
- t120DynamicPortCapability BOOLEAN
-
-}
-
-MediaPacketizationCapability ::=SEQUENCE
-{
- h261aVideoPacketization BOOLEAN,
- ...,
- rtpPayloadType SEQUENCE SIZE(1..256) OF RTPPayloadType OPTIONAL
-}
-
-RSVPParameters ::=SEQUENCE
-{
- qosMode QOSMode OPTIONAL,
- tokenRate INTEGER (1..4294967295) OPTIONAL,
- -- rate in bytes/sec
- bucketSize INTEGER (1..4294967295) OPTIONAL, -- size in bytes
- peakRate INTEGER (1..4294967295) OPTIONAL,
- -- peak bandwidth bytes/sec
- minPoliced INTEGER (1..4294967295) OPTIONAL, --
- maxPktSize INTEGER (1..4294967295) OPTIONAL, -- size in bytes
- ...
-}
-
-QOSMode ::=CHOICE
-{
- guaranteedQOS NULL,
- controlledLoad NULL,
- ...
-}
-
--- Ed. Replace with ITU-T ATM Transfer Capability Types
-ATMParameters ::=SEQUENCE
-{
- maxNTUSize INTEGER(0..65535), --units in octets
- atmUBR BOOLEAN, --unspecified bit rate
- atmrtVBR BOOLEAN, --real time variable bit rate
- atmnrtVBR BOOLEAN, --non real time variable bit rate
- atmABR BOOLEAN, --available bit rate
- atmCBR BOOLEAN, --constant bit rate
- ...
-}
-
-QOSCapability ::=SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- rsvpParameters RSVPParameters OPTIONAL,
- atmParameters ATMParameters OPTIONAL,
- ...
-}
-
-MediaTransportType ::=CHOICE
-{
- ip-UDP NULL,
- ip-TCP NULL,
- atm-AAL5-UNIDIR NULL, -- virtual circuits used as unidirectional
- atm-AAL5-BIDIR NULL, -- virtual circuits used as bidirectional
- ...
-}
-
-MediaChannelCapability ::=SEQUENCE
-{
- mediaTransport MediaTransportType OPTIONAL,
- ...
-}
-
-TransportCapability ::=SEQUENCE
-{
- nonStandard NonStandardParameter OPTIONAL,
- qOSCapabilities SEQUENCE SIZE(1..256) OF QOSCapability OPTIONAL,
- mediaChannelCapabilities SEQUENCE SIZE(1..256) OF MediaChannelCapability OPTIONAL,
- ...
-}
-
-RedundancyEncodingCapability ::=SEQUENCE
-{
- redundancyEncodingMethod RedundancyEncodingMethod,
- primaryEncoding CapabilityTableEntryNumber,
- secondaryEncoding SEQUENCE SIZE(1..256) OF CapabilityTableEntryNumber OPTIONAL,
- ...
-}
-
-RedundancyEncodingMethod ::=CHOICE
-{
- nonStandard NonStandardParameter,
- rtpAudioRedundancyEncoding NULL,
- ...,
- rtpH263VideoRedundancyEncoding RTPH263VideoRedundancyEncoding
-}
-
-RTPH263VideoRedundancyEncoding ::= SEQUENCE
-{
- numberOfThreads INTEGER (1..16),
- framesBetweenSyncPoints INTEGER (1..256),
- frameToThreadMapping CHOICE
- {
- roundrobin NULL,
- custom SEQUENCE SIZE(1..256) OF
- RTPH263VideoRedundancyFrameMapping,
--- empty SEQUENCE for capability negotiation
--- meaningful contents only OpenLogicalChannel
- ...
- },
- containedThreads SEQUENCE SIZE(1..256) OF INTEGER (0..15) OPTIONAL,
- -- only used for opening of logical channels
- ...
-}
-
-RTPH263VideoRedundancyFrameMapping ::= SEQUENCE
-{
- threadNumber INTEGER (0..15),
- frameSequence SEQUENCE SIZE(1..256) OF INTEGER (0..255),
- ...
-}
-
-MultipointCapability ::=SEQUENCE
-{
- multicastCapability BOOLEAN,
- multiUniCastConference BOOLEAN,
- mediaDistributionCapability SEQUENCE OF MediaDistributionCapability,
- ...
-}
-
-MediaDistributionCapability ::=SEQUENCE
-{
- centralizedControl BOOLEAN,
- distributedControl BOOLEAN, -- for further study in H.323
- centralizedAudio BOOLEAN,
- distributedAudio BOOLEAN,
- centralizedVideo BOOLEAN,
- distributedVideo BOOLEAN,
- centralizedData SEQUENCE OF DataApplicationCapability OPTIONAL,
- distributedData SEQUENCE OF DataApplicationCapability OPTIONAL,
- -- for further study in H.323
- ...
-}
-
-
-
--- ===================================================================================
--- Capability exchange definitions: Video capabilities
--- ===================================================================================
-
-VideoCapability ::=CHOICE
-{
- nonStandard NonStandardParameter ,
- h261VideoCapability H261VideoCapability,
- h262VideoCapability H262VideoCapability,
- h263VideoCapability H263VideoCapability,
- is11172VideoCapability IS11172VideoCapability,
- ...
-}
-
-H261VideoCapability ::=SEQUENCE
-{
- qcifMPI INTEGER (1..4) OPTIONAL, -- units 1/29.97 Hz
- cifMPI INTEGER (1..4) OPTIONAL, -- units 1/29.97 Hz
- temporalSpatialTradeOffCapability BOOLEAN,
- maxBitRate INTEGER (1..19200), -- units of 100 bit/s
- stillImageTransmission BOOLEAN, -- Annex D of H.261
- ...
-}
-
-H262VideoCapability ::=SEQUENCE
-{
- profileAndLevel-SPatML BOOLEAN,
- profileAndLevel-MPatLL BOOLEAN,
- profileAndLevel-MPatML BOOLEAN,
- profileAndLevel-MPatH-14 BOOLEAN,
- profileAndLevel-MPatHL BOOLEAN,
- profileAndLevel-SNRatLL BOOLEAN,
- profileAndLevel-SNRatML BOOLEAN,
- profileAndLevel-SpatialatH-14 BOOLEAN,
- profileAndLevel-HPatML BOOLEAN,
- profileAndLevel-HPatH-14 BOOLEAN,
- profileAndLevel-HPatHL BOOLEAN,
- videoBitRate INTEGER (0.. 1073741823) OPTIONAL, -- units 400 bit/s
- vbvBufferSize INTEGER (0.. 262143) OPTIONAL, -- units 16384 bits
- samplesPerLine INTEGER (0..16383) OPTIONAL, -- units samples/line
- linesPerFrame INTEGER (0..16383) OPTIONAL, -- units lines/frame
- framesPerSecond INTEGER (0..15) OPTIONAL, -- frame_rate_code
- luminanceSampleRate INTEGER (0..4294967295) OPTIONAL, -- units samples/sec
- ...
-}
-
-H263VideoCapability ::=SEQUENCE
-{
- sqcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- qcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cif4MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cif16MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- maxBitRate INTEGER (1..192400), -- units 100 bit/s
- unrestrictedVector BOOLEAN,
- arithmeticCoding BOOLEAN,
- advancedPrediction BOOLEAN,
- pbFrames BOOLEAN,
- temporalSpatialTradeOffCapability BOOLEAN,
- hrd-B INTEGER (0..524287) OPTIONAL, -- units 128 bits
- bppMaxKb INTEGER (0..65535) OPTIONAL, -- units 1024 bits
- ...,
-
- slowSqcifMPI INTEGER (1..3600) OPTIONAL, -- units seconds/frame
- slowQcifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCif4MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCif16MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- errorCompensation BOOLEAN,
-
- enhancementLayerInfo EnhancementLayerInfo OPTIONAL,
- h263Options H263Options OPTIONAL
-
-}
-
-EnhancementLayerInfo ::=SEQUENCE
-{
- baseBitRateConstrained BOOLEAN,
- snrEnhancement SET SIZE(1..14) OF EnhancementOptions OPTIONAL,
- spatialEnhancement SET SIZE(1..14) OF EnhancementOptions OPTIONAL,
- bPictureEnhancement SET SIZE(1..14) OF BEnhancementParameters OPTIONAL,
- ...
-}
-
-BEnhancementParameters ::=SEQUENCE
-{
- enhancementOptions EnhancementOptions,
- numberOfBPictures INTEGER (1..64),
- ...
-}
-
-EnhancementOptions ::=SEQUENCE
-{
- sqcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- qcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cif4MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cif16MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- maxBitRate INTEGER (1..192400), -- units 100 bit/s
- unrestrictedVector BOOLEAN,
- arithmeticCoding BOOLEAN,
- temporalSpatialTradeOffCapability BOOLEAN,
- slowSqcifMPI INTEGER (1..3600) OPTIONAL, -- units econds/frame
- slowQcifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCif4MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCif16MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- errorCompensation BOOLEAN,
- h263Options H263Options OPTIONAL,
- ...
-}
-
-H263Options ::= SEQUENCE
-{
- advancedIntraCodingMode BOOLEAN,
- deblockingFilterMode BOOLEAN,
- improvedPBFramesMode BOOLEAN,
-
- unlimitedMotionVectors BOOLEAN,
-
- fullPictureFreeze BOOLEAN,
- partialPictureFreezeAndRelease BOOLEAN,
- resizingPartPicFreezeAndRelease BOOLEAN,
- fullPictureSnapshot BOOLEAN,
- partialPictureSnapshot BOOLEAN,
- videoSegmentTagging BOOLEAN,
- progressiveRefinement BOOLEAN,
-
- dynamicPictureResizingByFour BOOLEAN,
- dynamicPictureResizingSixteenthPel BOOLEAN,
- dynamicWarpingHalfPel BOOLEAN,
- dynamicWarpingSixteenthPel BOOLEAN,
-
- independentSegmentDecoding BOOLEAN,
-
- slicesInOrder-NonRect BOOLEAN,
- slicesInOrder-Rect BOOLEAN,
- slicesNoOrder-NonRect BOOLEAN,
- slicesNoOrder-Rect BOOLEAN,
-
- alternateInterVLCMode BOOLEAN,
- modifiedQuantizationMode BOOLEAN,
- reducedResolutionUpdate BOOLEAN,
-
- transparencyParameters TransparencyParameters OPTIONAL,
- separateVideoBackChannel BOOLEAN,
- refPictureSelection RefPictureSelection OPTIONAL,
- customPictureClockFrequency SET SIZE (1..16) OF CustomPictureClockFrequency OPTIONAL,
- customPictureFormat SET SIZE (1..16) OF CustomPictureFormat OPTIONAL,
- modeCombos SET SIZE (1..16) OF H263VideoModeCombos OPTIONAL,
- ...
-}
-
-TransparencyParameters ::= SEQUENCE
-{
- presentationOrder INTEGER(1..256),
- offset-x INTEGER(-262144..262143), -- 1/8 pixels
- offset-y INTEGER(-262144..262143), -- 1/8 pixels
- scale-x INTEGER(1..255),
- scale-y INTEGER(1..255),
- ...
-}
-
-RefPictureSelection ::=SEQUENCE
-{
- additionalPictureMemory SEQUENCE
- {
- sqcifAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- qcifAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- cifAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- cif4AdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- cif16AdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- bigCpfAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- ...
- } OPTIONAL,
- videoMux BOOLEAN,
- videoBackChannelSend CHOICE
- {
- none NULL,
- ackMessageOnly NULL,
- nackMessageOnly NULL,
- ackOrNackMessageOnly NULL,
- ackAndNackMessage NULL,
- ...
- },
- ...
-}
-
-CustomPictureClockFrequency ::=SEQUENCE
-{
- clockConversionCode INTEGER(1000..1001),
- clockDivisor INTEGER(1..127),
- sqcifMPI INTEGER (1..2048) OPTIONAL,
- qcifMPI INTEGER (1..2048) OPTIONAL,
- cifMPI INTEGER (1..2048) OPTIONAL,
- cif4MPI INTEGER (1..2048) OPTIONAL,
- cif16MPI INTEGER (1..2048) OPTIONAL,
- ...
-}
-
-CustomPictureFormat ::=SEQUENCE
-{
- maxCustomPictureWidth INTEGER(1..2048), -- units 4 pixels
- maxCustomPictureHeight INTEGER(1..2048), -- units 4 pixels
- minCustomPictureWidth INTEGER(1..2048), -- units 4 pixels
- minCustomPictureHeight INTEGER(1..2048), -- units 4 pixels
- mPI SEQUENCE
- {
- standardMPI INTEGER (1..31) OPTIONAL,
- customPCF SET SIZE (1..16) OF SEQUENCE
- {
- clockConversionCode INTEGER (1000..1001),
- clockDivisor INTEGER (1..127),
- customMPI INTEGER (1..2048),
- ...
- } OPTIONAL,
- ...
- },
-
- pixelAspectInformation CHOICE
- {
- anyPixelAspectRatio BOOLEAN,
- pixelAspectCode SET SIZE (1..14) OF INTEGER(1..14),
- extendedPAR SET SIZE (1..256) OF SEQUENCE
- {
- width INTEGER(1..255),
- height INTEGER(1..255),
- ...
- },
- ...
- } ,
- ...
-}
-
-H263VideoModeCombos ::= SEQUENCE
-{
- h263VideoUncoupledModes H263ModeComboFlags,
- h263VideoCoupledModes SET SIZE (1..16) OF H263ModeComboFlags,
- ...
-}
-
-H263ModeComboFlags ::= SEQUENCE
-{
- unrestrictedVector BOOLEAN,
- arithmeticCoding BOOLEAN,
- advancedPrediction BOOLEAN,
- pbFrames BOOLEAN,
- advancedIntraCodingMode BOOLEAN,
- deblockingFilterMode BOOLEAN,
- unlimitedMotionVectors BOOLEAN,
- slicesInOrder-NonRect BOOLEAN,
- slicesInOrder-Rect BOOLEAN,
- slicesNoOrder-NonRect BOOLEAN,
- slicesNoOrder-Rect BOOLEAN,
- improvedPBFramesMode BOOLEAN,
- referencePicSelect BOOLEAN,
- dynamicPictureResizingByFour BOOLEAN,
- dynamicPictureResizingSixteenthPel BOOLEAN,
- dynamicWarpingHalfPel BOOLEAN,
- dynamicWarpingSixteenthPel BOOLEAN,
- reducedResolutionUpdate BOOLEAN,
- independentSegmentDecoding BOOLEAN,
- alternateInterVLCMode BOOLEAN,
- modifiedQuantizationMode BOOLEAN,
- ...
-}
-
-IS11172VideoCapability ::=SEQUENCE
-{
- constrainedBitstream BOOLEAN,
- videoBitRate INTEGER (0.. 1073741823) OPTIONAL, -- units 400 bit/s
- vbvBufferSize INTEGER (0.. 262143) OPTIONAL, -- units 16384 bits
- samplesPerLine INTEGER (0..16383) OPTIONAL, -- units samples/line
- linesPerFrame INTEGER (0..16383) OPTIONAL, -- units lines/frame
- pictureRate INTEGER (0..15) OPTIONAL,
- luminanceSampleRate INTEGER (0..4294967295) OPTIONAL, -- units samples/sec
- ...
-}
-
--- ===================================================================================
--- Capability exchange definitions: Audio capabilities
--- ===================================================================================
-
--- For an H.222 multiplex, the integers indicate the size of the STD buffer in units of 256 octets
--- For an H.223 multiplex, the integers indicate the maximum number of audio frames per AL-SDU
--- For an H.225.0 multiplex, the integers indicate the maximum number of audio frames per packet
-
-AudioCapability ::=CHOICE
-{
- nonStandard NonStandardParameter,
- g711Alaw64k INTEGER (1..256),
- g711Alaw56k INTEGER (1..256),
- g711Ulaw64k INTEGER (1..256),
- g711Ulaw56k INTEGER (1..256),
-
- g722-64k INTEGER (1..256),
- g722-56k INTEGER (1..256),
- g722-48k INTEGER (1..256),
-
- g7231 SEQUENCE
- {
- maxAl-sduAudioFrames INTEGER (1..256),
- silenceSuppression BOOLEAN
- },
-
- g728 INTEGER (1..256),
- g729 INTEGER (1..256),
- g729AnnexA INTEGER (1..256),
- is11172AudioCapability IS11172AudioCapability,
- is13818AudioCapability IS13818AudioCapability,
- ...,
- g729wAnnexB INTEGER(1..256),
- g729AnnexAwAnnexB INTEGER(1..256),
- g7231AnnexCCapability G7231AnnexCCapability,
- gsmFullRate GSMAudioCapability,
- gsmHalfRate GSMAudioCapability,
- gsmEnhancedFullRate GSMAudioCapability
-}
-
-G7231AnnexCCapability ::= SEQUENCE
-{
- maxAl-sduAudioFrames INTEGER (1..256),
- silenceSuppression BOOLEAN,
- g723AnnexCAudioMode SEQUENCE
- {
- highRateMode0 INTEGER (27..78), -- units octets
- highRateMode1 INTEGER (27..78), -- units octets
- lowRateMode0 INTEGER (23..66), -- units octets
- lowRateMode1 INTEGER (23..66), -- units octets
- sidMode0 INTEGER (6..17), -- units octets
- sidMode1 INTEGER (6..17), -- units octets
- ...
- } OPTIONAL,
- ...
-}
-
-IS11172AudioCapability ::=SEQUENCE
-{
- audioLayer1 BOOLEAN,
- audioLayer2 BOOLEAN,
- audioLayer3 BOOLEAN,
-
- audioSampling32k BOOLEAN,
- audioSampling44k1 BOOLEAN,
- audioSampling48k BOOLEAN,
-
- singleChannel BOOLEAN,
- twoChannels BOOLEAN,
-
- bitRate INTEGER (1..448), -- units kbit/s
- ...
-}
-
-IS13818AudioCapability ::=SEQUENCE
-{
- audioLayer1 BOOLEAN,
- audioLayer2 BOOLEAN,
- audioLayer3 BOOLEAN,
-
- audioSampling16k BOOLEAN,
- audioSampling22k05 BOOLEAN,
- audioSampling24k BOOLEAN,
- audioSampling32k BOOLEAN,
- audioSampling44k1 BOOLEAN,
- audioSampling48k BOOLEAN,
-
- singleChannel BOOLEAN,
- twoChannels BOOLEAN,
- threeChannels2-1 BOOLEAN,
- threeChannels3-0 BOOLEAN,
- fourChannels2-0-2-0 BOOLEAN,
- fourChannels2-2 BOOLEAN,
- fourChannels3-1 BOOLEAN,
- fiveChannels3-0-2-0 BOOLEAN,
- fiveChannels3-2 BOOLEAN,
-
- lowFrequencyEnhancement BOOLEAN,
-
- multilingual BOOLEAN,
-
- bitRate INTEGER (1..1130), -- units kbit/s
- ...
-}
-
-GSMAudioCapability ::= SEQUENCE
-{
- audioUnitSize INTEGER (1..256),
- comfortNoise BOOLEAN,
- scrambled BOOLEAN,
- ...
-}
-
--- ===================================================================================
--- Capability exchange definitions: Data capabilities
--- ===================================================================================
-
-DataApplicationCapability ::=SEQUENCE
-{
- application CHOICE
- {
- nonStandard NonStandardParameter,
- t120 DataProtocolCapability,
- dsm-cc DataProtocolCapability,
- userData DataProtocolCapability,
- t84 SEQUENCE
- {
- t84Protocol DataProtocolCapability,
- t84Profile T84Profile
- },
- t434 DataProtocolCapability,
- h224 DataProtocolCapability,
- nlpid SEQUENCE
- {
- nlpidProtocol DataProtocolCapability,
- nlpidData OCTET STRING
- },
- dsvdControl NULL,
- h222DataPartitioning DataProtocolCapability,
- ...,
- t30fax DataProtocolCapability,
- t140 DataProtocolCapability
- },
- maxBitRate INTEGER (0..4294967295), -- units 100 bit/s
- ...
-}
-
-DataProtocolCapability ::=CHOICE
-{
- nonStandard NonStandardParameter,
- v14buffered NULL,
- v42lapm NULL, -- may negotiate to V.42bis
- hdlcFrameTunnelling NULL,
- h310SeparateVCStack NULL,
- h310SingleVCStack NULL,
- transparent NULL,
- ...,
- segmentationAndReassembly NULL,
- hdlcFrameTunnelingwSAR NULL,
- v120 NULL, -- as in H.230
- separateLANStack NULL,
- v76wCompression CHOICE
- {
- transmitCompression CompressionType,
- receiveCompression CompressionType,
- transmitAndReceiveCompression CompressionType,
- ...
- }
-}
-
-CompressionType ::=CHOICE
-{
- v42bis V42bis,
- ...
-}
-
-V42bis ::=SEQUENCE
-{
- numberOfCodewords INTEGER (1..65536),
- maximumStringLength INTEGER (1..256),
- ...
-}
-
-T84Profile ::=CHOICE
-{
- t84Unrestricted NULL,
- t84Restricted SEQUENCE
- {
- qcif BOOLEAN,
- cif BOOLEAN,
- ccir601Seq BOOLEAN,
- ccir601Prog BOOLEAN,
- hdtvSeq BOOLEAN,
- hdtvProg BOOLEAN,
-
- g3FacsMH200x100 BOOLEAN,
- g3FacsMH200x200 BOOLEAN,
- g4FacsMMR200x100 BOOLEAN,
- g4FacsMMR200x200 BOOLEAN,
- jbig200x200Seq BOOLEAN,
- jbig200x200Prog BOOLEAN,
- jbig300x300Seq BOOLEAN,
- jbig300x300Prog BOOLEAN,
-
- digPhotoLow BOOLEAN,
- digPhotoMedSeq BOOLEAN,
- digPhotoMedProg BOOLEAN,
- digPhotoHighSeq BOOLEAN,
- digPhotoHighProg BOOLEAN,
-
- ...
- }
-}
-
--- ===================================================================================
--- Encryption Capability Definitions:
--- ===================================================================================
-
-EncryptionAuthenticationAndIntegrity ::=SEQUENCE
-{
- encryptionCapability EncryptionCapability OPTIONAL,
- authenticationCapability AuthenticationCapability OPTIONAL,
- integrityCapability IntegrityCapability OPTIONAL,
- ...
-}
-
-EncryptionCapability ::=SEQUENCE SIZE(1..256) OF MediaEncryptionAlgorithm
-
-MediaEncryptionAlgorithm ::=CHOICE
-{
- nonStandard NonStandardParameter,
- algorithm OBJECT IDENTIFIER, -- many defined in ISO/IEC 9979
- ...
-}
-
-AuthenticationCapability ::=SEQUENCE
-{
- nonStandard NonStandardParameter OPTIONAL,
- ...
-}
-
-IntegrityCapability ::=SEQUENCE
-{
- nonStandard NonStandardParameter OPTIONAL,
- ...
-}
-
--- ================================================================================
--- Capability Exchange Definitions: UserInput
--- ================================================================================
-
-UserInputCapability ::= CHOICE
-{
- nonStandard SEQUENCE SIZE(1..16) OF NonStandardParameter,
- basicString NULL, -- alphanumeric
- iA5String NULL, -- alphanumeric
- generalString NULL, -- alphanumeric
- dtmf NULL, -- supports dtmf using signal and signalUpdate
- hookflash NULL, -- supports hookflash using signal
- ...
-}
-
--- ===================================================================================
--- Capability Exchange Definitions: Conference
--- ===================================================================================
-
-ConferenceCapability ::=SEQUENCE
-{
- nonStandardData SEQUENCE OF NonStandardParameter OPTIONAL,
- chairControlCapability BOOLEAN,
- ...
-}
- -- ===================================================================================
--- Logical channel signalling definitions
--- ===================================================================================
-
--- "Forward" is used to refer to transmission in the direction from the terminal making the
--- original request for a logical channel to the other terminal, and "reverse" is used to refer
--- to the opposite direction of transmission, in the case of a bi-directional channel request.
-
-OpenLogicalChannel ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
-
- forwardLogicalChannelParameters SEQUENCE
- {
- portNumber INTEGER (0..65535) OPTIONAL,
- dataType DataType,
- multiplexParameters CHOICE
- {
- h222LogicalChannelParameters H222LogicalChannelParameters,
- h223LogicalChannelParameters H223LogicalChannelParameters,
- v76LogicalChannelParameters V76LogicalChannelParameters,
- ...,
- h2250LogicalChannelParameters H2250LogicalChannelParameters,
- none NULL -- for use with Separate Stack when
- -- multiplexParameters are not required
- -- or appropriate
-
- },
- ...,
- forwardLogicalChannelDependency LogicalChannelNumber OPTIONAL,
- -- also used to refer to the primary logical channel when using video redundancy coding
- replacementFor LogicalChannelNumber OPTIONAL
-
- },
-
- -- Used to specify the reverse channel for bi-directional open request
-
- reverseLogicalChannelParameters SEQUENCE
- {
- dataType DataType,
- multiplexParameters CHOICE
- {
- -- H.222 parameters are never present in reverse direction
- h223LogicalChannelParameters H223LogicalChannelParameters,
- v76LogicalChannelParameters V76LogicalChannelParameters,
- ...,
- h2250LogicalChannelParameters H2250LogicalChannelParameters
-
- } OPTIONAL, -- Not present for H.222
- ...,
- reverseLogicalChannelDependency LogicalChannelNumber OPTIONAL,
- -- also used to refer to the primary logical channel when using video redundancy coding
- replacementFor LogicalChannelNumber OPTIONAL
-
- } OPTIONAL, -- Not present for uni-directional channel request
- ...,
- separateStack NetworkAccessParameters OPTIONAL,
- -- for Open responder to establish the stack
- encryptionSync EncryptionSync OPTIONAL -- used only by Master
-
-
-}
-
-LogicalChannelNumber ::=INTEGER (1..65535)
-
-NetworkAccessParameters ::=SEQUENCE
-{
- distribution CHOICE
- {
- unicast NULL,
- multicast NULL, -- For Further Study in T.120
- ...
- } OPTIONAL,
-
- networkAddress CHOICE
- {
- q2931Address Q2931Address,
- e164Address IA5String(SIZE(1..128)) (FROM ("0123456789#*,")),
- localAreaAddress TransportAddress,
- ...
- },
- associateConference BOOLEAN,
- externalReference OCTET STRING(SIZE(1..255)) OPTIONAL,
- ...,
- t120SetupProcedure CHOICE
- {
-
- originateCall NULL,
- waitForCall NULL,
- issueQuery NULL,
- ...
- } OPTIONAL
-}
-
-Q2931Address ::=SEQUENCE
-{
- address CHOICE
- {
- internationalNumber NumericString(SIZE(1..16)),
- nsapAddress OCTET STRING (SIZE(1..20)),
- ...
- },
- subaddress OCTET STRING (SIZE(1..20)) OPTIONAL,
- ...
-}
-
-V75Parameters ::= SEQUENCE
-{
- audioHeaderPresent BOOLEAN,
- ...
-}
-
-
-DataType ::=CHOICE
-{
- nonStandard NonStandardParameter,
- nullData NULL,
- videoData VideoCapability,
- audioData AudioCapability,
- data DataApplicationCapability,
- encryptionData EncryptionMode,
- ...,
- h235Control NonStandardParameter,
- h235Media H235Media
-}
-
-H235Media ::=SEQUENCE
-{
- encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity,
-
- mediaType CHOICE
- {
- nonStandard NonStandardParameter,
- videoData VideoCapability,
- audioData AudioCapability,
- data DataApplicationCapability,
- ...
- },
-
- ...
-}
-
-H222LogicalChannelParameters ::=SEQUENCE
-{
- resourceID INTEGER (0..65535),
- subChannelID INTEGER (0..8191),
- pcr-pid INTEGER (0..8191) OPTIONAL,
- programDescriptors OCTET STRING OPTIONAL,
- streamDescriptors OCTET STRING OPTIONAL,
- ...
-}
-
-H223LogicalChannelParameters ::=SEQUENCE
-{
- adaptationLayerType CHOICE
- {
- nonStandard NonStandardParameter,
- al1Framed NULL,
- al1NotFramed NULL,
- al2WithoutSequenceNumbers NULL,
- al2WithSequenceNumbers NULL,
- al3 SEQUENCE
- {
- controlFieldOctets INTEGER (0..2),
- sendBufferSize INTEGER (0..16777215) -- units octets
- },
- ...,
- al1M H223AL1MParameters,
- al2M H223AL2MParameters,
- al3M H223AL3MParameters
- },
-
- segmentableFlag BOOLEAN,
- ...
-}
-
-H223AL1MParameters ::=SEQUENCE
-{
- transferMode CHOICE
- {
- framed NULL,
- unframed NULL,
- ...
- },
- headerFEC CHOICE
- {
- sebch16-7 NULL,
- golay24-12 NULL,
- ...
- },
- crcLength CHOICE
- {
- crc4bit NULL,
- crc12bit NULL,
- crc20bit NULL,
- crc28bit NULL,
- ...
- },
-
- rcpcCodeRate INTEGER (8..32),
-
- arqType CHOICE
- {
- noArq NULL,
- typeIArq H223AnnexCArqParameters,
- typeIIArq H223AnnexCArqParameters,
- ...
- },
- alpduInterleaving BOOLEAN,
- alsduSplitting BOOLEAN,
- ...
-}
-
-H223AL2MParameters ::=SEQUENCE
-{
- headerFEC CHOICE
- {
- sebch16-5 NULL,
- golay24-12 NULL,
- ...
- },
- alpduInterleaving BOOLEAN,
- ...
-}
-
-H223AL3MParameters ::=SEQUENCE
-{
- headerFormat CHOICE
- {
- sebch16-7 NULL,
- golay24-12 NULL,
- ...
- },
- crcLength CHOICE
- {
- crc4bit NULL,
- crc12bit NULL,
- crc20bit NULL,
- crc28bit NULL,
- ...
- },
-
- rcpcCodeRate INTEGER (8..32),
-
- arqType CHOICE
- {
- noArq NULL,
- typeIArq H223AnnexCArqParameters,
- typeIIArq H223AnnexCArqParameters,
- ...
- },
-
- alpduInterleaving BOOLEAN,
- ...
-}
-
-
-H223AnnexCArqParameters ::=SEQUENCE
-{
- numberOfRetransmissions CHOICE
- {
- finite INTEGER (0..16),
- infinite NULL,
- ...
- },
- sendBufferSize INTEGER (0..16777215), -- units octets
- ...
-}
-
-V76LogicalChannelParameters ::=SEQUENCE
-{
- hdlcParameters V76HDLCParameters,
- suspendResume CHOICE
- {
- noSuspendResume NULL,
- suspendResumewAddress NULL,
- suspendResumewoAddress NULL,
- ...
- },
- uIH BOOLEAN,
- mode CHOICE
- {
- eRM SEQUENCE
- {
- windowSize INTEGER (1..127) ,
- recovery CHOICE
- {
- rej NULL,
- sREJ NULL,
- mSREJ NULL,
- ...
- },
- ...
- },
- uNERM NULL,
- ...
- },
- v75Parameters V75Parameters,
- ...
-}
-
-
-
-V76HDLCParameters ::=SEQUENCE
-{
- crcLength CRCLength,
- n401 INTEGER (1..4095),
- loopbackTestProcedure BOOLEAN,
- ...
-}
-
-
-CRCLength ::=CHOICE
-{
- crc8bit NULL,
- crc16bit NULL,
- crc32bit NULL,
- ...
-}
-
-H2250LogicalChannelParameters ::=SEQUENCE
-{
- nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
- sessionID INTEGER(0..255),
- associatedSessionID INTEGER(1..255) OPTIONAL,
- mediaChannel TransportAddress OPTIONAL,
- mediaGuaranteedDelivery BOOLEAN OPTIONAL,
- mediaControlChannel TransportAddress OPTIONAL, -- reverse RTCP channel
- mediaControlGuaranteedDelivery BOOLEAN OPTIONAL,
- silenceSuppression BOOLEAN OPTIONAL,
- destination TerminalLabel OPTIONAL,
-
- dynamicRTPPayloadType INTEGER(96..127) OPTIONAL,
- mediaPacketization CHOICE
- {
- h261aVideoPacketization NULL,
- ...,
- rtpPayloadType RTPPayloadType
- } OPTIONAL,
- ...,
- transportCapability TransportCapability OPTIONAL,
- redundancyEncoding RedundancyEncoding OPTIONAL,
- source TerminalLabel OPTIONAL
-}
-
-RTPPayloadType ::= SEQUENCE
-{
- payloadDescriptor CHOICE
- {
- nonStandardIdentifier NonStandardParameter,
- rfc-number INTEGER (1..32768, ...),
- oid OBJECT IDENTIFIER,
- ...
- },
- payloadType INTEGER (0..127) OPTIONAL,
- ...
-}
-
-RedundancyEncoding ::=SEQUENCE
-{
- redundancyEncodingMethod RedundancyEncodingMethod,
- secondaryEncoding DataType OPTIONAL, -- depends on method
- ...
-}
-
-TransportAddress ::=CHOICE
-{
- unicastAddress UnicastAddress,
- multicastAddress MulticastAddress,
- ...
-}
-
-UnicastAddress ::=CHOICE
-{
- iPAddress SEQUENCE
- {
- network OCTET STRING (SIZE(4)),
- tsapIdentifier INTEGER(0..65535),
- ...
- },
- iPXAddress SEQUENCE
- {
- node OCTET STRING (SIZE(6)),
- netnum OCTET STRING (SIZE(4)),
- tsapIdentifier OCTET STRING (SIZE(2)),
- ...
- },
- iP6Address SEQUENCE
- {
- network OCTET STRING (SIZE(16)),
- tsapIdentifier INTEGER(0..65535),
- ...
- },
- netBios OCTET STRING (SIZE(16)),
- iPSourceRouteAddress SEQUENCE
- {
- routing CHOICE
- {
- strict NULL,
- loose NULL
- },
- network OCTET STRING (SIZE(4)),
- tsapIdentifier INTEGER(0..65535),
- route SEQUENCE OF OCTET STRING (SIZE(4)),
- ...
- },
- ...,
- nsap OCTET STRING (SIZE(1..20)),
- nonStandardAddress NonStandardParameter
-}
-
-MulticastAddress ::=CHOICE
-{
- iPAddress SEQUENCE
- {
- network OCTET STRING (SIZE(4)),
- tsapIdentifier INTEGER(0..65535),
- ...
- },
- iP6Address SEQUENCE
- {
- network OCTET STRING (SIZE(16)),
- tsapIdentifier INTEGER(0..65535),
- ...
- },
- ...,
- nsap OCTET STRING (SIZE(1..20)),
- nonStandardAddress NonStandardParameter
-}
-
-EncryptionSync ::=SEQUENCE
- -- used to supply new key and synchronization point
-{
- nonStandard NonStandardParameter OPTIONAL,
- synchFlag INTEGER(0..255) , -- may need to be larger for H.324, etc
- -- shall be the Dynamic Payload# for H.323
- h235Key OCTET STRING (SIZE(1..65535)), -- H.235 encoded value
- escrowentry SEQUENCE SIZE(1..256) OF EscrowData OPTIONAL,
- ...
-}
-
-EscrowData ::=SEQUENCE
-{
- escrowID OBJECT IDENTIFIER,
- escrowValue BIT STRING (SIZE(1..65535)),
- ...
-}
-
-OpenLogicalChannelAck ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
-
- reverseLogicalChannelParameters SEQUENCE
- {
- reverseLogicalChannelNumber LogicalChannelNumber,
- portNumber INTEGER (0..65535) OPTIONAL,
- multiplexParameters CHOICE
- {
- h222LogicalChannelParameters H222LogicalChannelParameters,
- -- H.223 parameters are never present in reverse direction
- ...,
- h2250LogicalChannelParameters H2250LogicalChannelParameters
-
- } OPTIONAL, -- Not present for H.223
- ...,
- replacementFor LogicalChannelNumber OPTIONAL
-
- } OPTIONAL, -- Not present for uni-directional channel request
- ...,
- separateStack NetworkAccessParameters OPTIONAL,
- -- for Open requester to establish the stack
- forwardMultiplexAckParameters CHOICE
- {
- -- H.222 parameters are never present in the Ack
- -- H.223 parameters are never present in the Ack
- --V.76 parameters are never present in the Ack
- h2250LogicalChannelAckParameters H2250LogicalChannelAckParameters,
- ...
- } OPTIONAL,
- encryptionSync EncryptionSync OPTIONAL -- used only by Master
-}
-
-OpenLogicalChannelReject ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- cause CHOICE
- {
- unspecified NULL,
- unsuitableReverseParameters NULL,
- dataTypeNotSupported NULL,
- dataTypeNotAvailable NULL,
- unknownDataType NULL,
- dataTypeALCombinationNotSupported NULL,
- ...,
- multicastChannelNotAllowed NULL,
- insufficientBandwidth NULL,
- separateStackEstablishmentFailed NULL,
- invalidSessionID NULL,
- masterSlaveConflict NULL,
- waitForCommunicationMode NULL,
- invalidDependentChannel NULL,
- replacementForRejected NULL
- },
- ...
-}
-
-OpenLogicalChannelConfirm ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- ...
-}
-
-H2250LogicalChannelAckParameters ::=SEQUENCE
-{
- nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
- sessionID INTEGER(1..255) OPTIONAL,
- mediaChannel TransportAddress OPTIONAL,
- mediaControlChannel TransportAddress OPTIONAL, -- forward RTCP channel
- dynamicRTPPayloadType INTEGER(96..127) OPTIONAL, -- used only by the master or MC
- ...,
- flowControlToZero BOOLEAN
-}
-
-
-
-CloseLogicalChannel ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- source CHOICE
- {
- user NULL,
- lcse NULL
- },
- ...,
- reason CHOICE
- {
- unknown NULL,
- reopen NULL,
- reservationFailure NULL,
- ...
- }
-}
-
-CloseLogicalChannelAck ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- ...
-}
-
-RequestChannelClose ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- ...,
- qosCapability QOSCapability OPTIONAL,
- reason CHOICE
- {
- unknown NULL,
- normal NULL,
- reopen NULL,
- reservationFailure NULL,
- ...
- }
-}
-
-RequestChannelCloseAck ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- ...
-}
-
-RequestChannelCloseReject ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- cause CHOICE
- {
- unspecified NULL,
- ...
- },
- ...
-}
-
-RequestChannelCloseRelease ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- ...
-}
-
- -- ===================================================================================
--- H.223 multiplex table definitions
--- ===================================================================================
-
-MultiplexEntrySend ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- multiplexEntryDescriptors SET SIZE (1..15) OF MultiplexEntryDescriptor,
- ...
-}
-
-MultiplexEntryDescriptor ::=SEQUENCE
-{
- multiplexTableEntryNumber MultiplexTableEntryNumber,
- elementList SEQUENCE SIZE (1..256) OF MultiplexElement OPTIONAL
-}
-
-MultiplexElement ::=SEQUENCE
-{
- type CHOICE
- {
- logicalChannelNumber INTEGER(0..65535),
- subElementList SEQUENCE SIZE (2..255) OF MultiplexElement
- },
- repeatCount CHOICE
- {
- finite INTEGER (1..65535), -- repeats of type
- untilClosingFlag NULL -- used for last element
- }
-}
-
-MultiplexTableEntryNumber ::=INTEGER (1..15)
-
-MultiplexEntrySendAck ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- multiplexTableEntryNumber SET SIZE (1..15) OF MultiplexTableEntryNumber,
- ...
-}
-
-MultiplexEntrySendReject ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- rejectionDescriptions SET SIZE (1..15) OF MultiplexEntryRejectionDescriptions,
- ...
-}
-
-MultiplexEntryRejectionDescriptions ::=SEQUENCE
-{
- multiplexTableEntryNumber MultiplexTableEntryNumber,
- cause CHOICE
- {
- unspecifiedCause NULL,
- descriptorTooComplex NULL,
- ...
- },
- ...
-}
-
-MultiplexEntrySendRelease ::=SEQUENCE
-{
- multiplexTableEntryNumber SET SIZE (1..15) OF MultiplexTableEntryNumber,
- ...
-}
-
-RequestMultiplexEntry ::=SEQUENCE
-{
- entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
- ...
-}
-
-RequestMultiplexEntryAck ::=SEQUENCE
-{
- entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
- ...
-}
-
-RequestMultiplexEntryReject ::=SEQUENCE
-{
- entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
- rejectionDescriptions SET SIZE (1..15) OF RequestMultiplexEntryRejectionDescriptions,
- ...
-}
-
-RequestMultiplexEntryRejectionDescriptions ::=SEQUENCE
-{
- multiplexTableEntryNumber MultiplexTableEntryNumber,
- cause CHOICE
- {
- unspecifiedCause NULL,
- ...
- },
- ...
-}
-
-RequestMultiplexEntryRelease ::=SEQUENCE
-{
- entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
- ...
-}
-
- -- ===================================================================================
--- Request mode definitions
--- ===================================================================================
-
--- RequestMode is a list, in order or preference, of modes that a terminal would like
--- to have transmitted to it.
-
-RequestMode ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- requestedModes SEQUENCE SIZE (1..256) OF ModeDescription,
- ...
-}
-
-RequestModeAck ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- response CHOICE
- {
- willTransmitMostPreferredMode NULL,
- willTransmitLessPreferredMode NULL,
- ...
- },
- ...
-}
-
-RequestModeReject ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- cause CHOICE
- {
- modeUnavailable NULL,
- multipointConstraint NULL,
- requestDenied NULL,
- ...
- },
- ...
-}
-
-RequestModeRelease ::=SEQUENCE
-{
- ...
-}
-
--- ===================================================================================
--- Request mode definitions: Mode description
--- ===================================================================================
-
-ModeDescription ::=SET SIZE (1..256) OF ModeElement
-
-ModeElement ::= SEQUENCE
-{
- type CHOICE
- {
- nonStandard NonStandardParameter,
- videoMode VideoMode,
- audioMode AudioMode,
- dataMode DataMode,
- encryptionMode EncryptionMode,
- ...,
- h235Mode H235Mode
- },
-
- h223ModeParameters H223ModeParameters OPTIONAL,
- ...,
- v76ModeParameters V76ModeParameters OPTIONAL,
- h2250ModeParameters H2250ModeParameters OPTIONAL
-
-
-}
-
-H235Mode ::=SEQUENCE
-{
- encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity,
-
- mediaMode CHOICE
- {
- nonStandard NonStandardParameter,
- videoMode VideoMode,
- audioMode AudioMode,
- dataMode DataMode,
- ...
- },
- ...
-}
-
-H223ModeParameters ::=SEQUENCE
-{
- adaptationLayerType CHOICE
- {
- nonStandard NonStandardParameter,
- al1Framed NULL,
- al1NotFramed NULL,
- al2WithoutSequenceNumbers NULL,
- al2WithSequenceNumbers NULL,
- al3 SEQUENCE
- {
- controlFieldOctets INTEGER(0..2),
- sendBufferSize INTEGER(0..16777215) -- units octets
- },
- ...,
- al1M H223AL1MParameters,
- al2M H223AL2MParameters,
- al3M H223AL3MParameters
-
- },
-
- segmentableFlag BOOLEAN,
- ...
-}
-
-V76ModeParameters ::=CHOICE
-{
- suspendResumewAddress NULL,
- suspendResumewoAddress NULL,
- ...
-}
-
-H2250ModeParameters ::=SEQUENCE
-{
- redundancyEncodingMode RedundancyEncodingMode OPTIONAL,
- ...
-}
-
-RedundancyEncodingMode ::=SEQUENCE
-{
- redundancyEncodingMethod RedundancyEncodingMethod,
- secondaryEncoding CHOICE
- {
- nonStandard NonStandardParameter,
- audioData AudioMode,
- ...
- } OPTIONAL,
- ...
-}
-
--- ===================================================================================
--- Request mode definitions: Video modes
--- ===================================================================================
-
-VideoMode ::=CHOICE
-{
- nonStandard NonStandardParameter,
- h261VideoMode H261VideoMode,
- h262VideoMode H262VideoMode,
- h263VideoMode H263VideoMode,
- is11172VideoMode IS11172VideoMode,
- ...
-}
-
-H261VideoMode ::=SEQUENCE
-{
- resolution CHOICE
- {
- qcif NULL,
- cif NULL
- },
- bitRate INTEGER (1..19200), -- units 100 bit/s
- stillImageTransmission BOOLEAN,
- ...
-}
-
-H262VideoMode ::=SEQUENCE
-{
- profileAndLevel CHOICE
- {
- profileAndLevel-SPatML NULL,
- profileAndLevel-MPatLL NULL,
- profileAndLevel-MPatML NULL,
- profileAndLevel-MPatH-14 NULL,
- profileAndLevel-MPatHL NULL,
- profileAndLevel-SNRatLL NULL,
- profileAndLevel-SNRatML NULL,
- profileAndLevel-SpatialatH-14 NULL,
- profileAndLevel-HPatML NULL,
- profileAndLevel-HPatH-14 NULL,
- profileAndLevel-HPatHL NULL,
- ...
- },
- videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400bit/s
- vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384bits
- samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line
- linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame
- framesPerSecond INTEGER(0..15) OPTIONAL, -- frame_rate_code
- luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec
- ...
-}
-
-H263VideoMode ::=SEQUENCE
-{
- resolution CHOICE
- {
- sqcif NULL,
- qcif NULL,
- cif NULL,
- cif4 NULL,
- cif16 NULL,
- ...
- },
- bitRate INTEGER (1..19200), -- units 100 bit/s
- unrestrictedVector BOOLEAN,
- arithmeticCoding BOOLEAN,
- advancedPrediction BOOLEAN,
- pbFrames BOOLEAN,
- ...,
-
- errorCompensation BOOLEAN,
- enhancementLayerInfo EnhancementLayerInfo OPTIONAL,
- h263Options H263Options OPTIONAL
-}
-
-IS11172VideoMode ::=SEQUENCE
-{
- constrainedBitstream BOOLEAN,
- videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400bit/s
- vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384bits
- samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line
- linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame
- pictureRate INTEGER(0..15) OPTIONAL,
- luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec
- ...
-}
-
--- ===================================================================================
--- Request mode definitions: Audio modes
--- ===================================================================================
-
-AudioMode ::=CHOICE
-{
- nonStandard NonStandardParameter,
- g711Alaw64k NULL,
- g711Alaw56k NULL,
- g711Ulaw64k NULL,
- g711Ulaw56k NULL,
-
- g722-64k NULL,
- g722-56k NULL,
- g722-48k NULL,
-
- g728 NULL,
- g729 NULL,
- g729AnnexA NULL,
-
- g7231 CHOICE
- {
- noSilenceSuppressionLowRate NULL,
- noSilenceSuppressionHighRate NULL,
- silenceSuppressionLowRate NULL,
- silenceSuppressionHighRate NULL
- },
-
- is11172AudioMode IS11172AudioMode,
- is13818AudioMode IS13818AudioMode,
-
- ...,
- g729wAnnexB INTEGER(1..256),
- g729AnnexAwAnnexB INTEGER(1..256),
- g7231AnnexCMode G7231AnnexCMode,
- gsmFullRate GSMAudioCapability,
- gsmHalfRate GSMAudioCapability,
- gsmEnhancedFullRate GSMAudioCapability
-
-}
-
-IS11172AudioMode ::=SEQUENCE
-{
- audioLayer CHOICE
- {
- audioLayer1 NULL,
- audioLayer2 NULL,
- audioLayer3 NULL
- },
-
- audioSampling CHOICE
- {
- audioSampling32k NULL,
- audioSampling44k1 NULL,
- audioSampling48k NULL
- },
-
- multichannelType CHOICE
- {
- singleChannel NULL,
- twoChannelStereo NULL,
- twoChannelDual NULL
- },
-
- bitRate INTEGER (1..448), --units kbit/s
- ...
-}
-
-IS13818AudioMode ::=SEQUENCE
-{
- audioLayer CHOICE
- {
- audioLayer1 NULL,
- audioLayer2 NULL,
- audioLayer3 NULL
- },
-
- audioSampling CHOICE
- {
- audioSampling16k NULL,
- audioSampling22k05 NULL,
- audioSampling24k NULL,
- audioSampling32k NULL,
- audioSampling44k1 NULL,
- audioSampling48k NULL
- },
-
- multichannelType CHOICE
- {
- singleChannel NULL,
- twoChannelStereo NULL,
- twoChannelDual NULL,
- threeChannels2-1 NULL,
- threeChannels3-0 NULL,
- fourChannels2-0-2-0 NULL,
- fourChannels2-2 NULL,
- fourChannels3-1 NULL,
- fiveChannels3-0-2-0 NULL,
- fiveChannels3-2 NULL
- },
-
- lowFrequencyEnhancement BOOLEAN,
-
- multilingual BOOLEAN,
-
- bitRate INTEGER (1..1130), --units kbit/s
- ...
-}
-
-G7231AnnexCMode ::= SEQUENCE
-{
- maxAl-sduAudioFrames INTEGER (1..256),
- silenceSuppression BOOLEAN,
- g723AnnexCAudioMode SEQUENCE
- {
- highRateMode0 INTEGER (27..78), -- units octets
- highRateMode1 INTEGER (27..78), -- units octets
- lowRateMode0 INTEGER (23..66), -- units octets
- lowRateMode1 INTEGER (23..66), -- units octets
- sidMode0 INTEGER (6..17), -- units octets
- sidMode1 INTEGER (6..17), -- units octets
- ...
- },
- ...
-}
-
--- ===================================================================================
--- Request mode definitions: Data modes
--- ===================================================================================
-
-DataMode ::=SEQUENCE
-{
- application CHOICE
- {
- nonStandard NonStandardParameter,
- t120 DataProtocolCapability,
- dsm-cc DataProtocolCapability,
- userData DataProtocolCapability,
- t84 DataProtocolCapability,
- t434 DataProtocolCapability,
- h224 DataProtocolCapability,
- nlpid SEQUENCE
- {
- nlpidProtocol DataProtocolCapability,
- nlpidData OCTET STRING
- },
- dsvdControl NULL,
- h222DataPartitioning DataProtocolCapability,
- ...,
- t30fax DataProtocolCapability,
- t140 DataProtocolCapability
- },
- bitRate INTEGER (0..4294967295), -- units 100 bit/s
- ...
-}
-
--- ===================================================================================
--- Request mode definitions: Encryption modes
--- ===================================================================================
-
-EncryptionMode ::=CHOICE
-{
- nonStandard NonStandardParameter,
- h233Encryption NULL,
- ...
-}
-
- -- ===================================================================================
--- Round Trip Delay definitions
--- ===================================================================================
-
-RoundTripDelayRequest ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- ...
-}
-
-RoundTripDelayResponse ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- ...
-}
-
--- ===================================================================================
--- Maintenance Loop definitions
--- ===================================================================================
-
-MaintenanceLoopRequest ::=SEQUENCE
-{
- type CHOICE
- {
- systemLoop NULL,
- mediaLoop LogicalChannelNumber,
- logicalChannelLoop LogicalChannelNumber,
- ...
- },
- ...
-}
-
-MaintenanceLoopAck ::=SEQUENCE
-{
- type CHOICE
- {
- systemLoop NULL,
- mediaLoop LogicalChannelNumber,
- logicalChannelLoop LogicalChannelNumber,
- ...
- },
- ...
-}
-
-MaintenanceLoopReject ::=SEQUENCE
-{
- type CHOICE
- {
- systemLoop NULL,
- mediaLoop LogicalChannelNumber,
- logicalChannelLoop LogicalChannelNumber,
- ...
- },
- cause CHOICE
- {
- canNotPerformLoop NULL,
- ...
- },
- ...
-}
-
-MaintenanceLoopOffCommand ::=SEQUENCE
-{
- ...
-}
-
--- ===================================================================================
--- Communication Mode definitions
--- ===================================================================================
-
-CommunicationModeCommand ::=SEQUENCE
-{
- communicationModeTable SET SIZE(1..256) OF CommunicationModeTableEntry,
- ...
-}
-
-CommunicationModeRequest ::=SEQUENCE
-{
- ...
-}
-
-CommunicationModeResponse ::=CHOICE
-{
- communicationModeTable SET SIZE(1..256) OF CommunicationModeTableEntry,
- ...
-}
-
-CommunicationModeTableEntry ::=SEQUENCE
-{
- nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
- sessionID INTEGER(1..255),
- associatedSessionID INTEGER(1..255) OPTIONAL,
-
- terminalLabel TerminalLabel OPTIONAL, -- if not present,
- -- it refers to all participants
- -- in the conference
- sessionDescription BMPString (SIZE(1..128)) ,
- -- Basic ISO/IEC 10646-1 (Unicode)
- dataType CHOICE
- {
- videoData VideoCapability,
- audioData AudioCapability,
- data DataApplicationCapability,
- ...
- },
- mediaChannel TransportAddress OPTIONAL,
- mediaGuaranteedDelivery BOOLEAN OPTIONAL,
- mediaControlChannel TransportAddress OPTIONAL, -- reverse RTCP channel
- mediaControlGuaranteedDelivery BOOLEAN OPTIONAL,
- ...,
- redundancyEncoding RedundancyEncoding OPTIONAL,
- sessionDependency INTEGER (1..255) OPTIONAL,
- destination TerminalLabel OPTIONAL
-}
-
--- ===================================================================================
--- Conference Request definitions
--- ===================================================================================
-
-ConferenceRequest ::=CHOICE
-{
-
- terminalListRequest NULL, -- same as H.230 TCU (term->MC)
-
- makeMeChair NULL, -- same as H.230 CCA (term->MC)
- cancelMakeMeChair NULL, -- same as H.230 CIS (term->MC)
-
- dropTerminal TerminalLabel, -- same as H.230 CCD(term->MC)
-
- requestTerminalID TerminalLabel, -- sames as TCP (term->MC)
-
- enterH243Password NULL, -- same as H.230 TCS1(MC->term)
- enterH243TerminalID NULL, -- same as H.230 TCS2/TCI
- -- (MC->term)
- enterH243ConferenceID NULL, -- same as H.230 TCS3 (MC->term)
- ...,
- enterExtensionAddress NULL, -- same as H.230 TCS4 (GW->term)
- requestChairTokenOwner NULL, -- same as H.230 TCA (term->MC)
- requestTerminalCertificate SEQUENCE
- {
- terminalLabel TerminalLabel OPTIONAL,
- certSelectionCriteria CertSelectionCriteria OPTIONAL,
- sRandom INTEGER (1..4294967295) OPTIONAL,
- -- this is the requester's challenge
- ...
- },
- broadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 MCV
- makeTerminalBroadcaster TerminalLabel, -- similar to H.230 VCB
- sendThisSource TerminalLabel, -- similar to H.230 VCS
- requestAllTerminalIDs NULL,
- remoteMCRequest RemoteMCRequest
-}
-
-CertSelectionCriteria ::=SEQUENCE SIZE (1..16) OF Criteria
-
-Criteria ::=SEQUENCE
-{
- field OBJECT IDENTIFIER, -- may include certificate type
- value OCTET STRING (SIZE(1..65535)),
- ...
-}
-
-TerminalLabel ::=SEQUENCE
-{
- mcuNumber McuNumber,
- terminalNumber TerminalNumber,
- ...
-}
-
-McuNumber ::=INTEGER(0..192)
-TerminalNumber ::=INTEGER(0..192)
-
--- ===================================================================================
--- Conference Response definitions
--- ===================================================================================
-
-ConferenceResponse ::=CHOICE
-{
- mCTerminalIDResponse SEQUENCE -- response to TCP(same as TIP)
- { -- sent by MC only
- terminalLabel TerminalLabel,
- terminalID TerminalID,
- ...
- },
-
- terminalIDResponse SEQUENCE -- response to TCS2 or TCI
- { -- same as IIS
- terminalLabel TerminalLabel, -- (term->MC)
- terminalID TerminalID,
- ...
- },
-
- conferenceIDResponse SEQUENCE -- response to TCS3
- { -- same as IIS
- terminalLabel TerminalLabel, -- (term->MC)
- conferenceID ConferenceID,
- ...
- },
-
- passwordResponse SEQUENCE -- response to TCS1
- { -- same as IIS
- terminalLabel TerminalLabel, -- (term->MC)
- password Password,
- ...
- },
-
- terminalListResponse SET SIZE (1..256) OF TerminalLabel,
-
- videoCommandReject NULL, -- same as H.230 VCR
- terminalDropReject NULL, -- same as H.230 CIR
-
- makeMeChairResponse CHOICE -- same as H.230 CCR
- {
- grantedChairToken NULL, -- same as H.230 CIT
- deniedChairToken NULL, -- same as H.230 CCR
- ...
- },
- ...,
- extensionAddressResponse SEQUENCE -- response to TCS4
- {
- extensionAddress TerminalID, -- same as IIS (term->GW)
- ...
- },
- chairTokenOwnerResponse SEQUENCE -- response to TCA(same as TIR) sent by MC only
- {
- terminalLabel TerminalLabel,
- terminalID TerminalID,
- ...
- },
- terminalCertificateResponse SEQUENCE
- {
- terminalLabel TerminalLabel OPTIONAL,
- certificateResponse OCTET STRING (SIZE(1..65535)) OPTIONAL,
- ...
- },
- broadcastMyLogicalChannelResponse CHOICE
- {
- grantedBroadcastMyLogicalChannel NULL,
- deniedBroadcastMyLogicalChannel NULL,
- ...
- },
- makeTerminalBroadcasterResponse CHOICE
- {
- grantedMakeTerminalBroadcaster NULL,
- deniedMakeTerminalBroadcaster NULL,
- ...
- },
- sendThisSourceResponse CHOICE
- {
- grantedSendThisSource NULL,
- deniedSendThisSource NULL,
- ...
- },
- requestAllTerminalIDsResponse RequestAllTerminalIDsResponse,
- remoteMCResponse RemoteMCResponse
-}
-
-TerminalID ::=OCTET STRING (SIZE(1..128)) -- as per H.230
-ConferenceID ::=OCTET STRING (SIZE(1..32))
-Password ::=OCTET STRING (SIZE(1..32))
-
-RequestAllTerminalIDsResponse ::=SEQUENCE
-{
- terminalInformation SEQUENCE OF TerminalInformation,
- ...
-}
-
-TerminalInformation ::=SEQUENCE
-{
- terminalLabel TerminalLabel,
- terminalID TerminalID,
- ...
-}
-
--- ===================================================================================
--- Remote MC Request definitions
--- ===================================================================================
-
- RemoteMCRequest ::=CHOICE
- {
- masterActivate NULL,
- slaveActivate NULL,
- deActivate NULL,
- ...
- }
-
- RemoteMCResponse ::=CHOICE
- {
- accept NULL,
- reject CHOICE
- {
- unspecified NULL,
- functionNotSupported NULL,
- ...
- },
- ...
- }
-
--- ===================================================================================
--- Command Message definitions
--- ===================================================================================
-
--- ===================================================================================
--- Command Message : Send Terminal Capability Set
--- ===================================================================================
-
-SendTerminalCapabilitySet ::=CHOICE
-{
- specificRequest SEQUENCE
- {
- multiplexCapability BOOLEAN,
-
- capabilityTableEntryNumbers SET SIZE (1..65535) OF CapabilityTableEntryNumber OPTIONAL,
-
- capabilityDescriptorNumbers SET SIZE (1..256) OF CapabilityDescriptorNumber OPTIONAL,
- ...
- },
- genericRequest NULL,
- ...
-}
-
--- ===================================================================================
--- Command Message : Encryption
--- ===================================================================================
-
-EncryptionCommand ::=CHOICE
-{
- encryptionSE OCTET STRING, -- per H.233, but no error protection
- encryptionIVRequest NULL, -- requests new IV
- encryptionAlgorithmID SEQUENCE
- {
- h233AlgorithmIdentifier SequenceNumber,
- associatedAlgorithm NonStandardParameter
- },
- ...
-}
-
--- ===================================================================================
--- Command Message : Flow Control
--- ===================================================================================
-
-FlowControlCommand ::=SEQUENCE
-{
- scope CHOICE
- {
- logicalChannelNumber LogicalChannelNumber,
- resourceID INTEGER (0..65535),
- wholeMultiplex NULL
- },
- restriction CHOICE
- {
- maximumBitRate INTEGER (0..16777215), -- units 100 bit/s
- noRestriction NULL
- },
- ...
-}
-
--- ===================================================================================
--- Command Message : Change or End Session
--- ===================================================================================
-
-EndSessionCommand ::=CHOICE
-{
- nonStandard NonStandardParameter,
-
- disconnect NULL,
-
- gstnOptions CHOICE
- {
- telephonyMode NULL,
- v8bis NULL,
- v34DSVD NULL,
- v34DuplexFAX NULL,
- v34H324 NULL,
- ...
- },
-
- ...,
- isdnOptions CHOICE
- {
- telephonyMode NULL,
- v140 NULL,
- terminalOnHold NULL,
- ...
- }
-}
-
--- ===================================================================================
--- Command Message : Conference Commands
--- ===================================================================================
-
-ConferenceCommand ::=CHOICE
-{
- broadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 MCV
- cancelBroadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 Cancel-MCV
-
- makeTerminalBroadcaster TerminalLabel, -- same as H.230 VCB
- cancelMakeTerminalBroadcaster NULL, -- same as H.230 Cancel-VCB
-
- sendThisSource TerminalLabel, -- same as H.230 VCS
- cancelSendThisSource NULL, -- same as H.230 cancel VCS
-
- dropConference NULL, -- same as H.230 CCK
- ...,
- substituteConferenceIDCommand SubstituteConferenceIDCommand
-}
-
-SubstituteConferenceIDCommand ::=SEQUENCE
-{
- conferenceIdentifier OCTET STRING (SIZE(16)),
- ...
-}
-
--- ===================================================================================
--- Command Message : Miscellaneous H.230-like commands
--- ===================================================================================
-
-MiscellaneousCommand ::=SEQUENCE
-{
- logicalChannelNumber LogicalChannelNumber,
- type CHOICE
- {
- equaliseDelay NULL, -- same as H.230 ACE
- zeroDelay NULL, -- same as H.230 ACZ
- multipointModeCommand NULL,
- cancelMultipointModeCommand NULL,
- videoFreezePicture NULL,
- videoFastUpdatePicture NULL,
-
- videoFastUpdateGOB SEQUENCE
- {
- firstGOB INTEGER (0..17),
- numberOfGOBs INTEGER (1..18)
- },
-
- videoTemporalSpatialTradeOff INTEGER (0..31), -- commands a trade-off value
-
- videoSendSyncEveryGOB NULL,
- videoSendSyncEveryGOBCancel NULL,
-
- ...,
- videoFastUpdateMB SEQUENCE
- {
- firstGOB INTEGER (0..255) OPTIONAL,
- firstMB INTEGER (1..8192) OPTIONAL,
- numberOfMBs INTEGER (1..8192),
- ...
- },
- maxH223MUXPDUsize INTEGER(1..65535), -- units octets
- encryptionUpdate EncryptionSync,
- encryptionUpdateRequest EncryptionUpdateRequest,
- switchReceiveMediaOff NULL,
- switchReceiveMediaOn NULL,
-
- progressiveRefinementStart SEQUENCE
- {
- repeatCount CHOICE
- {
- doOneProgression NULL,
- doContinuousProgressions NULL,
- doOneIndependentProgression NULL,
- doContinuousIndependentProgressions NULL,
- ...
- },
- ...
- },
- progressiveRefinementAbortOne NULL,
- progressiveRefinementAbortContinuous NULL
-
- },
-
- ...
-}
-
-KeyProtectionMethod ::=SEQUENCE -- specify how the new key is to be protected
-{
- secureChannel BOOLEAN,
- sharedSecret BOOLEAN,
- certProtectedKey BOOLEAN,
- ...
-}
-
-EncryptionUpdateRequest ::=SEQUENCE
-{
- keyProtectionMethod KeyProtectionMethod OPTIONAL,
- ...
-}
-
--- ===================================================================================
--- Command Message : H.223 Multiplex Reconfiguration
--- ===================================================================================
-
-H223MultiplexReconfiguration ::=CHOICE
-{
- h223ModeChange CHOICE
- {
- toLevel0 NULL,
- toLevel1 NULL,
- toLevel2 NULL,
- toLevel2withOptionalHeader NULL,
- ...
- },
-
- h223AnnexADoubleFlag CHOICE
- {
- start NULL,
- stop NULL,
- ...
- },
-
- ...
-}
- -- ===================================================================================
--- Indication Message definitions
--- ===================================================================================
-
--- ===================================================================================
--- Indication Message : Function not understood
--- ===================================================================================
-
--- This is used to return a request, response or command that is not understood
-
-FunctionNotUnderstood ::=CHOICE
-{
- request RequestMessage,
- response ResponseMessage,
- command CommandMessage
-}
-
--- ===================================================================================
--- Indication Message : Function not Supported
--- ===================================================================================
-
--- This is used to return a complete request, response or command that is not recognized
-
-FunctionNotSupported ::=SEQUENCE
-{
- cause CHOICE
- {
- syntaxError NULL,
- semanticError NULL,
- unknownFunction NULL,
- ...
- },
- returnedFunction OCTET STRING OPTIONAL,
- ...
-}
-
--- ===================================================================================
--- Indication Message : Conference
--- ===================================================================================
-
-ConferenceIndication ::=CHOICE
-{
- sbeNumber INTEGER (0..9), -- same as H.230 SBE Number
-
- terminalNumberAssign TerminalLabel, -- same as H.230 TIA
-
- terminalJoinedConference TerminalLabel, -- same as H.230 TIN
-
- terminalLeftConference TerminalLabel, -- same as H.230 TID
-
- seenByAtLeastOneOther NULL, -- same as H.230 MIV
- cancelSeenByAtLeastOneOther NULL, -- same as H.230 cancel MIV
-
- seenByAll NULL, -- like H.230 MIV
- cancelSeenByAll NULL, -- like H.230 MIV
-
- terminalYouAreSeeing TerminalLabel, -- same as H.230 VIN
-
- requestForFloor NULL, -- same as H.230 TIF
-
- ...,
- withdrawChairToken NULL, -- same as H.230 CCR
- -- MC-> chair
- floorRequested TerminalLabel -- same as H.230 TIF
- -- MC-> chair
-}
-
-
--- ===================================================================================
--- Indication Message : Miscellaneous H.230-like indication
--- ===================================================================================
-
-MiscellaneousIndication ::=SEQUENCE
-{
- logicalChannelNumber LogicalChannelNumber,
- type CHOICE
- {
- logicalChannelActive NULL, -- same as H.230 AIA and VIA
- logicalChannelInactive NULL, -- same as H.230 AIM and VIS
-
- multipointConference NULL,
- cancelMultipointConference NULL,
-
- multipointZeroComm NULL, -- same as H.230 MIZ
- cancelMultipointZeroComm NULL, -- same as H.230 cancel MIZ
-
- multipointSecondaryStatus NULL, -- same as H.230 MIS
- cancelMultipointSecondaryStatus NULL, -- same as H.230 cancel MIS
-
- videoIndicateReadyToActivate NULL, -- same as H.230 VIR
-
- videoTemporalSpatialTradeOff INTEGER (0..31), -- indicates current trade-off
-
- ...,
- videoNotDecodedMBs SEQUENCE
- {
- firstMB INTEGER (1..8192),
- numberOfMBs INTEGER (1..8192),
- temporalReference INTEGER (0..255),
- ...
- },
- transportCapability TransportCapability
- },
- ...
-}
-
--- ===================================================================================
--- Indication Message : Jitter Indication
--- ===================================================================================
-
-JitterIndication ::=SEQUENCE
-{
- scope CHOICE
- {
- logicalChannelNumber LogicalChannelNumber,
- resourceID INTEGER (0..65535),
- wholeMultiplex NULL
- },
- estimatedReceivedJitterMantissa INTEGER (0..3),
- estimatedReceivedJitterExponent INTEGER (0..7),
- skippedFrameCount INTEGER (0..15) OPTIONAL,
- additionalDecoderBuffer INTEGER (0..262143) OPTIONAL, -- 262143 is 2^18 - 1
- ...
-}
-
--- ===================================================================================
--- Indication Message : H.223 logical channel skew
--- ===================================================================================
-
-H223SkewIndication ::=SEQUENCE
-{
- logicalChannelNumber1 LogicalChannelNumber,
- logicalChannelNumber2 LogicalChannelNumber,
- skew INTEGER (0..4095), -- units milliseconds
- ...
-}
-
--- ===================================================================================
--- Indication Message : H.225.0 maximum logical channel skew
--- ===================================================================================
-
-H2250MaximumSkewIndication ::=SEQUENCE
-{
- logicalChannelNumber1 LogicalChannelNumber,
- logicalChannelNumber2 LogicalChannelNumber,
- maximumSkew INTEGER (0..4095), -- units milliseconds
- ...
-}
-
--- ===================================================================================
--- Indication Message : MC Location Indication
--- ===================================================================================
-
-MCLocationIndication ::=SEQUENCE
-{
- signalAddress TransportAddress, -- this is the H.323 Call Signalling
- -- address of the entity which
- -- contains the MC
- ...
-}
-
--- ===================================================================================
--- Indication Message : Vendor Identification
--- ===================================================================================
-
- VendorIdentification ::=SEQUENCE
- {
- vendor NonStandardIdentifier,
- productNumber OCTET STRING (SIZE(1..256)) OPTIONAL, -- per vendor
- versionNumber OCTET STRING (SIZE(1..256)) OPTIONAL, -- per productNumber
- ...
- }
-
-
--- ===================================================================================
--- Indication Message : New ATM virtual channel indication
--- ===================================================================================
-
-NewATMVCIndication ::=SEQUENCE
-{
- resourceID INTEGER(0..65535),
- bitRate INTEGER(1..65535), -- units 64 kbit/s
- bitRateLockedToPCRClock BOOLEAN,
- bitRateLockedToNetworkClock BOOLEAN,
- aal CHOICE
- {
- aal1 SEQUENCE
- {
- clockRecovery CHOICE
- {
- nullClockRecovery NULL,
- srtsClockRecovery NULL,
- adaptiveClockRecovery NULL,
- ...
- },
- errorCorrection CHOICE
- {
- nullErrorCorrection NULL,
- longInterleaver NULL,
- shortInterleaver NULL,
- errorCorrectionOnly NULL,
- ...
- },
- structuredDataTransfer BOOLEAN,
- partiallyFilledCells BOOLEAN,
- ...
- },
- aal5 SEQUENCE
- {
- forwardMaximumSDUSize INTEGER (0..65535), -- units octets
- backwardMaximumSDUSize INTEGER (0..65535), -- units octets
- ...
- },
- ...
- },
- multiplex CHOICE
- {
- noMultiplex NULL,
- transportStream NULL,
- programStream NULL,
- ...
- },
- ...,
- reverseParameters SEQUENCE
- {
- bitRate INTEGER(1..65535), -- units 64 kbit/s
- bitRateLockedToPCRClock BOOLEAN,
- bitRateLockedToNetworkClock BOOLEAN,
- multiplex CHOICE
- {
- noMultiplex NULL,
- transportStream NULL,
- programStream NULL,
- ...
- },
- ...
- }
-}
-
--- ===================================================================================
--- Indication Message : user input
--- ===================================================================================
-
-UserInputIndication ::=CHOICE
-{
- nonStandard NonStandardParameter,
- alphanumeric GeneralString,
- ...,
- userInputSupportIndication CHOICE
- {
- nonStandard NonStandardParameter,
- basicString NULL,
- iA5String NULL,
- generalString NULL,
- ...
- },
- signal SEQUENCE
- {
- signalType IA5String (SIZE (1) ^ FROM ("0123456789#*ABCD!")),
--- signalType IA5String (SIZE (1)) (FROM ("0123456789#*ABCD!")),
- duration INTEGER (1..65535) OPTIONAL, -- milliseconds
- rtp SEQUENCE
- {
- timestamp INTEGER (0..4294967295) OPTIONAL,
- expirationTime INTEGER (0..4294967295) OPTIONAL,
- logicalChannelNumber LogicalChannelNumber,
- ...
- } OPTIONAL,
- ...
- },
- signalUpdate SEQUENCE
- {
- duration INTEGER (1..65535), -- milliseconds
- rtp SEQUENCE
- {
- logicalChannelNumber LogicalChannelNumber,
- ...
- } OPTIONAL,
- ...
- }
-}
-
-
-END
-
-
-
-
-
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/MissingEnd.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/MissingEnd.asn1
deleted file mode 100644
index 66912ef693..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/MissingEnd.asn1
+++ /dev/null
@@ -1,5 +0,0 @@
-MissingEnd DEFINITIONS ::=
-BEGIN
-
-T ::= Typ
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mod.set.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mod.set.asn
deleted file mode 100644
index 5dcd8706ae..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mod.set.asn
+++ /dev/null
@@ -1,5 +0,0 @@
-Mod1.asn
-Mod2.asn
-Mod3.asn
-Mod4.asn
-Mod5.asn
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mod1.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mod1.asn
deleted file mode 100644
index cb29997985..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mod1.asn
+++ /dev/null
@@ -1,18 +0,0 @@
-Mod1 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Co,Reg
- FROM Mod5
- Name
- FROM Mod4;
-
-
-L ::= SEQUENCE {
- country Co,
- region Reg,
- name Name
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mod2.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mod2.asn
deleted file mode 100644
index cc22c6f13c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mod2.asn
+++ /dev/null
@@ -1,43 +0,0 @@
-Mod2 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Stat,Country
- FROM Mod3
- L
- FROM Mod1
- Time,LocName,ThingName,Name
- FROM Mod4;
-
-T ::= SEQUENCE {
- unit ENUMERATED{celsius,fahrenheit,kelvin},
- degree INTEGER,
- location L,
- time Time,
- statistics Stat
-}
-
-OtherName ::= SEQUENCE {
- locationName LocName,
- thingName ThingName
-}
-
-FirstName ::= CHOICE {
- firstname PrintableString,
- nickname PrintableString
-}
-
-FamilyName ::= SEQUENCE{
- prefix ENUMERATED{none,von,af},
- secondname PrintableString
-}
-
-Lang ::= SEQUENCE{
- l PrintableString}
-
-Inhabitant ::= SEQUENCE {
- name Name,
- country Country}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mod3.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mod3.asn
deleted file mode 100644
index 8069bedcf9..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mod3.asn
+++ /dev/null
@@ -1,33 +0,0 @@
-Mod3 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Name
- FROM Mod4
- Lang, Inhabitant,FirstName,FamilyName
- FROM Mod2
- TS, RFS, WS, HS
- FROM Mod5;
-
-Stat ::= SEQUENCE {
- tempstat TS,
- rainfallstat RFS,
- windstat WS,
- humiditystat HS
-}
-
-Country ::= SEQUENCE{
- name Name,
- language Lang
-}
-
-RegionName ::= Name
-Inhabitants ::= SEQUENCE OF Inhabitant
-
-PersonName ::= SEQUENCE {
- name1 FirstName,
- name2 FamilyName
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mod4.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mod4.asn
deleted file mode 100644
index 4a1aaff9dc..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mod4.asn
+++ /dev/null
@@ -1,33 +0,0 @@
-Mod4 DEFINITIONS AUTOMATIC TAGS ::=
-
-
-BEGIN
-
-IMPORTS
- PersonName
- FROM Mod3
- OtherName,FirstName,FamilyName
- FROM Mod2;
-
-Time ::= SEQUENCE {
- year OCTET STRING(SIZE(4)),
- month OCTET STRING(SIZE(2)),
- hour INTEGER,
- minute INTEGER
-}
-
-Name ::= CHOICE {
- person PersonName,
- othername OtherName
-}
-
-
-
-LocName ::= SEQUENCE {
- region ENUMERATED{gotaland,svealand,norrland},
- name PrintableString
-}
-
-ThingName ::= PrintableString
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mod5.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mod5.asn
deleted file mode 100644
index 71b483d0e0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mod5.asn
+++ /dev/null
@@ -1,37 +0,0 @@
-Mod5 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Country,RegionName,Inhabitants
- FROM Mod3;
-TS ::= SEQUENCE {
- average INTEGER,
- highest INTEGER,
- lowest INTEGER
-}
-
-RFS ::= SEQUENCE {
- average INTEGER,
- highest INTEGER
-}
-
-WS ::= SEQUENCE {
- average INTEGER,
- highest INTEGER
-}
-
-HS ::= SEQUENCE {
- average INTEGER,
- highest INTEGER,
- lowest INTEGER
-}
-
-Co ::= Country
-
-Reg ::= SEQUENCE {
- name RegionName,
- inhabitants Inhabitants
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-11-4.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-11-4.asn
deleted file mode 100644
index 81c07a2dab..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-11-4.asn
+++ /dev/null
@@ -1,675 +0,0 @@
--- module(Mvrasn-11-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Mobile Service data types".
---
--- ASN.1 module: "MAP-MS-DataTypes".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- .... ....... ........ ........................................
--- PA2 990112 eedkbu Insertion of all Data types relevant for
--- DSD operation.
--- .... ....... ........ ........................................
-
-Mvrasn-11-4
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- location registration types
- UpdateGprsLocationArg,
- UpdateGprsLocationRes,
- CancelLocationArg,
- CancelLocationRes,
-
- -- subscriber management types
- InsertSubscriberDataArg,
- InsertSubscriberDataRes
-;
-
-IMPORTS
-
- SS-SubscriptionOption,
- SS-List,
- maxNumOfSS
-FROM Mvrasn-14-4
-
- SS-Code
-FROM Mvrasn-15-4
-
- ISDN-AddressString,
- maxISDN-AddressLength,
- ISDN-SubaddressString,
- IMSI,
- LMSI,
- Ext-BasicServiceCode,
- NAEA-PreferredCI,
- EMLPP-Info
-FROM Mvrasn-18-4
-
- Ext-TeleserviceCode
-FROM Mvrasn-19-4
-
- Ext-BearerServiceCode
-FROM Mvrasn-20-4
-
- ExtensionContainer
-FROM Mvrasn-21-4
-
-;
-
--- location registration types
-
-CancelLocationArg ::= [3] SEQUENCE {
- identity Indentity,
- cancellationType CancellationType OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Indentity ::= CHOICE {
- imsi IMSI,
- imsi-WithLMSI IMSI-WithLMSI}
-
-
-CancellationType ::= ENUMERATED {
- updateProcedure (0),
- subscriptionWithdraw (1),
- ...}
-
-
-CancelLocationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-IMSI-WithLMSI ::= SEQUENCE {
- imsi IMSI,
- lmsi LMSI,
- -- a special value 00000000 indicates that the LMSI is not in use
- ...}
-
-
--- gprs location registration types
-
-UpdateGprsLocationArg ::= SEQUENCE {
- imsi IMSI,
- sgsn-Number ISDN-AddressString,
- sgsn-Address GSN-Address,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-GSN-Address ::= OCTET STRING (SIZE (4..16))
- -- Octets are coded according to TS GSM 03.03
-
-UpdateGprsLocationRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- subscriber management types
-
-InsertSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
-
--- =========================================================
--- EEDKBU:
---
--- the line:
---
--- "COMPONENTS OF SubscriberData,
---
--- has been removed due to insufficiencies of the used ASN.1-ERLANG
--- compiler. Instead of this line the complete definition of
--- "Subscriberdata" has been inserted.
---
--- This results in the same behaviour of the deocder/encoder but
--- means only a replication of the ASN.1 definiton here.
---
- msisdn [1] ISDN-AddressString OPTIONAL,
- category [2] Category OPTIONAL,
- subscriberStatus [3] SubscriberStatus OPTIONAL,
- bearerServiceList [4] BearerServiceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- bearerServiceCodes is defined in section 6.8.1
- teleserviceList [6] TeleserviceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- teleserviceCodes is defined in section 6.8.1
- provisionedSS [7] Ext-SS-InfoList OPTIONAL,
- odb-Data [8] ODB-Data OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL,
- regionalSubscriptionData [10] ZoneCodeList OPTIONAL,
- vbsSubscriptionData [11] VBSDataList OPTIONAL,
- vgcsSubscriptionData [12] VGCSDataList OPTIONAL,
- vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL,
-
--- =========================================================
-
- extensionContainer [14] ExtensionContainer OPTIONAL,
- ... ,
- naea-PreferredCI [15] NAEA-PreferredCI OPTIONAL,
- -- naea-PreferredCI is included at the discretion of the HLR operator.
- gprsSubscriptionData [16] GPRSSubscriptionData OPTIONAL,
- roamingRestrictedInSgsnDueToUnsupportedFeature [23] NULL OPTIONAL,
- networkAccessMode [24] NetworkAccessMode OPTIONAL
- }
- -- If the Network Access Mode parameter is sent, it shall be present
- -- only in the first sequence if the seqmentation is used
-
--- =========================================================
---
--- EEDKBU: This data type 'NetworkAccessMode' has been included manually
--- as it was not in the ASN.1 definitions in 09.02 6.1.0.
--- This definition has been taken from the CR xxx.
---
-
-NetworkAccessMode ::= ENUMERATED {
- bothMSCAndSGSN (0),
- onlyMSC (1),
- onlySGSN (2),
- ...}
- -- if unknown values are received in NetworkAccessMode
- -- they shall be discarded.
-
---
--- =========================================================
-
-
-GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- PDP-Context
-
-maxNumOfPDP-Contexts INTEGER ::= 50
-
-PDP-Context ::= SEQUENCE {
- pdp-ContextId ContextId,
- pdp-Type [16] PDP-Type,
- pdp-Address [17] PDP-Address OPTIONAL,
- qos-Subscribed [18] QoS-Subscribed,
- vplmnAddressAllowed [19] NULL OPTIONAL,
- apn [20] APN,
- extensionContainer [21] ExtensionContainer OPTIONAL,
- ...}
-
-ContextId ::= INTEGER (1..maxNumOfPDP-Contexts)
-
-GPRSSubscriptionData::= SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
-
- -- If segmentation is used, completeDataListIncluded may only be
- -- present in the first segment.
- gprsDataList [1] GPRSDataList,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-APN ::= IA5String (SIZE (1..63))
--- Octets are coded according to TS GSM 09.60
-
-PDP-Type ::= OCTET STRING (SIZE (2))
--- Octets are coded according to TS GSM 09.60
-
-PDP-Address ::= OCTET STRING (SIZE (4..16))
--- Octets are coded according to TS GSM 09.60
-
-QoS-Subscribed ::= OCTET STRING (SIZE (3))
- -- Octets are coded according to TS GSM 04.08.
-
-
-SubscriberData ::= SEQUENCE {
- msisdn [1] ISDN-AddressString OPTIONAL,
- category [2] Category OPTIONAL,
- subscriberStatus [3] SubscriberStatus OPTIONAL,
- bearerServiceList [4] BearerServiceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- bearerServiceCodes is defined in section 6.8.1
- teleserviceList [6] TeleserviceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- teleserviceCodes is defined in section 6.8.1
- provisionedSS [7] Ext-SS-InfoList OPTIONAL,
- odb-Data [8] ODB-Data OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL,
- regionalSubscriptionData [10] ZoneCodeList OPTIONAL,
- vbsSubscriptionData [11] VBSDataList OPTIONAL,
- vgcsSubscriptionData [12] VGCSDataList OPTIONAL,
- vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL
- }
-
-Category ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in CCITT Rec Q.763.
-
-SubscriberStatus ::= ENUMERATED {
- serviceGranted (0),
- operatorDeterminedBarring (1)}
-
-BearerServiceList ::= SEQUENCE SIZE (1..maxNumOfBearerServices) OF
- Ext-BearerServiceCode
-
-maxNumOfBearerServices INTEGER ::= 50
-
-TeleserviceList ::= SEQUENCE SIZE (1..maxNumOfTeleservices) OF
- Ext-TeleserviceCode
-
-maxNumOfTeleservices INTEGER ::= 20
-
-ODB-Data ::= SEQUENCE {
- odb-GeneralData ODB-GeneralData,
- odb-HPLMN-Data ODB-HPLMN-Data OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ODB-GeneralData ::= BIT STRING {
- allOG-CallsBarred (0),
- internationalOGCallsBarred (1),
- internationalOGCallsNotToHPLMN-CountryBarred (2),
- interzonalOGCallsBarred (6),
- interzonalOGCallsNotToHPLMN-CountryBarred (7),
- interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8),
- premiumRateInformationOGCallsBarred (3),
- premiumRateEntertainementOGCallsBarred (4),
- ss-AccessBarred (5),
- allECT-Barred (9),
- chargeableECT-Barred (10),
- internationalECT-Barred (11),
- interzonalECT-Barred (12),
- doublyChargeableECT-Barred (13),
- multipleECT-Barred (14)} (SIZE (15..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData
-
-ODB-HPLMN-Data ::= BIT STRING {
- plmn-SpecificBarringType1 (0),
- plmn-SpecificBarringType2 (1),
- plmn-SpecificBarringType3 (2),
- plmn-SpecificBarringType4 (3)} (SIZE (4..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-HPLMN-Data type shall be treated like unsupported ODB-HPLMN-Data
-
-Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- Ext-SS-Info
-
-Ext-SS-Info ::= CHOICE {
- forwardingInfo [0] Ext-ForwInfo,
- callBarringInfo [1] Ext-CallBarInfo,
- cug-Info [2] CUG-Info,
- ss-Data [3] Ext-SS-Data,
- emlpp-Info [4] EMLPP-Info}
-
-
-Ext-ForwInfo ::= SEQUENCE {
- ss-Code SS-Code,
- forwardingFeatureList Ext-ForwFeatureList,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-ForwFeatureList ::=
- SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-ForwFeature
-
-Ext-ForwFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- -- When this data type is sent from an HLR which supports CAMEL Phase 2
- -- to a VLR that supports CAMEL Phase 2 the VLR shall not check the
- -- format of the number
- forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] Ext-ForwOptions OPTIONAL,
- noReplyConditionTime [7] Ext-NoRepCondTime OPTIONAL,
- extensionContainer [9] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-SS-Status ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
- --
- -- bits 8765: 0000 (unused)
- -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
- -- representing supplementary service state information
- -- as defined in TS GSM 03.11
-
- -- bit 4: "Q bit"
-
- -- bit 3: "P bit"
-
- -- bit 2: "R bit"
-
- -- bit 1: "A bit"
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-
-Ext-ForwOptions ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
-
- -- bit 8: notification to forwarding party
- -- 0 no notification
- -- 1 notification
-
- -- bit 7: 0 (unused)
-
- -- bit 6: notification to calling party
- -- 0 no notification
- -- 1 notification
-
- -- bit 5: 0 (unused)
-
- -- bits 43: forwarding reason
- -- 00 ms not reachable
- -- 01 ms busy
- -- 10 no reply
- -- 11 unconditional
-
- -- bits 21: 00 (unused)
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-Ext-NoRepCondTime ::= INTEGER (1..100)
- -- Only values 5-30 are used.
- -- Values in the ranges 1-4 and 31-100 are reserved for future use
- -- If received:
- -- values 1-4 shall be mapped on to value 5
- -- values 31-100 shall be mapped on to value 30
-
-Ext-CallBarInfo ::= SEQUENCE {
- ss-Code SS-Code,
- callBarringFeatureList Ext-CallBarFeatureList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-CallBarFeatureList ::=
- SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-CallBarringFeature
-
-Ext-CallBarringFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Info ::= SEQUENCE {
- cug-SubscriptionList CUG-SubscriptionList,
- cug-FeatureList CUG-FeatureList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF
- CUG-Subscription
-
-CUG-Subscription ::= SEQUENCE {
- cug-Index CUG-Index,
- cug-Interlock CUG-Interlock,
- intraCUG-Options IntraCUG-Options,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Index ::= INTEGER (0..32767)
- -- The internal structure is defined in ETS 300 138.
-
-CUG-Interlock ::= OCTET STRING (SIZE (4))
-
-IntraCUG-Options ::= ENUMERATED {
- noCUG-Restrictions (0),
- cugIC-CallBarred (1),
- cugOG-CallBarred (2)}
-
-maxNumOfCUG INTEGER ::= 10
-
-CUG-FeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- CUG-Feature
-
-Ext-BasicServiceGroupList ::= SEQUENCE SIZE
- (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-BasicServiceCode
-
-maxNumOfExt-BasicServiceGroups INTEGER ::= 32
-
-CUG-Feature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- preferentialCUG-Indicator CUG-Index OPTIONAL,
- interCUG-Restrictions InterCUG-Restrictions,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-InterCUG-Restrictions::= OCTET STRING (SIZE (1))
-
- -- bits 876543: 000000 (unused)
- -- Exception handling:
- -- bits 876543 shall be ignored if received and not understood
-
- -- bits 21
- -- 00 CUG only facilities
- -- 01 CUG with outgoing access
- -- 10 CUG with incoming access
- -- 11 CUG with both outgoing and incoming access
-
-Ext-SS-Data ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status [4] Ext-SS-Status,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes) OF
- ZoneCode
-
-ZoneCode ::= OCTET STRING (SIZE (2))
- -- internal structure is defined in TS GSM 03.03
-
-maxNumOfZoneCodes INTEGER ::= 10
-
-InsertSubscriberDataRes ::= SEQUENCE {
- teleserviceList [1] TeleserviceList OPTIONAL,
- bearerServiceList [2] BearerServiceList OPTIONAL,
- ss-List [3] SS-List OPTIONAL,
- odb-GeneralData [4] ODB-GeneralData OPTIONAL,
- regionalSubscriptionResponse [5] RegionalSubscriptionResponse OPTIONAL,
- supportedCamelPhases [6] SupportedCamelPhases OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...}
-
-RegionalSubscriptionResponse ::= ENUMERATED {
- networkNode-AreaRestricted (0),
- tooManyZoneCodes (1),
- zoneCodesConflict (2),
- regionalSubscNotSupported (3)}
-
-DeleteSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI,
- basicServiceList [1] BasicServiceList OPTIONAL,
- -- The exception handling for reception of unsupported/not allocated
- -- basicServiceCodes is defined in section 6.8.2
- ss-List [2] SS-List OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [4] NULL OPTIONAL,
- regionalSubscriptionIdentifier [5] ZoneCode OPTIONAL,
- vbsGroupIndication [7] NULL OPTIONAL,
- vgcsGroupIndication [8] NULL OPTIONAL,
- camelSubscriptionInfoWithdraw [9] NULL OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...,
- gprsSubscriptionDataWithdraw [10] GPRSSubscriptionDataWithdraw OPTIONAL,
- roamingRestrictedInSgsnDueToUnsuppportedFeature [11] NULL OPTIONAL}
-
-GPRSSubscriptionDataWithdraw ::= CHOICE {
- allGPRSData NULL,
- contextIdList ContextIdList}
-
-ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- ContextId
-
-BasicServiceList ::= SEQUENCE SIZE (1..maxNumOfBasicServices) OF
- Ext-BasicServiceCode
-
-maxNumOfBasicServices INTEGER ::= 70
-
-DeleteSubscriberDataRes ::= SEQUENCE {
- regionalSubscriptionResponse [0] RegionalSubscriptionResponse OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VlrCamelSubscriptionInfo ::= SEQUENCE {
- o-CSI [0] O-CSI OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...,
- ss-CSI [2] SS-CSI OPTIONAL
- }
-
-SS-CSI ::= SEQUENCE {
- ss-CamelData SS-CamelData,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SS-CamelData ::= SEQUENCE {
- ss-EventList SS-EventList,
- gsmSCF-Address ISDN-AddressString,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...
- }
-
-SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code
- -- Actions for the following SS-Code values are defined in CAMEL Phase 2:
- -- ect SS-Code ::= '00110001'B
- -- multiPTY SS-Code ::= '01010001'B
- -- cd SS-Code ::= '00100100'B
- -- all other SS codes shall be ignored
-
-maxNumOfCamelSSEvents INTEGER ::= 10
-
-O-CSI ::= SEQUENCE {
- o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL
- }
-
-O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- O-BcsmCamelTDPData
-
-maxNumOfCamelTDPData INTEGER ::= 10
-
-O-BcsmCamelTDPData ::= SEQUENCE {
- o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- defaultCallHandling [1] DefaultCallHandling,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- o-BcsmCamelTDP-Criteria [3] O-BcsmCamelTDP-Criteria OPTIONAL
- }
-
-ServiceKey ::= INTEGER (0..2147483647)
-
-O-BcsmTriggerDetectionPoint ::= ENUMERATED {
- collectedInfo (2),
- ... }
--- exception handling:
--- For O-BcsmCamelTDPData sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- O-BcsmCamelTDPDatasequence.
-
-O-BcsmCamelTDP-Criteria ::= SEQUENCE {
- destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL,
- basicServiceCriteria [1] BasicServiceCriteria OPTIONAL,
- callTypeCriteria [2] CallTypeCriteria OPTIONAL,
- ... }
-
-DestinationNumberCriteria ::= SEQUENCE {
- matchType [0] MatchType,
- destinationNumberList [1] DestinationNumberList OPTIONAL,
- destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL,
- ... }
-
-DestinationNumberList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF
- ISDN-AddressString
--- The receiving entity shall not check the format of a number in
--- the dialled number list
-
-DestinationNumberLengthList ::= SEQUENCE SIZE
--- (1..maxNumOfCamelDestinationNumberLengths) OF
- (1..maxISDN-AddressLength) OF
--- INTEGER(1..maxISDN-AddressLength)
- INTEGER(1..maxNumOfSS)
-
-BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF
- Ext-BasicServiceCode
-
-maxNumOfCamelDestinationNumbers INTEGER ::= 10
-
-maxNumOfCamelDestinationNumberLengths INTEGER ::= 3
-
-maxNumOfCamelBasicServiceCriteria INTEGER ::= 5
-
-CallTypeCriteria ::= ENUMERATED {
- forwarded (0),
- notForwarded (1)}
-
-MatchType ::= ENUMERATED {
- inhibiting (0),
- enabling (1)}
-
-
-DefaultCallHandling ::= ENUMERATED {
- continueCall (0) ,
- releaseCall (1) ,
- ...}
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueCall"
--- reception of values greater than 31 shall be treated as "releaseCall"
-
-CamelCapabilityHandling ::= INTEGER(1..16)
--- value 1 = CAMEL phase 1,
--- value 2 = CAMEL phase 2:
--- reception of values greater than 2 shall be treated as CAMEL phase 2
-
-SupportedCamelPhases ::= BIT STRING {
- phase1 (0),
- phase2 (1) } (SIZE (1..16))
-
--- VBS/VGCS types
-
-VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF
- VoiceBroadcastData
-
-VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF
- VoiceGroupCallData
-
-maxNumOfVBSGroupIds INTEGER ::= 50
-
-maxNumOfVGCSGroupIds INTEGER ::= 50
-
-VoiceGroupCallData ::= SEQUENCE {
- groupId GroupId,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VoiceBroadcastData ::= SEQUENCE {
- groupid GroupId,
- broadcastInitEntitlement NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-GroupId ::= OCTET STRING (SIZE (3))
- -- Refers to the Group Identification as specified in GSM TS 03.03
- -- and 03.68/ 03.69
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-11-6.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-11-6.asn
deleted file mode 100644
index d826c1398f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-11-6.asn
+++ /dev/null
@@ -1,1776 +0,0 @@
--- module(Mvrasn-11-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Mobile Service data types".
---
--- ASN.1 module: "MAP-MS-DataTypes".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010201 etord First draft, based on GSM 29.002 v. 3.5.2.
--- PA2 010813 etord Updated according to GSM 29.002 v. 3.8.0.
--- .... ....... ........ ........................................
-
-Mvrasn-11-6
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- location registration types
- UpdateLocationArg,
- UpdateLocationRes,
- CancelLocationArg,
- CancelLocationRes,
- PurgeMS-Arg,
- PurgeMS-Res,
- SendIdentificationArg,
- SendIdentificationRes,
- UpdateGprsLocationArg,
- UpdateGprsLocationRes,
- IST-SupportIndicator,
-
- -- gprs location registration types
- GSN-Address,
-
- -- handover types
- ForwardAccessSignalling-Arg,
- PrepareHO-Arg,
- PrepareHO-Res,
- PrepareSubsequentHO-Arg,
- PrepareSubsequentHO-Res,
- ProcessAccessSignalling-Arg,
- SendEndSignal-Arg,
- SendEndSignal-Res,
-
-
- -- authentication management types
- SendAuthenticationInfoArg,
- SendAuthenticationInfoRes,
- AuthenticationFailureReportArg,
- AuthenticationFailureReportRes,
-
- -- security management types
- EquipmentStatus,
- Kc,
-
- -- subscriber management types
- InsertSubscriberDataArg,
- InsertSubscriberDataRes,
- LSAIdentity,
- DeleteSubscriberDataArg,
- DeleteSubscriberDataRes,
- SubscriberData,
- ODB-Data,
- SubscriberStatus,
- ZoneCodeList,
- maxNumOfZoneCodes,
- O-CSI,
- D-CSI,
- O-BcsmCamelTDPCriteriaList,
- T-BCSM-CAMEL-TDP-CriteriaList,
- SS-CSI,
- ServiceKey,
- DefaultCallHandling,
- CamelCapabilityHandling,
- BasicServiceCriteria,
- SupportedCamelPhases,
- maxNumOfCamelTDPData,
- CUG-Index,
- CUG-Interlock,
- InterCUG-Restrictions,
- IntraCUG-Options,
- NotificationToMSUser,
- IST-AlertTimerValue,
- T-CSI,
- T-BcsmTriggerDetectionPoint,
-
- -- fault recovery types
- ResetArg,
- RestoreDataArg,
- RestoreDataRes,
-
--- provide subscriber info types
-GeographicalInformation,
-
- -- subscriber information enquiry types
- ProvideSubscriberInfoArg,
- ProvideSubscriberInfoRes,
- SubscriberInfo,
- LocationInformation,
- SubscriberState,
-
- -- any time information enquiry types
- AnyTimeInterrogationArg,
- AnyTimeInterrogationRes,
-
- -- any time information handling types
- AnyTimeSubscriptionInterrogationArg,
- AnyTimeSubscriptionInterrogationRes,
- AnyTimeModificationArg,
- AnyTimeModificationRes,
-
- -- subscriber data modification notification types
- NoteSubscriberDataModifiedArg,
- NoteSubscriberDataModifiedRes,
-
- -- gprs location information retrieval types
- -- error in spec detected by our compiler SendRoutingInfoForGprsArg,
- -- SendRoutingInfoForGprsRes,
-
- -- failure reporting types
- FailureReportArg,
- FailureReportRes,
-
- -- gprs notification types
- NoteMsPresentForGprsArg,
- NoteMsPresentForGprsRes,
-
- -- Mobility Management types
-NoteMM-EventArg,
- NoteMM-EventRes
-
-
-
-;
-
-IMPORTS
- maxNumOfSS,
- SS-SubscriptionOption,
- SS-List,
- SS-ForBS-Code,
- Password
-FROM Mvrasn-14-6
-
- SS-Code
-FROM Mvrasn-15-6
-
-
- Ext-BearerServiceCode
-FROM Mvrasn-20-6
-
-
- Ext-TeleserviceCode
-FROM Mvrasn-19-6
-
-
- AddressString,
-ISDN-AddressString,
- ISDN-SubaddressString,
- FTN-AddressString,
- AccessNetworkSignalInfo,
- IMSI,
- TMSI,
- HLR-List,
- LMSI,
- Identity,
- GlobalCellId,
- CellGlobalIdOrServiceAreaIdOrLAI,
- Ext-BasicServiceCode,
- NAEA-PreferredCI,
- EMLPP-Info,
- MC-SS-Info,
- SubscriberIdentity,
- AgeOfLocationInformation,
- LCSClientExternalID,
- LCSClientInternalID,
- Ext-SS-Status
-
-FROM Mvrasn-18-6
-
-
- ExtensionContainer
-FROM Mvrasn-21-4
-
-;
-
-
--- location registration types
-
-UpdateLocationArg ::= SEQUENCE {
- imsi IMSI,
-
- msc-Number [1] ISDN-AddressString,
- vlr-Number ISDN-AddressString,
- lmsi [10] LMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- vlr-Capability [6] VLR-Capability OPTIONAL }
-
-VLR-Capability ::= SEQUENCE{
- supportedCamelPhases [0] SupportedCamelPhases OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- solsaSupportIndicator [2] NULL OPTIONAL,
- istSupportIndicator [1] IST-SupportIndicator OPTIONAL,
- superChargerSupportedInServingNetworkEntity [3] SuperChargerInfo OPTIONAL,
- longFTN-Supported [4] NULL OPTIONAL }
-
-SuperChargerInfo ::= CHOICE {
- sendSubscriberData [0] NULL,
- subscriberDataStored [1] AgeIndicator }
-
-AgeIndicator ::= OCTET STRING (SIZE (1..6))
- -- The internal structure of this parameter is implementation specific.
-
-
-IST-SupportIndicator ::= ENUMERATED {
- basicISTSupported (0),
- istCommandSupported (1),
- ...}
--- exception handling:
--- reception of values > 1 shall be mapped to ' istCommandSupported '
-
-
-UpdateLocationRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
-
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
-
-CancelLocationArg ::= [3] SEQUENCE {
- identity Identity,
- cancellationType CancellationType OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-
-CancellationType ::= ENUMERATED {
- updateProcedure (0),
- subscriptionWithdraw (1),
- ...}
- -- The HLR shall not send values other than listed above
-
-
-CancelLocationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-PurgeMS-Arg ::= [3] SEQUENCE {
- imsi IMSI,
- vlr-Number [0] ISDN-AddressString OPTIONAL,
- sgsn-Number [1] ISDN-AddressString OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-PurgeMS-Res ::= SEQUENCE {
- freezeTMSI [0] NULL OPTIONAL,
- freezeP-TMSI [1] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SendIdentificationArg ::= SEQUENCE {
- tmsi TMSI,
- numberOfRequestedVectors NumberOfRequestedVectors OPTIONAL,
- -- if segmentation is used, numberOfRequestedVectors shall be present in
- -- the first segment and shall not be present in subsequent segments. If received
- -- in a subsequent segment it shall be discarded.
- segmentationProhibited NULL OPTIONAL,
- -- if segmentation is prohibited the previous VLR shall not send the result
- -- within a TC-CONTINUE message.
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SendIdentificationRes ::= [3] SEQUENCE {
- imsi IMSI OPTIONAL,
- -- IMSI must be present if SendIdentificationRes is not segmented.
- -- If the TC-Continue segmentation option is taken the IMSI must be
- -- present in one segmented transmission of SendIdentificationRes.
- authenticationSetList AuthenticationSetList OPTIONAL,
- currentSecurityContext [2]CurrentSecurityContext OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
--- authentication management types
-
-AuthenticationSetList ::= CHOICE {
- tripletList [0] TripletList,
- quintupletList [1] QuintupletList }
-
-TripletList ::= SEQUENCE SIZE (1..5) OF
- AuthenticationTriplet
-
-QuintupletList ::= SEQUENCE SIZE (1..5) OF
- AuthenticationQuintuplet
-
-AuthenticationTriplet ::= SEQUENCE {
- rand RAND,
- sres SRES,
- kc Kc,
- ...}
-
-AuthenticationQuintuplet ::= SEQUENCE {
- rand RAND,
- xres XRES,
- ck CK,
- ik IK,
- autn AUTN,
- ...}
-
-CurrentSecurityContext ::= CHOICE {
- gsm-SecurityContextData [0] GSM-SecurityContextData,
- umts-SecurityContextData [1] UMTS-SecurityContextData }
-
-GSM-SecurityContextData ::= SEQUENCE {
- kc Kc,
- cksn Cksn,
- ... }
-
-UMTS-SecurityContextData ::= SEQUENCE {
- ck CK,
- ik IK,
- ksi KSI,
- ... }
-
-RAND ::= OCTET STRING (SIZE (16))
-
-SRES ::= OCTET STRING (SIZE (4))
-
-Kc ::= OCTET STRING (SIZE (8))
-
-XRES ::= OCTET STRING (SIZE (4..16))
-
-CK ::= OCTET STRING (SIZE (16))
-
-IK ::= OCTET STRING (SIZE (16))
-
-AUTN ::= OCTET STRING (SIZE (16))
-
-AUTS ::= OCTET STRING (SIZE (14))
-
-Cksn ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in 3G TS 24.008
-
-KSI ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in 3G TS 24.008
-
-AuthenticationFailureReportArg ::= SEQUENCE {
- imsi IMSI,
- failureCause FailureCause,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-AuthenticationFailureReportRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-FailureCause ::= ENUMERATED {
- wrongUserResponse (0),
- wrongNetworkSignature (1)}
-
--- gprs location registration types
-
-UpdateGprsLocationArg ::= SEQUENCE {
- imsi IMSI,
- sgsn-Number ISDN-AddressString,
- sgsn-Address GSN-Address,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- sgsn-Capability [0] SGSN-Capability OPTIONAL }
-
-SGSN-Capability ::= SEQUENCE{
- solsaSupportIndicator NULL OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... ,
- superChargerSupportedInServingNetworkEntity [2] SuperChargerInfo OPTIONAL ,
- gprsEnhancementsSupportIndicator [3] NULL OPTIONAL,
- supportedCamelPhases [4] SupportedCamelPhases OPTIONAL }
-
-GSN-Address ::= OCTET STRING (SIZE (5..17))
- -- Octets are coded according to TS GSM 03.03
-
-UpdateGprsLocationRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- handover types
-
-ForwardAccessSignalling-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- integrityProtectionInfo [0] IntegrityProtectionInformation OPTIONAL,
- encryptionInfo [1] EncryptionInformation OPTIONAL,
- keyStatus [2] KeyStatus OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-KeyStatus ::= ENUMERATED {
- old (0),
- new (1),
- ...}
- -- exception handling:
- -- received values in range 2-31 shall be treated as "old"
- -- received values greater than 31 shall be treated as "new"
-
-PrepareHO-Arg ::= [3] SEQUENCE {
- targetCellId [0] GlobalCellId OPTIONAL,
- ho-NumberNotRequired NULL OPTIONAL,
- targetRNCId [1] RNCId OPTIONAL,
- an-APDU [2] AccessNetworkSignalInfo OPTIONAL,
- multipleBearerRequested [3] NULL OPTIONAL,
- imsi [4] IMSI OPTIONAL,
- integrityProtectionInfo [5] IntegrityProtectionInformation OPTIONAL,
- encryptionInfo [6] EncryptionInformation OPTIONAL,
- radioResourceInformation [7] RadioResourceInformation OPTIONAL,
- extensionContainer [8] ExtensionContainer OPTIONAL,
- ...}
-
-PrepareHO-Res ::= [3] SEQUENCE {
- handoverNumber [0] ISDN-AddressString OPTIONAL,
- relocationNumberList [1] RelocationNumberList OPTIONAL,
- an-APDU [2] AccessNetworkSignalInfo OPTIONAL,
- multicallBearerInfo [3] MulticallBearerInfo OPTIONAL,
- multipleBearerNotSupported NULL OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-PrepareSubsequentHO-Arg ::= [3] SEQUENCE {
- targetCellId [0] GlobalCellId OPTIONAL,
- targetMSC-Number [1] ISDN-AddressString,
- targetRNCId [2] RNCId OPTIONAL,
- an-APDU [3] AccessNetworkSignalInfo OPTIONAL,
- selectedRab-Id [4] RAB-Id OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-PrepareSubsequentHO-Res ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-ProcessAccessSignalling-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-SendEndSignal-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-SendEndSignal-Res ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-RNCId ::= OCTET STRING (SIZE (7))
- -- Refers to the Target RNC-ID in the Target ID in 3G TS 25.413, where the encoding is
- -- defined.
-
-RelocationNumberList ::= SEQUENCE SIZE (1..maxNumOfRelocationNumber) OF
- RelocationNumber
-
-MulticallBearerInfo ::= INTEGER (1..maxNumOfRelocationNumber)
-
-RelocationNumber ::= SEQUENCE {
- handoverNumber ISDN-AddressString,
- rab-Id RAB-Id,
- -- RAB Identity is needed to relate the calls with the radio access bearers.
- ...}
-
-RAB-Id ::= INTEGER (1..maxNrOfRABs)
-
-maxNrOfRABs INTEGER ::= 255
-
-maxNumOfRelocationNumber INTEGER ::= 7
-
-RadioResourceInformation ::= OCTET STRING (SIZE (5..10))
- -- Octets are coded according the Channel Type information element in GSM 08.08
-
-
-IntegrityProtectionInformation ::= OCTET STRING (SIZE (17..maxNumOfIntegrityInfo))
- -- Octets are coded according to 3G TS 25.413
-
-
-maxNumOfIntegrityInfo INTEGER ::= 100
-
-EncryptionInformation ::= OCTET STRING (SIZE (17..maxNumOfEncryptionInfo))
- -- Octets are coded according to 3G TS 25.413
-
-
-maxNumOfEncryptionInfo INTEGER ::= 100
-
--- authentication management types
-
-SendAuthenticationInfoArg ::= SEQUENCE {
- imsi [0] IMSI,
- numberOfRequestedVectors NumberOfRequestedVectors,
- segmentationProhibited NULL OPTIONAL,
- -- if segmentation is prohibited the HLR shall not send the result within
- -- a TC-CONTINUE message.
- immediateResponsePreferred [1] NULL OPTIONAL,
- -- if present, the HLR may send an immediate response with the available authentication
- -- vectors (see � 8.5.2 for more information).
- re-synchronisationInfo Re-synchronisationInfo OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-NumberOfRequestedVectors ::= INTEGER (1..5)
-
-Re-synchronisationInfo ::= SEQUENCE {
- rand RAND,
- auts AUTS,
- ...}
-
-SendAuthenticationInfoRes ::= [3] SEQUENCE {
- authenticationSetList AuthenticationSetList OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-
--- security management types
-
-EquipmentStatus ::= ENUMERATED {
- whiteListed (0),
- blackListed (1),
- greyListed (2)}
-
-
--- subscriber management types
-
-InsertSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
- COMPONENTS OF SubscriberData,
- extensionContainer [14] ExtensionContainer OPTIONAL,
- ... ,
- naea-PreferredCI [15] NAEA-PreferredCI OPTIONAL,
- -- naea-PreferredCI is included at the discretion of the HLR operator.
- gprsSubscriptionData [16] GPRSSubscriptionData OPTIONAL,
- roamingRestrictedInSgsnDueToUnsupportedFeature [23] NULL
- OPTIONAL,
- networkAccessMode [24] NetworkAccessMode OPTIONAL,
- lsaInformation [25] LSAInformation OPTIONAL,
- lmu-Indicator [21] NULL OPTIONAL,
- lcsInformation [22] LCSInformation OPTIONAL,
- istAlertTimer [26] IST-AlertTimerValue OPTIONAL,
- superChargerSupportedInHLR [27] AgeIndicator OPTIONAL,
- mc-SS-Info [28] MC-SS-Info OPTIONAL,
- cs-AllocationRetentionPriority [29] CS-AllocationRetentionPriority OPTIONAL,
- sgsn-CAMEL-SubscriptionInfo [17] SGSN-CAMEL-SubscriptionInfo OPTIONAL,
- chargingCharacteristics [18] ChargingCharacteristics OPTIONAL
- }
- -- If the Network Access Mode parameter is sent, it shall be present only in
- -- the first sequence if seqmentation is used
-
-CS-AllocationRetentionPriority ::= OCTET STRING (SIZE (1))
- -- This data type encodes each priority level defined in TS 23.107 as the binary value
- -- of the priority level.
-
-IST-AlertTimerValue ::= INTEGER (15..255)
-
-LCSInformation ::= SEQUENCE {
- gmlc-List [0] GMLC-List OPTIONAL,
- lcs-PrivacyExceptionList [1] LCS-PrivacyExceptionList OPTIONAL,
- molr-List [2] MOLR-List OPTIONAL,
- ...}
-
-GMLC-List ::= SEQUENCE SIZE (1..maxNumOfGMLC) OF
- ISDN-AddressString
- -- if segmentation is used, the complete GMLC-List shall be sent in one segment
-
-maxNumOfGMLC INTEGER ::= 5
-
-
-NetworkAccessMode ::= ENUMERATED {
- bothMSCAndSGSN (0),
- onlyMSC (1),
- onlySGSN (2),
- ...}
- -- if unknown values are received in NetworkAccessMode
- -- they shall be discarded.
-
-GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- PDP-Context
-
-maxNumOfPDP-Contexts INTEGER ::= 50
-
-PDP-Context ::= SEQUENCE {
- pdp-ContextId ContextId,
- pdp-Type [16] PDP-Type,
- pdp-Address [17] PDP-Address OPTIONAL,
- qos-Subscribed [18] QoS-Subscribed,
- vplmnAddressAllowed [19] NULL OPTIONAL,
- apn [20] APN,
- extensionContainer [21] ExtensionContainer OPTIONAL,
- ... ,
- ext-QoS-Subscribed [0] Ext-QoS-Subscribed OPTIONAL,
- pdp-ChargingCharacteristics [1] ChargingCharacteristics OPTIONAL }
- -- qos-Subscribed shall be discarded if ext-QoS-Subscribed is received and supported
-
-ContextId ::= INTEGER (1..maxNumOfPDP-Contexts)
-
-GPRSSubscriptionData ::= SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
-
- -- If segmentation is used, completeDataListIncluded may only be present in the
- -- first segment.
- gprsDataList [1] GPRSDataList,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... }
-
-SGSN-CAMEL-SubscriptionInfo ::= SEQUENCE {
- gprs-CSI [0] GPRS-CSI OPTIONAL,
- sms-CSI [1] SMS-CSI OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-GPRS-CSI ::= SEQUENCE {
- gprs-CamelTDPDataList [0] GPRS-CamelTDPDataList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when GPRS-CSI is sent to SGSN.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- GPRS-CamelTDPData and camelCapabilityHandling shall be present in
--- the GPRS-CSI sequence.
--- If GPRS-CSI is segmented, gprs-CamelTDPDataList and camelCapabilityHandling shall be
--- present in the first segment
-
-GPRS-CamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- GPRS-CamelTDPData
--- GPRS-CamelTDPDataList shall not contain more than one instance of
--- GPRS-CamelTDPData containing the same value for gprs-TriggerDetectionPoint.
-
-GPRS-CamelTDPData ::= SEQUENCE {
- gprs-TriggerDetectionPoint [0] GPRS-TriggerDetectionPoint,
- serviceKey [1] ServiceKey,
- gsmSCF-Address [2] ISDN-AddressString,
- defaultSessionHandling [3] DefaultGPRS-Handling,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...
- }
-
-DefaultGPRS-Handling ::= ENUMERATED {
- continueTransaction (0) ,
- releaseTransaction (1) ,
- ...}
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueTransaction"
--- reception of values greater than 31 shall be treated as "releaseTransaction"
-
-GPRS-TriggerDetectionPoint ::= ENUMERATED {
- attach (1),
- attachChangeOfPosition (2),
- pdp-ContextEstablishment (11),
- pdp-ContextEstablishmentAcknowledgement (12),
- pdp-ContextChangeOfPosition (14),
- ... }
--- exception handling:
--- For GPRS-CamelTDPData sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- GPRS-CamelTDPDatasequence.
-
-APN ::= OCTET STRING (SIZE (2..63))
- -- Octets are coded according to TS GSM 03.03
-
-PDP-Type ::= OCTET STRING (SIZE (2))
- -- Octets are coded according to TS GSM 09.60
-
-PDP-Address ::= OCTET STRING (SIZE (1..16))
- -- Octets are coded according to TS GSM 09.60
-
- -- The possible size values are:
- -- 1-7 octets X.25 address type
- -- 4 octets IPv4 address type
- -- 16 octets Ipv6 address type
-
-QoS-Subscribed ::= OCTET STRING (SIZE (3))
- -- Octets are coded according to TS GSM 04.08.
-
-Ext-QoS-Subscribed ::= OCTET STRING (SIZE (1..9))
- -- OCTET 1:
- -- Allocation/Retention Priority (This octet encodes each priority level defined in
- -- 23.107 as the binary value of the priority level, declaration in 29.060)
- -- Octets 2-9 are coded according to 3G TS 24.008 Quality of Service Octets
- -- 6-13.
-
-ChargingCharacteristics ::= OCTET STRING (SIZE (2))
- -- Octets are coded according to 3G TS 32.015.
-
-LSAOnlyAccessIndicator ::= ENUMERATED {
- accessOutsideLSAsAllowed (0),
- accessOutsideLSAsRestricted (1)}
-
-LSADataList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
- LSAData
-
-maxNumOfLSAs INTEGER ::= 20
-
-LSAData ::= SEQUENCE {
- lsaIdentity [0] LSAIdentity,
- lsaAttributes [1] LSAAttributes,
- lsaActiveModeIndicator [2] NULL OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-LSAInformation ::= SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
-
- -- If segmentation is used, completeDataListIncluded may only be present in the
- -- first segment.
- lsaOnlyAccessIndicator [1] LSAOnlyAccessIndicator OPTIONAL,
- lsaDataList [2] LSADataList OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-LSAIdentity ::= OCTET STRING (SIZE (3))
- -- Octets are coded according to TS GSM 03.03
-
-LSAAttributes ::= OCTET STRING (SIZE (1))
- -- Octets are coded according to TS GSM 08.08
-
-
-SubscriberData ::= SEQUENCE {
- msisdn [1] ISDN-AddressString OPTIONAL,
- category [2] Category OPTIONAL,
- subscriberStatus [3] SubscriberStatus OPTIONAL,
- bearerServiceList [4] BearerServiceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- bearerServiceCodes is defined in section 8.8.1
- teleserviceList [6] TeleserviceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- teleserviceCodes is defined in section 8.8.1
- provisionedSS [7] Ext-SS-InfoList OPTIONAL,
- odb-Data [8] ODB-Data OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL,
- regionalSubscriptionData [10] ZoneCodeList OPTIONAL,
- vbsSubscriptionData [11] VBSDataList OPTIONAL,
- vgcsSubscriptionData [12] VGCSDataList OPTIONAL,
- vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL
- }
-
-Category ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in CCITT Rec Q.763.
-
-SubscriberStatus ::= ENUMERATED {
- serviceGranted (0),
- operatorDeterminedBarring (1)}
-
-BearerServiceList ::= SEQUENCE SIZE (1..maxNumOfBearerServices) OF
- Ext-BearerServiceCode
-
-maxNumOfBearerServices INTEGER ::= 50
-
-TeleserviceList ::= SEQUENCE SIZE (1..maxNumOfTeleservices) OF
- Ext-TeleserviceCode
-
-maxNumOfTeleservices INTEGER ::= 20
-
-ODB-Data ::= SEQUENCE {
- odb-GeneralData ODB-GeneralData,
- odb-HPLMN-Data ODB-HPLMN-Data OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ODB-GeneralData ::= BIT STRING {
- allOG-CallsBarred (0),
- internationalOGCallsBarred (1),
- internationalOGCallsNotToHPLMN-CountryBarred (2),
- interzonalOGCallsBarred (6),
- interzonalOGCallsNotToHPLMN-CountryBarred (7),
- interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8),
- premiumRateInformationOGCallsBarred (3),
- premiumRateEntertainementOGCallsBarred (4),
- ss-AccessBarred (5),
- allECT-Barred (9),
- chargeableECT-Barred (10),
- internationalECT-Barred (11),
- interzonalECT-Barred (12),
- doublyChargeableECT-Barred (13),
- multipleECT-Barred (14)} (SIZE (15..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData
-
-ODB-HPLMN-Data ::= BIT STRING {
- plmn-SpecificBarringType1 (0),
- plmn-SpecificBarringType2 (1),
- plmn-SpecificBarringType3 (2),
- plmn-SpecificBarringType4 (3)} (SIZE (4..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-HPLMN-Data type shall be treated like unsupported ODB-HPLMN-Data
-
-Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- Ext-SS-Info
-
-Ext-SS-Info ::= CHOICE {
- forwardingInfo [0] Ext-ForwInfo,
- callBarringInfo [1] Ext-CallBarInfo,
- cug-Info [2] CUG-Info,
- ss-Data [3] Ext-SS-Data,
- emlpp-Info [4] EMLPP-Info}
-
-
-Ext-ForwInfo ::= SEQUENCE {
- ss-Code SS-Code,
- forwardingFeatureList Ext-ForwFeatureList,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-ForwFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-ForwFeature
-
-Ext-ForwFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- -- When this data type is sent from an HLR which supports CAMEL Phase 2
- -- to a VLR that supports CAMEL Phase 2 the VLR shall not check the
- -- format of the number
- forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] Ext-ForwOptions OPTIONAL,
- noReplyConditionTime [7] Ext-NoRepCondTime OPTIONAL,
- extensionContainer [9] ExtensionContainer OPTIONAL,
- ...,
- longForwardedToNumber [10] FTN-AddressString OPTIONAL }
-
-Ext-ForwOptions ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
-
- -- bit 8: notification to forwarding party
- -- 0 no notification
- -- 1 notification
-
- -- bit 7: redirecting presentation
- -- 0 no presentation
- -- 1 presentation
-
- -- bit 6: notification to calling party
- -- 0 no notification
- -- 1 notification
-
- -- bit 5: 0 (unused)
-
- -- bits 43: forwarding reason
- -- 00 ms not reachable
- -- 01 ms busy
- -- 10 no reply
- -- 11 unconditional
-
- -- bits 21: 00 (unused)
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-Ext-NoRepCondTime ::= INTEGER (1..100)
- -- Only values 5-30 are used.
- -- Values in the ranges 1-4 and 31-100 are reserved for future use
- -- If received:
- -- values 1-4 shall be mapped on to value 5
- -- values 31-100 shall be mapped on to value 30
-
-Ext-CallBarInfo ::= SEQUENCE {
- ss-Code SS-Code,
- callBarringFeatureList Ext-CallBarFeatureList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-CallBarFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-CallBarringFeature
-
-Ext-CallBarringFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Info ::= SEQUENCE {
- cug-SubscriptionList CUG-SubscriptionList,
- cug-FeatureList CUG-FeatureList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF
- CUG-Subscription
-
-CUG-Subscription ::= SEQUENCE {
- cug-Index CUG-Index,
- cug-Interlock CUG-Interlock,
- intraCUG-Options IntraCUG-Options,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Index ::= INTEGER (0..32767)
- -- The internal structure is defined in ETS 300 138.
-
-CUG-Interlock ::= OCTET STRING (SIZE (4))
-
-IntraCUG-Options ::= ENUMERATED {
- noCUG-Restrictions (0),
- cugIC-CallBarred (1),
- cugOG-CallBarred (2)}
-
-maxNumOfCUG INTEGER ::= 10
-
-CUG-FeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- CUG-Feature
-
-Ext-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-BasicServiceCode
-
-maxNumOfExt-BasicServiceGroups INTEGER ::= 32
-
-CUG-Feature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- preferentialCUG-Indicator CUG-Index OPTIONAL,
- interCUG-Restrictions InterCUG-Restrictions,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-InterCUG-Restrictions ::= OCTET STRING (SIZE (1))
-
- -- bits 876543: 000000 (unused)
- -- Exception handling:
- -- bits 876543 shall be ignored if received and not understood
-
- -- bits 21
- -- 00 CUG only facilities
- -- 01 CUG with outgoing access
- -- 10 CUG with incoming access
- -- 11 CUG with both outgoing and incoming access
-
-Ext-SS-Data ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status [4] Ext-SS-Status,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-LCS-PrivacyExceptionList ::= SEQUENCE SIZE (1..maxNumOfPrivacyClass) OF
- LCS-PrivacyClass
-
-maxNumOfPrivacyClass INTEGER ::= 4
-
-LCS-PrivacyClass ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status Ext-SS-Status,
- notificationToMSUser [0] NotificationToMSUser OPTIONAL,
- -- notificationToMSUser is expected only for
- -- SS-code = callunrelated or SS-code = callrelated
- externalClientList [1] ExternalClientList OPTIONAL,
- -- externalClientList is expected only for SS-code = callunrelated
- plmnClientList [2] PLMNClientList OPTIONAL,
- -- plmnClientList is expected only for SS-code = plmn operator
- extensionContainer [3] ExtensionContainer OPTIONAL,
- -- if segmentation is used, the complete LCS-PrivacyClass shall be sent in one segment
- ...}
-
-ExternalClientList ::= SEQUENCE SIZE (0..maxNumOfExternalClient) OF
- ExternalClient
-
-maxNumOfExternalClient INTEGER ::= 5
-
-PLMNClientList ::= SEQUENCE SIZE (1..maxNumOfPLMNClient) OF
- LCSClientInternalID
-
-maxNumOfPLMNClient INTEGER ::= 5
-
-ExternalClient ::= SEQUENCE {
- clientIdentity LCSClientExternalID,
- gmlc-Restriction [0] GMLC-Restriction OPTIONAL,
- notificationToMSUser [1] NotificationToMSUser OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... }
-
-GMLC-Restriction ::= ENUMERATED {
- gmlc-List (0),
- home-Country (1) ,
- ... }
--- exception handling:
--- At reception of any other value than the ones listed the receiver shall ignore
--- GMLC-Restriction.
-
-NotificationToMSUser ::= ENUMERATED {
- notifyLocationAllowed (0),
- notifyAndVerify-LocationAllowedIfNoResponse (1),
- notifyAndVerify-LocationNotAllowedIfNoResponse (2),
- ... }
--- exception handling:
--- At reception of any other value than the ones listed the receiver shall ignore
--- NotificationToMSUser.
-
-MOLR-List ::= SEQUENCE SIZE (1..maxNumOfMOLR-Class) OF
- MOLR-Class
-
-maxNumOfMOLR-Class INTEGER ::= 3
-
-MOLR-Class ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status Ext-SS-Status,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes)
- OF ZoneCode
-
-ZoneCode ::= OCTET STRING (SIZE (2))
- -- internal structure is defined in TS GSM 03.03
-
-maxNumOfZoneCodes INTEGER ::= 10
-
-InsertSubscriberDataRes ::= SEQUENCE {
- teleserviceList [1] TeleserviceList OPTIONAL,
- bearerServiceList [2] BearerServiceList OPTIONAL,
- ss-List [3] SS-List OPTIONAL,
- odb-GeneralData [4] ODB-GeneralData OPTIONAL,
- regionalSubscriptionResponse [5] RegionalSubscriptionResponse OPTIONAL,
- supportedCamelPhases [6] SupportedCamelPhases OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...}
-
-RegionalSubscriptionResponse ::= ENUMERATED {
- networkNode-AreaRestricted (0),
- tooManyZoneCodes (1),
- zoneCodesConflict (2),
- regionalSubscNotSupported (3)}
-
-DeleteSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI,
- basicServiceList [1] BasicServiceList OPTIONAL,
- -- The exception handling for reception of unsupported/not allocated
- -- basicServiceCodes is defined in section 6.8.2
- ss-List [2] SS-List OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [4] NULL OPTIONAL,
- regionalSubscriptionIdentifier [5] ZoneCode OPTIONAL,
- vbsGroupIndication [7] NULL OPTIONAL,
- vgcsGroupIndication [8] NULL OPTIONAL,
- camelSubscriptionInfoWithdraw [9] NULL OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...,
- gprsSubscriptionDataWithdraw [10] GPRSSubscriptionDataWithdraw OPTIONAL,
- roamingRestrictedInSgsnDueToUnsuppportedFeature [11] NULL OPTIONAL,
- lsaInformationWithdraw [12] LSAInformationWithdraw OPTIONAL,
- gmlc-ListWithdraw [13] NULL OPTIONAL,
- istInformationWithdraw [14] NULL OPTIONAL,
- specificCSI-Withdraw [15] SpecificCSI-Withdraw OPTIONAL }
-
-SpecificCSI-Withdraw ::= BIT STRING {
- o-csi (0),
- ss-csi (1),
- tif-csi (2),
- d-csi (3),
- vt-csi (4),
- sms-csi (5),
- m-csi (6),
- gprs-csi(7)} (SIZE(8..32))
--- exception handling:
--- bits 8 to 31 shall be ignored if received
-
-GPRSSubscriptionDataWithdraw ::= CHOICE {
- allGPRSData NULL,
- contextIdList ContextIdList}
-
-ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- ContextId
-
-LSAInformationWithdraw ::= CHOICE {
- allLSAData NULL,
- lsaIdentityList LSAIdentityList }
-
-LSAIdentityList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
- LSAIdentity
-
-BasicServiceList ::= SEQUENCE SIZE (1..maxNumOfBasicServices) OF
- Ext-BasicServiceCode
-
-maxNumOfBasicServices INTEGER ::= 70
-
-DeleteSubscriberDataRes ::= SEQUENCE {
- regionalSubscriptionResponse [0] RegionalSubscriptionResponse OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VlrCamelSubscriptionInfo ::= SEQUENCE {
- o-CSI [0] O-CSI OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...,
- ss-CSI [2] SS-CSI OPTIONAL,
- o-BcsmCamelTDP-CriteriaList [4] O-BcsmCamelTDPCriteriaList OPTIONAL,
- tif-CSI [3] NULL OPTIONAL,
- m-CSI [5] M-CSI OPTIONAL,
- sms-CSI [6] SMS-CSI OPTIONAL,
- vt-CSI [7] T-CSI OPTIONAL,
- t-BCSM-CAMEL-TDP-CriteriaList [8] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- d-CSI [9] D-CSI OPTIONAL}
-
-D-CSI ::= SEQUENCE {
- dp-AnalysedInfoCriteriaList [0] DP-AnalysedInfoCriteriaList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when D-CSI is sent to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- DP-AnalysedInfoCriteria and camelCapabilityHandling shall be present in
--- the D-CSI sequence.
--- If D-CSI is segmented, dp-AnalysedInfoCriteriaList and camelCapabilityHandling shall be
--- present in the first segment
-
-
-DP-AnalysedInfoCriteriaList ::= SEQUENCE SIZE (1..maxNumOfDP-AnalysedInfoCriteria) OF
- DP-AnalysedInfoCriterium
-
-maxNumOfDP-AnalysedInfoCriteria INTEGER ::= 10
-
-DP-AnalysedInfoCriterium ::= SEQUENCE {
- dialledNumber ISDN-AddressString,
- serviceKey ServiceKey,
- gsmSCF-Address ISDN-AddressString,
- defaultCallHandling DefaultCallHandling,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SS-CSI ::= SEQUENCE {
- ss-CamelData SS-CamelData,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- notificationToCSE [0] NULL OPTIONAL,
- csi-Active [1] NULL OPTIONAL
--- notificationToCSE and csi-Active shall not be present when SS-CSI is sent to VLR.
--- They may only be included in ATSI/ATM ack/NSDC message.
-}
-
-SS-CamelData ::= SEQUENCE {
- ss-EventList SS-EventList,
- gsmSCF-Address ISDN-AddressString,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ... }
-
-SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code
- -- Actions for the following SS-Code values are defined in CAMEL Phase 3:
- -- ect SS-Code ::= '00110001'B
- -- multiPTY SS-Code ::= '01010001'B
- -- cd SS-Code ::= '00100100'B
- -- ccbs SS-Code ::= '01000100'B
- -- all other SS codes shall be ignored
- -- When SS-CSI is sent to the VLR, it shall not contain a marking for ccbs.
- -- If the VLR receives SS-CSI containing a marking for ccbs, the VLR shall discard the
- -- ccbs marking in SS-CSI.
-
-maxNumOfCamelSSEvents INTEGER ::= 10
-
-O-CSI ::= SEQUENCE {
- o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL,
- notificationToCSE [1] NULL OPTIONAL,
- csiActive [2] NULL OPTIONAL}
--- notificationtoCSE and csiActive shall not be present when O-CSI is sent to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
-
-O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- O-BcsmCamelTDPData
- -- O-BcsmCamelTDPDataList shall not contain more than one instance of
- -- O-BcsmCamelTDPData containing the same value for o-BcsmTriggerDetectionPoint.
- -- For CAMEL Phase 2, this means that only one instance of O-BcsmCamelTDPData is allowed
- -- with o-BcsmTriggerDetectionPoint being equal to DP2.
-
-maxNumOfCamelTDPData INTEGER ::= 10
-
-O-BcsmCamelTDPData ::= SEQUENCE {
- o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- defaultCallHandling [1] DefaultCallHandling,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...
- }
-
-ServiceKey ::= INTEGER (0..2147483647)
-
-O-BcsmTriggerDetectionPoint ::= ENUMERATED {
- collectedInfo (2),
- ...,
- routeSelectFailure (4) }
- -- exception handling:
- -- For O-BcsmCamelTDPData sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- O-BcsmCamelTDPDatasequence.
- -- For O-BcsmCamelTDP-Criteria sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- O-BcsmCamelTDP-Criteria sequence.
-
-O-BcsmCamelTDPCriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- O-BcsmCamelTDP-Criteria
-
-T-BCSM-CAMEL-TDP-CriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- T-BCSM-CAMEL-TDP-Criteria
-
-O-BcsmCamelTDP-Criteria ::= SEQUENCE {
- o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
- destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL,
- basicServiceCriteria [1] BasicServiceCriteria OPTIONAL,
- callTypeCriteria [2] CallTypeCriteria OPTIONAL,
- ...,
- o-CauseValueCriteria [3] O-CauseValueCriteria OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL }
-
-T-BCSM-CAMEL-TDP-Criteria ::= SEQUENCE {
- t-BCSM-TriggerDetectionPoint T-BcsmTriggerDetectionPoint,
- basicServiceCriteria [0] BasicServiceCriteria OPTIONAL,
- t-CauseValueCriteria [1] T-CauseValueCriteria OPTIONAL,
- ... }
-
-DestinationNumberCriteria ::= SEQUENCE {
- matchType [0] MatchType,
- destinationNumberList [1] DestinationNumberList OPTIONAL,
- destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL,
- -- one or both of destinationNumberList and destinationNumberLengthList
- -- shall be present
- ...}
-
-DestinationNumberList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF
- ISDN-AddressString
- -- The receiving entity shall not check the format of a number in
- -- the dialled number list
-
-DestinationNumberLengthList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumberLengths)
-OF
- INTEGER(1..maxNumOfISDN-AddressDigits)
-
-BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF
- Ext-BasicServiceCode
-
-maxNumOfISDN-AddressDigits INTEGER ::= 15
-
-maxNumOfCamelDestinationNumbers INTEGER ::= 10
-
-maxNumOfCamelDestinationNumberLengths INTEGER ::= 3
-
-maxNumOfCamelBasicServiceCriteria INTEGER ::= 5
-
-CallTypeCriteria ::= ENUMERATED {
- forwarded (0),
- notForwarded (1)}
-
-MatchType ::= ENUMERATED {
- inhibiting (0),
- enabling (1)}
-
-O-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-O-CauseValueCriteria) OF
- CauseValue
-
-T-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-T-CauseValueCriteria) OF
- CauseValue
-
-maxNumOfCAMEL-O-CauseValueCriteria INTEGER ::= 5
-
-maxNumOfCAMEL-T-CauseValueCriteria INTEGER ::= 5
-
-CauseValue ::= OCTET STRING (SIZE(1))
--- Type extracted from Cause parameter in ITU-T Recommendation Q.763.
--- For the use of cause value refer to ITU-T Recommendation Q.850.
-
-
-DefaultCallHandling ::= ENUMERATED {
- continueCall (0) ,
- releaseCall (1) ,
- ...}
- -- exception handling:
- -- reception of values in range 2-31 shall be treated as "continueCall"
- -- reception of values greater than 31 shall be treated as "releaseCall"
-
-CamelCapabilityHandling ::= INTEGER(1..16)
- -- value 1 = CAMEL phase 1,
- -- value 2 = CAMEL phase 2,
- -- value 3 = CAMEL Phase 3:
- -- reception of values greater than 3 shall be treated as CAMEL phase 3.
-
-SupportedCamelPhases ::= BIT STRING {
- phase1 (0),
- phase2 (1) ,
- phase3 (2) } (SIZE (1..16))
--- A node shall mark in the BIT STRING all CAMEL Phases it supports.
--- Other values than listed above shall be discarded.
-
-SMS-CSI ::= SEQUENCE {
- sms-CAMEL-TDP-DataList [0] SMS-CAMEL-TDP-DataList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when SMS-CSI is sent to VLR/SGSN.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- SMS-CAMEL-TDP-Data and camelCapabilityHandling shall be present in
--- the SMS-CSI sequence.
--- If SMS-CSI is segmented, sms-CAMEL-TDP-DataList and camelCapabilityHandling shall be
--- present in the first segment
-
-SMS-CAMEL-TDP-DataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- SMS-CAMEL-TDP-Data
--- SMS-CAMEL-TDP-DataList shall not contain more than one instance of
--- SMS-CAMEL-TDP-Data containing the same value for sms-TriggerDetectionPoint.
-
-SMS-CAMEL-TDP-Data ::= SEQUENCE {
- sms-TriggerDetectionPoint [0] SMS-TriggerDetectionPoint,
- serviceKey [1] ServiceKey,
- gsmSCF-Address [2] ISDN-AddressString,
- defaultSMS-Handling [3] DefaultSMS-Handling,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...
- }
-
-SMS-TriggerDetectionPoint ::= ENUMERATED {
- sms-CollectedInfo (1),
- ... }
--- exception handling:
--- For SMS-CAMEL-TDP-Data sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- SMS-CAMEL-TDP-Data sequence.
-
-DefaultSMS-Handling ::= ENUMERATED {
- continueTransaction (0) ,
- releaseTransaction (1) ,
- ...}
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueTransaction"
--- reception of values greater than 31 shall be treated as "releaseTransaction"
-
-M-CSI ::= SEQUENCE {
- mobilityTriggers MobilityTriggers,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- notificationToCSE [2] NULL OPTIONAL,
- csi-Active [3] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when M-CSI is sent to VLR.
--- They may only be included in ATSI/ATM ack/NSDC message.
-
-MobilityTriggers ::= SEQUENCE SIZE (1..maxNumOfMobilityTriggers) OF
- MM-Code
-
-maxNumOfMobilityTriggers INTEGER ::= 10
-
-MM-Code ::= OCTET STRING (SIZE (1))
--- This type is used to indicate a Mobility Management event.
--- Actions for the following M-Code values are defined in CAMEL Phase 3:
---
--- Location-update-in-same-VLR MM-Code ::= '00000000'B
--- Location-update-to-other-VLR MM-Code ::= '00000001'B
--- IMSI-Attach MM-Code ::= '00000010'B
--- MS-initiated-IMSI-Detach MM-Code ::= '00000011'B
--- Network-initiated-IMSI-Detach MM-Code ::= '00000100'B
---
--- If any other MM-code is received in M-CSI, then that MM-code shall be
--- ignored.
-
-T-CSI ::= SEQUENCE {
- t-BcsmCamelTDPDataList T-BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL,
- notificationToCSE [1] NULL OPTIONAL,
- csi-Active [2] NULL OPTIONAL}
--- notificationToCSE and csi-Active shall not be present when VT-CSI/T-CSI is sent
--- to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
-
-T-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- T-BcsmCamelTDPData
- --- T-BcsmCamelTDPDataList shall not contain more than one instance of
- --- T-BcsmCamelTDPData containing the same value for t-BcsmTriggerDetectionPoint.
- --- For CAMEL Phase 2, this means that only one instance of T-BcsmCamelTDPData is
- --- allowed
- --- with t-BcsmTriggerDetectionPoint being equal to DP12.
- --- For CAMEL Phase 3, more TDP�s are allowed.
-
-T-BcsmCamelTDPData ::= SEQUENCE {
- t-BcsmTriggerDetectionPoint T-BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- defaultCallHandling [1] DefaultCallHandling,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-T-BcsmTriggerDetectionPoint ::= ENUMERATED {
- termAttemptAuthorized (12),
- ... ,
- tBusy (13),
- tNoAnswer (14)}
- -- exception handling:
- -- For T-BcsmCamelTDPData sequences containing this parameter with any other
- -- value than the ones listed above, the receiver shall ignore the whole
- -- T-BcsmCamelTDPData sequence.
-
-
--- failure report types
-
-FailureReportArg ::= SEQUENCE {
- imsi [0] IMSI,
- ggsn-Number [1] ISDN-AddressString ,
- ggsn-Address [2] GSN-Address OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-FailureReportRes ::= SEQUENCE {
- ggsn-Address [0] GSN-Address OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
--- gprs notification types
-
-NoteMsPresentForGprsArg ::= SEQUENCE {
- imsi [0] IMSI,
- sgsn-Address [1] GSN-Address,
- ggsn-Address [2] GSN-Address OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-NoteMsPresentForGprsRes ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-
--- fault recovery types
-
-ResetArg ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- hlr-List HLR-List OPTIONAL,
- ...}
-
-RestoreDataArg ::= SEQUENCE {
- imsi IMSI,
- lmsi LMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- vlr-Capability [6] VLR-Capability OPTIONAL }
-
-RestoreDataRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- msNotReachable NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- VBS/VGCS types
-VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF
- VoiceBroadcastData
-
-VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF
- VoiceGroupCallData
-
-maxNumOfVBSGroupIds INTEGER ::= 50
-
-maxNumOfVGCSGroupIds INTEGER ::= 50
-
-VoiceGroupCallData ::= SEQUENCE {
- groupId GroupId,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VoiceBroadcastData ::= SEQUENCE {
- groupid GroupId,
- broadcastInitEntitlement NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-GroupId ::= OCTET STRING (SIZE (3))
- -- Refers to the Group Identification as specified in GSM TS 03.03
- -- and 03.68/ 03.69
-
--- provide subscriber info types
-
-ProvideSubscriberInfoArg ::= SEQUENCE {
- imsi [0] IMSI,
- lmsi [1] LMSI OPTIONAL,
- requestedInfo [2] RequestedInfo,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-ProvideSubscriberInfoRes ::= SEQUENCE {
- subscriberInfo SubscriberInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SubscriberInfo ::= SEQUENCE {
- locationInformation [0] LocationInformation OPTIONAL,
- subscriberState [1] SubscriberState OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-RequestedInfo ::= SEQUENCE {
- locationInformation [0] NULL OPTIONAL,
- subscriberState [1] NULL OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- currentLocation [3] NULL OPTIONAL }
--- currentLocation shall not be present if locationInformation
--- is not present in the RequestedInfo parameter
-
-LocationInformation ::= SEQUENCE {
- ageOfLocationInformation AgeOfLocationInformation OPTIONAL,
- geographicalInformation [0] GeographicalInformation OPTIONAL,
- vlr-number [1] ISDN-AddressString OPTIONAL,
- locationNumber [2] LocationNumber OPTIONAL,
- cellGlobalIdOrServiceAreaIdOrLAI [3] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ... ,
- selectedLSA-Id [5] LSAIdentity OPTIONAL,
- msc-Number [6] ISDN-AddressString OPTIONAL,
- geodeticInformation [7] GeodeticInformation OPTIONAL,
- currentLocationRetrieved [8] NULL OPTIONAL,
- sai-Present [9] NULL OPTIONAL }
--- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
--- a Service Area Identity.
--- currentLocationRetrieved shall be present
--- if the location information were retrieved after a successfull paging.
-
-GeographicalInformation ::= OCTET STRING (SIZE (8))
--- Refers to geographical Information defined in GSM 03.32.
--- Only the description of an ellipsoid point with uncertainty circle
--- as specified in GSM 03.32 is allowed to be used
--- The internal structure according to GSM 03.32 is as follows:
--- Type of shape (ellipsoid point with uncertainty circle) 1 octet
--- Degrees of Latitude 3 octets
--- Degrees of Longitude 3 octets
--- Uncertainty code 1 octet
-
-GeodeticInformation ::= OCTET STRING (SIZE (10))
--- Refers to Calling Geodetic Location defined in Q.763 (1999).
--- Only the description of an ellipsoid point with uncertainty circle
--- as specified in Q.763 (1999) is allowed to be used
--- The internal structure according to Q.763 (1999) is as follows:
--- Screening and presentation indicators 1 octet
--- Type of shape (ellipsoid point with uncertainty circle) 1 octet
--- Degrees of Latitude 3 octets
--- Degrees of Longitude 3 octets
--- Uncertainty code 1 octet
--- Confidence 1 octet
-
-LocationNumber ::= OCTET STRING (SIZE (2..10))
- -- the internal structure is defined in CCITT Rec Q.763
-
-SubscriberState ::= CHOICE {
- assumedIdle [0] NULL,
- camelBusy [1] NULL,
- netDetNotReachable NotReachableReason,
- notProvidedFromVLR [2] NULL}
-
-NotReachableReason ::= ENUMERATED {
- msPurged (0),
- imsiDetached (1),
- restrictedArea (2),
- notRegistered (3)}
-
--- any time interrogation info types
-
-AnyTimeInterrogationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- requestedInfo [1] RequestedInfo,
- gsmSCF-Address [3] ISDN-AddressString,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-AnyTimeInterrogationRes ::= SEQUENCE {
- subscriberInfo SubscriberInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-
--- any time information handling types
-
-AnyTimeSubscriptionInterrogationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- requestedSubscriptionInfo [1] RequestedSubscriptionInfo,
- gsmSCF-Address [2] ISDN-AddressString,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- longFTN-Supported [4] NULL OPTIONAL,
- ...}
-
-AnyTimeSubscriptionInterrogationRes ::= SEQUENCE {
- callForwardingData [1] CallForwardingData OPTIONAL,
- callBarringData [2] CallBarringData OPTIONAL,
- odb-Info [3] ODB-Info OPTIONAL,
- camel-SubscriptionInfo [4] CAMEL-SubscriptionInfo OPTIONAL,
- supportedVLR-CAMEL-Phases [5] SupportedCamelPhases OPTIONAL,
- supportedSGSN-CAMEL-Phases [6] SupportedCamelPhases OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...}
-
-RequestedSubscriptionInfo ::= SEQUENCE {
- requestedSS-Info [1] SS-ForBS-Code OPTIONAL,
- odb [2] NULL OPTIONAL,
- requestedCAMEL-SubscriptionInfo [3] RequestedCAMEL-SubscriptionInfo OPTIONAL,
- supportedVLR-CAMEL-Phases [4] NULL OPTIONAL,
- supportedSGSN-CAMEL-Phases [5] NULL OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...}
-
-RequestedCAMEL-SubscriptionInfo ::= ENUMERATED {
- o-CSI (0),
- t-CSI (1),
- vt-CSI (2),
- tif-CSI (3),
- gprs-CSI (4),
- sms-CSI (5),
- ss-CSI (6),
- m-CSI (7),
- d-csi (8)}
-
-CallForwardingData ::= SEQUENCE {
- forwardingFeatureList Ext-ForwFeatureList,
- notificationToCSE NULL OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CallBarringData ::= SEQUENCE {
- callBarringFeatureList Ext-CallBarFeatureList,
- password Password,
- wrongPasswordAttemptsCounter WrongPasswordAttemptsCounter,
- notificationToCSE NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-WrongPasswordAttemptsCounter ::= INTEGER (0..4)
-
-ODB-Info ::= SEQUENCE {
- odb-Data ODB-Data,
- notificationToCSE NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CAMEL-SubscriptionInfo ::= SEQUENCE {
- o-CSI [0] O-CSI OPTIONAL,
- o-BcsmCamelTDP-CriteriaList [1] O-BcsmCamelTDPCriteriaList OPTIONAL,
- d-CSI [2] D-CSI OPTIONAL,
- t-CSI [3] T-CSI OPTIONAL,
- t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- vt-CSI [5] T-CSI OPTIONAL,
- vt-BCSM-CAMEL-TDP-CriteriaList [6] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- tif-CSI [7] NULL OPTIONAL,
- tif-CSI-NotificationToCSE [8] NULL OPTIONAL,
- gprs-CSI [9] GPRS-CSI OPTIONAL,
- sms-CSI [10] SMS-CSI OPTIONAL,
- ss-CSI [11] SS-CSI OPTIONAL,
- m-CSI [12] M-CSI OPTIONAL,
- extensionContainer [13] ExtensionContainer OPTIONAL,
- ...}
-
-AnyTimeModificationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- gsmSCF-Address [1] ISDN-AddressString,
- modificationRequestFor-CF-Info [2] ModificationRequestFor-CF-Info OPTIONAL,
- modificationRequestFor-CB-Info [3] ModificationRequestFor-CB-Info OPTIONAL,
- modificationRequestFor-CSI [4] ModificationRequestFor-CSI OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- longFTN-Supported [6] NULL OPTIONAL,
- ...}
-
-AnyTimeModificationRes ::= SEQUENCE {
- ss-InfoFor-CSE [0] Ext-SS-InfoFor-CSE OPTIONAL,
- camel-SubscriptionInfo [1] CAMEL-SubscriptionInfo OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-CF-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- basicService [1] Ext-BasicServiceCode OPTIONAL,
- ss-Status [2] Ext-SS-Status OPTIONAL,
- forwardedToNumber [3] AddressString OPTIONAL,
- forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL,
- noReplyConditionTime [5] Ext-NoRepCondTime OPTIONAL,
- modifyNotificationToCSE [6] ModificationInstruction OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-CB-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- basicService [1] Ext-BasicServiceCode OPTIONAL,
- ss-Status [2] Ext-SS-Status OPTIONAL,
- password [3] Password OPTIONAL,
- wrongPasswordAttemptsCounter [4] WrongPasswordAttemptsCounter OPTIONAL,
- modifyNotificationToCSE [5] ModificationInstruction OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-CSI ::= SEQUENCE {
- requestedCamel-SubscriptionInfo [0] RequestedCAMEL-SubscriptionInfo,
- modifyNotificationToCSE [1] ModificationInstruction OPTIONAL,
- modifyCSI-State [2] ModificationInstruction OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationInstruction ::= ENUMERATED {
- deactivate (0),
- activate (1)}
-
--- subscriber data modification notification types
-
-NoteSubscriberDataModifiedArg ::= SEQUENCE {
- imsi IMSI,
- msisdn ISDN-AddressString,
- forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE OPTIONAL,
- callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE OPTIONAL,
- odb-Info [2] ODB-Info OPTIONAL,
- camel-SubscriptionInfo [3] CAMEL-SubscriptionInfo OPTIONAL,
- allInformationSent [4] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-NoteSubscriberDataModifiedRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-
--- mobility management event notificatioon info types
-
-NoteMM-EventArg::= SEQUENCE {
- serviceKey ServiceKey,
- eventMet [0] MM-Code,
- imsi [1] IMSI,
- msisdn [2] ISDN-AddressString,
- locationInformation [3] LocationInformation OPTIONAL,
- supportedCAMELPhases [5] SupportedCamelPhases OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...}
-
-NoteMM-EventRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-SS-InfoFor-CSE ::= CHOICE {
- forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE,
- callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE
- }
-
-Ext-ForwardingInfoFor-CSE ::= SEQUENCE {
- ss-Code [0] SS-Code,
- forwardingFeatureList [1] Ext-ForwFeatureList,
- notificationToCSE [2] NULL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-CallBarringInfoFor-CSE ::= SEQUENCE {
- ss-Code [0] SS-Code,
- callBarringFeatureList [1] Ext-CallBarFeatureList,
- password [2] Password,
- wrongPasswordAttemptsCounter [3] WrongPasswordAttemptsCounter,
- notificationToCSE [4] NULL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-14-4.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-14-4.asn
deleted file mode 100644
index d545a746ec..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-14-4.asn
+++ /dev/null
@@ -1,66 +0,0 @@
--- module(Mvrasn-14-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Supplementary Service data types".
---
--- ASN.1 module: "MAP-SS-DataTypes".
---
--- =============================================================================
-
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-14-4
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- SS-SubscriptionOption,
- SS-List,
- maxNumOfSS
-;
-
-IMPORTS
-
- SS-Code
-FROM Mvrasn-15-4
-
-;
-
-SS-SubscriptionOption ::= CHOICE {
- cliRestrictionOption [2] CliRestrictionOption,
- overrideCategory [1] OverrideCategory}
-
-CliRestrictionOption ::= ENUMERATED {
- permanent (0),
- temporaryDefaultRestricted (1),
- temporaryDefaultAllowed (2)}
-
-OverrideCategory ::= ENUMERATED {
- overrideEnabled (0),
- overrideDisabled (1)}
-
-SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- SS-Code
-
-maxNumOfSS INTEGER ::= 30
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-14-6.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-14-6.asn
deleted file mode 100644
index 3b4a827776..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-14-6.asn
+++ /dev/null
@@ -1,352 +0,0 @@
--- module(Mvrasn-14-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Supplementary Service data types".
---
--- ASN.1 module: "MAP-SS-DataTypes".
---
--- =============================================================================
-
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010813 etord First draft, based on GSM 29.002 v. 3.8.0.
--- ..............................................................
-
-Mvrasn-14-6
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- RegisterSS-Arg,
- SS-Info,
- SS-Status,
- SS-SubscriptionOption,
- SS-ForBS-Code,
- InterrogateSS-Res,
- USSD-Arg,
- USSD-Res,
- USSD-DataCodingScheme,
- USSD-String,
- Password,
- GuidanceInfo,
- SS-List,
- SS-InfoList,
- OverrideCategory,
- CliRestrictionOption,
- NoReplyConditionTime,
- ForwardingOptions,
- maxNumOfSS,
- SS-Data,
- SS-InvocationNotificationArg,
- SS-InvocationNotificationRes,
- CCBS-Feature,
- RegisterCC-EntryArg,
- RegisterCC-EntryRes,
- EraseCC-EntryArg,
- EraseCC-EntryRes
-;
-
-IMPORTS
- AddressString,
- ISDN-AddressString,
- ISDN-SubaddressString,
- FTN-AddressString,
- IMSI,
- BasicServiceCode,
- AlertingPattern,
- EMLPP-Priority,
- MaxMC-Bearers,
- MC-Bearers,
- ExternalSignalInfo
-FROM Mvrasn-18-6
-
- ExtensionContainer
-FROM Mvrasn-21-4
-
- SS-Code
-FROM Mvrasn-15-6
-;
-
-RegisterSS-Arg ::= SEQUENCE {
- ss-Code SS-Code,
- basicService BasicServiceCode OPTIONAL,
- forwardedToNumber [4] AddressString OPTIONAL,
- forwardedToSubaddress [6] ISDN-SubaddressString OPTIONAL,
- noReplyConditionTime [5] NoReplyConditionTime OPTIONAL,
- ...,
- defaultPriority [7] EMLPP-Priority OPTIONAL,
- nbrUser [8] MC-Bearers OPTIONAL,
- longFTN-Supported [9] NULL OPTIONAL }
-
-NoReplyConditionTime ::= INTEGER (5..30)
-
-SS-Info ::= CHOICE {
- forwardingInfo [0] ForwardingInfo,
- callBarringInfo [1] CallBarringInfo,
- ss-Data [3] SS-Data}
-
-ForwardingInfo ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- forwardingFeatureList ForwardingFeatureList,
- ...}
-
-ForwardingFeatureList ::=
- SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- ForwardingFeature
-
-ForwardingFeature ::= SEQUENCE {
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] ForwardingOptions OPTIONAL,
- noReplyConditionTime [7] NoReplyConditionTime OPTIONAL,
- ...,
- longForwardedToNumber [9] FTN-AddressString OPTIONAL }
-
-SS-Status ::= OCTET STRING (SIZE (1))
-
- -- bits 8765: 0000 (unused)
- -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
- -- representing supplementary service state information
- -- as defined in TS GSM 03.11
-
- -- bit 4: "Q bit"
-
- -- bit 3: "P bit"
-
- -- bit 2: "R bit"
-
- -- bit 1: "A bit"
-
-ForwardingOptions ::= OCTET STRING (SIZE (1))
-
- -- bit 8: notification to forwarding party
- -- 0 no notification
- -- 1 notification
-
- -- bit 7: redirecting presentation
- -- 0 no presentation
- -- 1 presentation
-
- -- bit 6: notification to calling party
- -- 0 no notification
- -- 1 notification
-
- -- bit 5: 0 (unused)
-
- -- bits 43: forwarding reason
- -- 00 ms not reachable
- -- 01 ms busy
- -- 10 no reply
- -- 11 unconditional when used in a SRI Result,
- -- or call deflection when used in a RCH Argument
- -- bits 21: 00 (unused)
-
-CallBarringInfo ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- callBarringFeatureList CallBarringFeatureList,
- ...}
-
-CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- CallBarringFeature
-
-CallBarringFeature ::= SEQUENCE {
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- ...}
-
-SS-Data ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
- basicServiceGroupList BasicServiceGroupList OPTIONAL,
- ...,
- defaultPriority EMLPP-Priority OPTIONAL,
- nbrUser [5] MC-Bearers OPTIONAL
- }
-
-SS-SubscriptionOption ::= CHOICE {
- cliRestrictionOption [2] CliRestrictionOption,
- overrideCategory [1] OverrideCategory}
-
-CliRestrictionOption ::= ENUMERATED {
- permanent (0),
- temporaryDefaultRestricted (1),
- temporaryDefaultAllowed (2)}
-
-OverrideCategory ::= ENUMERATED {
- overrideEnabled (0),
- overrideDisabled (1)}
-
-SS-ForBS-Code ::= SEQUENCE {
- ss-Code SS-Code,
- basicService BasicServiceCode OPTIONAL,
- ...,
- longFTN-Supported [4] NULL OPTIONAL }
-
-GenericServiceInfo ::= SEQUENCE {
- ss-Status SS-Status,
- cliRestrictionOption CliRestrictionOption OPTIONAL,
- ...,
- maximumEntitledPriority [0] EMLPP-Priority OPTIONAL,
- defaultPriority [1] EMLPP-Priority OPTIONAL,
- ccbs-FeatureList [2] CCBS-FeatureList OPTIONAL,
- nbrSB [3] MaxMC-Bearers OPTIONAL,
- nbrUser [4] MC-Bearers OPTIONAL,
- nbrSN [5] MC-Bearers OPTIONAL }
-
-CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF
- CCBS-Feature
-
-maxNumOfCCBS-Requests INTEGER ::= 5
-
-CCBS-Feature ::= SEQUENCE {
- ccbs-Index [0] CCBS-Index OPTIONAL,
- b-subscriberNumber [1] ISDN-AddressString OPTIONAL,
- b-subscriberSubaddress [2] ISDN-SubaddressString OPTIONAL,
- basicServiceGroup [3] BasicServiceCode OPTIONAL,
- ...}
-
-CCBS-Index ::= INTEGER (1..maxNumOfCCBS-Requests)
-
-InterrogateSS-Res ::= CHOICE {
- ss-Status [0] SS-Status,
- basicServiceGroupList [2] BasicServiceGroupList,
- forwardingFeatureList [3] ForwardingFeatureList,
- genericServiceInfo [4] GenericServiceInfo }
-
-USSD-Arg ::= SEQUENCE {
- ussd-DataCodingScheme USSD-DataCodingScheme,
- ussd-String USSD-String,
- ... ,
- alertingPattern AlertingPattern OPTIONAL,
- msisdn [0] ISDN-AddressString OPTIONAL }
-
-USSD-Res ::= SEQUENCE {
- ussd-DataCodingScheme USSD-DataCodingScheme,
- ussd-String USSD-String,
- ...}
-
-USSD-DataCodingScheme ::= OCTET STRING (SIZE (1))
- -- The structure of the USSD-DataCodingScheme is defined by
- -- the Cell Broadcast Data Coding Scheme as described in
- -- TS GSM 03.38
-
-USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength))
- -- The structure of the contents of the USSD-String is dependent
- -- on the USSD-DataCodingScheme as described in TS GSM 03.38.
-
-maxUSSD-StringLength INTEGER ::= 160
-
-Password ::= NumericString
- (FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"))
- (SIZE (4))
-
-GuidanceInfo ::= ENUMERATED {
- enterPW (0),
- enterNewPW (1),
- enterNewPW-Again (2)}
- -- How this information is really delivered to the subscriber
- -- (display, announcement, ...) is not part of this
- -- specification.
-
-SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- SS-Code
-
-maxNumOfSS INTEGER ::= 30
-
-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- SS-Info
-
-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- BasicServiceCode
-
-maxNumOfBasicServiceGroups INTEGER ::= 13
-
-SS-InvocationNotificationArg ::= SEQUENCE {
- imsi [0] IMSI,
- msisdn [1] ISDN-AddressString,
- ss-Event [2] SS-Code,
- -- The following SS-Code values are allowed :
- -- ect SS-Code ::= '00110001'B
- -- multiPTY SS-Code ::= '01010001'B
- -- cd SS-Code ::= '00100100'B
- -- ccbs SS-Code ::= '01000100'B
- ss-EventSpecification [3] SS-EventSpecification OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...,
- b-subscriberNumber [5] ISDN-AddressString OPTIONAL,
- ccbs-RequestState [6] CCBS-RequestState OPTIONAL
- }
-
-CCBS-RequestState ::= ENUMERATED {
- request (0),
- recall (1),
- active (2),
- completed (3),
- suspended (4),
- frozen (5),
- deleted (6)
- }
-
-SS-InvocationNotificationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...
- }
-
-SS-EventSpecification ::= SEQUENCE SIZE (1..maxEventSpecification) OF
- AddressString
-
-maxEventSpecification INTEGER ::= 2
-
-RegisterCC-EntryArg ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ccbs-Data [1] CCBS-Data OPTIONAL,
- ...}
-
-CCBS-Data ::= SEQUENCE {
- ccbs-Feature [0] CCBS-Feature,
- translatedB-Number [1] ISDN-AddressString,
- serviceIndicator [2] ServiceIndicator OPTIONAL,
- callInfo [3] ExternalSignalInfo,
- networkSignalInfo [4] ExternalSignalInfo,
- ...}
-
-ServiceIndicator ::= BIT STRING {
- clir-invoked (0),
- camel-invoked (1)} (SIZE(2..32))
- -- exception handling:
- -- bits 2 to 31 shall be ignored if received and not understood
-
-RegisterCC-EntryRes ::= SEQUENCE {
- ccbs-Feature [0] CCBS-Feature OPTIONAL,
- ...}
-
-EraseCC-EntryArg ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ccbs-Index [1] CCBS-Index OPTIONAL,
- ...}
-
-EraseCC-EntryRes ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ss-Status [1] SS-Status OPTIONAL,
- ...}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-15-4.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-15-4.asn
deleted file mode 100644
index fed9f38d1a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-15-4.asn
+++ /dev/null
@@ -1,42 +0,0 @@
--- module(Mvrasn-15-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Supplementary service codes".
---
--- ASN.1 module: "MAP-SS-Code".
---
--- =============================================================================
-
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-15-4
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-SS-Code ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- supplementary service, a group of supplementary services, or
- -- all supplementary services. The services and abbreviations
- -- used are defined in TS GSM 02.04. The internal structure is
- -- defined as follows:
- --
- -- bits 87654321: group (bits 8765), and specific service
- -- (bits 4321)
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-15-6.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-15-6.asn
deleted file mode 100644
index b9813e8481..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-15-6.asn
+++ /dev/null
@@ -1,202 +0,0 @@
--- module(Mvrasn-15-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Supplementary service codes".
---
--- ASN.1 module: "MAP-SS-Code".
---
--- =============================================================================
-
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010813 etord First draft, based on GSM 29.002 v. 3.8.0.
--- ..............................................................
-
-Mvrasn-15-6
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-SS-Code ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- supplementary service, a group of supplementary services, or
- -- all supplementary services. The services and abbreviations
- -- used are defined in TS GSM 02.04. The internal structure is
- -- defined as follows:
- --
- -- bits 87654321: group (bits 8765), and specific service
- -- (bits 4321)
-
-allSS SS-Code ::= '00000000'B
- -- reserved for possible future use
- -- all SS
-
-allLineIdentificationSS SS-Code ::= '00010000'B
- -- reserved for possible future use
- -- all line identification SS
-clip SS-Code ::= '00010001'B
- -- calling line identification presentation
-clir SS-Code ::= '00010010'B
- -- calling line identification restriction
-colp SS-Code ::= '00010011'B
- -- connected line identification presentation
-colr SS-Code ::= '00010100'B
- -- connected line identification restriction
-mci SS-Code ::= '00010101'B
- -- reserved for possible future use
- -- malicious call identification
-
-allNameIdentificationSS SS-Code ::= '00011000'B
- -- all name identification SS
-cnap SS-Code ::= '00011001'B
- -- calling name presentation
-
- -- SS-Codes '00011010'B to '00011111'B are reserved for future
- -- NameIdentification Supplementary Service use.
-
-allForwardingSS SS-Code ::= '00100000'B
- -- all forwarding SS
-cfu SS-Code ::= '00100001'B
- -- call forwarding unconditional
-allCondForwardingSS SS-Code ::= '00101000'B
- -- all conditional forwarding SS
-cfb SS-Code ::= '00101001'B
- -- call forwarding on mobile subscriber busy
-cfnry SS-Code ::= '00101010'B
- -- call forwarding on no reply
-cfnrc SS-Code ::= '00101011'B
- -- call forwarding on mobile subscriber not reachable
-cd SS-Code ::= '00100100'B
- -- call deflection
-
-allCallOfferingSS SS-Code ::= '00110000'B
- -- reserved for possible future use
- -- all call offering SS includes also all forwarding SS
-ect SS-Code ::= '00110001'B
- -- explicit call transfer
-mah SS-Code ::= '00110010'B
- -- reserved for possible future use
- -- mobile access hunting
-
-allCallCompletionSS SS-Code ::= '01000000'B
- -- reserved for possible future use
- -- all Call completion SS
-cw SS-Code ::= '01000001'B
- -- call waiting
-hold SS-Code ::= '01000010'B
- -- call hold
-ccbs-A SS-Code ::= '01000011'B
- -- completion of call to busy subscribers, originating side
-ccbs-B SS-Code ::= '01000100'B
- -- completion of call to busy subscribers, destination side
- -- this SS-Code is used only in InsertSubscriberData and DeleteSubscriberData
-mc SS-Code ::= '01000101'B
- -- multicall
-
-allMultiPartySS SS-Code ::= '01010000'B
- -- reserved for possible future use
- -- all multiparty SS
-multiPTY SS-Code ::= '01010001'B
- -- multiparty
-
-allCommunityOfInterest-SS SS-Code ::= '01100000'B
- -- reserved for possible future use
- -- all community of interest SS
-cug SS-Code ::= '01100001'B
- -- closed user group
-
-allChargingSS SS-Code ::= '01110000'B
- -- reserved for possible future use
- -- all charging SS
-aoci SS-Code ::= '01110001'B
- -- advice of charge information
-aocc SS-Code ::= '01110010'B
- -- advice of charge charging
-
-allAdditionalInfoTransferSS SS-Code ::= '10000000'B
- -- reserved for possible future use
- -- all additional information transfer SS
-uus1 SS-Code ::= '10000001'B
- -- UUS1 user-to-user signalling
-uus2 SS-Code ::= '10000010'B
- -- UUS2 user-to-user signalling
-uus3 SS-Code ::= '10000011'B
- -- UUS3 user-to-user signalling
-
-allBarringSS SS-Code ::= '10010000'B
- -- all barring SS
-barringOfOutgoingCalls SS-Code ::= '10010001'B
- -- barring of outgoing calls
-baoc SS-Code ::= '10010010'B
- -- barring of all outgoing calls
-boic SS-Code ::= '10010011'B
- -- barring of outgoing international calls
-boicExHC SS-Code ::= '10010100'B
- -- barring of outgoing international calls except those directed
- -- to the home PLMN
-barringOfIncomingCalls SS-Code ::= '10011001'B
- -- barring of incoming calls
-baic SS-Code ::= '10011010'B
- -- barring of all incoming calls
-bicRoam SS-Code ::= '10011011'B
- -- barring of incoming calls when roaming outside home PLMN
- -- Country
-
-allPLMN-specificSS SS-Code ::= '11110000'B
-plmn-specificSS-1 SS-Code ::= '11110001'B
-plmn-specificSS-2 SS-Code ::= '11110010'B
-plmn-specificSS-3 SS-Code ::= '11110011'B
-plmn-specificSS-4 SS-Code ::= '11110100'B
-plmn-specificSS-5 SS-Code ::= '11110101'B
-plmn-specificSS-6 SS-Code ::= '11110110'B
-plmn-specificSS-7 SS-Code ::= '11110111'B
-plmn-specificSS-8 SS-Code ::= '11111000'B
-plmn-specificSS-9 SS-Code ::= '11111001'B
-plmn-specificSS-A SS-Code ::= '11111010'B
-plmn-specificSS-B SS-Code ::= '11111011'B
-plmn-specificSS-C SS-Code ::= '11111100'B
-plmn-specificSS-D SS-Code ::= '11111101'B
-plmn-specificSS-E SS-Code ::= '11111110'B
-plmn-specificSS-F SS-Code ::= '11111111'B
-
-allCallPrioritySS SS-Code ::= '10100000'B
- -- reserved for possible future use
- -- all call priority SS
-emlpp SS-Code ::= '10100001'B
- -- enhanced Multilevel Precedence Pre-emption (EMLPP) service
-
-allLCSPrivacyException SS-Code ::= '10110000'B
- -- all LCS Privacy Exception Classes
-universal SS-Code ::= '10110001'B
- -- allow location by any LCS client
-callrelated SS-Code ::= '10110010'B
- -- allow location by any value added LCS client to which a call
- -- is established from the target MS
-callunrelated SS-Code ::= '10110011'B
- -- allow location by designated external value added LCS clients
-plmnoperator SS-Code ::= '10110100'B
- -- allow location by designated PLMN operator LCS clients
-
-allMOLR-SS SS-Code ::= '11000000'B
- -- all Mobile Originating Location Request Classes
-basicSelfLocation SS-Code ::= '11000001'B
- -- allow an MS to request its own location
-autonomousSelfLocation SS-Code ::= '11000010'B
- -- allow an MS to perform self location without interaction
- -- with the PLMN for a predetermined period of time
-transferToThirdParty SS-Code ::= '11000011'B
- -- allow an MS to request transfer of its location to another LCS client
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-17-4.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-17-4.asn
deleted file mode 100644
index 29f3a0ff3b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-17-4.asn
+++ /dev/null
@@ -1,100 +0,0 @@
--- module(Mvrasn-17-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Error data types".
---
--- ASN.1 module: "MAP-ER-DataTypes".
---
--- =============================================================================
-
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-17-4
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- RoamingNotAllowedParam,
- SystemFailureParam,
- DataMissingParam,
- UnexpectedDataParam,
- UnknownSubscriberParam,
- UnidentifiedSubParam
-
-;
-
-IMPORTS
-
- ExtensionContainer
-FROM Mvrasn-21-4
-
- NetworkResource
-FROM Mvrasn-18-4
-
-;
-
-RoamingNotAllowedParam ::= SEQUENCE {
- roamingNotAllowedCause RoamingNotAllowedCause,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-RoamingNotAllowedCause ::= ENUMERATED {
- plmnRoamingNotAllowed (0),
- operatorDeterminedBarring (3)}
-
-SystemFailureParam ::= CHOICE {
- networkResource NetworkResource,
- -- networkResource must not be used in version 3
- extensibleSystemFailureParam ExtensibleSystemFailureParam
- -- extensibleSystemFailureParam must not be used in version <3
- }
-
-ExtensibleSystemFailureParam ::= SEQUENCE {
- networkResource NetworkResource OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-DataMissingParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnexpectedDataParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnknownSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- unknownSubscriberDiagnostic UnknownSubscriberDiagnostic OPTIONAL}
-
-UnknownSubscriberDiagnostic ::= ENUMERATED {
- imsiUnknown (0),
- gprsSubscriptionUnknown (1),
- ...}
- -- if unknown values are received in
- -- unknownSubscriberDiagnostic they shall be discarded
-
-UnidentifiedSubParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-18-4.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-18-4.asn
deleted file mode 100644
index f14ad46c5f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-18-4.asn
+++ /dev/null
@@ -1,215 +0,0 @@
--- module(Mvrasn-18-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Common data types".
---
--- ASN.1 module: "MAP-CommonDataTypes".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-18-4
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- general data types and values
- AddressString,
- ISDN-AddressString,
- maxISDN-AddressLength,
- ISDN-SubaddressString,
--- ExternalSignalInfo,
- LMSI,
-
- -- data types for numbering and identification
- IMSI,
- NetworkResource,
- NAEA-PreferredCI,
-
- -- data types for subscriber management
- Ext-BasicServiceCode,
- EMLPP-Info
-;
-
-IMPORTS
-
- ExtensionContainer
-FROM Mvrasn-21-4
-
- Ext-BearerServiceCode
-FROM Mvrasn-20-4
-
- Ext-TeleserviceCode
-FROM Mvrasn-19-4
-
-;
-
--- general data types
-
-TBCD-STRING ::= OCTET STRING
- -- This type (Telephony Binary Coded Decimal String) is used to
- -- represent several digits from 0 through 9, *, #, a, b, c, two
- -- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
- -- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
- -- as filler when there is an odd number of digits.
-
- -- bits 8765 of octet n encoding digit 2n
- -- bits 4321 of octet n encoding digit 2(n-1) +1
-
-AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
- -- This type is used to represent a number for addressing
- -- purposes. It is composed of
- -- a) one octet for nature of address, and numbering plan
- -- indicator.
- -- b) digits of an address encoded as TBCD-String.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits nature of address indicator and a 4 bits numbering
- -- plan indicator, encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: nature of address indicator
- -- 000 unknown
- -- 001 international number
- -- 010 national significant number
- -- 011 network specific number
- -- 100 subscriber number
- -- 101 reserved
- -- 110 abbreviated number
- -- 111 reserved for extension
-
- -- bits 4321: numbering plan indicator
- -- 0000 unknown
- -- 0001 ISDN/Telephony Numbering Plan (Rec CCITT E.164)
- -- 0010 spare
- -- 0011 data numbering plan (CCITT Rec X.121)
- -- 0100 telex numbering plan (CCITT Rec F.69)
- -- 0101 spare
- -- 0110 land mobile numbering plan (CCITT Rec E.212)
- -- 0111 spare
- -- 1000 national numbering plan
- -- 1001 private numbering plan
- -- 1111 reserved for extension
-
- -- all other values are reserved.
-
- -- b) The following octets representing digits of an address
- -- encoded as a TBCD-STRING.
-
-maxAddressLength INTEGER ::= 20
-
-ISDN-AddressString ::=
- AddressString (SIZE (1..maxISDN-AddressLength))
- -- This type is used to represent ISDN numbers.
-
-maxISDN-AddressLength INTEGER ::= 9
-
-ISDN-SubaddressString ::=
- OCTET STRING (SIZE (1..maxISDN-SubaddressLength))
- -- This type is used to represent ISDN subaddresses.
- -- It is composed of
- -- a) one octet for type of subaddress and odd/even indicator.
- -- b) 20 octets for subaddress information.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits type of subaddress and a one bit odd/even indicator,
- -- encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: type of subaddress
- -- 000 NSAP (X.213/ISO 8348 AD2)
- -- 010 User Specified
- -- All other values are reserved
-
- -- bit 4: odd/even indicator
- -- 0 even number of address signals
- -- 1 odd number of address signals
- -- The odd/even indicator is used when the type of subaddress
- -- is "user specified" and the coding is BCD.
-
- -- bits 321: 000 (unused)
-
- -- b) Subaddress information.
- -- The NSAP X.213/ISO8348AD2 address shall be formatted as specified
- -- by octet 4 which contains the Authority and Format Identifier
- -- (AFI). The encoding is made according to the "preferred binary
- -- encoding" as defined in X.213/ISO834AD2. For the definition
- -- of this type of subaddress, see CCITT Rec I.334.
-
- -- For User-specific subaddress, this field is encoded according
- -- to the user specification, subject to a maximum length of 20
- -- octets. When interworking with X.25 networks BCD coding should
- -- be applied.
-
-maxISDN-SubaddressLength INTEGER ::= 21
-
--- data types for numbering and identification
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
- -- digits of MCC, MNC, MSIN are concatenated in this order.
-
-LMSI ::= OCTET STRING (SIZE (4))
-
-NetworkResource ::= ENUMERATED {
- plmn (0),
- hlr (1),
- vlr (2),
- pvlr (3),
- controllingMSC (4),
- vmsc (5),
- eir (6),
- rss (7)}
-
-NAEA-PreferredCI ::= SEQUENCE {
- naea-PreferredCIC [0] NAEA-CIC,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-NAEA-CIC ::= OCTET STRING (SIZE (3))
- -- The internal structure is defined by the Carrier Identification
- -- parameter in ANSI T1.113.3. Carrier codes between "000" and "999" may
- -- be encoded as 3 digits using "000" to "999" or as 4 digits using
- -- "0000" to "0999". Carrier codes between "1000" and "9999" are encoded
- -- using 4 digits.
-
-
--- data types for subscriber management
-
-Ext-BasicServiceCode ::= CHOICE {
- ext-BearerService [2] Ext-BearerServiceCode,
- ext-Teleservice [3] Ext-TeleserviceCode}
-
-EMLPP-Info ::= SEQUENCE {
- maximumentitledPriority EMLPP-Priority,
- defaultPriority EMLPP-Priority,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-EMLPP-Priority ::= INTEGER (0..15)
- -- The mapping from the values A,B,0,1,2,3,4 to the integer-value is
- -- specified as follows where A is the highest and 4 is the lowest
- -- priority level
- -- the integer values 7-15 are spare and shall be mapped to value 4
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-18-6.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-18-6.asn
deleted file mode 100644
index 901fc0e057..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-18-6.asn
+++ /dev/null
@@ -1,515 +0,0 @@
--- module(Mvrasn-18-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Common data types".
---
--- ASN.1 module: "MAP-CommonDataTypes".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010813 etord First draft, based on GSM 29.002 v. 3.8.0.
--- ..............................................................
-
-Mvrasn-18-6
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- general data types and values
- AddressString,
- ISDN-AddressString,
- maxISDN-AddressLength,
- FTN-AddressString,
- ISDN-SubaddressString,
- ExternalSignalInfo,
- Ext-ExternalSignalInfo,
- AccessNetworkSignalInfo,
- SignalInfo,
- maxSignalInfoLength,
- AlertingPattern,
-
- -- data types for numbering and identification
- IMSI,
- TMSI,
- Identity,
- SubscriberId,
- IMEI,
- HLR-List,
- LMSI,
- GlobalCellId,
- NetworkResource,
- NAEA-PreferredCI,
- NAEA-CIC,
- ASCI-CallReference,
- SubscriberIdentity,
-
- -- data types for CAMEL
- CellGlobalIdOrServiceAreaIdOrLAI,
-
- -- data types for subscriber management
- BasicServiceCode,
- Ext-BasicServiceCode,
- EMLPP-Info,
- EMLPP-Priority,
- MC-SS-Info,
- MaxMC-Bearers,
- MC-Bearers,
- Ext-SS-Status,
-
- -- data types for geographic location
- AgeOfLocationInformation,
- LCSClientExternalID,
- LCSClientInternalID
-;
-
-IMPORTS
- TeleserviceCode,
- Ext-TeleserviceCode
-FROM Mvrasn-19-6
-
- BearerServiceCode,
- Ext-BearerServiceCode
-FROM Mvrasn-20-6
-
- SS-Code
-FROM Mvrasn-15-6
-
- ExtensionContainer
-FROM Mvrasn-21-4
-;
-
-
--- general data types
-
-TBCD-STRING ::= OCTET STRING
- -- This type (Telephony Binary Coded Decimal String) is used to
- -- represent several digits from 0 through 9, *, #, a, b, c, two
- -- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
- -- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
- -- as filler when there is an odd number of digits.
-
- -- bits 8765 of octet n encoding digit 2n
- -- bits 4321 of octet n encoding digit 2(n-1) +1
-
-AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
- -- This type is used to represent a number for addressing
- -- purposes. It is composed of
- -- a) one octet for nature of address, and numbering plan
- -- indicator.
- -- b) digits of an address encoded as TBCD-String.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits nature of address indicator and a 4 bits numbering
- -- plan indicator, encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: nature of address indicator
- -- 000 unknown
- -- 001 international number
- -- 010 national significant number
- -- 011 network specific number
- -- 100 subscriber number
- -- 101 reserved
- -- 110 abbreviated number
- -- 111 reserved for extension
-
- -- bits 4321: numbering plan indicator
- -- 0000 unknown
- -- 0001 ISDN/Telephony Numbering Plan (Rec CCITT E.164)
- -- 0010 spare
- -- 0011 data numbering plan (CCITT Rec X.121)
- -- 0100 telex numbering plan (CCITT Rec F.69)
- -- 0101 spare
- -- 0110 land mobile numbering plan (CCITT Rec E.212)
- -- 0111 spare
- -- 1000 national numbering plan
- -- 1001 private numbering plan
- -- 1111 reserved for extension
-
- -- all other values are reserved.
-
- -- b) The following octets representing digits of an address
- -- encoded as a TBCD-STRING.
-
-maxAddressLength INTEGER ::= 20
-
-ISDN-AddressString ::=
- AddressString (SIZE (1..maxISDN-AddressLength))
- -- This type is used to represent ISDN numbers.
-
-maxISDN-AddressLength INTEGER ::= 9
-
-FTN-AddressString ::=
- AddressString (SIZE (1..maxFTN-AddressLength))
- -- This type is used to represent forwarded-to numbers.
-
-maxFTN-AddressLength INTEGER ::= 15
-
-ISDN-SubaddressString ::=
- OCTET STRING (SIZE (1..maxISDN-SubaddressLength))
- -- This type is used to represent ISDN subaddresses.
- -- It is composed of
- -- a) one octet for type of subaddress and odd/even indicator.
- -- b) 20 octets for subaddress information.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits type of subaddress and a one bit odd/even indicator,
- -- encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: type of subaddress
- -- 000 NSAP (X.213/ISO 8348 AD2)
- -- 010 User Specified
- -- All other values are reserved
-
- -- bit 4: odd/even indicator
- -- 0 even number of address signals
- -- 1 odd number of address signals
- -- The odd/even indicator is used when the type of subaddress
- -- is "user specified" and the coding is BCD.
-
- -- bits 321: 000 (unused)
-
- -- b) Subaddress information.
- -- The NSAP X.213/ISO8348AD2 address shall be formatted as specified
- -- by octet 4 which contains the Authority and Format Identifier
- -- (AFI). The encoding is made according to the "preferred binary
- -- encoding" as defined in X.213/ISO834AD2. For the definition
- -- of this type of subaddress, see CCITT Rec I.334.
-
- -- For User-specific subaddress, this field is encoded according
- -- to the user specification, subject to a maximum length of 20
- -- octets. When interworking with X.25 networks BCD coding should
- -- be applied.
-
-maxISDN-SubaddressLength INTEGER ::= 21
-
-ExternalSignalInfo ::= SEQUENCE {
- protocolId ProtocolId,
- signalInfo SignalInfo,
- -- Information about the internal structure is given in
- -- subclause 7.6.9.
- extensionContainer ExtensionContainer OPTIONAL,
- -- extensionContainer must not be used in version 2
- ...}
-
-SignalInfo ::= OCTET STRING (SIZE (1..maxSignalInfoLength))
-
-maxSignalInfoLength INTEGER ::= 200
- -- This NamedValue represents the theoretical maximum number of octets which is
- -- available to carry a single instance of the SignalInfo data type,
- -- without requiring segmentation to cope with the network layer service.
- -- However, the actual maximum size available for an instance of the data
- -- type may be lower, especially when other information elements
- -- have to be included in the same component.
-
-ProtocolId ::= ENUMERATED {
- gsm-0408 (1),
- gsm-0806 (2),
- gsm-BSSMAP (3),
- -- Value 3 is reserved and must not be used
- ets-300102-1 (4)}
-
-Ext-ExternalSignalInfo ::= SEQUENCE {
- ext-ProtocolId Ext-ProtocolId,
- signalInfo SignalInfo,
- -- Information about the internal structure is given in
- -- subclause 7.6.9.10
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-ProtocolId ::= ENUMERATED {
- ets-300356 (1),
- ...
- }
--- exception handling:
--- For Ext-ExternalSignalInfo sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- Ext-ExternalSignalInfo sequence.
-
-AccessNetworkSignalInfo ::= SEQUENCE {
- accessNetworkProtocolId AccessNetworkProtocolId,
- signalInfo LongSignalInfo,
- -- Information about the internal structure is given in
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-LongSignalInfo ::= OCTET STRING (SIZE (1..maxLongSignalInfoLength))
-
-maxLongSignalInfoLength INTEGER ::= 2560
- -- This Named Value represents the maximum number of octets which is available
- -- to carry a single instance of the LongSignalInfo data type using
- -- White Book SCCP with the maximum number of segments.
- -- It takes account of the octets used by the lower layers of the protocol, and
- -- other information elements which may be included in the same component.
-
-
-AccessNetworkProtocolId ::= ENUMERATED {
- gsm-0806 (1),
- ts3G-25413 (2),
- ...}
- -- exception handling:
- -- For AccessNetworkSignalInfo sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- AccessNetworkSignalInfo sequence.
-
-AlertingPattern ::= OCTET STRING (SIZE (1) )
- -- This type is used to represent Alerting Pattern
-
- -- bits 8765 : 0000 (unused)
-
- -- bits 43 : type of Pattern
- -- 00 level
- -- 01 category
- -- 10 category
- -- all other values are reserved.
-
- -- bits 21 : type of alerting
-
-alertingLevel-0 AlertingPattern ::= '00000000'B
-alertingLevel-1 AlertingPattern ::= '00000001'B
-alertingLevel-2 AlertingPattern ::= '00000010'B
- -- all other values of Alerting level are reserved
- -- Alerting Levels are defined in GSM 02.07
-
-alertingCategory-1 AlertingPattern ::= '00000100'B
-alertingCategory-2 AlertingPattern ::= '00000101'B
-alertingCategory-3 AlertingPattern ::= '00000110'B
-alertingCategory-4 AlertingPattern ::= '00000111'B
-alertingCategory-5 AlertingPattern ::= '00001000'B
- -- all other values of Alerting Category are reserved
- -- Alerting categories are defined in GSM 02.07
-
-
--- data types for numbering and identification
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
- -- digits of MCC, MNC, MSIN are concatenated in this order.
-
-Identity ::= CHOICE {
- imsi IMSI,
- imsi-WithLMSI IMSI-WithLMSI}
-
-IMSI-WithLMSI ::= SEQUENCE {
- imsi IMSI,
- lmsi LMSI,
- -- a special value 00000000 indicates that the LMSI is not in use
- ...}
-
-ASCI-CallReference ::= TBCD-STRING (SIZE (1..8))
- -- digits of VGCS/VBC-area,Group-ID are concatenated in this order.
-
-
-TMSI ::= OCTET STRING (SIZE (1..4))
-
-SubscriberId ::= CHOICE {
- imsi [0] IMSI,
- tmsi [1] TMSI}
-
-IMEI ::= TBCD-STRING (SIZE (8))
- -- Refers to International Mobile Station Equipment Identity
- -- and Software Version Number (SVN) defined in TS GSM 03.03.
- -- If the SVN is not present the last octet shall contain the
- -- digit 0 and a filler.
- -- If present the SVN shall be included in the last octet.
-
-HLR-Id ::= IMSI
- -- leading digits of IMSI, i.e. (MCC, MNC, leading digits of
- -- MSIN) forming HLR Id defined in TS GSM 03.03.
-
-HLR-List ::= SEQUENCE SIZE (1..maxNumOfHLR-Id) OF
- HLR-Id
-
-maxNumOfHLR-Id INTEGER ::= 50
-
-LMSI ::= OCTET STRING (SIZE (4))
-
-GlobalCellId ::= OCTET STRING (SIZE (5..7))
- -- Refers to Cell Global Identification defined in TS GSM 03.03.
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to TS GSM 04.08
- -- octets 6 and 7 Cell Identity (CI) according to TS GSM 04.08
-
-NetworkResource ::= ENUMERATED {
- plmn (0),
- hlr (1),
- vlr (2),
- pvlr (3),
- controllingMSC (4),
- vmsc (5),
- eir (6),
- rss (7)}
-
-NAEA-PreferredCI ::= SEQUENCE {
- naea-PreferredCIC [0] NAEA-CIC,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-NAEA-CIC ::= OCTET STRING (SIZE (3))
- -- The internal structure is defined by the Carrier Identification
- -- parameter in ANSI T1.113.3. Carrier codes between �000� and �999� may
- -- be encoded as 3 digits using �000� to �999� or as 4 digits using
- -- �0000� to �0999�. Carrier codes between �1000� and �9999� are encoded
- -- using 4 digits.
-
-SubscriberIdentity ::= CHOICE {
- imsi [0] IMSI,
- msisdn [1] ISDN-AddressString
- }
-
-LCSClientExternalID ::= SEQUENCE {
- externalAddress [0] AddressString OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... }
-
-LCSClientInternalID ::= ENUMERATED {
- broadcastService (0),
- o-andM-HPLMN (1),
- o-andM-VPLMN (2),
- anonymousLocation (3),
- targetMSsubscribedService (4),
- ... }
--- for a CAMEL phase 3 PLMN operator client, the value targetMSsubscribedService shall be used
-
-
--- data types for CAMEL
-
-CellGlobalIdOrServiceAreaIdOrLAI ::= CHOICE {
- cellGlobalIdOrServiceAreaIdFixedLength [0] CellGlobalIdOrServiceAreaIdFixedLength,
- laiFixedLength [1] LAIFixedLength}
-
-CellGlobalIdOrServiceAreaIdFixedLength ::= OCTET STRING (SIZE (7))
- -- Refers to Cell Global Identification or Service Are Identification
- -- defined in 3G TS 23.003.
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to 3G TS 24.008
- -- octets 6 and 7 Cell Identity (CI) value or
- -- Service Area Code (SAC) value
- -- according to 3G TS 23.003
-
-LAIFixedLength ::= OCTET STRING (SIZE (5))
- -- Refers to Location Area Identification defined in TS GSM 03.03.
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to TS GSM 04.08
-
-
--- data types for subscriber management
-
-BasicServiceCode ::= CHOICE {
- bearerService [2] BearerServiceCode,
- teleservice [3] TeleserviceCode}
-
-Ext-BasicServiceCode ::= CHOICE {
- ext-BearerService [2] Ext-BearerServiceCode,
- ext-Teleservice [3] Ext-TeleserviceCode}
-
-EMLPP-Info ::= SEQUENCE {
- maximumentitledPriority EMLPP-Priority,
- defaultPriority EMLPP-Priority,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-EMLPP-Priority ::= INTEGER (0..15)
- -- The mapping from the values A,B,0,1,2,3,4 to the integer-value is
- -- specified as follows where A is the highest and 4 is the lowest
- -- priority level
- -- the integer values 7-15 are spare and shall be mapped to value 4
-
-priorityLevelA EMLPP-Priority ::= 6
-priorityLevelB EMLPP-Priority ::= 5
-priorityLevel0 EMLPP-Priority ::= 0
-priorityLevel1 EMLPP-Priority ::= 1
-priorityLevel2 EMLPP-Priority ::= 2
-priorityLevel3 EMLPP-Priority ::= 3
-priorityLevel4 EMLPP-Priority ::= 4
-
-
-MC-SS-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ss-Status [1] Ext-SS-Status,
- nbrSB [2] MaxMC-Bearers,
- nbrUser [3] MC-Bearers,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-MaxMC-Bearers ::= INTEGER (2..maxNumOfMC-Bearers)
-
-MC-Bearers ::= INTEGER (1..maxNumOfMC-Bearers)
-
-maxNumOfMC-Bearers INTEGER ::= 7
-
-
-Ext-SS-Status ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
- --
- -- bits 8765: 0000 (unused)
- -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
- -- representing supplementary service state information
- -- as defined in TS GSM 03.11
-
- -- bit 4: "Q bit"
-
- -- bit 3: "P bit"
-
- -- bit 2: "R bit"
-
- -- bit 1: "A bit"
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-
-
- -- data types for geographic location
-
-AgeOfLocationInformation ::= INTEGER (0..32767)
--- the value represents the elapsed time in minutes since the last
--- network contact of the mobile station (i.e. the actuality of the
--- location information).
--- value �0� indicates that the MS is currently in contact with the
--- network
--- value �32767� indicates that the location information is at least
--- 32767 minutes old
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-19-4.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-19-4.asn
deleted file mode 100644
index 3cb60d7131..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-19-4.asn
+++ /dev/null
@@ -1,53 +0,0 @@
--- module(Mvrasn-19-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Teleservice Codes".
---
--- ASN.1 module: "MAP-TS-Code".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-19-4
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-Ext-TeleserviceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- teleservice, a group of teleservices, or all teleservices. The
- -- services are defined in TS GSM 02.03.
- -- The internal structure is defined as follows:
-
- -- OCTET 1:
- -- bits 87654321: group (bits 8765) and specific service
- -- (bits 4321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
- -- Ext-TeleserviceCode includes all values defined for TeleserviceCode.
-
-
-allShortMessageServices Ext-TeleserviceCode ::= '00100000'B
-shortMessageMT-PP Ext-TeleserviceCode ::= '00100001'B
-shortMessageMO-PP Ext-TeleserviceCode ::= '00100010'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-19-6.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-19-6.asn
deleted file mode 100644
index 4a7c550deb..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-19-6.asn
+++ /dev/null
@@ -1,109 +0,0 @@
--- module(Mvrasn-19-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Teleservice Codes".
---
--- ASN.1 module: "MAP-TS-Code".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010813 etord First draft, based on GSM 29.002 v. 3.8.0.
--- ..............................................................
-
-
-Mvrasn-19-6
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-TeleserviceCode ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- teleservice, a group of teleservices, or all teleservices. The
- -- services are defined in TS GSM 02.03.
- -- The internal structure is defined as follows:
-
- -- bits 87654321: group (bits 8765) and specific service
- -- (bits 4321)
-
-Ext-TeleserviceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- teleservice, a group of teleservices, or all teleservices. The
- -- services are defined in TS GSM 02.03.
- -- The internal structure is defined as follows:
-
- -- OCTET 1:
- -- bits 87654321: group (bits 8765) and specific service
- -- (bits 4321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
- -- Ext-TeleserviceCode includes all values defined for TeleserviceCode.
-
-
-allTeleservices TeleserviceCode ::= '00000000'B
-
-allSpeechTransmissionServices TeleserviceCode ::= '00010000'B
-telephony TeleserviceCode ::= '00010001'B
-emergencyCalls TeleserviceCode ::= '00010010'B
-
-allShortMessageServices TeleserviceCode ::= '00100000'B
-shortMessageMT-PP TeleserviceCode ::= '00100001'B
-shortMessageMO-PP TeleserviceCode ::= '00100010'B
-
-allFacsimileTransmissionServices TeleserviceCode ::= '01100000'B
-facsimileGroup3AndAlterSpeech TeleserviceCode ::= '01100001'B
-automaticFacsimileGroup3 TeleserviceCode ::= '01100010'B
-facsimileGroup4 TeleserviceCode ::= '01100011'B
-
--- The following non-hierarchical Compound Teleservice Groups
--- are defined in TS GSM 02.30:
-allDataTeleservices TeleserviceCode ::= '01110000'B
- -- covers Teleservice Groups 'allFacsimileTransmissionServices'
- -- and 'allShortMessageServices'
-allTeleservices-ExeptSMS TeleserviceCode ::= '10000000'B
- -- covers Teleservice Groups 'allSpeechTransmissionServices' and
- -- 'allFacsimileTransmissionServices'
---
--- Compound Teleservice Group Codes are only used in call
--- independent supplementary service operations, i.e. they
--- are not used in InsertSubscriberData or in
--- DeleteSubscriberData messages.
-
-allVoiceGroupCallServices TeleserviceCode ::= '10010000'B
-voiceGroupCall TeleserviceCode ::= '10010001'B
-voiceBroadcastCall TeleserviceCode ::= '10010010'B
-
-allPLMN-specificTS TeleserviceCode ::= '11010000'B
-plmn-specificTS-1 TeleserviceCode ::= '11010001'B
-plmn-specificTS-2 TeleserviceCode ::= '11010010'B
-plmn-specificTS-3 TeleserviceCode ::= '11010011'B
-plmn-specificTS-4 TeleserviceCode ::= '11010100'B
-plmn-specificTS-5 TeleserviceCode ::= '11010101'B
-plmn-specificTS-6 TeleserviceCode ::= '11010110'B
-plmn-specificTS-7 TeleserviceCode ::= '11010111'B
-plmn-specificTS-8 TeleserviceCode ::= '11011000'B
-plmn-specificTS-9 TeleserviceCode ::= '11011001'B
-plmn-specificTS-A TeleserviceCode ::= '11011010'B
-plmn-specificTS-B TeleserviceCode ::= '11011011'B
-plmn-specificTS-C TeleserviceCode ::= '11011100'B
-plmn-specificTS-D TeleserviceCode ::= '11011101'B
-plmn-specificTS-E TeleserviceCode ::= '11011110'B
-plmn-specificTS-F TeleserviceCode ::= '11011111'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-20-4.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-20-4.asn
deleted file mode 100644
index 8b74c07b5a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-20-4.asn
+++ /dev/null
@@ -1,54 +0,0 @@
--- module(Mvrasn-20-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Bearer Service Codes".
---
--- ASN.1 module: "MAP-BS-Code".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-20-4
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-Ext-BearerServiceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- bearer service, a group of bearer services, or all bearer
- -- services. The services are defined in TS GSM 02.02.
- -- The internal structure is defined as follows:
- --
- -- OCTET 1:
- -- plmn-specific bearer services:
- -- bits 87654321: defined by the HPLMN operator
- --
- -- rest of bearer services:
- -- bit 8: 0 (unused)
- -- bits 7654321: group (bits 7654), and rate, if applicable
- -- (bits 321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
-
- -- Ext-BearerServiceCode includes all values defined for BearerServiceCode.
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-20-6.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-20-6.asn
deleted file mode 100644
index 6b56cb211f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-20-6.asn
+++ /dev/null
@@ -1,147 +0,0 @@
--- module(Mvrasn-20-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Bearer Service Codes".
---
--- ASN.1 module: "MAP-BS-Code".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010813 etord First draft, based on GSM 29.002 v. 3.8.0.
--- ..............................................................
-
-Mvrasn-20-6
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-BearerServiceCode ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- bearer service, a group of bearer services, or all bearer
- -- services. The services are defined in TS GSM 02.02.
- -- The internal structure is defined as follows:
- --
- -- plmn-specific bearer services:
- -- bits 87654321: defined by the HPLMN operator
-
- -- rest of bearer services:
- -- bit 8: 0 (unused)
- -- bits 7654321: group (bits 7654), and rate, if applicable
- -- (bits 321)
-
-Ext-BearerServiceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- bearer service, a group of bearer services, or all bearer
- -- services. The services are defined in TS GSM 02.02.
- -- The internal structure is defined as follows:
- --
- -- OCTET 1:
- -- plmn-specific bearer services:
- -- bits 87654321: defined by the HPLMN operator
- --
- -- rest of bearer services:
- -- bit 8: 0 (unused)
- -- bits 7654321: group (bits 7654), and rate, if applicable
- -- (bits 321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
-
- -- Ext-BearerServiceCode includes all values defined for BearerServiceCode.
-
-
-allBearerServices BearerServiceCode ::= '00000000'B
-
-allDataCDA-Services BearerServiceCode ::= '00010000'B
-dataCDA-300bps BearerServiceCode ::= '00010001'B
-dataCDA-1200bps BearerServiceCode ::= '00010010'B
-dataCDA-1200-75bps BearerServiceCode ::= '00010011'B
-dataCDA-2400bps BearerServiceCode ::= '00010100'B
-dataCDA-4800bps BearerServiceCode ::= '00010101'B
-dataCDA-9600bps BearerServiceCode ::= '00010110'B
-general-dataCDA BearerServiceCode ::= '00010111'B
-
-allDataCDS-Services BearerServiceCode ::= '00011000'B
-dataCDS-1200bps BearerServiceCode ::= '00011010'B
-dataCDS-2400bps BearerServiceCode ::= '00011100'B
-dataCDS-4800bps BearerServiceCode ::= '00011101'B
-dataCDS-9600bps BearerServiceCode ::= '00011110'B
-general-dataCDS BearerServiceCode ::= '00011111'B
-
-allPadAccessCA-Services BearerServiceCode ::= '00100000'B
-padAccessCA-300bps BearerServiceCode ::= '00100001'B
-padAccessCA-1200bps BearerServiceCode ::= '00100010'B
-padAccessCA-1200-75bps BearerServiceCode ::= '00100011'B
-padAccessCA-2400bps BearerServiceCode ::= '00100100'B
-padAccessCA-4800bps BearerServiceCode ::= '00100101'B
-padAccessCA-9600bps BearerServiceCode ::= '00100110'B
-general-padAccessCA BearerServiceCode ::= '00100111'B
-
-allDataPDS-Services BearerServiceCode ::= '00101000'B
-dataPDS-2400bps BearerServiceCode ::= '00101100'B
-dataPDS-4800bps BearerServiceCode ::= '00101101'B
-dataPDS-9600bps BearerServiceCode ::= '00101110'B
-general-dataPDS BearerServiceCode ::= '00101111'B
-
-allAlternateSpeech-DataCDA BearerServiceCode ::= '00110000'B
-
-allAlternateSpeech-DataCDS BearerServiceCode ::= '00111000'B
-
-allSpeechFollowedByDataCDA BearerServiceCode ::= '01000000'B
-
-allSpeechFollowedByDataCDS BearerServiceCode ::= '01001000'B
-
--- The following non-hierarchical Compound Bearer Service
--- Groups are defined in TS GSM 02.30:
-allDataCircuitAsynchronous BearerServiceCode ::= '01010000'B
- -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA" and
- -- "allSpeechFollowedByDataCDA"
-allAsynchronousServices BearerServiceCode ::= '01100000'B
- -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA",
- -- "allSpeechFollowedByDataCDA" and "allPadAccessCDA-Services"
-allDataCircuitSynchronous BearerServiceCode ::= '01011000'B
- -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS" and
- -- "allSpeechFollowedByDataCDS"
-allSynchronousServices BearerServiceCode ::= '01101000'B
- -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS",
- -- "allSpeechFollowedByDataCDS" and "allDataPDS-Services"
---
--- Compound Bearer Service Group Codes are only used in call
--- independent supplementary service operations, i.e. they
--- are not used in InsertSubscriberData or in
--- DeleteSubscriberData messages.
-
-allPLMN-specificBS BearerServiceCode ::= '11010000'B
-plmn-specificBS-1 BearerServiceCode ::= '11010001'B
-plmn-specificBS-2 BearerServiceCode ::= '11010010'B
-plmn-specificBS-3 BearerServiceCode ::= '11010011'B
-plmn-specificBS-4 BearerServiceCode ::= '11010100'B
-plmn-specificBS-5 BearerServiceCode ::= '11010101'B
-plmn-specificBS-6 BearerServiceCode ::= '11010110'B
-plmn-specificBS-7 BearerServiceCode ::= '11010111'B
-plmn-specificBS-8 BearerServiceCode ::= '11011000'B
-plmn-specificBS-9 BearerServiceCode ::= '11011001'B
-plmn-specificBS-A BearerServiceCode ::= '11011010'B
-plmn-specificBS-B BearerServiceCode ::= '11011011'B
-plmn-specificBS-C BearerServiceCode ::= '11011100'B
-plmn-specificBS-D BearerServiceCode ::= '11011101'B
-plmn-specificBS-E BearerServiceCode ::= '11011110'B
-plmn-specificBS-F BearerServiceCode ::= '11011111'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-21-4.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-21-4.asn
deleted file mode 100644
index 44e77a559d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-21-4.asn
+++ /dev/null
@@ -1,66 +0,0 @@
--- module(Mvrasn-21-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Extension data types".
---
--- ASN.1 module: "MAP-ExtensionDataTypes".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft including changes due to
--- incompatibilities of the ASN.1-ERLANG
--- compiler from OTP.
--- Based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-
--- =============================================================================
---
--- NOTE:
---
--- This module was changed compared to the original in the ETSI
--- standard GSM 09.02 v. 6.1.0. The reason for this change was an
--- incompatibility of the used ASN.1-ERLANG compiler from OTP.
---
--- In GSM 09.02 v. 6.1.0 the data type 'ExtensionContainer' is partly
--- defined by the ASN.1 type 'CLASS', but the ASN.1-ERLANG compiler is
--- not able to handle such a 'CLASS' construct correctly. Therefore, and
--- since the content of a received 'ExtensionContainer' is not of further
--- interest at this stage of the project, the data type 'ExtensionContainer'
--- has been changed here.
---
--- The new definition of 'ExtensionContainer' is simply an ASN.1 'Extension'
--- ('...'). This definition allows to receive any kind of information
--- within the 'ExtensionContainer' without causing a crash of the
--- decoder when handling the respective message.
---
--- =============================================================================
-
-Mvrasn-21-4
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- ExtensionContainer;
-
-ExtensionContainer ::= SEQUENCE {
- ...}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-Constants-1.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-Constants-1.asn
deleted file mode 100644
index 7eaacdd335..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-Constants-1.asn
+++ /dev/null
@@ -1,85 +0,0 @@
--- module(Mvrasn-Constants-1).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "MAP Constants".
---
--- ASN.1 module: "MAP-Constants"
---
--- =============================================================================
-
--- =============================================================================
---
--- NOTE:
---
--- In GSM 09.02 v. 6.1.0 all ASN.1 modules have 'Object Identifier' included
--- to indicate these modules uniquely. To have a same kind of definite naming
--- convention, parts of the these 'Object Identifier' have been included in
--- the file names that store the respective ASN.1 modules.
---
--- Therefore, the file name "Mvrasn-20-4.asn" indicates moduls '20' in
--- version '4' (PHASE 3).
---
--- As there is no such 'Object Identifier' in GSM 09.02 v. 3.11.0,
--- the names for the ASN.1 files of the ASN.1 modules from
--- this standard version are selected by the author. They are chosen the way
--- that they are indicating the relation to those modules
--- from GSM 09.02 v. 3.11.0
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981015 eedkbu First draft. Based on GSM 09.02 v. 3.11.0)
--- ..............................................................
-
-
-Mvrasn-Constants-1
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
-
-maxNumberOfTeleServices,
-maxNumberOfBearerServices,
-maxNumberOfSupplServices,
-
-maxNumberOfCUG,
-maxNumberOfForwardingFeatures,
-maxNumberOfCallBarringFeatures,
-maxNumberOfHlrId,
-maxAddressLength,
-maxNumberOfSentParameters
-
-;
-
--- value assignment
-
-maxNumberOfTeleServices INTEGER ::= 20
-maxNumberOfBearerServices INTEGER ::= 50
-maxNumberOfSupplServices INTEGER ::= 30
-
-maxNumberOfCUG INTEGER ::= 10
-maxNumberOfForwardingFeatures INTEGER ::= 13
-maxNumberOfCallBarringFeatures INTEGER ::= 13
-maxNumberOfHlrId INTEGER ::= 50
-maxAddressLength INTEGER ::= 20
-
-
-maxNumberOfSentParameters INTEGER ::= 10
--- this named value should correspond to the maximum of
--- the maxNumberOfCUG and the maximum number of authentication
--- set which may be returned by a HLR plus 1.
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-DataTypes-1.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-DataTypes-1.asn
deleted file mode 100644
index 56b11852ae..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn-DataTypes-1.asn
+++ /dev/null
@@ -1,454 +0,0 @@
--- module(Mvrasn-DataTypes-1).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "MAP Data Types".
---
--- ASN.1 module: "MAP-DataTypes".
---
--- =============================================================================
-
--- =============================================================================
---
--- NOTE:
---
--- In GSM 09.02 v. 6.1.0 all ASN.1 modules have 'Object Identifier' included
--- to indicate these modules uniquely. To have a same kind of definite naming
--- convention, parts of the these 'Object Identifier' have been included in
--- the file names that store the respective ASN.1 modules.
---
--- Therefore, the file name "Mvrasn-20-4.asn" indicates moduls '20' in
--- version '4' (PHASE 3).
---
--- As there is no such 'Object Identifier' in GSM 09.02 v. 3.11.0,
--- the names for the ASN.1 files of the ASN.1 modules from
--- this standard version are selected by the author. They are chosen the way
--- that they are indicating the relation to those modules
--- from GSM 09.02 v. 3.11.0.
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 3.11.0.
--- ..............................................................
--- PA2 990114 etord Included Reset operation
--- ..............................................................
-
-Mvrasn-DataTypes-1
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-IMPORTS
--- imports upper boundaries for data types
-
- maxNumberOfTeleServices,
- maxNumberOfBearerServices,
- maxNumberOfSupplServices,
- maxNumberOfCUG,
- maxNumberOfForwardingFeatures,
- maxNumberOfCallBarringFeatures,
- maxNumberOfHlrId,
- maxAddressLength,
- maxNumberOfSentParameters
-FROM Mvrasn-Constants-1
-
-;
-
-
--- =========================================================
---
--- NOTE:
---
--- The data type "SendParameterArg" and "ResetArg" are not given in the
--- original GSM 09.02 v. 3.11.0 standard, but have been
--- introduced here for two reasons:
---
--- 1. In the OPERATION MACRO "SendParameters" is a PARAMETER (=ARGument) and
--- a RESULT defined. The ASN.1 en/decoder is not able to handle
--- the MACRO definition. Therefore, the new data type has been
--- introduced
---
--- 2. To align the documentation of the ASN.1 data types in
--- GSM 09.02 v. 3.11.0 with those of GSM 09.02 v. 6.1.0.
---
--- =========================================================
-
-SendParametersArg ::= SEQUENCE {
- subscriberId SubscriberId,
- requestParameters RequestParameters
- }
-
-ResetArg ::= SEQUENCE {
- networkResource NetworkResource,
- originatingEntityNumber IsdnAddressString,
- hlrId HlrList OPTIONAL
- }
-
-
--- common data types
-
-SentParameters ::= SEQUENCE
- SIZE(1..maxNumberOfSentParameters)
- OF SentParameter
-
-
-TBCD-STRING ::= OCTET STRING
- -- digits 0 through 9, two digits per octet,
- -- each digit encoded 0000 to 1001,
- -- 1111 used as filler when there is an odd number of digit.
-
-
-AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
- -- see internal description in section 6.4.1
-
-IsdnAddressString ::= AddressString (SIZE (1..10))
-
-IMSI ::= TBCD-STRING (SIZE (2..8))
- -- MCC, MNC, MSIN concatenated in this order
-
-TMSI ::= OCTET STRING (SIZE (1..4))
-
-
-SubscriberId ::= CHOICE {
- imsi [0] IMPLICIT IMSI,
- tmsi [1] IMPLICIT TMSI}
-
-
--- data types for numbering and identification
-
-HlrId ::= IMSI
- -- leading digits of IMSI
-
-HlrList ::= SEQUENCE
- SIZE(1.. maxNumberOfHlrId)
- OF HlrId
-
-
--- data types for subscriber management
-
---
-Category ::= OCTET STRING (SIZE (1))
- -- internal structure defined in CCITT Rec Q.763
-
-BearerServiceCode ::= OCTET STRING (SIZE (1))
- -- Internal structure according to table 6.4/1
- -- BIT 8 Transparency indicator (if applicable)
- -- 0 transparent
- -- 1 non transparent
-
- -- BIT 7654 Bearer service group
- -- 0001 3.1 kHz ex PLMN
- -- 0010 Circuit data asynchronous
- -- 0011 Circuit data synchronous
- -- 0100 PAD access c.d.a
- -- 0101 Packet data synchrounous
- -- 0110 Alternate speech/c.d.a
- -- 0111 Alternate speech c.d.s
- -- 1000 Speech followed by data c.d.a
- -- 1001 Speech followed by data c.d.s
- -- 1111 12.6 kb/s unrestricted digital
-
- -- BIT 321 Rate (when applicable)
- -- 000 Any
- -- 001 300-300 b/s
- -- 010 1200-1200 b/s
- -- 011 1200-75 b/s
- -- 100 2400-2400 b/s
- -- 101 4800-4800 b/s
- -- 110 9600-9600 b/s
-
-
- -- Bits 321 = 000 can be used to refer to all
- -- the bearer services of the corresponding group.
- -- Value "00000000" can be used to refer to all the defined
- -- bearer services.
- -- For the codes referring to a group or all bearer services
- -- the Transparency Indicator is not applicable and has to be set to "0"
-
-
-BearerServiceList ::= SEQUENCE
- SIZE(1 .. maxNumberOfBearerServices)
- OF BearerServiceCode
-
-
-TeleserviceCode ::= OCTET STRING (SIZE (1))
- -- Internal structure according to table 6.4/2
- -- Bit 8-5 encode the teleservice group
-
- -- Bit 4-1 = 0000 can be used to refer to all the
- -- teleservices of the corresponding group.
- -- Value "00000000" can be used to refer to all the defined
- -- teleservices
-
-TeleserviceList ::= SEQUENCE
- SIZE(1 .. maxNumberOfTeleServices)
- OF TeleserviceCode
-
-
-BasicServiceCode ::= CHOICE {
- bearerService [2] IMPLICIT BearerServiceCode,
- teleservice [3] IMPLICIT TeleserviceCode}
-
---
-SubscriberStatus ::= ENUMERATED{
- serviceGranted (0),
- operatorOGCallBarring (1)}
-
- -- Data types for supplementary services
-
-SS-Code ::= OCTET STRING (SIZE(1))
- -- Internal structure according to
- -- table 6.4/3
- -- Bit 8-5
- -- 0001 Number Identification services
- -- 0010 Forwarding services
- -- 0011 Call offering services
- -- 0100 Call completion services
- -- 0101 Multi-party services
- -- 0110 Community of interest services
- -- 0111 Charging services
- -- 1000 Additional information transfer services
- -- 1001 Call restriction services
- -- Bit 4-1 = 0000 can be use to refer to
- -- a group of supplementary services
- -- eg, "00100000" can be used to refer to all
- -- forwarding services
- -- "00101000" can be used to refer to all
- -- conditional forwarding services
- -- "00000000" can be used to refer to all
- -- supplementary services
-
-SS-Status ::= OCTET STRING (SIZE (1))
- -- Bit 8-4 Unused
- -- Bit 3 Provision indicator
- -- 0 : Not provisioned
- -- 1 : Provisioned
- -- Bit 2 Registration indicator (if applicable)
- -- 0 : Not Registered
- -- 1 : Registered
- -- Bit 1 Activation indicator (If applicable)
- -- 0 : Not Active
- -- 1 : Active
-
-SS-Information ::= CHOICE{
- forwardingInfo [0] IMPLICIT ForwardingInfo,
- callBarringInfo [1] IMPLICIT CallBarringInfo,
- cug-Information [2] IMPLICIT CUG-Information,
- ss-Data [3] IMPLICIT SS-Data}
-
-SS-InfoList ::= SEQUENCE
- SIZE(1 .. maxNumberOfSupplServices)
- OF SS-Information
-
-
---
-SS-Data ::= SEQUENCE{
- ss-Code SS-Code,
- ss-Status [4] IMPLICIT SS-Status OPTIONAL,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL}
-
-SS-SubscriptionOption ::= CHOICE{
- perCallBasis [5] IMPLICIT BOOLEAN,
- notificationToHeldRetrievedParty [6] IMPLICIT BOOLEAN,
- userToUserServiceIndicator [7] IMPLICIT UserToUserServiceIndicator,
- maximumConfereesNumber [8] IMPLICIT MaximumConfereesNumber,
- huntGroupAccessSelectionOrder [9] IMPLICIT HuntGroupAccessSelectionOrder}
-
-
-
-ForwardingOptions ::= OCTET STRING (SIZE(1))
- -- Bit 8-7 Notification to forwarding party
- -- 00 No notification
- -- 01 notification with calling number identity
- -- 10 notification without calling number identity
- -- Bit 6-5 Notification to calling party
- -- 00 No notification
- -- 01 Notification with forwarded-to number
- -- 10 Notification without forwarded-to number
-
-
-UserToUserServiceIndicator ::= OCTET STRING (SIZE(1))
- -- Bit 8 : service 1
- -- Bit 7 : service 2
- -- Bit 6 : service 3
- -- Bit 5-1 : Reserved
- -- Bit 8 to 6 coded "1" if the service
- -- is available to the subscriber
-
-
-MaximumConfereesNumber ::= INTEGER (1..10)
-
-
-
-HuntGroupAccessSelectionOrder ::= ENUMERATED{
- random (0),
- sequential (1)}
-
-
-NoReplyConditionTime ::= INTEGER (5..30)
-
-
-CUG-Facilities ::= OCTET STRING (SIZE (1))
- -- Bit 8-3 000000 (Unused)
- -- Bit 2-1
- -- 00 CUG only facilities
- -- 01 CUG with outgoing access
- -- 10 CUG with incoming access
- -- 11 CUG with both outgoing and incoming access
-
-CUG-Interlock ::= OCTET STRING (SIZE (4))
- -- Internal structure defined in Rec CCITT Q.763
-
-CUG-Index ::= OCTET STRING (SIZE (1))
- -- Internal structure defined in Rec CCITT Q.763
-
-CUG-Options ::= OCTET STRING (SIZE (1))
- -- BIT 8-4 00000 (Unused)
- -- BIT 3 preferential CUG indicator
- -- 0 no preferential
- -- 1 preferential CUG
- -- BIT 2 barring of incoming calls within the CUG
- -- 0 no barring
- -- 1 barring
- -- BIT 1 barring of outgoing calls within the CUG
- -- 0 no barring
- -- 1 barring
-
-CUG-Feature ::= SEQUENCE {
- cug-interlock CUG-Interlock,
- cug-Index CUG-Index,
- cug-Options CUG-Options,
- ss-Status SS-Status}
-
-
-CUG-FeatureList ::= SEQUENCE SIZE (
- 1..maxNumberOfCUG) OF CUG-Feature
-
-
--- =========================================================
---
--- EEDKBU:
---
--- The original CUG-Information data type has been:
---
--- ------------------
---
--- CUG-Information ::= SEQUENCE{
--- cug-Facilities CUG-Facilities,
--- CHOICE{
--- cug-Feature [0] IMPLICIT CUG-Feature,
--- cug-FeatureList [1] IMPLICIT CUG-FeatureList}}
- -- the first alternative of the choice should be used
- -- for the preferred CUG.
---
--- ------------------
---
--- This is incorrect ASN.1 notation! The CHOICE has also to be a named
--- type. Therefore, the definition was changed and can be seen below:
---
--- =========================================================
-
-
-CUG-Information ::= SEQUENCE{
- cug-Facilities CUG-Facilities,
- cug-FeatureChoice CHOICE{
- cug-Feature [0] IMPLICIT CUG-Feature,
- cug-FeatureList [1] IMPLICIT CUG-FeatureList}}
- -- the first alternative of the choice should be used
- -- for the preferred CUG.
-
---
-ForwardingInfo ::= SEQUENCE{
- ss-Code SS-Code OPTIONAL,
- forwardingFeatureList ForwardingFeatureList}
-
-ForwardingFeature ::= SEQUENCE {
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] IMPLICIT SS-Status,
- forwardedToNumber [5] IMPLICIT IsdnAddressString OPTIONAL,
- forwardingOptions [6] IMPLICIT ForwardingOptions OPTIONAL,
- noReplyConditionTime [7] IMPLICIT NoReplyConditionTime OPTIONAL}
-
-ForwardingFeatureList ::= SEQUENCE SIZE (1.. maxNumberOfForwardingFeatures)
- OF ForwardingFeature
-
-CallBarringInfo ::= SEQUENCE {
- ss-Code SS-Code,
- callBarringFeatureList CallBarringFeatureList}
-
-CallBarringFeature ::= SEQUENCE{
- basicServiceCode BasicServiceCode OPTIONAL,
- ss-Status [4] IMPLICIT SS-Status }
-
-CallBarringFeatureList ::= SEQUENCE SIZE (1.. maxNumberOfCallBarringFeatures)
-OF CallBarringFeature
-
-SubscriberData ::= SEQUENCE{
- msIsdn [1] IMPLICIT IsdnAddressString OPTIONAL,
- category [2] IMPLICIT Category OPTIONAL,
- subscriberStatus [3] IMPLICIT SubscriberStatus OPTIONAL,
- bearerServiceList [4] IMPLICIT BearerServiceList OPTIONAL,
- teleserviceList [6] IMPLICIT TeleserviceList OPTIONAL,
- provisonedSupplServices [7] IMPLICIT SS-InfoList OPTIONAL}
-
--- Data types for security procedures
-
-AuthenticationSet ::= SEQUENCE {
- rand Rand,
- sres Sres,
- kc Kc}
-
-
-Rand ::= OCTET STRING (SIZE (16))
-
-Sres ::= OCTET STRING (SIZE (4))
-
-Kc ::= OCTET STRING (SIZE (8))
-
-Ki ::= OCTET STRING (SIZE (16))
-
-
--- Data types for fault recovery, call tracing
-
-NetworkResource ::= ENUMERATED {
- pLMN (0),
- hLR (1),
- vLR (2),
- previous-VLR (3),
- controlling-MSC (4),
- vMSC (5),
- eIR (6),
- radioSubSystem (7)}
-
-
--- other data types
-
-RequestParameter ::= ENUMERATED{
- request-IMSI (0),
- request-AuthenticationSet (1),
- request-SubscriberData (2),
- request-CUG-Information (3),
- request-Ki (4)}
-
-RequestParameters ::= SEQUENCE SIZE (1..2) OF RequestParameter
-
-SentParameter ::= CHOICE{
- imsi [0] IMPLICIT IMSI,
- authenticationSet [1] IMPLICIT AuthenticationSet,
- subscriberData [2] IMPLICIT SubscriberData,
- cug-information [3] IMPLICIT CUG-Information,
- ki [4] IMPLICIT Ki}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn.set.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn.set.asn
deleted file mode 100644
index 8a61da0160..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn.set.asn
+++ /dev/null
@@ -1,7 +0,0 @@
-Mvrasn-11-6.asn
-Mvrasn-21-4.asn
-Mvrasn-20-6.asn
-Mvrasn-19-6.asn
-Mvrasn-15-6.asn
-Mvrasn-18-6.asn
-Mvrasn-14-6.asn
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn4.set.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn4.set.asn
deleted file mode 100644
index 76e8147d12..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn4.set.asn
+++ /dev/null
@@ -1,10 +0,0 @@
-Mvrasn-Constants-1.asn
-Mvrasn-DataTypes-1.asn
-Mvrasn-21-4.asn
-Mvrasn-20-4.asn
-Mvrasn-19-4.asn
-Mvrasn-18-4.asn
-Mvrasn-17-4.asn
-Mvrasn-15-4.asn
-Mvrasn-14-4.asn
-Mvrasn-11-4.asn
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn6.set.asn b/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn6.set.asn
deleted file mode 100644
index 2a3f54ca9a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Mvrasn6.set.asn
+++ /dev/null
@@ -1,7 +0,0 @@
-Mvrasn-21-4.asn
-Mvrasn-20-6.asn
-Mvrasn-19-6.asn
-Mvrasn-15-6.asn
-Mvrasn-18-6.asn
-Mvrasn-14-6.asn
-Mvrasn-11-6.asn
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/MyMerge.set.asn b/lib/asn1/test/asn1_bin_SUITE_data/MyMerge.set.asn
deleted file mode 100644
index 32c562b43f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/MyMerge.set.asn
+++ /dev/null
@@ -1,2 +0,0 @@
-MySO
-IMP
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/NoImport.asn b/lib/asn1/test/asn1_bin_SUITE_data/NoImport.asn
deleted file mode 100644
index 2ab09d91fd..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/NoImport.asn
+++ /dev/null
@@ -1,14 +0,0 @@
-NoImport DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Typ
- FROM IMP;
-
-
-Seq2 ::= SEQUENCE {
- a Typ,
- b INTEGER}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Nortel.asn b/lib/asn1/test/asn1_bin_SUITE_data/Nortel.asn
deleted file mode 100755
index a27c78a0b5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Nortel.asn
+++ /dev/null
@@ -1,592 +0,0 @@
-Nortel DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
--- EXPORTS Nortel;
-
---IMPORTS
-
--- IMSI, IMEI
--- FROM MAP-commonDataTypes { iso (1) identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version2 (2) };
-
---
--- Note that the syntax of AE-title to be used is from
--- CCITT Rec. X.227 / ISO 8650 corrigendum and not "ANY"
---
-------------------------------------------------------------------------------
---
--- CALL AND EVENT RECORDS
---
-------------------------------------------------------------------------------
-
-CellId ::= OCTET STRING (SIZE(2))
---
--- Coded according to TS GSM 04.08
---
-
-RecordingEntity ::= AddressString
-
-SMSResult ::= Diagnostics
-
-MessageReference ::= OCTET STRING
-
-ManagementExtensions ::= SET OF ManagementExtension
-
-CalledNumber ::= BCDDirectoryNumber
-
-DMI-EXTENSION ::= DMI-TYPE-IDENTIFIER
-
-DMI-TYPE-IDENTIFIER ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
- &Value
-} WITH SYNTAX {TYPE &Value
- ID &id
-}
-
-
--- ManagementExtension ::= OCTET STRING
-
- ManagementExtension ::= SEQUENCE {
- identifier DMI-EXTENSION.&id({ManagementExtensionSet}),
- significance [1] BOOLEAN DEFAULT FALSE,
- information
- [2] DMI-EXTENSION.&Value({ManagementExtensionSet}{@.identifier})
- }
-
-ManagementExtensionSet DMI-EXTENSION ::= {...}
-
-ServiceKey ::= INTEGER (0..2147483647)
-
-DefaultGPRS-Handling ::= ENUMERATED {
- continueTransaction (0) ,
- releaseTransaction (1)
- }
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueTransaction"
--- reception of values greater than 31 shall be treated as "releaseTransaction"
-
-AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
- -- This type is used to represent a number for addressing
- -- purposes. It is composed of
- -- a) one octet for nature of address, and numbering plan
- -- indicator.
- -- b) digits of an address encoded as TBCD-String.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits nature of address indicator and a 4 bits numbering
- -- plan indicator, encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: nature of address indicator
- -- 000 unknown
- -- 001 international number
- -- 010 national significant number
- -- 011 network specific number
- -- 100 subscriber number
- -- 101 reserved
- -- 110 abbreviated number
- -- 111 reserved for extension
-
- -- bits 4321: numbering plan indicator
- -- 0000 unknown
- -- 0001 ISDN/Telephony Numbering Plan (Rec ITU-T E.164)
- -- 0010 spare
- -- 0011 data numbering plan (ITU-T Rec X.121)
- -- 0100 telex numbering plan (ITU-T Rec F.69)
- -- 0101 spare
- -- 0110 land mobile numbering plan (ITU-T Rec E.212)
- -- 0111 spare
- -- 1000 national numbering plan
- -- 1001 private numbering plan
- -- 1111 reserved for extension
-
- -- all other values are reserved.
-
- -- b) The following octets representing digits of an address
- -- encoded as a TBCD-STRING.
-
-maxAddressLength INTEGER ::= 20
-
-ISDN-AddressString ::=
- AddressString (SIZE (1..maxISDN-AddressLength))
- -- This type is used to represent ISDN numbers.
-
-maxISDN-AddressLength INTEGER ::= 9
-
-BCDDirectoryNumber ::= OCTET STRING
- -- This type contains the binary coded decimal representation of
- -- a directory number e.g. calling/called/connected/translated number.
- -- The encoding of the octet string is in accordance with the
- -- the elements "Calling party BCD number", "Called party BCD number"
- -- and "Connected number" defined in TS GSM 04.08.
- -- This encoding includes type of number and number plan information
- -- together with a BCD encoded digit string.
- -- It may also contain both a presentation and screening indicator
- -- (octet 3a).
- -- For the avoidance of doubt, this field does not include
- -- octets 1 and 2, the element name and length, as this would be
- -- redundant.
-
-
-
-Diagnostics ::= CHOICE
-{
- gsm0408Cause [0] INTEGER,
- -- See TS GSM 04.08
- gsm0902MapErrorValue [1] INTEGER,
- -- Note: The value to be stored here corresponds to
- -- the local values defined in the MAP-Errors and
- -- MAP-DialogueInformation modules, for full details
- -- see TS GSM 09.02.
- ccittQ767Cause [2] INTEGER,
- -- See CCITT Q.767
- networkSpecificCause [3] ManagementExtension,
- -- To be defined by network operator
- manufacturerSpecificCause [4] ManagementExtension
- -- To be defined by manufacturer
-}
-
-LocationAreaCode ::= OCTET STRING (SIZE(2))
- --
- -- See TS GSM 04.08
- --
-
-CallEventRecord ::= CHOICE
-{
--- Record values 0..16 are 3G curcuit switch specifick
---
--- sgsnPDPRecord [20] SGSNPDPRecord,
- ggsnPDPRecord [21] GGSNPDPRecord
--- sgsnMMRecord [22] SGSNMMRecord,
--- sgsnSMORecord [23] SGSNSMORecord,
--- sgsnSMTRecord [24] SGSNSMTRecord
-}
-
-CallDuration ::= INTEGER
- --
- -- The call duration in seconds.
- -- For successful calls this is the chargeable duration.
- -- For call attempts this is the call holding time.
-
-TimeStamp ::= OCTET STRING (SIZE(9))
- --
- -- The contents of this field are a compact form of the UTCTime format
- -- containing local time plus an offset to universal time. Binary coded
- -- decimal encoding is employed for the digits to reduce the storage and
- -- transmission overhead
- -- e.g. YYMMDDhhmmssShhmm
- -- where
- -- YY = Year 00 to 99 BCD encoded
- -- MM = Month 01 to 12 BCD encoded
- -- DD = Day 01 to 31 BCD encoded
- -- hh = hour 00 to 23 BCD encoded
- -- mm = minute 00 to 59 BCD encoded
- -- ss = second 00 to 59 BCD encoded
- -- S = Sign 0 = "+", "-" ASCII encoded
- -- hh = hour 00 to 23 BCD encoded
- -- mm = minute 00 to 59 BCD encoded
- --
-
-MSISDN ::= ISDN-AddressString
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
- -- digits of MCC, MNC, MSIN are concatenated in this order.
-
-IMEI ::= TBCD-STRING (SIZE (8))
- -- Refers to International Mobile Station Equipment Identity
- -- and Software Version Number (SVN) defined in TS 3GPP TS 23.003 [17].
- -- If the SVN is not present the last octet shall contain the
- -- digit 0 and a filler.
- -- If present the SVN shall be included in the last octet.
-
-
-TBCD-STRING ::= OCTET STRING
- -- This type (Telephony Binary Coded Decimal String) is used to
- -- represent several digits from 0 through 9, *, #, a, b, c, two
- -- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
- -- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
- -- as filler when there is an odd number of digits.
-
- -- bits 8765 of octet n encoding digit 2n
- -- bits 4321 of octet n encoding digit 2(n-1) +1
-
-GGSNPDPRecord ::= SET
-{
- recordType [0] CallEventRecordType,
- networkInitiation [1] NetworkInitiatedPDPContext OPTIONAL,
- servedIMSI [3] IMSI,
- ggsnAddress [4] GSNAddress,
- chargingID [5] ChargingID,
- sgsnAddress [6] SEQUENCE OF GSNAddress,
- accessPointNameNI [7] AccessPointNameNI,
- pdpType [8] PDPType,
- servedPDPAddress [9] PDPAddress OPTIONAL,
- dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
- listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition,
- recordOpeningTime [13] TimeStamp,
- duration [14] CallDuration,
- causeForRecClosing [15] CauseForRecClosing,
- diagnostics [16] Diagnostics OPTIONAL,
- recordSequenceNumber [17] INTEGER OPTIONAL,
- nodeID [18] NodeID OPTIONAL,
- recordExtensions [19] ManagementExtensions OPTIONAL,
- localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
- apnSelectionMode [21] APNSelectionMode OPTIONAL,
- servedMSISDN [22] MSISDN OPTIONAL,
- chargingCharacteristics [23] ChargingCharacteristics OPTIONAL
-}
-
--- sgsnPLMNIdentifier [27] PLMN-Id
-
-
-
-
-------------------------------------------------------------------------------
---
--- OBJECT IDENTIFIERS
---
-------------------------------------------------------------------------------
-
-gsm1205InformationModel OBJECT IDENTIFIER ::=
- { ccitt (0) identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Operation-Maintenance (3) gsm-12-05 (5) informationModel (0) }
-
-gsm1205ASN1Module OBJECT IDENTIFIER ::=
- { gsm1205InformationModel asn1Module(2) }
-
-------------------------------------------------------------------------------
---
--- COMMON DATA TYPES
---
-------------------------------------------------------------------------------
-
-AccessPointNameNI ::= IA5String (SIZE(1..63))
- --
- -- Network Identifier part of APN in "dot" representation
- -- For example, if the complete APN is 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs'
- -- NI is 'apn1a.apn1b.apn1c' and is presented in this form in the CDR.
-
-AccessPointNameOI ::= IA5String (SIZE(1..37))
- --
- -- Operator Identifier part of APN in "dot" representation
- -- In the 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs' example, the OI portion is 'mnc022.mcc111.gprs'
- -- and is presented in this form in the CDR.
-
-APNSelectionMode::= ENUMERATED
-{
- --
- -- See Information Elements TS 29.060
- --
- mSorNetworkProvidedSubscriptionVerified (0),
- mSProvidedSubscriptionNotVerified (1),
- networkProvidedSubscriptionNotVerified (2)
-}
-
-CAMELAccessPointNameNI ::= AccessPointNameNI
-
-CAMELAccessPointNameOI ::= AccessPointNameOI
-
-CauseForRecClosing ::= INTEGER
-{
- --
- -- in GGSN the value sGSNChange should be used for partial record
- -- generation due to SGSN Address List Overflow
- --
- -- cause codes 0 to 15 are defined in TS 32.005 as 'CauseForTerm' (cause for termination)
- --
- normalRelease (0),
- abnormalRelease (4),
- cAMELInitCallRelease (5),
- volumeLimit (16),
- timeLimit (17),
- sGSNChange (18),
- maxChangeCond (19),
- managementIntervention (20)
-}
-
-ChangeCondition ::= ENUMERATED
-{
- qoSChange (0),
- tariffTime (1),
- recordClosure (2)
-}
-
-ChangeOfCharCondition ::= SEQUENCE
-{
- --
- -- used in PDP context record only
- --
- qosRequested [1] QoSInformation OPTIONAL,
- qosNegotiated [2] QoSInformation OPTIONAL,
- dataVolumeGPRSUplink [3] DataVolumeGPRS,
- dataVolumeGPRSDownlink [4] DataVolumeGPRS,
- changeCondition [5] ChangeCondition,
- changeTime [6] TimeStamp
-}
-
-ChangeLocation ::= SEQUENCE
-{
- --
- -- used in SGSNMMRecord only
- --
- locationAreaCode [0] LocationAreaCode,
- routingAreaCode [1] RoutingAreaCode,
- cellId [2] CellId OPTIONAL,
- changeTime [3] TimeStamp
-}
-
-ChargingCharacteristics ::= OCTET STRING (SIZE(2))
- --
- -- Descriptions for the bits of the flag set:
- --
- -- Bit 1: H (Hot billing) := '00000001'B
- -- Bit 2: F (Flat rate) := '00000010'B
- -- Bit 3: P (Prepaid service) := '00000100'B
- -- Bit 4: N (Normal billing) := '00001000'B
- -- Bit 5: - (Reserved, set to 0) := '00010000'B
- -- Bit 6: - (Reserved, set to 0) := '00100000'B
- -- Bit 7: - (Reserved, set to 0) := '01000000'B
- -- Bit 8: - (Reserved, set to 0) := '10000000'B
- --
-
-ChargingID ::= INTEGER (0..4294967295)
- --
- -- generated in GGSN, part of PDP context, see TS 23.060
- -- 0..4294967295 is equivalent to 0..2**32-1
-
-DataVolumeGPRS ::= INTEGER
- --
- -- The volume of data transferred in octets.
- --
-
-DynamicAddressFlag ::= BOOLEAN
-
-ETSIAddress ::= AddressString
- --
- --first octet for nature of address, and numbering plan indicator (3 for X.121)
- --other octets TBCD
- -- See TS 29.002
- --
-
-FFDAppendIndicator ::= BOOLEAN
-
-FreeFormatData ::= OCTET STRING (SIZE(1..160))
- --
- -- Free formated data as sent in the FurnishChargingInformationGPRS
- -- see TS 29.078
- --
-
-GSNAddress ::= IPAddress
-
-GSMQoSInformation ::=SEQUENCE
-{
- reliability [0] QoSReliability,
- delay [1] QoSDelay,
- precedence [2] QoSPrecedence,
- peakThroughput [3] QoSPeakThroughput,
- meanThroughput [4] QoSMeanThroughput
-}
-
-IPAddress ::= CHOICE
-{
- iPBinaryAddress IPBinaryAddress,
- iPTextRepresentedAddress IPTextRepresentedAddress
-}
-
-IPBinaryAddress ::= CHOICE
-{
- iPBinV4Address [0] OCTET STRING (SIZE(4)),
- iPBinV6Address [1] OCTET STRING (SIZE(16))
-}
-
-IPTextRepresentedAddress ::= CHOICE
-{ --
- -- IP address in the familiar "dot" notation
- --
- iPTextV4Address [2] IA5String (SIZE(7..15)),
- iPTextV6Address [3] IA5String (SIZE(15..45))
-}
-
-LocalSequenceNumber ::= INTEGER (0..4294967295)
- --
- -- Sequence number of the record in this node
- -- 0.. 4294967295 is equivalent to 0..2**32-1, unsigned integer in four octets
-
-MSNetworkCapability ::= OCTET STRING (SIZE(1..8))
-
-NetworkInitiatedPDPContext ::= BOOLEAN
- --
- -- Set to true if PDP context was initiated from network side
- --
-
-NodeID ::= IA5String (SIZE(1..20))
-
-PDPAddress ::= CHOICE
-{
- iPAddress [0] IPAddress,
- eTSIAddress [1] ETSIAddress
-}
-
-PDPType ::= OCTET STRING (SIZE(2))
- --
- --OCTET 1: PDP Type Organization
- --OCTET 2: PDP Type Number
- -- See TS 29.060
- --
-
-PLMN-Id ::= OCTET STRING (SIZE (3))
- -- This is a 1:1 copy from the Routing Area Identity (RAI) IE specified in TS 29.060
- -- as follows:
- -- OCTET 1 of PLMN-Id = OCTET 2 of RAI
- -- OCTET 2 of PLMN-Id = OCTET 3 of RAI
- -- OCTET 3 of PLMN-Id = OCTET 4 of RAI
-
-
-QoSDelay ::= ENUMERATED
-{
- --
- -- See Quality of service TS 24.008
- --
- delayClass1 (1),
- delayClass2 (2),
- delayClass3 (3),
- delayClass4 (4)
-}
-
-QoSInformation ::= CHOICE
-{
- gsmQosInformation [0] GSMQoSInformation,
- umtsQosInformation [1] OCTET STRING (SIZE (4..12))
-}
--- When dealing with a pre R99 QoS profile the GSN may either choose the "GSMQoSInformation" or the
--- "umtsQoSInformation" encoding. Dealing with R99 QoS profiles the GSN shall apply the
--- "umtsQoSInformation" encoding. The umtsQosInformation octet string is a 1:1 copy of the contents
--- (starting with octet 4) of the "Quality of service Profile" information element specified in
--- 3GPP TS 29.060 [22] for R99 and GSM TS 09.60 for pre R99 cases.
---}
-
-QoSMeanThroughput ::= ENUMERATED
-{
- --
- -- See Quality of service TS 24.008
- --
- subscribedMeanThroughput (0), -- MS to network direction
- -- Network to MS direction needs not to be covered since value (0) = "reserved"
- mean100octetPh (1),
- mean200octetPh (2),
- mean500octetPh (3),
- mean1000octetPh (4),
- mean2000octetPh (5),
- mean5000octetPh (6),
- mean10000octetPh (7),
- mean20000octetPh (8),
- mean50000octetPh (9),
- mean100000octetPh (10),
- mean200000octetPh (11),
- mean500000octetPh (12),
- mean1000000octetPh (13),
- mean2000000octetPh (14),
- mean5000000octetPh (15),
- mean10000000octetPh (16),
- mean20000000octetPh (17),
- mean50000000octetPh (18),
- reserved (30),
- bestEffort (31)
-}
-
-QoSPeakThroughput ::= ENUMERATED
-{
- --
- -- See Quality of service TS 24.008
- --
- unspecified (0),
- upTo1000octetPs (1),
- upTo2000octetPs (2),
- upTo4000octetPs (3),
- upTo8000octetPs (4),
- upTo16000octetPs (5),
- upTo32000octetPs (6),
- upTo64000octetPs (7),
- upTo128000octetPs (8),
- upTo256000octetPs (9)
-}
-
-QoSPrecedence ::= ENUMERATED
-{
- --
- -- See Quality of service TS 24.008
- --
- unspecified (0),
- highPriority (1),
- normalPriority (2),
- lowPriority (3)
-}
-
-QoSReliability ::= ENUMERATED
-{
- --
- -- See Quality of service TS 24.008
- --
- unspecifiedReliability (0),
- acknowledgedGTP (1),
- unackGTPAcknowLLC (2),
- unackGTPLLCAcknowRLC (3),
- unackGTPLLCRLC (4),
- unacknowUnprotectedData (5)
-}
-
-RoutingAreaCode ::= OCTET STRING (SIZE(1))
- --
- -- See TS 24.008
- --
-
-SCFAddress ::= AddressString
- --
- -- See TS 29.002
- --
-
-NumberOfDPEncountered ::= INTEGER
-
-SGSNChange ::= BOOLEAN
- --
- -- present if first record after inter SGSN routing area update
- -- in new SGSN
- --
-
-SystemType ::= ENUMERATED
-{
- unknown (0),
- iuUTRAN (1),
- gERAN (2)
-}
-
-CallEventRecordType ::= INTEGER
-{
- moCallRecord (0),
- mtCallRecord (1),
- roamingRecord (2),
- incGatewayRecord (3),
- outGatewayRecord (4),
- transitCallRecord (5),
- moSMSRecord (6),
- mtSMSRecord (7),
- moSMSIWRecord (8),
- mtSMSGWRecord (9),
- ssActionRecord (10),
- hlrIntRecord (11),
- locUpdateHLRRecord (12),
- locUpdateVLRRecord (13),
- commonEquipRecord (14),
- moTraceRecord (15),
- mtTraceRecord (16),
- termCAMELRecord (17),
- sgsnPDPRecord (18),
- ggsnPDPRecord (19),
- sgsnMMRecord (20),
- sgsnSMORecord (21),
- sgsnSMTRecord (22)
-
-}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Null.py b/lib/asn1/test/asn1_bin_SUITE_data/Null.py
deleted file mode 100644
index 23e5f38140..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Null.py
+++ /dev/null
@@ -1,22 +0,0 @@
-Null DEFINITIONS ::=
-BEGIN
-
--- F.2.9 Null
--- Use a null type to indicate the effective absence of a component
--- of a sequence.
--- EXAMPLE
-
-PatientIdentifier ::= SEQUENCE {
- name VisibleString,
- roomNumber CHOICE {
- room INTEGER,
- outPatient NULL -- if an out-patient --
- }
-}
-
-lastPatient PatientIdentifier ::= {
- name "Jane Doe",
- roomNumber outPatient : NULL
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/OLD-MEDIA-GATEWAY-CONTROL.asn b/lib/asn1/test/asn1_bin_SUITE_data/OLD-MEDIA-GATEWAY-CONTROL.asn
deleted file mode 100644
index 35a54aaac5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/OLD-MEDIA-GATEWAY-CONTROL.asn
+++ /dev/null
@@ -1,950 +0,0 @@
--- This ASN.1 spec has been extracted from the Megaco/H.248 spec
--- http://www.ietf.org/internet-drafts/draft-ietf-megaco-merged-01.txt
---
--- o Removed stuff named nonStandard
--- o Major enhancements of the indentation has been performed.
---
--- Hakan Mattsson <[email protected]>
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- ANNEX A: BINARY ENCODING OF THE PROTOCOL (NORMATIVE)
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- This Annex specifies the syntax of messages using the notation
--- defined in ASN.1 [ITU-T Recommendation X.680 (1997): Information
--- Technology - Abstract Syntax Notation One (ASN.1) - Specification of
--- basic notation.]. Messages shall be encoded for transmission by
--- applying the basic encoding rules specified in [ITU-T Recommendation
--- X.690(1994) Information Technology - ASN.1 Encoding Rules:
--- Specification of Basic Encoding Rules (BER)].
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- A.1 Coding of wildcards
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- The use of wildcards ALL and CHOOSE is allowed in the protocol.
--- This allows a MGC to partially specify Termination IDs and let the
--- MG choose from the values that conform to the partial specification.
--- Termination IDs may encode a hierarchy of names. This hierarchy is
--- provisioned. For instance, a TerminationID may consist of a trunk
--- group, a trunk within the group and a circuit. Wildcarding must be
--- possible at all levels. The following paragraphs explain how this
--- is achieved.
---
--- The ASN.1 description uses octet strings of up to 8 octets in length
--- for Termination IDs. This means that Termination IDs consist of at
--- most 64 bits. A fully specified Termination ID may be preceded by a
--- sequence of wildcarding fields. A wildcarding field is one octet in
--- length. Bit 7 (the most significant bit) of this octet specifies
--- what type of wildcarding is invoked: if the bit value equals 1,
--- then the ALL wildcard is used; if the bit value if 0, then the
--- CHOOSE wildcard is used. Bit 6 of the wildcarding field specifies
--- whether the wildcarding pertains to one level in the hierarchical
--- naming scheme (bit value 0) or to the level of the hierarchy
--- specified in the wildcarding field plus all lower levels (bit value
--- 1). Bits 0 through 5 of the wildcarding field specify the bit
--- position in the Termination ID at which the starts.
---
--- We illustrate this scheme with some examples. In these examples,
--- the most significant bit in a string of bits appears on the left
--- hand side.
---
--- Assume that Termination IDs are three octets long and that each
--- octet represents a level in a hierarchical naming scheme. A valid
--- Termination ID is
--- 00000001 00011110 01010101.
---
--- Addressing ALL names with prefix 00000001 00011110 is done as
--- follows:
--- wildcarding field: 10000111
--- Termination ID: 00000001 00011110 xxxxxxxx.
---
--- The values of the bits labeled "x" is irrelevant and shall be
--- ignored by the receiver.
---
--- Indicating to the receiver that is must choose a name with 00011110
--- as the second octet is done as follows:
--- wildcarding fields: 00010111 followed by 00000111
--- Termination ID: xxxxxxxx 00011110 xxxxxxxx.
---
--- The first wildcard field indicates a CHOOSE wildcard for the level
--- in the naming hierarchy starting at bit 23, the highest level in our
--- assumed naming scheme. The second wildcard field indicates a CHOOSE
--- wildcard for the level in the naming hierarchy starting at bit 7,
--- the lowest level in our assumed naming scheme.
---
--- Finally, a CHOOSE-wildcarded name with the highest level of the name
--- equal to 00000001 is specified as follows:
--- wildcard field: 01001111
--- Termination ID: 0000001 xxxxxxxx xxxxxxxx .
---
--- Bit value 1 at bit position 6 of the first octet of the wildcard
--- field indicates that the wildcarding pertains to the specified level
--- in the naming hierarchy and all lower levels.
---
--- Context IDs may also be wildcarded. In the case of Context IDs,
--- however, specifying partial names is not allowed. Context ID 0x0
--- SHALL be used to indicate the NULL Context, Context ID 0xFFFFFFFE
--- SHALL be used to indicate a CHOOSE wildcard, and Context ID
--- 0xFFFFFFFF SHALL be used to indicate an ALL wildcard.
---
--- TerminationID 0xFFFFFFFFFFFFFFFF SHALL be used to indicate the ROOT
--- Termination.
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- Digit maps and path names
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- From a syntactic viewpoint, digit maps are strings with syntactic
--- restrictions imposed upon them. The syntax of valid digit maps is
--- specified in ABNF [RFC 2234]. The syntax for digit maps presented
--- in this section is for illustrative purposes only. The definition of
--- digitMap in Annex B takes precedence in the case of differences
--- between the two.
---
--- digitMap = (digitString / LWSP "(" LWSP digitStringList LWSP ")"
--- LWSP)
--- digitStringList = digitString *( LWSP "/" LWSP digitString )
--- digitString = 1*(digitStringElement)
--- digitStringElement = digitPosition [DOT]
--- digitPosition = digitMapLetter / digitMapRange
--- digitMapRange = ("x" / LWSP "[" LWSP digitLetter LWSP "]" LWSP)
--- digitLetter = *((DIGIT "-" DIGIT) /digitMapLetter)
--- digitMapLetter = DIGIT ;digits 0-9
--- / %x41-4B / %x61-6B ;a-k and A-K
--- / "L" / "S" ;Inter-event timers
--- ;(long, short)
--- / "Z" ;Long duration event
--- DOT = %x2E ; "."
--- LWSP = *(WSP / COMMENT / EOL)
--- WSP = SP / HTAB
--- COMMENT = ";" *(SafeChar / RestChar / WSP) EOL
--- EOL = (CR [LF]) / LF
--- SP = %x20
--- HTAB = %x09
--- CR = %x0D
--- LF = %x0A
--- SafeChar = DIGIT / ALPHA / "+" / "-" / "&" / "!" / "_" / "/" /
--- "'" / "?" / "@" / "^" / "`" / "~" / "*" / "$" / "\" /
--- "(" / ")" / "%" / "."
--- RestChar = ";" / "[" / "]" / "{" / "}" / ":" / "," / "#" /
--- "<" / ">" / "=" / %x22
--- DIGIT = %x30-39 ; digits 0 through 9
--- ALPHA = %x41-5A / %x61-7A ; A-Z, a-z
--- A path name is also a string with syntactic restrictions imposed
--- upon it. The ABNF production defining it is copied from Annex B.
---
--- PathName = NAME *(["/"] ["*"] ["@"] (ALPHA / DIGIT)) ["*"]
--- NAME = ALPHA *63(ALPHA / DIGIT / "_" )
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- A.2 ASN.1 syntax specification
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- This section contains the ASN.1 specification of the H.248 protocol
--- syntax.
---
--- NOTE - In case a transport mechanism is used that employs
--- application level framing, the definition of Transaction below
--- changes. Refer to the annex defining the transport mechanism for
--- the definition that applies in that case.
---
--- NOTE - The ASN.1 specification below contains a clause defining
--- TerminationIDList as a sequence of TerminationIDs. The length of
--- this sequence SHALL be one, except possibly when used in
--- contextAuditResult.
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-OLD-MEDIA-GATEWAY-CONTROL DEFINITIONS AUTOMATIC TAGS::=
-BEGIN
-
-MegacoMessage ::= SEQUENCE
-{
- authHeader AuthenticationHeader OPTIONAL,
- mess Message
-}
-
-AuthenticationHeader ::= SEQUENCE
-{
- secParmIndex SecurityParmIndex,
- seqNum SequenceNum,
- ad AuthData
-}
-
-SecurityParmIndex ::= OCTET STRING(SIZE(4))
-
-SequenceNum ::= OCTET STRING(SIZE(4))
-
-AuthData ::= OCTET STRING (SIZE (12..32))
-
-Message ::= SEQUENCE
-{
- version INTEGER(0..99),
- -- The version of the protocol defined here is equal to 1.
- mId MId, -- Name/address of message originator
- messageBody CHOICE
- {
- messageError ErrorDescriptor,
- transactions SEQUENCE OF Transaction
- },
- ...
-}
-
-MId ::= CHOICE
-{
- ip4Address IP4Address,
- ip6Address IP6Address,
- domainName DomainName,
- deviceName PathName,
- mtpAddress OCTET STRING(SIZE(2)),
- -- Addressing structure of mtpAddress:
- -- 15 0
- -- | PC | NI |
- -- 14 bits 2 bits
- ...
-}
-
-DomainName ::= SEQUENCE
-{
- name IA5String,
- -- The name starts with an alphanumeric digit followed by a
- -- sequence of alphanumeric digits, hyphens and dots. No two
- -- dots shall occur consecutively.
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-IP4Address ::= SEQUENCE
-{
- address OCTET STRING (SIZE(4)),
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-IP6Address ::= SEQUENCE
-{
- address OCTET STRING (SIZE(16)),
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-PathName ::= IA5String(SIZE (1..64))
--- See section A.3
-
-Transaction ::= CHOICE
-{
- transactionRequest TransactionRequest,
- transactionPending TransactionPending,
- transactionReply TransactionReply,
- transactionResponseAck TransactionResponseAck,
- -- use of response acks is dependent on underlying transport
- ...
-}
-
-TransactionId ::= INTEGER(0..4294967295) -- 32 bit unsigned integer
-
-TransactionRequest ::= SEQUENCE
-{
- transactionId TransactionId,
- actions SEQUENCE OF ActionRequest,
- ...
-}
-
-TransactionPending ::= SEQUENCE
-{
- transactionId TransactionId,
- ...
-}
-
-TransactionReply ::= SEQUENCE
-{
- transactionId TransactionId,
- immAckRequired NULL OPTIONAL,
- transactionResult CHOICE
- {
- transactionError ErrorDescriptor,
- actionReplies SEQUENCE OF ActionReply
- },
- ...
-}
-
-TransactionResponseAck ::= SEQUENCE
-{
- firstAck TransactionId,
- lastAck TransactionId OPTIONAL
-}
-
-ErrorDescriptor ::= SEQUENCE
-{
- errorCode ErrorCode,
- errorText ErrorText OPTIONAL
-}
-
-ErrorCode ::= INTEGER(0..65535)
--- See section 13 for IANA considerations w.r.t. error codes
-
-ErrorText ::= IA5String
-
-ContextID ::= INTEGER(0..4294967295)
-
--- Context NULL Value: 0
--- Context CHOOSE Value: 4294967294 (0xFFFFFFFE)
--- Context ALL Value: 4294967295 (0xFFFFFFFF)
-
-
-ActionRequest ::= SEQUENCE
-{
- contextId ContextID,
- contextRequest ContextRequest OPTIONAL,
- contextAttrAuditReq ContextAttrAuditRequest OPTIONAL,
- commandRequests SEQUENCE OF CommandRequest
-}
-
-ActionReply ::= SEQUENCE
-{
- contextId ContextID,
- errorDescriptor ErrorDescriptor OPTIONAL,
- contextReply ContextRequest OPTIONAL,
- commandReply SEQUENCE OF CommandReply
-}
-
-ContextRequest ::= SEQUENCE
-{
- priority INTEGER(0..15) OPTIONAL,
- emergency BOOLEAN OPTIONAL,
- topologyReq SEQUENCE OF TopologyRequest OPTIONAL,
- ...
-}
-
-ContextAttrAuditRequest ::= SEQUENCE
-{
- topology NULL OPTIONAL,
- emergency NULL OPTIONAL,
- priority NULL OPTIONAL,
- ...
-}
-
-CommandRequest ::= SEQUENCE
-{
- command Command,
- optional NULL OPTIONAL,
- wildcardReturn NULL OPTIONAL,
- ...
-}
-
-Command ::= CHOICE
-{
- addReq AmmRequest,
- moveReq AmmRequest,
- modReq AmmRequest,
- -- Add, Move, Modify requests have the same parameters
- subtractReq SubtractRequest,
- auditCapRequest AuditRequest,
- auditValueRequest AuditRequest,
- notifyReq NotifyRequest,
- serviceChangeReq ServiceChangeRequest,
- ...
-}
-
-CommandReply ::= CHOICE
-{
- addReply AmmsReply,
- moveReply AmmsReply,
- modReply AmmsReply,
- subtractReply AmmsReply,
- -- Add, Move, Modify, Subtract replies have the same parameters
- auditCapReply AuditReply,
- auditValueReply AuditReply,
- notifyReply NotifyReply,
- serviceChangeReply ServiceChangeReply,
- ...
-}
-
-TopologyRequest ::= SEQUENCE
-{
- terminationFrom TerminationID,
- terminationTo TerminationID,
- topologyDirection ENUMERATED
- {
- bothway(0),
- isolate(1),
- oneway(2)
- }
-}
-
-AmmRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- descriptors SEQUENCE OF AmmDescriptor,
- -- At most one descriptor of each type (see AmmDescriptor)
- -- allowed in the sequence.
- ...
-}
-
-AmmDescriptor ::= CHOICE
-{
- mediaDescriptor MediaDescriptor,
- modemDescriptor ModemDescriptor,
- muxDescriptor MuxDescriptor,
- eventsDescriptor EventsDescriptor,
- eventBufferDescriptor EventBufferDescriptor,
- signalsDescriptor SignalsDescriptor,
- digitMapDescriptor DigitMapDescriptor,
- auditDescriptor AuditDescriptor,
-...
-}
-
-AmmsReply ::= SEQUENCE
-{
- terminationID TerminationIDList,
- terminationAudit TerminationAudit OPTIONAL,
- ...
-}
-
-SubtractRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- auditDescriptor AuditDescriptor OPTIONAL,
- ...
-}
-
-AuditRequest ::= SEQUENCE
-{
- terminationID TerminationID,
- auditDescriptor AuditDescriptor,
- ...
-}
-
-AuditReply ::= SEQUENCE
-{
- terminationID TerminationID,
- auditResult AuditResult,
- ...
-}
-
-AuditResult ::= CHOICE
-{
- contextAuditResult TerminationIDList,
- terminationAuditResult TerminationAudit
-}
-
-
-
-TerminationAudit ::= SEQUENCE OF AuditReturnParameter
-
-AuditReturnParameter ::= CHOICE
-{
- errorDescriptor ErrorDescriptor,
- mediaDescriptor MediaDescriptor,
- modemDescriptor ModemDescriptor,
- muxDescriptor MuxDescriptor,
- eventsDescriptor EventsDescriptor,
- eventBufferDescriptor EventBufferDescriptor,
- signalsDescriptor SignalsDescriptor,
- digitMapDescriptor DigitMapDescriptor,
- observedEventsDescriptor ObservedEventsDescriptor,
- statisticsDescriptor StatisticsDescriptor,
- packagesDescriptor PackagesDescriptor,
- emptyDescriptors AuditDescriptor,
- ...
-}
-
-AuditDescriptor ::= SEQUENCE
-{
- auditToken BIT STRING
- {
- muxToken(0),
- modemToken(1),
- mediaToken(2),
- eventsToken(3),
- signalsToken(4),
- digitMapToken(5),
- statsToken(6),
- observedEventsToken(7),
- packagesToken(8),
- eventBufferToken(9)
- } OPTIONAL,
- ...
-}
-
-NotifyRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- observedEventsDescriptor ObservedEventsDescriptor,
- errorDescriptor ErrorDescriptor OPTIONAL,
- ...
-}
-
-NotifyReply ::= SEQUENCE
-{
- terminationID TerminationIDList OPTIONAL,
- errorDescriptor ErrorDescriptor OPTIONAL,
- ...
-}
-
-ObservedEventsDescriptor ::= SEQUENCE
-{
- requestId RequestID,
- observedEventLst SEQUENCE OF ObservedEvent
-}
-
-ObservedEvent ::= SEQUENCE
-{
- eventName EventName,
- streamID StreamID OPTIONAL,
- eventParList SEQUENCE OF EventParameter,
- timeNotation TimeNotation OPTIONAL,
- ...
-}
-
-EventName ::= PkgdName
-
-EventParameter ::= SEQUENCE
-{
- eventParameterName Name,
- value Value
-}
-
-ServiceChangeRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- serviceChangeParms ServiceChangeParm,
- ...
-}
-
-ServiceChangeReply ::= SEQUENCE
-{
- terminationID TerminationIDList,
- serviceChangeResult ServiceChangeResult,
- ...
-}
-
--- For ServiceChangeResult, no parameters are mandatory. Hence the
--- distinction between ServiceChangeParm and ServiceChangeResParm.
-
-ServiceChangeResult ::= CHOICE
-{
- errorDescriptor ErrorDescriptor,
- serviceChangeResParms ServiceChangeResParm
-}
-
-WildcardField ::= OCTET STRING(SIZE(1))
-
-TerminationID ::= SEQUENCE
-{
- wildcard SEQUENCE OF WildcardField,
- id OCTET STRING(SIZE(1..8)),
- ...
-}
--- See Section A.1 for explanation of wildcarding mechanism.
--- Termination ID 0xFFFFFFFFFFFFFFFF indicates the ROOT Termination.
-
-TerminationIDList ::= SEQUENCE OF TerminationID
-
-MediaDescriptor ::= SEQUENCE
-{
-
- termStateDescr TerminationStateDescriptor OPTIONAL,
- streams CHOICE
- {
- oneStream StreamParms,
- multiStream SEQUENCE OF StreamDescriptor
- },
- ...
-}
-
-StreamDescriptor ::= SEQUENCE
-{
- streamID StreamID,
- streamParms StreamParms
-}
-
-StreamParms ::= SEQUENCE
-{
- localControlDescriptor LocalControlDescriptor OPTIONAL,
- localDescriptor LocalRemoteDescriptor OPTIONAL,
- remoteDescriptor LocalRemoteDescriptor OPTIONAL,
- ...
-}
-
-LocalControlDescriptor ::= SEQUENCE
-{
- streamMode StreamMode OPTIONAL,
- reserveValue BOOLEAN,
- reserveGroup BOOLEAN,
- propertyParms SEQUENCE OF PropertyParm,
- ...
-}
-
-StreamMode ::= ENUMERATED
-{
- sendOnly(0),
- recvOnly(1),
- sendRecv(2),
- inactive(3),
- loopBack(4),
- ...
-}
-
--- In PropertyParm, value is a SEQUENCE OF octet string. When sent
--- by an MGC the interpretation is as follows:
--- empty sequence means CHOOSE
--- one element sequence specifies value
--- If the sublist field is not selected, a longer sequence means
--- "choose one of the values" (i.e. value1 OR value2 OR ...)
--- If the sublist field is selected,
--- a sequence with more than one element encodes the value of a
--- list-valued property (i.e. value1 AND value2 AND ...).
--- The relation field may only be selected if the value sequence
--- has length 1. It indicates that the MG has to choose a value
--- for the property. E.g., x > 3 (using the greaterThan
--- value for relation) instructs the MG to choose any value larger
--- than 3 for property x.
--- The range field may only be selected if the value sequence
--- has length 2. It indicates that the MG has to choose a value
--- in the range between the first octet in the value sequence and
--- the trailing octet in the value sequence, including the
--- boundary values.
--- When sent by the MG, only responses to an AuditCapability request
--- may contain multiple values, a range, or a relation field.
-
-PropertyParm ::= SEQUENCE
-{
- name PkgdName,
- value SEQUENCE OF OCTET STRING,
- extraInfo CHOICE
- {
- relation Relation,
- range BOOLEAN,
- sublist BOOLEAN
- } OPTIONAL,
- ...
-}
-
-Name ::= OCTET STRING(SIZE(2))
-
-PkgdName ::= OCTET STRING(SIZE(4))
--- represents Package Name (2 octets) plus Property Name (2 octets)
--- To wildcard a package use 0xFFFF for first two octets, choose
--- is not allowed. To reference native property tag specified in
--- Annex C, use 0x0000 as first two octets.
--- Wildcarding of Package Name is permitted only if Property Name is
--- also wildcarded.
-
-Relation ::= ENUMERATED
-{
- greaterThan(0),
- smallerThan(1),
- unequalTo(2),
- ...
-}
-
-LocalRemoteDescriptor ::= SEQUENCE
-{
- propGrps SEQUENCE OF PropertyGroup,
- ...
-}
-
-PropertyGroup ::= SEQUENCE OF PropertyParm
-
-TerminationStateDescriptor ::= SEQUENCE
-{
- propertyParms SEQUENCE OF PropertyParm,
- eventBufferControl EventBufferControl OPTIONAL,
- serviceState ServiceState OPTIONAL,
- ...
-}
-
-EventBufferControl ::= ENUMERATED
-{
- off(0),
- lockStep(1),
- ...
-}
-
-ServiceState ::= ENUMERATED
-{
- test(0),
- outOfSvc(1),
- inSvc(2),
- ...
-}
-
-MuxDescriptor ::= SEQUENCE
-{
- muxType MuxType,
- termList SEQUENCE OF TerminationID,
--- nonStandardData NonStandardData OPTIONAL,
- ...
-}
-
-MuxType ::= ENUMERATED
-{
- h221(0),
- h223(1),
- h226(2),
- v76(3),
- ...
-}
-
-StreamID ::= INTEGER(0..65535) -- 16 bit unsigned integer
-
-EventsDescriptor ::= SEQUENCE
-{
- requestID RequestID,
- eventList SEQUENCE OF RequestedEvent,
- ...
-}
-
-RequestedEvent ::= SEQUENCE
-{
- pkgdName PkgdName,
- streamID StreamID OPTIONAL,
- eventAction RequestedActions OPTIONAL,
- evParList SEQUENCE OF EventParameter,
- ...
-}
-
-RequestedActions ::= SEQUENCE
-{
- keepActive BOOLEAN,
- eventDM EventDM OPTIONAL,
- secondEvent SecondEventsDescriptor OPTIONAL,
- signalsDescriptor SignalsDescriptor OPTIONAL,
- ...
-}
-
-
-EventDM ::= CHOICE
-{
- digitMapName DigitMapName,
- digitMapValue DigitMapValue
-}
-
-SecondEventsDescriptor ::= SEQUENCE
-{
- requestID RequestID,
- eventList SEQUENCE OF SecondRequestedEvent,
- ...
-}
-
-SecondRequestedEvent ::= SEQUENCE
-{
- pkgdName PkgdName,
- streamID StreamID OPTIONAL,
- eventAction SecondRequestedActions OPTIONAL,
- evParList SEQUENCE OF EventParameter,
- ...
-}
-
-SecondRequestedActions ::= SEQUENCE
-{
- keepActive BOOLEAN,
- eventDM EventDM OPTIONAL,
- signalsDescriptor SignalsDescriptor OPTIONAL,
- ...
-}
-
-EventBufferDescriptor ::= SEQUENCE OF EventSpec
-
-EventSpec ::= SEQUENCE
-{
- eventName EventName,
- streamID StreamID OPTIONAL,
- eventParList SEQUENCE OF EventParameter,
- ...
-}
-
-SignalsDescriptor ::= SEQUENCE OF SignalRequest
-
-SignalRequest ::= CHOICE
-{
- signal Signal,
- seqSigList SeqSigList,
- ...
-}
-
-SeqSigList ::= SEQUENCE
-{
- id INTEGER(0..65535),
- signalList SEQUENCE OF Signal
-}
-
-Signal ::= SEQUENCE
-{
- signalName SignalName,
- streamID StreamID OPTIONAL,
- sigType SignalType OPTIONAL,
- duration INTEGER (0..65535) OPTIONAL,
- notifyCompletion NotifyCompletion OPTIONAL,
- keepActive BOOLEAN OPTIONAL,
- sigParList SEQUENCE OF SigParameter,
- ...
-}
-
-SignalType ::= ENUMERATED
-{
- brief(0),
- onOff(1),
- timeOut(2),
- ...
-}
-
-SignalName ::= PkgdName
-
-NotifyCompletion ::= BIT STRING
-{
- onTimeOut(0),
- onInterruptByEvent(1),
- onInterruptByNewSignalDescr(2),
- otherReason(3)
-}
-
-SigParameter ::= SEQUENCE
-{
- sigParameterName Name,
- value Value
-}
-
-RequestID ::= INTEGER(0..4294967295) -- 32 bit unsigned integer
-
-ModemDescriptor ::= SEQUENCE
-{
- mtl SEQUENCE OF ModemType,
- mpl SEQUENCE OF PropertyParm
--- nonStandardData NonStandardData OPTIONAL
-}
-
-ModemType ::= ENUMERATED
-{
- v18(0),
- v22(1),
- v22bis(2),
- v32(3),
- v32bis(4),
- v34(5),
- v90(6),
- v91(7),
- synchISDN(8),
- ...
-}
-
-DigitMapDescriptor ::= SEQUENCE
-{
- digitMapName DigitMapName OPTIONAL,
- digitMapValue DigitMapValue OPTIONAL
-}
-
-DigitMapName ::= Name
-
-DigitMapValue ::= SEQUENCE
-{
- startTimer INTEGER(0..99) OPTIONAL,
- shortTimer INTEGER(0..99) OPTIONAL,
- longTimer INTEGER(0..99) OPTIONAL,
- digitMapBody IA5String,
- -- See Section A.3 for explanation of digit map syntax
- ...
-}
-
-ServiceChangeParm ::= SEQUENCE
-{
- serviceChangeMethod ServiceChangeMethod,
- serviceChangeAddress ServiceChangeAddress OPTIONAL,
- serviceChangeVersion INTEGER(0..99) OPTIONAL,
- serviceChangeProfile ServiceChangeProfile OPTIONAL,
- serviceChangeReason Value,
- serviceChangeDelay INTEGER(0..4294967295) OPTIONAL,
- -- 32 bit unsigned integer
- serviceChangeMgcId MId OPTIONAL,
- timeStamp TimeNotation OPTIONAL,
--- nonStandardData NonStandardData OPTIONAL,
- ...
-}
-
-ServiceChangeAddress ::= CHOICE
-{
- portNumber INTEGER(0..65535), -- TCP/UDP port number
- ip4Address IP4Address,
- ip6Address IP6Address,
- domainName DomainName,
- deviceName PathName,
- mtpAddress OCTET STRING(SIZE(2)),
- ...
-}
-
-ServiceChangeResParm ::= SEQUENCE
-{
- serviceChangeMgcId MId OPTIONAL,
- serviceChangeAddress ServiceChangeAddress OPTIONAL,
- serviceChangeVersion INTEGER(0..99) OPTIONAL,
- serviceChangeProfile ServiceChangeProfile OPTIONAL,
- ...
-}
-
-ServiceChangeMethod ::= ENUMERATED
-{
- failover(0),
- forced(1),
- graceful(2),
- restart(3),
- disconnected(4),
- handOff(5),
- ...
-}
-
-ServiceChangeProfile ::= SEQUENCE
-{
- profileName Name,
- version INTEGER(0..99)
-}
-
-PackagesDescriptor ::= SEQUENCE OF PackagesItem
-
-PackagesItem ::= SEQUENCE
-{
- packageName Name,
- packageVersion INTEGER(0..99),
- ...
-}
-
-StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter
-
-StatisticsParameter ::= SEQUENCE
-{
- statName PkgdName,
- statValue Value
-}
-
--- NonStandardData ::= SEQUENCE
--- {
--- nonStandardIdentifier NonStandardIdentifier,
--- data OCTET STRING
--- }
---
--- NonStandardIdentifier ::= CHOICE
--- {
--- object OBJECT IDENTIFIER,
--- h221NonStandard H221NonStandard,
--- experimental IA5String(SIZE(8)),
--- first two characters should be "X-" or "X+"
--- ...
--- }
---
--- H221NonStandard ::= SEQUENCE
--- {
--- t35CountryCode1 INTEGER(0..255),
--- t35CountryCode2 INTEGER(0..255), country, as per T.35
--- t35Extension INTEGER(0..255), assigned nationally
--- manufacturerCode INTEGER(0..65535), assigned nationally
--- ...
--- }
-
-TimeNotation ::= SEQUENCE
-{
- date IA5String(SIZE(8)), -- yyyymmdd format
- time IA5String(SIZE(8)) -- hhmmssss format
-}
-
-Value ::= OCTET STRING
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/OTP-PKIX.asn1config b/lib/asn1/test/asn1_bin_SUITE_data/OTP-PKIX.asn1config
deleted file mode 100644
index 8d96aaecf1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/OTP-PKIX.asn1config
+++ /dev/null
@@ -1,2 +0,0 @@
-{exclusive_decode,{'OTP-PKIX',
- [{decode_TBSCert_exclusive,['CertificatePKIX1Explicit88',[{tbsCertificate,undecoded}]]}]}}.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/OTP-PKIX.set.asn b/lib/asn1/test/asn1_bin_SUITE_data/OTP-PKIX.set.asn
deleted file mode 100644
index 1b198d3b91..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/OTP-PKIX.set.asn
+++ /dev/null
@@ -1,5 +0,0 @@
-SSL-PKIX.asn1
-PKIX1Explicit88.asn1
-PKIX1Implicit88.asn1
-PKIXAttributeCertificate.asn1
-PKIX1Algorithms88.asn1
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ObjIdValues.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ObjIdValues.asn1
deleted file mode 100644
index 9368e8dceb..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ObjIdValues.asn1
+++ /dev/null
@@ -1,66 +0,0 @@
-
-ObjIdValues
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-ObjIdType ::= OBJECT IDENTIFIER
-
-mobileDomainId OBJECT IDENTIFIER ::=
- {ccitt (0) identified-organization (4) etsi (0) mobileDomain (0)}
-mobileDomainId-Alt1 OBJECT IDENTIFIER ::=
- {ccitt identified-organization etsi (0) mobileDomain (0)}
-mobileDomainId-Alt2 OBJECT IDENTIFIER ::=
- {0 4 0 0}
-
-gsm-NetworkId OBJECT IDENTIFIER ::=
- {mobileDomainId gsm-Network (1)}
-
-CommonComponentId ::= INTEGER (0..9)
-
-as-Id CommonComponentId ::= 1
-
-map-DialogueAS OBJECT IDENTIFIER ::=
-{gsm-NetworkId as-Id map-DialoguePDU (1) version1 (1)}
-
--- test for OTP-4354
--- But it only caused a warning
-objid OBJECT IDENTIFIER ::= {mobileDomainId-Alt2 as-Id}
-
-itu-t-a OBJECT IDENTIFIER ::= {itu-t recommendation a}
-itu-t-b OBJECT IDENTIFIER ::= {itu-t recommendation b}
-itu-t-c OBJECT IDENTIFIER ::= {itu-t recommendation c}
-itu-t-d OBJECT IDENTIFIER ::= {itu-t recommendation d}
-itu-t-e OBJECT IDENTIFIER ::= {itu-t recommendation e}
-itu-t-f OBJECT IDENTIFIER ::= {itu-t recommendation f}
-itu-t-g OBJECT IDENTIFIER ::= {itu-t recommendation g}
-itu-t-h OBJECT IDENTIFIER ::= {itu-t recommendation h}
-itu-t-i OBJECT IDENTIFIER ::= {itu-t recommendation i}
-itu-t-j OBJECT IDENTIFIER ::= {itu-t recommendation j}
-itu-t-k OBJECT IDENTIFIER ::= {itu-t recommendation k}
-itu-t-l OBJECT IDENTIFIER ::= {itu-t recommendation l}
-itu-t-m OBJECT IDENTIFIER ::= {itu-t recommendation m}
-itu-t-n OBJECT IDENTIFIER ::= {itu-t recommendation n}
-itu-t-o OBJECT IDENTIFIER ::= {itu-t recommendation o}
-itu-t-p OBJECT IDENTIFIER ::= {itu-t recommendation p}
-itu-t-q OBJECT IDENTIFIER ::= {itu-t recommendation q}
-itu-t-r OBJECT IDENTIFIER ::= {itu-t recommendation r}
-itu-t-t OBJECT IDENTIFIER ::= {itu-t recommendation t}
-itu-t-u OBJECT IDENTIFIER ::= {itu-t recommendation u}
-itu-t-v OBJECT IDENTIFIER ::= {itu-t recommendation v}
-itu-t-w OBJECT IDENTIFIER ::= {itu-t recommendation w}
-itu-t-x OBJECT IDENTIFIER ::= {itu-t recommendation x}
-itu-t-y OBJECT IDENTIFIER ::= {itu-t recommendation y}
-itu-t-z OBJECT IDENTIFIER ::= {itu-t recommendation z}
-ccitt-q OBJECT IDENTIFIER ::= {ccitt question}
-ccitt-a OBJECT IDENTIFIER ::= {ccitt administration}
-ccitt-n OBJECT IDENTIFIER ::= {ccitt network-operator}
-iso-i OBJECT IDENTIFIER ::= {iso identified-organization}
-joint-iso OBJECT IDENTIFIER ::= {joint-iso-ccitt}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Objects.asn b/lib/asn1/test/asn1_bin_SUITE_data/Objects.asn
deleted file mode 100644
index f911acbbe9..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Objects.asn
+++ /dev/null
@@ -1,61 +0,0 @@
-Objects DEFINITIONS ::=
-BEGIN
-
-OPERATION ::= CLASS
- {
- &ArgumentType OPTIONAL,
- &ResultType OPTIONAL,
- &Errors ERROR OPTIONAL,
- &Linked OPERATION OPTIONAL,
- &resultReturned BOOLEAN DEFAULT TRUE,
- &operationCode INTEGER UNIQUE
- }
-WITH SYNTAX
- {
- [ARGUMENT &ArgumentType]
- [RESULT &ResultType]
- [RETURN RESULT &resultReturned]
- [ERRORS &Errors]
- [LINKED &Linked]
- CODE &operationCode
- }
-
-ERROR ::= CLASS
- {
- &ParameterType OPTIONAL,
- &errorCode INTEGER UNIQUE
- }
-WITH SYNTAX
- {
- [PARAMETER &ParameterType]
- CODE &errorCode
- }
-
-My-Operations OPERATION ::= { operationA | operationB }
-
-operationA OPERATION ::= {
- ARGUMENT INTEGER
- ERRORS { { PARAMETER INTEGER CODE 1000 } | { CODE 1001 } }
- CODE 1
-}
-
-operationB OPERATION ::= {
- ARGUMENT IA5String
- RESULT BOOLEAN
- ERRORS { { CODE 1002 } | { PARAMETER IA5String CODE 1003 } }
- CODE 2
-}
-
-My-OperationErrors ERROR ::= { My-Operations.&Errors }
-
-My-OperationAERror ERROR ::= {operationA.&Errors}
--- Equals:
--- My-OperationErrors ERROR ::= { { PARAMETER INTEGER CODE 1000 } | { CODE 1001 } | { CODE 1002 } | { PARAMETER IA5String CODE 1003 } }
-
-My-OperationErrorCodes INTEGER ::= { My-Operations.&Errors.&errorCode }
--- Equals:
--- My-OperationErrorCodes INTEGER ::= { 1000 | 1001 | 1002 | 1003 }
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Octetstr.py b/lib/asn1/test/asn1_bin_SUITE_data/Octetstr.py
deleted file mode 100644
index e971acf192..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Octetstr.py
+++ /dev/null
@@ -1,15 +0,0 @@
-Octetstr DEFINITIONS ::=
-BEGIN
-
--- F.2.6.1
--- Use an octet string type to model binary data whose format and length are
--- unspecified, or specified elsewhere, and whose length in bits is a
--- multiple of eight.
--- EXAMPLE
-
-G4FacsimileImage ::= OCTET STRING
--- a sequence of octets conforming to
--- Recommendations T.5 and T.6
-image G4FacsimileImage ::= '3FE2EBAD471005'H
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/One.py b/lib/asn1/test/asn1_bin_SUITE_data/One.py
deleted file mode 100644
index 89083fbd66..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/One.py
+++ /dev/null
@@ -1,52 +0,0 @@
-One DEFINITIONS ::=
-
-BEGIN
-EXPORTS Boo,Foo,Bar;
---IMPORTS
---Fooo , Abba FROM Bobby
---Robbe FROM Tst;
-
-Boo ::= [1] INTEGER (0..200)
-
-Foo ::= One.Boo
-
-Bar ::= SEQUENCE {
- ff One.Foo,
- aa One.Boo }
-
-
- S ::= [1] IMPLICIT SEQUENCE {
- authInfo
- INTEGER, -- defined by authentication protocol
- authData
- Boo
- }
-
-
---S::= Jojo
---T ::= S
---U ::= T
---Jojo ::= [PRIVATE 21] SET {
--- Boo ,x
--- d SEQUENCE {
--- [0] INTEGER OPTIONAL,
--- [1] INTEGER DEFAULT 55 },
--- g [2] INTEGER (0..10) }
---
---J ::= [PRIVATE 22] EXPLICIT SEQUENCE {
--- y SEQUENCE {
--- one INTEGER,
--- two INTEGER },
--- x INTEGER (1..3),
--- a Boo OPTIONAL,
--- b INTEGER }
---
---Noo ::= [PRIVATE 23] SEQUENCE {
--- [0] Jojo,
--- [1] J }
-
-
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/OpenType.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/OpenType.asn1
deleted file mode 100644
index 8016f3663c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/OpenType.asn1
+++ /dev/null
@@ -1,12 +0,0 @@
-OpenType DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Stype ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-Ot ::= TYPE-IDENTIFIER.&Type (Stype)
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/OpenTypeImplicitTag.asn b/lib/asn1/test/asn1_bin_SUITE_data/OpenTypeImplicitTag.asn
deleted file mode 100644
index ee25b5cf3c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/OpenTypeImplicitTag.asn
+++ /dev/null
@@ -1,19 +0,0 @@
-OpenTypeImplicitTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Seq ::= SEQUENCE {
- a [1] A OPTIONAL,
- b [2] ANY OPTIONAL,
- c [3] INTEGER,
- d [4] C.&Type OPTIONAL
-}
-
-C ::= CLASS {
- &Type,
- &id INTEGER
-}
-
-A ::= ANY
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Opt.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/Opt.asn1
deleted file mode 100644
index 48c2a09b64..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Opt.asn1
+++ /dev/null
@@ -1,31 +0,0 @@
-Opt DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Opt1 ::= SEQUENCE
-{
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN OPTIONAL,
- bool2 [2] BOOLEAN OPTIONAL,
- bool3 [3] BOOLEAN OPTIONAL
-}
-
-
-Opt2 ::= SEQUENCE
-{
- bool10 [10] BOOLEAN,
- bool11 [11] BOOLEAN OPTIONAL,
- bool12 [12] BOOLEAN OPTIONAL,
- bool13 [13] BOOLEAN
-}
-
-
-Opt3 ::= SEQUENCE
-{
- bool30 [30] BOOLEAN OPTIONAL,
- bool31 [31] BOOLEAN OPTIONAL,
- bool32 [32] BOOLEAN OPTIONAL,
- bool33 [33] BOOLEAN OPTIONAL
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Opt.py b/lib/asn1/test/asn1_bin_SUITE_data/Opt.py
deleted file mode 100644
index 48c2a09b64..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Opt.py
+++ /dev/null
@@ -1,31 +0,0 @@
-Opt DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Opt1 ::= SEQUENCE
-{
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN OPTIONAL,
- bool2 [2] BOOLEAN OPTIONAL,
- bool3 [3] BOOLEAN OPTIONAL
-}
-
-
-Opt2 ::= SEQUENCE
-{
- bool10 [10] BOOLEAN,
- bool11 [11] BOOLEAN OPTIONAL,
- bool12 [12] BOOLEAN OPTIONAL,
- bool13 [13] BOOLEAN
-}
-
-
-Opt3 ::= SEQUENCE
-{
- bool30 [30] BOOLEAN OPTIONAL,
- bool31 [31] BOOLEAN OPTIONAL,
- bool32 [32] BOOLEAN OPTIONAL,
- bool33 [33] BOOLEAN OPTIONAL
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/P-Record.asn1config b/lib/asn1/test/asn1_bin_SUITE_data/P-Record.asn1config
deleted file mode 100644
index 45405da8bf..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/P-Record.asn1config
+++ /dev/null
@@ -1 +0,0 @@
-{selective_decode,{'P-Record',[{sel_dec,['PersonnelRecord',title]}]}}.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/P-Record.asn1db b/lib/asn1/test/asn1_bin_SUITE_data/P-Record.asn1db
deleted file mode 100644
index 13e1162c64..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/P-Record.asn1db
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/P-Record.erl b/lib/asn1/test/asn1_bin_SUITE_data/P-Record.erl
deleted file mode 100644
index 9fc6f50d64..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/P-Record.erl
+++ /dev/null
@@ -1,244 +0,0 @@
-%% Generated by the Erlang ASN.1 BER-compiler version, utilizing bit-syntax:1.3.1.4
-%% Purpose: encoder and decoder to the types in mod P-Record
-
--module('P-Record').
--include("P-Record.hrl").
--define('RT_PER',asn1rt_per_bin).
--export([encoding_rule/0]).
--export([
-'enc_PersonnelRecord'/1,
-'enc_ChildInformation'/1,
-'enc_Name'/1,
-'enc_EmployeeNumber'/1,
-'enc_Date'/1
-]).
-
--export([
-'dec_PersonnelRecord'/2,
-'dec_ChildInformation'/2,
-'dec_Name'/2,
-'dec_EmployeeNumber'/2,
-'dec_Date'/2
-]).
-
--export([
-'v'/0
-]).
-
-
-
--export([encode/2,decode/2,encode_disp/2,decode_disp/2]).
-
-encoding_rule() ->
- per_bin.
-
-encode(Type,Data) ->
-case catch ?RT_PER:complete(encode_disp(Type,Data)) of
- {'EXIT',{error,Reason}} ->
- {error,Reason};
- {'EXIT',Reason} ->
- {error,{asn1,Reason}};
- {Bytes,Len} ->
- {ok,Bytes};
- X ->
- {ok,X}
-end.
-
-decode(Type,Data) ->
-case catch decode_disp(Type,Data) of
- {'EXIT',{error,Reason}} ->
- {error,Reason};
- {'EXIT',Reason} ->
- {error,{asn1,Reason}};
- {X,_Rest} ->
- {ok,X};
- {X,_Rest,_Len} ->
- {ok,X}
-end.
-
-encode_disp('PersonnelRecord',Data) -> 'enc_PersonnelRecord'(Data);
-encode_disp('ChildInformation',Data) -> 'enc_ChildInformation'(Data);
-encode_disp('Name',Data) -> 'enc_Name'(Data);
-encode_disp('EmployeeNumber',Data) -> 'enc_EmployeeNumber'(Data);
-encode_disp('Date',Data) -> 'enc_Date'(Data);
-encode_disp(Type,Data) -> exit({error,{asn1,{undefined_type,Type}}}).
-
-
-decode_disp('PersonnelRecord',Data) -> 'dec_PersonnelRecord'(Data,mandatory);
-decode_disp('ChildInformation',Data) -> 'dec_ChildInformation'(Data,mandatory);
-decode_disp('Name',Data) -> 'dec_Name'(Data,mandatory);
-decode_disp('EmployeeNumber',Data) -> 'dec_EmployeeNumber'(Data,mandatory);
-decode_disp('Date',Data) -> 'dec_Date'(Data,mandatory);
-decode_disp(Type,Data) -> exit({error,{asn1,{undefined_type,Type}}}).
-
-
-
-
-
-'enc_PersonnelRecord'(Val) ->
-{Val1,Opt} = ?RT_PER:fixoptionals([{children,6}],Val),
-[
-?RT_PER:setoptionals(Opt),
-
-%% attribute number 1 with type Externaltypereference6P-RecordName
-'enc_Name'(?RT_PER:cindex(2,Val1,name)),
-
-%% attribute number 2 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(3,Val1,title)),
-
-%% attribute number 3 with type INTEGER
-?RT_PER:encode_integer([],?RT_PER:cindex(4,Val1,number)),
-
-%% attribute number 4 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(5,Val1,dateOfHire)),
-
-%% attribute number 5 with type Externaltypereference10P-RecordName
-'enc_Name'(?RT_PER:cindex(6,Val1,nameOfSpouse)),
-case ?RT_PER:cindex(7,Val1,children) of
-asn1_DEFAULT -> [];
-_ ->
-
-%% attribute number 6 with type SEQUENCE OF
-'enc_PersonnelRecord_children'(?RT_PER:cindex(7,Val1,children))
-end].
-
-'enc_PersonnelRecord_children'({'PersonnelRecord_children',Val}) ->
-'enc_PersonnelRecord_children'(Val);
-
-'enc_PersonnelRecord_children'(Val) ->
-[
-
- ?RT_PER:encode_length(undefined,length(Val)),
- 'enc_PersonnelRecord_children_components'(Val, [])
-].
-'enc_PersonnelRecord_children_components'([], Acc) -> lists:reverse(Acc);
-
-'enc_PersonnelRecord_children_components'([H|T], Acc) ->
-'enc_PersonnelRecord_children_components'(T, ['enc_ChildInformation'(H)
-
- | Acc]).
-
-'dec_PersonnelRecord_children'(Bytes,Telltype) ->
-
-{Num,Bytes1} = ?RT_PER:decode_length(Bytes,undefined),
-'dec_PersonnelRecord_children_components'(Num, Bytes1, Telltype, []).
-'dec_PersonnelRecord_children_components'(0, Bytes, Telltype, Acc) ->
- {lists:reverse(Acc), Bytes};
-'dec_PersonnelRecord_children_components'(Num, Bytes, Telltype, Acc) ->
- {Term,Remain} = 'P-Record':'dec_ChildInformation'(Bytes,Telltype),
- 'dec_PersonnelRecord_children_components'(Num-1, Remain, Telltype, [Term|Acc]).
-
-
-'dec_PersonnelRecord'(Bytes,Telltype) ->
-{Opt,Bytes1} = ?RT_PER:getoptionals(Bytes,1),
-%% attribute number 1 with type Name
-{Term1,Bytes2} = 'dec_Name'(Bytes1,telltype),
-
-%% attribute number 2 with type VisibleString
-{Term2,Bytes3} = ?RT_PER:decode_VisibleString(Bytes2,[]),
-
-%% attribute number 3 with type INTEGER
-{Term3,Bytes4} = ?RT_PER:decode_integer(Bytes3,[]),
-
-%% attribute number 4 with type VisibleString
-{Term4,Bytes5} = ?RT_PER:decode_VisibleString(Bytes4,[]),
-
-%% attribute number 5 with type Name
-{Term5,Bytes6} = 'dec_Name'(Bytes5,telltype),
-
-%% attribute number 6 with type SEQUENCE OF
-{Term6,Bytes7} = case element(1,Opt) of
-1 ->'dec_PersonnelRecord_children'(Bytes6, Telltype);
-0 ->{[],Bytes6}
-
-end,
-{{'PersonnelRecord',Term1,Term2,Term3,Term4,Term5,Term6},Bytes7}.
-
-'enc_ChildInformation'(Val) ->
-{Val1,Opt} = ?RT_PER:fixoptionals([{name,1},{dateOfBirth,2}],Val),
-[
-?RT_PER:setoptionals(Opt),
-case ?RT_PER:cindex(2,Val1,name) of
-asn1_NOVALUE -> [];
-_ ->
-
-%% attribute number 1 with type Externaltypereference15P-RecordName
-'enc_Name'(?RT_PER:cindex(2,Val1,name))
-end,
-case ?RT_PER:cindex(3,Val1,dateOfBirth) of
-asn1_NOVALUE -> [];
-_ ->
-
-%% attribute number 2 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(3,Val1,dateOfBirth))
-end].
-
-
-'dec_ChildInformation'(Bytes,Telltype) ->
-{Opt,Bytes1} = ?RT_PER:getoptionals(Bytes,2),
-%% attribute number 1 with type Name
-{Term1,Bytes2} = case element(1,Opt) of
-1 ->'dec_Name'(Bytes1,telltype);
-0 ->{asn1_NOVALUE,Bytes1}
-
-end,
-
-%% attribute number 2 with type VisibleString
-{Term2,Bytes3} = case element(2,Opt) of
-1 ->?RT_PER:decode_VisibleString(Bytes2,[]);
-0 ->{asn1_NOVALUE,Bytes2}
-
-end,
-{{'ChildInformation',Term1,Term2},Bytes3}.
-
-'enc_Name'(Val) ->
-Val1 = ?RT_PER:list_to_record('Name', Val),
-[
-
-%% attribute number 1 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(2,Val1,givenName)),
-
-%% attribute number 2 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(3,Val1,initial)),
-
-%% attribute number 3 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(4,Val1,familyName))].
-
-
-'dec_Name'(Bytes,Telltype) ->
-
-%% attribute number 1 with type VisibleString
-{Term1,Bytes1} = ?RT_PER:decode_VisibleString(Bytes,[]),
-
-%% attribute number 2 with type VisibleString
-{Term2,Bytes2} = ?RT_PER:decode_VisibleString(Bytes1,[]),
-
-%% attribute number 3 with type VisibleString
-{Term3,Bytes3} = ?RT_PER:decode_VisibleString(Bytes2,[]),
-{{'Name',Term1,Term2,Term3},Bytes3}.
-
-
-'enc_EmployeeNumber'({'EmployeeNumber',Val}) ->
-'enc_EmployeeNumber'(Val);
-
-'enc_EmployeeNumber'(Val) ->
-?RT_PER:encode_integer([],Val).
-
-
-'dec_EmployeeNumber'(Bytes,Telltype) ->
-?RT_PER:decode_integer(Bytes,[]).
-
-
-'enc_Date'({'Date',Val}) ->
-'enc_Date'(Val);
-
-'enc_Date'(Val) ->
-?RT_PER:encode_VisibleString([],Val).
-
-
-'dec_Date'(Bytes,Telltype) ->
-?RT_PER:decode_VisibleString(Bytes,[]).
-
-'v'() ->
-{'PersonnelRecord',{'Name',{74,111,104,110},[80],[83,109,105,116,104]},[68,105,114,101,99,116,111,114],51,[49,57,55,49,48,57,49,55],{'Name',{77,97,114,121},[84],[83,109,105,116,104]},[{'ChildInformation',{'Name',[82,97,108,112,104],[84],[83,109,105,116,104]},[49,57,53,55,49,49,49,49]},{'ChildInformation',{'Name',[83,117,115,97,110],[66],[74,111,110,101,115]},[49,57,53,57,48,55,49,55]}]}.
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/P-Record.hrl b/lib/asn1/test/asn1_bin_SUITE_data/P-Record.hrl
deleted file mode 100644
index 92aa1a44e2..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/P-Record.hrl
+++ /dev/null
@@ -1,17 +0,0 @@
-%% Generated by the Erlang ASN.1 compiler version:1.3.1.4
-%% Purpose: Erlang record definitions for each named and unnamed
-%% SEQUENCE and SET, and macro definitions for each value
-%% definition,in module P-Record
-
-
-
--record('PersonnelRecord',{
-name, title, number, dateOfHire, nameOfSpouse, children = asn1_DEFAULT}).
-
--record('ChildInformation',{
-name = asn1_NOVALUE, dateOfBirth = asn1_NOVALUE}).
-
--record('Name',{
-givenName, initial, familyName}).
-
--define('v', {'PersonnelRecord',{'Name',{74,111,104,110},[80],[83,109,105,116,104]},[68,105,114,101,99,116,111,114],51,[49,57,55,49,48,57,49,55],{'Name',{77,97,114,121},[84],[83,109,105,116,104]},[{'ChildInformation',{'Name',[82,97,108,112,104],[84],[83,109,105,116,104]},[49,57,53,55,49,49,49,49]},{'ChildInformation',{'Name',[83,117,115,97,110],[66],[74,111,110,101,115]},[49,57,53,57,48,55,49,55]}]}).
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/P-Record.py b/lib/asn1/test/asn1_bin_SUITE_data/P-Record.py
deleted file mode 100644
index f1db09ac6c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/P-Record.py
+++ /dev/null
@@ -1,59 +0,0 @@
-P-Record DEFINITIONS ::=
-BEGIN
-
-
-PersonnelRecord ::= [APPLICATION 0] SET
-{ name Name,
- title VisibleString,
- number EmployeeNumber,
- dateOfHire Date,
- nameOfSpouse [1] Name,
- children SEQUENCE OF ChildInformation DEFAULT {}
-}
-
-ChildInformation ::= SET
-{ name Name,
- dateOfBirth Date
-}
-
-Name ::= [APPLICATION 1] SEQUENCE
-{ givenName VisibleString,
- initial VisibleString,
- familyName VisibleString
-}
-
-EmployeeNumber ::= [APPLICATION 2] INTEGER
-Date ::= [APPLICATION 3] VisibleString -- YYYY MMDD
-
-v PersonnelRecord ::=
-{
- name {
- givenName "John",
- initial "P",
- familyName "Smith"
- },
- title "Director",
- number 51,
- dateOfHire "19710917",
- nameOfSpouse {
- givenName "Mary",
- initial "T",
- familyName "Smith"
- },
- children {
- {name {
- givenName "Ralph",
- initial "T",
- familyName "Smith"
- } ,
- dateOfBirth "19571111"},
- {name {
- givenName "Susan",
- initial "B",
- familyName "Jones"
- } ,
- dateOfBirth "19590717" }
- }
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/P-RecordA1.asn b/lib/asn1/test/asn1_bin_SUITE_data/P-RecordA1.asn
deleted file mode 100644
index 33ba690e1e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/P-RecordA1.asn
+++ /dev/null
@@ -1,29 +0,0 @@
-P-RecordA1 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {
- name Name,
- title [0] VisibleString,
- number EmployeeNumber,
- dateOfHire [1] Date,
- nameOfSpouse [2] Name,
- children [3] IMPLICIT SEQUENCE OF ChildInformation DEFAULT {}
-}
-
-ChildInformation ::= SET {
- name Name,
- dateOfBirth [0] Date
-}
-
-Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- givenName VisibleString,
- initial VisibleString,
- familyName VisibleString
-}
-
-EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER
-
-Date ::= [APPLICATION 3] IMPLICIT VisibleString -- YYYYMMDD
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/P-RecordA2.asn b/lib/asn1/test/asn1_bin_SUITE_data/P-RecordA2.asn
deleted file mode 100644
index 50ae419399..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/P-RecordA2.asn
+++ /dev/null
@@ -1,33 +0,0 @@
-P-RecordA2 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {
- name Name,
- title [0] VisibleString,
- number EmployeeNumber,
- dateOfHire [1] Date,
- nameOfSpouse [2] Name,
- children [3] IMPLICIT SEQUENCE OF ChildInformation DEFAULT {}
-}
-
-ChildInformation ::= SET {
- name Name,
- dateOfBirth [0] Date
-}
-
-Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- givenName NameString,
- initial NameString (SIZE(1)),
- familyName NameString
-}
-
-EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER
-
-Date ::= [APPLICATION 3] IMPLICIT VisibleString (FROM("0".."9") ^ SIZE(8)) -- YYYYMMDD
-
-NameString ::= VisibleString (FROM("a".."z" | "A".."Z" | "-.") ^ SIZE(1..64))
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/P-RecordA3.asn b/lib/asn1/test/asn1_bin_SUITE_data/P-RecordA3.asn
deleted file mode 100644
index 74023140e4..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/P-RecordA3.asn
+++ /dev/null
@@ -1,40 +0,0 @@
-P-RecordA3 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {
- name Name,
- title [0] VisibleString,
- number EmployeeNumber,
- dateOfHire [1] Date,
- nameOfSpouse [2] Name,
- children [3] IMPLICIT SEQUENCE (SIZE(2, ...)) OF ChildInformation OPTIONAL,
- ...
-}
-
-ChildInformation ::= SET {
- name Name,
- dateOfBirth [0] Date,
- ...,
- sex [1] IMPLICIT ENUMERATED {
- male(1),
- female(2),
- unknown(3)
- } OPTIONAL
-}
-
-Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- givenName NameString,
- initial NameString (SIZE(1)),
- familyName NameString,
- ...
-}
-
-EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER (0..9999, ...)
-
-Date ::= [APPLICATION 3] IMPLICIT VisibleString (FROM("0".."9") ^ SIZE(8, ..., 9..20)) -- YYYYMMDD
-
-NameString ::= VisibleString (FROM("a".."z" | "A".."Z" | "-.") ^ SIZE(1..64, ...))
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/P.py b/lib/asn1/test/asn1_bin_SUITE_data/P.py
deleted file mode 100644
index 1431ae07b9..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/P.py
+++ /dev/null
@@ -1,19 +0,0 @@
-P DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS P1, P2;
-
-P1 ::= SEQUENCE {
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL
- }
-
-P2 ::= SEQUENCE {
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL,
- nr BOOLEAN
- }
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PDUs.py b/lib/asn1/test/asn1_bin_SUITE_data/PDUs.py
deleted file mode 100644
index 907348193f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PDUs.py
+++ /dev/null
@@ -1,325 +0,0 @@
-PDUs DEFINITIONS ::=
-
--- Search for 'org' to find changes for erlang.
-
--- SnmpMgmtCom and PDUs only for dbg.
-
-
-BEGIN
-EXPORTS SnmpPrivMsg, SnmpAuthMsg, SnmpMgmtCom, PDUs;
-
--- From RFC 1442
-
- -- names of objects
-
- ObjectName ::=
- OBJECT IDENTIFIER
-
-
- -- syntax of objects
-
- ObjectSyntax ::=
- CHOICE {
- simple
- SimpleSyntax,
-
- -- note that SEQUENCEs for conceptual tables and
- -- rows are not mentioned here...
-
- applicationWide
- ApplicationSyntax
- }
-
-
- -- built-in ASN.1 types
-
- SimpleSyntax ::=
- CHOICE {
- -- INTEGERs with a more restrictive range
- -- may also be used
- integerValue
- INTEGER,
-
- stringValue
- OCTET STRING,
-
- objectIDValue
- OBJECT IDENTIFIER,
-
- -- only the enumerated form is allowed
- bitValue
- BIT STRING
- }
-
-
- -- indistinguishable from INTEGER, but never needs more than
- -- 32Bits for a two's complement representation
- Integer32 ::=
- [UNIVERSAL 2]
- IMPLICIT INTEGER (-2147483648..2147483647)
-
-
- -- applicationWide types
-
- ApplicationSyntax ::=
- CHOICE {
- ipAddressValue
- IpAddress,
-
- counterValue
- Counter32,
-
- gaugeValue
- Gauge32,
-
- timeticksValue
- TimeTicks,
-
- arbitraryValue
- Opaque,
-
- nsapAddressValue
- NsapAddress,
-
- bigCounterValue
- Counter64,
-
- unsignedIntegerValue
- UInteger32
- }
-
- -- in networkByte order
- -- (this is a tagged type for historical reasons)
- IpAddress ::=
- [APPLICATION 0]
- IMPLICIT OCTET STRING (SIZE (4))
-
-
-
-
- -- this wraps
- Counter32 ::=
- [APPLICATION 1]
- IMPLICIT INTEGER (0..4294967295)
-
- -- this doesn't wrap
- Gauge32 ::=
- [APPLICATION 2]
- IMPLICIT INTEGER (0..4294967295)
-
- -- hundredths of seconds since an epoch
- TimeTicks ::=
- [APPLICATION 3]
- IMPLICIT INTEGER (0..4294967295)
-
- -- for backwardCompatibility only
- Opaque ::=
- [APPLICATION 4]
- IMPLICIT OCTET STRING
-
- -- for OSI NSAP addresses
- -- (this is a tagged type for historical reasons)
- NsapAddress ::=
- [APPLICATION 5]
--- org: IMPLICIT OCTET STRING (SIZE (1 | 4..21))
- IMPLICIT OCTET STRING
-
- -- for counters that wrap in less than one hour with only 32 bits
- Counter64 ::=
- [APPLICATION 6]
- IMPLICIT INTEGER (0..18446744073709551615)
-
- -- an unsigned 32Bit quantity
- UInteger32 ::=
- [APPLICATION 7]
- IMPLICIT INTEGER (0..4294967295)
-
-
--- From RFC 1445
-
- SnmpPrivMsg ::= [1] IMPLICIT SEQUENCE {
- privDst
- OBJECT IDENTIFIER,
- privData
- [1] IMPLICIT OCTET STRING
- }
-
- SnmpAuthMsg ::= [1] IMPLICIT SEQUENCE {
- authInfo
- ANY, -- defined by authentication protocol
- authData
- SnmpMgmtCom
- }
-
- SnmpMgmtCom ::= [2] IMPLICIT SEQUENCE {
- dstParty
- OBJECT IDENTIFIER,
- srcParty
- OBJECT IDENTIFIER,
- context
- OBJECT IDENTIFIER,
- pdu
- PDUs
- }
-
-
--- From RFC 1448
-
- -- org: no tag at all. we need a tag to test 'PDUs'.
- PDUs ::= [PRIVATE 1]
- -- remove tag when 'PDUs' only is used in another type.
- CHOICE {
- getRequest
- GetRequestPdu,
-
- getNextRequest
- GetNextRequestPdu,
-
- getBulkRequest
- GetBulkRequestPdu,
-
- response
- ResponsePdu,
-
- setRequest
- SetRequestPdu,
-
- informRequest
- InformRequestPdu,
-
- snmpV2Trap
- SNMPv2TrapPdu
- }
-
- -- PDUs
-
- GetRequestPdu ::=
- [0]
- IMPLICIT PDU
-
- GetNextRequestPdu ::=
- [1]
- IMPLICIT PDU
-
- ResponsePdu ::=
- [2]
- IMPLICIT PDU
-
- SetRequestPdu ::=
- [3]
- IMPLICIT PDU
-
- -- [4] is obsolete
-
- GetBulkRequestPdu ::=
- [5]
- IMPLICIT BulkPDU
-
- InformRequestPdu ::=
- [6]
- IMPLICIT PDU
-
- SNMPv2TrapPdu ::=
- [7]
- IMPLICIT PDU
-
-
- maxBindings
- INTEGER ::= 2147483647
-
- PDU ::=
- SEQUENCE {
- requestId
- Integer32,
-
- errorStatus -- sometimes ignored
- INTEGER {
- noError(0),
- tooBig(1),
- noSuchName(2), -- for proxy compatibility
- badValue(3), -- for proxy compatibility
- readOnly(4), -- for proxy compatibility
- genErr(5),
- noAccess(6),
- wrongType(7),
- wrongLength(8),
- wrongEncoding(9),
- wrongValue(10),
- noCreation(11),
- inconsistentValue(12),
- resourceUnavailable(13),
- commitFailed(14),
- undoFailed(15),
- authorizationError(16),
- notWritable(17),
- inconsistentName(18)
- },
-
- errorIndex -- sometimes ignored
- INTEGER (0..maxBindings),
-
- variableBindings -- values are sometimes ignored
- VarBindList
- }
-
-
- BulkPDU ::= -- MUST be identical in
- SEQUENCE { -- structure to PDU
- requestId
- Integer32,
-
- nonRepeaters
- INTEGER (0..maxBindings),
-
- maxRepetitions
- INTEGER (0..maxBindings),
-
- variableBindings -- values are ignored
- VarBindList
- }
-
-
- VarBind ::=
- SEQUENCE {
- name
- ObjectName,
-
- data CHOICE {
- value
- ObjectSyntax,
-
- unSpecified -- in retrieval requests
- NULL,
-
- -- exceptions in responses
- noSuchObject[0]
- IMPLICIT NULL,
-
- noSuchInstance[1]
- IMPLICIT NULL,
-
- endOfMibView[2]
- IMPLICIT NULL
- }
- }
-
-
- -- variableBinding list
-
- VarBindList ::=
- SEQUENCE OF VarBind
-
--- org:
--- VarBindList ::=
--- SEQUENCE (SIZE (0..maxBindings)) OF
--- VarBind
-
-END
-
-
-
-
-
-
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Algorithms88.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Algorithms88.asn1
deleted file mode 100644
index e78de69b0e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Algorithms88.asn1
+++ /dev/null
@@ -1,274 +0,0 @@
- PKIX1Algorithms88 { iso(1) identified-organization(3) dod(6)
- internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
- id-mod-pkix1-algorithms(17) }
-
- DEFINITIONS EXPLICIT TAGS ::= BEGIN
-
- -- EXPORTS All;
-
- -- IMPORTS NONE;
-
- --
- -- One-way Hash Functions
- --
-
- md2 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) rsadsi(113549)
- digestAlgorithm(2) 2 }
-
- md5 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) rsadsi(113549)
- digestAlgorithm(2) 5 }
-
- id-sha1 OBJECT IDENTIFIER ::= {
- iso(1) identified-organization(3) oiw(14) secsig(3)
- algorithms(2) 26 }
-
- --
- -- DSA Keys and Signatures
- --
-
- -- OID for DSA public key
-
- id-dsa OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 }
-
- -- encoding for DSA public key
-
- DSAPublicKey ::= INTEGER -- public key, y
-
- Dss-Parms ::= SEQUENCE {
- p INTEGER,
- q INTEGER,
- g INTEGER }
-
- -- OID for DSA signature generated with SHA-1 hash
-
- id-dsa-with-sha1 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 }
-
- -- encoding for DSA signature generated with SHA-1 hash
-
- Dss-Sig-Value ::= SEQUENCE {
- r INTEGER,
- s INTEGER }
-
- --
- -- RSA Keys and Signatures
- --
-
- -- arc for RSA public key and RSA signature OIDs
-
- pkcs-1 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 }
-
- -- OID for RSA public keys
-
- rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 }
-
- -- OID for RSA signature generated with MD2 hash
-
- md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 }
-
- -- OID for RSA signature generated with MD5 hash
-
- md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 }
-
- -- OID for RSA signature generated with SHA-1 hash
-
- sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 }
-
- -- encoding for RSA public key
-
- RSAPublicKey ::= SEQUENCE {
- modulus INTEGER, -- n
- publicExponent INTEGER } -- e
-
- --
- -- Diffie-Hellman Keys
- --
-
- dhpublicnumber OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) ansi-x942(10046)
- number-type(2) 1 }
-
- -- encoding for DSA public key
-
- DHPublicKey ::= INTEGER -- public key, y = g^x mod p
-
- DomainParameters ::= SEQUENCE {
- p INTEGER, -- odd prime, p=jq +1
- g INTEGER, -- generator, g
- q INTEGER, -- factor of p-1
- j INTEGER OPTIONAL, -- subgroup factor, j>= 2
- validationParms ValidationParms OPTIONAL }
-
- ValidationParms ::= SEQUENCE {
- seed BIT STRING,
- pgenCounter INTEGER }
-
- --
- -- KEA Keys
- --
-
- id-keyExchangeAlgorithm OBJECT IDENTIFIER ::=
- { 2 16 840 1 101 2 1 1 22 }
-
- KEA-Parms-Id ::= OCTET STRING
-
- --
- -- Elliptic Curve Keys, Signatures, and Curves
- --
-
- ansi-X9-62 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) 10045 }
-
- FieldID ::= SEQUENCE { -- Finite field
- fieldType OBJECT IDENTIFIER,
- parameters ANY DEFINED BY fieldType }
-
- -- Arc for ECDSA signature OIDS
-
- id-ecSigType OBJECT IDENTIFIER ::= { ansi-X9-62 signatures(4) }
-
- -- OID for ECDSA signatures with SHA-1
-
- ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { id-ecSigType 1 }
-
- -- OID for an elliptic curve signature
- -- format for the value of an ECDSA signature value
-
- ECDSA-Sig-Value ::= SEQUENCE {
- r INTEGER,
- s INTEGER }
-
- -- recognized field type OIDs are defined in the following arc
-
- id-fieldType OBJECT IDENTIFIER ::= { ansi-X9-62 fieldType(1) }
-
- -- where fieldType is prime-field, the parameters are of type Prime-p
-
- prime-field OBJECT IDENTIFIER ::= { id-fieldType 1 }
-
- Prime-p ::= INTEGER -- Finite field F(p), where p is an odd prime
-
- -- where fieldType is characteristic-two-field, the parameters are
- -- of type Characteristic-two
-
- characteristic-two-field OBJECT IDENTIFIER ::= { id-fieldType 2 }
-
- Characteristic-two ::= SEQUENCE {
- m INTEGER, -- Field size 2^m
- basis OBJECT IDENTIFIER,
- parameters ANY DEFINED BY basis }
-
- -- recognized basis type OIDs are defined in the following arc
-
- id-characteristic-two-basis OBJECT IDENTIFIER ::= {
- characteristic-two-field basisType(3) }
-
- -- gnbasis is identified by OID gnBasis and indicates
- -- parameters are NULL
-
- gnBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 1 }
-
- -- parameters for this basis are NULL
-
- -- trinomial basis is identified by OID tpBasis and indicates
- -- parameters of type Pentanomial
-
- tpBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 2 }
-
- -- Trinomial basis representation of F2^m
- -- Integer k for reduction polynomial xm + xk + 1
-
- Trinomial ::= INTEGER
-
- -- for pentanomial basis is identified by OID ppBasis and indicates
- -- parameters of type Pentanomial
-
- ppBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 3 }
-
- -- Pentanomial basis representation of F2^m
- -- reduction polynomial integers k1, k2, k3
- -- f(x) = x**m + x**k3 + x**k2 + x**k1 + 1
-
- Pentanomial ::= SEQUENCE {
- k1 INTEGER,
- k2 INTEGER,
- k3 INTEGER }
-
- -- The object identifiers gnBasis, tpBasis and ppBasis name
- -- three kinds of basis for characteristic-two finite fields
-
- FieldElement ::= OCTET STRING -- Finite field element
-
- ECPoint ::= OCTET STRING -- Elliptic curve point
-
- -- Elliptic Curve parameters may be specified explicitly,
- -- specified implicitly through a "named curve", or
- -- inherited from the CA
-
- EcpkParameters ::= CHOICE {
- ecParameters ECParameters,
- namedCurve OBJECT IDENTIFIER,
- implicitlyCA NULL }
-
- ECParameters ::= SEQUENCE { -- Elliptic curve parameters
- version ECPVer,
- fieldID FieldID,
- curve Curve,
- base ECPoint, -- Base point G
- order INTEGER, -- Order n of the base point
- cofactor INTEGER OPTIONAL } -- The integer h = #E(Fq)/n
-
- ECPVer ::= INTEGER {ecpVer1(1)}
-
- Curve ::= SEQUENCE {
- a FieldElement, -- Elliptic curve coefficient a
- b FieldElement, -- Elliptic curve coefficient b
- seed BIT STRING OPTIONAL }
-
- id-publicKeyType OBJECT IDENTIFIER ::= { ansi-X9-62 keyType(2) }
-
- id-ecPublicKey OBJECT IDENTIFIER ::= { id-publicKeyType 1 }
-
- -- Named Elliptic Curves in ANSI X9.62.
-
- ellipticCurve OBJECT IDENTIFIER ::= { ansi-X9-62 curves(3) }
-
- c-TwoCurve OBJECT IDENTIFIER ::= {
- ellipticCurve characteristicTwo(0) }
-
- c2pnb163v1 OBJECT IDENTIFIER ::= { c-TwoCurve 1 }
- c2pnb163v2 OBJECT IDENTIFIER ::= { c-TwoCurve 2 }
- c2pnb163v3 OBJECT IDENTIFIER ::= { c-TwoCurve 3 }
- c2pnb176w1 OBJECT IDENTIFIER ::= { c-TwoCurve 4 }
- c2tnb191v1 OBJECT IDENTIFIER ::= { c-TwoCurve 5 }
- c2tnb191v2 OBJECT IDENTIFIER ::= { c-TwoCurve 6 }
- c2tnb191v3 OBJECT IDENTIFIER ::= { c-TwoCurve 7 }
- c2onb191v4 OBJECT IDENTIFIER ::= { c-TwoCurve 8 }
- c2onb191v5 OBJECT IDENTIFIER ::= { c-TwoCurve 9 }
- c2pnb208w1 OBJECT IDENTIFIER ::= { c-TwoCurve 10 }
- c2tnb239v1 OBJECT IDENTIFIER ::= { c-TwoCurve 11 }
- c2tnb239v2 OBJECT IDENTIFIER ::= { c-TwoCurve 12 }
- c2tnb239v3 OBJECT IDENTIFIER ::= { c-TwoCurve 13 }
- c2onb239v4 OBJECT IDENTIFIER ::= { c-TwoCurve 14 }
- c2onb239v5 OBJECT IDENTIFIER ::= { c-TwoCurve 15 }
- c2pnb272w1 OBJECT IDENTIFIER ::= { c-TwoCurve 16 }
- c2pnb304w1 OBJECT IDENTIFIER ::= { c-TwoCurve 17 }
- c2tnb359v1 OBJECT IDENTIFIER ::= { c-TwoCurve 18 }
- c2pnb368w1 OBJECT IDENTIFIER ::= { c-TwoCurve 19 }
- c2tnb431r1 OBJECT IDENTIFIER ::= { c-TwoCurve 20 }
-
- primeCurve OBJECT IDENTIFIER ::= { ellipticCurve prime(1) }
-
- prime192v1 OBJECT IDENTIFIER ::= { primeCurve 1 }
- prime192v2 OBJECT IDENTIFIER ::= { primeCurve 2 }
- prime192v3 OBJECT IDENTIFIER ::= { primeCurve 3 }
- prime239v1 OBJECT IDENTIFIER ::= { primeCurve 4 }
- prime239v2 OBJECT IDENTIFIER ::= { primeCurve 5 }
- prime239v3 OBJECT IDENTIFIER ::= { primeCurve 6 }
- prime256v1 OBJECT IDENTIFIER ::= { primeCurve 7 }
-
- END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Explicit88.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Explicit88.asn1
deleted file mode 100644
index 7874679a38..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Explicit88.asn1
+++ /dev/null
@@ -1,619 +0,0 @@
-PKIX1Explicit88 { iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit(18) }
-
-DEFINITIONS EXPLICIT TAGS ::=
-
-BEGIN
-
--- EXPORTS ALL --
-
--- IMPORTS NONE --
-
--- UNIVERSAL Types defined in 1993 and 1998 ASN.1
--- and required by this specification
-
--- UniversalString ::= [UNIVERSAL 28] IMPLICIT OCTET STRING
- -- UniversalString is defined in ASN.1:1993
-
--- BMPString ::= [UNIVERSAL 30] IMPLICIT OCTET STRING
- -- BMPString is the subtype of UniversalString and models
- -- the Basic Multilingual Plane of ISO/IEC/ITU 10646-1
-
---UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
- -- The content of this type conforms to RFC 2279.
-
--- PKIX specific OIDs
-
-id-pkix OBJECT IDENTIFIER ::=
- { iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) }
-
--- PKIX arcs
-
-id-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
- -- arc for private certificate extensions
-id-qt OBJECT IDENTIFIER ::= { id-pkix 2 }
- -- arc for policy qualifier types
-id-kp OBJECT IDENTIFIER ::= { id-pkix 3 }
- -- arc for extended key purpose OIDS
-id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
- -- arc for access descriptors
-
--- policyQualifierIds for Internet policy qualifiers
-
-id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
- -- OID for CPS qualifier
-id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
- -- OID for user notice qualifier
-
--- access descriptor definitions
-
-id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
-id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
-id-ad-timeStamping OBJECT IDENTIFIER ::= { id-ad 3 }
-id-ad-caRepository OBJECT IDENTIFIER ::= { id-ad 5 }
-
--- attribute data types
-
-Attribute ::= SEQUENCE {
- type AttributeType,
- values SET OF AttributeValue }
- -- at least one value is required
-
-AttributeType ::= OBJECT IDENTIFIER
-
-AttributeValue ::= ANY
-
-AttributeTypeAndValue ::= SEQUENCE {
- type AttributeType,
- value AttributeValue }
-
--- suggested naming attributes: Definition of the following
--- information object set may be augmented to meet local
--- requirements. Note that deleting members of the set may
--- prevent interoperability with conforming implementations.
--- presented in pairs: the AttributeType followed by the
--- type definition for the corresponding AttributeValue
---Arc for standard naming attributes
-id-at OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 4 }
-
--- Naming attributes of type X520name
-
-id-at-name AttributeType ::= { id-at 41 }
-id-at-surname AttributeType ::= { id-at 4 }
-id-at-givenName AttributeType ::= { id-at 42 }
-id-at-initials AttributeType ::= { id-at 43 }
-id-at-generationQualifier AttributeType ::= { id-at 44 }
-
-X520name ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-name)),
- printableString PrintableString (SIZE (1..ub-name)),
- universalString UniversalString (SIZE (1..ub-name)),
- utf8String UTF8String (SIZE (1..ub-name)),
- bmpString BMPString (SIZE (1..ub-name)) }
-
--- Naming attributes of type X520CommonName
-
-id-at-commonName AttributeType ::= { id-at 3 }
-
-X520CommonName ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-common-name)),
- printableString PrintableString (SIZE (1..ub-common-name)),
- universalString UniversalString (SIZE (1..ub-common-name)),
- utf8String UTF8String (SIZE (1..ub-common-name)),
- bmpString BMPString (SIZE (1..ub-common-name)) }
-
--- Naming attributes of type X520LocalityName
-
-id-at-localityName AttributeType ::= { id-at 7 }
-
-X520LocalityName ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-locality-name)),
- printableString PrintableString (SIZE (1..ub-locality-name)),
- universalString UniversalString (SIZE (1..ub-locality-name)),
- utf8String UTF8String (SIZE (1..ub-locality-name)),
- bmpString BMPString (SIZE (1..ub-locality-name)) }
-
--- Naming attributes of type X520StateOrProvinceName
-
-id-at-stateOrProvinceName AttributeType ::= { id-at 8 }
-
-X520StateOrProvinceName ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-state-name)),
- printableString PrintableString (SIZE (1..ub-state-name)),
- universalString UniversalString (SIZE (1..ub-state-name)),
- utf8String UTF8String (SIZE (1..ub-state-name)),
- bmpString BMPString (SIZE(1..ub-state-name)) }
-
--- Naming attributes of type X520OrganizationName
-
-id-at-organizationName AttributeType ::= { id-at 10 }
-
-X520OrganizationName ::= CHOICE {
- teletexString TeletexString
- (SIZE (1..ub-organization-name)),
- printableString PrintableString
- (SIZE (1..ub-organization-name)),
- universalString UniversalString
- (SIZE (1..ub-organization-name)),
- utf8String UTF8String
- (SIZE (1..ub-organization-name)),
- bmpString BMPString
- (SIZE (1..ub-organization-name)) }
-
--- Naming attributes of type X520OrganizationalUnitName
-
-id-at-organizationalUnitName AttributeType ::= { id-at 11 }
-
-X520OrganizationalUnitName ::= CHOICE {
- teletexString TeletexString
- (SIZE (1..ub-organizational-unit-name)),
- printableString PrintableString
- (SIZE (1..ub-organizational-unit-name)),
- universalString UniversalString
- (SIZE (1..ub-organizational-unit-name)),
- utf8String UTF8String
- (SIZE (1..ub-organizational-unit-name)),
- bmpString BMPString
- (SIZE (1..ub-organizational-unit-name)) }
-
--- Naming attributes of type X520Title
-
-id-at-title AttributeType ::= { id-at 12 }
-
-X520Title ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-title)),
- printableString PrintableString (SIZE (1..ub-title)),
- universalString UniversalString (SIZE (1..ub-title)),
- utf8String UTF8String (SIZE (1..ub-title)),
- bmpString BMPString (SIZE (1..ub-title)) }
-
--- Naming attributes of type X520dnQualifier
-
-id-at-dnQualifier AttributeType ::= { id-at 46 }
-
-X520dnQualifier ::= PrintableString
-
--- Naming attributes of type X520countryName (digraph from IS 3166)
-
-id-at-countryName AttributeType ::= { id-at 6 }
-
-X520countryName ::= PrintableString (SIZE (2))
-
--- Naming attributes of type X520SerialNumber
-
-id-at-serialNumber AttributeType ::= { id-at 5 }
-
-X520SerialNumber ::= PrintableString (SIZE (1..ub-serial-number))
-
--- Naming attributes of type X520Pseudonym
-
-id-at-pseudonym AttributeType ::= { id-at 65 }
-
-X520Pseudonym ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-pseudonym)),
- printableString PrintableString (SIZE (1..ub-pseudonym)),
- universalString UniversalString (SIZE (1..ub-pseudonym)),
- utf8String UTF8String (SIZE (1..ub-pseudonym)),
- bmpString BMPString (SIZE (1..ub-pseudonym)) }
-
--- Naming attributes of type DomainComponent (from RFC 2247)
-
-id-domainComponent AttributeType ::=
- { 0 9 2342 19200300 100 1 25 }
-
-DomainComponent ::= IA5String
-
--- Legacy attributes
-
-pkcs-9 OBJECT IDENTIFIER ::=
- { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }
-
-id-emailAddress AttributeType ::= { pkcs-9 1 }
-
-EmailAddress ::= IA5String (SIZE (1..ub-emailaddress-length))
-
--- naming data types --
-
-Name ::= CHOICE { -- only one possibility for now --
- rdnSequence RDNSequence }
-
-RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
-
-DistinguishedName ::= RDNSequence
-
-RelativeDistinguishedName ::=
- SET SIZE (1 .. MAX) OF AttributeTypeAndValue
-
--- Directory string type --
-
-DirectoryString ::= CHOICE {
- teletexString TeletexString (SIZE (1..MAX)),
- printableString PrintableString (SIZE (1..MAX)),
- universalString UniversalString (SIZE (1..MAX)),
- utf8String UTF8String (SIZE (1..MAX)),
- bmpString BMPString (SIZE (1..MAX)) }
-
--- certificate and CRL specific structures begin here
-
-Certificate ::= SEQUENCE {
- tbsCertificate TBSCertificate,
- signatureAlgorithm AlgorithmIdentifier,
- signature BIT STRING }
-
-TBSCertificate ::= SEQUENCE {
- version [0] Version DEFAULT v1,
- serialNumber CertificateSerialNumber,
- signature AlgorithmIdentifier,
- issuer Name,
- validity Validity,
- subject Name,
- subjectPublicKeyInfo SubjectPublicKeyInfo,
- issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
- -- If present, version MUST be v2 or v3
- subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
- -- If present, version MUST be v2 or v3
- extensions [3] Extensions OPTIONAL
- -- If present, version MUST be v3 -- }
-
-Version ::= INTEGER { v1(0), v2(1), v3(2) }
-
-CertificateSerialNumber ::= INTEGER
-
-Validity ::= SEQUENCE {
- notBefore Time,
- notAfter Time }
-
-Time ::= CHOICE {
- utcTime UTCTime,
- generalTime GeneralizedTime }
-
-UniqueIdentifier ::= BIT STRING
-
-SubjectPublicKeyInfo ::= SEQUENCE {
- algorithm AlgorithmIdentifier,
- subjectPublicKey BIT STRING }
-
-Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
-
-Extension ::= SEQUENCE {
- extnID OBJECT IDENTIFIER,
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING }
-
--- CRL structures
-
-CertificateList ::= SEQUENCE {
- tbsCertList TBSCertList,
- signatureAlgorithm AlgorithmIdentifier,
- signature BIT STRING }
-
-TBSCertList ::= SEQUENCE {
- version Version OPTIONAL,
- -- if present, MUST be v2
- signature AlgorithmIdentifier,
- issuer Name,
- thisUpdate Time,
- nextUpdate Time OPTIONAL,
- revokedCertificates SEQUENCE OF SEQUENCE {
- userCertificate CertificateSerialNumber,
- revocationDate Time,
- crlEntryExtensions Extensions OPTIONAL
- -- if present, MUST be v2
- } OPTIONAL,
- crlExtensions [0] Extensions OPTIONAL }
- -- if present, MUST be v2
-
--- Version, Time, CertificateSerialNumber, and Extensions were
--- defined earlier for use in the certificate structure
-
-AlgorithmIdentifier ::= SEQUENCE {
- algorithm OBJECT IDENTIFIER,
- parameters ANY DEFINED BY algorithm OPTIONAL }
- -- contains a value of the type
- -- registered for use with the
- -- algorithm object identifier value
-
--- X.400 address syntax starts here
-
-ORAddress ::= SEQUENCE {
- built-in-standard-attributes BuiltInStandardAttributes,
- built-in-domain-defined-attributes
- BuiltInDomainDefinedAttributes OPTIONAL,
- -- see also teletex-domain-defined-attributes
- extension-attributes ExtensionAttributes OPTIONAL }
-
--- Built-in Standard Attributes
-
-BuiltInStandardAttributes ::= SEQUENCE {
- country-name CountryName OPTIONAL,
- administration-domain-name AdministrationDomainName OPTIONAL,
- network-address [0] IMPLICIT NetworkAddress OPTIONAL,
- -- see also extended-network-address
- terminal-identifier [1] IMPLICIT TerminalIdentifier OPTIONAL,
- private-domain-name [2] PrivateDomainName OPTIONAL,
- organization-name [3] IMPLICIT OrganizationName OPTIONAL,
- -- see also teletex-organization-name
- numeric-user-identifier [4] IMPLICIT NumericUserIdentifier
- OPTIONAL,
- personal-name [5] IMPLICIT PersonalName OPTIONAL,
- -- see also teletex-personal-name
- organizational-unit-names [6] IMPLICIT OrganizationalUnitNames
- OPTIONAL }
- -- see also teletex-organizational-unit-names
-
-CountryName ::= [APPLICATION 1] CHOICE {
- x121-dcc-code NumericString
- (SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString
- (SIZE (ub-country-name-alpha-length)) }
-
-AdministrationDomainName ::= [APPLICATION 2] CHOICE {
- numeric NumericString (SIZE (0..ub-domain-name-length)),
- printable PrintableString (SIZE (0..ub-domain-name-length)) }
-
-NetworkAddress ::= X121Address -- see also extended-network-address
-
-X121Address ::= NumericString (SIZE (1..ub-x121-address-length))
-
-TerminalIdentifier ::= PrintableString (SIZE
-(1..ub-terminal-id-length))
-
-PrivateDomainName ::= CHOICE {
- numeric NumericString (SIZE (1..ub-domain-name-length)),
- printable PrintableString (SIZE (1..ub-domain-name-length)) }
-
-OrganizationName ::= PrintableString
- (SIZE (1..ub-organization-name-length))
- -- see also teletex-organization-name
-
-NumericUserIdentifier ::= NumericString
- (SIZE (1..ub-numeric-user-id-length))
-
-PersonalName ::= SET {
- surname [0] IMPLICIT PrintableString
- (SIZE (1..ub-surname-length)),
- given-name [1] IMPLICIT PrintableString
- (SIZE (1..ub-given-name-length)) OPTIONAL,
- initials [2] IMPLICIT PrintableString
- (SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier [3] IMPLICIT PrintableString
- (SIZE (1..ub-generation-qualifier-length))
- OPTIONAL }
- -- see also teletex-personal-name
-
-OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units)
- OF OrganizationalUnitName
- -- see also teletex-organizational-unit-names
-
-OrganizationalUnitName ::= PrintableString (SIZE
- (1..ub-organizational-unit-name-length))
-
--- Built-in Domain-defined Attributes
-
-BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE
- (1..ub-domain-defined-attributes) OF
- BuiltInDomainDefinedAttribute
-
-BuiltInDomainDefinedAttribute ::= SEQUENCE {
- type PrintableString (SIZE
- (1..ub-domain-defined-attribute-type-length)),
- value PrintableString (SIZE
- (1..ub-domain-defined-attribute-value-length)) }
-
--- Extension Attributes
-
-ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes) OF
- ExtensionAttribute
-
-ExtensionAttribute ::= SEQUENCE {
- extension-attribute-type [0] IMPLICIT INTEGER
- (0..ub-extension-attributes),
- extension-attribute-value [1]
- ANY DEFINED BY extension-attribute-type }
-
--- Extension types and attribute values
-
-common-name INTEGER ::= 1
-
-CommonName ::= PrintableString (SIZE (1..ub-common-name-length))
-
-teletex-common-name INTEGER ::= 2
-
-TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length))
-
-teletex-organization-name INTEGER ::= 3
-
-TeletexOrganizationName ::=
- TeletexString (SIZE (1..ub-organization-name-length))
-
-teletex-personal-name INTEGER ::= 4
-
-TeletexPersonalName ::= SET {
- surname [0] IMPLICIT TeletexString
- (SIZE (1..ub-surname-length)),
- given-name [1] IMPLICIT TeletexString
- (SIZE (1..ub-given-name-length)) OPTIONAL,
- initials [2] IMPLICIT TeletexString
- (SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier [3] IMPLICIT TeletexString
- (SIZE (1..ub-generation-qualifier-length))
- OPTIONAL }
-
-teletex-organizational-unit-names INTEGER ::= 5
-
-TeletexOrganizationalUnitNames ::= SEQUENCE SIZE
- (1..ub-organizational-units) OF TeletexOrganizationalUnitName
-
-TeletexOrganizationalUnitName ::= TeletexString
- (SIZE (1..ub-organizational-unit-name-length))
-
-pds-name INTEGER ::= 7
-
-PDSName ::= PrintableString (SIZE (1..ub-pds-name-length))
-
-physical-delivery-country-name INTEGER ::= 8
-
-PhysicalDeliveryCountryName ::= CHOICE {
- x121-dcc-code NumericString (SIZE
-(ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString
- (SIZE (ub-country-name-alpha-length)) }
-
-postal-code INTEGER ::= 9
-
-PostalCode ::= CHOICE {
- numeric-code NumericString (SIZE (1..ub-postal-code-length)),
- printable-code PrintableString (SIZE (1..ub-postal-code-length)) }
-
-physical-delivery-office-name INTEGER ::= 10
-
-PhysicalDeliveryOfficeName ::= PDSParameter
-
-physical-delivery-office-number INTEGER ::= 11
-
-PhysicalDeliveryOfficeNumber ::= PDSParameter
-
-extension-OR-address-components INTEGER ::= 12
-
-ExtensionORAddressComponents ::= PDSParameter
-
-physical-delivery-personal-name INTEGER ::= 13
-
-PhysicalDeliveryPersonalName ::= PDSParameter
-
-physical-delivery-organization-name INTEGER ::= 14
-
-PhysicalDeliveryOrganizationName ::= PDSParameter
-
-extension-physical-delivery-address-components INTEGER ::= 15
-
-ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
-
-unformatted-postal-address INTEGER ::= 16
-
-UnformattedPostalAddress ::= SET {
- printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines)
- OF PrintableString (SIZE (1..ub-pds-parameter-length))
- OPTIONAL,
- teletex-string TeletexString
- (SIZE (1..ub-unformatted-address-length)) OPTIONAL }
-
-street-address INTEGER ::= 17
-
-StreetAddress ::= PDSParameter
-
-post-office-box-address INTEGER ::= 18
-
-PostOfficeBoxAddress ::= PDSParameter
-
-poste-restante-address INTEGER ::= 19
-
-PosteRestanteAddress ::= PDSParameter
-
-unique-postal-name INTEGER ::= 20
-
-UniquePostalName ::= PDSParameter
-
-local-postal-attributes INTEGER ::= 21
-
-LocalPostalAttributes ::= PDSParameter
-
-PDSParameter ::= SET {
- printable-string PrintableString
- (SIZE(1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string TeletexString
- (SIZE(1..ub-pds-parameter-length)) OPTIONAL }
-
-extended-network-address INTEGER ::= 22
-
-ExtendedNetworkAddress ::= CHOICE {
- e163-4-address SEQUENCE {
- number [0] IMPLICIT NumericString
- (SIZE (1..ub-e163-4-number-length)),
- sub-address [1] IMPLICIT NumericString
- (SIZE (1..ub-e163-4-sub-address-length))
- OPTIONAL },
- psap-address [0] IMPLICIT PresentationAddress }
-
-PresentationAddress ::= SEQUENCE {
- pSelector [0] EXPLICIT OCTET STRING OPTIONAL,
- sSelector [1] EXPLICIT OCTET STRING OPTIONAL,
- tSelector [2] EXPLICIT OCTET STRING OPTIONAL,
- nAddresses [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING }
-
-terminal-type INTEGER ::= 23
-
-TerminalType ::= INTEGER {
- telex (3),
- teletex (4),
- g3-facsimile (5),
- g4-facsimile (6),
- ia5-terminal (7),
- videotex (8) } (0..ub-integer-options)
-
--- Extension Domain-defined Attributes
-
-teletex-domain-defined-attributes INTEGER ::= 6
-
-TeletexDomainDefinedAttributes ::= SEQUENCE SIZE
- (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute
-
-TeletexDomainDefinedAttribute ::= SEQUENCE {
- type TeletexString
- (SIZE (1..ub-domain-defined-attribute-type-length)),
- value TeletexString
- (SIZE (1..ub-domain-defined-attribute-value-length)) }
-
--- specifications of Upper Bounds MUST be regarded as mandatory
--- from Annex B of ITU-T X.411 Reference Definition of MTS Parameter
--- Upper Bounds
-
--- Upper Bounds
-ub-name INTEGER ::= 32768
-ub-common-name INTEGER ::= 64
-ub-locality-name INTEGER ::= 128
-ub-state-name INTEGER ::= 128
-ub-organization-name INTEGER ::= 64
-ub-organizational-unit-name INTEGER ::= 64
-ub-title INTEGER ::= 64
-ub-serial-number INTEGER ::= 64
-ub-match INTEGER ::= 128
-ub-emailaddress-length INTEGER ::= 128
-ub-common-name-length INTEGER ::= 64
-ub-country-name-alpha-length INTEGER ::= 2
-ub-country-name-numeric-length INTEGER ::= 3
-ub-domain-defined-attributes INTEGER ::= 4
-ub-domain-defined-attribute-type-length INTEGER ::= 8
-ub-domain-defined-attribute-value-length INTEGER ::= 128
-ub-domain-name-length INTEGER ::= 16
-ub-extension-attributes INTEGER ::= 256
-ub-e163-4-number-length INTEGER ::= 15
-ub-e163-4-sub-address-length INTEGER ::= 40
-ub-generation-qualifier-length INTEGER ::= 3
-ub-given-name-length INTEGER ::= 16
-ub-initials-length INTEGER ::= 5
-ub-integer-options INTEGER ::= 256
-ub-numeric-user-id-length INTEGER ::= 32
-ub-organization-name-length INTEGER ::= 64
-ub-organizational-unit-name-length INTEGER ::= 32
-ub-organizational-units INTEGER ::= 4
-ub-pds-name-length INTEGER ::= 16
-ub-pds-parameter-length INTEGER ::= 30
-ub-pds-physical-address-lines INTEGER ::= 6
-ub-postal-code-length INTEGER ::= 16
-ub-pseudonym INTEGER ::= 128
-ub-surname-length INTEGER ::= 40
-ub-terminal-id-length INTEGER ::= 24
-ub-unformatted-address-length INTEGER ::= 180
-ub-x121-address-length INTEGER ::= 16
-
--- Note - upper bounds on string types, such as TeletexString, are
--- measured in characters. Excepting PrintableString or IA5String, a
--- significantly greater number of octets will be required to hold
--- such a value. As a minimum, 16 octets, or twice the specified
--- upper bound, whichever is the larger, should be allowed for
--- TeletexString. For UTF8String or UniversalString at least four
--- times the upper bound should be allowed.
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Explicit93.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Explicit93.asn1
deleted file mode 100644
index 714a682160..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Explicit93.asn1
+++ /dev/null
@@ -1,779 +0,0 @@
-PKIX1Explicit93 {iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit-93(3)}
-
-
-DEFINITIONS EXPLICIT TAGS ::=
-
-BEGIN
-
--- EXPORTS ALL --
-
-IMPORTS
- authorityKeyIdentifier, subjectKeyIdentifier, keyUsage,
- extendedKeyUsage, privateKeyUsagePeriod, certificatePolicies,
- policyMappings, subjectAltName, issuerAltName,
- basicConstraints, nameConstraints, policyConstraints,
- cRLDistributionPoints, subjectDirectoryAttributes,
- cRLNumber, reasonCode, instructionCode, invalidityDate,
- issuingDistributionPoint, certificateIssuer,
- deltaCRLIndicator, authorityInfoAccess, id-ce
- FROM PKIX1Implicit93 {iso(1) identified-organization(3)
- dod(6) internet(1) security(5) mechanisms(5) pkix(7)
- id-mod(0) id-pkix1-implicit-93(4)} ;
-
---
- -- Locally defined OIDs --
-
-id-pkix OBJECT IDENTIFIER ::=
- { iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) }
-
--- PKIX arcs
--- arc for private certificate extensions
-id-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
- -- arc for policy qualifier types
-id-qt OBJECT IDENTIFIER ::= { id-pkix 2 }
--- arc for extended key purpose OIDS
-id-kp OBJECT IDENTIFIER ::= { id-pkix 3 }
--- arc for access descriptors
-id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
-
--- policyQualifierIds for Internet policy qualifiers
-id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
- -- OID for CPS qualifier
-
-id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
- -- OID for user notice qualifier
-
--- based on excerpts from AuthenticationFramework
--- {joint-iso-ccitt ds(5) modules(1) authenticationFramework(7) 2}
-
- -- Public Key Certificate --
-
-Certificate ::= SIGNED { SEQUENCE {
- version [0] Version DEFAULT v1,
- serialNumber CertificateSerialNumber,
- signature AlgorithmIdentifier,
- issuer Name,
- validity Validity,
- subject Name,
- subjectPublicKeyInfo SubjectPublicKeyInfo,
- issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
- ---if present, version shall be v2 or v3--
- subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
- ---if present, version shall be v2 or v3--
- extensions [3] Extensions OPTIONAL
- --if present, version shall be v3--} }
-
-UniqueIdentifier ::= BIT STRING
-
-Version ::= INTEGER { v1(0), v2(1), v3(2) }
-
-CertificateSerialNumber ::= INTEGER
-
-Validity ::= SEQUENCE {
- notBefore Time,
- notAfter Time }
-
-Time ::= CHOICE {
- utcTime UTCTime,
- generalTime GeneralizedTime }
-
-SubjectPublicKeyInfo ::= SEQUENCE{
- algorithm AlgorithmIdentifier,
- subjectPublicKey BIT STRING}
-
-Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
-
-Extension ::= SEQUENCE {
- extnId EXTENSION.&id ({ExtensionSet}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING }
- -- contains a DER encoding of a value of type
- -- &ExtnType for the
- -- extension object identified by extnId --
-
--- The following information object set is defined to constrain the
--- set of legal certificate extensions.
-
-ExtensionSet EXTENSION ::= { authorityKeyIdentifier |
- subjectKeyIdentifier |
- keyUsage |
- extendedKeyUsage |
- privateKeyUsagePeriod |
- certificatePolicies |
- policyMappings |
- subjectAltName |
- issuerAltName |
- basicConstraints |
- nameConstraints |
- policyConstraints |
- cRLDistributionPoints |
- subjectDirectoryAttributes |
- authorityInfoAccess }
-
-EXTENSION ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &ExtnType }
-WITH SYNTAX {
- SYNTAX &ExtnType
- IDENTIFIED BY &id }
-
- -- Certificate Revocation List --
-
-CertificateList ::= SIGNED { SEQUENCE {
- version Version OPTIONAL, -- if present, shall be v2
- signature AlgorithmIdentifier,
- issuer Name,
- thisUpdate Time,
- nextUpdate Time OPTIONAL,
- revokedCertificates SEQUENCE OF SEQUENCE {
- userCertificate CertificateSerialNumber,
- revocationDate Time,
- crlEntryExtensions EntryExtensions OPTIONAL } OPTIONAL,
- crlExtensions [0] CRLExtensions OPTIONAL }}
-
-CRLExtensions ::= SEQUENCE SIZE (1..MAX) OF CRLExtension
-
-CRLExtension ::= SEQUENCE {
- extnId EXTENSION.&id ({CRLExtensionSet}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING }
- -- contains a DER encoding of a value of type
- -- &ExtnType for the
- -- extension object identified by extnId --
-
--- The following information object set is defined to constrain the
--- set of legal CRL extensions.
-
-CRLExtensionSet EXTENSION ::= { authorityKeyIdentifier |
- issuerAltName |
- cRLNumber |
- deltaCRLIndicator |
- issuingDistributionPoint }
-
--- EXTENSION defined above for certificates
-
-EntryExtensions ::= SEQUENCE SIZE (1..MAX) OF EntryExtension
-
-EntryExtension ::= SEQUENCE {
- extnId EXTENSION.&id ({EntryExtensionSet}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING }
- -- contains a DER encoding of a value of type
- -- &ExtnType for the
- -- extension object identified by extnId --
-
--- The following information object set is defined to constrain the
--- set of legal CRL entry extensions.
-
-EntryExtensionSet EXTENSION ::= { reasonCode |
- instructionCode |
- invalidityDate |
- certificateIssuer }
-
- -- information object classes used in the defintion --
- -- of certificates and CRLs --
-
--- Parameterized Type SIGNED --
-
- SIGNED { ToBeSigned } ::= SEQUENCE {
- toBeSigned ToBeSigned,
- algorithm AlgorithmIdentifier,
- signature BIT STRING
- }
-
--- Definition of AlgorithmIdentifier
--- ISO definition was:
---
--- AlgorithmIdentifier ::= SEQUENCE {
--- algorithm ALGORITHM.&id({SupportedAlgorithms}),
--- parameters ALGORITHM.&Type({SupportedAlgorithms}
--- { @algorithm}) OPTIONAL }
--- Definition of ALGORITHM
--- ALGORITHM ::= TYPE-IDENTIFIER
-
--- The following PKIX definition replaces the X.509 definition
---
-
-AlgorithmIdentifier ::= SEQUENCE {
- algorithm ALGORITHM-ID.&id({SupportedAlgorithms}),
- parameters ALGORITHM-ID.&Type({SupportedAlgorithms}
- { @algorithm}) OPTIONAL }
-
--- Definition of ALGORITHM-ID
-
- ALGORITHM-ID ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type OPTIONAL
- }
- WITH SYNTAX { OID &id [PARMS &Type] }
-
--- The definition of SupportedAlgorithms may be modified as this
--- document does not specify a mandatory algorithm set. In addition,
--- the set is specified as extensible, since additional algorithms
--- may be supported
-
-SupportedAlgorithms ALGORITHM-ID ::= { ..., -- extensible
- rsaPublicKey |
- rsaSHA-1 |
- rsaMD5 |
- rsaMD2 |
- dssPublicKey |
- dsaSHA-1 |
- dhPublicKey }
-
--- OIDs and parameter structures for ALGORITHM-IDs used
--- in this specification
-
-rsaPublicKey ALGORITHM-ID ::= { OID rsaEncryption PARMS NULL }
-
-rsaSHA-1 ALGORITHM-ID ::= { OID sha1WithRSAEncryption PARMS NULL }
-
-rsaMD5 ALGORITHM-ID ::= { OID md5WithRSAEncryption PARMS NULL }
-
-rsaMD2 ALGORITHM-ID ::= { OID md2WithRSAEncryption PARMS NULL }
-
-dssPublicKey ALGORITHM-ID ::= { OID id-dsa PARMS Dss-Parms }
-
-dsaSHA-1 ALGORITHM-ID ::= { OID id-dsa-with-sha1 }
-
-dhPublicKey ALGORITHM-ID ::= {OID dhpublicnumber PARMS DomainParameters}
-
--- algorithm identifiers and parameter structures
-
-pkcs-1 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 }
-
-rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 }
-
-md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 }
-
-md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 }
-
-sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 }
-
-id-dsa-with-sha1 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 }
-
-Dss-Sig-Value ::= SEQUENCE {
- r INTEGER,
- s INTEGER }
-
-dhpublicnumber OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) ansi-x942(10046) number-type(2) 1 }
-
-DomainParameters ::= SEQUENCE {
- p INTEGER, -- odd prime, p=jq +1
- g INTEGER, -- generator, g
- q INTEGER, -- factor of p-1
- j INTEGER OPTIONAL, -- subgroup factor, j>= 2
- validationParms ValidationParms OPTIONAL }
-
-ValidationParms ::= SEQUENCE {
- seed BIT STRING,
- pgenCounter INTEGER }
-
-id-dsa OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 }
-
-Dss-Parms ::= SEQUENCE {
- p INTEGER,
- q INTEGER,
- g INTEGER }
-
- -- The ASN.1 in this section supports the Name type
- -- and the directoryAttribute extension
-
--- attribute data types --
-
-Attribute ::= SEQUENCE {
- type ATTRIBUTE.&id ({SupportedAttributes}),
- values SET SIZE (1 .. MAX) OF ATTRIBUTE.&Type
- ({SupportedAttributes}{@type})}
-
-AttributeTypeAndValue ::= SEQUENCE {
- type ATTRIBUTE.&id ({SupportedAttributes}),
- value ATTRIBUTE.&Type ({SupportedAttributes}{@type})}
-
--- naming data types --
-
-Name ::= CHOICE { -- only one possibility for now --
- rdnSequence RDNSequence }
-
-RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
-
-RelativeDistinguishedName ::=
- SET SIZE (1 .. MAX) OF AttributeTypeAndValue
-
-ID ::= OBJECT IDENTIFIER
-
--- ATTRIBUTE information object class specification
--- Note: This has been greatly simplified for PKIX !!
-
-ATTRIBUTE ::= CLASS {
- &Type,
- &id OBJECT IDENTIFIER UNIQUE }
-WITH SYNTAX {
- WITH SYNTAX &Type ID &id }
-
--- suggested naming attributes
--- Definition of the following information object set may be
--- augmented to meet local requirements. Note that deleting
--- members of the set may prevent interoperability with
--- conforming implementations.
-
-SupportedAttributes ATTRIBUTE ::= {
- name | commonName | surname | givenName | initials |
- generationQualifier | dnQualifier | countryName |
- localityName | stateOrProvinceName | organizationName |
- organizationalUnitName | title | pkcs9email }
-
-name ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString { ub-name }
- ID id-at-name }
-
-commonName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-commonName }
-
-surname ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-surname }
-
-givenName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-givenName }
-
-initials ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-initials }
-
-generationQualifier ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-generationQualifier}
-
-dnQualifier ATTRIBUTE ::= {
- WITH SYNTAX PrintableString
- ID id-at-dnQualifier }
-
-
-countryName ATTRIBUTE ::= {
- WITH SYNTAX PrintableString (SIZE (2))
- -- IS 3166 codes only
- ID id-at-countryName }
-
-localityName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-locality-name}
- ID id-at-localityName }
-
-stateOrProvinceName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-state-name}
- ID id-at-stateOrProvinceName }
-
-organizationName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-organization-name}
- ID id-at-organizationName }
-
-organizationalUnitName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-organizational-unit-name}
- ID id-at-organizationalUnitName }
-
-title ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-title}
- ID id-at-title }
-
- -- Legacy attributes
-
-pkcs9email ATTRIBUTE ::= {
- WITH SYNTAX PHGString
- ID emailAddress }
-
-PHGString ::= IA5String (SIZE(1..ub-emailaddress-length))
-
-pkcs-9 OBJECT IDENTIFIER ::=
- { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }
-
-emailAddress OBJECT IDENTIFIER ::= { pkcs-9 1 }
-
- -- object identifiers for Name type and directory attribute support
-
--- Object identifier assignments --
-
-id-at OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 4}
-
--- Attributes --
-
-id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
-id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
-id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
-id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
-id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
-id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
-id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
-id-at-title OBJECT IDENTIFIER ::= {id-at 12}
-id-at-name OBJECT IDENTIFIER ::= {id-at 41}
-id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
-id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
-id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
-id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
-
--- Directory string type, used extensively in Name types --
-
-DirectoryString { INTEGER:maxSize } ::= CHOICE {
- teletexString TeletexString (SIZE (1..maxSize)),
- printableString PrintableString (SIZE (1..maxSize)),
- universalString UniversalString (SIZE (1..maxSize)),
- bmpString BMPString (SIZE(1..maxSize)),
- utf8String UTF8String (SIZE(1..maxSize))
- }
-
- -- End of ASN.1 for Name type and directory attribute support --
-
- -- The ASN.1 in this section supports X.400 style names --
- -- for implementations that use the x400Address component --
- -- of GeneralName. --
-
-ORAddress ::= SEQUENCE {
- built-in-standard-attributes BuiltInStandardAttributes,
- built-in-domain-defined-attributes
- BuiltInDomainDefinedAttributes OPTIONAL,
- -- see also teletex-domain-defined-attributes
- extension-attributes ExtensionAttributes OPTIONAL }
-
--- The OR-address is semantically absent from the OR-name if the
--- built-in-standard-attribute sequence is empty and the
--- built-in-domain-defined-attributes and extension-attributes are
--- both omitted.
-
--- Built-in Standard Attributes
-
-BuiltInStandardAttributes ::= SEQUENCE {
- country-name CountryName OPTIONAL,
- administration-domain-name AdministrationDomainName OPTIONAL,
- network-address [0] NetworkAddress OPTIONAL,
- -- see also extended-network-address
- terminal-identifier [1] TerminalIdentifier OPTIONAL,
- private-domain-name [2] PrivateDomainName OPTIONAL,
- organization-name [3] OrganizationName OPTIONAL,
- -- see also teletex-organization-name
- numeric-user-identifier [4] NumericUserIdentifier OPTIONAL,
- personal-name [5] PersonalName OPTIONAL,
- -- see also teletex-personal-name
- organizational-unit-names [6] OrganizationalUnitNames OPTIONAL
- -- see also teletex-organizational-unit-names -- }
-
-CountryName ::= [APPLICATION 1] CHOICE {
- x121-dcc-code NumericString
- (SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString
- (SIZE (ub-country-name-alpha-length)) }
-
-AdministrationDomainName ::= [APPLICATION 2] CHOICE {
- numeric NumericString (SIZE (0..ub-domain-name-length)),
- printable PrintableString (SIZE (0..ub-domain-name-length)) }
-
-NetworkAddress ::= X121Address
--- see also extended-network-address
-
-
-X121Address ::= NumericString (SIZE (1..ub-x121-address-length))
-
-TerminalIdentifier ::= PrintableString (SIZE (1..ub-terminal-id-length))
-
-PrivateDomainName ::= CHOICE {
- numeric NumericString (SIZE (1..ub-domain-name-length)),
- printable PrintableString (SIZE (1..ub-domain-name-length)) }
-
-OrganizationName ::= PrintableString
- (SIZE (1..ub-organization-name-length))
--- see also teletex-organization-name
-
-NumericUserIdentifier ::= NumericString
- (SIZE (1..ub-numeric-user-id-length))
-
-PersonalName ::= SET {
- surname [0] PrintableString (SIZE (1..ub-surname-length)),
- given-name [1] PrintableString
- (SIZE (1..ub-given-name-length)) OPTIONAL,
- initials [2] PrintableString
- (SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier [3] PrintableString
- (SIZE (1..ub-generation-qualifier-length)) OPTIONAL}
--- see also teletex-personal-name
-
-OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units)
- OF OrganizationalUnitName
--- see also teletex-organizational-unit-names
-
-OrganizationalUnitName ::= PrintableString (SIZE
- (1..ub-organizational-unit-name-length))
-
--- Built-in Domain-defined Attributes
-BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE
- (1..ub-domain-defined-attributes) OF
- BuiltInDomainDefinedAttribute
-
-BuiltInDomainDefinedAttribute ::= SEQUENCE {
- type PrintableString (SIZE
- (1..ub-domain-defined-attribute-type-length)),
- value PrintableString (SIZE
- (1..ub-domain-defined-attribute-value-length)) }
-
--- Extension Attributes
-
-ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes)
- OF ExtensionAttribute
-ExtensionAttribute ::= SEQUENCE {
- extension-attribute-type [0] EXTENSION-ATTRIBUTE.&id
- ({ExtensionAttributeTable}),
- extension-attribute-value [1] EXTENSION-ATTRIBUTE.&Type
- ({ExtensionAttributeTable} {@extension-attribute-type}) }
-
-EXTENSION-ATTRIBUTE ::= CLASS {
- &id INTEGER (0..ub-extension-attributes) UNIQUE,
- &Type }
-WITH SYNTAX {&Type IDENTIFIED BY &id}
-
-ExtensionAttributeTable EXTENSION-ATTRIBUTE ::= {
- common-name |
- teletex-common-name |
- teletex-organization-name |
- teletex-personal-name |
- teletex-organizational-unit-names |
- teletex-domain-defined-attributes |
- pds-name |
- physical-delivery-country-name |
- postal-code |
- physical-delivery-office-name |
- physical-delivery-office-number |
- extension-OR-address-components |
- physical-delivery-personal-name |
- physical-delivery-organization-name |
- extension-physical-delivery-address-components |
- unformatted-postal-address |
- street-address |
- post-office-box-address |
- poste-restante-address |
- unique-postal-name |
- local-postal-attributes |
- extended-network-address |
- terminal-type }
-
--- Extension Standard Attributes
-
-common-name EXTENSION-ATTRIBUTE ::= {CommonName IDENTIFIED BY 1}
-
-CommonName ::= PrintableString (SIZE (1..ub-common-name-length))
-
-teletex-common-name EXTENSION-ATTRIBUTE ::=
- {TeletexCommonName IDENTIFIED BY 2}
-
-TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length))
-
-teletex-organization-name EXTENSION-ATTRIBUTE ::=
- {TeletexOrganizationName IDENTIFIED BY 3}
-
-TeletexOrganizationName ::=
- TeletexString (SIZE (1..ub-organization-name-length))
-
-teletex-personal-name EXTENSION-ATTRIBUTE ::=
- {TeletexPersonalName IDENTIFIED BY 4}
-
-TeletexPersonalName ::= SET {
- surname [0] TeletexString (SIZE (1..ub-surname-length)),
- given-name [1] TeletexString
- (SIZE (1..ub-given-name-length)) OPTIONAL,
- initials [2] TeletexString (SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier [3] TeletexString (SIZE
- (1..ub-generation-qualifier-length)) OPTIONAL }
-
-teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::=
- {TeletexOrganizationalUnitNames IDENTIFIED BY 5}
-
-TeletexOrganizationalUnitNames ::= SEQUENCE SIZE
- (1..ub-organizational-units) OF TeletexOrganizationalUnitName
-
-TeletexOrganizationalUnitName ::= TeletexString
- (SIZE (1..ub-organizational-unit-name-length))
-
-pds-name EXTENSION-ATTRIBUTE ::= {PDSName IDENTIFIED BY 7}
-
-PDSName ::= PrintableString (SIZE (1..ub-pds-name-length))
-
-physical-delivery-country-name EXTENSION-ATTRIBUTE ::=
- {PhysicalDeliveryCountryName IDENTIFIED BY 8}
-
-PhysicalDeliveryCountryName ::= CHOICE {
- x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString
- (SIZE (ub-country-name-alpha-length)) }
-
-postal-code EXTENSION-ATTRIBUTE ::= {PostalCode IDENTIFIED BY 9}
-
-PostalCode ::= CHOICE {
- numeric-code NumericString (SIZE (1..ub-postal-code-length)),
- printable-code PrintableString (SIZE (1..ub-postal-code-length)) }
-
-physical-delivery-office-name EXTENSION-ATTRIBUTE ::=
- {PhysicalDeliveryOfficeName IDENTIFIED BY 10}
-
-PhysicalDeliveryOfficeName ::= PDSParameter
-
-physical-delivery-office-number EXTENSION-ATTRIBUTE ::=
- {PhysicalDeliveryOfficeNumber IDENTIFIED BY 11}
-
-PhysicalDeliveryOfficeNumber ::= PDSParameter
-
-extension-OR-address-components EXTENSION-ATTRIBUTE ::=
- {ExtensionORAddressComponents IDENTIFIED BY 12}
-
-ExtensionORAddressComponents ::= PDSParameter
-
-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::=
- {PhysicalDeliveryPersonalName IDENTIFIED BY 13}
-
-PhysicalDeliveryPersonalName ::= PDSParameter
-
-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::=
- {PhysicalDeliveryOrganizationName IDENTIFIED BY 14}
-
-PhysicalDeliveryOrganizationName ::= PDSParameter
-
-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::=
- {ExtensionPhysicalDeliveryAddressComponents IDENTIFIED BY 15}
-
-ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
-
-unformatted-postal-address EXTENSION-ATTRIBUTE ::=
- {UnformattedPostalAddress IDENTIFIED BY 16}
-
-UnformattedPostalAddress ::= SET {
- printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
- PrintableString (SIZE (1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string TeletexString (SIZE
- (1..ub-unformatted-address-length)) OPTIONAL }
-
-street-address EXTENSION-ATTRIBUTE ::=
- {StreetAddress IDENTIFIED BY 17}
-
-StreetAddress ::= PDSParameter
-
-post-office-box-address EXTENSION-ATTRIBUTE ::=
- {PostOfficeBoxAddress IDENTIFIED BY 18}
-
-PostOfficeBoxAddress ::= PDSParameter
-
-poste-restante-address EXTENSION-ATTRIBUTE ::=
- {PosteRestanteAddress IDENTIFIED BY 19}
-
-PosteRestanteAddress ::= PDSParameter
-
-unique-postal-name EXTENSION-ATTRIBUTE ::=
- {UniquePostalName IDENTIFIED BY 20}
-
-UniquePostalName ::= PDSParameter
-
-local-postal-attributes EXTENSION-ATTRIBUTE ::=
- {LocalPostalAttributes IDENTIFIED BY 21}
-
-LocalPostalAttributes ::= PDSParameter
-
-PDSParameter ::= SET {
- printable-string PrintableString
- (SIZE(1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string TeletexString
- (SIZE(1..ub-pds-parameter-length)) OPTIONAL }
-
-extended-network-address EXTENSION-ATTRIBUTE ::=
- {ExtendedNetworkAddress IDENTIFIED BY 22}
-
-ExtendedNetworkAddress ::= CHOICE {
- e163-4-address SEQUENCE {
- number [0] NumericString
- (SIZE (1..ub-e163-4-number-length)),
- sub-address [1] NumericString
- (SIZE (1..ub-e163-4-sub-address-length)) OPTIONAL},
- psap-address [0] PresentationAddress }
-
-PresentationAddress ::= SEQUENCE {
- pSelector [0] EXPLICIT OCTET STRING OPTIONAL,
- sSelector [1] EXPLICIT OCTET STRING OPTIONAL,
- tSelector [2] EXPLICIT OCTET STRING OPTIONAL,
- nAddresses [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING}
-
-
-terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
-
-TerminalType ::= INTEGER {
- telex (3),
- teletex (4),
- g3-facsimile (5),
- g4-facsimile (6),
- ia5-terminal (7),
- videotex (8) } (0..ub-integer-options)
-
--- Extension Domain-defined Attributes
-
-teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::=
- {TeletexDomainDefinedAttributes IDENTIFIED BY 6}
-
-TeletexDomainDefinedAttributes ::= SEQUENCE SIZE
- (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute
-
-TeletexDomainDefinedAttribute ::= SEQUENCE {
- type TeletexString
- (SIZE (1..ub-domain-defined-attribute-type-length)),
- value TeletexString
- (SIZE (1..ub-domain-defined-attribute-value-length)) }
-
--- specifications of Upper Bounds
--- shall be regarded as mandatory
--- from Annex B of ITU-T X.411
--- Reference Definition of MTS Parameter Upper Bounds
-
--- Upper Bounds
-ub-name INTEGER ::= 32768
-ub-common-name INTEGER ::= 64
-ub-locality-name INTEGER ::= 128
-ub-state-name INTEGER ::= 128
-ub-organization-name INTEGER ::= 64
-ub-organizational-unit-name INTEGER ::= 64
-ub-title INTEGER ::= 64
-ub-match INTEGER ::= 128
-
-ub-emailaddress-length INTEGER ::= 128
-
-ub-common-name-length INTEGER ::= 64
-ub-country-name-alpha-length INTEGER ::= 2
-ub-country-name-numeric-length INTEGER ::= 3
-ub-domain-defined-attributes INTEGER ::= 4
-ub-domain-defined-attribute-type-length INTEGER ::= 8
-ub-domain-defined-attribute-value-length INTEGER ::= 128
-ub-domain-name-length INTEGER ::= 16
-ub-extension-attributes INTEGER ::= 256
-ub-e163-4-number-length INTEGER ::= 15
-ub-e163-4-sub-address-length INTEGER ::= 40
-ub-generation-qualifier-length INTEGER ::= 3
-ub-given-name-length INTEGER ::= 16
-ub-initials-length INTEGER ::= 5
-ub-integer-options INTEGER ::= 256
-ub-numeric-user-id-length INTEGER ::= 32
-ub-organization-name-length INTEGER ::= 64
-ub-organizational-unit-name-length INTEGER ::= 32
-ub-organizational-units INTEGER ::= 4
-ub-pds-name-length INTEGER ::= 16
-ub-pds-parameter-length INTEGER ::= 30
-ub-pds-physical-address-lines INTEGER ::= 6
-ub-postal-code-length INTEGER ::= 16
-ub-surname-length INTEGER ::= 40
-ub-terminal-id-length INTEGER ::= 24
-ub-unformatted-address-length INTEGER ::= 180
-ub-x121-address-length INTEGER ::= 16
-
--- Note - upper bounds on TeletexString are measured in characters.
--- A significantly greater number of octets will be required to hold
--- such a value. As a minimum, 16 octets, or twice the specified upper
--- bound, whichever is the larger, should be allowed.
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Implicit88.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Implicit88.asn1
deleted file mode 100644
index 47362e9061..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Implicit88.asn1
+++ /dev/null
@@ -1,349 +0,0 @@
-PKIX1Implicit88 { iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit(19) }
-
-DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
--- EXPORTS ALL --
-
-IMPORTS
- id-pe, id-kp, id-qt-unotice, id-qt-cps,
- -- delete following line if "new" types are supported --
- -- BMPString,
- -- UTF8String, end "new" types
- ORAddress, Name, RelativeDistinguishedName,
- CertificateSerialNumber, Attribute, DirectoryString
- FROM PKIX1Explicit88 { iso(1) identified-organization(3)
- dod(6) internet(1) security(5) mechanisms(5) pkix(7)
- id-mod(0) id-pkix1-explicit(18) };
-
-
--- ISO arc for standard certificate and CRL extensions
-
-id-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29}
-
--- authority key identifier OID and syntax
-
-id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 }
-
-AuthorityKeyIdentifier ::= SEQUENCE {
- keyIdentifier [0] KeyIdentifier OPTIONAL,
- authorityCertIssuer [1] GeneralNames OPTIONAL,
- authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL }
- -- authorityCertIssuer and authorityCertSerialNumber MUST both
- -- be present or both be absent
-
-KeyIdentifier ::= OCTET STRING
-
--- subject key identifier OID and syntax
-
-id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 14 }
-
-SubjectKeyIdentifier ::= KeyIdentifier
-
--- key usage extension OID and syntax
-
-id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 }
-
-KeyUsage ::= BIT STRING {
- digitalSignature (0),
- nonRepudiation (1),
- keyEncipherment (2),
- dataEncipherment (3),
- keyAgreement (4),
- keyCertSign (5),
- cRLSign (6),
- encipherOnly (7),
- decipherOnly (8) }
-
--- private key usage period extension OID and syntax
-
-id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= { id-ce 16 }
-
-PrivateKeyUsagePeriod ::= SEQUENCE {
- notBefore [0] GeneralizedTime OPTIONAL,
- notAfter [1] GeneralizedTime OPTIONAL }
- -- either notBefore or notAfter MUST be present
-
--- certificate policies extension OID and syntax
-
-id-ce-certificatePolicies OBJECT IDENTIFIER ::= { id-ce 32 }
-
-anyPolicy OBJECT IDENTIFIER ::= { id-ce-certificatePolicies 0 }
-
-CertificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
-
-PolicyInformation ::= SEQUENCE {
- policyIdentifier CertPolicyId,
- policyQualifiers SEQUENCE SIZE (1..MAX) OF
- PolicyQualifierInfo OPTIONAL }
-
-CertPolicyId ::= OBJECT IDENTIFIER
-
-PolicyQualifierInfo ::= SEQUENCE {
- policyQualifierId PolicyQualifierId,
- qualifier ANY DEFINED BY policyQualifierId }
-
--- Implementations that recognize additional policy qualifiers MUST
--- augment the following definition for PolicyQualifierId
-
-PolicyQualifierId ::=
- OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice )
-
--- CPS pointer qualifier
-
-CPSuri ::= IA5String
-
--- user notice qualifier
-
-UserNotice ::= SEQUENCE {
- noticeRef NoticeReference OPTIONAL,
- explicitText DisplayText OPTIONAL}
-
-NoticeReference ::= SEQUENCE {
- organization DisplayText,
- noticeNumbers SEQUENCE OF INTEGER }
-
-DisplayText ::= CHOICE {
- ia5String IA5String (SIZE (1..200)),
- visibleString VisibleString (SIZE (1..200)),
- bmpString BMPString (SIZE (1..200)),
- utf8String UTF8String (SIZE (1..200)) }
-
--- policy mapping extension OID and syntax
-
-id-ce-policyMappings OBJECT IDENTIFIER ::= { id-ce 33 }
-
-PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
- issuerDomainPolicy CertPolicyId,
- subjectDomainPolicy CertPolicyId }
-
--- subject alternative name extension OID and syntax
-
-id-ce-subjectAltName OBJECT IDENTIFIER ::= { id-ce 17 }
-
-SubjectAltName ::= GeneralNames
-
-GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
-
-GeneralName ::= CHOICE {
- otherName [0] AnotherName,
- rfc822Name [1] IA5String,
- dNSName [2] IA5String,
- x400Address [3] ORAddress,
- directoryName [4] Name,
- ediPartyName [5] EDIPartyName,
- uniformResourceIdentifier [6] IA5String,
- iPAddress [7] OCTET STRING,
- registeredID [8] OBJECT IDENTIFIER }
-
--- AnotherName replaces OTHER-NAME ::= TYPE-IDENTIFIER, as
--- TYPE-IDENTIFIER is not supported in the '88 ASN.1 syntax
-
-AnotherName ::= SEQUENCE {
- type-id OBJECT IDENTIFIER,
- value [0] EXPLICIT ANY DEFINED BY type-id }
-
-EDIPartyName ::= SEQUENCE {
- nameAssigner [0] DirectoryString OPTIONAL,
- partyName [1] DirectoryString }
-
--- issuer alternative name extension OID and syntax
-
-id-ce-issuerAltName OBJECT IDENTIFIER ::= { id-ce 18 }
-
-IssuerAltName ::= GeneralNames
-
-id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= { id-ce 9 }
-
-SubjectDirectoryAttributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
-
--- basic constraints extension OID and syntax
-
-id-ce-basicConstraints OBJECT IDENTIFIER ::= { id-ce 19 }
-
-BasicConstraints ::= SEQUENCE {
- cA BOOLEAN DEFAULT FALSE,
- pathLenConstraint INTEGER (0..MAX) OPTIONAL }
-
--- name constraints extension OID and syntax
-
-id-ce-nameConstraints OBJECT IDENTIFIER ::= { id-ce 30 }
-
-NameConstraints ::= SEQUENCE {
- permittedSubtrees [0] GeneralSubtrees OPTIONAL,
- excludedSubtrees [1] GeneralSubtrees OPTIONAL }
-
-GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
-
-GeneralSubtree ::= SEQUENCE {
- base GeneralName,
- minimum [0] BaseDistance DEFAULT 0,
- maximum [1] BaseDistance OPTIONAL }
-
-BaseDistance ::= INTEGER (0..MAX)
-
--- policy constraints extension OID and syntax
-
-id-ce-policyConstraints OBJECT IDENTIFIER ::= { id-ce 36 }
-
-PolicyConstraints ::= SEQUENCE {
- requireExplicitPolicy [0] SkipCerts OPTIONAL,
- inhibitPolicyMapping [1] SkipCerts OPTIONAL }
-
-SkipCerts ::= INTEGER (0..MAX)
-
--- CRL distribution points extension OID and syntax
-
-id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
-
-CRLDistributionPoints ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
-
-DistributionPoint ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- reasons [1] ReasonFlags OPTIONAL,
- cRLIssuer [2] GeneralNames OPTIONAL }
-
-DistributionPointName ::= CHOICE {
- fullName [0] GeneralNames,
- nameRelativeToCRLIssuer [1] RelativeDistinguishedName }
-
-ReasonFlags ::= BIT STRING {
- unused (0),
- keyCompromise (1),
- cACompromise (2),
- affiliationChanged (3),
- superseded (4),
- cessationOfOperation (5),
- certificateHold (6),
- privilegeWithdrawn (7),
- aACompromise (8) }
-
--- extended key usage extension OID and syntax
-
-id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
-
-ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId
-
-
-KeyPurposeId ::= OBJECT IDENTIFIER
-
--- permit unspecified key uses
-
-anyExtendedKeyUsage OBJECT IDENTIFIER ::= { id-ce-extKeyUsage 0 }
-
--- extended key purpose OIDs
-
-id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 }
-id-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 }
-id-kp-codeSigning OBJECT IDENTIFIER ::= { id-kp 3 }
-id-kp-emailProtection OBJECT IDENTIFIER ::= { id-kp 4 }
-id-kp-timeStamping OBJECT IDENTIFIER ::= { id-kp 8 }
-id-kp-OCSPSigning OBJECT IDENTIFIER ::= { id-kp 9 }
-
--- inhibit any policy OID and syntax
-
-id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= { id-ce 54 }
-
-InhibitAnyPolicy ::= SkipCerts
-
--- freshest (delta)CRL extension OID and syntax
-
-id-ce-freshestCRL OBJECT IDENTIFIER ::= { id-ce 46 }
-
-FreshestCRL ::= CRLDistributionPoints
-
--- authority info access
-
-id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
-
-AuthorityInfoAccessSyntax ::=
- SEQUENCE SIZE (1..MAX) OF AccessDescription
-
-AccessDescription ::= SEQUENCE {
- accessMethod OBJECT IDENTIFIER,
- accessLocation GeneralName }
-
--- subject info access
-
-id-pe-subjectInfoAccess OBJECT IDENTIFIER ::= { id-pe 11 }
-
-SubjectInfoAccessSyntax ::=
- SEQUENCE SIZE (1..MAX) OF AccessDescription
-
--- CRL number extension OID and syntax
-
-id-ce-cRLNumber OBJECT IDENTIFIER ::= { id-ce 20 }
-
-CRLNumber ::= INTEGER (0..MAX)
-
--- issuing distribution point extension OID and syntax
-
-id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= { id-ce 28 }
-
-IssuingDistributionPoint ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
- onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
- onlySomeReasons [3] ReasonFlags OPTIONAL,
- indirectCRL [4] BOOLEAN DEFAULT FALSE,
- onlyContainsAttributeCerts [5] BOOLEAN DEFAULT FALSE }
-
-id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= { id-ce 27 }
-
-BaseCRLNumber ::= CRLNumber
-
--- CRL reasons extension OID and syntax
-
-id-ce-cRLReasons OBJECT IDENTIFIER ::= { id-ce 21 }
-
-CRLReason ::= ENUMERATED {
- unspecified (0),
- keyCompromise (1),
- cACompromise (2),
- affiliationChanged (3),
- superseded (4),
- cessationOfOperation (5),
- certificateHold (6),
- removeFromCRL (8),
- privilegeWithdrawn (9),
- aACompromise (10) }
-
--- certificate issuer CRL entry extension OID and syntax
-
-id-ce-certificateIssuer OBJECT IDENTIFIER ::= { id-ce 29 }
-
-CertificateIssuer ::= GeneralNames
-
--- hold instruction extension OID and syntax
-
-id-ce-holdInstructionCode OBJECT IDENTIFIER ::= { id-ce 23 }
-
-HoldInstructionCode ::= OBJECT IDENTIFIER
-
--- ANSI x9 holdinstructions
-
--- ANSI x9 arc holdinstruction arc
-
-holdInstruction OBJECT IDENTIFIER ::=
- {joint-iso-itu-t(2) member-body(2) us(840) x9cm(10040) 2}
-
--- ANSI X9 holdinstructions referenced by this standard
-
-id-holdinstruction-none OBJECT IDENTIFIER ::=
- {holdInstruction 1} -- deprecated
-
-id-holdinstruction-callissuer OBJECT IDENTIFIER ::=
- {holdInstruction 2}
-
-id-holdinstruction-reject OBJECT IDENTIFIER ::=
- {holdInstruction 3}
-
--- invalidity date CRL entry extension OID and syntax
-
-id-ce-invalidityDate OBJECT IDENTIFIER ::= { id-ce 24 }
-
-InvalidityDate ::= GeneralizedTime
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Implicit93.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Implicit93.asn1
deleted file mode 100644
index c90b5eb199..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PKIX1Implicit93.asn1
+++ /dev/null
@@ -1,357 +0,0 @@
-PKIX1Implicit93 {iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit-93(4)}
-
-DEFINITIONS IMPLICIT TAGS::=
-
-BEGIN
-
---EXPORTS ALL --
-
-IMPORTS
- id-pe, id-qt, id-kp, id-ad, id-qt-unotice,
- ORAddress, Name, RelativeDistinguishedName,
- CertificateSerialNumber, CertificateList,
- AlgorithmIdentifier, ub-name, DirectoryString,
- Attribute, EXTENSION
- FROM PKIX1Explicit93 {iso(1) identified-organization(3)
- dod(6) internet(1) security(5) mechanisms(5) pkix(7)
- id-mod(0) id-pkix1-explicit-93(3)};
-
--- Key and policy information extensions --
-
-authorityKeyIdentifier EXTENSION ::= {
- SYNTAX AuthorityKeyIdentifier
- IDENTIFIED BY id-ce-authorityKeyIdentifier }
-
-AuthorityKeyIdentifier ::= SEQUENCE {
- keyIdentifier [0] KeyIdentifier OPTIONAL,
- authorityCertIssuer [1] GeneralNames OPTIONAL,
- authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL }
- ( WITH COMPONENTS {..., authorityCertIssuer PRESENT,
- authorityCertSerialNumber PRESENT} |
- WITH COMPONENTS {..., authorityCertIssuer ABSENT,
- authorityCertSerialNumber ABSENT} )
-
-KeyIdentifier ::= OCTET STRING
-
-subjectKeyIdentifier EXTENSION ::= {
- SYNTAX SubjectKeyIdentifier
- IDENTIFIED BY id-ce-subjectKeyIdentifier }
-
-SubjectKeyIdentifier ::= KeyIdentifier
-
-keyUsage EXTENSION ::= {
- SYNTAX KeyUsage
- IDENTIFIED BY id-ce-keyUsage }
-
-KeyUsage ::= BIT STRING {
- digitalSignature (0),
- nonRepudiation (1),
- keyEncipherment (2),
- dataEncipherment (3),
- keyAgreement (4),
- keyCertSign (5),
- cRLSign (6),
- encipherOnly (7),
- decipherOnly (8) }
-
-extendedKeyUsage EXTENSION ::= {
- SYNTAX SEQUENCE SIZE (1..MAX) OF KeyPurposeId
- IDENTIFIED BY id-ce-extKeyUsage }
-
-KeyPurposeId ::= OBJECT IDENTIFIER
-
--- PKIX-defined extended key purpose OIDs
-id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 }
-id-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 }
-id-kp-codeSigning OBJECT IDENTIFIER ::= { id-kp 3 }
-id-kp-emailProtection OBJECT IDENTIFIER ::= { id-kp 4 }
-id-kp-ipsecEndSystem OBJECT IDENTIFIER ::= { id-kp 5 }
-id-kp-ipsecTunnel OBJECT IDENTIFIER ::= { id-kp 6 }
-id-kp-ipsecUser OBJECT IDENTIFIER ::= { id-kp 7 }
-id-kp-timeStamping OBJECT IDENTIFIER ::= { id-kp 8 }
-
-privateKeyUsagePeriod EXTENSION ::= {
- SYNTAX PrivateKeyUsagePeriod
- IDENTIFIED BY { id-ce-privateKeyUsagePeriod } }
-
-PrivateKeyUsagePeriod ::= SEQUENCE {
- notBefore [0] GeneralizedTime OPTIONAL,
- notAfter [1] GeneralizedTime OPTIONAL }
- ( WITH COMPONENTS {..., notBefore PRESENT} |
- WITH COMPONENTS {..., notAfter PRESENT} )
-
-certificatePolicies EXTENSION ::= {
- SYNTAX CertificatePoliciesSyntax
- IDENTIFIED BY id-ce-certificatePolicies }
-
-CertificatePoliciesSyntax ::=
- SEQUENCE SIZE (1..MAX) OF PolicyInformation
-
-PolicyInformation ::= SEQUENCE {
- policyIdentifier CertPolicyId,
- policyQualifiers SEQUENCE SIZE (1..MAX) OF
- PolicyQualifierInfo OPTIONAL }
-
-CertPolicyId ::= OBJECT IDENTIFIER
-
-PolicyQualifierInfo ::= SEQUENCE {
- policyQualifierId CERT-POLICY-QUALIFIER.&id
- ({SupportedPolicyQualifiers}),
- qualifier CERT-POLICY-QUALIFIER.&Qualifier
- ({SupportedPolicyQualifiers}
- {@policyQualifierId})OPTIONAL }
-
-SupportedPolicyQualifiers CERT-POLICY-QUALIFIER ::= { noticeToUser |
- pointerToCPS }
-
-CERT-POLICY-QUALIFIER ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Qualifier OPTIONAL }
-WITH SYNTAX {
- POLICY-QUALIFIER-ID &id
- [QUALIFIER-TYPE &Qualifier] }
-
-policyMappings EXTENSION ::= {
- SYNTAX PolicyMappingsSyntax
- IDENTIFIED BY id-ce-policyMappings }
-
-PolicyMappingsSyntax ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
- issuerDomainPolicy CertPolicyId,
- subjectDomainPolicy CertPolicyId }
-
--- Certificate subject and certificate issuer attributes extensions --
-
-subjectAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-subjectAltName }
-
-GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
-
-GeneralName ::= CHOICE {
- otherName [0] INSTANCE OF OTHER-NAME,
- rfc822Name [1] IA5String,
- dNSName [2] IA5String,
- x400Address [3] ORAddress,
- directoryName [4] Name,
- ediPartyName [5] EDIPartyName,
- uniformResourceIdentifier [6] IA5String,
- iPAddress [7] OCTET STRING,
- registeredID [8] OBJECT IDENTIFIER }
-
-OTHER-NAME ::= TYPE-IDENTIFIER
-
-EDIPartyName ::= SEQUENCE {
- nameAssigner [0] DirectoryString {ub-name} OPTIONAL,
- partyName [1] DirectoryString {ub-name} }
-
-issuerAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-issuerAltName }
-
-subjectDirectoryAttributes EXTENSION ::= {
- SYNTAX AttributesSyntax
- IDENTIFIED BY id-ce-subjectDirectoryAttributes }
-
-AttributesSyntax ::= SEQUENCE SIZE (1..MAX) OF Attribute
-
--- Certification path constraints extensions --
-
-basicConstraints EXTENSION ::= {
- SYNTAX BasicConstraintsSyntax
- IDENTIFIED BY id-ce-basicConstraints }
-
-BasicConstraintsSyntax ::= SEQUENCE {
- cA BOOLEAN DEFAULT FALSE,
- pathLenConstraint INTEGER (0..MAX) OPTIONAL }
-
-nameConstraints EXTENSION ::= {
- SYNTAX NameConstraintsSyntax
- IDENTIFIED BY id-ce-nameConstraints }
-
-NameConstraintsSyntax ::= SEQUENCE {
- permittedSubtrees [0] GeneralSubtrees OPTIONAL,
- excludedSubtrees [1] GeneralSubtrees OPTIONAL }
-
-GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
-
-GeneralSubtree ::= SEQUENCE {
- base GeneralName,
- minimum [0] BaseDistance DEFAULT 0,
- maximum [1] BaseDistance OPTIONAL }
-
-BaseDistance ::= INTEGER (0..MAX)
-
-policyConstraints EXTENSION ::= {
- SYNTAX PolicyConstraintsSyntax
- IDENTIFIED BY id-ce-policyConstraints }
-
-PolicyConstraintsSyntax ::= SEQUENCE {
- requireExplicitPolicy [0] SkipCerts OPTIONAL,
- inhibitPolicyMapping [1] SkipCerts OPTIONAL }
-
-SkipCerts ::= INTEGER (0..MAX)
-
--- Basic CRL extensions --
-
-cRLNumber EXTENSION ::= {
- SYNTAX CRLNumber
- IDENTIFIED BY id-ce-cRLNumber }
-
-CRLNumber ::= INTEGER (0..MAX)
-
-reasonCode EXTENSION ::= {
- SYNTAX CRLReason
- IDENTIFIED BY id-ce-reasonCode }
-
-CRLReason ::= ENUMERATED {
- unspecified (0),
- keyCompromise (1),
- cACompromise (2),
- affiliationChanged (3),
- superseded (4),
- cessationOfOperation (5),
- certificateHold (6),
- removeFromCRL (8) }
-
-instructionCode EXTENSION ::= {
- SYNTAX HoldInstruction
- IDENTIFIED BY id-ce-instructionCode }
-
-HoldInstruction ::= OBJECT IDENTIFIER
-
--- holdinstructions described in this specification, from ANSI x9
-
--- ANSI x9 arc holdinstruction arc
-holdInstruction OBJECT IDENTIFIER ::= {
- joint-iso-ccitt(2) member-body(2) us(840) x9cm(10040) 2}
-
--- ANSI X9 holdinstructions referenced by this standard
-id-holdinstruction-none OBJECT IDENTIFIER ::= {holdInstruction 1}
-id-holdinstruction-callissuer OBJECT IDENTIFIER ::= {holdInstruction 2}
-id-holdinstruction-reject OBJECT IDENTIFIER ::= {holdInstruction 3}
-
-invalidityDate EXTENSION ::= {
- SYNTAX GeneralizedTime
- IDENTIFIED BY id-ce-invalidityDate }
-
--- CRL distribution points and delta-CRL extensions --
-
-cRLDistributionPoints EXTENSION ::= {
- SYNTAX CRLDistPointsSyntax
- IDENTIFIED BY id-ce-cRLDistributionPoints }
-
-CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
-
-DistributionPoint ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- reasons [1] ReasonFlags OPTIONAL,
- cRLIssuer [2] GeneralNames OPTIONAL }
-
-DistributionPointName ::= CHOICE {
- fullName [0] GeneralNames,
- nameRelativeToCRLIssuer [1] RelativeDistinguishedName }
-
-ReasonFlags ::= BIT STRING {
- unused (0),
- keyCompromise (1),
- caCompromise (2),
- affiliationChanged (3),
- superseded (4),
- cessationOfOperation (5),
- certificateHold (6) }
-
-issuingDistributionPoint EXTENSION ::= {
- SYNTAX IssuingDistPointSyntax
- IDENTIFIED BY id-ce-issuingDistributionPoint }
-
-IssuingDistPointSyntax ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
- onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
- onlySomeReasons [3] ReasonFlags OPTIONAL,
- indirectCRL [4] BOOLEAN DEFAULT FALSE }
-
-certificateIssuer EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-certificateIssuer }
-
-deltaCRLIndicator EXTENSION ::= {
- SYNTAX BaseCRLNumber
- IDENTIFIED BY id-ce-deltaCRLIndicator }
-
-BaseCRLNumber ::= CRLNumber
-
--- Object identifier assignments for ISO certificate extensions --
-id-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29}
-
-id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= {id-ce 9}
-
-id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 14}
-id-ce-keyUsage OBJECT IDENTIFIER ::= {id-ce 15}
-id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= {id-ce 16}
-id-ce-subjectAltName OBJECT IDENTIFIER ::= {id-ce 17}
-id-ce-issuerAltName OBJECT IDENTIFIER ::= {id-ce 18}
-id-ce-basicConstraints OBJECT IDENTIFIER ::= {id-ce 19}
-id-ce-cRLNumber OBJECT IDENTIFIER ::= {id-ce 20}
-id-ce-reasonCode OBJECT IDENTIFIER ::= {id-ce 21}
-id-ce-instructionCode OBJECT IDENTIFIER ::= {id-ce 23}
-id-ce-invalidityDate OBJECT IDENTIFIER ::= {id-ce 24}
-id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= {id-ce 27}
-id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 28}
-id-ce-certificateIssuer OBJECT IDENTIFIER ::= {id-ce 29}
-id-ce-nameConstraints OBJECT IDENTIFIER ::= {id-ce 30}
-id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
-id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32}
-id-ce-policyMappings OBJECT IDENTIFIER ::= {id-ce 33}
-id-ce-policyConstraints OBJECT IDENTIFIER ::= {id-ce 36}
-id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 35}
-id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
-
--- PKIX 1 extensions
-
-authorityInfoAccess EXTENSION ::= {
- SYNTAX AuthorityInfoAccessSyntax
- IDENTIFIED BY id-pe-authorityInfoAccess }
-
-AuthorityInfoAccessSyntax ::=
- SEQUENCE SIZE (1..MAX) OF AccessDescription
-
-AccessDescription ::= SEQUENCE {
- accessMethod OBJECT IDENTIFIER,
- accessLocation GeneralName }
-
-id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
-
-id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
-id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
-
--- PKIX policy qualifier definitions
-
-noticeToUser CERT-POLICY-QUALIFIER ::= {
- POLICY-QUALIFIER-ID id-qt-cps QUALIFIER-TYPE CPSuri}
-
-pointerToCPS CERT-POLICY-QUALIFIER ::= {
- POLICY-QUALIFIER-ID id-qt-unotice QUALIFIER-TYPE UserNotice}
-
-id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
-
-id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
-
-CPSuri ::= IA5String
-
-UserNotice ::= SEQUENCE {
- noticeRef NoticeReference OPTIONAL,
- explicitText DisplayText OPTIONAL}
-
-NoticeReference ::= SEQUENCE {
- organization DisplayText,
- noticeNumbers SEQUENCE OF INTEGER }
-
-DisplayText ::= CHOICE {
- visibleString VisibleString (SIZE (1..200)),
- bmpString BMPString (SIZE (1..200)),
- utf8String UTF8String (SIZE (1..200)) }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PKIXAttributeCertificate.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/PKIXAttributeCertificate.asn1
deleted file mode 100644
index 2d0997fdfc..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PKIXAttributeCertificate.asn1
+++ /dev/null
@@ -1,189 +0,0 @@
- PKIXAttributeCertificate {iso(1) identified-organization(3) dod(6)
- internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
- id-mod-attribute-cert(12)}
-
- DEFINITIONS IMPLICIT TAGS ::=
-
- BEGIN
-
- -- EXPORTS ALL --
-
- IMPORTS
-
- -- IMPORTed module OIDs MAY change if [PKIXPROF] changes
- -- PKIX Certificate Extensions
- Attribute, AlgorithmIdentifier, CertificateSerialNumber,
- Extensions, UniqueIdentifier,
- id-pkix, id-pe, id-kp, id-ad, id-at
- FROM PKIX1Explicit88 {iso(1) identified-organization(3)
- dod(6) internet(1) security(5) mechanisms(5)
- pkix(7) id-mod(0) id-pkix1-explicit-88(1)}
-
- GeneralName, GeneralNames, id-ce
- FROM PKIX1Implicit88 {iso(1) identified-organization(3)
- dod(6) internet(1) security(5) mechanisms(5)
- pkix(7) id-mod(0) id-pkix1-implicit-88(2)} ;
-
- id-pe-ac-auditIdentity OBJECT IDENTIFIER ::= { id-pe 4 }
- id-pe-aaControls OBJECT IDENTIFIER ::= { id-pe 6 }
- id-pe-ac-proxying OBJECT IDENTIFIER ::= { id-pe 10 }
- id-ce-targetInformation OBJECT IDENTIFIER ::= { id-ce 55 }
-
- id-aca OBJECT IDENTIFIER ::= { id-pkix 10 }
- id-aca-authenticationInfo OBJECT IDENTIFIER ::= { id-aca 1 }
- id-aca-accessIdentity OBJECT IDENTIFIER ::= { id-aca 2 }
- id-aca-chargingIdentity OBJECT IDENTIFIER ::= { id-aca 3 }
- id-aca-group OBJECT IDENTIFIER ::= { id-aca 4 }
- -- { id-aca 5 } is reserved
- id-aca-encAttrs OBJECT IDENTIFIER ::= { id-aca 6 }
-
- id-at-role OBJECT IDENTIFIER ::= { id-at 72}
- id-at-clearance OBJECT IDENTIFIER ::=
- { joint-iso-ccitt(2) ds(5) module(1)
- selected-attribute-types(5) clearance (55) }
-
- -- Uncomment this if using a 1988 level ASN.1 compiler
--- UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
-
- AttributeCertificate ::= SEQUENCE {
- acinfo AttributeCertificateInfo,
- signatureAlgorithm AlgorithmIdentifier,
- signatureValue BIT STRING
- }
-
- AttributeCertificateInfo ::= SEQUENCE {
- version AttCertVersion, -- version is v2
- holder Holder,
- issuer AttCertIssuer,
- signature AlgorithmIdentifier,
- serialNumber CertificateSerialNumber,
- attrCertValidityPeriod AttCertValidityPeriod,
- attributes SEQUENCE OF Attribute,
- issuerUniqueID UniqueIdentifier OPTIONAL,
- extensions Extensions OPTIONAL
- }
-
- AttCertVersion ::= INTEGER { v2(1) }
-
- Holder ::= SEQUENCE {
- baseCertificateID [0] IssuerSerial OPTIONAL,
- -- the issuer and serial number of
- -- the holder's Public Key Certificate
- entityName [1] GeneralNames OPTIONAL,
- -- the name of the claimant or role
- objectDigestInfo [2] ObjectDigestInfo OPTIONAL
- -- used to directly authenticate the
- -- holder, for example, an executable
- }
-
- ObjectDigestInfo ::= SEQUENCE {
- digestedObjectType ENUMERATED {
- publicKey (0),
- publicKeyCert (1),
- otherObjectTypes (2) },
- -- otherObjectTypes MUST NOT
- -- MUST NOT be used in this profile
- otherObjectTypeID OBJECT IDENTIFIER OPTIONAL,
- digestAlgorithm AlgorithmIdentifier,
- objectDigest BIT STRING
- }
-
- AttCertIssuer ::= CHOICE {
- v1Form GeneralNames, -- MUST NOT be used in this
- -- profile
- v2Form [0] V2Form -- v2 only
- }
-
- V2Form ::= SEQUENCE {
- issuerName GeneralNames OPTIONAL,
- baseCertificateID [0] IssuerSerial OPTIONAL,
- objectDigestInfo [1] ObjectDigestInfo OPTIONAL
- -- issuerName MUST be present in this profile
- -- baseCertificateID and objectDigestInfo MUST
- -- NOT be present in this profile
- }
-
- IssuerSerial ::= SEQUENCE {
- issuer GeneralNames,
- serial CertificateSerialNumber,
- issuerUID UniqueIdentifier OPTIONAL
- }
-
- AttCertValidityPeriod ::= SEQUENCE {
- notBeforeTime GeneralizedTime,
- notAfterTime GeneralizedTime
- }
-
- Targets ::= SEQUENCE OF Target
-
- Target ::= CHOICE {
- targetName [0] GeneralName,
- targetGroup [1] GeneralName,
- targetCert [2] TargetCert
- }
-
- TargetCert ::= SEQUENCE {
- targetCertificate IssuerSerial,
- targetName GeneralName OPTIONAL,
- certDigestInfo ObjectDigestInfo OPTIONAL
- }
-
- IetfAttrSyntax ::= SEQUENCE {
- policyAuthority[0] GeneralNames OPTIONAL,
- values SEQUENCE OF CHOICE {
- octets OCTET STRING,
- oid OBJECT IDENTIFIER,
- string UTF8String
- }
- }
-
- SvceAuthInfo ::= SEQUENCE {
- service GeneralName,
- ident GeneralName,
- authInfo OCTET STRING OPTIONAL
- }
-
- RoleSyntax ::= SEQUENCE {
- roleAuthority [0] GeneralNames OPTIONAL,
- roleName [1] GeneralName
- }
-
- Clearance ::= SEQUENCE {
- policyId [0] OBJECT IDENTIFIER,
- classList [1] ClassList DEFAULT {unclassified},
- securityCategories
- [2] SET OF SecurityCategory OPTIONAL
- }
-
- ClassList ::= BIT STRING {
- unmarked (0),
- unclassified (1),
- restricted (2),
- confidential (3),
- secret (4),
- topSecret (5)
- }
-
- SecurityCategory ::= SEQUENCE {
- type [0] IMPLICIT OBJECT IDENTIFIER,
- value [1] ANY DEFINED BY type
- }
-
- AAControls ::= SEQUENCE {
- pathLenConstraint INTEGER (0..MAX) OPTIONAL,
- permittedAttrs [0] AttrSpec OPTIONAL,
- excludedAttrs [1] AttrSpec OPTIONAL,
- permitUnSpecified BOOLEAN DEFAULT TRUE
- }
-
- AttrSpec::= SEQUENCE OF OBJECT IDENTIFIER
-
- ACClearAttrs ::= SEQUENCE {
- acIssuer GeneralName,
- acSerial INTEGER,
- attrs SEQUENCE OF Attribute
- }
-
- ProxyInfo ::= SEQUENCE OF Targets
-
- END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Param.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/Param.asn1
deleted file mode 100644
index b2987a7885..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Param.asn1
+++ /dev/null
@@ -1,93 +0,0 @@
--- **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
-Param -- { object identifier to be allocated }--
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- A
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-RANAP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolExtensionID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
-ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..10)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
-
-AllocationOrRetentionPriority ::= SEQUENCE {
- priorityLevel BOOLEAN,
- iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-obj1 RANAP-PROTOCOL-EXTENSION ::= {
- ID id-one
- CRITICALITY ignore
- EXTENSION INTEGER
- PRESENCE optional
-}
-
-obj2 RANAP-PROTOCOL-EXTENSION ::= {
- ID id-two
- CRITICALITY ignore
- EXTENSION BOOLEAN
- PRESENCE optional
-}
-
-id-one INTEGER ::= 1
-id-two INTEGER ::= 2
-
--- The following code for test of OTP-4242, ValueFromObject
--- Similar use as in the Camel spec
-
-CONFIG-DATA ::= CLASS {
- &minLevel INTEGER,
- &maxLevel INTEGER
-}
-WITH SYNTAX {
- MINLEVEL &minLevel
- MAXLEVEL &maxLevel
-}
-
-config-data CONFIG-DATA ::= {MINLEVEL 1 MAXLEVEL 3}
-
-OS1 ::= OCTET STRING (SIZE (config-data.&minLevel .. config-data.&maxLevel))
-
-POS2 {CONFIG-DATA:obj} ::= OCTET STRING (SIZE(obj.&minLevel .. obj.&maxLevel))
-
-OS2 ::= POS2 {config-data}
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ParamBasic.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ParamBasic.asn1
deleted file mode 100644
index 491bdf8956..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ParamBasic.asn1
+++ /dev/null
@@ -1,23 +0,0 @@
-ParamBasic DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-General1{T,T:val} ::= SEQUENCE {
- number INTEGER,
- string T DEFAULT val
-}
-
-T11 ::= General1{PrintableString,"hej"}
-
-T12 ::= General1{BIT STRING,'1010'B}
-
-General2{T} ::= SEQUENCE {
- number INTEGER,
- string T
-}
-
-T21 ::= General2{PrintableString}
-
-T22 ::= General2{BIT STRING}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecMyHTTP.asn b/lib/asn1/test/asn1_bin_SUITE_data/PartialDecMyHTTP.asn
deleted file mode 100644
index aad3c4d833..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecMyHTTP.asn
+++ /dev/null
@@ -1,19 +0,0 @@
-PartialDecMyHTTP DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-GetRequest ::= SEQUENCE {
- header-only BOOLEAN,
- lock BOOLEAN,
- accept-types AcceptTypes,
- url Url, ...
-}
-
-AcceptTypes ::= SET {
- standards BIT STRING {html(0), plain-text(1), gif(2), jpeg(3)} (SIZE (4)) OPTIONAL,
- others SEQUENCE OF VisibleString (SIZE (4)) OPTIONAL
-}
-
-Url ::= VisibleString (FROM ("a".."z"|"A".."Z"|"0".."9"| "./-_~%#"))
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecMyHTTP.asn1config b/lib/asn1/test/asn1_bin_SUITE_data/PartialDecMyHTTP.asn1config
deleted file mode 100644
index bafd7f46ac..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecMyHTTP.asn1config
+++ /dev/null
@@ -1,3 +0,0 @@
-{exclusive_decode,{'PartialDecMyHTTP',
- [{decode_GetRequest_incomplete,
- ['GetRequest',[{'accept-types',[{others,parts}]}]]}]}}.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq.asn b/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq.asn
deleted file mode 100644
index 17844f12b9..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq.asn
+++ /dev/null
@@ -1,34 +0,0 @@
-PartialDecSeq DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-A ::= SEQUENCE {
- a INTEGER DEFAULT 15,
- b [0] B DEFAULT {a 12, b TRUE}
-}
-
-C ::= [11] EXPLICIT D
-B ::= [12] C
-D ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-
-F ::= CHOICE {
- fa INTEGER,
- fb E --161
-}
-
-E ::= SEQUENCE {
- a INTEGER, -- matched
- b SEQUENCE OF D, -- matched value of component a of first D in E_b
- c BOOLEAN OPTIONAL,
- d CHOICE {
- da SEQUENCE OF A,
- db INTEGER,
- dc [3] SET {dca INTEGER,dcb BOOLEAN, dcc SEQUENCE{dcca INTEGER,dccb INTEGER}}
- }
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq.asn1config b/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq.asn1config
deleted file mode 100644
index 19fa3c990e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq.asn1config
+++ /dev/null
@@ -1,22 +0,0 @@
-{selective_decode,{'PartialDecSeq',
- [{selected_decode_F1,['F',fb,b,[1],a]},
- {selected_decode_F2,['F',fb,b]},
- {selected_decode_F3,['F',fb,b,[1]]},
- {selected_decode_F4,['F',fb,d,da,[1],b,a]},
- {selected_decode_E1,['E',d,dc,dcc,dcca]}]}}.
-%% partial_incomplete_decode tuplen inneh�ller tv� element. Den
-%% f�rsta �r bara en nyckel den andra �r en tupel med modulnamnet i
-%% en tupel {module,Name} och det andra elementet �r en lista av tupler:
-%% D�r varje tupel beskriver en partiell ofullst�ndig dekod. F�rsta
-%% elementet i den tupeln �r namnet p� funktionen som ska g�ra den
-%% partiella dekodningen. Det andra elementet �r en lista av typnamn/
-%% komponentnamn som �r en sekvens (path) till de element som ej skall
-%% avkodas.
-{exclusive_decode,{'PartialDecSeq',
- [{decode_F_fb_incomplete,['F',[{fb,[{b,parts},{d,undecoded}]}]]},
- {decode_D_incomplete,['D',[{a,undecoded}]]},
- {decode_F_fb_exclusive2,['F',[{fb,[{b,parts},{d,[{da,parts}]}]}]]}, {decode_F_fb_exclusive3,['F',[{fb,[{b,parts},{d,[{da,parts},{dc,[{dcc,undecoded}]}]}]}]]}]}}.
-{module_name,'Seq.asn1'}.
-{compile_options,[ber_bin,optimize,debug_info]}.
-{multifile_compile,['M1.asn','M2.asn']}.
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq2.asn b/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq2.asn
deleted file mode 100644
index 2e77d250d2..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq2.asn
+++ /dev/null
@@ -1,29 +0,0 @@
-PartialDecSeq2 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-B ::= CHOICE {
- a INTEGER,
- b SEQUENCE {aa INTEGER, ba INTEGER},
- c S
-}
-
-S ::= SEQUENCE {
- a BOOLEAN,
- b BOOLEAN
-}
-
-A ::= SEQUENCE {
- a INTEGER DEFAULT 15,
- b B DEFAULT b:{aa 13, ba 14},
- c CHOICE {a INTEGER,b SEQUENCE{a BOOLEAN, b BOOLEAN}} DEFAULT b:{a TRUE, b FALSE}
-}
-
-C ::= D
-
-D ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq2.asn1config b/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq2.asn1config
deleted file mode 100644
index d9967d9958..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq2.asn1config
+++ /dev/null
@@ -1,4 +0,0 @@
-%{partial_decode,{{module,'Seq2'},['F',fb,b,[1],a]}}.
-{exclusive_decode,{'PartialDecSeq2',
- [{decode_A_c_b_incomplete,['A',[{c,[{a,undecoded},{b,undecoded}]}]]},
- {decode_D_incomplete,['D',[{a,undecoded}]]}]}}.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq3.asn b/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq3.asn
deleted file mode 100644
index 3b530733ef..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq3.asn
+++ /dev/null
@@ -1,45 +0,0 @@
-PartialDecSeq3 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-S1 ::= SEQUENCE {
- a INTEGER,
- b S2 OPTIONAL,
- c C1,
- d SO1
-}
-
-S2 ::= SEQUENCE {
- a BOOLEAN,
- b INTEGER,
- c SEQUENCE OF S3,
- ...
-}
-
-C1 ::= CHOICE {
- a SEQUENCE OF S3,
- b SEQUENCE {a INTEGER, b BOOLEAN, c S4}
-}
-
-S3 ::= SEQUENCE {
- first INTEGER,
- second PrintableString,
- third OCTET STRING (SIZE(2..100)),
- fourth BIT STRING {one(0),two(1),three(2),four(3),five(4),six(5)}(SIZE(1..6)),
- ...
-}
-
-S4 ::= SET {
- name Name,
- title VisibleString
-}
-
-Name ::= SEQUENCE {
- givenName VisibleString,
- initial VisibleString,
- familyName VisibleString
-}
-
-SO1 ::= SEQUENCE (SIZE(2..6)) OF Name
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq3.asn1config b/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq3.asn1config
deleted file mode 100644
index 44d22aa1d4..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PartialDecSeq3.asn1config
+++ /dev/null
@@ -1,2 +0,0 @@
-{exclusive_decode,{'PartialDecSeq3',
- [{decode_S1_incomplete,['S1',[{b,[{c,parts}]},{c,[{a,parts}]},{d,parts}]]}]}}.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Pattern.asn b/lib/asn1/test/asn1_bin_SUITE_data/Pattern.asn
deleted file mode 100644
index 730b4ba32a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Pattern.asn
+++ /dev/null
@@ -1,8 +0,0 @@
-Pattern DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-DateAndTime ::= VisibleString (PATTERN "\d#2/\d#2/\d#4-\d#2:\d#2")
--- DD/MM/YYY-HH:MM
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Person.py b/lib/asn1/test/asn1_bin_SUITE_data/Person.py
deleted file mode 100644
index 60c1e06391..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Person.py
+++ /dev/null
@@ -1,10 +0,0 @@
-Person DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS Person;
-
-Person ::= [PRIVATE 19] SEQUENCE {
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL
- }
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Prim.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/Prim.asn1
deleted file mode 100644
index 1a905988f5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Prim.asn1
+++ /dev/null
@@ -1,32 +0,0 @@
-Prim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
- Bool ::= BOOLEAN
- BoolCon ::= [20] BOOLEAN
- BoolPri ::= [PRIVATE 21] BOOLEAN
- BoolApp ::= [APPLICATION 22] BOOLEAN
- BoolExpCon ::= [30] EXPLICIT BOOLEAN
- BoolExpPri ::= [PRIVATE 31] EXPLICIT BOOLEAN
- BoolExpApp ::= [APPLICATION 32] EXPLICIT BOOLEAN
-
- Int ::= INTEGER
- IntCon ::= [40] INTEGER
- IntPri ::= [PRIVATE 41] INTEGER
- IntApp ::= [APPLICATION 42] INTEGER
- IntExpCon ::= [50] EXPLICIT INTEGER
- IntExpPri ::= [PRIVATE 51] EXPLICIT INTEGER
- IntExpApp ::= [APPLICATION 52] EXPLICIT INTEGER
-
- IntEnum ::= INTEGER {first(1),last(31)}
-
- Enum ::= ENUMERATED {monday(1),tuesday(2),wednesday(3),thursday(4),
- friday(5),saturday(6),sunday(7)}
-
- ObjId ::= OBJECT IDENTIFIER
-
- RelOid ::= RELATIVE-OID
-
- Null ::= NULL
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PrimExternal.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/PrimExternal.asn1
deleted file mode 100644
index 2db685896d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PrimExternal.asn1
+++ /dev/null
@@ -1,39 +0,0 @@
-PrimExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XNT, XImp, XExp FROM External;
-
-
-
-NT ::= OCTET STRING
-Imp ::= [1] OCTET STRING
-Exp ::= [2] EXPLICIT OCTET STRING
-
-NTNT ::= NT
-ImpNT ::= [3] NT
-ExpNT ::= [4] EXPLICIT NT
-
-NTImp ::= Imp
-ImpImp ::= [5] Imp
-ExpImp ::= [6] EXPLICIT Imp
-
-NTExp ::= Exp
-ImpExp ::= [7] Exp
-ExpExp ::= [8] EXPLICIT Exp
-
-XNTNT ::= XNT
-XImpNT ::= [3] XNT
-XExpNT ::= [4] EXPLICIT XNT
-
-XNTImp ::= XImp
-XImpImp ::= [5] XImp
-XExpImp ::= [6] EXPLICIT XImp
-
-XNTExp ::= XExp
-XImpExp ::= [7] XExp
-XExpExp ::= [8] EXPLICIT XExp
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/PrimStrings.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/PrimStrings.asn1
deleted file mode 100644
index d287840f30..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/PrimStrings.asn1
+++ /dev/null
@@ -1,97 +0,0 @@
-PrimStrings DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
- Bs1 ::= BIT STRING
- Bs2 ::= BIT STRING {su(0), mo(1), tu(2), we(3), th(4), fr(5), sa(6) } (SIZE (7))
- Bs3 ::= BIT STRING {su(0), mo(1), tu(2), we(3), th(4), fr(5), sa(6) } (SIZE (1..7))
- Bs4 ::= BIT STRING {su(0), mo(1), tu(2), we(3), th(4), fr(5), sa(6) } (SIZE (1..32))
- Bs5 ::= BIT STRING {su(0), mo(17), tu(2), we(3), th(4), fr(5), sa(6) } (SIZE (1..32))
- Bs6 ::= BIT STRING {su(0), mo(17), tu(2), we(3), th(4), fr(5), sa(6)} (SIZE (16..32))
- Bs7 ::= BIT STRING (SIZE (24))
- BsPri ::= [PRIVATE 61] BIT STRING
- BsExpPri ::= [PRIVATE 61] EXPLICIT BIT STRING
- ODB-GeneralData ::= BIT STRING {
- allOG-CallsBarred (0),
- internationalOGCallsBarred (1),
- internationalOGCallsNotToHPLMN-CountryBarred (2),
- interzonalOGCallsBarred (6),
- interzonalOGCallsNotToHPLMN-CountryBarred (7),
- interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8),
- premiumRateInformationOGCallsBarred (3),
- premiumRateEntertainementOGCallsBarred (4),
- ss-AccessBarred (5),
- allECT-Barred (9),
- chargeableECT-Barred (10),
- internationalECT-Barred (11),
- interzonalECT-Barred (12),
- doublyChargeableECT-Barred (13),
- multipleECT-Barred (14)} (SIZE (15..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData
-
- TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
-
- --TestS is to test OTP-4353. See also x691 15.3 and x680 21.7
- TestS ::= BIT STRING {a(0),b(1)} (SIZE (3..8))
-
- -- OTP-5932
- BSMAX ::= BIT STRING (SIZE (5..MAX))
-
- -- OTP-7602
-
-BS255 ::= BIT STRING (SIZE (255))
-
-BS256 ::= BIT STRING (SIZE (256))
-
-BS1024 ::= BIT STRING (SIZE (1024))
-
-
-
- Os ::= OCTET STRING
- OsCon ::= [60] OCTET STRING
- OsPri ::= [PRIVATE 61] OCTET STRING
- OsApp ::= [APPLICATION 62] OCTET STRING
- OsExpCon ::= [60] EXPLICIT OCTET STRING
- OsExpPri ::= [PRIVATE 61] EXPLICIT OCTET STRING
- OsExpApp ::= [APPLICATION 62] EXPLICIT OCTET STRING
-
- Ns ::= NumericString
- NsCon ::= [70] NumericString
- NsExpCon ::= [71] EXPLICIT NumericString
-
- Ps ::= PrintableString
-
- Ts ::= TeletexString
-
- Vxs ::= VideotexString
-
- Vis ::= VisibleString
-
- IA5 ::= IA5String
-
- Grs ::= GraphicString
-
- ODesc ::= ObjectDescriptor
-
- ODescSeq ::= SEQUENCE {
- o ObjectDescriptor OPTIONAL,
- i INTEGER
- }
-
- Ges ::= GeneralString
-
- Us ::= UniversalString
- UsCon ::= [70] UniversalString
- UsExpCon ::= [71] EXPLICIT UniversalString
-
- BMP ::= BMPString
-
- Gt ::= GeneralizedTime
-
- UTC ::= UTCTime
-
- UTF ::= UTF8String
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-CommonDataTypes.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/RANAP-CommonDataTypes.asn1
deleted file mode 100644
index ff5357f000..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-CommonDataTypes.asn1
+++ /dev/null
@@ -1,45 +0,0 @@
--- RANAP-CommonDataTypes.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.5 Common Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
-RANAP-CommonDataTypes {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-CommonDataTypes (3) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..65535),
- global OBJECT IDENTIFIER
-}
-
-ProcedureCode ::= INTEGER (0..255)
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-ProtocolIE-ID ::= INTEGER (0..65535)
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome }
-
-END
-
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-Constants.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/RANAP-Constants.asn1
deleted file mode 100644
index c8df218b29..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-Constants.asn1
+++ /dev/null
@@ -1,355 +0,0 @@
--- RANAP-Constants.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.6 Constant Definitions
---
--- $Id$
---
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
-RANAP-Constants {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Constants (4) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-RAB-Assignment INTEGER ::= 0
-id-Iu-Release INTEGER ::= 1
-id-RelocationPreparation INTEGER ::= 2
-id-RelocationResourceAllocation INTEGER ::= 3
-id-RelocationCancel INTEGER ::= 4
-id-SRNS-ContextTransfer INTEGER ::= 5
-id-SecurityModeControl INTEGER ::= 6
-id-DataVolumeReport INTEGER ::= 7
-id-Reset INTEGER ::= 9
-id-RAB-ReleaseRequest INTEGER ::= 10
-id-Iu-ReleaseRequest INTEGER ::= 11
-id-RelocationDetect INTEGER ::= 12
-id-RelocationComplete INTEGER ::= 13
-id-Paging INTEGER ::= 14
-id-CommonID INTEGER ::= 15
-id-CN-InvokeTrace INTEGER ::= 16
-id-LocationReportingControl INTEGER ::= 17
-id-LocationReport INTEGER ::= 18
-id-InitialUE-Message INTEGER ::= 19
-id-DirectTransfer INTEGER ::= 20
-id-OverloadControl INTEGER ::= 21
-id-ErrorIndication INTEGER ::= 22
-id-SRNS-DataForward INTEGER ::= 23
-id-ForwardSRNS-Context INTEGER ::= 24
-id-privateMessage INTEGER ::= 25
-id-CN-DeactivateTrace INTEGER ::= 26
-id-ResetResource INTEGER ::= 27
-id-RANAP-Relocation INTEGER ::= 28
-id-RAB-ModifyRequest INTEGER ::= 29
-id-LocationRelatedData INTEGER ::= 30
-id-InformationTransfer INTEGER ::= 31
-id-UESpecificInformation INTEGER ::= 32
-id-UplinkInformationExchange INTEGER ::= 33
-id-DirectInformationTransfer INTEGER ::= 34
-id-MBMSSessionStart INTEGER ::= 35
-id-MBMSSessionUpdate INTEGER ::= 36
-id-MBMSSessionStop INTEGER ::= 37
-id-MBMSUELinking INTEGER ::= 38
-id-MBMSRegistration INTEGER ::= 39
-id-MBMSCNDe-Registration-Procedure INTEGER ::= 40
-id-MBMSRABEstablishmentIndication INTEGER ::= 41
-id-MBMSRABRelease INTEGER ::= 42
-id-enhancedRelocationComplete INTEGER ::= 43
-id-enhancedRelocationCompleteConfirm INTEGER ::= 44
-id-RANAPenhancedRelocation INTEGER ::= 45
-id-SRVCCPreparation INTEGER ::= 256
-
-
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
-
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfDTs INTEGER ::= 15
-maxNrOfErrors INTEGER ::= 256
-maxNrOfIuSigConIds INTEGER ::= 250
-maxNrOfPDPDirections INTEGER ::= 2
-maxNrOfPoints INTEGER ::= 15
-maxNrOfRABs INTEGER ::= 256
-maxNrOfSeparateTrafficDirections INTEGER ::= 2
-maxNrOfSRBs INTEGER ::= 8
-maxNrOfVol INTEGER ::= 2
-maxNrOfLevels INTEGER ::= 256
-maxNrOfAltValues INTEGER ::= 16
-maxNrOfPLMNsSN INTEGER ::= 32
-maxNrOfLAs INTEGER ::= 65536
-maxNrOfSNAs INTEGER ::= 65536
-maxNrOfUEsToBeTraced INTEGER ::= 64
-maxNrOfInterfaces INTEGER ::= 16
-maxRAB-Subflows INTEGER ::= 7
-maxRAB-SubflowCombination INTEGER ::= 64
-maxSet INTEGER ::= 9
-maxNrOfHSDSCHMACdFlows-1 INTEGER ::= 7
-maxnoofMulticastServicesPerUE INTEGER ::= 128
-maxnoofMulticastServicesPerRNC INTEGER ::= 512
-maxMBMSSA INTEGER ::= 256
-maxMBMSRA INTEGER ::= 65536
-maxNrOfEDCHMACdFlows-1 INTEGER ::= 7
-maxGANSSSet INTEGER ::= 9
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-AreaIdentity INTEGER ::= 0
-id-CN-DomainIndicator INTEGER ::= 3
-id-Cause INTEGER ::= 4
-id-ChosenEncryptionAlgorithm INTEGER ::= 5
-id-ChosenIntegrityProtectionAlgorithm INTEGER ::= 6
-id-ClassmarkInformation2 INTEGER ::= 7
-id-ClassmarkInformation3 INTEGER ::= 8
-id-CriticalityDiagnostics INTEGER ::= 9
-id-DL-GTP-PDU-SequenceNumber INTEGER ::= 10
-id-EncryptionInformation INTEGER ::= 11
-id-IntegrityProtectionInformation INTEGER ::= 12
-id-IuTransportAssociation INTEGER ::= 13
-id-L3-Information INTEGER ::= 14
-id-LAI INTEGER ::= 15
-id-NAS-PDU INTEGER ::= 16
-id-NonSearchingIndication INTEGER ::= 17
-id-NumberOfSteps INTEGER ::= 18
-id-OMC-ID INTEGER ::= 19
-id-OldBSS-ToNewBSS-Information INTEGER ::= 20
-id-PagingAreaID INTEGER ::= 21
-id-PagingCause INTEGER ::= 22
-id-PermanentNAS-UE-ID INTEGER ::= 23
-id-RAB-ContextItem INTEGER ::= 24
-id-RAB-ContextList INTEGER ::= 25
-id-RAB-DataForwardingItem INTEGER ::= 26
-id-RAB-DataForwardingItem-SRNS-CtxReq INTEGER ::= 27
-id-RAB-DataForwardingList INTEGER ::= 28
-id-RAB-DataForwardingList-SRNS-CtxReq INTEGER ::= 29
-id-RAB-DataVolumeReportItem INTEGER ::= 30
-id-RAB-DataVolumeReportList INTEGER ::= 31
-id-RAB-DataVolumeReportRequestItem INTEGER ::= 32
-id-RAB-DataVolumeReportRequestList INTEGER ::= 33
-id-RAB-FailedItem INTEGER ::= 34
-id-RAB-FailedList INTEGER ::= 35
-id-RAB-ID INTEGER ::= 36
-id-RAB-QueuedItem INTEGER ::= 37
-id-RAB-QueuedList INTEGER ::= 38
-id-RAB-ReleaseFailedList INTEGER ::= 39
-id-RAB-ReleaseItem INTEGER ::= 40
-id-RAB-ReleaseList INTEGER ::= 41
-id-RAB-ReleasedItem INTEGER ::= 42
-id-RAB-ReleasedList INTEGER ::= 43
-id-RAB-ReleasedList-IuRelComp INTEGER ::= 44
-id-RAB-RelocationReleaseItem INTEGER ::= 45
-id-RAB-RelocationReleaseList INTEGER ::= 46
-id-RAB-SetupItem-RelocReq INTEGER ::= 47
-id-RAB-SetupItem-RelocReqAck INTEGER ::= 48
-id-RAB-SetupList-RelocReq INTEGER ::= 49
-id-RAB-SetupList-RelocReqAck INTEGER ::= 50
-id-RAB-SetupOrModifiedItem INTEGER ::= 51
-id-RAB-SetupOrModifiedList INTEGER ::= 52
-id-RAB-SetupOrModifyItem INTEGER ::= 53
-id-RAB-SetupOrModifyList INTEGER ::= 54
-id-RAC INTEGER ::= 55
-id-RelocationType INTEGER ::= 56
-id-RequestType INTEGER ::= 57
-id-SAI INTEGER ::= 58
-id-SAPI INTEGER ::= 59
-id-SourceID INTEGER ::= 60
-id-Source-ToTarget-TransparentContainer INTEGER ::= 61
-id-TargetID INTEGER ::= 62
-id-Target-ToSource-TransparentContainer INTEGER ::= 63
-id-TemporaryUE-ID INTEGER ::= 64
-id-TraceReference INTEGER ::= 65
-id-TraceType INTEGER ::= 66
-id-TransportLayerAddress INTEGER ::= 67
-id-TriggerID INTEGER ::= 68
-id-UE-ID INTEGER ::= 69
-id-UL-GTP-PDU-SequenceNumber INTEGER ::= 70
-id-RAB-FailedtoReportItem INTEGER ::= 71
-id-RAB-FailedtoReportList INTEGER ::= 72
-id-KeyStatus INTEGER ::= 75
-id-DRX-CycleLengthCoefficient INTEGER ::= 76
-id-IuSigConIdList INTEGER ::= 77
-id-IuSigConIdItem INTEGER ::= 78
-id-IuSigConId INTEGER ::= 79
-id-DirectTransferInformationItem-RANAP-RelocInf INTEGER ::= 80
-id-DirectTransferInformationList-RANAP-RelocInf INTEGER ::= 81
-id-RAB-ContextItem-RANAP-RelocInf INTEGER ::= 82
-id-RAB-ContextList-RANAP-RelocInf INTEGER ::= 83
-id-RAB-ContextFailedtoTransferItem INTEGER ::= 84
-id-RAB-ContextFailedtoTransferList INTEGER ::= 85
-id-GlobalRNC-ID INTEGER ::= 86
-id-RAB-ReleasedItem-IuRelComp INTEGER ::= 87
-id-MessageStructure INTEGER ::= 88
-id-Alt-RAB-Parameters INTEGER ::= 89
-id-Ass-RAB-Parameters INTEGER ::= 90
-id-RAB-ModifyList INTEGER ::= 91
-id-RAB-ModifyItem INTEGER ::= 92
-id-TypeOfError INTEGER ::= 93
-id-BroadcastAssistanceDataDecipheringKeys INTEGER ::= 94
-id-LocationRelatedDataRequestType INTEGER ::= 95
-id-GlobalCN-ID INTEGER ::= 96
-id-LastKnownServiceArea INTEGER ::= 97
-id-SRB-TrCH-Mapping INTEGER ::= 98
-id-InterSystemInformation-TransparentContainer INTEGER ::= 99
-id-NewBSS-To-OldBSS-Information INTEGER ::= 100
-id-SourceRNC-PDCP-context-info INTEGER ::= 103
-id-InformationTransferID INTEGER ::= 104
-id-SNA-Access-Information INTEGER ::= 105
-id-ProvidedData INTEGER ::= 106
-id-GERAN-BSC-Container INTEGER ::= 107
-id-GERAN-Classmark INTEGER ::= 108
-id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item INTEGER ::= 109
-id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse INTEGER ::= 110
-id-VerticalAccuracyCode INTEGER ::= 111
-id-ResponseTime INTEGER ::= 112
-id-PositioningPriority INTEGER ::= 113
-id-ClientType INTEGER ::= 114
-id-LocationRelatedDataRequestTypeSpecificToGERANIuMode INTEGER ::= 115
-id-SignallingIndication INTEGER ::= 116
-id-hS-DSCH-MAC-d-Flow-ID INTEGER ::= 117
-id-UESBI-Iu INTEGER ::= 118
-id-PositionData INTEGER ::= 119
-id-PositionDataSpecificToGERANIuMode INTEGER ::= 120
-id-CellLoadInformationGroup INTEGER ::= 121
-id-AccuracyFulfilmentIndicator INTEGER ::= 122
-id-InformationTransferType INTEGER ::= 123
-id-TraceRecordingSessionInformation INTEGER ::= 124
-id-TracePropagationParameters INTEGER ::= 125
-id-InterSystemInformationTransferType INTEGER ::= 126
-id-SelectedPLMN-ID INTEGER ::= 127
-id-RedirectionCompleted INTEGER ::= 128
-id-RedirectionIndication INTEGER ::= 129
-id-NAS-SequenceNumber INTEGER ::= 130
-id-RejectCauseValue INTEGER ::= 131
-id-APN INTEGER ::= 132
-id-CNMBMSLinkingInformation INTEGER ::= 133
-id-DeltaRAListofIdleModeUEs INTEGER ::= 134
-id-FrequenceLayerConvergenceFlag INTEGER ::= 135
-id-InformationExchangeID INTEGER ::= 136
-id-InformationExchangeType INTEGER ::= 137
-id-InformationRequested INTEGER ::= 138
-id-InformationRequestType INTEGER ::= 139
-id-IPMulticastAddress INTEGER ::= 140
-id-JoinedMBMSBearerServicesList INTEGER ::= 141
-id-LeftMBMSBearerServicesList INTEGER ::= 142
-id-MBMSBearerServiceType INTEGER ::= 143
-id-MBMSCNDe-Registration INTEGER ::= 144
-id-MBMSServiceArea INTEGER ::= 145
-id-MBMSSessionDuration INTEGER ::= 146
-id-MBMSSessionIdentity INTEGER ::= 147
-id-PDP-TypeInformation INTEGER ::= 148
-id-RAB-Parameters INTEGER ::= 149
-id-RAListofIdleModeUEs INTEGER ::= 150
-id-MBMSRegistrationRequestType INTEGER ::= 151
-id-SessionUpdateID INTEGER ::= 152
-id-TMGI INTEGER ::= 153
-id-TransportLayerInformation INTEGER ::= 154
-id-UnsuccessfulLinkingList INTEGER ::= 155
-id-MBMSLinkingInformation INTEGER ::= 156
-id-MBMSSessionRepetitionNumber INTEGER ::= 157
-id-AlternativeRABConfiguration INTEGER ::= 158
-id-AlternativeRABConfigurationRequest INTEGER ::= 159
-id-E-DCH-MAC-d-Flow-ID INTEGER ::= 160
-id-SourceBSS-ToTargetBSS-TransparentContainer INTEGER ::= 161
-id-TargetBSS-ToSourceBSS-TransparentContainer INTEGER ::= 162
-id-TimeToMBMSDataTransfer INTEGER ::= 163
-id-IncludeVelocity INTEGER ::= 164
-id-VelocityEstimate INTEGER ::= 165
-id-RedirectAttemptFlag INTEGER ::= 166
-id-RAT-Type INTEGER ::= 167
-id-PeriodicLocationInfo INTEGER ::= 168
-id-MBMSCountingInformation INTEGER ::= 169
-id-170-not-to-be-used-for-IE-ids INTEGER ::= 170
-id-ExtendedRNC-ID INTEGER ::= 171
-id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf INTEGER ::= 172
-id-Alt-RAB-Parameter-ExtendedMaxBitrateInf INTEGER ::= 173
-id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 174
-id-Ass-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 175
-id-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 176
-id-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 177
-id-Requested-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 178
-id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 179
-id-LAofIdleModeUEs INTEGER ::= 180
-id-newLAListofIdleModeUEs INTEGER ::= 181
-id-LAListwithNoIdleModeUEsAnyMore INTEGER ::= 182
-id-183-not-to-be-used-for-IE-ids INTEGER ::= 183
-id-GANSS-PositioningDataSet INTEGER ::= 184
-id-RequestedGANSSAssistanceData INTEGER ::= 185
-id-BroadcastGANSSAssistanceDataDecipheringKeys INTEGER ::= 186
-id-d-RNTI-for-NoIuCSUP INTEGER ::= 187
-id-RAB-SetupList-EnhancedRelocCompleteReq INTEGER ::= 188
-id-RAB-SetupItem-EnhancedRelocCompleteReq INTEGER ::= 189
-id-RAB-SetupList-EnhancedRelocCompleteRes INTEGER ::= 190
-id-RAB-SetupItem-EnhancedRelocCompleteRes INTEGER ::= 191
-id-RAB-SetupList-EnhRelocInfoReq INTEGER ::= 192
-id-RAB-SetupItem-EnhRelocInfoReq INTEGER ::= 193
-id-RAB-SetupList-EnhRelocInfoRes INTEGER ::= 194
-id-RAB-SetupItem-EnhRelocInfoRes INTEGER ::= 195
-id-OldIuSigConId INTEGER ::= 196
-id-RAB-FailedList-EnhRelocInfoRes INTEGER ::= 197
-id-RAB-FailedItem-EnhRelocInfoRes INTEGER ::= 198
-id-Global-ENB-ID INTEGER ::= 199
-id-UE-History-Information INTEGER ::= 200
-id-MBMSSynchronisationInformation INTEGER ::= 201
-id-SubscriberProfileIDforRFP INTEGER ::= 202
-id-CSG-Id INTEGER ::= 203
-id-OldIuSigConIdCS INTEGER ::= 204
-id-OldIuSigConIdPS INTEGER ::= 205
-id-GlobalCN-IDCS INTEGER ::= 206
-id-GlobalCN-IDPS INTEGER ::= 207
-id-SourceExtendedRNC-ID INTEGER ::= 208
-id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes INTEGER ::= 209
-id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes INTEGER ::= 210
-id-SourceRNC-ID INTEGER ::= 211
-id-Relocation-TargetRNC-ID INTEGER ::= 212
-id-Relocation-TargetExtendedRNC-ID INTEGER ::= 213
-id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf INTEGER ::= 214
-id-Alt-RAB-Parameter-SupportedMaxBitrateInf INTEGER ::= 215
-id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 216
-id-Ass-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 217
-id-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 218
-id-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 219
-id-Requested-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 220
-id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 221
-id-Relocation-SourceRNC-ID INTEGER ::= 222
-id-Relocation-SourceExtendedRNC-ID INTEGER ::= 223
-id-EncryptionKey INTEGER ::= 224
-id-IntegrityProtectionKey INTEGER ::= 225
-id-SRVCC-HO-Indication INTEGER ::= 226
-id-SRVCC-Information INTEGER ::= 227
-id-SRVCC-Operation-Possible INTEGER ::= 228
-
-END
-
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-Containers.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/RANAP-Containers.asn1
deleted file mode 100644
index 5168fa6917..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-Containers.asn1
+++ /dev/null
@@ -1,206 +0,0 @@
--- RANAP-Containers.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.7 Container Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
-RANAP-Containers {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Containers (5) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- Presence,
- PrivateIE-ID,
- ProtocolExtensionID,
- ProtocolIE-ID
-FROM RANAP-CommonDataTypes
-
- maxPrivateIEs,
- maxProtocolExtensions,
- maxProtocolIEs
-FROM RANAP-Constants;
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-RANAP-PROTOCOL-IES ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-RANAP-PROTOCOL-IES-PAIR ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &firstCriticality Criticality,
- &FirstValue,
- &secondCriticality Criticality,
- &SecondValue,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- FIRST CRITICALITY &firstCriticality
- FIRST TYPE &FirstValue
- SECOND CRITICALITY &secondCriticality
- SECOND TYPE &SecondValue
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol Extensions
---
--- **************************************************************
-
-RANAP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolExtensionID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Private IEs
---
--- **************************************************************
-
-RANAP-PRIVATE-IES ::= CLASS {
- &id PrivateIE-ID,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Container for Protocol IEs
---
--- **************************************************************
-
-ProtocolIE-Container {RANAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality RANAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Protocol IE Pairs
---
--- **************************************************************
-
-ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-FieldPair {{IEsSetParam}}
-
-ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
- firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
- firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
- secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
- secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-Container {{IEsSetParam}}
-
-ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-ContainerPair {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Private IEs
---
--- **************************************************************
-
-PrivateIE-Container {RANAP-PRIVATE-IES : IEsSetParam } ::=
- SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
- PrivateIE-Field {{IEsSetParam}}
-
-PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
- id RANAP-PRIVATE-IES.&id ({IEsSetParam}),
- criticality RANAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
- value RANAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
-}
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-IEs.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/RANAP-IEs.asn1
deleted file mode 100644
index 351dad436b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-IEs.asn1
+++ /dev/null
@@ -1,2081 +0,0 @@
--- RANAP-IEs.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.4 Information Element Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
-RANAP-IEs {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-IEs (2) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- maxNrOfErrors,
- maxNrOfPDPDirections,
- maxNrOfPoints,
- maxNrOfRABs,
- maxNrOfSRBs,
- maxNrOfSeparateTrafficDirections,
- maxRAB-Subflows,
- maxRAB-SubflowCombination,
- maxNrOfLevels,
- maxNrOfAltValues,
- maxNrOfSNAs,
- maxNrOfLAs,
- maxNrOfPLMNsSN,
- maxSet,
- maxNrOfHSDSCHMACdFlows-1,
- maxNrOfUEsToBeTraced,
- maxNrOfInterfaces,
- maxnoofMulticastServicesPerRNC,
- maxMBMSSA,
- maxMBMSRA,
- maxnoofMulticastServicesPerUE,
- maxNrOfEDCHMACdFlows-1,
- maxGANSSSet,
-
- id-CN-DomainIndicator,
- id-MessageStructure,
- id-SRB-TrCH-Mapping,
- id-TypeOfError,
- id-hS-DSCH-MAC-d-Flow-ID,
- id-SignallingIndication,
- id-CellLoadInformationGroup,
- id-TraceRecordingSessionInformation,
- id-MBMSLinkingInformation,
- id-AlternativeRABConfiguration,
- id-AlternativeRABConfigurationRequest,
- id-E-DCH-MAC-d-Flow-ID,
- id-RAC,
- id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf,
- id-Alt-RAB-Parameter-ExtendedMaxBitrateInf,
- id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList,
- id-Ass-RAB-Parameter-ExtendedMaxBitrateList,
- id-RAB-Parameter-ExtendedGuaranteedBitrateList,
- id-RAB-Parameter-ExtendedMaxBitrateList,
- id-Requested-RAB-Parameter-ExtendedMaxBitrateList,
- id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList,
- id-LAofIdleModeUEs,
- id-newLAListofIdleModeUEs,
- id-LAListwithNoIdleModeUEsAnyMore,
- id-ExtendedRNC-ID,
- id-GANSS-PositioningDataSet,
- id-d-RNTI-for-NoIuCSUP,
- id-UE-History-Information,
- id-SubscriberProfileIDforRFP,
- id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf,
- id-Alt-RAB-Parameter-SupportedMaxBitrateInf,
- id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList,
- id-Ass-RAB-Parameter-SupportedMaxBitrateList,
- id-RAB-Parameter-SupportedGuaranteedBitrateList,
- id-RAB-Parameter-SupportedMaxBitrateList,
- id-Requested-RAB-Parameter-SupportedMaxBitrateList,
- id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList
-
-
-FROM RANAP-Constants
-
- Criticality,
- ProcedureCode,
- ProtocolIE-ID,
- TriggeringMessage
-FROM RANAP-CommonDataTypes
-
- ProtocolExtensionContainer{},
- RANAP-PROTOCOL-EXTENSION
-FROM RANAP-Containers;
-
--- A
-
-AccuracyFulfilmentIndicator ::= ENUMERATED{
- requested-Accuracy-Fulfilled,
- requested-Accuracy-Not-Fulfilled,
- ...
-}
-
-AllocationOrRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
- queuingAllowed QueuingAllowed,
- iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Alt-RAB-Parameters ::= SEQUENCE {
- altMaxBitrateInf Alt-RAB-Parameter-MaxBitrateInf OPTIONAL,
- altGuaranteedBitRateInf Alt-RAB-Parameter-GuaranteedBitrateInf OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {Alt-RAB-Parameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-Alt-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to indicate an alternative RAB configuration --
- { ID id-AlternativeRABConfiguration CRITICALITY ignore EXTENSION RAB-Parameters PRESENCE optional }|
--- Extension for Release 7 to indicate an alternative list of Extended Guaranteed Bitrates --
-{ ID id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf PRESENCE optional }|
--- Extension for Release 7 to indicate an alternative list of Extended Maximum Bitrates --
-{ ID id-Alt-RAB-Parameter-ExtendedMaxBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedMaxBitrateInf PRESENCE optional }|
--- Extension for Release 8 to indicate an alternative list of Supported Maximum Bitrates --
-{ ID id-Alt-RAB-Parameter-SupportedMaxBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedMaxBitrateInf PRESENCE optional }|
--- Extension for Release 8 to indicate an alternative list of Supported Guaranteed Bitrates --
-{ ID id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedGuaranteedBitrateInf PRESENCE optional },
- ...
-}
-
-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf ::= SEQUENCE {
- altExtendedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType,
- altExtendedGuaranteedBitrates Alt-RAB-Parameter-ExtendedGuaranteedBitrates OPTIONAL
- -- This IE shall be present if the Type of Extended Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- ...
-}
-
-Alt-RAB-Parameter-ExtendedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- Alt-RAB-Parameter-ExtendedGuaranteedBitrateList
-
-Alt-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
-
-Alt-RAB-Parameter-GuaranteedBitrateInf ::= SEQUENCE {
- altGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType,
- altGuaranteedBitrates Alt-RAB-Parameter-GuaranteedBitrates OPTIONAL
- -- This IE shall be present if the Type of Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- ...
-}
-
-Alt-RAB-Parameter-GuaranteedBitrateType ::= ENUMERATED{
- unspecified,
- value-range,
- discrete-values,
- ...
-}
-
-Alt-RAB-Parameter-GuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- Alt-RAB-Parameter-GuaranteedBitrateList
-
-
-Alt-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
-
-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf ::= SEQUENCE {
- altSupportedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType,
- altSupportedGuaranteedBitrates Alt-RAB-Parameter-SupportedGuaranteedBitrates OPTIONAL
- -- This IE shall be present if the Type of Supported Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs} } OPTIONAL,
- ...
-}
-
-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-...
-}
-
-Alt-RAB-Parameter-SupportedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- SupportedRAB-ParameterBitrateList
-
-
-Alt-RAB-Parameter-ExtendedMaxBitrateInf ::= SEQUENCE {
- altExtendedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType,
- altExtendedMaxBitrates Alt-RAB-Parameter-ExtendedMaxBitrates OPTIONAL
- -- This IE shall be present if the Type of Extended Alternative Maximum Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- ...
-}
-
-Alt-RAB-Parameter-ExtendedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- Alt-RAB-Parameter-ExtendedMaxBitrateList
-
-Alt-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
-
-Alt-RAB-Parameter-MaxBitrateInf ::= SEQUENCE {
- altMaxBitrateType Alt-RAB-Parameter-MaxBitrateType,
- altMaxBitrates Alt-RAB-Parameter-MaxBitrates OPTIONAL
- -- This IE shall be present if the Type of Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- ...
-}
-
-Alt-RAB-Parameter-MaxBitrateType ::= ENUMERATED{
- unspecified,
- value-range,
- discrete-values,
- ...
-}
-
-Alt-RAB-Parameter-MaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- Alt-RAB-Parameter-MaxBitrateList
-
-
-Alt-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
-
-
-Alt-RAB-Parameter-SupportedMaxBitrateInf ::= SEQUENCE {
- altSupportedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType,
- altSupportedMaxBitrates Alt-RAB-Parameter-SupportedMaxBitrates OPTIONAL
- -- This IE shall be present if the Type of Supported Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs} } OPTIONAL,
-...
-}
-
-Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-...
-}
-
-
-Alt-RAB-Parameter-SupportedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- SupportedRAB-ParameterBitrateList
-
-AlternativeRABConfigurationRequest ::= ENUMERATED{
- alternative-RAB-configuration-Requested,
- ...
-}
-
-APN ::= OCTET STRING (SIZE (1..255))
--- Reference: 23.003
-
-AreaIdentity ::= CHOICE {
- sAI SAI,
- geographicalArea GeographicalArea,
- ...
-}
-
-Ass-RAB-Parameters ::= SEQUENCE {
- assMaxBitrateInf Ass-RAB-Parameter-MaxBitrateList OPTIONAL,
- assGuaranteedBitRateInf Ass-RAB-Parameter-GuaranteedBitrateList OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {Ass-RAB-Parameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-Ass-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate an extended assigned Guaranteed Bitrate --
- { ID id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }|
--- Extension for Release 7 to indicate an extended assigned Maximum Bitrate --
- { ID id-Ass-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }|
--- Extension for Release 8 to indicate an supported assigned Maximum Bitrate --
- { ID id-Ass-RAB-Parameter-SupportedMaxBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }|
--- Extension for Release 8 to indicate an supported assigned Guaranteed Bitrate --
- { ID id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional },
- ...
-}
-
-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
-
-Ass-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
-
-
-Ass-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
-
-
-Ass-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
-
-AuthorisedPLMNs ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF
- SEQUENCE {
- pLMNidentity PLMNidentity,
- authorisedSNAsList AuthorisedSNAs OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {AuthorisedPLMNs-ExtIEs} } OPTIONAL,
- ...
- }
-
-AuthorisedPLMNs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AuthorisedSNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC
-
-
--- B
-
-BindingID ::= OCTET STRING (SIZE (4))
-
-BroadcastAssistanceDataDecipheringKeys ::= SEQUENCE {
- cipheringKeyFlag BIT STRING (SIZE (1)),
- currentDecipheringKey BIT STRING (SIZE (56)),
- nextDecipheringKey BIT STRING (SIZE (56)),
- ...
-}
-
--- C
-
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transmissionNetwork CauseTransmissionNetwork,
- nAS CauseNAS,
- protocol CauseProtocol,
- misc CauseMisc,
- non-Standard CauseNon-Standard,
- ...,
- radioNetworkExtension CauseRadioNetworkExtension
-}
-
-CauseMisc ::= INTEGER {
- om-intervention (113),
- no-resource-available (114),
- unspecified-failure (115),
- network-optimisation (116)
-} (113..128)
-
-CauseNAS ::= INTEGER {
- user-restriction-start-indication (81),
- user-restriction-end-indication (82),
- normal-release (83)
-} (81..96)
-
-CauseProtocol ::= INTEGER {
- transfer-syntax-error (97),
- semantic-error (98),
- message-not-compatible-with-receiver-state (99),
- abstract-syntax-error-reject (100),
- abstract-syntax-error-ignore-and-notify (101),
- abstract-syntax-error-falsely-constructed-message (102)
-} (97..112)
-
-CauseRadioNetwork ::= INTEGER {
- rab-pre-empted (1),
- trelocoverall-expiry (2),
- trelocprep-expiry (3),
- treloccomplete-expiry (4),
- tqueing-expiry (5),
- relocation-triggered (6),
- trellocalloc-expiry(7),
- unable-to-establish-during-relocation (8),
- unknown-target-rnc (9),
- relocation-cancelled (10),
- successful-relocation (11),
- requested-ciphering-and-or-integrity-protection-algorithms-not-supported (12),
- conflict-with-already-existing-integrity-protection-and-or-ciphering-information (13),
- failure-in-the-radio-interface-procedure (14),
- release-due-to-utran-generated-reason (15),
- user-inactivity (16),
- time-critical-relocation (17),
- requested-traffic-class-not-available (18),
- invalid-rab-parameters-value (19),
- requested-maximum-bit-rate-not-available (20),
- requested-guaranteed-bit-rate-not-available (21),
- requested-transfer-delay-not-achievable (22),
- invalid-rab-parameters-combination (23),
- condition-violation-for-sdu-parameters (24),
- condition-violation-for-traffic-handling-priority (25),
- condition-violation-for-guaranteed-bit-rate (26),
- user-plane-versions-not-supported (27),
- iu-up-failure (28),
- relocation-failure-in-target-CN-RNC-or-target-system(29),
- invalid-RAB-ID (30),
- no-remaining-rab (31),
- interaction-with-other-procedure (32),
- requested-maximum-bit-rate-for-dl-not-available (33),
- requested-maximum-bit-rate-for-ul-not-available (34),
- requested-guaranteed-bit-rate-for-dl-not-available (35),
- requested-guaranteed-bit-rate-for-ul-not-available (36),
- repeated-integrity-checking-failure (37),
- requested-request-type-not-supported (38),
- request-superseded (39),
- release-due-to-UE-generated-signalling-connection-release (40),
- resource-optimisation-relocation (41),
- requested-information-not-available (42),
- relocation-desirable-for-radio-reasons (43),
- relocation-not-supported-in-target-RNC-or-target-system (44),
- directed-retry (45),
- radio-connection-with-UE-Lost (46),
- rNC-unable-to-establish-all-RFCs (47),
- deciphering-keys-not-available(48),
- dedicated-assistance-data-not-available(49),
- relocation-target-not-allowed (50),
- location-reporting-congestion (51),
- reduce-load-in-serving-cell (52),
- no-radio-resources-available-in-target-cell (53),
- gERAN-Iumode-failure (54),
- access-restricted-due-to-shared-networks (55),
- incoming-relocation-not-supported-due-to-PUESBINE-feature (56),
- traffic-load-in-the-target-cell-higher-than-in-the-source-cell (57),
- mBMS-no-multicast-service-for-this-UE(58),
- mBMS-unknown-UE-ID(59),
- successful-MBMS-session-start-no-data-bearer-necessary(60),
- mBMS-superseded-due-to-NNSF(61),
- mBMS-UE-linking-already-done(62),
- mBMS-UE-de-linking-failure-no-existing-UE-linking(63),
- tMGI-unknown(64)
-} (1..64)
-
-CauseRadioNetworkExtension ::= INTEGER {
- iP-multicast-address-and-APN-not-valid(257),
- mBMS-de-registration-rejected-due-to-implicit-registration(258),
- mBMS-request-superseded(259),
- mBMS-de-registration-during-session-not-allowed(260),
- mBMS-no-data-bearer-necessary(261),
- periodicLocationInformationNotAvailable(262),
- gTP-Resources-Unavailable(263),
- tMGI-inUse-overlapping-MBMS-service-area(264),
- mBMS-no-cell-in-MBMS-service-area(265),
- no-Iu-CS-UP-relocation(266),
- successful-MBMS-Session-Start-IP-Multicast-Bearer-established(267),
- cS-fallback-triggered(268)
-} (257..512)
-
-CauseNon-Standard ::= INTEGER (129..256)
--- Cause value 256 shall not be used --
-
-CauseTransmissionNetwork ::= INTEGER {
- signalling-transport-resource-failure (65),
- iu-transport-connection-failed-to-establish (66)
-} (65..80)
-
-Cell-Capacity-Class-Value ::= INTEGER (1..100,...)
-
-CellLoadInformation ::= SEQUENCE {
- cell-Capacity-Class-Value Cell-Capacity-Class-Value,
- loadValue LoadValue,
- rTLoadValue RTLoadValue OPTIONAL,
- nRTLoadInformationValue NRTLoadInformationValue OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CellLoadInformation-ExtIEs } } OPTIONAL,
- ...
-}
-
-CellLoadInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellLoadInformationGroup ::= SEQUENCE {
- sourceCellID SourceCellID,
- uplinkCellLoadInformation CellLoadInformation OPTIONAL,
- downlinkCellLoadInformation CellLoadInformation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CellLoadInformationGroup-ExtIEs } } OPTIONAL,
- ...
-}
-
-CellLoadInformationGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellType ::= ENUMERATED{
- macro,
- micro,
- pico,
- femto,
- ...
-}
-
-ClientType ::= ENUMERATED {
- emergency-Services,
- value-Added-Services,
- pLMN-Operator-Services,
- lawful-Intercept-Services,
- pLMN-Operator-Broadcast-Services,
- pLMN-Operator-O-et-M,
- pLMN-Operator-Anonymous-Statistics,
- pLMN-Operator-Target-MS-Service-Support,
- ...
-}
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureCode ProcedureCode OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- procedureCriticality Criticality OPTIONAL,
- iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
- SEQUENCE {
- iECriticality Criticality,
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber0 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
- ...
- }
-
-CriticalityDiagnostics-IE-List-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 99 to enable reporting the message structure down to the erroneous IE --
- { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional } |
--- Extension for Release 99 to enable reporting if a reported error is due to a not understood or a missing IE --
- { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
- ...
-}
-
-MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
- SEQUENCE {
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber1 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
- ...
- }
-
-MessageStructure-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- cI CI,
- iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL
-}
-
-CGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
- { ID id-RAC CRITICALITY ignore EXTENSION RAC PRESENCE optional },
- ...
-}
-
-ChosenEncryptionAlgorithm ::= EncryptionAlgorithm
-
-ChosenIntegrityProtectionAlgorithm ::= IntegrityProtectionAlgorithm
-
-CI ::= OCTET STRING (SIZE (2))
-
-ClassmarkInformation2 ::= OCTET STRING
-
-ClassmarkInformation3 ::= OCTET STRING
-
-CN-DomainIndicator ::= ENUMERATED {
- cs-domain,
- ps-domain
-}
-
-CN-ID ::= INTEGER (0..4095)
-
-CSG-Id ::= BIT STRING (SIZE (27))
-
-
--- D
-
-DataVolumeReference ::= INTEGER (0..255)
-
-DataVolumeReportingIndication ::= ENUMERATED {
- do-report,
- do-not-report
-}
-
-DCH-ID ::= INTEGER (0..255)
-
-DeliveryOfErroneousSDU ::= ENUMERATED {
- yes,
- no,
- no-error-detection-consideration
-}
-
-DeliveryOrder::= ENUMERATED {
- delivery-order-requested,
- delivery-order-not-requested
-}
-
-DeltaRAListofIdleModeUEs ::= SEQUENCE {
- newRAListofIdleModeUEs NewRAListofIdleModeUEs OPTIONAL,
- rAListwithNoIdleModeUEsAnyMore RAListwithNoIdleModeUEsAnyMore OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {DeltaRAListofIdleModeUEs-ExtIEs} } OPTIONAL
-}
-
-NewRAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
- RAC
-
-RAListwithNoIdleModeUEsAnyMore ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
- RAC
-
-DeltaRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-{ ID id-newLAListofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }|
- -- This IE shall be present if the New RA List of Idle Mode UEs IE is included. --
-{ ID id-LAListwithNoIdleModeUEsAnyMore CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional },
- -- This IE shall be presentif the RA List with No Idle Mode UEs Any More IE is included. --
- ...
-}
-
-ForwardingIndication::=ENUMERATED{
- forwarding-admitted,
- ...
-}
-
-DL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-DL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-D-RNTI ::= INTEGER (0..1048575)
-
-DRX-CycleLengthCoefficient ::= INTEGER (6..9)
-
-DSCH-ID ::= INTEGER (0..255)
-
-
--- E
-
-E-DCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfEDCHMACdFlows-1)
-
-ENB-ID ::= CHOICE {
- macroENB-ID BIT STRING (SIZE(20)),
- homeENB-ID BIT STRING (SIZE(28)),
- ...
-}
-
-Global-ENB-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- eNB-ID ENB-ID,
- iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
- selectedTAI TAI,
- ...
-}
-
-GlobalENB-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1), standard-UMTS-encryption-algorithm-UEA2 (2) } (0..15)
-
-EncryptionInformation ::= SEQUENCE {
- permittedAlgorithms PermittedEncryptionAlgorithms,
- key EncryptionKey,
- iE-Extensions ProtocolExtensionContainer { {EncryptionInformation-ExtIEs} } OPTIONAL
-}
-
-EncryptionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EncryptionKey ::= BIT STRING (SIZE (128))
--- Reference: 33.102
-
-EquipmentsToBeTraced ::= CHOICE {
- iMEIlist IMEIList,
- iMEISVlist IMEISVList,
- iMEIgroup IMEIGroup,
- iMEISVgroup IMEISVGroup,
- ...
-}
-
-Event ::= ENUMERATED {
- stop-change-of-service-area,
- direct,
- change-of-servicearea,
- ...,
- stop-direct,
- periodic,
- stop-periodic
-}
-
-ExtendedGuaranteedBitrate ::= INTEGER (16000001..256000000)
--- Unit is bits per sec
-
-ExtendedMaxBitrate ::= INTEGER (16000001..256000000)
--- Unit is bits per sec
-
-ExtendedRNC-ID ::= INTEGER (4096..65535)
-
--- F
-
-FrequenceLayerConvergenceFlag ::= ENUMERATED {
- no-FLC-flag,
- ...
-}
-
--- G
-
-GANSS-PositioningDataSet ::= SEQUENCE(SIZE(1..maxGANSSSet)) OF GANSS-PositioningMethodAndUsage
-
-GANSS-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
-
-GeographicalArea ::= CHOICE {
- point GA-Point,
- pointWithUnCertainty GA-PointWithUnCertainty,
- polygon GA-Polygon,
- ...,
- pointWithUncertaintyEllipse GA-PointWithUnCertaintyEllipse,
- pointWithAltitude GA-PointWithAltitude,
- pointWithAltitudeAndUncertaintyEllipsoid GA-PointWithAltitudeAndUncertaintyEllipsoid,
- ellipsoidArc GA-EllipsoidArc
-}
-
-GeographicalCoordinates ::= SEQUENCE {
- latitudeSign ENUMERATED { north, south },
- latitude INTEGER (0..8388607),
- longitude INTEGER (-8388608..8388607),
- iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeographicalCoordinates-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-AltitudeAndDirection ::= SEQUENCE {
- directionOfAltitude ENUMERATED {height, depth},
- altitude INTEGER (0..32767),
- ...
-}
-
-GA-EllipsoidArc ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- innerRadius INTEGER (0..65535),
- uncertaintyRadius INTEGER (0..127),
- offsetAngle INTEGER (0..179),
- includedAngle INTEGER (0..179),
- confidence INTEGER (0..127),
- iE-Extensions ProtocolExtensionContainer { { GA-EllipsoidArc-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-EllipsoidArc-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-Point ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-Point-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithAltitude ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- altitudeAndDirection GA-AltitudeAndDirection,
- iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitude-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-PointWithAltitude-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- altitudeAndDirection GA-AltitudeAndDirection,
- uncertaintyEllipse GA-UncertaintyEllipse,
- uncertaintyAltitude INTEGER (0..127),
- confidence INTEGER (0..127),
- iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithUnCertainty ::=SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL,
- uncertaintyCode INTEGER (0..127)
-}
-
-GA-PointWithUnCertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithUnCertaintyEllipse ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- uncertaintyEllipse GA-UncertaintyEllipse,
- confidence INTEGER (0..127),
- iE-Extensions ProtocolExtensionContainer { { GA-PointWithUnCertaintyEllipse-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-PointWithUnCertaintyEllipse-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF
- SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL,
- ...
- }
-
-GA-Polygon-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-UncertaintyEllipse ::= SEQUENCE {
- uncertaintySemi-major INTEGER (0..127),
- uncertaintySemi-minor INTEGER (0..127),
- orientationOfMajorAxis INTEGER (0..179), -- The values 90..179 shall not be used.
- ...
-}
-
-GERAN-BSC-Container ::= OCTET STRING
- -- GERAN BSC Container as defined in [11] --
-
-
-GERAN-Cell-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- cI CI,
- iE-Extensions ProtocolExtensionContainer { {GERAN-Cell-ID-ExtIEs} } OPTIONAL
-}
-
-GERAN-Cell-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GERAN-Classmark ::= OCTET STRING
- -- GERAN Classmark as defined in [11] --
-
-GlobalCN-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- cN-ID CN-ID
-}
-
-
-GlobalRNC-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- rNC-ID RNC-ID
-}
-
-GTP-TEI ::= OCTET STRING (SIZE (4))
-
-GuaranteedBitrate ::= INTEGER (0..16000000)
--- Unit is bits per sec
-
--- H
-
-HS-DSCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfHSDSCHMACdFlows-1)
-
--- I
-
-
-IMEI ::= OCTET STRING (SIZE (8))
--- Reference: 23.003
-
-IMEIGroup ::= SEQUENCE {
- iMEI IMEI,
- iMEIMask BIT STRING (SIZE (7)),
- iE-Extensions ProtocolExtensionContainer { { IMEIGroup-ExtIEs} } OPTIONAL
-}
-
-IMEIGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IMEIList ::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEI
-
-IMEISV ::= OCTET STRING (SIZE (8))
--- Reference: 23.003
-
-IMEISVGroup ::= SEQUENCE {
- iMEISV IMEISV,
- iMEISVMask BIT STRING (SIZE (7)),
- iE-Extensions ProtocolExtensionContainer { { IMEISVGroup-ExtIEs} } OPTIONAL
-}
-
-IMEISVGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IMEISVList ::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEISV
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
--- Reference: 23.003
-
-IncludeVelocity ::= ENUMERATED {
- requested
-}
-
-InformationExchangeID ::= INTEGER (0.. 1048575)
-
-InformationExchangeType ::= ENUMERATED {
- transfer,
- request,
- ...
-}
-
-InformationRequested ::= CHOICE {
- requestedMBMSIPMulticastAddressandAPNRequest RequestedMBMSIPMulticastAddressandAPNRequest,
- requestedMulticastServiceList RequestedMulticastServiceList,
- ...
-}
-
-
-InformationRequestType ::= CHOICE {
- mBMSIPMulticastAddressandAPNRequest MBMSIPMulticastAddressandAPNRequest,
- permanentNAS-UE-ID PermanentNAS-UE-ID,
- ...
-}
-
-InformationTransferID ::= INTEGER (0.. 1048575)
-
-InformationTransferType ::= CHOICE {
- rNCTraceInformation RNCTraceInformation,
- ...
-}
-
-IntegrityProtectionAlgorithm ::= INTEGER {
- standard-UMTS-integrity-algorithm-UIA1 (0), standard-UMTS-integrity-algorithm-UIA2 (1),
- no-value (15)
-} (0..15)
-
-IntegrityProtectionInformation ::= SEQUENCE {
- permittedAlgorithms PermittedIntegrityProtectionAlgorithms,
- key IntegrityProtectionKey,
- iE-Extensions ProtocolExtensionContainer { {IntegrityProtectionInformation-ExtIEs} } OPTIONAL
-}
-
-IntegrityProtectionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IntegrityProtectionKey ::= BIT STRING (SIZE (128))
-
-InterSystemInformationTransferType ::= CHOICE {
- rIM-Transfer RIM-Transfer,
- ...
-}
-
-InterSystemInformation-TransparentContainer ::= SEQUENCE {
- downlinkCellLoadInformation CellLoadInformation OPTIONAL,
- uplinkCellLoadInformation CellLoadInformation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { InterSystemInformation-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-InterSystemInformation-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-...
-}
-
-IPMulticastAddress ::= OCTET STRING (SIZE (4..16))
--- Reference: 23.003
-
-IuSignallingConnectionIdentifier ::= BIT STRING (SIZE (24))
-
-IuTransportAssociation ::= CHOICE {
- gTP-TEI GTP-TEI,
- bindingID BindingID,
- ...
-}
-
--- J
--- K
-
-KeyStatus ::= ENUMERATED {
- old,
- new,
- ...
-}
--- L
-
-LA-LIST ::= SEQUENCE (SIZE (1..maxNrOfLAs)) OF
- SEQUENCE {
- lAC LAC,
- listOF-SNAs ListOF-SNAs,
- iE-Extensions ProtocolExtensionContainer { { LA-LIST-ExtIEs} } OPTIONAL,
- ...
- }
-
-LA-LIST-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LAC ::= OCTET STRING (SIZE (2))
-
-LAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL
-}
-
-LAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LastKnownServiceArea ::= SEQUENCE {
- sAI SAI,
- ageOfSAI INTEGER (0..32767),
- iE-Extensions ProtocolExtensionContainer { {LastKnownServiceArea-ExtIEs} } OPTIONAL,
- ...
-}
-
-LastKnownServiceArea-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LastVisitedUTRANCell-Item ::= SEQUENCE {
- uTRAN-CellID UTRAN-CellID,
- cellType CellType,
- time-UE-StayedInCell Time-UE-StayedInCell,
- iE-Extensions ProtocolExtensionContainer { {LastVisitedUTRANCell-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-LastVisitedUTRANCell-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ListOF-SNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC
-
-ListOfInterfacesToTrace ::= SEQUENCE (SIZE (1..maxNrOfInterfaces)) OF InterfacesToTraceItem
-
-InterfacesToTraceItem ::= SEQUENCE {
- interface ENUMERATED {iu-cs, iu-ps, iur, iub, uu, ...},
- iE-Extensions ProtocolExtensionContainer { {InterfacesToTraceItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-InterfacesToTraceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LoadValue ::= INTEGER (0..100)
-
-LocationRelatedDataRequestType ::= SEQUENCE {
- requestedLocationRelatedDataType RequestedLocationRelatedDataType,
- requestedGPSAssistanceData RequestedGPSAssistanceData OPTIONAL,
- -- This IE shall be present if the Requested Location Related Data Type IE is set to �Dedicated Assistance Data for Assisted GPS� or
- -- `Dedicated Assistance Data for Assisted GPS and GANSS�
- ...
-}
-
-LocationRelatedDataRequestTypeSpecificToGERANIuMode ::= ENUMERATED {
- decipheringKeysEOTD,
- dedicatedMobileAssistedEOTDAssistanceData,
- dedicatedMobileBasedEOTDAssistanceData,
- ...
-}
-
-L3-Information ::= OCTET STRING
-
--- M
-
-MaxBitrate ::= INTEGER (1..16000000)
--- Unit is bits per sec
-
-MaxSDU-Size ::= INTEGER (0..32768)
--- MaxSDU-Size
--- Unit is bit
-
-MBMS-PTP-RAB-ID ::= BIT STRING (SIZE (8))
-
-MBMSBearerServiceType ::= ENUMERATED {
- multicast,
- broadcast,
- ...
-}
-
-MBMSCNDe-Registration ::= ENUMERATED {
- normalsessionstop,
- deregister,
- ...
-}
-
-
-MBMSCountingInformation ::= ENUMERATED {
- counting,
- notcounting,
- ...
-}
-
-MBMSHCIndicator ::= ENUMERATED {
- uncompressed-header,
- compressed-header,
- ...
-}
-
-MBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF
- TMGI
-
-MBMSLinkingInformation ::= ENUMERATED {
- uE-has-joined-multicast-services,
- ...
-}
-
-MBMSRegistrationRequestType ::= ENUMERATED {
- register,
- deregister,
- ...
-}
-
-MBMSServiceArea ::= OCTET STRING
-
-MBMSSessionDuration ::= OCTET STRING (SIZE (3))
-
-
-
-MBMSSessionIdentity ::= OCTET STRING (SIZE (1))
-
-MBMSSessionRepetitionNumber ::= OCTET STRING (SIZE (1))
-
-
--- N
-
-
-NAS-PDU ::= OCTET STRING
-
-NAS-SequenceNumber ::= BIT STRING (SIZE (2))
--- Reference: 24.008
-
-NAS-SynchronisationIndicator ::= BIT STRING (SIZE (4))
-
-NewBSS-To-OldBSS-Information ::= OCTET STRING
-
-NonSearchingIndication ::= ENUMERATED {
- non-searching,
- searching
-}
-
-NRTLoadInformationValue ::= INTEGER (0..3)
-
-NumberOfIuInstances ::= INTEGER (1..2)
-
-NumberOfSteps ::= INTEGER (1..16)
-
--- O
-
-OldBSS-ToNewBSS-Information ::= OCTET STRING
-
-OMC-ID ::= OCTET STRING (SIZE (3..22))
--- Reference: GSM [25]
-
--- P
-
-PagingAreaID ::= CHOICE {
- lAI LAI,
- rAI RAI,
- ...
-}
-
-PagingCause ::= ENUMERATED {
- terminating-conversational-call,
- terminating-streaming-call,
- terminating-interactive-call,
- terminating-background-call,
- terminating-low-priority-signalling,
- ...,
- terminating-high-priority-signalling
-}
-
-PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF
- PDP-Type
-
-PDP-Type ::= ENUMERATED {
- empty,
- ppp,
- osp-ihoss -- this value shall not be used -- ,
- ipv4,
- ipv6,
- ...
-}
-
-PeriodicLocationInfo ::= SEQUENCE {
- reportingAmount INTEGER (1..8639999, ...),
- reportingInterval INTEGER (1..8639999, ...),
- iE-Extensions ProtocolExtensionContainer { { PeriodicLocationInfo-ExtIEs } } OPTIONAL,
- ...
-}
-
-PeriodicLocationInfo-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-PermanentNAS-UE-ID ::= CHOICE {
- iMSI IMSI,
- ...
-}
-
-PermittedEncryptionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
- EncryptionAlgorithm
-
-PermittedIntegrityProtectionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
- IntegrityProtectionAlgorithm
-
-PLMNidentity ::= TBCD-STRING (SIZE (3))
-
-PLMNs-in-shared-network ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF
- SEQUENCE {
- pLMNidentity PLMNidentity,
- lA-LIST LA-LIST,
- iE-Extensions ProtocolExtensionContainer { { PLMNs-in-shared-network-ExtIEs} } OPTIONAL,
- ...
- }
-
-PLMNs-in-shared-network-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PositioningDataDiscriminator ::= BIT STRING (SIZE(4))
-
-PositioningDataSet ::= SEQUENCE(SIZE(1..maxSet)) OF PositioningMethodAndUsage
-
-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
-
-PositioningPriority ::= ENUMERATED {
- high-Priority,
- normal-Priority,
-...
-}
-
-PositionData ::= SEQUENCE {
- positioningDataDiscriminator PositioningDataDiscriminator,
- positioningDataSet PositioningDataSet OPTIONAL,
--- This IE shall be present if the PositioningDataDiscriminator IE is set to the value "0000" --
- iE-Extensions ProtocolExtensionContainer { {PositionData-ExtIEs} } OPTIONAL,
- ...
-}
-
-PositionData-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- { ID id-GANSS-PositioningDataSet CRITICALITY ignore EXTENSION GANSS-PositioningDataSet PRESENCE optional },
- ...
-}
-
-PositionDataSpecificToGERANIuMode ::= OCTET STRING
-
-Pre-emptionCapability ::= ENUMERATED {
- shall-not-trigger-pre-emption,
- may-trigger-pre-emption
-}
-
-Pre-emptionVulnerability ::= ENUMERATED {
- not-pre-emptable,
- pre-emptable
-}
-
-PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
-
-ProvidedData ::= CHOICE {
- shared-network-information Shared-Network-Information,
- ...
-}
-
-P-TMSI ::= OCTET STRING (SIZE (4))
-
--- Q
-
-QueuingAllowed ::= ENUMERATED {
- queueing-not-allowed,
- queueing-allowed
-}
-
--- R
-RAB-AsymmetryIndicator::= ENUMERATED {
- symmetric-bidirectional,
- asymmetric-unidirectional-downlink,
- asymmetric-unidirectional-uplink,
- asymmetric-bidirectional,
- ...
-}
-
-RAB-ID ::= BIT STRING (SIZE (8))
-
-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
-
-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
-
-
-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
---This IE shall be ignored if Supported Guaranteed Bit rate is present--
-
-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
---This IE shall be ignored if Supported Maximum Bit rate is present--
-
-RAB-Parameters ::= SEQUENCE {
- trafficClass TrafficClass,
- rAB-AsymmetryIndicator RAB-AsymmetryIndicator,
- maxBitrate RAB-Parameter-MaxBitrateList,
- guaranteedBitRate RAB-Parameter-GuaranteedBitrateList OPTIONAL
- -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
- deliveryOrder DeliveryOrder,
- maxSDU-Size MaxSDU-Size,
- sDU-Parameters SDU-Parameters,
- transferDelay TransferDelay OPTIONAL
- -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
- trafficHandlingPriority TrafficHandlingPriority OPTIONAL
- -- This IE shall be present the traffic class IE is set to "Interactive" --,
- allocationOrRetentionPriority AllocationOrRetentionPriority OPTIONAL,
- sourceStatisticsDescriptor SourceStatisticsDescriptor OPTIONAL
- -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
- relocationRequirement RelocationRequirement OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-Parameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable indication that Interactive User Plane data is of a signalling nature --
- { ID id-SignallingIndication CRITICALITY ignore EXTENSION SignallingIndication PRESENCE optional }|
--- Extension for Release 7 to indicate an Extended Guaranteed Bitrate --
-{ ID id-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }|
--- Extension for Release 7 to indicate an Extended Maximum Bitrate --
-{ ID id-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }|
--- Extension for Release 8 to indicate an Supported Maximum Bitrate --
-{ ID id-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }|
--- Extension for Release 8 to indicate an Supported Guaranteed Bitrate --
-{ ID id-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional },
- ...
-}
-
-RAB-SubflowCombinationBitRate ::= INTEGER (0..16000000)
-
-RAB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfRABs)) OF
- RAB-TrCH-MappingItem
-
-RAB-TrCH-MappingItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- trCH-ID-List TrCH-ID-List,
- iE-Extensions ProtocolExtensionContainer { { RAB-TrCH-MappingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 99 to enable transfer of RAB Subflow mapping onto Iur transport channel Ids for a given indicated domain --
- { ID id-CN-DomainIndicator CRITICALITY ignore EXTENSION CN-DomainIndicator PRESENCE optional },
- ...
-}
-
-RAC ::= OCTET STRING (SIZE (1))
-
-RAI ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- iE-Extensions ProtocolExtensionContainer { {RAI-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAListofIdleModeUEs ::= CHOICE {
- notEmptyRAListofIdleModeUEs NotEmptyRAListofIdleModeUEs,
- emptyFullRAListofIdleModeUEs ENUMERATED {emptylist,fulllist,...},
- ...
-}
-
-NotEmptyRAListofIdleModeUEs ::= SEQUENCE {
- rAofIdleModeUEs RAofIdleModeUEs,
- iE-Extensions ProtocolExtensionContainer { {NotEmptyRAListofIdleModeUEs-ExtIEs} } OPTIONAL
-}
-
-RAofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
- RAC
-
-NotEmptyRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-{ ID id-LAofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional },
- -- This IE shall be present if the RA of Idle Mode UEs IE is included. --
- ...
-}
-
-LAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
- LAI
-
-RAT-Type ::= ENUMERATED {
- utran,
- geran,
- ...
-}
-
-RateControlAllowed ::= ENUMERATED {
- not-allowed,
- allowed
-}
-
-RedirectAttemptFlag ::= NULL
-
-RedirectionCompleted ::= ENUMERATED {
- redirection-completed,
- ...
-}
-
-RejectCauseValue ::= ENUMERATED {
- pLMN-Not-Allowed,
- location-Area-Not-Allowed,
- roaming-Not-Allowed-In-This-Location-Area,
- no-Suitable-Cell-In-Location-Area,
- gPRS-Services-Not-Allowed-In-This-PLMN,
- cS-PS-coordination-required,
- ...
-}
-
-
-RelocationRequirement ::= ENUMERATED {
- lossless,
- none,
- ...,
- realtime
-}
-
-RelocationType ::= ENUMERATED {
- ue-not-involved,
- ue-involved,
- ...
-}
-
-RepetitionNumber0 ::= INTEGER (0..255)
-
-RepetitionNumber1 ::= INTEGER (1..256)
-
-
-ReportArea ::= ENUMERATED {
- service-area,
- geographical-area,
- ...
-}
-
-RequestedGPSAssistanceData ::= OCTET STRING (SIZE (1 .. 38 ))
- -- gpsAssistanceData as defined in 24.080 --
-
-RequestedGANSSAssistanceData ::= OCTET STRING (SIZE (1 .. 201 ))
- -- ganssAssistanceData as defined in 24.080 --
-
-RequestedLocationRelatedDataType ::= ENUMERATED {
- decipheringKeysUEBasedOTDOA,
- decipheringKeysAssistedGPS,
- dedicatedAssistanceDataUEBasedOTDOA,
- dedicatedAssistanceDataAssistedGPS,
- ...,
--- Release 7 extension elements --
- decipheringKeysAssistedGANSS,
- dedicatedAssistanceDataAssistedGANSS,
- decipheringKeysAssistedGPSandGANSS,
- dedicatedAssistanceDataAssistedGPSandGANSS
-}
-
-RequestedMBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF
- MBMSIPMulticastAddressandAPNlist
-
-MBMSIPMulticastAddressandAPNlist ::= SEQUENCE {
- tMGI TMGI,
- iPMulticastAddress IPMulticastAddress,
- aPN APN,
- iE-Extensions ProtocolExtensionContainer { {MBMSIPMulticastAddressandAPNlist-ExtIEs} } OPTIONAL,
- ...
-}
-
-MBMSIPMulticastAddressandAPNlist-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RequestedMulticastServiceList ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
- TMGI
-
-Requested-RAB-Parameter-Values ::= SEQUENCE {
- requestedMaxBitrates Requested-RAB-Parameter-MaxBitrateList OPTIONAL,
- requestedGuaranteedBitrates Requested-RAB-Parameter-GuaranteedBitrateList OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Requested-RAB-Parameter-Values-ExtIEs} } OPTIONAL,
- ...
-}
-
-Requested-RAB-Parameter-Values-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to enable RNC to request the execution of an alternative RAB configuration --
- { ID id-AlternativeRABConfigurationRequest CRITICALITY ignore EXTENSION AlternativeRABConfigurationRequest PRESENCE optional }|
--- Extension for Release 7 to request an Extended Maximum Bitrate --
- { ID id-Requested-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }|
--- Extension for Release 7 to request an Extended Guaranteed Bitrate --
- { ID id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }|
--- Extension for Release 8 to request an Supported Maximum Bitrate --
- { ID id-Requested-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }|
--- Extension for Release 8 to request an Supported Guaranteed Bitrate --
- { ID id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional },
- ...
-}
-
-Requested-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
-
-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
-
-Requested-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
-
-Requested-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
-
-
-RequestType ::= SEQUENCE {
- event Event,
- reportArea ReportArea,
- accuracyCode INTEGER (0..127) OPTIONAL,
- ...
-}
-
-ResidualBitErrorRatio ::= SEQUENCE {
- mantissa INTEGER (1..9),
- exponent INTEGER (1..8),
- iE-Extensions ProtocolExtensionContainer { {ResidualBitErrorRatio-ExtIEs} } OPTIONAL
-}
--- ResidualBitErrorRatio = mantissa * 10^-exponent
-
-ResidualBitErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResponseTime ::= ENUMERATED {
- lowdelay,
- delaytolerant,
-...
-}
-
-RIMInformation ::= OCTET STRING
-
-RIM-Transfer ::= SEQUENCE {
- rIMInformation RIMInformation,
- rIMRoutingAddress RIMRoutingAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RIM-Transfer-ExtIEs} } OPTIONAL
-}
-
-RIM-Transfer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RIMRoutingAddress ::= CHOICE {
- targetRNC-ID TargetRNC-ID,
- gERAN-Cell-ID GERAN-Cell-ID,
- ...
-}
-
-
-RNC-ID ::= INTEGER (0..4095)
--- RNC-ID ::= BIT STRING (SIZE (12))
--- Harmonized with RNSAP and NBAP definitions
-
-
-RNCTraceInformation::= SEQUENCE {
- traceReference TraceReference,
- traceActivationIndicator ENUMERATED {activated,deactivated},
- equipmentsToBeTraced EquipmentsToBeTraced OPTIONAL,
- -- This IE shall be present if the Trace Activation Indicator IE is set to "Activated".
- iE-Extensions ProtocolExtensionContainer { { RNCTraceInformation-ExtIEs} } OPTIONAL
-}
-
-RNCTraceInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RRC-Container ::= OCTET STRING
-
-RTLoadValue ::= INTEGER (0..100)
-
--- S
-
-SAC ::= OCTET STRING (SIZE (2))
-
-SAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- sAC SAC,
- iE-Extensions ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL
-}
-
-SAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SAPI ::= ENUMERATED {
- sapi-0,
- sapi-3,
- ...
-}
-
-SessionUpdateID ::= INTEGER (0.. 1048575)
-
-Shared-Network-Information ::= SEQUENCE {
- pLMNs-in-shared-network PLMNs-in-shared-network,
- iE-Extensions ProtocolExtensionContainer { {Shared-Network-Information-ExtIEs} } OPTIONAL,
- ...
- }
-
-Shared-Network-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SignallingIndication ::= ENUMERATED {
- signalling,
- ...
-}
-
-SDU-ErrorRatio ::= SEQUENCE {
- mantissa INTEGER (1..9),
- exponent INTEGER (1..6),
- iE-Extensions ProtocolExtensionContainer { {SDU-ErrorRatio-ExtIEs} } OPTIONAL
-}
--- SDU-ErrorRatio = mantissa * 10^-exponent
-
-SDU-ErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-SDU-FormatInformationParameters ::= SEQUENCE (SIZE (1..maxRAB-SubflowCombination)) OF
- SEQUENCE {
- subflowSDU-Size SubflowSDU-Size OPTIONAL,
- rAB-SubflowCombinationBitRate RAB-SubflowCombinationBitRate OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {SDU-FormatInformationParameters-ExtIEs} } OPTIONAL,
- ...
- }
-
-SDU-FormatInformationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SDU-Parameters ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
- SEQUENCE {
- sDU-ErrorRatio SDU-ErrorRatio OPTIONAL
- -- This IE shall be present if the Delivery Of Erroneous SDU IE is set to "Yes" or "No" --,
- residualBitErrorRatio ResidualBitErrorRatio,
- deliveryOfErroneousSDU DeliveryOfErroneousSDU,
- sDU-FormatInformationParameters SDU-FormatInformationParameters OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {SDU-Parameters-ExtIEs} } OPTIONAL,
- ...
- }
-
-SDU-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SNA-Access-Information ::= SEQUENCE {
- authorisedPLMNs AuthorisedPLMNs,
- iE-Extensions ProtocolExtensionContainer { {SNA-Access-Information-ExtIEs} } OPTIONAL,
- ...
- }
-
-SNA-Access-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SNAC ::= INTEGER (0..65535)
-
-Service-Handover ::= ENUMERATED {
- handover-to-GSM-should-be-performed,
- handover-to-GSM-should-not-be-performed,
- handover-to-GSM-shall-not-be-performed,
- ...
-}
-
-Source-ToTarget-TransparentContainer ::= OCTET STRING
--- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system.
--- Note: In the current version of this specification, this IE may either carry the Source RNC to
--- Target RNC Transparent Container or the Source eNB to Target eNB Transparent Container IE as
--- defined in [49]
-
-SourceeNodeB-ToTargeteNodeB-TransparentContainer ::= OCTET STRING
-
-
-SourceCellID ::= CHOICE {
- sourceUTRANCellID SourceUTRANCellID,
- sourceGERANCellID CGI,
- ...
-}
-
-SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
-
-SourceID ::= CHOICE {
- sourceRNC-ID SourceRNC-ID,
- sAI SAI,
- ...
-}
-
-
-SourceRNC-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- rNC-ID RNC-ID,
- iE-Extensions ProtocolExtensionContainer { {SourceRNC-ID-ExtIEs} } OPTIONAL
-}
-
-SourceRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
-SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- numberOfIuInstances NumberOfIuInstances,
- relocationType RelocationType,
- chosenIntegrityProtectionAlgorithm ChosenIntegrityProtectionAlgorithm OPTIONAL,
- integrityProtectionKey IntegrityProtectionKey OPTIONAL,
- chosenEncryptionAlgorithForSignalling ChosenEncryptionAlgorithm OPTIONAL,
- cipheringKey EncryptionKey OPTIONAL,
- chosenEncryptionAlgorithForCS ChosenEncryptionAlgorithm OPTIONAL,
- chosenEncryptionAlgorithForPS ChosenEncryptionAlgorithm OPTIONAL,
- d-RNTI D-RNTI OPTIONAL
- -- This IE shall be present if the Relocation type IE is set to "UE not involved in relocation of SRNS" --,
- targetCellId TargetCellId OPTIONAL
- -- This IE shall be present if the Relocation type IE is set to "UE involved in relocation of SRNS" --,
- rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 99 to enable transfer of SRB mapping onto Iur transport channel Ids --
- { ID id-SRB-TrCH-Mapping CRITICALITY reject EXTENSION SRB-TrCH-Mapping PRESENCE optional }|
--- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- {ID id-CellLoadInformationGroup CRITICALITY ignore EXTENSION CellLoadInformationGroup PRESENCE optional}|
--- Extension for Release 6 to provide Trace Recording Session Information to the Target RNC --
- {ID id-TraceRecordingSessionInformation CRITICALITY ignore EXTENSION TraceRecordingSessionInformation PRESENCE optional}|
--- Extension for Release 6 to indicate to the Target RNC that the UE has activated Multicast Service --
- {ID id-MBMSLinkingInformation CRITICALITY ignore EXTENSION MBMSLinkingInformation PRESENCE optional}|
- {ID id-d-RNTI-for-NoIuCSUP CRITICALITY reject EXTENSION D-RNTI PRESENCE optional}|
- {ID id-UE-History-Information CRITICALITY ignore EXTENSION UE-History-Information PRESENCE optional}|
- {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional},
- ...
-}
-
-SubscriberProfileIDforRFP ::= INTEGER (1..256)
-
-SourceStatisticsDescriptor ::= ENUMERATED {
- speech,
- unknown,
- ...
-}
-
-SupportedRAB-ParameterBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF SupportedBitrate
-
-SupportedBitrate ::= INTEGER (1..1000000000, ...)
--- Unit is bits per sec
-
-SourceUTRANCellID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- iE-Extensions ProtocolExtensionContainer { {SourceUTRANCellID-ExtIEs} } OPTIONAL
-}
-
-SourceUTRANCellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRB-ID ::= INTEGER (1..32)
-
-SRB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfSRBs)) OF
- SRB-TrCH-MappingItem
-
-SRB-TrCH-MappingItem ::= SEQUENCE {
- sRB-ID SRB-ID,
- trCH-ID TrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { SRB-TrCH-MappingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-SRB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRVCC-HO-Indication ::= ENUMERATED {
- ps-and-cs,
- cs-only,
- ...
-}
-
-SRVCC-Information ::= SEQUENCE {
- nonce BIT STRING (SIZE (128)),
- iE-Extensions ProtocolExtensionContainer { { SRVCC-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-SRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRVCC-Operation-Possible ::= ENUMERATED {
- srvcc-possible,
- ...
-}
-
-SubflowSDU-Size ::= INTEGER (0..4095)
--- Unit is bit
-
-
--- T
-TAC ::= OCTET STRING (SIZE (2))
-
-TAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- tAC TAC,
- iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL
-}
-
-TAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-Target-ToSource-TransparentContainer ::= OCTET STRING
--- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system.
--- Note: In the current version of this specification, this IE may either carry the Target RNC to
--- Source RNC Transparent Container or the Target eNB to Source eNB Transparent Container IE as
--- defined in [49]
-
-TargeteNodeB-ToSourceeNodeB-TransparentContainer ::= OCTET STRING
-
-TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING
-
-TargetCellId ::= INTEGER (0..268435455)
-
-TargetID ::= CHOICE {
- targetRNC-ID TargetRNC-ID,
- cGI CGI,
-
- ...,
- targeteNB-ID Global-ENB-ID
-}
-
-
-
-
-TargetRNC-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC OPTIONAL,
- rNC-ID RNC-ID,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL
-}
-
-TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
-TargetRNC-ToSourceRNC-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- d-RNTI D-RNTI OPTIONAL
- -- May be included to allow the triggering of the Relocation Detect procedure from the Iur Interface --,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TBCD-STRING ::= OCTET STRING
-
-TemporaryUE-ID ::= CHOICE {
- tMSI TMSI,
- p-TMSI P-TMSI,
- ...
-}
-
-Time-UE-StayedInCell ::= INTEGER (0..4095)
-
-TimeToMBMSDataTransfer ::= OCTET STRING(SIZE(1))
-
-
-TMGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- serviceID OCTET STRING (SIZE (3)),
- iE-Extensions ProtocolExtensionContainer { {TMGI-ExtIEs} } OPTIONAL
-}
-
-TMGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TMSI ::= OCTET STRING (SIZE (4))
-
-TraceDepth ::= ENUMERATED {
- minimum,
- medium,
- maximum,
- ...
-}
-
-TracePropagationParameters ::= SEQUENCE {
- traceRecordingSessionReference TraceRecordingSessionReference,
- traceDepth TraceDepth,
- listOfInterfacesToTrace ListOfInterfacesToTrace OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { TracePropagationParameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-TracePropagationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TraceRecordingSessionInformation ::= SEQUENCE {
- traceReference TraceReference,
- traceRecordingSessionReference TraceRecordingSessionReference,
- iE-Extensions ProtocolExtensionContainer { { TraceRecordingSessionInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TraceRecordingSessionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TraceRecordingSessionReference ::= INTEGER (0..65535)
-
-TraceReference ::= OCTET STRING (SIZE (2..3))
-
-TraceType ::= OCTET STRING (SIZE (1))
--- Reference: GSM TS 12.08
-
-TrafficClass ::= ENUMERATED {
- conversational,
- streaming,
- interactive,
- background,
- ...
-}
-
-TrafficHandlingPriority ::= INTEGER { spare (0), highest (1), lowest (14), no-priority-used (15) } (0..15)
-
-TransferDelay ::= INTEGER (0..65535)
--- Unit is millisecond
-
-UnsuccessfullyTransmittedDataVolume ::= INTEGER (0..4294967295)
-
-TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
-
-TrCH-ID ::= SEQUENCE {
- dCH-ID DCH-ID OPTIONAL,
- dSCH-ID DSCH-ID OPTIONAL,
- uSCH-ID USCH-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { TrCH-ID-ExtIEs} } OPTIONAL,
- ...
-}
-
-TrCH-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable transfer of HS-DSCH-MAC-d-Flow-ID onto Iur transport channel ID --
- {ID id-hS-DSCH-MAC-d-Flow-ID CRITICALITY ignore EXTENSION HS-DSCH-MAC-d-Flow-ID PRESENCE optional}|
--- Extension for Release 6 to enable transfer of E-DCH-MAC-d-Flow-ID onto Iur transport channel ID --
- {ID id-E-DCH-MAC-d-Flow-ID CRITICALITY ignore EXTENSION E-DCH-MAC-d-Flow-ID PRESENCE optional},
- ...
-}
-
-TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
- TrCH-ID
-
-TriggerID ::= OCTET STRING (SIZE (3..22))
-
-TypeOfError ::= ENUMERATED {
- not-understood,
- missing,
- ...
-}
-
-
--- U
-
-UE-History-Information ::= OCTET STRING
-
-UE-ID ::= CHOICE {
- imsi IMSI,
- imei IMEI,
- ...,
- imeisv IMEISV
-
-}
-
-UESBI-Iu ::= SEQUENCE {
- uESBI-IuA UESBI-IuA OPTIONAL,
- uESBI-IuB UESBI-IuB OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {UESBI-Iu-ExtIEs} } OPTIONAL,
- ...
-}
-
-UESBI-Iu-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UESBI-IuA ::= BIT STRING (SIZE(1..128))
--- Reference: TR25.994 --
-UESBI-IuB ::= BIT STRING (SIZE(1..128))
--- Reference: TR25.995 --
-
-UL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-UL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-UP-ModeVersions ::= BIT STRING (SIZE (16))
-
-USCH-ID ::= INTEGER (0..255)
-
-UserPlaneMode ::= ENUMERATED {
- transparent-mode,
- support-mode-for-predefined-SDU-sizes,
- ...
-}
-
-UTRAN-CellID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- cellID TargetCellId,
- iE-Extensions ProtocolExtensionContainer { { UTRAN-CellID-ExtIEs} } OPTIONAL
-}
-
-UTRAN-CellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- V
-
-VelocityEstimate ::= CHOICE {
- horizontalVelocity HorizontalVelocity,
- horizontalWithVerticalVelocity HorizontalWithVerticalVelocity,
- horizontalVelocityWithUncertainty HorizontalVelocityWithUncertainty,
- horizontalWithVeritcalVelocityAndUncertainty HorizontalWithVerticalVelocityAndUncertainty,
- ...
-}
-
-HorizontalVelocity ::= SEQUENCE {
- horizontalSpeedAndBearing HorizontalSpeedAndBearing,
- iE-Extensions ProtocolExtensionContainer { { HorizontalVelocity-ExtIEs} } OPTIONAL,
- ...
-}
-
-HorizontalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HorizontalWithVerticalVelocity ::= SEQUENCE {
- horizontalSpeedAndBearing HorizontalSpeedAndBearing,
- veritcalVelocity VerticalVelocity,
- iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocity-ExtIEs} } OPTIONAL,
- ...
-}
-
-HorizontalWithVerticalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-HorizontalVelocityWithUncertainty ::= SEQUENCE {
- horizontalSpeedAndBearing HorizontalSpeedAndBearing,
- uncertaintySpeed INTEGER (0..255),
- iE-Extensions ProtocolExtensionContainer { { HorizontalVelocityWithUncertainty-ExtIEs} } OPTIONAL,
- ...
-}
-
-HorizontalVelocityWithUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
- horizontalSpeedAndBearing HorizontalSpeedAndBearing,
- veritcalVelocity VerticalVelocity,
- horizontalUncertaintySpeed INTEGER (0..255),
- verticalUncertaintySpeed INTEGER (0..255),
- iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocityAndUncertainty-ExtIEs} } OPTIONAL,
- ...
-}
-
-HorizontalWithVerticalVelocityAndUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HorizontalSpeedAndBearing ::= SEQUENCE {
- bearing INTEGER (0..359),
- horizontalSpeed INTEGER (0..2047)
-}
-
-VerticalVelocity ::= SEQUENCE {
- veritcalSpeed INTEGER (0..255),
- veritcalSpeedDirection VerticalSpeedDirection
-}
-
-VerticalSpeedDirection ::= ENUMERATED {
- upward,
- downward
-}
-
-VerticalAccuracyCode ::= INTEGER (0..127)
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-PDU-Contents.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/RANAP-PDU-Contents.asn1
deleted file mode 100644
index c83f60f13e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-PDU-Contents.asn1
+++ /dev/null
@@ -1,3383 +0,0 @@
--- RANAP-PDU-Contents.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.3 PDU Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- PDU definitions for RANAP.
---
--- **************************************************************
-
-RANAP-PDU-Contents {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Contents (1) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- AccuracyFulfilmentIndicator,
- APN,
- BroadcastAssistanceDataDecipheringKeys,
- LocationRelatedDataRequestType,
- LocationRelatedDataRequestTypeSpecificToGERANIuMode,
- DataVolumeReference,
- CellLoadInformation,
- AreaIdentity,
- CN-DomainIndicator,
- Cause,
- ClientType,
- CriticalityDiagnostics,
- ChosenEncryptionAlgorithm,
- ChosenIntegrityProtectionAlgorithm,
- ClassmarkInformation2,
- ClassmarkInformation3,
- CSG-Id,
- DL-GTP-PDU-SequenceNumber,
- DL-N-PDU-SequenceNumber,
- DataVolumeReportingIndication,
- DeltaRAListofIdleModeUEs,
- DRX-CycleLengthCoefficient,
- EncryptionInformation,
- EncryptionKey,
- ExtendedRNC-ID,
- FrequenceLayerConvergenceFlag,
- GERAN-BSC-Container,
- GERAN-Classmark,
- Global-ENB-ID,
- GlobalCN-ID,
- GlobalRNC-ID,
- GTP-TEI,
- IncludeVelocity,
- InformationExchangeID,
- InformationExchangeType,
- InformationRequested,
- InformationRequestType,
- InformationTransferID,
- InformationTransferType,
- InterSystemInformationTransferType,
- IntegrityProtectionInformation,
- IntegrityProtectionKey,
- InterSystemInformation-TransparentContainer,
- IPMulticastAddress,
- IuSignallingConnectionIdentifier,
- IuTransportAssociation,
- KeyStatus,
- L3-Information,
- LAI,
- LastKnownServiceArea,
- MBMS-PTP-RAB-ID,
- MBMSBearerServiceType,
- MBMSCountingInformation,
- MBMSCNDe-Registration,
- MBMSHCIndicator,
- MBMSRegistrationRequestType,
- MBMSServiceArea,
- MBMSSessionDuration,
- MBMSSessionIdentity,
- MBMSSessionRepetitionNumber,
- NAS-PDU,
- NAS-SequenceNumber,
- NAS-SynchronisationIndicator,
- NewBSS-To-OldBSS-Information,
- NonSearchingIndication,
- NumberOfSteps,
- OMC-ID,
- OldBSS-ToNewBSS-Information,
- PagingAreaID,
- PagingCause,
- PDP-TypeInformation,
- PermanentNAS-UE-ID,
- PLMNidentity,
- PositionData,
- PositionDataSpecificToGERANIuMode,
- PositioningPriority,
- ProvidedData,
- RAB-ID,
- RAB-Parameters,
- RAC,
- RAListofIdleModeUEs,
- RAT-Type,
- RedirectAttemptFlag,
- RedirectionCompleted,
- RejectCauseValue,
- RelocationType,
- RequestedGANSSAssistanceData,
- RequestType,
- Requested-RAB-Parameter-Values,
- ResponseTime,
- RRC-Container,
- SAI,
- SAPI,
- Service-Handover,
- SessionUpdateID,
- SNA-Access-Information,
- SourceBSS-ToTargetBSS-TransparentContainer,
- SourceID,
- Source-ToTarget-TransparentContainer,
- SourceRNC-ToTargetRNC-TransparentContainer,
- SRVCC-HO-Indication,
- SRVCC-Information,
- SRVCC-Operation-Possible,
- TargetBSS-ToSourceBSS-TransparentContainer,
- TargetID,
- Target-ToSource-TransparentContainer,
- TargetRNC-ToSourceRNC-TransparentContainer,
- TemporaryUE-ID,
- TimeToMBMSDataTransfer,
- TMGI,
- TracePropagationParameters,
- TraceReference,
- TraceType,
- UnsuccessfullyTransmittedDataVolume,
- TransportLayerAddress,
- TriggerID,
- UE-ID,
- UESBI-Iu,
- UL-GTP-PDU-SequenceNumber,
- UL-N-PDU-SequenceNumber,
- UP-ModeVersions,
- UserPlaneMode,
- VelocityEstimate,
- VerticalAccuracyCode,
- Alt-RAB-Parameters,
- Ass-RAB-Parameters,
- PeriodicLocationInfo,
- SubscriberProfileIDforRFP
-FROM RANAP-IEs
-
-
- PrivateIE-Container{},
- ProtocolExtensionContainer{},
- ProtocolIE-ContainerList{},
- ProtocolIE-ContainerPair{},
- ProtocolIE-ContainerPairList{},
- ProtocolIE-Container{},
- RANAP-PRIVATE-IES,
- RANAP-PROTOCOL-EXTENSION,
- RANAP-PROTOCOL-IES,
- RANAP-PROTOCOL-IES-PAIR
-FROM RANAP-Containers
-
- maxNrOfDTs,
- maxNrOfErrors,
- maxNrOfIuSigConIds,
- maxNrOfRABs,
- maxNrOfVol,
- maxnoofMulticastServicesPerUE,
-
- id-AccuracyFulfilmentIndicator,
- id-APN,
- id-AreaIdentity,
- id-Alt-RAB-Parameters,
- id-Ass-RAB-Parameters,
- id-BroadcastAssistanceDataDecipheringKeys,
- id-LocationRelatedDataRequestType,
- id-CN-DomainIndicator,
- id-Cause,
- id-ChosenEncryptionAlgorithm,
- id-ChosenIntegrityProtectionAlgorithm,
- id-ClassmarkInformation2,
- id-ClassmarkInformation3,
- id-ClientType,
- id-CNMBMSLinkingInformation,
- id-CriticalityDiagnostics,
- id-CSG-Id,
- id-DeltaRAListofIdleModeUEs,
- id-DRX-CycleLengthCoefficient,
- id-DirectTransferInformationItem-RANAP-RelocInf,
- id-DirectTransferInformationList-RANAP-RelocInf,
- id-DL-GTP-PDU-SequenceNumber,
- id-EncryptionInformation,
- id-EncryptionKey,
- id-ExtendedRNC-ID,
- id-FrequenceLayerConvergenceFlag,
- id-GERAN-BSC-Container,
- id-GERAN-Classmark,
- id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item,
- id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse,
- id-Global-ENB-ID,
- id-GlobalCN-ID,
- id-GlobalCN-IDCS,
- id-GlobalCN-IDPS,
- id-GlobalRNC-ID,
- id-IncludeVelocity,
- id-InformationExchangeID,
- id-InformationExchangeType,
- id-InformationRequested,
- id-InformationRequestType,
- id-InformationTransferID,
- id-InformationTransferType,
- id-IntegrityProtectionInformation,
- id-IntegrityProtectionKey,
- id-InterSystemInformationTransferType,
- id-InterSystemInformation-TransparentContainer,
- id-IPMulticastAddress,
- id-IuSigConId,
- id-OldIuSigConId,
- id-OldIuSigConIdCS,
- id-OldIuSigConIdPS,
- id-IuSigConIdItem,
- id-IuSigConIdList,
- id-IuTransportAssociation,
- id-JoinedMBMSBearerServicesList,
- id-KeyStatus,
- id-L3-Information,
- id-LAI,
- id-LastKnownServiceArea,
- id-LeftMBMSBearerServicesList,
- id-LocationRelatedDataRequestTypeSpecificToGERANIuMode,
- id-MBMSBearerServiceType,
- id-MBMSCountingInformation,
- id-MBMSCNDe-Registration,
- id-MBMSRegistrationRequestType,
- id-MBMSSynchronisationInformation,
- id-MBMSServiceArea,
- id-MBMSSessionDuration,
- id-MBMSSessionIdentity,
- id-MBMSSessionRepetitionNumber,
- id-NAS-PDU,
- id-NAS-SequenceNumber,
- id-NewBSS-To-OldBSS-Information,
- id-NonSearchingIndication,
- id-NumberOfSteps,
- id-OMC-ID,
- id-OldBSS-ToNewBSS-Information,
- id-PagingAreaID,
- id-PagingCause,
- id-PDP-TypeInformation,
- id-PermanentNAS-UE-ID,
- id-PositionData,
- id-PositionDataSpecificToGERANIuMode,
- id-PositioningPriority,
- id-ProvidedData,
- id-RAB-ContextItem,
- id-RAB-ContextList,
- id-RAB-ContextFailedtoTransferItem,
- id-RAB-ContextFailedtoTransferList,
- id-RAB-ContextItem-RANAP-RelocInf,
- id-RAB-ContextList-RANAP-RelocInf,
- id-RAB-DataForwardingItem,
- id-RAB-DataForwardingItem-SRNS-CtxReq,
- id-RAB-DataForwardingList,
- id-RAB-DataForwardingList-SRNS-CtxReq,
- id-RAB-DataVolumeReportItem,
- id-RAB-DataVolumeReportList,
- id-RAB-DataVolumeReportRequestItem,
- id-RAB-DataVolumeReportRequestList,
- id-RAB-FailedItem,
- id-RAB-FailedList,
- id-RAB-FailedList-EnhRelocInfoRes,
- id-RAB-FailedItem-EnhRelocInfoRes,
- id-RAB-FailedtoReportItem,
- id-RAB-FailedtoReportList,
- id-RAB-ID,
- id-RAB-ModifyList,
- id-RAB-ModifyItem,
- id-RAB-Parameters,
- id-RAB-QueuedItem,
- id-RAB-QueuedList,
- id-RAB-ReleaseFailedList,
- id-RAB-ReleaseItem,
- id-RAB-ReleasedItem-IuRelComp,
- id-RAB-ReleaseList,
- id-RAB-ReleasedItem,
- id-RAB-ReleasedList,
- id-RAB-ReleasedList-IuRelComp,
- id-RAB-RelocationReleaseItem,
- id-RAB-RelocationReleaseList,
- id-RAB-SetupItem-RelocReq,
- id-RAB-SetupItem-RelocReqAck,
- id-RAB-SetupList-RelocReq,
- id-RAB-SetupList-RelocReqAck,
- id-RAB-SetupList-EnhRelocInfoReq,
- id-RAB-SetupItem-EnhRelocInfoReq,
- id-RAB-SetupList-EnhRelocInfoRes,
- id-RAB-SetupItem-EnhRelocInfoRes,
- id-RAB-SetupList-EnhancedRelocCompleteReq,
- id-RAB-SetupItem-EnhancedRelocCompleteReq,
- id-RAB-SetupList-EnhancedRelocCompleteRes,
- id-RAB-SetupItem-EnhancedRelocCompleteRes,
- id-RAB-SetupOrModifiedItem,
- id-RAB-SetupOrModifiedList,
- id-RAB-SetupOrModifyItem,
- id-RAB-SetupOrModifyList,
- id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes,
- id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes,
- id-RAC,
- id-RAListofIdleModeUEs,
- id-RAT-Type,
- id-RedirectAttemptFlag,
- id-RedirectionCompleted,
- id-RedirectionIndication,
- id-RejectCauseValue,
- id-RelocationType,
- id-Relocation-SourceRNC-ID,
- id-Relocation-SourceExtendedRNC-ID,
- id-Relocation-TargetRNC-ID,
- id-Relocation-TargetExtendedRNC-ID,
- id-RequestedGANSSAssistanceData,
- id-RequestType,
- id-ResponseTime,
- id-SAI,
- id-SAPI,
- id-SelectedPLMN-ID,
- id-SessionUpdateID,
- id-SNA-Access-Information,
- id-SourceBSS-ToTargetBSS-TransparentContainer,
- id-SourceRNC-ID,
- id-SourceExtendedRNC-ID,
- id-SourceID,
- id-Source-ToTarget-TransparentContainer,
- id-SourceRNC-PDCP-context-info,
- id-SRVCC-HO-Indication,
- id-SRVCC-Information,
- id-SRVCC-Operation-Possible,
- id-TargetBSS-ToSourceBSS-TransparentContainer,
- id-TargetID,
- id-Target-ToSource-TransparentContainer,
- id-TemporaryUE-ID,
- id-TimeToMBMSDataTransfer,
- id-TMGI,
- id-TracePropagationParameters,
- id-TraceReference,
- id-TraceType,
- id-TransportLayerAddress,
- id-TransportLayerInformation,
- id-TriggerID,
- id-UE-ID,
- id-UESBI-Iu,
- id-UL-GTP-PDU-SequenceNumber,
- id-UnsuccessfulLinkingList,
- id-VelocityEstimate,
- id-VerticalAccuracyCode,
- id-PeriodicLocationInfo,
- id-BroadcastGANSSAssistanceDataDecipheringKeys,
- id-SubscriberProfileIDforRFP
-FROM RANAP-Constants;
-
--- **************************************************************
---
--- Common Container Lists
---
--- **************************************************************
-
-RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
-RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} }
-ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
-IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} }
-DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} }
-
--- **************************************************************
---
--- Iu RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Iu Release Command
---
--- **************************************************************
-
-Iu-ReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Iu Release Complete
---
--- **************************************************************
-
-Iu-ReleaseComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } |
- { ID id-RAB-ReleasedList-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedList-IuRelComp PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-DataVolumeReportList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportItemIEs} }
-
-RAB-DataVolumeReportItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportItem CRITICALITY ignore TYPE RAB-DataVolumeReportItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-UnsuccessfullyTransmittedDataVolume DataVolumeList OPTIONAL
- -- This IE shall always be present although its presence is optional --,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataVolumeReportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleasedList-IuRelComp ::= RAB-IE-ContainerList { {RAB-ReleasedItem-IuRelComp-IEs} }
-
-RAB-ReleasedItem-IuRelComp-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleasedItem-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedItem-IuRelComp PRESENCE mandatory },
- ...
-}
-
-RAB-ReleasedItem-IuRelComp ::= SEQUENCE {
- rAB-ID RAB-ID,
- dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
- uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-IuRelComp-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleasedItem-IuRelComp-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Required
---
--- **************************************************************
-
-RelocationRequired ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL,
-...
-}
-
-RelocationRequiredIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RelocationType CRITICALITY reject TYPE RelocationType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory } |
- { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } |
- { ID id-ClassmarkInformation2 CRITICALITY reject TYPE ClassmarkInformation2 PRESENCE conditional
- -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } |
- { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE conditional
- -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } |
- { ID id-Source-ToTarget-TransparentContainer
- CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE conditional
- -- This IE shall be present if the Target ID IE contains a RNC-ID IE or eNB-ID -- } |
- { ID id-OldBSS-ToNewBSS-Information CRITICALITY ignore TYPE OldBSS-ToNewBSS-Information PRESENCE optional } ,
- ...
-}
-
-RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional } |
--- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
- { ID id-SourceBSS-ToTargetBSS-TransparentContainer CRITICALITY ignore EXTENSION SourceBSS-ToTargetBSS-TransparentContainer PRESENCE optional }|
--- Extension for Release 8 for SRVCC operation --
- { ID id-SRVCC-HO-Indication CRITICALITY reject EXTENSION SRVCC-HO-Indication PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Relocation Command
---
--- **************************************************************
-
-RelocationCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Target-ToSource-TransparentContainer
- CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional } |
- { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE optional } |
- { ID id-RAB-RelocationReleaseList CRITICALITY ignore TYPE RAB-RelocationReleaseList PRESENCE optional } |
- { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-RelocationReleaseList ::= RAB-IE-ContainerList { {RAB-RelocationReleaseItemIEs} }
-
-RAB-RelocationReleaseItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-RelocationReleaseItem CRITICALITY ignore TYPE RAB-RelocationReleaseItem PRESENCE mandatory },
- ...
-}
-
-RAB-RelocationReleaseItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-RelocationReleaseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-RelocationReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-DataForwardingList ::= RAB-IE-ContainerList { {RAB-DataForwardingItemIEs} }
-
-RAB-DataForwardingItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingItem CRITICALITY ignore TYPE RAB-DataForwardingItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataForwardingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to allow transfer of a second pair of TLA and association --
- {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} |
- {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional},
- ...
-}
-
-RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- { ID id-InterSystemInformation-TransparentContainer CRITICALITY ignore EXTENSION InterSystemInformation-TransparentContainer PRESENCE optional } |
--- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
- { ID id-TargetBSS-ToSourceBSS-TransparentContainer CRITICALITY ignore EXTENSION TargetBSS-ToSourceBSS-TransparentContainer PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Relocation Preparation Failure
---
--- **************************************************************
-
-RelocationPreparationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL,
-...
-}
-
-RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- { ID id-InterSystemInformation-TransparentContainer CRITICALITY ignore EXTENSION InterSystemInformation-TransparentContainer PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- RELOCATION RESOURCE ALLOCATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Request
---
--- **************************************************************
-
-RelocationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Source-ToTarget-TransparentContainer
- CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } |
- { ID id-RAB-SetupList-RelocReq CRITICALITY reject TYPE RAB-SetupList-RelocReq PRESENCE optional } |
- { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE optional } |
- { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
- { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory },
- ...
-}
-
-RAB-SetupList-RelocReq ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReq-IEs} }
-
-RAB-SetupItem-RelocReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-RelocReq CRITICALITY reject TYPE RAB-SetupItem-RelocReq PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-RelocReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL,
- rAB-Parameters RAB-Parameters,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
- -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
- pDP-TypeInformation PDP-TypeInformation OPTIONAL
- -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
- userPlaneInformation UserPlaneInformation,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- service-Handover Service-Handover OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-RelocReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
- {ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional} |
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-BSC-Container CRITICALITY ignore EXTENSION GERAN-BSC-Container PRESENCE optional },
- ...
-}
-
-UserPlaneInformation ::= SEQUENCE {
- userPlaneMode UserPlaneMode,
- uP-ModeVersions UP-ModeVersions,
- iE-Extensions ProtocolExtensionContainer { {UserPlaneInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-UserPlaneInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY reject EXTENSION GlobalCN-ID PRESENCE optional} |
--- Extension for Release 5 to enable shared networks in connected mode --
- { ID id-SNA-Access-Information CRITICALITY ignore EXTENSION SNA-Access-Information PRESENCE optional} |
--- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling --
- { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional}|
--- Extension for Release 6 to convey the selected PLMN id in network sharing mobility scenarios --
- { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }|
--- Extension for Release 6 to enable MBMS UE linking at relocation --
- { ID id-CNMBMSLinkingInformation CRITICALITY ignore EXTENSION CNMBMSLinkingInformation PRESENCE optional},
- ...
-}
-
-CNMBMSLinkingInformation ::= SEQUENCE {
- joinedMBMSBearerService-IEs JoinedMBMSBearerService-IEs,
- iE-Extensions ProtocolExtensionContainer { {CNMBMSLinkingInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-CNMBMSLinkingInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-JoinedMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
- SEQUENCE {
- tMGI TMGI,
- mBMS-PTP-RAB-ID MBMS-PTP-RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {JoinedMBMSBearerService-ExtIEs} } OPTIONAL,
- ...
- }
-
-JoinedMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Request Acknowledge
---
--- **************************************************************
-
-RelocationRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Target-ToSource-TransparentContainer
- CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } |
- { ID id-RAB-SetupList-RelocReqAck CRITICALITY ignore TYPE RAB-SetupList-RelocReqAck PRESENCE optional} |
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }|
- { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE optional } |
- { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupList-RelocReqAck ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReqAck-IEs} }
-
-RAB-SetupItem-RelocReqAck-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-RelocReqAck CRITICALITY reject TYPE RAB-SetupItem-RelocReqAck PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-RelocReqAck ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iuTransportAssociation IuTransportAssociation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReqAck-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-RelocReqAck-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
- {ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional } |
--- Extension for Release 5 to allow transfer of a second pair of TLA and association --
- {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} |
- {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional},
- ...
-}
-
-RAB-FailedList ::= RAB-IE-ContainerList { {RAB-FailedItemIEs} }
-
-RAB-FailedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedItem CRITICALITY ignore TYPE RAB-FailedItem PRESENCE mandatory },
- ...
-}
-
-RAB-FailedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {RAB-FailedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- {ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Relocation Failure
---
--- **************************************************************
-
-RelocationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL,
- ...
-}
-
-RelocationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- { ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional } |
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- RELOCATION CANCEL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Cancel
---
--- **************************************************************
-
-RelocationCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCancelIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCancelIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Cancel Acknowledge
---
--- **************************************************************
-
-RelocationCancelAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCancelAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS CONTEXT TRANSFER OPEARATION
---
--- **************************************************************
-
--- **************************************************************
---
--- SRNS Context Request
---
--- **************************************************************
-
-SRNS-ContextRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-ContextRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingList-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingList-SRNS-CtxReq PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingList-SRNS-CtxReq ::= RAB-IE-ContainerList { {RAB-DataForwardingItem-SRNS-CtxReq-IEs} }
-
-RAB-DataForwardingItem-SRNS-CtxReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingItem-SRNS-CtxReq CRITICALITY reject TYPE RAB-DataForwardingItem-SRNS-CtxReq PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingItem-SRNS-CtxReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- The SGSN may include the IE, when available to indicate the RAT from which the context request originates, to correct measurement points in SRNC. --
- {ID id-RAT-Type CRITICALITY ignore EXTENSION RAT-Type PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- SRNS Context Response
---
--- **************************************************************
-
-SRNS-ContextResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-ContextResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE optional } |
- { ID id-RAB-ContextFailedtoTransferList CRITICALITY ignore TYPE RAB-ContextFailedtoTransferList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-ContextList ::= RAB-IE-ContainerList { {RAB-ContextItemIEs} }
-
-RAB-ContextItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextItem CRITICALITY ignore TYPE RAB-ContextItem PRESENCE mandatory },
- ...
-}
-
-RAB-ContextItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ContextItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ContextFailedtoTransferList ::= RAB-IE-ContainerList { {RABs-ContextFailedtoTransferItemIEs} }
-
-RABs-ContextFailedtoTransferItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextFailedtoTransferItem CRITICALITY ignore TYPE RABs-ContextFailedtoTransferItem PRESENCE mandatory },
- ...
-}
-
-RABs-ContextFailedtoTransferItem::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RABs-ContextFailedtoTransferItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RABs-ContextFailedtoTransferItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SECURITY MODE CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Security Mode Command
---
--- **************************************************************
-
-SecurityModeCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IntegrityProtectionInformation CRITICALITY reject TYPE IntegrityProtectionInformation PRESENCE mandatory } |
- { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
- { ID id-KeyStatus CRITICALITY reject TYPE KeyStatus PRESENCE mandatory},
- ...
-}
-
-SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Security Mode Complete
---
--- **************************************************************
-
-SecurityModeComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeCompleteIEs RANAP-PROTOCOL-IES ::= {
- { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY reject TYPE ChosenIntegrityProtectionAlgorithm PRESENCE mandatory } |
- { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Security Mode Reject
---
--- **************************************************************
-
-SecurityModeReject ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeRejectIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DATA VOLUME REPORT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Data Volume Report Request
---
--- **************************************************************
-
-DataVolumeReportRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL,
- ...
-}
-
-DataVolumeReportRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportRequestList CRITICALITY ignore TYPE RAB-DataVolumeReportRequestList PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportRequestList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportRequestItemIEs} }
-
-RAB-DataVolumeReportRequestItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportRequestItem CRITICALITY reject TYPE RAB-DataVolumeReportRequestItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportRequestItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportRequestItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataVolumeReportRequestItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Data Volume Report
---
--- **************************************************************
-
-DataVolumeReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} },
- protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL,
- ...
-}
-
-DataVolumeReportIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } |
- { ID id-RAB-FailedtoReportList CRITICALITY ignore TYPE RAB-FailedtoReportList PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-DataVolumeReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-FailedtoReportList ::= RAB-IE-ContainerList { {RABs-failed-to-reportItemIEs} }
-
-RABs-failed-to-reportItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedtoReportItem CRITICALITY ignore TYPE RABs-failed-to-reportItem PRESENCE mandatory },
- ...
-}
-
-RABs-failed-to-reportItem::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RABs-failed-to-reportItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- RESET ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Reset
---
--- **************************************************************
-
-Reset ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL,
- ...
-}
-
-ResetIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-ResetExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Reset Acknowledge
---
--- **************************************************************
-
-ResetAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-ResetAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
--- **************************************************************
---
--- RESET RESOURCE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Reset Resource
---
--- **************************************************************
-
-ResetResource ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetResourceIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL,
- ...
-}
-
-ResetResourceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceList PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-ResetResourceList ::= IuSigConId-IE-ContainerList{ {ResetResourceItemIEs} }
-
-ResetResourceItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceItem PRESENCE mandatory },
- ...
-}
-
-ResetResourceItem ::= SEQUENCE {
- iuSigConId IuSignallingConnectionIdentifier,
- iE-Extensions ProtocolExtensionContainer { { ResetResourceItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ResetResourceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Reset Resource Acknowledge
---
--- **************************************************************
-
-ResetResourceAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-ResetResourceAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceAckList PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-ResetResourceAckList ::= IuSigConId-IE-ContainerList{ {ResetResourceAckItemIEs} }
-
-ResetResourceAckItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceAckItem PRESENCE mandatory },
- ...
-}
-
-ResetResourceAckItem ::= SEQUENCE {
- iuSigConId IuSignallingConnectionIdentifier,
- iE-Extensions ProtocolExtensionContainer { { ResetResourceAckItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ResetResourceAckItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- RAB RELEASE REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Release Request
---
--- **************************************************************
-
-RAB-ReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE mandatory },
- ...
-}
-
-RAB-ReleaseList ::= RAB-IE-ContainerList { {RAB-ReleaseItemIEs} }
-
-RAB-ReleaseItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleaseItem CRITICALITY ignore TYPE RAB-ReleaseItem PRESENCE mandatory },
- ...
-}
-
-RAB-ReleaseItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleaseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Iu RELEASE REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Iu Release Request
---
--- **************************************************************
-
-Iu-ReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION DETECT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Detect
---
--- **************************************************************
-
-RelocationDetect ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationDetectIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL,
- ...
-}
-
-RelocationDetectIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION COMPLETE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Complete
---
--- **************************************************************
-
-RelocationComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCompleteIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- ENHANCED RELOCATION COMPLETE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Enhanced Relocation Complete Request
---
--- **************************************************************
-
-EnhancedRelocationCompleteRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteRequestExtensions} } OPTIONAL,
- ...
-}
-
-EnhancedRelocationCompleteRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-OldIuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
- { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
- { ID id-Relocation-SourceRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } |
- { ID id-Relocation-SourceExtendedRNC-ID CRITICALITY ignore TYPE ExtendedRNC-ID PRESENCE optional } |
- { ID id-Relocation-TargetRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory } |
- { ID id-Relocation-TargetExtendedRNC-ID CRITICALITY reject TYPE ExtendedRNC-ID PRESENCE optional } |
- { ID id-RAB-SetupList-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupList-EnhancedRelocCompleteReq PRESENCE optional }
-, ...
-}
-
-RAB-SetupList-EnhancedRelocCompleteReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhancedRelocCompleteReq-IEs} }
-
-RAB-SetupItem-EnhancedRelocCompleteReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupItem-EnhancedRelocCompleteReq PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-EnhancedRelocCompleteReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddressReq1 TransportLayerAddress OPTIONAL,
- iuTransportAssociationReq1 IuTransportAssociation OPTIONAL,
- ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EnhancedRelocationCompleteRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Enhanced Relocation Complete Response
---
--- **************************************************************
-
-EnhancedRelocationCompleteResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteResponseExtensions} } OPTIONAL,
- ...
-}
-
-EnhancedRelocationCompleteResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-SetupList-EnhancedRelocCompleteRes PRESENCE optional} |
- { ID id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedList-EnhancedRelocCompleteRes PRESENCE optional} |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-SetupItem-EnhancedRelocCompleteRes-IEs} }
-
-RAB-SetupItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-EnhancedRelocCompleteRes CRITICALITY reject TYPE RAB-SetupItem-EnhancedRelocCompleteRes PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-EnhancedRelocCompleteRes ::= SEQUENCE {
- rAB-ID RAB-ID,
- rAB-Parameters RAB-Parameters OPTIONAL,
- userPlaneInformation UserPlaneInformation,
- transportLayerAddressRes1 TransportLayerAddress OPTIONAL,
- iuTransportAssociationRes1 IuTransportAssociation OPTIONAL,
- rab2beReleasedList RAB-ToBeReleasedList-EnhancedRelocCompleteRes OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ToBeReleasedList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs} }
-
-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedItem-EnhancedRelocCompleteRes PRESENCE mandatory },
- ...
-}
-
-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EnhancedRelocationCompleteResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Enhanced Relocation Complete Failure
---
--- **************************************************************
-
-EnhancedRelocationCompleteFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteFailureExtensions} } OPTIONAL,
- ...
-}
-
-EnhancedRelocationCompleteFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-EnhancedRelocationCompleteFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Enhanced Relocation Complete Confirm
---
--- **************************************************************
-
-EnhancedRelocationCompleteConfirm ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteConfirmIEs} },
- protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteConfirmExtensions} } OPTIONAL,
- ...
-}
-
-EnhancedRelocationCompleteConfirmIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional },
- ...
-}
-
-EnhancedRelocationCompleteConfirmExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- PAGING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Paging
---
--- **************************************************************
-
-Paging ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {PagingIEs} },
- protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL,
- ...
-}
-
-PagingIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } |
- { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } |
- { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } |
- { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } |
- { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } |
- { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE optional } ,
- ...
-}
-
-PagingExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable NNSF --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional } ,
- ...
-}
-
--- **************************************************************
---
--- COMMON ID ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Common ID
---
--- **************************************************************
-
-CommonID ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CommonID-IEs} },
- protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL,
- ...
-}
-
-CommonID-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory },
- ...
-}
-
-CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable shared networks in connected mode --
- { ID id-SNA-Access-Information CRITICALITY ignore EXTENSION SNA-Access-Information PRESENCE optional } |
--- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling --
- { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional}|
--- Extension for Release 6 to indicate the selected plmn in GWCN configuration for network sharing non-supporting UEs --
- { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }|
--- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority --
- {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- CN INVOKE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Invoke Trace
---
--- **************************************************************
-
-CN-InvokeTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL,
- ...
-}
-
-CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE optional } |
- -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
- { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
- { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } |
- -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
- { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } |
- -- This information is mandatory for UTRAN, optional for GERAN Iu mode --
- { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional },
- -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
- ...
-}
-
-CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to enable signalling based activation for Subscriber and Equipment Trace over Iu interface --
- { ID id-TracePropagationParameters CRITICALITY ignore EXTENSION TracePropagationParameters PRESENCE optional } ,
- ...
-}
-
--- **************************************************************
---
--- CN DEACTIVATE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Deactivate Trace
---
--- **************************************************************
-
-CN-DeactivateTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL,
- ...
-}
-
-CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
- { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional },
- -- This information is optional for GERAN Iu Mode, not applicable to UTRAN --
- ...
-}
-
-CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- LOCATION REPORTING CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Reporting Control
---
--- **************************************************************
-
-LocationReportingControl ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL,
- ...
-}
-
-LocationReportingControlIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory },
- ...
-}
-
-LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enhance the location request over Iu --
- { ID id-VerticalAccuracyCode CRITICALITY ignore EXTENSION VerticalAccuracyCode PRESENCE optional } |
--- Extension for Release 4 to enhance the location request over Iu --
- { ID id-ResponseTime CRITICALITY ignore EXTENSION ResponseTime PRESENCE optional } |
--- Extension for Release 4 to enhance the location request over Iu --
- { ID id-PositioningPriority CRITICALITY ignore EXTENSION PositioningPriority PRESENCE optional } |
--- Extension for Release 4 to enhance the location request over Iu --
- { ID id-ClientType CRITICALITY ignore EXTENSION ClientType PRESENCE optional } |
--- Extension for Release 7 to allow the request of velocity over Iu --
- { ID id-IncludeVelocity CRITICALITY ignore EXTENSION IncludeVelocity PRESENCE optional } |
--- Extension for Release 7 to allow periodic reporting over Iu --
- { ID id-PeriodicLocationInfo CRITICALITY ignore EXTENSION PeriodicLocationInfo PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- LOCATION REPORT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Report
---
--- **************************************************************
-
-LocationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationReportIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL,
- ...
-}
-
-LocationReportIEs RANAP-PROTOCOL-IES ::= {
- { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional } ,
- ...
-}
-
-LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enable report of Last Known Service Area with its Age over Iu --
- { ID id-LastKnownServiceArea CRITICALITY ignore EXTENSION LastKnownServiceArea PRESENCE optional} |
--- Extension for Release 5 to pass the positioning methods that have been used --
- { ID id-PositionData CRITICALITY ignore EXTENSION PositionData PRESENCE optional}|
--- Extension for Release 5 to pass the positioning methods that have been used for GERAN Iu mode --
- { ID id-PositionDataSpecificToGERANIuMode CRITICALITY ignore EXTENSION PositionDataSpecificToGERANIuMode PRESENCE optional }|
- -- This extension is optional for GERAN Iu mode only, not applicable for UTRAN --
--- Extension for Release 6 to indicate whether the returned position estimate satisfies the requested accuracy or not --
- { ID id-AccuracyFulfilmentIndicator CRITICALITY ignore EXTENSION AccuracyFulfilmentIndicator PRESENCE optional}|
--- Extension for Release 7 to provide a velocity estimate --
- { ID id-VelocityEstimate CRITICALITY ignore EXTENSION VelocityEstimate PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- INITIAL UE MESSAGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Initial UE Message
---
--- **************************************************************
-
-InitialUE-Message ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} },
- protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL,
- ...
-}
-
-InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } |
- { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional
- -- This IE shall be present if the CN Domain Indicator IE is set to "PS domain" -- } |
- { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } |
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
- { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional } |
--- Extension for Release 6 to convey the selected PLMN id in shared networks --
- { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional } |
--- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore EXTENSION PermanentNAS-UE-ID PRESENCE optional } |
--- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
- { ID id-NAS-SequenceNumber CRITICALITY ignore EXTENSION NAS-SequenceNumber PRESENCE optional } |
--- Extension for Release 6 to indicate rerouting in MOCN configuration for network sharing non-supporting UEs --
- { ID id-RedirectAttemptFlag CRITICALITY ignore EXTENSION RedirectAttemptFlag PRESENCE optional } |
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional } |
--- Extension for Release 8 to support CSG --
- { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- DIRECT TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Direct Transfer
---
--- **************************************************************
-
-DirectTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DirectTransferIEs} },
- protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL,
- ...
-}
-
-DirectTransferIEs RANAP-PROTOCOL-IES ::= {
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
- { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE optional } |
- { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE optional } |
- { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE optional } |
- { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE optional },
- ...
-}
-
-DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
- { ID id-RedirectionIndication CRITICALITY ignore EXTENSION RedirectionIndication PRESENCE optional }|
--- Extension for Release 6 to indicate the MOCN rerouting is completed --
- { ID id-RedirectionCompleted CRITICALITY ignore EXTENSION RedirectionCompleted PRESENCE optional }|
--- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority --
- {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional},
- ...
-}
-
-RedirectionIndication ::= ProtocolIE-Container { {RedirectionIndication-IEs} }
-
-RedirectionIndication-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory }|
- { ID id-RejectCauseValue CRITICALITY ignore TYPE RejectCauseValue PRESENCE mandatory}|
- { ID id-NAS-SequenceNumber CRITICALITY ignore TYPE NAS-SequenceNumber PRESENCE optional}|
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- OVERLOAD CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Overload
---
--- **************************************************************
-
-Overload ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadIEs} },
- protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL,
- ...
-}
-
-OverloadIEs RANAP-PROTOCOL-IES ::= {
- { ID id-NumberOfSteps CRITICALITY ignore TYPE NumberOfSteps PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 99 to enable the indication to the RNC which CN domain is suffering the signalling traffic overload --
- { ID id-CN-DomainIndicator CRITICALITY ignore EXTENSION CN-DomainIndicator PRESENCE optional } |
--- Extension for Release 5 to enable NNSF --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional } |
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- ERROR INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Error Indication
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL,
- ...
-}
-
-ErrorIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- SRNS DATA FORWARD ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- SRNS Data Forward Command
---
--- **************************************************************
-
-SRNS-DataForwardCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-DataForwardCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional },
- ...
-}
-
-SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- FORWARD SRNS CONTEXT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Forward SRNS Context
---
--- **************************************************************
-
-ForwardSRNS-Context ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} },
- protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL,
- ...
-}
-
-ForwardSRNS-ContextIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE mandatory },
- ...
-}
-
-ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable relocation of Source RNC PDCP context info --
- { ID id-SourceRNC-PDCP-context-info CRITICALITY ignore EXTENSION RRC-Container PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- RAB ASSIGNMENT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Assignment Request
---
--- **************************************************************
-
-RAB-AssignmentRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifyList CRITICALITY ignore TYPE RAB-SetupOrModifyList PRESENCE optional } |
- { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE optional },
- ...
-}
-
-RAB-SetupOrModifyList ::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} }
-
-RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= {
- { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst
- SECOND CRITICALITY ignore SECOND TYPE RAB-SetupOrModifyItemSecond
- PRESENCE mandatory },
- ...
-}
-
-RAB-SetupOrModifyItemFirst ::= SEQUENCE {
- rAB-ID RAB-ID,
- nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL,
- rAB-Parameters RAB-Parameters OPTIONAL,
- userPlaneInformation UserPlaneInformation OPTIONAL,
- transportLayerInformation TransportLayerInformation OPTIONAL,
- service-Handover Service-Handover OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemFirst-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransportLayerInformation ::= SEQUENCE {
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {TransportLayerInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransportLayerInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SetupOrModifyItemFirst-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SetupOrModifyItemSecond ::= SEQUENCE {
- pDP-TypeInformation PDP-TypeInformation OPTIONAL,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemSecond-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifyItemSecond-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
- { ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional } |
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-BSC-Container CRITICALITY ignore EXTENSION GERAN-BSC-Container PRESENCE optional } ,
- ...
-}
-
-RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB Assignment Response
---
--- **************************************************************
-
-RAB-AssignmentResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL,
- ...
-}
-
-RAB-AssignmentResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifiedList CRITICALITY ignore TYPE RAB-SetupOrModifiedList PRESENCE optional } |
- { ID id-RAB-ReleasedList CRITICALITY ignore TYPE RAB-ReleasedList PRESENCE optional } |
-
- { ID id-RAB-QueuedList CRITICALITY ignore TYPE RAB-QueuedList PRESENCE optional } |
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional } |
- { ID id-RAB-ReleaseFailedList CRITICALITY ignore TYPE RAB-ReleaseFailedList PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupOrModifiedList ::= RAB-IE-ContainerList { {RAB-SetupOrModifiedItemIEs} }
-
-RAB-SetupOrModifiedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifiedItem CRITICALITY ignore TYPE RAB-SetupOrModifiedItem PRESENCE mandatory },
- ...
-}
-
-RAB-SetupOrModifiedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iuTransportAssociation IuTransportAssociation OPTIONAL,
- dl-dataVolumes DataVolumeList OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifiedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifiedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
- { ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional },
- ...
-}
-
-RAB-ReleasedList ::= RAB-IE-ContainerList { {RAB-ReleasedItemIEs} }
-
-RAB-ReleasedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleasedItem CRITICALITY ignore TYPE RAB-ReleasedItem PRESENCE mandatory },
- ...
-}
-
-RAB-ReleasedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-dataVolumes DataVolumeList OPTIONAL,
- dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
- uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleasedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DataVolumeList ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF
- SEQUENCE {
- dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume,
- dataVolumeReference DataVolumeReference OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {DataVolumeList-ExtIEs} } OPTIONAL,
- ...
- }
-
-DataVolumeList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-QueuedList ::= RAB-IE-ContainerList { {RAB-QueuedItemIEs} }
-
-RAB-QueuedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-QueuedItem CRITICALITY ignore TYPE RAB-QueuedItem PRESENCE mandatory },
- ...
-}
-
-RAB-QueuedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-QueuedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-QueuedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleaseFailedList ::= RAB-FailedList
-
-RAB-AssignmentResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse CRITICALITY ignore EXTENSION GERAN-Iumode-RAB-FailedList-RABAssgntResponse PRESENCE optional} ,
- ...
-}
-
-GERAN-Iumode-RAB-FailedList-RABAssgntResponse ::= RAB-IE-ContainerList { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs} }
-
-GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item CRITICALITY ignore TYPE GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item PRESENCE mandatory },
- ...
-}
-
-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- gERAN-Classmark GERAN-Classmark OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container { {PrivateMessage-IEs } },
- ...
-}
-
-PrivateMessage-IEs RANAP-PRIVATE-IES ::= {
- ...
-}
-
--- **************************************************************
---
--- RANAP RELOCATION INFORMATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-RANAP-RelocationInformation ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} },
- protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL,
- ...
-}
-
-RANAP-RelocationInformationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-DirectTransferInformationList-RANAP-RelocInf
- CRITICALITY ignore TYPE DirectTransferInformationList-RANAP-RelocInf
- PRESENCE optional } |
- { ID id-RAB-ContextList-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextList-RANAP-RelocInf PRESENCE optional },
- ...
-}
-
-DirectTransferInformationList-RANAP-RelocInf ::= DirectTransfer-IE-ContainerList { {DirectTransferInformationItemIEs-RANAP-RelocInf} }
-
-DirectTransferInformationItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
- { ID id-DirectTransferInformationItem-RANAP-RelocInf
- CRITICALITY ignore TYPE DirectTransferInformationItem-RANAP-RelocInf
- PRESENCE mandatory },
- ...
-}
-
-DirectTransferInformationItem-RANAP-RelocInf ::= SEQUENCE {
- nAS-PDU NAS-PDU,
- sAPI SAPI,
- cN-DomainIndicator CN-DomainIndicator,
- iE-Extensions ProtocolExtensionContainer { {RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
- ...
-}
-
-RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ContextList-RANAP-RelocInf ::= RAB-IE-ContainerList { {RAB-ContextItemIEs-RANAP-RelocInf} }
-
-RAB-ContextItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextItem-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextItem-RANAP-RelocInf PRESENCE mandatory },
- ...
-}
-
-RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
- ...
-}
-
-RAB-ContextItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable relocation of Source RNC PDCP context info --
- { ID id-SourceRNC-PDCP-context-info CRITICALITY ignore EXTENSION RRC-Container PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- RANAP ENHANCED RELOCATION INFORMATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RANAP Enhanced Relocation Information Request
---
--- **************************************************************
-
-RANAP-EnhancedRelocationInformationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationRequestExtensions} } OPTIONAL,
- ...
-}
-
-RANAP-EnhancedRelocationInformationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Source-ToTarget-TransparentContainer
- CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } |
- { ID id-OldIuSigConIdCS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } |
- { ID id-GlobalCN-IDCS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} |
- { ID id-OldIuSigConIdPS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } |
- { ID id-GlobalCN-IDCS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} |
- { ID id-RAB-SetupList-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupList-EnhRelocInfoReq PRESENCE optional } |
- { ID id-SNA-Access-Information CRITICALITY ignore TYPE SNA-Access-Information PRESENCE optional} |
- { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional}|
- { ID id-SelectedPLMN-ID CRITICALITY ignore TYPE PLMNidentity PRESENCE optional }|
- { ID id-CNMBMSLinkingInformation CRITICALITY ignore TYPE CNMBMSLinkingInformation PRESENCE optional},
- ...
-}
-
-RAB-SetupList-EnhRelocInfoReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoReq-IEs} }
-
-RAB-SetupItem-EnhRelocInfoReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupItem-EnhRelocInfoReq PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-EnhRelocInfoReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- cN-DomainIndicator CN-DomainIndicator,
- rAB-Parameters RAB-Parameters,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
- -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
- pDP-TypeInformation PDP-TypeInformation OPTIONAL
- -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
- userPlaneInformation UserPlaneInformation,
- dataForwardingInformation TNLInformationEnhRelInfoReq OPTIONAL,
- sourceSideIuULTNLInfo TNLInformationEnhRelInfoReq OPTIONAL,
-
- service-Handover Service-Handover OPTIONAL,
- alt-RAB-Parameters Alt-RAB-Parameters OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-EnhRelocInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TNLInformationEnhRelInfoReq ::=SEQUENCE{
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-TNLInformationEnhRelInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-RANAP-EnhancedRelocationInformationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RANAP Enhanced Relocation Information Response
---
--- **************************************************************
-
-RANAP-EnhancedRelocationInformationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationResponseExtensions} } OPTIONAL,
- ...
-}
-
-RANAP-EnhancedRelocationInformationResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Target-ToSource-TransparentContainer
- CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } |
- { ID id-RAB-SetupList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-SetupList-EnhRelocInfoRes PRESENCE optional} |
- { ID id-RAB-FailedList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-FailedList-EnhRelocInfoRes PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupList-EnhRelocInfoRes ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoRes-IEs} }
-
-RAB-SetupItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-EnhRelocInfoRes CRITICALITY reject TYPE RAB-SetupItem-EnhRelocInfoRes PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-EnhRelocInfoRes ::= SEQUENCE {
- cN-DomainIndicator CN-DomainIndicator,
- rAB-ID RAB-ID,
- dataForwardingInformation TNLInformationEnhRelInfoRes OPTIONAL,
- ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-FailedList-EnhRelocInfoRes ::= RAB-IE-ContainerList { { RAB-FailedItem-EnhRelocInfoRes-IEs} }
-
-RAB-FailedItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedItem-EnhRelocInfoRes CRITICALITY reject TYPE RAB-FailedItem-EnhRelocInfoRes PRESENCE mandatory },
- ...
-}
-
-RAB-FailedItem-EnhRelocInfoRes ::= SEQUENCE {
- cN-DomainIndicator CN-DomainIndicator,
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RAB-FailedItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-FailedItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-TNLInformationEnhRelInfoRes ::=SEQUENCE{
- dl-forwardingTransportLayerAddress TransportLayerAddress,
- dl-forwardingTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoRes-ExtIEs} } OPTIONAL,
- ...
-}
-
-TNLInformationEnhRelInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RANAP-EnhancedRelocationInformationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
--- **************************************************************
---
--- RAB MODIFICATION REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Modify Request
---
--- **************************************************************
-
-RAB-ModifyRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-ModifyRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-ModifyRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-ModifyRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ModifyList CRITICALITY ignore TYPE RAB-ModifyList PRESENCE mandatory},
- ...
-}
-
-RAB-ModifyList ::= RAB-IE-ContainerList { {RAB-ModifyItemIEs} }
-
-RAB-ModifyItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ModifyItem CRITICALITY ignore TYPE RAB-ModifyItem PRESENCE mandatory },
- ...
-}
-
-RAB-ModifyItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- requested-RAB-Parameter-Values Requested-RAB-Parameter-Values,
- iE-Extensions ProtocolExtensionContainer { {RAB-ModifyItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ModifyItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ModifyRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- LOCATION RELATED DATA ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Related Data Request
---
--- **************************************************************
-
-LocationRelatedDataRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationRelatedDataRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationRelatedDataRequestExtensions} } OPTIONAL,
- ...
-}
-
-LocationRelatedDataRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-LocationRelatedDataRequestType CRITICALITY reject TYPE LocationRelatedDataRequestType PRESENCE optional },
- -- This IE is mandatory for UTRAN, optional for GERAN Iu Mode �-
- ...
-}
-
-LocationRelatedDataRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable LCS support for GERAN Iu mode --
- { ID id-LocationRelatedDataRequestTypeSpecificToGERANIuMode CRITICALITY reject EXTENSION LocationRelatedDataRequestTypeSpecificToGERANIuMode PRESENCE optional }|
- -- The previous extension is optional for GERAN Iu Mode only, not applicable for UTRAN --
- -- Extension for Release 7 to request GANSS Assistance Data. This IE shall be present if the Requested Location Related Data Type IE is set to
- -- �Dedicated Assistance Data for Assisted GANSS� or `Dedicated Assistance Data for Assisted GPS and GANSS�--
- { ID id-RequestedGANSSAssistanceData CRITICALITY reject EXTENSION RequestedGANSSAssistanceData PRESENCE conditional },
- ...
-}
-
--- **************************************************************
---
--- Location Related Data Response
---
--- **************************************************************
-
-LocationRelatedDataResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationRelatedDataResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataResponseExtensions} } OPTIONAL,
- ...
-}
-
-LocationRelatedDataResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-BroadcastAssistanceDataDecipheringKeys CRITICALITY ignore TYPE BroadcastAssistanceDataDecipheringKeys PRESENCE optional },
- ...
-}
-
-LocationRelatedDataResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for error handling
- { ID id-CriticalityDiagnostics CRITICALITY ignore EXTENSION CriticalityDiagnostics PRESENCE optional }|
- { ID id-BroadcastGANSSAssistanceDataDecipheringKeys CRITICALITY ignore EXTENSION BroadcastAssistanceDataDecipheringKeys PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- Location Related Data Failure
---
--- **************************************************************
-
-LocationRelatedDataFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationRelatedDataFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataFailureExtensions} } OPTIONAL,
- ...
-}
-
-LocationRelatedDataFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-LocationRelatedDataFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for error handling
- { ID id-CriticalityDiagnostics CRITICALITY ignore EXTENSION CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Information Transfer Indication
---
--- **************************************************************
-
-InformationTransferIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { InformationTransferIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { { InformationTransferIndicationExtensions} } OPTIONAL,
- ...
-}
-
-InformationTransferIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationTransferID CRITICALITY reject TYPE InformationTransferID PRESENCE mandatory } |
- { ID id-ProvidedData CRITICALITY reject TYPE ProvidedData PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional},
- ...
-}
-
-InformationTransferIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Information Transfer Confirmation
---
--- **************************************************************
-
-InformationTransferConfirmation ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { InformationTransferConfirmationIEs} },
- protocolExtensions ProtocolExtensionContainer { { InformationTransferConfirmationExtensions} } OPTIONAL,
- ...
-}
-
-InformationTransferConfirmationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationTransferID CRITICALITY ignore TYPE InformationTransferID PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-InformationTransferConfirmationExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Information Transfer Failure
---
--- **************************************************************
-
-InformationTransferFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { InformationTransferFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { InformationTransferFailureExtensions} } OPTIONAL,
- ...
-}
-
-InformationTransferFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationTransferID CRITICALITY ignore TYPE InformationTransferID PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-InformationTransferFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- UE SPECIFIC INFORMATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE Specific Information Indication
---
--- **************************************************************
-
-UESpecificInformationIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {UESpecificInformationIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { {UESpecificInformationIndicationExtensions} } OPTIONAL,
- ...
-}
-
-UESpecificInformationIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional },
- ...
-}
-
-UESpecificInformationIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Direct Information Transfer
---
--- **************************************************************
-
-DirectInformationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { DirectInformationTransferIEs} },
- protocolExtensions ProtocolExtensionContainer { { DirectInformationTransferExtensions} } OPTIONAL,
- ...
-}
-
-DirectInformationTransferIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InterSystemInformationTransferType CRITICALITY ignore TYPE InterSystemInformationTransferType PRESENCE optional } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional },
- ...
-}
-
-DirectInformationTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- UPLINK INFORMATION EXCHANGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Uplink Information Exchange Request
---
--- **************************************************************
-
-UplinkInformationExchangeRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UplinkInformationExchangeRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeRequestExtensions} } OPTIONAL,
- ...
-}
-
-UplinkInformationExchangeRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory } |
- { ID id-InformationExchangeType CRITICALITY reject TYPE InformationExchangeType PRESENCE mandatory } |
- { ID id-InformationTransferType CRITICALITY reject TYPE InformationTransferType PRESENCE conditional
- -- This IE shall be present if the Information Exchange Type IE is set to "transfer" -- } |
- { ID id-InformationRequestType CRITICALITY reject TYPE InformationRequestType PRESENCE conditional
- -- This IE shall be present if the Information Exchange Type IE is set to "request" -- } |
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-UplinkInformationExchangeRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Uplink Information Exchange Response
---
--- **************************************************************
-
-UplinkInformationExchangeResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UplinkInformationExchangeResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeResponseExtensions} } OPTIONAL,
- ...
-}
-
-UplinkInformationExchangeResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory } |
- { ID id-InformationRequested CRITICALITY ignore TYPE InformationRequested PRESENCE optional } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-UplinkInformationExchangeResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Uplink Information Exchange Failure
---
--- **************************************************************
-
-UplinkInformationExchangeFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UplinkInformationExchangeFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeFailureExtensions} } OPTIONAL,
- ...
-}
-
-UplinkInformationExchangeFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-UplinkInformationExchangeFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS SESSION START PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS Session Start
---
--- **************************************************************
-
-MBMSSessionStart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionStartIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionStartExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionStartIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } |
- { ID id-MBMSSessionIdentity CRITICALITY ignore TYPE MBMSSessionIdentity PRESENCE optional } |
- { ID id-MBMSBearerServiceType CRITICALITY reject TYPE MBMSBearerServiceType PRESENCE mandatory } |
- { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }|
- { ID id-RAB-Parameters CRITICALITY reject TYPE RAB-Parameters PRESENCE mandatory } |
- { ID id-PDP-TypeInformation CRITICALITY ignore TYPE PDP-TypeInformation PRESENCE optional } |
- { ID id-MBMSSessionDuration CRITICALITY reject TYPE MBMSSessionDuration PRESENCE mandatory } |
- { ID id-MBMSServiceArea CRITICALITY reject TYPE MBMSServiceArea PRESENCE mandatory } |
- { ID id-FrequenceLayerConvergenceFlag CRITICALITY ignore TYPE FrequenceLayerConvergenceFlag PRESENCE optional } |
- { ID id-RAListofIdleModeUEs CRITICALITY ignore TYPE RAListofIdleModeUEs PRESENCE optional } |
- { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional } |
- { ID id-MBMSSessionRepetitionNumber CRITICALITY ignore TYPE MBMSSessionRepetitionNumber PRESENCE optional } |
- { ID id-TimeToMBMSDataTransfer CRITICALITY reject TYPE TimeToMBMSDataTransfer PRESENCE mandatory },
- ...
-}
-
-MBMSSessionStartExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to enable MBMS counting in broadcast mode --
- { ID id-MBMSCountingInformation CRITICALITY ignore EXTENSION MBMSCountingInformation PRESENCE optional } |
- { ID id-MBMSSynchronisationInformation CRITICALITY ignore EXTENSION MBMSSynchronisationInformation PRESENCE optional },
- ...
-}
-
-MBMSSynchronisationInformation ::= SEQUENCE {
- mBMSHCIndicator MBMSHCIndicator,
- iPMulticastAddress IPMulticastAddress,
- gTPDLTEID GTP-TEI,
- iE-Extensions ProtocolExtensionContainer { {MBMSSynchronisationInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-MBMSSynchronisationInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Session Start Response
---
--- **************************************************************
-
-MBMSSessionStartResponse::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MBMSSessionStartResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {MBMSSessionStartResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionStartResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSSessionStartResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Session Start Failure
---
--- **************************************************************
-
-MBMSSessionStartFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionStartFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionStartFailureExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionStartFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSSessionStartFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS SESSION UPDATE PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS Session Update
---
--- **************************************************************
-
-MBMSSessionUpdate ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionUpdateIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionUpdateIEs RANAP-PROTOCOL-IES ::= {
- { ID id-SessionUpdateID CRITICALITY reject TYPE SessionUpdateID PRESENCE mandatory } |
- { ID id-DeltaRAListofIdleModeUEs CRITICALITY reject TYPE DeltaRAListofIdleModeUEs PRESENCE mandatory },
- ...
-}
-
-MBMSSessionUpdateExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Session Update Response
---
--- **************************************************************
-
-MBMSSessionUpdateResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionUpdateResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionUpdateResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-SessionUpdateID CRITICALITY ignore TYPE SessionUpdateID PRESENCE mandatory } |
- { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSSessionUpdateResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Session Update Failure
---
--- **************************************************************
-
-MBMSSessionUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionUpdateFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateFailureExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionUpdateFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-SessionUpdateID CRITICALITY ignore TYPE SessionUpdateID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSSessionUpdateFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS SESSION STOP PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS Session Stop
---
--- **************************************************************
-
-MBMSSessionStop ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionStopIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionStopExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionStopIEs RANAP-PROTOCOL-IES ::= {
- { ID id-MBMSCNDe-Registration CRITICALITY reject TYPE MBMSCNDe-Registration PRESENCE mandatory },
- ...
-}
-
-MBMSSessionStopExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Session Stop Response
---
--- **************************************************************
-
-MBMSSessionStopResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionStopResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionStopResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionStopResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSSessionStopResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS UE LINKING PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS UE Linking Request
---
--- **************************************************************
-
-MBMSUELinkingRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSUELinkingRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSUELinkingRequestExtensions} } OPTIONAL,
- ...
-}
-
-MBMSUELinkingRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-JoinedMBMSBearerServicesList CRITICALITY reject TYPE JoinedMBMSBearerService-IEs PRESENCE optional } |
- { ID id-LeftMBMSBearerServicesList CRITICALITY reject TYPE LeftMBMSBearerService-IEs PRESENCE optional },
- ...
-}
-
-LeftMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
- SEQUENCE {
- tMGI TMGI,
- iE-Extensions ProtocolExtensionContainer { {LeftMBMSBearerService-ExtIEs} } OPTIONAL,
- ...
- }
-
-LeftMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MBMSUELinkingRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS UE Linking Response
---
--- **************************************************************
-
-MBMSUELinkingResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSUELinkingResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSUELinkingResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSUELinkingResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-UnsuccessfulLinkingList CRITICALITY ignore TYPE UnsuccessfulLinking-IEs PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-UnsuccessfulLinking-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
- SEQUENCE {
- tMGI TMGI,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {UnsuccessfulLinking-ExtIEs} } OPTIONAL,
- ...
- }
-
-UnsuccessfulLinking-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MBMSUELinkingResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS REGISTRATION PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS Registration Request
---
--- **************************************************************
-
-MBMSRegistrationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSRegistrationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationRequestExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRegistrationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-MBMSRegistrationRequestType CRITICALITY reject TYPE MBMSRegistrationRequestType PRESENCE mandatory } |
- { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } |
- { ID id-IPMulticastAddress CRITICALITY reject TYPE IPMulticastAddress PRESENCE conditional
- -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } |
- { ID id-APN CRITICALITY reject TYPE APN PRESENCE conditional
- -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } |
- { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-MBMSRegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- MBMS Registration Response
---
--- **************************************************************
-
-MBMSRegistrationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSRegistrationResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRegistrationResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE optional } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSRegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Registration Failure
---
--- **************************************************************
-
-MBMSRegistrationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSRegistrationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationFailureExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRegistrationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE optional } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSRegistrationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS CN DE-REGISTRATION PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS CN De-Registration Request
---
--- **************************************************************
-
-MBMSCNDe-RegistrationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSCNDe-RegistrationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSCNDe-RegistrationRequestExtensions} } OPTIONAL,
- ...
-}
-
-MBMSCNDe-RegistrationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } |
- { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional },
- ...
-}
-
-MBMSCNDe-RegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS CN De-Registration Response
---
--- **************************************************************
-
-MBMSCNDe-RegistrationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSCNDe-RegistrationResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSCNDe-RegistrationResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSCNDe-RegistrationResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSCNDe-RegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- MBMS RAB ESTABLISHMENT INDICATION PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS RAB Establishment Indication
---
--- **************************************************************
-
-MBMSRABEstablishmentIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSRABEstablishmentIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSRABEstablishmentIndicationExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRABEstablishmentIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE mandatory } ,
- ...
-}
-
-MBMSRABEstablishmentIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS RAB RELEASE PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS RAB Release Request
---
--- **************************************************************
-
-MBMSRABReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MBMSRABReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRABReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-
-MBMSRABReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS RAB Release
---
--- **************************************************************
-
-MBMSRABRelease ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MBMSRABReleaseIEs} },
- protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRABReleaseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-MBMSRABReleaseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS RAB Release Failure
---
--- **************************************************************
-
-MBMSRABReleaseFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MBMSRABReleaseFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseFailureExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRABReleaseFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-MBMSRABReleaseFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRVCC PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- SRVCC CS Keys Request
---
--- **************************************************************
-
-SRVCC-CSKeysRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRVCC-CSKeysRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysRequestExtensions} } OPTIONAL,
- ...
-}
-
-SRVCC-CSKeysRequestIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-SRVCC-CSKeysRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRVCC CS Keys Response
---
--- **************************************************************
-
-SRVCC-CSKeysResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRVCC-CSKeysResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysResponseExtensions} } OPTIONAL,
- ...
-}
-
-SRVCC-CSKeysResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IntegrityProtectionKey CRITICALITY reject TYPE IntegrityProtectionKey PRESENCE mandatory }|
- { ID id-EncryptionKey CRITICALITY reject TYPE EncryptionKey PRESENCE mandatory }|
- { ID id-SRVCC-Information CRITICALITY reject TYPE SRVCC-Information PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SRVCC-CSKeysResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-END
-
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-PDU-Descriptions.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/RANAP-PDU-Descriptions.asn1
deleted file mode 100644
index a7f4aded76..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/RANAP-PDU-Descriptions.asn1
+++ /dev/null
@@ -1,619 +0,0 @@
--- RANAP-PDU-Descriptions.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.2 Elementary Procedure Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Elementary Procedure definitions
---
--- **************************************************************
-
-RANAP-PDU-Descriptions {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- ProcedureCode
-FROM RANAP-CommonDataTypes
-
- Iu-ReleaseCommand,
- Iu-ReleaseComplete,
- RelocationCommand,
- RelocationPreparationFailure,
- RelocationRequired,
- RelocationRequest,
- RelocationRequestAcknowledge,
- RelocationFailure,
- RelocationCancel,
- RelocationCancelAcknowledge,
- EnhancedRelocationCompleteRequest,
- EnhancedRelocationCompleteResponse,
- EnhancedRelocationCompleteFailure,
- EnhancedRelocationCompleteConfirm,
- SRNS-ContextRequest,
- SRNS-ContextResponse,
- SecurityModeCommand,
- SecurityModeComplete,
- SecurityModeReject,
- DataVolumeReportRequest,
- DataVolumeReport,
- Reset,
- ResetAcknowledge,
- RAB-ReleaseRequest,
- Iu-ReleaseRequest,
- RelocationDetect,
- RelocationComplete,
- Paging,
- CommonID,
- CN-InvokeTrace,
- CN-DeactivateTrace,
- LocationReportingControl,
- LocationReport,
- InitialUE-Message,
- DirectTransfer,
- Overload,
- ErrorIndication,
- SRNS-DataForwardCommand,
- ForwardSRNS-Context,
- RAB-AssignmentRequest,
- RAB-AssignmentResponse,
- RAB-ModifyRequest,
- PrivateMessage,
- ResetResource,
- ResetResourceAcknowledge,
- RANAP-RelocationInformation,
- RANAP-EnhancedRelocationInformationRequest,
- RANAP-EnhancedRelocationInformationResponse,
- LocationRelatedDataRequest,
- LocationRelatedDataResponse,
- LocationRelatedDataFailure,
- InformationTransferIndication,
- InformationTransferConfirmation,
- InformationTransferFailure,
- UESpecificInformationIndication,
- DirectInformationTransfer,
- UplinkInformationExchangeRequest,
- UplinkInformationExchangeResponse,
- UplinkInformationExchangeFailure,
- MBMSSessionStart,
- MBMSSessionStartResponse,
- MBMSSessionStartFailure,
- MBMSSessionUpdate,
- MBMSSessionUpdateResponse,
- MBMSSessionUpdateFailure,
- MBMSSessionStop,
- MBMSSessionStopResponse,
- MBMSUELinkingRequest,
- MBMSUELinkingResponse,
- MBMSRegistrationRequest,
- MBMSRegistrationResponse,
- MBMSRegistrationFailure,
- MBMSCNDe-RegistrationRequest,
- MBMSCNDe-RegistrationResponse,
- MBMSRABEstablishmentIndication,
- MBMSRABReleaseRequest,
- MBMSRABRelease,
- MBMSRABReleaseFailure,
- SRVCC-CSKeysRequest,
- SRVCC-CSKeysResponse
-FROM RANAP-PDU-Contents
-
- id-LocationRelatedData,
- id-CN-DeactivateTrace,
- id-CN-InvokeTrace,
- id-CommonID,
- id-DataVolumeReport,
- id-DirectTransfer,
- id-ErrorIndication,
- id-ForwardSRNS-Context,
- id-InformationTransfer,
- id-InitialUE-Message,
- id-Iu-Release,
- id-Iu-ReleaseRequest,
- id-LocationReport,
- id-LocationReportingControl,
- id-OverloadControl,
- id-Paging,
- id-privateMessage,
- id-RAB-Assignment,
- id-RAB-ReleaseRequest,
- id-RAB-ModifyRequest,
- id-RANAP-Relocation,
- id-RANAPenhancedRelocation,
- id-RelocationCancel,
- id-RelocationComplete,
- id-RelocationDetect,
- id-RelocationPreparation,
- id-RelocationResourceAllocation,
- id-enhancedRelocationComplete,
- id-enhancedRelocationCompleteConfirm,
- id-Reset,
- id-SRNS-ContextTransfer,
- id-SRNS-DataForward,
- id-SecurityModeControl,
- id-ResetResource,
- id-UESpecificInformation,
- id-DirectInformationTransfer,
- id-UplinkInformationExchange,
- id-MBMSSessionStart,
- id-MBMSSessionUpdate,
- id-MBMSSessionStop,
- id-MBMSUELinking,
- id-MBMSRegistration,
- id-MBMSCNDe-Registration-Procedure,
- id-MBMSRABEstablishmentIndication,
- id-MBMSRABRelease,
- id-SRVCCPreparation
-
-FROM RANAP-Constants;
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &Outcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- outcome Outcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-Outcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- RANAP-ELEMENTARY-PROCEDURES-CLASS-1 |
- RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
- RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
- ...
-}
-
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation |
- relocationResourceAllocation |
- relocationCancel |
- sRNS-ContextTransfer |
- securityModeControl |
- dataVolumeReport |
- reset |
- resetResource ,
- ...,
- locationRelatedData |
- informationTransfer |
- uplinkInformationExchange |
- mBMSSessionStart |
- mBMSSessionUpdate |
- mBMSSessionStop |
- mBMSUELinking |
- mBMSRegistration |
- mBMSCNDe-Registration |
- mBMSRABRelease |
- enhancedRelocationComplete |
- rANAP-enhancedRelocation |
- sRVCCPreparation}
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= {
- rAB-ReleaseRequest |
- iu-ReleaseRequest |
- relocationDetect |
- relocationComplete |
- paging |
- commonID |
- cN-InvokeTrace |
- cN-DeactivateTrace |
- locationReportingControl |
- locationReport |
- initialUE-Message |
- directTransfer |
- overloadControl |
- errorIndication |
- sRNS-DataForward |
- forwardSRNS-Context |
- privateMessage |
- rANAP-Relocation ,
- ...,
- rAB-ModifyRequest |
- uESpecificInformation |
- directInformationTransfer |
- mBMSRABEstablishmentIndication |
- enhancedRelocationCompleteConfirm
-}
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= {
- rAB-Assignment ,
- ...
-}
-
--- **************************************************************
---
--- Interface Elementary Procedures
---
--- **************************************************************
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release
- CRITICALITY reject
-}
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationRequired
- SUCCESSFUL OUTCOME RelocationCommand
- UNSUCCESSFUL OUTCOME RelocationPreparationFailure
- PROCEDURE CODE id-RelocationPreparation
- CRITICALITY reject
-}
-
-relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationRequest
- SUCCESSFUL OUTCOME RelocationRequestAcknowledge
- UNSUCCESSFUL OUTCOME RelocationFailure
- PROCEDURE CODE id-RelocationResourceAllocation
- CRITICALITY reject
-}
-
-relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationCancel
- SUCCESSFUL OUTCOME RelocationCancelAcknowledge
- PROCEDURE CODE id-RelocationCancel
- CRITICALITY reject
-}
-
-sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRNS-ContextRequest
- SUCCESSFUL OUTCOME SRNS-ContextResponse
- PROCEDURE CODE id-SRNS-ContextTransfer
- CRITICALITY reject
-}
-
-securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SecurityModeCommand
- SUCCESSFUL OUTCOME SecurityModeComplete
- UNSUCCESSFUL OUTCOME SecurityModeReject
- PROCEDURE CODE id-SecurityModeControl
- CRITICALITY reject
-}
-
-dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DataVolumeReportRequest
- SUCCESSFUL OUTCOME DataVolumeReport
- PROCEDURE CODE id-DataVolumeReport
- CRITICALITY reject
-}
-
-
-reset RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Reset
- SUCCESSFUL OUTCOME ResetAcknowledge
- PROCEDURE CODE id-Reset
- CRITICALITY reject
-}
-
-rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-ReleaseRequest
- PROCEDURE CODE id-RAB-ReleaseRequest
- CRITICALITY ignore
-}
-
-iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseRequest
- PROCEDURE CODE id-Iu-ReleaseRequest
- CRITICALITY ignore
-}
-
-relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationDetect
- PROCEDURE CODE id-RelocationDetect
- CRITICALITY ignore
-}
-
-relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationComplete
- PROCEDURE CODE id-RelocationComplete
- CRITICALITY ignore
-}
-
-paging RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Paging
- PROCEDURE CODE id-Paging
- CRITICALITY ignore
-}
-
-commonID RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonID
- PROCEDURE CODE id-CommonID
- CRITICALITY ignore
-}
-
-cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-InvokeTrace
- PROCEDURE CODE id-CN-InvokeTrace
- CRITICALITY ignore
-}
-
-cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-DeactivateTrace
- PROCEDURE CODE id-CN-DeactivateTrace
- CRITICALITY ignore
-}
-
-locationReportingControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingControl
- PROCEDURE CODE id-LocationReportingControl
- CRITICALITY ignore
-}
-
-locationReport RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReport
- PROCEDURE CODE id-LocationReport
- CRITICALITY ignore
-}
-
-initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialUE-Message
- PROCEDURE CODE id-InitialUE-Message
- CRITICALITY ignore
-}
-
-directTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DirectTransfer
- PROCEDURE CODE id-DirectTransfer
- CRITICALITY ignore
-}
-
-overloadControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Overload
- PROCEDURE CODE id-OverloadControl
- CRITICALITY ignore
-}
-
-errorIndication RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- PROCEDURE CODE id-ErrorIndication
- CRITICALITY ignore
-}
-
-sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRNS-DataForwardCommand
- PROCEDURE CODE id-SRNS-DataForward
- CRITICALITY ignore
-}
-
-forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ForwardSRNS-Context
- PROCEDURE CODE id-ForwardSRNS-Context
- CRITICALITY ignore
-}
-
-rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-AssignmentRequest
- OUTCOME RAB-AssignmentResponse
- PROCEDURE CODE id-RAB-Assignment
- CRITICALITY reject
-}
-
-privateMessage RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
-
- PROCEDURE CODE id-privateMessage
- CRITICALITY ignore
-}
-
-resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ResetResource
- SUCCESSFUL OUTCOME ResetResourceAcknowledge
- PROCEDURE CODE id-ResetResource
- CRITICALITY reject
-}
-
-rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RANAP-RelocationInformation
- PROCEDURE CODE id-RANAP-Relocation
- CRITICALITY ignore
-}
-
-rAB-ModifyRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-ModifyRequest
- PROCEDURE CODE id-RAB-ModifyRequest
- CRITICALITY ignore
-}
-
-locationRelatedData RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationRelatedDataRequest
- SUCCESSFUL OUTCOME LocationRelatedDataResponse
- UNSUCCESSFUL OUTCOME LocationRelatedDataFailure
- PROCEDURE CODE id-LocationRelatedData
- CRITICALITY reject
-}
-
-informationTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InformationTransferIndication
- SUCCESSFUL OUTCOME InformationTransferConfirmation
- UNSUCCESSFUL OUTCOME InformationTransferFailure
- PROCEDURE CODE id-InformationTransfer
- CRITICALITY reject
-}
-
-uESpecificInformation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UESpecificInformationIndication
- PROCEDURE CODE id-UESpecificInformation
- CRITICALITY ignore
-}
-
-directInformationTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DirectInformationTransfer
- PROCEDURE CODE id-DirectInformationTransfer
- CRITICALITY ignore
-}
-
-uplinkInformationExchange RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UplinkInformationExchangeRequest
- SUCCESSFUL OUTCOME UplinkInformationExchangeResponse
- UNSUCCESSFUL OUTCOME UplinkInformationExchangeFailure
- PROCEDURE CODE id-UplinkInformationExchange
- CRITICALITY reject
-}
-
-mBMSSessionStart RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSSessionStart
- SUCCESSFUL OUTCOME MBMSSessionStartResponse
- UNSUCCESSFUL OUTCOME MBMSSessionStartFailure
- PROCEDURE CODE id-MBMSSessionStart
- CRITICALITY reject
-}
-
-mBMSSessionUpdate RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSSessionUpdate
- SUCCESSFUL OUTCOME MBMSSessionUpdateResponse
- UNSUCCESSFUL OUTCOME MBMSSessionUpdateFailure
- PROCEDURE CODE id-MBMSSessionUpdate
- CRITICALITY reject
-}
-
-mBMSSessionStop RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSSessionStop
- SUCCESSFUL OUTCOME MBMSSessionStopResponse
- PROCEDURE CODE id-MBMSSessionStop
- CRITICALITY reject
-}
-
-mBMSUELinking RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSUELinkingRequest
- OUTCOME MBMSUELinkingResponse
- PROCEDURE CODE id-MBMSUELinking
- CRITICALITY reject
-}
-
-mBMSRegistration RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSRegistrationRequest
- SUCCESSFUL OUTCOME MBMSRegistrationResponse
- UNSUCCESSFUL OUTCOME MBMSRegistrationFailure
- PROCEDURE CODE id-MBMSRegistration
- CRITICALITY reject
-}
-
-mBMSCNDe-Registration RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSCNDe-RegistrationRequest
- SUCCESSFUL OUTCOME MBMSCNDe-RegistrationResponse
- PROCEDURE CODE id-MBMSCNDe-Registration-Procedure
- CRITICALITY reject
-}
-
-mBMSRABEstablishmentIndication RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSRABEstablishmentIndication
- PROCEDURE CODE id-MBMSRABEstablishmentIndication
- CRITICALITY ignore
-}
-
-mBMSRABRelease RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSRABReleaseRequest
- SUCCESSFUL OUTCOME MBMSRABRelease
- UNSUCCESSFUL OUTCOME MBMSRABReleaseFailure
- PROCEDURE CODE id-MBMSRABRelease
- CRITICALITY reject
-}
-enhancedRelocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE EnhancedRelocationCompleteRequest
- SUCCESSFUL OUTCOME EnhancedRelocationCompleteResponse
- UNSUCCESSFUL OUTCOME EnhancedRelocationCompleteFailure
- PROCEDURE CODE id-enhancedRelocationComplete
- CRITICALITY reject
-}
-
-enhancedRelocationCompleteConfirm RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE EnhancedRelocationCompleteConfirm
- PROCEDURE CODE id-enhancedRelocationCompleteConfirm
- CRITICALITY ignore
-}
-
-rANAP-enhancedRelocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RANAP-EnhancedRelocationInformationRequest
- SUCCESSFUL OUTCOME RANAP-EnhancedRelocationInformationResponse
- PROCEDURE CODE id-RANAPenhancedRelocation
- CRITICALITY reject
-}
-
-sRVCCPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRVCC-CSKeysRequest
- OUTCOME SRVCC-CSKeysResponse
- PROCEDURE CODE id-SRVCCPreparation
- CRITICALITY reject
-}
-
-END
-
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/RANAP.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/RANAP.asn1
deleted file mode 100644
index 55fb58b163..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/RANAP.asn1
+++ /dev/null
@@ -1,3237 +0,0 @@
-RANAP DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
--- RANAP-CommonDataTypes { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..65535),
- global OBJECT IDENTIFIER
-}
-
-ProcedureCode ::= INTEGER (0..255)
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-ProtocolIE-ID ::= INTEGER (0..65535)
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome }
-
--- END
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
--- RANAP-Constants { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-RAB-Assignment INTEGER ::= 0
-id-Iu-Release INTEGER ::= 1
-id-RelocationPreparation INTEGER ::= 2
-id-RelocationResourceAllocation INTEGER ::= 3
-id-RelocationCancel INTEGER ::= 4
-id-SRNS-ContextTransfer INTEGER ::= 5
-id-SecurityModeControl INTEGER ::= 6
-id-DataVolumeReport INTEGER ::= 7
-id-CN-InformationBroadcast INTEGER ::= 8
-id-Reset INTEGER ::= 9
-id-RAB-ReleaseRequest INTEGER ::= 10
-id-Iu-ReleaseRequest INTEGER ::= 11
-id-RelocationDetect INTEGER ::= 12
-id-RelocationComplete INTEGER ::= 13
-id-Paging INTEGER ::= 14
-id-CommonID INTEGER ::= 15
-id-CN-InvokeTrace INTEGER ::= 16
-id-LocationReportingControl INTEGER ::= 17
-id-LocationReport INTEGER ::= 18
-id-InitialUE-Message INTEGER ::= 19
-id-DirectTransfer INTEGER ::= 20
-id-OverloadControl INTEGER ::= 21
-id-ErrorIndication INTEGER ::= 22
-id-SRNS-DataForward INTEGER ::= 23
-id-ForwardSRNS-Context INTEGER ::= 24
-id-privateMessage INTEGER ::= 25
-id-CN-DeactivateTrace INTEGER ::= 26
-id-ResetResource INTEGER ::= 27
-id-RANAP-Relocation INTEGER ::= 28
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
-
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfDTs INTEGER ::= 15
-maxNrOfErrors INTEGER ::= 256
-maxNrOfIuSigConIds INTEGER ::= 1000
-maxNrOfPDPDirections INTEGER ::= 2
-maxNrOfPieces INTEGER ::= 16
-maxNrOfPoints INTEGER ::= 15
-maxNrOfRABs INTEGER ::= 256
-maxNrOfSeparateTrafficDirections INTEGER ::= 2
-maxNrOfVol INTEGER ::= 2
-
-maxRAB-Subflows INTEGER ::= 7
-maxRAB-SubflowCombination INTEGER ::= 64
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-AreaIdentity INTEGER ::= 0
-id-CN-BroadcastInformationPiece INTEGER ::= 1
-id-CN-BroadcastInformationPieceList INTEGER ::= 2
-id-CN-DomainIndicator INTEGER ::= 3
-id-Cause INTEGER ::= 4
-id-ChosenEncryptionAlgorithm INTEGER ::= 5
-id-ChosenIntegrityProtectionAlgorithm INTEGER ::= 6
-id-ClassmarkInformation2 INTEGER ::= 7
-id-ClassmarkInformation3 INTEGER ::= 8
-id-CriticalityDiagnostics INTEGER ::= 9
-id-DL-GTP-PDU-SequenceNumber INTEGER ::= 10
-id-EncryptionInformation INTEGER ::= 11
-id-IntegrityProtectionInformation INTEGER ::= 12
-id-IuTransportAssociation INTEGER ::= 13
-id-L3-Information INTEGER ::= 14
-id-LAI INTEGER ::= 15
-id-NAS-PDU INTEGER ::= 16
-id-NonSearchingIndication INTEGER ::= 17
-id-NumberOfSteps INTEGER ::= 18
-id-OMC-ID INTEGER ::= 19
-id-OldBSS-ToNewBSS-Information INTEGER ::= 20
-id-PagingAreaID INTEGER ::= 21
-id-PagingCause INTEGER ::= 22
-id-PermanentNAS-UE-ID INTEGER ::= 23
-id-RAB-ContextItem INTEGER ::= 24
-id-RAB-ContextList INTEGER ::= 25
-id-RAB-DataForwardingItem INTEGER ::= 26
-id-RAB-DataForwardingItem-SRNS-CtxReq INTEGER ::= 27
-id-RAB-DataForwardingList INTEGER ::= 28
-id-RAB-DataForwardingList-SRNS-CtxReq INTEGER ::= 29
-id-RAB-DataVolumeReportItem INTEGER ::= 30
-id-RAB-DataVolumeReportList INTEGER ::= 31
-id-RAB-DataVolumeReportRequestItem INTEGER ::= 32
-id-RAB-DataVolumeReportRequestList INTEGER ::= 33
-id-RAB-FailedItem INTEGER ::= 34
-id-RAB-FailedList INTEGER ::= 35
-id-RAB-ID INTEGER ::= 36
-id-RAB-QueuedItem INTEGER ::= 37
-id-RAB-QueuedList INTEGER ::= 38
-id-RAB-ReleaseFailedList INTEGER ::= 39
-id-RAB-ReleaseItem INTEGER ::= 40
-id-RAB-ReleaseList INTEGER ::= 41
-id-RAB-ReleasedItem INTEGER ::= 42
-id-RAB-ReleasedList INTEGER ::= 43
-id-RAB-ReleasedList-IuRelComp INTEGER ::= 44
-id-RAB-RelocationReleaseItem INTEGER ::= 45
-id-RAB-RelocationReleaseList INTEGER ::= 46
-id-RAB-SetupItem-RelocReq INTEGER ::= 47
-id-RAB-SetupItem-RelocReqAck INTEGER ::= 48
-id-RAB-SetupList-RelocReq INTEGER ::= 49
-id-RAB-SetupList-RelocReqAck INTEGER ::= 50
-id-RAB-SetupOrModifiedItem INTEGER ::= 51
-id-RAB-SetupOrModifiedList INTEGER ::= 52
-id-RAB-SetupOrModifyItem INTEGER ::= 53
-id-RAB-SetupOrModifyList INTEGER ::= 54
-id-RAC INTEGER ::= 55
-id-RelocationType INTEGER ::= 56
-id-RequestType INTEGER ::= 57
-id-SAI INTEGER ::= 58
-id-SAPI INTEGER ::= 59
-id-SourceID INTEGER ::= 60
-id-SourceRNC-ToTargetRNC-TransparentContainer INTEGER ::= 61
-id-TargetID INTEGER ::= 62
-id-TargetRNC-ToSourceRNC-TransparentContainer INTEGER ::= 63
-id-TemporaryUE-ID INTEGER ::= 64
-id-TraceReference INTEGER ::= 65
-id-TraceType INTEGER ::= 66
-id-TransportLayerAddress INTEGER ::= 67
-id-TriggerID INTEGER ::= 68
-id-UE-ID INTEGER ::= 69
-id-UL-GTP-PDU-SequenceNumber INTEGER ::= 70
-id-RAB-FailedtoReportItem INTEGER ::= 71
-id-RAB-FailedtoReportList INTEGER ::= 72
-id-KeyStatus INTEGER ::= 75
-id-DRX-CycleLengthCoefficient INTEGER ::= 76
-id-IuSigConIdList INTEGER ::= 77
-id-IuSigConIdItem INTEGER ::= 78
-id-IuSigConId INTEGER ::= 79
-id-DirectTransferInformationItem-RANAP-RelocInf INTEGER ::= 80
-id-DirectTransferInformationList-RANAP-RelocInf INTEGER ::= 81
-id-RAB-ContextItem-RANAP-RelocInf INTEGER ::= 82
-id-RAB-ContextList-RANAP-RelocInf INTEGER ::= 83
-id-RAB-ContextFailedtoTransferItem INTEGER ::= 84
-id-RAB-ContextFailedtoTransferList INTEGER ::= 85
-id-GlobalRNC-ID INTEGER ::= 86
-id-RAB-ReleasedItem-IuRelComp INTEGER ::= 87
-
--- END **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
--- RANAP-Containers { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-RANAP-PROTOCOL-IES ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-RANAP-PROTOCOL-IES-PAIR ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &firstCriticality Criticality,
- &FirstValue,
- &secondCriticality Criticality,
- &SecondValue,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- FIRST CRITICALITY &firstCriticality
- FIRST TYPE &FirstValue
- SECOND CRITICALITY &secondCriticality
- SECOND TYPE &SecondValue
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol Extensions
---
--- **************************************************************
-
-RANAP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolExtensionID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Private IEs
---
--- **************************************************************
-
-RANAP-PRIVATE-IES ::= CLASS {
- &id PrivateIE-ID,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Container for Protocol IEs
---
--- **************************************************************
-
-ProtocolIE-Container {RANAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality RANAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Protocol IE Pairs
---
--- **************************************************************
-
-ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-FieldPair {{IEsSetParam}}
-
-ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
- firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
- firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
- secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
- secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-Container {{IEsSetParam}}
-
-ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-ContainerPair {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Private IEs
---
--- **************************************************************
-
-PrivateIE-Container {RANAP-PRIVATE-IES : IEsSetParam } ::=
- SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
- PrivateIE-Field {{IEsSetParam}}
-
-PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
- id RANAP-PRIVATE-IES.&id ({IEsSetParam}),
- criticality RANAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
- value RANAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
-}
-
--- END **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
--- RANAP-IEs { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
--- A
-
-AllocationOrRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
- queuingAllowed QueuingAllowed,
- iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AreaIdentity ::= CHOICE {
- sAI SAI,
- geographicalArea GeographicalArea,
- ...
-}
-
--- B
-
-BindingID ::= OCTET STRING (SIZE (4))
-
--- C
-
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transmissionNetwork CauseTransmissionNetwork,
- nAS CauseNAS,
- protocol CauseProtocol,
- misc CauseMisc,
- non-Standard CauseNon-Standard,
- ...
-}
-
-CauseMisc ::= INTEGER {
- om-intervention (113),
- no-resource-available (114),
- unspecified-failure (115),
- network-optimisation (116)
-} (113..128)
-
-CauseNAS ::= INTEGER {
- user-restriction-start-indication (81),
- user-restriction-end-indication (82),
- normal-release (83)
-} (81..96)
-
-CauseProtocol ::= INTEGER {
- transfer-syntax-error (97),
- semantic-error (98),
- message-not-compatible-with-receiver-state (99),
- abstract-syntax-error-reject (100),
- abstract-syntax-error-ignore-and-notify (101)
-
-} (97..112)
-
-CauseRadioNetwork ::= INTEGER {
- rab-pre-empted (1),
- trelocoverall-expiry (2),
- trelocprep-expiry (3),
- treloccomplete-expiry (4),
- tqueing-expiry (5),
- relocation-triggered (6),
- trellocalloc-expiry(7),
- unable-to-establish-during-relocation (8),
- unknown-target-rnc (9),
- relocation-cancelled (10),
- successful-relocation (11),
- requested-ciphering-and-or-integrity-protection-algorithms-not-supported (12),
- change-of-ciphering-and-or-integrity-protection-is-not-supported (13),
- failure-in-the-radio-interface-procedure (14),
- release-due-to-utran-generated-reason (15),
- user-inactivity (16),
- time-critical-relocation (17),
- requested-traffic-class-not-available (18),
- invalid-rab-parameters-value (19),
- requested-maximum-bit-rate-not-available (20),
- requested-guaranteed-bit-rate-not-available (21),
- requested-transfer-delay-not-achievable (22),
- invalid-rab-parameters-combination (23),
- condition-violation-for-sdu-parameters (24),
- condition-violation-for-traffic-handling-priority (25),
- condition-violation-for-guaranteed-bit-rate (26),
- user-plane-versions-not-supported (27),
- iu-up-failure (28),
- relocation-failure-in-target-CN-RNC-or-target-system(29),
- invalid-RAB-ID (30),
- no-remaining-rab (31),
- interaction-with-other-procedure (32),
- requested-maximum-bit-rate-for-dl-not-available (33),
- requested-maximum-bitr-ate-for-ul-not-available (34),
- requested-guaranteed-bit-rate-for-dl-not-available (35),
- requested-guaranteed-bit-rate-for-ul-not-available (36),
- repeated-integrity-checking-failure (37),
- requested-report-type-not-supported (38),
- request-superseded (39),
- release-due-to-UE-generated-signalling-connection-release (40)
-} (1..64)
-
-CauseNon-Standard ::= INTEGER (129..256)
-
-CauseTransmissionNetwork ::= INTEGER {
- logical-error-unknown-iu-transport-association (65)
-} (65..80)
-
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureCode ProcedureCode OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- criticalityResponse Criticality OPTIONAL,
- iEsCriticalityResponses CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
- SEQUENCE {
- criticalityResponse Criticality,
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
- ...
- }
-
-CriticalityDiagnostics-IE-List-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CGI ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- lAC LAC,
- cI CI,
- iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL
-}
-
-CGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ChosenEncryptionAlgorithm ::= EncryptionAlgorithm
-
-ChosenIntegrityProtectionAlgorithm ::= IntegrityProtectionAlgorithm
-
-CI ::= OCTET STRING (SIZE (2))
-
-ClassmarkInformation2 ::= OCTET STRING
-
-ClassmarkInformation3 ::= OCTET STRING
-
-CN-DomainIndicator ::= ENUMERATED {
- cs-domain,
- ps-domain
-}
-
-
-CN-BroadcastArea ::= CHOICE {
- lAI LAI,
- rAI RAI,
- sAI SAI,
- geographicalArea GeographicalArea,
- ...
-}
-
--- D
-
-DataVolumeReference ::= INTEGER (0..255)
-
-DataVolumeReportingIndication ::= ENUMERATED {
- do-report,
- do-not-report
-}
-
-DCH-ID ::= INTEGER (0..255)
-
-DeliveryOfErroneousSDU ::= ENUMERATED {
- yes,
- no,
- no-error-detection-consideration
-}
-
-DeliveryOrder::= ENUMERATED {
- delivery-order-requested,
- delivery-order-not-requested
-}
-
-DL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
--- Reference: xx.xxx
-
-DL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
--- Reference: xx.xxx
-
-D-RNTI ::= INTEGER (0..1048575)
-
-DRX-CycleLengthCoefficient ::= INTEGER (2..12)
-DSCH-ID ::= INTEGER (0..255)
-
--- E
-
-EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1) } (0..15)
-
-EncryptionInformation ::= SEQUENCE {
- permittedAlgorithms PermittedEncryptionAlgorithms,
- key EncryptionKey,
- iE-Extensions ProtocolExtensionContainer { {EncryptionInformation-ExtIEs} } OPTIONAL
-}
-
-EncryptionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EncryptionKey ::= BIT STRING (SIZE (128))
--- Reference: 33.102
-
-Event ::= ENUMERATED {
- stop,
- direct,
- change-of-servicearea,
- ...
-}
-
--- F
--- G
-
-GeographicalArea ::= CHOICE {
- point GA-Point,
- pointWithUnCertainty GA-PointWithUnCertainty,
- polygon GA-Polygon,
- ...
-}
-
-GeographicalCoordinates ::= SEQUENCE {
- latitudeSign ENUMERATED { north, south },
- latitude INTEGER (0..8388607),
- longitude INTEGER (-8388608..8388607),
- iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeographicalCoordinates-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-Point ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-Point-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithUnCertainty ::=SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL,
- uncertaintyCode INTEGER (0..127)
-}
-
-GA-PointWithUnCertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF
- SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL,
- ...
- }
-
-GA-Polygon-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GlobalRNC-ID ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- rNC-ID RNC-ID
-}
-
-GTP-TEI ::= OCTET STRING (SIZE (4))
--- Reference: xx.xxx
-
-GuaranteedBitrate ::= INTEGER (0..16000000)
--- Unit is bits per sec
-
--- H
-
--- I
-InformationIdentity ::= INTEGER (0..255)
-
-InformationPriority ::= INTEGER (0..15)
-
-InformationControl ::= ENUMERATED {
- on,
- off
-}
-
-
-IMEI ::= OCTET STRING (SIZE (8))
--- Reference: 23.003
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
--- Reference: 23.003
-
-IntegrityProtectionAlgorithm ::= INTEGER { standard-UMTS-integrity-algorithm-UIA1 (0) } (0..15)
-
-IntegrityProtectionInformation ::= SEQUENCE {
- permittedAlgorithms PermittedIntegrityProtectionAlgorithms,
- key IntegrityProtectionKey,
- iE-Extensions ProtocolExtensionContainer { {IntegrityProtectionInformation-ExtIEs} } OPTIONAL
-}
-
-IntegrityProtectionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IntegrityProtectionKey ::= BIT STRING (SIZE (128))
-
-IuSignallingConnectionIdentifier ::= BIT STRING (SIZE (24))
-
-IuTransportAssociation ::= CHOICE {
- gTP-TEI GTP-TEI,
- bindingID BindingID,
- ...
-}
-
--- J
--- K
-
-KeyStatus ::= ENUMERATED {
- old,
- new,
- ...
-}
--- L
-
-LAC ::= OCTET STRING (SIZE (2))
-
-LAI ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- lAC LAC,
- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL
-}
-
-LAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-L3-Information ::= OCTET STRING
-
--- M
-
-MaxBitrate ::= INTEGER (1..16000000)
--- Unit is bits per sec
-
-MaxSDU-Size ::= INTEGER (0..32768)
--- MaxSDU-Size
--- Unit is bit
-
-MCC ::= TBCD-STRING (SIZE (2))
--- Reference: 24.008
-
-MNC ::= TBCD-STRING (SIZE (2))
--- Reference: 24.008
-
--- N
-
-
-NAS-BroadcastInformation ::= OCTET STRING
-
-NAS-PDU ::= OCTET STRING
-
-NAS-SynchronisationIndicator ::= BIT STRING (SIZE (4))
-
-NonSearchingIndication ::= ENUMERATED {
- non-searching,
- searching
-}
-
-NumberOfIuInstances ::= INTEGER (1..2)
-
-NumberOfSteps ::= INTEGER (1..16)
-
--- O
-
-OldBSS-ToNewBSS-Information ::= OCTET STRING
-
-OMC-ID ::= OCTET STRING (SIZE (3..22))
--- Reference: GSM TS 12.20
-
--- P
-
-PagingAreaID ::= CHOICE {
- lAI LAI,
- rAI RAI,
- ...
-}
-
-PagingCause ::= ENUMERATED {
- speech-call,
- cs-data-call,
- ps-data-call,
- sms,
- ...
-}
-
-PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF
- PDP-Type
-
-PDP-Type ::= ENUMERATED {
- empty,
- ppp,
- osp-ihoss -- this value is used for OSP:IHOSS -- ,
- ipv4,
- ipv6,
- ...
-}
-
-PermanentNAS-UE-ID ::= CHOICE {
- iMSI IMSI,
- ...
-}
-
-PermittedEncryptionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
- EncryptionAlgorithm
-
-PermittedIntegrityProtectionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
- IntegrityProtectionAlgorithm
-
-PLMN-ID ::= TBCD-STRING (SIZE (3))
-
-Pre-emptionCapability ::= ENUMERATED {
- can-not-trigger-pre-emption,
- can-trigger-pre-emption
-}
-
-Pre-emptionVulnerability ::= ENUMERATED {
- not-vulnerable-to-pre-emption,
- vulnerable-to-pre-emption
-}
-
-PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
-
-P-TMSI ::= OCTET STRING (SIZE (4))
-
--- Q
-
-QueuingAllowed ::= ENUMERATED {
- queueing-not-allowed,
- queueing-allowed
-}
-
--- R
-RAB-AsymmetryIndicator::= ENUMERATED {
- symmetric-bidirectional,
- asymmetric-unidirectional-downlink,
- asymmetric-unidirectional-uplink,
- asymmetric-bidirectional,
- ...
-}
-
-RAB-ID ::= BIT STRING (SIZE (8))
-
-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
-
-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
-
-RAB-Parameters ::= SEQUENCE {
- trafficClass TrafficClass,
- rAB-AsymmetryIndicator RAB-AsymmetryIndicator,
- maxBitrate RAB-Parameter-MaxBitrateList,
- guaranteedBitRate RAB-Parameter-GuaranteedBitrateList OPTIONAL
- -- This IE is only present when traffic class indicates Conversational or Streaming --,
- deliveryOrder DeliveryOrder,
- maxSDU-Size MaxSDU-Size,
- sDU-Parameters SDU-Parameters,
- transferDelay TransferDelay OPTIONAL
- -- This IE is only present when traffic class indicates Conversational or Streaming --,
- trafficHandlingPriority TrafficHandlingPriority OPTIONAL
- -- This IE is only present when traffic class indicates Interactiv --,
- allocationOrRetentionPriority AllocationOrRetentionPriority OPTIONAL,
- sourceStatisticsDescriptor SourceStatisticsDescriptor OPTIONAL
- -- This IE is only present when traffic class indicates Conversational or Streaming --,
- iE-Extensions ProtocolExtensionContainer { {RAB-Parameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SubflowCombinationBitRate ::= INTEGER (0..16000000)
-
-RAB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfRABs)) OF
- RAB-TrCH-MappingItem
-
-RAB-TrCH-MappingItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- trCH-ID-List TrCH-ID-List,
- ...
-}
-
-RAC ::= OCTET STRING (SIZE (1))
-
-RAI ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- iE-Extensions ProtocolExtensionContainer { {RAI-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RateControlAllowed ::= ENUMERATED {
- not-allowed,
- allowed
-}
-
-RelocationType ::= ENUMERATED {
- ue-not-involved,
- ue-involved,
- ...
-}
-
-RepetitionNumber ::= INTEGER (0..255)
-
-ReportArea ::= ENUMERATED {
- service-area,
- geographical-coordinates,
- ...
-}
-
-RequestType ::= SEQUENCE {
- event Event,
- reportArea ReportArea,
- accuracyCode INTEGER (0..127) OPTIONAL,
- -- To be used if Geographical Coordinates shall be reported with a requested accuracy. --
- ...
-}
-
-ResidualBitErrorRatio ::= SEQUENCE {
- mantissa INTEGER (1..9),
- exponent INTEGER (1..8),
- iE-Extensions ProtocolExtensionContainer { {ResidualBitErrorRatio-ExtIEs} } OPTIONAL
-}
--- ResidualBitErrorRatio = mantissa * 10^-exponent
-
-ResidualBitErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RNC-ID ::= INTEGER (0..4095)
--- RNC-ID ::= BIT STRING (SIZE (12))
--- Harmonized with RNSAP and NBAP definitions
-
-RRC-Container ::= OCTET STRING
-
--- S
-
-SAC ::= OCTET STRING (SIZE (2))
-
-SAI ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- lAC LAC,
- sAC SAC,
- iE-Extensions ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL
-}
-
-SAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SAPI ::= ENUMERATED {
- normal-priority,
- low-priority,
- ...
-}
-
-SDU-ErrorRatio ::= SEQUENCE {
- mantissa INTEGER (1..9),
- exponent INTEGER (1..6),
- iE-Extensions ProtocolExtensionContainer { {SDU-ErrorRatio-ExtIEs} } OPTIONAL
-}
--- SDU-ErrorRatio = mantissa * 10^-exponent
-
-SDU-ErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-SDU-FormatInformationParameters ::= SEQUENCE (SIZE (1..maxRAB-SubflowCombination)) OF
- SEQUENCE {
- subflowSDU-Size SubflowSDU-Size OPTIONAL
- -- This IE is only present for RABs that have predefined SDU size(s) --,
- rAB-SubflowCombinationBitRate RAB-SubflowCombinationBitRate OPTIONAL
- -- At least either of subflowSDU-Size or rABsubflowCombinationBitRate --
- -- shall be present when SDUformatInformationParameter is present --,
- iE-Extensions ProtocolExtensionContainer { {SDU-FormatInformationParameters-ExtIEs} } OPTIONAL,
- ...
- }
-
-SDU-FormatInformationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SDU-Parameters ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
- SEQUENCE {
- sDU-ErrorRatio SDU-ErrorRatio OPTIONAL
- -- This IE is not present when DeliveryOfErroneousSDU is set to no-error-detection-consideration --,
- residualBitErrorRatio ResidualBitErrorRatio,
- deliveryOfErroneousSDU DeliveryOfErroneousSDU,
- sDU-FormatInformationParameters SDU-FormatInformationParameters OPTIONAL
- -- When signalled, this IE indicates that the RAB is rate controllable --,
- iE-Extensions ProtocolExtensionContainer { {SDU-Parameters-ExtIEs} } OPTIONAL,
- ...
- }
-
-SDU-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SourceID ::= CHOICE {
- sourceRNC-ID SourceRNC-ID, -- If UMTS target
- sAI SAI, -- if GSM target
- ...
-}
-
-
-SourceRNC-ID ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- rNC-ID RNC-ID,
- iE-Extensions ProtocolExtensionContainer { {SourceRNC-ID-ExtIEs} } OPTIONAL
-}
-
-SourceRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- numberOfIuInstances NumberOfIuInstances,
- relocationType RelocationType,
- chosenIntegrityProtectionAlgorithm ChosenIntegrityProtectionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if available --,
- integrityProtectionKey IntegrityProtectionKey OPTIONAL
- -- Must be present for intra UMTS Handovers if available --,
- chosenEncryptionAlgorithForSignalling ChosenEncryptionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- cipheringKey EncryptionKey OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- chosenEncryptionAlgorithForCS ChosenEncryptionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- chosenEncryptionAlgorithForPS ChosenEncryptionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- d-RNTI D-RNTI OPTIONAL
- -- Included for SRNS Relocation without UE involvement --,
- targetCellId TargetCellId OPTIONAL
- -- Included for SRNS Relocation with UE involvement --,
- rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL
- -- Included for SRNS Relocation without UE involvement and --
- -- if RABs are carried on DCH, USCH or DSCH transport channels --,
- iE-Extensions ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SourceStatisticsDescriptor ::= ENUMERATED {
- speech,
- unknown,
- ...
-}
-
-SubflowSDU-Size ::= INTEGER (0..4095)
--- Unit is bit
-
-
--- T
-
-TargetCellId ::= INTEGER (0..268435455)
-
-TargetID ::= CHOICE {
- targetRNC-ID TargetRNC-ID, -- If UMTS target
- cGI CGI, -- If GSM target
- ...
-}
-
-
-
-
-TargetRNC-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC OPTIONAL
- -- Must always be present towards the PS domain and never towards the CS domain --,
- rNC-ID RNC-ID,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL
-}
-
-TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TargetRNC-ToSourceRNC-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- d-RNTI D-RNTI OPTIONAL
- -- May be included to allow the triggering of the Relocation Detect procedure from the Iur Interface --,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TBCD-STRING ::= OCTET STRING
-
-TemporaryUE-ID ::= CHOICE {
- tMSI TMSI,
- p-TMSI P-TMSI,
- ...
-}
-
-TMSI ::= OCTET STRING (SIZE (4))
-
-TraceReference ::= OCTET STRING (SIZE (2..3))
-
-TraceType ::= OCTET STRING (SIZE (1))
--- Reference: GSM TS 12.08
-
-TrafficClass ::= ENUMERATED {
- conversational,
- streaming,
- interactive,
- background,
- ...
-}
-
-TrafficHandlingPriority ::= INTEGER { spare (0), highest (1), lowest (14), no-priority-used (15) } (0..15)
-
-TransferDelay ::= INTEGER (0..65535)
--- Unit is millisecond
-
-UnsuccessfullyTransmittedDataVolume ::= INTEGER (0..4294967295)
-
-TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
-
-TrCH-ID ::= SEQUENCE {
- dCH-ID DCH-ID OPTIONAL
- -- At least one of these IEs shall be included --,
- dSCH-ID DSCH-ID OPTIONAL
- -- At least one of these IEs shall be included --,
- uSCH-ID USCH-ID OPTIONAL
- -- At least one of these IEs shall be included --,
- ...
-}
-
-TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
- TrCH-ID
-
-TriggerID ::= OCTET STRING (SIZE (3..22))
-
--- U
-
-UE-ID ::= CHOICE {
- imsi IMSI,
- imei IMEI,
- ...
-}
-
-UL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-UL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-UP-ModeVersions ::= BIT STRING (SIZE (16))
-
-USCH-ID ::= INTEGER (0..255)
-
-UserPlaneMode ::= ENUMERATED {
- transparent-mode,
- support-mode-for-predefined-SDU-sizes,
- ...
-}
-
--- END **************************************************************
---
--- PDU definitions for RANAP.
---
--- **************************************************************
-
--- RANAP-PDU-Contents { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
--- **************************************************************
---
--- Common Container Lists
---
--- **************************************************************
-
-RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
-RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} }
-ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
-CN-BroadcastInfPiece-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfPieces, {IEsSetParam} }
-IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} }
-DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} }
-
--- **************************************************************
---
--- Iu RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Iu Release Command
---
--- **************************************************************
-
-Iu-ReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Iu Release Complete
---
--- **************************************************************
-
-Iu-ReleaseComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE conditional
- -- This group is only present if data volume reporting for PS domain is required -- } |
- { ID id-RAB-ReleasedList-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedList-IuRelComp PRESENCE conditional
- -- This group is only present for RABs towards the PS domain when the release was initiated by UTRAN -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-DataVolumeReportList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportItemIEs} }
-
-RAB-DataVolumeReportItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportItem CRITICALITY ignore TYPE RAB-DataVolumeReportItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-UnsuccessfullyTransmittedDataVolume DataVolumeList OPTIONAL
- -- This IE is only present if data volume reporting for PS domain is required --,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataVolumeReportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleasedList-IuRelComp ::= RAB-IE-ContainerList { {RAB-ReleasedItem-IuRelComp-IEs} }
-
-RAB-ReleasedItem-IuRelComp-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleasedItem-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedItem-IuRelComp PRESENCE mandatory },
- ...
-}
-
-RAB-ReleasedItem-IuRelComp ::= SEQUENCE {
- rAB-ID RAB-ID,
- dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber,
- uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-IuRelComp-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleasedItem-IuRelComp-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Required
---
--- **************************************************************
-
-RelocationRequired ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequiredIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RelocationType CRITICALITY ignore TYPE RelocationType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory } |
- { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } |
- { ID id-ClassmarkInformation2 CRITICALITY ignore TYPE ClassmarkInformation2 PRESENCE conditional
- -- This is only present when initiating an inter system handover towards GSM BSC -- } |
- { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE conditional
- -- This is only present when initiating an inter system handover towards GSM BSC -- } |
- { ID id-SourceRNC-ToTargetRNC-TransparentContainer
- CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE conditional
- -- This IE shall be present when initiating relocation of SRNS -- } |
- { ID id-OldBSS-ToNewBSS-Information CRITICALITY ignore TYPE OldBSS-ToNewBSS-Information PRESENCE conditional
- -- This is only present when initiating an inter system handover towards GSM BSC -- } ,
- ...
-}
-
-RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Command
---
--- **************************************************************
-
-RelocationCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TargetRNC-ToSourceRNC-TransparentContainer
- CRITICALITY reject TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE conditional
- -- This IE shall be included if it is received by the CN from the relocation target. -- } |
- { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE conditional
- -- This IE shall be included if it is received by the CN from the relocation target. -- } |
- { ID id-RAB-RelocationReleaseList CRITICALITY ignore TYPE RAB-RelocationReleaseList PRESENCE optional } |
- { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE conditional
- -- This group if applicable is only present for RABs towards the PS domain -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-RelocationReleaseList ::= RAB-IE-ContainerList { {RAB-RelocationReleaseItemIEs} }
-
-RAB-RelocationReleaseItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-RelocationReleaseItem CRITICALITY ignore TYPE RAB-RelocationReleaseItem PRESENCE mandatory },
- ...
-}
-
-RAB-RelocationReleaseItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-RelocationReleaseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-RelocationReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-DataForwardingList ::= RAB-IE-ContainerList { {RAB-DataForwardingItemIEs} }
-
-RAB-DataForwardingItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingItem CRITICALITY ignore TYPE RAB-DataForwardingItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataForwardingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Preparation Failure
---
--- **************************************************************
-
-RelocationPreparationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL,
- ...
-}
-
-RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION RESOURCE ALLOCATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Request
---
--- **************************************************************
-
-RelocationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE conditional
- -- This IE is only present if available at the sending side -- } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-SourceRNC-ToTargetRNC-TransparentContainer
- CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } |
- { ID id-RAB-SetupList-RelocReq CRITICALITY reject TYPE RAB-SetupList-RelocReq PRESENCE optional } |
- { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE conditional
- -- This IE is only present if available at the sending side -- } |
- { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
- { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory },
- ...
-}
-
-RAB-SetupList-RelocReq ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReq-IEs} }
-
-RAB-SetupItem-RelocReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-RelocReq CRITICALITY reject TYPE RAB-SetupItem-RelocReq PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-RelocReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL
- -- This IE is present if the relevant NAS information is provided by the CN --,
- rAB-Parameters RAB-Parameters,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
- -- This IE is only present if available at the sending side --,
- pDP-TypeInformation PDP-TypeInformation OPTIONAL
- -- This IE is only present for RABs towards the PS domain --,
- userPlaneInformation UserPlaneInformation,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-RelocReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UserPlaneInformation ::= SEQUENCE {
- userPlaneMode UserPlaneMode,
- uP-ModeVersions UP-ModeVersions,
- iE-Extensions ProtocolExtensionContainer { {UserPlaneInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-UserPlaneInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Request Acknowledge
---
--- **************************************************************
-
-RelocationRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TargetRNC-ToSourceRNC-TransparentContainer
- CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE conditional
- -- Must be included if applicapble and if not sent via the other CN -- } |
- { ID id-RAB-SetupList-RelocReqAck CRITICALITY ignore TYPE RAB-SetupList-RelocReqAck PRESENCE optional} |
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }|
- { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE conditional
- -- This IE is only present if available at the sending side -- } |
- { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupList-RelocReqAck ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReqAck-IEs} }
-
-RAB-SetupItem-RelocReqAck-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-RelocReqAck CRITICALITY reject TYPE RAB-SetupItem-RelocReqAck PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-RelocReqAck ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- --This IE is only present for RABS towards the PS Domain
- iuTransportAssociation IuTransportAssociation OPTIONAL,
- --This IE is only present for RABS towards the PS Domain
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReqAck-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-RelocReqAck-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-FailedList ::= RAB-IE-ContainerList { {RAB-FailedItemIEs} }
-
-RAB-FailedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedItem CRITICALITY ignore TYPE RAB-FailedItem PRESENCE mandatory },
- ...
-}
-
-RAB-FailedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {RAB-FailedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Failure
---
--- **************************************************************
-
-RelocationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL,
- ...
-}
-
-RelocationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION CANCEL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Cancel
---
--- **************************************************************
-
-RelocationCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCancelIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCancelIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Cancel Acknowledge
---
--- **************************************************************
-
-RelocationCancelAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCancelAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS CONTEXT TRANSFER OPEARATION
---
--- **************************************************************
-
--- **************************************************************
---
--- SRNS Context Request
---
--- **************************************************************
-
-SRNS-ContextRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-ContextRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingList-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingList-SRNS-CtxReq PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingList-SRNS-CtxReq ::= RAB-IE-ContainerList { {RAB-DataForwardingItem-SRNS-CtxReq-IEs} }
-
-RAB-DataForwardingItem-SRNS-CtxReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingItem-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingItem-SRNS-CtxReq PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingItem-SRNS-CtxReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS Context Response
---
--- **************************************************************
-
-SRNS-ContextResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-ContextResponseIEs RANAP-PROTOCOL-IES ::= {
-
- { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ContextFailedtoTransferList CRITICALITY ignore TYPE RAB-ContextFailedtoTransferList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-ContextList ::= RAB-IE-ContainerList { {RAB-ContextItemIEs} }
-
-RAB-ContextItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextItem CRITICALITY ignore TYPE RAB-ContextItem PRESENCE mandatory },
- ...
-}
-
-RAB-ContextItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber,
- iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ContextItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ContextFailedtoTransferList ::= RAB-IE-ContainerList { {RABs-ContextFailedtoTransferItemIEs} }
-
-RABs-ContextFailedtoTransferItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextFailedtoTransferItem CRITICALITY ignore TYPE RABs-ContextFailedtoTransferItem PRESENCE mandatory },
- ...
-}
-
-RABs-ContextFailedtoTransferItem::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RABs-ContextFailedtoTransferItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RABs-ContextFailedtoTransferItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SECURITY MODE CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Security Mode Command
---
--- **************************************************************
-
-SecurityModeCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE mandatory } |
- { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
- { ID id-KeyStatus CRITICALITY ignore TYPE KeyStatus PRESENCE mandatory},
- ...
-}
-
-SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Security Mode Complete
---
--- **************************************************************
-
-SecurityModeComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeCompleteIEs RANAP-PROTOCOL-IES ::= {
- { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE mandatory } |
- { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Security Mode Reject
---
--- **************************************************************
-
-SecurityModeReject ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeRejectIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DATA VOLUME REPORT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Data Volume Report Request
---
--- **************************************************************
-
-DataVolumeReportRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL,
- ...
-}
-
-DataVolumeReportRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportRequestList CRITICALITY ignore TYPE RAB-DataVolumeReportRequestList PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportRequestList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportRequestItemIEs} }
-
-RAB-DataVolumeReportRequestItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportRequestItem CRITICALITY ignore TYPE RAB-DataVolumeReportRequestItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportRequestItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportRequestItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataVolumeReportRequestItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Data Volume Report
---
--- **************************************************************
-
-DataVolumeReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} },
- protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL,
- ...
-}
-
-DataVolumeReportIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-FailedtoReportList CRITICALITY ignore TYPE RAB-FailedtoReportList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-DataVolumeReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-FailedtoReportList ::= RAB-IE-ContainerList { {RABs-failed-to-reportItemIEs} }
-
-RABs-failed-to-reportItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedtoReportItem CRITICALITY ignore TYPE RABs-failed-to-reportItem PRESENCE mandatory },
- ...
-}
-
-RABs-failed-to-reportItem::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RABs-failed-to-reportItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN INFORMATION BROADCAST
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Information Broadcast Request
---
--- **************************************************************
-
-CN-InformationBroadcastRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InformationBroadcastRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InformationBroadcastRequestExtensions} } OPTIONAL,
- ...
-}
-
-CN-InformationBroadcastRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CN-BroadcastInformationPieceList CRITICALITY ignore TYPE CN-BroadcastInformationPieceList PRESENCE mandatory },
- ...
-}
-
-CN-BroadcastInformationPieceList ::= CN-BroadcastInfPiece-IE-ContainerList { {CN-BroadcastInformationPieceIEs} }
-
-CN-BroadcastInformationPieceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-BroadcastInformationPiece CRITICALITY ignore TYPE CN-BroadcastInformationPiece PRESENCE mandatory },
- ...
-}
-
-CN-BroadcastInformationPiece ::= SEQUENCE {
- informationIdentity InformationIdentity,
- nAS-BroadcastInformation NAS-BroadcastInformation OPTIONAL
- -- Included if CN requests UTRAN to broadcast the information piece --,
- cN-BroadcastArea CN-BroadcastArea OPTIONAL
- -- Included if CN requests UTRAN to broadcast the information piece --,
- informationPriority InformationPriority OPTIONAL
- -- Included if CN requests UTRAN to broadcast the information piece --,
- informationControl InformationControl,
- iE-Extensions ProtocolExtensionContainer { {CN-BroadcastInformationPiece-ExtIEs} } OPTIONAL,
- ...
-}
-
-CN-BroadcastInformationPiece-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CN-InformationBroadcastRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN Information Broadcast Confirm
---
--- **************************************************************
-
-CN-InformationBroadcastConfirm ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InformationBroadcastConfirmIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InformationBroadcastConfirmExtensions} } OPTIONAL,
- ...
-}
-
-CN-InformationBroadcastConfirmIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-CN-InformationBroadcastConfirmExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN Information Broadcast Reject
---
--- **************************************************************
-
-CN-InformationBroadcastReject ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InformationBroadcastRejectIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InformationBroadcastRejectExtensions} } OPTIONAL,
- ...
-}
-
-CN-InformationBroadcastRejectIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-CN-InformationBroadcastRejectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RESET ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Reset
---
--- **************************************************************
-
-Reset ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL,
- ...
-}
-
-ResetIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-ResetExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Reset Acknowledge
---
--- **************************************************************
-
-ResetAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-ResetAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
--- **************************************************************
---
--- RESET RESOURCE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Reset Resource
---
--- **************************************************************
-
-ResetResource ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetResourceIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL,
- ...
-}
-
-ResetResourceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceList PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-ResetResourceList ::= IuSigConId-IE-ContainerList{ {ResetResourceItemIEs} }
-
-ResetResourceItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IuSigConIdItem CRITICALITY ignore TYPE ResetResourceItem PRESENCE mandatory },
- ...
-}
-
-ResetResourceItem ::= SEQUENCE {
- iuSigConId IuSignallingConnectionIdentifier,
- iE-Extensions ProtocolExtensionContainer { { ResetResourceItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ResetResourceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Reset Resource Acknowledge
---
--- **************************************************************
-
-ResetResourceAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-ResetResourceAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceAckList PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-ResetResourceAckList ::= IuSigConId-IE-ContainerList{ {ResetResourceAckItemIEs} }
-
-ResetResourceAckItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IuSigConIdItem CRITICALITY ignore TYPE ResetResourceAckItem PRESENCE mandatory },
- ...
-}
-
-ResetResourceAckItem ::= SEQUENCE {
- iuSigConId IuSignallingConnectionIdentifier,
- iE-Extensions ProtocolExtensionContainer { { ResetResourceAckItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ResetResourceAckItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB RELEASE REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Release Request
---
--- **************************************************************
-
-RAB-ReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE mandatory },
- ...
-}
-
-RAB-ReleaseList ::= RAB-IE-ContainerList { {RAB-ReleaseItemIEs} }
-
-RAB-ReleaseItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleaseItem CRITICALITY ignore TYPE RAB-ReleaseItem PRESENCE mandatory },
- ...
-}
-
-RAB-ReleaseItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleaseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Iu RELEASE REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Iu Release Request
---
--- **************************************************************
-
-Iu-ReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION DETECT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Detect
---
--- **************************************************************
-
-RelocationDetect ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationDetectIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL,
- ...
-}
-
-RelocationDetectIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION COMPLETE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Complete
---
--- **************************************************************
-
-RelocationComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCompleteIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PAGING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Paging
---
--- **************************************************************
-
-Paging ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {PagingIEs} },
- protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL,
- ...
-}
-
-PagingIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } |
- { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } |
- { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } |
- { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } |
- { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } |
- { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE optional } ,
- ...
-}
-
-PagingExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON ID ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Common ID
---
--- **************************************************************
-
-CommonID ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CommonID-IEs} },
- protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL,
- ...
-}
-
-CommonID-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory },
- ...
-}
-
-CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN INVOKE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Invoke Trace
---
--- **************************************************************
-
-CN-InvokeTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL,
- ...
-}
-
-CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE mandatory } |
- { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
- { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } |
- { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } |
- { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional },
- ...
-}
-
-CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN DEACTIVATE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Deactivate Trace
---
--- **************************************************************
-
-CN-DeactivateTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL,
- ...
-}
-
-CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
- { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional },
- ...
-}
-
-CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- LOCATION REPORTING CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Reporting Control
---
--- **************************************************************
-
-LocationReportingControl ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL,
- ...
-}
-
-LocationReportingControlIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory },
- ...
-}
-
-LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- LOCATION REPORT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Report
---
--- **************************************************************
-
-LocationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationReportIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL,
- ...
-}
-
-LocationReportIEs RANAP-PROTOCOL-IES ::= {
- { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional },
- ...
-}
-
-LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INITIAL UE MESSAGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Initial UE Message
---
--- **************************************************************
-
-InitialUE-Message ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} },
- protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL,
- ...
-}
-
-InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } |
- { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional
- -- This IE is only present for RABs towards the PS domain -- } |
- { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } |
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
- { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
-
- ...
-}
-
-InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DIRECT TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Direct Transfer
---
--- **************************************************************
-
-DirectTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DirectTransferIEs} },
- protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL,
- ...
-}
-
-DirectTransferIEs RANAP-PROTOCOL-IES ::= {
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
- { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE conditional
- -- This IE is only present if the message is directed to the PS domain -- } |
- { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional
- -- This IE is only present if the message is directed to the PS domain -- } |
- { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE conditional
- -- This IE is always used in downlink direction-- },
- ...
-}
-
-DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- OVERLOAD CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Overload
---
--- **************************************************************
-
-Overload ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadIEs} },
- protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL,
- ...
-}
-
-OverloadIEs RANAP-PROTOCOL-IES ::= {
- { ID id-NumberOfSteps CRITICALITY ignore TYPE NumberOfSteps PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- ERROR INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Error Indication
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL,
- ...
-}
-
-ErrorIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE conditional
- -- At least either of Cause IE or Criticality IE shall be present -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE conditional
- -- At least either of Cause IE or Criticality IE shall be present -- } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } |
- { ID id-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional } |
- { ID id-IuTransportAssociation CRITICALITY ignore TYPE IuTransportAssociation PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction when message is sent connectionless -- },
- ...
-}
-
-ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS DATA FORWARD ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- SRNS Data Forward Command
---
--- **************************************************************
-
-SRNS-DataForwardCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-DataForwardCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE conditional
- -- This group is only present for RABs towards the PS domain -- },
- ...
-}
-
-SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- FORWARD SRNS CONTEXT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Forward SRNS Context
---
--- **************************************************************
-
-ForwardSRNS-Context ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} },
- protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL,
- ...
-}
-
-ForwardSRNS-ContextIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE mandatory },
- ...
-}
-
-ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB ASSIGNMENT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Assignment Request
---
--- **************************************************************
-
-RAB-AssignmentRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifyList CRITICALITY ignore TYPE RAB-SetupOrModifyList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- },
- ...
-}
-
-RAB-SetupOrModifyList ::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} }
-
-RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= {
- { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst
- SECOND CRITICALITY ignore SECOND TYPE RAB-SetupOrModifyItemSecond
- PRESENCE mandatory },
- ...
-}
-
-RAB-SetupOrModifyItemFirst ::= SEQUENCE {
- rAB-ID RAB-ID,
- nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL
- -- This IE is present if the relevant NAS information is provided by the CN --,
- rAB-Parameters RAB-Parameters,
- userPlaneInformation UserPlaneInformation,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemFirst-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifyItemFirst-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SetupOrModifyItemSecond ::= SEQUENCE {
- pDP-TypeInformation PDP-TypeInformation
- -- This IE is only present for RABs towards the PS domain -- OPTIONAL,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemSecond-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifyItemSecond-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB Assignment Response
---
--- **************************************************************
-
-RAB-AssignmentResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL,
- ...
-}
-
-RAB-AssignmentResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifiedList CRITICALITY ignore TYPE RAB-SetupOrModifiedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ReleasedList CRITICALITY ignore TYPE RAB-ReleasedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
-
- { ID id-RAB-QueuedList CRITICALITY ignore TYPE RAB-QueuedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ReleaseFailedList CRITICALITY ignore TYPE RAB-ReleaseFailedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupOrModifiedList ::= RAB-IE-ContainerList { {RAB-SetupOrModifiedItemIEs} }
-
-RAB-SetupOrModifiedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifiedItem CRITICALITY ignore TYPE RAB-SetupOrModifiedItem PRESENCE mandatory },
- ...
-}
-
-RAB-SetupOrModifiedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress OPTIONAL
- -- This IE is only present for RABs towards the PS domain --,
- iuTransportAssociation IuTransportAssociation OPTIONAL
- -- This IE is only present for RABs towards the PS domain --,
- dl-dataVolumes DataVolumeList OPTIONAL
- -- This IE is only present if the RAB has been modified and --
- -- RAB data volume reporting for PS domain is required --,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifiedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifiedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleasedList ::= RAB-IE-ContainerList { {RAB-ReleasedItemIEs} }
-
-RAB-ReleasedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleasedItem CRITICALITY ignore TYPE RAB-ReleasedItem PRESENCE mandatory },
- ...
-}
-
-RAB-ReleasedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-dataVolumes DataVolumeList OPTIONAL
- -- This IE is only present if data volume reporting for PS domain is required --,
- dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE is only present for RABs towards the PS domain when the release is UTRAN initiated -- ,
- uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE is only present for RABs towards the PS domain when the release is UTRAN initiated -- ,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleasedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DataVolumeList ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF
- SEQUENCE {
- dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume,
- dataVolumeReference DataVolumeReference OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {DataVolumeList-ExtIEs} } OPTIONAL,
- ...
- }
-
-DataVolumeList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-QueuedList ::= RAB-IE-ContainerList { {RAB-QueuedItemIEs} }
-
-RAB-QueuedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-QueuedItem CRITICALITY ignore TYPE RAB-QueuedItem PRESENCE mandatory },
- ...
-}
-
-RAB-QueuedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-QueuedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-QueuedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleaseFailedList ::= RAB-FailedList
-
-RAB-AssignmentResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container { {PrivateMessage-IEs } },
- ...
-}
-
-PrivateMessage-IEs RANAP-PRIVATE-IES ::= {
- ...
-}
-
--- **************************************************************
---
--- RANAP RELOCATION INFORMATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-RANAP-RelocationInformation ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} },
- protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL,
- ...
-}
-
-RANAP-RelocationInformationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-DirectTransferInformationList-RANAP-RelocInf
- CRITICALITY ignore TYPE DirectTransferInformationList-RANAP-RelocInf
- PRESENCE optional } |
- { ID id-RAB-ContextList-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextList-RANAP-RelocInf PRESENCE optional },
- ...
-}
-
-DirectTransferInformationList-RANAP-RelocInf ::= DirectTransfer-IE-ContainerList { {DirectTransferInformationItemIEs-RANAP-RelocInf} }
-
-DirectTransferInformationItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
- { ID id-DirectTransferInformationItem-RANAP-RelocInf
- CRITICALITY ignore TYPE DirectTransferInformationItem-RANAP-RelocInf
- PRESENCE mandatory },
- ...
-}
-
-DirectTransferInformationItem-RANAP-RelocInf ::= SEQUENCE {
- nAS-PDU NAS-PDU,
- sAPI SAPI,
- iE-Extensions ProtocolExtensionContainer { {RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
- ...
-}
-
-RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ContextList-RANAP-RelocInf ::= RAB-IE-ContainerList { {RAB-ContextItemIEs-RANAP-RelocInf} }
-
-RAB-ContextItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextItem-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextItem-RANAP-RelocInf PRESENCE mandatory },
- ...
-}
-
-RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber,
- iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
- ...
-}
-
-RAB-ContextItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- END
--- **************************************************************
---
--- Elementary Procedure definitions
---
--- **************************************************************
-
--- RANAP-PDU-Descriptions { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &Outcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- outcome Outcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-Outcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- RANAP-ELEMENTARY-PROCEDURES-CLASS-1 |
- RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
- RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
- ...
-}
-
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation |
- relocationResourceAllocation |
- relocationCancel |
- sRNS-ContextTransfer |
- securityModeControl |
- dataVolumeReport |
- cN-InformationBroadcast |
- reset |
- resetResource ,
- ...
-}
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= {
- rAB-ReleaseRequest |
- iu-ReleaseRequest |
- relocationDetect |
- relocationComplete |
- paging |
- commonID |
- cN-InvokeTrace |
- cN-DeactivateTrace |
- locationReportingControl |
- locationReport |
- initialUE-Message |
- directTransfer |
- overloadControl |
- errorIndication |
- sRNS-DataForward |
- forwardSRNS-Context |
- privateMessage |
- rANAP-Relocation ,
- ...
-}
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= {
- rAB-Assignment ,
- ...
-}
-
--- **************************************************************
---
--- Interface Elementary Procedures
---
--- **************************************************************
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release
- CRITICALITY ignore
-}
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationRequired
- SUCCESSFUL OUTCOME RelocationCommand
- UNSUCCESSFUL OUTCOME RelocationPreparationFailure
- PROCEDURE CODE id-RelocationPreparation
- CRITICALITY ignore
-}
-
-relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationRequest
- SUCCESSFUL OUTCOME RelocationRequestAcknowledge
- UNSUCCESSFUL OUTCOME RelocationFailure
- PROCEDURE CODE id-RelocationResourceAllocation
- CRITICALITY ignore
-}
-
-relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationCancel
- SUCCESSFUL OUTCOME RelocationCancelAcknowledge
- PROCEDURE CODE id-RelocationCancel
- CRITICALITY ignore
-}
-
-sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRNS-ContextRequest
- SUCCESSFUL OUTCOME SRNS-ContextResponse
- PROCEDURE CODE id-SRNS-ContextTransfer
- CRITICALITY ignore
-}
-
-securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SecurityModeCommand
- SUCCESSFUL OUTCOME SecurityModeComplete
- UNSUCCESSFUL OUTCOME SecurityModeReject
- PROCEDURE CODE id-SecurityModeControl
- CRITICALITY ignore
-}
-
-dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DataVolumeReportRequest
- SUCCESSFUL OUTCOME DataVolumeReport
- PROCEDURE CODE id-DataVolumeReport
- CRITICALITY ignore
-}
-
-cN-InformationBroadcast RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-InformationBroadcastRequest
- SUCCESSFUL OUTCOME CN-InformationBroadcastConfirm
- UNSUCCESSFUL OUTCOME CN-InformationBroadcastReject
- PROCEDURE CODE id-CN-InformationBroadcast
- CRITICALITY ignore
-}
-
-reset RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Reset
- SUCCESSFUL OUTCOME ResetAcknowledge
- PROCEDURE CODE id-Reset
- CRITICALITY ignore
-}
-
-rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-ReleaseRequest
- PROCEDURE CODE id-RAB-ReleaseRequest
- CRITICALITY ignore
-}
-
-iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseRequest
- PROCEDURE CODE id-Iu-ReleaseRequest
- CRITICALITY ignore
-}
-
-relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationDetect
- PROCEDURE CODE id-RelocationDetect
- CRITICALITY ignore
-}
-
-relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationComplete
- PROCEDURE CODE id-RelocationComplete
- CRITICALITY ignore
-}
-
-paging RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Paging
- PROCEDURE CODE id-Paging
- CRITICALITY ignore
-}
-
-commonID RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonID
- PROCEDURE CODE id-CommonID
- CRITICALITY ignore
-}
-
-cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-InvokeTrace
- PROCEDURE CODE id-CN-InvokeTrace
- CRITICALITY ignore
-}
-
-cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-DeactivateTrace
- PROCEDURE CODE id-CN-DeactivateTrace
- CRITICALITY ignore
-}
-
-locationReportingControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingControl
- PROCEDURE CODE id-LocationReportingControl
- CRITICALITY ignore
-}
-
-locationReport RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReport
- PROCEDURE CODE id-LocationReport
- CRITICALITY ignore
-}
-
-initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialUE-Message
- PROCEDURE CODE id-InitialUE-Message
- CRITICALITY ignore
-}
-
-directTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DirectTransfer
- PROCEDURE CODE id-DirectTransfer
- CRITICALITY ignore
-}
-
-overloadControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Overload
- PROCEDURE CODE id-OverloadControl
- CRITICALITY ignore
-}
-
-errorIndication RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- PROCEDURE CODE id-ErrorIndication
- CRITICALITY ignore
-}
-
-sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRNS-DataForwardCommand
- PROCEDURE CODE id-SRNS-DataForward
- CRITICALITY ignore
-}
-
-forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ForwardSRNS-Context
- PROCEDURE CODE id-ForwardSRNS-Context
- CRITICALITY ignore
-}
-
-rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-AssignmentRequest
- OUTCOME RAB-AssignmentResponse
- PROCEDURE CODE id-RAB-Assignment
- CRITICALITY ignore
-}
-
-privateMessage RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
-
- PROCEDURE CODE id-privateMessage
- CRITICALITY ignore
-}
-
-resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ResetResource
- SUCCESSFUL OUTCOME ResetResourceAcknowledge
- PROCEDURE CODE id-ResetResource
- CRITICALITY ignore
-}
-
-rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RANAP-RelocationInformation
- PROCEDURE CODE id-RANAP-Relocation
- CRITICALITY ignore
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/RANAPSET.set.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/RANAPSET.set.asn1
deleted file mode 100644
index b40936514e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/RANAPSET.set.asn1
+++ /dev/null
@@ -1,6 +0,0 @@
-RANAP-CommonDataTypes.asn1
-RANAP-Constants.asn1
-RANAP-Containers.asn1
-RANAP-IEs.asn1
-RANAP-PDU-Contents.asn1
-RANAP-PDU-Descriptions.asn1
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/RANAPextract1.asn b/lib/asn1/test/asn1_bin_SUITE_data/RANAPextract1.asn
deleted file mode 100644
index 2f28cb7384..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/RANAPextract1.asn
+++ /dev/null
@@ -1,142 +0,0 @@
-RANAPextract1 DEFINITIONS ::=
-BEGIN
-
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &Outcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
--- successfulOutcome SuccessfulOutcome,
--- unsuccessfulOutcome UnsuccessfulOutcome,
--- outcome Outcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
- }
-
-
-InitiatingMessage2 ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES-2}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES-2}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES-2}{@procedureCode})
-}
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release
- CRITICALITY ignore
-}
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-RelocationPreparation
- CRITICALITY notify
-}
-
-object3 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage Iu-ReleaseCommand,
- &SuccessfulOutcome Iu-ReleaseComplete,
- &procedureCode id-Iu-Release-3,
- &criticality reject
- }
-
-
--- OTP-5466
-testObject RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-test
- CRITICALITY notify
-}
-
-testObject2 RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-test2
- CRITICALITY notify
-}
--- OTP-5466
-
-
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation ,
- ...
- }
-
--- additional definition R-E-P and change in RANAP-ELEMENTARY-PROCEDURES-2
--- from RANAP-ELEMENTARY-PROCEDURE to R-E-P to test OTP-4441
-
-R-E-P ::= RANAP-ELEMENTARY-PROCEDURE
-
--- add for RANAP-ELEMENTARY-PROCEDURES-2 and object3 OTP-4275
-RANAP-ELEMENTARY-PROCEDURES-2 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation ,
- ...,
- object3
-}
-
-
--- OTP-5466
-RANAP-ELEMENTARY-PROCEDURES-3 RANAP-ELEMENTARY-PROCEDURE ::= {
- {INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-test
- CRITICALITY notify}
-}
-
-RANAP-ELEMENTARY-PROCEDURES-4 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release|
- testObject,
- ...,
- relocationPreparation |
- testObject2
-}
--- OTP-5466
-
-
-
-
-Iu-ReleaseCommand ::= SEQUENCE {
- first INTEGER,
- second BOOLEAN
- }
-
-Iu-ReleaseComplete ::= INTEGER (1..510)
-
-ProcedureCode ::= INTEGER (0..255)
-Criticality ::= ENUMERATED { reject, ignore, notify }
-id-Iu-Release INTEGER ::= 1
-id-RelocationPreparation INTEGER ::= 2
-id-Iu-Release-3 INTEGER ::= 3
--- OTP-5466
-id-test INTEGER ::= 4
-id-test2 INTEGER ::= 5
--- OTP-5466
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ROSE.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/ROSE.asn1
deleted file mode 100644
index 2fefae3caf..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ROSE.asn1
+++ /dev/null
@@ -1,449 +0,0 @@
-ROSE DEFINITIONS IMPLICIT TAGS ::=
-
-
-BEGIN
-
-OPERATION ::= CLASS
-{
- &ArgumentType OPTIONAL,
- &argumentTypeOptional BOOLEAN OPTIONAL,
- &returnResult BOOLEAN DEFAULT TRUE,
- &ResultType OPTIONAL,
- &resultTypeOptional BOOLEAN OPTIONAL,
- &Errors ERROR OPTIONAL,
- &Linked OPERATION OPTIONAL,
- &synchronous BOOLEAN DEFAULT FALSE,
- &idempotent BOOLEAN DEFAULT FALSE,
- &alwaysReturns BOOLEAN DEFAULT TRUE,
- &InvokePriority Priority OPTIONAL,
- &ResultPriority Priority OPTIONAL,
- &operationCode Code UNIQUE OPTIONAL
- }
-WITH SYNTAX
- {
- [ARGUMENT &ArgumentType [OPTIONAL &argumentTypeOptional]]
- [RESULT &ResultType [OPTIONAL &resultTypeOptional]]
- [RETURN RESULT &returnResult]
- [ERRORS &Errors]
- [LINKED &Linked]
- [SYNCHRONOUS &synchronous]
- [IDEMPOTENT &idempotent]
- [ALWAYS RESPONDS &alwaysReturns]
- [INVOKE PRIORITY &InvokePriority]
- [RESULT-PRIORITY &ResultPriority]
- [CODE &operationCode]
- }
-
-ERROR ::= CLASS
-{
- &ParameterType OPTIONAL,
- &parameterTypeOptional BOOLEAN OPTIONAL,
- &ErrorPriority Priority OPTIONAL,
- &errorCode Code UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [PARAMETER &ParameterType [OPTIONAL &parameterTypeOptional]]
- [PRIORITY &ErrorPriority]
- [CODE &errorCode]
- }
-
-OPERATION-PACKAGE ::= CLASS
-{
- &Both OPERATION OPTIONAL,
- &Consumer OPERATION OPTIONAL,
- &Supplier OPERATION OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [OPERATIONS &Both]
- [CONSUMER INVOKES &Supplier]
- [SUPPLIER INVOKES &Consumer]
- [ID &id]
- }
-
-CONNECTION-PACKAGE ::= CLASS
-{
- &bind OPERATION DEFAULT emptyBind,
- &unbind OPERATION DEFAULT emptyUnbind,
- &responderCanUnbind BOOLEAN DEFAULT FALSE,
- &unbindCanFail BOOLEAN DEFAULT FALSE,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [BIND &bind]
- [UNBIND &unbind]
- [RESPONDER UNBIND &responderCanUnbind]
- [FAILURE TO UNBIND &unbindCanFail]
- [ID &id]
- }
-
-CONTRACT ::= CLASS
-{
- &connection CONNECTION-PACKAGE OPTIONAL,
- &OperationsOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [CONNECTION &connection]
- [OPERATIONS OF &OperationsOf]
- [INITIATOR CONSUMER OF &InitiatorConsumerOf]
- [RESPONDER CONSUMER OF &InitiatorSupplierOf]
- [ID &id]
-}
-
-ROS-OBJECT-CLASS ::= CLASS
-{
- &Is ROS-OBJECT-CLASS OPTIONAL,
- &Initiates CONTRACT OPTIONAL,
- &Responds CONTRACT OPTIONAL,
- &InitiatesAndResponds CONTRACT OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
- }
-WITH SYNTAX
-{
- [IS &Is]
- [BOTH &InitiatesAndResponds]
- [INITIATES &Initiates]
- [RESPONDS &Responds]
- ID &id
- }
-
-Code ::= CHOICE
-{
- local INTEGER,
- global OBJECT IDENTIFIER
- }
-
-Priority ::= INTEGER (0..MAX)
-
-ROS {InvokeId:InvokeIdSet,OPERATION:Invokable,OPERATION:Returnable} ::= CHOICE
- {
- invoke [1] Invoke {{InvokeIdSet}, {Invokable}},
- returnResult [2] ReturnResult {{Returnable}},
- returnError [3] ReturnError {{Errors{{Returnable}}}},
- reject [4] Reject
- }
-(CONSTRAINED BY {-- must conform to the above definition --}
- ! RejectProblem : general-unrecognizedPDU)
-
-Invoke {InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE
-{
- invokeId InvokeId (InvokeIdSet)
- (CONSTRAINED BY {-- must be unambiguous --}
- ! RejectProblem : invoke-duplicateInvocation),
- linkedId CHOICE {
- present [0] IMPLICIT present < InvokeId,
- absent [1] IMPLICIT NULL
- }
- (CONSTRAINED BY {-- must identify an outstanding operation --}
- ! RejectProblem : invoke-unrecognizedLinkedId)
- (CONSTRAINED BY {-- which has one or more linked operations--}
- ! RejectProblem : invoke-linkedResponseUnexpected)
- OPTIONAL,
- opcode OPERATION.&operationCode
- ({Operations}
- ! RejectProblem : invoke-unrecognizedOperation),
- argument OPERATION.&ArgumentType
- ({Operations} {@opcode}
- ! RejectProblem : invoke-mistypedArgument)
- OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --}
- ! RejectProblem : general-mistypedPDU)
-(
-WITH COMPONENTS
-{...,
- linkedId ABSENT
- }
-| WITH COMPONENTS
-{...,
- linkedId PRESENT,
- opcode
- (CONSTRAINED BY {-- must be in the &Linked field of the associated operation --
- }
- ! RejectProblem : invoke-unexpectedLinkedOperation)
- }
-)
-
-ReturnResult {OPERATION:Operations}::= SEQUENCE
-{
- invokeId InvokeId
- (CONSTRAINED BY {-- must be that for an outstanding operation --}
- ! RejectProblem:returnResult-unrecognizedInvocation)
- (CONSTRAINED BY {-- which returns a result --}
- ! RejectProblem:returnResult-resultResponseUnexpected),
- result SEQUENCE
- {
- opcode OPERATION.&operationCode
- ({Operations})(CONSTRAINED BY {-- identified by invokeId --}
- ! RejectProblem:returnResult-unrecognizedInvocation),
- result OPERATION.&ResultType ({Operations} {@.opcode}
- ! RejectProblem:returnResult-mistypedResult)
- }
- OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem:general-mistypedPDU)
-
-ReturnError {ERROR:Errors} ::= SEQUENCE
-{
- invokeId InvokeId
- (CONSTRAINED BY {-- must be that for an outstanding operation --
- }
- ! RejectProblem : returnError-unrecognizedInvocation)
- (CONSTRAINED BY {-- which returns an error --
- }
- ! RejectProblem : returnError-errorResponseUnexpected),
- errcode ERROR.&errorCode
- ({Errors}
- ! RejectProblem : returnError-unrecognizedError)
- (CONSTRAINED BY {-- must be in the &Errors field of the associated operation --
- }
- ! RejectProblem : returnError-unexpectedError),
- parameter ERROR.&ParameterType
- ({Errors}{@errcode}
- ! RejectProblem : returnError-mistypedParameter) OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem : general-mistypedPDU)
-
-Reject ::= SEQUENCE
-{
- invokeId InvokeId,
- problem CHOICE
- {
- general [0] GeneralProblem,
- invoke [1] InvokeProblem,
- returnResult [2] ReturnResultProblem,
- returnError [3] ReturnErrorProblem
- }
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem : general-mistypedPDU)
-
-GeneralProblem ::= INTEGER
-{
- unrecognizedPDU (0),
- mistypedPDU (1),
- badlyStructuredPDU (2)
- }
-
-InvokeProblem ::= INTEGER
-{
- duplicateInvocation (0),
- unrecognizedOperation (1),
- mistypedArgument (2),
- resourceLimitation (3),
- releaseInProgress (4),
- unrecognizedLinkedId (5),
- linkedResponseUnexpected (6),
- unexpectedLinkedOperation (7)
- }
-
-ReturnResultProblem ::= INTEGER
-{
- unrecognizedInvocation (0),
- resultResponseUnexpected (1),
- mistypedResult (2)
- }
-
-ReturnErrorProblem ::= INTEGER
-{
- unrecognizedInvocation (0),
- errorResponseUnexpected (1),
- unrecognizedError (2),
- unexpectedError (3),
- mistypedParameter (4)
- }
-
-RejectProblem ::= INTEGER
-{
- general-unrecognizedPDU (0),
- general-mistypedPDU (1),
- general-badlyStructuredPDU (2),
- invoke-duplicateInvocation (10),
- invoke-unrecognizedOperation (11),
- invoke-mistypedArgument (12),
- invoke-resourceLimitation (13),
- invoke-releaseInProgress (14),
- invoke-unrecognizedLinkedId (15),
- invoke-linkedResponseUnexpected (16),
- invoke-unexpectedLinkedOperation (17),
- returnResult-unrecognizedInvocation (20),
- returnResult-resultResponseUnexpected (21),
- returnResult-mistypedResult (22),
- returnError-unrecognizedInvocation (30),
- returnError-errorResponseUnexpected (31),
- returnError-unrecognizedError (32),
- returnError-unexpectedError (33),
- returnError-mistypedParameter (34)
- }
-
-InvokeId ::= CHOICE
-{
- present INTEGER,
- absent NULL
- }
-
-noInvokeId InvokeId ::= absent:NULL
-
-NoInvokeId InvokeId ::= {noInvokeId}
-
-Errors {OPERATION:Operations} ERROR ::= {Operations.&Errors}
-
-Bind {OPERATION:operation} ::= CHOICE
-{
- bind-invoke [16] OPERATION.&ArgumentType({operation}),
- bind-result [17] OPERATION.&ResultType ({operation}),
- bind-error [18] OPERATION.&Errors.&ParameterType ({operation})
- }
-
-Unbind {OPERATION:operation} ::= CHOICE
-{
- unbind-invoke [19] OPERATION.&ArgumentType({operation}),
- unbind-result [20] OPERATION.&ResultType ({operation}),
- unbind-error [21] OPERATION.&Errors.&ParameterType ({operation})
- }
-
-emptyBind OPERATION ::= {ERRORS {refuse} SYNCHRONOUS TRUE}
-
-emptyUnbind OPERATION ::= { SYNCHRONOUS TRUE }
-
-refuse ERROR ::= {CODE local:-1}
-
-no-op OPERATION ::=
- {
- IDEMPOTENT TRUE
- ALWAYS RESPONDS FALSE
- CODE local:-1
- }
-
-Forward {OPERATION:OperationSet} OPERATION ::=
-{
- OperationSet |
- OperationSet.&Linked.&Linked |
- OperationSet.&Linked.&Linked.&Linked.&Linked
- }
-
-Reverse {OPERATION:OperationSet} OPERATION ::=
-{Forward{{OperationSet.&Linked}}}
-
-ConsumerPerforms {OPERATION-PACKAGE:package} OPERATION ::=
-{
- Forward{{package.&Consumer}} |
- Forward{{package.&Both}} |
- Reverse{{package.&Supplier}} |
- Reverse{{package.&Both}}
- }
-
-SupplierPerforms {OPERATION-PACKAGE:package} OPERATION ::=
-{
- Forward{{package.&Supplier}} |
- Forward{{package.&Both}} |
- Reverse{{package.&Consumer}} |
- Reverse{{package.&Both}}
- }
-
-AllOperations {OPERATION-PACKAGE:package} OPERATION ::=
-{
- ConsumerPerforms {package} |
- SupplierPerforms {package}
- }
-
-recode {OPERATION:operation, Code:code} OPERATION ::=
-{
- ARGUMENT operation.&ArgumentType
- OPTIONAL operation.&argumentTypeOptional
- RESULT operation.&ResultType
- OPTIONAL operation.&resultTypeOptional
- RETURN RESULT operation.&returnResult
- ERRORS {operation.&Errors}
- LINKED {operation.&Linked}
- SYNCHRONOUS operation.&synchronous
- ALWAYS RESPONDS operation.&alwaysReturns
- INVOKE PRIORITY {operation.&InvokePriority}
- RESULT-PRIORITY {operation.&ResultPriority}
- CODE code
- }
-
-switch {OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
-{
- OPERATIONS {package.&Both}
- CONSUMER INVOKES {package.&Consumer}
- SUPPLIER INVOKES {package.&Supplier}
- ID id
- }
-
-combine {OPERATION-PACKAGE:ConsumerConsumes,OPERATION-PACKAGE:ConsumerSupplies,
- OPERATION-PACKAGE:base
- } OPERATION-PACKAGE ::=
-{
- OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
- CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
- SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
- ID base.&id
- }
-
-ROS-SingleAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {AllOperations{package}}, {AllOperations{package}}}
-
-ROS-ConsumerAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {ConsumerPerforms{package}}, {SupplierPerforms{package}}}
-
-ROS-SupplierAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {SupplierPerforms{package}}, {ConsumerPerforms{package}}}
-
-probe OPERATION ::=
- {
- ARGUMENT SEQUENCE
- {
- invokeId [0] InvokeId
- }
- RESULT ENUMERATED{running(0), finished(1), unknown(2), ...}
- IDEMPOTENT TRUE
- CODE local:-2
- }
-
-acknowledge OPERATION ::=
- {
- ARGUMENT InvokeId
- RESULT ENUMERATED{acknowledged(0), unknown(1), ...}
- IDEMPOTENT TRUE
- CODE local:-3
- }
-
-ProbeAndAcknowledge OPERATION ::= {probe | acknowledge}
-
-cancel OPERATION ::=
- {
- ARGUMENT InvokeId
- ERRORS {cancelFailed}
- IDEMPOTENT TRUE
- CODE local:-4
- }
-
-cancelFailed ERROR ::=
- {
- PARAMETER SET
- {
- problem [0] CancelProblem,
- operation [1] InvokeId
- }
- CODE local:-2
- }
-
-CancelProblem ::= ENUMERATED
-{unknownOperation(0), tooLate(1), operationNotCancellable(2), ...}
-
-cancelled ERROR ::= {CODE local:-3}
-
-END -- end of useful definitions.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Real.py b/lib/asn1/test/asn1_bin_SUITE_data/Real.py
deleted file mode 100644
index 6b7a748b4e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Real.py
+++ /dev/null
@@ -1,31 +0,0 @@
-Real DEFINITIONS ::=
-BEGIN
-
--- F.2.4.1
--- Use a real type to model an approximate number.
--- EXAMPLE
-
-AngleInRadians ::= REAL
-
-pi REAL ::=
- {mantissa 3141592653589793238462643383279, base 10, exponent -30}
-
--- F.2.4.2
--- Application designers may wish to ensure full interworking with real
--- values despite
--- differences in floating point hardware, and in implementation
--- decisions to use
--- (for example) single or double length floating point for an application.
--- This can be achieved by the following:
- App-X-Real ::= REAL (WITH COMPONENTS {
- mantissa (-16777215..16777215),
- base (2),
- exponent (-125..128) } )
-
--- Senders shall not transmit values outside these ranges
--- and conforming receivers shall be capable of receiving
--- and processing all values in these ranges.
-
- girth App-X-Real ::= {mantissa 16, base 2, exponent 1}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1
deleted file mode 100644
index 7dcf4fda0e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1
+++ /dev/null
@@ -1,203 +0,0 @@
-Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)}
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- exports everything
-
-IMPORTS OPERATION, ERROR
-FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)};
-
-
-ROS {InvokeId:InvokeIdSet,OPERATION:Invokable,OPERATION:Returnable} ::= CHOICE
- {
- invoke [1] Invoke {{InvokeIdSet}, {Invokable}},
- returnResult [2] ReturnResult {{Returnable}},
- returnError [3] ReturnError {{Errors{{Returnable}}}},
- reject [4] Reject
- }
-(CONSTRAINED BY {-- must conform to the above definition --}
- ! RejectProblem : general-unrecognizedPDU)
-
-Invoke {InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE
-{
- invokeId InvokeId (InvokeIdSet)
- (CONSTRAINED BY {-- must be unambiguous --}
- ! RejectProblem : invoke-duplicateInvocation),
- linkedId CHOICE {
- present [0] IMPLICIT present < InvokeId,
- absent [1] IMPLICIT NULL
- }
- (CONSTRAINED BY {-- must identify an outstanding operation --}
- ! RejectProblem : invoke-unrecognizedLinkedId)
- (CONSTRAINED BY {-- which has one or more linked operations--}
- ! RejectProblem : invoke-linkedResponseUnexpected)
- OPTIONAL,
- opcode OPERATION.&operationCode
- ({Operations}
- ! RejectProblem : invoke-unrecognizedOperation),
- argument OPERATION.&ArgumentType
- ({Operations} {@opcode}
- ! RejectProblem : invoke-mistypedArgument)
- OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --}
- ! RejectProblem : general-mistypedPDU)
-(
-WITH COMPONENTS
-{...,
- linkedId ABSENT
- }
-| WITH COMPONENTS
-{...,
- linkedId PRESENT,
- opcode
- (CONSTRAINED BY {-- must be in the &Linked field of the associated operation --
- }
- ! RejectProblem : invoke-unexpectedLinkedOperation)
- }
-)
-
-ReturnResult {OPERATION:Operations}::= SEQUENCE
-{
- invokeId InvokeId
- (CONSTRAINED BY {-- must be that for an outstanding operation --}
- ! RejectProblem:returnResult-unrecognizedInvocation)
- (CONSTRAINED BY {-- which returns a result --}
- ! RejectProblem:returnResult-resultResponseUnexpected),
- result SEQUENCE
- {
- opcode OPERATION.&operationCode
- ({Operations})(CONSTRAINED BY {-- identified by invokeId --}
- ! RejectProblem:returnResult-unrecognizedInvocation),
- result OPERATION.&ResultType ({Operations} {@.opcode}
- ! RejectProblem:returnResult-mistypedResult)
- }
- OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem:general-mistypedPDU)
-
-ReturnError {ERROR:Errors} ::= SEQUENCE
-{
- invokeId InvokeId
- (CONSTRAINED BY {-- must be that for an outstanding operation --
- }
- ! RejectProblem : returnError-unrecognizedInvocation)
- (CONSTRAINED BY {-- which returns an error --
- }
- ! RejectProblem : returnError-errorResponseUnexpected),
- errcode ERROR.&errorCode
- ({Errors}
- ! RejectProblem : returnError-unrecognizedError)
- (CONSTRAINED BY {-- must be in the &Errors field of the associated operation --
- }
- ! RejectProblem : returnError-unexpectedError),
- parameter ERROR.&ParameterType
- ({Errors}{@errcode}
- ! RejectProblem : returnError-mistypedParameter) OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem : general-mistypedPDU)
-
-Reject ::= SEQUENCE
-{
- invokeId InvokeId,
- problem CHOICE
- {
- general [0] GeneralProblem,
- invoke [1] InvokeProblem,
- returnResult [2] ReturnResultProblem,
- returnError [3] ReturnErrorProblem
- }
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem : general-mistypedPDU)
-
-GeneralProblem ::= INTEGER
-{
- unrecognizedPDU (0),
- mistypedPDU (1),
- badlyStructuredPDU (2)
- }
-
-InvokeProblem ::= INTEGER
-{
- duplicateInvocation (0),
- unrecognizedOperation (1),
- mistypedArgument (2),
- resourceLimitation (3),
- releaseInProgress (4),
- unrecognizedLinkedId (5),
- linkedResponseUnexpected (6),
- unexpectedLinkedOperation (7)
- }
-
-ReturnResultProblem ::= INTEGER
-{
- unrecognizedInvocation (0),
- resultResponseUnexpected (1),
- mistypedResult (2)
- }
-
-ReturnErrorProblem ::= INTEGER
-{
- unrecognizedInvocation (0),
- errorResponseUnexpected (1),
- unrecognizedError (2),
- unexpectedError (3),
- mistypedParameter (4)
- }
-
-RejectProblem ::= INTEGER
-{
- general-unrecognizedPDU (0),
- general-mistypedPDU (1),
- general-badlyStructuredPDU (2),
- invoke-duplicateInvocation (10),
- invoke-unrecognizedOperation (11),
- invoke-mistypedArgument (12),
- invoke-resourceLimitation (13),
- invoke-releaseInProgress (14),
- invoke-unrecognizedLinkedId (15),
- invoke-linkedResponseUnexpected (16),
- invoke-unexpectedLinkedOperation (17),
- returnResult-unrecognizedInvocation (20),
- returnResult-resultResponseUnexpected (21),
- returnResult-mistypedResult (22),
- returnError-unrecognizedInvocation (30),
- returnError-errorResponseUnexpected (31),
- returnError-unrecognizedError (32),
- returnError-unexpectedError (33),
- returnError-mistypedParameter (34)
- }
-
-InvokeId ::= CHOICE
-{
- present INTEGER,
- absent NULL
- }
-
-noInvokeId InvokeId ::= absent:NULL
-
-NoInvokeId InvokeId ::= {noInvokeId}
-
-Errors {OPERATION:Operations} ERROR ::= {Operations.&Errors}
-
-Bind {OPERATION:operation} ::= CHOICE
-{
- bind-invoke [16] OPERATION.&ArgumentType({operation}),
- bind-result [17] OPERATION.&ResultType ({operation}),
- bind-error [18] OPERATION.&Errors.&ParameterType ({operation})
- }
-
-Unbind {OPERATION:operation} ::= CHOICE
-{
- unbind-invoke [19] OPERATION.&ArgumentType({operation}),
- unbind-result [20] OPERATION.&ResultType ({operation}),
- unbind-error [21] OPERATION.&Errors.&ParameterType ({operation})
- }
-
-END -- end of generic ROS PDU definitions
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Information-Objects.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Information-Objects.asn1
deleted file mode 100644
index b467c0a754..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Information-Objects.asn1
+++ /dev/null
@@ -1,130 +0,0 @@
-Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version2(1)}
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- exports everything
-
-IMPORTS emptyBind, emptyUnbind
-FROM Remote-Operations-Useful-Definitions
-{joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)};
-
-OPERATION ::= CLASS
-{
- &ArgumentType OPTIONAL,
- &argumentTypeOptional BOOLEAN OPTIONAL,
- &returnResult BOOLEAN DEFAULT TRUE,
- &ResultType OPTIONAL,
- &resultTypeOptional BOOLEAN OPTIONAL,
- &Errors ERROR OPTIONAL,
- &Linked OPERATION OPTIONAL,
- &synchronous BOOLEAN DEFAULT FALSE,
- &idempotent BOOLEAN DEFAULT FALSE,
- &alwaysReturns BOOLEAN DEFAULT TRUE,
- &InvokePriority Priority OPTIONAL,
- &ResultPriority Priority OPTIONAL,
- &operationCode Code UNIQUE OPTIONAL
- }
-WITH SYNTAX
- {
- [ARGUMENT &ArgumentType [OPTIONAL &argumentTypeOptional]]
- [RESULT &ResultType [OPTIONAL &resultTypeOptional]]
- [RETURN RESULT &returnResult]
- [ERRORS &Errors]
- [LINKED &Linked]
- [SYNCHRONOUS &synchronous]
- [IDEMPOTENT &idempotent]
- [ALWAYS RESPONDS &alwaysReturns]
- [INVOKE PRIORITY &InvokePriority]
- [RESULT-PRIORITY &ResultPriority]
- [CODE &operationCode]
- }
-
-ERROR ::= CLASS
-{
- &ParameterType OPTIONAL,
- &parameterTypeOptional BOOLEAN OPTIONAL,
- &ErrorPriority Priority OPTIONAL,
- &errorCode Code UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [PARAMETER &ParameterType [OPTIONAL &parameterTypeOptional]]
- [PRIORITY &ErrorPriority]
- [CODE &errorCode]
- }
-
-OPERATION-PACKAGE ::= CLASS
-{
- &Both OPERATION OPTIONAL,
- &Consumer OPERATION OPTIONAL,
- &Supplier OPERATION OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [OPERATIONS &Both]
- [CONSUMER INVOKES &Supplier]
- [SUPPLIER INVOKES &Consumer]
- [ID &id]
- }
-
-CONNECTION-PACKAGE ::= CLASS
-{
- &bind OPERATION DEFAULT emptyBind,
- &unbind OPERATION DEFAULT emptyUnbind,
- &responderCanUnbind BOOLEAN DEFAULT FALSE,
- &unbindCanFail BOOLEAN DEFAULT FALSE,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [BIND &bind]
- [UNBIND &unbind]
- [RESPONDER UNBIND &responderCanUnbind]
- [FAILURE TO UNBIND &unbindCanFail]
- [ID &id]
- }
-
-CONTRACT ::= CLASS
-{
- &connection CONNECTION-PACKAGE OPTIONAL,
- &OperationsOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [CONNECTION &connection]
- [OPERATIONS OF &OperationsOf]
- [INITIATOR CONSUMER OF &InitiatorConsumerOf]
- [RESPONDER CONSUMER OF &InitiatorSupplierOf]
- [ID &id]
-}
-
-ROS-OBJECT-CLASS ::= CLASS
-{
- &Is ROS-OBJECT-CLASS OPTIONAL,
- &Initiates CONTRACT OPTIONAL,
- &Responds CONTRACT OPTIONAL,
- &InitiatesAndResponds CONTRACT OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
- }
-WITH SYNTAX
-{
- [IS &Is]
- [BOTH &InitiatesAndResponds]
- [INITIATES &Initiates]
- [RESPONDS &Responds]
- ID &id
- }
-
-Code ::= CHOICE
-{
- local INTEGER,
- global OBJECT IDENTIFIER
- }
-
-Priority ::= INTEGER (0..MAX)
-
-END -- end of Information Object specifications
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Merged.set.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Merged.set.asn1
deleted file mode 100644
index c321464a2e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Merged.set.asn1
+++ /dev/null
@@ -1,3 +0,0 @@
-Remote-Operations-Generic-ROS-PDUs.asn1
-Remote-Operations-Information-Objects.asn1
-Remote-Operations-Useful-Definitions.asn1
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Useful-Definitions.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Useful-Definitions.asn1
deleted file mode 100644
index 989c23dd5f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Remote-Operations-Useful-Definitions.asn1
+++ /dev/null
@@ -1,149 +0,0 @@
-Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4) useful-definitions(7) version2(1)}
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- exports everything
-
-IMPORTS
-
- OPERATION, ERROR, OPERATION-PACKAGE, Code
- FROM Remote-Operations-Information-Objects
- {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
- InvokeId, ROS{}
- FROM Remote-Operations-Generic-ROS-PDUs
- {joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)};
-
-
-emptyBind OPERATION ::= {ERRORS {refuse} SYNCHRONOUS TRUE}
-
-emptyUnbind OPERATION ::= { SYNCHRONOUS TRUE }
-
-refuse ERROR ::= {CODE local:-1}
-
-no-op OPERATION ::=
- {
- IDEMPOTENT TRUE
- ALWAYS RESPONDS FALSE
- CODE local:-1
- }
-
-Forward {OPERATION:OperationSet} OPERATION ::=
-{
- OperationSet |
- OperationSet.&Linked.&Linked |
- OperationSet.&Linked.&Linked.&Linked.&Linked
- }
-
-Reverse {OPERATION:OperationSet} OPERATION ::=
-{Forward{{OperationSet.&Linked}}}
-
-ConsumerPerforms {OPERATION-PACKAGE:package} OPERATION ::=
-{
- Forward{{package.&Consumer}} |
- Forward{{package.&Both}} |
- Reverse{{package.&Supplier}} |
- Reverse{{package.&Both}}
- }
-
-SupplierPerforms {OPERATION-PACKAGE:package} OPERATION ::=
-{
- Forward{{package.&Supplier}} |
- Forward{{package.&Both}} |
- Reverse{{package.&Consumer}} |
- Reverse{{package.&Both}}
- }
-
-AllOperations {OPERATION-PACKAGE:package} OPERATION ::=
-{
- ConsumerPerforms {package} |
- SupplierPerforms {package}
- }
-
-recode {OPERATION:operation, Code:code} OPERATION ::=
-{
- ARGUMENT operation.&ArgumentType
- OPTIONAL operation.&argumentTypeOptional
- RESULT operation.&ResultType
- OPTIONAL operation.&resultTypeOptional
- RETURN RESULT operation.&returnResult
- ERRORS {operation.&Errors}
- LINKED {operation.&Linked}
- SYNCHRONOUS operation.&synchronous
- ALWAYS RESPONDS operation.&alwaysReturns
- INVOKE PRIORITY {operation.&InvokePriority}
- RESULT-PRIORITY {operation.&ResultPriority}
- CODE code
- }
-
-switch {OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
-{
- OPERATIONS {package.&Both}
- CONSUMER INVOKES {package.&Consumer}
- SUPPLIER INVOKES {package.&Supplier}
- ID id
- }
-
-combine {OPERATION-PACKAGE:ConsumerConsumes,OPERATION-PACKAGE:ConsumerSupplies,
- OPERATION-PACKAGE:base
- } OPERATION-PACKAGE ::=
-{
- OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
- CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
- SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
- ID base.&id
- }
-
-ROS-SingleAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {AllOperations{package}}, {AllOperations{package}}}
-
-ROS-ConsumerAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {ConsumerPerforms{package}}, {SupplierPerforms{package}}}
-
-ROS-SupplierAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {SupplierPerforms{package}}, {ConsumerPerforms{package}}}
-
-probe OPERATION ::=
- {
- ARGUMENT SEQUENCE
- {
- invokeId [0] InvokeId
- }
- RESULT ENUMERATED{running(0), finished(1), unknown(2), ...}
- IDEMPOTENT TRUE
- CODE local:-2
- }
-
-acknowledge OPERATION ::=
- {
- ARGUMENT InvokeId
- RESULT ENUMERATED{acknowledged(0), unknown(1), ...}
- IDEMPOTENT TRUE
- CODE local:-3
- }
-
-ProbeAndAcknowledge OPERATION ::= {probe | acknowledge}
-
-cancel OPERATION ::=
- {
- ARGUMENT InvokeId
- ERRORS {cancelFailed}
- IDEMPOTENT TRUE
- CODE local:-4
- }
-
-cancelFailed ERROR ::=
- {
- PARAMETER SET
- {
- problem [0] CancelProblem,
- operation [1] InvokeId
- }
- CODE local:-2
- }
-
-CancelProblem ::= ENUMERATED
-{unknownOperation(0), tooLate(1), operationNotCancellable(2), ...}
-
-cancelled ERROR ::= {CODE local:-3}
-
-END -- end of useful definitions.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-CommonDataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/S1AP-CommonDataTypes.asn
deleted file mode 100644
index 3ddbf35a2f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-CommonDataTypes.asn
+++ /dev/null
@@ -1,35 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.5 Common Definitions
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
-S1AP-CommonDataTypes {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..65535),
- global OBJECT IDENTIFIER
-}
-
-ProcedureCode ::= INTEGER (0..255)
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-ProtocolIE-ID ::= INTEGER (0..65535)
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-Constants.asn b/lib/asn1/test/asn1_bin_SUITE_data/S1AP-Constants.asn
deleted file mode 100644
index ff4e8779cd..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-Constants.asn
+++ /dev/null
@@ -1,251 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.6 Constant Definitions
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
-S1AP-Constants {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- ProcedureCode,
- ProtocolIE-ID
-
-FROM S1AP-CommonDataTypes;
-
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-HandoverPreparation ProcedureCode ::= 0
-id-HandoverResourceAllocation ProcedureCode ::= 1
-id-HandoverNotification ProcedureCode ::= 2
-id-PathSwitchRequest ProcedureCode ::= 3
-id-HandoverCancel ProcedureCode ::= 4
-id-E-RABSetup ProcedureCode ::= 5
-id-E-RABModify ProcedureCode ::= 6
-id-E-RABRelease ProcedureCode ::= 7
-id-E-RABReleaseIndication ProcedureCode ::= 8
-id-InitialContextSetup ProcedureCode ::= 9
-id-Paging ProcedureCode ::= 10
-id-downlinkNASTransport ProcedureCode ::= 11
-id-initialUEMessage ProcedureCode ::= 12
-id-uplinkNASTransport ProcedureCode ::= 13
-id-Reset ProcedureCode::= 14
-id-ErrorIndication ProcedureCode ::= 15
-id-NASNonDeliveryIndication ProcedureCode ::= 16
-id-S1Setup ProcedureCode ::= 17
-id-UEContextReleaseRequest ProcedureCode ::= 18
-id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19
-id-UplinkS1cdma2000tunneling ProcedureCode ::= 20
-id-UEContextModification ProcedureCode ::= 21
-id-UECapabilityInfoIndication ProcedureCode ::= 22
-id-UEContextRelease ProcedureCode ::= 23
-id-eNBStatusTransfer ProcedureCode ::= 24
-id-MMEStatusTransfer ProcedureCode ::= 25
-id-DeactivateTrace ProcedureCode ::= 26
-id-TraceStart ProcedureCode ::= 27
-id-TraceFailureIndication ProcedureCode ::= 28
-id-ENBConfigurationUpdate ProcedureCode ::= 29
-id-MMEConfigurationUpdate ProcedureCode ::= 30
-id-LocationReportingControl ProcedureCode ::= 31
-id-LocationReportingFailureIndication ProcedureCode ::= 32
-id-LocationReport ProcedureCode ::= 33
-id-OverloadStart ProcedureCode ::= 34
-id-OverloadStop ProcedureCode ::= 35
-id-WriteReplaceWarning ProcedureCode ::= 36
-id-eNBDirectInformationTransfer ProcedureCode ::= 37
-id-MMEDirectInformationTransfer ProcedureCode ::= 38
-id-PrivateMessage ProcedureCode ::= 39
-id-eNBConfigurationTransfer ProcedureCode ::= 40
-id-MMEConfigurationTransfer ProcedureCode ::= 41
-id-CellTrafficTrace ProcedureCode ::= 42
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfCSGs INTEGER ::= 256
-maxNrOfE-RABs INTEGER ::= 256
-maxnoofTAIs INTEGER ::= 256
-maxnoofTACs INTEGER ::= 256
-maxNrOfErrors INTEGER ::= 256
-maxnoofBPLMNs INTEGER ::= 6
-maxnoofPLMNsPerMME INTEGER ::= 32
-maxnoofEPLMNs INTEGER ::= 15
-maxnoofEPLMNsPlusOne INTEGER ::= 16
-maxnoofForbLACs INTEGER ::= 4096
-maxnoofForbTACs INTEGER ::= 4096
-maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
-maxnoofCells INTEGER ::= 16
-maxnoofTAIforWarning INTEGER ::= 65535
-maxnoofCellID INTEGER ::= 65535
-maxnoofEmergencyAreaID INTEGER ::= 65535
-maxnoofCellinTAI INTEGER ::= 65535
-maxnoofCellinEAI INTEGER ::= 65535
-maxnoofeNBX2TLAs INTEGER ::= 2
-maxnoofRATs INTEGER ::= 8
-maxnoofGroupIDs INTEGER ::= 65535
-maxnoofMMECs INTEGER ::= 256
-
-
-
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0
-id-HandoverType ProtocolIE-ID ::= 1
-id-Cause ProtocolIE-ID ::= 2
-id-SourceID ProtocolIE-ID ::= 3
-id-TargetID ProtocolIE-ID ::= 4
-id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8
-id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12
-id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13
-id-E-RABDataForwardingItem ProtocolIE-ID ::= 14
-id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15
-id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16
-id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17
-id-E-RABAdmittedList ProtocolIE-ID ::= 18
-id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19
-id-E-RABAdmittedItem ProtocolIE-ID ::= 20
-id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21
-id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22
-id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23
-id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24
-id-TraceActivation ProtocolIE-ID ::= 25
-id-NAS-PDU ProtocolIE-ID ::= 26
-id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27
-id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28
-id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29
-id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30
-id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31
-id-E-RABFailedToModifyList ProtocolIE-ID ::= 32
-id-E-RABToBeReleasedList ProtocolIE-ID ::= 33
-id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34
-id-E-RABItem ProtocolIE-ID ::= 35
-id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36
-id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37
-id-E-RABReleaseItem ProtocolIE-ID ::= 38
-id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39
-id-SecurityContext ProtocolIE-ID ::= 40
-id-HandoverRestrictionList ProtocolIE-ID ::= 41
-id-UEPagingID ProtocolIE-ID ::= 43
-id-pagingDRX ProtocolIE-ID ::= 44
-id-TAIList ProtocolIE-ID ::= 46
-id-TAIItem ProtocolIE-ID ::= 47
-id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48
-id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49
-id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50
-id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51
-id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52
-id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53
-id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55
-id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57
-id-CriticalityDiagnostics ProtocolIE-ID ::= 58
-id-Global-ENB-ID ProtocolIE-ID ::= 59
-id-eNBname ProtocolIE-ID ::= 60
-id-MMEname ProtocolIE-ID ::= 61
-id-ServedPLMNs ProtocolIE-ID ::= 63
-id-SupportedTAs ProtocolIE-ID ::= 64
-id-TimeToWait ProtocolIE-ID ::= 65
-id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66
-id-TAI ProtocolIE-ID ::= 67
-id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69
-id-cdma2000PDU ProtocolIE-ID ::= 70
-id-cdma2000RATType ProtocolIE-ID ::= 71
-id-cdma2000SectorID ProtocolIE-ID ::= 72
-id-SecurityKey ProtocolIE-ID ::= 73
-id-UERadioCapability ProtocolIE-ID ::= 74
-id-GUMMEI-ID ProtocolIE-ID ::= 75
-id-E-RABInformationListItem ProtocolIE-ID ::= 78
-id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79
-id-UEIdentityIndexValue ProtocolIE-ID ::= 80
-id-cdma2000HOStatus ProtocolIE-ID ::= 83
-id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84
-id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86
-id-RelativeMMECapacity ProtocolIE-ID ::= 87
-id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88
-id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89
-id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90
-id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91
-id-ResetType ProtocolIE-ID ::= 92
-id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93
-id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94
-id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95
-id-S-TMSI ProtocolIE-ID ::= 96
-id-cdma2000OneXRAND ProtocolIE-ID ::= 97
-id-RequestType ProtocolIE-ID ::= 98
-id-UE-S1AP-IDs ProtocolIE-ID ::= 99
-id-EUTRAN-CGI ProtocolIE-ID ::= 100
-id-OverloadResponse ProtocolIE-ID ::= 101
-id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102
-id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103
-id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104
-id-ServedGUMMEIs ProtocolIE-ID ::= 105
-id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106
-id-UESecurityCapabilities ProtocolIE-ID ::= 107
-id-CSFallbackIndicator ProtocolIE-ID ::= 108
-id-CNDomain ProtocolIE-ID ::= 109
-id-E-RABReleasedList ProtocolIE-ID ::= 110
-id-MessageIdentifier ProtocolIE-ID ::= 111
-id-SerialNumber ProtocolIE-ID ::= 112
-id-WarningAreaList ProtocolIE-ID ::= 113
-id-RepetitionPeriod ProtocolIE-ID ::= 114
-id-NumberofBroadcastRequest ProtocolIE-ID ::= 115
-id-WarningType ProtocolIE-ID ::= 116
-id-WarningSecurityInfo ProtocolIE-ID ::= 117
-id-DataCodingScheme ProtocolIE-ID ::= 118
-id-WarningMessageContents ProtocolIE-ID ::= 119
-id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120
-id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121
-id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122
-id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123
-id-SRVCCOperationPossible ProtocolIE-ID ::= 124
-id-SRVCCHOIndication ProtocolIE-ID ::= 125
-id-NAS-DownlinkCount ProtocolIE-ID ::= 126
-id-CSG-Id ProtocolIE-ID ::= 127
-id-CSG-IdList ProtocolIE-ID ::= 128
-id-SONConfigurationTransferECT ProtocolIE-ID ::= 129
-id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130
-id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131
-id-MSClassmark2 ProtocolIE-ID ::= 132
-id-MSClassmark3 ProtocolIE-ID ::= 133
-id-RRC-Establishment-Cause ProtocolIE-ID ::= 134
-id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135
-id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136
-id-DefaultPagingDRX ProtocolIE-ID ::= 137
-id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138
-id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-Containers.asn b/lib/asn1/test/asn1_bin_SUITE_data/S1AP-Containers.asn
deleted file mode 100644
index 63883f424c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-Containers.asn
+++ /dev/null
@@ -1,201 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.7 Container Definitions
--- **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
-
-S1AP-Containers {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- Presence,
- PrivateIE-ID,
- ProtocolExtensionID,
- ProtocolIE-ID
-FROM S1AP-CommonDataTypes
-
- maxPrivateIEs,
- maxProtocolExtensions,
- maxProtocolIEs
-FROM S1AP-Constants;
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-S1AP-PROTOCOL-IES ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-S1AP-PROTOCOL-IES-PAIR ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &firstCriticality Criticality,
- &FirstValue,
- &secondCriticality Criticality,
- &SecondValue,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- FIRST CRITICALITY &firstCriticality
- FIRST TYPE &FirstValue
- SECOND CRITICALITY &secondCriticality
- SECOND TYPE &SecondValue
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol Extensions
---
--- **************************************************************
-
-S1AP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolExtensionID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Private IEs
---
--- **************************************************************
-
-S1AP-PRIVATE-IES ::= CLASS {
- &id PrivateIE-ID,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Container for Protocol IEs
---
--- **************************************************************
-
-ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id S1AP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Protocol IE Pairs
---
--- **************************************************************
-
-ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-FieldPair {{IEsSetParam}}
-
-ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
- id S1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
- firstCriticality S1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
- firstValue S1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
- secondCriticality S1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
- secondValue S1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-SingleContainer {{IEsSetParam}}
-
-ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-ContainerPair {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id S1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality S1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue S1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Private IEs
---
--- **************************************************************
-
-PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
- SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
- PrivateIE-Field {{IEsSetParam}}
-
-PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
- id S1AP-PRIVATE-IES.&id ({IEsSetParam}),
- criticality S1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
- value S1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-IEs.asn b/lib/asn1/test/asn1_bin_SUITE_data/S1AP-IEs.asn
deleted file mode 100644
index 719bf1359b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-IEs.asn
+++ /dev/null
@@ -1,1178 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.4 Information Element Definitions
--- **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
-S1AP-IEs {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-IEs (2) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- id-E-RABInformationListItem,
- id-E-RABItem,
- id-Bearers-SubjectToStatusTransfer-Item,
- maxNrOfCSGs,
- maxNrOfE-RABs,
- maxNrOfErrors,
- maxnoofBPLMNs,
- maxnoofPLMNsPerMME,
- maxnoofTACs,
- maxnoofEPLMNs,
- maxnoofEPLMNsPlusOne,
- maxnoofForbLACs,
- maxnoofForbTACs,
- maxnoofTACs,
- maxnoofCells,
- maxnoofCellID,
- maxnoofEmergencyAreaID,
- maxnoofTAIforWarning,
- maxnoofCellinTAI,
- maxnoofCellinEAI,
- maxnoofeNBX2TLAs,
- maxnoofRATs,
- maxnoofGroupIDs,
- maxnoofMMECs
-
-
-
-FROM S1AP-Constants
-
- Criticality,
- ProcedureCode,
- ProtocolIE-ID,
- TriggeringMessage
-FROM S1AP-CommonDataTypes
-
- ProtocolExtensionContainer{},
- S1AP-PROTOCOL-EXTENSION,
- ProtocolIE-SingleContainer{},
- S1AP-PROTOCOL-IES
-
-FROM S1AP-Containers;
-
--- A
-
-
-AllocationAndRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
- iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationAndRetentionPriority-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- B
-
-Bearers-SubjectToStatusTransferList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { Bearers-SubjectToStatusTransfer-ItemIEs } }
-
-Bearers-SubjectToStatusTransfer-ItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Bearers-SubjectToStatusTransfer-Item CRITICALITY ignore TYPE Bearers-SubjectToStatusTransfer-Item PRESENCE mandatory },
- ...
-}
-
-Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- uL-COUNTvalue COUNTvalue,
- dL-COUNTvalue COUNTvalue,
- receiveStatusofULPDCPSDUs ReceiveStatusofULPDCPSDUs OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {Bearers-SubjectToStatusTransfer-ItemExtIEs} } OPTIONAL,
- ...
-}
-
-Bearers-SubjectToStatusTransfer-ItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-BitRate ::= INTEGER (0..10000000000)
-
-BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity
-
-BroadcastCompletedAreaList ::= CHOICE {
- cellID-Broadcast CellID-Broadcast,
- tAI-Broadcast TAI-Broadcast,
- emergencyAreaID-Broadcast EmergencyAreaID-Broadcast,
- ...
-}
-
-
--- C
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transport CauseTransport,
- nas CauseNas,
- protocol CauseProtocol,
- misc CauseMisc,
- ...
-}
-
-CauseMisc ::= ENUMERATED {
- control-processing-overload,
- not-enough-user-plane-processing-resources,
- hardware-failure,
- om-intervention,
- unspecified,
- unknown-PLMN,
-...
-}
-
-CauseProtocol ::= ENUMERATED {
- transfer-syntax-error,
- abstract-syntax-error-reject,
- abstract-syntax-error-ignore-and-notify,
- message-not-compatible-with-receiver-state,
- semantic-error,
- abstract-syntax-error-falsely-constructed-message,
- unspecified,
- ...
-}
-
-CauseRadioNetwork ::= ENUMERATED {
- unspecified,
- tx2relocoverall-expiry,
- successful-handover,
- release-due-to-eutran-generated-reason,
- handover-cancelled,
- partial-handover,
- ho-failure-in-target-EPC-eNB-or-target-system,
- ho-target-not-allowed,
- tS1relocoverall-expiry,
- tS1relocprep-expiry,
- cell-not-available,
- unknown-targetID,
- no-radio-resources-available-in-target-cell,
- unknown-mme-ue-s1ap-id,
- unknown-enb-ue-s1ap-id,
- unknown-pair-ue-s1ap-id,
- handover-desirable-for-radio-reason,
- time-critical-handover,
- resource-optimisation-handover,
- reduce-load-in-serving-cell,
- user-inactivity,
- radio-connection-with-ue-lost,
- load-balancing-tau-required,
- cs-fallback-triggered,
- ue-not-available-for-ps-service,
- radio-resources-not-available,
- failure-in-radio-interface-procedure,
- invalid-qos-combination,
- interrat-redirection,
- interaction-with-other-procedure,
- unknown-E-RAB-ID,
- multiple-E-RAB-ID-instances,
- encryption-and-or-integrity-protection-algorithms-not-supported,
- s1-intra-system-handover-triggered,
- s1-inter-system-handover-triggered,
- x2-handover-triggered,
- ...,
- redirection-towards-1xRTT
-
-}
-
-CauseTransport ::= ENUMERATED {
- transport-resource-unavailable,
- unspecified,
- ...
-}
-
-CauseNas ::= ENUMERATED {
- normal-release,
- authentication-failure,
- detach,
- unspecified,
- ...
-}
-
-CellIdentity ::= BIT STRING (SIZE (28))
-
-CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item
-
-CellID-Broadcast-Item ::= SEQUENCE {
- eCGI EUTRAN-CGI,
- iE-Extensions ProtocolExtensionContainer { {CellID-Broadcast-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-Cdma2000PDU ::= OCTET STRING
-
-Cdma2000RATType ::= ENUMERATED {
- hRPD,
- onexRTT,
- ...
-}
-
-Cdma2000SectorID ::= OCTET STRING
-
-Cdma2000HOStatus ::= ENUMERATED {
- hOSuccess,
- hOFailure,
- ...
-}
-
-Cdma2000HORequiredIndication ::= ENUMERATED {
- true,
- ...
-}
-
-Cdma2000OneXSRVCCInfo ::= SEQUENCE {
- cdma2000OneXMEID Cdma2000OneXMEID,
- cdma2000OneXMSI Cdma2000OneXMSI,
- cdma2000OneXPilot Cdma2000OneXPilot,
- iE-Extensions ProtocolExtensionContainer { {Cdma2000OneXSRVCCInfo-ExtIEs} } OPTIONAL,
- ...
-}
-
-Cdma2000OneXSRVCCInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Cdma2000OneXMEID ::= OCTET STRING
-
-Cdma2000OneXMSI ::= OCTET STRING
-
-Cdma2000OneXPilot ::= OCTET STRING
-
-Cdma2000OneXRAND ::= OCTET STRING
-
-
-Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ...}
-
-CellType ::= SEQUENCE {
- cell-Size Cell-Size,
- iE-Extensions ProtocolExtensionContainer { { CellType-ExtIEs}} OPTIONAL,
- ...
-}
-
-CellType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- cI CI,
- rAC RAC OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL,
- ...
- }
-
-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CI ::= OCTET STRING (SIZE (2))
-
-CNDomain ::= ENUMERATED {
- ps,
- cs
-}
-
-CSFallbackIndicator ::= ENUMERATED {
- cs-fallback-required,
- ...,
- cs-fallback-high-priority
-}
-
-CSG-Id ::= BIT STRING (SIZE (27))
-
-
-CSG-IdList ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF CSG-IdList-Item
-
-CSG-IdList-Item ::= SEQUENCE {
- cSG-Id CSG-Id,
- iE-Extensions ProtocolExtensionContainer { {CSG-IdList-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-COUNTvalue ::= SEQUENCE {
- pDCP-SN PDCP-SN,
- hFN HFN,
- iE-Extensions ProtocolExtensionContainer { {COUNTvalue-ExtIEs} } OPTIONAL,
- ...
-}
-COUNTvalue-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureCode ProcedureCode OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- procedureCriticality Criticality OPTIONAL,
- iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}} OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF CriticalityDiagnostics-IE-Item
-
-CriticalityDiagnostics-IE-Item ::= SEQUENCE {
- iECriticality Criticality,
- iE-ID ProtocolIE-ID,
- typeOfError TypeOfError,
- iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-IE-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- D
-
-DataCodingScheme ::= BIT STRING (SIZE (8))
-
-DL-Forwarding ::= ENUMERATED {
- dL-Forwarding-proposed,
- ...
-}
-
-Direct-Forwarding-Path-Availability ::= ENUMERATED {
- directPathAvailable,
- ...
-}
-
--- E
-
-ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI
-
-EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID
-
-EmergencyAreaID ::= OCTET STRING (SIZE (3))
-
-EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-Item
-
-EmergencyAreaID-Broadcast-Item ::= SEQUENCE {
- emergencyAreaID EmergencyAreaID,
- completedCellinEAI CompletedCellinEAI,
- iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-EmergencyAreaID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-CompletedCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellinEAI-Item
-
-CompletedCellinEAI-Item ::= SEQUENCE {
- eCGI EUTRAN-CGI,
- iE-Extensions ProtocolExtensionContainer { {CompletedCellinEAI-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-CompletedCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ENB-ID ::= CHOICE {
- macroENB-ID BIT STRING (SIZE(20)),
- homeENB-ID BIT STRING (SIZE(28)),
- ...
-}
-
-GERAN-Cell-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- cI CI,
- iE-Extensions ProtocolExtensionContainer { { GERAN-Cell-ID-ExtIEs} } OPTIONAL,
- ...
-}
-
-GERAN-Cell-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Global-ENB-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- eNB-ID ENB-ID,
- iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
- ...
-}
-
-GlobalENB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-ENB-StatusTransfer-TransparentContainer ::= SEQUENCE {
- bearers-SubjectToStatusTransferList Bearers-SubjectToStatusTransferList,
- iE-Extensions ProtocolExtensionContainer { {ENB-StatusTransfer-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-ENB-StatusTransfer-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ENB-UE-S1AP-ID ::= INTEGER (0..16777215)
-
-ENBname ::= PrintableString (SIZE (1..150,...))
-
-ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress
-
-EncryptionAlgorithms ::= BIT STRING (SIZE (16,...))
-
-EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNidentity
-EventType ::= ENUMERATED {
- direct,
- change-of-serve-cell,
- stop-change-of-serve-cell,
- ...
-}
-
-E-RAB-ID ::= INTEGER (0..15, ...)
-
-E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { E-RABInformationListIEs } }
-
-E-RABInformationListIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABInformationListItem CRITICALITY ignore TYPE E-RABInformationListItem PRESENCE mandatory },
- ...
-}
-
-E-RABInformationListItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- dL-Forwarding DL-Forwarding OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {E-RABInformationListItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABInformationListItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} }
-
-E-RABItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABItem CRITICALITY ignore TYPE E-RABItem PRESENCE mandatory },
- ...
-}
-
-E-RABItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {E-RABItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
-
-E-RABLevelQoSParameters ::= SEQUENCE {
- qCI QCI,
- allocationRetentionPriority AllocationAndRetentionPriority,
- gbrQosInformation GBR-QosInformation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {E-RABQoSParameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-EUTRAN-CGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- cell-ID CellIdentity,
- iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL,
- ...
-}
-
-EUTRAN-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ExtendedRNC-ID ::= INTEGER (4096..65535)
-
--- F
-
-ForbiddenInterRATs ::= ENUMERATED {
- all,
- geran,
- utran,
- cdma2000,
- ...
-}
-
-ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item
-
-ForbiddenTAs-Item ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- forbiddenTACs ForbiddenTACs,
- iE-Extensions ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-ForbiddenTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC
-
-ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item
-
-ForbiddenLAs-Item ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- forbiddenLACs ForbiddenLACs,
- iE-Extensions ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-ForbiddenLAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC
-
--- G
-
-GBR-QosInformation ::= SEQUENCE {
- e-RAB-MaximumBitrateDL BitRate,
- e-RAB-MaximumBitrateUL BitRate,
- e-RAB-GuaranteedBitrateDL BitRate,
- e-RAB-GuaranteedBitrateUL BitRate,
- iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-GBR-QosInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-GTP-TEID ::= OCTET STRING (SIZE (4))
-
-GUMMEI ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- mME-Group-ID MME-Group-ID,
- mME-Code MME-Code,
- iE-Extensions ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
- ...
-}
-
-GUMMEI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- H
-
-HandoverRestrictionList ::= SEQUENCE {
- servingPLMN PLMNidentity,
- equivalentPLMNs EPLMNs OPTIONAL,
- forbiddenTAs ForbiddenTAs OPTIONAL,
- forbiddenLAs ForbiddenLAs OPTIONAL,
- forbiddenInterRATs ForbiddenInterRATs OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL,
- ...
-}
-
-HandoverRestrictionList-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HandoverType ::= ENUMERATED {
- intralte,
- ltetoutran,
- ltetogeran,
- utrantolte,
- gerantolte,
- ...
-}
-
-HFN ::= INTEGER (0..1048575)
-
--- I
-
-IMSI ::= OCTET STRING (SIZE (3..8))
-
-IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))
-
-InterfacesToTrace ::= BIT STRING (SIZE (8))
-
-
-
--- J
--- K
--- L
-
-
-LAC ::= OCTET STRING (SIZE (2))
-
-LAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL,
- ...
-}
-
-LAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LastVisitedCell-Item ::= CHOICE {
- e-UTRAN-Cell LastVisitedEUTRANCellInformation,
- uTRAN-Cell LastVisitedUTRANCellInformation,
- gERAN-Cell LastVisitedGERANCellInformation,
- ...
-}
-LastVisitedEUTRANCellInformation ::= SEQUENCE {
- global-Cell-ID EUTRAN-CGI,
- cellType CellType,
- time-UE-StayedInCell Time-UE-StayedInCell,
- iE-Extensions ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL,
- ...
-}
-LastVisitedEUTRANCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-LastVisitedUTRANCellInformation ::= OCTET STRING
-
-LastVisitedGERANCellInformation ::= CHOICE {
- undefined NULL,
- ...
-}
-
-L3-Information ::= OCTET STRING
-
-
--- M
-
-MessageIdentifier ::= BIT STRING (SIZE (16))
-
-MMEname ::= PrintableString (SIZE (1..150,...))
-
-MME-Group-ID ::= OCTET STRING (SIZE (2))
-
-MME-Code ::= OCTET STRING (SIZE (1))
-
-MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
-M-TMSI ::= OCTET STRING (SIZE (4))
-
-MSClassmark2 ::= OCTET STRING
-MSClassmark3 ::= OCTET STRING
-
--- N
-
-NAS-PDU ::= OCTET STRING
-
-NASSecurityParametersfromE-UTRAN ::= OCTET STRING
-
-NASSecurityParameterstoE-UTRAN ::= OCTET STRING
-
-NumberofBroadcastRequest ::= INTEGER (0..65535)
-
-NumberofBroadcast ::= INTEGER (0..65535)
-
--- O
-OldBSS-ToNewBSS-Information ::= OCTET STRING
-
-OverloadAction ::= ENUMERATED {
-reject-non-emergency-mo-dt,
-reject-all-rrc-cr-signalling,
-permit-emergency-sessions-only,
- ...
-}
-
-OverloadResponse ::= CHOICE {
- overloadAction OverloadAction,
- ...
-}
-
-
--- P
-
-PagingDRX ::= ENUMERATED {
- v32,
- v64,
- v128,
- v256,
- ...
- }
-
-PDCP-SN ::= INTEGER (0..4095)
-
-PLMNidentity ::= TBCD-STRING
-
-Pre-emptionCapability ::= ENUMERATED {
- shall-not-trigger-pre-emption,
- may-trigger-pre-emption
-}
-
-Pre-emptionVulnerability ::= ENUMERATED {
- not-pre-emptable,
- pre-emptable
-}
-
-PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
-
-
--- Q
-
-QCI ::= INTEGER (0..255)
-
--- R
-
-ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))
-
-RelativeMMECapacity ::= INTEGER (0..255)
-
-RAC ::= OCTET STRING (SIZE (1))
-
-
-RequestType ::= SEQUENCE {
- eventType EventType,
- reportArea ReportArea,
- iE-Extensions ProtocolExtensionContainer { { RequestType-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RequestType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RIMTransfer ::= SEQUENCE {
- rIMInformation RIMInformation,
- rIMRoutingAddress RIMRoutingAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RIMTransfer-ExtIEs} } OPTIONAL,
-...
-}
-
-RIMTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RIMInformation ::= OCTET STRING
-
-RIMRoutingAddress ::= CHOICE {
- gERAN-Cell-ID GERAN-Cell-ID,
- ...
-}
-
-ReportArea ::= ENUMERATED {
- ecgi,
- ...
-}
-
-RepetitionPeriod ::= INTEGER (0..4096)
-
-
-RNC-ID ::= INTEGER (0..4095)
-
-RRC-Container ::= OCTET STRING
-
-RRC-Establishment-Cause ::= ENUMERATED {
- emergency,
- highPriorityAccess,
- mt-Access,
- mo-Signalling,
- mo-Data,
- ...
-}
-
--- S
-
-
-SecurityKey ::= BIT STRING (SIZE(256))
-
-
-
-SecurityContext ::= SEQUENCE {
- nextHopChainingCount INTEGER (0..7),
- nextHopParameter SecurityKey,
- iE-Extensions ProtocolExtensionContainer { { SecurityContext-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-SecurityContext-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SerialNumber ::= BIT STRING (SIZE (16))
-
-SONInformation ::= CHOICE{
- sONInformationRequest SONInformationRequest,
- sONInformationReply SONInformationReply,
- ...
-}
-
-SONInformationRequest ::= ENUMERATED {
- x2TNL-Configuration-Info,
- ...
-}
-
-SONInformationReply ::= SEQUENCE {
- x2TNLConfigurationInfo X2TNLConfigurationInfo OPTIONAL,
- iE-Extensions ProtocolExtensionContainer {{SONInformationReply-ExtIEs}} OPTIONAL,
- ...
-}
-
-SONInformationReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-SONConfigurationTransfer ::= SEQUENCE {
- targeteNB-ID TargeteNB-ID,
- sourceeNB-ID SourceeNB-ID,
- sONInformation SONInformation,
- iE-Extensions ProtocolExtensionContainer { { SONConfigurationTransfer-ExtIEs} } OPTIONAL,
-...
-}
-
-SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
-Source-ToTarget-TransparentContainer ::= OCTET STRING
-
-SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
-SourceeNB-ID ::= SEQUENCE {
- global-ENB-ID Global-ENB-ID,
- selected-TAI TAI,
- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ID-ExtIEs} } OPTIONAL
-}
-
-SourceeNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRVCCOperationPossible ::= ENUMERATED {
- possible,
- ...
-}
-
-SRVCCHOIndication ::= ENUMERATED {
- pSandCS,
- cSonly,
- ...
-}
-
-SourceeNB-ToTargeteNB-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- e-RABInformationList E-RABInformationList OPTIONAL,
- targetCell-ID EUTRAN-CGI,
- subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL,
- uE-HistoryInformation UE-HistoryInformation,
- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING
-
-
-ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem
-
-ServedGUMMEIsItem ::= SEQUENCE {
- servedPLMNs ServedPLMNs,
- servedGroupIDs ServedGroupIDs,
- servedMMECs ServedMMECs,
- iE-Extensions ProtocolExtensionContainer { {ServedGUMMEIsItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ServedGUMMEIsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ServedGroupIDs ::= SEQUENCE (SIZE(1.. maxnoofGroupIDs)) OF MME-Group-ID
-ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code
-
-ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity
-
-SubscriberProfileIDforRFP ::= INTEGER (1..256)
-
-SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item
-
-SupportedTAs-Item ::= SEQUENCE {
- tAC TAC,
- broadcastPLMNs BPLMNs,
- iE-Extensions ProtocolExtensionContainer { {SupportedTAs-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-SupportedTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-S-TMSI ::= SEQUENCE {
- mMEC MME-Code,
- m-TMSI M-TMSI,
- iE-Extensions ProtocolExtensionContainer { {S-TMSI-ExtIEs} } OPTIONAL,
- ...
-}
-
-S-TMSI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- T
-
-TAC ::= OCTET STRING (SIZE (2))
-
-TAIListforWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI
-
-TAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- tAC TAC,
- iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL,
- ...
-}
-
-TAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TAI-Broadcast ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-Item
-
-TAI-Broadcast-Item ::= SEQUENCE {
- tAI TAI,
- completedCellinTAI CompletedCellinTAI,
- iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-TAI-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item
-
-CompletedCellinTAI-Item ::= SEQUENCE{
- eCGI EUTRAN-CGI,
- iE-Extensions ProtocolExtensionContainer { {CompletedCellinTAI-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-CompletedCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TBCD-STRING ::= OCTET STRING (SIZE (3))
-
-TargetID ::= CHOICE {
- targeteNB-ID TargeteNB-ID,
- targetRNC-ID TargetRNC-ID,
- cGI CGI,
- ...
-}
-
-TargeteNB-ID ::= SEQUENCE {
- global-ENB-ID Global-ENB-ID,
- selected-TAI TAI,
- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL,
- ...
-}
-
-TargeteNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TargetRNC-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC OPTIONAL,
- rNC-ID RNC-ID,
- extendedRNC-ID ExtendedRNC-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL,
- ...
- }
-
-
-TargetRNC-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-TargeteNB-ToSourceeNB-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Target-ToSource-TransparentContainer ::= OCTET STRING
-TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING
-TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING
-
-TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
-
-Time-UE-StayedInCell ::= INTEGER (0..4095)
-
-TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
-
-TraceActivation ::= SEQUENCE {
- e-UTRAN-Trace-ID E-UTRAN-Trace-ID,
- interfacesToTrace InterfacesToTrace,
-traceDepth TraceDepth,
-traceCollectionEntityIPAddress TransportLayerAddress,
- iE-Extensions ProtocolExtensionContainer { { TraceActivation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TraceDepth ::= ENUMERATED {
- minimum,
- medium,
- maximum,
- minimumWithoutVendorSpecificExtension,
- mediumWithoutVendorSpecificExtension,
- maximumWithoutVendorSpecificExtension,
- ...
-}
-
-E-UTRAN-Trace-ID ::= OCTET STRING (SIZE (8))
-
-TypeOfError ::= ENUMERATED {
- not-understood,
- missing,
- ...
-}
-
--- U
-
-UEAggregateMaximumBitrate ::= SEQUENCE {
- uEaggregateMaximumBitRateDL BitRate,
- uEaggregateMaximumBitRateUL BitRate,
- iE-Extensions ProtocolExtensionContainer { {UEAggregate-MaximumBitrates-ExtIEs} } OPTIONAL,
- ...
-}
-
-UEAggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
-UE-S1AP-IDs ::= CHOICE{
- uE-S1AP-ID-pair UE-S1AP-ID-pair,
- mME-UE-S1AP-ID MME-UE-S1AP-ID,
- ...
-}
-
-UE-S1AP-ID-pair ::= SEQUENCE{
- mME-UE-S1AP-ID MME-UE-S1AP-ID,
- eNB-UE-S1AP-ID ENB-UE-S1AP-ID,
- iE-Extensions ProtocolExtensionContainer { {UE-S1AP-ID-pair-ExtIEs} } OPTIONAL,
- ...
-}
-UE-S1AP-ID-pair-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE {
- mME-UE-S1AP-ID MME-UE-S1AP-ID OPTIONAL,
- eNB-UE-S1AP-ID ENB-UE-S1AP-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UE-associatedLogicalS1-ConnectionItemExtIEs} } OPTIONAL,
- ...
-}
-
-
-UE-associatedLogicalS1-ConnectionItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UEIdentityIndexValue ::= BIT STRING (SIZE (10))
-
-UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item
-
-UEPagingID ::= CHOICE {
- s-TMSI S-TMSI,
- iMSI IMSI,
- ...
- }
-
-UERadioCapability ::= OCTET STRING
-
-UESecurityCapabilities ::= SEQUENCE {
- encryptionAlgorithms EncryptionAlgorithms,
- integrityProtectionAlgorithms IntegrityProtectionAlgorithms,
- iE-Extensions ProtocolExtensionContainer { { UESecurityCapabilities-ExtIEs} } OPTIONAL,
-...
-}
-
-UESecurityCapabilities-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- V
--- W
-
-WarningAreaList ::= CHOICE {
- cellIDList ECGIList,
- trackingAreaListforWarning TAIListforWarning,
- emergencyAreaIDList EmergencyAreaIDList,
- ...
-}
-
-
-WarningType ::= OCTET STRING (SIZE (2))
-
-WarningSecurityInfo ::= OCTET STRING (SIZE (50))
-
-
-WarningMessageContents ::= OCTET STRING (SIZE(1..9600))
-
-
--- X
-
-
-X2TNLConfigurationInfo ::= SEQUENCE {
- eNBX2TransportLayerAddresses ENBX2TLAs,
- iE-Extensions ProtocolExtensionContainer { { X2TNLConfigurationInfo-ExtIEs} } OPTIONAL,
- ...
-}
-
-X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- Y
--- Z
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-PDU-Contents.asn b/lib/asn1/test/asn1_bin_SUITE_data/S1AP-PDU-Contents.asn
deleted file mode 100644
index e9762a2b62..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-PDU-Contents.asn
+++ /dev/null
@@ -1,2083 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.3 PDU Definitions
--- **************************************************************
---
--- PDU definitions for S1AP.
---
--- **************************************************************
-
-S1AP-PDU-Contents {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-PDU-Contents (1) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
-
- UEAggregateMaximumBitrate,
- Cause,
- Cdma2000HORequiredIndication,
- Cdma2000HOStatus,
- Cdma2000OneXSRVCCInfo,
- Cdma2000OneXRAND,
- Cdma2000PDU,
- Cdma2000RATType,
- Cdma2000SectorID,
- CNDomain,
- CriticalityDiagnostics,
- CSFallbackIndicator,
- CSG-Id,
- CSG-IdList,
- Direct-Forwarding-Path-Availability,
- Global-ENB-ID,
- EUTRAN-CGI,
- ENBname,
- ENB-StatusTransfer-TransparentContainer,
- ENB-UE-S1AP-ID,
- GTP-TEID,
- GUMMEI,
- HandoverRestrictionList,
- HandoverType,
- MMEname,
- MME-UE-S1AP-ID,
- MSClassmark2,
- MSClassmark3,
- NAS-PDU,
- NASSecurityParametersfromE-UTRAN,
- NASSecurityParameterstoE-UTRAN,
- OverloadResponse,
- PagingDRX,
- PLMNidentity,
- RIMTransfer,
- RelativeMMECapacity,
- RequestType,
- E-RAB-ID,
- E-RABLevelQoSParameters,
- E-RABList,
- SecurityKey,
- SecurityContext,
- ServedGUMMEIs,
- SONConfigurationTransfer,
- Source-ToTarget-TransparentContainer,
- SourceBSS-ToTargetBSS-TransparentContainer,
- SourceeNB-ToTargeteNB-TransparentContainer,
- SourceRNC-ToTargetRNC-TransparentContainer,
- SubscriberProfileIDforRFP,
- SRVCCOperationPossible,
- SRVCCHOIndication,
- SupportedTAs,
- TAI,
- Target-ToSource-TransparentContainer,
- TargetBSS-ToSourceBSS-TransparentContainer,
- TargeteNB-ToSourceeNB-TransparentContainer,
- TargetID,
- TargetRNC-ToSourceRNC-TransparentContainer,
- TimeToWait,
- TraceActivation,
- E-UTRAN-Trace-ID,
- TransportLayerAddress,
- UEIdentityIndexValue,
- UEPagingID,
- UERadioCapability,
- UE-S1AP-IDs,
- UE-associatedLogicalS1-ConnectionItem,
- UESecurityCapabilities,
- S-TMSI,
- MessageIdentifier,
- SerialNumber,
- WarningAreaList,
- RepetitionPeriod,
- NumberofBroadcastRequest,
- WarningType,
- WarningSecurityInfo,
- DataCodingScheme,
- WarningMessageContents,
- BroadcastCompletedAreaList,
- RRC-Establishment-Cause
-
-FROM S1AP-IEs
-
- PrivateIE-Container{},
- ProtocolExtensionContainer{},
- ProtocolIE-Container{},
- ProtocolIE-ContainerList{},
- ProtocolIE-ContainerPair{},
- ProtocolIE-ContainerPairList{},
- ProtocolIE-SingleContainer{},
- S1AP-PRIVATE-IES,
- S1AP-PROTOCOL-EXTENSION,
- S1AP-PROTOCOL-IES,
- S1AP-PROTOCOL-IES-PAIR
-FROM S1AP-Containers
-
-
- id-uEaggregateMaximumBitrate,
- id-Cause,
- id-cdma2000HORequiredIndication,
- id-cdma2000HOStatus,
- id-cdma2000OneXSRVCCInfo,
- id-cdma2000OneXRAND,
- id-cdma2000PDU,
- id-cdma2000RATType,
- id-cdma2000SectorID,
- id-CNDomain,
- id-CriticalityDiagnostics,
- id-CSFallbackIndicator,
- id-CSG-Id,
- id-CSG-IdList,
- id-DefaultPagingDRX,
- id-Direct-Forwarding-Path-Availability,
- id-Global-ENB-ID,
- id-EUTRAN-CGI,
- id-eNBname,
- id-eNB-StatusTransfer-TransparentContainer,
- id-eNB-UE-S1AP-ID,
- id-GERANtoLTEHOInformationRes,
- id-GUMMEI-ID,
- id-HandoverRestrictionList,
- id-HandoverType,
- id-InitialContextSetup,
- id-Inter-SystemInformationTransferTypeEDT,
- id-Inter-SystemInformationTransferTypeMDT,
- id-NAS-DownlinkCount,
- id-MMEname,
- id-MME-UE-S1AP-ID,
- id-MSClassmark2,
- id-MSClassmark3,
- id-NAS-PDU,
- id-NASSecurityParametersfromE-UTRAN,
- id-NASSecurityParameterstoE-UTRAN,
- id-OverloadResponse,
- id-pagingDRX,
- id-RelativeMMECapacity,
- id-RequestType,
- id-E-RABAdmittedItem,
- id-E-RABAdmittedList,
- id-E-RABDataForwardingItem,
- id-E-RABFailedToModifyList,
- id-E-RABFailedToReleaseList,
- id-E-RABFailedtoSetupItemHOReqAck,
- id-E-RABFailedToSetupListBearerSURes,
- id-E-RABFailedToSetupListCtxtSURes,
- id-E-RABFailedToSetupListHOReqAck,
- id-E-RABFailedToBeReleasedList,
- id-E-RABModify,
- id-E-RABModifyItemBearerModRes,
- id-E-RABModifyListBearerModRes,
- id-E-RABRelease,
- id-E-RABReleaseItemBearerRelComp,
- id-E-RABReleaseItemHOCmd,
- id-E-RABReleaseListBearerRelComp,
- id-E-RABReleaseIndication,
- id-E-RABSetup,
- id-E-RABSetupItemBearerSURes,
- id-E-RABSetupItemCtxtSURes,
- id-E-RABSetupListBearerSURes,
- id-E-RABSetupListCtxtSURes,
- id-E-RABSubjecttoDataForwardingList,
- id-E-RABToBeModifiedItemBearerModReq,
- id-E-RABToBeModifiedListBearerModReq,
- id-E-RABToBeReleasedList,
- id-E-RABReleasedList,
- id-E-RABToBeSetupItemBearerSUReq,
- id-E-RABToBeSetupItemCtxtSUReq,
- id-E-RABToBeSetupItemHOReq,
- id-E-RABToBeSetupListBearerSUReq,
- id-E-RABToBeSetupListCtxtSUReq,
- id-E-RABToBeSetupListHOReq,
- id-E-RABToBeSwitchedDLItem,
- id-E-RABToBeSwitchedDLList,
- id-E-RABToBeSwitchedULList,
- id-E-RABToBeSwitchedULItem,
- id-E-RABtoReleaseListHOCmd,
- id-SecurityKey,
- id-SecurityContext,
- id-ServedGUMMEIs,
- id-SONConfigurationTransferECT,
- id-SONConfigurationTransferMCT,
- id-Source-ToTarget-TransparentContainer,
- id-Source-ToTarget-TransparentContainer-Secondary,
- id-SourceMME-UE-S1AP-ID,
- id-SRVCCOperationPossible,
- id-SRVCCHOIndication,
- id-SubscriberProfileIDforRFP,
- id-SupportedTAs,
- id-S-TMSI,
- id-TAI,
- id-TAIItem,
- id-TAIList,
- id-Target-ToSource-TransparentContainer,
- id-Target-ToSource-TransparentContainer-Secondary,
- id-TargetID,
- id-TimeToWait,
- id-TraceActivation,
- id-E-UTRAN-Trace-ID,
- id-UEIdentityIndexValue,
- id-UEPagingID,
- id-UERadioCapability,
- id-UTRANtoLTEHOInformationRes,
- id-UE-associatedLogicalS1-ConnectionListResAck,
- id-UE-associatedLogicalS1-ConnectionItem,
- id-UESecurityCapabilities,
- id-UE-S1AP-IDs,
- id-ResetType,
- id-MessageIdentifier,
- id-SerialNumber,
- id-WarningAreaList,
- id-RepetitionPeriod,
- id-NumberofBroadcastRequest,
- id-WarningType,
- id-WarningSecurityInfo,
- id-DataCodingScheme,
- id-WarningMessageContents,
- id-BroadcastCompletedAreaList,
- id-RRC-Establishment-Cause,
- id-TraceCollectionEntityIPAddress,
- maxnoofTAIs,
- maxNrOfErrors,
- maxNrOfE-RABs,
- maxNrOfIndividualS1ConnectionsToReset,
- maxnoofEmergencyAreaID,
- maxnoofCellID,
- maxnoofTAIforWarning,
- maxnoofCellinTAI,
- maxnoofCellinEAI
-
-
-FROM S1AP-Constants;
-
--- **************************************************************
---
--- Common Container Lists
---
--- **************************************************************
-
-E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} }
-E-RAB-IE-ContainerPairList { S1AP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfE-RABs, {IEsSetParam} }
-ProtocolError-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} }
-
--- **************************************************************
---
--- HANDOVER PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Required
---
--- **************************************************************
-
-HandoverRequired ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverRequiredIEs} },
- ...
-}
-
-HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } |
- { ID id-Direct-Forwarding-Path-Availability CRITICALITY ignore TYPE Direct-Forwarding-Path-Availability PRESENCE optional } |
- { ID id-SRVCCHOIndication CRITICALITY reject TYPE SRVCCHOIndication PRESENCE optional }|
- { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory }|
- { ID id-Source-ToTarget-TransparentContainer-Secondary CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE optional }|
- { ID id-MSClassmark2 CRITICALITY reject TYPE MSClassmark2 PRESENCE conditional }|
- { ID id-MSClassmark3 CRITICALITY ignore TYPE MSClassmark3 PRESENCE conditional },
- ...
-}
-
-
--- **************************************************************
---
--- Handover Command
---
--- **************************************************************
-
-HandoverCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCommandIEs} },
- ...
-}
-
-HandoverCommandIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-NASSecurityParametersfromE-UTRAN CRITICALITY reject TYPE NASSecurityParametersfromE-UTRAN PRESENCE conditional
- -- This IE shall be present if HandoverType IE is set to value "LTEtoUTRAN" or "LTEtoGERAN" -- }|
- { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABSubjecttoDataForwardingList PRESENCE optional } |
- { ID id-E-RABtoReleaseListHOCmd CRITICALITY ignore TYPE E-RABList PRESENCE optional } |
- { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }|
- { ID id-Target-ToSource-TransparentContainer-Secondary CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABSubjecttoDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} }
-
-E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABDataForwardingItem CRITICALITY ignore TYPE E-RABDataForwardingItem PRESENCE mandatory },
- ...
-}
-
-E-RABDataForwardingItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABDataForwardingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- Handover Preparation Failure
---
--- **************************************************************
-
-HandoverPreparationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverPreparationFailureIEs} },
- ...
-}
-
-HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER RESOURCE ALLOCATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Request
---
--- **************************************************************
-
-HandoverRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {HandoverRequestIEs} },
- ...
-}
-
-HandoverRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }|
- { ID id-E-RABToBeSetupListHOReq CRITICALITY reject TYPE E-RABToBeSetupListHOReq PRESENCE mandatory } |
- { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory } |
- { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }|
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }|
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional }|
- { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
- { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
- { ID id-NASSecurityParameterstoE-UTRAN CRITICALITY reject TYPE NASSecurityParameterstoE-UTRAN PRESENCE conditional
- -- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" -- },
- ...
-}
-
-E-RABToBeSetupListHOReq ::= E-RAB-IE-ContainerList { {E-RABToBeSetupItemHOReqIEs} }
-
-E-RABToBeSetupItemHOReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemHOReq CRITICALITY reject TYPE E-RABToBeSetupItemHOReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemHOReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- e-RABlevelQosParameters E-RABLevelQoSParameters,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABToBeSetupItemHOReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Handover Request Acknowledge
---
--- **************************************************************
-
-HandoverRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {HandoverRequestAcknowledgeIEs} },
- ...
-}
-
-HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-E-RABAdmittedList CRITICALITY ignore TYPE E-RABAdmittedList PRESENCE mandatory } |
- { ID id-E-RABFailedToSetupListHOReqAck CRITICALITY ignore TYPE E-RABFailedtoSetupListHOReqAck PRESENCE optional } |
- { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABAdmittedList ::= E-RAB-IE-ContainerList { {E-RABAdmittedItemIEs} }
-
-E-RABAdmittedItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABAdmittedItem CRITICALITY ignore TYPE E-RABAdmittedItem PRESENCE mandatory },
- ...
-}
-
-E-RABAdmittedItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABAdmittedItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-E-RABFailedtoSetupListHOReqAck ::= E-RAB-IE-ContainerList { {E-RABFailedtoSetupItemHOReqAckIEs} }
-
-E-RABFailedtoSetupItemHOReqAckIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABFailedtoSetupItemHOReqAck CRITICALITY ignore TYPE E-RABFailedToSetupItemHOReqAck PRESENCE mandatory },
- ...
-}
-
-E-RABFailedToSetupItemHOReqAck ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { E-RABFailedToSetupItemHOReqAckExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABFailedToSetupItemHOReqAckExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Handover Failure
---
--- **************************************************************
-
-HandoverFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverFailureIEs} },
- ...
-}
-
-HandoverFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER NOTIFICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Notify
---
--- **************************************************************
-
-HandoverNotify ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverNotifyIEs} },
- ...
-}
-
-HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory},
- ...
-}
-
--- **************************************************************
---
--- PATH SWITCH REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Path Switch Request
---
--- **************************************************************
-
-PathSwitchRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestIEs} },
- ...
-}
-
-PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory }|
- { ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}|
- { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedDLList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedDLItemIEs} }
-
-E-RABToBeSwitchedDLItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSwitchedDLItem CRITICALITY reject TYPE E-RABToBeSwitchedDLItem PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedDLItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABToBeSwitchedDLItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Path Switch Request Acknowledge
---
--- **************************************************************
-
-PathSwitchRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestAcknowledgeIEs} },
- ...
-}
-
-PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeSwitchedULList CRITICALITY ignore TYPE E-RABToBeSwitchedULList PRESENCE optional }|
- { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABToBeSwitchedULList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedULItemIEs} }
-
-E-RABToBeSwitchedULItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSwitchedULItem CRITICALITY ignore TYPE E-RABToBeSwitchedULItem PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedULItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABToBeSwitchedULItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Path Switch Request Failure
---
--- **************************************************************
-
-PathSwitchRequestFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestFailureIEs} },
- ...
-}
-
-PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER CANCEL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Cancel
---
--- **************************************************************
-
-HandoverCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCancelIEs} },
- ...
-}
-
-HandoverCancelIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- Handover Cancel Request Acknowledge
---
--- **************************************************************
-
-HandoverCancelAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCancelAcknowledgeIEs} },
- ...
-}
-
-HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- E-RAB SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Setup Request
---
--- **************************************************************
-
-E-RABSetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABSetupRequestIEs} },
- ...
-}
-
-E-RABSetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeSetupListBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupListBearerSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemBearerSUReqIEs} }
-
-E-RABToBeSetupItemBearerSUReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupItemBearerSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemBearerSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABToBeSetupItemBearerSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- E-RAB Setup Response
---
--- **************************************************************
-
-E-RABSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABSetupResponseIEs} },
- ...
-}
-
-E-RABSetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABSetupListBearerSURes CRITICALITY ignore TYPE E-RABSetupListBearerSURes PRESENCE optional }|
- { ID id-E-RABFailedToSetupListBearerSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemBearerSUResIEs} }
-
-E-RABSetupItemBearerSUResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABSetupItemBearerSURes CRITICALITY ignore TYPE E-RABSetupItemBearerSURes PRESENCE mandatory },
- ...
-}
-
-E-RABSetupItemBearerSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABSetupItemBearerSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB MODIFY ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Modify Request
---
--- **************************************************************
-
-E-RABModifyRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABModifyRequestIEs} },
- ...
-}
-
-E-RABModifyRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeModifiedListBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedListBearerModReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeModifiedItemBearerModReqIEs} }
-
-E-RABToBeModifiedItemBearerModReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeModifiedItemBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedItemBearerModReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeModifiedItemBearerModReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABLevelQoSParameters E-RABLevelQoSParameters,
- nAS-PDU NAS-PDU,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABToBeModifyItemBearerModReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB Modify Response
---
--- **************************************************************
-
-E-RABModifyResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABModifyResponseIEs} },
- ...
-}
-
-E-RABModifyResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABModifyListBearerModRes CRITICALITY ignore TYPE E-RABModifyListBearerModRes PRESENCE optional }|
- { ID id-E-RABFailedToModifyList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModResIEs} }
-
-E-RABModifyItemBearerModResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABModifyItemBearerModRes CRITICALITY ignore TYPE E-RABModifyItemBearerModRes PRESENCE mandatory },
- ...
-}
-
-E-RABModifyItemBearerModRes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {E-RABModifyItemBearerModResExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABModifyItemBearerModResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
-
--- **************************************************************
---
--- E-RAB RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Release Command
---
--- **************************************************************
-
-E-RABReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABReleaseCommandIEs} },
- ...
-}
-
-E-RABReleaseCommandIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }|
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- E-RAB Release Response
---
--- **************************************************************
-
-E-RABReleaseResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { E-RABReleaseResponseIEs } },
- ...
-}
-
-E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABReleaseListBearerRelComp CRITICALITY ignore TYPE E-RABReleaseListBearerRelComp PRESENCE optional }|
- { ID id-E-RABFailedToReleaseList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABReleaseItemBearerRelCompIEs} }
-
-E-RABReleaseItemBearerRelCompIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABReleaseItemBearerRelComp CRITICALITY ignore TYPE E-RABReleaseItemBearerRelComp PRESENCE mandatory },
- ...
-}
-
-E-RABReleaseItemBearerRelComp ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABReleaseItemBearerRelCompExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB RELEASE INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Release Indication
---
--- **************************************************************
-
-E-RABReleaseIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABReleaseIndicationIEs} },
- ...
-}
-
-E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory },
- ...
-}
--- **************************************************************
---
--- INITIAL CONTEXT SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Initial Context Setup Request
---
--- **************************************************************
-
-InitialContextSetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupRequestIEs} },
- ...
-}
-
-InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }|
- { ID id-E-RABToBeSetupListCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupListCtxtSUReq PRESENCE mandatory }|
- { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }|
- { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory }|
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }|
- { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
- { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }|
- { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional }|
- { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional },
- ...
-}
-
-
-
-
-E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemCtxtSUReqIEs} }
-
-E-RABToBeSetupItemCtxtSUReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupItemCtxtSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemCtxtSUReqExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABToBeSetupItemCtxtSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Initial Context Setup Response
---
--- **************************************************************
-
-InitialContextSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} },
- ...
-}
-
-InitialContextSetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABSetupListCtxtSURes CRITICALITY ignore TYPE E-RABSetupListCtxtSURes PRESENCE mandatory }|
- { ID id-E-RABFailedToSetupListCtxtSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemCtxtSUResIEs} }
-
-E-RABSetupItemCtxtSUResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABSetupItemCtxtSURes CRITICALITY ignore TYPE E-RABSetupItemCtxtSURes PRESENCE mandatory },
- ...
-}
-
-E-RABSetupItemCtxtSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemCtxtSUResExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABSetupItemCtxtSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Initial Context Setup Failure
---
--- **************************************************************
-
-InitialContextSetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupFailureIEs} },
- ...
-}
-
-InitialContextSetupFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- PAGING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Paging
---
--- **************************************************************
-
-Paging ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PagingIEs}},
- ...
-}
-
-PagingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-UEIdentityIndexValue CRITICALITY ignore TYPE UEIdentityIndexValue PRESENCE mandatory } |
- { ID id-UEPagingID CRITICALITY ignore TYPE UEPagingID PRESENCE mandatory } |
- { ID id-pagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional } |
- { ID id-CNDomain CRITICALITY ignore TYPE CNDomain PRESENCE mandatory } |
- { ID id-TAIList CRITICALITY ignore TYPE TAIList PRESENCE mandatory }|
- { ID id-CSG-IdList CRITICALITY ignore TYPE CSG-IdList PRESENCE optional },
- ...
-}
-
-TAIList::= SEQUENCE (SIZE(1.. maxnoofTAIs)) OF ProtocolIE-SingleContainer {{TAIItemIEs}}
-
-TAIItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-TAIItem CRITICALITY ignore TYPE TAIItem PRESENCE mandatory },
- ...
-}
-
-TAIItem ::= SEQUENCE {
- tAI TAI,
- iE-Extensions ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL,
- ...
-}
-
-
-TAIItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- UE CONTEXT RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE CONTEXT RELEASE REQUEST
---
--- **************************************************************
-
-UEContextReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseRequest-IEs}},
- ...
-}
-
-UEContextReleaseRequest-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- UE Context Release Command
---
--- **************************************************************
-
-UEContextReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseCommand-IEs}},
- ...
-}
-
-UEContextReleaseCommand-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-UE-S1AP-IDs CRITICALITY reject TYPE UE-S1AP-IDs PRESENCE mandatory} |
-
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- UE Context Release Complete
---
--- **************************************************************
-
-UEContextReleaseComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseComplete-IEs}},
- ...
-}
-
-UEContextReleaseComplete-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- UE CONTEXT MODIFICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE Context Modification Request
---
--- **************************************************************
-
-UEContextModificationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationRequestIEs} },
- ...
-}
-
-UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional }|
- { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional },
- ...
-}
--- **************************************************************
---
--- UE Context Modification Response
---
--- **************************************************************
-
-UEContextModificationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationResponseIEs} },
- ...
-}
-
-UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}-- **************************************************************
---
--- UE Context Modification Failure
---
--- **************************************************************
-
-UEContextModificationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationFailureIEs} },
- ...
-}
-
-UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- NAS TRANSPORT ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- DOWNLINK NAS TRANSPORT
---
--- **************************************************************
-
-DownlinkNASTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DownlinkNASTransport-IEs}},
- ...
-}
-
-DownlinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- INITIAL UE MESSAGE
---
--- **************************************************************
-
-InitialUEMessage ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InitialUEMessage-IEs}},
- ...
-}
-
-InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-TAI CRITICALITY reject TYPE TAI PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} |
- { ID id-RRC-Establishment-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE mandatory} |
- { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE optional} |
- { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} |
- { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE optional},
- ...
-}
-
-
--- **************************************************************
---
--- UPLINK NAS TRANSPORT
---
--- **************************************************************
-
-UplinkNASTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UplinkNASTransport-IEs}},
- ...
-}
-
-UplinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory},
- ...
-}
--- **************************************************************
---
--- NAS NON DELIVERY INDICATION
---
--- **************************************************************
-
-NASNonDeliveryIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{NASNonDeliveryIndication-IEs}},
- ...
-}
-
-NASNonDeliveryIndication-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- RESET ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Reset
---
--- **************************************************************
-
-Reset ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetIEs} },
- ...
-}
-
-ResetIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory },
- ...
-}
-
-ResetType ::= CHOICE {
- s1-Interface ResetAll,
- partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes,
- ...
-}
-
-
-
-ResetAll ::= ENUMERATED {
- reset-all,
- ...
-}
-
-UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemRes } }
-
-UE-associatedLogicalS1-ConnectionItemRes S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY reject TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory },
- ...
-}
-
-
--- **************************************************************
---
--- Reset Acknowledge
---
--- **************************************************************
-
-ResetAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
- ...
-}
-
-ResetAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionListResAck CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionListResAck PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemResAck } }
-
-UE-associatedLogicalS1-ConnectionItemResAck S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- ERROR INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Error Indication
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}},
- ...
-}
-
-ErrorIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
--- **************************************************************
---
--- S1 SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- S1 Setup Request
---
--- **************************************************************
-
-S1SetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupRequestIEs} },
- ...
-}
-
-S1SetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory}|
- { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional}|
- { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE mandatory}|
- { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory}|
- { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- S1 Setup Response
---
--- **************************************************************
-
-S1SetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupResponseIEs} },
- ...
-}
-
-
-S1SetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }|
- { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE mandatory }|
- { ID id-RelativeMMECapacity CRITICALITY ignore TYPE RelativeMMECapacity PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- S1 Setup Failure
---
--- **************************************************************
-
-S1SetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupFailureIEs} },
- ...
-}
-
-S1SetupFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- ENB CONFIGURATION UPDATE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Configuration Update
---
--- **************************************************************
-
-ENBConfigurationUpdate ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateIEs} },
- ...
-}
-
-ENBConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional }|
- { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE optional }|
- { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional}|
- { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- eNB Configuration Update Acknowledge
---
--- **************************************************************
-
-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateAcknowledgeIEs} },
- ...
-}
-
-
-ENBConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- eNB Configuration Update Failure
---
--- **************************************************************
-
-ENBConfigurationUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateFailureIEs} },
- ...
-}
-
-ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
-...
-}
-
-
--- **************************************************************
---
--- MME Configuration UPDATE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Configuration Update
---
--- **************************************************************
-
-MMEConfigurationUpdate ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateIEs} },
- ...
-}
-
-MMEConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }|
- { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE optional }|
- { ID id-RelativeMMECapacity CRITICALITY reject TYPE RelativeMMECapacity PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- MME Configuration Update Acknowledge
---
--- **************************************************************
-
-MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateAcknowledgeIEs} },
- ...
-}
-
-
-MMEConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- MME Configuration Update Failure
---
--- **************************************************************
-
-MMEConfigurationUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateFailureIEs} },
- ...
-}
-
-MMEConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- DOWNLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Downlink S1 CDMA2000 Tunneling
---
--- **************************************************************
-
-DownlinkS1cdma2000tunneling ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DownlinkS1cdma2000tunnelingIEs} },
- ...
-}
-
-DownlinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABSubjecttoDataForwardingList PRESENCE optional } |
- { ID id-cdma2000HOStatus CRITICALITY ignore TYPE Cdma2000HOStatus PRESENCE optional } |
- { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } |
- { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- UPLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Uplink S1 CDMA2000 Tunneling
---
--- **************************************************************
-
-UplinkS1cdma2000tunneling ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {UplinkS1cdma2000tunnelingIEs} },
- ...
-}
-
-UplinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } |
- { ID id-cdma2000SectorID CRITICALITY reject TYPE Cdma2000SectorID PRESENCE mandatory } |
- { ID id-cdma2000HORequiredIndication CRITICALITY ignore TYPE Cdma2000HORequiredIndication PRESENCE optional } |
- { ID id-cdma2000OneXSRVCCInfo CRITICALITY reject TYPE Cdma2000OneXSRVCCInfo PRESENCE optional } |
- { ID id-cdma2000OneXRAND CRITICALITY reject TYPE Cdma2000OneXRAND PRESENCE optional } |
- { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- UE CAPABILITY INFO INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE Capability Info Indication
---
--- **************************************************************
-
-UECapabilityInfoIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UECapabilityInfoIndicationIEs} },
- ...
-}
-
-UECapabilityInfoIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory } ,
- ...
-}
-
--- **************************************************************
---
--- eNB STATUS TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Status Transfer
---
--- **************************************************************
-
-ENBStatusTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBStatusTransferIEs} },
- ...
-}
-
-ENBStatusTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} ,
- ...
-}
-
-
--- **************************************************************
---
--- MME STATUS TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Status Transfer
---
--- **************************************************************
-
-MMEStatusTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEStatusTransferIEs} },
- ...
-}
-
-MMEStatusTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} ,
- ...
-}
-
-
--- **************************************************************
---
--- TRACE ELEMENTARY PROCEDURES
---
--- **************************************************************
--- **************************************************************
---
--- Trace Start
---
--- **************************************************************
-
-TraceStart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {TraceStartIEs} },
- ...
-}
-
-TraceStartIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- Trace Failure Indication
---
--- **************************************************************
-
-TraceFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {TraceFailureIndicationIEs} },
- ...
-}
-
-TraceFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- DEACTIVATE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- DEACTIVATE TRACE
---
--- **************************************************************
-
-DeactivateTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { DeactivateTraceIEs} },
- ...
-}
-
-DeactivateTraceIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- CELL TRAFFIC TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CELL TRAFFIC TRACE
---
--- **************************************************************
-
-CellTrafficTrace ::= SEQUENCE {
-protocolIEs ProtocolIE-Container { { CellTrafficTraceIEs } },
-...
-}
-
-CellTrafficTraceIEs S1AP-PROTOCOL-IES ::= {
- {ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- {ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- {ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory}|
- {ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- LOCATION ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Reporting Control
---
--- **************************************************************
-
-LocationReportingControl ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportingControlIEs} },
- ...
-}
-
-LocationReportingControlIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory } ,
- ...
-}
-
--- **************************************************************
---
--- Location Report Failure Indication
---
--- **************************************************************
-
-LocationReportingFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportingFailureIndicationIEs} },
- ...
-}
-
-LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
- ...
-}
-
--- **************************************************************
---
--- Location Report
---
--- **************************************************************
-
-LocationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportIEs} },
- ...
-}
-
-LocationReportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} |
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory} |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- OVERLOAD ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- Overload Start
---
--- **************************************************************
-
-OverloadStart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadStartIEs} },
- ...
-}
-
-OverloadStartIEs S1AP-PROTOCOL-IES ::= {
- { ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory },
- ...
-}
--- **************************************************************
---
--- Overload Stop
---
--- **************************************************************
-
-OverloadStop ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadStopIEs} },
- ...
-}
-
-OverloadStopIEs S1AP-PROTOCOL-IES ::= {
- ...
-}
--- **************************************************************
---
--- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Write-Replace Warning Request
---
--- **************************************************************
-
-
-WriteReplaceWarningRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {WriteReplaceWarningRequestIEs} },
- ...
-}
-
-WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
- { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }|
- { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }|
- { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }|
- { ID id-WarningType CRITICALITY ignore TYPE WarningType PRESENCE optional }|
- { ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }|
- { ID id-DataCodingScheme CRITICALITY ignore TYPE DataCodingScheme PRESENCE optional }|
- { ID id-WarningMessageContents CRITICALITY ignore TYPE WarningMessageContents PRESENCE optional },
- ...
-}
--- **************************************************************
---
--- Write-Replace Warning Response
---
--- **************************************************************
-
-WriteReplaceWarningResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {WriteReplaceWarningResponseIEs} },
- ...
-}
-
-WriteReplaceWarningResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
- { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-BroadcastCompletedAreaList CRITICALITY reject TYPE BroadcastCompletedAreaList PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- eNB DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Direct Information Transfer
---
--- **************************************************************
-
-ENBDirectInformationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ ENBDirectInformationTransferIEs}},
- ...
-}
-
-ENBDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Inter-SystemInformationTransferTypeEDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} ,
- ...
-}
-
-Inter-SystemInformationTransferType ::= CHOICE {
- rIMTransfer RIMTransfer,
- ...
-}
-
--- **************************************************************
---
--- MME DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Direct Information Transfer
---
--- **************************************************************
-
-MMEDirectInformationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ MMEDirectInformationTransferIEs}},
- ...
-}
-
-MMEDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Inter-SystemInformationTransferTypeMDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} ,
- ...
-}
--- **************************************************************
---
--- eNB CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Configuration Transfer
---
--- **************************************************************
-
-ENBConfigurationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ ENBConfigurationTransferIEs}},
- ...
-}
-
-ENBConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-SONConfigurationTransferECT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} ,
- ...
-}
-
--- **************************************************************
---
--- MME CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Configuration Transfer
---
--- **************************************************************
-
-MMEConfigurationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ MMEConfigurationTransferIEs}},
- ...
-}
-
-MMEConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-SONConfigurationTransferMCT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} ,
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Private Message
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container {{PrivateMessageIEs}},
- ...
-}
-
-PrivateMessageIEs S1AP-PRIVATE-IES ::= {
- ...
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-PDU-Descriptions.asn b/lib/asn1/test/asn1_bin_SUITE_data/S1AP-PDU-Descriptions.asn
deleted file mode 100644
index 46667cac2d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/S1AP-PDU-Descriptions.asn
+++ /dev/null
@@ -1,548 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.2 Elementary Procedure Definitions
--- **************************************************************
---
--- Elementary Procedure definitions
---
--- **************************************************************
-
-S1AP-PDU-Descriptions {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- ProcedureCode
-FROM S1AP-CommonDataTypes
-
- CellTrafficTrace,
- DeactivateTrace,
- DownlinkNASTransport,
- DownlinkS1cdma2000tunneling,
- ENBDirectInformationTransfer,
- ENBStatusTransfer,
- ENBConfigurationUpdate,
- ENBConfigurationUpdateAcknowledge,
- ENBConfigurationUpdateFailure,
- ErrorIndication,
- HandoverCancel,
- HandoverCancelAcknowledge,
- HandoverCommand,
- HandoverFailure,
- HandoverNotify,
- HandoverPreparationFailure,
- HandoverRequest,
- HandoverRequestAcknowledge,
- HandoverRequired,
- InitialContextSetupFailure,
- InitialContextSetupRequest,
- InitialContextSetupResponse,
- InitialUEMessage,
- LocationReportingControl,
- LocationReportingFailureIndication,
- LocationReport,
- MMEConfigurationUpdate,
- MMEConfigurationUpdateAcknowledge,
- MMEConfigurationUpdateFailure,
- MMEDirectInformationTransfer,
- MMEStatusTransfer,
- NASNonDeliveryIndication,
- OverloadStart,
- OverloadStop,
- Paging,
- PathSwitchRequest,
- PathSwitchRequestAcknowledge,
- PathSwitchRequestFailure,
- PrivateMessage,
- Reset,
- ResetAcknowledge,
- S1SetupFailure,
- S1SetupRequest,
- S1SetupResponse,
- E-RABModifyRequest,
- E-RABModifyResponse,
- E-RABReleaseCommand,
- E-RABReleaseResponse,
- E-RABReleaseIndication,
- E-RABSetupRequest,
- E-RABSetupResponse,
- TraceFailureIndication,
- TraceStart,
- UECapabilityInfoIndication,
- UEContextModificationFailure,
- UEContextModificationRequest,
- UEContextModificationResponse,
- UEContextReleaseCommand,
- UEContextReleaseComplete,
- UEContextReleaseRequest,
- UplinkNASTransport,
- UplinkS1cdma2000tunneling,
- WriteReplaceWarningRequest,
- WriteReplaceWarningResponse,
- ENBConfigurationTransfer,
- MMEConfigurationTransfer
-
-
-FROM S1AP-PDU-Contents
-
- id-CellTrafficTrace,
- id-DeactivateTrace,
- id-downlinkNASTransport,
- id-DownlinkS1cdma2000tunneling,
- id-eNBStatusTransfer,
- id-ErrorIndication,
- id-HandoverCancel,
- id-HandoverNotification,
- id-HandoverPreparation,
- id-HandoverResourceAllocation,
- id-InitialContextSetup,
- id-initialUEMessage,
- id-ENBConfigurationUpdate,
- id-LocationReportingControl,
- id-LocationReportingFailureIndication,
- id-LocationReport,
- id-eNBDirectInformationTransfer,
- id-MMEConfigurationUpdate,
- id-MMEDirectInformationTransfer,
- id-MMEStatusTransfer,
- id-NASNonDeliveryIndication,
- id-OverloadStart,
- id-OverloadStop,
- id-Paging,
- id-PathSwitchRequest,
- id-PrivateMessage,
- id-Reset,
- id-S1Setup,
- id-E-RABModify,
- id-E-RABRelease,
- id-E-RABReleaseIndication,
- id-E-RABSetup,
- id-TraceFailureIndication,
- id-TraceStart,
- id-UECapabilityInfoIndication,
- id-UEContextModification,
- id-UEContextRelease,
- id-UEContextReleaseRequest,
- id-uplinkNASTransport,
- id-UplinkS1cdma2000tunneling,
- id-WriteReplaceWarning,
- id-eNBConfigurationTransfer,
- id-MMEConfigurationTransfer
-FROM S1AP-Constants;
-
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-S1AP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
- criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
- criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
- criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
- S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
- S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
- ...
-}
-
-
-S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
- handoverPreparation |
- handoverResourceAllocation |
- pathSwitchRequest |
- e-RABSetup |
- e-RABModify |
- e-RABRelease |
- initialContextSetup |
- handoverCancel |
- reset |
- s1Setup |
- uEContextModification |
- uEContextRelease |
- eNBConfigurationUpdate |
- mMEConfigurationUpdate |
- writeReplaceWarning ,
- ...
-}
-
-S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
- handoverNotification |
- e-RABReleaseIndication |
- paging |
- downlinkNASTransport |
- initialUEMessage |
- uplinkNASTransport |
- errorIndication |
- nASNonDeliveryIndication |
- uEContextReleaseRequest |
- downlinkS1cdma2000tunneling |
- uplinkS1cdma2000tunneling |
- uECapabilityInfoIndication |
- eNBStatusTransfer |
- mMEStatusTransfer |
- deactivateTrace |
- traceStart |
- traceFailureIndication |
- cellTrafficTrace |
- locationReportingControl |
- locationReportingFailureIndication |
- locationReport |
- overloadStart |
- overloadStop |
- eNBDirectInformationTransfer |
- mMEDirectInformationTransfer |
- eNBConfigurationTransfer |
- mMEConfigurationTransfer |
- privateMessage ,
- ...
-}
-
--- **************************************************************
---
--- Interface Elementary Procedures
---
--- **************************************************************
-
-handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverRequired
- SUCCESSFUL OUTCOME HandoverCommand
- UNSUCCESSFUL OUTCOME HandoverPreparationFailure
- PROCEDURE CODE id-HandoverPreparation
- CRITICALITY reject
-}
-
-handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverRequest
- SUCCESSFUL OUTCOME HandoverRequestAcknowledge
- UNSUCCESSFUL OUTCOME HandoverFailure
- PROCEDURE CODE id-HandoverResourceAllocation
- CRITICALITY reject
-}
-
-handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverNotify
- PROCEDURE CODE id-HandoverNotification
- CRITICALITY ignore
-}
-
-pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PathSwitchRequest
- SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge
- UNSUCCESSFUL OUTCOME PathSwitchRequestFailure
- PROCEDURE CODE id-PathSwitchRequest
- CRITICALITY reject
-}
-
-e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABSetupRequest
- SUCCESSFUL OUTCOME E-RABSetupResponse
- PROCEDURE CODE id-E-RABSetup
- CRITICALITY reject
-}
-
-e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABModifyRequest
- SUCCESSFUL OUTCOME E-RABModifyResponse
- PROCEDURE CODE id-E-RABModify
- CRITICALITY reject
-}
-
-e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABReleaseCommand
- SUCCESSFUL OUTCOME E-RABReleaseResponse
- PROCEDURE CODE id-E-RABRelease
- CRITICALITY reject
-}
-
-e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABReleaseIndication
- PROCEDURE CODE id-E-RABReleaseIndication
- CRITICALITY ignore
-}
-
-initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialContextSetupRequest
- SUCCESSFUL OUTCOME InitialContextSetupResponse
- UNSUCCESSFUL OUTCOME InitialContextSetupFailure
- PROCEDURE CODE id-InitialContextSetup
- CRITICALITY reject
-}
-
-uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UEContextReleaseRequest
- PROCEDURE CODE id-UEContextReleaseRequest
- CRITICALITY ignore
-}
-
-paging S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Paging
- PROCEDURE CODE id-Paging
- CRITICALITY ignore
-}
-
-downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DownlinkNASTransport
- PROCEDURE CODE id-downlinkNASTransport
- CRITICALITY ignore
-}
-
-initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialUEMessage
- PROCEDURE CODE id-initialUEMessage
- CRITICALITY ignore
-}
-
-uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UplinkNASTransport
- PROCEDURE CODE id-uplinkNASTransport
- CRITICALITY ignore
-}
-nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE NASNonDeliveryIndication
- PROCEDURE CODE id-NASNonDeliveryIndication
- CRITICALITY ignore
-}
-
-handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverCancel
- SUCCESSFUL OUTCOME HandoverCancelAcknowledge
- PROCEDURE CODE id-HandoverCancel
- CRITICALITY reject
-}
-
-reset S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Reset
- SUCCESSFUL OUTCOME ResetAcknowledge
- PROCEDURE CODE id-Reset
- CRITICALITY reject
-}
-
-errorIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- PROCEDURE CODE id-ErrorIndication
- CRITICALITY ignore
-}
-
-s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE S1SetupRequest
- SUCCESSFUL OUTCOME S1SetupResponse
- UNSUCCESSFUL OUTCOME S1SetupFailure
- PROCEDURE CODE id-S1Setup
- CRITICALITY reject
-}
-
-eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBConfigurationUpdate
- SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
- UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
- PROCEDURE CODE id-ENBConfigurationUpdate
- CRITICALITY reject
-}
-
-mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEConfigurationUpdate
- SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge
- UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure
- PROCEDURE CODE id-MMEConfigurationUpdate
- CRITICALITY reject
-}
-
-downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DownlinkS1cdma2000tunneling
- PROCEDURE CODE id-DownlinkS1cdma2000tunneling
- CRITICALITY ignore
-}
-
-uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UplinkS1cdma2000tunneling
- PROCEDURE CODE id-UplinkS1cdma2000tunneling
- CRITICALITY ignore
-}
-
-uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UEContextModificationRequest
- SUCCESSFUL OUTCOME UEContextModificationResponse
- UNSUCCESSFUL OUTCOME UEContextModificationFailure
-
- PROCEDURE CODE id-UEContextModification
- CRITICALITY reject
-}
-
-uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UECapabilityInfoIndication
- PROCEDURE CODE id-UECapabilityInfoIndication
- CRITICALITY ignore
-}
-
-uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UEContextReleaseCommand
- SUCCESSFUL OUTCOME UEContextReleaseComplete
- PROCEDURE CODE id-UEContextRelease
- CRITICALITY reject
-}
-
-eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBStatusTransfer
- PROCEDURE CODE id-eNBStatusTransfer
- CRITICALITY ignore
-}
-
-mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEStatusTransfer
- PROCEDURE CODE id-MMEStatusTransfer
- CRITICALITY ignore
-}
-
-deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DeactivateTrace
- PROCEDURE CODE id-DeactivateTrace
- CRITICALITY ignore
-}
-
-traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE TraceStart
- PROCEDURE CODE id-TraceStart
- CRITICALITY ignore
-}
-
-traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE TraceFailureIndication
- PROCEDURE CODE id-TraceFailureIndication
- CRITICALITY ignore
-}
-cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
-INITIATING MESSAGE CellTrafficTrace
-PROCEDURE CODE id-CellTrafficTrace
-CRITICALITY ignore
-}
-
-locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingControl
- PROCEDURE CODE id-LocationReportingControl
- CRITICALITY ignore
-}
-
-locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingFailureIndication
- PROCEDURE CODE id-LocationReportingFailureIndication
- CRITICALITY ignore
-}
-
-locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReport
- PROCEDURE CODE id-LocationReport
- CRITICALITY ignore
-}
-
-overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE OverloadStart
- PROCEDURE CODE id-OverloadStart
- CRITICALITY ignore
-}
-
-overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE OverloadStop
- PROCEDURE CODE id-OverloadStop
- CRITICALITY reject
-}
-
-writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE WriteReplaceWarningRequest
- SUCCESSFUL OUTCOME WriteReplaceWarningResponse
- PROCEDURE CODE id-WriteReplaceWarning
- CRITICALITY reject
-}
-
-eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBDirectInformationTransfer
- PROCEDURE CODE id-eNBDirectInformationTransfer
- CRITICALITY ignore
-}
-
-mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEDirectInformationTransfer
- PROCEDURE CODE id-MMEDirectInformationTransfer
- CRITICALITY ignore
-}
-
-eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBConfigurationTransfer
- PROCEDURE CODE id-eNBConfigurationTransfer
- CRITICALITY ignore
-}
-
-mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEConfigurationTransfer
- PROCEDURE CODE id-MMEConfigurationTransfer
- CRITICALITY ignore
-}
-
-
-privateMessage S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
- PROCEDURE CODE id-PrivateMessage
- CRITICALITY ignore
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SOpttest.asn b/lib/asn1/test/asn1_bin_SUITE_data/SOpttest.asn
deleted file mode 100644
index 498d3ebec1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SOpttest.asn
+++ /dev/null
@@ -1,30 +0,0 @@
-SOpttest DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-S ::= SEQUENCE {
- a [0] A,
- b [1] B OPTIONAL,
- c [2] C OPTIONAL
-
- }
-
-
-A ::= SEQUENCE {
- scriptKey [0] INTEGER (0..214783647),
- scriptAttribute1 [1] EXPLICIT INTEGER OPTIONAL,
- scriptAttribute2 [2] EXPLICIT INTEGER OPTIONAL
- }
-
-B ::= SEQUENCE {
- iNLegToBeCreated [0] INTEGER OPTIONAL,
- callingPartysCategory [1] INTEGER OPTIONAL,
- redirectingPartyID [2] INTEGER OPTIONAL
- }
-
-C ::= SEQUENCE {
- iNLegToBeCreated [0] INTEGER OPTIONAL,
- callingPartysCategory [1] INTEGER OPTIONAL,
- redirectingPartyID [2] INTEGER OPTIONAL
- }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SSL-PKIX.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SSL-PKIX.asn1
deleted file mode 100644
index 31d78bebbe..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SSL-PKIX.asn1
+++ /dev/null
@@ -1,704 +0,0 @@
-SSL-PKIX {iso(1) identified-organization(3) dod(6) internet(1)
- private(4) enterprices(1) ericsson(193) otp(19) ssl(10)
- pkix1(1)}
-
-DEFINITIONS EXPLICIT TAGS ::=
-
-BEGIN
-
--- EXPORTS ALL
-
-IMPORTS
- -- Certificate (parts of)
- Version,
- CertificateSerialNumber,
- --AlgorithmIdentifier,
- Validity,
- UniqueIdentifier,
-
- -- AttribyteTypeAndValue
- Name,
- AttributeType,
- id-at-name,
- id-at-surname,
- id-at-givenName,
- id-at-initials,
- id-at-generationQualifier, X520name,
- id-at-commonName, X520CommonName,
- id-at-localityName, X520LocalityName,
- id-at-stateOrProvinceName, X520StateOrProvinceName,
- id-at-organizationName, X520OrganizationName,
- id-at-organizationalUnitName, X520OrganizationalUnitName,
- id-at-title, X520Title,
- id-at-dnQualifier, X520dnQualifier,
- id-at-countryName, X520countryName,
- id-at-serialNumber, X520SerialNumber,
- id-at-pseudonym, X520Pseudonym,
- id-domainComponent, DomainComponent,
- id-emailAddress, EmailAddress,
-
- -- Extension Attributes
- common-name, CommonName,
- teletex-common-name, TeletexCommonName,
- teletex-personal-name, TeletexPersonalName,
- pds-name, PDSName,
- physical-delivery-country-name, PhysicalDeliveryCountryName,
- postal-code, PostalCode,
- physical-delivery-office-name, PhysicalDeliveryOfficeName,
- physical-delivery-office-number, PhysicalDeliveryOfficeNumber,
- extension-OR-address-components, ExtensionORAddressComponents,
- physical-delivery-personal-name, PhysicalDeliveryPersonalName,
- physical-delivery-organization-name, PhysicalDeliveryOrganizationName,
- extension-physical-delivery-address-components,
- ExtensionPhysicalDeliveryAddressComponents,
- unformatted-postal-address, UnformattedPostalAddress,
- street-address, StreetAddress,
- post-office-box-address, PostOfficeBoxAddress,
- poste-restante-address, PosteRestanteAddress,
- unique-postal-name, UniquePostalName,
- local-postal-attributes, LocalPostalAttributes,
- extended-network-address, ExtendedNetworkAddress,
- terminal-type, TerminalType,
- teletex-domain-defined-attributes, TeletexDomainDefinedAttributes
-
- FROM PKIX1Explicit88 { iso(1) identified-organization(3) dod(6)
- internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
- id-pkix1-explicit(18) }
-
- -- Extensions
- id-ce-authorityKeyIdentifier, AuthorityKeyIdentifier,
- id-ce-subjectKeyIdentifier, SubjectKeyIdentifier,
- id-ce-keyUsage, KeyUsage,
- id-ce-privateKeyUsagePeriod, PrivateKeyUsagePeriod,
- id-ce-certificatePolicies, CertificatePolicies,
- id-ce-policyMappings, PolicyMappings,
- id-ce-subjectAltName, SubjectAltName,
- id-ce-issuerAltName, IssuerAltName,
- id-ce-subjectDirectoryAttributes, SubjectDirectoryAttributes,
- id-ce-basicConstraints, BasicConstraints,
- id-ce-nameConstraints, NameConstraints,
- id-ce-policyConstraints, PolicyConstraints,
- id-ce-cRLDistributionPoints, CRLDistributionPoints,
- id-ce-extKeyUsage, ExtKeyUsageSyntax,
- id-ce-inhibitAnyPolicy, InhibitAnyPolicy,
- id-ce-freshestCRL, FreshestCRL,
- id-pe-authorityInfoAccess, AuthorityInfoAccessSyntax,
- id-pe-subjectInfoAccess, SubjectInfoAccessSyntax,
- id-ce-cRLNumber, CRLNumber,
- id-ce-issuingDistributionPoint, IssuingDistributionPoint,
- id-ce-deltaCRLIndicator, BaseCRLNumber,
- id-ce-cRLReasons, CRLReason,
- id-ce-certificateIssuer, CertificateIssuer,
- id-ce-holdInstructionCode, HoldInstructionCode,
- id-ce-invalidityDate, InvalidityDate
-
- FROM PKIX1Implicit88 { iso(1) identified-organization(3) dod(6)
- internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
- id-pkix1-implicit(19) }
-
- --Keys and Signatures
- id-dsa, Dss-Parms, DSAPublicKey,
- id-dsa-with-sha1,
- md2WithRSAEncryption,
- md5WithRSAEncryption,
- sha1WithRSAEncryption,
- rsaEncryption, RSAPublicKey,
- dhpublicnumber, DomainParameters, DHPublicKey,
- id-keyExchangeAlgorithm, KEA-Parms-Id, --KEA-PublicKey,
- ecdsa-with-SHA1,
- prime-field, Prime-p,
- characteristic-two-field, --Characteristic-two,
- gnBasis,
- tpBasis, Trinomial,
- ppBasis, Pentanomial,
- id-ecPublicKey, EcpkParameters, ECPoint
- FROM PKIX1Algorithms88 { iso(1) identified-organization(3) dod(6)
- internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
- id-mod-pkix1-algorithms(17) };
-
---
--- Certificate
---
-
-Certificate ::= SEQUENCE {
- tbsCertificate TBSCertificate,
- signatureAlgorithm SignatureAlgorithm,
- signature BIT STRING }
-
-TBSCertificate ::= SEQUENCE {
- version [0] Version DEFAULT v1,
- serialNumber CertificateSerialNumber,
- signature SignatureAlgorithm,
- issuer Name,
- validity Validity,
- subject Name,
- subjectPublicKeyInfo SubjectPublicKeyInfo,
- issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
- -- If present, version MUST be v2 or v3
- subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
- -- If present, version MUST be v2 or v3
- extensions [3] Extensions OPTIONAL
- -- If present, version MUST be v3 -- }
-
-
--- Attribute type and values
---
-
-ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= CLASS {
- &id AttributeType UNIQUE,
- &Type }
- WITH SYNTAX {
- ID &id
- TYPE &Type }
-
-AttributeTypeAndValue ::= SEQUENCE {
- type ATTRIBUTE-TYPE-AND-VALUE-CLASS.&id
- ({SupportedAttributeTypeAndValues}),
- value ATTRIBUTE-TYPE-AND-VALUE-CLASS.&Type
- ({SupportedAttributeTypeAndValues}{@type}) }
-
-SupportedAttributeTypeAndValues ATTRIBUTE-TYPE-AND-VALUE-CLASS ::=
- { name | surname | givenName | initials | generationQualifier |
- commonName | localityName | stateOrProvinceName | organizationName |
- organizationalUnitName | title | dnQualifier | countryName |
- serialNumber | pseudonym | domainComponent | emailAddress }
-
-name ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-name
- TYPE X520name }
-
-surname ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-surname
- TYPE X520name }
-
-givenName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-givenName
- TYPE X520name }
-
-initials ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-initials
- TYPE X520name }
-
-generationQualifier ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-generationQualifier
- TYPE X520name }
-
-commonName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-commonName
- TYPE X520CommonName }
-
-localityName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-localityName
- TYPE X520LocalityName }
-
-stateOrProvinceName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-stateOrProvinceName
- TYPE X520StateOrProvinceName }
-
-organizationName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-organizationName
- TYPE X520OrganizationName }
-
-organizationalUnitName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-organizationalUnitName
- TYPE X520OrganizationalUnitName }
-
-title ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-title
- TYPE X520Title }
-
-dnQualifier ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-dnQualifier
- TYPE X520dnQualifier }
-
-countryName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-countryName
- TYPE X520countryName }
-
-serialNumber ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-serialNumber
- TYPE X520SerialNumber }
-
-pseudonym ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-pseudonym
- TYPE X520Pseudonym }
-
-domainComponent ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-domainComponent
- TYPE DomainComponent }
-
-emailAddress ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-emailAddress
- TYPE EmailAddress }
-
---
--- Signature and Public Key Algorithms
---
-
-SubjectPublicKeyInfo ::= SEQUENCE {
- algorithm SEQUENCE {
- algo PUBLIC-KEY-ALGORITHM-CLASS.&id
- ({SupportedPublicKeyAlgorithms}),
- parameters PUBLIC-KEY-ALGORITHM-CLASS.&Type
- ({SupportedPublicKeyAlgorithms}{@.algo})
- OPTIONAL
- },
- subjectPublicKey PUBLIC-KEY-ALGORITHM-CLASS.&PublicKeyType
- ({SupportedPublicKeyAlgorithms}{@algorithm.algo}) }
-
--- The following is needed for conversion of SubjectPublicKeyInfo.
-
-SubjectPublicKeyInfo-Any ::= SEQUENCE {
- algorithm PublicKeyAlgorithm,
- subjectPublicKey ANY }
-
-
-SIGNATURE-ALGORITHM-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type OPTIONAL }
- WITH SYNTAX {
- ID &id
- [TYPE &Type] }
-
-PUBLIC-KEY-ALGORITHM-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type OPTIONAL,
- &PublicKeyType OPTIONAL }
- WITH SYNTAX {
- ID &id
- [TYPE &Type]
- [PUBLIC-KEY-TYPE &PublicKeyType] }
-
-SignatureAlgorithm ::= SEQUENCE {
- algorithm SIGNATURE-ALGORITHM-CLASS.&id
- ({SupportedSignatureAlgorithms}),
- parameters SIGNATURE-ALGORITHM-CLASS.&Type
- ({SupportedSignatureAlgorithms}{@algorithm})
- OPTIONAL }
-
-SignatureAlgorithm-Any ::= SEQUENCE {
- algorithm OBJECT IDENTIFIER,
- parameters ANY OPTIONAL }
-
-PublicKeyAlgorithm ::= SEQUENCE {
- algorithm PUBLIC-KEY-ALGORITHM-CLASS.&id
- ({SupportedPublicKeyAlgorithms}),
- parameters PUBLIC-KEY-ALGORITHM-CLASS.&Type
- ({SupportedPublicKeyAlgorithms}{@algorithm})
- OPTIONAL }
-
-SupportedSignatureAlgorithms SIGNATURE-ALGORITHM-CLASS ::= {
- dsa-with-sha1 | md2-with-rsa-encryption |
- md5-with-rsa-encryption | sha1-with-rsa-encryption |
- ecdsa-with-sha1 }
-
-SupportedPublicKeyAlgorithms PUBLIC-KEY-ALGORITHM-CLASS ::= {
- dsa | rsa-encryption | dh | kea | ec-public-key }
-
- -- DSA Keys and Signatures
-
- -- SubjectPublicKeyInfo:
-
- dsa PUBLIC-KEY-ALGORITHM-CLASS ::= {
- ID id-dsa
- TYPE Dss-Parms -- XXX Must be OPTIONAL
- PUBLIC-KEY-TYPE DSAPublicKey }
-
- -- Certificate.signatureAlgorithm
-
- dsa-with-sha1 SIGNATURE-ALGORITHM-CLASS ::= {
- ID id-dsa-with-sha1
- TYPE NULL } -- XXX Must be empty and not NULL
-
- --
- -- RSA Keys and Signatures
- --
-
- -- Certificate.signatureAlgorithm
-
- md2-with-rsa-encryption SIGNATURE-ALGORITHM-CLASS ::= {
- ID md2WithRSAEncryption
- TYPE NULL }
-
- md5-with-rsa-encryption SIGNATURE-ALGORITHM-CLASS ::= {
- ID md5WithRSAEncryption
- TYPE NULL }
-
- sha1-with-rsa-encryption SIGNATURE-ALGORITHM-CLASS ::= {
- ID sha1WithRSAEncryption
- TYPE NULL }
-
- -- Certificate.signature
- -- See PKCS #1 (RFC 2313). XXX
-
- -- SubjectPublicKeyInfo:
-
- rsa-encryption PUBLIC-KEY-ALGORITHM-CLASS ::= {
- ID rsaEncryption
- TYPE NULL
- PUBLIC-KEY-TYPE RSAPublicKey }
-
- --
- -- Diffie-Hellman Keys
- --
-
- -- SubjectPublicKeyInfo:
-
- dh PUBLIC-KEY-ALGORITHM-CLASS ::= {
- ID dhpublicnumber
- TYPE DomainParameters
- PUBLIC-KEY-TYPE DHPublicKey }
-
- -- There are no Diffie-Hellman signature algorithms
-
- --
- -- KEA Keys
- --
-
- -- SubjectPublicKeyInfo:
-
- KEA-PublicKey ::= INTEGER
-
- kea PUBLIC-KEY-ALGORITHM-CLASS ::= {
- ID id-keyExchangeAlgorithm
- TYPE KEA-Parms-Id
- PUBLIC-KEY-TYPE KEA-PublicKey }
-
- -- There are no KEA signature algorithms
-
- --
- -- Elliptic Curve Keys, Signatures, and Curves
- --
-
- -- Certificate.signatureAlgorithm
-
- ecdsa-with-sha1 SIGNATURE-ALGORITHM-CLASS ::= {
- ID ecdsa-with-SHA1
- TYPE NULL } -- XXX Must be empty and not NULL
-
- FIELD-ID-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type }
- WITH SYNTAX {
- ID &id
- TYPE &Type }
-
- FieldID ::= SEQUENCE { -- Finite field
- fieldType FIELD-ID-CLASS.&id({SupportedFieldIds}),
- parameters FIELD-ID-CLASS.&Type({SupportedFieldIds}{@fieldType}) }
-
- SupportedFieldIds FIELD-ID-CLASS ::= {
- field-prime-field | field-characteristic-two }
-
- field-prime-field FIELD-ID-CLASS ::= {
- ID prime-field
- TYPE Prime-p }
-
- CHARACTERISTIC-TWO-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type }
- WITH SYNTAX {
- ID &id
- TYPE &Type }
-
- Characteristic-two ::= SEQUENCE { -- Finite field
- m INTEGER, -- Field size 2^m
- basis CHARACTERISTIC-TWO-CLASS.&id({SupportedCharacteristicTwos}),
- parameters CHARACTERISTIC-TWO-CLASS.&Type
- ({SupportedCharacteristicTwos}{@basis}) }
-
- SupportedCharacteristicTwos CHARACTERISTIC-TWO-CLASS ::= {
- gn-basis | tp-basis | pp-basis }
-
- field-characteristic-two FIELD-ID-CLASS ::= {
- ID characteristic-two-field
- TYPE Characteristic-two }
-
- gn-basis CHARACTERISTIC-TWO-CLASS ::= {
- ID gnBasis
- TYPE NULL }
-
- tp-basis CHARACTERISTIC-TWO-CLASS ::= {
- ID tpBasis
- TYPE Trinomial }
-
- pp-basis CHARACTERISTIC-TWO-CLASS ::= {
- ID ppBasis
- TYPE Pentanomial }
-
- -- SubjectPublicKeyInfo.algorithm
-
- ec-public-key PUBLIC-KEY-ALGORITHM-CLASS ::= {
- ID id-ecPublicKey
- TYPE EcpkParameters
- PUBLIC-KEY-TYPE ECPoint }
-
---
--- Extension Attributes
---
-
-EXTENSION-ATTRIBUTE-CLASS ::= CLASS {
- &id INTEGER UNIQUE,
- &Type }
- WITH SYNTAX {
- ID &id
- TYPE &Type }
-
-ExtensionAttributes ::= SET SIZE (1..MAX) OF ExtensionAttribute
-
--- XXX Below we should have extension-attribute-type and extension-
--- attribute-value but Erlang ASN1 does not like it.
-ExtensionAttribute ::= SEQUENCE {
- extensionAttributeType [0] IMPLICIT EXTENSION-ATTRIBUTE-CLASS.&id
- ({SupportedExtensionAttributes}),
- extensionAttributeValue [1] EXTENSION-ATTRIBUTE-CLASS.&Type
- ({SupportedExtensionAttributes}{@extensionAttributeType}) }
-
-SupportedExtensionAttributes EXTENSION-ATTRIBUTE-CLASS ::= {
- x400-common-name |
- x400-teletex-common-name |
- x400-teletex-personal-name |
- x400-pds-name |
- x400-physical-delivery-country-name |
- x400-postal-code |
- x400-physical-delivery-office-name |
- x400-physical-delivery-office-number |
- x400-extension-OR-address-components |
- x400-physical-delivery-personal-name |
- x400-physical-delivery-organization-name |
- x400-extension-physical-delivery-address-components |
- x400-unformatted-postal-address |
- x400-street-address |
- x400-post-office-box-address |
- x400-poste-restante-address |
- x400-unique-postal-name |
- x400-local-postal-attributes |
- x400-extended-network-address |
- x400-terminal-type |
- x400-teletex-domain-defined-attributes }
-
--- Extension types and attribute values
-
-x400-common-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID common-name
- TYPE CommonName }
-
-x400-teletex-common-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID teletex-common-name
- TYPE TeletexCommonName }
-
-x400-teletex-personal-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID teletex-personal-name
- TYPE TeletexPersonalName }
-
-x400-pds-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID pds-name
- TYPE PDSName }
-
-x400-physical-delivery-country-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID physical-delivery-country-name
- TYPE PhysicalDeliveryCountryName }
-
-x400-postal-code EXTENSION-ATTRIBUTE-CLASS ::= {
- ID postal-code
- TYPE PostalCode }
-
-x400-physical-delivery-office-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID physical-delivery-office-name
- TYPE PhysicalDeliveryOfficeName }
-
-x400-physical-delivery-office-number EXTENSION-ATTRIBUTE-CLASS ::= {
- ID physical-delivery-office-number
- TYPE PhysicalDeliveryOfficeNumber }
-
-x400-extension-OR-address-components EXTENSION-ATTRIBUTE-CLASS ::= {
- ID extension-OR-address-components
- TYPE ExtensionORAddressComponents }
-
-x400-physical-delivery-personal-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID physical-delivery-personal-name
- TYPE PhysicalDeliveryPersonalName }
-
-x400-physical-delivery-organization-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID physical-delivery-organization-name
- TYPE PhysicalDeliveryOrganizationName }
-
-x400-extension-physical-delivery-address-components
- EXTENSION-ATTRIBUTE-CLASS ::= {
- ID extension-physical-delivery-address-components
- TYPE ExtensionPhysicalDeliveryAddressComponents }
-
-x400-unformatted-postal-address EXTENSION-ATTRIBUTE-CLASS ::= {
- ID unformatted-postal-address
- TYPE UnformattedPostalAddress }
-
-x400-street-address EXTENSION-ATTRIBUTE-CLASS ::= {
- ID street-address
- TYPE StreetAddress }
-
-x400-post-office-box-address EXTENSION-ATTRIBUTE-CLASS ::= {
- ID post-office-box-address
- TYPE PostOfficeBoxAddress }
-
-x400-poste-restante-address EXTENSION-ATTRIBUTE-CLASS ::= {
- ID poste-restante-address
- TYPE PosteRestanteAddress }
-
-x400-unique-postal-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID unique-postal-name
- TYPE UniquePostalName }
-
-x400-local-postal-attributes EXTENSION-ATTRIBUTE-CLASS ::= {
- ID local-postal-attributes
- TYPE LocalPostalAttributes }
-
-x400-extended-network-address EXTENSION-ATTRIBUTE-CLASS ::= {
- ID extended-network-address
- TYPE ExtendedNetworkAddress }
-
-x400-terminal-type EXTENSION-ATTRIBUTE-CLASS ::= {
- ID terminal-type
- TYPE TerminalType }
-
-x400-teletex-domain-defined-attributes EXTENSION-ATTRIBUTE-CLASS ::= {
- ID teletex-domain-defined-attributes
- TYPE TeletexDomainDefinedAttributes }
-
--- Extensions
-
-Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
-
-EXTENSION-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type OPTIONAL}
- WITH SYNTAX {
- ID &id
- [TYPE &Type] }
-
-Extension ::= SEQUENCE {
- extnID EXTENSION-CLASS.&id({SupportedExtensions}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue EXTENSION-CLASS.&Type({SupportedExtensions}{@extnID}) }
-
--- The following is needed for conversion between Extension and Extension-Cd
-
-ObjId ::= OBJECT IDENTIFIER
-Boolean ::= BOOLEAN
-Any ::= ANY
-
-Extension-Any ::= SEQUENCE {
- extnID OBJECT IDENTIFIER,
- critical BOOLEAN DEFAULT FALSE,
- extnValue ANY }
-
-SupportedExtensions EXTENSION-CLASS ::= { authorityKeyIdentifier |
- subjectKeyIdentifier | keyUsage | privateKeyUsagePeriod |
- certificatePolicies | policyMappings | subjectAltName |
- issuerAltName | subjectDirectoryAttributes | basicConstraints |
- nameConstraints | policyConstraints | cRLDistributionPoints |
- extKeyUsage | inhibitAnyPolicy | freshestCRL | authorityInfoAccess |
- subjectInfoAccess | cRLNumber | issuingDistributionPoint |
- deltaCRLIndicator | cRLReasons | certificateIssuer |
- holdInstructionCode | invalidityDate }
-
-authorityKeyIdentifier EXTENSION-CLASS ::= {
- ID id-ce-authorityKeyIdentifier
- TYPE AuthorityKeyIdentifier }
-
-subjectKeyIdentifier EXTENSION-CLASS ::= {
- ID id-ce-subjectKeyIdentifier
- TYPE SubjectKeyIdentifier }
-
-keyUsage EXTENSION-CLASS ::= {
- ID id-ce-keyUsage
- TYPE KeyUsage }
-
-privateKeyUsagePeriod EXTENSION-CLASS ::= {
- ID id-ce-privateKeyUsagePeriod
- TYPE PrivateKeyUsagePeriod }
-
-certificatePolicies EXTENSION-CLASS ::= {
- ID id-ce-certificatePolicies
- TYPE CertificatePolicies }
-
-policyMappings EXTENSION-CLASS ::= {
- ID id-ce-policyMappings
- TYPE PolicyMappings }
-
-subjectAltName EXTENSION-CLASS ::= {
- ID id-ce-subjectAltName
- TYPE SubjectAltName }
-
-issuerAltName EXTENSION-CLASS ::= {
- ID id-ce-issuerAltName
- TYPE IssuerAltName }
-
-subjectDirectoryAttributes EXTENSION-CLASS ::= {
- ID id-ce-subjectDirectoryAttributes
- TYPE SubjectDirectoryAttributes }
-
-basicConstraints EXTENSION-CLASS ::= {
- ID id-ce-basicConstraints
- TYPE BasicConstraints }
-
-nameConstraints EXTENSION-CLASS ::= {
- ID id-ce-nameConstraints
- TYPE NameConstraints }
-
-policyConstraints EXTENSION-CLASS ::= {
- ID id-ce-policyConstraints
- TYPE PolicyConstraints }
-
-cRLDistributionPoints EXTENSION-CLASS ::= {
- ID id-ce-cRLDistributionPoints
- TYPE CRLDistributionPoints }
-
-extKeyUsage EXTENSION-CLASS ::= {
- ID id-ce-extKeyUsage
- TYPE ExtKeyUsageSyntax }
-
-inhibitAnyPolicy EXTENSION-CLASS ::= {
- ID id-ce-inhibitAnyPolicy
- TYPE InhibitAnyPolicy }
-
-freshestCRL EXTENSION-CLASS ::= {
- ID id-ce-freshestCRL
- TYPE FreshestCRL }
-
-authorityInfoAccess EXTENSION-CLASS ::= {
- ID id-pe-authorityInfoAccess
- TYPE AuthorityInfoAccessSyntax }
-
-subjectInfoAccess EXTENSION-CLASS ::= {
- ID id-pe-subjectInfoAccess
- TYPE SubjectInfoAccessSyntax }
-
-cRLNumber EXTENSION-CLASS ::= {
- ID id-ce-cRLNumber
- TYPE CRLNumber }
-
-issuingDistributionPoint EXTENSION-CLASS ::= {
- ID id-ce-issuingDistributionPoint
- TYPE IssuingDistributionPoint }
-
-deltaCRLIndicator EXTENSION-CLASS ::= {
- ID id-ce-deltaCRLIndicator
- TYPE BaseCRLNumber }
-
-cRLReasons EXTENSION-CLASS ::= {
- ID id-ce-cRLReasons
- TYPE CRLReason }
-
-certificateIssuer EXTENSION-CLASS ::= {
- ID id-ce-certificateIssuer
- TYPE CertificateIssuer }
-
-holdInstructionCode EXTENSION-CLASS ::= {
- ID id-ce-holdInstructionCode
- TYPE HoldInstructionCode }
-
-invalidityDate EXTENSION-CLASS ::= {
- ID id-ce-invalidityDate
- TYPE InvalidityDate }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SelectedAttributeTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/SelectedAttributeTypes.asn
deleted file mode 100644
index 25f20e5c01..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SelectedAttributeTypes.asn
+++ /dev/null
@@ -1,1466 +0,0 @@
--- Module SelectedAttributeTypes (X.520:08/1997)
-
-SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
- selectedAttributeTypes(5) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, upperBounds, id-at, id-mr, id-avc,
- directoryAbstractService, id-pr, id-not, id-cat
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, ATTRIBUTE, MATCHING-RULE, AttributeType, OBJECT-CLASS,
- DistinguishedName, objectIdentifierMatch, distinguishedNameMatch,
- CONTEXT, ContextAssertion, AttributeCombination, ContextCombination,
- MAPPING-BASED-MATCHING, MRMapping, AttributeValueAssertion
- FROM InformationFramework informationFramework
- G3FacsimileNonBasicParameters
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- ub-answerback, ub-name, ub-common-name, ub-surname, ub-serial-number,
- ub-locality-name, ub-state-name, ub-street-address, ub-organization-name,
- ub-organizational-unit-name, ub-title, ub-description,
- ub-business-category, ub-postal-line, ub-postal-string, ub-postal-code,
- ub-post-office-box, ub-physical-office-name, ub-telex-number,
- ub-country-code, ub-teletex-terminal-id, ub-telephone-number,
- ub-x121-address, ub-international-isdn-number, ub-destination-indicator,
- ub-user-password, ub-match, ub-knowledge-information,
- ub-directory-string-first-component-match, ub-localeContextSyntax,
- ub-pseudonym
- FROM UpperBounds upperBounds
- FilterItem, HierarchySelections, SearchControlOptions, ServiceControlOptions
- FROM DirectoryAbstractService directoryAbstractService;
-
--- Directory string type
-DirectoryString{INTEGER:maxSize} ::= CHOICE {
- teletexString TeletexString(SIZE (1..maxSize)),
- printableString PrintableString(SIZE (1..maxSize)),
- universalString UniversalString(SIZE (1..maxSize)),
- bmpString BMPString(SIZE (1..maxSize)),
- uTF8String UTF8String(SIZE (1..maxSize))
-}
-
--- Attribute types
-knowledgeInformation ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-knowledge-information}
- EQUALITY MATCHING RULE caseIgnoreMatch
- ID id-at-knowledgeInformation
-}
-
-name ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-name
-}
-
-commonName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-commonName
-}
-
-surname ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-surname}
- ID id-at-surname
-}
-
-givenName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-givenName
-}
-
-initials ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-initials
-}
-
-generationQualifier ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-generationQualifier
-}
-
-uniqueIdentifier ATTRIBUTE ::= {
- WITH SYNTAX UniqueIdentifier
- EQUALITY MATCHING RULE bitStringMatch
- ID id-at-uniqueIdentifier
-}
-
-UniqueIdentifier ::= BIT STRING
-
-dnQualifier ATTRIBUTE ::= {
- WITH SYNTAX PrintableString
- EQUALITY MATCHING RULE caseIgnoreMatch
- ORDERING MATCHING RULE caseIgnoreOrderingMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-dnQualifier
-}
-
-serialNumber ATTRIBUTE ::= {
- WITH SYNTAX PrintableString(SIZE (1..ub-serial-number))
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-serialNumber
-}
-
-pseudonym ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-pseudonym}
- ID id-at-pseudonym
-}
-
-countryName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX CountryName
- SINGLE VALUE TRUE
- ID id-at-countryName
-}
-
-CountryName ::= PrintableString(SIZE (2)) -- ISO 3166 codes only
-
-
-localityName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-locality-name}
- ID id-at-localityName
-}
-
-collectiveLocalityName ATTRIBUTE ::= {
- SUBTYPE OF localityName
- COLLECTIVE TRUE
- ID id-at-collectiveLocalityName
-}
-
-stateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-state-name}
- ID id-at-stateOrProvinceName
-}
-
-collectiveStateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF stateOrProvinceName
- COLLECTIVE TRUE
- ID id-at-collectiveStateOrProvinceName
-}
-
-streetAddress ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-street-address}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-streetAddress
-}
-
-collectiveStreetAddress ATTRIBUTE ::= {
- SUBTYPE OF streetAddress
- COLLECTIVE TRUE
- ID id-at-collectiveStreetAddress
-}
-
-houseIdentifier ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-houseIdentifier
-}
-
-organizationName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organization-name}
- ID id-at-organizationName
-}
-
-collectiveOrganizationName ATTRIBUTE ::= {
- SUBTYPE OF organizationName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationName
-}
-
-organizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organizational-unit-name}
- ID id-at-organizationalUnitName
-}
-
-collectiveOrganizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF organizationalUnitName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationalUnitName
-}
-
-title ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-title}
- ID id-at-title
-}
-
-description ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-description}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-description
-}
-
-searchGuide ATTRIBUTE ::= {WITH SYNTAX Guide
- ID id-at-searchGuide
-}
-
-Guide ::= SET {
- objectClass [0] OBJECT-CLASS.&id OPTIONAL,
- criteria [1] Criteria
-}
-
-Criteria ::= CHOICE {
- type [0] CriteriaItem,
- and [1] SET OF Criteria,
- or [2] SET OF Criteria,
- not [3] Criteria
-}
-
-CriteriaItem ::= CHOICE {
- equality [0] AttributeType,
- substrings [1] AttributeType,
- greaterOrEqual [2] AttributeType,
- lessOrEqual [3] AttributeType,
- approximateMatch [4] AttributeType
-}
-
-enhancedSearchGuide ATTRIBUTE ::= {
- WITH SYNTAX EnhancedGuide
- ID id-at-enhancedSearchGuide
-}
-
-EnhancedGuide ::= SEQUENCE {
- objectClass [0] OBJECT-CLASS.&id,
- criteria [1] Criteria,
- subset
- [2] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} DEFAULT oneLevel
-}
-
-businessCategory ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-business-category}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-businessCategory
-}
-
-postalAddress ATTRIBUTE ::= {
- WITH SYNTAX PostalAddress
- EQUALITY MATCHING RULE caseIgnoreListMatch
- SUBSTRINGS MATCHING RULE caseIgnoreListSubstringsMatch
- ID id-at-postalAddress
-}
-
-PostalAddress ::=
- SEQUENCE SIZE (1..ub-postal-line) OF DirectoryString{ub-postal-string}
-
-collectivePostalAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- COLLECTIVE TRUE
- ID id-at-collectivePostalAddress
-}
-
-postalCode ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-postal-code}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postalCode
-}
-
-collectivePostalCode ATTRIBUTE ::= {
- SUBTYPE OF postalCode
- COLLECTIVE TRUE
- ID id-at-collectivePostalCode
-}
-
-postOfficeBox ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-post-office-box}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postOfficeBox
-}
-
-collectivePostOfficeBox ATTRIBUTE ::= {
- SUBTYPE OF postOfficeBox
- COLLECTIVE TRUE
- ID id-at-collectivePostOfficeBox
-}
-
-physicalDeliveryOfficeName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-physical-office-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-physicalDeliveryOfficeName
-}
-
-collectivePhysicalDeliveryOfficeName ATTRIBUTE ::= {
- SUBTYPE OF physicalDeliveryOfficeName
- COLLECTIVE TRUE
- ID id-at-collectivePhysicalDeliveryOfficeName
-}
-
-telephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX TelephoneNumber
- EQUALITY MATCHING RULE telephoneNumberMatch
- SUBSTRINGS MATCHING RULE telephoneNumberSubstringsMatch
- ID id-at-telephoneNumber
-}
-
-TelephoneNumber ::= PrintableString(SIZE (1..ub-telephone-number))
-
--- String complying with CCITT Rec. E.123 only
-collectiveTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF telephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelephoneNumber
-}
-
-telexNumber ATTRIBUTE ::= {
- WITH SYNTAX TelexNumber
- ID id-at-telexNumber
-}
-
-TelexNumber ::= SEQUENCE {
- telexNumber PrintableString(SIZE (1..ub-telex-number)),
- countryCode PrintableString(SIZE (1..ub-country-code)),
- answerback PrintableString(SIZE (1..ub-answerback))
-}
-
-collectiveTelexNumber ATTRIBUTE ::= {
- SUBTYPE OF telexNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelexNumber
-}
-
-facsimileTelephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX FacsimileTelephoneNumber
- EQUALITY MATCHING RULE facsimileNumberMatch
- SUBSTRINGS MATCHING RULE facsimileNumberSubstringsMatch
- ID id-at-facsimileTelephoneNumber
-}
-
-facsimileNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-facsimileNumberMatch
-}
-
-facsimileNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-facsimileNumberSubstringsMatch
-}
-
-FacsimileTelephoneNumber ::= SEQUENCE {
- telephoneNumber TelephoneNumber,
- parameters G3FacsimileNonBasicParameters OPTIONAL
-}
-
-collectiveFacsimileTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF facsimileTelephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveFacsimileTelephoneNumber
-}
-
-x121Address ATTRIBUTE ::= {
- WITH SYNTAX X121Address
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-x121Address
-}
-
-X121Address ::= NumericString(SIZE (1..ub-x121-address))
-
--- String as defined by ITU-T Rec. X.121
-internationalISDNNumber ATTRIBUTE ::= {
- WITH SYNTAX InternationalISDNNumber
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-internationalISDNNumber
-}
-
-InternationalISDNNumber ::=
- NumericString(SIZE (1..ub-international-isdn-number))
-
--- String complying with ITU-T Rec. E.164 only
-collectiveInternationalISDNNumber ATTRIBUTE ::= {
- SUBTYPE OF internationalISDNNumber
- COLLECTIVE TRUE
- ID id-at-collectiveInternationalISDNNumber
-}
-
-registeredAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- WITH SYNTAX PostalAddress
- ID id-at-registeredAddress
-}
-
-destinationIndicator ATTRIBUTE ::= {
- WITH SYNTAX DestinationIndicator
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-destinationIndicator
-}
-
-DestinationIndicator ::= PrintableString(SIZE (1..ub-destination-indicator))
-
-communicationsService ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-communicationsService
-}
-
-communicationsNetwork ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-at-communicationsNetwork
-}
-
--- alphabetical characters only
-preferredDeliveryMethod ATTRIBUTE ::= {
- WITH SYNTAX PreferredDeliveryMethod
- SINGLE VALUE TRUE
- ID id-at-preferredDeliveryMethod
-}
-
-PreferredDeliveryMethod ::=
- SEQUENCE OF
- INTEGER {any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
- g4-facsimile-delivery(6), ia5-terminal-delivery(7),
- videotex-delivery(8), telephone-delivery(9)}
-
-presentationAddress ATTRIBUTE ::= {
- WITH SYNTAX PresentationAddress
- EQUALITY MATCHING RULE presentationAddressMatch
- SINGLE VALUE TRUE
- ID id-at-presentationAddress
-}
-
-PresentationAddress ::= SEQUENCE {
- pSelector [0] OCTET STRING OPTIONAL,
- sSelector [1] OCTET STRING OPTIONAL,
- tSelector [2] OCTET STRING OPTIONAL,
- nAddresses [3] SET SIZE (1..MAX) OF OCTET STRING
-}
-
-supportedApplicationContext ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-supportedApplicationContext
-}
-
-protocolInformation ATTRIBUTE ::= {
- WITH SYNTAX ProtocolInformation
- EQUALITY MATCHING RULE protocolInformationMatch
- ID id-at-protocolInformation
-}
-
-ProtocolInformation ::= SEQUENCE {
- nAddress OCTET STRING,
- profiles SET OF OBJECT IDENTIFIER
-}
-
-distinguishedName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- ID id-at-distinguishedName
-}
-
-member ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-member
-}
-
-uniqueMember ATTRIBUTE ::= {
- WITH SYNTAX NameAndOptionalUID
- EQUALITY MATCHING RULE uniqueMemberMatch
- ID id-at-uniqueMember
-}
-
-NameAndOptionalUID ::= SEQUENCE {
- dn DistinguishedName,
- uid UniqueIdentifier OPTIONAL
-}
-
-owner ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-owner
-}
-
-roleOccupant ATTRIBUTE ::= {
- SUBTYPE OF distinguishedName
- ID id-at-roleOccupant
-}
-
-seeAlso ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-seeAlso
-}
-
-dmdName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-dmdName
-}
-
-dSAProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-dSAProblem
-}
-
-searchServiceProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-searchServiceProblem
-}
-
-serviceType ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-serviceType
-}
-
-attributeTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-attributeTypeList
-}
-
-filterItem ATTRIBUTE ::= {
- WITH SYNTAX FilterItem
- ID id-not-filterItem
-}
-
-attributeCombinations ATTRIBUTE ::= {
- WITH SYNTAX AttributeCombination
- ID id-not-attributeCombinations
-}
-
-contextTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-contextTypeList
-}
-
-contextList ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-not-contextList
-}
-
-hierarchySelectList ATTRIBUTE ::= {
- WITH SYNTAX HierarchySelections
- SINGLE VALUE TRUE
- ID id-not-hierarchySelectList
-}
-
-searchOptionsList ATTRIBUTE ::= {
- WITH SYNTAX SearchControlOptions
- SINGLE VALUE TRUE
- ID id-not-searchOptionsList
-}
-
-serviceControlOptionsList ATTRIBUTE ::= {
- WITH SYNTAX ServiceControlOptions
- SINGLE VALUE TRUE
- ID id-not-serviceControlOptionsList
-}
-
-multipleMatchingLocalities ATTRIBUTE ::= {
- WITH SYNTAX MultipleMatchingLocalities
- ID id-not-multipleMatchingLocalities
-}
-
-MultipleMatchingLocalities ::= SEQUENCE {
- matchingRuleUsed MATCHING-RULE.&id OPTIONAL,
- attributeList SEQUENCE OF AttributeValueAssertion
-}
-
-proposedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX SEQUENCE OF MRMapping
- ID id-not-proposedRelaxation
-}
-
-appliedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-appliedRelaxation
-}
-
--- Matching rules
-caseIgnoreMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreMatch
-}
-
-caseIgnoreOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreOrderingMatch
-}
-
-caseIgnoreSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreSubstringsMatch
-}
-
-SubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] DirectoryString{ub-match},
- any [1] DirectoryString{ub-match},
- final [2] DirectoryString{ub-match},
- control Attribute
- } -- Used to specify interpretation of the following items
-
--- at most one initial and one final component
-caseExactMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactMatch
-}
-
-caseExactOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactOrderingMatch
-}
-
-caseExactSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion -- only the PrintableString choice
- ID id-mr-caseExactSubstringsMatch
-}
-
-numericStringMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringMatch
-}
-
-numericStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringOrderingMatch
-}
-
-numericStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-numericStringSubstringsMatch
-}
-
-caseIgnoreListMatch MATCHING-RULE ::= {
- SYNTAX CaseIgnoreListMatch
- ID id-mr-caseIgnoreListMatch
-}
-
-CaseIgnoreListMatch ::= SEQUENCE OF DirectoryString{ub-match}
-
-caseIgnoreListSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreListSubstringsMatch
-}
-
-storedPrefixMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-storedPrefixMatch
-}
-
-booleanMatch MATCHING-RULE ::= {SYNTAX BOOLEAN
- ID id-mr-booleanMatch
-}
-
-integerMatch MATCHING-RULE ::= {SYNTAX INTEGER
- ID id-mr-integerMatch
-}
-
-integerOrderingMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerOrderingMatch
-}
-
-bitStringMatch MATCHING-RULE ::= {
- SYNTAX BIT STRING
- ID id-mr-bitStringMatch
-}
-
-octetStringMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringMatch
-}
-
-octetStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringOrderingMatch
-}
-
-octetStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX OctetSubstringAssertion
- ID id-mr-octetStringSubstringsMatch
-}
-
-OctetSubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] OCTET STRING,
- any [1] OCTET STRING,
- final [2] OCTET STRING}
-
--- at most one initial and one final component
-telephoneNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-telephoneNumberMatch
-}
-
-telephoneNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-telephoneNumberSubstringsMatch
-}
-
-presentationAddressMatch MATCHING-RULE ::= {
- SYNTAX PresentationAddress
- ID id-mr-presentationAddressMatch
-}
-
-uniqueMemberMatch MATCHING-RULE ::= {
- SYNTAX NameAndOptionalUID
- ID id-mr-uniqueMemberMatch
-}
-
-protocolInformationMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-protocolInformationMatch
-}
-
-uTCTimeMatch MATCHING-RULE ::= {SYNTAX UTCTime
- ID id-mr-uTCTimeMatch
-}
-
-uTCTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX UTCTime
- ID id-mr-uTCTimeOrderingMatch
-}
-
-generalizedTimeMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeMatch
-}
-
-generalizedTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeOrderingMatch
-}
-
-integerFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerFirstComponentMatch
-}
-
-objectIdentifierFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierFirstComponentMatch
-}
-
-directoryStringFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-directory-string-first-component-match}
- ID id-mr-directoryStringFirstComponentMatch
-}
-
-wordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-wordMatch
-}
-
-keywordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-keywordMatch
-}
-
-systemProposedMatch MATCHING-RULE ::= {ID id-mr-systemProposedMatch
-}
-
-generalWordMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-generalWordMatch
-}
-
-sequenceMatchType ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {sequenceExact(0), sequenceDeletion(1),
- sequenceRestrictedDeletion(2), sequencePermutation(3),
- sequencePermutationAndDeletion(4), sequenceProviderDefined(5)}
- SINGLE VALUE TRUE
- ID id-cat-sequenceMatchType
-} -- defaulting to sequenceExact,
-
-wordMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {wordExact(0), wordTruncated(1), wordPhonetic(2),
- wordProviderDefined(3)}
- SINGLE VALUE TRUE
- ID id-cat-wordMatchType
-} -- defaulting to wordExact
-
-characterMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {characterExact(0), characterCaseIgnore(1), characterMapped(2)}
- SINGLE VALUE TRUE
- ID id-cat-characterMatchTypes
-}
-
-selectedContexts ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-cat-selectedContexts
-}
-
-approximateStringMatch MATCHING-RULE ::= {ID id-mr-approximateStringMatch
-}
-
-ignoreIfAbsentMatch MATCHING-RULE ::= {ID id-mr-ignoreIfAbsentMatch
-}
-
-nullMatch MATCHING-RULE ::= {ID id-mr-nullMatch
-}
-
-ZONAL-MATCHING ::=
- MAPPING-BASED-MATCHING{ZonalSelect, TRUE, ZonalResult, zonalMatch.&id}
-
-ZonalSelect ::= SEQUENCE OF AttributeType
-
-ZonalResult ::= ENUMERATED {
- cannot-select-mapping(0), zero-mappings(2), multiple-mappings(3)}
-
-zonalMatch MATCHING-RULE ::= {
- UNIQUE-MATCH-INDICATOR multipleMatchingLocalities.&id
- ID id-mr-zonalMatch
-}
-
--- Contexts
-languageContext CONTEXT ::= {
- WITH SYNTAX LanguageContextSyntax
- ID id-avc-language
-}
-
-LanguageContextSyntax ::= PrintableString(SIZE (2..3)) -- ISO 639-2 codes only
-
-
-temporalContext CONTEXT ::= {
- WITH SYNTAX TimeSpecification
- ASSERTED AS TimeAssertion
- ID id-avc-temporal
-}
-
-TimeSpecification ::= SEQUENCE {
- time
- CHOICE {absolute
- SEQUENCE {startTime [0] GeneralizedTime OPTIONAL,
- endTime [1] GeneralizedTime OPTIONAL},
- periodic SET OF Period},
- notThisTime BOOLEAN DEFAULT FALSE,
- timeZone TimeZone OPTIONAL
-}
-
-Period ::= SEQUENCE {
- timesOfDay [0] SET SIZE (1..MAX) OF DayTimeBand OPTIONAL,
- days
- [1] CHOICE {intDay SET OF INTEGER,
- bitDay
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3),
- thursday(4), friday(5), saturday(6)},
- dayOf XDayOf} OPTIONAL,
- weeks
- [2] CHOICE {allWeeks NULL,
- intWeek SET OF INTEGER,
- bitWeek
- BIT STRING {week1(0), week2(1), week3(2), week4(3), week5(4)}
- } OPTIONAL,
- months
- [3] CHOICE {allMonths NULL,
- intMonth SET OF INTEGER,
- bitMonth
- BIT STRING {january(0), february(1), march(2), april(3),
- may(4), june(5), july(6), august(7),
- september(8), october(9), november(10),
- december(11)}} OPTIONAL,
- years [4] SET OF INTEGER(1000..MAX) OPTIONAL
-}
-
-XDayOf ::= CHOICE {
- first [1] NamedDay,
- second [2] NamedDay,
- third [3] NamedDay,
- fourth [4] NamedDay,
- fifth [5] NamedDay
-}
-
-NamedDay ::= CHOICE {
- intNamedDays
- ENUMERATED {sunday(1), monday(2), tuesday(3), wednesday(4), thursday(5),
- friday(6), saturday(7)},
- bitNamedDays
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4),
- friday(5), saturday(6)}
-}
-
-DayTimeBand ::= SEQUENCE {
- startDayTime [0] DayTime DEFAULT {hour 0},
- endDayTime [1] DayTime DEFAULT {hour 23, minute 59, second 59}
-}
-
-DayTime ::= SEQUENCE {
- hour [0] INTEGER(0..23),
- minute [1] INTEGER(0..59) DEFAULT 0,
- second [2] INTEGER(0..59) DEFAULT 0
-}
-
-TimeZone ::= INTEGER(-12..12)
-
-TimeAssertion ::= CHOICE {
- now NULL,
- at GeneralizedTime,
- between
- SEQUENCE {startTime [0] GeneralizedTime,
- endTime [1] GeneralizedTime OPTIONAL,
- entirely BOOLEAN DEFAULT FALSE}
-}
-
-localeContext CONTEXT ::= {
- WITH SYNTAX LocaleContextSyntax
- ID id-avc-locale
-}
-
-LocaleContextSyntax ::= CHOICE {
- localeID1 OBJECT IDENTIFIER,
- localeID2 DirectoryString{ub-localeContextSyntax}
-}
-
--- Object identifier assignments -
--- object identifiers assigned in other modules are shown in comments
--- Attributes
--- id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
--- id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-id-at-encryptedAliasedEntryName OBJECT IDENTIFIER ::=
- {id-at 1 2}
-
-id-at-knowledgeInformation OBJECT IDENTIFIER ::= {id-at 2}
-
-id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
-
-id-at-encryptedCommonName OBJECT IDENTIFIER ::= {id-at 3 2}
-
-id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
-
-id-at-encryptedSurname OBJECT IDENTIFIER ::= {id-at 4 2}
-
-id-at-serialNumber OBJECT IDENTIFIER ::= {id-at 5}
-
-id-at-encryptedSerialNumber OBJECT IDENTIFIER ::= {id-at 5 2}
-
-id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
-
-id-at-encryptedCountryName OBJECT IDENTIFIER ::= {id-at 6 2}
-
-id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
-
-id-at-encryptedLocalityName OBJECT IDENTIFIER ::= {id-at 7 2}
-
-id-at-collectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1}
-
-id-at-encryptedCollectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1 2}
-
-id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
-
-id-at-encryptedStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 2}
-
-id-at-collectiveStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 1}
-
-id-at-encryptedCollectiveStateOrProvinceName OBJECT IDENTIFIER ::=
- {id-at 8 1 2}
-
-id-at-streetAddress OBJECT IDENTIFIER ::= {id-at 9}
-
-id-at-encryptedStreetAddress OBJECT IDENTIFIER ::= {id-at 9 2}
-
-id-at-collectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1}
-
-id-at-encryptedCollectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1 2}
-
-id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
-
-id-at-encryptedOrganizationName OBJECT IDENTIFIER ::= {id-at 10 2}
-
-id-at-collectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1}
-
-id-at-encryptedCollectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1 2}
-
-id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
-
-id-at-encryptedOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 2}
-
-id-at-collectiveOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 1}
-
-id-at-encryptedCollectiveOrganizationalUnitName OBJECT IDENTIFIER ::=
- {id-at 11 1 2}
-
-id-at-title OBJECT IDENTIFIER ::= {id-at 12}
-
-id-at-encryptedTitle OBJECT IDENTIFIER ::= {id-at 12 2}
-
-id-at-description OBJECT IDENTIFIER ::= {id-at 13}
-
-id-at-encryptedDescription OBJECT IDENTIFIER ::= {id-at 13 2}
-
-id-at-searchGuide OBJECT IDENTIFIER ::= {id-at 14}
-
-id-at-encryptedSearchGuide OBJECT IDENTIFIER ::= {id-at 14 2}
-
-id-at-businessCategory OBJECT IDENTIFIER ::= {id-at 15}
-
-id-at-encryptedBusinessCategory OBJECT IDENTIFIER ::= {id-at 15 2}
-
-id-at-postalAddress OBJECT IDENTIFIER ::= {id-at 16}
-
-id-at-encryptedPostalAddress OBJECT IDENTIFIER ::= {id-at 16 2}
-
-id-at-collectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1}
-
-id-at-encryptedCollectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1 2}
-
-id-at-postalCode OBJECT IDENTIFIER ::= {id-at 17}
-
-id-at-encryptedPostalCode OBJECT IDENTIFIER ::= {id-at 17 2}
-
-id-at-collectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1}
-
-id-at-encryptedCollectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1 2}
-
-id-at-postOfficeBox OBJECT IDENTIFIER ::= {id-at 18}
-
-id-at-encryptedPostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 2}
-
-id-at-collectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1}
-
-id-at-encryptedCollectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1 2}
-
-id-at-physicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19}
-
-id-at-encryptedPhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 2}
-
-id-at-collectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 1}
-
-id-at-encryptedCollectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::=
- {id-at 19 1 2}
-
-id-at-telephoneNumber OBJECT IDENTIFIER ::= {id-at 20}
-
-id-at-encryptedTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 2}
-
-id-at-collectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1}
-
-id-at-encryptedCollectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1 2}
-
-id-at-telexNumber OBJECT IDENTIFIER ::= {id-at 21}
-
-id-at-encryptedTelexNumber OBJECT IDENTIFIER ::= {id-at 21 2}
-
-id-at-collectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1}
-
-id-at-encryptedCollectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1 2}
-
--- id-at-teletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22}
--- id-at-encryptedTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 2}
--- id-at-collectiveTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 1}
--- id-at-encryptedCollectiveTeletexTerminalIdentifier
--- OBJECT IDENTIFIER ::= {id-at 22 1 2}
-id-at-facsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23}
-
-id-at-encryptedFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 2}
-
-id-at-collectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 1}
-
-id-at-encryptedCollectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23 1 2}
-
-id-at-x121Address OBJECT IDENTIFIER ::= {id-at 24}
-
-id-at-encryptedX121Address OBJECT IDENTIFIER ::= {id-at 24 2}
-
-id-at-internationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25}
-
-id-at-encryptedInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 2}
-
-id-at-collectiveInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 1}
-
-id-at-encryptedCollectiveInternationalISDNNumber OBJECT IDENTIFIER ::=
- {id-at 25 1 2}
-
-id-at-registeredAddress OBJECT IDENTIFIER ::= {id-at 26}
-
-id-at-encryptedRegisteredAddress OBJECT IDENTIFIER ::= {id-at 26 2}
-
-id-at-destinationIndicator OBJECT IDENTIFIER ::= {id-at 27}
-
-id-at-encryptedDestinationIndicator OBJECT IDENTIFIER ::= {id-at 27 2}
-
-id-at-preferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28}
-
-id-at-encryptedPreferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28 2}
-
-id-at-presentationAddress OBJECT IDENTIFIER ::= {id-at 29}
-
-id-at-encryptedPresentationAddress OBJECT IDENTIFIER ::= {id-at 29 2}
-
-id-at-supportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30}
-
-id-at-encryptedSupportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30 2}
-
-id-at-member OBJECT IDENTIFIER ::= {id-at 31}
-
-id-at-encryptedMember OBJECT IDENTIFIER ::= {id-at 31 2}
-
-id-at-owner OBJECT IDENTIFIER ::= {id-at 32}
-
-id-at-encryptedOwner OBJECT IDENTIFIER ::= {id-at 32 2}
-
-id-at-roleOccupant OBJECT IDENTIFIER ::= {id-at 33}
-
-id-at-encryptedRoleOccupant OBJECT IDENTIFIER ::= {id-at 33 2}
-
-id-at-seeAlso OBJECT IDENTIFIER ::= {id-at 34}
-
-id-at-encryptedSeeAlso OBJECT IDENTIFIER ::= {id-at 34 2}
-
--- id-at-userPassword OBJECT IDENTIFIER ::= {id-at 35}
-id-at-encryptedUserPassword OBJECT IDENTIFIER ::=
- {id-at 35 2}
-
--- id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
-id-at-encryptedUserCertificate OBJECT IDENTIFIER ::=
- {id-at 36 2}
-
--- id-at-cACertificate OBJECT IDENTIFIER ::= {id-at 37}
-id-at-encryptedCACertificate OBJECT IDENTIFIER ::=
- {id-at 37 2}
-
--- id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
-id-at-encryptedAuthorityRevocationList OBJECT IDENTIFIER ::=
- {id-at 38 2}
-
--- id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
-id-at-encryptedCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 39 2}
-
--- id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
-id-at-encryptedCrossCertificatePair OBJECT IDENTIFIER ::=
- {id-at 40 2}
-
-id-at-name OBJECT IDENTIFIER ::= {id-at 41}
-
-id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
-
-id-at-encryptedGivenName OBJECT IDENTIFIER ::= {id-at 42 2}
-
-id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
-
-id-at-encryptedInitials OBJECT IDENTIFIER ::= {id-at 43 2}
-
-id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
-
-id-at-encryptedGenerationQualifier OBJECT IDENTIFIER ::= {id-at 44 2}
-
-id-at-uniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45}
-
-id-at-encryptedUniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45 2}
-
-id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
-
-id-at-encryptedDnQualifier OBJECT IDENTIFIER ::= {id-at 46 2}
-
-id-at-enhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47}
-
-id-at-encryptedEnhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47 2}
-
-id-at-protocolInformation OBJECT IDENTIFIER ::= {id-at 48}
-
-id-at-encryptedProtocolInformation OBJECT IDENTIFIER ::= {id-at 48 2}
-
-id-at-distinguishedName OBJECT IDENTIFIER ::= {id-at 49}
-
-id-at-encryptedDistinguishedName OBJECT IDENTIFIER ::= {id-at 49 2}
-
-id-at-uniqueMember OBJECT IDENTIFIER ::= {id-at 50}
-
-id-at-encryptedUniqueMember OBJECT IDENTIFIER ::= {id-at 50 2}
-
-id-at-houseIdentifier OBJECT IDENTIFIER ::= {id-at 51}
-
-id-at-encryptedHouseIdentifier OBJECT IDENTIFIER ::= {id-at 51 2}
-
---id-at-supportedAlgorithms OBJECT IDENTIFIER ::= {id-at 52}
-id-at-encryptedSupportedAlgorithms OBJECT IDENTIFIER ::=
- {id-at 52 2}
-
---id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
-id-at-encryptedDeltaRevocationList OBJECT IDENTIFIER ::=
- {id-at 53 2}
-
-id-at-dmdName OBJECT IDENTIFIER ::= {id-at 54}
-
-id-at-encryptedDmdName OBJECT IDENTIFIER ::= {id-at 54 2}
-
--- id-at-clearance OBJECT IDENTIFIER ::= {id-at 55}
-id-at-encryptedClearance OBJECT IDENTIFIER ::=
- {id-at 55 2}
-
--- id-at-defaultDirQop OBJECT IDENTIFIER ::= {id-at 56}
-id-at-encryptedDefaultDirQop OBJECT IDENTIFIER ::=
- {id-at 56 2}
-
--- id-at-attributeIntegrityInfo OBJECT IDENTIFIER ::= {id-at 57}
-id-at-encryptedAttributeIntegrityInfo OBJECT IDENTIFIER ::=
- {id-at 57 2}
-
---id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
-id-at-encryptedAttributeCertificate OBJECT IDENTIFIER ::=
- {id-at 58 2}
-
--- id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
-id-at-encryptedAttributeCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 59 2}
-
--- id-at-confKeyInfo OBJECT IDENTIFIER ::= {id-at 60}
-id-at-encryptedConfKeyInfo OBJECT IDENTIFIER ::=
- {id-at 60 2}
-
--- id-at-family-information OBJECT IDENTIFIER {id-at 64}
-id-at-pseudonym OBJECT IDENTIFIER ::=
- {id-at 65}
-
-id-at-communicationsService OBJECT IDENTIFIER ::= {id-at 66}
-
-id-at-communicationsNetwork OBJECT IDENTIFIER ::= {id-at 67}
-
--- Matching rules
--- id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
--- id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-id-mr-caseIgnoreMatch OBJECT IDENTIFIER ::=
- {id-mr 2}
-
-id-mr-caseIgnoreOrderingMatch OBJECT IDENTIFIER ::= {id-mr 3}
-
-id-mr-caseIgnoreSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 4}
-
-id-mr-caseExactMatch OBJECT IDENTIFIER ::= {id-mr 5}
-
-id-mr-caseExactOrderingMatch OBJECT IDENTIFIER ::= {id-mr 6}
-
-id-mr-caseExactSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 7}
-
-id-mr-numericStringMatch OBJECT IDENTIFIER ::= {id-mr 8}
-
-id-mr-numericStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 9}
-
-id-mr-numericStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 10}
-
-id-mr-caseIgnoreListMatch OBJECT IDENTIFIER ::= {id-mr 11}
-
-id-mr-caseIgnoreListSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 12}
-
-id-mr-booleanMatch OBJECT IDENTIFIER ::= {id-mr 13}
-
-id-mr-integerMatch OBJECT IDENTIFIER ::= {id-mr 14}
-
-id-mr-integerOrderingMatch OBJECT IDENTIFIER ::= {id-mr 15}
-
-id-mr-bitStringMatch OBJECT IDENTIFIER ::= {id-mr 16}
-
-id-mr-octetStringMatch OBJECT IDENTIFIER ::= {id-mr 17}
-
-id-mr-octetStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 18}
-
-id-mr-octetStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 19}
-
-id-mr-telephoneNumberMatch OBJECT IDENTIFIER ::= {id-mr 20}
-
-id-mr-telephoneNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 21}
-
-id-mr-presentationAddressMatch OBJECT IDENTIFIER ::= {id-mr 22}
-
-id-mr-uniqueMemberMatch OBJECT IDENTIFIER ::= {id-mr 23}
-
-id-mr-protocolInformationMatch OBJECT IDENTIFIER ::= {id-mr 24}
-
-id-mr-uTCTimeMatch OBJECT IDENTIFIER ::= {id-mr 25}
-
-id-mr-uTCTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 26}
-
-id-mr-generalizedTimeMatch OBJECT IDENTIFIER ::= {id-mr 27}
-
-id-mr-generalizedTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 28}
-
-id-mr-integerFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 29}
-
-id-mr-objectIdentifierFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 30}
-
-id-mr-directoryStringFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 31}
-
-id-mr-wordMatch OBJECT IDENTIFIER ::= {id-mr 32}
-
-id-mr-keywordMatch OBJECT IDENTIFIER ::= {id-mr 33}
-
--- id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
--- id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
--- id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
--- id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
--- id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
--- id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
--- id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
-id-mr-storedPrefixMatch OBJECT IDENTIFIER ::=
- {id-mr 41}
-
--- id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
--- id-mr-readerAndKeyIDMatch OBJECT IDENTIFIER ::= {id-mr 43}
---id-mr-attributeIntegrityMatch OBJECT IDENTIFIER ::= {id-mr 44}
-id-mr-systemProposedMatch OBJECT IDENTIFIER ::=
- {id-mr 47}
-
-id-mr-generalWordMatch OBJECT IDENTIFIER ::= {id-mr 48}
-
-id-mr-approximateStringMatch OBJECT IDENTIFIER ::= {id-mr 49}
-
-id-mr-ignoreIfAbsentMatch OBJECT IDENTIFIER ::= {id-mr 50}
-
-id-mr-nullMatch OBJECT IDENTIFIER ::= {id-mr 51}
-
-id-mr-zonalMatch OBJECT IDENTIFIER ::= {id-mr 52}
-
-id-mr-facsimileNumberMatch OBJECT IDENTIFIER ::= {id-mr 63}
-
-id-mr-facsimileNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 64}
-
--- contexts
-id-avc-language OBJECT IDENTIFIER ::= {id-avc 0}
-
-id-avc-temporal OBJECT IDENTIFIER ::= {id-avc 1}
-
-id-avc-locale OBJECT IDENTIFIER ::= {id-avc 2}
-
---id-avc-attributeValueSecurityLabelContext OBJECT IDENTIFIER ::= {id-avc 3}
---id-avc-attributeValueIntegrityInfoContext OBJECT IDENTIFIER ::= {id-avc 4}
--- Problem definitions
-id-pr-targetDsaUnavailable OBJECT IDENTIFIER ::=
- {id-pr 1}
-
-id-pr-dataSourceUnavailable OBJECT IDENTIFIER ::= {id-pr 2}
-
-id-pr-unidentifiedOperation OBJECT IDENTIFIER ::= {id-pr 3}
-
-id-pr-unavailableOperation OBJECT IDENTIFIER ::= {id-pr 4}
-
-id-pr-searchAttributeViolation OBJECT IDENTIFIER ::= {id-pr 5}
-
-id-pr-searchAttributeCombinationViolation OBJECT IDENTIFIER ::= {id-pr 6}
-
-id-pr-searchValueNotAllowed OBJECT IDENTIFIER ::= {id-pr 7}
-
-id-pr-missingSearchAttribute OBJECT IDENTIFIER ::= {id-pr 8}
-
-id-pr-searchValueViolation OBJECT IDENTIFIER ::= {id-pr 9}
-
-id-pr-attributeNegationViolation OBJECT IDENTIFIER ::= {id-pr 10}
-
-id-pr-searchValueRequired OBJECT IDENTIFIER ::= {id-pr 11}
-
-id-pr-invalidSearchValue OBJECT IDENTIFIER ::= {id-pr 12}
-
-id-pr-searchContextViolation OBJECT IDENTIFIER ::= {id-pr 13}
-
-id-pr-searchContextCombinationViolation OBJECT IDENTIFIER ::= {id-pr 14}
-
-id-pr-missingSearchContext OBJECT IDENTIFIER ::= {id-pr 15}
-
-id-pr-searchContextValueViolation OBJECT IDENTIFIER ::= {id-pr 16}
-
-id-pr-searchContextValueRequired OBJECT IDENTIFIER ::= {id-pr 17}
-
-id-pr-invalidContextSearchValue OBJECT IDENTIFIER ::= {id-pr 18}
-
-id-pr-unsupportedMatchingRule OBJECT IDENTIFIER ::= {id-pr 19}
-
-id-pr-attributeMatchingViolation OBJECT IDENTIFIER ::= {id-pr 20}
-
-id-pr-unsupportedMatchingUse OBJECT IDENTIFIER ::= {id-pr 21}
-
-id-pr-matchingUseViolation OBJECT IDENTIFIER ::= {id-pr 22}
-
-id-pr-hierarchySelectForbidden OBJECT IDENTIFIER ::= {id-pr 23}
-
-id-pr-invalidHierarchySelect OBJECT IDENTIFIER ::= {id-pr 24}
-
-id-pr-unavailableHierarchySelect OBJECT IDENTIFIER ::= {id-pr 25}
-
-id-pr-invalidSearchOptions OBJECT IDENTIFIER ::= {id-pr 26}
-
-id-pr-missingSearchOptions OBJECT IDENTIFIER ::= {id-pr 27}
-
-id-pr-invalidServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 28}
-
-id-pr-missingServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 29}
-
-id-pr-searchSubsetViolation OBJECT IDENTIFIER ::= {id-pr 30}
-
-id-pr-unmatchedKeyAttributes OBJECT IDENTIFIER ::= {id-pr 31}
-
-id-pr-ambiguousKeyAttributes OBJECT IDENTIFIER ::= {id-pr 32}
-
--- Notification attributes
-id-not-dSAProblem OBJECT IDENTIFIER ::= {id-not 0}
-
-id-not-searchServiceProblem OBJECT IDENTIFIER ::= {id-not 1}
-
-id-not-serviceType OBJECT IDENTIFIER ::= {id-not 2}
-
-id-not-attributeTypeList OBJECT IDENTIFIER ::= {id-not 3}
-
-id-not-matchingRuleList OBJECT IDENTIFIER ::= {id-not 4}
-
-id-not-filterItem OBJECT IDENTIFIER ::= {id-not 5}
-
-id-not-attributeCombinations OBJECT IDENTIFIER ::= {id-not 6}
-
-id-not-contextTypeList OBJECT IDENTIFIER ::= {id-not 7}
-
-id-not-contextList OBJECT IDENTIFIER ::= {id-not 8}
-
-id-not-contextCombinations OBJECT IDENTIFIER ::= {id-not 9}
-
-id-not-hierarchySelectList OBJECT IDENTIFIER ::= {id-not 10}
-
-id-not-searchOptionsList OBJECT IDENTIFIER ::= {id-not 11}
-
-id-not-serviceControlOptionsList OBJECT IDENTIFIER ::= {id-not 12}
-
-id-not-multipleMatchingLocalities OBJECT IDENTIFIER ::= {id-not 13}
-
-id-not-proposedRelaxation OBJECT IDENTIFIER ::= {id-not 14}
-
-id-not-appliedRelaxation OBJECT IDENTIFIER ::= {id-not 15}
-
-id-not-substringRequirements OBJECT IDENTIFIER ::= {id-not 16}
-
--- Control attributes
-id-cat-sequenceMatchType OBJECT IDENTIFIER ::=
- {id-cat 1}
-
-id-cat-wordMatchType OBJECT IDENTIFIER ::= {id-cat 2}
-
-id-cat-characterMatchTypes OBJECT IDENTIFIER ::= {id-cat 3}
-
-id-cat-selectedContexts OBJECT IDENTIFIER ::= {id-cat 4}
-
-END -- SelectedAttributeTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SelectionType.asn b/lib/asn1/test/asn1_bin_SUITE_data/SelectionType.asn
deleted file mode 100644
index d7bfbf1788..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SelectionType.asn
+++ /dev/null
@@ -1,59 +0,0 @@
-SelectionType DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Element ::= CHOICE {bool BOOLEAN,
- atomic-no INTEGER(1..103),
- bs BIT STRING,
- os OCTET STRING,
- null NULL,
- oi OBJECT IDENTIFIER,
- od ObjectDescriptor,
- ext EXTERNAL,
- ePDV EMBEDDED PDV,
- utf UTF8String,
- ro RELATIVE-OID,
- nums NumericString,
- symbol PrintableString,
- telet TeletexString,
- t61 T61String,
- video VideotexString,
- ia5 IA5String,
- utctime UTCTime,
- generalizedTime GeneralizedTime,
- gs GraphicString,
- vs VisibleString,
--- iso64 ISO646String,
- generalString GeneralString,
- univ UniversalString,
- cs CHARACTER STRING,
- bmp BMPString}
-
-MendeleyevTable ::= SEQUENCE OF symbol < Element
-BoolType ::= bool < Element
-
-einsteinium symbol < Element ::= "Es"
-boolv bool < Element ::= TRUE
-intv atomic-no < Element ::= 4
-bsv bs < Element ::= '1001'B
-osv os < Element ::= '313'H
-nullv null < Element ::= NULL
-oiv oi < Element ::= {2 1 1}
-odv od < Element ::= "ObjectDesc"
-utfv utf < Element ::= "utf8"
-rov ro < Element ::= {5 32767 256}
-numsv nums < Element ::= "089"
-teletv telet < Element ::= "telet"
-t61v t61 < Element ::= "t61"
-videov video < Element ::= "video"
-ia5v ia5 < Element ::= "ia5"
-utctimev utctime < Element ::= "9805281429Z"
-gTime generalizedTime < Element ::= "19980528142905.1"
-gsv gs < Element ::= "graphic"
-vsv vs < Element ::= "visible"
---iso64v iso64 < Element ::= "iso"
-gStringv generalString < Element ::= "general"
-univv univ < Element ::= "Universal"
-bmov bmp < Element ::= "bmp"
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Seq.py b/lib/asn1/test/asn1_bin_SUITE_data/Seq.py
deleted file mode 100644
index f345373ab5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Seq.py
+++ /dev/null
@@ -1,152 +0,0 @@
-Seq DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS Set1 FROM SeqSetLib;
-
-Seq ::= SEQUENCE
-{
- bool BOOLEAN,
- boolCon [20] BOOLEAN,
- boolPri [PRIVATE 21] BOOLEAN,
- boolApp [APPLICATION 22] BOOLEAN,
- boolExpCon [30] EXPLICIT BOOLEAN,
- boolExpPri [PRIVATE 31] EXPLICIT BOOLEAN,
- boolExpApp [APPLICATION 32] EXPLICIT BOOLEAN
-}
-
-Seq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SeqIn
-}
-
-Seq2 ::= SEQUENCE
-{
- seq2 SeqIn,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Seq3 ::= SEQUENCE
-{
- bool3 BOOLEAN,
- seq3 SeqIn,
- int3 INTEGER
-}
-
-Seq4 ::= SEQUENCE
-{
- seq41 SeqIn,
- seq42 SeqIn,
- seq43 SeqIn
-}
-SeqDef1 ::= SET
-{
- bool1 BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- seq1 SeqIn DEFAULT {}
-}
-
-SeqDef2 ::= SET
-{
- seq2 SeqIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SeqDef3 ::= SET
-{
- bool3 BOOLEAN DEFAULT TRUE,
- seq3 SeqIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-SeqOpt1 ::= SET
-{
- bool1 BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 SeqIn OPTIONAL
-}
-
-SeqOpt2 ::= SET
-{
- seq2 SeqIn OPTIONAL,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt3 ::= SET
-{
- bool3 BOOLEAN OPTIONAL,
- seq3 SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN OPTIONAL,
- intIn INTEGER DEFAULT 12
-}
-
-
-SeqS1 ::= SEQUENCE
-{
- boolS1 BOOLEAN,
- intS1 INTEGER,
- seqS1 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER }
-}
-
-SeqS2 ::= SEQUENCE
-{
- seqS2 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER },
- boolS2 BOOLEAN,
- intS2 INTEGER
-
-}
-
-SeqS3 ::= SEQUENCE
-{
- boolS3 BOOLEAN,
- seqS3 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-
-SeqImp1 ::= SET
-{
- set Set1,
- bool BOOLEAN,
- int INTEGER
-}
-
-
-SeqImp2 ::= SET
-{
- bool BOOLEAN,
- set Set1,
- int INTEGER
-}
-
-
-SeqImp3 ::= SET
-{
- bool BOOLEAN,
- int INTEGER,
- set Set1
-}
-
-
-
-END
-
-
-
-
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Seq2738.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/Seq2738.asn1
deleted file mode 100644
index c852adc57e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Seq2738.asn1
+++ /dev/null
@@ -1,37 +0,0 @@
-Seq2738 DEFINITIONS IMPLICIT TAGS ::=
-
--- Tests that a missing mandatory component of an optional
--- component is detected as an error and not just as if the optional
--- component was missing
-
-BEGIN
-
--- We create a value of type SeqWithOptFake , encode it and then
--- try to decode it as a value of type SeqWithOpt.
--- The decoder should detect this as an error, because the
--- mandatory first component of type INTEGER in OptSeq is missing
-
-SeqOpt ::= SEQUENCE
-{
- int INTEGER,
- opt OptSeq OPTIONAL
-}
-
-SeqOptFake ::= SEQUENCE
-{
- int INTEGER,
- opt OptSeqFake OPTIONAL
-}
-
-OptSeq ::= SEQUENCE
-{
- int INTEGER
-}
-
-OptSeqFake ::= SEQUENCE
-{
- bool BOOLEAN
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqBadComma.asn b/lib/asn1/test/asn1_bin_SUITE_data/SeqBadComma.asn
deleted file mode 100644
index 64729beccd..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqBadComma.asn
+++ /dev/null
@@ -1,10 +0,0 @@
-SeqBadComma DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Seq ::= SEQUENCE {
- a INTEGER,
- n BOOLEAN,
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqDefault.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqDefault.asn1
deleted file mode 100644
index 99e79da972..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqDefault.asn1
+++ /dev/null
@@ -1,77 +0,0 @@
-SeqDefault DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SeqDef1 ::= SEQUENCE
-{
- bool1 BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- seq1 SeqIn DEFAULT {}
-}
-
-SeqDef1Imp ::= SEQUENCE
-{
- bool1 [1] BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- seq1 [2] SeqIn DEFAULT {}
-}
-
-SeqDef1Exp ::= SEQUENCE
-{
- bool1 [1] EXPLICIT BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- seq1 [2] EXPLICIT SeqIn DEFAULT {}
-}
-
-SeqDef2 ::= SEQUENCE
-{
- seq2 SeqIn DEFAULT {},
- bool2 BOOLEAN DEFAULT TRUE,
- int2 INTEGER
-}
-
-SeqDef2Imp ::= SEQUENCE
-{
- seq2 [1] SeqIn DEFAULT {},
- bool2 [2] BOOLEAN DEFAULT TRUE,
- int2 INTEGER
-}
-
-SeqDef2Exp ::= SEQUENCE
-{
- seq2 [1] EXPLICIT SeqIn DEFAULT {},
- bool2 [2] EXPLICIT BOOLEAN,
- int2 INTEGER
-}
-
-SeqDef3 ::= SEQUENCE
-{
- bool3 BOOLEAN DEFAULT TRUE,
- seq3 SeqIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-SeqDef3Imp ::= SEQUENCE
-{
- bool3 [1] BOOLEAN DEFAULT TRUE,
- seq3 [2] SeqIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-SeqDef3Exp ::= SEQUENCE
-{
- bool3 [1] EXPLICIT BOOLEAN DEFAULT TRUE,
- seq3 [2] EXPLICIT SeqIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN OPTIONAL,
- intIn INTEGER DEFAULT 12
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqExtension.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqExtension.asn1
deleted file mode 100644
index bb0a7cca3a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqExtension.asn1
+++ /dev/null
@@ -1,37 +0,0 @@
-SeqExtension DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeqExt1, XSeqExt2 FROM External;
-
-
-SeqExt1 ::= SEQUENCE
-{
- ...
-}
-
-SeqExt2 ::= SEQUENCE
-{
- bool BOOLEAN,
- int INTEGER,
- ...
-}
-
-SeqExt3 ::= SEQUENCE
-{
- ...,
- bool BOOLEAN,
- int INTEGER
-}
-
-SeqExt4 ::= SEQUENCE
-{
- bool BOOLEAN,
- ...,
- int INTEGER
-}
-
-SeqExt1X ::= XSeqExt1
-SeqExt2X ::= XSeqExt2
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqExternal.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqExternal.asn1
deleted file mode 100644
index 9d575c1d6b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqExternal.asn1
+++ /dev/null
@@ -1,68 +0,0 @@
-SeqExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSet1, XSeqNT, XSeqImp, XSeqExp FROM External;
-
-
-
-SeqXSet1 ::= SEQUENCE
-{
- set XSet1,
- bool BOOLEAN,
- int INTEGER
-}
-
-
-SeqXSet2 ::= SEQUENCE
-{
- bool BOOLEAN,
- set XSet1,
- int INTEGER
-}
-
-
-SeqXSet3 ::= SEQUENCE
-{
- bool BOOLEAN,
- int INTEGER,
- set XSet1
-}
-
-
-
-NT ::= SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [1] SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [2] EXPLICIT SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-
-NTNT ::= NT
-ImpNT ::= [3] NT
-ExpNT ::= [4] EXPLICIT NT
-
-NTImp ::= Imp
-ImpImp ::= [5] Imp
-ExpImp ::= [6] EXPLICIT Imp
-
-NTExp ::= Exp
-ImpExp ::= [7] Exp
-ExpExp ::= [8] EXPLICIT Exp
-
-XNTNT ::= XSeqNT
-XImpNT ::= [3] XSeqNT
-XExpNT ::= [4] EXPLICIT XSeqNT
-
-XNTImp ::= XSeqImp
-XImpImp ::= [5] XSeqImp
-XExpImp ::= [6] EXPLICIT XSeqImp
-
-XNTExp ::= XSeqExp
-XImpExp ::= [7] XSeqExp
-XExpExp ::= [8] EXPLICIT XSeqExp
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqOf.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqOf.asn1
deleted file mode 100644
index 330944cf5c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqOf.asn1
+++ /dev/null
@@ -1,65 +0,0 @@
-SeqOf DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Seq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF SeqIn DEFAULT {}
-}
-
-Seq2 ::= SEQUENCE
-{
- seq2 SEQUENCE OF SeqIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Seq3 ::= SEQUENCE
-{
- bool3 BOOLEAN,
- seq3 SEQUENCE OF SeqIn DEFAULT {},
- int3 INTEGER
-}
-
-Seq4 ::= SEQUENCE
-{
- seq41 [41] SEQUENCE OF SeqIn DEFAULT {},
- seq42 [42] SEQUENCE OF SeqIn DEFAULT {},
- seq43 [43] SEQUENCE OF SeqIn DEFAULT {}
-}
-
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-SeqOs ::= SEQUENCE OF OCTET STRING
-SeqOsImp ::= [23] SEQUENCE OF OCTET STRING
-SeqOsExp ::= [24] EXPLICIT SEQUENCE OF OCTET STRING
-
-SeqCho ::= SEQUENCE OF CHOICE {bool BOOLEAN,
- int INTEGER,
- last NULL}
-
-SeqOfInt ::= SEQUENCE OF INTEGER
-
-
-
-
-SeqEmp ::= SEQUENCE
-{
- seq1 SEQUENCE OF Empty DEFAULT {}
-}
-
-Empty ::= SEQUENCE
-{
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqOf.py b/lib/asn1/test/asn1_bin_SUITE_data/SeqOf.py
deleted file mode 100644
index c941418934..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqOf.py
+++ /dev/null
@@ -1,45 +0,0 @@
-SeqOf DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Seq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF SeqIn DEFAULT {}
-}
-
-Seq2 ::= SEQUENCE
-{
- seq2 SEQUENCE OF SeqIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Seq3 ::= SEQUENCE
-{
- bool3 BOOLEAN,
- seq3 SEQUENCE OF SeqIn DEFAULT {},
- int3 INTEGER
-}
-
-Seq4 ::= SEQUENCE
-{
- seq41 [41] SEQUENCE OF SeqIn DEFAULT {},
- seq42 [42] SEQUENCE OF SeqIn DEFAULT {},
- seq43 [43] SEQUENCE OF SeqIn DEFAULT {}
-}
-
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqOfCho.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqOfCho.asn1
deleted file mode 100644
index 8d3d006ed9..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqOfCho.asn1
+++ /dev/null
@@ -1,73 +0,0 @@
-SeqOfCho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SeqChoDef ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF ChoIn DEFAULT {}
-}
-
-SeqChoOpt ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF ChoIn OPTIONAL
-}
-
-SeqChoEmbDef ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } DEFAULT {}
-}
-
-SeqChoEmbOpt ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } OPTIONAL
-}
-
-SeqOfChoEmbDef ::= SEQUENCE OF SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } DEFAULT {}
-}
-
-
-SeqOfChoEmbOpt ::= SEQUENCE OF SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } OPTIONAL
-}
-
-
-ChoIn ::= CHOICE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqOfEnum.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqOfEnum.asn1
deleted file mode 100644
index b8ca9c4654..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqOfEnum.asn1
+++ /dev/null
@@ -1,11 +0,0 @@
-SeqOfEnum DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Enum ::= ENUMERATED {a (0),
- b (1),
- c (2)}
-
-SeqOfEnum ::= SEQUENCE OF Enum
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqOfExternal.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqOfExternal.asn1
deleted file mode 100644
index 607e81540f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqOfExternal.asn1
+++ /dev/null
@@ -1,42 +0,0 @@
-SeqOfExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeqNT, XSeqImp, XSeqExp FROM External;
-
-
-NT ::= SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [21] SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [22] EXPLICIT SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-
-NTNT ::= SEQUENCE OF NT
-ImpNT ::= [3] SEQUENCE OF NT
-ExpNT ::= [4] EXPLICIT SEQUENCE OF NT
-
-NTImp ::= SEQUENCE OF Imp
-ImpImp ::= [5] SEQUENCE OF Imp
-ExpImp ::= [6] EXPLICIT SEQUENCE OF Imp
-
-NTExp ::= SEQUENCE OF Exp
-ImpExp ::= [7] SEQUENCE OF Exp
-ExpExp ::= [8] EXPLICIT SEQUENCE OF Exp
-
-XNTNT ::= SEQUENCE OF XSeqNT
-XImpNT ::= [3] SEQUENCE OF XSeqNT
-XExpNT ::= [4] EXPLICIT SEQUENCE OF XSeqNT
-
-XNTImp ::= SEQUENCE OF XSeqImp
-XImpImp ::= [5] SEQUENCE OF XSeqImp
-XExpImp ::= [6] EXPLICIT SEQUENCE OF XSeqImp
-
-XNTExp ::= SEQUENCE OF XSeqExp
-XImpExp ::= [7] SEQUENCE OF XSeqExp
-XExpExp ::= [8] EXPLICIT SEQUENCE OF XSeqExp
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqOfTag.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqOfTag.asn1
deleted file mode 100644
index 74b820a28d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqOfTag.asn1
+++ /dev/null
@@ -1,65 +0,0 @@
-SeqOfTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeqNT, XSeqImp, XSeqExp FROM External;
-
-SeqTagNt ::= [APPLICATION 20] SEQUENCE {
- nt SEQUENCE OF NT}
-
-SeqTagNtI ::= [APPLICATION 20] SEQUENCE {
- imp SEQUENCE OF Imp}
-
-SeqTagNtE ::= [APPLICATION 20] SEQUENCE {
- exp SEQUENCE OF Exp }
-
-SeqTagI ::= [APPLICATION 21] SEQUENCE {
- nt [0] SEQUENCE OF NT}
-
-SeqTagII ::= [APPLICATION 21] SEQUENCE {
- imp [1] SEQUENCE OF Imp}
-
-SeqTagIE ::= [APPLICATION 21] SEQUENCE {
- exp [2] SEQUENCE OF Exp}
-
-SeqTagE ::= [APPLICATION 22] SEQUENCE {
- nt [0] EXPLICIT SEQUENCE OF NT}
-
-SeqTagEI ::= [APPLICATION 22] SEQUENCE {
- imp [1] EXPLICIT SEQUENCE OF Imp}
-
-SeqTagEE ::= [APPLICATION 22] SEQUENCE {
- exp [2] EXPLICIT SEQUENCE OF Exp}
-
-SeqTagXNt ::= [APPLICATION 30] SEQUENCE {
- xnt SEQUENCE OF XSeqNT}
-
-SeqTagXI ::= [APPLICATION 30] SEQUENCE {
- ximp SEQUENCE OF XSeqImp}
-
-SeqTagXE ::= [APPLICATION 30] SEQUENCE {
- xexp SEQUENCE OF XSeqExp }
-
-SeqTagImpX ::= [APPLICATION 31] SEQUENCE {
- xnt [3] SEQUENCE OF XSeqNT,
- ximp [4] SEQUENCE OF XSeqImp,
- xexp [5] SEQUENCE OF XSeqExp }
-
-SeqTagExpX ::= [APPLICATION 32] SEQUENCE {
- xnt [3] EXPLICIT SEQUENCE OF XSeqNT,
- ximp [4] EXPLICIT SEQUENCE OF XSeqImp,
- xexp [5] EXPLICIT SEQUENCE OF XSeqExp }
-
-
-
-NT ::= SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [21] SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [22] EXPLICIT SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqOptional.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqOptional.asn1
deleted file mode 100644
index a8fef52dda..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqOptional.asn1
+++ /dev/null
@@ -1,86 +0,0 @@
-SeqOptional DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SeqOpt1 ::= SEQUENCE
-{
- bool1 BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 SeqIn OPTIONAL
-}
-
-SeqOpt1Imp ::= SEQUENCE
-{
- bool1 [1] BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 [2] SeqIn OPTIONAL
-}
-
-SeqOpt1Exp ::= SEQUENCE
-{
- bool1 [1] EXPLICIT BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 [2] EXPLICIT SeqIn OPTIONAL
-}
-
-SeqOpt2 ::= SEQUENCE
-{
- seq2 SeqIn OPTIONAL,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt2Imp ::= SEQUENCE
-{
- seq2 [1] SeqIn OPTIONAL,
- bool2 [2] BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt2Exp ::= SEQUENCE
-{
- seq2 [1] EXPLICIT SeqIn OPTIONAL,
- bool2 [2] EXPLICIT BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt3 ::= SEQUENCE
-{
- bool3 BOOLEAN OPTIONAL,
- seq3 SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SeqOpt3Imp ::= SEQUENCE
-{
- bool3 [1] BOOLEAN OPTIONAL,
- seq3 [2] SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SeqOpt3Exp ::= SEQUENCE
-{
- bool3 [1] EXPLICIT BOOLEAN OPTIONAL,
- seq3 [2] EXPLICIT SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-
-SeqChoOpt ::= SEQUENCE
-{
- int INTEGER,
- cho CHOICE {
- boolC BOOLEAN,
- intC INTEGER
- } OPTIONAL
-}
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqOptional2.asn b/lib/asn1/test/asn1_bin_SUITE_data/SeqOptional2.asn
deleted file mode 100644
index 7de9134096..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqOptional2.asn
+++ /dev/null
@@ -1,90 +0,0 @@
-SeqOptional2 DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SeqOpt1 ::= SEQUENCE
-{
- bool1 BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 SeqIn OPTIONAL
-}
-
-SeqOpt1Imp ::= SEQUENCE
-{
- bool1 [1] BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 [2] SeqIn OPTIONAL,
- seq2 [2] SeqIn OPTIONAL,
- ...,
- int2 [3] SeqIn,
- int3 [3] SeqIn
-}
-
-SeqOpt1Exp ::= SEQUENCE
-{
- bool1 [1] EXPLICIT BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 [2] EXPLICIT SeqIn OPTIONAL
-}
-
-SeqOpt2 ::= SEQUENCE
-{
- seq2 SeqIn OPTIONAL,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt2Imp ::= SEQUENCE
-{
- seq2 [1] SeqIn OPTIONAL,
- bool2 [2] BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt2Exp ::= SEQUENCE
-{
- seq2 [1] EXPLICIT SeqIn OPTIONAL,
- bool2 [2] EXPLICIT BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt3 ::= SEQUENCE
-{
- bool3 BOOLEAN OPTIONAL,
- seq3 SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SeqOpt3Imp ::= SEQUENCE
-{
- bool3 [1] BOOLEAN OPTIONAL,
- seq3 [2] SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SeqOpt3Exp ::= SEQUENCE
-{
- bool3 [1] EXPLICIT BOOLEAN OPTIONAL,
- seq3 [2] EXPLICIT SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-
-SeqChoOpt ::= SEQUENCE
-{
- int INTEGER,
- cho CHOICE {
- boolC BOOLEAN,
- intC INTEGER
- } OPTIONAL
-}
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqPrim.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqPrim.asn1
deleted file mode 100644
index 20c4126c0b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqPrim.asn1
+++ /dev/null
@@ -1,19 +0,0 @@
-SeqPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Seq ::= SEQUENCE
-{
- bool BOOLEAN,
- boolCon [20] BOOLEAN,
- boolPri [PRIVATE 21] BOOLEAN,
- boolApp [APPLICATION 22] BOOLEAN,
- boolExpCon [30] EXPLICIT BOOLEAN,
- boolExpPri [PRIVATE 31] EXPLICIT BOOLEAN,
- boolExpApp [APPLICATION 32] EXPLICIT BOOLEAN
-}
-
-Empty ::= SEQUENCE {}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqSetIndefinite.asn b/lib/asn1/test/asn1_bin_SUITE_data/SeqSetIndefinite.asn
deleted file mode 100644
index b56b8cdc17..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqSetIndefinite.asn
+++ /dev/null
@@ -1,41 +0,0 @@
-SeqSetIndefinite DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-SetS3 ::= SET
-{
- boolS3 BOOLEAN,
- setS3 SET { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-SetS3Ext ::= SET
-{
- boolS3 BOOLEAN,
- setS3 SET { boolIn BOOLEAN,
- intIn INTEGER,... },
- intS3 INTEGER
-}
-
-
-SeqS3 ::= SEQUENCE
-{
- boolS3 BOOLEAN,
- seqS3 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-SeqS3Ext ::= SEQUENCE
-{
- boolS3 BOOLEAN,
- seqS3 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER,... },
- intS3 INTEGER
-
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqSetLib.py b/lib/asn1/test/asn1_bin_SUITE_data/SeqSetLib.py
deleted file mode 100644
index f7d15ae3b4..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqSetLib.py
+++ /dev/null
@@ -1,32 +0,0 @@
-SeqSetLib DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-EXPORTS Seq1,Set1;
-
-Seq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SeqIn
-}
-
-Set1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SetIn
-}
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqTag.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqTag.asn1
deleted file mode 100644
index 950f88d663..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqTag.asn1
+++ /dev/null
@@ -1,48 +0,0 @@
-SeqTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSet1, XSeqNT, XSeqImp, XSeqExp FROM External;
-
-SeqTag ::= [APPLICATION 20] SEQUENCE {
- nt NT,
- imp Imp,
- exp Exp }
-
-SeqTagImp ::= [APPLICATION 21] SEQUENCE {
- nt [0] NT,
- imp [1] Imp,
- exp [2] Exp}
-
-SeqTagExp ::= [APPLICATION 22] SEQUENCE {
- nt [0] EXPLICIT NT,
- imp [1] EXPLICIT Imp,
- exp [2] EXPLICIT Exp}
-
-SeqTagX ::= [APPLICATION 30] SEQUENCE {
- xnt XSeqNT,
- ximp XSeqImp,
- xexp XSeqExp }
-
-SeqTagImpX ::= [APPLICATION 31] SEQUENCE {
- xnt [3] XSeqNT,
- ximp [4] XSeqImp,
- xexp [5] XSeqExp }
-
-SeqTagExpX ::= [APPLICATION 32] SEQUENCE {
- xnt [3] EXPLICIT XSeqNT,
- ximp [4] EXPLICIT XSeqImp,
- xexp [5] EXPLICIT XSeqExp }
-
-
-NT ::= SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [1] SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [2] EXPLICIT SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefCho.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefCho.asn1
deleted file mode 100644
index 5c662fbd95..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefCho.asn1
+++ /dev/null
@@ -1,28 +0,0 @@
-SeqTypeRefCho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SeqTRcho ::= SEQUENCE
-{
- seqCho SeqCho,
- seqChoE [135] EXPLICIT SeqCho,
-
- seqCho-E SeqChoExp,
- seqChoE-E [335] EXPLICIT SeqChoExp
-
-}
-
-SeqCho ::= CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-SeqChoExp ::= [65] EXPLICIT CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefPrim.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefPrim.asn1
deleted file mode 100644
index 93f03fad2b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefPrim.asn1
+++ /dev/null
@@ -1,48 +0,0 @@
-SeqTypeRefPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SeqTR ::= SEQUENCE
-{
- octStr OctStr,
- octStrI [114] OctStr,
- octStrE [115] EXPLICIT OctStr,
-
- octStr-I OctStrImp,
- octStrI-I [214] OctStrImp,
- octStrE-I [215] EXPLICIT OctStrImp,
-
- octStr-E OctStrExp,
- octStrI-E [314] OctStrExp,
- octStrE-E [315] EXPLICIT OctStrExp
-
-}
-
-OctStr ::= OCTET STRING
-OctStrImp ::= [14] OCTET STRING
-OctStrExp ::= [15] EXPLICIT OCTET STRING
-
--- Types to test {Type,Value} notation, see OTP-4057
-
-Int ::= INTEGER
-Bool ::= BOOLEAN
-Enum ::= ENUMERATED {a(0),b(1),c(2)}
-BitStr ::= BIT STRING
-Null ::= NULL
-OId ::= OBJECT IDENTIFIER
-VStr ::= VisibleString
-
-Seq ::= SEQUENCE {
- octstr OctStr,
- int Int,
- bool Bool,
- enum Enum,
- bitstr BitStr,
- null Null,
- oid OId,
- vstr VStr
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefSeq.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefSeq.asn1
deleted file mode 100644
index 0e528ac710..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefSeq.asn1
+++ /dev/null
@@ -1,113 +0,0 @@
-SeqTypeRefSeq DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Seq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SeqIn
-}
-
-Seq2 ::= SEQUENCE
-{
- seq2 SeqIn,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Seq3 ::= SEQUENCE
-{
- bool3 BOOLEAN,
- seq3 SeqIn,
- int3 INTEGER
-}
-
-Seq4 ::= SEQUENCE
-{
- seq41 SeqIn,
- seq42 SeqIn,
- seq43 SeqIn
-}
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-SeqS1 ::= SEQUENCE
-{
- boolS1 BOOLEAN,
- intS1 INTEGER,
- seqS1 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER }
-}
-
-SeqS2 ::= SEQUENCE
-{
- seqS2 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER },
- boolS2 BOOLEAN,
- intS2 INTEGER
-
-}
-
-SeqS3 ::= SEQUENCE
-{
- boolS3 BOOLEAN,
- seqS3 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-
-SeqSTag ::= SEQUENCE
-{
- seqS1 SEQUENCE { b1 BOOLEAN,
- i1 INTEGER },
- seqS2 [7] SEQUENCE { b2 BOOLEAN,
- i2 INTEGER },
- seqS3 [8] EXPLICIT SEQUENCE { b3 BOOLEAN,
- i3 INTEGER }
-}
-
-
-
-SeqTRseq ::= SEQUENCE
-{
- seqSeq SeqSeq,
- seqSeqI [134] SeqSeq,
- seqSeqE [135] EXPLICIT SeqSeq,
-
- seqSeq-I SeqSeqImp,
- seqSeqI-I [234] SeqSeqImp,
- seqSeqE-I [235] EXPLICIT SeqSeqImp,
-
- seqSeq-E SeqSeqExp,
- seqSeqI-E [334] SeqSeqExp,
- seqSeqE-E [335] EXPLICIT SeqSeqExp
-
-}
-
-SeqSeq ::= SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-SeqSeqImp ::= [64] SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-SeqSeqExp ::= [65] EXPLICIT SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefSet.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefSet.asn1
deleted file mode 100644
index 45dc05a0c3..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SeqTypeRefSet.asn1
+++ /dev/null
@@ -1,39 +0,0 @@
-SeqTypeRefSet DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SeqTRset ::= SEQUENCE
-{
- seqSet SeqSet,
- seqSetI [124] SeqSet,
- seqSetE [125] EXPLICIT SeqSet,
-
- seqSet-I SeqSetImp,
- seqSetI-I [224] SeqSetImp,
- seqSetE-I [225] EXPLICIT SeqSetImp,
-
- seqSet-E SeqSetExp,
- seqSetI-E [324] SeqSetExp,
- seqSetE-E [325] EXPLICIT SeqSetExp
-
-}
-
-SeqSet ::= SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-SeqSetImp ::= [54] SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-SeqSetExp ::= [55] EXPLICIT SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComma.asn b/lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComma.asn
deleted file mode 100644
index 436815aa9b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComma.asn
+++ /dev/null
@@ -1,10 +0,0 @@
-SequenceBadComma DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS Person;
-
-Person ::= [PRIVATE 19] SEQUENCE {,
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL
- }
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComponentName.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComponentName.asn1
deleted file mode 100644
index 8b2b8816db..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComponentName.asn1
+++ /dev/null
@@ -1,10 +0,0 @@
-SequenceBadComponentName DEFINITIONS ::=
-BEGIN
-
-T ::= Typ
-
-Typ ::= SEQUENCE {
- a INTEGER,
- C Typ}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComponentType.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComponentType.asn1
deleted file mode 100644
index 0c33f48906..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SequenceBadComponentType.asn1
+++ /dev/null
@@ -1,10 +0,0 @@
-SequenceBadComponentType DEFINITIONS ::=
-BEGIN
-
-T ::= Typ
-
-Typ ::= SEQUENCE {
- a b,
- c T}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Set.py b/lib/asn1/test/asn1_bin_SUITE_data/Set.py
deleted file mode 100644
index 4062f6b804..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Set.py
+++ /dev/null
@@ -1,141 +0,0 @@
-Set DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS Seq1 FROM SeqSetLib;
-
-Set ::= SET
-{
- bool BOOLEAN,
- boolCon [20] BOOLEAN,
- boolPri [PRIVATE 21] BOOLEAN,
- boolApp [APPLICATION 22] BOOLEAN,
- boolExpCon [30] EXPLICIT BOOLEAN,
- boolExpPri [PRIVATE 31] EXPLICIT BOOLEAN,
- boolExpApp [APPLICATION 32] EXPLICIT BOOLEAN
-}
-
-Set1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SetIn
-}
-
-Set2 ::= SET
-{
- set2 SetIn,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Set3 ::= SET
-{
- bool3 BOOLEAN,
- set3 SetIn,
- int3 INTEGER
-}
-
-SetDef1 ::= SET
-{
- bool1 BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- set1 SetIn DEFAULT {}
-}
-
-SetDef2 ::= SET
-{
- set2 SetIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SetDef3 ::= SET
-{
- bool3 BOOLEAN DEFAULT TRUE,
- set3 SetIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-SetOpt1 ::= SET
-{
- bool1 BOOLEAN OPTIONAL,
- int1 INTEGER,
- set1 SetIn OPTIONAL
-}
-
-SetOpt2 ::= SET
-{
- set2 SetIn OPTIONAL,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SetOpt3 ::= SET
-{
- bool3 BOOLEAN OPTIONAL,
- set3 SetIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-SetS1 ::= SET
-{
- boolS1 BOOLEAN,
- intS1 INTEGER,
- setS1 SET { boolIn BOOLEAN,
- intIn INTEGER }
-}
-
-SetS2 ::= SET
-{
- setS2 SET { boolIn BOOLEAN,
- intIn INTEGER },
- boolS2 BOOLEAN,
- intS2 INTEGER
-
-}
-
-SetS3 ::= SET
-{
- boolS3 BOOLEAN,
- setS3 SET { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-
-SetImp1 ::= SET
-{
- seq Seq1,
- bool BOOLEAN,
- int INTEGER
-}
-
-
-SetImp2 ::= SET
-{
- bool BOOLEAN,
- seq Seq1,
- int INTEGER
-}
-
-
-SetImp3 ::= SET
-{
- bool BOOLEAN,
- int INTEGER,
- seq Seq1
-}
-
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetDefault.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetDefault.asn1
deleted file mode 100644
index cb9e0ead62..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetDefault.asn1
+++ /dev/null
@@ -1,33 +0,0 @@
-SetDefault DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SetDef1 ::= SET
-{
- bool1 BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- set1 SetIn DEFAULT {}
-}
-
-SetDef2 ::= SET
-{
- set2 SetIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SetDef3 ::= SET
-{
- bool3 BOOLEAN DEFAULT TRUE,
- set3 SetIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-SetIn ::= SET
-{
- boolIn BOOLEAN OPTIONAL,
- intIn INTEGER DEFAULT 12
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetExtension.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetExtension.asn1
deleted file mode 100644
index 53091d3eea..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetExtension.asn1
+++ /dev/null
@@ -1,37 +0,0 @@
-SetExtension DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSetExt1, XSetExt2 FROM External;
-
-SetExt1 ::= SET
-{
- ...
-}
-
-SetExt2 ::= SET
-{
- bool BOOLEAN,
- int INTEGER,
- ...
-}
-
-SetExt3 ::= SET
-{
- ...,
- bool BOOLEAN,
- int INTEGER
-}
-
-SetExt4 ::= SET
-{
- bool BOOLEAN,
- ...,
- int INTEGER
-}
-
-SetExt1X ::= XSetExt1
-SetExt2X ::= XSetExt2
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetExternal.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetExternal.asn1
deleted file mode 100644
index 394a068280..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetExternal.asn1
+++ /dev/null
@@ -1,68 +0,0 @@
-SetExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeq1, XSetNT, XSetImp, XSetExp FROM External;
-
-
-
-SetXSeq1 ::= SET
-{
- seq XSeq1,
- bool BOOLEAN,
- int INTEGER
-}
-
-
-SetXSeq2 ::= SET
-{
- bool BOOLEAN,
- seq XSeq1,
- int INTEGER
-}
-
-
-SetXSeq3 ::= SET
-{
- bool BOOLEAN,
- int INTEGER,
- seq XSeq1
-}
-
-
-NT ::= SET {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [11] SET {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [12] EXPLICIT SET {
- os OCTET STRING,
- bool BOOLEAN}
-
-NTNT ::= NT
-ImpNT ::= [3] NT
-ExpNT ::= [4] EXPLICIT NT
-
-NTImp ::= Imp
-ImpImp ::= [5] Imp
-ExpImp ::= [6] EXPLICIT Imp
-
-NTExp ::= Exp
-ImpExp ::= [7] Exp
-ExpExp ::= [8] EXPLICIT Exp
-
-XNTNT ::= XSetNT
-XImpNT ::= [3] XSetNT
-XExpNT ::= [4] EXPLICIT XSetNT
-
-XNTImp ::= XSetImp
-XImpImp ::= [5] XSetImp
-XExpImp ::= [6] EXPLICIT XSetImp
-
-XNTExp ::= XSetExp
-XImpExp ::= [7] XSetExp
-XExpExp ::= [8] EXPLICIT XSetExp
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetOf.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetOf.asn1
deleted file mode 100644
index cdb770f8de..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetOf.asn1
+++ /dev/null
@@ -1,61 +0,0 @@
-SetOf DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Set1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF SetIn DEFAULT {}
-}
-
-Set2 ::= SET
-{
- set2 SET OF SetIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Set3 ::= SET
-{
- bool3 BOOLEAN,
- set3 SET OF SetIn DEFAULT {},
- int3 INTEGER
-}
-
-Set4 ::= SET
-{
- set41 [41] SET OF SetIn DEFAULT {},
- set42 [42] SET OF SetIn DEFAULT {},
- set43 [43] SET OF SetIn DEFAULT {}
-}
-
-
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-SetOs ::= SET OF OCTET STRING
-SetOsImp ::= [23] SET OF OCTET STRING
-SetOsExp ::= [24] EXPLICIT SET OF OCTET STRING
-
-SetCho ::= SET OF CHOICE {bool BOOLEAN,
- int INTEGER,
- last NULL}
-
-
-
-SetEmp ::= SET
-{
- set1 SET OF Empty DEFAULT {}
-}
-
-Empty ::= SET
-{
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetOf.py b/lib/asn1/test/asn1_bin_SUITE_data/SetOf.py
deleted file mode 100644
index 4e2ea16fcc..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetOf.py
+++ /dev/null
@@ -1,42 +0,0 @@
-SetOf DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Set1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF SetIn DEFAULT {}
-}
-
-Set2 ::= SET
-{
- set2 SET OF SetIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Set3 ::= SET
-{
- bool3 BOOLEAN,
- set3 SET OF SetIn DEFAULT {},
- int3 INTEGER
-}
-
-Set4 ::= SET
-{
- set41 [41] SET OF SetIn DEFAULT {},
- set42 [42] SET OF SetIn DEFAULT {},
- set43 [43] SET OF SetIn DEFAULT {}
-}
-
-
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetOfCho.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetOfCho.asn1
deleted file mode 100644
index 3571a2b277..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetOfCho.asn1
+++ /dev/null
@@ -1,73 +0,0 @@
-SetOfCho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SetChoDef ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF ChoIn DEFAULT {}
-}
-
-SetChoOpt ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF ChoIn OPTIONAL
-}
-
-SetChoEmbDef ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } DEFAULT {}
-}
-
-SetChoEmbOpt ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } OPTIONAL
-}
-
-SetOfChoEmbDef ::= SET OF SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } DEFAULT {}
-}
-
-
-SetOfChoEmbOpt ::= SET OF SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } OPTIONAL
-}
-
-
-ChoIn ::= CHOICE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetOfExternal.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetOfExternal.asn1
deleted file mode 100644
index c08f2a51ee..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetOfExternal.asn1
+++ /dev/null
@@ -1,42 +0,0 @@
-SetOfExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSetNT, XSetImp, XSetExp FROM External;
-
-
-NT ::= SET {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [21] SET {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [22] EXPLICIT SET {
- os OCTET STRING,
- bool BOOLEAN}
-
-NTNT ::= SET OF NT
-ImpNT ::= [3] SET OF NT
-ExpNT ::= [4] EXPLICIT SET OF NT
-
-NTImp ::= SET OF Imp
-ImpImp ::= [5] SET OF Imp
-ExpImp ::= [6] EXPLICIT SET OF Imp
-
-NTExp ::= SET OF Exp
-ImpExp ::= [7] SET OF Exp
-ExpExp ::= [8] EXPLICIT SET OF Exp
-
-XNTNT ::= SET OF XSetNT
-XImpNT ::= [3] SET OF XSetNT
-XExpNT ::= [4] EXPLICIT SET OF XSetNT
-
-XNTImp ::= SET OF XSetImp
-XImpImp ::= [5] SET OF XSetImp
-XExpImp ::= [6] EXPLICIT SET OF XSetImp
-
-XNTExp ::= SET OF XSetExp
-XImpExp ::= [7] SET OF XSetExp
-XExpExp ::= [8] EXPLICIT SET OF XSetExp
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetOfTag.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetOfTag.asn1
deleted file mode 100644
index e137e8fa40..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetOfTag.asn1
+++ /dev/null
@@ -1,65 +0,0 @@
-SetOfTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSetNT, XSetImp, XSetExp FROM External;
-
-SetTagNt ::= [APPLICATION 20] SET {
- nt SET OF NT}
-
-SetTagNtI ::= [APPLICATION 20] SET {
- imp SET OF Imp}
-
-SetTagNtE ::= [APPLICATION 20] SET {
- exp SET OF Exp }
-
-SetTagI ::= [APPLICATION 21] SET {
- nt [0] SET OF NT}
-
-SetTagII ::= [APPLICATION 21] SET {
- imp [1] SET OF Imp}
-
-SetTagIE ::= [APPLICATION 21] SET {
- exp [2] SET OF Exp}
-
-SetTagE ::= [APPLICATION 22] SET {
- nt [0] EXPLICIT SET OF NT}
-
-SetTagEI ::= [APPLICATION 22] SET {
- imp [1] EXPLICIT SET OF Imp}
-
-SetTagEE ::= [APPLICATION 22] SET {
- exp [2] EXPLICIT SET OF Exp}
-
-SetTagXNt ::= [APPLICATION 30] SET {
- xnt SET OF XSetNT}
-
-SetTagXI ::= [APPLICATION 30] SET {
- ximp SET OF XSetImp}
-
-SetTagXE ::= [APPLICATION 30] SET {
- xexp SET OF XSetExp }
-
-SetTagImpX ::= [APPLICATION 31] SET {
- xnt [3] SET OF XSetNT,
- ximp [4] SET OF XSetImp,
- xexp [5] SET OF XSetExp }
-
-SetTagExpX ::= [APPLICATION 32] SET {
- xnt [3] EXPLICIT SET OF XSetNT,
- ximp [4] EXPLICIT SET OF XSetImp,
- xexp [5] EXPLICIT SET OF XSetExp }
-
-
-
-NT ::= SET {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [21] SET {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [22] EXPLICIT SET {
- os OCTET STRING,
- bool BOOLEAN}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetOptional.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetOptional.asn1
deleted file mode 100644
index 5d2f2526b3..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetOptional.asn1
+++ /dev/null
@@ -1,77 +0,0 @@
-SetOptional DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-SetOpt1 ::= SET
-{
- bool1 BOOLEAN OPTIONAL,
- int1 INTEGER,
- set1 SetIn OPTIONAL
-}
-
-SetOpt1Imp ::= SEQUENCE
-{
- bool1 [1] BOOLEAN OPTIONAL,
- int1 INTEGER,
- set1 [2] SetIn OPTIONAL
-}
-
-SetOpt1Exp ::= SEQUENCE
-{
- bool1 [1] EXPLICIT BOOLEAN OPTIONAL,
- int1 INTEGER,
- set1 [2] EXPLICIT SetIn OPTIONAL
-}
-
-SetOpt2 ::= SET
-{
- set2 SetIn OPTIONAL,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SetOpt2Imp ::= SEQUENCE
-{
- set2 [1] SetIn OPTIONAL,
- bool2 [2] BOOLEAN,
- int2 INTEGER
-}
-
-SetOpt2Exp ::= SEQUENCE
-{
- set2 [1] EXPLICIT SetIn OPTIONAL,
- bool2 [2] EXPLICIT BOOLEAN,
- int2 INTEGER
-}
-
-SetOpt3 ::= SET
-{
- bool3 BOOLEAN OPTIONAL,
- set3 SetIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SetOpt3Imp ::= SEQUENCE
-{
- bool3 [1] BOOLEAN OPTIONAL,
- set3 [2] SetIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SetOpt3Exp ::= SEQUENCE
-{
- bool3 [1] EXPLICIT BOOLEAN OPTIONAL,
- set3 [2] EXPLICIT SetIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetPrim.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetPrim.asn1
deleted file mode 100644
index 06c4932625..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetPrim.asn1
+++ /dev/null
@@ -1,20 +0,0 @@
-SetPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Set ::= SET
-{
- bool BOOLEAN,
- boolCon [20] BOOLEAN,
- boolPri [PRIVATE 21] BOOLEAN,
- boolApp [APPLICATION 22] BOOLEAN,
- boolExpCon [30] EXPLICIT BOOLEAN,
- boolExpPri [PRIVATE 31] EXPLICIT BOOLEAN,
- boolExpApp [APPLICATION 32] EXPLICIT BOOLEAN
-}
-
-Empty ::= SET
-{
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetTag.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetTag.asn1
deleted file mode 100644
index 3f7422edaf..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetTag.asn1
+++ /dev/null
@@ -1,47 +0,0 @@
-SetTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeq1, XSetNT, XSetImp, XSetExp FROM External;
-
-SetTag ::= [APPLICATION 20] SET {
- nt NT,
- imp Imp,
- exp Exp }
-
-SetTagImp ::= [APPLICATION 21] SET {
- nt [0] NT,
- imp [1] Imp,
- exp [2] Exp}
-
-SetTagExp ::= [APPLICATION 22] SET {
- nt [0] EXPLICIT NT,
- imp [1] EXPLICIT Imp,
- exp [2] EXPLICIT Exp}
-
-SetTagX ::= [APPLICATION 30] SET {
- xnt XSetNT,
- ximp XSetImp,
- xexp XSetExp }
-
-SetTagImpX ::= [APPLICATION 31] SET {
- xnt [3] XSetNT,
- ximp [4] XSetImp,
- xexp [5] XSetExp }
-
-SetTagExpX ::= [APPLICATION 32] SET {
- xnt [3] EXPLICIT XSetNT,
- ximp [4] EXPLICIT XSetImp,
- xexp [5] EXPLICIT XSetExp }
-
-NT ::= SET {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [11] SET {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [12] EXPLICIT SET {
- os OCTET STRING,
- bool BOOLEAN}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefCho.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefCho.asn1
deleted file mode 100644
index 32c9d95703..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefCho.asn1
+++ /dev/null
@@ -1,27 +0,0 @@
-SetTypeRefCho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SetTRcho ::= SET
-{
- setCho SetCho,
- setChoE [135] EXPLICIT SetCho,
-
- setCho-E SetChoExp,
- setChoE-E [335] EXPLICIT SetChoExp
-
-}
-
-SetCho ::= CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-SetChoExp ::= [65] EXPLICIT CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefPrim.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefPrim.asn1
deleted file mode 100644
index d8f2396c02..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefPrim.asn1
+++ /dev/null
@@ -1,29 +0,0 @@
-SetTypeRefPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SetTR ::= SET
-{
- octStr OctStr,
- octStrI [114] OctStr,
- octStrE [115] EXPLICIT OctStr,
-
- octStr-I OctStrImp,
- octStrI-I [214] OctStrImp,
- octStrE-I [215] EXPLICIT OctStrImp,
-
- octStr-E OctStrExp,
- octStrI-E [314] OctStrExp,
- octStrE-E [315] EXPLICIT OctStrExp
-
-}
-
-OctStr ::= OCTET STRING
-OctStrImp ::= [14] OCTET STRING
-OctStrExp ::= [15] EXPLICIT OCTET STRING
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefSeq.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefSeq.asn1
deleted file mode 100644
index 72dd71c6eb..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefSeq.asn1
+++ /dev/null
@@ -1,38 +0,0 @@
-SetTypeRefSeq DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SetTRseq ::= SET
-{
- setSeq SetSeq,
- setSeqI [134] SetSeq,
- setSeqE [135] EXPLICIT SetSeq,
-
- setSeq-I SetSeqImp,
- setSeqI-I [234] SetSeqImp,
- setSeqE-I [235] EXPLICIT SetSeqImp,
-
- setSeq-E SetSeqExp,
- setSeqI-E [334] SetSeqExp,
- setSeqE-E [335] EXPLICIT SetSeqExp
-
-}
-
-SetSeq ::= SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-SetSeqImp ::= [64] SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-SetSeqExp ::= [65] EXPLICIT SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefSet.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefSet.asn1
deleted file mode 100644
index b215d598dc..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SetTypeRefSet.asn1
+++ /dev/null
@@ -1,110 +0,0 @@
-SetTypeRefSet DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Set1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SetIn
-}
-
-Set2 ::= SET
-{
- set2 SetIn,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Set3 ::= SET
-{
- bool3 BOOLEAN,
- set3 SetIn,
- int3 INTEGER
-}
-
-Set4 ::= SEQUENCE
-{
- set41 SetIn,
- set42 SetIn,
- set43 SetIn
-}
-
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-SetS1 ::= SET
-{
- boolS1 BOOLEAN,
- intS1 INTEGER,
- setS1 SET { boolIn BOOLEAN,
- intIn INTEGER }
-}
-
-SetS2 ::= SET
-{
- setS2 SET { boolIn BOOLEAN,
- intIn INTEGER },
- boolS2 BOOLEAN,
- intS2 INTEGER
-
-}
-
-SetS3 ::= SET
-{
- boolS3 BOOLEAN,
- setS3 SET { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-SetSTag ::= SET
-{
- setS1 SET { b1 BOOLEAN,
- i1 INTEGER },
- setS2 [7] SET { b2 BOOLEAN,
- i2 INTEGER },
- setS3 [8] EXPLICIT SET { b3 BOOLEAN,
- i3 INTEGER }
-}
-
-
-SetTRset ::= SET
-{
- setSet SetSet,
- setSetI [124] SetSet,
- setSetE [125] EXPLICIT SetSet,
-
- setSet-I SetSetImp,
- setSetI-I [224] SetSetImp,
- setSetE-I [225] EXPLICIT SetSetImp,
-
- setSet-E SetSetExp,
- setSetI-E [324] SetSetExp,
- setSetE-E [325] EXPLICIT SetSetExp
-
-}
-
-SetSet ::= SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-SetSetImp ::= [54] SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-SetSetExp ::= [55] EXPLICIT SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/String.py b/lib/asn1/test/asn1_bin_SUITE_data/String.py
deleted file mode 100644
index 338d50784b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/String.py
+++ /dev/null
@@ -1,7 +0,0 @@
-String DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS;
-
-IA51 ::= IA5String (SIZE (1..128)) (FROM ("0123456789#*,"))
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/SwCDR.py b/lib/asn1/test/asn1_bin_SUITE_data/SwCDR.py
deleted file mode 100644
index 9492183cdf..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/SwCDR.py
+++ /dev/null
@@ -1,213 +0,0 @@
-SwCDR DEFINITIONS
- IMPLICIT TAGS ::=
-
-
-BEGIN
-
-EXPORTS
- SwCDR;
-
-SwCDR ::= CHOICE
-{
- origSvcCallRecord [0] OrigSvcCallRecord,
- termSvcCallRecord [1] TermSvcCallRecord
-}
-
---OrigSvcCallRecord ::= SET
-OrigSvcCallRecord ::= SEQUENCE
-{
- callCorrelationId [0] INTEGER ,
- chargingIndicator [1] ChargingIndicator,
- sequenceNo [2] INTEGER ,
- callingParty [3] CallingNumber,
- calledParty [4] CalledNumber,
- connectedNumber [5] ConnectedNumber,
- startDate [6] StartDate,
- startTime [7] StartTime,
- duration [8] CallDuration ,
--- bearerClass [] BearerClass ,
- trafficType [9] TrafficType ,
- qosFwd [10] QoSClass ,
- qosBkwd [11] QoSClass ,
- forwardPcrClp0 [12] CellRate ,
- forwardPcrClp01 [13] CellRate ,
- backwardPcrClp0 [14] CellRate ,
- backwardPcrClp01 [15] CellRate ,
- forwardScrClp0 [16] CellRate ,
- forwardScrClp01 [17] CellRate ,
- backwardScrClp0 [18] CellRate ,
- backwardScrClp01 [19] CellRate ,
- forwardMcrClp0 [20] CellRate ,
- forwardMcrClp01 [21] CellRate ,
- backwardMcrClp0 [22] CellRate ,
- backwardMcrClp01 [23] CellRate ,
- forwardMbsClp0 [24] CellRate ,
- forwardMbsClp01 [25] CellRate ,
- forwardBEI [26] INTEGER ,
- backwardBEI [27] INTEGER ,
- forwardTagging [28] INTEGER ,
- backwardTagging [29] INTEGER ,
--- egressCellrate0 [] INTEGER,
--- egressCellrate01 [] INTEGER,
- ingressCellrate0 [30] INTEGER ,
--- ingressCellrate01 [] INTEGER ,
- ingressCellrate1 [31] INTEGER ,
- connectionConfig [32] UserPlaneConnection OPTIONAL
--- causeForTerm [33] CauseForTerm OPTIONAL
-}
-
---TermSvcCallRecord ::= SET
-TermSvcCallRecord ::= SEQUENCE
-{
- callCorrelationId [0] INTEGER ,
- chargingIndicator [1] ChargingIndicator,
- sequenceNo [2] INTEGER ,
- callingParty [3] CallingNumber,
- calledParty [4] CalledNumber,
- connectedNumber [5] ConnectedNumber,
- startDate [6] StartDate,
- startTime [7] StartTime,
- duration [8] CallDuration ,
--- bearerClass [] BearerClass ,
- trafficType [9] TrafficType ,
- qosFwd [10] QoSClass ,
- qosBkwd [11] QoSClass ,
- forwardPcrClp0 [12] CellRate ,
- forwardPcrClp01 [13] CellRate ,
- backwardPcrClp0 [14] CellRate ,
- backwardPcrClp01 [15] CellRate ,
- forwardScrClp0 [16] CellRate ,
- forwardScrClp01 [17] CellRate ,
- backwardScrClp0 [18] CellRate ,
- backwardScrClp01 [19] CellRate ,
- forwardMcrClp0 [20] CellRate ,
- forwardMcrClp01 [21] CellRate ,
- backwardMcrClp0 [22] CellRate ,
- backwardMcrClp01 [23] CellRate ,
- forwardMbsClp0 [24] CellRate ,
- forwardMbsClp01 [25] CellRate ,
- forwardBEI [26] INTEGER ,
- backwardBEI [27] INTEGER ,
- forwardTagging [28] INTEGER ,
- backwardTagging [29] INTEGER ,
--- egressCellrate0 [] INTEGER ,
--- egressCellrate01 [] INTEGER ,
- ingressCellrate0 [30] INTEGER ,
--- ingressCellrate01 [] INTEGER ,
- ingressCellrate1 [31] INTEGER ,
- connectionConfig [32] UserPlaneConnection OPTIONAL
--- causeForTerm [33] CauseForTerm OPTIONAL
-}
-
-ChargingIndicator ::= INTEGER
-{
- origCallRecord (0),
- termCallRecord (1)
-}
-
-CallingNumber ::= OCTET STRING (SIZE (12))
- -- BCD encoded representation of the number.
- -- Contains: TypeOfNumber, NumberingPlanInformation
- -- and either an E.164 number or a NSAP style of number,
- -- including a possible subaddress.
-CalledNumber ::= OCTET STRING (SIZE (20))
- -- BCD encoded representation of the number.
- -- Contains: TypeOfNumber, NumberingPlanInformation,
- -- PresentationIndicator, ScreeningIndicator
- -- and either an E.164 number or a NSAP style of number,
- -- including a possible subaddress.
-
-ConnectedNumber ::= OCTET STRING (SIZE (12))
- -- BCD encoded representation of the number.
- -- Contains: TypeOfNumber, NumberingPlanInformation,
- -- PresentationIndicator, ScreeningIndicator
- -- and either an E.164 number or a NSAP style of number,
- -- including a possible subaddress.
-
-
-QoSClass ::= INTEGER
- -- Explicit values ToBeDefined,
- -- until then: value received in SETUP-msg
-
---BearerClass ::= INTEGER
---{
--- bcobA (0),
--- bcobC (1),
--- bcobX (2)
---}
-TrafficType ::= INTEGER
-{
- noIndication (0),
- abr (1),
- cbr (2),
- vbr (3),
- vbrrt (4),
- vbrnrt (5),
- ubr (6)
-}
-
---TimingRequirements ::= INTEGER
---{
--- noIndication (0),
--- endToEndRequired (1),
--- endToEndNotRequired (2)
---}
-
---ClippingSusceptibility ::= INTEGER
---{
--- notSusceptible (0),
--- susceptible (1)
---}
-UserPlaneConnection ::= INTEGER
-{
- pointToPoint (0),
- pointToMultipoint (1)
-}
-
---AALParameters ::= INTEGER AAL Type only
---{
--- userDefined (0),
--- aal1 (1),
--- aal2 (2),
--- aal34 (3),
--- aal5 (5)
---}
-
-CellRate ::= INTEGER
- -- Value range not less than 2^24.
-
--- BurstSize ::= ToBeDefined
-
--- TaggingRequest ::= ToBeDefined
---Timestamp ::= OCTET STRING (SIZE (11))
- -- The contents of this field is a compact form of
- -- the UTCTime format, containing local time plus
- -- an offset to universal time.
- -- The compact format is YYMMDDhhmmssdddShhmm, where:
- -- YY = year, 00-99, BCD encoded
- -- MM = month, 01-12, BCD encoded
- -- DD = day, 01-31, BCD encoded
- -- hh = hour, 00-23, BCD encoded
- -- mm = minute, 00-59, BCD encoded
- -- ss = second, 00-59, BCD encoded
- -- ddd = millisecond, 000-999, BCD encoded
- -- and rightjustified as "0ddd"
- -- S = sign, "+"/"-", ASCII encoded
-
-StartDate ::= OCTET STRING (SIZE (8))
-
-StartTime ::= OCTET STRING (SIZE (6))
-
-CallDuration ::= INTEGER
--- Expressed as number of millseconds
-
-Cellrate ::= INTEGER
--- Value range 0-2^64
-CauseForTerm ::= INTEGER
-{
- unsuccessfulCallAttempt (0),
- abnormalTermination (1)
-}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Syntax.py b/lib/asn1/test/asn1_bin_SUITE_data/Syntax.py
deleted file mode 100644
index 867d1148e1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Syntax.py
+++ /dev/null
@@ -1,10 +0,0 @@
-Syntax DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS Person;
-
-Person ::= [PRIVATE 19] SEQUENCE {,
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL
- }
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/TCAPMessages-simple.asn b/lib/asn1/test/asn1_bin_SUITE_data/TCAPMessages-simple.asn
deleted file mode 100644
index a9ace659d5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/TCAPMessages-simple.asn
+++ /dev/null
@@ -1,206 +0,0 @@
-TCAPMessages-simple { ccitt recommendation q 773 modules (2) messages (1) version2 (2) }
-
-DEFINITIONS ::=
-
-BEGIN
-
-EXPORTS OPERATION, ERROR, Component, InvokeIdType;
-
--- Transaction Portion fields
-
-MessageType ::= CHOICE { unidirectional [APPLICATION 1] IMPLICIT Unidirectional,
- begin [APPLICATION 2] IMPLICIT Begin,
- end [APPLICATION 4] IMPLICIT End,
- continue [APPLICATION 5] IMPLICIT Continue,
- abort [APPLICATION 7] IMPLICIT Abort }
-
-Unidirectional ::= SEQUENCE {
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion }
-
-Begin ::= SEQUENCE {
- otid OrigTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion OPTIONAL
- }
-
-End ::= SEQUENCE {
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion OPTIONAL
- }
-
-Continue ::= SEQUENCE {
- otid OrigTransactionID,
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion OPTIONAL
- }
-
-Abort ::= SEQUENCE {
- dtid DestTransactionID,
- reason CHOICE { p-abortCause P-AbortCause, u-abortCause DialoguePortion } OPTIONAL
- }
-
--- NOTE When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause must be
--- present.The u-abortCause may be generated by the component sublayer in which case it is an ABRT
--- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
--- abstract syntax.
-
-DialoguePortion ::= [APPLICATION 11] EXTERNAL
-
--- The dialogue portion carries the dialogue control PDUs as value of the external data type.
--- The direct reference should be set to { ccitt recommendation q 773 as (1) dialogue-as (1) version (1) }
--- if structured dialogue is used and to { ccitt recommendation q 773 as (1) unidialogue-as (2) version (1) }
--- if unstructured dialogue is used or any user defined abstract syntax name when only user information
--- is carried (e.g. when user information is sent in a 1988 Abort message).
-
-OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) )
-DestTransactionID ::= [APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) )
-
-P-AbortCause ::= [APPLICATION 10] IMPLICIT INTEGER {
- unrecognizedMessageType (0),
- unrecognizedTransactionID (1),
- badlyFormattedTransactionPortion (2),
- incorrectTransactionPortion (3),
- resourceLimitation (4) }
-
--- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the Component Portion.
--- The Component Portion may be absent.
-
-ComponentPortion ::= [APPLICATION 12] IMPLICIT SEQUENCE SIZE (1..MAX) OF Component
-
--- Component Portion fields
--- COMPONENT TYPE. Recommendation X.229 defines four Application Protocol Data Units (APDUs).
--- TCAP adds returnResultNotLast to allow for the segmentation of a result.
-
-Component ::= CHOICE {
- invoke [1] IMPLICIT Invoke,
- returnResultLast [2] IMPLICIT ReturnResult,
- returnError [3] IMPLICIT ReturnError,
- reject [4] IMPLICIT Reject,
- returnResultNotLast [7] IMPLICIT ReturnResult }
-
--- The Components are sequences of data elements.
-
-Invoke ::= SEQUENCE {
- invokeID InvokeIdType,
- linkedID [0] IMPLICIT InvokeIdType OPTIONAL,
- operationCode OPERATION,
- parameter ANY DEFINED BY operationCode OPTIONAL }
-
--- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT
--- in the type definition of a particular operation.
-
-ReturnResult ::= SEQUENCE {
- invokeID InvokeIdType,
- result SEQUENCE {
- operationCode OPERATION,
- parameter ANY DEFINED BY operationCode
- } OPTIONAL
- }
-
--- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition
--- of a particular operation.
-
-ReturnError ::= SEQUENCE {
- invokeID InvokeIdType,
- errorCode ERROR,
- parameter ANY DEFINED BY errorCode OPTIONAL }
-
--- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition
--- of a particular error.
-
-
-
--- Recommendation Q.773 (06/97) 3
-
-Reject ::= SEQUENCE {
- invokeID CHOICE {
- derivable InvokeIdType,
- not-derivable NULL },
- problem CHOICE {
- generalProblem [0] IMPLICIT GeneralProblem,
- invokeProblem [1] IMPLICIT InvokeProblem,
- returnResultProblem [2] IMPLICIT ReturnResultProblem,
- returnErrorProblem [3] IMPLICIT ReturnErrorProblem
- }
- }
-
-InvokeIdType ::= INTEGER ( -128..127)
-
--- OPERATIONS
--- Operations are specified with the OPERATION MACRO.
--- When an operation is specified, the valid parameter set, results, and errors for that operation are indicated.
--- Default values and optional parameters are permitted.
-
--- FAKE OPERATION
-OPERATION ::= INTEGER ( 0..65535 )
-ERROR ::= INTEGER ( 0..65535 )
-
---OPERATION MACRO ::=
---BEGIN
--- TYPE NOTATION ::= Parameter Result Errors LinkedOperations
--- VALUE NOTATION ::= value (VALUE CHOICE { localValue INTEGER, globalValue OBJECT IDENTIFIER } )
--- Parameter ::= ArgKeyword NamedType | empty ArgKeyword ::= "ARGUMENT" | "PARAMETER"
--- Result ::= "RESULT" ResultType | empty
--- Errors ::= "ERRORS" "{"ErrorNames"}" | empty
--- LinkedOperations ::= "LINKED" "{"LinkedOperationNames"}" | empty
--- ResultType ::= NamedType | empty
--- ErrorNames ::= ErrorList | empty
--- ErrorList ::= Error | ErrorList "," Error
--- Error ::= value (ERROR)
---
--- shall reference an error value
---
--- | type
--- shall reference an error type
---
--- if no error value is specified
--- LinkedOperationNames ::= OperationList | empty
--- OperationList ::= Operation | OperationList "," Operation
--- Operation ::= value (OPERATION)
--- shall reference an operation value
--- | type
--- shall reference an operation type if
---
--- no operation value is specified
--- NamedType ::= identifier type | type
---END
-
--- ERRORS
--- Errors are specified with the ERROR MACRO.
--- When an error is specified, the valid parameters for that error are indicated.
--- Default values and optional parameters are permitted.
-
---ERROR MACRO ::=
---BEGIN
--- TYPE NOTATION ::= Parameter
--- VALUE NOTATION ::= value (VALUE CHOICE { localValue INTEGER, globalValue OBJECT IDENTIFIER } )
--- Parameter ::= "PARAMETER" NamedType | empty
--- NamedType ::= identifier type | type
---END
-
--- PROBLEMS
-
-GeneralProblem ::= INTEGER { unrecognizedComponent (0),
- mistypedComponent (1),
- badlyStructuredComponent (2) }
-InvokeProblem ::= INTEGER { duplicateInvokeID (0),
- unrecognizedOperation (1),
- mistypedParameter (2),
- resourceLimitation (3),
- initiatingRelease (4),
- unrecognizedLinkedID (5),
- linkedResponseUnexpected (6),
- unexpectedLinkedOperation (7) }
-ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0),
- returnResultUnexpected (1),
- mistypedParameter (2) }
-ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0),
- returnErrorUnexpected (1),
- unrecognizedError (2),
- unexpectedError (3),
- mistypedParameter (4) }
-
-END -- TCAPMessages
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/TCAPMessages.asn b/lib/asn1/test/asn1_bin_SUITE_data/TCAPMessages.asn
deleted file mode 100644
index ed8b4c6927..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/TCAPMessages.asn
+++ /dev/null
@@ -1,98 +0,0 @@
--- Module TCAPMessages (Q.773:06/1997)
--- See also the README file
--- See also the index of all ASN.1 assignments needed in this Recommendation
-
-TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS everything
--- Transaction Portion fields.
-IMPORTS
- ROS{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-TCMessage{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
- unidirectional [APPLICATION 1] Unidirectional{{Invokable}, {Returnable}},
- begin [APPLICATION 2] Begin{{Invokable}, {Returnable}},
- end [APPLICATION 4] End{{Invokable}, {Returnable}},
- continue [APPLICATION 5] Continue{{Invokable}, {Returnable}},
- abort [APPLICATION 7] Abort
-}
-
-Unidirectional{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}}
-}
-
-Begin{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- otid OrigTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-End{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-Continue{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- otid OrigTransactionID,
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-Abort ::= SEQUENCE {
- dtid DestTransactionID,
- reason CHOICE {p-abortCause P-AbortCause,
- u-abortCause DialoguePortion} OPTIONAL
-}
-
--- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be
--- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT
--- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
--- abstract syntax.
-DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL
-
--- The dialogue portion carries the dialogue control PDUs as value of the external data type. The direct
--- reference should be set to {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} if structured
--- dialogue is used and to {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} if unstructured
--- dialogue is used.
-OrigTransactionID ::= [APPLICATION 8] OCTET STRING(SIZE (1..4))
-
-DestTransactionID ::= [APPLICATION 9] OCTET STRING(SIZE (1..4))
-
-P-AbortCause ::= [APPLICATION 10] INTEGER {
- unrecognizedMessageType(0), unrecognizedTransactionID(1),
- badlyFormattedTransactionPortion(2), incorrectTransactionPortion(3),
- resourceLimitation(4)}(0..127)
-
--- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the
--- component portion. The component portion may be absent.
-ComponentPortion{OPERATION:Invokable, OPERATION:Returnable} ::=
- [APPLICATION 12]
- SEQUENCE SIZE (1..MAX) OF Component{{Invokable}, {Returnable}}
-
--- Component Portion fields
--- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking
--- operations, returning results or error, and for the rejection of invalid PDUs.
--- TCAP adds returnResultNotLast to allow for the segmentation of a result.
-Component{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
- basicROS ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}},
- returnResultNotLast
- [7] returnResult < ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}}
-}
-
-TCInvokeIdSet ::= InvokeId(WITH COMPONENTS {
- present (-128..127)
- })
-
-END -- TCAPMessages
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage.asn b/lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage.asn
deleted file mode 100644
index fcaeff3bfa..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage.asn
+++ /dev/null
@@ -1,271 +0,0 @@
-TCAPPackage {iso(1) memberbody(2) usa(840) t1-114(10013) modules(0)
- tcapPackage(0) version4(4)} DEFINITIONS ::=
-
--- iso(1) memberbody(2)
--- usa(840) T1.114(10013)
-BEGIN -- defining a module called TCAPPackage which contains type
-
--- definitions for the contents of any generic TCAP message
--- exports everything
-IMPORTS
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)};
--- TCAPRemoteperationsInformationbjects {iso(1) memberbody(2) usa(840)
--- t1-114(10013) modules(0) information-objects(1) version4(4)};
-
-PackageType ::= CHOICE {
- unidirectional [PRIVATE 1] IMPLICIT UniTransactionPDU,
- queryWithPerm [PRIVATE 2] IMPLICIT TransactionPDU,
- queryWithoutPerm [PRIVATE 3] IMPLICIT TransactionPDU,
- response [PRIVATE 4] IMPLICIT TransactionPDU,
- conversationWithPerm [PRIVATE 5] IMPLICIT TransactionPDU,
- conversationWithoutPerm [PRIVATE 6] IMPLICIT TransactionPDU,
- abort [PRIVATE 22] IMPLICIT Abort}
-
-UniTransactionPDU ::= SEQUENCE {
- identifier TransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- componentPortion ComponentSequence}
-
-TransactionPDU ::= SEQUENCE {
- identifier TransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- componentPortion ComponentSequence OPTIONAL}
-
--- TransactionPDU should include either a Dialogue Portion,
--- a Component Sequence or both
-TransactionID ::= [PRIVATE 7] IMPLICIT OCTET STRING
-
--- 0 octets for the Unidirectional, 4 octets for Query, Response & Abort
--- 8 octets for Conversation in the order Originating then Responding TID
-Abort ::= SEQUENCE {
- identifier TransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- causeInformation
- CHOICE {abortCause P-Abort-cause,
- userInformation UserAbortInformation} OPTIONAL}
-
--- When the Abort package is generated by the Transaction sublayer,
--- the P-Abort-cause must be present
-P-Abort-cause ::= [PRIVATE 23] IMPLICIT INTEGER {
- unrecognizedPackageType(1), incorrectTransactionPortion(2),
- badlyStructuredTransactionPortion(3), unassignedRespondingTransactionID(4),
- permissionToReleaseProblem(5), -- for further study
- resourceUnavailable(6), unrecognizedDialoguePortionID(7),
- badlyStructuredDialoguePortion(8), missingDialoguePortion(9),
- inconsistentDialoguePortion(10)}
-
-DialoguePortion ::= [PRIVATE 25] IMPLICIT SEQUENCE {
- version ProtocolVersion OPTIONAL,
- applicationContext
- CHOICE {integerApplicationId IntegerApplicationContext,
- objectApplicationId ObjectIDApplicationContext} OPTIONAL,
- userInformation UserInformation OPTIONAL,
- securityContext
- CHOICE {integerSecurityId [0] IMPLICIT INTEGER,
- objectSecurityId [1] IMPLICIT OBJECT IDENTIFIER} OPTIONAL,
- confidentiality [2] IMPLICIT Confidentiality OPTIONAL}
-
-ProtocolVersion ::= [PRIVATE 26] IMPLICIT OCTET STRING(SIZE (1))
-
--- 0000 0000 not used
--- 0000 0001 T1.114-1996
--- 0000 0010 T1.114-2000
--- other reserved
--- These values can be combined using the bit-wise logical or operation
--- to indicate support for more than one version, e.g. the value 0000 0011
--- means that both 1996 and 2000 versions are supported
-IntegerApplicationContext ::= [PRIVATE 27] IMPLICIT INTEGER
-
-ObjectIDApplicationContext ::= [PRIVATE 28] IMPLICIT OBJECT IDENTIFIER
-
-UserInformation ::= [PRIVATE 29] IMPLICIT SEQUENCE OF EXTERNAL
-
-Confidentiality ::= SEQUENCE {
- confidentialityId
- CHOICE {integerConfidentialityId [0] IMPLICIT INTEGER,
- objectConfidentialityId [1] IMPLICIT OBJECT IDENTIFIER} OPTIONAL,
- ...
- -- The extension marker indicates the possible presence of items
- -- in the confidentiality set that are used by the confidentiality
- -- algorithm.--}
-
-UserAbortInformation ::= [PRIVATE 24] EXTERNAL
-
---ComponentSequence ::= [PRIVATE 8] IMPLICIT SEQUENCE OF ComponentPDU
-ComponentSequence ::= [PRIVATE 8] IMPLICIT SEQUENCE OF ComponentPDU{NoInvokeId,ProbeAndAcknowledge,ProbeAndAcknowledge}
--- Component Portion specification starts below
-ComponentPDU{InvokeId:InvokeIdSet, OPERATION:Invocable, OPERATION:Returnable}
- ::= CHOICE {
- invokeLast
- [PRIVATE 9] IMPLICIT Invoke{{InvokeIdSet}, {Invocable}}
- (CONSTRAINED BY {
- --invocable.&invokeLast must be TRUE --} !
- RejectProblem:generalincorrectComponentPortion),
- returnResultLast [PRIVATE 10] IMPLICIT ReturnResult{{Returnable}},
- returnError
- [PRIVATE 11] IMPLICIT ReturnError{{Errors {{Returnable}}}},
- reject [PRIVATE 12] IMPLICIT Reject,
- invokeNotLast
- [PRIVATE 13] IMPLICIT Invoke{{InvokeIdSet}, {Invocable}}
- (CONSTRAINED BY {
- --invocable.&invokeLast must be FALSE --} !
- RejectProblem:generalincorrectComponentPortion),
- returnResultNotLast [PRIVATE 14] IMPLICIT ReturnResult{{Returnable}}}
- (CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:generalunrecognisedComponentType)
-
-Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
- componentIDs
- [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (0..2))
- -- The invoke ID precedes the correlation id. There may be no
- -- identifier,only an invoke ID, or both invoke and correlation
- -- ID.
- (CONSTRAINED BY {-- must be unambiguous --} !
- RejectProblem:invokeduplicateInvocation)
- (CONSTRAINED BY {-- correlation ID must identify an--
- -- outstanding operation --} !
- RejectProblem:invokeunrecognisedCorrelationId)
- OPTIONAL,
- -- operationCode
- opcode
- OPERATION.&operationCode
- -- ((Operations) !RejectProblem:invokeunrecognisedOperation),
- ({Operations} !RejectProblem:invokeunrecognisedOperation),
- parameter
- -- OPERATION.&ParameterType
- OPERATION.&ResultType
- ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL}
- (CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:generalincorrectComponentPortion)
- (CONSTRAINED BY { -- must have consistent encoding --} !
- RejectProblem:generalbadlyStructuredCompPortion)
- (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
- RejectProblem:generalincorrectComponentCoding)
-
-ReturnResult{OPERATION:Operations} ::= SEQUENCE {
- componentID
- [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (1))
- (CONSTRAINED BY {
- --must be that of an outstanding operation--} !
- RejectProblem:
- returnResultunrecognisedCorrelationId)
- (CONSTRAINED BY {-- which returns a result --} !
- RejectProblem:returnResultunexpectedReturnResult),
- parameter
- OPERATION.&ResultType
- -- ({Operations}{@opcode} !RejectProblem:returnResultincorrectParameter)
--- ({Operations}{@componentID} !RejectProblem:returnResultincorrectParameter)
- OPTIONAL}
- (CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:generalincorrectComponentPortion)
- (CONSTRAINED BY { -- must have consistent encoding --} !
- RejectProblem:generalbadlyStructuredCompPortion)
- (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
- RejectProblem:generalincorrectComponentCoding)
-
-ReturnError{ERROR:Errors} ::= SEQUENCE {
- componentID
- [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (1))
- (CONSTRAINED BY {
- --must be that of an outstanding operation--} !
- RejectProblem:returnErrorunrecognisedCorrelationId)
- (CONSTRAINED BY {--which returns an error--} !
- RejectProblem:returnErrorunexpectedReturnError),
- errorCode
- ERROR.&errorCode({Errors} !RejectProblem:returnErrorunrecognisedError)
- (CONSTRAINED BY {-- must be in the &Errors field of the--
- -- associated operation --} !RejectProblem:returnErrorunexpectedError),
- parameter
- -- Error.&ParameterType
- ERROR.&ParameterType
- -- ({Errors}{@errorcode} !RejectProblem:returnErrorincorrectParameter)
- ({Errors}{@errorCode} !RejectProblem:returnErrorincorrectParameter)
- OPTIONAL}
- (CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:generalincorrectComponentPortion)
- (CONSTRAINED BY { -- must have consistent encoding --} !
- RejectProblem:generalbadlyStructuredCompPortion)
- (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
- RejectProblem:generalincorrectComponentCoding)
-
-Reject ::= SEQUENCE {
- componentID [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (0..1)),
- rejectProblem [PRIVATE 21] IMPLICIT Problem,
- parameter
- CHOICE {paramSequence [PRIVATE 16] IMPLICIT SEQUENCE {},
- paramSet [PRIVATE 18] IMPLICIT SET {}}}
- -- The choice between paramSequence and paramSet is implementation
- -- dependent, however paramSequence is preferred.
- (CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:generalincorrectComponentPortion)
- (CONSTRAINED BY { -- must have consistent encoding --} !
- RejectProblem:generalbadlyStructuredCompPortion)
- (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
- RejectProblem:generalincorrectComponentCoding)
-
--- PROBLEMS, the specification of Problems follows
-Problem ::= INTEGER {
- generalunrecognisedComponentType(257), generalincorrectComponentPortion(258),
- generalbadlyStructuredCompPortion(259), generalincorrectComponentCoding(260),
- invokeduplicateInvocation(513), invokeunrecognisedOperation(514),
- invokeincorrectParameter(515), invokeunrecognisedCorrelationID(516),
- returnResultunrecognisedCorrelationID(769),
- returnResultunexpectedReturnResult(770), returnResultincorrectParameter(771),
- returnErrorunrecognisedCorrelationID(1025),
- returnErrorunexpectedReturnError(1026), returnErrorunrecognisedError(1027),
- returnErrorunexpectedError(1028),
- returnErrorincorrectParameter(1029),
- -- Applications using T1.114-1988 report Transaction portion
- -- problems using a Reject component with a problem code in
- -- the range 1281e6
- -- It is preferred that other applications report
- -- these problems using the Abort package type
- transactionunrecognizedPackageType(1281),
- transactionincorrectTransPortion(1282),
- transactionbadlyStructuredTransPortion(1283),
- transactionunassignedRespondingTransID(1284),
- transactionpermissionToReleaseProblem(1285),
- transactionresourceUnavailable(1286)}
-
- --added imaginary defs by Bertil
-
- InvokeId ::= CHOICE
-{
- present INTEGER,
- absent NULL
-}
-
-noInvokeId InvokeId ::= absent:NULL
-
-NoInvokeId InvokeId ::= {noInvokeId}
-
-probe OPERATION ::=
- {
- ARGUMENT SEQUENCE
- {
- invokeId [0] InvokeId
- }
- RESULT ENUMERATED{running(0), finished(1), unknown(2), ...}
- ERRORS ErrorSet
- ALWAYS RESPONDS TRUE
- CODE local:-2
- }
-
-acknowledge OPERATION ::=
- {
- ARGUMENT InvokeId
- RESULT ENUMERATED{acknowledged(0), unknown(1), ...}
- ALWAYS RESPONDS TRUE
- CODE local:-3
- }
-
-ProbeAndAcknowledge OPERATION ::= {probe | acknowledge}
-
-error1 ERROR ::= {PARAMETER INTEGER PRIORITY 25 CODE local:22}
-error2 ERROR ::= {PARAMETER BOOLEAN PRIORITY 15 CODE local:21}
-ErrorSet ERROR ::= {error1|error2}
---parameterized object set definition
-Errors{OPERATION:OperationSet} ERROR ::= {OperationSet.&Errors}
-
-END -- end of the TCAPPackage Module
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage.asn1config b/lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage.asn1config
deleted file mode 100644
index b0ccd7d34c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage.asn1config
+++ /dev/null
@@ -1,12 +0,0 @@
-{exclusive_decode, {'TCAPPackage',
- [{decode_PackageType, ['PackageType',
- [{unidirectional, undecoded},
- {queryWithPerm, [{componentPortion, parts}]},
- {queryWithoutPerm, undecoded},
- {response, [{componentPortion, parts}]},
- {conversationWithPerm, undecoded},
- {conversationWithoutPerm, undecoded},
- {abort, undecoded}]]},
- {decode_TransactionPDU, ['TransactionPDU',
- [{componentPortion, parts}]]}]}}.
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage_msg.erl b/lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage_msg.erl
deleted file mode 100644
index cc9a483f49..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/TCAPPackage_msg.erl
+++ /dev/null
@@ -1,141 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%
--module('TCAPPackage_msg').
-
--compile(export_all).
-
--include("TCAPPackage.hrl").
-
-val('PackageType',unidirectional) ->
- {unidirectional,val('UniTransactionPDU')};
-val('PackageType',abort) ->
- {abort,val('Abort')};
-val('PackageType',Component) ->
- {Component,val('TransactionPDU')};
-val('ComponentPDU',1) ->
- {invokeLast,val('Invoke')};
-val('ComponentPDU',2) ->
- {returnResultLast,val('ReturnResult')};
-val('ComponentPDU',3) ->
- {returnError,val('ReturnError')}.
-
-
-
-val('UniTransactionPDU') ->
- #'UniTransactionPDU'{identifier=val('TransactionID'),
- dialoguePortion=val('DialoguePortion'),
- componentPortion=val('ComponentSequence')};
-val('TransactionPDU') ->
- #'TransactionPDU'{identifier=val('TransactionID'),
- dialoguePortion=val('DialoguePortion'),
- componentPortion=val('ComponentSequence')};
-val('TransactionID') ->
- "OCTET STRING";
-val('DialoguePortion') ->
- #'DialoguePortion'{version=val('ProtocolVersion'),
- applicationContext={integerApplicationId,12},
- userInformation=val('UserInformation'),
- securityContext={integerSecurityId,13},
- confidentiality=val('Confidentiality')};
-val('Confidentiality') ->
- #'Confidentiality'{confidentialityId={integerConfidentialityId,14}};
-val('ProtocolVersion') ->
- "K";
-val('UserInformation') ->
- [val('EXTERNAL'),val('EXTERNAL')];
-val('EXTERNAL') ->
- #'EXTERNAL'{'direct-reference'={0,1,2},
- encoding={'single-ASN1-type',[1,2,3,4]}};
-val('ComponentSequence') ->
- [val('ComponentPDU',1),val('ComponentPDU',2),val('ComponentPDU',3)];
-val('Invoke') ->
- #'Invoke'{componentIDs="AB",
- opcode={local,-2},
- parameter=running};
-val('ReturnResult') ->
- #'ReturnResult'{componentID="C",
- parameter=[1,2,3,4]};
-val('ReturnError') ->
- #'ReturnError'{componentID="D",
- errorCode={local,21},
- parameter=true};
-val('Abort') ->
- #'Abort'{identifier=val('TransactionID'),
- dialoguePortion=val('DialoguePortion'),
- causeInformation={abortCause,unrecognizedPackageType}};
-val(Type) ->
- io:format("Missing type: ~p~n",[Type]).
-
-
-check_result('PackageType',unidirectional,Res) ->
- {unidirectional,
- {'UniTransactionPDU',
- "OCTET STRING",
- {'DialoguePortion',"K",
- {integerApplicationId,12},
- [_,%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal},
- _],%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal}],
- {integerSecurityId,13},
- {'Confidentiality',
- {integerConfidentialityId,14}}},
- [{invokeLast,
- {_,"AB",{local,-2},running}},
- {returnResultLast,{_,"C",_}},
- {returnError,{_,"D",{local,21},true}}]}} = Res,
- ok;
-%% check_OT_val(OTVal);
-check_result('PackageType',abort,Res)->
- {abort,{'Abort',"OCTET STRING",
- {'DialoguePortion',"K",
- {integerApplicationId,12},
- [_,%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal},
- _],%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal}],
- {integerSecurityId,13},
- {'Confidentiality',
- {integerConfidentialityId,14}}},
- {abortCause,unrecognizedPackageType}}} = Res,
- ok;
-%% check_OT_val(OTVal);
-check_result('PackageType',response,Res) ->
- {response,{'TransactionPDU',"OCTET STRING",
- {'DialoguePortion',
- "K",
- {integerApplicationId,12},
- [_,%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal},
- _],%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal}],
- {integerSecurityId,13},
- {'Confidentiality',
- {integerConfidentialityId,14}}},
- [{invokeLast,
- {_,"AB",{local,-2},running}},
- {returnResultLast,
- {_,"C",_}},
- {returnError,
- {_,"D",{local,21},true}}]}} = Res,
- ok.
-%% check_OT_val(OTVal).
-
-check_OT_val([160,4,1,2,3,4]) ->
- ok;
-check_OT_val(<<160,4,1,2,3,4>>) ->
- ok;
-check_OT_val(_) ->
- error.
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/TConstr.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/TConstr.asn1
deleted file mode 100644
index 63f5dbde77..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/TConstr.asn1
+++ /dev/null
@@ -1,95 +0,0 @@
--- The idea with this spec is to gather definitions that has a
--- complicated structure of table constraints.
-TConstr DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-MYCLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type,
- &Result OPTIONAL
-} WITH SYNTAX {
- ID &id
- TYPE &Type
- [RESULT &Result]
-}
-
-object1 MYCLASS ::= {ID id-object1 TYPE Type-object1 RESULT INTEGER}
-object2 MYCLASS ::= {ID id-object2 TYPE Type-object2}
-object3 MYCLASS ::= {ID id-object3 TYPE Type-object3 RESULT BOOLEAN}
-
-ObjectSet MYCLASS ::= {object1 | object2 | object3}
-
-id-object1 OBJECT IDENTIFIER ::= {2 4}
-id-object2 OBJECT IDENTIFIER ::= {2 5}
-id-object3 OBJECT IDENTIFIER ::= {2 6 7}
-
-
-Type-object1 ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-
-Type-object2 ::= ENUMERATED {first, second, third}
-
-Type-object3 ::= CHOICE {
- first SEQUENCE {a BOOLEAN, b INTEGER},
- second INTEGER
-}
-
-Seq1 ::= SEQUENCE {
- a SEQUENCE {aa INTEGER, ab MYCLASS.&id ({ObjectSet})},
- b SEQUENCE {ba INTEGER, bb MYCLASS.&Type ({ObjectSet}{@a.ab})}
-}
-
-Seq2 ::= SEQUENCE {
- identity INTEGER,
- content SEQUENCE {
- subid MYCLASS.&id ({ObjectSet}),
- subcontent MYCLASS.&Type ({ObjectSet}{@content.subid}),
- subresult MYCLASS.&Result ({ObjectSet}{@content.subid})
- }
-}
-
-
--- following from Peter's definitions
-
-
-MY-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type }
- WITH SYNTAX {
- ID &id
- TYPE &Type }
-
-Info ::= SEQUENCE {
- xyz SEQUENCE {
- abc MY-CLASS.&id({Supported})
- },
- uvw MY-CLASS.&Type ({Supported}{@xyz.abc}) }
-
-Supported MY-CLASS ::= { dsa | rsa }
-
--- dsa
-
- id-dsa OBJECT IDENTIFIER ::= { 1 2 }
-
- DSAPublicKey ::= INTEGER -- public key, y
-
- dsa MY-CLASS ::= {
- ID id-dsa
- TYPE DSAPublicKey }
-
--- rsa
-
- rsaEncryption OBJECT IDENTIFIER ::= { 1 3 4 }
-
- RSAPublicKey ::= SEQUENCE {
- modulus INTEGER, -- n
- publicExponent INTEGER } -- e
-
- rsa MY-CLASS ::= {
- ID rsaEncryption
- TYPE RSAPublicKey }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/TConstrChoice.asn1 b/lib/asn1/test/asn1_bin_SUITE_data/TConstrChoice.asn1
deleted file mode 100644
index 4f17786e78..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/TConstrChoice.asn1
+++ /dev/null
@@ -1,175 +0,0 @@
-TConstrChoice DEFINITIONS ::=
-BEGIN
-
-
-FilterItem ::= CHOICE {
- equality [0] AttributeValueAssertion,
- substrings [1] SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- strings SEQUENCE OF CHOICE {
- initial [0] ATTRIBUTE.&Type
- ({SupportedAttributes}{@substrings.type}),
- any [1] ATTRIBUTE.&Type
- ({SupportedAttributes}{@substrings.type}),
- final [2] ATTRIBUTE.&Type
- ({SupportedAttributes}{@substrings.type}) }},
- greaterOrEqual [2] AttributeValueAssertion,
- lessOrEqual [3] AttributeValueAssertion,
- present [4] AttributeType,
- approximateMatch [5] AttributeValueAssertion,
- extensibleMatch [6] MatchingRuleAssertion }
-
-AttributeValueAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertion ATTRIBUTE.&equality-match.&AssertionType
- ({SupportedAttributes}{@type}) }
-
-MatchingRuleAssertion ::= SEQUENCE {
- type MATCHING-RULE.&id({MatchingRules}),
- assertion MATCHING-RULE.&AssertionType ({MatchingRules}{@type})
- }
-
-AttributeType ::= INTEGER(0..127)
-
-ATTRIBUTE ::= CLASS {
- &derivation ATTRIBUTE OPTIONAL,
- &Type OPTIONAL,
- &equality-match MATCHING-RULE OPTIONAL,
- &ordering-match MATCHING-RULE OPTIONAL,
- &substrings-match MATCHING-RULE OPTIONAL,
- &single-valued BOOLEAN DEFAULT FALSE,
- &collective BOOLEAN DEFAULT FALSE,
- &no-user-modification BOOLEAN DEFAULT FALSE,
- &usage Attribute-Usage DEFAULT userApplications,
- &id OBJECT IDENTIFIER UNIQUE }
-WITH SYNTAX {
- [SUBTYPE OF &derivation]
- [WITH SYNTAX &Type]
- [EQUALITY MATCHING RULE &equality-match]
- [ORDERING MATCHING RULE &ordering-match]
- [SUBSTRINGS MATCHING RULE &substrings-match]
- [SINGLE VALUE &single-valued]
- [COLLECTIVE &collective]
- [NO USER MODIFICATION &no-user-modification]
- [USAGE &usage]
- ID &id }
-
-Attribute-Usage ::= ENUMERATED { userApplications(0),
- directoryOperation(1), distributedOperation(2),
- dSAOperation(3) }
-
-
-surname ATTRIBUTE ::= { -- family name
- SUBTYPE OF name
- WITH SYNTAX DirectoryString
- ID id-at-surname }
-
-givenName ATTRIBUTE ::= { -- first name
- SUBTYPE OF name
- WITH SYNTAX DirectoryString
- ID id-at-givenName }
-
-countryName ATTRIBUTE ::= { -- country
- SUBTYPE OF name
- WITH SYNTAX PrintableString (SIZE (2)) -- [ISO3166] codes
- SINGLE VALUE TRUE
- ID id-at-countryName}
-
-SupportedAttributes ATTRIBUTE ::=
-{surname | givenName | countryName}
-
--- id-at-surname DirectoryString ::= universalString:"SureName"
-
-id-at-surname OBJECT IDENTIFIER ::= {2 4}
-
--- id-at-givenName DirectoryString ::= printableString:"GivenName"
-
-id-at-givenName OBJECT IDENTIFIER ::= {2 5}
-
--- id-at-countryName PrintableString (SIZE (2)) ::= "CN"
-
-id-at-countryName OBJECT IDENTIFIER ::= {2 6}
-
-MATCHING-RULE ::= CLASS {
- &AssertionType OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE }
-WITH SYNTAX {
- [SYNTAX &AssertionType]
- ID &id }
-
-MatchingRules MATCHING-RULE ::= {
- caseIgnoreMatch | booleanMatch | integerMatch }
-
-LessMatchingRules MATCHING-RULE ::= {
- MatchingRules EXCEPT caseIgnoreMatch }
-
-ExtensibleMatchingRules MATCHING-RULE ::= {
- caseIgnoreMatch | booleanMatch | integerMatch, ... }
-
-name ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString
- EQUALITY MATCHING RULE caseIgnoreMatch
- ID id-name }
-
-
-DirectoryString ::= CHOICE {
- teletexString TeletexString (SIZE (1..maxSize)),
- printableString PrintableString (SIZE (1..maxSize)),
- universalString UniversalString (SIZE (1..maxSize)),
- bmpString BMPString (SIZE (1..maxSize))
--- utf8String UTF8String (SIZE (1..maxSize))
- }
-
-maxSize INTEGER ::= 25
-
-caseIgnoreMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString
- ID id-caseIgnoreMatch
- }
-
-booleanMatch MATCHING-RULE ::= {
- SYNTAX BOOLEAN
- ID id-booleanMatch
- }
-
-integerMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-integerMatch
- }
-
-id-mr OBJECT IDENTIFIER ::=
-{2 5 11}
-
-id-name OBJECT IDENTIFIER ::= {2 5 11 5}
-
-id-caseIgnoreMatch OBJECT IDENTIFIER ::= {2 5 11 2}
-
-id-booleanMatch OBJECT IDENTIFIER ::= {2 5 11 13}
-
-id-integerMatch OBJECT IDENTIFIER ::= {2 5 11 14}
-
---{joint-iso-itu-t ds(5) matchingRule(13)}
-
--- test code for OTP-4248
-
-NOTUNIQUE ::= CLASS {
- &value INTEGER,
- &Type
-}
-WITH SYNTAX {
- VALUE &value
- TYPE &Type
-}
-
-
-nuObject NOTUNIQUE ::= {VALUE 3 TYPE FilterItem}
-
-NuObjectSet NOTUNIQUE ::= {nuObject}
-
-Seq ::= SEQUENCE {
- a NOTUNIQUE.&value ({NuObjectSet}),
- b NOTUNIQUE.&Type ({NuObjectSet}{@a})
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Time.py b/lib/asn1/test/asn1_bin_SUITE_data/Time.py
deleted file mode 100644
index e3672464e4..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Time.py
+++ /dev/null
@@ -1,7 +0,0 @@
-Time DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS;
-
-Pstr ::= PrintableString
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Tst.py b/lib/asn1/test/asn1_bin_SUITE_data/Tst.py
deleted file mode 100644
index d80b32dad5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Tst.py
+++ /dev/null
@@ -1,153 +0,0 @@
-Tst { 2 6 6 24 7 1 } DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
---EXPORTS SomeSet , Id0 , Aset,Id1 ,A,B,C,
--- Uhh ,Foo ,Cho,Person,Hobbe,Robbe,X,Y;
-
-IMPORTS Fooo FROM Bobby;
-
-
-Robbe ::= SET {
- ttt TT }
-
-Koo ::= SET {
- c CHOICE {
- a INTEGER,
- b BOOLEAN },
- s SET OF Id0 }
-
-
-Hobbe ::= [APPLICATION 1] SET {
- aaa [0] SET OF INTEGER,
- bbb [1] UU
- }
-
-UU ::= PP
-PP ::= CHOICE {
- cc [1] CHOICE {
- a [0] INTEGER,
- b [1] BOOLEAN,
- c [2] BIT STRING },
- ii [0] Id0
- }
-
-
-TT ::= SS
-SS ::= SET {
- b BOOLEAN DEFAULT TRUE
- }
-
-Aset ::= [PRIVATE 2] SET OF Uhh
-
-
-
-SomeSet ::= [PRIVATE 3] IMPLICIT SET {
- aaaa [2] SET{
- ggg [0] INTEGER},
- kkkk [1] SET OF Id2,
- booby [4] OCTET STRING,
- puck [3] INTEGER {red(0),blue(1),yellow(-2)},
- baby [5] IMPLICIT Id1,
- bool [6] BOOLEAN }
-
-
-Id0 ::= INTEGER (4 .. 99)
-
-Id1 ::= Id0
-
-Id2 ::= [PRIVATE 4] EXPLICIT Id1
-
-
-Uhh ::= SET {
- a [1] IMPLICIT Id1}
-
-
-
-Soon ::= [PRIVATE 5] Moon
-
-Moon ::= [PRIVATE 6] IMPLICIT Person
-
-
-Person ::= [PRIVATE 7] IMPLICIT SEQUENCE {
- szzzs SET OF SET {
- aaa [0] INTEGER,
- bbb [1] Id0},
- cho Cho,
- name OCTET STRING ,
- location INTEGER,
- asss Aset,
- oops [2] IMPLICIT SET {
- q [0] INTEGER,
- p [1] Uhh},
- on INTEGER,
- mybits [3] IMPLICIT BIT STRING,
- foo Foo,
- age INTEGER,
- hobbe [5] SEQUENCE {
- a [4] CHOICE {
- a INTEGER,
- b BOOLEAN },
- b [5] Id0}}
-
-
-
-
-
-Foo ::= [PRIVATE 8] IMPLICIT SEQUENCE {
- goofy [3] INTEGER OPTIONAL,
- somestring [10] IMPLICIT OCTET STRING DEFAULT '77BB'H,
- hoohoo [11] IMPLICIT SEQUENCE {
- bar [1] Id1 OPTIONAL,
- foo INTEGER,
- zombie [9] CHOICE {
- a [1] IMPLICIT INTEGER,
- b [2] IMPLICIT BOOLEAN }
- },
- moon [4] IMPLICIT INTEGER }
-
-
-
-Cho ::= [PRIVATE 9] EXPLICIT CHOICE {
- somestring [2] IMPLICIT OCTET STRING,
- goofy [9] INTEGER,
- moon [4] IMPLICIT INTEGER }
-
-
-A ::= [APPLICATION 2] SET {
- ppp IA5String ,
- a [0] INTEGER {aaa(6),bbb(77)} DEFAULT 998,
- b [1] Id1 OPTIONAL,
- c [2] OCTET STRING (SIZE(8)),
- dd [3] BIT STRING DEFAULT '11001'B }
-
-B ::= [APPLICATION 3] SET {
- ww [1] SET {
- a A OPTIONAL,
- goofy [3] INTEGER OPTIONAL,
- somestring [10] IMPLICIT OCTET STRING DEFAULT '77BB'H }
- }
-
-
-C::= [APPLICATION 4] SEQUENCE OF X
-
-Y ::= OBJECT IDENTIFIER
-
-X ::= SET {
- a NULL,
- b GeneralString,
- c UTCTime,
- d VideotexString,
- g GeneralizedTime,
- h GraphicString,
- i VisibleString,
- j IA5String,
- k PrintableString,
- l OCTET STRING,
- e TeletexString,
- m ANY,
- n ObjectDescriptor,
- o OBJECT IDENTIFIER,
- f NumericString }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/Two.py b/lib/asn1/test/asn1_bin_SUITE_data/Two.py
deleted file mode 100644
index c8e6f1a55b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/Two.py
+++ /dev/null
@@ -1,34 +0,0 @@
-Two { 1 2 3} DEFINITIONS EXPLICIT TAGS ::=
-
-BEGIN
-EXPORTS A, D,Boo,Szz;
-
-
-
-D ::= [PRIVATE 1] SEQUENCE {
- a INTEGER,
- b Boo,
- c ANY DEFINED BY a ,
- d ANY }
-
-
-Boo ::= SEQUENCE OF INTEGER (198..200)
-
-A ::= [PRIVATE 2] SEQUENCE {
- a INTEGER (1..1),
- b INTEGER (3..3) }
-
-
-Szz ::= CHOICE {
- one INTEGER,
- two BOOLEAN }
-
-C ::= SET {
- a [0] INTEGER (0..8),
- xx [4] CHOICE {
- [7] INTEGER (9..10),
- a INTEGER (11 ..13) },
- f Boo,
- r [2] INTEGER (20..22)}
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/UPERDefault.asn b/lib/asn1/test/asn1_bin_SUITE_data/UPERDefault.asn
deleted file mode 100644
index 7b81a0e09f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/UPERDefault.asn
+++ /dev/null
@@ -1,18 +0,0 @@
-UPERDefault DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- OTP-7681
-Int ::= INTEGER (0..32767)
-
-Seq ::= SEQUENCE {
- a Int,
- b INTEGER (-27..27) DEFAULT 0, -- OTP-7678
- c INTEGER OPTIONAL
-}
-
-seq Seq ::=
-{a 12,
- b 0}
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/UndefType.py b/lib/asn1/test/asn1_bin_SUITE_data/UndefType.py
deleted file mode 100644
index cdbe083803..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/UndefType.py
+++ /dev/null
@@ -1,14 +0,0 @@
-Person DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS Person;
-IMPORTS
- ImportedFromUndefined FROM UndefinedModule;
-
-Feltyp ::= UndefinedType
-Feltyp2 ::= ImportedFromUndefined
-Person ::= [PRIVATE 19] SEQUENCE {
- name Undefined,
- location INTEGER {home(0),field(1),roving(2)},
- age ImportedFromUndefined OPTIONAL
- }
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/UpperBounds.asn b/lib/asn1/test/asn1_bin_SUITE_data/UpperBounds.asn
deleted file mode 100755
index 247260495b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/UpperBounds.asn
+++ /dev/null
@@ -1,89 +0,0 @@
--- Module UpperBounds (X.520:08/1997)
-
-UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ub-answerback INTEGER ::=
- 8
-
-ub-business-category INTEGER ::= 128
-
-ub-common-name INTEGER ::= 64
-
-ub-country-code INTEGER ::= 4
-
-ub-description INTEGER ::= 1024
-
-ub-destination-indicator INTEGER ::= 128
-
-ub-directory-string-first-component-match INTEGER ::= 32768
-
-ub-international-isdn-number INTEGER ::= 16
-
-ub-knowledge-information INTEGER ::= 32768
-
-ub-locality-name INTEGER ::= 128
-
-ub-match INTEGER ::= 128
-
-ub-name INTEGER ::= 64
-
-ub-organization-name INTEGER ::= 64
-
-ub-organizational-unit-name INTEGER ::= 64
-
-ub-physical-office-name INTEGER ::= 128
-
-ub-post-office-box INTEGER ::= 40
-
-ub-postal-code INTEGER ::= 40
-
-ub-postal-line INTEGER ::= 6
-
-ub-postal-string INTEGER ::= 30
-
-ub-privacy-mark-length INTEGER ::= 128
-
-ub-schema INTEGER ::= 1024
-
-ub-search INTEGER ::= 1023-- This definition is missing; to be provided --
-
-ub-serial-number INTEGER ::= 64
-
-ub-state-name INTEGER ::= 128
-
-ub-street-address INTEGER ::= 128
-
-ub-surname INTEGER ::= 64
-
-ub-tag INTEGER ::= 64
-
-ub-telephone-number INTEGER ::= 32
-
-ub-teletex-terminal-id INTEGER ::= 1024
-
-ub-telex-number INTEGER ::= 14
-
-ub-title INTEGER ::= 64
-
-ub-user-password INTEGER ::= 128
-
-ub-x121-address INTEGER ::= 15
-
-ub-localeContextSyntax INTEGER ::= 128
-
-ub-locale-context-syntax INTEGER ::= 64
-
-ub-pseudonym INTEGER ::= 128
-
-ub-content INTEGER ::= 32768
-
-END -- UpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/UsefulDefinitions.asn b/lib/asn1/test/asn1_bin_SUITE_data/UsefulDefinitions.asn
deleted file mode 100755
index d9601bb7d0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/UsefulDefinitions.asn
+++ /dev/null
@@ -1,238 +0,0 @@
--- Module UsefulDefinitions (X.501:08/1997)
-UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ID ::= OBJECT IDENTIFIER
-
-ds ID ::= {joint-iso-itu-t ds(5)}
-
--- categories of information object
-module ID ::= {ds 1}
-
-serviceElement ID ::= {ds 2}
-
-applicationContext ID ::= {ds 3}
-
-attributeType ID ::= {ds 4}
-
-attributeSyntax ID ::= {ds 5}
-
-objectClass ID ::= {ds 6}
-
--- attributeSet ID ::= {ds 7}
-algorithm ID ::= {ds 8}
-
-abstractSyntax ID ::= {ds 9}
-
--- object ID ::= {ds 10}
--- port ID ::= {ds 11}
-dsaOperationalAttribute ID ::=
- {ds 12}
-
-matchingRule ID ::= {ds 13}
-
-knowledgeMatchingRule ID ::= {ds 14}
-
-nameForm ID ::= {ds 15}
-
-group ID ::= {ds 16}
-
-subentry ID ::= {ds 17}
-
-operationalAttributeType ID ::= {ds 18}
-
-operationalBinding ID ::= {ds 19}
-
-schemaObjectClass ID ::= {ds 20}
-
-schemaOperationalAttribute ID ::= {ds 21}
-
-administrativeRoles ID ::= {ds 23}
-
-accessControlAttribute ID ::= {ds 24}
-
-rosObject ID ::= {ds 25}
-
-contract ID ::= {ds 26}
-
-package ID ::= {ds 27}
-
-accessControlSchemes ID ::= {ds 28}
-
-certificateExtension ID ::= {ds 29}
-
-managementObject ID ::= {ds 30}
-
-attributeValueContext ID ::= {ds 31}
-
--- securityExchange ID ::= {ds 32}
-idmProtocol ID ::= {ds 33}
-
-problem ID ::= {ds 34}
-
-notification ID ::= {ds 35}
-
-matchingRestriction ID ::=
- {ds 36} -- None are currently defined by this specification
-
-controlAttributeType ID ::= {ds 37}
-
--- modules
-usefulDefinitions ID ::= {module usefulDefinitions(0) 3}
-
-informationFramework ID ::= {module informationFramework(1) 3}
-
-directoryAbstractService ID ::= {module directoryAbstractService(2) 3}
-
-distributedOperations ID ::= {module distributedOperations(3) 3}
-
-protocolObjectIdentifiers ID ::= {module protocolObjectIdentifiers(4) 3}
-
-selectedAttributeTypes ID ::= {module selectedAttributeTypes(5) 3}
-
-selectedObjectClasses ID ::= {module selectedObjectClasses(6) 3}
-
-authenticationFramework ID ::= {module authenticationFramework(7) 3}
-
-algorithmObjectIdentifiers ID ::= {module algorithmObjectIdentifiers(8) 3}
-
-directoryObjectIdentifiers ID ::= {module directoryObjectIdentifiers(9) 3}
-
-upperBounds ID ::= {module upperBounds(10) 3}
-
-dap ID ::= {module dap(11) 3}
-
-dsp ID ::= {module dsp(12) 3}
-
-distributedDirectoryOIDs ID ::= {module distributedDirectoryOIDs(13) 3}
-
-directoryShadowOIDs ID ::= {module directoryShadowOIDs(14) 3}
-
-directoryShadowAbstractService ID ::=
- {module directoryShadowAbstractService(15) 3}
-
-disp ID ::= {module disp(16) 3}
-
-dop ID ::= {module dop(17) 3}
-
-opBindingManagement ID ::= {module opBindingManagement(18) 3}
-
-opBindingOIDs ID ::= {module opBindingOIDs(19) 3}
-
-hierarchicalOperationalBindings ID ::=
- {module hierarchicalOperationalBindings(20) 3}
-
-dsaOperationalAttributeTypes ID ::= {module dsaOperationalAttributeTypes(22) 3}
-
-schemaAdministration ID ::= {module schemaAdministration(23) 3}
-
-basicAccessControl ID ::= {module basicAccessControl(24) 3}
-
-directoryOperationalBindingTypes ID ::=
- {module directoryOperationalBindingTypes(25) 3}
-
-certificateExtensions ID ::= {module certificateExtensions(26) 0}
-
-directoryManagement ID ::= {module directoryManagement(27) 1}
-
-enhancedSecurity ID ::= {module enhancedSecurity(28) 1}
-
-iDMProtocolSpecification ID ::= {module iDMProtocolSpecification(30) 4}
-
-directoryIDMProtocols ID ::= {module directoryIDMProtocols(31) 4}
-
--- directorySecurityExchanges ID ::= {module directorySecurityExchanges (29) 1}
--- synonyms
-id-oc ID ::=
- objectClass
-
-id-at ID ::= attributeType
-
-id-as ID ::= abstractSyntax
-
-id-mr ID ::= matchingRule
-
-id-nf ID ::= nameForm
-
-id-sc ID ::= subentry
-
-id-oa ID ::= operationalAttributeType
-
-id-ob ID ::= operationalBinding
-
-id-doa ID ::= dsaOperationalAttribute
-
-id-kmr ID ::= knowledgeMatchingRule
-
-id-soc ID ::= schemaObjectClass
-
-id-soa ID ::= schemaOperationalAttribute
-
-id-ar ID ::= administrativeRoles
-
-id-aca ID ::= accessControlAttribute
-
-id-ac ID ::= applicationContext
-
-id-rosObject ID ::= rosObject
-
-id-contract ID ::= contract
-
-id-package ID ::= package
-
-id-acScheme ID ::= accessControlSchemes
-
-id-ce ID ::= certificateExtension
-
-id-mgt ID ::= managementObject
-
-id-idm ID ::= idmProtocol
-
-id-avc ID ::= attributeValueContext
-
--- id-se ID ::= securityExchange
-id-pr ID ::= problem
-
-id-not ID ::= notification
-
-id-mre ID ::= matchingRestriction
-
-id-cat ID ::= controlAttributeType
-
--- obsolete module identifiers
--- usefulDefinition ID ::= {module 0}
--- informationFramework ID ::= {module 1}
--- directoryAbstractService ID ::= {module 2}
--- distributedOperations ID ::= {module 3}
--- protocolObjectIdentifiers ID ::= {module 4}
--- selectedAttributeTypes ID ::= {module 5}
--- selectedObjectClasses ID ::= {module 6}
--- authenticationFramework ID ::= {module 7}
--- algorithmObjectIdentifiers ID ::= {module 8}
--- directoryObjectIdentifiers ID ::= {module 9}
--- upperBounds ID ::= {module 10}
--- dap ID ::= {module 11}
--- dsp ID ::= {module 12}
--- distributedDirectoryObjectIdentifiers ID ::= {module 13}
--- unused module identifiers
--- directoryShadowOIDs ID ::= {module 14}
--- directoryShadowAbstractService ID ::= {module 15}
--- disp ID ::= {module 16}
--- dop ID ::= {module 17}
--- opBindingManagement ID ::= {module 18}
--- opBindingOIDs ID ::= {module 19}
--- hierarchicalOperationalBindings ID ::= {module 20}
--- dsaOperationalAttributeTypes ID ::= {module 22}
--- schemaAdministration ID ::= {module 23}
--- basicAccessControl ID ::= {module 24}
--- operationalBindingOIDs ID ::= {module 25}
-END -- UsefulDefinitions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/ValueTest.asn b/lib/asn1/test/asn1_bin_SUITE_data/ValueTest.asn
deleted file mode 100644
index dae9ae498a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/ValueTest.asn
+++ /dev/null
@@ -1,53 +0,0 @@
-ValueTest DEFINITIONS ::=
-
-BEGIN
-
---Criticality ::= ENUMERATED { reject, ignore, notify }(reject)
-
---Ignore ::= Criticality(ignore)
-
---SubCriticality ::= Criticality(reject|notify)
-
-INNL ::= INTEGER {zero(0),one(1),ten(10)}
-BSNNL ::= BIT STRING {zero(0),one(1),two(2)}
-RadioButton ::= ENUMERATED {button1(0),button2(1),button3(2)}
-
--- OTP-6695
-vANY ANY ::= INTEGER:12
-
--- basic type value test for coverage
-vBOOLEAN BOOLEAN ::= TRUE
-vINTEGER INTEGER ::= 12
-vINTEGERNNL INNL ::= zero
-vENUMERATED RadioButton ::= button1
-vBS BSNNL ::= {zero,two}
-vNULL NULL ::= NULL
-vOS OCTET STRING ::= '313233'H
-vOD OBJECT IDENTIFIER ::= {2 1 1}
-
-
---Character strings
-numericstring NumericString ::= "01234567"
-printablestring PrintableString ::= "PrintableString"
-visiblestring VisibleString ::= "VisibleString"
-cr IA5String ::= {0,13}
-ia5string1 IA5String ::= {"First line",cr, "Second line"}
-ia5string2 IA5String ::= {{5,5},{4,4},{6,6}}
-teletexstring TeletexString ::= "TeletexString"
-videotexstring VideotexString ::= "VideotexString"
-utctime UTCTime ::= "97100211-0500"
-generalizedtime GeneralizedTime ::= "19971002103130.5"
-objectdescriptor ObjectDescriptor ::= "ObjectDescriptor"
-graphicstring GraphicString ::= "GraphicString"
-generalstring GeneralString ::= "GeneralString"
-bmpstring1 BMPString ::= "BMPString"
---bmpstring2 BMPString ::= [{0,0,0,66},{0,0,0,77},{0,0,0,80},{0,0,0,115},{0,0,0,116},{0,0,0,114},{0,0,0,105},{0,0,0,110},{0,0,0,103}]
-latinCapitalLetterA UniversalString ::= {0,0,0,65}
-greekCapitalLetterSigma UniversalString ::= {0,0,3,145}
-my-universalstring UniversalString ::= {"This is a capital A: ",
- latinCapitalLetterA,
- ", and a capital sigma: ",
- greekCapitalLetterSigma,
- "; try and spot the difference!"}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/XSeq.py b/lib/asn1/test/asn1_bin_SUITE_data/XSeq.py
deleted file mode 100644
index b068ab4393..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/XSeq.py
+++ /dev/null
@@ -1,42 +0,0 @@
-XSeq DEFINITIONS ::=
-BEGIN
-
--- F.2.10.2
--- Use a sequence type to model a collection of variables whose
--- types are the same,
--- whose number is known and modest, and whose order is significant,
--- provided that the
--- makeup of the collection is unlikely to change from one version
--- of the protocol to the next.
--- EXAMPLE
-
-NamesOfOfficers ::= SEQUENCE {
- president VisibleString,
- vicePresident VisibleString,
- secretary VisibleString}
-
-acmeCorp NamesOfOfficers ::= {
- president "Jane Doe",
- vicePresident "John Doe",
- secretary "Joe Doe"}
-
--- F.2.10.3
--- Use a sequence type to model a collection of variables whose types differ,
--- whose number is known and modest, and whose order is significant,
--- provided that
--- the makeup of the collection is unlikely to change from one version
--- of the protocol to the next.
--- EXAMPLE
-
-Credentials ::= SEQUENCE {
- userName VisibleString,
- password VisibleString,
- accountNumber INTEGER}
-
--- Empty SEQUENCE stupid but just for test
-BasicCallCategories ::= SEQUENCE
-{
- ... -- So far, no specific categories identified
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/XSeqOf.py b/lib/asn1/test/asn1_bin_SUITE_data/XSeqOf.py
deleted file mode 100644
index f9fee92e56..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/XSeqOf.py
+++ /dev/null
@@ -1,19 +0,0 @@
-XSeqOf DEFINITIONS ::=
-BEGIN
-
--- F.2.10.1
--- Use a sequence-of type to model a collection of variables whose
--- types are the same,
--- whose number is large or unpredictable, and whose order is significant.
--- EXAMPLE
-
-NamesOfMemberNations ::= SEQUENCE OF VisibleString
--- in alphabetical order
-
-firstTwo NamesOfMemberNations ::= {"Australia", "Austria"}
-
-DayNames1 ::= SEQUENCE SIZE(7) OF VisibleString
-DayNames2 ::= SEQUENCE SIZE(1..7) OF VisibleString
-DayNames3 ::= SEQUENCE (SIZE(7)) OF VisibleString
-DayNames4 ::= SEQUENCE (SIZE(1..7)) OF VisibleString
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/XSet.py b/lib/asn1/test/asn1_bin_SUITE_data/XSet.py
deleted file mode 100644
index 39e58a39ab..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/XSet.py
+++ /dev/null
@@ -1,47 +0,0 @@
-XSet DEFINITIONS ::=
-BEGIN
-
--- F.2.11.1
--- Use a set type to model a collection of variables whose number is
--- known and modest
--- and whose order is insignificant. If automatic tagging is not in
--- effect, identify each
--- variable by context-specifically tagging it as shown below.
--- (With automatic tagging, the tags are not needed.)
--- EXAMPLE
-
- UserName ::= SET {
- personalName [0] VisibleString,
- organizationName [1] VisibleString,
- countryName [2] VisibleString}
-
- user UserName ::= {
- countryName "Nigeria",
- personalName "Jonas Maruba",
- organizationName "Meteorology, Ltd."}
-
- UserName2 ::= SET {
- personalName [0] VisibleString,
- organizationName [1] VisibleString OPTIONAL
- -- defaults to that of the local organization -- ,
- countryName [2] VisibleString OPTIONAL
- -- defaults to that of the local country -- }
-
--- F.2.11.3
--- Use a set type to model a collection of variables whose makeup is
--- likely to change
--- from one version of the protocol to the next.
--- Identify each variable by context-specifically
--- tagging it to retain control of the tags used.
--- EXAMPLE
-
- UserName3 ::= SET {
- personalName [0] VisibleString,
- organizationName [1] VisibleString OPTIONAL ,
- -- defaults to that of the local organization
- countryName [2] VisibleString OPTIONAL
- -- defaults to that of the local country
- -- other optional attributes are for further study --}
- user3 UserName3 ::= { personalName "Jonas Maruba" }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/XSetOf.py b/lib/asn1/test/asn1_bin_SUITE_data/XSetOf.py
deleted file mode 100644
index 93337d0c33..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/XSetOf.py
+++ /dev/null
@@ -1,12 +0,0 @@
-XSetOf DEFINITIONS ::=
-BEGIN
-
--- F.2.11.4
---Use a set-of type to model a collection of variables whose types are
--- the same and whose order is insignificant.
--- EXAMPLE
-
- Keywords ::= SET OF VisibleString -- in arbitrary order
- someASN1Keywords Keywords ::= {"INTEGER", "BOOLEAN", "REAL"}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg1.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg1.val
deleted file mode 100644
index 7802193dd2..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg1.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg10.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg10.val
deleted file mode 100644
index 8ba4a710ba..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg10.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg11.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg11.val
deleted file mode 100644
index c2298be3d9..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg11.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg12.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg12.val
deleted file mode 100644
index cb5c0c666c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg12.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg13.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg13.val
deleted file mode 100644
index 3fe1df73bb..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg13.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg14.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg14.val
deleted file mode 100644
index 17ad9159c5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg14.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg15.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg15.val
deleted file mode 100644
index 4ef840762d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg15.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg16.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg16.val
deleted file mode 100644
index 5252c4da38..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg16.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg17.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg17.val
deleted file mode 100644
index 8e040d78a2..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg17.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg18.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg18.val
deleted file mode 100644
index 0980cd37d4..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg18.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg19.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg19.val
deleted file mode 100644
index c49f885c71..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg19.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg2.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg2.val
deleted file mode 100644
index eeb8a5fb90..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg2.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg20.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg20.val
deleted file mode 100644
index 7b55708fa6..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg20.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg21.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg21.val
deleted file mode 100644
index 108eeb8b07..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg21.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg22.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg22.val
deleted file mode 100644
index 3d9f9fefcf..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg22.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg23.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg23.val
deleted file mode 100644
index 61a329a76a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg23.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg24.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg24.val
deleted file mode 100644
index 55adab5e8f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg24.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg25.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg25.val
deleted file mode 100644
index d351fb575a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg25.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg3.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg3.val
deleted file mode 100644
index 01b7a1335a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg3.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg4.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg4.val
deleted file mode 100644
index 462033fa84..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg4.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg5.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg5.val
deleted file mode 100644
index 78bdaa3200..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg5.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg6.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg6.val
deleted file mode 100644
index 24af9044a8..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg6.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg7.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg7.val
deleted file mode 100644
index ab028e7128..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg7.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg8.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg8.val
deleted file mode 100644
index 2d42b73c0c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg8.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg9.val b/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg9.val
deleted file mode 100644
index 3581dc033a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/megacomessages/Msg9.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/AuthenticationFramework.asn b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/AuthenticationFramework.asn
deleted file mode 100644
index 5cfa9062f0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/AuthenticationFramework.asn
+++ /dev/null
@@ -1,290 +0,0 @@
--- Module AuthenticationFramework (X.509:08/1997)
-
-AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-at, id-mr, informationFramework, upperBounds, selectedAttributeTypes,
- basicAccessControl, certificateExtensions
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Name, ATTRIBUTE, AttributeType, MATCHING-RULE, Attribute
- FROM InformationFramework informationFramework
- ub-user-password
- FROM UpperBounds upperBounds
- AuthenticationLevel
- FROM BasicAccessControl basicAccessControl
- UniqueIdentifier, octetStringMatch
- FROM SelectedAttributeTypes selectedAttributeTypes
- certificateExactMatch, certificatePairExactMatch, certificateListExactMatch,
- GeneralNames
- FROM CertificateExtensions certificateExtensions;
-
--- basic certificate definition
-Certificate ::=
- SIGNED
- {SEQUENCE {version [0] Version DEFAULT v1,
- serialNumber CertificateSerialNumber,
- signature AlgorithmIdentifier,
- issuer Name,
- validity Validity,
- subject Name,
- subjectPublicKeyInfo SubjectPublicKeyInfo,
- issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
- -- if present, version must be v2 or v3
- subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
- -- if present, version must be v2 or v3
- extensions [3] Extensions OPTIONAL
- -- If present, version must be v3 -- }}
-
-Version ::= INTEGER {v1(0), v2(1), v3(2)}
-
-CertificateSerialNumber ::= INTEGER
-
-AlgorithmIdentifier ::= SEQUENCE {
- algorithm ALGORITHM.&id({SupportedAlgorithms}),
- parameters ALGORITHM.&Type({SupportedAlgorithms}{@algorithm}) OPTIONAL
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the parameters component of AlgorithmIdentifier.
-SupportedAlgorithms ALGORITHM ::=
-{...}
-
-Validity ::= SEQUENCE {notBefore Time,
- notAfter Time
-}
-
-SubjectPublicKeyInfo ::= SEQUENCE {
- algorithm AlgorithmIdentifier,
- subjectPublicKey BIT STRING
-}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-Extensions ::= SEQUENCE OF Extension
-
--- For those extensions where ordering of individual extensions within the SEQUENCE is significant, the
--- specification of those individual extensions shall include the rules for the significance of the order therein
-Extension ::= SEQUENCE {
- extnId EXTENSION.&id({ExtensionSet}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING-- contains a DER encoding of a value of type &ExtnType
--- for the extension object identified by extnId
-}
-
-ExtensionSet EXTENSION ::=
- {...}
-
-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
- &ExtnType
-}WITH SYNTAX {SYNTAX &ExtnType
- IDENTIFIED BY &id
-}
-
--- other certificate constructs
-Certificates ::= SEQUENCE {
- userCertificate Certificate,
- certificationPath ForwardCertificationPath OPTIONAL
-}
-
-ForwardCertificationPath ::= SEQUENCE OF CrossCertificates
-
-CrossCertificates ::= SET OF Certificate
-
-CertificationPath ::= SEQUENCE {
- userCertificate Certificate,
- theCACertificates SEQUENCE OF CertificatePair OPTIONAL
-}
-
-CertificatePair ::= SEQUENCE {
- issuedByThisCA [0] Certificate OPTIONAL,
- issuedToThisCA [1] Certificate OPTIONAL
- -- at least one of the pair shall be present
-}
-
--- Certificate Revocation List (CRL)
-CertificateList ::=
- SIGNED
- {SEQUENCE {version Version OPTIONAL,
- -- if present, version must be v2
- signature AlgorithmIdentifier,
- issuer Name,
- thisUpdate Time,
- nextUpdate Time OPTIONAL,
- revokedCertificates
- SEQUENCE OF
- SEQUENCE {userCertificate CertificateSerialNumber,
- revocationDate Time,
- crlEntryExtensions Extensions OPTIONAL} OPTIONAL,
- crlExtensions [0] Extensions OPTIONAL}}
-
--- attribute certificate
-AttributeCertificationPath ::= SEQUENCE {
- attributeCertificate AttributeCertificate,
- acPath SEQUENCE OF ACPathData OPTIONAL
-}
-
-ACPathData ::= SEQUENCE {
- certificate [0] Certificate OPTIONAL,
- attributeCertificate [1] AttributeCertificate OPTIONAL
-}
-
-attributeCertificate ATTRIBUTE ::= {
- WITH SYNTAX AttributeCertificate
- EQUALITY MATCHING RULE attributeCertificateMatch
- ID id-at-attributeCertificate
-}
-
-AttributeCertificate ::= SIGNED{AttributeCertificateInfo}
-
-AttributeCertificateInfo ::= SEQUENCE {
- version Version DEFAULT v1,
- subject
- CHOICE {baseCertificateID [0] IssuerSerial, -- associated with a Public Key Certificate--
- subjectName [1] GeneralNames}, -- associated with a name
- issuer GeneralNames, -- CA issuing the attribute certificate
- signature AlgorithmIdentifier,
- serialNumber CertificateSerialNumber,
- attCertValidityPeriod AttCertValidityPeriod,
- attributes SEQUENCE OF Attribute,
- issuerUniqueID UniqueIdentifier OPTIONAL,
- extensions Extensions OPTIONAL
-}
-
-IssuerSerial ::= SEQUENCE {
- issuer GeneralNames,
- serial CertificateSerialNumber,
- issuerUID UniqueIdentifier OPTIONAL
-}
-
-AttCertValidityPeriod ::= SEQUENCE {
- notBeforeTime GeneralizedTime,
- notAfterTime GeneralizedTime
-}
-
-attributeCertificateMatch MATCHING-RULE ::= {
- SYNTAX AttributeCertificateAssertion
- ID id-mr-attributeCertificateMatch
-}
-
-AttributeCertificateAssertion ::= SEQUENCE {
- subject
- [0] CHOICE {baseCertificateID [0] IssuerSerial,
- subjectName [1] Name} OPTIONAL,
- issuer [1] Name OPTIONAL,
- attCertValidity [2] GeneralizedTime OPTIONAL,
- attType [3] SET OF AttributeType OPTIONAL
-}
-
--- At least one component of the sequence must be present
--- attribute types
-userPassword ATTRIBUTE ::= {
- WITH SYNTAX OCTET STRING(SIZE (0..ub-user-password))
- EQUALITY MATCHING RULE octetStringMatch
- ID id-at-userPassword
-}
-
-userCertificate ATTRIBUTE ::= {
- WITH SYNTAX Certificate
- EQUALITY MATCHING RULE certificateExactMatch
- ID id-at-userCertificate
-}
-
-cACertificate ATTRIBUTE ::= {
- WITH SYNTAX Certificate
- EQUALITY MATCHING RULE certificateExactMatch
- ID id-at-cAcertificate
-}
-
-crossCertificatePair ATTRIBUTE ::= {
- WITH SYNTAX CertificatePair
- EQUALITY MATCHING RULE certificatePairExactMatch
- ID id-at-crossCertificatePair
-}
-
-authorityRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-authorityRevocationList
-}
-
-certificateRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-certificateRevocationList
-}
-
-attributeCertificateRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- ID id-at-attributeCertificateRevocationList
-}
-
--- information object classes
-ALGORITHM ::= TYPE-IDENTIFIER
-
--- parameterized types
-HASH{ToBeHashed} ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- hashValue
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying a hashing procedure to the DER-encoded octets
- -- of a value of -- ToBeHashed})
-}
-
-ENCRYPTED-HASH{ToBeSigned} ::=
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying a hashing procedure to the DER-encoded octets
- -- of a value of --ToBeSigned -- and then applying an encipherment procedure to those octets --})
-
-ENCRYPTED{ToBeEnciphered} ::=
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying an encipherment procedure
- -- to the BER-encoded octets of a value of --ToBeEnciphered})
-
-SIGNATURE{ToBeSigned} ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- encrypted ENCRYPTED-HASH{ToBeSigned}
-}
-
-SIGNED{ToBeSigned} ::= SEQUENCE {
- toBeSigned ToBeSigned,
- COMPONENTS OF SIGNATURE{ToBeSigned}
-}
-
--- object identifier assignments
-id-at-userPassword OBJECT IDENTIFIER ::=
- {id-at 35}
-
-id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
-
-id-at-cAcertificate OBJECT IDENTIFIER ::= {id-at 37}
-
-id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
-
-id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
-
-id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
-
-id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
-
-id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
-
-id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/BasicAccessControl.asn b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/BasicAccessControl.asn
deleted file mode 100644
index d8b2b687ae..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/BasicAccessControl.asn
+++ /dev/null
@@ -1,184 +0,0 @@
--- Module BasicAccessControl (X.501:08/1997)
-BasicAccessControl {joint-iso-itu-t ds(5) module(1) basicAccessControl(24) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-aca, id-acScheme, informationFramework, upperBounds,
- selectedAttributeTypes, directoryAbstractService
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ATTRIBUTE, AttributeType, DistinguishedName, ContextAssertion,
- SubtreeSpecification, SupportedAttributes, MATCHING-RULE,
- objectIdentifierMatch, Refinement
- FROM InformationFramework informationFramework
- Filter
- FROM DirectoryAbstractService directoryAbstractService
- ub-tag
- FROM UpperBounds upperBounds
- NameAndOptionalUID, directoryStringFirstComponentMatch, DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes;
-
--- types
-ACIItem ::= SEQUENCE {
- identificationTag DirectoryString{ub-tag},
- precedence Precedence,
- authenticationLevel AuthenticationLevel,
- itemOrUserFirst
- CHOICE {itemFirst
- [0] SEQUENCE {protectedItems ProtectedItems,
- itemPermissions SET OF ItemPermission},
- userFirst
- [1] SEQUENCE {userClasses UserClasses,
- userPermissions SET OF UserPermission}}
-}
-
-Precedence ::= INTEGER(0..255)
-
-ProtectedItems ::= SEQUENCE {
- entry [0] NULL OPTIONAL,
- allUserAttributeTypes [1] NULL OPTIONAL,
- attributeType
- [2] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- allAttributeValues
- [3] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- allUserAttributeTypesAndValues [4] NULL OPTIONAL,
- attributeValue
- [5] SET SIZE (1..MAX) OF AttributeTypeAndValue OPTIONAL,
- selfValue
- [6] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- rangeOfValues [7] Filter OPTIONAL,
- maxValueCount
- [8] SET SIZE (1..MAX) OF MaxValueCount OPTIONAL,
- maxImmSub [9] INTEGER OPTIONAL,
- restrictedBy
- [10] SET SIZE (1..MAX) OF RestrictedValue OPTIONAL,
- contexts
- [11] SET SIZE (1..MAX) OF ContextAssertion OPTIONAL,
- classes [12] Refinement OPTIONAL
-}
-
-MaxValueCount ::= SEQUENCE {type AttributeType,
- maxCount INTEGER
-}
-
-RestrictedValue ::= SEQUENCE {type AttributeType,
- valuesIn AttributeType
-}
-
-UserClasses ::= SEQUENCE {
- allUsers [0] NULL OPTIONAL,
- thisEntry [1] NULL OPTIONAL,
- name [2] SET SIZE (1..MAX) OF NameAndOptionalUID OPTIONAL,
- userGroup [3] SET SIZE (1..MAX) OF NameAndOptionalUID OPTIONAL,
- -- dn component must be the name of an
- -- entry of GroupOfUniqueNames
- subtree [4] SET SIZE (1..MAX) OF SubtreeSpecification OPTIONAL
-}
-
-ItemPermission ::= SEQUENCE {
- precedence Precedence OPTIONAL,
- -- defaults to precedence in ACIItem
- userClasses UserClasses,
- grantsAndDenials GrantsAndDenials
-}
-
-UserPermission ::= SEQUENCE {
- precedence Precedence OPTIONAL,
- -- defaults to precedence in ACIItem
- protectedItems ProtectedItems,
- grantsAndDenials GrantsAndDenials
-}
-
-AuthenticationLevel ::= CHOICE {
- basicLevels
- SEQUENCE {level ENUMERATED {none(0), simple(1), strong(2)},
- localQualifier INTEGER OPTIONAL,
- signed BOOLEAN DEFAULT FALSE},
- other EXTERNAL
-}
-
-GrantsAndDenials ::= BIT STRING {
- -- permissions that may be used in conjunction
- -- with any component of ProtectedItems
- grantAdd(0), denyAdd(1), grantDiscloseOnError(2), denyDiscloseOnError(3),
- grantRead(4), denyRead(5), grantRemove(6),
- denyRemove(7),
- -- permissions that may be used only in conjunction
- -- with the entry component
- grantBrowse(8), denyBrowse(9), grantExport(10), denyExport(11),
- grantImport(12), denyImport(13), grantModify(14), denyModify(15),
- grantRename(16), denyRename(17), grantReturnDN(18),
- denyReturnDN(19),
- -- permissions that may be used in conjunction
- -- with any component, except entry, of ProtectedItems
- grantCompare(20), denyCompare(21), grantFilterMatch(22), denyFilterMatch(23),
- grantInvoke(24), denyInvoke(25)}
-
-AttributeTypeAndValue ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type})
-}
-
--- attributes
-accessControlScheme ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- USAGE directoryOperation
- ID id-aca-accessControlScheme
-}
-
-prescriptiveACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-prescriptiveACI
-}
-
-entryACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-entryACI
-}
-
-subentryACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-subentryACI
-}
-
--- object identifier assignments
--- attributes
-id-aca-accessControlScheme OBJECT IDENTIFIER ::=
- {id-aca 1}
-
-id-aca-prescriptiveACI OBJECT IDENTIFIER ::= {id-aca 4}
-
-id-aca-entryACI OBJECT IDENTIFIER ::= {id-aca 5}
-
-id-aca-subentryACI OBJECT IDENTIFIER ::= {id-aca 6}
-
--- access control schemes -
-basicAccessControlScheme OBJECT IDENTIFIER ::=
- {id-acScheme 1}
-
-simplifiedAccessControlScheme OBJECT IDENTIFIER ::= {id-acScheme 2}
-
-rule-based-access-control OBJECT IDENTIFIER ::= {id-acScheme 3}
-
-rule-and-basic-access-control OBJECT IDENTIFIER ::= {id-acScheme 4}
-
-rule-and-simple-access-control OBJECT IDENTIFIER ::= {id-acScheme 5}
-
-END -- BasicAccessControl
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/CertificateExtensions.asn b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/CertificateExtensions.asn
deleted file mode 100644
index 0daf2208e9..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/CertificateExtensions.asn
+++ /dev/null
@@ -1,498 +0,0 @@
--- Module CertificateExtensions (X.509:08/1997)
-
-CertificateExtensions {joint-iso-itu-t ds(5) module(1)
- certificateExtensions(26) 0} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS ALL
-IMPORTS
- id-at, id-ce, id-mr, informationFramework, authenticationFramework,
- selectedAttributeTypes, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Name, RelativeDistinguishedName, ATTRIBUTE, Attribute, MATCHING-RULE
- FROM InformationFramework informationFramework
- CertificateSerialNumber, CertificateList, AlgorithmIdentifier, EXTENSION,
- Time
- FROM AuthenticationFramework authenticationFramework
- DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes
- ub-name
- FROM UpperBounds upperBounds
- ORAddress
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- Unless explicitly noted otherwise, there is no significance to the ordering
--- of components of a SEQUENCE OF construct in this Specification.
--- Key and policy information extensions
-authorityKeyIdentifier EXTENSION ::= {
- SYNTAX AuthorityKeyIdentifier
- IDENTIFIED BY id-ce-authorityKeyIdentifier
-}
-
-AuthorityKeyIdentifier ::= SEQUENCE {
- keyIdentifier [0] KeyIdentifier OPTIONAL,
- authorityCertIssuer [1] GeneralNames OPTIONAL,
- authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- authorityCertIssuer PRESENT,
- authorityCertSerialNumber PRESENT
- } |
- WITH COMPONENTS {
- ...,
- authorityCertIssuer ABSENT,
- authorityCertSerialNumber ABSENT
- })
-
-KeyIdentifier ::= OCTET STRING
-
-subjectKeyIdentifier EXTENSION ::= {
- SYNTAX SubjectKeyIdentifier
- IDENTIFIED BY id-ce-subjectKeyIdentifier
-}
-
-SubjectKeyIdentifier ::= KeyIdentifier
-
-keyUsage EXTENSION ::= {SYNTAX KeyUsage
- IDENTIFIED BY id-ce-keyUsage
-}
-
-KeyUsage ::= BIT STRING {
- digitalSignature(0), nonRepudiation(1), keyEncipherment(2),
- dataEncipherment(3), keyAgreement(4), keyCertSign(5), cRLSign(6),
- encipherOnly(7), decipherOnly(8)}
-
-extKeyUsage EXTENSION ::= {
- SYNTAX SEQUENCE SIZE (1..MAX) OF KeyPurposeId
- IDENTIFIED BY id-ce-extKeyUsage
-}
-
-KeyPurposeId ::= OBJECT IDENTIFIER
-
-privateKeyUsagePeriod EXTENSION ::= {
- SYNTAX PrivateKeyUsagePeriod
- IDENTIFIED BY id-ce-privateKeyUsagePeriod
-}
-
-PrivateKeyUsagePeriod ::= SEQUENCE {
- notBefore [0] GeneralizedTime OPTIONAL,
- notAfter [1] GeneralizedTime OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- notBefore PRESENT
- } | WITH COMPONENTS {
- ...,
- notAfter PRESENT
- })
-
-certificatePolicies EXTENSION ::= {
- SYNTAX CertificatePoliciesSyntax
- IDENTIFIED BY id-ce-certificatePolicies
-}
-
-CertificatePoliciesSyntax ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
-
-PolicyInformation ::= SEQUENCE {
- policyIdentifier CertPolicyId,
- policyQualifiers SEQUENCE SIZE (1..MAX) OF PolicyQualifierInfo OPTIONAL
-}
-
-CertPolicyId ::= OBJECT IDENTIFIER
-
-PolicyQualifierInfo ::= SEQUENCE {
- policyQualifierId CERT-POLICY-QUALIFIER.&id({SupportedPolicyQualifiers}),
- qualifier
- CERT-POLICY-QUALIFIER.&Qualifier
- ({SupportedPolicyQualifiers}{@policyQualifierId}) OPTIONAL
-}
-
-SupportedPolicyQualifiers CERT-POLICY-QUALIFIER ::=
- {...}
-
-CERT-POLICY-QUALIFIER ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Qualifier OPTIONAL
-}WITH SYNTAX {POLICY-QUALIFIER-ID &id
- [QUALIFIER-TYPE &Qualifier]
-}
-
-policyMappings EXTENSION ::= {
- SYNTAX PolicyMappingsSyntax
- IDENTIFIED BY id-ce-policyMappings
-}
-
-PolicyMappingsSyntax ::=
- SEQUENCE SIZE (1..MAX) OF
- SEQUENCE {issuerDomainPolicy CertPolicyId,
- subjectDomainPolicy CertPolicyId}
-
-supportedAlgorithms ATTRIBUTE ::= {
- WITH SYNTAX SupportedAlgorithm
- EQUALITY MATCHING RULE algorithmIdentifierMatch
- ID id-at-supportedAlgorithms
-}
-
-SupportedAlgorithm ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- intendedUsage [0] KeyUsage OPTIONAL,
- intendedCertificatePolicies [1] CertificatePoliciesSyntax OPTIONAL
-}
-
--- Certificate subject and certificate issuer attributes extensions
-subjectAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-subjectAltName
-}
-
-GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
-
-GeneralName ::= CHOICE {
- otherName [0] INSTANCE OF OTHER-NAME,
- rfc822Name [1] IA5String,
- dNSName [2] IA5String,
- x400Address [3] ORAddress,
- directoryName [4] Name,
- ediPartyName [5] EDIPartyName,
- uniformResourceIdentifier [6] IA5String,
- iPAddress [7] OCTET STRING,
- registeredID [8] OBJECT IDENTIFIER
-}
-
-OTHER-NAME ::= TYPE-IDENTIFIER
-
-EDIPartyName ::= SEQUENCE {
- nameAssigner [0] DirectoryString{ub-name} OPTIONAL,
- partyName [1] DirectoryString{ub-name}
-}
-
-issuerAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-issuerAltName
-}
-
-subjectDirectoryAttributes EXTENSION ::= {
- SYNTAX AttributesSyntax
- IDENTIFIED BY id-ce-subjectDirectoryAttributes
-}
-
-AttributesSyntax ::= SEQUENCE SIZE (1..MAX) OF Attribute
-
--- Certification path constraints extensions
-basicConstraints EXTENSION ::= {
- SYNTAX BasicConstraintsSyntax
- IDENTIFIED BY id-ce-basicConstraints
-}
-
-BasicConstraintsSyntax ::= SEQUENCE {
- cA BOOLEAN DEFAULT FALSE,
- pathLenConstraint INTEGER(0..MAX) OPTIONAL
-}
-
-nameConstraints EXTENSION ::= {
- SYNTAX NameConstraintsSyntax
- IDENTIFIED BY id-ce-nameConstraint
-}
-
-NameConstraintsSyntax ::= SEQUENCE {
- permittedSubtrees [0] GeneralSubtrees OPTIONAL,
- excludedSubtrees [1] GeneralSubtrees OPTIONAL,
- requiredNameForms [2] NameForms OPTIONAL
-}
-
-GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
-
-GeneralSubtree ::= SEQUENCE {
- base GeneralName,
- minimum [0] BaseDistance DEFAULT 0,
- maximum [1] BaseDistance OPTIONAL
-}
-
-BaseDistance ::= INTEGER(0..MAX)
-
-NameForms ::= SEQUENCE {
- basicNameForms [0] BasicNameForms OPTIONAL,
- otherNameForms [1] SEQUENCE SIZE (1..MAX) OF OBJECT IDENTIFIER OPTIONAL
-}(ALL EXCEPT ({ --none; i.e.:at least one component shall be present--}))
-
-BasicNameForms ::= BIT STRING {
- rfc822Name(0), dNSName(1), x400Address(2), directoryName(3), ediPartyName(4),
- uniformResourceIdentifier(5), iPAddress(6), registeredID(7)}(SIZE (1..MAX))
-
-policyConstraints EXTENSION ::= {
- SYNTAX PolicyConstraintsSyntax
- IDENTIFIED BY id-ce-policyConstraints
-}
-
-PolicyConstraintsSyntax ::= SEQUENCE {
- requireExplicitPolicy [0] SkipCerts OPTIONAL,
- inhibitPolicyMapping [1] SkipCerts OPTIONAL
-}
-
-SkipCerts ::= INTEGER(0..MAX)
-
-CertPolicySet ::= SEQUENCE SIZE (1..MAX) OF CertPolicyId
-
--- Basic CRL extensions
-cRLNumber EXTENSION ::= {
- SYNTAX CRLNumber
- IDENTIFIED BY id-ce-cRLNumber
-}
-
-CRLNumber ::= INTEGER(0..MAX)
-
-reasonCode EXTENSION ::= {
- SYNTAX CRLReason
- IDENTIFIED BY id-ce-reasonCode
-}
-
-CRLReason ::= ENUMERATED {
- unspecified(0), keyCompromise(1), cACompromise(2), affiliationChanged(3),
- superseded(4), cessationOfOperation(5), certificateHold(6), removeFromCRL(8)
-}
-
-instructionCode EXTENSION ::= {
- SYNTAX HoldInstruction
- IDENTIFIED BY id-ce-instructionCode
-}
-
-HoldInstruction ::= OBJECT IDENTIFIER
-
-invalidityDate EXTENSION ::= {
- SYNTAX GeneralizedTime
- IDENTIFIED BY id-ce-invalidityDate
-}
-
--- CRL distribution points and delta-CRL extensions
-cRLDistributionPoints EXTENSION ::= {
- SYNTAX CRLDistPointsSyntax
- IDENTIFIED BY id-ce-cRLDistributionPoints
-}
-
-CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
-
-DistributionPoint ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- reasons [1] ReasonFlags OPTIONAL,
- cRLIssuer [2] GeneralNames OPTIONAL
-}
-
-DistributionPointName ::= CHOICE {
- fullName [0] GeneralNames,
- nameRelativeToCRLIssuer [1] RelativeDistinguishedName
-}
-
-ReasonFlags ::= BIT STRING {
- unused(0), keyCompromise(1), caCompromise(2), affiliationChanged(3),
- superseded(4), cessationOfOperation(5), certificateHold(6)}
-
-issuingDistributionPoint EXTENSION ::= {
- SYNTAX IssuingDistPointSyntax
- IDENTIFIED BY id-ce-issuingDistributionPoint
-}
-
-IssuingDistPointSyntax ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
- onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
- onlySomeReasons [3] ReasonFlags OPTIONAL,
- indirectCRL [4] BOOLEAN DEFAULT FALSE
-}
-
-certificateIssuer EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-certificateIssuer
-}
-
-deltaCRLIndicator EXTENSION ::= {
- SYNTAX BaseCRLNumber
- IDENTIFIED BY id-ce-deltaCRLIndicator
-}
-
-BaseCRLNumber ::= CRLNumber
-
-deltaRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-deltaRevocationList
-}
-
--- Matching rules
-certificateExactMatch MATCHING-RULE ::= {
- SYNTAX CertificateExactAssertion
- ID id-mr-certificateExactMatch
-}
-
-CertificateExactAssertion ::= SEQUENCE {
- serialNumber CertificateSerialNumber,
- issuer Name
-}
-
-certificateMatch MATCHING-RULE ::= {
- SYNTAX CertificateAssertion
- ID id-mr-certificateMatch
-}
-
-CertificateAssertion ::= SEQUENCE {
- serialNumber [0] CertificateSerialNumber OPTIONAL,
- issuer [1] Name OPTIONAL,
- subjectKeyIdentifier [2] SubjectKeyIdentifier OPTIONAL,
- authorityKeyIdentifier [3] AuthorityKeyIdentifier OPTIONAL,
- certificateValid [4] Time OPTIONAL,
- privateKeyValid [5] GeneralizedTime OPTIONAL,
- subjectPublicKeyAlgID [6] OBJECT IDENTIFIER OPTIONAL,
- keyUsage [7] KeyUsage OPTIONAL,
- subjectAltName [8] AltNameType OPTIONAL,
- policy [9] CertPolicySet OPTIONAL,
- pathToName [10] Name OPTIONAL
-}
-
-AltNameType ::= CHOICE {
- builtinNameForm
- ENUMERATED {rfc822Name(1), dNSName(2), x400Address(3), directoryName(4),
- ediPartyName(5), uniformResourceIdentifier(6), iPAddress(7),
- registeredId(8)},
- otherNameForm OBJECT IDENTIFIER
-}
-
-certificatePairExactMatch MATCHING-RULE ::= {
- SYNTAX CertificatePairExactAssertion
- ID id-mr-certificatePairExactMatch
-}
-
-CertificatePairExactAssertion ::= SEQUENCE {
- forwardAssertion [0] CertificateExactAssertion OPTIONAL,
- reverseAssertion [1] CertificateExactAssertion OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- forwardAssertion PRESENT
- } | WITH COMPONENTS {
- ...,
- reverseAssertion PRESENT
- })
-
-certificatePairMatch MATCHING-RULE ::= {
- SYNTAX CertificatePairAssertion
- ID id-mr-certificatePairMatch
-}
-
-CertificatePairAssertion ::= SEQUENCE {
- forwardAssertion [0] CertificateAssertion OPTIONAL,
- reverseAssertion [1] CertificateAssertion OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- forwardAssertion PRESENT
- } | WITH COMPONENTS {
- ...,
- reverseAssertion PRESENT
- })
-
-certificateListExactMatch MATCHING-RULE ::= {
- SYNTAX CertificateListExactAssertion
- ID id-mr-certificateListExactMatch
-}
-
-CertificateListExactAssertion ::= SEQUENCE {
- issuer Name,
- thisUpdate Time,
- distributionPoint DistributionPointName OPTIONAL
-}
-
-certificateListMatch MATCHING-RULE ::= {
- SYNTAX CertificateListAssertion
- ID id-mr-certificateListMatch
-}
-
-CertificateListAssertion ::= SEQUENCE {
- issuer Name OPTIONAL,
- minCRLNumber [0] CRLNumber OPTIONAL,
- maxCRLNumber [1] CRLNumber OPTIONAL,
- reasonFlags ReasonFlags OPTIONAL,
- dateAndTime Time OPTIONAL,
- distributionPoint [2] DistributionPointName OPTIONAL
-}
-
-algorithmIdentifierMatch MATCHING-RULE ::= {
- SYNTAX AlgorithmIdentifier
- ID id-mr-algorithmIdentifierMatch
-}
-
--- Object identifier assignments
-id-at-supportedAlgorithms OBJECT IDENTIFIER ::=
- {id-at 52}
-
-id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
-
-id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= {id-ce 9}
-
-id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 14}
-
-id-ce-keyUsage OBJECT IDENTIFIER ::= {id-ce 15}
-
-id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= {id-ce 16}
-
-id-ce-subjectAltName OBJECT IDENTIFIER ::= {id-ce 17}
-
-id-ce-issuerAltName OBJECT IDENTIFIER ::= {id-ce 18}
-
-id-ce-basicConstraints OBJECT IDENTIFIER ::= {id-ce 19}
-
-id-ce-cRLNumber OBJECT IDENTIFIER ::= {id-ce 20}
-
-id-ce-reasonCode OBJECT IDENTIFIER ::= {id-ce 21}
-
-id-ce-instructionCode OBJECT IDENTIFIER ::= {id-ce 23}
-
-id-ce-invalidityDate OBJECT IDENTIFIER ::= {id-ce 24}
-
-id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= {id-ce 27}
-
-id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 28}
-
-id-ce-certificateIssuer OBJECT IDENTIFIER ::= {id-ce 29}
-
-id-ce-nameConstraint OBJECT IDENTIFIER ::= {id-ce 30 1}
-
-id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
-
-id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32}
-
-id-ce-policyMappings OBJECT IDENTIFIER ::= {id-ce 33}
-
--- deprecated OBJECT IDENTIFIER ::= {id-ce 34}
-id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=
- {id-ce 35}
-
-id-ce-policyConstraints OBJECT IDENTIFIER ::= {id-ce 36}
-
-id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
-
-id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
-
-id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
-
-id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
-
-id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
-
-id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
-
-id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
-
-id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
-
-id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= {id-ce 54}
-
--- The following OBJECT IDENTIFIERS are not used by this Specification:
--- {id-ce 2}, {id-ce 3}, {id-ce 4}, {id-ce 5}, {id-ce 6}, {id-ce 7},
--- {id-ce 8}, {id-ce 10}, {id-ce 11}, {id-ce 12}, {id-ce 13},
--- {id-ce 22}, {id-ce 25}, {id-ce 26}, {id-ce 30}
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/InformationFramework.asn b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/InformationFramework.asn
deleted file mode 100644
index 5c26febd5b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/InformationFramework.asn
+++ /dev/null
@@ -1,868 +0,0 @@
--- Module InformationFramework (X.501:08/1997)
-InformationFramework {joint-iso-itu-t ds(5) module(1) informationFramework(1)
- 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-oc, id-at, id-mr, id-oa, id-sc, id-ar, id-nf, selectedAttributeTypes,
- directoryAbstractService, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- commonName, generalizedTimeMatch, generalizedTimeOrderingMatch, booleanMatch,
- integerMatch, integerOrderingMatch, objectIdentifierFirstComponentMatch,
- integerFirstComponentMatch, DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes
--- TypeAndContextAssertion, ServiceControlOptions, SearchControlOptions,
--- HierarchySelections, FamilyGrouping, FamilyReturn
--- FROM DirectoryAbstractService directoryAbstractService
- ub-search
- FROM UpperBounds upperBounds;
-
--- attribute data types
-Attribute ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- values
- SET SIZE (0..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
-AttributeType ::= ATTRIBUTE.&id
-
-AttributeValue ::= ATTRIBUTE.&Type
-
-Context ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Type({SupportedContexts}{@contextType}),
- fallback BOOLEAN DEFAULT FALSE
-}
-
-AttributeValueAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertion
- ATTRIBUTE.&equality-match.&AssertionType({SupportedAttributes}{@type}),
- assertedContexts
- CHOICE {allContexts [0] NULL,
- selectedContexts [1] SET SIZE (1..MAX) OF ContextAssertion
- } OPTIONAL
-}
-
-ContextAssertion ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Assertion({SupportedContexts}{@contextType})
-}
-
-AttributeTypeAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertedContexts SEQUENCE SIZE (1..MAX) OF ContextAssertion OPTIONAL
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the values component of Attribute, the value component
--- of AttributeTypeAndValue, and the assertion component of AttributeValueAssertion.
-SupportedAttributes ATTRIBUTE ::=
- {objectClass | aliasedEntryName, ...}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the context specifications
-SupportedContexts CONTEXT ::=
- {...}
-
--- naming data types
-Name ::= CHOICE { -- only one possibility for now --rdnSequence RDNSequence
-}
-
-RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
-
-DistinguishedName ::= RDNSequence
-
-RelativeDistinguishedName ::=
- SET SIZE (1..MAX) OF AttributeTypeAndDistinguishedValue
-
-AttributeTypeAndDistinguishedValue ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- primaryDistinguished BOOLEAN DEFAULT TRUE,
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {distingAttrValue
- [0] ATTRIBUTE.&Type({SupportedAttributes}{@type}) OPTIONAL,
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
--- subtree data types
-SubtreeSpecification ::= SEQUENCE {
- base [0] LocalName DEFAULT {},
- COMPONENTS OF ChopSpecification,
- specificationFilter [4] Refinement OPTIONAL
-}
-
--- empty sequence specifies whole administrative area
-LocalName ::= RDNSequence
-
-ChopSpecification ::= SEQUENCE {
- specificExclusions
- [1] SET SIZE (1..MAX) OF
- CHOICE {chopBefore [0] LocalName,
- chopAfter [1] LocalName} OPTIONAL,
- minimum [2] BaseDistance DEFAULT 0,
- maximum [3] BaseDistance OPTIONAL
-}
-
-BaseDistance ::= INTEGER(0..MAX)
-
-Refinement ::= CHOICE {
- item [0] OBJECT-CLASS.&id,
- and [1] SET OF Refinement,
- or [2] SET OF Refinement,
- not [3] Refinement
-}
-
--- OBJECT-CLASS information object class specification
-OBJECT-CLASS ::= CLASS {
- &Superclasses OBJECT-CLASS OPTIONAL,
- &kind ObjectClassKind DEFAULT structural,
- &MandatoryAttributes ATTRIBUTE OPTIONAL,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBCLASS OF &Superclasses]
- [KIND &kind]
- [MUST CONTAIN &MandatoryAttributes]
- [MAY CONTAIN &OptionalAttributes]
- ID &id
-}
-
-ObjectClassKind ::= ENUMERATED {abstract(0), structural(1), auxiliary(2)}
-
--- object classes
-top OBJECT-CLASS ::= {
- KIND abstract
- MUST CONTAIN {objectClass}
- ID id-oc-top
-}
-
-alias OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- MUST CONTAIN {aliasedEntryName}
- ID id-oc-alias
-}
-
-parent OBJECT-CLASS ::= {KIND abstract
- ID id-oc-parent
-}
-
-child OBJECT-CLASS ::= {KIND auxiliary
- ID id-oc-child
-}
-
--- ATTRIBUTE information object class specification
-ATTRIBUTE ::= CLASS {
- &derivation ATTRIBUTE OPTIONAL,
- &Type OPTIONAL, -- either &Type or &derivation required
- &equality-match MATCHING-RULE OPTIONAL,
- &ordering-match MATCHING-RULE OPTIONAL,
- &substrings-match MATCHING-RULE OPTIONAL,
- &single-valued BOOLEAN DEFAULT FALSE,
- &collective BOOLEAN DEFAULT FALSE,
- -- operational extensions
- &no-user-modification BOOLEAN DEFAULT FALSE,
- &usage AttributeUsage DEFAULT userApplications,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBTYPE OF &derivation]
- [WITH SYNTAX &Type]
- [EQUALITY MATCHING RULE &equality-match]
- [ORDERING MATCHING RULE &ordering-match]
- [SUBSTRINGS MATCHING RULE &substrings-match]
- [SINGLE VALUE &single-valued]
- [COLLECTIVE &collective]
- [NO USER MODIFICATION &no-user-modification]
- [USAGE &usage]
- ID &id
-}
-
-AttributeUsage ::= ENUMERATED {
- userApplications(0), directoryOperation(1), distributedOperation(2),
- dSAOperation(3)}
-
--- attributes
-objectClass ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-objectClass
-}
-
-aliasedEntryName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- ID id-at-aliasedEntryName
-}
-
--- MATCHING-RULE information object class specification
-MATCHING-RULE ::= CLASS {
- &ParentMatchingRules MATCHING-RULE.&id OPTIONAL,
- &AssertionType OPTIONAL,
- &uniqueMatchIndicator ATTRIBUTE.&id OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [PARENT &ParentMatchingRules]
- [SYNTAX &AssertionType]
- [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator]
- ID &id
-}
-
--- matching rules
-objectIdentifierMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierMatch
-}
-
-distinguishedNameMatch MATCHING-RULE ::= {
- SYNTAX DistinguishedName
- ID id-mr-distinguishedNameMatch
-}
-
-MAPPING-BASED-MATCHING{SelectedBy, BOOLEAN:combinable, MappingResult,
- OBJECT IDENTIFIER:matchingRule} ::= CLASS {
- &selectBy SelectedBy OPTIONAL,
- &ApplicableTo ATTRIBUTE,
- &subtypesIncluded BOOLEAN DEFAULT TRUE,
- &combinable BOOLEAN(combinable),
- &mappingResults MappingResult OPTIONAL,
- &userControl BOOLEAN DEFAULT FALSE,
- &exclusive BOOLEAN DEFAULT TRUE,
- &matching-rule MATCHING-RULE.&id(matchingRule),
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SELECT BY &selectBy]
- APPLICABLE TO &ApplicableTo
- [SUBTYPES INCLUDED &subtypesIncluded]
- COMBINABLE &combinable
- [MAPPING RESULTS &mappingResults]
- [USER CONTROL &userControl]
- [EXCLUSIVE &exclusive]
- MATCHING RULE &matching-rule
- ID &id
-}
-
--- NAME-FORM information object class specification
-NAME-FORM ::= CLASS {
- &namedObjectClass OBJECT-CLASS,
- &MandatoryAttributes ATTRIBUTE,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- NAMES &namedObjectClass
- WITH ATTRIBUTES &MandatoryAttributes
- [AND OPTIONALLY &OptionalAttributes]
- ID &id
-}
-
--- STRUCTURE-RULE class and DIT structure rule data types
-STRUCTURE-RULE ::= CLASS {
- &nameForm NAME-FORM,
- &SuperiorStructureRules STRUCTURE-RULE OPTIONAL,
- &id RuleIdentifier
-}
-WITH SYNTAX {
- NAME FORM &nameForm
- [SUPERIOR RULES &SuperiorStructureRules]
- ID &id
-}
-
-DITStructureRule ::= SEQUENCE {
- ruleIdentifier RuleIdentifier,
- -- must be unique within the scope of the subschema
- nameForm NAME-FORM.&id,
- superiorStructureRules SET SIZE (1..MAX) OF RuleIdentifier OPTIONAL
-}
-
-RuleIdentifier ::= INTEGER
-
--- CONTENT-RULE class and DIT content rule data types
-CONTENT-RULE ::= CLASS {
- &structuralClass OBJECT-CLASS.&id UNIQUE,
- &Auxiliaries OBJECT-CLASS OPTIONAL,
- &Mandatory ATTRIBUTE OPTIONAL,
- &Optional ATTRIBUTE OPTIONAL,
- &Precluded ATTRIBUTE OPTIONAL
-}
-WITH SYNTAX {
- STRUCTURAL OBJECT-CLASS &structuralClass
- [AUXILIARY OBJECT-CLASSES &Auxiliaries]
- [MUST CONTAIN &Mandatory]
- [MAY CONTAIN &Optional]
- [MUST-NOT CONTAIN &Precluded]
-}
-
-DITContentRule ::= SEQUENCE {
- structuralObjectClass OBJECT-CLASS.&id,
- auxiliaries SET SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL,
- mandatory [1] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- optional [2] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- precluded [3] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL
-}
-
-CONTEXT ::= CLASS {
- &Type ,
- &Assertion OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {WITH SYNTAX &Type
- [ASSERTED AS &Assertion]
- ID &id
-}
-
-DITContextUse ::= SEQUENCE {
- attributeType ATTRIBUTE.&id,
- mandatoryContexts [1] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL,
- optionalContexts [2] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL
-}
-
-DIT-CONTEXT-USE-RULE ::= CLASS {
- &attributeType ATTRIBUTE.&id UNIQUE,
- &Mandatory CONTEXT OPTIONAL,
- &Optional CONTEXT OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [MANDATORY CONTEXTS &Mandatory]
- [OPTIONAL CONTEXTS &Optional]
-}
-
--- system schema information objects
--- object classes
-subentry OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- KIND structural
- MUST CONTAIN {commonName | subtreeSpecification}
- ID id-sc-subentry
-}
-
-subentryNameForm NAME-FORM ::= {
- NAMES subentry
- WITH ATTRIBUTES {commonName}
- ID id-nf-subentryNameForm
-}
-
-accessControlSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-accessControlSubentry
-}
-
-collectiveAttributeSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-collectiveAttributeSubentry
-}
-
---contextAssertionSubentry OBJECT-CLASS ::= {
--- KIND auxiliary
--- MUST CONTAIN {contextAssertionDefaults}
--- ID id-sc-contextAssertionSubentry
---}
-
--- serviceAdminSubentry OBJECT-CLASS ::= {
--- KIND auxiliary
--- MUST CONTAIN {searchRules}
--- ID id-sc-serviceAdminSubentry
--- }
-
--- attributes
-createTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-createTimestamp
-}
-
-modifyTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifyTimestamp
-}
-
-subschemaTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec.X. 680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaTimestamp
-}
-
-creatorsName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-creatorsName
-}
-
-modifiersName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifiersName
-}
-
-subschemaSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaSubentryList
-}
-
-accessControlSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-accessControlSubentryList
-}
-
-collectiveAttributeSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-collectiveAttributeSubentryList
-}
-
-contextDefaultSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-contextDefaultSubentryList
-}
-
-serviceAdminSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-serviceAdminSubentryList
-}
-
-hasSubordinates ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hasSubordinates
-}
-
-administrativeRole ATTRIBUTE ::= {
- WITH SYNTAX OBJECT-CLASS.&id
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-administrativeRole
-}
-
-subtreeSpecification ATTRIBUTE ::= {
- WITH SYNTAX SubtreeSpecification
- USAGE directoryOperation
- ID id-oa-subtreeSpecification
-}
-
-collectiveExclusions ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-collectiveExclusions
-}
-
--- contextAssertionDefaults ATTRIBUTE ::= {
--- WITH SYNTAX TypeAndContextAssertion
--- EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
--- USAGE directoryOperation
--- ID id-oa-contextAssertionDefault
--- }
-
--- searchRules ATTRIBUTE ::= {
--- WITH SYNTAX SearchRuleDescription
--- EQUALITY MATCHING RULE integerFirstComponentMatch
--- USAGE directoryOperation
--- ID id-oa-searchRules
--- }
-
--- SearchRuleDescription ::= SEQUENCE {
--- COMPONENTS OF SearchRule,
--- name [28] SET SIZE (1..MAX) OF DirectoryString{ub-search} OPTIONAL,
--- description [29] DirectoryString{ub-search} OPTIONAL,
--- obsolete [30] BOOLEAN DEFAULT FALSE
--- }
-
-hierarchyLevel ATTRIBUTE ::= {
- WITH SYNTAX INTEGER
- EQUALITY MATCHING RULE integerMatch
- ORDERING MATCHING RULE integerOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyLevel
-}
-
-hierarchyBelow ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyBelow
-}
-
-hierarchyParent ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyParent
-}
-
--- SearchRule ::= SEQUENCE {
--- COMPONENTS OF SearchRuleId,
--- serviceType [1] OBJECT IDENTIFIER OPTIONAL,
--- userClass [2] INTEGER OPTIONAL,
--- inputAttributeTypes
--- [3] SEQUENCE SIZE (1..MAX) OF RequestAttribute OPTIONAL,
--- attributeCombination [4] AttributeCombination DEFAULT and:{},
--- outputAttributeTypes [5] SEQUENCE SIZE (1..MAX) OF ResultAttribute OPTIONAL,
--- defaultControls [6] ControlOptions OPTIONAL,
--- mandatoryControls [7] ControlOptions OPTIONAL,
--- searchRuleControls [8] ControlOptions OPTIONAL,
--- familyGrouping [9] FamilyGrouping OPTIONAL,
--- familyReturn [10] FamilyReturn OPTIONAL,
--- relaxation [11] RelaxationPolicy OPTIONAL,
--- additionalControl [12] SEQUENCE SIZE (1..MAX) OF AttributeType OPTIONAL,
--- allowedSubset [13] AllowedSubset DEFAULT '111'B,
--- imposedSubset [14] ImposedSubset OPTIONAL,
--- entryLimit [15] EntryLimit OPTIONAL
--- }
-
-SearchRuleId ::= SEQUENCE {id INTEGER,
- dmdId [0] OBJECT IDENTIFIER
-}
-
-AllowedSubset ::= BIT STRING {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-ImposedSubset ::= ENUMERATED {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-RequestAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- includeSubtypes [0] BOOLEAN DEFAULT FALSE,
- selectedValues
- [1] SEQUENCE SIZE (0..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}) OPTIONAL,
- defaultValues
- [2] SEQUENCE SIZE (0..MAX) OF
- SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values
- SEQUENCE OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType})
- } OPTIONAL,
- contexts [3] SEQUENCE SIZE (0..MAX) OF ContextProfile OPTIONAL,
- contextCombination [4] ContextCombination DEFAULT and:{},
- matchingUse [5] SEQUENCE SIZE (1..MAX) OF MatchingUse OPTIONAL
-}
-
-ContextProfile ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValue
- SEQUENCE SIZE (1..MAX) OF
- CONTEXT.&Assertion({SupportedContexts}{@contextType}) OPTIONAL
-}
-
-ContextCombination ::= CHOICE {
- context [0] CONTEXT.&id,
- and [1] SEQUENCE OF ContextCombination,
- or [2] SEQUENCE OF ContextCombination,
- not [3] ContextCombination
-}
-
-MatchingUse ::= SEQUENCE {
- restrictionType MATCHING-RESTRICTION.&id({SupportedMatchingRestrictions}),
- restrictionValue
- MATCHING-RESTRICTION.&Restriction
- ({SupportedMatchingRestrictions}{@restrictionType})
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the components of SupportedMatchingRestrictions
-SupportedMatchingRestrictions MATCHING-RESTRICTION ::=
- {...}
-
-AttributeCombination ::= CHOICE {
- attribute [0] AttributeType,
- and [1] SEQUENCE OF AttributeCombination,
- or [2] SEQUENCE OF AttributeCombination,
- not [3] AttributeCombination
-}
-
-ResultAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- outputValues
- CHOICE {selectedValues
- SEQUENCE SIZE (1..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}),
- matchedValuesOnly NULL} OPTIONAL,
- contexts [0] SEQUENCE SIZE (1..MAX) OF ContextProfile OPTIONAL
-}
-
-OutputValues ::= CHOICE {
- selectedValues
- SEQUENCE SIZE (1..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}),
- matchedValuesOnly NULL
-}
-
--- ControlOptions ::= SEQUENCE {
--- serviceControls [0] ServiceControlOptions DEFAULT {},
--- searchOptions [1] SearchControlOptions DEFAULT {searchAliases},
--- hierarchyOptions [2] HierarchySelections OPTIONAL
--- }
-
-EntryLimit ::= SEQUENCE {default INTEGER,
- max INTEGER
-}
-
-RelaxationPolicy ::= SEQUENCE {
- basic [0] MRMapping DEFAULT {},
- tightenings [1] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- relaxations [2] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- maximum [3] INTEGER OPTIONAL, -- mandatory if tightenings is present
- minimum [4] INTEGER DEFAULT 1
-}
-
-MRMapping ::= SEQUENCE {
- mapping [0] SEQUENCE SIZE (1..MAX) OF Mapping OPTIONAL,
- substitution [1] SEQUENCE SIZE (1..MAX) OF MRSubstitution OPTIONAL
-}
-
-Mapping ::= SEQUENCE {
- mappingFunction
- OBJECT IDENTIFIER
- (CONSTRAINED BY {-- shall be an--
-
- -- object identifier of a mapping-based matching algorithm -- }),
- level INTEGER DEFAULT 0
-}
-
-MRSubstitution ::= SEQUENCE {
- attribute AttributeType,
- oldMatchingRule [0] MATCHING-RULE.&id OPTIONAL,
- newMatchingRule [1] MATCHING-RULE.&id OPTIONAL
-}
-
--- SEARCH-RULE ::= CLASS {
--- &dmdId OBJECT IDENTIFIER,
--- &serviceType OBJECT IDENTIFIER OPTIONAL,
--- &userClass INTEGER OPTIONAL,
--- &InputAttributeTypes REQUEST-ATTRIBUTE OPTIONAL,
--- &combination AttributeCombination OPTIONAL,
--- &OutputAttributeTypes RESULT-ATTRIBUTE OPTIONAL,
--- &defaultControls ControlOptions OPTIONAL,
--- &mandatoryControls ControlOptions OPTIONAL,
--- &searchRuleControls ControlOptions OPTIONAL,
--- &familyGrouping FamilyGrouping OPTIONAL,
--- &familyReturn FamilyReturn OPTIONAL,
--- &additionalControl AttributeType OPTIONAL,
--- &relaxation RelaxationPolicy OPTIONAL,
--- &entryLimit EntryLimit OPTIONAL,
--- &allowedSubset AllowedSubset DEFAULT '111'B,
--- &imposedSubset ImposedSubset OPTIONAL,
--- &id INTEGER UNIQUE
--- }
--- WITH SYNTAX {
--- DMD ID &dmdId
--- [SERVICE-TYPE &serviceType]
--- [USER-CLASS &userClass]
--- [INPUT ATTRIBUTES &InputAttributeTypes]
--- [COMBINATION &combination]
--- [OUTPUT ATTRIBUTES &OutputAttributeTypes]
--- [DEFAULT CONTROL &defaultControls]
--- [MANDATORY CONTROL &mandatoryControls]
--- [SEARCH-RULE CONTROL &searchRuleControls]
--- [FAMILY-GROUPING &familyGrouping]
--- [FAMILY-RETURN &familyReturn]
--- [ADDITIONAL CONTROL &additionalControl]
--- [RELAXATION &relaxation]
--- [ALLOWED SUBSET &allowedSubset]
--- [IMPOSED SUBSET &imposedSubset]
--- [ENTRY LIMIT &entryLimit]
--- ID &id
--- }
-
-REQUEST-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &SelectedValues ATTRIBUTE.&Type OPTIONAL,
- &DefaultValues SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values SEQUENCE OF ATTRIBUTE.&Type
- } OPTIONAL,
- &contexts SEQUENCE OF ContextProfile OPTIONAL,
- &contextCombination ContextCombination OPTIONAL,
- &MatchingUse MatchingUse OPTIONAL,
- &includeSubtypes BOOLEAN DEFAULT FALSE
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [SELECTED VALUES &SelectedValues]
- [DEFAULT VALUES &DefaultValues]
- [CONTEXTS &contexts]
- [CONTEXT COMBINATION &contextCombination]
- [MATCHING USE &MatchingUse]
- [INCLUDE SUBTYPES &includeSubtypes]
-}
-
-RESULT-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &outputValues OutputValues OPTIONAL,
- &contexts ContextProfile OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [OUTPUT VALUES &outputValues]
- [CONTEXTS &contexts]
-}
-
-MATCHING-RESTRICTION ::= CLASS {
- &Restriction ,
- &Rules MATCHING-RULE.&id,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {RESTRICTION &Restriction
- RULES &Rules
- ID &id
-}
-
--- object identifier assignments
--- object classes
-id-oc-top OBJECT IDENTIFIER ::=
- {id-oc 0}
-
-id-oc-alias OBJECT IDENTIFIER ::= {id-oc 1}
-
-id-oc-parent OBJECT IDENTIFIER ::= {id-oc 28}
-
-id-oc-child OBJECT IDENTIFIER ::= {id-oc 29}
-
--- attributes
-id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
-
-id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-
--- matching rules
-id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
-
-id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-
--- operational attributes
-id-oa-excludeAllCollectiveAttributes OBJECT IDENTIFIER ::=
- {id-oa 0}
-
-id-oa-createTimestamp OBJECT IDENTIFIER ::= {id-oa 1}
-
-id-oa-modifyTimestamp OBJECT IDENTIFIER ::= {id-oa 2}
-
-id-oa-creatorsName OBJECT IDENTIFIER ::= {id-oa 3}
-
-id-oa-modifiersName OBJECT IDENTIFIER ::= {id-oa 4}
-
-id-oa-administrativeRole OBJECT IDENTIFIER ::= {id-oa 5}
-
-id-oa-subtreeSpecification OBJECT IDENTIFIER ::= {id-oa 6}
-
-id-oa-collectiveExclusions OBJECT IDENTIFIER ::= {id-oa 7}
-
-id-oa-subschemaTimestamp OBJECT IDENTIFIER ::= {id-oa 8}
-
-id-oa-hasSubordinates OBJECT IDENTIFIER ::= {id-oa 9}
-
-id-oa-subschemaSubentryList OBJECT IDENTIFIER ::= {id-oa 10}
-
-id-oa-accessControlSubentryList OBJECT IDENTIFIER ::= {id-oa 11}
-
-id-oa-collectiveAttributeSubentryList OBJECT IDENTIFIER ::= {id-oa 12}
-
-id-oa-contextDefaultSubentryList OBJECT IDENTIFIER ::= {id-oa 13}
-
-id-oa-contextAssertionDefault OBJECT IDENTIFIER ::= {id-oa 14}
-
-id-oa-serviceAdminSubentryList OBJECT IDENTIFIER ::= {id-oa 15}
-
-id-oa-searchRules OBJECT IDENTIFIER ::= {id-oa 16}
-
-id-oa-hierarchyLevel OBJECT IDENTIFIER ::= {id-oa 17}
-
-id-oa-hierarchyBelow OBJECT IDENTIFIER ::= {id-oa 18}
-
-id-oa-hierarchyParent OBJECT IDENTIFIER ::= {id-oa 19}
-
--- subentry classes
-id-sc-subentry OBJECT IDENTIFIER ::= {id-sc 0}
-
-id-sc-accessControlSubentry OBJECT IDENTIFIER ::= {id-sc 1}
-
-id-sc-collectiveAttributeSubentry OBJECT IDENTIFIER ::= {id-sc 2}
-
-id-sc-contextAssertionSubentry OBJECT IDENTIFIER ::= {id-sc 3}
-
-id-sc-serviceAdminSubentry OBJECT IDENTIFIER ::= {id-sc 4}
-
--- Name forms
-id-nf-subentryNameForm OBJECT IDENTIFIER ::= {id-nf 16}
-
--- administrative roles
-id-ar-autonomousArea OBJECT IDENTIFIER ::= {id-ar 1}
-
-id-ar-accessControlSpecificArea OBJECT IDENTIFIER ::= {id-ar 2}
-
-id-ar-accessControlInnerArea OBJECT IDENTIFIER ::= {id-ar 3}
-
-id-ar-subschemaAdminSpecificArea OBJECT IDENTIFIER ::= {id-ar 4}
-
-id-ar-collectiveAttributeSpecificArea OBJECT IDENTIFIER ::= {id-ar 5}
-
-id-ar-collectiveAttributeInnerArea OBJECT IDENTIFIER ::= {id-ar 6}
-
-id-ar-contextDefaultSpecificArea OBJECT IDENTIFIER ::= {id-ar 7}
-
-id-ar-serviceSpecificArea OBJECT IDENTIFIER ::= {id-ar 8}
-
-END -- InformationFramework
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/MTSAbstractService.asn b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/MTSAbstractService.asn
deleted file mode 100644
index 68a5118bc8..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/MTSAbstractService.asn
+++ /dev/null
@@ -1,2366 +0,0 @@
--- Module MTSAbstractService (X.411:06/1999)
-MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- Remote Operations
- CONNECTION-PACKAGE, CONTRACT, ERROR, OPERATION, OPERATION-PACKAGE,
- ROS-OBJECT-CLASS
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- --==
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- -- MTA Abstract Service
- internal-trace-information, trace-information
- --==
- FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mta-abstract-service(2) version-1999(1)}
- -- MS Abstract Service Extension
- forwarding-request
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- IPM Information Objects
- IPMPerRecipientEnvelopeExtensions
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- Object Identifiers
- id-att-physicalRendition-basic, id-cp-mts-connect, id-ct-mts-access,
- id-ct-mts-forced-access, id-ot-mts, id-ot-mts-user, id-pt-administration,
- id-pt-delivery, id-pt-submission, id-tok-asymmetricToken
- --==
- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Operation and Error Codes
- err-control-violates-registration,
- err-deferred-delivery-cancellation-rejected, err-delivery-control-violated,
- err-element-of-service-not-subscribed, err-inconsistent-request,
- err-message-submission-identifier-invalid,
- err-new-credentials-unacceptable,
- err-old-credentials-incorrectly-specified, err-operation-refused,
- err-originator-invalid, err-recipient-improperly-specified,
- err-register-rejected, err-remote-bind-error, err-security-error,
- err-submission-control-violated, err-unsupported-critical-function,
- op-cancel-deferred-delivery, op-change-credentials, op-delivery-control,
- op-message-delivery, op-message-submission, op-probe-submission,
- op-register, op-report-delivery, op-submission-control
- --==
- FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- mts-access-protocol(1) version-1999(1)}
- -- Directory Definitions
- Name
- --==
- FROM InformationFramework
- PresentationAddress
- --==
- FROM SelectedAttributeTypes
- ALGORITHM, AlgorithmIdentifier, Certificates, ENCRYPTED{}, SIGNATURE{},
- SIGNED{}
- --==
- FROM AuthenticationFramework
-
- -- Certificate Extensions
- CertificateAssertion
- --==
- FROM CertificateExtensions
-
- -- Upper Bounds
- ub-bit-options, ub-built-in-content-type,
- ub-built-in-encoded-information-types, ub-certificates,
- ub-common-name-length, ub-content-id-length, ub-content-length,
- ub-content-types, ub-country-name-alpha-length,
- ub-country-name-numeric-length, ub-deliverable-class, ub-diagnostic-codes,
- ub-dl-expansions, ub-domain-defined-attributes,
- ub-domain-defined-attribute-type-length,
- ub-domain-defined-attribute-value-length, ub-domain-name-length,
- ub-encoded-information-types, ub-extension-attributes, ub-extension-types,
- ub-e163-4-number-length, ub-e163-4-sub-address-length,
- ub-generation-qualifier-length, ub-given-name-length, ub-initials-length,
- ub-integer-options, ub-local-id-length, ub-mta-name-length,
- ub-mts-user-types, ub-numeric-user-id-length, ub-organization-name-length,
- ub-organizational-units, ub-organizational-unit-name-length,
- ub-orig-and-dl-expansions, ub-password-length, ub-pds-name-length,
- ub-pds-parameter-length, ub-pds-physical-address-lines,
- ub-postal-code-length, ub-privacy-mark-length, ub-queue-size,
- ub-reason-codes, ub-recipients, ub-recipient-number-for-advice-length,
- ub-redirections, ub-redirection-classes, ub-restrictions,
- ub-security-categories, ub-security-labels, ub-security-problems,
- ub-supplementary-info-length, ub-surname-length, ub-terminal-id-length,
- ub-tsap-id-length, ub-unformatted-address-length,
- ub-universal-generation-qualifier-length, ub-universal-given-name-length,
- ub-universal-initials-length, ub-universal-surname-length,
- ub-x121-address-length
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)};
-
-operationObject1 OPERATION ::= {LINKED {operationObject2}
-}
-
-operationObject2 OPERATION ::= {LINKED {operationObject3}
-}
-
-operationObject3 OPERATION ::= {LINKED {operationObject4}
-}
-
-operationObject4 OPERATION ::= {LINKED {...}
-}
-
--- Objects
-MHS-OBJECT ::= ROS-OBJECT-CLASS
-
-mts MHS-OBJECT ::= {
- INITIATES {mts-forced-access-contract}
- RESPONDS {mts-access-contract}
- ID id-ot-mts
-}
-
-mts-user MHS-OBJECT ::= {
- INITIATES {mts-access-contract}
- RESPONDS {mts-forced-access-contract}
- ID id-ot-mts-user
-}
-
--- Contracts
-mts-access-contract CONTRACT ::= {
- CONNECTION mts-connect
- INITIATOR CONSUMER OF {submission | delivery | administration}
- ID id-ct-mts-access
-}
-
-mts-forced-access-contract CONTRACT ::= {
- CONNECTION mts-connect
- RESPONDER CONSUMER OF {submission | delivery | administration}
- ID id-ct-mts-forced-access
-}
-
--- Connection package
-mts-connect CONNECTION-PACKAGE ::= {
- BIND mts-bind
- UNBIND mts-unbind
- ID id-cp-mts-connect
-}
-
--- Ports
-PORT ::= OPERATION-PACKAGE
-
-submission PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES
- {message-submission | probe-submission | cancel-deferred-delivery, ...}
- SUPPLIER INVOKES {submission-control, ...}
- ID id-pt-submission
-}
-
-delivery PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES {delivery-control, ...}
- SUPPLIER INVOKES {message-delivery | report-delivery, ...}
- ID id-pt-delivery
-}
-
-administration PORT ::= {
- OPERATIONS {change-credentials, ...}
- CONSUMER INVOKES {register, ...}
- SUPPLIER INVOKES {operationObject1, ...}
- ID id-pt-administration
-}
-
--- MTS-bind and MTS-unbind
-ABSTRACT-OPERATION ::= OPERATION
-
-ABSTRACT-ERROR ::= ERROR
-
-mts-bind ABSTRACT-OPERATION ::= {
- ARGUMENT MTSBindArgument
- RESULT MTSBindResult
- ERRORS {mts-bind-error}
-}
-
-MTSBindArgument ::= SET {
- initiator-name ObjectName,
- messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
- initiator-credentials [2] InitiatorCredentials,
- security-context [3] SecurityContext OPTIONAL,
- ...,
- extensions
- [5] SET OF ExtensionField{{MTSBindExtensions}} DEFAULT {}
-}
-
-MTSBindExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-MTSBindResult ::= SET {
- responder-name ObjectName,
- messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
- responder-credentials [2] ResponderCredentials,
- ...,
- extensions
- [5] SET OF ExtensionField{{MTSBindResultExtensions}} DEFAULT {}
-}
-
-MTSBindResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-mts-bind-error ABSTRACT-ERROR ::= {
- PARAMETER
- INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
- unacceptable-security-context(4),
- inadequate-association-confidentiality(5)}(0..ub-integer-options)
-}
-
-mts-unbind ABSTRACT-OPERATION ::= emptyUnbind
-
--- Association Control Parameters
-ObjectName ::= CHOICE {
- user-agent ORAddressAndOptionalDirectoryName,
- mTA [0] MTAName,
- message-store [4] ORAddressAndOptionalDirectoryName
-}
-
-MessagesWaiting ::= SET {
- urgent [0] DeliveryQueue,
- normal [1] DeliveryQueue,
- non-urgent [2] DeliveryQueue
-}
-
-DeliveryQueue ::= SET {
- messages [0] INTEGER(0..ub-queue-size),
- octets [1] INTEGER(0..ub-content-length) OPTIONAL
-}
-
-InitiatorCredentials ::= Credentials
-
-ResponderCredentials ::= Credentials
-
-Credentials ::= CHOICE {
- simple Password,
- strong [0] StrongCredentials,
- ...,
- protected [1] ProtectedPassword
-}
-
-Password ::= CHOICE {
- ia5-string IA5String(SIZE (0..ub-password-length)),
- octet-string OCTET STRING(SIZE (0..ub-password-length))
-}
-
-StrongCredentials ::= SET {
- bind-token [0] Token OPTIONAL,
- certificate [1] Certificates OPTIONAL,
- ...,
- certificate-selector [2] CertificateAssertion OPTIONAL
-}
-
-ProtectedPassword ::= SET {
- signature
- SIGNATURE{SET {password Password,
- time1 [0] UTCTime OPTIONAL,
- time2 [1] UTCTime OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL}},
- time1 [0] UTCTime OPTIONAL,
- time2 [1] UTCTime OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL
-}
-
-SecurityContext ::= SET SIZE (1..ub-security-labels) OF SecurityLabel
-
--- Submission Port
-message-submission ABSTRACT-OPERATION ::= {
- ARGUMENT MessageSubmissionArgument
- RESULT MessageSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {4 | 6 | 7}
- CODE op-message-submission
-}
-
-MessageSubmissionArgument ::= SEQUENCE {
- envelope MessageSubmissionEnvelope,
- content Content
-}
-
-MessageSubmissionResult ::= SET {
- message-submission-identifier MessageSubmissionIdentifier,
- message-submission-time [0] MessageSubmissionTime,
- content-identifier ContentIdentifier OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{MessageSubmissionResultExtensions}} DEFAULT {}
-}
-
-MessageSubmissionResultExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originating-MTA-certificate | proof-of-submission | PrivateExtensions,
- ...}
-
-probe-submission ABSTRACT-OPERATION ::= {
- ARGUMENT ProbeSubmissionArgument
- RESULT ProbeSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-probe-submission
-}
-
-ProbeSubmissionArgument ::= ProbeSubmissionEnvelope
-
-ProbeSubmissionResult ::= SET {
- probe-submission-identifier ProbeSubmissionIdentifier,
- probe-submission-time [0] ProbeSubmissionTime,
- content-identifier ContentIdentifier OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{ProbeResultExtensions}} DEFAULT {}
-}
-
-ProbeResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions,
--- at most one instance of each extension type
-cancel-deferred-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT CancelDeferredDeliveryArgument
- RESULT CancelDeferredDeliveryResult
- ERRORS
- {deferred-delivery-cancellation-rejected |
- message-submission-identifier-invalid | remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-cancel-deferred-delivery
-}
-
-CancelDeferredDeliveryArgument ::= MessageSubmissionIdentifier
-
-CancelDeferredDeliveryResult ::= NULL
-
-submission-control ABSTRACT-OPERATION ::= {
- ARGUMENT SubmissionControlArgument
- RESULT SubmissionControlResult
- ERRORS {security-error | remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-submission-control
-}
-
-SubmissionControlArgument ::= SubmissionControls
-
-SubmissionControlResult ::= Waiting
-
-submission-control-violated ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-submission-control-violated
-}
-
-element-of-service-not-subscribed ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-element-of-service-not-subscribed
-}
-
-deferred-delivery-cancellation-rejected ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-deferred-delivery-cancellation-rejected
-}
-
-originator-invalid ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-originator-invalid
-}
-
-recipient-improperly-specified ABSTRACT-ERROR ::= {
- PARAMETER ImproperlySpecifiedRecipients
- CODE err-recipient-improperly-specified
-}
-
-ImproperlySpecifiedRecipients ::=
- SEQUENCE SIZE (1..ub-recipients) OF RecipientName
-
-message-submission-identifier-invalid ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-message-submission-identifier-invalid
-}
-
-inconsistent-request ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-inconsistent-request
-}
-
-security-error ABSTRACT-ERROR ::= {
- PARAMETER SecurityProblem
- CODE err-security-error
-}
-
-SecurityProblem ::= INTEGER {
- assemby-instructions-conflict-with-security-services(0),
- authentication-problem(1), authentication-failure-on-subject-message(2),
- confidentiality-association-problem(3), decryption-failed(4),
- decryption-key-unobtainable(5), failure-of-proof-of-message(6),
- forbidden-user-security-label-register(7),
- incompatible-change-with-original-security-context(8),
- integrity-failure-on-subject-message(9), invalid-security-label(10),
- invalid-security-label-update(11), key-failure(12),
- mandatory-parameter-absence(13), operation-security-failure(14),
- redirection-prohibited(15), refused-alternate-recipient-name(16),
- repudiation-failure-of-message(17),
- responder-credentials-checking-problem(18), security-context-failure(19),
- security-context-problem(20), security-policy-violation(21),
- security-services-refusal(22), token-decryption-failed(23), token-error(24),
- unable-to-aggregate-security-labels(25), unauthorised-dl-name(26),
- unauthorised-entry-class(27),
- unauthorised-originally-intended-recipient-name(28),
- unauthorised-originator-name(29), unauthorised-recipient-name(30),
- unauthorised-security-label-update(31), unauthorised-user-name(32),
- unknown-security-label(33), unsupported-algorithm-identifier(34),
- unsupported-security-policy(35)}(0..ub-security-problems)
-
-unsupported-critical-function ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-unsupported-critical-function
-}
-
-remote-bind-error ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-remote-bind-error
-}
-
--- Submission Port Parameters
-MessageSubmissionIdentifier ::= MTSIdentifier
-
-MessageSubmissionTime ::= Time
-
-ProbeSubmissionIdentifier ::= MTSIdentifier
-
-ProbeSubmissionTime ::= Time
-
-SubmissionControls ::=
- Controls
- (WITH COMPONENTS {
- ...,
- permissible-content-types ABSENT,
- permissible-encoded-information-types ABSENT
- })
-
-Waiting ::= SET {
- waiting-operations [0] Operations DEFAULT {},
- waiting-messages [1] WaitingMessages DEFAULT {},
- waiting-content-types
- [2] SET SIZE (0..ub-content-types) OF ContentType DEFAULT {},
- waiting-encoded-information-types EncodedInformationTypes OPTIONAL
-}
-
-Operations ::= BIT STRING {
- probe-submission-or-report-delivery(0),
- message-submission-or-message-delivery(1)}(SIZE (0..ub-bit-options))
-
--- holding 'one', not-holding 'zero'
-WaitingMessages ::= BIT STRING {
- long-content(0), low-priority(1), other-security-labels(2)
-}(SIZE (0..ub-bit-options))
-
--- Delivery Port
-message-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT MessageDeliveryArgument
- RESULT MessageDeliveryResult
- ERRORS
- {delivery-control-violated | security-error |
- unsupported-critical-function}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {4 | 6 | 7}
- CODE op-message-delivery
-}
-
-MessageDeliveryArgument ::= SEQUENCE {
- COMPONENTS OF MessageDeliveryEnvelope,
- content Content
-}
-
-MessageDeliveryResult ::= SET {
- recipient-certificate [0] RecipientCertificate OPTIONAL,
- proof-of-delivery [1] IMPLICIT ProofOfDelivery OPTIONAL,
- ...,
- extensions
- [2] SET OF ExtensionField{{MessageDeliveryResultExtensions}} DEFAULT {}
-}
-
-MessageDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-report-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT ReportDeliveryArgument
- RESULT ReportDeliveryResult
- ERRORS
- {delivery-control-violated | security-error |
- unsupported-critical-function}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-report-delivery
-}
-
-ReportDeliveryArgument ::= SET {
- COMPONENTS OF ReportDeliveryEnvelope,
- returned-content [0] Content OPTIONAL
-}
-
-ReportDeliveryResult ::= CHOICE {
- empty-result NULL,
- ...,
- extensions
- SET SIZE (1..MAX) OF ExtensionField{{ReportDeliveryResultExtensions}}
-}
-
-ReportDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-delivery-control ABSTRACT-OPERATION ::= {
- ARGUMENT DeliveryControlArgument
- RESULT DeliveryControlResult
- ERRORS
- {control-violates-registration | security-error | operation-refused}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-delivery-control
-}
-
-DeliveryControlArgument ::= SET {
- COMPONENTS OF DeliveryControls,
- extensions
- [6] SET OF ExtensionField{{DeliveryControlExtensions}} DEFAULT {}
-}
-
-DeliveryControlExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-DeliveryControlResult ::= SET {
- COMPONENTS OF Waiting,
- extensions
- [6] SET OF ExtensionField{{DeliveryControlResultExtensions}} DEFAULT {}
-}
-
-DeliveryControlResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-delivery-control-violated ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-delivery-control-violated
-}
-
-control-violates-registration ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-control-violates-registration
-}
-
-operation-refused ABSTRACT-ERROR ::= {
- PARAMETER RefusedOperation
- CODE err-operation-refused
-}
-
-RefusedOperation ::= SET {
- refused-argument
- CHOICE {built-in-argument [1] RefusedArgument,
- refused-extension EXTENSION.&id},
- refusal-reason [2] RefusalReason
-}
-
-RefusedArgument ::= INTEGER {
- user-name(0), user-address(1), deliverable-content-types(2),
- deliverable-maximum-content-length(3),
- deliverable-encoded-information-types-constraints(4),
- deliverable-security-labels(5), recipient-assigned-redirections(6),
- restricted-delivery(7),
- retrieve-registrations(8), -- value 9 reserved for possible future extension to Register arguments
- restrict(10), permissible-operations(11), permissible-lowest-priority(12),
- permissible-encoded-information-types(13), permissible-content-types(14),
- permissible-maximum-content-length(15), permissible-security-context(16)
-}(0..ub-integer-options)
-
-RefusalReason ::= INTEGER {
- facility-unavailable(0), facility-not-subscribed(1),
- parameter-unacceptable(2)}(0..ub-integer-options)
-
--- Delivery Port Parameters
-RecipientCertificate ::= Certificates
-
-ProofOfDelivery ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProofOfDeliveryAlgorithmIdentifier,
- delivery-time MessageDeliveryTime,
- this-recipient-name ThisRecipientName,
- originally-intended-recipient-name
- OriginallyIntendedRecipientName OPTIONAL,
- content Content,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label
- MessageSecurityLabel OPTIONAL}}
-
-ProofOfDeliveryAlgorithmIdentifier ::= AlgorithmIdentifier
-
-DeliveryControls ::= Controls
-
-Controls ::= SET {
- restrict [0] BOOLEAN DEFAULT TRUE,
- -- update 'TRUE', remove 'FALSE'
- permissible-operations [1] Operations OPTIONAL,
- permissible-maximum-content-length [2] ContentLength OPTIONAL,
- permissible-lowest-priority Priority OPTIONAL,
- permissible-content-types [4] ContentTypes OPTIONAL,
- permissible-encoded-information-types
- PermissibleEncodedInformationTypes OPTIONAL,
- permissible-security-context [5] SecurityContext OPTIONAL
-}
-
--- Note - The Tags [0], [1] and [2] are altered for the Register operation only.
-PermissibleEncodedInformationTypes ::=
- EncodedInformationTypesConstraints
-
--- Administration Port
-register ABSTRACT-OPERATION ::= {
- ARGUMENT RegisterArgument
- RESULT RegisterResult
- ERRORS
- {register-rejected | remote-bind-error | operation-refused |
- security-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-register
-}
-
-RegisterArgument ::= SET {
- user-name UserName OPTIONAL,
- user-address [0] UserAddress OPTIONAL,
- deliverable-class
- SET SIZE (1..ub-deliverable-class) OF DeliverableClass OPTIONAL,
- default-delivery-controls [2] EXPLICIT DefaultDeliveryControls OPTIONAL,
- redirections [3] Redirections OPTIONAL,
- restricted-delivery [4] RestrictedDelivery OPTIONAL,
- retrieve-registrations [5] RegistrationTypes OPTIONAL,
- extensions
- [6] SET OF ExtensionField{{RegisterExtensions}} DEFAULT {}
-}
-
-RegisterExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-RegisterResult ::= CHOICE {
- empty-result NULL,
- non-empty-result
- SET {registered-information
- [0] RegisterArgument
- (WITH COMPONENTS {
- ...,
- retrieve-registrations ABSENT
- }) OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{RegisterResultExtensions}} DEFAULT {}
- }
-}
-
-RegisterResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-change-credentials ABSTRACT-OPERATION ::= {
- ARGUMENT ChangeCredentialsArgument
- RESULT NULL
- ERRORS
- {new-credentials-unacceptable | old-credentials-incorrectly-specified |
- remote-bind-error | security-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-change-credentials
-}
-
-ChangeCredentialsArgument ::= SET {
- old-credentials [0] Credentials(WITH COMPONENTS {
- simple
- }),
- new-credentials [1] Credentials(WITH COMPONENTS {
- simple
- })
-}
-
-register-rejected ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-register-rejected
-}
-
-new-credentials-unacceptable ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-new-credentials-unacceptable
-}
-
-old-credentials-incorrectly-specified ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-old-credentials-incorrectly-specified
-}
-
--- Administration Port Parameters
-UserName ::= ORAddressAndOptionalDirectoryName
-
-UserAddress ::= CHOICE {
- x121
- [0] SEQUENCE {x121-address
- NumericString(SIZE (1..ub-x121-address-length)) OPTIONAL,
- tsap-id
- PrintableString(SIZE (1..ub-tsap-id-length)) OPTIONAL
- },
- presentation [1] PSAPAddress
-}
-
-PSAPAddress ::= PresentationAddress
-
-DeliverableClass ::=
- MessageClass
- (WITH COMPONENTS {
- ...,
- priority ABSENT,
- -- The 'objects' component shall always be defaulted.
- -- objects ABSENT,
- -- A component with a DEFAULT clause cannot be ABSENT
- applies-only-to ABSENT
- })
-
-DefaultDeliveryControls ::=
- Controls
- (WITH COMPONENTS {
- ...,
-
- -- The 'restrict' component shall always be defaulted.
- -- restrict ABSENT,
- -- A component with a DEFAULT clause cannot be ABSENT
- permissible-security-context ABSENT
- })
-
-Redirections ::= SEQUENCE SIZE (1..ub-redirections) OF RecipientRedirection
-
-RecipientRedirection ::= SET {
- redirection-classes
- [0] SET SIZE (1..ub-redirection-classes) OF RedirectionClass OPTIONAL,
- recipient-assigned-alternate-recipient
- [1] RecipientAssignedAlternateRecipient OPTIONAL
-}
-
-RedirectionClass ::= MessageClass
-
-MessageClass ::= SET {
- content-types [0] ContentTypes OPTIONAL,
- maximum-content-length [1] ContentLength OPTIONAL,
- encoded-information-types-constraints
- [2] EncodedInformationTypesConstraints OPTIONAL,
- security-labels [3] SecurityContext OPTIONAL,
- priority [4] SET OF Priority OPTIONAL,
- objects
- [5] ENUMERATED {messages(0), reports(1), both(2), ...
- } DEFAULT both,
- applies-only-to [6] SEQUENCE OF Restriction OPTIONAL, -- Not considered in the case of Reports
- extensions
- [7] SET OF ExtensionField{{MessageClassExtensions}} DEFAULT {}
-}
-
-EncodedInformationTypesConstraints ::= SEQUENCE {
- unacceptable-eits [0] ExtendedEncodedInformationTypes OPTIONAL,
- acceptable-eits [1] ExtendedEncodedInformationTypes OPTIONAL,
- exclusively-acceptable-eits [2] ExtendedEncodedInformationTypes OPTIONAL
-}
-
-MessageClassExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-RecipientAssignedAlternateRecipient ::=
- ORAddressAndOrDirectoryName
-
-RestrictedDelivery ::= SEQUENCE SIZE (1..ub-restrictions) OF Restriction
-
-Restriction ::= SET {
- permitted BOOLEAN DEFAULT TRUE,
- source-type
- BIT STRING {originated-by(0), redirected-by(1), dl-expanded-by(2)}
- DEFAULT {originated-by, redirected-by, dl-expanded-by},
- source-name ExactOrPattern OPTIONAL
-}
-
-ExactOrPattern ::= CHOICE {
- exact-match [0] ORName,
- pattern-match [1] ORName
-}
-
-RegistrationTypes ::= SEQUENCE {
- standard-parameters
- [0] BIT STRING {user-name(0), user-address(1), deliverable-class(2),
- default-delivery-controls(3), redirections(4),
- restricted-delivery(5)} OPTIONAL,
- extensions [1] SET OF EXTENSION.&id({RegisterExtensions}) OPTIONAL
-}
-
--- Message Submission Envelope
-MessageSubmissionEnvelope ::= SET {
- COMPONENTS OF PerMessageSubmissionFields,
- per-recipient-fields
- [1] SEQUENCE SIZE (1..ub-recipients) OF
- PerRecipientMessageSubmissionFields
-}
-
-PerMessageSubmissionFields ::= SET {
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- priority Priority DEFAULT normal,
- per-message-indicators PerMessageIndicators DEFAULT {},
- deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerMessageSubmissionExtensions}} DEFAULT {}
-}
-
-PerMessageSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | latest-delivery-time |
- originator-return-address | originator-certificate |
- content-confidentiality-algorithm-identifier |
- message-origin-authentication-check | message-security-label |
- proof-of-submission-request | content-correlator | dl-exempted-recipients |
- certificate-selectors | multiple-originator-certificates |
- forwarding-request -- for MS Abstract Service only -- | PrivateExtensions,
- ...}
-
-PerRecipientMessageSubmissionFields ::= SET {
- recipient-name RecipientName,
- originator-report-request [0] OriginatorReportRequest,
- explicit-conversion [1] ExplicitConversion OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerRecipientMessageSubmissionExtensions}}
- DEFAULT {}
-}
-
-PerRecipientMessageSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-forwarding-prohibited | physical-forwarding-address-request |
- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
- | physical-rendition-attributes | physical-delivery-report-request |
- message-token | content-integrity-check | proof-of-delivery-request |
- certificate-selectors-override | recipient-certificate |
- IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
-
--- Probe Submission Envelope
-ProbeSubmissionEnvelope ::= SET {
- COMPONENTS OF PerProbeSubmissionFields,
- per-recipient-fields
- [3] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeSubmissionFields
-}
-
-PerProbeSubmissionFields ::= SET {
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- content-length [0] ContentLength OPTIONAL,
- per-message-indicators PerMessageIndicators DEFAULT {},
- extensions
- [2] SET OF ExtensionField{{PerProbeSubmissionExtensions}} DEFAULT {}
-}
-
-PerProbeSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | originator-certificate |
- message-security-label | content-correlator |
- probe-origin-authentication-check | PrivateExtensions, ...}
-
-PerRecipientProbeSubmissionFields ::= SET {
- recipient-name RecipientName,
- originator-report-request [0] OriginatorReportRequest,
- explicit-conversion [1] ExplicitConversion OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerRecipientProbeSubmissionExtensions}}
- DEFAULT {}
-}
-
-PerRecipientProbeSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-rendition-attributes | PrivateExtensions, ...}
-
--- Message Delivery Envelope
-MessageDeliveryEnvelope ::= SEQUENCE {
- message-delivery-identifier MessageDeliveryIdentifier,
- message-delivery-time MessageDeliveryTime,
- other-fields OtherMessageDeliveryFields
-}
-
-OtherMessageDeliveryFields ::= SET {
- content-type DeliveredContentType,
- originator-name DeliveredOriginatorName,
- original-encoded-information-types
- [1] OriginalEncodedInformationTypes OPTIONAL,
- priority Priority DEFAULT normal,
- delivery-flags [2] DeliveryFlags OPTIONAL,
- other-recipient-names [3] OtherRecipientNames OPTIONAL,
- this-recipient-name [4] ThisRecipientName,
- originally-intended-recipient-name
- [5] OriginallyIntendedRecipientName OPTIONAL,
- converted-encoded-information-types
- [6] ConvertedEncodedInformationTypes OPTIONAL,
- message-submission-time [7] MessageSubmissionTime,
- content-identifier [8] ContentIdentifier OPTIONAL,
- extensions
- [9] SET OF ExtensionField{{MessageDeliveryExtensions}} DEFAULT {}
-}
-
-MessageDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- conversion-with-loss-prohibited | requested-delivery-method |
- physical-forwarding-prohibited | physical-forwarding-address-request |
- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
- | physical-rendition-attributes | originator-return-address |
- physical-delivery-report-request | originator-certificate | message-token |
- content-confidentiality-algorithm-identifier | content-integrity-check |
- message-origin-authentication-check | message-security-label |
- proof-of-delivery-request | dl-exempted-recipients | certificate-selectors |
- certificate-selectors-override | multiple-originator-certificates |
- recipient-certificate | IPMPerRecipientEnvelopeExtensions |
- redirection-history | dl-expansion-history | trace-information |
- internal-trace-information | PrivateExtensions, ...}
-
--- Report Delivery Envelope
-ReportDeliveryEnvelope ::= SET {
- COMPONENTS OF PerReportDeliveryFields,
- per-recipient-fields
- SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportDeliveryFields
-}
-
-PerReportDeliveryFields ::= SET {
- subject-submission-identifier SubjectSubmissionIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- content-type ContentType OPTIONAL,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{ReportDeliveryExtensions}} DEFAULT {}
-}
-
-ReportDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- message-security-label | content-correlator | redirection-history |
- originator-and-DL-expansion-history | reporting-DL-name |
- reporting-MTA-certificate | report-origin-authentication-check |
- trace-information | internal-trace-information | reporting-MTA-name |
- PrivateExtensions, ...}
-
-PerRecipientReportDeliveryFields ::= SET {
- actual-recipient-name [0] ActualRecipientName,
- report-type [1] ReportType,
- converted-encoded-information-types
- ConvertedEncodedInformationTypes OPTIONAL,
- originally-intended-recipient-name
- [2] OriginallyIntendedRecipientName OPTIONAL,
- supplementary-information [3] SupplementaryInformation OPTIONAL,
- extensions
- [4] SET OF ExtensionField{{PerRecipientReportDeliveryExtensions}}
- DEFAULT {}
-}
-
-PerRecipientReportDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- redirection-history | physical-forwarding-address | recipient-certificate |
- proof-of-delivery | PrivateExtensions, ...}
-
-ReportType ::= CHOICE {
- delivery [0] DeliveryReport,
- non-delivery [1] NonDeliveryReport
-}
-
-DeliveryReport ::= SET {
- message-delivery-time [0] MessageDeliveryTime,
- type-of-MTS-user [1] TypeOfMTSUser DEFAULT public
-}
-
-NonDeliveryReport ::= SET {
- non-delivery-reason-code [0] NonDeliveryReasonCode,
- non-delivery-diagnostic-code [1] NonDeliveryDiagnosticCode OPTIONAL
-}
-
--- Envelope Fields
-OriginatorName ::= ORAddressAndOrDirectoryName
-
-DeliveredOriginatorName ::= ORAddressAndOptionalDirectoryName
-
-OriginalEncodedInformationTypes ::= EncodedInformationTypes
-
-ContentTypes ::= SET SIZE (1..ub-content-types) OF ContentType
-
-ContentType ::= CHOICE {
- built-in BuiltInContentType,
- extended ExtendedContentType
-}
-
-BuiltInContentType ::= [APPLICATION 6] INTEGER {
- unidentified(0),
- external(1), -- identified by the object-identifier of the EXTERNAL content
- interpersonal-messaging-1984(2), interpersonal-messaging-1988(22),
- edi-messaging(35), voice-messaging(40)}(0..ub-built-in-content-type)
-
-ExtendedContentType ::= RELATIVE-OID
-
-DeliveredContentType ::= CHOICE {
- built-in [0] BuiltInContentType,
- extended ExtendedContentType
-}
-
-ContentIdentifier ::=
- [APPLICATION 10] PrintableString(SIZE (1..ub-content-id-length))
-
-PerMessageIndicators ::= [APPLICATION 8] BIT STRING {
- disclosure-of-other-recipients(0), -- disclosure-of-other-recipients-requested 'one',
-
- -- disclosure-of-other-recipients-prohibited 'zero';
- -- ignored for Probe-submission
- implicit-conversion-prohibited(1), -- implicit-conversion-prohibited 'one',
-
- -- implicit-conversion-allowed 'zero'
- alternate-recipient-allowed(2), -- alternate-recipient-allowed 'one',
-
- -- alternate-recipient-prohibited 'zero'
- content-return-request(3), -- content-return-requested 'one',
-
- -- content-return-not-requested 'zero';
- -- ignored for Probe-submission
- reserved(4), -- bit reserved by MOTIS 1986
- bit-5(5),
- bit-6(6), -- notification type-1 : bit 5 'zero' and bit 6 'one'
-
- -- notification type-2 : bit 5 'one' and bit 6 'zero'
- -- notification type-3 : bit 5 'one' and bit 6 'one'
- -- the mapping between notification type 1, 2, 3
- -- and the content specific notification types are defined
- -- in relevant content specifications
- service-message(7) -- the message content is for service purposes;
-
-
--- it may be a notification related to a service message;
--- used only by bilateral agreement --}(SIZE (0..ub-bit-options))
-
-RecipientName ::= ORAddressAndOrDirectoryName
-
-OriginatorReportRequest ::= BIT STRING {report(3), non-delivery-report(4)
-
--- at most one bit shall be 'one':
--- report bit 'one' requests a 'report';
--- non-delivery-report bit 'one' requests a 'non-delivery-report';
--- both bits 'zero' requests 'no-report' --}(SIZE (0..ub-bit-options))
-
-ExplicitConversion ::= INTEGER {
- ia5-text-to-teletex(0),
- -- values 1 to 7 are no longer defined
- ia5-text-to-g3-facsimile(8), ia5-text-to-g4-class-1(9),
- ia5-text-to-videotex(10), teletex-to-ia5-text(11),
- teletex-to-g3-facsimile(12), teletex-to-g4-class-1(13),
- teletex-to-videotex(14),
- -- value 15 is no longer defined
- videotex-to-ia5-text(16), videotex-to-teletex(17)}(0..ub-integer-options)
-
-DeferredDeliveryTime ::= Time
-
-Priority ::= [APPLICATION 7] ENUMERATED {normal(0), non-urgent(1), urgent(2)}
-
-ContentLength ::= INTEGER(0..ub-content-length)
-
-MessageDeliveryIdentifier ::= MTSIdentifier
-
-MessageDeliveryTime ::= Time
-
-DeliveryFlags ::= BIT STRING {
- implicit-conversion-prohibited(1) -- implicit-conversion-prohibited 'one',
-
- -- implicit-conversion-allowed 'zero' --}(SIZE (0..ub-bit-options))
-
-OtherRecipientNames ::= SEQUENCE SIZE (1..ub-recipients) OF OtherRecipientName
-
-OtherRecipientName ::= ORAddressAndOptionalDirectoryName
-
-ThisRecipientName ::= ORAddressAndOptionalDirectoryName
-
-OriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
-
-ConvertedEncodedInformationTypes ::= EncodedInformationTypes
-
-SubjectSubmissionIdentifier ::= MTSIdentifier
-
-ActualRecipientName ::= ORAddressAndOrDirectoryName
-
-TypeOfMTSUser ::= INTEGER {
- public(0), private(1), ms(2), dl(3), pdau(4), physical-recipient(5), other(6)
-}(0..ub-mts-user-types)
-
-NonDeliveryReasonCode ::= INTEGER {
- transfer-failure(0), unable-to-transfer(1), conversion-not-performed(2),
- physical-rendition-not-performed(3), physical-delivery-not-performed(4),
- restricted-delivery(5), directory-operation-unsuccessful(6),
- deferred-delivery-not-performed(7), transfer-failure-for-security-reason(8)
-}(0..ub-reason-codes)
-
-NonDeliveryDiagnosticCode ::= INTEGER {
- unrecognised-OR-name(0), ambiguous-OR-name(1), mts-congestion(2),
- loop-detected(3), recipient-unavailable(4), maximum-time-expired(5),
- encoded-information-types-unsupported(6), content-too-long(7),
- conversion-impractical(8), implicit-conversion-prohibited(9),
- implicit-conversion-not-subscribed(10), invalid-arguments(11),
- content-syntax-error(12), size-constraint-violation(13),
- protocol-violation(14), content-type-not-supported(15),
- too-many-recipients(16), no-bilateral-agreement(17),
- unsupported-critical-function(18), conversion-with-loss-prohibited(19),
- line-too-long(20), page-split(21), pictorial-symbol-loss(22),
- punctuation-symbol-loss(23), alphabetic-character-loss(24),
- multiple-information-loss(25), recipient-reassignment-prohibited(26),
- redirection-loop-detected(27), dl-expansion-prohibited(28),
- no-dl-submit-permission(29), dl-expansion-failure(30),
- physical-rendition-attributes-not-supported(31),
- undeliverable-mail-physical-delivery-address-incorrect(32),
- undeliverable-mail-physical-delivery-office-incorrect-or-invalid(33),
- undeliverable-mail-physical-delivery-address-incomplete(34),
- undeliverable-mail-recipient-unknown(35),
- undeliverable-mail-recipient-deceased(36),
- undeliverable-mail-organization-expired(37),
- undeliverable-mail-recipient-refused-to-accept(38),
- undeliverable-mail-recipient-did-not-claim(39),
- undeliverable-mail-recipient-changed-address-permanently(40),
- undeliverable-mail-recipient-changed-address-temporarily(41),
- undeliverable-mail-recipient-changed-temporary-address(42),
- undeliverable-mail-new-address-unknown(43),
- undeliverable-mail-recipient-did-not-want-forwarding(44),
- undeliverable-mail-originator-prohibited-forwarding(45),
- secure-messaging-error(46), unable-to-downgrade(47),
- unable-to-complete-transfer(48), transfer-attempts-limit-reached(49),
- incorrect-notification-type(50),
- dl-expansion-prohibited-by-security-policy(51),
- forbidden-alternate-recipient(52), security-policy-violation(53),
- security-services-refusal(54), unauthorised-dl-member(55),
- unauthorised-dl-name(56),
- unauthorised-originally-intended-recipient-name(57),
- unauthorised-originator-name(58), unauthorised-recipient-name(59),
- unreliable-system(60), authentication-failure-on-subject-message(61),
- decryption-failed(62), decryption-key-unobtainable(63),
- double-envelope-creation-failure(64),
- double-enveloping-message-restoring-failure(65),
- failure-of-proof-of-message(66), integrity-failure-on-subject-message(67),
- invalid-security-label(68), key-failure(69), mandatory-parameter-absence(70),
- operation-security-failure(71), repudiation-failure-of-message(72),
- security-context-failure(73), token-decryption-failed(74), token-error(75),
- unknown-security-label(76), unsupported-algorithm-identifier(77),
- unsupported-security-policy(78)}(0..ub-diagnostic-codes)
-
-SupplementaryInformation ::=
- PrintableString(SIZE (1..ub-supplementary-info-length))
-
--- Extension Fields
-EXTENSION ::= CLASS {
- &id ExtensionType UNIQUE,
- &Type OPTIONAL,
- &absent &Type OPTIONAL,
- &recommended Criticality DEFAULT {}
-}
-WITH SYNTAX {
- [&Type
- [IF ABSENT &absent],]
- [RECOMMENDED CRITICALITY &recommended,]
- IDENTIFIED BY &id
-}
-
-ExtensionType ::= CHOICE {
- standard-extension [0] INTEGER(0..ub-extension-types),
- private-extension [3] OBJECT IDENTIFIER
-}
-
-Criticality ::= BIT STRING {for-submission(0), for-transfer(1), for-delivery(2)
-}(SIZE (0..ub-bit-options)) -- critical 'one', non-critical 'zero'
-
-
-ExtensionField{EXTENSION:ChosenFrom} ::= SEQUENCE {
- type EXTENSION.&id({ChosenFrom}),
- criticality [1] Criticality DEFAULT {},
- value [2] EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
-}
-
-PrivateExtensions EXTENSION ::=
- {-- Any value shall be relayed and delivered if not Critical (see Table 27)
- -- except those values whose semantics the MTA obeys which are defined to be removed when obeyed.
- -- Shall be IDENTIFIED BY ExtensionType.private-extension --...}
-
-recipient-reassignment-prohibited EXTENSION ::= {
- RecipientReassignmentProhibited
- IF ABSENT recipient-reassignment-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:1
-}
-
-RecipientReassignmentProhibited ::= ENUMERATED {
- recipient-reassignment-allowed(0), recipient-reassignment-prohibited(1)
-}
-
-originator-requested-alternate-recipient EXTENSION ::= {
- OriginatorRequestedAlternateRecipient,
- RECOMMENDED CRITICALITY {for-submission},
- IDENTIFIED BY standard-extension:2
-}
-
-OriginatorRequestedAlternateRecipient ::= ORAddressAndOrDirectoryName
-
--- OriginatorRequestedAlternateRecipient as defined here differs from the field of the same name
--- defined in Figure 4, since on submission the OR-address need not be present, but on
--- transfer the OR-address must be present.
-dl-expansion-prohibited EXTENSION ::= {
- DLExpansionProhibited
- IF ABSENT dl-expansion-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:3
-}
-
-DLExpansionProhibited ::= ENUMERATED {
- dl-expansion-allowed(0), dl-expansion-prohibited(1)}
-
-conversion-with-loss-prohibited EXTENSION ::= {
- ConversionWithLossProhibited
- IF ABSENT conversion-with-loss-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:4
-}
-
-ConversionWithLossProhibited ::= ENUMERATED {
- conversion-with-loss-allowed(0), conversion-with-loss-prohibited(1)
-}
-
-latest-delivery-time EXTENSION ::= {
- LatestDeliveryTime,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:5
-}
-
-LatestDeliveryTime ::= Time
-
-requested-delivery-method EXTENSION ::= {
- RequestedDeliveryMethod
- IF ABSENT {any-delivery-method},
- IDENTIFIED BY standard-extension:6
-}
-
-RequestedDeliveryMethod ::=
- SEQUENCE OF INTEGER { -- each different in order of preference,
- -- most preferred first
- any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
- g4-facsimile-delivery(6), ia5-terminal-delivery(7), videotex-delivery(8),
- telephone-delivery(9)}(0..ub-integer-options)
-
-physical-forwarding-prohibited EXTENSION ::= {
- PhysicalForwardingProhibited
- IF ABSENT physical-forwarding-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:7
-}
-
-PhysicalForwardingProhibited ::= ENUMERATED {
- physical-forwarding-allowed(0), physical-forwarding-prohibited(1)}
-
-physical-forwarding-address-request EXTENSION ::= {
- PhysicalForwardingAddressRequest
- IF ABSENT physical-forwarding-address-not-requested,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:8
-}
-
-PhysicalForwardingAddressRequest ::= ENUMERATED {
- physical-forwarding-address-not-requested(0),
- physical-forwarding-address-requested(1)}
-
-physical-delivery-modes EXTENSION ::= {
- PhysicalDeliveryModes
- IF ABSENT {ordinary-mail},
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:9
-}
-
-PhysicalDeliveryModes ::= BIT STRING {
- ordinary-mail(0), special-delivery(1), express-mail(2),
- counter-collection(3), counter-collection-with-telephone-advice(4),
- counter-collection-with-telex-advice(5),
- counter-collection-with-teletex-advice(6), bureau-fax-delivery(7)
-
--- bits 0 to 6 are mutually exclusive
--- bit 7 can be set independently of any of bits 0 to 6 --}
-(SIZE (0..ub-bit-options))
-
-registered-mail-type EXTENSION ::= {
- RegisteredMailType
- IF ABSENT non-registered-mail,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:10
-}
-
-RegisteredMailType ::= INTEGER {
- non-registered-mail(0), registered-mail(1),
- registered-mail-to-addressee-in-person(2)}(0..ub-integer-options)
-
-recipient-number-for-advice EXTENSION ::= {
- RecipientNumberForAdvice,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:11
-}
-
-RecipientNumberForAdvice ::=
- TeletexString(SIZE (1..ub-recipient-number-for-advice-length))
-
-physical-rendition-attributes EXTENSION ::= {
- PhysicalRenditionAttributes
- IF ABSENT id-att-physicalRendition-basic,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:12
-}
-
-PhysicalRenditionAttributes ::= OBJECT IDENTIFIER
-
-originator-return-address EXTENSION ::= {
- OriginatorReturnAddress,
- IDENTIFIED BY standard-extension:13
-}
-
-OriginatorReturnAddress ::= ORAddress
-
-physical-delivery-report-request EXTENSION ::= {
- PhysicalDeliveryReportRequest
- IF ABSENT return-of-undeliverable-mail-by-PDS,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:14
-}
-
-PhysicalDeliveryReportRequest ::= INTEGER {
- return-of-undeliverable-mail-by-PDS(0), return-of-notification-by-PDS(1),
- return-of-notification-by-MHS(2), return-of-notification-by-MHS-and-PDS(3)
-}(0..ub-integer-options)
-
-originator-certificate EXTENSION ::= {
- OriginatorCertificate,
- IDENTIFIED BY standard-extension:15
-}
-
-OriginatorCertificate ::= Certificates
-
-message-token EXTENSION ::= {
- MessageToken,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:16
-}
-
-MessageToken ::= Token
-
-content-confidentiality-algorithm-identifier EXTENSION ::= {
- ContentConfidentialityAlgorithmIdentifier,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:17
-}
-
-ContentConfidentialityAlgorithmIdentifier ::= AlgorithmIdentifier
-
-content-integrity-check EXTENSION ::= {
- ContentIntegrityCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:18
-}
-
-ContentIntegrityCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ContentIntegrityAlgorithmIdentifier OPTIONAL,
- content Content}}
-
-ContentIntegrityAlgorithmIdentifier ::= AlgorithmIdentifier
-
-message-origin-authentication-check EXTENSION ::= {
- MessageOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:19
-}
-
-MessageOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- MessageOriginAuthenticationAlgorithmIdentifier,
- content Content,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL}}
-
-MessageOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-message-security-label EXTENSION ::= {
- MessageSecurityLabel,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:20
-}
-
-MessageSecurityLabel ::= SecurityLabel
-
-proof-of-submission-request EXTENSION ::= {
- ProofOfSubmissionRequest
- IF ABSENT proof-of-submission-not-requested,
- RECOMMENDED CRITICALITY {for-submission},
- IDENTIFIED BY standard-extension:21
-}
-
-ProofOfSubmissionRequest ::= ENUMERATED {
- proof-of-submission-not-requested(0), proof-of-submission-requested(1)
-}
-
-proof-of-delivery-request EXTENSION ::= {
- ProofOfDeliveryRequest
- IF ABSENT proof-of-delivery-not-requested,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:22
-}
-
-ProofOfDeliveryRequest ::= ENUMERATED {
- proof-of-delivery-not-requested(0), proof-of-delivery-requested(1)}
-
-content-correlator EXTENSION ::= {
- ContentCorrelator,
- IDENTIFIED BY standard-extension:23
-}
-
-ContentCorrelator ::= CHOICE {ia5text IA5String,
- octets OCTET STRING
-}
-
-probe-origin-authentication-check EXTENSION ::= {
- ProbeOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:24
-}
-
-ProbeOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProbeOriginAuthenticationAlgorithmIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL}}
-
-ProbeOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-redirection-history EXTENSION ::= {
- RedirectionHistory,
- IDENTIFIED BY standard-extension:25
-}
-
-RedirectionHistory ::= SEQUENCE SIZE (1..ub-redirections) OF Redirection
-
-Redirection ::= SEQUENCE {
- intended-recipient-name IntendedRecipientName,
- redirection-reason RedirectionReason
-}
-
-IntendedRecipientName ::= SEQUENCE {
- intended-recipient ORAddressAndOptionalDirectoryName,
- redirection-time Time
-}
-
-RedirectionReason ::= ENUMERATED {
- recipient-assigned-alternate-recipient(0),
- originator-requested-alternate-recipient(1),
- recipient-MD-assigned-alternate-recipient(2),
- -- The following values may not be supported by implementations of earlier versions of this Service Definition
- directory-look-up(3), alias(4), ...
- }
-
-dl-expansion-history EXTENSION ::= {
- DLExpansionHistory,
- IDENTIFIED BY standard-extension:26
-}
-
-DLExpansionHistory ::= SEQUENCE SIZE (1..ub-dl-expansions) OF DLExpansion
-
-DLExpansion ::= SEQUENCE {
- dl ORAddressAndOptionalDirectoryName,
- dl-expansion-time Time
-}
-
-physical-forwarding-address EXTENSION ::= {
- PhysicalForwardingAddress,
- IDENTIFIED BY standard-extension:27
-}
-
-PhysicalForwardingAddress ::= ORAddressAndOptionalDirectoryName
-
-recipient-certificate EXTENSION ::= {
- RecipientCertificate,
- IDENTIFIED BY standard-extension:28
-}
-
-proof-of-delivery EXTENSION ::= {
- ProofOfDelivery,
- IDENTIFIED BY standard-extension:29
-}
-
-originator-and-DL-expansion-history EXTENSION ::= {
- OriginatorAndDLExpansionHistory,
- IDENTIFIED BY standard-extension:30
-}
-
-OriginatorAndDLExpansionHistory ::=
- SEQUENCE SIZE (2..ub-orig-and-dl-expansions) OF OriginatorAndDLExpansion
-
-OriginatorAndDLExpansion ::= SEQUENCE {
- originator-or-dl-name ORAddressAndOptionalDirectoryName,
- origination-or-expansion-time Time
-}
-
-reporting-DL-name EXTENSION ::= {
- ReportingDLName,
- IDENTIFIED BY standard-extension:31
-}
-
-ReportingDLName ::= ORAddressAndOptionalDirectoryName
-
-reporting-MTA-certificate EXTENSION ::= {
- ReportingMTACertificate,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:32
-}
-
-ReportingMTACertificate ::= Certificates
-
-report-origin-authentication-check EXTENSION ::= {
- ReportOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:33
-}
-
-ReportOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ReportOriginAuthenticationAlgorithmIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL,
- per-recipient
- SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportFields
- }}
-
-ReportOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-PerRecipientReportFields ::= SEQUENCE {
- actual-recipient-name ActualRecipientName,
- originally-intended-recipient-name OriginallyIntendedRecipientName OPTIONAL,
- report-type
- CHOICE {delivery [0] PerRecipientDeliveryReportFields,
- non-delivery [1] PerRecipientNonDeliveryReportFields}
-}
-
-PerRecipientDeliveryReportFields ::= SEQUENCE {
- message-delivery-time MessageDeliveryTime,
- type-of-MTS-user TypeOfMTSUser,
- recipient-certificate [0] RecipientCertificate OPTIONAL,
- proof-of-delivery [1] ProofOfDelivery OPTIONAL
-}
-
-PerRecipientNonDeliveryReportFields ::= SEQUENCE {
- non-delivery-reason-code NonDeliveryReasonCode,
- non-delivery-diagnostic-code NonDeliveryDiagnosticCode OPTIONAL
-}
-
-originating-MTA-certificate EXTENSION ::= {
- OriginatingMTACertificate,
- IDENTIFIED BY standard-extension:34
-}
-
-OriginatingMTACertificate ::= Certificates
-
-proof-of-submission EXTENSION ::= {
- ProofOfSubmission,
- IDENTIFIED BY standard-extension:35
-}
-
-ProofOfSubmission ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProofOfSubmissionAlgorithmIdentifier,
- message-submission-envelope MessageSubmissionEnvelope,
- content Content,
- message-submission-identifier MessageSubmissionIdentifier,
- message-submission-time MessageSubmissionTime}}
-
-ProofOfSubmissionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-reporting-MTA-name EXTENSION ::= {
- ReportingMTAName,
- IDENTIFIED BY standard-extension:39
-}
-
-ReportingMTAName ::= SEQUENCE {
- domain GlobalDomainIdentifier,
- mta-name MTAName,
- mta-directory-name [0] Name OPTIONAL
-}
-
-multiple-originator-certificates EXTENSION ::= {
- ExtendedCertificates,
- IDENTIFIED BY standard-extension:40
-}
-
-ExtendedCertificates ::= SET SIZE (1..ub-certificates) OF ExtendedCertificate
-
-ExtendedCertificate ::= CHOICE {
- directory-entry [0] Name, -- Name of a Directory entry where the certificate can be found
- certificate [1] Certificates
-}
-
-dl-exempted-recipients EXTENSION ::= {
- DLExemptedRecipients,
- IDENTIFIED BY standard-extension:42
-}
-
-DLExemptedRecipients ::= SET OF ORAddressAndOrDirectoryName
-
-certificate-selectors EXTENSION ::= {
- CertificateSelectors,
- IDENTIFIED BY standard-extension:45
-}
-
-CertificateSelectors ::= SET {
- encryption-recipient [0] CertificateAssertion OPTIONAL,
- encryption-originator [1] CertificateAssertion OPTIONAL,
- content-integrity-check [2] CertificateAssertion OPTIONAL,
- token-signature [3] CertificateAssertion OPTIONAL,
- message-origin-authentication [4] CertificateAssertion OPTIONAL
-}
-
-certificate-selectors-override EXTENSION ::= {
- CertificateSelectors
- (WITH COMPONENTS {
- ...,
- message-origin-authentication ABSENT
- }),
- IDENTIFIED BY standard-extension:46
-}
-
--- Some standard-extensions are defined elsewhere:
--- 36 (forwarding-request) in ITU-T Rec. X.413 | ISO/IEC 10021-5;
--- 37 (trace-information), and 38 (internal-trace-information) in Figure 4;
--- 41 (blind-copy-recipients), 43 (body-part-encryption-token), and 44 (forwarded-content-token) in
--- ITU-T Rec. X.420 | ISO/IEC 10021-7
--- Common Parameter Types
-Content ::=
- OCTET
- STRING -- when the content-type has the integer value external, the value of the
-
--- content octet string is the ASN.1 encoding of the external-content;
--- an external-content is a data type EXTERNAL
-MTSIdentifier ::= [APPLICATION 4] SEQUENCE {
- global-domain-identifier GlobalDomainIdentifier,
- local-identifier LocalIdentifier
-}
-
-LocalIdentifier ::= IA5String(SIZE (1..ub-local-id-length))
-
-GlobalDomainIdentifier ::= [APPLICATION 3] SEQUENCE {
- country-name CountryName,
- administration-domain-name AdministrationDomainName,
- private-domain-identifier PrivateDomainIdentifier OPTIONAL
-}
-
-PrivateDomainIdentifier ::= CHOICE {
- numeric NumericString(SIZE (1..ub-domain-name-length)),
- printable PrintableString(SIZE (1..ub-domain-name-length))
-}
-
-MTAName ::= IA5String(SIZE (1..ub-mta-name-length))
-
-Time ::= UTCTime
-
--- OR Names
-ORAddressAndOrDirectoryName ::= ORName
-
-ORAddressAndOptionalDirectoryName ::= ORName
-
-ORName ::= [APPLICATION 0] SEQUENCE {
- -- address --COMPONENTS OF ORAddress,
- directory-name [0] Name OPTIONAL
-}
-
-ORAddress ::= SEQUENCE {
- built-in-standard-attributes BuiltInStandardAttributes,
- built-in-domain-defined-attributes BuiltInDomainDefinedAttributes OPTIONAL,
- -- see also teletex-domain-defined-attributes
- extension-attributes ExtensionAttributes OPTIONAL
-}
-
--- The OR-address is semantically absent from the OR-name if the built-in-standard-attribute
--- sequence is empty and the built-in-domain-defined-attributes and extension-attributes are both omitted.
--- Built-in Standard Attributes
-BuiltInStandardAttributes ::= SEQUENCE {
- country-name CountryName OPTIONAL,
- administration-domain-name AdministrationDomainName OPTIONAL,
- network-address [0] NetworkAddress OPTIONAL,
- -- see also extended-network-address
- terminal-identifier [1] TerminalIdentifier OPTIONAL,
- private-domain-name [2] PrivateDomainName OPTIONAL,
- organization-name [3] OrganizationName OPTIONAL,
- -- see also teletex-organization-name
- numeric-user-identifier [4] NumericUserIdentifier OPTIONAL,
- personal-name [5] PersonalName OPTIONAL,
- -- see also teletex-personal-name
- organizational-unit-names [6] OrganizationalUnitNames OPTIONAL
- -- see also teletex-organizational-unit-names
-}
-
-CountryName ::= [APPLICATION 1] CHOICE {
- x121-dcc-code NumericString(SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length))
-}
-
-AdministrationDomainName ::= [APPLICATION 2] CHOICE {
- numeric NumericString(SIZE (0..ub-domain-name-length)),
- printable PrintableString(SIZE (0..ub-domain-name-length))
-}
-
-NetworkAddress ::= X121Address
-
--- see also extended-network-address
-X121Address ::= NumericString(SIZE (1..ub-x121-address-length))
-
-TerminalIdentifier ::= PrintableString(SIZE (1..ub-terminal-id-length))
-
-PrivateDomainName ::= CHOICE {
- numeric NumericString(SIZE (1..ub-domain-name-length)),
- printable PrintableString(SIZE (1..ub-domain-name-length))
-}
-
-OrganizationName ::= PrintableString(SIZE (1..ub-organization-name-length))
-
--- see also teletex-organization-name
-NumericUserIdentifier ::= NumericString(SIZE (1..ub-numeric-user-id-length))
-
-PersonalName ::= SET {
- surname [0] PrintableString(SIZE (1..ub-surname-length)),
- given-name
- [1] PrintableString(SIZE (1..ub-given-name-length)) OPTIONAL,
- initials
- [2] PrintableString(SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier
- [3] PrintableString(SIZE (1..ub-generation-qualifier-length)) OPTIONAL
-}
-
--- see also teletex-personal-name
-OrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF OrganizationalUnitName
-
--- see also teletex-organizational-unit-names
-OrganizationalUnitName ::=
- PrintableString(SIZE (1..ub-organizational-unit-name-length))
-
--- Built-in Domain-defined Attributes
-BuiltInDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- BuiltInDomainDefinedAttribute
-
-BuiltInDomainDefinedAttribute ::= SEQUENCE {
- type PrintableString(SIZE (1..ub-domain-defined-attribute-type-length)),
- value PrintableString(SIZE (1..ub-domain-defined-attribute-value-length))
-}
-
--- Extension Attributes
-ExtensionAttributes ::=
- SET SIZE (1..ub-extension-attributes) OF ExtensionAttribute
-
-ExtensionAttribute ::= SEQUENCE {
- extension-attribute-type
- [0] EXTENSION-ATTRIBUTE.&id({ExtensionAttributeTable}),
- extension-attribute-value
- [1] EXTENSION-ATTRIBUTE.&Type
- ({ExtensionAttributeTable}{@extension-attribute-type})
-}
-
-EXTENSION-ATTRIBUTE ::= CLASS {
- &id INTEGER(0..ub-extension-attributes) UNIQUE,
- &Type
-}WITH SYNTAX {&Type
- IDENTIFIED BY &id
-}
-
-ExtensionAttributeTable EXTENSION-ATTRIBUTE ::=
- {common-name | teletex-common-name | universal-common-name |
- teletex-organization-name | universal-organization-name |
- teletex-personal-name | universal-personal-name |
- teletex-organizational-unit-names | universal-organizational-unit-names |
- teletex-domain-defined-attributes | universal-domain-defined-attributes |
- pds-name | physical-delivery-country-name | postal-code |
- physical-delivery-office-name | universal-physical-delivery-office-name |
- physical-delivery-office-number | universal-physical-delivery-office-number
- | extension-OR-address-components |
- universal-extension-OR-address-components | physical-delivery-personal-name
- | universal-physical-delivery-personal-name |
- physical-delivery-organization-name |
- universal-physical-delivery-organization-name |
- extension-physical-delivery-address-components |
- universal-extension-physical-delivery-address-components |
- unformatted-postal-address | universal-unformatted-postal-address |
- street-address | universal-street-address | post-office-box-address |
- universal-post-office-box-address | poste-restante-address |
- universal-poste-restante-address | unique-postal-name |
- universal-unique-postal-name | local-postal-attributes |
- universal-local-postal-attributes | extended-network-address | terminal-type
- }
-
--- Extension Standard Attributes
-common-name EXTENSION-ATTRIBUTE ::= {CommonName
- IDENTIFIED BY 1
-}
-
-CommonName ::= PrintableString(SIZE (1..ub-common-name-length))
-
-teletex-common-name EXTENSION-ATTRIBUTE ::= {TeletexCommonName
- IDENTIFIED BY 2
-}
-
-TeletexCommonName ::= TeletexString(SIZE (1..ub-common-name-length))
-
-universal-common-name EXTENSION-ATTRIBUTE ::= {
- UniversalCommonName
- IDENTIFIED BY 24
-}
-
-UniversalCommonName ::= UniversalOrBMPString{ub-common-name-length}
-
-teletex-organization-name EXTENSION-ATTRIBUTE ::= {
- TeletexOrganizationName
- IDENTIFIED BY 3
-}
-
-TeletexOrganizationName ::=
- TeletexString(SIZE (1..ub-organization-name-length))
-
-universal-organization-name EXTENSION-ATTRIBUTE ::= {
- UniversalOrganizationName
- IDENTIFIED BY 25
-}
-
-UniversalOrganizationName ::= UniversalOrBMPString{ub-organization-name-length}
-
-teletex-personal-name EXTENSION-ATTRIBUTE ::= {
- TeletexPersonalName
- IDENTIFIED BY 4
-}
-
-TeletexPersonalName ::= SET {
- surname [0] TeletexString(SIZE (1..ub-surname-length)),
- given-name
- [1] TeletexString(SIZE (1..ub-given-name-length)) OPTIONAL,
- initials
- [2] TeletexString(SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier
- [3] TeletexString(SIZE (1..ub-generation-qualifier-length)) OPTIONAL
-}
-
-universal-personal-name EXTENSION-ATTRIBUTE ::= {
- UniversalPersonalName
- IDENTIFIED BY 26
-}
-
-UniversalPersonalName ::= SET {
- surname [0] UniversalOrBMPString{ub-universal-surname-length},
- -- If a language is specified within surname, then that language applies to each of the following
- -- optional components unless the component specifies another language.
- given-name
- [1] UniversalOrBMPString{ub-universal-given-name-length} OPTIONAL,
- initials
- [2] UniversalOrBMPString{ub-universal-initials-length} OPTIONAL,
- generation-qualifier
- [3] UniversalOrBMPString{ub-universal-generation-qualifier-length}
- OPTIONAL
-}
-
-teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
- TeletexOrganizationalUnitNames
- IDENTIFIED BY 5
-}
-
-TeletexOrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF TeletexOrganizationalUnitName
-
-TeletexOrganizationalUnitName ::=
- TeletexString(SIZE (1..ub-organizational-unit-name-length))
-
-universal-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
- UniversalOrganizationalUnitNames
- IDENTIFIED BY 27
-}
-
-UniversalOrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF UniversalOrganizationalUnitName
-
--- If a unit name specifies a language, then that language applies to subordinate unit names unless
--- the subordinate specifies another language.
-UniversalOrganizationalUnitName ::=
- UniversalOrBMPString{ub-organizational-unit-name-length}
-
-UniversalOrBMPString{INTEGER:ub-string-length} ::= SET {
- character-encoding
- CHOICE {two-octets BMPString(SIZE (1..ub-string-length)),
- four-octets UniversalString(SIZE (1..ub-string-length))},
- iso-639-language-code PrintableString(SIZE (2 | 5)) OPTIONAL
-}
-
-pds-name EXTENSION-ATTRIBUTE ::= {PDSName
- IDENTIFIED BY 7
-}
-
-PDSName ::= PrintableString(SIZE (1..ub-pds-name-length))
-
-physical-delivery-country-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryCountryName
- IDENTIFIED BY 8
-}
-
-PhysicalDeliveryCountryName ::= CHOICE {
- x121-dcc-code NumericString(SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length))
-}
-
-postal-code EXTENSION-ATTRIBUTE ::= {PostalCode
- IDENTIFIED BY 9
-}
-
-PostalCode ::= CHOICE {
- numeric-code NumericString(SIZE (1..ub-postal-code-length)),
- printable-code PrintableString(SIZE (1..ub-postal-code-length))
-}
-
-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOfficeName
- IDENTIFIED BY 10
-}
-
-PhysicalDeliveryOfficeName ::= PDSParameter
-
-universal-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryOfficeName
- IDENTIFIED BY 29
-}
-
-UniversalPhysicalDeliveryOfficeName ::= UniversalPDSParameter
-
-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOfficeNumber
- IDENTIFIED BY 11
-}
-
-PhysicalDeliveryOfficeNumber ::= PDSParameter
-
-universal-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryOfficeNumber
- IDENTIFIED BY 30
-}
-
-UniversalPhysicalDeliveryOfficeNumber ::= UniversalPDSParameter
-
-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
- ExtensionORAddressComponents
- IDENTIFIED BY 12
-}
-
-ExtensionORAddressComponents ::= PDSParameter
-
-universal-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
- UniversalExtensionORAddressComponents
- IDENTIFIED BY 31
-}
-
-UniversalExtensionORAddressComponents ::= UniversalPDSParameter
-
-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryPersonalName
- IDENTIFIED BY 13
-}
-
-PhysicalDeliveryPersonalName ::= PDSParameter
-
-universal-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryPersonalName
- IDENTIFIED BY 32
-}
-
-UniversalPhysicalDeliveryPersonalName ::= UniversalPDSParameter
-
-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOrganizationName
- IDENTIFIED BY 14
-}
-
-PhysicalDeliveryOrganizationName ::= PDSParameter
-
-universal-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::=
-{UniversalPhysicalDeliveryOrganizationName
- IDENTIFIED BY 33
-}
-
-UniversalPhysicalDeliveryOrganizationName ::= UniversalPDSParameter
-
-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::=
-{ExtensionPhysicalDeliveryAddressComponents
- IDENTIFIED BY 15
-}
-
-ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
-
-universal-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE
- ::= {UniversalExtensionPhysicalDeliveryAddressComponents
- IDENTIFIED BY 34
-}
-
-UniversalExtensionPhysicalDeliveryAddressComponents ::= UniversalPDSParameter
-
-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
- UnformattedPostalAddress
- IDENTIFIED BY 16
-}
-
-UnformattedPostalAddress ::= SET {
- printable-address
- SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
- PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string
- TeletexString(SIZE (1..ub-unformatted-address-length)) OPTIONAL
-}
-
-universal-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
- UniversalUnformattedPostalAddress
- IDENTIFIED BY 35
-}
-
-UniversalUnformattedPostalAddress ::=
- UniversalOrBMPString{ub-unformatted-address-length}
-
-street-address EXTENSION-ATTRIBUTE ::= {StreetAddress
- IDENTIFIED BY 17
-}
-
-StreetAddress ::= PDSParameter
-
-universal-street-address EXTENSION-ATTRIBUTE ::= {
- UniversalStreetAddress
- IDENTIFIED BY 36
-}
-
-UniversalStreetAddress ::= UniversalPDSParameter
-
-post-office-box-address EXTENSION-ATTRIBUTE ::= {
- PostOfficeBoxAddress
- IDENTIFIED BY 18
-}
-
-PostOfficeBoxAddress ::= PDSParameter
-
-universal-post-office-box-address EXTENSION-ATTRIBUTE ::= {
- UniversalPostOfficeBoxAddress
- IDENTIFIED BY 37
-}
-
-UniversalPostOfficeBoxAddress ::= UniversalPDSParameter
-
-poste-restante-address EXTENSION-ATTRIBUTE ::= {
- PosteRestanteAddress
- IDENTIFIED BY 19
-}
-
-PosteRestanteAddress ::= PDSParameter
-
-universal-poste-restante-address EXTENSION-ATTRIBUTE ::= {
- UniversalPosteRestanteAddress
- IDENTIFIED BY 38
-}
-
-UniversalPosteRestanteAddress ::= UniversalPDSParameter
-
-unique-postal-name EXTENSION-ATTRIBUTE ::= {UniquePostalName
- IDENTIFIED BY 20
-}
-
-UniquePostalName ::= PDSParameter
-
-universal-unique-postal-name EXTENSION-ATTRIBUTE ::= {
- UniversalUniquePostalName
- IDENTIFIED BY 39
-}
-
-UniversalUniquePostalName ::= UniversalPDSParameter
-
-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
- LocalPostalAttributes
- IDENTIFIED BY 21
-}
-
-LocalPostalAttributes ::= PDSParameter
-
-universal-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
- UniversalLocalPostalAttributes
- IDENTIFIED BY 40
-}
-
-UniversalLocalPostalAttributes ::= UniversalPDSParameter
-
-PDSParameter ::= SET {
- printable-string PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string TeletexString(SIZE (1..ub-pds-parameter-length)) OPTIONAL
-}
-
-UniversalPDSParameter ::= UniversalOrBMPString{ub-pds-parameter-length}
-
-extended-network-address EXTENSION-ATTRIBUTE ::= {
- ExtendedNetworkAddress
- IDENTIFIED BY 22
-}
-
-ExtendedNetworkAddress ::= CHOICE {
- e163-4-address
- SEQUENCE {number
- [0] NumericString(SIZE (1..ub-e163-4-number-length)),
- sub-address
- [1] NumericString(SIZE (1..ub-e163-4-sub-address-length))
- OPTIONAL},
- psap-address [0] PresentationAddress
-}
-
-terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType
- IDENTIFIED BY 23
-}
-
-TerminalType ::= INTEGER {
- telex(3), teletex(4), g3-facsimile(5), g4-facsimile(6), ia5-terminal(7),
- videotex(8)}(0..ub-integer-options)
-
--- Extension Domain-defined Attributes
-teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
- TeletexDomainDefinedAttributes
- IDENTIFIED BY 6
-}
-
-TeletexDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- TeletexDomainDefinedAttribute
-
-TeletexDomainDefinedAttribute ::= SEQUENCE {
- type TeletexString(SIZE (1..ub-domain-defined-attribute-type-length)),
- value TeletexString(SIZE (1..ub-domain-defined-attribute-value-length))
-}
-
-universal-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
- UniversalDomainDefinedAttributes
- IDENTIFIED BY 28
-}
-
-UniversalDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- UniversalDomainDefinedAttribute
-
-UniversalDomainDefinedAttribute ::= SEQUENCE {
- type UniversalOrBMPString{ub-domain-defined-attribute-type-length},
- value UniversalOrBMPString{ub-domain-defined-attribute-value-length}
-}
-
--- Encoded Information Types
-EncodedInformationTypes ::= [APPLICATION 5] SET {
- built-in-encoded-information-types [0] BuiltInEncodedInformationTypes,
- -- non-basic-parameters --COMPONENTS OF NonBasicParameters,
- extended-encoded-information-types
- [4] ExtendedEncodedInformationTypes OPTIONAL
-}
-
--- Built-in Encoded Information Types
-BuiltInEncodedInformationTypes ::= BIT STRING {
- unknown(0), ia5-text(2), g3-facsimile(3), g4-class-1(4), teletex(5),
- videotex(6), voice(7), sfd(8), mixed-mode(9)
-}(SIZE (0..ub-built-in-encoded-information-types))
-
--- Extended Encoded Information Types
-ExtendedEncodedInformationTypes ::=
- SET SIZE (1..ub-encoded-information-types) OF ExtendedEncodedInformationType
-
-ExtendedEncodedInformationType ::= OBJECT IDENTIFIER
-
--- Non-basic Parameters
-NonBasicParameters ::= SET {
- g3-facsimile [1] G3FacsimileNonBasicParameters DEFAULT {},
- teletex [2] TeletexNonBasicParameters DEFAULT {}
-}
-
-G3FacsimileNonBasicParameters ::= BIT STRING {
- two-dimensional(8), -- As defined in ITU-T Recommendation T.30
- fine-resolution(9), --
- unlimited-length(20), -- These bit values are chosen such that when
- b4-length(21), -- encoded using ASN.1 Basic Encoding Rules
- a3-width(22), -- the resulting octets have the same values
- b4-width(23), -- as for T.30 encoding
- t6-coding(25), --
- uncompressed(30), -- Trailing zero bits are not significant.
- width-middle-864-of-1728(37), -- It is recommended that implementations
- width-middle-1216-of-1728(38), -- should not encode more than 32 bits unless
- resolution-type(44), -- higher numbered bits are non-zero.
- resolution-400x400(45), resolution-300x300(46), resolution-8x15(47),
- edi(49), dtm(50), bft(51), mixed-mode(58), character-mode(60),
- twelve-bits(65), preferred-huffmann(66), full-colour(67), jpeg(68),
- processable-mode-26(71)}
-
-TeletexNonBasicParameters ::= SET {
- graphic-character-sets [0] TeletexString OPTIONAL,
- control-character-sets [1] TeletexString OPTIONAL,
- page-formats [2] OCTET STRING OPTIONAL,
- miscellaneous-terminal-capabilities [3] TeletexString OPTIONAL,
- private-use
- [4] OCTET STRING
- OPTIONAL -- maximum ub-teletex-private-use-length octets --
-}
-
--- as defined in CCITT Recommendation T.62
--- Token
-Token ::= SEQUENCE {
- token-type-identifier [0] TOKEN.&id({TokensTable}),
- token
- [1] TOKEN.&Type({TokensTable}{@token-type-identifier})
-}
-
-TOKEN ::= TYPE-IDENTIFIER
-
-TokensTable TOKEN ::= {asymmetric-token, ...}
-
-asymmetric-token TOKEN ::= {
- AsymmetricToken
- IDENTIFIED BY id-tok-asymmetricToken
-}
-
-AsymmetricToken ::=
- SIGNED
- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
- name
- CHOICE {recipient-name RecipientName,
- mta
- [3] SEQUENCE {global-domain-identifier
- GlobalDomainIdentifier OPTIONAL,
- mta-name MTAName
- }},
- time Time,
- signed-data [0] TokenData OPTIONAL,
- encryption-algorithm-identifier
- [1] AlgorithmIdentifier OPTIONAL,
- encrypted-data
- [2] ENCRYPTED{TokenData} OPTIONAL}}
-
-TokenData ::= SEQUENCE {
- type [0] TOKEN-DATA.&id({TokenDataTable}),
- value [1] TOKEN-DATA.&Type({TokenDataTable}{@type})
-}
-
-TOKEN-DATA ::= CLASS {&id INTEGER UNIQUE,
- &Type
-}WITH SYNTAX {&Type
- IDENTIFIED BY &id
-}
-
-TokenDataTable TOKEN-DATA ::=
- {bind-token-signed-data | message-token-signed-data |
- message-token-encrypted-data | bind-token-encrypted-data, ...}
-
-bind-token-signed-data TOKEN-DATA ::= {BindTokenSignedData
- IDENTIFIED BY 1
-}
-
-BindTokenSignedData ::= RandomNumber
-
-RandomNumber ::= BIT STRING
-
-message-token-signed-data TOKEN-DATA ::= {
- MessageTokenSignedData
- IDENTIFIED BY 2
-}
-
-MessageTokenSignedData ::= SEQUENCE {
- content-confidentiality-algorithm-identifier
- [0] ContentConfidentialityAlgorithmIdentifier OPTIONAL,
- content-integrity-check
- [1] ContentIntegrityCheck OPTIONAL,
- message-security-label
- [2] MessageSecurityLabel OPTIONAL,
- proof-of-delivery-request
- [3] ProofOfDeliveryRequest OPTIONAL,
- message-sequence-number [4] INTEGER OPTIONAL
-}
-
-message-token-encrypted-data TOKEN-DATA ::= {
- MessageTokenEncryptedData
- IDENTIFIED BY 3
-}
-
-MessageTokenEncryptedData ::= SEQUENCE {
- content-confidentiality-key [0] EncryptionKey OPTIONAL,
- content-integrity-check [1] ContentIntegrityCheck OPTIONAL,
- message-security-label [2] MessageSecurityLabel OPTIONAL,
- content-integrity-key [3] EncryptionKey OPTIONAL,
- message-sequence-number [4] INTEGER OPTIONAL
-}
-
-EncryptionKey ::= BIT STRING
-
-bind-token-encrypted-data TOKEN-DATA ::= {
- BindTokenEncryptedData
- IDENTIFIED BY 4
-}
-
-BindTokenEncryptedData ::= EXTERNAL
-
--- Security Label
-SecurityLabel ::= SET {
- security-policy-identifier SecurityPolicyIdentifier OPTIONAL,
- security-classification SecurityClassification OPTIONAL,
- privacy-mark PrivacyMark OPTIONAL,
- security-categories SecurityCategories OPTIONAL
-}
-
-SecurityPolicyIdentifier ::= OBJECT IDENTIFIER
-
-SecurityClassification ::= INTEGER {
- unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
- top-secret(5)}(0..ub-integer-options)
-
-PrivacyMark ::= PrintableString(SIZE (1..ub-privacy-mark-length))
-
-SecurityCategories ::= SET SIZE (1..ub-security-categories) OF SecurityCategory
-
-SecurityCategory ::= SEQUENCE {
- type [0] SECURITY-CATEGORY.&id({SecurityCategoriesTable}),
- value [1] SECURITY-CATEGORY.&Type({SecurityCategoriesTable}{@type})
-}
-
-SECURITY-CATEGORY ::= TYPE-IDENTIFIER
-
-SecurityCategoriesTable SECURITY-CATEGORY ::=
- {...}
-
-END -- of MTSAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/MTSUpperBounds.asn b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/MTSUpperBounds.asn
deleted file mode 100644
index 10eac962cb..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/MTSUpperBounds.asn
+++ /dev/null
@@ -1,146 +0,0 @@
--- Module MTSUpperBounds (X.411:06/1999)
-MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0) upper-bounds(3)
- version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS -- nothing -- ;
-
--- Upper Bounds
-ub-additional-info INTEGER ::= 1024
-
-ub-bilateral-info INTEGER ::= 1024
-
-ub-bit-options INTEGER ::= 16
-
-ub-built-in-content-type INTEGER ::= 32767
-
-ub-built-in-encoded-information-types INTEGER ::= 32
-
-ub-certificates INTEGER ::= 64
-
-ub-common-name-length INTEGER ::= 64
-
-ub-content-correlator-length INTEGER ::= 512
-
-ub-content-id-length INTEGER ::= 16
-
-ub-content-length INTEGER ::= 2147483647 -- the largest integer in 32 bits
-
-ub-content-types INTEGER ::= 1024
-
-ub-country-name-alpha-length INTEGER ::= 2
-
-ub-country-name-numeric-length INTEGER ::= 3
-
-ub-diagnostic-codes INTEGER ::= 32767
-
-ub-deliverable-class INTEGER ::= 256
-
-ub-dl-expansions INTEGER ::= 512
-
-ub-domain-defined-attributes INTEGER ::= 4
-
-ub-domain-defined-attribute-type-length INTEGER ::= 8
-
-ub-domain-defined-attribute-value-length INTEGER ::= 128
-
-ub-domain-name-length INTEGER ::= 16
-
-ub-encoded-information-types INTEGER ::= 1024
-
-ub-extension-attributes INTEGER ::= 256
-
-ub-extension-types INTEGER ::= 256
-
-ub-e163-4-number-length INTEGER ::= 15
-
-ub-e163-4-sub-address-length INTEGER ::= 40
-
-ub-generation-qualifier-length INTEGER ::= 3
-
-ub-given-name-length INTEGER ::= 16
-
-ub-initials-length INTEGER ::= 5
-
-ub-integer-options INTEGER ::= 256
-
-ub-labels-and-redirections INTEGER ::= 256
-
-ub-local-id-length INTEGER ::= 32
-
-ub-mta-name-length INTEGER ::= 32
-
-ub-mts-user-types INTEGER ::= 256
-
-ub-numeric-user-id-length INTEGER ::= 32
-
-ub-organization-name-length INTEGER ::= 64
-
-ub-organizational-unit-name-length INTEGER ::= 32
-
-ub-organizational-units INTEGER ::= 4
-
-ub-orig-and-dl-expansions INTEGER ::= 513 -- ub-dl-expansions plus one
-
-ub-password-length INTEGER ::= 62
-
-ub-pds-name-length INTEGER ::= 16
-
-ub-pds-parameter-length INTEGER ::= 30
-
-ub-pds-physical-address-lines INTEGER ::= 6
-
-ub-postal-code-length INTEGER ::= 16
-
-ub-privacy-mark-length INTEGER ::= 128
-
-ub-queue-size INTEGER ::= 2147483647 -- the largest integer in 32 bits
-
-ub-reason-codes INTEGER ::= 32767
-
-ub-recipient-number-for-advice-length INTEGER ::= 32
-
-ub-recipients INTEGER ::= 32767
-
-ub-redirection-classes INTEGER ::= 256
-
-ub-redirections INTEGER ::= 512
-
-ub-restrictions INTEGER ::= 1024
-
-ub-security-categories INTEGER ::= 64
-
-ub-security-labels INTEGER ::= 256
-
-ub-security-problems INTEGER ::= 256
-
-ub-supplementary-info-length INTEGER ::= 256
-
-ub-surname-length INTEGER ::= 40
-
-ub-teletex-private-use-length INTEGER ::= 128
-
-ub-terminal-id-length INTEGER ::= 24
-
-ub-transfers INTEGER ::= 512
-
-ub-tsap-id-length INTEGER ::= 16
-
-ub-unformatted-address-length INTEGER ::= 180
-
-ub-universal-generation-qualifier-length INTEGER ::= 16
-
-ub-universal-given-name-length INTEGER ::= 40
-
-ub-universal-initials-length INTEGER ::= 16
-
-ub-universal-surname-length INTEGER ::= 64
-
-ub-x121-address-length INTEGER ::= 16
-
-END -- of MTSUpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/PKCS7.asn b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/PKCS7.asn
deleted file mode 100644
index 7a06661cc0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/PKCS7.asn
+++ /dev/null
@@ -1,343 +0,0 @@
--- Module PKCS7 (X.420:06/1999)
--- The ASN.1 in version 1.5 of the PKCS#7 document is not defined in an ASN.1 module. This prevents an IMPORT of it into other ASN.1 modules.
--- This Annex contains a module of PKCS#7 ASN.1 definitions conforming to current ASN.1 standards rather than the obsolescent (and now deprecated) 1988/90 version of ASN.1 used in version 1.5 of PKCS#7.
--- Extensions to PKCS#7 defined in RFC 2630 are included.
--- If differences are found between the ASN.1 in the following module and that in PKCS#7, the latter is definitive.
-PKCS7 {iso member-body usa(840) rsadsi(113549) pkcs(1) 7
- module(0) -- module not currently defined in PKCS#7 --} DEFINITIONS IMPLICIT
-TAGS ::=
-BEGIN
-
-IMPORTS
- -- Directory Information Framework
- Attribute, Name
- --==
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3}
- -- Directory Authentication Framework
- AlgorithmIdentifier, AttributeCertificate, Certificate, CertificateList,
- CertificateSerialNumber, HASH{}, SIGNED{}
- --==
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3};
-
--- In PKCS#7 the HASHED parameterised type applies the hash function to the
--- contents octets component of a DER encoding of a value of the parameter.
--- The ENCRYPTED parameterised type is redefined here because PKCS#7 encrypted values are
--- defined as OCTET STRING, instead of BIT STRING as in the Directory Authentication Framework
-ENCRYPTED{ToBeEnciphered} ::=
- OCTET STRING
- (CONSTRAINED BY {
- -- must be the result of applying an encipherment procedure to the contents octets component
- -- of a definite-length BER-encoding of a value of --ToBeEnciphered})
-
-ContentInfo ::= SEQUENCE {
- content-type PKCS7-CONTENT-TYPE.&id({PKCS7ContentTable}),
--- pkcs7-content [0] PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}) OPTIONAL
- pkcs7-content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL
-}
-
-PKCS7-CONTENT-TYPE ::= TYPE-IDENTIFIER
-
-PKCS7ContentTable PKCS7-CONTENT-TYPE ::=
- {data | signed-data | enveloped-data | signed-and-enveloped-data |
- digested-data | encrypted-data | authenticated-data, ...}
-
--- Data
-data PKCS7-CONTENT-TYPE ::= {Data
- IDENTIFIED BY id-data
-}
-
-Data ::= OCTET STRING
-
--- Signed Data
-signed-data PKCS7-CONTENT-TYPE ::= {SignedData
- IDENTIFIED BY id-signed-data
-}
-
-SignedData ::= SEQUENCE {
- version Version,
- digestAlgorithms DigestAlgorithmIdentifiers,
- contentInfo ContentInfo,
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL,
- signerInfos SignerInfos
-}
-
-Version ::= INTEGER
-
-DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
-
-DigestAlgorithmIdentifier ::= AlgorithmIdentifier
-
-CertificateSet ::= SET OF CertificateChoice
-
-CertificateChoice ::= CHOICE {
- certificate Certificate,
- extendedCertificate [0] ExtendedCertificate, -- Obsolete
- attributeCertificate [1] AttributeCertificate
-}
-
-CertificateRevocationLists ::= SET OF CertificateList
-
-SignerInfos ::= SET OF SignerInfo
-
-SignerInfo ::= SEQUENCE {
- version Version,
- signerIdentifier SignerIdentifier,
- digestAlgorithm DigestAlgorithmIdentifier,
- authenticatedAttributes [0] Attributes OPTIONAL,
- digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
- encryptedDigest EncryptedDigest,
- unauthenticatedAttributes [1] Attributes OPTIONAL
-}
-
-SignerIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [2] SubjectKeyIdentifier
-}
-
-IssuerAndSerialNumber ::= SEQUENCE {
- issuer Name,
- serialNumber CertificateSerialNumber
-}
-
-SubjectKeyIdentifier ::= OCTET STRING
-
-DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-EncryptedDigest ::= ENCRYPTED{DigestInfo}
-
-DigestInfo ::= SEQUENCE {
- digestAlgorithm DigestAlgorithmIdentifier,
- digest Digest
-}
-
-Digest ::=
- HASH
- {CHOICE {content
- [1] PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}),
- authenticated-attributes [0] EXPLICIT Attributes}}
-
--- Enveloped Data
-enveloped-data PKCS7-CONTENT-TYPE ::= {
- EnvelopedData
- IDENTIFIED BY id-enveloped-data
-}
-
-EnvelopedData ::= SEQUENCE {
- version Version,
- originatorInfo [0] OriginatorInfo OPTIONAL,
- recipientInfos RecipientInfos,
- encryptedContentInfo EncryptedContentInfo,
- unprotectedAttributes [1] Attributes OPTIONAL
-}
-
-OriginatorInfo ::= SEQUENCE {
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL
-}
-
-RecipientInfos ::= SET SIZE (1..MAX) OF RecipientInfo
-
-RecipientInfo ::= CHOICE {
- keyTransportRecipientInfo KeyTransportRecipientInfo,
- keyAgreementRecipientInfo [1] KeyAgreementRecipientInfo,
- keyEncryptionKeyRecipientInfo [2] KeyEncryptionKeyRecipientInfo
-}
-
-KeyTransportRecipientInfo ::= SEQUENCE {
- version Version,
- recipientIdentifier RecipientIdentifier,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- encryptedKey EncryptedKey
-}
-
-RecipientIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [0] SubjectKeyIdentifier
-}
-
-KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-EncryptedKey ::= OCTET STRING
-
-KeyAgreementRecipientInfo ::= SEQUENCE {
- version Version,
- originator [0] OriginatorIdentifierOrKey,
- userKeyingMaterial [1] EXPLICIT OCTET STRING OPTIONAL,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- recipientEncryptedKeys RecipientEncryptedKeys
-}
-
-OriginatorIdentifierOrKey ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [0] SubjectKeyIdentifier,
- originatorPublicKey [1] OriginatorPublicKey
-}
-
-OriginatorPublicKey ::= SEQUENCE {
- algorithm AlgorithmIdentifier,
- publicKey BIT STRING
-}
-
-RecipientEncryptedKeys ::= SEQUENCE OF RecipientEncryptedKey
-
-RecipientEncryptedKey ::= SEQUENCE {
- recipientIdentifier KeyAgreementRecipientIdentifier,
- encryptedKey EncryptedKey
-}
-
-KeyAgreementRecipientIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- recipientKeyIdentifier [0] RecipientKeyIdentifier
-}
-
-RecipientKeyIdentifier ::= SEQUENCE {
- subjectKeyIdentifier SubjectKeyIdentifier,
- date GeneralizedTime OPTIONAL,
- otherKeyAttribute OtherKeyAttribute OPTIONAL
-}
-
-OtherKeyAttribute ::= SEQUENCE {
- keyAttributeIdentifier OTHER-KEY-ATTRIBUTE.&id({OtherKeyAttributeTable}),
- keyAttribute
- OTHER-KEY-ATTRIBUTE.&Type
- ({OtherKeyAttributeTable}{@keyAttributeIdentifier}) OPTIONAL
-}
-
-OTHER-KEY-ATTRIBUTE ::= TYPE-IDENTIFIER
-
-OtherKeyAttributeTable OTHER-KEY-ATTRIBUTE ::=
- {...}
-
-KeyEncryptionKeyRecipientInfo ::= SEQUENCE {
- version Version,
- keyEncryptionKeyIdentifier KeyEncryptionKeyIdentifier,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- encryptedKey EncryptedKey
-}
-
-KeyEncryptionKeyIdentifier ::= SEQUENCE {
- keyIdentifier OCTET STRING,
- date GeneralizedTime OPTIONAL,
- otherKeyAttribute OtherKeyAttribute OPTIONAL
-}
-
-EncryptedContentInfo ::= SEQUENCE {
- contentType PKCS7-CONTENT-TYPE.&id({PKCS7ContentTable}),
- contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
- encryptedContent
- [0] ENCRYPTED{PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}{@.contentType})}
- OPTIONAL
-}
-
-ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
--- Signed and Enveloped Data
-signed-and-enveloped-data PKCS7-CONTENT-TYPE ::= {
- SignedAndEnvelopedData
- IDENTIFIED BY id-signed-and-enveloped-data
-}
-
-SignedAndEnvelopedData ::= SEQUENCE {
- version Version,
- recipientInfos SET SIZE (1..MAX) OF KeyTransportRecipientInfo,
- digestAlgorithms DigestAlgorithmIdentifiers,
- encryptedContentInfo EncryptedContentInfo,
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL,
- signerInfos
- SET SIZE (1..MAX) OF
- SignerInfo
- (WITH COMPONENTS {
- ...,
- signerIdentifier (WITH COMPONENTS {
- issuerAndSerialNumber PRESENT
- }),
- authenticatedAttributes ABSENT,
- unauthenticatedAttributes ABSENT
- })
-}
-
--- Digested Data
-digested-data PKCS7-CONTENT-TYPE ::= {
- DigestedData
- IDENTIFIED BY id-digested-data
-}
-
-DigestedData ::= SEQUENCE {
- version Version,
- digestAlgorithm DigestAlgorithmIdentifier,
- contentInfo ContentInfo,
- digest HASH{PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable})}
-}
-
--- Encrypted Data
-encrypted-data PKCS7-CONTENT-TYPE ::= {
- EncryptedData
- IDENTIFIED BY id-encrypted-data
-}
-
-EncryptedData ::= SEQUENCE {
- version Version,
- encryptedContentInfo EncryptedContentInfo,
- unprotectedAttributes [1] Attributes OPTIONAL
-}
-
--- Authenticated Data
-authenticated-data PKCS7-CONTENT-TYPE ::= {
- AuthenticatedData
- IDENTIFIED BY id-authenticated-data
-}
-
-AuthenticatedData ::= SEQUENCE {
- version Version,
- originatorInfo [0] OriginatorInfo OPTIONAL,
- recipientInfos RecipientInfos,
- macAlgorithm MessageAuthenticationCodeAlgorithmIdentifier,
- digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
- contentInfo ContentInfo,
- authenticatedAttributes [2] Attributes OPTIONAL,
- messageAuthenticationCode MessageAuthenticationCode,
- unauthenticatedAttributes [3] Attributes OPTIONAL
-}
-
-MessageAuthenticationCodeAlgorithmIdentifier ::= AlgorithmIdentifier
-
-MessageAuthenticationCode ::= OCTET STRING
-
--- Object Identifiers
-id-pkcs OBJECT IDENTIFIER ::=
- {iso member-body usa(840) rsadsi(113549) pkcs(1)}
-
-id-data OBJECT IDENTIFIER ::= {id-pkcs 7 1}
-
-id-signed-data OBJECT IDENTIFIER ::= {id-pkcs 7 2}
-
-id-enveloped-data OBJECT IDENTIFIER ::= {id-pkcs 7 3}
-
-id-signed-and-enveloped-data OBJECT IDENTIFIER ::= {id-pkcs 7 4}
-
-id-digested-data OBJECT IDENTIFIER ::= {id-pkcs 7 5}
-
-id-encrypted-data OBJECT IDENTIFIER ::= {id-pkcs 7 6}
-
-id-authenticated-data OBJECT IDENTIFIER ::= {id-pkcs 9 16 1 2}
-
--- Definitions from PKCS#6
-ExtendedCertificate ::=
- SIGNED{ExtendedCertificateInfo}
-
-ExtendedCertificateInfo ::= SEQUENCE {
- version Version,
- certificate Certificate,
- attributes Attributes
-}
-
-Attributes ::= SET OF Attribute
-
-END -- of PKCS#7
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/SelectedAttributeTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/SelectedAttributeTypes.asn
deleted file mode 100644
index 07bba30690..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/SelectedAttributeTypes.asn
+++ /dev/null
@@ -1,1466 +0,0 @@
--- Module SelectedAttributeTypes (X.520:08/1997)
-
-SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
- selectedAttributeTypes(5) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, upperBounds, id-at, id-mr, id-avc,
- directoryAbstractService, id-pr, id-not, id-cat
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, ATTRIBUTE, MATCHING-RULE, AttributeType, OBJECT-CLASS,
- DistinguishedName, objectIdentifierMatch, distinguishedNameMatch,
- CONTEXT, ContextAssertion, AttributeCombination, ContextCombination,
- MAPPING-BASED-MATCHING, MRMapping, AttributeValueAssertion
- FROM InformationFramework informationFramework
- G3FacsimileNonBasicParameters
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- ub-answerback, ub-name, ub-common-name, ub-surname, ub-serial-number,
- ub-locality-name, ub-state-name, ub-street-address, ub-organization-name,
- ub-organizational-unit-name, ub-title, ub-description,
- ub-business-category, ub-postal-line, ub-postal-string, ub-postal-code,
- ub-post-office-box, ub-physical-office-name, ub-telex-number,
- ub-country-code, ub-teletex-terminal-id, ub-telephone-number,
- ub-x121-address, ub-international-isdn-number, ub-destination-indicator,
- ub-user-password, ub-match, ub-knowledge-information,
- ub-directory-string-first-component-match, ub-localeContextSyntax,
- ub-pseudonym
- FROM UpperBounds upperBounds
- FilterItem, HierarchySelections, SearchControlOptions, ServiceControlOptions
- FROM DirectoryAbstractService directoryAbstractService;
-
--- Directory string type
-DirectoryString{INTEGER:maxSize} ::= CHOICE {
- teletexString TeletexString(SIZE (1..maxSize)),
- printableString PrintableString(SIZE (1..maxSize)),
- universalString UniversalString(SIZE (1..maxSize)),
- bmpString BMPString(SIZE (1..maxSize)),
- uTF8String UTF8String(SIZE (1..maxSize))
-}
-
--- Attribute types
-knowledgeInformation ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-knowledge-information}
- EQUALITY MATCHING RULE caseIgnoreMatch
- ID id-at-knowledgeInformation
-}
-
-name ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-name
-}
-
-commonName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-commonName
-}
-
-surname ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-surname}
- ID id-at-surname
-}
-
-givenName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-givenName
-}
-
-initials ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-initials
-}
-
-generationQualifier ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-generationQualifier
-}
-
-uniqueIdentifier ATTRIBUTE ::= {
- WITH SYNTAX UniqueIdentifier
- EQUALITY MATCHING RULE bitStringMatch
- ID id-at-uniqueIdentifier
-}
-
-UniqueIdentifier ::= BIT STRING
-
-dnQualifier ATTRIBUTE ::= {
- WITH SYNTAX PrintableString
- EQUALITY MATCHING RULE caseIgnoreMatch
- ORDERING MATCHING RULE caseIgnoreOrderingMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-dnQualifier
-}
-
-serialNumber ATTRIBUTE ::= {
- WITH SYNTAX PrintableString(SIZE (1..ub-serial-number))
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-serialNumber
-}
-
-pseudonym ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-pseudonym}
- ID id-at-pseudonym
-}
-
-countryName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX CountryName
- SINGLE VALUE TRUE
- ID id-at-countryName
-}
-
-CountryName ::= PrintableString(SIZE (2)) -- ISO 3166 codes only
-
-
-localityName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-locality-name}
- ID id-at-localityName
-}
-
-collectiveLocalityName ATTRIBUTE ::= {
- SUBTYPE OF localityName
- COLLECTIVE TRUE
- ID id-at-collectiveLocalityName
-}
-
-stateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-state-name}
- ID id-at-stateOrProvinceName
-}
-
-collectiveStateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF stateOrProvinceName
- COLLECTIVE TRUE
- ID id-at-collectiveStateOrProvinceName
-}
-
-streetAddress ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-street-address}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-streetAddress
-}
-
-collectiveStreetAddress ATTRIBUTE ::= {
- SUBTYPE OF streetAddress
- COLLECTIVE TRUE
- ID id-at-collectiveStreetAddress
-}
-
-houseIdentifier ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-houseIdentifier
-}
-
-organizationName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organization-name}
- ID id-at-organizationName
-}
-
-collectiveOrganizationName ATTRIBUTE ::= {
- SUBTYPE OF organizationName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationName
-}
-
-organizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organizational-unit-name}
- ID id-at-organizationalUnitName
-}
-
-collectiveOrganizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF organizationalUnitName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationalUnitName
-}
-
-title ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-title}
- ID id-at-title
-}
-
-description ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-description}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-description
-}
-
-searchGuide ATTRIBUTE ::= {WITH SYNTAX Guide
- ID id-at-searchGuide
-}
-
-Guide ::= SET {
- objectClass [0] OBJECT-CLASS.&id OPTIONAL,
- criteria [1] Criteria
-}
-
-Criteria ::= CHOICE {
- type [0] CriteriaItem,
- and [1] SET OF Criteria,
- or [2] SET OF Criteria,
- not [3] Criteria
-}
-
-CriteriaItem ::= CHOICE {
- equality [0] AttributeType,
- substrings [1] AttributeType,
- greaterOrEqual [2] AttributeType,
- lessOrEqual [3] AttributeType,
- approximateMatch [4] AttributeType
-}
-
-enhancedSearchGuide ATTRIBUTE ::= {
- WITH SYNTAX EnhancedGuide
- ID id-at-enhancedSearchGuide
-}
-
-EnhancedGuide ::= SEQUENCE {
- objectClass [0] OBJECT-CLASS.&id,
- criteria [1] Criteria,
- subset
- [2] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} DEFAULT oneLevel
-}
-
-businessCategory ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-business-category}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-businessCategory
-}
-
-postalAddress ATTRIBUTE ::= {
- WITH SYNTAX PostalAddress
- EQUALITY MATCHING RULE caseIgnoreListMatch
- SUBSTRINGS MATCHING RULE caseIgnoreListSubstringsMatch
- ID id-at-postalAddress
-}
-
-PostalAddress ::=
- SEQUENCE SIZE (1..ub-postal-line) OF DirectoryString{ub-postal-string}
-
-collectivePostalAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- COLLECTIVE TRUE
- ID id-at-collectivePostalAddress
-}
-
-postalCode ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-postal-code}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postalCode
-}
-
-collectivePostalCode ATTRIBUTE ::= {
- SUBTYPE OF postalCode
- COLLECTIVE TRUE
- ID id-at-collectivePostalCode
-}
-
-postOfficeBox ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-post-office-box}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postOfficeBox
-}
-
-collectivePostOfficeBox ATTRIBUTE ::= {
- SUBTYPE OF postOfficeBox
- COLLECTIVE TRUE
- ID id-at-collectivePostOfficeBox
-}
-
-physicalDeliveryOfficeName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-physical-office-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-physicalDeliveryOfficeName
-}
-
-collectivePhysicalDeliveryOfficeName ATTRIBUTE ::= {
- SUBTYPE OF physicalDeliveryOfficeName
- COLLECTIVE TRUE
- ID id-at-collectivePhysicalDeliveryOfficeName
-}
-
-telephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX TelephoneNumber
- EQUALITY MATCHING RULE telephoneNumberMatch
- SUBSTRINGS MATCHING RULE telephoneNumberSubstringsMatch
- ID id-at-telephoneNumber
-}
-
-TelephoneNumber ::= PrintableString(SIZE (1..ub-telephone-number))
-
--- String complying with CCITT Rec. E.123 only
-collectiveTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF telephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelephoneNumber
-}
-
-telexNumber ATTRIBUTE ::= {
- WITH SYNTAX TelexNumber
- ID id-at-telexNumber
-}
-
-TelexNumber ::= SEQUENCE {
- telexNumber PrintableString(SIZE (1..ub-telex-number)),
- countryCode PrintableString(SIZE (1..ub-country-code)),
- answerback PrintableString(SIZE (1..ub-answerback))
-}
-
-collectiveTelexNumber ATTRIBUTE ::= {
- SUBTYPE OF telexNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelexNumber
-}
-
-facsimileTelephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX FacsimileTelephoneNumber
- EQUALITY MATCHING RULE facsimileNumberMatch
- SUBSTRINGS MATCHING RULE facsimileNumberSubstringsMatch
- ID id-at-facsimileTelephoneNumber
-}
-
-facsimileNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-facsimileNumberMatch
-}
-
-facsimileNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-facsimileNumberSubstringsMatch
-}
-
-FacsimileTelephoneNumber ::= SEQUENCE {
- telephoneNumber TelephoneNumber,
- parameters G3FacsimileNonBasicParameters OPTIONAL
-}
-
-collectiveFacsimileTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF facsimileTelephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveFacsimileTelephoneNumber
-}
-
-x121Address ATTRIBUTE ::= {
- WITH SYNTAX X121Address
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-x121Address
-}
-
-X121Address ::= NumericString(SIZE (1..ub-x121-address))
-
--- String as defined by ITU-T Rec. X.121
-internationalISDNNumber ATTRIBUTE ::= {
- WITH SYNTAX InternationalISDNNumber
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-internationalISDNNumber
-}
-
-InternationalISDNNumber ::=
- NumericString(SIZE (1..ub-international-isdn-number))
-
--- String complying with ITU-T Rec. E.164 only
-collectiveInternationalISDNNumber ATTRIBUTE ::= {
- SUBTYPE OF internationalISDNNumber
- COLLECTIVE TRUE
- ID id-at-collectiveInternationalISDNNumber
-}
-
-registeredAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- WITH SYNTAX PostalAddress
- ID id-at-registeredAddress
-}
-
-destinationIndicator ATTRIBUTE ::= {
- WITH SYNTAX DestinationIndicator
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-destinationIndicator
-}
-
-DestinationIndicator ::= PrintableString(SIZE (1..ub-destination-indicator))
-
-communicationsService ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-communicationsService
-}
-
-communicationsNetwork ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-at-communicationsNetwork
-}
-
--- alphabetical characters only
-preferredDeliveryMethod ATTRIBUTE ::= {
- WITH SYNTAX PreferredDeliveryMethod
- SINGLE VALUE TRUE
- ID id-at-preferredDeliveryMethod
-}
-
-PreferredDeliveryMethod ::=
- SEQUENCE OF
- INTEGER {any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
- g4-facsimile-delivery(6), ia5-terminal-delivery(7),
- videotex-delivery(8), telephone-delivery(9)}
-
-presentationAddress ATTRIBUTE ::= {
- WITH SYNTAX PresentationAddress
- EQUALITY MATCHING RULE presentationAddressMatch
- SINGLE VALUE TRUE
- ID id-at-presentationAddress
-}
-
-PresentationAddress ::= SEQUENCE {
- pSelector [0] OCTET STRING OPTIONAL,
- sSelector [1] OCTET STRING OPTIONAL,
- tSelector [2] OCTET STRING OPTIONAL,
- nAddresses [3] SET SIZE (1..MAX) OF OCTET STRING
-}
-
-supportedApplicationContext ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-supportedApplicationContext
-}
-
-protocolInformation ATTRIBUTE ::= {
- WITH SYNTAX ProtocolInformation
- EQUALITY MATCHING RULE protocolInformationMatch
- ID id-at-protocolInformation
-}
-
-ProtocolInformation ::= SEQUENCE {
- nAddress OCTET STRING,
- profiles SET OF OBJECT IDENTIFIER
-}
-
-distinguishedName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- ID id-at-distinguishedName
-}
-
-member ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-member
-}
-
-uniqueMember ATTRIBUTE ::= {
- WITH SYNTAX NameAndOptionalUID
- EQUALITY MATCHING RULE uniqueMemberMatch
- ID id-at-uniqueMember
-}
-
-NameAndOptionalUID ::= SEQUENCE {
- dn DistinguishedName,
- uid UniqueIdentifier OPTIONAL
-}
-
-owner ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-owner
-}
-
-roleOccupant ATTRIBUTE ::= {
- SUBTYPE OF distinguishedName
- ID id-at-roleOccupant
-}
-
-seeAlso ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-seeAlso
-}
-
-dmdName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-dmdName
-}
-
-dSAProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-dSAProblem
-}
-
-searchServiceProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-searchServiceProblem
-}
-
-serviceType ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-serviceType
-}
-
-attributeTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-attributeTypeList
-}
-
-filterItem ATTRIBUTE ::= {
- WITH SYNTAX FilterItem
- ID id-not-filterItem
-}
-
-attributeCombinations ATTRIBUTE ::= {
- WITH SYNTAX AttributeCombination
- ID id-not-attributeCombinations
-}
-
-contextTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-contextTypeList
-}
-
-contextList ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-not-contextList
-}
-
-hierarchySelectList ATTRIBUTE ::= {
- WITH SYNTAX HierarchySelections
- SINGLE VALUE TRUE
- ID id-not-hierarchySelectList
-}
-
-searchOptionsList ATTRIBUTE ::= {
- WITH SYNTAX SearchControlOptions
- SINGLE VALUE TRUE
- ID id-not-searchOptionsList
-}
-
-serviceControlOptionsList ATTRIBUTE ::= {
- WITH SYNTAX ServiceControlOptions
- SINGLE VALUE TRUE
- ID id-not-serviceControlOptionsList
-}
-
-multipleMatchingLocalities ATTRIBUTE ::= {
- WITH SYNTAX MultipleMatchingLocalities
- ID id-not-multipleMatchingLocalities
-}
-
-MultipleMatchingLocalities ::= SEQUENCE {
- matchingRuleUsed MATCHING-RULE.&id OPTIONAL,
- attributeList SEQUENCE OF AttributeValueAssertion
-}
-
-proposedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX SEQUENCE OF MRMapping
- ID id-not-proposedRelaxation
-}
-
-appliedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-appliedRelaxation
-}
-
--- Matching rules
-caseIgnoreMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreMatch
-}
-
-caseIgnoreOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreOrderingMatch
-}
-
-caseIgnoreSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreSubstringsMatch
-}
-
-SubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] DirectoryString{ub-match},
- any [1] DirectoryString{ub-match},
- final [2] DirectoryString{ub-match},
- control Attribute
- } -- Used to specify interpretation of the following items
-
--- at most one initial and one final component
-caseExactMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactMatch
-}
-
-caseExactOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactOrderingMatch
-}
-
-caseExactSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion -- only the PrintableString choice
- ID id-mr-caseExactSubstringsMatch
-}
-
-numericStringMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringMatch
-}
-
-numericStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringOrderingMatch
-}
-
-numericStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-numericStringSubstringsMatch
-}
-
-caseIgnoreListMatch MATCHING-RULE ::= {
- SYNTAX CaseIgnoreListMatch
- ID id-mr-caseIgnoreListMatch
-}
-
-CaseIgnoreListMatch ::= SEQUENCE OF DirectoryString{ub-match}
-
-caseIgnoreListSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreListSubstringsMatch
-}
-
-storedPrefixMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-storedPrefixMatch
-}
-
-booleanMatch MATCHING-RULE ::= {SYNTAX BOOLEAN
- ID id-mr-booleanMatch
-}
-
-integerMatch MATCHING-RULE ::= {SYNTAX INTEGER
- ID id-mr-integerMatch
-}
-
-integerOrderingMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerOrderingMatch
-}
-
-bitStringMatch MATCHING-RULE ::= {
- SYNTAX BIT STRING
- ID id-mr-bitStringMatch
-}
-
-octetStringMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringMatch
-}
-
-octetStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringOrderingMatch
-}
-
-octetStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX OctetSubstringAssertion
- ID id-mr-octetStringSubstringsMatch
-}
-
-OctetSubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] OCTET STRING,
- any [1] OCTET STRING,
- final [2] OCTET STRING}
-
--- at most one initial and one final component
-telephoneNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-telephoneNumberMatch
-}
-
-telephoneNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-telephoneNumberSubstringsMatch
-}
-
-presentationAddressMatch MATCHING-RULE ::= {
- SYNTAX PresentationAddress
- ID id-mr-presentationAddressMatch
-}
-
-uniqueMemberMatch MATCHING-RULE ::= {
- SYNTAX NameAndOptionalUID
- ID id-mr-uniqueMemberMatch
-}
-
-protocolInformationMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-protocolInformationMatch
-}
-
-uTCTimeMatch MATCHING-RULE ::= {SYNTAX UTCTime
- ID id-mr-uTCTimeMatch
-}
-
-uTCTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX UTCTime
- ID id-mr-uTCTimeOrderingMatch
-}
-
-generalizedTimeMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeMatch
-}
-
-generalizedTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeOrderingMatch
-}
-
-integerFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerFirstComponentMatch
-}
-
-objectIdentifierFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierFirstComponentMatch
-}
-
-directoryStringFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-directory-string-first-component-match}
- ID id-mr-directoryStringFirstComponentMatch
-}
-
-wordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-wordMatch
-}
-
-keywordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-keywordMatch
-}
-
-systemProposedMatch MATCHING-RULE ::= {ID id-mr-systemProposedMatch
-}
-
-generalWordMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-generalWordMatch
-}
-
-sequenceMatchType ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {sequenceExact(0), sequenceDeletion(1),
- sequenceRestrictedDeletion(2), sequencePermutation(3),
- sequencePermutationAndDeletion(4), sequenceProviderDefined(5)}
- SINGLE VALUE TRUE
- ID id-cat-sequenceMatchType
-} -- defaulting to sequenceExact,
-
-wordMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {wordExact(0), wordTruncated(1), wordPhonetic(2),
- wordProviderDefined(3)}
- SINGLE VALUE TRUE
- ID id-cat-wordMatchType
-} -- defaulting to wordExact
-
-characterMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {characterExact(0), characterCaseIgnore(1), characterMapped(2)}
- SINGLE VALUE TRUE
- ID id-cat-characterMatchTypes
-}
-
-selectedContexts ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-cat-selectedContexts
-}
-
-approximateStringMatch MATCHING-RULE ::= {ID id-mr-approximateStringMatch
-}
-
-ignoreIfAbsentMatch MATCHING-RULE ::= {ID id-mr-ignoreIfAbsentMatch
-}
-
-nullMatch MATCHING-RULE ::= {ID id-mr-nullMatch
-}
-
-ZONAL-MATCHING ::=
- MAPPING-BASED-MATCHING{ZonalSelect, TRUE, ZonalResult, zonalMatch.&id}
-
-ZonalSelect ::= SEQUENCE OF AttributeType
-
-ZonalResult ::= ENUMERATED {
- cannot-select-mapping(0), zero-mappings(2), multiple-mappings(3)}
-
-zonalMatch MATCHING-RULE ::= {
- UNIQUE-MATCH-INDICATOR multipleMatchingLocalities.&id
- ID id-mr-zonalMatch
-}
-
--- Contexts
-languageContext CONTEXT ::= {
- WITH SYNTAX LanguageContextSyntax
- ID id-avc-language
-}
-
-LanguageContextSyntax ::= PrintableString(SIZE (2..3)) -- ISO 639-2 codes only
-
-
-temporalContext CONTEXT ::= {
- WITH SYNTAX TimeSpecification
- ASSERTED AS TimeAssertion
- ID id-avc-temporal
-}
-
-TimeSpecification ::= SEQUENCE {
- time
- CHOICE {absolute
- SEQUENCE {startTime [0] GeneralizedTime OPTIONAL,
- endTime [1] GeneralizedTime OPTIONAL},
- periodic SET OF Period},
- notThisTime BOOLEAN DEFAULT FALSE,
- timeZone TimeZone OPTIONAL
-}
-
-Period ::= SEQUENCE {
- timesOfDay [0] SET SIZE (1..MAX) OF DayTimeBand OPTIONAL,
- days
- [1] CHOICE {intDay SET OF INTEGER,
- bitDay
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3),
- thursday(4), friday(5), saturday(6)},
- dayOf XDayOf} OPTIONAL,
- weeks
- [2] CHOICE {allWeeks NULL,
- intWeek SET OF INTEGER,
- bitWeek
- BIT STRING {week1(0), week2(1), week3(2), week4(3), week5(4)}
- } OPTIONAL,
- months
- [3] CHOICE {allMonths NULL,
- intMonth SET OF INTEGER,
- bitMonth
- BIT STRING {january(0), february(1), march(2), april(3),
- may(4), june(5), july(6), august(7),
- september(8), october(9), november(10),
- december(11)}} OPTIONAL,
- years [4] SET OF INTEGER(1000..MAX) OPTIONAL
-}
-
-XDayOf ::= CHOICE {
- first [1] NamedDay,
- second [2] NamedDay,
- third [3] NamedDay,
- fourth [4] NamedDay,
- fifth [5] NamedDay
-}
-
-NamedDay ::= CHOICE {
- intNamedDays
- ENUMERATED {sunday(1), monday(2), tuesday(3), wednesday(4), thursday(5),
- friday(6), saturday(7)},
- bitNamedDays
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4),
- friday(5), saturday(6)}
-}
-
-DayTimeBand ::= SEQUENCE {
- startDayTime [0] DayTime DEFAULT {hour 0},
- endDayTime [1] DayTime DEFAULT {hour 23, minute 59, second 59}
-}
-
-DayTime ::= SEQUENCE {
- hour [0] INTEGER(0..23),
- minute [1] INTEGER(0..59) DEFAULT 0,
- second [2] INTEGER(0..59) DEFAULT 0
-}
-
-TimeZone ::= INTEGER(-12..12)
-
-TimeAssertion ::= CHOICE {
- now NULL,
- at GeneralizedTime,
- between
- SEQUENCE {startTime [0] GeneralizedTime,
- endTime [1] GeneralizedTime OPTIONAL,
- entirely BOOLEAN DEFAULT FALSE}
-}
-
-localeContext CONTEXT ::= {
- WITH SYNTAX LocaleContextSyntax
- ID id-avc-locale
-}
-
-LocaleContextSyntax ::= CHOICE {
- localeID1 OBJECT IDENTIFIER,
- localeID2 DirectoryString{ub-localeContextSyntax}
-}
-
--- Object identifier assignments -
--- object identifiers assigned in other modules are shown in comments
--- Attributes
--- id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
--- id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-id-at-encryptedAliasedEntryName OBJECT IDENTIFIER ::=
- {id-at 1 2}
-
-id-at-knowledgeInformation OBJECT IDENTIFIER ::= {id-at 2}
-
-id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
-
-id-at-encryptedCommonName OBJECT IDENTIFIER ::= {id-at 3 2}
-
-id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
-
-id-at-encryptedSurname OBJECT IDENTIFIER ::= {id-at 4 2}
-
-id-at-serialNumber OBJECT IDENTIFIER ::= {id-at 5}
-
-id-at-encryptedSerialNumber OBJECT IDENTIFIER ::= {id-at 5 2}
-
-id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
-
-id-at-encryptedCountryName OBJECT IDENTIFIER ::= {id-at 6 2}
-
-id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
-
-id-at-encryptedLocalityName OBJECT IDENTIFIER ::= {id-at 7 2}
-
-id-at-collectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1}
-
-id-at-encryptedCollectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1 2}
-
-id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
-
-id-at-encryptedStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 2}
-
-id-at-collectiveStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 1}
-
-id-at-encryptedCollectiveStateOrProvinceName OBJECT IDENTIFIER ::=
- {id-at 8 1 2}
-
-id-at-streetAddress OBJECT IDENTIFIER ::= {id-at 9}
-
-id-at-encryptedStreetAddress OBJECT IDENTIFIER ::= {id-at 9 2}
-
-id-at-collectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1}
-
-id-at-encryptedCollectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1 2}
-
-id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
-
-id-at-encryptedOrganizationName OBJECT IDENTIFIER ::= {id-at 10 2}
-
-id-at-collectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1}
-
-id-at-encryptedCollectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1 2}
-
-id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
-
-id-at-encryptedOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 2}
-
-id-at-collectiveOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 1}
-
-id-at-encryptedCollectiveOrganizationalUnitName OBJECT IDENTIFIER ::=
- {id-at 11 1 2}
-
-id-at-title OBJECT IDENTIFIER ::= {id-at 12}
-
-id-at-encryptedTitle OBJECT IDENTIFIER ::= {id-at 12 2}
-
-id-at-description OBJECT IDENTIFIER ::= {id-at 13}
-
-id-at-encryptedDescription OBJECT IDENTIFIER ::= {id-at 13 2}
-
-id-at-searchGuide OBJECT IDENTIFIER ::= {id-at 14}
-
-id-at-encryptedSearchGuide OBJECT IDENTIFIER ::= {id-at 14 2}
-
-id-at-businessCategory OBJECT IDENTIFIER ::= {id-at 15}
-
-id-at-encryptedBusinessCategory OBJECT IDENTIFIER ::= {id-at 15 2}
-
-id-at-postalAddress OBJECT IDENTIFIER ::= {id-at 16}
-
-id-at-encryptedPostalAddress OBJECT IDENTIFIER ::= {id-at 16 2}
-
-id-at-collectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1}
-
-id-at-encryptedCollectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1 2}
-
-id-at-postalCode OBJECT IDENTIFIER ::= {id-at 17}
-
-id-at-encryptedPostalCode OBJECT IDENTIFIER ::= {id-at 17 2}
-
-id-at-collectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1}
-
-id-at-encryptedCollectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1 2}
-
-id-at-postOfficeBox OBJECT IDENTIFIER ::= {id-at 18}
-
-id-at-encryptedPostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 2}
-
-id-at-collectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1}
-
-id-at-encryptedCollectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1 2}
-
-id-at-physicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19}
-
-id-at-encryptedPhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 2}
-
-id-at-collectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 1}
-
-id-at-encryptedCollectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::=
- {id-at 19 1 2}
-
-id-at-telephoneNumber OBJECT IDENTIFIER ::= {id-at 20}
-
-id-at-encryptedTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 2}
-
-id-at-collectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1}
-
-id-at-encryptedCollectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1 2}
-
-id-at-telexNumber OBJECT IDENTIFIER ::= {id-at 21}
-
-id-at-encryptedTelexNumber OBJECT IDENTIFIER ::= {id-at 21 2}
-
-id-at-collectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1}
-
-id-at-encryptedCollectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1 2}
-
--- id-at-teletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22}
--- id-at-encryptedTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 2}
--- id-at-collectiveTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 1}
--- id-at-encryptedCollectiveTeletexTerminalIdentifier
--- OBJECT IDENTIFIER ::= {id-at 22 1 2}
-id-at-facsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23}
-
-id-at-encryptedFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 2}
-
-id-at-collectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 1}
-
-id-at-encryptedCollectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23 1 2}
-
-id-at-x121Address OBJECT IDENTIFIER ::= {id-at 24}
-
-id-at-encryptedX121Address OBJECT IDENTIFIER ::= {id-at 24 2}
-
-id-at-internationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25}
-
-id-at-encryptedInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 2}
-
-id-at-collectiveInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 1}
-
-id-at-encryptedCollectiveInternationalISDNNumber OBJECT IDENTIFIER ::=
- {id-at 25 1 2}
-
-id-at-registeredAddress OBJECT IDENTIFIER ::= {id-at 26}
-
-id-at-encryptedRegisteredAddress OBJECT IDENTIFIER ::= {id-at 26 2}
-
-id-at-destinationIndicator OBJECT IDENTIFIER ::= {id-at 27}
-
-id-at-encryptedDestinationIndicator OBJECT IDENTIFIER ::= {id-at 27 2}
-
-id-at-preferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28}
-
-id-at-encryptedPreferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28 2}
-
-id-at-presentationAddress OBJECT IDENTIFIER ::= {id-at 29}
-
-id-at-encryptedPresentationAddress OBJECT IDENTIFIER ::= {id-at 29 2}
-
-id-at-supportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30}
-
-id-at-encryptedSupportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30 2}
-
-id-at-member OBJECT IDENTIFIER ::= {id-at 31}
-
-id-at-encryptedMember OBJECT IDENTIFIER ::= {id-at 31 2}
-
-id-at-owner OBJECT IDENTIFIER ::= {id-at 32}
-
-id-at-encryptedOwner OBJECT IDENTIFIER ::= {id-at 32 2}
-
-id-at-roleOccupant OBJECT IDENTIFIER ::= {id-at 33}
-
-id-at-encryptedRoleOccupant OBJECT IDENTIFIER ::= {id-at 33 2}
-
-id-at-seeAlso OBJECT IDENTIFIER ::= {id-at 34}
-
-id-at-encryptedSeeAlso OBJECT IDENTIFIER ::= {id-at 34 2}
-
--- id-at-userPassword OBJECT IDENTIFIER ::= {id-at 35}
-id-at-encryptedUserPassword OBJECT IDENTIFIER ::=
- {id-at 35 2}
-
--- id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
-id-at-encryptedUserCertificate OBJECT IDENTIFIER ::=
- {id-at 36 2}
-
--- id-at-cACertificate OBJECT IDENTIFIER ::= {id-at 37}
-id-at-encryptedCACertificate OBJECT IDENTIFIER ::=
- {id-at 37 2}
-
--- id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
-id-at-encryptedAuthorityRevocationList OBJECT IDENTIFIER ::=
- {id-at 38 2}
-
--- id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
-id-at-encryptedCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 39 2}
-
--- id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
-id-at-encryptedCrossCertificatePair OBJECT IDENTIFIER ::=
- {id-at 40 2}
-
-id-at-name OBJECT IDENTIFIER ::= {id-at 41}
-
-id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
-
-id-at-encryptedGivenName OBJECT IDENTIFIER ::= {id-at 42 2}
-
-id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
-
-id-at-encryptedInitials OBJECT IDENTIFIER ::= {id-at 43 2}
-
-id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
-
-id-at-encryptedGenerationQualifier OBJECT IDENTIFIER ::= {id-at 44 2}
-
-id-at-uniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45}
-
-id-at-encryptedUniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45 2}
-
-id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
-
-id-at-encryptedDnQualifier OBJECT IDENTIFIER ::= {id-at 46 2}
-
-id-at-enhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47}
-
-id-at-encryptedEnhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47 2}
-
-id-at-protocolInformation OBJECT IDENTIFIER ::= {id-at 48}
-
-id-at-encryptedProtocolInformation OBJECT IDENTIFIER ::= {id-at 48 2}
-
-id-at-distinguishedName OBJECT IDENTIFIER ::= {id-at 49}
-
-id-at-encryptedDistinguishedName OBJECT IDENTIFIER ::= {id-at 49 2}
-
-id-at-uniqueMember OBJECT IDENTIFIER ::= {id-at 50}
-
-id-at-encryptedUniqueMember OBJECT IDENTIFIER ::= {id-at 50 2}
-
-id-at-houseIdentifier OBJECT IDENTIFIER ::= {id-at 51}
-
-id-at-encryptedHouseIdentifier OBJECT IDENTIFIER ::= {id-at 51 2}
-
---id-at-supportedAlgorithms OBJECT IDENTIFIER ::= {id-at 52}
-id-at-encryptedSupportedAlgorithms OBJECT IDENTIFIER ::=
- {id-at 52 2}
-
---id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
-id-at-encryptedDeltaRevocationList OBJECT IDENTIFIER ::=
- {id-at 53 2}
-
-id-at-dmdName OBJECT IDENTIFIER ::= {id-at 54}
-
-id-at-encryptedDmdName OBJECT IDENTIFIER ::= {id-at 54 2}
-
--- id-at-clearance OBJECT IDENTIFIER ::= {id-at 55}
-id-at-encryptedClearance OBJECT IDENTIFIER ::=
- {id-at 55 2}
-
--- id-at-defaultDirQop OBJECT IDENTIFIER ::= {id-at 56}
-id-at-encryptedDefaultDirQop OBJECT IDENTIFIER ::=
- {id-at 56 2}
-
--- id-at-attributeIntegrityInfo OBJECT IDENTIFIER ::= {id-at 57}
-id-at-encryptedAttributeIntegrityInfo OBJECT IDENTIFIER ::=
- {id-at 57 2}
-
---id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
-id-at-encryptedAttributeCertificate OBJECT IDENTIFIER ::=
- {id-at 58 2}
-
--- id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
-id-at-encryptedAttributeCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 59 2}
-
--- id-at-confKeyInfo OBJECT IDENTIFIER ::= {id-at 60}
-id-at-encryptedConfKeyInfo OBJECT IDENTIFIER ::=
- {id-at 60 2}
-
--- id-at-family-information OBJECT IDENTIFIER {id-at 64}
-id-at-pseudonym OBJECT IDENTIFIER ::=
- {id-at 65}
-
-id-at-communicationsService OBJECT IDENTIFIER ::= {id-at 66}
-
-id-at-communicationsNetwork OBJECT IDENTIFIER ::= {id-at 67}
-
--- Matching rules
--- id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
--- id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-id-mr-caseIgnoreMatch OBJECT IDENTIFIER ::=
- {id-mr 2}
-
-id-mr-caseIgnoreOrderingMatch OBJECT IDENTIFIER ::= {id-mr 3}
-
-id-mr-caseIgnoreSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 4}
-
-id-mr-caseExactMatch OBJECT IDENTIFIER ::= {id-mr 5}
-
-id-mr-caseExactOrderingMatch OBJECT IDENTIFIER ::= {id-mr 6}
-
-id-mr-caseExactSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 7}
-
-id-mr-numericStringMatch OBJECT IDENTIFIER ::= {id-mr 8}
-
-id-mr-numericStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 9}
-
-id-mr-numericStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 10}
-
-id-mr-caseIgnoreListMatch OBJECT IDENTIFIER ::= {id-mr 11}
-
-id-mr-caseIgnoreListSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 12}
-
-id-mr-booleanMatch OBJECT IDENTIFIER ::= {id-mr 13}
-
-id-mr-integerMatch OBJECT IDENTIFIER ::= {id-mr 14}
-
-id-mr-integerOrderingMatch OBJECT IDENTIFIER ::= {id-mr 15}
-
-id-mr-bitStringMatch OBJECT IDENTIFIER ::= {id-mr 16}
-
-id-mr-octetStringMatch OBJECT IDENTIFIER ::= {id-mr 17}
-
-id-mr-octetStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 18}
-
-id-mr-octetStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 19}
-
-id-mr-telephoneNumberMatch OBJECT IDENTIFIER ::= {id-mr 20}
-
-id-mr-telephoneNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 21}
-
-id-mr-presentationAddressMatch OBJECT IDENTIFIER ::= {id-mr 22}
-
-id-mr-uniqueMemberMatch OBJECT IDENTIFIER ::= {id-mr 23}
-
-id-mr-protocolInformationMatch OBJECT IDENTIFIER ::= {id-mr 24}
-
-id-mr-uTCTimeMatch OBJECT IDENTIFIER ::= {id-mr 25}
-
-id-mr-uTCTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 26}
-
-id-mr-generalizedTimeMatch OBJECT IDENTIFIER ::= {id-mr 27}
-
-id-mr-generalizedTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 28}
-
-id-mr-integerFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 29}
-
-id-mr-objectIdentifierFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 30}
-
-id-mr-directoryStringFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 31}
-
-id-mr-wordMatch OBJECT IDENTIFIER ::= {id-mr 32}
-
-id-mr-keywordMatch OBJECT IDENTIFIER ::= {id-mr 33}
-
--- id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
--- id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
--- id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
--- id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
--- id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
--- id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
--- id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
-id-mr-storedPrefixMatch OBJECT IDENTIFIER ::=
- {id-mr 41}
-
--- id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
--- id-mr-readerAndKeyIDMatch OBJECT IDENTIFIER ::= {id-mr 43}
---id-mr-attributeIntegrityMatch OBJECT IDENTIFIER ::= {id-mr 44}
-id-mr-systemProposedMatch OBJECT IDENTIFIER ::=
- {id-mr 47}
-
-id-mr-generalWordMatch OBJECT IDENTIFIER ::= {id-mr 48}
-
-id-mr-approximateStringMatch OBJECT IDENTIFIER ::= {id-mr 49}
-
-id-mr-ignoreIfAbsentMatch OBJECT IDENTIFIER ::= {id-mr 50}
-
-id-mr-nullMatch OBJECT IDENTIFIER ::= {id-mr 51}
-
-id-mr-zonalMatch OBJECT IDENTIFIER ::= {id-mr 52}
-
-id-mr-facsimileNumberMatch OBJECT IDENTIFIER ::= {id-mr 63}
-
-id-mr-facsimileNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 64}
-
--- contexts
-id-avc-language OBJECT IDENTIFIER ::= {id-avc 0}
-
-id-avc-temporal OBJECT IDENTIFIER ::= {id-avc 1}
-
-id-avc-locale OBJECT IDENTIFIER ::= {id-avc 2}
-
---id-avc-attributeValueSecurityLabelContext OBJECT IDENTIFIER ::= {id-avc 3}
---id-avc-attributeValueIntegrityInfoContext OBJECT IDENTIFIER ::= {id-avc 4}
--- Problem definitions
-id-pr-targetDsaUnavailable OBJECT IDENTIFIER ::=
- {id-pr 1}
-
-id-pr-dataSourceUnavailable OBJECT IDENTIFIER ::= {id-pr 2}
-
-id-pr-unidentifiedOperation OBJECT IDENTIFIER ::= {id-pr 3}
-
-id-pr-unavailableOperation OBJECT IDENTIFIER ::= {id-pr 4}
-
-id-pr-searchAttributeViolation OBJECT IDENTIFIER ::= {id-pr 5}
-
-id-pr-searchAttributeCombinationViolation OBJECT IDENTIFIER ::= {id-pr 6}
-
-id-pr-searchValueNotAllowed OBJECT IDENTIFIER ::= {id-pr 7}
-
-id-pr-missingSearchAttribute OBJECT IDENTIFIER ::= {id-pr 8}
-
-id-pr-searchValueViolation OBJECT IDENTIFIER ::= {id-pr 9}
-
-id-pr-attributeNegationViolation OBJECT IDENTIFIER ::= {id-pr 10}
-
-id-pr-searchValueRequired OBJECT IDENTIFIER ::= {id-pr 11}
-
-id-pr-invalidSearchValue OBJECT IDENTIFIER ::= {id-pr 12}
-
-id-pr-searchContextViolation OBJECT IDENTIFIER ::= {id-pr 13}
-
-id-pr-searchContextCombinationViolation OBJECT IDENTIFIER ::= {id-pr 14}
-
-id-pr-missingSearchContext OBJECT IDENTIFIER ::= {id-pr 15}
-
-id-pr-searchContextValueViolation OBJECT IDENTIFIER ::= {id-pr 16}
-
-id-pr-searchContextValueRequired OBJECT IDENTIFIER ::= {id-pr 17}
-
-id-pr-invalidContextSearchValue OBJECT IDENTIFIER ::= {id-pr 18}
-
-id-pr-unsupportedMatchingRule OBJECT IDENTIFIER ::= {id-pr 19}
-
-id-pr-attributeMatchingViolation OBJECT IDENTIFIER ::= {id-pr 20}
-
-id-pr-unsupportedMatchingUse OBJECT IDENTIFIER ::= {id-pr 21}
-
-id-pr-matchingUseViolation OBJECT IDENTIFIER ::= {id-pr 22}
-
-id-pr-hierarchySelectForbidden OBJECT IDENTIFIER ::= {id-pr 23}
-
-id-pr-invalidHierarchySelect OBJECT IDENTIFIER ::= {id-pr 24}
-
-id-pr-unavailableHierarchySelect OBJECT IDENTIFIER ::= {id-pr 25}
-
-id-pr-invalidSearchOptions OBJECT IDENTIFIER ::= {id-pr 26}
-
-id-pr-missingSearchOptions OBJECT IDENTIFIER ::= {id-pr 27}
-
-id-pr-invalidServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 28}
-
-id-pr-missingServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 29}
-
-id-pr-searchSubsetViolation OBJECT IDENTIFIER ::= {id-pr 30}
-
-id-pr-unmatchedKeyAttributes OBJECT IDENTIFIER ::= {id-pr 31}
-
-id-pr-ambiguousKeyAttributes OBJECT IDENTIFIER ::= {id-pr 32}
-
--- Notification attributes
-id-not-dSAProblem OBJECT IDENTIFIER ::= {id-not 0}
-
-id-not-searchServiceProblem OBJECT IDENTIFIER ::= {id-not 1}
-
-id-not-serviceType OBJECT IDENTIFIER ::= {id-not 2}
-
-id-not-attributeTypeList OBJECT IDENTIFIER ::= {id-not 3}
-
-id-not-matchingRuleList OBJECT IDENTIFIER ::= {id-not 4}
-
-id-not-filterItem OBJECT IDENTIFIER ::= {id-not 5}
-
-id-not-attributeCombinations OBJECT IDENTIFIER ::= {id-not 6}
-
-id-not-contextTypeList OBJECT IDENTIFIER ::= {id-not 7}
-
-id-not-contextList OBJECT IDENTIFIER ::= {id-not 8}
-
-id-not-contextCombinations OBJECT IDENTIFIER ::= {id-not 9}
-
-id-not-hierarchySelectList OBJECT IDENTIFIER ::= {id-not 10}
-
-id-not-searchOptionsList OBJECT IDENTIFIER ::= {id-not 11}
-
-id-not-serviceControlOptionsList OBJECT IDENTIFIER ::= {id-not 12}
-
-id-not-multipleMatchingLocalities OBJECT IDENTIFIER ::= {id-not 13}
-
-id-not-proposedRelaxation OBJECT IDENTIFIER ::= {id-not 14}
-
-id-not-appliedRelaxation OBJECT IDENTIFIER ::= {id-not 15}
-
-id-not-substringRequirements OBJECT IDENTIFIER ::= {id-not 16}
-
--- Control attributes
-id-cat-sequenceMatchType OBJECT IDENTIFIER ::=
- {id-cat 1}
-
-id-cat-wordMatchType OBJECT IDENTIFIER ::= {id-cat 2}
-
-id-cat-characterMatchTypes OBJECT IDENTIFIER ::= {id-cat 3}
-
-id-cat-selectedContexts OBJECT IDENTIFIER ::= {id-cat 4}
-
-END -- SelectedAttributeTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/UpperBounds.asn b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/UpperBounds.asn
deleted file mode 100644
index 37890f8b49..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/UpperBounds.asn
+++ /dev/null
@@ -1,89 +0,0 @@
--- Module UpperBounds (X.520:08/1997)
-
-UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ub-answerback INTEGER ::=
- 8
-
-ub-business-category INTEGER ::= 128
-
-ub-common-name INTEGER ::= 64
-
-ub-country-code INTEGER ::= 4
-
-ub-description INTEGER ::= 1024
-
-ub-destination-indicator INTEGER ::= 128
-
-ub-directory-string-first-component-match INTEGER ::= 32768
-
-ub-international-isdn-number INTEGER ::= 16
-
-ub-knowledge-information INTEGER ::= 32768
-
-ub-locality-name INTEGER ::= 128
-
-ub-match INTEGER ::= 128
-
-ub-name INTEGER ::= 64
-
-ub-organization-name INTEGER ::= 64
-
-ub-organizational-unit-name INTEGER ::= 64
-
-ub-physical-office-name INTEGER ::= 128
-
-ub-post-office-box INTEGER ::= 40
-
-ub-postal-code INTEGER ::= 40
-
-ub-postal-line INTEGER ::= 6
-
-ub-postal-string INTEGER ::= 30
-
-ub-privacy-mark-length INTEGER ::= 128
-
-ub-schema INTEGER ::= 1024
-
-ub-search INTEGER ::= 32768
-
-ub-serial-number INTEGER ::= 64
-
-ub-state-name INTEGER ::= 128
-
-ub-street-address INTEGER ::= 128
-
-ub-surname INTEGER ::= 64
-
-ub-tag INTEGER ::= 64
-
-ub-telephone-number INTEGER ::= 32
-
-ub-teletex-terminal-id INTEGER ::= 1024
-
-ub-telex-number INTEGER ::= 14
-
-ub-title INTEGER ::= 64
-
-ub-user-password INTEGER ::= 128
-
-ub-x121-address INTEGER ::= 15
-
-ub-localeContextSyntax INTEGER ::= 128
-
-ub-locale-context-syntax INTEGER ::= 64
-
-ub-pseudonym INTEGER ::= 128
-
-ub-content INTEGER ::= 32768
-
-END -- UpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/UsefulDefinitions.asn b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/UsefulDefinitions.asn
deleted file mode 100644
index d9601bb7d0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/UsefulDefinitions.asn
+++ /dev/null
@@ -1,238 +0,0 @@
--- Module UsefulDefinitions (X.501:08/1997)
-UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ID ::= OBJECT IDENTIFIER
-
-ds ID ::= {joint-iso-itu-t ds(5)}
-
--- categories of information object
-module ID ::= {ds 1}
-
-serviceElement ID ::= {ds 2}
-
-applicationContext ID ::= {ds 3}
-
-attributeType ID ::= {ds 4}
-
-attributeSyntax ID ::= {ds 5}
-
-objectClass ID ::= {ds 6}
-
--- attributeSet ID ::= {ds 7}
-algorithm ID ::= {ds 8}
-
-abstractSyntax ID ::= {ds 9}
-
--- object ID ::= {ds 10}
--- port ID ::= {ds 11}
-dsaOperationalAttribute ID ::=
- {ds 12}
-
-matchingRule ID ::= {ds 13}
-
-knowledgeMatchingRule ID ::= {ds 14}
-
-nameForm ID ::= {ds 15}
-
-group ID ::= {ds 16}
-
-subentry ID ::= {ds 17}
-
-operationalAttributeType ID ::= {ds 18}
-
-operationalBinding ID ::= {ds 19}
-
-schemaObjectClass ID ::= {ds 20}
-
-schemaOperationalAttribute ID ::= {ds 21}
-
-administrativeRoles ID ::= {ds 23}
-
-accessControlAttribute ID ::= {ds 24}
-
-rosObject ID ::= {ds 25}
-
-contract ID ::= {ds 26}
-
-package ID ::= {ds 27}
-
-accessControlSchemes ID ::= {ds 28}
-
-certificateExtension ID ::= {ds 29}
-
-managementObject ID ::= {ds 30}
-
-attributeValueContext ID ::= {ds 31}
-
--- securityExchange ID ::= {ds 32}
-idmProtocol ID ::= {ds 33}
-
-problem ID ::= {ds 34}
-
-notification ID ::= {ds 35}
-
-matchingRestriction ID ::=
- {ds 36} -- None are currently defined by this specification
-
-controlAttributeType ID ::= {ds 37}
-
--- modules
-usefulDefinitions ID ::= {module usefulDefinitions(0) 3}
-
-informationFramework ID ::= {module informationFramework(1) 3}
-
-directoryAbstractService ID ::= {module directoryAbstractService(2) 3}
-
-distributedOperations ID ::= {module distributedOperations(3) 3}
-
-protocolObjectIdentifiers ID ::= {module protocolObjectIdentifiers(4) 3}
-
-selectedAttributeTypes ID ::= {module selectedAttributeTypes(5) 3}
-
-selectedObjectClasses ID ::= {module selectedObjectClasses(6) 3}
-
-authenticationFramework ID ::= {module authenticationFramework(7) 3}
-
-algorithmObjectIdentifiers ID ::= {module algorithmObjectIdentifiers(8) 3}
-
-directoryObjectIdentifiers ID ::= {module directoryObjectIdentifiers(9) 3}
-
-upperBounds ID ::= {module upperBounds(10) 3}
-
-dap ID ::= {module dap(11) 3}
-
-dsp ID ::= {module dsp(12) 3}
-
-distributedDirectoryOIDs ID ::= {module distributedDirectoryOIDs(13) 3}
-
-directoryShadowOIDs ID ::= {module directoryShadowOIDs(14) 3}
-
-directoryShadowAbstractService ID ::=
- {module directoryShadowAbstractService(15) 3}
-
-disp ID ::= {module disp(16) 3}
-
-dop ID ::= {module dop(17) 3}
-
-opBindingManagement ID ::= {module opBindingManagement(18) 3}
-
-opBindingOIDs ID ::= {module opBindingOIDs(19) 3}
-
-hierarchicalOperationalBindings ID ::=
- {module hierarchicalOperationalBindings(20) 3}
-
-dsaOperationalAttributeTypes ID ::= {module dsaOperationalAttributeTypes(22) 3}
-
-schemaAdministration ID ::= {module schemaAdministration(23) 3}
-
-basicAccessControl ID ::= {module basicAccessControl(24) 3}
-
-directoryOperationalBindingTypes ID ::=
- {module directoryOperationalBindingTypes(25) 3}
-
-certificateExtensions ID ::= {module certificateExtensions(26) 0}
-
-directoryManagement ID ::= {module directoryManagement(27) 1}
-
-enhancedSecurity ID ::= {module enhancedSecurity(28) 1}
-
-iDMProtocolSpecification ID ::= {module iDMProtocolSpecification(30) 4}
-
-directoryIDMProtocols ID ::= {module directoryIDMProtocols(31) 4}
-
--- directorySecurityExchanges ID ::= {module directorySecurityExchanges (29) 1}
--- synonyms
-id-oc ID ::=
- objectClass
-
-id-at ID ::= attributeType
-
-id-as ID ::= abstractSyntax
-
-id-mr ID ::= matchingRule
-
-id-nf ID ::= nameForm
-
-id-sc ID ::= subentry
-
-id-oa ID ::= operationalAttributeType
-
-id-ob ID ::= operationalBinding
-
-id-doa ID ::= dsaOperationalAttribute
-
-id-kmr ID ::= knowledgeMatchingRule
-
-id-soc ID ::= schemaObjectClass
-
-id-soa ID ::= schemaOperationalAttribute
-
-id-ar ID ::= administrativeRoles
-
-id-aca ID ::= accessControlAttribute
-
-id-ac ID ::= applicationContext
-
-id-rosObject ID ::= rosObject
-
-id-contract ID ::= contract
-
-id-package ID ::= package
-
-id-acScheme ID ::= accessControlSchemes
-
-id-ce ID ::= certificateExtension
-
-id-mgt ID ::= managementObject
-
-id-idm ID ::= idmProtocol
-
-id-avc ID ::= attributeValueContext
-
--- id-se ID ::= securityExchange
-id-pr ID ::= problem
-
-id-not ID ::= notification
-
-id-mre ID ::= matchingRestriction
-
-id-cat ID ::= controlAttributeType
-
--- obsolete module identifiers
--- usefulDefinition ID ::= {module 0}
--- informationFramework ID ::= {module 1}
--- directoryAbstractService ID ::= {module 2}
--- distributedOperations ID ::= {module 3}
--- protocolObjectIdentifiers ID ::= {module 4}
--- selectedAttributeTypes ID ::= {module 5}
--- selectedObjectClasses ID ::= {module 6}
--- authenticationFramework ID ::= {module 7}
--- algorithmObjectIdentifiers ID ::= {module 8}
--- directoryObjectIdentifiers ID ::= {module 9}
--- upperBounds ID ::= {module 10}
--- dap ID ::= {module 11}
--- dsp ID ::= {module 12}
--- distributedDirectoryObjectIdentifiers ID ::= {module 13}
--- unused module identifiers
--- directoryShadowOIDs ID ::= {module 14}
--- directoryShadowAbstractService ID ::= {module 15}
--- disp ID ::= {module 16}
--- dop ID ::= {module 17}
--- opBindingManagement ID ::= {module 18}
--- opBindingOIDs ID ::= {module 19}
--- hierarchicalOperationalBindings ID ::= {module 20}
--- dsaOperationalAttributeTypes ID ::= {module 22}
--- schemaAdministration ID ::= {module 23}
--- basicAccessControl ID ::= {module 24}
--- operationalBindingOIDs ID ::= {module 25}
-END -- UsefulDefinitions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/p7_signed_data.pem b/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/p7_signed_data.pem
deleted file mode 100644
index fc6bdebd8b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/modified_x420/p7_signed_data.pem
+++ /dev/null
@@ -1,23 +0,0 @@
------BEGIN PKCS7-----
-MIIDxQYJKoZIhvcNAQcCoIIDtjCCA7ICAQExCzAJBgUrDgMCGgUAMBoGCSqGSIb3
-DQEHAaANBAtwbGFpbiB0ZXh0CqCCAeMwggHfMIIBSAIJAKB+Sm2O7vxbMA0GCSqG
-SIb3DQEBBAUAMDQxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtFcmljc3NvbiBBQjEP
-MA0GA1UECxMGTkVUU2ltMB4XDTA4MDIyOTE1MzEwMFoXDTE4MDIyNjE1MzEwMFow
-NDELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0VyaWNzc29uIEFCMQ8wDQYDVQQLEwZO
-RVRTaW0wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM2EtqGq/lu0DdUfexOk
-X4icontyAFXqJL8TRtsL4tSTleQiHICH+glBpJ1Grk/x5YV6Fke49hSBHhG3J8A7
-CpicAmXTiZR2LGvdLoO2HEwItlR9IaFICsr2/piHzB/ZWnu0uzeHBQW3gJNGG21V
-KltZapcBew3jNG8wdPdykPpnAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAK//FOT1m
-KamyWjwWs1hzmngpqmvQAR4CcD3F5jtbwz8bNZtfoRr1VnJktZhorVb5uWPfahH2
-qnvJEX8EtoY7un8O3N1sJFVFcTkEIz2THalYZG6bQ8owqr4s3vZ3XoOBD5ukVwjE
-sVdDSa4b713tiHCsWoGca7cn6i6y6s/oDpwxggGbMIIBlwIBATBBMDQxCzAJBgNV
-BAYTAlNFMRQwEgYDVQQKEwtFcmljc3NvbiBBQjEPMA0GA1UECxMGTkVUU2ltAgkA
-oH5KbY7u/FswCQYFKw4DAhoFAKCBsTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB
-MBwGCSqGSIb3DQEJBTEPFw0wODAyMjkxNTMxMDFaMCMGCSqGSIb3DQEJBDEWBBQF
-/OBF9SkVcUzcMGOVsg3QKX/hGTBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMH
-MA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG
-9w0DAgIBKDANBgkqhkiG9w0BAQEFAASBgEA7LwwdYP7LMMAoBl7qX+XMF66c5stq
-e9f2BpGsFGqhfDac+tmnCkRu1clr9VUld0DSuw+Qc3oUnpix/Vo5mwmbQ19iR/f9
-oBmm85iZMBDy8vScS6Vm7u+mHvQ9d4iNNS7MDQ8peEu9ItxWe1x3LuCAMbvGMiXE
-75U3Iy4ZYCq4
------END PKCS7-----
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-CommonDataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-CommonDataTypes.asn
deleted file mode 100755
index e3f6e83d6b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-CommonDataTypes.asn
+++ /dev/null
@@ -1,58 +0,0 @@
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
-NBAP-CommonDataTypes {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-CommonDataTypes (3) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
-
--- **************************************************************
---
--- Common Data Types
---
--- **************************************************************
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-MessageDiscriminator ::= ENUMERATED { common, dedicated }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..maxPrivateIEs),
- global OBJECT IDENTIFIER
-}
-
-ProcedureCode ::= INTEGER (0..255)
-
-ProcedureID ::= SEQUENCE {
- procedureCode ProcedureCode,
- ddMode ENUMERATED { tdd, fdd, common, ... }
-}
-
-ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
-
-TransactionID ::= CHOICE {
- shortTransActionId INTEGER (0..127),
- longTransActionId INTEGER (0..32767)
-}
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-Constants.asn b/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-Constants.asn
deleted file mode 100755
index 1411d455b7..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-Constants.asn
+++ /dev/null
@@ -1,688 +0,0 @@
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
-NBAP-Constants {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-Constants (4)}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- ProcedureCode,
- ProtocolIE-ID
-FROM NBAP-CommonDataTypes;
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-audit ProcedureCode ::= 0
-id-auditRequired ProcedureCode ::= 1
-id-blockResource ProcedureCode ::= 2
-id-cellDeletion ProcedureCode ::= 3
-id-cellReconfiguration ProcedureCode ::= 4
-id-cellSetup ProcedureCode ::= 5
-id-cellSynchronisationInitiation ProcedureCode ::= 45
-id-cellSynchronisationReconfiguration ProcedureCode ::= 46
-id-cellSynchronisationReporting ProcedureCode ::= 47
-id-cellSynchronisationTermination ProcedureCode ::= 48
-id-cellSynchronisationFailure ProcedureCode ::= 49
-id-commonMeasurementFailure ProcedureCode ::= 6
-id-commonMeasurementInitiation ProcedureCode ::= 7
-id-commonMeasurementReport ProcedureCode ::= 8
-id-commonMeasurementTermination ProcedureCode ::= 9
-id-commonTransportChannelDelete ProcedureCode ::= 10
-id-commonTransportChannelReconfigure ProcedureCode ::= 11
-id-commonTransportChannelSetup ProcedureCode ::= 12
-id-compressedModeCommand ProcedureCode ::= 14
-id-dedicatedMeasurementFailure ProcedureCode ::= 16
-id-dedicatedMeasurementInitiation ProcedureCode ::= 17
-id-dedicatedMeasurementReport ProcedureCode ::= 18
-id-dedicatedMeasurementTermination ProcedureCode ::= 19
-id-downlinkPowerControl ProcedureCode ::= 20
-id-downlinkPowerTimeslotControl ProcedureCode ::= 38
-id-errorIndicationForCommon ProcedureCode ::= 35
-id-errorIndicationForDedicated ProcedureCode ::= 21
-id-informationExchangeFailure ProcedureCode ::= 40
-id-informationExchangeInitiation ProcedureCode ::= 41
-id-informationExchangeTermination ProcedureCode ::= 42
-id-informationReporting ProcedureCode ::= 43
-id-BearerRearrangement ProcedureCode ::= 50
-id-physicalSharedChannelReconfiguration ProcedureCode ::= 37
-id-privateMessageForCommon ProcedureCode ::= 36
-id-privateMessageForDedicated ProcedureCode ::= 22
-id-radioLinkAddition ProcedureCode ::= 23
-id-radioLinkDeletion ProcedureCode ::= 24
-id-radioLinkFailure ProcedureCode ::= 25
-id-radioLinkPreemption ProcedureCode ::= 39
-id-radioLinkRestoration ProcedureCode ::= 26
-id-radioLinkSetup ProcedureCode ::= 27
-id-reset ProcedureCode ::= 13
-id-resourceStatusIndication ProcedureCode ::= 28
-id-cellSynchronisationAdjustment ProcedureCode ::= 44
-id-synchronisedRadioLinkReconfigurationCancellation ProcedureCode ::= 29
-id-synchronisedRadioLinkReconfigurationCommit ProcedureCode ::= 30
-id-synchronisedRadioLinkReconfigurationPreparation ProcedureCode ::= 31
-id-systemInformationUpdate ProcedureCode ::= 32
-id-unblockResource ProcedureCode ::= 33
-id-unSynchronisedRadioLinkReconfiguration ProcedureCode ::= 34
-id-radioLinkActivation ProcedureCode ::= 51
-id-radioLinkParameterUpdate ProcedureCode ::= 52
-
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfCodes INTEGER ::= 10
-maxNrOfDLTSs INTEGER ::= 15
-maxNrOfDLTSLCRs INTEGER ::= 6
-maxNrOfErrors INTEGER ::= 256
-maxNrOfTFs INTEGER ::= 32
-maxNrOfTFCs INTEGER ::= 1024
-maxNrOfRLs INTEGER ::= 16
-maxNrOfRLs-1 INTEGER ::= 15 -- maxNrOfRLs - 1
-maxNrOfRLs-2 INTEGER ::= 14 -- maxNrOfRLs - 2
-maxNrOfRLSets INTEGER ::= maxNrOfRLs
-maxNrOfDPCHs INTEGER ::= 240
-maxNrOfDPCHLCRs INTEGER ::= 240
-maxNrOfSCCPCHs INTEGER ::= 8
-maxNrOfCPCHs INTEGER ::= 16
-maxNrOfPCPCHs INTEGER ::= 64
-maxNrOfDCHs INTEGER ::= 128
-maxNrOfDSCHs INTEGER ::= 32
-maxNrOfFACHs INTEGER ::= 8
-maxNrOfCCTrCHs INTEGER ::= 16
-maxNrOfPDSCHs INTEGER ::= 256
-maxNrOfHSPDSCHs INTEGER ::= 16
-maxNrOfPUSCHs INTEGER ::= 256
-maxNrOfPDSCHSets INTEGER ::= 256
-maxNrOfPRACHLCRs INTEGER ::= 8
-maxNrOfPUSCHSets INTEGER ::= 256
-maxNrOfSCCPCHLCRs INTEGER ::= 8
-maxNrOfULTSs INTEGER ::= 15
-maxNrOfULTSLCRs INTEGER ::= 6
-maxNrOfUSCHs INTEGER ::= 32
-maxAPSigNum INTEGER ::= 16
-maxNrOfSlotFormatsPRACH INTEGER ::= 8
-maxCellinNodeB INTEGER ::= 256
-maxCCPinNodeB INTEGER ::= 256
-maxCPCHCell INTEGER ::= maxNrOfCPCHs
-maxCTFC INTEGER ::= 16777215
-maxLocalCellinNodeB INTEGER ::= maxCellinNodeB
-maxNoofLen INTEGER ::= 7
-maxFPACHCell INTEGER ::= 8
-maxRACHCell INTEGER ::= maxPRACHCell
-maxPRACHCell INTEGER ::= 16
-maxPCPCHCell INTEGER ::= 64
-maxSCCPCHCell INTEGER ::= 32
-maxSCPICHCell INTEGER ::= 32
-maxTTI-count INTEGER ::= 4
-maxIBSEG INTEGER ::= 16
-maxIB INTEGER ::= 64
-maxFACHCell INTEGER ::= 256 -- maxNrOfFACHs * maxSCCPCHCell
-maxRateMatching INTEGER ::= 256
-maxCodeNrComp-1 INTEGER ::= 256
-maxHS-PDSCHCodeNrComp-1 INTEGER ::= 15
-maxHS-SCCHCodeNrComp-1 INTEGER ::= 127
-maxNrOfCellSyncBursts INTEGER ::= 10
-maxNrOfCodeGroups INTEGER ::= 256
-maxNrOfReceptsPerSyncFrame INTEGER ::= 16
-maxNrOfMeasNCell INTEGER ::= 96
-maxNrOfMeasNCell-1 INTEGER ::= 95 -- maxNrOfMeasNCell - 1
-maxNrOfTFCIGroups INTEGER ::= 256
-maxNrOfTFCI1Combs INTEGER ::= 512
-maxNrOfTFCI2Combs INTEGER ::= 1024
-maxNrOfTFCI2Combs-1 INTEGER ::= 1023
-maxNrOfSF INTEGER ::= 8
-maxTGPS INTEGER ::= 6
-maxCommunicationContext INTEGER ::= 1048575
-maxNrOfLevels INTEGER ::= 256
-maxNoSat INTEGER ::= 16
-maxNoGPSItems INTEGER ::= 8
-maxNrOfHSSCCHs INTEGER ::= 32
-maxNrOfHSSICHs INTEGER ::= 4
-maxNrOfSyncFramesLCR INTEGER ::= 512
-maxNrOfReceptionsperSyncFrameLCR INTEGER ::= 8
-maxNrOfSyncDLCodesLCR INTEGER ::= 32
-maxNrOfHSSCCHCodes INTEGER ::= 4
-maxNrOfMACdFlows INTEGER ::= 8
-maxNrOfMACdFlows-1 INTEGER ::= 7 -- maxNrOfMACdFlows - 1
-maxNrOfMACdPDUIndexes INTEGER ::= 8
-maxNrOfMACdPDUIndexes-1 INTEGER ::= 7 -- maxNoOfMACdPDUIndexes - 1
-maxNrOfPriorityQueues INTEGER ::= 8
-maxNrOfPriorityQueues-1 INTEGER ::= 7 -- maxNoOfPriorityQueues - 1
-maxNrOfHARQProcesses INTEGER ::= 8
-maxNrOfContextsOnUeList INTEGER ::= 16
-maxNrOfCellPortionsPerCell INTEGER ::= 64
-maxNrOfCellPortionsPerCell-1 INTEGER ::= 63
-maxNrOfPriorityClasses INTEGER ::= 16
-maxNrOfSatAlmanac-maxNoSat INTEGER ::= 16 -- maxNrofSatAlmanac - maxNoSat
-
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-AICH-Information ProtocolIE-ID ::= 0
-id-AICH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 1
-id-BCH-Information ProtocolIE-ID ::= 7
-id-BCH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 8
-id-BCCH-ModificationTime ProtocolIE-ID ::= 9
-id-BlockingPriorityIndicator ProtocolIE-ID ::= 10
-id-Cause ProtocolIE-ID ::= 13
-id-CCP-InformationItem-AuditRsp ProtocolIE-ID ::= 14
-id-CCP-InformationList-AuditRsp ProtocolIE-ID ::= 15
-id-CCP-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 16
-id-Cell-InformationItem-AuditRsp ProtocolIE-ID ::= 17
-id-Cell-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 18
-id-Cell-InformationList-AuditRsp ProtocolIE-ID ::= 19
-id-CellParameterID ProtocolIE-ID ::= 23
-id-CFN ProtocolIE-ID ::= 24
-id-C-ID ProtocolIE-ID ::= 25
-id-CommonMeasurementAccuracy ProtocolIE-ID ::= 39
-id-CommonMeasurementObjectType-CM-Rprt ProtocolIE-ID ::= 31
-id-CommonMeasurementObjectType-CM-Rqst ProtocolIE-ID ::= 32
-id-CommonMeasurementObjectType-CM-Rsp ProtocolIE-ID ::= 33
-id-CommonMeasurementType ProtocolIE-ID ::= 34
-id-CommonPhysicalChannelID ProtocolIE-ID ::= 35
-id-CommonPhysicalChannelType-CTCH-SetupRqstFDD ProtocolIE-ID ::= 36
-id-CommonPhysicalChannelType-CTCH-SetupRqstTDD ProtocolIE-ID ::= 37
-id-CommunicationControlPortID ProtocolIE-ID ::= 40
-id-ConfigurationGenerationID ProtocolIE-ID ::= 43
-id-CRNC-CommunicationContextID ProtocolIE-ID ::= 44
-id-CriticalityDiagnostics ProtocolIE-ID ::= 45
-id-DCHs-to-Add-FDD ProtocolIE-ID ::= 48
-id-DCH-AddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 49
-id-DCHs-to-Add-TDD ProtocolIE-ID ::= 50
-id-DCH-DeleteList-RL-ReconfPrepFDD ProtocolIE-ID ::= 52
-id-DCH-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 53
-id-DCH-DeleteList-RL-ReconfRqstFDD ProtocolIE-ID ::= 54
-id-DCH-DeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 55
-id-DCH-FDD-Information ProtocolIE-ID ::= 56
-id-DCH-TDD-Information ProtocolIE-ID ::= 57
-id-DCH-InformationResponse ProtocolIE-ID ::= 59
-id-FDD-DCHs-to-Modify ProtocolIE-ID ::= 62
-id-TDD-DCHs-to-Modify ProtocolIE-ID ::= 63
-id-DCH-ModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 65
-id-DCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 135
-id-DedicatedMeasurementObjectType-DM-Rprt ProtocolIE-ID ::= 67
-id-DedicatedMeasurementObjectType-DM-Rqst ProtocolIE-ID ::= 68
-id-DedicatedMeasurementObjectType-DM-Rsp ProtocolIE-ID ::= 69
-id-DedicatedMeasurementType ProtocolIE-ID ::= 70
-id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD ProtocolIE-ID ::= 72
-id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD ProtocolIE-ID ::= 73
-id-DL-CCTrCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 76
-id-DL-DPCH-InformationItem-RL-AdditionRqstTDD ProtocolIE-ID ::= 77
-id-DL-DPCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 79
-id-DL-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 81
-id-DL-DPCH-Information-RL-ReconfRqstFDD ProtocolIE-ID ::= 82
-id-DL-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 83
-id-DL-DPCH-TimingAdjustment ProtocolIE-ID ::= 21
-id-DL-ReferencePowerInformationItem-DL-PC-Rqst ProtocolIE-ID ::= 84
-id-DLReferencePower ProtocolIE-ID ::= 85
-id-DLReferencePowerList-DL-PC-Rqst ProtocolIE-ID ::= 86
-id-DSCH-AddItem-RL-ReconfPrepFDD ProtocolIE-ID ::= 87
-id-DSCHs-to-Add-FDD ProtocolIE-ID ::= 89
-id-DSCH-DeleteItem-RL-ReconfPrepFDD ProtocolIE-ID ::= 91
-id-DSCH-DeleteList-RL-ReconfPrepFDD ProtocolIE-ID ::= 93
-id-DSCHs-to-Add-TDD ProtocolIE-ID ::= 96
-id-DSCH-Information-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 98
-id-DSCH-Information-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 100
-id-DSCH-InformationResponse ProtocolIE-ID ::= 105
-id-DSCH-FDD-Information ProtocolIE-ID ::= 106
-id-DSCH-TDD-Information ProtocolIE-ID ::= 107
-id-DSCH-ModifyItem-RL-ReconfPrepFDD ProtocolIE-ID ::= 108
-id-DSCH-ModifyList-RL-ReconfPrepFDD ProtocolIE-ID ::= 112
-id-DSCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 136
-id-End-Of-Audit-Sequence-Indicator ProtocolIE-ID ::= 113
-id-FACH-Information ProtocolIE-ID ::= 116
-id-FACH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 117
-id-FACH-ParametersList-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 120
-id-FACH-ParametersListIE-CTCH-SetupRqstFDD ProtocolIE-ID ::= 121
-id-FACH-ParametersListIE-CTCH-SetupRqstTDD ProtocolIE-ID ::= 122
-id-IndicationType-ResourceStatusInd ProtocolIE-ID ::= 123
-id-Local-Cell-ID ProtocolIE-ID ::= 124
-id-Local-Cell-Group-InformationItem-AuditRsp ProtocolIE-ID ::= 2
-id-Local-Cell-Group-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 3
-id-Local-Cell-Group-InformationItem2-ResourceStatusInd ProtocolIE-ID ::= 4
-id-Local-Cell-Group-InformationList-AuditRsp ProtocolIE-ID ::= 5
-id-Local-Cell-InformationItem-AuditRsp ProtocolIE-ID ::= 125
-id-Local-Cell-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 126
-id-Local-Cell-InformationItem2-ResourceStatusInd ProtocolIE-ID ::= 127
-id-Local-Cell-InformationList-AuditRsp ProtocolIE-ID ::= 128
-id-AdjustmentPeriod ProtocolIE-ID ::= 129
-id-MaxAdjustmentStep ProtocolIE-ID ::= 130
-id-MaximumTransmissionPower ProtocolIE-ID ::= 131
-id-MeasurementFilterCoefficient ProtocolIE-ID ::= 132
-id-MeasurementID ProtocolIE-ID ::= 133
-id-MessageStructure ProtocolIE-ID ::= 115
-id-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst ProtocolIE-ID ::= 134
-id-NodeB-CommunicationContextID ProtocolIE-ID ::= 143
-id-NeighbouringCellMeasurementInformation ProtocolIE-ID ::= 455
-id-P-CCPCH-Information ProtocolIE-ID ::= 144
-id-P-CCPCH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 145
-id-P-CPICH-Information ProtocolIE-ID ::= 146
-id-P-CPICH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 147
-id-P-SCH-Information ProtocolIE-ID ::= 148
-id-PCCPCH-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 150
-id-PCCPCH-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 151
-id-PCH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 155
-id-PCH-ParametersItem-CTCH-SetupRqstFDD ProtocolIE-ID ::= 156
-id-PCH-ParametersItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 157
-id-PCH-Information ProtocolIE-ID ::= 158
-id-PDSCH-Information-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 161
-id-PDSCH-Information-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 162
-id-PDSCHSets-AddList-PSCH-ReconfRqst ProtocolIE-ID ::= 163
-id-PDSCHSets-DeleteList-PSCH-ReconfRqst ProtocolIE-ID ::= 164
-id-PDSCHSets-ModifyList-PSCH-ReconfRqst ProtocolIE-ID ::= 165
-id-PICH-Information ProtocolIE-ID ::= 166
-id-PICH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 168
-id-PowerAdjustmentType ProtocolIE-ID ::= 169
-id-PRACH-Information ProtocolIE-ID ::= 170
-id-PrimaryCCPCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 175
-id-PrimaryCCPCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 176
-id-PrimaryCPICH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 177
-id-PrimaryCPICH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 178
-id-PrimarySCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 179
-id-PrimarySCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 180
-id-PrimaryScramblingCode ProtocolIE-ID ::= 181
-id-SCH-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 183
-id-SCH-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 184
-id-PUSCH-Information-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 185
-id-PUSCH-Information-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 186
-id-PUSCHSets-AddList-PSCH-ReconfRqst ProtocolIE-ID ::= 187
-id-PUSCHSets-DeleteList-PSCH-ReconfRqst ProtocolIE-ID ::= 188
-id-PUSCHSets-ModifyList-PSCH-ReconfRqst ProtocolIE-ID ::= 189
-id-RACH-Information ProtocolIE-ID ::= 190
-id-RACH-ParametersItem-CTCH-SetupRqstFDD ProtocolIE-ID ::= 196
-id-RACH-ParameterItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 197
-id-ReportCharacteristics ProtocolIE-ID ::= 198
-id-Reporting-Object-RL-FailureInd ProtocolIE-ID ::= 199
-id-Reporting-Object-RL-RestoreInd ProtocolIE-ID ::= 200
-id-RL-InformationItem-DM-Rprt ProtocolIE-ID ::= 202
-id-RL-InformationItem-DM-Rqst ProtocolIE-ID ::= 203
-id-RL-InformationItem-DM-Rsp ProtocolIE-ID ::= 204
-id-RL-InformationItem-RL-AdditionRqstFDD ProtocolIE-ID ::= 205
-id-RL-informationItem-RL-DeletionRqst ProtocolIE-ID ::= 206
-id-RL-InformationItem-RL-FailureInd ProtocolIE-ID ::= 207
-id-RL-InformationItem-RL-PreemptRequiredInd ProtocolIE-ID ::= 286
-id-RL-InformationItem-RL-ReconfPrepFDD ProtocolIE-ID ::= 208
-id-RL-InformationItem-RL-ReconfRqstFDD ProtocolIE-ID ::= 209
-id-RL-InformationItem-RL-RestoreInd ProtocolIE-ID ::= 210
-id-RL-InformationItem-RL-SetupRqstFDD ProtocolIE-ID ::= 211
-id-RL-InformationList-RL-AdditionRqstFDD ProtocolIE-ID ::= 212
-id-RL-informationList-RL-DeletionRqst ProtocolIE-ID ::= 213
-id-RL-InformationList-RL-PreemptRequiredInd ProtocolIE-ID ::= 237
-id-RL-InformationList-RL-ReconfPrepFDD ProtocolIE-ID ::= 214
-id-RL-InformationList-RL-ReconfRqstFDD ProtocolIE-ID ::= 215
-id-RL-InformationList-RL-SetupRqstFDD ProtocolIE-ID ::= 216
-id-RL-InformationResponseItem-RL-AdditionRspFDD ProtocolIE-ID ::= 217
-id-RL-InformationResponseItem-RL-ReconfReady ProtocolIE-ID ::= 218
-id-RL-InformationResponseItem-RL-ReconfRsp ProtocolIE-ID ::= 219
-id-RL-InformationResponseItem-RL-SetupRspFDD ProtocolIE-ID ::= 220
-id-RL-InformationResponseList-RL-AdditionRspFDD ProtocolIE-ID ::= 221
-id-RL-InformationResponseList-RL-ReconfReady ProtocolIE-ID ::= 222
-id-RL-InformationResponseList-RL-ReconfRsp ProtocolIE-ID ::= 223
-id-RL-InformationResponseList-RL-SetupRspFDD ProtocolIE-ID ::= 224
-id-RL-InformationResponse-RL-AdditionRspTDD ProtocolIE-ID ::= 225
-id-RL-InformationResponse-RL-SetupRspTDD ProtocolIE-ID ::= 226
-id-RL-Information-RL-AdditionRqstTDD ProtocolIE-ID ::= 227
-id-RL-Information-RL-ReconfRqstTDD ProtocolIE-ID ::= 228
-id-RL-Information-RL-ReconfPrepTDD ProtocolIE-ID ::= 229
-id-RL-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 230
-id-RL-ReconfigurationFailureItem-RL-ReconfFailure ProtocolIE-ID ::= 236
-id-RL-Set-InformationItem-DM-Rprt ProtocolIE-ID ::= 238
-id-RL-Set-InformationItem-DM-Rsp ProtocolIE-ID ::= 240
-id-RL-Set-InformationItem-RL-FailureInd ProtocolIE-ID ::= 241
-id-RL-Set-InformationItem-RL-RestoreInd ProtocolIE-ID ::= 242
-id-S-CCPCH-Information ProtocolIE-ID ::= 247
-id-S-CPICH-Information ProtocolIE-ID ::= 249
-id-SCH-Information ProtocolIE-ID ::= 251
-id-S-SCH-Information ProtocolIE-ID ::= 253
-id-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 257
-id-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD ProtocolIE-ID ::= 258
-id-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 259
-id-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD ProtocolIE-ID ::= 260
-id-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD ProtocolIE-ID ::= 261
-id-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD ProtocolIE-ID ::= 262
-id-SecondaryCPICH-InformationList-Cell-SetupRqstFDD ProtocolIE-ID ::= 263
-id-SecondarySCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 264
-id-SecondarySCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 265
-id-SegmentInformationListIE-SystemInfoUpdate ProtocolIE-ID ::= 266
-id-SFN ProtocolIE-ID ::= 268
-id-SignallingBearerRequestIndicator ProtocolIE-ID ::= 138
-id-ShutdownTimer ProtocolIE-ID ::= 269
-id-Start-Of-Audit-Sequence-Indicator ProtocolIE-ID ::= 114
-id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD ProtocolIE-ID ::= 270
-id-Successful-RL-InformationRespItem-RL-SetupFailureFDD ProtocolIE-ID ::= 271
-id-SyncCase ProtocolIE-ID ::= 274
-id-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH ProtocolIE-ID ::= 275
-id-T-Cell ProtocolIE-ID ::= 276
-id-TargetCommunicationControlPortID ProtocolIE-ID ::= 139
-id-TimeSlotConfigurationList-Cell-ReconfRqstTDD ProtocolIE-ID ::= 277
-id-TimeSlotConfigurationList-Cell-SetupRqstTDD ProtocolIE-ID ::= 278
-id-TransmissionDiversityApplied ProtocolIE-ID ::= 279
-id-TypeOfError ProtocolIE-ID ::= 508
-id-UARFCNforNt ProtocolIE-ID ::= 280
-id-UARFCNforNd ProtocolIE-ID ::= 281
-id-UARFCNforNu ProtocolIE-ID ::= 282
-id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD ProtocolIE-ID ::= 284
-id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD ProtocolIE-ID ::= 285
-id-UL-CCTrCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 288
-id-UL-DPCH-InformationItem-RL-AdditionRqstTDD ProtocolIE-ID ::= 289
-id-UL-DPCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 291
-id-UL-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 293
-id-UL-DPCH-Information-RL-ReconfRqstFDD ProtocolIE-ID ::= 294
-id-UL-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 295
-id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD ProtocolIE-ID ::= 296
-id-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD ProtocolIE-ID ::= 297
-id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD ProtocolIE-ID ::= 300
-id-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD ProtocolIE-ID ::= 301
-id-USCH-Information-Add ProtocolIE-ID ::= 302
-id-USCH-Information-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 304
-id-USCH-Information-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 306
-id-USCH-InformationResponse ProtocolIE-ID ::= 309
-id-USCH-Information ProtocolIE-ID ::= 310
-id-USCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 141
-id-Active-Pattern-Sequence-Information ProtocolIE-ID ::= 315
-id-AICH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 316
-id-AdjustmentRatio ProtocolIE-ID ::= 317
-id-AP-AICH-Information ProtocolIE-ID ::= 320
-id-AP-AICH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 322
-id-FACH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 323
-id-CauseLevel-PSCH-ReconfFailure ProtocolIE-ID ::= 324
-id-CauseLevel-RL-AdditionFailureFDD ProtocolIE-ID ::= 325
-id-CauseLevel-RL-AdditionFailureTDD ProtocolIE-ID ::= 326
-id-CauseLevel-RL-ReconfFailure ProtocolIE-ID ::= 327
-id-CauseLevel-RL-SetupFailureFDD ProtocolIE-ID ::= 328
-id-CauseLevel-RL-SetupFailureTDD ProtocolIE-ID ::= 329
-id-CDCA-ICH-Information ProtocolIE-ID ::= 330
-id-CDCA-ICH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 332
-id-Closed-Loop-Timing-Adjustment-Mode ProtocolIE-ID ::= 333
-id-CommonPhysicalChannelType-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 334
-id-Compressed-Mode-Deactivation-Flag ProtocolIE-ID ::= 335
-id-CPCH-Information ProtocolIE-ID ::= 336
-id-CPCH-Parameters-CTCH-SetupRsp ProtocolIE-ID ::= 342
-id-CPCH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 343
-id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 346
-id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 347
-id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 348
-id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 349
-id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 350
-id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 351
-id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 352
-id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 353
-id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 355
-id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 356
-id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 357
-id-DL-TPC-Pattern01Count ProtocolIE-ID ::= 358
-id-DPC-Mode ProtocolIE-ID ::= 450
-id-DPCHConstant ProtocolIE-ID ::= 359
-id-DSCH-FDD-Common-Information ProtocolIE-ID ::= 94
-id-EnhancedDSCHPC ProtocolIE-ID ::= 110
-id-EnhancedDSCHPCIndicator ProtocolIE-ID ::= 111
-id-FACH-ParametersList-CTCH-SetupRsp ProtocolIE-ID ::= 362
-id-Limited-power-increase-information-Cell-SetupRqstFDD ProtocolIE-ID ::= 369
-id-PCH-Parameters-CTCH-SetupRsp ProtocolIE-ID ::= 374
-id-PCH-ParametersItem-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 375
-id-PCPCH-Information ProtocolIE-ID ::= 376
-id-PICH-ParametersItem-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 380
-id-PRACHConstant ProtocolIE-ID ::= 381
-id-PRACH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 383
-id-PUSCHConstant ProtocolIE-ID ::= 384
-id-RACH-Parameters-CTCH-SetupRsp ProtocolIE-ID ::= 385
-id-SSDT-CellIDforEDSCHPC ProtocolIE-ID ::= 443
-id-Synchronisation-Configuration-Cell-ReconfRqst ProtocolIE-ID ::= 393
-id-Synchronisation-Configuration-Cell-SetupRqst ProtocolIE-ID ::= 394
-id-Transmission-Gap-Pattern-Sequence-Information ProtocolIE-ID ::= 395
-id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 396
-id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 397
-id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 398
-id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 399
-id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 400
-id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 401
-id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 402
-id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 403
-id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 405
-id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 406
-id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 407
-id-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD ProtocolIE-ID ::= 408
-id-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD ProtocolIE-ID ::= 409
-id-CommunicationContextInfoItem-Reset ProtocolIE-ID ::= 412
-id-CommunicationControlPortInfoItem-Reset ProtocolIE-ID ::= 414
-id-ResetIndicator ProtocolIE-ID ::= 416
-id-TFCI2-Bearer-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 417
-id-TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD ProtocolIE-ID ::= 418
-id-TFCI2-BearerInformationResponse ProtocolIE-ID ::= 419
-id-TFCI2BearerRequestIndicator ProtocolIE-ID ::= 142
-id-TimingAdvanceApplied ProtocolIE-ID ::= 287
-id-CFNReportingIndicator ProtocolIE-ID ::= 6
-id-SFNReportingIndicator ProtocolIE-ID ::= 11
-id-InnerLoopDLPCStatus ProtocolIE-ID ::= 12
-id-TimeslotISCPInfo ProtocolIE-ID ::= 283
-id-PICH-ParametersItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 167
-id-PRACH-ParametersItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 20
-id-CCTrCH-InformationItem-RL-FailureInd ProtocolIE-ID ::= 46
-id-CCTrCH-InformationItem-RL-RestoreInd ProtocolIE-ID ::= 47
-id-CauseLevel-SyncAdjustmntFailureTDD ProtocolIE-ID ::= 420
-id-CellAdjustmentInfo-SyncAdjustmntRqstTDD ProtocolIE-ID ::= 421
-id-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD ProtocolIE-ID ::= 494
-id-CellSyncBurstInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 482
-id-CellSyncBurstTransInit-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 422
-id-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 423
-id-CellSyncBurstTransReconfiguration-CellSyncReconfRqstTDD ProtocolIE-ID ::= 424
-id-CellSyncBurstMeasReconfiguration-CellSyncReconfRqstTDD ProtocolIE-ID ::= 425
-id-CellSyncBurstTransInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 426
-id-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 427
-id-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD ProtocolIE-ID ::= 428
-id-CellSyncInfo-CellSyncReprtTDD ProtocolIE-ID ::= 429
-id-CSBTransmissionID ProtocolIE-ID ::= 430
-id-CSBMeasurementID ProtocolIE-ID ::= 431
-id-IntStdPhCellSyncInfoItem-CellSyncReprtTDD ProtocolIE-ID ::= 432
-id-NCyclesPerSFNperiod ProtocolIE-ID ::= 433
-id-NRepetitionsPerCyclePeriod ProtocolIE-ID ::= 434
-id-SyncFrameNumber ProtocolIE-ID ::= 437
-id-SynchronisationReportType ProtocolIE-ID ::= 438
-id-SynchronisationReportCharacteristics ProtocolIE-ID ::= 439
-id-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD ProtocolIE-ID ::= 440
-id-LateEntranceCellSyncInfoItem-CellSyncReprtTDD ProtocolIE-ID ::= 119
-id-ReferenceClockAvailability ProtocolIE-ID ::= 435
-id-ReferenceSFNoffset ProtocolIE-ID ::= 436
-id-InformationExchangeID ProtocolIE-ID ::= 444
-id-InformationExchangeObjectType-InfEx-Rqst ProtocolIE-ID ::= 445
-id-InformationType ProtocolIE-ID ::= 446
-id-InformationReportCharacteristics ProtocolIE-ID ::= 447
-id-InformationExchangeObjectType-InfEx-Rsp ProtocolIE-ID ::= 448
-id-InformationExchangeObjectType-InfEx-Rprt ProtocolIE-ID ::= 449
-id-IPDLParameter-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 451
-id-IPDLParameter-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 452
-id-IPDLParameter-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 453
-id-IPDLParameter-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 454
-id-DL-DPCH-LCR-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 74
-id-DwPCH-LCR-Information ProtocolIE-ID ::= 78
-id-DwPCH-LCR-InformationList-AuditRsp ProtocolIE-ID ::= 90
-id-DwPCH-LCR-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 97
-id-DwPCH-LCR-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 99
-id-DwPCH-LCR-Information-ResourceStatusInd ProtocolIE-ID ::= 101
-id-maxFACH-Power-LCR-CTCH-SetupRqstTDD ProtocolIE-ID ::= 154
-id-maxFACH-Power-LCR-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 174
-id-FPACH-LCR-Information ProtocolIE-ID ::= 290
-id-FPACH-LCR-Information-AuditRsp ProtocolIE-ID ::= 292
-id-FPACH-LCR-InformationList-AuditRsp ProtocolIE-ID ::= 22
-id-FPACH-LCR-InformationList-ResourceStatusInd ProtocolIE-ID ::= 311
-id-FPACH-LCR-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 312
-id-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 314
-id-PCCPCH-LCR-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 456
-id-PCH-Power-LCR-CTCH-SetupRqstTDD ProtocolIE-ID ::= 457
-id-PCH-Power-LCR-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 458
-id-PICH-LCR-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 459
-id-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD ProtocolIE-ID ::= 461
-id-RL-InformationResponse-LCR-RL-SetupRspTDD ProtocolIE-ID ::= 463
-id-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD ProtocolIE-ID ::= 465
-id-TimeSlot ProtocolIE-ID ::= 495
-id-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD ProtocolIE-ID ::= 466
-id-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD ProtocolIE-ID ::= 467
-id-TimeslotISCP-LCR-InfoList-RL-SetupRqstTDD ProtocolIE-ID ::= 468
-id-TimeSlotLCR-CM-Rqst ProtocolIE-ID ::= 469
-id-UL-DPCH-LCR-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 470
-id-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 472
-id-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 473
-id-TimeslotISCP-InformationList-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 474
-id-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 475
-id-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 477
-id-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 479
-id-TimeslotISCPInfoList-LCR-DL-PC-RqstTDD ProtocolIE-ID ::= 480
-id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 481
-id-UL-DPCH-LCR-InformationModify-AddList ProtocolIE-ID ::= 483
-id-UL-TimeslotLCR-Information-RL-ReconfPrepTDD ProtocolIE-ID ::= 485
-id-UL-SIRTarget ProtocolIE-ID ::= 510
-id-PDSCH-AddInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 486
-id-PDSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 487
-id-PDSCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 26
-id-PDSCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 27
-id-PDSCH-ModifyInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 488
-id-PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 489
-id-PUSCH-AddInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 490
-id-PUSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 491
-id-PUSCH-ModifyInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 492
-id-PUSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 493
-id-timeslotInfo-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 496
-id-SyncReportType-CellSyncReprtTDD ProtocolIE-ID ::= 497
-id-Power-Local-Cell-Group-InformationItem-AuditRsp ProtocolIE-ID ::= 498
-id-Power-Local-Cell-Group-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 499
-id-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd ProtocolIE-ID ::= 500
-id-Power-Local-Cell-Group-InformationList-AuditRsp ProtocolIE-ID ::= 501
-id-Power-Local-Cell-Group-InformationList-ResourceStatusInd ProtocolIE-ID ::= 502
-id-Power-Local-Cell-Group-InformationList2-ResourceStatusInd ProtocolIE-ID ::= 503
-id-Power-Local-Cell-Group-ID ProtocolIE-ID ::= 504
-id-PUSCH-Info-DM-Rqst ProtocolIE-ID ::= 505
-id-PUSCH-Info-DM-Rsp ProtocolIE-ID ::= 506
-id-PUSCH-Info-DM-Rprt ProtocolIE-ID ::= 507
-id-InitDL-Power ProtocolIE-ID ::= 509
-id-cellSyncBurstRepetitionPeriod ProtocolIE-ID ::= 511
-id-ReportCharacteristicsType-OnModification ProtocolIE-ID ::= 512
-id-SFNSFNMeasurementValueInformation ProtocolIE-ID ::= 513
-id-SFNSFNMeasurementThresholdInformation ProtocolIE-ID ::= 514
-id-TUTRANGPSMeasurementValueInformation ProtocolIE-ID ::= 515
-id-TUTRANGPSMeasurementThresholdInformation ProtocolIE-ID ::= 516
-id-Rx-Timing-Deviation-Value-LCR ProtocolIE-ID ::= 520
-id-RL-InformationResponse-LCR-RL-AdditionRspTDD ProtocolIE-ID ::= 51
-id-DL-PowerBalancing-Information ProtocolIE-ID ::= 28
-id-DL-PowerBalancing-ActivationIndicator ProtocolIE-ID ::= 29
-id-DL-PowerBalancing-UpdatedIndicator ProtocolIE-ID ::= 30
-id-CCTrCH-Initial-DL-Power-RL-SetupRqstTDD ProtocolIE-ID ::= 517
-id-CCTrCH-Initial-DL-Power-RL-AdditionRqstTDD ProtocolIE-ID ::= 518
-id-CCTrCH-Initial-DL-Power-RL-ReconfPrepTDD ProtocolIE-ID ::= 519
-id-IPDLParameter-Information-LCR-Cell-SetupRqstTDD ProtocolIE-ID ::= 41
-id-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD ProtocolIE-ID ::= 42
-id-HS-PDSCH-HS-SCCH-MaxPower-PSCH-ReconfRqst ProtocolIE-ID ::= 522
-id-HS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst ProtocolIE-ID ::= 523
-id-HS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 524
-id-HS-SCCH-FDD-Code-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 525
-id-HS-PDSCH-TDD-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 526
-id-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 527
-id-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 528
-id-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 529
-id-bindingID ProtocolIE-ID ::= 102
-id-RL-Specific-DCH-Info ProtocolIE-ID ::= 103
-id-transportlayeraddress ProtocolIE-ID ::= 104
-id-DelayedActivation ProtocolIE-ID ::= 231
-id-DelayedActivationList-RL-ActivationCmdFDD ProtocolIE-ID ::= 232
-id-DelayedActivationInformation-RL-ActivationCmdFDD ProtocolIE-ID ::= 233
-id-DelayedActivationList-RL-ActivationCmdTDD ProtocolIE-ID ::= 234
-id-DelayedActivationInformation-RL-ActivationCmdTDD ProtocolIE-ID ::= 235
-id-neighbouringTDDCellMeasurementInformationLCR ProtocolIE-ID ::= 58
-id-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 543
-id-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 544
-id-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD ProtocolIE-ID ::= 545
-id-SYNCDlCodeIdMeasReconfigurationLCR-CellSyncReconfRqstTDD ProtocolIE-ID ::= 546
-id-SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 547
-id-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD ProtocolIE-ID ::= 548
-id-SyncDLCodeIdThreInfoLCR ProtocolIE-ID ::= 549
-id-NSubCyclesPerCyclePeriod-CellSyncReconfRqstTDD ProtocolIE-ID ::= 550
-id-DwPCH-Power ProtocolIE-ID ::= 551
-id-AccumulatedClockupdate-CellSyncReprtTDD ProtocolIE-ID ::= 552
-id-Angle-Of-Arrival-Value-LCR ProtocolIE-ID ::= 521
-id-HSDSCH-FDD-Information ProtocolIE-ID ::= 530
-id-HSDSCH-FDD-Information-Response ProtocolIE-ID ::= 531
-id-HSDSCH-Information-to-Modify ProtocolIE-ID ::= 534
-id-HSDSCH-RNTI ProtocolIE-ID ::= 535
-id-HSDSCH-TDD-Information ProtocolIE-ID ::= 536
-id-HSDSCH-TDD-Information-Response ProtocolIE-ID ::= 537
-id-HSPDSCH-RL-ID ProtocolIE-ID ::= 541
-id-PrimCCPCH-RSCP-DL-PC-RqstTDD ProtocolIE-ID ::= 542
-id-Qth-Parameter ProtocolIE-ID ::= 64
-id-PDSCH-RL-ID ProtocolIE-ID ::= 66
-id-HSDSCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 553
-id-UL-Synchronisation-Parameters-LCR ProtocolIE-ID ::= 554
-id-HSDSCH-FDD-Update-Information ProtocolIE-ID ::= 555
-id-HSDSCH-TDD-Update-Information ProtocolIE-ID ::= 556
-id-DL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 558
-id-UL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 559
-id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD ProtocolIE-ID ::= 560
-id-TDD-TPC-UplinkStepSize-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 561
-id-TDD-TPC-DownlinkStepSize-RL-AdditionRqstTDD ProtocolIE-ID ::= 562
-id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD ProtocolIE-ID ::= 563
-id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD ProtocolIE-ID ::= 564
-id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 565
-id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD ProtocolIE-ID ::= 566
-id-CCTrCH-Maximum-DL-Power-RL-SetupRqstTDD ProtocolIE-ID ::= 567
-id-CCTrCH-Minimum-DL-Power-RL-SetupRqstTDD ProtocolIE-ID ::= 568
-id-CCTrCH-Maximum-DL-Power-RL-AdditionRqstTDD ProtocolIE-ID ::= 569
-id-CCTrCH-Minimum-DL-Power-RL-AdditionRqstTDD ProtocolIE-ID ::= 570
-id-CCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD ProtocolIE-ID ::= 571
-id-CCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD ProtocolIE-ID ::= 572
-id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 573
-id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 574
-id-Maximum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 575
-id-Minimum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 576
-id-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 577
-id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD ProtocolIE-ID ::= 578
-id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD ProtocolIE-ID ::= 579
-id-Initial-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 580
-id-Maximum-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 581
-id-Minimum-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 582
-id-HS-DSCHProvidedBitRate ProtocolIE-ID ::= 583
-id-HS-DSCHRequiredPower ProtocolIE-ID ::= 585
-id-HS-DSCHRequiredPowerValue ProtocolIE-ID ::= 586
-id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission ProtocolIE-ID ::= 587
-id-HS-SICH-Reception-Quality ProtocolIE-ID ::= 588
-id-HS-SICH-Reception-Quality-Measurement-Value ProtocolIE-ID ::= 589
-id-HSSICH-Info-DM-Rprt ProtocolIE-ID ::= 590
-id-HSSICH-Info-DM-Rqst ProtocolIE-ID ::= 591
-id-HSSICH-Info-DM-Rsp ProtocolIE-ID ::= 592
-id-Best-Cell-Portions-Value ProtocolIE-ID ::= 593
-id-Primary-CPICH-Usage-for-Channel-Estimation ProtocolIE-ID ::= 594
-id-Secondary-CPICH-Information-Change ProtocolIE-ID ::= 595
-id-NumberOfReportedCellPortions ProtocolIE-ID ::= 596
-id-TimeslotISCP-LCR-InfoList-RL-ReconfPrepTDD ProtocolIE-ID ::= 599
-id-Unidirectional-DCH-Indicator ProtocolIE-ID ::= 602
-id-TimingAdjustmentValueLCR ProtocolIE-ID ::= 603
-id-multipleRL-dl-DPCH-InformationList ProtocolIE-ID ::= 604
-id-multipleRL-dl-DPCH-InformationModifyList ProtocolIE-ID ::= 605
-id-multipleRL-ul-DPCH-InformationList ProtocolIE-ID ::= 606
-id-multipleRL-ul-DPCH-InformationModifyList ProtocolIE-ID ::= 607
-id-RL-ID ProtocolIE-ID ::= 608
-id-SAT-Info-Almanac-ExtItem ProtocolIE-ID ::= 609
-id-HSDPA-Capability ProtocolIE-ID ::= 610
-id-HSDSCH-Resources-Information-AuditRsp ProtocolIE-ID ::= 611
-id-HSDSCH-Resources-Information-ResourceStatusInd ProtocolIE-ID ::= 612
-id-HSDSCH-MACdFlows-to-Add ProtocolIE-ID ::= 613
-id-HSDSCH-MACdFlows-to-Delete ProtocolIE-ID ::= 614
-id-HSDSCH-Information-to-Modify-Unsynchronised ProtocolIE-ID ::= 615
-id-TnlQos ProtocolIE-ID ::= 616
-id-PrimaryCCPCH-RSCP-Delta ProtocolIE-ID ::= 623
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-Containers.asn b/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-Containers.asn
deleted file mode 100755
index fb08451103..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-Containers.asn
+++ /dev/null
@@ -1,197 +0,0 @@
--- **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
-NBAP-Containers {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-Containers (5) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- maxProtocolExtensions,
- maxPrivateIEs,
- maxProtocolIEs,
- Criticality,
- Presence,
- PrivateIE-ID,
- ProtocolIE-ID
-FROM NBAP-CommonDataTypes;
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-NBAP-PROTOCOL-IES ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-NBAP-PROTOCOL-IES-PAIR ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &firstCriticality Criticality,
- &FirstValue,
- &secondCriticality Criticality,
- &SecondValue,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- FIRST CRITICALITY &firstCriticality
- FIRST TYPE &FirstValue
- SECOND CRITICALITY &secondCriticality
- SECOND TYPE &SecondValue
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol Extensions
---
--- **************************************************************
-
-NBAP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Private IEs
---
--- **************************************************************
-
-NBAP-PRIVATE-IES ::= CLASS {
- &id PrivateIE-ID,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Container for Protocol IEs
---
--- **************************************************************
-
-ProtocolIE-Container {NBAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Single-Container {NBAP-PROTOCOL-IES : IEsSetParam} ::=
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {NBAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id NBAP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality NBAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value NBAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Protocol IE Pairs
---
--- **************************************************************
-
-ProtocolIE-ContainerPair {NBAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-FieldPair {{IEsSetParam}}
-
-ProtocolIE-FieldPair {NBAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
- id NBAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
- firstCriticality NBAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
- firstValue NBAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
- secondCriticality NBAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
- secondValue NBAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, NBAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-Container {{IEsSetParam}}
-
-ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, NBAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-ContainerPair {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {NBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {NBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id NBAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality NBAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue NBAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Private IEs
---
--- **************************************************************
-
-PrivateIE-Container {NBAP-PRIVATE-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (1..maxPrivateIEs)) OF
- PrivateIE-Field {{IEsSetParam}}
-
-PrivateIE-Field {NBAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
- id NBAP-PRIVATE-IES.&id
- ({IEsSetParam}),
- criticality NBAP-PRIVATE-IES.&criticality
- ({IEsSetParam}{@id}),
- value NBAP-PRIVATE-IES.&Value
- ({IEsSetParam}{@id})
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-IEs.asn b/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-IEs.asn
deleted file mode 100755
index 848d8f6099..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-IEs.asn
+++ /dev/null
@@ -1,4127 +0,0 @@
---******************************************************************************
---
--- Information Element Definitions
---
---******************************************************************************
-
-NBAP-IEs {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-IEs (2) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-IMPORTS
- maxNrOfRLs,
- maxNrOfTFCs,
- maxNrOfErrors,
- maxCTFC,
- maxNrOfTFs,
- maxTTI-count,
- maxRateMatching,
- maxCodeNrComp-1,
- maxHS-PDSCHCodeNrComp-1,
- maxHS-SCCHCodeNrComp-1,
- maxNrOfCellSyncBursts,
- maxNrOfCodeGroups,
- maxNrOfMeasNCell,
- maxNrOfMeasNCell-1,
- maxNrOfReceptsPerSyncFrame,
- maxNrOfTFCIGroups,
- maxNrOfTFCI1Combs,
- maxNrOfTFCI2Combs,
- maxNrOfTFCI2Combs-1,
- maxNrOfSF,
- maxTGPS,
- maxNrOfUSCHs,
- maxNrOfULTSs,
- maxNrOfULTSLCRs,
- maxNrOfDPCHs,
- maxNrOfDPCHLCRs,
- maxNrOfCodes,
- maxNrOfDSCHs,
- maxNrOfDLTSs,
- maxNrOfDLTSLCRs,
- maxNrOfDCHs,
- maxNrOfLevels,
- maxNoGPSItems,
- maxNoSat,
- maxNrOfCellPortionsPerCell,
- maxNrOfCellPortionsPerCell-1,
- maxNrOfHSSCCHs,
- maxNrOfHSSCCHCodes,
- maxNrOfMACdFlows,
- maxNrOfMACdFlows-1,
- maxNrOfMACdPDUIndexes,
- maxNrOfMACdPDUIndexes-1,
- maxNrOfPriorityQueues,
- maxNrOfPriorityQueues-1,
- maxNrOfHARQProcesses,
- maxNrOfSyncDLCodesLCR,
- maxNrOfSyncFramesLCR,
- maxNrOfContextsOnUeList,
- maxNrOfPriorityClasses,
- maxNrOfSatAlmanac-maxNoSat,
-
- id-MessageStructure,
- id-ReportCharacteristicsType-OnModification,
- id-Rx-Timing-Deviation-Value-LCR,
- id-SFNSFNMeasurementValueInformation,
- id-SFNSFNMeasurementThresholdInformation,
- id-TUTRANGPSMeasurementValueInformation,
- id-TUTRANGPSMeasurementThresholdInformation,
- id-TypeOfError,
- id-transportlayeraddress,
- id-bindingID,
- id-Angle-Of-Arrival-Value-LCR,
- id-SyncDLCodeIdThreInfoLCR,
- id-neighbouringTDDCellMeasurementInformationLCR,
- id-HS-SICH-Reception-Quality,
- id-HS-SICH-Reception-Quality-Measurement-Value,
- id-Initial-DL-Power-TimeslotLCR-InformationItem,
- id-Maximum-DL-Power-TimeslotLCR-InformationItem,
- id-Minimum-DL-Power-TimeslotLCR-InformationItem,
- id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission,
- id-HS-DSCHRequiredPower,
- id-HS-DSCHProvidedBitRate,
- id-HS-DSCHRequiredPowerValue,
- id-Best-Cell-Portions-Value,
- id-Unidirectional-DCH-Indicator,
- id-SAT-Info-Almanac-ExtItem,
- id-TnlQos
-FROM NBAP-Constants
-
- Criticality,
- ProcedureID,
- ProtocolIE-ID,
- TransactionID,
- TriggeringMessage
-FROM NBAP-CommonDataTypes
-
- NBAP-PROTOCOL-IES,
- ProtocolExtensionContainer{},
- ProtocolIE-Single-Container{},
- NBAP-PROTOCOL-EXTENSION
-FROM NBAP-Containers;
-
--- ==========================================
--- A
--- ==========================================
-
-AckNack-RepetitionFactor ::= INTEGER (1..4,...)
--- Step: 1
-
-Ack-Power-Offset ::= INTEGER (0..8,...)
--- According to mapping in ref. [9] subclause 4.2.1
-
-Acknowledged-PCPCH-access-preambles ::= INTEGER (0..15,...)
--- According to mapping in [22].
-
-Acknowledged-PRACH-preambles-Value ::= INTEGER(0..240,...)
--- According to mapping in [22].
-
-AddorDeleteIndicator ::= ENUMERATED {
- add,
- delete
-}
-
-Active-Pattern-Sequence-Information ::= SEQUENCE {
- cMConfigurationChangeCFN CFN,
- transmission-Gap-Pattern-Sequence-Status Transmission-Gap-Pattern-Sequence-Status-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {Active-Pattern-Sequence-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-Active-Pattern-Sequence-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Transmission-Gap-Pattern-Sequence-Status-List ::= SEQUENCE (SIZE (0..maxTGPS)) OF
- SEQUENCE {
- tGPSID TGPSID,
- tGPRC TGPRC,
- tGCFN CFN,
- iE-Extensions ProtocolExtensionContainer { { Transmission-Gap-Pattern-Sequence-Status-List-ExtIEs } } OPTIONAL,
- ...
-}
-
-Transmission-Gap-Pattern-Sequence-Status-List-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AICH-Power ::= INTEGER (-22..5)
--- Offset in dB.
-
-AICH-TransmissionTiming ::= ENUMERATED {
- v0,
- v1
-}
-
-AllocationRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
- iE-Extensions ProtocolExtensionContainer { {AllocationRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationRetentionPriority-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Angle-Of-Arrival-Value-LCR ::= SEQUENCE {
- aOA-LCR AOA-LCR,
- aOA-LCR-Accuracy-Class AOA-LCR-Accuracy-Class,
- iE-Extensions ProtocolExtensionContainer { {Angle-Of-Arrival-Value-LCR-ExtIEs} } OPTIONAL,
-...
-}
-
-Angle-Of-Arrival-Value-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AOA-LCR ::= INTEGER (0..719)
--- Angle Of Arrival for 1.28Mcps TDD
-
-AOA-LCR-Accuracy-Class ::= ENUMERATED {a,b,c,d,e,f,g,h,...}
-
-APPreambleSignature ::= INTEGER (0..15)
-
-APSubChannelNumber ::= INTEGER (0..11)
-
-AvailabilityStatus ::= ENUMERATED {
- empty,
- in-test,
- failed,
- power-off,
- off-line,
- off-duty,
- dependency,
- degraded,
- not-installed,
- log-full,
- ...
-}
-
--- ==========================================
--- B
--- ==========================================
-
-BCCH-ModificationTime ::= INTEGER (0..511)
--- Time = BCCH-ModificationTime * 8
--- Range 0 to 4088, step 8
--- All SFN values in which MIB may be mapped are allowed
-
-Best-Cell-Portions-Value::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF Best-Cell-Portions-Item
-
-Best-Cell-Portions-Item ::= SEQUENCE {
- cellPortionID CellPortionID,
- sIRValue SIR-Value,
- iE-Extensions ProtocolExtensionContainer { { Best-Cell-Portions-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-Best-Cell-Portions-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-BindingID ::= OCTET STRING (SIZE (1..4, ...))
--- If the Binding ID includes a UDP port, the UDP port is included in octet 1 and 2.The first octet of
--- the UDP port field is included in the first octet of the Binding ID.
-
-BetaCD ::= INTEGER (0..15)
-
-BlockingPriorityIndicator ::= ENUMERATED {
- high,
- normal,
- low,
- ...
-}
--- High priority: Block resource immediately.
--- Normal priority: Block resource when idle or upon timer expiry.
--- Low priority: Block resource when idle.
-
-SCTD-Indicator ::= ENUMERATED {
- active,
- inactive
-}
-
--- ==========================================
--- C
--- ==========================================
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transport CauseTransport,
- protocol CauseProtocol,
- misc CauseMisc,
- ...
-}
-
-CauseMisc ::= ENUMERATED {
- control-processing-overload,
- hardware-failure,
- oam-intervention,
- not-enough-user-plane-processing-resources,
- unspecified,
- ...
-}
-
-CauseProtocol ::= ENUMERATED {
- transfer-syntax-error,
- abstract-syntax-error-reject,
- abstract-syntax-error-ignore-and-notify,
- message-not-compatible-with-receiver-state,
- semantic-error,
- unspecified,
- abstract-syntax-error-falsely-constructed-message,
- ...
-}
-
-CauseRadioNetwork ::= ENUMERATED {
- unknown-C-ID,
- cell-not-available,
- power-level-not-supported,
- dl-radio-resources-not-available,
- ul-radio-resources-not-available,
- rl-already-ActivatedOrAllocated,
- nodeB-Resources-unavailable,
- measurement-not-supported-for-the-object,
- combining-resources-not-available,
- requested-configuration-not-supported,
- synchronisation-failure,
- priority-transport-channel-established,
- sIB-Origination-in-Node-B-not-Supported,
- requested-tx-diversity-mode-not-supported,
- unspecified,
- bCCH-scheduling-error,
- measurement-temporarily-not-available,
- invalid-CM-settings,
- reconfiguration-CFN-not-elapsed,
- number-of-DL-codes-not-supported,
- s-cipch-not-supported,
- combining-not-supported,
- ul-sf-not-supported,
- dl-SF-not-supported,
- common-transport-channel-type-not-supported,
- dedicated-transport-channel-type-not-supported,
- downlink-shared-channel-type-not-supported,
- uplink-shared-channel-type-not-supported,
- cm-not-supported,
- tx-diversity-no-longer-supported,
- unknown-Local-Cell-ID,
- ...,
- number-of-UL-codes-not-supported,
- information-temporarily-not-available,
- information-provision-not-supported-for-the-object,
- cell-synchronisation-not-supported,
- cell-synchronisation-adjustment-not-supported,
- dpc-mode-change-not-supported,
- iPDL-already-activated,
- iPDL-not-supported,
- iPDL-parameters-not-available,
- frequency-acquisition-not-supported,
- power-balancing-status-not-compatible,
- requested-typeofbearer-re-arrangement-not-supported,
- signalling-Bearer-Re-arrangement-not-supported,
- bearer-Re-arrangement-needed,
- delayed-activation-not-supported,
- rl-timing-adjustment-not-supported
-}
-
-CauseTransport ::= ENUMERATED {
- transport-resource-unavailable,
- unspecified,
- ...
-}
-
-CCTrCH-ID ::= INTEGER (0..15)
-
-CDSubChannelNumbers ::= BIT STRING {
- subCh11(0),
- subCh10(1),
- subCh9(2),
- subCh8(3),
- subCh7(4),
- subCh6(5),
- subCh5(6),
- subCh4(7),
- subCh3(8),
- subCh2(9),
- subCh1(10),
- subCh0(11)
- } (SIZE (12))
-
-CellParameterID ::= INTEGER (0..127,...)
-
-CellPortionID ::= INTEGER (0..maxNrOfCellPortionsPerCell-1,...)
-
-CellSyncBurstCode ::= INTEGER(0..7, ...)
-
-CellSyncBurstCodeShift ::= INTEGER(0..7)
-
-CellSyncBurstRepetitionPeriod ::= INTEGER (0..4095)
-
-CellSyncBurstSIR ::= INTEGER (0..31)
-
-CellSyncBurstTiming ::= CHOICE {
- initialPhase INTEGER (0..1048575,...),
- steadyStatePhase INTEGER (0..255,...)
-}
-
-CellSyncBurstTimingLCR ::= CHOICE {
- initialPhase INTEGER (0..524287,...),
- steadyStatePhase INTEGER (0..127,...)
-}
-
-CellSyncBurstTimingThreshold ::= INTEGER(0..254)
-
-CFN ::= INTEGER (0..255)
-
-Channel-Assignment-Indication ::= ENUMERATED {
- cA-Active,
- cA-Inactive
-}
-
-ChipOffset ::= INTEGER (0..38399)
--- Unit Chip
-
-C-ID ::= INTEGER (0..65535)
-
-Closedlooptimingadjustmentmode ::= ENUMERATED {
- adj-1-slot,
- adj-2-slot,
- ...
-}
-
-CommonChannelsCapacityConsumptionLaw ::= SEQUENCE (SIZE(1..maxNrOfSF)) OF
- SEQUENCE {
- dl-Cost INTEGER (0..65535),
- ul-Cost INTEGER (0..65535),
- iE-Extensions ProtocolExtensionContainer { { CommonChannelsCapacityConsumptionLaw-ExtIEs } } OPTIONAL,
- ...
-}
-
-CommonChannelsCapacityConsumptionLaw-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonMeasurementAccuracy ::= CHOICE {
- tUTRANGPSMeasurementAccuracyClass TUTRANGPSAccuracyClass,
- ...
-}
-
-CommonMeasurementType ::= ENUMERATED {
- received-total-wide-band-power,
- transmitted-carrier-power,
- acknowledged-prach-preambles,
- ul-timeslot-iscp,
- acknowledged-PCPCH-access-preambles,
- detected-PCPCH-access-preambles,
- ...,
- uTRAN-GPS-Timing-of-Cell-Frames-for-UE-Positioning,
- sFN-SFN-Observed-Time-Difference,
- transmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission,
- hS-DSCH-Required-Power,
- hS-DSCH-Provided-Bit-Rate
-}
-
-CommonMeasurementValue ::= CHOICE {
- transmitted-carrier-power Transmitted-Carrier-Power-Value,
- received-total-wide-band-power Received-total-wide-band-power-Value,
- acknowledged-prach-preambles Acknowledged-PRACH-preambles-Value,
- uL-TimeslotISCP UL-TimeslotISCP-Value,
- acknowledged-PCPCH-access-preambles Acknowledged-PCPCH-access-preambles,
- detected-PCPCH-access-preambles Detected-PCPCH-access-preambles,
- ...,
- extension-CommonMeasurementValue Extension-CommonMeasurementValue
-}
-
-Extension-CommonMeasurementValue ::= ProtocolIE-Single-Container {{ Extension-CommonMeasurementValueIE }}
-
-Extension-CommonMeasurementValueIE NBAP-PROTOCOL-IES ::= {
- { ID id-TUTRANGPSMeasurementValueInformation CRITICALITY ignore TYPE TUTRANGPSMeasurementValueInformation PRESENCE mandatory }|
- { ID id-SFNSFNMeasurementValueInformation CRITICALITY ignore TYPE SFNSFNMeasurementValueInformation PRESENCE mandatory }|
- { ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission CRITICALITY ignore TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmissionValue PRESENCE mandatory }|
- { ID id-HS-DSCHRequiredPower CRITICALITY ignore TYPE HS-DSCHRequiredPower PRESENCE mandatory }|
- { ID id-HS-DSCHProvidedBitRate CRITICALITY ignore TYPE HS-DSCHProvidedBitRate PRESENCE mandatory }
-}
-
-CommonMeasurementValueInformation ::= CHOICE {
- measurementAvailable CommonMeasurementAvailable,
- measurementnotAvailable CommonMeasurementnotAvailable
-}
-
-CommonMeasurementAvailable::= SEQUENCE {
- commonmeasurementValue CommonMeasurementValue,
- ie-Extensions ProtocolExtensionContainer { { CommonMeasurementAvailableItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommonMeasurementAvailableItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-CommonMeasurementnotAvailable ::= NULL
-
-CommonPhysicalChannelID ::= INTEGER (0..255)
-
-Common-PhysicalChannel-Status-Information ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer { { Common-PhysicalChannel-Status-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-Common-PhysicalChannel-Status-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonTransportChannelID ::= INTEGER (0..255)
-
-CommonTransportChannel-InformationResponse ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CommonTransportChannel-InformationResponse-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommonTransportChannel-InformationResponse-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Common-TransportChannel-Status-Information ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer { { Common-TransportChannel-Status-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-Common-TransportChannel-Status-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommunicationControlPortID ::= INTEGER (0..65535)
-
-Compressed-Mode-Deactivation-Flag::= ENUMERATED {
- deactivate,
- maintain-Active
-}
-
-ConfigurationGenerationID ::= INTEGER (0..255)
--- Value '0' means "No configuration"
-
-ConstantValue ::= INTEGER (-10..10,...)
--- -10 dB - +10 dB
--- unit dB
--- step 1 dB
-
-CPCH-Allowed-Total-Rate ::= ENUMERATED {
- v15,
- v30,
- v60,
- v120,
- v240,
- v480,
- v960,
- v1920,
- v2880,
- v3840,
- v4800,
- v5760,
- ...
-}
-
-CPCHScramblingCodeNumber ::= INTEGER (0..79)
-
-CPCH-UL-DPCCH-SlotFormat ::= INTEGER (0..2,...)
-
-CQI-Feedback-Cycle ::= ENUMERATED {v0, v2, v4, v8, v10, v20, v40, v80, v160,...}
-
-CQI-Power-Offset ::= INTEGER (0..8,...)
--- According to mapping in ref. [9] subclause 4.2.1
-
-CQI-RepetitionFactor ::= INTEGER (1..4,...)
--- Step: 1
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureID ProcedureID OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- procedureCriticality Criticality OPTIONAL,
- transactionID TransactionID OPTIONAL,
- iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
- SEQUENCE {
- iECriticality Criticality,
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber0 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
- ...
- }
-
-CriticalityDiagnostics-IE-List-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }|
- { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
- ...
-}
-
-CRNC-CommunicationContextID ::= INTEGER (0..1048575)
-
-CSBMeasurementID ::= INTEGER (0..65535)
-
-CSBTransmissionID ::= INTEGER (0..65535)
-
--- ==========================================
--- D
--- ==========================================
-
-DATA-ID ::= INTEGER (0..3)
-
-DCH-ID ::= INTEGER (0..255)
-
-DCH-FDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-FDD-InformationItem
-
-DCH-FDD-InformationItem ::= SEQUENCE {
- payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
- ul-FP-Mode UL-FP-Mode,
- toAWS ToAWS,
- toAWE ToAWE,
- dCH-SpecificInformationList DCH-Specific-FDD-InformationList,
- iE-Extensions ProtocolExtensionContainer { { DCH-FDD-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-FDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
- ...
-}
-
-DCH-Specific-FDD-InformationList ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-Specific-FDD-Item
-
-DCH-Specific-FDD-Item ::= SEQUENCE {
- dCH-ID DCH-ID,
- ul-TransportFormatSet TransportFormatSet,
- dl-TransportFormatSet TransportFormatSet,
- allocationRetentionPriority AllocationRetentionPriority,
- frameHandlingPriority FrameHandlingPriority,
- qE-Selector QE-Selector,
- iE-Extensions ProtocolExtensionContainer { { DCH-Specific-FDD-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-Specific-FDD-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Unidirectional-DCH-Indicator CRITICALITY reject EXTENSION Unidirectional-DCH-Indicator PRESENCE optional },
- ...
-}
-
-DCH-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-InformationResponseItem
-
-DCH-InformationResponseItem ::= SEQUENCE {
- dCH-ID DCH-ID,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DCH-InformationResponseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-InformationResponseItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-TDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-TDD-InformationItem
-
-DCH-TDD-InformationItem ::= SEQUENCE {
- payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
- ul-FP-Mode UL-FP-Mode,
- toAWS ToAWS,
- toAWE ToAWE,
- dCH-SpecificInformationList DCH-Specific-TDD-InformationList,
- iE-Extensions ProtocolExtensionContainer { { DCH-TDD-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-TDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
- ...
-}
-
-DCH-Specific-TDD-InformationList ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-Specific-TDD-Item
-
-DCH-Specific-TDD-Item ::= SEQUENCE {
- dCH-ID DCH-ID,
- ul-CCTrCH-ID CCTrCH-ID,
- dl-CCTrCH-ID CCTrCH-ID,
- ul-TransportFormatSet TransportFormatSet,
- dl-TransportFormatSet TransportFormatSet,
- allocationRetentionPriority AllocationRetentionPriority,
- frameHandlingPriority FrameHandlingPriority,
- qE-Selector QE-Selector OPTIONAL,
- -- This IE shall be present if DCH is part of set of Coordinated DCHs
- iE-Extensions ProtocolExtensionContainer { { DCH-Specific-TDD-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-Specific-TDD-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Unidirectional-DCH-Indicator CRITICALITY reject EXTENSION Unidirectional-DCH-Indicator PRESENCE optional },
- ...
-}
-
-FDD-DCHs-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF FDD-DCHs-to-ModifyItem
-
-FDD-DCHs-to-ModifyItem ::= SEQUENCE {
- ul-FP-Mode UL-FP-Mode OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- dCH-SpecificInformationList DCH-ModifySpecificInformation-FDD,
- iE-Extensions ProtocolExtensionContainer { { FDD-DCHs-to-ModifyItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-FDD-DCHs-to-ModifyItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
- ...
-}
-
-DCH-ModifySpecificInformation-FDD::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-ModifySpecificItem-FDD
-
-DCH-ModifySpecificItem-FDD::= SEQUENCE {
- dCH-ID DCH-ID,
- ul-TransportFormatSet TransportFormatSet OPTIONAL,
- dl-TransportFormatSet TransportFormatSet OPTIONAL,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- frameHandlingPriority FrameHandlingPriority OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DCH-ModifySpecificItem-FDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-ModifySpecificItem-FDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-TDD-DCHs-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-ModifyItem-TDD
-
-DCH-ModifyItem-TDD ::= SEQUENCE {
- ul-FP-Mode UL-FP-Mode OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- dCH-SpecificInformationList DCH-ModifySpecificInformation-TDD,
- iE-Extensions ProtocolExtensionContainer { { TDD-DCHs-to-ModifyItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-DCHs-to-ModifyItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
- ...
-}
-
-DCH-ModifySpecificInformation-TDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-ModifySpecificItem-TDD
-
-DCH-ModifySpecificItem-TDD ::= SEQUENCE {
- dCH-ID DCH-ID,
- ul-CCTrCH-ID CCTrCH-ID OPTIONAL,
- dl-CCTrCH-ID CCTrCH-ID OPTIONAL,
- ul-TransportFormatSet TransportFormatSet OPTIONAL,
- dl-TransportFormatSet TransportFormatSet OPTIONAL,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- frameHandlingPriority FrameHandlingPriority OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DCH-ModifySpecificItem-TDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-ModifySpecificItem-TDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DedicatedChannelsCapacityConsumptionLaw ::= SEQUENCE ( SIZE(1..maxNrOfSF) ) OF
- SEQUENCE {
- dl-Cost-1 INTEGER (0..65535),
- dl-Cost-2 INTEGER (0..65535),
- ul-Cost-1 INTEGER (0..65535),
- ul-Cost-2 INTEGER (0..65535),
- iE-Extensions ProtocolExtensionContainer { { DedicatedChannelsCapacityConsumptionLaw-ExtIEs } } OPTIONAL,
- ...
-}
-
-DedicatedChannelsCapacityConsumptionLaw-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DedicatedMeasurementType ::= ENUMERATED {
- sir,
- sir-error,
- transmitted-code-power,
- rscp,
- rx-timing-deviation,
- round-trip-time,
- ...,
- rx-timing-deviation-LCR,
- angle-Of-Arrival-LCR,
- hs-sich-quality,
- best-Cell-Portions
-
-}
-
-DedicatedMeasurementValue ::= CHOICE {
- sIR-Value SIR-Value,
- sIR-ErrorValue SIR-Error-Value,
- transmittedCodePowerValue Transmitted-Code-Power-Value,
- rSCP RSCP-Value,
- rxTimingDeviationValue Rx-Timing-Deviation-Value,
- roundTripTime Round-Trip-Time-Value,
- ...,
- extension-DedicatedMeasurementValue Extension-DedicatedMeasurementValue
-}
-
-Extension-DedicatedMeasurementValue ::= ProtocolIE-Single-Container {{ Extension-DedicatedMeasurementValueIE }}
-
-Extension-DedicatedMeasurementValueIE NBAP-PROTOCOL-IES ::= {
- { ID id-Rx-Timing-Deviation-Value-LCR CRITICALITY reject TYPE Rx-Timing-Deviation-Value-LCR PRESENCE mandatory }|
- { ID id-Angle-Of-Arrival-Value-LCR CRITICALITY reject TYPE Angle-Of-Arrival-Value-LCR PRESENCE mandatory }|
- { ID id-HS-SICH-Reception-Quality CRITICALITY reject TYPE HS-SICH-Reception-Quality-Value PRESENCE mandatory }|
- { ID id-Best-Cell-Portions-Value CRITICALITY reject TYPE Best-Cell-Portions-Value PRESENCE mandatory },
- ...
-}
-
-DedicatedMeasurementValueInformation ::= CHOICE {
- measurementAvailable DedicatedMeasurementAvailable,
- measurementnotAvailable DedicatedMeasurementnotAvailable
-}
-
-DedicatedMeasurementAvailable::= SEQUENCE {
- dedicatedmeasurementValue DedicatedMeasurementValue,
- cFN CFN OPTIONAL,
- ie-Extensions ProtocolExtensionContainer { { DedicatedMeasurementAvailableItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DedicatedMeasurementAvailableItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DedicatedMeasurementnotAvailable ::= NULL
-
-DelayedActivation ::= CHOICE {
- cfn CFN,
- separate-indication NULL
-}
-
-DelayedActivationUpdate ::= CHOICE {
- activate Activate-Info,
- deactivate Deactivate-Info
-}
-
-Activate-Info ::= SEQUENCE {
- activation-type Execution-Type,
- initial-dl-tx-power DL-Power,
- firstRLS-Indicator FirstRLS-Indicator OPTIONAL, --FDD Only
- propagation-delay PropagationDelay OPTIONAL, --FDD Only
- iE-Extensions ProtocolExtensionContainer { { Activate-Info-ExtIEs} } OPTIONAL,
- ...
-}
-
-Activate-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Deactivate-Info ::= SEQUENCE {
- deactivation-type Execution-Type,
- iE-Extensions ProtocolExtensionContainer { { Deactivate-Info-ExtIEs} } OPTIONAL,
- ...
-}
-
-Deactivate-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Execution-Type ::= CHOICE {
- synchronised CFN,
- unsynchronised NULL
-}
-
-Detected-PCPCH-access-preambles ::= INTEGER (0..240,...)
--- According to mapping in [22].
-
-DeltaSIR ::= INTEGER (0..30)
--- Unit dB, Step 0.1 dB, Range 0..3 dB.
-
-DGPSCorrections ::= SEQUENCE {
- gpstow GPSTOW,
- status-health GPS-Status-Health,
- satelliteinfo SAT-Info-DGPSCorrections,
- ie-Extensions ProtocolExtensionContainer { { DGPSCorrections-ExtIEs} } OPTIONAL,
- ...
-}
-
-DGPSCorrections-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DGPSThresholds ::= SEQUENCE {
- prcdeviation PRCDeviation,
- ie-Extensions ProtocolExtensionContainer { { DGPSThresholds-ExtIEs} } OPTIONAL,
- ...
-}
-
-DGPSThresholds-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DiscardTimer ::= ENUMERATED {v20,v40,v60,v80,v100,v120,v140,v160,v180,v200,v250,v300,v400,v500,v750,v1000,v1250,v1500,v1750,v2000,v2500,v3000,v3500,v4000,v4500,v5000,v7500,
- ...
-}
-
-DiversityControlField ::= ENUMERATED {
- may,
- must,
- must-not,
- ...
-}
-
-DiversityMode ::= ENUMERATED {
- none,
- sTTD,
- closed-loop-mode1,
- closed-loop-mode2,
- ...
-}
-
-DL-DPCH-SlotFormat ::= INTEGER (0..16,...)
-
-DL-DPCH-TimingAdjustment ::= ENUMERATED {
- timing-advance,
- timing-delay
-}
-
-DL-Timeslot-Information ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-InformationItem
-
-DL-Timeslot-InformationItem ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tFCI-Presence TFCI-Presence,
- dL-Code-Information TDD-DL-Code-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-TimeslotLCR-Information ::= SEQUENCE (SIZE (1.. maxNrOfDLTSLCRs)) OF DL-TimeslotLCR-InformationItem
-
-DL-TimeslotLCR-InformationItem ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tFCI-Presence TFCI-Presence,
- dL-Code-LCR-Information TDD-DL-Code-LCR-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-TimeslotLCR-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-TimeslotLCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Initial-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-Maximum-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-Minimum-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
- -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-DL-FrameType ::= ENUMERATED {
- typeA,
- typeB,
- ...
-}
-
-DL-or-Global-CapacityCredit ::= INTEGER (0..65535)
-
-DL-Power ::= INTEGER (-350..150)
--- Value = DL-Power/10
--- Unit dB, Range -35dB .. +15dB, Step +0.1dB
-
-DLPowerAveragingWindowSize ::= INTEGER (1..60)
-
-DL-PowerBalancing-Information ::= SEQUENCE {
- powerAdjustmentType PowerAdjustmentType,
- dLReferencePower DL-Power OPTIONAL,
- -- This IE shall be present if Power Adjustment Type IE equals to 'Common'
- dLReferencePowerList-DL-PC-Rqst DL-ReferencePowerInformationList OPTIONAL,
- -- This IE shall be present if Power Adjustment Type IE equals to 'Individual'
- maxAdjustmentStep MaxAdjustmentStep OPTIONAL,
- -- This IE shall be present if Power Adjustment Type IE equals to 'Common' or 'Individual'
- adjustmentPeriod AdjustmentPeriod OPTIONAL,
- -- This IE shall be present if Power Adjustment Type IE equals to 'Common' or 'Individual'
- adjustmentRatio ScaledAdjustmentRatio OPTIONAL,
- -- This IE shall be present if Power Adjustment Type IE equals to 'Common' or 'Individual'
- iE-Extensions ProtocolExtensionContainer { { DL-PowerBalancing-Information-ExtIEs } } OPTIONAL,
- ...
-}
-
-DL-PowerBalancing-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-ReferencePowerInformationList ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF DL-ReferencePowerInformationItem
-
-DL-ReferencePowerInformationItem ::= SEQUENCE {
- rL-ID RL-ID,
- dl-Reference-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { {DL-ReferencePowerInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-ReferencePowerInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-PowerBalancing-ActivationIndicator ::= ENUMERATED {
- dL-PowerBalancing-Activated
-}
-
-DL-PowerBalancing-UpdatedIndicator ::= ENUMERATED {
- dL-PowerBalancing-Updated
-}
-
-DL-ScramblingCode ::= INTEGER (0..15)
--- 0= Primary scrambling code of the cell, 1..15= Secondary scrambling code --
-
-DL-TimeslotISCP ::= INTEGER (0..91)
-
-DL-TimeslotISCPInfo ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-TimeslotISCPInfoItem
-
-DL-TimeslotISCPInfoItem ::= SEQUENCE {
- timeSlot TimeSlot,
- dL-TimeslotISCP DL-TimeslotISCP,
- iE-Extensions ProtocolExtensionContainer { {DL-TimeslotISCPInfoItem-ExtIEs} } OPTIONAL,
- ...
- }
-
-DL-TimeslotISCPInfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-TimeslotISCPInfoLCR ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-TimeslotISCPInfoItemLCR
-
-DL-TimeslotISCPInfoItemLCR ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- dL-TimeslotISCP DL-TimeslotISCP,
- iE-Extensions ProtocolExtensionContainer { {DL-TimeslotISCPInfoItemLCR-ExtIEs} } OPTIONAL,
- ...
- }
-
-DL-TimeslotISCPInfoItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-TPC-Pattern01Count ::= INTEGER (0..30,...)
-
-Downlink-Compressed-Mode-Method ::= ENUMERATED {
- puncturing,
- sFdiv2,
- higher-layer-scheduling,
- ...
-}
-
-DPC-Mode ::= ENUMERATED {
- mode0,
- mode1,
- ...
-}
-
-DPCH-ID ::= INTEGER (0..239)
-
-DSCH-ID ::= INTEGER (0..255)
-
-DSCH-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-InformationResponseItem
-
-DSCH-InformationResponseItem ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DSCH-InformationResponseItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-DSCH-InformationResponseItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-FDD-Common-Information ::= SEQUENCE {
- enhancedDSCHPCIndicator EnhancedDSCHPCIndicator OPTIONAL,
- enhancedDSCHPC EnhancedDSCHPC OPTIONAL,
- -- The IE shall be present if the Enhanced DSCH PC Indicator IE is set to "Enhanced DSCH PC Active in the UE".
- iE-Extensions ProtocolExtensionContainer { { DSCH-FDD-Common-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-FDD-Common-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-FDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-FDD-InformationItem
-
-DSCH-FDD-InformationItem ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- transportFormatSet TransportFormatSet,
- allocationRetentionPriority AllocationRetentionPriority,
- frameHandlingPriority FrameHandlingPriority,
- toAWS ToAWS,
- toAWE ToAWE,
- iE-Extensions ProtocolExtensionContainer { { DSCH-FDD-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-FDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-DSCH-TDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-TDD-InformationItem
-
-DSCH-TDD-InformationItem ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- cCTrCH-ID CCTrCH-ID,
- transportFormatSet TransportFormatSet,
- allocationRetentionPriority AllocationRetentionPriority,
- frameHandlingPriority FrameHandlingPriority,
- toAWS ToAWS,
- toAWE ToAWE,
- iE-Extensions ProtocolExtensionContainer { { DSCH-TDD-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-TDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- -- Shall be ignored if bearer establishment with ALCAP.
- ...
-}
-
-DsField ::= BIT STRING (SIZE (8))
-
-DwPCH-Power ::= INTEGER (-150..400,...)
--- DwPCH-power = power * 10
--- If power <= -15 DwPCH shall be set to -150
--- If power >= 40 DwPCH shall be set to 400
--- Unit dBm, Range -15dBm .. +40 dBm, Step +0.1dB
-
-
--- ==========================================
--- E
--- ==========================================
-
-End-Of-Audit-Sequence-Indicator ::= ENUMERATED {
- end-of-audit-sequence,
- not-end-of-audit-sequence
-}
-
-EnhancedDSCHPC ::= SEQUENCE {
- enhancedDSCHPCWnd EnhancedDSCHPCWnd,
- enhancedDSCHPCCounter EnhancedDSCHPCCounter,
- enhancedDSCHPowerOffset EnhancedDSCHPowerOffset,
- ...
-}
-
-EnhancedDSCHPCCounter ::= INTEGER (1..50)
-
-EnhancedDSCHPCIndicator ::= ENUMERATED {
- enhancedDSCHPCActiveInTheUE,
- enhancedDSCHPCNotActiveInTheUE
-}
-
-EnhancedDSCHPCWnd ::= INTEGER (1..10)
-
-EnhancedDSCHPowerOffset ::= INTEGER (-15..0)
-
--- ==========================================
--- F
--- ==========================================
-
-FDD-DL-ChannelisationCodeNumber ::= INTEGER(0.. 511)
--- According to the mapping in [9]. The maximum value is equal to the DL spreading factor -1--
-
-FDD-DL-CodeInformation ::= SEQUENCE (SIZE (1..maxNrOfCodes)) OF FDD-DL-CodeInformationItem
-
-FDD-DL-CodeInformationItem ::= SEQUENCE {
- dl-ScramblingCode DL-ScramblingCode,
- fdd-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- transmissionGapPatternSequenceCodeInformation TransmissionGapPatternSequenceCodeInformation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { FDD-DL-CodeInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-FDD-DL-CodeInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FDD-S-CCPCH-Offset ::= INTEGER (0..149)
--- 0: 0 chip, 1: 256 chip, 2: 512 chip, .. ,149: 38144 chip [7] --
-
-FDD-TPC-DownlinkStepSize ::= ENUMERATED {
- step-size0-5,
- step-size1,
- step-size1-5,
- step-size2,
- ...
-}
-
-FirstRLS-Indicator ::= ENUMERATED {
- first-RLS,
- not-first-RLS,
- ...
-}
-
-FNReportingIndicator ::= ENUMERATED {
- fN-reporting-required,
- fN-reporting-not-required
-}
-
-FrameHandlingPriority ::= INTEGER (0..15)
--- 0=lowest priority, 15=highest priority --
-
-FrameAdjustmentValue ::= INTEGER(0..4095)
-
-FrameOffset ::= INTEGER (0..255)
-
-FPACH-Power ::= INTEGER (-150..400,...) -- FPACH-power = power * 10
--- If power <= -15 FPACH shall be set to -150
--- If power >= 40 FPACH shall be set to 400
--- Unit dBm, Range -15dBm .. +40 dBm, Step +0.1dB
-
--- ==========================================
--- G
--- ==========================================
-
-GapLength ::= INTEGER (1..14)
--- Unit slot
-
-GapDuration ::= INTEGER (1..144,...)
--- Unit frame
-
-GenericTrafficCategory ::= BIT STRING (SIZE (8))
-
-GPS-Almanac ::= SEQUENCE {
- wna-alm BIT STRING (SIZE (8)),
- sat-info-almanac SAT-Info-Almanac,
- sVGlobalHealth-alm BIT STRING (SIZE (364)) OPTIONAL,
- ie-Extensions ProtocolExtensionContainer { { GPS-Almanac-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPS-Almanac-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SAT-Info-Almanac-ExtItem CRITICALITY ignore EXTENSION SAT-Info-Almanac-ExtList PRESENCE optional},
- ...
-}
-
-GPS-Ionospheric-Model ::= SEQUENCE {
- alpha-zero-ionos BIT STRING (SIZE (8)),
- alpha-one-ionos BIT STRING (SIZE (8)),
- alpha-two-ionos BIT STRING (SIZE (8)),
- alpha-three-ionos BIT STRING (SIZE (8)),
- beta-zero-ionos BIT STRING (SIZE (8)),
- beta-one-ionos BIT STRING (SIZE (8)),
- beta-two-ionos BIT STRING (SIZE (8)),
- beta-three-ionos BIT STRING (SIZE (8)),
- ie-Extensions ProtocolExtensionContainer { { GPS-Ionospheric-Model-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPS-Ionospheric-Model-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GPS-Information ::= SEQUENCE (SIZE (0..maxNoGPSItems)) OF GPS-Information-Item
--- This IE shall be present if the Information Type Item IE indicates 'GPS Information'
-
-GPS-Information-Item ::= ENUMERATED {
- gps-navigation-model-and-time-recovery,
- gps-ionospheric-model,
- gps-utc-model,
- gps-almanac,
- gps-rt-integrity,
- ...
-}
-
-GPS-RealTime-Integrity ::= CHOICE {
- bad-satellites GPSBadSat-Info-RealTime-Integrity,
- no-bad-satellites NULL
-}
-
-GPSBadSat-Info-RealTime-Integrity ::= SEQUENCE {
- sat-info SATInfo-RealTime-Integrity,
- ie-Extensions ProtocolExtensionContainer { { GPSBadSat-Info-RealTime-Integrity-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPSBadSat-Info-RealTime-Integrity-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GPS-NavigationModel-and-TimeRecovery ::= SEQUENCE (SIZE (1..maxNoSat)) OF GPS-NavandRecovery-Item
-
-GPS-NavandRecovery-Item ::= SEQUENCE {
- tx-tow-nav INTEGER (0..1048575),
- sat-id-nav SAT-ID,
- tlm-message-nav BIT STRING (SIZE (14)),
- tlm-revd-c-nav BIT STRING (SIZE (2)),
- ho-word-nav BIT STRING (SIZE (22)),
- w-n-nav BIT STRING (SIZE (10)),
- ca-or-p-on-l2-nav BIT STRING (SIZE (2)),
- user-range-accuracy-index-nav BIT STRING (SIZE (4)),
- sv-health-nav BIT STRING (SIZE (6)),
- iodc-nav BIT STRING (SIZE (10)),
- l2-p-dataflag-nav BIT STRING (SIZE (1)),
- sf1-reserved-nav BIT STRING (SIZE (87)),
- t-gd-nav BIT STRING (SIZE (8)),
- t-oc-nav BIT STRING (SIZE (16)),
- a-f-2-nav BIT STRING (SIZE (8)),
- a-f-1-nav BIT STRING (SIZE (16)),
- a-f-zero-nav BIT STRING (SIZE (22)),
- c-rs-nav BIT STRING (SIZE (16)),
- delta-n-nav BIT STRING (SIZE (16)),
- m-zero-nav BIT STRING (SIZE (32)),
- c-uc-nav BIT STRING (SIZE (16)),
- gps-e-nav BIT STRING (SIZE (32)),
- c-us-nav BIT STRING (SIZE (16)),
- a-sqrt-nav BIT STRING (SIZE (32)),
- t-oe-nav BIT STRING (SIZE (16)),
- fit-interval-flag-nav BIT STRING (SIZE (1)),
- aodo-nav BIT STRING (SIZE (5)),
- c-ic-nav BIT STRING (SIZE (16)),
- omega-zero-nav BIT STRING (SIZE (32)),
- c-is-nav BIT STRING (SIZE (16)),
- i-zero-nav BIT STRING (SIZE (32)),
- c-rc-nav BIT STRING (SIZE (16)),
- gps-omega-nav BIT STRING (SIZE (32)),
- omegadot-nav BIT STRING (SIZE (24)),
- idot-nav BIT STRING (SIZE (14)),
- spare-zero-fill BIT STRING (SIZE (20)),
- ie-Extensions ProtocolExtensionContainer { { GPS-NavandRecovery-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPS-NavandRecovery-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-GPS-RX-POS ::= SEQUENCE {
- latitudeSign ENUMERATED {north, south},
- latitude INTEGER (0..8388607),
- longitude INTEGER (-8388608..8388607),
- directionOfAltitude ENUMERATED {height, depth},
- altitude INTEGER (0..32767),
- iE-Extensions ProtocolExtensionContainer { { GPS-RX-POS-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPS-RX-POS-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GPS-Status-Health ::= ENUMERATED {
- udre-scale-1dot0,
- udre-scale-0dot75,
- udre-scale-0dot5,
- udre-scale-0dot3,
- udre-scale-0dot1,
- no-data,
- invalid-data
-}
-
-GPSTOW ::= INTEGER (0..604799)
-
-GPS-UTC-Model ::= SEQUENCE {
- a-one-utc BIT STRING (SIZE (24)),
- a-zero-utc BIT STRING (SIZE (32)),
- t-ot-utc BIT STRING (SIZE (8)),
- delta-t-ls-utc BIT STRING (SIZE (8)),
- w-n-t-utc BIT STRING (SIZE (8)),
- w-n-lsf-utc BIT STRING (SIZE (8)),
- dn-utc BIT STRING (SIZE (8)),
- delta-t-lsf-utc BIT STRING (SIZE (8)),
- ie-Extensions ProtocolExtensionContainer { { GPS-UTC-Model-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPS-UTC-Model-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- ==========================================
--- H
--- ==========================================
-
-
-HARQ-MemoryPartitioning ::= CHOICE {
- implicit HARQ-MemoryPartitioning-Implicit,
- explicit HARQ-MemoryPartitioning-Explicit,
- ...
- }
-
-HARQ-MemoryPartitioning-Implicit ::= SEQUENCE {
- number-of-Processes INTEGER (1..8,...),
- iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioning-Implicit-ExtIEs } } OPTIONAL,
- ...
-}
-
-HARQ-MemoryPartitioning-Implicit-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HARQ-MemoryPartitioning-Explicit ::= SEQUENCE {
- hARQ-MemoryPartitioningList HARQ-MemoryPartitioningList,
- iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioning-Explicit-ExtIEs } } OPTIONAL,
- ...
-}
-
-HARQ-MemoryPartitioning-Explicit-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HARQ-MemoryPartitioningList ::= SEQUENCE (SIZE (1..maxNrOfHARQProcesses)) OF HARQ-MemoryPartitioningItem
-
-HARQ-MemoryPartitioningItem ::= SEQUENCE {
- process-Memory-Size ENUMERATED {
- hms800, hms1600, hms2400, hms3200, hms4000,
- hms4800, hms5600, hms6400, hms7200, hms8000,
- hms8800, hms9600, hms10400, hms11200, hms12000,
- hms12800, hms13600, hms14400, hms15200, hms16000,
- hms17600, hms19200, hms20800, hms22400, hms24000,
- hms25600, hms27200, hms28800, hms30400, hms32000,
- hms36000, hms40000, hms44000, hms48000, hms52000,
- hms56000, hms60000, hms64000, hms68000, hms72000,
- hms76000, hms80000, hms88000, hms96000, hms104000,
- hms112000, hms120000, hms128000, hms136000, hms144000,
- hms152000, hms160000, hms176000, hms192000, hms208000,
- hms224000, hms240000, hms256000, hms272000, hms288000,
- hms304000,...},
- iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioningItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-HARQ-MemoryPartitioningItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDPA-Capability ::= ENUMERATED {hsdpa-capable, hsdpa-non-capable}
-
-HS-DSCHProvidedBitRate ::= SEQUENCE (SIZE (1..maxNrOfPriorityClasses)) OF HS-DSCHProvidedBitRate-Item
-
-HS-DSCHProvidedBitRate-Item ::= SEQUENCE {
- schedulingPriorityIndicator SchedulingPriorityIndicator,
- hS-DSCHProvidedBitRateValue HS-DSCHProvidedBitRateValue,
- iE-Extensions ProtocolExtensionContainer { { HS-DSCHProvidedBitRate-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-DSCHProvidedBitRate-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-DSCHProvidedBitRateValue ::= INTEGER(0..16777215,...)
--- Unit bit/s, Range 0..2^24-1, Step 1 bit
-
-
-HS-DSCHRequiredPower ::= SEQUENCE (SIZE (1..maxNrOfPriorityClasses)) OF HS-DSCHRequiredPower-Item
-
-HS-DSCHRequiredPower-Item ::= SEQUENCE {
- schedulingPriorityIndicator SchedulingPriorityIndicator,
- hS-DSCHRequiredPowerValue HS-DSCHRequiredPowerValue,
- hS-DSCHRequiredPowerPerUEInformation HS-DSCHRequiredPowerPerUEInformation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-DSCHRequiredPower-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-DSCHRequiredPower-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-DSCHRequiredPowerValue ::= INTEGER(0..1000)
--- Unit %, Range 0 ..1000, Step 0.1%
-
-HS-DSCHRequiredPowerPerUEInformation ::= SEQUENCE (SIZE (1.. maxNrOfContextsOnUeList)) OF HS-DSCHRequiredPowerPerUEInformation-Item
-
-
-HS-DSCHRequiredPowerPerUEInformation-Item ::= SEQUENCE {
- cRNC-CommunicationContextID CRNC-CommunicationContextID,
- hS-DSCHRequiredPowerPerUEWeight HS-DSCHRequiredPowerPerUEWeight OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-DSCHRequiredPowerPerUEInformation-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-DSCHRequiredPowerPerUEInformation-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-DSCHRequiredPowerPerUEWeight ::= INTEGER(0..100)
--- Unit %, Range 0 ..100, Step 1%
-
-
-HSDSCH-FDD-Information ::= SEQUENCE {
- hSDSCH-MACdFlows-Information HSDSCH-MACdFlows-Information,
- ueCapability-Info UE-Capability-Information,
- mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM,
- cqiFeedback-CycleK CQI-Feedback-Cycle,
- cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL,
- -- This IE shall be present if the CQI Feedback Cycle k is greater than 0
- ackNackRepetitionFactor AckNack-RepetitionFactor,
- cqiPowerOffset CQI-Power-Offset,
- ackPowerOffset Ack-Power-Offset,
- nackPowerOffset Nack-Power-Offset,
- hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL,
- measurement-Power-Offset Measurement-Power-Offset OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-FDD-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-TDD-Information ::= SEQUENCE {
- hSDSCH-MACdFlows-Information HSDSCH-MACdFlows-Information,
- ueCapability-Info UE-Capability-Information,
- mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM,
- tDD-AckNack-Power-Offset TDD-AckNack-Power-Offset,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-TDD-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-HSDSCH-Information-to-Modify ::= SEQUENCE {
- hsDSCH-MACdFlow-Specific-Info-to-Modify HSDSCH-MACdFlow-Specific-InfoList-to-Modify OPTIONAL,
- priorityQueueInfotoModify PriorityQueue-InfoList-to-Modify OPTIONAL,
- mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM OPTIONAL,
- cqiFeedback-CycleK CQI-Feedback-Cycle OPTIONAL, -- For FDD only
- cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL, -- For FDD only
- ackNackRepetitionFactor AckNack-RepetitionFactor OPTIONAL, -- For FDD only
- cqiPowerOffset CQI-Power-Offset OPTIONAL, -- For FDD only
- ackPowerOffset Ack-Power-Offset OPTIONAL, -- For FDD only
- nackPowerOffset Nack-Power-Offset OPTIONAL, -- For FDD only
- hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL, -- For FDD only
- measurement-Power-Offset Measurement-Power-Offset OPTIONAL, -- For FDD only
- hSSCCHCodeChangeGrant HSSCCH-Code-Change-Grant OPTIONAL,
- tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL, -- For TDD only
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-Information-to-Modify-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-Information-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InfoList-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InfoItem-to-Modify
-
-HSDSCH-MACdFlow-Specific-InfoItem-to-Modify ::= SEQUENCE {
- hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InfoItem-to-Modify-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InfoItem-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-Information-to-Modify-Unsynchronised ::= SEQUENCE {
- hsDSCH-MACdFlow-Specific-Info-to-Modify HSDSCH-MACdFlow-Specific-InfoList-to-Modify OPTIONAL,
- priorityQueueInfotoModifyUnsynchronised PriorityQueue-InfoList-to-Modify-Unsynchronised OPTIONAL,
- cqiPowerOffset CQI-Power-Offset OPTIONAL, -- For FDD only
- ackPowerOffset Ack-Power-Offset OPTIONAL, -- For FDD only
- nackPowerOffset Nack-Power-Offset OPTIONAL, -- For FDD only
- hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL, -- For FDD only
- tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL, -- For TDD only
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-Information-to-Modify-Unsynchronised-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-Information-to-Modify-Unsynchronised-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-FDD-Information-Response ::= SEQUENCE {
- hsDSCH-MACdFlow-Specific-InformationResp HSDSCH-MACdFlow-Specific-InformationResp OPTIONAL,
- hsSCCH-Specific-Information-ResponseFDD HSSCCH-Specific-InformationRespListFDD OPTIONAL,
- hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Information-Response-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-FDD-Information-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-TDD-Information-Response ::= SEQUENCE {
- hsDSCH-MACdFlow-Specific-InformationResp HSDSCH-MACdFlow-Specific-InformationResp OPTIONAL,
- hsSCCH-Specific-Information-ResponseTDD HSSCCH-Specific-InformationRespListTDD OPTIONAL, -- Not Applicable to 1.28Mcps TDD
- hsSCCH-Specific-Information-ResponseTDDLCR HSSCCH-Specific-InformationRespListTDDLCR OPTIONAL, -- Not Applicable to 3.84Mcps TDD
- hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Information-Response-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-TDD-Information-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InformationResp ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InformationResp-Item
-
-HSDSCH-MACdFlow-Specific-InformationResp-Item ::= SEQUENCE {
- hsDSCHMacdFlow-Id HSDSCH-MACdFlow-ID,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- hSDSCH-Initial-Capacity-Allocation HSDSCH-Initial-Capacity-Allocation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InformationRespItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InformationRespItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-MACdFlows-Information ::= SEQUENCE {
- hSDSCH-MACdFlow-Specific-Info HSDSCH-MACdFlow-Specific-InfoList,
- priorityQueue-Info PriorityQueue-InfoList,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlows-Information-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-MACdFlows-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InfoList ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InfoItem
-
-HSDSCH-MACdFlow-Specific-InfoItem ::= SEQUENCE {
- hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
- allocationRetentionPriority AllocationRetentionPriority,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InfoItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-MACdFlows-to-Delete ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlows-to-Delete-Item
-
-HSDSCH-MACdFlows-to-Delete-Item ::= SEQUENCE {
- hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlows-to-Delete-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-MACdFlows-to-Delete-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSSCCH-PowerOffset ::= INTEGER (0..255)
--- PowerOffset = -32 + offset * 0.25
--- Unit dB, Range -32dB .. +31.75dB, Step +0.25dB
-
-HSDSCH-Initial-Capacity-Allocation::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF HSDSCH-Initial-Capacity-AllocationItem
-
-HSDSCH-Initial-Capacity-AllocationItem ::= SEQUENCE {
- schedulingPriorityIndicator SchedulingPriorityIndicator,
- maximum-MACdPDU-Size MACdPDU-Size,
- hSDSCH-InitialWindowSize HSDSCH-InitialWindowSize,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-Initial-Capacity-AllocationItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-Initial-Capacity-AllocationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-InitialWindowSize ::= INTEGER (1..255)
--- Number of MAC-d PDUs.
-
-HSSCCH-Specific-InformationRespListFDD ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSCCH-Codes
-
-HSSCCH-Codes ::= SEQUENCE {
- codeNumber INTEGER (0..127),
- iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemFDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSSCCH-Specific-InformationRespItemFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSSCCH-Specific-InformationRespListTDD ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSCCH-Specific-InformationRespItemTDD
-
-HSSCCH-Specific-InformationRespItemTDD ::= SEQUENCE {
- timeslot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tDD-ChannelisationCode TDD-ChannelisationCode,
- hSSICH-Info HSSICH-Info,
- iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSSCCH-Specific-InformationRespItemTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSSCCH-Specific-InformationRespListTDDLCR ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSCCH-Specific-InformationRespItemTDDLCR
-
-HSSCCH-Specific-InformationRespItemTDDLCR ::= SEQUENCE {
- timeslotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- first-TDD-ChannelisationCode TDD-ChannelisationCode,
- second-TDD-ChannelisationCode TDD-ChannelisationCode,
- hSSICH-InfoLCR HSSICH-InfoLCR,
- iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemTDDLCR-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSSCCH-Specific-InformationRespItemTDDLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSSICH-Info ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeslot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tDD-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { HSSICH-Info-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSSICH-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSSICH-InfoLCR ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeslotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tDD-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { HSSICH-Info-LCR-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSSICH-Info-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-Reception-Quality-Value ::= SEQUENCE {
- failed-HS-SICH HS-SICH-failed,
- missed-HS-SICH HS-SICH-missed,
- total-HS-SICH HS-SICH-total,
- iE-Extensions ProtocolExtensionContainer { { HS-SICH-Reception-Quality-Value-ExtIEs} } OPTIONAL,
-...
-}
-
-HS-SICH-Reception-Quality-Value-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-failed ::= INTEGER (0..20)
-
-HS-SICH-missed ::= INTEGER (0..20)
-
-HS-SICH-total ::= INTEGER (0..20)
-
-HS-SICH-Reception-Quality-Measurement-Value ::= INTEGER (0..20)
--- According to mapping in [23]
-
-HSDSCH-MACdFlow-ID ::= INTEGER (0..maxNrOfMACdFlows-1)
-
-HSDSCH-RNTI ::= INTEGER (0..65535)
-
-HS-PDSCH-FDD-Code-Information ::= SEQUENCE {
- number-of-HS-PDSCH-codes INTEGER (0..maxHS-PDSCHCodeNrComp-1),
- hS-PDSCH-Start-code-number HS-PDSCH-Start-code-number OPTIONAL,
--- Only included when number of HS-DSCH codes > 0
- iE-Extensions ProtocolExtensionContainer { { HS-PDSCH-FDD-Code-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-PDSCH-FDD-Code-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-PDSCH-Start-code-number ::= INTEGER (1..maxHS-PDSCHCodeNrComp-1)
-
-HS-SCCH-ID ::= INTEGER (0..31)
-HS-SICH-ID ::= INTEGER (0..31)
-
-HS-SCCH-FDD-Code-Information::= CHOICE {
- replace HS-SCCH-FDD-Code-List,
- remove NULL,
- ...
-}
-
-HS-SCCH-FDD-Code-List ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-FDD-Code-Information-Item
-
-HS-SCCH-FDD-Code-Information-Item ::= INTEGER (0..maxHS-SCCHCodeNrComp-1)
-
-HSSCCH-CodeChangeIndicator ::= ENUMERATED {
- hsSCCHCodeChangeNeeded
-}
-
-HSSCCH-Code-Change-Grant ::= ENUMERATED {
- changeGranted
-}
-
-HSDSCH-FDD-Update-Information ::= SEQUENCE {
- hsSCCHCodeChangeIndicator HSSCCH-CodeChangeIndicator OPTIONAL,
- cqiFeedback-CycleK CQI-Feedback-Cycle OPTIONAL,
- cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL,
- ackNackRepetitionFactor AckNack-RepetitionFactor OPTIONAL,
- cqiPowerOffset CQI-Power-Offset OPTIONAL,
- ackPowerOffset Ack-Power-Offset OPTIONAL,
- nackPowerOffset Nack-Power-Offset OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Update-Information-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-FDD-Update-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-TDD-Update-Information ::= SEQUENCE {
- hsSCCHCodeChangeIndicator HSSCCH-CodeChangeIndicator OPTIONAL,
- tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Update-Information-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-TDD-Update-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- ==========================================
--- I
--- ==========================================
-
-IB-OC-ID ::= INTEGER (1..16)
-
-IB-SG-DATA ::= BIT STRING
--- Contains SIB data fixed" or "SIB data variable" in segment as encoded in ref.[18].
-
-IB-SG-POS ::= INTEGER (0..4094)
--- Only even positions allowed
-
-IB-SG-REP ::= ENUMERATED {rep4, rep8, rep16, rep32, rep64, rep128, rep256, rep512, rep1024, rep2048, rep4096}
-
-IB-Type ::= ENUMERATED {
- mIB,
- sB1,
- sB2,
- sIB1,
- sIB2,
- sIB3,
- sIB4,
- sIB5,
- sIB6,
- sIB7,
- sIB8,
- sIB9,
- sIB10,
- sIB11,
- sIB12,
- sIB13,
- sIB13dot1,
- sIB13dot2,
- sIB13dot3,
- sIB13dot4,
- sIB14,
- sIB15,
- sIB15dot1,
- sIB15dot2,
- sIB15dot3,
- sIB16,
- ...,
- sIB17,
- sIB15dot4,
- sIB18,
- sIB15dot5
-}
-
-InformationReportCharacteristics ::= CHOICE {
- onDemand NULL,
- periodic InformationReportCharacteristicsType-ReportPeriodicity,
- onModification InformationReportCharacteristicsType-OnModification,
- ...
-}
-
-InformationReportCharacteristicsType-ReportPeriodicity ::= CHOICE {
- min ReportPeriodicity-Scaledmin,
- hours ReportPeriodicity-Scaledhour,
- ...
-}
-
-InformationReportCharacteristicsType-OnModification ::= SEQUENCE {
- information-thresholds InformationThresholds OPTIONAL,
- ie-Extensions ProtocolExtensionContainer { { InformationReportCharacteristicsType-OnModification-ExtIEs} } OPTIONAL,
- ...
-}
-
-InformationReportCharacteristicsType-OnModification-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-InformationThresholds ::= CHOICE {
- dgps DGPSThresholds,
- ...
-}
-
-InformationExchangeID ::= INTEGER (0..1048575)
-
-InformationType ::= SEQUENCE {
- information-Type-Item Information-Type-Item,
- gPSInformation GPS-Information OPTIONAL,
- -- The IE shall be present if the Information Type Item IE indicates "GPS Information".
- iE-Extensions ProtocolExtensionContainer { { Information-Type-ExtIEs} } OPTIONAL,
-...
-}
-
-Information-Type-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Information-Type-Item ::= ENUMERATED {
- gpsinformation,
- dgpscorrections,
- gpsrxpos,
- ...
-}
-
-InnerLoopDLPCStatus ::= ENUMERATED {
- active,
- inactive
-}
-
-IPDL-Indicator ::= ENUMERATED {
- active,
- inactive
-}
-
-
-IPDL-FDD-Parameters ::= SEQUENCE {
- iP-SpacingFDD ENUMERATED{sp5,sp7,sp10,sp15,sp20,sp30,sp40,sp50,...},
- iP-Length ENUMERATED{len5, len10},
- seed INTEGER(0..63),
- burstModeParams BurstModeParams OPTIONAL,
- iP-Offset INTEGER(0..9),
- iE-Extensions ProtocolExtensionContainer { { IPDLFDDParameter-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLFDDParameter-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDL-TDD-Parameters ::= SEQUENCE {
- iP-SpacingTDD ENUMERATED{sp30,sp40,sp50,sp70,sp100,...},
- iP-Start INTEGER(0..4095),
- iP-Slot INTEGER(0..14),
- iP-PCCPCH ENUMERATED{switchOff-1-Frame,switchOff-2-Frames},
- burstModeParams BurstModeParams OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { IPDLTDDParameter-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDL-TDD-Parameters-LCR ::= SEQUENCE {
- iP-SpacingTDD ENUMERATED{sp30,sp40,sp50,sp70,sp100,...},
- iP-Start INTEGER(0..4095),
- iP-Sub ENUMERATED{first,second,both},
- burstModeParams BurstModeParams OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { IPDLTDDParameterLCR-ExtIEs} } OPTIONAL,
- ...
-}
-
-BurstModeParams ::= SEQUENCE {
- burstStart INTEGER(0..15),
- burstLength INTEGER(10..25),
- burstFreq INTEGER(1..16),
- ...
-}
-
-IPDLTDDParameter-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLTDDParameterLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- ==========================================
--- J
--- ==========================================
-
--- ==========================================
--- K
--- ==========================================
-
--- ==========================================
--- L
--- ==========================================
-
-LimitedPowerIncrease ::= ENUMERATED {
- used,
- not-used
-}
-
-Local-Cell-ID ::= INTEGER (0..268435455)
-
--- ==========================================
--- M
--- ==========================================
-
-MACdPDU-Size ::= INTEGER (1..5000,...)
-
-MACdPDU-Size-Indexlist ::= SEQUENCE (SIZE (1..maxNrOfMACdPDUIndexes)) OF MACdPDU-Size-IndexItem
-
-MACdPDU-Size-IndexItem ::= SEQUENCE {
- sID SID,
- macdPDU-Size MACdPDU-Size,
- iE-Extensions ProtocolExtensionContainer { { MACdPDU-Size-IndexItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-MACdPDU-Size-IndexItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MACdPDU-Size-Indexlist-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfMACdPDUIndexes)) OF MACdPDU-Size-IndexItem-to-Modify
-
-MACdPDU-Size-IndexItem-to-Modify ::= SEQUENCE {
- sID SID,
- macdPDU-Size MACdPDU-Size,
- iE-Extensions ProtocolExtensionContainer { { MACdPDU-Size-IndexItem-to-Modify-ExtIEs} } OPTIONAL,
- ...
-}
-
-MACdPDU-Size-IndexItem-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MAChsGuaranteedBitRate ::= INTEGER (0..16777215,...)
-
-MAChsReorderingBufferSize-for-RLC-UM ::= INTEGER (0..300,...)
--- Unit kBytes
-
-MAC-hsWindowSize ::= ENUMERATED {v4, v6, v8, v12, v16, v24, v32,...}
-
-MaximumDL-PowerCapability ::= INTEGER(0..500)
--- Unit dBm, Range 0dBm .. 50dBm, Step +0.1dB
-
-Maximum-PDSCH-Power ::= SEQUENCE {
- maximum-PDSCH-Power-SF4 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF8 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF16 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF32 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF64 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF128 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF256 DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Maximum-PDSCH-Power-ExtIEs} } OPTIONAL,
- ...
-}
-
-Maximum-PDSCH-Power-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MaximumTransmissionPower ::= INTEGER(0..500)
--- Unit dBm, Range 0dBm .. 50dBm, Step +0.1dB
-
-MaxNrOfUL-DPDCHs ::= INTEGER (1..6)
-
-Max-Number-of-PCPCHes ::= INTEGER (1..64,...)
-
-MaxPRACH-MidambleShifts ::= ENUMERATED {
- shift4,
- shift8,
- ...
-}
-
-MeasurementFilterCoefficient ::= ENUMERATED {k0, k1, k2, k3, k4, k5, k6, k7, k8, k9, k11, k13, k15, k17, k19,...}
--- Measurement Filter Coefficient to be used for measurement
-
-MeasurementID ::= INTEGER (0..1048575)
-
-Measurement-Power-Offset ::= INTEGER(-12 .. 26)
--- Actual value = IE value * 0.5
-
-MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
- SEQUENCE {
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber1 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
- ...
- }
-
-MessageStructure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MidambleConfigurationLCR ::= ENUMERATED {v2, v4, v6, v8, v10, v12, v14, v16, ...}
-
-MidambleConfigurationBurstType1And3 ::= ENUMERATED {v4, v8, v16}
-
-MidambleConfigurationBurstType2 ::= ENUMERATED {v3, v6}
-
-MidambleShiftAndBurstType ::= CHOICE {
- type1 SEQUENCE {
- midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
- midambleAllocationMode CHOICE {
- defaultMidamble NULL,
- commonMidamble NULL,
- ueSpecificMidamble MidambleShiftLong,
- ...
- },
- ...
- },
- type2 SEQUENCE {
- midambleConfigurationBurstType2 MidambleConfigurationBurstType2,
- midambleAllocationMode CHOICE {
- defaultMidamble NULL,
- commonMidamble NULL,
- ueSpecificMidamble MidambleShiftShort,
- ...
- },
- ...
- },
- type3 SEQUENCE {
- midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
- midambleAllocationMode CHOICE {
- defaultMidamble NULL,
- ueSpecificMidamble MidambleShiftLong,
- ...
- },
- ...
- },
- ...
-}
-
-MidambleShiftLong ::= INTEGER (0..15)
-
-MidambleShiftShort ::= INTEGER (0..5)
-
-MidambleShiftLCR ::= SEQUENCE {
- midambleAllocationMode MidambleAllocationMode,
- midambleShift MidambleShiftLong OPTIONAL,
- -- The IE shall be present if the Midamble Allocation Mode IE is set to "UE specific midamble".
-midambleConfigurationLCR MidambleConfigurationLCR,
- iE-Extensions ProtocolExtensionContainer { {MidambleShiftLCR-ExtIEs} } OPTIONAL,
- ...
- }
-
-MidambleAllocationMode ::= ENUMERATED {
- defaultMidamble,
- commonMidamble,
- uESpecificMidamble,
- ...
- }
-
-MidambleShiftLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MinimumDL-PowerCapability ::= INTEGER(0..800)
--- Unit dBm, Range -30dBm .. 50dBm, Step +0.1dB
-
-MinSpreadingFactor ::= ENUMERATED {
- v4,
- v8,
- v16,
- v32,
- v64,
- v128,
- v256,
- v512
-}
--- TDD Mapping scheme for the minimum spreading factor 1 and 2: "256" means 1, "512" means 2
-
-ModifyPriorityQueue ::= CHOICE {
- addPriorityQueue PriorityQueue-InfoItem-to-Add,
- modifyPriorityQueue PriorityQueue-InfoItem-to-Modify,
- deletePriorityQueue PriorityQueue-Id,
- ...
-}
-
-Modulation ::= ENUMERATED {
- qPSK,
- eightPSK,
- ...
-}
-
-MinUL-ChannelisationCodeLength ::= ENUMERATED {
- v4,
- v8,
- v16,
- v32,
- v64,
- v128,
- v256,
- ...
-}
-
-MultiplexingPosition ::= ENUMERATED {
- fixed,
- flexible
-}
-
--- ==========================================
--- N
--- ==========================================
-
-Nack-Power-Offset ::= INTEGER (0..8,...)
--- According to mapping in ref. [9] subclause 4.2.1
-
-NCyclesPerSFNperiod ::= ENUMERATED {
- v1,
- v2,
- v4,
- v8,
- ...,
- v16,
- v32,
- v64
-}
-
-NEOT ::= INTEGER (0..8)
-
-NFmax ::= INTEGER (1..64,...)
-
-NRepetitionsPerCyclePeriod ::= INTEGER (2..10)
-
-N-INSYNC-IND ::= INTEGER (1..256)
-
-N-OUTSYNC-IND ::= INTEGER (1..256)
-
-NeighbouringCellMeasurementInformation ::= SEQUENCE (SIZE (1..maxNrOfMeasNCell)) OF
- CHOICE {
- neighbouringFDDCellMeasurementInformation NeighbouringFDDCellMeasurementInformation, -- FDD only
- neighbouringTDDCellMeasurementInformation NeighbouringTDDCellMeasurementInformation,
- -- Applicable to 3.84Mcps TDD only
- ...,
- extension-neighbouringCellMeasurementInformation Extension-neighbouringCellMeasurementInformation
- }
-
-Extension-neighbouringCellMeasurementInformation ::= ProtocolIE-Single-Container {{ Extension-neighbouringCellMeasurementInformationIE }}
-
-Extension-neighbouringCellMeasurementInformationIE NBAP-PROTOCOL-IES ::= {
- { ID id-neighbouringTDDCellMeasurementInformationLCR CRITICALITY reject TYPE NeighbouringTDDCellMeasurementInformationLCR PRESENCE mandatory }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-NeighbouringFDDCellMeasurementInformation ::= SEQUENCE {
- uC-Id UC-Id,
- uARFCN UARFCN,
- primaryScramblingCode PrimaryScramblingCode,
- iE-Extensions ProtocolExtensionContainer { { NeighbouringFDDCellMeasurementInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-NeighbouringFDDCellMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-NeighbouringTDDCellMeasurementInformation ::= SEQUENCE {
- uC-Id UC-Id,
- uARFCN UARFCN,
- cellParameterID CellParameterID,
- timeSlot TimeSlot OPTIONAL,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { NeighbouringTDDCellMeasurementInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-NeighbouringTDDCellMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-NeighbouringTDDCellMeasurementInformationLCR ::= SEQUENCE {
- uC-Id UC-Id,
- uARFCN UARFCN,
- cellParameterID CellParameterID,
- timeSlotLCR TimeSlotLCR OPTIONAL,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { NeighbouringTDDCellMeasurementInformationLCRItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-NeighbouringTDDCellMeasurementInformationLCRItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-NodeB-CommunicationContextID ::= INTEGER (0..1048575)
-
-NumberOfReportedCellPortions ::= INTEGER (1..maxNrOfCellPortionsPerCell,...)
-
-NStartMessage ::= INTEGER (1..8)
-
-NSubCyclesPerCyclePeriod ::= INTEGER (1..16,...)
-
--- ==========================================
--- O
--- ==========================================
-
--- ==========================================
--- P
--- ==========================================
-
-PagingIndicatorLength ::= ENUMERATED {
- v2,
- v4,
- v8,
- ...
-}
-
-PayloadCRC-PresenceIndicator ::= ENUMERATED {
- cRC-Included,
- cRC-NotIncluded,
- ...
-}
-
-PCCPCH-Power ::= INTEGER (-150..400,...)
--- PCCPCH-power = power * 10
--- If power <= -15 PCCPCH shall be set to -150
--- If power >= 40 PCCPCH shall be set to 400
--- Unit dBm, Range -15dBm .. +40 dBm, Step +0.1dB
-
-PCP-Length ::= ENUMERATED{
- v0,
- v8
-}
-
-PDSCH-CodeMapping ::= SEQUENCE {
- dl-ScramblingCode DL-ScramblingCode,
- signallingMethod CHOICE {
- code-Range PDSCH-CodeMapping-PDSCH-CodeMappingInformationList,
- tFCI-Range PDSCH-CodeMapping-DSCH-MappingInformationList,
- explicit PDSCH-CodeMapping-PDSCH-CodeInformationList,
- ...,
- replace PDSCH-CodeMapping-ReplacedPDSCH-CodeInformationList
- },
- iE-Extensions ProtocolExtensionContainer { { PDSCH-CodeMapping-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-CodeMapping-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-CodeMapping-CodeNumberComp ::= INTEGER (0..maxCodeNrComp-1)
-
-PDSCH-CodeMapping-SpreadingFactor ::= ENUMERATED {
- v4,
- v8,
- v16,
- v32,
- v64,
- v128,
- v256,
- ...
-}
-
-PDSCH-CodeMapping-PDSCH-CodeMappingInformationList ::= SEQUENCE (SIZE (1..maxNrOfCodeGroups)) OF
- SEQUENCE {
- spreadingFactor PDSCH-CodeMapping-SpreadingFactor,
- multi-CodeInfo PDSCH-Multi-CodeInfo,
- start-CodeNumber PDSCH-CodeMapping-CodeNumberComp,
- stop-CodeNumber PDSCH-CodeMapping-CodeNumberComp,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-CodeMapping-PDSCH-CodeMappingInformationList-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-CodeMapping-PDSCH-CodeMappingInformationList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-CodeMapping-DSCH-MappingInformationList ::= SEQUENCE (SIZE (1..maxNrOfTFCIGroups)) OF
- SEQUENCE {
- maxTFCI-field2-Value PDSCH-CodeMapping-MaxTFCI-Field2-Value,
- spreadingFactor PDSCH-CodeMapping-SpreadingFactor,
- multi-CodeInfo PDSCH-Multi-CodeInfo,
- codeNumber PDSCH-CodeMapping-CodeNumberComp,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-CodeMapping-DSCH-MappingInformationList-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-CodeMapping-DSCH-MappingInformationList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-CodeMapping-MaxTFCI-Field2-Value ::= INTEGER (1..1023)
-
-PDSCH-CodeMapping-PDSCH-CodeInformationList ::= SEQUENCE (SIZE (1..maxNrOfTFCI2Combs)) OF
- SEQUENCE {
- spreadingFactor PDSCH-CodeMapping-SpreadingFactor,
- multi-CodeInfo PDSCH-Multi-CodeInfo,
- codeNumber PDSCH-CodeMapping-CodeNumberComp,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-CodeMapping-PDSCH-CodeInformationList-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-CodeMapping-PDSCH-CodeInformationList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-CodeMapping-ReplacedPDSCH-CodeInformationList ::= SEQUENCE (SIZE (1..maxNrOfTFCI2Combs)) OF
- SEQUENCE {
- tfci-Field2 TFCS-MaxTFCI-field2-Value,
- spreadingFactor PDSCH-CodeMapping-SpreadingFactor,
- multi-CodeInfo PDSCH-Multi-CodeInfo,
- codeNumber PDSCH-CodeMapping-CodeNumberComp,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-CodeMapping-ReplacedPDSCH-CodeInformationList-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-CodeMapping-ReplacedPDSCH-CodeInformationList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-Multi-CodeInfo ::= INTEGER (1..16)
-
-PDSCH-ID ::= INTEGER (0..255)
-
-PDSCHSet-ID ::= INTEGER (0..255)
-
-PICH-Mode ::= ENUMERATED {
- v18,
- v36,
- v72,
- v144,
- ...
-}
-
-PICH-Power ::= INTEGER (-10..5)
--- Unit dB, Range -10dB .. +5dB, Step +1dB
-
-PowerAdjustmentType ::= ENUMERATED {
- none,
- common,
- individual
-}
-
-PowerOffset ::= INTEGER (0..24)
--- PowerOffset = offset * 0.25
--- Unit dB, Range 0dB .. +6dB, Step +0.25dB
-
-PowerRaiseLimit ::= INTEGER (0..10)
-
-PRACH-Midamble ::= ENUMERATED {
- inverted,
- direct,
- ...
-}
-
-PRC ::= INTEGER (-2047..2047)
---pseudo range correction; scaling factor 0.32 meters
-
-PRCDeviation ::= ENUMERATED {
- one,
- two,
- five,
- ten,
- ...
-}
-
-PreambleSignatures ::= BIT STRING {
- signature15(0),
- signature14(1),
- signature13(2),
- signature12(3),
- signature11(4),
- signature10(5),
- signature9(6),
- signature8(7),
- signature7(8),
- signature6(9),
- signature5(10),
- signature4(11),
- signature3(12),
- signature2(13),
- signature1(14),
- signature0(15)
- } (SIZE (16))
-
-PreambleThreshold ::= INTEGER (0..72)
--- 0= -36.0dB, 1= -35.5dB, ... , 72= 0.0dB
-
-PredictedSFNSFNDeviationLimit ::=INTEGER (1..256)
--- Unit chip, Step 1/16 chip, Range 1/16..16 chip
-
-PredictedTUTRANGPSDeviationLimit ::= INTEGER (1..256)
--- Unit chip, Step 1/16 chip, Range 1/16..16 chip
-
-Pre-emptionCapability ::= ENUMERATED {
- shall-not-trigger-pre-emption,
- may-trigger-pre-emption
-}
-
-Pre-emptionVulnerability ::= ENUMERATED {
- not-pre-emptable,
- pre-emptable
-}
-
-PrimaryCPICH-Power ::= INTEGER(-100..500)
--- step 0.1 (Range -10.0..50.0) Unit is dBm
-
-Primary-CPICH-Usage-for-Channel-Estimation ::= ENUMERATED {
-primary-CPICH-may-be-used,
-primary-CPICH-shall-not-be-used
-}
-
-PrimaryScramblingCode ::= INTEGER (0..511)
-
-PriorityLevel ::= INTEGER (0..15)
--- 0 = spare, 1 = highest priority, ...14 = lowest priority and 15 = no priority
-
-PriorityQueue-Id ::= INTEGER (0..maxNrOfPriorityQueues-1)
-
-PriorityQueue-InfoList ::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF PriorityQueue-InfoItem
-
-PriorityQueue-InfoItem ::= SEQUENCE {
- priorityQueueId PriorityQueue-Id,
- associatedHSDSCH-MACdFlow HSDSCH-MACdFlow-ID,
- schedulingPriorityIndicator SchedulingPriorityIndicator,
- t1 T1,
- discardTimer DiscardTimer OPTIONAL,
- mAC-hsWindowSize MAC-hsWindowSize,
- mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
- macdPDU-Size-Index MACdPDU-Size-Indexlist,
- rLC-Mode RLC-Mode,
- iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-PriorityQueue-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PriorityQueue-InfoList-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF ModifyPriorityQueue
-
-PriorityQueue-InfoItem-to-Add ::= SEQUENCE {
- priorityQueueId PriorityQueue-Id,
- associatedHSDSCH-MACdFlow HSDSCH-MACdFlow-ID,
- schedulingPriorityIndicator SchedulingPriorityIndicator,
- t1 T1,
- discardTimer DiscardTimer OPTIONAL,
- mAC-hsWindowSize MAC-hsWindowSize,
- mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
- macdPDU-Size-Index MACdPDU-Size-Indexlist,
- rLC-Mode RLC-Mode,
- iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Add-ExtIEs} } OPTIONAL,
- ...
-}
-
-PriorityQueue-InfoItem-to-Add-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PriorityQueue-InfoItem-to-Modify ::= SEQUENCE {
- priorityQueueId PriorityQueue-Id,
- schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
- t1 T1 OPTIONAL,
- discardTimer DiscardTimer OPTIONAL,
- mAC-hsWindowSize MAC-hsWindowSize OPTIONAL,
- mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
- macdPDU-Size-Index-to-Modify MACdPDU-Size-Indexlist-to-Modify OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Modify-ExtIEs} } OPTIONAL,
- ...
-}
-
-PriorityQueue-InfoItem-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PriorityQueue-InfoList-to-Modify-Unsynchronised ::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF PriorityQueue-InfoItem-to-Modify-Unsynchronised
-
-PriorityQueue-InfoItem-to-Modify-Unsynchronised ::= SEQUENCE {
- priorityQueueId PriorityQueue-Id,
- schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
- discardTimer DiscardTimer OPTIONAL,
- mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Modify-Unsynchronised-ExtIEs} } OPTIONAL,
- ...
-}
-
-PriorityQueue-InfoItem-to-Modify-Unsynchronised-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimaryCCPCH-RSCP ::= INTEGER (0..91)
--- Mapping of non-negative values according to [23]
-
-PrimaryCCPCH-RSCP-Delta ::= INTEGER (-5..-1,...)
--- Mapping of negative values according to [23]
-
-PropagationDelay ::= INTEGER (0..255)
--- Unit: chips, step size 3 chips
--- example: 0 = 0chip, 1 = 3chips
-
-SCH-TimeSlot ::= INTEGER (0..6)
-
-PunctureLimit ::= INTEGER (0..15)
--- 0: 40%; 1: 44%; ... 14: 96%; 15: 100%
-
-PUSCH-ID ::= INTEGER (0..255)
-
-PUSCHSet-ID ::= INTEGER (0..255)
-
--- ==========================================
--- Q
--- ==========================================
-
-QE-Selector ::= ENUMERATED {
- selected,
- non-selected
-}
-
-Qth-Parameter ::= INTEGER (-20..0)
--- Unit dB, Step 1dB
-
--- ==========================================
--- R
--- ==========================================
-
-RACH-SlotFormat ::= ENUMERATED {
- v0,
- v1,
- v2,
- v3,
- ...
-}
-
-RACH-SubChannelNumbers ::= BIT STRING {
- subCh11(0),
- subCh10(1),
- subCh9(2),
- subCh8(3),
- subCh7(4),
- subCh6(5),
- subCh5(6),
- subCh4(7),
- subCh3(8),
- subCh2(9),
- subCh1(10),
- subCh0(11)
- } (SIZE (12))
-
-RL-Specific-DCH-Info ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF RL-Specific-DCH-Info-Item
-
-RL-Specific-DCH-Info-Item ::= SEQUENCE {
- dCH-id DCH-ID,
- bindingID BindingID OPTIONAL,
- transportlayeraddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-Specific-DCH-Info-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Specific-DCH-Info-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Range-Correction-Rate ::= INTEGER (-127..127)
--- scaling factor 0.032 m/s
-
-ReferenceClockAvailability ::= ENUMERATED {
- available,
- notAvailable
-}
-
-ReferenceSFNoffset ::= INTEGER (0..255)
-
-RepetitionLength ::= INTEGER (1..63)
-
-RepetitionPeriod ::= ENUMERATED {
- v1,
- v2,
- v4,
- v8,
- v16,
- v32,
- v64,
- ...
-}
-
-RepetitionNumber0 ::= INTEGER (0..255)
-
-RepetitionNumber1 ::= INTEGER (1..256)
-
-RefTFCNumber ::= INTEGER (0..3)
-
-ReportCharacteristics ::= CHOICE {
- onDemand NULL,
- periodic ReportCharacteristicsType-ReportPeriodicity,
- event-a ReportCharacteristicsType-EventA,
- event-b ReportCharacteristicsType-EventB,
- event-c ReportCharacteristicsType-EventC,
- event-d ReportCharacteristicsType-EventD,
- event-e ReportCharacteristicsType-EventE,
- event-f ReportCharacteristicsType-EventF,
- ...,
- extension-ReportCharacteristics Extension-ReportCharacteristics
-}
-
-Extension-ReportCharacteristics ::= ProtocolIE-Single-Container {{ Extension-ReportCharacteristicsIE }}
-
-Extension-ReportCharacteristicsIE NBAP-PROTOCOL-IES ::= {
- { ID id-ReportCharacteristicsType-OnModification CRITICALITY reject TYPE ReportCharacteristicsType-OnModification PRESENCE mandatory }
-}
-
-ReportCharacteristicsType-EventA ::= SEQUENCE {
- measurementThreshold ReportCharacteristicsType-MeasurementThreshold,
- measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventA-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventA-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-EventB ::= SEQUENCE {
- measurementThreshold ReportCharacteristicsType-MeasurementThreshold,
- measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventB-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventB-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-EventC ::= SEQUENCE {
- measurementIncreaseThreshold ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold,
- measurementChangeTime ReportCharacteristicsType-ScaledMeasurementChangeTime,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventC-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventC-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-EventD ::= SEQUENCE {
- measurementDecreaseThreshold ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold,
- measurementChangeTime ReportCharacteristicsType-ScaledMeasurementChangeTime,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventD-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-EventE ::= SEQUENCE {
- measurementThreshold1 ReportCharacteristicsType-MeasurementThreshold,
- measurementThreshold2 ReportCharacteristicsType-MeasurementThreshold OPTIONAL,
- measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
- reportPeriodicity ReportCharacteristicsType-ReportPeriodicity OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventE-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventE-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-EventF ::= SEQUENCE {
- measurementThreshold1 ReportCharacteristicsType-MeasurementThreshold,
- measurementThreshold2 ReportCharacteristicsType-MeasurementThreshold OPTIONAL,
- measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
- reportPeriodicity ReportCharacteristicsType-ReportPeriodicity OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventF-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventF-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-OnModification ::= SEQUENCE {
- measurementThreshold ReportCharacteristicsType-MeasurementThreshold,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-OnModification-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-OnModification-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold ::= CHOICE {
- received-total-wide-band-power Received-total-wide-band-power-Value-IncrDecrThres,
- transmitted-carrier-power Transmitted-Carrier-Power-Value,
- acknowledged-prach-preambles Acknowledged-PRACH-preambles-Value,
- uL-TimeslotISCP UL-TimeslotISCP-Value-IncrDecrThres,
- sir SIR-Value-IncrDecrThres,
- sir-error SIR-Error-Value-IncrDecrThres,
- transmitted-code-power Transmitted-Code-Power-Value-IncrDecrThres,
- rscp RSCP-Value-IncrDecrThres,
- round-trip-time Round-Trip-Time-IncrDecrThres,
- acknowledged-PCPCH-access-preambles Acknowledged-PCPCH-access-preambles,
- detected-PCPCH-access-preambles Detected-PCPCH-access-preambles,
- ...,
- extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold
-}
-
-Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold ::= ProtocolIE-Single-Container {{ Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThresholdIE }}
-
-Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThresholdIE NBAP-PROTOCOL-IES ::= {
-{ ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission CRITICALITY reject TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmissionValue PRESENCE mandatory}
-}
-
-ReportCharacteristicsType-MeasurementThreshold ::= CHOICE {
- received-total-wide-band-power Received-total-wide-band-power-Value,
- transmitted-carrier-power Transmitted-Carrier-Power-Value,
- acknowledged-prach-preambles Acknowledged-PRACH-preambles-Value,
- uL-TimeslotISCP UL-TimeslotISCP-Value,
- sir SIR-Value,
- sir-error SIR-Error-Value,
- transmitted-code-power Transmitted-Code-Power-Value,
- rscp RSCP-Value,
- rx-timing-deviation Rx-Timing-Deviation-Value,
- round-trip-time Round-Trip-Time-Value,
- acknowledged-PCPCH-access-preambles Acknowledged-PCPCH-access-preambles,
- detected-PCPCH-access-preambles Detected-PCPCH-access-preambles,
- ...,
- extension-ReportCharacteristicsType-MeasurementThreshold Extension-ReportCharacteristicsType-MeasurementThreshold
-}
-
-Extension-ReportCharacteristicsType-MeasurementThreshold ::= ProtocolIE-Single-Container {{ Extension-ReportCharacteristicsType-MeasurementThresholdIE }}
-
-Extension-ReportCharacteristicsType-MeasurementThresholdIE NBAP-PROTOCOL-IES ::= {
- { ID id-TUTRANGPSMeasurementThresholdInformation CRITICALITY reject TYPE TUTRANGPSMeasurementThresholdInformation PRESENCE mandatory }|
- { ID id-SFNSFNMeasurementThresholdInformation CRITICALITY reject TYPE SFNSFNMeasurementThresholdInformation PRESENCE mandatory }|
- { ID id-Rx-Timing-Deviation-Value-LCR CRITICALITY reject TYPE Rx-Timing-Deviation-Value-LCR PRESENCE mandatory}|
- { ID id-HS-SICH-Reception-Quality-Measurement-Value CRITICALITY reject TYPE HS-SICH-Reception-Quality-Measurement-Value PRESENCE mandatory}|
- { ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission CRITICALITY reject TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmissionValue PRESENCE mandatory}|
- { ID id-HS-DSCHRequiredPowerValue CRITICALITY reject TYPE HS-DSCHRequiredPowerValue PRESENCE mandatory}
-}
-
-ReportCharacteristicsType-ScaledMeasurementChangeTime ::= CHOICE {
- msec MeasurementChangeTime-Scaledmsec,
- ...
-}
-
-MeasurementChangeTime-Scaledmsec ::= INTEGER (1..6000,...)
--- MeasurementChangeTime-Scaledmsec = Time * 10
--- Unit ms, Range 10ms .. 60000ms(1min), Step 10ms
-
-ReportCharacteristicsType-ScaledMeasurementHysteresisTime ::= CHOICE {
- msec MeasurementHysteresisTime-Scaledmsec,
- ...
-}
-
-MeasurementHysteresisTime-Scaledmsec ::= INTEGER (1..6000,...)
--- MeasurementHysteresisTime-Scaledmsec = Time * 10
--- Unit ms, Range 10ms .. 60000ms(1min), Step 10ms
-
-ReportCharacteristicsType-ReportPeriodicity ::= CHOICE {
- msec ReportPeriodicity-Scaledmsec,
- min ReportPeriodicity-Scaledmin,
- ...
-}
-
-ReportPeriodicity-Scaledmsec ::= INTEGER (1..6000,...)
--- ReportPeriodicity-msec = ReportPeriodicity * 10
--- Unit ms, Range 10ms .. 60000ms(1min), Step 10ms
-
-ReportPeriodicity-Scaledmin ::= INTEGER (1..60,...)
--- Unit min, Range 1min .. 60min(hour), Step 1min
-
-ReportPeriodicity-Scaledhour ::= INTEGER (1..24,...)
--- Unit hour, Range 1hour .. 24hours(day), Step 1hour
-
-ResourceOperationalState ::= ENUMERATED {
- enabled,
- disabled
-}
-
-RL-ID ::= INTEGER (0..31)
-
-RL-Set-ID ::= INTEGER (0..31)
-
-RLC-Mode ::= ENUMERATED {
- rLC-AM,
- rLC-UM,
- ...
-}
-
-Round-Trip-Time-IncrDecrThres ::= INTEGER(0..32766)
-
-RNC-ID ::= INTEGER (0..4095)
-
-Round-Trip-Time-Value ::= INTEGER(0..32767)
--- According to mapping in [22]
-
-RSCP-Value ::= INTEGER (0..127)
--- According to mapping in [23]
-
-RSCP-Value-IncrDecrThres ::= INTEGER (0..126)
-
-Received-total-wide-band-power-Value ::= INTEGER(0..621)
--- According to mapping in [22]/[23]
-
-Received-total-wide-band-power-Value-IncrDecrThres ::= INTEGER (0..620)
-
-RequestedDataValueInformation ::= CHOICE {
- informationAvailable InformationAvailable,
- informationnotAvailable InformationnotAvailable
-}
-
-InformationAvailable::= SEQUENCE {
- requesteddataValue RequestedDataValue,
- ie-Extensions ProtocolExtensionContainer { { InformationAvailableItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-InformationAvailableItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-InformationnotAvailable ::= NULL
-
-RequestedDataValue ::= SEQUENCE {
- dgps-corrections DGPSCorrections OPTIONAL,
- gps-navandrecovery GPS-NavigationModel-and-TimeRecovery OPTIONAL,
- gps-ionos-model GPS-Ionospheric-Model OPTIONAL,
- gps-utc-model GPS-UTC-Model OPTIONAL,
- gps-almanac GPS-Almanac OPTIONAL,
- gps-rt-integrity GPS-RealTime-Integrity OPTIONAL,
- gpsrxpos GPS-RX-POS OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RequestedDataValue-ExtIEs} } OPTIONAL,
- ...
-}
-
-RequestedDataValue-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Rx-Timing-Deviation-Value ::= INTEGER (0..8191)
--- According to mapping in [23]
-
-Rx-Timing-Deviation-Value-LCR ::= INTEGER (0..511)
--- According to mapping in [23]
-
--- ==========================================
--- S
--- ==========================================
-
-AdjustmentPeriod ::= INTEGER(1..256)
--- Unit Frame
-
-SAT-ID ::= INTEGER (0..63)
-
-SAT-Info-Almanac ::= SEQUENCE (SIZE (1..maxNoSat)) OF SAT-Info-Almanac-Item
-
-SAT-Info-Almanac-Item ::= SEQUENCE {
- data-id DATA-ID,
- sat-id SAT-ID,
- gps-e-alm BIT STRING (SIZE (16)),
- gps-toa-alm BIT STRING (SIZE (8)),
- gps-delta-I-alm BIT STRING (SIZE (16)),
- omegadot-alm BIT STRING (SIZE (16)),
- svhealth-alm BIT STRING (SIZE (8)),
- gps-a-sqrt-alm BIT STRING (SIZE (24)),
- omegazero-alm BIT STRING (SIZE (24)),
- m-zero-alm BIT STRING (SIZE (24)),
- gps-omega-alm BIT STRING (SIZE (24)),
- gps-af-zero-alm BIT STRING (SIZE (11)),
- gps-af-one-alm BIT STRING (SIZE (11)),
- ie-Extensions ProtocolExtensionContainer { { SAT-Info-Almanac-Item-ExtIEs} } OPTIONAL,
- ...
-} -- This GPS-Almanac-Information is for the 1st 16 satellites
-
-SAT-Info-Almanac-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SAT-Info-Almanac-ExtList ::= SEQUENCE (SIZE (1..maxNrOfSatAlmanac-maxNoSat)) OF SAT-Info-Almanac-ExtItem
-
-SAT-Info-Almanac-ExtItem ::= SEQUENCE {
- data-id DATA-ID,
- sat-id SAT-ID,
- gps-e-alm BIT STRING (SIZE (16)),
- gps-toa-alm BIT STRING (SIZE (8)),
- gps-delta-I-alm BIT STRING (SIZE (16)),
- omegadot-alm BIT STRING (SIZE (16)),
- svhealth-alm BIT STRING (SIZE (8)),
- gps-a-sqrt-alm BIT STRING (SIZE (24)),
- omegazero-alm BIT STRING (SIZE (24)),
- m-zero-alm BIT STRING (SIZE (24)),
- gps-omega-alm BIT STRING (SIZE (24)),
- gps-af-zero-alm BIT STRING (SIZE (11)),
- gps-af-one-alm BIT STRING (SIZE (11)),
- ie-Extensions ProtocolExtensionContainer { { SAT-Info-Almanac-ExtItemIEs } } OPTIONAL,
- ...
-} -- Includes the GPS-Almanac-Information for 17th through 32nd satellites.
-
-SAT-Info-Almanac-ExtItemIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SAT-Info-DGPSCorrections ::= SEQUENCE (SIZE (1..maxNoSat)) OF SAT-Info-DGPSCorrections-Item
-
-SAT-Info-DGPSCorrections-Item ::= SEQUENCE {
- sat-id SAT-ID,
- iode-dgps BIT STRING (SIZE (8)),
- udre UDRE,
- prc PRC,
- range-correction-rate Range-Correction-Rate,
- ie-Extensions ProtocolExtensionContainer { { SAT-Info-DGPSCorrections-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-SAT-Info-DGPSCorrections-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SATInfo-RealTime-Integrity ::= SEQUENCE (SIZE (1..maxNoSat)) OF SAT-Info-RealTime-Integrity-Item
-
-SAT-Info-RealTime-Integrity-Item ::= SEQUENCE {
- bad-sat-id SAT-ID,
- ie-Extensions ProtocolExtensionContainer { { SAT-Info-RealTime-Integrity-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-SAT-Info-RealTime-Integrity-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ScaledAdjustmentRatio ::= INTEGER(0..100)
--- AdjustmentRatio = ScaledAdjustmentRatio / 100
-
-MaxAdjustmentStep ::= INTEGER(1..10)
--- Unit Slot
-
-SchedulingPriorityIndicator ::= INTEGER (0..15) -- lowest (0), highest (15)
-
-SID ::= INTEGER (0..maxNrOfMACdPDUIndexes-1)
-
-ScramblingCodeNumber ::= INTEGER (0..15)
-
-Secondary-CPICH-Information-Change ::= CHOICE {
- new-secondary-CPICH CommonPhysicalChannelID,
- secondary-CPICH-shall-not-be-used NULL,
-...
-}
-
-SecondaryCCPCH-SlotFormat ::= INTEGER(0..17,...)
-
-Segment-Type ::= ENUMERATED {
- first-segment,
- first-segment-short,
- subsequent-segment,
- last-segment,
- last-segment-short,
- complete-SIB,
- complete-SIB-short,
- ...
-}
-
-S-FieldLength ::= ENUMERATED {
- v1,
- v2,
- ...
-}
-
-SFN ::= INTEGER (0..4095)
-
-SFNSFN-FDD ::= INTEGER (0..614399)
-
-SFNSFN-TDD ::= INTEGER (0..40961)
-
-SFNSFNChangeLimit ::= INTEGER (1..256)
--- Unit chip, Step 1/16 chip, Range 1/16..16 chip
-
-SFNSFNDriftRate ::= INTEGER (-100..100)
--- Unit chip/s, Step 1/256 chip/s, Range -100/256..+100/256 chip/s
-
-SFNSFNDriftRateQuality ::= INTEGER (0..100)
--- Unit chip/s, Step 1/256 chip/s, Range 0..100/256 chip/s
-
-SFNSFNMeasurementThresholdInformation::= SEQUENCE {
- sFNSFNChangeLimit SFNSFNChangeLimit OPTIONAL,
- predictedSFNSFNDeviationLimit PredictedSFNSFNDeviationLimit OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SFNSFNMeasurementThresholdInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-SFNSFNMeasurementThresholdInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SFNSFNMeasurementValueInformation ::= SEQUENCE {
- successfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformation SEQUENCE (SIZE(1..maxNrOfMeasNCell)) OF
- SEQUENCE {
- uC-Id UC-Id,
- sFNSFNValue SFNSFNValue,
- sFNSFNQuality SFNSFNQuality OPTIONAL,
- sFNSFNDriftRate SFNSFNDriftRate,
- sFNSFNDriftRateQuality SFNSFNDriftRateQuality OPTIONAL,
- sFNSFNTimeStampInformation SFNSFNTimeStampInformation,
- iE-Extensions ProtocolExtensionContainer { { SuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs} } OPTIONAL,
- ...
- },
- unsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformation SEQUENCE (SIZE(0..maxNrOfMeasNCell-1)) OF
- SEQUENCE {
- uC-Id UC-Id,
- iE-Extensions ProtocolExtensionContainer { { UnsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs} } OPTIONAL,
- ...
- },
- iE-Extensions ProtocolExtensionContainer { { SFNSFNMeasurementValueInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-SFNSFNMeasurementValueInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UnsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SFNSFNQuality ::= INTEGER (0..255)
--- Unit chip, Step 1/16 chip, Range 0.. 255/16 chip
-
-ShutdownTimer ::= INTEGER (1..3600)
--- Unit sec
-
-SIB-Originator ::= ENUMERATED {
- nodeB,
- cRNC,
- ...
-}
-
-SIR-Error-Value ::= INTEGER (0..125)
--- According to mapping in [22]
-
-SFNSFNTimeStampInformation ::= CHOICE {
- sFNSFNTimeStamp-FDD SFN,
- sFNSFNTimeStamp-TDD SFNSFNTimeStamp-TDD,
- ...}
-
-SFNSFNTimeStamp-TDD::= SEQUENCE {
- sFN SFN,
- timeSlot TimeSlot,
- iE-Extensions ProtocolExtensionContainer { { SFNSFNTimeStamp-ExtIEs} } OPTIONAL,
- ...
-}
-
-SFNSFNTimeStamp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SFNSFNValue ::= CHOICE {
- sFNSFN-FDD SFNSFN-FDD,
- sFNSFN-TDD SFNSFN-TDD,
- ...
-}
-
-SIR-Error-Value-IncrDecrThres ::= INTEGER (0..124)
-
-SIR-Value ::= INTEGER (0..63)
--- According to mapping in [22]/[23]
-
-SIR-Value-IncrDecrThres ::= INTEGER (0..62)
-
-SignallingBearerRequestIndicator::= ENUMERATED {bearerRequested}
-
-SpecialBurstScheduling ::= INTEGER (1..256) -- Number of frames between special burst transmission during DTX
-
-SSDT-Cell-Identity ::= ENUMERATED {a, b, c, d, e, f, g, h}
-
-SSDT-CellID-Length ::= ENUMERATED {
- short,
- medium,
- long
-}
-
-SSDT-Indication ::= ENUMERATED {
- ssdt-active-in-the-UE,
- ssdt-not-active-in-the-UE
-}
-
-Start-Of-Audit-Sequence-Indicator ::= ENUMERATED {
- start-of-audit-sequence,
- not-start-of-audit-sequence
-}
-
-STTD-Indicator ::= ENUMERATED {
- active,
- inactive,
- ...
-}
-
-SSDT-SupportIndicator ::= ENUMERATED {
- sSDT-Supported,
- sSDT-not-supported
-}
-
-SyncCase ::= INTEGER (1..2,...)
-
-SYNCDlCodeId ::= INTEGER (1..32,...)
-
-SyncFrameNumber ::= INTEGER (1..10)
-
-SynchronisationReportCharacteristics ::= SEQUENCE {
- synchronisationReportCharacteristicsType SynchronisationReportCharacteristicsType,
- synchronisationReportCharactThreExc SynchronisationReportCharactThreExc OPTIONAL,
- -- This IE shall be included if the synchronisationReportCharacteristicsType IE is set to "thresholdExceeding".
- iE-Extensions ProtocolExtensionContainer { { SynchronisationReportCharacteristics-ExtIEs } } OPTIONAL,
- ...
-}
-
-SynchronisationReportCharacteristics-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SyncDLCodeIdThreInfoLCR CRITICALITY ignore EXTENSION SyncDLCodeIdThreInfoLCR PRESENCE optional },
- ...
-}
-
-SynchronisationReportCharactThreExc ::= SEQUENCE (SIZE (1..maxNrOfCellSyncBursts)) OF SynchronisationReportCharactThreInfoItem -- Mandatory for 3.84Mcps TDD only. Not Applicable to 1.28Mcps TDD.
-
-SynchronisationReportCharactThreInfoItem ::= SEQUENCE {
- syncFrameNumber SyncFrameNumber,
- cellSyncBurstInformation SEQUENCE (SIZE (1.. maxNrOfReceptsPerSyncFrame)) OF SynchronisationReportCharactCellSyncBurstInfoItem,
- iE-Extensions ProtocolExtensionContainer { { SynchronisationReportCharactThreInfoItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-SynchronisationReportCharactThreInfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SynchronisationReportCharactCellSyncBurstInfoItem ::= SEQUENCE {
- cellSyncBurstCode CellSyncBurstCode,
- cellSyncBurstCodeShift CellSyncBurstCodeShift,
- cellSyncBurstTiming CellSyncBurstTiming OPTIONAL,
- cellSyncBurstTimingThreshold CellSyncBurstTimingThreshold OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SynchronisationReportCharactCellSyncBurstInfoItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-SynchronisationReportCharactCellSyncBurstInfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SyncDLCodeIdThreInfoLCR ::= SEQUENCE (SIZE (0..maxNrOfSyncFramesLCR)) OF SyncDLCodeIdThreInfoList --Mandatory for 1.28Mcps TDD only. Not Applicable to 3.84Mcps TDD.
-
-SyncDLCodeIdThreInfoList ::= SEQUENCE {
- syncFrameNoToReceive SyncFrameNumber,
- syncDLCodeIdInfoLCR SyncDLCodeInfoListLCR,
- iE-Extensions ProtocolExtensionContainer { { SyncDLCodeIdThreInfoList-ExtIEs } } OPTIONAL,
- ...
-}
-
-SyncDLCodeIdThreInfoList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SyncDLCodeInfoListLCR ::= SEQUENCE (SIZE (1..maxNrOfSyncDLCodesLCR)) OF SyncDLCodeInfoItemLCR
-
-SyncDLCodeInfoItemLCR ::= SEQUENCE {
- syncDLCodeId SYNCDlCodeId,
- syncDLCodeIdArrivTime CellSyncBurstTimingLCR OPTIONAL,
- syncDLCodeIdTimingThre CellSyncBurstTimingThreshold OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SyncDLCodeInfoItem-LCR-ExtIEs } } OPTIONAL,
- ...
-}
-
-SyncDLCodeInfoItem-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SynchronisationReportCharacteristicsType ::= ENUMERATED {
- frameRelated,
- sFNperiodRelated,
- cycleLengthRelated,
- thresholdExceeding,
- frequencyAcquisitionCompleted,
- ...
-}
-
-SynchronisationReportType ::= ENUMERATED {
- initialPhase,
- steadyStatePhase,
- lateEntrantCell,
- frequencyAcquisition,
- ...
-}
-
--- ==========================================
--- T
--- ==========================================
-
-T1 ::= ENUMERATED {v10,v20,v30,v40,v50,v60,v70,v80,v90,v100,v120,v140,v160,v200,v300,v400,...}
-
-T-Cell ::= ENUMERATED {
- v0,
- v1,
- v2,
- v3,
- v4,
- v5,
- v6,
- v7,
- v8,
- v9
-}
-
-T-RLFAILURE ::= INTEGER (0..255)
--- Unit seconds, Range 0s .. 25.5s, Step 0.1s
-
-TDD-AckNack-Power-Offset ::= INTEGER (-7..8,...)
--- Unit dB, Range -7dB .. +8dB, Step 1dB
-
-TDD-ChannelisationCode ::= ENUMERATED {
- chCode1div1,
- chCode2div1,
- chCode2div2,
- chCode4div1,
- chCode4div2,
- chCode4div3,
- chCode4div4,
- chCode8div1,
- chCode8div2,
- chCode8div3,
- chCode8div4,
- chCode8div5,
- chCode8div6,
- chCode8div7,
- chCode8div8,
- chCode16div1,
- chCode16div2,
- chCode16div3,
- chCode16div4,
- chCode16div5,
- chCode16div6,
- chCode16div7,
- chCode16div8,
- chCode16div9,
- chCode16div10,
- chCode16div11,
- chCode16div12,
- chCode16div13,
- chCode16div14,
- chCode16div15,
- chCode16div16,
- ...
-}
-
-TDD-ChannelisationCodeLCR ::= SEQUENCE {
- tDD-ChannelisationCode TDD-ChannelisationCode,
- modulation Modulation, -- Modulation options for 1.28Mcps TDD in contrast to 3.84Mcps TDD
- iE-Extensions ProtocolExtensionContainer { { TDD-ChannelisationCodeLCR-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-ChannelisationCodeLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-DL-Code-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF TDD-DL-Code-InformationItem
-
-TDD-DL-Code-InformationItem ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { TDD-DL-Code-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-DL-Code-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-DL-Code-LCR-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF TDD-DL-Code-LCR-InformationItem
-
-TDD-DL-Code-LCR-InformationItem ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- tdd-DL-DPCH-TimeSlotFormat-LCR TDD-DL-DPCH-TimeSlotFormat-LCR,
- iE-Extensions ProtocolExtensionContainer { { TDD-DL-Code-LCR-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-DL-Code-LCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-DL-DPCH-TimeSlotFormat-LCR ::= CHOICE {
- qPSK QPSK-DL-DPCH-TimeSlotFormatTDD-LCR,
- eightPSK EightPSK-DL-DPCH-TimeSlotFormatTDD-LCR,
- ...
-}
-
-QPSK-DL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
-
-EightPSK-DL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
-
-TDD-DPCHOffset ::= CHOICE {
- initialOffset INTEGER (0..255),
- noinitialOffset INTEGER (0..63)
-}
-
-TDD-PhysicalChannelOffset ::= INTEGER (0..63)
-
-TDD-TPC-DownlinkStepSize ::= ENUMERATED {
- step-size1,
- step-size2,
- step-size3,
- ...
-}
-
-TDD-TPC-UplinkStepSize-LCR ::= ENUMERATED {
- step-size1,
- step-size2,
- step-size3,
- ...
-}
-
-TransportFormatCombination-Beta ::= CHOICE {
- signalledGainFactors SEQUENCE {
- gainFactor CHOICE {
- fdd SEQUENCE {
- betaC BetaCD,
- betaD BetaCD,
- iE-Extensions ProtocolExtensionContainer { { GainFactorFDD-ExtIEs } } OPTIONAL,
- ...
- },
- tdd BetaCD,
- ...
- },
- refTFCNumber RefTFCNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SignalledGainFactors-ExtIEs } } OPTIONAL,
- ...
- },
- computedGainFactors RefTFCNumber,
- ...
-}
-
-GainFactorFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SignalledGainFactors-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-UL-Code-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF TDD-UL-Code-InformationItem
-
-TDD-UL-Code-InformationItem ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { TDD-UL-Code-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-UL-Code-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-UL-Code-LCR-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF TDD-UL-Code-LCR-InformationItem
-
-TDD-UL-Code-LCR-InformationItem ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- tdd-UL-DPCH-TimeSlotFormat-LCR TDD-UL-DPCH-TimeSlotFormat-LCR,
- iE-Extensions ProtocolExtensionContainer { { TDD-UL-Code-LCR-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-UL-Code-LCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-UL-DPCH-TimeSlotFormat-LCR ::= CHOICE {
- qPSK QPSK-UL-DPCH-TimeSlotFormatTDD-LCR,
- eightPSK EightPSK-UL-DPCH-TimeSlotFormatTDD-LCR,
- ...
-}
-
-QPSK-UL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..69,...)
-
-EightPSK-UL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
-
-TFCI-Coding ::= ENUMERATED {
- v4,
- v8,
- v16,
- v32,
- ...
-}
-
-TFCI-Presence ::= ENUMERATED {
- present,
- not-present
-}
-
-TFCI-SignallingMode ::= SEQUENCE {
- tFCI-SignallingOption TFCI-SignallingMode-TFCI-SignallingOption,
- splitType TFCI-SignallingMode-SplitType OPTIONAL,
- -- This IE shall be present if the TFCI signalling option is set to "split" --
- lengthOfTFCI2 TFCI-SignallingMode-LengthOfTFCI2 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { TFCI-SignallingMode-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCI-SignallingMode-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCI-SignallingMode-LengthOfTFCI2 ::= INTEGER (1..10)
-
-TFCI-SignallingMode-SplitType ::= ENUMERATED {
- hard,
- logical
-}
-
-TFCI-SignallingMode-TFCI-SignallingOption ::= ENUMERATED {
- normal,
- split
-}
-
-TFCI2-BearerInformationResponse ::= SEQUENCE {
- bindingID BindingID,
- transportLayerAddress TransportLayerAddress,
- iE-Extensions ProtocolExtensionContainer { { TFCI2-BearerInformationResponse-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCI2-BearerInformationResponse-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCI2BearerRequestIndicator ::= ENUMERATED {newBearerRequested}
-
-TGD ::= INTEGER (0|15..269)
--- 0 = Undefined, only one transmission gap in the transmission gap pattern sequence
-
-TGPRC ::= INTEGER (0..511)
--- 0 = infinity
-
-TGPSID ::= INTEGER (1.. maxTGPS)
-
-TGSN ::= INTEGER (0..14)
-
-TimeSlot ::= INTEGER (0..14)
-
-TimeSlotDirection ::= ENUMERATED {
- ul,
- dl,
- ...
-}
-
-TimeSlotLCR ::= INTEGER (0..6)
-
-TimeSlotStatus ::= ENUMERATED {
- active,
- not-active,
- ...
-}
-
-TimingAdjustmentValue ::= CHOICE {
- initialPhase INTEGER (0..1048575,...),
- steadyStatePhase INTEGER (0..255,...)
-}
-
-TimingAdjustmentValueLCR ::= CHOICE {
- initialPhase INTEGER (0..524287,...),
- steadyStatePhase INTEGER (0..127,...)
-}
-
-TimingAdvanceApplied ::= ENUMERATED {
- yes,
- no
-}
-
-TnlQos ::= CHOICE {
- dsField DsField,
- genericTrafficCategory GenericTrafficCategory,
- ...
-}
-
-ToAWE ::= INTEGER (0..2559)
--- Unit ms
-
-ToAWS ::= INTEGER (0..1279)
--- Unit ms
-
-Transmission-Gap-Pattern-Sequence-Information ::= SEQUENCE (SIZE (1..maxTGPS)) OF
- SEQUENCE {
- tGPSID TGPSID,
- tGSN TGSN,
- tGL1 GapLength,
- tGL2 GapLength OPTIONAL,
- tGD TGD,
- tGPL1 GapDuration,
- tGPL2 GapDuration OPTIONAL,
- uL-DL-mode UL-DL-mode,
- downlink-Compressed-Mode-Method Downlink-Compressed-Mode-Method OPTIONAL,
- -- This IE shall be present if the UL/DL mode IE is set to "DL only" or "UL/DL"
- uplink-Compressed-Mode-Method Uplink-Compressed-Mode-Method OPTIONAL,
- -- This IE shall be present if the UL/DL mode IE is set to "UL only" or "UL/DL"
- dL-FrameType DL-FrameType,
- delta-SIR1 DeltaSIR,
- delta-SIR-after1 DeltaSIR,
- delta-SIR2 DeltaSIR OPTIONAL,
- delta-SIR-after2 DeltaSIR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {Transmission-Gap-Pattern-Sequence-Information-ExtIEs} } OPTIONAL,
- ...
- }
-
-Transmission-Gap-Pattern-Sequence-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransmissionGapPatternSequenceCodeInformation ::= ENUMERATED{
-code-change,
-nocode-change
-}
-
-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmissionValue ::= INTEGER(0..100)
--- According to mapping in [22] and [23]
-
-Transmitted-Carrier-Power-Value ::= INTEGER(0..100)
--- According to mapping in [22]/[23]
-
-Transmitted-Code-Power-Value ::= INTEGER (0..127)
--- According to mapping in [22]/[23]. Values 0 to 9 and 123 to 127 shall not be used.
-
-Transmitted-Code-Power-Value-IncrDecrThres ::= INTEGER (0..112,...)
-
-TransmissionDiversityApplied ::= BOOLEAN
--- true: applied, false: not applied
-
-TransmitDiversityIndicator ::= ENUMERATED {
- active,
- inactive
-}
-
-TFCS ::= SEQUENCE {
- tFCSvalues CHOICE {
- no-Split-in-TFCI TFCS-TFCSList,
- split-in-TFCI SEQUENCE {
- transportFormatCombination-DCH TFCS-DCHList,
- signallingMethod CHOICE {
- tFCI-Range TFCS-MapingOnDSCHList,
- explicit TFCS-DSCHList,
- ...
- },
- iE-Extensions ProtocolExtensionContainer { { Split-in-TFCI-ExtIEs } } OPTIONAL,
- ...
- },
- ...
- },
- iE-Extensions ProtocolExtensionContainer { { TFCS-ExtIEs} } OPTIONAL,
- ...
-}
-
-Split-in-TFCI-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCS-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCS-TFCSList ::= SEQUENCE (SIZE (1..maxNrOfTFCs)) OF
- SEQUENCE {
- cTFC TFCS-CTFC,
- tFC-Beta TransportFormatCombination-Beta OPTIONAL,
- -- The IE shall be present if the TFCS concerns a UL DPCH or PRACH channel [FDD - or PCPCH channel].
- iE-Extensions ProtocolExtensionContainer { { TFCS-TFCSList-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCS-TFCSList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCS-CTFC ::= CHOICE {
- ctfc2bit INTEGER (0..3),
- ctfc4bit INTEGER (0..15),
- ctfc6bit INTEGER (0..63),
- ctfc8bit INTEGER (0..255),
- ctfc12bit INTEGER (0..4095),
- ctfc16bit INTEGER (0..65535),
- ctfcmaxbit INTEGER (0..maxCTFC)
-}
-
-TFCS-DCHList ::= SEQUENCE (SIZE (1..maxNrOfTFCI1Combs)) OF
- SEQUENCE {
- cTFC TFCS-CTFC,
- iE-Extensions ProtocolExtensionContainer { { TFCS-DCHList-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCS-DCHList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCS-MapingOnDSCHList ::= SEQUENCE (SIZE (1..maxNrOfTFCIGroups)) OF
- SEQUENCE {
- maxTFCI-field2-Value TFCS-MaxTFCI-field2-Value,
- cTFC-DSCH TFCS-CTFC,
- iE-Extensions ProtocolExtensionContainer { { TFCS-MapingOnDSCHList-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCS-MapingOnDSCHList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCS-MaxTFCI-field2-Value ::= INTEGER (1..maxNrOfTFCI2Combs-1)
-
-TFCS-DSCHList ::= SEQUENCE (SIZE (1..maxNrOfTFCI2Combs)) OF
- SEQUENCE {
- cTFC-DSCH TFCS-CTFC,
- iE-Extensions ProtocolExtensionContainer { { TFCS-DSCHList-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCS-DSCHList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransportBearerRequestIndicator ::= ENUMERATED {
- bearerRequested,
- bearerNotRequested,
- ...
-}
-
-TransportFormatSet ::= SEQUENCE {
- dynamicParts TransportFormatSet-DynamicPartList,
- semi-staticPart TransportFormatSet-Semi-staticPart,
- iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransportFormatSet-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransportFormatSet-DynamicPartList ::= SEQUENCE (SIZE (1..maxNrOfTFs)) OF
- SEQUENCE {
- nrOfTransportBlocks TransportFormatSet-NrOfTransportBlocks,
- transportBlockSize TransportFormatSet-TransportBlockSize OPTIONAL,
- -- This IE shall be present if the Number of Transport Blocks IE is set to a value greater than 0
- mode TransportFormatSet-ModeDP,
- iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-DynamicPartList-ExtIEs} } OPTIONAL,
- ...
- }
-
-TransportFormatSet-DynamicPartList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-TransportFormatSet-ModeDP ::= SEQUENCE {
- transmissionTimeIntervalInformation TransmissionTimeIntervalInformation OPTIONAL,
- -- This IE shall be present if the Transmission Time Interval IE in the Semi-static Transport Format Information IE is set to "dynamic"
- iE-Extensions ProtocolExtensionContainer { {TDD-TransportFormatSet-ModeDP-ExtIEs} } OPTIONAL,
- ...
- }
-
-TDD-TransportFormatSet-ModeDP-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransmissionTimeIntervalInformation ::= SEQUENCE (SIZE (1..maxTTI-count)) OF
- SEQUENCE {
- transmissionTimeInterval TransportFormatSet-TransmissionTimeIntervalDynamic,
- iE-Extensions ProtocolExtensionContainer { { TransmissionTimeIntervalInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransmissionTimeIntervalInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransportFormatSet-Semi-staticPart ::= SEQUENCE {
- transmissionTimeInterval TransportFormatSet-TransmissionTimeIntervalSemiStatic,
- channelCoding TransportFormatSet-ChannelCodingType,
- codingRate TransportFormatSet-CodingRate OPTIONAL,
- -- This IE shall be present if the Type of channel coding IE is set to 'convolutional' or 'turbo'
- rateMatchingAttribute TransportFormatSet-RateMatchingAttribute,
- cRC-Size TransportFormatSet-CRC-Size,
- mode TransportFormatSet-ModeSSP ,
- iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-Semi-staticPart-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransportFormatSet-Semi-staticPart-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransportFormatSet-ChannelCodingType ::= ENUMERATED {
- no-codingTDD,
- convolutional-coding,
- turbo-coding,
- ...
-}
-
-TransportFormatSet-CodingRate ::= ENUMERATED {
- half,
- third,
- ...
-}
-
-TransportFormatSet-CRC-Size ::= ENUMERATED {
- v0,
- v8,
- v12,
- v16,
- v24,
- ...
-}
-
-TransportFormatSet-ModeDP ::= CHOICE {
- tdd TDD-TransportFormatSet-ModeDP,
- notApplicable NULL,
- ...
-}
-
-TransportFormatSet-ModeSSP ::= CHOICE {
- tdd TransportFormatSet-SecondInterleavingMode,
- notApplicable NULL,
- ...
-}
-
-TransportFormatSet-NrOfTransportBlocks ::= INTEGER (0..512)
-
-TransportFormatSet-RateMatchingAttribute ::= INTEGER (1..maxRateMatching)
-
-TransportFormatSet-SecondInterleavingMode ::= ENUMERATED {
- frame-related,
- timeSlot-related,
- ...
-}
-
-TransportFormatSet-TransmissionTimeIntervalDynamic ::= ENUMERATED {
- msec-10,
- msec-20,
- msec-40,
- msec-80,
- ...
-}
-
-TransportFormatSet-TransmissionTimeIntervalSemiStatic ::= ENUMERATED {
- msec-10,
- msec-20,
- msec-40,
- msec-80,
- dynamic,
- ...,
- msec-5
-}
-
-TransportFormatSet-TransportBlockSize ::= INTEGER (0..5000)
-
-TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
-
-TSTD-Indicator ::= ENUMERATED {
- active,
- inactive
-}
-
-TUTRANGPS ::= SEQUENCE {
- ms-part INTEGER (0..16383),
- ls-part INTEGER (0..4294967295)
-}
-
-TUTRANGPSChangeLimit ::= INTEGER (1..256)
--- Unit chip, Step 1/16 chip, Range 1/16..16 chip
-
-TUTRANGPSDriftRate ::= INTEGER (-50..50)
--- Unit chip/s, Step 1/256 chip/s, Range -50/256..+50/256 chip/s
-
-TUTRANGPSDriftRateQuality ::= INTEGER (0..50)
--- Unit chip/s, Step 1/256 chip/s, Range 0..50/256 chip/s
-
-TUTRANGPSAccuracyClass ::= ENUMERATED {
- accuracy-class-A,
- accuracy-class-B,
- accuracy-class-C,
- ...
-}
-
-TUTRANGPSMeasurementThresholdInformation ::= SEQUENCE {
- tUTRANGPSChangeLimit TUTRANGPSChangeLimit OPTIONAL,
- predictedTUTRANGPSDeviationLimit PredictedTUTRANGPSDeviationLimit OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { TUTRANGPSMeasurementThresholdInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TUTRANGPSMeasurementThresholdInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TUTRANGPSMeasurementValueInformation ::= SEQUENCE {
- tUTRANGPS TUTRANGPS,
- tUTRANGPSQuality TUTRANGPSQuality OPTIONAL,
- tUTRANGPSDriftRate TUTRANGPSDriftRate,
- tUTRANGPSDriftRateQuality TUTRANGPSDriftRateQuality OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {TUTRANGPSMeasurementValueInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TUTRANGPSMeasurementValueInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TUTRANGPSQuality ::= INTEGER (0..255)
--- Unit chip, Step 1/16 chip, Range 0.. 255/16 chip
-
-TypeOfError ::= ENUMERATED {
- not-understood,
- missing,
- ...
-}
-
--- ==========================================
--- U
--- ==========================================
-
-UARFCN ::= INTEGER (0..16383, ...)
--- corresponds to 0MHz .. 3276.6MHz
-
-UC-Id ::= SEQUENCE {
- rNC-ID RNC-ID,
- c-ID C-ID,
- iE-Extensions ProtocolExtensionContainer { {UC-Id-ExtIEs} } OPTIONAL,
- ...
-}
-UC-Id-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UDRE ::= ENUMERATED {
- udre-minusequal-one-m,
- udre-betweenoneandfour-m,
- udre-betweenfourandeight-m,
- udre-greaterequaleight-m
-}
-
-
-UE-Capability-Information ::= SEQUENCE {
- hSDSCH-Physical-Layer-Category INTEGER (1..64,...),
- iE-Extensions ProtocolExtensionContainer { { UE-Capability-Information-ExtIEs } } OPTIONAL,
- ...
-}
-
-UE-Capability-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-CapacityCredit ::= INTEGER (0..65535)
-
-UL-DL-mode ::= ENUMERATED {
- ul-only,
- dl-only,
- both-ul-and-dl
-}
-
-Uplink-Compressed-Mode-Method ::= ENUMERATED {
- sFdiv2,
- higher-layer-scheduling,
- ...
-}
-
-UL-Timeslot-Information ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationItem
-
-UL-Timeslot-InformationItem ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tFCI-Presence TFCI-Presence,
- uL-Code-InformationList TDD-UL-Code-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-TimeslotLCR-Information ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-TimeslotLCR-InformationItem
-
-UL-TimeslotLCR-InformationItem ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tFCI-Presence TFCI-Presence,
- uL-Code-InformationList TDD-UL-Code-LCR-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-TimeslotLCR-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-TimeslotLCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCCH-SlotFormat ::= INTEGER (0..5,...)
-
-UL-SIR ::= INTEGER (-82..173)
--- According to mapping in [16]
-
-UL-FP-Mode ::= ENUMERATED {
- normal,
- silent,
- ...
-}
-
-UL-PhysCH-SF-Variation ::= ENUMERATED {
- sf-variation-supported,
- sf-variation-not-supported
-}
-
-UL-ScramblingCode ::= SEQUENCE {
- uL-ScramblingCodeNumber UL-ScramblingCodeNumber,
- uL-ScramblingCodeLength UL-ScramblingCodeLength,
- iE-Extensions ProtocolExtensionContainer { { UL-ScramblingCode-ExtIEs } } OPTIONAL,
- ...
-}
-
-UL-ScramblingCode-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-ScramblingCodeNumber ::= INTEGER (0..16777215)
-
-UL-ScramblingCodeLength ::= ENUMERATED {
- short,
- long
-}
-
-UL-Synchronisation-Parameters-LCR ::= SEQUENCE {
- uL-Synchronisation-StepSize UL-Synchronisation-StepSize,
- uL-Synchronisation-Frequency UL-Synchronisation-Frequency,
- iE-Extensions ProtocolExtensionContainer { { UL-Synchronisation-Parameters-LCR-ExtIEs } } OPTIONAL,
- ...
-}
-
-UL-Synchronisation-Parameters-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Synchronisation-StepSize ::= INTEGER (1..8)
-
-UL-Synchronisation-Frequency ::= INTEGER (1..8)
-
-UL-TimeSlot-ISCP-Info ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-TimeSlot-ISCP-InfoItem
-
-UL-TimeSlot-ISCP-InfoItem ::= SEQUENCE {
- timeSlot TimeSlot,
- iSCP UL-TimeslotISCP-Value,
- iE-Extensions ProtocolExtensionContainer { { UL-TimeSlot-ISCP-InfoItem-ExtIEs} } OPTIONAL,
- ...
- }
-
-UL-TimeSlot-ISCP-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-TimeSlot-ISCP-LCR-Info ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-TimeSlot-ISCP-LCR-InfoItem
-
-UL-TimeSlot-ISCP-LCR-InfoItem ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- iSCP UL-TimeslotISCP-Value,
- iE-Extensions ProtocolExtensionContainer { { UL-TimeSlot-ISCP-LCR-InfoItem-ExtIEs} } OPTIONAL,
- ...
- }
-
-UL-TimeSlot-ISCP-LCR-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unidirectional-DCH-Indicator ::= ENUMERATED {
- downlink-DCH-only,
- uplink-DCH-only
-}
-
-USCH-Information ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-InformationItem
-
-USCH-InformationItem ::= SEQUENCE {
- uSCH-ID USCH-ID,
- cCTrCH-ID CCTrCH-ID, -- UL CCTrCH in which the USCH is mapped
- transportFormatSet TransportFormatSet, -- For USCH
- allocationRetentionPriority AllocationRetentionPriority,
- iE-Extensions ProtocolExtensionContainer { { USCH-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-USCH-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
-{ ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
- ...
-}
-
-USCH-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-InformationResponseItem
-
-USCH-InformationResponseItem ::= SEQUENCE {
- uSCH-ID USCH-ID,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { USCH-InformationResponseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-USCH-InformationResponseItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-TimeslotISCP-Value ::= INTEGER (0..127)
--- According to mapping in [23]
-
-UL-TimeslotISCP-Value-IncrDecrThres ::= INTEGER (0..126)
-
-USCH-ID ::= INTEGER (0..255)
-
--- ==========================================
--- V
--- ==========================================
-
--- ==========================================
--- W
--- ==========================================
-
--- ==========================================
--- X
--- ==========================================
-
--- ==========================================
--- Y
--- ==========================================
-
--- ==========================================
--- Z
--- ==========================================
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-PDU-Contents.asn b/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-PDU-Contents.asn
deleted file mode 100755
index 9ecfa688a2..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-PDU-Contents.asn
+++ /dev/null
@@ -1,9234 +0,0 @@
--- **************************************************************
---
--- PDU definitions for NBAP.
---
--- **************************************************************
-
-NBAP-PDU-Contents {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-PDU-Contents (1) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Active-Pattern-Sequence-Information,
- AddorDeleteIndicator,
- AICH-Power,
- AICH-TransmissionTiming,
- AllocationRetentionPriority,
- APPreambleSignature,
- APSubChannelNumber,
- AvailabilityStatus,
- BCCH-ModificationTime,
- BindingID,
- BlockingPriorityIndicator,
- SCTD-Indicator,
- Cause,
- CCTrCH-ID,
- CDSubChannelNumbers,
- CellParameterID,
- CellSyncBurstCode,
- CellSyncBurstCodeShift,
- CellSyncBurstRepetitionPeriod,
- CellSyncBurstSIR,
- CellSyncBurstTiming,
- CellSyncBurstTimingThreshold,
- CFN,
- Channel-Assignment-Indication,
- ChipOffset,
- C-ID,
- Closedlooptimingadjustmentmode,
- CommonChannelsCapacityConsumptionLaw,
- Compressed-Mode-Deactivation-Flag,
- CommonMeasurementAccuracy,
- CommonMeasurementType,
- CommonMeasurementValue,
- CommonMeasurementValueInformation,
- CommonPhysicalChannelID,
- Common-PhysicalChannel-Status-Information,
- Common-TransportChannel-Status-Information,
- CommonTransportChannelID,
- CommonTransportChannel-InformationResponse,
- CommunicationControlPortID,
- ConfigurationGenerationID,
- ConstantValue,
- CriticalityDiagnostics,
- CPCH-Allowed-Total-Rate,
- CPCHScramblingCodeNumber,
- CPCH-UL-DPCCH-SlotFormat,
- CRNC-CommunicationContextID,
- CSBMeasurementID,
- CSBTransmissionID,
- DCH-FDD-Information,
- DCH-InformationResponse,
- DCH-ID,
- FDD-DCHs-to-Modify,
- TDD-DCHs-to-Modify,
- DCH-TDD-Information,
- DedicatedChannelsCapacityConsumptionLaw,
- DedicatedMeasurementType,
- DedicatedMeasurementValue,
- DedicatedMeasurementValueInformation,
- DelayedActivation,
- DelayedActivationUpdate,
- DiversityControlField,
- DiversityMode,
- DL-DPCH-SlotFormat,
- DL-DPCH-TimingAdjustment,
- DL-or-Global-CapacityCredit,
- DL-Power,
- DL-PowerBalancing-Information,
- DL-PowerBalancing-ActivationIndicator,
- DLPowerAveragingWindowSize,
- DL-PowerBalancing-UpdatedIndicator,
- DL-ScramblingCode,
- DL-TimeslotISCP,
- DL-Timeslot-Information,
- DL-TimeslotLCR-Information,
- DL-TimeslotISCPInfo,
- DL-TimeslotISCPInfoLCR,
- DL-TPC-Pattern01Count,
- DPC-Mode,
- DPCH-ID,
- DSCH-ID,
- DSCH-FDD-Common-Information,
- DSCH-FDD-Information,
- DSCH-InformationResponse,
- DSCH-TDD-Information,
- DwPCH-Power,
- End-Of-Audit-Sequence-Indicator,
- EnhancedDSCHPC,
- EnhancedDSCHPCCounter,
- EnhancedDSCHPCIndicator,
- EnhancedDSCHPCWnd,
- EnhancedDSCHPowerOffset,
- FDD-DL-ChannelisationCodeNumber,
- FDD-DL-CodeInformation,
- FDD-S-CCPCH-Offset,
- FDD-TPC-DownlinkStepSize,
- FirstRLS-Indicator,
- FNReportingIndicator,
- FPACH-Power,
- FrameAdjustmentValue,
- FrameHandlingPriority,
- FrameOffset,
- HSDPA-Capability,
- HS-PDSCH-FDD-Code-Information,
- HS-SCCH-ID,
- HS-SCCH-FDD-Code-Information,
- HS-SICH-ID,
- IB-OC-ID,
- IB-SG-DATA,
- IB-SG-POS,
- IB-SG-REP,
- IB-Type,
- InformationExchangeID,
- InformationReportCharacteristics,
- InformationType,
- InnerLoopDLPCStatus,
- IPDL-FDD-Parameters,
- IPDL-TDD-Parameters,
- IPDL-Indicator,
- IPDL-TDD-Parameters-LCR,
- LimitedPowerIncrease,
- Local-Cell-ID,
- MaximumDL-PowerCapability,
- Maximum-PDSCH-Power,
- MaximumTransmissionPower,
- Max-Number-of-PCPCHes,
- MaxNrOfUL-DPDCHs,
- MaxPRACH-MidambleShifts,
- MeasurementFilterCoefficient,
- MeasurementID,
- MidambleAllocationMode,
- MidambleShiftAndBurstType,
- MidambleShiftLCR,
- MinimumDL-PowerCapability,
- MinSpreadingFactor,
- MinUL-ChannelisationCodeLength,
- MultiplexingPosition,
- NEOT,
- NCyclesPerSFNperiod,
- NFmax,
- NRepetitionsPerCyclePeriod,
- N-INSYNC-IND,
- N-OUTSYNC-IND,
- NeighbouringCellMeasurementInformation,
- NeighbouringFDDCellMeasurementInformation,
- NeighbouringTDDCellMeasurementInformation,
- NodeB-CommunicationContextID,
- NumberOfReportedCellPortions,
- NStartMessage,
- NSubCyclesPerCyclePeriod,
- PagingIndicatorLength,
- PayloadCRC-PresenceIndicator,
- PCCPCH-Power,
- PCP-Length,
- PDSCH-CodeMapping,
- PDSCHSet-ID,
- PDSCH-ID,
- PICH-Mode,
- PICH-Power,
- PowerAdjustmentType,
- PowerOffset,
- PowerRaiseLimit,
- PRACH-Midamble,
- PreambleSignatures,
- PreambleThreshold,
- PredictedSFNSFNDeviationLimit,
- PredictedTUTRANGPSDeviationLimit,
- PrimaryCPICH-Power,
- Primary-CPICH-Usage-for-Channel-Estimation,
- PrimaryScramblingCode,
- PropagationDelay,
- SCH-TimeSlot,
- PunctureLimit,
- PUSCHSet-ID,
- PUSCH-ID,
- QE-Selector,
- Qth-Parameter,
- RACH-SlotFormat,
- RACH-SubChannelNumbers,
- ReferenceClockAvailability,
- ReferenceSFNoffset,
- RepetitionLength,
- RepetitionPeriod,
- ReportCharacteristics,
- RequestedDataValue,
- RequestedDataValueInformation,
- ResourceOperationalState,
- RL-Set-ID,
- RL-ID,
- RL-Specific-DCH-Info,
- Received-total-wide-band-power-Value,
- AdjustmentPeriod,
- ScaledAdjustmentRatio,
- MaxAdjustmentStep,
- RNC-ID,
- ScramblingCodeNumber,
- Secondary-CPICH-Information-Change,
- SecondaryCCPCH-SlotFormat,
- Segment-Type,
- S-FieldLength,
- SFN,
- SFNSFNChangeLimit,
- SFNSFNDriftRate,
- SFNSFNDriftRateQuality,
- SFNSFNQuality,
- ShutdownTimer,
- SIB-Originator,
- SpecialBurstScheduling,
- SignallingBearerRequestIndicator,
- SSDT-Cell-Identity,
- SSDT-CellID-Length,
- SSDT-Indication,
- Start-Of-Audit-Sequence-Indicator,
- STTD-Indicator,
- SSDT-SupportIndicator,
- SyncCase,
- SYNCDlCodeId,
- SyncFrameNumber,
- SynchronisationReportCharacteristics,
- SynchronisationReportType,
- T-Cell,
- T-RLFAILURE,
- TDD-ChannelisationCode,
- TDD-ChannelisationCodeLCR,
- TDD-DL-Code-LCR-Information,
- TDD-DPCHOffset,
- TDD-TPC-DownlinkStepSize,
- TDD-PhysicalChannelOffset,
- TDD-UL-Code-LCR-Information,
- TFCI2-BearerInformationResponse,
- TFCI2BearerRequestIndicator,
- TFCI-Coding,
- TFCI-Presence,
- TFCI-SignallingMode,
- TFCS,
- TimeSlot,
- TimeSlotLCR,
- TimeSlotDirection,
- TimeSlotStatus,
- TimingAdjustmentValue,
- TimingAdvanceApplied,
- TnlQos,
- ToAWE,
- ToAWS,
- TransmissionDiversityApplied,
- TransmitDiversityIndicator,
- TransmissionGapPatternSequenceCodeInformation,
- Transmission-Gap-Pattern-Sequence-Information,
- TransportBearerRequestIndicator,
- TransportFormatSet,
- TransportLayerAddress,
- TSTD-Indicator,
- TUTRANGPS,
- TUTRANGPSChangeLimit,
- TUTRANGPSDriftRate,
- TUTRANGPSDriftRateQuality,
- TUTRANGPSQuality,
- UARFCN,
- UC-Id,
- USCH-Information,
- USCH-InformationResponse,
- UL-CapacityCredit,
- UL-DPCCH-SlotFormat,
- UL-SIR,
- UL-FP-Mode,
- UL-PhysCH-SF-Variation,
- UL-ScramblingCode,
- UL-Timeslot-Information,
- UL-TimeslotLCR-Information,
- UL-TimeSlot-ISCP-Info,
- UL-TimeSlot-ISCP-LCR-Info,
- UL-TimeslotISCP-Value,
- UL-TimeslotISCP-Value-IncrDecrThres,
- USCH-ID,
- HSDSCH-FDD-Information,
- HSDSCH-FDD-Information-Response,
- HSDSCH-Information-to-Modify,
- HSDSCH-Information-to-Modify-Unsynchronised,
- HSDSCH-MACdFlow-ID,
- HSDSCH-MACdFlows-Information,
- HSDSCH-MACdFlows-to-Delete,
- HSDSCH-RNTI,
- HSDSCH-TDD-Information,
- HSDSCH-TDD-Information-Response,
- PrimaryCCPCH-RSCP,
- HSDSCH-FDD-Update-Information,
- HSDSCH-TDD-Update-Information,
- UL-Synchronisation-Parameters-LCR,
- TDD-DL-DPCH-TimeSlotFormat-LCR,
- TDD-UL-DPCH-TimeSlotFormat-LCR,
- TDD-TPC-UplinkStepSize-LCR,
- CellSyncBurstTimingLCR,
- TimingAdjustmentValueLCR,
- PrimaryCCPCH-RSCP-Delta
-FROM NBAP-IEs
-
- PrivateIE-Container{},
- ProtocolExtensionContainer{},
- ProtocolIE-Container{},
- ProtocolIE-Single-Container{},
- ProtocolIE-ContainerList{},
- NBAP-PRIVATE-IES,
- NBAP-PROTOCOL-IES,
- NBAP-PROTOCOL-EXTENSION
-FROM NBAP-Containers
-
- id-Active-Pattern-Sequence-Information,
- id-AdjustmentRatio,
- id-AICH-Information,
- id-AICH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-AP-AICH-Information,
- id-AP-AICH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-BCH-Information,
- id-BCCH-ModificationTime,
- id-bindingID,
- id-BlockingPriorityIndicator,
- id-Cause,
- id-CauseLevel-PSCH-ReconfFailure,
- id-CauseLevel-RL-AdditionFailureFDD,
- id-CauseLevel-RL-AdditionFailureTDD,
- id-CauseLevel-RL-ReconfFailure,
- id-CauseLevel-RL-SetupFailureFDD,
- id-CauseLevel-RL-SetupFailureTDD,
- id-CauseLevel-SyncAdjustmntFailureTDD,
- id-CCP-InformationItem-AuditRsp,
- id-CCP-InformationList-AuditRsp,
- id-CCP-InformationItem-ResourceStatusInd,
- id-CCTrCH-InformationItem-RL-FailureInd,
- id-CCTrCH-InformationItem-RL-RestoreInd,
- id-CCTrCH-Initial-DL-Power-RL-AdditionRqstTDD,
- id-CCTrCH-Initial-DL-Power-RL-ReconfPrepTDD,
- id-CCTrCH-Initial-DL-Power-RL-SetupRqstTDD,
- id-CDCA-ICH-Information,
- id-CDCA-ICH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-CellAdjustmentInfo-SyncAdjustmntRqstTDD,
- id-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD,
- id-Cell-InformationItem-AuditRsp,
- id-Cell-InformationItem-ResourceStatusInd,
- id-Cell-InformationList-AuditRsp,
- id-CellParameterID,
- id-CellSyncBurstTransInit-CellSyncInitiationRqstTDD,
- id-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD,
- id-cellSyncBurstRepetitionPeriod,
- id-CellSyncBurstTransReconfiguration-CellSyncReconfRqstTDD,
- id-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD,
- id-CellSyncBurstMeasReconfiguration-CellSyncReconfRqstTDD,
- id-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD,
- id-CellSyncBurstInfoList-CellSyncReconfRqstTDD,
- id-CellSyncInfo-CellSyncReprtTDD,
- id-CFN,
- id-CFNReportingIndicator,
- id-C-ID,
- id-Closed-Loop-Timing-Adjustment-Mode,
- id-CommonMeasurementAccuracy,
- id-CommonMeasurementObjectType-CM-Rprt,
- id-CommonMeasurementObjectType-CM-Rqst,
- id-CommonMeasurementObjectType-CM-Rsp,
- id-CommonMeasurementType,
- id-CommonPhysicalChannelID,
- id-CommonPhysicalChannelType-CTCH-ReconfRqstFDD,
- id-CommonPhysicalChannelType-CTCH-SetupRqstFDD,
- id-CommonPhysicalChannelType-CTCH-SetupRqstTDD,
- id-CommunicationContextInfoItem-Reset,
- id-CommunicationControlPortID,
- id-CommunicationControlPortInfoItem-Reset,
- id-Compressed-Mode-Deactivation-Flag,
- id-ConfigurationGenerationID,
- id-CPCH-Information,
- id-CPCH-Parameters-CTCH-SetupRsp,
- id-CPCH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-CRNC-CommunicationContextID,
- id-CriticalityDiagnostics,
- id-CSBTransmissionID,
- id-CSBMeasurementID,
- id-DCHs-to-Add-FDD,
- id-DCHs-to-Add-TDD,
- id-DCH-AddList-RL-ReconfPrepTDD,
- id-DCH-DeleteList-RL-ReconfPrepFDD,
- id-DCH-DeleteList-RL-ReconfPrepTDD,
- id-DCH-DeleteList-RL-ReconfRqstFDD,
- id-DCH-DeleteList-RL-ReconfRqstTDD,
- id-DCH-FDD-Information,
- id-DCH-TDD-Information,
- id-DCH-InformationResponse,
- id-DCH-RearrangeList-Bearer-RearrangeInd,
- id-DSCH-RearrangeList-Bearer-RearrangeInd,
- id-FDD-DCHs-to-Modify,
- id-TDD-DCHs-to-Modify,
- id-DedicatedMeasurementObjectType-DM-Rprt,
- id-DedicatedMeasurementObjectType-DM-Rqst,
- id-DedicatedMeasurementObjectType-DM-Rsp,
- id-DedicatedMeasurementType,
- id-DelayedActivation,
- id-DelayedActivationList-RL-ActivationCmdFDD,
- id-DelayedActivationList-RL-ActivationCmdTDD,
- id-DelayedActivationInformation-RL-ActivationCmdFDD,
- id-DelayedActivationInformation-RL-ActivationCmdTDD,
- id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD,
- id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD,
- id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD,
- id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD,
- id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD,
- id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD,
- id-DL-CCTrCH-InformationList-RL-SetupRqstTDD,
- id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD,
- id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD,
- id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD,
- id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD,
- id-DL-DPCH-InformationItem-RL-AdditionRqstTDD,
- id-DL-DPCH-InformationList-RL-SetupRqstTDD,
- id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD,
- id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD,
- id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD,
- id-DL-DPCH-Information-RL-ReconfPrepFDD,
- id-DL-DPCH-Information-RL-ReconfRqstFDD,
- id-DL-DPCH-Information-RL-SetupRqstFDD,
- id-DL-DPCH-TimingAdjustment,
- id-DL-PowerBalancing-Information,
- id-DL-PowerBalancing-ActivationIndicator,
- id-DL-ReferencePowerInformationItem-DL-PC-Rqst,
- id-DL-PowerBalancing-UpdatedIndicator,
- id-DLReferencePower,
- id-DLReferencePowerList-DL-PC-Rqst,
- id-DL-TPC-Pattern01Count,
- id-DPC-Mode,
- id-DPCHConstant,
- id-DSCH-AddItem-RL-ReconfPrepFDD,
- id-DSCHs-to-Add-FDD,
- id-DSCH-DeleteItem-RL-ReconfPrepFDD,
- id-DSCH-DeleteList-RL-ReconfPrepFDD,
- id-DSCHs-to-Add-TDD,
- id-DSCH-Information-DeleteList-RL-ReconfPrepTDD,
- id-DSCH-Information-ModifyList-RL-ReconfPrepTDD,
- id-DSCH-InformationResponse,
- id-DSCH-FDD-Information,
- id-DSCH-FDD-Common-Information,
- id-DSCH-TDD-Information,
- id-DSCH-ModifyItem-RL-ReconfPrepFDD,
- id-DSCH-ModifyList-RL-ReconfPrepFDD,
- id-End-Of-Audit-Sequence-Indicator,
- id-EnhancedDSCHPC,
- id-EnhancedDSCHPCIndicator,
- id-FACH-Information,
- id-FACH-ParametersList-CTCH-ReconfRqstTDD,
- id-FACH-ParametersList-CTCH-SetupRsp,
- id-FACH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-FACH-ParametersListIE-CTCH-SetupRqstFDD,
- id-FACH-ParametersListIE-CTCH-SetupRqstTDD,
- id-IndicationType-ResourceStatusInd,
- id-InformationExchangeID,
- id-InformationExchangeObjectType-InfEx-Rqst,
- id-InformationExchangeObjectType-InfEx-Rsp,
- id-InformationExchangeObjectType-InfEx-Rprt,
- id-InformationReportCharacteristics,
- id-InformationType,
- id-InitDL-Power,
- id-InnerLoopDLPCStatus,
- id-IntStdPhCellSyncInfoItem-CellSyncReprtTDD,
- id-IPDLParameter-Information-Cell-ReconfRqstFDD,
- id-IPDLParameter-Information-Cell-SetupRqstFDD,
- id-IPDLParameter-Information-Cell-ReconfRqstTDD,
- id-IPDLParameter-Information-Cell-SetupRqstTDD,
- id-LateEntranceCellSyncInfoItem-CellSyncReprtTDD,
- id-Limited-power-increase-information-Cell-SetupRqstFDD,
- id-Local-Cell-ID,
- id-Local-Cell-Group-InformationItem-AuditRsp,
- id-Local-Cell-Group-InformationItem-ResourceStatusInd,
- id-Local-Cell-Group-InformationItem2-ResourceStatusInd,
- id-Local-Cell-Group-InformationList-AuditRsp,
- id-Local-Cell-InformationItem-AuditRsp,
- id-Local-Cell-InformationItem-ResourceStatusInd,
- id-Local-Cell-InformationItem2-ResourceStatusInd,
- id-Local-Cell-InformationList-AuditRsp,
- id-AdjustmentPeriod,
- id-MaxAdjustmentStep,
- id-MaximumTransmissionPower,
- id-MeasurementFilterCoefficient,
- id-MeasurementID,
- id-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst,
- id-multipleRL-dl-DPCH-InformationList,
- id-multipleRL-dl-DPCH-InformationModifyList,
- id-multipleRL-ul-DPCH-InformationList,
- id-multipleRL-ul-DPCH-InformationModifyList,
- id-NCyclesPerSFNperiod,
- id-NeighbouringCellMeasurementInformation,
- id-NodeB-CommunicationContextID,
- id-NRepetitionsPerCyclePeriod,
- id-NumberOfReportedCellPortions,
- id-P-CCPCH-Information,
- id-P-CPICH-Information,
- id-P-SCH-Information,
- id-PCCPCH-Information-Cell-ReconfRqstTDD,
- id-PCCPCH-Information-Cell-SetupRqstTDD,
- id-PCH-Parameters-CTCH-ReconfRqstTDD,
- id-PCH-Parameters-CTCH-SetupRsp,
- id-PCH-ParametersItem-CTCH-ReconfRqstFDD,
- id-PCH-ParametersItem-CTCH-SetupRqstFDD,
- id-PCH-ParametersItem-CTCH-SetupRqstTDD,
- id-PCH-Information,
- id-PCPCH-Information,
- id-PICH-ParametersItem-CTCH-ReconfRqstFDD,
- id-PDSCH-Information-AddListIE-PSCH-ReconfRqst,
- id-PDSCH-Information-Cell-SetupRqstFDD,
- id-PDSCH-Information-Cell-ReconfRqstFDD,
- id-PDSCH-Information-ModifyListIE-PSCH-ReconfRqst,
- id-PDSCH-RL-ID,
- id-PDSCHSets-AddList-PSCH-ReconfRqst,
- id-PDSCHSets-DeleteList-PSCH-ReconfRqst,
- id-PDSCHSets-ModifyList-PSCH-ReconfRqst,
- id-PICH-Information,
- id-PICH-Parameters-CTCH-ReconfRqstTDD,
- id-PICH-ParametersItem-CTCH-SetupRqstTDD,
- id-PowerAdjustmentType,
- id-Power-Local-Cell-Group-InformationItem-AuditRsp,
- id-Power-Local-Cell-Group-InformationItem-ResourceStatusInd,
- id-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd,
- id-Power-Local-Cell-Group-InformationList-AuditRsp,
- id-Power-Local-Cell-Group-InformationList-ResourceStatusInd,
- id-Power-Local-Cell-Group-InformationList2-ResourceStatusInd,
- id-Power-Local-Cell-Group-ID,
- id-PRACH-Information,
- id-PRACHConstant,
- id-PRACH-ParametersItem-CTCH-SetupRqstTDD,
- id-PRACH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-PrimaryCCPCH-Information-Cell-ReconfRqstFDD,
- id-PrimaryCCPCH-Information-Cell-SetupRqstFDD,
- id-PrimaryCPICH-Information-Cell-ReconfRqstFDD,
- id-PrimaryCPICH-Information-Cell-SetupRqstFDD,
- id-Primary-CPICH-Usage-for-Channel-Estimation,
- id-PrimarySCH-Information-Cell-ReconfRqstFDD,
- id-PrimarySCH-Information-Cell-SetupRqstFDD,
- id-PrimaryScramblingCode,
- id-SCH-Information-Cell-ReconfRqstTDD,
- id-SCH-Information-Cell-SetupRqstTDD,
- id-PUSCH-Information-AddListIE-PSCH-ReconfRqst,
- id-PUSCH-Information-ModifyListIE-PSCH-ReconfRqst,
- id-PUSCHConstant,
- id-PUSCHSets-AddList-PSCH-ReconfRqst,
- id-PUSCHSets-DeleteList-PSCH-ReconfRqst,
- id-PUSCHSets-ModifyList-PSCH-ReconfRqst,
- id-Qth-Parameter,
- id-RACH-Information,
- id-RACH-Parameters-CTCH-SetupRsp,
- id-RACH-ParametersItem-CTCH-SetupRqstFDD,
- id-RACH-ParameterItem-CTCH-SetupRqstTDD,
- id-ReferenceClockAvailability,
- id-ReferenceSFNoffset,
- id-ReportCharacteristics,
- id-Reporting-Object-RL-FailureInd,
- id-Reporting-Object-RL-RestoreInd,
- id-ResetIndicator,
- id-RL-ID,
- id-RL-InformationItem-DM-Rprt,
- id-RL-InformationItem-DM-Rqst,
- id-RL-InformationItem-DM-Rsp,
- id-RL-InformationItem-RL-AdditionRqstFDD,
- id-RL-informationItem-RL-DeletionRqst,
- id-RL-InformationItem-RL-FailureInd,
- id-RL-InformationItem-RL-PreemptRequiredInd,
- id-RL-InformationItem-RL-ReconfPrepFDD,
- id-RL-InformationItem-RL-ReconfRqstFDD,
- id-RL-InformationItem-RL-RestoreInd,
- id-RL-InformationItem-RL-SetupRqstFDD,
- id-RL-InformationList-RL-AdditionRqstFDD,
- id-RL-informationList-RL-DeletionRqst,
- id-RL-InformationList-RL-PreemptRequiredInd,
- id-RL-InformationList-RL-ReconfPrepFDD,
- id-RL-InformationList-RL-ReconfRqstFDD,
- id-RL-InformationList-RL-SetupRqstFDD,
- id-RL-InformationResponseItem-RL-AdditionRspFDD,
- id-RL-InformationResponseItem-RL-ReconfReady,
- id-RL-InformationResponseItem-RL-ReconfRsp,
- id-RL-InformationResponseItem-RL-SetupRspFDD,
- id-RL-InformationResponseList-RL-AdditionRspFDD,
- id-RL-InformationResponseList-RL-ReconfReady,
- id-RL-InformationResponseList-RL-ReconfRsp,
- id-RL-InformationResponseList-RL-SetupRspFDD,
- id-RL-InformationResponse-RL-AdditionRspTDD,
- id-RL-InformationResponse-RL-SetupRspTDD,
- id-RL-Information-RL-AdditionRqstTDD,
- id-RL-Information-RL-ReconfRqstTDD,
- id-RL-Information-RL-ReconfPrepTDD,
- id-RL-Information-RL-SetupRqstTDD,
- id-RL-ReconfigurationFailureItem-RL-ReconfFailure,
- id-RL-Set-InformationItem-DM-Rprt,
- id-RL-Set-InformationItem-DM-Rsp,
- id-RL-Set-InformationItem-RL-FailureInd,
- id-RL-Set-InformationItem-RL-RestoreInd,
- id-RL-Specific-DCH-Info,
- id-S-CCPCH-Information,
- id-S-CPICH-Information,
- id-SCH-Information,
- id-S-SCH-Information,
- id-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD,
- id-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD,
- id-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD,
- id-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD,
- id-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD,
- id-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD,
- id-SecondaryCPICH-InformationList-Cell-SetupRqstFDD,
- id-Secondary-CPICH-Information-Change,
- id-SecondarySCH-Information-Cell-ReconfRqstFDD,
- id-SecondarySCH-Information-Cell-SetupRqstFDD,
- id-SegmentInformationListIE-SystemInfoUpdate,
- id-SFN,
- id-SFNReportingIndicator,
- id-ShutdownTimer,
- id-SignallingBearerRequestIndicator,
- id-SSDT-CellIDforEDSCHPC,
- id-Start-Of-Audit-Sequence-Indicator,
- id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD,
- id-Successful-RL-InformationRespItem-RL-SetupFailureFDD,
- id-Synchronisation-Configuration-Cell-ReconfRqst,
- id-Synchronisation-Configuration-Cell-SetupRqst,
- id-SyncCase,
- id-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH,
- id-SyncFrameNumber,
- id-SynchronisationReportType,
- id-SynchronisationReportCharacteristics,
- id-SyncReportType-CellSyncReprtTDD,
- id-T-Cell,
- id-TargetCommunicationControlPortID,
- id-TFCI2-Bearer-Information-RL-SetupRqstFDD,
- id-TFCI2-BearerInformationResponse,
- id-TFCI2BearerRequestIndicator,
- id-TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD,
- id-Transmission-Gap-Pattern-Sequence-Information,
- id-TimeSlotConfigurationList-Cell-ReconfRqstTDD,
- id-TimeSlotConfigurationList-Cell-SetupRqstTDD,
- id-timeslotInfo-CellSyncInitiationRqstTDD,
- id-TimeslotISCPInfo,
- id-TimingAdvanceApplied,
- id-TnlQos,
- id-TransmissionDiversityApplied,
- id-transportlayeraddress,
- id-UARFCNforNt,
- id-UARFCNforNd,
- id-UARFCNforNu,
- id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD,
- id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD,
- id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD,
- id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD,
- id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD,
- id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD,
- id-UL-CCTrCH-InformationList-RL-SetupRqstTDD,
- id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD,
- id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD,
- id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD,
- id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD,
- id-UL-DPCH-InformationItem-RL-AdditionRqstTDD,
- id-UL-DPCH-InformationList-RL-SetupRqstTDD,
- id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD,
- id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD,
- id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD,
- id-UL-DPCH-Information-RL-ReconfPrepFDD,
- id-UL-DPCH-Information-RL-ReconfRqstFDD,
- id-UL-DPCH-Information-RL-SetupRqstFDD,
- id-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD,
- id-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD,
- id-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD,
- id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD,
- id-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD,
- id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD,
- id-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD,
- id-USCH-Information-Add,
- id-USCH-Information-DeleteList-RL-ReconfPrepTDD,
- id-USCH-Information-ModifyList-RL-ReconfPrepTDD,
- id-USCH-InformationResponse,
- id-USCH-Information,
- id-USCH-RearrangeList-Bearer-RearrangeInd,
- id-DL-DPCH-LCR-Information-RL-SetupRqstTDD,
- id-DwPCH-LCR-Information ,
- id-DwPCH-LCR-InformationList-AuditRsp,
- id-DwPCH-LCR-Information-Cell-SetupRqstTDD,
- id-DwPCH-LCR-Information-Cell-ReconfRqstTDD,
- id-DwPCH-LCR-Information-ResourceStatusInd,
- id-maxFACH-Power-LCR-CTCH-SetupRqstTDD,
- id-maxFACH-Power-LCR-CTCH-ReconfRqstTDD,
- id-FPACH-LCR-Information,
- id-FPACH-LCR-Information-AuditRsp,
- id-FPACH-LCR-InformationList-AuditRsp,
- id-FPACH-LCR-InformationList-ResourceStatusInd,
- id-FPACH-LCR-Parameters-CTCH-SetupRqstTDD,
- id-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD,
- id-PCCPCH-LCR-Information-Cell-SetupRqstTDD,
- id-PCH-Power-LCR-CTCH-SetupRqstTDD,
- id-PCH-Power-LCR-CTCH-ReconfRqstTDD,
- id-PICH-LCR-Parameters-CTCH-SetupRqstTDD,
- id-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD,
- id-RL-InformationResponse-LCR-RL-SetupRspTDD ,
- id-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD,
- id-TimeSlot,
- id-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD,
- id-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD,
- id-TimeslotISCP-LCR-InfoList-RL-SetupRqstTDD,
- id-TimeSlotLCR-CM-Rqst,
- id-UL-DPCH-LCR-Information-RL-SetupRqstTDD,
- id-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD,
- id-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD,
- id-TimeslotISCP-InformationList-LCR-RL-AdditionRqstTDD,
- id-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD,
- id-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD,
- id-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD,
- id-TimeslotISCPInfoList-LCR-DL-PC-RqstTDD,
- id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfPrepTDD,
- id-UL-DPCH-LCR-InformationModify-AddList,
- id-UL-TimeslotLCR-Information-RL-ReconfPrepTDD,
- id-UL-SIRTarget,
- id-PDSCH-AddInformation-LCR-PSCH-ReconfRqst,
- id-PDSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst,
- id-PDSCH-ModifyInformation-LCR-PSCH-ReconfRqst,
- id-PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst,
- id-PUSCH-AddInformation-LCR-PSCH-ReconfRqst,
- id-PUSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst,
- id-PUSCH-ModifyInformation-LCR-PSCH-ReconfRqst,
- id-PUSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst,
- id-PUSCH-Info-DM-Rqst,
- id-PUSCH-Info-DM-Rsp,
- id-PUSCH-Info-DM-Rprt,
- id-RL-InformationResponse-LCR-RL-AdditionRspTDD,
- id-IPDLParameter-Information-LCR-Cell-SetupRqstTDD,
- id-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD,
- id-HS-PDSCH-HS-SCCH-MaxPower-PSCH-ReconfRqst,
- id-HS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst,
- id-HS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst,
- id-HS-SCCH-FDD-Code-Information-PSCH-ReconfRqst,
- id-HS-PDSCH-TDD-Information-PSCH-ReconfRqst,
- id-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst,
- id-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst,
- id-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst,
- id-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD,
- id-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD,
- id-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD,
- id-SYNCDlCodeIdMeasReconfigurationLCR-CellSyncReconfRqstTDD,
- id-SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD,
- id-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD,
- id-NSubCyclesPerCyclePeriod-CellSyncReconfRqstTDD,
- id-DwPCH-Power,
- id-AccumulatedClockupdate-CellSyncReprtTDD,
- id-HSDPA-Capability,
- id-HSDSCH-FDD-Information,
- id-HSDSCH-FDD-Information-Response,
- id-HSDSCH-Information-to-Modify,
- id-HSDSCH-Information-to-Modify-Unsynchronised,
- id-HSDSCH-MACdFlows-to-Add,
- id-HSDSCH-MACdFlows-to-Delete,
- id-HSDSCH-RearrangeList-Bearer-RearrangeInd,
- id-HSDSCH-Resources-Information-AuditRsp,
- id-HSDSCH-Resources-Information-ResourceStatusInd,
- id-HSDSCH-RNTI,
- id-HSDSCH-TDD-Information,
- id-HSDSCH-TDD-Information-Response,
- id-HSPDSCH-RL-ID,
- id-HSSICH-Info-DM-Rprt,
- id-HSSICH-Info-DM-Rqst,
- id-HSSICH-Info-DM-Rsp,
- id-PrimCCPCH-RSCP-DL-PC-RqstTDD,
- id-HSDSCH-FDD-Update-Information,
- id-HSDSCH-TDD-Update-Information,
- id-UL-Synchronisation-Parameters-LCR,
- id-DL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD,
- id-UL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD,
- id-CCTrCH-Maximum-DL-Power-RL-SetupRqstTDD,
- id-CCTrCH-Minimum-DL-Power-RL-SetupRqstTDD,
- id-CCTrCH-Maximum-DL-Power-RL-AdditionRqstTDD,
- id-CCTrCH-Minimum-DL-Power-RL-AdditionRqstTDD,
- id-CCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD,
- id-CCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD,
- id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD,
- id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD,
- id-Maximum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD,
- id-Minimum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD,
- id-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD,
- id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD,
- id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD,
- id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD,
- id-TDD-TPC-UplinkStepSize-LCR-RL-AdditionRqstTDD,
- id-TDD-TPC-DownlinkStepSize-RL-AdditionRqstTDD,
- id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD,
- id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD,
- id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD,
- id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD,
- id-TimeslotISCP-LCR-InfoList-RL-ReconfPrepTDD,
- id-TimingAdjustmentValueLCR,
- id-PrimaryCCPCH-RSCP-Delta,
-
-
- maxNrOfCCTrCHs,
- maxNrOfCellSyncBursts,
- maxNrOfCodes,
- maxNrOfCPCHs,
- maxNrOfDCHs,
- maxNrOfDLTSs,
- maxNrOfDLTSLCRs,
- maxNrOfDPCHs,
- maxNrOfDPCHLCRs,
- maxNrOfDSCHs,
- maxNrOfFACHs,
- maxNrOfRLs,
- maxNrOfRLs-1,
- maxNrOfRLs-2,
- maxNrOfRLSets,
- maxNrOfPCPCHs,
- maxNrOfPDSCHs,
- maxNrOfPUSCHs,
- maxNrOfPRACHLCRs,
- maxNrOfPDSCHSets,
- maxNrOfPUSCHSets,
- maxNrOfReceptsPerSyncFrame,
- maxNrOfSCCPCHs,
- maxNrOfSCCPCHLCRs,
- maxNrOfULTSs,
- maxNrOfULTSLCRs,
- maxNrOfUSCHs,
- maxAPSigNum,
- maxCPCHCell,
- maxFACHCell,
- maxFPACHCell,
- maxNoofLen,
- maxRACHCell,
- maxPCPCHCell,
- maxPRACHCell,
- maxSCCPCHCell,
- maxSCPICHCell,
- maxCellinNodeB,
- maxCCPinNodeB,
- maxCommunicationContext,
- maxLocalCellinNodeB,
- maxNrOfSlotFormatsPRACH,
- maxIB,
- maxIBSEG,
- maxNrOfHSSCCHs,
- maxNrOfHSSICHs,
- maxNrOfHSPDSCHs,
- maxNrOfSyncFramesLCR,
- maxNrOfReceptionsperSyncFrameLCR,
- maxNrOfSyncDLCodesLCR,
- maxNrOfMACdFlows
-FROM NBAP-Constants;
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL SETUP REQUEST FDD
---
--- **************************************************************
-
-CommonTransportChannelSetupRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelSetupRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonTransportChannelSetupRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-CommonPhysicalChannelType-CTCH-SetupRqstFDD CRITICALITY ignore TYPE CommonPhysicalChannelType-CTCH-SetupRqstFDD PRESENCE mandatory },
- ...
-}
-
-CommonPhysicalChannelType-CTCH-SetupRqstFDD ::= CHOICE {
- secondary-CCPCH-parameters Secondary-CCPCH-CTCH-SetupRqstFDD,
- pRACH-parameters PRACH-CTCH-SetupRqstFDD,
- pCPCHes-parameters PCPCH-CTCH-SetupRqstFDD,
- ...
-}
-
-Secondary-CCPCH-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- fdd-S-CCPCH-Offset FDD-S-CCPCH-Offset,
- dl-ScramblingCode DL-ScramblingCode OPTIONAL,
- -- This IE shall be present if the PCH Parameters IE is not present
- fdd-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- tFCS TFCS,
- secondary-CCPCH-SlotFormat SecondaryCCPCH-SlotFormat,
- tFCI-Presence TFCI-Presence OPTIONAL,
- -- This IE shall be present if the Secondary CCPCH Slot Format is set to any of the values from 8 to 17
- multiplexingPosition MultiplexingPosition,
- powerOffsetInformation PowerOffsetInformation-CTCH-SetupRqstFDD,
- sTTD-Indicator STTD-Indicator,
- fACH-Parameters FACH-ParametersList-CTCH-SetupRqstFDD OPTIONAL,
- pCH-Parameters PCH-Parameters-CTCH-SetupRqstFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCHItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCHItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PowerOffsetInformation-CTCH-SetupRqstFDD ::= SEQUENCE {
- pO1-ForTFCI-Bits PowerOffset,
- pO3-ForPilotBits PowerOffset,
- iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PowerOffsetInformation-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FACH-ParametersList-CTCH-SetupRqstFDD ::= ProtocolIE-Single-Container {{ FACH-ParametersListIEs-CTCH-SetupRqstFDD }}
-
-FACH-ParametersListIEs-CTCH-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-ParametersListIE-CTCH-SetupRqstFDD CRITICALITY reject TYPE FACH-ParametersListIE-CTCH-SetupRqstFDD PRESENCE mandatory }
-}
-
-FACH-ParametersListIE-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfFACHs)) OF FACH-ParametersItem-CTCH-SetupRqstFDD
-
-FACH-ParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- transportFormatSet TransportFormatSet,
- toAWS ToAWS,
- toAWE ToAWE,
- maxFACH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
-{ ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
-{ ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-PCH-Parameters-CTCH-SetupRqstFDD ::= ProtocolIE-Single-Container {{ PCH-ParametersIE-CTCH-SetupRqstFDD }}
-
-PCH-ParametersIE-CTCH-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-PCH-ParametersItem-CTCH-SetupRqstFDD CRITICALITY reject TYPE PCH-ParametersItem-CTCH-SetupRqstFDD PRESENCE mandatory }
-}
-
-PCH-ParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- transportFormatSet TransportFormatSet,
- toAWS ToAWS,
- toAWE ToAWE,
- pCH-Power DL-Power,
- pICH-Parameters PICH-Parameters-CTCH-SetupRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { PCH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-PICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- pICH-Power PICH-Power,
- pICH-Mode PICH-Mode,
- sTTD-Indicator STTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { PICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PRACH-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- scramblingCodeNumber ScramblingCodeNumber,
- tFCS TFCS,
- preambleSignatures PreambleSignatures,
- allowedSlotFormatInformation AllowedSlotFormatInformationList-CTCH-SetupRqstFDD,
- rACH-SubChannelNumbers RACH-SubChannelNumbers,
- ul-punctureLimit PunctureLimit,
- preambleThreshold PreambleThreshold,
- rACH-Parameters RACH-Parameters-CTCH-SetupRqstFDD,
- aICH-Parameters AICH-Parameters-CTCH-SetupRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { PRACHItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PRACHItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AllowedSlotFormatInformationList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1.. maxNrOfSlotFormatsPRACH)) OF AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD
-
-AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- rACHSlotFormat RACH-SlotFormat,
- iE-Extensions ProtocolExtensionContainer { { AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RACH-Parameters-CTCH-SetupRqstFDD ::= ProtocolIE-Single-Container {{ RACH-ParametersIE-CTCH-SetupRqstFDD }}
-
-RACH-ParametersIE-CTCH-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RACH-ParametersItem-CTCH-SetupRqstFDD CRITICALITY reject TYPE RACH-ParametersItem-CTCH-SetupRqstFDD PRESENCE mandatory }
-}
-
-RACH-ParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- transportFormatSet TransportFormatSet,
- iE-Extensions ProtocolExtensionContainer { { RACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-RACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-AICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- aICH-TransmissionTiming AICH-TransmissionTiming,
- fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- aICH-Power AICH-Power,
- sTTD-Indicator STTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { AICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PCPCH-CTCH-SetupRqstFDD ::= SEQUENCE {
- cPCH-Parameters CPCH-Parameters-CTCH-SetupRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { PCPCHItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCPCHItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- transportFormatSet TransportFormatSet,
- aPPreambleScramblingCode CPCHScramblingCodeNumber,
- cDPreambleScramblingCode CPCHScramblingCodeNumber,
- tFCS TFCS,
- cDSignatures PreambleSignatures OPTIONAL,
- cDSubChannelNumbers CDSubChannelNumbers OPTIONAL,
- punctureLimit PunctureLimit,
- cPCH-UL-DPCCH-SlotFormat CPCH-UL-DPCCH-SlotFormat,
- uL-SIR UL-SIR,
- initialDL-transmissionPower DL-Power,
- maximumDLPower DL-Power,
- minimumDLPower DL-Power,
- pO2-ForTPC-Bits PowerOffset,
- fDD-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
- nStartMessage NStartMessage,
- nEOT NEOT,
- channel-Assignment-Indication Channel-Assignment-Indication,
- cPCH-Allowed-Total-Rate CPCH-Allowed-Total-Rate,
- pCPCHChannelInfomation PCPCHChannelInformationList-CTCH-SetupRqstFDD,
- vCAMMapping-Information VCAMMapping-InformationList-CTCH-SetupRqstFDD OPTIONAL,
- -- this IE shall be present if the Channel Assignment Indication is set to "CA Active" --
- aP-AICH-Parameters AP-AICH-Parameters-CTCH-SetupRqstFDD,
- cDCA-ICH-Parameters CDCA-ICH-Parameters-CTCH-SetupRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { CPCH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CPCH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-PCPCHChannelInformationList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfPCPCHs)) OF PCPCHChannelInformationItem-CTCH-SetupRqstFDD
-
-PCPCHChannelInformationItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- cPCHScramblingCodeNumber CPCHScramblingCodeNumber,
- dL-ScramblingCode DL-ScramblingCode,
- fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- pCP-Length PCP-Length,
- uCSM-Information UCSM-Information-CTCH-SetupRqstFDD OPTIONAL,
- -- this IE shall be present if the Channel Assignment Indication is equal to "CA Inactive" --
- iE-Extensions ProtocolExtensionContainer { { PCPCHChannelInformationItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCPCHChannelInformationItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UCSM-Information-CTCH-SetupRqstFDD ::= SEQUENCE {
- minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength,
- nFmax NFmax,
- channelRequestParameters ChannelRequestParametersList-CTCH-SetupRqstFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UCSM-InformationItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-UCSM-InformationItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ChannelRequestParametersList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxAPSigNum)) OF ChannelRequestParametersItem-CTCH-SetupRqstFDD
-
-ChannelRequestParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- aPPreambleSignature APPreambleSignature,
- aPSubChannelNumber APSubChannelNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ChannelRequestParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-ChannelRequestParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-VCAMMapping-InformationList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNoofLen)) OF VCAMMapping-InformationItem-CTCH-SetupRqstFDD
-
-VCAMMapping-InformationItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength,
- nFmax NFmax,
- max-Number-of-PCPCHes Max-Number-of-PCPCHes,
- sFRequestParameters SFRequestParametersList-CTCH-SetupRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { VCAMMapping-InformationItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-VCAMMapping-InformationItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SFRequestParametersList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxAPSigNum)) OF SFRequestParametersItem-CTCH-SetupRqstFDD
-
-SFRequestParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- aPPreambleSignature APPreambleSignature,
- aPSubChannelNumber APSubChannelNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SFRequestParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SFRequestParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION::= {
- ...
-}
-
-AP-AICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- aP-AICH-Power AICH-Power,
- cSICH-Power AICH-Power,
- sTTD-Indicator STTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { AP-AICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AP-AICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CDCA-ICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- cDCA-ICH-Power AICH-Power,
- sTTD-Indicator STTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { CDCA-ICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CDCA-ICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL SETUP REQUEST TDD
---
--- **************************************************************
-
-CommonTransportChannelSetupRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelSetupRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-CommonPhysicalChannelType-CTCH-SetupRqstTDD CRITICALITY ignore TYPE CommonPhysicalChannelType-CTCH-SetupRqstTDD PRESENCE mandatory },
- ...
-}
-
-CommonTransportChannelSetupRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonPhysicalChannelType-CTCH-SetupRqstTDD ::= CHOICE {
- secondary-CCPCH-parameters Secondary-CCPCH-CTCH-SetupRqstTDD,
- pRACH-parameters PRACH-CTCH-SetupRqstTDD,
- ...
-}
-
-Secondary-CCPCH-CTCH-SetupRqstTDD ::= SEQUENCE {
- sCCPCH-CCTrCH-ID CCTrCH-ID, -- For DL CCTrCH supporting one or several Secondary CCPCHs
- tFCS TFCS, -- For DL CCTrCH supporting one or several Secondary CCPCHs
- tFCI-Coding TFCI-Coding,
- punctureLimit PunctureLimit,
- secondaryCCPCH-parameterList Secondary-CCPCH-parameterList-CTCH-SetupRqstTDD,
- fACH-ParametersList FACH-ParametersList-CTCH-SetupRqstTDD OPTIONAL,
- pCH-Parameters PCH-Parameters-CTCH-SetupRqstTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer {{Secondary-CCPCHItem-CTCH-SetupRqstTDD-ExtIEs}} OPTIONAL,
- ...
-}
-
-Secondary-CCPCHItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Secondary-CCPCH-parameterList-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ Secondary-CCPCH-parameterListIEs-CTCH-SetupRqstTDD }}
-
-Secondary-CCPCH-parameterListIEs-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD CRITICALITY reject TYPE Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD PRESENCE optional }|
- { ID id-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD CRITICALITY reject TYPE Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD PRESENCE optional }
-}
-
-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHs)) OF Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD
-
-Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- timeslot TimeSlot,
- midambleShiftandBurstType MidambleShiftAndBurstType,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- s-CCPCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FACH-ParametersList-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ FACH-ParametersListIEs-CTCH-SetupRqstTDD }}
-
-FACH-ParametersListIEs-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-ParametersListIE-CTCH-SetupRqstTDD CRITICALITY reject TYPE FACH-ParametersListIE-CTCH-SetupRqstTDD PRESENCE mandatory }
-}
-
-FACH-ParametersListIE-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfFACHs)) OF FACH-ParametersItem-CTCH-SetupRqstTDD
-
-FACH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- fACH-CCTrCH-ID CCTrCH-ID,
- dl-TransportFormatSet TransportFormatSet,
- toAWS ToAWS,
- toAWE ToAWE,
- iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-maxFACH-Power-LCR-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- -- Shall be ignored if bearer establishment with ALCAP.
- ...
-}
-
-PCH-Parameters-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ PCH-ParametersIE-CTCH-SetupRqstTDD }}
-
-PCH-ParametersIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-PCH-ParametersItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE PCH-ParametersItem-CTCH-SetupRqstTDD PRESENCE mandatory }
-}
-
-PCH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- pCH-CCTrCH-ID CCTrCH-ID,
- dl-TransportFormatSet TransportFormatSet, -- For the DL.
- toAWS ToAWS,
- toAWE ToAWE,
- pICH-Parameters PICH-Parameters-CTCH-SetupRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { PCH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-PCH-Power-LCR-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional }|
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- -- Shall be ignored if bearer establishment with ALCAP.
- ...
-}
-
-PICH-Parameters-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ PICH-ParametersIE-CTCH-SetupRqstTDD }}
-
-PICH-ParametersIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-PICH-ParametersItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE PICH-ParametersItem-CTCH-SetupRqstTDD PRESENCE optional }|
- { ID id-PICH-LCR-Parameters-CTCH-SetupRqstTDD CRITICALITY reject TYPE PICH-LCR-Parameters-CTCH-SetupRqstTDD PRESENCE optional }
-}
-
-PICH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- timeSlot TimeSlot,
- midambleshiftAndBurstType MidambleShiftAndBurstType,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- pagingIndicatorLength PagingIndicatorLength,
- pICH-Power PICH-Power,
- iE-Extensions ProtocolExtensionContainer { { PICH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PICH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PICH-LCR-Parameters-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- pagingIndicatorLength PagingIndicatorLength,
- pICH-Power PICH-Power,
- second-TDD-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- iE-Extensions ProtocolExtensionContainer { { PICH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PICH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHLCRs)) OF Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD
-
-Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- timeslotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- s-CCPCH-Power DL-Power,
- s-CCPCH-TimeSlotFormat-LCR TDD-DL-DPCH-TimeSlotFormat-LCR,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PRACH-CTCH-SetupRqstTDD ::= SEQUENCE {
- pRACH-Parameters-CTCH-SetupRqstTDD PRACH-Parameters-CTCH-SetupRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { PRACH-CTCH-SetupRqstTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-PRACH-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-FPACH-LCR-Parameters-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION FPACH-LCR-Parameters-CTCH-SetupRqstTDD PRESENCE optional },
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
-PRACH-Parameters-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ PRACH-ParametersIE-CTCH-SetupRqstTDD }}
-
-PRACH-ParametersIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-PRACH-ParametersItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE PRACH-ParametersItem-CTCH-SetupRqstTDD PRESENCE optional }|
- { ID id-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD CRITICALITY reject TYPE PRACH-LCR-ParametersList-CTCH-SetupRqstTDD PRESENCE optional }
-}
-
-
-PRACH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tFCS TFCS,
- timeslot TimeSlot,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- maxPRACH-MidambleShifts MaxPRACH-MidambleShifts,
- pRACH-Midamble PRACH-Midamble,
- rACH RACH-Parameter-CTCH-SetupRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { PRACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PRACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RACH-Parameter-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ RACH-ParameterIE-CTCH-SetupRqstTDD }}
-
-RACH-ParameterIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-RACH-ParameterItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE RACH-ParameterItem-CTCH-SetupRqstTDD PRESENCE mandatory }
-}
-
-RACH-ParameterItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- uL-TransportFormatSet TransportFormatSet, -- For the UL
- iE-Extensions ProtocolExtensionContainer { { RACH-ParameterItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RACH-ParameterItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- -- Shall be ignored if bearer establishment with ALCAP.
- ...
-}
-
-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfPRACHLCRs)) OF PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD
-
-PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tFCS TFCS,
- timeslotLCR TimeSlotLCR,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- midambleShiftLCR MidambleShiftLCR,
- rACH RACH-Parameter-CTCH-SetupRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FPACH-LCR-Parameters-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- timeslotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- fPACH-Power FPACH-Power,
- iE-Extensions ProtocolExtensionContainer { { FPACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FPACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL SETUP RESPONSE
---
--- **************************************************************
-
-CommonTransportChannelSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelSetupResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-ParametersList-CTCH-SetupRsp CRITICALITY ignore TYPE FACH-CommonTransportChannel-InformationResponse PRESENCE optional }|
- { ID id-PCH-Parameters-CTCH-SetupRsp CRITICALITY ignore TYPE CommonTransportChannel-InformationResponse PRESENCE optional }|
- { ID id-RACH-Parameters-CTCH-SetupRsp CRITICALITY ignore TYPE CommonTransportChannel-InformationResponse PRESENCE optional }|
- { ID id-CPCH-Parameters-CTCH-SetupRsp CRITICALITY ignore TYPE CommonTransportChannel-InformationResponse PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CommonTransportChannelSetupResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FACH-CommonTransportChannel-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfFACHs)) OF CommonTransportChannel-InformationResponse
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL SETUP FAILURE
---
--- **************************************************************
-
-CommonTransportChannelSetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupFailure-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelSetupFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CommonTransportChannelSetupFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL RECONFIGURATION REQUEST FDD
---
--- **************************************************************
-
-CommonTransportChannelReconfigurationRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-CommonPhysicalChannelType-CTCH-ReconfRqstFDD CRITICALITY reject TYPE CommonPhysicalChannelType-CTCH-ReconfRqstFDD PRESENCE mandatory },
- ...
-}
-
-CommonTransportChannelReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonPhysicalChannelType-CTCH-ReconfRqstFDD ::= CHOICE {
- secondary-CCPCH-parameters Secondary-CCPCHList-CTCH-ReconfRqstFDD,
- pRACH-parameters PRACHList-CTCH-ReconfRqstFDD,
- cPCH-parameters CPCHList-CTCH-ReconfRqstFDD,
- ...
-}
-
-Secondary-CCPCHList-CTCH-ReconfRqstFDD ::= SEQUENCE {
- fACH-ParametersList-CTCH-ReconfRqstFDD FACH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- pCH-Parameters-CTCH-ReconfRqstFDD PCH-Parameters-CTCH-ReconfRqstFDD OPTIONAL,
- pICH-Parameters-CTCH-ReconfRqstFDD PICH-Parameters-CTCH-ReconfRqstFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCH-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FACH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ FACH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-FACH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE FACH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-FACH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxFACHCell)) OF FACH-ParametersItem-CTCH-ReconfRqstFDD
-
-FACH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- maxFACH-Power DL-Power OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PCH-Parameters-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ PCH-ParametersIE-CTCH-ReconfRqstFDD }}
-
-PCH-ParametersIE-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-PCH-ParametersItem-CTCH-ReconfRqstFDD CRITICALITY reject TYPE PCH-ParametersItem-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-PCH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- pCH-Power DL-Power OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PCH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PICH-Parameters-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ PICH-ParametersIE-CTCH-ReconfRqstFDD }}
-
-PICH-ParametersIE-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-PICH-ParametersItem-CTCH-ReconfRqstFDD CRITICALITY reject TYPE PICH-ParametersItem-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-PICH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- pICH-Power PICH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PICH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PICH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PRACHList-CTCH-ReconfRqstFDD ::= SEQUENCE {
- pRACH-ParametersList-CTCH-ReconfRqstFDD PRACH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- aICH-ParametersList-CTCH-ReconfRqstFDD AICH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PRACH-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PRACH-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PRACH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ PRACH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-PRACH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-PRACH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE PRACH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-PRACH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF PRACH-ParametersItem-CTCH-ReconfRqstFDD
-
-PRACH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- preambleSignatures PreambleSignatures OPTIONAL,
- allowedSlotFormatInformation AllowedSlotFormatInformationList-CTCH-ReconfRqstFDD OPTIONAL,
- rACH-SubChannelNumbers RACH-SubChannelNumbers OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PRACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PRACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AllowedSlotFormatInformationList-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1.. maxNrOfSlotFormatsPRACH)) OF AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD
-
-AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- rACH-SlotFormat RACH-SlotFormat,
- iE-Extensions ProtocolExtensionContainer { { AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AICH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ AICH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-AICH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-AICH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE AICH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-AICH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF AICH-ParametersItem-CTCH-ReconfRqstFDD
-
-AICH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- aICH-Power AICH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { AICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCHList-CTCH-ReconfRqstFDD ::= SEQUENCE {
- cPCH-ParametersList-CTCH-ReconfRqstFDD CPCH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- aP-AICH-ParametersList-CTCH-ReconfRqstFDD AP-AICH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- cDCA-ICH-ParametersList-CTCH-ReconfRqstFDD CDCA-ICH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CPCHListItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CPCHListItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ CPCH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-CPCH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-CPCH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE CPCH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-CPCH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfCPCHs)) OF CPCH-ParametersItem-CTCH-ReconfRqstFDD
-
-CPCH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- uL-SIR UL-SIR OPTIONAL,
- initialDL-transmissionPower DL-Power OPTIONAL,
- maximumDLPower DL-Power OPTIONAL,
- minimumDLPower DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CPCH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CPCH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AP-AICH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ AP-AICH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-AP-AICH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-AP-AICH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE AP-AICH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-AP-AICH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfCPCHs)) OF AP-AICH-ParametersItem-CTCH-ReconfRqstFDD
-
-AP-AICH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- aP-AICH-Power AICH-Power OPTIONAL,
- cSICH-Power AICH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { AP-AICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AP-AICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CDCA-ICH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ CDCA-ICH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-CDCA-ICH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-CDCA-ICH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE CDCA-ICH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-CDCA-ICH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfCPCHs)) OF CDCA-ICH-ParametersItem-CTCH-ReconfRqstFDD
-
-CDCA-ICH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- cDCA-ICH-Power AICH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CDCA-ICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CDCA-ICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL RECONFIGURATION REQUEST TDD
---
--- **************************************************************
-
-CommonTransportChannelReconfigurationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject TYPE Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
- { ID id-PICH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject TYPE PICH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
- { ID id-FACH-ParametersList-CTCH-ReconfRqstTDD CRITICALITY reject TYPE FACH-ParametersList-CTCH-ReconfRqstTDD PRESENCE optional }|
- { ID id-PCH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject TYPE PCH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional },
- ...
-}
-
-CommonTransportChannelReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION FPACH-LCR-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }, -- Mandatory For 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- secondaryCCPCHList Secondary-CCPCHList-CTCH-ReconfRqstTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCH-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Secondary-CCPCHList-CTCH-ReconfRqstTDD ::= ProtocolIE-Single-Container {{ Secondary-CCPCHListIEs-CTCH-ReconfRqstTDD }}
-
-Secondary-CCPCHListIEs-CTCH-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD CRITICALITY reject TYPE Secondary-CCPCHListIE-CTCH-ReconfRqstTDD PRESENCE mandatory }
-}
-
-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHs)) OF Secondary-CCPCHItem-CTCH-ReconfRqstTDD
-
-Secondary-CCPCHItem-CTCH-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- sCCPCH-Power DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCHItem-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCHItem-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PICH-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- pICH-Power PICH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PICH-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PICH-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FACH-ParametersList-CTCH-ReconfRqstTDD ::= SEQUENCE (SIZE (0..maxNrOfFACHs)) OF FACH-ParametersItem-CTCH-ReconfRqstTDD
-
-FACH-ParametersItem-CTCH-ReconfRqstTDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FACH-ParametersItem-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-maxFACH-Power-LCR-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional },
- -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-PCH-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PCH-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCH-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-PCH-Power-LCR-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional },
- ... -- Applicable to 1.28Mcps TDD only
-}
-
-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelId CommonPhysicalChannelID,
- fPACHPower FPACH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { FPACH-LCR-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL RECONFIGURATION RESPONSE
---
--- **************************************************************
-
-CommonTransportChannelReconfigurationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-CommonTransportChannelReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL RECONFIGURATION FAILURE
---
--- **************************************************************
-
-CommonTransportChannelReconfigurationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CommonTransportChannelReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL DELETION REQUEST
---
--- **************************************************************
-
-CommonTransportChannelDeletionRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelDeletionRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelDeletionRequest-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelDeletionRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory}|
- { ID id-CommonPhysicalChannelID CRITICALITY reject TYPE CommonPhysicalChannelID PRESENCE mandatory}|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory},
- ...
-}
-
-CommonTransportChannelDeletionRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL DELETION RESPONSE
---
--- **************************************************************
-
-CommonTransportChannelDeletionResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelDeletionResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelDeletionResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelDeletionResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-CommonTransportChannelDeletionResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- BLOCK RESOURCE REQUEST
---
--- **************************************************************
-
-BlockResourceRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{BlockResourceRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{BlockResourceRequest-Extensions}} OPTIONAL,
- ...
-}
-
-BlockResourceRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-BlockingPriorityIndicator CRITICALITY reject TYPE BlockingPriorityIndicator PRESENCE mandatory }|
- { ID id-ShutdownTimer CRITICALITY reject TYPE ShutdownTimer PRESENCE conditional },
- -- The IE shall be present if the Blocking Priority Indicator IE indicates "Normal Priority"--
- ...
-}
-
-BlockResourceRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- BLOCK RESOURCE RESPONSE
---
--- **************************************************************
-
-BlockResourceResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{BlockResourceResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{BlockResourceResponse-Extensions}} OPTIONAL,
- ...
-}
-
-BlockResourceResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-BlockResourceResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- BLOCK RESOURCE FAILURE
---
--- **************************************************************
-
-BlockResourceFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{BlockResourceFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{BlockResourceFailure-Extensions}} OPTIONAL,
- ...
-}
-
-BlockResourceFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-BlockResourceFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- UNBLOCK RESOURCE INDICATION
---
--- **************************************************************
-
-UnblockResourceIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UnblockResourceIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{UnblockResourceIndication-Extensions}} OPTIONAL,
- ...
-}
-
-UnblockResourceIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory},
- ...
-}
-
-UnblockResourceIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- AUDIT REQUIRED INDICATION
---
--- **************************************************************
-
-AuditRequiredIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{AuditRequiredIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{AuditRequiredIndication-Extensions}} OPTIONAL,
- ...
-}
-
-AuditRequiredIndication-IEs NBAP-PROTOCOL-IES ::= {
- ...
-}
-
-AuditRequiredIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- AUDIT REQUEST
---
--- **************************************************************
-
-AuditRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{AuditRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{AuditRequest-Extensions}} OPTIONAL,
- ...
-}
-
-AuditRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Start-Of-Audit-Sequence-Indicator CRITICALITY reject TYPE Start-Of-Audit-Sequence-Indicator PRESENCE mandatory },
- ...
-}
-
-AuditRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- AUDIT RESPONSE
---
--- **************************************************************
-
-AuditResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{AuditResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{AuditResponse-Extensions}} OPTIONAL,
- ...
-}
-
-AuditResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-End-Of-Audit-Sequence-Indicator CRITICALITY ignore TYPE End-Of-Audit-Sequence-Indicator PRESENCE mandatory }|
- { ID id-Cell-InformationList-AuditRsp CRITICALITY ignore TYPE Cell-InformationList-AuditRsp PRESENCE optional }|
- { ID id-CCP-InformationList-AuditRsp CRITICALITY ignore TYPE CCP-InformationList-AuditRsp PRESENCE optional }|
- -- CCP (Communication Control Port) --
- { ID id-Local-Cell-InformationList-AuditRsp CRITICALITY ignore TYPE Local-Cell-InformationList-AuditRsp PRESENCE optional }|
- { ID id-Local-Cell-Group-InformationList-AuditRsp CRITICALITY ignore TYPE Local-Cell-Group-InformationList-AuditRsp PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-AuditResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Power-Local-Cell-Group-InformationList-AuditRsp CRITICALITY ignore EXTENSION Power-Local-Cell-Group-InformationList-AuditRsp PRESENCE optional },
- ...
-}
-
-Cell-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ Cell-InformationItemIE-AuditRsp}}
-
-Cell-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-Cell-InformationItem-AuditRsp CRITICALITY ignore TYPE Cell-InformationItem-AuditRsp PRESENCE optional }
-}
-
-Cell-InformationItem-AuditRsp ::= SEQUENCE {
- c-ID C-ID,
- configurationGenerationID ConfigurationGenerationID,
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- local-Cell-ID Local-Cell-ID,
- primary-SCH-Information P-SCH-Information-AuditRsp OPTIONAL,
- secondary-SCH-Information S-SCH-Information-AuditRsp OPTIONAL,
- primary-CPICH-Information P-CPICH-Information-AuditRsp OPTIONAL,
- secondary-CPICH-InformationList S-CPICH-InformationList-AuditRsp OPTIONAL,
- primary-CCPCH-Information P-CCPCH-Information-AuditRsp OPTIONAL,
- bCH-Information BCH-Information-AuditRsp OPTIONAL,
- secondary-CCPCH-InformationList S-CCPCH-InformationList-AuditRsp OPTIONAL,
- pCH-Information PCH-Information-AuditRsp OPTIONAL,
- pICH-Information PICH-Information-AuditRsp OPTIONAL,
- fACH-InformationList FACH-InformationList-AuditRsp OPTIONAL,
- pRACH-InformationList PRACH-InformationList-AuditRsp OPTIONAL,
- rACH-InformationList RACH-InformationList-AuditRsp OPTIONAL,
- aICH-InformationList AICH-InformationList-AuditRsp OPTIONAL,
- pCPCH-InformationList PCPCH-InformationList-AuditRsp OPTIONAL,
- cPCH-InformationList CPCH-InformationList-AuditRsp OPTIONAL,
- aP-AICH-InformationList AP-AICH-InformationList-AuditRsp OPTIONAL,
- cDCA-ICH-InformationList CDCA-ICH-InformationList-AuditRsp OPTIONAL,
- sCH-Information SCH-Information-AuditRsp OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Cell-InformationItem-AuditRsp-ExtIEs} } OPTIONAL,
- ...
-}
-
-Cell-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-FPACH-LCR-InformationList-AuditRsp CRITICALITY ignore EXTENSION FPACH-LCR-InformationList-AuditRsp PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-DwPCH-LCR-InformationList-AuditRsp CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-HSDSCH-Resources-Information-AuditRsp CRITICALITY ignore EXTENSION HS-DSCH-Resources-Information-AuditRsp PRESENCE optional },
- ...
-}
-
-P-SCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ P-SCH-InformationIE-AuditRsp }}
-
-P-SCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-P-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-S-SCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ S-SCH-InformationIE-AuditRsp }}
-
-S-SCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-S-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-P-CPICH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ P-CPICH-InformationIE-AuditRsp }}
-
-P-CPICH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-P-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-S-CPICH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container {{ S-CPICH-InformationItemIE-AuditRsp }}
-
-S-CPICH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-S-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-P-CCPCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ P-CCPCH-InformationIE-AuditRsp }}
-
-P-CCPCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-P-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-BCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ BCH-InformationIE-AuditRsp }}
-
-BCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-BCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-S-CCPCH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxSCCPCHCell)) OF ProtocolIE-Single-Container {{ S-CCPCH-InformationItemIE-AuditRsp }}
-
-S-CCPCH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-S-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-PCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ PCH-InformationIE-AuditRsp }}
-
-PCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-PCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-PICH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ PICH-InformationIE-AuditRsp }}
-
-PICH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-PICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-FACH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxFACHCell)) OF ProtocolIE-Single-Container {{ FACH-InformationItemIE-AuditRsp }}
-
-FACH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-PRACH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ PRACH-InformationItemIE-AuditRsp }}
-
-PRACH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-PRACH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-RACH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxRACHCell)) OF ProtocolIE-Single-Container {{ RACH-InformationItemIE-AuditRsp }}
-
-RACH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-RACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-AICH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ AICH-InformationItemIE-AuditRsp }}
-
-AICH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-AICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-PCPCH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxPCPCHCell)) OF ProtocolIE-Single-Container {{ PCPCH-InformationItemIE-AuditRsp }}
-
-PCPCH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-PCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE optional }
-}
-
-CPCH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ CPCH-InformationItemIE-AuditRsp }}
-
-CPCH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-CPCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE optional }
-}
-
-AP-AICH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ AP-AICH-InformationItemIE-AuditRsp }}
-
-AP-AICH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-AP-AICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-CDCA-ICH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ CDCA-ICH-InformationItemIE-AuditRsp }}
-
-CDCA-ICH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-CDCA-ICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-SCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ SCH-InformationIE-AuditRsp }}
-
-SCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-CCP-InformationList-AuditRsp ::=SEQUENCE (SIZE (1..maxCCPinNodeB)) OF ProtocolIE-Single-Container {{ CCP-InformationItemIE-AuditRsp }}
-
-CCP-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- {ID id-CCP-InformationItem-AuditRsp CRITICALITY ignore TYPE CCP-InformationItem-AuditRsp PRESENCE mandatory}
-}
-
-CCP-InformationItem-AuditRsp ::= SEQUENCE {
- communicationControlPortID CommunicationControlPortID,
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer {{ CCP-InformationItem-AuditRsp-ExtIEs }} OPTIONAL,
- ...
-}
-
-CCP-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FPACH-LCR-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxFPACHCell)) OF ProtocolIE-Single-Container {{ FPACH-LCR-InformationItemIE-AuditRsp }}
-
-FPACH-LCR-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-FPACH-LCR-Information-AuditRsp CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-HS-DSCH-Resources-Information-AuditRsp ::= SEQUENCE {
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer {{ HS-DSCH-Resources-Information-AuditRsp-ExtIEs }} OPTIONAL,
- ...
-}
-
-HS-DSCH-Resources-Information-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Local-Cell-InformationList-AuditRsp ::=SEQUENCE (SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-InformationItemIE-AuditRsp }}
-
-Local-Cell-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-InformationItem-AuditRsp CRITICALITY ignore TYPE Local-Cell-InformationItem-AuditRsp PRESENCE mandatory}
-}
-
-Local-Cell-InformationItem-AuditRsp ::= SEQUENCE {
- local-Cell-ID Local-Cell-ID,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit,
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw,
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw,
- maximumDL-PowerCapability MaximumDL-PowerCapability OPTIONAL,
- minSpreadingFactor MinSpreadingFactor OPTIONAL,
- minimumDL-PowerCapability MinimumDL-PowerCapability OPTIONAL,
- local-Cell-Group-ID Local-Cell-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer {{ Local-Cell-InformationItem-AuditRsp-ExtIEs}} OPTIONAL,
- ...
-}
-
-Local-Cell-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-ReferenceClockAvailability CRITICALITY ignore EXTENSION ReferenceClockAvailability PRESENCE optional }|
- { ID id-Power-Local-Cell-Group-ID CRITICALITY ignore EXTENSION Local-Cell-ID PRESENCE optional }|
- { ID id-HSDPA-Capability CRITICALITY ignore EXTENSION HSDPA-Capability PRESENCE optional },
- ...
-}
-
-Local-Cell-Group-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-Group-InformationItemIE-AuditRsp }}
-
-Local-Cell-Group-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-Group-InformationItem-AuditRsp CRITICALITY ignore TYPE Local-Cell-Group-InformationItem-AuditRsp PRESENCE mandatory}
-}
-
-Local-Cell-Group-InformationItem-AuditRsp ::= SEQUENCE {
- local-Cell-Group-ID Local-Cell-ID,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit,
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw,
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw,
- iE-Extensions ProtocolExtensionContainer {{ Local-Cell-Group-InformationItem-AuditRsp-ExtIEs}} OPTIONAL,
- ...
-}
-
-Local-Cell-Group-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Power-Local-Cell-Group-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Power-Local-Cell-Group-InformationItemIE-AuditRsp }}
-
-Power-Local-Cell-Group-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-Power-Local-Cell-Group-InformationItem-AuditRsp CRITICALITY ignore TYPE Power-Local-Cell-Group-InformationItem-AuditRsp PRESENCE mandatory}
-}
-
-Power-Local-Cell-Group-InformationItem-AuditRsp ::= SEQUENCE {
- power-Local-Cell-Group-ID Local-Cell-ID,
- maximumDL-PowerCapability MaximumDL-PowerCapability,
- iE-Extensions ProtocolExtensionContainer {{ Power-Local-Cell-Group-InformationItem-AuditRsp-ExtIEs}} OPTIONAL,
- ...
-}
-
-Power-Local-Cell-Group-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- AUDIT FAILURE
---
--- **************************************************************
-
-AuditFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{AuditFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{AuditFailure-Extensions}} OPTIONAL,
- ...
-}
-
-AuditFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-AuditFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT INITIATION REQUEST
---
--- **************************************************************
-
-CommonMeasurementInitiationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementInitiationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY reject TYPE MeasurementID PRESENCE mandatory }|
- { ID id-CommonMeasurementObjectType-CM-Rqst CRITICALITY reject TYPE CommonMeasurementObjectType-CM-Rqst PRESENCE mandatory }|
- { ID id-CommonMeasurementType CRITICALITY reject TYPE CommonMeasurementType PRESENCE mandatory }|
- { ID id-MeasurementFilterCoefficient CRITICALITY reject TYPE MeasurementFilterCoefficient PRESENCE optional }|
- { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory }|
- { ID id-SFNReportingIndicator CRITICALITY reject TYPE FNReportingIndicator PRESENCE mandatory }|
- { ID id-SFN CRITICALITY reject TYPE SFN PRESENCE optional },
- ...
-}
-
-CommonMeasurementInitiationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-CommonMeasurementAccuracy CRITICALITY reject EXTENSION CommonMeasurementAccuracy PRESENCE optional},
- ...
-}
-
-CommonMeasurementObjectType-CM-Rqst ::= CHOICE {
- cell Cell-CM-Rqst,
- rACH RACH-CM-Rqst,
- cPCH CPCH-CM-Rqst,
- ...
-}
-
-Cell-CM-Rqst ::= SEQUENCE {
- c-ID C-ID,
- timeSlot TimeSlot OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { CellItem-CM-Rqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellItem-CM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeSlotLCR-CM-Rqst CRITICALITY reject EXTENSION TimeSlotLCR PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- {ID id-NeighbouringCellMeasurementInformation CRITICALITY ignore EXTENSION NeighbouringCellMeasurementInformation PRESENCE optional },
- ...
-}
-
-RACH-CM-Rqst ::= SEQUENCE {
- c-ID C-ID,
- commonTransportChannelID CommonTransportChannelID,
- iE-Extensions ProtocolExtensionContainer { { RACHItem-CM-Rqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-RACHItem-CM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCH-CM-Rqst ::= SEQUENCE {
- c-ID C-ID,
- commonTransportChannelID CommonTransportChannelID,
- spreadingfactor MinUL-ChannelisationCodeLength OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CPCHItem-CM-Rqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-CPCHItem-CM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT INITIATION RESPONSE
---
--- **************************************************************
-
-CommonMeasurementInitiationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementInitiationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
- { ID id-CommonMeasurementObjectType-CM-Rsp CRITICALITY ignore TYPE CommonMeasurementObjectType-CM-Rsp PRESENCE optional }|
- { ID id-SFN CRITICALITY ignore TYPE SFN PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CommonMeasurementInitiationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-CommonMeasurementAccuracy CRITICALITY ignore EXTENSION CommonMeasurementAccuracy PRESENCE optional},
- ...
-}
-
-CommonMeasurementObjectType-CM-Rsp ::= CHOICE {
- cell Cell-CM-Rsp,
- rACH RACH-CM-Rsp,
- cPCH CPCH-CM-Rsp,
- ...
- }
-
-Cell-CM-Rsp ::= SEQUENCE {
- commonMeasurementValue CommonMeasurementValue,
- iE-Extensions ProtocolExtensionContainer { { CellItem-CM-Rsp-ExtIEs} } OPTIONAL,
- ...
- }
-
-CellItem-CM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RACH-CM-Rsp ::= SEQUENCE {
- commonMeasurementValue CommonMeasurementValue,
- iE-Extensions ProtocolExtensionContainer { { RACHItem-CM-Rsp-ExtIEs} } OPTIONAL,
- ...
- }
-
-RACHItem-CM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCH-CM-Rsp ::= SEQUENCE {
- commonMeasurementValue CommonMeasurementValue,
- iE-Extensions ProtocolExtensionContainer { { CPCHItem-CM-Rsp-ExtIEs} } OPTIONAL,
- ...
- }
-
-CPCHItem-CM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT INITIATION FAILURE
---
--- **************************************************************
-
-CommonMeasurementInitiationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementInitiationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CommonMeasurementInitiationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT REPORT
---
--- **************************************************************
-
-CommonMeasurementReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementReport-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementReport-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementReport-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
- { ID id-CommonMeasurementObjectType-CM-Rprt CRITICALITY ignore TYPE CommonMeasurementObjectType-CM-Rprt PRESENCE mandatory }|
- { ID id-SFN CRITICALITY ignore TYPE SFN PRESENCE optional },
- ...
-}
-
-CommonMeasurementReport-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonMeasurementObjectType-CM-Rprt ::= CHOICE {
- cell Cell-CM-Rprt,
- rACH RACH-CM-Rprt,
- cPCH CPCH-CM-Rprt,
- ...
- }
-
-Cell-CM-Rprt ::= SEQUENCE {
- commonMeasurementValueInformation CommonMeasurementValueInformation,
- iE-Extensions ProtocolExtensionContainer {{ CellItem-CM-Rprt-ExtIEs }} OPTIONAL,
- ...
-
- }
-
-CellItem-CM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-RACH-CM-Rprt ::= SEQUENCE {
- commonMeasurementValueInformation CommonMeasurementValueInformation,
- iE-Extensions ProtocolExtensionContainer {{ RACHItem-CM-Rprt-ExtIEs }} OPTIONAL,
- ...
- }
-
-RACHItem-CM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCH-CM-Rprt ::= SEQUENCE {
- commonMeasurementValueInformation CommonMeasurementValueInformation,
- iE-Extensions ProtocolExtensionContainer {{ CPCHItem-CM-Rprt-ExtIEs }} OPTIONAL,
- ...
- }
-
-CPCHItem-CM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT TERMINATION REQUEST
---
--- **************************************************************
-
-CommonMeasurementTerminationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementTerminationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementTerminationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementTerminationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory},
- ...
-}
-
-CommonMeasurementTerminationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT FAILURE INDICATION
---
--- **************************************************************
-
-CommonMeasurementFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementFailureIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementFailureIndication-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-CommonMeasurementFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SETUP REQUEST FDD
---
--- **************************************************************
-
-CellSetupRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSetupRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSetupRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSetupRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-ID CRITICALITY reject TYPE Local-Cell-ID PRESENCE mandatory }|
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-T-Cell CRITICALITY reject TYPE T-Cell PRESENCE mandatory }|
- { ID id-UARFCNforNu CRITICALITY reject TYPE UARFCN PRESENCE mandatory }|
- { ID id-UARFCNforNd CRITICALITY reject TYPE UARFCN PRESENCE mandatory }|
- { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE mandatory }|
- { ID id-Closed-Loop-Timing-Adjustment-Mode CRITICALITY reject TYPE Closedlooptimingadjustmentmode PRESENCE optional }|
- { ID id-PrimaryScramblingCode CRITICALITY reject TYPE PrimaryScramblingCode PRESENCE mandatory }|
- { ID id-Synchronisation-Configuration-Cell-SetupRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-SetupRqst PRESENCE mandatory }|
- { ID id-DL-TPC-Pattern01Count CRITICALITY reject TYPE DL-TPC-Pattern01Count PRESENCE mandatory }|
- { ID id-PrimarySCH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE PrimarySCH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
- { ID id-SecondarySCH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE SecondarySCH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
- { ID id-PrimaryCPICH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE PrimaryCPICH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
- { ID id-SecondaryCPICH-InformationList-Cell-SetupRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationList-Cell-SetupRqstFDD PRESENCE optional }|
- { ID id-PrimaryCCPCH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE PrimaryCCPCH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
- { ID id-Limited-power-increase-information-Cell-SetupRqstFDD CRITICALITY reject TYPE Limited-power-increase-information-Cell-SetupRqstFDD PRESENCE mandatory },
- ...
-}
-
-CellSetupRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-IPDLParameter-Information-Cell-SetupRqstFDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-SetupRqstFDD PRESENCE optional }|
- {ID id-PDSCH-Information-Cell-SetupRqstFDD CRITICALITY reject EXTENSION PDSCH-Information-Cell-SetupRqstFDD PRESENCE optional },
- ...
-}
-
-Synchronisation-Configuration-Cell-SetupRqst ::= SEQUENCE {
- n-INSYNC-IND N-INSYNC-IND,
- n-OUTSYNC-IND N-OUTSYNC-IND,
- t-RLFAILURE T-RLFAILURE,
- iE-Extensions ProtocolExtensionContainer { { Synchronisation-Configuration-Cell-SetupRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-Synchronisation-Configuration-Cell-SetupRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimarySCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- primarySCH-Power DL-Power,
- tSTD-Indicator TSTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { PrimarySCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PrimarySCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SecondarySCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- secondarySCH-Power DL-Power,
- tSTD-Indicator TSTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { SecondarySCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SecondarySCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimaryCPICH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- primaryCPICH-Power PrimaryCPICH-Power,
- transmitDiversityIndicator TransmitDiversityIndicator,
- iE-Extensions ProtocolExtensionContainer { { PrimaryCPICH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PrimaryCPICH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SecondaryCPICH-InformationList-Cell-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container{{ SecondaryCPICH-InformationItemIE-Cell-SetupRqstFDD }}
-
-SecondaryCPICH-InformationItemIE-Cell-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationItem-Cell-SetupRqstFDD PRESENCE mandatory}
-}
-
-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- dl-ScramblingCode DL-ScramblingCode,
- fDD-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- secondaryCPICH-Power DL-Power,
- transmitDiversityIndicator TransmitDiversityIndicator,
- iE-Extensions ProtocolExtensionContainer { { SecondaryCPICH-InformationItem-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimaryCCPCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- bCH-information BCH-Information-Cell-SetupRqstFDD,
- sTTD-Indicator STTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { PrimaryCCPCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PrimaryCCPCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-BCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- bCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { BCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-BCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Limited-power-increase-information-Cell-SetupRqstFDD ::= SEQUENCE {
- powerRaiseLimit PowerRaiseLimit,
- dLPowerAveragingWindowSize DLPowerAveragingWindowSize,
- iE-Extensions ProtocolExtensionContainer { { Limited-power-increase-information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Limited-power-increase-information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLParameter-Information-Cell-SetupRqstFDD::= SEQUENCE {
- iPDL-FDD-Parameters IPDL-FDD-Parameters,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- maximum-PDSCH-Power Maximum-PDSCH-Power,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SETUP REQUEST TDD
---
--- **************************************************************
-
-CellSetupRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSetupRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSetupRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSetupRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-ID CRITICALITY reject TYPE Local-Cell-ID PRESENCE mandatory }|
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-UARFCNforNt CRITICALITY reject TYPE UARFCN PRESENCE mandatory }|
- { ID id-CellParameterID CRITICALITY reject TYPE CellParameterID PRESENCE mandatory }|
- { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE mandatory }|
- { ID id-TransmissionDiversityApplied CRITICALITY reject TYPE TransmissionDiversityApplied PRESENCE mandatory }|
- { ID id-SyncCase CRITICALITY reject TYPE SyncCase PRESENCE mandatory }|
- { ID id-Synchronisation-Configuration-Cell-SetupRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-SetupRqst PRESENCE mandatory }|
- { ID id-DPCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE mandatory }| -- This IE shall be ignored by the Node B.
- { ID id-PUSCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE mandatory }| -- This IE shall be ignored by the Node B.
- { ID id-PRACHConstant CRITICALITY reject TYPE ConstantValue PRESENCE mandatory }| -- This IE shall be ignored by the Node B.
- { ID id-TimingAdvanceApplied CRITICALITY reject TYPE TimingAdvanceApplied PRESENCE mandatory }|
- { ID id-SCH-Information-Cell-SetupRqstTDD CRITICALITY reject TYPE SCH-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- { ID id-PCCPCH-Information-Cell-SetupRqstTDD CRITICALITY reject TYPE PCCPCH-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- { ID id-TimeSlotConfigurationList-Cell-SetupRqstTDD CRITICALITY reject TYPE TimeSlotConfigurationList-Cell-SetupRqstTDD PRESENCE optional }, -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- ...
-}
-
-CellSetupRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD CRITICALITY reject EXTENSION TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-PCCPCH-LCR-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION PCCPCH-LCR-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-DwPCH-LCR-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION DwPCH-LCR-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-ReferenceSFNoffset CRITICALITY ignore EXTENSION ReferenceSFNoffset PRESENCE optional }|
- { ID id-IPDLParameter-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD only
- { ID id-IPDLParameter-Information-LCR-Cell-SetupRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-LCR-Cell-SetupRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-
-SCH-Information-Cell-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- syncCaseIndicator SyncCaseIndicator-Cell-SetupRqstTDD-PSCH,
- sCH-Power DL-Power,
- tSTD-Indicator TSTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { SCH-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SCH-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SyncCaseIndicator-Cell-SetupRqstTDD-PSCH ::= ProtocolIE-Single-Container {{ SyncCaseIndicatorIE-Cell-SetupRqstTDD-PSCH }}
-
-SyncCaseIndicatorIE-Cell-SetupRqstTDD-PSCH NBAP-PROTOCOL-IES ::= {
- { ID id-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH CRITICALITY reject TYPE SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH PRESENCE mandatory }
-}
-
-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH ::= CHOICE {
- case1 Case1-Cell-SetupRqstTDD,
- case2 Case2-Cell-SetupRqstTDD,
- ...
-}
-
-Case1-Cell-SetupRqstTDD ::= SEQUENCE {
- timeSlot TimeSlot,
- iE-Extensions ProtocolExtensionContainer { { Case1Item-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Case1Item-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Case2-Cell-SetupRqstTDD ::= SEQUENCE {
- sCH-TimeSlot SCH-TimeSlot,
- iE-Extensions ProtocolExtensionContainer { { Case2Item-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Case2Item-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-PCCPCH-Information-Cell-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- pCCPCH-Power PCCPCH-Power,
- sCTD-Indicator SCTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { PCCPCH-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCCPCH-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeSlotConfigurationList-Cell-SetupRqstTDD ::= SEQUENCE (SIZE (1..15)) OF TimeSlotConfigurationItem-Cell-SetupRqstTDD
-
-TimeSlotConfigurationItem-Cell-SetupRqstTDD ::= SEQUENCE {
- timeSlot TimeSlot,
- timeSlotStatus TimeSlotStatus,
- timeSlotDirection TimeSlotDirection,
- iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-TimeSlotConfigurationItem-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD ::= SEQUENCE (SIZE (1..7)) OF TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD
-
-TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- timeSlotStatus TimeSlotStatus,
- timeSlotDirection TimeSlotDirection,
- iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PCCPCH-LCR-Information-Cell-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- pCCPCH-Power PCCPCH-Power,
- sCTD-Indicator SCTD-Indicator,
- tSTD-Indicator TSTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { PCCPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCCPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DwPCH-LCR-Information-Cell-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelId CommonPhysicalChannelID,
- tSTD-Indicator TSTD-Indicator,
- dwPCH-Power DwPCH-Power,
- iE-Extensions ProtocolExtensionContainer { { DwPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DwPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLParameter-Information-Cell-SetupRqstTDD ::= SEQUENCE {
- iPDL-TDD-Parameters IPDL-TDD-Parameters,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-IPDLParameter-Information-LCR-Cell-SetupRqstTDD ::= SEQUENCE {
- iPDL-TDD-Parameters-LCR IPDL-TDD-Parameters-LCR,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-LCR-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-LCR-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SETUP RESPONSE
---
--- **************************************************************
-
-CellSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSetupResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSetupResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CellSetupResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-CellSetupResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SETUP FAILURE
---
--- **************************************************************
-
-CellSetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSetupFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSetupFailure-Extensions}} OPTIONAL,
- ...
-}
-
-CellSetupFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CellSetupFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL RECONFIGURATION REQUEST FDD
---
--- **************************************************************
-
-CellReconfigurationRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellReconfigurationRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellReconfigurationRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE optional }|
- { ID id-Synchronisation-Configuration-Cell-ReconfRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-ReconfRqst PRESENCE optional }|
- { ID id-PrimarySCH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE PrimarySCH-Information-Cell-ReconfRqstFDD PRESENCE optional }|
- { ID id-SecondarySCH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE SecondarySCH-Information-Cell-ReconfRqstFDD PRESENCE optional }|
- { ID id-PrimaryCPICH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE PrimaryCPICH-Information-Cell-ReconfRqstFDD PRESENCE optional }|
- { ID id-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationList-Cell-ReconfRqstFDD PRESENCE optional }|
- { ID id-PrimaryCCPCH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE PrimaryCCPCH-Information-Cell-ReconfRqstFDD PRESENCE optional },
- ...
-}
-
-CellReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-IPDLParameter-Information-Cell-ReconfRqstFDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-ReconfRqstFDD PRESENCE optional }|
- {ID id-PDSCH-Information-Cell-ReconfRqstFDD CRITICALITY reject EXTENSION PDSCH-Information-Cell-ReconfRqstFDD PRESENCE optional },
- ...
-}
-
-Synchronisation-Configuration-Cell-ReconfRqst ::= SEQUENCE {
- n-INSYNC-IND N-INSYNC-IND,
- n-OUTSYNC-IND N-OUTSYNC-IND,
- t-RLFAILURE T-RLFAILURE,
- iE-Extensions ProtocolExtensionContainer { { Synchronisation-Configuration-Cell-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-Synchronisation-Configuration-Cell-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimarySCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- primarySCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { PrimarySCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-PrimarySCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SecondarySCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- secondarySCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { SecondarySCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-SecondarySCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimaryCPICH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- primaryCPICH-Power PrimaryCPICH-Power,
- iE-Extensions ProtocolExtensionContainer { { PrimaryCPICH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-PrimaryCPICH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container{{ SecondaryCPICH-InformationItemIE-Cell-ReconfRqstFDD }}
-
-SecondaryCPICH-InformationItemIE-Cell-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD PRESENCE mandatory }
-}
-
-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- secondaryCPICH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimaryCCPCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
- bCH-information BCH-information-Cell-ReconfRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { PrimaryCCPCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-PrimaryCCPCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-BCH-information-Cell-ReconfRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- bCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { BCH-information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-BCH-information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLParameter-Information-Cell-ReconfRqstFDD::= SEQUENCE {
- iPDL-FDD-Parameters IPDL-FDD-Parameters OPTIONAL,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
- maximumPDSCH-Power Maximum-PDSCH-Power,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL RECONFIGURATION REQUEST TDD
---
--- **************************************************************
-
-CellReconfigurationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellReconfigurationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellReconfigurationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-Synchronisation-Configuration-Cell-ReconfRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-ReconfRqst PRESENCE optional }|
- { ID id-TimingAdvanceApplied CRITICALITY reject TYPE TimingAdvanceApplied PRESENCE optional }|
- { ID id-SCH-Information-Cell-ReconfRqstTDD CRITICALITY reject TYPE SCH-Information-Cell-ReconfRqstTDD PRESENCE optional }|
- -- Applicable to 3.84Mcps TDD only
- { ID id-PCCPCH-Information-Cell-ReconfRqstTDD CRITICALITY reject TYPE PCCPCH-Information-Cell-ReconfRqstTDD PRESENCE optional }|
- { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE optional }|
- { ID id-DPCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE optional }|
- -- This IE shall be ignored by the Node B.
- { ID id-PUSCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE optional }|
- -- This IE shall be ignored by the Node B.
- { ID id-PRACHConstant CRITICALITY reject TYPE ConstantValue PRESENCE optional }|
- -- This IE shall be ignored by the Node B.
- { ID id-TimeSlotConfigurationList-Cell-ReconfRqstTDD CRITICALITY reject TYPE TimeSlotConfigurationList-Cell-ReconfRqstTDD PRESENCE optional },
- -- Mandatory for 3.84Mcps TDD only. Not Applicable to 1.28Mcps TDD.
- ...
-}
-
-CellReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-DwPCH-LCR-Information-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION DwPCH-LCR-Information-Cell-ReconfRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-IPDLParameter-Information-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-ReconfRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD only
- { ID id-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-LCR-Cell-ReconfRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-SCH-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- sCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { PSCH-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PSCH-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PCCPCH-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- pCCPCH-Power PCCPCH-Power,
- iE-Extensions ProtocolExtensionContainer { { PCCPCH-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCCPCH-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeSlotConfigurationList-Cell-ReconfRqstTDD ::= SEQUENCE (SIZE (1..15)) OF TimeSlotConfigurationItem-Cell-ReconfRqstTDD
-
-TimeSlotConfigurationItem-Cell-ReconfRqstTDD ::= SEQUENCE {
- timeSlot TimeSlot,
- timeSlotStatus TimeSlotStatus,
- timeSlotDirection TimeSlotDirection,
- iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-TimeSlotConfigurationItem-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD ::= SEQUENCE (SIZE (1..7)) OF TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD
-
-TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- timeSlotStatus TimeSlotStatus,
- timeSlotDirection TimeSlotDirection,
- iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DwPCH-LCR-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelId CommonPhysicalChannelID,
- dwPCH-Power DwPCH-Power,
- iE-Extensions ProtocolExtensionContainer { { DwPCH-LCR-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-DwPCH-LCR-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLParameter-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
- iPDL-TDD-Parameters IPDL-TDD-Parameters OPTIONAL,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD ::= SEQUENCE {
- iPDL-TDD-Parameters-LCR IPDL-TDD-Parameters-LCR OPTIONAL,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-LCR-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL RECONFIGURATION RESPONSE
---
--- **************************************************************
-
-CellReconfigurationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellReconfigurationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellReconfigurationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CellReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-CellReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL RECONFIGURATION FAILURE
---
--- **************************************************************
-
-CellReconfigurationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellReconfigurationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellReconfigurationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-CellReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CellReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL DELETION REQUEST
---
--- **************************************************************
-
-CellDeletionRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellDeletionRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellDeletionRequest-Extensions}} OPTIONAL,
- ...
-}
-
-CellDeletionRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory},
- ...
-}
-
-CellDeletionRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL DELETION RESPONSE
---
--- **************************************************************
-
-CellDeletionResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellDeletionResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellDeletionResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CellDeletionResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-CellDeletionResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RESOURCE STATUS INDICATION
---
--- **************************************************************
-
-ResourceStatusIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ResourceStatusIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{ResourceStatusIndication-Extensions}} OPTIONAL,
- ...
-}
-
-ResourceStatusIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-IndicationType-ResourceStatusInd CRITICALITY ignore TYPE IndicationType-ResourceStatusInd PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional },
- ...
-}
-
-ResourceStatusIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IndicationType-ResourceStatusInd ::= CHOICE {
- no-Failure No-Failure-ResourceStatusInd,
- serviceImpacting ServiceImpacting-ResourceStatusInd,
- ...
-}
-
-No-Failure-ResourceStatusInd ::= SEQUENCE {
- local-Cell-InformationList Local-Cell-InformationList-ResourceStatusInd,
- local-Cell-Group-InformationList Local-Cell-Group-InformationList-ResourceStatusInd OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { No-FailureItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-No-FailureItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Power-Local-Cell-Group-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION Power-Local-Cell-Group-InformationList-ResourceStatusInd PRESENCE optional },
- ...
-}
-
-Local-Cell-InformationList-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-InformationItemIE-ResourceStatusInd }}
-
-Local-Cell-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-InformationItem-ResourceStatusInd PRESENCE mandatory }
-}
-
-Local-Cell-InformationItem-ResourceStatusInd ::= SEQUENCE {
- local-CellID Local-Cell-ID,
- addorDeleteIndicator AddorDeleteIndicator,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- maximumDL-PowerCapability MaximumDL-PowerCapability OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- minSpreadingFactor MinSpreadingFactor OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- minimumDL-PowerCapability MinimumDL-PowerCapability OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- local-Cell-Group-ID Local-Cell-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Local-Cell-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Local-Cell-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-ReferenceClockAvailability CRITICALITY ignore EXTENSION ReferenceClockAvailability PRESENCE optional }|
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add" and the Local Cell is related to a TDD cell
- { ID id-Power-Local-Cell-Group-ID CRITICALITY ignore EXTENSION Local-Cell-ID PRESENCE optional }|
- { ID id-HSDPA-Capability CRITICALITY ignore EXTENSION HSDPA-Capability PRESENCE optional },
- ...
-}
-
-Local-Cell-Group-InformationList-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-Group-InformationItemIE-ResourceStatusInd }}
-
-Local-Cell-Group-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-Group-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-Group-InformationItem-ResourceStatusInd PRESENCE mandatory }
-}
-
-Local-Cell-Group-InformationItem-ResourceStatusInd::= SEQUENCE {
- local-Cell-Group-ID Local-Cell-ID,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit,
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw,
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw,
- iE-Extensions ProtocolExtensionContainer { { Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Power-Local-Cell-Group-InformationList-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Power-Local-Cell-Group-InformationItemIE-ResourceStatusInd }}
-
-Power-Local-Cell-Group-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Power-Local-Cell-Group-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Power-Local-Cell-Group-InformationItem-ResourceStatusInd PRESENCE mandatory }
-}
-
-Power-Local-Cell-Group-InformationItem-ResourceStatusInd::= SEQUENCE {
- power-Local-Cell-Group-ID Local-Cell-ID,
- maximumDL-PowerCapability MaximumDL-PowerCapability,
- iE-Extensions ProtocolExtensionContainer { { Power-Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Power-Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ServiceImpacting-ResourceStatusInd ::= SEQUENCE {
- local-Cell-InformationList Local-Cell-InformationList2-ResourceStatusInd OPTIONAL,
- local-Cell-Group-InformationList Local-Cell-Group-InformationList2-ResourceStatusInd OPTIONAL,
- cCP-InformationList CCP-InformationList-ResourceStatusInd OPTIONAL,
- cell-InformationList Cell-InformationList-ResourceStatusInd OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ServiceImpactingItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-ServiceImpactingItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Power-Local-Cell-Group-InformationList2-ResourceStatusInd CRITICALITY ignore EXTENSION Power-Local-Cell-Group-InformationList2-ResourceStatusInd PRESENCE optional },
- ...
-}
-
-Local-Cell-InformationList2-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-InformationItemIE2-ResourceStatusInd }}
-
-Local-Cell-InformationItemIE2-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-InformationItem2-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-InformationItem2-ResourceStatusInd PRESENCE mandatory }
-}
-
-Local-Cell-InformationItem2-ResourceStatusInd ::= SEQUENCE {
- local-Cell-ID Local-Cell-ID,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit OPTIONAL,
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw OPTIONAL,
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw OPTIONAL,
- maximum-DL-PowerCapability MaximumDL-PowerCapability OPTIONAL,
- minSpreadingFactor MinSpreadingFactor OPTIONAL,
- minimumDL-PowerCapability MinimumDL-PowerCapability OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Local-Cell-InformationItem2-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Local-Cell-InformationItem2-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-ReferenceClockAvailability CRITICALITY ignore EXTENSION ReferenceClockAvailability PRESENCE optional }|
- { ID id-HSDPA-Capability CRITICALITY ignore EXTENSION HSDPA-Capability PRESENCE optional },
- ...
-}
-
-Local-Cell-Group-InformationList2-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-Group-InformationItemIE2-ResourceStatusInd }}
-
-Local-Cell-Group-InformationItemIE2-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-Group-InformationItem2-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-Group-InformationItem2-ResourceStatusInd PRESENCE mandatory }
-}
-
-Local-Cell-Group-InformationItem2-ResourceStatusInd ::= SEQUENCE {
- local-Cell-Group-ID Local-Cell-ID,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit OPTIONAL,
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw OPTIONAL,
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Power-Local-Cell-Group-InformationList2-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Power-Local-Cell-Group-InformationItemIE2-ResourceStatusInd }}
-
-Power-Local-Cell-Group-InformationItemIE2-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd CRITICALITY ignore TYPE Power-Local-Cell-Group-InformationItem2-ResourceStatusInd PRESENCE mandatory }
-}
-
-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd::= SEQUENCE {
- power-Local-Cell-Group-ID Local-Cell-ID,
- maximumDL-PowerCapability MaximumDL-PowerCapability,
- iE-Extensions ProtocolExtensionContainer { { Power-Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCP-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCCPinNodeB)) OF ProtocolIE-Single-Container {{ CCP-InformationItemIE-ResourceStatusInd }}
-
-CCP-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-CCP-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE CCP-InformationItem-ResourceStatusInd PRESENCE mandatory }
-}
-
-CCP-InformationItem-ResourceStatusInd ::= SEQUENCE {
- communicationControlPortID CommunicationControlPortID,
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer { { CCP-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-CCP-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Cell-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ Cell-InformationItemIE-ResourceStatusInd }}
-
-Cell-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Cell-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Cell-InformationItem-ResourceStatusInd PRESENCE mandatory }
-}
-
-Cell-InformationItem-ResourceStatusInd ::= SEQUENCE {
- c-ID C-ID,
- resourceOperationalState ResourceOperationalState OPTIONAL,
- availabilityStatus AvailabilityStatus OPTIONAL,
- primary-SCH-Information P-SCH-Information-ResourceStatusInd OPTIONAL, -- FDD only
- secondary-SCH-Information S-SCH-Information-ResourceStatusInd OPTIONAL, -- FDD only
- primary-CPICH-Information P-CPICH-Information-ResourceStatusInd OPTIONAL, -- FDD only
- secondary-CPICH-Information S-CPICH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- primary-CCPCH-Information P-CCPCH-Information-ResourceStatusInd OPTIONAL,
- bCH-Information BCH-Information-ResourceStatusInd OPTIONAL,
- secondary-CCPCH-InformationList S-CCPCH-InformationList-ResourceStatusInd OPTIONAL,
- pCH-Information PCH-Information-ResourceStatusInd OPTIONAL,
- pICH-Information PICH-Information-ResourceStatusInd OPTIONAL,
- fACH-InformationList FACH-InformationList-ResourceStatusInd OPTIONAL,
- pRACH-InformationList PRACH-InformationList-ResourceStatusInd OPTIONAL,
- rACH-InformationList RACH-InformationList-ResourceStatusInd OPTIONAL,
- aICH-InformationList AICH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- pCPCH-InformationList PCPCH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- cPCH-InformationList CPCH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- aP-AICH-InformationList AP-AICH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- cDCA-ICH-InformationList CDCA-ICH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- sCH-Information SCH-Information-ResourceStatusInd OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { Cell-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Cell-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-FPACH-LCR-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION FPACH-LCR-InformationList-ResourceStatusInd PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-DwPCH-LCR-Information-ResourceStatusInd CRITICALITY ignore EXTENSION DwPCH-LCR-Information-ResourceStatusInd PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-HSDSCH-Resources-Information-ResourceStatusInd CRITICALITY ignore EXTENSION HS-DSCH-Resources-Information-ResourceStatusInd PRESENCE optional },
- ...
-}
-
-P-SCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ P-SCH-InformationIE-ResourceStatusInd }}
-
-P-SCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-P-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-S-SCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ S-SCH-InformationIE-ResourceStatusInd }}
-
-S-SCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-S-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-P-CPICH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ P-CPICH-InformationIE-ResourceStatusInd }}
-
-P-CPICH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-P-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-S-CPICH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container {{ S-CPICH-InformationItemIE-ResourceStatusInd }}
-
-S-CPICH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-S-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-P-CCPCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ P-CCPCH-InformationIE-ResourceStatusInd }}
-
-P-CCPCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-P-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-BCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ BCH-InformationIE-ResourceStatusInd }}
-
-BCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-BCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-S-CCPCH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxSCCPCHCell)) OF ProtocolIE-Single-Container {{ S-CCPCH-InformationItemIE-ResourceStatusInd }}
-
-S-CCPCH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-S-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-PCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ PCH-InformationIE-ResourceStatusInd }}
-
-PCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-PCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-PICH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ PICH-InformationIE-ResourceStatusInd }}
-
-PICH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-PICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-FACH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxFACHCell)) OF ProtocolIE-Single-Container {{ FACH-InformationItemIE-ResourceStatusInd }}
-
-FACH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-PRACH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ PRACH-InformationItemIE-ResourceStatusInd }}
-
-PRACH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-PRACH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-RACH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ RACH-InformationItemIE-ResourceStatusInd }}
-
-RACH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-RACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-AICH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ AICH-InformationItemIE-ResourceStatusInd }}
-
-AICH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-AICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-PCPCH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPCPCHCell)) OF ProtocolIE-Single-Container {{ PCPCH-InformationItemIE-ResourceStatusInd }}
-
-PCPCH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-PCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE optional }
-}
-
-CPCH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ CPCH-InformationItemIE-ResourceStatusInd }}
-
-CPCH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-CPCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE optional }
-}
-
-AP-AICH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ AP-AICH-InformationItemIE-ResourceStatusInd }}
-
-AP-AICH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-AP-AICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE optional }
-}
-
-CDCA-ICH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ CDCA-ICH-InformationItemIE-ResourceStatusInd }}
-
-CDCA-ICH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-CDCA-ICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE optional }
-}
-
-SCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ SCH-InformationIE-ResourceStatusInd }}
-
-SCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-FPACH-LCR-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxFPACHCell)) OF ProtocolIE-Single-Container {{ FPACH-LCR-InformationItemIE-ResourceStatusInd }}
-
-FPACH-LCR-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-FPACH-LCR-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-DwPCH-LCR-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ DwPCH-LCR-InformationIE-ResourceStatusInd }}
-
-DwPCH-LCR-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-DwPCH-LCR-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-HS-DSCH-Resources-Information-ResourceStatusInd ::= SEQUENCE {
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer {{ HS-DSCH-Resources-Information-ResourceStatusInd-ExtIEs }} OPTIONAL,
- ...
-}
-
-HS-DSCH-Resources-Information-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SYSTEM INFORMATION UPDATE REQUEST
---
--- **************************************************************
-
-SystemInformationUpdateRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{SystemInformationUpdateRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{SystemInformationUpdateRequest-Extensions}} OPTIONAL,
- ...
-}
-
-SystemInformationUpdateRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-BCCH-ModificationTime CRITICALITY reject TYPE BCCH-ModificationTime PRESENCE optional }|
- { ID id-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst CRITICALITY reject TYPE MIB-SB-SIB-InformationList-SystemInfoUpdateRqst PRESENCE mandatory },
- ...
-}
-
-SystemInformationUpdateRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst ::= SEQUENCE (SIZE (1..maxIB)) OF MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst
-
-MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst ::= SEQUENCE {
- iB-Type IB-Type,
- iB-OC-ID IB-OC-ID,
- deletionIndicator DeletionIndicator-SystemInfoUpdate,
- iE-Extensions ProtocolExtensionContainer { { MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DeletionIndicator-SystemInfoUpdate ::= CHOICE {
- no-Deletion No-Deletion-SystemInfoUpdate,
- yes-Deletion NULL
-
-}
-
-No-Deletion-SystemInfoUpdate ::= SEQUENCE {
- sIB-Originator SIB-Originator OPTIONAL,
- -- This IE shall be present if the IB-Type IE is set to "SIB"
- iB-SG-REP IB-SG-REP OPTIONAL,
- segmentInformationList SegmentInformationList-SystemInfoUpdate,
- iE-Extensions ProtocolExtensionContainer { { No-DeletionItem-SystemInfoUpdate-ExtIEs} } OPTIONAL,
- ...
-}
-
-No-DeletionItem-SystemInfoUpdate-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SegmentInformationList-SystemInfoUpdate ::= ProtocolIE-Single-Container {{ SegmentInformationListIEs-SystemInfoUpdate }}
-
-SegmentInformationListIEs-SystemInfoUpdate NBAP-PROTOCOL-IES ::= {
- { ID id-SegmentInformationListIE-SystemInfoUpdate CRITICALITY reject TYPE SegmentInformationListIE-SystemInfoUpdate PRESENCE mandatory }
-}
-
-SegmentInformationListIE-SystemInfoUpdate ::= SEQUENCE (SIZE (1..maxIBSEG)) OF SegmentInformationItem-SystemInfoUpdate
-
-SegmentInformationItem-SystemInfoUpdate ::= SEQUENCE {
- iB-SG-POS IB-SG-POS OPTIONAL,
- segment-Type Segment-Type OPTIONAL,
- -- This IE shall be present if the SIB Originator IE is set to "CRNC" or the IB-Type IE is set to "MIB", "SB1" or "SB2"
- iB-SG-DATA IB-SG-DATA OPTIONAL,
- -- This IE shall be present if the SIB Originator IE is set to "CRNC" or the IB-Type IE is set to "MIB", "SB1" or "SB2"
- iE-Extensions ProtocolExtensionContainer { { SegmentInformationItem-SystemInfoUpdate-ExtIEs} } OPTIONAL,
- ...
-}
-
-SegmentInformationItem-SystemInfoUpdate-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SYSTEM INFORMATION UPDATE RESPONSE
---
--- **************************************************************
-
-SystemInformationUpdateResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{SystemInformationUpdateResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{SystemInformationUpdateResponse-Extensions}} OPTIONAL,
- ...
-}
-
-SystemInformationUpdateResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-SystemInformationUpdateResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SYSTEM INFORMATION UPDATE FAILURE
---
--- **************************************************************
-
-SystemInformationUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{SystemInformationUpdateFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{SystemInformationUpdateFailure-Extensions}} OPTIONAL,
- ...
-}
-
-SystemInformationUpdateFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SystemInformationUpdateFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP REQUEST FDD
---
--- **************************************************************
-
-RadioLinkSetupRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY reject TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-SetupRqstFDD PRESENCE mandatory }|
- { ID id-DL-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-SetupRqstFDD PRESENCE mandatory }|
- { ID id-DCH-FDD-Information CRITICALITY reject TYPE DCH-FDD-Information PRESENCE mandatory }|
- { ID id-DSCH-FDD-Information CRITICALITY reject TYPE DSCH-FDD-Information PRESENCE optional }|
- { ID id-TFCI2-Bearer-Information-RL-SetupRqstFDD CRITICALITY ignore TYPE TFCI2-Bearer-Information-RL-SetupRqstFDD PRESENCE optional }|
- { ID id-RL-InformationList-RL-SetupRqstFDD CRITICALITY notify TYPE RL-InformationList-RL-SetupRqstFDD PRESENCE mandatory }|
- { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional } |
- { ID id-Active-Pattern-Sequence-Information CRITICALITY reject TYPE Active-Pattern-Sequence-Information PRESENCE optional },
- ...
-}
-
-RadioLinkSetupRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DSCH-FDD-Common-Information CRITICALITY ignore EXTENSION DSCH-FDD-Common-Information PRESENCE optional }|
- { ID id-DL-PowerBalancing-Information CRITICALITY ignore EXTENSION DL-PowerBalancing-Information PRESENCE optional }|
- { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-DSCH Information IE is present
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE conditional },
- -- The IE shall be present if HS-DSCH Information IE is present
- ...
-}
-
-UL-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
- ul-ScramblingCode UL-ScramblingCode,
- minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength,
- maxNrOfUL-DPDCHs MaxNrOfUL-DPDCHs OPTIONAL,
- -- This IE shall be present if Min UL Channelisation Code length IE is set to 4 --
- ul-PunctureLimit PunctureLimit,
- tFCS TFCS,
- ul-DPCCH-SlotFormat UL-DPCCH-SlotFormat,
- ul-SIR-Target UL-SIR,
- diversityMode DiversityMode,
- sSDT-CellID-Length SSDT-CellID-Length OPTIONAL,
- s-FieldLength S-FieldLength OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-Information-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-DPC-Mode CRITICALITY reject EXTENSION DPC-Mode PRESENCE optional },
- ...
-}
-
-DL-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
- tFCS TFCS,
- dl-DPCH-SlotFormat DL-DPCH-SlotFormat,
- tFCI-SignallingMode TFCI-SignallingMode,
- tFCI-Presence TFCI-Presence OPTIONAL,
- -- this IE shall be present if the DL DPCH slot format IE is set to any of the values from 12 to 16 --
- multiplexingPosition MultiplexingPosition,
- pDSCH-RL-ID RL-ID OPTIONAL,
- -- This IE shall be present if the DSCH Information IE is present --
- pDSCH-CodeMapping PDSCH-CodeMapping OPTIONAL,
- -- This IE shall be present if the DSCH Information IE is present --
- powerOffsetInformation PowerOffsetInformation-RL-SetupRqstFDD,
- fdd-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
- limitedPowerIncrease LimitedPowerIncrease,
- innerLoopDLPCStatus InnerLoopDLPCStatus,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-Information-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PowerOffsetInformation-RL-SetupRqstFDD ::= SEQUENCE {
- pO1-ForTFCI-Bits PowerOffset,
- pO2-ForTPC-Bits PowerOffset,
- pO3-ForPilotBits PowerOffset,
- iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PowerOffsetInformation-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCI2-Bearer-Information-RL-SetupRqstFDD ::= SEQUENCE {
- toAWS ToAWS,
- toAWE ToAWE,
- iE-Extensions ProtocolExtensionContainer { { TFCI2-Bearer-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCI2-Bearer-Information-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-RL-InformationList-RL-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF
- ProtocolIE-Single-Container{{ RL-InformationItemIE-RL-SetupRqstFDD }}
-
-RL-InformationItemIE-RL-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-SetupRqstFDD CRITICALITY notify TYPE RL-InformationItem-RL-SetupRqstFDD PRESENCE mandatory}
-}
-
-RL-InformationItem-RL-SetupRqstFDD ::= SEQUENCE {
- rL-ID RL-ID,
- c-ID C-ID,
- firstRLS-indicator FirstRLS-Indicator,
- frameOffset FrameOffset,
- chipOffset ChipOffset,
- propagationDelay PropagationDelay OPTIONAL,
- diversityControlField DiversityControlField OPTIONAL,
- -- This IE shall be present if the RL is not the first one in the RL Information IE
- dl-CodeInformation FDD-DL-CodeInformation,
- initialDL-transmissionPower DL-Power,
- maximumDL-power DL-Power,
- minimumDL-power DL-Power,
- sSDT-Cell-Identity SSDT-Cell-Identity OPTIONAL,
- transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
- -- This IE shall be present if Diversity Mode IE in UL DPCH Information group is not set to "none"
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SSDT-CellIDforEDSCHPC CRITICALITY ignore EXTENSION SSDT-Cell-Identity PRESENCE conditional }|
- -- This IE shall be present if Enhanced DSCH PC IE is present in the DSCH Common Information IE.
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
- { ID id-Qth-Parameter CRITICALITY ignore EXTENSION Qth-Parameter PRESENCE optional }|
- { ID id-Primary-CPICH-Usage-for-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-for-Channel-Estimation PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP REQUEST TDD
---
--- **************************************************************
-
-RadioLinkSetupRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY reject TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-CCTrCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationList-RL-SetupRqstTDD PRESENCE optional }|
- { ID id-DL-CCTrCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationList-RL-SetupRqstTDD PRESENCE optional }|
- { ID id-DCH-TDD-Information CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional }|
- { ID id-DSCH-TDD-Information CRITICALITY reject TYPE DSCH-TDD-Information PRESENCE optional }|
- { ID id-USCH-Information CRITICALITY reject TYPE USCH-Information PRESENCE optional }|
- { ID id-RL-Information-RL-SetupRqstTDD CRITICALITY reject TYPE RL-Information-RL-SetupRqstTDD PRESENCE mandatory },
- ...
-}
-
-RadioLinkSetupRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-DSCH Information IE is present
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE conditional }|
- -- The IE shall be present if HS-DSCH Information IE is present
- { ID id-PDSCH-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional },
- ...
-}
-
-UL-CCTrCH-InformationList-RL-SetupRqstTDD ::= SEQUENCE (SIZE(1..maxNrOfCCTrCHs)) OF
- ProtocolIE-Single-Container{{ UL-CCTrCH-InformationItemIE-RL-SetupRqstTDD }}
-
-UL-CCTrCH-InformationItemIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory}
-}
-
-UL-CCTrCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS,
- tFCI-Coding TFCI-Coding,
- punctureLimit PunctureLimit,
- uL-DPCH-Information UL-DPCH-Information-RL-SetupRqstTDD OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-UL-DPCH-LCR-Information-RL-SetupRqstTDD CRITICALITY notify EXTENSION UL-DPCH-LCR-Information-RL-SetupRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional }|
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
- { ID id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional },
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
- ...
-}
-
-UL-DPCH-Information-RL-SetupRqstTDD ::= ProtocolIE-Single-Container{{ UL-DPCH-InformationIE-RL-SetupRqstTDD }}
-
-UL-DPCH-InformationIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE UL-DPCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory }
-}
-
-UL-DPCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-Information UL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCH-LCR-Information-RL-SetupRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-TimeslotLCR-Information UL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationList-RL-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container{{ DL-CCTrCH-InformationItemIE-RL-SetupRqstTDD }}
-
-DL-CCTrCH-InformationItemIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory}
-}
-
-DL-CCTrCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS,
- tFCI-Coding TFCI-Coding,
- punctureLimit PunctureLimit,
- tdd-TPC-DownlinkStepSize TDD-TPC-DownlinkStepSize,
- cCTrCH-TPCList CCTrCH-TPCList-RL-SetupRqstTDD OPTIONAL,
- dL-DPCH-Information DL-DPCH-Information-RL-SetupRqstTDD OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-LCR-Information-RL-SetupRqstTDD CRITICALITY notify EXTENSION DL-DPCH-LCR-Information-RL-SetupRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-CCTrCH-Initial-DL-Power-RL-SetupRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-CCTrCH-Maximum-DL-Power-RL-SetupRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-CCTrCH-Minimum-DL-Power-RL-SetupRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
- ...
-}
-
-CCTrCH-TPCList-RL-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCItem-RL-SetupRqstTDD
-
-CCTrCH-TPCItem-RL-SetupRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CCTrCH-TPCItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-Information-RL-SetupRqstTDD ::= ProtocolIE-Single-Container{{ DL-DPCH-InformationIE-RL-SetupRqstTDD }}
-
-DL-DPCH-InformationIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE DL-DPCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory }
-}
-
-DL-DPCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-Information DL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-LCR-Information-RL-SetupRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-TimeslotLCR-Information DL-TimeslotLCR-Information,
- tstdIndicator TSTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Information-RL-SetupRqstTDD ::= SEQUENCE {
- rL-ID RL-ID,
- c-ID C-ID,
- frameOffset FrameOffset,
- specialBurstScheduling SpecialBurstScheduling,
- initialDL-transmissionPower DL-Power,
- maximumDL-power DL-Power,
- minimumDL-power DL-Power,
- dL-TimeSlotISCPInfo DL-TimeslotISCPInfo OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { RL-Information-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Information-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeslotISCP-LCR-InfoList-RL-SetupRqstTDD CRITICALITY reject EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
- { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional },
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP RESPONSE FDD
---
--- **************************************************************
-
-RadioLinkSetupResponseFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupResponseFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupResponseFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupResponseFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory}|
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory}|
- { ID id-CommunicationControlPortID CRITICALITY ignore TYPE CommunicationControlPortID PRESENCE mandatory}|
- { ID id-RL-InformationResponseList-RL-SetupRspFDD CRITICALITY ignore TYPE RL-InformationResponseList-RL-SetupRspFDD PRESENCE mandatory}|
- { ID id-TFCI2-BearerInformationResponse CRITICALITY ignore TYPE TFCI2-BearerInformationResponse PRESENCE optional}|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-RadioLinkSetupResponseFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional}, ...
-}
-
-RL-InformationResponseList-RL-SetupRspFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container{{ RL-InformationResponseItemIE-RL-SetupRspFDD }}
-
-RL-InformationResponseItemIE-RL-SetupRspFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationResponseItem-RL-SetupRspFDD CRITICALITY ignore TYPE RL-InformationResponseItem-RL-SetupRspFDD PRESENCE mandatory}
-}
-
-RL-InformationResponseItem-RL-SetupRspFDD ::= SEQUENCE {
- rL-ID RL-ID,
- rL-Set-ID RL-Set-ID,
- received-total-wide-band-power Received-total-wide-band-power-Value,
- diversityIndication DiversityIndication-RL-SetupRspFDD,
- dSCH-InformationResponseList DSCH-InformationResponseList-RL-SetupRspFDD OPTIONAL,
- sSDT-SupportIndicator SSDT-SupportIndicator,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseItem-RL-SetupRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional},
- ...
-}
-
-DiversityIndication-RL-SetupRspFDD ::= CHOICE {
- combining Combining-RL-SetupRspFDD,
- nonCombiningOrFirstRL NonCombiningOrFirstRL-RL-SetupRspFDD
-}
-
-Combining-RL-SetupRspFDD ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { Combining-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Combining-RL-SetupRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-NonCombiningOrFirstRL-RL-SetupRspFDD ::= SEQUENCE {
- dCH-InformationResponse DCH-InformationResponse,
- iE-Extensions ProtocolExtensionContainer { { NonCombiningOrFirstRLItem-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-NonCombiningOrFirstRLItem-RL-SetupRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-InformationResponseList-RL-SetupRspFDD ::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-SetupRspFDD }}
-
-DSCH-InformationResponseListIEs-RL-SetupRspFDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP RESPONSE TDD
---
--- **************************************************************
-
-RadioLinkSetupResponseTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupResponseTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupResponseTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-CommunicationControlPortID CRITICALITY ignore TYPE CommunicationControlPortID PRESENCE mandatory }|
- { ID id-RL-InformationResponse-RL-SetupRspTDD CRITICALITY ignore TYPE RL-InformationResponse-RL-SetupRspTDD PRESENCE optional }|
- -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkSetupResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-RL-InformationResponse-LCR-RL-SetupRspTDD CRITICALITY ignore EXTENSION RL-InformationResponse-LCR-RL-SetupRspTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional },
- ...
-}
-
-RL-InformationResponse-RL-SetupRspTDD ::= SEQUENCE {
- rL-ID RL-ID,
- uL-TimeSlot-ISCP-Info UL-TimeSlot-ISCP-Info,
- ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
- dCH-InformationResponseList DCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- dSCH-InformationResponseList DSCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- uSCH-InformationResponseList USCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseList-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseList-RL-SetupRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-InformationResponseList-RL-SetupRspTDD ::= ProtocolIE-Single-Container{{ DCH-InformationResponseListIEs-RL-SetupRspTDD }}
-
-DCH-InformationResponseListIEs-RL-SetupRspTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory}
- }
-
-DSCH-InformationResponseList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-SetupRspTDD }}
-
-DSCH-InformationResponseListIEs-RL-SetupRspTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
-}
-
-USCH-InformationResponseList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{ USCH-InformationResponseListIEs-RL-SetupRspTDD }}
-
-USCH-InformationResponseListIEs-RL-SetupRspTDD NBAP-PROTOCOL-IES ::= {
- { ID id-USCH-InformationResponse CRITICALITY ignore TYPE USCH-InformationResponse PRESENCE mandatory }
-}
-
-RL-InformationResponse-LCR-RL-SetupRspTDD ::= SEQUENCE {
- rL-ID RL-ID,
- uL-TimeSlot-ISCP-LCR-Info UL-TimeSlot-ISCP-LCR-Info,
- ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
- dCH-InformationResponseList DCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- dSCH-InformationResponseList DSCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- uSCH-InformationResponseList USCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseList-LCR-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseList-LCR-RL-SetupRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP FAILURE FDD
---
--- **************************************************************
-
-RadioLinkSetupFailureFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupFailureFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupFailureFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupFailureFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE conditional }|
- -- This IE shall be present if at least one of the radio links has been successfully set up
- { ID id-CommunicationControlPortID CRITICALITY ignore TYPE CommunicationControlPortID PRESENCE optional }|
- { ID id-CauseLevel-RL-SetupFailureFDD CRITICALITY ignore TYPE CauseLevel-RL-SetupFailureFDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkSetupFailureFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-RL-SetupFailureFDD ::= CHOICE {
- generalCause GeneralCauseList-RL-SetupFailureFDD,
- rLSpecificCause RLSpecificCauseList-RL-SetupFailureFDD,
- ...
-}
-
-GeneralCauseList-RL-SetupFailureFDD ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RLSpecificCauseList-RL-SetupFailureFDD ::= SEQUENCE {
- unsuccessful-RL-InformationRespList-RL-SetupFailureFDD Unsuccessful-RL-InformationRespList-RL-SetupFailureFDD,
- successful-RL-InformationRespList-RL-SetupFailureFDD Successful-RL-InformationRespList-RL-SetupFailureFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RLSpecificCauseItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional},
- ...
-}
-
-Unsuccessful-RL-InformationRespList-RL-SetupFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureFDD }}
-
-Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureFDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD PRESENCE mandatory}
-}
-
-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Successful-RL-InformationRespList-RL-SetupFailureFDD ::= SEQUENCE (SIZE (1.. maxNrOfRLs)) OF ProtocolIE-Single-Container {{ Successful-RL-InformationRespItemIE-RL-SetupFailureFDD }}
-
-Successful-RL-InformationRespItemIE-RL-SetupFailureFDD NBAP-PROTOCOL-IES ::= {
- { ID id-Successful-RL-InformationRespItem-RL-SetupFailureFDD CRITICALITY ignore TYPE Successful-RL-InformationRespItem-RL-SetupFailureFDD PRESENCE mandatory}
-}
-
-Successful-RL-InformationRespItem-RL-SetupFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- rL-Set-ID RL-Set-ID,
- received-total-wide-band-power Received-total-wide-band-power-Value,
- diversityIndication DiversityIndication-RL-SetupFailureFDD,
- dSCH-InformationResponseList DSCH-InformationRespList-RL-SetupFailureFDD OPTIONAL,
- tFCI2-BearerInformationResponse TFCI2-BearerInformationResponse OPTIONAL,
- -- There shall be only one TFCI2 bearer per Node B Communication Context.
- sSDT-SupportIndicator SSDT-SupportIndicator,
- iE-Extensions ProtocolExtensionContainer { { Successful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Successful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional},
- ...
-}
-
-DiversityIndication-RL-SetupFailureFDD ::= CHOICE {
- combining Combining-RL-SetupFailureFDD,
- nonCombiningOrFirstRL NonCombiningOrFirstRL-RL-SetupFailureFDD
-}
-
-Combining-RL-SetupFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-CombiningItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-NonCombiningOrFirstRL-RL-SetupFailureFDD ::= SEQUENCE {
- dCH-InformationResponse DCH-InformationResponse,
- iE-Extensions ProtocolExtensionContainer { { NonCombiningOrFirstRLItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-NonCombiningOrFirstRLItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-InformationRespList-RL-SetupFailureFDD ::= ProtocolIE-Single-Container {{ DSCH-InformationRespListIEs-RL-SetupFailureFDD }}
-
-DSCH-InformationRespListIEs-RL-SetupFailureFDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP FAILURE TDD
---
--- **************************************************************
-
-RadioLinkSetupFailureTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupFailureTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupFailureTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-CauseLevel-RL-SetupFailureTDD CRITICALITY ignore TYPE CauseLevel-RL-SetupFailureTDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkSetupFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-RL-SetupFailureTDD ::= CHOICE {
- generalCause GeneralCauseList-RL-SetupFailureTDD,
- rLSpecificCause RLSpecificCauseList-RL-SetupFailureTDD,
- ...
-}
-
-GeneralCauseList-RL-SetupFailureTDD ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseItem-RL-SetupFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RLSpecificCauseList-RL-SetupFailureTDD ::= SEQUENCE {
- unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD Unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD,
- iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RLSpecificCauseItem-RL-SetupFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD ::= ProtocolIE-Single-Container { {Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureTDD} }
-
-Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationResp-RL-SetupFailureTDD PRESENCE mandatory }
-}
-
-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationResp-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION REQUEST FDD
---
--- **************************************************************
-
-RadioLinkAdditionRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-Compressed-Mode-Deactivation-Flag CRITICALITY reject TYPE Compressed-Mode-Deactivation-Flag PRESENCE optional }|
- { ID id-RL-InformationList-RL-AdditionRqstFDD CRITICALITY notify TYPE RL-InformationList-RL-AdditionRqstFDD PRESENCE mandatory },
- ...
-}
-
-RadioLinkAdditionRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-RL-AdditionRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-AdditionRqstFDD}}
-
-RL-InformationItemIE-RL-AdditionRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-AdditionRqstFDD CRITICALITY notify TYPE RL-InformationItem-RL-AdditionRqstFDD PRESENCE mandatory}
-}
-
-RL-InformationItem-RL-AdditionRqstFDD ::= SEQUENCE {
- rL-ID RL-ID,
- c-ID C-ID,
- frameOffset FrameOffset,
- chipOffset ChipOffset,
- diversityControlField DiversityControlField,
- dl-CodeInformation FDD-DL-CodeInformation,
- initialDL-TransmissionPower DL-Power OPTIONAL,
- maximumDL-Power DL-Power OPTIONAL,
- minimumDL-Power DL-Power OPTIONAL,
- sSDT-CellIdentity SSDT-Cell-Identity OPTIONAL,
- transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-AdditionRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-AdditionRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional}|
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
- { ID id-Qth-Parameter CRITICALITY ignore EXTENSION Qth-Parameter PRESENCE optional }|
- { ID id-Primary-CPICH-Usage-for-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-for-Channel-Estimation PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION REQUEST TDD
---
--- **************************************************************
-
-RadioLinkAdditionRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD CRITICALITY reject TYPE UL-CCTrCH-InformationList-RL-AdditionRqstTDD PRESENCE optional }|
- { ID id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD CRITICALITY reject TYPE DL-CCTrCH-InformationList-RL-AdditionRqstTDD PRESENCE optional }|
- { ID id-RL-Information-RL-AdditionRqstTDD CRITICALITY reject TYPE RL-Information-RL-AdditionRqstTDD PRESENCE mandatory },
- ...
-}
-
-RadioLinkAdditionRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-CCTrCH-InformationList-RL-AdditionRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationItem-RL-AdditionRqstTDD
-
-UL-CCTrCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- uL-DPCH-Information UL-DPCH-InformationList-RL-AdditionRqstTDD OPTIONAL, -- Applicable to 3.84cps TDD only
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD CRITICALITY notify EXTENSION UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD PRESENCE optional }| -- Applicable to 1.28cps TDD only
- { ID id-TDD-TPC-UplinkStepSize-LCR-RL-AdditionRqstTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional },
--- Applicable to 1.28cps TDD only
- ...
-}
-
-UL-DPCH-InformationList-RL-AdditionRqstTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationItemIE-RL-AdditionRqstTDD }}
-
-UL-DPCH-InformationItemIE-RL-AdditionRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationItem-RL-AdditionRqstTDD CRITICALITY notify TYPE UL-DPCH-InformationItem-RL-AdditionRqstTDD PRESENCE optional} -- For 3.84Mcps TDD only
-}
-
-UL-DPCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-Information UL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationList-RL-AdditionRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationItem-RL-AdditionRqstTDD
-
-DL-CCTrCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- dL-DPCH-Information DL-DPCH-InformationList-RL-AdditionRqstTDD OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD CRITICALITY notify EXTENSION DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-CCTrCH-Initial-DL-Power-RL-AdditionRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-TDD-TPC-DownlinkStepSize-RL-AdditionRqstTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional }|
- { ID id-CCTrCH-Maximum-DL-Power-RL-AdditionRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-CCTrCH-Minimum-DL-Power-RL-AdditionRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
- ...
-}
-
-DL-DPCH-InformationList-RL-AdditionRqstTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationItemIE-RL-AdditionRqstTDD }}
-
-DL-DPCH-InformationItemIE-RL-AdditionRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationItem-RL-AdditionRqstTDD CRITICALITY notify TYPE DL-DPCH-InformationItem-RL-AdditionRqstTDD PRESENCE mandatory}
-}
-
-DL-DPCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-Information DL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Information-RL-AdditionRqstTDD ::= SEQUENCE {
- rL-ID RL-ID,
- c-ID C-ID,
- frameOffset FrameOffset,
- diversityControlField DiversityControlField,
- initial-DL-Transmission-Power DL-Power OPTIONAL,
- maximumDL-Power DL-Power OPTIONAL,
- minimumDL-Power DL-Power OPTIONAL,
- dL-TimeSlotISCPInfo DL-TimeslotISCPInfo OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { RL-information-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-RL-information-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeslotISCP-InformationList-LCR-RL-AdditionRqstTDD CRITICALITY reject EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
- { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }, -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-TimeslotLCR-Information UL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-TimeslotLCR-Information DL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION RESPONSE FDD
---
--- **************************************************************
-
-RadioLinkAdditionResponseFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionResponseFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionResponseFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionResponseFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-RL-InformationResponseList-RL-AdditionRspFDD CRITICALITY ignore TYPE RL-InformationResponseList-RL-AdditionRspFDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkAdditionResponseFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationResponseList-RL-AdditionRspFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container {{ RL-InformationResponseItemIE-RL-AdditionRspFDD }}
-
-RL-InformationResponseItemIE-RL-AdditionRspFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationResponseItem-RL-AdditionRspFDD CRITICALITY ignore TYPE RL-InformationResponseItem-RL-AdditionRspFDD PRESENCE mandatory}
-}
-
-RL-InformationResponseItem-RL-AdditionRspFDD ::= SEQUENCE {
- rL-ID RL-ID,
- rL-Set-ID RL-Set-ID,
- received-total-wide-band-power Received-total-wide-band-power-Value,
- diversityIndication DiversityIndication-RL-AdditionRspFDD,
- sSDT-SupportIndicator SSDT-SupportIndicator,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseItem-RL-AdditionRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional},
- ...
-}
-
-DiversityIndication-RL-AdditionRspFDD ::= CHOICE {
- combining Combining-RL-AdditionRspFDD,
- non-combining Non-Combining-RL-AdditionRspFDD
-}
-
-Combining-RL-AdditionRspFDD ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CombiningItem-RL-AdditionRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Non-Combining-RL-AdditionRspFDD ::= SEQUENCE {
- dCH-InformationResponse DCH-InformationResponse,
- iE-Extensions ProtocolExtensionContainer { { Non-CombiningItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Non-CombiningItem-RL-AdditionRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION RESPONSE TDD
---
--- **************************************************************
-
-RadioLinkAdditionResponseTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionResponseTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionResponseTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-RL-InformationResponse-RL-AdditionRspTDD CRITICALITY ignore TYPE RL-InformationResponse-RL-AdditionRspTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkAdditionResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-RL-InformationResponse-LCR-RL-AdditionRspTDD CRITICALITY ignore EXTENSION RL-InformationResponse-LCR-RL-AdditionRspTDD PRESENCE optional }, -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
-RL-InformationResponse-RL-AdditionRspTDD ::= SEQUENCE {
- rL-ID RL-ID,
- uL-TimeSlot-ISCP-Info UL-TimeSlot-ISCP-Info,
- ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
- dCH-Information DCH-Information-RL-AdditionRspTDD OPTIONAL,
- dSCH-InformationResponseList DSCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
- uSCH-InformationResponseList USCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponse-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponse-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-Information-RL-AdditionRspTDD ::= SEQUENCE {
- diversityIndication DiversityIndication-RL-AdditionRspTDD,
- iE-Extensions ProtocolExtensionContainer { { DCH-Information-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-Information-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DiversityIndication-RL-AdditionRspTDD ::= CHOICE {
- combining Combining-RL-AdditionRspTDD, -- Indicates whether the old Transport Bearer shall be reused or not
- non-Combining Non-Combining-RL-AdditionRspTDD
-}
-
-Combining-RL-AdditionRspTDD ::= SEQUENCE {
- rL-ID RL-ID, -- Reference RL
- iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CombiningItem-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Non-Combining-RL-AdditionRspTDD ::= SEQUENCE {
- dCH-InformationResponse DCH-InformationResponse,
- iE-Extensions ProtocolExtensionContainer { { Non-CombiningItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Non-CombiningItem-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-InformationResponseList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-AdditionRspTDD }}
-
-DSCH-InformationResponseListIEs-RL-AdditionRspTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
-}
-
-USCH-InformationResponseList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{ USCH-InformationResponseListIEs-RL-AdditionRspTDD }}
-
-USCH-InformationResponseListIEs-RL-AdditionRspTDD NBAP-PROTOCOL-IES ::= {
- { ID id-USCH-InformationResponse CRITICALITY ignore TYPE USCH-InformationResponse PRESENCE mandatory }
-}
-
-RL-InformationResponse-LCR-RL-AdditionRspTDD ::= SEQUENCE {
- rL-ID RL-ID,
- uL-TimeSlot-ISCP-InfoLCR UL-TimeSlot-ISCP-LCR-Info,
- ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
- dCH-Information DCH-Information-RL-AdditionRspTDD OPTIONAL,
- dSCH-InformationResponseList DSCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
- uSCH-InformationResponseList USCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponse-LCR-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponse-LCR-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION FAILURE FDD
---
--- **************************************************************
-
-RadioLinkAdditionFailureFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionFailureFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionFailureFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionFailureFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-CauseLevel-RL-AdditionFailureFDD CRITICALITY ignore TYPE CauseLevel-RL-AdditionFailureFDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkAdditionFailureFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-RL-AdditionFailureFDD ::= CHOICE {
- generalCause GeneralCauseList-RL-AdditionFailureFDD,
- rLSpecificCause RLSpecificCauseList-RL-AdditionFailureFDD,
- ...
-}
-
-GeneralCauseList-RL-AdditionFailureFDD ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RLSpecificCauseList-RL-AdditionFailureFDD ::= SEQUENCE {
- unsuccessful-RL-InformationRespList-RL-AdditionFailureFDD Unsuccessful-RL-InformationRespList-RL-AdditionFailureFDD,
- successful-RL-InformationRespList-RL-AdditionFailureFDD Successful-RL-InformationRespList-RL-AdditionFailureFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RLSpecificCauseItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-RL-InformationRespList-RL-AdditionFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container {{ Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureFDD }}
-
-Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureFDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD PRESENCE mandatory}
-}
-
-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Successful-RL-InformationRespList-RL-AdditionFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-2)) OF ProtocolIE-Single-Container {{ Successful-RL-InformationRespItemIE-RL-AdditionFailureFDD }}
-
-Successful-RL-InformationRespItemIE-RL-AdditionFailureFDD NBAP-PROTOCOL-IES ::= {
- { ID id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD CRITICALITY ignore TYPE Successful-RL-InformationRespItem-RL-AdditionFailureFDD PRESENCE mandatory}
-}
-
-Successful-RL-InformationRespItem-RL-AdditionFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- rL-Set-ID RL-Set-ID,
- received-total-wide-band-power Received-total-wide-band-power-Value,
- diversityIndication DiversityIndication-RL-AdditionFailureFDD,
- sSDT-SupportIndicator SSDT-SupportIndicator,
- iE-Extensions ProtocolExtensionContainer { { Successful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Successful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional},
- ...
-}
-
-DiversityIndication-RL-AdditionFailureFDD ::= CHOICE {
- combining Combining-RL-AdditionFailureFDD,
- non-Combining Non-Combining-RL-AdditionFailureFDD
-}
-
-Combining-RL-AdditionFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-CombiningItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Non-Combining-RL-AdditionFailureFDD ::= SEQUENCE {
- dCH-InformationResponse DCH-InformationResponse,
- iE-Extensions ProtocolExtensionContainer { { Non-CombiningItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Non-CombiningItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION FAILURE TDD
---
--- **************************************************************
-
-RadioLinkAdditionFailureTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionFailureTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionFailureTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-CauseLevel-RL-AdditionFailureTDD CRITICALITY ignore TYPE CauseLevel-RL-AdditionFailureTDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkAdditionFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-RL-AdditionFailureTDD ::= CHOICE {
- generalCause GeneralCauseList-RL-AdditionFailureTDD,
- rLSpecificCause RLSpecificCauseList-RL-AdditionFailureTDD,
- ...
-}
-
-GeneralCauseList-RL-AdditionFailureTDD ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseItem-RL-AdditionFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RLSpecificCauseList-RL-AdditionFailureTDD ::= SEQUENCE {
- unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD Unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD,
- iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RLSpecificCauseItem-RL-AdditionFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD ::= ProtocolIE-Single-Container { {Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureTDD} }
-
-Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD PRESENCE mandatory }
-}
-
-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION PREPARE FDD
---
--- **************************************************************
-
-RadioLinkReconfigurationPrepareFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationPrepareFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationPrepareFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationPrepareFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional } |
- { ID id-DL-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional } |
- { ID id-FDD-DCHs-to-Modify CRITICALITY reject TYPE FDD-DCHs-to-Modify PRESENCE optional } |
- { ID id-DCHs-to-Add-FDD CRITICALITY reject TYPE DCH-FDD-Information PRESENCE optional } |
- { ID id-DCH-DeleteList-RL-ReconfPrepFDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfPrepFDD PRESENCE optional } |
- { ID id-DSCH-ModifyList-RL-ReconfPrepFDD CRITICALITY reject TYPE DSCH-ModifyList-RL-ReconfPrepFDD PRESENCE optional } |
- { ID id-DSCHs-to-Add-FDD CRITICALITY reject TYPE DSCH-FDD-Information PRESENCE optional } |
- { ID id-DSCH-DeleteList-RL-ReconfPrepFDD CRITICALITY reject TYPE DSCH-DeleteList-RL-ReconfPrepFDD PRESENCE optional } |
- { ID id-TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD CRITICALITY reject TYPE TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD
- PRESENCE optional } |
- { ID id-RL-InformationList-RL-ReconfPrepFDD CRITICALITY reject TYPE RL-InformationList-RL-ReconfPrepFDD PRESENCE optional }|
- { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional },
- ...
-}
-
-RadioLinkReconfigurationPrepareFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DSCH-FDD-Common-Information CRITICALITY ignore EXTENSION DSCH-FDD-Common-Information PRESENCE optional }|
- { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
- { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional }|
- { ID id-HSDSCH-Information-to-Modify CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-PDSCH RL ID IE is present.
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional },
- ...
-}
-
-UL-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
- ul-ScramblingCode UL-ScramblingCode OPTIONAL,
- ul-SIR-Target UL-SIR OPTIONAL,
- minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength OPTIONAL,
- maxNrOfUL-DPDCHs MaxNrOfUL-DPDCHs OPTIONAL,
- -- This IE shall be present if minUL-ChannelisationCodeLength Ie is set to 4
- ul-PunctureLimit PunctureLimit OPTIONAL,
- tFCS TFCS OPTIONAL,
- ul-DPCCH-SlotFormat UL-DPCCH-SlotFormat OPTIONAL,
- diversityMode DiversityMode OPTIONAL,
- sSDT-CellIDLength SSDT-CellID-Length OPTIONAL,
- s-FieldLength S-FieldLength OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
- tFCS TFCS OPTIONAL,
- dl-DPCH-SlotFormat DL-DPCH-SlotFormat OPTIONAL,
- tFCI-SignallingMode TFCI-SignallingMode OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- -- This IE shall be present if the DL DPCH Slot Format IE is set to any of the values from 12 to 16
- multiplexingPosition MultiplexingPosition OPTIONAL,
- pDSCH-CodeMapping PDSCH-CodeMapping OPTIONAL,
- pDSCH-RL-ID RL-ID OPTIONAL,
- limitedPowerIncrease LimitedPowerIncrease OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-DeleteList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfPrepFDD
-
-DCH-DeleteItem-RL-ReconfPrepFDD ::= SEQUENCE {
- dCH-ID DCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-ModifyList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF ProtocolIE-Single-Container {{DSCH-ModifyItemIE-RL-ReconfPrepFDD }}
-
-DSCH-ModifyItemIE-RL-ReconfPrepFDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-ModifyItem-RL-ReconfPrepFDD CRITICALITY reject TYPE DSCH-ModifyItem-RL-ReconfPrepFDD PRESENCE mandatory}
-}
-
-DSCH-ModifyItem-RL-ReconfPrepFDD ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- dl-TransportFormatSet TransportFormatSet OPTIONAL,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- frameHandlingPriority FrameHandlingPriority OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- iE-Extensions ProtocolExtensionContainer { { DSCH-ModifyItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-ModifyItem-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-DSCH-DeleteList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF ProtocolIE-Single-Container {{DSCH-DeleteItemIE-RL-ReconfPrepFDD }}
-
-DSCH-DeleteItemIE-RL-ReconfPrepFDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-DeleteItem-RL-ReconfPrepFDD CRITICALITY reject TYPE DSCH-DeleteItem-RL-ReconfPrepFDD PRESENCE mandatory}
-}
-
-DSCH-DeleteItem-RL-ReconfPrepFDD ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DSCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD ::= CHOICE {
- addOrModify AddOrModify-TFCI2-RL-ReconfPrepFDD,
- delete NULL
-}
-
-AddOrModify-TFCI2-RL-ReconfPrepFDD ::= SEQUENCE {
- toAWS ToAWS,
- toAWE ToAWE,
- iE-Extensions ProtocolExtensionContainer { { AddOrModify-TFCI2-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AddOrModify-TFCI2-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TFCI2BearerRequestIndicator CRITICALITY reject EXTENSION TFCI2BearerRequestIndicator PRESENCE optional }|
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-RL-InformationList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-ReconfPrepFDD }}
-
-RL-InformationItemIE-RL-ReconfPrepFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-ReconfPrepFDD CRITICALITY reject TYPE RL-InformationItem-RL-ReconfPrepFDD PRESENCE mandatory}
-}
-
-RL-InformationItem-RL-ReconfPrepFDD ::= SEQUENCE {
- rL-ID RL-ID,
- dl-CodeInformation FDD-DL-CodeInformation OPTIONAL,
- maxDL-Power DL-Power OPTIONAL,
- minDL-Power DL-Power OPTIONAL,
- sSDT-Indication SSDT-Indication OPTIONAL,
- sSDT-Cell-Identity SSDT-Cell-Identity OPTIONAL,
- -- The IE shall be present if the SSDT Indication IE is set to "SSDT Active in the UE"
- transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
- -- This IE shall be present if Diversity Mode IE is present in UL DPCH Information IE and it is not set to "none"
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SSDT-CellIDforEDSCHPC CRITICALITY ignore EXTENSION SSDT-Cell-Identity PRESENCE conditional }|
- -- This IE shall be present if Enhanced DSCH PC IE is present in the DSCH Common Information IE.
- { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-DL-DPCH-TimingAdjustment CRITICALITY reject EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
- { ID id-Qth-Parameter CRITICALITY ignore EXTENSION Qth-Parameter PRESENCE optional }|
- { ID id-Primary-CPICH-Usage-for-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-for-Channel-Estimation PRESENCE optional }|
- { ID id-Secondary-CPICH-Information-Change CRITICALITY ignore EXTENSION Secondary-CPICH-Information-Change PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION PREPARE TDD
---
--- **************************************************************
-
-RadioLinkReconfigurationPrepareTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationPrepareTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationPrepareTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationPrepareTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-TDD-DCHs-to-Modify CRITICALITY reject TYPE TDD-DCHs-to-Modify PRESENCE optional }|
- { ID id-DCHs-to-Add-TDD CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional }|
- { ID id-DCH-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-DSCH-Information-ModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE DSCH-Information-ModifyList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-DSCHs-to-Add-TDD CRITICALITY reject TYPE DSCH-TDD-Information PRESENCE optional }|
- { ID id-DSCH-Information-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DSCH-Information-DeleteList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-USCH-Information-ModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE USCH-Information-ModifyList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-USCH-Information-Add CRITICALITY reject TYPE USCH-Information PRESENCE optional }|
- { ID id-USCH-Information-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE USCH-Information-DeleteList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-RL-Information-RL-ReconfPrepTDD CRITICALITY reject TYPE RL-Information-RL-ReconfPrepTDD PRESENCE optional },
--- This RL Information is the for the 1st RL IE repetition
- ...
-}
-
-RadioLinkReconfigurationPrepareTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
- { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional }|
- { ID id-HSDSCH-Information-to-Modify CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-PDSCH RL ID IE is present.
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
- { ID id-PDSCH-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
- { ID id-RL-Information-RL-ReconfPrepTDD CRITICALITY reject EXTENSION MultipleRL-Information-RL-ReconfPrepTDD PRESENCE optional },
--- This RL Information is the for the 2nd and beyond repetition of RL information,
- ...
-}
-
-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD
-
-UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS,
- tFCI-Coding TFCI-Coding,
- punctureLimit PunctureLimit,
- ul-DPCH-InformationList UL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfPrepTDD CRITICALITY reject EXTENSION UL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional }|
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
--- This Information is the for the first RL repetition, SIR Target information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional }|
--- This Information is the for the first RL repetition, TPCinformation for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
- { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional}|
--- This is the RL ID for the first RL repetition
- { ID id-multipleRL-ul-DPCH-InformationList CRITICALITY reject EXTENSION MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional },
--- This Information is the for the 2nd and beyond RL repetition,
- ...
-}
-
-MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD
---Includes the 2nd through the max number of radio link repetitions.
-
-MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ::= SEQUENCE {
- ul-DPCH-InformationList UL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
- ul-DPCH-InformationListLCR UL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
- ul-sir-target UL-SIR OPTIONAL,
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
- tDD-TPC-UplinkStepSize-LCR TDD-TPC-UplinkStepSize-LCR OPTIONAL,
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
- rL-ID RL-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
-...
-}
-
-MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD }}
-
-UL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationAddItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-UL-DPCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-Information UL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-InformationLCR UL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD
-
-UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS OPTIONAL,
- tFCI-Coding TFCI-Coding OPTIONAL,
- punctureLimit PunctureLimit OPTIONAL,
- ul-DPCH-InformationAddList UL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- ul-DPCH-InformationModifyList UL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- ul-DPCH-InformationDeleteList UL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-UL-DPCH-LCR-InformationModify-AddList CRITICALITY reject EXTENSION UL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only.
--- This Information is the for the first RL repetition, SIR Target information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
--- This Information is the for the first RL repetition, Step Size information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
--- This is the RL ID for the first RL repetition
- { ID id-multipleRL-ul-DPCH-InformationModifyList CRITICALITY reject EXTENSION MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional },
--- This DPCH Information is the for the 2nd and beyond RL repetition,
- ...
-}
-
-UL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD }}
-
-UL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD
---Includes the 2nd through the max number of radio link information repetitions.
-
-MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD ::= SEQUENCE {
- ul-DPCH-InformationAddList UL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
- ul-DPCH-InformationModifyList UL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- ul-DPCH-InformationDeleteList UL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
- ul-DPCH-InformationAddListLCR UL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
- ul-sir-target UL-SIR OPTIONAL,
- tDD-TPC-UplinkStepSize-LCR TDD-TPC-UplinkStepSize-LCR OPTIONAL,
- rL-ID RL-ID OPTIONAL,
--- This DPCH Information is the for the 2nd and beyond RL repetitions,
- iE-Extensions ProtocolExtensionContainer { { MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
-...
-}
-
-
-MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-Information UL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-InformationLCR UL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD }}
-
-UL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-DPCHOffset TDD-DPCHOffset OPTIONAL,
- uL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD UL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-UL-TimeslotLCR-Information-RL-ReconfPrepTDD CRITICALITY reject EXTENSION UL-TimeslotLCR-InformationModify-ModifyList-RL-ReconfPrepTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-UL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD -- Applicable to 3.84Mcps TDD only
-
-UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- uL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD
-
-UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-TimeslotLCR-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD -- Applicable to 1.28Mcps TDD only
-
-UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- uL-Code-InformationModify-ModifyList-RL-ReconfPrepTDDLCR UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDDLCR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDDLCR ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR
-
-UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
-{ ID id-UL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-UL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
-
- ...
-}
-
-UL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD }}
-
-UL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD
-
-UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD
-
-UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD
-
-DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS,
- tFCI-Coding TFCI-Coding,
- punctureLimit PunctureLimit,
- cCTrCH-TPCList CCTrCH-TPCAddList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationList DL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-CCTrCH-Initial-DL-Power-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
--- This DL Power inforrmation is the for the first RL repetition, DL power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional}|
--- This DL step size is the for the first RL repetition, DL step size information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-CCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
--- This DL Power inforrmation is the for the first RL repetition, DL power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-CCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
--- This DL Power inforrmation is the for the first RL repetition, DL power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
--- This is the RL ID for the first RL repetition
- { ID id-multipleRL-ul-DPCH-InformationList CRITICALITY reject EXTENSION MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional },
--- This DPCH Information is the for the 2nd and beyond RL repetition,
- ...
-}
-
-MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD
---Includes the 2nd through the max number of radio link information repetitions.
-
-MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ::= SEQUENCE {
- dl-DPCH-InformationList DL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationListLCR DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
- cCTrCH-Initial-DL-Power DL-Power OPTIONAL,
- tDD-TPC-DownlinkStepSize TDD-TPC-DownlinkStepSize OPTIONAL,
- cCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD DL-Power OPTIONAL,
- cCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD DL-Power OPTIONAL,
- rL-ID RL-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-TPCAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCAddItem-RL-ReconfPrepTDD -- Applicable to 3.84Mcps TDD only
-
-CCTrCH-TPCAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CCTrCH-TPCAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD }}
-
-DL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationAddItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-DL-DPCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-Information DL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-InformationLCR DL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD
-
-DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS OPTIONAL,
- tFCI-Coding TFCI-Coding OPTIONAL,
- punctureLimit PunctureLimit OPTIONAL,
- cCTrCH-TPCList CCTrCH-TPCModifyList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationAddList DL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- dl-DPCH-InformationModifyList DL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- dl-DPCH-InformationDeleteList DL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional}|
--- This Step Size Information is the for the first RL repetition, step size information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
--- This power Information is the for the first RL repetition, power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
--- This power Information is the for the first RL repetition, power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
--- This is the RL ID for the first RL repetition
- { ID id-multipleRL-dl-DPCH-InformationModifyList CRITICALITY reject EXTENSION MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional },
--- This DPCH Information is the for the 2nd and beyond RL repetitions,
- ...
-}
-
-MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD
---Includes the 2nd through the max number of radio link information repetitions.
-
-MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD ::= SEQUENCE {
- dl-DPCH-InformationAddList DL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationModifyList DL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationDeleteList DL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationAddListLCR DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
- tDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD TDD-TPC-DownlinkStepSize OPTIONAL,
- cCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD DL-Power OPTIONAL,
- cCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD DL-Power OPTIONAL,
- rL-ID RL-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
-...
-}
-
-MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-TPCModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCModifyItem-RL-ReconfPrepTDD
-
-CCTrCH-TPCModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CCTrCH-TPCModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD }}
--- Applicable to 3.84Mcps TDD only
-
-DL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-Information DL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-InformationLCR DL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD }}
-
-DL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-DPCHOffset TDD-DPCHOffset OPTIONAL,
- dL-Timeslot-InformationAddModify-ModifyList-RL-ReconfPrepTDD DL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD PRESENCE optional },
- ...
-}
-
-DL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD
-
-DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- dL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD DL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Maximum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-Minimum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
- -- Applicable to 1.28Mcps TDD only
- ...
-}
-DL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (0..maxNrOfDPCHs)) OF DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD
-
-DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD
-
-DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- dL-Code-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD DL-Code-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-DL-Code-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD
-
-DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-DL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
- ...
-}
-
-DL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD }}
-
-DL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD
-
-DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD
-
-DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfPrepTDD
-
-DCH-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dCH-ID DCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-Information-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-Information-ModifyItem-RL-ReconfPrepTDD
-
-DSCH-Information-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- cCTrCH-ID CCTrCH-ID OPTIONAL,
- -- DL CCTrCH in which the DSCH is mapped
- transportFormatSet TransportFormatSet OPTIONAL,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- frameHandlingPriority FrameHandlingPriority OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- iE-Extensions ProtocolExtensionContainer { { DSCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-DSCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- -- Shall be ignored if bearer establishment with ALCAP.
- ...
-}
-
-DSCH-Information-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-Information-DeleteItem-RL-ReconfPrepTDD
-
-DSCH-Information-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DSCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-USCH-Information-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-Information-ModifyItem-RL-ReconfPrepTDD
-
-USCH-Information-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- uSCH-ID USCH-ID,
- transportFormatSet TransportFormatSet OPTIONAL,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- cCTrCH-ID CCTrCH-ID OPTIONAL, -- UL CCTrCH in which the USCH is mapped
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- iE-Extensions ProtocolExtensionContainer { { USCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-USCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
- ...
-}
-
-USCH-Information-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-Information-DeleteItem-RL-ReconfPrepTDD
-
-USCH-Information-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- uSCH-ID USCH-ID,
- iE-Extensions ProtocolExtensionContainer { { USCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-
-}
-
-USCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MultipleRL-Information-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF RL-Information-RL-ReconfPrepTDD
---Includes the 2nd through the max number of radio link information repetitions.
-
-RL-Information-RL-ReconfPrepTDD ::= SEQUENCE {
- rL-ID RL-ID,
- maxDL-Power DL-Power OPTIONAL,
- minDL-Power DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-Information-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Information-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-InitDL-Power CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }|
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-TimeslotISCP-LCR-InfoList-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional },
- -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION READY
---
--- **************************************************************
-
-RadioLinkReconfigurationReady ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationReady-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationReady-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationReady-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-RL-InformationResponseList-RL-ReconfReady CRITICALITY ignore TYPE RL-InformationResponseList-RL-ReconfReady PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkReconfigurationReady-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TargetCommunicationControlPortID CRITICALITY ignore EXTENSION CommunicationControlPortID PRESENCE optional }|
- { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
- -- FDD only
- { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional },
- -- TDD only
- ...
-}
-
-RL-InformationResponseList-RL-ReconfReady ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationResponseItemIE-RL-ReconfReady}}
-
-RL-InformationResponseItemIE-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationResponseItem-RL-ReconfReady CRITICALITY ignore TYPE RL-InformationResponseItem-RL-ReconfReady PRESENCE mandatory }
-}
-
-RL-InformationResponseItem-RL-ReconfReady ::= SEQUENCE {
- rL-ID RL-ID,
- dCH-InformationResponseList-RL-ReconfReady DCH-InformationResponseList-RL-ReconfReady OPTIONAL,
- dSCH-InformationResponseList-RL-ReconfReady DSCH-InformationResponseList-RL-ReconfReady OPTIONAL,
- uSCH-InformationResponseList-RL-ReconfReady USCH-InformationResponseList-RL-ReconfReady OPTIONAL, -- TDD only
- tFCI2-BearerInformationResponse TFCI2-BearerInformationResponse OPTIONAL,
- -- FDD only. There shall be only one TFCI2 bearer per Node B Communication Context.
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-ReconfReady-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseItem-RL-ReconfReady-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-UpdatedIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-UpdatedIndicator PRESENCE optional},
- ...
-}
-
-DCH-InformationResponseList-RL-ReconfReady::= ProtocolIE-Single-Container {{ DCH-InformationResponseListIEs-RL-ReconfReady }}
-
-DCH-InformationResponseListIEs-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
- { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory }
-}
-
-DSCH-InformationResponseList-RL-ReconfReady::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-ReconfReady }}
-
-DSCH-InformationResponseListIEs-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
-}
-
-USCH-InformationResponseList-RL-ReconfReady::= ProtocolIE-Single-Container {{ USCH-InformationResponseListIEs-RL-ReconfReady }}
-
-USCH-InformationResponseListIEs-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
- { ID id-USCH-InformationResponse CRITICALITY ignore TYPE USCH-InformationResponse PRESENCE mandatory }
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION FAILURE
---
--- **************************************************************
-
-RadioLinkReconfigurationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-CauseLevel-RL-ReconfFailure CRITICALITY ignore TYPE CauseLevel-RL-ReconfFailure PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-RL-ReconfFailure ::= CHOICE {
- generalCause GeneralCauseList-RL-ReconfFailure,
- rLSpecificCause RLSpecificCauseList-RL-ReconfFailure,
- ...
-}
-
-GeneralCauseList-RL-ReconfFailure ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
- ...
- }
-
-GeneralCauseItem-RL-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RLSpecificCauseList-RL-ReconfFailure ::= SEQUENCE {
- rL-ReconfigurationFailureList-RL-ReconfFailure RL-ReconfigurationFailureList-RL-ReconfFailure OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
- ...
- }
-
-RLSpecificCauseItem-RL-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-ReconfigurationFailureList-RL-ReconfFailure ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-ReconfigurationFailureItemIE-RL-ReconfFailure}}
-
-RL-ReconfigurationFailureItemIE-RL-ReconfFailure NBAP-PROTOCOL-IES ::= {
- { ID id-RL-ReconfigurationFailureItem-RL-ReconfFailure CRITICALITY ignore TYPE RL-ReconfigurationFailureItem-RL-ReconfFailure PRESENCE mandatory}
-}
-
-RL-ReconfigurationFailureItem-RL-ReconfFailure ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RL-ReconfigurationFailureItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
- ...
- }
-
-RL-ReconfigurationFailureItem-RL-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION COMMIT
---
--- **************************************************************
-
-RadioLinkReconfigurationCommit ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationCommit-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationCommit-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationCommit-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-CFN CRITICALITY ignore TYPE CFN PRESENCE mandatory }|
- { ID id-Active-Pattern-Sequence-Information CRITICALITY ignore TYPE Active-Pattern-Sequence-Information PRESENCE optional },
- -- FDD only
- ...
-}
-
-RadioLinkReconfigurationCommit-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION CANCEL
---
--- **************************************************************
-
-RadioLinkReconfigurationCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationCancel-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationCancel-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationCancel-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory },
- ...
-}
-
-RadioLinkReconfigurationCancel-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION REQUEST FDD
---
--- **************************************************************
-
-RadioLinkReconfigurationRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-DPCH-Information-RL-ReconfRqstFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-ReconfRqstFDD PRESENCE optional }|
- { ID id-DL-DPCH-Information-RL-ReconfRqstFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-ReconfRqstFDD PRESENCE optional }|
- { ID id-FDD-DCHs-to-Modify CRITICALITY reject TYPE FDD-DCHs-to-Modify PRESENCE optional }|
- { ID id-DCHs-to-Add-FDD CRITICALITY reject TYPE DCH-FDD-Information PRESENCE optional }|
- { ID id-DCH-DeleteList-RL-ReconfRqstFDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfRqstFDD PRESENCE optional }|
- { ID id-RL-InformationList-RL-ReconfRqstFDD CRITICALITY reject TYPE RL-InformationList-RL-ReconfRqstFDD PRESENCE optional }|
- { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional },
- ...
-}
-
-RadioLinkReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
- { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional }|
- { ID id-HSDSCH-Information-to-Modify-Unsynchronised CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify-Unsynchronised PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-PDSCH RL ID IE is present.
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional },
- ...
-}
-
-
-UL-DPCH-Information-RL-ReconfRqstFDD ::= SEQUENCE {
- ul-TFCS TFCS OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-Information-RL-ReconfRqstFDD ::= SEQUENCE {
- dl-TFCS TFCS OPTIONAL,
- tFCI-SignallingMode TFCI-SignallingMode OPTIONAL,
- limitedPowerIncrease LimitedPowerIncrease OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-DL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-DeleteList-RL-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfRqstFDD
-
-DCH-DeleteItem-RL-ReconfRqstFDD ::= SEQUENCE {
- dCH-ID DCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-
-}
-
-DCH-DeleteItem-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-RL-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-ReconfRqstFDD}}
-
-RL-InformationItemIE-RL-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-ReconfRqstFDD CRITICALITY reject TYPE RL-InformationItem-RL-ReconfRqstFDD PRESENCE mandatory}
-}
-
-RL-InformationItem-RL-ReconfRqstFDD ::= SEQUENCE {
- rL-ID RL-ID,
- maxDL-Power DL-Power OPTIONAL,
- minDL-Power DL-Power OPTIONAL,
- dl-CodeInformation FDD-DL-CodeInformation OPTIONAL,
--- The IE shall be present if the Transmission Gap Pattern Sequence Information IE is included and the indicated Downlink Compressed Mode method for at least one of the included Transmission Gap Pattern Sequence is set to "SF/2".
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION REQUEST TDD
---
--- **************************************************************
-
-RadioLinkReconfigurationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD PRESENCE optional } |
- { ID id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD PRESENCE optional } |
- { ID id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD PRESENCE optional } |
- { ID id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD PRESENCE optional } |
- { ID id-TDD-DCHs-to-Modify CRITICALITY reject TYPE TDD-DCHs-to-Modify PRESENCE optional }|
- { ID id-DCHs-to-Add-TDD CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional }|
- { ID id-DCH-DeleteList-RL-ReconfRqstTDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfRqstTDD PRESENCE optional }|
- { ID id-RL-Information-RL-ReconfRqstTDD CRITICALITY reject TYPE RL-Information-RL-ReconfRqstTDD PRESENCE optional },
--- This RL-Information-RL-ReconfRqstTDD is the first RL information repetition in the RL-Information List. Repetition 2 and on, should be defined in Multiple-RL-Information-RL-ReconfRqstTDD,
- ...
-}
-
-RadioLinkReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
- { ID id-RL-Information-RL-ReconfRqstTDD CRITICALITY reject EXTENSION Multiple-RL-Information-RL-ReconfRqstTDD PRESENCE optional }|
---Includes the 2nd through the max number of radio link information repetitions.
- { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional }|
- { ID id-HSDSCH-Information-to-Modify-Unsynchronised CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify-Unsynchronised PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-PDSCH RL ID IE is present.
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional },
- ...
-}
-
-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ UL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD}}
-
-UL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD PRESENCE mandatory}
-}
-
-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS OPTIONAL,
- punctureLimit PunctureLimit OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
-{ ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional },
- -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ UL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD}}
-
-UL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD PRESENCE mandatory}
-}
-
-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ DL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD}}
-
-DL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD PRESENCE mandatory}
-}
-
-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS OPTIONAL,
- punctureLimit PunctureLimit OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD CRITICALITY ignore EXTENSION DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
- ...
-}
-
-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD ::= SEQUENCE {
- dL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD
-
-DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- maxPowerLCR DL-Power OPTIONAL,
- minPowerLCR DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ DL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD}}
-
-DL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD PRESENCE mandatory}
-}
-
-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-DeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfRqstTDD
-
-DCH-DeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
- dCH-ID DCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-DeleteItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Multiple-RL-Information-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF RL-Information-RL-ReconfRqstTDD
---Includes the 2nd through the max number of radio link information repetitions.
-
-RL-Information-RL-ReconfRqstTDD ::= SEQUENCE {
- rL-ID RL-ID,
- maxDL-Power DL-Power OPTIONAL,
- minDL-Power DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }, -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION RESPONSE
---
--- **************************************************************
-
-RadioLinkReconfigurationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-RL-InformationResponseList-RL-ReconfRsp CRITICALITY ignore TYPE RL-InformationResponseList-RL-ReconfRsp PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TargetCommunicationControlPortID CRITICALITY ignore EXTENSION CommunicationControlPortID PRESENCE optional }|
- { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
- -- FDD only
- { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional },
- -- TDD only
- ...
-}
-
-RL-InformationResponseList-RL-ReconfRsp ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{RL-InformationResponseItemIE-RL-ReconfRsp}}
-
-RL-InformationResponseItemIE-RL-ReconfRsp NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationResponseItem-RL-ReconfRsp CRITICALITY ignore TYPE RL-InformationResponseItem-RL-ReconfRsp PRESENCE mandatory}
-}
-
-RL-InformationResponseItem-RL-ReconfRsp ::= SEQUENCE {
- rL-ID RL-ID,
- dCH-InformationResponseList-RL-ReconfRsp DCH-InformationResponseList-RL-ReconfRsp OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-ReconfRsp-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseItem-RL-ReconfRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-UpdatedIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-UpdatedIndicator PRESENCE optional },
- -- FDD only
- ...
-}
-
-DCH-InformationResponseList-RL-ReconfRsp::= ProtocolIE-Single-Container {{ DCH-InformationResponseListIEs-RL-ReconfRsp }}
-
-DCH-InformationResponseListIEs-RL-ReconfRsp NBAP-PROTOCOL-IES ::= {
- { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory }
-}
-
--- **************************************************************
---
--- RADIO LINK DELETION REQUEST
---
--- **************************************************************
-
-RadioLinkDeletionRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkDeletionRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkDeletionRequest-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkDeletionRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-CRNC-CommunicationContextID CRITICALITY reject TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-RL-informationList-RL-DeletionRqst CRITICALITY notify TYPE RL-informationList-RL-DeletionRqst PRESENCE mandatory },
- ...
-}
-
-RadioLinkDeletionRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-informationList-RL-DeletionRqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{RL-informationItemIE-RL-DeletionRqst}}
-
-RL-informationItemIE-RL-DeletionRqst NBAP-PROTOCOL-IES ::= {
- { ID id-RL-informationItem-RL-DeletionRqst CRITICALITY notify TYPE RL-informationItem-RL-DeletionRqst PRESENCE mandatory}
-}
-
-RL-informationItem-RL-DeletionRqst ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { RL-informationItem-RL-DeletionRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-RL-informationItem-RL-DeletionRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK DELETION RESPONSE
---
--- **************************************************************
-
-RadioLinkDeletionResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkDeletionResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkDeletionResponse-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkDeletionResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkDeletionResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- DL POWER CONTROL REQUEST FDD
---
--- **************************************************************
-
-DL-PowerControlRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DL-PowerControlRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DL-PowerControlRequest-Extensions}} OPTIONAL,
- ...
-}
-
-DL-PowerControlRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-PowerAdjustmentType CRITICALITY ignore TYPE PowerAdjustmentType PRESENCE mandatory} |
- { ID id-DLReferencePower CRITICALITY ignore TYPE DL-Power PRESENCE conditional} |
- -- This IE shall be present if the Adjustment Type IE is set to 'Common'
- { ID id-InnerLoopDLPCStatus CRITICALITY ignore TYPE InnerLoopDLPCStatus PRESENCE optional } |
- { ID id-DLReferencePowerList-DL-PC-Rqst CRITICALITY ignore TYPE DL-ReferencePowerInformationList-DL-PC-Rqst PRESENCE conditional } |
- -- This IE shall be present if the Adjustment Type IE is set to 'Individual'
- { ID id-MaxAdjustmentStep CRITICALITY ignore TYPE MaxAdjustmentStep PRESENCE conditional} |
- -- This IE shall be present if the Adjustment Type IE is set to 'Common' or 'Individual'
- { ID id-AdjustmentPeriod CRITICALITY ignore TYPE AdjustmentPeriod PRESENCE conditional }|
- -- This IE shall be present if the Adjustment Type IE is set to 'Common' or 'Individual'
- { ID id-AdjustmentRatio CRITICALITY ignore TYPE ScaledAdjustmentRatio PRESENCE conditional },
- -- This IE shall be present if the Adjustment Type IE is set to 'Common' or 'Individual'
- ...
-}
-
-DL-PowerControlRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-ReferencePowerInformationList-DL-PC-Rqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{DL-ReferencePowerInformationItemIE-DL-PC-Rqst }}
-
-DL-ReferencePowerInformationItemIE-DL-PC-Rqst NBAP-PROTOCOL-IES ::= {
- { ID id-DL-ReferencePowerInformationItem-DL-PC-Rqst CRITICALITY ignore TYPE DL-ReferencePowerInformationItem-DL-PC-Rqst PRESENCE mandatory
-}
-}
-
-DL-ReferencePowerInformationItem-DL-PC-Rqst ::= SEQUENCE {
- rL-ID RL-ID,
- dl-ReferencePower DL-Power,
- iE-Extensions ProtocolExtensionContainer { { DL-ReferencePowerInformationItem-DL-PC-Rqst-ExtIEs } } OPTIONAL,
- ...
-}
-
-DL-ReferencePowerInformationItem-DL-PC-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DL POWER TIMESLOT CONTROL REQUEST TDD
---
--- **************************************************************
-
-DL-PowerTimeslotControlRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DL-PowerTimeslotControlRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DL-PowerTimeslotControlRequest-Extensions}} OPTIONAL,
- ...
-}
-
-DL-PowerTimeslotControlRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-TimeslotISCPInfo CRITICALITY ignore TYPE DL-TimeslotISCPInfo PRESENCE optional },
- -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
-
- ...
-}
-
-DL-PowerTimeslotControlRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeslotISCPInfoList-LCR-DL-PC-RqstTDD CRITICALITY ignore EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional }|
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-PrimCCPCH-RSCP-DL-PC-RqstTDD CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP PRESENCE optional }|
- { ID id-PrimaryCCPCH-RSCP-Delta CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP-Delta PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT INITIATION REQUEST
---
--- **************************************************************
-
-DedicatedMeasurementInitiationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementInitiationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY reject TYPE MeasurementID PRESENCE mandatory } |
- { ID id-DedicatedMeasurementObjectType-DM-Rqst CRITICALITY reject TYPE DedicatedMeasurementObjectType-DM-Rqst PRESENCE mandatory } |
- { ID id-DedicatedMeasurementType CRITICALITY reject TYPE DedicatedMeasurementType PRESENCE mandatory } |
- { ID id-MeasurementFilterCoefficient CRITICALITY reject TYPE MeasurementFilterCoefficient PRESENCE optional } |
- { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory } |
- { ID id-CFNReportingIndicator CRITICALITY reject TYPE FNReportingIndicator PRESENCE mandatory } |
- { ID id-CFN CRITICALITY reject TYPE CFN PRESENCE optional } ,
- ...
-}
-
-DedicatedMeasurementInitiationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-NumberOfReportedCellPortions CRITICALITY reject EXTENSION NumberOfReportedCellPortions PRESENCE conditional },
- -- The IE shall be present if the Dedicated Measurement Type IE is set to "Best Cell Portions", FDD only.
- ...
-}
-
-DedicatedMeasurementObjectType-DM-Rqst ::= CHOICE {
- rL RL-DM-Rqst,
- rLS RL-Set-DM-Rqst, -- for FDD only
- all-RL AllRL-DM-Rqst,
- all-RLS AllRL-Set-DM-Rqst, -- for FDD only
- ...
-}
-
-RL-DM-Rqst ::= SEQUENCE {
- rL-InformationList RL-InformationList-DM-Rqst,
- iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rqst-ExtIEs } } OPTIONAL,
- ...
-}
-
-RLItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-DM-Rqst }}
-
-RL-InformationItemIE-DM-Rqst NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-DM-Rqst CRITICALITY reject TYPE RL-InformationItem-DM-Rqst PRESENCE mandatory }
-}
-
-RL-InformationItem-DM-Rqst ::= SEQUENCE {
- rL-ID RL-ID,
- dPCH-ID DPCH-ID OPTIONAL, -- for TDD only
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-DM-Rqst-ExtIEs } } OPTIONAL,
- ...
- }
-
-RL-InformationItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-PUSCH-Info-DM-Rqst CRITICALITY reject EXTENSION PUSCH-Info-DM-Rqst PRESENCE optional}|
- -- TDD only
- { ID id-HSSICH-Info-DM-Rqst CRITICALITY reject EXTENSION HSSICH-Info-DM-Rqst PRESENCE optional},
- -- TDD only
- ...
-}
-
-PUSCH-Info-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF PUSCH-ID
-
-HSSICH-Info-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfHSSICHs)) OF HS-SICH-ID
-
-RL-Set-DM-Rqst ::= SEQUENCE {
- rL-Set-InformationList-DM-Rqst RL-Set-InformationList-DM-Rqst,
- iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rqst-ExtIEs } } OPTIONAL,
- ...
-}
-
-RL-SetItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-InformationList-DM-Rqst ::= SEQUENCE (SIZE(1..maxNrOfRLSets)) OF RL-Set-InformationItem-DM-Rqst
-
-RL-Set-InformationItem-DM-Rqst ::= SEQUENCE {
- rL-Set-ID RL-Set-ID,
- iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-DM-Rqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Set-InformationItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AllRL-DM-Rqst ::= NULL
-
-
-AllRL-Set-DM-Rqst ::= NULL
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT INITIATION RESPONSE
---
--- **************************************************************
-
-DedicatedMeasurementInitiationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementInitiationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
- { ID id-DedicatedMeasurementObjectType-DM-Rsp CRITICALITY ignore TYPE DedicatedMeasurementObjectType-DM-Rsp PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-DedicatedMeasurementInitiationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DedicatedMeasurementObjectType-DM-Rsp ::= CHOICE {
- rL RL-DM-Rsp,
- rLS RL-Set-DM-Rsp, -- for FDD only
- all-RL RL-DM-Rsp,
- all-RLS RL-Set-DM-Rsp, -- for FDD only
- ...
-}
-
-RL-DM-Rsp ::= SEQUENCE {
- rL-InformationList-DM-Rsp RL-InformationList-DM-Rsp,
- iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rsp-ExtIEs } } OPTIONAL,
- ...
-}
-
-RLItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-DM-Rsp }}
-
-RL-InformationItemIE-DM-Rsp NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-DM-Rsp CRITICALITY ignore TYPE RL-InformationItem-DM-Rsp PRESENCE mandatory }
-}
-
-RL-InformationItem-DM-Rsp ::= SEQUENCE {
- rL-ID RL-ID,
- dPCH-ID DPCH-ID OPTIONAL, -- for TDD only
- dedicatedMeasurementValue DedicatedMeasurementValue,
- cFN CFN OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-DM-Rsp-ExtIEs } } OPTIONAL,
- ...
-}
-
-RL-InformationItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-PUSCH-Info-DM-Rsp CRITICALITY reject EXTENSION PUSCH-Info-DM-Rsp PRESENCE optional}|
- -- TDD only
- {ID id-HSSICH-Info-DM-Rsp CRITICALITY reject EXTENSION HS-SICH-ID PRESENCE optional},
- -- TDD only
- ...
-}
-
-PUSCH-Info-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF PUSCH-ID
-
-RL-Set-DM-Rsp ::= SEQUENCE {
- rL-Set-InformationList-DM-Rsp RL-Set-InformationList-DM-Rsp,
- iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rsp-ExtIEs } } OPTIONAL,
- ...
-}
-
-RL-SetItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-InformationList-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-DM-Rsp }}
-
-RL-Set-InformationItemIE-DM-Rsp NBAP-PROTOCOL-IES ::= {
- { ID id-RL-Set-InformationItem-DM-Rsp CRITICALITY ignore TYPE RL-Set-InformationItem-DM-Rsp PRESENCE mandatory}
-}
-
-RL-Set-InformationItem-DM-Rsp ::= SEQUENCE {
- rL-Set-ID RL-Set-ID,
- dedicatedMeasurementValue DedicatedMeasurementValue,
- cFN CFN OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-DM-Rsp-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Set-InformationItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT INITIATION FAILURE
---
--- **************************************************************
-
-DedicatedMeasurementInitiationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementInitiationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-DedicatedMeasurementInitiationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT REPORT
---
--- **************************************************************
-
-DedicatedMeasurementReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementReport-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementReport-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementReport-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
- { ID id-DedicatedMeasurementObjectType-DM-Rprt CRITICALITY ignore TYPE DedicatedMeasurementObjectType-DM-Rprt PRESENCE mandatory } ,
- ...
-}
-
-DedicatedMeasurementReport-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DedicatedMeasurementObjectType-DM-Rprt ::= CHOICE {
- rL RL-DM-Rprt,
- rLS RL-Set-DM-Rprt, -- for FDD only
- all-RL RL-DM-Rprt,
- all-RLS RL-Set-DM-Rprt, -- for FDD only
- ...
-}
-
-RL-DM-Rprt ::= SEQUENCE {
- rL-InformationList-DM-Rprt RL-InformationList-DM-Rprt,
- iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rprt-ExtIEs } } OPTIONAL,
- ...
-}
-
-RLItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-DM-Rprt ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-DM-Rprt }}
-
-RL-InformationItemIE-DM-Rprt NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-DM-Rprt CRITICALITY ignore TYPE RL-InformationItem-DM-Rprt PRESENCE mandatory }
-}
-
-RL-InformationItem-DM-Rprt ::= SEQUENCE {
- rL-ID RL-ID,
- dPCH-ID DPCH-ID OPTIONAL, -- for TDD only
- dedicatedMeasurementValueInformation DedicatedMeasurementValueInformation,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-DM-Rprt-ExtIEs } } OPTIONAL,
- ...
-}
-
-RL-InformationItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-PUSCH-Info-DM-Rprt CRITICALITY reject EXTENSION PUSCH-Info-DM-Rprt PRESENCE optional}|
- -- TDD only
- {ID id-HSSICH-Info-DM-Rprt CRITICALITY reject EXTENSION HS-SICH-ID PRESENCE optional},
- -- TDD only
- ...
-}
-
-PUSCH-Info-DM-Rprt ::= SEQUENCE (SIZE (0..maxNrOfPUSCHs)) OF PUSCH-ID
-
-RL-Set-DM-Rprt ::= SEQUENCE {
- rL-Set-InformationList-DM-Rprt RL-Set-InformationList-DM-Rprt,
- iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rprt-ExtIEs } } OPTIONAL,
- ...
-}
-
-RL-SetItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-InformationList-DM-Rprt ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-DM-Rprt }}
-
-RL-Set-InformationItemIE-DM-Rprt NBAP-PROTOCOL-IES ::= {
- { ID id-RL-Set-InformationItem-DM-Rprt CRITICALITY ignore TYPE RL-Set-InformationItem-DM-Rprt PRESENCE mandatory }
-}
-
-RL-Set-InformationItem-DM-Rprt ::= SEQUENCE {
- rL-Set-ID RL-Set-ID,
- dedicatedMeasurementValueInformation DedicatedMeasurementValueInformation,
- iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-DM-Rprt-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Set-InformationItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT TERMINATION REQUEST
---
--- **************************************************************
-
-DedicatedMeasurementTerminationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementTerminationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementTerminationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementTerminationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory },
- ...
-}
-
-DedicatedMeasurementTerminationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT FAILURE INDICATION
---
--- **************************************************************
-
-DedicatedMeasurementFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementFailureIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementFailureIndication-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-DedicatedMeasurementFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK FAILURE INDICATION
---
--- **************************************************************
-
-RadioLinkFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkFailureIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkFailureIndication-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-Reporting-Object-RL-FailureInd CRITICALITY ignore TYPE Reporting-Object-RL-FailureInd PRESENCE mandatory } ,
- ...
-}
-
-RadioLinkFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Reporting-Object-RL-FailureInd ::= CHOICE {
- rL RL-RL-FailureInd,
- rL-Set RL-Set-RL-FailureInd, --FDD only
- ...,
- cCTrCH CCTrCH-RL-FailureInd --TDD only
-}
-
-RL-RL-FailureInd ::= SEQUENCE {
- rL-InformationList-RL-FailureInd RL-InformationList-RL-FailureInd,
- iE-Extensions ProtocolExtensionContainer { { RLItem-RL-FailureInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RLItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-FailureInd}}
-
-RL-InformationItemIE-RL-FailureInd NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-FailureInd CRITICALITY ignore TYPE RL-InformationItem-RL-FailureInd PRESENCE mandatory}
- }
-
-RL-InformationItem-RL-FailureInd ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-FailureInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RL-InformationItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-RL-FailureInd ::= SEQUENCE {
- rL-Set-InformationList-RL-FailureInd RL-Set-InformationList-RL-FailureInd,
- iE-Extensions ProtocolExtensionContainer { { RL-SetItem-RL-FailureInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RL-SetItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-RL-FailureInd }}
-
-RL-Set-InformationItemIE-RL-FailureInd NBAP-PROTOCOL-IES ::= {
- { ID id-RL-Set-InformationItem-RL-FailureInd CRITICALITY ignore TYPE RL-Set-InformationItem-RL-FailureInd PRESENCE mandatory }
-}
-
-RL-Set-InformationItem-RL-FailureInd ::= SEQUENCE {
- rL-Set-ID RL-Set-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-RL-FailureInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Set-InformationItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-RL-FailureInd ::= SEQUENCE {
- rL-ID RL-ID,
- cCTrCH-InformationList-RL-FailureInd CCTrCH-InformationList-RL-FailureInd,
- iE-Extensions ProtocolExtensionContainer { { CCTrCHItem-RL-FailureInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-CCTrCHItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ CCTrCH-InformationItemIE-RL-FailureInd}}
-
-CCTrCH-InformationItemIE-RL-FailureInd NBAP-PROTOCOL-IES ::= {
- { ID id-CCTrCH-InformationItem-RL-FailureInd CRITICALITY ignore TYPE CCTrCH-InformationItem-RL-FailureInd PRESENCE mandatory}
- }
-
-CCTrCH-InformationItem-RL-FailureInd ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { CCTrCH-InformationItem-RL-FailureInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-CCTrCH-InformationItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK PREEMPTION REQUIRED INDICATION
---
--- **************************************************************
-
-RadioLinkPreemptionRequiredIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkPreemptionRequiredIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkPreemptionRequiredIndication-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkPreemptionRequiredIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-RL-InformationList-RL-PreemptRequiredInd CRITICALITY ignore TYPE RL-InformationList-RL-PreemptRequiredInd PRESENCE optional },
- ...
-}
-
-RadioLinkPreemptionRequiredIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-RL-PreemptRequiredInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-InformationItemIE-RL-PreemptRequiredInd}}
-
-RL-InformationItemIE-RL-PreemptRequiredInd NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-PreemptRequiredInd CRITICALITY ignore TYPE RL-InformationItem-RL-PreemptRequiredInd PRESENCE mandatory },
- ...
-}
-
-RL-InformationItem-RL-PreemptRequiredInd::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { {RL-InformationItem-RL-PreemptRequiredInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-PreemptRequiredInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RESTORE INDICATION
---
--- **************************************************************
-
-RadioLinkRestoreIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkRestoreIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkRestoreIndication-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkRestoreIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-Reporting-Object-RL-RestoreInd CRITICALITY ignore TYPE Reporting-Object-RL-RestoreInd PRESENCE mandatory },
- ...
-}
-
-RadioLinkRestoreIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Reporting-Object-RL-RestoreInd ::= CHOICE {
- rL RL-RL-RestoreInd, --TDD only
- rL-Set RL-Set-RL-RestoreInd, --FDD only
- ...,
- cCTrCH CCTrCH-RL-RestoreInd --TDD only
-}
-
-RL-RL-RestoreInd ::= SEQUENCE {
- rL-InformationList-RL-RestoreInd RL-InformationList-RL-RestoreInd,
- iE-Extensions ProtocolExtensionContainer { { RLItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RLItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{RL-InformationItemIE-RL-RestoreInd}}
-
-RL-InformationItemIE-RL-RestoreInd NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-RestoreInd CRITICALITY ignore TYPE RL-InformationItem-RL-RestoreInd PRESENCE mandatory}
- }
-
-RL-InformationItem-RL-RestoreInd ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RL-InformationItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-RL-RestoreInd ::= SEQUENCE {
- rL-Set-InformationList-RL-RestoreInd RL-Set-InformationList-RL-RestoreInd,
- iE-Extensions ProtocolExtensionContainer { { RL-SetItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RL-SetItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-RL-RestoreInd }}
-
-RL-Set-InformationItemIE-RL-RestoreInd NBAP-PROTOCOL-IES ::= {
- { ID id-RL-Set-InformationItem-RL-RestoreInd CRITICALITY ignore TYPE RL-Set-InformationItem-RL-RestoreInd PRESENCE mandatory }
- }
-
-RL-Set-InformationItem-RL-RestoreInd ::= SEQUENCE {
- rL-Set-ID RL-Set-ID,
- iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-RL-RestoreInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Set-InformationItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-RL-RestoreInd ::= SEQUENCE {
- rL-ID RL-ID,
- cCTrCH-InformationList-RL-RestoreInd CCTrCH-InformationList-RL-RestoreInd,
- iE-Extensions ProtocolExtensionContainer { { CCTrCHItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-CCTrCHItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ CCTrCH-InformationItemIE-RL-RestoreInd}}
-
-CCTrCH-InformationItemIE-RL-RestoreInd NBAP-PROTOCOL-IES ::= {
- { ID id-CCTrCH-InformationItem-RL-RestoreInd CRITICALITY ignore TYPE CCTrCH-InformationItem-RL-RestoreInd PRESENCE mandatory }
- }
-
-CCTrCH-InformationItem-RL-RestoreInd ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { CCTrCH-InformationItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-CCTrCH-InformationItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMPRESSED MODE COMMAND FDD
---
--- **************************************************************
-
-CompressedModeCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CompressedModeCommand-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CompressedModeCommand-Extensions}} OPTIONAL,
- ...
-}
-
-CompressedModeCommand-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-Active-Pattern-Sequence-Information CRITICALITY ignore TYPE Active-Pattern-Sequence-Information PRESENCE mandatory },
- ...
-}
-
-CompressedModeCommand-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- ERROR INDICATION
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{ErrorIndication-Extensions}} OPTIONAL,
- ...
-}
-
-ErrorIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE optional } |
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-ErrorIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
- ...
-}
-
-PrivateMessage-IEs NBAP-PRIVATE-IES ::= {
- ...
-}
-
--- **************************************************************
---
--- PHYSICAL SHARED CHANNEL RECONFIGURATION REQUEST FDD
---
--- **************************************************************
-
-PhysicalSharedChannelReconfigurationRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-PhysicalSharedChannelReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-SFN CRITICALITY reject TYPE SFN PRESENCE optional }|
- { ID id-HS-PDSCH-HS-SCCH-MaxPower-PSCH-ReconfRqst CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE optional }|
- { ID id-HS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst CRITICALITY reject TYPE DL-ScramblingCode PRESENCE optional }|
- { ID id-HS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst CRITICALITY reject TYPE HS-PDSCH-FDD-Code-Information PRESENCE optional }|
- { ID id-HS-SCCH-FDD-Code-Information-PSCH-ReconfRqst CRITICALITY reject TYPE HS-SCCH-FDD-Code-Information PRESENCE optional },
- ...
-}
-
-PhysicalSharedChannelReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PHYSICAL SHARED CHANNEL RECONFIGURATION REQUEST TDD
---
--- **************************************************************
-
-PhysicalSharedChannelReconfigurationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-PhysicalSharedChannelReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-SFN CRITICALITY reject TYPE SFN PRESENCE optional }|
- { ID id-PDSCHSets-AddList-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCHSets-AddList-PSCH-ReconfRqst PRESENCE optional }|
- { ID id-PDSCHSets-ModifyList-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCHSets-ModifyList-PSCH-ReconfRqst PRESENCE optional }|
- { ID id-PDSCHSets-DeleteList-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCHSets-DeleteList-PSCH-ReconfRqst PRESENCE optional }|
- { ID id-PUSCHSets-AddList-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCHSets-AddList-PSCH-ReconfRqst PRESENCE optional }|
- { ID id-PUSCHSets-ModifyList-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCHSets-ModifyList-PSCH-ReconfRqst PRESENCE optional }|
- { ID id-PUSCHSets-DeleteList-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCHSets-DeleteList-PSCH-ReconfRqst PRESENCE optional },
- ...
-}
-
-PhysicalSharedChannelReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-HS-PDSCH-TDD-Information-PSCH-ReconfRqst CRITICALITY reject EXTENSION HS-PDSCH-TDD-Information-PSCH-ReconfRqst PRESENCE optional } |
- { ID id-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
- { ID id-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
- { ID id-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
- { ID id-ConfigurationGenerationID CRITICALITY reject EXTENSION ConfigurationGenerationID PRESENCE optional },
- ...
-}
-
-PDSCHSets-AddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHSets)) OF PDSCHSets-AddItem-PSCH-ReconfRqst
-
-PDSCHSets-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCHSet-ID PDSCHSet-ID,
- pDSCH-InformationList PDSCH-Information-AddList-PSCH-ReconfRqst OPTIONAL, -- Mandatory for 3.84Mcps TDD. Not Applicable to 1.28Mcps TDD
- iE-Extensions ProtocolExtensionContainer { {PDSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-PDSCH-AddInformation-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst PRESENCE optional}, -- Mandatory for 1.28Mcps TDD. Not Applicable to 3.84Mcps TDD
- ...
-}
-
-PDSCH-Information-AddList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PDSCH-Information-AddListIEs-PSCH-ReconfRqst }}
--- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
-
-PDSCH-Information-AddListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
- {ID id-PDSCH-Information-AddListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCH-Information-AddItem-PSCH-ReconfRqst PRESENCE mandatory}
-}
-
-PDSCH-Information-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- dL-Timeslot-InformationAddList-PSCH-ReconfRqst DL-Timeslot-InformationAddList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PDSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PDSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-InformationAddItem-PSCH-ReconfRqst
-
-DL-Timeslot-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tFCI-Presence TFCI-Presence,
- dL-Code-InformationAddList-PSCH-ReconfRqst DL-Code-InformationAddList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Code-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-InformationAddItem-PSCH-ReconfRqst
-
-DL-Code-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCH-ID PDSCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- dL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst DL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSLCRs)) OF DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst
-
-DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tFCI-Presence TFCI-Presence,
- dL-Code-InformationAddList-LCR-PSCH-ReconfRqst DL-Code-InformationAddList-LCR-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Code-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst
-
-DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCH-ID PDSCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCHSets-ModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHSets)) OF PDSCHSets-ModifyItem-PSCH-ReconfRqst
-
-PDSCHSets-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCHSet-ID PDSCHSet-ID,
- pDSCH-InformationList PDSCH-Information-ModifyList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PDSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-Information-ModifyList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PDSCH-Information-ModifyListIEs-PSCH-ReconfRqst }}
-
-PDSCH-Information-ModifyListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
- {ID id-PDSCH-Information-ModifyListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCH-Information-ModifyItem-PSCH-ReconfRqst PRESENCE optional}|
- {ID id-PDSCH-ModifyInformation-LCR-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst PRESENCE optional}
-
-}
-
-PDSCH-Information-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
- dL-Timeslot-InformationModifyList-PSCH-ReconfRqst DL-Timeslot-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {PDSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PDSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst
-
-DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- dL-Code-InformationModifyList-PSCH-ReconfRqst DL-Code-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Code-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-InformationModifyItem-PSCH-ReconfRqst
-
-DL-Code-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCH-ID PDSCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
- dL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst DL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSLCRs)) OF DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst
-
-DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- dL-Code-LCR-InformationModifyList-PSCH-ReconfRqst DL-Code-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Code-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst
-
-DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCH-ID PDSCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCHSets-DeleteList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHSets)) OF PDSCHSets-DeleteItem-PSCH-ReconfRqst
-
-PDSCHSets-DeleteItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCHSet-ID PDSCHSet-ID,
- iE-Extensions ProtocolExtensionContainer { {PDSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCHSets-AddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHSets)) OF PUSCHSets-AddItem-PSCH-ReconfRqst
-
-PUSCHSets-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCHSet-ID PUSCHSet-ID,
- pUSCH-InformationList PUSCH-Information-AddList-PSCH-ReconfRqst OPTIONAL,
- -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- iE-Extensions ProtocolExtensionContainer { {PUSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PUSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-PUSCH-AddInformation-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst PRESENCE optional}, -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
-PUSCH-Information-AddList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PUSCH-Information-AddListIEs-PSCH-ReconfRqst }}
-
-PUSCH-Information-AddListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
- {ID id-PUSCH-Information-AddListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCH-Information-AddItem-PSCH-ReconfRqst PRESENCE mandatory}
-}
-
-PUSCH-Information-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- uL-Timeslot-InformationAddList-PSCH-ReconfRqst UL-Timeslot-InformationAddList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PUSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PUSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Timeslot-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationAddItem-PSCH-ReconfRqst
-
-UL-Timeslot-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tFCI-Presence TFCI-Presence,
- uL-Code-InformationAddList-PSCH-ReconfRqst UL-Code-InformationAddList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-InformationAddItem-PSCH-ReconfRqst
-
-UL-Code-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCH-ID PUSCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- uL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst UL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfULTSLCRs)) OF UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst
-
-UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tFCI-Presence TFCI-Presence,
- uL-Code-InformationAddList-LCR-PSCH-ReconfRqst UL-Code-InformationAddList-LCR-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst
-
-UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCH-ID PUSCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCHSets-ModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHSets)) OF PUSCHSets-ModifyItem-PSCH-ReconfRqst
-
-PUSCHSets-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCHSet-ID PUSCHSet-ID,
- pUSCH-InformationList PUSCH-Information-ModifyList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PUSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PUSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCH-Information-ModifyList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PUSCH-Information-ModifyListIEs-PSCH-ReconfRqst }}
-
-PUSCH-Information-ModifyListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
- {ID id-PUSCH-Information-ModifyListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCH-Information-ModifyItem-PSCH-ReconfRqst PRESENCE optional}|
- {ID id-PUSCH-ModifyInformation-LCR-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst PRESENCE optional}
-}
-
-PUSCH-Information-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
- uL-Timeslot-InformationModifyList-PSCH-ReconfRqst UL-Timeslot-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {PUSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PUSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Timeslot-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst
-
-UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- uL-Code-InformationModifyList-PSCH-ReconfRqst UL-Code-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-InformationModifyItem-PSCH-ReconfRqst
-
-UL-Code-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCH-ID PUSCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
- uL-Timeslot-InformationModifyList-LCR-PSCH-ReconfRqst UL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst
-
-UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- uL-Code-LCR-InformationModifyList-PSCH-ReconfRqst UL-Code-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst
-
-UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCH-ID PUSCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCHSets-DeleteList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHSets)) OF PUSCHSets-DeleteItem-PSCH-ReconfRqst
-
-PUSCHSets-DeleteItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCHSet-ID PUSCHSet-ID,
- iE-Extensions ProtocolExtensionContainer { {PUSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PUSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-PDSCH-TDD-Information-PSCH-ReconfRqst ::= SEQUENCE {
- dL-HS-PDSCH-Timeslot-Information-PSCH-ReconfRqst DL-HS-PDSCH-Timeslot-Information-PSCH-ReconfRqst OPTIONAL,
- dL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-PDSCH-TDD-Information-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-HS-PDSCH-TDD-Information-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-HS-PDSCH-Timeslot-Information-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst
-
-DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- dl-HS-PDSCH-Codelist-PSCH-ReconfRqst DL-HS-PDSCH-Codelist-PSCH-ReconfRqst,
- maxHSDSCH-HSSCCH-Power MaximumTransmissionPower OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-HS-PDSCH-Codelist-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfHSPDSCHs)) OF TDD-ChannelisationCode
-
-DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst
-
-DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst::= SEQUENCE {
- timeSlot TimeSlotLCR,
- midambleShiftAndBurstType MidambleShiftLCR,
- dl-HS-PDSCH-Codelist-LCR-PSCH-ReconfRqst DL-HS-PDSCH-Codelist-LCR-PSCH-ReconfRqst,
- maxHSDSCH-HSSCCH-Power MaximumTransmissionPower OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-HS-PDSCH-Codelist-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfHSPDSCHs)) OF TDD-ChannelisationCode
-
-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst::= SEQUENCE {
- hS-SCCH-Information-PSCH-ReconfRqst HS-SCCH-Information-PSCH-ReconfRqst OPTIONAL,
- hS-SCCH-Information-LCR-PSCH-ReconfRqst HS-SCCH-Information-LCR-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SCCH-Information-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationItem-PSCH-ReconfRqst
-
-HS-SCCH-InformationItem-PSCH-ReconfRqst ::= SEQUENCE {
- hS-SCCH-ID HS-SCCH-ID,
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- hS-SCCH-MaxPower DL-Power,
- hS-SICH-Information HS-SICH-Information-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SCCH-InformationItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-Information-PSCH-ReconfRqst ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { HS-SICH-Information-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SICH-Information-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SCCH-Information-LCR-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst
-
-HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- hS-SCCH-ID HS-SCCH-ID,
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- first-TDD-ChannelisationCode TDD-ChannelisationCode,
- second-TDD-ChannelisationCode TDD-ChannelisationCode,
- hS-SCCH-MaxPower DL-Power,
- hS-SICH-Information-LCR HS-SICH-Information-LCR-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-Information-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { HS-SICH-Information-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SICH-Information-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst::= SEQUENCE {
- hS-SCCH-InformationModify-PSCH-ReconfRqst HS-SCCH-InformationModify-PSCH-ReconfRqst OPTIONAL,
- hS-SCCH-InformationModify-LCR-PSCH-ReconfRqst HS-SCCH-InformationModify-LCR-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SCCH-InformationModify-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationModifyItem-PSCH-ReconfRqst
-
-HS-SCCH-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- hS-SCCH-ID HS-SCCH-ID,
- timeSlot TimeSlot OPTIONAL,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- hS-SCCH-MaxPower DL-Power OPTIONAL,
- hS-SICH-Information HS-SICH-InformationModify-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SCCH-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-InformationModify-PSCH-ReconfRqst ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeSlot TimeSlot OPTIONAL,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-SICH-InformationModify-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SICH-InformationModify-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SCCH-InformationModify-LCR-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst
-
-HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- hS-SCCH-ID HS-SCCH-ID,
- timeSlotLCR TimeSlotLCR OPTIONAL,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- first-TDD-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- second-TDD-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- hS-SCCH-MaxPower DL-Power OPTIONAL,
- hS-SICH-Information-LCR HS-SICH-InformationModify-LCR-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-InformationModify-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeSlotLCR TimeSlotLCR OPTIONAL,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-SICH-InformationModify-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SICH-InformationModify-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst
-
-Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst ::= SEQUENCE {
- hS-SCCH-ID HS-SCCH-ID,
- iE-Extensions ProtocolExtensionContainer { { Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PHYSICAL SHARED CHANNEL RECONFIGURATION RESPONSE
---
--- **************************************************************
-
-PhysicalSharedChannelReconfigurationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-PhysicalSharedChannelReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-PhysicalSharedChannelReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- PHYSICAL SHARED CHANNEL RECONFIGURATION FAILURE
---
--- **************************************************************
-
-PhysicalSharedChannelReconfigurationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-PhysicalSharedChannelReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CauseLevel-PSCH-ReconfFailure CRITICALITY ignore TYPE CauseLevel-PSCH-ReconfFailure PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-PhysicalSharedChannelReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-PSCH-ReconfFailure ::= CHOICE {
- generalCause GeneralCauseList-PSCH-ReconfFailure,
- setSpecificCause SetSpecificCauseList-PSCH-ReconfFailureTDD,
- ...
-}
-
-GeneralCauseList-PSCH-ReconfFailure ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-PSCH-ReconfFailure-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseItem-PSCH-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SetSpecificCauseList-PSCH-ReconfFailureTDD ::= SEQUENCE {
- unsuccessful-PDSCHSetList-PSCH-ReconfFailureTDD Unsuccessful-PDSCHSetList-PSCH-ReconfFailureTDD OPTIONAL,
- unsuccessful-PUSCHSetList-PSCH-ReconfFailureTDD Unsuccessful-PUSCHSetList-PSCH-ReconfFailureTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SetSpecificCauseItem-PSCH-ReconfFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SetSpecificCauseItem-PSCH-ReconfFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-PDSCHSetList-PSCH-ReconfFailureTDD ::= SEQUENCE (SIZE (0.. maxNrOfPDSCHSets)) OF ProtocolIE-Single-Container {{ Unsuccessful-PDSCHSetItemIE-PSCH-ReconfFailureTDD }}
-
-Unsuccessful-PDSCHSetItemIE-PSCH-ReconfFailureTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD CRITICALITY ignore TYPE Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD PRESENCE mandatory}
-}
-
-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD ::= SEQUENCE {
- pDSCHSet-ID PDSCHSet-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-PUSCHSetList-PSCH-ReconfFailureTDD ::= SEQUENCE (SIZE (0.. maxNrOfPUSCHSets)) OF ProtocolIE-Single-Container {{ Unsuccessful-PUSCHSetItemIE-PSCH-ReconfFailureTDD }}
-
-Unsuccessful-PUSCHSetItemIE-PSCH-ReconfFailureTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD CRITICALITY ignore TYPE Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD PRESENCE mandatory}
-}
-
-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD ::= SEQUENCE {
- pUSCHSet-ID PUSCHSet-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RESET REQUEST
---
--- **************************************************************
-
-ResetRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ResetRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{ResetRequest-Extensions}} OPTIONAL,
- ...
-}
-
-ResetRequest-IEs NBAP-PROTOCOL-IES ::= {
- {ID id-ResetIndicator CRITICALITY ignore TYPE ResetIndicator PRESENCE mandatory},
- ...
-}
-
-ResetRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetIndicator ::= CHOICE {
- communicationContext CommunicationContextList-Reset,
- communicationControlPort CommunicationControlPortList-Reset,
- nodeB NULL,
- ...
-}
-
-CommunicationContextList-Reset ::= SEQUENCE {
- communicationContextInfoList-Reset CommunicationContextInfoList-Reset,
- iE-Extensions ProtocolExtensionContainer { {CommunicationContextItem-Reset-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommunicationContextItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommunicationContextInfoList-Reset ::= SEQUENCE (SIZE (1.. maxCommunicationContext)) OF ProtocolIE-Single-Container {{ CommunicationContextInfoItemIE-Reset }}
-
-CommunicationContextInfoItemIE-Reset NBAP-PROTOCOL-IES ::= {
- {ID id-CommunicationContextInfoItem-Reset CRITICALITY reject TYPE CommunicationContextInfoItem-Reset PRESENCE mandatory}
-}
-
-CommunicationContextInfoItem-Reset ::= SEQUENCE {
- communicationContextType-Reset CommunicationContextType-Reset,
- iE-Extensions ProtocolExtensionContainer { { CommunicationContextInfoItem-Reset-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommunicationContextInfoItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommunicationContextType-Reset ::= CHOICE {
- cRNC-CommunicationContextID CRNC-CommunicationContextID,
- nodeB-CommunicationContextID NodeB-CommunicationContextID,
- ...
-}
-
-CommunicationControlPortList-Reset ::= SEQUENCE {
- communicationControlPortInfoList-Reset CommunicationControlPortInfoList-Reset,
- iE-Extensions ProtocolExtensionContainer { {CommunicationControlPortItem-Reset-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommunicationControlPortItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommunicationControlPortInfoList-Reset ::= SEQUENCE (SIZE (1.. maxCCPinNodeB)) OF ProtocolIE-Single-Container {{CommunicationControlPortInfoItemIE-Reset }}
-
-CommunicationControlPortInfoItemIE-Reset NBAP-PROTOCOL-IES ::= {
- {ID id-CommunicationControlPortInfoItem-Reset CRITICALITY reject TYPE CommunicationControlPortInfoItem-Reset PRESENCE mandatory}
-}
-
-CommunicationControlPortInfoItem-Reset ::= SEQUENCE {
- communicationControlPortID CommunicationControlPortID,
- iE-Extensions ProtocolExtensionContainer { {CommunicationControlPortInfoItem-Reset-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommunicationControlPortInfoItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RESET RESPONSE
---
--- **************************************************************
-
-ResetResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ResetResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{ResetResponse-Extensions}} OPTIONAL,
- ...
-}
-
-ResetResponse-IEs NBAP-PROTOCOL-IES ::= {
- {ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-ResetResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION EXCHANGE INITIATION REQUEST
---
--- **************************************************************
-
-InformationExchangeInitiationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationExchangeInitiationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-InformationExchangeInitiationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory }|
- { ID id-InformationExchangeObjectType-InfEx-Rqst CRITICALITY reject TYPE InformationExchangeObjectType-InfEx-Rqst PRESENCE mandatory }|
- { ID id-InformationType CRITICALITY reject TYPE InformationType PRESENCE mandatory }|
- { ID id-InformationReportCharacteristics CRITICALITY reject TYPE InformationReportCharacteristics PRESENCE mandatory},
- ...
-}
-
-InformationExchangeInitiationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-InformationExchangeObjectType-InfEx-Rqst ::= CHOICE {
- cell Cell-InfEx-Rqst,
- ...
-}
-
-Cell-InfEx-Rqst ::= SEQUENCE {
- c-ID C-ID,
- iE-Extensions ProtocolExtensionContainer { { CellItem-InfEx-Rqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellItem-InfEx-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION EXCHANGE INITIATION RESPONSE
---
--- **************************************************************
-
-InformationExchangeInitiationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationExchangeInitiationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-InformationExchangeInitiationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
- { ID id-InformationExchangeObjectType-InfEx-Rsp CRITICALITY ignore TYPE InformationExchangeObjectType-InfEx-Rsp PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-InformationExchangeInitiationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-InformationExchangeObjectType-InfEx-Rsp ::= CHOICE {
- cell Cell-InfEx-Rsp,
- ...
- }
-
-Cell-InfEx-Rsp ::= SEQUENCE {
- requestedDataValue RequestedDataValue,
- iE-Extensions ProtocolExtensionContainer { { CellItem-InfEx-Rsp-ExtIEs} } OPTIONAL,
- ...
- }
-
-CellItem-InfEx-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION EXCHANGE INITIATION FAILURE
---
--- **************************************************************
-
-InformationExchangeInitiationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationExchangeInitiationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-InformationExchangeInitiationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-InformationExchangeInitiationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION REPORT
---
--- **************************************************************
-
-InformationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationReport-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationReport-Extensions}} OPTIONAL,
- ...
-}
-
-InformationReport-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
- { ID id-InformationExchangeObjectType-InfEx-Rprt CRITICALITY ignore TYPE InformationExchangeObjectType-InfEx-Rprt PRESENCE mandatory },
- ...
-}
-
-InformationReport-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-InformationExchangeObjectType-InfEx-Rprt ::= CHOICE {
- cell Cell-Inf-Rprt,
- ...
- }
-
-Cell-Inf-Rprt ::= SEQUENCE {
- requestedDataValueInformation RequestedDataValueInformation,
- iE-Extensions ProtocolExtensionContainer {{ CellItem-Inf-Rprt-ExtIEs }} OPTIONAL,
- ...
-
- }
-
-CellItem-Inf-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION EXCHANGE TERMINATION REQUEST
---
--- **************************************************************
-
-InformationExchangeTerminationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationExchangeTerminationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationExchangeTerminationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-InformationExchangeTerminationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory},
- ...
-}
-
-InformationExchangeTerminationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION EXCHANGE FAILURE INDICATION
---
--- **************************************************************
-
-InformationExchangeFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationExchangeFailureIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationExchangeFailureIndication-Extensions}} OPTIONAL,
- ...
-}
-
-InformationExchangeFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-InformationExchangeFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION INITIATION REQUEST TDD
---
--- **************************************************************
-
-CellSynchronisationInitiationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationInitiationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationInitiationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationInitiationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-CellSynchronisationInitiationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-cellSyncBurstRepetitionPeriod CRITICALITY reject TYPE CellSyncBurstRepetitionPeriod PRESENCE mandatory }|
- { ID id-timeslotInfo-CellSyncInitiationRqstTDD CRITICALITY reject TYPE TimeslotInfo-CellSyncInitiationRqstTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD. Not Applicable to 1.28Mcps TDD.
- { ID id-CellSyncBurstTransInit-CellSyncInitiationRqstTDD CRITICALITY reject TYPE CellSyncBurstTransInit-CellSyncInitiationRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD only
- { ID id-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD CRITICALITY reject TYPE CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD PRESENCE optional }, -- Applicable to 3.84Mcps TDD only
- ...
-}
-
-CellSyncBurstTransInit-CellSyncInitiationRqstTDD::= SEQUENCE {
- cSBTransmissionID CSBTransmissionID,
- sfn SFN,
- cellSyncBurstCode CellSyncBurstCode,
- cellSyncBurstCodeShift CellSyncBurstCodeShift,
- initialDLTransPower DL-Power,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstTransInit-CellSyncInitiationRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-CellSyncBurstTransInit-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeslotInfo-CellSyncInitiationRqstTDD::= SEQUENCE (SIZE (1..15)) OF TimeSlot
-
-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD::= SEQUENCE {
- cSBMeasurementID CSBMeasurementID,
- cellSyncBurstCode CellSyncBurstCode,
- cellSyncBurstCodeShift CellSyncBurstCodeShift,
- synchronisationReportType SynchronisationReportType,
- sfn SFN OPTIONAL,
- synchronisationReportCharacteristics SynchronisationReportCharacteristics,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD::= SEQUENCE {
- cSBTransmissionID CSBTransmissionID,
- sfn SFN,
- uARFCN UARFCN,
- sYNCDlCodeId SYNCDlCodeId,
- dwPCH-Power DwPCH-Power,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD::= SEQUENCE {
- cSBMeasurementID CSBMeasurementID,
- sfn SFN OPTIONAL,
- uARFCN UARFCN,
- sYNCDlCodeId SYNCDlCodeId,
- synchronisationReportType SynchronisationReportType,
- synchronisationReportCharacteristics SynchronisationReportCharacteristics,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION INITIATION RESPONSE TDD
---
--- **************************************************************
-
-CellSynchronisationInitiationResponseTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationInitiationResponseTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationInitiationResponseTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationInitiationResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationInitiationResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION INITIATION FAILURE TDD
---
--- **************************************************************
-
-CellSynchronisationInitiationFailureTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationInitiationFailureTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationInitiationFailureTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationInitiationFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationInitiationFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION RECONFIGURATION REQUEST TDD
---
--- **************************************************************
-
-CellSynchronisationReconfigurationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationReconfigurationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReconfigurationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-NSubCyclesPerCyclePeriod-CellSyncReconfRqstTDD CRITICALITY reject EXTENSION NSubCyclesPerCyclePeriod PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-SYNCDlCodeIdMeasReconfigurationLCR-CellSyncReconfRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-CellSynchronisationReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-TimeSlot CRITICALITY reject TYPE TimeSlot PRESENCE mandatory }|
- -- Applicable to 3.84Mcps TDD only. For 1.28Mcps TDD, the CRNC should set this to 0 and the Node B shall ignore it.
- { ID id-NCyclesPerSFNperiod CRITICALITY reject TYPE NCyclesPerSFNperiod PRESENCE mandatory }|
- { ID id-NRepetitionsPerCyclePeriod CRITICALITY reject TYPE NRepetitionsPerCyclePeriod PRESENCE mandatory }|
- { ID id-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD CRITICALITY reject TYPE CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD only
- { ID id-CellSyncBurstMeasReconfiguration-CellSyncReconfRqstTDD CRITICALITY reject TYPE CellSyncBurstMeasInfo-CellSyncReconfRqstTDD PRESENCE optional }, -- Applicable to 3.84Mcps TDD only
- ...
-}
-
-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1.. maxNrOfCellSyncBursts)) OF CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD
-
-CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
- cSBTransmissionID CSBTransmissionID,
- syncFrameNumberToTransmit SyncFrameNumber,
- cellSyncBurstCode CellSyncBurstCode OPTIONAL,
- cellSyncBurstCodeShift CellSyncBurstCodeShift OPTIONAL,
- dlTransPower DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-CellSyncBurstMeasInfo-CellSyncReconfRqstTDD ::= SEQUENCE {
- cellSyncBurstMeasInfoList-CellSyncReconfRqstTDD CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD,
- synchronisationReportType SynchronisationReportTypeIE OPTIONAL,
- synchronisationReportCharacteristics SynchronisationReportCharacteristicsIE OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasInfo-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstMeasInfo-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD ::= ProtocolIE-Single-Container {{ CellSyncBurstMeasInfoListIEs-CellSyncReconfRqstTDD }}
-
-CellSyncBurstMeasInfoListIEs-CellSyncReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD CRITICALITY reject TYPE CellSyncBurstMeasInfoListIE-CellSyncReconfRqstTDD PRESENCE mandatory }
-}
-
-SynchronisationReportTypeIE ::= ProtocolIE-Single-Container {{ SynchronisationReportTypeIEs }}
-
-SynchronisationReportTypeIEs NBAP-PROTOCOL-IES ::= {
- { ID id-SynchronisationReportType CRITICALITY reject TYPE SynchronisationReportType PRESENCE mandatory }
-}
-
-SynchronisationReportCharacteristicsIE ::= ProtocolIE-Single-Container {{ SynchronisationReportCharacteristicsIEs }}
-
-SynchronisationReportCharacteristicsIEs NBAP-PROTOCOL-IES ::= {
- { ID id-SynchronisationReportCharacteristics CRITICALITY reject TYPE SynchronisationReportCharacteristics PRESENCE mandatory }
-}
-
-
-CellSyncBurstMeasInfoListIE-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1.. maxNrOfCellSyncBursts)) OF CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD
-
-CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
- syncFrameNrToReceive SyncFrameNumber,
- syncBurstInfo CellSyncBurstInfoList-CellSyncReconfRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSyncBurstInfoList-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfReceptsPerSyncFrame)) OF CellSyncBurstInfoItem-CellSyncReconfRqstTDD
-
-CellSyncBurstInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
- cSBMeasurementID CSBMeasurementID,
- cellSyncBurstCode CellSyncBurstCode,
- cellSyncBurstCodeShift CellSyncBurstCodeShift,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSyncFramesLCR)) OF SYNCDlCodeIdTransReconfItemLCR-CellSyncReconfRqstTDD
-
-SYNCDlCodeIdTransReconfItemLCR-CellSyncReconfRqstTDD ::= SEQUENCE {
- cSBTransmissionID CSBTransmissionID,
- syncFrameNumberforTransmit SyncFrameNumber,
- uARFCN UARFCN,
- sYNCDlCodeId SYNCDlCodeId OPTIONAL,
- dwPCH-Power DwPCH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD::= SEQUENCE {
- sYNCDlCodeIdMeasInfoList SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD,
- synchronisationReportType SynchronisationReportType OPTIONAL,
- synchronisationReportCharacteristics SynchronisationReportCharacteristics OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD::= SEQUENCE (SIZE (1.. maxNrOfSyncDLCodesLCR)) OF SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD
-
-SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
- syncFrameNrToReceive SyncFrameNumber,
- sYNCDlCodeIdInfoLCR SYNCDlCodeIdInfoListLCR-CellSyncReconfRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SYNCDlCodeIdInfoListLCR-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1.. maxNrOfReceptionsperSyncFrameLCR)) OF SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD
-
-SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD ::= SEQUENCE {
- cSBMeasurementID CSBMeasurementID,
- sYNCDlCodeId SYNCDlCodeId,
- uARFCN UARFCN,
- propagationDelayCompensation TimingAdjustmentValueLCR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION RECONFIGURATION RESPONSE TDD
---
--- **************************************************************
-
-CellSynchronisationReconfigurationResponseTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationReconfigurationResponseTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReconfigurationResponseTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationReconfigurationResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationReconfigurationResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION RECONFIGURATION FAILURE TDD
---
--- **************************************************************
-
-CellSynchronisationReconfigurationFailureTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationReconfigurationFailureTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReconfigurationFailureTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationReconfigurationFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationReconfigurationFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION ADJUSTMENT REQUEST TDD
---
--- **************************************************************
-
-CellSynchronisationAdjustmentRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationAdjustmentRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationAdjustmentRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationAdjustmentRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationAdjustmentRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CellAdjustmentInfo-SyncAdjustmntRqstTDD CRITICALITY ignore TYPE CellAdjustmentInfo-SyncAdjustmentRqstTDD PRESENCE mandatory },
- ...
-}
-
-CellAdjustmentInfo-SyncAdjustmentRqstTDD::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ CellAdjustmentInfoItemIE-SyncAdjustmntRqstTDD }}
-
-CellAdjustmentInfoItemIE-SyncAdjustmntRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD CRITICALITY ignore TYPE CellAdjustmentInfoItem-SyncAdjustmentRqstTDD PRESENCE mandatory }
-}
-
-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD ::= SEQUENCE {
- c-ID C-ID,
- frameAdjustmentValue FrameAdjustmentValue OPTIONAL,
- timingAdjustmentValue TimingAdjustmentValue OPTIONAL,
- dLTransPower DL-Power OPTIONAL, -- Applicable to 3.84Mcps TDD only
- sfn SFN OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CellAdjustmentInfoItem-SyncAdjustmntRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-CellAdjustmentInfoItem-SyncAdjustmntRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DwPCH-Power CRITICALITY ignore EXTENSION DwPCH-Power PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-TimingAdjustmentValueLCR CRITICALITY ignore EXTENSION TimingAdjustmentValueLCR PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION ADJUSTMENT RESPONSE TDD
---
--- **************************************************************
-
-CellSynchronisationAdjustmentResponseTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationAdjustmentResponseTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationAdjustmentResponseTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationAdjustmentResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationAdjustmentResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION ADJUSTMENT FAILURE TDD
---
--- **************************************************************
-
-CellSynchronisationAdjustmentFailureTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationAdjustmentFailureTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationAdjustmentFailureTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationAdjustmentFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationAdjustmentFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CauseLevel-SyncAdjustmntFailureTDD CRITICALITY ignore TYPE CauseLevel-SyncAdjustmntFailureTDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CauseLevel-SyncAdjustmntFailureTDD ::= CHOICE {
- generalCause GeneralCauseList-SyncAdjustmntFailureTDD,
- cellSpecificCause CellSpecificCauseList-SyncAdjustmntFailureTDD,
- ...
-}
-
-GeneralCauseList-SyncAdjustmntFailureTDD::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseList-SyncAdjustmntFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseList-SyncAdjustmntFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSpecificCauseList-SyncAdjustmntFailureTDD ::= SEQUENCE {
- unsuccessful-cell-InformationRespList-SyncAdjustmntFailureTDD Unsuccessful-cell-InformationRespList-SyncAdjustmntFailureTDD,
- iE-Extensions ProtocolExtensionContainer { { CellSpecificCauseList-SyncAdjustmntFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSpecificCauseList-SyncAdjustmntFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-cell-InformationRespList-SyncAdjustmntFailureTDD ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ Unsuccessful-cell-InformationRespItemIE-SyncAdjustmntFailureTDD }}
-
-Unsuccessful-cell-InformationRespItemIE-SyncAdjustmntFailureTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD CRITICALITY ignore TYPE Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD PRESENCE mandatory},
- ...
-}
-
-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD::= SEQUENCE {
- c-ID C-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION TERMINATION REQUEST TDD
---
--- **************************************************************
-
-CellSynchronisationTerminationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationTerminationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationTerminationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationTerminationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationTerminationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory }|
- { ID id-CSBTransmissionID CRITICALITY ignore TYPE CSBTransmissionID PRESENCE optional }|
- { ID id-CSBMeasurementID CRITICALITY ignore TYPE CSBMeasurementID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION FAILURE INDICATION TDD
---
--- **************************************************************
-
-CellSynchronisationFailureIndicationTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationFailureIndicationTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationFailureIndicationTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationFailureIndicationTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationFailureIndicationTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory }|
- { ID id-CSBTransmissionID CRITICALITY ignore TYPE CSBTransmissionID PRESENCE optional }|
- { ID id-CSBMeasurementID CRITICALITY ignore TYPE CSBMeasurementID PRESENCE optional }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION REPORT TDD
---
--- **************************************************************
-
-CellSynchronisationReportTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationReportTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReportTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationReportTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationReportTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CellSyncInfo-CellSyncReprtTDD CRITICALITY ignore TYPE CellSyncInfo-CellSyncReprtTDD PRESENCE mandatory },
- ...
-}
-
-
-CellSyncInfo-CellSyncReprtTDD ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF CellSyncInfoItemIE-CellSyncReprtTDD
-
-CellSyncInfoItemIE-CellSyncReprtTDD ::= SEQUENCE {
- c-ID-CellSyncReprtTDD C-ID-IE-CellSyncReprtTDD,
- syncReportType-CellSyncReprtTDD SyncReportTypeIE-CellSyncReprtTDD OPTIONAL,
- ...
-}
-
-C-ID-IE-CellSyncReprtTDD ::= ProtocolIE-Single-Container {{ C-ID-IEs-CellSyncReprtTDD }}
-
-C-ID-IEs-CellSyncReprtTDD NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory}
-}
-
-SyncReportTypeIE-CellSyncReprtTDD::= ProtocolIE-Single-Container {{ SyncReportTypeIEs-CellSyncReprtTDD }}
-
-SyncReportTypeIEs-CellSyncReprtTDD NBAP-PROTOCOL-IES ::= {
- { ID id-SyncReportType-CellSyncReprtTDD CRITICALITY ignore TYPE SyncReportType-CellSyncReprtTDD PRESENCE mandatory}
-}
-
-
-SyncReportType-CellSyncReprtTDD ::= CHOICE {
- intStdPhSyncInfo-CellSyncReprtTDD IntStdPhCellSyncInfo-CellSyncReprtTDD,
- lateEntrantCell NULL,
- frequencyAcquisition NULL,
- ...
-}
-
-IntStdPhCellSyncInfo-CellSyncReprtTDD ::= SEQUENCE {
- cellSyncBurstMeasuredInfo CellSyncBurstMeasInfoList-CellSyncReprtTDD,
- iE-Extensions ProtocolExtensionContainer { { IntStdPhCellSyncInfoList-CellSyncReprtTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IntStdPhCellSyncInfoList-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-AccumulatedClockupdate-CellSyncReprtTDD CRITICALITY ignore EXTENSION TimingAdjustmentValue PRESENCE optional }|
- { ID id-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD CRITICALITY ignore EXTENSION SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD PRESENCE optional }, -- Mandatory for 1.28Mcps TDD. Not Applicable to 3.84Mcps TDD.
- ...
-}
-
-CellSyncBurstMeasInfoList-CellSyncReprtTDD ::= SEQUENCE (SIZE (0.. maxNrOfCellSyncBursts)) OF CellSyncBurstMeasInfoItem-CellSyncReprtTDD -- Mandatory for 3.84Mcps TDD. Not Applicable to 1.28Mcps TDD.
-
-CellSyncBurstMeasInfoItem-CellSyncReprtTDD ::= SEQUENCE {
- sFN SFN,
- cellSyncBurstInfo-CellSyncReprtTDD SEQUENCE (SIZE (1..maxNrOfReceptsPerSyncFrame)) OF CellSyncBurstInfo-CellSyncReprtTDD,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasInfoItem-CellSyncReprtTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstMeasInfoItem-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSyncBurstInfo-CellSyncReprtTDD ::= CHOICE {
- cellSyncBurstAvailable CellSyncBurstAvailable-CellSyncReprtTDD,
- cellSyncBurstNotAvailable NULL,
- ...
-}
-
-CellSyncBurstAvailable-CellSyncReprtTDD ::= SEQUENCE {
- cellSyncBurstTiming CellSyncBurstTiming,
- cellSyncBurstSIR CellSyncBurstSIR,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstAvailable-CellSyncReprtTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstAvailable-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD ::= SEQUENCE (SIZE (0..maxNrOfSyncFramesLCR)) OF SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD
--- Mandatory for 1.28Mcps TDD. Not Applicable to 3.84Mcps TDD.
-
-SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD ::= SEQUENCE {
- sFN SFN,
- syncDLCodeIdInfo-CellSyncReprtTDD SyncDLCodeIdInfo-CellSyncReprtTDD,
- iE-Extensions ProtocolExtensionContainer { { SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SyncDLCodeIdInfo-CellSyncReprtTDD ::= SEQUENCE (SIZE (1..maxNrOfReceptionsperSyncFrameLCR)) OF SyncDLCodeIdItem-CellSyncReprtTDD
-
-SyncDLCodeIdItem-CellSyncReprtTDD ::= CHOICE {
- syncDLCodeIdAvailable SyncDLCodeIdAvailable-CellSyncReprtTDD,
- syncDLCodeIDNotAvailable NULL,
- ...
-}
-
-SyncDLCodeIdAvailable-CellSyncReprtTDD ::= SEQUENCE {
- syncDLCodeIdTiming CellSyncBurstTimingLCR,
- syncDLCodeIdSIR CellSyncBurstSIR,
- iE-Extensions ProtocolExtensionContainer { { SyncDLCodeIdAvailable-CellSyncReprtTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-SyncDLCodeIdAvailable-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- BEARER REARRANGEMENT INDICATION
---
--- **************************************************************
-
-BearerRearrangementIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{BearerRearrangementIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{BearerRearrangementIndication-Extensions}} OPTIONAL,
- ...
-}
-
-BearerRearrangementIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-SignallingBearerRequestIndicator CRITICALITY ignore TYPE SignallingBearerRequestIndicator PRESENCE optional } |
- { ID id-DCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE DCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional } |
- { ID id-DSCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE DSCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional } |
- { ID id-USCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE USCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional } |
--- TDD only.
- { ID id-TFCI2BearerRequestIndicator CRITICALITY ignore TYPE TFCI2BearerRequestIndicator PRESENCE optional }|
- -- FDD only.
- { ID id-HSDSCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE HSDSCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional },
- ...
-}
-
-BearerRearrangementIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-RearrangeItem-Bearer-RearrangeInd
-
-DCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
- dCH-ID DCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-RearrangeItem-Bearer-RearrangeInd
-
-DSCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-USCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-RearrangeItem-Bearer-RearrangeInd
-
-USCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
- uSCH-ID USCH-ID,
- iE-Extensions ProtocolExtensionContainer { { USCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-USCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-RearrangeItem-Bearer-RearrangeInd
-
-HSDSCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
- hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ACTIVATION COMMAND FDD
---
--- **************************************************************
-
-RadioLinkActivationCommandFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkActivationCommandFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkActivationCommandFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkActivationCommandFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-DelayedActivationList-RL-ActivationCmdFDD CRITICALITY ignore TYPE DelayedActivationInformationList-RL-ActivationCmdFDD PRESENCE mandatory },
- ...
-}
-
-RadioLinkActivationCommandFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DelayedActivationInformationList-RL-ActivationCmdFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {
- { DelayedActivationInformation-RL-ActivationCmdFDD-IEs} }
-
-DelayedActivationInformation-RL-ActivationCmdFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-DelayedActivationInformation-RL-ActivationCmdFDD CRITICALITY ignore TYPE DelayedActivationInformation-RL-ActivationCmdFDD PRESENCE optional }
-}
-
-DelayedActivationInformation-RL-ActivationCmdFDD ::= SEQUENCE {
- rL-ID RL-ID,
- delayed-activation-update DelayedActivationUpdate,
- iE-Extensions ProtocolExtensionContainer { { DelayedActivationInformation-RL-ActivationCmdFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DelayedActivationInformation-RL-ActivationCmdFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ACTIVATION COMMAND TDD
---
--- **************************************************************
-
-RadioLinkActivationCommandTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkActivationCommandTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkActivationCommandTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkActivationCommandTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-DelayedActivationList-RL-ActivationCmdTDD CRITICALITY ignore TYPE DelayedActivationInformationList-RL-ActivationCmdTDD PRESENCE mandatory },
- ...
-}
-
-RadioLinkActivationCommandTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DelayedActivationInformationList-RL-ActivationCmdTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {
- { DelayedActivationInformation-RL-ActivationCmdTDD-IEs} }
-
-DelayedActivationInformation-RL-ActivationCmdTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-DelayedActivationInformation-RL-ActivationCmdTDD CRITICALITY ignore TYPE DelayedActivationInformation-RL-ActivationCmdTDD PRESENCE optional }
-}
-
-DelayedActivationInformation-RL-ActivationCmdTDD ::= SEQUENCE {
- rL-ID RL-ID,
- delayed-activation-update DelayedActivationUpdate,
- iE-Extensions ProtocolExtensionContainer { { DelayedActivationInformation-RL-ActivationCmdTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DelayedActivationInformation-RL-ActivationCmdTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK PARAMETER UPDATE INDICATION FDD
---
--- **************************************************************
-
-RadioLinkParameterUpdateIndicationFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkParameterUpdateIndicationFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkParameterUpdateIndicationFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkParameterUpdateIndicationFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-HSDSCH-FDD-Update-Information CRITICALITY ignore TYPE HSDSCH-FDD-Update-Information PRESENCE optional },
- ...
-}
-
-RadioLinkParameterUpdateIndicationFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK PARAMETER UPDATE INDICATION TDD
---
--- **************************************************************
-
-RadioLinkParameterUpdateIndicationTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkParameterUpdateIndicationTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkParameterUpdateIndicationTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkParameterUpdateIndicationTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-HSDSCH-TDD-Update-Information CRITICALITY ignore TYPE HSDSCH-TDD-Update-Information PRESENCE optional },
- ...
-}
-
-RadioLinkParameterUpdateIndicationTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-PDU-Discriptions.asn b/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-PDU-Discriptions.asn
deleted file mode 100755
index b9be9934e4..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/nbapsystem/NBAP-PDU-Discriptions.asn
+++ /dev/null
@@ -1,916 +0,0 @@
--- **************************************************************
---
--- Elementary Procedure definitions
---
--- **************************************************************
-
-NBAP-PDU-Discriptions {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-PDU-Descriptions (0) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- ProcedureID,
- MessageDiscriminator,
- TransactionID
-FROM NBAP-CommonDataTypes
-
- CommonTransportChannelSetupRequestFDD,
- CommonTransportChannelSetupRequestTDD,
- CommonTransportChannelSetupResponse,
- CommonTransportChannelSetupFailure,
- CommonTransportChannelReconfigurationRequestFDD,
- CommonTransportChannelReconfigurationRequestTDD,
- CommonTransportChannelReconfigurationResponse,
- CommonTransportChannelReconfigurationFailure,
- CommonTransportChannelDeletionRequest,
- CommonTransportChannelDeletionResponse,
- BlockResourceRequest,
- BlockResourceResponse,
- BlockResourceFailure,
- UnblockResourceIndication,
- AuditFailure,
- AuditRequiredIndication,
- AuditRequest,
- AuditResponse,
- CommonMeasurementInitiationRequest,
- CommonMeasurementInitiationResponse,
- CommonMeasurementInitiationFailure,
- CommonMeasurementReport,
- CommonMeasurementTerminationRequest,
- CommonMeasurementFailureIndication,
- CellSetupRequestFDD,
- CellSetupRequestTDD,
- CellSetupResponse,
- CellSetupFailure,
- CellReconfigurationRequestFDD,
- CellReconfigurationRequestTDD,
- CellReconfigurationResponse,
- CellReconfigurationFailure,
- CellDeletionRequest,
- CellDeletionResponse,
- InformationExchangeInitiationRequest,
- InformationExchangeInitiationResponse,
- InformationExchangeInitiationFailure,
- InformationReport,
- InformationExchangeTerminationRequest,
- InformationExchangeFailureIndication,
- BearerRearrangementIndication,
- ResourceStatusIndication,
- SystemInformationUpdateRequest,
- SystemInformationUpdateResponse,
- SystemInformationUpdateFailure,
- ResetRequest,
- ResetResponse,
- RadioLinkActivationCommandFDD,
- RadioLinkActivationCommandTDD,
- RadioLinkPreemptionRequiredIndication,
- RadioLinkSetupRequestFDD,
- RadioLinkSetupRequestTDD,
- RadioLinkSetupResponseFDD,
- RadioLinkSetupResponseTDD,
- RadioLinkSetupFailureFDD,
- RadioLinkSetupFailureTDD,
- RadioLinkAdditionRequestFDD,
- RadioLinkAdditionRequestTDD,
- RadioLinkAdditionResponseFDD,
- RadioLinkAdditionResponseTDD,
- RadioLinkAdditionFailureFDD,
- RadioLinkAdditionFailureTDD,
- RadioLinkParameterUpdateIndicationFDD,
- RadioLinkParameterUpdateIndicationTDD,
- RadioLinkReconfigurationPrepareFDD,
- RadioLinkReconfigurationPrepareTDD,
- RadioLinkReconfigurationReady,
- RadioLinkReconfigurationFailure,
- RadioLinkReconfigurationCommit,
- RadioLinkReconfigurationCancel,
- RadioLinkReconfigurationRequestFDD,
- RadioLinkReconfigurationRequestTDD,
- RadioLinkReconfigurationResponse,
- RadioLinkDeletionRequest,
- RadioLinkDeletionResponse,
- DL-PowerControlRequest,
- DL-PowerTimeslotControlRequest,
- DedicatedMeasurementInitiationRequest,
- DedicatedMeasurementInitiationResponse,
- DedicatedMeasurementInitiationFailure,
- DedicatedMeasurementReport,
- DedicatedMeasurementTerminationRequest,
- DedicatedMeasurementFailureIndication,
- RadioLinkFailureIndication,
- RadioLinkRestoreIndication,
- CompressedModeCommand,
- ErrorIndication,
- PrivateMessage,
- PhysicalSharedChannelReconfigurationRequestTDD,
- PhysicalSharedChannelReconfigurationRequestFDD,
- PhysicalSharedChannelReconfigurationResponse,
- PhysicalSharedChannelReconfigurationFailure,
- CellSynchronisationInitiationRequestTDD,
- CellSynchronisationInitiationResponseTDD,
- CellSynchronisationInitiationFailureTDD,
- CellSynchronisationReconfigurationRequestTDD,
- CellSynchronisationReconfigurationResponseTDD,
- CellSynchronisationReconfigurationFailureTDD,
- CellSynchronisationAdjustmentRequestTDD,
- CellSynchronisationAdjustmentResponseTDD,
- CellSynchronisationAdjustmentFailureTDD,
- CellSynchronisationReportTDD,
- CellSynchronisationTerminationRequestTDD,
- CellSynchronisationFailureIndicationTDD
-FROM NBAP-PDU-Contents
-
- id-audit,
- id-auditRequired,
- id-blockResource,
- id-cellDeletion,
- id-cellReconfiguration,
- id-cellSetup,
- id-cellSynchronisationInitiation,
- id-cellSynchronisationReconfiguration,
- id-cellSynchronisationReporting,
- id-cellSynchronisationTermination,
- id-cellSynchronisationFailure,
- id-commonMeasurementFailure,
- id-commonMeasurementInitiation,
- id-commonMeasurementReport,
- id-commonMeasurementTermination,
- id-commonTransportChannelDelete,
- id-commonTransportChannelReconfigure,
- id-commonTransportChannelSetup,
- id-compressedModeCommand,
- id-dedicatedMeasurementFailure,
- id-dedicatedMeasurementInitiation,
- id-dedicatedMeasurementReport,
- id-dedicatedMeasurementTermination,
- id-downlinkPowerControl,
- id-downlinkPowerTimeslotControl,
- id-errorIndicationForDedicated,
- id-errorIndicationForCommon,
- id-informationExchangeFailure,
- id-informationExchangeInitiation,
- id-informationReporting,
- id-informationExchangeTermination,
- id-BearerRearrangement,
- id-physicalSharedChannelReconfiguration,
- id-privateMessageForDedicated,
- id-privateMessageForCommon,
- id-radioLinkActivation,
- id-radioLinkAddition,
- id-radioLinkDeletion,
- id-radioLinkFailure,
- id-radioLinkParameterUpdate,
- id-radioLinkPreemption,
- id-radioLinkRestoration,
- id-radioLinkSetup,
- id-reset,
- id-resourceStatusIndication,
- id-cellSynchronisationAdjustment,
- id-synchronisedRadioLinkReconfigurationCancellation,
- id-synchronisedRadioLinkReconfigurationCommit,
- id-synchronisedRadioLinkReconfigurationPreparation,
- id-systemInformationUpdate,
- id-unblockResource,
- id-unSynchronisedRadioLinkReconfiguration
-FROM NBAP-Constants;
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-NBAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &Outcome OPTIONAL,
- &messageDiscriminator MessageDiscriminator,
- &procedureID ProcedureID UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- MESSAGE DISCRIMINATOR &messageDiscriminator
- PROCEDURE ID &procedureID
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-NBAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- succesfulOutcome SuccessfulOutcome,
- unsuccesfulOutcome UnsuccessfulOutcome,
- outcome Outcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
- criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- transactionID TransactionID,
- value NBAP-ELEMENTARY-PROCEDURE.&InitiatingMessage({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
- criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- transactionID TransactionID,
- value NBAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
- criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- transactionID TransactionID,
- value NBAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
-}
-
-Outcome ::= SEQUENCE {
- procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
- criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- transactionID TransactionID,
- value NBAP-ELEMENTARY-PROCEDURE.&Outcome ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-NBAP-ELEMENTARY-PROCEDURES NBAP-ELEMENTARY-PROCEDURE ::= {
- NBAP-ELEMENTARY-PROCEDURES-CLASS-1 |
- NBAP-ELEMENTARY-PROCEDURES-CLASS-2 ,
- ...
-}
-
-NBAP-ELEMENTARY-PROCEDURES-CLASS-1 NBAP-ELEMENTARY-PROCEDURE ::= {
- cellSetupFDD |
- cellSetupTDD |
- cellReconfigurationFDD |
- cellReconfigurationTDD |
- cellDeletion |
- commonTransportChannelSetupFDD |
- commonTransportChannelSetupTDD |
- commonTransportChannelReconfigureFDD |
- commonTransportChannelReconfigureTDD |
- commonTransportChannelDelete |
- audit |
- blockResource |
- radioLinkSetupFDD |
- radioLinkSetupTDD |
- systemInformationUpdate |
- commonMeasurementInitiation |
- radioLinkAdditionFDD |
- radioLinkAdditionTDD |
- radioLinkDeletion |
- reset |
- synchronisedRadioLinkReconfigurationPreparationFDD |
- synchronisedRadioLinkReconfigurationPreparationTDD |
- unSynchronisedRadioLinkReconfigurationFDD |
- unSynchronisedRadioLinkReconfigurationTDD |
- dedicatedMeasurementInitiation |
- physicalSharedChannelReconfigurationTDD ,
- ...,
- informationExchangeInitiation |
- cellSynchronisationInitiationTDD |
- cellSynchronisationReconfigurationTDD |
- cellSynchronisationAdjustmentTDD |
- physicalSharedChannelReconfigurationFDD
-}
-
-NBAP-ELEMENTARY-PROCEDURES-CLASS-2 NBAP-ELEMENTARY-PROCEDURE ::= {
- resourceStatusIndication |
- auditRequired |
- commonMeasurementReport |
- commonMeasurementTermination |
- commonMeasurementFailure |
- synchronisedRadioLinkReconfigurationCommit |
- synchronisedRadioLinkReconfigurationCancellation |
- radioLinkFailure |
- radioLinkPreemption |
- radioLinkRestoration |
- dedicatedMeasurementReport |
- dedicatedMeasurementTermination |
- dedicatedMeasurementFailure |
- downlinkPowerControlFDD |
- downlinkPowerTimeslotControl |
- compressedModeCommand |
- unblockResource |
- errorIndicationForDedicated |
- errorIndicationForCommon |
- privateMessageForDedicated |
- privateMessageForCommon ,
- ...,
- informationReporting |
- informationExchangeTermination |
- informationExchangeFailure |
- cellSynchronisationReportingTDD |
- cellSynchronisationTerminationTDD |
- cellSynchronisationFailureTDD |
- bearerRearrangement |
- radioLinkActivationFDD |
- radioLinkActivationTDD |
- radioLinkParameterUpdateFDD |
- radioLinkParameterUpdateTDD
-}
-
--- **************************************************************
---
--- Interface Elementary Procedures
---
--- **************************************************************
-
--- Class 1
-
--- *** CellSetup (FDD) ***
-cellSetupFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSetupRequestFDD
- SUCCESSFUL OUTCOME CellSetupResponse
- UNSUCCESSFUL OUTCOME CellSetupFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSetup, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** CellSetup (TDD) ***
-cellSetupTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSetupRequestTDD
- SUCCESSFUL OUTCOME CellSetupResponse
- UNSUCCESSFUL OUTCOME CellSetupFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSetup, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CellReconfiguration(FDD) ***
-cellReconfigurationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellReconfigurationRequestFDD
- SUCCESSFUL OUTCOME CellReconfigurationResponse
- UNSUCCESSFUL OUTCOME CellReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellReconfiguration, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** CellReconfiguration(TDD) ***
-cellReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellReconfigurationRequestTDD
- SUCCESSFUL OUTCOME CellReconfigurationResponse
- UNSUCCESSFUL OUTCOME CellReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellReconfiguration, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CellDeletion ***
-cellDeletion NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellDeletionRequest
- SUCCESSFUL OUTCOME CellDeletionResponse
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellDeletion, ddMode common }
- CRITICALITY reject
-}
-
--- *** CommonTransportChannelSetup (FDD) ***
-commonTransportChannelSetupFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonTransportChannelSetupRequestFDD
- SUCCESSFUL OUTCOME CommonTransportChannelSetupResponse
- UNSUCCESSFUL OUTCOME CommonTransportChannelSetupFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonTransportChannelSetup, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** CommonTransportChannelSetup (TDD) ***
-commonTransportChannelSetupTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonTransportChannelSetupRequestTDD
- SUCCESSFUL OUTCOME CommonTransportChannelSetupResponse
- UNSUCCESSFUL OUTCOME CommonTransportChannelSetupFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonTransportChannelSetup, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CommonTransportChannelReconfigure (FDD) ***
-commonTransportChannelReconfigureFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonTransportChannelReconfigurationRequestFDD
- SUCCESSFUL OUTCOME CommonTransportChannelReconfigurationResponse
- UNSUCCESSFUL OUTCOME CommonTransportChannelReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonTransportChannelReconfigure, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** CommonTransportChannelReconfigure (TDD) ***
-commonTransportChannelReconfigureTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonTransportChannelReconfigurationRequestTDD
- SUCCESSFUL OUTCOME CommonTransportChannelReconfigurationResponse
- UNSUCCESSFUL OUTCOME CommonTransportChannelReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonTransportChannelReconfigure, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CommonTransportChannelDelete ***
-commonTransportChannelDelete NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonTransportChannelDeletionRequest
- SUCCESSFUL OUTCOME CommonTransportChannelDeletionResponse
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonTransportChannelDelete, ddMode common }
- CRITICALITY reject
-}
-
--- *** Audit ***
-audit NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE AuditRequest
- SUCCESSFUL OUTCOME AuditResponse
- UNSUCCESSFUL OUTCOME AuditFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-audit, ddMode common }
- CRITICALITY reject
-}
-
--- *** BlockResourceRequest ***
-blockResource NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE BlockResourceRequest
- SUCCESSFUL OUTCOME BlockResourceResponse
- UNSUCCESSFUL OUTCOME BlockResourceFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-blockResource, ddMode common }
- CRITICALITY reject
-}
-
--- *** RadioLinkSetup (FDD) ***
-radioLinkSetupFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkSetupRequestFDD
- SUCCESSFUL OUTCOME RadioLinkSetupResponseFDD
- UNSUCCESSFUL OUTCOME RadioLinkSetupFailureFDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-radioLinkSetup, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** RadioLinkSetup (TDD) ***
-radioLinkSetupTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkSetupRequestTDD
- SUCCESSFUL OUTCOME RadioLinkSetupResponseTDD
- UNSUCCESSFUL OUTCOME RadioLinkSetupFailureTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-radioLinkSetup, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** SystemInformationUpdate ***
-systemInformationUpdate NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SystemInformationUpdateRequest
- SUCCESSFUL OUTCOME SystemInformationUpdateResponse
- UNSUCCESSFUL OUTCOME SystemInformationUpdateFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-systemInformationUpdate, ddMode common }
- CRITICALITY reject
-}
-
--- *** Reset ***
-reset NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ResetRequest
- SUCCESSFUL OUTCOME ResetResponse
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-reset, ddMode common }
- CRITICALITY reject
-}
-
--- *** CommonMeasurementInitiation ***
-commonMeasurementInitiation NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonMeasurementInitiationRequest
- SUCCESSFUL OUTCOME CommonMeasurementInitiationResponse
- UNSUCCESSFUL OUTCOME CommonMeasurementInitiationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonMeasurementInitiation, ddMode common }
- CRITICALITY reject
-}
-
--- *** RadioLinkAddition (FDD) ***
-radioLinkAdditionFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkAdditionRequestFDD
- SUCCESSFUL OUTCOME RadioLinkAdditionResponseFDD
- UNSUCCESSFUL OUTCOME RadioLinkAdditionFailureFDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkAddition, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** RadioLinkAddition (TDD) ***
-radioLinkAdditionTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkAdditionRequestTDD
- SUCCESSFUL OUTCOME RadioLinkAdditionResponseTDD
- UNSUCCESSFUL OUTCOME RadioLinkAdditionFailureTDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkAddition, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** RadioLinkDeletion ***
-radioLinkDeletion NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkDeletionRequest
- SUCCESSFUL OUTCOME RadioLinkDeletionResponse
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkDeletion, ddMode common }
- CRITICALITY reject
-}
-
--- *** SynchronisedRadioLinkReconfigurationPreparation (FDD) ***
-synchronisedRadioLinkReconfigurationPreparationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationPrepareFDD
- SUCCESSFUL OUTCOME RadioLinkReconfigurationReady
- UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationPreparation, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** SynchronisedRadioLinkReconfigurationPreparation (TDD) ***
-synchronisedRadioLinkReconfigurationPreparationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationPrepareTDD
- SUCCESSFUL OUTCOME RadioLinkReconfigurationReady
- UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationPreparation, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** UnSynchronisedRadioLinkReconfiguration (FDD) ***
-unSynchronisedRadioLinkReconfigurationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationRequestFDD
- SUCCESSFUL OUTCOME RadioLinkReconfigurationResponse
- UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-unSynchronisedRadioLinkReconfiguration, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** UnSynchronisedRadioLinkReconfiguration (TDD) ***
-unSynchronisedRadioLinkReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationRequestTDD
- SUCCESSFUL OUTCOME RadioLinkReconfigurationResponse
- UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-unSynchronisedRadioLinkReconfiguration, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** DedicatedMeasurementInitiation ***
-dedicatedMeasurementInitiation NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DedicatedMeasurementInitiationRequest
- SUCCESSFUL OUTCOME DedicatedMeasurementInitiationResponse
- UNSUCCESSFUL OUTCOME DedicatedMeasurementInitiationFailure
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-dedicatedMeasurementInitiation, ddMode common }
- CRITICALITY reject
-}
-
--- *** PhysicalSharedChannelReconfiguration (FDD) ***
-physicalSharedChannelReconfigurationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PhysicalSharedChannelReconfigurationRequestFDD
- SUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationResponse
- UNSUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-physicalSharedChannelReconfiguration, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** PhysicalSharedChannelReconfiguration (TDD) ***
-physicalSharedChannelReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PhysicalSharedChannelReconfigurationRequestTDD
- SUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationResponse
- UNSUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-physicalSharedChannelReconfiguration, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** InformationExchangeInitiation ***
-informationExchangeInitiation NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InformationExchangeInitiationRequest
- SUCCESSFUL OUTCOME InformationExchangeInitiationResponse
- UNSUCCESSFUL OUTCOME InformationExchangeInitiationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-informationExchangeInitiation, ddMode common }
- CRITICALITY reject
-}
-
--- *** CellSynchronisationInitiation (TDD only) ***
-cellSynchronisationInitiationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationInitiationRequestTDD
- SUCCESSFUL OUTCOME CellSynchronisationInitiationResponseTDD
- UNSUCCESSFUL OUTCOME CellSynchronisationInitiationFailureTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationInitiation, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CellSynchronisationReconfiguration (TDD only) ***
-cellSynchronisationReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationReconfigurationRequestTDD
- SUCCESSFUL OUTCOME CellSynchronisationReconfigurationResponseTDD
- UNSUCCESSFUL OUTCOME CellSynchronisationReconfigurationFailureTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationReconfiguration, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CellSynchronisationAdjustment (TDD only) ***
-cellSynchronisationAdjustmentTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationAdjustmentRequestTDD
- SUCCESSFUL OUTCOME CellSynchronisationAdjustmentResponseTDD
- UNSUCCESSFUL OUTCOME CellSynchronisationAdjustmentFailureTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationAdjustment, ddMode tdd }
- CRITICALITY reject
-}
-
--- Class 2
-
--- *** ResourceStatusIndication ***
-resourceStatusIndication NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ResourceStatusIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-resourceStatusIndication, ddMode common }
- CRITICALITY ignore
-}
-
--- *** AuditRequired ***
-auditRequired NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE AuditRequiredIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-auditRequired, ddMode common }
- CRITICALITY ignore
-}
-
--- *** CommonMeasurementReport ***
-commonMeasurementReport NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonMeasurementReport
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonMeasurementReport, ddMode common }
- CRITICALITY ignore
-}
-
--- *** CommonMeasurementTermination ***
-commonMeasurementTermination NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonMeasurementTerminationRequest
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonMeasurementTermination, ddMode common }
- CRITICALITY ignore
-}
-
--- *** CommonMeasurementFailure ***
-commonMeasurementFailure NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonMeasurementFailureIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonMeasurementFailure, ddMode common }
- CRITICALITY ignore
-}
-
--- *** SynchronisedRadioLinkReconfigurationCommit ***
-synchronisedRadioLinkReconfigurationCommit NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationCommit
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationCommit, ddMode common }
- CRITICALITY ignore
-}
-
--- *** SynchronisedRadioReconfigurationCancellation ***
-synchronisedRadioLinkReconfigurationCancellation NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationCancel
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationCancellation, ddMode common }
- CRITICALITY ignore
-}
-
--- *** RadioLinkFailure ***
-radioLinkFailure NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkFailureIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkFailure, ddMode common }
- CRITICALITY ignore
-}
-
--- *** RadioLinkPreemption ***
-radioLinkPreemption NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkPreemptionRequiredIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkPreemption, ddMode common }
- CRITICALITY ignore
-}
-
--- *** RadioLinkRestoration ***
-radioLinkRestoration NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkRestoreIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkRestoration, ddMode common }
- CRITICALITY ignore
-}
-
--- *** DedicatedMeasurementReport ***
-dedicatedMeasurementReport NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DedicatedMeasurementReport
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-dedicatedMeasurementReport, ddMode common }
- CRITICALITY ignore
-}
-
--- *** DedicatedMeasurementTermination ***
-dedicatedMeasurementTermination NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DedicatedMeasurementTerminationRequest
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-dedicatedMeasurementTermination, ddMode common }
- CRITICALITY ignore
-}
-
--- *** DedicatedMeasurementFailure ***
-dedicatedMeasurementFailure NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DedicatedMeasurementFailureIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-dedicatedMeasurementFailure, ddMode common }
- CRITICALITY ignore
-}
-
--- *** DLPowerControl (FDD only) ***
-downlinkPowerControlFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DL-PowerControlRequest
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-downlinkPowerControl, ddMode fdd }
- CRITICALITY ignore
-}
-
--- *** DLPowerTimeslotControl (TDD only) ***
-downlinkPowerTimeslotControl NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DL-PowerTimeslotControlRequest
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-downlinkPowerTimeslotControl, ddMode tdd }
- CRITICALITY ignore
-}
-
--- *** CompressedModeCommand (FDD only) ***
-compressedModeCommand NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CompressedModeCommand
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-compressedModeCommand, ddMode fdd }
- CRITICALITY ignore
-}
-
--- *** UnblockResourceIndication ***
-unblockResource NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UnblockResourceIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-unblockResource, ddMode common }
- CRITICALITY ignore
-}
-
--- *** ErrorIndication for Dedicated procedures ***
-errorIndicationForDedicated NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-errorIndicationForDedicated, ddMode common }
- CRITICALITY ignore
-}
-
--- *** ErrorIndication for Common procedures ***
-errorIndicationForCommon NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-errorIndicationForCommon, ddMode common }
- CRITICALITY ignore
-}
-
--- *** CellSynchronisationReporting (TDD only) ***
-cellSynchronisationReportingTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationReportTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationReporting, ddMode tdd }
- CRITICALITY ignore
-}
-
--- *** CellSynchronisationTermination (TDD only) ***
-cellSynchronisationTerminationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationTerminationRequestTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationTermination, ddMode tdd }
- CRITICALITY ignore
-}
-
--- *** CellSynchronisationFailure (TDD only) ***
-cellSynchronisationFailureTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationFailureIndicationTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationFailure, ddMode tdd }
- CRITICALITY ignore
-}
-
--- *** PrivateMessage for Dedicated procedures ***
-privateMessageForDedicated NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-privateMessageForDedicated, ddMode common }
- CRITICALITY ignore
-}
-
--- *** PrivateMessage for Common procedures ***
-privateMessageForCommon NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-privateMessageForCommon, ddMode common }
- CRITICALITY ignore
-}
-
--- *** InformationReporting ***
-informationReporting NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InformationReport
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-informationReporting, ddMode common }
- CRITICALITY ignore
-}
-
--- *** InformationExchangeTermination ***
-informationExchangeTermination NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InformationExchangeTerminationRequest
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-informationExchangeTermination, ddMode common }
- CRITICALITY ignore
-}
-
--- *** InformationExchangeFailure ***
-informationExchangeFailure NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InformationExchangeFailureIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-informationExchangeFailure, ddMode common }
- CRITICALITY ignore
-}
-
--- *** BearerRearrangement ***
-bearerRearrangement NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE BearerRearrangementIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-BearerRearrangement, ddMode common }
- CRITICALITY ignore
-}
-
--- *** RadioLinkActivation (FDD) ***
-radioLinkActivationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkActivationCommandFDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkActivation, ddMode fdd }
- CRITICALITY ignore
-}
-
--- *** RadioLinkActivation (TDD) ***
-radioLinkActivationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkActivationCommandTDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkActivation, ddMode tdd }
- CRITICALITY ignore
-}
-
--- *** RadioLinkParameterUpdate (FDD) ***
-radioLinkParameterUpdateFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkParameterUpdateIndicationFDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkParameterUpdate, ddMode fdd }
- CRITICALITY ignore
-}
-
--- *** RadioLinkParameterUpdate (TDD) ***
-radioLinkParameterUpdateTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkParameterUpdateIndicationTDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkParameterUpdate, ddMode tdd }
- CRITICALITY ignore
-}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/p_record.asn1config b/lib/asn1/test/asn1_bin_SUITE_data/p_record.asn1config
deleted file mode 100644
index a8eb00d43d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/p_record.asn1config
+++ /dev/null
@@ -1 +0,0 @@
-{selective_decode,{'p_record',[{sel_dec,['PersonnelRecord',title]}]}}.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/p_record.set.asn b/lib/asn1/test/asn1_bin_SUITE_data/p_record.set.asn
deleted file mode 100644
index 24d502d067..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/p_record.set.asn
+++ /dev/null
@@ -1 +0,0 @@
-P-Record.py
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/subdir/MySO.asn b/lib/asn1/test/asn1_bin_SUITE_data/subdir/MySO.asn
deleted file mode 100644
index 4c649da4c4..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/subdir/MySO.asn
+++ /dev/null
@@ -1,14 +0,0 @@
-MySO DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- T
- FROM IMP;
-
-
-Seq2 ::= SEQUENCE {
- a T,
- b INTEGER}
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/DialoguePDUs.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/DialoguePDUs.asn
deleted file mode 100644
index 541dc55f6b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/DialoguePDUs.asn
+++ /dev/null
@@ -1,80 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
--- Module DialoguePDUs (Q.773:06/1997)
-DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2) version1(1)}
-DEFINITIONS ::=
-BEGIN
-
-EXPORTS dialogue-as-id, DialoguePDU;
-
--- abstract syntax name for structured dialogue APDUs
-dialogue-as-id OBJECT IDENTIFIER ::=
- {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)}
-
-DialoguePDU ::= CHOICE {
- dialogueRequest AARQ-apdu,
- dialogueResponse AARE-apdu,
- dialogueAbort ABRT-apdu
-}
-
-AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
- protocol-version
- [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
- application-context-name [1] OBJECT IDENTIFIER,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- protocol-version
- [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
- application-context-name [1] OBJECT IDENTIFIER,
- result [2] Associate-result,
- result-source-diagnostic [3] Associate-source-diagnostic,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
--- RLRQ PDU is currently not used.
--- It is included for completeness only.
-RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE {
- reason [0] IMPLICIT Release-request-reason OPTIONAL,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
--- RLRE PDU is currently not used.
--- It is included for completeness only
-RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE {
- reason [0] IMPLICIT Release-response-reason OPTIONAL,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE {
- abort-source [0] IMPLICIT ABRT-source,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-ABRT-source ::= INTEGER {dialogue-service-user(0), dialogue-service-provider(1)
-}
-
-Associate-result ::= INTEGER {accepted(0), reject-permanent(1)}
-
-Associate-source-diagnostic ::= CHOICE {
- dialogue-service-user
- [1] INTEGER {null(0), no-reason-given(1),
- application-context-name-not-supported(2)},
- dialogue-service-provider
- [2] INTEGER {null(0), no-reason-given(1), no-common-dialogue-portion(2)}
-}
-
--- Release-request-reason is currently not used.
--- It is included for completeness only.
-Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30)
-}
-
--- Release-response-reason is currently not used.
--- It is included for completeness only.
-Release-response-reason ::= INTEGER {
- normal(0), not-finished(1), user-defined(30)}
-
-END -- DialoguePDUs
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ApplicationContexts.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ApplicationContexts.asn
deleted file mode 100644
index 26367c8f39..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ApplicationContexts.asn
+++ /dev/null
@@ -1,186 +0,0 @@
-MAP-ApplicationContexts {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ApplicationContexts (2) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-
--- EXPORTS everything
-
-
-IMPORTS
- gsm-NetworkId,
- ac-Id
-FROM MobileDomainDefinitions {
- itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
- mobileDomainDefinitions (0) version1 (1)}
-;
-
--- application-context-names
-
-map-ac OBJECT IDENTIFIER ::= {gsm-NetworkId ac-Id}
-
-networkLocUpContext-v3 OBJECT IDENTIFIER ::=
- {map-ac networkLocUp(1) version3(3)}
-
-locationCancellationContext-v3 OBJECT IDENTIFIER ::=
- {map-ac locationCancel(2) version3(3)}
-
-roamingNumberEnquiryContext-v3 OBJECT IDENTIFIER ::=
- {map-ac roamingNbEnquiry(3) version3(3)}
-
-authenticationFailureReportContext-v3 OBJECT IDENTIFIER ::=
- {map-ac authenticationFailureReport(39) version3(3)}
-
-locationInfoRetrievalContext-v3 OBJECT IDENTIFIER ::=
- {map-ac locInfoRetrieval(5) version3(3)}
-
-resetContext-v2 OBJECT IDENTIFIER ::=
- {map-ac reset(10) version2(2)}
-
-handoverControlContext-v3 OBJECT IDENTIFIER ::=
- {map-ac handoverControl(11) version3(3)}
-
-equipmentMngtContext-v3 OBJECT IDENTIFIER ::=
- {map-ac equipmentMngt(13) version3(3)}
-
-infoRetrievalContext-v3 OBJECT IDENTIFIER ::=
- {map-ac infoRetrieval(14) version3(3)}
-
-interVlrInfoRetrievalContext-v3 OBJECT IDENTIFIER ::=
- {map-ac interVlrInfoRetrieval(15) version3(3)}
-
-subscriberDataMngtContext-v3 OBJECT IDENTIFIER ::=
- {map-ac subscriberDataMngt(16) version3(3)}
-
-tracingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac tracing(17) version3(3)}
-
-networkFunctionalSsContext-v2 OBJECT IDENTIFIER ::=
- {map-ac networkFunctionalSs(18) version2(2)}
-
-networkUnstructuredSsContext-v2 OBJECT IDENTIFIER ::=
- {map-ac networkUnstructuredSs(19) version2(2)}
-
-shortMsgGatewayContext-v3 OBJECT IDENTIFIER ::=
- {map-ac shortMsgGateway(20) version3(3)}
-
-shortMsgMO-RelayContext-v3 OBJECT IDENTIFIER ::=
- {map-ac shortMsgMO-Relay(21) version3(3)}
-
-shortMsgAlertContext-v2 OBJECT IDENTIFIER ::=
- {map-ac shortMsgAlert(23) version2(2)}
-
-mwdMngtContext-v3 OBJECT IDENTIFIER ::=
- {map-ac mwdMngt(24) version3(3)}
-
-shortMsgMT-RelayContext-v3 OBJECT IDENTIFIER ::=
- {map-ac shortMsgMT-Relay(25) version3(3)}
-
-imsiRetrievalContext-v2 OBJECT IDENTIFIER ::=
- {map-ac imsiRetrieval(26) version2(2)}
-
-msPurgingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac msPurging(27) version3(3)}
-
-subscriberInfoEnquiryContext-v3 OBJECT IDENTIFIER ::=
- {map-ac subscriberInfoEnquiry(28) version3(3)}
-
-anyTimeInfoEnquiryContext-v3 OBJECT IDENTIFIER ::=
- {map-ac anyTimeInfoEnquiry(29) version3(3)}
-
-callControlTransferContext-v4 OBJECT IDENTIFIER ::=
- {map-ac callControlTransfer(6) version4(4)}
-
-ss-InvocationNotificationContext-v3 OBJECT IDENTIFIER ::=
- {map-ac ss-InvocationNotification(36) version3(3)}
-
-groupCallControlContext-v3 OBJECT IDENTIFIER ::=
- {map-ac groupCallControl(31) version3(3)}
-
-gprsLocationUpdateContext-v3 OBJECT IDENTIFIER ::=
- {map-ac gprsLocationUpdate(32) version3(3)}
-
-gprsLocationInfoRetrievalContext-v4 OBJECT IDENTIFIER ::=
- {map-ac gprsLocationInfoRetrieval(33) version4(4)}
-
-failureReportContext-v3 OBJECT IDENTIFIER ::=
- {map-ac failureReport(34) version3(3)}
-
-gprsNotifyContext-v3 OBJECT IDENTIFIER ::=
- {map-ac gprsNotify(35) version3(3)}
-
-reportingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac reporting(7) version3(3)}
-
-callCompletionContext-v3 OBJECT IDENTIFIER ::=
- {map-ac callCompletion(8) version3(3)}
-
-istAlertingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac istAlerting(4) version3(3)}
-
-serviceTerminationContext-v3 OBJECT IDENTIFIER ::=
- {map-ac immediateTermination(9) version3(3)}
-
-locationSvcGatewayContext-v3 OBJECT IDENTIFIER ::=
- {map-ac locationSvcGateway(37) version3(3)}
-
-locationSvcEnquiryContext-v3 OBJECT IDENTIFIER ::=
- {map-ac locationSvcEnquiry(38) version3(3)}
-
-mm-EventReportingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac mm-EventReporting(42) version3(3)}
-
-anyTimeInfoHandlingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac anyTimeInfoHandling(43) version3(3)}
-
-subscriberDataModificationNotificationContext-v3 OBJECT IDENTIFIER ::=
- {map-ac subscriberDataModificationNotification(22) version3(3)}
-
-secureTransportHandlingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac secureTransportHandling(40) version3(3)}
-
--- The following Object Identifiers are reserved for application-contexts
--- existing in previous versions of the protocol
-
--- AC Name & Version Object Identifier
---
--- networkLocUpContext-v1 map-ac networkLocUp (1) version1 (1)
--- networkLocUpContext-v2 map-ac networkLocUp (1) version2 (2)
--- locationCancellationContext-v1 map-ac locationCancellation (2) version1 (1)
--- locationCancellationContext-v2 map-ac locationCancellation (2) version2 (2)
--- roamingNumberEnquiryContext-v1 map-ac roamingNumberEnquiry (3) version1 (1)
--- roamingNumberEnquiryContext-v2 map-ac roamingNumberEnquiry (3) version2 (2)
--- locationInfoRetrievalContext-v1 map-ac locationInfoRetrieval (5) version1 (1)
--- locationInfoRetrievalContext-v2 map-ac locationInfoRetrieval (5) version2 (2)
--- resetContext-v1 map-ac reset (10) version1 (1)
--- handoverControlContext-v1 map-ac handoverControl (11) version1 (1)
--- handoverControlContext-v2 map-ac handoverControl (11) version2 (2)
--- sIWFSAllocationContext-v3 map-ac sIWFSAllocation (12) version3 (3)
--- equipmentMngtContext-v1 map-ac equipmentMngt (13) version1 (1)
--- equipmentMngtContext-v2 map-ac equipmentMngt (13) version2 (2)
--- infoRetrievalContext-v1 map-ac infoRetrieval (14) version1 (1)
--- infoRetrievalContext-v2 map-ac infoRetrieval (14) version2 (2)
--- interVlrInfoRetrievalContext-v2 map-ac interVlrInfoRetrieval (15) version2 (2)
--- subscriberDataMngtContext-v1 map-ac subscriberDataMngt (16) version1 (1)
--- subscriberDataMngtContext-v2 map-ac subscriberDataMngt (16) version2 (2)
--- tracingContext-v1 map-ac tracing (17) version1 (1)
--- tracingContext-v2 map-ac tracing (17) version2 (2)
--- networkFunctionalSsContext-v1 map-ac networkFunctionalSs (18) version1 (1)
--- shortMsgGatewayContext-v1 map-ac shortMsgGateway (20) version1 (1)
--- shortMsgGatewayContext-v2 map-ac shortMsgGateway (20) version2 (2)
--- shortMsgRelayContext-v1 map-ac shortMsgRelay (21) version1 (1)
--- shortMsgAlertContext-v1 map-ac shortMsgAlert (23) version1 (1)
--- mwdMngtContext-v1 map-ac mwdMngt (24) version1 (1)
--- mwdMngtContext-v2 map-ac mwdMngt (24) version2 (2)
--- shortMsgMT-RelayContext-v2 map-ac shortMsgMT-Relay (25) version2 (2)
--- msPurgingContext-v2 map-ac msPurging (27) version2 (2)
--- callControlTransferContext-v3 map-ac callControlTransferContext (6) version3 (3)
--- gprsLocationInfoRetrievalContext-v3 map-ac gprsLocationInfoRetrievalContext (33) version3 (3)
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-BS-Code.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-BS-Code.asn
deleted file mode 100644
index d12501098e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-BS-Code.asn
+++ /dev/null
@@ -1,126 +0,0 @@
-MAP-BS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-BS-Code (20) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-BearerServiceCode ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- bearer service, a group of bearer services, or all bearer
- -- services. The services are defined in TS 3GPP TS 22.002 [3].
- -- The internal structure is defined as follows:
- --
- -- plmn-specific bearer services:
- -- bits 87654321: defined by the HPLMN operator
-
- -- rest of bearer services:
- -- bit 8: 0 (unused)
- -- bits 7654321: group (bits 7654), and rate, if applicable
- -- (bits 321)
-
-Ext-BearerServiceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- bearer service, a group of bearer services, or all bearer
- -- services. The services are defined in TS 3GPP TS 22.002 [3].
- -- The internal structure is defined as follows:
- --
- -- OCTET 1:
- -- plmn-specific bearer services:
- -- bits 87654321: defined by the HPLMN operator
- --
- -- rest of bearer services:
- -- bit 8: 0 (unused)
- -- bits 7654321: group (bits 7654), and rate, if applicable
- -- (bits 321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
-
- -- Ext-BearerServiceCode includes all values defined for BearerServiceCode.
-
-allBearerServices BearerServiceCode ::= '00000000'B
-
-allDataCDA-Services BearerServiceCode ::= '00010000'B
-dataCDA-300bps BearerServiceCode ::= '00010001'B
-dataCDA-1200bps BearerServiceCode ::= '00010010'B
-dataCDA-1200-75bps BearerServiceCode ::= '00010011'B
-dataCDA-2400bps BearerServiceCode ::= '00010100'B
-dataCDA-4800bps BearerServiceCode ::= '00010101'B
-dataCDA-9600bps BearerServiceCode ::= '00010110'B
-general-dataCDA BearerServiceCode ::= '00010111'B
-
-allDataCDS-Services BearerServiceCode ::= '00011000'B
-dataCDS-1200bps BearerServiceCode ::= '00011010'B
-dataCDS-2400bps BearerServiceCode ::= '00011100'B
-dataCDS-4800bps BearerServiceCode ::= '00011101'B
-dataCDS-9600bps BearerServiceCode ::= '00011110'B
-general-dataCDS BearerServiceCode ::= '00011111'B
-
-allPadAccessCA-Services BearerServiceCode ::= '00100000'B
-padAccessCA-300bps BearerServiceCode ::= '00100001'B
-padAccessCA-1200bps BearerServiceCode ::= '00100010'B
-padAccessCA-1200-75bps BearerServiceCode ::= '00100011'B
-padAccessCA-2400bps BearerServiceCode ::= '00100100'B
-padAccessCA-4800bps BearerServiceCode ::= '00100101'B
-padAccessCA-9600bps BearerServiceCode ::= '00100110'B
-general-padAccessCA BearerServiceCode ::= '00100111'B
-
-allDataPDS-Services BearerServiceCode ::= '00101000'B
-dataPDS-2400bps BearerServiceCode ::= '00101100'B
-dataPDS-4800bps BearerServiceCode ::= '00101101'B
-dataPDS-9600bps BearerServiceCode ::= '00101110'B
-general-dataPDS BearerServiceCode ::= '00101111'B
-
-allAlternateSpeech-DataCDA BearerServiceCode ::= '00110000'B
-
-allAlternateSpeech-DataCDS BearerServiceCode ::= '00111000'B
-
-allSpeechFollowedByDataCDA BearerServiceCode ::= '01000000'B
-
-allSpeechFollowedByDataCDS BearerServiceCode ::= '01001000'B
-
--- The following non-hierarchical Compound Bearer Service
--- Groups are defined in TS 3GPP TS 22.030:
-allDataCircuitAsynchronous BearerServiceCode ::= '01010000'B
- -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA" and
- -- "allSpeechFollowedByDataCDA"
-allAsynchronousServices BearerServiceCode ::= '01100000'B
- -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA",
- -- "allSpeechFollowedByDataCDA" and "allPadAccessCDA-Services"
-allDataCircuitSynchronous BearerServiceCode ::= '01011000'B
- -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS" and
- -- "allSpeechFollowedByDataCDS"
-allSynchronousServices BearerServiceCode ::= '01101000'B
- -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS",
- -- "allSpeechFollowedByDataCDS" and "allDataPDS-Services"
---
--- Compound Bearer Service Group Codes are only used in call
--- independent supplementary service operations, i.e. they
--- are not used in InsertSubscriberData or in
--- DeleteSubscriberData messages.
-
-allPLMN-specificBS BearerServiceCode ::= '11010000'B
-plmn-specificBS-1 BearerServiceCode ::= '11010001'B
-plmn-specificBS-2 BearerServiceCode ::= '11010010'B
-plmn-specificBS-3 BearerServiceCode ::= '11010011'B
-plmn-specificBS-4 BearerServiceCode ::= '11010100'B
-plmn-specificBS-5 BearerServiceCode ::= '11010101'B
-plmn-specificBS-6 BearerServiceCode ::= '11010110'B
-plmn-specificBS-7 BearerServiceCode ::= '11010111'B
-plmn-specificBS-8 BearerServiceCode ::= '11011000'B
-plmn-specificBS-9 BearerServiceCode ::= '11011001'B
-plmn-specificBS-A BearerServiceCode ::= '11011010'B
-plmn-specificBS-B BearerServiceCode ::= '11011011'B
-plmn-specificBS-C BearerServiceCode ::= '11011100'B
-plmn-specificBS-D BearerServiceCode ::= '11011101'B
-plmn-specificBS-E BearerServiceCode ::= '11011110'B
-plmn-specificBS-F BearerServiceCode ::= '11011111'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CH-DataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CH-DataTypes.asn
deleted file mode 100644
index 10e9d8ff98..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CH-DataTypes.asn
+++ /dev/null
@@ -1,438 +0,0 @@
-MAP-CH-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CH-DataTypes (13) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- SendRoutingInfoArg,
- SendRoutingInfoRes,
- ProvideRoamingNumberArg,
- ProvideRoamingNumberRes,
- ResumeCallHandlingArg,
- ResumeCallHandlingRes,
- NumberOfForwarding,
- SuppressionOfAnnouncement,
- CallReferenceNumber,
- SetReportingStateArg,
- SetReportingStateRes,
- StatusReportArg,
- StatusReportRes,
- RemoteUserFreeArg,
- RemoteUserFreeRes,
- IST-AlertArg,
- IST-AlertRes,
- IST-CommandArg,
-IST-CommandRes
-;
-
-IMPORTS
- SubscriberInfo,
- SupportedCamelPhases,
- OfferedCamel4CSIs,
- CUG-Interlock,
- O-CSI,
- D-CSI,
- O-BcsmCamelTDPCriteriaList,
- T-BCSM-CAMEL-TDP-CriteriaList,
- IST-SupportIndicator,
- IST-AlertTimerValue,
- T-CSI,
- NumberPortabilityStatus
-FROM MAP-MS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}
-
- ForwardingOptions,
- SS-List,
- CCBS-Feature
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
- ISDN-AddressString,
- ISDN-SubaddressString,
- FTN-AddressString,
- ExternalSignalInfo,
- Ext-ExternalSignalInfo,
- IMSI,
- LMSI,
- Ext-BasicServiceCode,
- AlertingPattern,
- NAEA-PreferredCI
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-;
-
-
-CUG-CheckInfo ::= SEQUENCE {
- cug-Interlock CUG-Interlock,
- cug-OutgoingAccess NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-NumberOfForwarding ::= INTEGER (1..5)
-
-SendRoutingInfoArg ::= SEQUENCE {
- msisdn [0] ISDN-AddressString,
- cug-CheckInfo [1] CUG-CheckInfo OPTIONAL,
- numberOfForwarding [2] NumberOfForwarding OPTIONAL,
- interrogationType [3] InterrogationType,
- or-Interrogation [4] NULL OPTIONAL,
- or-Capability [5] OR-Phase OPTIONAL,
- gmsc-OrGsmSCF-Address [6] ISDN-AddressString,
- callReferenceNumber [7] CallReferenceNumber OPTIONAL,
- forwardingReason [8] ForwardingReason OPTIONAL,
- basicServiceGroup [9] Ext-BasicServiceCode OPTIONAL,
- networkSignalInfo [10] ExternalSignalInfo OPTIONAL,
- camelInfo [11] CamelInfo OPTIONAL,
- suppressionOfAnnouncement [12] SuppressionOfAnnouncement OPTIONAL,
- extensionContainer [13] ExtensionContainer OPTIONAL,
- ...,
- alertingPattern [14] AlertingPattern OPTIONAL,
- ccbs-Call [15] NULL OPTIONAL,
- supportedCCBS-Phase [16] SupportedCCBS-Phase OPTIONAL,
- additionalSignalInfo [17] Ext-ExternalSignalInfo OPTIONAL,
- istSupportIndicator [18] IST-SupportIndicator OPTIONAL,
- pre-pagingSupported [19] NULL OPTIONAL,
- callDiversionTreatmentIndicator [20] CallDiversionTreatmentIndicator OPTIONAL,
- longFTN-Supported [21] NULL OPTIONAL,
- suppress-VT-CSI [22] NULL OPTIONAL,
- suppressIncomingCallBarring [23] NULL OPTIONAL,
- gsmSCF-InitiatedCall [24] NULL OPTIONAL,
- basicServiceGroup2 [25] Ext-BasicServiceCode OPTIONAL,
- networkSignalInfo2 [26] ExternalSignalInfo OPTIONAL
- }
-
-SuppressionOfAnnouncement ::= NULL
-
-InterrogationType ::= ENUMERATED {
- basicCall (0),
- forwarding (1)}
-
-OR-Phase ::= INTEGER (1..127)
-
-CallReferenceNumber ::= OCTET STRING (SIZE (1..8))
-
-ForwardingReason ::= ENUMERATED {
- notReachable (0),
- busy (1),
- noReply (2)}
-
-SupportedCCBS-Phase ::= INTEGER (1..127)
--- exception handling:
--- Only value 1 is used.
--- Values in the ranges 2-127 are reserved for future use.
--- If received values 2-127 shall be mapped on to value 1.
-
-CallDiversionTreatmentIndicator ::= OCTET STRING (SIZE(1))
--- callDiversionAllowed (xxxx xx01)
--- callDiversionNotAllowed (xxxx xx10)
--- network default is call diversion allowed
-
-SendRoutingInfoRes ::= [3] SEQUENCE {
- imsi [9] IMSI OPTIONAL,
- -- IMSI must be present if SendRoutingInfoRes is not segmented.
- -- If the TC-Result-NL segmentation option is taken the IMSI must be
- -- present in one segmented transmission of SendRoutingInfoRes.
- extendedRoutingInfo ExtendedRoutingInfo OPTIONAL,
- cug-CheckInfo [3] CUG-CheckInfo OPTIONAL,
- cugSubscriptionFlag [6] NULL OPTIONAL,
- subscriberInfo [7] SubscriberInfo OPTIONAL,
- ss-List [1] SS-List OPTIONAL,
- basicService [5] Ext-BasicServiceCode OPTIONAL,
- forwardingInterrogationRequired [4] NULL OPTIONAL,
- vmsc-Address [2] ISDN-AddressString OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ... ,
- naea-PreferredCI [10] NAEA-PreferredCI OPTIONAL,
- -- naea-PreferredCI is included at the discretion of the HLR operator.
- ccbs-Indicators [11] CCBS-Indicators OPTIONAL,
- msisdn [12] ISDN-AddressString OPTIONAL,
- numberPortabilityStatus [13] NumberPortabilityStatus OPTIONAL,
- istAlertTimer [14] IST-AlertTimerValue OPTIONAL,
- supportedCamelPhasesInVMSC [15] SupportedCamelPhases OPTIONAL,
- offeredCamel4CSIsInVMSC [16] OfferedCamel4CSIs OPTIONAL,
- routingInfo2 [17] RoutingInfo OPTIONAL,
- ss-List2 [18] SS-List OPTIONAL,
- basicService2 [19] Ext-BasicServiceCode OPTIONAL,
- allowedServices [20] AllowedServices OPTIONAL,
- unavailabilityCause [21] UnavailabilityCause OPTIONAL
- }
-
-AllowedServices ::= BIT STRING {
- firstServiceAllowed (0),
- secondServiceAllowed (1) } (SIZE (2..8))
- -- firstService is the service indicated in the networkSignalInfo
- -- secondService is the service indicated in the networkSignalInfo2
- -- Other bits than listed above shall be discarded
-
-UnavailabilityCause ::= ENUMERATED {
- bearerServiceNotProvisioned (1),
- teleserviceNotProvisioned (2),
- absentSubscriber (3),
- busySubscriber (4),
- callBarred (5),
- cug-Reject (6),
- ...}
- -- exception handling:
- -- Reception of other values than the ones listed shall result in the service
- -- being unavailable for that call.
-
-CCBS-Indicators ::= SEQUENCE {
- ccbs-Possible [0] NULL OPTIONAL,
- keepCCBS-CallIndicator [1] NULL OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-RoutingInfo ::= CHOICE {
- roamingNumber ISDN-AddressString,
- forwardingData ForwardingData}
-
-ForwardingData ::= SEQUENCE {
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- -- When this datatype is sent from an HLR which supports CAMEL Phase 2
- -- to a GMSC which supports CAMEL Phase 2 the GMSC shall not check the
- -- format of the number
- forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] ForwardingOptions OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...,
- longForwardedToNumber [8] FTN-AddressString OPTIONAL}
-
-ProvideRoamingNumberArg ::= SEQUENCE {
- imsi [0] IMSI,
- msc-Number [1] ISDN-AddressString,
- msisdn [2] ISDN-AddressString OPTIONAL,
- lmsi [4] LMSI OPTIONAL,
- gsm-BearerCapability [5] ExternalSignalInfo OPTIONAL,
- networkSignalInfo [6] ExternalSignalInfo OPTIONAL,
- suppressionOfAnnouncement [7] SuppressionOfAnnouncement OPTIONAL,
- gmsc-Address [8] ISDN-AddressString OPTIONAL,
- callReferenceNumber [9] CallReferenceNumber OPTIONAL,
- or-Interrogation [10] NULL OPTIONAL,
- extensionContainer [11] ExtensionContainer OPTIONAL,
- ... ,
- alertingPattern [12] AlertingPattern OPTIONAL,
- ccbs-Call [13] NULL OPTIONAL,
- supportedCamelPhasesInInterrogatingNode [15] SupportedCamelPhases OPTIONAL,
- additionalSignalInfo [14] Ext-ExternalSignalInfo OPTIONAL,
- orNotSupportedInGMSC [16] NULL OPTIONAL,
- pre-pagingSupported [17] NULL OPTIONAL,
- longFTN-Supported [18] NULL OPTIONAL,
- suppress-VT-CSI [19] NULL OPTIONAL,
- offeredCamel4CSIsInInterrogatingNode [20] OfferedCamel4CSIs OPTIONAL
- }
-
-ProvideRoamingNumberRes ::= SEQUENCE {
- roamingNumber ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ResumeCallHandlingArg ::= SEQUENCE {
- callReferenceNumber [0] CallReferenceNumber OPTIONAL,
- basicServiceGroup [1] Ext-BasicServiceCode OPTIONAL,
- forwardingData [2] ForwardingData OPTIONAL,
- imsi [3] IMSI OPTIONAL,
- cug-CheckInfo [4] CUG-CheckInfo OPTIONAL,
- o-CSI [5] O-CSI OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ccbs-Possible [8] NULL OPTIONAL,
- msisdn [9] ISDN-AddressString OPTIONAL,
- uu-Data [10] UU-Data OPTIONAL,
- allInformationSent [11] NULL OPTIONAL,
- ...,
- d-csi [12] D-CSI OPTIONAL,
- o-BcsmCamelTDPCriteriaList [13] O-BcsmCamelTDPCriteriaList OPTIONAL,
- basicServiceGroup2 [14] Ext-BasicServiceCode OPTIONAL
- }
-
-UU-Data ::= SEQUENCE {
- uuIndicator [0] UUIndicator OPTIONAL,
- uui [1] UUI OPTIONAL,
- uusCFInteraction [2] NULL OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-UUIndicator ::= OCTET STRING (SIZE (1))
- -- Octets are coded according to ETS 300 356
-
-UUI ::= OCTET STRING (SIZE (1..131))
- -- Octets are coded according to ETS 300 356
-
-ResumeCallHandlingRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CamelInfo ::= SEQUENCE {
- supportedCamelPhases SupportedCamelPhases,
- suppress-T-CSI NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- offeredCamel4CSIs [0] OfferedCamel4CSIs OPTIONAL }
-
-ExtendedRoutingInfo ::= CHOICE {
- routingInfo RoutingInfo,
- camelRoutingInfo [8] CamelRoutingInfo}
-
-CamelRoutingInfo ::= SEQUENCE {
- forwardingData ForwardingData OPTIONAL,
- gmscCamelSubscriptionInfo [0] GmscCamelSubscriptionInfo,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-GmscCamelSubscriptionInfo ::= SEQUENCE {
- t-CSI [0] T-CSI OPTIONAL,
- o-CSI [1] O-CSI OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- o-BcsmCamelTDP-CriteriaList [3] O-BcsmCamelTDPCriteriaList OPTIONAL,
- t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- d-csi [5] D-CSI OPTIONAL}
-
-SetReportingStateArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
- lmsi [1] LMSI OPTIONAL,
- ccbs-Monitoring [2] ReportingState OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-ReportingState ::= ENUMERATED {
- stopMonitoring (0),
- startMonitoring (1),
- ...}
- -- exception handling:
- -- reception of values 2-10 shall be mapped to 'stopMonitoring'
- -- reception of values > 10 shall be mapped to 'startMonitoring'
-
-SetReportingStateRes ::= SEQUENCE{
- ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-CCBS-SubscriberStatus ::= ENUMERATED {
- ccbsNotIdle (0),
- ccbsIdle (1),
- ccbsNotReachable (2),
- ...}
- -- exception handling:
- -- reception of values 3-10 shall be mapped to 'ccbsNotIdle'
- -- reception of values 11-20 shall be mapped to 'ccbsIdle'
- -- reception of values > 20 shall be mapped to 'ccbsNotReachable'
-
-StatusReportArg ::= SEQUENCE{
- imsi [0] IMSI,
- eventReportData [1] EventReportData OPTIONAL,
- callReportdata [2] CallReportData OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-EventReportData ::= SEQUENCE{
- ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-CallReportData ::= SEQUENCE{
- monitoringMode [0] MonitoringMode OPTIONAL,
- callOutcome [1] CallOutcome OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-MonitoringMode ::= ENUMERATED {
- a-side (0),
- b-side (1),
- ...}
- -- exception handling:
- -- reception of values 2-10 shall be mapped 'a-side'
- -- reception of values > 10 shall be mapped to 'b-side'
-
-CallOutcome ::= ENUMERATED {
- success (0),
- failure (1),
- busy (2),
- ...}
- -- exception handling:
- -- reception of values 3-10 shall be mapped to 'success'
- -- reception of values 11-20 shall be mapped to 'failure'
- -- reception of values > 20 shall be mapped to 'busy'
-
-StatusReportRes ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-RemoteUserFreeArg ::= SEQUENCE{
- imsi [0] IMSI,
- callInfo [1] ExternalSignalInfo,
- ccbs-Feature [2] CCBS-Feature,
- translatedB-Number [3] ISDN-AddressString,
- replaceB-Number [4] NULL OPTIONAL,
- alertingPattern [5] AlertingPattern OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...}
-
-RemoteUserFreeRes ::= SEQUENCE{
- ruf-Outcome [0] RUF-Outcome,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-RUF-Outcome ::= ENUMERATED{
- accepted (0),
- rejected (1),
- noResponseFromFreeMS (2), -- T4 Expiry
- noResponseFromBusyMS (3), -- T10 Expiry
- udubFromFreeMS (4),
- udubFromBusyMS (5),
- ...}
- -- exception handling:
- -- reception of values 6-20 shall be mapped to 'accepted'
- -- reception of values 21-30 shall be mapped to 'rejected'
- -- reception of values 31-40 shall be mapped to 'noResponseFromFreeMS'
- -- reception of values 41-50 shall be mapped to 'noResponseFromBusyMS'
- -- reception of values 51-60 shall be mapped to 'udubFromFreeMS'
- -- reception of values > 60 shall be mapped to 'udubFromBusyMS'
-
-IST-AlertArg ::= SEQUENCE{
- imsi [0] IMSI,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-IST-AlertRes ::= SEQUENCE{
- istAlertTimer [0] IST-AlertTimerValue OPTIONAL,
- istInformationWithdraw [1] NULL OPTIONAL,
- callTerminationIndicator [2] CallTerminationIndicator OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-IST-CommandArg ::= SEQUENCE{
- imsi [0] IMSI,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-IST-CommandRes ::= SEQUENCE{
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CallTerminationIndicator ::= ENUMERATED {
- terminateCallActivityReferred (0),
- terminateAllCallActivities (1),
- ...}
- -- exception handling:
- -- reception of values 2-10 shall be mapped to ' terminateCallActivityReferred '
- -- reception of values > 10 shall be mapped to ' terminateAllCallActivities '
-
- -- In MSCs not supporting linkage of all call activities, any value received shall
- -- be interpreted as ' terminateCallActivityReferred '
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CallHandlingOperations.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CallHandlingOperations.asn
deleted file mode 100644
index 473e968247..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CallHandlingOperations.asn
+++ /dev/null
@@ -1,198 +0,0 @@
-MAP-CallHandlingOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CallHandlingOperations (7)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- sendRoutingInfo,
- provideRoamingNumber,
- resumeCallHandling,
- setReportingState,
- statusReport,
- remoteUserFree,
- ist-Alert,
- ist-Command
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- facilityNotSupported,
- or-NotAllowed,
- unknownSubscriber,
- numberChanged,
- bearerServiceNotProvisioned,
- teleserviceNotProvisioned,
- noRoamingNumberAvailable,
- absentSubscriber,
- busySubscriber,
- noSubscriberReply,
- callBarred,
- forwardingViolation,
- forwardingFailed,
- cug-Reject,
- resourceLimitation,
- incompatibleTerminal,
- unidentifiedSubscriber
-
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
- SendRoutingInfoArg,
- SendRoutingInfoRes,
- ProvideRoamingNumberArg,
- ProvideRoamingNumberRes,
- ResumeCallHandlingArg,
- ResumeCallHandlingRes,
- SetReportingStateArg,
- SetReportingStateRes,
- StatusReportArg,
- StatusReportRes,
- RemoteUserFreeArg,
- RemoteUserFreeRes,
- IST-AlertArg,
- IST-AlertRes,
- IST-CommandArg,
- IST-CommandRes
-FROM MAP-CH-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CH-DataTypes (13) version9 (9)}
-
-;
-
-sendRoutingInfo OPERATION ::= { --Timer m
--- The timer is set to the upper limit of the range if the GMSC supports pre-paging.
- ARGUMENT
- SendRoutingInfoArg
- RESULT
- SendRoutingInfoRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- or-NotAllowed |
- unknownSubscriber |
- numberChanged |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- absentSubscriber |
- busySubscriber |
- noSubscriberReply |
- callBarred |
- cug-Reject |
- forwardingViolation}
- CODE local:22 }
-
-provideRoamingNumber OPERATION ::= { --Timer m
--- The timer is set to the upper limit of the range if the HLR supports pre-paging.
- ARGUMENT
- ProvideRoamingNumberArg
- RESULT
- ProvideRoamingNumberRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- or-NotAllowed |
- absentSubscriber |
- noRoamingNumberAvailable}
- CODE local:4 }
-
-resumeCallHandling OPERATION ::= { --Timer m
- ARGUMENT
- ResumeCallHandlingArg
- RESULT
- ResumeCallHandlingRes
- -- optional
- ERRORS {
- forwardingFailed |
- or-NotAllowed |
- unexpectedDataValue |
- dataMissing }
- CODE local:6 }
-
-setReportingState OPERATION ::= { --Timer m
- ARGUMENT
- SetReportingStateArg
- RESULT
- SetReportingStateRes
- -- optional
- ERRORS {
- systemFailure |
- unidentifiedSubscriber |
- unexpectedDataValue |
- dataMissing |
- resourceLimitation |
- facilityNotSupported}
- CODE local:73 }
-
-statusReport OPERATION ::= { --Timer m
- ARGUMENT
- StatusReportArg
- RESULT
- StatusReportRes
- -- optional
- ERRORS {
- unknownSubscriber |
- systemFailure |
- unexpectedDataValue |
- dataMissing}
- CODE local:74 }
-
-remoteUserFree OPERATION ::= { --Timer ml
- ARGUMENT
- RemoteUserFreeArg
- RESULT
- RemoteUserFreeRes
- ERRORS {
- unexpectedDataValue |
- dataMissing |
- incompatibleTerminal |
- absentSubscriber |
- systemFailure |
- busySubscriber}
- CODE local:75 }
-
-ist-Alert OPERATION ::= { --Timer m
- ARGUMENT
- IST-AlertArg
- RESULT
- IST-AlertRes
- -- optional
- ERRORS {
- unexpectedDataValue |
- resourceLimitation |
- unknownSubscriber |
- systemFailure |
- facilityNotSupported}
- CODE local:87 }
-
-ist-Command OPERATION::= { --Timer m
- ARGUMENT
- IST-CommandArg
- RESULT
- IST-CommandRes
- -- optional
- ERRORS {
- unexpectedDataValue |
- resourceLimitation |
- unknownSubscriber |
- systemFailure |
- facilityNotSupported}
- CODE local:88 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CommonDataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CommonDataTypes.asn
deleted file mode 100644
index 55d234e91f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-CommonDataTypes.asn
+++ /dev/null
@@ -1,612 +0,0 @@
-MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- general data types and values
- AddressString,
- ISDN-AddressString,
- maxISDN-AddressLength,
- FTN-AddressString,
- ISDN-SubaddressString,
- ExternalSignalInfo,
- Ext-ExternalSignalInfo,
- AccessNetworkSignalInfo,
- SignalInfo,
- maxSignalInfoLength,
- AlertingPattern,
- TBCD-STRING,
-
- -- data types for numbering and identification
- IMSI,
- TMSI,
- Identity,
- SubscriberId,
- IMEI,
- HLR-List,
- LMSI,
- GlobalCellId,
- NetworkResource,
- AdditionalNetworkResource,
- NAEA-PreferredCI,
- NAEA-CIC,
- ASCI-CallReference,
- SubscriberIdentity,
-
- -- data types for CAMEL
- CellGlobalIdOrServiceAreaIdOrLAI,
- CellGlobalIdOrServiceAreaIdFixedLength,
- LAIFixedLength,
-
- -- data types for subscriber management
- BasicServiceCode,
- Ext-BasicServiceCode,
- EMLPP-Info,
- EMLPP-Priority,
- MC-SS-Info,
- MaxMC-Bearers,
- MC-Bearers,
- Ext-SS-Status,
-
- -- data types for geographic location
- AgeOfLocationInformation,
- LCSClientExternalID,
- LCSClientInternalID,
- LCSServiceTypeID
-;
-
-IMPORTS
- TeleserviceCode,
- Ext-TeleserviceCode
-FROM MAP-TS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)}
-
- BearerServiceCode,
- Ext-BearerServiceCode
-FROM MAP-BS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-BS-Code (20) version9 (9)}
-
- SS-Code
-FROM MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-;
-
-
--- general data types
-
-TBCD-STRING ::= OCTET STRING
- -- This type (Telephony Binary Coded Decimal String) is used to
- -- represent several digits from 0 through 9, *, #, a, b, c, two
- -- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
- -- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
- -- as filler when there is an odd number of digits.
-
- -- bits 8765 of octet n encoding digit 2n
- -- bits 4321 of octet n encoding digit 2(n-1) +1
-
-AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
- -- This type is used to represent a number for addressing
- -- purposes. It is composed of
- -- a) one octet for nature of address, and numbering plan
- -- indicator.
- -- b) digits of an address encoded as TBCD-String.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits nature of address indicator and a 4 bits numbering
- -- plan indicator, encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: nature of address indicator
- -- 000 unknown
- -- 001 international number
- -- 010 national significant number
- -- 011 network specific number
- -- 100 subscriber number
- -- 101 reserved
- -- 110 abbreviated number
- -- 111 reserved for extension
-
- -- bits 4321: numbering plan indicator
- -- 0000 unknown
- -- 0001 ISDN/Telephony Numbering Plan (Rec ITU-T E.164)
- -- 0010 spare
- -- 0011 data numbering plan (ITU-T Rec X.121)
- -- 0100 telex numbering plan (ITU-T Rec F.69)
- -- 0101 spare
- -- 0110 land mobile numbering plan (ITU-T Rec E.212)
- -- 0111 spare
- -- 1000 national numbering plan
- -- 1001 private numbering plan
- -- 1111 reserved for extension
-
- -- all other values are reserved.
-
- -- b) The following octets representing digits of an address
- -- encoded as a TBCD-STRING.
-
-maxAddressLength INTEGER ::= 20
-
-ISDN-AddressString ::=
- AddressString (SIZE (1..maxISDN-AddressLength))
- -- This type is used to represent ISDN numbers.
-
-maxISDN-AddressLength INTEGER ::= 9
-
-FTN-AddressString ::=
- AddressString (SIZE (1..maxFTN-AddressLength))
- -- This type is used to represent forwarded-to numbers.
- -- For long forwarded-to numbers (longer than 15 digits) NPI shall be unknown;
- -- if NAI = international the first digits represent the country code (CC)
- -- and the network destination code (NDC) as for E.164.
-
-maxFTN-AddressLength INTEGER ::= 15
-
-ISDN-SubaddressString ::=
- OCTET STRING (SIZE (1..maxISDN-SubaddressLength))
- -- This type is used to represent ISDN subaddresses.
- -- It is composed of
- -- a) one octet for type of subaddress and odd/even indicator.
- -- b) 20 octets for subaddress information.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits type of subaddress and a one bit odd/even indicator,
- -- encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: type of subaddress
- -- 000 NSAP (X.213/ISO 8348 AD2)
- -- 010 User Specified
- -- All other values are reserved
-
- -- bit 4: odd/even indicator
- -- 0 even number of address signals
- -- 1 odd number of address signals
- -- The odd/even indicator is used when the type of subaddress
- -- is "user specified" and the coding is BCD.
-
- -- bits 321: 000 (unused)
-
- -- b) Subaddress information.
- -- The NSAP X.213/ISO8348AD2 address shall be formatted as specified
- -- by octet 4 which contains the Authority and Format Identifier
- -- (AFI). The encoding is made according to the "preferred binary
- -- encoding" as defined in X.213/ISO834AD2. For the definition
- -- of this type of subaddress, see ITU-T Rec I.334.
-
- -- For User-specific subaddress, this field is encoded according
- -- to the user specification, subject to a maximum length of 20
- -- octets. When interworking with X.25 networks BCD coding should
- -- be applied.
-
-maxISDN-SubaddressLength INTEGER ::= 21
-
-ExternalSignalInfo ::= SEQUENCE {
- protocolId ProtocolId,
- signalInfo SignalInfo,
- -- Information about the internal structure is given in
- -- clause 7.6.9.
- extensionContainer ExtensionContainer OPTIONAL,
- -- extensionContainer must not be used in version 2
- ...}
-
-SignalInfo ::= OCTET STRING (SIZE (1..maxSignalInfoLength))
-
-maxSignalInfoLength INTEGER ::= 200
- -- This NamedValue represents the theoretical maximum number of octets which is
- -- available to carry a single instance of the SignalInfo data type,
- -- without requiring segmentation to cope with the network layer service.
- -- However, the actual maximum size available for an instance of the data
- -- type may be lower, especially when other information elements
- -- have to be included in the same component.
-
-ProtocolId ::= ENUMERATED {
- gsm-0408 (1),
- gsm-0806 (2),
- gsm-BSSMAP (3),
- -- Value 3 is reserved and must not be used
- ets-300102-1 (4)}
-
-Ext-ExternalSignalInfo ::= SEQUENCE {
- ext-ProtocolId Ext-ProtocolId,
- signalInfo SignalInfo,
- -- Information about the internal structure is given in
- -- clause 7.6.9.10
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-ProtocolId ::= ENUMERATED {
- ets-300356 (1),
- ...
- }
--- exception handling:
--- For Ext-ExternalSignalInfo sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- Ext-ExternalSignalInfo sequence.
-
-AccessNetworkSignalInfo ::= SEQUENCE {
- accessNetworkProtocolId AccessNetworkProtocolId,
- signalInfo LongSignalInfo,
- -- Information about the internal structure is given in clause 7.6.9.1
-
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-LongSignalInfo ::= OCTET STRING (SIZE (1..maxLongSignalInfoLength))
-
-maxLongSignalInfoLength INTEGER ::= 2560
- -- This Named Value represents the maximum number of octets which is available
- -- to carry a single instance of the LongSignalInfo data type using
- -- White Book SCCP with the maximum number of segments.
- -- It takes account of the octets used by the lower layers of the protocol, and
- -- other information elements which may be included in the same component.
-
-AccessNetworkProtocolId ::= ENUMERATED {
- ts3G-48006 (1),
- ts3G-25413 (2),
- ...}
- -- exception handling:
- -- For AccessNetworkSignalInfo sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- AccessNetworkSignalInfo sequence.
-
-AlertingPattern ::= OCTET STRING (SIZE (1) )
- -- This type is used to represent Alerting Pattern
-
- -- bits 8765 : 0000 (unused)
-
- -- bits 43 : type of Pattern
- -- 00 level
- -- 01 category
- -- 10 category
- -- all other values are reserved.
-
- -- bits 21 : type of alerting
-
-alertingLevel-0 AlertingPattern ::= '00000000'B
-alertingLevel-1 AlertingPattern ::= '00000001'B
-alertingLevel-2 AlertingPattern ::= '00000010'B
- -- all other values of Alerting level are reserved
- -- Alerting Levels are defined in GSM 02.07
-
-alertingCategory-1 AlertingPattern ::= '00000100'B
-alertingCategory-2 AlertingPattern ::= '00000101'B
-alertingCategory-3 AlertingPattern ::= '00000110'B
-alertingCategory-4 AlertingPattern ::= '00000111'B
-alertingCategory-5 AlertingPattern ::= '00001000'B
- -- all other values of Alerting Category are reserved
- -- Alerting categories are defined in GSM 02.07
-
--- data types for numbering and identification
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
- -- digits of MCC, MNC, MSIN are concatenated in this order.
-
-Identity ::= CHOICE {
- imsi IMSI,
- imsi-WithLMSI IMSI-WithLMSI}
-
-IMSI-WithLMSI ::= SEQUENCE {
- imsi IMSI,
- lmsi LMSI,
- -- a special value 00000000 indicates that the LMSI is not in use
- ...}
-
-ASCI-CallReference ::= TBCD-STRING (SIZE (1..8))
- -- digits of VGCS/VBC-area,Group-ID are concatenated in this order.
-
-TMSI ::= OCTET STRING (SIZE (1..4))
-
-SubscriberId ::= CHOICE {
- imsi [0] IMSI,
- tmsi [1] TMSI}
-
-IMEI ::= TBCD-STRING (SIZE (8))
- -- Refers to International Mobile Station Equipment Identity
- -- and Software Version Number (SVN) defined in TS 3GPP TS 23.003 [17].
- -- If the SVN is not present the last octet shall contain the
- -- digit 0 and a filler.
- -- If present the SVN shall be included in the last octet.
-
-HLR-Id ::= IMSI
- -- leading digits of IMSI, i.e. (MCC, MNC, leading digits of
- -- MSIN) forming HLR Id defined in TS 3GPP TS 23.003 [17].
-
-HLR-List ::= SEQUENCE SIZE (1..maxNumOfHLR-Id) OF
- HLR-Id
-
-maxNumOfHLR-Id INTEGER ::= 50
-
-LMSI ::= OCTET STRING (SIZE (4))
-
-GlobalCellId ::= OCTET STRING (SIZE (5..7))
- -- Refers to Cell Global Identification defined in TS 3GPP TS 23.003 [17].
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35]
- -- octets 6 and 7 Cell Identity (CI) according to TS 3GPP TS 24.008 [35]
-
-NetworkResource ::= ENUMERATED {
- plmn (0),
- hlr (1),
- vlr (2),
- pvlr (3),
- controllingMSC (4),
- vmsc (5),
- eir (6),
- rss (7)}
-
-AdditionalNetworkResource ::= ENUMERATED {
- sgsn (0),
- ggsn (1),
- gmlc (2),
- gsmSCF (3),
- nplr (4),
- auc (5),
- ...}
- -- if unknown value is received in AdditionalNetworkResource
- -- it shall be ignored.
-
-
-NAEA-PreferredCI ::= SEQUENCE {
- naea-PreferredCIC [0] NAEA-CIC,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-NAEA-CIC ::= OCTET STRING (SIZE (3))
- -- The internal structure is defined by the Carrier Identification
- -- parameter in ANSI T1.113.3. Carrier codes between "000" and "999" may
- -- be encoded as 3 digits using "000" to "999" or as 4 digits using
- -- "0000" to "0999". Carrier codes between "1000" and "9999" are encoded
- -- using 4 digits.
-
-SubscriberIdentity ::= CHOICE {
- imsi [0] IMSI,
- msisdn [1] ISDN-AddressString
- }
-
-LCSClientExternalID ::= SEQUENCE {
- externalAddress [0] ISDN-AddressString OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... }
-
-LCSClientInternalID ::= ENUMERATED {
- broadcastService (0),
- o-andM-HPLMN (1),
- o-andM-VPLMN (2),
- anonymousLocation (3),
- targetMSsubscribedService (4),
- ... }
--- for a CAMEL phase 3 PLMN operator client, the value targetMSsubscribedService shall be used
-
-LCSServiceTypeID ::= INTEGER (0..127)
- -- the integer values 0-63 are reserved for Standard LCS service types
- -- the integer values 64-127 are reserved for Non Standard LCS service types
-
--- Standard LCS Service Types
-emergencyServices LCSServiceTypeID ::= 0
-emergencyAlertServices LCSServiceTypeID ::= 1
-personTracking LCSServiceTypeID ::= 2
-fleetManagement LCSServiceTypeID ::= 3
-assetManagement LCSServiceTypeID ::= 4
-trafficCongestionReporting LCSServiceTypeID ::= 5
-roadsideAssistance LCSServiceTypeID ::= 6
-routingToNearestCommercialEnterprise LCSServiceTypeID ::= 7
-navigation LCSServiceTypeID ::= 8
- --this service type is reserved for use in previous releases
-citySightseeing LCSServiceTypeID ::= 9
-localizedAdvertising LCSServiceTypeID ::= 10
-mobileYellowPages LCSServiceTypeID ::= 11
-trafficAndPublicTransportationInfo LCSServiceTypeID ::= 12
-weather LCSServiceTypeID ::= 13
-assetAndServiceFinding LCSServiceTypeID ::= 14
-gaming LCSServiceTypeID ::= 15
-findYourFriend LCSServiceTypeID ::= 16
-dating LCSServiceTypeID ::= 17
-chatting LCSServiceTypeID ::= 18
-routeFinding LCSServiceTypeID ::= 19
-whereAmI LCSServiceTypeID ::= 20
-
--- The values of LCSServiceTypeID are defined according to 3GPP TS 22.071.
-
--- Non Standard LCS Service Types
-serv64 LCSServiceTypeID ::= 64
-serv65 LCSServiceTypeID ::= 65
-serv66 LCSServiceTypeID ::= 66
-serv67 LCSServiceTypeID ::= 67
-serv68 LCSServiceTypeID ::= 68
-serv69 LCSServiceTypeID ::= 69
-serv70 LCSServiceTypeID ::= 70
-serv71 LCSServiceTypeID ::= 71
-serv72 LCSServiceTypeID ::= 72
-serv73 LCSServiceTypeID ::= 73
-serv74 LCSServiceTypeID ::= 74
-serv75 LCSServiceTypeID ::= 75
-serv76 LCSServiceTypeID ::= 76
-serv77 LCSServiceTypeID ::= 77
-serv78 LCSServiceTypeID ::= 78
-serv79 LCSServiceTypeID ::= 79
-serv80 LCSServiceTypeID ::= 80
-serv81 LCSServiceTypeID ::= 81
-serv82 LCSServiceTypeID ::= 82
-serv83 LCSServiceTypeID ::= 83
-serv84 LCSServiceTypeID ::= 84
-serv85 LCSServiceTypeID ::= 85
-serv86 LCSServiceTypeID ::= 86
-serv87 LCSServiceTypeID ::= 87
-serv88 LCSServiceTypeID ::= 88
-serv89 LCSServiceTypeID ::= 89
-serv90 LCSServiceTypeID ::= 90
-serv91 LCSServiceTypeID ::= 91
-serv92 LCSServiceTypeID ::= 92
-serv93 LCSServiceTypeID ::= 93
-serv94 LCSServiceTypeID ::= 94
-serv95 LCSServiceTypeID ::= 95
-serv96 LCSServiceTypeID ::= 96
-serv97 LCSServiceTypeID ::= 97
-serv98 LCSServiceTypeID ::= 98
-serv99 LCSServiceTypeID ::= 99
-serv100 LCSServiceTypeID ::= 100
-serv101 LCSServiceTypeID ::= 101
-serv102 LCSServiceTypeID ::= 102
-serv103 LCSServiceTypeID ::= 103
-serv104 LCSServiceTypeID ::= 104
-serv105 LCSServiceTypeID ::= 105
-serv106 LCSServiceTypeID ::= 106
-serv107 LCSServiceTypeID ::= 107
-serv108 LCSServiceTypeID ::= 108
-serv109 LCSServiceTypeID ::= 109
-serv110 LCSServiceTypeID ::= 110
-serv111 LCSServiceTypeID ::= 111
-serv112 LCSServiceTypeID ::= 112
-serv113 LCSServiceTypeID ::= 113
-serv114 LCSServiceTypeID ::= 114
-serv115 LCSServiceTypeID ::= 115
-serv116 LCSServiceTypeID ::= 116
-serv117 LCSServiceTypeID ::= 117
-serv118 LCSServiceTypeID ::= 118
-serv119 LCSServiceTypeID ::= 119
-serv120 LCSServiceTypeID ::= 120
-serv121 LCSServiceTypeID ::= 121
-serv122 LCSServiceTypeID ::= 122
-serv123 LCSServiceTypeID ::= 123
-serv124 LCSServiceTypeID ::= 124
-serv125 LCSServiceTypeID ::= 125
-serv126 LCSServiceTypeID ::= 126
-serv127 LCSServiceTypeID ::= 127
-
--- data types for CAMEL
-
-CellGlobalIdOrServiceAreaIdOrLAI ::= CHOICE {
- cellGlobalIdOrServiceAreaIdFixedLength [0] CellGlobalIdOrServiceAreaIdFixedLength,
- laiFixedLength [1] LAIFixedLength}
-
-CellGlobalIdOrServiceAreaIdFixedLength ::= OCTET STRING (SIZE (7))
- -- Refers to Cell Global Identification or Service Are Identification
- -- defined in 3GPP TS 23.003.
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to 3GPP TS 24.008
- -- octets 6 and 7 Cell Identity (CI) value or
- -- Service Area Code (SAC) value
- -- according to 3GPP TS 23.003
-
-LAIFixedLength ::= OCTET STRING (SIZE (5))
- -- Refers to Location Area Identification defined in TS 3GPP TS 23.003 [17].
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35]
-
--- data types for subscriber management
-
-BasicServiceCode ::= CHOICE {
- bearerService [2] BearerServiceCode,
- teleservice [3] TeleserviceCode}
-
-Ext-BasicServiceCode ::= CHOICE {
- ext-BearerService [2] Ext-BearerServiceCode,
- ext-Teleservice [3] Ext-TeleserviceCode}
-
-EMLPP-Info ::= SEQUENCE {
- maximumentitledPriority EMLPP-Priority,
- defaultPriority EMLPP-Priority,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-EMLPP-Priority ::= INTEGER (0..15)
- -- The mapping from the values A,B,0,1,2,3,4 to the integer-value is
- -- specified as follows where A is the highest and 4 is the lowest
- -- priority level
- -- the integer values 7-15 are spare and shall be mapped to value 4
-
-priorityLevelA EMLPP-Priority ::= 6
-priorityLevelB EMLPP-Priority ::= 5
-priorityLevel0 EMLPP-Priority ::= 0
-priorityLevel1 EMLPP-Priority ::= 1
-priorityLevel2 EMLPP-Priority ::= 2
-priorityLevel3 EMLPP-Priority ::= 3
-priorityLevel4 EMLPP-Priority ::= 4
-
-MC-SS-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ss-Status [1] Ext-SS-Status,
- nbrSB [2] MaxMC-Bearers,
- nbrUser [3] MC-Bearers,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-MaxMC-Bearers ::= INTEGER (2..maxNumOfMC-Bearers)
-
-MC-Bearers ::= INTEGER (1..maxNumOfMC-Bearers)
-
-maxNumOfMC-Bearers INTEGER ::= 7
-
-Ext-SS-Status ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
- --
- -- bits 8765: 0000 (unused)
- -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
- -- representing supplementary service state information
- -- as defined in TS 3GPP TS 23.011 [22]
-
- -- bit 4: "Q bit"
-
- -- bit 3: "P bit"
-
- -- bit 2: "R bit"
-
- -- bit 1: "A bit"
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-
- -- data types for geographic location
-
-AgeOfLocationInformation ::= INTEGER (0..32767)
--- the value represents the elapsed time in minutes since the last
--- network contact of the mobile station (i.e. the actuality of the
--- location information).
--- value "0" indicates that the MS is currently in contact with the
--- network
--- value "32767" indicates that the location information is at least
--- 32767 minutes old
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-DialogueInformation.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-DialogueInformation.asn
deleted file mode 100644
index 5854cbe6b8..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-DialogueInformation.asn
+++ /dev/null
@@ -1,149 +0,0 @@
-MAP-DialogueInformation {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-DialogueInformation (3) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- map-DialogueAS,
- MAP-DialoguePDU,
- map-ProtectedDialogueAS,
- MAP-ProtectedDialoguePDU
-
-;
-
-IMPORTS
- gsm-NetworkId,
- as-Id
-FROM MobileDomainDefinitions {
- itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
- mobileDomainDefinitions (0) version1 (1)}
-
- AddressString
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network(1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
- SecurityHeader,
- ProtectedPayload
-FROM MAP-ST-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)}
-
-;
-
-
--- abstract syntax name for MAP-DialoguePDU
-
-map-DialogueAS OBJECT IDENTIFIER ::=
- {gsm-NetworkId as-Id map-DialoguePDU (1) version1 (1)}
-
-MAP-DialoguePDU ::= CHOICE {
- map-open [0] MAP-OpenInfo,
- map-accept [1] MAP-AcceptInfo,
- map-close [2] MAP-CloseInfo,
- map-refuse [3] MAP-RefuseInfo,
- map-userAbort [4] MAP-UserAbortInfo,
- map-providerAbort [5] MAP-ProviderAbortInfo}
-
-MAP-OpenInfo ::= SEQUENCE {
- destinationReference [0] AddressString OPTIONAL,
- originationReference [1] AddressString OPTIONAL,
- ...,
- extensionContainer ExtensionContainer OPTIONAL
- -- extensionContainer must not be used in version 2
- }
-
-MAP-AcceptInfo ::= SEQUENCE {
- ...,
- extensionContainer ExtensionContainer OPTIONAL
- -- extensionContainer must not be used in version 2
- }
-
-MAP-CloseInfo ::= SEQUENCE {
- ...,
- extensionContainer ExtensionContainer OPTIONAL
- -- extensionContainer must not be used in version 2
- }
-
-MAP-RefuseInfo ::= SEQUENCE {
- reason Reason,
- ...,
- extensionContainer ExtensionContainer OPTIONAL,
- -- extensionContainer must not be used in version 2
- alternativeApplicationContext OBJECT IDENTIFIER OPTIONAL
- -- alternativeApplicationContext must not be used in version 2
- }
-
-Reason ::= ENUMERATED {
- noReasonGiven (0),
- invalidDestinationReference (1),
- invalidOriginatingReference (2),
- encapsulatedAC-NotSupported (3) ,
- transportProtectionNotAdequate (4)}
- -- encapsulatedAC-NotSupported and transportProtectionNotAdequate must not be used in
- -- dialogues with an AC different from secureTransportHandling
-
-MAP-UserAbortInfo ::= SEQUENCE {
- map-UserAbortChoice MAP-UserAbortChoice,
- ...,
- extensionContainer ExtensionContainer OPTIONAL
- -- extensionContainer must not be used in version 2
- }
-
-MAP-UserAbortChoice ::= CHOICE {
- userSpecificReason [0] NULL,
- userResourceLimitation [1] NULL,
- resourceUnavailable [2] ResourceUnavailableReason,
- applicationProcedureCancellation [3] ProcedureCancellationReason}
-
-ResourceUnavailableReason ::= ENUMERATED {
- shortTermResourceLimitation (0),
- longTermResourceLimitation (1)}
-
-ProcedureCancellationReason ::= ENUMERATED {
- handoverCancellation (0),
- radioChannelRelease (1),
- networkPathRelease (2),
- callRelease (3),
- associatedProcedureFailure (4),
- tandemDialogueRelease (5),
- remoteOperationsFailure (6)}
-
-MAP-ProviderAbortInfo ::= SEQUENCE {
- map-ProviderAbortReason MAP-ProviderAbortReason,
- ...,
- extensionContainer ExtensionContainer OPTIONAL
- -- extensionContainer must not be used in version 2
- }
-
-MAP-ProviderAbortReason ::= ENUMERATED {
- abnormalDialogue (0),
- invalidPDU (1)}
-
--- abstract syntax name for MAP-ProtectedDialoguePDU
-
-map-ProtectedDialogueAS OBJECT IDENTIFIER ::=
- {gsm-NetworkId as-Id map-ProtectedDialoguePDU (3) version1 (1)}
-
-MAP-ProtectedDialoguePDU ::= SEQUENCE {
- encapsulatedAC OBJECT IDENTIFIER,
- securityHeader SecurityHeader OPTIONAL,
- protectedPayload ProtectedPayload OPTIONAL,
- ...}
- -- The protectedPayload carries the result of applying the security function
- -- defined in 3GPP TS 33.200 to the encoding of the securely transported
- -- MAP-DialoguePDU
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ER-DataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ER-DataTypes.asn
deleted file mode 100644
index b66702cb61..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ER-DataTypes.asn
+++ /dev/null
@@ -1,405 +0,0 @@
-MAP-ER-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- RoamingNotAllowedParam,
- CallBarredParam,
- CUG-RejectParam,
- SS-IncompatibilityCause,
- PW-RegistrationFailureCause,
- SM-DeliveryFailureCause,
- SystemFailureParam,
- DataMissingParam,
- UnexpectedDataParam,
- FacilityNotSupParam,
- OR-NotAllowedParam,
- UnknownSubscriberParam,
- NumberChangedParam,
- UnidentifiedSubParam,
- IllegalSubscriberParam,
- IllegalEquipmentParam,
- BearerServNotProvParam,
- TeleservNotProvParam,
- TracingBufferFullParam,
- NoRoamingNbParam,
- AbsentSubscriberParam,
- BusySubscriberParam,
- NoSubscriberReplyParam,
- ForwardingViolationParam,
- ForwardingFailedParam,
- ATI-NotAllowedParam,
- SubBusyForMT-SMS-Param,
- MessageWaitListFullParam,
- AbsentSubscriberSM-Param,
- AbsentSubscriberDiagnosticSM,
- ResourceLimitationParam,
- NoGroupCallNbParam,
- IncompatibleTerminalParam,
- ShortTermDenialParam,
- LongTermDenialParam,
- UnauthorizedRequestingNetwork-Param,
- UnauthorizedLCSClient-Param,
- PositionMethodFailure-Param,
- UnknownOrUnreachableLCSClient-Param,
- MM-EventNotSupported-Param,
- SecureTransportErrorParam,
- ATSI-NotAllowedParam,
- ATM-NotAllowedParam,
- IllegalSS-OperationParam,
- SS-NotAvailableParam,
- SS-SubscriptionViolationParam,
- InformationNotAvailableParam,
- TargetCellOutsideGCA-Param
-
-;
-
-IMPORTS
- SS-Status
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
- SignalInfo,
- BasicServiceCode,
- NetworkResource,
- AdditionalNetworkResource
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- SecurityHeader,
- ProtectedPayload
-FROM MAP-ST-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)}
-
-
- SS-Code
-FROM MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-;
-
-RoamingNotAllowedParam ::= SEQUENCE {
- roamingNotAllowedCause RoamingNotAllowedCause,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-RoamingNotAllowedCause ::= ENUMERATED {
- plmnRoamingNotAllowed (0),
- operatorDeterminedBarring (3)}
-
-CallBarredParam ::= CHOICE {
- callBarringCause CallBarringCause,
- -- call BarringCause must not be used in version 3 and higher
- extensibleCallBarredParam ExtensibleCallBarredParam
- -- extensibleCallBarredParam must not be used in version <3
- }
-
-CallBarringCause ::= ENUMERATED {
- barringServiceActive (0),
- operatorBarring (1)}
-
-ExtensibleCallBarredParam ::= SEQUENCE {
- callBarringCause CallBarringCause OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- unauthorisedMessageOriginator [1] NULL OPTIONAL }
-
-CUG-RejectParam ::= SEQUENCE {
- cug-RejectCause CUG-RejectCause OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CUG-RejectCause ::= ENUMERATED {
- incomingCallsBarredWithinCUG (0),
- subscriberNotMemberOfCUG (1),
- requestedBasicServiceViolatesCUG-Constraints (5),
- calledPartySS-InteractionViolation (7)}
-
-SS-IncompatibilityCause ::= SEQUENCE {
- ss-Code [1] SS-Code OPTIONAL,
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- ...}
-
-PW-RegistrationFailureCause ::= ENUMERATED {
- undetermined (0),
- invalidFormat (1),
- newPasswordsMismatch (2)}
-
-SM-EnumeratedDeliveryFailureCause ::= ENUMERATED {
- memoryCapacityExceeded (0),
- equipmentProtocolError (1),
- equipmentNotSM-Equipped (2),
- unknownServiceCentre (3),
- sc-Congestion (4),
- invalidSME-Address (5),
- subscriberNotSC-Subscriber (6)}
-
-SM-DeliveryFailureCause ::= SEQUENCE {
- sm-EnumeratedDeliveryFailureCause SM-EnumeratedDeliveryFailureCause,
- diagnosticInfo SignalInfo OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-AbsentSubscriberSM-Param ::= SEQUENCE {
- absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL,
- -- AbsentSubscriberDiagnosticSM can be either for non-GPRS
- -- or for GPRS
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- additionalAbsentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM OPTIONAL }
- -- if received, additionalAbsentSubscriberDiagnosticSM
- -- is for GPRS and absentSubscriberDiagnosticSM is
- -- for non-GPRS
-
-AbsentSubscriberDiagnosticSM ::= INTEGER (0..255)
- -- AbsentSubscriberDiagnosticSM values are defined in 3GPP TS 23.040
-
-SystemFailureParam ::= CHOICE {
- networkResource NetworkResource,
- -- networkResource must not be used in version 3
- extensibleSystemFailureParam ExtensibleSystemFailureParam
- -- extensibleSystemFailureParam must not be used in version <3
- }
-
-ExtensibleSystemFailureParam ::= SEQUENCE {
- networkResource NetworkResource OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- additionalNetworkResource [0] AdditionalNetworkResource OPTIONAL }
-
-DataMissingParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnexpectedDataParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-FacilityNotSupParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- shapeOfLocationEstimateNotSupported [0] NULL OPTIONAL,
- neededLcsCapabilityNotSupportedInServingNode [1] NULL OPTIONAL }
-
-OR-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnknownSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- unknownSubscriberDiagnostic UnknownSubscriberDiagnostic OPTIONAL}
-
-UnknownSubscriberDiagnostic ::= ENUMERATED {
- imsiUnknown (0),
- gprsSubscriptionUnknown (1),
- ...,
- npdbMismatch (2)}
- -- if unknown values are received in
- -- UnknownSubscriberDiagnostic they shall be discarded
-
-NumberChangedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnidentifiedSubParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-IllegalSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-IllegalEquipmentParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-BearerServNotProvParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-TeleservNotProvParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-TracingBufferFullParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-NoRoamingNbParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-AbsentSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- absentSubscriberReason [0] AbsentSubscriberReason OPTIONAL}
-
-AbsentSubscriberReason ::= ENUMERATED {
- imsiDetach (0),
- restrictedArea (1),
- noPageResponse (2),
- ... ,
- purgedMS (3)}
--- exception handling: at reception of other values than the ones listed the
--- AbsentSubscriberReason shall be ignored.
--- The AbsentSubscriberReason: purgedMS is defined for the Super-Charger feature
--- (see TS 23.116). If this value is received in a Provide Roaming Number response
--- it shall be mapped to the AbsentSubscriberReason: imsiDetach in the Send Routeing
--- Information response
-
-BusySubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- ccbs-Possible [0] NULL OPTIONAL,
- ccbs-Busy [1] NULL OPTIONAL}
-
-NoSubscriberReplyParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ForwardingViolationParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ForwardingFailedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ATI-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ATSI-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ATM-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-IllegalSS-OperationParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SS-NotAvailableParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SS-SubscriptionViolationParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-InformationNotAvailableParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SubBusyForMT-SMS-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- gprsConnectionSuspended NULL OPTIONAL }
- -- If GprsConnectionSuspended is not understood it shall
- -- be discarded
-
-MessageWaitListFullParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ResourceLimitationParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-NoGroupCallNbParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-IncompatibleTerminalParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ShortTermDenialParam ::= SEQUENCE {
- ...}
-
-LongTermDenialParam ::= SEQUENCE {
- ...}
-
-UnauthorizedRequestingNetwork-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnauthorizedLCSClient-Param ::= SEQUENCE {
- unauthorizedLCSClient-Diagnostic [0] UnauthorizedLCSClient-Diagnostic OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... }
-
-UnauthorizedLCSClient-Diagnostic ::= ENUMERATED {
- noAdditionalInformation (0),
- clientNotInMSPrivacyExceptionList (1),
- callToClientNotSetup (2),
- privacyOverrideNotApplicable (3),
- disallowedByLocalRegulatoryRequirements (4),
- ...,
- unauthorizedPrivacyClass (5),
- unauthorizedCallSessionUnrelatedExternalClient (6),
- unauthorizedCallSessionRelatedExternalClient (7) }
--- exception handling:
--- any unrecognized value shall be ignored
-
-PositionMethodFailure-Param ::= SEQUENCE {
- positionMethodFailure-Diagnostic [0] PositionMethodFailure-Diagnostic OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... }
-
-PositionMethodFailure-Diagnostic ::= ENUMERATED {
- congestion (0),
- insufficientResources (1),
- insufficientMeasurementData (2),
- inconsistentMeasurementData (3),
- locationProcedureNotCompleted (4),
- locationProcedureNotSupportedByTargetMS (5),
- qoSNotAttainable (6),
- positionMethodNotAvailableInNetwork (7),
- positionMethodNotAvailableInLocationArea (8),
- ... }
--- exception handling:
--- any unrecognized value shall be ignored
-
-UnknownOrUnreachableLCSClient-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-MM-EventNotSupported-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-TargetCellOutsideGCA-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SecureTransportErrorParam ::= SEQUENCE {
- securityHeader SecurityHeader,
- protectedPayload ProtectedPayload OPTIONAL
- }
- -- The protectedPayload carries the result of applying the security function
- -- defined in 3GPP TS 33.200 to the encoding of the securely transported error
- -- parameter
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Errors.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Errors.asn
deleted file mode 100644
index f0aa2b0a3a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Errors.asn
+++ /dev/null
@@ -1,507 +0,0 @@
-MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- generic errors
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- facilityNotSupported,
- incompatibleTerminal,
- resourceLimitation,
-
- -- identification and numbering errors
- unknownSubscriber,
- numberChanged,
- unknownMSC,
- unidentifiedSubscriber,
- unknownEquipment,
-
- -- subscription errors
- roamingNotAllowed,
- illegalSubscriber,
- illegalEquipment,
- bearerServiceNotProvisioned,
- teleserviceNotProvisioned,
-
- -- handover errors
- noHandoverNumberAvailable,
- subsequentHandoverFailure,
- targetCellOutsideGroupCallArea,
-
- -- operation and maintenance errors
- tracingBufferFull,
-
- -- call handling errors
- or-NotAllowed,
- noRoamingNumberAvailable,
- busySubscriber,
- noSubscriberReply,
- absentSubscriber,
- callBarred,
- forwardingViolation,
- forwardingFailed,
- cug-Reject,
-
- -- any time interrogation errors
- ati-NotAllowed,
-
- -- any time information handling errors
- atsi-NotAllowed,
- atm-NotAllowed,
- informationNotAvailable,
-
- -- supplementary service errors
- illegalSS-Operation,
- ss-ErrorStatus,
- ss-NotAvailable,
- ss-SubscriptionViolation,
- ss-Incompatibility,
- unknownAlphabet,
- ussd-Busy,
- pw-RegistrationFailure,
- negativePW-Check,
- numberOfPW-AttemptsViolation,
- shortTermDenial,
- longTermDenial,
-
- -- short message service errors
- subscriberBusyForMT-SMS,
- sm-DeliveryFailure,
- messageWaitingListFull,
- absentSubscriberSM,
-
- -- Group Call errors
- noGroupCallNumberAvailable,
-
- -- location service errors
- unauthorizedRequestingNetwork,
- unauthorizedLCSClient,
- positionMethodFailure,
- unknownOrUnreachableLCSClient,
-
- -- Mobility Management errors
- mm-EventNotSupported,
-
- -- Secure transport errors
- secureTransportError
-
-;
-
-IMPORTS
- ERROR
-FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0) }
-
- SS-Status
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
- SS-IncompatibilityCause,
- PW-RegistrationFailureCause,
- SM-DeliveryFailureCause,
- SystemFailureParam,
- DataMissingParam,
- UnexpectedDataParam,
- FacilityNotSupParam,
- UnknownSubscriberParam,
- NumberChangedParam,
- UnidentifiedSubParam,
- RoamingNotAllowedParam,
- IllegalSubscriberParam,
- IllegalEquipmentParam,
- BearerServNotProvParam,
- TeleservNotProvParam,
- TracingBufferFullParam,
- NoRoamingNbParam,
- OR-NotAllowedParam,
- AbsentSubscriberParam,
- BusySubscriberParam,
- NoSubscriberReplyParam,
- CallBarredParam,
- ForwardingViolationParam,
- ForwardingFailedParam,
- CUG-RejectParam,
- ATI-NotAllowedParam,
- SubBusyForMT-SMS-Param,
- MessageWaitListFullParam,
- AbsentSubscriberSM-Param,
- ResourceLimitationParam,
- NoGroupCallNbParam,
- IncompatibleTerminalParam,
- ShortTermDenialParam,
- LongTermDenialParam,
- UnauthorizedRequestingNetwork-Param,
- UnauthorizedLCSClient-Param,
- PositionMethodFailure-Param,
- UnknownOrUnreachableLCSClient-Param,
- MM-EventNotSupported-Param,
- ATSI-NotAllowedParam,
- ATM-NotAllowedParam,
- IllegalSS-OperationParam,
- SS-NotAvailableParam,
- SS-SubscriptionViolationParam,
- InformationNotAvailableParam,
- TargetCellOutsideGCA-Param,
- SecureTransportErrorParam
-FROM MAP-ER-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)}
-;
-
--- generic errors
-
-systemFailure ERROR ::= {
- PARAMETER
- SystemFailureParam
- -- optional
- CODE local:34 }
-
-dataMissing ERROR ::= {
- PARAMETER
- DataMissingParam
- -- optional
- -- DataMissingParam must not be used in version <3
- CODE local:35 }
-
-unexpectedDataValue ERROR ::= {
- PARAMETER
- UnexpectedDataParam
- -- optional
- -- UnexpectedDataParam must not be used in version <3
- CODE local:36 }
-
-facilityNotSupported ERROR ::= {
- PARAMETER
- FacilityNotSupParam
- -- optional
- -- FacilityNotSupParam must not be used in version <3
- CODE local:21 }
-
-incompatibleTerminal ERROR ::= {
- PARAMETER
- IncompatibleTerminalParam
- -- optional
- CODE local:28 }
-
-resourceLimitation ERROR ::= {
- PARAMETER
- ResourceLimitationParam
- -- optional
- CODE local:51 }
-
--- identification and numbering errors
-
-unknownSubscriber ERROR ::= {
- PARAMETER
- UnknownSubscriberParam
- -- optional
- -- UnknownSubscriberParam must not be used in version <3
- CODE local:1 }
-
-numberChanged ERROR ::= {
- PARAMETER
- NumberChangedParam
- -- optional
- CODE local:44 }
-
-unknownMSC ERROR ::= {
- CODE local:3 }
-
-unidentifiedSubscriber ERROR ::= {
- PARAMETER
- UnidentifiedSubParam
- -- optional
- -- UunidentifiedSubParam must not be used in version <3
- CODE local:5 }
-
-unknownEquipment ERROR ::= {
- CODE local:7 }
-
--- subscription errors
-
-roamingNotAllowed ERROR ::= {
- PARAMETER
- RoamingNotAllowedParam
- CODE local:8 }
-
-illegalSubscriber ERROR ::= {
- PARAMETER
- IllegalSubscriberParam
- -- optional
- -- IllegalSubscriberParam must not be used in version <3
- CODE local:9 }
-
-illegalEquipment ERROR ::= {
- PARAMETER
- IllegalEquipmentParam
- -- optional
- -- IllegalEquipmentParam must not be used in version <3
- CODE local:12 }
-
-bearerServiceNotProvisioned ERROR ::= {
- PARAMETER
- BearerServNotProvParam
- -- optional
- -- BearerServNotProvParam must not be used in version <3
- CODE local:10 }
-
-teleserviceNotProvisioned ERROR ::= {
- PARAMETER
- TeleservNotProvParam
- -- optional
- -- TeleservNotProvParam must not be used in version <3
- CODE local:11 }
-
--- handover errors
-
-noHandoverNumberAvailable ERROR ::= {
- CODE local:25 }
-
-subsequentHandoverFailure ERROR ::= {
- CODE local:26 }
-
-targetCellOutsideGroupCallArea ERROR ::= {
- PARAMETER
- TargetCellOutsideGCA-Param
- -- optional
- CODE local:42 }
-
--- operation and maintenance errors
-
-tracingBufferFull ERROR ::= {
- PARAMETER
- TracingBufferFullParam
- -- optional
- CODE local: 40 }
-
--- call handling errors
-
-noRoamingNumberAvailable ERROR ::= {
- PARAMETER
- NoRoamingNbParam
- -- optional
- CODE local:39 }
-
-absentSubscriber ERROR ::= {
- PARAMETER
- AbsentSubscriberParam
- -- optional
- -- AbsentSubscriberParam must not be used in version <3
- CODE local:27 }
-
-busySubscriber ERROR ::= {
- PARAMETER
- BusySubscriberParam
- -- optional
- CODE local:45 }
-
-noSubscriberReply ERROR ::= {
- PARAMETER
- NoSubscriberReplyParam
- -- optional
- CODE local:46 }
-
-callBarred ERROR ::= {
- PARAMETER
- CallBarredParam
- -- optional
- CODE local:13 }
-
-forwardingViolation ERROR ::= {
- PARAMETER
- ForwardingViolationParam
- -- optional
- CODE local:14 }
-
-forwardingFailed ERROR ::= {
- PARAMETER
- ForwardingFailedParam
- -- optional
- CODE local:47 }
-
-cug-Reject ERROR ::= {
- PARAMETER
- CUG-RejectParam
- -- optional
- CODE local:15 }
-
-or-NotAllowed ERROR ::= {
- PARAMETER
- OR-NotAllowedParam
- -- optional
- CODE local:48 }
-
--- any time interrogation errors
-ati-NotAllowed ERROR ::= {
- PARAMETER
- ATI-NotAllowedParam
- -- optional
- CODE local:49 }
-
--- any time information handling errors
-atsi-NotAllowed ERROR ::= {
- PARAMETER
- ATSI-NotAllowedParam
- -- optional
- CODE local:60 }
-
-atm-NotAllowed ERROR ::= {
- PARAMETER
- ATM-NotAllowedParam
- -- optional
- CODE local:61 }
-
-informationNotAvailable ERROR ::= {
- PARAMETER
- InformationNotAvailableParam
- -- optional
- CODE local:62 }
-
--- supplementary service errors
-
-illegalSS-Operation ERROR ::= {
- PARAMETER
- IllegalSS-OperationParam
- -- optional
- -- IllegalSS-OperationParam must not be used in version <3
- CODE local:16 }
-
-ss-ErrorStatus ERROR ::= {
- PARAMETER
- SS-Status
- -- optional
- CODE local:17 }
-
-ss-NotAvailable ERROR ::= {
- PARAMETER
- SS-NotAvailableParam
- -- optional
- -- SS-NotAvailableParam must not be used in version <3
- CODE local:18 }
-
-ss-SubscriptionViolation ERROR ::= {
- PARAMETER
- SS-SubscriptionViolationParam
- -- optional
- -- SS-SubscriptionViolationParam must not be used in version <3
- CODE local:19 }
-
-ss-Incompatibility ERROR ::= {
- PARAMETER
- SS-IncompatibilityCause
- -- optional
- CODE local:20 }
-
-unknownAlphabet ERROR ::= {
- CODE local:71 }
-
-ussd-Busy ERROR ::= {
- CODE local:72 }
-
-pw-RegistrationFailure ERROR ::= {
- PARAMETER
- PW-RegistrationFailureCause
- CODE local:37 }
-
-negativePW-Check ERROR ::= {
- CODE local:38 }
-
-numberOfPW-AttemptsViolation ERROR ::= {
- CODE local:43 }
-
-shortTermDenial ERROR ::= {
- PARAMETER
- ShortTermDenialParam
- -- optional
- CODE local:29 }
-
-longTermDenial ERROR ::= {
- PARAMETER
- LongTermDenialParam
- -- optional
- CODE local:30 }
-
--- short message service errors
-
-subscriberBusyForMT-SMS ERROR ::= {
- PARAMETER
- SubBusyForMT-SMS-Param
- -- optional
- CODE local:31 }
-
-sm-DeliveryFailure ERROR ::= {
- PARAMETER
- SM-DeliveryFailureCause
- CODE local:32 }
-
-messageWaitingListFull ERROR ::= {
- PARAMETER
- MessageWaitListFullParam
- -- optional
- CODE local:33 }
-
-absentSubscriberSM ERROR ::= {
- PARAMETER
- AbsentSubscriberSM-Param
- -- optional
- CODE local:6 }
-
--- Group Call errors
-
-noGroupCallNumberAvailable ERROR ::= {
- PARAMETER
- NoGroupCallNbParam
- -- optional
- CODE local:50 }
-
--- location service errors
-
-unauthorizedRequestingNetwork ERROR ::= {
- PARAMETER
- UnauthorizedRequestingNetwork-Param
- -- optional
- CODE local:52 }
-
-unauthorizedLCSClient ERROR ::= {
- PARAMETER
- UnauthorizedLCSClient-Param
- -- optional
- CODE local:53 }
-
-positionMethodFailure ERROR ::= {
- PARAMETER
- PositionMethodFailure-Param
- -- optional
- CODE local:54 }
-
-unknownOrUnreachableLCSClient ERROR ::= {
- PARAMETER
- UnknownOrUnreachableLCSClient-Param
- -- optional
- CODE local:58 }
-
-mm-EventNotSupported ERROR ::= {
- PARAMETER
- MM-EventNotSupported-Param
- -- optional
- CODE local:59 }
-
- -- Secure transport errors
-
-secureTransportError ERROR ::= {
- PARAMETER
- SecureTransportErrorParam
- CODE local:4 }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ExtensionDataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ExtensionDataTypes.asn
deleted file mode 100644
index ab4cb9c3b1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ExtensionDataTypes.asn
+++ /dev/null
@@ -1,65 +0,0 @@
-MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- PrivateExtension,
- ExtensionContainer,
- SLR-ArgExtensionContainer;
-
-
--- IOC for private MAP extensions
-
-
-MAP-EXTENSION ::= CLASS {
- &ExtensionType OPTIONAL,
- &extensionId OBJECT IDENTIFIER }
- -- The length of the Object Identifier shall not exceed 16 octets and the
- -- number of components of the Object Identifier shall not exceed 16
-
--- data types
-
-ExtensionContainer ::= SEQUENCE {
- privateExtensionList [0]PrivateExtensionList OPTIONAL,
- pcs-Extensions [1]PCS-Extensions OPTIONAL,
- ...}
-
-SLR-ArgExtensionContainer ::= SEQUENCE {
- privateExtensionList [0]PrivateExtensionList OPTIONAL,
- slr-Arg-PCS-Extensions [1]SLR-Arg-PCS-Extensions OPTIONAL,
- ...}
-
-PrivateExtensionList ::= SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF
- PrivateExtension
-
-PrivateExtension ::= SEQUENCE {
- extId MAP-EXTENSION.&extensionId
- ({ExtensionSet}),
- extType MAP-EXTENSION.&ExtensionType
- ({ExtensionSet}{@extId}) OPTIONAL}
-
-maxNumOfPrivateExtensions INTEGER ::= 10
-
-ExtensionSet MAP-EXTENSION ::=
- {...
- -- ExtensionSet is the set of all defined private extensions
- }
- -- Unsupported private extensions shall be discarded if received.
-
-PCS-Extensions ::= SEQUENCE {
- ...}
-
-SLR-Arg-PCS-Extensions ::= SEQUENCE {
- ...,
- na-ESRK-Request [0] NULL OPTIONAL }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-GR-DataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-GR-DataTypes.asn
deleted file mode 100644
index 8ceeea183b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-GR-DataTypes.asn
+++ /dev/null
@@ -1,122 +0,0 @@
-MAP-GR-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-GR-DataTypes (23) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- PrepareGroupCallArg,
- PrepareGroupCallRes,
- SendGroupCallEndSignalArg,
- SendGroupCallEndSignalRes,
- ForwardGroupCallSignallingArg,
- ProcessGroupCallSignallingArg
-;
-
-IMPORTS
- ISDN-AddressString,
- IMSI,
- EMLPP-Priority,
- ASCI-CallReference
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- Ext-TeleserviceCode
-FROM MAP-TS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)}
-
- Kc
-FROM MAP-MS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-;
-
-
-PrepareGroupCallArg ::= SEQUENCE {
- teleservice Ext-TeleserviceCode,
- asciCallReference ASCI-CallReference,
- codec-Info CODEC-Info,
- cipheringAlgorithm CipheringAlgorithm,
- groupKeyNumber [0] GroupKeyNumber OPTIONAL,
- groupKey [1] Kc OPTIONAL,
- priority [2] EMLPP-Priority OPTIONAL,
- uplinkFree [3] NULL OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-PrepareGroupCallRes ::= SEQUENCE {
- groupCallNumber ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SendGroupCallEndSignalArg ::= SEQUENCE {
- imsi IMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SendGroupCallEndSignalRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ForwardGroupCallSignallingArg ::= SEQUENCE {
- imsi IMSI OPTIONAL,
- uplinkRequestAck [0] NULL OPTIONAL,
- uplinkReleaseIndication [1] NULL OPTIONAL,
- uplinkRejectCommand [2] NULL OPTIONAL,
- uplinkSeizedCommand [3] NULL OPTIONAL,
- uplinkReleaseCommand [4] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- stateAttributes [5] StateAttributes OPTIONAL }
-
-ProcessGroupCallSignallingArg ::= SEQUENCE {
- uplinkRequest [0] NULL OPTIONAL,
- uplinkReleaseIndication [1] NULL OPTIONAL,
- releaseGroupCall [2] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-GroupKeyNumber ::= INTEGER (0..15)
-
-CODEC-Info ::= OCTET STRING (SIZE (5..10))
- -- Refers to channel type
- -- coded according to 3GPP TS 48.008 [49] and including Element identifier and Length
-
-CipheringAlgorithm ::= OCTET STRING (SIZE (1))
- -- Refers to 'permitted algorithms' in 'encryption information'
- -- coded according to 3GPP TS 48.008 [49]:
-
- -- Bits 8-1
- -- 8765 4321
- -- 0000 0001 No encryption
- -- 0000 0010 GSM A5/1
- -- 0000 0100 GSM A5/2
- -- 0000 1000 GSM A5/3
- -- 0001 0000 GSM A5/4
- -- 0010 0000 GSM A5/5
- -- 0100 0000 GSM A5/6
- -- 1000 0000 GSM A5/7
-
-StateAttributes ::= SEQUENCE {
- downlinkAttached [5] NULL OPTIONAL,
- uplinkAttached [6] NULL OPTIONAL,
- dualCommunication [7] NULL OPTIONAL,
- callOriginator [8] NULL OPTIONAL }
-
- -- Refers to 3GPP TS 44.068 for definitions of StateAttributes fields.
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Group-Call-Operations.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Group-Call-Operations.asn
deleted file mode 100644
index 55777fec68..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Group-Call-Operations.asn
+++ /dev/null
@@ -1,72 +0,0 @@
-MAP-Group-Call-Operations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Group-Call-Operations (22)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- prepareGroupCall,
- sendGroupCallEndSignal,
- forwardGroupCallSignalling,
- processGroupCallSignalling
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- unexpectedDataValue,
- noGroupCallNumberAvailable
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- PrepareGroupCallArg,
- PrepareGroupCallRes,
- SendGroupCallEndSignalArg,
- SendGroupCallEndSignalRes,
- ForwardGroupCallSignallingArg,
- ProcessGroupCallSignallingArg
-FROM MAP-GR-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-GR-DataTypes (23) version9 (9)}
-
-;
-
-prepareGroupCall OPERATION ::= { --Timer m
- ARGUMENT
- PrepareGroupCallArg
- RESULT
- PrepareGroupCallRes
- ERRORS {
- systemFailure |
- noGroupCallNumberAvailable |
- unexpectedDataValue}
- CODE local:39 }
-
-sendGroupCallEndSignal OPERATION ::= { --Timer l
- ARGUMENT
- SendGroupCallEndSignalArg
- RESULT
- SendGroupCallEndSignalRes
- CODE local:40 }
-
-processGroupCallSignalling OPERATION ::= { --Timer s
- ARGUMENT
- ProcessGroupCallSignallingArg
- CODE local:41 }
-
-forwardGroupCallSignalling OPERATION ::= { --Timer s
- ARGUMENT
- ForwardGroupCallSignallingArg
- CODE local:42 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-LCS-DataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-LCS-DataTypes.asn
deleted file mode 100644
index 08962d6874..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-LCS-DataTypes.asn
+++ /dev/null
@@ -1,533 +0,0 @@
-MAP-LCS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-LCS-DataTypes (25) version9 (9)}
-
-DEFINITIONS
-IMPLICIT TAGS
-::=
-BEGIN
-
-EXPORTS
- RoutingInfoForLCS-Arg,
- RoutingInfoForLCS-Res,
- ProvideSubscriberLocation-Arg,
- ProvideSubscriberLocation-Res,
- SubscriberLocationReport-Arg,
- SubscriberLocationReport-Res,
- LocationType,
- DeferredLocationEventType,
- LCSClientName,
- LCS-QoS,
- Horizontal-Accuracy,
- ResponseTime,
- Ext-GeographicalInformation,
- SupportedGADShapes,
- Add-GeographicalInformation,
- LCSRequestorID,
- LCS-ReferenceNumber,
- LCSCodeword,
- AreaEventInfo
-;
-
-IMPORTS
- AddressString,
- ISDN-AddressString,
- IMEI,
- IMSI,
- LMSI,
- SubscriberIdentity,
- AgeOfLocationInformation,
- LCSClientExternalID,
- LCSClientInternalID,
- LCSServiceTypeID,
- CellGlobalIdOrServiceAreaIdOrLAI
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
- USSD-DataCodingScheme,
- USSD-String
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
- map-SS-DataTypes (14) version9 (9)}
-
- APN,
- GSN-Address,
- SupportedLCS-CapabilitySets
-FROM MAP-MS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}
-
- Additional-Number
-FROM MAP-SM-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SM-DataTypes (16) version9 (9)}
-;
-
-
-RoutingInfoForLCS-Arg ::= SEQUENCE {
- mlcNumber [0] ISDN-AddressString,
- targetMS [1] SubscriberIdentity,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-RoutingInfoForLCS-Res ::= SEQUENCE {
- targetMS [0] SubscriberIdentity,
- lcsLocationInfo [1] LCSLocationInfo,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- v-gmlc-Address [3] GSN-Address OPTIONAL,
- h-gmlc-Address [4] GSN-Address OPTIONAL,
- ppr-Address [5] GSN-Address OPTIONAL,
- additional-v-gmlc-Address [6] GSN-Address OPTIONAL }
-
-LCSLocationInfo ::= SEQUENCE {
- networkNode-Number ISDN-AddressString,
- -- NetworkNode-number can be either msc-number or sgsn-number
- lmsi [0] LMSI OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... ,
- gprsNodeIndicator [2] NULL OPTIONAL,
- -- gprsNodeIndicator is set only if the SGSN number is sent as the Network Node Number
- additional-Number [3] Additional-Number OPTIONAL,
- supportedLCS-CapabilitySets [4] SupportedLCS-CapabilitySets OPTIONAL,
- additional-LCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL
- }
-
-ProvideSubscriberLocation-Arg ::= SEQUENCE {
- locationType LocationType,
- mlc-Number ISDN-AddressString,
- lcs-ClientID [0] LCS-ClientID OPTIONAL,
- privacyOverride [1] NULL OPTIONAL,
- imsi [2] IMSI OPTIONAL,
- msisdn [3] ISDN-AddressString OPTIONAL,
- lmsi [4] LMSI OPTIONAL,
- imei [5] IMEI OPTIONAL,
- lcs-Priority [6] LCS-Priority OPTIONAL,
- lcs-QoS [7] LCS-QoS OPTIONAL,
- extensionContainer [8] ExtensionContainer OPTIONAL,
- ... ,
- supportedGADShapes [9] SupportedGADShapes OPTIONAL,
- lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL,
- lcsServiceTypeID [11] LCSServiceTypeID OPTIONAL,
- lcsCodeword [12] LCSCodeword OPTIONAL,
- lcs-PrivacyCheck [13] LCS-PrivacyCheck OPTIONAL,
- areaEventInfo [14] AreaEventInfo OPTIONAL,
- h-gmlc-Address [15] GSN-Address OPTIONAL }
-
- -- one of imsi or msisdn is mandatory
- -- If a location estimate type indicates activate deferred location or cancel deferred
- -- location, a lcs-Reference number shall be included.
-
-LocationType ::= SEQUENCE {
- locationEstimateType [0] LocationEstimateType,
- ...,
- deferredLocationEventType [1] DeferredLocationEventType OPTIONAL }
-
-LocationEstimateType ::= ENUMERATED {
- currentLocation (0),
- currentOrLastKnownLocation (1),
- initialLocation (2),
- ...,
- activateDeferredLocation (3),
- cancelDeferredLocation (4) }
--- exception handling:
--- a ProvideSubscriberLocation-Arg containing an unrecognized LocationEstimateType
--- shall be rejected by the receiver with a return error cause of unexpected data value
-
-DeferredLocationEventType ::= BIT STRING {
- msAvailable (0) ,
- enteringIntoArea (1),
- leavingFromArea (2),
- beingInsideArea (3) } (SIZE (1..16))
--- beingInsideArea is always treated as oneTimeEvent regardless of the possible value
--- of occurrenceInfo inside areaEventInfo.
--- exception handling:
--- a ProvideSubscriberLocation-Arg containing other values than listed above in
--- DeferredLocationEventType shall be rejected by the receiver with a return error cause of
--- unexpected data value.
-
-LCS-ClientID ::= SEQUENCE {
- lcsClientType [0] LCSClientType,
- lcsClientExternalID [1] LCSClientExternalID OPTIONAL,
- lcsClientDialedByMS [2] AddressString OPTIONAL,
- lcsClientInternalID [3] LCSClientInternalID OPTIONAL,
- lcsClientName [4] LCSClientName OPTIONAL,
- ...,
- lcsAPN [5] APN OPTIONAL,
- lcsRequestorID [6] LCSRequestorID OPTIONAL }
-
-LCSClientType ::= ENUMERATED {
- emergencyServices (0),
- valueAddedServices (1),
- plmnOperatorServices (2),
- lawfulInterceptServices (3),
- ... }
- -- exception handling:
- -- unrecognized values may be ignored if the LCS client uses the privacy override
- -- otherwise, an unrecognized value shall be treated as unexpected data by a receiver
- -- a return error shall then be returned if received in a MAP invoke
-
-LCSClientName ::= SEQUENCE {
- dataCodingScheme [0] USSD-DataCodingScheme,
- nameString [2] NameString,
- ...,
- lcs-FormatIndicator [3] LCS-FormatIndicator OPTIONAL }
-
--- The USSD-DataCodingScheme shall indicate use of the default alphabet through the
--- following encoding
--- bit 7 6 5 4 3 2 1 0
--- 0 0 0 0 1 1 1 1
-
-NameString ::= USSD-String (SIZE (1..maxNameStringLength))
-
-maxNameStringLength INTEGER ::= 63
-
-LCSRequestorID ::= SEQUENCE {
- dataCodingScheme [0] USSD-DataCodingScheme,
- requestorIDString [1] RequestorIDString,
- ...,
- lcs-FormatIndicator [2] LCS-FormatIndicator OPTIONAL }
-
-RequestorIDString ::= USSD-String (SIZE (1..maxRequestorIDStringLength))
-
-maxRequestorIDStringLength INTEGER ::= 63
-
-LCS-FormatIndicator ::= ENUMERATED {
- logicalName (0),
- e-mailAddress (1),
- msisdn (2),
- url (3),
- sipUrl (4),
- ... }
-
-LCS-Priority ::= OCTET STRING (SIZE (1))
- -- 0 = highest priority
- -- 1 = normal priority
- -- all other values treated as 1
-
-LCS-QoS ::= SEQUENCE {
- horizontal-accuracy [0] Horizontal-Accuracy OPTIONAL,
- verticalCoordinateRequest [1] NULL OPTIONAL,
- vertical-accuracy [2] Vertical-Accuracy OPTIONAL, responseTime [3] ResponseTime OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-Horizontal-Accuracy ::= OCTET STRING (SIZE (1))
- -- bit 8 = 0
- -- bits 7-1 = 7 bit Uncertainty Code defined in 3GPP TS 23.032. The horizontal location
- -- error should be less than the error indicated by the uncertainty code with 67%
- -- confidence.
-
-Vertical-Accuracy ::= OCTET STRING (SIZE (1))
- -- bit 8 = 0
- -- bits 7-1 = 7 bit Vertical Uncertainty Code defined in 3GPP TS 23.032.
- -- The vertical location error should be less than the error indicated
- -- by the uncertainty code with 67% confidence.
-
-ResponseTime ::= SEQUENCE {
- responseTimeCategory ResponseTimeCategory,
- ...}
--- note: an expandable SEQUENCE simplifies later addition of a numeric response time.
-
-ResponseTimeCategory ::= ENUMERATED {
- lowdelay (0),
- delaytolerant (1),
- ... }
--- exception handling:
--- an unrecognized value shall be treated the same as value 1 (delaytolerant)
-
-SupportedGADShapes ::= BIT STRING {
- ellipsoidPoint (0),
- ellipsoidPointWithUncertaintyCircle (1),
- ellipsoidPointWithUncertaintyEllipse (2),
- polygon (3),
- ellipsoidPointWithAltitude (4),
- ellipsoidPointWithAltitudeAndUncertaintyElipsoid (5),
- ellipsoidArc (6) } (SIZE (7..16))
--- A node shall mark in the BIT STRING all Shapes defined in 3GPP TS 23.032 it supports.
--- exception handling: bits 7 to 15 shall be ignored if received.
-
-LCS-ReferenceNumber::= OCTET STRING (SIZE(1))
-
-LCSCodeword ::= SEQUENCE {
- dataCodingScheme [0] USSD-DataCodingScheme,
- lcsCodewordString [1] LCSCodewordString,
- ...}
-
-LCSCodewordString ::= USSD-String (SIZE (1..maxLCSCodewordStringLength))
-
-maxLCSCodewordStringLength INTEGER ::= 20
-
-LCS-PrivacyCheck ::= SEQUENCE {
- callSessionUnrelated [0] PrivacyCheckRelatedAction,
- callSessionRelated [1] PrivacyCheckRelatedAction OPTIONAL,
- ...}
-
-PrivacyCheckRelatedAction ::= ENUMERATED {
- allowedWithoutNotification (0),
- allowedWithNotification (1),
- allowedIfNoResponse (2),
- restrictedIfNoResponse (3),
- notAllowed (4),
- ...}
--- exception handling:
--- a ProvideSubscriberLocation-Arg containing an unrecognized PrivacyCheckRelatedAction
--- shall be rejected by the receiver with a return error cause of unexpected data value
-
-AreaEventInfo ::= SEQUENCE {
- areaDefinition [0] AreaDefinition,
- occurrenceInfo [1] OccurrenceInfo OPTIONAL,
- intervalTime [2] IntervalTime OPTIONAL,
- ...}
-
-AreaDefinition ::= SEQUENCE {
- areaList [0] AreaList,
- ...}
-
-AreaList ::= SEQUENCE SIZE (1..maxNumOfAreas) OF Area
-
-maxNumOfAreas INTEGER ::= 10
-
-Area ::= SEQUENCE {
- areaType [0] AreaType,
- areaIdentification [1] AreaIdentification,
- ...}
-
-AreaType ::= ENUMERATED {
- countryCode (0),
- plmnId (1),
- locationAreaId (2),
- routingAreaId (3),
- cellGlobalId (4),
- ...}
-
-AreaIdentification ::= OCTET STRING (SIZE (2..7))
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit if 3 digit MNC included
- -- or filler (1111)
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code (LAC)
- -- octet 6 Routing Area Code (RAC) for Routing Area Id
- -- octets 6 and 7 Cell Identity (CI) for Cell Global Id
-
-OccurrenceInfo ::= ENUMERATED {
- oneTimeEvent (0),
- multipleTimeEvent (1),
- ...}
-
-IntervalTime ::= INTEGER (1..32767)
- -- minimum interval time between area reports in seconds
-
-ProvideSubscriberLocation-Res ::= SEQUENCE {
- locationEstimate Ext-GeographicalInformation,
- ageOfLocationEstimate [0] AgeOfLocationInformation OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... ,
- add-LocationEstimate [2] Add-GeographicalInformation OPTIONAL,
- deferredmt-lrResponseIndicator [3] NULL OPTIONAL,
- geranPositioningData [4] PositioningDataInformation OPTIONAL,
- utranPositioningData [5] UtranPositioningDataInfo OPTIONAL,
- cellIdOrSai [6] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- sai-Present [7] NULL OPTIONAL }
-
--- if deferredmt-lrResponseIndicator is set, locationEstimate is ignored.
-
--- the add-LocationEstimate parameter shall not be sent to a node that did not indicate the
--- geographic shapes supported in the ProvideSubscriberLocation-Arg
--- The locationEstimate and the add-locationEstimate parameters shall not be sent if
--- the supportedGADShapes parameter has been received in ProvideSubscriberLocation-Arg
--- and the shape encoded in locationEstimate or add-LocationEstimate is not marked
--- as supported in supportedGADShapes. In such a case ProvideSubscriberLocation
--- shall be rejected with error FacilityNotSupported with additional indication
--- shapeOfLocationEstimateNotSupported.
--- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity.
-
-Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-GeographicalInformation))
- -- Refers to geographical Information defined in 3GPP TS 23.032.
- -- This is composed of 1 or more octets with an internal structure according to
- -- 3GPP TS 23.032
- -- Octet 1: Type of shape, only the following shapes in 3GPP TS 23.032 are allowed:
- -- (a) Ellipsoid point with uncertainty circle
- -- (b) Ellipsoid point with uncertainty ellipse
- -- (c) Ellipsoid point with altitude and uncertainty ellipsoid
- -- (d) Ellipsoid Arc
- -- (e) Ellipsoid Point
- -- Any other value in octet 1 shall be treated as invalid
- -- Octets 2 to 8 for case (a) - Ellipsoid point with uncertainty circle
- -- Degrees of Latitude 3 octets
- -- Degrees of Longitude 3 octets
- -- Uncertainty code 1 octet
- -- Octets 2 to 11 for case (b) - Ellipsoid point with uncertainty ellipse:
- -- Degrees of Latitude 3 octets
- -- Degrees of Longitude 3 octets
- -- Uncertainty semi-major axis 1 octet
- -- Uncertainty semi-minor axis 1 octet
- -- Angle of major axis 1 octet
- -- Confidence 1 octet
- -- Octets 2 to 14 for case (c) - Ellipsoid point with altitude and uncertainty ellipsoid
- -- Degrees of Latitude 3 octets
- -- Degrees of Longitude 3 octets
- -- Altitude 2 octets
- -- Uncertainty semi-major axis 1 octet
- -- Uncertainty semi-minor axis 1 octet
- -- Angle of major axis 1 octet
- -- Uncertainty altitude 1 octet
- -- Confidence 1 octet
- -- Octets 2 to 13 for case (d) - Ellipsoid Arc
- -- Degrees of Latitude 3 octets
- -- Degrees of Longitude 3 octets
- -- Inner radius 2 octets
- -- Uncertainty radius 1 octet
- -- Offset angle 1 octet
- -- Included angle 1 octet
- -- Confidence 1 octet
- -- Octets 2 to 7 for case (e) - Ellipsoid Point
- -- Degrees of Latitude 3 octets
- -- Degrees of Longitude 3 octets
-
- --
- -- An Ext-GeographicalInformation parameter comprising more than one octet and
- -- containing any other shape or an incorrect number of octets or coding according
- -- to 3GPP TS 23.032 shall be treated as invalid data by a receiver.
- --
- -- An Ext-GeographicalInformation parameter comprising one octet shall be discarded
- -- by the receiver if an Add-GeographicalInformation parameter is received
- -- in the same message.
- --
- -- An Ext-GeographicalInformation parameter comprising one octet shall be treated as
- -- invalid data by the receiver if an Add-GeographicalInformation parameter is not
- -- received in the same message.
-
-maxExt-GeographicalInformation INTEGER ::= 20
- -- the maximum length allows for further shapes in 3GPP TS 23.032 to be included in later
- -- versions of 3GPP TS 29.002
-
-PositioningDataInformation ::= OCTET STRING (SIZE (2..maxPositioningDataInformation))
- -- Refers to the Positioning Data defined in 3GPP TS 49.031.
- -- This is composed of 2 or more octets with an internal structure according to
- -- 3GPP TS 49.031.
-
-maxPositioningDataInformation INTEGER ::= 10
- --
-
-UtranPositioningDataInfo ::= OCTET STRING (SIZE (3..maxUtranPositioningDataInfo))
- -- Refers to the Position Data defined in 3GPP TS 25.413.
- -- This is composed of the positioningDataDiscriminator and the positioningDataSet
- -- included in positionData as defined in 3GPP TS 25.413.
-
-maxUtranPositioningDataInfo INTEGER ::= 11
- --
-
-Add-GeographicalInformation ::= OCTET STRING (SIZE (1..maxAdd-GeographicalInformation))
- -- Refers to geographical Information defined in 3GPP TS 23.032.
- -- This is composed of 1 or more octets with an internal structure according to
- -- 3GPP TS 23.032
- -- Octet 1: Type of shape, all the shapes defined in 3GPP TS 23.032 are allowed:
- -- Octets 2 to n (where n is the total number of octets necessary to encode the shape
- -- according to 3GPP TS 23.032) are used to encode the shape itself in accordance with the
- -- encoding defined in 3GPP TS 23.032
- --
- -- An Add-GeographicalInformation parameter, whether valid or invalid, received
- -- together with a valid Ext-GeographicalInformation parameter in the same message
- -- shall be discarded.
- --
- -- An Add-GeographicalInformation parameter containing any shape not defined in
- -- 3GPP TS 23.032 or an incorrect number of octets or coding according to
- -- 3GPP TS 23.032 shall be treated as invalid data by a receiver if not received
- -- together with a valid Ext-GeographicalInformation parameter in the same message.
-
-maxAdd-GeographicalInformation INTEGER ::= 91
- -- the maximum length allows support for all the shapes currently defined in 3GPP TS 23.032
-
-SubscriberLocationReport-Arg ::= SEQUENCE {
- lcs-Event LCS-Event,
- lcs-ClientID LCS-ClientID,
- lcsLocationInfo LCSLocationInfo,
- msisdn [0] ISDN-AddressString OPTIONAL,
- imsi [1] IMSI OPTIONAL,
- imei [2] IMEI OPTIONAL,
- na-ESRD [3] ISDN-AddressString OPTIONAL,
- na-ESRK [4] ISDN-AddressString OPTIONAL,
- locationEstimate [5] Ext-GeographicalInformation OPTIONAL,
- ageOfLocationEstimate [6] AgeOfLocationInformation OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ... ,
- add-LocationEstimate [8] Add-GeographicalInformation OPTIONAL,
- deferredmt-lrData [9] Deferredmt-lrData OPTIONAL,
- lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL,
- geranPositioningData [11] PositioningDataInformation OPTIONAL,
- utranPositioningData [12] UtranPositioningDataInfo OPTIONAL,
- na-ESRK-Request [16] NULL OPTIONAL,
- cellIdOrSai [13] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- h-gmlc-Address [14] GSN-Address OPTIONAL,
- lcsServiceTypeID [15] LCSServiceTypeID OPTIONAL,
- sai-Present [17] NULL OPTIONAL }
-
- -- one of msisdn or imsi is mandatory
- -- a location estimate that is valid for the locationEstimate parameter should
- -- be transferred in this parameter in preference to the add-LocationEstimate.
- -- the deferredmt-lrData parameter shall be included if and only if the lcs-Event
- -- indicates a deferredmt-lrResponse.
- -- if the lcs-Event indicates a deferredmt-lrResponse then the locationEstimate
- -- and the add-locationEstimate parameters shall not be sent if the
- -- supportedGADShapes parameter had been received in ProvideSubscriberLocation-Arg
- -- and the shape encoded in locationEstimate or add-LocationEstimate was not marked
- -- as supported in supportedGADShapes. In such a case terminationCause
- -- in deferredmt-lrData shall be present with value
- -- shapeOfLocationEstimateNotSupported.
- -- If a lcs event indicates deferred mt-lr response, the lcs-Reference number shall be
- -- included.
- -- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity.
-
-Deferredmt-lrData ::= SEQUENCE {
- deferredLocationEventType DeferredLocationEventType,
- terminationCause [0] TerminationCause OPTIONAL,
- lcsLocationInfo [1] LCSLocationInfo OPTIONAL,
- ...}
- -- lcsLocationInfo may be included only if a terminationCause is present
- -- indicating mt-lrRestart.
-
-LCS-Event ::= ENUMERATED {
- emergencyCallOrigination (0),
- emergencyCallRelease (1),
- mo-lr (2),
- ...,
- deferredmt-lrResponse (3) }
- -- exception handling:
- -- a SubscriberLocationReport-Arg containing an unrecognized LCS-Event
- -- shall be rejected by a receiver with a return error cause of unexpected data value
-
-TerminationCause ::= ENUMERATED {
- normal (0),
- errorundefined (1),
- internalTimeout (2),
- congestion (3),
- mt-lrRestart (4),
- privacyViolation (5),
- ...,
- shapeOfLocationEstimateNotSupported (6) }
--- mt-lrRestart shall be used to trigger the GMLC to restart the location procedure,
--- either because the sending node knows that the terminal has moved under coverage
--- of another MSC or SGSN (e.g. Send Identification received), or because the subscriber
--- has been deregistered due to a Cancel Location received from HLR.
---
--- exception handling
--- an unrecognized value shall be treated the same as value 1 (errorundefined)
-
-SubscriberLocationReport-Res ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- na-ESRK [0] ISDN-AddressString OPTIONAL }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-LocationServiceOperations.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-LocationServiceOperations.asn
deleted file mode 100644
index c28ac884ce..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-LocationServiceOperations.asn
+++ /dev/null
@@ -1,103 +0,0 @@
-MAP-LocationServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-LocationServiceOperations (24)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- provideSubscriberLocation,
-sendRoutingInfoForLCS,
-subscriberLocationReport
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
-systemFailure,
- dataMissing,
- unexpectedDataValue,
- facilityNotSupported,
- unknownSubscriber,
- absentSubscriber,
- unauthorizedRequestingNetwork,
- unauthorizedLCSClient,
- positionMethodFailure,
- resourceLimitation,
- unknownOrUnreachableLCSClient,
- unidentifiedSubscriber,
- illegalEquipment,
- illegalSubscriber
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- RoutingInfoForLCS-Arg,
- RoutingInfoForLCS-Res,
- ProvideSubscriberLocation-Arg,
- ProvideSubscriberLocation-Res,
- SubscriberLocationReport-Arg,
- SubscriberLocationReport-Res
-FROM MAP-LCS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-LCS-DataTypes (25) version9 (9)}
-;
-
-sendRoutingInfoForLCS OPERATION ::= { --Timer m
- ARGUMENT
- RoutingInfoForLCS-Arg
- RESULT
- RoutingInfoForLCS-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unknownSubscriber |
- absentSubscriber |
- unauthorizedRequestingNetwork }
- CODE local:85 }
-
-provideSubscriberLocation OPERATION ::= { --Timer ml
- ARGUMENT
- ProvideSubscriberLocation-Arg
- RESULT
- ProvideSubscriberLocation-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unidentifiedSubscriber |
- illegalSubscriber |
- illegalEquipment |
- absentSubscriber |
- unauthorizedRequestingNetwork |
- unauthorizedLCSClient |
- positionMethodFailure }
- CODE local:83 }
-
-subscriberLocationReport OPERATION ::= { --Timer m
- ARGUMENT
- SubscriberLocationReport-Arg
- RESULT
- SubscriberLocationReport-Res
- ERRORS {
- systemFailure |
- dataMissing |
- resourceLimitation |
- unexpectedDataValue |
- unknownSubscriber |
- unauthorizedRequestingNetwork |
- unknownOrUnreachableLCSClient}
- CODE local:86 }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-MS-DataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-MS-DataTypes.asn
deleted file mode 100644
index e905c44077..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-MS-DataTypes.asn
+++ /dev/null
@@ -1,2458 +0,0 @@
-MAP-MS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- location registration types
- UpdateLocationArg,
- UpdateLocationRes,
- CancelLocationArg,
- CancelLocationRes,
- PurgeMS-Arg,
- PurgeMS-Res,
- SendIdentificationArg,
- SendIdentificationRes,
- UpdateGprsLocationArg,
- UpdateGprsLocationRes,
- IST-SupportIndicator,
- SupportedLCS-CapabilitySets,
-
- -- gprs location registration types
- GSN-Address,
-
- -- handover types
- ForwardAccessSignalling-Arg,
- PrepareHO-Arg,
- PrepareHO-Res,
- PrepareSubsequentHO-Arg,
- PrepareSubsequentHO-Res,
- ProcessAccessSignalling-Arg,
- SendEndSignal-Arg,
- SendEndSignal-Res,
-
- -- authentication management types
- SendAuthenticationInfoArg,
- SendAuthenticationInfoRes,
- AuthenticationFailureReportArg,
- AuthenticationFailureReportRes,
-
- -- security management types
- Kc,
-
- -- equipment management types
- CheckIMEI-Arg,
- CheckIMEI-Res,
-
- -- subscriber management types
- InsertSubscriberDataArg,
- InsertSubscriberDataRes,
- LSAIdentity,
- DeleteSubscriberDataArg,
- DeleteSubscriberDataRes,
- Ext-QoS-Subscribed,
- Ext2-QoS-Subscribed,
- SubscriberData,
- ODB-Data,
- SubscriberStatus,
- ZoneCodeList,
- maxNumOfZoneCodes,
- O-CSI,
- D-CSI,
- O-BcsmCamelTDPCriteriaList,
- T-BCSM-CAMEL-TDP-CriteriaList,
- SS-CSI,
- ServiceKey,
- DefaultCallHandling,
- CamelCapabilityHandling,
- BasicServiceCriteria,
- SupportedCamelPhases,
- OfferedCamel4CSIs,
- OfferedCamel4Functionalities,
- maxNumOfCamelTDPData,
- CUG-Index,
- CUG-Info,
- CUG-Interlock,
- InterCUG-Restrictions,
- IntraCUG-Options,
- NotificationToMSUser,
- QoS-Subscribed,
- IST-AlertTimerValue,
- T-CSI,
- T-BcsmTriggerDetectionPoint,
- APN,
-
- -- fault recovery types
- ResetArg,
- RestoreDataArg,
- RestoreDataRes,
-
--- provide subscriber info types
- GeographicalInformation,
- MS-Classmark2,
- GPRSMSClass,
-
- -- subscriber information enquiry types
- ProvideSubscriberInfoArg,
- ProvideSubscriberInfoRes,
- SubscriberInfo,
- LocationInformation,
- LocationInformationGPRS,
- RAIdentity,
- SubscriberState,
- GPRSChargingID,
- MNPInfoRes,
- RouteingNumber,
-
- -- any time information enquiry types
- AnyTimeInterrogationArg,
- AnyTimeInterrogationRes,
-
- -- any time information handling types
- AnyTimeSubscriptionInterrogationArg,
- AnyTimeSubscriptionInterrogationRes,
- AnyTimeModificationArg,
- AnyTimeModificationRes,
-
- -- subscriber data modification notification types
- NoteSubscriberDataModifiedArg,
- NoteSubscriberDataModifiedRes,
-
- -- gprs location information retrieval types
- SendRoutingInfoForGprsArg,
- SendRoutingInfoForGprsRes,
-
- -- failure reporting types
- FailureReportArg,
- FailureReportRes,
-
- -- gprs notification types
- NoteMsPresentForGprsArg,
- NoteMsPresentForGprsRes,
-
- -- Mobility Management types
- NoteMM-EventArg,
- NoteMM-EventRes,
- NumberPortabilityStatus
-
-;
-
-IMPORTS
- maxNumOfSS,
- SS-SubscriptionOption,
- SS-List,
- SS-ForBS-Code,
- Password
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
- SS-Code
-FROM MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-
- Ext-BearerServiceCode
-FROM MAP-BS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-BS-Code (20) version9 (9)}
-
- Ext-TeleserviceCode
-FROM MAP-TS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)}
-
- AddressString,
- ISDN-AddressString,
- ISDN-SubaddressString,
- FTN-AddressString,
- AccessNetworkSignalInfo,
- IMSI,
- IMEI,
- TMSI,
- HLR-List,
- LMSI,
- Identity,
- GlobalCellId,
- CellGlobalIdOrServiceAreaIdOrLAI,
- Ext-BasicServiceCode,
- NAEA-PreferredCI,
- EMLPP-Info,
- MC-SS-Info,
- SubscriberIdentity,
- AgeOfLocationInformation,
- LCSClientExternalID,
- LCSClientInternalID,
- Ext-SS-Status,
- LCSServiceTypeID,
- ASCI-CallReference,
- TBCD-STRING
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
- AbsentSubscriberDiagnosticSM
-FROM MAP-ER-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)}
-
-;
-
--- location registration types
-
-UpdateLocationArg ::= SEQUENCE {
- imsi IMSI,
- msc-Number [1] ISDN-AddressString,
- vlr-Number ISDN-AddressString,
- lmsi [10] LMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- vlr-Capability [6] VLR-Capability OPTIONAL,
- informPreviousNetworkEntity [11] NULL OPTIONAL,
- cs-LCS-NotSupportedByUE [12] NULL OPTIONAL,
- v-gmlc-Address [2] GSN-Address OPTIONAL,
- add-info [13] ADD-Info OPTIONAL }
-
-VLR-Capability ::= SEQUENCE{
- supportedCamelPhases [0] SupportedCamelPhases OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- solsaSupportIndicator [2] NULL OPTIONAL,
- istSupportIndicator [1] IST-SupportIndicator OPTIONAL,
- superChargerSupportedInServingNetworkEntity [3] SuperChargerInfo OPTIONAL,
- longFTN-Supported [4] NULL OPTIONAL,
- supportedLCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL,
- offeredCamel4CSIs [6] OfferedCamel4CSIs OPTIONAL }
-
-SuperChargerInfo ::= CHOICE {
- sendSubscriberData [0] NULL,
- subscriberDataStored [1] AgeIndicator }
-
-AgeIndicator ::= OCTET STRING (SIZE (1..6))
- -- The internal structure of this parameter is implementation specific.
-
-IST-SupportIndicator ::= ENUMERATED {
- basicISTSupported (0),
- istCommandSupported (1),
- ...}
--- exception handling:
--- reception of values > 1 shall be mapped to ' istCommandSupported '
-
-SupportedLCS-CapabilitySets ::= BIT STRING {
- lcsCapabilitySet1 (0),
- lcsCapabilitySet2 (1),
- lcsCapabilitySet3 (2),
- lcsCapabilitySet4 (3) } (SIZE (2..16))
--- Core network signalling capability set1 indicates LCS Release98 or Release99 version.
--- Core network signalling capability set2 indicates LCS Release4.
--- Core network signalling capability set3 indicates LCS Release5.
--- Core network signalling capability set4 indicates LCS Release6 or later version.
--- A node shall mark in the BIT STRING all LCS capability sets it supports.
--- If no bit is set then the sending node does not support LCS.
--- If the parameter is not sent by an VLR then the VLR may support at most capability set1.
--- If the parameter is not sent by an SGSN then no support for LCS is assumed.
--- An SGSN is not allowed to indicate support of capability set1.
--- Other bits than listed above shall be discarded.
-
-UpdateLocationRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- add-Capability NULL OPTIONAL }
-
-ADD-Info ::= SEQUENCE {
- imeisv [0] IMEI,
- skipSubscriberDataUpdate [1] NULL OPTIONAL,
- ...}
-
-
-CancelLocationArg ::= [3] SEQUENCE {
- identity Identity,
- cancellationType CancellationType OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CancellationType ::= ENUMERATED {
- updateProcedure (0),
- subscriptionWithdraw (1),
- ...}
- -- The HLR shall not send values other than listed above
-
-CancelLocationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-PurgeMS-Arg ::= [3] SEQUENCE {
- imsi IMSI,
- vlr-Number [0] ISDN-AddressString OPTIONAL,
- sgsn-Number [1] ISDN-AddressString OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-PurgeMS-Res ::= SEQUENCE {
- freezeTMSI [0] NULL OPTIONAL,
- freezeP-TMSI [1] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SendIdentificationArg ::= SEQUENCE {
- tmsi TMSI,
- numberOfRequestedVectors NumberOfRequestedVectors OPTIONAL,
- -- within a dialogue numberOfRequestedVectors shall be present in
- -- the first service request and shall not be present in subsequent service requests.
- -- If received in a subsequent service request it shall be discarded.
- segmentationProhibited NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- msc-Number ISDN-AddressString OPTIONAL }
-
-SendIdentificationRes ::= [3] SEQUENCE {
- imsi IMSI OPTIONAL,
- -- IMSI shall be present in the first (or only) service response of a dialogue.
- -- If multiple service requests are present in a dialogue then IMSI
- -- shall not be present in any service response other than the first one.
- authenticationSetList AuthenticationSetList OPTIONAL,
- currentSecurityContext [2]CurrentSecurityContext OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
--- authentication management types
-
-AuthenticationSetList ::= CHOICE {
- tripletList [0] TripletList,
- quintupletList [1] QuintupletList }
-
-TripletList ::= SEQUENCE SIZE (1..5) OF
- AuthenticationTriplet
-
-QuintupletList ::= SEQUENCE SIZE (1..5) OF
- AuthenticationQuintuplet
-
-AuthenticationTriplet ::= SEQUENCE {
- rand RAND,
- sres SRES,
- kc Kc,
- ...}
-
-AuthenticationQuintuplet ::= SEQUENCE {
- rand RAND,
- xres XRES,
- ck CK,
- ik IK,
- autn AUTN,
- ...}
-
-CurrentSecurityContext ::= CHOICE {
- gsm-SecurityContextData [0] GSM-SecurityContextData,
- umts-SecurityContextData [1] UMTS-SecurityContextData }
-
-GSM-SecurityContextData ::= SEQUENCE {
- kc Kc,
- cksn Cksn,
- ... }
-
-UMTS-SecurityContextData ::= SEQUENCE {
- ck CK,
- ik IK,
- ksi KSI,
- ... }
-
-RAND ::= OCTET STRING (SIZE (16))
-
-SRES ::= OCTET STRING (SIZE (4))
-
-Kc ::= OCTET STRING (SIZE (8))
-
-XRES ::= OCTET STRING (SIZE (4..16))
-
-CK ::= OCTET STRING (SIZE (16))
-
-IK ::= OCTET STRING (SIZE (16))
-
-AUTN ::= OCTET STRING (SIZE (16))
-
-AUTS ::= OCTET STRING (SIZE (14))
-
-Cksn ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in 3GPP TS 24.008
-
-KSI ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in 3GPP TS 24.008
-
-AuthenticationFailureReportArg ::= SEQUENCE {
- imsi IMSI,
- failureCause FailureCause,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- re-attempt BOOLEAN OPTIONAL,
- accessType AccessType OPTIONAL,
- rand RAND OPTIONAL,
- vlr-Number [0] ISDN-AddressString OPTIONAL,
- sgsn-Number [1] ISDN-AddressString OPTIONAL }
-
-AccessType ::= ENUMERATED {
- call (0),
- emergencyCall (1),
- locationUpdating (2),
- supplementaryService (3),
- shortMessage (4),
- gprsAttach (5),
- routingAreaUpdating (6),
- serviceRequest (7),
- pdpContextActivation (8),
- pdpContextDeactivation (9),
- ...,
- gprsDetach (10)}
- -- exception handling:
- -- received values greater than 10 shall be ignored.
-
-AuthenticationFailureReportRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-FailureCause ::= ENUMERATED {
- wrongUserResponse (0),
- wrongNetworkSignature (1)}
-
--- gprs location registration types
-
-UpdateGprsLocationArg ::= SEQUENCE {
- imsi IMSI,
- sgsn-Number ISDN-AddressString,
- sgsn-Address GSN-Address,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- sgsn-Capability [0] SGSN-Capability OPTIONAL,
- informPreviousNetworkEntity [1] NULL OPTIONAL,
- ps-LCS-NotSupportedByUE [2] NULL OPTIONAL,
- v-gmlc-Address [3] GSN-Address OPTIONAL,
- add-info [4] ADD-Info OPTIONAL }
-
-SGSN-Capability ::= SEQUENCE{
- solsaSupportIndicator NULL OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... ,
- superChargerSupportedInServingNetworkEntity [2] SuperChargerInfo OPTIONAL ,
- gprsEnhancementsSupportIndicator [3] NULL OPTIONAL,
- supportedCamelPhases [4] SupportedCamelPhases OPTIONAL,
- supportedLCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL,
- offeredCamel4CSIs [6] OfferedCamel4CSIs OPTIONAL,
- smsCallBarringSupportIndicator [7] NULL OPTIONAL }
-
-GSN-Address ::= OCTET STRING (SIZE (5..17))
- -- Octets are coded according to TS 3GPP TS 23.003 [17]
-
-UpdateGprsLocationRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- add-Capability NULL OPTIONAL }
-
--- handover types
-
-ForwardAccessSignalling-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- integrityProtectionInfo [0] IntegrityProtectionInformation OPTIONAL,
- encryptionInfo [1] EncryptionInformation OPTIONAL,
- keyStatus [2] KeyStatus OPTIONAL,
- allowedGSM-Algorithms [4] AllowedGSM-Algorithms OPTIONAL,
- allowedUMTS-Algorithms [5] AllowedUMTS-Algorithms OPTIONAL,
- radioResourceInformation [6] RadioResourceInformation OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...,
- radioResourceList [7] RadioResourceList OPTIONAL,
- bssmap-ServiceHandover [9] BSSMAP-ServiceHandover OPTIONAL,
- ranap-ServiceHandover [8] RANAP-ServiceHandover OPTIONAL,
- bssmap-ServiceHandoverList [10] BSSMAP-ServiceHandoverList OPTIONAL,
- currentlyUsedCodec [11] Codec OPTIONAL,
- iuSupportedCodecsList [12] SupportedCodecsList OPTIONAL,
- rab-ConfigurationIndicator [13] NULL OPTIONAL,
- iuSelectedCodec [14] Codec OPTIONAL }
-
-AllowedGSM-Algorithms ::= OCTET STRING (SIZE (1))
- -- internal structure is coded as Algorithm identifier octet from
- -- Permitted Algorithms defined in 3GPP TS 48.008
- -- A node shall mark all GSM algorithms that are allowed in MSC-B
-
-AllowedUMTS-Algorithms ::= SEQUENCE {
- integrityProtectionAlgorithms [0] PermittedIntegrityProtectionAlgorithms OPTIONAL,
- encryptionAlgorithms [1] PermittedEncryptionAlgorithms OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-PermittedIntegrityProtectionAlgorithms ::=
- OCTET STRING (SIZE (1..maxPermittedIntegrityProtectionAlgorithmsLength))
- -- Octets contain a complete PermittedIntegrityProtectionAlgorithms data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413.
- -- Padding bits are included, if needed, in the least significant bits of the
- -- last octet of the octet string.
-
-
-maxPermittedIntegrityProtectionAlgorithmsLength INTEGER ::= 9
-
-PermittedEncryptionAlgorithms ::=
- OCTET STRING (SIZE (1..maxPermittedEncryptionAlgorithmsLength))
- -- Octets contain a complete PermittedEncryptionAlgorithms data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included, if needed, in the least significant bits of the
- -- last octet of the octet string.
-
-
-maxPermittedEncryptionAlgorithmsLength INTEGER ::= 9
-
-KeyStatus ::= ENUMERATED {
- old (0),
- new (1),
- ...}
- -- exception handling:
- -- received values in range 2-31 shall be treated as "old"
- -- received values greater than 31 shall be treated as "new"
-
-PrepareHO-Arg ::= [3] SEQUENCE {
- targetCellId [0] GlobalCellId OPTIONAL,
- ho-NumberNotRequired NULL OPTIONAL,
- targetRNCId [1] RNCId OPTIONAL,
- an-APDU [2] AccessNetworkSignalInfo OPTIONAL,
- multipleBearerRequested [3] NULL OPTIONAL,
- imsi [4] IMSI OPTIONAL,
- integrityProtectionInfo [5] IntegrityProtectionInformation OPTIONAL,
- encryptionInfo [6] EncryptionInformation OPTIONAL,
- radioResourceInformation [7] RadioResourceInformation OPTIONAL,
- allowedGSM-Algorithms [9] AllowedGSM-Algorithms OPTIONAL,
- allowedUMTS-Algorithms [10] AllowedUMTS-Algorithms OPTIONAL,
- radioResourceList [11] RadioResourceList OPTIONAL,
- extensionContainer [8] ExtensionContainer OPTIONAL,
- ... ,
- rab-Id [12] RAB-Id OPTIONAL,
- bssmap-ServiceHandover [13] BSSMAP-ServiceHandover OPTIONAL,
- ranap-ServiceHandover [14] RANAP-ServiceHandover OPTIONAL,
- bssmap-ServiceHandoverList [15] BSSMAP-ServiceHandoverList OPTIONAL,
- asciCallReference [20] ASCI-CallReference OPTIONAL,
- geran-classmark [16] GERAN-Classmark OPTIONAL,
- iuCurrentlyUsedCodec [17] Codec OPTIONAL,
- iuSupportedCodecsList [18] SupportedCodecsList OPTIONAL,
- rab-ConfigurationIndicator [19] NULL OPTIONAL,
- uesbi-Iu [21] UESBI-Iu OPTIONAL }
-
-BSSMAP-ServiceHandoverList ::= SEQUENCE SIZE (1.. maxNumOfServiceHandovers) OF
- BSSMAP-ServiceHandoverInfo
-
-BSSMAP-ServiceHandoverInfo ::= SEQUENCE {
- bssmap-ServiceHandover BSSMAP-ServiceHandover,
- rab-Id RAB-Id,
- -- RAB Identity is needed to relate the service handovers with the radio access bearers.
- ...}
-
-maxNumOfServiceHandovers INTEGER ::= 7
-
-BSSMAP-ServiceHandover ::= OCTET STRING (SIZE (1))
- -- Octets are coded according the Service Handover information element in
- -- 3GPP TS 48.008.
-
-RANAP-ServiceHandover ::= OCTET STRING (SIZE (1))
- -- Octet contains a complete Service-Handover data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included in the least significant bits.
-
-
-RadioResourceList ::= SEQUENCE SIZE (1.. maxNumOfRadioResources) OF
- RadioResource
-
-RadioResource ::= SEQUENCE {
- radioResourceInformation RadioResourceInformation,
- rab-Id RAB-Id,
- -- RAB Identity is needed to relate the radio resources with the radio access bearers.
- ...}
-
-maxNumOfRadioResources INTEGER ::= 7
-
-PrepareHO-Res ::= [3] SEQUENCE {
- handoverNumber [0] ISDN-AddressString OPTIONAL,
- relocationNumberList [1] RelocationNumberList OPTIONAL,
- an-APDU [2] AccessNetworkSignalInfo OPTIONAL,
- multicallBearerInfo [3] MulticallBearerInfo OPTIONAL,
- multipleBearerNotSupported NULL OPTIONAL,
- selectedUMTS-Algorithms [5] SelectedUMTS-Algorithms OPTIONAL,
- chosenRadioResourceInformation [6] ChosenRadioResourceInformation OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...,
- iuSelectedCodec [7] Codec OPTIONAL,
- iuAvailableCodecsList [8] CodecList OPTIONAL }
-
-SelectedUMTS-Algorithms ::= SEQUENCE {
- integrityProtectionAlgorithm [0] ChosenIntegrityProtectionAlgorithm OPTIONAL,
- encryptionAlgorithm [1] ChosenEncryptionAlgorithm OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-ChosenIntegrityProtectionAlgorithm ::= OCTET STRING (SIZE (1))
- -- Octet contains a complete IntegrityProtectionAlgorithm data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included in the least significant bits.
-
-ChosenEncryptionAlgorithm ::= OCTET STRING (SIZE (1))
- -- Octet contains a complete EncryptionAlgorithm data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included in the least significant bits.
-
-ChosenRadioResourceInformation ::= SEQUENCE {
- chosenChannelInfo [0] ChosenChannelInfo OPTIONAL,
- chosenSpeechVersion [1] ChosenSpeechVersion OPTIONAL,
- ...}
-
-ChosenChannelInfo ::= OCTET STRING (SIZE (1))
- -- Octets are coded according the Chosen Channel information element in 3GPP TS 48.008
-
-ChosenSpeechVersion ::= OCTET STRING (SIZE (1))
- -- Octets are coded according the Speech Version (chosen) information element in 3GPP TS
- -- 48.008
-
-PrepareSubsequentHO-Arg ::= [3] SEQUENCE {
- targetCellId [0] GlobalCellId OPTIONAL,
- targetMSC-Number [1] ISDN-AddressString,
- targetRNCId [2] RNCId OPTIONAL,
- an-APDU [3] AccessNetworkSignalInfo OPTIONAL,
- selectedRab-Id [4] RAB-Id OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...,
- geran-classmark [6] GERAN-Classmark OPTIONAL,
- rab-ConfigurationIndicator [7] NULL OPTIONAL }
-
-PrepareSubsequentHO-Res ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-ProcessAccessSignalling-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- selectedUMTS-Algorithms [1] SelectedUMTS-Algorithms OPTIONAL,
- selectedGSM-Algorithm [2] SelectedGSM-Algorithm OPTIONAL,
- chosenRadioResourceInformation [3] ChosenRadioResourceInformation OPTIONAL,
- selectedRab-Id [4] RAB-Id OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...,
- iUSelectedCodec [5] Codec OPTIONAL,
- iuAvailableCodecsList [6] CodecList OPTIONAL }
-
-SupportedCodecsList ::= SEQUENCE {
- utranCodecList [0] CodecList OPTIONAL,
- geranCodecList [1] CodecList OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-CodecList ::= SEQUENCE {
- codec1 [1] Codec,
- codec2 [2] Codec OPTIONAL,
- codec3 [3] Codec OPTIONAL,
- codec4 [4] Codec OPTIONAL,
- codec5 [5] Codec OPTIONAL,
- codec6 [6] Codec OPTIONAL,
- codec7 [7] Codec OPTIONAL,
- codec8 [8] Codec OPTIONAL,
- extensionContainer [9] ExtensionContainer OPTIONAL,
- ...}
- -- Codecs are sent in priority order where codec1 has highest priority
-
-Codec ::= OCTET STRING (SIZE (1..4))
-
- -- The internal structure is defined as follows:
- -- octet 1 Coded as Codec Identification code in 3GPP TS 26.103
- -- octets 2,3,4 Parameters for the Codec as defined in 3GPP TS
- -- 26.103, if available, length depending on the codec
-
-GERAN-Classmark ::= OCTET STRING (SIZE (2..87))
- -- Octets are coded according the GERAN Classmark information element in 3GPP TS 48.008
-
-SelectedGSM-Algorithm ::= OCTET STRING (SIZE (1))
- -- internal structure is coded as Algorithm identifier octet from Chosen Encryption
- -- Algorithm defined in 3GPP TS 48.008
- -- A node shall mark only the selected GSM algorithm
-
-SendEndSignal-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-SendEndSignal-Res ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-RNCId ::= OCTET STRING (SIZE (7))
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to 3GPP TS 24.008
- -- octets 6 and 7 RNC Id value according to 3GPP TS 25.413
-
-RelocationNumberList ::= SEQUENCE SIZE (1..maxNumOfRelocationNumber) OF
- RelocationNumber
-
-MulticallBearerInfo ::= INTEGER (1..maxNumOfRelocationNumber)
-
-RelocationNumber ::= SEQUENCE {
- handoverNumber ISDN-AddressString,
- rab-Id RAB-Id,
- -- RAB Identity is needed to relate the calls with the radio access bearers.
- ...}
-
-RAB-Id ::= INTEGER (1..maxNrOfRABs)
-
-maxNrOfRABs INTEGER ::= 255
-
-maxNumOfRelocationNumber INTEGER ::= 7
-
-RadioResourceInformation ::= OCTET STRING (SIZE (3..13))
- -- Octets are coded according the Channel Type information element in 3GPP TS 48.008
-
-IntegrityProtectionInformation ::= OCTET STRING (SIZE (18..maxNumOfIntegrityInfo))
- -- Octets contain a complete IntegrityProtectionInformation data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included, if needed, in the least significant bits of the
- -- last octet of the octet string.
-
-maxNumOfIntegrityInfo INTEGER ::= 100
-
-EncryptionInformation ::= OCTET STRING (SIZE (18..maxNumOfEncryptionInfo))
- -- Octets contain a complete EncryptionInformation data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included, if needed, in the least significant bits of the
- -- last octet of the octet string.
-
-maxNumOfEncryptionInfo INTEGER ::= 100
-
--- authentication management types
-
-SendAuthenticationInfoArg ::= SEQUENCE {
- imsi [0] IMSI,
- numberOfRequestedVectors NumberOfRequestedVectors,
- segmentationProhibited NULL OPTIONAL,
- immediateResponsePreferred [1] NULL OPTIONAL,
- re-synchronisationInfo Re-synchronisationInfo OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- requestingNodeType [3] RequestingNodeType OPTIONAL,
- requestingPLMN-Id [4] PLMN-Id OPTIONAL }
-
-PLMN-Id ::= OCTET STRING (SIZE (3))
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
-
-NumberOfRequestedVectors ::= INTEGER (1..5)
-
-Re-synchronisationInfo ::= SEQUENCE {
- rand RAND,
- auts AUTS,
- ...}
-
-SendAuthenticationInfoRes ::= [3] SEQUENCE {
- authenticationSetList AuthenticationSetList OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-RequestingNodeType ::= ENUMERATED {
- vlr (0),
- sgsn (1),
- ...}
- -- exception handling:
- -- received values in the range 2-15 shall be treated as "vlr"
- -- received values greater than 15 shall be treated as "sgsn"
-
--- equipment management types
-
-CheckIMEI-Arg ::= SEQUENCE {
- imei IMEI,
- requestedEquipmentInfo RequestedEquipmentInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CheckIMEI-Res ::= SEQUENCE {
- equipmentStatus EquipmentStatus OPTIONAL,
- bmuef UESBI-Iu OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-RequestedEquipmentInfo::= BIT STRING {
- equipmentStatus (0),
- bmuef (1)} (SIZE (2..8))
- -- exception handling: reception of unknown bit assignments in the
- -- RequestedEquipmentInfo data type shall be discarded by the receiver
-
-UESBI-Iu ::= SEQUENCE {
- uesbi-IuA [0] UESBI-IuA OPTIONAL,
- uesbi-IuB [1] UESBI-IuB OPTIONAL,
- ...}
-
-UESBI-IuA ::= BIT STRING (SIZE(1..128))
--- See 3GPP TS 25.413
-
-UESBI-IuB ::= BIT STRING (SIZE(1..128))
--- See 3GPP TS 25.413
-
-EquipmentStatus ::= ENUMERATED {
- whiteListed (0),
- blackListed (1),
- greyListed (2)}
-
--- subscriber management types
-
-InsertSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
- COMPONENTS OF SubscriberData,
- extensionContainer [14] ExtensionContainer OPTIONAL,
- ... ,
- naea-PreferredCI [15] NAEA-PreferredCI OPTIONAL,
- -- naea-PreferredCI is included at the discretion of the HLR operator.
- gprsSubscriptionData [16] GPRSSubscriptionData OPTIONAL,
- roamingRestrictedInSgsnDueToUnsupportedFeature [23] NULL
- OPTIONAL,
- networkAccessMode [24] NetworkAccessMode OPTIONAL,
- lsaInformation [25] LSAInformation OPTIONAL,
- lmu-Indicator [21] NULL OPTIONAL,
- lcsInformation [22] LCSInformation OPTIONAL,
- istAlertTimer [26] IST-AlertTimerValue OPTIONAL,
- superChargerSupportedInHLR [27] AgeIndicator OPTIONAL,
- mc-SS-Info [28] MC-SS-Info OPTIONAL,
- cs-AllocationRetentionPriority [29] CS-AllocationRetentionPriority OPTIONAL,
- sgsn-CAMEL-SubscriptionInfo [17] SGSN-CAMEL-SubscriptionInfo OPTIONAL,
- chargingCharacteristics [18] ChargingCharacteristics OPTIONAL,
- accessRestrictionData [19] AccessRestrictionData OPTIONAL
- }
- -- If the Network Access Mode parameter is sent, it shall be present only in
- -- the first sequence if seqmentation is used
-
-AccessRestrictionData ::= BIT STRING {
- utranNotAllowed (0),
- geranNotAllowed (1) } (SIZE (2..8))
- -- exception handling:
- -- bits 2 to 7 shall be ignored if received and not understood
-
-
-CS-AllocationRetentionPriority ::= OCTET STRING (SIZE (1))
- -- This data type encodes each priority level defined in TS 23.107 as the binary value
- -- of the priority level.
-
-IST-AlertTimerValue ::= INTEGER (15..255)
-
-LCSInformation ::= SEQUENCE {
- gmlc-List [0] GMLC-List OPTIONAL,
- lcs-PrivacyExceptionList [1] LCS-PrivacyExceptionList OPTIONAL,
- molr-List [2] MOLR-List OPTIONAL,
- ...,
- add-lcs-PrivacyExceptionList [3] LCS-PrivacyExceptionList OPTIONAL }
- -- add-lcs-PrivacyExceptionList may be sent only if lcs-PrivacyExceptionList is
- -- present and contains four instances of LCS-PrivacyClass. If the mentioned condition
- -- is not satisfied the receiving node shall discard add-lcs-PrivacyExceptionList.
- -- If an LCS-PrivacyClass is received both in lcs-PrivacyExceptionList and in
- -- add-lcs-PrivacyExceptionList with the same SS-Code, then the error unexpected
- -- data value shall be returned.
-
-GMLC-List ::= SEQUENCE SIZE (1..maxNumOfGMLC) OF
- ISDN-AddressString
- -- if segmentation is used, the complete GMLC-List shall be sent in one segment
-
-maxNumOfGMLC INTEGER ::= 5
-
-NetworkAccessMode ::= ENUMERATED {
- bothMSCAndSGSN (0),
- onlyMSC (1),
- onlySGSN (2),
- ...}
- -- if unknown values are received in NetworkAccessMode
- -- they shall be discarded.
-
-GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- PDP-Context
-
-maxNumOfPDP-Contexts INTEGER ::= 50
-
-PDP-Context ::= SEQUENCE {
- pdp-ContextId ContextId,
- pdp-Type [16] PDP-Type,
- pdp-Address [17] PDP-Address OPTIONAL,
- qos-Subscribed [18] QoS-Subscribed,
- vplmnAddressAllowed [19] NULL OPTIONAL,
- apn [20] APN,
- extensionContainer [21] ExtensionContainer OPTIONAL,
- ... ,
- ext-QoS-Subscribed [0] Ext-QoS-Subscribed OPTIONAL,
- pdp-ChargingCharacteristics [1] ChargingCharacteristics OPTIONAL,
- ext2-QoS-Subscribed [2] Ext2-QoS-Subscribed OPTIONAL
- -- ext2-QoS-Subscribed may be present only if ext-QoS-Subscribed is present.
- }
-
-ContextId ::= INTEGER (1..maxNumOfPDP-Contexts)
-
-GPRSSubscriptionData ::= SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
- -- If segmentation is used, completeDataListIncluded may only be present in the
- -- first segment.
- gprsDataList [1] GPRSDataList,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... }
-
-SGSN-CAMEL-SubscriptionInfo ::= SEQUENCE {
- gprs-CSI [0] GPRS-CSI OPTIONAL,
- mo-sms-CSI [1] SMS-CSI OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- mt-sms-CSI [3] SMS-CSI OPTIONAL,
- mt-smsCAMELTDP-CriteriaList [4] MT-smsCAMELTDP-CriteriaList OPTIONAL,
- mg-csi [5] MG-CSI OPTIONAL
- }
-
-GPRS-CSI ::= SEQUENCE {
- gprs-CamelTDPDataList [0] GPRS-CamelTDPDataList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when GPRS-CSI is sent to SGSN.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- GPRS-CamelTDPData and camelCapabilityHandling shall be present in
--- the GPRS-CSI sequence.
--- If GPRS-CSI is segmented, gprs-CamelTDPDataList and camelCapabilityHandling shall be
--- present in the first segment
-
-GPRS-CamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- GPRS-CamelTDPData
--- GPRS-CamelTDPDataList shall not contain more than one instance of
--- GPRS-CamelTDPData containing the same value for gprs-TriggerDetectionPoint.
-
-GPRS-CamelTDPData ::= SEQUENCE {
- gprs-TriggerDetectionPoint [0] GPRS-TriggerDetectionPoint,
- serviceKey [1] ServiceKey,
- gsmSCF-Address [2] ISDN-AddressString,
- defaultSessionHandling [3] DefaultGPRS-Handling,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...
- }
-
-DefaultGPRS-Handling ::= ENUMERATED {
- continueTransaction (0) ,
- releaseTransaction (1) ,
- ...}
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueTransaction"
--- reception of values greater than 31 shall be treated as "releaseTransaction"
-
-GPRS-TriggerDetectionPoint ::= ENUMERATED {
- attach (1),
- attachChangeOfPosition (2),
- pdp-ContextEstablishment (11),
- pdp-ContextEstablishmentAcknowledgement (12),
- pdp-ContextChangeOfPosition (14),
- ... }
--- exception handling:
--- For GPRS-CamelTDPData sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- GPRS-CamelTDPDatasequence.
-
-APN ::= OCTET STRING (SIZE (2..63))
- -- Octets are coded according to TS 3GPP TS 23.003 [17]
-
-PDP-Type ::= OCTET STRING (SIZE (2))
- -- Octets are coded according to TS 3GPP TS 29.060 [105]
-
-PDP-Address ::= OCTET STRING (SIZE (1..16))
- -- Octets are coded according to TS 3GPP TS 29.060 [105]
-
- -- The possible size values are:
- -- 1-7 octets X.25 address type
- -- 4 octets IPv4 address type
- -- 16 octets Ipv6 address type
-
-QoS-Subscribed ::= OCTET STRING (SIZE (3))
- -- Octets are coded according to TS 3GPP TS 24.008 [35] Quality of Service Octets
- -- 3-5.
-
-Ext-QoS-Subscribed ::= OCTET STRING (SIZE (1..9))
- -- OCTET 1:
- -- Allocation/Retention Priority (This octet encodes each priority level defined in
- -- 23.107 as the binary value of the priority level, declaration in 29.060)
- -- Octets 2-9 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets
- -- 6-13.
-
-Ext2-QoS-Subscribed ::= OCTET STRING (SIZE (1..3))
- -- Octets 1-3 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 14-16.
- -- If Quality of Service information is structured with 14 octet length, then
- -- Octet 1 is coded according to 3GPP TS 24.008 [35] Quality of Service Octet 14.
-
-ChargingCharacteristics ::= OCTET STRING (SIZE (2))
- -- Octets are coded according to 3GPP TS 32.215.
-
-LSAOnlyAccessIndicator ::= ENUMERATED {
- accessOutsideLSAsAllowed (0),
- accessOutsideLSAsRestricted (1)}
-
-LSADataList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
- LSAData
-
-maxNumOfLSAs INTEGER ::= 20
-
-LSAData ::= SEQUENCE {
- lsaIdentity [0] LSAIdentity,
- lsaAttributes [1] LSAAttributes,
- lsaActiveModeIndicator [2] NULL OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-LSAInformation ::= SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
-
- -- If segmentation is used, completeDataListIncluded may only be present in the
- -- first segment.
- lsaOnlyAccessIndicator [1] LSAOnlyAccessIndicator OPTIONAL,
- lsaDataList [2] LSADataList OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-LSAIdentity ::= OCTET STRING (SIZE (3))
- -- Octets are coded according to TS 3GPP TS 23.003 [17]
-
-LSAAttributes ::= OCTET STRING (SIZE (1))
- -- Octets are coded according to TS 3GPP TS 48.008 [49]
-
-SubscriberData ::= SEQUENCE {
- msisdn [1] ISDN-AddressString OPTIONAL,
- category [2] Category OPTIONAL,
- subscriberStatus [3] SubscriberStatus OPTIONAL,
- bearerServiceList [4] BearerServiceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- bearerServiceCodes is defined in section 8.8.1
- teleserviceList [6] TeleserviceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- teleserviceCodes is defined in section 8.8.1
- provisionedSS [7] Ext-SS-InfoList OPTIONAL,
- odb-Data [8] ODB-Data OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL,
- regionalSubscriptionData [10] ZoneCodeList OPTIONAL,
- vbsSubscriptionData [11] VBSDataList OPTIONAL,
- vgcsSubscriptionData [12] VGCSDataList OPTIONAL,
- vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL
- }
-
-Category ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in ITU-T Rec Q.763.
-
-SubscriberStatus ::= ENUMERATED {
- serviceGranted (0),
- operatorDeterminedBarring (1)}
-
-BearerServiceList ::= SEQUENCE SIZE (1..maxNumOfBearerServices) OF
- Ext-BearerServiceCode
-
-maxNumOfBearerServices INTEGER ::= 50
-
-TeleserviceList ::= SEQUENCE SIZE (1..maxNumOfTeleservices) OF
- Ext-TeleserviceCode
-
-maxNumOfTeleservices INTEGER ::= 20
-
-ODB-Data ::= SEQUENCE {
- odb-GeneralData ODB-GeneralData,
- odb-HPLMN-Data ODB-HPLMN-Data OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ODB-GeneralData ::= BIT STRING {
- allOG-CallsBarred (0),
- internationalOGCallsBarred (1),
- internationalOGCallsNotToHPLMN-CountryBarred (2),
- interzonalOGCallsBarred (6),
- interzonalOGCallsNotToHPLMN-CountryBarred (7),
- interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8),
- premiumRateInformationOGCallsBarred (3),
- premiumRateEntertainementOGCallsBarred (4),
- ss-AccessBarred (5),
- allECT-Barred (9),
- chargeableECT-Barred (10),
- internationalECT-Barred (11),
- interzonalECT-Barred (12),
- doublyChargeableECT-Barred (13),
- multipleECT-Barred (14),
- allPacketOrientedServicesBarred (15),
- roamerAccessToHPLMN-AP-Barred (16),
- roamerAccessToVPLMN-AP-Barred (17),
- roamingOutsidePLMNOG-CallsBarred (18),
- allIC-CallsBarred (19),
- roamingOutsidePLMNIC-CallsBarred (20),
- roamingOutsidePLMNICountryIC-CallsBarred (21),
- roamingOutsidePLMN-Barred (22),
- roamingOutsidePLMN-CountryBarred (23),
- registrationAllCF-Barred (24),
- registrationCFNotToHPLMN-Barred (25),
- registrationInterzonalCF-Barred (26),
- registrationInterzonalCFNotToHPLMN-Barred (27),
- registrationInternationalCF-Barred (28)} (SIZE (15..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData
- -- When the ODB-GeneralData type is removed from the HLR for a given subscriber,
- -- in NoteSubscriberDataModified operation sent toward the gsmSCF
- -- all bits shall be set to "O".
-
-ODB-HPLMN-Data ::= BIT STRING {
- plmn-SpecificBarringType1 (0),
- plmn-SpecificBarringType2 (1),
- plmn-SpecificBarringType3 (2),
- plmn-SpecificBarringType4 (3)} (SIZE (4..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-HPLMN-Data type shall be treated like unsupported ODB-HPLMN-Data
- -- When the ODB-HPLMN-Data type is removed from the HLR for a given subscriber,
- -- in NoteSubscriberDataModified operation sent toward the gsmSCF
- -- all bits shall be set to "O".
-
-Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- Ext-SS-Info
-
-Ext-SS-Info ::= CHOICE {
- forwardingInfo [0] Ext-ForwInfo,
- callBarringInfo [1] Ext-CallBarInfo,
- cug-Info [2] CUG-Info,
- ss-Data [3] Ext-SS-Data,
- emlpp-Info [4] EMLPP-Info}
-
-Ext-ForwInfo ::= SEQUENCE {
- ss-Code SS-Code,
- forwardingFeatureList Ext-ForwFeatureList,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-ForwFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-ForwFeature
-
-Ext-ForwFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- -- When this data type is sent from an HLR which supports CAMEL Phase 2
- -- to a VLR that supports CAMEL Phase 2 the VLR shall not check the
- -- format of the number
- forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] Ext-ForwOptions OPTIONAL,
- noReplyConditionTime [7] Ext-NoRepCondTime OPTIONAL,
- extensionContainer [9] ExtensionContainer OPTIONAL,
- ...,
- longForwardedToNumber [10] FTN-AddressString OPTIONAL }
-
-Ext-ForwOptions ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
-
- -- bit 8: notification to forwarding party
- -- 0 no notification
- -- 1 notification
-
- -- bit 7: redirecting presentation
- -- 0 no presentation
- -- 1 presentation
-
- -- bit 6: notification to calling party
- -- 0 no notification
- -- 1 notification
-
- -- bit 5: 0 (unused)
-
- -- bits 43: forwarding reason
- -- 00 ms not reachable
- -- 01 ms busy
- -- 10 no reply
- -- 11 unconditional
-
- -- bits 21: 00 (unused)
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-Ext-NoRepCondTime ::= INTEGER (1..100)
- -- Only values 5-30 are used.
- -- Values in the ranges 1-4 and 31-100 are reserved for future use
- -- If received:
- -- values 1-4 shall be mapped on to value 5
- -- values 31-100 shall be mapped on to value 30
-
-Ext-CallBarInfo ::= SEQUENCE {
- ss-Code SS-Code,
- callBarringFeatureList Ext-CallBarFeatureList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-CallBarFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-CallBarringFeature
-
-Ext-CallBarringFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Info ::= SEQUENCE {
- cug-SubscriptionList CUG-SubscriptionList,
- cug-FeatureList CUG-FeatureList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF
- CUG-Subscription
-
-CUG-Subscription ::= SEQUENCE {
- cug-Index CUG-Index,
- cug-Interlock CUG-Interlock,
- intraCUG-Options IntraCUG-Options,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Index ::= INTEGER (0..32767)
- -- The internal structure is defined in ETS 300 138.
-
-CUG-Interlock ::= OCTET STRING (SIZE (4))
-
-IntraCUG-Options ::= ENUMERATED {
- noCUG-Restrictions (0),
- cugIC-CallBarred (1),
- cugOG-CallBarred (2)}
-
-maxNumOfCUG INTEGER ::= 10
-
-CUG-FeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- CUG-Feature
-
-Ext-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-BasicServiceCode
-
-maxNumOfExt-BasicServiceGroups INTEGER ::= 32
-
-CUG-Feature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- preferentialCUG-Indicator CUG-Index OPTIONAL,
- interCUG-Restrictions InterCUG-Restrictions,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-InterCUG-Restrictions ::= OCTET STRING (SIZE (1))
-
- -- bits 876543: 000000 (unused)
- -- Exception handling:
- -- bits 876543 shall be ignored if received and not understood
-
- -- bits 21
- -- 00 CUG only facilities
- -- 01 CUG with outgoing access
- -- 10 CUG with incoming access
- -- 11 CUG with both outgoing and incoming access
-
-Ext-SS-Data ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status [4] Ext-SS-Status,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-LCS-PrivacyExceptionList ::= SEQUENCE SIZE (1..maxNumOfPrivacyClass) OF
- LCS-PrivacyClass
-
-maxNumOfPrivacyClass INTEGER ::= 4
-
-LCS-PrivacyClass ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status Ext-SS-Status,
- notificationToMSUser [0] NotificationToMSUser OPTIONAL,
- -- notificationToMSUser may be sent only for SS-codes callSessionRelated
- -- and callSessionUnrelated. If not received for SS-codes callSessionRelated
- -- and callSessionUnrelated,
- -- the default values according to 3GPP TS 23.271 shall be assumed.
- externalClientList [1] ExternalClientList OPTIONAL,
- -- externalClientList may be sent only for SS-code callSessionUnrelated to a
- -- visited node that does not support LCS Release 4 or later versions.
- -- externalClientList may be sent only for SS-codes callSessionUnrelated and
- -- callSessionRelated to a visited node that supports LCS Release 4 or later versions.
- plmnClientList [2] PLMNClientList OPTIONAL,
- -- plmnClientList may be sent only for SS-code plmnoperator.
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...,
- ext-externalClientList [4] Ext-ExternalClientList OPTIONAL,
- -- Ext-externalClientList may be sent only if the visited node supports LCS Release 4 or
- -- later versions, the user did specify more than 5 clients, and White Book SCCP is used.
- serviceTypeList [5] ServiceTypeList OPTIONAL
- -- serviceTypeList may be sent only for SS-code serviceType and if the visited node
- -- supports LCS Release 5 or later versions.
- --
- -- if segmentation is used, the complete LCS-PrivacyClass shall be sent in one segment
-}
-
-ExternalClientList ::= SEQUENCE SIZE (0..maxNumOfExternalClient) OF
- ExternalClient
-
-maxNumOfExternalClient INTEGER ::= 5
-
-PLMNClientList ::= SEQUENCE SIZE (1..maxNumOfPLMNClient) OF
- LCSClientInternalID
-
-maxNumOfPLMNClient INTEGER ::= 5
-
-Ext-ExternalClientList ::= SEQUENCE SIZE (1..maxNumOfExt-ExternalClient) OF
- ExternalClient
-
-maxNumOfExt-ExternalClient INTEGER ::= 35
-
-ExternalClient ::= SEQUENCE {
- clientIdentity LCSClientExternalID,
- gmlc-Restriction [0] GMLC-Restriction OPTIONAL,
- notificationToMSUser [1] NotificationToMSUser OPTIONAL,
- -- If notificationToMSUser is not received, the default value according to
- -- 3GPP TS 23.271 shall be assumed.
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... }
-
-GMLC-Restriction ::= ENUMERATED {
- gmlc-List (0),
- home-Country (1) ,
- ... }
--- exception handling:
--- At reception of any other value than the ones listed the receiver shall ignore
--- GMLC-Restriction.
-
-NotificationToMSUser ::= ENUMERATED {
- notifyLocationAllowed (0),
- notifyAndVerify-LocationAllowedIfNoResponse (1),
- notifyAndVerify-LocationNotAllowedIfNoResponse (2),
- ...,
- locationNotAllowed (3) }
--- exception handling:
--- At reception of any other value than the ones listed the receiver shall ignore
--- NotificationToMSUser.
-
-ServiceTypeList ::= SEQUENCE SIZE (1..maxNumOfServiceType) OF
- ServiceType
-
-maxNumOfServiceType INTEGER ::= 32
-
-ServiceType ::= SEQUENCE {
- serviceTypeIdentity LCSServiceTypeID,
- gmlc-Restriction [0] GMLC-Restriction OPTIONAL,
- notificationToMSUser [1] NotificationToMSUser OPTIONAL,
- -- If notificationToMSUser is not received, the default value according to
- -- 3GPP TS 23.271 shall be assumed.
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... }
-
-MOLR-List ::= SEQUENCE SIZE (1..maxNumOfMOLR-Class) OF
- MOLR-Class
-
-maxNumOfMOLR-Class INTEGER ::= 3
-
-MOLR-Class ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status Ext-SS-Status,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes)
- OF ZoneCode
-
-ZoneCode ::= OCTET STRING (SIZE (2))
- -- internal structure is defined in TS 3GPP TS 23.003 [17]
-
-maxNumOfZoneCodes INTEGER ::= 10
-
-InsertSubscriberDataRes ::= SEQUENCE {
- teleserviceList [1] TeleserviceList OPTIONAL,
- bearerServiceList [2] BearerServiceList OPTIONAL,
- ss-List [3] SS-List OPTIONAL,
- odb-GeneralData [4] ODB-GeneralData OPTIONAL,
- regionalSubscriptionResponse [5] RegionalSubscriptionResponse OPTIONAL,
- supportedCamelPhases [6] SupportedCamelPhases OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ... ,
- offeredCamel4CSIs [8] OfferedCamel4CSIs OPTIONAL }
-
-RegionalSubscriptionResponse ::= ENUMERATED {
- networkNode-AreaRestricted (0),
- tooManyZoneCodes (1),
- zoneCodesConflict (2),
- regionalSubscNotSupported (3)}
-
-DeleteSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI,
- basicServiceList [1] BasicServiceList OPTIONAL,
- -- The exception handling for reception of unsupported/not allocated
- -- basicServiceCodes is defined in section 6.8.2
- ss-List [2] SS-List OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [4] NULL OPTIONAL,
- regionalSubscriptionIdentifier [5] ZoneCode OPTIONAL,
- vbsGroupIndication [7] NULL OPTIONAL,
- vgcsGroupIndication [8] NULL OPTIONAL,
- camelSubscriptionInfoWithdraw [9] NULL OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...,
- gprsSubscriptionDataWithdraw [10] GPRSSubscriptionDataWithdraw OPTIONAL,
- roamingRestrictedInSgsnDueToUnsuppportedFeature [11] NULL OPTIONAL,
- lsaInformationWithdraw [12] LSAInformationWithdraw OPTIONAL,
- gmlc-ListWithdraw [13] NULL OPTIONAL,
- istInformationWithdraw [14] NULL OPTIONAL,
- specificCSI-Withdraw [15] SpecificCSI-Withdraw OPTIONAL }
-
-SpecificCSI-Withdraw ::= BIT STRING {
- o-csi (0),
- ss-csi (1),
- tif-csi (2),
- d-csi (3),
- vt-csi (4),
- mo-sms-csi (5),
- m-csi (6),
- gprs-csi (7),
- t-csi (8),
- mt-sms-csi (9),
- mg-csi (10),
- o-IM-CSI (11),
- d-IM-CSI (12),
- vt-IM-CSI (13) } (SIZE(8..32))
--- exception handling:
--- bits 11 to 31 shall be ignored if received by a non-IP Multimedia Core Network entity.
--- bits 0-10 and 14-31 shall be ignored if received by an IP Multimedia Core Network entity.
--- bits 11-13 are only applicable in an IP Multimedia Core Network.
--- Bit 8 and bits 11-13 are only applicable for the NoteSubscriberDataModified operation.
-
-GPRSSubscriptionDataWithdraw ::= CHOICE {
- allGPRSData NULL,
- contextIdList ContextIdList}
-
-ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- ContextId
-
-LSAInformationWithdraw ::= CHOICE {
- allLSAData NULL,
- lsaIdentityList LSAIdentityList }
-
-LSAIdentityList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
- LSAIdentity
-
-BasicServiceList ::= SEQUENCE SIZE (1..maxNumOfBasicServices) OF
- Ext-BasicServiceCode
-
-maxNumOfBasicServices INTEGER ::= 70
-
-DeleteSubscriberDataRes ::= SEQUENCE {
- regionalSubscriptionResponse [0] RegionalSubscriptionResponse OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VlrCamelSubscriptionInfo ::= SEQUENCE {
- o-CSI [0] O-CSI OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...,
- ss-CSI [2] SS-CSI OPTIONAL,
- o-BcsmCamelTDP-CriteriaList [4] O-BcsmCamelTDPCriteriaList OPTIONAL,
- tif-CSI [3] NULL OPTIONAL,
- m-CSI [5] M-CSI OPTIONAL,
- mo-sms-CSI [6] SMS-CSI OPTIONAL,
- vt-CSI [7] T-CSI OPTIONAL,
- t-BCSM-CAMEL-TDP-CriteriaList [8] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- d-CSI [9] D-CSI OPTIONAL,
- mt-sms-CSI [10] SMS-CSI OPTIONAL,
- mt-smsCAMELTDP-CriteriaList [11] MT-smsCAMELTDP-CriteriaList OPTIONAL
- }
-
-MT-smsCAMELTDP-CriteriaList ::= SEQUENCE SIZE (1.. maxNumOfCamelTDPData) OF
- MT-smsCAMELTDP-Criteria
-
-MT-smsCAMELTDP-Criteria ::= SEQUENCE {
- sms-TriggerDetectionPoint SMS-TriggerDetectionPoint,
- tpdu-TypeCriterion [0] TPDU-TypeCriterion OPTIONAL,
- ... }
-
-TPDU-TypeCriterion ::= SEQUENCE SIZE (1..maxNumOfTPDUTypes) OF
- MT-SMS-TPDU-Type
-
-
-maxNumOfTPDUTypes INTEGER ::= 5
-
-MT-SMS-TPDU-Type ::= ENUMERATED {
- sms-DELIVER (0),
- sms-SUBMIT-REPORT (1),
- sms-STATUS-REPORT (2),
- ... }
-
--- exception handling:
--- For TPDU-TypeCriterion sequences containing this parameter with any
--- other value than the ones listed above the receiver shall ignore
--- the whole TPDU-TypeCriterion sequence.
--- In CAMEL phase 4, sms-SUBMIT-REPORT shall not be used and a received TPDU-TypeCriterion
--- sequence containing sms-SUBMIT-REPORT shall be wholly ignored.
-
-D-CSI ::= SEQUENCE {
- dp-AnalysedInfoCriteriaList [0] DP-AnalysedInfoCriteriaList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when D-CSI is sent to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- DP-AnalysedInfoCriteria and camelCapabilityHandling shall be present in
--- the D-CSI sequence.
--- If D-CSI is segmented, then the first segment shall contain dp-AnalysedInfoCriteriaList
--- and camelCapabilityHandling. Subsequent segments shall not contain
--- camelCapabilityHandling, but may contain dp-AnalysedInfoCriteriaList.
-
-DP-AnalysedInfoCriteriaList ::= SEQUENCE SIZE (1..maxNumOfDP-AnalysedInfoCriteria) OF
- DP-AnalysedInfoCriterium
-
-maxNumOfDP-AnalysedInfoCriteria INTEGER ::= 10
-
-DP-AnalysedInfoCriterium ::= SEQUENCE {
- dialledNumber ISDN-AddressString,
- serviceKey ServiceKey,
- gsmSCF-Address ISDN-AddressString,
- defaultCallHandling DefaultCallHandling,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SS-CSI ::= SEQUENCE {
- ss-CamelData SS-CamelData,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- notificationToCSE [0] NULL OPTIONAL,
- csi-Active [1] NULL OPTIONAL
--- notificationToCSE and csi-Active shall not be present when SS-CSI is sent to VLR.
--- They may only be included in ATSI/ATM ack/NSDC message.
-}
-
-SS-CamelData ::= SEQUENCE {
- ss-EventList SS-EventList,
- gsmSCF-Address ISDN-AddressString,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code
- -- Actions for the following SS-Code values are defined in CAMEL Phase 3:
- -- ect SS-Code ::= '00110001'B
- -- multiPTY SS-Code ::= '01010001'B
- -- cd SS-Code ::= '00100100'B
- -- ccbs SS-Code ::= '01000100'B
- -- all other SS codes shall be ignored
- -- When SS-CSI is sent to the VLR, it shall not contain a marking for ccbs.
- -- If the VLR receives SS-CSI containing a marking for ccbs, the VLR shall discard the
- -- ccbs marking in SS-CSI.
-
-maxNumOfCamelSSEvents INTEGER ::= 10
-
-O-CSI ::= SEQUENCE {
- o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL,
- notificationToCSE [1] NULL OPTIONAL,
- csiActive [2] NULL OPTIONAL}
--- notificationtoCSE and csiActive shall not be present when O-CSI is sent to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- O-CSI shall not be segmented.
-
-O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- O-BcsmCamelTDPData
- -- O-BcsmCamelTDPDataList shall not contain more than one instance of
- -- O-BcsmCamelTDPData containing the same value for o-BcsmTriggerDetectionPoint.
- -- For CAMEL Phase 2, this means that only one instance of O-BcsmCamelTDPData is allowed
- -- with o-BcsmTriggerDetectionPoint being equal to DP2.
-
-maxNumOfCamelTDPData INTEGER ::= 10
-
-O-BcsmCamelTDPData ::= SEQUENCE {
- o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- defaultCallHandling [1] DefaultCallHandling,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...
- }
-
-ServiceKey ::= INTEGER (0..2147483647)
-
-O-BcsmTriggerDetectionPoint ::= ENUMERATED {
- collectedInfo (2),
- ...,
- routeSelectFailure (4) }
- -- exception handling:
- -- For O-BcsmCamelTDPData sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- O-BcsmCamelTDPDatasequence.
- -- For O-BcsmCamelTDP-Criteria sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- O-BcsmCamelTDP-Criteria sequence.
-
-O-BcsmCamelTDPCriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- O-BcsmCamelTDP-Criteria
-
-T-BCSM-CAMEL-TDP-CriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- T-BCSM-CAMEL-TDP-Criteria
-
-O-BcsmCamelTDP-Criteria ::= SEQUENCE {
- o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
- destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL,
- basicServiceCriteria [1] BasicServiceCriteria OPTIONAL,
- callTypeCriteria [2] CallTypeCriteria OPTIONAL,
- ...,
- o-CauseValueCriteria [3] O-CauseValueCriteria OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL }
-
-T-BCSM-CAMEL-TDP-Criteria ::= SEQUENCE {
- t-BCSM-TriggerDetectionPoint T-BcsmTriggerDetectionPoint,
- basicServiceCriteria [0] BasicServiceCriteria OPTIONAL,
- t-CauseValueCriteria [1] T-CauseValueCriteria OPTIONAL,
- ... }
-
-DestinationNumberCriteria ::= SEQUENCE {
- matchType [0] MatchType,
- destinationNumberList [1] DestinationNumberList OPTIONAL,
- destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL,
- -- one or both of destinationNumberList and destinationNumberLengthList
- -- shall be present
- ...}
-
-DestinationNumberList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF
- ISDN-AddressString
- -- The receiving entity shall not check the format of a number in
- -- the dialled number list
-
-DestinationNumberLengthList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumberLengths) OF
- INTEGER(1..maxNumOfISDN-AddressDigits)
-
-BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF
- Ext-BasicServiceCode
-
-maxNumOfISDN-AddressDigits INTEGER ::= 15
-
-maxNumOfCamelDestinationNumbers INTEGER ::= 10
-
-maxNumOfCamelDestinationNumberLengths INTEGER ::= 3
-
-maxNumOfCamelBasicServiceCriteria INTEGER ::= 5
-
-CallTypeCriteria ::= ENUMERATED {
- forwarded (0),
- notForwarded (1)}
-
-MatchType ::= ENUMERATED {
- inhibiting (0),
- enabling (1)}
-
-O-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-O-CauseValueCriteria) OF
- CauseValue
-
-T-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-T-CauseValueCriteria) OF
- CauseValue
-
-maxNumOfCAMEL-O-CauseValueCriteria INTEGER ::= 5
-
-maxNumOfCAMEL-T-CauseValueCriteria INTEGER ::= 5
-
-CauseValue ::= OCTET STRING (SIZE(1))
--- Type extracted from Cause parameter in ITU-T Recommendation Q.763.
--- For the use of cause value refer to ITU-T Recommendation Q.850.
-
-DefaultCallHandling ::= ENUMERATED {
- continueCall (0) ,
- releaseCall (1) ,
- ...}
- -- exception handling:
- -- reception of values in range 2-31 shall be treated as "continueCall"
- -- reception of values greater than 31 shall be treated as "releaseCall"
-
-CamelCapabilityHandling ::= INTEGER(1..16)
- -- value 1 = CAMEL phase 1,
- -- value 2 = CAMEL phase 2,
- -- value 3 = CAMEL Phase 3,
- -- value 4 = CAMEL phase 4:
- -- reception of values greater than 4 shall be treated as CAMEL phase 4.
-
-SupportedCamelPhases ::= BIT STRING {
- phase1 (0),
- phase2 (1),
- phase3 (2),
- phase4 (3)} (SIZE (1..16))
--- A node shall mark in the BIT STRING all CAMEL Phases it supports.
--- Other values than listed above shall be discarded.
-
-OfferedCamel4CSIs ::= BIT STRING {
- o-csi (0),
- d-csi (1),
- vt-csi (2),
- t-csi (3),
- mt-sms-csi (4),
- mg-csi (5),
- psi-enhancements (6)
-} (SIZE (7..16))
--- A node supporting Camel phase 4 shall mark in the BIT STRING all Camel4 CSIs
--- it offers.
--- Other values than listed above shall be discarded.
-
-OfferedCamel4Functionalities ::= BIT STRING {
- initiateCallAttempt (0),
- splitLeg (1),
- moveLeg (2),
- disconnectLeg (3),
- entityReleased (4),
- dfc-WithArgument (5),
- playTone (6),
- dtmf-MidCall (7),
- chargingIndicator (8),
- alertingDP (9),
- locationAtAlerting (10),
- changeOfPositionDP (11),
- or-Interactions (12),
- warningToneEnhancements (13),
- cf-Enhancements (14),
- subscribedEnhancedDialledServices (15),
- servingNetworkEnhancedDialledServices (16),
- criteriaForChangeOfPositionDP (17),
- serviceChangeDP (18)
-} (SIZE (15..64))
--- A node supporting Camel phase 4 shall mark in the BIT STRING all CAMEL4
--- functionalities it offers.
--- Other values than listed above shall be discarded.
-
-SMS-CSI ::= SEQUENCE {
- sms-CAMEL-TDP-DataList [0] SMS-CAMEL-TDP-DataList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present
--- when MO-SMS-CSI or MT-SMS-CSI is sent to VLR or SGSN.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- SMS-CAMEL-TDP-Data and camelCapabilityHandling shall be present in
--- the SMS-CSI sequence.
--- If SMS-CSI is segmented, sms-CAMEL-TDP-DataList and camelCapabilityHandling shall be
--- present in the first segment
-
-SMS-CAMEL-TDP-DataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- SMS-CAMEL-TDP-Data
--- SMS-CAMEL-TDP-DataList shall not contain more than one instance of
--- SMS-CAMEL-TDP-Data containing the same value for sms-TriggerDetectionPoint.
-
-SMS-CAMEL-TDP-Data ::= SEQUENCE {
- sms-TriggerDetectionPoint [0] SMS-TriggerDetectionPoint,
- serviceKey [1] ServiceKey,
- gsmSCF-Address [2] ISDN-AddressString,
- defaultSMS-Handling [3] DefaultSMS-Handling,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...
- }
-
-SMS-TriggerDetectionPoint ::= ENUMERATED {
- sms-CollectedInfo (1),
- ...,
- sms-DeliveryRequest (2)
- }
--- exception handling:
--- For SMS-CAMEL-TDP-Data and MT-smsCAMELTDP-Criteria sequences containing this
--- parameter with any other value than the ones listed the receiver shall ignore
--- the whole sequence.
---
--- If this parameter is received with any other value than sms-CollectedInfo
--- in an SMS-CAMEL-TDP-Data sequence contained in mo-sms-CSI, then the receiver shall
--- ignore the whole SMS-CAMEL-TDP-Data sequence.
---
--- If this parameter is received with any other value than sms-DeliveryRequest
--- in an SMS-CAMEL-TDP-Data sequence contained in mt-sms-CSI then the receiver shall
--- ignore the whole SMS-CAMEL-TDP-Data sequence.
---
--- If this parameter is received with any other value than sms-DeliveryRequest
--- in an MT-smsCAMELTDP-Criteria sequence then the receiver shall
--- ignore the whole MT-smsCAMELTDP-Criteria sequence.
-
-DefaultSMS-Handling ::= ENUMERATED {
- continueTransaction (0) ,
- releaseTransaction (1) ,
- ...}
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueTransaction"
--- reception of values greater than 31 shall be treated as "releaseTransaction"
-
-M-CSI ::= SEQUENCE {
- mobilityTriggers MobilityTriggers,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- notificationToCSE [2] NULL OPTIONAL,
- csi-Active [3] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when M-CSI is sent to VLR.
--- They may only be included in ATSI/ATM ack/NSDC message.
-
-MG-CSI ::= SEQUENCE {
- mobilityTriggers MobilityTriggers,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- notificationToCSE [2] NULL OPTIONAL,
- csi-Active [3] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when MG-CSI is sent to SGSN.
--- They may only be included in ATSI/ATM ack/NSDC message.
-
-MobilityTriggers ::= SEQUENCE SIZE (1..maxNumOfMobilityTriggers) OF
- MM-Code
-
-maxNumOfMobilityTriggers INTEGER ::= 10
-
-MM-Code ::= OCTET STRING (SIZE (1))
--- This type is used to indicate a Mobility Management event.
--- Actions for the following MM-Code values are defined in CAMEL Phase 4:
---
--- CS domain MM events:
--- Location-update-in-same-VLR MM-Code ::= '00000000'B
--- Location-update-to-other-VLR MM-Code ::= '00000001'B
--- IMSI-Attach MM-Code ::= '00000010'B
--- MS-initiated-IMSI-Detach MM-Code ::= '00000011'B
--- Network-initiated-IMSI-Detach MM-Code ::= '00000100'B
---
--- PS domain MM events:
--- Routeing-Area-update-in-same-SGSN MM-Code ::= '10000000'B
--- Routeing-Area-update-to-other-SGSN-update-from-new-SGSN
--- MM-Code ::= '10000001'B
--- Routeing-Area-update-to-other-SGSN-disconnect-by-detach
--- MM-Code ::= '10000010'B
--- GPRS-Attach MM-Code ::= '10000011'B
--- MS-initiated-GPRS-Detach MM-Code ::= '10000100'B
--- Network-initiated-GPRS-Detach MM-Code ::= '10000101'B
--- Network-initiated-transfer-to-MS-not-reachable-for-paging
--- MM-Code ::= '10000110'B
---
--- If the MSC receives any other MM-code than the ones listed above for the
--- CS domain, then the MSC shall ignore that MM-code.
--- If the SGSN receives any other MM-code than the ones listed above for the
--- PS domain, then the SGSN shall ignore that MM-code.
-
-T-CSI ::= SEQUENCE {
- t-BcsmCamelTDPDataList T-BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL,
- notificationToCSE [1] NULL OPTIONAL,
- csi-Active [2] NULL OPTIONAL}
--- notificationToCSE and csi-Active shall not be present when VT-CSI/T-CSI is sent
--- to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- T-CSI shall not be segmented.
-
-T-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- T-BcsmCamelTDPData
- --- T-BcsmCamelTDPDataList shall not contain more than one instance of
- --- T-BcsmCamelTDPData containing the same value for t-BcsmTriggerDetectionPoint.
- --- For CAMEL Phase 2, this means that only one instance of T-BcsmCamelTDPData is allowed
- --- with t-BcsmTriggerDetectionPoint being equal to DP12.
- --- For CAMEL Phase 3, more TDP's are allowed.
-
-T-BcsmCamelTDPData ::= SEQUENCE {
- t-BcsmTriggerDetectionPoint T-BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- defaultCallHandling [1] DefaultCallHandling,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-T-BcsmTriggerDetectionPoint ::= ENUMERATED {
- termAttemptAuthorized (12),
- ... ,
- tBusy (13),
- tNoAnswer (14)}
- -- exception handling:
- -- For T-BcsmCamelTDPData sequences containing this parameter with any other
- -- value than the ones listed above, the receiver shall ignore the whole
- -- T-BcsmCamelTDPData sequence.
-
--- gprs location information retrieval types
-
-SendRoutingInfoForGprsArg ::= SEQUENCE {
- imsi [0] IMSI,
- ggsn-Address [1] GSN-Address OPTIONAL,
- ggsn-Number [2] ISDN-AddressString,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-SendRoutingInfoForGprsRes ::= SEQUENCE {
- sgsn-Address [0] GSN-Address,
- ggsn-Address [1] GSN-Address OPTIONAL,
- mobileNotReachableReason [2] AbsentSubscriberDiagnosticSM OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
--- failure report types
-
-FailureReportArg ::= SEQUENCE {
- imsi [0] IMSI,
- ggsn-Number [1] ISDN-AddressString ,
- ggsn-Address [2] GSN-Address OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-FailureReportRes ::= SEQUENCE {
- ggsn-Address [0] GSN-Address OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
--- gprs notification types
-
-NoteMsPresentForGprsArg ::= SEQUENCE {
- imsi [0] IMSI,
- sgsn-Address [1] GSN-Address,
- ggsn-Address [2] GSN-Address OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-NoteMsPresentForGprsRes ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
--- fault recovery types
-
-ResetArg ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- hlr-List HLR-List OPTIONAL,
- ...}
-
-RestoreDataArg ::= SEQUENCE {
- imsi IMSI,
- lmsi LMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- vlr-Capability [6] VLR-Capability OPTIONAL }
-
-RestoreDataRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- msNotReachable NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- VBS/VGCS types
-VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF
- VoiceBroadcastData
-
-VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF
- VoiceGroupCallData
-
-maxNumOfVBSGroupIds INTEGER ::= 50
-
-maxNumOfVGCSGroupIds INTEGER ::= 50
-
-VoiceGroupCallData ::= SEQUENCE {
- groupId GroupId,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VoiceBroadcastData ::= SEQUENCE {
- groupid GroupId,
- broadcastInitEntitlement NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-GroupId ::= TBCD-STRING (SIZE (3))
- -- When Group-Id is less than six characters in length, the TBCD filler (1111)
- -- is used to fill unused half octets.
- -- Refers to the Group Identification as specified in 3GPP TS 23.003
- -- and 3GPP TS 43.068/ 43.069
-
--- provide subscriber info types
-
-ProvideSubscriberInfoArg ::= SEQUENCE {
- imsi [0] IMSI,
- lmsi [1] LMSI OPTIONAL,
- requestedInfo [2] RequestedInfo,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-ProvideSubscriberInfoRes ::= SEQUENCE {
- subscriberInfo SubscriberInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SubscriberInfo ::= SEQUENCE {
- locationInformation [0] LocationInformation OPTIONAL,
- subscriberState [1] SubscriberState OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... ,
- locationInformationGPRS [3] LocationInformationGPRS OPTIONAL,
- ps-SubscriberState [4] PS-SubscriberState OPTIONAL,
- imei [5] IMEI OPTIONAL,
- ms-Classmark2 [6] MS-Classmark2 OPTIONAL,
- gprs-MS-Class [7] GPRSMSClass OPTIONAL,
- mnpInfoRes [8] MNPInfoRes OPTIONAL }
-
--- If the HLR receives locationInformation, subscriberState or ms-Classmark2 from an SGSN
--- it shall discard them.
--- If the HLR receives locationInformationGPRS, ps-SubscriberState or gprs-MS-Class from
--- a VLR it shall discard them.
--- If the HLR receives parameters which it has not requested, it shall discard them.
-
-MNPInfoRes ::= SEQUENCE {
- routeingNumber [0] RouteingNumber OPTIONAL,
- imsi [1] IMSI OPTIONAL,
- msisdn [2] ISDN-AddressString OPTIONAL,
- numberPortabilityStatus [3] NumberPortabilityStatus OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ... }
--- The IMSI parameter contains a generic IMSI, i.e. it is not tied necessarily to the
--- Subscriber. MCC and MNC values in this IMSI shall point to the Subscription Network of
--- the Subscriber. See 3GPP TS 23.066 [108].
-
-RouteingNumber ::= TBCD-STRING (SIZE (1..5))
-
-
-NumberPortabilityStatus ::= ENUMERATED {
- notKnownToBePorted (0),
- ownNumberPortedOut (1),
- foreignNumberPortedToForeignNetwork (2),
- ...,
- ownNumberNotPortedOut (4),
- foreignNumberPortedIn (5)
- }
- -- exception handling:
- -- reception of other values than the ones listed the receiver shall ignore the
- -- whole NumberPortabilityStatus;
- -- ownNumberNotPortedOut or foreignNumberPortedIn may only be included in Any Time
- -- Interrogation message.
-
-MS-Classmark2 ::= OCTET STRING (SIZE (3))
- -- This parameter carries the value part of the MS Classmark 2 IE defined in
- -- 3GPP TS 24.008 [35].
-
-GPRSMSClass ::= SEQUENCE {
- mSNetworkCapability [0] MSNetworkCapability,
- mSRadioAccessCapability [1] MSRadioAccessCapability OPTIONAL
- }
-
-MSNetworkCapability ::= OCTET STRING (SIZE (1..8))
- -- This parameter carries the value part of the MS Network Capability IE defined in
- -- 3GPP TS 24.008 [35].
-
-MSRadioAccessCapability ::= OCTET STRING (SIZE (1..50))
- -- This parameter carries the value part of the MS Radio Access Capability IE defined in
- -- 3GPP TS 24.008 [35].
-
-RequestedInfo ::= SEQUENCE {
- locationInformation [0] NULL OPTIONAL,
- subscriberState [1] NULL OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- currentLocation [3] NULL OPTIONAL,
- requestedDomain [4] DomainType OPTIONAL,
- imei [6] NULL OPTIONAL,
- ms-classmark [5] NULL OPTIONAL,
- mnpRequestedInfo [7] NULL OPTIONAL }
-
--- currentLocation shall be absent if locationInformation is absent
-
-DomainType ::= ENUMERATED {
- cs-Domain (0),
- ps-Domain (1),
- ...}
--- exception handling:
--- reception of values > 1 shall be mapped to 'cs-Domain'
-
-LocationInformation ::= SEQUENCE {
- ageOfLocationInformation AgeOfLocationInformation OPTIONAL,
- geographicalInformation [0] GeographicalInformation OPTIONAL,
- vlr-number [1] ISDN-AddressString OPTIONAL,
- locationNumber [2] LocationNumber OPTIONAL,
- cellGlobalIdOrServiceAreaIdOrLAI [3] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ... ,
- selectedLSA-Id [5] LSAIdentity OPTIONAL,
- msc-Number [6] ISDN-AddressString OPTIONAL,
- geodeticInformation [7] GeodeticInformation OPTIONAL,
- currentLocationRetrieved [8] NULL OPTIONAL,
- sai-Present [9] NULL OPTIONAL }
--- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
--- a Service Area Identity.
--- currentLocationRetrieved shall be present
--- if the location information were retrieved after a successfull paging.
-
-LocationInformationGPRS ::= SEQUENCE {
- cellGlobalIdOrServiceAreaIdOrLAI [0] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- routeingAreaIdentity [1] RAIdentity OPTIONAL,
- geographicalInformation [2] GeographicalInformation OPTIONAL,
- sgsn-Number [3] ISDN-AddressString OPTIONAL,
- selectedLSAIdentity [4] LSAIdentity OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...,
- sai-Present [6] NULL OPTIONAL,
- geodeticInformation [7] GeodeticInformation OPTIONAL,
- currentLocationRetrieved [8] NULL OPTIONAL,
- ageOfLocationInformation [9] AgeOfLocationInformation OPTIONAL }
--- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
--- a Service Area Identity.
--- currentLocationRetrieved shall be present if the location information
--- was retrieved after successful paging.
-
-RAIdentity ::= OCTET STRING (SIZE (6))
--- Routing Area Identity is coded in accordance with 3GPP TS 29.060 [105].
--- It shall contain the value part defined in 3GPP TS 29.060 only. I.e. the 3GPP TS 29.060
--- type identifier octet shall not be included.
-
-
-GeographicalInformation ::= OCTET STRING (SIZE (8))
--- Refers to geographical Information defined in 3GPP TS 23.032.
--- Only the description of an ellipsoid point with uncertainty circle
--- as specified in 3GPP TS 23.032 is allowed to be used
--- The internal structure according to 3GPP TS 23.032 is as follows:
--- Type of shape (ellipsoid point with uncertainty circle) 1 octet
--- Degrees of Latitude 3 octets
--- Degrees of Longitude 3 octets
--- Uncertainty code 1 octet
-
-GeodeticInformation ::= OCTET STRING (SIZE (10))
--- Refers to Calling Geodetic Location defined in Q.763 (1999).
--- Only the description of an ellipsoid point with uncertainty circle
--- as specified in Q.763 (1999) is allowed to be used
--- The internal structure according to Q.763 (1999) is as follows:
--- Screening and presentation indicators 1 octet
--- Type of shape (ellipsoid point with uncertainty circle) 1 octet
--- Degrees of Latitude 3 octets
--- Degrees of Longitude 3 octets
--- Uncertainty code 1 octet
--- Confidence 1 octet
-
-LocationNumber ::= OCTET STRING (SIZE (2..10))
- -- the internal structure is defined in ITU-T Rec Q.763
-
-SubscriberState ::= CHOICE {
- assumedIdle [0] NULL,
- camelBusy [1] NULL,
- netDetNotReachable NotReachableReason,
- notProvidedFromVLR [2] NULL}
-
-PS-SubscriberState ::= CHOICE {
- notProvidedFromSGSN [0] NULL,
- ps-Detached [1] NULL,
- ps-AttachedNotReachableForPaging [2] NULL,
- ps-AttachedReachableForPaging [3] NULL,
- ps-PDP-ActiveNotReachableForPaging [4] PDP-ContextInfoList,
- ps-PDP-ActiveReachableForPaging [5] PDP-ContextInfoList,
- netDetNotReachable NotReachableReason }
-
-PDP-ContextInfoList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- PDP-ContextInfo
-
-PDP-ContextInfo ::= SEQUENCE {
- pdp-ContextIdentifier [0] ContextId,
- pdp-ContextActive [1] NULL OPTIONAL,
- pdp-Type [2] PDP-Type,
- pdp-Address [3] PDP-Address OPTIONAL,
- apn-Subscribed [4] APN OPTIONAL,
- apn-InUse [5] APN OPTIONAL,
- nsapi [6] NSAPI OPTIONAL,
- transactionId [7] TransactionId OPTIONAL,
- teid-ForGnAndGp [8] TEID OPTIONAL,
- teid-ForIu [9] TEID OPTIONAL,
- ggsn-Address [10] GSN-Address OPTIONAL,
- qos-Subscribed [11] Ext-QoS-Subscribed OPTIONAL,
- qos-Requested [12] Ext-QoS-Subscribed OPTIONAL,
- qos-Negotiated [13] Ext-QoS-Subscribed OPTIONAL,
- chargingId [14] GPRSChargingID OPTIONAL,
- chargingCharacteristics [15] ChargingCharacteristics OPTIONAL,
- rnc-Address [16] GSN-Address OPTIONAL,
- extensionContainer [17] ExtensionContainer OPTIONAL,
- ...,
- qos2-Subscribed [18] Ext2-QoS-Subscribed OPTIONAL,
- -- qos2-Subscribed may be present only if qos-Subscribed is present.
- qos2-Requested [19] Ext2-QoS-Subscribed OPTIONAL,
- -- qos2-Requested may be present only if qos-Requested is present.
- qos2-Negotiated [20] Ext2-QoS-Subscribed OPTIONAL
- -- qos2-Negotiated may be present only if qos-Negotiated is present.
- }
-
-NSAPI ::= INTEGER (0..15)
--- This type is used to indicate the Network layer Service Access Point
-
-TransactionId ::= OCTET STRING (SIZE (1..2))
--- This type carries the value part of the transaction identifier which is used in the
--- session management messages on the access interface. The encoding is defined in
--- 3GPP TS 24.008
-
-TEID ::= OCTET STRING (SIZE (4))
--- This type carries the value part of the Tunnel Endpoint Identifier which is used to
--- distinguish between different tunnels between the same pair of entities which communicate
--- using the GPRS Tunnelling Protocol The encoding is defined in 3GPP TS 29.060.
-
-GPRSChargingID ::= OCTET STRING (SIZE (4))
--- The Charging ID is a unique four octet value generated by the GGSN when
--- a PDP Context is activated. A Charging ID is generated for each activated context.
--- The encoding is defined in 3GPP TS 29.060.
-
-NotReachableReason ::= ENUMERATED {
- msPurged (0),
- imsiDetached (1),
- restrictedArea (2),
- notRegistered (3)}
-
--- any time interrogation info types
-
-AnyTimeInterrogationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- requestedInfo [1] RequestedInfo,
- gsmSCF-Address [3] ISDN-AddressString,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-AnyTimeInterrogationRes ::= SEQUENCE {
- subscriberInfo SubscriberInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- any time information handling types
-
-AnyTimeSubscriptionInterrogationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- requestedSubscriptionInfo [1] RequestedSubscriptionInfo,
- gsmSCF-Address [2] ISDN-AddressString,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- longFTN-Supported [4] NULL OPTIONAL,
- ...}
-
-AnyTimeSubscriptionInterrogationRes ::= SEQUENCE {
- callForwardingData [1] CallForwardingData OPTIONAL,
- callBarringData [2] CallBarringData OPTIONAL,
- odb-Info [3] ODB-Info OPTIONAL,
- camel-SubscriptionInfo [4] CAMEL-SubscriptionInfo OPTIONAL,
- supportedVLR-CAMEL-Phases [5] SupportedCamelPhases OPTIONAL,
- supportedSGSN-CAMEL-Phases [6] SupportedCamelPhases OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ... ,
- offeredCamel4CSIsInVLR [8] OfferedCamel4CSIs OPTIONAL,
- offeredCamel4CSIsInSGSN [9] OfferedCamel4CSIs OPTIONAL }
-
-RequestedSubscriptionInfo ::= SEQUENCE {
- requestedSS-Info [1] SS-ForBS-Code OPTIONAL,
- odb [2] NULL OPTIONAL,
- requestedCAMEL-SubscriptionInfo [3] RequestedCAMEL-SubscriptionInfo OPTIONAL,
- supportedVLR-CAMEL-Phases [4] NULL OPTIONAL,
- supportedSGSN-CAMEL-Phases [5] NULL OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...,
- additionalRequestedCAMEL-SubscriptionInfo
- [7] AdditionalRequestedCAMEL-SubscriptionInfo
- OPTIONAL }
-
-RequestedCAMEL-SubscriptionInfo ::= ENUMERATED {
- o-CSI (0),
- t-CSI (1),
- vt-CSI (2),
- tif-CSI (3),
- gprs-CSI (4),
- mo-sms-CSI (5),
- ss-CSI (6),
- m-CSI (7),
- d-csi (8)}
-
-AdditionalRequestedCAMEL-SubscriptionInfo ::= ENUMERATED {
- mt-sms-CSI (0),
- mg-csi (1),
- o-IM-CSI (2),
- d-IM-CSI (3),
- vt-IM-CSI (4),
- ...}
--- exception handling: unknown values shall be discarded by the receiver.
-
-CallForwardingData ::= SEQUENCE {
- forwardingFeatureList Ext-ForwFeatureList,
- notificationToCSE NULL OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CallBarringData ::= SEQUENCE {
- callBarringFeatureList Ext-CallBarFeatureList,
- password Password OPTIONAL,
- wrongPasswordAttemptsCounter WrongPasswordAttemptsCounter OPTIONAL,
- notificationToCSE NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-WrongPasswordAttemptsCounter ::= INTEGER (0..4)
-
-ODB-Info ::= SEQUENCE {
- odb-Data ODB-Data,
- notificationToCSE NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CAMEL-SubscriptionInfo ::= SEQUENCE {
- o-CSI [0] O-CSI OPTIONAL,
- o-BcsmCamelTDP-CriteriaList [1] O-BcsmCamelTDPCriteriaList OPTIONAL,
- d-CSI [2] D-CSI OPTIONAL,
- t-CSI [3] T-CSI OPTIONAL,
- t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- vt-CSI [5] T-CSI OPTIONAL,
- vt-BCSM-CAMEL-TDP-CriteriaList [6] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- tif-CSI [7] NULL OPTIONAL,
- tif-CSI-NotificationToCSE [8] NULL OPTIONAL,
- gprs-CSI [9] GPRS-CSI OPTIONAL,
- mo-sms-CSI [10] SMS-CSI OPTIONAL,
- ss-CSI [11] SS-CSI OPTIONAL,
- m-CSI [12] M-CSI OPTIONAL,
- extensionContainer [13] ExtensionContainer OPTIONAL,
- ...,
- specificCSIDeletedList [14] SpecificCSI-Withdraw OPTIONAL,
- mt-sms-CSI [15] SMS-CSI OPTIONAL,
- mt-smsCAMELTDP-CriteriaList [16] MT-smsCAMELTDP-CriteriaList OPTIONAL,
- mg-csi [17] MG-CSI OPTIONAL,
- o-IM-CSI [18] O-CSI OPTIONAL,
- o-IM-BcsmCamelTDP-CriteriaList [19] O-BcsmCamelTDPCriteriaList OPTIONAL,
- d-IM-CSI [20] D-CSI OPTIONAL,
- vt-IM-CSI [21] T-CSI OPTIONAL,
- vt-IM-BCSM-CAMEL-TDP-CriteriaList [22] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL
- }
-
-AnyTimeModificationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- gsmSCF-Address [1] ISDN-AddressString,
- modificationRequestFor-CF-Info [2] ModificationRequestFor-CF-Info OPTIONAL,
- modificationRequestFor-CB-Info [3] ModificationRequestFor-CB-Info OPTIONAL,
- modificationRequestFor-CSI [4] ModificationRequestFor-CSI OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- longFTN-Supported [6] NULL OPTIONAL,
- ...,
- modificationRequestFor-ODB-data [7] ModificationRequestFor-ODB-data OPTIONAL }
-
-AnyTimeModificationRes ::= SEQUENCE {
- ss-InfoFor-CSE [0] Ext-SS-InfoFor-CSE OPTIONAL,
- camel-SubscriptionInfo [1] CAMEL-SubscriptionInfo OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- odb-Info [3] ODB-Info OPTIONAL }
-
-ModificationRequestFor-CF-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- basicService [1] Ext-BasicServiceCode OPTIONAL,
- ss-Status [2] Ext-SS-Status OPTIONAL,
- forwardedToNumber [3] AddressString OPTIONAL,
- forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL,
- noReplyConditionTime [5] Ext-NoRepCondTime OPTIONAL,
- modifyNotificationToCSE [6] ModificationInstruction OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-CB-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- basicService [1] Ext-BasicServiceCode OPTIONAL,
- ss-Status [2] Ext-SS-Status OPTIONAL,
- password [3] Password OPTIONAL,
- wrongPasswordAttemptsCounter [4] WrongPasswordAttemptsCounter OPTIONAL,
- modifyNotificationToCSE [5] ModificationInstruction OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-ODB-data ::= SEQUENCE {
- odb-data [0] ODB-Data OPTIONAL,
- modifyNotificationToCSE [1] ModificationInstruction OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-CSI ::= SEQUENCE {
- requestedCamel-SubscriptionInfo [0] RequestedCAMEL-SubscriptionInfo,
- modifyNotificationToCSE [1] ModificationInstruction OPTIONAL,
- modifyCSI-State [2] ModificationInstruction OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...,
- additionalRequestedCAMEL-SubscriptionInfo
- [4] AdditionalRequestedCAMEL-SubscriptionInfo
- OPTIONAL }
--- requestedCamel-SubscriptionInfo shall be discarded if
--- additionalRequestedCAMEL-SubscriptionInfo is received
-
-ModificationInstruction ::= ENUMERATED {
- deactivate (0),
- activate (1)}
-
--- subscriber data modification notification types
-
-NoteSubscriberDataModifiedArg ::= SEQUENCE {
- imsi IMSI,
- msisdn ISDN-AddressString,
- forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE OPTIONAL,
- callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE OPTIONAL,
- odb-Info [2] ODB-Info OPTIONAL,
- camel-SubscriptionInfo [3] CAMEL-SubscriptionInfo OPTIONAL,
- allInformationSent [4] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-NoteSubscriberDataModifiedRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- mobility management event notificatioon info types
-
-NoteMM-EventArg::= SEQUENCE {
- serviceKey ServiceKey,
- eventMet [0] MM-Code,
- imsi [1] IMSI,
- msisdn [2] ISDN-AddressString,
- locationInformation [3] LocationInformation OPTIONAL,
- supportedCAMELPhases [5] SupportedCamelPhases OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...,
- locationInformationGPRS [7] LocationInformationGPRS OPTIONAL,
- offeredCamel4Functionalities [8] OfferedCamel4Functionalities OPTIONAL
-}
-
-NoteMM-EventRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-SS-InfoFor-CSE ::= CHOICE {
- forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE,
- callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE
- }
-
-Ext-ForwardingInfoFor-CSE ::= SEQUENCE {
- ss-Code [0] SS-Code,
- forwardingFeatureList [1] Ext-ForwFeatureList,
- notificationToCSE [2] NULL OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-CallBarringInfoFor-CSE ::= SEQUENCE {
- ss-Code [0] SS-Code,
- callBarringFeatureList [1] Ext-CallBarFeatureList,
- password [2] Password OPTIONAL,
- wrongPasswordAttemptsCounter [3] WrongPasswordAttemptsCounter OPTIONAL,
- notificationToCSE [4] NULL OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-MobileServiceOperations.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-MobileServiceOperations.asn
deleted file mode 100644
index b91eac7cdf..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-MobileServiceOperations.asn
+++ /dev/null
@@ -1,506 +0,0 @@
-MAP-MobileServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MobileServiceOperations (5)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- location registration operations
- updateLocation,
- cancelLocation,
- purgeMS,
- sendIdentification,
-
- -- gprs location registration operations
- updateGprsLocation,
-
- -- subscriber information enquiry operations
- provideSubscriberInfo,
-
- -- any time information enquiry operations
- anyTimeInterrogation,
-
- -- any time information handling operations
- anyTimeSubscriptionInterrogation,
- anyTimeModification,
-
- -- subscriber data modification notification operations
- noteSubscriberDataModified,
-
-
- -- handover operations
- prepareHandover,
- sendEndSignal,
- processAccessSignalling,
- forwardAccessSignalling,
- prepareSubsequentHandover,
-
- -- authentication management operations
- sendAuthenticationInfo,
- authenticationFailureReport,
-
- -- IMEI management operations
- checkIMEI,
-
- -- subscriber management operations
- insertSubscriberData,
- deleteSubscriberData,
-
- -- fault recovery operations
- reset,
- forwardCheckSS-Indication,
- restoreData,
-
--- gprs location information retrieval operations
- sendRoutingInfoForGprs,
-
- -- failure reporting operations
- failureReport,
-
- -- gprs notification operations
- noteMsPresentForGprs,
-
--- Mobility Management operations
- noteMM-Event
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- unknownSubscriber,
- unknownMSC,
- unidentifiedSubscriber,
- unknownEquipment,
- roamingNotAllowed,
- ati-NotAllowed,
- noHandoverNumberAvailable,
- subsequentHandoverFailure,
- absentSubscriber,
- mm-EventNotSupported,
- atsi-NotAllowed,
- atm-NotAllowed,
- bearerServiceNotProvisioned,
- teleserviceNotProvisioned,
- callBarred,
- illegalSS-Operation,
- ss-ErrorStatus,
- ss-NotAvailable,
- ss-Incompatibility,
- ss-SubscriptionViolation,
- informationNotAvailable,
- targetCellOutsideGroupCallArea
-
-
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- UpdateLocationArg,
- UpdateLocationRes,
- CancelLocationArg,
- CancelLocationRes,
- PurgeMS-Arg,
- PurgeMS-Res,
- SendIdentificationArg,
- SendIdentificationRes,
- UpdateGprsLocationArg,
- UpdateGprsLocationRes,
- PrepareHO-Arg,
- PrepareHO-Res,
-ForwardAccessSignalling-Arg,
-ProcessAccessSignalling-Arg,
-SendEndSignal-Arg,
-SendEndSignal-Res,
-PrepareSubsequentHO-Res,
- PrepareSubsequentHO-Arg,
- SendAuthenticationInfoArg,
- SendAuthenticationInfoRes,
- AuthenticationFailureReportArg,
- AuthenticationFailureReportRes,
- CheckIMEI-Arg,
- CheckIMEI-Res,
- InsertSubscriberDataArg,
- InsertSubscriberDataRes,
- DeleteSubscriberDataArg,
- DeleteSubscriberDataRes,
- ResetArg,
- RestoreDataArg,
- RestoreDataRes,
- ProvideSubscriberInfoArg,
- ProvideSubscriberInfoRes,
- AnyTimeSubscriptionInterrogationArg,
- AnyTimeSubscriptionInterrogationRes,
- AnyTimeModificationArg,
- AnyTimeModificationRes,
- NoteSubscriberDataModifiedArg,
- NoteSubscriberDataModifiedRes,
- AnyTimeInterrogationArg,
- AnyTimeInterrogationRes,
- SendRoutingInfoForGprsArg,
- SendRoutingInfoForGprsRes,
- FailureReportArg,
- FailureReportRes,
- NoteMsPresentForGprsArg,
- NoteMsPresentForGprsRes,
- NoteMM-EventArg,
- NoteMM-EventRes
-
-
-FROM MAP-MS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}
-
-;
-
-
--- location registration operations
-
-updateLocation OPERATION ::= { --Timer m
- ARGUMENT
- UpdateLocationArg
- RESULT
- UpdateLocationRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- roamingNotAllowed}
- CODE local:2 }
-
-cancelLocation OPERATION ::= { --Timer m
- ARGUMENT
- CancelLocationArg
- RESULT
- CancelLocationRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue}
- CODE local:3 }
-
-purgeMS OPERATION ::= { --Timer m
- ARGUMENT
- PurgeMS-Arg
- RESULT
- PurgeMS-Res
- -- optional
- ERRORS{
- dataMissing |
- unexpectedDataValue|
- unknownSubscriber}
- CODE local:67 }
-
-sendIdentification OPERATION ::= { --Timer s
- ARGUMENT
- SendIdentificationArg
- RESULT
- SendIdentificationRes
- ERRORS {
- dataMissing |
- unidentifiedSubscriber}
- CODE local:55 }
-
--- gprs location registration operations
-
-updateGprsLocation OPERATION ::= { --Timer m
- ARGUMENT
- UpdateGprsLocationArg
- RESULT
- UpdateGprsLocationRes
- ERRORS {
- systemFailure |
- unexpectedDataValue |
- unknownSubscriber |
- roamingNotAllowed}
- CODE local:23 }
-
--- subscriber information enquiry operations
-
-provideSubscriberInfo OPERATION ::= { --Timer m
- ARGUMENT
- ProvideSubscriberInfoArg
- RESULT
- ProvideSubscriberInfoRes
- ERRORS {
- dataMissing |
- unexpectedDataValue}
- CODE local:70 }
-
--- any time information enquiry operations
-
-anyTimeInterrogation OPERATION ::= { --Timer m
- ARGUMENT
- AnyTimeInterrogationArg
- RESULT
- AnyTimeInterrogationRes
- ERRORS {
- systemFailure |
- ati-NotAllowed |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:71 }
-
--- any time information handling operations
-
-anyTimeSubscriptionInterrogation OPERATION ::= { --Timer m
- ARGUMENT
- AnyTimeSubscriptionInterrogationArg
- RESULT
- AnyTimeSubscriptionInterrogationRes
- ERRORS {
- atsi-NotAllowed |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-NotAvailable |
- informationNotAvailable}
- CODE local:62 }
-
-anyTimeModification OPERATION ::= { --Timer m
- ARGUMENT
- AnyTimeModificationArg
- RESULT
- AnyTimeModificationRes
- ERRORS {
- atm-NotAllowed |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-SubscriptionViolation |
- ss-ErrorStatus |
- ss-Incompatibility |
- informationNotAvailable}
- CODE local:65 }
-
--- subscriber data modification notification operations
-
-noteSubscriberDataModified OPERATION ::= { --Timer m
- ARGUMENT
- NoteSubscriberDataModifiedArg
- RESULT
- NoteSubscriberDataModifiedRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:5 }
-
--- handover operations
-
-prepareHandover OPERATION ::= { --Timer m
- ARGUMENT
- PrepareHO-Arg
- RESULT
- PrepareHO-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- noHandoverNumberAvailable |
- targetCellOutsideGroupCallArea }
- CODE local:68 }
-
-sendEndSignal OPERATION ::= { --Timer l
- ARGUMENT
- SendEndSignal-Arg
- RESULT
- SendEndSignal-Res
- CODE local:29 }
-
-processAccessSignalling OPERATION ::= { --Timer s
- ARGUMENT
- ProcessAccessSignalling-Arg
- CODE local:33 }
-
-forwardAccessSignalling OPERATION ::= { --Timer s
- ARGUMENT
- ForwardAccessSignalling-Arg
- CODE local:34 }
-
-prepareSubsequentHandover OPERATION ::= { --Timer m
- ARGUMENT
- PrepareSubsequentHO-Arg
- RESULT
- PrepareSubsequentHO-Res
- ERRORS {
- unexpectedDataValue |
- dataMissing |
- unknownMSC |
- subsequentHandoverFailure}
- CODE local:69 }
-
--- authentication management operations
-
-sendAuthenticationInfo OPERATION ::= { --Timer m
- ARGUMENT
- SendAuthenticationInfoArg
- -- optional
- -- within a dialogue sendAuthenticationInfoArg shall not be present in
- -- subsequent invoke components. If received in a subsequent invoke component
- -- it shall be discarded.
-
- RESULT
- SendAuthenticationInfoRes
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:56 }
-
-authenticationFailureReport OPERATION ::= { --Timer m
- ARGUMENT
- AuthenticationFailureReportArg
- RESULT
- AuthenticationFailureReportRes
- -- optional
- ERRORS {
- systemFailure |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:15 }
-
--- IMEI management operations
-
-checkIMEI OPERATION ::= { --Timer m
- ARGUMENT
- CheckIMEI-Arg
- RESULT
- CheckIMEI-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unknownEquipment}
- CODE local:43 }
-
--- subscriber management operations
-
-insertSubscriberData OPERATION ::= { --Timer m
- ARGUMENT
- InsertSubscriberDataArg
- RESULT
- InsertSubscriberDataRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unidentifiedSubscriber}
- CODE local:7 }
-
-deleteSubscriberData OPERATION ::= { --Timer m
- ARGUMENT
- DeleteSubscriberDataArg
- RESULT
- DeleteSubscriberDataRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unidentifiedSubscriber}
- CODE local:8 }
-
--- fault recovery operations
-
-reset OPERATION ::= { --Timer m
- ARGUMENT
- ResetArg
- CODE local:37 }
-
-forwardCheckSS-Indication OPERATION ::= { --Timer s
- CODE local:38 }
-
-restoreData OPERATION ::= { --Timer m
- ARGUMENT
- RestoreDataArg
- RESULT
- RestoreDataRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:57 }
-
--- gprs location information retrieval operations
-
-sendRoutingInfoForGprs OPERATION ::= { --Timer m
- ARGUMENT
- SendRoutingInfoForGprsArg
- RESULT
- SendRoutingInfoForGprsRes
- ERRORS {
- absentSubscriber |
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- callBarred }
- CODE local:24 }
-
--- failure reporting operations
-
-failureReport OPERATION ::= { --Timer m
- ARGUMENT
- FailureReportArg
- RESULT
- FailureReportRes
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:25 }
-
--- gprs notification operations
-
-noteMsPresentForGprs OPERATION ::= { --Timer m
- ARGUMENT
- NoteMsPresentForGprsArg
- RESULT
- NoteMsPresentForGprsRes
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:26 }
-
-noteMM-Event OPERATION ::= { --Timer m
- ARGUMENT
- NoteMM-EventArg
- RESULT
- NoteMM-EventRes
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- mm-EventNotSupported}
- CODE local:89 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-OM-DataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-OM-DataTypes.asn
deleted file mode 100644
index 3866b1e6e5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-OM-DataTypes.asn
+++ /dev/null
@@ -1,62 +0,0 @@
-MAP-OM-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-OM-DataTypes (12) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- ActivateTraceModeArg,
- ActivateTraceModeRes,
- DeactivateTraceModeArg,
- DeactivateTraceModeRes
-;
-
-IMPORTS
- AddressString,
- IMSI
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
-;
-
-ActivateTraceModeArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
- traceReference [1] TraceReference,
- traceType [2] TraceType,
- omc-Id [3] AddressString OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-TraceReference ::= OCTET STRING (SIZE (1..2))
-
-TraceType ::= INTEGER
- (0..255)
- -- Trace types are fully defined in TS GSM 12.08.
-
-ActivateTraceModeRes ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-DeactivateTraceModeArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
- traceReference [1] TraceReference,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-DeactivateTraceModeRes ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-OperationAndMaintenanceOperations.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-OperationAndMaintenanceOperations.asn
deleted file mode 100644
index adc50bd436..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-OperationAndMaintenanceOperations.asn
+++ /dev/null
@@ -1,91 +0,0 @@
-MAP-OperationAndMaintenanceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-OperationAndMaintenanceOperations (6)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- activateTraceMode,
- deactivateTraceMode,
- sendIMSI
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- facilityNotSupported,
- unknownSubscriber,
- unidentifiedSubscriber,
- tracingBufferFull
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- ActivateTraceModeArg,
- ActivateTraceModeRes,
- DeactivateTraceModeArg,
- DeactivateTraceModeRes
-FROM MAP-OM-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-OM-DataTypes (12) version9 (9)}
-
- ISDN-AddressString,
- IMSI
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-;
-
-
-activateTraceMode OPERATION ::= { --Timer m
- ARGUMENT
- ActivateTraceModeArg
- RESULT
- ActivateTraceModeRes
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unidentifiedSubscriber |
- tracingBufferFull}
- CODE local:50 }
-
-deactivateTraceMode OPERATION ::= { --Timer m
- ARGUMENT
- DeactivateTraceModeArg
- RESULT
- DeactivateTraceModeRes
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unidentifiedSubscriber}
- CODE local:51 }
-
-sendIMSI OPERATION ::= { --Timer m
- ARGUMENT
- ISDN-AddressString
- RESULT
- IMSI
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:58 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Protocol.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Protocol.asn
deleted file mode 100644
index 68dfb986c8..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-Protocol.asn
+++ /dev/null
@@ -1,176 +0,0 @@
-MAP-Protocol {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Protocol (4) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-IMPORTS
-OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
-
- updateLocation,
- cancelLocation,
- purgeMS,
- sendIdentification,
- updateGprsLocation,
- prepareHandover,
- sendEndSignal,
- processAccessSignalling,
- forwardAccessSignalling,
- prepareSubsequentHandover,
- sendAuthenticationInfo,
- authenticationFailureReport,
- checkIMEI,
- insertSubscriberData,
- deleteSubscriberData,
- reset,
- forwardCheckSS-Indication,
- restoreData,
- provideSubscriberInfo,
- anyTimeInterrogation,
- anyTimeSubscriptionInterrogation,
- anyTimeModification,
- sendRoutingInfoForGprs,
- failureReport,
- noteMsPresentForGprs,
- noteMM-Event,
- noteSubscriberDataModified
-
-
-FROM MAP-MobileServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MobileServiceOperations (5)
- version9 (9)}
-
- activateTraceMode,
- deactivateTraceMode,
- sendIMSI
-FROM MAP-OperationAndMaintenanceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-OperationAndMaintenanceOperations (6)
- version9 (9)}
-
- sendRoutingInfo,
- provideRoamingNumber,
- resumeCallHandling,
- setReportingState,
- statusReport,
- remoteUserFree,
- ist-Alert,
- ist-Command
-FROM MAP-CallHandlingOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CallHandlingOperations (7)
- version9 (9)}
-
- registerSS,
- eraseSS,
- activateSS,
- deactivateSS,
- interrogateSS,
- processUnstructuredSS-Request,
- unstructuredSS-Request,
- unstructuredSS-Notify,
- registerPassword,
- getPassword,
- ss-InvocationNotification,
- registerCC-Entry,
- eraseCC-Entry
-FROM MAP-SupplementaryServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SupplementaryServiceOperations (8)
- version9 (9)}
-
- sendRoutingInfoForSM,
- mo-ForwardSM,
- mt-ForwardSM,
- reportSM-DeliveryStatus,
- alertServiceCentre,
- informServiceCentre,
- readyForSM
-FROM MAP-ShortMessageServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9)
- version9 (9)}
-
- prepareGroupCall,
- processGroupCallSignalling,
- forwardGroupCallSignalling,
- sendGroupCallEndSignal
-FROM MAP-Group-Call-Operations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Group-Call-Operations (22)
- version9 (9)}
-
- provideSubscriberLocation,
- sendRoutingInfoForLCS,
- subscriberLocationReport
-FROM MAP-LocationServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-LocationServiceOperations (24)
- version9 (9)}
-
-secureTransportClass1,
-secureTransportClass2,
-secureTransportClass3,
-secureTransportClass4
-
-FROM MAP-SecureTransportOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SecureTransportOperations (26)
- version9 (9)}
-
-;
-Supported-MAP-Operations OPERATION ::= {updateLocation | cancelLocation | purgeMS |
-sendIdentification | updateGprsLocation | prepareHandover | sendEndSignal |
-processAccessSignalling | forwardAccessSignalling | prepareSubsequentHandover |
-sendAuthenticationInfo | authenticationFailureReport | checkIMEI | insertSubscriberData |
-deleteSubscriberData | reset | forwardCheckSS-Indication | restoreData | provideSubscriberInfo |
-anyTimeInterrogation | anyTimeSubscriptionInterrogation | anyTimeModification |
-sendRoutingInfoForGprs | failureReport |noteMsPresentForGprs | noteMM-Event |
-noteSubscriberDataModified | activateTraceMode | deactivateTraceMode | sendIMSI |
-sendRoutingInfo | provideRoamingNumber | resumeCallHandling | setReportingState | statusReport | remoteUserFree | ist-Alert |
-ist-Command | registerSS | eraseSS | activateSS | deactivateSS | interrogateSS |
-processUnstructuredSS-Request | unstructuredSS-Request | unstructuredSS-Notify |
-registerPassword | getPassword | ss-InvocationNotification | registerCC-Entry | eraseCC-Entry |
-sendRoutingInfoForSM | mo-ForwardSM | mt-ForwardSM | reportSM-DeliveryStatus |
-alertServiceCentre | informServiceCentre | readyForSM | prepareGroupCall |
-processGroupCallSignalling | forwardGroupCallSignalling | sendGroupCallEndSignal |
-provideSubscriberLocation | sendRoutingInfoForLCS | subscriberLocationReport |
-secureTransportClass1 |secureTransportClass2 | secureTransportClass3 | secureTransportClass4}
-
-
-
--- The following operation codes are reserved for operations
--- existing in previous versions of the protocol
-
--- Operation Name AC used Oper. Code
---
--- sendParameters map-ac infoRetrieval (14) version1 (1) local:9
--- processUnstructuredSS-Data map-ac networkFunctionalSs (18) version1 (1) local:19
--- performHandover map-ac handoverControl (11) version1 (1) local:28
--- performSubsequentHandover map-ac handoverControl (11) version1 (1) local:30
--- provideSIWFSNumber map-ac sIWFSAllocation (12) version3 (3) local:31
--- siwfs-SignallingModify map-ac sIWFSAllocation (12) version3 (3) local:32
--- noteInternalHandover map-ac handoverControl (11) version1 (1) local:35
--- noteSubscriberPresent map-ac mwdMngt (24) version1 (1) local:48
--- alertServiceCentreWithoutResult map-ac shortMsgAlert (23) version1 (1) local:49
--- traceSubscriberActivity map-ac handoverControl (11) version1 (1) local:52
--- beginSubscriberActivity map-ac networkFunctionalSs (18) version1 (1) local:54
-
--- The following error codes are reserved for errors
--- existing in previous versions of the protocol
-
--- Error Name AC used Error Code
---
--- unknownBaseStation map-ac handoverControl (11) version1 (1) local:2
--- invalidTargetBaseStation map-ac handoverControl (11) version1 (1) local:23
--- noRadioResourceAvailable map-ac handoverControl (11) version1 (1) local:24
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SM-DataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SM-DataTypes.asn
deleted file mode 100644
index 664baa1b41..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SM-DataTypes.asn
+++ /dev/null
@@ -1,217 +0,0 @@
-MAP-SM-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SM-DataTypes (16) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- RoutingInfoForSM-Arg,
- RoutingInfoForSM-Res,
- MO-ForwardSM-Arg,
- MO-ForwardSM-Res,
- MT-ForwardSM-Arg,
- MT-ForwardSM-Res,
- ReportSM-DeliveryStatusArg,
- ReportSM-DeliveryStatusRes,
- AlertServiceCentreArg,
- InformServiceCentreArg,
- ReadyForSM-Arg,
- ReadyForSM-Res,
- SM-DeliveryOutcome,
- AlertReason,
- Additional-Number
-;
-
-IMPORTS
- AddressString,
- ISDN-AddressString,
- SignalInfo,
- IMSI,
- LMSI
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- AbsentSubscriberDiagnosticSM
-FROM MAP-ER-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-;
-
-
-RoutingInfoForSM-Arg ::= SEQUENCE {
- msisdn [0] ISDN-AddressString,
- sm-RP-PRI [1] BOOLEAN,
- serviceCentreAddress [2] AddressString,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ... ,
- gprsSupportIndicator [7] NULL OPTIONAL,
- -- gprsSupportIndicator is set only if the SMS-GMSC supports
- -- receiving of two numbers from the HLR
- sm-RP-MTI [8] SM-RP-MTI OPTIONAL,
- sm-RP-SMEA [9] SM-RP-SMEA OPTIONAL }
-
-SM-RP-MTI ::= INTEGER (0..10)
- -- 0 SMS Deliver
- -- 1 SMS Status Report
- -- other values are reserved for future use and shall be discarded if
- -- received
-
-SM-RP-SMEA ::= OCTET STRING (SIZE (1..12))
- -- this parameter contains an address field which is encoded
- -- as defined in 3GPP TS 23.040. An address field contains 3 elements :
- -- address-length
- -- type-of-address
- -- address-value
-
-RoutingInfoForSM-Res ::= SEQUENCE {
- imsi IMSI,
- locationInfoWithLMSI [0] LocationInfoWithLMSI,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-LocationInfoWithLMSI ::= SEQUENCE {
- networkNode-Number [1] ISDN-AddressString,
- lmsi LMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- gprsNodeIndicator [5] NULL OPTIONAL,
- -- gprsNodeIndicator is set only if the SGSN number is sent as the
- -- Network Node Number
- additional-Number [6] Additional-Number OPTIONAL
- -- NetworkNode-number can be either msc-number or sgsn-number
- }
-
-Additional-Number ::= CHOICE {
- msc-Number [0] ISDN-AddressString,
- sgsn-Number [1] ISDN-AddressString}
- -- additional-number can be either msc-number or sgsn-number
- -- if received networkNode-number is msc-number then the
- -- additional number is sgsn-number
- -- if received networkNode-number is sgsn-number then the
- -- additional number is msc-number
-
-MO-ForwardSM-Arg ::= SEQUENCE {
- sm-RP-DA SM-RP-DA,
- sm-RP-OA SM-RP-OA,
- sm-RP-UI SignalInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- imsi IMSI OPTIONAL }
-
-MO-ForwardSM-Res ::= SEQUENCE {
- sm-RP-UI SignalInfo OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-MT-ForwardSM-Arg ::= SEQUENCE {
- sm-RP-DA SM-RP-DA,
- sm-RP-OA SM-RP-OA,
- sm-RP-UI SignalInfo,
- moreMessagesToSend NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-MT-ForwardSM-Res ::= SEQUENCE {
- sm-RP-UI SignalInfo OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SM-RP-DA ::= CHOICE {
- imsi [0] IMSI,
- lmsi [1] LMSI,
- serviceCentreAddressDA [4] AddressString,
- noSM-RP-DA [5] NULL}
-
-SM-RP-OA ::= CHOICE {
- msisdn [2] ISDN-AddressString,
- serviceCentreAddressOA [4] AddressString,
- noSM-RP-OA [5] NULL}
-
-ReportSM-DeliveryStatusArg ::= SEQUENCE {
- msisdn ISDN-AddressString,
- serviceCentreAddress AddressString,
- sm-DeliveryOutcome SM-DeliveryOutcome,
- absentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM
- OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...,
- gprsSupportIndicator [2] NULL OPTIONAL,
- -- gprsSupportIndicator is set only if the SMS-GMSC supports
- -- handling of two delivery outcomes
- deliveryOutcomeIndicator [3] NULL OPTIONAL,
- -- DeliveryOutcomeIndicator is set when the SM-DeliveryOutcome
- -- is for GPRS
- additionalSM-DeliveryOutcome [4] SM-DeliveryOutcome OPTIONAL,
- -- If received, additionalSM-DeliveryOutcome is for GPRS
- -- If DeliveryOutcomeIndicator is set, then AdditionalSM-DeliveryOutcome shall be absent
- additionalAbsentSubscriberDiagnosticSM [5] AbsentSubscriberDiagnosticSM OPTIONAL
- -- If received additionalAbsentSubscriberDiagnosticSM is for GPRS
- -- If DeliveryOutcomeIndicator is set, then AdditionalAbsentSubscriberDiagnosticSM
- -- shall be absent
- }
-
-SM-DeliveryOutcome ::= ENUMERATED {
- memoryCapacityExceeded (0),
- absentSubscriber (1),
- successfulTransfer (2)}
-
-ReportSM-DeliveryStatusRes ::= SEQUENCE {
- storedMSISDN ISDN-AddressString OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-AlertServiceCentreArg ::= SEQUENCE {
- msisdn ISDN-AddressString,
- serviceCentreAddress AddressString,
- ...}
-
-InformServiceCentreArg ::= SEQUENCE {
- storedMSISDN ISDN-AddressString OPTIONAL,
- mw-Status MW-Status OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL,
- additionalAbsentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM OPTIONAL }
- -- additionalAbsentSubscriberDiagnosticSM may be present only if
- -- absentSubscriberDiagnosticSM is present.
- -- if included, additionalAbsentSubscriberDiagnosticSM is for GPRS and
- -- absentSubscriberDiagnosticSM is for non-GPRS
-
-MW-Status ::= BIT STRING {
- sc-AddressNotIncluded (0),
- mnrf-Set (1),
- mcef-Set (2) ,
- mnrg-Set (3)} (SIZE (6..16))
- -- exception handling:
- -- bits 4 to 15 shall be ignored if received and not understood
-
-ReadyForSM-Arg ::= SEQUENCE {
- imsi [0] IMSI,
- alertReason AlertReason,
- alertReasonIndicator NULL OPTIONAL,
- -- alertReasonIndicator is set only when the alertReason
- -- sent to HLR is for GPRS
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ReadyForSM-Res ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-AlertReason ::= ENUMERATED {
- ms-Present (0),
- memoryAvailable (1)}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SS-Code.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SS-Code.asn
deleted file mode 100644
index d3f0957648..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SS-Code.asn
+++ /dev/null
@@ -1,183 +0,0 @@
-MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-SS-Code ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- supplementary service, a group of supplementary services, or
- -- all supplementary services. The services and abbreviations
- -- used are defined in TS 3GPP TS 22.004 [5]. The internal structure is
- -- defined as follows:
- --
- -- bits 87654321: group (bits 8765), and specific service
- -- (bits 4321)
-
-allSS SS-Code ::= '00000000'B
- -- reserved for possible future use
- -- all SS
-
-allLineIdentificationSS SS-Code ::= '00010000'B
- -- reserved for possible future use
- -- all line identification SS
-clip SS-Code ::= '00010001'B
- -- calling line identification presentation
-clir SS-Code ::= '00010010'B
- -- calling line identification restriction
-colp SS-Code ::= '00010011'B
- -- connected line identification presentation
-colr SS-Code ::= '00010100'B
- -- connected line identification restriction
-mci SS-Code ::= '00010101'B
- -- reserved for possible future use
- -- malicious call identification
-
-allNameIdentificationSS SS-Code ::= '00011000'B
- -- all name identification SS
-cnap SS-Code ::= '00011001'B
- -- calling name presentation
-
- -- SS-Codes '00011010'B to '00011111'B are reserved for future
- -- NameIdentification Supplementary Service use.
-
-allForwardingSS SS-Code ::= '00100000'B
- -- all forwarding SS
-cfu SS-Code ::= '00100001'B
- -- call forwarding unconditional
-allCondForwardingSS SS-Code ::= '00101000'B
- -- all conditional forwarding SS
-cfb SS-Code ::= '00101001'B
- -- call forwarding on mobile subscriber busy
-cfnry SS-Code ::= '00101010'B
- -- call forwarding on no reply
-cfnrc SS-Code ::= '00101011'B
- -- call forwarding on mobile subscriber not reachable
-cd SS-Code ::= '00100100'B
- -- call deflection
-
-allCallOfferingSS SS-Code ::= '00110000'B
- -- reserved for possible future use
- -- all call offering SS includes also all forwarding SS
-ect SS-Code ::= '00110001'B
- -- explicit call transfer
-mah SS-Code ::= '00110010'B
- -- reserved for possible future use
- -- mobile access hunting
-
-allCallCompletionSS SS-Code ::= '01000000'B
- -- reserved for possible future use
- -- all Call completion SS
-cw SS-Code ::= '01000001'B
- -- call waiting
-hold SS-Code ::= '01000010'B
- -- call hold
-ccbs-A SS-Code ::= '01000011'B
- -- completion of call to busy subscribers, originating side
-ccbs-B SS-Code ::= '01000100'B
- -- completion of call to busy subscribers, destination side
- -- this SS-Code is used only in InsertSubscriberData and DeleteSubscriberData
-mc SS-Code ::= '01000101'B
- -- multicall
-
-allMultiPartySS SS-Code ::= '01010000'B
- -- reserved for possible future use
- -- all multiparty SS
-multiPTY SS-Code ::= '01010001'B
- -- multiparty
-
-allCommunityOfInterest-SS SS-Code ::= '01100000'B
- -- reserved for possible future use
- -- all community of interest SS
-cug SS-Code ::= '01100001'B
- -- closed user group
-
-allChargingSS SS-Code ::= '01110000'B
- -- reserved for possible future use
- -- all charging SS
-aoci SS-Code ::= '01110001'B
- -- advice of charge information
-aocc SS-Code ::= '01110010'B
- -- advice of charge charging
-
-allAdditionalInfoTransferSS SS-Code ::= '10000000'B
- -- reserved for possible future use
- -- all additional information transfer SS
-uus1 SS-Code ::= '10000001'B
- -- UUS1 user-to-user signalling
-uus2 SS-Code ::= '10000010'B
- -- UUS2 user-to-user signalling
-uus3 SS-Code ::= '10000011'B
- -- UUS3 user-to-user signalling
-
-allBarringSS SS-Code ::= '10010000'B
- -- all barring SS
-barringOfOutgoingCalls SS-Code ::= '10010001'B
- -- barring of outgoing calls
-baoc SS-Code ::= '10010010'B
- -- barring of all outgoing calls
-boic SS-Code ::= '10010011'B
- -- barring of outgoing international calls
-boicExHC SS-Code ::= '10010100'B
- -- barring of outgoing international calls except those directed
- -- to the home PLMN Country
-barringOfIncomingCalls SS-Code ::= '10011001'B
- -- barring of incoming calls
-baic SS-Code ::= '10011010'B
- -- barring of all incoming calls
-bicRoam SS-Code ::= '10011011'B
- -- barring of incoming calls when roaming outside home PLMN
- -- Country
-
-allPLMN-specificSS SS-Code ::= '11110000'B
-plmn-specificSS-1 SS-Code ::= '11110001'B
-plmn-specificSS-2 SS-Code ::= '11110010'B
-plmn-specificSS-3 SS-Code ::= '11110011'B
-plmn-specificSS-4 SS-Code ::= '11110100'B
-plmn-specificSS-5 SS-Code ::= '11110101'B
-plmn-specificSS-6 SS-Code ::= '11110110'B
-plmn-specificSS-7 SS-Code ::= '11110111'B
-plmn-specificSS-8 SS-Code ::= '11111000'B
-plmn-specificSS-9 SS-Code ::= '11111001'B
-plmn-specificSS-A SS-Code ::= '11111010'B
-plmn-specificSS-B SS-Code ::= '11111011'B
-plmn-specificSS-C SS-Code ::= '11111100'B
-plmn-specificSS-D SS-Code ::= '11111101'B
-plmn-specificSS-E SS-Code ::= '11111110'B
-plmn-specificSS-F SS-Code ::= '11111111'B
-
-allCallPrioritySS SS-Code ::= '10100000'B
- -- reserved for possible future use
- -- all call priority SS
-emlpp SS-Code ::= '10100001'B
- -- enhanced Multilevel Precedence Pre-emption (EMLPP) service
-
-allLCSPrivacyException SS-Code ::= '10110000'B
- -- all LCS Privacy Exception Classes
-universal SS-Code ::= '10110001'B
- -- allow location by any LCS client
-callSessionRelated SS-Code ::= '10110010'B
- -- allow location by any value added LCS client to which a call/session
- -- is established from the target MS
-callSessionUnrelated SS-Code ::= '10110011'B
- -- allow location by designated external value added LCS clients
-plmnoperator SS-Code ::= '10110100'B
- -- allow location by designated PLMN operator LCS clients
-serviceType SS-Code ::= '10110101'B
- -- allow location by LCS clients of a designated LCS service type
-
-allMOLR-SS SS-Code ::= '11000000'B
- -- all Mobile Originating Location Request Classes
-basicSelfLocation SS-Code ::= '11000001'B
- -- allow an MS to request its own location
-autonomousSelfLocation SS-Code ::= '11000010'B
- -- allow an MS to perform self location without interaction
- -- with the PLMN for a predetermined period of time
-transferToThirdParty SS-Code ::= '11000011'B
- -- allow an MS to request transfer of its location to another LCS client
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SS-DataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SS-DataTypes.asn
deleted file mode 100644
index 5cf9178353..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SS-DataTypes.asn
+++ /dev/null
@@ -1,337 +0,0 @@
-MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- RegisterSS-Arg,
- SS-Info,
- SS-Status,
- SS-SubscriptionOption,
- SS-ForBS-Code,
- InterrogateSS-Res,
- USSD-Arg,
- USSD-Res,
- USSD-DataCodingScheme,
- USSD-String,
- Password,
- GuidanceInfo,
- SS-List,
- SS-InfoList,
- OverrideCategory,
- CliRestrictionOption,
- NoReplyConditionTime,
- ForwardingOptions,
- maxNumOfSS,
- SS-Data,
- SS-InvocationNotificationArg,
- SS-InvocationNotificationRes,
- CCBS-Feature,
- RegisterCC-EntryArg,
- RegisterCC-EntryRes,
- EraseCC-EntryArg,
- EraseCC-EntryRes
-;
-
-IMPORTS
- AddressString,
- ISDN-AddressString,
- ISDN-SubaddressString,
- FTN-AddressString,
- IMSI,
- BasicServiceCode,
- AlertingPattern,
- EMLPP-Priority,
- MaxMC-Bearers,
- MC-Bearers,
- ExternalSignalInfo
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
- SS-Code
-FROM MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-;
-
-
-RegisterSS-Arg ::= SEQUENCE {
- ss-Code SS-Code,
- basicService BasicServiceCode OPTIONAL,
- forwardedToNumber [4] AddressString OPTIONAL,
- forwardedToSubaddress [6] ISDN-SubaddressString OPTIONAL,
- noReplyConditionTime [5] NoReplyConditionTime OPTIONAL,
- ...,
- defaultPriority [7] EMLPP-Priority OPTIONAL,
- nbrUser [8] MC-Bearers OPTIONAL,
- longFTN-Supported [9] NULL OPTIONAL }
-
-NoReplyConditionTime ::= INTEGER (5..30)
-
-SS-Info ::= CHOICE {
- forwardingInfo [0] ForwardingInfo,
- callBarringInfo [1] CallBarringInfo,
- ss-Data [3] SS-Data}
-
-ForwardingInfo ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- forwardingFeatureList ForwardingFeatureList,
- ...}
-
-ForwardingFeatureList ::=
- SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- ForwardingFeature
-
-ForwardingFeature ::= SEQUENCE {
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] ForwardingOptions OPTIONAL,
- noReplyConditionTime [7] NoReplyConditionTime OPTIONAL,
- ...,
- longForwardedToNumber [9] FTN-AddressString OPTIONAL }
-
-SS-Status ::= OCTET STRING (SIZE (1))
-
- -- bits 8765: 0000 (unused)
- -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
- -- representing supplementary service state information
- -- as defined in TS 3GPP TS 23.011 [22]
-
- -- bit 4: "Q bit"
-
- -- bit 3: "P bit"
-
- -- bit 2: "R bit"
-
- -- bit 1: "A bit"
-
-ForwardingOptions ::= OCTET STRING (SIZE (1))
-
- -- bit 8: notification to forwarding party
- -- 0 no notification
- -- 1 notification
-
- -- bit 7: redirecting presentation
- -- 0 no presentation
- -- 1 presentation
-
- -- bit 6: notification to calling party
- -- 0 no notification
- -- 1 notification
-
- -- bit 5: 0 (unused)
-
- -- bits 43: forwarding reason
- -- 00 ms not reachable
- -- 01 ms busy
- -- 10 no reply
- -- 11 unconditional when used in a SRI Result,
- -- or call deflection when used in a RCH Argument
- -- bits 21: 00 (unused)
-
-CallBarringInfo ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- callBarringFeatureList CallBarringFeatureList,
- ...}
-
-CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- CallBarringFeature
-
-CallBarringFeature ::= SEQUENCE {
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- ...}
-
-SS-Data ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
- basicServiceGroupList BasicServiceGroupList OPTIONAL,
- ...,
- defaultPriority EMLPP-Priority OPTIONAL,
- nbrUser [5] MC-Bearers OPTIONAL
- }
-
-SS-SubscriptionOption ::= CHOICE {
- cliRestrictionOption [2] CliRestrictionOption,
- overrideCategory [1] OverrideCategory}
-
-CliRestrictionOption ::= ENUMERATED {
- permanent (0),
- temporaryDefaultRestricted (1),
- temporaryDefaultAllowed (2)}
-
-OverrideCategory ::= ENUMERATED {
- overrideEnabled (0),
- overrideDisabled (1)}
-
-SS-ForBS-Code ::= SEQUENCE {
- ss-Code SS-Code,
- basicService BasicServiceCode OPTIONAL,
- ...,
- longFTN-Supported [4] NULL OPTIONAL }
-
-GenericServiceInfo ::= SEQUENCE {
- ss-Status SS-Status,
- cliRestrictionOption CliRestrictionOption OPTIONAL,
- ...,
- maximumEntitledPriority [0] EMLPP-Priority OPTIONAL,
- defaultPriority [1] EMLPP-Priority OPTIONAL,
- ccbs-FeatureList [2] CCBS-FeatureList OPTIONAL,
- nbrSB [3] MaxMC-Bearers OPTIONAL,
- nbrUser [4] MC-Bearers OPTIONAL,
- nbrSN [5] MC-Bearers OPTIONAL }
-
-CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF
- CCBS-Feature
-
-maxNumOfCCBS-Requests INTEGER ::= 5
-
-CCBS-Feature ::= SEQUENCE {
- ccbs-Index [0] CCBS-Index OPTIONAL,
- b-subscriberNumber [1] ISDN-AddressString OPTIONAL,
- b-subscriberSubaddress [2] ISDN-SubaddressString OPTIONAL,
- basicServiceGroup [3] BasicServiceCode OPTIONAL,
- ...}
-
-CCBS-Index ::= INTEGER (1..maxNumOfCCBS-Requests)
-
-InterrogateSS-Res ::= CHOICE {
- ss-Status [0] SS-Status,
- basicServiceGroupList [2] BasicServiceGroupList,
- forwardingFeatureList [3] ForwardingFeatureList,
- genericServiceInfo [4] GenericServiceInfo }
-
-USSD-Arg ::= SEQUENCE {
- ussd-DataCodingScheme USSD-DataCodingScheme,
- ussd-String USSD-String,
- ... ,
- alertingPattern AlertingPattern OPTIONAL,
- msisdn [0] ISDN-AddressString OPTIONAL }
-
-USSD-Res ::= SEQUENCE {
- ussd-DataCodingScheme USSD-DataCodingScheme,
- ussd-String USSD-String,
- ...}
-
-USSD-DataCodingScheme ::= OCTET STRING (SIZE (1))
- -- The structure of the USSD-DataCodingScheme is defined by
- -- the Cell Broadcast Data Coding Scheme as described in
- -- TS 3GPP TS 23.038 [25]
-
-USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength))
- -- The structure of the contents of the USSD-String is dependent
- -- on the USSD-DataCodingScheme as described in TS 3GPP TS 23.038 [25].
-
-maxUSSD-StringLength INTEGER ::= 160
-
-Password ::= NumericString
- (FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"))
- (SIZE (4))
-
-GuidanceInfo ::= ENUMERATED {
- enterPW (0),
- enterNewPW (1),
- enterNewPW-Again (2)}
- -- How this information is really delivered to the subscriber
- -- (display, announcement, ...) is not part of this
- -- specification.
-
-SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- SS-Code
-
-maxNumOfSS INTEGER ::= 30
-
-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- SS-Info
-
-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- BasicServiceCode
-
-maxNumOfBasicServiceGroups INTEGER ::= 13
-
-SS-InvocationNotificationArg ::= SEQUENCE {
- imsi [0] IMSI,
- msisdn [1] ISDN-AddressString,
- ss-Event [2] SS-Code,
- -- The following SS-Code values are allowed :
- -- ect SS-Code ::= '00110001'B
- -- multiPTY SS-Code ::= '01010001'B
- -- cd SS-Code ::= '00100100'B
- -- ccbs SS-Code ::= '01000100'B
- ss-EventSpecification [3] SS-EventSpecification OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...,
- b-subscriberNumber [5] ISDN-AddressString OPTIONAL,
- ccbs-RequestState [6] CCBS-RequestState OPTIONAL
- }
-
-CCBS-RequestState ::= ENUMERATED {
- request (0),
- recall (1),
- active (2),
- completed (3),
- suspended (4),
- frozen (5),
- deleted (6)
- }
-
-SS-InvocationNotificationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...
- }
-
-SS-EventSpecification ::= SEQUENCE SIZE (1..maxEventSpecification) OF
- AddressString
-
-maxEventSpecification INTEGER ::= 2
-
-RegisterCC-EntryArg ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ccbs-Data [1] CCBS-Data OPTIONAL,
- ...}
-
-CCBS-Data ::= SEQUENCE {
- ccbs-Feature [0] CCBS-Feature,
- translatedB-Number [1] ISDN-AddressString,
- serviceIndicator [2] ServiceIndicator OPTIONAL,
- callInfo [3] ExternalSignalInfo,
- networkSignalInfo [4] ExternalSignalInfo,
- ...}
-
-ServiceIndicator ::= BIT STRING {
- clir-invoked (0),
- camel-invoked (1)} (SIZE(2..32))
- -- exception handling:
- -- bits 2 to 31 shall be ignored if received and not understood
-
-RegisterCC-EntryRes ::= SEQUENCE {
- ccbs-Feature [0] CCBS-Feature OPTIONAL,
- ...}
-
-EraseCC-EntryArg ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ccbs-Index [1] CCBS-Index OPTIONAL,
- ...}
-
-EraseCC-EntryRes ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ss-Status [1] SS-Status OPTIONAL,
- ...}
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ST-DataTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ST-DataTypes.asn
deleted file mode 100644
index 2eac16551d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ST-DataTypes.asn
+++ /dev/null
@@ -1,98 +0,0 @@
-MAP-ST-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)}
-
-DEFINITIONS
-IMPLICIT TAGS
-::=
-BEGIN
-
-EXPORTS
- SecureTransportArg,
- SecureTransportRes,
- SecurityHeader,
- ProtectedPayload
-;
-
-IMPORTS
- IMSI
-
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-;
-
-SecureTransportArg ::= SEQUENCE {
- securityHeader SecurityHeader,
- protectedPayload ProtectedPayload OPTIONAL
- }
- -- The protectedPayload carries the result of applying the security function
- -- defined in 3GPP TS 33.200 to the encoding of the argument of the securely
- -- transported operation
-
-SecureTransportRes ::= SEQUENCE {
- securityHeader SecurityHeader,
- protectedPayload ProtectedPayload OPTIONAL
- }
- -- The protectedPayload carries the result of applying the security function
- -- defined in 3GPP TS 33.200 to the encoding of the result of the securely
- -- transported operation
-
-SecurityHeader ::= SEQUENCE {
- securityParametersIndex SecurityParametersIndex,
- originalComponentIdentifier OriginalComponentIdentifier,
- initialisationVector InitialisationVector OPTIONAL,
- ...}
-
-ProtectedPayload ::= OCTET STRING(SIZE(1.. 3438))
- -- In protection mode 0 (noProtection) the ProtectedPayload carries the transfer
- -- syntax value of the component parameter identified by the
- -- originalComponentIdentifier.
- -- In protection mode 1 (integrityAuthenticity) the protectedPayload carries
- -- the transfer syntax value of the component
- -- parameter identified by the originalComponentIdentifier, followed by
- -- the 32 bit integrity check value.
- -- The integrity check value is the result of applying the hash algorithm
- -- to the concatenation of the transfer syntax value of the SecurityHeader,
- -- and the transfer syntax value of the component parameter.
- -- In protection mode 2 (confidentialityIntegrityAuthenticity) the protected
- -- payload carries the encrypted transfer syntax
- -- value of the component parameter identified by the
- -- originalComponentIdentifier, followed by the 32 bit integrity check value.
- -- The integrity check value is the result of applying the hash algorithm
- -- to the concatenation of the transfer syntax value of the SecurityHeader,
- -- and the encrypted transfer syntax value of the component parameter.
- -- See 33.200.
- -- The length of the protectedPayload is adjusted according to the capabilities of
- -- the lower protocol layers
-
-SecurityParametersIndex ::= OCTET STRING (SIZE(4))
-
-InitialisationVector ::= OCTET STRING (SIZE(14))
- -- the internal structure is defined as follows:
- -- Octets 1 to 4 : TVP. The TVP is a 32 bit time stamp. Its value is binary coded
- -- and indicates the number of intervals of 100 milliseconds
- -- elapsed since 1st January 2002, 0:00:00 UTC
- -- Octets 5 to 10: NE-Id. The NE-Id uniquely identifies the sending network entity
- -- within the PLMN. It is the entity's E.164 number without CC and
- -- NDC. It is TBCD-coded, padded with zeros.
- -- Octets 11 to 14: PROP. This 32 bit value is used to make the
- -- InitialisationVector unique within the same TVP period.
- -- The content is not standardized.
-
-
-OriginalComponentIdentifier ::= CHOICE {
- operationCode [0] OperationCode,
- errorCode [1] ErrorCode,
- userInfo [2] NULL}
-
-OperationCode ::= CHOICE {
- localValue INTEGER,
- globalValue OBJECT IDENTIFIER}
-
-ErrorCode ::= CHOICE {
- localValue INTEGER,
- globalValue OBJECT IDENTIFIER}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SecureTransportOperations.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SecureTransportOperations.asn
deleted file mode 100644
index dfb830cddd..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SecureTransportOperations.asn
+++ /dev/null
@@ -1,78 +0,0 @@
-MAP-SecureTransportOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SecureTransportOperations (26)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- secureTransportClass1,
- secureTransportClass2,
- secureTransportClass3,
- secureTransportClass4
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- dataMissing,
- secureTransportError,
- unexpectedDataValue
-
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- SecureTransportArg,
- SecureTransportRes
-
-FROM MAP-ST-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)}
-;
-
-secureTransportClass1 OPERATION ::= { --Timer shall be the same as for the
- --securely transported operation
- ARGUMENT
- SecureTransportArg
- RESULT
- SecureTransportRes
- ERRORS {
- secureTransportError |
- dataMissing |
- unexpectedDataValue}
- CODE local:78 }
-
-secureTransportClass2 OPERATION ::= { --Timer shall be the same as for the
- --securely transported operation
- ARGUMENT
- SecureTransportArg
- ERRORS {
- secureTransportError |
- dataMissing |
- unexpectedDataValue}
- CODE local:79 }
-
-secureTransportClass3 OPERATION ::= { --Timer shall be the same as for the
- --securely transported operation
- ARGUMENT
- SecureTransportArg
- RESULT
- SecureTransportRes
- CODE local:80 }
-
-secureTransportClass4 OPERATION ::= { --Timer shall be the same as for the
- --securely transported operation
- ARGUMENT
- SecureTransportArg
- CODE local:81 }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ShortMessageServiceOperations.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ShortMessageServiceOperations.asn
deleted file mode 100644
index 0cca86ceac..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-ShortMessageServiceOperations.asn
+++ /dev/null
@@ -1,155 +0,0 @@
--- asn1ct:compile("MAP-ShortMessageServiceOperations",[ber_bin, {outdir, "../compiled/umts_map"}]).
-
-MAP-ShortMessageServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- sendRoutingInfoForSM,
- mo-ForwardSM,
- mt-ForwardSM,
- reportSM-DeliveryStatus,
- alertServiceCentre,
- informServiceCentre,
- readyForSM
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- facilityNotSupported,
- unknownSubscriber,
- unidentifiedSubscriber,
- illegalSubscriber,
- illegalEquipment,
- teleserviceNotProvisioned,
- callBarred,
- subscriberBusyForMT-SMS,
- sm-DeliveryFailure,
- messageWaitingListFull,
- absentSubscriberSM
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- RoutingInfoForSM-Arg,
- RoutingInfoForSM-Res,
- MO-ForwardSM-Arg,
- MO-ForwardSM-Res,
- MT-ForwardSM-Arg,
- MT-ForwardSM-Res,
- ReportSM-DeliveryStatusArg,
- ReportSM-DeliveryStatusRes,
- AlertServiceCentreArg,
- InformServiceCentreArg,
- ReadyForSM-Arg,
- ReadyForSM-Res
-FROM MAP-SM-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SM-DataTypes (16) version9 (9)}
-
-;
-
-sendRoutingInfoForSM OPERATION ::= { --Timer m
- ARGUMENT
- RoutingInfoForSM-Arg
- RESULT
- RoutingInfoForSM-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unknownSubscriber |
- teleserviceNotProvisioned |
- callBarred |
- absentSubscriberSM}
- CODE local:45 }
-
-mo-ForwardSM OPERATION ::= { --Timer ml
- ARGUMENT
- MO-ForwardSM-Arg
- RESULT
- MO-ForwardSM-Res
- -- optional
- ERRORS {
- systemFailure |
- unexpectedDataValue |
- facilityNotSupported |
- sm-DeliveryFailure}
- CODE local:46 }
-
-mt-ForwardSM OPERATION ::= { --Timer ml
- ARGUMENT
- MT-ForwardSM-Arg
- RESULT
- MT-ForwardSM-Res
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unidentifiedSubscriber |
- illegalSubscriber |
- illegalEquipment |
- subscriberBusyForMT-SMS |
- sm-DeliveryFailure |
- absentSubscriberSM}
- CODE local:44 }
-
-reportSM-DeliveryStatus OPERATION ::= { --Timer s
- ARGUMENT
- ReportSM-DeliveryStatusArg
- RESULT
- ReportSM-DeliveryStatusRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- messageWaitingListFull}
- CODE local:47 }
-
-alertServiceCentre OPERATION ::= { --Timer s
- ARGUMENT
- AlertServiceCentreArg
- RETURN RESULT TRUE
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue}
- CODE local:64 }
-
-informServiceCentre OPERATION ::= { --Timer s
- ARGUMENT
- InformServiceCentreArg
- CODE local:63 }
-
-readyForSM OPERATION ::= { --Timer m
- ARGUMENT
- ReadyForSM-Arg
- RESULT
- ReadyForSM-Res
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unknownSubscriber}
- CODE local:66 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SupplementaryServiceOperations.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SupplementaryServiceOperations.asn
deleted file mode 100644
index 7c89273c8b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-SupplementaryServiceOperations.asn
+++ /dev/null
@@ -1,295 +0,0 @@
-MAP-SupplementaryServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SupplementaryServiceOperations (8)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- registerSS,
- eraseSS,
- activateSS,
- deactivateSS,
- interrogateSS,
- processUnstructuredSS-Request,
- unstructuredSS-Request,
- unstructuredSS-Notify,
- registerPassword,
- getPassword,
- ss-InvocationNotification,
- registerCC-Entry,
- eraseCC-Entry
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- unknownSubscriber,
- bearerServiceNotProvisioned,
- teleserviceNotProvisioned,
- callBarred,
- illegalSS-Operation,
- ss-ErrorStatus,
- ss-NotAvailable,
- ss-SubscriptionViolation,
- ss-Incompatibility,
- pw-RegistrationFailure,
- negativePW-Check,
- numberOfPW-AttemptsViolation,
- unknownAlphabet,
- ussd-Busy,
- absentSubscriber,
- illegalSubscriber,
- illegalEquipment,
- shortTermDenial,
- longTermDenial,
- facilityNotSupported
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- RegisterSS-Arg,
- SS-Info,
- SS-ForBS-Code,
- InterrogateSS-Res,
- USSD-Arg,
- USSD-Res,
- Password,
- GuidanceInfo,
- SS-InvocationNotificationArg,
- SS-InvocationNotificationRes,
- RegisterCC-EntryArg,
- RegisterCC-EntryRes,
- EraseCC-EntryArg,
- EraseCC-EntryRes
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
- SS-Code
-FROM MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-;
-
-
--- supplementary service handling operations
-
-registerSS OPERATION ::= { --Timer m
- ARGUMENT
- RegisterSS-Arg
- RESULT
- SS-Info
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus |
- ss-Incompatibility}
- CODE local:10 }
-
-eraseSS OPERATION ::= { --Timer m
- ARGUMENT
- SS-ForBS-Code
- RESULT
- SS-Info
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus
- }
- CODE local:11 }
-
-activateSS OPERATION ::= { --Timer m
- ARGUMENT
- SS-ForBS-Code
- RESULT
- SS-Info
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus |
- ss-SubscriptionViolation |
- ss-Incompatibility |
- negativePW-Check |
- numberOfPW-AttemptsViolation}
- CODE local:12 }
-
-deactivateSS OPERATION ::= { --Timer m
- ARGUMENT
- SS-ForBS-Code
- RESULT
- SS-Info
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus |
- ss-SubscriptionViolation |
- negativePW-Check |
- numberOfPW-AttemptsViolation}
- CODE local:13 }
-
-interrogateSS OPERATION ::= { --Timer m
- ARGUMENT
- SS-ForBS-Code
- RESULT
- InterrogateSS-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-NotAvailable}
- CODE local:14 }
-
-processUnstructuredSS-Request OPERATION ::= { --Timer 10 minutes
- ARGUMENT
- USSD-Arg
- RESULT
- USSD-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownAlphabet |
- callBarred}
- CODE local:59 }
-
-unstructuredSS-Request OPERATION ::= { --Timer ml
- ARGUMENT
- USSD-Arg
- RESULT
- USSD-Res
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- absentSubscriber |
- illegalSubscriber |
- illegalEquipment |
- unknownAlphabet |
- ussd-Busy}
- CODE local:60 }
-
-unstructuredSS-Notify OPERATION ::= { --Timer ml
- ARGUMENT
- USSD-Arg
- RETURN RESULT TRUE
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- absentSubscriber |
- illegalSubscriber |
- illegalEquipment |
- unknownAlphabet |
- ussd-Busy}
- CODE local:61 }
-
-registerPassword OPERATION ::= { --Timer ml
- ARGUMENT
- SS-Code
- RESULT
- Password
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- callBarred |
- ss-SubscriptionViolation |
- pw-RegistrationFailure |
- negativePW-Check |
- numberOfPW-AttemptsViolation}
- LINKED {
- getPassword}
- CODE local:17 }
-
-getPassword OPERATION ::= { --Timer m
- ARGUMENT
- GuidanceInfo
- RESULT
- Password
- CODE local:18 }
-
-ss-InvocationNotification OPERATION ::= { --Timer m
- ARGUMENT
- SS-InvocationNotificationArg
- RESULT
- SS-InvocationNotificationRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:72 }
-
-registerCC-Entry OPERATION ::= { --Timer m
- ARGUMENT
- RegisterCC-EntryArg
- RESULT
- RegisterCC-EntryRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus |
- ss-Incompatibility |
- shortTermDenial |
- longTermDenial |
- facilityNotSupported}
- CODE local:76 }
-
-eraseCC-Entry OPERATION ::= { --Timer m
- ARGUMENT
- EraseCC-EntryArg
- RESULT
- EraseCC-EntryRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus}
- CODE local:77 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-TS-Code.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-TS-Code.asn
deleted file mode 100644
index eface38b31..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MAP-TS-Code.asn
+++ /dev/null
@@ -1,87 +0,0 @@
-MAP-TS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-TeleserviceCode ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- teleservice, a group of teleservices, or all teleservices. The
- -- services are defined in TS GSM 22.003 [4].
- -- The internal structure is defined as follows:
-
- -- bits 87654321: group (bits 8765) and specific service
- -- (bits 4321)
-
-Ext-TeleserviceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- teleservice, a group of teleservices, or all teleservices. The
- -- services are defined in TS GSM 22.003 [4].
- -- The internal structure is defined as follows:
-
- -- OCTET 1:
- -- bits 87654321: group (bits 8765) and specific service
- -- (bits 4321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
- -- Ext-TeleserviceCode includes all values defined for TeleserviceCode.
-
-allTeleservices TeleserviceCode ::= '00000000'B
-
-allSpeechTransmissionServices TeleserviceCode ::= '00010000'B
-telephony TeleserviceCode ::= '00010001'B
-emergencyCalls TeleserviceCode ::= '00010010'B
-
-allShortMessageServices TeleserviceCode ::= '00100000'B
-shortMessageMT-PP TeleserviceCode ::= '00100001'B
-shortMessageMO-PP TeleserviceCode ::= '00100010'B
-
-allFacsimileTransmissionServices TeleserviceCode ::= '01100000'B
-facsimileGroup3AndAlterSpeech TeleserviceCode ::= '01100001'B
-automaticFacsimileGroup3 TeleserviceCode ::= '01100010'B
-facsimileGroup4 TeleserviceCode ::= '01100011'B
-
--- The following non-hierarchical Compound Teleservice Groups
--- are defined in TS 3GPP TS 22.030:
-allDataTeleservices TeleserviceCode ::= '01110000'B
- -- covers Teleservice Groups 'allFacsimileTransmissionServices'
- -- and 'allShortMessageServices'
-allTeleservices-ExeptSMS TeleserviceCode ::= '10000000'B
- -- covers Teleservice Groups 'allSpeechTransmissionServices' and
- -- 'allFacsimileTransmissionServices'
---
--- Compound Teleservice Group Codes are only used in call
--- independent supplementary service operations, i.e. they
--- are not used in InsertSubscriberData or in
--- DeleteSubscriberData messages.
-
-allVoiceGroupCallServices TeleserviceCode ::= '10010000'B
-voiceGroupCall TeleserviceCode ::= '10010001'B
-voiceBroadcastCall TeleserviceCode ::= '10010010'B
-
-allPLMN-specificTS TeleserviceCode ::= '11010000'B
-plmn-specificTS-1 TeleserviceCode ::= '11010001'B
-plmn-specificTS-2 TeleserviceCode ::= '11010010'B
-plmn-specificTS-3 TeleserviceCode ::= '11010011'B
-plmn-specificTS-4 TeleserviceCode ::= '11010100'B
-plmn-specificTS-5 TeleserviceCode ::= '11010101'B
-plmn-specificTS-6 TeleserviceCode ::= '11010110'B
-plmn-specificTS-7 TeleserviceCode ::= '11010111'B
-plmn-specificTS-8 TeleserviceCode ::= '11011000'B
-plmn-specificTS-9 TeleserviceCode ::= '11011001'B
-plmn-specificTS-A TeleserviceCode ::= '11011010'B
-plmn-specificTS-B TeleserviceCode ::= '11011011'B
-plmn-specificTS-C TeleserviceCode ::= '11011100'B
-plmn-specificTS-D TeleserviceCode ::= '11011101'B
-plmn-specificTS-E TeleserviceCode ::= '11011110'B
-plmn-specificTS-F TeleserviceCode ::= '11011111'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MobileDomainDefinitions.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MobileDomainDefinitions.asn
deleted file mode 100644
index 30e7143882..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/MobileDomainDefinitions.asn
+++ /dev/null
@@ -1,38 +0,0 @@
-MobileDomainDefinitions {itu-t (0) identified-organization (4) etsi (0)
- mobileDomain (0) mobileDomainDefinitions (0) version1 (1)}
-
-DEFINITIONS ::=
-
-BEGIN
-
--- Mobile DomainId
-mobileDomainId OBJECT IDENTIFIER ::=
- {itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)}
-
--- Mobile Subdomains
-gsm-NetworkId OBJECT IDENTIFIER ::=
- {mobileDomainId gsm-Network (1)}
-
-gsm-AccessId OBJECT IDENTIFIER ::=
- {mobileDomainId gsm-Access (2)}
-
-gsm-OperationAndMaintenanceId OBJECT IDENTIFIER ::=
- {mobileDomainId gsm-Operation-Maintenance (3)}
-
-gsm-MessagingId OBJECT IDENTIFIER ::=
- {mobileDomainId gsm-Messaging (4)}
-
--- Common Component Ids for structuring Mobile Subdomains
-CommonComponentId ::= INTEGER (0..9)
-
-ac-Id CommonComponentId ::= 0
-
-as-Id CommonComponentId ::= 1
-
-ase-Id CommonComponentId ::= 2
-
-moduleId CommonComponentId ::= 3
-
-er-Id CommonComponentId ::= 4
-
-END -- MobileDomainDefinitions \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Generic-ROS-PDUs.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Generic-ROS-PDUs.asn
deleted file mode 100644
index d4d2eecea1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Generic-ROS-PDUs.asn
+++ /dev/null
@@ -1,167 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
-Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4)
- generic-ROS-PDUs(6) version1(0)}
-
-DEFINITIONS IMPLICIT TAGS
-
-::=
-
-BEGIN
-
--- exports everything
-IMPORTS
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::=
- CHOICE {
- invoke [1] Invoke{{InvokeIdSet}, {Invokable}},
- returnResult [2] ReturnResult{{Returnable}},
- returnError [3] ReturnError{{Errors {{Returnable}}}},
- reject [4] Reject
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-unrecognizedPDU)
-
-Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
- invokeId
- InvokeId(InvokeIdSet)
- (CONSTRAINED BY { -- must be unambiguous --} !
- RejectProblem:invoke-duplicateInvocation),
- linkedId
- CHOICE {present [0] IMPLICIT present < InvokeId,
- absent [1] IMPLICIT NULL
- }
- (CONSTRAINED BY { -- must identify an outstanding operation --} !
- RejectProblem:invoke-unrecognizedLinkedId)
- (CONSTRAINED BY { -- which has one or more linked operations--} !
- RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
- opcode
- OPERATION.&operationCode
- ({Operations} !RejectProblem:invoke-unrecognizedOperation),
- argument
- OPERATION.&ArgumentType
- ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-(WITH COMPONENTS {
- ...,
- linkedId ABSENT
- } |
- WITH COMPONENTS {
- ...,
- linkedId PRESENT,
- opcode (CONSTRAINED BY { -- must be in the &Linked field of the associated operation --
- } !RejectProblem:invoke-unexpectedLinkedOperation)
- })
-
--- continued on the next page
-ReturnResult{OPERATION:Operations} ::= SEQUENCE {
- invokeId
- InvokeId
- (CONSTRAINED BY { -- must be that for an outstanding operation --} !
- RejectProblem:returnResult-unrecognizedInvocation)
- (CONSTRAINED BY { -- which returns a result --} !
- RejectProblem:returnResult-resultResponseUnexpected),
- result
- SEQUENCE {opcode
- OPERATION.&operationCode({Operations})
- (CONSTRAINED BY { -- identified by invokeId --} !
- RejectProblem:returnResult-unrecognizedInvocation),
- result
- OPERATION.&ResultType
- ({Operations}{@.opcode} !
- RejectProblem:returnResult-mistypedResult)} OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-ReturnError{ERROR:Errors} ::= SEQUENCE {
- invokeId
- InvokeId
- (CONSTRAINED BY { -- must be that for an outstanding operation --} !
- RejectProblem:returnError-unrecognizedInvocation)
- (CONSTRAINED BY { -- which returns an error --} !
- RejectProblem:returnError-errorResponseUnexpected),
- errcode
- ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
- (CONSTRAINED BY { -- must be in the &Errors field of the associated operation --
- } !RejectProblem:returnError-unexpectedError),
- parameter
- ERROR.&ParameterType
- ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
- OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-Reject ::= SEQUENCE {
- invokeId InvokeId,
- problem
- CHOICE {general [0] GeneralProblem,
- invoke [1] InvokeProblem,
- returnResult [2] ReturnResultProblem,
- returnError [3] ReturnErrorProblem}
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-GeneralProblem ::= INTEGER {
- unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)}
-
--- continued on the next page
-InvokeProblem ::= INTEGER {
- duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
- resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
- linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
-
-ReturnResultProblem ::= INTEGER {
- unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
-}
-
-ReturnErrorProblem ::= INTEGER {
- unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
- unexpectedError(3), mistypedParameter(4)}
-
-RejectProblem ::= INTEGER {
- general-unrecognizedPDU(0), general-mistypedPDU(1),
- general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
- invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
- invoke-resourceLimitation(13), invoke-releaseInProgress(14),
- invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
- invoke-unexpectedLinkedOperation(17),
- returnResult-unrecognizedInvocation(20),
- returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
- returnError-unrecognizedInvocation(30),
- returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
- returnError-unexpectedError(33), returnError-mistypedParameter(34)}
-
-InvokeId ::= CHOICE {present INTEGER,
- absent NULL
-}
-
-noInvokeId InvokeId ::= absent:NULL
-
-NoInvokeId InvokeId ::= {noInvokeId}
-
-Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
-
--- continued on the next page
-Bind{OPERATION:operation} ::= CHOICE {
- bind-invoke [16] OPERATION.&ArgumentType({operation}),
- bind-result [17] OPERATION.&ResultType({operation}),
- bind-error [18] OPERATION.&Errors.&ParameterType({operation})
-}
-
-Unbind{OPERATION:operation} ::= CHOICE {
- unbind-invoke [19] OPERATION.&ArgumentType({operation}),
- unbind-result [20] OPERATION.&ResultType({operation}),
- unbind-error [21] OPERATION.&Errors.&ParameterType({operation})
-}
-
-END -- end of generic ROS PDU definitions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Information-Objects.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Information-Objects.asn
deleted file mode 100644
index 74be149bb0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Information-Objects.asn
+++ /dev/null
@@ -1,127 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
-Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
--- exports everything
-IMPORTS
- emptyBind, emptyUnbind
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)};
-
-OPERATION ::= CLASS {
- &ArgumentType OPTIONAL,
- &argumentTypeOptional BOOLEAN OPTIONAL,
- &returnResult BOOLEAN DEFAULT TRUE,
- &ResultType OPTIONAL,
- &resultTypeOptional BOOLEAN OPTIONAL,
- &Errors ERROR OPTIONAL,
- &Linked OPERATION OPTIONAL,
- &synchronous BOOLEAN DEFAULT FALSE,
- &alwaysReturns BOOLEAN DEFAULT TRUE,
- &InvokePriority Priority OPTIONAL,
- &ResultPriority Priority OPTIONAL,
- &operationCode Code UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [ARGUMENT &ArgumentType
- [OPTIONAL &argumentTypeOptional]]
- [RESULT &ResultType
- [OPTIONAL &resultTypeOptional]]
- [RETURN RESULT &returnResult]
- [ERRORS &Errors]
- [LINKED &Linked]
- [SYNCHRONOUS &synchronous]
- [ALWAYS RESPONDS &alwaysReturns]
- [INVOKE PRIORITY &InvokePriority]
- [RESULT-PRIORITY &ResultPriority]
- [CODE &operationCode]
-}
-
-ERROR ::= CLASS {
- &ParameterType OPTIONAL,
- &parameterTypeOptional BOOLEAN OPTIONAL,
- &ErrorPriority Priority OPTIONAL,
- &errorCode Code UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [PARAMETER &ParameterType
- [OPTIONAL &parameterTypeOptional]]
- [PRIORITY &ErrorPriority]
- [CODE &errorCode]
-}
-
-OPERATION-PACKAGE ::= CLASS {
- &Both OPERATION OPTIONAL,
- &Consumer OPERATION OPTIONAL,
- &Supplier OPERATION OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
--- continued on the next page
-WITH SYNTAX {
- [OPERATIONS &Both]
- [CONSUMER INVOKES &Supplier]
- [SUPPLIER INVOKES &Consumer]
- [ID &id]
-}
-
-CONNECTION-PACKAGE ::= CLASS {
- &bind OPERATION DEFAULT emptyBind,
- &unbind OPERATION DEFAULT emptyUnbind,
- &responderCanUnbind BOOLEAN DEFAULT FALSE,
- &unbindCanFail BOOLEAN DEFAULT FALSE,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [BIND &bind]
- [UNBIND &unbind]
- [RESPONDER UNBIND &responderCanUnbind]
- [FAILURE TO UNBIND &unbindCanFail]
- [ID &id]
-}
-
-CONTRACT ::= CLASS {
- &connection CONNECTION-PACKAGE OPTIONAL,
- &OperationsOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [CONNECTION &connection]
- [OPERATIONS OF &OperationsOf]
- [INITIATOR CONSUMER OF &InitiatorConsumerOf]
- [RESPONDER CONSUMER OF &InitiatorSupplierOf]
- [ID &id]
-}
-
-ROS-OBJECT-CLASS ::= CLASS {
- &Is ROS-OBJECT-CLASS OPTIONAL,
- &Initiates CONTRACT OPTIONAL,
- &Responds CONTRACT OPTIONAL,
- &InitiatesAndResponds CONTRACT OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [IS &Is]
- [BOTH &InitiatesAndResponds]
- [INITIATES &Initiates]
- [RESPONDS &Responds]
- ID &id
-}
-
-Code ::= CHOICE {local INTEGER,
- global OBJECT IDENTIFIER
-}
-
-Priority ::= INTEGER(0..MAX)
-
-END -- end of Information Object specifications
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Useful-Definitions.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Useful-Definitions.asn
deleted file mode 100644
index 714b96b5c3..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/Remote-Operations-Useful-Definitions.asn
+++ /dev/null
@@ -1,99 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
-Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4)
- useful-definitions(7) version1(0)}
-
-DEFINITIONS IMPLICIT TAGS
-
-::=
-
-BEGIN
-
--- exports everything
-IMPORTS
- OPERATION, ERROR, OPERATION-PACKAGE, Code
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- InvokeId, ROS{}
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)};
-
-emptyBind OPERATION ::= {ERRORS {refuse}
- SYNCHRONOUS TRUE
-}
-
-emptyUnbind OPERATION ::= {SYNCHRONOUS TRUE
-}
-
-refuse ERROR ::= {CODE local:-1
-}
-
-no-op OPERATION ::= {ALWAYS RESPONDS FALSE
- CODE local:-1
-}
-
-Forward{OPERATION:OperationSet} OPERATION ::=
- {OperationSet | OperationSet.&Linked.&Linked |
- OperationSet.&Linked.&Linked.&Linked.&Linked}
-
-Reverse{OPERATION:OperationSet} OPERATION ::= {Forward{{OperationSet.&Linked}}}
-
-ConsumerPerforms{OPERATION-PACKAGE:package} OPERATION ::=
- {Forward{{package.&Consumer}} | Forward{{package.&Both}} |
- Reverse{{package.&Supplier}} | Reverse{{package.&Both}}}
-
-SupplierPerforms{OPERATION-PACKAGE:package} OPERATION ::=
- {Forward{{package.&Supplier}} | Forward{{package.&Both}} |
- Reverse{{package.&Consumer}} | Reverse{{package.&Both}}}
-
-AllOperations{OPERATION-PACKAGE:package} OPERATION ::=
- {ConsumerPerforms{package} | SupplierPerforms{package}}
-
--- continued on the next page
-recode{OPERATION:operation, Code:code} OPERATION ::= {
- ARGUMENT operation.&ArgumentType
- OPTIONAL operation.&argumentTypeOptional
- RESULT operation.&ResultType
- OPTIONAL operation.&resultTypeOptional
- RETURN RESULT operation.&returnResult
- ERRORS {operation.&Errors}
- LINKED {operation.&Linked}
- SYNCHRONOUS operation.&synchronous
- ALWAYS RESPONDS operation.&alwaysReturns
- INVOKE PRIORITY {operation.&InvokePriority}
- RESULT-PRIORITY {operation.&ResultPriority}
- CODE code
-}
-
-switch{OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
-{
- OPERATIONS {package.&Both}
- CONSUMER INVOKES {package.&Consumer}
- SUPPLIER INVOKES {package.&Supplier}
- ID id
-}
-
-combine{OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies,
- OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= {
- OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
- CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
- SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
- ID base.&id
-}
-
-ROS-SingleAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS{{InvokeIdSet}, {AllOperations {package}}, {AllOperations {package}}}
-
-ROS-ConsumerAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS
- {{InvokeIdSet}, {ConsumerPerforms {package}},
- {SupplierPerforms {package}}}
-
-ROS-SupplierAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS
- {{InvokeIdSet}, {SupplierPerforms {package}},
- {ConsumerPerforms {package}}}
-
-END -- end of useful definitions.
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TC-Notation-Extensions.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TC-Notation-Extensions.asn
deleted file mode 100644
index 89bfd105ef..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TC-Notation-Extensions.asn
+++ /dev/null
@@ -1,87 +0,0 @@
--- Module TC-Notation-Extensions (Q.775:06/1997)
-
-TC-Notation-Extensions {itu-t recommendation q 775 modules(2)
- notation-extension(4) version1(1)} DEFINITIONS ::=
-BEGIN
-
-IMPORTS
- TCMessage{}
- FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1)
- version3(3)}
- Bind{}, Unbind{}
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- AllOperations{}, ConsumerPerforms{}, SupplierPerforms{}, combine{}
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- CONTRACT, OPERATION-PACKAGE
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- UniDialoguePDU, uniDialogue-as-id
- FROM UnidialoguePDUs {itu-t recommendation q 773 modules(2)
- unidialoguePDUs(3) version1(1)}
- DialoguePDU, dialogue-as-id
- FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2)
- version1(1)};
-
-APPLICATION-CONTEXT ::= CLASS {
- &associationContract CONTRACT,
- &dialogueMode DialogueMode,
- &termination Termination OPTIONAL,
- &componentGrouping BOOLEAN DEFAULT TRUE,
- &dialogueAndComponentGrouping BOOLEAN DEFAULT TRUE,
- &AdditionalASEs OBJECT IDENTIFIER OPTIONAL,
- &AbstractSyntaxes ABSTRACT-SYNTAX,
- &applicationContextName OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- CONTRACT &associationContract
- DIALOGUE MODE &dialogueMode
- [TERMINATION &termination]
- [COMPONENT GROUPING ALLOWED &componentGrouping]
- [DIALOGUE WITH COMPONENTS ALLOWED &dialogueAndComponentGrouping]
- [ADDITIONAL ASES &AdditionalASEs]
- ABSTRACT SYNTAXES &AbstractSyntaxes
- APPLICATION CONTEXT NAME &applicationContextName
-}
-
-DialogueMode ::= ENUMERATED {structured(1), unstructured(2)}
-
-Termination ::= ENUMERATED {basic(1), prearranged(2)}
-
-dialogue-abstract-syntax ABSTRACT-SYNTAX ::= {
- DialoguePDU
- IDENTIFIED BY dialogue-as-id
-}
-
-uniDialogue-abstract-syntax ABSTRACT-SYNTAX ::= {
- UniDialoguePDU
- IDENTIFIED BY uniDialogue-as-id
-}
-
-TCSingleAS{OPERATION-PACKAGE:package} ::=
- TCMessage{{AllOperations {package}}, {AllOperations {package}}}
-
-TCConsumerAS{OPERATION-PACKAGE:package} ::=
- TCMessage{{ConsumerPerforms {package}}, {ConsumerPerforms {package}}}
-
-TCSupplierAS{OPERATION-PACKAGE:package} ::=
- TCMessage{{SupplierPerforms {package}}, {SupplierPerforms {package}}}
-
-AllPackagesAS{APPLICATION-CONTEXT:ac} ::=
- TCSingleAS
- {combine{{ac.&associationContract.&OperationsOf |
- ac.&associationContract.&InitiatorConsumerOf |
- ac.&associationContract.&InitiatorSupplierOf},
- {...}, --was illegaly empty, needs to be changed
- { -- Information Object of class OPERATION-PACKAGE to be defined --}}}
-
-ConnectionAS{APPLICATION-CONTEXT:ac} ::= CHOICE {
- bind Bind{ac.&associationContract.&connection.&bind},
- unbind Unbind{ac.&associationContract.&connection.&unbind}
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAP-Examples.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAP-Examples.asn
deleted file mode 100644
index 17667af920..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAP-Examples.asn
+++ /dev/null
@@ -1,72 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
-TCAP-Examples {itu-t recommendation q 775 modules(2) examples(2) version1(1)}
-DEFINITIONS ::=
-BEGIN
-
-IMPORTS
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-provideRoutingInformation OPERATION ::= {
- ARGUMENT RequestArgument
- RESULT RoutingInformation
- ERRORS
- {invalidCalledNumber | subscriberNotReachable | calledBarred |
- processingFailure}
- LINKED {getCallingPartyAddress}
-}
-
--- timer T-pi = 10 s
-getCallingPartyAddress OPERATION ::= {
- RESULT CallingPartyAddress
- ERRORS {callingPartyAddressNotAvailable | processingFailure}
-}
-
--- timer T-gp = 5 s
-invalidCalledNumber ERROR ::= {CODE local:1
-}
-
-subscriberNotReachable ERROR ::= {CODE local:2
-}
-
-calledBarred ERROR ::= {CODE local:3
-}
-
-callingPartyAddressNotAvailable ERROR ::= {CODE local:4
-}
-
-processingFailure ERROR ::= {CODE local:5
-}
-
--- data types
-RequestArgument ::= SEQUENCE {
- calledNumber IsdnNumber,
- basicService BasicServiceIndicator OPTIONAL
-}
-
-RoutingInformation ::= CHOICE {
- reroutingNumber [0] IMPLICIT IsdnNumber,
- forwardedToNumber [1] IMPLICIT IsdnNumber
-}
-
-BasicServiceIndicator ::= ENUMERATED {speech(0), unrestrictedDigital(1)}
-
-CallingPartyAddress ::= IsdnNumber
-
-IsdnNumber ::= SEQUENCE {
- typeOfAddress TypeOfAddress,
- digits TelephonyString
-}
-
-TypeOfAddress ::= ENUMERATED {national(0), international(1), private(2)}
-
-TelephonyString ::=
- IA5String
- (FROM ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "*" |
- "#"))(SIZE (1..15))
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAP-Tools.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAP-Tools.asn
deleted file mode 100644
index 09ea9d936f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAP-Tools.asn
+++ /dev/null
@@ -1,47 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
-TCAP-Tools {itu-t recommendation q 775 modules(2) tools(1) version1(1)}
-DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- cancel,
- cancelFailed,
- cancelled
-;
-
-IMPORTS
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
-
- TCInvokeIdSet
- FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1)
- version3(3)}
-;
-
-cancel OPERATION ::= {
- ARGUMENT present < TCInvokeIdSet
- -- a TC-user may redefine this type to include
- -- an empty result so that it becomes a Class 1 operation
- ERRORS {cancelFailed}
-}
-
--- timer = 15 s
-cancelFailed ERROR ::= {
- PARAMETER
- SET {problem [0] CancelProblem,
- invokeId [1] present < TCInvokeIdSet}
-}
-
-CancelProblem ::= ENUMERATED {
- unknownInvocation(0), tooLate(1), notCancellable(2)}
-
--- a TC-user may redefine this type to include application-specific problems
-cancelled ERROR ::=
- {}
-
--- an error of this type should be included in the error list of cancellable operations
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAPMessages.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAPMessages.asn
deleted file mode 100644
index 906cac23c8..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/TCAPMessages.asn
+++ /dev/null
@@ -1,149 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
--- Module TCAPMessages (Q.773:06/1997)
--- asn1ct:compile("TCAPMessages",[ber_bin]).
-TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
-
-DEFINITIONS IMPLICIT TAGS
-
-::=
-
-BEGIN
-
--- EXPORTS everything
--- Transaction Portion fields.
-IMPORTS
- ROS{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- Supported-MAP-Operations
- FROM MAP-Protocol {itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Protocol (4) version9 (9)}
--- Start - Added by Eranga
- dialogue-as-id
- FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2)
- version1(1)}
- sendRoutingInfoForSM,
- mo-ForwardSM,
- mt-ForwardSM,
- reportSM-DeliveryStatus,
- alertServiceCentre,
- informServiceCentre,
- readyForSM
- FROM MAP-ShortMessageServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9)
- version9 (9)}
- gsm-MessagingId
- FROM MobileDomainDefinitions {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- mobileDomainDefinitions (0) version1 (1)}
- Supported-MAP-Operations
- FROM MAP-Protocol {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Protocol (4) version9 (9)}
--- End - Added by Eranga
-;
-
--- Start - Added by Eranga
-
-mapSpecificAS ABSTRACT-SYNTAX ::= {
- MapSpecificPDUs
- IDENTIFIED BY gsm-MessagingId
-}
-
-MapSpecificPDUs ::=
- TCMessage{{MAPOperations-Invokable}, {MAPOperations-Returnable}}
-
-
-MAPOperations-Invokable OPERATION ::=
- {sendRoutingInfoForSM | mo-ForwardSM | mt-ForwardSM}
-MAPOperations-Returnable OPERATION ::=
- {reportSM-DeliveryStatus | alertServiceCentre | informServiceCentre | readyForSM}
-
--- End - Added by Eranga
-
-
-TCMessage{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
- unidirectional [APPLICATION 1] Unidirectional{{Invokable}, {Returnable}},
- begin [APPLICATION 2] Begin{{Invokable}, {Returnable}},
- end [APPLICATION 4] End{{Invokable}, {Returnable}},
- continue [APPLICATION 5] Continue{{Invokable}, {Returnable}},
- abort [APPLICATION 7] Abort
-}
-
-Unidirectional{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}}
-}
-
-Begin{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- otid OrigTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-End{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-Continue{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- otid OrigTransactionID,
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-Abort ::= SEQUENCE {
- dtid DestTransactionID,
- reason CHOICE {p-abortCause P-AbortCause,
- u-abortCause DialoguePortion} OPTIONAL
-}
-
--- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be
--- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT
--- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
--- abstract syntax.
-DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL
-
--- The dialogue portion carries the dialogue control PDUs as value of the external data type. The direct
--- reference should be set to {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} if structured
--- dialogue is used and to {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} if unstructured
--- dialogue is used.
-OrigTransactionID ::= [APPLICATION 8] OCTET STRING(SIZE (1..4))
-
-DestTransactionID ::= [APPLICATION 9] OCTET STRING(SIZE (1..4))
-
-P-AbortCause ::= [APPLICATION 10] INTEGER {
- unrecognizedMessageType(0), unrecognizedTransactionID(1),
- badlyFormattedTransactionPortion(2), incorrectTransactionPortion(3),
- resourceLimitation(4)}(0..127)
-
--- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the
--- component portion. The component portion may be absent.
-ComponentPortion{OPERATION:Invokable, OPERATION:Returnable} ::=
- [APPLICATION 12]
- SEQUENCE SIZE (1..MAX) OF Component{{Invokable}, {Returnable}}
-
--- Component Portion fields
--- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking
--- operations, returning results or error, and for the rejection of invalid PDUs.
--- TCAP adds returnResultNotLast to allow for the segmentation of a result.
-Component{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
- basicROS ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}},
- returnResultNotLast
- [7] returnResult < ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}}
-}
-
-TCInvokeIdSet ::= InvokeId(WITH COMPONENTS {
- present (-128..127)
- })
-
-END -- TCAPMessages
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/UnidialoguePDUs.asn b/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/UnidialoguePDUs.asn
deleted file mode 100644
index 4244cc8e65..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/tcapsystem/UnidialoguePDUs.asn
+++ /dev/null
@@ -1,26 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
--- Module UnidialoguePDUs (Q.773:06/1997)
-UnidialoguePDUs {itu-t recommendation q 773 modules(2) unidialoguePDUs(3)
- version1(1)} DEFINITIONS ::=
-BEGIN
-
-EXPORTS uniDialogue-as-id, UniDialoguePDU;
-
--- Abstract syntax name for unstructured dialogue APDUs
-uniDialogue-as-id OBJECT IDENTIFIER ::=
- {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)}
-
-UniDialoguePDU ::= CHOICE {unidialoguePDU AUDT-apdu
-}
-
-AUDT-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
- protocol-version
- [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
- application-context-name [1] OBJECT IDENTIFIER,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-END -- UNIDialoguePDU
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/test_records.erl b/lib/asn1/test/asn1_bin_SUITE_data/test_records.erl
deleted file mode 100644
index b2c9797fdc..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/test_records.erl
+++ /dev/null
@@ -1,87 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%
-
--module(test_records).
-
--export(['check_record_names_OTP-5812'/1]).
-
-%-include("test_server.hrl").
-%-include_lib("test_server/include/test_server.hrl").
-
--define(line,put(test_server_loc,{?MODULE,?LINE}),).
-
--include("NBAP-PDU-Discriptions.hrl").
--include("NBAP-PDU-Contents.hrl").
--include("NBAP-Containers.hrl").
--include("NBAP-CommonDataTypes.hrl").
--include("NBAP-IEs.hrl").
-
-
-
-
-'check_record_names_OTP-5812'(Msg) ->
- io:format("Msg: ~n~p~n",[Msg]),
- check_record_names(Msg).
-
-check_record_names({initiatingMessage,
- #'InitiatingMessage'{procedureID = ProcedureID,
- criticality = _Criticality,
- messageDiscriminator = _MessageDisc,
- transactionID = _TransactionID,
- value = Value}}) ->
-
- ?line ok = check_record_ProcedureID(ProcedureID),
- ?line ok = check_record_Value(Value).
-
-check_record_ProcedureID(#'ProcedureID'{}) ->
- ok;
-check_record_ProcedureID(_) -> false.
-
-check_record_Value(#'ResourceStatusIndication'{protocolIEs = ProtocolIEs}) ->
- ?line ok = check_record_ProtocolIEs(ProtocolIEs);
-check_record_Value(_) -> false.
-
-check_record_ProtocolIEs([#'ProtocolIE-Field'{value =IndicationType}|_]) ->
- ?line ok = check_record_NFResourceStatusInd(IndicationType);
-check_record_ProtocolIEs(_) -> false.
-
-check_record_NFResourceStatusInd({'no-Failure',#'No-Failure-ResourceStatusInd'{'local-Cell-InformationList'=[LCIPF]}}) ->
- 'check_record_NFResourceStatusInd_ProtocolIE-Field'(LCIPF);
-check_record_NFResourceStatusInd(_) -> false.
-
-'check_record_NFResourceStatusInd_ProtocolIE-Field'(#'ProtocolIE-Field'{value=LCI}) ->
- ?line ok = check_record_LCInfoResourceStatusInd(LCI);
-'check_record_NFResourceStatusInd_ProtocolIE-Field'(_) -> false.
-
-check_record_LCInfoResourceStatusInd(#'Local-Cell-InformationItem-ResourceStatusInd'{commonChannelsCapacityConsumptionLaw=[CCCCL],dedicatedChannelsCapacityConsumptionLaw=[DCCCL],'iE-Extensions' = [LCIRE]}) ->
- ?line ok = check_record_CCCCL(CCCCL),
- ?line ok = check_record_DCCCL(DCCCL),
- ?line ok = check_record_LCIRE(LCIRE).
-
-check_record_CCCCL(#'CommonChannelsCapacityConsumptionLaw_SEQOF'{}) ->
- ok;
-check_record_CCCCL(_) -> false.
-
-check_record_DCCCL(#'DedicatedChannelsCapacityConsumptionLaw_SEQOF'{}) ->
- ok;
-check_record_DCCCL(_) -> false.
-check_record_LCIRE(#'ProtocolExtensionField'{}) ->
- ok;
-check_record_LCIRE(_) -> false.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/testobj.erl b/lib/asn1/test/asn1_bin_SUITE_data/testobj.erl
deleted file mode 100644
index be7ceee7d1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/testobj.erl
+++ /dev/null
@@ -1,1443 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%
--module(testobj).
-
--include("RANAP.hrl").
-
--compile(export_all).
-
--define(ranap, 'RANAP').
-
-
-%% These are possible Reason-values for sccp_disconnect_req in RANPM
-%%
-%% 0,0,0,0,0,1,0,0, % Message-type
-%% 0,0,0,0,0,0,0,0, % Dest local ref (dummy) - 3 octets
-%% 0,0,0,0,0,0,0,0,
-%% 0,0,0,0,0,0,0,1,
-%% 0,0,0,0,0,0,0,0, % Source local ref (dummy) - 3 octets
-%% 0,0,0,0,0,0,0,0,
-%% 0,0,0,0,0,0,1,0,
-
-run() ->
- ok = run_com_id(),
- ok = run_dir_tsf_2cn(),
- ok = run_dir_tsf_2rnc(),
- ok = run_init_ue(),
- ok = run_iu_rel_cmd(),
- ok = run_iu_rel_cmp(),
- ok = run_rab_ass_rsp_delete(),
- ok = run_rab_ass_rsp_setup(),
- ok = run_rab_create(),
- ok = run_rab_rel(),
- ok = run_reset(),
- ok = run_reset_res(),
- ok = run_sm_cmd(),
- ok = run_sm_cmp(),
- ok = run_sm_rej().
-
-
-ranap_pdu_contents(Enc,Type) ->
- {initiatingMessage, #'InitiatingMessage'{
- procedureCode = Type,
- criticality = ignore, %{'Criticality', ignore}, %XXX
- value = Enc
- }}.
-
-ranap_pdu_contents_outcome(Enc,Type) ->
- {outcome, #'Outcome'{
- procedureCode = Type,
- criticality = ignore,%XXX
- value = Enc
- }}.
-
-ranap_pdu_contents_suc(Enc,Type) ->
- {successfulOutcome, #'SuccessfulOutcome'{
- procedureCode = Type,
- criticality = ignore,%XXX
- value = Enc
- }}.
-
-ranap_pdu_contents_unsuc(Enc,Type) ->
- {unsuccessfulOutcome, #'UnsuccessfulOutcome'{
- procedureCode = Type,
- criticality = ignore,%XXX
- value = Enc
- }}.
-
-
-
-run_rab_rel() ->
- RAS = rab_release_request(),
- io:format("~w~n~n", [RAS]),
- RanapRAS = ranap_pdu_contents(RAS,0), % 0=Rab Assignment Procedure
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapRAS),
- EncRanapRAS = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapRAS]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapRAS),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'RAB-AssignmentRequest',[{_ProtIEField,_Code,_Crit,DecRel}],_ASN1novalue} ->
- io:format("~w~n~n", [DecRel])
- end,
- case DecRel of
- [[{_ProtIEField1,_Code1,_Crit1,DecRelList}]] ->
- io:format("~w~n~n", [DecRelList])
- end,
- ok.
-
-run_rab_create() ->
- RabID = [0,1,0,1,0,1,0,1],
- Teid = [0,13,83,211],
- SgsnIP = [0,0,0,0,1,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,1,0,0,0,0,1,0,1,0],
- RAS = rab_create_request(RabID, Teid, SgsnIP),
- io:format("~w~n~n", [RAS]),
- RanapRAS = ranap_pdu_contents(RAS,0), % 0=Rab Assignment Procedure
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapRAS),
- EncRanapRAS = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapRAS]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapRAS),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'RAB-AssignmentRequest',[{_ProtIEField,_Code,_Crit,DecSetOrMod}],_ASN1novalue} ->
- io:format("~w~n~n", [DecSetOrMod])
- end,
- case DecSetOrMod of
- [[{'ProtocolIE-FieldPair',_Code1,_Crit1,DecSetOrModFirst,_Crit2,DecSetOrModSecond}]] ->
- io:format("~w~n~n", [DecSetOrModFirst]),
- io:format("~w~n~n", [DecSetOrModSecond])
- end,
- ok.
-
-decode_initiating_ras(ProcedureCode,Crit,Val) ->
- case ProcedureCode of
- 0 -> % RAB-Assignment
- wrapper_decode(?ranap, 'RAB-AssignmentRequest',Val)
- end.
-
-
-run_rab_ass_rsp_setup() ->
- RAR = rab_assignment_response_setup(),
- io:format("~w~n~n", [RAR]),
- RanapRAR = ranap_pdu_contents_outcome(RAR,0), % 0=Rab Assignment Procedure
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapRAR),
- EncRanapRAR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapRAR]),
- {ok,{outcome,
- #'Outcome'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapRAR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'RAB-AssignmentResponse',[{_ProtIEField,52,_Crit,DecSetOrMod}], _ASN1novalue} ->
- io:format("Setup or Modified: ~w~n~n", [DecSetOrMod])
- end,
- case DecSetOrMod of
- [[{_ProtIEField1,51,_Crit1,DecSetOrModFirst}]] ->
- io:format("Setup or Modified: ~w~n~n", [DecSetOrModFirst])
- end,
- ok.
-
-run_rab_ass_rsp_delete() ->
- RAR = rab_assignment_response_delete(),
- io:format("~w~n~n", [RAR]),
- RanapRAR = ranap_pdu_contents_outcome(RAR,0), % 0=Rab Assignment Procedure
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapRAR),
- EncRanapRAR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapRAR]),
- {ok,{outcome,
- #'Outcome'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapRAR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'RAB-AssignmentResponse',[{_ProtIEField2,43,_Crit2,DecRelsd}], _ASN1novalue} ->
- io:format("Released: ~w~n~n", [DecRelsd])
- end,
- case DecRelsd of
- [[{_ProtIEField3,_Code3,_Crit3,DecRelsdItem}]] ->
- io:format("Released: ~w~n~n", [DecRelsdItem])
- end,
- ok.
-
-decode_initiating_rar(ProcedureCode,Crit,Val) ->
- case ProcedureCode of
- 0 -> % RAB-Assignment
- wrapper_decode(?ranap, 'RAB-AssignmentResponse',Val)
- end.
-
-
-
-run_init_ue() ->
- INI = initial_ue(),
- io:format("~w~n~n", [INI]),
- RanapINI = ranap_pdu_contents(INI, 19), % 19 = InitialUE-Message
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapINI),
- EncRanapINI = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapINI]),
-
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapINI),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'InitialUE-Message',[{_ProtIEField,Code,_Crit,DecCN},
- {_ProtIEField1,Code1,_Crit1,
- {_LAI,LaiPlmnid,LaiLac,_ASN1novalue}},
- {_ProtIEField2,Code2,_Crit2,DecRAC},
- {_ProtIEField3,Code3,_Crit3,
- {_SAI,SaiPlmnid,SaiLac,SaiSac,_ASN1novalue}},
- {_ProtIEField4,Code4,_Crit4,DecNASPDU},
- {_ProtIEField5,Code5,_Crit5,DecIUSCID},
- {_ProtIEField6,Code6,_Crit6,
- {_GRI,GlPlmnid,GlRNCID}}],_ASN1novalue} ->
- io:format("CN Dom Ind: ~w~n", [DecCN]),
- io:format("Code: ~w~n~n", [Code]),
- io:format("LaiPlmnid: ~w~n", [LaiPlmnid]),
- io:format("LaiLac: ~w~n", [LaiLac]),
- io:format("Code: ~w~n~n", [Code1]),
- io:format("RAC: ~w~n", [DecRAC]),
- io:format("Code: ~w~n~n", [Code2]),
- io:format("SaiPlmnid: ~w~n", [SaiPlmnid]),
- io:format("SaiLac: ~w~n", [SaiLac]),
- io:format("SaiSac: ~w~n", [SaiSac]),
- io:format("Code: ~w~n~n", [Code3]),
- io:format("NAS-PDU: ~w~n", [DecNASPDU]),
- io:format("Code: ~w~n~n", [Code4]),
- io:format("Iu Sign Con Id: ~w~n", [DecIUSCID]),
- io:format("Code: ~w~n~n", [Code5]),
- io:format("GlPlmnid: ~w~n", [GlPlmnid]),
- io:format("GlRNCID: ~w~n", [GlRNCID]),
- io:format("Code: ~w~n~n", [Code6])
- end,
- ok.
-
-% NasPdu = extract_ie({init_ue},'InitUE-MessageIEsNAS-PDU',ListsinLists),
-% io:format("Tebax~n~w~n~n", [NasPdu]),
-% ok.
-
-decode_initiating_ini(ProcedureCode,Crit,Val) ->
- case ProcedureCode of
- 19 -> % InitialUE-Message
- wrapper_decode(?ranap, 'InitialUE-Message',Val)
- end.
-
-
-run_dir_tsf_2cn() ->
- DIR = direct_transfer_cn(),
- io:format("~w~n~n", [DIR]),
- RanapDIR = ranap_pdu_contents(DIR, 20), % 20 = DirectTransfer
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapDIR),
- EncRanapDIR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapDIR]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapDIR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'DirectTransfer',
- [{_ProtIEField1,_Code1,_Crit1,DecNASPDU},
- {_ProtIEField2,_Code2,_Crit2,DecLAI},
- {_ProtIEField3,_Code3,_Crit3,DecRAC}],
- _ASN1novalue} ->
- io:format("NAS-PDU: ~w~n~n", [DecNASPDU]),
- io:format("LAI: ~w~n~n", [DecLAI]),
- io:format("RAC: ~w~n~n", [DecRAC])
- end,
- ok.
-
-run_dir_tsf_2rnc() ->
- DIR = direct_transfer_rnc(),
- io:format("~w~n~n", [DIR]),
- RanapDIR = ranap_pdu_contents(DIR, 20), % 20 = DirectTransfer
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapDIR),
- EncRanapDIR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapDIR]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapDIR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'DirectTransfer',
- [{_ProtIEField1,_Code1,_Crit1,DecNASPDU},
- {_ProtIEField2,_Code2,_Crit2,DecSAPI}],
- _ASN1novalue} ->
- io:format("NAS-PDU: ~w~n~n", [DecNASPDU]),
- io:format("SAPI: m~w~n~n", [DecSAPI])
- end,
- ok.
-
-decode_initiating_dir(ProcedureCode,Crit,Val) ->
- io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
- case ProcedureCode of
- 20 -> % DirectTransfer
- wrapper_decode(?ranap, 'DirectTransfer',Val)
- end.
-
-% List = tuple2list(Dec),
-% io:format("~w~n~n", [List]),
-% NasPdu = extract_ie({dir_trans},'DirTransIEs-NAS-PDU',List),
-% io:format("~w~n~n", [NasPdu]),
-% ok.
-
-
-run_iu_rel_cmd() ->
- IUR = iu_release_command(),
- io:format("~w~n~n", [IUR]),
- RanapIUR = ranap_pdu_contents(IUR, 1), % 1 = Iu-Release
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUR),
- EncRanapIUR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapIUR]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUR),
- io:format("General: ~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'Iu-ReleaseCommand',[{_ProtIEField,_Code,_Crit,DecCause}],_ASN1novalue} ->
- io:format("Cause: ~w~n~n", [DecCause])
- end.
-
-run_iu_rel_cmp() ->
- IUP = iu_release_complete(),
- io:format("~w~n~n", [IUP]),
- RanapIUP = ranap_pdu_contents_suc(IUP, 1), % 1 = Iu-Release
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUP),
- EncRanapIUP = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapIUP]),
- {ok,{successfulOutcome,
- #'SuccessfulOutcome'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUP),
- io:format("~w~n~n", [DecGeneral]).
-
-% run_iu_rel_req() ->
-% IUP = iu_release_request(),
-% io:format("~w~n~n", [IUP]),
-% {ok, Tmp} = wrapper_encode(?ranap, 'Iu-ReleaseRequest', IUP),
-% EncIUP = lists:flatten(Tmp),
-% RanapIUP = ranap_pdu_contents(EncIUP, 1), % 1 = Iu-Release
-% {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUP),
-% EncRanapIUP = lists:flatten(Tmp2),
-% io:format("~w~n~n", [EncRanapIUP]),
-% case wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUP) of
-% {ok,{initiatingMessage,
-% #'InitiatingMessage'{procedureCode=ProcedureCode,
-% criticality=Criticality,
-% value=Value}}} ->
-% DecGeneral = decode_initiating_iu(ProcedureCode,Criticality,Value)
-% end,
-% io:format("~w~n~n", [DecGeneral]).
-
-decode_initiating_iu(ProcedureCode,Crit,Val) ->
- case ProcedureCode of
- 1 -> % Iu-Release
- wrapper_decode(?ranap, 'Iu-ReleaseComplete',Val)
- end.
-
-
-
-
-
-run_com_id() ->
- COM = common_id(),
- io:format("~w~n~n", [COM]),
- RanapCOM = ranap_pdu_contents(COM, 15), % 15 = CommonID
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapCOM),
- EncRanapCOM = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapCOM]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapCOM),
- io:format("DecGeneral: ~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'CommonID',[{_ProtIEField,23,_Crit,DecCause}],_ASN1novalue} ->
- io:format("Cause: ~w~n~n", [DecCause]);
- Error ->
- io:format("Error: ~w~n~n", [Error])
- end.
-
-
-decode_common_id(ProcedureCode,Crit,Val) ->
- case ProcedureCode of
- 15 -> % Common ID
- wrapper_decode(?ranap, 'CommonID',Val);
- Error ->
- io:format("Error: ~w~n~n", [Error])
- end.
-
-
-
-
-run_sm_cmd() ->
- DIR = security_mode_cmd(),
- io:format("~w~n~n", [DIR]),
- RanapDIR = ranap_pdu_contents(DIR, 6), % 6 = Sec Mode
- io:format("~w~n~n", [RanapDIR]),
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapDIR),
- EncRanapDIR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapDIR]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapDIR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'SecurityModeCommand',
- [{_ProtIEField1,12,_Crit1,DecIPI},
- {_ProtIEField2,11,_Crit2,DecEI},
- {_ProtIEField3,75,_Crit3,DecKS}],
- _ASN1novalue} ->
- io:format("Integrity Protection Algoritm: ~w~n~n", [DecIPI]),
- io:format("Encryption Information: ~w~n~n", [DecEI]),
- io:format("Key Status: ~w~n~n", [DecKS])
- end,
- ok.
-
-run_sm_cmp() ->
- DIR = security_mode_cmp(),
- io:format("~w~n~n", [DIR]),
- RanapDIR = ranap_pdu_contents_suc(DIR, 6), % 6 = Sec Mode
- io:format("~w~n~n", [RanapDIR]),
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapDIR),
- EncRanapDIR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapDIR]),
- {ok,{successfulOutcome,
- #'SuccessfulOutcome'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapDIR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'SecurityModeComplete',
- [{_ProtIEField1,6,_Crit1,DecIPA},
- {_ProtIEField2,5,_Crit2,DecEI}],
- _ASN1novalue} ->
- io:format("Integrity Protection Algoritm: ~w~n~n", [DecIPA]),
- io:format("Encryption Information: ~w~n~n", [DecEI])
- end,
- ok.
-
-run_sm_rej() ->
- DIR = security_mode_rej(),
- io:format("~w~n~n", [DIR]),
- RanapDIR = ranap_pdu_contents_unsuc(DIR, 6), % 6 = Sec Mode
- io:format("~w~n~n", [RanapDIR]),
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapDIR),
- EncRanapDIR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapDIR]),
- {ok,{unsuccessfulOutcome,
- #'UnsuccessfulOutcome'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapDIR),
- io:format("~w~n~n", [DecGeneral]),
-% case DecGeneral of
-% {ok,{'SecurityModeReject',
-% [{_ProtIEField1,6,_Crit1,Value1},
-% {_ProtIEField2,5,_Crit2,Value2}],
-% _ASN1novalue}} ->
-% io:format("Value1: ~w~n~n", [Value1]),
-% io:format("Value2: ~w~n~n", [Value2]),
-% {ok,DecIPA} = wrapper_decode(?ranap, 'IntegrityProtectionAlgorithm', Value1),
-% {ok,DecEI} = wrapper_decode(?ranap, 'EncryptionAlgorithm', Value2),
-% io:format("Integrity Protection Algoritm: ~w~n~n", [DecIPA]),
-% io:format("Encryption Information: ~w~n~n", [DecEI])
-% end,
- ok.
-
-decode_initiating_sm(ProcedureCode,Crit,Val) ->
- io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
- case ProcedureCode of
- 6 -> % Sec Mode
- wrapper_decode(?ranap, 'SecurityModeCommand',Val)
- end.
-
-decode_suc_sm(ProcedureCode,Criticality,Value) ->
- io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
- case ProcedureCode of
- 6 -> % Sec Mode
- wrapper_decode(?ranap, 'SecurityModeComplete',Value)
- end.
-
-decode_unsuc_sm(ProcedureCode,Criticality,Value) ->
- io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
- case ProcedureCode of
- 6 -> % Sec Mode
- wrapper_decode(?ranap, 'SecurityModeReject',Value)
- end.
-
-
-
-
-
-
-
-run_reset() ->
- IUP = reset(),
- io:format("Reset: ~w~n~n", [IUP]),
- RanapIUP = ranap_pdu_contents(IUP, 9), % 9 = Reset
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUP),
- EncRanapIUP = lists:flatten(Tmp2),
- io:format("Coded Reset: ~w~n~n", [EncRanapIUP]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUP),
- io:format("Decoded Reset: ~w~n~n", [DecGeneral]),
-
- IUP1 = reset_ack(),
- io:format("Reset Ack:~w~n~n", [IUP1]),
- RanapIUP1 = ranap_pdu_contents_suc(IUP1, 9), % 9 = Reset
- {ok, Tmp21} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUP1),
- EncRanapIUP1 = lists:flatten(Tmp21),
- io:format("Coded Reset Ack: ~w~n~n", [EncRanapIUP1]),
- {ok,{successfulOutcome,
- #'SuccessfulOutcome'{procedureCode=ProcedureCode1,
- criticality=Criticality1,
- value=DecGeneral1}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUP1),
- io:format("Decoded Reset Ack: ~w~n~n", [DecGeneral1]).
-
-% decode_init_reset(ProcedureCode,Crit,Val) ->
-% io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
-% case ProcedureCode of
-% 9 -> % reset
-% wrapper_decode(?ranap, 'Reset',Val)
-% end.
-
-% decode_init_reset_ack(ProcedureCode,Crit,Val) ->
-% io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
-% case ProcedureCode of
-% 9 -> % reset
-% wrapper_decode(?ranap, 'ResetAcknowledge',Val)
-% end.
-
-
-
-
-
-
-
-
-
-run_reset_res() ->
- IUP = reset_res([12,13,14,15,16,17,18,19,20]),
- io:format("Reset Rsource: ~w~n~n", [IUP]),
- RanapIUP = ranap_pdu_contents(IUP, 27), % 27 = Reset Res
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUP),
- EncRanapIUP = lists:flatten(Tmp2),
- io:format("Coded Reset Resource: ~w~n~n", [EncRanapIUP]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUP),
- io:format("Decoded Reset Resource: ~w~n~n", [DecGeneral]),
-% case DecGeneral of
-% {ok,{'ResetResource',
-% [{'ProtocolIE-Field',3,ignore,Value1},
-% {'ProtocolIE-Field',4,ignore,Value2},
-% {'ProtocolIE-Field',77,ignore,Value3},
-% {'ProtocolIE-Field',86,ignore,Value4}],
-% asn1_NOVALUE}} ->
-% io:format("Value1: ~w~n~n", [Value1]),
-% io:format("Value2: ~w~n~n", [Value2]),
-% io:format("Value3: ~w~n~n", [Value3]),
-% io:format("Value4: ~w~n~n", [Value4]),
-% {ok,DecIPA} = wrapper_decode(?ranap, 'CN-DomainIndicator', Value1),
-% {ok,{_Radio,DecEI}} = wrapper_decode(?ranap, 'Cause', Value2),
-% {ok,DecRR} = wrapper_decode(?ranap, 'ResetResourceList', Value3),
-% DecRRI = case DecRR of
-% [[{'ProtocolIE-Field',78,ignore,Value5}]] ->
-% {ok,{_apa,DecRI,_asn1novalue}} =
-% wrapper_decode(?ranap, 'ResetResourceItem', Value5),
-% DecRI
-% end,
-% {ok,{_Gl_id,PLMN_ID,RNC_ID}} = wrapper_decode(?ranap, 'GlobalRNC-ID', Value4),
-% io:format("CN-DomainIndicator: ~w~n~n", [DecIPA]),
-% io:format("Cause: ~w~n~n", [DecEI]),
-% io:format("ResetResourceList: ~w~n~n", [DecRR]),
-% io:format(" ResetResourceItem: ~w~n~n", [DecRRI]),
-% io:format("GlobalRNC-ID: PLMN_ID: ~w, RNC_ID: ~w~n~n", [PLMN_ID,RNC_ID])
-% end,
-
- RSA = reset_res_ack([12,13,14,15,16,17,18,19,20]),
- io:format("~n~nReset Resource Ack:~w~n~n", [RSA]),
- RanapRSA = ranap_pdu_contents_suc(RSA, 27), % 27 = Reset Res
- {ok, Tmp12} = wrapper_encode(?ranap, 'RANAP-PDU', RanapRSA),
- EncRanapRSA = lists:flatten(Tmp12),
- io:format("Coded Reset Resource Ack: ~w~n~n", [EncRanapRSA]),
- {ok,{successfulOutcome,
- #'SuccessfulOutcome'{procedureCode=ProcedureCode1,
- criticality=Criticality1,
- value=DecGeneral1}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapRSA),
- io:format("Decoded Reset Resource Ack: ~w~n~n", [DecGeneral1]).
-% case DecGeneral1 of
-% {ok,{'ResetResourceAcknowledge',
-% [{'ProtocolIE-Field',3,ignore,Value12},
-% {'ProtocolIE-Field',77,ignore,Value32}],
-% asn1_NOVALUE}} ->
-% io:format("Value1: ~w~n~n", [Value12]),
-% io:format("Value3: ~w~n~n", [Value32]),
-% {ok,DecIPA2} = wrapper_decode(?ranap, 'CN-DomainIndicator', Value12),
-% {ok,DecRR2} = wrapper_decode(?ranap, 'ResetResourceList', Value32),
-% DecRRI2 = case DecRR2 of
-% [[{'ProtocolIE-Field',78,ignore,Value52}]] ->
-% {ok,{_apa2,DecRI2,_asn1novalue2}} =
-% wrapper_decode(?ranap, 'ResetResourceItem', Value52),
-% DecRI2
-% end,
-% io:format("CN-DomainIndicator: ~w~n~n", [DecIPA2]),
-% io:format("ResetResourceList: ~w~n~n", [DecRR2]),
-% io:format(" ResetResourceItem: ~w~n~n", [DecRRI2])
-% end.
-
-
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Kod f�r att s�tta ihop RANAP-meddelanden
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-rab_release_request() ->
- #'RAB-AssignmentRequest'{
- protocolIEs = rab_assign_request_release_ies()
- }.
-
-rab_assign_request_release_ies() ->
- [rab_assign_release_rab_release_list()].
-
-rab_assign_release_rab_release_list() ->
- #'ProtocolIE-Field'{
- id = 41, % 41 = id-RAB-ReleaseList
- criticality = ignore,%XXX
- value = rab_release_list()
- }.
-
-rab_release_list() ->
- [release_lists()].
-
-release_lists() ->
- [rab_release_item_ies()].
-
-rab_release_item_ies() ->
- #'ProtocolIE-Field'{
- id = 40, % 40 = id-RAB-ReleaseItem
- criticality = ignore,%XXX
- value = rab_release_item()}.
-
-rab_release_item() ->
- #'RAB-ReleaseItem'{'rAB-ID' = rab_id(),
- cause = cause_nas()}.
-
-cause_nas() ->
- {nAS, 'normal-release'}.
-
-
-
-
-
-
-rab_create_request(Rabid, Teid, SgsnIP) ->
- #'RAB-AssignmentRequest'{
- protocolIEs =
- rab_assign_create_request_ies(Rabid, Teid, SgsnIP)
- }.
-
-rab_assign_create_request_ies(Rabid, Teid, SgsnIP) ->
- [rab_assign_setup_or_modify_list(Rabid, Teid, SgsnIP)].
-
-rab_assign_setup_or_modify_list(Rabid, Teid, SgsnIP) ->
- #'ProtocolIE-Field'{
- id = 54, %id-RAB-SetupOrModifyList
- criticality = ignore,%XXX
- value = rab_setup_or_modify_list(Rabid, Teid, SgsnIP)
- }.
-
-rab_setup_or_modify_list(Rabid, Teid, SgsnIP) ->
- [setup_or_modify_lists(Rabid, Teid, SgsnIP)].
-
-setup_or_modify_lists(Rabid, Teid, SgsnIP) ->
- [rab_setup_or_modify_item_ies(Rabid, Teid, SgsnIP)].
-
-rab_setup_or_modify_item_ies(Rabid, Teid, SgsnIP) ->
- #'ProtocolIE-FieldPair'{
- id = 53,
- firstCriticality = reject, %{'Criticality',reject},
- firstValue = rab_setup_or_modify_item_first(Rabid, Teid, SgsnIP),
- secondCriticality = ignore, %{'Criticality', ignore}
- secondValue = rab_setup_or_modify_item_second()
- }.
-
-rab_setup_or_modify_item_first(Rabid, Teid, SgsnIP) ->
- #'RAB-SetupOrModifyItemFirst'{
- 'rAB-ID' = Rabid, %ras_rab_id(Rabid),
- 'rAB-Parameters' = rab_parameters(),
- userPlaneInformation = user_plane_information(),
- transportLayerAddress = SgsnIP,
- iuTransportAssociation = ras_iu_transport_association(Teid)
- }.
-
-ras_iu_transport_association(Teid) ->
- {'gTP-TEI', Teid}.
-
-rab_id() ->
- [0,1,0,1,0,1,0,1].
-
-rab_parameters() ->
- #'RAB-Parameters'{
- trafficClass = background,
- 'rAB-AsymmetryIndicator' = 'symmetric-bidirectional',
- maxBitrate = [200000],
- deliveryOrder = 'delivery-order-not-requested',
- 'maxSDU-Size' = 11,
- 'sDU-Parameters' = sdu_parameters(),
- trafficHandlingPriority = 14 %{'TrafficHandlingPriority', 14} %14=lowest
- }.
-
-user_plane_information() ->
- #'UserPlaneInformation'{
- userPlaneMode = 'support-mode-for-predefined-SDU-sizes',
- 'uP-ModeVersions' = 2#1010101010101010
- }.
-
-transport_layer_address() ->
- [1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,1,1,1,1].
-% 1 2 3 4
-
-iu_transport_association() ->
- {'gTP-TEI', [31,32,33,34]}.
-
-sdu_parameters() ->
- [#'SDU-Parameters_SEQOF'{
- 'sDU-ErrorRatio' = sdu_error_ratio(),
- residualBitErrorRatio = residual_bit_error_ratio(),
- deliveryOfErroneousSDU = no
- }].
-
-sdu_error_ratio() ->
- #'SDU-ErrorRatio'{
- mantissa = 9,
- exponent = 4
- }.
-
-residual_bit_error_ratio() ->
- #'ResidualBitErrorRatio'{
- mantissa = 9,
- exponent = 5
- }.
-
-%allocationOrRetentionPriority() ->
-% #'AllocationOrRetentionPriority'{
-% priorityLevel = lowest,
-% 'pre-emptionCapability' = {'Pre-emptionCapability','can-trigger-pre-emption'},
-% 'pre-emptionVulnerability' = {'Pre-emptionVulnerability','not-vulnerable-to-pre-emption'},
-% queuingAllowed = {'QueuingAllowed','queueing-allowed'}
-% }.
-
-rab_setup_or_modify_item_second() -> % returns OpenType value
- #'RAB-SetupOrModifyItemSecond'{
- 'pDP-TypeInformation' = ['ipv4'],
- dataVolumeReportingIndication = 'do-not-report',
- 'dl-GTP-PDU-SequenceNumber' = 1,
- 'ul-GTP-PDU-SequenceNumber' = 2,
- 'dl-N-PDU-SequenceNumber' = 0,
- 'ul-N-PDU-SequenceNumber' = 0
- }.
-
-
-
-
-rab_assignment_response_setup() ->
- #'RAB-AssignmentResponse'{
- protocolIEs = rab_assignement_response_ies_setup()
- }.
-
-rab_assignement_response_ies_setup() ->
- [rab_ass_rsp_setup_or_modified_list()].
-
-rab_ass_rsp_setup_or_modified_list() ->
- #'ProtocolIE-Field'{
- id = 52, % 52=RAB-AssignRABSetupOrModifiedList
- criticality = ignore,%XXX
- value = rab_setup_or_modified_list()
- }.
-
-rab_setup_or_modified_list() ->
- [rab_setup_or_modified_item_list()].
-
-rab_setup_or_modified_item_list() ->
- [rab_setup_or_modified_item_ies()].
-
-rab_setup_or_modified_item_ies() ->
- #'ProtocolIE-Field'{
- id = 51, % 51 = RAB-SetupOrModifiedItemIEs
- criticality = reject, %{'Criticality', reject},
- value = rab_setup_or_modified_item()
- }.
-
-rab_setup_or_modified_item() ->
- #'RAB-SetupOrModifiedItem'{
- 'rAB-ID' = rab_id(),
- transportLayerAddress = transport_layer_address(),
- iuTransportAssociation = iu_transport_association()
- }.
-
-
-
-
-
-
-rab_assignment_response_delete() ->
- #'RAB-AssignmentResponse'{
- protocolIEs = rab_assignement_response_ies_delete()
- }.
-
-rab_assignement_response_ies_delete() ->
- [rab_ass_rsp_rab_release_list()].
-
-rab_ass_rsp_rab_release_list() ->
- #'ProtocolIE-Field'{
- id = 43, % 41 = RAB-AssignRABReleasedList
- criticality = ignore,%XXX
- value = rab_released_list()
- }.
-
-rab_released_list() ->
- [released_lists()].
-
-released_lists() ->
- [rab_released_item_ies()]. % 'ReleasedLists'
-
-rab_released_item_ies() ->
- #'ProtocolIE-Field'{
- id = 42, % 42 = RAB-ReleaseItemIEs
- criticality = ignore,%XXX
- value = rab_released_item()
- }.
-
-rab_released_item() ->
- #'RAB-ReleasedItem'{
- 'rAB-ID' = rab_id()
- }.
-
-
-
-initial_ue() ->
- #'InitialUE-Message'{
- protocolIEs = initial_ue_ies()
- }.
-
-initial_ue_ies() ->
- [cn_domain_ind(),
- init_lai(),
- init_rac(),
- init_sai(),
- init_nas_pdu(),
- init_iu_sign_con_id(),
- init_global_rnc_id_initial_ue()].
-
-
-cn_domain_indicator() ->
- {'CN-DomainIndicator', 'ps-domain'}.
-
-init_lai() ->
- #'ProtocolIE-Field'{
- id = 15, % 15 = LAI
- criticality = ignore,%XXX
- value = lai()
- }.
-
-lai() ->
- #'LAI'{'pLMN-ID' = [25,26,27],
- lAC = [25,26]}.
-
-init_rac() ->
- #'ProtocolIE-Field'{
- id = 55, % 55 = RAC
- criticality = ignore,%XXX
- value = rac()
- }.
-
-rac() ->
- [25].
-
-init_sai() ->
- #'ProtocolIE-Field'{
- id = 58, % 58 = SAI
- criticality = ignore,%XXX
- value = sai()
- }.
-
-sai() ->
- #'SAI'{'pLMN-ID' = [28,29,30], %KOLLA!!!!
- lAC = [30,31],
- sAC = [32,33]}.
-
-init_nas_pdu() ->
- #'ProtocolIE-Field'{
- id = 16, % 16 = NAS-PDU
- criticality = ignore,%XXX
- value = pdu_ar()
- }.
-
-pdu_ac()->
- [16#08,
- 16#03].
-
-pdu_ar() ->
- [16#08, % Skip indicator | Protocol discriminator
- 16#01, % Attach Request
- 16#01,16#b7, % MsNetworkCapability
- 16#21, % Cksn | AttachType
- 16#55,16#06, % DrxParameter
- 16#05,16#61,16#86,16#14,16#09,16#f7, % MsId
- 16#21,16#63,16#54,16#ac,16#dc,16#d5, % OldRai
- 16#0a,16#f0,16#f1,16#f2,16#f3,16#f4, % MsRaCap
- 16#f5,16#f6,16#f7,16#f8,16#f9 % MsRaCap continues
- %%16#19,16#ab,16#cd,16#ef, % P-TMSI signature
- %%16#17,16#5b, % Requested READY timer
- %%16#91 % TMSI status
- ].
-
-pdu_pdp() ->
- [2#01001010, % Transaction_id | Protocol_disc
- 2#01000001, % Message_type
- 2#00001001, % Nsapi
- 1, % Llc_sapi (dummie_value)
- 1,1,1,1, % QoS dummie_value=1 (19 octets)
- 1,1,1,1,1,
- 1,1,1,1,1,
- 1,1,1,1,1,
- 7, % PDP_Address (Ltot=7),
- 2#00000001, % ietf/etsi organisation
- 2#00100001, % IPv4
- 198, % IP address MSD
- 124,
- 56,
- 124, % IP address LSD
- 1, % APN optional (octet1=IEI)
- 25, % APN total length
- 4, % length lable1
- 116,101,115,116, % lable1 = test
- 4, % length lable2
- 116,101,115,116, % lable2 = test
- 4, % lenght lable3
- 116,101,115,116, % lable3 = test
- 4, % length lable3
- 116,101,115,116, % lable4 = test
- 4, % length label5
- 103,112,114,115
- ].
-
-pdu_auth_rsp() ->
- [8,16#13,0,1,2,3,16#21,2,0,1].
-
-pdu_auth_fail() ->
- [8,16#1C,1,16#22,2,0,1].
-
-init_iu_sign_con_id() ->
- #'ProtocolIE-Field'{
- id = 79, % 79 = id-IuSigConId
- criticality = ignore,%XXX
- value = iu_sign_con_id()
- }.
-
-iu_sign_con_id() ->
- 53245.
-% [1,0,1,0,1,0,1,0,
-% 1,0,1,0,1,0,1,0,
-% 1,0,1,0,1,0,1,1]
-
-init_global_rnc_id_initial_ue() ->
- #'ProtocolIE-Field'{
- id = 86, % 86 = id-GlobalRNC-ID
- criticality = ignore,%XXX
- value = global_rnc_id()
- }.
-
-global_rnc_id() ->
- #'GlobalRNC-ID'{'pLMN-ID' = [10,11,12], 'rNC-ID' = 2048}.
-
-direct_transfer_cn() ->
- #'DirectTransfer'{
- protocolIEs = direct_transfer_cn_ies()
- }.
-
-direct_transfer_cn_ies() ->
- [dir_cn_nas_pdu(),
- dir_lai(),
- dir_rac()].
-
-dir_cn_nas_pdu() ->
- #'ProtocolIE-Field'{
- id = 16, % 16 = id-NAS-PDU
- criticality = ignore,%XXX
- value = pdu_auth_fail()
- }.
-
-dir_lai() ->
- #'ProtocolIE-Field'{
- id = 15, % 15 = id-LAI
- criticality = ignore,%XXX
- value = lai()
- }.
-
-dir_rac() ->
- #'ProtocolIE-Field'{
- id = 55, % 55 = id-RAC
- criticality = ignore,%XXX
- value = rac()
- }.
-
-
-
-
-
-
-direct_transfer_rnc() ->
- #'DirectTransfer'{
- protocolIEs = direct_transfer_rnc_ies()
- }.
-
-direct_transfer_rnc_ies() ->
- [dir_rnc_nas_pdu(),
- dir_sapi()].
-
-dir_rnc_nas_pdu() ->
- #'ProtocolIE-Field'{
- id = 16, % 16 = id-NAS-PDU
- criticality = ignore,%XXX
- value = pdu_auth_rsp()
- }.
-
-dir_sapi() ->
- #'ProtocolIE-Field'{
- id = 59, % 59 = id-SAPI
- criticality = ignore,%XXX
- value = sapi()
- }.
-
-sapi() ->
- 'normal-priority'.
-
-
-
-
-
-iu_release_command() ->
- #'Iu-ReleaseCommand'{
- protocolIEs = iu_rel_command_ies()
- }.
-
-iu_rel_command_ies() ->
- [iu_relcomcause_nas()].
-
-iu_relcomcause_nas() ->
- #'ProtocolIE-Field'{
- id = 4, % 4 = Id-Cause
- criticality = ignore,%XXX
- value = cause()
- }.
-
-cause() ->
- cause_nas().
-
-% cause() ->
-% {ok,Bytes} =
-% wrapper_encode(?ranap,'CauseNAS',
-% {'CauseNAS', 'normal-release'}),
-% Bytes.
-
-
-
-
-
-
-iu_release_complete() ->
- #'Iu-ReleaseComplete'{
- protocolIEs = iu_rel_comp_ies()
- }.
-
-iu_rel_comp_ies() ->
- [].
-% 'iu-RelCompRABDataVolumeReportList' = asn1_NOVALUE,
-% 'iu-RelCompRABReleasedListIuRelComp' = asn1_NOVALUE,
-% 'iu-RelCompCriticalityDiagnostics' = asn1_NOVALUE
-% }.
-
-
-
-
-
-
-
-
-common_id() ->
- #'CommonID'{
- protocolIEs = common_id_ies()
- }.
-
-common_id_ies() ->
- [common_id_imsi()].
-
-common_id_imsi() ->
- #'ProtocolIE-Field'{
- id = 23, % 23 = Perm. NAS ID (IMSI)
- criticality = ignore, %ignore,%XXX %XXX
- value = imsi()
- }.
-
-imsi() ->
- {iMSI, [1,2,3,4,5,6,7,8]}.
-
-
-
-
-
-
-
-
-
-
-security_mode_cmd() ->
- #'SecurityModeCommand'{
- protocolIEs = security_mode_cmd_ies()
- }.
-
-security_mode_cmd_ies() ->
- [security_mode_cmd_integ(),
- security_mode_cmd_encr(),
- security_mode_cmd_keystat()
- ].
-
-security_mode_cmd_integ() ->
- #'ProtocolIE-Field'{
- id = 12, % 12 = Integ info
- criticality = ignore,%{'Criticality', ignore},
- value = integ_info()
- }.
-
-integ_info() ->
- #'IntegrityProtectionInformation'{
- permittedAlgorithms = perm_integ_algs(),
- key = key() }.
-
-perm_integ_algs() ->
- [integ_prot_alg()].
-
-integ_prot_alg() ->
- 'standard-UMTS-integrity-algorithm-UIA1'.
-
-key() ->
- [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0].
-
-
-
-security_mode_cmd_encr() ->
- #'ProtocolIE-Field'{
- id = 11, % 11 = Encr info
- criticality = ignore,%{'Criticality', ignore},
- value = encr_info()
- }.
-
-encr_info() ->
- #'EncryptionInformation'{
- permittedAlgorithms = perm_encr_algs(),
- key = key() }.
-
-perm_encr_algs() ->
- [encr_prot_alg()].
-
-encr_prot_alg() ->
- 'standard-UMTS-encryption-algorith-UEA1'.
-
-security_mode_cmd_keystat() ->
- #'ProtocolIE-Field'{
- id = 75, % 75 = id-KeyStatus
- criticality = ignore,%{'Criticality', ignore},
- value = key_status()
- }.
-
-key_status() ->
- new.
-
-
-
-
-
-security_mode_cmp() ->
- #'SecurityModeComplete'{
- protocolIEs = security_mode_cmp_ies()
- }.
-
-security_mode_cmp_ies() ->
- [security_mode_cmp_ch_integ_prot_alg(),
- security_mode_cmp_ch_encr_alg()
- ].
-
-security_mode_cmp_ch_integ_prot_alg() ->
- #'ProtocolIE-Field'{
- id = 6, % 6 = Chosen Integ prot alg
- criticality = ignore,%XXX
- value = ch_integ_prot_alg()
- }.
-
-ch_integ_prot_alg() ->
- 'standard-UMTS-integrity-algorithm-UIA1'.
-
-
-security_mode_cmp_ch_encr_alg() ->
- #'ProtocolIE-Field'{
- id = 5, % 5 = Chosen Encr alg
- criticality = ignore,%XXX
- value = ch_encr_alg()
- }.
-
-ch_encr_alg() ->
- 'standard-UMTS-encryption-algorith-UEA1'.
-
-
-
-
-security_mode_rej() ->
- #'SecurityModeReject'{
- protocolIEs = security_mode_rej_ies()
- }.
-
-security_mode_rej_ies() ->
- [security_mode_rej_cause()].
-
-
-security_mode_rej_cause() ->
- #'ProtocolIE-Field'{
- id = 4, % 4 = Id-Cause
- criticality = ignore,%XXX
- value = cause_radio() % Se Reset
- }.
-
-
-
-
-
-
-
-
-reset() ->
- #'Reset'{
- protocolIEs = reset_ies()
- }.
-reset_ies() ->
- {'Reset_protocolIEs', % this identifier is very unneccesary here
- [reset_cause(),
- cn_domain_ind(), % Se initial Ue
- init_global_rnc_id() % ---- " ----
- ]}.
-init_global_rnc_id() ->
- #'ProtocolIE-Field'{
- id = 86, % 86 = id-GlobalRNC-ID
- criticality = ignore,%XXX
- value = global_rnc_id()
- }.
-
-reset_cause() ->
- #'ProtocolIE-Field'{
- id = 4, % 4 = id-Cause
- criticality = ignore,%XXX
- value = cause_radio()
- }.
-%cause_open() ->
-% {ok,Bytes} =
-% wrapper_encode(?ranap,'Cause', cause_radio()),
-% Bytes.
-cause_radio() ->
- {radioNetwork, 'release-due-to-utran-generated-reason'}.
-
-
-cn_domain_ind(IEs) when atom(IEs)->
- setelement(1,cn_domain_ind(),IEs).
-
-cn_domain_ind() ->
- #'ProtocolIE-Field'{
- id = 3, % 3 = InitUE-MessageIEsCN-DomainIndicator
- criticality = ignore,%XXX
- value = cn_domain_indicator()
- }.
-
-
-
-
-reset_ack() ->
- #'ResetAcknowledge'{
- protocolIEs = reset_ack_ies()
- }.
-reset_ack_ies() ->
- {'ResetAcknowledge_protocolIEs', % very unneccesary
- [cn_domain_ind()]}. % Se initial Ue
-
-
-
-
-
-reset_res(IuSCId) ->
- #'ResetResource'{
- protocolIEs = reset_res_ies(IuSCId)
- }.
-
-reset_res_ies(IuSCId) ->
- {'ResetResource_protocolIEs', % very unneccesary
- [
- cn_domain_ind() % Se initial Ue
- ,reset_cause() % Se reset
- ,reset_res_list(IuSCId)
- ,init_global_rnc_id_reset_res() % ---- " ----
- ]}.
-
-init_global_rnc_id_reset_res() ->
- #'ProtocolIE-Field'{
- id = 86, % 86 = id-GlobalRNC-ID
- criticality = ignore,%XXX
- value = global_rnc_id()
- }.
-
-reset_res_list(IuSCId) ->
- #'ProtocolIE-Field'{
- id = 77, % 77 = id-IuSigConIdList
- criticality = ignore,%XXX
- value = res_list(IuSCId)
- }.
-
-res_list(IuSCId) ->
- iu_Sig_Con_Id_list(IuSCId,[]).
-
-iu_Sig_Con_Id_list([],List) ->
- List;
-
-iu_Sig_Con_Id_list([IuSCId|T],List) ->
- Ie = [iu_Sig_Con_Id_ie(IuSCId)],
- iu_Sig_Con_Id_list(T,[Ie|List]).
-
-iu_Sig_Con_Id_ie(IuSCId) ->
- #'ProtocolIE-Field'{
- id = 78, % 78 = id-IuSigConIdItem
- criticality = ignore,%XXX
- value = iu_Sig_Con_Id_item(IuSCId)}.
-
-iu_Sig_Con_Id_item(IuSCId) ->
- #'ResetResourceItem'{
- iuSigConId = IuSCId
-% 53432
-% [1,0,1,0,1,0,1,0,
-% 1,0,1,0,1,0,1,0,
-% 1,0,1,0,1,0,1,0]
- }.
-
-
-reset_res_ack(IuSCId) ->
- #'ResetResourceAcknowledge'{
- protocolIEs = reset_res_ack_ies(IuSCId)
- }.
-reset_res_ack_ies(IuSCId) ->
- [
- cn_domain_ind() % Se initial Ue
- ,reset_res_list(IuSCId) % Se Reset Ressource
- ].
-
-
-int2bin(Int) ->
- EmptyList = [],
- BitList_b1 = [Int band 2#1 | EmptyList],
- BitList_b2 = [(Int bsr 1) band 2#1 | BitList_b1],
- BitList_b3 = [(Int bsr 2) band 2#1 | BitList_b2],
- BitList_b4 = [(Int bsr 3) band 2#1 | BitList_b3],
- BitList_b5 = [(Int bsr 4) band 2#1 | BitList_b4],
- BitList_b6 = [(Int bsr 5) band 2#1 | BitList_b5],
- BitList_b7 = [(Int bsr 6) band 2#1 | BitList_b6],
- BitList = [(Int bsr 7) band 2#1 | BitList_b7],
- io:format("~n~w~n", [BitList]).
-
-
-%%%%%%%%%%%%%%%%% wrappers %%%%%%%%%%%%%%%%%%%%%%%%
-
-wrapper_encode(Module,Type,Value) ->
- case asn1rt:encode(Module,Type,Value) of
- {ok,X} when binary(X) ->
- {ok, binary_to_list(X)};
- {ok,X} ->
- {ok, binary_to_list(list_to_binary(X))};
- Error ->
- Error
- end.
-
-wrapper_decode(Module,Type,Bytes) ->
- case Module:encoding_rule() of
- ber ->
- asn1rt:decode(Module,Type,Bytes);
- ber_bin when binary(Bytes) ->
- asn1rt:decode(Module,Type,Bytes);
- ber_bin ->
- asn1rt:decode(Module,Type,list_to_binary(Bytes));
- ber_bin_v2 when binary(Bytes) ->
- asn1rt:decode(Module,Type,Bytes);
- ber_bin_v2 ->
- asn1rt:decode(Module,Type,list_to_binary(Bytes));
- per ->
- asn1rt:decode(Module,Type,Bytes);
- per_bin when binary(Bytes) ->
- asn1rt:decode(Module,Type,Bytes);
- per_bin ->
- asn1rt:decode(Module,Type,list_to_binary(Bytes));
- uper_bin ->
- asn1rt:decode(Module,Type,list_to_binary(Bytes))
- end.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/ACSE-1.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/ACSE-1.asn
deleted file mode 100644
index 3f1385323a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/ACSE-1.asn
+++ /dev/null
@@ -1,253 +0,0 @@
--- Module ACSE-1 (X.237:04/1995)
-ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0) version1(1)}
--- ACSE-1 refers to ACSE version 1
-DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- acse-as-id, ACSE-apdu, aCSE-id, Application-context-name, AP-title,
- AE-qualifier, AE-title, AP-invocation-identifier, AE-invocation-identifier,
- Mechanism-name, Authentication-value, ACSE-requirements, ObjectSet;
-
-IMPORTS
- Name, RelativeDistinguishedName
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3};
-
--- The data types Name and RelativeDistinguishedName are imported from ISO/IEC 9594-2.
--- object identifier assignments
-acse-as-id OBJECT IDENTIFIER ::=
- {joint-iso-itu-t association-control(2) abstract-syntax(1) apdus(0)
- version1(1)}
-
--- may be used to reference the abstract syntax of the ACSE APDUs
-aCSE-id OBJECT IDENTIFIER ::=
- {joint-iso-itu-t association-control(2) ase-id(3) acse-ase(1) version(1)}
-
--- may be used to identify the Association Control ASE.
--- top level CHOICE
-ACSE-apdu ::= CHOICE {
- aarq AARQ-apdu,
- aare AARE-apdu,
- rlrq RLRQ-apdu,
- rlre RLRE-apdu,
- abrt ABRT-apdu,
- ...
-}
-
-AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
- protocol-version
- [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
- application-context-name [1] Application-context-name,
- called-AP-title [2] AP-title OPTIONAL,
- called-AE-qualifier [3] AE-qualifier OPTIONAL,
- called-AP-invocation-identifier [4] AP-invocation-identifier OPTIONAL,
- called-AE-invocation-identifier [5] AE-invocation-identifier OPTIONAL,
- calling-AP-title [6] AP-title OPTIONAL,
- calling-AE-qualifier [7] AE-qualifier OPTIONAL,
- calling-AP-invocation-identifier [8] AP-invocation-identifier OPTIONAL,
- calling-AE-invocation-identifier [9] AE-invocation-identifier OPTIONAL,
- -- The following field shall not be present if only the Kernel is used.
- sender-acse-requirements [10] IMPLICIT ACSE-requirements OPTIONAL,
- -- The following field shall only be present if the Authentication functional unit is selected.
- mechanism-name [11] IMPLICIT Mechanism-name OPTIONAL,
- -- The following field shall only be present if the Authentication functional unit is selected.
- calling-authentication-value [12] EXPLICIT Authentication-value OPTIONAL,
- application-context-name-list
- [13] IMPLICIT Application-context-name-list OPTIONAL,
- -- The above field shall only be present if the Application Context Negotiation functional unit is selected
- implementation-information [29] IMPLICIT Implementation-data OPTIONAL,
- ...,
- ...,
- user-information
- [30] IMPLICIT Association-information OPTIONAL
-}
-
-AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- protocol-version
- [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
- application-context-name [1] Application-context-name,
- result [2] Associate-result,
- result-source-diagnostic [3] Associate-source-diagnostic,
- responding-AP-title [4] AP-title OPTIONAL,
- responding-AE-qualifier [5] AE-qualifier OPTIONAL,
- responding-AP-invocation-identifier [6] AP-invocation-identifier OPTIONAL,
- responding-AE-invocation-identifier [7] AE-invocation-identifier OPTIONAL,
- -- The following field shall not be present if only the Kernel is used.
- responder-acse-requirements [8] IMPLICIT ACSE-requirements OPTIONAL,
- -- The following field shall only be present if the Authentication functional unit is selected.
- mechanism-name [9] IMPLICIT Mechanism-name OPTIONAL,
- -- This following field shall only be present if the Authentication functional unit is selected.
- responding-authentication-value
- [10] EXPLICIT Authentication-value OPTIONAL,
- application-context-name-list
- [11] IMPLICIT Application-context-name-list OPTIONAL,
- -- The above field shall only be present if the Application Context Negotiation functional unit is selected
- implementation-information
- [29] IMPLICIT Implementation-data OPTIONAL,
- ...,
- ...,
- user-information
- [30] IMPLICIT Association-information OPTIONAL
-}
-
-RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE {
- reason [0] IMPLICIT Release-request-reason OPTIONAL,
- ...,
- ...,
- user-information [30] IMPLICIT Association-information OPTIONAL
-}
-
-RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE {
- reason [0] IMPLICIT Release-response-reason OPTIONAL,
- ...,
- ...,
- user-information [30] IMPLICIT Association-information OPTIONAL
-}
-
-ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE {
- abort-source [0] IMPLICIT ABRT-source,
- abort-diagnostic [1] IMPLICIT ABRT-diagnostic OPTIONAL,
- -- This field shall not be present if only the Kernel is used.
- ...,
- ...,
- user-information [30] IMPLICIT Association-information OPTIONAL
-}
-
-ABRT-diagnostic ::= ENUMERATED {
- no-reason-given(1), protocol-error(2),
- authentication-mechanism-name-not-recognized(3),
- authentication-mechanism-name-required(4), authentication-failure(5),
- authentication-required(6), ...
- }
-
-ABRT-source ::= INTEGER {acse-service-user(0), acse-service-provider(1)
-}(0..1, ...)
-
-ACSE-requirements ::= BIT STRING {
- authentication(0), application-context-negotiation(1)}
-
-Application-context-name-list ::= SEQUENCE OF Application-context-name
-
-Application-context-name ::= OBJECT IDENTIFIER
-
--- Application-entity title productions follow (not in alphabetical order)
-AP-title ::= CHOICE {
- ap-title-form1 AP-title-form1,
- ap-title-form2 AP-title-form2,
- ...
-}
-
-AE-qualifier ::= CHOICE {
- ae-qualifier-form1 AE-qualifier-form1,
- ae-qualifier-form2 AE-qualifier-form2,
- ...
-}
-
--- When both AP-title and AE-qualifier data values are present in an AARQ or AARE APDU, both must
--- have the same form to allow the construction of an AE-title as discussed in CCITT Rec. X.665 |
--- ISO/IEC 9834-6.
-AP-title-form1 ::=
- Name
-
--- The value assigned to AP-title-form1 is The Directory Name of an application-process title.
-AE-qualifier-form1 ::=
- RelativeDistinguishedName
-
--- The value assigned to AE-qualifier-form1 is the relative distinguished name of a particular
--- application-entity of the application-process identified by AP-title-form1.
-AP-title-form2 ::= OBJECT IDENTIFIER
-
-AE-qualifier-form2 ::= INTEGER
-
-AE-title ::= CHOICE {
- ae-title-form1 AE-title-form1,
- ae-title-form2 AE-title-form2,
- ...
-}
-
--- As defined in CCITT Rec. X.650 | ISO 7498-3, an application-entity title is composed of an application-
--- process title and an application-entity qualifier. The ACSE protocol provides for the transfer of an
--- application-entity title value by the transfer of its component values. However, the following data type
--- is provided for International Standards that reference a single syntactic structure for AE titles.
-AE-title-form1 ::=
- Name
-
--- For access to The Directory (ITU-T Rec. X.500-Series | ISO/IEC 9594), an AE title has AE-title-form1.
--- This value can be constructed from AP-title-form1 and AE-qualifier-form1 values contained in an
--- AARQ or AARE APDU. A discussion of forming an AE-title-form1 from AP-title-form1 and AE-qualifier-
--- form1 may be found in CCITT Rec. X.665 | ISO/IEC 9834-6.
-AE-title-form2 ::= OBJECT IDENTIFIER
-
--- A discussion of forming an AE-title-form2 from AP-title-form2 and AE-qualifier-form2 may be
--- found in CCITT Rec. X.665 | ISO/IEC 9834-6.
-AE-invocation-identifier ::= INTEGER
-
-AP-invocation-identifier ::= INTEGER
-
--- End of Application-entity title productions
-Associate-result ::= INTEGER {
- accepted(0), rejected-permanent(1), rejected-transient(2)}(0..2, ...)
-
-Associate-source-diagnostic ::= CHOICE {
- acse-service-user
- [1] INTEGER {null(0), no-reason-given(1),
- application-context-name-not-supported(2),
- calling-AP-title-not-recognized(3),
- calling-AP-invocation-identifier-not-recognized(4),
- calling-AE-qualifier-not-recognized(5),
- calling-AE-invocation-identifier-not-recognized(6),
- called-AP-title-not-recognized(7),
- called-AP-invocation-identifier-not-recognized(8),
- called-AE-qualifier-not-recognized(9),
- called-AE-invocation-identifier-not-recognized(10),
- authentication-mechanism-name-not-recognized(11),
- authentication-mechanism-name-required(12),
- authentication-failure(13), authentication-required(14)}
- (0..14, ...),
- acse-service-provider
- [2] INTEGER {null(0), no-reason-given(1), no-common-acse-version(2)}
- (0..2, ...)
-}
-
-Association-information ::= SEQUENCE SIZE (1, ..., 0 | 2..MAX) OF EXTERNAL
-
-Authentication-value ::= CHOICE {
- charstring [0] IMPLICIT GraphicString,
- bitstring [1] IMPLICIT BIT STRING,
- external [2] IMPLICIT EXTERNAL,
- other
- [3] IMPLICIT SEQUENCE {other-mechanism-name
- MECHANISM-NAME.&id({ObjectSet}),
- other-mechanism-value
- MECHANISM-NAME.&Type
- ({ObjectSet}{@.other-mechanism-name})}
-}
-
--- The abstract syntax of (calling/responding) authentication-value is determined by the authentication
--- mechanism used during association establishment. The authentication mechanism is either explicitly
--- denoted by the &id field (of type OBJECT IDENTIFIER) for a mechanism belonging to the class
--- MECHANISM-NAME, or it is known implicitly by
--- prior agreement between the communicating partners. If the "other" component is chosen, then
--- the "mechanism-name" component must be present in accordance with
--- ITU-T Rec. X.680 | ISO/IEC 8824. If the value "mechanism-name" occurs in the AARQ-apdu or the
--- AARE-apdu, then that value must be the same as the value for "other-mechanism-name"
-Implementation-data ::= GraphicString
-
-Mechanism-name ::= OBJECT IDENTIFIER
-
-MECHANISM-NAME ::= TYPE-IDENTIFIER
-
-ObjectSet MECHANISM-NAME ::=
- {...}
-
-Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30)
-}(0 | 1 | 30, ...)
-
-Release-response-reason ::= INTEGER {
- normal(0), not-finished(1), user-defined(30)}(0 | 1 | 30, ...)
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/AuthenticationFramework.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/AuthenticationFramework.asn
deleted file mode 100644
index 5cfa9062f0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/AuthenticationFramework.asn
+++ /dev/null
@@ -1,290 +0,0 @@
--- Module AuthenticationFramework (X.509:08/1997)
-
-AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-at, id-mr, informationFramework, upperBounds, selectedAttributeTypes,
- basicAccessControl, certificateExtensions
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Name, ATTRIBUTE, AttributeType, MATCHING-RULE, Attribute
- FROM InformationFramework informationFramework
- ub-user-password
- FROM UpperBounds upperBounds
- AuthenticationLevel
- FROM BasicAccessControl basicAccessControl
- UniqueIdentifier, octetStringMatch
- FROM SelectedAttributeTypes selectedAttributeTypes
- certificateExactMatch, certificatePairExactMatch, certificateListExactMatch,
- GeneralNames
- FROM CertificateExtensions certificateExtensions;
-
--- basic certificate definition
-Certificate ::=
- SIGNED
- {SEQUENCE {version [0] Version DEFAULT v1,
- serialNumber CertificateSerialNumber,
- signature AlgorithmIdentifier,
- issuer Name,
- validity Validity,
- subject Name,
- subjectPublicKeyInfo SubjectPublicKeyInfo,
- issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
- -- if present, version must be v2 or v3
- subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
- -- if present, version must be v2 or v3
- extensions [3] Extensions OPTIONAL
- -- If present, version must be v3 -- }}
-
-Version ::= INTEGER {v1(0), v2(1), v3(2)}
-
-CertificateSerialNumber ::= INTEGER
-
-AlgorithmIdentifier ::= SEQUENCE {
- algorithm ALGORITHM.&id({SupportedAlgorithms}),
- parameters ALGORITHM.&Type({SupportedAlgorithms}{@algorithm}) OPTIONAL
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the parameters component of AlgorithmIdentifier.
-SupportedAlgorithms ALGORITHM ::=
-{...}
-
-Validity ::= SEQUENCE {notBefore Time,
- notAfter Time
-}
-
-SubjectPublicKeyInfo ::= SEQUENCE {
- algorithm AlgorithmIdentifier,
- subjectPublicKey BIT STRING
-}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-Extensions ::= SEQUENCE OF Extension
-
--- For those extensions where ordering of individual extensions within the SEQUENCE is significant, the
--- specification of those individual extensions shall include the rules for the significance of the order therein
-Extension ::= SEQUENCE {
- extnId EXTENSION.&id({ExtensionSet}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING-- contains a DER encoding of a value of type &ExtnType
--- for the extension object identified by extnId
-}
-
-ExtensionSet EXTENSION ::=
- {...}
-
-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
- &ExtnType
-}WITH SYNTAX {SYNTAX &ExtnType
- IDENTIFIED BY &id
-}
-
--- other certificate constructs
-Certificates ::= SEQUENCE {
- userCertificate Certificate,
- certificationPath ForwardCertificationPath OPTIONAL
-}
-
-ForwardCertificationPath ::= SEQUENCE OF CrossCertificates
-
-CrossCertificates ::= SET OF Certificate
-
-CertificationPath ::= SEQUENCE {
- userCertificate Certificate,
- theCACertificates SEQUENCE OF CertificatePair OPTIONAL
-}
-
-CertificatePair ::= SEQUENCE {
- issuedByThisCA [0] Certificate OPTIONAL,
- issuedToThisCA [1] Certificate OPTIONAL
- -- at least one of the pair shall be present
-}
-
--- Certificate Revocation List (CRL)
-CertificateList ::=
- SIGNED
- {SEQUENCE {version Version OPTIONAL,
- -- if present, version must be v2
- signature AlgorithmIdentifier,
- issuer Name,
- thisUpdate Time,
- nextUpdate Time OPTIONAL,
- revokedCertificates
- SEQUENCE OF
- SEQUENCE {userCertificate CertificateSerialNumber,
- revocationDate Time,
- crlEntryExtensions Extensions OPTIONAL} OPTIONAL,
- crlExtensions [0] Extensions OPTIONAL}}
-
--- attribute certificate
-AttributeCertificationPath ::= SEQUENCE {
- attributeCertificate AttributeCertificate,
- acPath SEQUENCE OF ACPathData OPTIONAL
-}
-
-ACPathData ::= SEQUENCE {
- certificate [0] Certificate OPTIONAL,
- attributeCertificate [1] AttributeCertificate OPTIONAL
-}
-
-attributeCertificate ATTRIBUTE ::= {
- WITH SYNTAX AttributeCertificate
- EQUALITY MATCHING RULE attributeCertificateMatch
- ID id-at-attributeCertificate
-}
-
-AttributeCertificate ::= SIGNED{AttributeCertificateInfo}
-
-AttributeCertificateInfo ::= SEQUENCE {
- version Version DEFAULT v1,
- subject
- CHOICE {baseCertificateID [0] IssuerSerial, -- associated with a Public Key Certificate--
- subjectName [1] GeneralNames}, -- associated with a name
- issuer GeneralNames, -- CA issuing the attribute certificate
- signature AlgorithmIdentifier,
- serialNumber CertificateSerialNumber,
- attCertValidityPeriod AttCertValidityPeriod,
- attributes SEQUENCE OF Attribute,
- issuerUniqueID UniqueIdentifier OPTIONAL,
- extensions Extensions OPTIONAL
-}
-
-IssuerSerial ::= SEQUENCE {
- issuer GeneralNames,
- serial CertificateSerialNumber,
- issuerUID UniqueIdentifier OPTIONAL
-}
-
-AttCertValidityPeriod ::= SEQUENCE {
- notBeforeTime GeneralizedTime,
- notAfterTime GeneralizedTime
-}
-
-attributeCertificateMatch MATCHING-RULE ::= {
- SYNTAX AttributeCertificateAssertion
- ID id-mr-attributeCertificateMatch
-}
-
-AttributeCertificateAssertion ::= SEQUENCE {
- subject
- [0] CHOICE {baseCertificateID [0] IssuerSerial,
- subjectName [1] Name} OPTIONAL,
- issuer [1] Name OPTIONAL,
- attCertValidity [2] GeneralizedTime OPTIONAL,
- attType [3] SET OF AttributeType OPTIONAL
-}
-
--- At least one component of the sequence must be present
--- attribute types
-userPassword ATTRIBUTE ::= {
- WITH SYNTAX OCTET STRING(SIZE (0..ub-user-password))
- EQUALITY MATCHING RULE octetStringMatch
- ID id-at-userPassword
-}
-
-userCertificate ATTRIBUTE ::= {
- WITH SYNTAX Certificate
- EQUALITY MATCHING RULE certificateExactMatch
- ID id-at-userCertificate
-}
-
-cACertificate ATTRIBUTE ::= {
- WITH SYNTAX Certificate
- EQUALITY MATCHING RULE certificateExactMatch
- ID id-at-cAcertificate
-}
-
-crossCertificatePair ATTRIBUTE ::= {
- WITH SYNTAX CertificatePair
- EQUALITY MATCHING RULE certificatePairExactMatch
- ID id-at-crossCertificatePair
-}
-
-authorityRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-authorityRevocationList
-}
-
-certificateRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-certificateRevocationList
-}
-
-attributeCertificateRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- ID id-at-attributeCertificateRevocationList
-}
-
--- information object classes
-ALGORITHM ::= TYPE-IDENTIFIER
-
--- parameterized types
-HASH{ToBeHashed} ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- hashValue
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying a hashing procedure to the DER-encoded octets
- -- of a value of -- ToBeHashed})
-}
-
-ENCRYPTED-HASH{ToBeSigned} ::=
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying a hashing procedure to the DER-encoded octets
- -- of a value of --ToBeSigned -- and then applying an encipherment procedure to those octets --})
-
-ENCRYPTED{ToBeEnciphered} ::=
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying an encipherment procedure
- -- to the BER-encoded octets of a value of --ToBeEnciphered})
-
-SIGNATURE{ToBeSigned} ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- encrypted ENCRYPTED-HASH{ToBeSigned}
-}
-
-SIGNED{ToBeSigned} ::= SEQUENCE {
- toBeSigned ToBeSigned,
- COMPONENTS OF SIGNATURE{ToBeSigned}
-}
-
--- object identifier assignments
-id-at-userPassword OBJECT IDENTIFIER ::=
- {id-at 35}
-
-id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
-
-id-at-cAcertificate OBJECT IDENTIFIER ::= {id-at 37}
-
-id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
-
-id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
-
-id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
-
-id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
-
-id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
-
-id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/BasicAccessControl.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/BasicAccessControl.asn
deleted file mode 100644
index d8b2b687ae..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/BasicAccessControl.asn
+++ /dev/null
@@ -1,184 +0,0 @@
--- Module BasicAccessControl (X.501:08/1997)
-BasicAccessControl {joint-iso-itu-t ds(5) module(1) basicAccessControl(24) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-aca, id-acScheme, informationFramework, upperBounds,
- selectedAttributeTypes, directoryAbstractService
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ATTRIBUTE, AttributeType, DistinguishedName, ContextAssertion,
- SubtreeSpecification, SupportedAttributes, MATCHING-RULE,
- objectIdentifierMatch, Refinement
- FROM InformationFramework informationFramework
- Filter
- FROM DirectoryAbstractService directoryAbstractService
- ub-tag
- FROM UpperBounds upperBounds
- NameAndOptionalUID, directoryStringFirstComponentMatch, DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes;
-
--- types
-ACIItem ::= SEQUENCE {
- identificationTag DirectoryString{ub-tag},
- precedence Precedence,
- authenticationLevel AuthenticationLevel,
- itemOrUserFirst
- CHOICE {itemFirst
- [0] SEQUENCE {protectedItems ProtectedItems,
- itemPermissions SET OF ItemPermission},
- userFirst
- [1] SEQUENCE {userClasses UserClasses,
- userPermissions SET OF UserPermission}}
-}
-
-Precedence ::= INTEGER(0..255)
-
-ProtectedItems ::= SEQUENCE {
- entry [0] NULL OPTIONAL,
- allUserAttributeTypes [1] NULL OPTIONAL,
- attributeType
- [2] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- allAttributeValues
- [3] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- allUserAttributeTypesAndValues [4] NULL OPTIONAL,
- attributeValue
- [5] SET SIZE (1..MAX) OF AttributeTypeAndValue OPTIONAL,
- selfValue
- [6] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- rangeOfValues [7] Filter OPTIONAL,
- maxValueCount
- [8] SET SIZE (1..MAX) OF MaxValueCount OPTIONAL,
- maxImmSub [9] INTEGER OPTIONAL,
- restrictedBy
- [10] SET SIZE (1..MAX) OF RestrictedValue OPTIONAL,
- contexts
- [11] SET SIZE (1..MAX) OF ContextAssertion OPTIONAL,
- classes [12] Refinement OPTIONAL
-}
-
-MaxValueCount ::= SEQUENCE {type AttributeType,
- maxCount INTEGER
-}
-
-RestrictedValue ::= SEQUENCE {type AttributeType,
- valuesIn AttributeType
-}
-
-UserClasses ::= SEQUENCE {
- allUsers [0] NULL OPTIONAL,
- thisEntry [1] NULL OPTIONAL,
- name [2] SET SIZE (1..MAX) OF NameAndOptionalUID OPTIONAL,
- userGroup [3] SET SIZE (1..MAX) OF NameAndOptionalUID OPTIONAL,
- -- dn component must be the name of an
- -- entry of GroupOfUniqueNames
- subtree [4] SET SIZE (1..MAX) OF SubtreeSpecification OPTIONAL
-}
-
-ItemPermission ::= SEQUENCE {
- precedence Precedence OPTIONAL,
- -- defaults to precedence in ACIItem
- userClasses UserClasses,
- grantsAndDenials GrantsAndDenials
-}
-
-UserPermission ::= SEQUENCE {
- precedence Precedence OPTIONAL,
- -- defaults to precedence in ACIItem
- protectedItems ProtectedItems,
- grantsAndDenials GrantsAndDenials
-}
-
-AuthenticationLevel ::= CHOICE {
- basicLevels
- SEQUENCE {level ENUMERATED {none(0), simple(1), strong(2)},
- localQualifier INTEGER OPTIONAL,
- signed BOOLEAN DEFAULT FALSE},
- other EXTERNAL
-}
-
-GrantsAndDenials ::= BIT STRING {
- -- permissions that may be used in conjunction
- -- with any component of ProtectedItems
- grantAdd(0), denyAdd(1), grantDiscloseOnError(2), denyDiscloseOnError(3),
- grantRead(4), denyRead(5), grantRemove(6),
- denyRemove(7),
- -- permissions that may be used only in conjunction
- -- with the entry component
- grantBrowse(8), denyBrowse(9), grantExport(10), denyExport(11),
- grantImport(12), denyImport(13), grantModify(14), denyModify(15),
- grantRename(16), denyRename(17), grantReturnDN(18),
- denyReturnDN(19),
- -- permissions that may be used in conjunction
- -- with any component, except entry, of ProtectedItems
- grantCompare(20), denyCompare(21), grantFilterMatch(22), denyFilterMatch(23),
- grantInvoke(24), denyInvoke(25)}
-
-AttributeTypeAndValue ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type})
-}
-
--- attributes
-accessControlScheme ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- USAGE directoryOperation
- ID id-aca-accessControlScheme
-}
-
-prescriptiveACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-prescriptiveACI
-}
-
-entryACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-entryACI
-}
-
-subentryACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-subentryACI
-}
-
--- object identifier assignments
--- attributes
-id-aca-accessControlScheme OBJECT IDENTIFIER ::=
- {id-aca 1}
-
-id-aca-prescriptiveACI OBJECT IDENTIFIER ::= {id-aca 4}
-
-id-aca-entryACI OBJECT IDENTIFIER ::= {id-aca 5}
-
-id-aca-subentryACI OBJECT IDENTIFIER ::= {id-aca 6}
-
--- access control schemes -
-basicAccessControlScheme OBJECT IDENTIFIER ::=
- {id-acScheme 1}
-
-simplifiedAccessControlScheme OBJECT IDENTIFIER ::= {id-acScheme 2}
-
-rule-based-access-control OBJECT IDENTIFIER ::= {id-acScheme 3}
-
-rule-and-basic-access-control OBJECT IDENTIFIER ::= {id-acScheme 4}
-
-rule-and-simple-access-control OBJECT IDENTIFIER ::= {id-acScheme 5}
-
-END -- BasicAccessControl
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/CertificateExtensions.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/CertificateExtensions.asn
deleted file mode 100644
index 0daf2208e9..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/CertificateExtensions.asn
+++ /dev/null
@@ -1,498 +0,0 @@
--- Module CertificateExtensions (X.509:08/1997)
-
-CertificateExtensions {joint-iso-itu-t ds(5) module(1)
- certificateExtensions(26) 0} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS ALL
-IMPORTS
- id-at, id-ce, id-mr, informationFramework, authenticationFramework,
- selectedAttributeTypes, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Name, RelativeDistinguishedName, ATTRIBUTE, Attribute, MATCHING-RULE
- FROM InformationFramework informationFramework
- CertificateSerialNumber, CertificateList, AlgorithmIdentifier, EXTENSION,
- Time
- FROM AuthenticationFramework authenticationFramework
- DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes
- ub-name
- FROM UpperBounds upperBounds
- ORAddress
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- Unless explicitly noted otherwise, there is no significance to the ordering
--- of components of a SEQUENCE OF construct in this Specification.
--- Key and policy information extensions
-authorityKeyIdentifier EXTENSION ::= {
- SYNTAX AuthorityKeyIdentifier
- IDENTIFIED BY id-ce-authorityKeyIdentifier
-}
-
-AuthorityKeyIdentifier ::= SEQUENCE {
- keyIdentifier [0] KeyIdentifier OPTIONAL,
- authorityCertIssuer [1] GeneralNames OPTIONAL,
- authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- authorityCertIssuer PRESENT,
- authorityCertSerialNumber PRESENT
- } |
- WITH COMPONENTS {
- ...,
- authorityCertIssuer ABSENT,
- authorityCertSerialNumber ABSENT
- })
-
-KeyIdentifier ::= OCTET STRING
-
-subjectKeyIdentifier EXTENSION ::= {
- SYNTAX SubjectKeyIdentifier
- IDENTIFIED BY id-ce-subjectKeyIdentifier
-}
-
-SubjectKeyIdentifier ::= KeyIdentifier
-
-keyUsage EXTENSION ::= {SYNTAX KeyUsage
- IDENTIFIED BY id-ce-keyUsage
-}
-
-KeyUsage ::= BIT STRING {
- digitalSignature(0), nonRepudiation(1), keyEncipherment(2),
- dataEncipherment(3), keyAgreement(4), keyCertSign(5), cRLSign(6),
- encipherOnly(7), decipherOnly(8)}
-
-extKeyUsage EXTENSION ::= {
- SYNTAX SEQUENCE SIZE (1..MAX) OF KeyPurposeId
- IDENTIFIED BY id-ce-extKeyUsage
-}
-
-KeyPurposeId ::= OBJECT IDENTIFIER
-
-privateKeyUsagePeriod EXTENSION ::= {
- SYNTAX PrivateKeyUsagePeriod
- IDENTIFIED BY id-ce-privateKeyUsagePeriod
-}
-
-PrivateKeyUsagePeriod ::= SEQUENCE {
- notBefore [0] GeneralizedTime OPTIONAL,
- notAfter [1] GeneralizedTime OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- notBefore PRESENT
- } | WITH COMPONENTS {
- ...,
- notAfter PRESENT
- })
-
-certificatePolicies EXTENSION ::= {
- SYNTAX CertificatePoliciesSyntax
- IDENTIFIED BY id-ce-certificatePolicies
-}
-
-CertificatePoliciesSyntax ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
-
-PolicyInformation ::= SEQUENCE {
- policyIdentifier CertPolicyId,
- policyQualifiers SEQUENCE SIZE (1..MAX) OF PolicyQualifierInfo OPTIONAL
-}
-
-CertPolicyId ::= OBJECT IDENTIFIER
-
-PolicyQualifierInfo ::= SEQUENCE {
- policyQualifierId CERT-POLICY-QUALIFIER.&id({SupportedPolicyQualifiers}),
- qualifier
- CERT-POLICY-QUALIFIER.&Qualifier
- ({SupportedPolicyQualifiers}{@policyQualifierId}) OPTIONAL
-}
-
-SupportedPolicyQualifiers CERT-POLICY-QUALIFIER ::=
- {...}
-
-CERT-POLICY-QUALIFIER ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Qualifier OPTIONAL
-}WITH SYNTAX {POLICY-QUALIFIER-ID &id
- [QUALIFIER-TYPE &Qualifier]
-}
-
-policyMappings EXTENSION ::= {
- SYNTAX PolicyMappingsSyntax
- IDENTIFIED BY id-ce-policyMappings
-}
-
-PolicyMappingsSyntax ::=
- SEQUENCE SIZE (1..MAX) OF
- SEQUENCE {issuerDomainPolicy CertPolicyId,
- subjectDomainPolicy CertPolicyId}
-
-supportedAlgorithms ATTRIBUTE ::= {
- WITH SYNTAX SupportedAlgorithm
- EQUALITY MATCHING RULE algorithmIdentifierMatch
- ID id-at-supportedAlgorithms
-}
-
-SupportedAlgorithm ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- intendedUsage [0] KeyUsage OPTIONAL,
- intendedCertificatePolicies [1] CertificatePoliciesSyntax OPTIONAL
-}
-
--- Certificate subject and certificate issuer attributes extensions
-subjectAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-subjectAltName
-}
-
-GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
-
-GeneralName ::= CHOICE {
- otherName [0] INSTANCE OF OTHER-NAME,
- rfc822Name [1] IA5String,
- dNSName [2] IA5String,
- x400Address [3] ORAddress,
- directoryName [4] Name,
- ediPartyName [5] EDIPartyName,
- uniformResourceIdentifier [6] IA5String,
- iPAddress [7] OCTET STRING,
- registeredID [8] OBJECT IDENTIFIER
-}
-
-OTHER-NAME ::= TYPE-IDENTIFIER
-
-EDIPartyName ::= SEQUENCE {
- nameAssigner [0] DirectoryString{ub-name} OPTIONAL,
- partyName [1] DirectoryString{ub-name}
-}
-
-issuerAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-issuerAltName
-}
-
-subjectDirectoryAttributes EXTENSION ::= {
- SYNTAX AttributesSyntax
- IDENTIFIED BY id-ce-subjectDirectoryAttributes
-}
-
-AttributesSyntax ::= SEQUENCE SIZE (1..MAX) OF Attribute
-
--- Certification path constraints extensions
-basicConstraints EXTENSION ::= {
- SYNTAX BasicConstraintsSyntax
- IDENTIFIED BY id-ce-basicConstraints
-}
-
-BasicConstraintsSyntax ::= SEQUENCE {
- cA BOOLEAN DEFAULT FALSE,
- pathLenConstraint INTEGER(0..MAX) OPTIONAL
-}
-
-nameConstraints EXTENSION ::= {
- SYNTAX NameConstraintsSyntax
- IDENTIFIED BY id-ce-nameConstraint
-}
-
-NameConstraintsSyntax ::= SEQUENCE {
- permittedSubtrees [0] GeneralSubtrees OPTIONAL,
- excludedSubtrees [1] GeneralSubtrees OPTIONAL,
- requiredNameForms [2] NameForms OPTIONAL
-}
-
-GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
-
-GeneralSubtree ::= SEQUENCE {
- base GeneralName,
- minimum [0] BaseDistance DEFAULT 0,
- maximum [1] BaseDistance OPTIONAL
-}
-
-BaseDistance ::= INTEGER(0..MAX)
-
-NameForms ::= SEQUENCE {
- basicNameForms [0] BasicNameForms OPTIONAL,
- otherNameForms [1] SEQUENCE SIZE (1..MAX) OF OBJECT IDENTIFIER OPTIONAL
-}(ALL EXCEPT ({ --none; i.e.:at least one component shall be present--}))
-
-BasicNameForms ::= BIT STRING {
- rfc822Name(0), dNSName(1), x400Address(2), directoryName(3), ediPartyName(4),
- uniformResourceIdentifier(5), iPAddress(6), registeredID(7)}(SIZE (1..MAX))
-
-policyConstraints EXTENSION ::= {
- SYNTAX PolicyConstraintsSyntax
- IDENTIFIED BY id-ce-policyConstraints
-}
-
-PolicyConstraintsSyntax ::= SEQUENCE {
- requireExplicitPolicy [0] SkipCerts OPTIONAL,
- inhibitPolicyMapping [1] SkipCerts OPTIONAL
-}
-
-SkipCerts ::= INTEGER(0..MAX)
-
-CertPolicySet ::= SEQUENCE SIZE (1..MAX) OF CertPolicyId
-
--- Basic CRL extensions
-cRLNumber EXTENSION ::= {
- SYNTAX CRLNumber
- IDENTIFIED BY id-ce-cRLNumber
-}
-
-CRLNumber ::= INTEGER(0..MAX)
-
-reasonCode EXTENSION ::= {
- SYNTAX CRLReason
- IDENTIFIED BY id-ce-reasonCode
-}
-
-CRLReason ::= ENUMERATED {
- unspecified(0), keyCompromise(1), cACompromise(2), affiliationChanged(3),
- superseded(4), cessationOfOperation(5), certificateHold(6), removeFromCRL(8)
-}
-
-instructionCode EXTENSION ::= {
- SYNTAX HoldInstruction
- IDENTIFIED BY id-ce-instructionCode
-}
-
-HoldInstruction ::= OBJECT IDENTIFIER
-
-invalidityDate EXTENSION ::= {
- SYNTAX GeneralizedTime
- IDENTIFIED BY id-ce-invalidityDate
-}
-
--- CRL distribution points and delta-CRL extensions
-cRLDistributionPoints EXTENSION ::= {
- SYNTAX CRLDistPointsSyntax
- IDENTIFIED BY id-ce-cRLDistributionPoints
-}
-
-CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
-
-DistributionPoint ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- reasons [1] ReasonFlags OPTIONAL,
- cRLIssuer [2] GeneralNames OPTIONAL
-}
-
-DistributionPointName ::= CHOICE {
- fullName [0] GeneralNames,
- nameRelativeToCRLIssuer [1] RelativeDistinguishedName
-}
-
-ReasonFlags ::= BIT STRING {
- unused(0), keyCompromise(1), caCompromise(2), affiliationChanged(3),
- superseded(4), cessationOfOperation(5), certificateHold(6)}
-
-issuingDistributionPoint EXTENSION ::= {
- SYNTAX IssuingDistPointSyntax
- IDENTIFIED BY id-ce-issuingDistributionPoint
-}
-
-IssuingDistPointSyntax ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
- onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
- onlySomeReasons [3] ReasonFlags OPTIONAL,
- indirectCRL [4] BOOLEAN DEFAULT FALSE
-}
-
-certificateIssuer EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-certificateIssuer
-}
-
-deltaCRLIndicator EXTENSION ::= {
- SYNTAX BaseCRLNumber
- IDENTIFIED BY id-ce-deltaCRLIndicator
-}
-
-BaseCRLNumber ::= CRLNumber
-
-deltaRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-deltaRevocationList
-}
-
--- Matching rules
-certificateExactMatch MATCHING-RULE ::= {
- SYNTAX CertificateExactAssertion
- ID id-mr-certificateExactMatch
-}
-
-CertificateExactAssertion ::= SEQUENCE {
- serialNumber CertificateSerialNumber,
- issuer Name
-}
-
-certificateMatch MATCHING-RULE ::= {
- SYNTAX CertificateAssertion
- ID id-mr-certificateMatch
-}
-
-CertificateAssertion ::= SEQUENCE {
- serialNumber [0] CertificateSerialNumber OPTIONAL,
- issuer [1] Name OPTIONAL,
- subjectKeyIdentifier [2] SubjectKeyIdentifier OPTIONAL,
- authorityKeyIdentifier [3] AuthorityKeyIdentifier OPTIONAL,
- certificateValid [4] Time OPTIONAL,
- privateKeyValid [5] GeneralizedTime OPTIONAL,
- subjectPublicKeyAlgID [6] OBJECT IDENTIFIER OPTIONAL,
- keyUsage [7] KeyUsage OPTIONAL,
- subjectAltName [8] AltNameType OPTIONAL,
- policy [9] CertPolicySet OPTIONAL,
- pathToName [10] Name OPTIONAL
-}
-
-AltNameType ::= CHOICE {
- builtinNameForm
- ENUMERATED {rfc822Name(1), dNSName(2), x400Address(3), directoryName(4),
- ediPartyName(5), uniformResourceIdentifier(6), iPAddress(7),
- registeredId(8)},
- otherNameForm OBJECT IDENTIFIER
-}
-
-certificatePairExactMatch MATCHING-RULE ::= {
- SYNTAX CertificatePairExactAssertion
- ID id-mr-certificatePairExactMatch
-}
-
-CertificatePairExactAssertion ::= SEQUENCE {
- forwardAssertion [0] CertificateExactAssertion OPTIONAL,
- reverseAssertion [1] CertificateExactAssertion OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- forwardAssertion PRESENT
- } | WITH COMPONENTS {
- ...,
- reverseAssertion PRESENT
- })
-
-certificatePairMatch MATCHING-RULE ::= {
- SYNTAX CertificatePairAssertion
- ID id-mr-certificatePairMatch
-}
-
-CertificatePairAssertion ::= SEQUENCE {
- forwardAssertion [0] CertificateAssertion OPTIONAL,
- reverseAssertion [1] CertificateAssertion OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- forwardAssertion PRESENT
- } | WITH COMPONENTS {
- ...,
- reverseAssertion PRESENT
- })
-
-certificateListExactMatch MATCHING-RULE ::= {
- SYNTAX CertificateListExactAssertion
- ID id-mr-certificateListExactMatch
-}
-
-CertificateListExactAssertion ::= SEQUENCE {
- issuer Name,
- thisUpdate Time,
- distributionPoint DistributionPointName OPTIONAL
-}
-
-certificateListMatch MATCHING-RULE ::= {
- SYNTAX CertificateListAssertion
- ID id-mr-certificateListMatch
-}
-
-CertificateListAssertion ::= SEQUENCE {
- issuer Name OPTIONAL,
- minCRLNumber [0] CRLNumber OPTIONAL,
- maxCRLNumber [1] CRLNumber OPTIONAL,
- reasonFlags ReasonFlags OPTIONAL,
- dateAndTime Time OPTIONAL,
- distributionPoint [2] DistributionPointName OPTIONAL
-}
-
-algorithmIdentifierMatch MATCHING-RULE ::= {
- SYNTAX AlgorithmIdentifier
- ID id-mr-algorithmIdentifierMatch
-}
-
--- Object identifier assignments
-id-at-supportedAlgorithms OBJECT IDENTIFIER ::=
- {id-at 52}
-
-id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
-
-id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= {id-ce 9}
-
-id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 14}
-
-id-ce-keyUsage OBJECT IDENTIFIER ::= {id-ce 15}
-
-id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= {id-ce 16}
-
-id-ce-subjectAltName OBJECT IDENTIFIER ::= {id-ce 17}
-
-id-ce-issuerAltName OBJECT IDENTIFIER ::= {id-ce 18}
-
-id-ce-basicConstraints OBJECT IDENTIFIER ::= {id-ce 19}
-
-id-ce-cRLNumber OBJECT IDENTIFIER ::= {id-ce 20}
-
-id-ce-reasonCode OBJECT IDENTIFIER ::= {id-ce 21}
-
-id-ce-instructionCode OBJECT IDENTIFIER ::= {id-ce 23}
-
-id-ce-invalidityDate OBJECT IDENTIFIER ::= {id-ce 24}
-
-id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= {id-ce 27}
-
-id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 28}
-
-id-ce-certificateIssuer OBJECT IDENTIFIER ::= {id-ce 29}
-
-id-ce-nameConstraint OBJECT IDENTIFIER ::= {id-ce 30 1}
-
-id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
-
-id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32}
-
-id-ce-policyMappings OBJECT IDENTIFIER ::= {id-ce 33}
-
--- deprecated OBJECT IDENTIFIER ::= {id-ce 34}
-id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=
- {id-ce 35}
-
-id-ce-policyConstraints OBJECT IDENTIFIER ::= {id-ce 36}
-
-id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
-
-id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
-
-id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
-
-id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
-
-id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
-
-id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
-
-id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
-
-id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
-
-id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= {id-ce 54}
-
--- The following OBJECT IDENTIFIERS are not used by this Specification:
--- {id-ce 2}, {id-ce 3}, {id-ce 4}, {id-ce 5}, {id-ce 6}, {id-ce 7},
--- {id-ce 8}, {id-ce 10}, {id-ce 11}, {id-ce 12}, {id-ce 13},
--- {id-ce 22}, {id-ce 25}, {id-ce 26}, {id-ce 30}
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Coding-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Coding-Attributes.asn
deleted file mode 100644
index 04060cf060..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Coding-Attributes.asn
+++ /dev/null
@@ -1,17 +0,0 @@
--- Module Character-Coding-Attributes (T.416:03/1993)
-
-Character-Coding-Attributes {2 8 1 6 3} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Character-Coding-Attributes;
-
-Character-Coding-Attributes ::= SET {
-}
-
--- no character coding attributes
--- are defined in this part of
--- ITU-T Rec. T.410-Series | ISO/IEC 8613
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Presentation-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Presentation-Attributes.asn
deleted file mode 100644
index aed48ac26b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Presentation-Attributes.asn
+++ /dev/null
@@ -1,125 +0,0 @@
--- Module Character-Presentation-Attributes (T.416:03/1993)
-
-Character-Presentation-Attributes {2 8 1 6 2} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Character-Attributes, One-Of-Four-Angles, One-Of-Two-Angles, Measure-Pair,
- Alignment, Layout-Table, Graphic-Rendition, Formatting-Indicator,
- Character-Fonts, Itemization, Kerning-Offset, Proportional-Line-Spacing,
- Pairwise-Kerning;
-
-Character-Attributes ::= SET {
- character-path [0] IMPLICIT One-Of-Four-Angles OPTIONAL,
- line-progression [1] IMPLICIT One-Of-Two-Angles OPTIONAL,
- character-orientation [2] IMPLICIT One-Of-Four-Angles OPTIONAL,
- initial-offset [3] IMPLICIT Measure-Pair OPTIONAL,
- character-spacing [6] IMPLICIT INTEGER OPTIONAL,
- line-spacing [7] IMPLICIT INTEGER OPTIONAL,
- alignment [8] IMPLICIT Alignment OPTIONAL,
- line-layout-table [9] IMPLICIT Layout-Table OPTIONAL,
- graphic-rendition [10] IMPLICIT Graphic-Rendition OPTIONAL,
- formatting-indicator [11] IMPLICIT Formatting-Indicator OPTIONAL,
- character-fonts [12] IMPLICIT Character-Fonts OPTIONAL,
- graphic-char-subrepertoire [13] IMPLICIT INTEGER OPTIONAL,
- itemization [14] IMPLICIT Itemization OPTIONAL,
- widow-size [15] IMPLICIT INTEGER OPTIONAL,
- orphan-size [16] IMPLICIT INTEGER OPTIONAL,
- graphic-character-sets [17] IMPLICIT OCTET STRING OPTIONAL,
- indentation [19] IMPLICIT INTEGER OPTIONAL,
- kerning-offset [20] IMPLICIT Kerning-Offset OPTIONAL,
- proportional-line-spacing [21] IMPLICIT Proportional-Line-Spacing OPTIONAL,
- pairwise-kerning [22] IMPLICIT Pairwise-Kerning OPTIONAL,
- first-line-offset [23] IMPLICIT INTEGER OPTIONAL,
- code-extension-announcers [24] IMPLICIT OCTET STRING OPTIONAL
-}
-
-One-Of-Four-Angles ::= INTEGER {d0(0), d90(1), d180(2), d270(3)}
-
-One-Of-Two-Angles ::= INTEGER {d90(1), d270(3)}
-
-Measure-Pair ::= SEQUENCE {
- horizontal [0] IMPLICIT INTEGER,
- vertical [1] IMPLICIT INTEGER
-}
-
-Alignment ::= INTEGER {
- start-aligned(0), end-aligned(1), centred(2), justified(3)}
-
-Layout-Table ::= SET OF Tabulation-Stop
-
-Tabulation-Stop ::= SET {
- tabulation-reference [0] IMPLICIT NumericString,
- tabulation-position [1] IMPLICIT INTEGER,
- alignment
- [2] IMPLICIT INTEGER {start-aligned(0), end-aligned(1), centred(2),
- aligned-around(3)},
- alignment-character-string [3] IMPLICIT OCTET STRING OPTIONAL
-}
-
--- string of graphic characters
--- from the set of graphic elements
--- specified by the presentation
--- attributes "graphic character
--- sets" and "graphic character
--- subrepertoire"
-Graphic-Rendition ::= SET OF Graphic-Rendition-Aspect
-
-Character-Fonts ::= SET {
- primary-font [0] IMPLICIT Font-Type OPTIONAL,
- first-alternative-font [1] IMPLICIT Font-Type OPTIONAL,
- second-alternative-font [2] IMPLICIT Font-Type OPTIONAL,
- third-alternative-font [3] IMPLICIT Font-Type OPTIONAL,
- fourth-alternative-font [4] IMPLICIT Font-Type OPTIONAL,
- fifth-alternative-font [5] IMPLICIT Font-Type OPTIONAL,
- sixth-alternative-font [6] IMPLICIT Font-Type OPTIONAL,
- seventh-alternative-font [7] IMPLICIT Font-Type OPTIONAL,
- eighth-alternative-font [8] IMPLICIT Font-Type OPTIONAL,
- ninth-alternative-font [9] IMPLICIT Font-Type OPTIONAL
-}
-
-Font-Type ::= SET {
- font-size [0] IMPLICIT INTEGER,
- font-identifier [1] IMPLICIT INTEGER
-}
-
-Graphic-Rendition-Aspect ::= INTEGER {
- cancel(0), increased-intensity(1), decreased-intensity(2), italicized(3),
- underlined(4), slowly-blinking(5), rapidly-blinking(6), negative-image(7),
- crossed-out(9), primary-font(10), first-alternative-font(11),
- second-alternative-font(12), third-alternative-font(13),
- fourth-alternative-font(14), fifth-alternative-font(15),
- sixth-alternative-font(16), seventh-alternative-font(17),
- eighth-alternative-font(18), ninth-alternative-font(19),
- doubly-underlined(21), normal-intensity(22), not-italicized(23),
- not-underlined(24), steady(25), variable-spacing(26), positive-image(27),
- not-crossed-out(29), black-foreground(30), red-foreground(31),
- green-foreground(32), yellow-foreground(33), blue-foreground(34),
- magenta-foreground(35), cyan-foreground(36), white-foreground(37),
- select-char-foreground-colour(38), black-background(40), red-background(41),
- green-background(42), yellow-background(43), blue-background(44),
- magenta-background(45), cyan-background(46), white-background(47),
- select-char-background-colour(48), not-variable-spacing(50)}
-
-Formatting-Indicator ::= INTEGER {no(0), yes(1)}
-
-Itemization ::= SET {
- identifier-alignment
- [0] IMPLICIT INTEGER {no-itemization(0), start-aligned(1), end-aligned(2)},
- identifier-start-offset [1] IMPLICIT INTEGER OPTIONAL,
- identifier-end-offset [2] IMPLICIT INTEGER OPTIONAL
-}
-
-Kerning-Offset ::= SET {
- start-offset [0] IMPLICIT INTEGER,
- end-offset [1] IMPLICIT INTEGER
-}
-
-Proportional-Line-Spacing ::= INTEGER {no(0), yes(1)}
-
-Pairwise-Kerning ::= INTEGER {no(0), yes(1)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Profile-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Profile-Attributes.asn
deleted file mode 100644
index 7ba5bf194a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Character-Profile-Attributes.asn
+++ /dev/null
@@ -1,54 +0,0 @@
--- Module Character-Profile-Attributes (T.416:03/1993)
-
-Character-Profile-Attributes {2 8 1 6 4} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Character-Presentation-Feature, Character-Coding-Attribute,
- Character-Content-Defaults;
-
-IMPORTS
- Character-Attributes, One-Of-Four-Angles, One-Of-Two-Angles, Measure-Pair,
- Alignment, Layout-Table, Graphic-Rendition, Formatting-Indicator,
- Character-Fonts, Itemization, Kerning-Offset, Proportional-Line-Spacing,
- Pairwise-Kerning
- FROM Character-Presentation-Attributes;
-
--- see 11.2
-Character-Presentation-Feature ::= CHOICE {
- character-path [0] IMPLICIT One-Of-Four-Angles,
- line-progression [1] IMPLICIT One-Of-Two-Angles,
- character-orientation [2] IMPLICIT One-Of-Four-Angles,
- initial-offset [3] IMPLICIT Measure-Pair,
- character-spacing [6] IMPLICIT INTEGER,
- line-spacing [7] IMPLICIT INTEGER,
- alignment [8] IMPLICIT Alignment,
- line-layout-table [9] IMPLICIT Layout-Table,
- graphic-rendition [10] IMPLICIT Graphic-Rendition,
- formatting-indicator [11] IMPLICIT Formatting-Indicator,
- character-fonts [12] IMPLICIT Character-Fonts,
- graphic-char-subrepertoire [13] IMPLICIT INTEGER,
- itemization [14] IMPLICIT Itemization,
- widow-size [15] IMPLICIT INTEGER,
- orphan-size [16] IMPLICIT INTEGER,
- graphic-character-sets [17] IMPLICIT OCTET STRING,
- indentation [19] IMPLICIT INTEGER,
- kerning-offset [20] IMPLICIT Kerning-Offset,
- proportional-line-spacing [21] IMPLICIT Proportional-Line-Spacing,
- pairwise-kerning [22] IMPLICIT Pairwise-Kerning,
- first-line-offset [23] IMPLICIT INTEGER,
- code-extension-announcers [24] IMPLICIT OCTET STRING
-}
-
-Character-Coding-Attribute ::= NULL
-
--- no character coding attributes
--- are defined in this part of
--- ITU-T Rec. T.410-Series | ISO/IEC 8613
-Character-Content-Defaults ::=
- Character-Attributes
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Colour-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Colour-Attributes.asn
deleted file mode 100644
index 24c7fafc38..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Colour-Attributes.asn
+++ /dev/null
@@ -1,192 +0,0 @@
--- Module Colour-Attributes (T.415:03/1993)
-
-Colour-Attributes {2 8 1 5 14} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Colour-Expression, Colour-Table, Colour-Spaces-List, Colour-Characteristics;
-
-IMPORTS Character-Data
- FROM Document-Profile-Descriptor; -- see 7.7
-
-Real-Or-Int ::= CHOICE {a REAL,
- b INTEGER
-}
-
-Colour-Expression ::= SEQUENCE {
- colour-access-mode [0] IMPLICIT INTEGER {direct(0), indexed(1)},
- a
- [1] CHOICE {direct-colour [0] IMPLICIT Direct-Colour,
- indexed-colour [1] IMPLICIT Indexed-Colour}
-}
-
-Direct-Colour ::= SET {
- colour-space-id [0] IMPLICIT INTEGER OPTIONAL,
- colour-specification [1] Colour-Specification OPTIONAL,
- colour-tolerance [2] Colour-Tolerance OPTIONAL
-}
-
-Colour-Specification ::= CHOICE {
- cmyk-colour [0] IMPLICIT CMYK-Colour,
- rgb-colour [1] IMPLICIT RGB-Colour,
- cie-colour [2] IMPLICIT CIE-Colour
-}
-
-CMYK-Colour ::= SET {
- c-value [0] Real-Or-Int,
- m-value [1] Real-Or-Int,
- y-value [2] Real-Or-Int,
- k-value [3] Real-Or-Int OPTIONAL
-}
-
-RGB-Colour ::= SET {
- r-value [0] Real-Or-Int,
- g-value [1] Real-Or-Int,
- b-value [2] Real-Or-Int
-}
-
-CIE-Colour ::= SET {
- x-value [0] Real-Or-Int,
- y-value [1] Real-Or-Int,
- z-value [2] Real-Or-Int
-}
-
-Colour-Tolerance ::= CHOICE {
- unspecified-tolerance [0] IMPLICIT NULL,
- specified-tolerance [1] IMPLICIT Specified-Tolerance
-}
-
-Specified-Tolerance ::= SET {
- tolerance-value [0] Real-Or-Int,
- tolerance-space [1] IMPLICIT INTEGER {cieluv(3), cielab(4)}
-}
-
-Indexed-Colour ::= SET {index [0] IMPLICIT INTEGER OPTIONAL
-}
-
-Colour-Table ::= SET {
- colour-space-id [0] IMPLICIT INTEGER,
- colour-table-entries
- [1] IMPLICIT SET OF
- SET {index [0] IMPLICIT INTEGER,
- colour-coordinates [1] Colour-Specification,
- colour-tolerance [2] Colour-Tolerance OPTIONAL
- }
-}
-
-Colour-Characteristics ::= SET {
- colour-spaces-present
- [0] IMPLICIT SEQUENCE OF
- SET {colour-space-type [0] IMPLICIT Colour-Space-Type,
- colour-calibration-type
- [1] IMPLICIT Colour-Space-Calibration-Type},
- colour-modes-present [1] IMPLICIT Colour-Modes-Present,
- minimum-colour-tolerance [2] Colour-Tolerance OPTIONAL,
- maximum-colour-table-length [3] IMPLICIT INTEGER OPTIONAL,
- -- "maximum number of colour table entries"
- maximum-rgb-lut-length [4] IMPLICIT INTEGER OPTIONAL,
- -- "maximum number of look-up table entries"
- maximum-cmy-k-grid-size [5] IMPLICIT INTEGER OPTIONAL
-}
-
-Colour-Space-Type ::= INTEGER {rgb(0), cmyk(1), cmy(2), cieluv(3), cielab(4)}
-
-Colour-Space-Calibration-Type ::= INTEGER {
- no-calibration(0), matrices(1), lookup-tables(2),
- matrices-and-lookup-tables(3)}
-
-Colour-Modes-Present ::= INTEGER {direct(0), indexed(1), both(2)}
-
-Colour-Spaces-List ::= SET OF Colour-Space
-
-Colour-Space ::= SET {
- colour-space-id [0] IMPLICIT INTEGER,
- colour-space-type [1] IMPLICIT Colour-Space-Type,
- colour-space-name [2] IMPLICIT Character-Data OPTIONAL,
- colour-data-scaling [3] Colour-Data-Scaling OPTIONAL,
- calibration-data [4] Calibration-Data OPTIONAL
-}
-
-Colour-Data-Scaling ::= SET {
- first-component [0] IMPLICIT Scale-And-Offset,
- second-component [1] IMPLICIT Scale-And-Offset,
- third-component [2] IMPLICIT Scale-And-Offset,
- fourth-component [3] IMPLICIT Scale-And-Offset OPTIONAL
-}
-
-Scale-And-Offset ::= SET {
- colour-scale [0] Real-Or-Int,
- colour-offset [1] Real-Or-Int
-}
-
-Calibration-Data ::= CHOICE {
- rgb [0] IMPLICIT RGB-Calibration,
- cmyk [1] IMPLICIT CMY-K-Calibration,
- cmy [2] IMPLICIT CMY-K-Calibration,
- cieluv [3] IMPLICIT CIE-Calibration,
- cielab [4] IMPLICIT CIE-Calibration
-}
-
-CIE-Calibration ::= SET {reference-white [0] IMPLICIT CIE-Ref
-}
-
-RGB-Calibration ::= SET {
- reference-white [0] IMPLICIT CIE-Ref,
- matrix1 [1] IMPLICIT Three-by-Three-Matrix OPTIONAL,
- lookup-table [3] IMPLICIT Colour-Lookup-Table OPTIONAL,
- matrix2 [2] IMPLICIT Three-by-Three-Matrix OPTIONAL
-}
-
-Three-by-Three-Matrix ::= SEQUENCE {
- row-1 Three-Nums,
- row-2 Three-Nums,
- row-3 Three-Nums
-}
-
-Three-Nums ::= SEQUENCE {
- column-1 Real-Or-Int,
- column-2 Real-Or-Int,
- column-3 Real-Or-Int
-}
-
-Colour-Lookup-Table ::= SET {
- number-of-entries [0] IMPLICIT INTEGER,
- m [1] IMPLICIT INTEGER,
- n [2] IMPLICIT INTEGER,
- colour-table [3] IMPLICIT SET OF Colour-Table-Entry
-}
-
-Colour-Table-Entry ::= SET {
- index [3] IMPLICIT INTEGER,
- r [0] Real-Or-Int,
- g [1] Real-Or-Int,
- b [2] Real-Or-Int
-}
-
-CMY-K-Calibration ::= SET {
- reference-white [0] IMPLICIT CIE-Ref,
- comment [1] IMPLICIT Character-Data OPTIONAL,
- cmyk-lut [2] IMPLICIT Grid-Specification
-}
-
-Grid-Specification ::=
- SET OF
- SET {grid-location [0] IMPLICIT CMYK-Colour,
- grid-value [1] IMPLICIT Grid-Value}
-
-Grid-Value ::= SET {
- x-value [0] IMPLICIT REAL,
- y-value [1] IMPLICIT REAL,
- z-value [2] IMPLICIT REAL
-}
-
-CIE-Ref ::= SET {
- xn-value [0] Real-Or-Int,
- yn-value [1] Real-Or-Int,
- zn-value [2] Real-Or-Int
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DOR-definition.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DOR-definition.asn
deleted file mode 100644
index cd3330dc56..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DOR-definition.asn
+++ /dev/null
@@ -1,134 +0,0 @@
--- Module DOR-definition (ISO|IEC 10031-2:1991)
-DOR-definition {joint-iso-itu-t dor(4) reference-definition(0)} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- AE-Identifier, Altered-value, DOR, dor-abstract-syntax, dor-syntax-asn1,
- dorx, Extend-QoS, Local-reference, Locational-identifier, Produce-QoS,
- QoS-level, Quality-of-Service, Requested-QoS-level,
- Single-use-of-reference, Token;
-
-IMPORTS
- DistinguishedName
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3}
- PresentationAddress
- FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
- selectedAttributeTypes(5) 3};
-
--- Defined Object Identifiers
-dorx OBJECT IDENTIFIER ::=
- {joint-iso-itu-t dor(11)}
-
--- Object identifier for abstract syntax of DOR
-dor-abstract-syntax OBJECT IDENTIFIER ::=
- {dorx reference-abstract-syntax(1)}
-
--- Object identifier for abstract syntax of DOR with basic ASN.1 encodings in
--- EXTERNAL
-dor-syntax-asn1 OBJECT IDENTIFIER ::=
- {dorx reference-syntax(2) asn1(0)}
-
--- Definition of DOR type
-DOR ::= SEQUENCE {
- ae-identifier [0] AE-Identifier OPTIONAL,
- -- mandatory in case of produce-operations and consume-operations
- local-reference [1] Local-reference,
- data-object-type OBJECT IDENTIFIER,
- -- identifying the abstract syntax and the transfer syntax of the
- -- referenced data value
- quality-of-service [2] Quality-of-Service DEFAULT {},
- token [3] Token OPTIONAL
-}
-
-AE-Identifier ::= SEQUENCE { -- at least one component shall be present
- locational-identifier [0] Locational-identifier OPTIONAL,
- direct-logical-identifier [1] DistinguishedName OPTIONAL,
- indirect-logical-identifier [2] DistinguishedName OPTIONAL
-}
-
-Locational-identifier ::= SEQUENCE {
- presentation-address [0] PresentationAddress,
- ae-title [1] AE-title OPTIONAL,
- -- as defined in ISO 8650:1988/Cor.1:1990
- application-contexts SET OF OBJECT IDENTIFIER
-}
-
-Local-reference ::= SEQUENCE {
- application [0] OCTET STRING OPTIONAL,
- specific-reference [1] OCTET STRING
-}
-
-Quality-of-Service ::= SEQUENCE {
- qoS-level [0] QoS-level DEFAULT level-1:NULL,
- usage-of-reference Single-use-of-reference DEFAULT TRUE
-}
-
-QoS-level ::= CHOICE {
- level-1 [1] IMPLICIT NULL,
- level-2 [2] IMPLICIT GeneralizedTime,
- -- specifying the produce time
- level-3
- [3] IMPLICIT SEQUENCE {produce-time GeneralizedTime,
- fidelity-time GeneralizedTime}
-}
-
-Single-use-of-reference ::= BOOLEAN
-
-Token ::= CHOICE {
- simpletoken OCTET STRING,
- -- used to validate an access which use this DOR
- externaltoken EXTERNAL -- for future proxy mechanism
-}
-
--- Data types for produce-operations
-Produce-QoS ::= SEQUENCE {
- qoS-level [0] Requested-QoS-level DEFAULT level-1:NULL,
- usage-of-reference Single-use-of-reference DEFAULT TRUE
-}
-
-Requested-QoS-level ::= CHOICE {
- level-1 [1] IMPLICIT NULL,
- level-2 [2] IMPLICIT NULL,
- level-3 [3] IMPLICIT GeneralizedTime
- -- specifying the requested fidelity-time
-}
-
--- Data types for extending a specific QoS
-Extend-QoS ::= SEQUENCE {
- qoS-level [0] Requested-QoS-level OPTIONAL,
- -- if omitted, no change required
- usage-of-reference Single-use-of-reference OPTIONAL
- -- if omitted, no change required
-}
-
--- Data types for requesting / indicating value alteration in produce-operation
--- or access-operation
-Altered-value ::= ENUMERATED {
- value-not-altered(1), value-altered(2), undefined(3)}
-
--- dw: definition of AE-title, as defined in ISO 8650:1988/Cor.1:1990
--- dw: defined in-line here so we don't need to import it, original comments
--- dw: are as they appear in the 8650:1988 Annex E
-AP-title ::= TYPE-IDENTIFIER.&Type
-
--- The exact definition and values used for AP-title
--- should be chosen taking into account the ongoing
--- work in areas of naming, the Directory, and the
--- Registration Authority procedures for AE titles,
--- AE titles, and AE qualifiers
-AE-qualifier ::= TYPE-IDENTIFIER.&Type
-
--- The exact definition and values used for AE-qualifier
--- should be chosen taking into account the ongoing
--- work in areas of naming, the Directory, and the
--- Registration Authority procedures for AE titles,
--- AE titles, and AE qualifiers
-AE-title ::= SEQUENCE {ap AP-title,
- ae AE-qualifier
-}
-
-END -- of DOR-definition
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DSAOperationalAttributeTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DSAOperationalAttributeTypes.asn
deleted file mode 100644
index df5e8489ea..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DSAOperationalAttributeTypes.asn
+++ /dev/null
@@ -1,186 +0,0 @@
--- Module DSAOperationalAttributeTypes (X.501:08/1997)
-DSAOperationalAttributeTypes {joint-iso-itu-t ds(5) module(1)
- dsaOperationalAttributeTypes(22) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-doa, id-kmr, informationFramework, distributedOperations,
- opBindingManagement, selectedAttributeTypes
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ATTRIBUTE, MATCHING-RULE, Name
- FROM InformationFramework informationFramework
- OperationalBindingID
- FROM OperationalBindingManagement opBindingManagement
- AccessPoint, MasterAndShadowAccessPoints
- FROM DistributedOperations distributedOperations
- bitStringMatch
- FROM SelectedAttributeTypes selectedAttributeTypes;
-
--- data types
-DSEType ::= BIT STRING {
- root(0), -- root DSE
- glue(1), -- represents knowledge of a name only
- cp(2), -- context prefix
- entry(3), -- object entry
- alias(4), -- alias entry
- subr(5), -- subordinate reference
- nssr(6), -- non-specific subordinate reference
- supr(7), -- superior reference
- xr(8), -- cross reference
- admPoint(9), -- administrative point
- subentry(10), -- subentry
- shadow(11), -- shadow copy
- immSupr(13), -- immediate superior reference
- rhob(14), -- rhob information
- sa(15), -- subordinate reference to alias entry
- dsSubentry(16), -- DSA Specific subentry
- familyMember(17)} -- family member
-
-SupplierOrConsumer ::= SET {
- COMPONENTS OF AccessPoint, -- supplier or consumer
- agreementID [4] OperationalBindingID
-}
-
-SupplierInformation ::= SET {
- COMPONENTS OF SupplierOrConsumer, -- supplier
- supplier-is-master [5] BOOLEAN DEFAULT TRUE,
- non-supplying-master [6] AccessPoint OPTIONAL
-}
-
-ConsumerInformation ::= SupplierOrConsumer -- consumer
-
-SupplierAndConsumers ::= SET {
- COMPONENTS OF AccessPoint, -- supplier
- consumers [4] SET OF AccessPoint
-}
-
--- attribute types
-dseType ATTRIBUTE ::= {
- WITH SYNTAX DSEType
- EQUALITY MATCHING RULE bitStringMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-dseType
-}
-
-myAccessPoint ATTRIBUTE ::= {
- WITH SYNTAX AccessPoint
- EQUALITY MATCHING RULE accessPointMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-myAccessPoint
-}
-
-superiorKnowledge ATTRIBUTE ::= {
- WITH SYNTAX AccessPoint
- EQUALITY MATCHING RULE accessPointMatch
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-superiorKnowledge
-}
-
-specificKnowledge ATTRIBUTE ::= {
- WITH SYNTAX MasterAndShadowAccessPoints
- EQUALITY MATCHING RULE masterAndShadowAccessPointsMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE distributedOperation
- ID id-doa-specificKnowledge
-}
-
-nonSpecificKnowledge ATTRIBUTE ::= {
- WITH SYNTAX MasterAndShadowAccessPoints
- EQUALITY MATCHING RULE masterAndShadowAccessPointsMatch
- NO USER MODIFICATION TRUE
- USAGE distributedOperation
- ID id-doa-nonSpecificKnowledge
-}
-
-supplierKnowledge ATTRIBUTE ::= {
- WITH SYNTAX SupplierInformation
- EQUALITY MATCHING RULE supplierOrConsumerInformationMatch
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-supplierKnowledge
-}
-
-consumerKnowledge ATTRIBUTE ::= {
- WITH SYNTAX ConsumerInformation
- EQUALITY MATCHING RULE supplierOrConsumerInformationMatch
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-consumerKnowledge
-}
-
-secondaryShadows ATTRIBUTE ::= {
- WITH SYNTAX SupplierAndConsumers
- EQUALITY MATCHING RULE supplierAndConsumersMatch
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-secondaryShadows
-}
-
--- matching rules
-accessPointMatch MATCHING-RULE ::= {
- SYNTAX Name
- ID id-kmr-accessPointMatch
-}
-
-masterAndShadowAccessPointsMatch MATCHING-RULE ::= {
- SYNTAX SET OF Name
- ID id-kmr-masterShadowMatch
-}
-
-supplierOrConsumerInformationMatch MATCHING-RULE ::= {
- SYNTAX
- SET {ae-title [0] Name,
- agreement-identifier [2] INTEGER}
- ID id-kmr-supplierConsumerMatch
-}
-
-supplierAndConsumersMatch MATCHING-RULE ::= {
- SYNTAX Name
- ID id-kmr-supplierConsumersMatch
-}
-
--- object identifier assignments
--- dsa operational attributes
-id-doa-dseType OBJECT IDENTIFIER ::=
- {id-doa 0}
-
-id-doa-myAccessPoint OBJECT IDENTIFIER ::= {id-doa 1}
-
-id-doa-superiorKnowledge OBJECT IDENTIFIER ::= {id-doa 2}
-
-id-doa-specificKnowledge OBJECT IDENTIFIER ::= {id-doa 3}
-
-id-doa-nonSpecificKnowledge OBJECT IDENTIFIER ::= {id-doa 4}
-
-id-doa-supplierKnowledge OBJECT IDENTIFIER ::= {id-doa 5}
-
-id-doa-consumerKnowledge OBJECT IDENTIFIER ::= {id-doa 6}
-
-id-doa-secondaryShadows OBJECT IDENTIFIER ::= {id-doa 7}
-
--- knowledge matching rules
-id-kmr-accessPointMatch OBJECT IDENTIFIER ::=
- {id-kmr 0}
-
-id-kmr-masterShadowMatch OBJECT IDENTIFIER ::= {id-kmr 1}
-
-id-kmr-supplierConsumerMatch OBJECT IDENTIFIER ::= {id-kmr 2}
-
-id-kmr-supplierConsumersMatch OBJECT IDENTIFIER ::= {id-kmr 3}
-
-END -- DSAOperationalAttributeTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Default-Value-Lists.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Default-Value-Lists.asn
deleted file mode 100644
index ef1187ba8c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Default-Value-Lists.asn
+++ /dev/null
@@ -1,143 +0,0 @@
--- Module Default-Value-Lists (T.415:03/1993)
-
-Default-Value-Lists {2 8 1 5 11} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Default-Value-Lists-Logical, Default-Value-Lists-Layout;
-
-IMPORTS
- Style-Identifier, Category-Name
- FROM Identifiers-and-Expressions -- see 7.8
-
- Measure-Pair, One-Of-Four-Angles, Medium-Type, Dimension-Pair, Transparency,
- Colour, Border, Content-Background-Colour, Content-Foreground-Colour,
- Sealed
- FROM Layout-Descriptors -- see 7.9
-
- Protection
- FROM Logical-Descriptors -- see 7.10
-
- Presentation-Attributes
- FROM Style-Descriptors -- see 7.11
-
- Colour-Expression, Colour-Table
- FROM Colour-Attributes; -- see 7.14
-
-Default-Value-Lists-Layout ::= SET {
- page-set-attributes [1] IMPLICIT Page-Set-Attributes OPTIONAL,
- page-attributes [2] IMPLICIT Page-Attributes OPTIONAL,
- frame-attributes [3] IMPLICIT Frame-Attributes OPTIONAL,
- block-attributes [4] IMPLICIT Block-Attributes OPTIONAL
-}
-
-Default-Value-Lists-Logical ::= SET {
- composite-logical-attributes
- [5] IMPLICIT Composite-Logical-Attributes OPTIONAL,
- basic-logical-attributes [6] IMPLICIT Basic-Logical-Attributes OPTIONAL
-}
-
-Page-Set-Attributes ::= SET {
- layout-stream-categories layout-stream-categories < Attribute OPTIONAL,
- layout-stream-sub-categories
- layout-stream-sub-categories < Attribute OPTIONAL
-}
-
-Page-Attributes ::= SET {
- dimensions dimensions < Attribute OPTIONAL,
- transparency transparency < Attribute OPTIONAL,
- presentation-attributes presentation-attributes < Attribute OPTIONAL,
- page-position page-position < Attribute OPTIONAL,
- medium-type medium-type < Attribute OPTIONAL,
- presentation-style presentation-style < Attribute OPTIONAL,
- layout-stream-categories layout-stream-categories < Attribute OPTIONAL,
- layout-stream-sub-categories
- layout-stream-sub-categories < Attribute OPTIONAL,
- colour colour < Attribute OPTIONAL,
- colour-of-layout-object colour-of-layout-object < Attribute OPTIONAL,
- object-colour-table object-colour-table < Attribute OPTIONAL,
- content-background-colour content-background-colour < Attribute OPTIONAL,
- content-foreground-colour content-foreground-colour < Attribute OPTIONAL,
- content-colour-table content-colour-table < Attribute OPTIONAL,
- sealed sealed < Attribute OPTIONAL
-}
-
-Frame-Attributes ::= SET {
- position position < Attribute OPTIONAL,
- dimensions dimensions < Attribute OPTIONAL,
- transparency transparency < Attribute OPTIONAL,
- layout-path layout-path < Attribute OPTIONAL,
- permitted-categories permitted-categories < Attribute OPTIONAL,
- layout-stream-categories layout-stream-categories < Attribute OPTIONAL,
- layout-stream-sub-categories
- layout-stream-sub-categories < Attribute OPTIONAL,
- colour colour < Attribute OPTIONAL,
- colour-of-layout-object colour-of-layout-object < Attribute OPTIONAL,
- object-colour-table object-colour-table < Attribute OPTIONAL,
- border border < Attribute OPTIONAL,
- sealed sealed < Attribute OPTIONAL
-}
-
-Block-Attributes ::= SET {
- position position < Attribute OPTIONAL,
- dimensions dimensions < Attribute OPTIONAL,
- transparency transparency < Attribute OPTIONAL,
- presentation-attributes presentation-attributes < Attribute OPTIONAL,
- presentation-style presentation-style < Attribute OPTIONAL,
- layout-stream-categories layout-stream-categories < Attribute OPTIONAL,
- layout-stream-sub-categories
- layout-stream-sub-categories < Attribute OPTIONAL,
- colou colour < Attribute OPTIONAL,
- colour-of-layout-object colour-of-layout-object < Attribute OPTIONAL,
- object-colour-table object-colour-table < Attribute OPTIONAL,
- content-background-colour content-background-colour < Attribute OPTIONAL,
- content-foreground-colour content-foreground-colour < Attribute OPTIONAL,
- content-colour-table content-colour-table < Attribute OPTIONAL,
- border border < Attribute OPTIONAL,
- sealed sealed < Attribute OPTIONAL
-}
-
-Composite-Logical-Attributes ::= SET {
- protection protection < Attribute OPTIONAL,
- layout-style layout-style < Attribute OPTIONAL,
- sealed sealed < Attribute OPTIONAL
-}
-
-Basic-Logical-Attributes ::= SET {
- presentation-attributes presentation-attributes < Attribute OPTIONAL,
- -- only for use for the attribute content-architecture-class;
- -- the content architecture specific attributes can only be referenced by
- -- use of presentation style
- protection protection < Attribute OPTIONAL,
- presentation-style presentation-style < Attribute OPTIONAL,
- layout-style layout-style < Attribute OPTIONAL,
- sealed sealed < Attribute OPTIONAL
-}
-
-Attribute ::= CHOICE {
- position [0] IMPLICIT Measure-Pair,
- dimensions [1] IMPLICIT Dimension-Pair,
- transparency [2] IMPLICIT Transparency,
- presentation-attributes [3] IMPLICIT Presentation-Attributes,
- layout-path [4] IMPLICIT One-Of-Four-Angles,
- page-position [5] IMPLICIT Measure-Pair,
- medium-type [6] IMPLICIT Medium-Type,
- permitted-categories [7] IMPLICIT SET OF Category-Name,
- layout-stream-categories [19] IMPLICIT SET OF Category-Name,
- layout-stream-sub-categories [20] IMPLICIT SET OF Category-Name,
- protection [8] IMPLICIT Protection,
- presentation-style [9] IMPLICIT Style-Identifier,
- layout-style [10] IMPLICIT Style-Identifier,
- colour [11] IMPLICIT Colour,
- colour-of-layout-object [14] Colour-Expression,
- object-colour-table [15] IMPLICIT Colour-Table,
- content-background-colour [16] Content-Background-Colour,
- content-foreground-colour [17] Content-Foreground-Colour,
- content-colour-table [18] IMPLICIT Colour-Table,
- border [12] IMPLICIT Border,
- sealed [13] IMPLICIT Sealed
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryAbstractService.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryAbstractService.asn
deleted file mode 100644
index 5a5d310729..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryAbstractService.asn
+++ /dev/null
@@ -1,710 +0,0 @@
--- Module DirectoryAbstractService (X.511:08/1997)
-DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
- directoryAbstractService(2) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, distributedOperations, authenticationFramework,
- dap, directoryShadowAbstractService, basicAccessControl, enhancedSecurity,
- id-at
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- AttributeTypeAndValue
- FROM BasicAccessControl basicAccessControl
- AgreementID
- FROM DirectoryShadowAbstractService directoryShadowAbstractService
- Attribute, AttributeType, AttributeValue, AttributeValueAssertion,
- DistinguishedName, Name, RelativeDistinguishedName, SupportedAttributes,
- ATTRIBUTE, MATCHING-RULE, ContextAssertion, AttributeTypeAssertion,
- OBJECT-CLASS, RelaxationPolicy
- FROM InformationFramework informationFramework
- OperationProgress, ReferenceType, Exclusions, AccessPoint,
- ContinuationReference
- FROM DistributedOperations distributedOperations
- CertificationPath, SIGNED{}, SIGNATURE{}, ENCRYPTED{}, AlgorithmIdentifier,
- AttributeCertificationPath
- FROM AuthenticationFramework authenticationFramework
- OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
- FROM EnhancedSecurity enhancedSecurity
- id-opcode-read, id-opcode-compare, id-opcode-abandon, id-opcode-list,
- id-opcode-search, id-opcode-addEntry, id-opcode-removeEntry,
- id-opcode-modifyEntry, id-opcode-modifyDN, id-errcode-abandoned,
- id-errcode-abandonFailed, id-errcode-attributeError, id-errcode-nameError,
- id-errcode-referral, id-errcode-securityError, id-errcode-serviceError,
- id-errcode-updateError
- FROM DirectoryAccessProtocol dap
- OPERATION, ERROR, Code
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- --PROTECTED
- -- FROM Notation { joint-iso-itu-t genericULS (20) modules (1) notation (1) }
- SPKM-REQ, SPKM-REP-TI, SPKM-ERROR
- FROM SpkmGssTokens {iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) spkm(1) spkmGssTokens(10)};
-
--- Common data types
--- Parameterized type for representing optional signing
-OPTIONALLY-SIGNED{Type} ::= CHOICE {unsigned Type,
- signed SIGNED{Type}
-}
-
-CommonArguments ::= SET {
- serviceControls [30] ServiceControls DEFAULT {},
- securityParameters [29] SecurityParameters OPTIONAL,
- requestor [28] DistinguishedName OPTIONAL,
- operationProgress
- [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
- aliasedRDNs [26] INTEGER OPTIONAL,
- criticalExtensions [25] BIT STRING OPTIONAL,
- referenceType [24] ReferenceType OPTIONAL,
- entryOnly [23] BOOLEAN DEFAULT TRUE,
- nameResolveOnMaste [21] BOOLEAN DEFAULT FALSE,
- operationContexts [20] ContextSelection OPTIONAL,
- familyGrouping [19] FamilyGrouping DEFAULT entryOnly
-}
-
-FamilyGrouping ::= ENUMERATED {
- entryOnly(1), compoundEntry(2), strands(3), multiStrand(4)}
-
-CommonResults ::= SET {
- securityParameters [30] SecurityParameters OPTIONAL,
- performer [29] DistinguishedName OPTIONAL,
- aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
- notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
-}
-
-CommonResultsSeq ::= SEQUENCE {
- securityParameters [30] SecurityParameters OPTIONAL,
- performer [29] DistinguishedName OPTIONAL,
- aliasDereferenced [28] BOOLEAN DEFAULT FALSE
-}
-
-ServiceControls ::= SET {
- options [0] ServiceControlOptions DEFAULT {},
- priority [1] INTEGER {low(0), medium(1), high(2)} DEFAULT medium,
- timeLimit [2] INTEGER OPTIONAL,
- sizeLimit [3] INTEGER OPTIONAL,
- scopeOfReferral [4] INTEGER {dmd(0), country(1)} OPTIONAL,
- attributeSizeLimit [5] INTEGER OPTIONAL,
- manageDSAITPlaneRef
- [6] SEQUENCE {dsaName Name,
- agreementID AgreementID} OPTIONAL,
- serviceType [7] OBJECT IDENTIFIER OPTIONAL,
- userClass [8] INTEGER OPTIONAL
-}
-
-ServiceControlOptions ::= BIT STRING {
- preferChaining(0), chainingProhibited(1), localScope(2), dontUseCopy(3),
- dontDereferenceAliases(4), subentries(5), copyShallDo(6),
- partialNameResolution(7), manageDSAIT(8), noSubtypeMatch(9),
- noSubtypeSelection(10), countFamily(11)}
-
-EntryInformationSelection ::= SET {
- attributes
- CHOICE {allUserAttributes [0] NULL,
- select [1] SET OF AttributeType
- -- empty set implies no attributes are requested
- } DEFAULT allUserAttributes:NULL,
- infoTypes
- [2] INTEGER {attributeTypesOnly(0), attributeTypesAndValues(1)}
- DEFAULT attributeTypesAndValues,
- extraAttributes
- CHOICE {allOperationalAttributes [3] NULL,
- select [4] SET OF AttributeType} OPTIONAL,
- contextSelection ContextSelection OPTIONAL,
- returnContexts BOOLEAN DEFAULT FALSE,
- familyReturn FamilyReturn DEFAULT {memberSelect contributingEntriesOnly}
-}
-
-ContextSelection ::= CHOICE {
- allContexts NULL,
- selectedContexts SET OF TypeAndContextAssertion
-}
-
-TypeAndContextAssertion ::= SEQUENCE {
- type AttributeType,
- contextAssertions
- CHOICE {preference SEQUENCE OF ContextAssertion,
- all SET OF ContextAssertion}
-}
-
-FamilyReturn ::= SEQUENCE {
- memberSelect
- ENUMERATED {contributingEntriesOnly(1), participatingEntriesOnly(2),
- compoundEntry(3)},
- familySelect SEQUENCE SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL
-}
-
-family-information ATTRIBUTE ::= {
- WITH SYNTAX FamilyEntries
- USAGE directoryOperation
- ID id-at-family-information
-}
-
-FamilyEntries ::= SEQUENCE {
- family-class OBJECT-CLASS.&id, -- structural object class value
- familyEntries SEQUENCE OF FamilyEntry
-}
-
-FamilyEntry ::= SEQUENCE {
- rdn RelativeDistinguishedName,
- information
- SEQUENCE OF CHOICE {attributeType AttributeType,
- attribute Attribute},
- family-info SEQUENCE SIZE (1..MAX) OF FamilyEntries OPTIONAL
-}
-
-EntryInformation ::= SEQUENCE {
- name Name,
- fromEntry BOOLEAN DEFAULT TRUE,
- information
- SET SIZE (1..MAX) OF
- CHOICE {attributeType AttributeType,
- attribute Attribute} OPTIONAL,
- incompleteEntry [3] BOOLEAN DEFAULT FALSE, -- not in 1988-edition systems
- partialNameResolution
- [4] BOOLEAN DEFAULT FALSE -- not in 1988 or 1993 edition systems --
-}
-
-Filter ::= CHOICE {
- item [0] FilterItem,
- and [1] SET OF Filter,
- or [2] SET OF Filter,
- not [3] Filter
-}
-
-FilterItem ::= CHOICE {
- equality [0] AttributeValueAssertion,
- substrings
- [1] SEQUENCE {type ATTRIBUTE.&id({SupportedAttributes}),
- strings
- SEQUENCE OF
- CHOICE {initial
- [0] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- any
- [1] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- final
- [2] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- control Attribute -- Used to specify interpretation of following items
- }},
- greaterOrEqual [2] AttributeValueAssertion,
- lessOrEqual [3] AttributeValueAssertion,
- present [4] AttributeType,
- approximateMatch [5] AttributeValueAssertion,
- extensibleMatch [6] MatchingRuleAssertion,
- contextPresent [7] AttributeTypeAssertion
-}
-
-MatchingRuleAssertion ::= SEQUENCE {
- matchingRule [1] SET SIZE (1..MAX) OF MATCHING-RULE.&id,
- type [2] AttributeType OPTIONAL,
- matchValue
- [3] MATCHING-RULE.&AssertionType
- (CONSTRAINED BY {
- -- matchValue must be a value of type specified by the &AssertionType field of
- -- one of the MATCHING-RULE information objects identified by matchingRule -- }),
- dnAttributes [4] BOOLEAN DEFAULT FALSE
-}
-
-PagedResultsRequest ::= CHOICE {
- newRequest
- SEQUENCE {pageSize INTEGER,
- sortKeys SEQUENCE SIZE (1..MAX) OF SortKey OPTIONAL,
- reverse [1] BOOLEAN DEFAULT FALSE,
- unmerged [2] BOOLEAN DEFAULT FALSE},
- queryReference OCTET STRING
-}
-
-SortKey ::= SEQUENCE {
- type AttributeType,
- orderingRule MATCHING-RULE.&id OPTIONAL
-}
-
-SecurityParameters ::= SET {
- certification-path [0] CertificationPath OPTIONAL,
- name [1] DistinguishedName OPTIONAL,
- time [2] Time OPTIONAL,
- random [3] BIT STRING OPTIONAL,
- target [4] ProtectionRequest OPTIONAL,
- response [5] BIT STRING OPTIONAL,
- operationCode [6] Code OPTIONAL,
- attributeCertificationPath [7] AttributeCertificationPath OPTIONAL,
- errorProtection [8] ErrorProtectionRequest OPTIONAL,
- errorCode [9] Code OPTIONAL
-}
-
-ProtectionRequest ::= INTEGER {
- none(0), signed(1), encrypted(2), signed-encrypted(3)}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-ErrorProtectionRequest ::= INTEGER {
- none(0), signed(1), encrypted(2), signed-encrypted(3)}
-
--- Bind and unbind operations
-directoryBind OPERATION ::= {
- ARGUMENT DirectoryBindArgument
- RESULT DirectoryBindResult
- ERRORS {directoryBindError}
-}
-
-DirectoryBindArgument ::= SET {
- credentials [0] Credentials OPTIONAL,
- versions [1] Versions DEFAULT {v1}
-}
-
-Credentials ::= CHOICE {
- simple [0] SimpleCredentials,
- strong [1] StrongCredentials,
- externalProcedure [2] EXTERNAL,
- spkm [3] SpkmCredentials
-}
-
-SimpleCredentials ::= SEQUENCE {
- name [0] DistinguishedName,
- validity
- [1] SET {time1 [0] CHOICE {utc UTCTime,
- gt GeneralizedTime} OPTIONAL,
- time2 [1] CHOICE {utc UTCTime,
- gt GeneralizedTime} OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL},
- password
- [2] CHOICE {unprotected OCTET STRING,
- protected SIGNATURE{OCTET STRING}} OPTIONAL
-}
-
-StrongCredentials ::= SET {
- certification-path [0] CertificationPath OPTIONAL,
- bind-token [1] Token,
- name [2] DistinguishedName OPTIONAL,
- attributeCertificationPath [3] AttributeCertificationPath OPTIONAL
-}
-
-SpkmCredentials ::= CHOICE {req [0] SPKM-REQ,
- rep [1] SPKM-REP-TI
-}
-
-Token ::=
- SIGNED
- {SEQUENCE {algorithm [0] AlgorithmIdentifier,
- name [1] DistinguishedName,
- time [2] Time,
- random [3] BIT STRING,
- response [4] BIT STRING OPTIONAL,
- bindIntAlgorithm
- [5] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL,
- bindIntKeyInfo [6] BindKeyInfo OPTIONAL,
- bindConfAlgorithm
- [7] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL,
- bindConfKeyInfo [8] BindKeyInfo OPTIONAL}}
-
-Versions ::= BIT STRING {v1(0), v2(1)}
-
-DirectoryBindResult ::= DirectoryBindArgument
-
-directoryBindError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {versions [0] Versions DEFAULT {v1},
- error
- CHOICE {serviceError [1] ServiceProblem,
- securityError [2] SecurityProblem}}}
-}
-
-BindKeyInfo ::= ENCRYPTED{BIT STRING}
-
-directoryUnbind OPERATION ::= emptyUnbind
-
--- Operations, arguments, and results
-read OPERATION ::= {
- ARGUMENT ReadArgument
- RESULT ReadResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-read
-}
-
-ReadArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- selection [1] EntryInformationSelection DEFAULT {},
- modifyRightsRequest [2] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonArguments}}
-
-ReadResult ::=
- OPTIONALLY-PROTECTED
- {SET {entry [0] EntryInformation,
- modifyRights [1] ModifyRights OPTIONAL,
- COMPONENTS OF CommonResults}}
-
-ModifyRights ::=
- SET OF
- SEQUENCE {item
- CHOICE {entry [0] NULL,
- attribute [1] AttributeType,
- value [2] AttributeValueAssertion},
- permission
- [3] BIT STRING {add(0), remove(1), rename(2), move(3)}
- }
-
-compare OPERATION ::= {
- ARGUMENT CompareArgument
- RESULT CompareResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-compare
-}
-
-CompareArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- purported [1] AttributeValueAssertion,
- COMPONENTS OF CommonArguments}}
-
-CompareResult ::=
- OPTIONALLY-PROTECTED
- {SET {name Name OPTIONAL,
- matched [0] BOOLEAN,
- fromEntry [1] BOOLEAN DEFAULT TRUE,
- matchedSubtype [2] AttributeType OPTIONAL,
- COMPONENTS OF CommonResults}}
-
-abandon OPERATION ::= {
- ARGUMENT AbandonArgument
- RESULT AbandonResult
- ERRORS {abandonFailed}
- CODE id-opcode-abandon
-}
-
-AbandonArgument ::=
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID [0] InvokeId}}
-
-AbandonResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID InvokeId,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-list OPERATION ::= {
- ARGUMENT ListArgument
- RESULT ListResult
- ERRORS {nameError | serviceError | referral | abandoned | securityError}
- CODE id-opcode-list
-}
-
-ListArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- pagedResults [1] PagedResultsRequest OPTIONAL,
- listFamily [2] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonArguments}}
-
-ListResult ::=
- OPTIONALLY-PROTECTED
- {CHOICE {listInfo
- SET {name Name OPTIONAL,
- subordinates
- [1] SET OF
- SEQUENCE {rdn RelativeDistinguishedName,
- aliasEntry [0] BOOLEAN DEFAULT FALSE,
- fromEntry [1] BOOLEAN DEFAULT TRUE
- },
- partialOutcomeQualifier
- [2] PartialOutcomeQualifier OPTIONAL,
- COMPONENTS OF CommonResults},
- uncorrelatedListInfo [0] SET OF ListResult}}
-
-PartialOutcomeQualifier ::= SET {
- limitProblem [0] LimitProblem OPTIONAL,
- unexplored
- [1] SET SIZE (1..MAX) OF ContinuationReference OPTIONAL,
- unavailableCriticalExtensions [2] BOOLEAN DEFAULT FALSE,
- unknownErrors
- [3] SET SIZE (1..MAX) OF ABSTRACT-SYNTAX.&Type OPTIONAL,
- queryReference [4] OCTET STRING OPTIONAL,
- overspecFilter [5] Filter OPTIONAL,
- notification
- [6] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL,
- entryCount
- CHOICE {bestEstimate [7] INTEGER,
- lowEstimate [8] INTEGER} OPTIONAL
-}
-
-LimitProblem ::= INTEGER {
- timeLimitExceeded(0), sizeLimitExceeded(1), administrativeLimitExceeded(2)
-}
-
-search OPERATION ::= {
- ARGUMENT SearchArgument
- RESULT SearchResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-search
-}
-
-SearchArgument ::=
- OPTIONALLY-PROTECTED
- {SET {baseObject [0] Name,
- subset
- [1] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)}
- DEFAULT baseObject,
- filter [2] Filter DEFAULT and:{},
- searchAliases [3] BOOLEAN DEFAULT TRUE,
- selection [4] EntryInformationSelection DEFAULT {},
- pagedResults [5] PagedResultsRequest OPTIONAL,
- matchedValuesOnly [6] BOOLEAN DEFAULT FALSE,
- extendedFilter [7] Filter OPTIONAL,
- checkOverspecified [8] BOOLEAN DEFAULT FALSE,
- relaxation [9] RelaxationPolicy OPTIONAL,
- extendedArea [10] INTEGER OPTIONAL,
- hierarchySelections [11] HierarchySelections DEFAULT {self},
- searchControlOptions
- [12] SearchControlOptions DEFAULT {searchAliases},
- COMPONENTS OF CommonArguments}}
-
-HierarchySelections ::= BIT STRING {
- self(0), children(1), parent(2), hierarchy(3), top(4), subtree(5),
- siblings(6), siblingChildren(7), siblingSubtree(8), all(9)}
-
-SearchControlOptions ::= BIT STRING {
- searchAliases(0), matchedValuesOnly(1), checkOverspecified(2),
- performExactly(3), includeAllAreas(4), noSystemRelaxation(5), dnAttribute(6),
- matchOnResidualName(7), entryCount(8), useSubset(9),
- separateFamilyMembers(10), searchFamily(11)}
-
-SearchResult ::=
- OPTIONALLY-PROTECTED
- {CHOICE {searchInfo
- SET {name Name OPTIONAL,
- entries [0] SET OF EntryInformation,
- partialOutcomeQualifier
- [2] PartialOutcomeQualifier OPTIONAL,
- altMatching [3] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonResults},
- uncorrelatedSearchInfo [0] SET OF SearchResult}}
-
-addEntry OPERATION ::= {
- ARGUMENT AddEntryArgument
- RESULT AddEntryResult
- ERRORS
- {attributeError | nameError | serviceError | referral | securityError |
- updateError}
- CODE id-opcode-addEntry
-}
-
-AddEntryArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- entry [1] SET OF Attribute,
- targetSystem [2] AccessPoint OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-AddEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
-}
-
-removeEntry OPERATION ::= {
- ARGUMENT RemoveEntryArgument
- RESULT RemoveEntryResult
- ERRORS {nameError | serviceError | referral | securityError | updateError}
- CODE id-opcode-removeEntry
-}
-
-RemoveEntryArgument ::=
- OPTIONALLY-PROTECTED{SET {object [0] Name,
- COMPONENTS OF CommonArguments}}
-
-RemoveEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
-}
-
-modifyEntry OPERATION ::= {
- ARGUMENT ModifyEntryArgument
- RESULT ModifyEntryResult
- ERRORS
- {attributeError | nameError | serviceError | referral | securityError |
- updateError}
- CODE id-opcode-modifyEntry
-}
-
-ModifyEntryArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- changes [1] SEQUENCE OF EntryModification,
- selection [2] EntryInformationSelection OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-ModifyEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {entry [0] EntryInformation OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-EntryModification ::= CHOICE {
- addAttribute [0] Attribute,
- removeAttribute [1] AttributeType,
- addValues [2] Attribute,
- removeValues [3] Attribute,
- alterValues [4] AttributeTypeAndValue,
- resetValue [5] AttributeType
-}
-
-modifyDN OPERATION ::= {
- ARGUMENT ModifyDNArgument
- RESULT ModifyDNResult
- ERRORS {nameError | serviceError | referral | securityError | updateError}
- CODE id-opcode-modifyDN
-}
-
-ModifyDNArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] DistinguishedName,
- newRDN [1] RelativeDistinguishedName,
- deleteOldRDN [2] BOOLEAN DEFAULT FALSE,
- newSuperior [3] DistinguishedName OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-ModifyDNResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {newRDN RelativeDistinguishedName,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
--- Errors and parameters
-abandoned ERROR ::= { -- not literally an "error"
- PARAMETER OPTIONALLY-PROTECTED {SET {COMPONENTS OF CommonResults}}
- CODE id-errcode-abandoned
-}
-
-abandonFailed ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] AbandonProblem,
- operation [1] InvokeId,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-abandonFailed
-}
-
-AbandonProblem ::= INTEGER {noSuchOperation(1), tooLate(2), cannotAbandon(3)}
-
-attributeError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- problems
- [1] SET OF
- SEQUENCE {problem [0] AttributeProblem,
- type [1] AttributeType,
- value [2] AttributeValue OPTIONAL},
- COMPONENTS OF CommonResults}}
- CODE id-errcode-attributeError
-}
-
-AttributeProblem ::= INTEGER {
- noSuchAttributeOrValue(1), invalidAttributeSyntax(2),
- undefinedAttributeType(3), inappropriateMatching(4), constraintViolation(5),
- attributeOrValueAlreadyExists(6), contextViolation(7)}
-
-nameError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] NameProblem,
- matched [1] Name,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-nameError
-}
-
-NameProblem ::= INTEGER {
- noSuchObject(1), aliasProblem(2), invalidAttributeSyntax(3),
- aliasDereferencingProblem(4), contextProblem(5)}
-
-referral ERROR ::= { -- not literally an "error"
- PARAMETER OPTIONALLY-PROTECTED
- {SET {candidate [0] ContinuationReference,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-referral
-}
-
-securityError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] SecurityProblem,
- spkmInfo [1] SPKM-ERROR,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-securityError
-}
-
-SecurityProblem ::= INTEGER {
- inappropriateAuthentication(1), invalidCredentials(2),
- insufficientAccessRights(3), invalidSignature(4), protectionRequired(5),
- noInformation(6), blockedCredentials(7), invalidQOPMatch(8), spkmError(9)
-}
-
-serviceError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] ServiceProblem,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-serviceError
-}
-
-ServiceProblem ::= INTEGER {
- busy(1), unavailable(2), unwillingToPerform(3), chainingRequired(4),
- unableToProceed(5), invalidReference(6), timeLimitExceeded(7),
- administrativeLimitExceeded(8), loopDetected(9),
- unavailableCriticalExtension(10), outOfScope(11), ditError(12),
- invalidQueryReference(13), requestedServiceNotAvailable(14),
- relaxationNotSupported(15), unavailableRelaxationLevel(16),
- unsupportedMatchingUse(17), unmatchedKeyAttributes(18),
- ambiguousKeyAttributes(19)}
-
-updateError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] UpdateProblem,
- attributeInfo
- [1] SET SIZE (1..MAX) OF
- CHOICE {attributeType AttributeType,
- attribute Attribute} OPTIONAL,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-updateError
-}
-
-UpdateProblem ::= INTEGER {
- namingViolation(1), objectClassViolation(2), notAllowedOnNonLeaf(3),
- notAllowedOnRDN(4), entryAlreadyExists(5), affectsMultipleDSAs(6),
- objectClassModificationProhibited(7), notAncestor(8), parentNotAncestor(9),
- hierarchyRuleViolation(10), familyRuleViolation(11)}
-
-id-at-family-information OBJECT IDENTIFIER ::= {id-at 64}
-
-END -- DirectoryAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryAccessProtocol.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryAccessProtocol.asn
deleted file mode 100644
index 10d6979f6d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryAccessProtocol.asn
+++ /dev/null
@@ -1,162 +0,0 @@
--- Module DirectoryAccessProtocol (X.519 TC2:08/1997)
-
-DirectoryAccessProtocol {joint-iso-itu-t ds(5) module(1) dap(11) 3} DEFINITIONS
-::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- directoryAbstractService, protocolObjectIdentifiers
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, CONNECTION-PACKAGE,
- Code, OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- ROS{}, Bind{}, Unbind{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- acse, pData
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- id-ac-directoryAccessAC, id-rosObject-dua, id-rosObject-directory,
- id-rosObject-dapDSA, id-contract-dap, id-package-dapConnection,
- id-package-read, id-package-search, id-package-modify,
- id-as-directoryAccessAS
- FROM ProtocolObjectIdentifiers protocolObjectIdentifiers
- directoryBind, directoryUnbind, read, compare, abandon, list, search,
- addEntry, removeEntry, modifyEntry, modifyDN
- FROM DirectoryAbstractService directoryAbstractService;
-
--- application contexts
-directoryAccessAC APPLICATION-CONTEXT ::= {
- CONTRACT dapContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directoryAccessAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-directoryAccessAC
-}
-
--- ROS objects
-dua ROS-OBJECT-CLASS ::= {INITIATES {dapContract}
- ID id-rosObject-dua
-}
-
-directory ROS-OBJECT-CLASS ::= {
- RESPONDS {dapContract}
- ID id-rosObject-directory
-}
-
-dap-dsa ROS-OBJECT-CLASS ::= {
- RESPONDS {dapContract}
- ID id-rosObject-dapDSA
-}
-
--- contracts
-dapContract CONTRACT ::= {
- CONNECTION dapConnectionPackage
- INITIATOR CONSUMER OF {readPackage | searchPackage | modifyPackage}
- ID id-contract-dap
-}
-
--- connection package
-dapConnectionPackage CONNECTION-PACKAGE ::= {
- BIND directoryBind
- UNBIND directoryUnbind
- ID id-package-dapConnection
-}
-
--- read package
-readPackage OPERATION-PACKAGE ::= {
- CONSUMER INVOKES {read | compare | abandon}
- ID id-package-read
-}
-
--- search package
-searchPackage OPERATION-PACKAGE ::= {
- CONSUMER INVOKES {list | search}
- ID id-package-search
-}
-
--- modify Package
-modifyPackage OPERATION-PACKAGE ::= {
- CONSUMER INVOKES {addEntry | removeEntry | modifyEntry | modifyDN}
- ID id-package-modify
-}
-
--- abstract syntaxes
-directoryAccessAbstractSyntax ABSTRACT-SYNTAX ::= {
- DAP-PDUs
- IDENTIFIED BY id-as-directoryAccessAS
-}
-
-DAP-PDUs ::= CHOICE {
- basicRos ROS{{DAP-InvokeIDSet}, {DAP-Invokable}, {DAP-Returnable}},
- bind Bind{directoryBind},
- unbind Unbind{directoryUnbind}
-}
-
-DAP-InvokeIDSet ::= InvokeId(ALL EXCEPT absent:NULL)
-
-DAP-Invokable OPERATION ::=
- {read | compare | abandon | list | search | addEntry | removeEntry |
- modifyEntry | modifyDN}
-
-DAP-Returnable OPERATION ::=
- {read | compare | abandon | list | search | addEntry | removeEntry |
- modifyEntry | modifyDN}
-
--- remote operation codes
-id-opcode-read Code ::= local:1
-
-id-opcode-compare Code ::= local:2
-
-id-opcode-abandon Code ::= local:3
-
-id-opcode-list Code ::= local:4
-
-id-opcode-search Code ::= local:5
-
-id-opcode-addEntry Code ::= local:6
-
-id-opcode-removeEntry Code ::= local:7
-
-id-opcode-modifyEntry Code ::= local:8
-
-id-opcode-modifyDN Code ::= local:9
-
--- remote error codes
-id-errcode-attributeError Code ::= local:1
-
-id-errcode-nameError Code ::= local:2
-
-id-errcode-serviceError Code ::= local:3
-
-id-errcode-referral Code ::= local:4
-
-id-errcode-abandoned Code ::= local:5
-
-id-errcode-securityError Code ::= local:6
-
-id-errcode-abandonFailed Code ::= local:7
-
-id-errcode-updateError Code ::= local:8
-
--- remote error code for DSP
-id-errcode-dsaReferral Code ::= local:9
-
-END -- DirectoryAccessProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryInformationShadowProtocol.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryInformationShadowProtocol.asn
deleted file mode 100644
index 91c0a865f7..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryInformationShadowProtocol.asn
+++ /dev/null
@@ -1,246 +0,0 @@
--- Module DirectoryInformationShadowProtocol (X.519 TC2:08/1997)
-
-DirectoryInformationShadowProtocol {joint-iso-itu-t ds(5) module(1) disp(16) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- directoryShadowAbstractService, protocolObjectIdentifiers
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, CONNECTION-PACKAGE,
- Code, OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- ROS{}, Bind{}, Unbind{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- acse, pData, association-by-RTSE, transfer-by-RTSE
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- id-ac-shadowSupplierInitiatedAC, id-ac-shadowSupplierInitiatedAsynchronousAC,
- id-ac-shadowConsumerInitiatedAC,
- id-ac-shadowConsumerInitiatedAsynchronousAC,
- id-ac-reliableShadowSupplierInitiatedAC,
- id-ac-reliableShadowConsumerInitiatedAC,
- id-rosObject-initiatingConsumerDSA, id-rosObject-respondingSupplierDSA,
- id-rosObject-initiatingSupplierDSA, id-rosObject-respondingConsumerDSA,
- id-contract-shadowConsumer, id-contract-shadowSupplier,
- id-package-dispConnection, id-package-shadowConsumer,
- id-package-shadowSupplier, id-as-directoryShadowAS,
- id-as-directoryReliableShadowAS, id-as-reliableShadowBindingAS
- FROM ProtocolObjectIdentifiers protocolObjectIdentifiers
- dSAShadowBind, dSAShadowUnbind, requestShadowUpdate, updateShadow,
- coordinateShadowUpdate
- FROM DirectoryShadowAbstractService directoryShadowAbstractService
- RTORQapdu, RTOACapdu, RTORJapdu
- FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)};
-
-RTSE-apdus ::= CHOICE {
- rtorq-apdu [16] IMPLICIT RTORQapdu,
- rtoac-apdu [17] IMPLICIT RTOACapdu,
- rtorj-apdu [18] IMPLICIT RTORJapdu,
- rttp-apdu RTTPapdu,
- rttr-apdu RTTRapdu,
- rtab-apdu [22] IMPLICIT RTABapdu
-}
-
-RTTPapdu ::= -- priority-- INTEGER
-
-RTTRapdu ::= OCTET STRING
-
-RTABapdu ::= SET {
- abortReason [0] IMPLICIT AbortReason OPTIONAL,
- reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
- -- 8 bits maximum, only if abortReason is invalidParameter
- userdataAB
- [2] TYPE-IDENTIFIER.&Type
- OPTIONAL -- only in normal mode and if abortReason--
- -- is userError
-}
-
-AbortReason ::= INTEGER {
- localSystemProblem(0),
- invalidParameter(1), -- reflectedParameter supplied
- unrecognizedActivity(2),
- temporaryProblem(3),
- -- the RTSE cannot accept a session for a period of time
- protocolError(4), -- RTSE level protocol error
- permanentProblem(5), --provider-abort solely in normal mode
- userError(6), -- user-abort solely in normal mode
- transferCompleted(7) -- activity can't be discarded--}
-
--- application contexts
-shadowSupplierInitiatedAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowSupplierContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directoryShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-shadowSupplierInitiatedAC
-}
-
-shadowSupplierInitiatedAsynchronousAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowSupplierContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directoryShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-shadowSupplierInitiatedAsynchronousAC
-}
-
-shadowConsumerInitiatedAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowConsumerContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directoryShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-shadowConsumerInitiatedAC
-}
-
-shadowConsumerInitiatedAsynchronousAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowConsumerContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directoryShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-shadowConsumerInitiatedAsynchronousAC
-}
-
-reliableShadowSupplierInitiatedAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowSupplierContract
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | reliableShadowBindingAbstractSyntax |
- directoryReliableShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-reliableShadowSupplierInitiatedAC
-}
-
-reliableShadowConsumerInitiatedAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowConsumerContract
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | reliableShadowBindingAbstractSyntax |
- directoryReliableShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-reliableShadowConsumerInitiatedAC
-}
-
--- ROS objects
-initiating-consumer-dsa ROS-OBJECT-CLASS ::= {
- INITIATES {shadowConsumerContract}
- ID id-rosObject-initiatingConsumerDSA
-}
-
-responding-supplier-dsa ROS-OBJECT-CLASS ::= {
- RESPONDS {shadowConsumerContract}
- ID id-rosObject-respondingSupplierDSA
-}
-
-initiating-supplier-dsa ROS-OBJECT-CLASS ::= {
- INITIATES {shadowSupplierContract}
- ID id-rosObject-initiatingSupplierDSA
-}
-
-responding-consumer-dsa ROS-OBJECT-CLASS ::= {
- RESPONDS {shadowSupplierContract}
- ID id-rosObject-respondingConsumerDSA
-}
-
--- contracts
-shadowConsumerContract CONTRACT ::= {
- CONNECTION dispConnectionPackage
- INITIATOR CONSUMER OF {shadowConsumerPackage}
- ID id-contract-shadowConsumer
-}
-
-shadowSupplierContract CONTRACT ::= {
- CONNECTION dispConnectionPackage
- RESPONDER CONSUMER OF {shadowSupplierPackage}
- ID id-contract-shadowSupplier
-}
-
--- connection package
-dispConnectionPackage CONNECTION-PACKAGE ::= {
- BIND dSAShadowBind
- UNBIND dSAShadowUnbind
- ID id-package-dispConnection
-}
-
--- packages
-shadowConsumerPackage OPERATION-PACKAGE ::= {
- CONSUMER INVOKES {requestShadowUpdate}
- SUPPLIER INVOKES {updateShadow}
- ID id-package-shadowConsumer
-}
-
-shadowSupplierPackage OPERATION-PACKAGE ::= {
- SUPPLIER INVOKES {coordinateShadowUpdate | updateShadow}
- ID id-package-shadowSupplier
-}
-
--- abstract syntaxes
-directoryShadowAbstractSyntax ABSTRACT-SYNTAX ::= {
- DISP-PDUs
- IDENTIFIED BY id-as-directoryShadowAS
-}
-
-directoryReliableShadowAbstractSyntax ABSTRACT-SYNTAX ::= {
- Reliable-DISP-PDUs
- IDENTIFIED BY id-as-directoryReliableShadowAS
-}
-
-reliableShadowBindingAbstractSyntax ABSTRACT-SYNTAX ::= {
- ReliableShadowBinding-PDUs
- IDENTIFIED BY id-as-reliableShadowBindingAS
-}
-
-DISP-PDUs ::= CHOICE {
- basicROS ROS{{DISP-InvokeIDSet}, {DISP-Invokable}, {DISP-Returnable}},
- bind Bind{dSAShadowBind},
- unbind Unbind{dSAShadowUnbind}
-}
-
-Reliable-DISP-PDUs ::=
- ROS{{DISP-InvokeIDSet}, {DISP-Invokable}, {DISP-Returnable}}
-
-ReliableShadowBinding-PDUs ::= CHOICE {
- rTS [0] RTSE-apdus,
- bind Bind{dSAShadowBind},
- unbind Unbind{dSAShadowUnbind}
-}
-
-DISP-InvokeIDSet ::= InvokeId(ALL EXCEPT absent:NULL)
-
-DISP-Invokable OPERATION ::=
- {requestShadowUpdate | updateShadow | coordinateShadowUpdate}
-
-DISP-Returnable OPERATION ::=
- {requestShadowUpdate | updateShadow | coordinateShadowUpdate}
-
--- remote operation codes
-id-opcode-requestShadowUpdate Code ::= local:1
-
-id-opcode-updateShadow Code ::= local:2
-
-id-opcode-coordinateShadowUpdate Code ::= local:3
-
--- remote error codes
-id-errcode-shadowError Code ::= local:1
-
-END -- DirectoryInformationShadowProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryOperationalBindingManagementProtocol.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryOperationalBindingManagementProtocol.asn
deleted file mode 100644
index e3e1f95621..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryOperationalBindingManagementProtocol.asn
+++ /dev/null
@@ -1,117 +0,0 @@
--- Module DirectoryOperationalBindingManagementProtocol (X.519 TC2:08/1997)
-
-DirectoryOperationalBindingManagementProtocol {joint-iso-itu-t ds(5)
- module(1) dop(17) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- protocolObjectIdentifiers, directoryAbstractService, opBindingManagement
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- directoryBind, directoryUnbind
- FROM DirectoryAbstractService directoryAbstractService
- ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, CONNECTION-PACKAGE,
- Code, OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- ROS{}, Bind{}, Unbind{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- acse, pData
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- id-ac-directoryOperationalBindingManagementAC, id-rosObject-dopDSA,
- id-contract-dop, id-package-dopConnection,
- id-package-operationalBindingManagement,
- id-as-directoryOperationalBindingManagementAS
- FROM ProtocolObjectIdentifiers protocolObjectIdentifiers
- establishOperationalBinding, modifyOperationalBinding,
- terminateOperationalBinding, dSAOperationalBindingManagementBind,
- dSAOperationalBindingManagementUnbind
- FROM OperationalBindingManagement opBindingManagement;
-
--- application contexts
-directoryOperationalBindingManagementAC APPLICATION-CONTEXT ::= {
- CONTRACT dopContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax |
- directoryOperationalBindingManagementAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-directoryOperationalBindingManagementAC
-}
-
--- ROS objects
-dop-dsa ROS-OBJECT-CLASS ::= {BOTH {dopContract}
- ID id-rosObject-dopDSA
-}
-
--- contracts
-dopContract CONTRACT ::= {
- CONNECTION dopConnectionPackage
- OPERATIONS OF {dopPackage}
- ID id-contract-dop
-}
-
--- connection package
-dopConnectionPackage CONNECTION-PACKAGE ::= {
- BIND dSAOperationalBindingManagementBind
- UNBIND dSAOperationalBindingManagementUnbind
- ID id-package-dopConnection
-}
-
--- packages
-dopPackage OPERATION-PACKAGE ::= {
- CONSUMER INVOKES
- {establishOperationalBinding | modifyOperationalBinding |
- terminateOperationalBinding}
- ID id-package-operationalBindingManagement
-}
-
--- abstract syntaxes
-directoryOperationalBindingManagementAbstractSyntax ABSTRACT-SYNTAX ::=
-{DOP-PDUs
- IDENTIFIED BY id-as-directoryOperationalBindingManagementAS
-}
-
-DOP-PDUs ::= CHOICE {
- basicRos ROS{{DOP-InvokeIDSet}, {DOP-Invokable}, {DOP-Returnable}},
- bind Bind{directoryBind},
- unbind Unbind{directoryUnbind}
-}
-
-DOP-InvokeIDSet ::= InvokeId(ALL EXCEPT absent:NULL)
-
-DOP-Invokable OPERATION ::=
- {establishOperationalBinding | modifyOperationalBinding |
- terminateOperationalBinding}
-
-DOP-Returnable OPERATION ::=
- {establishOperationalBinding | modifyOperationalBinding |
- terminateOperationalBinding}
-
--- remote operation codes
-id-op-establishOperationalBinding Code ::= local:100
-
-id-op-modifyOperationalBinding Code ::= local:102
-
-id-op-terminateOperationalBinding Code ::= local:101
-
--- remote error codes
-id-err-operationalBindingError Code ::= local:100
-
-END -- DirectoryOperationalBindingManagementProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryOperationalBindingTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryOperationalBindingTypes.asn
deleted file mode 100644
index 9df5d2783a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryOperationalBindingTypes.asn
+++ /dev/null
@@ -1,26 +0,0 @@
--- Module DirectoryOperationalBindingTypes (X.519 TC2:08/1997)
-
-DirectoryOperationalBindingTypes {joint-iso-itu-t ds(5) module(1)
- directoryOperationalBindingTypes(25) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-ob
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3};
-
-id-op-binding-shadow OBJECT IDENTIFIER ::= {id-ob 1}
-
-id-op-binding-hierarchical OBJECT IDENTIFIER ::= {id-ob 2}
-
-id-op-binding-non-specific-hierarchical OBJECT IDENTIFIER ::= {id-ob 3}
-
-END -- DirectoryOperationalBindingTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryProtectionMappings.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryProtectionMappings.asn
deleted file mode 100644
index 37c6cac261..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryProtectionMappings.asn
+++ /dev/null
@@ -1,70 +0,0 @@
--- Module DirectoryProtectionMappings (X.830:04/1995)
-
-DirectoryProtectionMappings {joint-iso-itu-t genericULS(20) modules(1)
- dirProtectionMappings(4)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- These protection mappings generate bit-compatible encodings
--- to the parameterized types in the Directory Authentication
--- Framework
--- EXPORTS All
-IMPORTS
- notation, gulsSecurityTransformations
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- PROTECTION-MAPPING
- FROM Notation notation
- dirEncryptedTransformation, dirSignedTransformation,
- dirSignatureTransformation
- FROM GulsSecurityTransformations gulsSecurityTransformations;
-
--- **************************************
--- Directory encrypted Protection Mapping
--- **************************************
--- This protection mapping enables the notation
--- PROTECTED {BaseType, encrypted}
--- to replace the notation
--- ENCRYPTED {BaseType}
--- as provided by ITU-T Rec. X.509 | ISO/IEC 9594-8:1994, and to
--- generate an identical bit-encoding.
--- Security Service: confidentiality
-encrypted PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION {dirEncryptedTransformation}
-}
-
--- ***********************************
--- Directory signed Protection Mapping
--- ***********************************
--- This protection mapping enables the notation
--- PROTECTED {BaseType, signed}
--- to replace the notation
--- SIGNED {BaseType}
--- as provided by ITU-T Rec. X.509 | ISO/IEC 9594-8:1994, and to
--- generate an identical bit-encoding.
--- Security Service: data origin authentication, data integrity and
--- (in certain situations) non-repudiation.
-signed PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION {dirSignedTransformation}
-}
-
--- **************************************
--- Directory signature Protection Mapping
--- **************************************
--- This protection mapping enables the notation
--- PROTECTED {BaseType, signature}
--- to provide a functionally-equivalent replacement of the notation
--- SIGNATURE BaseType
--- as provided by ITU-T Rec. X.509 | ISO/IEC 9594-8.
--- Security Service: data origin authentication, data integrity and
--- (in certain situations) non-repudiation.
-signature PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION {dirSignatureTransformation}
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryShadowAbstractService.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryShadowAbstractService.asn
deleted file mode 100644
index acbb692b6f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectoryShadowAbstractService.asn
+++ /dev/null
@@ -1,324 +0,0 @@
--- Module DirectoryShadowAbstractService (X.525:08/1997)
-DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1)
- directoryShadowAbstractService(15) 4} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the directory service.
-IMPORTS
- -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
- directoryAbstractService, directoryOperationalBindingTypes,
- informationFramework, disp, distributedOperations,
- dsaOperationalAttributeTypes, enhancedSecurity, opBindingManagement
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, AttributeType, CONTEXT, DistinguishedName,
- RelativeDistinguishedName, SubtreeSpecification
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3}
- OPERATIONAL-BINDING, OperationalBindingID
- FROM OperationalBindingManagement {joint-iso-itu-t ds(5) module(1)
- opBindingManagement(18) 3}
- DSEType, SupplierAndConsumers
- FROM DSAOperationalAttributeTypes {joint-iso-itu-t ds(5) module(1)
- dsaOperationalAttributeTypes(22) 3}
- OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
- FROM EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28)
- 1}
- -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
- CommonResultsSeq, ContextSelection, directoryBind, directoryUnbind,
- EntryModification, SecurityParameters
- FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
- directoryAbstractService(2) 3}
- -- from ITU-T Rec. X.518 | ISO/IEC 9594-4
- AccessPoint
- FROM DistributedOperations {joint-iso-itu-t ds(5) module(1)
- distributedOperations(3) 3}
- -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
- id-op-binding-shadow
- FROM DirectoryOperationalBindingTypes {joint-iso-itu-t ds(5) module(1)
- directoryOperationalBindingTypes(25) 3}
- id-errcode-shadowError, id-opcode-coordinateShadowUpdate,
- id-opcode-requestShadowUpdate, id-opcode-updateShadow,
- reliableShadowSupplierInitiatedAC, reliableShadowConsumerInitiatedAC,
- shadowConsumerInitiatedAC, shadowSupplierInitiatedAC
- FROM DirectoryInformationShadowProtocol {joint-iso-itu-t ds(5) module(1)
- disp(16) 3}
- -- from ITU-T Rec. X.880 | ISO/IEC 13712-1
- ERROR, OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
--- bind and unbind operations
-dSAShadowBind OPERATION ::= directoryBind
-
-dSAShadowUnbind OPERATION ::= directoryUnbind
-
--- shadow operational binding
-shadowOperationalBinding OPERATIONAL-BINDING ::= {
- AGREEMENT ShadowingAgreementInfo
- APPLICATION CONTEXTS
- {{shadowSupplierInitiatedAC
- APPLIES TO {All-operations-supplier-initiated}} |
- {shadowConsumerInitiatedAC
- APPLIES TO {All-operations-consumer-initiated}} |
- {reliableShadowSupplierInitiatedAC
- APPLIES TO {All-operations-supplier-initiated}} |
- {reliableShadowConsumerInitiatedAC
- APPLIES TO {All-operations-consumer-initiated}}}
- ASYMMETRIC ROLE-A
- { -- shadow supplier roleESTABLISHMENT-INITIATOR TRUE
- ESTABLISHMENT-PARAMETER NULL
- MODIFICATION-INITIATOR TRUE
- TERMINATION-INITIATOR TRUE}
- ROLE-B
- { -- shadow consumer roleESTABLISHMENT-INITIATOR TRUE
- ESTABLISHMENT-PARAMETER NULL
- MODIFICATION-INITIATOR TRUE
- MODIFICATION-PARAMETER ModificationParameter
- TERMINATION-INITIATOR TRUE}
- ID id-op-binding-shadow
-}
-
--- types
-ModificationParameter ::= SEQUENCE {
- secondaryShadows SET OF SupplierAndConsumers
-}
-
-AgreementID ::= OperationalBindingID
-
-ShadowingAgreementInfo ::= SEQUENCE {
- shadowSubject UnitOfReplication,
- updateMode UpdateMode DEFAULT supplierInitiated:onChange:TRUE,
- master AccessPoint OPTIONAL,
- secondaryShadows [2] BOOLEAN DEFAULT FALSE
-}
-
-UnitOfReplication ::= SEQUENCE {
- area AreaSpecification,
- attributes AttributeSelection,
- knowledge Knowledge OPTIONAL,
- subordinates BOOLEAN DEFAULT FALSE,
- contextSelection ContextSelection OPTIONAL,
- supplyContexts
- [0] CHOICE {allContexts NULL,
- selectedContexts SET SIZE (1..MAX) OF CONTEXT.&id} OPTIONAL
-}
-
-AreaSpecification ::= SEQUENCE {
- contextPrefix DistinguishedName,
- replicationArea SubtreeSpecification
-}
-
-Knowledge ::= SEQUENCE {
- knowledgeType ENUMERATED {master(0), shadow(1), both(2)},
- extendedKnowledge BOOLEAN DEFAULT FALSE
-}
-
-AttributeSelection ::= SET OF ClassAttributeSelection
-
-ClassAttributeSelection ::= SEQUENCE {
- class OBJECT IDENTIFIER OPTIONAL,
- classAttributes ClassAttributes DEFAULT allAttributes:NULL
-}
-
-ClassAttributes ::= CHOICE {
- allAttributes NULL,
- include [0] AttributeTypes,
- exclude [1] AttributeTypes
-}
-
-AttributeTypes ::= SET OF AttributeType
-
-UpdateMode ::= CHOICE {
- supplierInitiated [0] SupplierUpdateMode,
- consumerInitiated [1] ConsumerUpdateMode
-}
-
-SupplierUpdateMode ::= CHOICE {
- onChange BOOLEAN,
- scheduled SchedulingParameters
-}
-
-ConsumerUpdateMode ::= SchedulingParameters
-
-SchedulingParameters ::= SEQUENCE {
- periodic PeriodicStrategy OPTIONAL, -- must be present if othertimes is set to FALSE
- othertimes BOOLEAN DEFAULT FALSE
-}
-
-PeriodicStrategy ::= SEQUENCE {
- beginTime Time OPTIONAL,
- windowSize INTEGER,
- updateInterval INTEGER
-}
-
-Time ::= GeneralizedTime
-
--- as per 34.2 b) and c) of CCITT Rec. X.208 and ISO/IEC 8824
--- shadow operations, arguments, and results
-All-operations-consumer-initiated OPERATION ::=
- {requestShadowUpdate | updateShadow}
-
-All-operations-supplier-initiated OPERATION ::=
- {coordinateShadowUpdate | updateShadow}
-
-coordinateShadowUpdate OPERATION ::= {
- ARGUMENT CoordinateShadowUpdateArgument
- RESULT CoordinateShadowUpdateResult
- ERRORS {shadowError}
- CODE id-opcode-coordinateShadowUpdate
-}
-
-CoordinateShadowUpdateArgument ::=
- OPTIONALLY-PROTECTED
- {[0] SEQUENCE {agreementID AgreementID,
- lastUpdate Time OPTIONAL,
- updateStrategy
- CHOICE {standard
- ENUMERATED {noChanges(0), incremental(1),
- total(2)},
- other EXTERNAL},
- securityParameters SecurityParameters OPTIONAL}}
-
-CoordinateShadowUpdateResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED{[0] SEQUENCE {greementID AgreementID,
- lastUpdate Time OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-requestShadowUpdate OPERATION ::= {
- ARGUMENT RequestShadowUpdateArgument
- RESULT RequestShadowUpdateResult
- ERRORS {shadowError}
- CODE id-opcode-requestShadowUpdate
-}
-
-RequestShadowUpdateArgument ::=
- OPTIONALLY-PROTECTED
- {[0] SEQUENCE {agreementID AgreementID,
- lastUpdate Time OPTIONAL,
- requestedStrategy
- CHOICE {standard ENUMERATED {incremental(1), total(2)},
- other EXTERNAL},
- securityParameters SecurityParameters OPTIONAL}}
-
-RequestShadowUpdateResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED{[0] SEQUENCE {agreementID AgreementID,
- lastUpdate Time OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-updateShadow OPERATION ::= {
- ARGUMENT UpdateShadowArgument
- RESULT UpdateShadowResult
- ERRORS {shadowError}
- CODE id-opcode-updateShadow
-}
-
-UpdateShadowArgument ::=
- OPTIONALLY-PROTECTED
- {[0] SEQUENCE {agreementID AgreementID,
- updateTime Time,
- updateWindow UpdateWindow OPTIONAL,
- updatedInfo RefreshInformation,
- securityParameters SecurityParameters OPTIONAL}}
-
-UpdateShadowResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED{[0] SEQUENCE {agreementID AgreementID,
- lastUpdate Time OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-UpdateWindow ::= SEQUENCE {start Time,
- stop Time
-}
-
-RefreshInformation ::= CHOICE {
- noRefresh NULL,
- total [0] TotalRefresh,
- incremental [1] IncrementalRefresh,
- otherStrategy EXTERNAL
-}
-
-TotalRefresh ::= SEQUENCE {
- sDSE SDSEContent OPTIONAL,
- subtree SET SIZE (1..MAX) OF Subtree OPTIONAL
-}
-
-SDSEContent ::= SEQUENCE {
- sDSEType SDSEType,
- subComplete [0] BOOLEAN DEFAULT FALSE,
- attComplete [1] BOOLEAN OPTIONAL,
- attributes SET OF Attribute,
- attValIncomplete SET OF AttributeType DEFAULT {}
-}
-
-SDSEType ::= DSEType
-
-Subtree ::= SEQUENCE {
- rdn RelativeDistinguishedName,
- COMPONENTS OF TotalRefresh
-}
-
-IncrementalRefresh ::= SEQUENCE OF IncrementalStepRefresh
-
-IncrementalStepRefresh ::= SEQUENCE {
- sDSEChanges
- CHOICE {add [0] SDSEContent,
- remove NULL,
- modify [1] ContentChange} OPTIONAL,
- subordinateUpdates SEQUENCE SIZE (1..MAX) OF SubordinateChanges OPTIONAL
-}
-
-ContentChange ::= SEQUENCE {
- rename
- CHOICE {newRDN RelativeDistinguishedName,
- newDN DistinguishedName} OPTIONAL,
- attributeChanges
- CHOICE {replace [0] SET SIZE (1..MAX) OF Attribute,
- changes [1] SEQUENCE SIZE (1..MAX) OF EntryModification
- } OPTIONAL,
- sDSEType SDSEType,
- subComplete [2] BOOLEAN DEFAULT FALSE,
- attComplete [3] BOOLEAN OPTIONAL,
- attValIncomplete SET OF AttributeType DEFAULT {}
-}
-
-SubordinateChanges ::= SEQUENCE {
- subordinate RelativeDistinguishedName,
- changes IncrementalStepRefresh
-}
-
--- errors and parameters
-shadowError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED-SEQ
- {SEQUENCE {problem ShadowProblem,
- lastUpdate Time OPTIONAL,
- updateWindow UpdateWindow OPTIONAL,
- COMPONENTS OF CommonResultsSeq}}
- CODE id-errcode-shadowError
-}
-
-ShadowProblem ::= INTEGER {
- invalidAgreementID(1), inactiveAgreement(2), invalidInformationReceived(3),
- unsupportedStrategy(4), missedPrevious(5), fullUpdateRequired(6),
- unwillingToPerform(7), unsuitableTiming(8), updateAlreadyReceived(9),
- invalidSequencing(10), insufficientResources(11)}
-
-END -- DirectoryShadowAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectorySystemProtocol.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectorySystemProtocol.asn
deleted file mode 100644
index cace79d109..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DirectorySystemProtocol.asn
+++ /dev/null
@@ -1,118 +0,0 @@
--- Module DirectorySystemProtocol (X.519 TC2:08/1997)
-
-DirectorySystemProtocol {joint-iso-itu-t ds(5) module(1) dsp(12) 3} DEFINITIONS
-::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- distributedOperations, protocolObjectIdentifiers
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, CONNECTION-PACKAGE,
- Code, OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- ROS{}, Bind{}, Unbind{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- acse, pData
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- id-ac-directorySystemAC, id-rosObject-dspDSA, id-contract-dsp,
- id-package-dspConnection, id-package-chainedRead, id-package-chainedSearch,
- id-package-chainedModify, id-as-directorySystemAS
- FROM ProtocolObjectIdentifiers protocolObjectIdentifiers
- dSABind, dSAUnbind, chainedRead, chainedCompare, chainedAbandon, chainedList,
- chainedSearch, chainedAddEntry, chainedRemoveEntry, chainedModifyEntry,
- chainedModifyDN
- FROM DistributedOperations distributedOperations;
-
--- application contexts
-directorySystemAC APPLICATION-CONTEXT ::= {
- CONTRACT dspContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directorySystemAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-directorySystemAC
-}
-
--- ROS objects
-dsp-dsa ROS-OBJECT-CLASS ::= {BOTH {dspContract}
- ID id-rosObject-dspDSA
-}
-
--- contracts
-dspContract CONTRACT ::= {
- CONNECTION dspConnectionPackage
- OPERATIONS OF
- {chainedReadPackage | chainedSearchPackage | chainedModifyPackage}
- ID id-contract-dsp
-}
-
--- connection package
-dspConnectionPackage CONNECTION-PACKAGE ::= {
- BIND dSABind
- UNBIND dSAUnbind
- ID id-package-dspConnection
-}
-
--- chained read package
-chainedReadPackage OPERATION-PACKAGE ::= {
- OPERATIONS {chainedRead | chainedCompare | chainedAbandon}
- ID id-package-chainedRead
-}
-
--- chained search package
-chainedSearchPackage OPERATION-PACKAGE ::= {
- OPERATIONS {chainedList | chainedSearch}
- ID id-package-chainedSearch
-}
-
--- chained modify package
-chainedModifyPackage OPERATION-PACKAGE ::= {
- OPERATIONS
- {chainedAddEntry | chainedRemoveEntry | chainedModifyEntry |
- chainedModifyDN}
- ID id-package-chainedModify
-}
-
--- abstract syntaxes
-directorySystemAbstractSyntax ABSTRACT-SYNTAX ::= {
- DSP-PDUs
- IDENTIFIED BY id-as-directorySystemAS
-}
-
-DSP-PDUs ::= CHOICE {
- basicRos ROS{{DSP-InvokeIDSet}, {DSP-Invokable}, {DSP-Returnable}},
- bind Bind{dSABind},
- unbind Unbind{dSAUnbind}
-}
-
-DSP-InvokeIDSet ::= InvokeId(ALL EXCEPT absent:NULL)
-
-DSP-Invokable OPERATION ::=
- {chainedRead | chainedCompare | chainedAbandon | chainedList | chainedSearch
- | chainedAddEntry | chainedRemoveEntry | chainedModifyEntry |
- chainedModifyDN}
-
-DSP-Returnable OPERATION ::=
- {chainedRead | chainedCompare | chainedAbandon | chainedList | chainedSearch
- | chainedAddEntry | chainedRemoveEntry | chainedModifyEntry |
- chainedModifyDN}
-
-END -- DirectorySystemProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/DistributedOperations.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/DistributedOperations.asn
deleted file mode 100644
index 72e791f10c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/DistributedOperations.asn
+++ /dev/null
@@ -1,181 +0,0 @@
--- Module DistributedOperations (X.518 TC2:08/1997)
-
-DistributedOperations {joint-iso-itu-t ds(5) module(1) distributedOperations(3)
- 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, directoryAbstractService, distributedOperations,
- selectedAttributeTypes, basicAccessControl, dap, enhancedSecurity
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- DistinguishedName, Name, RDNSequence, SearchRuleId, MRMapping
- FROM InformationFramework informationFramework
- PresentationAddress, ProtocolInformation, UniqueIdentifier
- FROM SelectedAttributeTypes selectedAttributeTypes
- AuthenticationLevel
- FROM BasicAccessControl basicAccessControl
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- directoryBind, directoryUnbind, read, compare, abandon, list, search,
- addEntry, removeEntry, modifyEntry, modifyDN, referral, SecurityParameters,
- CommonResults
- FROM DirectoryAbstractService directoryAbstractService
- OPTIONALLY-PROTECTED{}
- FROM EnhancedSecurity enhancedSecurity
- id-errcode-dsaReferral
- FROM DirectoryAccessProtocol dap;
-
--- parameterized type for deriving chained operations
-chained{OPERATION:operation} OPERATION ::= {
- ARGUMENT OPTIONALLY-PROTECTED
- {SET {chainedArgument ChainingArguments,
- argument [0] operation.&ArgumentType}}
- RESULT OPTIONALLY-PROTECTED
- {SET {chainedResult ChainingResults,
- result [0] operation.&ResultType}}
- ERRORS
- {operation.&Errors EXCEPT referral | dsaReferral}
- CODE operation.&operationCode
-}
-
--- bind and unbind operations
-dSABind OPERATION ::= directoryBind
-
-dSAUnbind OPERATION ::= directoryUnbind
-
--- chained operations
-chainedRead OPERATION ::= chained{read}
-
-chainedCompare OPERATION ::= chained{compare}
-
-chainedAbandon OPERATION ::= abandon
-
-chainedList OPERATION ::= chained{list}
-
-chainedSearch OPERATION ::= chained{search}
-
-chainedAddEntry OPERATION ::= chained{addEntry}
-
-chainedRemoveEntry OPERATION ::= chained{removeEntry}
-
-chainedModifyEntry OPERATION ::= chained{modifyEntry}
-
-chainedModifyDN OPERATION ::= chained{modifyDN}
-
--- errors and parameters
-dsaReferral ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {reference [0] ContinuationReference,
- contextPrefix [1] DistinguishedName OPTIONAL,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-dsaReferral
-}
-
--- common arguments and results
-ChainingArguments ::= SET {
- originator [0] DistinguishedName OPTIONAL,
- targetObject [1] DistinguishedName OPTIONAL,
- operationProgress
- [2] OperationProgress DEFAULT {nameResolutionPhase notStarted},
- traceInformation [3] TraceInformation,
- aliasDereferenced [4] BOOLEAN DEFAULT FALSE,
- aliasedRDNs [5] INTEGER OPTIONAL,
- -- only present in 1988 systems
- returnCrossRefs [6] BOOLEAN DEFAULT FALSE,
- referenceType [7] ReferenceType DEFAULT superior,
- info [8] DomainInfo OPTIONAL,
- timeLimit [9] Time OPTIONAL,
- securityParameters [10] SecurityParameters DEFAULT {},
- entryOnly [11] BOOLEAN DEFAULT FALSE,
- uniqueIdentifier [12] UniqueIdentifier OPTIONAL,
- authenticationLevel [13] AuthenticationLevel OPTIONAL,
- exclusions [14] Exclusions OPTIONAL,
- excludeShadows [15] BOOLEAN DEFAULT FALSE,
- nameResolveOnMaster [16] BOOLEAN DEFAULT FALSE,
- operationIdentifier [17] INTEGER OPTIONAL,
- searchRuleId [18] SearchRuleId OPTIONAL,
- chainedRelaxation [19] MRMapping OPTIONAL
-}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-ChainingResults ::= SET {
- info [0] DomainInfo OPTIONAL,
- crossReferences [1] SEQUENCE (SIZE (1..MAX)) OF CrossReference OPTIONAL,
- securityParameters [2] SecurityParameters DEFAULT {},
- alreadySearched [3] Exclusions OPTIONAL
-}
-
-CrossReference ::= SET {
- contextPrefix [0] DistinguishedName,
- accessPoint [1] AccessPointInformation,
- chainingRequired [2] BOOLEAN DEFAULT FALSE
-}
-
-ReferenceType ::= ENUMERATED {
- superior(1), subordinate(2), cross(3), nonSpecificSubordinate(4),
- supplier(5), master(6), immediateSuperior(7), self(8)}
-
-TraceInformation ::= SEQUENCE OF TraceItem
-
-TraceItem ::= SET {
- dsa [0] Name,
- targetObject [1] Name OPTIONAL,
- operationProgress [2] OperationProgress
-}
-
-OperationProgress ::= SET {
- nameResolutionPhase
- [0] ENUMERATED {notStarted(1), proceeding(2), completed(3)},
- nextRDNToBeResolved [1] INTEGER OPTIONAL
-}
-
-DomainInfo ::= ABSTRACT-SYNTAX.&Type
-
-ContinuationReference ::= SET {
- targetObject [0] Name,
- aliasedRDNs [1] INTEGER OPTIONAL, -- only present in 1988 systems
- operationProgress [2] OperationProgress,
- rdnsResolved [3] INTEGER OPTIONAL,
- referenceType [4] ReferenceType,
- accessPoints [5] SET OF AccessPointInformation,
- entryOnly [6] BOOLEAN DEFAULT FALSE,
- exclusions [7] Exclusions OPTIONAL,
- returnToDUA [8] BOOLEAN DEFAULT FALSE,
- nameResolveOnMaster [9] BOOLEAN DEFAULT FALSE
-}
-
-AccessPoint ::= SET {
- ae-title [0] Name,
- address [1] PresentationAddress,
- protocolInformation [2] SET OF ProtocolInformation OPTIONAL,
- chainingRequired [3] BOOLEAN DEFAULT FALSE
-}
-
-AccessPointInformation ::= SET {
- COMPONENTS OF MasterOrShadowAccessPoint,
- additionalPoints [5] MasterAndShadowAccessPoints OPTIONAL
-}
-
-MasterOrShadowAccessPoint ::= SET {
- COMPONENTS OF AccessPoint,
- category [4] ENUMERATED {master(0), shadow(1)} DEFAULT master
-}
-
-MasterAndShadowAccessPoints ::= SET OF MasterOrShadowAccessPoint
-
-Exclusions ::= SET OF RDNSequence
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Document-Profile-Descriptor.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Document-Profile-Descriptor.asn
deleted file mode 100644
index d8c15b7afa..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Document-Profile-Descriptor.asn
+++ /dev/null
@@ -1,464 +0,0 @@
--- Module Document-Profile-Descriptor (T.415:03/1993)
-
-Document-Profile-Descriptor {2 8 1 5 6} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Document-Profile-Descriptor, Character-Data, Document-Reference,
- Date-and-Time, Dates-and-Times, Personal-Name, Originators,
- Other-User-Information, Local-File-References, Security-Information,
- Document-Description,
- External-References ,
- Sealed-Doc-Bodyparts, ODA-Version;
-
-IMPORTS
- Resource-Name, Object-or-Class-Identifier, Protected-Part-Identifier,
- Style-Identifier
- FROM Identifiers-and-Expressions -- see 7.8
-
- Measure-Pair, Transparency, Colour, Dimension-Pair, One-Of-Four-Angles,
- Border, Medium-Type, Comment-String, Content-Background-Colour,
- Content-Foreground-Colour
- FROM Layout-Descriptors -- see 7.9
-
- Protection
- FROM Logical-Descriptors -- see 7.10
-
- Content-Architecture-Class, Content-Type, Block-Alignment, Fill-Order
- FROM Style-Descriptors -- see 7.11
-
- Type-Of-Coding
- FROM Text-Units -- see 7.13
-
- Colour-Characteristics, Colour-Spaces-List, Colour-Expression, Colour-Table
- FROM Colour-Attributes -- see 7.14
-
- Character-Content-Defaults, Character-Presentation-Feature,
- Character-Coding-Attribute
- FROM Character-Profile-Attributes {2 8 1 6 4
- } -- see ITU-T Rec. T.416 | ISO/IEC 8613-6
- Raster-Gr-Content-Defaults, Ra-Gr-Presentation-Feature,
- Ra-Gr-Coding-Attribute
- FROM Raster-Gr-Profile-Attributes {2 8 1 7 4
- } -- see ITU-T Rec. T.417 | ISO/IEC 8613-7
- Geo-Gr-Content-Defaults, Geo-Gr-Presentation-Feature, Geo-Gr-Coding-Attribute
- FROM Geo-Gr-Profile-Attributes {2 8 1 8 4
- } -- see ITU-T Rec. T.418 | ISO/IEC 8613-8
- Font-Attribute-Set
- FROM ISO-STANDARD-9541-FONT-ATTRIBUTE-SET {1 0 9541 2 2
- } -- see ISO/IEC 9541-2
- Document-Presentation-Time, Time-Scaling
- FROM Temporal-Relationships {2 8 1 14 0};
-
--- See ITU-T Rec. T.424 | ISO/IEC 8613-14
-Document-Profile-Descriptor ::= SET {
- generic-layout-structure [0] IMPLICIT NumericString OPTIONAL,
- specific-layout-structure [1] IMPLICIT NumericString OPTIONAL,
- generic-logical-structure [4] IMPLICIT NumericString OPTIONAL,
- specific-logical-structure [5] IMPLICIT NumericString OPTIONAL,
- presentation-styles [6] IMPLICIT NumericString OPTIONAL,
- layout-styles [7] IMPLICIT NumericString OPTIONAL,
- sealed-profiles [12] IMPLICIT NumericString OPTIONAL,
- enciphered-profiles [13] IMPLICIT NumericString OPTIONAL,
- preenciphered-bodyparts [14] IMPLICIT NumericString OPTIONAL,
- postenciphered-bodyparts [15] IMPLICIT NumericString OPTIONAL,
- -- for the generic structures,
- -- 'partial-generator-set' is represented by "0", 'complete-generator-set'
- -- is represented by "1", 'factor-set' is represented by "2";
- -- for the other cases, the numeric string has the value 'present'
- -- represented by "1"
- external-document-class [9] Document-Reference OPTIONAL,
- resource-document [10] Document-Reference OPTIONAL,
- resources
- [11] IMPLICIT SET OF
- SET {resource-identifier Resource-Name,
- object-class-identifier Object-or-Class-Identifier
- } OPTIONAL,
- document-characteristics [2] IMPLICIT Document-Characteristics,
- document-management-attributes
- [3] IMPLICIT Document-Management-Attributes OPTIONAL,
- document-security-attributes
- [16] IMPLICIT Document-Security-Attributes OPTIONAL,
- links [17] IMPLICIT NumericString OPTIONAL,
- link-classes [18] IMPLICIT NumericString OPTIONAL,
- enciphered-links [19] IMPLICIT NumericString OPTIONAL,
- temporal-relations [20] IMPLICIT NumericString OPTIONAL
-}
-
-Document-Characteristics ::= SET {
- document-application-profile
- CHOICE {a [0] IMPLICIT INTEGER {group-4-facsimile(2)},
- b [4] IMPLICIT OBJECT IDENTIFIER} OPTIONAL,
- doc-appl-profile-defaults
- [10] IMPLICIT Doc-Appl-Profile-Defaults OPTIONAL,
- document-architecture-class
- [1] IMPLICIT INTEGER {formatted(0), processable(1),
- formatted-processable(2)},
- content-architecture-classes [5] IMPLICIT SET OF OBJECT IDENTIFIER,
- interchange-format-class [6] IMPLICIT INTEGER {if-a(0), if-b(1)},
- oda-version [8] IMPLICIT ODA-Version,
- alternative-feature-sets
- [11] IMPLICIT SET OF SET OF OBJECT IDENTIFIER OPTIONAL,
- non-basic-doc-characteristics
- [2] IMPLICIT Non-Basic-Doc-Characteristics OPTIONAL,
- non-basic-struc-characteristics
- [3] IMPLICIT Non-Basic-Struc-Characteristics OPTIONAL,
- additional-doc-characteristics
- [9] IMPLICIT Additional-Doc-Characteristics OPTIONAL
-}
-
-ODA-Version ::= SEQUENCE {
- standard-or-recommendation Character-Data,
- publication-date Date-and-Time
-}
-
-Doc-Appl-Profile-Defaults ::= SET {
- document-architecture-defaults
- [0] IMPLICIT Document-Architecture-Defaults OPTIONAL,
- character-content-defaults
- [1] IMPLICIT Character-Content-Defaults OPTIONAL,
- raster-gr-content-defaults
- [2] IMPLICIT Raster-Gr-Content-Defaults OPTIONAL,
- geo-gr-content-defaults
- [3] IMPLICIT Geo-Gr-Content-Defaults OPTIONAL,
- -- the following tags are reserved for additional types
- -- of content defaults:
- -- [4] videotex, for use in conjunction with CCITT Recommendations
- -- [5] audio
- -- [6] dynamic-graphics
- external-content-architecture-defaults
- [7] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-Document-Architecture-Defaults ::= SET {
- content-architecture-class
- CHOICE {a [0] IMPLICIT Content-Architecture-Class,
- b [1] IMPLICIT Content-Type} OPTIONAL,
- page-dimensions [2] IMPLICIT Measure-Pair OPTIONAL,
- transparency [3] IMPLICIT Transparency OPTIONAL,
- colour [4] IMPLICIT Colour OPTIONAL,
- colour-of-layout-object [11] Colour-Expression OPTIONAL,
- object-colour-table [12] IMPLICIT Colour-Table OPTIONAL,
- content-background-colour [13] Content-Background-Colour OPTIONAL,
- content-foreground-colour [14] Content-Foreground-Colour OPTIONAL,
- content-colour-table [15] IMPLICIT Colour-Table OPTIONAL,
- layout-path [5] IMPLICIT One-Of-Four-Angles OPTIONAL,
- medium-type [6] IMPLICIT Medium-Type OPTIONAL,
- block-alignment [7] IMPLICIT Block-Alignment OPTIONAL,
- border [8] IMPLICIT Border OPTIONAL,
- page-position [9] IMPLICIT Measure-Pair OPTIONAL,
- type-of-coding [10] Type-Of-Coding OPTIONAL
-}
-
-Non-Basic-Doc-Characteristics ::= SET {
- profile-character-sets [5] IMPLICIT OCTET STRING OPTIONAL,
- comments-character-sets [1] IMPLICIT OCTET STRING OPTIONAL,
- alternative-repr-char-sets [6] IMPLICIT OCTET STRING OPTIONAL,
- -- each of these octet strings represents a string of escape sequences
- page-dimensions [2] IMPLICIT SET OF Dimension-Pair OPTIONAL,
- medium-types [8] IMPLICIT SET OF Medium-Type OPTIONAL,
- layout-paths
- [21] IMPLICIT SET OF One-Of-Four-Angles OPTIONAL,
- transparencies [22] IMPLICIT SET OF Transparency OPTIONAL,
- protections [23] IMPLICIT SET OF Protection OPTIONAL,
- block-alignments
- [24] IMPLICIT SET OF Block-Alignment OPTIONAL,
- fill-orders [25] IMPLICIT SET OF Fill-Order OPTIONAL,
- colours [26] IMPLICIT SET OF Colour OPTIONAL,
- colours-of-layout-object
- [30] IMPLICIT SET OF Colour-Expression OPTIONAL,
- object-colour-tables [31] IMPLICIT SET OF Colour-Table OPTIONAL,
- content-background-colours
- [32] IMPLICIT SET OF Content-Background-Colour OPTIONAL,
- content-foreground-colours
- [33] IMPLICIT SET OF Content-Foreground-Colour OPTIONAL,
- content-colour-tables [34] IMPLICIT SET OF Colour-Table OPTIONAL,
- borders [27] IMPLICIT SET OF Border OPTIONAL,
- page-positions [28] IMPLICIT SET OF Measure-Pair OPTIONAL,
- types-of-coding [29] IMPLICIT SET OF Type-Of-Coding OPTIONAL,
- character-presentation-features
- [9] IMPLICIT SET OF Character-Presentation-Feature OPTIONAL,
- ra-gr-presentation-features
- [4] IMPLICIT SET OF Ra-Gr-Presentation-Feature OPTIONAL,
- geo-gr-presentation-features
- [12] IMPLICIT SET OF Geo-Gr-Presentation-Feature OPTIONAL,
- character-coding-attributes
- [16] IMPLICIT SET OF Character-Coding-Attribute OPTIONAL,
- ra-gr-coding-attributes
- [3] IMPLICIT SET OF Ra-Gr-Coding-Attribute OPTIONAL,
- geo-gr-coding-attributes
- [17] IMPLICIT SET OF Geo-Gr-Coding-Attribute OPTIONAL,
- ext-non-basic-pres-features [10] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL,
- ext-non-basic-coding-attributes [11] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-Non-Basic-Struc-Characteristics ::= SET {
- number-of-objects-per-page [0] IMPLICIT INTEGER OPTIONAL
-}
-
-Additional-Doc-Characteristics ::= SET {
- unit-scaling [3] IMPLICIT SEQUENCE {a INTEGER,
- b INTEGER} OPTIONAL,
- fonts-list [2] IMPLICIT Fonts-List OPTIONAL,
- colour-characteristics [0] IMPLICIT Colour-Characteristics OPTIONAL,
- colour-spaces-list [1] IMPLICIT Colour-Spaces-List OPTIONAL,
- assured-reproduction-areas [5] IMPLICIT Assured-Reproduction-Areas OPTIONAL,
- time-scaling [6] IMPLICIT Time-Scaling OPTIONAL,
- document-presentation-time [7] IMPLICIT Document-Presentation-Time OPTIONAL
-}
-
-Fonts-List ::=
- SET OF SET {font-identifier INTEGER,
- font-reference Font-Reference}
-
-Font-Reference ::= SET {
- user-visible-name [0] IMPLICIT Comment-String OPTIONAL,
- user-readable-comment [1] IMPLICIT Comment-String OPTIONAL,
- reference-properties
- [2] IMPLICIT SET OF
- SET {precedence-number [0] IMPLICIT INTEGER OPTIONAL,
- properties [1] IMPLICIT Font-Attribute-Set,
- user-readable-comment
- [2] IMPLICIT Comment-String OPTIONAL}
-}
-
-Assured-Reproduction-Areas ::=
- SET OF
- SET {nominal-page-size [0] IMPLICIT Measure-Pair,
- assured-reproduction-area
- [1] SET {position [0] IMPLICIT Measure-Pair,
- dimensions [1] IMPLICIT Measure-Pair}}
-
-Document-Management-Attributes ::= SET {
- document-description [7] IMPLICIT Document-Description OPTIONAL,
- dates-and-times [0] IMPLICIT Dates-and-Times OPTIONAL,
- originators [1] IMPLICIT Originators OPTIONAL,
- other-user-information [2] IMPLICIT Other-User-Information OPTIONAL,
- external-references [3] IMPLICIT External-References OPTIONAL,
- local-file-references [4] IMPLICIT Local-File-References OPTIONAL,
- content-attributes [5] IMPLICIT Content-Attributes OPTIONAL,
- security-information [6] IMPLICIT Security-Information OPTIONAL
-}
-
-Document-Description ::= SET {
- title [0] IMPLICIT Character-Data OPTIONAL,
- subject [1] IMPLICIT Character-Data OPTIONAL,
- document-type [2] IMPLICIT Character-Data OPTIONAL,
- abstract [3] IMPLICIT Character-Data OPTIONAL,
- keywords [4] IMPLICIT SET OF Character-Data OPTIONAL,
- document-reference [5] Document-Reference OPTIONAL
-}
-
-Character-Data ::= [APPLICATION 3] IMPLICIT OCTET STRING
-
--- string of characters from the sets designated by the attribute
--- "profile character sets", plus space, carriage return and line feed
-Document-Reference ::= CHOICE {
- unique-reference OBJECT IDENTIFIER,
- descriptive-reference Character-Data
-}
-
-Dates-and-Times ::= SET {
- document-date-and-time [0] IMPLICIT Date-and-Time OPTIONAL,
- creation-date-and-time [1] IMPLICIT Date-and-Time OPTIONAL,
- local-filing-date-and-time [2] IMPLICIT SEQUENCE OF Date-and-Time OPTIONAL,
- expiry-date-and-time [3] IMPLICIT Date-and-Time OPTIONAL,
- start-date-and-time [4] IMPLICIT Date-and-Time OPTIONAL,
- purge-date-and-time [5] IMPLICIT Date-and-Time OPTIONAL,
- release-date-and-time [6] IMPLICIT Date-and-Time OPTIONAL,
- revision-history
- [7] IMPLICIT SEQUENCE OF
- SET {revision-date-and-time
- [0] IMPLICIT Date-and-Time OPTIONAL,
- version-identifier
- [1] IMPLICIT Character-Data OPTIONAL,
- revisers
- [2] IMPLICIT SET OF
- SET {names
- [0] IMPLICIT SET OF
- Personal-Name
- OPTIONAL,
- position
- [1] IMPLICIT Character-Data
- OPTIONAL,
- organization
- [2] IMPLICIT Character-Data
- OPTIONAL} OPTIONAL,
- version-reference
- [3] Document-Reference OPTIONAL,
- user-comments
- [4] IMPLICIT Character-Data OPTIONAL} OPTIONAL
-}
-
-Date-and-Time ::= [APPLICATION 4] IMPLICIT PrintableString
-
-Originators ::= SET {
- organizations [0] IMPLICIT SET OF Character-Data OPTIONAL,
- preparers
- [1] IMPLICIT SEQUENCE OF
- SET {personal-name [0] IMPLICIT Personal-Name OPTIONAL,
- organization [1] IMPLICIT Character-Data OPTIONAL
- } OPTIONAL,
- owners
- [2] IMPLICIT SEQUENCE OF
- SET {personal-name [0] IMPLICIT Personal-Name OPTIONAL,
- organization [1] IMPLICIT Character-Data OPTIONAL
- } OPTIONAL,
- authors
- [3] IMPLICIT SEQUENCE OF
- SET {personal-name [0] IMPLICIT Personal-Name OPTIONAL,
- organization [1] IMPLICIT Character-Data OPTIONAL
- } OPTIONAL
-}
-
-Personal-Name ::= [APPLICATION 6] IMPLICIT SET {
- surname [0] IMPLICIT Character-Data,
- givenname [1] IMPLICIT Character-Data OPTIONAL,
- initials [2] IMPLICIT Character-Data OPTIONAL,
- generation-qualifier [3] IMPLICIT Character-Data OPTIONAL
-}
-
-Other-User-Information ::= SET {
- copyright
- [0] IMPLICIT SET OF
- SET {copyright-information
- [0] IMPLICIT SET OF Character-Data OPTIONAL,
- copyright-dates
- [1] IMPLICIT SET OF Date-and-Time OPTIONAL} OPTIONAL,
- status [1] IMPLICIT Character-Data OPTIONAL,
- user-specific-codes [2] IMPLICIT SET OF Character-Data OPTIONAL,
- distribution-list
- [3] IMPLICIT SEQUENCE OF
- SET {personal-name [0] IMPLICIT Personal-Name OPTIONAL,
- organization [1] IMPLICIT Character-Data OPTIONAL
- } OPTIONAL,
- additional-information [5] TYPE-IDENTIFIER.&Type OPTIONAL
-}
-
-External-References ::=
- SET {
- references-to-other-documents
- [0] IMPLICIT SET OF Document-Reference OPTIONAL,
- superseded-documents
- [1] IMPLICIT SET OF Document-Reference OPTIONAL
-}
-
-Local-File-References ::=
- SET OF
- SET {file-name [0] IMPLICIT Character-Data OPTIONAL,
- location [1] IMPLICIT Character-Data OPTIONAL,
- user-comments [2] IMPLICIT Character-Data OPTIONAL}
-
-Content-Attributes ::= SET {
- document-size [1] IMPLICIT INTEGER OPTIONAL,
- number-of-pages [2] IMPLICIT INTEGER OPTIONAL,
- languages [4] IMPLICIT SET OF Character-Data OPTIONAL
-}
-
-Security-Information ::= SET {
- authorization
- CHOICE {person [0] IMPLICIT Personal-Name,
- organization [4] IMPLICIT Character-Data} OPTIONAL,
- security-classification [1] IMPLICIT Character-Data OPTIONAL,
- access-rights [2] IMPLICIT SET OF Character-Data OPTIONAL
-}
-
-Document-Security-Attributes ::= SET {
- sealed-info-encoding [7] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
- oda-security-label [0] IMPLICIT Oda-Security-Label OPTIONAL,
- sealed-doc-profiles [1] IMPLICIT Sealed-Doc-Profiles OPTIONAL,
- presealed-doc-bodyparts [2] IMPLICIT Sealed-Doc-Bodyparts OPTIONAL,
- postsealed-doc-bodyparts [3] IMPLICIT Sealed-Doc-Bodyparts OPTIONAL,
- enciphered-doc-profiles [4] IMPLICIT Protected-Doc-Parts OPTIONAL,
- preenciphered-doc-bodyparts [5] IMPLICIT Protected-Doc-Parts OPTIONAL,
- postenciphered-doc-bodyparts [6] IMPLICIT Protected-Doc-Parts OPTIONAL,
- sealed-links [8] IMPLICIT Sealed-Doc-Bodyparts OPTIONAL
-}
-
-Oda-Security-Label ::= SEQUENCE {
- oda-label-text [0] IMPLICIT Character-Data OPTIONAL,
- oda-label-data [1] IMPLICIT OCTET STRING OPTIONAL
-}
-
-Seal-Data ::= SEQUENCE {
- seal-method [0] IMPLICIT Seal-Method OPTIONAL,
- sealed-information [1] IMPLICIT Sealed-Information OPTIONAL,
- seal [2] IMPLICIT OCTET STRING
-}
-
-Seal-Method ::= SEQUENCE {
- fingerprint-method [0] IMPLICIT Method-Information OPTIONAL,
- fingerprint-key-information [1] IMPLICIT Key-Information OPTIONAL,
- sealing-method [2] IMPLICIT Method-Information OPTIONAL,
- sealing-key-information [3] IMPLICIT Key-Information OPTIONAL
-}
-
-Sealed-Information ::= SEQUENCE {
- fingerprint [0] IMPLICIT OCTET STRING OPTIONAL,
- time [1] IMPLICIT Date-and-Time OPTIONAL,
- sealing-orig-id [2] IMPLICIT Personal-Name OPTIONAL,
- location [3] IMPLICIT Location OPTIONAL
-}
-
-Method-Information ::= SEQUENCE {
- unique-method-info [0] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
- descriptive-method-info [1] IMPLICIT Character-Data OPTIONAL
-}
-
-Key-Information ::= SEQUENCE {
- method-information [0] IMPLICIT Method-Information OPTIONAL,
- additional-information [1] IMPLICIT Additional-Information OPTIONAL
-}
-
-Additional-Information ::= SEQUENCE {
- descriptive-information [0] IMPLICIT Character-Data OPTIONAL,
- octet-string [1] IMPLICIT OCTET STRING OPTIONAL
-}
-
-Location ::= SEQUENCE {
- unique-location [0] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
- descriptive-location [1] IMPLICIT Character-Data OPTIONAL
-}
-
-Sealed-Doc-Profiles ::=
- SET OF
- SEQUENCE {sealed-doc-prof-descriptor-id
- [0] IMPLICIT Protected-Part-Identifier,
- privileged-recipients
- [1] IMPLICIT SET OF Personal-Name OPTIONAL,
- doc-prof-seal [2] IMPLICIT Seal-Data}
-
-Sealed-Doc-Bodyparts ::=
- SET OF
- SEQUENCE {seal-id [0] IMPLICIT INTEGER,
- sealed-constituents [1] IMPLICIT Sealed-Constituents,
- privileged-recipients [2] IMPLICIT SET OF Personal-Name OPTIONAL,
- doc-bodypart-seal [3] IMPLICIT Seal-Data}
-
-Sealed-Constituents ::= SEQUENCE {
- object-class-identifiers
- [0] IMPLICIT SEQUENCE OF Object-or-Class-Identifier OPTIONAL,
- presentation-style-identifiers
- [1] IMPLICIT SEQUENCE OF Style-Identifier OPTIONAL,
- layout-style-identifiers
- [2] IMPLICIT SEQUENCE OF Style-Identifier OPTIONAL,
- object-identifiers
- [3] IMPLICIT SEQUENCE OF Object-or-Class-Identifier OPTIONAL
-}
-
-Protected-Doc-Parts ::=
- SET OF
- SEQUENCE {protected-doc-part-id [0] IMPLICIT Protected-Part-Identifier,
- priv-recipients-info [1] IMPLICIT SET OF Priv-Recipients-Info
- }
-
-Priv-Recipients-Info ::= SEQUENCE {
- privileged-recipients [0] IMPLICIT SET OF Personal-Name OPTIONAL,
- encipherment-method-info [1] IMPLICIT Method-Information OPTIONAL,
- encipherment-key-info [2] IMPLICIT Key-Information OPTIONAL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/EnhancedSecurity.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/EnhancedSecurity.asn
deleted file mode 100644
index 9991a59454..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/EnhancedSecurity.asn
+++ /dev/null
@@ -1,363 +0,0 @@
--- Module EnhancedSecurity (X.501:08/1997)
-EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28) 1}
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS All
-IMPORTS
- -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
- authenticationFramework, basicAccessControl, certificateExtensions,
- id-at, id-avc, id-mr, informationFramework, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, ATTRIBUTE, AttributeType, Context, CONTEXT, MATCHING-RULE,
- Name, objectIdentifierMatch, SupportedAttributes
- FROM InformationFramework informationFramework
- AttributeTypeAndValue
- FROM BasicAccessControl basicAccessControl
- -- from ITU-T Rec. X.509 | ISO/IEC 9594-8
- AlgorithmIdentifier, CertificateSerialNumber, ENCRYPTED{}, HASH{},
- SIGNED{}
- FROM AuthenticationFramework authenticationFramework
- GeneralName, KeyIdentifier
- FROM CertificateExtensions certificateExtensions
- ub-privacy-mark-length
- FROM UpperBounds upperBounds;
-
--- from GULS
--- SECURITY-TRANSFORMATION, PROTECTION-MAPPING, PROTECTED
--- FROM Notation { joint-iso-ccitt genericULS (20) modules (1) notation (1) }
---dirSignedTransformation, KEY-INFORMATION
--- FROM GulsSecurityTransformations { joint-iso-ccitt genericULS (20) modules (1)
--- gulsSecurityTransformations (3) }
--- signed
--- FROM GulsSecurityTransformations { joint-iso-ccitt genericULS (20) modules (1)
--- dirProtectionMappings (4) };
--- The "signed" Protection Mapping and associated "dirSignedTransformations" imported
--- from the Generic Upper Layers Security specification (ITU-T Rec. X.830 | ISO/IEC 11586-1)
--- results in identical encoding as the same data type used with the SIGNED as defined in
--- ITU-T REC. X.509 | ISO/IEC 9594-8
--- The three statements below are provided temporarily to allow signed operations to be supported as in edition 3.
-OPTIONALLY-PROTECTED{Type} ::= CHOICE {unsigned Type,
- signed SIGNED{Type}
-}
-
-OPTIONALLY-PROTECTED-SEQ{Type} ::= CHOICE {
- unsigned Type,
- signed [0] SIGNED{Type}
-}
-
--- The following out-commented ASN.1 specification are know to be erroneous and are therefore deprecated.
--- genEncryptedTransform {KEY-INFORMATION: SupportedKIClasses } SECURITY-TRANSFORMATION ::=
--- {
--- IDENTIFIER { enhancedSecurity gen-encrypted(2) }
--- INITIAL-ENCODING-RULES { joint-iso-itu-t asn1(1) ber(1) }
--- This default for initial encoding rules may be overridden
--- using a static protected parameter (initEncRules).
--- XFORMED-DATA-TYPE SEQUENCE {
--- initEncRules OBJECT IDENTIFIER DEFAULT { joint-iso-itu-t asn1(1) ber(1) },
--- encAlgorithm AlgorithmIdentifier OPTIONAL, -- -- Identifies the encryption algorithm,
--- keyInformation SEQUENCE {
--- kiClass KEY-INFORMATION.&kiClass ({SupportedKIClasses}),
--- keyInfo KEY-INFORMATION.&KiType ({SupportedKIClasses} {@kiClass})
--- } OPTIONAL,
--- Key information may assume various formats, governed by supported members
--- of the KEY-INFORMATION information object class (defined in ITU-T
--- Rec. X.830 | ISO/IEC 11586-1)
--- encData BIT STRING ( CONSTRAINED BY {
--- the encData value must be generated following
--- the procedure specified in 17.3.1-- -- })
--- }
--- }
--- encrypted PROTECTION-MAPPING ::= {
--- SECURITY-TRANSFORMATION { genEncryptedTransform } }
--- signedAndEncrypt PROTECTION-MAPPING ::= {
--- SECURITY-TRANSFORMATION { signedAndEncryptedTransform } }
--- signedAndEncryptedTransform {KEY-INFORMATION: SupportedKIClasses}
--- SECURITY-TRANSFORMATION ::= {
--- IDENTIFIER { enhancedSecurity dir-encrypt-sign (1) }
--- INITIAL-ENCODING-RULES { joint-iso-itu-t asn1 (1) ber-derived (2) distinguished-encoding (1) }
--- XFORMED-DATA-TYPE
--- PROTECTED
--- {
--- PROTECTED
--- {
--- ABSTRACT-SYNTAX.&Type,
--- signed
--- },
--- encrypted
--- }
--- }
--- OPTIONALLY-PROTECTED {ToBeProtected, PROTECTION-MAPPING:generalProtection} ::=
--- CHOICE {
--- toBeProtected ToBeProtected,
---no DIRQOP specified for operation
--- signed PROTECTED {ToBeProtected, signed},
---DIRQOP is Signed
--- protected [APPLICATION 0]
--- PROTECTED { ToBeProtected, generalProtection } }
---DIRQOP is other than Signed
--- defaultDirQop ATTRIBUTE ::= {
--- WITH SYNTAX OBJECT IDENTIFIER
--- EQUALITY MATCHING RULE objectIdentifierMatch
--- USAGE directoryOperation
--- ID id-at-defaultDirQop }
--- DIRQOP ::= CLASS
--- This information object class is used to define the quality of protection
--- required throughout directory operation.
--- The Quality Of Protection can be signed, encrypted, signedAndEncrypt
--- {
--- &dirqop-Id OBJECT IDENTIFIER UNIQUE,
--- &dirBindError-QOP PROTECTION-MAPPING:protectionReqd,
--- &dirErrors-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapReadArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapReadRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapCompareArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapCompareRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapListArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapListRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapSearchArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapSearchRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapAbandonArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapAbandonRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapAddEntryArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapAddEntryRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapRemoveEntryArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapRemoveEntryRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapModifyEntryArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapModifyEntryRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapModifyDNArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapModifyDNRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dspChainedOp-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispShadowAgreeInfo-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispCoorShadowArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispCoorShadowRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispUpdateShadowArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispUpdateShadowRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispRequestShadowUpdateArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispRequestShadowUpdateRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopEstablishOpBindArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopEstablishOpBindRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopModifyOpBindArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopModifyOpBindRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopTermOpBindArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopTermOpBindRes-QOP PROTECTION-MAPPING:protectionReqd
--- }
--- WITH SYNTAX
--- {
--- DIRQOP-ID &dirqop-Id
--- DIRECTORYBINDERROR-QOP &dirBindError-QOP
--- DIRERRORS-QOP &dirErrors-QOP
--- DAPREADARG-QOP &dapReadArg-QOP
--- DAPREADRES-QOP &dapReadRes-QOP
--- DAPCOMPAREARG-QOP &dapCompareArg-QOP
--- DAPCOMPARERES-QOP &dapCompareRes-QOP
--- DAPLISTARG-QOP &dapListArg-QOP
--- DAPLISTRES-QOP &dapListRes-QOP
--- DAPSEARCHARG-QOP &dapSearchArg-QOP
--- DAPSEARCHRES-QOP &dapSearchRes-QOP
--- DAPABANDONARG-QOP &dapAbandonArg-QOP
--- DAPABANDONRES-QOP &dapAbandonRes-QOP
--- DAPADDENTRYARG-QOP &dapAddEntryArg-QOP
--- DAPADDENTRYRES-QOP &dapAddEntryRes-QOP
--- DAPREMOVEENTRYARG-QOP &dapRemoveEntryArg-QOP
--- DAPREMOVEENTRYRES-QOP &dapRemoveEntryRes-QOP
--- DAPMODIFYENTRYARG-QOP &dapModifyEntryArg-QOP
--- DAPMODIFYENTRYRES-QOP &dapModifyEntryRes-QOP
--- DAPMODIFYDNARG-QOP &dapModifyDNArg-QOP
--- DAPMODIFYDNRES-QOP &dapModifyDNRes-QOP
--- DSPCHAINEDOP-QOP &dspChainedOp-QOP
--- DISPSHADOWAGREEINFO-QOP &dispShadowAgreeInfo-QOP
--- DISPCOORSHADOWARG-QOP &dispCoorShadowArg-QOP
--- DISPCOORSHADOWRES-QOP &dispCoorShadowRes-QOP
--- DISPUPDATESHADOWARG-QOP &dispUpdateShadowArg-QOP
--- DISPUPDATESHADOWRES-QOP &dispUpdateShadowRes-QOP
--- DISPREQUESTSHADOWUPDATEARG-QOP &dispRequestShadowUpdateArg-QOP
--- DISPREQUESTSHADOWUPDATERES-QOP &dispRequestShadowUpdateRes-QOP
--- DOPESTABLISHOPBINDARG-QOP &dopEstablishOpBindArg-QOP
--- DOPESTABLISHOPBINDRES-QOP &dopEstablishOpBindRes-QOP
--- DOPMODIFYOPBINDARG-QOP &dopModifyOpBindArg-QOP
--- DOPMODIFYOPBINDRES-QOP &dopModifyOpBindRes-QOP
--- DOPTERMINATEOPBINDARG-QOP &dopTermOpBindArg-QOP
--- DOPTERMINATEOPBINDRES-QOP &dopTermOpBindRes-QOP
--- }
-attributeValueSecurityLabelContext CONTEXT ::= {
- WITH SYNTAX
- SignedSecurityLabel -- At most one security label context can be assigned to an
- -- attribute value
- ID id-avc-attributeValueSecurityLabelContext
-}
-
-SignedSecurityLabel ::=
- SIGNED
- {SEQUENCE {attHash HASH{AttributeTypeAndValue},
- issuer Name OPTIONAL, -- name of labelling authority
- keyIdentifier KeyIdentifier OPTIONAL,
- securityLabel SecurityLabel}}
-
-SecurityLabel ::= SET {
- security-policy-identifier SecurityPolicyIdentifier OPTIONAL,
- security-classification SecurityClassification OPTIONAL,
- privacy-mark PrivacyMark OPTIONAL,
- security-categories SecurityCategories OPTIONAL
-}(ALL EXCEPT ({ --none, at least one component shall be presen--}))
-
-SecurityPolicyIdentifier ::= OBJECT IDENTIFIER
-
-SecurityClassification ::= INTEGER {
- unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
- top-secret(5)}
-
-PrivacyMark ::= PrintableString(SIZE (1..ub-privacy-mark-length))
-
-SecurityCategories ::= SET SIZE (1..MAX) OF SecurityCategory
-
-clearance ATTRIBUTE ::= {WITH SYNTAX Clearance
- ID id-at-clearance
-}
-
-Clearance ::= SEQUENCE {
- policyId OBJECT IDENTIFIER,
- classList ClassList DEFAULT {unclassified},
- securityCategories SET SIZE (1..MAX) OF SecurityCategory OPTIONAL
-}
-
-ClassList ::= BIT STRING {
- unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
- topSecret(5)}
-
-SecurityCategory ::= SEQUENCE {
- type [0] SECURITY-CATEGORY.&id({SecurityCategoriesTable}),
- value [1] EXPLICIT SECURITY-CATEGORY.&Type({SecurityCategoriesTable}{@type})
-}
-
-SECURITY-CATEGORY ::= TYPE-IDENTIFIER
-
-SecurityCategoriesTable SECURITY-CATEGORY ::=
- {...}
-
-attributeIntegrityInfo ATTRIBUTE ::= {
- WITH SYNTAX AttributeIntegrityInfo
- ID id-at-attributeIntegrityInfo
-}
-
-AttributeIntegrityInfo ::=
- SIGNED
- {SEQUENCE {scope Scope, -- Identifies the attributes protected
- signer Signer OPTIONAL, -- Authority or data originators name
- attribsHash AttribsHash}} -- Hash value of protected attributes
-
-Signer ::= CHOICE {
- thisEntry [0] EXPLICIT ThisEntry,
- thirdParty [1] SpecificallyIdentified
-}
-
-ThisEntry ::= CHOICE {onlyOne NULL,
- specific IssuerAndSerialNumber
-}
-
-IssuerAndSerialNumber ::= SEQUENCE {
- issuer Name,
- serial CertificateSerialNumber
-}
-
-SpecificallyIdentified ::= SEQUENCE {
- name GeneralName,
- issuer GeneralName OPTIONAL,
- serial CertificateSerialNumber OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- issuer PRESENT,
- serial PRESENT
- } | (WITH COMPONENTS {
- ...,
- issuer ABSENT,
- serial ABSENT
- }))
-
-Scope ::= CHOICE {
- wholeEntry [0] NULL, -- Signature protects all attribute values in this entry
- selectedTypes [1] SelectedTypes
- -- Signature protects all attribute values of the selected attribute types
-}
-
-SelectedTypes ::= SEQUENCE SIZE (1..MAX) OF AttributeType
-
-AttribsHash ::= HASH{SEQUENCE SIZE (1..MAX) OF Attribute}
-
--- Attribute type and values with associated context values for the selected Scope
-attributeValueIntegrityInfoContext CONTEXT ::= {
- WITH SYNTAX AttributeValueIntegrityInfo
- ID id-avc-attributeValueIntegrityInfoContext
-}
-
-AttributeValueIntegrityInfo ::=
- SIGNED
- {SEQUENCE {signer Signer OPTIONAL, -- Authority or data originators name
- aVIHash AVIHash}} -- Hash value of protected attribute
-
-AVIHash ::= HASH{AttributeTypeValueContexts}
-
--- Attribute type and value with associated context values
-AttributeTypeValueContexts ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- contextList SET SIZE (1..MAX) OF Context OPTIONAL
-}
-
--- The following out-commented ASN.1 specification are know to be erroneous and are therefore deprecated.
--- EncryptedAttributeSyntax {AttributeSyntax} ::= SEQUENCE {
--- keyInfo SEQUENCE OF KeyIdOrProtectedKey,
--- encAlg AlgorithmIdentifier,
--- encValue ENCRYPTED { AttributeSyntax } }
--- KeyIdOrProtectedKey ::= SEQUENCE {
--- keyIdentifier [0] KeyIdentifier OPTIONAL,
--- protectedKeys [1] ProtectedKey OPTIONAL }
--- At least one key identifier or protected key must be present
--- ProtectedKey ::= SEQUENCE {
--- authReaders AuthReaders,-- -- if absent, use attribute in authorized reader entry
--- keyEncAlg AlgorithmIdentifier OPTIONAL, -- -- algorithm to encrypt encAttrKey
--- encAttKey EncAttKey }
--- confidentiality key protected with authorized user's
--- protection mechanism
--- AuthReaders ::= SEQUENCE OF Name
--- EncAttKey ::= PROTECTED {SymmetricKey, keyProtection}
--- SymmetricKey ::= BIT STRING
--- keyProtection PROTECTION-MAPPING ::= {
--- SECURITY-TRANSFORMATION {genEncryption} }
--- confKeyInfo ATTRIBUTE ::= {
--- WITH SYNTAX ConfKeyInfo
--- EQUALITY MATCHING RULE readerAndKeyIDMatch
--- ID id-at-confKeyInfo }
--- ConfKeyInfo ::= SEQUENCE {
--- keyIdentifier KeyIdentifier,
--- protectedKey ProtectedKey }
--- readerAndKeyIDMatch MATCHING-RULE ::= {
--- SYNTAX ReaderAndKeyIDAssertion
--- ID id-mr-readerAndKeyIDMatch }
--- ReaderAndKeyIDAssertion ::= SEQUENCE {
--- keyIdentifier KeyIdentifier,
--- authReaders AuthReaders OPTIONAL }
--- Object identifier assignments
--- attributes
-id-at-clearance OBJECT IDENTIFIER ::=
- {id-at 55}
-
--- id-at-defaultDirQop OBJECT IDENTIFIER ::= {id-at 56}
-id-at-attributeIntegrityInfo OBJECT IDENTIFIER ::=
- {id-at 57}
-
--- id-at-confKeyInfo OBJECT IDENTIFIER ::= {id-at 60}
--- matching rules
--- id-mr-readerAndKeyIDMatch OBJECT IDENTIFIER ::= {id-mr 43}
--- contexts
-id-avc-attributeValueSecurityLabelContext OBJECT IDENTIFIER ::=
- {id-avc 3}
-
-id-avc-attributeValueIntegrityInfoContext OBJECT IDENTIFIER ::= {id-avc 4}
-
-END -- EnhancedSecurity
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/External-References.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/External-References.asn
deleted file mode 100644
index 9a7d4936a6..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/External-References.asn
+++ /dev/null
@@ -1,49 +0,0 @@
--- Module External-References (T.422:08/1995)
-
-External-References {2 8 1 12 1} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-EXPORTS External-References-List, Reference-Name;
-
-IMPORTS
- Location-Expression
- FROM Location-Expressions {2 8 1 12 0}
- -- see 7.4
- DOR
- FROM DOR-definition {2 4 0}
- -- see ISO/IEC 10031-2
- DistinguishedName
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3};
-
--- see ITU-T Rec. X.501 � ISO/IEC 9594-2
-External-References-List ::=
- SET OF
- SET {reference-name [1] Reference-Name,
- external-entity [2] External-Entity,
- location-rule [3] Location-Expression OPTIONAL}
-
-Reference-Name ::= PrintableString
-
-External-Entity ::= CHOICE {
- external-info [0] External-Information-Name,
- object-id [1] OBJECT IDENTIFIER,
- dor [2] DOR,
- distinguished [3] DistinguishedName,
- associated-info [4] Associated-Information-Name
-}
-
-External-Information-Name ::= SEQUENCE {
- string [0] PrintableString,
- object-id [1] OBJECT IDENTIFIER OPTIONAL
-}
-
-Associated-Information-Name ::= SEQUENCE {
- string [0] PrintableString,
- object-id [1] OBJECT IDENTIFIER OPTIONAL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/GULSProtectionMappings.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/GULSProtectionMappings.asn
deleted file mode 100644
index 9b6a426ca2..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/GULSProtectionMappings.asn
+++ /dev/null
@@ -1,71 +0,0 @@
--- Module GULSProtectionMappings (X.830:04/1995)
-
-GULSProtectionMappings {joint-iso-itu-t genericULS(20) modules(1)
- gulsProtectionMappings(5)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- These protection mappings are more versatile that the
--- preceding protection mappings which were specifically designed
--- to generate identical bit-encodings as the Directory
--- Authentication Framework parameterized types.
--- EXPORTS All
-IMPORTS
- notation, gulsSecurityTransformations
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- PROTECTION-MAPPING
- FROM Notation notation
- dirEncryptedTransformation, gulsSignedTransformation{},
- gulsSignatureTransformation, symmetricKeyInformation,
- asymmetricKeyInformation
- FROM GulsSecurityTransformations gulsSecurityTransformations;
-
--- **********************************
--- confidentiality Protection Mapping
--- **********************************
--- This protection mapping enables the notation
--- PROTECTED {BaseType, confidentiality}
--- to map to either dirEncryptedTransformation or to no transformation
--- at the choice of the encoding system, dependent upon local security
--- policy and other local environment considerations.
--- Security Service: confidentiality
-confidentiality PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION {dirEncryptedTransformation}
- BYPASS-PERMITTED TRUE
-}
-
--- ******************************
--- GULS signed Protection Mapping
--- ******************************
--- This protection mapping causes the notation
--- PROTECTED {BaseType, signed}
--- to map to the gulsSignedTransformation.
--- Security Service: data origin authentication, data integrity and
--- (in certain situations) non-repudiation.
-signed PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION
- {gulsSignedTransformation
- {{symmetricKeyInformation | asymmetricKeyInformation}}}
-}
-
--- *********************************
--- GULS signature Protection Mapping
--- *********************************
--- This protection mapping causes the notation
--- PROTECTED {BaseType, signature}
--- to map to the gulsSignatureTransformation.
--- Security Service: data origin authentication, data integrity and
--- (in certain situations) non-repudiation.
-signature PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION
- {gulsSignatureTransformation
- {{symmetricKeyInformation | asymmetricKeyInformation}}}
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/GenericProtectingTransferSyntax.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/GenericProtectingTransferSyntax.asn
deleted file mode 100644
index c59451dcdb..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/GenericProtectingTransferSyntax.asn
+++ /dev/null
@@ -1,66 +0,0 @@
--- Module GenericProtectingTransferSyntax (X.833:04/1995)
-
-GenericProtectingTransferSyntax {joint-iso-itu-t genericULS(20) modules(1)
- genericProtectingTransferSyntax(7)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-EXPORTS SyntaxStructure{};
-
-IMPORTS
- notation
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- SECURITY-TRANSFORMATION, ExternalSAID
- FROM Notation notation;
-
-SyntaxStructure{SECURITY-TRANSFORMATION:ValidSTs} ::= CHOICE {
- firstPdvExplicit FirstPdvExplicit{{ValidSTs}},
- -- To be used on the first PDV of a protecting presentation
- -- context, or a protected PDV sent outside a presentation
- -- context, in the case of a presentation-context-bound or
- -- single-item-bound security association.
- firstPdvExternal FirstPdvExternal{{ValidSTs}},
- -- To be used on the first PDV of a protecting presentation
- -- context, or a protected PDV sent outside a presentation
- -- context, in the case of an externally established
- -- security association.
- subsequentPdv SubsequentPdv{{ValidSTs}}
- -- To be used on a subsequent PDV in a protecting
- -- presentation context.
-}
-
-FirstPdvExplicit{SECURITY-TRANSFORMATION:ValidSTs} ::= SEQUENCE {
- transformationId SECURITY-TRANSFORMATION.&sT-Identifier({ValidSTs}),
- staticUnprotParm
- SECURITY-TRANSFORMATION.&StaticUnprotectedParm
- ({ValidSTs}{@transformationId}) OPTIONAL,
- dynamicUnprotParm
- SECURITY-TRANSFORMATION.&DynamicUnprotectedParm
- ({ValidSTs}{@transformationId}) OPTIONAL,
- xformedData
- SECURITY-TRANSFORMATION.&XformedDataType({ValidSTs}{@transformationId})
-}
-
-FirstPdvExternal{SECURITY-TRANSFORMATION:ValidSTs} ::= SEQUENCE {
- externalSAID ExternalSAID,
- dynamicUnprotParm
- SECURITY-TRANSFORMATION.&DynamicUnprotectedParm({ValidSTs}) OPTIONAL,
- -- Actual member of ValidSTs is as implied
- -- by externalSAID
- xformedData SECURITY-TRANSFORMATION.&XformedDataType({ValidSTs})
- -- Actual member of ValidSTs is as implied
- -- by externalSAID
-}
-
-SubsequentPdv{SECURITY-TRANSFORMATION:ValidSTs} ::= SEQUENCE {
- dynamicUnprotParm
- SECURITY-TRANSFORMATION.&DynamicUnprotectedParm({ValidSTs}) OPTIONAL,
- xformedData SECURITY-TRANSFORMATION.&XformedDataType({ValidSTs})
- -- Actual member of ValidSTs is implied
- -- by presentation context
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Coding-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Coding-Attributes.asn
deleted file mode 100644
index 60acbb3b5c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Coding-Attributes.asn
+++ /dev/null
@@ -1,16 +0,0 @@
--- Module Geo-Gr-Coding-Attributes (T.418:03/1993)
-
-Geo-Gr-Coding-Attributes {2 8 1 8 3} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Geo-Gr-Coding-Attributes;
-
-Geo-Gr-Coding-Attributes ::= SET {
-}
-
--- no geometric graphics coding attributes are defined
--- in this Specification
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Presentation-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Presentation-Attributes.asn
deleted file mode 100644
index 84c1ee9851..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Presentation-Attributes.asn
+++ /dev/null
@@ -1,265 +0,0 @@
--- Module Geo-Gr-Presentation-Attributes (T.418:03/1993)
-
-Geo-Gr-Presentation-Attributes {2 8 1 8 2} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-EXPORTS
- Geometric-Graphics-Attributes, Line-Rendition, Marker-Rendition,
- Text-Rendition, Filled-Area-Rendition, Edge-Rendition,
- Colour-Representations, Transparency-Specification,
- Transformation-Specification, Region-Of-Interest-Specification,
- Picture-Orientation, Picture-Dimensions, ASF-Type, VDC-Pair,
- One-Of-Four-Angles;
-
-Geometric-Graphics-Attributes ::= SET {
- line-rendition [1] Line-Rendition OPTIONAL,
- marker-rendition [2] Marker-Rendition OPTIONAL,
- text-rendition [3] Text-Rendition OPTIONAL,
- filled-area-rendition [4] Filled-Area-Rendition OPTIONAL,
- edge-rendition [5] Edge-Rendition OPTIONAL,
- colour-representations [6] Colour-Representations OPTIONAL,
- transparency-specification [7] Transparency-Specification OPTIONAL,
- transformation-specification [8] Transformation-Specification OPTIONAL,
- region-of-interest-specification
- [9] Region-Of-Interest-Specification OPTIONAL,
- picture-orientation [10] Picture-Orientation OPTIONAL,
- picture-dimensions [11] Picture-Dimensions OPTIONAL
-}
-
-ASF-Type ::= ENUMERATED {bundled(0), individual(1)}
-
-Colour ::= CHOICE {indexed [0] INTEGER,
- direct [1] RGB
-}
-
-RGB ::= SEQUENCE {red REAL,
- green REAL,
- blue REAL
-}
-
-SpecificationMode ::= ENUMERATED {absolute(0), scaled(1)}
-
-Line-Rendition ::= SEQUENCE {
- line-width-specification-mode [0] SpecificationMode OPTIONAL,
- line-bundle-index [1] INTEGER OPTIONAL,
- line-type [2] INTEGER OPTIONAL,
- line-width [3] Scaled-or-Absolute OPTIONAL,
- line-colour [4] Colour OPTIONAL,
- line-aspect-source-flags
- [5] SEQUENCE {line-type-asf ASF-Type,
- line-width-asf ASF-Type,
- line-colour-asf ASF-Type} OPTIONAL,
- line-bundle-specifications
- [6] SEQUENCE OF
- SEQUENCE {line-bundle-index INTEGER,
- line-bundle-representation
- SEQUENCE {line-type INTEGER,
- line-width Scaled-or-Absolute,
- line-colour Colour}} OPTIONAL
-}
-
-Scaled-or-Absolute ::= CHOICE {
- absolute
- [0] CHOICE { -- absolute--vdc-int [0] INTEGER, -- for VDC Type INTEGER--
- vdc-real [1] REAL}, -- for VDC Type REAL
- scaled [1] REAL
-} -- scaled
-
-Marker-Rendition ::= SEQUENCE {
- marker-size-specification-mode [0] SpecificationMode OPTIONAL,
- marker-bundle-index [1] INTEGER OPTIONAL,
- marker-type [2] INTEGER OPTIONAL,
- marker-size [3] Scaled-or-Absolute OPTIONAL,
- marker-colour [4] Colour OPTIONAL,
- marker-aspect-source-flags
- [5] SEQUENCE {marker-type-asf ASF-Type,
- marker-size-asf ASF-Type,
- marker-colour-asf ASF-Type} OPTIONAL,
- marker-bundle-specifications
- [6] SEQUENCE OF
- SEQUENCE {marker-bundle-index INTEGER,
- marker-bundle-representation
- SEQUENCE {marker-type INTEGER,
- marker-size Scaled-or-Absolute,
- marker-colour Colour}} OPTIONAL
-}
-
-Text-Rendition ::= SEQUENCE {
- font-list [0] SEQUENCE OF GeneralString OPTIONAL,
- character-set-list
- [1] SEQUENCE {character-set-type
- ENUMERATED {n94-char-sets(0), n96-char-sets(1),
- n94-char-multibyte-sets(2),
- n96-char-multibyte-sets(3), comp-code(4)},
- designation-sequence-tail GeneralString} OPTIONAL,
- character-coding-announcer
- [2] ENUMERATED {basic-7-bit(0), basic-8-bit(1), extended-7-bit(2),
- extended-8-bit(3)} OPTIONAL,
- text-bundle-index [3] INTEGER OPTIONAL,
- text-font-index [4] INTEGER OPTIONAL,
- text-precision
- [5] ENUMERATED {string(0), character(1), stroke(2)} OPTIONAL,
- character-expansion-factor [6] REAL OPTIONAL,
- character-spacing [7] REAL OPTIONAL,
- text-colour [8] Colour OPTIONAL,
- character-height [9] VDC-Value OPTIONAL,
- character-orientation [10] SEQUENCE {a VDC-Pair,
- b VDC-Pair} OPTIONAL,
- text-path
- [11] ENUMERATED {right(0), left(1), up(2), down(3)} OPTIONAL,
- text-alignment
- [12] SEQUENCE {horizontal-alignment
- ENUMERATED {normal-horizontal(0), left(1), centre(2),
- right(3), continuous-horizontal(4)},
- vertical-alignment
- ENUMERATED {normal-vertical(0), top(1), cap(2),
- half(3), base(4), bottom(5),
- continuous-vertical(6)},
- continuous-horizontal-alignment [0] REAL OPTIONAL,
- continuous-vertical-alignment [1] REAL OPTIONAL
- } OPTIONAL,
- character-set-index [13] INTEGER OPTIONAL,
- alternate-character-set-index [14] INTEGER OPTIONAL,
- text-aspect-source-flags
- [15] SEQUENCE {text-font-asf ASF-Type,
- text-precision-asf ASF-Type,
- character-expansion-factor-asf ASF-Type,
- character-spacing-asf ASF-Type,
- text-colour-asf ASF-Type} OPTIONAL,
- text-bundle-specifications
- [16] SEQUENCE OF
- SEQUENCE {text-bundle-index INTEGER,
- text-bundle-representation
- SEQUENCE {text-font-index INTEGER,
- text-precision
- ENUMERATED {string(0), character(1),
- stroke(2)},
- character-expansion-factor REAL,
- character-spacing REAL,
- text-colour Colour}
- } OPTIONAL
-}
-
-VDC-Value ::= CHOICE {a INTEGER,
- b REAL
-}
-
-VDC-Pair ::= SEQUENCE {x VDC-Value,
- y VDC-Value
-}
-
-Filled-Area-Rendition ::= SEQUENCE {
- fill-bundle-index [1] INTEGER OPTIONAL,
- interior-style
- [2] ENUMERATED {hollow(0), solid(1), pattern(2), hatch(3), empty(4)}
- OPTIONAL,
- fill-colour [3] Colour OPTIONAL,
- hatch-index [4] INTEGER OPTIONAL,
- pattern-index [5] INTEGER OPTIONAL,
- fill-reference-point [6] VDC-Pair OPTIONAL,
- pattern-size
- [7] SEQUENCE {height-x-component VDC-Value,
- height-y-component VDC-Value,
- width-x-component VDC-Value,
- width-y-component VDC-Value} OPTIONAL,
- pattern-table-specifications [8] SEQUENCE OF PatternTableElement OPTIONAL,
- fill-aspect-source-flags
- [9] SEQUENCE {interior-style-asf ASF-Type,
- fill-colour-asf ASF-Type,
- hatch-index-asf ASF-Type,
- pattern-index-asf ASF-Type} OPTIONAL,
- fill-bundle-specifications
- [10] SEQUENCE {fill-bundle-index INTEGER,
- fill-bundle-representation
- SEQUENCE {interior-style
- ENUMERATED {hollow(0), solid(1), pattern(2),
- hatch(3), empty(4)},
- fill-colour Colour,
- hatch-index INTEGER,
- patttern-index INTEGER}} OPTIONAL
-}
-
-PatternTableElement ::= SEQUENCE {
- pattern-table-index INTEGER,
- nx INTEGER,
- ny INTEGER,
- local-colour-precision INTEGER,
- colour SEQUENCE OF Colour
-}
-
-Edge-Rendition ::= SEQUENCE {
- edge-width-spec-mode [0] SpecificationMode OPTIONAL,
- edge-visibility [1] On-or-Off OPTIONAL,
- edge-bundle-index [2] INTEGER OPTIONAL,
- edge-type [3] INTEGER OPTIONAL,
- edge-width [4] Scaled-or-Absolute OPTIONAL,
- edge-colour [5] Colour OPTIONAL,
- edge-aspect-source-flags
- [6] SEQUENCE {edge-type-asf ASF-Type,
- edge-width-asf ASF-Type,
- edge-colour-asf ASF-Type} OPTIONAL,
- edge-bundle-specifications
- [7] SEQUENCE OF
- SEQUENCE {edge-bundle-index INTEGER,
- edge-bundle-representation
- SEQUENCE {edge-type INTEGER,
- edge-width Scaled-or-Absolute,
- edge-colour Colour}} OPTIONAL
-}
-
-On-or-Off ::= ENUMERATED {off(0), on(1)}
-
-Colour-Representations ::= SEQUENCE {
- background-colour [0] RGB OPTIONAL,
- colour-table-specification
- [1] SEQUENCE OF
- SEQUENCE {starting-index INTEGER,
- colour-list SEQUENCE OF RGB} OPTIONAL
-}
-
-Transparency-Specification ::= SEQUENCE {
- transparency [0] On-or-Off OPTIONAL,
- auxiliary-colour [1] Colour OPTIONAL
-}
-
-Transformation-Specification ::= SEQUENCE {
- vdc-extent [0] Rectangle OPTIONAL,
- clip-rectangle [1] Rectangle OPTIONAL,
- clip-indicator [2] On-or-Off OPTIONAL
-}
-
-Rectangle ::= SEQUENCE {first-corner VDC-Pair,
- second-corner VDC-Pair
-}
-
-Region-Of-Interest-Specification ::= CHOICE {
- automatic [0] NULL,
- rectangle [1] SEQUENCE {a VDC-Pair,
- b VDC-Pair}
-}
-
-Picture-Orientation ::= One-Of-Four-Angles
-
-One-Of-Four-Angles ::= ENUMERATED {d0(0), d90(1), d180(2), d270(3)}
-
-Picture-Dimensions ::= CHOICE {
- width-controlled
- [0] SEQUENCE {minimum-width INTEGER,
- preferred-width INTEGER},
- height-controlled
- [1] SEQUENCE {minimum-height INTEGER,
- preferred-height INTEGER},
- area-controlled
- [2] SEQUENCE {minimum-width INTEGER,
- preferred-width INTEGER,
- minimum-height INTEGER,
- preferred-height INTEGER,
- aspect-ratio-flag ENUMERATED {fixed(0), variable(1)}
- },
- automatic [3] NULL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Profile-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Profile-Attributes.asn
deleted file mode 100644
index 28daa467e1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Geo-Gr-Profile-Attributes.asn
+++ /dev/null
@@ -1,44 +0,0 @@
--- Module Geo-Gr-Profile-Attributes (T.418:03/1993)
-
-Geo-Gr-Profile-Attributes {2 8 1 8 4} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-EXPORTS
- Geo-Gr-Presentation-Feature, Geo-Gr-Coding-Attribute, Geo-Gr-Content-Defaults;
-
-IMPORTS
- Line-Rendition, Marker-Rendition, Text-Rendition, Filled-Area-Rendition,
- Edge-Rendition, Colour-Representations, Transparency-Specification,
- Transformation-Specification, Region-Of-Interest-Specification,
- Picture-Orientation, Picture-Dimensions, ASF-Type, VDC-Pair,
- One-Of-Four-Angles
- FROM Geo-Gr-Presentation-Attributes {2 8 1 8 2}; -- see 10.2
-
-Geo-Gr-Presentation-Feature ::= CHOICE {
- null NULL,
- text-rendition [3] Text-Rendition
-}
-
-Geo-Gr-Coding-Attribute ::= NULL
-
--- no non-basic values are defined for the
--- geometric graphics coding attributes in this Specification
-Geo-Gr-Content-Defaults ::= SET {
- line-rendition [1] Line-Rendition OPTIONAL,
- marker-rendition [2] Marker-Rendition OPTIONAL,
- text-rendition [3] Text-Rendition OPTIONAL,
- filled-area-rendition [4] Filled-Area-Rendition OPTIONAL,
- edge-rendition [5] Edge-Rendition OPTIONAL,
- colour-representations [6] Colour-Representations OPTIONAL,
- transparency-specification [7] Transparency-Specification OPTIONAL,
- transformation-specification [8] Transformation-Specification OPTIONAL,
- region-of-interest-specification
- [9] Region-Of-Interest-Specification OPTIONAL,
- picture-orientation [10] Picture-Orientation OPTIONAL,
- picture-dimensions [11] Picture-Dimensions OPTIONAL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/GulsSecurityExchanges.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/GulsSecurityExchanges.asn
deleted file mode 100644
index 336b824174..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/GulsSecurityExchanges.asn
+++ /dev/null
@@ -1,79 +0,0 @@
--- Module GulsSecurityExchanges (X.830:04/1995)
-
-GulsSecurityExchanges {joint-iso-itu-t genericULS(20) modules(1)
- gulsSecurityExchanges(2)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS All
-IMPORTS
- securityExchanges, notation
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- SECURITY-EXCHANGE, SEC-EXCHG-ITEM, SE-ERROR
- FROM Notation notation
- Credentials, SecurityProblem
- FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
- directoryAbstractService(2) 3};
-
--- *******************************************
--- Directory Authentication Exchange (One-way)
--- *******************************************
-dirAuthenticationOneWay SECURITY-EXCHANGE ::= {
- SE-ITEMS {credentials}
- IDENTIFIER global:{securityExchanges dir-authent-one-way(1)}
-}
-
-credentials SEC-EXCHG-ITEM ::= {
- ITEM-TYPE DirectoryAbstractService.Credentials
- ITEM-ID 1
-}
-
--- *******************************************
--- Directory Authentication Exchange (Two-way)
--- *******************************************
-dirAuthenticationTwoWay SECURITY-EXCHANGE ::= {
- SE-ITEMS {initiatorCredentials | responderCredentials}
- IDENTIFIER global:{securityExchanges dir-authent-two-way(2)}
-}
-
-initiatorCredentials SEC-EXCHG-ITEM ::= {
- ITEM-TYPE DirectoryAbstractService.Credentials
- ITEM-ID 1
- ERRORS {authenticationFailure}
-}
-
-responderCredentials SEC-EXCHG-ITEM ::= {
- ITEM-TYPE DirectoryAbstractService.Credentials
- ITEM-ID 2
-}
-
-authenticationFailure SE-ERROR ::= {
- PARAMETER DirectoryAbstractService.SecurityProblem
- ERROR-CODE local:1
-}
-
--- ***************************
--- Simple Negotiation Exchange
--- ***************************
-simpleNegotiationSE SECURITY-EXCHANGE ::= {
- SE-ITEMS {offeredIds | acceptedIds}
- IDENTIFIER global:{securityExchanges simple-negotiation-se(3)}
-}
-
-offeredIds SEC-EXCHG-ITEM ::= {ITEM-TYPE Negotiation-SEI
- ITEM-ID 1
-}
-
-acceptedIds SEC-EXCHG-ITEM ::= {ITEM-TYPE Negotiation-SEI
- ITEM-ID 2
-}
-
-Negotiation-SEI ::= SEQUENCE OF OBJECT IDENTIFIER
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/GulsSecurityTransformations.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/GulsSecurityTransformations.asn
deleted file mode 100644
index db2725c37d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/GulsSecurityTransformations.asn
+++ /dev/null
@@ -1,212 +0,0 @@
--- Module GulsSecurityTransformations (X.830:04/1995)
-
-GulsSecurityTransformations {joint-iso-itu-t genericULS(20) modules(1)
- gulsSecurityTransformations(3)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS All
-IMPORTS
- securityTransformations, notation
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- SECURITY-TRANSFORMATION, SecurityIdentity
- FROM Notation notation
- AlgorithmIdentifier
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3};
-
--- ***************************************
--- Notation for specifying key information
--- ***************************************
-KEY-INFORMATION ::=
- CLASS
- -- This information object class definition is for use when
- -- specifying key information relating to particular classes
- -- of protection mechanisms (e.g. symmetric, asymmetric).
- -- It may be useful in defining various security transformations.
- {
- &kiClass CHOICE {local INTEGER,
- -- local objects can only be defined within this
- -- ASN.1 module.
- global OBJECT IDENTIFIER
- -- global objects are defined elsewhere
- } UNIQUE,
- &KiType
-}WITH SYNTAX {KEY-INFO-CLASS &kiClass
- KEY-INFO-TYPE &KiType
-}
-
-symmetricKeyInformation KEY-INFORMATION ::= {
- KEY-INFO-CLASS local:0
- KEY-INFO-TYPE
- SEQUENCE {entityId SecurityIdentity,
- keyIdentifier INTEGER}
-}
-
-asymmetricKeyInformation KEY-INFORMATION ::= {
- KEY-INFO-CLASS local:1
- KEY-INFO-TYPE
- SEQUENCE {issuerCAName SecurityIdentity OPTIONAL,
- certSerialNumber INTEGER OPTIONAL,
- signerName SecurityIdentity OPTIONAL,
- keyIdentifier BIT STRING OPTIONAL}
-}
-
--- *******************************************
--- Directory ENCRYPTED Security Transformation
--- *******************************************
-dirEncryptedTransformation SECURITY-TRANSFORMATION ::= {
- IDENTIFIER {securityTransformations dir-encrypted(1)}
- -- This transformation transforms a string of octets to a
- -- new bit string using an encipherment process.
- INITIAL-ENCODING-RULES {joint-iso-itu-t asn1(1) ber(1)}
- XFORMED-DATA-TYPE BIT STRING
-}
-
--- ****************************************
--- Directory SIGNED Security Transformation
--- ****************************************
-dirSignedTransformation SECURITY-TRANSFORMATION ::= {
- IDENTIFIER {securityTransformations dir-signed(2)}
- INITIAL-ENCODING-RULES
- {joint-iso-itu-t asn1(1) ber-derived(2) distinguished-encoding(1)}
- XFORMED-DATA-TYPE
- SEQUENCE {toBeSigned
- ABSTRACT-SYNTAX.&Type
- (CONSTRAINED BY {
-
- -- this type is constrained to being the to-be-signed type -- }),
- algorithmId AlgorithmIdentifier,
- -- of the algorithms used to compute the signature
- encipheredHash BIT STRING}
-}
-
--- *******************************************
--- Directory SIGNATURE Security Transformation
--- *******************************************
-dirSignatureTransformation SECURITY-TRANSFORMATION ::= {
- IDENTIFIER {securityTransformations dir-signature(3)}
- INITIAL-ENCODING-RULES
- {joint-iso-itu-t asn1(1) ber-derived(2) distinguished-encoding(1)}
- XFORMED-DATA-TYPE
- SEQUENCE {algorithmId AlgorithmIdentifier,
- -- of the algorithms used to compute the signature
- encipheredHash BIT STRING}
-}
-
--- ***********************************
--- GULS SIGNED Security Transformation
--- ***********************************
-gulsSignedTransformation{KEY-INFORMATION:SupportedKIClasses}
- SECURITY-TRANSFORMATION ::= {
- IDENTIFIER {securityTransformations guls-signed(4)}
- INITIAL-ENCODING-RULES
- {joint-iso-itu-t asn1(1) ber-derived(2) canonical-encoding(0)}
- -- This default for initial encoding rules may be overridden
- -- using a static protected parameter (initEncRules).
- XFORMED-DATA-TYPE
- SEQUENCE {intermediateValue
- EMBEDDED PDV
- (WITH COMPONENTS {
- identification (WITH COMPONENTS {
- transfer-syntax (CONSTRAINED BY {
- -- The transfer syntax to be used is that
- -- indicated by the initEncRules value within
- -- the intermediate value -- })PRESENT
- }),
- data-value (CONTAINING IntermediateType{{SupportedKIClasses}})
-
- -- The data value encoded is a value of type
- -- IntermediateType
- }),
- appendix
- BIT STRING
- (CONSTRAINED BY {
- -- the appendix value must be generated following
- -- the procedure specified in D.4 of DIS 11586-1 -- })
- }
-}
-
-IntermediateType{KEY-INFORMATION:SupportedKIClasses} ::= SEQUENCE {
- unprotectedItem ABSTRACT-SYNTAX.&Type-- this type is constrained to being
- -- the type of the unprotected item, or
- -- BIT STRING if the unprotected item is
- -- not derived from an ASN.1 abstract
- -- syntax --,
- initEncRules
- OBJECT IDENTIFIER
- DEFAULT {joint-iso-itu-t asn1(1) ber-derived(2) canonical-encoding(0)},
- signOrSealAlgorithm AlgorithmIdentifier OPTIONAL,
- -- Identifies the signing or
- -- sealing algorithm, and can convey
- -- algorithm parameters
- hashAlgorithm AlgorithmIdentifier OPTIONAL,
- -- Identifies a hash function,
- -- for use if a hash function is required
- -- and the signOrSealAlgorithm identifier
- -- does not imply a particular hash
- -- function. Can also convey algorithm
- -- parameters.
- keyInformation
- SEQUENCE {kiClass KEY-INFORMATION.&kiClass({SupportedKIClasses}),
- keyInfo KEY-INFORMATION.&KiType({SupportedKIClasses}{@.kiClass})
- } OPTIONAL
- -- Key information may assume various
- -- formats, governed by supported members
- -- of the KEY-INFORMATION information
- -- object class (defined at start of the
- -- definitive ASN.1 module)
-}
-
--- **************************************
--- GULS SIGNATURE Security Transformation
--- **************************************
-gulsSignatureTransformation{KEY-INFORMATION:SupportedKIClasses}
- SECURITY-TRANSFORMATION ::= {
- IDENTIFIER {securityTransformations guls-signature(5)}
- INITIAL-ENCODING-RULES
- {joint-iso-itu-t asn1(1) ber-derived(2) canonical-encoding(0)}
- -- This default for initial encoding rules may be overridden
- -- using a static protected parameter (initEncRules).
- XFORMED-DATA-TYPE
- SEQUENCE {initEncRules
- OBJECT IDENTIFIER
- DEFAULT
- {joint-iso-itu-t asn1(1) ber-derived(2)
- canonical-encoding(0)},
- signOrSealAlgorithm AlgorithmIdentifier OPTIONAL,
- -- Identifies the signing or
- -- sealing algorithm, and can convey
- -- algorithm parameters
- hashAlgorithm AlgorithmIdentifier OPTIONAL,
- -- Identifies a hash function,
- -- for use if a hash function is required
- -- and the signOrSealAlgorithm identifier
- -- does not imply a particular hash
- -- function. Can also convey algorithm parameters.
- keyInformation
- SEQUENCE {kiClass
- KEY-INFORMATION.&kiClass({SupportedKIClasses}),
- keyInfo
- KEY-INFORMATION.&KiType
- ({SupportedKIClasses}{@.kiClass})} OPTIONAL,
- -- Key information may assume various
- -- formats, governed by supported members
- -- of the KEY-INFORMATION information
- -- object class (defined at start of the
- -- definitive ASN.1 module)
- appendix
- BIT STRING
- (CONSTRAINED BY {
- -- the appendix value must be generated following
- -- the procedure specified in D.5 of DIS 11586-1 -- })
- }
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/HierarchicalOperationalBindings.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/HierarchicalOperationalBindings.asn
deleted file mode 100644
index 4e0084b079..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/HierarchicalOperationalBindings.asn
+++ /dev/null
@@ -1,123 +0,0 @@
--- Module HierarchicalOperationalBindings (X.518 TC2:08/1997)
-
-HierarchicalOperationalBindings {joint-iso-itu-t ds(5) module(1)
- hierarchicalOperationalBindings(20) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, distributedOperations,
- directoryOperationalBindingTypes, opBindingManagement, dsp
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, RelativeDistinguishedName, DistinguishedName
- FROM InformationFramework informationFramework
- MasterAndShadowAccessPoints
- FROM DistributedOperations distributedOperations
- directorySystemAC
- FROM DirectorySystemProtocol dsp
- OPERATIONAL-BINDING
- FROM OperationalBindingManagement opBindingManagement
- id-op-binding-hierarchical, id-op-binding-non-specific-hierarchical
- FROM DirectoryOperationalBindingTypes directoryOperationalBindingTypes;
-
--- types
-HierarchicalAgreement ::= SEQUENCE {
- rdn [0] RelativeDistinguishedName,
- immediateSuperior [1] DistinguishedName
-}
-
-NonSpecificHierarchicalAgreement ::= SEQUENCE {
- immediateSuperior [1] DistinguishedName
-}
-
-SuperiorToSubordinate ::= SEQUENCE {
- contextPrefixInfo [0] DITcontext,
- entryInfo [1] SET (SIZE (1..MAX)) OF Attribute OPTIONAL,
- immediateSuperiorInfo [2] SET (SIZE (1..MAX)) OF Attribute OPTIONAL
-}
-
-DITcontext ::= SEQUENCE OF Vertex
-
-Vertex ::= SEQUENCE {
- rdn [0] RelativeDistinguishedName,
- admPointInfo [1] SET (SIZE (1..MAX)) OF Attribute OPTIONAL,
- subentries [2] SET (SIZE (1..MAX)) OF SubentryInfo OPTIONAL,
- accessPoints [3] MasterAndShadowAccessPoints OPTIONAL
-}
-
-SubentryInfo ::= SEQUENCE {
- rdn [0] RelativeDistinguishedName,
- info [1] SET OF Attribute
-}
-
-SubordinateToSuperior ::= SEQUENCE {
- accessPoints [0] MasterAndShadowAccessPoints OPTIONAL,
- alias [1] BOOLEAN DEFAULT FALSE,
- entryInfo [2] SET (SIZE (1..MAX)) OF Attribute OPTIONAL,
- subentries [3] SET (SIZE (1..MAX)) OF SubentryInfo OPTIONAL
-}
-
-SuperiorToSubordinateModification ::=
- SuperiorToSubordinate(WITH COMPONENTS {
- ...,
- entryInfo ABSENT
- })
-
-NHOBSuperiorToSubordinate ::=
- SuperiorToSubordinate(WITH COMPONENTS {
- ...,
- entryInfo ABSENT
- })
-
-NHOBSubordinateToSuperior ::= SEQUENCE {
- accessPoint [0] MasterAndShadowAccessPoints OPTIONAL,
- subentries [3] SET (SIZE (1..MAX)) OF SubentryInfo OPTIONAL
-}
-
--- operational binding information objects
-hierarchicalOperationalBinding OPERATIONAL-BINDING ::= {
- AGREEMENT HierarchicalAgreement
- -- APPLICATION CONTEXTS {{directorySystemAC}}
- APPLICATION CONTEXTS {directorySystemAC}
- ASYMMETRIC ROLE-A
- { -- superior DSAESTABLISHMENT-INITIATOR TRUE
- ESTABLISHMENT-PARAMETER SuperiorToSubordinate
- MODIFICATION-INITIATOR TRUE
- MODIFICATION-PARAMETER SuperiorToSubordinateModification
- TERMINATION-INITIATOR TRUE}
- ROLE-B
- { -- subordinate DSAESTABLISHMENT-INITIATOR TRUE
- ESTABLISHMENT-PARAMETER SubordinateToSuperior
- MODIFICATION-INITIATOR TRUE
- MODIFICATION-PARAMETER SubordinateToSuperior
- TERMINATION-INITIATOR TRUE}
- ID id-op-binding-hierarchical
-}
-
-nonSpecificHierarchicalOperationalBinding OPERATIONAL-BINDING ::= {
- AGREEMENT NonSpecificHierarchicalAgreement
- -- APPLICATION CONTEXTS {{directorySystemAC}}
- APPLICATION CONTEXTS {directorySystemAC}
- ASYMMETRIC ROLE-A
- { -- superior DSAESTABLISHMENT-PARAMETER NHOBSuperiorToSubordinate
- MODIFICATION-INITIATOR TRUE
- MODIFICATION-PARAMETER NHOBSuperiorToSubordinate
- TERMINATION-INITIATOR TRUE}
- ROLE-B
- { -- subordinate DSAESTABLISHMENT-INITIATOR TRUE
- ESTABLISHMENT-PARAMETER NHOBSubordinateToSuperior
- MODIFICATION-INITIATOR TRUE
- MODIFICATION-PARAMETER NHOBSubordinateToSuperior
- TERMINATION-INITIATOR TRUE}
- ID id-op-binding-non-specific-hierarchical
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSAbstractService.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSAbstractService.asn
deleted file mode 100644
index 3fec8ae64a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSAbstractService.asn
+++ /dev/null
@@ -1,148 +0,0 @@
--- Module IPMSAbstractService (X.420:06/1999)
-IPMSAbstractService {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- abstract-service(3) version-1994(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- AutoForwardComment, Heading, InformationObject, IPM, NRN, ON, RN
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-pt-management, id-pt-origination, id-pt-reception
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MTS Abstract Service
- ABSTRACT-ERROR, ABSTRACT-OPERATION, MessageDeliveryEnvelope,
- MessageSubmissionEnvelope, MessageSubmissionIdentifier,
- MessageSubmissionTime, ORName, PORT, ProbeSubmissionEnvelope,
- ProbeSubmissionIdentifier, ProbeSubmissionTime,
- recipient-improperly-specified, ReportDeliveryEnvelope,
- SupplementaryInformation
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- Ports
-origination PORT ::= {
- CONSUMER INVOKES
- {originate-probe | originate-ipm | originate-rn | originate-on}
- ID id-pt-origination
-}
-
-reception PORT ::= {
- SUPPLIER INVOKES
- {receive-report | receive-ipm | receive-rn | receive-nrn | receive-on}
- ID id-pt-reception
-}
-
-management PORT ::= {
- CONSUMER INVOKES
- {change-auto-discard | change-auto-acknowledgment | change-auto-forwarding}
- ID id-pt-management
-}
-
--- Origination abstract operations
-originate-probe ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] ProbeSubmissionEnvelope,
- content [1] IPM}
- RESULT
- SET {submission-identifier [0] ProbeSubmissionIdentifier,
- submission-time [1] ProbeSubmissionTime}
- ERRORS {subscription-error | recipient-improperly-specified}
-}
-
-originate-ipm ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageSubmissionEnvelope,
- content [1] IPM}
- RESULT
- SET {submission-identifier [0] MessageSubmissionIdentifier,
- submission-time [1] MessageSubmissionTime}
- ERRORS {subscription-error | recipient-improperly-specified}
-}
-
-originate-rn ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageSubmissionEnvelope,
- content [1] RN}
- RESULT
- SET {submission-identifier [0] MessageSubmissionIdentifier,
- submission-time [1] MessageSubmissionTime}
- ERRORS {subscription-error | recipient-improperly-specified}
-}
-
-originate-on ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageSubmissionEnvelope,
- content [1] ON}
- RESULT
- SET {submission-identifier [0] MessageSubmissionIdentifier,
- submission-time [1] MessageSubmissionTime}
- ERRORS {subscription-error | recipient-improperly-specified}
-}
-
--- Reception abstract operations
-receive-report ABSTRACT-OPERATION ::= {
- ARGUMENT
- SET {envelope [0] ReportDeliveryEnvelope,
- undelivered-object [1] InformationObject OPTIONAL}
-}
-
-receive-ipm ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageDeliveryEnvelope,
- content [1] IPM}
-}
-
-receive-rn ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageDeliveryEnvelope,
- content [1] RN}
-}
-
-receive-nrn ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageDeliveryEnvelope,
- content [1] NRN}
-}
-
-receive-on ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageDeliveryEnvelope,
- content [1] ON}
-}
-
--- Management abstract operations
-change-auto-discard ABSTRACT-OPERATION ::= {
- ARGUMENT
- SET {auto-discard-expired-IPMs [0] BOOLEAN,
- auto-discard-obsolete-IPMs [1] BOOLEAN}
-}
-
-change-auto-acknowledgment ABSTRACT-OPERATION ::= {
- ARGUMENT
- SET {auto-acknowledge-IPMs [0] BOOLEAN,
- auto-acknowledge-suppl-receipt-info
- [1] SupplementaryInformation OPTIONAL}
- ERRORS {subscription-error}
-}
-
-change-auto-forwarding ABSTRACT-OPERATION ::= {
- ARGUMENT
- SET {auto-forward-IPMs [0] BOOLEAN,
- auto-forward-recipients [1] SEQUENCE OF ORName OPTIONAL,
- auto-forward-heading [2] Heading OPTIONAL,
- auto-forward-comment [3] AutoForwardComment OPTIONAL}
- ERRORS {subscription-error | recipient-improperly-specified}
-}
-
--- Abstract errors
-subscription-error ABSTRACT-ERROR ::= {
- PARAMETER SET {problem [0] SubscriptionProblem}
-}
-
-SubscriptionProblem ::= ENUMERATED {
- ipms-eos-not-subscribed(0), mts-eos-not-subscribed(1)}
-
-END -- of IPMSAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSAutoActionTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSAutoActionTypes.asn
deleted file mode 100644
index 8c0c8138e2..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSAutoActionTypes.asn
+++ /dev/null
@@ -1,234 +0,0 @@
--- Module IPMSAutoActionTypes (X.420:06/1999)
-IPMSAutoActionTypes {joint-iso-itu-t mhs(6) ipms(1) modules(0) auto-actions(13)
- version-1999(1)} DEFINITIONS EXPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- AdviceNotifications, AutoForwardComment, BodyPart, Heading, IA5TextBodyPart,
- IPMSExtension, SupplReceiptInfoField
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Upper Bounds
- ub-ipm-identifier-suffix
- --==
- FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- upper-bounds(10) version-1999(1)}
- -- IPMS Object Identifiers
- id-aa-ipm-auto-acknowledgement, id-aa-ipm-auto-advise,
- id-aa-ipm-auto-correlate, id-aa-ipm-auto-discard,
- id-aae-auto-discard-error, id-aae-auto-forwarding-loop,
- id-aae-duplicate-ipn
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Auto-action information object class
- AUTO-ACTION,
- AUTO-ACTION-ERROR,
- -- MS Abstract Service data-types and abstract-errors
- Filter, EntryInformationSelection, ms-extension-error, MSSubmissionOptions,
- service-error
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- MS object identifier
- id-act-ipm-auto-forward
- --==
- FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MTS Abstract Service data-types and abstract-errors
- ContentIdentifier, DeferredDeliveryTime, element-of-service-not-subscribed,
- ExplicitConversion, ExtensionField{}, inconsistent-request,
- MessageSubmissionEnvelope, originator-invalid, OriginatorName,
- OriginatorReportRequest, PerMessageIndicators,
- PerMessageSubmissionExtensions, PerRecipientMessageSubmissionExtensions,
- Priority, recipient-improperly-specified, RecipientName, remote-bind-error,
- security-error, submission-control-violated, unsupported-critical-function
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- MTS upper bounds
- ub-recipients
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)};
-
--- IPM auto-actions information object set
-IPMAutoActions AUTO-ACTION ::=
- {ipm-auto-forward, ... -- 1994 extension additions --,
- ipm-auto-acknowledgement | ipm-auto-correlate | ipm-auto-discard |
- ipm-auto-advise}
-
--- Auto-actions
-ipm-auto-forward AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS
- CHOICE {ipm-auto-forward-registration-parameter
- IPMAutoForwardRegistrationParameter-- used in 1994 Application Contexts only -- ,
- auto-forward-registration-parameter-88
- AutoForwardRegistrationParameter88
- } -- used in 1988 Application Contexts only
- ERRORS
- {auto-forwarding-loop | element-of-service-not-subscribed |
- inconsistent-request | ms-extension-error | originator-invalid |
- recipient-improperly-specified | remote-bind-error | security-error |
- service-error | submission-control-violated |
- unsupported-critical-function, ...}
- IDENTIFIED BY id-act-ipm-auto-forward
-}
-
--- Auto-forward 1994
-IPMAutoForwardRegistrationParameter ::= SEQUENCE {
- filter [0] Filter OPTIONAL,
- forwarding-envelope [1] MessageSubmissionEnvelope,
- forwarding-heading [2] Heading,
- forwarding-cover-note [3] BodyPart OPTIONAL,
- submission-options [4] MSSubmissionOptions OPTIONAL,
- nrn-comment [5] AutoForwardComment OPTIONAL,
- ipm-auto-forward-options [6] IPMAutoForwardOptions DEFAULT {}
-}
-
-IPMAutoForwardOptions ::= BIT STRING {
- forward-all-object-types(0), -- forward-all-object-types 'one', forward IPMs only 'zero'
- include-returned-content(1), -- include-returned-content 'one', exclude 'zero'
- include-returned-ipm(2), -- include-returned-ipm 'one', exclude 'zero'
- forwarded-content-prohibited(3), -- forwarded-content-prohibited 'one', allowed'zero'
- preserve-retrieval-status(4), -- preserve-retrieval-status 'one', change 'zero'
- delete-delivered-object(5)
-} -- delete-delivered-object 'one', no deletion 'zero'
-
--- Auto-forward 1988
-AutoForwardRegistrationParameter88 ::= SET {
- filter [0] Filter OPTIONAL,
- auto-forward-arguments [1] AutoForwardArguments,
- delete-after-auto-forwarding [2] BOOLEAN DEFAULT FALSE,
- forwarding-information [3] EncodedForwardingInformation
-}
-
-AutoForwardArguments ::= SET {
- COMPONENTS OF PerMessageAutoForwardFields,
- per-recipient-fields
- [1] IMPLICIT SEQUENCE SIZE (1..ub-recipients) OF
- PerRecipientAutoForwardFields
-}
-
-PerMessageAutoForwardFields ::= SET {
- originator-name OriginatorName,
- content-identifier ContentIdentifier OPTIONAL,
- priority Priority OPTIONAL,
- per-message-indicators PerMessageIndicators OPTIONAL,
- deferred-delivery-time [0] IMPLICIT DeferredDeliveryTime OPTIONAL,
- extensions
- [2] IMPLICIT SET OF ExtensionField{{PerMessageSubmissionExtensions}}
- DEFAULT {}
-}
-
-PerRecipientAutoForwardFields ::= SET {
- recipient-name RecipientName,
- originator-report-request [0] IMPLICIT OriginatorReportRequest,
- explicit-conversion [1] IMPLICIT ExplicitConversion OPTIONAL,
- extensions
- [2] IMPLICIT SET OF
- ExtensionField{{PerRecipientMessageSubmissionExtensions}}
- DEFAULT {}
-}
-
-EncodedForwardingInformation ::=
- OCTET STRING -- contains ForwardingInformation1988
-
-ForwardingInformation1988 ::= SET {
- auto-forwarding-comment [0] IMPLICIT AutoForwardComment OPTIONAL,
- ia5-cover-note [1] IMPLICIT IA5TextBodyPart OPTIONAL,
- this-ipm-prefix
- [2] IMPLICIT PrintableString(SIZE (1..ub-ipm-identifier-suffix)) OPTIONAL
-}
-
---
-ipm-auto-acknowledgement AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS IPMAutoAcknowledgementRegistrationParameter
- ERRORS
- {originator-invalid | submission-control-violated |
- element-of-service-not-subscribed | recipient-improperly-specified |
- remote-bind-error | inconsistent-request | security-error |
- unsupported-critical-function | duplicate-ipn}
- IDENTIFIED BY id-aa-ipm-auto-acknowledgement
-}
-
-IPMAutoAcknowledgementRegistrationParameter ::= SET {
- auto-acknowledge-suppl-receipt-info [0] SupplReceiptInfoField OPTIONAL,
- submission-options [1] MSSubmissionOptions OPTIONAL
-}
-
---
-ipm-auto-correlate AUTO-ACTION ::= {IDENTIFIED BY id-aa-ipm-auto-correlate
-}
-
---
-ipm-auto-discard AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS IPMAutoDiscardRegistrationParameter
- ERRORS
- {submission-control-violated | ipm-auto-discard-error | originator-invalid
- | recipient-improperly-specified | inconsistent-request | security-error
- | unsupported-critical-function | remote-bind-error |
- element-of-service-not-subscribed}
- IDENTIFIED BY id-aa-ipm-auto-discard
-}
-
-IPMAutoDiscardRegistrationParameter ::= SET {
- filter [0] Filter OPTIONAL,
- submission-options [1] MSSubmissionOptions OPTIONAL,
- auto-discard-expired-ipms [2] BOOLEAN,
- auto-discard-obsoleted-ipms [3] BOOLEAN,
- restrict-obsoleting-to-originator [4] BOOLEAN
-}
-
---
-ipm-auto-advise AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS IPMAutoAdviseRegistrationParameter
- ERRORS
- {inconsistent-request | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified | remote-bind-error |
- security-error | submission-control-violated |
- unsupported-critical-function}
- IDENTIFIED BY id-aa-ipm-auto-advise
-}
-
-IPMAutoAdviseRegistrationParameter ::= SET {
- enabled [0] BOOLEAN DEFAULT TRUE,
- filter [1] Filter OPTIONAL,
- advice-notifications
- [2] SET OF IPMSExtension{{AdviceNotifications}},
- suppress-subsequent-notifications [3] BOOLEAN DEFAULT TRUE,
- use-ipm-if-an-not-supported [4] BOOLEAN DEFAULT FALSE,
- submission-options [5] MSSubmissionOptions OPTIONAL
-}
-
--- IPM auto-action-error-table information object set
-IPMAutoActionErrorTable AUTO-ACTION-ERROR ::=
- {... -- 1994 extension additions --, auto-forwarding-loop | duplicate-ipn |
- element-of-service-not-subscribed | inconsistent-request |
- ipm-auto-discard-error | ms-extension-error | originator-invalid |
- recipient-improperly-specified | remote-bind-error | security-error |
- service-error | submission-control-violated | unsupported-critical-function}
-
--- Auto-action-error-types
-auto-forwarding-loop AUTO-ACTION-ERROR ::= {
- CODE global:id-aae-auto-forwarding-loop
-}
-
-duplicate-ipn AUTO-ACTION-ERROR ::= {CODE global:id-aae-duplicate-ipn
-}
-
-ipm-auto-discard-error AUTO-ACTION-ERROR ::= {
- PARAMETER SET {problem [0] AutoDiscardProblem}
- CODE global:id-aae-auto-discard-error
-}
-
-AutoDiscardProblem ::= INTEGER {not-obsoleted-by-originator(0)}
-
-END -- of IPMSAutoActionTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedBodyPartTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedBodyPartTypes.asn
deleted file mode 100644
index 9805a6189d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedBodyPartTypes.asn
+++ /dev/null
@@ -1,102 +0,0 @@
--- Module IPMSExtendedBodyPartTypes (X.420:06/1999)
-IPMSExtendedBodyPartTypes {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- extended-body-part-types(7) version-1994(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- BilaterallyDefinedBodyPart, EncryptedData, EncryptedParameters,
- EXTENDED-BODY-PART-TYPE, G3FacsimileData, G3FacsimileParameters,
- G4Class1BodyPart, IA5TextData, IA5TextParameters, MessageData,
- MessageParameters, MixedModeBodyPart, NationallyDefinedBodyPart,
- TeletexData, TeletexParameters, VideotexData, VideotexParameters
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-encrypted, id-ep-g3-facsimile, id-ep-ia5-text, id-ep-message,
- id-ep-teletex, id-ep-videotex, id-et-bilaterally-defined, id-et-encrypted,
- id-et-g3-facsimile, id-et-g4-class1, id-et-ia5-text, id-et-message,
- id-et-mixed-mode, id-et-nationally-defined, id-et-teletex, id-et-videotex
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Extended IA5 Text body part
-ia5-text-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {IA5TextParameters
- IDENTIFIED BY id-ep-ia5-text},
- DATA {IA5TextData
- IDENTIFIED BY id-et-ia5-text}
-}
-
--- Extended G3 Facsimile body part
-g3-facsimile-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {G3FacsimileParameters
- IDENTIFIED BY id-ep-g3-facsimile},
- DATA {G3FacsimileData
- IDENTIFIED BY id-et-g3-facsimile}
-}
-
--- Extended G4 Class 1 body part
-g4-class1-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {G4Class1BodyPart
- IDENTIFIED BY id-et-g4-class1}
-}
-
--- Extended Teletex body part
-teletex-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {TeletexParameters
- IDENTIFIED BY id-ep-teletex},
- DATA {TeletexData
- IDENTIFIED BY id-et-teletex}
-}
-
--- Extended Videotex body part
-videotex-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {VideotexParameters
- IDENTIFIED BY id-ep-videotex},
- DATA {VideotexData
- IDENTIFIED BY id-et-videotex}
-}
-
--- Extended Encrypted body part
-encrypted-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {EncryptedParameters
- IDENTIFIED BY id-ep-encrypted},
- DATA {EncryptedData
- IDENTIFIED BY id-et-encrypted}
-}
-
--- Extended Message body part
-message-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {MessageParameters
- IDENTIFIED BY id-ep-message},
- DATA {MessageData
- IDENTIFIED BY id-et-message}
-}
-
--- Extended Mixed-mode body part
-mixed-mode-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {MixedModeBodyPart
- IDENTIFIED BY id-et-mixed-mode}
-}
-
--- Extended Bilaterally Defined body part
-bilaterally-defined-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {BilaterallyDefinedBodyPart
- IDENTIFIED BY id-et-bilaterally-defined}
-}
-
--- Extended Nationally Defined body part
-nationally-defined-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {NationallyDefinedBodyPart
- IDENTIFIED BY id-et-nationally-defined}
-}
-
-END -- of IPMSExtendedBodyPartTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedBodyPartTypes2.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedBodyPartTypes2.asn
deleted file mode 100644
index b39e03c3b6..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedBodyPartTypes2.asn
+++ /dev/null
@@ -1,37 +0,0 @@
--- Module IPMSExtendedBodyPartTypes2 (X.420:06/1999)
-IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7) modules(0)
- extended-body-part-types-2(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-general-text, id-et-general-text
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- General Text body part
-general-text-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {GeneralTextParameters
- IDENTIFIED BY id-ep-general-text},
- DATA {GeneralTextData
- IDENTIFIED BY id-et-general-text}
-}
-
-GeneralTextParameters ::= SET OF CharacterSetRegistration
-
-GeneralTextData ::= GeneralString
-
-CharacterSetRegistration ::= INTEGER(1..32767)
-
-END -- of IPMSExtendedBodyPartTypes2
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedVoiceBodyPartType.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedVoiceBodyPartType.asn
deleted file mode 100644
index 171f4b4223..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSExtendedVoiceBodyPartType.asn
+++ /dev/null
@@ -1,39 +0,0 @@
--- Module IPMSExtendedVoiceBodyPartType (X.420:06/1999)
-IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- extended-voice-body-part-type(11)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-voice, id-et-voice
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Extended Voice body part
-voice-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {VoiceParameters
- IDENTIFIED BY id-ep-voice},
- DATA {VoiceData
- IDENTIFIED BY id-et-voice}
-}
-
-VoiceParameters ::= SEQUENCE {
- voice-message-duration [0] INTEGER OPTIONAL, -- In seconds
- voice-encoding-type [1] OBJECT IDENTIFIER,
- supplementary-information [2] IA5String OPTIONAL
-}
-
-VoiceData ::= OCTET STRING
-
-END -- of IPMSExtendedVoiceBodyPartType
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSFileTransferBodyPartType.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSFileTransferBodyPartType.asn
deleted file mode 100644
index 59de6d1b04..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSFileTransferBodyPartType.asn
+++ /dev/null
@@ -1,253 +0,0 @@
--- Module IPMSFileTransferBodyPartType (X.420:06/1999)
-IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- file-transfer-body-part-type(9)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- FTAM Attribute Types
- Attribute-Extensions, Concurrency-Access, Date-and-Time-Attribute,
- Legal-Qualification-Attribute, Object-Availability-Attribute,
- Object-Size-Attribute, Pathname, Permitted-Actions-Attribute,
- Private-Use-Attribute
- --==
- FROM ISO8571-FTAM {iso standard 8571 application-context(1) iso-ftam(1)}
- -- ACSE definitions of AP-title and AE-qualifier
- AE-qualifier, AP-title
- --==
- FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0)
- version1(1)}
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE, ExtensionsField
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-file-transfer, id-et-file-transfer
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MTS Abstract Service
- ORName
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- File Transfer body part
-file-transfer-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {FileTransferParameters
- IDENTIFIED BY id-ep-file-transfer},
- DATA {FileTransferData
- IDENTIFIED BY id-et-file-transfer}
-}
-
-FileTransferParameters ::= SEQUENCE {
- related-stored-file [0] RelatedStoredFile OPTIONAL,
- contents-type
- [1] ContentsTypeParameter
- DEFAULT
- document-type:
- {document-type-name
- {iso standard 8571 document-type(5) unstructured-binary(3)}},
- environment [2] EnvironmentParameter OPTIONAL,
- compression [3] CompressionParameter OPTIONAL,
- file-attributes [4] FileAttributes OPTIONAL,
- extensions [5] ExtensionsField OPTIONAL
-}
-
-FileTransferData ::= SEQUENCE OF EXTERNAL
-
--- This conveys a sequence of data values representing file contents;
--- The rules for generating this sequence are implied by the value of the contents-type parameter.
-RelatedStoredFile ::=
- SET OF
- SEQUENCE {file-identifier FileIdentifier,
- relationship
- Relationship DEFAULT explicit-relationship:unspecified
- }
-
-FileIdentifier ::= CHOICE {
- pathname-and-version [0] PathnameandVersion,
- cross-reference [1] CrossReference
-}
-
-PathnameandVersion ::= SEQUENCE {
- pathname [0] Pathname-Attribute,
- file-version [1] GraphicString OPTIONAL
-}
-
-CrossReference ::= SEQUENCE {
- application-cross-reference [0] OCTET STRING,
- message-reference [1] MessageReference OPTIONAL,
- body-part-reference [2] INTEGER OPTIONAL
-}
-
-MessageReference ::= SET {
- user [0] ORName OPTIONAL,
- -- Defined in 8.5.5 of ITU-T Rec. X.411 | ISO/IEC 10021-4
- user-relative-identifier [1] PrintableString
-}
-
-Relationship ::= CHOICE {
- explicit-relationship [0] ExplicitRelationship,
- descriptive-relationship [1] GraphicString
-}
-
-ExplicitRelationship ::= INTEGER {
- unspecified(0), new-file(1), replacement(2), extension(3)}
-
-ContentsTypeParameter ::= Contents-Type-Attribute
-
-Contents-Type-Attribute ::= CHOICE {
- document-type
- [0] SEQUENCE {document-type-name Document-Type-Name,
- parameter [0] DOCUMENT-PARAMETER.&Type OPTIONAL
- },
- -- The actual types to be used for values of the parameter field
- -- are defined in the named document type.
- constraint-set-and-abstract-syntax
- [1] SEQUENCE {constraint-set-name Constraint-Set-Name,
- abstract-syntax-name Abstract-Syntax-Name}
-}
-
-Document-Type-Name ::= OBJECT IDENTIFIER
-
-DOCUMENT-PARAMETER ::= CLASS {&Type
-}
-
-Constraint-Set-Name ::= OBJECT IDENTIFIER
-
-Abstract-Syntax-Name ::= OBJECT IDENTIFIER
-
-EnvironmentParameter ::= SEQUENCE {
- application-reference [0] GeneralIdentifier OPTIONAL,
- machine [1] GeneralIdentifier OPTIONAL,
- operating-system [2] OBJECT IDENTIFIER OPTIONAL,
- user-visible-string [3] SEQUENCE OF GraphicString OPTIONAL
-}
-
-GeneralIdentifier ::= CHOICE {
- registered-identifier [0] OBJECT IDENTIFIER,
- descriptive-identifier [1] SEQUENCE OF GraphicString
-}
-
-CompressionParameter ::= SEQUENCE {
- compression-algorithm-id
- [0] COMPRESSION-ALGORITHM.&id({CompressionAlgorithmTable}),
- compression-algorithm-param
- [1] COMPRESSION-ALGORITHM.&Type
- ({CompressionAlgorithmTable}{@compression-algorithm-id})
-}
-
-COMPRESSION-ALGORITHM ::= TYPE-IDENTIFIER
-
-CompressionAlgorithmTable COMPRESSION-ALGORITHM ::=
- {...}
-
-FileAttributes ::= SEQUENCE {
- pathname Pathname-Attribute OPTIONAL,
- permitted-actions
- [1] Permitted-Actions-Attribute OPTIONAL,
- storage-account [3] Account-Attribute OPTIONAL,
- date-and-time-of-creation
- [4] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-modification
- [5] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-read-access
- [6] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-attribute-modification
- [7] Date-and-Time-Attribute OPTIONAL,
- identity-of-creator
- [8] User-Identity-Attribute OPTIONAL,
- identity-of-last-modifier
- [9] User-Identity-Attribute OPTIONAL,
- identity-of-last-reader
- [10] User-Identity-Attribute OPTIONAL,
- identity-of-last-attribute-modifier
- [11] User-Identity-Attribute OPTIONAL,
- object-availability
- [12] Object-Availability-Attribute OPTIONAL,
- object-size
- [13] Object-Size-Attribute OPTIONAL,
- future-object-size
- [14] Object-Size-Attribute OPTIONAL,
- access-control
- [15] Access-Control-Attribute OPTIONAL,
- legal-qualifications
- [16] Legal-Qualification-Attribute OPTIONAL,
- private-use
- [17] Private-Use-Attribute OPTIONAL,
- attribute-extensions
- [22] Attribute-Extensions OPTIONAL
-}
-
-Pathname-Attribute ::= CHOICE {
- incomplete-pathname [0] Pathname,
- complete-pathname [23] Pathname
-}
-
-Account-Attribute ::= CHOICE {
- no-value-available [0] NULL,
- -- Indicates partial support of this attribute
- actual-values Account
-}
-
-Account ::= GraphicString
-
-User-Identity-Attribute ::= CHOICE {
- no-value-available [0] NULL,
- -- Indicates partial support of this attribute.
- actual-values User-Identity
-}
-
-User-Identity ::= GraphicString
-
-Access-Control-Attribute ::= CHOICE {
- no-value-available [0] NULL,
- -- Indicates partial support of this attribute.
- actual-values [1] SET OF Access-Control-Element
-}
-
--- The semantics of this attribute are described in ISO 8571-2
-Access-Control-Element ::= SEQUENCE {
- action-list [0] Access-Request,
- concurrency-access [1] Concurrency-Access OPTIONAL,
- identity [2] User-Identity OPTIONAL,
- passwords [3] Access-Passwords OPTIONAL,
- location [4] Application-Entity-Title OPTIONAL
-}
-
-Access-Request ::= BIT STRING {
- read(0), insert(1), replace(2), extend(3), erase(4), read-attribute(5),
- change-attribute(6), delete-object(7)}
-
-Access-Passwords ::= SEQUENCE {
- read-password [0] Password,
- insert-password [1] Password,
- replace-password [2] Password,
- extend-password [3] Password,
- erase-password [4] Password,
- read-attribute-password [5] Password,
- change-attribute-password [6] Password,
- delete-password [7] Password,
- pass-passwords [8] Pass-Passwords,
- link-password [9] Password
-}
-
-Password ::= CHOICE {
- graphic-string GraphicString,
- octet-string OCTET STRING
-}
-
-Pass-Passwords ::= SEQUENCE OF Password
-
-Application-Entity-Title ::= SEQUENCE {
- ap-title AP-title,
- ae-qualifier AE-qualifier
-}
-
-END -- of IPMSFileTransferBodyPartType
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSForwardedContentBodyPartType.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSForwardedContentBodyPartType.asn
deleted file mode 100644
index 57faac6587..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSForwardedContentBodyPartType.asn
+++ /dev/null
@@ -1,53 +0,0 @@
--- Module IPMSForwardedContentBodyPartType (X.420:06/1999)
-IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- forwarded-content-body-part-type(15)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- MTS Abstract Service
- Content, ExtendedContentType, MessageDeliveryIdentifier, MessageDeliveryTime,
- MessageSubmissionEnvelope, OriginatingMTACertificate,
- OtherMessageDeliveryFields, ProofOfSubmission
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-content, id-et-content
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Forwarded Content body part
-content-body-part{ExtendedContentType:content-type} EXTENDED-BODY-PART-TYPE ::=
- {
- PARAMETERS
- {ForwardedContentParameters
- IDENTIFIED BY {id-ep-content content-type}},
- DATA {Content
- IDENTIFIED BY {id-et-content content-type}}
-}
-
-ForwardedContentParameters ::= SET {
- delivery-time [0] MessageDeliveryTime OPTIONAL,
- delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL,
- mts-identifier [2] MessageDeliveryIdentifier OPTIONAL,
- submission-proof [3] SubmissionProof OPTIONAL
-}
-
-SubmissionProof ::= SET {
- proof-of-submission [0] ProofOfSubmission,
- originating-MTA-certificate [1] OriginatingMTACertificate,
- message-submission-envelope MessageSubmissionEnvelope
-}
-
-END -- of IPMSForwardedContentBodyPartType
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSForwardedReportBodyPartType.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSForwardedReportBodyPartType.asn
deleted file mode 100644
index 4e46c7679b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSForwardedReportBodyPartType.asn
+++ /dev/null
@@ -1,41 +0,0 @@
--- Module IPMSForwardedReportBodyPartType (X.420:06/1999)
-IPMSForwardedReportBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- forwarded-report-body-part-type(12)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- MTS Abstract Service
- ReportDeliveryArgument
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE, IPN, MessageParameters
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-notification, id-et-report, id-et-notification
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Report body part
-report-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {ReportDeliveryArgument
- IDENTIFIED BY id-et-report}
-}
-
--- Notification body part
-notification-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {MessageParameters
- IDENTIFIED BY id-ep-notification},
- DATA {IPN IDENTIFIED BY id-et-notification}
-}
-
-END -- of IPMSForwardedReportBodyPartType
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSFunctionalObjects.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSFunctionalObjects.asn
deleted file mode 100644
index 09ef4de282..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSFunctionalObjects.asn
+++ /dev/null
@@ -1,47 +0,0 @@
--- Module IPMSFunctionalObjects (X.420:06/1999)
-IPMSFunctionalObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- functional-objects(1) version-1994(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Abstract Service
- management, origination, reception
- --==
- FROM IPMSAbstractService {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- abstract-service(3) version-1994(0)}
- -- IPMS Object Identifiers
- id-ot-ipms, id-ot-ipms-user
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MTS Abstract Service
- MHS-OBJECT
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- Remote Operations
- CONTRACT
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
--- Primary object types
-ipms-user MHS-OBJECT ::= {
- INITIATES {ipms-access-contract}
- ID id-ot-ipms-user
-}
-
-ipms-access-contract CONTRACT ::= {
- INITIATOR CONSUMER OF {origination | reception | management}
-}
-
-ipms MHS-OBJECT ::= {RESPONDS {ipms-access-contract}
- ID id-ot-ipms
-}
-
-END -- of IPMSFunctionalObjects
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSHeadingExtensions.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSHeadingExtensions.asn
deleted file mode 100644
index 752e8d05e1..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSHeadingExtensions.asn
+++ /dev/null
@@ -1,246 +0,0 @@
--- Module IPMSHeadingExtensions (X.420:06/1999)
-IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- heading-extensions(6) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- IPMS-EXTENSION, ORDescriptor, RecipientSpecifier, ThisIPMField, BodyPart
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- MTS Abstract Service
- ExtendedCertificates, SecurityLabel, UniversalOrBMPString{}
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- Directory Authentication Framework
- AlgorithmIdentifier, SIGNATURE{}, SIGNED{}
- --==
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3}
- -- Directory Certificate Extensions
- CertificateAssertion
- --==
- FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
- certificateExtensions(26) 0}
- -- IPMS upper bounds
- ub-alpha-code-length, ub-circulation-list-members, ub-distribution-codes,
- ub-extended-subject-length, ub-information-categories,
- ub-information-category-length, ub-manual-handling-instruction-length,
- ub-manual-handling-instructions, ub-originators-reference-length,
- ub-precedence
- --==
- FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- upper-bounds(10) version-1999(1)}
- -- IPMS Object Identifiers
- id-hex-authorization-time, id-hex-auto-submitted,
- id-hex-body-part-signatures, id-hex-circulation-list-recipients,
- id-hex-distribution-codes, id-hex-extended-subject, id-hex-incomplete-copy,
- id-hex-information-category, id-hex-ipm-security-label, id-hex-languages,
- id-hex-manual-handling-instructions, id-hex-originators-reference,
- id-hex-precedence-policy-id, id-rex-circulation-list-indicator,
- id-rex-precedence
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Incomplete Copy
-incomplete-copy IPMS-EXTENSION ::= {
- VALUE IncompleteCopy,
- IDENTIFIED BY id-hex-incomplete-copy
-}
-
-IncompleteCopy ::= NULL
-
--- Languages
-languages IPMS-EXTENSION ::= {
- VALUE SET OF Language,
- IDENTIFIED BY id-hex-languages
-}
-
-Language ::= PrintableString(SIZE (2 | 5))
-
--- Auto-submitted
-auto-submitted IPMS-EXTENSION ::= {
- VALUE AutoSubmitted,
- IDENTIFIED BY id-hex-auto-submitted
-}
-
-AutoSubmitted ::= ENUMERATED {
- not-auto-submitted(0), auto-generated(1), auto-replied(2)}
-
-body-part-signatures IPMS-EXTENSION ::= {
- VALUE BodyPartSignatures,
- IDENTIFIED BY id-hex-body-part-signatures
-}
-
-BodyPartSignatures ::=
- SET OF
- SET {body-part-number BodyPartNumber,
- body-part-signature BodyPartSignature,
- originator-certificate-selector [1] CertificateAssertion OPTIONAL,
- originator-certificates [0] ExtendedCertificates OPTIONAL,
- ...}
-
-BodyPartNumber ::= INTEGER(1..MAX)
-
-BodyPartSignature ::=
- SIGNATURE
- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
- body-part BodyPart,
- body-part-security-label SecurityLabel OPTIONAL
- }}
-
-ipm-security-label IPMS-EXTENSION ::= {
- VALUE IPMSecurityLabel,
- IDENTIFIED BY id-hex-ipm-security-label
-}
-
-IPMSecurityLabel ::= SEQUENCE {
- content-security-label [0] SecurityLabel,
- heading-security-label [1] SecurityLabel OPTIONAL,
- body-part-security-labels [2] SEQUENCE OF BodyPartSecurityLabel OPTIONAL
-}
-
-BodyPartSecurityLabel ::= CHOICE {
- body-part-unlabelled [0] NULL,
- body-part-security-label [1] SecurityLabel
-}
-
--- Authorization Time
-authorization-time IPMS-EXTENSION ::= {
- VALUE AuthorizationTime,
- IDENTIFIED BY id-hex-authorization-time
-}
-
-AuthorizationTime ::= GeneralizedTime
-
--- Circulation List
-circulation-list-recipients IPMS-EXTENSION ::= {
- VALUE CirculationList,
- IDENTIFIED BY id-hex-circulation-list-recipients
-}
-
-CirculationList ::=
- SEQUENCE (SIZE (2..ub-circulation-list-members)) OF CirculationMember
-
-CirculationMember ::= SET {
- circulation-recipient
- RecipientSpecifier
- (WITH COMPONENTS {
- ...,
- recipient (WITH COMPONENTS {
- ...,
- formal-name PRESENT
- })
- }),
- checked Checkmark OPTIONAL
-}
-
-Checkmark ::= CHOICE {
- simple NULL,
- timestamped CirculationTime,
- signed CirculationSignature
-}
-
-CirculationTime ::= GeneralizedTime
-
-CirculationSignature ::=
- SIGNED
- {SEQUENCE {algorithm-identifier CirculationSignatureAlgorithmIdentifier,
- this-IPM ThisIPMField,
- timestamp CirculationTime}}
-
-CirculationSignatureAlgorithmIdentifier ::= AlgorithmIdentifier
-
--- Circulation List Indicator
-circulation-list-indicator IPMS-EXTENSION ::= {
- VALUE NULL,
- IDENTIFIED BY id-rex-circulation-list-indicator
-}
-
--- Distribution Codes
-distribution-codes IPMS-EXTENSION ::= {
- VALUE DistributionCodes,
- IDENTIFIED BY id-hex-distribution-codes
-}
-
-DistributionCodes ::=
- SEQUENCE (SIZE (1..ub-distribution-codes)) OF DistributionCode
-
-DistributionCode ::= SEQUENCE {
- oid-code OBJECT IDENTIFIER OPTIONAL,
- alphanumeric-code AlphaCode OPTIONAL,
- or-descriptor [0] ORDescriptor OPTIONAL
-}
-
-AlphaCode ::= UniversalOrBMPString{ub-alpha-code-length}
-
--- Extended Subject
-extended-subject IPMS-EXTENSION ::= {
- VALUE ExtendedSubject,
- IDENTIFIED BY id-hex-extended-subject
-}
-
-ExtendedSubject ::= UniversalOrBMPString{ub-extended-subject-length}
-
--- Information category
-information-category IPMS-EXTENSION ::= {
- VALUE InformationCategories,
- IDENTIFIED BY id-hex-information-category
-}
-
-InformationCategories ::=
- SEQUENCE (SIZE (1..ub-information-categories)) OF InformationCategory
-
-InformationCategory ::= SEQUENCE {
- reference [0] OBJECT IDENTIFIER OPTIONAL,
- description [1] DescriptionString OPTIONAL
-}
-
-DescriptionString ::= UniversalOrBMPString{ub-information-category-length}
-
--- Manual handling Instructions
-manual-handling-instructions IPMS-EXTENSION ::= {
- VALUE ManualHandlingInstructions,
- IDENTIFIED BY id-hex-manual-handling-instructions
-}
-
-ManualHandlingInstructions ::=
- SEQUENCE (SIZE (1..ub-manual-handling-instructions)) OF
- ManualHandlingInstruction
-
-ManualHandlingInstruction ::=
- UniversalOrBMPString{ub-manual-handling-instruction-length}
-
--- Originator's Reference
-originators-reference IPMS-EXTENSION ::= {
- VALUE OriginatorsReference,
- IDENTIFIED BY id-hex-originators-reference
-}
-
-OriginatorsReference ::= UniversalOrBMPString{ub-originators-reference-length}
-
--- Precedence Policy Identifier
-precedence-policy-identifier IPMS-EXTENSION ::= {
- VALUE PrecedencePolicyIdentifier,
- IDENTIFIED BY id-hex-precedence-policy-id
-}
-
-PrecedencePolicyIdentifier ::= OBJECT IDENTIFIER
-
--- Precedence
-precedence IPMS-EXTENSION ::= {
- VALUE Precedence,
- IDENTIFIED BY id-rex-precedence
-}
-
-Precedence ::= INTEGER(0..ub-precedence)
-
-END -- of IPMSHeadingExtensions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSInformationObjects.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSInformationObjects.asn
deleted file mode 100644
index 3fb0463ee7..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSInformationObjects.asn
+++ /dev/null
@@ -1,626 +0,0 @@
--- Module IPMSInformationObjects (X.420:06/1999)
-IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Extended Body Parts
- bilaterally-defined-body-part, encrypted-body-part, g3-facsimile-body-part,
- g4-class1-body-part, ia5-text-body-part, message-body-part,
- mixed-mode-body-part, nationally-defined-body-part, teletex-body-part,
- videotex-body-part
- --==
- FROM IPMSExtendedBodyPartTypes {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- extended-body-part-types(7) version-1994(0)}
- general-text-body-part
- --==
- FROM IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7)
- modules(0) extended-body-part-types-2(1)}
- file-transfer-body-part
- --==
- FROM IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
- modules(0) file-transfer-body-part-type(9)}
- voice-body-part
- --==
- FROM IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
- modules(0) extended-voice-body-part-type(11)}
- notification-body-part, report-body-part
- --==
- FROM IPMSForwardedReportBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
- modules(0) forwarded-report-body-part-type(12)}
- content-body-part{}
- --==
- FROM IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
- modules(0) forwarded-content-body-part-type(15)}
- pkcs7-body-part
- --==
- FROM PKCS7BodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- pkcs7-body-part-type(16)}
- -- IPMS Heading Extensions
- authorization-time, auto-submitted, body-part-signatures,
- circulation-list-indicator, circulation-list-recipients,
- distribution-codes, extended-subject, incomplete-copy,
- information-category, ipm-security-label, languages,
- manual-handling-instructions, originators-reference, precedence,
- precedence-policy-identifier
- --==
- FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- heading-extensions(6) version-1999(1)}
- -- IPMS Security Extensions
- body-part-encryption-token, BodyPartTokens, forwarded-content-token,
- ForwardedContentToken, ipn-security-response, recipient-security-request
- --==
- FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- ipm-security-extensions(14) version-1999(1)}
- -- IPMS Upper bounds
- ub-auto-forward-comment, ub-free-form-name, ub-local-ipm-identifier,
- ub-subject-field, ub-telephone-number
- --==
- FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- upper-bounds(10) version-1999(1)}
- -- ODIF
- Interchange-Data-Element
- --==
- FROM Interchange-Data-Elements {2 8 1 5 5}
- -- MTS Abstract Service
- EncodedInformationTypes, ExtendedCertificates, EXTENSION,
- G3FacsimileNonBasicParameters, MessageDeliveryTime, ORName,
- OtherMessageDeliveryFields, SupplementaryInformation,
- TeletexNonBasicParameters
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- MS Abstract Service
- MS-EXTENSION, SequenceNumber
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- Directory Authentication Framework
- AlgorithmIdentifier, ENCRYPTED{}
- --==
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3}
- -- IPMS Object Identifiers
- id-mst-assembly-capability, id-mst-assembly-instructions,
- id-mst-invalid-assembly-instructions, id-mst-invalid-ipn,
- id-mst-originator-body-part-encryption-token,
- id-mst-originator-forwarded-content-token,
- id-mst-suspend-auto-acknowledgement, id-mst-prevent-nrn-generation,
- id-on-absence-advice, id-on-change-of-address-advice
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
-Time ::= UTCTime
-
--- Information object
-InformationObject ::= CHOICE {ipm [0] IPM,
- ipn [1] IPN
-}
-
--- IPM
-IPM ::= SEQUENCE {heading Heading,
- body Body
-}
-
--- MTS Extensions
-IPMPerRecipientEnvelopeExtensions EXTENSION ::=
- {blind-copy-recipients | body-part-encryption-token |
- forwarded-content-token, ...}
-
--- IPMS Extensions
-IPMSExtension{IPMS-EXTENSION:ChosenFrom} ::= SEQUENCE {
- type IPMS-EXTENSION.&id({ChosenFrom}),
- value IPMS-EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
-}
-
-IPMS-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
- &Type DEFAULT NULL
-}WITH SYNTAX {[VALUE &Type,]
- IDENTIFIED BY &id
-}
-
-PrivateIPMSExtensions IPMS-EXTENSION ::=
- {...}
-
--- Heading
-Heading ::= SET {
- this-IPM ThisIPMField,
- originator [0] OriginatorField OPTIONAL,
- authorizing-users [1] AuthorizingUsersField OPTIONAL,
- primary-recipients [2] PrimaryRecipientsField DEFAULT {},
- copy-recipients [3] CopyRecipientsField DEFAULT {},
- blind-copy-recipients [4] BlindCopyRecipientsField OPTIONAL,
- replied-to-IPM [5] RepliedToIPMField OPTIONAL,
- obsoleted-IPMs [6] ObsoletedIPMsField DEFAULT {},
- related-IPMs [7] RelatedIPMsField DEFAULT {},
- subject [8] EXPLICIT SubjectField OPTIONAL,
- expiry-time [9] ExpiryTimeField OPTIONAL,
- reply-time [10] ReplyTimeField OPTIONAL,
- reply-recipients [11] ReplyRecipientsField OPTIONAL,
- importance [12] ImportanceField DEFAULT normal,
- sensitivity [13] SensitivityField OPTIONAL,
- auto-forwarded [14] AutoForwardedField DEFAULT FALSE,
- extensions [15] ExtensionsField DEFAULT {}
-}
-
--- Heading component types
-IPMIdentifier ::= [APPLICATION 11] SET {
- user ORName OPTIONAL,
- user-relative-identifier LocalIPMIdentifier
-}
-
-LocalIPMIdentifier ::= PrintableString(SIZE (0..ub-local-ipm-identifier))
-
-RecipientSpecifier ::= SET {
- recipient [0] ORDescriptor,
- notification-requests [1] NotificationRequests DEFAULT {},
- reply-requested [2] BOOLEAN DEFAULT FALSE,
- recipient-extensions [3] RecipientExtensionsField OPTIONAL
-}
-
-ORDescriptor ::= SET {
- formal-name ORName OPTIONAL,
- free-form-name [0] FreeFormName OPTIONAL,
- telephone-number [1] TelephoneNumber OPTIONAL
-}
-
-FreeFormName ::= TeletexString(SIZE (0..ub-free-form-name))
-
-TelephoneNumber ::= PrintableString(SIZE (0..ub-telephone-number))
-
-NotificationRequests ::= BIT STRING {
- rn(0), nrn(1), ipm-return(2), an-supported(3), suppress-an(4)}
-
-RecipientExtensionsField ::= SET OF IPMSExtension{{RecipientExtensions}}
-
-RecipientExtensions IPMS-EXTENSION ::=
- {circulation-list-indicator | precedence | recipient-security-request |
- PrivateIPMSExtensions, ...}
-
--- This IPM heading field
-ThisIPMField ::= IPMIdentifier
-
--- Originator heading field
-OriginatorField ::= ORDescriptor
-
--- Authorizing Users heading field
-AuthorizingUsersField ::= SEQUENCE OF AuthorizingUsersSubfield
-
-AuthorizingUsersSubfield ::= ORDescriptor
-
--- Primary Recipients heading field
-PrimaryRecipientsField ::= SEQUENCE OF PrimaryRecipientsSubfield
-
-PrimaryRecipientsSubfield ::= RecipientSpecifier
-
--- Copy Recipients heading field
-CopyRecipientsField ::= SEQUENCE OF CopyRecipientsSubfield
-
-CopyRecipientsSubfield ::= RecipientSpecifier
-
--- Blind Copy Recipients heading field
-BlindCopyRecipientsField ::= SEQUENCE OF BlindCopyRecipientsSubfield
-
-BlindCopyRecipientsSubfield ::= RecipientSpecifier
-
--- Blind Copy Recipients envelope field
-blind-copy-recipients EXTENSION ::= {
- BlindCopyRecipientsField,
- IDENTIFIED BY standard-extension:41
-}
-
--- Replied-to IPM heading field
-RepliedToIPMField ::= IPMIdentifier
-
--- Obsoleted IPMs heading field
-ObsoletedIPMsField ::= SEQUENCE OF ObsoletedIPMsSubfield
-
-ObsoletedIPMsSubfield ::= IPMIdentifier
-
--- Related IPMs heading field
-RelatedIPMsField ::= SEQUENCE OF RelatedIPMsSubfield
-
-RelatedIPMsSubfield ::= IPMIdentifier
-
--- Subject heading field
-SubjectField ::= TeletexString(SIZE (0..ub-subject-field))
-
--- Expiry Time heading field
-ExpiryTimeField ::= Time
-
--- Reply Time heading field
-ReplyTimeField ::= Time
-
--- Reply Recipients heading field
-ReplyRecipientsField ::= SEQUENCE OF ReplyRecipientsSubfield
-
-ReplyRecipientsSubfield ::=
- ORDescriptor(WITH COMPONENTS {
- ...,
- formal-name PRESENT
- })
-
--- Importance heading field
-ImportanceField ::= ENUMERATED {low(0), normal(1), high(2)}
-
--- Sensitivity heading field
-SensitivityField ::= ENUMERATED {
- personal(1), private(2), company-confidential(3)}
-
--- Auto-forwarded heading field
-AutoForwardedField ::= BOOLEAN
-
--- Extensions heading field
-ExtensionsField ::= SET OF IPMSExtension{{HeadingExtensions}}
-
-HeadingExtensions IPMS-EXTENSION ::=
- {authorization-time | auto-submitted | body-part-signatures |
- circulation-list-recipients | distribution-codes | extended-subject |
- incomplete-copy | information-category | ipm-security-label | languages |
- manual-handling-instructions | originators-reference |
- precedence-policy-identifier | PrivateIPMSExtensions, ...}
-
--- Body
-Body ::= SEQUENCE OF BodyPart
-
-BodyPart ::= CHOICE {
- basic
- CHOICE {ia5-text [0] IA5TextBodyPart,
- g3-facsimile [3] G3FacsimileBodyPart,
- g4-class1 [4] G4Class1BodyPart,
- teletex [5] TeletexBodyPart,
- videotex [6] VideotexBodyPart,
- encrypted [8] EncryptedBodyPart,
- message [9] MessageBodyPart,
- mixed-mode [11] MixedModeBodyPart,
- bilaterally-defined [14] BilaterallyDefinedBodyPart,
- nationally-defined [7] NationallyDefinedBodyPart},
- extended [15] ExtendedBodyPart{{IPMBodyPartTable}}
-}
-
--- Extended body part
-ExtendedBodyPart{EXTENDED-BODY-PART-TYPE:IPMBodyPartTable} ::= SEQUENCE {
- parameters [0] INSTANCE OF TYPE-IDENTIFIER OPTIONAL,
- data INSTANCE OF TYPE-IDENTIFIER
-}
-(CONSTRAINED BY { -- must correspond to the &parameters field and &data field of a member of --
- IPMBodyPartTable})
-
-IPMBodyPartTable EXTENDED-BODY-PART-TYPE ::=
- {StandardBodyParts | ApplicationSpecificBodyParts}
-
-StandardBodyParts EXTENDED-BODY-PART-TYPE ::=
- {ia5-text-body-part | g3-facsimile-body-part | g4-class1-body-part |
- teletex-body-part | videotex-body-part | encrypted-body-part |
- message-body-part | mixed-mode-body-part | bilaterally-defined-body-part |
- nationally-defined-body-part | general-text-body-part |
- file-transfer-body-part | voice-body-part | report-body-part |
- notification-body-part |
- content-body-part{{1 2 3 -- RELATIVE-OID to be provided --}} |
- pkcs7-body-part, ...}
-
-ApplicationSpecificBodyParts EXTENDED-BODY-PART-TYPE ::=
- {--any body part defined in other Specifications, or for proprietary or private use
- ...}
-
-EXTENDED-BODY-PART-TYPE ::= CLASS {
- &parameters TYPE-IDENTIFIER OPTIONAL,
- &data TYPE-IDENTIFIER
-}WITH SYNTAX {[PARAMETERS &parameters,]
- DATA &data
-}
-
--- IA5 Text body part
-IA5TextBodyPart ::= SEQUENCE {
- parameters IA5TextParameters,
- data IA5TextData
-}
-
-IA5TextParameters ::= SET {repertoire [0] Repertoire DEFAULT ia5
-}
-
-IA5TextData ::= IA5String
-
-Repertoire ::= ENUMERATED {ita2(2), ia5(5)}
-
--- G3 Facsimile body part
-G3FacsimileBodyPart ::= SEQUENCE {
- parameters G3FacsimileParameters,
- data G3FacsimileData
-}
-
-G3FacsimileParameters ::= SET {
- number-of-pages [0] INTEGER OPTIONAL,
- non-basic-parameters [1] G3FacsimileNonBasicParameters OPTIONAL
-}
-
-G3FacsimileData ::= SEQUENCE OF BIT STRING
-
--- G4 Class 1 and Mixed-mode body parts
-G4Class1BodyPart ::= SEQUENCE OF Interchange-Data-Element
-
-MixedModeBodyPart ::= SEQUENCE OF Interchange-Data-Element
-
--- Teletex body part
-TeletexBodyPart ::= SEQUENCE {
- parameters TeletexParameters,
- data TeletexData
-}
-
-TeletexParameters ::= SET {
- number-of-pages [0] INTEGER OPTIONAL,
- telex-compatible [1] BOOLEAN DEFAULT FALSE,
- non-basic-parameters [2] TeletexNonBasicParameters OPTIONAL
-}
-
-TeletexData ::= SEQUENCE OF TeletexString
-
--- Videotex body part
-VideotexBodyPart ::= SEQUENCE {
- parameters VideotexParameters,
- data VideotexData
-}
-
-VideotexParameters ::= SET {syntax [0] VideotexSyntax OPTIONAL
-}
-
-VideotexSyntax ::= INTEGER {
- ids(0), data-syntax1(1), data-syntax2(2), data-syntax3(3)}
-
-VideotexData ::= VideotexString
-
--- Encrypted body part
-EncryptedBodyPart ::= SEQUENCE {
- parameters EncryptedParameters,
- data EncryptedData
-}
-
-EncryptedParameters ::= SET {
- algorithm-identifier AlgorithmIdentifier,
- originator-certificates ExtendedCertificates OPTIONAL,
- ...
-}
-
-EncryptedData ::= BIT STRING(CONSTRAINED BY {BodyPart})
-
--- Message body part
-MessageBodyPart ::= SEQUENCE {
- parameters MessageParameters,
- data MessageData
-}
-
-MessageParameters ::= SET {
- delivery-time [0] MessageDeliveryTime OPTIONAL,
- delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL
-}
-
-MessageData ::= IPM
-
--- Bilaterally Defined body part
-BilaterallyDefinedBodyPart ::= OCTET STRING
-
--- Nationally Defined body part
-NATIONAL-BODY-PARTS ::= CLASS {&Type
-}
-
-NationallyDefinedBodyPart ::= NATIONAL-BODY-PARTS.&Type
-
--- Provided for Historic reasons. Use is strongly deprecated.
--- IPN
-IPN ::= SET {
- -- common-fields --COMPONENTS OF CommonFields,
- choice
- [0] CHOICE {non-receipt-fields [0] NonReceiptFields,
- receipt-fields [1] ReceiptFields,
- other-notification-type-fields
- [2] OtherNotificationTypeFields}
-}
-
-RN ::=
- IPN
- (WITH COMPONENTS {
- ...,
- choice (WITH COMPONENTS {
- receipt-fields PRESENT
- })
- })
-
-NRN ::=
- IPN
- (WITH COMPONENTS {
- ...,
- choice (WITH COMPONENTS {
- non-receipt-fields PRESENT
- })
- })
-
-ON ::=
- IPN
- (WITH COMPONENTS {
- ...,
- choice (WITH COMPONENTS {
- other-notification-type-fields PRESENT
- })
- })
-
-CommonFields ::= SET {
- subject-ipm SubjectIPMField,
- ipn-originator [1] IPNOriginatorField OPTIONAL,
- ipm-intended-recipient [2] IPMIntendedRecipientField OPTIONAL,
- conversion-eits ConversionEITsField OPTIONAL,
- notification-extensions [3] NotificationExtensionsField OPTIONAL
-}
-
-NonReceiptFields ::= SET {
- non-receipt-reason [0] NonReceiptReasonField,
- discard-reason [1] DiscardReasonField OPTIONAL,
- auto-forward-comment [2] AutoForwardCommentField OPTIONAL,
- returned-ipm [3] ReturnedIPMField OPTIONAL,
- nrn-extensions [4] NRNExtensionsField OPTIONAL
-}
-
-ReceiptFields ::= SET {
- receipt-time [0] ReceiptTimeField,
- acknowledgment-mode [1] AcknowledgmentModeField DEFAULT manual,
- suppl-receipt-info [2] SupplReceiptInfoField OPTIONAL,
- rn-extensions [3] RNExtensionsField OPTIONAL
-}
-
--- Common fields
-SubjectIPMField ::= IPMIdentifier
-
-IPNOriginatorField ::= ORDescriptor
-
-IPMIntendedRecipientField ::= ORDescriptor
-
-ConversionEITsField ::= EncodedInformationTypes
-
-NotificationExtensionsField ::= SET OF IPMSExtension{{NotificationExtensions}}
-
-NotificationExtensions IPMS-EXTENSION ::=
- {ipn-security-response | PrivateIPMSExtensions, ...}
-
--- Non-receipt fields
-NonReceiptReasonField ::= ENUMERATED {
- ipm-discarded(0), ipm-auto-forwarded(1), ...
- }
-
--- ITU-T version:
-DiscardReasonField ::= ENUMERATED {
- ipm-expired(0), ipm-obsoleted(1), user-subscription-terminated(2),
- not-used(3)}
-
--- ISO/IEC version:
---DiscardReasonField ::= ENUMERATED {
--- ipm-expired (0),
--- ipm-obsoleted (1),
--- user-subscription-terminated (2),
--- The following value may not be supported by implementations of earlier versions of this Specification
--- ipm-deleted (3),
--- ... }
-AutoForwardCommentField ::=
- AutoForwardComment
-
-AutoForwardComment ::= PrintableString(SIZE (0..ub-auto-forward-comment))
-
-ReturnedIPMField ::= IPM
-
-NRNExtensionsField ::= SET OF IPMSExtension{{NRNExtensions}}
-
-NRNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...}
-
--- Receipt fields
-ReceiptTimeField ::= Time
-
-AcknowledgmentModeField ::= ENUMERATED {manual(0), automatic(1)}
-
-SupplReceiptInfoField ::= SupplementaryInformation
-
-RNExtensionsField ::= SET OF IPMSExtension{{RNExtensions}}
-
-RNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...}
-
--- Other Notification Type fields
-OtherNotificationTypeFields ::= SET OF IPMSExtension{{OtherNotifications}}
-
-OtherNotifications IPMS-EXTENSION ::=
- {AdviceNotifications | PrivateIPMSExtensions, ...}
-
-AdviceNotifications IPMS-EXTENSION ::=
- {absence-advice | change-of-address-advice, ...}
-
--- Advice Notification fields
-absence-advice IPMS-EXTENSION ::= {
- VALUE AbsenceAdvice,
- IDENTIFIED BY id-on-absence-advice
-}
-
-AbsenceAdvice ::= SEQUENCE {
- advice BodyPart OPTIONAL,
- next-available Time OPTIONAL
-}
-
--- at least one component shall be present
-change-of-address-advice IPMS-EXTENSION ::= {
- VALUE ChangeOfAddressAdvice,
- IDENTIFIED BY id-on-change-of-address-advice
-}
-
-ChangeOfAddressAdvice ::= SEQUENCE {
- new-address
- [0] ORDescriptor(WITH COMPONENTS {
- ...,
- formal-name PRESENT
- }),
- effective-from [1] Time OPTIONAL
-}
-
--- Message Store Realization
-prevent-nrn-generation MS-EXTENSION ::= {
- NULL
- IDENTIFIED BY id-mst-prevent-nrn-generation
-}
-
-suspend-auto-acknowledgement MS-EXTENSION ::= {
- NULL
- IDENTIFIED BY id-mst-suspend-auto-acknowledgement
-}
-
-assembly-capability MS-EXTENSION ::= {
- NULL
- IDENTIFIED BY id-mst-assembly-capability
-}
-
-IPMSubmissionOptions MS-EXTENSION ::=
- {ipm-assembly-instructions | originator-body-part-encryption-token |
- originator-forwarded-content-token, ...} -- For future extension additions
-
-ipm-assembly-instructions MS-EXTENSION ::= {
- IPMAssemblyInstructions
- IDENTIFIED BY id-mst-assembly-instructions
-}
-
-IPMAssemblyInstructions ::= SET {assembly-instructions [0] BodyPartReferences
-}
-
-BodyPartReferences ::= SEQUENCE OF BodyPartReference
-
-BodyPartReference ::= CHOICE {
- stored-entry [0] SequenceNumber,
- stored-content [1] SequenceNumber,
- submitted-body-part [2] INTEGER(1..MAX),
- stored-body-part
- [3] SEQUENCE {message-entry SequenceNumber,
- body-part-number INTEGER(1..MAX)}
-}
-
-originator-body-part-encryption-token MS-EXTENSION ::= {
- BodyPartTokens
- IDENTIFIED BY id-mst-originator-body-part-encryption-token
-}
-
-originator-forwarded-content-token MS-EXTENSION ::= {
- ForwardedContentToken
- IDENTIFIED BY id-mst-originator-forwarded-content-token
-}
-
-IPMSubmissionErrors MS-EXTENSION ::=
- {invalid-assembly-instructions | invalid-ipn, ...
- } -- For future extension additions
-
-invalid-assembly-instructions MS-EXTENSION ::= {
- BodyPartReferences
- IDENTIFIED BY id-mst-invalid-assembly-instructions
-}
-
-invalid-ipn MS-EXTENSION ::= {NULL
- IDENTIFIED BY id-mst-invalid-ipn
-}
-
-END -- of IPMSInformationObjects
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSMessageStoreAttributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSMessageStoreAttributes.asn
deleted file mode 100644
index 719bca4987..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSMessageStoreAttributes.asn
+++ /dev/null
@@ -1,1120 +0,0 @@
--- Module IPMSMessageStoreAttributes (X.420:06/1999)
-IPMSMessageStoreAttributes {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- message-store-attributes(8) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Heading Extensions
- AuthorizationTime, AutoSubmitted, BodyPartNumber, BodyPartSecurityLabel,
- BodyPartSignatures, CirculationMember, DistributionCode, ExtendedSubject,
- IncompleteCopy, InformationCategory, IPMSecurityLabel, Language,
- ManualHandlingInstruction, OriginatorsReference, Precedence,
- PrecedencePolicyIdentifier
- --==
- FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- heading-extensions(6) version-1999(1)}
- -- IPMS Security Extensions
- BodyPartTokens, ForwardedContentToken
- --==
- FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- ipm-security-extensions(14) version-1999(1)}
- -- IPMS Information Objects
- AcknowledgmentModeField, AuthorizingUsersSubfield, AutoForwardCommentField,
- AutoForwardedField, BilaterallyDefinedBodyPart,
- BlindCopyRecipientsSubfield, Body, ConversionEITsField,
- CopyRecipientsSubfield, DiscardReasonField, EncryptedBodyPart,
- EncryptedData, EncryptedParameters, ExpiryTimeField,
- EXTENDED-BODY-PART-TYPE, G3FacsimileBodyPart, G3FacsimileData,
- G3FacsimileParameters, G4Class1BodyPart, Heading, IA5TextBodyPart,
- IA5TextData, IA5TextParameters, ImportanceField, IPMIdentifier,
- IPMIntendedRecipientField, IPMSExtension{}, IPNOriginatorField,
- MessageBodyPart, MessageData, MessageParameters, MixedModeBodyPart,
- NationallyDefinedBodyPart, NonReceiptReasonField, NotificationExtensions,
- NRNExtensions, ObsoletedIPMsSubfield, ORDescriptor, OriginatorField,
- OtherNotifications, PrimaryRecipientsSubfield, ReceiptTimeField,
- RecipientSpecifier, RelatedIPMsSubfield, RepliedToIPMField,
- ReplyRecipientsSubfield, ReplyTimeField, ReturnedIPMField, RNExtensions,
- SensitivityField, SubjectField, SubjectIPMField, SupplReceiptInfoField,
- TeletexBodyPart, TeletexData, TeletexParameters, ThisIPMField,
- VideotexBodyPart, VideotexData, VideotexParameters
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-bat-bilaterally-defined-body-parts, id-bat-body,
- id-bat-encrypted-body-parts, id-bat-encrypted-data,
- id-bat-encrypted-parameters, id-bat-extended-body-part-types,
- id-bat-g3-facsimile-body-parts, id-bat-g3-facsimile-data,
- id-bat-g3-facsimile-parameters, id-bat-g4-class1-body-parts,
- id-bat-ia5-text-body-parts, id-bat-ia5-text-data,
- id-bat-ia5-text-parameters, id-bat-message-body-parts, id-bat-message-data,
- id-bat-message-parameters, id-bat-mixed-mode-body-parts,
- id-bat-nationally-defined-body-parts, id-bat-teletex-body-parts,
- id-bat-teletex-data, id-bat-teletex-parameters, id-bat-videotex-body-parts,
- id-bat-videotex-data, id-bat-videotex-parameters,
- id-cat-correlated-delivered-ipns, id-cat-correlated-delivered-replies,
- id-cat-delivered-ipn-summary, id-cat-delivered-replies-summary,
- id-cat-forwarded-ipms, id-cat-forwarding-ipms, id-cat-ipm-recipients,
- id-cat-obsoleted-ipms, id-cat-obsoleting-ipms, id-cat-related-ipms,
- id-cat-relating-ipms, id-cat-replied-to-ipm, id-cat-recipient-category,
- id-cat-replying-ipms, id-cat-revised-reply-time, id-cat-subject-ipm,
- id-cat-submitted-ipn-status, id-cat-submitted-ipns,
- id-cat-submitted-reply-status, id-hat-authorization-time,
- id-hat-authorizing-users, id-hat-auto-forwarded, id-hat-auto-submitted,
- id-hat-blind-copy-recipients, id-hat-body-part-encryption-token,
- id-hat-body-part-security-label,
- id-hat-body-part-signature-verification-status,
- id-hat-body-part-signatures, id-hat-circulation-list-recipients,
- id-hat-copy-recipients, id-hat-distribution-codes, id-hat-expiry-time,
- id-hat-extended-subject, id-hat-forwarded-content-token,
- id-hat-forwarding-token, id-hat-heading, id-hat-importance,
- id-hat-incomplete-copy, id-hat-information-category,
- id-hat-ipm-security-label, id-hat-languages,
- id-hat-manual-handling-instructions, id-hat-nrn-requestors,
- id-hat-obsoleted-IPMs, id-hat-originator, id-hat-originators-reference,
- id-hat-precedence, id-hat-precedence-policy-id, id-hat-primary-recipients,
- id-hat-related-IPMs, id-hat-replied-to-IPM, id-hat-reply-recipients,
- id-hat-reply-requestors, id-hat-reply-time, id-hat-rn-requestors,
- id-hat-sensitivity, id-hat-subject, id-hat-this-ipm, id-mr-ipm-identifier,
- id-mr-ipm-location, id-mr-or-descriptor, id-mr-or-descriptor-elements,
- id-mr-or-descriptor-single-element, id-mr-or-descriptor-substring-elements,
- id-mr-circulation-member, id-mr-circulation-member-checkmark,
- id-mr-circulation-member-elements, id-mr-circulation-member-single-element,
- id-mr-circulation-member-substring-elements, id-mr-distribution-code,
- id-mr-information-category, id-mr-recipient-specifier,
- id-mr-recipient-specifier-elements,
- id-mr-recipient-specifier-single-element,
- id-mr-recipient-specifier-substring-elements, id-nat-acknowledgment-mode,
- id-nat-auto-forward-comment, id-nat-conversion-eits, id-nat-discard-reason,
- id-nat-ipm-intended-recipient, id-nat-ipn-originator,
- id-nat-non-receipt-reason, id-nat-notification-extensions,
- id-nat-nrn-extensions, id-nat-other-notification-type-fields,
- id-nat-receipt-time, id-nat-returned-ipm, id-nat-rn-extensions,
- id-nat-subject-ipm, id-nat-suppl-receipt-info, id-sat-body-parts-summary,
- id-sat-ipm-auto-discarded, id-sat-ipm-entry-type, id-sat-ipm-synopsis
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MS Abstract Service
- X413ATTRIBUTE, MS-EIT, SequenceNumber
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- MS General Attribute Types
- SignatureStatus
- --==
- FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-attribute-types(2) version-1999(1)}
- -- MS matching-rules
- MSString{}, mSStringMatch, mSSubstringsMatch
- --==
- FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-matching-rules(5) version-1999(1)}
- -- MTS Abstract Service
- EncodedInformationTypes, MessageToken
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- Directory Information Framework
- objectIdentifierMatch, MATCHING-RULE
- --==
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3}
- -- Directory Abstract Service
- booleanMatch, generalizedTimeMatch, generalizedTimeOrderingMatch,
- integerMatch, integerOrderingMatch, uTCTimeMatch, uTCTimeOrderingMatch
- --==
- FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
- selectedAttributeTypes(5) 3}
- ub-msstring-match
- FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)};
-
--- IPMS attribute table information object set
-IPMSAttributeTable X413ATTRIBUTE ::=
- {acknowledgment-mode | authorizing-users | auto-forward-comment |
- auto-forwarded | auto-submitted | bilaterally-defined-body-parts |
- blind-copy-recipients | body | conversion-eits | copy-recipients |
- discard-reason | encrypted-body-parts | encrypted-data |
- encrypted-parameters | expiry-time | extended-body-part-types |
- g3-facsimile-body-parts | g3-facsimile-data | g3-facsimile-parameters |
- g4-class1-body-parts | heading | ia5-text-body-parts | ia5-text-data |
- ia5-text-parameters | importance | incomplete-copy | ipm-entry-type |
- ipm-intended-recipient | ipm-synopsis | ipn-originator | languages |
- message-body-parts | message-data | message-parameters |
- mixed-mode-body-parts | nationally-defined-body-parts | non-receipt-reason |
- nrn-requestors | obsoleted-IPMs | originator | primary-recipients |
- receipt-time | related-IPMs | replied-to-IPM | reply-recipients |
- reply-requestors | reply-time | returned-ipm | rn-requestors | sensitivity |
- subject | subject-ipm | suppl-receipt-info | teletex-body-parts |
- teletex-data | teletex-parameters | this-ipm | videotex-body-parts |
- videotex-data | videotex-parameters, ... -- 1994 extension additions --,
- ac-correlated-delivered-ipns | ac-correlated-delivered-replies |
- ac-delivered-ipn-summary | ac-delivered-replies-summary | ac-forwarded-ipms
- | ac-forwarding-ipms | ac-ipm-recipients | ac-obsoleted-ipms |
- ac-obsoleting-ipms | ac-related-ipms | ac-relating-ipms | ac-replied-to-ipm
- | ac-replying-ipms | ac-subject-ipm | ac-submitted-ipn-status |
- ac-submitted-ipns | ac-submitted-reply-status | authorization-time |
- body-part-encryption-token | body-part-security-label |
- body-part-signature-verification-status | body-part-signatures |
- body-parts-summary | circulation-list-recipients | distribution-codes |
- extended-subject | forwarded-content-token | forwarding-token |
- information-category | ipm-auto-discarded | ipm-security-label |
- manual-handling-instructions | notification-extensions | nrn-extensions |
- originators-reference | other-notification-type-fields | precedence |
- precedence-policy-identifier | recipient-category | revised-reply-time |
- rn-extensions}
-
--- SUMMARY ATTRIBUTES
--- IPM entry type
-ipm-entry-type X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMEntryType,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-sat-ipm-entry-type
-}
-
-IPMEntryType ::= ENUMERATED {ipm(0), rn(1), nrn(2), on(3)}
-
--- IPM synopsis
-ipm-synopsis X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSynopsis,
- NUMERATION single-valued,
- ID id-sat-ipm-synopsis
-}
-
-IPMSynopsis ::= SEQUENCE OF BodyPartSynopsis
-
-BodyPartSynopsis ::= CHOICE {
- message [0] MessageBodyPartSynopsis,
- non-message [1] NonMessageBodyPartSynopsis
-}
-
-MessageBodyPartSynopsis ::= SEQUENCE {
- number [0] SequenceNumber,
- synopsis [1] IPMSynopsis
-}
-
-NonMessageBodyPartSynopsis ::= SEQUENCE {
- type [0] OBJECT IDENTIFIER,
- parameters [1] INSTANCE OF TYPE-IDENTIFIER OPTIONAL,
- size [2] INTEGER,
- processed [3] BOOLEAN DEFAULT FALSE
-}
-
--- Body part summary
-body-parts-summary X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BodyPartDescriptor,
- NUMERATION multi-valued,
- ID id-sat-body-parts-summary
-}
-
-BodyPartDescriptor ::= SEQUENCE {
- data [0] OBJECT IDENTIFIER,
- parameters [1] OBJECT IDENTIFIER OPTIONAL,
- this-child-entry [2] SequenceNumber OPTIONAL,
- position [3] INTEGER,
- size [4] INTEGER,
- processed [5] BOOLEAN DEFAULT FALSE
-}
-
--- IPM auto discarded
-ipm-auto-discarded X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BOOLEAN,
- EQUALITY MATCHING-RULE booleanMatch,
- NUMERATION single-valued,
- ID id-sat-ipm-auto-discarded
-}
-
--- Body part signature verification status
-body-part-signature-verification-status X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BodyPartSignatureVerification,
- NUMERATION single-valued,
- ID id-hat-body-part-signature-verification-status
-}
-
-BodyPartSignatureVerification ::=
- SET OF
- SET {body-part-sequence-number [0] BodyPartNumber,
- body-part-signature [1] SignatureStatus}
-
--- HEADING ATTRIBUTES
--- Heading
-heading X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Heading,
- NUMERATION single-valued,
- ID id-hat-heading
-}
-
--- Heading analyses
-rn-requestors X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORDescriptor,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- NUMERATION multi-valued,
- ID id-hat-rn-requestors
-}
-
-nrn-requestors X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORDescriptor,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- NUMERATION multi-valued,
- ID id-hat-nrn-requestors
-}
-
-reply-requestors X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORDescriptor,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- NUMERATION multi-valued,
- ID id-hat-reply-requestors
-}
-
--- Heading fields
-this-ipm X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ThisIPMField,
- EQUALITY MATCHING-RULE iPMIdentifierMatch,
- NUMERATION single-valued,
- ID id-hat-this-ipm
-}
-
-originator X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatorField,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION single-valued,
- ID id-hat-originator
-}
-
-replied-to-IPM X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX RepliedToIPMField,
- EQUALITY MATCHING-RULE iPMIdentifierMatch,
- NUMERATION single-valued,
- ID id-hat-replied-to-IPM
-}
-
-subject X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubjectField,
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
- NUMERATION single-valued,
- ID id-hat-subject
-}
-
-expiry-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ExpiryTimeField,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-hat-expiry-time
-}
-
-reply-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReplyTimeField,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-hat-reply-time
-}
-
-importance X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ImportanceField,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE
- integerOrderingMatch, -- not defined for 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-hat-importance
-}
-
-sensitivity X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SensitivityField,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE
- integerOrderingMatch, -- not defined for 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-hat-sensitivity
-}
-
-auto-forwarded X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AutoForwardedField,
- EQUALITY MATCHING-RULE booleanMatch,
- NUMERATION single-valued,
- ID id-hat-auto-forwarded
-}
-
--- Heading sub-fields
-authorizing-users X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AuthorizingUsersSubfield,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION multi-valued,
- ID id-hat-authorizing-users
-}
-
-primary-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PrimaryRecipientsSubfield,
- EQUALITY MATCHING-RULE recipientSpecifierMatch,
- OTHER MATCHING-RULES
- {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
- | recipientSpecifierSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-hat-primary-recipients
-}
-
-copy-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CopyRecipientsSubfield,
- EQUALITY MATCHING-RULE recipientSpecifierMatch,
- OTHER MATCHING-RULES
- {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
- | recipientSpecifierSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-hat-copy-recipients
-}
-
-blind-copy-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BlindCopyRecipientsSubfield,
- EQUALITY MATCHING-RULE recipientSpecifierMatch,
- OTHER MATCHING-RULES
- {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
- | recipientSpecifierSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-hat-blind-copy-recipients
-}
-
-obsoleted-IPMs X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ObsoletedIPMsSubfield,
- EQUALITY MATCHING-RULE iPMIdentifierMatch,
- NUMERATION multi-valued,
- ID id-hat-obsoleted-IPMs
-}
-
-related-IPMs X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX RelatedIPMsSubfield,
- EQUALITY MATCHING-RULE iPMIdentifierMatch,
- NUMERATION multi-valued,
- ID id-hat-related-IPMs
-}
-
-reply-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReplyRecipientsSubfield,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION multi-valued,
- ID id-hat-reply-recipients
-}
-
--- Heading extensions
-incomplete-copy X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IncompleteCopy,
- NUMERATION
- single-valued, -- An equality match is specified for 1988
-
-
- -- Application Contexts
- ID id-hat-incomplete-copy
-}
-
-languages X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Language,
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE
- mSSubstringsMatch, -- Not defined for 1988 Application Contexts
-
- NUMERATION multi-valued,
- ID id-hat-languages
-}
-
-auto-submitted X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AutoSubmitted,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-hat-auto-submitted
-}
-
-body-part-signatures X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BodyPartSignatures,
- NUMERATION single-valued,
- ID id-hat-body-part-signatures
-}
-
-ipm-security-label X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSecurityLabel,
- NUMERATION single-valued,
- ID id-hat-ipm-security-label
-}
-
-body-part-security-label X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BodyPartSecurityLabel,
- NUMERATION multi-valued,
- ID id-hat-body-part-security-label
-}
-
-authorization-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AuthorizationTime,
- EQUALITY MATCHING-RULE generalizedTimeMatch,
- ORDERING MATCHING-RULE generalizedTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-hat-authorization-time
-}
-
-circulation-list-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CirculationMember,
- EQUALITY MATCHING-RULE circulationMemberMatch,
- OTHER MATCHING-RULES
- {circulationMemberElementsMatch | circulationMemberSubstringElementsMatch |
- circulationMemberSingleElementMatch | circulationMemberCheckmarkMatch,
- ...},
- NUMERATION multi-valued,
- ID id-hat-circulation-list-recipients
-}
-
-distribution-codes X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DistributionCode,
- EQUALITY MATCHING-RULE distributionCodeMatch,
- NUMERATION multi-valued,
- ID id-hat-distribution-codes
-}
-
-extended-subject X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ExtendedSubject,
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
- NUMERATION single-valued,
- ID id-hat-extended-subject
-}
-
-information-category X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX InformationCategory,
- EQUALITY MATCHING-RULE informationCategoryMatch,
- NUMERATION multi-valued,
- ID id-hat-information-category
-}
-
-manual-handling-instructions X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ManualHandlingInstruction,
- EQUALITY MATCHING-RULE mSStringMatch,
- NUMERATION multi-valued,
- ID id-hat-manual-handling-instructions
-}
-
-originators-reference X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatorsReference,
- EQUALITY MATCHING-RULE mSStringMatch,
- NUMERATION single-valued,
- ID id-hat-originators-reference
-}
-
-precedence-policy-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PrecedencePolicyIdentifier,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION single-valued,
- ID id-hat-precedence-policy-id
-}
-
--- Recipient extensions
-precedence X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Precedence,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-hat-precedence
-}
-
--- Envelope extensions
-body-part-encryption-token X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BodyPartTokens,
- NUMERATION single-valued,
- ID id-hat-body-part-encryption-token
-}
-
-forwarded-content-token X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ForwardedContentToken,
- NUMERATION single-valued,
- ID id-hat-forwarded-content-token
-}
-
-forwarding-token X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageToken,
- NUMERATION single-valued,
- ID id-hat-forwarding-token
-}
-
--- BODY ATTRIBUTES
--- Body
-body X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Body,
- NUMERATION single-valued,
- ID id-bat-body
-}
-
--- Extended body part types
-extended-body-part-types X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION multi-valued,
- ID id-bat-extended-body-part-types
-}
-
--- Extended body parts
--- (These attributes cannot be enumerated. See 19.6.3.3.)
--- (They may be derived using the following parameterized object assignments:)
-extended-body-part-data-attribute{EXTENDED-BODY-PART-TYPE:ebpt} X413ATTRIBUTE
- ::= {
- WITH ATTRIBUTE-SYNTAX [0] EXPLICIT ebpt.&data.&Type,
- NUMERATION multi-valued,
- ID ebpt.&data.&id
-}
-
-extended-body-part-parameters-attribute{EXTENDED-BODY-PART-TYPE:ebpt}
- X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX [0] EXPLICIT ebpt.&parameters.&Type,
- NUMERATION multi-valued,
- ID ebpt.&parameters.&id
-}
-
--- Basic body parts
-ia5-text-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IA5TextBodyPart,
- NUMERATION multi-valued,
- ID id-bat-ia5-text-body-parts
-}
-
-g3-facsimile-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX G3FacsimileBodyPart,
- NUMERATION multi-valued,
- ID id-bat-g3-facsimile-body-parts
-}
-
-g4-class1-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX G4Class1BodyPart,
- NUMERATION multi-valued,
- ID id-bat-g4-class1-body-parts
-}
-
-teletex-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX TeletexBodyPart,
- NUMERATION multi-valued,
- ID id-bat-teletex-body-parts
-}
-
-videotex-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX VideotexBodyPart,
- NUMERATION multi-valued,
- ID id-bat-videotex-body-parts
-}
-
-encrypted-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX EncryptedBodyPart,
- NUMERATION multi-valued,
- ID id-bat-encrypted-body-parts
-}
-
-message-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- NUMERATION multi-valued,
- ID id-bat-message-body-parts
-}
-
-mixed-mode-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MixedModeBodyPart,
- NUMERATION multi-valued,
- ID id-bat-mixed-mode-body-parts
-}
-
-bilaterally-defined-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BilaterallyDefinedBodyPart,
- NUMERATION multi-valued,
- ID id-bat-bilaterally-defined-body-parts
-}
-
-nationally-defined-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX NationallyDefinedBodyPart,
- NUMERATION multi-valued,
- ID id-bat-nationally-defined-body-parts
-}
-
--- Basic body part parameters components
-ia5-text-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IA5TextParameters,
- NUMERATION multi-valued,
- ID id-bat-ia5-text-parameters
-}
-
-g3-facsimile-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX G3FacsimileParameters,
- NUMERATION multi-valued,
- ID id-bat-g3-facsimile-parameters
-}
-
-teletex-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX TeletexParameters,
- NUMERATION multi-valued,
- ID id-bat-teletex-parameters
-}
-
-videotex-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX VideotexParameters,
- NUMERATION multi-valued,
- ID id-bat-videotex-parameters
-}
-
-encrypted-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX EncryptedParameters,
- NUMERATION multi-valued,
- ID id-bat-encrypted-parameters
-}
-
-message-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageParameters,
- NUMERATION multi-valued,
- ID id-bat-message-parameters
-}
-
--- Basic body part data components
-ia5-text-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IA5TextData,
- NUMERATION multi-valued,
- ID id-bat-ia5-text-data
-}
-
-g3-facsimile-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX G3FacsimileData,
- NUMERATION multi-valued,
- ID id-bat-g3-facsimile-data
-}
-
-teletex-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX TeletexData,
- NUMERATION multi-valued,
- ID id-bat-teletex-data
-}
-
-videotex-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX VideotexData,
- NUMERATION multi-valued,
- ID id-bat-videotex-data
-}
-
-encrypted-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX EncryptedData,
- NUMERATION multi-valued,
- ID id-bat-encrypted-data
-}
-
-message-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageData,
- NUMERATION multi-valued,
- ID id-bat-message-data
-}
-
--- NOTIFICATION ATTRIBUTES
--- Common fields
-subject-ipm X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubjectIPMField,
- EQUALITY MATCHING-RULE iPMIdentifierMatch,
- NUMERATION single-valued,
- ID id-nat-subject-ipm
-}
-
-ipn-originator X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPNOriginatorField,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION single-valued,
- ID id-nat-ipn-originator
-}
-
-ipm-intended-recipient X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMIntendedRecipientField,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION single-valued,
- ID id-nat-ipm-intended-recipient
-}
-
-conversion-eits X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MS-EIT,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION multi-valued,
- ID id-nat-conversion-eits
-}
-
-notification-extensions X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSExtension {{NotificationExtensions}},
- NUMERATION multi-valued,
- ID id-nat-notification-extensions
-}
-
--- Non-receipt fields
-non-receipt-reason X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX NonReceiptReasonField,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-nat-non-receipt-reason
-}
-
-discard-reason X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DiscardReasonField,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-nat-discard-reason
-}
-
-auto-forward-comment X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AutoForwardCommentField,
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
- NUMERATION single-valued,
- ID id-nat-auto-forward-comment
-}
-
-returned-ipm X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReturnedIPMField,
- NUMERATION single-valued,
- ID id-nat-returned-ipm
-}
-
-nrn-extensions X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSExtension {{NRNExtensions}},
- NUMERATION multi-valued,
- ID id-nat-nrn-extensions
-}
-
--- Receipt fields
-receipt-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReceiptTimeField,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-nat-receipt-time
-}
-
-acknowledgment-mode X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AcknowledgmentModeField,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-nat-acknowledgment-mode
-}
-
-suppl-receipt-info X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SupplReceiptInfoField,
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
- NUMERATION single-valued,
- ID id-nat-suppl-receipt-info
-}
-
-rn-extensions X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSExtension {{RNExtensions}},
- NUMERATION multi-valued,
- ID id-nat-rn-extensions
-}
-
--- Other notification type fields
-other-notification-type-fields X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSExtension {{OtherNotifications}},
- NUMERATION multi-valued,
- ID id-nat-other-notification-type-fields
-}
-
--- CORRELATION ATTRIBUTES
--- Common attributes
-ac-forwarding-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-forwarding-ipms
-}
-
-ac-forwarded-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-forwarded-ipms
-}
-
-ac-obsoleting-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-obsoleting-ipms
-}
-
-ac-obsoleted-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMLocation,
- OTHER MATCHING-RULES {iPMLocationMatch, ...},
- NUMERATION multi-valued,
- ID id-cat-obsoleted-ipms
-}
-
-IPMLocation ::= CHOICE {stored SET OF SequenceNumber,
- absent NULL,
- ...
-}
-
-ac-relating-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-relating-ipms
-}
-
-ac-related-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMLocation,
- OTHER MATCHING-RULES {iPMLocationMatch, ...},
- NUMERATION multi-valued,
- ID id-cat-related-ipms
-}
-
-ac-replied-to-ipm X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-replied-to-ipm
-}
-
-ac-replying-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-replying-ipms
-}
-
-ac-subject-ipm X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-subject-ipm
-}
-
--- Submitted message correlation
-ac-ipm-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORDescriptor,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION multi-valued,
- ID id-cat-ipm-recipients
-}
-
-ac-delivered-replies-summary X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeliveredReplyStatus,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-delivered-replies-summary
-}
-
-DeliveredReplyStatus ::= INTEGER {
- no-reply-requested(0) -- reply not requested --,
- reply-outstanding(1) -- reply requested --, reply-received(2)}
-
-ac-correlated-delivered-replies X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CorrelatedDeliveredReplies,
- NUMERATION multi-valued,
- ID id-cat-correlated-delivered-replies
-}
-
-CorrelatedDeliveredReplies ::= CHOICE {
- no-reply-received [0] NULL,
- received-replies [1] SEQUENCE OF SequenceNumber
-}
-
-ac-delivered-ipn-summary X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeliveredIPNStatus,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-delivered-ipn-summary
-}
-
-DeliveredIPNStatus ::= INTEGER {
- no-ipn-requested(0), an-requested(3), nrn-requested(5), rn-requested(10),
- an-received(13), ipm-auto-forwarded(15), ipm-discarded(20), rn-received(25)
-}
-
-ac-correlated-delivered-ipns X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CorrelatedDeliveredIPNs,
- NUMERATION multi-valued,
- ID id-cat-correlated-delivered-ipns
-}
-
-CorrelatedDeliveredIPNs ::= CHOICE {
- no-ipn-received [0] NULL,
- ipns-received [1] SEQUENCE OF SequenceNumber
-}
-
--- Delivered message correlation
-ac-submitted-reply-status X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubmittedReplyStatus,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-cat-submitted-reply-status
-}
-
-SubmittedReplyStatus ::= INTEGER {
- no-reply-requested(0), no-reply-intended(1), reply-pending(2), reply-sent(3)
-}
-
-ac-submitted-ipn-status X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubmittedIPNStatus,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-cat-submitted-ipn-status
-}
-
-SubmittedIPNStatus ::= INTEGER {
- no-ipn-requested(0), nrn-requested(5), nrn-with-ipm-return-requested(10),
- rn-requested(15), rn-with-ipm-return-requested(20), ipm-auto-forwarded(25),
- ipm-discarded(30), rn-sent(35)}
-
-ac-submitted-ipns X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-submitted-ipns
-}
-
-recipient-category X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX RecipientCategory,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-cat-recipient-category
-}
-
-RecipientCategory ::= INTEGER {
- primary-recipient(0), copy-recipient(1), blind-copy-recipient(2),
- category-unknown(3), circulation-list(4)}
-
-revised-reply-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReplyTimeField,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-cat-revised-reply-time
-}
-
--- MATCHING-RULES
-IPMMatchingRuleTable MATCHING-RULE ::=
- {iPMIdentifierMatch | oRDescriptorMatch | recipientSpecifierMatch,
- ... -- 1994 extension additions --, circulationMemberCheckmarkMatch |
- circulationMemberElementsMatch | circulationMemberMatch |
- circulationMemberSingleElementMatch |
- circulationMemberSubstringElementsMatch | distributionCodeMatch |
- informationCategoryMatch | iPMLocationMatch | oRDescriptorElementsMatch |
- oRDescriptorSingleElementMatch | oRDescriptorSubstringElementsMatch |
- recipientSpecifierElementsMatch | recipientSpecifierSingleElementMatch |
- recipientSpecifierSubstringElementsMatch}
-
-iPMIdentifierMatch MATCHING-RULE ::= {
- SYNTAX IPMIdentifier
- ID id-mr-ipm-identifier
-}
-
-iPMLocationMatch MATCHING-RULE ::= {
- SYNTAX SequenceNumber
- ID id-mr-ipm-location
-}
-
-oRDescriptorMatch MATCHING-RULE ::= {
- SYNTAX ORDescriptor
- ID id-mr-or-descriptor
-}
-
-oRDescriptorElementsMatch MATCHING-RULE ::= {
- SYNTAX ORDescriptor
- ID id-mr-or-descriptor-elements
-}
-
-oRDescriptorSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX ORDescriptor
- ID id-mr-or-descriptor-substring-elements
-}
-
-oRDescriptorSingleElementMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-or-descriptor-single-element
-}
-
-recipientSpecifierMatch MATCHING-RULE ::= {
- SYNTAX RecipientSpecifier
- ID id-mr-recipient-specifier
-}
-
-recipientSpecifierElementsMatch MATCHING-RULE ::= {
- SYNTAX RecipientSpecifier
- ID id-mr-recipient-specifier-elements
-}
-
-recipientSpecifierSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX RecipientSpecifier
- ID id-mr-recipient-specifier-substring-elements
-}
-
-recipientSpecifierSingleElementMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-recipient-specifier-single-element
-}
-
-circulationMemberMatch MATCHING-RULE ::= {
- SYNTAX CirculationMember
- ID id-mr-circulation-member
-}
-
-circulationMemberElementsMatch MATCHING-RULE ::= {
- SYNTAX CirculationMember
- ID id-mr-circulation-member-elements
-}
-
-circulationMemberSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX CirculationMember
- ID id-mr-circulation-member-substring-elements
-}
-
-circulationMemberSingleElementMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-circulation-member-single-element
-}
-
-circulationMemberCheckmarkMatch MATCHING-RULE ::= {
- SYNTAX CirculationMember
- ID id-mr-circulation-member-checkmark
-}
-
-distributionCodeMatch MATCHING-RULE ::= {
- SYNTAX DistributionCode
- ID id-mr-distribution-code
-}
-
-informationCategoryMatch MATCHING-RULE ::= {
- SYNTAX InformationCategory
- ID id-mr-information-category
-}
-
-END -- of IPMSMessageStoreAttributes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSObjectIdentifiers.asn
deleted file mode 100644
index 6e5c01ab40..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSObjectIdentifiers.asn
+++ /dev/null
@@ -1,507 +0,0 @@
--- Module IPMSObjectIdentifiers (X.420:06/1999)
-IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS -- nothing -- ;
-
-ID ::= OBJECT IDENTIFIER
-
--- Interpersonal Messaging (not definitive)
-id-ipms ID ::=
- {joint-iso-itu-t mhs(6) ipms(1)} -- not definitive
-
--- Categories
-id-mod ID ::= {id-ipms 0} -- modules; not definitive
-
-id-ot ID ::= {id-ipms 1} -- object types
-
-id-pt ID ::= {id-ipms 2} -- port types
-
-id-et ID ::= {id-ipms 4} -- extended body part types
-
-id-hex ID ::= {id-ipms 5} -- heading extensions
-
-id-sat ID ::= {id-ipms 6} -- summary attributes
-
-id-hat ID ::= {id-ipms 7} -- heading attributes
-
-id-bat ID ::= {id-ipms 8} -- body attributes
-
-id-nat ID ::= {id-ipms 9} -- notification attributes
-
-id-mct ID ::= {id-ipms 10} -- message content types
-
-id-ep ID ::= {id-ipms 11} -- extended body part parameters
-
-id-eit ID ::= {id-ipms 12} -- encoded information types
-
-id-cat ID ::= {id-ipms 13} -- correlation attributes
-
-id-mr ID ::= {id-ipms 14} -- matching-rules
-
-id-aa ID ::= {id-ipms 15} -- auto-actions
-
-id-aae ID ::= {id-ipms 16} -- auto-action errors
-
-id-mst ID ::= {id-ipms 17} -- message store types
-
-id-sec ID ::= {id-ipms 18} -- ipm security extensions
-
-id-on ID ::= {id-ipms 19} -- other notification type extensions
-
-id-rex ID ::= {id-ipms 20} -- recipient extensions
-
--- Modules
-id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive
-
-id-mod-functional-objects ID ::= {id-mod 1} -- not definitive
-
-id-mod-information-objects ID ::= {id-mod 2} -- not definitive
-
-id-mod-abstract-service ID ::= {id-mod 3} -- not definitive
-
-id-mod-heading-extensions ID ::= {id-mod 6} -- not definitive
-
-id-mod-extended-body-part-types ID ::= {id-mod 7} -- not definitive
-
-id-mod-message-store-attributes ID ::= {id-mod 8} -- not definitive
-
-id-mod-file-transfer-body-part-type ID ::= {id-mod 9} -- not definitive
-
-id-mod-upper-bounds ID ::= {id-mod 10} -- not definitive
-
-id-mod-extended-voice-body-part-type ID ::= {id-mod 11} -- not definitive
-
-id-mod-forwarded-report-body-part-type ID ::= {id-mod 12} -- not definitive
-
-id-mod-auto-actions ID ::= {id-mod 13} -- not definitive
-
-id-mod-ipm-security-extensions ID ::= {id-mod 14} -- not definitive
-
-id-mod-forwarded-content-body-part-type ID ::= {id-mod 15} -- not definitive
-
-id-mod-pkcs7-body-part-type ID ::= {id-mod 16} -- not definitive
-
--- Object types
-id-ot-ipms-user ID ::= {id-ot 1}
-
-id-ot-ipms ID ::= {id-ot 2}
-
--- Port types
-id-pt-origination ID ::= {id-pt 0}
-
-id-pt-reception ID ::= {id-pt 1}
-
-id-pt-management ID ::= {id-pt 2}
-
--- Extended body part types
-id-et-ia5-text ID ::= {id-et 0}
-
-id-et-g3-facsimile ID ::= {id-et 2}
-
-id-et-g4-class1 ID ::= {id-et 3}
-
-id-et-teletex ID ::= {id-et 4}
-
-id-et-videotex ID ::= {id-et 5}
-
-id-et-encrypted ID ::= {id-et 6}
-
-id-et-message ID ::= {id-et 7}
-
-id-et-mixed-mode ID ::= {id-et 8}
-
-id-et-bilaterally-defined ID ::= {id-et 9}
-
-id-et-nationally-defined ID ::= {id-et 10}
-
-id-et-general-text ID ::= {id-et 11}
-
-id-et-file-transfer ID ::= {id-et 12}
-
--- Value {id-et 13} is no longer defined
-id-et-report ID ::= {id-et 14}
-
-id-et-notification ID ::= {id-et 15}
-
-id-et-voice ID ::= {id-et 16}
-
-id-et-content ID ::=
- {id-et 17} -- This value is not used directly, only as a prefix
-
-id-et-pkcs7 ID ::= {id-et 18}
-
--- Heading extensions
-id-hex-incomplete-copy ID ::= {id-hex 0}
-
-id-hex-languages ID ::= {id-hex 1}
-
-id-hex-auto-submitted ID ::= {id-hex 2}
-
-id-hex-body-part-signatures ID ::= {id-hex 3}
-
-id-hex-ipm-security-label ID ::= {id-hex 4}
-
-id-hex-authorization-time ID ::= {id-hex 5}
-
-id-hex-circulation-list-recipients ID ::= {id-hex 6}
-
-id-hex-distribution-codes ID ::= {id-hex 7}
-
-id-hex-extended-subject ID ::= {id-hex 8}
-
-id-hex-information-category ID ::= {id-hex 9}
-
-id-hex-manual-handling-instructions ID ::= {id-hex 10}
-
-id-hex-originators-reference ID ::= {id-hex 11}
-
-id-hex-precedence-policy-id ID ::= {id-hex 12}
-
--- Summary attributes
-id-sat-ipm-entry-type ID ::= {id-sat 0}
-
-id-sat-ipm-synopsis ID ::= {id-sat 1}
-
-id-sat-body-parts-summary ID ::= {id-sat 2}
-
-id-sat-ipm-auto-discarded ID ::= {id-sat 3}
-
--- Heading attributes
-id-hat-heading ID ::= {id-hat 0}
-
-id-hat-this-ipm ID ::= {id-hat 1}
-
-id-hat-originator ID ::= {id-hat 2}
-
-id-hat-replied-to-IPM ID ::= {id-hat 3}
-
-id-hat-subject ID ::= {id-hat 4}
-
-id-hat-expiry-time ID ::= {id-hat 5}
-
-id-hat-reply-time ID ::= {id-hat 6}
-
-id-hat-importance ID ::= {id-hat 7}
-
-id-hat-sensitivity ID ::= {id-hat 8}
-
-id-hat-auto-forwarded ID ::= {id-hat 9}
-
-id-hat-authorizing-users ID ::= {id-hat 10}
-
-id-hat-primary-recipients ID ::= {id-hat 11}
-
-id-hat-copy-recipients ID ::= {id-hat 12}
-
-id-hat-blind-copy-recipients ID ::= {id-hat 13}
-
-id-hat-obsoleted-IPMs ID ::= {id-hat 14}
-
-id-hat-related-IPMs ID ::= {id-hat 15}
-
-id-hat-reply-recipients ID ::= {id-hat 16}
-
-id-hat-incomplete-copy ID ::= {id-hat 17}
-
-id-hat-languages ID ::= {id-hat 18}
-
-id-hat-rn-requestors ID ::= {id-hat 19}
-
-id-hat-nrn-requestors ID ::= {id-hat 20}
-
-id-hat-reply-requestors ID ::= {id-hat 21}
-
-id-hat-auto-submitted ID ::= {id-hat 22}
-
-id-hat-body-part-signatures ID ::= {id-hat 23}
-
-id-hat-ipm-security-label ID ::= {id-hat 24}
-
-id-hat-body-part-security-label ID ::= {id-hat 25}
-
-id-hat-body-part-encryption-token ID ::= {id-hat 26}
-
-id-hat-authorization-time ID ::= {id-hat 27}
-
-id-hat-circulation-list-recipients ID ::= {id-hat 28}
-
-id-hat-distribution-codes ID ::= {id-hat 29}
-
-id-hat-extended-subject ID ::= {id-hat 30}
-
-id-hat-information-category ID ::= {id-hat 31}
-
-id-hat-manual-handling-instructions ID ::= {id-hat 32}
-
-id-hat-originators-reference ID ::= {id-hat 33}
-
-id-hat-precedence-policy-id ID ::= {id-hat 34}
-
-id-hat-forwarded-content-token ID ::= {id-hat 35}
-
-id-hat-forwarding-token ID ::= {id-hat 36}
-
-id-hat-precedence ID ::= {id-hat 37}
-
-id-hat-body-part-signature-verification-status ID ::= {id-hat 38}
-
--- Body attributes
-id-bat-body ID ::= {id-bat 0}
-
-id-bat-ia5-text-body-parts ID ::= {id-bat 1}
-
-id-bat-g3-facsimile-body-parts ID ::= {id-bat 3}
-
-id-bat-g4-class1-body-parts ID ::= {id-bat 4}
-
-id-bat-teletex-body-parts ID ::= {id-bat 5}
-
-id-bat-videotex-body-parts ID ::= {id-bat 6}
-
-id-bat-encrypted-body-parts ID ::= {id-bat 7}
-
-id-bat-message-body-parts ID ::= {id-bat 8}
-
-id-bat-mixed-mode-body-parts ID ::= {id-bat 9}
-
-id-bat-bilaterally-defined-body-parts ID ::= {id-bat 10}
-
-id-bat-nationally-defined-body-parts ID ::= {id-bat 11}
-
-id-bat-extended-body-part-types ID ::= {id-bat 12}
-
-id-bat-ia5-text-parameters ID ::= {id-bat 13}
-
-id-bat-g3-facsimile-parameters ID ::= {id-bat 15}
-
-id-bat-teletex-parameters ID ::= {id-bat 16}
-
-id-bat-videotex-parameters ID ::= {id-bat 17}
-
-id-bat-encrypted-parameters ID ::= {id-bat 18}
-
-id-bat-message-parameters ID ::= {id-bat 19}
-
-id-bat-ia5-text-data ID ::= {id-bat 20}
-
-id-bat-g3-facsimile-data ID ::= {id-bat 22}
-
-id-bat-teletex-data ID ::= {id-bat 23}
-
-id-bat-videotex-data ID ::= {id-bat 24}
-
-id-bat-encrypted-data ID ::= {id-bat 25}
-
-id-bat-message-data ID ::= {id-bat 26}
-
--- Notification attributes
-id-nat-subject-ipm ID ::= {id-nat 0}
-
-id-nat-ipn-originator ID ::= {id-nat 1}
-
-id-nat-ipm-intended-recipient ID ::= {id-nat 2}
-
-id-nat-conversion-eits ID ::= {id-nat 3}
-
-id-nat-non-receipt-reason ID ::= {id-nat 4}
-
-id-nat-discard-reason ID ::= {id-nat 5}
-
-id-nat-auto-forward-comment ID ::= {id-nat 6}
-
-id-nat-returned-ipm ID ::= {id-nat 7}
-
-id-nat-receipt-time ID ::= {id-nat 8}
-
-id-nat-acknowledgment-mode ID ::= {id-nat 9}
-
-id-nat-suppl-receipt-info ID ::= {id-nat 10}
-
-id-nat-notification-extensions ID ::= {id-nat 11}
-
-id-nat-nrn-extensions ID ::= {id-nat 12}
-
-id-nat-rn-extensions ID ::= {id-nat 13}
-
-id-nat-other-notification-type-fields ID ::= {id-nat 14}
-
--- Correlation attributes
-id-cat-correlated-delivered-ipns ID ::= {id-cat 0}
-
-id-cat-correlated-delivered-replies ID ::= {id-cat 1}
-
-id-cat-delivered-ipn-summary ID ::= {id-cat 2}
-
-id-cat-delivered-replies-summary ID ::= {id-cat 3}
-
-id-cat-forwarded-ipms ID ::= {id-cat 4}
-
-id-cat-forwarding-ipms ID ::= {id-cat 5}
-
-id-cat-ipm-recipients ID ::= {id-cat 6}
-
-id-cat-obsoleted-ipms ID ::= {id-cat 7}
-
-id-cat-obsoleting-ipms ID ::= {id-cat 8}
-
-id-cat-related-ipms ID ::= {id-cat 9}
-
-id-cat-relating-ipms ID ::= {id-cat 10}
-
-id-cat-replied-to-ipm ID ::= {id-cat 11}
-
-id-cat-replying-ipms ID ::= {id-cat 12}
-
-id-cat-revised-reply-time ID ::= {id-cat 13}
-
-id-cat-submitted-ipn-status ID ::= {id-cat 14}
-
-id-cat-submitted-ipns ID ::= {id-cat 15}
-
-id-cat-submitted-reply-status ID ::= {id-cat 16}
-
-id-cat-subject-ipm ID ::= {id-cat 17}
-
-id-cat-recipient-category ID ::= {id-cat 18}
-
--- Message content types (for use by MS and Directory)
-id-mct-p2-1984 ID ::=
- {id-mct 0} -- P2 1984
-
-id-mct-p2-1988 ID ::= {id-mct 1} -- P2 1988
-
--- Extended body part parameters
-id-ep-ia5-text ID ::= {id-ep 0}
-
-id-ep-g3-facsimile ID ::= {id-ep 2}
-
-id-ep-teletex ID ::= {id-ep 4}
-
-id-ep-videotex ID ::= {id-ep 5}
-
-id-ep-encrypted ID ::= {id-ep 6}
-
-id-ep-message ID ::= {id-ep 7}
-
-id-ep-general-text ID ::= {id-ep 11}
-
-id-ep-file-transfer ID ::= {id-ep 12}
-
--- Value {id-ep 13} is no longer defined
-id-ep-notification ID ::= {id-ep 15}
-
-id-ep-voice ID ::= {id-ep 16}
-
-id-ep-content ID ::=
- {id-ep 17} -- This value is not used directly, only as a prefix
-
--- Encoded Information Types
-id-eit-file-transfer ID ::= {id-eit 0}
-
-id-eit-voice ID ::= {id-eit 1}
-
--- Voice Encoded Information Types
-id-voice-11khz-sample ID ::=
- {id-eit-voice 0}
-
-id-voice-22khz-sample ID ::= {id-eit-voice 1}
-
-id-voice-cd-quality ID ::= {id-eit-voice 2}
-
-id-voice-g711-mu-law ID ::= {id-eit-voice 3}
-
-id-voice-g726-32k-adpcm ID ::= {id-eit-voice 4}
-
-id-voice-g728-16k-ld-celp ID ::= {id-eit-voice 5}
-
--- Matching-rules
-id-mr-ipm-identifier ID ::= {id-mr 0}
-
-id-mr-or-descriptor ID ::= {id-mr 1}
-
-id-mr-or-descriptor-elements ID ::= {id-mr 2}
-
-id-mr-or-descriptor-substring-elements ID ::= {id-mr 3}
-
-id-mr-recipient-specifier ID ::= {id-mr 4}
-
-id-mr-recipient-specifier-elements ID ::= {id-mr 5}
-
-id-mr-recipient-specifier-substring-elements ID ::= {id-mr 6}
-
-id-mr-ipm-location ID ::= {id-mr 7}
-
-id-mr-or-descriptor-single-element ID ::= {id-mr 8}
-
-id-mr-recipient-specifier-single-element ID ::= {id-mr 9}
-
-id-mr-circulation-member ID ::= {id-mr 10}
-
-id-mr-circulation-member-elements ID ::= {id-mr 11}
-
-id-mr-circulation-member-substring-elements ID ::= {id-mr 12}
-
-id-mr-circulation-member-single-element ID ::= {id-mr 13}
-
-id-mr-circulation-member-checkmark ID ::= {id-mr 14}
-
-id-mr-distribution-code ID ::= {id-mr 15}
-
-id-mr-information-category ID ::= {id-mr 16}
-
--- Auto-actions
-id-aa-ipm-auto-acknowledgement ID ::= {id-aa 0}
-
-id-aa-ipm-auto-correlate ID ::= {id-aa 1}
-
-id-aa-ipm-auto-discard ID ::= {id-aa 2}
-
-id-aa-ipm-auto-advise ID ::= {id-aa 3}
-
--- Auto-action-errors
-id-aae-auto-discard-error ID ::= {id-aae 0}
-
-id-aae-auto-forwarding-loop ID ::= {id-aae 1}
-
-id-aae-duplicate-ipn ID ::= {id-aae 2}
-
--- Message Store types
-id-mst-invalid-assembly-instructions ID ::= {id-mst 0}
-
-id-mst-invalid-ipn ID ::= {id-mst 1}
-
-id-mst-assembly-instructions ID ::= {id-mst 2}
-
-id-mst-suspend-auto-acknowledgement ID ::= {id-mst 3}
-
-id-mst-prevent-nrn-generation ID ::= {id-mst 4}
-
-id-mst-originator-body-part-encryption-token ID ::= {id-mst 5}
-
-id-mst-originator-forwarded-content-token ID ::= {id-mst 6}
-
-id-mst-assembly-capability ID ::= {id-mst 7}
-
--- Security extensions
-id-sec-ipm-security-request ID ::= {id-sec 0}
-
-id-sec-security-common-fields ID ::= {id-sec 1}
-
--- Other notification types
-id-on-absence-advice ID ::= {id-on 0}
-
-id-on-change-of-address-advice ID ::= {id-on 1}
-
--- Recipient extensions
-id-rex-circulation-list-indicator ID ::= {id-rex 0}
-
-id-rex-precedence ID ::= {id-rex 1}
-
-END -- of IPMSObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSObjectIdentifiers2.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSObjectIdentifiers2.asn
deleted file mode 100644
index 2b46b27b3e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSObjectIdentifiers2.asn
+++ /dev/null
@@ -1,33 +0,0 @@
--- Module IPMSObjectIdentifiers2 (X.420:06/1999)
-IPMSObjectIdentifiers2 {iso standard mhs(10021) ipms(7) modules(0)
- object-identifiers(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS -- nothing -- ;
-
-ID ::= OBJECT IDENTIFIER
-
--- Interpersonal Messaging (ISO/IEC extensions)
-id-iso-ipms ID ::=
- {iso standard mhs(10021) ipms(7)}
-
--- Categories
-id-iso-mod ID ::= {id-iso-ipms 0} -- modules; not definitive
-
-id-iso-cs ID ::= {id-iso-ipms 1} -- character sets
-
--- Modules
-id-mod-object-identifiers-2 ID ::= {id-iso-mod 0} -- not definitive
-
-id-mod-extended-body-part-types-2 ID ::= {id-iso-mod 1} -- not definitive
-
--- Registration Authority for General Text Character Set EITs
-id-cs-eit-authority ID ::=
- {id-iso-cs 0}
-
-END -- of IPMSObjectIdentifiers2
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSSecurityExtensions.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSSecurityExtensions.asn
deleted file mode 100644
index 8c692ccb31..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSSecurityExtensions.asn
+++ /dev/null
@@ -1,143 +0,0 @@
--- Module IPMSSecurityExtensions (X.420:06/1999)
-IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- ipm-security-extensions(14) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- MTS Abstract Service
- Certificates, Content, ContentIntegrityCheck, ExtendedCertificates,
- EXTENSION, MessageOriginAuthenticationCheck, MessageToken, EncryptionKey
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- IPMS Information Objects
- IPMS-EXTENSION
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Heading Extensions
- BodyPartNumber
- --==
- FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- heading-extensions(6) version-1999(1)}
- -- Directory Authentication Framework
- AlgorithmIdentifier, ENCRYPTED{}
- --==
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3}
- -- Directory Certificate Extensions
- CertificateAssertion
- --==
- FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
- certificateExtensions(26) 0}
- -- IPMS Object Identifiers
- id-sec-ipm-security-request, id-sec-security-common-fields
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Recipient Security Request
-recipient-security-request IPMS-EXTENSION ::= {
- VALUE RecipientSecurityRequest,
- IDENTIFIED BY id-sec-ipm-security-request
-}
-
-RecipientSecurityRequest ::= BIT STRING {
- content-non-repudiation(0), content-proof(1), ipn-non-repudiation(2),
- ipn-proof(3)}
-
--- IPN Security Response
-ipn-security-response IPMS-EXTENSION ::= {
- VALUE IpnSecurityResponse,
- IDENTIFIED BY id-sec-security-common-fields
-}
-
-IpnSecurityResponse ::= SET {
- content-or-arguments
- CHOICE {original-content OriginalContent,
- original-security-arguments
- SET {original-content-integrity-check
- [0] OriginalContentIntegrityCheck OPTIONAL,
- original-message-origin-authentication-check
- [1] OriginalMessageOriginAuthenticationCheck OPTIONAL,
- original-message-token
- [2] OriginalMessageToken OPTIONAL}},
- security-diagnostic-code SecurityDiagnosticCode OPTIONAL
-}
-
--- MTS security fields
-OriginalContent ::= Content
-
-OriginalContentIntegrityCheck ::= ContentIntegrityCheck
-
-OriginalMessageOriginAuthenticationCheck ::= MessageOriginAuthenticationCheck
-
-OriginalMessageToken ::= MessageToken
-
--- Security Diagnostic Codes
-SecurityDiagnosticCode ::= INTEGER {
- integrity-failure-on-subject-message(0),
- integrity-failure-on-forwarded-message(1),
- moac-failure-on-subject-message(2), unsupported-security-policy(3),
- unsupported-algorithm-identifier(4), decryption-failed(5), token-error(6),
- unable-to-sign-notification(7), unable-to-sign-message-receipt(8),
- authentication-failure-on-subject-message(9),
- security-context-failure-message(10), message-sequence-failure(11),
- message-security-labelling-failure(12), repudiation-failure-of-message(13),
- failure-of-proof-of-message(14), signature-key-unobtainable(15),
- decryption-key-unobtainable(16), key-failure(17),
- unsupported-request-for-security-service(18),
- inconsistent-request-for-security-service(19),
- ipn-non-repudiation-provided-instead-of-content-proof(20),
- token-decryption-failed(21), double-enveloping-message-restoring-failure(22),
- unauthorised-dl-member(23), reception-security-failure(24),
- unsuitable-alternate-recipient(25), security-services-refusal(26),
- unauthorised-recipient(27), unknown-certification-authority-name(28),
- unknown-dl-name(29), unknown-originator-name(30), unknown-recipient-name(31),
- security-policy-violation(32)}
-
--- Security Envelope Extensions
-body-part-encryption-token EXTENSION ::= {
- BodyPartTokens,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:43
-}
-
-BodyPartTokens ::=
- SET OF
- SET {body-part-number BodyPartNumber,
- body-part-choice
- CHOICE {encryption-token EncryptionToken,
- message-or-content-body-part [0] BodyPartTokens}
- }
-
-EncryptionToken ::= SET {
- encryption-algorithm-identifier AlgorithmIdentifier,
- encrypted-key ENCRYPTED{EncryptionKey},
- recipient-certificate-selector [0] CertificateAssertion OPTIONAL,
- recipient-certificate [1] Certificates OPTIONAL,
- originator-certificate-selector [2] CertificateAssertion OPTIONAL,
- originator-certificates [3] ExtendedCertificates OPTIONAL,
- ...
-}
-
-forwarded-content-token EXTENSION ::= {
- ForwardedContentToken,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:44
-}
-
-ForwardedContentToken ::=
- SET OF
- SET {body-part-number BodyPartNumber,
- body-part-choice
- CHOICE {forwarding-token MessageToken,
- message-or-content-body-part ForwardedContentToken
- }}
-
-END -- of IPMSSecurityExtensions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSUpperBounds.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSUpperBounds.asn
deleted file mode 100644
index 27324f614f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/IPMSUpperBounds.asn
+++ /dev/null
@@ -1,46 +0,0 @@
--- Module IPMSUpperBounds (X.420:06/1999)
-IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0) upper-bounds(10)
- version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS -- nothing -- ;
-
--- Upper bounds
-ub-alpha-code-length INTEGER ::= 16
-
-ub-auto-forward-comment INTEGER ::= 256
-
-ub-circulation-list-members INTEGER ::= 256
-
-ub-distribution-codes INTEGER ::= 16
-
-ub-extended-subject-length INTEGER ::= 256
-
-ub-free-form-name INTEGER ::= 64
-
-ub-information-categories INTEGER ::= 16
-
-ub-information-category-length INTEGER ::= 64
-
-ub-ipm-identifier-suffix INTEGER ::= 2
-
-ub-local-ipm-identifier INTEGER ::= 64
-
-ub-manual-handling-instruction-length INTEGER ::= 128
-
-ub-manual-handling-instructions INTEGER ::= 16
-
-ub-originators-reference-length INTEGER ::= 64
-
-ub-precedence INTEGER ::= 127
-
-ub-subject-field INTEGER ::= 128
-
-ub-telephone-number INTEGER ::= 32
-
-END -- of IPMSUpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/ISO-STANDARD-9541-FONT-ATTRIBUTE-SET.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/ISO-STANDARD-9541-FONT-ATTRIBUTE-SET.asn
deleted file mode 100644
index b7efd7417e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/ISO-STANDARD-9541-FONT-ATTRIBUTE-SET.asn
+++ /dev/null
@@ -1,459 +0,0 @@
--- Module ISO-STANDARD-9541-FONT-ATTRIBUTE-SET (ISO:1991)
---
--- Copyright � ISO/IEC 1991. This version of
--- this ASN.1 module is part of ISO|IEC 9541-2:1991;
--- see the ISO|IEC text itself for full legal notices.
---
-ISO-STANDARD-9541-FONT-ATTRIBUTE-SET {1 0 9541 2 2} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Font-Attribute-Set;
-
-IMPORTS Structured-Name
- FROM ISO9541-SN {1 0 9541 2 3};
-
-Font-Attribute-Set ::= SEQUENCE {
- name-prefixes [0] IMPLICIT SET OF Name-Prefix OPTIONAL,
- iso-standard-9541-fontname [1] IMPLICIT Global-Name OPTIONAL,
- iso-standard-9541-fontdescription [2] IMPLICIT Font-Description OPTIONAL,
- iso-standard-9541-wrmodes [3] IMPLICIT Writing-Modes OPTIONAL,
- non-iso-properties [5] IMPLICIT Property-List OPTIONAL
-}
-
-Font-Description ::= SET {
- iso-standard-9541-dataversion [0] IMPLICIT Data-Version OPTIONAL,
- iso-standard-9541-Standardversion [1] IMPLICIT Cardinal OPTIONAL,
- iso-standard-9541-datasource [2] IMPLICIT Global-Name OPTIONAL,
- iso-standard-9541-datacopyright [3] Message OPTIONAL,
- iso-standard-9541-dsnsource [4] IMPLICIT Global-Name OPTIONAL,
- iso-standard-9541-dsncopyright [5] Message OPTIONAL,
- iso-standard-9541-relunits [6] IMPLICIT Cardinal DEFAULT 1,
- iso-standard-9541-typeface [7] Message OPTIONAL,
- iso-standard-9541-fontfamily [8] Match-String OPTIONAL,
- iso-standard-9541-posture [9] IMPLICIT Posture-Code OPTIONAL,
- iso-standard-9541-postureangle [10] IMPLICIT Angle OPTIONAL,
- iso-standard-9541-weight [11] IMPLICIT Weight-Code OPTIONAL,
- iso-standard-9541-propwidth [12] IMPLICIT Width-Code OPTIONAL,
- iso-standard-9541-glyphcomp [13] IMPLICIT Glyph-Complement OPTIONAL,
- iso-standard-9541-nomwrmode [14] IMPLICIT Global-Name OPTIONAL,
- iso-standard-9541-dsnsize [15] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-minsize [16] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-maxsize [17] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-capheight [18] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-lcheight [19] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-dsngroup [20] IMPLICIT Design-Group OPTIONAL,
- iso-standard-9541-structure [21] IMPLICIT Structure-Code OPTIONAL,
- iso-standard-9541-minfeatsz [22] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-nomcapstemwidth [23] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-nomlcstemwidth [24] IMPLICIT Rel-Rational OPTIONAL,
- non-iso-properties [25] IMPLICIT Property-List OPTIONAL
-}
-
-Name-Prefix ::= SEQUENCE {
- --see NOTE 3 at the end of 6.1
- index [0] IMPLICIT Code,
- prefix [1] IMPLICIT Structured-Name
-}
-
-Data-Version ::= SEQUENCE {
- major [0] IMPLICIT Cardinal OPTIONAL,
- minor [1] IMPLICIT Cardinal OPTIONAL,
- timestamp [2] IMPLICIT UTCTime OPTIONAL
-}
-
-Posture-Code ::= INTEGER {
- not-applicable(0), upright(1), oblique-forward(2), oblique-backward(3),
- italic-forward(4), italic-backward(5), other(6)}
-
-Weight-Code ::= INTEGER {
- not-applicable(0), ultra-light(1), extra-light(2), light(3), semi-light(4),
- medium(5), semi-bold(6), bold(7), extra-bold(8), ultra-bold(9)}
-
-Width-Code ::= INTEGER {
- not-applicable(0), ultra-condensed(1), extra-condensed(2), condensed(3),
- semi-condensed(4), medium(5), semi-expanded(6), expanded(7),
- extra-expanded(8), ultra-expanded(9)}
-
-Glyph-Complement ::= SEQUENCE {
- -- at least one included glyph list or at least one
- -- included glyph collection list is mandatory
- iso-standard-9541-numglyphs [0] IMPLICIT Cardinal OPTIONAL,
- iso-standard-9541-incglyphcols [1] IMPLICIT SET OF Global-Name OPTIONAL,
- -- at least one is required
- iso-standard-9541-excglyphcols [2] IMPLICIT SET OF Global-Name OPTIONAL,
- -- at least one is required
- iso-standard-9541-incglyphs [3] IMPLICIT SET OF Global-Name OPTIONAL,
- -- at least one is required
- iso-standard-9541-excglyphs [4] IMPLICIT SET OF Global-Name OPTIONAL,
- -- at least one is required
- non-iso-properties [5] IMPLICIT Property-List OPTIONAL
-}
-
-Design-Group ::= SEQUENCE {
- -- see 9541-1 Annex-A for code values
- group-code [0] IMPLICIT Code,
- subgroup-code [1] IMPLICIT Code,
- specific-group-code [2] IMPLICIT Code
-}
-
-Structure-Code ::= INTEGER {not-applicable(0), solid(1), outline(2)}
-
-Writing-Modes ::= SET {
- iso-standard-9541-wrmode [0] IMPLICIT SET OF Writing-Mode OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Writing-Mode ::= SEQUENCE {
- iso-standard-9541-wrmodename [0] IMPLICIT Global-Name,
- wrmode-properties [1] IMPLICIT Modal-Properties
-}
-
-Modal-Properties ::= SET {
- iso-standard-9541-nomescdir [0] IMPLICIT Angle OPTIONAL,
- iso-standard-9541-escclass [1] IMPLICIT Esc-Class-Code OPTIONAL,
- iso-standard-9541-avgescx [2] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-avgescy [3] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-avglcescx [4] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-avglcescy [5] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-avgcapescx [6] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-avgcapescy [7] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-tabescx [8] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-tabescy [9] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-maxfontext [10] IMPLICIT Max-Extents OPTIONAL,
- iso-standard-9541-sectors [11] IMPLICIT Sectors OPTIONAL,
- iso-standard-9541-escadjs [12] IMPLICIT SET OF Adjusts OPTIONAL,
- iso-standard-9541-minescadjsze [13] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-maxescadjsze [14] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-scores [15] IMPLICIT Scores OPTIONAL,
- iso-standard-9541-vscripts [16] IMPLICIT Variant-Scripts OPTIONAL,
- iso-standard-9541-minlinesp [17] IMPLICIT Alignment-Spacing OPTIONAL,
- iso-standard-9541-minanascale [18] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-maxanascale [19] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-nomalign [20] IMPLICIT Global-Name OPTIONAL,
- iso-standard-9541-alignmodes [21] IMPLICIT Alignment-Modes OPTIONAL,
- iso-standard-9541-copyfits [22] IMPLICIT Copyfits OPTIONAL,
- iso-standard-9541-dsnwordadd [23] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-dsnwordampl [24] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-minwordadd [25] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-minwordampl [26] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-maxwordadd [27] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-maxwordampl [28] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-dsnletteradd [29] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-dsnletterampl [30] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-minletteradd [31] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-minletterampl [32] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-maxletteradd [33] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-maxletterampl [34] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-glyphmetrics [35] IMPLICIT Glyph-Metrics OPTIONAL,
- non-iso-properties [36] IMPLICIT Property-List OPTIONAL
-}
-
-Esc-Class-Code ::= INTEGER {not-applicable(0), monospace(1), proportional(2)}
-
-Max-Extents ::= SEQUENCE {
- max-minx [0] IMPLICIT Rel-Rational,
- max-miny [1] IMPLICIT Rel-Rational,
- max-maxx [2] IMPLICIT Rel-Rational,
- max-maxy [3] IMPLICIT Rel-Rational
-}
-
-Sectors ::= SET {
- iso-standard-9541-sector [0] IMPLICIT SEQUENCE OF Sector OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Sector ::= SEQUENCE {
- sector-left [0] IMPLICIT Rel-Rational,
- sector-right [1] IMPLICIT Rel-Rational
-}
-
-Adjusts ::= SET {
- iso-standard-9541-adjust [0] IMPLICIT SET OF Adjust,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Adjust ::= SET {
- iso-standard-9541-escadjname [0] IMPLICIT Global-Name,
- adjust-properties [1] IMPLICIT Adjust-Properties
-}
-
-Adjust-Properties ::= SET {
- iso-standard-9541-cpea [0] IMPLICIT CPEA-Properties OPTIONAL,
- iso-standard-9541-sec [1] IMPLICIT SEC-Properties OPTIONAL,
- non-iso-properties [2] IMPLICIT Property-List OPTIONAL
-}
-
-CPEA-Properties ::= SET {
- iso-standard-9541-ncpeaforwd [0] IMPLICIT Cardinal,
- iso-standard-9541-ncpeabackwd [1] IMPLICIT Cardinal,
- iso-standard-9541-cpeax [2] SEQUENCE OF Rel-Rational OPTIONAL,
- -- at least one required
- iso-standard-9541-cpeay [3] SEQUENCE OF Rel-Rational OPTIONAL,
- non-iso-properties [4] IMPLICIT Property-List OPTIONAL
-}
-
-SEC-Properties ::= SET {
- iso-standard-9541-secx
- [0] SEQUENCE OF
- SEQUENCE {-- at least one required
- rational [0] IMPLICIT Rational,
- rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
- iso-standard-9541-secy
- [1] SEQUENCE OF
- SEQUENCE {-- at least one required
- rational [0] IMPLICIT Rational,
- rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
- non-iso-properties [2] IMPLICIT Property-List OPTIONAL
-}
-
-Scores ::= SET {
- iso-standard-9541-Score [0] IMPLICIT SET OF Score OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Score ::= SEQUENCE {
- iso-standard-9541-scorename [0] IMPLICIT Global-Name,
- score-property-list [1] IMPLICIT Score-Properties
-}
-
-Score-Properties ::= SET {
- iso-standard-9541-scoreoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-scoreoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-scorethick [2] IMPLICIT Rel-Rational OPTIONAL,
- non-iso-properties [3] IMPLICIT Property-List OPTIONAL
-}
-
-Variant-Scripts ::= SET {
- iso-standard-9541-vscript [0] IMPLICIT SET OF Vscript OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Vscript ::= SEQUENCE {
- iso-standard-9541-vsname [0] IMPLICIT Global-Name,
- vscript-property-list [1] IMPLICIT Vscript-Properties
-}
-
-Vscript-Properties ::= SET {
- iso-standard-9541-vsoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-vsoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-vsscalex [2] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-vsscaley [3] IMPLICIT Rational OPTIONAL,
- non-iso-properties [4] IMPLICIT Property-List OPTIONAL
-}
-
-Alignment-Spacing ::= SEQUENCE {
- minlinesp-left [0] IMPLICIT Rel-Rational,
- minlinesp-right [1] IMPLICIT Rel-Rational
-}
-
-Alignment-Modes ::= SET {
- iso-standard-9541-align [0] IMPLICIT SET OF Alignment OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Alignment ::= SEQUENCE {
- iso-standard-9541-alignname [0] IMPLICIT Global-Name,
- alignment-property-list [1] IMPLICIT Align-Properties
-}
-
-Align-Properties ::= SET {
- iso-standard-9541-alignoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-alignoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-alignscalex [2] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-alignscaley [3] IMPLICIT Rational OPTIONAL,
- non-iso-properties [4] IMPLICIT Property-List OPTIONAL
-}
-
-Copyfits ::= SET {
- iso-standard-9541-copyfit [0] IMPLICIT SET OF Copyfit OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Copyfit ::= SEQUENCE {
- iso-standard-9541-copyfitname [0] IMPLICIT Global-Name,
- copyfit-properties [1] IMPLICIT Copyfit-Properties
-}
-
-Copyfit-Properties ::= SET {
- iso-standard-9541-copyfitmeasure [0] IMPLICIT Rational OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Glyph-Metrics ::= SET {
- iso-standard-9541-gmetric [0] IMPLICIT SET OF Glyph-Property-List,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Glyph-Property-List ::= SEQUENCE {
- iso-standard-9541-gname [0] IMPLICIT Global-Name,
- glyph-properties [1] IMPLICIT Glyph-Properties
-}
-
-Glyph-Properties ::= SET {
- iso-standard-9541-px [0] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-py [1] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-ex [2] IMPLICIT Rel-Rational,
- iso-standard-9541-ey [3] IMPLICIT Rel-Rational,
- iso-standard-9541-ext [4] IMPLICIT Extents,
- iso-standard-9541-lgs [5] IMPLICIT Ligatures OPTIONAL,
- iso-standard-9541-peas [6] IMPLICIT P-Adjusts OPTIONAL,
- iso-standard-9541-cpeai [7] IMPLICIT C-Indicator OPTIONAL,
- iso-standard-9541-eai [8] IMPLICIT E-Code OPTIONAL,
- iso-standard-9541-minex [9] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-miney [10] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-maxex [11] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-maxey [12] IMPLICIT Rel-Rational OPTIONAL,
- non-iso-properties [13] IMPLICIT Property-List OPTIONAL
-}
-
-Extents ::= SET {
- minx [0] IMPLICIT Rel-Rational OPTIONAL,
- miny [1] IMPLICIT Rel-Rational OPTIONAL,
- maxx [2] IMPLICIT Rel-Rational OPTIONAL,
- maxy [3] IMPLICIT Rel-Rational OPTIONAL
-}
-
-Ligatures ::= SET {
- iso-standard-9541-lg [0] IMPLICIT SET OF Ligature OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Ligature ::= SET {
- iso-standard-9541-lgn [0] IMPLICIT Global-Name,
- iso-standard-9541-lgsn [1] SEQUENCE OF Global-Name
-}
-
-P-Adjusts ::= SET {
- iso-standard-9541-pea [0] IMPLICIT SET OF P-Adjust OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-P-Adjust ::= SEQUENCE {
- iso-standard-9541-pean [0] IMPLICIT Global-Name,
- p-adjust-property-list [1] IMPLICIT P-Adjust-Properties
-}
-
-P-Adjust-Properties ::= SET {
- iso-standard-9541-peax
- [0] SEQUENCE OF
- SEQUENCE {-- at least one required
- global-name [0] IMPLICIT Global-Name,
- rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
- iso-standard-9541-peay
- [1] SEQUENCE OF
- SEQUENCE {-- at least one required
- global-name [0] IMPLICIT Global-Name,
- rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
- iso-standard-9541-speaforwdx [2] SEQUENCE OF Rel-Rational OPTIONAL,
- iso-standard-9541-speaforwdy [3] SEQUENCE OF Rel-Rational OPTIONAL,
- iso-standard-9541-speabackwdx [4] SEQUENCE OF Rel-Rational OPTIONAL,
- iso-standard-9541-speabackwdy [5] SEQUENCE OF Rel-Rational OPTIONAL,
- non-iso-properties [6] IMPLICIT Property-List OPTIONAL
-}
-
-C-Indicator ::= SEQUENCE {
- c-forward [0] IMPLICIT Cardinal,
- c-backward [1] IMPLICIT Cardinal
-}
-
-E-Code ::= INTEGER {
- not-applicable(0), letter-space(1), word-space(2), no-adjust(3)}
-
--- The following Data Types are used in the above structures
--- The following Data Types are used in the above structures
-Property ::= SEQUENCE {
- property-name [0] Global-Name,
- property-value [1] Property-Value
-}
-
-Property-Value ::= CHOICE {
- value [0] Value,
- value-list [1] Value-List,
- ordered-value-list [2] Ordered-Value-List,
- property-list [3] Property-List,
- ordered-property-list [4] Ordered-Property-List
-}
-
-Value-List ::= SET OF Value
-
-Ordered-Value-List ::= SEQUENCE OF Value
-
-Property-List ::= SET OF Property
-
-Ordered-Property-List ::= SEQUENCE OF Property
-
-Value ::= CHOICE {
- global-Name [0] Global-Name,
- match-String [1] Match-String,
- message [2] Message,
- octetString [3] OCTET STRING,
- boolean [4] BOOLEAN,
- integer [5] Integer,
- cardinal [6] Cardinal,
- code [7] Code,
- rational [8] Rational,
- rel-Rational [9] Rel-Rational,
- angle [10] Angle,
- proprietary-Data [11] Proprietary-Data
-}
-
-Global-Name ::= SEQUENCE {
- -- see global name note at the end of clause 6.1
- prefix-index [0] IMPLICIT Code OPTIONAL,
- name-value [1] IMPLICIT Structured-Name
-}
-
-Match-String ::= CHOICE {
- numeric [0] NumericString,
- printable [1] PrintableString,
- teletex [2] TeletexString,
- videotex [3] VideotexString,
- visible [4] VisibleString,
- ia5 [5] IA5String,
- graphic [6] GraphicString,
- general [7] GeneralString
-}
-
-Message ::= CHOICE {
- numeric [0] NumericString,
- printable [1] PrintableString,
- teletex [2] TeletexString,
- videotex [3] VideotexString,
- visible [4] VisibleString,
- ia5 [5] IA5String,
- graphic [6] GraphicString,
- general [7] GeneralString
-}
-
-Integer ::= INTEGER {first(-2147483648), last(2147483647)}
-
-Cardinal ::= INTEGER {first(0), last(4294967295)}
-
-Code ::= INTEGER {first(0), last(255)}
-
-Rational ::= SEQUENCE {
- numerator [0] IMPLICIT INTEGER,
- denominator [1] IMPLICIT INTEGER {first(1), last(2147483647)} OPTIONAL
-}
-
--- denominator defaults to 1
-Rel-Rational ::= Rational
-
--- expresses glyph coordinate units
--- denominator defaults to relunits
-Angle ::=
- Rational
-
--- expresses units of degrees, with a
--- value range of -360 to +360
--- denominator defaults to 1
-Proprietary-Data ::= SEQUENCE {
- prop-data-message [0] Message OPTIONAL,
- prop-data-key [1] IMPLICIT OCTET STRING OPTIONAL,
- prop-data [2] IMPLICIT OCTET STRING
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/ISO8571-FTAM.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/ISO8571-FTAM.asn
deleted file mode 100644
index a57a276704..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/ISO8571-FTAM.asn
+++ /dev/null
@@ -1,1453 +0,0 @@
--- Module ISO8571-FTAM (ISO 8571-4:1988)
--- See also the README file
--- See also the index of all ASN.1 assignments needed in this Recommendation
-
---
--- Copyright ? ISO/IEC 1988. This version of
--- this ASN.1 module is part of ISO/IEC 8571-4:1988;
--- see the ISO|IEC text itself for full legal notices.
---
-ISO8571-FTAM {iso standard 8571 application-context(1) iso-ftam(1)} DEFINITIONS
-::=
-BEGIN
-
-PDU ::= CHOICE {
- fTAM-Regime-PDU FTAM-Regime-PDU,
- file-PDU File-PDU,
- bulk-Data-PDU Bulk-Data-PDU,
- fSM-PDU FSM-PDU
-}
-
-FTAM-Regime-PDU ::= CHOICE {
- f-initialize-request [0] IMPLICIT F-INITIALIZE-request,
- f-initialize-response [1] IMPLICIT F-INITIALIZE-response,
- f-terminate-request [2] IMPLICIT F-TERMINATE-request,
- f-terminate-response [3] IMPLICIT F-TERMINATE-response,
- f-u-abort-request [4] IMPLICIT F-U-ABORT-request,
- f-p-abort-request [5] IMPLICIT F-P-ABORT-request
-}
-
-F-INITIALIZE-request ::= SEQUENCE {
- protocol-Version Protocol-Version DEFAULT {version-1},
- implementation-information Implementation-Information OPTIONAL,
- presentation-tontext-management [2] IMPLICIT BOOLEAN DEFAULT FALSE,
- service-class Service-Class DEFAULT {transfer-class},
- -- Only the valid combinations as specified in ISO 8571-3 are allowed.
- functional-units Functional-Units,
- attribute-groups Attribute-Groups DEFAULT {},
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- ftam-quality-of-Service FTAM-Quality-of-Service,
- contents-type-list Contents-Type-List OPTIONAL,
- initiator-identity User-Identity OPTIONAL,
- account Account OPTIONAL,
- filestore-password Password OPTIONAL,
- checkpoint-window [8] IMPLICIT INTEGER DEFAULT 1
-}
-
--- lf the recovery or restart data transfer functional units are
--- not available, the Checkpoint-window Parameter shall not be sent.
-F-INITIALIZE-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- protocol-Version Protocol-Version DEFAULT {version-1},
- implementation-information Implementation-Information OPTIONAL,
- presentation-tontext-management [2] IMPLICIT BOOLEAN DEFAULT FALSE,
- service-class Service-Class DEFAULT {transfer-class},
- -- Only the valid combinations as specified in ISO 8571-3 are allowed.
- functional-units Functional-Units,
- attribute-groups Attribute-Groups DEFAULT {},
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- ftam-quality-of-Service FTAM-Quality-of-Service,
- contents-type-list Contents-Type-List OPTIONAL,
- diagnostic Diagnostic OPTIONAL,
- checkpoint-window [8] IMPLICIT INTEGER DEFAULT 1
-}
-
--- If the recovery or restart data transfer functional units are
--- not available, the Checkpoint-window Parameter shall not be sent.
-Protocol-Version ::= [0] IMPLICIT BIT STRING {version-1(0), version-2(1)
-}
-
-Implementation-Information ::= [1] IMPLICIT GraphicString
-
--- This Parameter is provided solely for the convenience of implementors
--- needing to distinguish between implernentations of a specific version number
--- of different equipment, it shall not be the subject of conformance test.
-Service-Class ::= [3] IMPLICIT BIT STRING {
- unconstrained-class(0), management-class(1), transfer-class(2),
- transfer-and-management-class(3), access-class(4)}
-
-Functional-Units ::= [4] IMPLICIT BIT STRING {
- read(2), write(3), file-access(4), limited-file-management(5),
- enhanced-file-management(6), grouping(7), fadu-locking(8), recovery(9),
- restart-data-transfer(10), limited-filestore-management(11),
- enhanced-filestore-management(12), object-manipulation(13),
- group-manipulation(14), consecutive-access(15), concurrent-access(16)
-}
-
--- Values 2 to 14 are Chosen to align with numbering scheme used in ISO 8571-3.
-Attribute-Groups ::= [5] IMPLICIT BIT STRING {
- storage(0), security(1), private(2), extension(3)}
-
--- The extension bit is defined if and only if the limited-filestore-management
--- or the group-manipulation functional units are available.
-FTAM-Quality-of-Service ::= [6] IMPLICIT INTEGER {
- no-recovery(0), class-1-recovery(1), class-2-recovery(2), class-3-recovery(3)
-}
-
-Contents-Type-List ::=
- [7] IMPLICIT
- SEQUENCE OF
- CHOICE {document-type-name Document-Type-Name,
- abstract-Syntax-name Abstract-Syntax-Name}
-
-F-TERMINATE-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-TERMINATE-response ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- charging Charging OPTIONAL
-}
-
-F-U-ABORT-request ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-P-ABORT-request ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- diagnostic Diagnostic OPTIONAL
-}
-
-File-PDU ::= CHOICE {
- f-select-request [6] IMPLICIT F-SELECT-request,
- f-select-response [7] IMPLICIT F-SELECT-response,
- f-deselect-request [8] IMPLICIT F-DESELECT-request,
- f-deselect-response [9] IMPLICIT F-DESELECT-response,
- f-create-request [10] IMPLICIT F-CREATE-request,
- f-create-response [11] IMPLICIT F-CREATE-response,
- f-delete-request [12] IMPLICIT F-DELETE-request,
- f-delete-response [13] IMPLICIT F-DELETE-response,
- f-read-attrib-request [14] IMPLICIT F-READ-ATTRIB-request,
- f-read-attrib-response [15] IMPLICIT F-READ-ATTRIB-response,
- f-Change-attrib-reques [16] IMPLICIT F-CHANGE-ATTRIB-request,
- f-Change-attrib-respon [17] IMPLICIT F-CHANGE-ATTRIB-response,
- f-open-request [18] IMPLICIT F-OPEN-request,
- f-open-response [19] IMPLICIT F-OPEN-response,
- f-close-request [20] IMPLICIT F-CLOSE-request,
- f-close-response [21] IMPLICIT F-CLOSE-response,
- f-begin-group-request [22] IMPLICIT F-BEGIN-GROUP-request,
- f-begin-group-response [23] IMPLICIT F-BEGIN-GROUP-response,
- f-end-group-request [24] IMPLICIT F-END-GROUP-request,
- f-end-group-response [25] IMPLICIT F-END-GROUP-response,
- f-recover-request [26] IMPLICIT F-RECOVER-request,
- f-recover-response [27] IMPLICIT F-RECOVER-response,
- f-locate-request [28] IMPLICIT F-LOCATE-request,
- f-locate-response [29] IMPLICIT F-LOCATE-response,
- f-erase-request [30] IMPLICIT F-ERASE-request,
- f-erase-response [31] IMPLICIT F-ERASE-response
-}
-
-F-SELECT-request ::= SEQUENCE {
- attributes Select-Attributes,
- requested-access Access-Request,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- -- This Parameter tan only be sent when the
- -- limited-filestore-management or the object-manipulation or
- -- the group-manipulation functional units are available.
- concurrency-control Concurrency-Control OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- account Account OPTIONAL
-}
-
-F-SELECT-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- attributes Select-Attributes,
- referent-indicator Referent-Indicator OPTIONAL,
- -- This Parameter tan only be sent when the
- -- limited-filestore-management functional unit is available.
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-DESELECT-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-DESELECT-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- charging Charging OPTIONAL,
- -- Present if and only if the account field was present on
- -- the PDU which established the selection regime.
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-CREATE-request ::= SEQUENCE {
- override [0] IMPLICIT Override DEFAULT create-failure,
- initial-attributes Create-Attributes,
- create-password Password OPTIONAL,
- requested-access Access-Request,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- -- This Parameter tan only be sent when the
- -- limited-filestore-management or the Object-manipulation or
- -- the group-manipulation functional units are available.
- concurrency-control Concurrency-Control OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- account Account OPTIONAL
-}
-
-F-CREATE-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- initial-attributes Create-Attributes,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-DELETE-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-DELETE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- charging Charging OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-READ-ATTRIB-request ::= SEQUENCE {
- attribute-names [0] IMPLICIT Attribute-Names,
- attribute-extension-names [1] IMPLICIT Attribute-Extension-Names OPTIONAL
-}
-
--- This Parameter tan only be sent when the
--- limited-filestore-management functional unit is available.
-F-READ-ATTRIB-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- attributes Read-Attributes OPTIONAL,
- -- Password values within the access control tan not be read by means
- -- of the read attribute action. Whether other Parts of the access
- -- control Object attribute tan be read by means of the read
- -- attribute action is decided locally by the responding entity, and
- -- it shall not be the subject of conformance test.
- diagnostic Diagnostic OPTIONAL
-}
-
-F-CHANGE-ATTRIB-request ::= SEQUENCE {attributes Change-Attributes
-}
-
-F-CHANGE-ATTRIB-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- attributes Change-Attributes OPTIONAL,
- -- Password values within access control attribute are never returned.
- -- Other attributes are retumed as an implementation choice.
- diagnostic Diagnostic OPTIONAL
-}
-
-F-OPEN-request ::= SEQUENCE {
- processing-mode
- [0] IMPLICIT BIT STRING {f-read(0), f-insert(1), f-replace(2), f-extend(3),
- f-erase(4)} DEFAULT {f-read},
- contents-type
- [1] CHOICE {unknown [0] IMPLICIT NULL,
- proposed [1] Contents-Type-Attribute},
- concurrency-control Concurrency-Control OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- enable-fadu-locking [2] IMPLICIT BOOLEAN DEFAULT FALSE,
- activity-identifier Activity-Identifier OPTIONAL,
- -- Only used in the recovery functional unit.
- recovery-mode
- [3] IMPLICIT INTEGER {none(0), at-start-of-file(1),
- at-any-active-Checkpoint(2)} DEFAULT none,
- remove-contexts [4] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
- define-contexts [5] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
- -- The following are conditional on the negotiation of the consecutive overlap or
- -- concurrent overlap functional units.
- degree-of-overlap Degree-Of-Overlap OPTIONAL,
- transfer-window [7] IMPLICIT INTEGER OPTIONAL
-}
-
-F-OPEN-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- contents-type [1] Contents-Type-Attribute,
- concurrency-control Concurrency-Control OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL,
- recovery-mode
- [3] IMPLICIT INTEGER {none(0), at-start-of-file(1),
- at-any-active-Checkpoint(2)} DEFAULT none,
- presentation-action [6] IMPLICIT BOOLEAN DEFAULT FALSE,
- -- This flag is set if the responder is going to follow this response
- -- by a P-ALTER-CONTEXT exchange.
- --The following are conditional on the negotiation of the concecutive access
- -- or concurent access functional units.
- degree-of-overlap Degree-Of-Overlap OPTIONAL,
- transfer-window [7] IMPLICIT INTEGER OPTIONAL
-}
-
-F-CLOSE-request ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-CLOSE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-BEGIN-GROUP-request ::= SEQUENCE {threshold [0] IMPLICIT INTEGER
-}
-
-F-BEGIN-GROUP-response ::= SEQUENCE {
-}
-
--- No elements defined, shall be empty.
-F-END-GROUP-request ::= SEQUENCE {
-}
-
--- No elements defined, shall be empty.
-F-END-GROUP-response ::= SEQUENCE {
-}
-
--- No elements defined, shall be empty.
-F-RECOVER-request ::= SEQUENCE {
- activity-identifier Activity-Identifier,
- bulk-transfer-number [0] IMPLICIT INTEGER,
- -- If concurrent access was in use then this parameter indicates the read bulk
- -- transfer.
- requested-access Access-Request,
- access-passwords Access-Passwords OPTIONAL,
- recovefy-Point [2] IMPLICIT INTEGER DEFAULT 0,
- -- Zero indicates beginning of file
- -- Point after last Checkpoint indicates end of file
- remove-contexts
- [3] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
- define-contexts
- [4] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
- -- The following are conditional on the negotiation of overlapped access.
- concurrent-bulk-transfer-number [7] IMPLICIT INTEGER OPTIONAL,
- -- conditional on use of concurrent access
- concurrent-recovery-point [8] IMPLICIT INTEGER OPTIONAL,
- -- conditional on use of concurrent access. Zero indicates beginning of file
- -- point after last checkpoint indicates end of file
- last-transfer-end-read-response [9] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [10] IMPLICIT INTEGER OPTIONAL
-}
-
-F-RECOVER-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- contents-type [1] Contents-Type-Attribute,
- recovety-Point [2] IMPLICIT INTEGER DEFAULT 0,
- -- Zero indicates beginning of file.
- -- Point after last Checkpoint indicates end of file.
- diagnostic Diagnostic OPTIONAL,
- presentation-action [6] IMPLICIT BOOLEAN DEFAULT FALSE,
- -- This flag is set if the responder is going to follow this response
- -- by a P-ALTER-CONTEXT exchange.
- -- The following are conditional on the negotiation of overlapped access.
- concurrent-recovery-point [8] IMPLICIT INTEGER OPTIONAL,
- -- conditional on use of concurrent access. Zero indicates beginning of file; point after
- -- last checkpoint indicates end of file
- last-transfer-end-read-request [9] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-request [10] IMPLICIT INTEGER OPTIONAL
-}
-
-F-LOCATE-request ::= SEQUENCE {
- file-access-data-unit-identity FADU-Identity,
- fadu-lock FADU-Lock OPTIONAL
-}
-
-F-LOCATE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- file-access-data-unit-identity FADU-Identity OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-ERASE-request ::= SEQUENCE {file-access-data-unit-identity FADU-Identity
-}
-
-F-ERASE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- diagnostic Diagnostic OPTIONAL
-}
-
-Bulk-Data-PDU ::= CHOICE {
- f-read-request [32] IMPLICIT F-READ-request,
- f-write-request [33] IMPLICIT F-WRITE-request,
- -- There is no F-DATA FPDU, the contents of a file
- -- are transferred in a different presentation context
- -- and there is therefore no need to define the types
- -- of file contents in the FTAM PCI abstract Syntax.
- -- File contents data are carried in values of the
- -- data type Data-Element as defined in ISO 8571-2.
- f-data-end-request [34] IMPLICIT F-DATA-END-request,
- f-transfer-end-request [35] IMPLICIT F-TRANSFER-END-request,
- f-transfer-end-response [36] IMPLICIT F-TRANSFER-END-response,
- f-cancel-request [37] IMPLICIT F-CANCEL-request,
- f-cancel-response [38] IMPLICIT F-CANCEL-response,
- -- There is no F-CHECK PDU.
- f-restart-request [39] IMPLICIT F-RESTART-request,
- f-restart-response [40] IMPLICIT F-RESTART-response
-}
-
-F-READ-request ::= SEQUENCE {
- file-access-data-unit-identity FADU-Identity,
- access-context Access-Context,
- fadu-lock FADU-Lock OPTIONAL,
- -- The following is conditional on the negotiation of consecutive of concurrent access.
- transfer-number [0] IMPLICIT INTEGER OPTIONAL
-}
-
-F-WRITE-request ::= SEQUENCE {
- file-access-data-unit-Operation
- [0] IMPLICIT INTEGER {insert(0), replace(1), extend(2)},
- file-access-data-unit-identity FADU-Identity,
- fadu-lock FADU-Lock OPTIONAL,
- -- The following is conditional on the negotiation of consecutive or concurrent access.
- transfer-number [1] IMPLICIT INTEGER OPTIONAL
-}
-
-F-DATA-END-request ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-TRANSFER-END-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type OPTIONAL,
- transfer-number [0] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-response [1] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [2] IMPLICIT INTEGER OPTIONAL
-}
-
-F-TRANSFER-END-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type OPTIONAL,
- transfer-number [0] IMPLICIT INTEGER OPTIONAL
-}
-
-F-CANCEL-request ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type,
- transfer-number [0] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-request [1] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-response [2] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-request [3] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [4] IMPLICIT INTEGER OPTIONAL
-}
-
-F-CANCEL-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type OPTIONAL,
- transfer-number [0] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-request [1] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-response [2] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-request [3] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [4] IMPLICIT INTEGER OPTIONAL
-}
-
-F-CHECK-request ::= SEQUENCE {
- checkpoint-identifier [0] IMPLICIT INTEGER,
- transfer-number [1] IMPLICIT INTEGER
-}
-
-F-CHECK-response ::= SEQUENCE {
- checkpoint-identifier [0] IMPLICIT INTEGER,
- transfer-number [1] IMPLICIT INTEGER
-}
-
-F-RESTART-request ::= SEQUENCE {
- checkpoint-identifier [0] IMPLICIT INTEGER,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type OPTIONAL,
- transfer-number [1] IMPLICIT INTEGER,
- last-transfer-end-read-request [2] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-response [3] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-request [4] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [5] IMPLICIT INTEGER OPTIONAL
-}
-
-F-RESTART-response ::= SEQUENCE {
- checkpoint-identifier [0] IMPLICIT INTEGER,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type OPTIONAL,
- transfer-number [1] IMPLICIT INTEGER,
- last-transfer-end-read-request [2] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-response [3] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-request [4] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [5] IMPLICIT INTEGER OPTIONAL
-}
-
-Degree-Of-Overlap ::= [APPLICATION 30] IMPLICIT INTEGER {
- normal(0), consecutive(1), concurrent(2)}
-
-Request-Type ::= [APPLICATION 31] IMPLICIT INTEGER {read(0), write(1)}
-
-Abstract-Syntax-Name ::= [APPLICATION 0] IMPLICIT OBJECT IDENTIFIER
-
-Access-Context ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- access-context
- [0] IMPLICIT INTEGER {hierarchical-all-data-units(0),--HA--
- hierarchical-no-data-units(1),--HN--
- flat-all-data-units(2),--FA--
- flat-one-level-data-unit(3),--FL--
- flat-Single-data-unit(4),--FS--
- unstructured-all-data-units(5),--UA--
- unstructured-Single-data-unit(6)}, --US
- level-number [1] IMPLICIT INTEGER OPTIONAL
-}
-
--- Present if and only if flat-one-level-data-units
--- (access context FL) is selected.
--- As defined in ISO 8571-2.
-Access-Passwords ::= [APPLICATION 2] IMPLICIT SEQUENCE {
- read-password [0] Password,
- insert-password [1] Password,
- replace-password [2] Password,
- extend-password [3] Password,
- erase-password [4] Password,
- read-attribute-password [5] Password,
- change-attribute-password [6] Password,
- delete-password [7] Password,
- pass-passwords [8] IMPLICIT Pass-Passwords OPTIONAL,
- link-password [9] Password OPTIONAL
-}
-
--- The pass-passwords and the link-password must be included in the
--- access-passwords if and only if the limited-filestore-management
--- or the Object-manipulation or the group-manipulation functional
--- units are available.
-Access-Request ::= [APPLICATION 3] IMPLICIT BIT STRING {
- read(0), insert(1), replace(2), extend(3), erase(4), read-attribute(5),
- change-attribute(6), delete-Object(7)}
-
-Account ::= [APPLICATION 4] IMPLICIT GraphicString
-
-Action-Result ::= [APPLICATION 5] IMPLICIT INTEGER {
- success(0), transient-error(1), permanent-error(2)}
-
-Activity-Identifier ::= [APPLICATION 6] IMPLICIT INTEGER
-
-Application-Entity-Title ::= [APPLICATION 7] AE-title
-
--- As defined in ISO 8650.
-Change-Attributes ::= [APPLICATION 8] IMPLICIT SEQUENCE {
- -- Kerne1 Group
- pathname Pathname-Attribute OPTIONAL,
- -- Storage group
- storage-account [3] Account-Attribute OPTIONAL,
- object-availability [12] Object-Availability-Attribute OPTIONAL,
- future-Object-size [14] Object-Size-Attribute OPTIONAL,
- -- Security group
- access-control [15] Access-Control-Change-Attribute OPTIONAL,
- path-access-control [21] Access-Control-Change-Attribute OPTIONAL,
- -- This Parameter tan only be sent when the
- -- enhanced-filestore-management functional unit is available.
- legal-qualification [16] Legal-Qualification-Attribute OPTIONAL,
- -- Private group
- private-use [17] Private-Use-Attribute OPTIONAL,
- -- Attribute Extensions group
- attribute-extensions [22] IMPLICIT Attribute-Extensions OPTIONAL
-}
-
--- This Parameter tan only be sent when the
--- enhanced-filestore-management functional unit is available.
--- Atleast one attribute shall be present in the Change-Attributes
--- Parameter on the request PDU.
-Charging ::=
- [APPLICATION 9] IMPLICIT
- SEQUENCE OF
- SEQUENCE {resource-identifier [0] IMPLICIT GraphicString,
- charging-unit [1] IMPLICIT GraphicString,
- charging-value [2] IMPLICIT INTEGER}
-
-Concurrency-Control ::= [APPLICATION 10] IMPLICIT SEQUENCE {
- read [0] IMPLICIT Lock,
- insert [1] IMPLICIT Lock,
- replace [2] IMPLICIT Lock,
- extend [3] IMPLICIT Lock,
- erase [4] IMPLICIT Lock,
- read-attribute [5] IMPLICIT Lock,
- change-attribute [6] IMPLICIT Lock,
- delete-Object [7] IMPLICIT Lock
-}
-
-Lock ::= INTEGER {not-required(0), shared(1), exclusive(2), no-access(3)}
-
-Constraint-Set-Name ::= [APPLICATION 11] IMPLICIT OBJECT IDENTIFIER
-
-Create-Attributes ::= [APPLICATION 12] IMPLICIT SEQUENCE {
- -- Kerne1 Group
- pathname Pathname-Attribute,
- object-type [18] IMPLICIT Object-Type-Attribute DEFAULT file,
- -- This Parameter tan be sent if and only if the
- -- limited-filestore-management functional unit is available.
- permitted-actions [1] IMPLICIT Permitted-Actions-Attribute,
- contents-type [2] Contents-Type-Attribute,
- -- Storage group
- storage-account [3] Account-Attribute OPTIONAL,
- object-availability [12] Object-Availability-Attribute OPTIONAL,
- future-Object-size [14] Object-Size-Attribute OPTIONAL,
- -- Security group
- access-control [15] Access-Control-Attribute OPTIONAL,
- path-access-control [21] Access-Control-Attribute OPTIONAL,
- -- This Parameter tan be sent if and only if the
- -- enhanced-filestore-management functional unit is available.
- legal-qualification [16] Legal-Qualification-Attribute OPTIONAL,
- -- Private group
- private-use [17] Private-Use-Attribute OPTIONAL,
- -- Attribute Extensions group
- attribute-extensions [22] IMPLICIT Attribute-Extensions OPTIONAL
-}
-
--- This Parameter tan only be sent when the
--- limited-filestore-management functional unit is available.
-Diagnostic ::=
- [APPLICATION 13] IMPLICIT
- SEQUENCE OF
- SEQUENCE {diagnostic-type
- [0] IMPLICIT INTEGER {informative(0), transient(1),
- permanent(2)},
- error-identifier [1] IMPLICIT INTEGER,
- -- As defined in ISO 8571-3.
- error-observer [2] IMPLICIT Entity-Reference,
- error-Source [3] IMPLICIT Entity-Reference,
- suggested-delay [4] IMPLICIT INTEGER OPTIONAL,
- further-details [5] IMPLICIT GraphicString OPTIONAL
- }
-
-Entity-Reference ::= INTEGER {
- no-categorization-possible(0), initiating-file-service-user(1),
- initiating-file-protocol-machine(2),
- service-supporting-the-file-protocol-machine(3),
- responding-file-protocol-machine(4), responding-file-service-user(5)
-}
-
---NOTE
--- 1. The values 0 and 3 are only valid as values in error-source.
--- 2. The value 5 corresponds to the virtual filestore.
-Document-Type-Name ::= [APPLICATION 14] IMPLICIT OBJECT IDENTIFIER
-
-FADU-Identity ::= [APPLICATION 15] CHOICE {
- first-last [0] IMPLICIT INTEGER {first(0), last(1)},
- relative [1] IMPLICIT INTEGER {previous(0), current(1), next(2)},
- begin-end [2] IMPLICIT INTEGER {begin(0), end(1)},
- single-name [3] IMPLICIT Node-Name,
- name-list [4] IMPLICIT SEQUENCE OF Node-Name,
- fadu-number [5] IMPLICIT INTEGER
-}
-
--- As defined in ISO 8571-2.
-Node-Name ::= EXTERNAL
-
--- The type to be used for Node-Name is defined in IS08571-FADU.
-FADU-Lock ::= [APPLICATION 16] IMPLICIT INTEGER {off(0), on(1)}
-
-Password ::= [APPLICATION 17] CHOICE {
- graphicString GraphicString,
- octetString OCTET STRING
-}
-
-Read-Attributes ::= [APPLICATION 18] IMPLICIT SEQUENCE {
- -- Kerne1 Group
- pathname Pathname-Attribute OPTIONAL,
- object-type
- [18] IMPLICIT Object-Type-Attribute OPTIONAL,
- -- This Parameter tan be sent if and only if
- -- the limited-filestore-management functional unit is available.
- permitted-actions
- [1] IMPLICIT Permitted-Actions-Attribute OPTIONAL,
- contents-type
- [2] Contents-Type-Attribute OPTIONAL,
- linked-Object
- [19] Pathname-Attribute OPTIONAL,
- -- This Parameter tan be sent if and only if
- -- the limited-filestore-management functional unit is available.
- child-objects
- [23] Child-Objects-Attribute OPTIONAL,
- -- This Parameter tan be sent if and only if
- -- the limited-filestore-management functional unit is available.
- -- Storage group
- primaty-pathname
- [20] Pathname-Attribute OPTIONAL,
- storage-account [3] Account-Attribute OPTIONAL,
- date-and-time-of-creation
- [4] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-modification
- [5] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-read-access
- [6] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-attribute-modification
- [7] Date-and-Time-Attribute OPTIONAL,
- identity-of-creator
- [8] User-Identity-Attribute OPTIONAL,
- identity-of-last-modifier
- [9] User-Identity-Attribute OPTIONAL,
- identity-of-last-reader
- [10] User-Identity-Attribute OPTIONAL,
- identity-last-attribute-modifier
- [11] User-Identity-Attribute OPTIONAL,
- object-availability
- [12] Object-Availability-Attribute OPTIONAL,
- object-size
- [13] Object-Size-Attribute OPTIONAL,
- future-Object-size
- [14] Object-Size-Attribute OPTIONAL,
- -- Security group
- access-control
- [15] Access-Control-Attribute OPTIONAL,
- path-access-control
- [21] Access-Control-Attribute OPTIONAL,
- -- This Parameter tan be sent if and only if
- -- the limited-filestore-management functional unit is available.
- legal-qualification
- [16] Legal-Qualification-Attribute OPTIONAL,
- -- Private group
- private-use
- [17] Private-Use-Attribute OPTIONAL,
- -- Attribute Extensions group
- attribute-extensions
- [22] IMPLICIT Attribute-Extensions OPTIONAL
-}
-
--- This Parameter tan be sent if and only if
--- the limited-filestore-management functional unit is available.
-Select-Attributes ::= [APPLICATION 19] IMPLICIT SEQUENCE {
- -- Kerne1 Group
- pathname Pathname-Attribute
-}
-
-Shared-ASE-Information ::= [APPLICATION 20] IMPLICIT EXTERNAL
-
--- This field may be used to convey commitment control as described
--- in ISO 8571-3.
-State-Result ::= [APPLICATION 21] IMPLICIT INTEGER {success(0), failure(1)
-}
-
-User-Identity ::= [APPLICATION 22] IMPLICIT GraphicString
-
-Access-Control-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values [1] IMPLICIT SET OF Access-Control-Element
-}
-
--- The semantics of this attribute is described in ISO 8571-2.
-Access-Control-Change-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values
- [1] IMPLICIT SEQUENCE {insert-values
- [0] IMPLICIT SET OF Access-Control-Element
- OPTIONAL,
- -- This field is used by the Change attribute actions to indicate
- -- new values to be inserted in the access control Object attribute.
- delete-values
- [1] IMPLICIT SET OF Access-Control-Element
- OPTIONAL}
-}
-
--- This field is used by the Change attribute action to indicate
--- old values to be removed from the access control Object
--- attribute.
--- The semantics of this attribute is described in ISO 8571-2.
-Access-Control-Element ::= SEQUENCE {
- action-list [0] IMPLICIT Access-Request,
- concurrency-access [1] IMPLICIT Concurrency-Access OPTIONAL,
- identity [2] IMPLICIT User-Identity OPTIONAL,
- passwords [3] IMPLICIT Access-Passwords OPTIONAL,
- location [4] IMPLICIT Application-Entity-Title OPTIONAL
-}
-
-Concurrency-Access ::= SEQUENCE {
- read [0] IMPLICIT Concurrency-Key,
- insert [1] IMPLICIT Concurrency-Key,
- replace [2] IMPLICIT Concurrency-Key,
- extend [3] IMPLICIT Concurrency-Key,
- erase [4] IMPLICIT Concurrency-Key,
- read-attribute [5] IMPLICIT Concurrency-Key,
- change-attribute [6] IMPLICIT Concurrency-Key,
- delete-Object [7] IMPLICIT Concurrency-Key
-}
-
-Concurrency-Key ::= BIT STRING {
- not-required(0), shared(1), exclusive(2), no-access(3)}
-
-Account-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values Account
-}
-
-Contents-Type-Attribute ::= CHOICE {
- document-type
- [0] IMPLICIT SEQUENCE {document-type-name Document-Type-Name,
- parameter
- [0] TYPE-IDENTIFIER.&Type OPTIONAL},
- -- The actual types to be used for values of the Parameter field
- -- are defined in the named document type.
- constraint-set-and-abstract-Syntax
- [1] IMPLICIT SEQUENCE {constraint-set-name Constraint-Set-Name,
- abstract-Syntax-name Abstract-Syntax-Name
- }
-}
-
-Date-and-Time-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values [1] IMPLICIT GeneralizedTime
-}
-
-Object-Availability-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values
- [1] IMPLICIT INTEGER {immediate-availability(0), deferred-availability(1)}
-}
-
-Pathname-Attribute ::= CHOICE {
- incomplete-pathname [0] IMPLICIT Pathname,
- complete-pathname [APPLICATION 23] IMPLICIT Pathname
-}
-
-Object-Size-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values [1] IMPLICIT INTEGER
-}
-
-Legal-Qualification-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values [1] IMPLICIT GraphicString
-}
-
-Permitted-Actions-Attribute ::= BIT STRING -- Actions available
- {
- read(0), insert(1), replace(2), extend(3), erase(4), read-attribute(5),
- change-attribute(6), delete-Object(7), pass(11),
- link(12),
- -- FADU-Identity groups available
- traversal(8), reverse-traversal(9), random-Order(10)}
-
-Private-Use-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- abstract-Syntax-not-supported [1] IMPLICIT NULL,
- -- Indicates that abstract Syntax is not available.
- actual-values [2] IMPLICIT EXTERNAL
-}
-
-Object-Type-Attribute ::= INTEGER {file(0), file-directory(1), reference(2)}
-
-User-Identity-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values User-Identity
-}
-
-Child-Objects-Attribute ::= SET OF GraphicString
-
-FSM-PDU ::= CHOICE {
- f-Change-prefix-request [41] IMPLICIT F-CHANGE-PREFIX-request,
- f-Change-prefix-response [42] IMPLICIT F-CHANGE-PREFIX-response,
- f-list-request [43] IMPLICIT F-LIST-request,
- f-list-response [44] IMPLICIT F-LIST-response,
- f-group-select-request [45] IMPLICIT F-GROUP-SELECT-request,
- f-group-select-response [46] IMPLICIT F-GROUP-SELECT-response,
- f-group-delete-request [47] IMPLICIT F-GROUP-DELETE-request,
- f-group-delete-response [48] IMPLICIT F-GROUP-DELETE-response,
- f-group-move-request [49] IMPLICIT F-GROUP-MOVE-request,
- f-group-move-response [50] IMPLICIT F-GROUP-MOVE-response,
- f-group-copy-request [51] IMPLICIT F-GROUP-COPY-request,
- f-group-copy-response [52] IMPLICIT F-GROUP-COPY-response,
- f-group-list-request [53] IMPLICIT F-GROUP-LIST-request,
- f-group-list-response [54] IMPLICIT F-GROUP-LIST-response,
- f-group-Change-attrib-request [55] IMPLICIT F-GROUP-CHANGE-ATTRIB-request,
- f-group-Change-attrib-response [56] IMPLICIT F-GROUP-CHANGE-ATTRIB-response,
- f-select-another-request [57] IMPLICIT F-SELECT-ANOTHER-request,
- f-select-another-response [58] IMPLICIT F-SELECT-ANOTHER-response,
- f-create-directory-request [59] IMPLICIT F-CREATE-DIRECTORY-request,
- f-create-directory-response [60] IMPLICIT F-CREATE-DIRECTORY-response,
- f-link-request [61] IMPLICIT F-LINK-request,
- f-link-response [62] IMPLICIT F-LINK-response,
- f-unlink-request [63] IMPLICIT F-UNLINK-request,
- f-unlink-response [64] IMPLICIT F-UNLINK-response,
- f-read-link-attrib-request [65] IMPLICIT F-READ-LINK-ATTRIB-request,
- f-read-link-attrib-response [66] IMPLICIT F-READ-LINK-ATTRIB-response,
- f-Change-link-attrib-request [67] IMPLICIT F-CHANGE-LINK-ATTRIB-request,
- f-Change-Iink-attrib-response [68] IMPLICIT F-CHANGE-LINK-ATTRIB-response,
- f-move-request [69] IMPLICIT F-MOVE-request,
- f-move-response [70] IMPLICIT F-MOVE-response,
- f-copy-request [71] IMPLICIT F-COPY-request,
- f-copy-response [72] IMPLICIT F-COPY-response
-}
-
-F-CHANGE-PREFIX-request ::= SEQUENCE {
- reset [0] IMPLICIT BOOLEAN DEFAULT FALSE,
- destination-file-directory Destination-File-Directory,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL
-}
-
-F-CHANGE-PREFIX-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- destination-file-directory Destination-File-Directory OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-LIST-request ::= SEQUENCE {
- attribute-value-asset-tions Attribute-Value-Assertions,
- scope Scope,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- attribute-names [0] IMPLICIT Attribute-Names,
- attribute-extension-names [1] IMPLICIT Attribute-Extension-Names OPTIONAL
-}
-
-F-LIST-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- objects-attributes-list Objects-Attributes-List OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-SELECT-request ::= SEQUENCE {
- attribute-value-assertions Attribute-Value-Assertions,
- requested-access Access-Request,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- concurrency-control Concurrency-Control OPTIONAL,
- maximum-set-size [0] IMPLICIT INTEGER DEFAULT 0,
- -- 0 implies no limit.
- scope Scope,
- account Account OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-GROUP-SELECT-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-DELETE-request ::= SEQUENCE {
- request-Operation-result Request-Operation-Result OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-GROUP-DELETE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- charging Charging OPTIONAL,
- operation-result Operation-Result OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-MOVE-request ::= SEQUENCE {
- destination-file-directory Destination-File-Directory,
- override [0] IMPLICIT Override DEFAULT create-failure,
- -- Only the values create-failure (0}
- -- and delete-and-create-with-new-attributes (3) are allowed.
- error-action [11] IMPLICIT Error-Action,
- create-password Password OPTIONAL,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- request-Operation-result Request-Operation-Result OPTIONAL,
- attributes Change-Attributes OPTIONAL
-}
-
-F-GROUP-MOVE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- destination-file-directory Destination-File-Directory OPTIONAL,
- operation-result Operation-Result OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-COPY-request ::= SEQUENCE {
- destination-file-directory Destination-File-Directory,
- override [0] IMPLICIT Override DEFAULT create-failure,
- -- Only the values create-failure (0)
- -- and delete-and-create-with-new-attributes (3) are allowed.
- error-action [1] IMPLICIT Error-Action,
- create-password Password OPTIONAL,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- request-Operation-result Request-Operation-Result OPTIONAL,
- attributes Change-Attributes OPTIONAL
-}
-
-F-GROUP-COPY-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- destination-file-directory Destination-File-Directory OPTIONAL,
- operation-result Operation-Result OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-LIST-request ::= SEQUENCE {
- attribute-names [0] IMPLICIT Attribute-Names,
- attribute-extension-names [2] IMPLICIT Attribute-Extension-Names OPTIONAL
-}
-
-F-GROUP-LIST-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- objects-attributes-list Objects-Attributes-List OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-CHANGE-ATTRIB-request ::= SEQUENCE {
- attributes Change-Attributes,
- error-action [1] IMPLICIT Error-Action,
- request-Operation-result Request-Operation-Result OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-GROUP-CHANGE-ATTRIB-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- operation-result Operation-Result OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-SELECT-ANOTHER-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-SELECT-ANOTHER-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- last-member-indicator [0] IMPLICIT BOOLEAN DEFAULT FALSE,
- referent-indicator Referent-Indicator OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-CREATE-DIRECTORY-request ::= SEQUENCE {
- initial-attributes Create-Attributes,
- create-password Password OPTIONAL,
- requested-access Access-Request,
- shared-ASE-infonnation Shared-ASE-Information OPTIONAL,
- account Account OPTIONAL
-}
-
-F-CREATE-DIRECTORY-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- initial-attributes Create-Attributes,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-LINK-request ::= SEQUENCE {
- initial-attributes Create-Attributes,
- target-object Pathname-Attribute,
- create-password Password OPTIONAL,
- requested-access Access-Request,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- concurrency-control Concurrency-Control OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- account Account OPTIONAL
-}
-
-F-LINK-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- initial-attributes Create-Attributes,
- target-Object Pathname-Attribute,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-UNLINK-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-UNLINK-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- charging Charging OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-READ-LINK-ATTRIB-request ::= SEQUENCE {
- attribute-names [0] IMPLICIT Attribute-Names,
- attribute-extension-names [1] IMPLICIT Attribute-Extension-Names OPTIONAL
-}
-
-F-READ-LINK-ATTRIB-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- attributes Read-Attributes OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-CHANGE-LINK-ATTRIB-request ::= SEQUENCE {attributes Change-Attributes
-}
-
-F-CHANGE-LINK-ATTRIB-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- attributes Change-Attributes OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-MOVE-request ::= SEQUENCE {
- destination-file-directory Destination-File-Directory,
- override [0] IMPLICIT Override DEFAULT create-failure,
- -- Only the values create-failure (0)
- -- and delete-and-create-with-new-attributes (3) are ailowed.
- create-password Password OPTIONAL,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- attributes Change-Attributes OPTIONAL
-}
-
-F-MOVE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- destination-file-directory Destination-File-Directory OPTIONAL,
- attributes Change-Attributes OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-COPY-request ::= SEQUENCE {
- destination-file-directory Destination-File-Directory,
- override [0] IMPLICIT Override DEFAULT create-failure,
- -- Only the values create-failure (0)
- -- and delete-and-create-with-new-attributes (3) are allowed.
- create-password Password OPTIONAL,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- attributes Change-Attributes OPTIONAL
-}
-
-F-COPY-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- destination-file-directory Destination-File-Directory OPTIONAL,
- attributes Change-Attributes OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-Attribute-Extension-Names ::= SEQUENCE OF Attribute-Extension-Set-Name
-
-Attribute-Extension-Set-Name ::= SEQUENCE {
- extension-set-identifier [0] IMPLICIT Extension-Set-Identifier,
- extension-attribute-names [1] SEQUENCE OF Extension-Attribute-identifier
-}
-
-Attribute-Extensions ::= SEQUENCE OF Attribute-Extension-Set
-
-Attribute-Extension-Set ::= SEQUENCE {
- extension-set-identifier [0] IMPLICIT Extension-Set-Identifier,
- extension-set-attributes [1] SEQUENCE OF Extension-Attribute
-}
-
-Extension-Attribute ::= SEQUENCE {
- extension-attribute-identifier
- TYPE-IDENTIFIER.&id({Extension-Attributes}),
- extension-attribute
- TYPE-IDENTIFIER.&Type
- ({Extension-Attributes}{@extension-attribute-identifier})
-}
-
-Extension-Attributes TYPE-IDENTIFIER ::=
- {...} -- dynamically extensible
-
-Extension-Set-Identifier ::= OBJECT IDENTIFIER
-
-Extension-Attribute-identifier ::= OBJECT IDENTIFIER
-
-Attribute-Value-Assertions ::= [APPLICATION 26] IMPLICIT OR-Set
-
-Scope ::=
- [APPLICATION 28] IMPLICIT
- SEQUENCE OF
- SEQUENCE {root-directory [0] Pathname-Attribute OPTIONAL,
- retrieval-scope [1] IMPLICIT INTEGER {child(0), all(1)}
- }
-
-OR-Set ::= SEQUENCE OF AND-Set
-
-AND-Set ::=
- SEQUENCE OF
- CHOICE {-- Kernel group
- pathname-Pattern
- [0] IMPLICIT Pathname-Pattern,
- object-type-Pattern
- [18] IMPLICIT Integer-Pattern,
- permitted-actions-Pattern
- [1] IMPLICIT Bitstring-Pattern,
- contents-type-Pattern
- [2] Contents-Type-Pattern,
- linked-Object-Pattern
- [19] IMPLICIT Pathname-Pattern,
- child-objects-Pattern
- [23] IMPLICIT Pathname-Pattern,
- -- Storage group
- primaty-pathname-Pattern
- [20] IMPLICIT Pathname-Pattern,
- storage-account-Pattern
- [3] IMPLICIT String-Pattern,
- date-and-time-of-creation-Pattern
- [4] IMPLICIT Date-and-Time-Pattern,
- date-and-time-of-last-modification-Pattern
- [5] IMPLICIT Date-and-Time-Pattern,
- date-and-time-of-last-read-access-Pattern
- [6] IMPLICIT Date-and-Time-Pattern,
- date-and-time-of-last-attribute-modification-Pattern
- [7] IMPLICIT Date-and-Time-Pattern,
- identity-of-creator-Pattern
- [8] IMPLICIT User-Identity-Pattern,
- identity-of-last-modifier-Pattern
- [9] IMPLICIT User-Identity-Pattern,
- identity-of-last-reader-Pattern
- [10] IMPLICIT User-Identity-Pattern,
- identity-of-last-attribute-modifier-Pattern
- [11] IMPLICIT User-Identity-Pattern,
- object-availabiiity-Pattern
- [12] IMPLICIT Boolean-Pattern,
- object-size-Pattern
- [13] IMPLICIT Integer-Pattern,
- future-object-size-Pattern
- [14] IMPLICIT Integer-Pattern,
- -- Security group
- -- Access control searches are disallowed.
- legal-quailfication-Pattern
- [16] IMPLICIT String-Pattern,
- -- Private group
- -- Private use searches are disallowed.
- -- Attribute Extensions group
- attribute-extensions-pattern
- [22] IMPLICIT Attribute-Extensions-Pattern}
-
-User-Identity-Pattern ::= String-Pattern
-
-Equality-Comparision ::= BIT STRING {
- no-value-available-matches(0),
- -- Set impies ?No Value Available? matches the test.
- -- Clear implies ?No Value Availabie? fails the test.
- equals-matches(1)
-
--- Set implies equal items match the test.
--- Clear implies equal items fail the test.
-}
-
-Relational-Comparision ::= BIT STRING {
- no-value-available-matches(0),
- -- Set impies ?No Value Available? matches the test.
- -- Clear implies ?No Value Available? fails the test.
- equals-matches(1),
- -- Set implies equal items match the test.?
- -- Clear implies equal items fail the test.
- less-than-matches(2),
- -- Set implies a value less than the test cke matches.
- -- Clear implies a value less than the test case fails.
- greater-than-matches(3)
-
--- Set implies a value greater than the test case matches.
--- Clear implies a value greater than the test case fails.
-}
-
--- Bits 1 through 3 shall not all have the Same value.
-Pathname-Pattern ::= SEQUENCE {
- equality-comparision [0] IMPLICIT Equality-Comparision,
- pathname-value
- [1] IMPLICIT SEQUENCE OF
- CHOICE {string-match [2] IMPLICIT String-Pattern,
- any-match [3] IMPLICIT NULL}
-}
-
-String-Pattern ::= SEQUENCE {
- equality-comparision [0] IMPLICIT Equality-Comparision,
- string-value
- [1] IMPLICIT SEQUENCE OF
- CHOICE {substring-match
- [2] IMPLICIT GraphicString,
- any-match [3] IMPLICIT NULL,
- number-of-characters-match [4] IMPLICIT INTEGER
- }
-}
-
-Bitstring-Pattern ::= SEQUENCE {
- equality-comparision [0] IMPLICIT Equality-Comparision,
- match-bitstring [1] IMPLICIT BIT STRING,
- significance-bitstring [2] IMPLICIT BIT STRING
-}
-
-Date-and-Time-Pattern ::= SEQUENCE {
- relational-camparision [0] IMPLICIT Equality-Comparision,
- time-and-date-value [1] IMPLICIT GeneralizedTime
-}
-
-Integer-Pattern ::= SEQUENCE {
- relational-comparision [0] IMPLICIT Relational-Comparision,
- integer-value [1] IMPLICIT INTEGER
-}
-
-Object-Identifier-Pattern ::= SEQUENCE {
- equality-comparision [0] IMPLICIT Equality-Comparision,
- object-identifier-value [1] IMPLICIT OBJECT IDENTIFIER
-}
-
-Boolean-Pattern ::= SEQUENCE {
- equality-comparision [0] IMPLICIT Equality-Comparision,
- boolean-value [1] IMPLICIT BOOLEAN
-}
-
-Other-Pattern ::= Equality-Comparision
-
--- Matches against ?No Value Available?.
-Contents-Type-Pattern ::= CHOICE {
- document-type-Pattern
- [0] IMPLICIT Object-Identifier-Pattern,
- constraint-set-abstract-Syntax-Pattern
- [1] IMPLICIT SEQUENCE {constraint-Set-Pattern
- [2] IMPLICIT Object-Identifier-Pattern OPTIONAL,
- -- Absent implies any Object Identifier is equal.
- abstract-Syntax-Pattern
- [3] IMPLICIT Object-Identifier-Pattern OPTIONAL
- -- Absent implies any Object identifier is equal.
- }
-}
-
-Attribute-Extensions-Pattern ::=
- SEQUENCE OF
- SEQUENCE {extension-set-identifier
- [0] IMPLICIT Extension-Set-Identifier,
- extension-set-attribute-Patterns
- [1] IMPLICIT SEQUENCE OF
- SEQUENCE {extension-attribute-identifier
- TYPE-IDENTIFIER.&id
- ({Extension-attribute-Patterns}),
- extension-attribute-Pattern
- TYPE-IDENTIFIER.&Type
- ({Extension-attribute-Patterns}
- {@.extension-attribute-identifier})
- }}
-
--- conjunction with the extention attribute in Order to
--- perform Pattern matthing operations on it. it may be
--- defined in terms of other Patterns within this
--- Standard.
-Extension-attribute-Patterns TYPE-IDENTIFIER ::=
- {...} -- dynamically extensible information object set
-
-Destination-File-Directory ::= [APPLICATION 24] Pathname-Attribute
-
-Objects-Attributes-List ::=
- [APPLICATION 25] IMPLICIT SEQUENCE OF Read-Attributes
-
-Override ::= INTEGER {
- create-failure(0), select-old-Object(1),
- delete-and-create-with-old-attributes(2),
- delete-and-create-with-new-attributes(3)}
-
-Error-Action ::= INTEGER {terminate(0), continue(1)}
-
-Operation-Result ::= [APPLICATION 30] CHOICE {
- success-Object-count [0] IMPLICIT INTEGER,
- success-Object-names [1] IMPLICIT SEQUENCE OF Pathname
-}
-
-Pathname ::= SEQUENCE OF GraphicString
-
-Pass-Passwords ::= SEQUENCE OF Password
-
--- There is a one-to-one correspondence between the elements of
--- Pass-Passwords and the non-terminal elements of the specified
--- Pathname.
-Path-Access-Passwords ::=
- [APPLICATION 27] IMPLICIT
- SEQUENCE OF
- SEQUENCE {read-password [0] Password,
- insert-password [1] Password,
- replace-password [2] Password,
- extend-password [3] Password,
- erase-password [4] Password,
- read-attribute-password [5] Password,
- change-attribute-password [6] Password,
- delete-password [7] Password,
- pass-passwords [8] IMPLICIT Pass-Passwords,
- link-password [9] Password}
-
--- There is a one-to-one correspondence between the elements of
--- Path-Access-Passwords and the non-terminal elements sf the
--- specified Pathname.
-Request-Operation-Result ::= [APPLICATION 31] IMPLICIT INTEGER {
- summary(0), fiii-list(1)}
-
-Attribute-Names ::= BIT STRING -- Kernel group
- {
- read-pathname(0), read-Object-type(18), read-permitted-actions(1),
- read-contents-type(2), read-linked-Object(19),
- read-Child-objects(23),
- -- Storage group
- read-primary-pathname(20), read-storage-account(3),
- read-date-and-time-of-creation(4),
- read-date-and-time-of-last-modification(5),
- read-date-and-time-of-last-read-access(6),
- read-date-and-time-of-last-attribute-modification(7),
- read-identity-of-creator(8), read-identity-of-last-modifier(9),
- read-identity-of-last-reader(10),
- read-identity-of-last-attribute-modifier(11), read-Object-availability(12),
- read-Object-size(13),
- read-future-Object-size(14),
- -- Security group
- read-access-control(15), read-path-access-control(21),
- read-l8gal-qualifiCatiOnS(16),
- -- Private group
- read-private-use(17)}
-
--- Bits 19 through 23 arc defined if and only if the limited-fil8Store-manag8m8nt
--- or group-manipulation functionat units are available.
-Referent-Indicator ::= [APPLICATION 29] IMPLICIT BOOLEAN
-
--- dw: definition of AE-title, as defined in ISO 8650:1988/Cor.1:1990
--- dw: defined in-line here so we don't need to import it, original comments
--- dw: are as they appear in the 8650:1988 Annex E
-AP-title ::= TYPE-IDENTIFIER.&Type
-
--- The exact definition and values used for AP-title
--- should be chosen taking into account the ongoing
--- work in areas of naming, the Directory, and the
--- Registration Authority procedures for AE titles,
--- AE titles, and AE qualifiers
-AE-qualifier ::= TYPE-IDENTIFIER.&Type
-
--- The exact definition and values used for AE-qualifier
--- should be chosen taking into account the ongoing
--- work in areas of naming, the Directory, and the
--- Registration Authority procedures for AE titles,
--- AE titles, and AE qualifiers
-AE-title ::= SEQUENCE {ap AP-title,
- ae AE-qualifier
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/ISO9541-SN.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/ISO9541-SN.asn
deleted file mode 100644
index 0149602040..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/ISO9541-SN.asn
+++ /dev/null
@@ -1,51 +0,0 @@
--- Module ISO9541-SN (ISO:1991)
---
--- Copyright � ISO/IEC 1991. This version of
--- this ASN.1 module is part of ISO|IEC 9541-2:1991;
--- see the ISO|IEC text itself for full legal notices.
---
-ISO9541-SN {1 0 9541 2 3} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Structured-Name, Owner-Name, Object-Name-Component;
-
-Structured-Name ::= SEQUENCE {
- owner-name [0] IMPLICIT Owner-Name OPTIONAL,
- -- length restricted to 120 characters
- owner-description [1] Message OPTIONAL,
- object-name [2] SEQUENCE OF Object-Name-Component OPTIONAL,
- -- length restricted to 100 characters
- object-description [3] Message OPTIONAL
-}
-
-Owner-Name ::= SEQUENCE {
- objectIdentifier [0] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
- ownerNameComponent [1] SEQUENCE OF Owner-Name-Component OPTIONAL
-}
-
-Owner-Name-Component ::= [0] VisibleString
-
--- except for "//" and "::"
-Object-Name-Component ::= [0] VisibleString
-
--- only characters from the following
--- repertoire: "A-Z", "a-z", "0-9",
--- Hyphen, and Period. If the name
--- component is a numeric value,
--- the first digit is in the range
--- of 1 to 9
-Message ::= CHOICE {
- numeric [0] NumericString,
- printable [1] PrintableString,
- teletex [2] TeletexString,
- videotex [3] VideotexString,
- visible [4] VisibleString,
- ia5 [5] IA5String,
- graphic [6] GraphicString,
- general [7] GeneralString
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Identifiers-and-Expressions.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Identifiers-and-Expressions.asn
deleted file mode 100644
index bd1d8d3c48..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Identifiers-and-Expressions.asn
+++ /dev/null
@@ -1,126 +0,0 @@
--- Module Identifiers-and-Expressions (T.415:03/1993)
-
-Identifiers-and-Expressions {2 8 1 5 7} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Content-Portion-Identifier, Object-or-Class-Identifier, Style-Identifier,
- Protected-Part-Identifier, Category-Name, Resource-Name, Binding-Name,
- Construction-Expression, Object-Id-Expression, Numeric-Expression,
- String-Expression;
-
-IMPORTS
- Layout-Object-Type
- FROM Layout-Descriptors -- see 7.9
-
- Logical-Object-Type
- FROM Logical-Descriptors; -- see 7.10
-
-Content-Portion-Identifier ::= [APPLICATION 0] IMPLICIT PrintableString
-
--- only digits and space are used in the present version
--- of this Specification; other characters are reserved for extensions
-Object-or-Class-Identifier ::= [APPLICATION 1] IMPLICIT PrintableString
-
--- only digits and space are used in the present version
--- of this Specification; other characters are reserved for extensions;
--- a 'null' value is represented by an empty string
-Style-Identifier ::= [APPLICATION 5] IMPLICIT PrintableString
-
--- only digits and space are used in the present version
--- of this Specification; other characters are reserved for extensions;
--- a 'null' value is represented by an empty string
-Protected-Part-Identifier ::= [APPLICATION 7] IMPLICIT PrintableString
-
--- only digits and space are used in the present version
--- of this Specification; other characters are reserved for extensions;
--- a 'null' value is represented by an empty string
-Category-Name ::= PrintableString
-
--- a 'null' value is represented by an empty string
-Resource-Name ::= PrintableString
-
-Binding-Name ::= PrintableString
-
-Construction-Expression ::= CHOICE {
- construction-type Construction-Type,
- single-term-construction [3] Construction-Term
-}
-
-Construction-Type ::= CHOICE {
- sequence-construction [0] IMPLICIT Term-Sequence,
- aggregate-construction [1] IMPLICIT Term-Sequence,
- choice-construction [2] IMPLICIT Term-Sequence
-}
-
-Term-Sequence ::= SEQUENCE OF Construction-Term
-
-Construction-Term ::= CHOICE {
- required-construction-factor [0] Construction-Factor,
- optional-construction-factor [1] Construction-Factor,
- repetitive-construction-factor [2] Construction-Factor,
- optional-repetitive-factor [3] Construction-Factor
-}
-
-Construction-Factor ::= CHOICE {
- object-class-identifier Object-or-Class-Identifier,
- construction-type Construction-Type
-}
-
-Object-Id-Expression ::= CHOICE {
- current-object-function [0] IMPLICIT NULL,
- preceding-object-function [1] Object-Id-Expression,
- superior-object-function [3] Object-Id-Expression,
- current-instance-function [4] Current-Instance-Function
-}
-
-Numeric-Expression ::= CHOICE {
- numeric-literal [0] IMPLICIT INTEGER,
- increment-application [1] Numeric-Expression,
- decrement-application [2] Numeric-Expression,
- ordinal-application
- [3] CHOICE {identifier Object-or-Class-Identifier,
- expression Object-Id-Expression},
- binding-reference [4] IMPLICIT Binding-Reference
-}
-
-Binding-Reference ::= SET {
- object-reference
- CHOICE {identifier Object-or-Class-Identifier,
- expression Binding-Selection-Function},
- binding-identifier Binding-Name
-}
-
-Binding-Selection-Function ::= CHOICE {
- current-object-function [0] IMPLICIT NULL,
- preceding-function [1] Object-Id-Expression,
- superior-function [3] Object-Id-Expression,
- current-instance-function [4] Current-Instance-Function
-}
-
-Current-Instance-Function ::= SEQUENCE {
- first-parameter
- CHOICE {identifier [0] IMPLICIT Object-or-Class-Identifier,
- layout-object-type [1] IMPLICIT Layout-Object-Type,
- logical-object-type [2] IMPLICIT Logical-Object-Type},
- second-parameter
- CHOICE {identifier Object-or-Class-Identifier,
- expression Object-Id-Expression}
-}
-
-String-Expression ::= SEQUENCE OF Atomic-String-Expression
-
-Atomic-String-Expression ::= CHOICE {
- string-literal [0] IMPLICIT OCTET STRING,
- binding-reference [2] IMPLICIT Binding-Reference,
- make-string-application [3] Numeric-Expression,
- upper-alpha-application [4] Numeric-Expression,
- lower-alpha-application [5] Numeric-Expression,
- upper-roman-application [6] Numeric-Expression,
- lower-roman-application [7] Numeric-Expression
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/InformationFramework.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/InformationFramework.asn
deleted file mode 100644
index 813ac9c6a0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/InformationFramework.asn
+++ /dev/null
@@ -1,868 +0,0 @@
--- Module InformationFramework (X.501:08/1997)
-InformationFramework {joint-iso-itu-t ds(5) module(1) informationFramework(1)
- 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-oc, id-at, id-mr, id-oa, id-sc, id-ar, id-nf, selectedAttributeTypes,
- directoryAbstractService, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- commonName, generalizedTimeMatch, generalizedTimeOrderingMatch, booleanMatch,
- integerMatch, integerOrderingMatch, objectIdentifierFirstComponentMatch,
- integerFirstComponentMatch, DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes
- TypeAndContextAssertion, ServiceControlOptions, SearchControlOptions,
- HierarchySelections, FamilyGrouping, FamilyReturn
- FROM DirectoryAbstractService directoryAbstractService
- ub-search
- FROM UpperBounds upperBounds;
-
--- attribute data types
-Attribute ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- values
- SET SIZE (0..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
-AttributeType ::= ATTRIBUTE.&id
-
-AttributeValue ::= ATTRIBUTE.&Type
-
-Context ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Type({SupportedContexts}{@contextType}),
- fallback BOOLEAN DEFAULT FALSE
-}
-
-AttributeValueAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertion
- ATTRIBUTE.&equality-match.&AssertionType({SupportedAttributes}{@type}),
- assertedContexts
- CHOICE {allContexts [0] NULL,
- selectedContexts [1] SET SIZE (1..MAX) OF ContextAssertion
- } OPTIONAL
-}
-
-ContextAssertion ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Assertion({SupportedContexts}{@contextType})
-}
-
-AttributeTypeAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertedContexts SEQUENCE SIZE (1..MAX) OF ContextAssertion OPTIONAL
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the values component of Attribute, the value component
--- of AttributeTypeAndValue, and the assertion component of AttributeValueAssertion.
-SupportedAttributes ATTRIBUTE ::=
- {objectClass | aliasedEntryName, ...}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the context specifications
-SupportedContexts CONTEXT ::=
- {...}
-
--- naming data types
-Name ::= CHOICE { -- only one possibility for now --rdnSequence RDNSequence
-}
-
-RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
-
-DistinguishedName ::= RDNSequence
-
-RelativeDistinguishedName ::=
- SET SIZE (1..MAX) OF AttributeTypeAndDistinguishedValue
-
-AttributeTypeAndDistinguishedValue ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- primaryDistinguished BOOLEAN DEFAULT TRUE,
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {distingAttrValue
- [0] ATTRIBUTE.&Type({SupportedAttributes}{@type}) OPTIONAL,
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
--- subtree data types
-SubtreeSpecification ::= SEQUENCE {
- base [0] LocalName DEFAULT {},
- COMPONENTS OF ChopSpecification,
- specificationFilter [4] Refinement OPTIONAL
-}
-
--- empty sequence specifies whole administrative area
-LocalName ::= RDNSequence
-
-ChopSpecification ::= SEQUENCE {
- specificExclusions
- [1] SET SIZE (1..MAX) OF
- CHOICE {chopBefore [0] LocalName,
- chopAfter [1] LocalName} OPTIONAL,
- minimum [2] BaseDistance DEFAULT 0,
- maximum [3] BaseDistance OPTIONAL
-}
-
-BaseDistance ::= INTEGER(0..MAX)
-
-Refinement ::= CHOICE {
- item [0] OBJECT-CLASS.&id,
- and [1] SET OF Refinement,
- or [2] SET OF Refinement,
- not [3] Refinement
-}
-
--- OBJECT-CLASS information object class specification
-OBJECT-CLASS ::= CLASS {
- &Superclasses OBJECT-CLASS OPTIONAL,
- &kind ObjectClassKind DEFAULT structural,
- &MandatoryAttributes ATTRIBUTE OPTIONAL,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBCLASS OF &Superclasses]
- [KIND &kind]
- [MUST CONTAIN &MandatoryAttributes]
- [MAY CONTAIN &OptionalAttributes]
- ID &id
-}
-
-ObjectClassKind ::= ENUMERATED {abstract(0), structural(1), auxiliary(2)}
-
--- object classes
-top OBJECT-CLASS ::= {
- KIND abstract
- MUST CONTAIN {objectClass}
- ID id-oc-top
-}
-
-alias OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- MUST CONTAIN {aliasedEntryName}
- ID id-oc-alias
-}
-
-parent OBJECT-CLASS ::= {KIND abstract
- ID id-oc-parent
-}
-
-child OBJECT-CLASS ::= {KIND auxiliary
- ID id-oc-child
-}
-
--- ATTRIBUTE information object class specification
-ATTRIBUTE ::= CLASS {
- &derivation ATTRIBUTE OPTIONAL,
- &Type OPTIONAL, -- either &Type or &derivation required
- &equality-match MATCHING-RULE OPTIONAL,
- &ordering-match MATCHING-RULE OPTIONAL,
- &substrings-match MATCHING-RULE OPTIONAL,
- &single-valued BOOLEAN DEFAULT FALSE,
- &collective BOOLEAN DEFAULT FALSE,
- -- operational extensions
- &no-user-modification BOOLEAN DEFAULT FALSE,
- &usage AttributeUsage DEFAULT userApplications,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBTYPE OF &derivation]
- [WITH SYNTAX &Type]
- [EQUALITY MATCHING RULE &equality-match]
- [ORDERING MATCHING RULE &ordering-match]
- [SUBSTRINGS MATCHING RULE &substrings-match]
- [SINGLE VALUE &single-valued]
- [COLLECTIVE &collective]
- [NO USER MODIFICATION &no-user-modification]
- [USAGE &usage]
- ID &id
-}
-
-AttributeUsage ::= ENUMERATED {
- userApplications(0), directoryOperation(1), distributedOperation(2),
- dSAOperation(3)}
-
--- attributes
-objectClass ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-objectClass
-}
-
-aliasedEntryName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- ID id-at-aliasedEntryName
-}
-
--- MATCHING-RULE information object class specification
-MATCHING-RULE ::= CLASS {
- &ParentMatchingRules MATCHING-RULE.&id OPTIONAL,
- &AssertionType OPTIONAL,
- &uniqueMatchIndicator ATTRIBUTE.&id OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [PARENT &ParentMatchingRules]
- [SYNTAX &AssertionType]
- [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator]
- ID &id
-}
-
--- matching rules
-objectIdentifierMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierMatch
-}
-
-distinguishedNameMatch MATCHING-RULE ::= {
- SYNTAX DistinguishedName
- ID id-mr-distinguishedNameMatch
-}
-
-MAPPING-BASED-MATCHING{SelectedBy, BOOLEAN:combinable, MappingResult,
- OBJECT IDENTIFIER:matchingRule} ::= CLASS {
- &selectBy SelectedBy OPTIONAL,
- &ApplicableTo ATTRIBUTE,
- &subtypesIncluded BOOLEAN DEFAULT TRUE,
- &combinable BOOLEAN(combinable),
- &mappingResults MappingResult OPTIONAL,
- &userControl BOOLEAN DEFAULT FALSE,
- &exclusive BOOLEAN DEFAULT TRUE,
- &matching-rule MATCHING-RULE.&id(matchingRule),
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SELECT BY &selectBy]
- APPLICABLE TO &ApplicableTo
- [SUBTYPES INCLUDED &subtypesIncluded]
- COMBINABLE &combinable
- [MAPPING RESULTS &mappingResults]
- [USER CONTROL &userControl]
- [EXCLUSIVE &exclusive]
- MATCHING RULE &matching-rule
- ID &id
-}
-
--- NAME-FORM information object class specification
-NAME-FORM ::= CLASS {
- &namedObjectClass OBJECT-CLASS,
- &MandatoryAttributes ATTRIBUTE,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- NAMES &namedObjectClass
- WITH ATTRIBUTES &MandatoryAttributes
- [AND OPTIONALLY &OptionalAttributes]
- ID &id
-}
-
--- STRUCTURE-RULE class and DIT structure rule data types
-STRUCTURE-RULE ::= CLASS {
- &nameForm NAME-FORM,
- &SuperiorStructureRules STRUCTURE-RULE OPTIONAL,
- &id RuleIdentifier
-}
-WITH SYNTAX {
- NAME FORM &nameForm
- [SUPERIOR RULES &SuperiorStructureRules]
- ID &id
-}
-
-DITStructureRule ::= SEQUENCE {
- ruleIdentifier RuleIdentifier,
- -- must be unique within the scope of the subschema
- nameForm NAME-FORM.&id,
- superiorStructureRules SET SIZE (1..MAX) OF RuleIdentifier OPTIONAL
-}
-
-RuleIdentifier ::= INTEGER
-
--- CONTENT-RULE class and DIT content rule data types
-CONTENT-RULE ::= CLASS {
- &structuralClass OBJECT-CLASS.&id UNIQUE,
- &Auxiliaries OBJECT-CLASS OPTIONAL,
- &Mandatory ATTRIBUTE OPTIONAL,
- &Optional ATTRIBUTE OPTIONAL,
- &Precluded ATTRIBUTE OPTIONAL
-}
-WITH SYNTAX {
- STRUCTURAL OBJECT-CLASS &structuralClass
- [AUXILIARY OBJECT-CLASSES &Auxiliaries]
- [MUST CONTAIN &Mandatory]
- [MAY CONTAIN &Optional]
- [MUST-NOT CONTAIN &Precluded]
-}
-
-DITContentRule ::= SEQUENCE {
- structuralObjectClass OBJECT-CLASS.&id,
- auxiliaries SET SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL,
- mandatory [1] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- optional [2] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- precluded [3] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL
-}
-
-CONTEXT ::= CLASS {
- &Type ,
- &Assertion OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {WITH SYNTAX &Type
- [ASSERTED AS &Assertion]
- ID &id
-}
-
-DITContextUse ::= SEQUENCE {
- attributeType ATTRIBUTE.&id,
- mandatoryContexts [1] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL,
- optionalContexts [2] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL
-}
-
-DIT-CONTEXT-USE-RULE ::= CLASS {
- &attributeType ATTRIBUTE.&id UNIQUE,
- &Mandatory CONTEXT OPTIONAL,
- &Optional CONTEXT OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [MANDATORY CONTEXTS &Mandatory]
- [OPTIONAL CONTEXTS &Optional]
-}
-
--- system schema information objects
--- object classes
-subentry OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- KIND structural
- MUST CONTAIN {commonName | subtreeSpecification}
- ID id-sc-subentry
-}
-
-subentryNameForm NAME-FORM ::= {
- NAMES subentry
- WITH ATTRIBUTES {commonName}
- ID id-nf-subentryNameForm
-}
-
-accessControlSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-accessControlSubentry
-}
-
-collectiveAttributeSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-collectiveAttributeSubentry
-}
-
-contextAssertionSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- MUST CONTAIN {contextAssertionDefaults}
- ID id-sc-contextAssertionSubentry
-}
-
-serviceAdminSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- MUST CONTAIN {searchRules}
- ID id-sc-serviceAdminSubentry
-}
-
--- attributes
-createTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-createTimestamp
-}
-
-modifyTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifyTimestamp
-}
-
-subschemaTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec.X. 680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaTimestamp
-}
-
-creatorsName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-creatorsName
-}
-
-modifiersName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifiersName
-}
-
-subschemaSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaSubentryList
-}
-
-accessControlSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-accessControlSubentryList
-}
-
-collectiveAttributeSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-collectiveAttributeSubentryList
-}
-
-contextDefaultSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-contextDefaultSubentryList
-}
-
-serviceAdminSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-serviceAdminSubentryList
-}
-
-hasSubordinates ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hasSubordinates
-}
-
-administrativeRole ATTRIBUTE ::= {
- WITH SYNTAX OBJECT-CLASS.&id
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-administrativeRole
-}
-
-subtreeSpecification ATTRIBUTE ::= {
- WITH SYNTAX SubtreeSpecification
- USAGE directoryOperation
- ID id-oa-subtreeSpecification
-}
-
-collectiveExclusions ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-collectiveExclusions
-}
-
-contextAssertionDefaults ATTRIBUTE ::= {
- WITH SYNTAX TypeAndContextAssertion
- EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
- USAGE directoryOperation
- ID id-oa-contextAssertionDefault
-}
-
-searchRules ATTRIBUTE ::= {
- WITH SYNTAX SearchRuleDescription
- EQUALITY MATCHING RULE integerFirstComponentMatch
- USAGE directoryOperation
- ID id-oa-searchRules
-}
-
-SearchRuleDescription ::= SEQUENCE {
- COMPONENTS OF SearchRule,
- name [28] SET SIZE (1..MAX) OF DirectoryString{ub-search} OPTIONAL,
- description [29] DirectoryString{ub-search} OPTIONAL,
- obsolete [30] BOOLEAN DEFAULT FALSE
-}
-
-hierarchyLevel ATTRIBUTE ::= {
- WITH SYNTAX INTEGER
- EQUALITY MATCHING RULE integerMatch
- ORDERING MATCHING RULE integerOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyLevel
-}
-
-hierarchyBelow ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyBelow
-}
-
-hierarchyParent ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyParent
-}
-
-SearchRule ::= SEQUENCE {
- COMPONENTS OF SearchRuleId,
- serviceType [1] OBJECT IDENTIFIER OPTIONAL,
- userClass [2] INTEGER OPTIONAL,
- inputAttributeTypes
- [3] SEQUENCE SIZE (1..MAX) OF RequestAttribute OPTIONAL,
- attributeCombination [4] AttributeCombination DEFAULT and:{},
- outputAttributeTypes [5] SEQUENCE SIZE (1..MAX) OF ResultAttribute OPTIONAL,
- defaultControls [6] ControlOptions OPTIONAL,
- mandatoryControls [7] ControlOptions OPTIONAL,
- searchRuleControls [8] ControlOptions OPTIONAL,
- familyGrouping [9] FamilyGrouping OPTIONAL,
- familyReturn [10] FamilyReturn OPTIONAL,
- relaxation [11] RelaxationPolicy OPTIONAL,
- additionalControl [12] SEQUENCE SIZE (1..MAX) OF AttributeType OPTIONAL,
- allowedSubset [13] AllowedSubset DEFAULT '111'B,
- imposedSubset [14] ImposedSubset OPTIONAL,
- entryLimit [15] EntryLimit OPTIONAL
-}
-
-SearchRuleId ::= SEQUENCE {id INTEGER,
- dmdId [0] OBJECT IDENTIFIER
-}
-
-AllowedSubset ::= BIT STRING {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-ImposedSubset ::= ENUMERATED {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-RequestAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- includeSubtypes [0] BOOLEAN DEFAULT FALSE,
- selectedValues
- [1] SEQUENCE SIZE (0..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}) OPTIONAL,
- defaultValues
- [2] SEQUENCE SIZE (0..MAX) OF
- SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values
- SEQUENCE OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType})
- } OPTIONAL,
- contexts [3] SEQUENCE SIZE (0..MAX) OF ContextProfile OPTIONAL,
- contextCombination [4] ContextCombination DEFAULT and:{},
- matchingUse [5] SEQUENCE SIZE (1..MAX) OF MatchingUse OPTIONAL
-}
-
-ContextProfile ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValue
- SEQUENCE SIZE (1..MAX) OF
- CONTEXT.&Assertion({SupportedContexts}{@contextType}) OPTIONAL
-}
-
-ContextCombination ::= CHOICE {
- context [0] CONTEXT.&id,
- and [1] SEQUENCE OF ContextCombination,
- or [2] SEQUENCE OF ContextCombination,
- not [3] ContextCombination
-}
-
-MatchingUse ::= SEQUENCE {
- restrictionType MATCHING-RESTRICTION.&id({SupportedMatchingRestrictions}),
- restrictionValue
- MATCHING-RESTRICTION.&Restriction
- ({SupportedMatchingRestrictions}{@restrictionType})
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the components of SupportedMatchingRestrictions
-SupportedMatchingRestrictions MATCHING-RESTRICTION ::=
- {...}
-
-AttributeCombination ::= CHOICE {
- attribute [0] AttributeType,
- and [1] SEQUENCE OF AttributeCombination,
- or [2] SEQUENCE OF AttributeCombination,
- not [3] AttributeCombination
-}
-
-ResultAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- outputValues
- CHOICE {selectedValues
- SEQUENCE SIZE (1..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}),
- matchedValuesOnly NULL} OPTIONAL,
- contexts [0] SEQUENCE SIZE (1..MAX) OF ContextProfile OPTIONAL
-}
-
-OutputValues ::= CHOICE {
- selectedValues
- SEQUENCE SIZE (1..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}),
- matchedValuesOnly NULL
-}
-
-ControlOptions ::= SEQUENCE {
- serviceControls [0] ServiceControlOptions DEFAULT {},
- searchOptions [1] SearchControlOptions DEFAULT {searchAliases},
- hierarchyOptions [2] HierarchySelections OPTIONAL
-}
-
-EntryLimit ::= SEQUENCE {default INTEGER,
- max INTEGER
-}
-
-RelaxationPolicy ::= SEQUENCE {
- basic [0] MRMapping DEFAULT {},
- tightenings [1] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- relaxations [2] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- maximum [3] INTEGER OPTIONAL, -- mandatory if tightenings is present
- minimum [4] INTEGER DEFAULT 1
-}
-
-MRMapping ::= SEQUENCE {
- mapping [0] SEQUENCE SIZE (1..MAX) OF Mapping OPTIONAL,
- substitution [1] SEQUENCE SIZE (1..MAX) OF MRSubstitution OPTIONAL
-}
-
-Mapping ::= SEQUENCE {
- mappingFunction
- OBJECT IDENTIFIER
- (CONSTRAINED BY {-- shall be an--
-
- -- object identifier of a mapping-based matching algorithm -- }),
- level INTEGER DEFAULT 0
-}
-
-MRSubstitution ::= SEQUENCE {
- attribute AttributeType,
- oldMatchingRule [0] MATCHING-RULE.&id OPTIONAL,
- newMatchingRule [1] MATCHING-RULE.&id OPTIONAL
-}
-
-SEARCH-RULE ::= CLASS {
- &dmdId OBJECT IDENTIFIER,
- &serviceType OBJECT IDENTIFIER OPTIONAL,
- &userClass INTEGER OPTIONAL,
- &InputAttributeTypes REQUEST-ATTRIBUTE OPTIONAL,
- &combination AttributeCombination OPTIONAL,
- &OutputAttributeTypes RESULT-ATTRIBUTE OPTIONAL,
- &defaultControls ControlOptions OPTIONAL,
- &mandatoryControls ControlOptions OPTIONAL,
- &searchRuleControls ControlOptions OPTIONAL,
- &familyGrouping FamilyGrouping OPTIONAL,
- &familyReturn FamilyReturn OPTIONAL,
- &additionalControl AttributeType OPTIONAL,
- &relaxation RelaxationPolicy OPTIONAL,
- &entryLimit EntryLimit OPTIONAL,
- &allowedSubset AllowedSubset DEFAULT '111'B,
- &imposedSubset ImposedSubset OPTIONAL,
- &id INTEGER UNIQUE
-}
-WITH SYNTAX {
- DMD ID &dmdId
- [SERVICE-TYPE &serviceType]
- [USER-CLASS &userClass]
- [INPUT ATTRIBUTES &InputAttributeTypes]
- [COMBINATION &combination]
- [OUTPUT ATTRIBUTES &OutputAttributeTypes]
- [DEFAULT CONTROL &defaultControls]
- [MANDATORY CONTROL &mandatoryControls]
- [SEARCH-RULE CONTROL &searchRuleControls]
- [FAMILY-GROUPING &familyGrouping]
- [FAMILY-RETURN &familyReturn]
- [ADDITIONAL CONTROL &additionalControl]
- [RELAXATION &relaxation]
- [ALLOWED SUBSET &allowedSubset]
- [IMPOSED SUBSET &imposedSubset]
- [ENTRY LIMIT &entryLimit]
- ID &id
-}
-
-REQUEST-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &SelectedValues ATTRIBUTE.&Type OPTIONAL,
- &DefaultValues SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values SEQUENCE OF ATTRIBUTE.&Type
- } OPTIONAL,
- &contexts SEQUENCE OF ContextProfile OPTIONAL,
- &contextCombination ContextCombination OPTIONAL,
- &MatchingUse MatchingUse OPTIONAL,
- &includeSubtypes BOOLEAN DEFAULT FALSE
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [SELECTED VALUES &SelectedValues]
- [DEFAULT VALUES &DefaultValues]
- [CONTEXTS &contexts]
- [CONTEXT COMBINATION &contextCombination]
- [MATCHING USE &MatchingUse]
- [INCLUDE SUBTYPES &includeSubtypes]
-}
-
-RESULT-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &outputValues OutputValues OPTIONAL,
- &contexts ContextProfile OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [OUTPUT VALUES &outputValues]
- [CONTEXTS &contexts]
-}
-
-MATCHING-RESTRICTION ::= CLASS {
- &Restriction ,
- &Rules MATCHING-RULE.&id,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {RESTRICTION &Restriction
- RULES &Rules
- ID &id
-}
-
--- object identifier assignments
--- object classes
-id-oc-top OBJECT IDENTIFIER ::=
- {id-oc 0}
-
-id-oc-alias OBJECT IDENTIFIER ::= {id-oc 1}
-
-id-oc-parent OBJECT IDENTIFIER ::= {id-oc 28}
-
-id-oc-child OBJECT IDENTIFIER ::= {id-oc 29}
-
--- attributes
-id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
-
-id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-
--- matching rules
-id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
-
-id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-
--- operational attributes
-id-oa-excludeAllCollectiveAttributes OBJECT IDENTIFIER ::=
- {id-oa 0}
-
-id-oa-createTimestamp OBJECT IDENTIFIER ::= {id-oa 1}
-
-id-oa-modifyTimestamp OBJECT IDENTIFIER ::= {id-oa 2}
-
-id-oa-creatorsName OBJECT IDENTIFIER ::= {id-oa 3}
-
-id-oa-modifiersName OBJECT IDENTIFIER ::= {id-oa 4}
-
-id-oa-administrativeRole OBJECT IDENTIFIER ::= {id-oa 5}
-
-id-oa-subtreeSpecification OBJECT IDENTIFIER ::= {id-oa 6}
-
-id-oa-collectiveExclusions OBJECT IDENTIFIER ::= {id-oa 7}
-
-id-oa-subschemaTimestamp OBJECT IDENTIFIER ::= {id-oa 8}
-
-id-oa-hasSubordinates OBJECT IDENTIFIER ::= {id-oa 9}
-
-id-oa-subschemaSubentryList OBJECT IDENTIFIER ::= {id-oa 10}
-
-id-oa-accessControlSubentryList OBJECT IDENTIFIER ::= {id-oa 11}
-
-id-oa-collectiveAttributeSubentryList OBJECT IDENTIFIER ::= {id-oa 12}
-
-id-oa-contextDefaultSubentryList OBJECT IDENTIFIER ::= {id-oa 13}
-
-id-oa-contextAssertionDefault OBJECT IDENTIFIER ::= {id-oa 14}
-
-id-oa-serviceAdminSubentryList OBJECT IDENTIFIER ::= {id-oa 15}
-
-id-oa-searchRules OBJECT IDENTIFIER ::= {id-oa 16}
-
-id-oa-hierarchyLevel OBJECT IDENTIFIER ::= {id-oa 17}
-
-id-oa-hierarchyBelow OBJECT IDENTIFIER ::= {id-oa 18}
-
-id-oa-hierarchyParent OBJECT IDENTIFIER ::= {id-oa 19}
-
--- subentry classes
-id-sc-subentry OBJECT IDENTIFIER ::= {id-sc 0}
-
-id-sc-accessControlSubentry OBJECT IDENTIFIER ::= {id-sc 1}
-
-id-sc-collectiveAttributeSubentry OBJECT IDENTIFIER ::= {id-sc 2}
-
-id-sc-contextAssertionSubentry OBJECT IDENTIFIER ::= {id-sc 3}
-
-id-sc-serviceAdminSubentry OBJECT IDENTIFIER ::= {id-sc 4}
-
--- Name forms
-id-nf-subentryNameForm OBJECT IDENTIFIER ::= {id-nf 16}
-
--- administrative roles
-id-ar-autonomousArea OBJECT IDENTIFIER ::= {id-ar 1}
-
-id-ar-accessControlSpecificArea OBJECT IDENTIFIER ::= {id-ar 2}
-
-id-ar-accessControlInnerArea OBJECT IDENTIFIER ::= {id-ar 3}
-
-id-ar-subschemaAdminSpecificArea OBJECT IDENTIFIER ::= {id-ar 4}
-
-id-ar-collectiveAttributeSpecificArea OBJECT IDENTIFIER ::= {id-ar 5}
-
-id-ar-collectiveAttributeInnerArea OBJECT IDENTIFIER ::= {id-ar 6}
-
-id-ar-contextDefaultSpecificArea OBJECT IDENTIFIER ::= {id-ar 7}
-
-id-ar-serviceSpecificArea OBJECT IDENTIFIER ::= {id-ar 8}
-
-END -- InformationFramework
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Interchange-Data-Elements.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Interchange-Data-Elements.asn
deleted file mode 100644
index 2c78360b7b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Interchange-Data-Elements.asn
+++ /dev/null
@@ -1,57 +0,0 @@
--- Module Interchange-Data-Elements (T.415:03/1993)
-
-Interchange-Data-Elements {2 8 1 5 5} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Interchange-Data-Element;
-
-IMPORTS
- Document-Profile-Descriptor
- FROM Document-Profile-Descriptor -- see 7.7
-
- Layout-Class-Descriptor, Layout-Object-Descriptor
- FROM Layout-Descriptors -- see 7.9
-
- Logical-Class-Descriptor, Logical-Object-Descriptor
- FROM Logical-Descriptors -- see 7.10
-
- Presentation-Style-Descriptor, Layout-Style-Descriptor
- FROM Style-Descriptors -- see 7.11
-
- Text-Unit
- FROM Text-Units -- see 7.13
-
- Sealed-Doc-Prof-Descriptor, Enciphered-Doc-Prof-Descriptor,
- Preenciphered-Bodypart-Descriptor, Postenciphered-Bodypart-Descriptor
- FROM Protected-Part-Descriptors -- see 7.15
-
- Link-Class-Descriptor, Link-Descriptor, Enciphered-Link-Descriptor
- FROM Link-Descriptors {2 8 1 14 3};
-
--- See ITU-T Rec. T.424 | ISO/IEC 8613-14
-Interchange-Data-Element ::= CHOICE {
- document-profile [0] IMPLICIT Document-Profile-Descriptor,
- layout-object-class [1] IMPLICIT Layout-Class-Descriptor,
- layout-object [2] IMPLICIT Layout-Object-Descriptor,
- content-portion [3] IMPLICIT Text-Unit,
- logical-object-class [5] IMPLICIT Logical-Class-Descriptor,
- logical-object [6] IMPLICIT Logical-Object-Descriptor,
- presentation-style
- [7] IMPLICIT Presentation-Style-Descriptor,
- layout-style [8] IMPLICIT Layout-Style-Descriptor,
- sealed-doc-prof-descriptor [9] IMPLICIT Sealed-Doc-Prof-Descriptor,
- enciphered-doc-prof-descriptor
- [10] IMPLICIT Enciphered-Doc-Prof-Descriptor,
- preenciphered-bodypart-descriptor
- [11] IMPLICIT Preenciphered-Bodypart-Descriptor,
- postenciphered-bodypart-descriptor
- [12] IMPLICIT Postenciphered-Bodypart-Descriptor,
- link-class [13] IMPLICIT Link-Class-Descriptor,
- link [14] IMPLICIT Link-Descriptor,
- enciphered-link-descriptor [15] IMPLICIT Enciphered-Link-Descriptor
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Layout-Descriptors.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Layout-Descriptors.asn
deleted file mode 100644
index 92c887bb06..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Layout-Descriptors.asn
+++ /dev/null
@@ -1,268 +0,0 @@
--- Module Layout-Descriptors (T.415:03/1993)
-
-Layout-Descriptors {2 8 1 5 8} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Layout-Object-Descriptor, Layout-Class-Descriptor, Layout-Object-Type,
- Transparency, Comment-String, Binding-Pair, One-Of-Four-Angles,
- Measure-Pair, Dimension-Pair, Medium-Type, Colour, Border,
- Content-Background-Colour, Content-Foreground-Colour, Enciphered,
- Sealed;
-
-IMPORTS
- Object-or-Class-Identifier, Style-Identifier, Protected-Part-Identifier,
- Category-Name, Resource-Name, Binding-Name, Construction-Expression,
- Object-Id-Expression, Numeric-Expression, String-Expression
- FROM Identifiers-and-Expressions -- see 7.8
-
- Presentation-Attributes
- FROM Style-Descriptors -- see 7.11
-
- Default-Value-Lists-Layout
- FROM Default-Value-Lists -- see 7.12
-
- Colour-Expression, Colour-Table
- FROM Colour-Attributes -- see 7.14
-
- Presentation-Time
- FROM Temporal-Relationships {2 8 1 14 0};
-
--- See ITU-T Rec. T.424 | ISO/IEC 8613-14
-Position-Spec ::= SET {
- offset
- [0] IMPLICIT SET {leading [0] IMPLICIT INTEGER OPTIONAL,
- trailing [1] IMPLICIT INTEGER OPTIONAL,
- left-hand [2] IMPLICIT INTEGER OPTIONAL,
- right-hand [3] IMPLICIT INTEGER OPTIONAL} OPTIONAL,
- separation
- [1] IMPLICIT SET {leading [0] IMPLICIT INTEGER OPTIONAL,
- trailing [1] IMPLICIT INTEGER OPTIONAL,
- centre [2] IMPLICIT INTEGER OPTIONAL} OPTIONAL,
- alignment
- [2] IMPLICIT INTEGER {right-hand(0), centred(1), left-hand(2)} OPTIONAL,
- fill-order [3] IMPLICIT INTEGER {normal(0), reverse(1)} OPTIONAL
-}
-
-Dimension-Pair ::= SEQUENCE {
- horizontal
- CHOICE {fixed [0] IMPLICIT INTEGER,
- not-present [4] IMPLICIT NULL},
- vertical
- CHOICE {fixed [0] IMPLICIT INTEGER,
- variable [1] IMPLICIT INTEGER,
- not-present [4] IMPLICIT NULL}
-}
-
--- the choice 'not-present' indicates that the parameter is not present
-Dimension-Spec ::= SEQUENCE {horizontal Dimension,
- vertical Dimension
-}
-
-Dimension ::= CHOICE {
- fixed [0] IMPLICIT INTEGER,
- rule-a
- [1] IMPLICIT SET {minimum [0] IMPLICIT INTEGER OPTIONAL,
- maximum [1] IMPLICIT INTEGER OPTIONAL},
- rule-b
- [2] IMPLICIT SET {minimum [0] IMPLICIT INTEGER OPTIONAL,
- maximum [1] IMPLICIT INTEGER OPTIONAL},
- maximum-size [3] IMPLICIT NULL,
- not-present [4] IMPLICIT NULL
-}
-
--- the choice 'not-present' indicates that the parameter is not present
-Transparency ::= INTEGER {transparent(0), opaque(1)}
-
-Comment-String ::= OCTET STRING
-
--- string of characters from the sets designated by
--- the document profile attribute "comments character sets",
--- plus code extension control functions,
--- space, carriage return and line feed
-Binding-Pair ::= SET {
- binding-identifier [0] IMPLICIT Binding-Name,
- binding-value
- CHOICE {a [1] Object-Id-Expression,
- b [2] Numeric-Expression,
- c [3] String-Expression,
- d [4] IMPLICIT Object-or-Class-Identifier,
- e [5] IMPLICIT INTEGER,
- f [6] IMPLICIT OCTET STRING}
-}
-
-One-Of-Four-Angles ::= INTEGER {d0(0), d90(1), d180(2), d270(3)}
-
-Measure-Pair ::= SEQUENCE {
- horizontal
- CHOICE {fixed [0] IMPLICIT INTEGER,
- not-present [4] IMPLICIT NULL},
- vertical
- CHOICE {fixed [0] IMPLICIT INTEGER,
- not-present [4] IMPLICIT NULL}
-}
-
--- the choice 'not-present' indicates that the parameter is not present
-Medium-Type ::= SEQUENCE {
- nominal-page-size Measure-Pair OPTIONAL,
- side-of-sheet INTEGER {unspecified(0), recto(1), verso(2)} OPTIONAL,
- colour-of-medium [3] Colour-Of-Medium OPTIONAL
-}
-
-Colour ::= INTEGER {colour-of-media(0), coloured(1)}
-
-Border ::= SET {
- left-hand-edge [0] IMPLICIT Border-Edge OPTIONAL,
- right-hand-edge [1] IMPLICIT Border-Edge OPTIONAL,
- trailing-edge [2] IMPLICIT Border-Edge OPTIONAL,
- leading-edge [3] IMPLICIT Border-Edge OPTIONAL
-}
-
-Border-Edge ::= SET {
- line-width [0] IMPLICIT INTEGER OPTIONAL,
- line-type
- [1] IMPLICIT INTEGER {invisible(0), solid(1), dashed(2), dot(3),
- dash-dot(4), dash-dot-dot(5)} OPTIONAL,
- freespace-width [2] IMPLICIT INTEGER OPTIONAL,
- border-line-colour [3] Border-Line-Colour OPTIONAL
-}
-
--- a 'null' border edge is represented by an empty set
-Colour-Of-Medium ::= CHOICE {
- unspecified-colour [3] IMPLICIT NULL,
- specified-colour Colour-Expression
-}
-
-Border-Line-Colour ::= CHOICE {
- implementation-defined [3] IMPLICIT NULL,
- colour-expression Colour-Expression
-}
-
-Content-Background-Colour ::= CHOICE {
- content-background-transparency [2] IMPLICIT NULL,
- colour-expression Colour-Expression
-}
-
-Content-Foreground-Colour ::= CHOICE {
- implementation-defined [3] IMPLICIT NULL,
- content-foreground-transparency [2] IMPLICIT NULL,
- colour-expression Colour-Expression
-}
-
-Enciphered ::= SEQUENCE {
- enciphered-subordinates
- CHOICE {none-all [0] IMPLICIT INTEGER {none(0), all(1)},
- partial [1] IMPLICIT SEQUENCE OF NumericString},
- protected-part-id [2] IMPLICIT Protected-Part-Identifier OPTIONAL
-}
-
-Sealed ::= SEQUENCE {
- sealed-status [0] IMPLICIT INTEGER {no(0), yes(1)},
- seal-ids [1] IMPLICIT SET OF INTEGER OPTIONAL
-}
-
-Layout-Object-Descriptor ::= SEQUENCE {
- object-type Layout-Object-Type OPTIONAL,
- descriptor-body Layout-Object-Descriptor-Body OPTIONAL
-}
-
-Layout-Object-Type ::= INTEGER {
- document-layout-root(0), page-set(1), page(2), frame(3), block(4)}
-
-Layout-Object-Descriptor-Body ::= SET {
- object-identifier Object-or-Class-Identifier OPTIONAL,
- subordinates [0] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- object-class
- [2] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- position [3] IMPLICIT Measure-Pair OPTIONAL,
- dimensions [4] IMPLICIT Dimension-Pair OPTIONAL,
- transparency [5] IMPLICIT Transparency OPTIONAL,
- presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL,
- default-value-lists
- [7] IMPLICIT Default-Value-Lists-Layout OPTIONAL,
- user-readable-comments [8] IMPLICIT Comment-String OPTIONAL,
- bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL,
- layout-path [11] IMPLICIT One-Of-Four-Angles OPTIONAL,
- imaging-order
- [12] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- layout-stream-categories [36] IMPLICIT SET OF Category-Name OPTIONAL,
- layout-stream-sub-categories [37] IMPLICIT SET OF Category-Name OPTIONAL,
- permitted-categories [13] IMPLICIT SET OF Category-Name OPTIONAL,
- -- a 'null' value is represented by an empty set
- user-visible-name [14] IMPLICIT Comment-String OPTIONAL,
- page-position [15] IMPLICIT Measure-Pair OPTIONAL,
- medium-type [16] IMPLICIT Medium-Type OPTIONAL,
- presentation-style [17] IMPLICIT Style-Identifier OPTIONAL,
- balance
- [21] IMPLICIT SEQUENCE OF Object-or-Class-Identifier OPTIONAL,
- -- a 'null' value is represented by an empty sequence
- colour [22] IMPLICIT Colour OPTIONAL,
- colour-of-layout-object [29] Colour-Expression OPTIONAL,
- object-colour-table [30] IMPLICIT Colour-Table OPTIONAL,
- content-background-colour [31] Content-Background-Colour OPTIONAL,
- content-foreground-colour [32] Content-Foreground-Colour OPTIONAL,
- content-colour-table [33] IMPLICIT Colour-Table OPTIONAL,
- border [23] IMPLICIT Border OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- primary
- [27] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- alternative
- [28] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- enciphered [34] IMPLICIT Enciphered OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- presentation-time [52] IMPLICIT Presentation-Time OPTIONAL
-}
-
-Layout-Class-Descriptor ::= SEQUENCE {
- object-type Layout-Object-Type,
- descriptor-body Layout-Class-Descriptor-Body
-}
-
-Layout-Class-Descriptor-Body ::= SET {
- object-class-identifier Object-or-Class-Identifier,
- generator-for-subordinates [0] Construction-Expression OPTIONAL,
- content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- position
- CHOICE {fixed-position [3] IMPLICIT Measure-Pair,
- variable-position [26] IMPLICIT Position-Spec} OPTIONAL,
- dimensions [4] IMPLICIT Dimension-Spec OPTIONAL,
- transparency [5] IMPLICIT Transparency OPTIONAL,
- presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL,
- default-value-lists
- [7] IMPLICIT Default-Value-Lists-Layout OPTIONAL,
- user-readable-comments [8] IMPLICIT Comment-String OPTIONAL,
- bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL,
- content-generator [10] IMPLICIT String-Expression OPTIONAL,
- layout-path [11] IMPLICIT One-Of-Four-Angles OPTIONAL,
- layout-stream-categories [36] IMPLICIT SET OF Category-Name OPTIONAL,
- layout-stream-sub-categories [37] IMPLICIT SET OF Category-Name OPTIONAL,
- permitted-categories [13] IMPLICIT SET OF Category-Name OPTIONAL,
- -- a 'null' value is represented by an empty set
- user-visible-name [14] IMPLICIT Comment-String OPTIONAL,
- page-position [15] IMPLICIT Measure-Pair OPTIONAL,
- medium-type [16] IMPLICIT Medium-Type OPTIONAL,
- presentation-style [17] IMPLICIT Style-Identifier OPTIONAL,
- logical-source
- [18] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- balance
- [21] IMPLICIT SEQUENCE OF Object-or-Class-Identifier OPTIONAL,
- -- a 'null' value is represented by an empty sequence
- colour [22] IMPLICIT Colour OPTIONAL,
- colour-of-layout-object [29] Colour-Expression OPTIONAL,
- object-colour-table [30] IMPLICIT Colour-Table OPTIONAL,
- content-background-colour [31] Content-Background-Colour OPTIONAL,
- content-foreground-colour [32] Content-Foreground-Colour OPTIONAL,
- content-colour-table [33] IMPLICIT Colour-Table OPTIONAL,
- border [23] IMPLICIT Border OPTIONAL,
- resource [24] IMPLICIT Resource-Name OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- enciphered [34] IMPLICIT Enciphered OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- presentation-time [52] IMPLICIT Presentation-Time OPTIONAL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Link-Descriptors.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Link-Descriptors.asn
deleted file mode 100644
index 64fc4436e4..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Link-Descriptors.asn
+++ /dev/null
@@ -1,80 +0,0 @@
--- Module Link-Descriptors (T.424:07/1996)
-
-Link-Descriptors {2 8 1 14 3} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Link-Class-Descriptor, Link-Descriptor, Link-or-Link-Class-Identifier,
- Enciphered-Link-Descriptor;
-
-IMPORTS
- Reference-Name
- FROM External-References {2 8 1 12 1}
- -- see ITU-T Rec. T.422 | ISO/IEC 8613-12
- Location-Expression
- FROM Location-Expressions {2 8 1 12 0}
- -- see ITU-T Rec. T.422 | ISO/IEC 8613-12
- Style-Identifier, Protected-Part-Identifier
- FROM Identifiers-and-Expressions {2 8 1 5 7}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Comment-String, Sealed
- FROM Layout-Descriptors {2 8 1 5 8}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Temporal-Relations, Presentation-Time
- FROM Temporal-Relationships;
-
--- see 7.5
-Link-or-Link-Class-Identifier ::= [APPLICATION 9] IMPLICIT PrintableString
-
--- only digits and space are used in the present version of this Recommendation | International Standard;
--- other characters are reserved for extensions
-Link-Class-Descriptor ::= SET {
- link-class-identifier Link-or-Link-Class-Identifier,
- link-roles [1] SEQUENCE OF Link-Role OPTIONAL,
- user-readable-comments [2] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [3] IMPLICIT Comment-String OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- temporal-relations [38] IMPLICIT Temporal-Relations OPTIONAL,
- presentation-time [39] IMPLICIT Presentation-Time OPTIONAL
-}
-
-Link-Descriptor ::= SET {
- link-identifier Link-or-Link-Class-Identifier,
- link-class [0] IMPLICIT Link-or-Link-Class-Identifier OPTIONAL,
- link-roles [1] SEQUENCE OF Link-Role OPTIONAL,
- user-readable-comments [2] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [3] IMPLICIT Comment-String OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- temporal-relations [38] IMPLICIT Temporal-Relations OPTIONAL,
- presentation-time [39] IMPLICIT Presentation-Time OPTIONAL
-}
-
-Link-Role ::= SET {
- link-ends SET OF Link-End,
- user-readable-comments [2] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [3] IMPLICIT Comment-String OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL
-}
-
-Link-End ::= SET {
- reference
- SET {reference-name [0] Reference-Name OPTIONAL,
- reference-qualifier [1] Location-Expression OPTIONAL},
- user-readable-comments [2] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [3] IMPLICIT Comment-String OPTIONAL,
- presentation-style [17] IMPLICIT Style-Identifier OPTIONAL,
- layout-style [19] IMPLICIT Style-Identifier OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL
-}
-
-Enciphered-Link-Descriptor ::= SEQUENCE {
- protected-part-identifier Protected-Part-Identifier,
- enciphered-information OCTET STRING
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Location-Expressions.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Location-Expressions.asn
deleted file mode 100644
index 5de6491621..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Location-Expressions.asn
+++ /dev/null
@@ -1,338 +0,0 @@
--- Module Location-Expressions (T.422:08/1995)
-
-Location-Expressions {2 8 1 12 0} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-EXPORTS Location-Expression, Basic-Location-Expression, Constituent-Locator;
-
-IMPORTS
- Object-or-Class-Identifier, Content-Portion-Identifier, Style-Identifier
- FROM Identifiers-and-Expressions {2 8 1 5 7}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Layout-Class-Descriptor, Layout-Object-Descriptor
- FROM Layout-Descriptors {2 8 1 5 8}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Logical-Class-Descriptor, Logical-Object-Descriptor
- FROM Logical-Descriptors {2 8 1 5 9}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Presentation-Style-Descriptor, Layout-Style-Descriptor
- FROM Style-Descriptors {2 8 1 5 10}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Text-Unit
- FROM Text-Units {2 8 1 5 12}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Subprofile-Descriptor, Subprofile-Identifier
- FROM Subprofiles {2 8 1 12 2}
- -- see 9.3
- Link-Class-Descriptor, Link-Descriptor, Link-or-Link-Class-Identifier
- FROM Link-Descriptors {2 8 1 14 3};
-
--- see ITU-T Rec. T.424 | ISO/IEC 8613-14
--- Location expression
-Location-Expression ::= CHOICE {
- basic [0] Basic-Location-Expression,
- composite [1] Composite-Location-Expression
-}
-
-Composite-Location-Expression ::= CHOICE {
- complement [0] Location-Expression,
- intersection [1] SEQUENCE OF Location-Expression,
- union [2] SEQUENCE OF Location-Expression
-}
-
-Basic-Location-Expression ::= CHOICE {
- region [0] Region-Locator,
- subtree [1] Subtree-Locator,
- constituent [2] Constituent-Locator
-}
-
-Region-Locator ::= SEQUENCE {
- start [0] Start-End-Object-Locator,
- end [1] Start-End-Object-Locator
-}
-
-Start-End-Object-Locator ::= SEQUENCE {
- object [0] Object-Locator,
- not-included [1] BOOLEAN DEFAULT TRUE
-}
-
-Subtree-Locator ::= Object-Locator
-
-Constituent-Locator ::= CHOICE {
- documentProfile [0] NULL,
- subprofile [1] Subprofile-Locator,
- component [2] Component-Locator,
- contentPortion [3] Content-Portion-Locator,
- style [4] Style-Locator,
- link-or-link-class [5] Link-or-Link-Class-Locator,
- constituent-of-type [6] Constituent-Type
-}
-
-Constituent-Type ::= ENUMERATED {
- layout-object-class(1), layout-object(2), content-portion(3),
- logical-object-class(5), logical-object(6), presentation-style(7),
- layout-style(8), sealed-doc-prof-descriptor(9),
- enciphered-doc-prof-descriptor(10), preenciphered-bodypart-descriptor(11),
- postenciphered-bodypart-descriptor(12), link-class(13), link(14),
- enciphered-link-descriptor(15), subprofile(16)}
-
--- Subprofile
-Subprofile-Locator ::= CHOICE {
- subprofile [0] Subprofile-Identifier,
- subprofile-of [1] Subprofile-of-argument,
- subprofile-with [2] Subprofile-with-argument
-}
-
-Subprofile-of-argument ::= Constituent-Locator
-
-Subprofile-with-argument ::=
- AttributeValue-Subprofile-Specification -- The "attribute" and "value"
-
--- arguments are grouped together
--- Component locator
-Component-Locator ::= CHOICE {
- objectClass [0] Object-Class-Locator,
- object [1] Object-Locator
-}
-
-Object-Class-Locator ::= CHOICE {
- objectClass [0] Object-or-Class-Identifier,
- object-class-of [1] Object-Class-of-argument,
- object-class-with [2] Object-Class-with-argument
-}
-
-Object-Class-of-argument ::= Object-Locator
-
-Object-Class-with-argument ::= SEQUENCE {
- attributeValueObject [0] AttributeValue-Class-Specification, -- The "attribute" and "value"
-
- -- arguments are grouped together
- defaulting [1] BOOLEAN DEFAULT FALSE
-}
-
--- Object locator
-Object-Locator ::= CHOICE {
- object [0] Object-or-Class-Identifier,
- subord [1] Subord-argument,
- object-with [2] Object-with-argument
-}
-
-Subord-argument ::= SEQUENCE {
- object [0] Object-Locator,
- counters [1] CountersType OPTIONAL
-}
-
-Object-with-argument ::= SEQUENCE {
- attributeValueObject [0] AttributeValue-Object-Specification, -- The "attribute" and "value"
-
- -- arguments are grouped together
- object [1] Object-Locator OPTIONAL,
- counters [2] CountersType OPTIONAL,
- not-defaulting [3] BOOLEAN DEFAULT FALSE
-}
-
--- Links
-Link-or-Link-Class-Locator ::= CHOICE {
- linkClass [0] Link-Class-Locator,
- link [1] Link-Locator
-}
-
-Link-Class-Locator ::= CHOICE {
- link [0] Link-or-Link-Class-Identifier,
- link-class-of [1] Link-Class-of-argument,
- link-class-with [2] Link-Class-with-arguments
-}
-
-Link-Class-of-argument ::= Link-Locator
-
-Link-Class-with-arguments ::=
- AttributeValue-Link-Class-Specification -- The "attribute" and "value"
-
--- arguments are grouped together
-Link-Locator ::= CHOICE {
- link [0] Link-or-Link-Class-Identifier,
- link-with [1] Link-with-arguments
-}
-
-Link-with-arguments ::= SEQUENCE {
- attributeValueLink [0] AttributeValue-Link-Specification, -- The "attribute" and "value"
-
- -- arguments are grouped together
- not-defaulting [1] BOOLEAN DEFAULT FALSE
-}
-
--- Content portion locator
-Content-Portion-Locator ::= CHOICE {
- contentPortion [0] Content-Portion-Identifier,
- assoc [1] Assoc-argument,
- content-with [2] Content-with-argument
-}
-
-Assoc-argument ::= SEQUENCE {
- component [0] Component-Locator,
- counters [1] CountersType OPTIONAL
-}
-
-Content-with-argument ::= SEQUENCE {
- attributeValueContent [0] AttributeValue-Content-Specification, -- The "attribute" and "value"
-
- -- arguments are grouped together
- component [1] Component-Locator OPTIONAL,
- counters [2] CountersType OPTIONAL,
- not-defaulting [3] BOOLEAN DEFAULT FALSE
-}
-
--- Styles
-Style-Locator ::= CHOICE {
- style [0] Style-Identifier,
- layout-style-of [1] Layout-Style-of-argument,
- presentation-style-of [2] Presentation-Style-of-argument,
- layout-style-with [3] Layout-Style-with-argument,
- presentation-style-with [4] Presentation-Style-with-argument
-}
-
-Layout-Style-of-argument ::= Component-Locator
-
-Presentation-Style-of-argument ::= Component-Locator
-
-Layout-Style-with-argument ::= SEQUENCE {
- attributeValueLayoutStyle [0] AttributeValue-LayoutStyle-Specification, -- The "attribute" and
-
- -- "value" arguments are grouped together
- not-defaulting [1] BOOLEAN DEFAULT FALSE
-}
-
-Presentation-Style-with-argument ::= SEQUENCE {
- attributeValuePresentationStyle
- [0] AttributeValue-PresentationStyle-Specification,
- -- The "attribute" and
- -- "value" arguments are grouped together
- not-defaulting [1] BOOLEAN DEFAULT FALSE
-}
-
--- Counters
-CountersType ::= SEQUENCE {
- start [0] INTEGER OPTIONAL,
- end [1] INTEGER OPTIONAL
-}
-
--- Attribute-Value specifications
--- Classes
-AttributeValue-Class-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Class-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Class-Specification OPTIONAL,
- end
- [1] Simple-AttributeValue-Class-Specification OPTIONAL
- }
-}
-
-Simple-AttributeValue-Class-Specification ::= CHOICE {
- layout [0] Layout-Class-Descriptor,
- logical [1] Logical-Class-Descriptor
-}
-
--- Objects
-AttributeValue-Object-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Object-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Object-Specification OPTIONAL,
- end
- [1] Simple-AttributeValue-Object-Specification OPTIONAL
- }
-}
-
-Simple-AttributeValue-Object-Specification ::= CHOICE {
- layout [0] Layout-Object-Descriptor,
- logical [1] Logical-Object-Descriptor
-}
-
--- Link classes
-AttributeValue-Link-Class-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Link-Class-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Link-Class-Specification
- OPTIONAL,
- end
- [1] Simple-AttributeValue-Link-Class-Specification
- OPTIONAL}
-}
-
-Simple-AttributeValue-Link-Class-Specification ::= Link-Class-Descriptor
-
--- Links
-AttributeValue-Link-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Link-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Link-Specification OPTIONAL,
- end
- [1] Simple-AttributeValue-Link-Specification OPTIONAL
- }
-}
-
-Simple-AttributeValue-Link-Specification ::= Link-Descriptor
-
--- Contents
-AttributeValue-Content-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Content-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Content-Specification OPTIONAL,
- end
- [1] Simple-AttributeValue-Content-Specification OPTIONAL
- }
-}
-
-Simple-AttributeValue-Content-Specification ::= Text-Unit
-
--- Layout Styles
-AttributeValue-LayoutStyle-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-LayoutStyle-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-LayoutStyle-Specification
- OPTIONAL,
- end
- [1] Simple-AttributeValue-LayoutStyle-Specification
- OPTIONAL}
-}
-
-Simple-AttributeValue-LayoutStyle-Specification ::= Layout-Style-Descriptor
-
--- Presentation Styles
-AttributeValue-PresentationStyle-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-PresentationStyle-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-PresentationStyle-Specification
- OPTIONAL,
- end
- [1] Simple-AttributeValue-PresentationStyle-Specification
- OPTIONAL}
-}
-
-Simple-AttributeValue-PresentationStyle-Specification ::=
- Presentation-Style-Descriptor
-
--- Subprofiles
-AttributeValue-Subprofile-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Subprofile-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Subprofile-Specification
- OPTIONAL,
- end
- [1] Simple-AttributeValue-Subprofile-Specification
- OPTIONAL}
-}
-
-Simple-AttributeValue-Subprofile-Specification ::= Subprofile-Descriptor
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Logical-Descriptors.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Logical-Descriptors.asn
deleted file mode 100644
index fab36bf12a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Logical-Descriptors.asn
+++ /dev/null
@@ -1,95 +0,0 @@
--- Module Logical-Descriptors (T.415:03/1993)
-
-Logical-Descriptors {2 8 1 5 9} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Logical-Object-Descriptor, Logical-Class-Descriptor, Logical-Object-Type,
- Protection;
-
-IMPORTS
- Object-or-Class-Identifier, Style-Identifier, Resource-Name,
- Construction-Expression, String-Expression
- FROM Identifiers-and-Expressions -- see 7.8
-
- Comment-String, Binding-Pair, Enciphered, Sealed
- FROM Layout-Descriptors -- see 7.9
-
- Presentation-Attributes
- FROM Style-Descriptors -- see 7.11
-
- Default-Value-Lists-Logical
- FROM Default-Value-Lists -- see 7.12
-
- Temporal-Relations
- FROM Temporal-Relationships {2 8 1 14 0};
-
--- See ITU-T Rec. T.424 | ISO/IEC 8613-14
-Logical-Object-Descriptor ::= SEQUENCE {
- object-type Logical-Object-Type OPTIONAL,
- descriptor-body Logical-Object-Descriptor-Body OPTIONAL
-}
-
-Logical-Object-Type ::= INTEGER {
- document-logical-root(0), composite-logical-object(1),
- basic-logical-object(2)}
-
-Logical-Object-Descriptor-Body ::= SET {
- object-identifier Object-or-Class-Identifier OPTIONAL,
- subordinates [0] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- object-class [2] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL,
- -- only for use for the attribute content-architecture-class;
- -- the content architecture specific attributes can only be referenced by
- -- use of presentation style
- default-value-lists [7] IMPLICIT Default-Value-Lists-Logical OPTIONAL,
- user-readable-comments [8] IMPLICIT Comment-String OPTIONAL,
- bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL,
- content-generator [10] IMPLICIT String-Expression OPTIONAL,
- user-visible-name [14] IMPLICIT Comment-String OPTIONAL,
- presentation-style [17] IMPLICIT Style-Identifier OPTIONAL,
- layout-style [19] IMPLICIT Style-Identifier OPTIONAL,
- protection [20] IMPLICIT Protection OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- primary [27] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- alternative [28] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- enciphered [34] IMPLICIT Enciphered OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- temporal-relations [36] IMPLICIT Temporal-Relations OPTIONAL
-}
-
-Logical-Class-Descriptor ::= SEQUENCE {
- object-type Logical-Object-Type,
- descriptor-body Logical-Class-Descriptor-Body
-}
-
-Logical-Class-Descriptor-Body ::= SET {
- object-class-identifier Object-or-Class-Identifier,
- generator-for-subordinates [0] Construction-Expression OPTIONAL,
- content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL,
- -- only for use for the attribute content-architecture-class;
- -- the content architecture specific attributes can only be referenced by
- -- use of presentation style
- default-value-lists [7] IMPLICIT Default-Value-Lists-Logical OPTIONAL,
- user-readable-comments [8] IMPLICIT Comment-String OPTIONAL,
- bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL,
- content-generator [10] IMPLICIT String-Expression OPTIONAL,
- user-visible-name [14] IMPLICIT Comment-String OPTIONAL,
- presentation-style [17] IMPLICIT Style-Identifier OPTIONAL,
- layout-style [19] IMPLICIT Style-Identifier OPTIONAL,
- protection [20] IMPLICIT Protection OPTIONAL,
- resource [24] IMPLICIT Resource-Name OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- enciphered [34] IMPLICIT Enciphered OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- temporal-relations [36] IMPLICIT Temporal-Relations OPTIONAL
-}
-
-Protection ::= INTEGER {unprotected(0), protected(1)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MHSObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MHSObjectIdentifiers.asn
deleted file mode 100644
index 187c3c8ad4..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MHSObjectIdentifiers.asn
+++ /dev/null
@@ -1,187 +0,0 @@
--- Module MHSObjectIdentifiers (X.402:06/1999)
-MHSObjectIdentifiers {joint-iso-itu-t mhs(6) arch(5) modules(0)
- object-identifiers(0) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS -- nothing -- ;
-
-ID ::= OBJECT IDENTIFIER
-
--- MHS Aspects
-id-mhs-protocols ID ::= {joint-iso-itu-t mhs(6) protocols(0)}
-
--- MHS Application Contexts and Protocols
--- See ITU-T Rec. X.419 | ISO/IEC 10021-6.
-id-ipms ID ::=
- {joint-iso-itu-t mhs(6) ipms(1)}
-
--- Interpersonal Messaging
--- See ITU-T Rec. X.420 | ISO/IEC 10021-7.
--- Value {joint-iso-itu-t mhs(6) 2} is no longer defined
-id-mts ID ::=
- {joint-iso-itu-t mhs(6) mts(3)}
-
--- Message Transfer System
--- See ITU-T Rec. X.411 | ISO/IEC 10021-4.
-id-ms ID ::=
- {joint-iso-itu-t mhs(6) ms(4)}
-
--- Message Store
--- See ITU-T Rec. X.413 | ISO/IEC 10021-5.
-id-arch ID ::=
- {joint-iso-itu-t mhs(6) arch(5)}
-
--- Overall Architecture
--- See this Specification.
-id-group ID ::=
- {joint-iso-itu-t mhs(6) group(6)}
-
--- Reserved.
-id-edims ID ::= {joint-iso-itu-t mhs(6) edims(7)}
-
--- EDI Messaging
--- See ITU-T Rec. X.435 | ISO/IEC 10021-9.
-id-management ID ::=
- {joint-iso-itu-t mhs(6) management(9)}
-
--- MHS Management
--- See ITU-T Recs. X.460 - X.467 | ISO/IEC 11588.
-id-routing ID ::=
- {joint-iso-itu-t mhs(6) routing(10)}
-
--- MHS Routing
--- See ITU-T Rec. X.412 | ISO/IEC 10021-10.
--- Categories
-id-mod ID ::=
- {id-arch 0} -- modules; not definitive
-
-id-oc ID ::= {id-arch 1} -- object classes
-
-id-at ID ::= {id-arch 2} -- attribute types
-
--- Value {id-arch 3} is no longer defined
-id-mr ID ::=
- {id-arch 4} -- matching rules
-
-id-con ID ::= {id-arch 5} -- contexts
-
-id-san ID ::= {id-arch 6} -- certificate subject alternative names
-
--- Modules
-id-object-identifiers ID ::= {id-mod 0} -- not definitive
-
-id-directory-objects-and-attributes ID ::= {id-mod 1} -- not definitive
-
--- Object classes
-id-oc-mhs-distribution-list ID ::= {id-oc 0}
-
-id-oc-mhs-message-store ID ::= {id-oc 1}
-
-id-oc-mhs-message-transfer-agent ID ::= {id-oc 2}
-
-id-oc-mhs-user ID ::= {id-oc 3}
-
-id-oc-mhs-user-agent ID ::= {id-oc 4}
-
--- Attributes
-id-at-mhs-maximum-content-length ID ::= {id-at 0}
-
-id-at-mhs-deliverable-content-types ID ::= {id-at 1}
-
-id-at-mhs-exclusively-acceptable-eits ID ::= {id-at 2}
-
-id-at-mhs-dl-members ID ::= {id-at 3}
-
-id-at-mhs-dl-submit-permissions ID ::= {id-at 4}
-
-id-at-mhs-message-store-dn ID ::= {id-at 5}
-
-id-at-mhs-or-addresses ID ::= {id-at 6}
-
--- Value {id-at 7} is no longer defined
-id-at-mhs-supported-automatic-actions ID ::=
- {id-at 8}
-
-id-at-mhs-supported-content-types ID ::= {id-at 9}
-
-id-at-mhs-supported-attributes ID ::= {id-at 10}
-
-id-at-mhs-supported-matching-rules ID ::= {id-at 11}
-
-id-at-mhs-dl-archive-service ID ::= {id-at 12}
-
-id-at-mhs-dl-policy ID ::= {id-at 13}
-
-id-at-mhs-dl-related-lists ID ::= {id-at 14}
-
-id-at-mhs-dl-subscription-service ID ::= {id-at 15}
-
-id-at-mhs-or-addresses-with-capabilities ID ::= {id-at 16}
-
-id-at-mhs-acceptable-eits ID ::= {id-at 17}
-
-id-at-mhs-unacceptable-eits ID ::= {id-at 18}
-
-id-at-mhs-deliverable-classes ID ::= {id-at 19}
-
-id-at-encrypted-mhs-maximum-content-length ID ::= {id-at 0 2}
-
-id-at-encrypted-mhs-deliverable-content-types ID ::= {id-at 1 2}
-
-id-at-encrypted-mhs-exclusively-acceptable-eits ID ::= {id-at 2 2}
-
-id-at-encrypted-mhs-dl-members ID ::= {id-at 3 2}
-
-id-at-encrypted-mhs-dl-submit-permissions ID ::= {id-at 4 2}
-
-id-at-encrypted-mhs-message-store-dn ID ::= {id-at 5 2}
-
-id-at-encrypted-mhs-or-addresses ID ::= {id-at 6 2}
-
-id-at-encrypted-mhs-supported-automatic-actions ID ::= {id-at 8 2}
-
-id-at-encrypted-mhs-supported-content-types ID ::= {id-at 9 2}
-
-id-at-encrypted-mhs-supported-attributes ID ::= {id-at 10 2}
-
-id-at-encrypted-mhs-supported-matching-rules ID ::= {id-at 11 2}
-
-id-at-encrypted-mhs-dl-archive-service ID ::= {id-at 12 2}
-
-id-at-encrypted-mhs-dl-policy ID ::= {id-at 13 2}
-
-id-at-encrypted-mhs-dl-related-lists ID ::= {id-at 14 2}
-
-id-at-encrypted-mhs-dl-subscription-service ID ::= {id-at 15 2}
-
-id-at-encrypted-mhs-or-addresses-with-capabilities ID ::= {id-at 16 2}
-
-id-at-encrypted-mhs-acceptable-eits ID ::= {id-at 17 2}
-
-id-at-encrypted-mhs-unacceptable-eits ID ::= {id-at 18 2}
-
-id-at-encrypted-mhs-deliverable-classes ID ::= {id-at 19 2}
-
--- Matching Rules
-id-mr-orname-exact-match ID ::= {id-mr 0}
-
-id-mr-address-capabilities-match ID ::= {id-mr 1}
-
-id-mr-capability-match ID ::= {id-mr 2}
-
--- Contexts
-id-con-dl-administrator-annotation ID ::= {id-con 0}
-
-id-con-dl-nested-dl ID ::= {id-con 1}
-
-id-con-dl-reset-originator ID ::= {id-con 2}
-
--- Certificate subject alternative names
-id-san-mta-name ID ::= {id-san 0}
-
-END -- of MHSObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MHSProtocolObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MHSProtocolObjectIdentifiers.asn
deleted file mode 100644
index 40f53b9458..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MHSProtocolObjectIdentifiers.asn
+++ /dev/null
@@ -1,112 +0,0 @@
--- Module MHSProtocolObjectIdentifiers (X.419:06/1999)
-
-MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- object-identifiers(0) version-1994(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports Everything
-IMPORTS -- nothing -- ;
-
-ID ::= OBJECT IDENTIFIER
-
--- MHS Protocols
-id-mhs-protocols ID ::=
- {joint-iso-itu-t mhs(6) protocols(0)} -- not definitive
-
--- Categories of Object Identifiers
-id-mod ID ::=
- {id-mhs-protocols 0} -- modules
-
-id-ac ID ::= {id-mhs-protocols 1} -- application contexts
-
-id-as ID ::= {id-mhs-protocols 2} -- abstract syntaxes
-
-id-ase ID ::= {id-mhs-protocols 3} -- application service elements (obsolete)
-
--- Modules
-id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive
-
-id-mod-mts-access-protocol ID ::= {id-mod 1} -- not definitive
-
-id-mod-ms-access-protocol ID ::= {id-mod 2} -- not definitive
-
-id-mod-mts-transfer-protocol ID ::= {id-mod 3} -- not definitive
-
--- Application Contexts
--- MTS Access Protocol
-id-ac-mts-access-88 ID ::=
- {id-ac 0}
-
-id-ac-mts-forced-access-88 ID ::= {id-ac 1}
-
-id-ac-mts-reliable-access-88 ID ::= {id-ac 2}
-
-id-ac-mts-forced-reliable-access-88 ID ::= {id-ac 3}
-
-id-ac-mts-access-94 ID ::= {id-ac 7}
-
-id-ac-mts-forced-access-94 ID ::= {id-ac 8}
-
-id-ac-mts-reliable-access-94 ID ::= {id-ac 9}
-
-id-ac-mts-forced-reliable-access-94 ID ::= {id-ac 10}
-
--- MS Access Protocol
-id-ac-ms-access-88 ID ::= {id-ac 4}
-
-id-ac-ms-reliable-access-88 ID ::= {id-ac 5}
-
-id-ac-ms-access-94 ID ::= {id-ac 11}
-
-id-ac-ms-reliable-access-94 ID ::= {id-ac 12}
-
--- MTS Transfer Protocol
-id-ac-mts-transfer ID ::= {id-ac 6}
-
--- Abstract Syntaxes
-id-as-msse ID ::= {id-as 1}
-
-id-as-mdse-88 ID ::= {id-as 2}
-
-id-as-mrse-88 ID ::= {id-as 5}
-
-id-as-mase-88 ID ::= {id-as 6}
-
-id-as-mtse ID ::= {id-as 7}
-
-id-as-mts-rtse ID ::= {id-as 8}
-
-id-as-ms-88 ID ::= {id-as 9}
-
-id-as-ms-rtse ID ::= {id-as 10}
-
-id-as-mts ID ::= {id-as 11}
-
-id-as-mta-rtse ID ::= {id-as 12}
-
-id-as-ms-msse ID ::= {id-as 13}
-
-id-as-mdse-94 ID ::= {id-as 14}
-
-id-as-mrse-94 ID ::= {id-as 15}
-
-id-as-mase-94 ID ::= {id-as 16}
-
-id-as-ms-94 ID ::= {id-as 17}
-
--- Application Service Elements
-id-ase-msse ID ::= {id-ase 0}
-
-id-ase-mdse ID ::= {id-ase 1}
-
-id-ase-mrse ID ::= {id-ase 2}
-
-id-ase-mase ID ::= {id-ase 3}
-
-id-ase-mtse ID ::= {id-ase 4}
-
-END --of MHSProtocolObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSAbstractService.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MSAbstractService.asn
deleted file mode 100644
index 052b3b2041..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSAbstractService.asn
+++ /dev/null
@@ -1,1085 +0,0 @@
--- Module MSAbstractService (X.413:06/1999)
-MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) abstract-service(1)
- version-1999(1)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- MTS information object classes
- operationObject1, ABSTRACT-ERROR, ABSTRACT-OPERATION, EXTENSION, MHS-OBJECT,
- PORT,
- -- MTS objects and ports
- administration, delivery, mts-user,
- submission,
- -- MTS abstract-operations and abstract-errors
- cancel-deferred-delivery, element-of-service-not-subscribed,
- inconsistent-request, new-credentials-unacceptable,
- old-credentials-incorrectly-specified, originator-invalid,
- recipient-improperly-specified, remote-bind-error, security-error,
- submission-control, submission-control-violated,
- unsupported-critical-function,
- -- MTS abstract-service data-types
- CertificateSelectors, Credentials, InitiatorCredentials,
- MessageSubmissionArgument, MessageSubmissionResult, MessageToken,
- ORAddressAndOrDirectoryName, ProbeSubmissionArgument,
- ProbeSubmissionResult, ResponderCredentials, SecurityContext, SecurityLabel
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- MTS abstract-service 1988 ports
- administration-88
- --==
- FROM MTSAbstractService88 {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1988(1988)}
- -- MTS abstract-service upper bounds
- ub-content-types, ub-encoded-information-types, ub-labels-and-redirections
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)}
- -- MS X413ATTRIBUTE table
- AttributeTable
- --==
- FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-attribute-types(2) version-1999(1)}
- -- MS matching rule table
- MatchingRuleTable
- --==
- FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-matching-rules(5) version-1999(1)}
- -- MS auto-action-table and auto-action-error table
- AutoActionTable, AutoActionErrorTable
- --==
- FROM MSGeneralAutoActionTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-auto-action-types(3) version-1994(0)}
- -- MS object-identifiers
- id-cp-ms-connection, id-crt-ms-access-88, id-crt-ms-access-94,
- id-ext-modify-capability, id-ext-modify-retrieval-status-capability,
- id-ext-originator-token, id-ext-originator-certificate-selectors-override,
- id-ext-protected-change-credentials,
- id-ext-protected-change-credentials-capability, id-ot-ms, id-ot-ms-user,
- id-pt-retrieval-88, id-pt-retrieval-94, id-pt-ms-submission
- --==
- FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MS Access abstract-operation and error codes
- err-attribute-error, err-auto-action-request-error, err-ms-extension-error,
- err-delete-error, err-entry-class-error, err-fetch-restriction-error,
- err-invalid-parameters-error, err-message-group-error, err-modify-error,
- err-range-error, err-security-error, err-sequence-number-error,
- err-service-error, err-register-ms-error, op-alert, op-delete, op-fetch,
- op-list, op-modify, op-ms-message-submission, op-ms-probe-submission,
- op-register-ms, op-summarize
- --==
- FROM MSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- ms-access-protocol(2) version-1999(1)}
- -- MS abstract-service upper bounds
- ub-attributes-supported, ub-attribute-values, ub-auto-action-errors,
- ub-auto-actions, ub-auto-registrations, ub-default-registrations,
- ub-entry-classes, ub-error-reasons, ub-extensions, ub-group-depth,
- ub-group-descriptor-length, ub-group-part-length, ub-matching-rules,
- ub-message-groups, ub-messages, ub-modifications, ub-per-entry,
- ub-per-auto-action, ub-service-information-length, ub-summaries,
- ub-supplementary-info-length, ub-ua-registration-identifier-length,
- ub-ua-registrations, ub-restrictions
- --==
- FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)}
- -- MATCHING-RULE information object class
- MATCHING-RULE
- --==
- FROM InformationFramework
-
- -- Remote Operations
- CONTRACT, CONNECTION-PACKAGE
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)};
-
--- MS Abstract Objects
-ms MHS-OBJECT ::= {
- IS {mts-user}
- RESPONDS {ms-access-contract-88 | ms-access-contract-94}
- ID id-ot-ms
-}
-
-ms-user MHS-OBJECT ::= {
- INITIATES {ms-access-contract-88 | ms-access-contract-94}
- ID id-ot-ms-user
-}
-
--- Contracts
-ms-access-contract-94 CONTRACT ::= {
- CONNECTION ms-connect
- INITIATOR CONSUMER OF {retrieval | ms-submission | administration}
- ID id-crt-ms-access-94
-}
-
-ms-access-contract-88 CONTRACT ::= {
- CONNECTION ms-connect -- with all 1994 extensions omitted
- INITIATOR CONSUMER OF {retrieval-88 | submission | administration-88}
- ID id-crt-ms-access-88
-}
-
--- Connection-package
-ms-connect CONNECTION-PACKAGE ::= {
- BIND ms-bind
- UNBIND ms-unbind
- ID id-cp-ms-connection
-}
-
--- MS Ports
-retrieval PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES
- {summarize | list | fetch | delete | register-MS,
- ... -- 1994 extension addition --, modify}
- SUPPLIER INVOKES {alert}
- ID id-pt-retrieval-94
-}
-
-retrieval-88 PORT ::= {
- -- With all 1994 extensions to the abstract-operations absent
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES {summarize | list | fetch | delete | register-MS}
- SUPPLIER INVOKES {alert}
- ID id-pt-retrieval-88
-}
-
-ms-submission PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES
- {ms-message-submission | ms-probe-submission | ms-cancel-deferred-delivery}
- SUPPLIER INVOKES {ms-submission-control}
- ID id-pt-ms-submission
-}
-
--- X413ATTRIBUTE information object class
-X413ATTRIBUTE ::= CLASS {
- &id AttributeType UNIQUE,
- &Type ,
- &equalityMatch MATCHING-RULE OPTIONAL,
- &substringsMatch MATCHING-RULE OPTIONAL,
- &orderingMatch MATCHING-RULE OPTIONAL,
- &numeration ENUMERATED {single-valued(0), multi-valued(1)},
- -- 1994 extension
- &OtherMatches MATCHING-RULE OPTIONAL
-}
-WITH SYNTAX {
- WITH ATTRIBUTE-SYNTAX &Type,
- [EQUALITY MATCHING-RULE &equalityMatch,]
- [SUBSTRINGS MATCHING-RULE &substringsMatch,]
- [ORDERING MATCHING-RULE &orderingMatch,]
- [OTHER MATCHING-RULES &OtherMatches,]
- NUMERATION &numeration,
- ID &id
-}
-
-Attribute ::= SEQUENCE {
- attribute-type X413ATTRIBUTE.&id({AttributeTable}),
- attribute-values
- SEQUENCE SIZE (1..ub-attribute-values) OF
- X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
-}
-
-AttributeType ::= OBJECT IDENTIFIER
-
--- AUTO-ACTION information object class
-AUTO-ACTION ::= CLASS {
- &id AutoActionType UNIQUE,
- &RegistrationParameter OPTIONAL,
- &Errors AUTO-ACTION-ERROR OPTIONAL
-}
-WITH SYNTAX {
- [REGISTRATION PARAMETER IS &RegistrationParameter]
- [ERRORS &Errors]
- IDENTIFIED BY &id
-}
-
-AutoActionType ::= OBJECT IDENTIFIER
-
-AutoActionRegistration ::= SEQUENCE {
- auto-action-type AUTO-ACTION.&id({AutoActionTable}),
- registration-identifier [0] INTEGER(1..ub-per-auto-action) DEFAULT 1,
- registration-parameter
- [1] AUTO-ACTION.&RegistrationParameter
- ({AutoActionTable}{@auto-action-type}) OPTIONAL
-}
-
--- AUTO-ACTION-ERROR information object class
-AUTO-ACTION-ERROR ::=
- ABSTRACT-ERROR
-
-AutoActionError ::= SET {
- error-code [0] AUTO-ACTION-ERROR.&errorCode({AutoActionErrorTable}),
- error-parameter
- [1] AUTO-ACTION-ERROR.&ParameterType({AutoActionErrorTable}{@error-code})
- OPTIONAL
-}
-
--- MS-EXTENSION information object class
-MS-EXTENSION ::= TYPE-IDENTIFIER
-
-MSExtensionItem ::= INSTANCE OF MS-EXTENSION
-
-MSExtensions ::= SEQUENCE SIZE (1..ub-extensions) OF MSExtensionItem
-
--- Common data-types related to the information model
-EntryClass ::= INTEGER {
- delivery(0),
- -- 1994 extensions
- submission(1), draft(2), stored-message(3), delivery-log(4),
- submission-log(5), message-log(6), auto-action-log(7)}(0..ub-entry-classes)
-
-EntryType ::= INTEGER {
- delivered-message(0), delivered-report(1),
- returned-content(2),
- -- 1994 extensions
- submitted-message(3), submitted-probe(4), draft-message(5),
- auto-action-event(6)}
-
-SequenceNumber ::= INTEGER(0..ub-messages)
-
-RetrievalStatus ::= INTEGER {new(0), listed(1), processed(2)}
-
-MessageGroupName ::= SEQUENCE SIZE (1..ub-group-depth) OF GroupNamePart
-
-GroupNamePart ::= GeneralString(SIZE (1..ub-group-part-length))
-
--- MS-bind abstract-operation
-ms-bind ABSTRACT-OPERATION ::= {
- ARGUMENT MSBindArgument
- RESULT MSBindResult
- ERRORS {ms-bind-error}
-}
-
-MSBindArgument ::= SET {
- initiator-name ORAddressAndOrDirectoryName,
- initiator-credentials [2] InitiatorCredentials,
- security-context [3] IMPLICIT SecurityContext OPTIONAL,
- fetch-restrictions [4] Restrictions OPTIONAL -- default is none--,
- ms-configuration-request [5] BOOLEAN DEFAULT FALSE,
- -- 1994 extensions
- ua-registration-identifier [6] RegistrationIdentifier OPTIONAL,
- bind-extensions [7] MSExtensions OPTIONAL
-}
-
-Restrictions ::= SET {
- allowed-content-types
- [0] SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL--default is no restriction--,
- allowed-EITs [1] MS-EITs OPTIONAL --default is no restriction--,
- maximum-attribute-length [2] INTEGER OPTIONAL --default is no restriction--
-}
-
-MS-EITs ::= SET SIZE (1..ub-encoded-information-types) OF MS-EIT
-
-MS-EIT ::= OBJECT IDENTIFIER
-
-RegistrationIdentifier ::=
- PrintableString(SIZE (1..ub-ua-registration-identifier-length))
-
-MSBindResult ::= SET {
- responder-credentials [2] ResponderCredentials,
- available-auto-actions
- [3] SET SIZE (1..ub-auto-actions) OF AUTO-ACTION.&id({AutoActionTable})
- OPTIONAL,
- available-attribute-types
- [4] SET SIZE (1..ub-attributes-supported) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- alert-indication [5] BOOLEAN DEFAULT FALSE,
- content-types-supported
- [6] SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL,
- -- 1994 extensions
- entry-classes-supported
- [7] SET SIZE (1..ub-entry-classes) OF EntryClass OPTIONAL,
- matching-rules-supported
- [8] SET SIZE (1..ub-matching-rules) OF OBJECT IDENTIFIER OPTIONAL,
- bind-result-extensions [9] MSExtensions OPTIONAL,
- message-group-depth [10] INTEGER(1..ub-group-depth) OPTIONAL,
- auto-action-error-indication [11] AutoActionErrorIndication OPTIONAL,
- unsupported-extensions
- [12] SET SIZE (1..ub-extensions) OF OBJECT IDENTIFIER OPTIONAL,
- ua-registration-id-unknown [13] BOOLEAN DEFAULT FALSE,
- service-information
- [14] GeneralString(SIZE (1..ub-service-information-length)) OPTIONAL
-}
-
-modify-capability MS-EXTENSION ::= {
- NULL
- IDENTIFIED BY id-ext-modify-capability
-}
-
-modify-retrieval-status-capability MS-EXTENSION ::= {
- NULL
- IDENTIFIED BY id-ext-modify-retrieval-status-capability
-}
-
-protected-change-credentials-capability MS-EXTENSION ::= {
- ChangeCredentialsAlgorithms
- IDENTIFIED BY id-ext-protected-change-credentials-capability
-}
-
-ChangeCredentialsAlgorithms ::= SET OF OBJECT IDENTIFIER
-
-AutoActionErrorIndication ::= CHOICE {
- indication-only [0] NULL,
- auto-action-log-entry [1] SequenceNumber
-}
-
-ms-bind-error ABSTRACT-ERROR ::= {
- PARAMETER
- CHOICE {unqualified-error BindProblem,
- -- 1994 extension
- qualified-error
- SET {bind-problem [0] BindProblem,
- supplementary-information
- [1] GeneralString(SIZE (1..ub-supplementary-info-length))
- OPTIONAL,
- bind-extension-errors
- [2] SET SIZE (1..ub-extensions) OF OBJECT IDENTIFIER
- OPTIONAL}}
-}
-
-BindProblem ::= ENUMERATED {
- authentication-error(0), unacceptable-security-context(1),
- unable-to-establish-association(2), ... -- 1994 extension addition --,
- bind-extension-problem(3), inadequate-association-confidentiality(4)
-}
-
--- MS Unbind abstract-operation
-ms-unbind ABSTRACT-OPERATION ::= emptyUnbind
-
--- Common data-types
-Range ::= CHOICE {
- sequence-number-range [0] NumberRange,
- creation-time-range [1] TimeRange
-}
-
-NumberRange ::= SEQUENCE {
- from [0] SequenceNumber OPTIONAL -- omitted means no lower bound--,
- to [1] SequenceNumber OPTIONAL -- omitted means no upper bound--
-}
-
-TimeRange ::= SEQUENCE {
- from [0] CreationTime OPTIONAL -- omitted means no lower bound--,
- to [1] CreationTime OPTIONAL -- omitted means no upper bound--
-}
-
-CreationTime ::= UTCTime
-
-Filter ::= CHOICE {
- item [0] FilterItem,
- and [1] SET OF Filter,
- or [2] SET OF Filter,
- not [3] Filter
-}
-
-FilterItem ::= CHOICE {
- equality [0] AttributeValueAssertion,
- substrings
- [1] SEQUENCE {type X413ATTRIBUTE.&id({AttributeTable}),
- strings
- SEQUENCE OF
- CHOICE {initial
- [0] X413ATTRIBUTE.&Type
- ({AttributeTable}{@substrings.type}),
- any
- [1] X413ATTRIBUTE.&Type
- ({AttributeTable}{@substrings.type}),
- final
- [2] X413ATTRIBUTE.&Type
- ({AttributeTable}{@substrings.type})
- }},
- greater-or-equal [2] AttributeValueAssertion,
- less-or-equal [3] AttributeValueAssertion,
- present [4] X413ATTRIBUTE.&id({AttributeTable}),
- approximate-match [5] AttributeValueAssertion,
- -- 1994 extension
- other-match [6] MatchingRuleAssertion
-}
-
-MatchingRuleAssertion ::= SEQUENCE {
- matching-rule [0] MATCHING-RULE.&id({MatchingRuleTable}),
- attribute-type [1] X413ATTRIBUTE.&id,
- match-value
- [2] MATCHING-RULE.&AssertionType({MatchingRuleTable}{@matching-rule})
-}
-
-AttributeValueAssertion ::= SEQUENCE {
- attribute-type X413ATTRIBUTE.&id({AttributeTable}),
- attribute-value X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
-}
-
-Selector ::= SET {
- child-entries [0] BOOLEAN DEFAULT FALSE,
- range [1] Range OPTIONAL -- default is unbounded --,
- filter
- [2] Filter
- OPTIONAL -- default is all entries within the specified range --,
- limit [3] INTEGER(1..ub-messages) OPTIONAL,
- override [4] OverrideRestrictions OPTIONAL -- by default, --
- -- any fetch-restrictions in force apply
-}
-
-OverrideRestrictions ::= BIT STRING {
- override-content-types-restriction(0), override-EITs-restriction(1),
- override-attribute-length-restriction(2)}(SIZE (1..ub-restrictions))
-
-EntryInformationSelection ::= SET SIZE (0..ub-per-entry) OF AttributeSelection
-
-AttributeSelection ::= SET {
- type X413ATTRIBUTE.&id({AttributeTable}),
- from
- [0] INTEGER(1..ub-attribute-values)
- OPTIONAL --used if type is multi valued--,
- count
- [1] INTEGER(0..ub-attribute-values)
- OPTIONAL --used if type is multi valued--
-}
-
-EntryInformation ::= SEQUENCE {
- sequence-number SequenceNumber,
- attributes SET SIZE (1..ub-per-entry) OF Attribute OPTIONAL,
- -- 1994 extension
- value-count-exceeded
- [0] SET SIZE (1..ub-per-entry) OF AttributeValueCount OPTIONAL
-}
-
-AttributeValueCount ::= SEQUENCE {
- type [0] X413ATTRIBUTE.&id({AttributeTable}),
- total [1] INTEGER
-}
-
-MSSubmissionOptions ::= SET {
- object-entry-class
- [0] EntryClass(submission | submission-log | draft) OPTIONAL,
- disable-auto-modify [1] BOOLEAN DEFAULT FALSE,
- add-message-group-names
- [2] SET SIZE (1..ub-message-groups) OF MessageGroupName OPTIONAL,
- ms-submission-extensions [3] MSExtensions OPTIONAL
-}
-
-originator-token MS-EXTENSION ::= {
- OriginatorToken
- IDENTIFIED BY id-ext-originator-token
-}
-
-OriginatorToken ::=
- MessageToken
- (CONSTRAINED BY {
-
- -- Must contain an asymmetric-token with an encrypted-data component --})
-
-originator-certificate-selectors-override MS-EXTENSION ::= {
- CertificateSelectors
- (WITH COMPONENTS {
- ...,
- message-origin-authentication ABSENT
- })
- IDENTIFIED BY id-ext-originator-certificate-selectors-override
-}
-
-CommonSubmissionResults ::= SET {
- created-entry [0] SequenceNumber OPTIONAL,
- auto-action-error-indication [1] AutoActionErrorIndication OPTIONAL,
- ms-submission-result-extensions [2] MSExtensions OPTIONAL
-}
-
--- Retrieval Port abstract-operations
-summarize ABSTRACT-OPERATION ::= {
- ARGUMENT SummarizeArgument
- RESULT SummarizeResult
- ERRORS
- {attribute-error | invalid-parameters-error | range-error | security-error
- | service-error, ... -- 1994 extension additions --, entry-class-error |
- ms-extension-error}
- LINKED {operationObject1, ...}
- CODE op-summarize
-}
-
-SummarizeArgument ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- selector [1] Selector,
- summary-requests
- [2] SEQUENCE SIZE (1..ub-summaries) OF X413ATTRIBUTE.&id({AttributeTable})
- OPTIONAL -- absent if no summaries are requested--,
- -- 1994 extension
- summarize-extensions [3] MSExtensions OPTIONAL
-}
-
-SummarizeResult ::= SET {
- next [0] SequenceNumber OPTIONAL,
- count
- [1] INTEGER(0..ub-messages)-- of the entries selected-- ,
- span [2] Span OPTIONAL -- of the entries selected,---- omitted if count is zero --,
- summaries
- [3] SEQUENCE SIZE (1..ub-summaries) OF Summary OPTIONAL,
- -- 1994 extension
- summarize-result-extensions [4] MSExtensions OPTIONAL
-}
-
-Span ::= SEQUENCE {lowest [0] SequenceNumber,
- highest [1] SequenceNumber
-}
-
-Summary ::= SET {
- absent
- [0] INTEGER(1..ub-messages)
- OPTIONAL --count of entries where X413ATTRIBUTE is absent--,
- present
- [1] SET SIZE (1..ub-attribute-values)
- OF--one for each X413ATTRIBUTE value present--
- SEQUENCE {type X413ATTRIBUTE.&id({AttributeTable}),
- value X413ATTRIBUTE.&Type({AttributeTable}{@.type}),
- count INTEGER(1..ub-messages)} OPTIONAL
-}
-
---
-list ABSTRACT-OPERATION ::= {
- ARGUMENT ListArgument
- RESULT ListResult
- ERRORS
- {attribute-error | invalid-parameters-error | range-error | security-error
- | service-error, ... -- 1994 extension additions --, entry-class-error |
- ms-extension-error}
- LINKED {operationObject1, ...}
- CODE op-list
-}
-
-ListArgument ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- selector [1] Selector,
- requested-attributes [3] EntryInformationSelection OPTIONAL,
- -- 1994 extension
- list-extensions [4] MSExtensions OPTIONAL
-}
-
-ListResult ::= SET {
- next [0] SequenceNumber OPTIONAL,
- requested
- [1] SEQUENCE SIZE (1..ub-messages) OF EntryInformation OPTIONAL--omitted if none found--,
- -- 1994 extension
- list-result-extensions [2] MSExtensions OPTIONAL
-}
-
---
-fetch ABSTRACT-OPERATION ::= {
- ARGUMENT FetchArgument
- RESULT FetchResult
- ERRORS
- {attribute-error | fetch-restriction-error | invalid-parameters-error |
- range-error | security-error | sequence-number-error | service-error,
- ... -- 1994 extension additions --, entry-class-error |
- ms-extension-error}
- LINKED {operationObject1, ...}
- CODE op-fetch
-}
-
-FetchArgument ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- item
- CHOICE {search [1] Selector,
- precise [2] SequenceNumber},
- requested-attributes [3] EntryInformationSelection OPTIONAL,
- -- 1994 extension
- fetch-extensions [4] MSExtensions OPTIONAL
-}
-
-FetchResult ::= SET {
- entry-information
- [0] EntryInformation OPTIONAL --if an entry was selected--,
- list
- [1] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
- next [2] SequenceNumber OPTIONAL,
- -- 1994 extension
- fetch-result-extensions [3] MSExtensions OPTIONAL
-}
-
---
-delete ABSTRACT-OPERATION ::= {
- ARGUMENT DeleteArgument
- RESULT DeleteResult
- ERRORS
- {delete-error | invalid-parameters-error | range-error | security-error |
- sequence-number-error | service-error,
- ... -- 1994 extension additions --, entry-class-error |
- ms-extension-error}
- LINKED {operationObject1, ...}
- CODE op-delete
-}
-
-DeleteArgument ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- items
- CHOICE {selector [1] Selector,
- sequence-numbers [2] SET SIZE (1..ub-messages) OF SequenceNumber
- },
- -- 1994 extension
- delete-extensions [3] MSExtensions OPTIONAL
-}
-
-DeleteResult ::= CHOICE {
- delete-result-88 NULL,
- -- 1994 extension
- delete-result-94
- SET {entries-deleted
- [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
- delete-result-extensions [1] MSExtensions OPTIONAL}
-}
-
---
-register-MS ABSTRACT-OPERATION ::= {
- ARGUMENT Register-MSArgument
- RESULT Register-MSResult
- ERRORS
- {attribute-error | auto-action-request-error | invalid-parameters-error |
- security-error | service-error | old-credentials-incorrectly-specified |
- new-credentials-unacceptable, ... -- 1994 extension additions --,
- message-group-error | ms-extension-error | register-ms-error}
- LINKED {operationObject1, ...}
- CODE op-register-ms
-}
-
-Register-MSArgument ::= SET {
- auto-action-registrations
- [0] SET SIZE (1..ub-auto-registrations) OF AutoActionRegistration OPTIONAL,
- auto-action-deregistrations
- [1] SET SIZE (1..ub-auto-registrations) OF AutoActionDeregistration
- OPTIONAL,
- list-attribute-defaults
- [2] SET SIZE (0..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- fetch-attribute-defaults
- [3] SET SIZE (0..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- change-credentials
- [4] SEQUENCE {old-credentials
- [0] Credentials(WITH COMPONENTS {
- simple
- }),
- new-credentials
- [1] Credentials(WITH COMPONENTS {
- simple
- })} OPTIONAL,
- user-security-labels
- [5] SET SIZE (1..ub-labels-and-redirections) OF SecurityLabel OPTIONAL,
- -- 1994 extensions
- ua-registrations
- [6] SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL,
- submission-defaults [7] MSSubmissionOptions OPTIONAL,
- message-group-registrations [8] MessageGroupRegistrations OPTIONAL,
- registration-status-request [9] RegistrationTypes OPTIONAL,
- register-ms-extensions [10] MSExtensions OPTIONAL
-}
-
-AutoActionDeregistration ::= SEQUENCE {
- auto-action-type AUTO-ACTION.&id({AutoActionTable}),
- registration-identifier [0] INTEGER(1..ub-per-auto-action) DEFAULT 1
-}
-
-UARegistration ::= SET {
- ua-registration-identifier [0] RegistrationIdentifier,
- ua-list-attribute-defaults
- [1] SET SIZE (0..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- ua-fetch-attribute-defaults
- [2] SET SIZE (0..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- ua-submission-defaults [3] MSSubmissionOptions OPTIONAL,
- content-specific-defaults [4] MSExtensions OPTIONAL
-}
-
-MessageGroupRegistrations ::=
- SEQUENCE SIZE (1..ub-default-registrations) OF
- CHOICE {register-group [0] MessageGroupNameAndDescriptor,
- deregister-group [1] MessageGroupName,
- change-descriptors [2] MessageGroupNameAndDescriptor}
-
-MessageGroupNameAndDescriptor ::= SET {
- message-group-name [0] MessageGroupName,
- message-group-descriptor
- [1] GeneralString(SIZE (1..ub-group-descriptor-length)) OPTIONAL
-}
-
-RegistrationTypes ::= SET {
- registrations
- [0] BIT STRING {auto-action-registrations(0), list-attribute-defaults(1),
- fetch-attribute-defaults(2), ua-registrations(3),
- submission-defaults(4), message-group-registrations(5)}
- OPTIONAL,
- extended-registrations [1] SET OF MS-EXTENSION.&id OPTIONAL,
- restrict-message-groups [2] MessageGroupsRestriction OPTIONAL
-}
-
-MessageGroupsRestriction ::= SET {
- parent-group [0] MessageGroupName OPTIONAL,
- immediate-descendants-only [1] BOOLEAN DEFAULT TRUE,
- omit-descriptors [2] BOOLEAN DEFAULT TRUE
-}
-
-protected-change-credentials MS-EXTENSION ::= {
- ProtectedChangeCredentials
- IDENTIFIED BY id-ext-protected-change-credentials
-}
-
-ProtectedChangeCredentials ::= SEQUENCE {
- algorithm-identifier [0] IMPLICIT OBJECT IDENTIFIER,
- old-credentials
- InitiatorCredentials(WITH COMPONENTS {
- protected PRESENT
- }),
- password-delta [2] IMPLICIT BIT STRING
-}
-
-Register-MSResult ::= CHOICE {
- no-status-information NULL,
- -- 1994 extension
- registered-information
- SET {auto-action-registrations
- [0] SET SIZE (1..ub-auto-registrations) OF AutoActionRegistration
- OPTIONAL,
- list-attribute-defaults
- [1] SET SIZE (1..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- fetch-attribute-defaults
- [2] SET SIZE (1..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- ua-registrations
- [3] SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL,
- submission-defaults [4] MSSubmissionOptions OPTIONAL,
- message-group-registrations
- [5] SET SIZE (1..ub-message-groups) OF
- MessageGroupNameAndDescriptor OPTIONAL,
- register-ms-result-extensions [6] MSExtensions OPTIONAL}
-}
-
---
-alert ABSTRACT-OPERATION ::= {
- ARGUMENT AlertArgument
- RESULT AlertResult
- ERRORS {security-error}
- LINKED {operationObject1, ...}
- CODE op-alert
-}
-
-AlertArgument ::= SET {
- alert-registration-identifier [0] INTEGER(1..ub-auto-actions),
- new-entry [2] EntryInformation OPTIONAL
-}
-
-AlertResult ::= NULL
-
---
-modify ABSTRACT-OPERATION ::= {
- ARGUMENT ModifyArgument
- RESULT ModifyResult
- ERRORS
- {attribute-error | invalid-parameters-error | security-error |
- sequence-number-error | service-error | modify-error |
- message-group-error | entry-class-error | ms-extension-error,
- ... -- For future extension additions --}
- LINKED {operationObject1, ...}
- CODE op-modify
-}
-
-ModifyArgument ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- entries
- CHOICE {selector [1] Selector,
- specific-entries
- [2] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber},
- modifications
- [3] SEQUENCE SIZE (1..ub-modifications) OF EntryModification,
- modify-extensions [4] MSExtensions OPTIONAL
-}
-
-EntryModification ::= SET {
- strict [0] BOOLEAN DEFAULT FALSE,
- modification
- CHOICE {add-attribute [1] Attribute,
- remove-attribute [2] X413ATTRIBUTE.&id({AttributeTable}),
- add-values [3] OrderedAttribute,
- remove-values [4] OrderedAttribute}
-}
-
-OrderedAttribute ::= SEQUENCE {
- attribute-type X413ATTRIBUTE.&id({AttributeTable}),
- attribute-values
- SEQUENCE SIZE (1..ub-attribute-values) OF
- SEQUENCE {-- at least one must be specified
- value
- [0] X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
- OPTIONAL,
- position [1] INTEGER(1..ub-attribute-values) OPTIONAL
- }
-}
-
-ModifyResult ::= SET {
- entries-modified
- [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
- modify-result-extensions [1] MSExtensions OPTIONAL
-}
-
--- MS-submission Port abstract-operations
-ms-message-submission ABSTRACT-OPERATION ::= {
- ARGUMENT MSMessageSubmissionArgument
- RESULT MSMessageSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error, ... -- 1994 extension additions --, ms-extension-error
- | message-group-error | entry-class-error | service-error}
- LINKED {operationObject1, ...}
- CODE op-ms-message-submission
-}
-
-MSMessageSubmissionArgument ::= SEQUENCE {
- COMPONENTS OF
- MessageSubmissionArgument -- This imported type has IMPLICIT tags --,
- -- 1994 extension
- submission-options [4] MSSubmissionOptions OPTIONAL
-}
-
-forwarding-request EXTENSION ::= {
- SequenceNumber,
- IDENTIFIED BY standard-extension:36
-}
-
-MSMessageSubmissionResult ::= CHOICE {
- mts-result
- SET {COMPONENTS OF
- MessageSubmissionResult-- This imported type has IMPLICIT tags -- ,
- -- 1994 extension
- ms-message-result [4] CommonSubmissionResults OPTIONAL},
- -- 1994 extension
- store-draft-result [4] CommonSubmissionResults
-}
-
---
-ms-probe-submission ABSTRACT-OPERATION ::= {
- ARGUMENT MSProbeSubmissionArgument
- RESULT MSProbeSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error, ... -- 1994 extension additions --, ms-extension-error
- | message-group-error | entry-class-error | service-error}
- LINKED {operationObject1, ...}
- CODE op-ms-probe-submission
-}
-
-MSProbeSubmissionArgument ::= SET {
- COMPONENTS OF
- ProbeSubmissionArgument -- This imported type has IMPLICIT tags --,
- -- 1994 extension
- submission-options [4] MSSubmissionOptions OPTIONAL
-}
-
-MSProbeSubmissionResult ::= SET {
- COMPONENTS OF
- ProbeSubmissionResult -- This imported type has IMPLICIT tags --,
- -- 1994 extension
- ms-probe-result [4] CommonSubmissionResults OPTIONAL
-}
-
-ms-cancel-deferred-delivery ABSTRACT-OPERATION ::= cancel-deferred-delivery
-
-ms-submission-control ABSTRACT-OPERATION ::= submission-control
-
--- Abstract-errors
-attribute-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problems
- [0] SET SIZE (1..ub-per-entry) OF
- SET {problem [0] AttributeProblem,
- type [1] X413ATTRIBUTE.&id({AttributeTable}),
- value
- [2] X413ATTRIBUTE.&Type({AttributeTable}{@.type})
- OPTIONAL}}
- CODE err-attribute-error
-}
-
-AttributeProblem ::= INTEGER {
- invalid-attribute-value(0), unavailable-attribute-type(1),
- inappropriate-matching(2), attribute-type-not-subscribed(3),
- inappropriate-for-operation(4),
- -- 1994 extensions
- inappropriate-modification(5), single-valued-attribute(6)
-}(0..ub-error-reasons)
-
---
-auto-action-request-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problems
- [0] SET SIZE (1..ub-auto-registrations) OF
- SET {problem [0] AutoActionRequestProblem,
- type [1] AUTO-ACTION.&id({AutoActionTable})
- }}
- CODE err-auto-action-request-error
-}
-
-AutoActionRequestProblem ::= INTEGER {
- unavailable-auto-action-type(0),
- auto-action-type-not-subscribed(1),
- -- 1994 extension
- not-willing-to-perform(2)}(0..ub-error-reasons)
-
---
-delete-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problems
- [0] SET SIZE (1..ub-messages) OF
- SET {problem [0] DeleteProblem,
- sequence-number [1] SequenceNumber},
- -- 1994 extension
- entries-deleted
- [1] SET SIZE (1..ub-messages) OF SequenceNumber OPTIONAL}
- CODE err-delete-error
-}
-
-DeleteProblem ::= INTEGER {
- child-entry-specified(0),
- delete-restriction-problem(1),
- -- 1994 extensions
- new-entry-specified(2), entry-class-restriction(3), stored-message-exists(4)
-}(0..ub-error-reasons)
-
---
-fetch-restriction-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problems
- [0] SET SIZE (1..ub-default-registrations) OF
- SET {problem [3] FetchRestrictionProblem,
- restriction
- CHOICE {content-type [0] OBJECT IDENTIFIER,
- eit [1] MS-EITs,
- attribute-length [2] INTEGER}}}
- CODE err-fetch-restriction-error
-}
-
-FetchRestrictionProblem ::= INTEGER {
- content-type-problem(1), eit-problem(2), maximum-length-problem(3)
-}(0..ub-error-reasons)
-
---
-invalid-parameters-error ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-invalid-parameters-error
-}
-
---
-range-error ABSTRACT-ERROR ::= {
- PARAMETER SET {problem [0] RangeProblem}
- CODE err-range-error
-}
-
-RangeProblem ::= INTEGER {reversed(0)}(0..ub-error-reasons)
-
---
-sequence-number-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problems
- [1] SET SIZE (1..ub-messages) OF
- SET {problem [0] SequenceNumberProblem,
- sequence-number [1] SequenceNumber}}
- CODE err-sequence-number-error
-}
-
-SequenceNumberProblem ::= INTEGER {no-such-entry(0)}(0..ub-error-reasons)
-
---
-service-error ABSTRACT-ERROR ::= {
- PARAMETER ServiceErrorParameter
- CODE err-service-error
-}
-
-ServiceErrorParameter ::= SET {
- problem [0] ServiceProblem,
- -- 1994 extension
- supplementary-information
- [1] GeneralString(SIZE (1..ub-supplementary-info-length)) OPTIONAL
-}
-
-ServiceProblem ::= INTEGER {busy(0), unavailable(1), unwilling-to-perform(2)
-}(0..ub-error-reasons)
-
---
-message-group-error ABSTRACT-ERROR ::= {
- PARAMETER MessageGroupErrorParameter
- CODE err-message-group-error
-}
-
-MessageGroupErrorParameter ::= SET {
- problem [0] MessageGroupProblem,
- name [1] MessageGroupName
-}
-
-MessageGroupProblem ::= INTEGER {
- name-not-registered(0), name-already-registered(1), parent-not-registered(2),
- group-not-empty(3), name-in-use(4), child-group-registered(5),
- group-depth-exceeded(6)}(0..ub-error-reasons)
-
---
-ms-extension-error ABSTRACT-ERROR ::= {
- PARAMETER MSExtensionErrorParameter
- CODE err-ms-extension-error
-}
-
-MSExtensionErrorParameter ::= CHOICE {
- ms-extension-problem [0] MSExtensionItem,
- unknown-ms-extension [1] OBJECT IDENTIFIER
-}
-
---
-register-ms-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problem [0] RegistrationProblem,
- registration-type [1] RegistrationTypes}
- CODE err-register-ms-error
-}
-
-RegistrationProblem ::= ENUMERATED {
- registration-not-supported(0), registration-improperly-specified(1),
- registration-limit-exceeded(2), ... -- For future extension additions --
- }
-
---
-modify-error ABSTRACT-ERROR ::= {
- PARAMETER ModifyErrorParameter
- CODE err-modify-error
-}
-
-ModifyErrorParameter ::= SET {
- entries-modified
- [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
- failing-entry [1] SequenceNumber,
- modification-number [2] INTEGER,
- problem [3] ModifyProblem
-}
-
-ModifyProblem ::= INTEGER {
- attribute-not-present(0), value-not-present(1),
- attribute-or-value-already-exists(2), invalid-position(3),
- modify-restriction-problem(4)}(0..ub-error-reasons)
-
---
-entry-class-error ABSTRACT-ERROR ::= {
- PARAMETER EntryClassErrorParameter
- CODE err-entry-class-error
-}
-
-EntryClassErrorParameter ::= SET {
- entry-class [0] EntryClass,
- problem
- [1] BIT STRING {unsupported-entry-class(0), entry-class-not-subscribed(1),
- inappropriate-entry-class(2)}
-}
-
-END -- of MS Abstract Service
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSAccessProtocol.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MSAccessProtocol.asn
deleted file mode 100644
index b69d72b3ed..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSAccessProtocol.asn
+++ /dev/null
@@ -1,259 +0,0 @@
--- Module MSAccessProtocol (X.419:06/1999)
-
-MSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- ms-access-protocol(2) version-1999(1)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
-IMPORTS
- -- MS Abstract Service
- ms-access-contract-88, ms-access-contract-94, ms-submission, retrieval,
- retrieval-88
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- Remote Operations
- APPLICATION-CONTEXT
- --==
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- Code
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- Bind{}, InvokeId, Unbind{}
- --==
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- ROS-SingleAS{}
- --==
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- acse, association-by-RTSE, pData, transfer-by-RTSE
- --==
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- --==
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- -- Reliable Transfer
- RTORQapdu, RTOACapdu, RTORJapdu
- FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
- -- MTS Access Protocol
- message-administration-abstract-syntax-88,
- message-administration-abstract-syntax-94,
- message-submission-abstract-syntax
- --==
- FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- mts-access-protocol(1) version-1999(1)}
- -- Object Identifiers
- id-ac-ms-access-88, id-ac-ms-access-94, id-ac-ms-reliable-access-88,
- id-ac-ms-reliable-access-94, id-as-ms-msse, id-as-mase-88, id-as-mase-94,
- id-as-mdse-88, id-as-mdse-94, id-as-mrse-88, id-as-mrse-94, id-as-ms-88,
- id-as-ms-94, id-as-ms-rtse, id-as-msse
- --==
- FROM MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0)
- modules(0) object-identifiers(0) version-1994(0)};
-
--- Definitions from X.228(11/1988) --
-RTSE-apdus ::= CHOICE {
- rtorq-apdu [16] IMPLICIT RTORQapdu,
- rtoac-apdu [17] IMPLICIT RTOACapdu,
- rtorj-apdu [18] IMPLICIT RTORJapdu,
- rttp-apdu RTTPapdu,
- rttr-apdu RTTRapdu,
- rtab-apdu [22] IMPLICIT RTABapdu
-}
-
-RTTPapdu ::= -- priority-- INTEGER
-
-RTTRapdu ::= OCTET STRING
-
-RTABapdu ::= SET {
- abortReason [0] IMPLICIT AbortReason OPTIONAL,
- reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
- -- 8 bits maximum, only if abortReason is invalidParameter
- userdataAB
- [2] TYPE-IDENTIFIER.&Type
- OPTIONAL -- only in normal mode and if abortReason--
- -- is userError
-}
-
-AbortReason ::= INTEGER {
- localSystemProblem(0),
- invalidParameter(1), -- reflectedParameter supplied
- unrecognizedActivity(2),
- temporaryProblem(3),
- -- the RTSE cannot accept a session for a period of time
- protocolError(4), -- RTSE level protocol error
- permanentProblem(5), --provider-abort solely in normal mode
- userError(6), -- user-abort solely in normal mode
- transferCompleted(7) -- activity can't be discarded--}
--- end of definitions from X.228 (11/1988) --
-
--- APPLICATION-CONTEXTS
--- 1994 Application Context omitting RTSE
-ms-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT ms-access-contract-94
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | ms-message-submission-abstract-syntax |
- message-retrieval-abstract-syntax-94 |
- message-administration-abstract-syntax-94 |
- ms-bind-unbind-abstract-syntax-94}
- APPLICATION CONTEXT NAME id-ac-ms-access-94
-}
-
--- 1994 Application Context including RTSE
-ms-reliable-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT ms-access-contract-94
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | ms-message-submission-abstract-syntax |
- message-retrieval-abstract-syntax-94 |
- message-administration-abstract-syntax-94 |
- ms-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-ms-reliable-access-94
-}
-
--- 1988 Application Context omitting RTSE
-ms-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT ms-access-contract-88
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-retrieval-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- ms-bind-unbind-abstract-syntax-88}
- APPLICATION CONTEXT NAME id-ac-ms-access-88
-}
-
--- 1988 Application Context including RTSE
-ms-reliable-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT ms-access-contract-88
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-retrieval-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- ms-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-ms-reliable-access-88
-}
-
--- ABSTRACT SYNTAXES
--- Abstract-syntax for 1994 MS-bind and MS-unbind
-ms-bind-unbind-abstract-syntax-94 ABSTRACT-SYNTAX ::= {
- MSBindUnbindPDUs94
- IDENTIFIED BY id-as-ms-94
-}
-
-MSBindUnbindPDUs94 ::= CHOICE {
- bind Bind{ms-access-contract-94.&connection.&bind},
- unbind Unbind{ms-access-contract-94.&connection.&unbind}
-}
-
--- Abstract-syntax for 1988 MS-bind and MS-unbind
-ms-bind-unbind-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
- MSBindUnbindPDUs88
- IDENTIFIED BY id-as-ms-88
-}
-
-MSBindUnbindPDUs88 ::= CHOICE {
- bind Bind{ms-access-contract-88.&connection.&bind},
- unbind Unbind{ms-access-contract-88.&connection.&unbind}
-}
-
--- Abstract-syntax for MS-bind and MS-unbind with RTSE
-ms-bind-unbind-rtse-abstract-syntax ABSTRACT-SYNTAX ::= {
- RTSE-apdus -- With MS-bind and MS-unbind --
- IDENTIFIED BY id-as-ms-rtse
-}
-
--- Abstract Syntax for MS Message Submission Service Element
-ms-message-submission-abstract-syntax ABSTRACT-SYNTAX ::= {
- MSMessageSubmissionPDUs
- IDENTIFIED BY id-as-ms-msse
-}
-
-MSMessageSubmissionPDUs ::= ROS-SingleAS{{MSInvokeIds}, ms-submission}
-
-MSInvokeIds ::= InvokeId(ALL EXCEPT absent:NULL)
-
--- Abstract Syntax for Message Retrieval Service Element 1994
-message-retrieval-abstract-syntax-94 ABSTRACT-SYNTAX ::= {
- MessageRetrievalPDUs
- IDENTIFIED BY id-as-mrse-94
-}
-
--- Abstract Syntax for Message Retrieval Service Element 1988
-MessageRetrievalPDUs ::=
- ROS-SingleAS{{MSInvokeIds}, retrieval}
-
-message-retrieval-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
- MessageRetrievalPDUs88
- IDENTIFIED BY id-as-mrse-88
-}
-
-MessageRetrievalPDUs88 ::= ROS-SingleAS{{MSInvokeIds}, retrieval-88}
-
--- Remote Operations
-op-ms-submission-control Code ::= local:2
-
-op-ms-message-submission Code ::= local:3
-
-op-ms-probe-submission Code ::= local:4
-
-op-ms-cancel-deferred-delivery Code ::= local:7
-
-op-summarize Code ::= local:20
-
-op-list Code ::= local:21
-
-op-fetch Code ::= local:22
-
-op-delete Code ::= local:23
-
-op-register-ms Code ::= local:24
-
-op-alert Code ::= local:25
-
-op-modify Code ::= local:26
-
--- Remote Errors
-err-attribute-error Code ::= local:21
-
-err-auto-action-request-error Code ::= local:22
-
-err-delete-error Code ::= local:23
-
-err-fetch-restriction-error Code ::= local:24
-
-err-range-error Code ::= local:25 -- 1988 Application Contexts only
-
-err-security-error Code ::= local:26
-
-err-service-error Code ::= local:27
-
-err-sequence-number-error Code ::= local:28
-
-err-invalid-parameters-error Code ::= local:29
-
-err-message-group-error Code ::= local:30
-
-err-ms-extension-error Code ::= local:31
-
-err-register-ms-error Code ::= local:32
-
-err-modify-error Code ::= local:33
-
-err-entry-class-error Code ::= local:34
-
-END -- of MSAccessProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSGeneralAttributeTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MSGeneralAttributeTypes.asn
deleted file mode 100644
index 99d34b2883..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSGeneralAttributeTypes.asn
+++ /dev/null
@@ -1,830 +0,0 @@
--- Module MSGeneralAttributeTypes (X.413:06/1999)
-MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-attribute-types(2) version-1999(1)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
-IMPORTS
- -- X413ATTRIBUTE information object class
- X413ATTRIBUTE,
- -- MS abstract-service data-types
- AutoActionError, AutoActionType, CreationTime, EntryClassErrorParameter,
- EntryType, MessageGroupName, MessageGroupErrorParameter, MS-EIT,
- MSExtensionErrorParameter, RetrievalStatus, SequenceNumber,
- ServiceErrorParameter
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- General-attribute-type Object Identifiers
- id-att-ac-correlated-report-list, id-att-ac-report-subject-entry,
- id-att-ac-report-summary, id-att-ac-uncorrelated-report-list,
- id-att-auto-action-error, id-att-auto-action-registration-identifier,
- id-att-auto-action-subject-entry, id-att-auto-action-type,
- id-att-certificate-selectors, id-att-child-sequence-numbers,
- id-att-content, id-att-content-confidentiality-algorithm-identifier,
- id-att-content-correlator, id-att-content-identifier,
- id-att-content-integrity-check, id-att-content-length,
- id-att-content-returned, id-att-content-type,
- id-att-conversion-with-loss-prohibited, id-att-converted-EITs,
- id-att-creation-time, id-att-deferred-delivery-cancellation-time,
- id-att-deferred-delivery-time, id-att-deletion-time, id-att-delivered-EITs,
- id-att-delivery-flags, id-att-dl-exempted-recipients,
- id-att-dl-expansion-history, id-att-dl-expansion-prohibited,
- id-att-entry-type, id-att-internal-trace-information,
- id-att-latest-delivery-time, id-att-locally-originated,
- id-att-marked-for-deletion, id-att-message-delivery-envelope,
- id-att-message-delivery-time, id-att-message-group-name,
- id-att-message-identifier, id-att-message-notes,
- id-att-message-origin-authentication-check, id-att-message-security-label,
- id-att-message-submission-envelope, id-att-message-submission-time,
- id-att-message-token, id-att-ms-originated, id-att-ms-submission-error,
- id-att-multiple-originator-certificates, id-att-original-EITs,
- id-att-originally-intended-recipient-name,
- id-att-originating-MTA-certificate, id-att-originator-certificate,
- id-att-originator-name, id-att-originator-report-request,
- id-att-originator-return-address, id-att-other-recipient-names,
- id-att-parent-sequence-number, id-att-per-message-indicators,
- id-att-per-recipient-message-submission-fields,
- id-att-per-recipient-probe-submission-fields,
- id-att-per-recipient-report-delivery-fields, id-att-priority,
- id-att-probe-origin-authentication-check, id-att-probe-submission-envelope,
- id-att-proof-of-delivery-request, id-att-proof-of-submission,
- id-att-recipient-certificate, id-att-recipient-names,
- id-att-recipient-reassignment-prohibited, id-att-redirection-history,
- id-att-report-delivery-envelope, id-att-reporting-DL-name,
- id-att-reporting-MTA-certificate,
- id-att-report-origin-authentication-check, id-att-retrieval-status,
- id-att-security-classification, id-att-sequence-number,
- id-att-signature-verification-status, id-att-storage-period,
- id-att-storage-time, id-att-subject-submission-identifier,
- id-att-this-recipient-name, id-att-trace-information
- FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Message Store matching-rules
- bitStringMatch, contentCorrelatorMatch, contentIdentifierMatch,
- mSSingleSubstringListElementsMatch, mSSingleSubstringListMatch,
- mSSingleSubstringMatch, mSSubstringsMatch, mSStringCaseSensitiveMatch,
- mSStringListElementsMatch, mSStringListMatch, mSStringMatch,
- mSStringOrderingMatch, mTSIdentifierMatch, oRAddressElementsMatch,
- oRAddressMatch, oRAddressSubstringElementsMatch, oRNameElementsMatch,
- oRNameMatch, oRNameSingleElementMatch, oRNameSubstringElementsMatch,
- redirectionOrDLExpansionElementsMatch, redirectionOrDLExpansionMatch,
- redirectionOrDLExpansionSingleElementMatch,
- redirectionOrDLExpansionSubstringElementsMatch, redirectionReasonMatch,
- valueCountMatch
- FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-matching-rules(5) version-1999(1)}
- -- MS abstract-service upper bounds
- ub-entry-types, ub-message-notes-length
- FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)}
- -- MTS abstract-service data-types
- CertificateSelectors, Content, ContentCorrelator, ContentIdentifier,
- ContentIntegrityCheck, ContentLength, ConversionWithLossProhibited,
- DeferredDeliveryTime, DeliveryFlags, DLExpansion, DLExpansionProhibited,
- ExtendedCertificates, ImproperlySpecifiedRecipients, LatestDeliveryTime,
- MessageDeliveryEnvelope, MessageDeliveryTime,
- MessageOriginAuthenticationCheck, MessageSecurityLabel,
- MessageSubmissionEnvelope, MessageSubmissionTime, MessageToken,
- MTSIdentifier, OriginatingMTACertificate, OriginatorCertificate,
- OriginatorReportRequest, OriginatorReturnAddress, ORName,
- PerMessageIndicators, PerRecipientMessageSubmissionFields,
- PerRecipientProbeSubmissionFields, PerRecipientReportDeliveryFields,
- Priority, ProbeOriginAuthenticationCheck, ProbeSubmissionEnvelope,
- ProofOfDeliveryRequest, ProofOfSubmission, RecipientReassignmentProhibited,
- Redirection, ReportDeliveryEnvelope, ReportingDLName,
- ReportingMTACertificate, ReportOriginAuthenticationCheck,
- SecurityClassification, SecurityProblem, SubjectSubmissionIdentifier
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- MTS abstract-service upper bound
- ub-recipients
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)}
- -- MTA abstract-service data-types
- InternalTraceInformationElement, TraceInformationElement
- FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mta-abstract-service(2) version-1999(1)}
- -- Directory matching-rules
- booleanMatch, integerMatch, integerOrderingMatch, uTCTimeMatch,
- uTCTimeOrderingMatch
- FROM SelectedAttributeTypes
- objectIdentifierMatch
- FROM InformationFramework
-
- -- Authentication-service data-types
- AlgorithmIdentifier
- FROM AuthenticationFramework;
-
--- X413ATTRIBUTE table
-AttributeTable X413ATTRIBUTE ::=
- {GeneralAttributes | ContentSpecificAttributes}
-
-GeneralAttributes X413ATTRIBUTE ::=
- {ms-child-sequence-numbers | mt-content |
- mt-content-confidentiality-algorithm-identifier | mt-content-correlator |
- mt-content-identifier | mt-content-integrity-check | ms-content-length |
- ms-content-returned | mt-content-type | mt-conversion-with-loss-prohibited |
- mt-converted-EITs | ms-creation-time | ms-delivered-EITs | mt-delivery-flags
- | mt-dl-expansion-history | ms-entry-type | mt-message-delivery-envelope |
- mt-message-delivery-time | mt-message-identifier |
- mt-message-origin-authentication-check | mt-message-security-label |
- mt-message-submission-time | mt-message-token | mt-original-EITs |
- mt-originally-intended-recipient-name | mt-originator-certificate |
- mt-originator-name | mt-other-recipient-names | ms-parent-sequence-number |
- mt-per-recipient-report-delivery-fields | mt-priority |
- mt-proof-of-delivery-request | mt-redirection-history |
- mt-report-delivery-envelope | mt-reporting-DL-name |
- mt-reporting-MTA-certificate | mt-report-origin-authentication-check |
- ms-retrieval-status | mt-security-classification | ms-sequence-number |
- mt-subject-submission-identifier | mt-this-recipient-name,
- ... -- 1994 extension additions --, ms-ac-correlated-report-list |
- ms-ac-report-subject-entry | ms-ac-report-summary |
- ms-ac-uncorrelated-report-list | ms-auto-action-error |
- ms-auto-action-registration-identifier | ms-auto-action-subject-entry |
- ms-auto-action-type | mt-certificate-selectors |
- ms-deferred-delivery-cancellation-time | mt-deferred-delivery-time |
- ms-deletion-time | mt-dl-exempted-recipients | mt-dl-expansion-prohibited |
- mt-internal-trace-information | mt-latest-delivery-time |
- ms-locally-originated | ms-marked-for-deletion | ms-message-group-name |
- ms-message-notes | mt-message-submission-envelope |
- mt-multiple-originator-certificates | ms-originated | ms-submission-error |
- mt-originating-MTA-certificate | mt-originator-report-request |
- mt-originator-return-address | mt-per-message-indicators |
- mt-per-recipient-message-submission-fields |
- mt-per-recipient-probe-submission-fields |
- mt-probe-origin-authentication-check | mt-probe-submission-envelope |
- mt-proof-of-submission | mt-recipient-certificate | ms-recipient-names |
- mt-recipient-reassignment-prohibited | ms-signature-verification-status |
- ms-storage-period | ms-storage-time | mt-trace-information}
-
-ContentSpecificAttributes X413ATTRIBUTE ::=
- {...}
-
--- Attribute-types
-ms-ac-correlated-report-list X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportLocation,
- NUMERATION multi-valued,
- ID id-att-ac-correlated-report-list
-}
-
-ReportLocation ::= CHOICE {
- no-correlated-reports [0] NULL,
- location [1] SEQUENCE OF PerRecipientReport
-}
-
-PerRecipientReport ::= SEQUENCE {
- report-entry [0] SequenceNumber,
- position [1] INTEGER(1..ub-recipients) DEFAULT 1
-}
-
-ms-ac-report-subject-entry X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-ac-report-subject-entry
-}
-
-ms-ac-report-summary X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportSummary,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-att-ac-report-summary
-}
-
-ReportSummary ::= ENUMERATED {
- no-report-requested(0) -- non-delivery report suppressed --,
- no-report-received(1) -- non-delivery report requested --,
- report-outstanding(2) -- delivery report requested --, delivery-cancelled(3),
- delivery-report-from-another-recipient(4),
- non-delivery-report-from-another-recipient(5),
- delivery-report-from-intended-recipient(6),
- non-delivery-report-from-intended-recipient(7)}
-
-ms-ac-uncorrelated-report-list X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PerRecipientReport,
- NUMERATION multi-valued,
- ID id-att-ac-uncorrelated-report-list
-}
-
-ms-auto-action-error X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AutoActionError,
- NUMERATION single-valued,
- ID id-att-auto-action-error
-}
-
-ms-auto-action-registration-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX INTEGER,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-auto-action-registration-identifier
-}
-
-ms-auto-action-subject-entry X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-auto-action-subject-entry
-}
-
-ms-auto-action-type X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AutoActionType,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION single-valued,
- ID id-att-auto-action-type
-}
-
-mt-certificate-selectors X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CertificateSelectors,
- NUMERATION single-valued,
- ID id-att-certificate-selectors
-}
-
-ms-child-sequence-numbers X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- NUMERATION multi-valued,
- ID id-att-child-sequence-numbers
-}
-
-mt-content X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Content,
- NUMERATION single-valued,
- ID id-att-content
-}
-
-mt-content-confidentiality-algorithm-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AlgorithmIdentifier,
- NUMERATION single-valued,
- ID id-att-content-confidentiality-algorithm-identifier
-}
-
-mt-content-correlator X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ContentCorrelator,
- EQUALITY MATCHING-RULE contentCorrelatorMatch,
- NUMERATION single-valued,
- ID id-att-content-correlator
-}
-
-mt-content-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ContentIdentifier,
- EQUALITY MATCHING-RULE contentIdentifierMatch,
- NUMERATION single-valued,
- ID id-att-content-identifier
-}
-
-mt-content-integrity-check X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ContentIntegrityCheck,
- NUMERATION single-valued,
- ID id-att-content-integrity-check
-}
-
-ms-content-length X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ContentLength,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-content-length
-}
-
-ms-content-returned X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BOOLEAN,
- EQUALITY MATCHING-RULE booleanMatch,
- NUMERATION single-valued,
- ID id-att-content-returned
-}
-
-mt-content-type X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION single-valued,
- ID id-att-content-type
-}
-
-mt-conversion-with-loss-prohibited X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ConversionWithLossProhibited,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-att-conversion-with-loss-prohibited
-}
-
-mt-converted-EITs X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MS-EIT,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION multi-valued,
- ID id-att-converted-EITs
-}
-
-ms-creation-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CreationTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-creation-time
-}
-
-ms-deferred-delivery-cancellation-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeferredDeliveryCancellationTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-deferred-delivery-cancellation-time
-}
-
-DeferredDeliveryCancellationTime ::= UTCTime
-
-mt-deferred-delivery-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeferredDeliveryTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-deferred-delivery-time
-}
-
-ms-deletion-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeletionTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-deletion-time
-}
-
-DeletionTime ::= UTCTime
-
-ms-delivered-EITs X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MS-EIT,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION multi-valued,
- ID id-att-delivered-EITs
-}
-
-mt-delivery-flags X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeliveryFlags,
- EQUALITY MATCHING-RULE bitStringMatch,
- NUMERATION single-valued,
- ID id-att-delivery-flags
-}
-
-mt-dl-exempted-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-att-dl-exempted-recipients
-}
-
-mt-dl-expansion-history X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DLExpansion,
- OTHER MATCHING-RULES
- {redirectionOrDLExpansionMatch | redirectionOrDLExpansionElementsMatch |
- redirectionOrDLExpansionSubstringElementsMatch |
- redirectionOrDLExpansionSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-att-dl-expansion-history
-}
-
-mt-dl-expansion-prohibited X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DLExpansionProhibited,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-att-dl-expansion-prohibited
-}
-
-ms-entry-type X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX EntryType,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE
- integerOrderingMatch, -- rule not defined in 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-att-entry-type
-}
-
-mt-internal-trace-information X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX InternalTraceInformationElement,
- NUMERATION multi-valued,
- ID id-att-internal-trace-information
-}
-
-mt-latest-delivery-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX LatestDeliveryTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-latest-delivery-time
-}
-
-ms-locally-originated X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX NULL,
- NUMERATION single-valued,
- ID id-att-locally-originated
-}
-
-ms-marked-for-deletion X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX NULL,
- NUMERATION single-valued,
- ID id-att-marked-for-deletion
-}
-
-mt-message-delivery-envelope X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageDeliveryEnvelope,
- NUMERATION single-valued,
- ID id-att-message-delivery-envelope
-}
-
-mt-message-delivery-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageDeliveryTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-message-delivery-time
-}
-
-ms-message-group-name X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageGroupName,
- EQUALITY MATCHING-RULE mSStringListMatch,
- OTHER MATCHING-RULES
- {mSSingleSubstringListMatch | mSStringListElementsMatch |
- mSSingleSubstringListElementsMatch | valueCountMatch, ...},
- NUMERATION multi-valued,
- ID id-att-message-group-name
-}
-
-mt-message-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MTSIdentifier,
- EQUALITY MATCHING-RULE
- mTSIdentifierMatch, -- rule not defined in 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-att-message-identifier
-}
-
-ms-message-notes X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX GeneralString(SIZE (1..ub-message-notes-length)),
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
- NUMERATION multi-valued,
- ID id-att-message-notes
-}
-
-mt-message-origin-authentication-check X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageOriginAuthenticationCheck,
- NUMERATION single-valued,
- ID id-att-message-origin-authentication-check
-}
-
-mt-message-security-label X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageSecurityLabel,
- NUMERATION single-valued,
- ID id-att-message-security-label
-}
-
-mt-message-submission-envelope X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageSubmissionEnvelope,
- NUMERATION single-valued,
- ID id-att-message-submission-envelope
-}
-
-mt-message-submission-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageSubmissionTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-message-submission-time
-}
-
-mt-message-token X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageToken,
- NUMERATION single-valued,
- ID id-att-message-token
-}
-
-ms-originated X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX NULL,
- NUMERATION single-valued,
- ID id-att-ms-originated
-}
-
-ms-submission-error X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubmissionError,
- NUMERATION single-valued,
- ID id-att-ms-submission-error
-}
-
-SubmissionError ::= CHOICE {
- submission-control-violated [1] NULL,
- originator-invalid [2] NULL,
- recipient-improperly-specified [3] ImproperlySpecifiedRecipients,
- element-of-service-not-subscribed [4] NULL,
- inconsistent-request [11] NULL,
- security-error [12] SecurityProblem,
- unsupported-critical-function [13] NULL,
- remote-bind-error [15] NULL,
- service-error [27] ServiceErrorParameter,
- message-group-error [30] MessageGroupErrorParameter,
- ms-extension-error [31] MSExtensionErrorParameter,
- entry-class-error [34] EntryClassErrorParameter
-}
-
-mt-multiple-originator-certificates X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ExtendedCertificates,
- NUMERATION single-valued,
- ID id-att-multiple-originator-certificates
-}
-
-mt-original-EITs X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MS-EIT,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION multi-valued,
- ID id-att-original-EITs
-}
-
-mt-originally-intended-recipient-name X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION single-valued,
- ID id-att-originally-intended-recipient-name
-}
-
-mt-originating-MTA-certificate X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatingMTACertificate,
- NUMERATION single-valued,
- ID id-att-originating-MTA-certificate
-}
-
-mt-originator-certificate X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatorCertificate,
- NUMERATION single-valued,
- ID id-att-originator-certificate
-}
-
-mt-originator-name X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION single-valued,
- ID id-att-originator-name
-}
-
-mt-originator-report-request X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatorReportRequest,
- NUMERATION multi-valued,
- ID id-att-originator-report-request
-}
-
-mt-originator-return-address X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatorReturnAddress,
- NUMERATION single-valued,
- ID id-att-originator-return-address
-}
-
-mt-other-recipient-names X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-att-other-recipient-names
-}
-
-ms-parent-sequence-number X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-parent-sequence-number
-}
-
-mt-per-message-indicators X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PerMessageIndicators,
- EQUALITY MATCHING-RULE bitStringMatch,
- NUMERATION single-valued,
- ID id-att-per-message-indicators
-}
-
-mt-per-recipient-message-submission-fields X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PerRecipientMessageSubmissionFields,
- NUMERATION multi-valued,
- ID id-att-per-recipient-message-submission-fields
-}
-
-mt-per-recipient-probe-submission-fields X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PerRecipientProbeSubmissionFields,
- NUMERATION multi-valued,
- ID id-att-per-recipient-probe-submission-fields
-}
-
-mt-per-recipient-report-delivery-fields X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PerRecipientReportDeliveryFields,
- NUMERATION multi-valued,
- ID id-att-per-recipient-report-delivery-fields
-}
-
-mt-priority X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Priority,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE
- integerOrderingMatch, -- rule not defined in 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-att-priority
-}
-
-mt-probe-origin-authentication-check X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ProbeOriginAuthenticationCheck,
- NUMERATION single-valued,
- ID id-att-probe-origin-authentication-check
-}
-
-mt-probe-submission-envelope X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ProbeSubmissionEnvelope,
- NUMERATION single-valued,
- ID id-att-probe-submission-envelope
-}
-
-mt-proof-of-delivery-request X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ProofOfDeliveryRequest,
- EQUALITY MATCHING-RULE
- integerMatch, -- rule not defined in 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-att-proof-of-delivery-request
-}
-
-mt-proof-of-submission X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ProofOfSubmission,
- NUMERATION single-valued,
- ID id-att-proof-of-submission
-}
-
-mt-recipient-certificate X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ExtendedCertificates,
- NUMERATION single-valued,
- ID id-att-recipient-certificate
-}
-
-ms-recipient-names X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-att-recipient-names
-}
-
-mt-recipient-reassignment-prohibited X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX RecipientReassignmentProhibited,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-att-recipient-reassignment-prohibited
-}
-
-mt-redirection-history X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Redirection,
- OTHER MATCHING-RULES
- {redirectionOrDLExpansionMatch | redirectionOrDLExpansionElementsMatch |
- redirectionOrDLExpansionSubstringElementsMatch |
- redirectionOrDLExpansionSingleElementMatch | redirectionReasonMatch,
- ...},
- NUMERATION multi-valued,
- ID id-att-redirection-history
-}
-
-mt-report-delivery-envelope X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportDeliveryEnvelope,
- NUMERATION single-valued,
- ID id-att-report-delivery-envelope
-}
-
-mt-reporting-DL-name X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportingDLName,
- EQUALITY MATCHING-RULE
- oRNameMatch, -- rule not defined in 1988 Application Contexts
-
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION single-valued,
- ID id-att-reporting-DL-name
-}
-
-mt-reporting-MTA-certificate X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportingMTACertificate,
- NUMERATION single-valued,
- ID id-att-reporting-MTA-certificate
-}
-
-mt-report-origin-authentication-check X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportOriginAuthenticationCheck,
- NUMERATION single-valued,
- ID id-att-report-origin-authentication-check
-}
-
-ms-retrieval-status X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX RetrievalStatus,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-att-retrieval-status
-}
-
-mt-security-classification X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SecurityClassification,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-att-security-classification
-}
-
-ms-sequence-number X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-sequence-number
-}
-
-ms-signature-verification-status X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SignatureVerificationStatus,
- NUMERATION single-valued,
- ID id-att-signature-verification-status
-}
-
-SignatureVerificationStatus ::= SET {
- content-integrity-check
- [0] SignatureStatus DEFAULT signature-absent,
- message-origin-authentication-check
- [1] SignatureStatus DEFAULT signature-absent,
- message-token
- [2] SignatureStatus DEFAULT signature-absent,
- report-origin-authentication-check
- [3] SignatureStatus DEFAULT signature-absent,
- proof-of-delivery
- [4] SignatureStatus DEFAULT signature-absent,
- proof-of-submission
- [5] SignatureStatus DEFAULT signature-absent
-}
-
-SignatureStatus ::= INTEGER {
- signature-absent(0), verification-in-progress(1), verification-succeeded(2),
- verification-not-possible(3), content-converted(4), signature-encrypted(5),
- algorithm-not-supported(6), certificate-not-obtainable(7),
- verification-failed(8)}
-
-ms-storage-period X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX StoragePeriod,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-storage-period
-}
-
-StoragePeriod ::= INTEGER -- seconds
-
-ms-storage-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX StorageTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-storage-time
-}
-
-StorageTime ::= UTCTime
-
-mt-subject-submission-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubjectSubmissionIdentifier,
- EQUALITY MATCHING-RULE
- mTSIdentifierMatch, -- rule not defined in 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-att-subject-submission-identifier
-}
-
-mt-this-recipient-name X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION single-valued,
- ID id-att-this-recipient-name
-}
-
-mt-trace-information X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX TraceInformationElement,
- NUMERATION multi-valued,
- ID id-att-trace-information
-}
-
-END -- of MSGeneralAttributeTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSGeneralAutoActionTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MSGeneralAutoActionTypes.asn
deleted file mode 100644
index eceae4ab44..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSGeneralAutoActionTypes.asn
+++ /dev/null
@@ -1,118 +0,0 @@
--- Module MSGeneralAutoActionTypes (X.413:06/1999)
-MSGeneralAutoActionTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-auto-action-types(3) version-1994(0)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- AUTO-ACTION and AUTO-ACTION-ERROR information object classes
- AUTO-ACTION,
- AUTO-ACTION-ERROR,
- -- MS abstract-service data-types and abstract-errors
- EntryClass, EntryInformationSelection, EntryModification, Filter,
- message-group-error, modify-error, service-error, SequenceNumber
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- MS Object Identifiers
- id-aae-auto-alert-error, id-act-auto-alert, id-act-auto-correlate-reports,
- id-act-auto-delete, id-act-auto-modify
- --==
- FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MS abstract-service upper bounds
- ub-alert-addresses, ub-modifications, ub-supplementary-info-length
- --==
- FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)}
- -- MTS abstract-service
- security-error
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- Auto-action table information object set
-AutoActionTable AUTO-ACTION ::=
- {GeneralAutoActions | ContentSpecificAutoActions}
-
-GeneralAutoActions AUTO-ACTION ::=
- {auto-alert, ... -- 1994 extension additions --, auto-modify |
- auto-correlate-reports | auto-delete}
-
-ContentSpecificAutoActions AUTO-ACTION ::=
- {...}
-
--- Auto-action error table information object set
-AutoActionErrorTable AUTO-ACTION-ERROR ::=
- {GeneralAutoActionErrors | ContentSpecificAutoActionErrors}
-
-GeneralAutoActionErrors AUTO-ACTION-ERROR ::=
- {auto-alert-error | modify-error | service-error | security-error |
- message-group-error, ... -- For future extension additions --}
-
-ContentSpecificAutoActionErrors AUTO-ACTION-ERROR ::=
- {...}
-
--- Auto-action-types
-auto-alert AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS AutoAlertRegistrationParameter
- ERRORS {auto-alert-error}
- IDENTIFIED BY id-act-auto-alert
-}
-
-AutoAlertRegistrationParameter ::= SET {
- filter [0] Filter OPTIONAL,
- alert-destinations
- [1] SEQUENCE SIZE (1..ub-alert-addresses) OF AlertDestination OPTIONAL,
- requested-attributes [2] EntryInformationSelection OPTIONAL,
- -- 1994 extension
- suppress-alert-destinations [3] BOOLEAN DEFAULT TRUE
-}
-
-AlertDestination ::= SEQUENCE {
- alert-address EXTERNAL,
- alert-qualifier OCTET STRING OPTIONAL
-}
-
---
-auto-modify AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS AutoModifyRegistrationParameter
- ERRORS
- {security-error | service-error | modify-error | message-group-error}
- IDENTIFIED BY id-act-auto-modify
-}
-
-AutoModifyRegistrationParameter ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- filter [1] Filter OPTIONAL,
- modifications [2] SEQUENCE SIZE (1..ub-modifications) OF EntryModification
-}
-
---
-auto-correlate-reports AUTO-ACTION ::= {
- IDENTIFIED BY id-act-auto-correlate-reports
-}
-
---
-auto-delete AUTO-ACTION ::= {
- ERRORS {security-error}
- IDENTIFIED BY id-act-auto-delete
-}
-
--- Auto-action errors
-auto-alert-error AUTO-ACTION-ERROR ::= {
- PARAMETER SEQUENCE SIZE (1..ub-alert-addresses) OF AutoAlertErrorIndication
- CODE global:id-aae-auto-alert-error
-}
-
-AutoAlertErrorIndication ::= SET {
- failing-alert-destination [0] AlertDestination OPTIONAL,
- supplementary-information
- [1] GeneralString(SIZE (1..ub-supplementary-info-length)) OPTIONAL
-}
-
-END -- of MSGeneralAutoActionTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSMatchingRules.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MSMatchingRules.asn
deleted file mode 100644
index 37c894da86..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSMatchingRules.asn
+++ /dev/null
@@ -1,225 +0,0 @@
--- Module MSMatchingRules (X.413:06/1999)
-MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-matching-rules(5) version-1999(1)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
---Exports everything
-IMPORTS
- -- MATCHING-RULE information object class and Directory matching-rules
- MATCHING-RULE, objectIdentifierMatch
- --==
- FROM InformationFramework
- bitStringMatch, booleanMatch, generalizedTimeMatch,
- generalizedTimeOrderingMatch, integerMatch, integerOrderingMatch,
- uTCTimeMatch, uTCTimeOrderingMatch
- --==
- FROM SelectedAttributeTypes
-
- -- Matching-rule Object Identifiers
- id-mr-content-correlator-match, id-mr-content-identifier-match,
- id-mr-ms-single-substring-list-elements-match,
- id-mr-ms-single-substring-list-match, id-mr-ms-single-substring-match,
- id-mr-ms-substrings-match, id-mr-msstring-case-sensitive-match,
- id-mr-msstring-list-elements-match, id-mr-msstring-list-match,
- id-mr-msstring-match, id-mr-msstring-ordering-match,
- id-mr-mts-identifier-match, id-mr-oraddress-elements-match,
- id-mr-oraddress-match, id-mr-oraddress-substring-elements-match,
- id-mr-orname-elements-match, id-mr-orname-match,
- id-mr-orname-single-element-match, id-mr-orname-substring-elements-match,
- id-mr-redirection-or-dl-expansion-elements-match,
- id-mr-redirection-or-dl-expansion-match,
- id-mr-redirection-or-dl-expansion-single-element-match,
- id-mr-redirection-or-dl-expansion-substring-elements-match,
- id-mr-redirection-reason-match, id-mr-value-count-match
- --==
- FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MS upper bounds
- ub-attribute-values, ub-msstring-match
- --==
- FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)}
- -- MTS abstract service
- ContentCorrelator, ContentIdentifier, MTSIdentifier, ORAddress,
- ORAddressAndOptionalDirectoryName, ORName, RedirectionReason
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- Matching rule table information object set
-MatchingRuleTable MATCHING-RULE ::=
- {GeneralMatchingRules | ContentSpecificMatchingRules}
-
-GeneralMatchingRules MATCHING-RULE ::=
- {bitStringMatch | booleanMatch | contentIdentifierMatch | integerMatch |
- integerOrderingMatch | mSStringCaseSensitiveMatch | objectIdentifierMatch |
- oRNameMatch | uTCTimeMatch | uTCTimeOrderingMatch,
- ... -- 1994 extension additions --, contentCorrelatorMatch |
- generalizedTimeMatch | generalizedTimeOrderingMatch | mSSingleSubstringMatch
- | mSStringCaseSensitiveMatch | mSStringListElementsMatch | mSStringListMatch
- | mSStringMatch | mSStringOrderingMatch | mSSingleSubstringListElementsMatch
- | mSSingleSubstringListMatch | mSSubstringsMatch | mTSIdentifierMatch |
- oRAddressElementsMatch | oRAddressMatch | oRAddressSubstringElementsMatch |
- oRNameElementsMatch | oRNameMatch | oRNameSingleElementMatch |
- oRNameSubstringElementsMatch | redirectionOrDLExpansionElementsMatch |
- redirectionOrDLExpansionMatch | redirectionOrDLExpansionSingleElementMatch |
- redirectionOrDLExpansionSubstringElementsMatch | redirectionReasonMatch |
- valueCountMatch}
-
-ContentSpecificMatchingRules MATCHING-RULE ::=
- {...}
-
--- MS String assertion-syntax
-MSString{INTEGER:maxSize} ::= CHOICE {
- printable PrintableString(SIZE (1..maxSize)),
- teletex TeletexString(SIZE (1..maxSize)),
- general GeneralString(SIZE (1..maxSize)),
- universal UniversalString(SIZE (1..maxSize)),
- bmp BMPString(SIZE (1..maxSize))
-}
-
--- String matching-rules
-mSStringMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-msstring-match
-}
-
-mSStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-msstring-ordering-match
-}
-
-mSSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-ms-substrings-match
-}
-
-SubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] MSString{ub-msstring-match},
- any [1] MSString{ub-msstring-match},
- final [2] MSString{ub-msstring-match}}
-
--- at most one initial and one final component
-mSSingleSubstringMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-ms-single-substring-match
-}
-
-mSStringCaseSensitiveMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-msstring-case-sensitive-match
-}
-
-mSStringListMatch MATCHING-RULE ::= {
- SYNTAX SEQUENCE OF MSString{ub-msstring-match}
- ID id-mr-msstring-list-match
-}
-
-mSStringListElementsMatch MATCHING-RULE ::= {
- SYNTAX SEQUENCE OF MSString{ub-msstring-match}
- ID id-mr-msstring-list-elements-match
-}
-
-mSSingleSubstringListMatch MATCHING-RULE ::= {
- SYNTAX SEQUENCE OF MSString{ub-msstring-match}
- ID id-mr-ms-single-substring-list-match
-}
-
-mSSingleSubstringListElementsMatch MATCHING-RULE ::= {
- SYNTAX SEQUENCE OF MSString{ub-msstring-match}
- ID id-mr-ms-single-substring-list-elements-match
-}
-
--- Syntax-based matching-rule
-valueCountMatch MATCHING-RULE ::= {
- SYNTAX INTEGER(1..ub-attribute-values)
- ID id-mr-value-count-match
-}
-
--- Matching-rules for complex Message Store attributes
--- OR-address matching-rules
-oRAddressMatch MATCHING-RULE ::= {
- SYNTAX ORAddress
- ID id-mr-oraddress-match
-}
-
-oRAddressElementsMatch MATCHING-RULE ::= {
- SYNTAX ORAddress
- ID id-mr-oraddress-elements-match
-}
-
-oRAddressSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX ORAddress
- ID id-mr-oraddress-substring-elements-match
-}
-
--- OR-name matching-rules
-oRNameMatch MATCHING-RULE ::= {SYNTAX ORName
- ID id-mr-orname-match
-}
-
-oRNameElementsMatch MATCHING-RULE ::= {
- SYNTAX ORName
- ID id-mr-orname-elements-match
-}
-
-oRNameSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX ORName
- ID id-mr-orname-substring-elements-match
-}
-
-oRNameSingleElementMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-orname-single-element-match
-}
-
--- Redirection or DL-expansion matching rules
-redirectionOrDLExpansionMatch MATCHING-RULE ::= {
- SYNTAX ORAddressAndOptionalDirectoryName
- ID id-mr-redirection-or-dl-expansion-match
-}
-
-redirectionOrDLExpansionElementsMatch MATCHING-RULE ::= {
- SYNTAX ORAddressAndOptionalDirectoryName
- ID id-mr-redirection-or-dl-expansion-elements-match
-}
-
-redirectionOrDLExpansionSingleElementMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-redirection-or-dl-expansion-single-element-match
-}
-
-redirectionOrDLExpansionSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX ORAddressAndOptionalDirectoryName
- ID id-mr-redirection-or-dl-expansion-substring-elements-match
-}
-
-redirectionReasonMatch MATCHING-RULE ::= {
- SYNTAX RedirectionReason
- ID id-mr-redirection-reason-match
-}
-
--- MTS-identifier matching rule
-mTSIdentifierMatch MATCHING-RULE ::= {
- SYNTAX MTSIdentifier
- ID id-mr-mts-identifier-match
-}
-
--- Content-correlator matching rule
-contentCorrelatorMatch MATCHING-RULE ::= {
- SYNTAX ContentCorrelator
- ID id-mr-content-correlator-match
-}
-
--- Content-identifier matching rule
-contentIdentifierMatch MATCHING-RULE ::= {
- SYNTAX ContentIdentifier
- ID id-mr-content-identifier-match
-}
-
-END -- of MSMatchingRules
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MSObjectIdentifiers.asn
deleted file mode 100644
index df194f838c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSObjectIdentifiers.asn
+++ /dev/null
@@ -1,322 +0,0 @@
--- Module MSObjectIdentifiers (X.413:06/1999)
-MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- ID, id-ms
- --==
- FROM MHSObjectIdentifiers {joint-iso-itu-t mhs(6) arch(5) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Categories
-id-mod -- modules -- ID ::= {id-ms 0}
-
-id-ot -- objects -- ID ::= {id-ms 1}
-
-id-pt -- port types -- ID ::= {id-ms 2}
-
-id-att -- attribute types -- ID ::= {id-ms 3}
-
-id-act -- auto-action types -- ID ::= {id-ms 4}
-
-id-crt -- contracts -- ID ::= {id-ms 5}
-
-id-cp -- connection-packages -- ID ::= {id-ms 6}
-
-id-aae -- auto-action-errors-- ID ::= {id-ms 7}
-
-id-mr -- matching-rules -- ID ::= {id-ms 8}
-
-id-ext -- extensions -- ID ::= {id-ms 9}
-
-id-alg -- algorithms -- ID ::= {id-ms 10}
-
--- Modules
-id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive
-
-id-mod-abstract-service ID ::= {id-mod 1} -- not definitive
-
-id-mod-attribute-types ID ::= {id-mod 2} -- not definitive
-
-id-mod-action-types ID ::= {id-mod 3} -- not definitive
-
-id-mod-upper-bounds ID ::= {id-mod 4} -- not definitive
-
-id-mod-matching-rules ID ::= {id-mod 5} -- not definitive
-
--- Objects
-id-ot-ms ID ::= {id-ot 0}
-
-id-ot-ms-user ID ::= {id-ot 1}
-
--- Port types
-id-pt-retrieval-88 ID ::= {id-pt 0}
-
-id-pt-retrieval-94 ID ::= {id-pt 1}
-
-id-pt-ms-submission ID ::= {id-pt 2}
-
--- Contracts
-id-crt-ms-access-88 ID ::= {id-crt 0}
-
-id-crt-ms-access-94 ID ::= {id-crt 1}
-
--- Connection-packages
-id-cp-ms-connection ID ::= {id-cp 0}
-
--- Attribute-types
-id-att-ac-correlated-report-list ID ::= {id-att 42}
-
-id-att-ac-report-subject-entry ID ::= {id-att 76}
-
-id-att-ac-report-summary ID ::= {id-att 43}
-
-id-att-ac-uncorrelated-report-list ID ::= {id-att 44}
-
-id-att-auto-action-error ID ::= {id-att 46}
-
-id-att-auto-action-registration-identifier ID ::= {id-att 47}
-
-id-att-auto-action-subject-entry ID ::= {id-att 48}
-
-id-att-auto-action-type ID ::= {id-att 49}
-
-id-att-certificate-selectors ID ::= {id-att 80}
-
-id-att-child-sequence-numbers ID ::= {id-att 0}
-
-id-att-content ID ::= {id-att 1}
-
-id-att-content-confidentiality-algorithm-identifier ID ::= {id-att 2}
-
-id-att-content-correlator ID ::= {id-att 3}
-
-id-att-content-identifier ID ::= {id-att 4}
-
-id-att-content-integrity-check ID ::= {id-att 5}
-
-id-att-content-length ID ::= {id-att 6}
-
-id-att-content-returned ID ::= {id-att 7}
-
-id-att-content-type ID ::= {id-att 8}
-
-id-att-conversion-with-loss-prohibited ID ::= {id-att 9}
-
-id-att-converted-EITs ID ::= {id-att 10}
-
-id-att-creation-time ID ::= {id-att 11}
-
-id-att-deferred-delivery-cancellation-time ID ::= {id-att 50}
-
-id-att-deferred-delivery-time ID ::= {id-att 51}
-
-id-att-deletion-time ID ::= {id-att 52}
-
-id-att-delivered-EITs ID ::= {id-att 12}
-
-id-att-delivery-flags ID ::= {id-att 13}
-
-id-att-dl-exempted-recipients ID ::= {id-att 78}
-
-id-att-dl-expansion-history ID ::= {id-att 14}
-
-id-att-dl-expansion-prohibited ID ::= {id-att 53}
-
-id-att-entry-type ID ::= {id-att 16}
-
-id-att-internal-trace-information ID ::= {id-att 54}
-
-id-att-latest-delivery-time ID ::= {id-att 55}
-
-id-att-locally-originated ID ::= {id-att 77}
-
-id-att-marked-for-deletion ID ::= {id-att 56}
-
-id-att-message-delivery-envelope ID ::= {id-att 18}
-
-id-att-message-delivery-time ID ::= {id-att 20}
-
-id-att-message-group-name ID ::= {id-att 57}
-
-id-att-message-identifier ID ::= {id-att 19}
-
-id-att-message-notes ID ::= {id-att 58}
-
-id-att-message-origin-authentication-check ID ::= {id-att 21}
-
-id-att-message-security-label ID ::= {id-att 22}
-
-id-att-message-submission-envelope ID ::= {id-att 59}
-
-id-att-message-submission-time ID ::= {id-att 23}
-
-id-att-message-token ID ::= {id-att 24}
-
-id-att-ms-originated ID ::= {id-att 60}
-
-id-att-ms-submission-error ID ::= {id-att 61}
-
-id-att-multiple-originator-certificates ID ::= {id-att 81}
-
-id-att-original-EITs ID ::= {id-att 25}
-
-id-att-originally-intended-recipient-name ID ::= {id-att 17}
-
-id-att-originating-MTA-certificate ID ::= {id-att 62}
-
-id-att-originator-certificate ID ::= {id-att 26}
-
-id-att-originator-name ID ::= {id-att 27}
-
-id-att-originator-report-request ID ::= {id-att 63}
-
-id-att-originator-return-address ID ::= {id-att 64}
-
-id-att-other-recipient-names ID ::= {id-att 28}
-
-id-att-parent-sequence-number ID ::= {id-att 29}
-
-id-att-per-message-indicators ID ::= {id-att 65}
-
-id-att-per-recipient-message-submission-fields ID ::= {id-att 66}
-
-id-att-per-recipient-probe-submission-fields ID ::= {id-att 67}
-
-id-att-per-recipient-report-delivery-fields ID ::= {id-att 30}
-
-id-att-priority ID ::= {id-att 31}
-
-id-att-probe-origin-authentication-check ID ::= {id-att 68}
-
-id-att-probe-submission-envelope ID ::= {id-att 69}
-
-id-att-proof-of-delivery-request ID ::= {id-att 32}
-
-id-att-proof-of-submission ID ::= {id-att 70}
-
-id-att-recipient-certificate ID ::= {id-att 82}
-
-id-att-recipient-names ID ::= {id-att 71}
-
-id-att-recipient-reassignment-prohibited ID ::= {id-att 72}
-
-id-att-redirection-history ID ::= {id-att 33}
-
-id-att-report-delivery-envelope ID ::= {id-att 34}
-
-id-att-reporting-DL-name ID ::= {id-att 35}
-
-id-att-reporting-MTA-certificate ID ::= {id-att 36}
-
-id-att-report-origin-authentication-check ID ::= {id-att 37}
-
-id-att-retrieval-status ID ::= {id-att 15}
-
-id-att-security-classification ID ::= {id-att 38}
-
-id-att-sequence-number ID ::= {id-att 39}
-
-id-att-signature-verification-status ID ::= {id-att 79}
-
-id-att-storage-period ID ::= {id-att 73}
-
-id-att-storage-time ID ::= {id-att 74}
-
-id-att-subject-submission-identifier ID ::= {id-att 40}
-
-id-att-this-recipient-name ID ::= {id-att 41}
-
-id-att-trace-information ID ::= {id-att 75}
-
--- Auto-action-types
-id-act-ipm-auto-forward ID ::=
- {id-act 0} -- Reserved for use in
-
--- ITU-T Rec. X.420 |
--- ISO/IEC 10021-7
-id-act-auto-alert ID ::= {id-act 1}
-
-id-act-auto-correlate-reports ID ::= {id-act 2}
-
-id-act-auto-delete ID ::= {id-act 3}
-
-id-act-auto-modify ID ::= {id-act 4}
-
--- Auto-action errors
-id-aae-auto-alert-error ID ::= {id-aae 0}
-
--- Matching-rules
-id-mr-content-correlator-match ID ::= {id-mr 1}
-
-id-mr-content-identifier-match ID ::= {id-mr 2}
-
-id-mr-ms-single-substring-list-elements-match ID ::= {id-mr 3}
-
-id-mr-ms-single-substring-list-match ID ::= {id-mr 4}
-
-id-mr-ms-single-substring-match ID ::= {id-mr 5}
-
-id-mr-ms-substrings-match ID ::= {id-mr 6}
-
-id-mr-msstring-case-sensitive-match ID ::= {id-mr 7}
-
-id-mr-msstring-list-elements-match ID ::= {id-mr 8}
-
-id-mr-msstring-list-match ID ::= {id-mr 9}
-
-id-mr-msstring-match ID ::= {id-mr 10}
-
-id-mr-msstring-ordering-match ID ::= {id-mr 11}
-
-id-mr-mts-identifier-match ID ::= {id-mr 12}
-
-id-mr-oraddress-elements-match ID ::= {id-mr 13}
-
-id-mr-oraddress-match ID ::= {id-mr 14}
-
-id-mr-oraddress-substring-elements-match ID ::= {id-mr 15}
-
-id-mr-orname-elements-match ID ::= {id-mr 16}
-
-id-mr-orname-match ID ::= {id-mr 17}
-
-id-mr-orname-single-element-match ID ::= {id-mr 18}
-
-id-mr-orname-substring-elements-match ID ::= {id-mr 19}
-
-id-mr-redirection-or-dl-expansion-elements-match ID ::= {id-mr 20}
-
-id-mr-redirection-or-dl-expansion-match ID ::= {id-mr 21}
-
-id-mr-redirection-or-dl-expansion-single-element-match ID ::= {id-mr 25}
-
-id-mr-redirection-or-dl-expansion-substring-elements-match ID ::= {id-mr 22}
-
-id-mr-redirection-reason-match ID ::= {id-mr 23}
-
-id-mr-value-count-match ID ::= {id-mr 24}
-
--- Extensions
-id-ext-modify-capability ID ::= {id-ext 0}
-
-id-ext-modify-retrieval-status-capability ID ::= {id-ext 1}
-
-id-ext-originator-certificate-selectors-override ID ::= {id-ext 2}
-
-id-ext-originator-token ID ::= {id-ext 3}
-
-id-ext-protected-change-credentials ID ::= {id-ext 4}
-
-id-ext-protected-change-credentials-capability ID ::= {id-ext 5}
-
--- Algorithms
-id-alg-password-xor ID ::= {id-alg 0}
-
-END -- of MSObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSUpperBounds.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MSUpperBounds.asn
deleted file mode 100644
index 6494fbd3ef..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MSUpperBounds.asn
+++ /dev/null
@@ -1,77 +0,0 @@
--- Module MSUpperBounds (X.413:06/1999)
-MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)} DEFINITIONS ::=
-BEGIN
-
--- Exports everything
-IMPORTS -- nothing -- ;
-
--- Upper Bounds
-ub-alert-addresses INTEGER ::= 16
-
-ub-attribute-values INTEGER ::= 32767 -- (215 - 1) the largest integer
-
--- representable in 16 bits
-ub-attributes-supported INTEGER ::= 1024
-
-ub-auto-action-errors INTEGER ::= 32767 -- (215 - 1) the largest integer
-
--- representable in 16 bits
-ub-auto-actions INTEGER ::= 128
-
-ub-auto-registrations INTEGER ::= 1024
-
-ub-default-registrations INTEGER ::= 1024
-
-ub-entry-classes INTEGER ::= 128
-
-ub-entry-types INTEGER ::= 16
-
-ub-error-reasons INTEGER ::= 16
-
-ub-extensions INTEGER ::= 32
-
-ub-group-depth INTEGER ::= 64
-
-ub-group-descriptor-length INTEGER ::= 256
-
-ub-group-part-length INTEGER ::= 128
-
-ub-information-bases INTEGER ::= 16
-
-ub-matching-rules INTEGER ::= 1024
-
-ub-message-groups INTEGER ::= 8192
-
-ub-message-notes-length INTEGER ::= 1024
-
-ub-messages INTEGER ::= 2147483647 -- (231 - 1) the largest integer
-
--- representable in 32 bits
-ub-modifications INTEGER ::=
- 32767 -- (215 - 1) the largest integer
-
--- representable in 16 bits
-ub-msstring-match INTEGER ::= 512
-
-ub-per-auto-action INTEGER ::= 32767 -- (215 - 1) the largest integer
-
--- representable in 16 bits
-ub-per-entry INTEGER ::= 1024
-
-ub-service-information-length INTEGER ::= 2048
-
-ub-summaries INTEGER ::= 16
-
-ub-supplementary-info-length INTEGER ::= 256
-
-ub-ua-registration-identifier-length INTEGER ::= 32
-
-ub-ua-registrations INTEGER ::= 128
-
-ub-restrictions INTEGER ::= 16
-
-END -- of MSUpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTAAbstractService.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MTAAbstractService.asn
deleted file mode 100644
index 38035c77ae..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTAAbstractService.asn
+++ /dev/null
@@ -1,481 +0,0 @@
--- Module MTAAbstractService (X.411:06/1999)
-MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mta-abstract-service(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- Remote Operations
- CONNECTION-PACKAGE, CONTRACT
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- --==
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- -- MTS Abstract Service Parameters
- ABSTRACT-ERROR, ABSTRACT-OPERATION, administration, AdministrationDomainName,
- certificate-selectors, certificate-selectors-override, Content,
- ContentIdentifier, ContentLength, ContentType,
- content-confidentiality-algorithm-identifier, content-correlator,
- content-integrity-check, conversion-with-loss-prohibited,
- ConvertedEncodedInformationTypes, CountryName, DeferredDeliveryTime,
- delivery, dl-exempted-recipients, dl-expansion-history,
- dl-expansion-prohibited, ExplicitConversion, EXTENSION, ExtensionField{},
- GlobalDomainIdentifier, InitiatorCredentials, latest-delivery-time,
- message-origin-authentication-check, message-security-label, message-token,
- MHS-OBJECT, MTAName, MTSIdentifier, multiple-originator-certificates,
- ORAddressAndOptionalDirectoryName, OriginalEncodedInformationTypes,
- originator-and-DL-expansion-history, originator-certificate,
- originator-return-address, PerMessageIndicators, physical-delivery-modes,
- physical-delivery-report-request, physical-forwarding-address,
- physical-forwarding-address-request, physical-forwarding-prohibited,
- physical-rendition-attributes, PORT, Priority, PrivateDomainIdentifier,
- PrivateExtensions, probe-origin-authentication-check, proof-of-delivery,
- proof-of-delivery-request, recipient-certificate,
- recipient-number-for-advice, recipient-reassignment-prohibited,
- redirection-history, registered-mail-type, reporting-DL-name,
- reporting-MTA-certificate, reporting-MTA-name, ReportType,
- report-origin-authentication-check, requested-delivery-method,
- ResponderCredentials, SecurityContext, submission,
- SupplementaryInformation, Time
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- IPM Information Objects
- IPMPerRecipientEnvelopeExtensions
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- Object Identifiers
- id-cp-mta-connect, id-ct-mta-transfer, id-ot-mta, id-pt-transfer
- --==
- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Upper Bounds
- ub-bit-options, ub-integer-options, ub-recipients, ub-transfers
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)};
-
--- Objects
-mta MHS-OBJECT ::= {BOTH {mta-transfer}
- ID id-ot-mta
-}
-
--- Contracts
-mta-transfer CONTRACT ::= {
- CONNECTION mta-connect
- OPERATIONS OF {transfer}
- ID id-ct-mta-transfer
-}
-
--- Connection package
-mta-connect CONNECTION-PACKAGE ::= {
- BIND mta-bind
- UNBIND mta-unbind
- ID id-cp-mta-connect
-}
-
--- Ports
-transfer PORT ::= {
- OPERATIONS {message-transfer | probe-transfer | report-transfer}
- ID id-pt-transfer
-}
-
--- MTA-bind and MTA-unbind
-mta-bind ABSTRACT-OPERATION ::= {
- ARGUMENT MTABindArgument
- RESULT MTABindResult
- ERRORS {mta-bind-error}
-}
-
-mta-unbind ABSTRACT-OPERATION ::= emptyUnbind
-
-MTABindArgument ::= CHOICE {
- unauthenticated NULL, -- if no authentication is required
- authenticated
- [1] SET {-- if authentication is required--initiator-name
- [0] MTAName,
- initiator-credentials
- [1] InitiatorCredentials
- (WITH COMPONENTS {
- ...,
- protected ABSENT
- }),
- security-context
- [2] SecurityContext OPTIONAL
- }
-}
-
-MTABindResult ::= CHOICE {
- unauthenticated NULL, -- if no authentication is required
- authenticated
- [1] SET {-- if authentication is required--responder-name
- [0] MTAName,
- responder-credentials
- [1] ResponderCredentials
- (WITH COMPONENTS {
- ...,
- protected ABSENT
- })}
-}
-
-mta-bind-error ABSTRACT-ERROR ::= {
- PARAMETER
- INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
- unacceptable-security-context(4),
- inadequate-association-confidentiality(5)}(0..ub-integer-options)
-}
-
--- Transfer Port
-message-transfer ABSTRACT-OPERATION ::= {ARGUMENT Message
-}
-
-probe-transfer ABSTRACT-OPERATION ::= {ARGUMENT Probe
-}
-
-report-transfer ABSTRACT-OPERATION ::= {ARGUMENT Report
-}
-
-Message ::= SEQUENCE {envelope MessageTransferEnvelope,
- content Content
-}
-
-Probe ::= ProbeTransferEnvelope
-
-Report ::= SEQUENCE {
- envelope ReportTransferEnvelope,
- content ReportTransferContent
-}
-
--- Message Transfer Envelope
-MessageTransferEnvelope ::= SET {
- COMPONENTS OF PerMessageTransferFields,
- per-recipient-fields
- [2] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientMessageTransferFields
-}
-
-PerMessageTransferFields ::= SET {
- message-identifier MessageIdentifier,
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- priority Priority DEFAULT normal,
- per-message-indicators PerMessageIndicators DEFAULT {},
- deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL,
- per-domain-bilateral-information
- [1] SEQUENCE SIZE (1..ub-transfers) OF PerDomainBilateralInformation
- OPTIONAL,
- trace-information TraceInformation,
- extensions
- [3] SET OF ExtensionField{{MessageTransferExtensions}} DEFAULT {}
-}
-
-MessageTransferExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | latest-delivery-time |
- originator-return-address | originator-certificate |
- content-confidentiality-algorithm-identifier |
- message-origin-authentication-check | message-security-label |
- content-correlator | dl-exempted-recipients | certificate-selectors |
- multiple-originator-certificates | dl-expansion-history |
- internal-trace-information | PrivateExtensions, ...}
-
-PerRecipientMessageTransferFields ::= SET {
- recipient-name RecipientName,
- originally-specified-recipient-number
- [0] OriginallySpecifiedRecipientNumber,
- per-recipient-indicators [1] PerRecipientIndicators,
- explicit-conversion [2] ExplicitConversion OPTIONAL,
- extensions
- [3] SET OF ExtensionField{{PerRecipientMessageTransferExtensions}}
- DEFAULT {}
-}
-
-PerRecipientMessageTransferExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-forwarding-prohibited | physical-forwarding-address-request |
- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
- | physical-rendition-attributes | physical-delivery-report-request |
- message-token | content-integrity-check | proof-of-delivery-request |
- certificate-selectors-override | recipient-certificate | redirection-history
- | IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
-
--- Probe Transfer Envelope
-ProbeTransferEnvelope ::= SET {
- COMPONENTS OF PerProbeTransferFields,
- per-recipient-fields
- [2] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeTransferFields
-}
-
-PerProbeTransferFields ::= SET {
- probe-identifier ProbeIdentifier,
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- content-length [0] ContentLength OPTIONAL,
- per-message-indicators PerMessageIndicators DEFAULT {},
- per-domain-bilateral-information
- [1] SEQUENCE SIZE (1..ub-transfers) OF PerDomainBilateralInformation
- OPTIONAL,
- trace-information TraceInformation,
- extensions
- [3] SET OF ExtensionField{{ProbeTransferExtensions}} DEFAULT {}
-}
-
-ProbeTransferExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | originator-certificate |
- message-security-label | content-correlator |
- probe-origin-authentication-check | internal-trace-information |
- PrivateExtensions, ...}
-
-PerRecipientProbeTransferFields ::= SET {
- recipient-name RecipientName,
- originally-specified-recipient-number
- [0] OriginallySpecifiedRecipientNumber,
- per-recipient-indicators [1] PerRecipientIndicators,
- explicit-conversion [2] ExplicitConversion OPTIONAL,
- extensions
- [3] SET OF ExtensionField{{PerRecipientProbeTransferExtensions}}
- DEFAULT {}
-}
-
-PerRecipientProbeTransferExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-rendition-attributes | redirection-history | PrivateExtensions,
- ...}
-
--- Report Transfer Envelope
-ReportTransferEnvelope ::= SET {
- report-identifier ReportIdentifier,
- report-destination-name ReportDestinationName,
- trace-information TraceInformation,
- extensions
- [1] SET OF ExtensionField{{ReportTransferEnvelopeExtensions}} DEFAULT {}
-}
-
-ReportTransferEnvelopeExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- message-security-label | redirection-history |
- originator-and-DL-expansion-history | reporting-DL-name |
- reporting-MTA-certificate | report-origin-authentication-check |
- internal-trace-information | reporting-MTA-name | PrivateExtensions,
- ...}
-
--- Report Transfer Content
-ReportTransferContent ::= SET {
- COMPONENTS OF PerReportTransferFields,
- per-recipient-fields
- [0] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportTransferFields
-}
-
-PerReportTransferFields ::= SET {
- subject-identifier SubjectIdentifier,
- subject-intermediate-trace-information
- SubjectIntermediateTraceInformation OPTIONAL,
- original-encoded-information-types
- OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType OPTIONAL,
- content-identifier ContentIdentifier OPTIONAL,
- returned-content [1] Content OPTIONAL,
- additional-information [2] AdditionalInformation OPTIONAL,
- extensions
- [3] SET OF ExtensionField{{ReportTransferContentExtensions}} DEFAULT {}
-}
-
-ReportTransferContentExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- content-correlator | PrivateExtensions, ...}
-
-PerRecipientReportTransferFields ::= SET {
- actual-recipient-name [0] ActualRecipientName,
- originally-specified-recipient-number
- [1] OriginallySpecifiedRecipientNumber,
- per-recipient-indicators [2] PerRecipientIndicators,
- last-trace-information [3] LastTraceInformation,
- originally-intended-recipient-name
- [4] OriginallyIntendedRecipientName OPTIONAL,
- supplementary-information [5] SupplementaryInformation OPTIONAL,
- extensions
- [6] SET OF ExtensionField{{PerRecipientReportTransferExtensions}}
- DEFAULT {}
-}
-
-PerRecipientReportTransferExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- redirection-history | physical-forwarding-address | recipient-certificate |
- proof-of-delivery | PrivateExtensions, ...}
-
--- Envelope & Report Content Fields
-MessageIdentifier ::= MTSIdentifier
-
-OriginatorName ::= ORAddressAndOptionalDirectoryName
-
-PerDomainBilateralInformation ::= SEQUENCE {
- COMPONENTS OF BILATERAL.&id,
- bilateral-information BILATERAL.&Type
-}
-
-BILATERAL ::= CLASS {&id BilateralDomain UNIQUE,
- &Type
-}WITH SYNTAX {&Type,
- IDENTIFIED BY &id
-}
-
-BilateralDomain ::= SEQUENCE {
- country-name CountryName,
- domain
- CHOICE {administration-domain-name AdministrationDomainName,
- private-domain
- SEQUENCE {administration-domain-name
- [0] AdministrationDomainName,
- private-domain-identifier
- [1] PrivateDomainIdentifier}}
-}
-
-RecipientName ::= ORAddressAndOptionalDirectoryName
-
-OriginallySpecifiedRecipientNumber ::= INTEGER(1..ub-recipients)
-
-PerRecipientIndicators ::= BIT STRING {
- responsibility(0),
- -- responsible 'one', not-responsible 'zero'
- originating-MTA-report(1),
- originating-MTA-non-delivery-report(2),
- -- either originating-MTA-report, or originating-MTA-non-delivery-report,
- -- or both, shall be 'one':
- -- originating-MTA-report bit 'one' requests a 'report';
- -- originating-MTA-non-delivery-report bit 'one' requests a 'non-delivery-report';
- -- both bits 'one' requests an 'audited-report';
- -- bits 0 - 2 'don't care' for Report Transfer Content
- originator-report(3),
- originator-non-delivery-report(4),
- -- at most one bit shall be 'one':
- -- originator-report bit 'one' requests a 'report';
- -- originator-non-delivery-report bit 'one' requests a 'non-delivery-report';
- -- both bits 'zero' requests 'no-report'
- reserved-5(5), reserved-6(6), reserved-7(7)
-
--- reserved- bits 5 - 7 shall be 'zero' --}(SIZE (8..ub-bit-options))
-
-ProbeIdentifier ::= MTSIdentifier
-
-ReportIdentifier ::= MTSIdentifier
-
-ReportDestinationName ::= ORAddressAndOptionalDirectoryName
-
-SubjectIdentifier ::= MessageOrProbeIdentifier
-
-MessageOrProbeIdentifier ::= MTSIdentifier
-
-SubjectIntermediateTraceInformation ::= TraceInformation
-
--- AdditionalInformation is retained for backwards compatibility only,
--- and use in new systems is strongly deprecated
-ADDITIONAL ::= CLASS {&Type
-}
-
-AdditionalInformation ::=
- ADDITIONAL.&Type -- maximum ub-additional-info octets including all encoding
-
-ActualRecipientName ::= ORAddressAndOptionalDirectoryName
-
-LastTraceInformation ::= SET {
- arrival-time [0] ArrivalTime,
- converted-encoded-information-types
- ConvertedEncodedInformationTypes OPTIONAL,
- report-type [1] ReportType
-}
-
-OriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
-
--- Extension Fields
-originator-requested-alternate-recipient EXTENSION ::= {
- OriginatorRequestedAlternateRecipient,
- IDENTIFIED BY standard-extension:2
-}
-
-OriginatorRequestedAlternateRecipient ::= ORAddressAndOptionalDirectoryName
-
-trace-information EXTENSION ::= {
- TraceInformation,
- IDENTIFIED BY standard-extension:37
-}
-
-internal-trace-information EXTENSION ::= {
- InternalTraceInformation,
- IDENTIFIED BY standard-extension:38
-}
-
-InternalTraceInformation ::=
- SEQUENCE SIZE (1..ub-transfers) OF InternalTraceInformationElement
-
-InternalTraceInformationElement ::= SEQUENCE {
- global-domain-identifier GlobalDomainIdentifier,
- mta-name MTAName,
- mta-supplied-information MTASuppliedInformation
-}
-
-MTASuppliedInformation ::= SET {
- arrival-time [0] ArrivalTime,
- routing-action [2] RoutingAction,
- attempted CHOICE {mta MTAName,
- domain GlobalDomainIdentifier} OPTIONAL,
- -- additional-actions --COMPONENTS OF InternalAdditionalActions
-}
-
-InternalAdditionalActions ::= AdditionalActions
-
--- Common Parameter Types
-TraceInformation ::=
- [APPLICATION 9] SEQUENCE SIZE (1..ub-transfers) OF TraceInformationElement
-
-TraceInformationElement ::= SEQUENCE {
- global-domain-identifier GlobalDomainIdentifier,
- domain-supplied-information DomainSuppliedInformation
-}
-
-DomainSuppliedInformation ::= SET {
- arrival-time [0] ArrivalTime,
- routing-action [2] RoutingAction,
- attempted-domain GlobalDomainIdentifier OPTIONAL,
- -- additional-actions --COMPONENTS OF AdditionalActions
-}
-
-AdditionalActions ::= SET {
- deferred-time [1] DeferredTime OPTIONAL,
- converted-encoded-information-types
- ConvertedEncodedInformationTypes OPTIONAL,
- other-actions [3] OtherActions DEFAULT {}
-}
-
-RoutingAction ::= ENUMERATED {relayed(0), rerouted(1)}
-
-DeferredTime ::= Time
-
-ArrivalTime ::= Time
-
-OtherActions ::= BIT STRING {redirected(0), dl-operation(1)
-}(SIZE (0..ub-bit-options))
-
-END -- of MTA Abstract Service
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAbstractService.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAbstractService.asn
deleted file mode 100644
index 68a5118bc8..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAbstractService.asn
+++ /dev/null
@@ -1,2366 +0,0 @@
--- Module MTSAbstractService (X.411:06/1999)
-MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- Remote Operations
- CONNECTION-PACKAGE, CONTRACT, ERROR, OPERATION, OPERATION-PACKAGE,
- ROS-OBJECT-CLASS
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- --==
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- -- MTA Abstract Service
- internal-trace-information, trace-information
- --==
- FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mta-abstract-service(2) version-1999(1)}
- -- MS Abstract Service Extension
- forwarding-request
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- IPM Information Objects
- IPMPerRecipientEnvelopeExtensions
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- Object Identifiers
- id-att-physicalRendition-basic, id-cp-mts-connect, id-ct-mts-access,
- id-ct-mts-forced-access, id-ot-mts, id-ot-mts-user, id-pt-administration,
- id-pt-delivery, id-pt-submission, id-tok-asymmetricToken
- --==
- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Operation and Error Codes
- err-control-violates-registration,
- err-deferred-delivery-cancellation-rejected, err-delivery-control-violated,
- err-element-of-service-not-subscribed, err-inconsistent-request,
- err-message-submission-identifier-invalid,
- err-new-credentials-unacceptable,
- err-old-credentials-incorrectly-specified, err-operation-refused,
- err-originator-invalid, err-recipient-improperly-specified,
- err-register-rejected, err-remote-bind-error, err-security-error,
- err-submission-control-violated, err-unsupported-critical-function,
- op-cancel-deferred-delivery, op-change-credentials, op-delivery-control,
- op-message-delivery, op-message-submission, op-probe-submission,
- op-register, op-report-delivery, op-submission-control
- --==
- FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- mts-access-protocol(1) version-1999(1)}
- -- Directory Definitions
- Name
- --==
- FROM InformationFramework
- PresentationAddress
- --==
- FROM SelectedAttributeTypes
- ALGORITHM, AlgorithmIdentifier, Certificates, ENCRYPTED{}, SIGNATURE{},
- SIGNED{}
- --==
- FROM AuthenticationFramework
-
- -- Certificate Extensions
- CertificateAssertion
- --==
- FROM CertificateExtensions
-
- -- Upper Bounds
- ub-bit-options, ub-built-in-content-type,
- ub-built-in-encoded-information-types, ub-certificates,
- ub-common-name-length, ub-content-id-length, ub-content-length,
- ub-content-types, ub-country-name-alpha-length,
- ub-country-name-numeric-length, ub-deliverable-class, ub-diagnostic-codes,
- ub-dl-expansions, ub-domain-defined-attributes,
- ub-domain-defined-attribute-type-length,
- ub-domain-defined-attribute-value-length, ub-domain-name-length,
- ub-encoded-information-types, ub-extension-attributes, ub-extension-types,
- ub-e163-4-number-length, ub-e163-4-sub-address-length,
- ub-generation-qualifier-length, ub-given-name-length, ub-initials-length,
- ub-integer-options, ub-local-id-length, ub-mta-name-length,
- ub-mts-user-types, ub-numeric-user-id-length, ub-organization-name-length,
- ub-organizational-units, ub-organizational-unit-name-length,
- ub-orig-and-dl-expansions, ub-password-length, ub-pds-name-length,
- ub-pds-parameter-length, ub-pds-physical-address-lines,
- ub-postal-code-length, ub-privacy-mark-length, ub-queue-size,
- ub-reason-codes, ub-recipients, ub-recipient-number-for-advice-length,
- ub-redirections, ub-redirection-classes, ub-restrictions,
- ub-security-categories, ub-security-labels, ub-security-problems,
- ub-supplementary-info-length, ub-surname-length, ub-terminal-id-length,
- ub-tsap-id-length, ub-unformatted-address-length,
- ub-universal-generation-qualifier-length, ub-universal-given-name-length,
- ub-universal-initials-length, ub-universal-surname-length,
- ub-x121-address-length
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)};
-
-operationObject1 OPERATION ::= {LINKED {operationObject2}
-}
-
-operationObject2 OPERATION ::= {LINKED {operationObject3}
-}
-
-operationObject3 OPERATION ::= {LINKED {operationObject4}
-}
-
-operationObject4 OPERATION ::= {LINKED {...}
-}
-
--- Objects
-MHS-OBJECT ::= ROS-OBJECT-CLASS
-
-mts MHS-OBJECT ::= {
- INITIATES {mts-forced-access-contract}
- RESPONDS {mts-access-contract}
- ID id-ot-mts
-}
-
-mts-user MHS-OBJECT ::= {
- INITIATES {mts-access-contract}
- RESPONDS {mts-forced-access-contract}
- ID id-ot-mts-user
-}
-
--- Contracts
-mts-access-contract CONTRACT ::= {
- CONNECTION mts-connect
- INITIATOR CONSUMER OF {submission | delivery | administration}
- ID id-ct-mts-access
-}
-
-mts-forced-access-contract CONTRACT ::= {
- CONNECTION mts-connect
- RESPONDER CONSUMER OF {submission | delivery | administration}
- ID id-ct-mts-forced-access
-}
-
--- Connection package
-mts-connect CONNECTION-PACKAGE ::= {
- BIND mts-bind
- UNBIND mts-unbind
- ID id-cp-mts-connect
-}
-
--- Ports
-PORT ::= OPERATION-PACKAGE
-
-submission PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES
- {message-submission | probe-submission | cancel-deferred-delivery, ...}
- SUPPLIER INVOKES {submission-control, ...}
- ID id-pt-submission
-}
-
-delivery PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES {delivery-control, ...}
- SUPPLIER INVOKES {message-delivery | report-delivery, ...}
- ID id-pt-delivery
-}
-
-administration PORT ::= {
- OPERATIONS {change-credentials, ...}
- CONSUMER INVOKES {register, ...}
- SUPPLIER INVOKES {operationObject1, ...}
- ID id-pt-administration
-}
-
--- MTS-bind and MTS-unbind
-ABSTRACT-OPERATION ::= OPERATION
-
-ABSTRACT-ERROR ::= ERROR
-
-mts-bind ABSTRACT-OPERATION ::= {
- ARGUMENT MTSBindArgument
- RESULT MTSBindResult
- ERRORS {mts-bind-error}
-}
-
-MTSBindArgument ::= SET {
- initiator-name ObjectName,
- messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
- initiator-credentials [2] InitiatorCredentials,
- security-context [3] SecurityContext OPTIONAL,
- ...,
- extensions
- [5] SET OF ExtensionField{{MTSBindExtensions}} DEFAULT {}
-}
-
-MTSBindExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-MTSBindResult ::= SET {
- responder-name ObjectName,
- messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
- responder-credentials [2] ResponderCredentials,
- ...,
- extensions
- [5] SET OF ExtensionField{{MTSBindResultExtensions}} DEFAULT {}
-}
-
-MTSBindResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-mts-bind-error ABSTRACT-ERROR ::= {
- PARAMETER
- INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
- unacceptable-security-context(4),
- inadequate-association-confidentiality(5)}(0..ub-integer-options)
-}
-
-mts-unbind ABSTRACT-OPERATION ::= emptyUnbind
-
--- Association Control Parameters
-ObjectName ::= CHOICE {
- user-agent ORAddressAndOptionalDirectoryName,
- mTA [0] MTAName,
- message-store [4] ORAddressAndOptionalDirectoryName
-}
-
-MessagesWaiting ::= SET {
- urgent [0] DeliveryQueue,
- normal [1] DeliveryQueue,
- non-urgent [2] DeliveryQueue
-}
-
-DeliveryQueue ::= SET {
- messages [0] INTEGER(0..ub-queue-size),
- octets [1] INTEGER(0..ub-content-length) OPTIONAL
-}
-
-InitiatorCredentials ::= Credentials
-
-ResponderCredentials ::= Credentials
-
-Credentials ::= CHOICE {
- simple Password,
- strong [0] StrongCredentials,
- ...,
- protected [1] ProtectedPassword
-}
-
-Password ::= CHOICE {
- ia5-string IA5String(SIZE (0..ub-password-length)),
- octet-string OCTET STRING(SIZE (0..ub-password-length))
-}
-
-StrongCredentials ::= SET {
- bind-token [0] Token OPTIONAL,
- certificate [1] Certificates OPTIONAL,
- ...,
- certificate-selector [2] CertificateAssertion OPTIONAL
-}
-
-ProtectedPassword ::= SET {
- signature
- SIGNATURE{SET {password Password,
- time1 [0] UTCTime OPTIONAL,
- time2 [1] UTCTime OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL}},
- time1 [0] UTCTime OPTIONAL,
- time2 [1] UTCTime OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL
-}
-
-SecurityContext ::= SET SIZE (1..ub-security-labels) OF SecurityLabel
-
--- Submission Port
-message-submission ABSTRACT-OPERATION ::= {
- ARGUMENT MessageSubmissionArgument
- RESULT MessageSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {4 | 6 | 7}
- CODE op-message-submission
-}
-
-MessageSubmissionArgument ::= SEQUENCE {
- envelope MessageSubmissionEnvelope,
- content Content
-}
-
-MessageSubmissionResult ::= SET {
- message-submission-identifier MessageSubmissionIdentifier,
- message-submission-time [0] MessageSubmissionTime,
- content-identifier ContentIdentifier OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{MessageSubmissionResultExtensions}} DEFAULT {}
-}
-
-MessageSubmissionResultExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originating-MTA-certificate | proof-of-submission | PrivateExtensions,
- ...}
-
-probe-submission ABSTRACT-OPERATION ::= {
- ARGUMENT ProbeSubmissionArgument
- RESULT ProbeSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-probe-submission
-}
-
-ProbeSubmissionArgument ::= ProbeSubmissionEnvelope
-
-ProbeSubmissionResult ::= SET {
- probe-submission-identifier ProbeSubmissionIdentifier,
- probe-submission-time [0] ProbeSubmissionTime,
- content-identifier ContentIdentifier OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{ProbeResultExtensions}} DEFAULT {}
-}
-
-ProbeResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions,
--- at most one instance of each extension type
-cancel-deferred-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT CancelDeferredDeliveryArgument
- RESULT CancelDeferredDeliveryResult
- ERRORS
- {deferred-delivery-cancellation-rejected |
- message-submission-identifier-invalid | remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-cancel-deferred-delivery
-}
-
-CancelDeferredDeliveryArgument ::= MessageSubmissionIdentifier
-
-CancelDeferredDeliveryResult ::= NULL
-
-submission-control ABSTRACT-OPERATION ::= {
- ARGUMENT SubmissionControlArgument
- RESULT SubmissionControlResult
- ERRORS {security-error | remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-submission-control
-}
-
-SubmissionControlArgument ::= SubmissionControls
-
-SubmissionControlResult ::= Waiting
-
-submission-control-violated ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-submission-control-violated
-}
-
-element-of-service-not-subscribed ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-element-of-service-not-subscribed
-}
-
-deferred-delivery-cancellation-rejected ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-deferred-delivery-cancellation-rejected
-}
-
-originator-invalid ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-originator-invalid
-}
-
-recipient-improperly-specified ABSTRACT-ERROR ::= {
- PARAMETER ImproperlySpecifiedRecipients
- CODE err-recipient-improperly-specified
-}
-
-ImproperlySpecifiedRecipients ::=
- SEQUENCE SIZE (1..ub-recipients) OF RecipientName
-
-message-submission-identifier-invalid ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-message-submission-identifier-invalid
-}
-
-inconsistent-request ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-inconsistent-request
-}
-
-security-error ABSTRACT-ERROR ::= {
- PARAMETER SecurityProblem
- CODE err-security-error
-}
-
-SecurityProblem ::= INTEGER {
- assemby-instructions-conflict-with-security-services(0),
- authentication-problem(1), authentication-failure-on-subject-message(2),
- confidentiality-association-problem(3), decryption-failed(4),
- decryption-key-unobtainable(5), failure-of-proof-of-message(6),
- forbidden-user-security-label-register(7),
- incompatible-change-with-original-security-context(8),
- integrity-failure-on-subject-message(9), invalid-security-label(10),
- invalid-security-label-update(11), key-failure(12),
- mandatory-parameter-absence(13), operation-security-failure(14),
- redirection-prohibited(15), refused-alternate-recipient-name(16),
- repudiation-failure-of-message(17),
- responder-credentials-checking-problem(18), security-context-failure(19),
- security-context-problem(20), security-policy-violation(21),
- security-services-refusal(22), token-decryption-failed(23), token-error(24),
- unable-to-aggregate-security-labels(25), unauthorised-dl-name(26),
- unauthorised-entry-class(27),
- unauthorised-originally-intended-recipient-name(28),
- unauthorised-originator-name(29), unauthorised-recipient-name(30),
- unauthorised-security-label-update(31), unauthorised-user-name(32),
- unknown-security-label(33), unsupported-algorithm-identifier(34),
- unsupported-security-policy(35)}(0..ub-security-problems)
-
-unsupported-critical-function ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-unsupported-critical-function
-}
-
-remote-bind-error ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-remote-bind-error
-}
-
--- Submission Port Parameters
-MessageSubmissionIdentifier ::= MTSIdentifier
-
-MessageSubmissionTime ::= Time
-
-ProbeSubmissionIdentifier ::= MTSIdentifier
-
-ProbeSubmissionTime ::= Time
-
-SubmissionControls ::=
- Controls
- (WITH COMPONENTS {
- ...,
- permissible-content-types ABSENT,
- permissible-encoded-information-types ABSENT
- })
-
-Waiting ::= SET {
- waiting-operations [0] Operations DEFAULT {},
- waiting-messages [1] WaitingMessages DEFAULT {},
- waiting-content-types
- [2] SET SIZE (0..ub-content-types) OF ContentType DEFAULT {},
- waiting-encoded-information-types EncodedInformationTypes OPTIONAL
-}
-
-Operations ::= BIT STRING {
- probe-submission-or-report-delivery(0),
- message-submission-or-message-delivery(1)}(SIZE (0..ub-bit-options))
-
--- holding 'one', not-holding 'zero'
-WaitingMessages ::= BIT STRING {
- long-content(0), low-priority(1), other-security-labels(2)
-}(SIZE (0..ub-bit-options))
-
--- Delivery Port
-message-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT MessageDeliveryArgument
- RESULT MessageDeliveryResult
- ERRORS
- {delivery-control-violated | security-error |
- unsupported-critical-function}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {4 | 6 | 7}
- CODE op-message-delivery
-}
-
-MessageDeliveryArgument ::= SEQUENCE {
- COMPONENTS OF MessageDeliveryEnvelope,
- content Content
-}
-
-MessageDeliveryResult ::= SET {
- recipient-certificate [0] RecipientCertificate OPTIONAL,
- proof-of-delivery [1] IMPLICIT ProofOfDelivery OPTIONAL,
- ...,
- extensions
- [2] SET OF ExtensionField{{MessageDeliveryResultExtensions}} DEFAULT {}
-}
-
-MessageDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-report-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT ReportDeliveryArgument
- RESULT ReportDeliveryResult
- ERRORS
- {delivery-control-violated | security-error |
- unsupported-critical-function}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-report-delivery
-}
-
-ReportDeliveryArgument ::= SET {
- COMPONENTS OF ReportDeliveryEnvelope,
- returned-content [0] Content OPTIONAL
-}
-
-ReportDeliveryResult ::= CHOICE {
- empty-result NULL,
- ...,
- extensions
- SET SIZE (1..MAX) OF ExtensionField{{ReportDeliveryResultExtensions}}
-}
-
-ReportDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-delivery-control ABSTRACT-OPERATION ::= {
- ARGUMENT DeliveryControlArgument
- RESULT DeliveryControlResult
- ERRORS
- {control-violates-registration | security-error | operation-refused}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-delivery-control
-}
-
-DeliveryControlArgument ::= SET {
- COMPONENTS OF DeliveryControls,
- extensions
- [6] SET OF ExtensionField{{DeliveryControlExtensions}} DEFAULT {}
-}
-
-DeliveryControlExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-DeliveryControlResult ::= SET {
- COMPONENTS OF Waiting,
- extensions
- [6] SET OF ExtensionField{{DeliveryControlResultExtensions}} DEFAULT {}
-}
-
-DeliveryControlResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-delivery-control-violated ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-delivery-control-violated
-}
-
-control-violates-registration ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-control-violates-registration
-}
-
-operation-refused ABSTRACT-ERROR ::= {
- PARAMETER RefusedOperation
- CODE err-operation-refused
-}
-
-RefusedOperation ::= SET {
- refused-argument
- CHOICE {built-in-argument [1] RefusedArgument,
- refused-extension EXTENSION.&id},
- refusal-reason [2] RefusalReason
-}
-
-RefusedArgument ::= INTEGER {
- user-name(0), user-address(1), deliverable-content-types(2),
- deliverable-maximum-content-length(3),
- deliverable-encoded-information-types-constraints(4),
- deliverable-security-labels(5), recipient-assigned-redirections(6),
- restricted-delivery(7),
- retrieve-registrations(8), -- value 9 reserved for possible future extension to Register arguments
- restrict(10), permissible-operations(11), permissible-lowest-priority(12),
- permissible-encoded-information-types(13), permissible-content-types(14),
- permissible-maximum-content-length(15), permissible-security-context(16)
-}(0..ub-integer-options)
-
-RefusalReason ::= INTEGER {
- facility-unavailable(0), facility-not-subscribed(1),
- parameter-unacceptable(2)}(0..ub-integer-options)
-
--- Delivery Port Parameters
-RecipientCertificate ::= Certificates
-
-ProofOfDelivery ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProofOfDeliveryAlgorithmIdentifier,
- delivery-time MessageDeliveryTime,
- this-recipient-name ThisRecipientName,
- originally-intended-recipient-name
- OriginallyIntendedRecipientName OPTIONAL,
- content Content,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label
- MessageSecurityLabel OPTIONAL}}
-
-ProofOfDeliveryAlgorithmIdentifier ::= AlgorithmIdentifier
-
-DeliveryControls ::= Controls
-
-Controls ::= SET {
- restrict [0] BOOLEAN DEFAULT TRUE,
- -- update 'TRUE', remove 'FALSE'
- permissible-operations [1] Operations OPTIONAL,
- permissible-maximum-content-length [2] ContentLength OPTIONAL,
- permissible-lowest-priority Priority OPTIONAL,
- permissible-content-types [4] ContentTypes OPTIONAL,
- permissible-encoded-information-types
- PermissibleEncodedInformationTypes OPTIONAL,
- permissible-security-context [5] SecurityContext OPTIONAL
-}
-
--- Note - The Tags [0], [1] and [2] are altered for the Register operation only.
-PermissibleEncodedInformationTypes ::=
- EncodedInformationTypesConstraints
-
--- Administration Port
-register ABSTRACT-OPERATION ::= {
- ARGUMENT RegisterArgument
- RESULT RegisterResult
- ERRORS
- {register-rejected | remote-bind-error | operation-refused |
- security-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-register
-}
-
-RegisterArgument ::= SET {
- user-name UserName OPTIONAL,
- user-address [0] UserAddress OPTIONAL,
- deliverable-class
- SET SIZE (1..ub-deliverable-class) OF DeliverableClass OPTIONAL,
- default-delivery-controls [2] EXPLICIT DefaultDeliveryControls OPTIONAL,
- redirections [3] Redirections OPTIONAL,
- restricted-delivery [4] RestrictedDelivery OPTIONAL,
- retrieve-registrations [5] RegistrationTypes OPTIONAL,
- extensions
- [6] SET OF ExtensionField{{RegisterExtensions}} DEFAULT {}
-}
-
-RegisterExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-RegisterResult ::= CHOICE {
- empty-result NULL,
- non-empty-result
- SET {registered-information
- [0] RegisterArgument
- (WITH COMPONENTS {
- ...,
- retrieve-registrations ABSENT
- }) OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{RegisterResultExtensions}} DEFAULT {}
- }
-}
-
-RegisterResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-change-credentials ABSTRACT-OPERATION ::= {
- ARGUMENT ChangeCredentialsArgument
- RESULT NULL
- ERRORS
- {new-credentials-unacceptable | old-credentials-incorrectly-specified |
- remote-bind-error | security-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-change-credentials
-}
-
-ChangeCredentialsArgument ::= SET {
- old-credentials [0] Credentials(WITH COMPONENTS {
- simple
- }),
- new-credentials [1] Credentials(WITH COMPONENTS {
- simple
- })
-}
-
-register-rejected ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-register-rejected
-}
-
-new-credentials-unacceptable ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-new-credentials-unacceptable
-}
-
-old-credentials-incorrectly-specified ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-old-credentials-incorrectly-specified
-}
-
--- Administration Port Parameters
-UserName ::= ORAddressAndOptionalDirectoryName
-
-UserAddress ::= CHOICE {
- x121
- [0] SEQUENCE {x121-address
- NumericString(SIZE (1..ub-x121-address-length)) OPTIONAL,
- tsap-id
- PrintableString(SIZE (1..ub-tsap-id-length)) OPTIONAL
- },
- presentation [1] PSAPAddress
-}
-
-PSAPAddress ::= PresentationAddress
-
-DeliverableClass ::=
- MessageClass
- (WITH COMPONENTS {
- ...,
- priority ABSENT,
- -- The 'objects' component shall always be defaulted.
- -- objects ABSENT,
- -- A component with a DEFAULT clause cannot be ABSENT
- applies-only-to ABSENT
- })
-
-DefaultDeliveryControls ::=
- Controls
- (WITH COMPONENTS {
- ...,
-
- -- The 'restrict' component shall always be defaulted.
- -- restrict ABSENT,
- -- A component with a DEFAULT clause cannot be ABSENT
- permissible-security-context ABSENT
- })
-
-Redirections ::= SEQUENCE SIZE (1..ub-redirections) OF RecipientRedirection
-
-RecipientRedirection ::= SET {
- redirection-classes
- [0] SET SIZE (1..ub-redirection-classes) OF RedirectionClass OPTIONAL,
- recipient-assigned-alternate-recipient
- [1] RecipientAssignedAlternateRecipient OPTIONAL
-}
-
-RedirectionClass ::= MessageClass
-
-MessageClass ::= SET {
- content-types [0] ContentTypes OPTIONAL,
- maximum-content-length [1] ContentLength OPTIONAL,
- encoded-information-types-constraints
- [2] EncodedInformationTypesConstraints OPTIONAL,
- security-labels [3] SecurityContext OPTIONAL,
- priority [4] SET OF Priority OPTIONAL,
- objects
- [5] ENUMERATED {messages(0), reports(1), both(2), ...
- } DEFAULT both,
- applies-only-to [6] SEQUENCE OF Restriction OPTIONAL, -- Not considered in the case of Reports
- extensions
- [7] SET OF ExtensionField{{MessageClassExtensions}} DEFAULT {}
-}
-
-EncodedInformationTypesConstraints ::= SEQUENCE {
- unacceptable-eits [0] ExtendedEncodedInformationTypes OPTIONAL,
- acceptable-eits [1] ExtendedEncodedInformationTypes OPTIONAL,
- exclusively-acceptable-eits [2] ExtendedEncodedInformationTypes OPTIONAL
-}
-
-MessageClassExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-RecipientAssignedAlternateRecipient ::=
- ORAddressAndOrDirectoryName
-
-RestrictedDelivery ::= SEQUENCE SIZE (1..ub-restrictions) OF Restriction
-
-Restriction ::= SET {
- permitted BOOLEAN DEFAULT TRUE,
- source-type
- BIT STRING {originated-by(0), redirected-by(1), dl-expanded-by(2)}
- DEFAULT {originated-by, redirected-by, dl-expanded-by},
- source-name ExactOrPattern OPTIONAL
-}
-
-ExactOrPattern ::= CHOICE {
- exact-match [0] ORName,
- pattern-match [1] ORName
-}
-
-RegistrationTypes ::= SEQUENCE {
- standard-parameters
- [0] BIT STRING {user-name(0), user-address(1), deliverable-class(2),
- default-delivery-controls(3), redirections(4),
- restricted-delivery(5)} OPTIONAL,
- extensions [1] SET OF EXTENSION.&id({RegisterExtensions}) OPTIONAL
-}
-
--- Message Submission Envelope
-MessageSubmissionEnvelope ::= SET {
- COMPONENTS OF PerMessageSubmissionFields,
- per-recipient-fields
- [1] SEQUENCE SIZE (1..ub-recipients) OF
- PerRecipientMessageSubmissionFields
-}
-
-PerMessageSubmissionFields ::= SET {
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- priority Priority DEFAULT normal,
- per-message-indicators PerMessageIndicators DEFAULT {},
- deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerMessageSubmissionExtensions}} DEFAULT {}
-}
-
-PerMessageSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | latest-delivery-time |
- originator-return-address | originator-certificate |
- content-confidentiality-algorithm-identifier |
- message-origin-authentication-check | message-security-label |
- proof-of-submission-request | content-correlator | dl-exempted-recipients |
- certificate-selectors | multiple-originator-certificates |
- forwarding-request -- for MS Abstract Service only -- | PrivateExtensions,
- ...}
-
-PerRecipientMessageSubmissionFields ::= SET {
- recipient-name RecipientName,
- originator-report-request [0] OriginatorReportRequest,
- explicit-conversion [1] ExplicitConversion OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerRecipientMessageSubmissionExtensions}}
- DEFAULT {}
-}
-
-PerRecipientMessageSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-forwarding-prohibited | physical-forwarding-address-request |
- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
- | physical-rendition-attributes | physical-delivery-report-request |
- message-token | content-integrity-check | proof-of-delivery-request |
- certificate-selectors-override | recipient-certificate |
- IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
-
--- Probe Submission Envelope
-ProbeSubmissionEnvelope ::= SET {
- COMPONENTS OF PerProbeSubmissionFields,
- per-recipient-fields
- [3] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeSubmissionFields
-}
-
-PerProbeSubmissionFields ::= SET {
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- content-length [0] ContentLength OPTIONAL,
- per-message-indicators PerMessageIndicators DEFAULT {},
- extensions
- [2] SET OF ExtensionField{{PerProbeSubmissionExtensions}} DEFAULT {}
-}
-
-PerProbeSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | originator-certificate |
- message-security-label | content-correlator |
- probe-origin-authentication-check | PrivateExtensions, ...}
-
-PerRecipientProbeSubmissionFields ::= SET {
- recipient-name RecipientName,
- originator-report-request [0] OriginatorReportRequest,
- explicit-conversion [1] ExplicitConversion OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerRecipientProbeSubmissionExtensions}}
- DEFAULT {}
-}
-
-PerRecipientProbeSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-rendition-attributes | PrivateExtensions, ...}
-
--- Message Delivery Envelope
-MessageDeliveryEnvelope ::= SEQUENCE {
- message-delivery-identifier MessageDeliveryIdentifier,
- message-delivery-time MessageDeliveryTime,
- other-fields OtherMessageDeliveryFields
-}
-
-OtherMessageDeliveryFields ::= SET {
- content-type DeliveredContentType,
- originator-name DeliveredOriginatorName,
- original-encoded-information-types
- [1] OriginalEncodedInformationTypes OPTIONAL,
- priority Priority DEFAULT normal,
- delivery-flags [2] DeliveryFlags OPTIONAL,
- other-recipient-names [3] OtherRecipientNames OPTIONAL,
- this-recipient-name [4] ThisRecipientName,
- originally-intended-recipient-name
- [5] OriginallyIntendedRecipientName OPTIONAL,
- converted-encoded-information-types
- [6] ConvertedEncodedInformationTypes OPTIONAL,
- message-submission-time [7] MessageSubmissionTime,
- content-identifier [8] ContentIdentifier OPTIONAL,
- extensions
- [9] SET OF ExtensionField{{MessageDeliveryExtensions}} DEFAULT {}
-}
-
-MessageDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- conversion-with-loss-prohibited | requested-delivery-method |
- physical-forwarding-prohibited | physical-forwarding-address-request |
- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
- | physical-rendition-attributes | originator-return-address |
- physical-delivery-report-request | originator-certificate | message-token |
- content-confidentiality-algorithm-identifier | content-integrity-check |
- message-origin-authentication-check | message-security-label |
- proof-of-delivery-request | dl-exempted-recipients | certificate-selectors |
- certificate-selectors-override | multiple-originator-certificates |
- recipient-certificate | IPMPerRecipientEnvelopeExtensions |
- redirection-history | dl-expansion-history | trace-information |
- internal-trace-information | PrivateExtensions, ...}
-
--- Report Delivery Envelope
-ReportDeliveryEnvelope ::= SET {
- COMPONENTS OF PerReportDeliveryFields,
- per-recipient-fields
- SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportDeliveryFields
-}
-
-PerReportDeliveryFields ::= SET {
- subject-submission-identifier SubjectSubmissionIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- content-type ContentType OPTIONAL,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{ReportDeliveryExtensions}} DEFAULT {}
-}
-
-ReportDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- message-security-label | content-correlator | redirection-history |
- originator-and-DL-expansion-history | reporting-DL-name |
- reporting-MTA-certificate | report-origin-authentication-check |
- trace-information | internal-trace-information | reporting-MTA-name |
- PrivateExtensions, ...}
-
-PerRecipientReportDeliveryFields ::= SET {
- actual-recipient-name [0] ActualRecipientName,
- report-type [1] ReportType,
- converted-encoded-information-types
- ConvertedEncodedInformationTypes OPTIONAL,
- originally-intended-recipient-name
- [2] OriginallyIntendedRecipientName OPTIONAL,
- supplementary-information [3] SupplementaryInformation OPTIONAL,
- extensions
- [4] SET OF ExtensionField{{PerRecipientReportDeliveryExtensions}}
- DEFAULT {}
-}
-
-PerRecipientReportDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- redirection-history | physical-forwarding-address | recipient-certificate |
- proof-of-delivery | PrivateExtensions, ...}
-
-ReportType ::= CHOICE {
- delivery [0] DeliveryReport,
- non-delivery [1] NonDeliveryReport
-}
-
-DeliveryReport ::= SET {
- message-delivery-time [0] MessageDeliveryTime,
- type-of-MTS-user [1] TypeOfMTSUser DEFAULT public
-}
-
-NonDeliveryReport ::= SET {
- non-delivery-reason-code [0] NonDeliveryReasonCode,
- non-delivery-diagnostic-code [1] NonDeliveryDiagnosticCode OPTIONAL
-}
-
--- Envelope Fields
-OriginatorName ::= ORAddressAndOrDirectoryName
-
-DeliveredOriginatorName ::= ORAddressAndOptionalDirectoryName
-
-OriginalEncodedInformationTypes ::= EncodedInformationTypes
-
-ContentTypes ::= SET SIZE (1..ub-content-types) OF ContentType
-
-ContentType ::= CHOICE {
- built-in BuiltInContentType,
- extended ExtendedContentType
-}
-
-BuiltInContentType ::= [APPLICATION 6] INTEGER {
- unidentified(0),
- external(1), -- identified by the object-identifier of the EXTERNAL content
- interpersonal-messaging-1984(2), interpersonal-messaging-1988(22),
- edi-messaging(35), voice-messaging(40)}(0..ub-built-in-content-type)
-
-ExtendedContentType ::= RELATIVE-OID
-
-DeliveredContentType ::= CHOICE {
- built-in [0] BuiltInContentType,
- extended ExtendedContentType
-}
-
-ContentIdentifier ::=
- [APPLICATION 10] PrintableString(SIZE (1..ub-content-id-length))
-
-PerMessageIndicators ::= [APPLICATION 8] BIT STRING {
- disclosure-of-other-recipients(0), -- disclosure-of-other-recipients-requested 'one',
-
- -- disclosure-of-other-recipients-prohibited 'zero';
- -- ignored for Probe-submission
- implicit-conversion-prohibited(1), -- implicit-conversion-prohibited 'one',
-
- -- implicit-conversion-allowed 'zero'
- alternate-recipient-allowed(2), -- alternate-recipient-allowed 'one',
-
- -- alternate-recipient-prohibited 'zero'
- content-return-request(3), -- content-return-requested 'one',
-
- -- content-return-not-requested 'zero';
- -- ignored for Probe-submission
- reserved(4), -- bit reserved by MOTIS 1986
- bit-5(5),
- bit-6(6), -- notification type-1 : bit 5 'zero' and bit 6 'one'
-
- -- notification type-2 : bit 5 'one' and bit 6 'zero'
- -- notification type-3 : bit 5 'one' and bit 6 'one'
- -- the mapping between notification type 1, 2, 3
- -- and the content specific notification types are defined
- -- in relevant content specifications
- service-message(7) -- the message content is for service purposes;
-
-
--- it may be a notification related to a service message;
--- used only by bilateral agreement --}(SIZE (0..ub-bit-options))
-
-RecipientName ::= ORAddressAndOrDirectoryName
-
-OriginatorReportRequest ::= BIT STRING {report(3), non-delivery-report(4)
-
--- at most one bit shall be 'one':
--- report bit 'one' requests a 'report';
--- non-delivery-report bit 'one' requests a 'non-delivery-report';
--- both bits 'zero' requests 'no-report' --}(SIZE (0..ub-bit-options))
-
-ExplicitConversion ::= INTEGER {
- ia5-text-to-teletex(0),
- -- values 1 to 7 are no longer defined
- ia5-text-to-g3-facsimile(8), ia5-text-to-g4-class-1(9),
- ia5-text-to-videotex(10), teletex-to-ia5-text(11),
- teletex-to-g3-facsimile(12), teletex-to-g4-class-1(13),
- teletex-to-videotex(14),
- -- value 15 is no longer defined
- videotex-to-ia5-text(16), videotex-to-teletex(17)}(0..ub-integer-options)
-
-DeferredDeliveryTime ::= Time
-
-Priority ::= [APPLICATION 7] ENUMERATED {normal(0), non-urgent(1), urgent(2)}
-
-ContentLength ::= INTEGER(0..ub-content-length)
-
-MessageDeliveryIdentifier ::= MTSIdentifier
-
-MessageDeliveryTime ::= Time
-
-DeliveryFlags ::= BIT STRING {
- implicit-conversion-prohibited(1) -- implicit-conversion-prohibited 'one',
-
- -- implicit-conversion-allowed 'zero' --}(SIZE (0..ub-bit-options))
-
-OtherRecipientNames ::= SEQUENCE SIZE (1..ub-recipients) OF OtherRecipientName
-
-OtherRecipientName ::= ORAddressAndOptionalDirectoryName
-
-ThisRecipientName ::= ORAddressAndOptionalDirectoryName
-
-OriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
-
-ConvertedEncodedInformationTypes ::= EncodedInformationTypes
-
-SubjectSubmissionIdentifier ::= MTSIdentifier
-
-ActualRecipientName ::= ORAddressAndOrDirectoryName
-
-TypeOfMTSUser ::= INTEGER {
- public(0), private(1), ms(2), dl(3), pdau(4), physical-recipient(5), other(6)
-}(0..ub-mts-user-types)
-
-NonDeliveryReasonCode ::= INTEGER {
- transfer-failure(0), unable-to-transfer(1), conversion-not-performed(2),
- physical-rendition-not-performed(3), physical-delivery-not-performed(4),
- restricted-delivery(5), directory-operation-unsuccessful(6),
- deferred-delivery-not-performed(7), transfer-failure-for-security-reason(8)
-}(0..ub-reason-codes)
-
-NonDeliveryDiagnosticCode ::= INTEGER {
- unrecognised-OR-name(0), ambiguous-OR-name(1), mts-congestion(2),
- loop-detected(3), recipient-unavailable(4), maximum-time-expired(5),
- encoded-information-types-unsupported(6), content-too-long(7),
- conversion-impractical(8), implicit-conversion-prohibited(9),
- implicit-conversion-not-subscribed(10), invalid-arguments(11),
- content-syntax-error(12), size-constraint-violation(13),
- protocol-violation(14), content-type-not-supported(15),
- too-many-recipients(16), no-bilateral-agreement(17),
- unsupported-critical-function(18), conversion-with-loss-prohibited(19),
- line-too-long(20), page-split(21), pictorial-symbol-loss(22),
- punctuation-symbol-loss(23), alphabetic-character-loss(24),
- multiple-information-loss(25), recipient-reassignment-prohibited(26),
- redirection-loop-detected(27), dl-expansion-prohibited(28),
- no-dl-submit-permission(29), dl-expansion-failure(30),
- physical-rendition-attributes-not-supported(31),
- undeliverable-mail-physical-delivery-address-incorrect(32),
- undeliverable-mail-physical-delivery-office-incorrect-or-invalid(33),
- undeliverable-mail-physical-delivery-address-incomplete(34),
- undeliverable-mail-recipient-unknown(35),
- undeliverable-mail-recipient-deceased(36),
- undeliverable-mail-organization-expired(37),
- undeliverable-mail-recipient-refused-to-accept(38),
- undeliverable-mail-recipient-did-not-claim(39),
- undeliverable-mail-recipient-changed-address-permanently(40),
- undeliverable-mail-recipient-changed-address-temporarily(41),
- undeliverable-mail-recipient-changed-temporary-address(42),
- undeliverable-mail-new-address-unknown(43),
- undeliverable-mail-recipient-did-not-want-forwarding(44),
- undeliverable-mail-originator-prohibited-forwarding(45),
- secure-messaging-error(46), unable-to-downgrade(47),
- unable-to-complete-transfer(48), transfer-attempts-limit-reached(49),
- incorrect-notification-type(50),
- dl-expansion-prohibited-by-security-policy(51),
- forbidden-alternate-recipient(52), security-policy-violation(53),
- security-services-refusal(54), unauthorised-dl-member(55),
- unauthorised-dl-name(56),
- unauthorised-originally-intended-recipient-name(57),
- unauthorised-originator-name(58), unauthorised-recipient-name(59),
- unreliable-system(60), authentication-failure-on-subject-message(61),
- decryption-failed(62), decryption-key-unobtainable(63),
- double-envelope-creation-failure(64),
- double-enveloping-message-restoring-failure(65),
- failure-of-proof-of-message(66), integrity-failure-on-subject-message(67),
- invalid-security-label(68), key-failure(69), mandatory-parameter-absence(70),
- operation-security-failure(71), repudiation-failure-of-message(72),
- security-context-failure(73), token-decryption-failed(74), token-error(75),
- unknown-security-label(76), unsupported-algorithm-identifier(77),
- unsupported-security-policy(78)}(0..ub-diagnostic-codes)
-
-SupplementaryInformation ::=
- PrintableString(SIZE (1..ub-supplementary-info-length))
-
--- Extension Fields
-EXTENSION ::= CLASS {
- &id ExtensionType UNIQUE,
- &Type OPTIONAL,
- &absent &Type OPTIONAL,
- &recommended Criticality DEFAULT {}
-}
-WITH SYNTAX {
- [&Type
- [IF ABSENT &absent],]
- [RECOMMENDED CRITICALITY &recommended,]
- IDENTIFIED BY &id
-}
-
-ExtensionType ::= CHOICE {
- standard-extension [0] INTEGER(0..ub-extension-types),
- private-extension [3] OBJECT IDENTIFIER
-}
-
-Criticality ::= BIT STRING {for-submission(0), for-transfer(1), for-delivery(2)
-}(SIZE (0..ub-bit-options)) -- critical 'one', non-critical 'zero'
-
-
-ExtensionField{EXTENSION:ChosenFrom} ::= SEQUENCE {
- type EXTENSION.&id({ChosenFrom}),
- criticality [1] Criticality DEFAULT {},
- value [2] EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
-}
-
-PrivateExtensions EXTENSION ::=
- {-- Any value shall be relayed and delivered if not Critical (see Table 27)
- -- except those values whose semantics the MTA obeys which are defined to be removed when obeyed.
- -- Shall be IDENTIFIED BY ExtensionType.private-extension --...}
-
-recipient-reassignment-prohibited EXTENSION ::= {
- RecipientReassignmentProhibited
- IF ABSENT recipient-reassignment-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:1
-}
-
-RecipientReassignmentProhibited ::= ENUMERATED {
- recipient-reassignment-allowed(0), recipient-reassignment-prohibited(1)
-}
-
-originator-requested-alternate-recipient EXTENSION ::= {
- OriginatorRequestedAlternateRecipient,
- RECOMMENDED CRITICALITY {for-submission},
- IDENTIFIED BY standard-extension:2
-}
-
-OriginatorRequestedAlternateRecipient ::= ORAddressAndOrDirectoryName
-
--- OriginatorRequestedAlternateRecipient as defined here differs from the field of the same name
--- defined in Figure 4, since on submission the OR-address need not be present, but on
--- transfer the OR-address must be present.
-dl-expansion-prohibited EXTENSION ::= {
- DLExpansionProhibited
- IF ABSENT dl-expansion-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:3
-}
-
-DLExpansionProhibited ::= ENUMERATED {
- dl-expansion-allowed(0), dl-expansion-prohibited(1)}
-
-conversion-with-loss-prohibited EXTENSION ::= {
- ConversionWithLossProhibited
- IF ABSENT conversion-with-loss-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:4
-}
-
-ConversionWithLossProhibited ::= ENUMERATED {
- conversion-with-loss-allowed(0), conversion-with-loss-prohibited(1)
-}
-
-latest-delivery-time EXTENSION ::= {
- LatestDeliveryTime,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:5
-}
-
-LatestDeliveryTime ::= Time
-
-requested-delivery-method EXTENSION ::= {
- RequestedDeliveryMethod
- IF ABSENT {any-delivery-method},
- IDENTIFIED BY standard-extension:6
-}
-
-RequestedDeliveryMethod ::=
- SEQUENCE OF INTEGER { -- each different in order of preference,
- -- most preferred first
- any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
- g4-facsimile-delivery(6), ia5-terminal-delivery(7), videotex-delivery(8),
- telephone-delivery(9)}(0..ub-integer-options)
-
-physical-forwarding-prohibited EXTENSION ::= {
- PhysicalForwardingProhibited
- IF ABSENT physical-forwarding-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:7
-}
-
-PhysicalForwardingProhibited ::= ENUMERATED {
- physical-forwarding-allowed(0), physical-forwarding-prohibited(1)}
-
-physical-forwarding-address-request EXTENSION ::= {
- PhysicalForwardingAddressRequest
- IF ABSENT physical-forwarding-address-not-requested,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:8
-}
-
-PhysicalForwardingAddressRequest ::= ENUMERATED {
- physical-forwarding-address-not-requested(0),
- physical-forwarding-address-requested(1)}
-
-physical-delivery-modes EXTENSION ::= {
- PhysicalDeliveryModes
- IF ABSENT {ordinary-mail},
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:9
-}
-
-PhysicalDeliveryModes ::= BIT STRING {
- ordinary-mail(0), special-delivery(1), express-mail(2),
- counter-collection(3), counter-collection-with-telephone-advice(4),
- counter-collection-with-telex-advice(5),
- counter-collection-with-teletex-advice(6), bureau-fax-delivery(7)
-
--- bits 0 to 6 are mutually exclusive
--- bit 7 can be set independently of any of bits 0 to 6 --}
-(SIZE (0..ub-bit-options))
-
-registered-mail-type EXTENSION ::= {
- RegisteredMailType
- IF ABSENT non-registered-mail,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:10
-}
-
-RegisteredMailType ::= INTEGER {
- non-registered-mail(0), registered-mail(1),
- registered-mail-to-addressee-in-person(2)}(0..ub-integer-options)
-
-recipient-number-for-advice EXTENSION ::= {
- RecipientNumberForAdvice,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:11
-}
-
-RecipientNumberForAdvice ::=
- TeletexString(SIZE (1..ub-recipient-number-for-advice-length))
-
-physical-rendition-attributes EXTENSION ::= {
- PhysicalRenditionAttributes
- IF ABSENT id-att-physicalRendition-basic,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:12
-}
-
-PhysicalRenditionAttributes ::= OBJECT IDENTIFIER
-
-originator-return-address EXTENSION ::= {
- OriginatorReturnAddress,
- IDENTIFIED BY standard-extension:13
-}
-
-OriginatorReturnAddress ::= ORAddress
-
-physical-delivery-report-request EXTENSION ::= {
- PhysicalDeliveryReportRequest
- IF ABSENT return-of-undeliverable-mail-by-PDS,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:14
-}
-
-PhysicalDeliveryReportRequest ::= INTEGER {
- return-of-undeliverable-mail-by-PDS(0), return-of-notification-by-PDS(1),
- return-of-notification-by-MHS(2), return-of-notification-by-MHS-and-PDS(3)
-}(0..ub-integer-options)
-
-originator-certificate EXTENSION ::= {
- OriginatorCertificate,
- IDENTIFIED BY standard-extension:15
-}
-
-OriginatorCertificate ::= Certificates
-
-message-token EXTENSION ::= {
- MessageToken,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:16
-}
-
-MessageToken ::= Token
-
-content-confidentiality-algorithm-identifier EXTENSION ::= {
- ContentConfidentialityAlgorithmIdentifier,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:17
-}
-
-ContentConfidentialityAlgorithmIdentifier ::= AlgorithmIdentifier
-
-content-integrity-check EXTENSION ::= {
- ContentIntegrityCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:18
-}
-
-ContentIntegrityCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ContentIntegrityAlgorithmIdentifier OPTIONAL,
- content Content}}
-
-ContentIntegrityAlgorithmIdentifier ::= AlgorithmIdentifier
-
-message-origin-authentication-check EXTENSION ::= {
- MessageOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:19
-}
-
-MessageOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- MessageOriginAuthenticationAlgorithmIdentifier,
- content Content,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL}}
-
-MessageOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-message-security-label EXTENSION ::= {
- MessageSecurityLabel,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:20
-}
-
-MessageSecurityLabel ::= SecurityLabel
-
-proof-of-submission-request EXTENSION ::= {
- ProofOfSubmissionRequest
- IF ABSENT proof-of-submission-not-requested,
- RECOMMENDED CRITICALITY {for-submission},
- IDENTIFIED BY standard-extension:21
-}
-
-ProofOfSubmissionRequest ::= ENUMERATED {
- proof-of-submission-not-requested(0), proof-of-submission-requested(1)
-}
-
-proof-of-delivery-request EXTENSION ::= {
- ProofOfDeliveryRequest
- IF ABSENT proof-of-delivery-not-requested,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:22
-}
-
-ProofOfDeliveryRequest ::= ENUMERATED {
- proof-of-delivery-not-requested(0), proof-of-delivery-requested(1)}
-
-content-correlator EXTENSION ::= {
- ContentCorrelator,
- IDENTIFIED BY standard-extension:23
-}
-
-ContentCorrelator ::= CHOICE {ia5text IA5String,
- octets OCTET STRING
-}
-
-probe-origin-authentication-check EXTENSION ::= {
- ProbeOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:24
-}
-
-ProbeOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProbeOriginAuthenticationAlgorithmIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL}}
-
-ProbeOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-redirection-history EXTENSION ::= {
- RedirectionHistory,
- IDENTIFIED BY standard-extension:25
-}
-
-RedirectionHistory ::= SEQUENCE SIZE (1..ub-redirections) OF Redirection
-
-Redirection ::= SEQUENCE {
- intended-recipient-name IntendedRecipientName,
- redirection-reason RedirectionReason
-}
-
-IntendedRecipientName ::= SEQUENCE {
- intended-recipient ORAddressAndOptionalDirectoryName,
- redirection-time Time
-}
-
-RedirectionReason ::= ENUMERATED {
- recipient-assigned-alternate-recipient(0),
- originator-requested-alternate-recipient(1),
- recipient-MD-assigned-alternate-recipient(2),
- -- The following values may not be supported by implementations of earlier versions of this Service Definition
- directory-look-up(3), alias(4), ...
- }
-
-dl-expansion-history EXTENSION ::= {
- DLExpansionHistory,
- IDENTIFIED BY standard-extension:26
-}
-
-DLExpansionHistory ::= SEQUENCE SIZE (1..ub-dl-expansions) OF DLExpansion
-
-DLExpansion ::= SEQUENCE {
- dl ORAddressAndOptionalDirectoryName,
- dl-expansion-time Time
-}
-
-physical-forwarding-address EXTENSION ::= {
- PhysicalForwardingAddress,
- IDENTIFIED BY standard-extension:27
-}
-
-PhysicalForwardingAddress ::= ORAddressAndOptionalDirectoryName
-
-recipient-certificate EXTENSION ::= {
- RecipientCertificate,
- IDENTIFIED BY standard-extension:28
-}
-
-proof-of-delivery EXTENSION ::= {
- ProofOfDelivery,
- IDENTIFIED BY standard-extension:29
-}
-
-originator-and-DL-expansion-history EXTENSION ::= {
- OriginatorAndDLExpansionHistory,
- IDENTIFIED BY standard-extension:30
-}
-
-OriginatorAndDLExpansionHistory ::=
- SEQUENCE SIZE (2..ub-orig-and-dl-expansions) OF OriginatorAndDLExpansion
-
-OriginatorAndDLExpansion ::= SEQUENCE {
- originator-or-dl-name ORAddressAndOptionalDirectoryName,
- origination-or-expansion-time Time
-}
-
-reporting-DL-name EXTENSION ::= {
- ReportingDLName,
- IDENTIFIED BY standard-extension:31
-}
-
-ReportingDLName ::= ORAddressAndOptionalDirectoryName
-
-reporting-MTA-certificate EXTENSION ::= {
- ReportingMTACertificate,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:32
-}
-
-ReportingMTACertificate ::= Certificates
-
-report-origin-authentication-check EXTENSION ::= {
- ReportOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:33
-}
-
-ReportOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ReportOriginAuthenticationAlgorithmIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL,
- per-recipient
- SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportFields
- }}
-
-ReportOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-PerRecipientReportFields ::= SEQUENCE {
- actual-recipient-name ActualRecipientName,
- originally-intended-recipient-name OriginallyIntendedRecipientName OPTIONAL,
- report-type
- CHOICE {delivery [0] PerRecipientDeliveryReportFields,
- non-delivery [1] PerRecipientNonDeliveryReportFields}
-}
-
-PerRecipientDeliveryReportFields ::= SEQUENCE {
- message-delivery-time MessageDeliveryTime,
- type-of-MTS-user TypeOfMTSUser,
- recipient-certificate [0] RecipientCertificate OPTIONAL,
- proof-of-delivery [1] ProofOfDelivery OPTIONAL
-}
-
-PerRecipientNonDeliveryReportFields ::= SEQUENCE {
- non-delivery-reason-code NonDeliveryReasonCode,
- non-delivery-diagnostic-code NonDeliveryDiagnosticCode OPTIONAL
-}
-
-originating-MTA-certificate EXTENSION ::= {
- OriginatingMTACertificate,
- IDENTIFIED BY standard-extension:34
-}
-
-OriginatingMTACertificate ::= Certificates
-
-proof-of-submission EXTENSION ::= {
- ProofOfSubmission,
- IDENTIFIED BY standard-extension:35
-}
-
-ProofOfSubmission ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProofOfSubmissionAlgorithmIdentifier,
- message-submission-envelope MessageSubmissionEnvelope,
- content Content,
- message-submission-identifier MessageSubmissionIdentifier,
- message-submission-time MessageSubmissionTime}}
-
-ProofOfSubmissionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-reporting-MTA-name EXTENSION ::= {
- ReportingMTAName,
- IDENTIFIED BY standard-extension:39
-}
-
-ReportingMTAName ::= SEQUENCE {
- domain GlobalDomainIdentifier,
- mta-name MTAName,
- mta-directory-name [0] Name OPTIONAL
-}
-
-multiple-originator-certificates EXTENSION ::= {
- ExtendedCertificates,
- IDENTIFIED BY standard-extension:40
-}
-
-ExtendedCertificates ::= SET SIZE (1..ub-certificates) OF ExtendedCertificate
-
-ExtendedCertificate ::= CHOICE {
- directory-entry [0] Name, -- Name of a Directory entry where the certificate can be found
- certificate [1] Certificates
-}
-
-dl-exempted-recipients EXTENSION ::= {
- DLExemptedRecipients,
- IDENTIFIED BY standard-extension:42
-}
-
-DLExemptedRecipients ::= SET OF ORAddressAndOrDirectoryName
-
-certificate-selectors EXTENSION ::= {
- CertificateSelectors,
- IDENTIFIED BY standard-extension:45
-}
-
-CertificateSelectors ::= SET {
- encryption-recipient [0] CertificateAssertion OPTIONAL,
- encryption-originator [1] CertificateAssertion OPTIONAL,
- content-integrity-check [2] CertificateAssertion OPTIONAL,
- token-signature [3] CertificateAssertion OPTIONAL,
- message-origin-authentication [4] CertificateAssertion OPTIONAL
-}
-
-certificate-selectors-override EXTENSION ::= {
- CertificateSelectors
- (WITH COMPONENTS {
- ...,
- message-origin-authentication ABSENT
- }),
- IDENTIFIED BY standard-extension:46
-}
-
--- Some standard-extensions are defined elsewhere:
--- 36 (forwarding-request) in ITU-T Rec. X.413 | ISO/IEC 10021-5;
--- 37 (trace-information), and 38 (internal-trace-information) in Figure 4;
--- 41 (blind-copy-recipients), 43 (body-part-encryption-token), and 44 (forwarded-content-token) in
--- ITU-T Rec. X.420 | ISO/IEC 10021-7
--- Common Parameter Types
-Content ::=
- OCTET
- STRING -- when the content-type has the integer value external, the value of the
-
--- content octet string is the ASN.1 encoding of the external-content;
--- an external-content is a data type EXTERNAL
-MTSIdentifier ::= [APPLICATION 4] SEQUENCE {
- global-domain-identifier GlobalDomainIdentifier,
- local-identifier LocalIdentifier
-}
-
-LocalIdentifier ::= IA5String(SIZE (1..ub-local-id-length))
-
-GlobalDomainIdentifier ::= [APPLICATION 3] SEQUENCE {
- country-name CountryName,
- administration-domain-name AdministrationDomainName,
- private-domain-identifier PrivateDomainIdentifier OPTIONAL
-}
-
-PrivateDomainIdentifier ::= CHOICE {
- numeric NumericString(SIZE (1..ub-domain-name-length)),
- printable PrintableString(SIZE (1..ub-domain-name-length))
-}
-
-MTAName ::= IA5String(SIZE (1..ub-mta-name-length))
-
-Time ::= UTCTime
-
--- OR Names
-ORAddressAndOrDirectoryName ::= ORName
-
-ORAddressAndOptionalDirectoryName ::= ORName
-
-ORName ::= [APPLICATION 0] SEQUENCE {
- -- address --COMPONENTS OF ORAddress,
- directory-name [0] Name OPTIONAL
-}
-
-ORAddress ::= SEQUENCE {
- built-in-standard-attributes BuiltInStandardAttributes,
- built-in-domain-defined-attributes BuiltInDomainDefinedAttributes OPTIONAL,
- -- see also teletex-domain-defined-attributes
- extension-attributes ExtensionAttributes OPTIONAL
-}
-
--- The OR-address is semantically absent from the OR-name if the built-in-standard-attribute
--- sequence is empty and the built-in-domain-defined-attributes and extension-attributes are both omitted.
--- Built-in Standard Attributes
-BuiltInStandardAttributes ::= SEQUENCE {
- country-name CountryName OPTIONAL,
- administration-domain-name AdministrationDomainName OPTIONAL,
- network-address [0] NetworkAddress OPTIONAL,
- -- see also extended-network-address
- terminal-identifier [1] TerminalIdentifier OPTIONAL,
- private-domain-name [2] PrivateDomainName OPTIONAL,
- organization-name [3] OrganizationName OPTIONAL,
- -- see also teletex-organization-name
- numeric-user-identifier [4] NumericUserIdentifier OPTIONAL,
- personal-name [5] PersonalName OPTIONAL,
- -- see also teletex-personal-name
- organizational-unit-names [6] OrganizationalUnitNames OPTIONAL
- -- see also teletex-organizational-unit-names
-}
-
-CountryName ::= [APPLICATION 1] CHOICE {
- x121-dcc-code NumericString(SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length))
-}
-
-AdministrationDomainName ::= [APPLICATION 2] CHOICE {
- numeric NumericString(SIZE (0..ub-domain-name-length)),
- printable PrintableString(SIZE (0..ub-domain-name-length))
-}
-
-NetworkAddress ::= X121Address
-
--- see also extended-network-address
-X121Address ::= NumericString(SIZE (1..ub-x121-address-length))
-
-TerminalIdentifier ::= PrintableString(SIZE (1..ub-terminal-id-length))
-
-PrivateDomainName ::= CHOICE {
- numeric NumericString(SIZE (1..ub-domain-name-length)),
- printable PrintableString(SIZE (1..ub-domain-name-length))
-}
-
-OrganizationName ::= PrintableString(SIZE (1..ub-organization-name-length))
-
--- see also teletex-organization-name
-NumericUserIdentifier ::= NumericString(SIZE (1..ub-numeric-user-id-length))
-
-PersonalName ::= SET {
- surname [0] PrintableString(SIZE (1..ub-surname-length)),
- given-name
- [1] PrintableString(SIZE (1..ub-given-name-length)) OPTIONAL,
- initials
- [2] PrintableString(SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier
- [3] PrintableString(SIZE (1..ub-generation-qualifier-length)) OPTIONAL
-}
-
--- see also teletex-personal-name
-OrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF OrganizationalUnitName
-
--- see also teletex-organizational-unit-names
-OrganizationalUnitName ::=
- PrintableString(SIZE (1..ub-organizational-unit-name-length))
-
--- Built-in Domain-defined Attributes
-BuiltInDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- BuiltInDomainDefinedAttribute
-
-BuiltInDomainDefinedAttribute ::= SEQUENCE {
- type PrintableString(SIZE (1..ub-domain-defined-attribute-type-length)),
- value PrintableString(SIZE (1..ub-domain-defined-attribute-value-length))
-}
-
--- Extension Attributes
-ExtensionAttributes ::=
- SET SIZE (1..ub-extension-attributes) OF ExtensionAttribute
-
-ExtensionAttribute ::= SEQUENCE {
- extension-attribute-type
- [0] EXTENSION-ATTRIBUTE.&id({ExtensionAttributeTable}),
- extension-attribute-value
- [1] EXTENSION-ATTRIBUTE.&Type
- ({ExtensionAttributeTable}{@extension-attribute-type})
-}
-
-EXTENSION-ATTRIBUTE ::= CLASS {
- &id INTEGER(0..ub-extension-attributes) UNIQUE,
- &Type
-}WITH SYNTAX {&Type
- IDENTIFIED BY &id
-}
-
-ExtensionAttributeTable EXTENSION-ATTRIBUTE ::=
- {common-name | teletex-common-name | universal-common-name |
- teletex-organization-name | universal-organization-name |
- teletex-personal-name | universal-personal-name |
- teletex-organizational-unit-names | universal-organizational-unit-names |
- teletex-domain-defined-attributes | universal-domain-defined-attributes |
- pds-name | physical-delivery-country-name | postal-code |
- physical-delivery-office-name | universal-physical-delivery-office-name |
- physical-delivery-office-number | universal-physical-delivery-office-number
- | extension-OR-address-components |
- universal-extension-OR-address-components | physical-delivery-personal-name
- | universal-physical-delivery-personal-name |
- physical-delivery-organization-name |
- universal-physical-delivery-organization-name |
- extension-physical-delivery-address-components |
- universal-extension-physical-delivery-address-components |
- unformatted-postal-address | universal-unformatted-postal-address |
- street-address | universal-street-address | post-office-box-address |
- universal-post-office-box-address | poste-restante-address |
- universal-poste-restante-address | unique-postal-name |
- universal-unique-postal-name | local-postal-attributes |
- universal-local-postal-attributes | extended-network-address | terminal-type
- }
-
--- Extension Standard Attributes
-common-name EXTENSION-ATTRIBUTE ::= {CommonName
- IDENTIFIED BY 1
-}
-
-CommonName ::= PrintableString(SIZE (1..ub-common-name-length))
-
-teletex-common-name EXTENSION-ATTRIBUTE ::= {TeletexCommonName
- IDENTIFIED BY 2
-}
-
-TeletexCommonName ::= TeletexString(SIZE (1..ub-common-name-length))
-
-universal-common-name EXTENSION-ATTRIBUTE ::= {
- UniversalCommonName
- IDENTIFIED BY 24
-}
-
-UniversalCommonName ::= UniversalOrBMPString{ub-common-name-length}
-
-teletex-organization-name EXTENSION-ATTRIBUTE ::= {
- TeletexOrganizationName
- IDENTIFIED BY 3
-}
-
-TeletexOrganizationName ::=
- TeletexString(SIZE (1..ub-organization-name-length))
-
-universal-organization-name EXTENSION-ATTRIBUTE ::= {
- UniversalOrganizationName
- IDENTIFIED BY 25
-}
-
-UniversalOrganizationName ::= UniversalOrBMPString{ub-organization-name-length}
-
-teletex-personal-name EXTENSION-ATTRIBUTE ::= {
- TeletexPersonalName
- IDENTIFIED BY 4
-}
-
-TeletexPersonalName ::= SET {
- surname [0] TeletexString(SIZE (1..ub-surname-length)),
- given-name
- [1] TeletexString(SIZE (1..ub-given-name-length)) OPTIONAL,
- initials
- [2] TeletexString(SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier
- [3] TeletexString(SIZE (1..ub-generation-qualifier-length)) OPTIONAL
-}
-
-universal-personal-name EXTENSION-ATTRIBUTE ::= {
- UniversalPersonalName
- IDENTIFIED BY 26
-}
-
-UniversalPersonalName ::= SET {
- surname [0] UniversalOrBMPString{ub-universal-surname-length},
- -- If a language is specified within surname, then that language applies to each of the following
- -- optional components unless the component specifies another language.
- given-name
- [1] UniversalOrBMPString{ub-universal-given-name-length} OPTIONAL,
- initials
- [2] UniversalOrBMPString{ub-universal-initials-length} OPTIONAL,
- generation-qualifier
- [3] UniversalOrBMPString{ub-universal-generation-qualifier-length}
- OPTIONAL
-}
-
-teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
- TeletexOrganizationalUnitNames
- IDENTIFIED BY 5
-}
-
-TeletexOrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF TeletexOrganizationalUnitName
-
-TeletexOrganizationalUnitName ::=
- TeletexString(SIZE (1..ub-organizational-unit-name-length))
-
-universal-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
- UniversalOrganizationalUnitNames
- IDENTIFIED BY 27
-}
-
-UniversalOrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF UniversalOrganizationalUnitName
-
--- If a unit name specifies a language, then that language applies to subordinate unit names unless
--- the subordinate specifies another language.
-UniversalOrganizationalUnitName ::=
- UniversalOrBMPString{ub-organizational-unit-name-length}
-
-UniversalOrBMPString{INTEGER:ub-string-length} ::= SET {
- character-encoding
- CHOICE {two-octets BMPString(SIZE (1..ub-string-length)),
- four-octets UniversalString(SIZE (1..ub-string-length))},
- iso-639-language-code PrintableString(SIZE (2 | 5)) OPTIONAL
-}
-
-pds-name EXTENSION-ATTRIBUTE ::= {PDSName
- IDENTIFIED BY 7
-}
-
-PDSName ::= PrintableString(SIZE (1..ub-pds-name-length))
-
-physical-delivery-country-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryCountryName
- IDENTIFIED BY 8
-}
-
-PhysicalDeliveryCountryName ::= CHOICE {
- x121-dcc-code NumericString(SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length))
-}
-
-postal-code EXTENSION-ATTRIBUTE ::= {PostalCode
- IDENTIFIED BY 9
-}
-
-PostalCode ::= CHOICE {
- numeric-code NumericString(SIZE (1..ub-postal-code-length)),
- printable-code PrintableString(SIZE (1..ub-postal-code-length))
-}
-
-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOfficeName
- IDENTIFIED BY 10
-}
-
-PhysicalDeliveryOfficeName ::= PDSParameter
-
-universal-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryOfficeName
- IDENTIFIED BY 29
-}
-
-UniversalPhysicalDeliveryOfficeName ::= UniversalPDSParameter
-
-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOfficeNumber
- IDENTIFIED BY 11
-}
-
-PhysicalDeliveryOfficeNumber ::= PDSParameter
-
-universal-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryOfficeNumber
- IDENTIFIED BY 30
-}
-
-UniversalPhysicalDeliveryOfficeNumber ::= UniversalPDSParameter
-
-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
- ExtensionORAddressComponents
- IDENTIFIED BY 12
-}
-
-ExtensionORAddressComponents ::= PDSParameter
-
-universal-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
- UniversalExtensionORAddressComponents
- IDENTIFIED BY 31
-}
-
-UniversalExtensionORAddressComponents ::= UniversalPDSParameter
-
-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryPersonalName
- IDENTIFIED BY 13
-}
-
-PhysicalDeliveryPersonalName ::= PDSParameter
-
-universal-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryPersonalName
- IDENTIFIED BY 32
-}
-
-UniversalPhysicalDeliveryPersonalName ::= UniversalPDSParameter
-
-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOrganizationName
- IDENTIFIED BY 14
-}
-
-PhysicalDeliveryOrganizationName ::= PDSParameter
-
-universal-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::=
-{UniversalPhysicalDeliveryOrganizationName
- IDENTIFIED BY 33
-}
-
-UniversalPhysicalDeliveryOrganizationName ::= UniversalPDSParameter
-
-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::=
-{ExtensionPhysicalDeliveryAddressComponents
- IDENTIFIED BY 15
-}
-
-ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
-
-universal-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE
- ::= {UniversalExtensionPhysicalDeliveryAddressComponents
- IDENTIFIED BY 34
-}
-
-UniversalExtensionPhysicalDeliveryAddressComponents ::= UniversalPDSParameter
-
-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
- UnformattedPostalAddress
- IDENTIFIED BY 16
-}
-
-UnformattedPostalAddress ::= SET {
- printable-address
- SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
- PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string
- TeletexString(SIZE (1..ub-unformatted-address-length)) OPTIONAL
-}
-
-universal-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
- UniversalUnformattedPostalAddress
- IDENTIFIED BY 35
-}
-
-UniversalUnformattedPostalAddress ::=
- UniversalOrBMPString{ub-unformatted-address-length}
-
-street-address EXTENSION-ATTRIBUTE ::= {StreetAddress
- IDENTIFIED BY 17
-}
-
-StreetAddress ::= PDSParameter
-
-universal-street-address EXTENSION-ATTRIBUTE ::= {
- UniversalStreetAddress
- IDENTIFIED BY 36
-}
-
-UniversalStreetAddress ::= UniversalPDSParameter
-
-post-office-box-address EXTENSION-ATTRIBUTE ::= {
- PostOfficeBoxAddress
- IDENTIFIED BY 18
-}
-
-PostOfficeBoxAddress ::= PDSParameter
-
-universal-post-office-box-address EXTENSION-ATTRIBUTE ::= {
- UniversalPostOfficeBoxAddress
- IDENTIFIED BY 37
-}
-
-UniversalPostOfficeBoxAddress ::= UniversalPDSParameter
-
-poste-restante-address EXTENSION-ATTRIBUTE ::= {
- PosteRestanteAddress
- IDENTIFIED BY 19
-}
-
-PosteRestanteAddress ::= PDSParameter
-
-universal-poste-restante-address EXTENSION-ATTRIBUTE ::= {
- UniversalPosteRestanteAddress
- IDENTIFIED BY 38
-}
-
-UniversalPosteRestanteAddress ::= UniversalPDSParameter
-
-unique-postal-name EXTENSION-ATTRIBUTE ::= {UniquePostalName
- IDENTIFIED BY 20
-}
-
-UniquePostalName ::= PDSParameter
-
-universal-unique-postal-name EXTENSION-ATTRIBUTE ::= {
- UniversalUniquePostalName
- IDENTIFIED BY 39
-}
-
-UniversalUniquePostalName ::= UniversalPDSParameter
-
-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
- LocalPostalAttributes
- IDENTIFIED BY 21
-}
-
-LocalPostalAttributes ::= PDSParameter
-
-universal-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
- UniversalLocalPostalAttributes
- IDENTIFIED BY 40
-}
-
-UniversalLocalPostalAttributes ::= UniversalPDSParameter
-
-PDSParameter ::= SET {
- printable-string PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string TeletexString(SIZE (1..ub-pds-parameter-length)) OPTIONAL
-}
-
-UniversalPDSParameter ::= UniversalOrBMPString{ub-pds-parameter-length}
-
-extended-network-address EXTENSION-ATTRIBUTE ::= {
- ExtendedNetworkAddress
- IDENTIFIED BY 22
-}
-
-ExtendedNetworkAddress ::= CHOICE {
- e163-4-address
- SEQUENCE {number
- [0] NumericString(SIZE (1..ub-e163-4-number-length)),
- sub-address
- [1] NumericString(SIZE (1..ub-e163-4-sub-address-length))
- OPTIONAL},
- psap-address [0] PresentationAddress
-}
-
-terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType
- IDENTIFIED BY 23
-}
-
-TerminalType ::= INTEGER {
- telex(3), teletex(4), g3-facsimile(5), g4-facsimile(6), ia5-terminal(7),
- videotex(8)}(0..ub-integer-options)
-
--- Extension Domain-defined Attributes
-teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
- TeletexDomainDefinedAttributes
- IDENTIFIED BY 6
-}
-
-TeletexDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- TeletexDomainDefinedAttribute
-
-TeletexDomainDefinedAttribute ::= SEQUENCE {
- type TeletexString(SIZE (1..ub-domain-defined-attribute-type-length)),
- value TeletexString(SIZE (1..ub-domain-defined-attribute-value-length))
-}
-
-universal-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
- UniversalDomainDefinedAttributes
- IDENTIFIED BY 28
-}
-
-UniversalDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- UniversalDomainDefinedAttribute
-
-UniversalDomainDefinedAttribute ::= SEQUENCE {
- type UniversalOrBMPString{ub-domain-defined-attribute-type-length},
- value UniversalOrBMPString{ub-domain-defined-attribute-value-length}
-}
-
--- Encoded Information Types
-EncodedInformationTypes ::= [APPLICATION 5] SET {
- built-in-encoded-information-types [0] BuiltInEncodedInformationTypes,
- -- non-basic-parameters --COMPONENTS OF NonBasicParameters,
- extended-encoded-information-types
- [4] ExtendedEncodedInformationTypes OPTIONAL
-}
-
--- Built-in Encoded Information Types
-BuiltInEncodedInformationTypes ::= BIT STRING {
- unknown(0), ia5-text(2), g3-facsimile(3), g4-class-1(4), teletex(5),
- videotex(6), voice(7), sfd(8), mixed-mode(9)
-}(SIZE (0..ub-built-in-encoded-information-types))
-
--- Extended Encoded Information Types
-ExtendedEncodedInformationTypes ::=
- SET SIZE (1..ub-encoded-information-types) OF ExtendedEncodedInformationType
-
-ExtendedEncodedInformationType ::= OBJECT IDENTIFIER
-
--- Non-basic Parameters
-NonBasicParameters ::= SET {
- g3-facsimile [1] G3FacsimileNonBasicParameters DEFAULT {},
- teletex [2] TeletexNonBasicParameters DEFAULT {}
-}
-
-G3FacsimileNonBasicParameters ::= BIT STRING {
- two-dimensional(8), -- As defined in ITU-T Recommendation T.30
- fine-resolution(9), --
- unlimited-length(20), -- These bit values are chosen such that when
- b4-length(21), -- encoded using ASN.1 Basic Encoding Rules
- a3-width(22), -- the resulting octets have the same values
- b4-width(23), -- as for T.30 encoding
- t6-coding(25), --
- uncompressed(30), -- Trailing zero bits are not significant.
- width-middle-864-of-1728(37), -- It is recommended that implementations
- width-middle-1216-of-1728(38), -- should not encode more than 32 bits unless
- resolution-type(44), -- higher numbered bits are non-zero.
- resolution-400x400(45), resolution-300x300(46), resolution-8x15(47),
- edi(49), dtm(50), bft(51), mixed-mode(58), character-mode(60),
- twelve-bits(65), preferred-huffmann(66), full-colour(67), jpeg(68),
- processable-mode-26(71)}
-
-TeletexNonBasicParameters ::= SET {
- graphic-character-sets [0] TeletexString OPTIONAL,
- control-character-sets [1] TeletexString OPTIONAL,
- page-formats [2] OCTET STRING OPTIONAL,
- miscellaneous-terminal-capabilities [3] TeletexString OPTIONAL,
- private-use
- [4] OCTET STRING
- OPTIONAL -- maximum ub-teletex-private-use-length octets --
-}
-
--- as defined in CCITT Recommendation T.62
--- Token
-Token ::= SEQUENCE {
- token-type-identifier [0] TOKEN.&id({TokensTable}),
- token
- [1] TOKEN.&Type({TokensTable}{@token-type-identifier})
-}
-
-TOKEN ::= TYPE-IDENTIFIER
-
-TokensTable TOKEN ::= {asymmetric-token, ...}
-
-asymmetric-token TOKEN ::= {
- AsymmetricToken
- IDENTIFIED BY id-tok-asymmetricToken
-}
-
-AsymmetricToken ::=
- SIGNED
- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
- name
- CHOICE {recipient-name RecipientName,
- mta
- [3] SEQUENCE {global-domain-identifier
- GlobalDomainIdentifier OPTIONAL,
- mta-name MTAName
- }},
- time Time,
- signed-data [0] TokenData OPTIONAL,
- encryption-algorithm-identifier
- [1] AlgorithmIdentifier OPTIONAL,
- encrypted-data
- [2] ENCRYPTED{TokenData} OPTIONAL}}
-
-TokenData ::= SEQUENCE {
- type [0] TOKEN-DATA.&id({TokenDataTable}),
- value [1] TOKEN-DATA.&Type({TokenDataTable}{@type})
-}
-
-TOKEN-DATA ::= CLASS {&id INTEGER UNIQUE,
- &Type
-}WITH SYNTAX {&Type
- IDENTIFIED BY &id
-}
-
-TokenDataTable TOKEN-DATA ::=
- {bind-token-signed-data | message-token-signed-data |
- message-token-encrypted-data | bind-token-encrypted-data, ...}
-
-bind-token-signed-data TOKEN-DATA ::= {BindTokenSignedData
- IDENTIFIED BY 1
-}
-
-BindTokenSignedData ::= RandomNumber
-
-RandomNumber ::= BIT STRING
-
-message-token-signed-data TOKEN-DATA ::= {
- MessageTokenSignedData
- IDENTIFIED BY 2
-}
-
-MessageTokenSignedData ::= SEQUENCE {
- content-confidentiality-algorithm-identifier
- [0] ContentConfidentialityAlgorithmIdentifier OPTIONAL,
- content-integrity-check
- [1] ContentIntegrityCheck OPTIONAL,
- message-security-label
- [2] MessageSecurityLabel OPTIONAL,
- proof-of-delivery-request
- [3] ProofOfDeliveryRequest OPTIONAL,
- message-sequence-number [4] INTEGER OPTIONAL
-}
-
-message-token-encrypted-data TOKEN-DATA ::= {
- MessageTokenEncryptedData
- IDENTIFIED BY 3
-}
-
-MessageTokenEncryptedData ::= SEQUENCE {
- content-confidentiality-key [0] EncryptionKey OPTIONAL,
- content-integrity-check [1] ContentIntegrityCheck OPTIONAL,
- message-security-label [2] MessageSecurityLabel OPTIONAL,
- content-integrity-key [3] EncryptionKey OPTIONAL,
- message-sequence-number [4] INTEGER OPTIONAL
-}
-
-EncryptionKey ::= BIT STRING
-
-bind-token-encrypted-data TOKEN-DATA ::= {
- BindTokenEncryptedData
- IDENTIFIED BY 4
-}
-
-BindTokenEncryptedData ::= EXTERNAL
-
--- Security Label
-SecurityLabel ::= SET {
- security-policy-identifier SecurityPolicyIdentifier OPTIONAL,
- security-classification SecurityClassification OPTIONAL,
- privacy-mark PrivacyMark OPTIONAL,
- security-categories SecurityCategories OPTIONAL
-}
-
-SecurityPolicyIdentifier ::= OBJECT IDENTIFIER
-
-SecurityClassification ::= INTEGER {
- unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
- top-secret(5)}(0..ub-integer-options)
-
-PrivacyMark ::= PrintableString(SIZE (1..ub-privacy-mark-length))
-
-SecurityCategories ::= SET SIZE (1..ub-security-categories) OF SecurityCategory
-
-SecurityCategory ::= SEQUENCE {
- type [0] SECURITY-CATEGORY.&id({SecurityCategoriesTable}),
- value [1] SECURITY-CATEGORY.&Type({SecurityCategoriesTable}{@type})
-}
-
-SECURITY-CATEGORY ::= TYPE-IDENTIFIER
-
-SecurityCategoriesTable SECURITY-CATEGORY ::=
- {...}
-
-END -- of MTSAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAbstractService88.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAbstractService88.asn
deleted file mode 100644
index f66d117f35..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAbstractService88.asn
+++ /dev/null
@@ -1,150 +0,0 @@
--- Module MTSAbstractService88 (X.411:06/1999)
-MTSAbstractService88 {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1988(1988)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- Remote Operations
- CONTRACT
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- -- MTS Abstract Service Parameters
- operationObject1, ABSTRACT-OPERATION, change-credentials, ContentLength,
- ContentTypes, Controls, control-violates-registration,
- DefaultDeliveryControls, EncodedInformationTypes, message-delivery,
- MHS-OBJECT, mts-connect, PORT, RecipientAssignedAlternateRecipient,
- register-rejected, report-delivery, SecurityLabel, security-error,
- submission, UserAddress, UserName, Waiting
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- Object Identifiers
- id-ct-mts-access, id-ct-mts-forced-access, id-ot-mts, id-ot-mts-user,
- id-pt-administration, id-pt-delivery
- --==
- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Operation Codes
- op-delivery-control, op-register
- --==
- FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- mts-access-protocol(1) version-1999(1)}
- -- Upper Bounds
- ub-content-types, ub-labels-and-redirections
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)};
-
--- Objects
-mts-88 MHS-OBJECT ::= {
- INITIATES {mts-forced-access-contract-88}
- RESPONDS {mts-access-contract-88}
- ID {id-ot-mts 88}
-}
-
-mts-user-88 MHS-OBJECT ::= {
- INITIATES {mts-access-contract-88}
- RESPONDS {mts-forced-access-contract-88}
- ID {id-ot-mts-user 88}
-}
-
--- Contracts
-mts-access-contract-88 CONTRACT ::= {
- CONNECTION mts-connect
- INITIATOR CONSUMER OF {submission | delivery-88 | administration-88}
- ID {id-ct-mts-access 88}
-}
-
-mts-forced-access-contract-88 CONTRACT ::= {
- CONNECTION mts-connect
- RESPONDER CONSUMER OF {submission | delivery-88 | administration-88}
- ID {id-ct-mts-forced-access 88}
-}
-
--- Ports
-delivery-88 PORT ::= {
- OPERATIONS
- {operationObject1,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- CONSUMER INVOKES
- {delivery-control-88,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- SUPPLIER INVOKES
- {message-delivery | report-delivery,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- ID {id-pt-delivery 88}
-}
-
-administration-88 PORT ::= {
- OPERATIONS
- {change-credentials,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- CONSUMER INVOKES
- {register-88,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- SUPPLIER INVOKES
- {operationObject1,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- ID {id-pt-administration 88}
-}
-
--- Delivery Port
-delivery-control-88 ABSTRACT-OPERATION ::= {
- ARGUMENT DeliveryControls88
- RESULT Waiting
- ERRORS {control-violates-registration | security-error}
- LINKED
- {operationObject1,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- INVOKE PRIORITY {3}
- CODE op-delivery-control
-}
-
-DeliveryControls88 ::= SET {
- COMPONENTS OF
- Controls
- (WITH COMPONENTS {
- ...,
- permissible-encoded-information-types ABSENT
- }),
- permissible-encoded-information-types-88 EncodedInformationTypes OPTIONAL
-}
-
--- Administration Port
-register-88 ABSTRACT-OPERATION ::= {
- ARGUMENT Register88
- RESULT NULL
- ERRORS {register-rejected}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-register
-}
-
-Register88 ::= SET {
- user-name UserName OPTIONAL,
- user-address [0] UserAddress OPTIONAL,
- deliverable-encoded-information-types EncodedInformationTypes OPTIONAL,
- deliverable-maximum-content-length [1] EXPLICIT ContentLength OPTIONAL,
- default-delivery-controls
- [2] EXPLICIT DefaultDeliveryControls OPTIONAL,
- deliverable-content-types [3] ContentTypes OPTIONAL,
- labels-and-redirections
- [4] SET SIZE (1..ub-labels-and-redirections) OF LabelAndRedirection
- OPTIONAL
-}
-
-LabelAndRedirection ::= SET {
- user-security-label [0] UserSecurityLabel OPTIONAL,
- recipient-assigned-alternate-recipient
- [1] RecipientAssignedAlternateRecipient OPTIONAL
-}
-
-UserSecurityLabel ::= SecurityLabel
-
-END -- of MTSAbstractService88
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAccessProtocol.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAccessProtocol.asn
deleted file mode 100644
index 03181c5951..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSAccessProtocol.asn
+++ /dev/null
@@ -1,321 +0,0 @@
--- Module MTSAccessProtocol (X.419:06/1999)
-
-MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- mts-access-protocol(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
-IMPORTS
- -- MTS Abstract Service
- administration, delivery, mts-access-contract, mts-connect,
- mts-forced-access-contract, submission
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- MTS Abstract Service (1988)
- administration-88, delivery-88, mts-access-contract-88,
- mts-forced-access-contract-88
- --==
- FROM MTSAbstractService88 {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1988(1988)}
- -- Remote Operations
- APPLICATION-CONTEXT
- --==
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- Code
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- Bind{}, InvokeId, Unbind{}
- --==
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- ROS-SingleAS{}
- --==
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- acse, association-by-RTSE, pData, transfer-by-RTSE
- --==
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- --==
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- -- Reliable Transfer
- RTORQapdu, RTOACapdu, RTORJapdu
- FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
- -- Object Identifiers
- id-ac-mts-access-88, id-ac-mts-access-94, id-ac-mts-forced-access-88,
- id-ac-mts-forced-access-94, id-ac-mts-forced-reliable-access-88,
- id-ac-mts-forced-reliable-access-94, id-ac-mts-reliable-access-88,
- id-ac-mts-reliable-access-94, id-as-mase-88, id-as-mase-94, id-as-mdse-88,
- id-as-mdse-94, id-as-msse, id-as-mts, id-as-mts-rtse
- --==
- FROM MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0)
- modules(0) object-identifiers(0) version-1994(0)};
-
-RTSE-apdus ::= CHOICE {
- rtorq-apdu [16] IMPLICIT RTORQapdu,
- rtoac-apdu [17] IMPLICIT RTOACapdu,
- rtorj-apdu [18] IMPLICIT RTORJapdu,
- rttp-apdu RTTPapdu,
- rttr-apdu RTTRapdu,
- rtab-apdu [22] IMPLICIT RTABapdu
-}
-
-RTTPapdu ::= -- priority-- INTEGER
-
-RTTRapdu ::= OCTET STRING
-
-RTABapdu ::= SET {
- abortReason [0] IMPLICIT AbortReason OPTIONAL,
- reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
- -- 8 bits maximum, only if abortReason is invalidParameter
- userdataAB
- [2] TYPE-IDENTIFIER.&Type
- OPTIONAL -- only in normal mode and if abortReason--
- -- is userError
-}
-
-AbortReason ::= INTEGER {
- localSystemProblem(0),
- invalidParameter(1), -- reflectedParameter supplied
- unrecognizedActivity(2),
- temporaryProblem(3),
- -- the RTSE cannot accept a session for a period of time
- protocolError(4), -- RTSE level protocol error
- permanentProblem(5), --provider-abort solely in normal mode
- userError(6), -- user-abort solely in normal mode
- transferCompleted(7) -- activity can't be discarded--}
-
--- APPLICATION CONTEXTS
--- 1994 Application Contexts omitting RTSE
--- MTS-user initiated
-mts-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT mts-access-contract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax |
- message-administration-abstract-syntax-94 |
- mts-bind-unbind-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-access-94
-}
-
--- MTS initiated
-mts-forced-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT mts-forced-access-contract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax |
- message-administration-abstract-syntax-94 |
- mts-bind-unbind-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-forced-access-94
-}
-
--- 1994 Application Contexts including RTSE in normal mode
--- MTS-user initiated
-mts-reliable-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT mts-access-contract
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax |
- message-administration-abstract-syntax-94 |
- mts-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-reliable-access-94
-}
-
--- MTS initiated
-mts-forced-reliable-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT mts-forced-access-contract
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax |
- message-administration-abstract-syntax-94 |
- mts-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-forced-reliable-access-94
-}
-
--- 1988 Application Contexts omitting RTSE
--- MTS-user initiated
-mts-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT mts-access-contract-88
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- mts-bind-unbind-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-access-88
-}
-
--- MTS initiated
-mts-forced-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT mts-forced-access-contract-88
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- mts-bind-unbind-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-forced-access-88
-}
-
--- 1988 Application Contexts including RTSE in normal mode
--- MTS-user initiated
-mts-reliable-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT mts-access-contract-88
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- mts-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-reliable-access-88
-}
-
--- MTS initiated
-mts-forced-reliable-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT mts-forced-access-contract-88
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- mts-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-forced-reliable-access-88
-}
-
--- ABSTRACT-SYNTAXES
--- Abstract Syntax for MTS-Bind and MTS-Unbind
-mts-bind-unbind-abstract-syntax ABSTRACT-SYNTAX ::= {
- MTSBindUnbindPDUs
- IDENTIFIED BY id-as-mts
-}
-
-MTSBindUnbindPDUs ::= CHOICE {
- bind Bind{mts-connect.&bind},
- unbind Unbind{mts-connect.&unbind}
-}
-
--- Abstract Syntax for MTS-Bind and MTS-Unbind with RTSE
-mts-bind-unbind-rtse-abstract-syntax ABSTRACT-SYNTAX ::= {
- RTSE-apdus -- With MTS Bind and MTS Unbind --
- IDENTIFIED BY id-as-mts-rtse
-}
-
--- Abstract Syntax for Message Submission Service Element
-message-submission-abstract-syntax ABSTRACT-SYNTAX ::= {
- MessageSubmissionPDUs
- IDENTIFIED BY id-as-msse
-}
-
-MessageSubmissionPDUs ::= ROS-SingleAS{{MTSInvokeIds}, submission}
-
-MTSInvokeIds ::= InvokeId(ALL EXCEPT absent:NULL)
-
--- Remote Operations
-op-message-submission Code ::= local:3
-
-op-probe-submission Code ::= local:4
-
-op-cancel-deferred-delivery Code ::= local:7
-
-op-submission-control Code ::= local:2
-
--- Remote Errors
-err-submission-control-violated Code ::= local:1
-
-err-element-of-service-not-subscribed Code ::= local:4
-
-err-deferred-delivery-cancellation-rejected Code ::= local:8
-
-err-originator-invalid Code ::= local:2
-
-err-recipient-improperly-specified Code ::= local:3
-
-err-message-submission-identifier-invalid Code ::= local:7
-
-err-inconsistent-request Code ::= local:11
-
-err-security-error Code ::= local:12
-
-err-unsupported-critical-function Code ::= local:13
-
-err-remote-bind-error Code ::= local:15
-
--- Abstract Syntax for Message Delivery Service Element 1994
-message-delivery-abstract-syntax ABSTRACT-SYNTAX ::= {
- MessageDeliveryPDUs
- IDENTIFIED BY id-as-mdse-94
-}
-
-MessageDeliveryPDUs ::= ROS-SingleAS{{MTSInvokeIds}, delivery}
-
--- Abstract Syntax for Message Delivery Service Element 1988
-message-delivery-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
- MessageDeliveryPDUs88
- IDENTIFIED BY id-as-mdse-88
-}
-
-MessageDeliveryPDUs88 ::= ROS-SingleAS{{MTSInvokeIds}, delivery-88}
-
--- Remote Operations
-op-message-delivery Code ::= local:5
-
-op-report-delivery Code ::= local:6
-
-op-delivery-control Code ::= local:2
-
--- Remote Errors
-err-delivery-control-violated Code ::= local:1
-
-err-control-violates-registration Code ::= local:14
-
-err-operation-refused Code ::= local:16
-
--- Abstract Syntax for Message Administration Service Element 1994
-message-administration-abstract-syntax-94 ABSTRACT-SYNTAX ::= {
- MessageAdministrationPDUs
- IDENTIFIED BY id-as-mase-94
-}
-
-MessageAdministrationPDUs ::= ROS-SingleAS{{MTSInvokeIds}, administration}
-
--- Abstract Syntax for Message Administration Service Element 1988
-message-administration-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
- MessageAdministrationPDUs88
- IDENTIFIED BY id-as-mase-88
-}
-
-MessageAdministrationPDUs88 ::= ROS-SingleAS{{MTSInvokeIds}, administration-88}
-
--- Remote Operations
-op-register Code ::= local:1
-
-op-change-credentials Code ::= local:8
-
--- Remote Errors
-err-register-rejected Code ::= local:10
-
-err-new-credentials-unacceptable Code ::= local:6
-
-err-old-credentials-incorrectly-specified Code ::= local:5
-
-END -- of MTSAccessProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSObjectIdentifiers.asn
deleted file mode 100644
index 1615b241ee..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSObjectIdentifiers.asn
+++ /dev/null
@@ -1,116 +0,0 @@
--- Module MTSObjectIdentifiers (X.411:06/1999)
-MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
- object-identifiers(0) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS -- nothing -- ;
-
-ID ::= OBJECT IDENTIFIER
-
--- Message Transfer System
-id-mts ID ::=
- {joint-iso-itu-t mhs(6) mts(3)} -- not definitive
-
--- Categories of Object Identifiers
-id-mod ID ::= {id-mts 0} -- modules
-
-id-ot ID ::= {id-mts 1} -- object types
-
-id-pt ID ::= {id-mts 2} -- port types
-
-id-cont ID ::= {id-mts 3} -- content types
-
-id-eit ID ::= {id-mts 4} -- encoded information types
-
-id-att ID ::= {id-mts 5} -- attributes
-
-id-tok ID ::= {id-mts 6} -- token types
-
-id-sa ID ::= {id-mts 7} -- secure agent types
-
-id-ct ID ::= {id-mts 8} -- contracts
-
-id-cp ID ::= {id-mts 9} -- connection packages
-
--- Modules
-id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive
-
-id-mod-mts-abstract-service ID ::= {id-mod 1} -- not definitive
-
-id-mod-mta-abstract-service ID ::= {id-mod 2} -- not definitive
-
-id-mod-upper-bounds ID ::= {id-mod 3} -- not definitive
-
--- Object Types
-id-ot-mts ID ::= {id-ot 0}
-
-id-ot-mts-user ID ::= {id-ot 1}
-
-id-ot-mta ID ::= {id-ot 2}
-
--- Port Types
-id-pt-submission ID ::= {id-pt 0}
-
-id-pt-delivery ID ::= {id-pt 1}
-
-id-pt-administration ID ::= {id-pt 2}
-
-id-pt-transfer ID ::= {id-pt 3}
-
--- Content Types
-id-cont-unidentified ID ::=
- {id-cont 0} -- For use by MS and Directory
-
-id-cont-inner-envelope ID ::= {id-cont 1}
-
--- Encoded Information Types
-id-eit-unknown ID ::= {id-eit 0}
-
--- Value { id-eit 1 } is no longer defined
-id-eit-ia5-text ID ::= {id-eit 2}
-
-id-eit-g3-facsimile ID ::= {id-eit 3}
-
-id-eit-g4-class-1 ID ::= {id-eit 4}
-
-id-eit-teletex ID ::= {id-eit 5}
-
-id-eit-videotex ID ::= {id-eit 6}
-
-id-eit-voice ID ::= {id-eit 7}
-
-id-eit-sfd ID ::= {id-eit 8}
-
-id-eit-mixed-mode ID ::= {id-eit 9}
-
--- Attributes
-id-att-physicalRendition-basic ID ::= {id-att 0}
-
-id-att-physicalRendition-no-cover-page ID ::= {id-att 1}
-
--- Token Types
-id-tok-asymmetricToken ID ::= {id-tok 0}
-
--- Secure Agent Types
-id-sa-ua ID ::= {id-sa 0}
-
-id-sa-ms ID ::= {id-sa 1}
-
--- Contracts
-id-ct-mts-access ID ::= {id-ct 0}
-
-id-ct-mts-forced-access ID ::= {id-ct 1}
-
-id-ct-mta-transfer ID ::= {id-ct 2}
-
--- Connection Packages
-id-cp-mts-connect ID ::= {id-cp 0}
-
-id-cp-mta-connect ID ::= {id-cp 1}
-
-END -- of MTSObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSUpperBounds.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSUpperBounds.asn
deleted file mode 100644
index 10eac962cb..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/MTSUpperBounds.asn
+++ /dev/null
@@ -1,146 +0,0 @@
--- Module MTSUpperBounds (X.411:06/1999)
-MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0) upper-bounds(3)
- version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS -- nothing -- ;
-
--- Upper Bounds
-ub-additional-info INTEGER ::= 1024
-
-ub-bilateral-info INTEGER ::= 1024
-
-ub-bit-options INTEGER ::= 16
-
-ub-built-in-content-type INTEGER ::= 32767
-
-ub-built-in-encoded-information-types INTEGER ::= 32
-
-ub-certificates INTEGER ::= 64
-
-ub-common-name-length INTEGER ::= 64
-
-ub-content-correlator-length INTEGER ::= 512
-
-ub-content-id-length INTEGER ::= 16
-
-ub-content-length INTEGER ::= 2147483647 -- the largest integer in 32 bits
-
-ub-content-types INTEGER ::= 1024
-
-ub-country-name-alpha-length INTEGER ::= 2
-
-ub-country-name-numeric-length INTEGER ::= 3
-
-ub-diagnostic-codes INTEGER ::= 32767
-
-ub-deliverable-class INTEGER ::= 256
-
-ub-dl-expansions INTEGER ::= 512
-
-ub-domain-defined-attributes INTEGER ::= 4
-
-ub-domain-defined-attribute-type-length INTEGER ::= 8
-
-ub-domain-defined-attribute-value-length INTEGER ::= 128
-
-ub-domain-name-length INTEGER ::= 16
-
-ub-encoded-information-types INTEGER ::= 1024
-
-ub-extension-attributes INTEGER ::= 256
-
-ub-extension-types INTEGER ::= 256
-
-ub-e163-4-number-length INTEGER ::= 15
-
-ub-e163-4-sub-address-length INTEGER ::= 40
-
-ub-generation-qualifier-length INTEGER ::= 3
-
-ub-given-name-length INTEGER ::= 16
-
-ub-initials-length INTEGER ::= 5
-
-ub-integer-options INTEGER ::= 256
-
-ub-labels-and-redirections INTEGER ::= 256
-
-ub-local-id-length INTEGER ::= 32
-
-ub-mta-name-length INTEGER ::= 32
-
-ub-mts-user-types INTEGER ::= 256
-
-ub-numeric-user-id-length INTEGER ::= 32
-
-ub-organization-name-length INTEGER ::= 64
-
-ub-organizational-unit-name-length INTEGER ::= 32
-
-ub-organizational-units INTEGER ::= 4
-
-ub-orig-and-dl-expansions INTEGER ::= 513 -- ub-dl-expansions plus one
-
-ub-password-length INTEGER ::= 62
-
-ub-pds-name-length INTEGER ::= 16
-
-ub-pds-parameter-length INTEGER ::= 30
-
-ub-pds-physical-address-lines INTEGER ::= 6
-
-ub-postal-code-length INTEGER ::= 16
-
-ub-privacy-mark-length INTEGER ::= 128
-
-ub-queue-size INTEGER ::= 2147483647 -- the largest integer in 32 bits
-
-ub-reason-codes INTEGER ::= 32767
-
-ub-recipient-number-for-advice-length INTEGER ::= 32
-
-ub-recipients INTEGER ::= 32767
-
-ub-redirection-classes INTEGER ::= 256
-
-ub-redirections INTEGER ::= 512
-
-ub-restrictions INTEGER ::= 1024
-
-ub-security-categories INTEGER ::= 64
-
-ub-security-labels INTEGER ::= 256
-
-ub-security-problems INTEGER ::= 256
-
-ub-supplementary-info-length INTEGER ::= 256
-
-ub-surname-length INTEGER ::= 40
-
-ub-teletex-private-use-length INTEGER ::= 128
-
-ub-terminal-id-length INTEGER ::= 24
-
-ub-transfers INTEGER ::= 512
-
-ub-tsap-id-length INTEGER ::= 16
-
-ub-unformatted-address-length INTEGER ::= 180
-
-ub-universal-generation-qualifier-length INTEGER ::= 16
-
-ub-universal-given-name-length INTEGER ::= 40
-
-ub-universal-initials-length INTEGER ::= 16
-
-ub-universal-surname-length INTEGER ::= 64
-
-ub-x121-address-length INTEGER ::= 16
-
-END -- of MTSUpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Notation.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Notation.asn
deleted file mode 100644
index 96dfc39b6a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Notation.asn
+++ /dev/null
@@ -1,244 +0,0 @@
--- Module Notation (X.830:04/1995)
-
-Notation {joint-iso-itu-t genericULS(20) modules(1) notation(1)} DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS All
-IMPORTS
- -- From Directory Standards:
- informationFramework, selectedAttributeTypes, authenticationFramework
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Name
- FROM InformationFramework informationFramework
- UniqueIdentifier
- FROM SelectedAttributeTypes selectedAttributeTypes
- AlgorithmIdentifier
- FROM AuthenticationFramework authenticationFramework
- -- From Other GULS Modules:
- genericProtectingTransferSyntax
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- SyntaxStructure{}
- FROM GenericProtectingTransferSyntax genericProtectingTransferSyntax;
-
--- *************************************************
--- Notation for security identity and SA-identifiers
--- *************************************************
--- Values of the SecurityIdentity type are used to identify entities
--- which assign externally-established security association identifiers,
--- and for other security-related purposes requiring globally-unique
--- identifiers.
-SecurityIdentity ::= CHOICE {
- directoryName Name,
- objectIdentifier OBJECT IDENTIFIER
-}
-
-ExternalSAID ::= SEQUENCE {
- localSAID INTEGER,
- assignerIdentity SecurityIdentity OPTIONAL
- -- Identity of the system which assigned the integer value
-}
-
--- ******************************************
--- Notation for specifying security exchanges
--- ******************************************
-SECURITY-EXCHANGE ::=
- CLASS
- -- This information object class definition is for use when
- -- specifying a particular instance of a security exchange.
- {
- &SE-Items SEC-EXCHG-ITEM,
- -- This is an ASN.1 information object set, comprising a set
- -- of security exchange items
- &sE-Identifier Identifier UNIQUE
- -- A local or global identifier for the particular security
- -- exchange
-}
-WITH SYNTAX
- -- The following syntax is used to specify a particular security
--- exchange.
-{SE-ITEMS &SE-Items
- IDENTIFIER &sE-Identifier
-}
-
-Identifier ::= CHOICE {local INTEGER,
- global OBJECT IDENTIFIER
-}
-
-SEC-EXCHG-ITEM ::= CLASS {
- &ItemType ,
- -- ASN.1 type for this exchange item
- &itemId INTEGER,
- -- Identifier for this item, e.g. 1, 2, 3, ..
- &Errors SE-ERROR OPTIONAL
- -- Optional list of errors which may result from
- -- transfer of this item
-}WITH SYNTAX {ITEM-TYPE &ItemType
- ITEM-ID &itemId
- [ERRORS &Errors]
-}
-
-SE-ERROR ::= CLASS {
- &ParameterType OPTIONAL,
- -- ASN.1 type of a parameter to accompany the signalling
- -- of the error condition back to the sender of the SEI
- &errorCode Identifier UNIQUE
- -- An identifier used in signalling the error condition
- -- back to the sender of the SEI
-}WITH SYNTAX {[PARAMETER &ParameterType]
- ERROR-CODE &errorCode
-}
-
--- ************************************************
--- Notation for specifying security transformations
--- ************************************************
-SECURITY-TRANSFORMATION ::=
- CLASS
- -- This information object class definition is for use when
- -- specifying a particular instance of a security transformation.
- {
- &sT-Identifier OBJECT IDENTIFIER UNIQUE,
- -- Identifier to be used in signalling the application
- -- of the particular security transformation
- &initialEncodingRules OBJECT IDENTIFIER DEFAULT {joint-iso-ccitt
- asn1(1) ber-derived(2)
- canonical-encoding(0)},
- -- Default initial encoding rules to generate a bit
- -- string prior to applying the encoding process of a
- -- security transformation.
- &StaticUnprotectedParm OPTIONAL,
- -- ASN.1 type for conveying static unprotected parameters
- &DynamicUnprotectedParm OPTIONAL,
- -- ASN.1 type for conveying dynamic unprotected parameters
- &XformedDataType ,
- -- ASN.1 type of the ASN.1 value produced by the security
- -- transformations encoding process
- &QualifierType OPTIONAL
- -- &QualifierType specifies the ASN.1 type of the qualifier
- -- parameter used with the PROTECTED-Q notation.
-}
-WITH SYNTAX
- -- The following syntax is used to specify a particular security
--- transformation.
-{
- IDENTIFIER &sT-Identifier
- [INITIAL-ENCODING-RULES &initialEncodingRules]
- [STATIC-UNPROT-PARM &StaticUnprotectedParm]
- [DYNAMIC-UNPROT-PARM &DynamicUnprotectedParm]
- XFORMED-DATA-TYPE &XformedDataType
- [QUALIFIER-TYPE &QualifierType]
-}
-
--- **************************************************
--- Notation for specifying selective field protection
--- **************************************************
-PROTECTED{BaseType, PROTECTION-MAPPING:protectionReqd} ::= CHOICE {
- dirEncrypt
- BIT STRING
- (CONSTRAINED BY {
- BaseType-- dirEncrypt is for use only with the
- -- dirEncryptedTransformation,
- -- and generates the same encoding as the
- -- X.509/9594-8 ENCRYPTED type-- }),
- dirSign
- SEQUENCE {baseType BaseType OPTIONAL,
- -- must be present for dirSignedTransformation
- -- and must be omitted for
- -- dirSignatureTransformation
- algorithmId AlgorithmIdentifier,
- encipheredHash
- BIT STRING
- (CONSTRAINED BY {
- BaseType-- contains enciphered hash--
- -- of a value of BaseType -- })}-- dirSign is for use only with the
- -- dirSignedTransformation or
- -- dirSignatureTransformation, and generates
- -- the same encoding as the corresponding
- -- X.509/9594-8 SIGNED or SIGNATURE type--,
- noTransform [0] BaseType,
- -- noTransform invokes no security transformation.
- -- Subject to security policy, noTransform may be used
- -- if adequate protection is provided by lower layers
- -- and any application relays through which the data
- -- may pass are trusted to maintain the required
- -- protection. This alternative may only be used
- -- if protectionReqd.&bypassPermitted is TRUE,
- direct [1] SyntaxStructure{{protectionReqd.&SecurityTransformation}},
- -- direct generates a protecting transfer syntax
- -- value, which is encoded using the same encoding
- -- rules as the surrounding ASN.1 (The type
- -- SyntaxStructure is imported from Rec. X.833 |
- -- ISO/IEC 11586-3)
- embedded
- [2] EMBEDDED PDV
- (WITH COMPONENTS {
- identification (WITH COMPONENTS {
- presentation-context-id ,
- context-negotiation (WITH COMPONENTS {
- transfer-syntax (CONSTRAINED BY {
- OBJECT
- IDENTIFIER:
- protectionReqd.
- &protTransferSyntax})
- }),
- transfer-syntax (CONSTRAINED BY {
- OBJECT IDENTIFIER:
- protectionReqd.
- &protTransferSyntax})
- }),
- data-value (CONTAINING BaseType )
-
- -- The data value encoded is a value of type BaseType
- })
-}
-
-PROTECTED-Q{BaseType, PROTECTION-MAPPING:protectionReqd,
- PROTECTION-MAPPING.&SecurityTransformation.&QualifierType:qualifier}
- ::=
- PROTECTED{BaseType, protectionReqd}
- (CONSTRAINED BY {
- protectionReqd.&SecurityTransformation.&QualifierType:qualifier
- -- The value of qualifier must be made available to
- -- the security transformation used
- })
-
--- BaseType is the type to be protected, and protectionReqd is an
--- object of class PROTECTION-MAPPING. The use of PROTECTED requires
--- the importation into the user's module of the PROTECTED parameterized
--- type, together with the necessary PROTECTION-MAPPING object
--- definition.
--- *******************************************
--- Notation for specifying protection mappings
--- *******************************************
-PROTECTION-MAPPING ::= CLASS {
- &SecurityTransformation SECURITY-TRANSFORMATION,
- -- &SecurityTransformation specifies an ASN.1 object set of the
- -- SECURITY-TRANSFORMATION class. Use of the particular
- -- protection mapping implies use of one of the specified
- -- transformations, with the choice being left to the
- -- encoding system. Rules for selecting between these security
- -- transformations may be specified in comments.
- &protTransferSyntax OBJECT IDENTIFIER DEFAULT {joint-iso-itu-t
- genericULS(20)
- generalTransferSyntax(2)},
- -- Identifies the particular protecting transfer syntax to
- -- be used in an EMDEDDED PDV encoding for the embedded
- -- option.
- &bypassPermitted BOOLEAN DEFAULT FALSE
- -- Indicates if bypassing of protection is permitted
-}
-WITH SYNTAX {
- SECURITY-TRANSFORMATION &SecurityTransformation
- [PROTECTING-TRANSFER-SYNTAX &protTransferSyntax]
- [BYPASS-PERMITTED &bypassPermitted]
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/ObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/ObjectIdentifiers.asn
deleted file mode 100644
index b4f91f50c5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/ObjectIdentifiers.asn
+++ /dev/null
@@ -1,46 +0,0 @@
--- Module ObjectIdentifiers (X.830:04/1995)
-
-ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS All
-genericULS OBJECT IDENTIFIER ::=
- {joint-iso-itu-t genericULS(20)}
-
--- Categories of information object
-modules OBJECT IDENTIFIER ::=
- {genericULS 1}
-
-generalTransferSyntax OBJECT IDENTIFIER ::= {genericULS 2}
-
-specificTransferSyntax OBJECT IDENTIFIER ::= {genericULS 3}
-
-securityExchanges OBJECT IDENTIFIER ::= {genericULS 4}
-
-securityTransformations OBJECT IDENTIFIER ::= {genericULS 5}
-
--- ASN.1 modules
-objectIdentifiers OBJECT IDENTIFIER ::= {modules 0}
-
-notation OBJECT IDENTIFIER ::= {modules 1}
-
-gulsSecurityExchanges OBJECT IDENTIFIER ::= {modules 2}
-
-gulsSecurityTransformations OBJECT IDENTIFIER ::= {modules 3}
-
-dirProtectionMappings OBJECT IDENTIFIER ::= {modules 4}
-
-gulsProtectionMappings OBJECT IDENTIFIER ::= {modules 5}
-
-seseAPDUs OBJECT IDENTIFIER ::= {modules 6}
-
-genericProtectingTransferSyntax OBJECT IDENTIFIER ::= {modules 7}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/OperationalBindingManagement.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/OperationalBindingManagement.asn
deleted file mode 100644
index 2044feb155..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/OperationalBindingManagement.asn
+++ /dev/null
@@ -1,263 +0,0 @@
--- Module OperationalBindingManagement (X.501:08/1997)
-OperationalBindingManagement {joint-iso-itu-t ds(5) module(1)
- opBindingManagement(18) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- directoryShadowAbstractService, hierarchicalOperationalBindings, dop,
- directoryAbstractService, distributedOperations, enhancedSecurity
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- shadowOperationalBinding
- FROM DirectoryShadowAbstractService directoryShadowAbstractService
- hierarchicalOperationalBinding, nonSpecificHierarchicalOperationalBinding
- FROM HierarchicalOperationalBindings hierarchicalOperationalBindings
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- id-op-establishOperationalBinding, id-op-modifyOperationalBinding,
- id-op-terminateOperationalBinding, id-err-operationalBindingError
- FROM DirectoryOperationalBindingManagementProtocol dop
- directoryBind, directoryUnbind, securityError, CommonResultsSeq,
- SecurityParameters
- FROM DirectoryAbstractService directoryAbstractService
- OPTIONALLY-PROTECTED-SEQ{}
- FROM EnhancedSecurity enhancedSecurity
- AccessPoint
- FROM DistributedOperations distributedOperations;
-
---PROTECTED
--- FROM Notation { joint-iso-ccitt genericULS (20) modules (1) notation (1) }
--- bind and unbind
-dSAOperationalBindingManagementBind OPERATION ::=
- directoryBind
-
-dSAOperationalBindingManagementUnbind OPERATION ::= directoryUnbind
-
--- operations, arguments and results
-establishOperationalBinding OPERATION ::= {
- ARGUMENT EstablishOperationalBindingArgument
- RESULT EstablishOperationalBindingResult
- ERRORS {operationalBindingError | securityError}
- CODE id-op-establishOperationalBinding
-}
-
-EstablishOperationalBindingArgument ::=
- OPTIONALLY-PROTECTED-SEQ
- {SEQUENCE {bindingType [0] OPERATIONAL-BINDING.&id({OpBindingSet}),
- bindingID [1] OperationalBindingID OPTIONAL,
- accessPoint [2] AccessPoint,
- -- symmetric, Role A initiates, or Role B initiates -
- initiator
- CHOICE {symmetric
- [3] OPERATIONAL-BINDING.&both.&EstablishParam
- ({OpBindingSet}{@bindingType}),
- roleA-initiates
- [4] OPERATIONAL-BINDING.&roleA.&EstablishParam
- ({OpBindingSet}{@bindingType}),
- roleB-initiates
- [5] OPERATIONAL-BINDING.&roleB.&EstablishParam
- ({OpBindingSet}{@bindingType})} OPTIONAL,
- agreement
- [6] OPERATIONAL-BINDING.&Agreement
- ({OpBindingSet}{@bindingType}),
- valid [7] Validity DEFAULT {},
- securityParameters [8] SecurityParameters OPTIONAL}}
-
-OperationalBindingID ::= SEQUENCE {identifier INTEGER,
- version INTEGER
-}
-
-Validity ::= SEQUENCE {
- validFrom [0] CHOICE {now [0] NULL,
- time [1] Time} DEFAULT now:NULL,
- validUntil
- [1] CHOICE {explicitTermination [0] NULL,
- time [1] Time
- } DEFAULT explicitTermination:NULL
-}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-EstablishOperationalBindingResult ::=
- OPTIONALLY-PROTECTED-SEQ
- {SEQUENCE {bindingType [0] OPERATIONAL-BINDING.&id({OpBindingSet}),
- bindingID [1] OperationalBindingID OPTIONAL,
- accessPoint [2] AccessPoint,
- -- symmetric, Role A replies , or Role B replies
- initiator
- CHOICE {symmetric
- [3] OPERATIONAL-BINDING.&both.&EstablishParam
- ({OpBindingSet}{@bindingType}),
- roleA-replies
- [4] OPERATIONAL-BINDING.&roleA.&EstablishParam
- ({OpBindingSet}{@bindingType}),
- roleB-replies
- [5] OPERATIONAL-BINDING.&roleB.&EstablishParam
- ({OpBindingSet}{@bindingType})} OPTIONAL,
- COMPONENTS OF CommonResultsSeq}}
-
-modifyOperationalBinding OPERATION ::= {
- ARGUMENT ModifyOperationalBindingArgument
- RESULT ModifyOperationalBindingResult
- ERRORS {operationalBindingError | securityError}
- CODE id-op-modifyOperationalBinding
-}
-
-ModifyOperationalBindingArgument ::=
- OPTIONALLY-PROTECTED-SEQ
- {SEQUENCE {bindingType [0] OPERATIONAL-BINDING.&id({OpBindingSet}),
- bindingID [1] OperationalBindingID,
- accessPoint [2] AccessPoint OPTIONAL,
- -- symmetric, Role A initiates, or Role B initiates
- initiator
- CHOICE {symmetric
- [3] OPERATIONAL-BINDING.&both.&ModifyParam
- ({OpBindingSet}{@bindingType}),
- roleA-initiates
- [4] OPERATIONAL-BINDING.&roleA.&ModifyParam
- ({OpBindingSet}{@bindingType}),
- roleB-initiates
- [5] OPERATIONAL-BINDING.&roleB.&ModifyParam
- ({OpBindingSet}{@bindingType})} OPTIONAL,
- newBindingID [6] OperationalBindingID,
- newAgreement
- [7] OPERATIONAL-BINDING.&Agreement
- ({OpBindingSet}{@bindingType}) OPTIONAL,
- valid [8] Validity OPTIONAL,
- securityParameters [9] SecurityParameters OPTIONAL}}
-
-ModifyOperationalBindingResult ::= CHOICE {
- null [0] NULL,
- protected
- [1] OPTIONALLY-PROTECTED-SEQ{SEQUENCE {newBindingID OperationalBindingID,
- bindingType
- OPERATIONAL-BINDING.&id
- ({OpBindingSet}),
- newAgreement
- OPERATIONAL-BINDING.&Agreement
- ({OpBindingSet}{@bindingType}),
- valid Validity OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-terminateOperationalBinding OPERATION ::= {
- ARGUMENT TerminateOperationalBindingArgument
- RESULT TerminateOperationalBindingResult
- ERRORS {operationalBindingError | securityError}
- CODE id-op-terminateOperationalBinding
-}
-
-TerminateOperationalBindingArgument ::=
- OPTIONALLY-PROTECTED-SEQ
- {SEQUENCE {bindingType [0] OPERATIONAL-BINDING.&id({OpBindingSet}),
- bindingID [1] OperationalBindingID,
- -- symmetric, Role A initiates, or Role B initiates
- initiator
- CHOICE {symmetric
- [2] OPERATIONAL-BINDING.&both.&TerminateParam
- ({OpBindingSet}{@bindingType}),
- roleA-initiates
- [3] OPERATIONAL-BINDING.&roleA.&TerminateParam
- ({OpBindingSet}{@bindingType}),
- roleB-initiates
- [4] OPERATIONAL-BINDING.&roleB.&TerminateParam
- ({OpBindingSet}{@bindingType})} OPTIONAL,
- terminateAt [5] Time OPTIONAL,
- securityParameters [6] SecurityParameters OPTIONAL}}
-
-TerminateOperationalBindingResult ::= CHOICE {
- null [0] NULL,
- protected
- [1] OPTIONALLY-PROTECTED-SEQ{SEQUENCE {bindingID OperationalBindingID,
- bindingType
- OPERATIONAL-BINDING.&id
- ({OpBindingSet}),
- terminateAt
- GeneralizedTime OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
--- errors and parameters
-operationalBindingError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED-SEQ {OpBindingErrorParam}
- CODE id-err-operationalBindingError
-}
-
-OpBindingErrorParam ::= SEQUENCE {
- problem
- [0] ENUMERATED {invalidID(0), duplicateID(1), unsupportedBindingType(2),
- notAllowedForRole(3), parametersMissing(4),
- roleAssignment(5), invalidStartTime(6), invalidEndTime(7),
- invalidAgreement(8), currentlyNotDecidable(9),
- modificationNotAllowed(10)},
- bindingType [1] OPERATIONAL-BINDING.&id({OpBindingSet}) OPTIONAL,
- agreementProposal
- [2] OPERATIONAL-BINDING.&Agreement({OpBindingSet}{@bindingType}) OPTIONAL,
- retryAt [3] Time OPTIONAL,
- COMPONENTS OF CommonResultsSeq
-}
-
--- information object classes
-OPERATIONAL-BINDING ::= CLASS {
- &Agreement ,
- &Cooperation OP-BINDING-COOP,
- &both OP-BIND-ROLE OPTIONAL,
- &roleA OP-BIND-ROLE OPTIONAL,
- &roleB OP-BIND-ROLE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- AGREEMENT &Agreement
- APPLICATION CONTEXTS &Cooperation
- [SYMMETRIC &both]
- [ASYMMETRIC
- [ROLE-A &roleA]
- [ROLE-B &roleB]]
- ID &id
-}
-
-OP-BINDING-COOP ::= CLASS {
- &applContext APPLICATION-CONTEXT,
- &Operations OPERATION OPTIONAL
-}WITH SYNTAX {&applContext
- [APPLIES TO &Operations]
-}
-
-OP-BIND-ROLE ::= CLASS {
- &establish BOOLEAN DEFAULT FALSE,
- &EstablishParam OPTIONAL,
- &modify BOOLEAN DEFAULT FALSE,
- &ModifyParam OPTIONAL,
- &terminate BOOLEAN DEFAULT FALSE,
- &TerminateParam OPTIONAL
-}
-WITH SYNTAX {
- [ESTABLISHMENT-INITIATOR &establish]
- [ESTABLISHMENT-PARAMETER &EstablishParam]
- [MODIFICATION-INITIATOR &modify]
- [MODIFICATION-PARAMETER &ModifyParam]
- [TERMINATION-INITIATOR &terminate]
- [TERMINATION-PARAMETER &TerminateParam]
-}
-
-OpBindingSet OPERATIONAL-BINDING ::=
- {shadowOperationalBinding | hierarchicalOperationalBinding |
- nonSpecificHierarchicalOperationalBinding}
-
-END -- OperationalBindingManagement
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/PKCS7.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/PKCS7.asn
deleted file mode 100644
index ac449b59c7..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/PKCS7.asn
+++ /dev/null
@@ -1,342 +0,0 @@
--- Module PKCS7 (X.420:06/1999)
--- The ASN.1 in version 1.5 of the PKCS#7 document is not defined in an ASN.1 module. This prevents an IMPORT of it into other ASN.1 modules.
--- This Annex contains a module of PKCS#7 ASN.1 definitions conforming to current ASN.1 standards rather than the obsolescent (and now deprecated) 1988/90 version of ASN.1 used in version 1.5 of PKCS#7.
--- Extensions to PKCS#7 defined in RFC 2630 are included.
--- If differences are found between the ASN.1 in the following module and that in PKCS#7, the latter is definitive.
-PKCS7 {iso member-body usa(840) rsadsi(113549) pkcs(1) 7
- module(0) -- module not currently defined in PKCS#7 --} DEFINITIONS IMPLICIT
-TAGS ::=
-BEGIN
-
-IMPORTS
- -- Directory Information Framework
- Attribute, Name
- --==
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3}
- -- Directory Authentication Framework
- AlgorithmIdentifier, AttributeCertificate, Certificate, CertificateList,
- CertificateSerialNumber, HASH{}, SIGNED{}
- --==
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3};
-
--- In PKCS#7 the HASHED parameterised type applies the hash function to the
--- contents octets component of a DER encoding of a value of the parameter.
--- The ENCRYPTED parameterised type is redefined here because PKCS#7 encrypted values are
--- defined as OCTET STRING, instead of BIT STRING as in the Directory Authentication Framework
-ENCRYPTED{ToBeEnciphered} ::=
- OCTET STRING
- (CONSTRAINED BY {
- -- must be the result of applying an encipherment procedure to the contents octets component
- -- of a definite-length BER-encoding of a value of --ToBeEnciphered})
-
-ContentInfo ::= SEQUENCE {
- content-type PKCS7-CONTENT-TYPE.&id({PKCS7ContentTable}),
- pkcs7-content [0] PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable})
-}
-
-PKCS7-CONTENT-TYPE ::= TYPE-IDENTIFIER
-
-PKCS7ContentTable PKCS7-CONTENT-TYPE ::=
- {data | signed-data | enveloped-data | signed-and-enveloped-data |
- digested-data | encrypted-data | authenticated-data, ...}
-
--- Data
-data PKCS7-CONTENT-TYPE ::= {Data
- IDENTIFIED BY id-data
-}
-
-Data ::= OCTET STRING
-
--- Signed Data
-signed-data PKCS7-CONTENT-TYPE ::= {SignedData
- IDENTIFIED BY id-signed-data
-}
-
-SignedData ::= SEQUENCE {
- version Version,
- digestAlgorithms DigestAlgorithmIdentifiers,
- contentInfo ContentInfo,
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL,
- signerInfos SignerInfos
-}
-
-Version ::= INTEGER
-
-DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
-
-DigestAlgorithmIdentifier ::= AlgorithmIdentifier
-
-CertificateSet ::= SET OF CertificateChoice
-
-CertificateChoice ::= CHOICE {
- certificate Certificate,
- extendedCertificate [0] ExtendedCertificate, -- Obsolete
- attributeCertificate [1] AttributeCertificate
-}
-
-CertificateRevocationLists ::= SET OF CertificateList
-
-SignerInfos ::= SET OF SignerInfo
-
-SignerInfo ::= SEQUENCE {
- version Version,
- signerIdentifier SignerIdentifier,
- digestAlgorithm DigestAlgorithmIdentifier,
- authenticatedAttributes [0] Attributes OPTIONAL,
- digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
- encryptedDigest EncryptedDigest,
- unauthenticatedAttributes [1] Attributes OPTIONAL
-}
-
-SignerIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [2] SubjectKeyIdentifier
-}
-
-IssuerAndSerialNumber ::= SEQUENCE {
- issuer Name,
- serialNumber CertificateSerialNumber
-}
-
-SubjectKeyIdentifier ::= OCTET STRING
-
-DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-EncryptedDigest ::= ENCRYPTED{DigestInfo}
-
-DigestInfo ::= SEQUENCE {
- digestAlgorithm DigestAlgorithmIdentifier,
- digest Digest
-}
-
-Digest ::=
- HASH
- {CHOICE {content
- [1] PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}),
- authenticated-attributes [0] EXPLICIT Attributes}}
-
--- Enveloped Data
-enveloped-data PKCS7-CONTENT-TYPE ::= {
- EnvelopedData
- IDENTIFIED BY id-enveloped-data
-}
-
-EnvelopedData ::= SEQUENCE {
- version Version,
- originatorInfo [0] OriginatorInfo OPTIONAL,
- recipientInfos RecipientInfos,
- encryptedContentInfo EncryptedContentInfo,
- unprotectedAttributes [1] Attributes OPTIONAL
-}
-
-OriginatorInfo ::= SEQUENCE {
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL
-}
-
-RecipientInfos ::= SET SIZE (1..MAX) OF RecipientInfo
-
-RecipientInfo ::= CHOICE {
- keyTransportRecipientInfo KeyTransportRecipientInfo,
- keyAgreementRecipientInfo [1] KeyAgreementRecipientInfo,
- keyEncryptionKeyRecipientInfo [2] KeyEncryptionKeyRecipientInfo
-}
-
-KeyTransportRecipientInfo ::= SEQUENCE {
- version Version,
- recipientIdentifier RecipientIdentifier,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- encryptedKey EncryptedKey
-}
-
-RecipientIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [0] SubjectKeyIdentifier
-}
-
-KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-EncryptedKey ::= OCTET STRING
-
-KeyAgreementRecipientInfo ::= SEQUENCE {
- version Version,
- originator [0] OriginatorIdentifierOrKey,
- userKeyingMaterial [1] EXPLICIT OCTET STRING OPTIONAL,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- recipientEncryptedKeys RecipientEncryptedKeys
-}
-
-OriginatorIdentifierOrKey ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [0] SubjectKeyIdentifier,
- originatorPublicKey [1] OriginatorPublicKey
-}
-
-OriginatorPublicKey ::= SEQUENCE {
- algorithm AlgorithmIdentifier,
- publicKey BIT STRING
-}
-
-RecipientEncryptedKeys ::= SEQUENCE OF RecipientEncryptedKey
-
-RecipientEncryptedKey ::= SEQUENCE {
- recipientIdentifier KeyAgreementRecipientIdentifier,
- encryptedKey EncryptedKey
-}
-
-KeyAgreementRecipientIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- recipientKeyIdentifier [0] RecipientKeyIdentifier
-}
-
-RecipientKeyIdentifier ::= SEQUENCE {
- subjectKeyIdentifier SubjectKeyIdentifier,
- date GeneralizedTime OPTIONAL,
- otherKeyAttribute OtherKeyAttribute OPTIONAL
-}
-
-OtherKeyAttribute ::= SEQUENCE {
- keyAttributeIdentifier OTHER-KEY-ATTRIBUTE.&id({OtherKeyAttributeTable}),
- keyAttribute
- OTHER-KEY-ATTRIBUTE.&Type
- ({OtherKeyAttributeTable}{@keyAttributeIdentifier}) OPTIONAL
-}
-
-OTHER-KEY-ATTRIBUTE ::= TYPE-IDENTIFIER
-
-OtherKeyAttributeTable OTHER-KEY-ATTRIBUTE ::=
- {...}
-
-KeyEncryptionKeyRecipientInfo ::= SEQUENCE {
- version Version,
- keyEncryptionKeyIdentifier KeyEncryptionKeyIdentifier,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- encryptedKey EncryptedKey
-}
-
-KeyEncryptionKeyIdentifier ::= SEQUENCE {
- keyIdentifier OCTET STRING,
- date GeneralizedTime OPTIONAL,
- otherKeyAttribute OtherKeyAttribute OPTIONAL
-}
-
-EncryptedContentInfo ::= SEQUENCE {
- contentType PKCS7-CONTENT-TYPE.&id({PKCS7ContentTable}),
- contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
- encryptedContent
- [0] ENCRYPTED{PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}{@.contentType})}
- OPTIONAL
-}
-
-ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
--- Signed and Enveloped Data
-signed-and-enveloped-data PKCS7-CONTENT-TYPE ::= {
- SignedAndEnvelopedData
- IDENTIFIED BY id-signed-and-enveloped-data
-}
-
-SignedAndEnvelopedData ::= SEQUENCE {
- version Version,
- recipientInfos SET SIZE (1..MAX) OF KeyTransportRecipientInfo,
- digestAlgorithms DigestAlgorithmIdentifiers,
- encryptedContentInfo EncryptedContentInfo,
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL,
- signerInfos
- SET SIZE (1..MAX) OF
- SignerInfo
- (WITH COMPONENTS {
- ...,
- signerIdentifier (WITH COMPONENTS {
- issuerAndSerialNumber PRESENT
- }),
- authenticatedAttributes ABSENT,
- unauthenticatedAttributes ABSENT
- })
-}
-
--- Digested Data
-digested-data PKCS7-CONTENT-TYPE ::= {
- DigestedData
- IDENTIFIED BY id-digested-data
-}
-
-DigestedData ::= SEQUENCE {
- version Version,
- digestAlgorithm DigestAlgorithmIdentifier,
- contentInfo ContentInfo,
- digest HASH{PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable})}
-}
-
--- Encrypted Data
-encrypted-data PKCS7-CONTENT-TYPE ::= {
- EncryptedData
- IDENTIFIED BY id-encrypted-data
-}
-
-EncryptedData ::= SEQUENCE {
- version Version,
- encryptedContentInfo EncryptedContentInfo,
- unprotectedAttributes [1] Attributes OPTIONAL
-}
-
--- Authenticated Data
-authenticated-data PKCS7-CONTENT-TYPE ::= {
- AuthenticatedData
- IDENTIFIED BY id-authenticated-data
-}
-
-AuthenticatedData ::= SEQUENCE {
- version Version,
- originatorInfo [0] OriginatorInfo OPTIONAL,
- recipientInfos RecipientInfos,
- macAlgorithm MessageAuthenticationCodeAlgorithmIdentifier,
- digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
- contentInfo ContentInfo,
- authenticatedAttributes [2] Attributes OPTIONAL,
- messageAuthenticationCode MessageAuthenticationCode,
- unauthenticatedAttributes [3] Attributes OPTIONAL
-}
-
-MessageAuthenticationCodeAlgorithmIdentifier ::= AlgorithmIdentifier
-
-MessageAuthenticationCode ::= OCTET STRING
-
--- Object Identifiers
-id-pkcs OBJECT IDENTIFIER ::=
- {iso member-body usa(840) rsadsi(113549) pkcs(1)}
-
-id-data OBJECT IDENTIFIER ::= {id-pkcs 7 1}
-
-id-signed-data OBJECT IDENTIFIER ::= {id-pkcs 7 2}
-
-id-enveloped-data OBJECT IDENTIFIER ::= {id-pkcs 7 3}
-
-id-signed-and-enveloped-data OBJECT IDENTIFIER ::= {id-pkcs 7 4}
-
-id-digested-data OBJECT IDENTIFIER ::= {id-pkcs 7 5}
-
-id-encrypted-data OBJECT IDENTIFIER ::= {id-pkcs 7 6}
-
-id-authenticated-data OBJECT IDENTIFIER ::= {id-pkcs 9 16 1 2}
-
--- Definitions from PKCS#6
-ExtendedCertificate ::=
- SIGNED{ExtendedCertificateInfo}
-
-ExtendedCertificateInfo ::= SEQUENCE {
- version Version,
- certificate Certificate,
- attributes Attributes
-}
-
-Attributes ::= SET OF Attribute
-
-END -- of PKCS#7
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/PKCS7BodyPartType.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/PKCS7BodyPartType.asn
deleted file mode 100644
index 525ee3c5ec..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/PKCS7BodyPartType.asn
+++ /dev/null
@@ -1,31 +0,0 @@
--- Module PKCS7BodyPartType (X.420:06/1999)
-PKCS7BodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- pkcs7-body-part-type(16)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-IMPORTS
- -- PKCS#7
- ContentInfo
- FROM PKCS7 {iso(1) member-body(2) usa(840) rsadsi(113549) pkcs(1)
- 7 module(0)}
- -- module not formally defined in the PKCS#7document, therefore defined in Annex O
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-et-pkcs7
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- PKCS7 body part
-pkcs7-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {ContentInfo
- IDENTIFIED BY id-et-pkcs7}
-}
-
-END -- of PKCS7BodyPartType
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Protected-Part-Descriptors.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Protected-Part-Descriptors.asn
deleted file mode 100644
index 5512f1590b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Protected-Part-Descriptors.asn
+++ /dev/null
@@ -1,74 +0,0 @@
--- Module Protected-Part-Descriptors (T.415:03/1993)
-
-Protected-Part-Descriptors {2 8 1 5 13} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Sealed-Doc-Prof-Descriptor, Enciphered-Doc-Prof-Descriptor,
- Preenciphered-Bodypart-Descriptor, Postenciphered-Bodypart-Descriptor;
-
-IMPORTS Protected-Part-Identifier
- FROM Identifiers-and-Expressions; -- see 7.8
-
-Sealed-Doc-Prof-Descriptor ::= SEQUENCE {
- sealed-doc-prof-identifier Protected-Part-Identifier,
- sealed-doc-prof-information Document-Profile-Attribute-Names
-}
-
-Document-Profile-Attribute-Names ::= BIT STRING {
- generic-layout-structure(0), specific-layout-structure(1),
- generic-logical-structure(2), specific-logical-structure(3),
- layout-styles(4), presentation-styles(5), sealed-profiles(6),
- enciphered-profiles(7), pre-enciphered-body-parts(8),
- post-enciphered-body-parts(9), external-document-class(10),
- resource-document(11), resources(12), document-application-profile(13),
- document-application-profile-defaults(14), document-architecture-class(15),
- content-architecture-classes(16), interchange-format-class(17),
- oda-version(18), alternative-feature-sets(19), profile-character-sets(20),
- comments-character-sets(21), alternative-representation-character-sets(22),
- page-dimensions(23), medium-types(24), layout-paths(25), protections(26),
- block-alignments(27), fill-orders(28), transparencies(29), colours(30),
- colours-of-layout-object(31), object-colour-tables(32),
- content-background-colours(33), content-foreground-colours(34),
- content-colour-tables(35), borders(36), page-positions(37),
- types-of-coding(38), coding-attributes(39), presentation-features(40),
- number-of-objects-per-page(41), unit-scaling(42), fonts-list(43),
- colour-characteristics(44), colour-spaces-list(45),
- assured-reproduction-areas(86), title(46), subject(47),
- document-reference(48), document-type(49), abstract(50), keywords(51),
- document-date-and-time(52), creation-date-and-time(53),
- local-filing-date-and-time(54), expiry-date-and-time(55),
- start-date-and-time(56), purge-date-and-time(57), release-date-and-time(58),
- revision-history(59), organizations(60), preparers(61), owners(62),
- authors(63), copyright(64), status(65), user-specific-codes(66),
- distribution-list(67), additional-information(68),
- references-to-other-documents(69), superseded-documents(70),
- local-file-references(71), document-size(72), number-of-pages(73),
- languages(74), authorization(75), security-classification(76),
- access-rights(77), sealed-information-encoding(78), oda-security-label(79),
- sealed-document-profiles(80), pre-sealed-document-body-parts(81),
- post-sealed-document-body-parts(82), enciphered-document-profiles(83),
- pre-enciphered-document-body-parts(84),
- post-enciphered-document-body-parts(85)}
-
-Enciphered-Doc-Prof-Descriptor ::= SEQUENCE {
- enciphered-doc-prof-identifier Protected-Part-Identifier,
- enciphered-doc-prof-information Enciphered-Information
-}
-
-Preenciphered-Bodypart-Descriptor ::= SEQUENCE {
- preenciphered-bodypart-identifier Protected-Part-Identifier,
- preenciphered-bodypart-info Enciphered-Information
-}
-
-Postenciphered-Bodypart-Descriptor ::= SEQUENCE {
- postenciphered-bodypart-identifier Protected-Part-Identifier,
- postenciphered-bodypart-info Enciphered-Information
-}
-
-Enciphered-Information ::= OCTET STRING
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/ProtocolObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/ProtocolObjectIdentifiers.asn
deleted file mode 100644
index d6e88a2e47..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/ProtocolObjectIdentifiers.asn
+++ /dev/null
@@ -1,140 +0,0 @@
--- Module ProtocolObjectIdentifiers (X.519 TC2:08/1997)
-
-ProtocolObjectIdentifiers {joint-iso-itu-t ds(5) module(1)
- protocolObjectIdentifiers(4) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-rosObject, id-contract, id-package, id-ac, id-as
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3};
-
--- ROS Objects
-id-rosObject-dua OBJECT IDENTIFIER ::= {id-rosObject 1}
-
-id-rosObject-directory OBJECT IDENTIFIER ::= {id-rosObject 2}
-
-id-rosObject-dapDSA OBJECT IDENTIFIER ::= {id-rosObject 3}
-
-id-rosObject-dspDSA OBJECT IDENTIFIER ::= {id-rosObject 4}
-
-id-rosObject-dopDSA OBJECT IDENTIFIER ::= {id-rosObject 7}
-
-id-rosObject-initiatingConsumerDSA OBJECT IDENTIFIER ::= {id-rosObject 8}
-
-id-rosObject-respondingSupplierDSA OBJECT IDENTIFIER ::= {id-rosObject 9}
-
-id-rosObject-initiatingSupplierDSA OBJECT IDENTIFIER ::= {id-rosObject 10}
-
-id-rosObject-respondingConsumerDSA OBJECT IDENTIFIER ::= {id-rosObject 11}
-
--- contracts
-id-contract-dap OBJECT IDENTIFIER ::= {id-contract 1}
-
-id-contract-dsp OBJECT IDENTIFIER ::= {id-contract 2}
-
-id-contract-shadowConsumer OBJECT IDENTIFIER ::= {id-contract 3}
-
-id-contract-shadowSupplier OBJECT IDENTIFIER ::= {id-contract 4}
-
-id-contract-dop OBJECT IDENTIFIER ::= {id-contract 5}
-
--- packages
-id-package-read OBJECT IDENTIFIER ::= {id-package 1}
-
-id-package-search OBJECT IDENTIFIER ::= {id-package 2}
-
-id-package-modify OBJECT IDENTIFIER ::= {id-package 3}
-
-id-package-chainedRead OBJECT IDENTIFIER ::= {id-package 4}
-
-id-package-chainedSearch OBJECT IDENTIFIER ::= {id-package 5}
-
-id-package-chainedModify OBJECT IDENTIFIER ::= {id-package 6}
-
-id-package-shadowConsumer OBJECT IDENTIFIER ::= {id-package 7}
-
-id-package-shadowSupplier OBJECT IDENTIFIER ::= {id-package 8}
-
-id-package-operationalBindingManagement OBJECT IDENTIFIER ::= {id-package 9}
-
-id-package-dapConnection OBJECT IDENTIFIER ::= {id-package 10}
-
-id-package-dspConnection OBJECT IDENTIFIER ::= {id-package 11}
-
-id-package-dispConnection OBJECT IDENTIFIER ::= {id-package 12}
-
-id-package-dopConnection OBJECT IDENTIFIER ::= {id-package 13}
-
--- application contexts
-id-ac-directoryAccessAC OBJECT IDENTIFIER ::=
- {id-ac 1}
-
-id-ac-directorySystemAC OBJECT IDENTIFIER ::= {id-ac 2}
-
-id-ac-directoryOperationalBindingManagementAC OBJECT IDENTIFIER ::= {id-ac 3}
-
-id-ac-shadowConsumerInitiatedAC OBJECT IDENTIFIER ::= {id-ac 4}
-
-id-ac-shadowSupplierInitiatedAC OBJECT IDENTIFIER ::= {id-ac 5}
-
-id-ac-reliableShadowSupplierInitiatedAC OBJECT IDENTIFIER ::= {id-ac 6}
-
-id-ac-reliableShadowConsumerInitiatedAC OBJECT IDENTIFIER ::= {id-ac 7}
-
-id-ac-shadowSupplierInitiatedAsynchronousAC OBJECT IDENTIFIER ::= {id-ac 8}
-
-id-ac-shadowConsumerInitiatedAsynchronousAC OBJECT IDENTIFIER ::= {id-ac 9}
-
-id-ac-directoryAccessWith2or3seAC OBJECT IDENTIFIER ::= {id-ac 10}
-
-id-ac-directorySystemWith2or3seAC OBJECT IDENTIFIER ::= {id-ac 11}
-
-id-ac-shadowSupplierInitiatedWith2or3seAC OBJECT IDENTIFIER ::= {id-ac 12}
-
-id-ac-shadowConsumerInitiatedWith2or3seAC OBJECT IDENTIFIER ::= {id-ac 13}
-
-id-ac-reliableShadowSupplierInitiatedWith2or3seAC OBJECT IDENTIFIER ::=
- {id-ac 14}
-
-id-ac-reliableShadowConsumerInitiatedWith2or3seAC OBJECT IDENTIFIER ::=
- {id-ac 15}
-
-id-ac-directoryOperationalBindingManagementWith2or3seAC OBJECT IDENTIFIER ::=
- {id-ac 16}
-
--- ASEs (obsolete)
--- id-ase-readASE OBJECT IDENTIFIER ::= {id-ase 1}
--- id-ase-searchASE OBJECT IDENTIFIER ::= {id-ase 2}
--- id-ase-modifyASE OBJECT IDENTIFIER ::= {id-ase 3}
--- id-ase-chainedReadASE OBJECT IDENTIFIER ::= {id-ase 4}
--- id-ase-chainedSearchASE OBJECT IDENTIFIER ::= {id-ase 5}
--- id-ase-chainedModifyASE OBJECT IDENTIFIER ::= {id-ase 6}
--- id-ase-operationalBindingManagementASE OBJECT IDENTIFIER ::= {id-ase 7}
--- id-ase-shadowConsumerASE OBJECT IDENTIFIER ::= {id-ase 8}
--- id-ase-shadowSupplierASE OBJECT IDENTIFIER ::= {id-ase 9}
--- abstract syntaxes
-id-as-directoryAccessAS OBJECT IDENTIFIER ::=
- {id-as 1}
-
-id-as-directorySystemAS OBJECT IDENTIFIER ::= {id-as 2}
-
-id-as-directoryShadowAS OBJECT IDENTIFIER ::= {id-as 3}
-
-id-as-directoryOperationalBindingManagementAS OBJECT IDENTIFIER ::= {id-as 4}
-
-id-as-directoryReliableShadowAS OBJECT IDENTIFIER ::= {id-as 5}
-
-id-as-reliableShadowBindingAS OBJECT IDENTIFIER ::= {id-as 6}
-
-id-as-2or3se OBJECT IDENTIFIER ::= {id-as 7}
-
-END -- ProtocolObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Coding-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Coding-Attributes.asn
deleted file mode 100644
index 258c5f0b23..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Coding-Attributes.asn
+++ /dev/null
@@ -1,75 +0,0 @@
--- Module Raster-Gr-Coding-Attributes (T.417:03/1993)
-
-Raster-Gr-Coding-Attributes {2 8 1 7 3} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Raster-Gr-Coding-Attributes, Compression, Tile-Type,
- Bits-Per-Colour-Component, Subsampling;
-
-IMPORTS Coordinate-Pair
- FROM Raster-Gr-Presentation-Attributes {2 8 1 7 2};
-
-Raster-Gr-Coding-Attributes ::= SET {
- number-of-pels-per-line [0] IMPLICIT INTEGER OPTIONAL,
- number-of-lines [1] IMPLICIT INTEGER OPTIONAL,
- compression [2] IMPLICIT Compression OPTIONAL,
- number-of-discarded-pels [3] IMPLICIT INTEGER OPTIONAL,
- bits-per-colour-component [4] Bits-Per-Colour-Component OPTIONAL,
- interleaving-format
- [5] IMPLICIT INTEGER {pel(0), line(1), plane(2), stripe(3)} OPTIONAL,
- number-of-pels-per-tile-line [6] IMPLICIT INTEGER OPTIONAL,
- number-of-lines-per-tile [7] IMPLICIT INTEGER OPTIONAL,
- tiling-offset [8] IMPLICIT Coordinate-Pair OPTIONAL,
- tile-types [9] IMPLICIT SEQUENCE OF Tile-Type OPTIONAL,
- subsampling [10] IMPLICIT Subsampling OPTIONAL,
- jpeg-coding-mode
- [11] IMPLICIT INTEGER {-- Huffman coding
- baseline(0), huffman-extended-sequential-DCT(1),
- huffman-progressive-DCT(2),
- huffman-spatial-lossless(3),
- -- arithmetic coding
- arithmetic-extended-sequential-DCT(9),
- arithmetic-progressive-DCT(10),
- arithmetic-spatial-lossless(11)},
- jpeg-quantization-table
- [12] IMPLICIT INTEGER {associated(0), default(1)} OPTIONAL,
- jpeg-huffman-table
- [13] IMPLICIT INTEGER {associated(0), preferred(1)},
- -- basic and default value is "associated".
- jbig-differential-layer
- [17] IMPLICIT INTEGER {dl-not-present(0), dl-encoded-without-tp-and-dp(1),
- dl-encoded-with-tp(2), dl-encoded-with-dp(3),
- dl-encoded-with-dp-and-private-dp-table(4),
- dl-encoded-with-tp-and-dp(5),
- dl-encoded-with-tp-dp-and-private-dp-table(6)}
- OPTIONAL,
- number-of-lines-per-stripe [18] IMPLICIT INTEGER OPTIONAL
-}
-
-Compression ::= INTEGER {uncompressed(0), compressed(1)}
-
-Tile-Type ::= INTEGER {
- null-background(0), null-foreground(1), t6-encoded(2),
- t4-one-dimensional-encoded(3), t4-two-dimensional-encoded(4),
- bitmap-encoded(5), t6-encoded-msb(6), t4-one-dimensional-encoded-msb(7),
- t4-two-dimensional-encoded-msb(8), jbig-bits-per-component-eq-1(9),
- jpeg(10), jbig-bits-per-component-gr-1(11)}
-
-Bits-Per-Colour-Component ::= CHOICE {
- single-integer INTEGER,
- component-list SEQUENCE OF INTEGER
-}
-
-Subsampling ::= OCTET STRING
-
--- The value OCTET STRING shall be chosen from the
--- following table:
--- Semantic Meaning JPEG notations Octet strings
--- 4:1:1 ((2,2),(1,1),(1,1)) '221111'H
--- 2:1:1 or 4:2:2 ((2,1),(1,1),(1,1)) '211111'H
--- 1:1:1 ((1,1),(1,1),(1,1)) '111111'H
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Presentation-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Presentation-Attributes.asn
deleted file mode 100644
index c8f3a2ff33..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Presentation-Attributes.asn
+++ /dev/null
@@ -1,92 +0,0 @@
--- Module Raster-Gr-Presentation-Attributes (T.417:03/1993)
-
-Raster-Gr-Presentation-Attributes {2 8 1 7 2} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Raster-Graphics-Attributes, Clipping, Measure-Pair, One-Of-Four-Angles,
- One-Of-Two-Angles, Pel-Transmission-Density, Pel-Spacing, Spacing-Ratio,
- Image-Dimensions, Coordinate-Pair;
-
-Raster-Graphics-Attributes ::= SET {
- pel-path [0] IMPLICIT One-Of-Four-Angles OPTIONAL,
- line-progression [1] IMPLICIT One-Of-Two-Angles OPTIONAL,
- pel-transmission-density [2] IMPLICIT Pel-Transmission-Density OPTIONAL,
- initial-offset [3] IMPLICIT Measure-Pair OPTIONAL,
- clipping [4] IMPLICIT Clipping OPTIONAL,
- pel-spacing [5] Pel-Spacing OPTIONAL,
- spacing-ratio [6] IMPLICIT Spacing-Ratio OPTIONAL,
- image-dimensions [7] Image-Dimensions OPTIONAL
-}
-
-One-Of-Four-Angles ::= INTEGER {
- d0(0), -- d0
- d90(1), -- d90
- d180(2), --d180
- d270(3) -- d270--}
-
-One-Of-Two-Angles ::= INTEGER {d90(1), -- d90
- d270(3) -- d270 --}
-
-Pel-Transmission-Density ::= INTEGER {
- p5(2), -- 5 BMU (240 pels/25.4 mm)
- p4(3), -- 4 BMU (300 pels/25.4 mm)
- p3(4), -- 3 BMU (400 pels/25.4 mm)
- p2(5), -- 2 BMU (600 pels/25.4 mm)
- p1(6), -- 1 BMU (1200 pels/25.4 mm)
- colour-grey-scale-p12(10), -- 12 BMU (100 pels/25.4 mm)
- colour-grey-scale-p6(11), -- 6 BMU (200 pels/25.4 mm)
- colour-grey-scale-p4(13), -- 4 BMU (300 pels/25.4 mm)
- colour-grey-scale-p3(14), -- 3 BMU (400 pels/25.4 mm)
- colour-grey-scale-p2(15), -- 2 BMU (600 pels/25.4 mm)
- colour-grey-scale-p1(16), -- 1 BMU (1200 pels/25.4 mm)
- p6(1)} -- 6 BMU (200 pels/25.4 mm)
-
--- default and basic value is p6 (1)
-Measure-Pair ::= SEQUENCE {
- horizontal [0] IMPLICIT INTEGER,
- vertical [0] IMPLICIT INTEGER
-}
-
-Clipping ::= SEQUENCE {
- first-coordinate-pair [0] IMPLICIT Coordinate-Pair OPTIONAL,
- second-coordinate-pair [1] IMPLICIT Coordinate-Pair OPTIONAL
-}
-
-Coordinate-Pair ::= SEQUENCE {x-coordinate INTEGER,
- y-coordinate INTEGER
-}
-
-Pel-Spacing ::= CHOICE {
- spacing
- [0] IMPLICIT SEQUENCE {length [0] INTEGER,
- pel-spaces [0] INTEGER},
- null [1] IMPLICIT NULL
-}
-
-Spacing-Ratio ::= SEQUENCE {
- line-spacing-value INTEGER,
- pel-spacing-value INTEGER
-}
-
-Image-Dimensions ::= CHOICE {
- width-controlled
- [0] IMPLICIT SEQUENCE {minimum-width [0] INTEGER,
- preferred-width [0] INTEGER},
- height-controlled
- [1] IMPLICIT SEQUENCE {minimum-height INTEGER,
- preferred-height INTEGER},
- area-controlled
- [2] IMPLICIT SEQUENCE {minimum-width INTEGER,
- preferred-width INTEGER,
- minimum-height INTEGER,
- preferred-height INTEGER,
- aspect-ratio-flag INTEGER {fixed(0), variable(1)}
- },
- automatic [3] IMPLICIT NULL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Profile-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Profile-Attributes.asn
deleted file mode 100644
index 365144ff35..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Raster-Gr-Profile-Attributes.asn
+++ /dev/null
@@ -1,76 +0,0 @@
--- Module Raster-Gr-Profile-Attributes (T.417:03/1993)
-
-Raster-Gr-Profile-Attributes {2 8 1 7 4} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Ra-Gr-Presentation-Feature, Ra-Gr-Coding-Attribute,
- Raster-Gr-Content-Defaults;
-
-IMPORTS
- One-Of-Four-Angles, One-Of-Two-Angles, Pel-Transmission-Density,
- Measure-Pair, Clipping, Pel-Spacing, Spacing-Ratio, Image-Dimensions,
- Coordinate-Pair, Raster-Graphics-Attributes
- FROM Raster-Gr-Presentation-Attributes {2 8 1 7 2}
- Compression, Tile-Type, Bits-Per-Colour-Component, Subsampling
- FROM Raster-Gr-Coding-Attributes {2 8 1 7 3};
-
-Ra-Gr-Coding-Attribute ::= CHOICE {
- compression [0] IMPLICIT Compression,
- bits-per-colour-component [4] Bits-Per-Colour-Component,
- interleaving-format
- [5] IMPLICIT INTEGER {pel(0), line(1), plane(2), stripe(3)},
- number-of-pels-per-tile-line [6] IMPLICIT INTEGER,
- number-of-lines-per-tile [7] IMPLICIT INTEGER,
- tiling-offset [8] IMPLICIT Coordinate-Pair,
- tiling-types [9] IMPLICIT Tile-Type,
- subsampling [10] IMPLICIT Subsampling,
- jpeg-coding-mode
- [11] IMPLICIT INTEGER {-- Huffman coding
- huffman-baseline(0),
- huffman-extended-sequential-DCT(1),
- huffman-progressive-DCT(2),
- huffman-spatial-lossless(3),
- -- arithmetic coding
- arithmetic-progressive-DCT(10),
- arithmetic-spatial-lossless(11)},
- jpeg-quantization-table
- [12] IMPLICIT INTEGER {associated(0), default(1)},
- jpeg-huffman-table
- [13] IMPLICIT INTEGER {associated(0), preferred(1)},
- jbig-tp-for-base-layer [14] IMPLICIT INTEGER {not-used(0), used(1)},
- jbig-differential-layer
- [15] IMPLICIT INTEGER {dl-not-present(0), dl-encoded-without-tp-and-dp(1),
- dl-encoded-with-tp(2), dl-encoded-with-dp(3),
- dl-encoded-with-dp-and-private-dp-table(4),
- dl-encoded-with-tp-and-dp(5),
- dl-encoded-with-tp-dp-and-private-dp-table(6)},
- number-of-lines-per-stripe [16] IMPLICIT INTEGER
-}
-
-Ra-Gr-Presentation-Feature ::= CHOICE {
- initial-offset [3] IMPLICIT Measure-Pair,
- clipping [4] IMPLICIT Clipping,
- pel-spacing [5] Pel-Spacing,
- spacing-ratio [6] IMPLICIT Spacing-Ratio,
- image-dimensions [7] Image-Dimensions,
- pel-path [9] IMPLICIT One-Of-Four-Angles,
- line-progression [10] IMPLICIT One-Of-Two-Angles,
- pel-transmission-density [11] IMPLICIT Pel-Transmission-Density
-}
-
--- The tag values used above preserve compatibility
--- with Group 4 Class I facsimile data streams.
-Raster-Gr-Content-Defaults ::= SET {
- COMPONENTS OF Raster-Graphics-Attributes,
- compression [8] IMPLICIT Compression OPTIONAL,
- number-of-pels-per-tile-line [11] IMPLICIT INTEGER OPTIONAL,
- number-of-lines-per-tile [12] IMPLICIT INTEGER OPTIONAL,
- tiling-offset [13] IMPLICIT Coordinate-Pair OPTIONAL,
- tiling-type [14] IMPLICIT Tile-Type OPTIONAL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Reliable-Transfer-APDU.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Reliable-Transfer-APDU.asn
deleted file mode 100644
index d00570b7e7..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Reliable-Transfer-APDU.asn
+++ /dev/null
@@ -1,132 +0,0 @@
--- Module Reliable-Transfer-APDU (X.228:11/1988)
-
-Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
-DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- rTSE, rTSE-abstract-syntax, RTORQapdu, RTOACapdu, RTORJapdu, RTABapdu; -- for use by Presentation Layer only
-
-IMPORTS
- CONTRACT
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-OPEN ::= CLASS {&Type
-}WITH SYNTAX {TYPE &Type
-}
-
-rTSE-abstract-syntax OBJECT IDENTIFIER ::=
- {joint-iso-itu-t reliable-transfer(3) abstract-syntax(2)}
-
-rTSE CONTRACT ::= {ID {joint-iso-itu-t reliable-transfer(3) aseID(1)}
-}
-
-RTSE-apdus ::= CHOICE {
- rtorq-apdu [16] IMPLICIT RTORQapdu,
- rtoac-apdu [17] IMPLICIT RTOACapdu,
- rtorj-apdu [18] IMPLICIT RTORJapdu,
- rttp-apdu RTTPapdu,
- rttr-apdu RTTRapdu,
- rtab-apdu [22] IMPLICIT RTABapdu
-}
-
--- Tags [19], [20], [21] are used by the values of the UNBIND macro of the RO-notation of
--- Recommendation X.219. Tags [0] to [15] inclusive are reserved for the
--- use by the APDUs of ROSE (Recommendation X229). Any occurrence of
--- ANY in this module shall be replaced by a single ASN. 1 type (if any) in an RTSE-user
--- protocol specification. In addition any RTSE-user protocol sharing a single named
--- abstract syntax with the RTSE protocol shall use distinct tags for the single
--- presentation data values in the user data parameters of the RT-CLOSE (if any) and
--- RT- TRANSFER services. These tags shall be distinct from the tag values [16], [17],
--- [18] and [22] and from the ASN. 1 types INTEGER and OCTET STRING.
--- Note - The above conditions are ensured, if the RTSE-user protocol specification uses the
--- RO-notation of Recommendation X229.
--- In X.410-1984 mode only the components of RTORQapdu, RTOACapdu, RTORJapdu
--- and RTABapdu are used by the presentation layer. This has the effect that the following
--- APDU types appear in the protocol in X.410-1984 mode instead of the alternative types
--- of the RTSE-apdus type:
--- RTORQapdu
--- RTOACapdu
--- RTORJapdu
--- RTTPapdu
--- RTTRapdu
--- RTABapdu
-RTORQapdu ::= SET {
- checkpointSize [0] IMPLICIT INTEGER DEFAULT 0,
- windowSize [1] IMPLICIT INTEGER DEFAULT 3,
- dialogueMode
- [2] IMPLICIT INTEGER {monologue(0), twa(1)} DEFAULT monologue,
- connectionDataRQ [3] ConnectionData,
- applicationProtocol
- [4] IMPLICIT INTEGER OPTIONAL --solely in X.410-1984 mode--
-}
-
-RTOACapdu ::= SET {
- checkpointSize [0] IMPLICIT INTEGER DEFAULT 0,
- windowSize [1] IMPLICIT INTEGER DEFAULT 3,
- connectionDataAC [2] ConnectionData
-}
-
-RTORJapdu ::= SET {
- refuseReason [0] IMPLICIT RefuseReason OPTIONAL, -- only in X.410-1984 mode
- userDataRJ
- [1] OPEN.&Type OPTIONAL -- RTSE user data, only in normal mode--
-}
-
-RTTPapdu ::= -- priority-- INTEGER
-
-RTTRapdu ::= OCTET STRING
-
-RTABapdu ::= SET {
- abortReason [0] IMPLICIT AbortReason OPTIONAL,
- reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
- -- 8 bits maximum, only if abortReason is invalidParameter
- userdataAB
- [2] OPEN.&Type OPTIONAL -- only in normal mode and if abortReason--
- -- is userError
-}
-
-ConnectionData ::= CHOICE {
- open [0] OPEN.&Type, -- RTSE user data
-
- -- this alternative is encoded as [0] IMPLICIT NULL
- -- in the case of absence of RTSE user data,
- recover [1] IMPLICIT SessionConnectionIdentifier
-}
-
-SessionConnectionIdentifier ::= SEQUENCE {
- callingSSuserReference CallingSSuserReference,
- commonReference CommonReference,
- additionalReferenceInformation
- [0] IMPLICIT AdditionalReferenceInformation OPTIONAL
-}
-
-RefuseReason ::= INTEGER {
- rtsBusy(0), cannotRecover(1), validationFailure(2),
- unacceptableDialogueMode(3)}
-
-CallingSSuserReference ::= CHOICE {
- t61String T61String -- solely in X.410-1984 --,
- octetString OCTET STRING -- solely in normal mode --
-}
-
-CommonReference ::= UTCTime
-
-AdditionalReferenceInformation ::= T61String
-
-AbortReason ::= INTEGER {
- localSystemProblem(0),
- invalidParameter(1), -- reflectedParameter supplied
- unrecognizedActivity(2),
- temporaryProblem(3),
- -- the RTSE cannot accept a session for a period of time
- protocolError(4), -- RTSE level protocol error
- permanentProblem(5), --provider-abort solely in normal mode
- userError(6), -- user-abort solely in normal mode
- transferCompleted(7) -- activity can't be discarded--}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Abstract-Syntaxes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Abstract-Syntaxes.asn
deleted file mode 100644
index 4a59cc403b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Abstract-Syntaxes.asn
+++ /dev/null
@@ -1,103 +0,0 @@
--- Module Remote-Operations-Abstract-Syntaxes (X.882:07/1994)
-
-Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t remote-operations(4)
- remote-operations-abstract-syntaxes(12) version1(0)} DEFINITIONS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- OPERATION-PACKAGE
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- InvokeId, noInvokeId, ROS{}, Bind{}, Unbind{}
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- ACSE-apdu
- FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0)
- version1(1)}
- RTORQapdu, RTOACapdu, RTORJapdu
- FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
- combine{}, AllOperations{}, ConsumerPerforms{}, SupplierPerforms{}
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)};
-
-RTSE-apdus ::= CHOICE {
- rtorq-apdu [16] IMPLICIT RTORQapdu,
- rtoac-apdu [17] IMPLICIT RTOACapdu,
- rtorj-apdu [18] IMPLICIT RTORJapdu,
- rttp-apdu RTTPapdu,
- rttr-apdu RTTRapdu,
- rtab-apdu [22] IMPLICIT RTABapdu
-}
-
-RTTPapdu ::= -- priority-- INTEGER
-
-RTTRapdu ::= OCTET STRING
-
-RTABapdu ::= SET {
- abortReason [0] IMPLICIT AbortReason OPTIONAL,
- reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
- -- 8 bits maximum, only if abortReason is invalidParameter
- userdataAB
- [2] TYPE-IDENTIFIER.&Type
- OPTIONAL -- only in normal mode and if abortReason--
- -- is userError
-}
-
-AbortReason ::= INTEGER {
- localSystemProblem(0),
- invalidParameter(1), -- reflectedParameter supplied
- unrecognizedActivity(2),
- temporaryProblem(3),
- -- the RTSE cannot accept a session for a period of time
- protocolError(4), -- RTSE level protocol error
- permanentProblem(5), --provider-abort solely in normal mode
- userError(6), -- user-abort solely in normal mode
- transferCompleted(7) -- activity can't be discarded--}
-
-acse-abstract-syntax ABSTRACT-SYNTAX ::= {
- ACSE-apdu
- IDENTIFIED BY
- {joint-iso-itu-t association-control(2) abstract-syntax(1) apdus(0)
- version1(1)}
-}
-
-rtse-abstract-syntax ABSTRACT-SYNTAX ::= {
- RTSE-apdus
- IDENTIFIED BY {joint-iso-itu-t reliable-transfer(3) apdus(0)}
-}
-
-AllValues{APPLICATION-CONTEXT:ac} ::= CHOICE {
- bind Bind{ac.&associationContract.&connection.&bind},
- unbind Unbind{ac.&associationContract.&connection.&unbind},
- ros-singleAS
- ROS-SingleAS{{ROSEInvokeIds},
- combine{{ac.&associationContract.&OperationsOf |
- ac.&associationContract.&InitiatorConsumerOf |
- ac.&associationContract.&ResponderConsumerOf}, {
- ...},
- {-- Information Object of class OPERATION-PACKAGE to be defined -- }}}
-}
-
-ROS-SingleAS{InvokeId:ROSEInvokeIds, OPERATION-PACKAGE:package} ::=
- ROS{{ROSEInvokeIds}, {AllOperations {package}}, {AllOperations {package}}}
-
-ROS-ConsumerAS{InvokeId:ROSEInvokeIds, OPERATION-PACKAGE:package} ::=
- ROS
- {{ROSEInvokeIds}, {ConsumerPerforms {package}},
- {SupplierPerforms {package}}}
-
-ROS-SupplierAS{InvokeId:ROSEInvokeIds, OPERATION-PACKAGE:package} ::=
- ROS
- {{ROSEInvokeIds}, {SupplierPerforms {package}},
- {ConsumerPerforms {package}}}
-
-ROSEInvokeIds InvokeId ::= {ALL EXCEPT noInvokeId}
-
-END -- end of the remote-operations-abstract-syntaxes module
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Generic-ROS-PDUs.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Generic-ROS-PDUs.asn
deleted file mode 100644
index e55ea3c05e..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Generic-ROS-PDUs.asn
+++ /dev/null
@@ -1,163 +0,0 @@
--- Module Remote-Operations-Generic-ROS-PDUs (X.880:07/1994)
-
-Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4)
- generic-ROS-PDUs(6) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::=
- CHOICE {
- invoke [1] Invoke{{InvokeIdSet}, {Invokable}},
- returnResult [2] ReturnResult{{Returnable}},
- returnError [3] ReturnError{{Errors {{Returnable}}}},
- reject [4] Reject
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-unrecognizedPDU)
-
-Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
- invokeId
- InvokeId(InvokeIdSet)
- (CONSTRAINED BY { -- must be unambiguous --} !
- RejectProblem:invoke-duplicateInvocation),
- linkedId
- CHOICE {present [0] IMPLICIT present < InvokeId,
- absent [1] IMPLICIT NULL
- }
- (CONSTRAINED BY { -- must identify an outstanding operation --} !
- RejectProblem:invoke-unrecognizedLinkedId)
- (CONSTRAINED BY { -- which has one or more linked operations--} !
- RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
- opcode
- OPERATION.&operationCode
- ({Operations} !RejectProblem:invoke-unrecognizedOperation),
- argument
- OPERATION.&ArgumentType
- ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-(WITH COMPONENTS {
- ...,
- linkedId ABSENT
- } |
- WITH COMPONENTS {
- ...,
- linkedId PRESENT,
- opcode (CONSTRAINED BY { -- must be in the &Linked field of the associated operation --
- } !RejectProblem:invoke-unexpectedLinkedOperation)
- })
-
--- continued on the next page
-ReturnResult{OPERATION:Operations} ::= SEQUENCE {
- invokeId
- InvokeId
- (CONSTRAINED BY { -- must be that for an outstanding operation --} !
- RejectProblem:returnResult-unrecognizedInvocation)
- (CONSTRAINED BY { -- which returns a result --} !
- RejectProblem:returnResult-resultResponseUnexpected),
- result
- SEQUENCE {opcode
- OPERATION.&operationCode({Operations})
- (CONSTRAINED BY { -- identified by invokeId --} !
- RejectProblem:returnResult-unrecognizedInvocation),
- result
- OPERATION.&ResultType
- ({Operations}{@.opcode} !
- RejectProblem:returnResult-mistypedResult)} OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-ReturnError{ERROR:Errors} ::= SEQUENCE {
- invokeId
- InvokeId
- (CONSTRAINED BY { -- must be that for an outstanding operation --} !
- RejectProblem:returnError-unrecognizedInvocation)
- (CONSTRAINED BY { -- which returns an error --} !
- RejectProblem:returnError-errorResponseUnexpected),
- errcode
- ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
- (CONSTRAINED BY { -- must be in the &Errors field of the associated operation --
- } !RejectProblem:returnError-unexpectedError),
- parameter
- ERROR.&ParameterType
- ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
- OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-Reject ::= SEQUENCE {
- invokeId InvokeId,
- problem
- CHOICE {general [0] GeneralProblem,
- invoke [1] InvokeProblem,
- returnResult [2] ReturnResultProblem,
- returnError [3] ReturnErrorProblem}
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-GeneralProblem ::= INTEGER {
- unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)}
-
--- continued on the next page
-InvokeProblem ::= INTEGER {
- duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
- resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
- linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
-
-ReturnResultProblem ::= INTEGER {
- unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
-}
-
-ReturnErrorProblem ::= INTEGER {
- unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
- unexpectedError(3), mistypedParameter(4)}
-
-RejectProblem ::= INTEGER {
- general-unrecognizedPDU(0), general-mistypedPDU(1),
- general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
- invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
- invoke-resourceLimitation(13), invoke-releaseInProgress(14),
- invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
- invoke-unexpectedLinkedOperation(17),
- returnResult-unrecognizedInvocation(20),
- returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
- returnError-unrecognizedInvocation(30),
- returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
- returnError-unexpectedError(33), returnError-mistypedParameter(34)}
-
-InvokeId ::= CHOICE {present INTEGER,
- absent NULL
-}
-
-noInvokeId InvokeId ::= absent:NULL
-
-NoInvokeId InvokeId ::= {noInvokeId}
-
-Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
-
--- continued on the next page
-Bind{OPERATION:operation} ::= CHOICE {
- bind-invoke [16] OPERATION.&ArgumentType({operation}),
- bind-result [17] OPERATION.&ResultType({operation}),
- bind-error [18] OPERATION.&Errors.&ParameterType({operation})
-}
-
-Unbind{OPERATION:operation} ::= CHOICE {
- unbind-invoke [19] OPERATION.&ArgumentType({operation}),
- unbind-result [20] OPERATION.&ResultType({operation}),
- unbind-error [21] OPERATION.&Errors.&ParameterType({operation})
-}
-
-END -- end of generic ROS PDU definitions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Information-Objects-extensions.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Information-Objects-extensions.asn
deleted file mode 100644
index 671cf0e780..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Information-Objects-extensions.asn
+++ /dev/null
@@ -1,36 +0,0 @@
--- Module Remote-Operations-Information-Objects-extensions (X.881:07/1994)
-
-Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
-DEFINITIONS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- CONTRACT
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-APPLICATION-CONTEXT ::= CLASS {
- &associationContract CONTRACT,
- &associationRealization REALIZATION OPTIONAL,
- &transferRealization REALIZATION,
- &AbstractSyntaxes ABSTRACT-SYNTAX,
- &applicationContextName OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- CONTRACT &associationContract
- [ESTABLISHED BY &associationRealization]
- INFORMATION TRANSFER BY &transferRealization
- ABSTRACT SYNTAXES &AbstractSyntaxes
- APPLICATION CONTEXT NAME &applicationContextName
-}
-
-REALIZATION ::= TYPE-IDENTIFIER
-
--- information objects ABSTRACT-SYNTAX and TYPE-IDENTIFIER are defined in ITU-T Rec. X.681 |
--- ISO/IEC 8824-2
-END -- end of the information-objects-extensions module
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Information-Objects.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Information-Objects.asn
deleted file mode 100644
index b497e4126b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Information-Objects.asn
+++ /dev/null
@@ -1,123 +0,0 @@
--- Module Remote-Operations-Information-Objects (X.880:07/1994)
-
-Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)} DEFINITIONS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- emptyBind, emptyUnbind
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)};
-
-OPERATION ::= CLASS {
- &ArgumentType OPTIONAL,
- &argumentTypeOptional BOOLEAN OPTIONAL,
- &returnResult BOOLEAN DEFAULT TRUE,
- &ResultType OPTIONAL,
- &resultTypeOptional BOOLEAN OPTIONAL,
- &Errors ERROR OPTIONAL,
- &Linked OPERATION OPTIONAL,
- &synchronous BOOLEAN DEFAULT FALSE,
- &alwaysReturns BOOLEAN DEFAULT TRUE,
- &InvokePriority Priority OPTIONAL,
- &ResultPriority Priority OPTIONAL,
- &operationCode Code UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [ARGUMENT &ArgumentType
- [OPTIONAL &argumentTypeOptional]]
- [RESULT &ResultType
- [OPTIONAL &resultTypeOptional]]
- [RETURN RESULT &returnResult]
- [ERRORS &Errors]
- [LINKED &Linked]
- [SYNCHRONOUS &synchronous]
- [ALWAYS RESPONDS &alwaysReturns]
- [INVOKE PRIORITY &InvokePriority]
- [RESULT-PRIORITY &ResultPriority]
- [CODE &operationCode]
-}
-
-ERROR ::= CLASS {
- &ParameterType OPTIONAL,
- &parameterTypeOptional BOOLEAN OPTIONAL,
- &ErrorPriority Priority OPTIONAL,
- &errorCode Code UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [PARAMETER &ParameterType
- [OPTIONAL &parameterTypeOptional]]
- [PRIORITY &ErrorPriority]
- [CODE &errorCode]
-}
-
-OPERATION-PACKAGE ::= CLASS {
- &Both OPERATION OPTIONAL,
- &Consumer OPERATION OPTIONAL,
- &Supplier OPERATION OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
--- continued on the next page
-WITH SYNTAX {
- [OPERATIONS &Both]
- [CONSUMER INVOKES &Supplier]
- [SUPPLIER INVOKES &Consumer]
- [ID &id]
-}
-
-CONNECTION-PACKAGE ::= CLASS {
- &bind OPERATION DEFAULT emptyBind,
- &unbind OPERATION DEFAULT emptyUnbind,
- &responderCanUnbind BOOLEAN DEFAULT FALSE,
- &unbindCanFail BOOLEAN DEFAULT FALSE,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [BIND &bind]
- [UNBIND &unbind]
- [RESPONDER UNBIND &responderCanUnbind]
- [FAILURE TO UNBIND &unbindCanFail]
- [ID &id]
-}
-
-CONTRACT ::= CLASS {
- &connection CONNECTION-PACKAGE OPTIONAL,
- &OperationsOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [CONNECTION &connection]
- [OPERATIONS OF &OperationsOf]
- [INITIATOR CONSUMER OF &InitiatorConsumerOf]
- [RESPONDER CONSUMER OF &InitiatorSupplierOf]
- [ID &id]
-}
-
-ROS-OBJECT-CLASS ::= CLASS {
- &Is ROS-OBJECT-CLASS OPTIONAL,
- &Initiates CONTRACT OPTIONAL,
- &Responds CONTRACT OPTIONAL,
- &InitiatesAndResponds CONTRACT OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [IS &Is]
- [BOTH &InitiatesAndResponds]
- [INITIATES &Initiates]
- [RESPONDS &Responds]
- ID &id
-}
-
-Code ::= CHOICE {local INTEGER,
- global OBJECT IDENTIFIER
-}
-
-Priority ::= INTEGER(0..MAX)
-
-END -- end of Information Object specifications
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Realizations.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Realizations.asn
deleted file mode 100644
index 73b49c8d7a..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Realizations.asn
+++ /dev/null
@@ -1,81 +0,0 @@
--- Module Remote-Operations-Realizations (X.882:07/1994)
-
-Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)} DEFINITIONS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- REALIZATION
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)};
-
-RealizationParameter ::= SEQUENCE {
- realization-type ENUMERATED {association-service(0), transfer-service(1)},
- concatenation BOOLEAN DEFAULT FALSE
-}
-
-acse REALIZATION ::= {
- RealizationParameter
- (WITH COMPONENTS {
- realization-type (association-service)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) association-realizations(10)
- acse-without-concatenation(0)}
-}
-
-acse-with-concatenation REALIZATION ::= {
- RealizationParameter
- (WITH COMPONENTS {
- realization-type (association-service),
- concatenation (TRUE)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) association-realizations(10)
- acse-with-concatenation(1)}
-}
-
-association-by-RTSE REALIZATION ::= {
- RealizationParameter
- (WITH COMPONENTS {
- realization-type (association-service)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) association-realizations(10)
- association-by-rtse(2)}
-}
-
-pData REALIZATION ::= {
- RealizationParameter(WITH COMPONENTS {
- realization-type (transfer-service)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) transfer-realizations(11)
- pData-without-concatenation(0)}
-}
-
-pData-with-concatenation REALIZATION ::= {
- RealizationParameter
- (WITH COMPONENTS {
- realization-type (transfer-service),
- concatenation (TRUE)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) transfer-realizations(11)
- pData-with-concatenation(1)}
-}
-
-transfer-by-RTSE REALIZATION ::= {
- RealizationParameter(WITH COMPONENTS {
- realization-type (transfer-service)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) transfer-realizations(11)
- rTSE-transfer(2)}
-}
-
-END -- end of the OSI realizations module
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Useful-Definitions.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Useful-Definitions.asn
deleted file mode 100644
index e526ff4600..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Remote-Operations-Useful-Definitions.asn
+++ /dev/null
@@ -1,95 +0,0 @@
--- Module Remote-Operations-Useful-Definitions (X.880:07/1994)
-
-Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4)
- useful-definitions(7) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- OPERATION, ERROR, OPERATION-PACKAGE, Code
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- InvokeId, ROS{}
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)};
-
-emptyBind OPERATION ::= {ERRORS {refuse}
- SYNCHRONOUS TRUE
-}
-
-emptyUnbind OPERATION ::= {SYNCHRONOUS TRUE
-}
-
-refuse ERROR ::= {CODE local:-1
-}
-
-no-op OPERATION ::= {ALWAYS RESPONDS FALSE
- CODE local:-1
-}
-
-Forward{OPERATION:OperationSet} OPERATION ::=
- {OperationSet | OperationSet.&Linked.&Linked |
- OperationSet.&Linked.&Linked.&Linked.&Linked}
-
-Reverse{OPERATION:OperationSet} OPERATION ::= {Forward{{OperationSet.&Linked}}}
-
-ConsumerPerforms{OPERATION-PACKAGE:package} OPERATION ::=
- {Forward{{package.&Consumer}} | Forward{{package.&Both}} |
- Reverse{{package.&Supplier}} | Reverse{{package.&Both}}}
-
-SupplierPerforms{OPERATION-PACKAGE:package} OPERATION ::=
- {Forward{{package.&Supplier}} | Forward{{package.&Both}} |
- Reverse{{package.&Consumer}} | Reverse{{package.&Both}}}
-
-AllOperations{OPERATION-PACKAGE:package} OPERATION ::=
- {ConsumerPerforms{package} | SupplierPerforms{package}}
-
--- continued on the next page
-recode{OPERATION:operation, Code:code} OPERATION ::= {
- ARGUMENT operation.&ArgumentType
- OPTIONAL operation.&argumentTypeOptional
- RESULT operation.&ResultType
- OPTIONAL operation.&resultTypeOptional
- RETURN RESULT operation.&returnResult
- ERRORS {operation.&Errors}
- LINKED {operation.&Linked}
- SYNCHRONOUS operation.&synchronous
- ALWAYS RESPONDS operation.&alwaysReturns
- INVOKE PRIORITY {operation.&InvokePriority}
- RESULT-PRIORITY {operation.&ResultPriority}
- CODE code
-}
-
-switch{OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
-{
- OPERATIONS {package.&Both}
- CONSUMER INVOKES {package.&Consumer}
- SUPPLIER INVOKES {package.&Supplier}
- ID id
-}
-
-combine{OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies,
- OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= {
- OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
- CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
- SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
- ID base.&id
-}
-
-ROS-SingleAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS{{InvokeIdSet}, {AllOperations {package}}, {AllOperations {package}}}
-
-ROS-ConsumerAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS
- {{InvokeIdSet}, {ConsumerPerforms {package}},
- {SupplierPerforms {package}}}
-
-ROS-SupplierAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS
- {{InvokeIdSet}, {SupplierPerforms {package}},
- {ConsumerPerforms {package}}}
-
-END -- end of useful definitions.
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/SelectedAttributeTypes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/SelectedAttributeTypes.asn
deleted file mode 100644
index 07bba30690..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/SelectedAttributeTypes.asn
+++ /dev/null
@@ -1,1466 +0,0 @@
--- Module SelectedAttributeTypes (X.520:08/1997)
-
-SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
- selectedAttributeTypes(5) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, upperBounds, id-at, id-mr, id-avc,
- directoryAbstractService, id-pr, id-not, id-cat
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, ATTRIBUTE, MATCHING-RULE, AttributeType, OBJECT-CLASS,
- DistinguishedName, objectIdentifierMatch, distinguishedNameMatch,
- CONTEXT, ContextAssertion, AttributeCombination, ContextCombination,
- MAPPING-BASED-MATCHING, MRMapping, AttributeValueAssertion
- FROM InformationFramework informationFramework
- G3FacsimileNonBasicParameters
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- ub-answerback, ub-name, ub-common-name, ub-surname, ub-serial-number,
- ub-locality-name, ub-state-name, ub-street-address, ub-organization-name,
- ub-organizational-unit-name, ub-title, ub-description,
- ub-business-category, ub-postal-line, ub-postal-string, ub-postal-code,
- ub-post-office-box, ub-physical-office-name, ub-telex-number,
- ub-country-code, ub-teletex-terminal-id, ub-telephone-number,
- ub-x121-address, ub-international-isdn-number, ub-destination-indicator,
- ub-user-password, ub-match, ub-knowledge-information,
- ub-directory-string-first-component-match, ub-localeContextSyntax,
- ub-pseudonym
- FROM UpperBounds upperBounds
- FilterItem, HierarchySelections, SearchControlOptions, ServiceControlOptions
- FROM DirectoryAbstractService directoryAbstractService;
-
--- Directory string type
-DirectoryString{INTEGER:maxSize} ::= CHOICE {
- teletexString TeletexString(SIZE (1..maxSize)),
- printableString PrintableString(SIZE (1..maxSize)),
- universalString UniversalString(SIZE (1..maxSize)),
- bmpString BMPString(SIZE (1..maxSize)),
- uTF8String UTF8String(SIZE (1..maxSize))
-}
-
--- Attribute types
-knowledgeInformation ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-knowledge-information}
- EQUALITY MATCHING RULE caseIgnoreMatch
- ID id-at-knowledgeInformation
-}
-
-name ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-name
-}
-
-commonName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-commonName
-}
-
-surname ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-surname}
- ID id-at-surname
-}
-
-givenName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-givenName
-}
-
-initials ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-initials
-}
-
-generationQualifier ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-generationQualifier
-}
-
-uniqueIdentifier ATTRIBUTE ::= {
- WITH SYNTAX UniqueIdentifier
- EQUALITY MATCHING RULE bitStringMatch
- ID id-at-uniqueIdentifier
-}
-
-UniqueIdentifier ::= BIT STRING
-
-dnQualifier ATTRIBUTE ::= {
- WITH SYNTAX PrintableString
- EQUALITY MATCHING RULE caseIgnoreMatch
- ORDERING MATCHING RULE caseIgnoreOrderingMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-dnQualifier
-}
-
-serialNumber ATTRIBUTE ::= {
- WITH SYNTAX PrintableString(SIZE (1..ub-serial-number))
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-serialNumber
-}
-
-pseudonym ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-pseudonym}
- ID id-at-pseudonym
-}
-
-countryName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX CountryName
- SINGLE VALUE TRUE
- ID id-at-countryName
-}
-
-CountryName ::= PrintableString(SIZE (2)) -- ISO 3166 codes only
-
-
-localityName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-locality-name}
- ID id-at-localityName
-}
-
-collectiveLocalityName ATTRIBUTE ::= {
- SUBTYPE OF localityName
- COLLECTIVE TRUE
- ID id-at-collectiveLocalityName
-}
-
-stateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-state-name}
- ID id-at-stateOrProvinceName
-}
-
-collectiveStateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF stateOrProvinceName
- COLLECTIVE TRUE
- ID id-at-collectiveStateOrProvinceName
-}
-
-streetAddress ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-street-address}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-streetAddress
-}
-
-collectiveStreetAddress ATTRIBUTE ::= {
- SUBTYPE OF streetAddress
- COLLECTIVE TRUE
- ID id-at-collectiveStreetAddress
-}
-
-houseIdentifier ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-houseIdentifier
-}
-
-organizationName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organization-name}
- ID id-at-organizationName
-}
-
-collectiveOrganizationName ATTRIBUTE ::= {
- SUBTYPE OF organizationName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationName
-}
-
-organizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organizational-unit-name}
- ID id-at-organizationalUnitName
-}
-
-collectiveOrganizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF organizationalUnitName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationalUnitName
-}
-
-title ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-title}
- ID id-at-title
-}
-
-description ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-description}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-description
-}
-
-searchGuide ATTRIBUTE ::= {WITH SYNTAX Guide
- ID id-at-searchGuide
-}
-
-Guide ::= SET {
- objectClass [0] OBJECT-CLASS.&id OPTIONAL,
- criteria [1] Criteria
-}
-
-Criteria ::= CHOICE {
- type [0] CriteriaItem,
- and [1] SET OF Criteria,
- or [2] SET OF Criteria,
- not [3] Criteria
-}
-
-CriteriaItem ::= CHOICE {
- equality [0] AttributeType,
- substrings [1] AttributeType,
- greaterOrEqual [2] AttributeType,
- lessOrEqual [3] AttributeType,
- approximateMatch [4] AttributeType
-}
-
-enhancedSearchGuide ATTRIBUTE ::= {
- WITH SYNTAX EnhancedGuide
- ID id-at-enhancedSearchGuide
-}
-
-EnhancedGuide ::= SEQUENCE {
- objectClass [0] OBJECT-CLASS.&id,
- criteria [1] Criteria,
- subset
- [2] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} DEFAULT oneLevel
-}
-
-businessCategory ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-business-category}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-businessCategory
-}
-
-postalAddress ATTRIBUTE ::= {
- WITH SYNTAX PostalAddress
- EQUALITY MATCHING RULE caseIgnoreListMatch
- SUBSTRINGS MATCHING RULE caseIgnoreListSubstringsMatch
- ID id-at-postalAddress
-}
-
-PostalAddress ::=
- SEQUENCE SIZE (1..ub-postal-line) OF DirectoryString{ub-postal-string}
-
-collectivePostalAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- COLLECTIVE TRUE
- ID id-at-collectivePostalAddress
-}
-
-postalCode ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-postal-code}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postalCode
-}
-
-collectivePostalCode ATTRIBUTE ::= {
- SUBTYPE OF postalCode
- COLLECTIVE TRUE
- ID id-at-collectivePostalCode
-}
-
-postOfficeBox ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-post-office-box}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postOfficeBox
-}
-
-collectivePostOfficeBox ATTRIBUTE ::= {
- SUBTYPE OF postOfficeBox
- COLLECTIVE TRUE
- ID id-at-collectivePostOfficeBox
-}
-
-physicalDeliveryOfficeName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-physical-office-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-physicalDeliveryOfficeName
-}
-
-collectivePhysicalDeliveryOfficeName ATTRIBUTE ::= {
- SUBTYPE OF physicalDeliveryOfficeName
- COLLECTIVE TRUE
- ID id-at-collectivePhysicalDeliveryOfficeName
-}
-
-telephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX TelephoneNumber
- EQUALITY MATCHING RULE telephoneNumberMatch
- SUBSTRINGS MATCHING RULE telephoneNumberSubstringsMatch
- ID id-at-telephoneNumber
-}
-
-TelephoneNumber ::= PrintableString(SIZE (1..ub-telephone-number))
-
--- String complying with CCITT Rec. E.123 only
-collectiveTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF telephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelephoneNumber
-}
-
-telexNumber ATTRIBUTE ::= {
- WITH SYNTAX TelexNumber
- ID id-at-telexNumber
-}
-
-TelexNumber ::= SEQUENCE {
- telexNumber PrintableString(SIZE (1..ub-telex-number)),
- countryCode PrintableString(SIZE (1..ub-country-code)),
- answerback PrintableString(SIZE (1..ub-answerback))
-}
-
-collectiveTelexNumber ATTRIBUTE ::= {
- SUBTYPE OF telexNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelexNumber
-}
-
-facsimileTelephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX FacsimileTelephoneNumber
- EQUALITY MATCHING RULE facsimileNumberMatch
- SUBSTRINGS MATCHING RULE facsimileNumberSubstringsMatch
- ID id-at-facsimileTelephoneNumber
-}
-
-facsimileNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-facsimileNumberMatch
-}
-
-facsimileNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-facsimileNumberSubstringsMatch
-}
-
-FacsimileTelephoneNumber ::= SEQUENCE {
- telephoneNumber TelephoneNumber,
- parameters G3FacsimileNonBasicParameters OPTIONAL
-}
-
-collectiveFacsimileTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF facsimileTelephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveFacsimileTelephoneNumber
-}
-
-x121Address ATTRIBUTE ::= {
- WITH SYNTAX X121Address
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-x121Address
-}
-
-X121Address ::= NumericString(SIZE (1..ub-x121-address))
-
--- String as defined by ITU-T Rec. X.121
-internationalISDNNumber ATTRIBUTE ::= {
- WITH SYNTAX InternationalISDNNumber
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-internationalISDNNumber
-}
-
-InternationalISDNNumber ::=
- NumericString(SIZE (1..ub-international-isdn-number))
-
--- String complying with ITU-T Rec. E.164 only
-collectiveInternationalISDNNumber ATTRIBUTE ::= {
- SUBTYPE OF internationalISDNNumber
- COLLECTIVE TRUE
- ID id-at-collectiveInternationalISDNNumber
-}
-
-registeredAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- WITH SYNTAX PostalAddress
- ID id-at-registeredAddress
-}
-
-destinationIndicator ATTRIBUTE ::= {
- WITH SYNTAX DestinationIndicator
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-destinationIndicator
-}
-
-DestinationIndicator ::= PrintableString(SIZE (1..ub-destination-indicator))
-
-communicationsService ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-communicationsService
-}
-
-communicationsNetwork ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-at-communicationsNetwork
-}
-
--- alphabetical characters only
-preferredDeliveryMethod ATTRIBUTE ::= {
- WITH SYNTAX PreferredDeliveryMethod
- SINGLE VALUE TRUE
- ID id-at-preferredDeliveryMethod
-}
-
-PreferredDeliveryMethod ::=
- SEQUENCE OF
- INTEGER {any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
- g4-facsimile-delivery(6), ia5-terminal-delivery(7),
- videotex-delivery(8), telephone-delivery(9)}
-
-presentationAddress ATTRIBUTE ::= {
- WITH SYNTAX PresentationAddress
- EQUALITY MATCHING RULE presentationAddressMatch
- SINGLE VALUE TRUE
- ID id-at-presentationAddress
-}
-
-PresentationAddress ::= SEQUENCE {
- pSelector [0] OCTET STRING OPTIONAL,
- sSelector [1] OCTET STRING OPTIONAL,
- tSelector [2] OCTET STRING OPTIONAL,
- nAddresses [3] SET SIZE (1..MAX) OF OCTET STRING
-}
-
-supportedApplicationContext ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-supportedApplicationContext
-}
-
-protocolInformation ATTRIBUTE ::= {
- WITH SYNTAX ProtocolInformation
- EQUALITY MATCHING RULE protocolInformationMatch
- ID id-at-protocolInformation
-}
-
-ProtocolInformation ::= SEQUENCE {
- nAddress OCTET STRING,
- profiles SET OF OBJECT IDENTIFIER
-}
-
-distinguishedName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- ID id-at-distinguishedName
-}
-
-member ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-member
-}
-
-uniqueMember ATTRIBUTE ::= {
- WITH SYNTAX NameAndOptionalUID
- EQUALITY MATCHING RULE uniqueMemberMatch
- ID id-at-uniqueMember
-}
-
-NameAndOptionalUID ::= SEQUENCE {
- dn DistinguishedName,
- uid UniqueIdentifier OPTIONAL
-}
-
-owner ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-owner
-}
-
-roleOccupant ATTRIBUTE ::= {
- SUBTYPE OF distinguishedName
- ID id-at-roleOccupant
-}
-
-seeAlso ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-seeAlso
-}
-
-dmdName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-dmdName
-}
-
-dSAProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-dSAProblem
-}
-
-searchServiceProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-searchServiceProblem
-}
-
-serviceType ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-serviceType
-}
-
-attributeTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-attributeTypeList
-}
-
-filterItem ATTRIBUTE ::= {
- WITH SYNTAX FilterItem
- ID id-not-filterItem
-}
-
-attributeCombinations ATTRIBUTE ::= {
- WITH SYNTAX AttributeCombination
- ID id-not-attributeCombinations
-}
-
-contextTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-contextTypeList
-}
-
-contextList ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-not-contextList
-}
-
-hierarchySelectList ATTRIBUTE ::= {
- WITH SYNTAX HierarchySelections
- SINGLE VALUE TRUE
- ID id-not-hierarchySelectList
-}
-
-searchOptionsList ATTRIBUTE ::= {
- WITH SYNTAX SearchControlOptions
- SINGLE VALUE TRUE
- ID id-not-searchOptionsList
-}
-
-serviceControlOptionsList ATTRIBUTE ::= {
- WITH SYNTAX ServiceControlOptions
- SINGLE VALUE TRUE
- ID id-not-serviceControlOptionsList
-}
-
-multipleMatchingLocalities ATTRIBUTE ::= {
- WITH SYNTAX MultipleMatchingLocalities
- ID id-not-multipleMatchingLocalities
-}
-
-MultipleMatchingLocalities ::= SEQUENCE {
- matchingRuleUsed MATCHING-RULE.&id OPTIONAL,
- attributeList SEQUENCE OF AttributeValueAssertion
-}
-
-proposedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX SEQUENCE OF MRMapping
- ID id-not-proposedRelaxation
-}
-
-appliedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-appliedRelaxation
-}
-
--- Matching rules
-caseIgnoreMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreMatch
-}
-
-caseIgnoreOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreOrderingMatch
-}
-
-caseIgnoreSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreSubstringsMatch
-}
-
-SubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] DirectoryString{ub-match},
- any [1] DirectoryString{ub-match},
- final [2] DirectoryString{ub-match},
- control Attribute
- } -- Used to specify interpretation of the following items
-
--- at most one initial and one final component
-caseExactMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactMatch
-}
-
-caseExactOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactOrderingMatch
-}
-
-caseExactSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion -- only the PrintableString choice
- ID id-mr-caseExactSubstringsMatch
-}
-
-numericStringMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringMatch
-}
-
-numericStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringOrderingMatch
-}
-
-numericStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-numericStringSubstringsMatch
-}
-
-caseIgnoreListMatch MATCHING-RULE ::= {
- SYNTAX CaseIgnoreListMatch
- ID id-mr-caseIgnoreListMatch
-}
-
-CaseIgnoreListMatch ::= SEQUENCE OF DirectoryString{ub-match}
-
-caseIgnoreListSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreListSubstringsMatch
-}
-
-storedPrefixMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-storedPrefixMatch
-}
-
-booleanMatch MATCHING-RULE ::= {SYNTAX BOOLEAN
- ID id-mr-booleanMatch
-}
-
-integerMatch MATCHING-RULE ::= {SYNTAX INTEGER
- ID id-mr-integerMatch
-}
-
-integerOrderingMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerOrderingMatch
-}
-
-bitStringMatch MATCHING-RULE ::= {
- SYNTAX BIT STRING
- ID id-mr-bitStringMatch
-}
-
-octetStringMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringMatch
-}
-
-octetStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringOrderingMatch
-}
-
-octetStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX OctetSubstringAssertion
- ID id-mr-octetStringSubstringsMatch
-}
-
-OctetSubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] OCTET STRING,
- any [1] OCTET STRING,
- final [2] OCTET STRING}
-
--- at most one initial and one final component
-telephoneNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-telephoneNumberMatch
-}
-
-telephoneNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-telephoneNumberSubstringsMatch
-}
-
-presentationAddressMatch MATCHING-RULE ::= {
- SYNTAX PresentationAddress
- ID id-mr-presentationAddressMatch
-}
-
-uniqueMemberMatch MATCHING-RULE ::= {
- SYNTAX NameAndOptionalUID
- ID id-mr-uniqueMemberMatch
-}
-
-protocolInformationMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-protocolInformationMatch
-}
-
-uTCTimeMatch MATCHING-RULE ::= {SYNTAX UTCTime
- ID id-mr-uTCTimeMatch
-}
-
-uTCTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX UTCTime
- ID id-mr-uTCTimeOrderingMatch
-}
-
-generalizedTimeMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeMatch
-}
-
-generalizedTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeOrderingMatch
-}
-
-integerFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerFirstComponentMatch
-}
-
-objectIdentifierFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierFirstComponentMatch
-}
-
-directoryStringFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-directory-string-first-component-match}
- ID id-mr-directoryStringFirstComponentMatch
-}
-
-wordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-wordMatch
-}
-
-keywordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-keywordMatch
-}
-
-systemProposedMatch MATCHING-RULE ::= {ID id-mr-systemProposedMatch
-}
-
-generalWordMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-generalWordMatch
-}
-
-sequenceMatchType ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {sequenceExact(0), sequenceDeletion(1),
- sequenceRestrictedDeletion(2), sequencePermutation(3),
- sequencePermutationAndDeletion(4), sequenceProviderDefined(5)}
- SINGLE VALUE TRUE
- ID id-cat-sequenceMatchType
-} -- defaulting to sequenceExact,
-
-wordMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {wordExact(0), wordTruncated(1), wordPhonetic(2),
- wordProviderDefined(3)}
- SINGLE VALUE TRUE
- ID id-cat-wordMatchType
-} -- defaulting to wordExact
-
-characterMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {characterExact(0), characterCaseIgnore(1), characterMapped(2)}
- SINGLE VALUE TRUE
- ID id-cat-characterMatchTypes
-}
-
-selectedContexts ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-cat-selectedContexts
-}
-
-approximateStringMatch MATCHING-RULE ::= {ID id-mr-approximateStringMatch
-}
-
-ignoreIfAbsentMatch MATCHING-RULE ::= {ID id-mr-ignoreIfAbsentMatch
-}
-
-nullMatch MATCHING-RULE ::= {ID id-mr-nullMatch
-}
-
-ZONAL-MATCHING ::=
- MAPPING-BASED-MATCHING{ZonalSelect, TRUE, ZonalResult, zonalMatch.&id}
-
-ZonalSelect ::= SEQUENCE OF AttributeType
-
-ZonalResult ::= ENUMERATED {
- cannot-select-mapping(0), zero-mappings(2), multiple-mappings(3)}
-
-zonalMatch MATCHING-RULE ::= {
- UNIQUE-MATCH-INDICATOR multipleMatchingLocalities.&id
- ID id-mr-zonalMatch
-}
-
--- Contexts
-languageContext CONTEXT ::= {
- WITH SYNTAX LanguageContextSyntax
- ID id-avc-language
-}
-
-LanguageContextSyntax ::= PrintableString(SIZE (2..3)) -- ISO 639-2 codes only
-
-
-temporalContext CONTEXT ::= {
- WITH SYNTAX TimeSpecification
- ASSERTED AS TimeAssertion
- ID id-avc-temporal
-}
-
-TimeSpecification ::= SEQUENCE {
- time
- CHOICE {absolute
- SEQUENCE {startTime [0] GeneralizedTime OPTIONAL,
- endTime [1] GeneralizedTime OPTIONAL},
- periodic SET OF Period},
- notThisTime BOOLEAN DEFAULT FALSE,
- timeZone TimeZone OPTIONAL
-}
-
-Period ::= SEQUENCE {
- timesOfDay [0] SET SIZE (1..MAX) OF DayTimeBand OPTIONAL,
- days
- [1] CHOICE {intDay SET OF INTEGER,
- bitDay
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3),
- thursday(4), friday(5), saturday(6)},
- dayOf XDayOf} OPTIONAL,
- weeks
- [2] CHOICE {allWeeks NULL,
- intWeek SET OF INTEGER,
- bitWeek
- BIT STRING {week1(0), week2(1), week3(2), week4(3), week5(4)}
- } OPTIONAL,
- months
- [3] CHOICE {allMonths NULL,
- intMonth SET OF INTEGER,
- bitMonth
- BIT STRING {january(0), february(1), march(2), april(3),
- may(4), june(5), july(6), august(7),
- september(8), october(9), november(10),
- december(11)}} OPTIONAL,
- years [4] SET OF INTEGER(1000..MAX) OPTIONAL
-}
-
-XDayOf ::= CHOICE {
- first [1] NamedDay,
- second [2] NamedDay,
- third [3] NamedDay,
- fourth [4] NamedDay,
- fifth [5] NamedDay
-}
-
-NamedDay ::= CHOICE {
- intNamedDays
- ENUMERATED {sunday(1), monday(2), tuesday(3), wednesday(4), thursday(5),
- friday(6), saturday(7)},
- bitNamedDays
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4),
- friday(5), saturday(6)}
-}
-
-DayTimeBand ::= SEQUENCE {
- startDayTime [0] DayTime DEFAULT {hour 0},
- endDayTime [1] DayTime DEFAULT {hour 23, minute 59, second 59}
-}
-
-DayTime ::= SEQUENCE {
- hour [0] INTEGER(0..23),
- minute [1] INTEGER(0..59) DEFAULT 0,
- second [2] INTEGER(0..59) DEFAULT 0
-}
-
-TimeZone ::= INTEGER(-12..12)
-
-TimeAssertion ::= CHOICE {
- now NULL,
- at GeneralizedTime,
- between
- SEQUENCE {startTime [0] GeneralizedTime,
- endTime [1] GeneralizedTime OPTIONAL,
- entirely BOOLEAN DEFAULT FALSE}
-}
-
-localeContext CONTEXT ::= {
- WITH SYNTAX LocaleContextSyntax
- ID id-avc-locale
-}
-
-LocaleContextSyntax ::= CHOICE {
- localeID1 OBJECT IDENTIFIER,
- localeID2 DirectoryString{ub-localeContextSyntax}
-}
-
--- Object identifier assignments -
--- object identifiers assigned in other modules are shown in comments
--- Attributes
--- id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
--- id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-id-at-encryptedAliasedEntryName OBJECT IDENTIFIER ::=
- {id-at 1 2}
-
-id-at-knowledgeInformation OBJECT IDENTIFIER ::= {id-at 2}
-
-id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
-
-id-at-encryptedCommonName OBJECT IDENTIFIER ::= {id-at 3 2}
-
-id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
-
-id-at-encryptedSurname OBJECT IDENTIFIER ::= {id-at 4 2}
-
-id-at-serialNumber OBJECT IDENTIFIER ::= {id-at 5}
-
-id-at-encryptedSerialNumber OBJECT IDENTIFIER ::= {id-at 5 2}
-
-id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
-
-id-at-encryptedCountryName OBJECT IDENTIFIER ::= {id-at 6 2}
-
-id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
-
-id-at-encryptedLocalityName OBJECT IDENTIFIER ::= {id-at 7 2}
-
-id-at-collectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1}
-
-id-at-encryptedCollectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1 2}
-
-id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
-
-id-at-encryptedStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 2}
-
-id-at-collectiveStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 1}
-
-id-at-encryptedCollectiveStateOrProvinceName OBJECT IDENTIFIER ::=
- {id-at 8 1 2}
-
-id-at-streetAddress OBJECT IDENTIFIER ::= {id-at 9}
-
-id-at-encryptedStreetAddress OBJECT IDENTIFIER ::= {id-at 9 2}
-
-id-at-collectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1}
-
-id-at-encryptedCollectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1 2}
-
-id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
-
-id-at-encryptedOrganizationName OBJECT IDENTIFIER ::= {id-at 10 2}
-
-id-at-collectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1}
-
-id-at-encryptedCollectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1 2}
-
-id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
-
-id-at-encryptedOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 2}
-
-id-at-collectiveOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 1}
-
-id-at-encryptedCollectiveOrganizationalUnitName OBJECT IDENTIFIER ::=
- {id-at 11 1 2}
-
-id-at-title OBJECT IDENTIFIER ::= {id-at 12}
-
-id-at-encryptedTitle OBJECT IDENTIFIER ::= {id-at 12 2}
-
-id-at-description OBJECT IDENTIFIER ::= {id-at 13}
-
-id-at-encryptedDescription OBJECT IDENTIFIER ::= {id-at 13 2}
-
-id-at-searchGuide OBJECT IDENTIFIER ::= {id-at 14}
-
-id-at-encryptedSearchGuide OBJECT IDENTIFIER ::= {id-at 14 2}
-
-id-at-businessCategory OBJECT IDENTIFIER ::= {id-at 15}
-
-id-at-encryptedBusinessCategory OBJECT IDENTIFIER ::= {id-at 15 2}
-
-id-at-postalAddress OBJECT IDENTIFIER ::= {id-at 16}
-
-id-at-encryptedPostalAddress OBJECT IDENTIFIER ::= {id-at 16 2}
-
-id-at-collectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1}
-
-id-at-encryptedCollectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1 2}
-
-id-at-postalCode OBJECT IDENTIFIER ::= {id-at 17}
-
-id-at-encryptedPostalCode OBJECT IDENTIFIER ::= {id-at 17 2}
-
-id-at-collectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1}
-
-id-at-encryptedCollectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1 2}
-
-id-at-postOfficeBox OBJECT IDENTIFIER ::= {id-at 18}
-
-id-at-encryptedPostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 2}
-
-id-at-collectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1}
-
-id-at-encryptedCollectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1 2}
-
-id-at-physicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19}
-
-id-at-encryptedPhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 2}
-
-id-at-collectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 1}
-
-id-at-encryptedCollectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::=
- {id-at 19 1 2}
-
-id-at-telephoneNumber OBJECT IDENTIFIER ::= {id-at 20}
-
-id-at-encryptedTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 2}
-
-id-at-collectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1}
-
-id-at-encryptedCollectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1 2}
-
-id-at-telexNumber OBJECT IDENTIFIER ::= {id-at 21}
-
-id-at-encryptedTelexNumber OBJECT IDENTIFIER ::= {id-at 21 2}
-
-id-at-collectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1}
-
-id-at-encryptedCollectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1 2}
-
--- id-at-teletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22}
--- id-at-encryptedTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 2}
--- id-at-collectiveTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 1}
--- id-at-encryptedCollectiveTeletexTerminalIdentifier
--- OBJECT IDENTIFIER ::= {id-at 22 1 2}
-id-at-facsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23}
-
-id-at-encryptedFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 2}
-
-id-at-collectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 1}
-
-id-at-encryptedCollectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23 1 2}
-
-id-at-x121Address OBJECT IDENTIFIER ::= {id-at 24}
-
-id-at-encryptedX121Address OBJECT IDENTIFIER ::= {id-at 24 2}
-
-id-at-internationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25}
-
-id-at-encryptedInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 2}
-
-id-at-collectiveInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 1}
-
-id-at-encryptedCollectiveInternationalISDNNumber OBJECT IDENTIFIER ::=
- {id-at 25 1 2}
-
-id-at-registeredAddress OBJECT IDENTIFIER ::= {id-at 26}
-
-id-at-encryptedRegisteredAddress OBJECT IDENTIFIER ::= {id-at 26 2}
-
-id-at-destinationIndicator OBJECT IDENTIFIER ::= {id-at 27}
-
-id-at-encryptedDestinationIndicator OBJECT IDENTIFIER ::= {id-at 27 2}
-
-id-at-preferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28}
-
-id-at-encryptedPreferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28 2}
-
-id-at-presentationAddress OBJECT IDENTIFIER ::= {id-at 29}
-
-id-at-encryptedPresentationAddress OBJECT IDENTIFIER ::= {id-at 29 2}
-
-id-at-supportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30}
-
-id-at-encryptedSupportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30 2}
-
-id-at-member OBJECT IDENTIFIER ::= {id-at 31}
-
-id-at-encryptedMember OBJECT IDENTIFIER ::= {id-at 31 2}
-
-id-at-owner OBJECT IDENTIFIER ::= {id-at 32}
-
-id-at-encryptedOwner OBJECT IDENTIFIER ::= {id-at 32 2}
-
-id-at-roleOccupant OBJECT IDENTIFIER ::= {id-at 33}
-
-id-at-encryptedRoleOccupant OBJECT IDENTIFIER ::= {id-at 33 2}
-
-id-at-seeAlso OBJECT IDENTIFIER ::= {id-at 34}
-
-id-at-encryptedSeeAlso OBJECT IDENTIFIER ::= {id-at 34 2}
-
--- id-at-userPassword OBJECT IDENTIFIER ::= {id-at 35}
-id-at-encryptedUserPassword OBJECT IDENTIFIER ::=
- {id-at 35 2}
-
--- id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
-id-at-encryptedUserCertificate OBJECT IDENTIFIER ::=
- {id-at 36 2}
-
--- id-at-cACertificate OBJECT IDENTIFIER ::= {id-at 37}
-id-at-encryptedCACertificate OBJECT IDENTIFIER ::=
- {id-at 37 2}
-
--- id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
-id-at-encryptedAuthorityRevocationList OBJECT IDENTIFIER ::=
- {id-at 38 2}
-
--- id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
-id-at-encryptedCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 39 2}
-
--- id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
-id-at-encryptedCrossCertificatePair OBJECT IDENTIFIER ::=
- {id-at 40 2}
-
-id-at-name OBJECT IDENTIFIER ::= {id-at 41}
-
-id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
-
-id-at-encryptedGivenName OBJECT IDENTIFIER ::= {id-at 42 2}
-
-id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
-
-id-at-encryptedInitials OBJECT IDENTIFIER ::= {id-at 43 2}
-
-id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
-
-id-at-encryptedGenerationQualifier OBJECT IDENTIFIER ::= {id-at 44 2}
-
-id-at-uniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45}
-
-id-at-encryptedUniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45 2}
-
-id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
-
-id-at-encryptedDnQualifier OBJECT IDENTIFIER ::= {id-at 46 2}
-
-id-at-enhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47}
-
-id-at-encryptedEnhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47 2}
-
-id-at-protocolInformation OBJECT IDENTIFIER ::= {id-at 48}
-
-id-at-encryptedProtocolInformation OBJECT IDENTIFIER ::= {id-at 48 2}
-
-id-at-distinguishedName OBJECT IDENTIFIER ::= {id-at 49}
-
-id-at-encryptedDistinguishedName OBJECT IDENTIFIER ::= {id-at 49 2}
-
-id-at-uniqueMember OBJECT IDENTIFIER ::= {id-at 50}
-
-id-at-encryptedUniqueMember OBJECT IDENTIFIER ::= {id-at 50 2}
-
-id-at-houseIdentifier OBJECT IDENTIFIER ::= {id-at 51}
-
-id-at-encryptedHouseIdentifier OBJECT IDENTIFIER ::= {id-at 51 2}
-
---id-at-supportedAlgorithms OBJECT IDENTIFIER ::= {id-at 52}
-id-at-encryptedSupportedAlgorithms OBJECT IDENTIFIER ::=
- {id-at 52 2}
-
---id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
-id-at-encryptedDeltaRevocationList OBJECT IDENTIFIER ::=
- {id-at 53 2}
-
-id-at-dmdName OBJECT IDENTIFIER ::= {id-at 54}
-
-id-at-encryptedDmdName OBJECT IDENTIFIER ::= {id-at 54 2}
-
--- id-at-clearance OBJECT IDENTIFIER ::= {id-at 55}
-id-at-encryptedClearance OBJECT IDENTIFIER ::=
- {id-at 55 2}
-
--- id-at-defaultDirQop OBJECT IDENTIFIER ::= {id-at 56}
-id-at-encryptedDefaultDirQop OBJECT IDENTIFIER ::=
- {id-at 56 2}
-
--- id-at-attributeIntegrityInfo OBJECT IDENTIFIER ::= {id-at 57}
-id-at-encryptedAttributeIntegrityInfo OBJECT IDENTIFIER ::=
- {id-at 57 2}
-
---id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
-id-at-encryptedAttributeCertificate OBJECT IDENTIFIER ::=
- {id-at 58 2}
-
--- id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
-id-at-encryptedAttributeCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 59 2}
-
--- id-at-confKeyInfo OBJECT IDENTIFIER ::= {id-at 60}
-id-at-encryptedConfKeyInfo OBJECT IDENTIFIER ::=
- {id-at 60 2}
-
--- id-at-family-information OBJECT IDENTIFIER {id-at 64}
-id-at-pseudonym OBJECT IDENTIFIER ::=
- {id-at 65}
-
-id-at-communicationsService OBJECT IDENTIFIER ::= {id-at 66}
-
-id-at-communicationsNetwork OBJECT IDENTIFIER ::= {id-at 67}
-
--- Matching rules
--- id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
--- id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-id-mr-caseIgnoreMatch OBJECT IDENTIFIER ::=
- {id-mr 2}
-
-id-mr-caseIgnoreOrderingMatch OBJECT IDENTIFIER ::= {id-mr 3}
-
-id-mr-caseIgnoreSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 4}
-
-id-mr-caseExactMatch OBJECT IDENTIFIER ::= {id-mr 5}
-
-id-mr-caseExactOrderingMatch OBJECT IDENTIFIER ::= {id-mr 6}
-
-id-mr-caseExactSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 7}
-
-id-mr-numericStringMatch OBJECT IDENTIFIER ::= {id-mr 8}
-
-id-mr-numericStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 9}
-
-id-mr-numericStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 10}
-
-id-mr-caseIgnoreListMatch OBJECT IDENTIFIER ::= {id-mr 11}
-
-id-mr-caseIgnoreListSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 12}
-
-id-mr-booleanMatch OBJECT IDENTIFIER ::= {id-mr 13}
-
-id-mr-integerMatch OBJECT IDENTIFIER ::= {id-mr 14}
-
-id-mr-integerOrderingMatch OBJECT IDENTIFIER ::= {id-mr 15}
-
-id-mr-bitStringMatch OBJECT IDENTIFIER ::= {id-mr 16}
-
-id-mr-octetStringMatch OBJECT IDENTIFIER ::= {id-mr 17}
-
-id-mr-octetStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 18}
-
-id-mr-octetStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 19}
-
-id-mr-telephoneNumberMatch OBJECT IDENTIFIER ::= {id-mr 20}
-
-id-mr-telephoneNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 21}
-
-id-mr-presentationAddressMatch OBJECT IDENTIFIER ::= {id-mr 22}
-
-id-mr-uniqueMemberMatch OBJECT IDENTIFIER ::= {id-mr 23}
-
-id-mr-protocolInformationMatch OBJECT IDENTIFIER ::= {id-mr 24}
-
-id-mr-uTCTimeMatch OBJECT IDENTIFIER ::= {id-mr 25}
-
-id-mr-uTCTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 26}
-
-id-mr-generalizedTimeMatch OBJECT IDENTIFIER ::= {id-mr 27}
-
-id-mr-generalizedTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 28}
-
-id-mr-integerFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 29}
-
-id-mr-objectIdentifierFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 30}
-
-id-mr-directoryStringFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 31}
-
-id-mr-wordMatch OBJECT IDENTIFIER ::= {id-mr 32}
-
-id-mr-keywordMatch OBJECT IDENTIFIER ::= {id-mr 33}
-
--- id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
--- id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
--- id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
--- id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
--- id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
--- id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
--- id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
-id-mr-storedPrefixMatch OBJECT IDENTIFIER ::=
- {id-mr 41}
-
--- id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
--- id-mr-readerAndKeyIDMatch OBJECT IDENTIFIER ::= {id-mr 43}
---id-mr-attributeIntegrityMatch OBJECT IDENTIFIER ::= {id-mr 44}
-id-mr-systemProposedMatch OBJECT IDENTIFIER ::=
- {id-mr 47}
-
-id-mr-generalWordMatch OBJECT IDENTIFIER ::= {id-mr 48}
-
-id-mr-approximateStringMatch OBJECT IDENTIFIER ::= {id-mr 49}
-
-id-mr-ignoreIfAbsentMatch OBJECT IDENTIFIER ::= {id-mr 50}
-
-id-mr-nullMatch OBJECT IDENTIFIER ::= {id-mr 51}
-
-id-mr-zonalMatch OBJECT IDENTIFIER ::= {id-mr 52}
-
-id-mr-facsimileNumberMatch OBJECT IDENTIFIER ::= {id-mr 63}
-
-id-mr-facsimileNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 64}
-
--- contexts
-id-avc-language OBJECT IDENTIFIER ::= {id-avc 0}
-
-id-avc-temporal OBJECT IDENTIFIER ::= {id-avc 1}
-
-id-avc-locale OBJECT IDENTIFIER ::= {id-avc 2}
-
---id-avc-attributeValueSecurityLabelContext OBJECT IDENTIFIER ::= {id-avc 3}
---id-avc-attributeValueIntegrityInfoContext OBJECT IDENTIFIER ::= {id-avc 4}
--- Problem definitions
-id-pr-targetDsaUnavailable OBJECT IDENTIFIER ::=
- {id-pr 1}
-
-id-pr-dataSourceUnavailable OBJECT IDENTIFIER ::= {id-pr 2}
-
-id-pr-unidentifiedOperation OBJECT IDENTIFIER ::= {id-pr 3}
-
-id-pr-unavailableOperation OBJECT IDENTIFIER ::= {id-pr 4}
-
-id-pr-searchAttributeViolation OBJECT IDENTIFIER ::= {id-pr 5}
-
-id-pr-searchAttributeCombinationViolation OBJECT IDENTIFIER ::= {id-pr 6}
-
-id-pr-searchValueNotAllowed OBJECT IDENTIFIER ::= {id-pr 7}
-
-id-pr-missingSearchAttribute OBJECT IDENTIFIER ::= {id-pr 8}
-
-id-pr-searchValueViolation OBJECT IDENTIFIER ::= {id-pr 9}
-
-id-pr-attributeNegationViolation OBJECT IDENTIFIER ::= {id-pr 10}
-
-id-pr-searchValueRequired OBJECT IDENTIFIER ::= {id-pr 11}
-
-id-pr-invalidSearchValue OBJECT IDENTIFIER ::= {id-pr 12}
-
-id-pr-searchContextViolation OBJECT IDENTIFIER ::= {id-pr 13}
-
-id-pr-searchContextCombinationViolation OBJECT IDENTIFIER ::= {id-pr 14}
-
-id-pr-missingSearchContext OBJECT IDENTIFIER ::= {id-pr 15}
-
-id-pr-searchContextValueViolation OBJECT IDENTIFIER ::= {id-pr 16}
-
-id-pr-searchContextValueRequired OBJECT IDENTIFIER ::= {id-pr 17}
-
-id-pr-invalidContextSearchValue OBJECT IDENTIFIER ::= {id-pr 18}
-
-id-pr-unsupportedMatchingRule OBJECT IDENTIFIER ::= {id-pr 19}
-
-id-pr-attributeMatchingViolation OBJECT IDENTIFIER ::= {id-pr 20}
-
-id-pr-unsupportedMatchingUse OBJECT IDENTIFIER ::= {id-pr 21}
-
-id-pr-matchingUseViolation OBJECT IDENTIFIER ::= {id-pr 22}
-
-id-pr-hierarchySelectForbidden OBJECT IDENTIFIER ::= {id-pr 23}
-
-id-pr-invalidHierarchySelect OBJECT IDENTIFIER ::= {id-pr 24}
-
-id-pr-unavailableHierarchySelect OBJECT IDENTIFIER ::= {id-pr 25}
-
-id-pr-invalidSearchOptions OBJECT IDENTIFIER ::= {id-pr 26}
-
-id-pr-missingSearchOptions OBJECT IDENTIFIER ::= {id-pr 27}
-
-id-pr-invalidServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 28}
-
-id-pr-missingServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 29}
-
-id-pr-searchSubsetViolation OBJECT IDENTIFIER ::= {id-pr 30}
-
-id-pr-unmatchedKeyAttributes OBJECT IDENTIFIER ::= {id-pr 31}
-
-id-pr-ambiguousKeyAttributes OBJECT IDENTIFIER ::= {id-pr 32}
-
--- Notification attributes
-id-not-dSAProblem OBJECT IDENTIFIER ::= {id-not 0}
-
-id-not-searchServiceProblem OBJECT IDENTIFIER ::= {id-not 1}
-
-id-not-serviceType OBJECT IDENTIFIER ::= {id-not 2}
-
-id-not-attributeTypeList OBJECT IDENTIFIER ::= {id-not 3}
-
-id-not-matchingRuleList OBJECT IDENTIFIER ::= {id-not 4}
-
-id-not-filterItem OBJECT IDENTIFIER ::= {id-not 5}
-
-id-not-attributeCombinations OBJECT IDENTIFIER ::= {id-not 6}
-
-id-not-contextTypeList OBJECT IDENTIFIER ::= {id-not 7}
-
-id-not-contextList OBJECT IDENTIFIER ::= {id-not 8}
-
-id-not-contextCombinations OBJECT IDENTIFIER ::= {id-not 9}
-
-id-not-hierarchySelectList OBJECT IDENTIFIER ::= {id-not 10}
-
-id-not-searchOptionsList OBJECT IDENTIFIER ::= {id-not 11}
-
-id-not-serviceControlOptionsList OBJECT IDENTIFIER ::= {id-not 12}
-
-id-not-multipleMatchingLocalities OBJECT IDENTIFIER ::= {id-not 13}
-
-id-not-proposedRelaxation OBJECT IDENTIFIER ::= {id-not 14}
-
-id-not-appliedRelaxation OBJECT IDENTIFIER ::= {id-not 15}
-
-id-not-substringRequirements OBJECT IDENTIFIER ::= {id-not 16}
-
--- Control attributes
-id-cat-sequenceMatchType OBJECT IDENTIFIER ::=
- {id-cat 1}
-
-id-cat-wordMatchType OBJECT IDENTIFIER ::= {id-cat 2}
-
-id-cat-characterMatchTypes OBJECT IDENTIFIER ::= {id-cat 3}
-
-id-cat-selectedContexts OBJECT IDENTIFIER ::= {id-cat 4}
-
-END -- SelectedAttributeTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/SeseAPDUs.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/SeseAPDUs.asn
deleted file mode 100644
index 2917122e94..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/SeseAPDUs.asn
+++ /dev/null
@@ -1,116 +0,0 @@
--- Module SeseAPDUs (X.832:04/1995)
-
-SeseAPDUs {joint-iso-itu-t genericULS(20) modules(1) seseAPDUs(6)} DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS ALL
-IMPORTS
- notation
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- dirAuthenticationTwoWay
- FROM GulsSecurityExchanges {joint-iso-itu-t genericULS(20) modules(1)
- gulsSecurityExchanges(2)}
- SECURITY-EXCHANGE, SE-ERROR
- FROM Notation notation;
-
-SESEapdus{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::=
- CHOICE {
- se-transfer SETransfer{{ValidSEs}, {InvocationIdSet}},
- se-u-abort SEUAbort{{ValidSEs}, {InvocationIdSet}},
- se-p-abort SEPAbort{{ValidSEs}, {InvocationIdSet}}
-}
-
-SETransfer{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::=
- SEQUENCE {
- seIdentifier SECURITY-EXCHANGE.&sE-Identifier({ValidSEs}),
- -- This identifies one of the security-
- -- exchanges supported by the particular SESE
- -- abstract syntax
- itemIdentifier
- SECURITY-EXCHANGE.&SE-Items.&itemId({ValidSEs}{@seIdentifier}),
- -- This identifies one of the security-
- -- exchange-items of the security exchange
- -- indicated by "seIdentifier"
- seItem
- SECURITY-EXCHANGE.&SE-Items.&ItemType
- ({ValidSEs}{@seIdentifier, @itemIdentifier}),
- invocationId
- InvocationId(InvocationIdSet)
- (CONSTRAINED BY {-- Must be the same as the---- invocationId on an active security exchange--
-
- -- if start flag is not true -- }) DEFAULT noInvocationId,
- startFlag BOOLEAN DEFAULT FALSE,
- -- This field is set only as the first security-
- -- exchange-item of a security-exchange is
- -- transferred.
- endFlag BOOLEAN DEFAULT FALSE-- This field is set as the last security-exchange-
--- item of a security-exchange is transferred. It is
--- needed to accommodate those mechanisms requiring
--- n exchanges, where n is not known a priori
-}
-
-SEUAbort{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::=
- SEQUENCE {
- invocationId
- InvocationId(InvocationIdSet)
- (CONSTRAINED BY {-- Must be the same as the---- invocationId on an active or just-completed--
-
- -- security exchange -- }) DEFAULT noInvocationId,
- itemIdentifier
- SECURITY-EXCHANGE.&SE-Items.&itemId({ValidSEs.&SE-Items}) OPTIONAL,
- -- This component will only be present
- -- when the Abort is generated subsequent
- -- to receipt of a SETransfer APDU.
- errors SEQUENCE OF SEerror{{ValidSEs}} OPTIONAL
- -- needed to handle multiple error codes
-}
-
-SEPAbort{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::=
- SEQUENCE {
- invocationId InvocationId(InvocationIdSet) OPTIONAL,
- itemIdentifier
- SECURITY-EXCHANGE.&SE-Items.&itemId({ValidSEs.&SE-Items}) OPTIONAL,
- -- This component will only be present
- -- when the Abort is generated subsequent
- -- to receipt of a SETransfer APDU.
- problemCode ProblemCode
-}
-
-InvocationId ::= CHOICE {present INTEGER,
- absent NULL
-}
-
-noInvocationId InvocationId ::= absent:NULL
-
-NoInvocationId InvocationId ::= {noInvocationId}
-
-SEerror{SECURITY-EXCHANGE:ValidSEs} ::= SEQUENCE {
- errorCode SE-ERROR.&errorCode({Errors{{ValidSEs}}}) OPTIONAL,
- errorParameter
- SE-ERROR.&ParameterType({Errors{{ValidSEs}}}) OPTIONAL
-}
-
-Errors{SECURITY-EXCHANGE:ValidSEs} SE-ERROR ::= {ValidSEs.&SE-Items.&Errors}
-
-ProblemCode ::= CHOICE {
- general GeneralProblem,
- transfer TransferProblem,
- abort AbortProblem
-}
-
-GeneralProblem ::= ENUMERATED {invalidAPDU(0)}
-
-TransferProblem ::= ENUMERATED {
- duplicateInvocationId(0), unrecognizedSecurityExchange(1), mistypedItem(2),
- inappropriateInvocationId(3), alternatingSequenceError(4)}
-
-AbortProblem ::= ENUMERATED {
- unrecognizedInvocationId(0), abortUnexpected(1), unrecognizedError(2),
- unexpectedError(3), mistypedErrorParameter(4)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/SpkmGssTokens.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/SpkmGssTokens.asn
deleted file mode 100644
index 02205bd64c..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/SpkmGssTokens.asn
+++ /dev/null
@@ -1,257 +0,0 @@
--- Module SpkmGssTokens (RFC 2025:10/1996)
-SpkmGssTokens {iso(1) identified-organization(3) dod(6) internet(1) security(5)
- mechanisms(5) spkm(1) spkmGssTokens(10)}
---
--- Copyright (C) The Internet Society (1996). This version of
--- this ASN.1 module is part of RFC 2025;
--- see the RFC itself for full legal notices.
---
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS ALL
-IMPORTS
- Name
- FROM InformationFramework {joint-iso-itu-t(2) ds(5) module(1)
- informationFramework(1) 3}
- Certificate, CertificateList, CertificatePair, AlgorithmIdentifier, Validity
- FROM AuthenticationFramework {joint-iso-itu-t(2) ds(5) module(1)
- authenticationFramework(7) 3};
-
--- types
-SPKM-REQ ::= SEQUENCE {
- requestToken REQ-TOKEN,
- certif-data [0] CertificationData OPTIONAL,
- auth-data [1] AuthorizationData OPTIONAL
-}
-
-CertificationData ::= SEQUENCE {
- certificationPath [0] CertificationPath OPTIONAL,
- certificateRevocationList [1] CertificateList OPTIONAL
-} -- at least one of the above shall be present
-
-CertificationPath ::= SEQUENCE {
- userKeyId [0] OCTET STRING OPTIONAL,
- userCertif [1] Certificate OPTIONAL,
- verifKeyId [2] OCTET STRING OPTIONAL,
- userVerifCertif [3] Certificate OPTIONAL,
- theCACertificates [4] SEQUENCE OF CertificatePair OPTIONAL
-} -- Presence of [2] or [3] implies that [0] or [1] must also be
-
--- present. Presence of [4] implies that at least one of [0], [1],
--- [2], and [3] must also be present.
-REQ-TOKEN ::= SEQUENCE {
- req-contents Req-contents,
- algId AlgorithmIdentifier,
- req-integrity Integrity -- "token" is Req-contents
-}
-
-Integrity ::= BIT STRING
-
--- If corresponding algId specifies a signing algorithm,
--- "Integrity" holds the result of applying the signing procedure
--- specified in algId to the BER-encoded octet string which results
--- from applying the hashing procedure (also specified in algId) to
--- the DER-encoded octets of "token".
--- Alternatively, if corresponding algId specifies a MACing
--- algorithm, "Integrity" holds the result of applying the MACing
--- procedure specified in algId to the DER-encoded octets of
--- "token"
-Req-contents ::= SEQUENCE {
- tok-id INTEGER(256), -- shall contain 0100 (hex)
- context-id Random-Integer,
- pvno BIT STRING,
- timestamp UTCTime OPTIONAL, -- mandatory for SPKM-2
- randSrc Random-Integer,
- targ-name Name,
- src-name [0] Name OPTIONAL,
- req-data Context-Data,
- validity [1] Validity OPTIONAL,
- key-estb-set Key-Estb-Algs,
- key-estb-req BIT STRING OPTIONAL,
- key-src-bind OCTET STRING OPTIONAL
- -- This field must be present for the case of SPKM-2
- -- unilateral authen. if the K-ALG in use does not provide
- -- such a binding (but is optional for all other cases).
- -- The octet string holds the result of applying the
- -- mandatory hashing procedure (in MANDATORY I-ALG;
- -- see Section 2.1) as follows: MD5(src || context_key),
- -- where "src" is the DER-encoded octets of src-name,
- -- "context-key" is the symmetric key (i.e., the
- -- unprotected version of what is transmitted in
- -- key-estb-req), and "||" is the concatenation operation.
-}
-
-Random-Integer ::= BIT STRING
-
-Context-Data ::= SEQUENCE {
- channelId ChannelId OPTIONAL,
- seq-number INTEGER OPTIONAL,
- options Options,
- conf-alg Conf-Algs,
- intg-alg Intg-Algs,
- owf-alg OWF-Algs
-}
-
-ChannelId ::= OCTET STRING
-
-Options ::= BIT STRING {
- delegation-state(0), mutual-state(1), replay-det-state(2), sequence-state(3),
- conf-avail(4), integ-avail(5), target-certif-data-required(6)}
-
-Conf-Algs ::= CHOICE {
- algs [0] SEQUENCE OF AlgorithmIdentifier,
- null [1] NULL
-}
-
-Intg-Algs ::= SEQUENCE OF AlgorithmIdentifier
-
-OWF-Algs ::= SEQUENCE OF AlgorithmIdentifier
-
-Key-Estb-Algs ::= SEQUENCE OF AlgorithmIdentifier
-
-SPKM-REP-TI ::= SEQUENCE {
- responseToken REP-TI-TOKEN,
- certif-data CertificationData OPTIONAL
- -- present if target-certif-data-required option was
-} -- set to TRUE in SPKM-REQ
-
-REP-TI-TOKEN ::= SEQUENCE {
- rep-ti-contents Rep-ti-contents,
- algId AlgorithmIdentifier,
- rep-ti-integ Integrity -- "token" is Rep-ti-contents
-}
-
-Rep-ti-contents ::= SEQUENCE {
- tok-id INTEGER(512), -- shall contain 0200 (hex)
- context-id Random-Integer,
- pvno [0] BIT STRING OPTIONAL,
- timestamp UTCTime OPTIONAL, -- mandatory for SPKM-2
- randTarg Random-Integer,
- src-name [1] Name OPTIONAL,
- targ-name Name,
- randSrc Random-Integer,
- rep-data Context-Data,
- validity [2] Validity OPTIONAL,
- key-estb-id AlgorithmIdentifier OPTIONAL,
- key-estb-str BIT STRING OPTIONAL
-}
-
-SPKM-REP-IT ::= SEQUENCE {
- responseToken REP-IT-TOKEN,
- algId AlgorithmIdentifier,
- rep-it-integ Integrity -- "token" is REP-IT-TOKEN
-}
-
-REP-IT-TOKEN ::= SEQUENCE {
- tok-id INTEGER(768), -- shall contain 0300 (hex)
- context-id Random-Integer,
- randSrc Random-Integer,
- randTarg Random-Integer,
- targ-name Name,
- src-name Name OPTIONAL,
- key-estb-rep BIT STRING OPTIONAL
-}
-
-SPKM-ERROR ::= SEQUENCE {
- errorToken ERROR-TOKEN,
- algId AlgorithmIdentifier,
- integrity Integrity -- "token" is ERROR-TOKEN
-}
-
-ERROR-TOKEN ::= SEQUENCE {
- tok-id INTEGER(1024), -- shall contain 0400 (hex)
- context-id Random-Integer
-}
-
-SPKM-MIC ::= SEQUENCE {mic-header Mic-Header,
- int-cksum BIT STRING
-}
-
-Mic-Header ::= SEQUENCE {
- tok-id INTEGER(257), -- shall contain 0101 (hex)
- context-id Random-Integer,
- int-alg [0] AlgorithmIdentifier OPTIONAL,
- snd-seq [1] SeqNum OPTIONAL
-}
-
-SeqNum ::= SEQUENCE {num INTEGER,
- dir-ind BOOLEAN
-}
-
-SPKM-WRAP ::= SEQUENCE {wrap-header Wrap-Header,
- wrap-body Wrap-Body
-}
-
-Wrap-Header ::= SEQUENCE {
- tok-id INTEGER(513), -- shall contain 0201 (hex)
- context-id Random-Integer,
- int-alg [0] AlgorithmIdentifier OPTIONAL,
- conf-alg [1] Conf-Alg OPTIONAL,
- snd-seq [2] SeqNum OPTIONAL
-}
-
-Wrap-Body ::= SEQUENCE {int-cksum BIT STRING,
- data BIT STRING
-}
-
-Conf-Alg ::= CHOICE {algId [0] AlgorithmIdentifier,
- null [1] NULL
-}
-
-SPKM-DEL ::= SEQUENCE {del-header Del-Header,
- int-cksum BIT STRING
-}
-
-Del-Header ::= SEQUENCE {
- tok-id INTEGER(769), -- shall contain 0301 (hex)
- context-id Random-Integer,
- int-alg [0] AlgorithmIdentifier OPTIONAL,
- snd-seq [1] SeqNum OPTIONAL
-}
-
--- other types
--- from [RFC-1508]
-MechType ::= OBJECT IDENTIFIER
-
-InitialContextToken ::= [APPLICATION 0] IMPLICIT SEQUENCE {
- thisMech MechType,
- innerContextToken SPKMInnerContextToken
-} -- when thisMech is SPKM-1 or SPKM-2
-
-SPKMInnerContextToken ::= CHOICE {
- req [0] SPKM-REQ,
- rep-ti [1] SPKM-REP-TI,
- rep-it [2] SPKM-REP-IT,
- error [3] SPKM-ERROR,
- mic [4] SPKM-MIC,
- wrap [5] SPKM-WRAP,
- del [6] SPKM-DEL
-}
-
--- from [RFC-1510]
-AuthorizationData ::=
- SEQUENCE OF SEQUENCE {ad-type INTEGER,
- ad-data OCTET STRING}
-
--- object identifier assignments
-md5-DES-CBC OBJECT IDENTIFIER ::=
- {iso(1) identified-organization(3) dod(6) internet(1) security(5)
- integrity(3) md5-DES-CBC(1)}
-
-sum64-DES-CBC OBJECT IDENTIFIER ::=
- {iso(1) identified-organization(3) dod(6) internet(1) security(5)
- integrity(3) sum64-DES-CBC(2)}
-
-spkm-1 OBJECT IDENTIFIER ::=
- {iso(1) identified-organization(3) dod(6) internet(1) security(5)
- mechanisms(5) spkm(1) spkm-1(1)}
-
-spkm-2 OBJECT IDENTIFIER ::=
- {iso(1) identified-organization(3) dod(6) internet(1) security(5)
- mechanisms(5) spkm(1) spkm-2(2)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Style-Descriptors.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Style-Descriptors.asn
deleted file mode 100644
index 8f033eab6f..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Style-Descriptors.asn
+++ /dev/null
@@ -1,190 +0,0 @@
--- Module Style-Descriptors (T.415:03/1993)
-
-Style-Descriptors {2 8 1 5 10} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Presentation-Style-Descriptor, Presentation-Attributes, Content-Type,
- Content-Architecture-Class, Layout-Style-Descriptor, Fill-Order,
- Block-Alignment;
-
-IMPORTS
- Object-or-Class-Identifier, Style-Identifier, Category-Name,
- Object-Id-Expression
- FROM Identifiers-and-Expressions -- see 7.8
-
- Comment-String, Transparency, Colour, Border, Layout-Object-Type,
- Content-Background-Colour, Content-Foreground-Colour, Sealed
- FROM Layout-Descriptors -- see 7.9
-
- Colour-Expression, Colour-Table
- FROM Colour-Attributes -- see 7.14
-
- Character-Attributes
- FROM Character-Presentation-Attributes {2 8 1 6 2
- } -- see ITU-T Rec. T.416 | ISO/IEC 8613-6
- Raster-Graphics-Attributes
- FROM Raster-Gr-Presentation-Attributes {2 8 1 7 2
- } -- see ITU-T Rec. T.417 | ISO/IEC 8613-7
- Geometric-Graphics-Attributes
- FROM Geo-Gr-Presentation-Attributes {2 8 1 8 2}; -- see ITU-T Rec. T.418 | ISO/IEC 8613-8
-
-Presentation-Style-Descriptor ::= SET {
- style-identifier Style-Identifier,
- user-readable-comments [0] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [1] IMPLICIT Comment-String OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- transparency [2] IMPLICIT Transparency OPTIONAL,
- presentation-attributes [3] IMPLICIT Presentation-Attributes OPTIONAL,
- colour [4] IMPLICIT Colour OPTIONAL,
- colour-of-layout-object [29] Colour-Expression OPTIONAL,
- object-colour-table [30] IMPLICIT Colour-Table OPTIONAL,
- content-background-colour [31] Content-Background-Colour OPTIONAL,
- content-foreground-colour [32] Content-Foreground-Colour OPTIONAL,
- content-colour-table [33] IMPLICIT Colour-Table OPTIONAL,
- border [5] IMPLICIT Border OPTIONAL,
- sealed [6] IMPLICIT Sealed OPTIONAL,
- derived-from [7] IMPLICIT Style-Identifier OPTIONAL
-}
-
-Presentation-Attributes ::= SET {
- content-architecture-class
- CHOICE {a Content-Architecture-Class,
- b Content-Type} OPTIONAL,
- character-attributes [0] IMPLICIT Character-Attributes OPTIONAL,
- raster-graphics-attributes
- [1] IMPLICIT Raster-Graphics-Attributes OPTIONAL,
- geometric-graphics-attributes
- [2] IMPLICIT Geometric-Graphics-Attributes OPTIONAL,
- -- the following tags are reserved for additional types
- -- of presentation attributes:
- -- [3] videotex, for use in conjunction with CCITT Recommendations
- -- [4] audio
- -- [5] dynamic-graphics
- ext-cont-arch-pres-attributes [6] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-Content-Type ::= [APPLICATION 2] IMPLICIT INTEGER {formatted-raster-graphics(1)
-}
-
--- The integer representation for content architecture class,
--- Content-Type, is only to be used if the value of the document
--- profile attribute "document application profile" is an integer.
--- The value 'formatted-raster-graphics' represents the formatted raster
--- graphics content architecture as defined in ITU-T Rec. T.417 | ISO/IEC 8613-7.
-Content-Architecture-Class ::= OBJECT IDENTIFIER
-
-Layout-Style-Descriptor ::= SET {
- style-identifier Style-Identifier,
- user-readable-comments [0] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [1] IMPLICIT Comment-String OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- layout-directives [4] IMPLICIT Layout-Directives OPTIONAL,
- sealed [6] IMPLICIT Sealed OPTIONAL,
- derived-from [7] IMPLICIT Style-Identifier OPTIONAL
-}
-
-Layout-Directives ::= SET {
- indivisibility
- CHOICE {to-layout-object-class [0] IMPLICIT Object-or-Class-Identifier,
- to-layout-category [1] IMPLICIT Category-Name,
- to-layout-object-type [2] IMPLICIT Layout-Object-Type,
- null [15] IMPLICIT NULL} OPTIONAL,
- separation [3] IMPLICIT Separation OPTIONAL,
- offset [4] IMPLICIT Offset OPTIONAL,
- fill-order [5] IMPLICIT Fill-Order OPTIONAL,
- concatenation [6] IMPLICIT Concatenation OPTIONAL,
- new-layout-object
- CHOICE {to-layout-object-class [7] IMPLICIT Object-or-Class-Identifier,
- to-layout-category [8] IMPLICIT Category-Name,
- to-layout-object-type [9] IMPLICIT Layout-Object-Type,
- null [16] IMPLICIT NULL} OPTIONAL,
- same-layout-object [10] IMPLICIT Same-Layout-Object OPTIONAL,
- layout-object-class
- [11] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- logical-stream-category [19] IMPLICIT Category-Name OPTIONAL,
- logical-stream-sub-category [20] IMPLICIT Category-Name OPTIONAL,
- layout-category [12] IMPLICIT Category-Name OPTIONAL,
- synchronization
- CHOICE {a [13] IMPLICIT Object-or-Class-Identifier,
- b [17] Object-Id-Expression,
- c [18] IMPLICIT NULL} OPTIONAL,
- block-alignment [14] IMPLICIT Block-Alignment OPTIONAL,
- floatability-range [24] IMPLICIT Floatability-Range OPTIONAL
-}
-
-Separation ::= SET {
- leading [0] IMPLICIT INTEGER OPTIONAL,
- trailing [1] IMPLICIT INTEGER OPTIONAL,
- centre [2] IMPLICIT INTEGER OPTIONAL
-}
-
-Offset ::= SET {
- leading [3] IMPLICIT INTEGER OPTIONAL,
- trailing [2] IMPLICIT INTEGER OPTIONAL,
- left-hand [1] IMPLICIT INTEGER OPTIONAL,
- right-hand [0] IMPLICIT INTEGER OPTIONAL
-}
-
-Fill-Order ::= INTEGER {normal(0), reverse(1)}
-
-Concatenation ::= INTEGER {non-concatenated(0), concatenated(1)}
-
-Same-Layout-Object ::= SET {
- logical-object
- CHOICE {a [0] IMPLICIT Object-or-Class-Identifier,
- b [4] Object-Id-Expression,
- c [5] IMPLICIT NULL},
- layout-object
- CHOICE {d [1] IMPLICIT Object-or-Class-Identifier,
- to-stream-root-category [6] IMPLICIT Category-Name,
- to-stream-sub-category [7] IMPLICIT Category-Name,
- to-layout-category [2] IMPLICIT Category-Name,
- e [3] IMPLICIT Layout-Object-Type} OPTIONAL
-}
-
-Floatability-Range ::= SET {
- forward-limit
- [0] SEQUENCE {logical-object
- CHOICE {a [2] IMPLICIT Object-or-Class-Identifier,
- b [3] Object-Id-Expression,
- c [4] IMPLICIT NULL},
- layout-object
- CHOICE {to-layout-object-class
- [5] IMPLICIT Object-or-Class-Identifier,
- to-stream-root-category
- [6] IMPLICIT Category-Name,
- to-stream-sub-category
- [7] IMPLICIT Category-Name,
- to-layout-category
- [8] IMPLICIT Category-Name,
- to-layout-object-type
- [9] IMPLICIT Layout-Object-Type,
- d [10] IMPLICIT NULL
- } OPTIONAL} OPTIONAL,
- backward-limit
- [1] SEQUENCE {logical-object
- CHOICE {e [2] IMPLICIT Object-or-Class-Identifier,
- f [3] Object-Id-Expression,
- g [4] IMPLICIT NULL},
- layout-object
- CHOICE {to-layout-object-class
- [5] IMPLICIT Object-or-Class-Identifier,
- to-stream-root-category
- [6] IMPLICIT Category-Name,
- to-stream-sub-category
- [7] IMPLICIT Category-Name,
- to-layout-category
- [8] IMPLICIT Category-Name,
- to-layout-object-type
- [9] IMPLICIT Layout-Object-Type,
- h [10] IMPLICIT NULL
- } OPTIONAL} OPTIONAL
-}
-
-Block-Alignment ::= INTEGER {right-hand(0), left-hand(1), centred(2), null(3)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Subprofiles.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Subprofiles.asn
deleted file mode 100644
index bfcd0b5dbc..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Subprofiles.asn
+++ /dev/null
@@ -1,96 +0,0 @@
--- Module Subprofiles (T.422:08/1995)
-
-Subprofiles {2 8 1 12 2} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-EXPORTS Subprofile-Descriptor, Subprofile-Identifier;
-
-IMPORTS
- Character-Data, Date-and-Time, Document-Reference, Personal-Name,
- Originators, Other-User-Information, Local-File-References,
- Security-Information
- FROM Document-Profile-Descriptor {2 8 1 5 6}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Location-Expression
- FROM Location-Expressions {2 8 1 12 0};
-
-Subprofile-Descriptor ::= SET {
- subprofile-identifier [0] Subprofile-Identifier,
- subprofile-reference [1] Subprofile-Reference OPTIONAL,
- subprofile-precedence [2] INTEGER OPTIONAL,
- document-fragment-reference [3] Location-Expression,
- content-architecture-classes
- [4] SET OF OBJECT IDENTIFIER OPTIONAL, -- shall always
-
- -- be present, except when used in a location expression
- document-fragment-management-attributes
- [5] Document-Fragment-Management-Attributes OPTIONAL
-}
-
-Subprofile-Identifier ::= [APPLICATION 8] PrintableString
-
--- only digits and spaces are used in the present version of this Specification;
--- other characters are reserved for extensions
-Subprofile-Reference ::= CHOICE {
- unique-reference [0] OBJECT IDENTIFIER,
- descriptive-reference [1] Character-Data
-}
-
-Document-Fragment-Management-Attributes ::= SET {
- document-fragment-description [0] Document-Fragment-Description OPTIONAL,
- dates-and-times [1] Dates-and-Times OPTIONAL,
- originators [2] Originators OPTIONAL,
- other-user-information [3] Other-User-Information OPTIONAL,
- external-references [4] External-References2 OPTIONAL,
- local-file-references [5] Local-File-References OPTIONAL,
- languages [6] SET OF Character-Data OPTIONAL,
- security-information [7] Security-Information OPTIONAL
-}
-
-Document-Fragment-Description ::= SET {
- title [0] Character-Data OPTIONAL,
- subject [1] Character-Data OPTIONAL,
- document-fragment-type [2] Character-Data OPTIONAL,
- abstract [3] Character-Data OPTIONAL,
- keywords [4] SET OF Character-Data OPTIONAL
-}
-
-Dates-and-Times ::= SET {
- document-fragment-date-and-time [0] Date-and-Time OPTIONAL,
- creation-date-and-time [1] Date-and-Time OPTIONAL,
- local-filing-date-and-time [2] SEQUENCE OF Date-and-Time OPTIONAL,
- expiry-date-and-time [3] Date-and-Time OPTIONAL,
- start-date-and-time [4] Date-and-Time OPTIONAL,
- purge-date-and-time [5] Date-and-Time OPTIONAL,
- release-date-and-time [6] Date-and-Time OPTIONAL,
- revision-history
- [7] SEQUENCE OF
- SET {revision-date-and-time [0] Date-and-Time OPTIONAL,
- version-identifier [1] Character-Data OPTIONAL,
- revisers
- [2] SET OF
- SET {names [0] SET OF Personal-Name OPTIONAL,
- position [1] Character-Data OPTIONAL,
- organization [2] Character-Data OPTIONAL
- } OPTIONAL,
- version-reference
- [3] Document-or-Document-Fragment-Reference OPTIONAL,
- user-comments [4] Character-Data OPTIONAL} OPTIONAL
-}
-
-External-References2 ::= SET {
- references-to-other-documents-or-document-fragments
- [0] SET OF Document-or-Document-Fragment-Reference OPTIONAL,
- superseded-documents-or-document-fragments
- [1] SET OF Document-or-Document-Fragment-Reference OPTIONAL
-}
-
-Document-or-Document-Fragment-Reference ::= CHOICE {
- document [0] Document-Reference,
- document-fragment [1] Subprofile-Reference
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Temporal-Relationships.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Temporal-Relationships.asn
deleted file mode 100644
index 9633995e3b..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Temporal-Relationships.asn
+++ /dev/null
@@ -1,92 +0,0 @@
--- Module Temporal-Relationships (T.424:07/1996)
-
-Temporal-Relationships {2 8 1 14 0} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Temporal-Relations, Presentation-Time, Document-Presentation-Time,
- Time-Scaling;
-
-IMPORTS
- Date-and-Time
- FROM Document-Profile-Descriptor {2 8 1 5 6}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5 and C.4
- Object-or-Class-Identifier
- FROM Identifiers-and-Expressions {2 8 1 5 7};
-
--- see ITU-T Rec. T.415 | ISO/IEC 8613-5
-Temporal-Relations ::= SET {
- synchronization-type [0] IMPLICIT Synchronization-Type,
- subordinate-nodes
- [1] SEQUENCE OF
- SET {node-identifier [0] IMPLICIT Node-Identifier,
- start-time [1] IMPLICIT Time-Delay OPTIONAL,
- duration [2] Indefinite-or-Time-Delay OPTIONAL,
- cyclic [3] IMPLICIT Cyclic OPTIONAL,
- end-time [4] IMPLICIT Time-Delay OPTIONAL,
- application-comments [5] IMPLICIT OCTET STRING OPTIONAL
- }
-}
-
--- The value 'null' is represented by an empty set
-Synchronization-Type ::= INTEGER {
- parallel-last(0), parallel-first(1), parallel-selective(2), sequential(3)
-}
-
-Node-Identifier ::= PrintableString
-
--- only digits and spaces are used
--- the first digit is either 2 for a logical object class or 3 for a logical object
-Cyclic ::= SET {
- number-of-cycles [0] CHOICE {indefinite Indefinite,
- a INTEGER},
- cycle-start-time [1] IMPLICIT Time-Delay OPTIONAL,
- cycle-duration [2] Indefinite-or-Time-Delay OPTIONAL
-}
-
-Indefinite ::= NULL
-
-Time-Delay ::= INTEGER {indefinite(-1)}
-
-Presentation-Time ::= SET {
- timing
- CHOICE {fixed-timing [0] IMPLICIT INTEGER,
- variable-timing [1] IMPLICIT Time-Spec} OPTIONAL,
- duration
- CHOICE {fixed-duration
- [2] CHOICE {indefinite-or-time-delay Indefinite-or-Time-Delay,
- object-or-class-identifier
- Object-or-Class-Identifier},
- rule-A [3] IMPLICIT Rule-Spec,
- rule-B [4] IMPLICIT Rule-Spec} OPTIONAL,
- cyclic [5] Cyclic OPTIONAL
-}
-
--- The value 'null' is represented by an empty set
-Time-Spec ::= SET {
- start-offset [0] IMPLICIT INTEGER OPTIONAL,
- end-offset [1] IMPLICIT INTEGER OPTIONAL,
- start-separation [2] IMPLICIT INTEGER OPTIONAL,
- end-separation [3] IMPLICIT INTEGER OPTIONAL
-}
-
-Rule-Spec ::= SET {
- minimum-duration [0] IMPLICIT INTEGER OPTIONAL,
- maximum-duration [1] IMPLICIT INTEGER OPTIONAL
-}
-
-Indefinite-or-Time-Delay ::= CHOICE {
- indefinite [0] IMPLICIT NULL,
- fixed [1] Time-Delay
-}
-
-Document-Presentation-Time ::= Date-and-Time
-
-Time-Scaling ::= [0] IMPLICIT SEQUENCE {a INTEGER,
- b INTEGER
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Text-Units.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Text-Units.asn
deleted file mode 100644
index ccc64a52f5..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Text-Units.asn
+++ /dev/null
@@ -1,72 +0,0 @@
--- Module Text-Units (T.415:03/1993)
-
-Text-Units {2 8 1 5 12} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Text-Unit, Type-Of-Coding;
-
-IMPORTS
- Content-Portion-Identifier
- FROM Identifiers-and-Expressions -- see 7.8
-
- Character-Coding-Attributes
- FROM Character-Coding-Attributes {2 8 1 6 3
- } -- see ITU-T Rec. T.416 | ISO/IEC 8613-6
- Raster-Gr-Coding-Attributes
- FROM Raster-Gr-Coding-Attributes {2 8 1 7 3
- } -- see ITU-T Rec. T.417 | ISO/IEC 8613-7
- Geo-Gr-Coding-Attributes
- FROM Geo-Gr-Coding-Attributes {2 8 1 8 3
- } -- see ITU-T Rec. T.418 | ISO/IEC 8613-8
- Videotex-Coding-Attributes
- FROM Videotex-Coding-Attributes ;
-
-Text-Unit ::= SEQUENCE {
- content-portion-attributes Content-Portion-Attributes OPTIONAL,
- content-information Content-Information OPTIONAL
-}
-
-Content-Portion-Attributes ::= SET {
- content-identifier-layout Content-Portion-Identifier OPTIONAL,
- content-identifier-logical [4] IMPLICIT Content-Portion-Identifier OPTIONAL,
- type-of-coding Type-Of-Coding OPTIONAL,
- coding-attributes
- CHOICE {character-coding-attributes
- [1] IMPLICIT Character-Coding-Attributes,
- raster-gr-coding-attributes
- [2] IMPLICIT Raster-Gr-Coding-Attributes,
- geo-gr-coding-attributes
- [7] IMPLICIT Geo-Gr-Coding-Attributes,
- videotex-coding-attributes
- [8] IMPLICIT Videotex-Coding-Attributes,
- -- the use of the data item "videotex-coding-attributes" is applicable to
- -- ITU-T Rec. T.410 Series only
- -- the following tags are reserved for additional types
- -- of coding attributes:
- -- [9] audio
- -- [10] dynamic-graphics
- ext-cont-arch-coding-attributes [11] IMPLICIT EXTERNAL} OPTIONAL,
- alternative-representation [3] IMPLICIT Alternative-Representation OPTIONAL
-}
-
-Content-Information ::= CHOICE {
- content OCTET STRING,
- tiled-content Tiled-Content
-}
-
-Tiled-Content ::= SEQUENCE OF OCTET STRING
-
-Type-Of-Coding ::= CHOICE {
- a [0] IMPLICIT INTEGER {t6(1)},
- b [6] IMPLICIT OBJECT IDENTIFIER
-}
-
-Alternative-Representation ::= OCTET STRING
-
--- string of characters from the sets designated by the document
--- profile attribute "alternative representation character sets",
--- plus carriage return and line feed
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/UpperBounds.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/UpperBounds.asn
deleted file mode 100644
index c97c83a569..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/UpperBounds.asn
+++ /dev/null
@@ -1,89 +0,0 @@
--- Module UpperBounds (X.520:08/1997)
-
-UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ub-answerback INTEGER ::=
-8
-
-ub-business-category INTEGER ::= 128
-
-ub-common-name INTEGER ::= 64
-
-ub-country-code INTEGER ::= 4
-
-ub-description INTEGER ::= 1024
-
-ub-destination-indicator INTEGER ::= 128
-
-ub-directory-string-first-component-match INTEGER ::= 32768
-
-ub-international-isdn-number INTEGER ::= 16
-
-ub-knowledge-information INTEGER ::= 32768
-
-ub-locality-name INTEGER ::= 128
-
-ub-match INTEGER ::= 128
-
-ub-name INTEGER ::= 64
-
-ub-organization-name INTEGER ::= 64
-
-ub-organizational-unit-name INTEGER ::= 64
-
-ub-physical-office-name INTEGER ::= 128
-
-ub-post-office-box INTEGER ::= 40
-
-ub-postal-code INTEGER ::= 40
-
-ub-postal-line INTEGER ::= 6
-
-ub-postal-string INTEGER ::= 30
-
-ub-privacy-mark-length INTEGER ::= 128
-
-ub-schema INTEGER ::= 1024
-
-ub-search INTEGER ::= 17 --This definition is missing; to be provided --
-
-ub-serial-number INTEGER ::= 64
-
-ub-state-name INTEGER ::= 128
-
-ub-street-address INTEGER ::= 128
-
-ub-surname INTEGER ::= 64
-
-ub-tag INTEGER ::= 64
-
-ub-telephone-number INTEGER ::= 32
-
-ub-teletex-terminal-id INTEGER ::= 1024
-
-ub-telex-number INTEGER ::= 14
-
-ub-title INTEGER ::= 64
-
-ub-user-password INTEGER ::= 128
-
-ub-x121-address INTEGER ::= 15
-
-ub-localeContextSyntax INTEGER ::= 128
-
-ub-locale-context-syntax INTEGER ::= 64
-
-ub-pseudonym INTEGER ::= 128
-
-ub-content INTEGER ::= 32768
-
-END -- UpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/UsefulDefinitions.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/UsefulDefinitions.asn
deleted file mode 100644
index d9601bb7d0..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/UsefulDefinitions.asn
+++ /dev/null
@@ -1,238 +0,0 @@
--- Module UsefulDefinitions (X.501:08/1997)
-UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ID ::= OBJECT IDENTIFIER
-
-ds ID ::= {joint-iso-itu-t ds(5)}
-
--- categories of information object
-module ID ::= {ds 1}
-
-serviceElement ID ::= {ds 2}
-
-applicationContext ID ::= {ds 3}
-
-attributeType ID ::= {ds 4}
-
-attributeSyntax ID ::= {ds 5}
-
-objectClass ID ::= {ds 6}
-
--- attributeSet ID ::= {ds 7}
-algorithm ID ::= {ds 8}
-
-abstractSyntax ID ::= {ds 9}
-
--- object ID ::= {ds 10}
--- port ID ::= {ds 11}
-dsaOperationalAttribute ID ::=
- {ds 12}
-
-matchingRule ID ::= {ds 13}
-
-knowledgeMatchingRule ID ::= {ds 14}
-
-nameForm ID ::= {ds 15}
-
-group ID ::= {ds 16}
-
-subentry ID ::= {ds 17}
-
-operationalAttributeType ID ::= {ds 18}
-
-operationalBinding ID ::= {ds 19}
-
-schemaObjectClass ID ::= {ds 20}
-
-schemaOperationalAttribute ID ::= {ds 21}
-
-administrativeRoles ID ::= {ds 23}
-
-accessControlAttribute ID ::= {ds 24}
-
-rosObject ID ::= {ds 25}
-
-contract ID ::= {ds 26}
-
-package ID ::= {ds 27}
-
-accessControlSchemes ID ::= {ds 28}
-
-certificateExtension ID ::= {ds 29}
-
-managementObject ID ::= {ds 30}
-
-attributeValueContext ID ::= {ds 31}
-
--- securityExchange ID ::= {ds 32}
-idmProtocol ID ::= {ds 33}
-
-problem ID ::= {ds 34}
-
-notification ID ::= {ds 35}
-
-matchingRestriction ID ::=
- {ds 36} -- None are currently defined by this specification
-
-controlAttributeType ID ::= {ds 37}
-
--- modules
-usefulDefinitions ID ::= {module usefulDefinitions(0) 3}
-
-informationFramework ID ::= {module informationFramework(1) 3}
-
-directoryAbstractService ID ::= {module directoryAbstractService(2) 3}
-
-distributedOperations ID ::= {module distributedOperations(3) 3}
-
-protocolObjectIdentifiers ID ::= {module protocolObjectIdentifiers(4) 3}
-
-selectedAttributeTypes ID ::= {module selectedAttributeTypes(5) 3}
-
-selectedObjectClasses ID ::= {module selectedObjectClasses(6) 3}
-
-authenticationFramework ID ::= {module authenticationFramework(7) 3}
-
-algorithmObjectIdentifiers ID ::= {module algorithmObjectIdentifiers(8) 3}
-
-directoryObjectIdentifiers ID ::= {module directoryObjectIdentifiers(9) 3}
-
-upperBounds ID ::= {module upperBounds(10) 3}
-
-dap ID ::= {module dap(11) 3}
-
-dsp ID ::= {module dsp(12) 3}
-
-distributedDirectoryOIDs ID ::= {module distributedDirectoryOIDs(13) 3}
-
-directoryShadowOIDs ID ::= {module directoryShadowOIDs(14) 3}
-
-directoryShadowAbstractService ID ::=
- {module directoryShadowAbstractService(15) 3}
-
-disp ID ::= {module disp(16) 3}
-
-dop ID ::= {module dop(17) 3}
-
-opBindingManagement ID ::= {module opBindingManagement(18) 3}
-
-opBindingOIDs ID ::= {module opBindingOIDs(19) 3}
-
-hierarchicalOperationalBindings ID ::=
- {module hierarchicalOperationalBindings(20) 3}
-
-dsaOperationalAttributeTypes ID ::= {module dsaOperationalAttributeTypes(22) 3}
-
-schemaAdministration ID ::= {module schemaAdministration(23) 3}
-
-basicAccessControl ID ::= {module basicAccessControl(24) 3}
-
-directoryOperationalBindingTypes ID ::=
- {module directoryOperationalBindingTypes(25) 3}
-
-certificateExtensions ID ::= {module certificateExtensions(26) 0}
-
-directoryManagement ID ::= {module directoryManagement(27) 1}
-
-enhancedSecurity ID ::= {module enhancedSecurity(28) 1}
-
-iDMProtocolSpecification ID ::= {module iDMProtocolSpecification(30) 4}
-
-directoryIDMProtocols ID ::= {module directoryIDMProtocols(31) 4}
-
--- directorySecurityExchanges ID ::= {module directorySecurityExchanges (29) 1}
--- synonyms
-id-oc ID ::=
- objectClass
-
-id-at ID ::= attributeType
-
-id-as ID ::= abstractSyntax
-
-id-mr ID ::= matchingRule
-
-id-nf ID ::= nameForm
-
-id-sc ID ::= subentry
-
-id-oa ID ::= operationalAttributeType
-
-id-ob ID ::= operationalBinding
-
-id-doa ID ::= dsaOperationalAttribute
-
-id-kmr ID ::= knowledgeMatchingRule
-
-id-soc ID ::= schemaObjectClass
-
-id-soa ID ::= schemaOperationalAttribute
-
-id-ar ID ::= administrativeRoles
-
-id-aca ID ::= accessControlAttribute
-
-id-ac ID ::= applicationContext
-
-id-rosObject ID ::= rosObject
-
-id-contract ID ::= contract
-
-id-package ID ::= package
-
-id-acScheme ID ::= accessControlSchemes
-
-id-ce ID ::= certificateExtension
-
-id-mgt ID ::= managementObject
-
-id-idm ID ::= idmProtocol
-
-id-avc ID ::= attributeValueContext
-
--- id-se ID ::= securityExchange
-id-pr ID ::= problem
-
-id-not ID ::= notification
-
-id-mre ID ::= matchingRestriction
-
-id-cat ID ::= controlAttributeType
-
--- obsolete module identifiers
--- usefulDefinition ID ::= {module 0}
--- informationFramework ID ::= {module 1}
--- directoryAbstractService ID ::= {module 2}
--- distributedOperations ID ::= {module 3}
--- protocolObjectIdentifiers ID ::= {module 4}
--- selectedAttributeTypes ID ::= {module 5}
--- selectedObjectClasses ID ::= {module 6}
--- authenticationFramework ID ::= {module 7}
--- algorithmObjectIdentifiers ID ::= {module 8}
--- directoryObjectIdentifiers ID ::= {module 9}
--- upperBounds ID ::= {module 10}
--- dap ID ::= {module 11}
--- dsp ID ::= {module 12}
--- distributedDirectoryObjectIdentifiers ID ::= {module 13}
--- unused module identifiers
--- directoryShadowOIDs ID ::= {module 14}
--- directoryShadowAbstractService ID ::= {module 15}
--- disp ID ::= {module 16}
--- dop ID ::= {module 17}
--- opBindingManagement ID ::= {module 18}
--- opBindingOIDs ID ::= {module 19}
--- hierarchicalOperationalBindings ID ::= {module 20}
--- dsaOperationalAttributeTypes ID ::= {module 22}
--- schemaAdministration ID ::= {module 23}
--- basicAccessControl ID ::= {module 24}
--- operationalBindingOIDs ID ::= {module 25}
-END -- UsefulDefinitions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/x420/Videotex-Coding-Attributes.asn b/lib/asn1/test/asn1_bin_SUITE_data/x420/Videotex-Coding-Attributes.asn
deleted file mode 100644
index 18e51cbc0d..0000000000
--- a/lib/asn1/test/asn1_bin_SUITE_data/x420/Videotex-Coding-Attributes.asn
+++ /dev/null
@@ -1,30 +0,0 @@
--- Module Videotex-Coding-Attributes (T.101:11/1994)
-Videotex-Coding-Attributes DEFINITIONS ::=
-BEGIN
-
-EXPORTS Videotex-Coding-Attributes;
-
-Videotex-Coding-Attributes ::= SET {
- subset [0] IMPLICIT Subset OPTIONAL,
- rank [1] IMPLICIT Rank OPTIONAL,
- profile [2] IMPLICIT Profile OPTIONAL
-}
-
-Subset ::= INTEGER {
- undefined(0), rank1(1), rank2(2), rank3(3), rank4(4), rank5(5), profile1(81),
- profile2(82), profile3(83), profile4(84), profileX1-1(85), profileX1-2(86),
- profileX1-3(87), profileX1-4(88), profileX2-1(89), profileX2-2(90),
- profileX2-3(91), profileX2-4(92)}
-
-Rank ::= INTEGER {
- undefined(0), rank1(1), rank2(2), rank3(3), rank4(4), rank5(5)}
-
-Profile ::= INTEGER {
- undefined(0), profile1(81), profile2(82), profile3(83), profile4(84),
- profileX1-1(85), profileX1-2(86), profileX1-3(87), profileX1-4(88),
- profileX2-1(89), profileX2-2(90), profileX2-3(91), profileX2-4(92)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/AA1.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/AA1.asn
deleted file mode 100644
index c2c20f17a1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/AA1.asn
+++ /dev/null
@@ -1,13 +0,0 @@
-AA1 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- B
- FROM AA2;
-
-T1 ::= SEQUENCE (SIZE (1..10)) OF B
-T2 ::= SEQUENCE (SIZE (1..10)) OF B
-T3 ::= SEQUENCE (SIZE (1..10)) OF INTEGER
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/AA2.asn1db b/lib/asn1/test/asn1_bin_v2_SUITE_data/AA2.asn1db
deleted file mode 100644
index 3bf2c1b89d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/AA2.asn1db
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/BadEnumValue1.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/BadEnumValue1.asn
deleted file mode 100644
index dbc224a74b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/BadEnumValue1.asn
+++ /dev/null
@@ -1,8 +0,0 @@
-BadEnumValue1 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-E3 ::= ENUMERATED {monday,thuesday(0)}
-enumWrongVal E3 ::= sunday
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/BadTypeEnding.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/BadTypeEnding.asn
deleted file mode 100644
index 3ccd838ac0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/BadTypeEnding.asn
+++ /dev/null
@@ -1,6 +0,0 @@
-BadTypeEnding DEFINITIONS ::=
-BEGIN
-
-T ::= Typ;
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueAssignment1.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueAssignment1.asn1
deleted file mode 100644
index a5d4984e60..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueAssignment1.asn1
+++ /dev/null
@@ -1,8 +0,0 @@
-BadValueAssignment1 DEFINITIONS ::=
-BEGIN
-
-int INTEGER ::= 3
-
-int2 integer ::= 3
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueAssignment2.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueAssignment2.asn1
deleted file mode 100644
index 7a96406001..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueAssignment2.asn1
+++ /dev/null
@@ -1,8 +0,0 @@
-BadValueAssignment2 DEFINITIONS ::=
-BEGIN
-
-int INTEGER ::= 3
-
-int2 ::= 3
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueSet.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueSet.asn1
deleted file mode 100644
index 68bd4380b7..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/BadValueSet.asn1
+++ /dev/null
@@ -1,9 +0,0 @@
-BadValueSet DEFINITIONS ::=
-BEGIN
-
-Int INTEGER ::= {1|2|3}
-
-Int2 INTEGER ::= {
- 1,2,3}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/BitStr.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/BitStr.py
deleted file mode 100644
index 1d5bc21fda..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/BitStr.py
+++ /dev/null
@@ -1,56 +0,0 @@
-BitStr DEFINITIONS ::=
-BEGIN
-
--- F.2.5.1
--- Use a bit string type to model binary data whose format and
--- length are unspecified,
--- or specified elsewhere, and whose length in bits is not necessarily
--- a multiple of eight.
--- EXAMPLE
-
-G3FacsimilePage ::= BIT STRING
--- a sequence of bits conforming to Recommendation T.4.
-
-image G3FacsimilePage ::= '100110100100001110110'B
-trailer BIT STRING ::= '0123456789ABCDEF'H
-body1 G3FacsimilePage ::= '1101'B
-body2 G3FacsimilePage ::= '1101000'B
-
--- F.2.5.2
--- Use a bit string type with a size constraint to model the
--- values of a fixed sized bit field.
--- EXAMPLE
-
-BitField ::= BIT STRING (SIZE (12))
-map1 BitField ::= '100110100100'B
-map2 BitField ::= '9A4'H
-map3 BitField ::= '1001101001'B -- Illegal - violates size constraint
-
--- F.2.5.3
--- Use a bit string type to model the values of a bit map, an
--- ordered collection of logical variables
--- indicating whether a particular condition holds for each of a
--- correspondingly ordered collection of objects.
-
-DaysOfTheWeek ::= BIT STRING {
- sunday(0), monday (1), tuesday(2),
- wednesday(3), thursday(4), friday(5),
- saturday(6) } (SIZE (0..7))
-
-sunnyDaysLastWeek1 DaysOfTheWeek ::= {sunday, monday, wednesday}
-sunnyDaysLastWeek2 DaysOfTheWeek ::= '1101'B
-sunnyDaysLastWeek3 DaysOfTheWeek ::= '1101000'B
-sunnyDaysLastWeek4 DaysOfTheWeek ::= '11010000'B -- Illegal - violates size constraint
-
--- F.2.5.5
--- Use a bit string type with named bits to model the values of a
--- collection of related logical variables.
--- EXAMPLE
-
-PersonalStatus ::= BIT STRING
- {married(0), employed(1), veteran(2), collegeGraduate(3)}
-
-billClinton PersonalStatus ::= {married, employed, collegeGraduate}
-hillaryClinton PersonalStatus ::= '110100'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/CCSNARG3.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/CCSNARG3.asn
deleted file mode 100644
index 23c1f32ceb..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/CCSNARG3.asn
+++ /dev/null
@@ -1,345 +0,0 @@
-CCSNARG3 DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-CallCentreServiceNotificationArg ::= SEQUENCE {
- scriptInformation [0] ScriptToScriptInformation,
- eventInformation [1] IMPLICIT EventInformation OPTIONAL
-
-
-}
-
-EventInformation ::=
- CHOICE
- { callEvent [0] CallEvent,
- billingReport [1] BillingInformation
- }
-
-
-ScriptToScriptInformation ::= SEQUENCE {
- scriptKey [0] INTEGER (0..214783647),
- scriptAttribute1 [1] Attribute1 OPTIONAL,
- scriptAttribute2 [2] Attribute2 OPTIONAL,
- scriptAttribute3 [3] Attribute3 OPTIONAL,
- scriptAttribute4 [4] Attribute4 OPTIONAL,
- scriptAttribute5 [5] Attribute5 OPTIONAL,
- scriptAttribute6 [6] Attribute6 OPTIONAL,
- scriptAttribute7 [7] Attribute7 OPTIONAL,
- scriptAttribute8 [8] Attribute8 OPTIONAL,
- scriptAttribute9 [9] Attribute9 OPTIONAL,
- scriptAttribute10 [10] Attribute10 OPTIONAL,
- scriptAttribute11 [11] Attribute11 OPTIONAL,
- scriptAttribute12 [12] Attribute12 OPTIONAL,
- scriptAttribute13 [13] Attribute13 OPTIONAL,
- scriptAttribute14 [14] Attribute14 OPTIONAL,
- scriptAttribute15 [15] Attribute15 OPTIONAL,
- scriptAttribute16 [16] Attribute16 OPTIONAL,
- scriptAttribute17 [17] Attribute17 OPTIONAL,
- scriptAttribute18 [18] Attribute18 OPTIONAL,
- scriptAttribute19 [19] Attribute19 OPTIONAL,
- scriptAttribute20 [20] Attribute20 OPTIONAL,
- scriptAttribute21 [21] Attribute21 OPTIONAL,
- scriptAttribute22 [22] Attribute22 OPTIONAL,
- scriptAttribute23 [23] Attribute23 OPTIONAL,
- scriptAttribute24 [24] Attribute24 OPTIONAL,
- scriptAttribute25 [25] Attribute25 OPTIONAL,
- scriptAttribute26 [26] Attribute26 OPTIONAL,
- scriptAttribute27 [27] Attribute27 OPTIONAL,
- scriptAttribute28 [28] Attribute28 OPTIONAL,
- scriptAttribute29 [29] Attribute29 OPTIONAL,
- scriptAttribute30 [30] Attribute30 OPTIONAL
- }
-
-
-CallEvent ::= SEQUENCE {
- eventTypeBCSM [0] EventTypeBCSM OPTIONAL,
-
- miscCallInfo [1] MiscCallInfo OPTIONAL,
- iNlegID [2] LegType OPTIONAL,
- announcementInfo [3] INTEGER
- { announcementstarted(0), announcementcompleted(1) } (0..1) OPTIONAL,
- callAttemptElapsedTimeValue [4] INTEGER (0..255) OPTIONAL,
- callStopTimeValue [5] DateAndTime OPTIONAL,
- callConnectedElapsedTimeValue [6] INTEGER (0..4294967295) OPTIONAL,
- calledAddressValue [7] GenericNumber OPTIONAL,
- releaseCause [8] Cause OPTIONAL
- }
-
-EventTypeBCSM ::= INTEGER {
- origAttemptauthorized(1),
- collectedInfo(2),
- analyzedInformation(3),
- routeSelectFailure(4),
- oCalledPartyBusy(5),
- oAlerting(255),
- oCalledPartyNotReachable(254),
- oNoAnswer(6),
- oAnswer(7),
- oMidCall(8),
- oSuspended(253),
- oReAnswer(252),
- oDisconnect(9),
- oAbandon(10),
- termAttemptauthorized(12)
- } (0..255)
-
-
-BackwardCallIndicators ::= OCTET STRING (SIZE (2))
-
-BackwardGVNSIndicator ::= OCTET STRING(SIZE(1))
-
-
-MiscCallInfo::= INTEGER {
- request (0),
- notification (1)
- } (0..1)
-
-LegType ::= INTEGER (1..30)
-
-DateAndTime ::= OCTET STRING (SIZE(6))
-
-GenericNumber ::= OCTET STRING (SIZE(1..16))
-
-GenericDigits ::= OCTET STRING (SIZE(1..16))
-
-Number ::= OCTET STRING (SIZE(1..16))
-
-Cause::= OCTET STRING (SIZE(2))
-
-
-BillingInformation ::= SEQUENCE {
- billingKey [0] INTEGER (0..214783647),
- billingAttribute1 [1] Attribute1 OPTIONAL,
- billingAttribute2 [2] Attribute2 OPTIONAL,
- billingAttribute3 [3] Attribute3 OPTIONAL,
- billingAttribute4 [4] Attribute4 OPTIONAL,
- billingAttribute5 [5] Attribute5 OPTIONAL,
- billingAttribute6 [6] Attribute6 OPTIONAL,
- billingAttribute7 [7] Attribute7 OPTIONAL,
- billingAttribute8 [8] Attribute8 OPTIONAL,
- billingAttribute9 [9] Attribute9 OPTIONAL,
- billingAttribute10 [10] Attribute10 OPTIONAL,
- billingAttribute11 [11] Attribute11 OPTIONAL,
- billingAttribute12 [12] Attribute12 OPTIONAL,
- billingAttribute13 [13] Attribute13 OPTIONAL,
- billingAttribute14 [14] Attribute14 OPTIONAL,
- billingAttribute15 [15] Attribute15 OPTIONAL,
- billingAttribute16 [16] Attribute16 OPTIONAL,
- billingAttribute17 [17] Attribute17 OPTIONAL,
- billingAttribute18 [18] Attribute18 OPTIONAL,
- billingAttribute19 [19] Attribute19 OPTIONAL,
- billingAttribute20 [20] Attribute20 OPTIONAL
-}
-
-
-Attribute1 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute2 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute3 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute4 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute5 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute6 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute7 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute8 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute9 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute10 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute11 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute12 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute13::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute14 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute15 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute16 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute17 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute18 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute19::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute20 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute21 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute22 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute23 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute24 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute25 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute26 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute27::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute28 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute29 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-Attribute30 ::= CHOICE {
- integerValue [0] INTEGER (0..65535),
- longIntValue [1] INTEGER (0..4294967295),
- numberValue [2] Number,
- genDigitValue [3] GenericDigits
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Certificate.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Certificate.asn
deleted file mode 100644
index e69de29bb2..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Certificate.asn
+++ /dev/null
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Cho.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Cho.py
deleted file mode 100644
index c390eed2ba..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Cho.py
+++ /dev/null
@@ -1,27 +0,0 @@
-Cho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-ChoCon ::= CHOICE
-{
- nested Cho2,
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN,
- int2 [2] INTEGER
-}
-
-ChoExp ::= CHOICE
-{
- int10 [APPLICATION 10] EXPLICIT INTEGER {first(1),last(31)},
- bool11 [APPLICATION 11] EXPLICIT BOOLEAN,
- enum12 [APPLICATION 12] EXPLICIT ENUMERATED {one(1),two(2),three(3)}
-}
-
-Cho2 ::= CHOICE
-{
- i INTEGER,
- b BOOLEAN
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoExtension.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoExtension.asn1
deleted file mode 100644
index 18473bae30..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoExtension.asn1
+++ /dev/null
@@ -1,44 +0,0 @@
-ChoExtension DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-ChoExt1 ::= CHOICE
-{
- bool BOOLEAN,
- int INTEGER,
- ...
-}
-
-ChoExt1x ::= CHOICE
-{
- bool BOOLEAN,
- int INTEGER,
- ...,
- str OCTET STRING
-}
-
-ChoExt2 ::= CHOICE
-{
- bool BOOLEAN,
- ...,
- int INTEGER
-}
-
-ChoExt3 ::= CHOICE
-{
- str OCTET STRING,
--- ...,
- bool BOOLEAN,
- int INTEGER
-}
-
-ChoExt4 ::= CHOICE
-{
- bool BOOLEAN,
- int INTEGER,
- ...,
- str OCTET STRING
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoExternal.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoExternal.asn1
deleted file mode 100644
index 950579a620..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoExternal.asn1
+++ /dev/null
@@ -1,40 +0,0 @@
-ChoExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeq1, XCho, XBool, XBoolImp, XBoolExp, XChoNT, XChoExp FROM External;
-
-
-
-ChoXCho ::= XCho
-
-ChoXBool ::= CHOICE
-{
- xbool XBool,
- xboolImp XBoolImp,
- xboolExp XBoolExp
-}
-
-
-
-NT ::= CHOICE {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [2] EXPLICIT CHOICE {
- os OCTET STRING,
- bool BOOLEAN}
-
-NTNT ::= NT
-ExpNT ::= [4] EXPLICIT NT
-
-NTExp ::= Exp
-ExpExp ::= [8] EXPLICIT Exp
-
-XNTNT ::= XChoNT
-XExpNT ::= [4] EXPLICIT XChoNT
-
-XNTExp ::= XChoExp
-XExpExp ::= [8] EXPLICIT XChoExp
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoOptional.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoOptional.asn1
deleted file mode 100644
index 18f45b645c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoOptional.asn1
+++ /dev/null
@@ -1,35 +0,0 @@
-ChoOptional DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Seq1 ::= SEQUENCE
-{
- bool BOOLEAN,
- int INTEGER OPTIONAL,
- cho ChoOpt OPTIONAL
-}
-
-Seq2 ::= SEQUENCE
-{
- int INTEGER OPTIONAL,
- cho ChoOpt OPTIONAL,
- bool BOOLEAN
-}
-
-Seq3 ::= SEQUENCE
-{
- cho ChoOpt OPTIONAL,
- int INTEGER OPTIONAL,
- bool BOOLEAN
-}
-
-
-ChoOpt ::= CHOICE
-{
- vsCho VisibleString,
- ocStrCho OCTET STRING
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoOptionalImplicitTag.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoOptionalImplicitTag.asn1
deleted file mode 100644
index 251f682ddc..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoOptionalImplicitTag.asn1
+++ /dev/null
@@ -1,35 +0,0 @@
-ChoOptionalImplicitTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Seq1 ::= SEQUENCE
-{
- bool [0] BOOLEAN,
- int [1] INTEGER OPTIONAL,
- cho [7] ChoOpt OPTIONAL
-}
-
-Seq2 ::= SEQUENCE
-{
- int INTEGER OPTIONAL,
- cho ChoOpt OPTIONAL,
- bool BOOLEAN
-}
-
-Seq3 ::= SEQUENCE
-{
- cho ChoOpt OPTIONAL,
- int INTEGER OPTIONAL,
- bool BOOLEAN
-}
-
-
-ChoOpt ::= CHOICE
-{
- vsCho [2] VisibleString,
- ocStrCho [3] OCTET STRING
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoPrim.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoPrim.asn1
deleted file mode 100644
index 984694ced8..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoPrim.asn1
+++ /dev/null
@@ -1,20 +0,0 @@
-ChoPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-ChoCon ::= CHOICE
-{
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN,
- int2 [2] INTEGER
-}
-
-ChoExp ::= CHOICE
-{
- int10 [APPLICATION 10] EXPLICIT INTEGER {first(1),last(31)},
- bool11 [APPLICATION 11] EXPLICIT BOOLEAN,
- enum12 [APPLICATION 12] EXPLICIT ENUMERATED {one(1),two(2),three(3)}
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoRecursive.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoRecursive.asn1
deleted file mode 100644
index f0fe2f629c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoRecursive.asn1
+++ /dev/null
@@ -1,30 +0,0 @@
-ChoRecursive DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-ChoRec ::= CHOICE
-{
- nothing [0] NULL,
- something SEQUENCE
- {
- a INTEGER,
- b OCTET STRING,
- c ChoRec
- }
-}
-
-ChoRec2 ::= CHOICE
-{
- something SEQUENCE
- {
- a INTEGER,
- b OCTET STRING,
- c ChoRec2
- },
- nothing [0] NULL
-}
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefCho.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefCho.asn1
deleted file mode 100644
index bcbf5045cd..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefCho.asn1
+++ /dev/null
@@ -1,44 +0,0 @@
-ChoTypeRefCho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-ChoTRcho ::= CHOICE
-{
- choCho ChoChoNT,
- choChoE [145] EXPLICIT ChoChoNT,
-
- choCho-E ChoChoExp,
- choChoE-E [345] EXPLICIT ChoChoExp
-
-}
-
-ChoChoNT ::= CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-ChoChoExp ::= [75] EXPLICIT CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-
-
-ChoChoInline ::= CHOICE
-{
- bool1 [0] BOOLEAN,
- choCho CHOICE
- {
- bool BOOLEAN,
- octStr OctStr,
- int INTEGER
- }
-}
-
-OctStr ::= OCTET STRING
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefPrim.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefPrim.asn1
deleted file mode 100644
index ed6095f769..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefPrim.asn1
+++ /dev/null
@@ -1,34 +0,0 @@
-ChoTypeRefPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-ChoTR ::= CHOICE
-{
- bool BOOLEAN,
- octStr OctStr,
- int INTEGER
-}
-
-
-ChoTR2 ::= CHOICE
-{
- octStr OctStr,
- octStrI [114] OctStr,
- octStrE [115] EXPLICIT OctStr,
-
- octStr-I OctStrImp,
- octStrI-I [214] OctStrImp,
- octStrE-I [215] EXPLICIT OctStrImp,
-
- octStr-E OctStrExp,
- octStrI-E [314] OctStrExp,
- octStrE-E [315] EXPLICIT OctStrExp
-
-}
-
-OctStr ::= OCTET STRING
-OctStrImp ::= [14] OCTET STRING
-OctStrExp ::= [15] EXPLICIT OCTET STRING
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefSeq.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefSeq.asn1
deleted file mode 100644
index f9b5cbf85f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefSeq.asn1
+++ /dev/null
@@ -1,37 +0,0 @@
-ChoTypeRefSeq DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-ChoTRseq ::= CHOICE
-{
- choSeq ChoSeq,
- choSeqI [134] ChoSeq,
- choSeqE [135] EXPLICIT ChoSeq,
-
- choSeq-I ChoSeqImp,
- choSeqI-I [234] ChoSeqImp,
- choSeqE-I [235] EXPLICIT ChoSeqImp,
-
- choSeq-E ChoSeqExp,
- choSeqI-E [334] ChoSeqExp,
- choSeqE-E [335] EXPLICIT ChoSeqExp
-
-}
-
-ChoSeq ::= SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-ChoSeqImp ::= [64] SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-ChoSeqExp ::= [65] EXPLICIT SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefSet.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefSet.asn1
deleted file mode 100644
index 7d8da3f90d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoTypeRefSet.asn1
+++ /dev/null
@@ -1,37 +0,0 @@
-ChoTypeRefSet DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-ChoTRset ::= CHOICE
-{
- choSet ChoSet,
- choSetI [124] ChoSet,
- choSetE [125] EXPLICIT ChoSet,
-
- choSet-I ChoSetImp,
- choSetI-I [224] ChoSetImp,
- choSetE-I [225] EXPLICIT ChoSetImp,
-
- choSet-E ChoSetExp,
- choSetI-E [324] ChoSetExp,
- choSetE-E [325] EXPLICIT ChoSetExp
-
-}
-
-ChoSet ::= SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-ChoSetImp ::= [54] SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-ChoSetExp ::= [55] EXPLICIT SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceBadExtension.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceBadExtension.asn1
deleted file mode 100644
index d0789d7414..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceBadExtension.asn1
+++ /dev/null
@@ -1,27 +0,0 @@
-ChoiceBadExtension DEFINITIONS ::=
-BEGIN
-
-Seq ::= SEQUENCE {
- ...,
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER
- }
-
-Cho1 ::= CHOICE {
- name PrintableString,
- ...,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER
- }
-
-Cho2 ::= CHOICE {
- ...,
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER
- }
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceInSeq.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceInSeq.asn
deleted file mode 100644
index ac93226a1b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceInSeq.asn
+++ /dev/null
@@ -1,22 +0,0 @@
-ChoiceInSeq DEFINITIONS ::=
-BEGIN
-CallCentreServiceNotificationArg ::= SEQUENCE {
- scriptInformation [0] ScriptToScriptInformation,
- eventInformation
- CHOICE
- { callEvent [1] CallEvent,
- billingReport [2] BillingInformation
- } OPTIONAL
-}
-
-ScriptToScriptInformation ::= INTEGER
-CallEvent ::= INTEGER
-BillingInformation ::= INTEGER
-EventInformation ::=
- CHOICE
- { callEvent [1] CallEvent,
- billingReport [2] BillingInformation
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceIndef.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceIndef.asn
deleted file mode 100644
index 71b717b621..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ChoiceIndef.asn
+++ /dev/null
@@ -1,24 +0,0 @@
-ChoiceIndef DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-I ::= INTEGER
-
-Cho ::= CHOICE {
- ca [0] I,
- cb [1] INTEGER
-}
-
-Seq ::= SEQUENCE {
- sa [0] Cho,
- sb [1] INTEGER
-}
-
--- detta varde funkar ej. fixat i OTP-4358
--- Val4 = {'Seq',{ca,11},12}
--- val4 = <<48,128,160,128,128,1,11,0,0,129,1,12,0,0>>
-
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Comment.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Comment.asn
deleted file mode 100644
index c2a5abd633..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Comment.asn
+++ /dev/null
@@ -1,21 +0,0 @@
-Comment DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-/* comments as to the 2002 standard
-
-this is the new added way of commenting multile lines */
-
-/* it is also allowed to have -- old kind of comment signs inside
-this new variant. The two dashes will lose their meaning as a comment
-inside a multiline comment, /* the new type of comment may also be
-nested */ */
-
-Seq ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-
-/* another multiline comment, bu t on one line. */
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/CommonDataTypes.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/CommonDataTypes.py
deleted file mode 100644
index 2c25f81235..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/CommonDataTypes.py
+++ /dev/null
@@ -1,4360 +0,0 @@
-CommonDataTypes DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
--- @prop dataType
--- @descr This types only purpose is to avoid OSS compiler warning : Duplicate PDU tag
--- @
-CommonDataTypeWrapper ::= CHOICE
-{
- wrapAddAnalysisRejectReason AddAnalysisRejectReason,
- wrapAddServiceToServiceProfileRejectReason AddServiceToServiceProfileRejectReason,
- wrapAddUserIdentifiersRejectReason AddUserIdentifiersRejectReason,
- wrapAdmissionRejectReason AdmissionRejectReason,
- wrapAlertingUUIE AlertingUUIE,
- wrapAllocateTransmissionPathRejectReason AllocateTransmissionPathRejectReason,
- wrapAnalyseRejectReason AnalyseRejectReason,
- wrapAvailabilityOfEquipment AvailabilityOfEquipment,
- wrapBandwidth Bandwidth,
- wrapBandwidthReducedInformation BandwidthReducedInformation,
- wrapBandwidthReducedReason BandwidthReducedReason,
- wrapBandwidthRejectReason BandwidthRejectReason,
- wrapBasicCallCategories BasicCallCategories,
- wrapBearerCapability BearerCapability,
- wrapCallInformation CallInformation,
- wrapCallModel CallModel,
- wrapCallProceedingUUIE CallProceedingUUIE,
- wrapCallReference CallReference,
- wrapCallServices CallServices,
- wrapCallState CallState,
- wrapCallType CallType,
- wrapCause Cause,
- wrapCauseValue CauseValue,
- wrapChangeServiceAndStatusRejectReason ChangeServiceAndStatusRejectReason,
- wrapCheckServiceRejectReason CheckServiceRejectReason,
- wrapCoding Coding,
- wrapConferenceGoal ConferenceGoal,
- wrapConferenceIdentifier ConferenceIdentifier,
- wrapConnectTransmissionPathRejectReason ConnectTransmissionPathRejectReason,
- wrapConnectUUIE ConnectUUIE,
- wrapConnectionData ConnectionData,
- wrapConnectionIdentifier ConnectionIdentifier,
- wrapConnectionInformation ConnectionInformation,
- wrapConnectionInformationOriginatingSide ConnectionInformationOriginatingSide,
- wrapConnectionInformationTerminatingSide ConnectionInformationTerminatingSide,
- wrapConnectionType ConnectionType,
- wrapCreateEquipmentRepresentationRejectReason CreateEquipmentRepresentationRejectReason,
- wrapCreateServiceAndStatusRejectReason CreateServiceAndStatusRejectReason,
- wrapCreateServiceIdentifierRejectReason CreateServiceIdentifierRejectReason,
- wrapDeallocateTransmissionPathRejectReason DeallocateTransmissionPathRejectReason,
- wrapDetailedReasonAtom DetailedReasonAtom,
- wrapDiagnostics Diagnostics,
- wrapDisconnectTransmissionPathRejectReason DisconnectTransmissionPathRejectReason,
- wrapDisengageReason DisengageReason,
- wrapDisengageRejectReason DisengageRejectReason,
- wrapDisplay Display,
- wrapE164Identifier E164Identifier,
- wrapEndToEndEndpointInformationServiceCallAcknowledge EndToEndEndpointInformationServiceCallAcknowledge,
- wrapEndToEndEndpointInformationServiceCallActive EndToEndEndpointInformationServiceCallActive,
- wrapEndToEndEndpointInformationServiceCallProgress EndToEndEndpointInformationServiceCallProgress,
- wrapEndToEndEndpointInformationServiceCallSetup EndToEndEndpointInformationServiceCallSetup,
- wrapEndToEndEndpointInformationServiceCallTermination EndToEndEndpointInformationServiceCallTermination,
- wrapEndpointIdentifier EndpointIdentifier,
- wrapEndpointRegistrationCategories EndpointRegistrationCategories,
- wrapEndpointRegistrationRejectReason EndpointRegistrationRejectReason,
- wrapEndpointType EndpointType,
- wrapEndpointUnregistrationCategories EndpointUnregistrationCategories,
- wrapEndpointUnregistrationRejectReason EndpointUnregistrationRejectReason,
- wrapEquipmentAddressAN EquipmentAddressAN,
- wrapEquipmentAddressLAN EquipmentAddressLAN,
- wrapEquipmentRelatedInformation EquipmentRelatedInformation,
- wrapEquipmentRelatedInformationIdentifier EquipmentRelatedInformationIdentifier,
- wrapFacilityReason FacilityReason,
- wrapFacilityUUIE FacilityUUIE,
- wrapGatekeeperIdentifier GatekeeperIdentifier,
- wrapGatekeeperInformation GatekeeperInformation,
- wrapGatekeeperRejectReason GatekeeperRejectReason,
- wrapGatewayInformation GatewayInformation,
- wrapGetAnalysisRejectReason GetAnalysisRejectReason,
- wrapGetEquipmentInformationRejectReason GetEquipmentInformationRejectReason,
- wrapGetLANDataRejectReason GetLANDataRejectReason,
- wrapGetPartyInformationRejectReason GetPartyInformationRejectReason,
- wrapGetRejectReasonUser GetRejectReasonUser,
- wrapGetServiceFromServiceProfileRejectReason GetServiceFromServiceProfileRejectReason,
- wrapGetServiceProfileRejectReason GetServiceProfileRejectReason,
- wrapGetServicesAndStatusRejectReason GetServicesAndStatusRejectReason,
- wrapGetUserServiceInformationAndStatusRejectReason GetUserServiceInformationAndStatusRejectReason,
- wrapH221NonStandard H221NonStandard,
- wrapH310Information H310Information,
- wrapH320Information H320Information,
- wrapH321Information H321Information,
- wrapH322Information H322Information,
- wrapH323Information H323Information,
- wrapH323InterfaceAddCallReferenceRejectReason H323InterfaceAddCallReferenceRejectReason,
- wrapH323InterfaceAddCallRelatedDataRejectReason H323InterfaceAddCallRelatedDataRejectReason,
- wrapH323InterfaceAddFixedTransportAddressDataRejectReason H323InterfaceAddFixedTransportAddressDataRejectReason,
- wrapH323InterfaceAddKeysAndSetAttributesRejectReason H323InterfaceAddKeysAndSetAttributesRejectReason,
- wrapH323InterfaceAdditionalKeys H323InterfaceAdditionalKeys,
- wrapH323InterfaceAllocateResourceRejectReason H323InterfaceAllocateResourceRejectReason,
- wrapH323InterfaceChangeKeysAndRelationsToUsersReject H323InterfaceChangeKeysAndRelationsToUsersReject,
- wrapH323InterfaceCommonAttribute H323InterfaceCommonAttribute,
- wrapH323InterfaceCommonAttributeIdentifier H323InterfaceCommonAttributeIdentifier,
- wrapH323InterfaceCreateCallReferenceRejectReason H323InterfaceCreateCallReferenceRejectReason,
- wrapH323InterfaceCreateRejectReason H323InterfaceCreateRejectReason,
- wrapH323InterfaceDeallocateResourceRejectReason H323InterfaceDeallocateResourceRejectReason,
- wrapH323InterfaceGetFixedTransportAddressDataRejectReason H323InterfaceGetFixedTransportAddressDataRejectReason,
- wrapH323InterfaceGetOrRemoveCallRelatedDataRejectReason H323InterfaceGetOrRemoveCallRelatedDataRejectReason,
- wrapH323InterfaceGetOrSetCommonRejectReason H323InterfaceGetOrSetCommonRejectReason,
- wrapH323InterfaceGetOrSetInstanceRejectReason H323InterfaceGetOrSetInstanceRejectReason,
- wrapH323InterfaceInstanceAttribute H323InterfaceInstanceAttribute,
- wrapH323InterfaceInstanceAttributeIdentifier H323InterfaceInstanceAttributeIdentifier,
- wrapH323InterfaceKey H323InterfaceKey,
- wrapH323InterfaceKeyEndpointIdentifier H323InterfaceKeyEndpointIdentifier,
- wrapH323InterfaceReduceBandwidthRejectReason H323InterfaceReduceBandwidthRejectReason,
- wrapH323InterfaceRemoveCallReferenceRejectReason H323InterfaceRemoveCallReferenceRejectReason,
- wrapH323InterfaceRemoveFixedTransportAddressDataRejectReason H323InterfaceRemoveFixedTransportAddressDataRejectReason,
- wrapH323InterfaceRemoveKeysAndSetAttributesRejectReason H323InterfaceRemoveKeysAndSetAttributesRejectReason,
- wrapH323InterfaceRemoveRejectReason H323InterfaceRemoveRejectReason,
- wrapH324Information H324Information,
- wrapHighLayerCompatibility HighLayerCompatibility,
- wrapInterfaceRegistrationInformation InterfaceRegistrationInformation,
- wrapLANAttribute LANAttribute,
- wrapLANAttributeIdentifier LANAttributeIdentifier,
- wrapLayer1ProtUserInfo Layer1ProtUserInfo,
- wrapLocation Location,
- wrapLocationRejectReason LocationRejectReason,
- wrapLogicalConnectionPointIdentifier LogicalConnectionPointIdentifier,
- wrapLowLayerCompatibility LowLayerCompatibility,
- wrapMaximumNumberOfAllowedConnections MaximumNumberOfAllowedConnections,
- wrapMaximumTotalBandwidth MaximumTotalBandwidth,
- wrapMcuInformation McuInformation,
- wrapNonStandardIdentifier NonStandardIdentifier,
- wrapNonStandardMessage NonStandardMessage,
- wrapNonStandardParameter NonStandardParameter,
- wrapNumber Number,
- wrapNumberOfTimesLANWasCrowded NumberOfTimesLANWasCrowded,
- wrapNumberType NumberType,
- wrapNumberingPlan NumberingPlan,
- wrapObjectIdentifier ObjectIdentifier,
- wrapPhysicalConnectionPointIdentifier PhysicalConnectionPointIdentifier,
- wrapPid Pid,
- wrapPreStringToRemoveInDestinationAddress PreStringToRemoveInDestinationAddress,
- wrapProgressIndicator ProgressIndicator,
- wrapProtocolIdentifier ProtocolIdentifier,
- wrapQ931Timer301Value Q931Timer301Value,
- wrapQ931Timer303Value Q931Timer303Value,
- wrapQ954Details Q954Details,
- wrapQseriesOptions QseriesOptions,
- wrapRASMessageTimerValue RASMessageTimerValue,
- wrapRTPSession RTPSession,
- wrapRegistrationRejectReason RegistrationRejectReason,
- wrapRegistrationStatus RegistrationStatus,
- wrapRelationToEquipment RelationToEquipment,
- wrapRelationToUser RelationToUser,
- wrapReleaseCompleteReason ReleaseCompleteReason,
- wrapReleaseCompleteUUIE ReleaseCompleteUUIE,
- wrapReleaseInformation ReleaseInformation,
- wrapRemoveAnalysisRejectReason RemoveAnalysisRejectReason,
- wrapRemoveEquipmentRepresentationRejectReason RemoveEquipmentRepresentationRejectReason,
- wrapRemoveServiceAndStatusRejectReason RemoveServiceAndStatusRejectReason,
- wrapRemoveServiceFromServiceProfileRejectReason RemoveServiceFromServiceProfileRejectReason,
- wrapRemoveServiceIdentifierRejectReason RemoveServiceIdentifierRejectReason,
- wrapRepeatIndicator RepeatIndicator,
- wrapRequestSeqNum RequestSeqNum,
- wrapRequestedUserAndLinkedUserAreIdentical RequestedUserAndLinkedUserAreIdentical,
- wrapServiceAndStatus ServiceAndStatus,
- wrapServiceCallSetupRejectionInformation ServiceCallSetupRejectionInformation,
- wrapServiceCallSetupRejectionReason ServiceCallSetupRejectionReason,
- wrapServiceCallTerminationInformation ServiceCallTerminationInformation,
- wrapServiceCallTerminationReason ServiceCallTerminationReason,
- wrapServiceData ServiceData,
- wrapServiceIdentifier ServiceIdentifier,
- wrapServiceProfile ServiceProfile,
- wrapSetEquipmentStatusRejectReason SetEquipmentStatusRejectReason,
- wrapSetLANDataRejectReason SetLANDataRejectReason,
- wrapSetUserAttributeData SetUserAttributeData,
- wrapSetupUUIE SetupUUIE,
- wrapStateOfEquipment StateOfEquipment,
- wrapStateOfUser StateOfUser,
- wrapStatusOfService StatusOfService,
- wrapSubaddress Subaddress,
- wrapSubaddressInformation SubaddressInformation,
- wrapSubaddressType SubaddressType,
- wrapSupportedProtocols SupportedProtocols,
- wrapT120Information T120Information,
- wrapTerminalInformation TerminalInformation,
- wrapTerminationInitiatior TerminationInitiatior,
- wrapTimeSlot TimeSlot,
- wrapTransferCapability TransferCapability,
- wrapTransferRate TransferRate,
- wrapTransportAddress TransportAddress,
- wrapTransportAddressInformation TransportAddressInformation,
- wrapTransportChannelInformation TransportChannelInformation,
- wrapTypeOfEquipment TypeOfEquipment,
- wrapTypeOfFlowControl TypeOfFlowControl,
- wrapTypeOfLAN TypeOfLAN,
- wrapTypeOfRegistration TypeOfRegistration,
- wrapTypeOfService TypeOfService,
- wrapTypeOfUser TypeOfUser,
- wrapUnknownMessageResponse UnknownMessageResponse,
- wrapUnregistrationRejectReason UnregistrationRejectReason,
- wrapUserAllocateResourceRejectReason UserAllocateResourceRejectReason,
- wrapUserAttributeData UserAttributeData,
- wrapUserAttributeIdentifier UserAttributeIdentifier,
- wrapUserCreateRejectReason UserCreateRejectReason,
- wrapUserDeallocateResourceRejectReason UserDeallocateResourceRejectReason,
- wrapUserIdentifier UserIdentifier,
- wrapUserIdentifierInformation UserIdentifierInformation,
- wrapUserInformation UserInformation,
- wrapUserInformationUUIE UserInformationUUIE,
- wrapUserKey UserKey,
- wrapUserOrEquipmentRelatedInformation UserOrEquipmentRelatedInformation,
- wrapUserOrEquipmentRelatedInformationIdentifier UserOrEquipmentRelatedInformationIdentifier,
- wrapUserRelatedInformation UserRelatedInformation,
- wrapUserRelatedInformationIdentifier UserRelatedInformationIdentifier,
- wrapUserRemoveRejectReason UserRemoveRejectReason,
- wrapUserSetRejectReason UserSetRejectReason,
- wrapUserSpecificInformation UserSpecificInformation,
- wrapVendorIdentifier VendorIdentifier,
- wrapVoiceInformation VoiceInformation,
- ...
-}
-
-
--- ---------------------------------
---
--- AddAnalysisRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-AddAnalysisRejectReason ::= CHOICE
-{
- analysisTableEntryAlreadyExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- AddServiceToServiceProfileRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-AddServiceToServiceProfileRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- serviceAlreadyExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- AddUserIdentifiersRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-AddUserIdentifiersRejectReason ::= CHOICE
-{
- userIdentifierExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- AdmissionRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-AdmissionRejectReason ::= CHOICE
-{
- calledPartyNotRegistered NULL,
- invalidPermission NULL,
- requestDenied NULL,
- undefinedReason NULL,
- callerNotRegistered NULL,
- routeCallToGatekeeper NULL,
- invalidEndpointIdentifier NULL,
- resourceUnavailable NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- AlertingUUIE
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-AlertingUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationEndpointType EndpointType, -- destinationInfo
- destinationH245Address TransportAddress OPTIONAL, -- h245Address
- ...
-}
-
-
--- ---------------------------------
---
--- AllocateTransmissionPathRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-AllocateTransmissionPathRejectReason ::= CHOICE
-{
- calledUserNotAvailable NULL,
- calledUserUnknown NULL,
- permissionDenied NULL,
- resourcesNotAvailable NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- AnalyseRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-AnalyseRejectReason ::= CHOICE
-{
- noMatchingEntryFound NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- AvailabilityOfEquipment
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-AvailabilityOfEquipment ::= CHOICE
-{
- available NULL,
- notAvailable NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- Bandwidth
---
--- @prop dataType
---
--- @descr States the bandwidth to be used in 100 bps.
---
--- @
---
--- ---------------------------------
-
-Bandwidth ::= INTEGER ( 1.. 4294967295 )
-
-
-
--- ---------------------------------
---
--- BandwidthReducedInformation
---
--- @prop dataType
---
--- @descr States information related to the recuction of the bandwidth.
---
--- @
---
--- ---------------------------------
-
-BandwidthReducedInformation ::= SEQUENCE
-{
- allocatedBandwidth Bandwidth,
- bandwidthReducedReason BandwidthReducedReason,
- ...
-}
-
-
-
--- ---------------------------------
---
--- BandwidthReducedReason
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-BandwidthReducedReason ::= CHOICE
-{
- bandwidthLimited NULL,
- bandwidthAdaptedToOriginatingEndpoint NULL,
- originBandwidthBarredDueToCategories NULL,
- undefined NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- BandwidthRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-BandwidthRejectReason ::= CHOICE
-{
- notBound NULL,
- invalidConferenceID NULL,
- invalidPermission NULL,
- insufficientResources NULL,
- invalidRevision NULL,
- undefinedReason NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- BasicCallCategories
---
--- @prop dataType
---
--- @descr Categories for the service basic call.
---
--- @
--- ---------------------------------
-
-BasicCallCategories ::= SEQUENCE
-{
- ... -- So far, no specific categories identified
-}
-
--- ---------------------------------
---
--- BearerCapability
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-BearerCapability ::= SEQUENCE
-{
- transferCapability TransferCapability,
- transferRate TransferRate,
- layer1ProtUserInfo Layer1ProtUserInfo,
- rateMultiplier INTEGER (0..127),
- ...
-}
-
-
-
--- ---------------------------------
---
--- CallInformation
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-CallInformation ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- callReference CallReference, -- callReferenceValue
- conferenceID ConferenceIdentifier,
- originator BOOLEAN OPTIONAL,
- audio SEQUENCE OF RTPSession OPTIONAL,
- video SEQUENCE OF RTPSession OPTIONAL,
- data SEQUENCE OF TransportChannelInformation OPTIONAL,
- h245 TransportChannelInformation,
- callSignaling TransportChannelInformation,
- callType CallType,
- bandwidth Bandwidth, -- bandWidth
- callModel CallModel,
- ...
-}
-
--- ---------------------------------
---
--- CallModel
---
--- @prop dataType
---
--- @descr Type of callmodel used i.e routed via gatekeeper or not
---
--- @
---
--- ---------------------------------
-
-CallModel ::= CHOICE
-{
- gatekeeperRouted NULL,
- direct NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- CallProceedingUUIE
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-
-CallProceedingUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationEndpointType EndpointType, -- destinationInfo
- destinationH245Address TransportAddress OPTIONAL, -- h245Address
- ...
-}
-
--- ---------------------------------
---
--- PreStringToRemoveInDestinationAddress
---
--- @prop dataType
---
--- @descr states the call reference that identifies a specific call.
--- Origin: H.225.0 CallReferenceValue.
---
--- @
---
--- ---------------------------------
-
-CallReference ::= INTEGER (0..65535)
-
-
--- ---------------------------------
---
--- CallServices
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-CallServices ::= SEQUENCE
-{
- q932Full BOOLEAN,
- q951Full BOOLEAN,
- q952Full BOOLEAN,
- q953Full BOOLEAN,
- q955Full BOOLEAN,
- q956Full BOOLEAN,
- q957Full BOOLEAN,
- q954Info Q954Details,
- ...
-}
-
-
--- ---------------------------------
---
--- CallType
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-CallState ::= CHOICE
-{
- null NULL,
- callInit NULL,
- overlapSending NULL,
- outgoingCallProceeding NULL,
- callDelivered NULL,
- callPresent NULL,
- callReceived NULL,
- connectRequest NULL,
- incomingCallProceeding NULL,
- active NULL,
- disconnectRequest NULL,
- disconnectIndication NULL,
- releaseRequest NULL,
- facilityRequest NULL,
- overlapReceiving NULL,
- restartRequest NULL,
- restart NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- CallType
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-CallType ::= CHOICE
-{
- pointToPoint NULL,
- oneToN NULL,
- nToOne NULL,
- nToN NULL,
- ...
-}
-
--- ---------------------------------
---
--- Cause
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-Cause ::= SEQUENCE
-{
- coding Coding,
- location Location,
- value CauseValue,
- diagnostics Diagnostics,
- ...
-}
-
-
--- ---------------------------------
---
--- CauseValue
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-CauseValue ::= CHOICE
-{
- unassignedNumber NULL, -- 1
- noRouteToSpecifiedTransitNetwork NULL, -- 2
- noRouteToDestination NULL, -- 3
- channelUnacceptable NULL, -- 6
- normalClearing NULL, -- 16
- userBusy NULL, -- 17
- noUserResponding NULL, -- 18
- noAnswereFromUser NULL, -- 19
- portableNotAvailable NULL, -- 20
- callRejected NULL, -- 21
- numberChanged NULL, -- 22
- destinationOutOfOrder NULL, -- 27
- invalidNumberFormat NULL, -- 28
- facilityRequestRejected NULL, -- 29
- responseToStatusEnquiry NULL, -- 30
- normalUnspecified NULL, -- 31
- noCircuitChannelAvailable NULL, -- 34
- networkOutOfOrder NULL, -- 38
- temporaryFailure NULL, -- 41
- switchingEquipmentCongestion NULL, -- 42
- accessInformationDiscarded NULL, -- 43
- requestedCircuitChannelNotAvailable NULL, -- 44
- resourceUnavailableUnspecified NULL, -- 47
- qualityOfServiceUnavailable NULL, -- 49
- notSubscribedToRequestedFacility NULL, -- 50
- bearerCapabilityNotAuthorized NULL, -- 57
- bearerCapabilityNotPresentlyAvailable NULL, -- 58
- serviceOrOptionNotAvailableUnspecified NULL, -- 63, 79
- bearerCapabilityNotImplemented NULL, -- 65
- channelTypeNotImplemented NULL, -- 66
- requestedFacilityNotImplemented NULL, -- 69
- onlyRestrictedDigitalInformationBcIsAvailable NULL, -- 70
- invalidCallReferenceValue NULL, -- 81
- incompatibleDestination NULL, -- 88
- invalidTransitNetworkSelection NULL, -- 91
- invalidMessageUnspecified NULL, -- 95
- mandatoryInformationElementIsMissing NULL, -- 96
- messageTypeNonexistingOrNotimplemented NULL, -- 97
- messageNotCompatibleOrImplemented NULL, -- 98
- informationElementNonExisting NULL, -- 99
- invalidInformationElementContents NULL, -- 100
- messageNotCompatibleWithCallState NULL, -- 101
- recoveryOnTimerExpiry NULL, -- 102
- protocolErrorUnspecified NULL, -- 111
- interworkingUnspecified NULL, -- 127
- ...
-}
-
-
--- ---------------------------------
---
--- ChangeServiceAndStatusRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-ChangeServiceAndStatusRejectReason ::= CHOICE
-{
- identifierOfServiceNotKnown NULL,
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- CheckServiceRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-CheckServiceRejectReason ::= CHOICE
-{
- deniedDueToInteraction NULL,
- deniedDueToCategories NULL,
- undefined NULL,
- userNotKnown NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- Coding
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-Coding ::= CHOICE
-{
- ccitt NULL,
- ecma NULL,
- national NULL,
- network NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- ConferenceGoal
---
--- @prop dataType
---
--- @descr Type of call setup desire
---
--- @
---
--- ---------------------------------
-
-ConferenceGoal ::= CHOICE
-{
- create NULL,
- join NULL,
- invite NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConferenceIdentifier
---
--- @prop dataType
---
---
---
--- @
---
--- ---------------------------------
-
-ConferenceIdentifier ::= OCTET STRING (SIZE (16))
-
-
--- ---------------------------------
---
--- ConnectTransmissionPathRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-ConnectTransmissionPathRejectReason ::= CHOICE
-{
- resourcesNotAllocated NULL,
- switchFailure NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectUUIE
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-ConnectUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationH245Address TransportAddress OPTIONAL, -- h245Address
- destinationEndpointType EndpointType, -- destinationInfo
- conferenceIdentifier ConferenceIdentifier, -- conferenceID
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectionData
---
--- @prop dataType
---
--- @descr This parameter holds connection data that are specific for
--- certain types of Equipments.
--- @
---
--- ---------------------------------
-
-ConnectionData ::= CHOICE
-{
- timeSlotInformation SEQUENCE OF TimeSlot,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectionIdentifier
---
--- @prop dataType
---
--- @descr Identifier to the connection handler instance.
---
--- @
---
--- ---------------------------------
-
-ConnectionIdentifier ::= ObjectIdentifier
-
-
--- ---------------------------------
---
--- ConnectionInformation
---
--- @prop dataType
---
--- @descr This parameter specifies information that are of interest for
--- the functionallity handled by component Connection Handler.
--- @
---
--- ---------------------------------
-
-ConnectionInformation ::= SEQUENCE
-{
- logicalConnectionPointIdentifier LogicalConnectionPointIdentifier,
- connectionData ConnectionData OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectionInformationOriginatingSide
---
--- @prop dataType
---
--- @descr Contains connection information that shall be used for the originating side of the connection.
---
--- @
---
--- ---------------------------------
-
-ConnectionInformationOriginatingSide ::= SEQUENCE
-{
- bandwidth Bandwidth,
- callType CallType,
- originatorConnectionInformation ConnectionInformation,
- terminatorConnectionInformation ConnectionInformation,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectionInformationTerminatingSide
---
--- @prop dataType
---
--- @descr Contains connection information that shall be used for the terminating side of the connection.
---
--- @
---
--- ---------------------------------
-
-ConnectionInformationTerminatingSide ::= SEQUENCE
-{
- connectionIdentifier ConnectionIdentifier,
- originatorConnectionInformation ConnectionInformation,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ConnectionType
---
--- @prop dataType
---
--- @descr States the type of connection.
---
--- @
---
--- ---------------------------------
-
-ConnectionType ::= CHOICE
-{
- pointToPoint NULL,
- oneToN NULL,
- nToOne NULL,
- nToN NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- CreateEquipmentRepresentationRejectReason
---
--- @prop dataType
---
--- @descr This reason for rejection.
---
--- @
---
--- ---------------------------------
-
-CreateEquipmentRepresentationRejectReason ::= CHOICE
-{
- equipmentRepresentationAlreadyExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- CreateServiceAndStatusRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-CreateServiceAndStatusRejectReason ::= CHOICE
-{
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- CreateServiceIdentifierRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-CreateServiceIdentifierRejectReason ::= CHOICE
-{
- keyNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- DeallocateTransmissionPathRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-DeallocateTransmissionPathRejectReason ::= CHOICE
-{
- resourcesNotAllocated NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- DetailedReasonAtom
---
--- @prop dataType
--- @descr This data type indicates the release information of a forced drop
--- during a call.
--- @
---
--- ---------------------------------
-
-DetailedReasonAtom ::= CHOICE
-{
- internalDataMissmatch NULL,
- destinationUserIdentifierNotKnown NULL,
- rejectedDueToCategories NULL,
- rejectedDueToResources NULL,
- failedToOpenDestinationCallSignallingPort NULL,
- theRequestedServiceIsNotSupported NULL,
- undefined NULL,
- ...
-}
-
--- ---------------------------------
---
--- Diagnostics
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-Diagnostics ::= INTEGER(1..127)
-
-
--- ---------------------------------
---
--- DisconnectTransmissionPathRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-DisconnectTransmissionPathRejectReason ::= CHOICE
-{
- resourcesNotAllocated NULL,
- switchFailure NULL,
- switchNotConnected NULL,
- undefined NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- DisengageReason
---
--- @prop dataType
--- @descr the reason why a change was requested by the gatekeeper or the terminal.
--- @
--- ---------------------------------
-
-DisengageReason ::= CHOICE
-{
- forcedDrop NULL,
- normalDrop NULL,
- undefinedReason NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- DisengageRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-DisengageRejectReason ::= CHOICE
-{
- notRegistered NULL,
- requestToDropOther NULL,
- ...
-}
--- ---------------------------------
---
--- Display
---
--- @prop dataType
---
--- @descr Origin: Q931
---
--- @
---
--- ---------------------------------
-
-Display ::= OCTET STRING (SIZE(1..82))
-
-
-
--- ---------------------------------
---
--- E164Identifier
---
--- @prop dataType
---
--- @descr Identifier for the user identifier of the type E.164.
---
--- @
---
--- ---------------------------------
-
-E164Identifier ::= IA5String (SIZE (1..128)) (FROM ("0123456789#*,"))
-
-
--- ---------------------------------
---
--- EndToEndEndpointInformationServiceCallAcknowledge
---
--- @prop dataType
---
--- @descr Information that shall be sent end to end.
---
--- @
---
--- ---------------------------------
-
-EndToEndEndpointInformationServiceCallAcknowledge ::= SEQUENCE
-{
- bearerCapability BearerCapability OPTIONAL,
- highLayerCompatibility HighLayerCompatibility OPTIONAL,
- progressIndicator ProgressIndicator OPTIONAL,
- userToUserQ931Information UserInformation OPTIONAL,
- userToUserH323AcknowledgeInformation AlertingUUIE OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EndToEndEndpointInformationServiceCallActive
---
--- @prop dataType
---
--- @descr Information that shall be sent end to end.
---
--- @
---
--- ---------------------------------
-
-EndToEndEndpointInformationServiceCallActive ::= SEQUENCE
-{
- bearerCapability BearerCapability OPTIONAL,
- highLayerCompatibility HighLayerCompatibility OPTIONAL,
- lowLayerCompatibility LowLayerCompatibility OPTIONAL,
- progressIndicator ProgressIndicator OPTIONAL,
- userToUserQ931Information UserInformation OPTIONAL,
- userToUserH323ActiveInformation ConnectUUIE OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EndToEndEndpointInformationServiceCallProgress
---
--- @prop dataType
---
--- @descr Information that shall be sent end to end.
---
--- @
---
--- ---------------------------------
-
-EndToEndEndpointInformationServiceCallProgress ::=SEQUENCE
-{
- cause Cause OPTIONAL,
- highLayerCompatibility HighLayerCompatibility OPTIONAL,
- progressIndicator ProgressIndicator OPTIONAL,
- userToUserQ931Information UserInformation OPTIONAL,
- ...
-}
-
-
-
-
--- ---------------------------------
---
--- EndToEndEndpointInformationServiceCallSetup
---
--- @prop dataType
---
--- @descr Information that shall be sent end to end.
---
--- @
---
--- ---------------------------------
-
-EndToEndEndpointInformationServiceCallSetup ::=SEQUENCE
-{
- bearerCapability BearerCapability OPTIONAL,
- calledNumber Number OPTIONAL,
- calledSubaddress Subaddress OPTIONAL,
- callingNumber Number OPTIONAL,
- callingSubaddress Subaddress OPTIONAL,
- highLayerCompatibility HighLayerCompatibility OPTIONAL,
- lowLayerCompatibility LowLayerCompatibility OPTIONAL,
- progressIndicator ProgressIndicator OPTIONAL,
- repeatIndicator RepeatIndicator OPTIONAL,
- userToUserQ931Information UserInformation OPTIONAL,
- userToUserH323SetupInformation SetupUUIE OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EndToEndEndpointInformationServiceCallTermination
---
--- @prop dataType
---
--- @descr Information that shall be sent end to end.
---
--- @
---
--- ---------------------------------
-
-EndToEndEndpointInformationServiceCallTermination ::=SEQUENCE
-{
- cause Cause OPTIONAL,
- progressIndicator ProgressIndicator OPTIONAL,
- userToUserQ931Information UserInformation OPTIONAL,
- userToUserH323TerminationInformation ReleaseCompleteUUIE OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EndpointIdentifier
---
--- @prop dataType
---
---
--- @
---
--- ---------------------------------
-
-EndpointIdentifier ::= BMPString (SIZE(1..128)) -- change from SIZE(128)
-
-
--- ---------------------------------
---
--- EndpointRegistrationCategories
---
--- @prop dataType
---
--- @descr Categories for the service endpoint registration.
---
--- @
--- ---------------------------------
-
-EndpointRegistrationCategories ::= SEQUENCE
-{
- ... -- So far, no specific categories identified
-}
-
-
-
--- ---------------------------------
---
--- EndpointRegistrationRejectReason
---
--- @prop dataType
---
---
--- @
---
--- ---------------------------------
-
-EndpointRegistrationRejectReason ::= CHOICE
-{
- attemptToChangeEndpoint NULL,
- requestedUserNotKnown NULL,
- endpointTypeNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EndpointType
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-EndpointType ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- vendor VendorIdentifier OPTIONAL,
- gatekeeper GatekeeperInformation OPTIONAL,
- gateway GatewayInformation OPTIONAL,
- mcu McuInformation OPTIONAL,
- terminal TerminalInformation OPTIONAL,
- mc BOOLEAN,
- undefinedNode BOOLEAN,
- ...
-}
-
-
--- ---------------------------------
---
--- EndpointUnregistrationCategories
---
--- @prop dataType
---
--- @descr Categories for the service endpoint unregistration.
---
--- @
--- ---------------------------------
-
-EndpointUnregistrationCategories ::= SEQUENCE
-{
- ... -- So far, no specific categories identified
-}
-
-
-
--- ---------------------------------
---
--- EndpointUnregistrationRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-EndpointUnregistrationRejectReason ::= CHOICE
-{
- permissionDenied NULL,
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EquipmentAddressAN
---
--- @prop dataType
---
--- @descr States the address for a certain equipment connected
--- to the Access Node.
--- @
---
--- ---------------------------------
-
-EquipmentAddressAN ::= SEQUENCE
-{
- --TBD by SEA,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EquipmentAddressLAN
---
--- @prop dataType
---
--- @descr States the transport address for a certain equipment
---
--- @
---
--- ---------------------------------
-
-EquipmentAddressLAN ::= SEQUENCE
-{
- transportAddresses SEQUENCE OF TransportAddress,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EquipmentRelatedInformation
---
--- @prop dataType
---
--- @descr Contains the retreived data.
---
--- @
---
--- ---------------------------------
-
-EquipmentRelatedInformation ::= CHOICE
-{
- logicalConnectionPointIdentifier LogicalConnectionPointIdentifier,
- registrationStatus RegistrationStatus,
- stateOfEquipment StateOfEquipment,
- typeOfEquipment TypeOfEquipment,
- ...
-}
-
-
-
--- ---------------------------------
---
--- EquipmentRelatedInformationIdentifier
---
---
--- @prop dataType
---
--- @descr This parameter specifies different types of data
--- that are specific to a certain equipment.
---
--- @
--- ---------------------------------
-
-EquipmentRelatedInformationIdentifier ::= CHOICE
-{
- logicalConnectionPointIdentifier NULL,
- registrationStatus NULL,
- stateOfEquipment NULL,
- typeOfEquipment NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- FacilityReason
---
--- @prop dataType
---
---
--- @
---
--- ---------------------------------
-
-FacilityReason ::= CHOICE
-{
- routeCallToGatekeeper NULL,
- callForwarded NULL,
- routeCallToMC NULL,
- undefinedReason NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- FacilityUUIE
---
--- @prop dataType
---
---
--- @
---
--- ---------------------------------
-
-FacilityUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- alternativeH245Address TransportAddress OPTIONAL, -- alternativeAddress
- alternativeUserIdentifierInformation UserIdentifierInformation OPTIONAL, -- alternativeAliasAddress
- conferenceIdentifier ConferenceIdentifier OPTIONAL, -- conferenceID
- facilityReason FacilityReason, -- reason
- ...
-}
-
-
--- ---------------------------------
---
--- GatekeeperIdentifier
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-GatekeeperIdentifier ::= BMPString (SIZE(1..128))
-
-
--- ---------------------------------
---
--- GatekeeperInformation
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-GatekeeperInformation ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- GatekeeperRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-GatekeeperRejectReason ::= CHOICE
-{
- resourceUnavailable NULL,
- terminalExcluded NULL,
- invalidRevision NULL,
- undefinedReason NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- GatewayInformation
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-GatewayInformation ::= SEQUENCE
-{
- protocol SEQUENCE OF SupportedProtocols OPTIONAL,
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- GetAnalysisRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetAnalysisRejectReason ::= CHOICE
-{
- noDataStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetEquipmentInformationRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetEquipmentInformationRejectReason ::= CHOICE
-{
- equipmentUnknown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetLANDataRejectReason
---
--- @prop dataType
---
--- @descr This reason for rejection.
---
--- @
---
--- ---------------------------------
-
-GetLANDataRejectReason ::= CHOICE
-{
- noDataStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetPartyInformationRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetPartyInformationRejectReason ::= CHOICE
-{
- noEquipmentAvailable NULL,
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetRejectReasonUser
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetRejectReasonUser ::= CHOICE
-{
- keyNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetServiceFromServiceProfileRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetServiceFromServiceProfileRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- serviceDoNotExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetServiceProfileRejectReason
---
--- @prop dataType
---
--- @descr
---
--- @
---
--- ---------------------------------
-
-GetServiceProfileRejectReason ::= CHOICE
-{
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetServicesAndStatusRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetServicesAndStatusRejectReason ::= CHOICE
-{
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- GetUserServiceInformationAndStatusRejectReason
---
--- @prop dataType
---
--- @descr Reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-GetUserServiceInformationAndStatusRejectReason ::= CHOICE
-{
- undefined NULL,
- userNotKnown NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H221NonStandard
--- @prop dataType
---
--- @descr Gives non standard information about the standard protocol H.221.
--- @
---
--- ---------------------------------
-
-H221NonStandard ::= SEQUENCE
-{ t35CountryCode INTEGER(0..255),
- t35Extension INTEGER(0..255),
- manufacturerCode INTEGER(0..65535),
- ...
-}
-
-
--- ---------------------------------
---
--- H310Information
--- @prop dataType
--- @descr Gives detailed information about the standard protocol H.310.
--- @
---
--- ---------------------------------
-
-H310Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- H320Information
--- @prop dataType
---
--- @descr Gives detailed information about the standard protocol H.320.
--- @
---
--- ---------------------------------
-
-H320Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- H321Information
---
--- @prop dataType
--- @descr Gives detailed information about the standard protocol H.321.
--- @
---
--- ---------------------------------
-
-H321Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- H322Information
---
--- @prop dataType
--- @descr Gives detailed information about the standard protocol H.322.
--- @
---
--- ---------------------------------
-
-H322Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- H323Information
---
--- @prop dataType
--- @descr Gives detailed information about the standard protocol H.323.
--- @
---
--- ---------------------------------
-
-H323Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- H323InterfaceAddCallReferenceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceAddCallReferenceRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- requestedCallReferenceAlreadyInUse NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceAddCallRelatedDataRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceAddCallRelatedDataRejectReason ::= CHOICE
-{
- callReferenceNotValid NULL,
- keyNotValid NULL,
- callRelatedDataAlredyStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceAddFixedTransportAddressDataRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceAddFixedTransportAddressDataRejectReason ::= CHOICE
-{
- fixedTransportAddressDataAlredyStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceAddKeysAndSetAttributesRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceAddKeysAndSetAttributesRejectReason ::= CHOICE
-{
- existingKeyNotValid NULL,
- newKeyAlreadyExists NULL,
- newKeyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceAdditionalKeys
---
--- @prop dataType
--- @descr Additional keys for an instance of the type H.323Interface.
--- @
--- ---------------------------------
-
-H323InterfaceAdditionalKeys ::= SEQUENCE
-{
- endpointCallSignallingAddresses SEQUENCE OF TransportAddress,
- endpointRASAddresses SEQUENCE OF TransportAddress,
- ...
-}
-
-
--- ---------------------------------
---
--- H323InterfaceAllocateResourceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceAllocateResourceRejectReason ::= CHOICE
-{
- callReferenceNotValid NULL,
- keyNotValid NULL,
- resourceNotAvailable NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceChangeKeysAndRelationsToUsersReject
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceChangeKeysAndRelationsToUsersReject ::= CHOICE
-{
- firstKeyNotValid NULL,
- secondKeyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceCommonAttribute
---
--- @prop dataType
---
--- @descr This parameter contains the attributes which holds data
--- that are common for all objects of the type H.323Interface.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceCommonAttribute ::= CHOICE
-{
- gatekeeperCallSignallingAddressData CHOICE
- {
- gatekeeperCallSignallingAddresses SEQUENCE OF TransportAddress,
- undefined NULL,
- ...
- },
- gatekeeperRASAddressInformation CHOICE
- {
- gatekeeperRASAddressData SEQUENCE
- {
- multicastRASAddress TransportAddress,
- gatekeeperRASAddress TransportAddress,
- ...
- },
- undefined NULL,
- ...
- },
- q931Timer301Value Q931Timer301Value,
- q931Timer303Value Q931Timer303Value,
- rasMessageTimerValue RASMessageTimerValue,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceCommonAttributeIdentifier
---
--- @prop dataType
---
--- @descr This parameter contains the attribute identifiers of the
--- attributes which holds data that are common for all objects
--- of the type H.323Interface.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceCommonAttributeIdentifier ::= CHOICE
-{
- gatekeeperCallSignallingAddresses NULL,
- gatekeeperRASAddress NULL,
- q931Timer301Value NULL,
- q931Timer303Value NULL,
- rasMessageTimerValue NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceCreateCallReferenceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
--- ---------------------------------
-
-H323InterfaceCreateCallReferenceRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- noCallReferenceAvailable NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceCreateRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceCreateRejectReason ::= CHOICE
-{
- keyAlreadyInUse NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceDeallocateResourceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
--- ---------------------------------
-
-H323InterfaceDeallocateResourceRejectReason ::= CHOICE
-{
- resourceNotAllocated NULL,
- callReferenceNotValid NULL,
- keyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceGetFixedTransportAddressDataRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
--- ---------------------------------
-
-H323InterfaceGetFixedTransportAddressDataRejectReason ::= CHOICE
-{
- noDataStoredForThisTransportAddress NULL,
- noFixedTransportAddressDataStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceGetOrRemoveCallRelatedDataRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceGetOrRemoveCallRelatedDataRejectReason ::= CHOICE
-{
- callReferenceNotValid NULL,
- keyNotValid NULL,
- noCallRelatedDataStored NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceGetOrSetCommonRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceGetOrSetCommonRejectReason ::= CHOICE
-{
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceGetOrSetInstanceRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceGetOrSetInstanceRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceInstanceAttribute
---
--- @prop dataType
---
--- @descr This parameter contains the attributes which holds data
--- that are specific for a h323Interface object.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceInstanceAttribute ::= CHOICE
-{
- endpointCallSignallingAddresses SEQUENCE OF TransportAddress,
- endpointRasAddresses SEQUENCE OF TransportAddress,
- registrationStatus RegistrationStatus,
- gatekeeperCallSignallingAddress TransportAddress,
- maximumTotalBandwidthForInterface Bandwidth,
- preStringsToRemoveInDestinationAddress SEQUENCE OF PreStringToRemoveInDestinationAddress,
- relationToH2250CallSignalling Pid,
- relationToUser RelationToUser,
- typeOfEquipment TypeOfEquipment,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceInstanceAttributeIdentifier
---
--- @prop dataType
---
--- @descr This parameter contains the attribute identifiers of the
--- attributes which holds data that are specific for a
--- h323Interface object.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceInstanceAttributeIdentifier ::= CHOICE
-{
- endpointCallSignallingAddresses NULL,
- endpointRASAddresses NULL,
- registrationStatus NULL,
- gatekeeperCallSignallingAddress NULL,
- maximumTotalBandwidthForInterface NULL,
- preStringsToRemoveInDestinationAddress NULL,
- relationToH2250CallSignalling NULL,
- relationToUser NULL,
- typeOfEquipment NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceKey
---
--- @prop dataType
--- @descr Allowed keys for an instance of the type H.323Interface.
--- @
--- ---------------------------------
-
-H323InterfaceKey ::= CHOICE
-{
- endpointIdentifier EndpointIdentifier,
- endpointCallSignallingAddresses SEQUENCE OF TransportAddress,
- endpointRASAddresses SEQUENCE OF TransportAddress,
- ...
-}
-
-
--- ---------------------------------
---
--- H323InterfaceKeyEndpointIdentifier
---
--- @descr Allowed keys for an instance of the type H.323Interface.
---
--- ---------------------------------
-
-H323InterfaceKeyEndpointIdentifier ::= SEQUENCE
-{
- endpointIdentifier EndpointIdentifier,
- ...
-}
-
-
--- ---------------------------------
---
--- H323InterfaceReduceBandwidthRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceReduceBandwidthRejectReason ::= CHOICE
-{
- bandwidthNotAllocated NULL,
- callReferenceNotValid NULL,
- keyNotValid NULL,
- newBandwidthHigherThanAllocatedBandwidth NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceRemoveCallReferenceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-H323InterfaceRemoveCallReferenceRejectReason ::= CHOICE
-{
- callReferenceNotStored NULL,
- keyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceRemoveFixedTransportAddressDataRejectReason
--- @prop dataType
--- @descr Reason for the rejection.
--- @
--- ---------------------------------
-
-H323InterfaceRemoveFixedTransportAddressDataRejectReason ::= CHOICE
-{
- noDataStoredForThisTransportAddress NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceRemoveKeysAndSetAttributesRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceRemoveKeysAndSetAttributesRejectReason ::= CHOICE
-{
- keysNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H323InterfaceRemoveRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-H323InterfaceRemoveRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- serviceInProgress NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- H324Information
--- @prop dataType
---
--- @descr Gives detailed information about the standard protocol H.324.
--- @
---
--- ---------------------------------
-
-H324Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
--- @prop dataType
--- @descr Origin: Q931
--- @
-
-HighLayerCompatibility ::= SEQUENCE
-{
- ...
-}
--- ---------------------------------
---
--- InterfaceRegistrationInformation
--- @prop dataType
---
--- @descr This parameter specifies the current registration status of an
--- endpoints registration request.
--- @
---
--- ---------------------------------
-
-InterfaceRegistrationInformation ::= SEQUENCE
-{
- isInterfaceRegistered BOOLEAN,
- relationToH323User EndpointIdentifier OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- LANAttribute
---
--- @prop dataType
--- @descr This parameter contains a LAN attribute value.
--- @
---
--- ---------------------------------
-
-LANAttribute ::= CHOICE
-{
- maximumTotalBandwidth MaximumTotalBandwidth,
- maximumNumberOfAllowedConnections MaximumNumberOfAllowedConnections,
- numberOfTimesLANWasCrowded NumberOfTimesLANWasCrowded,
- typeOfFlowControl TypeOfFlowControl,
- typeOfLAN TypeOfLAN,
- ...
-}
-
-
-
--- ---------------------------------
---
--- LANAttributeIdentifier
---
--- @prop dataType
--- @descr This parameter contains a LAN attribute identifier.
--- @
---
--- ---------------------------------
-
-LANAttributeIdentifier ::= CHOICE
-{
- maximumTotalBandwidth NULL,
- maximumNumberOfAllowedConnections NULL,
- numberOfTimesLANWasCrowded NULL,
- typeOfFlowControl NULL,
- typeOfLAN NULL,
- ...
-}
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- Layer1ProtUserInfo ::= CHOICE
- {
- g711u-law NULL,
- g711a-law NULL,
- h323VidephoneCall NULL, -- the meaning of "5" in H323
- h221Andh242 NULL, -- the meaning of "5" in Q931
- ...
- }-- @prop dataType
--- @descr Origin: Q931
--- @
-
- Location ::= CHOICE
- {
- user NULL,
- localPrivateNetwork NULL,
- localPublicNetwork NULL,
- transitNetwork NULL,
- remotePublicNetwork NULL,
- remotePrivateNetwork NULL,
- internationalNetwork NULL,
- beyondInterworkingPoint NULL,
- ...
- }
-
--- ---------------------------------
---
--- LocationRejectReason
--- @prop dataType
---
--- @descr
--- @
--- ---------------------------------
-
-LocationRejectReason ::= CHOICE
-{
- notRegistered NULL,
- invalidPermission NULL,
- requestDenied NULL,
- undefinedReason NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- LogicalConnectionPointIdentifier
---
--- @prop dataType
--- @descr Identifier of the logical connection point.
--- @
---
--- ---------------------------------
-
-LogicalConnectionPointIdentifier ::= INTEGER (0..65535)
---
--- Created by :
--- Creation date :
--- Modified by :
--- Modification date :
--- Version :
---
--- @prop dataType
--- @descr origin Q931
--- @
-
- LowLayerCompatibility ::= SEQUENCE
- {
- }
-
--- ---------------------------------
---
--- MaximumNumberOfAllowedConnections
---
--- @prop dataType
--- @descr States the maximum number of allowed connections.
--- @
---
--- ---------------------------------
-
-MaximumNumberOfAllowedConnections ::= CHOICE
-{
- maximumNumberOfAllowedConnectionsValue INTEGER ( 0.. 999999999),
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- MaximumTotalBandwidth
--- @prop dataType
--- @descr States the maximum total bandwidth.
--- @
--- ---------------------------------
-
-MaximumTotalBandwidth ::= CHOICE
-{
- maximumTotalBandwidthValue Bandwidth,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- McuInformation
--- @prop dataType
---
--- @descr Gives detailed information about the endpoint type, MCU.
--- @
--- ---------------------------------
-
-McuInformation ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- NonStandardIdentifier
--- @prop dataType
---
--- @descr
--- @
---
--- ---------------------------------
-
-NonStandardIdentifier ::= CHOICE
-{
- object OBJECT IDENTIFIER,
- h221NonStandard H221NonStandard,
- ...
-}
-
-
--- ---------------------------------
---
--- NonStandardMessage
--- @prop dataType
---
--- @descr
--- @
---
--- ---------------------------------
-
-NonStandardMessage ::= SEQUENCE
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter,
- ...
-}
-
--- ---------------------------------
---
--- NonStandardParameter
---
--- @prop dataType
--- @
--- ---------------------------------
-
-NonStandardParameter ::= SEQUENCE
-{
- nonStandardIdentifier NonStandardIdentifier,
- data OCTET STRING,
- ...
-}
-
-
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- Number ::= SEQUENCE
- {
- type NumberType,
- indicator NumberingPlan,
- number IA5String (FROM ("0123456789#*")),
- ...
- }
-
--- ---------------------------------
---
--- NumberOfTimesLANWasCrowded
--- @prop dataType
---
--- @descr States the number of times the Lan has been crowded,
--- i.e. the endpoints has released the initiated call due to
--- heavy load in the LAN.
--- @
---
--- ---------------------------------
-
-NumberOfTimesLANWasCrowded ::= CHOICE
-{
- numberOfTimesLANWasCrowdedValue INTEGER ( 0.. 999999999),
- undefined NULL,
- ...
-}
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- NumberType ::= CHOICE
- {
- unknown NULL,
- international NULL,
- national NULL,
- network NULL,
- local NULL,
- abbreviated NULL,
- ...
- }
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- NumberingPlan ::= CHOICE
- {
- unknown NULL,
- e164 NULL,
- data NULL,
- telex NULL,
- national NULL,
- private NULL,
- ...
- }
-
-
-
--- ---------------------------------
---
--- ObjectIdentifier
---
--- @prop dataType
--- @descr An identifier to a certain instance of an object.
--- @
---
--- ---------------------------------
-
-ObjectIdentifier ::= OCTET STRING
-
-
-
--- ---------------------------------
---
--- PhysicalConnectionPointIdentifier
---
--- @prop dataType
--- @descr Contains data that identifies a specific equipment instance.
--- @
---
--- ---------------------------------
-
-PhysicalConnectionPointIdentifier ::= CHOICE
-{
- equipmentAN EquipmentAddressAN, -- Equipment connected to the Access Node.
- equipmentLAN EquipmentAddressLAN, -- Equipment connected to the LAN.
- ...
-}
-
-
--- ---------------------------------
---
--- Pid
--- @prop dataType
---
--- @descr A process identifier.
--- @
---
--- ---------------------------------
-
-Pid ::= ObjectIdentifier
-
-
-
--- ---------------------------------
---
--- PreStringToRemoveInDestinationAddress
---
--- @prop dataType
---
--- @descr A pre-string that shall be removed when sending the destination address.
---
--- @
---
--- ---------------------------------
-
-PreStringToRemoveInDestinationAddress ::= CHOICE
-{
- e164 IA5String (SIZE (1..128)) (FROM ("0123456789,")),
- h323 BMPString (SIZE (1..256)),
- -- h323 is Basic ISO/IEC 10646-1 (Unicode)
- ...
-}
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- ProgressIndicator ::= SEQUENCE
- {
- }
-
--- ---------------------------------
---
--- ProtocolIdentifier
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-ProtocolIdentifier ::= OBJECT IDENTIFIER
-
-
--- ---------------------------------
---
--- Q931Timer301Value
--- @prop dataType
---
--- @descr States the Q931 timer 301 value to be used in milli seconds.
--- @
---
--- ---------------------------------
-
-Q931Timer301Value ::= INTEGER ( 180000.. 360000 )
-
-
-
--- ---------------------------------
---
--- Q931Timer303Value
---
--- @prop dataType
--- @descr States the Q931 timer 303 value to be used in milli seconds.
--- @
---
--- ---------------------------------
-
-Q931Timer303Value ::= INTEGER ( 1000.. 10000 )
-
-
-
--- ---------------------------------
---
--- Q954Details
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-Q954Details ::= SEQUENCE
-{
- conferenceCalling BOOLEAN,
- threePartyService BOOLEAN,
- ...
-}
-
-
--- ---------------------------------
---
--- QseriesOptions
---
--- @prop dataType
--- @
---
--- ---------------------------------
-
-QseriesOptions ::=SEQUENCE
-{
- q932Full BOOLEAN,
- q951Full BOOLEAN,
- q952Full BOOLEAN,
- q953Full BOOLEAN,
- q955Full BOOLEAN,
- q956Full BOOLEAN,
- q957Full BOOLEAN,
- q954Info Q954Details,
- ...
-}
-
-
--- ---------------------------------
---
--- RASMessageTimerValue
---
--- @prop dataType
--- @descr States the RAS message timer value to be used in milli seconds.
--- @
---
--- ---------------------------------
-
-RASMessageTimerValue ::= INTEGER ( 1000.. 10000 )
-
-
-
--- ---------------------------------
---
--- RTPSession
---
--- @prop dataType
--- @
---
--- ---------------------------------
-
-RTPSession ::= SEQUENCE
-{
- rtpAddress TransportChannelInformation,
- rtcpAddress TransportChannelInformation,
- cname PrintableString,
- ssrc INTEGER (1.. 134217727), -- change from 4294967295 for erl 4.2
- sessionId INTEGER (1..255),
- associatedSessionIds SEQUENCE OF INTEGER (1..255),
- ...
-}
-
-
--- ---------------------------------
---
--- RegistrationRejectReason
---
--- @prop dataType
--- @descr Specifies the registration reject reason that are valid
--- in the H.225.0 message RegistartionReject
--- @ --
--- ---------------------------------
-
-RegistrationRejectReason ::= CHOICE
-{
- discoveryRequired NULL,
- invalidRevision NULL,
- invalidCallSignalAddress NULL,
- invalidRasAddress NULL,
- duplicateAlias UserIdentifierInformation,
- invalidTerminalType NULL,
- undefinedReason NULL,
- transportNotSupported NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- RegistrationStatus
---
--- @prop dataType
--- @
---
--- ---------------------------------
-
-RegistrationStatus ::= CHOICE
-{
- notRegistered NULL,
- registered NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- RelationToEquipment
---
--- @prop dataType
--- @descr Relation to the architecture component Equipment.
--- @
---
--- ---------------------------------
-
-RelationToEquipment ::= SEQUENCE
-{
- relationToUser RelationToUser,
- typeOfEquipment TypeOfEquipment,
- ...
-}
-
-
--- ---------------------------------
---
--- RelationToUser
---
--- @prop dataType
--- @descr Relation to the architecture component User.
--- @
---
--- ---------------------------------
-
-RelationToUser ::= BMPString (SIZE(1..128))
-
-
-
--- ---------------------------------
---
--- ReleaseCompleteReason
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-ReleaseCompleteReason ::= CHOICE
-{
- noBandwidth NULL,
- gatekeeperResources NULL,
- unreachableDestination NULL,
- destinationRejection NULL,
- invalidRevision NULL,
- noPermission NULL,
- unreachableGatekeeper NULL,
- gatewayResources NULL,
- badFormatAddress NULL,
- adaptiveBusy NULL,
- inConf NULL,
- undefinedReason NULL,
- ...
-}
-
-
-
-
-
-
--- ---------------------------------
---
--- ReleaseCompleteUUIE
--- @prop dataType
---
--- @
--- ---------------------------------
-
-ReleaseCompleteUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- releaseCompleteReason ReleaseCompleteReason OPTIONAL, -- reason
- ...
-}
-
-
--- ---------------------------------
---
--- ReleaseInformation
---
--- @prop dataType
--- @descr This data type is used to transfer the reason for the
--- rejection or release.
--- @
---
--- ---------------------------------
-
-ReleaseInformation ::= CHOICE
-{
- forcedDrop DetailedReasonAtom,
- normalDrop NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- RemoveAnalysisRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-RemoveAnalysisRejectReason ::= CHOICE
-{
- analysisTableEntryNotFound NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- RemoveEquipmentRepresentationRejectReason
---
--- @prop dataType
--- @descr This reason for rejection.
--- @
---
--- ---------------------------------
-
-RemoveEquipmentRepresentationRejectReason ::= CHOICE
-{
- invalidInputData NULL,
- equipmentRepresentationDoesNotExist NULL,
- other NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- RemoveServiceAndStatusRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-RemoveServiceAndStatusRejectReason ::= CHOICE
-{
- identifierOfServiceNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- RemoveServiceFromServiceProfileRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the service and its categories that
--- shall be added to a service profile.
---
--- @
---
--- ---------------------------------
-
-RemoveServiceFromServiceProfileRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- serviceDoNotExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- RemoveServiceIdentifierRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
--- ---------------------------------
-
-RemoveServiceIdentifierRejectReason ::= CHOICE
-{
- keyNotKnown NULL,
- serviceIdentifierDoNotExist NULL,
- undefined NULL,
- ...
-}
-
---
--- Created by :
--- Creation date :
--- Modified by :
--- Modification date :
--- Version :
---
--- @prop dataType
--- @
-
- RepeatIndicator ::= SEQUENCE
- {
- }
-
--- ---------------------------------
---
--- RequestSeqNum
---
--- @prop dataType
--- @descr
--- @
--- ---------------------------------
-
-RequestSeqNum ::= INTEGER (1..65535)
-
-
-
--- ---------------------------------
---
--- RequestedUserAndLinkedUserAreIdentical
---
--- @prop dataType
--- @descr This parameter indicates if the requested user and the user
--- linked to the requested endpoint are identical, not identical
--- or if this is undefined.
--- @
---
--- ---------------------------------
-
-RequestedUserAndLinkedUserAreIdentical ::= CHOICE
-{
- yes NULL,
- no NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ServiceAndStatus
--- @prop dataType
---
--- @descr Information of a service and its state.
--- @
---
--- ---------------------------------
-
-ServiceAndStatus ::= SEQUENCE
-{
- typeOfService TypeOfService,
- status StatusOfService,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ServiceCallSetupRejectionInformation
---
--- @prop dataType
--- @descr Information related to the call setup rejection.
--- @
---
--- ---------------------------------
-
-ServiceCallSetupRejectionInformation ::= SEQUENCE
-{
- terminationInitiatior TerminationInitiatior,
- terminationReason ServiceCallSetupRejectionReason,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ServiceCallSetupRejectionReason
---
--- @prop dataType
--- @descr Reason for rejection.
--- @
--- ---------------------------------
-
-ServiceCallSetupRejectionReason ::= CHOICE
-{
- calledUserBusy NULL,
- calledUserNotAvailable NULL,
- destinationOutOfOrder NULL,
- requestedServiceBarred NULL,
- requestedServiceNotAvailable NULL,
- requestedServiceNotSubscribed NULL,
- resourceUnavailable NULL,
- temporaryFailure NULL,
- unassignedUserIdentifier NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ServiceCallTerminationInformation
--- @prop dataType
---
--- @descr States information related to the termination.
--- @
---
--- ---------------------------------
-
-ServiceCallTerminationInformation ::= SEQUENCE
-{
- terminationInitiation TerminationInitiatior,
- terminationReason ServiceCallTerminationReason,
- ...
-}
-
-
--- ---------------------------------
---
--- ServiceCallTerminationReason
---
--- @prop dataType
--- @descr Reason for termination.
--- @
---
--- ---------------------------------
-
-ServiceCallTerminationReason ::= CHOICE
-{
- noAnswerFromCalledUser NULL,
- normalTermination NULL,
- resourceUnavailable NULL,
- temporaryFailure NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- ServiceData
---
--- @prop dataType
--- @descr Contains the identified services and theirs categories
--- @
--- ---------------------------------
-
-ServiceData ::= CHOICE
-{
- basicCall BasicCallCategories,
- endpointRegistration EndpointRegistrationCategories,
- endpointUnregistration EndpointUnregistrationCategories,
- ...
-}
-
--- @prop dataType
--- @descr
--- @
---
-
- ServiceIdentifier ::= INTEGER
-
-
--- ---------------------------------
---
--- ServiceProfile
---
--- @prop dataType
--- @descr Contains services and data related to the services.
--- @
--- ---------------------------------
-
-ServiceProfile ::= SEQUENCE
-{
- serviceDataInformation SEQUENCE OF ServiceData OPTIONAL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- SetEquipmentStatusRejectReason
---
--- @prop dataType
---
---
--- @
---
--- ---------------------------------
-
-SetEquipmentStatusRejectReason ::= CHOICE
-{
- userNotKnown NULL,
- undefined NULL,
- ...
-}
-
-
--- ---------------------------------
---
--- SetLANDataRejectReason
---
--- @prop dataType
--- @descr This reason for rejection.
--- @
---
--- ---------------------------------
-
-SetLANDataRejectReason ::= CHOICE
-{
- invalidInputData NULL,
- other NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- SetUserAttributeData
---
--- @prop dataType
---
--- @descr This parameter contains an User attribute value.
---
--- @
---
--- ---------------------------------
-
-SetUserAttributeData ::= CHOICE
-{
- maximumTotalBandwidth Bandwidth,
- maximumBandwidthPerService Bandwidth,
- stateOfUser StateOfUser,
- typeOfUser TypeOfUser,
- ...
-}
-
-
-
--- ---------------------------------
---
--- SetupUUIE
--- @prop dataType
--- @
---
--- ---------------------------------
-
-SetupUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- sourceH245Address TransportAddress OPTIONAL, -- h245Address
- sourceUserIdentifierInformation UserIdentifierInformation OPTIONAL, -- sourceAddress
- sourceEndpointType EndpointType, -- sourceInfo
- destinationUserIdentifierInformation UserIdentifierInformation OPTIONAL, -- destinationAddress
- destinationCallSignallingAddress TransportAddress OPTIONAL, -- destCallSignalAddress
- destinationExtraUserIdentifierInformation UserIdentifierInformation OPTIONAL, -- destExtraCallInfo
- destinationExtraCallReference SEQUENCE OF CallReference OPTIONAL, -- destExtraCRV
- activeMC BOOLEAN,
- conferenceIdentifier ConferenceIdentifier, -- conferenceID
- conferenceGoal ConferenceGoal,
- callServices CallServices OPTIONAL,
- callType CallType,
- ...
-}
-
-
--- ---------------------------------
---
--- StateOfEquipment
---
--- @prop dataType
--- @descr States the state of the equipment.
--- @
---
--- ---------------------------------
-
-StateOfEquipment ::= CHOICE
-{
- blocked NULL, -- Equipment is blocked
- busy NULL, -- Equipment is busy, no more calls possible for moment
- available NULL, -- Equipment has reported itself as present and is ready for actions
- unregistered NULL, -- Equipment is not present
- ...
-}
-
-
-
--- ---------------------------------
---
--- StateOfUser
---
--- @prop dataType
--- @descr This parameter specifies the state of the user.
--- @
--- ---------------------------------
-
-StateOfUser ::= CHOICE
-{
- absent NULL,
- present NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- StatusOfService
---
--- @prop dataType
--- @descr States the state of the service.
--- @
---
--- ---------------------------------
-
-StatusOfService ::= CHOICE
-{
- acknowledge NULL,
- active NULL,
- initiatied NULL,
- ...
-}
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- Subaddress ::= SEQUENCE
- {
- type SubaddressType,
- indicator BOOLEAN,
- address SubaddressInformation,
- ...
- }
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- SubaddressInformation ::= OCTET STRING (SIZE(1..23))
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- SubaddressType ::= CHOICE
- {
- nsap NULL,
- user NULL,
- ...
- }
-
--- ---------------------------------
---
--- SupportedProtocols
---
--- @prop dataType
--- @descr Gives detailed information about protocols that are
--- supported by the stated endpoint.
--- @
--- ---------------------------------
-
-SupportedProtocols ::= CHOICE
-{
- nonStandardData NonStandardParameter,
- h310 H310Information,
- h320 H320Information,
- h321 H321Information,
- h322 H322Information,
- h323 H323Information,
- h324 H324Information,
- voice VoiceInformation,
- t120Only T120Information,
- ...
-}
-
-
--- ---------------------------------
---
--- T120Information
---
--- @prop dataType
--- @descr Gives detailed information about the standard protocol T.120
--- @
--- ---------------------------------
-
-T120Information ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- TerminalInformation
--- @prop dataType
---
--- @
---
--- ---------------------------------
-
-TerminalInformation ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- TerminationInitiatior
---
--- @prop dataType
--- @descr States who initiated the termination.
--- @
---
--- ---------------------------------
-
-TerminationInitiatior ::= CHOICE
-{
- endpoint NULL,
- serviceNode NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TimeSlot
---
--- @prop dataType
--- @descr This parameter contains the identity of the time slot used
--- for the connection.
--- @
---
--- ---------------------------------
-
-TimeSlot ::= INTEGER
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- TransferCapability ::= CHOICE
- {
- speech NULL,
- unrestrictedDigital NULL,
- restrictedDigital NULL,
- audio3point1kHz NULL,
- unrestrictedWithTonesAndAnnouncements NULL,
- video NULL,
- ...
- }
-
--- @prop dataType
--- @descr Origin: Q931
--- @
-
- TransferRate ::= CHOICE
- {
- packedMode NULL,
- r64kbps NULL,
- r2x64kbps NULL,
- r384kbps NULL,
- r1536kbps NULL,
- r1920kbps NULL,
- multirate NULL,
- ...
- }
-
--- ---------------------------------
---
--- TransportAddress
---
--- @prop dataType
--- @descr The transport address.
--- @
---
--- ---------------------------------
-
-TransportAddress ::= CHOICE
-{
- ipV4Address SEQUENCE
- {
- ip OCTET STRING ( SIZE (4) ),
- port INTEGER ( 0..65535 )
- },
-
- ipV6Address SEQUENCE
- {
- ip OCTET STRING ( SIZE (16) ),
- port INTEGER ( 0..65535 ),
- ...
- },
- ...
-}
-
-
--- ---------------------------------
---
--- TransportAddressInformation
---
--- @prop dataType
--- @descr sequence of TransportAdress
--- @
--- ---------------------------------
-
-TransportAddressInformation ::= SEQUENCE OF TransportAddress
-
-
--- ---------------------------------
---
--- TransportChannelInformation
---
--- @prop dataType
--- @
---
--- ---------------------------------
-
-TransportChannelInformation ::= SEQUENCE
-{
- sendAddress TransportAddress OPTIONAL,
- recvAddress TransportAddress OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- TypeOfEquipment
---
--- @prop dataType
--- @descr Type of equipment.
--- @
---
--- ---------------------------------
-
-TypeOfEquipment ::= CHOICE
-{
- cordlessTerminal NULL,
- h323Terminal NULL,
- h323Gateway NULL,
- isdnTerminal NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TypeOfFlowControl
---
--- @prop dataType
--- @descr This parameter specifies the type of flow control used in the LAN.
--- @
---
--- ---------------------------------
-
-TypeOfFlowControl ::= CHOICE
-{
- isa NULL,
- priorityOutputRouting NULL,
- other NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TypeOfLAN
---
--- @prop dataType
--- @descr This parameter specifies the type of LAN.
--- @
---
--- ---------------------------------
-
-TypeOfLAN ::= CHOICE
-{
- ethernet NULL,
- tokenRing NULL,
- other NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TypeOfRegistration
---
--- @prop dataType
--- @descr Type of service.
--- @
---
--- ---------------------------------
-
-TypeOfRegistration ::= CHOICE
-{
- changeOfUser NULL,
- noChangeOfUser NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TypeOfService
---
--- @prop dataType
--- @descr Type of service.
--- @
---
--- ---------------------------------
-
-TypeOfService ::= CHOICE
-{
- basicCall NULL,
- endpointRegistration NULL,
- endpointUnregistration NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- TypeOfUser
---
--- @prop dataType
--- @descr Type of user.
--- @
---
--- ---------------------------------
-
-TypeOfUser ::= CHOICE
-{
- human NULL,
- network NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UnknownMessageResponse
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-UnknownMessageResponse ::= SEQUENCE
-{
- requestSeqNum RequestSeqNum,
- ...
-}
-
--- ---------------------------------
---
--- UnregistrationRejectReason
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-UnregistrationRejectReason ::= CHOICE
-{
- notCurrentlyRegistered NULL,
- callInProgress NULL,
- undefinedReason NULL,
- ...
-}
-
--- ---------------------------------
---
--- UserAllocateResourceRejectReason
---
--- @prop dataType
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-UserAllocateResourceRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- resourceNotAvailable NULL,
- serviceIdentifierExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserAttributeData
---
--- @prop dataType
---
--- @descr This parameter contains an User attribute value.
---
--- @
---
--- ---------------------------------
-
-UserAttributeData ::= CHOICE
-{
- maximumTotalBandwidth Bandwidth,
- maximumBandwidthPerService Bandwidth,
- relationToEquipment SEQUENCE OF RelationToEquipment,
- stateOfUser StateOfUser,
- typeOfUser TypeOfUser,
- userIdentifierInformation SEQUENCE OF UserIdentifier,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserAttributeIdentifier
---
--- @prop dataType
---
--- @descr This parameter contains User attribute identifiers.
---
--- @
---
--- ---------------------------------
-
-UserAttributeIdentifier ::= CHOICE
-{
- maximumTotalBandwidth NULL,
- maximumBandwidthPerService NULL,
- relationToEquipment NULL,
- stateOfUser NULL,
- typeOfUser NULL,
- userIdentifierInformation NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserCreateRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-UserCreateRejectReason ::= CHOICE
-{
- userIdentifierAlreadyExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserDeallocateResourceRejectReason
--- @prop dataType
---
--- @descr Reason for the rejection.
--- @
---
--- ---------------------------------
-
-UserDeallocateResourceRejectReason ::= CHOICE
-{
- resourceNotAllocated NULL,
- serviceIdentifierNotValid NULL,
- userNotExist NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserIdentifier
---
--- @prop dataType
--- @descr The identifier of the User.
--- @
---
--- ---------------------------------
-
-UserIdentifier ::= CHOICE
-{
- e164 E164Identifier,
- h323 BMPString (SIZE (1..256)),
- -- h323 is Basic ISO/IEC 10646-1 (Unicode)
- ...
-}
-
-
--- ---------------------------------
---
--- UserIdentifierInformation
---
--- @prop dataType
--- @descr sequence of UserIdentifier
--- @
---
--- ---------------------------------
-
-UserIdentifierInformation ::= SEQUENCE OF UserIdentifier--
--- Created by :
--- Creation date :
--- Modified by :
--- Modification date :
--- Version :
---
--- @prop dataType
--- @
-
-UserInformation ::= OCTET STRING (SIZE(1..131))
-
-
-
-
--- ---------------------------------
---
--- UserInformationUUIE
---
--- @prop dataType
--- @ --
--- ---------------------------------
-
-UserInformationUUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- ...
-}
-
-
--- ---------------------------------
---
--- UserKey
---
--- @prop dataType
--- @descr Unique key for a certain user.
--- @
--- ---------------------------------
-
-UserKey ::= CHOICE
-{
- relationToUser RelationToUser,
- userIdentifierInformation SEQUENCE OF UserIdentifier,
- ...
-}
-
-
--- ---------------------------------
---
--- UserOrEquipmentRelatedInformation
---
--- @prop dataType
--- @descr This parameter specifies the type of information.
--- @
--- ---------------------------------
-
-UserOrEquipmentRelatedInformation ::= CHOICE
-{
- userRelatedInformation SEQUENCE OF UserRelatedInformation,
- equipmentRelatedInformation SEQUENCE OF EquipmentRelatedInformation,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserOrEquipmentRelatedInformationIdentifier
---
--- @prop dataType
--- @descr This parameter specifies the type of information identifiers.
--- @
--- ---------------------------------
-
-UserOrEquipmentRelatedInformationIdentifier ::= CHOICE
-{
- userRelatedInformationIdentifiers SEQUENCE OF UserRelatedInformationIdentifier,
- equipmentRelatedInformationIdentifiers SEQUENCE OF EquipmentRelatedInformationIdentifier,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserRelatedInformation
---
--- @prop dataType
--- @descr This parameter specifies different types of data
--- that are related to the user.
--- @
---
--- ---------------------------------
-
-UserRelatedInformation ::= CHOICE
-{
- numberOfEquipments INTEGER,
- stateOfUser StateOfUser,
- typeOfUser TypeOfUser,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserRelatedInformationIdentifier
---
---
--- @prop dataType
---
--- @descr This parameter specifies different types of data
--- that are specific to a certain user.
---
--- @
--- ---------------------------------
-
-UserRelatedInformationIdentifier ::= CHOICE
-{
- numberOfEquipments NULL,
- stateOfUser NULL,
- typeOfUser NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserRemoveRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-UserRemoveRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- serviceInProgress NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserSetRejectReason
---
--- @prop dataType
---
--- @descr This parameter states the reason for the rejection.
---
--- @
---
--- ---------------------------------
-
-UserSetRejectReason ::= CHOICE
-{
- keyNotValid NULL,
- undefined NULL,
- ...
-}
-
-
-
--- ---------------------------------
---
--- UserSpecificInformation
---
--- @descr This parameter specifies different types of data
--- that are specific to the user.
--- @
---
--- ---------------------------------
-
-UserSpecificInformation ::= CHOICE
-{
- userRelatedInformation SEQUENCE OF UserRelatedInformation,
- equipmentRelatedInformation SEQUENCE OF EquipmentRelatedInformation,
- ...
-}
-
-
-
--- ---------------------------------
---
--- VendorIdentifier
---
--- @prop dataType
--- @
---
--- ---------------------------------
-
-VendorIdentifier ::= SEQUENCE
-{
- vendor H221NonStandard,
- productId OCTET STRING (SIZE(1..256)) OPTIONAL,
- versionId OCTET STRING (SIZE(1..256)) OPTIONAL,
- ...
-}
-
-
--- ---------------------------------
---
--- VoiceInformation
---
--- @prop dataType
--- @descr
--- @
---
--- ---------------------------------
-
-VoiceInformation ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Constraints.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Constraints.py
deleted file mode 100644
index b18c29bd89..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Constraints.py
+++ /dev/null
@@ -1,84 +0,0 @@
-Constraints DEFINITIONS ::=
-BEGIN
-
--- Single Value
-SingleValue ::= INTEGER (1)
-SingleValue2 ::= INTEGER (1..20)
-Range2to19 ::= INTEGER (1<..<20)
-Range10to20 ::= INTEGER (10..20)
-ContainedSubtype ::= INTEGER (INCLUDES Range10to20)
-FixedSize ::= OCTET STRING (SIZE(10))
-FixedSize2 ::= OCTET STRING (SIZE(10|20))
-VariableSize ::= OCTET STRING (SIZE(1..10))
-PemittedAlphabet ::= PrintableString (FROM ("a"|"yx"))
-AliasAddress ::=CHOICE
-{
- e164 IA5String (SIZE (1..128) ^ FROM ("0123456789#*,")),
- h323-ID BMPString (SIZE (1..256)),
- ...
-}
-Obj ::= OBJECT IDENTIFIER
-
-
--- OTP-4559: a referenced type that has a permitted alphabet constraint
--- Example from H323-MESSAGES ver (11/2000)
-TBCD-STRING ::= IA5String (FROM ("0123456789#*abc"))
-
-ANSI-41-UIM ::= SEQUENCE {
- imsi [0] TBCD-STRING(SIZE (3..16)) OPTIONAL,
- esn [1] TBCD-STRING(SIZE (16)) OPTIONAL
-}
-
--- OTP-4869: a BIT STRING constrained by SIZE(C) was encoded wrong
--- when C was larger than 16. There was also an error when encodeing
--- in compact_bit_string mode.
-
-IP ::= SEQUENCE {
- perm SEQUENCE OF INTEGER (0..15),
- key BIT STRING (SIZE (128)),
- bool BOOLEAN OPTIONAL
-}
-
--- add for OTP-3558 and OTP-4917
-Day ::= ENUMERATED{monday(0),tuesday(1),wednesday(2),thursday(3),friday(4),saturday(5),sunday(6)}
-
-Wednesday ::= Day(wednesday)
-
-
-Thing ::= INTEGER {fred (0),fred2 (1),fred3 (2)}
-
-
-AnotherThing ::= Thing (fred | fred2)
-
-I ::= INTEGER (0|15..269) -- OTP-5457
-
--- OTP-5511
-
-maxNrOfCellPortionsPerCell-1 INTEGER ::= 35
-CellPortionID ::= INTEGER (0..maxNrOfCellPortionsPerCell-1,...)
-
--- OTP-6763
-T ::= IA5String (SIZE (1|2, ..., SIZE (1|2|3))) -- Dubuisson 268
-T2 ::= IA5String (SIZE (1|2, ..., 3)) -- equal with T
-
--- OTP-8046
-DateAndTime ::= VisibleString (PATTERN "\d#2/\d#2/\d#4-\d#2:\d#2")
--- DD/MM/YYYY-HH:MM
-
-
--- OTP-6828
-HandoverCommand-r8-IEs ::= SEQUENCE {
- handoverCommandMessage OCTET STRING (CONTAINING MyType),
- ...
-}
-
-MoreCompact ::= OCTET STRING (CONTAINING MyType ENCODED BY {joint-iso-itu-t asn1 packed-encoding(3) basic(0) unaligned(1)})
-
-MyType ::= SEQUENCE {a INTEGER, b INTEGER}
-
-Document ::= OCTET STRING (ENCODED BY pdf)
-
-pdf OBJECT IDENTIFIER ::= {1,2,3,4,5}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Constructed.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Constructed.asn
deleted file mode 100644
index 09a66d0c0d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Constructed.asn
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-Constructed DEFINITIONS ::=
-BEGIN
-
-S ::= [UNIVERSAL 8] IMPLICIT SEQUENCE {
- b BOOLEAN
- }
-
-I ::= [8] IMPLICIT INTEGER
-
-S2 ::= [UNIVERSAL 8] SEQUENCE { b BOOLEAN}
-
-C ::= CHOICE {
- a S,
- b S3
-}
-
-S3 ::= SEQUENCE {i INTEGER}
-
-S3ext ::= SEQUENCE {i INTEGER, ...}
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ContextSwitchingTypes.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ContextSwitchingTypes.asn1
deleted file mode 100644
index c8145bad63..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ContextSwitchingTypes.asn1
+++ /dev/null
@@ -1,53 +0,0 @@
-ContextSwitchingTypes DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- EXTERNAL type
-
-T ::= EXTERNAL
-
-Seq ::= SEQUENCE {
- a INTEGER,
- b T
-}
-
-int INTEGER ::= 12
-
-val1-T T ::= {indirect-reference int, encoding octet-aligned:'123'H}
-
-val2-T T ::= {identification syntax:{1 2 3}, data-value '123'H}
-
-val3-T T ::= {identification context-negotiation:{presentation-context-id 12,
- transfer-syntax {1 2 3}},
- data-value '123'H}
-
--- EMBEDDED PDV type
-
-EP ::= EMBEDDED PDV
-
-Seq2 ::= SEQUENCE {
- a BOOLEAN,
- b EP
-}
-
-val1-EP EP ::= {identification syntaxes:{abstract {1 2 3 4},
- transfer {1 2 3 5}},
- data-value '12345'H}
-
-val2-EP EP ::= {identification syntax:{1 2 3}, data-value '123'H}
-
--- CHARACTER STRING type and value
-
-CS ::= CHARACTER STRING
-
-Seq3 ::= SEQUENCE {
- a INTEGER,
- b CS
-}
-
-val1-CS CS ::= {identification syntaxes:{abstract {1 2 3 4},
- transfer {1 2 3 5}},
- string-value '12345'H}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/DERSpec.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/DERSpec.asn
deleted file mode 100644
index 93e6180d42..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/DERSpec.asn
+++ /dev/null
@@ -1,38 +0,0 @@
-DERSpec DEFINITIONS ::=
-
-BEGIN
-
-Seq ::= SEQUENCE {
- int [1] INTEGER,
- choice C,
- bool BOOLEAN
-}
-
-C ::= CHOICE {
- version INTEGER,
- message PrintableString
-}
-
-Set ::= SET {
- int [1] INTEGER,
- choice C,
- bool BOOLEAN
-}
-
-
-SetOf ::= SET OF C
-
--- This type compiled with ber_bin, optimize, der
--- will test the fix in OTP-4866
-Set2 ::= SET {
- int INTEGER,
- bool BOOLEAN}
-
--- OTP-5602
-SO ::= SEQUENCE OF Seq2
-
-Seq2 ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN}
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/DS-EquipmentUser-CommonFunctionOrig-TransmissionPath.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/DS-EquipmentUser-CommonFunctionOrig-TransmissionPath.py
deleted file mode 100644
index a17fb001d3..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/DS-EquipmentUser-CommonFunctionOrig-TransmissionPath.py
+++ /dev/null
@@ -1,150 +0,0 @@
-DS-EquipmentUser-CommonFunctionOrig-TransmissionPath DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-IMPORTS AllocateTransmissionPathRejectReason,
- Bandwidth,
- BandwidthReducedInformation,
- CallType,
- ConnectionIdentifier,
- ConnectionInformation,
- ConnectTransmissionPathRejectReason,
- DeallocateTransmissionPathRejectReason,
- DisconnectTransmissionPathRejectReason,
- RelationToUser,
- UserIdentifier FROM CommonDataTypes ;
-
-EquipmentUserCommonFunctionOrigTransmissionPathMessages ::= CHOICE
-{
- allocateTransmissionPathEU AllocateTransmissionPathEU,
- allocateTransmissionPathConfirmedUE AllocateTransmissionPathConfirmedUE, -- Reply
- allocateTransmissionPathRejectedUE AllocateTransmissionPathRejectedUE, -- Reply
- connectTransmissionPathEU ConnectTransmissionPathEU,
- connectTransmissionPathConfirmedUE ConnectTransmissionPathConfirmedUE, -- Reply
- connectTransmissionPathRejectedUE ConnectTransmissionPathRejectedUE, -- Reply
- deallocateTransmissionPathEU DeallocateTransmissionPathEU,
- deallocateTransmissionPathConfirmedUE DeallocateTransmissionPathConfirmedUE, -- Reply
- deallocateTransmissionPathRejectedUE DeallocateTransmissionPathRejectedUE, -- Reply
- disconnectTransmissionPathEU DisconnectTransmissionPathEU,
- disconnectTransmissionPathConfirmedUE DisconnectTransmissionPathConfirmedUE, -- Reply
- disconnectTransmissionPathRejectedUE DisconnectTransmissionPathRejectedUE, -- Reply
- ...
-}
-
-
-
--- ----------------------------------
---
--- Allocate transmission path
---
---
--- ----------------------------------
-
-AllocateTransmissionPathEU ::= SEQUENCE
-{
- callType CallType,
- bandwidth Bandwidth,
- destinationUserIdentifiers SEQUENCE OF UserIdentifier,
- sourceConnectionInformation ConnectionInformation,
- relationToSourceUser RelationToUser,
- ...
-}
-
-
---
--- @param bandwidthReducedInformation Mandatory if bandwidth has been reduced.
---
---
-
-AllocateTransmissionPathConfirmedUE ::= SEQUENCE
-{
- connectionIdentifier ConnectionIdentifier,
- bandwidthReducedInformation BandwidthReducedInformation OPTIONAL,
- ...
-}
-
-
-AllocateTransmissionPathRejectedUE ::= SEQUENCE
-{
- allocateTransmissionPathRejectReason AllocateTransmissionPathRejectReason,
- ...
-}
-
-
--- ----------------------------------
---
--- Connect transmission path
---
--- ----------------------------------
-
-ConnectTransmissionPathEU ::= SEQUENCE
-{
- connectionIdentifier ConnectionIdentifier,
- ...
-}
-
-ConnectTransmissionPathConfirmedUE ::= SEQUENCE
-{
- ...
-}
-
-
-ConnectTransmissionPathRejectedUE ::= SEQUENCE
-{
- connectTransmissionPathRejectReason ConnectTransmissionPathRejectReason,
- ...
-}
-
-
--- ----------------------------------
---
--- Deallocate transmission path
---
--- ----------------------------------
-
-DeallocateTransmissionPathEU ::= SEQUENCE
-{
- connectionIdentifier ConnectionIdentifier,
- ...
-}
-
-
-DeallocateTransmissionPathConfirmedUE ::= SEQUENCE
-{
- ...
-}
-
-
-DeallocateTransmissionPathRejectedUE ::= SEQUENCE
-{
- deallocateTransmissionPathRejectReason DeallocateTransmissionPathRejectReason,
- ...
-}
-
-
--- ----------------------------------
---
--- Disconnect transmission path
---
--- ----------------------------------
-
-DisconnectTransmissionPathEU ::= SEQUENCE
-{
- connectionIdentifier ConnectionIdentifier,
- ...
-}
-
-
-DisconnectTransmissionPathConfirmedUE ::= SEQUENCE
-{
- ...
-}
-
-
-DisconnectTransmissionPathRejectedUE ::= SEQUENCE
-{
- disconnectTransmissionPathRejectReason DisconnectTransmissionPathRejectReason,
- ...
-}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Def.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/Def.asn1
deleted file mode 100644
index 8dd5b383e3..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Def.asn1
+++ /dev/null
@@ -1,31 +0,0 @@
-Def DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Def1 ::= SEQUENCE
-{
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN DEFAULT FALSE,
- bool2 [2] BOOLEAN DEFAULT FALSE,
- bool3 [3] BOOLEAN DEFAULT FALSE
-}
-
-
-Def2 ::= SEQUENCE
-{
- bool10 [10] BOOLEAN,
- bool11 [11] BOOLEAN DEFAULT FALSE,
- bool12 [12] BOOLEAN DEFAULT FALSE,
- bool13 [13] BOOLEAN
-}
-
-
-Def3 ::= SEQUENCE
-{
- bool30 [30] BOOLEAN DEFAULT FALSE,
- bool31 [31] BOOLEAN DEFAULT FALSE,
- bool32 [32] BOOLEAN DEFAULT FALSE,
- bool33 [33] BOOLEAN DEFAULT FALSE
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Def.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Def.py
deleted file mode 100644
index ff08ed6386..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Def.py
+++ /dev/null
@@ -1,31 +0,0 @@
-Def DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Def1 ::= SEQUENCE
-{
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN DEFAULT false,
- bool2 [2] BOOLEAN DEFAULT false,
- bool3 [3] BOOLEAN DEFAULT false
-}
-
-
-Def2 ::= SEQUENCE
-{
- bool10 [10] BOOLEAN,
- bool11 [11] BOOLEAN DEFAULT false,
- bool12 [12] BOOLEAN DEFAULT false,
- bool13 [13] BOOLEAN
-}
-
-
-Def3 ::= SEQUENCE
-{
- bool30 [30] BOOLEAN DEFAULT false,
- bool31 [31] BOOLEAN DEFAULT false,
- bool32 [32] BOOLEAN DEFAULT false,
- bool33 [33] BOOLEAN DEFAULT false
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Default.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Default.asn
deleted file mode 100644
index 6604953c1f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Default.asn
+++ /dev/null
@@ -1,158 +0,0 @@
-Default DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-SeqInts ::= SEQUENCE {
- a INTEGER DEFAULT 1,
- b INTEGER DEFAULT -1,
- c INTEGER {one(1),two(2),three(3)} DEFAULT three,
- d INTEGER DEFAULT one
-}
-
-SetInts ::= SET {
- a INTEGER DEFAULT 1,
- b INTEGER DEFAULT -1,
- c INTEGER {one(1),two(2),three(3)} DEFAULT three,
- d INTEGER DEFAULT one
-}
-
-
-SeqBS ::= SEQUENCE {
- a BIT STRING DEFAULT '1010110'B,
- b BIT STRING DEFAULT 'A8A'H,
- c BIT STRING {first(0),second(1),third(2)} DEFAULT {second},
- d BIT STRING DEFAULT onelist
-}
-
-SetBS ::= SET {
- a BIT STRING DEFAULT '1010110'B,
- b BIT STRING DEFAULT 'A8A'H,
- c BIT STRING {first(0),second(1),third(2)} DEFAULT {second},
- d BIT STRING DEFAULT onelist
-}
-
-onelist BIT STRING ::= '1001'B
-
-SeqOS ::= SEQUENCE {
- a OCTET STRING DEFAULT '1010110'B,
- b OCTET STRING DEFAULT 'A8A'H,
- c NULL DEFAULT NULL
-}
-
-SetOS ::= SET {
- a OCTET STRING DEFAULT '1010110'B,
- b OCTET STRING DEFAULT 'A8A'H,
- c NULL DEFAULT NULL
-}
-
-E ::= ENUMERATED {b1,b2,b3}
-
-SeqOI ::= SEQUENCE {
- a OBJECT IDENTIFIER DEFAULT {1 2 14 15},
- b OBJECT IDENTIFIER DEFAULT {iso member-body f(250) 3 4},
- c OBJECT IDENTIFIER DEFAULT {ftam 2 f(250) 4}--,
-}
-
-SetOI ::= SET {
- a OBJECT IDENTIFIER DEFAULT {1 2 14 15},
- b OBJECT IDENTIFIER DEFAULT {iso member-body f(250) 3 4},
- c OBJECT IDENTIFIER DEFAULT {ftam 2 f(250) 4}--,
-}
-
-SeqEnum ::= SEQUENCE {
- a ENUMERATED {b1,b2,b3,b4,b5} DEFAULT b4,
- b F DEFAULT b2
-}
-
-SetEnum ::= SET {
- a ENUMERATED {b1,b2,b3,b4,b5} DEFAULT b4,
- b F DEFAULT b2
-}
-
-ftam OBJECT IDENTIFIER ::= {iso standard 8571}
-
-F ::= E
-
-SeqIntBool ::= SEQUENCE {
- a SEQUENCE{
- aa INTEGER,
- ab INTEGER} DEFAULT {aa 12, ab 13},
- b S2 DEFAULT {a 14, b TRUE},
- c S2 DEFAULT s
-}
-
-SetIntBool ::= SET {
- a SET{
- aa INTEGER,
- ab INTEGER} DEFAULT {aa 12, ab 13},
- b S2 DEFAULT {a 14, b TRUE},
- c S2 DEFAULT s
-}
-
-SeqStrings ::= SEQUENCE {
- a NumericString DEFAULT "123456789",
- b1 IA5String DEFAULT "abcdef",
- b2 IA5String DEFAULT {0,13},
- b3 IA5String DEFAULT {"First line",cr,"Second line"},
- c PrintableString DEFAULT "Printable string",
- d UniversalString DEFAULT {0,0,1,14}
-}
-
-SetStrings ::= SET {
- a NumericString DEFAULT "123456789",
- b1 IA5String DEFAULT "abcdef",
- b2 IA5String DEFAULT {0,13},
- b3 IA5String DEFAULT {"First line",cr,"Second line"},
- c PrintableString DEFAULT "Printable string",
- d UniversalString DEFAULT {0,0,1,14}
-}
-
-S1 ::= SEQUENCE {
- a SEQUENCE {aa INTEGER, ab S2} DEFAULT {aa 1, ab {a two, b TRUE}},
- b S4 DEFAULT s4
-}
-
-S2 ::= SEQUENCE {
- a INTEGER DEFAULT one,
- b BOOLEAN OPTIONAL
-}
-
-S3 ::= SEQUENCE {
- a SEQUENCE OF INTEGER DEFAULT {11,12,13},
- b SEQUENCE OF C DEFAULT {a:11,b:TRUE,c:13},
- c SO DEFAULT so,
- d SEQUENCE OF S2 DEFAULT {{a 20,b TRUE},{a 30, b FALSE}}
-}
-
-S3set ::= SET {
- a SET OF CHOICE {a BOOLEAN,b INTEGER,c S2} DEFAULT {c:{a 3,b TRUE},b:17,a:FALSE},
- b SO DEFAULT so
-}
-
-S4 ::= SEQUENCE {
- a S2 DEFAULT {},
- b SEQUENCE {ba BOOLEAN,bb INTEGER} DEFAULT {ba TRUE,bb 0}
-}
-
-s4 S4 ::= {a {a 2,b TRUE}, b {ba TRUE, bb 5}}
-
-C ::= CHOICE{
- a INTEGER,
- b BOOLEAN,
- c INTEGER
-}
-
-SO ::= SEQUENCE OF INTEGER
-
-so SEQUENCE OF INTEGER ::= {1,2,3,4}
-
-s S2 ::= {a 15,b FALSE}
-
-one INTEGER ::= 1
-two INTEGER ::= 2
-three INTEGER ::= 3
-four INTEGER ::= 4
-
-cr IA5String ::= {0,13}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/DirectoryAbstractService.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/DirectoryAbstractService.asn
deleted file mode 100755
index 5a5d310729..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/DirectoryAbstractService.asn
+++ /dev/null
@@ -1,710 +0,0 @@
--- Module DirectoryAbstractService (X.511:08/1997)
-DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
- directoryAbstractService(2) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, distributedOperations, authenticationFramework,
- dap, directoryShadowAbstractService, basicAccessControl, enhancedSecurity,
- id-at
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- AttributeTypeAndValue
- FROM BasicAccessControl basicAccessControl
- AgreementID
- FROM DirectoryShadowAbstractService directoryShadowAbstractService
- Attribute, AttributeType, AttributeValue, AttributeValueAssertion,
- DistinguishedName, Name, RelativeDistinguishedName, SupportedAttributes,
- ATTRIBUTE, MATCHING-RULE, ContextAssertion, AttributeTypeAssertion,
- OBJECT-CLASS, RelaxationPolicy
- FROM InformationFramework informationFramework
- OperationProgress, ReferenceType, Exclusions, AccessPoint,
- ContinuationReference
- FROM DistributedOperations distributedOperations
- CertificationPath, SIGNED{}, SIGNATURE{}, ENCRYPTED{}, AlgorithmIdentifier,
- AttributeCertificationPath
- FROM AuthenticationFramework authenticationFramework
- OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
- FROM EnhancedSecurity enhancedSecurity
- id-opcode-read, id-opcode-compare, id-opcode-abandon, id-opcode-list,
- id-opcode-search, id-opcode-addEntry, id-opcode-removeEntry,
- id-opcode-modifyEntry, id-opcode-modifyDN, id-errcode-abandoned,
- id-errcode-abandonFailed, id-errcode-attributeError, id-errcode-nameError,
- id-errcode-referral, id-errcode-securityError, id-errcode-serviceError,
- id-errcode-updateError
- FROM DirectoryAccessProtocol dap
- OPERATION, ERROR, Code
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- --PROTECTED
- -- FROM Notation { joint-iso-itu-t genericULS (20) modules (1) notation (1) }
- SPKM-REQ, SPKM-REP-TI, SPKM-ERROR
- FROM SpkmGssTokens {iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) spkm(1) spkmGssTokens(10)};
-
--- Common data types
--- Parameterized type for representing optional signing
-OPTIONALLY-SIGNED{Type} ::= CHOICE {unsigned Type,
- signed SIGNED{Type}
-}
-
-CommonArguments ::= SET {
- serviceControls [30] ServiceControls DEFAULT {},
- securityParameters [29] SecurityParameters OPTIONAL,
- requestor [28] DistinguishedName OPTIONAL,
- operationProgress
- [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
- aliasedRDNs [26] INTEGER OPTIONAL,
- criticalExtensions [25] BIT STRING OPTIONAL,
- referenceType [24] ReferenceType OPTIONAL,
- entryOnly [23] BOOLEAN DEFAULT TRUE,
- nameResolveOnMaste [21] BOOLEAN DEFAULT FALSE,
- operationContexts [20] ContextSelection OPTIONAL,
- familyGrouping [19] FamilyGrouping DEFAULT entryOnly
-}
-
-FamilyGrouping ::= ENUMERATED {
- entryOnly(1), compoundEntry(2), strands(3), multiStrand(4)}
-
-CommonResults ::= SET {
- securityParameters [30] SecurityParameters OPTIONAL,
- performer [29] DistinguishedName OPTIONAL,
- aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
- notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
-}
-
-CommonResultsSeq ::= SEQUENCE {
- securityParameters [30] SecurityParameters OPTIONAL,
- performer [29] DistinguishedName OPTIONAL,
- aliasDereferenced [28] BOOLEAN DEFAULT FALSE
-}
-
-ServiceControls ::= SET {
- options [0] ServiceControlOptions DEFAULT {},
- priority [1] INTEGER {low(0), medium(1), high(2)} DEFAULT medium,
- timeLimit [2] INTEGER OPTIONAL,
- sizeLimit [3] INTEGER OPTIONAL,
- scopeOfReferral [4] INTEGER {dmd(0), country(1)} OPTIONAL,
- attributeSizeLimit [5] INTEGER OPTIONAL,
- manageDSAITPlaneRef
- [6] SEQUENCE {dsaName Name,
- agreementID AgreementID} OPTIONAL,
- serviceType [7] OBJECT IDENTIFIER OPTIONAL,
- userClass [8] INTEGER OPTIONAL
-}
-
-ServiceControlOptions ::= BIT STRING {
- preferChaining(0), chainingProhibited(1), localScope(2), dontUseCopy(3),
- dontDereferenceAliases(4), subentries(5), copyShallDo(6),
- partialNameResolution(7), manageDSAIT(8), noSubtypeMatch(9),
- noSubtypeSelection(10), countFamily(11)}
-
-EntryInformationSelection ::= SET {
- attributes
- CHOICE {allUserAttributes [0] NULL,
- select [1] SET OF AttributeType
- -- empty set implies no attributes are requested
- } DEFAULT allUserAttributes:NULL,
- infoTypes
- [2] INTEGER {attributeTypesOnly(0), attributeTypesAndValues(1)}
- DEFAULT attributeTypesAndValues,
- extraAttributes
- CHOICE {allOperationalAttributes [3] NULL,
- select [4] SET OF AttributeType} OPTIONAL,
- contextSelection ContextSelection OPTIONAL,
- returnContexts BOOLEAN DEFAULT FALSE,
- familyReturn FamilyReturn DEFAULT {memberSelect contributingEntriesOnly}
-}
-
-ContextSelection ::= CHOICE {
- allContexts NULL,
- selectedContexts SET OF TypeAndContextAssertion
-}
-
-TypeAndContextAssertion ::= SEQUENCE {
- type AttributeType,
- contextAssertions
- CHOICE {preference SEQUENCE OF ContextAssertion,
- all SET OF ContextAssertion}
-}
-
-FamilyReturn ::= SEQUENCE {
- memberSelect
- ENUMERATED {contributingEntriesOnly(1), participatingEntriesOnly(2),
- compoundEntry(3)},
- familySelect SEQUENCE SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL
-}
-
-family-information ATTRIBUTE ::= {
- WITH SYNTAX FamilyEntries
- USAGE directoryOperation
- ID id-at-family-information
-}
-
-FamilyEntries ::= SEQUENCE {
- family-class OBJECT-CLASS.&id, -- structural object class value
- familyEntries SEQUENCE OF FamilyEntry
-}
-
-FamilyEntry ::= SEQUENCE {
- rdn RelativeDistinguishedName,
- information
- SEQUENCE OF CHOICE {attributeType AttributeType,
- attribute Attribute},
- family-info SEQUENCE SIZE (1..MAX) OF FamilyEntries OPTIONAL
-}
-
-EntryInformation ::= SEQUENCE {
- name Name,
- fromEntry BOOLEAN DEFAULT TRUE,
- information
- SET SIZE (1..MAX) OF
- CHOICE {attributeType AttributeType,
- attribute Attribute} OPTIONAL,
- incompleteEntry [3] BOOLEAN DEFAULT FALSE, -- not in 1988-edition systems
- partialNameResolution
- [4] BOOLEAN DEFAULT FALSE -- not in 1988 or 1993 edition systems --
-}
-
-Filter ::= CHOICE {
- item [0] FilterItem,
- and [1] SET OF Filter,
- or [2] SET OF Filter,
- not [3] Filter
-}
-
-FilterItem ::= CHOICE {
- equality [0] AttributeValueAssertion,
- substrings
- [1] SEQUENCE {type ATTRIBUTE.&id({SupportedAttributes}),
- strings
- SEQUENCE OF
- CHOICE {initial
- [0] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- any
- [1] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- final
- [2] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- control Attribute -- Used to specify interpretation of following items
- }},
- greaterOrEqual [2] AttributeValueAssertion,
- lessOrEqual [3] AttributeValueAssertion,
- present [4] AttributeType,
- approximateMatch [5] AttributeValueAssertion,
- extensibleMatch [6] MatchingRuleAssertion,
- contextPresent [7] AttributeTypeAssertion
-}
-
-MatchingRuleAssertion ::= SEQUENCE {
- matchingRule [1] SET SIZE (1..MAX) OF MATCHING-RULE.&id,
- type [2] AttributeType OPTIONAL,
- matchValue
- [3] MATCHING-RULE.&AssertionType
- (CONSTRAINED BY {
- -- matchValue must be a value of type specified by the &AssertionType field of
- -- one of the MATCHING-RULE information objects identified by matchingRule -- }),
- dnAttributes [4] BOOLEAN DEFAULT FALSE
-}
-
-PagedResultsRequest ::= CHOICE {
- newRequest
- SEQUENCE {pageSize INTEGER,
- sortKeys SEQUENCE SIZE (1..MAX) OF SortKey OPTIONAL,
- reverse [1] BOOLEAN DEFAULT FALSE,
- unmerged [2] BOOLEAN DEFAULT FALSE},
- queryReference OCTET STRING
-}
-
-SortKey ::= SEQUENCE {
- type AttributeType,
- orderingRule MATCHING-RULE.&id OPTIONAL
-}
-
-SecurityParameters ::= SET {
- certification-path [0] CertificationPath OPTIONAL,
- name [1] DistinguishedName OPTIONAL,
- time [2] Time OPTIONAL,
- random [3] BIT STRING OPTIONAL,
- target [4] ProtectionRequest OPTIONAL,
- response [5] BIT STRING OPTIONAL,
- operationCode [6] Code OPTIONAL,
- attributeCertificationPath [7] AttributeCertificationPath OPTIONAL,
- errorProtection [8] ErrorProtectionRequest OPTIONAL,
- errorCode [9] Code OPTIONAL
-}
-
-ProtectionRequest ::= INTEGER {
- none(0), signed(1), encrypted(2), signed-encrypted(3)}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-ErrorProtectionRequest ::= INTEGER {
- none(0), signed(1), encrypted(2), signed-encrypted(3)}
-
--- Bind and unbind operations
-directoryBind OPERATION ::= {
- ARGUMENT DirectoryBindArgument
- RESULT DirectoryBindResult
- ERRORS {directoryBindError}
-}
-
-DirectoryBindArgument ::= SET {
- credentials [0] Credentials OPTIONAL,
- versions [1] Versions DEFAULT {v1}
-}
-
-Credentials ::= CHOICE {
- simple [0] SimpleCredentials,
- strong [1] StrongCredentials,
- externalProcedure [2] EXTERNAL,
- spkm [3] SpkmCredentials
-}
-
-SimpleCredentials ::= SEQUENCE {
- name [0] DistinguishedName,
- validity
- [1] SET {time1 [0] CHOICE {utc UTCTime,
- gt GeneralizedTime} OPTIONAL,
- time2 [1] CHOICE {utc UTCTime,
- gt GeneralizedTime} OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL},
- password
- [2] CHOICE {unprotected OCTET STRING,
- protected SIGNATURE{OCTET STRING}} OPTIONAL
-}
-
-StrongCredentials ::= SET {
- certification-path [0] CertificationPath OPTIONAL,
- bind-token [1] Token,
- name [2] DistinguishedName OPTIONAL,
- attributeCertificationPath [3] AttributeCertificationPath OPTIONAL
-}
-
-SpkmCredentials ::= CHOICE {req [0] SPKM-REQ,
- rep [1] SPKM-REP-TI
-}
-
-Token ::=
- SIGNED
- {SEQUENCE {algorithm [0] AlgorithmIdentifier,
- name [1] DistinguishedName,
- time [2] Time,
- random [3] BIT STRING,
- response [4] BIT STRING OPTIONAL,
- bindIntAlgorithm
- [5] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL,
- bindIntKeyInfo [6] BindKeyInfo OPTIONAL,
- bindConfAlgorithm
- [7] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL,
- bindConfKeyInfo [8] BindKeyInfo OPTIONAL}}
-
-Versions ::= BIT STRING {v1(0), v2(1)}
-
-DirectoryBindResult ::= DirectoryBindArgument
-
-directoryBindError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {versions [0] Versions DEFAULT {v1},
- error
- CHOICE {serviceError [1] ServiceProblem,
- securityError [2] SecurityProblem}}}
-}
-
-BindKeyInfo ::= ENCRYPTED{BIT STRING}
-
-directoryUnbind OPERATION ::= emptyUnbind
-
--- Operations, arguments, and results
-read OPERATION ::= {
- ARGUMENT ReadArgument
- RESULT ReadResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-read
-}
-
-ReadArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- selection [1] EntryInformationSelection DEFAULT {},
- modifyRightsRequest [2] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonArguments}}
-
-ReadResult ::=
- OPTIONALLY-PROTECTED
- {SET {entry [0] EntryInformation,
- modifyRights [1] ModifyRights OPTIONAL,
- COMPONENTS OF CommonResults}}
-
-ModifyRights ::=
- SET OF
- SEQUENCE {item
- CHOICE {entry [0] NULL,
- attribute [1] AttributeType,
- value [2] AttributeValueAssertion},
- permission
- [3] BIT STRING {add(0), remove(1), rename(2), move(3)}
- }
-
-compare OPERATION ::= {
- ARGUMENT CompareArgument
- RESULT CompareResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-compare
-}
-
-CompareArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- purported [1] AttributeValueAssertion,
- COMPONENTS OF CommonArguments}}
-
-CompareResult ::=
- OPTIONALLY-PROTECTED
- {SET {name Name OPTIONAL,
- matched [0] BOOLEAN,
- fromEntry [1] BOOLEAN DEFAULT TRUE,
- matchedSubtype [2] AttributeType OPTIONAL,
- COMPONENTS OF CommonResults}}
-
-abandon OPERATION ::= {
- ARGUMENT AbandonArgument
- RESULT AbandonResult
- ERRORS {abandonFailed}
- CODE id-opcode-abandon
-}
-
-AbandonArgument ::=
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID [0] InvokeId}}
-
-AbandonResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID InvokeId,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-list OPERATION ::= {
- ARGUMENT ListArgument
- RESULT ListResult
- ERRORS {nameError | serviceError | referral | abandoned | securityError}
- CODE id-opcode-list
-}
-
-ListArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- pagedResults [1] PagedResultsRequest OPTIONAL,
- listFamily [2] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonArguments}}
-
-ListResult ::=
- OPTIONALLY-PROTECTED
- {CHOICE {listInfo
- SET {name Name OPTIONAL,
- subordinates
- [1] SET OF
- SEQUENCE {rdn RelativeDistinguishedName,
- aliasEntry [0] BOOLEAN DEFAULT FALSE,
- fromEntry [1] BOOLEAN DEFAULT TRUE
- },
- partialOutcomeQualifier
- [2] PartialOutcomeQualifier OPTIONAL,
- COMPONENTS OF CommonResults},
- uncorrelatedListInfo [0] SET OF ListResult}}
-
-PartialOutcomeQualifier ::= SET {
- limitProblem [0] LimitProblem OPTIONAL,
- unexplored
- [1] SET SIZE (1..MAX) OF ContinuationReference OPTIONAL,
- unavailableCriticalExtensions [2] BOOLEAN DEFAULT FALSE,
- unknownErrors
- [3] SET SIZE (1..MAX) OF ABSTRACT-SYNTAX.&Type OPTIONAL,
- queryReference [4] OCTET STRING OPTIONAL,
- overspecFilter [5] Filter OPTIONAL,
- notification
- [6] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL,
- entryCount
- CHOICE {bestEstimate [7] INTEGER,
- lowEstimate [8] INTEGER} OPTIONAL
-}
-
-LimitProblem ::= INTEGER {
- timeLimitExceeded(0), sizeLimitExceeded(1), administrativeLimitExceeded(2)
-}
-
-search OPERATION ::= {
- ARGUMENT SearchArgument
- RESULT SearchResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-search
-}
-
-SearchArgument ::=
- OPTIONALLY-PROTECTED
- {SET {baseObject [0] Name,
- subset
- [1] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)}
- DEFAULT baseObject,
- filter [2] Filter DEFAULT and:{},
- searchAliases [3] BOOLEAN DEFAULT TRUE,
- selection [4] EntryInformationSelection DEFAULT {},
- pagedResults [5] PagedResultsRequest OPTIONAL,
- matchedValuesOnly [6] BOOLEAN DEFAULT FALSE,
- extendedFilter [7] Filter OPTIONAL,
- checkOverspecified [8] BOOLEAN DEFAULT FALSE,
- relaxation [9] RelaxationPolicy OPTIONAL,
- extendedArea [10] INTEGER OPTIONAL,
- hierarchySelections [11] HierarchySelections DEFAULT {self},
- searchControlOptions
- [12] SearchControlOptions DEFAULT {searchAliases},
- COMPONENTS OF CommonArguments}}
-
-HierarchySelections ::= BIT STRING {
- self(0), children(1), parent(2), hierarchy(3), top(4), subtree(5),
- siblings(6), siblingChildren(7), siblingSubtree(8), all(9)}
-
-SearchControlOptions ::= BIT STRING {
- searchAliases(0), matchedValuesOnly(1), checkOverspecified(2),
- performExactly(3), includeAllAreas(4), noSystemRelaxation(5), dnAttribute(6),
- matchOnResidualName(7), entryCount(8), useSubset(9),
- separateFamilyMembers(10), searchFamily(11)}
-
-SearchResult ::=
- OPTIONALLY-PROTECTED
- {CHOICE {searchInfo
- SET {name Name OPTIONAL,
- entries [0] SET OF EntryInformation,
- partialOutcomeQualifier
- [2] PartialOutcomeQualifier OPTIONAL,
- altMatching [3] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonResults},
- uncorrelatedSearchInfo [0] SET OF SearchResult}}
-
-addEntry OPERATION ::= {
- ARGUMENT AddEntryArgument
- RESULT AddEntryResult
- ERRORS
- {attributeError | nameError | serviceError | referral | securityError |
- updateError}
- CODE id-opcode-addEntry
-}
-
-AddEntryArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- entry [1] SET OF Attribute,
- targetSystem [2] AccessPoint OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-AddEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
-}
-
-removeEntry OPERATION ::= {
- ARGUMENT RemoveEntryArgument
- RESULT RemoveEntryResult
- ERRORS {nameError | serviceError | referral | securityError | updateError}
- CODE id-opcode-removeEntry
-}
-
-RemoveEntryArgument ::=
- OPTIONALLY-PROTECTED{SET {object [0] Name,
- COMPONENTS OF CommonArguments}}
-
-RemoveEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
-}
-
-modifyEntry OPERATION ::= {
- ARGUMENT ModifyEntryArgument
- RESULT ModifyEntryResult
- ERRORS
- {attributeError | nameError | serviceError | referral | securityError |
- updateError}
- CODE id-opcode-modifyEntry
-}
-
-ModifyEntryArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- changes [1] SEQUENCE OF EntryModification,
- selection [2] EntryInformationSelection OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-ModifyEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {entry [0] EntryInformation OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-EntryModification ::= CHOICE {
- addAttribute [0] Attribute,
- removeAttribute [1] AttributeType,
- addValues [2] Attribute,
- removeValues [3] Attribute,
- alterValues [4] AttributeTypeAndValue,
- resetValue [5] AttributeType
-}
-
-modifyDN OPERATION ::= {
- ARGUMENT ModifyDNArgument
- RESULT ModifyDNResult
- ERRORS {nameError | serviceError | referral | securityError | updateError}
- CODE id-opcode-modifyDN
-}
-
-ModifyDNArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] DistinguishedName,
- newRDN [1] RelativeDistinguishedName,
- deleteOldRDN [2] BOOLEAN DEFAULT FALSE,
- newSuperior [3] DistinguishedName OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-ModifyDNResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {newRDN RelativeDistinguishedName,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
--- Errors and parameters
-abandoned ERROR ::= { -- not literally an "error"
- PARAMETER OPTIONALLY-PROTECTED {SET {COMPONENTS OF CommonResults}}
- CODE id-errcode-abandoned
-}
-
-abandonFailed ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] AbandonProblem,
- operation [1] InvokeId,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-abandonFailed
-}
-
-AbandonProblem ::= INTEGER {noSuchOperation(1), tooLate(2), cannotAbandon(3)}
-
-attributeError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- problems
- [1] SET OF
- SEQUENCE {problem [0] AttributeProblem,
- type [1] AttributeType,
- value [2] AttributeValue OPTIONAL},
- COMPONENTS OF CommonResults}}
- CODE id-errcode-attributeError
-}
-
-AttributeProblem ::= INTEGER {
- noSuchAttributeOrValue(1), invalidAttributeSyntax(2),
- undefinedAttributeType(3), inappropriateMatching(4), constraintViolation(5),
- attributeOrValueAlreadyExists(6), contextViolation(7)}
-
-nameError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] NameProblem,
- matched [1] Name,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-nameError
-}
-
-NameProblem ::= INTEGER {
- noSuchObject(1), aliasProblem(2), invalidAttributeSyntax(3),
- aliasDereferencingProblem(4), contextProblem(5)}
-
-referral ERROR ::= { -- not literally an "error"
- PARAMETER OPTIONALLY-PROTECTED
- {SET {candidate [0] ContinuationReference,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-referral
-}
-
-securityError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] SecurityProblem,
- spkmInfo [1] SPKM-ERROR,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-securityError
-}
-
-SecurityProblem ::= INTEGER {
- inappropriateAuthentication(1), invalidCredentials(2),
- insufficientAccessRights(3), invalidSignature(4), protectionRequired(5),
- noInformation(6), blockedCredentials(7), invalidQOPMatch(8), spkmError(9)
-}
-
-serviceError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] ServiceProblem,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-serviceError
-}
-
-ServiceProblem ::= INTEGER {
- busy(1), unavailable(2), unwillingToPerform(3), chainingRequired(4),
- unableToProceed(5), invalidReference(6), timeLimitExceeded(7),
- administrativeLimitExceeded(8), loopDetected(9),
- unavailableCriticalExtension(10), outOfScope(11), ditError(12),
- invalidQueryReference(13), requestedServiceNotAvailable(14),
- relaxationNotSupported(15), unavailableRelaxationLevel(16),
- unsupportedMatchingUse(17), unmatchedKeyAttributes(18),
- ambiguousKeyAttributes(19)}
-
-updateError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] UpdateProblem,
- attributeInfo
- [1] SET SIZE (1..MAX) OF
- CHOICE {attributeType AttributeType,
- attribute Attribute} OPTIONAL,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-updateError
-}
-
-UpdateProblem ::= INTEGER {
- namingViolation(1), objectClassViolation(2), notAllowedOnNonLeaf(3),
- notAllowedOnRDN(4), entryAlreadyExists(5), affectsMultipleDSAs(6),
- objectClassModificationProhibited(7), notAncestor(8), parentNotAncestor(9),
- hierarchyRuleViolation(10), familyRuleViolation(11)}
-
-id-at-family-information OBJECT IDENTIFIER ::= {id-at 64}
-
-END -- DirectoryAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/DoubleEllipses.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/DoubleEllipses.asn
deleted file mode 100644
index e90cf55d61..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/DoubleEllipses.asn
+++ /dev/null
@@ -1,99 +0,0 @@
-DoubleEllipses DEFINITIONS AUTOMATIC TAGS ::=
-
-
-BEGIN
-
-
-Seq ::= SEQUENCE
- {
- a INTEGER,
- ...,
- ...,
- c BOOLEAN
- }
-
-SeqV2 ::= SEQUENCE
- {
- a INTEGER,
- ...,
- b BOOLEAN,
- ...,
- c BOOLEAN
- }
-
-
-SeqAlt ::= SEQUENCE
- {
- a INTEGER,
- d INTEGER,
- ...,
- b BIT STRING,
- e BOOLEAN,
- ...,
- c BOOLEAN,
- f INTEGER,
- g INTEGER
- }
-
-SeqAltV2 ::= SEQUENCE
- {
- a INTEGER,
- d INTEGER,
- ...,
- b BIT STRING,
- e BOOLEAN,
- h PrintableString,
- i INTEGER,
- ...,
- c BOOLEAN,
- f INTEGER,
- g INTEGER
- }
-
-Set ::= SET {
- a INTEGER,
- ...,
- ...,
- c BOOLEAN
- }
-
-SetV2 ::= SET
- {
- a INTEGER,
- ...,
- b BOOLEAN,
- ...,
- c BOOLEAN
- }
-
-
-SetAlt ::= SET
- {
- a INTEGER,
- d INTEGER,
- ...,
- b BIT STRING,
- e BOOLEAN,
- ...,
- c BOOLEAN,
- f INTEGER,
- g INTEGER
- }
-
-SetAltV2 ::= SET
- {
- a INTEGER,
- d INTEGER,
- ...,
- b BIT STRING,
- e BOOLEAN,
- h PrintableString,
- i INTEGER,
- ...,
- c BOOLEAN,
- f INTEGER,
- g INTEGER
- }
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ELDAPv3.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/ELDAPv3.asn
deleted file mode 100644
index 0cfac48c37..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ELDAPv3.asn
+++ /dev/null
@@ -1,291 +0,0 @@
--- LDAPv3 ASN.1 specification, taken from RFC 2251
-
--- Lightweight-Directory-Access-Protocol-V3 DEFINITIONS
-ELDAPv3 DEFINITIONS
-IMPLICIT TAGS ::=
-
-BEGIN
-
-LDAPMessage ::= SEQUENCE {
- messageID MessageID,
- protocolOp CHOICE {
- bindRequest BindRequest,
- bindResponse BindResponse,
- unbindRequest UnbindRequest,
- searchRequest SearchRequest,
- searchResEntry SearchResultEntry,
- searchResDone SearchResultDone,
- searchResRef SearchResultReference,
- modifyRequest ModifyRequest,
- modifyResponse ModifyResponse,
- addRequest AddRequest,
- addResponse AddResponse,
- delRequest DelRequest,
- delResponse DelResponse,
- modDNRequest ModifyDNRequest,
- modDNResponse ModifyDNResponse,
- compareRequest CompareRequest,
- compareResponse CompareResponse,
- abandonRequest AbandonRequest,
- extendedReq ExtendedRequest,
- extendedResp ExtendedResponse },
- controls [0] Controls OPTIONAL }
-
-MessageID ::= INTEGER (0 .. maxInt)
-
-maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) --
-
-LDAPString ::= OCTET STRING
-
-LDAPOID ::= OCTET STRING
-
-LDAPDN ::= LDAPString
-
-RelativeLDAPDN ::= LDAPString
-
-AttributeType ::= LDAPString
-
-AttributeDescription ::= LDAPString
-
-
-
-
--- Wahl, et. al. Standards Track [Page 44]
---
--- RFC 2251 LDAPv3 December 1997
-
-
-AttributeDescriptionList ::= SEQUENCE OF
- AttributeDescription
-
-AttributeValue ::= OCTET STRING
-
-AttributeValueAssertion ::= SEQUENCE {
- attributeDesc AttributeDescription,
- assertionValue AssertionValue }
-
-AssertionValue ::= OCTET STRING
-
-Attribute ::= SEQUENCE {
- type AttributeDescription,
- vals SET OF AttributeValue }
-
-MatchingRuleId ::= LDAPString
-
-LDAPResult ::= SEQUENCE {
- resultCode ENUMERATED {
- success (0),
- operationsError (1),
- protocolError (2),
- timeLimitExceeded (3),
- sizeLimitExceeded (4),
- compareFalse (5),
- compareTrue (6),
- authMethodNotSupported (7),
- strongAuthRequired (8),
- -- 9 reserved --
- referral (10), -- new
- adminLimitExceeded (11), -- new
- unavailableCriticalExtension (12), -- new
- confidentialityRequired (13), -- new
- saslBindInProgress (14), -- new
- noSuchAttribute (16),
- undefinedAttributeType (17),
- inappropriateMatching (18),
- constraintViolation (19),
- attributeOrValueExists (20),
- invalidAttributeSyntax (21),
- -- 22-31 unused --
- noSuchObject (32),
- aliasProblem (33),
- invalidDNSyntax (34),
- -- 35 reserved for undefined isLeaf --
- aliasDereferencingProblem (36),
- -- 37-47 unused --
- inappropriateAuthentication (48),
-
--- Wahl, et. al. Standards Track [Page 45]
---
--- RFC 2251 LDAPv3 December 1997
-
-
- invalidCredentials (49),
- insufficientAccessRights (50),
- busy (51),
- unavailable (52),
- unwillingToPerform (53),
- loopDetect (54),
- -- 55-63 unused --
- namingViolation (64),
- objectClassViolation (65),
- notAllowedOnNonLeaf (66),
- notAllowedOnRDN (67),
- entryAlreadyExists (68),
- objectClassModsProhibited (69),
- -- 70 reserved for CLDAP --
- affectsMultipleDSAs (71), -- new
- -- 72-79 unused --
- other (80) },
- -- 81-90 reserved for APIs --
- matchedDN LDAPDN,
- errorMessage LDAPString,
- referral [3] Referral OPTIONAL }
-
-Referral ::= SEQUENCE OF LDAPURL
-
-LDAPURL ::= LDAPString -- limited to characters permitted in URLs
-
-Controls ::= SEQUENCE OF Control
-
-Control ::= SEQUENCE {
- controlType LDAPOID,
- criticality BOOLEAN DEFAULT FALSE,
- controlValue OCTET STRING OPTIONAL }
-
-BindRequest ::= [APPLICATION 0] SEQUENCE {
- version INTEGER (1 .. 127),
- name LDAPDN,
- authentication AuthenticationChoice }
-
-AuthenticationChoice ::= CHOICE {
- simple [0] OCTET STRING,
- -- 1 and 2 reserved
- sasl [3] SaslCredentials }
-
-SaslCredentials ::= SEQUENCE {
- mechanism LDAPString,
- credentials OCTET STRING OPTIONAL }
-
-BindResponse ::= [APPLICATION 1] SEQUENCE {
-
--- Wahl, et. al. Standards Track [Page 46]
---
--- RFC 2251 LDAPv3 December 1997
-
-
- COMPONENTS OF LDAPResult,
- serverSaslCreds [7] OCTET STRING OPTIONAL }
-
-UnbindRequest ::= [APPLICATION 2] NULL
-
-SearchRequest ::= [APPLICATION 3] SEQUENCE {
- baseObject LDAPDN,
- scope ENUMERATED {
- baseObject (0),
- singleLevel (1),
- wholeSubtree (2) },
- derefAliases ENUMERATED {
- neverDerefAliases (0),
- derefInSearching (1),
- derefFindingBaseObj (2),
- derefAlways (3) },
- sizeLimit INTEGER (0 .. maxInt),
- timeLimit INTEGER (0 .. maxInt),
- typesOnly BOOLEAN,
- filter Filter,
- attributes AttributeDescriptionList }
-
-Filter ::= CHOICE {
- and [0] SET OF Filter,
- or [1] SET OF Filter,
- not [2] Filter,
- equalityMatch [3] AttributeValueAssertion,
- substrings [4] SubstringFilter,
- greaterOrEqual [5] AttributeValueAssertion,
- lessOrEqual [6] AttributeValueAssertion,
- present [7] AttributeDescription,
- approxMatch [8] AttributeValueAssertion,
- extensibleMatch [9] MatchingRuleAssertion }
-
-SubstringFilter ::= SEQUENCE {
- type AttributeDescription,
- -- at least one must be present
- substrings SEQUENCE OF CHOICE {
- initial [0] LDAPString,
- any [1] LDAPString,
- final [2] LDAPString } }
-
-MatchingRuleAssertion ::= SEQUENCE {
- matchingRule [1] MatchingRuleId OPTIONAL,
- type [2] AttributeDescription OPTIONAL,
- matchValue [3] AssertionValue,
- dnAttributes [4] BOOLEAN DEFAULT FALSE }
-
--- Wahl, et. al. Standards Track [Page 47]
---
--- RFC 2251 LDAPv3 December 1997
-
-SearchResultEntry ::= [APPLICATION 4] SEQUENCE {
- objectName LDAPDN,
- attributes PartialAttributeList }
-
-PartialAttributeList ::= SEQUENCE OF SEQUENCE {
- type AttributeDescription,
- vals SET OF AttributeValue }
-
-SearchResultReference ::= [APPLICATION 19] SEQUENCE OF LDAPURL
-
-SearchResultDone ::= [APPLICATION 5] LDAPResult
-
-ModifyRequest ::= [APPLICATION 6] SEQUENCE {
- object LDAPDN,
- modification SEQUENCE OF SEQUENCE {
- operation ENUMERATED {
- add (0),
- delete (1),
- replace (2) },
- modification AttributeTypeAndValues } }
-
-AttributeTypeAndValues ::= SEQUENCE {
- type AttributeDescription,
- vals SET OF AttributeValue }
-
-ModifyResponse ::= [APPLICATION 7] LDAPResult
-
-AddRequest ::= [APPLICATION 8] SEQUENCE {
- entry LDAPDN,
- attributes AttributeList }
-
-AttributeList ::= SEQUENCE OF SEQUENCE {
- type AttributeDescription,
- vals SET OF AttributeValue }
-
-AddResponse ::= [APPLICATION 9] LDAPResult
-
-DelRequest ::= [APPLICATION 10] LDAPDN
-
-DelResponse ::= [APPLICATION 11] LDAPResult
-
-ModifyDNRequest ::= [APPLICATION 12] SEQUENCE {
- entry LDAPDN,
- newrdn RelativeLDAPDN,
- deleteoldrdn BOOLEAN,
- newSuperior [0] LDAPDN OPTIONAL }
-
-ModifyDNResponse ::= [APPLICATION 13] LDAPResult
-
--- Wahl, et. al. Standards Track [Page 48]
---
--- RFC 2251 LDAPv3 December 1997
-
-
-CompareRequest ::= [APPLICATION 14] SEQUENCE {
- entry LDAPDN,
- ava AttributeValueAssertion }
-
-CompareResponse ::= [APPLICATION 15] LDAPResult
-
-AbandonRequest ::= [APPLICATION 16] MessageID
-
-ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- requestName [0] LDAPOID,
- requestValue [1] OCTET STRING OPTIONAL }
-
-ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
- COMPONENTS OF LDAPResult,
- responseName [10] LDAPOID OPTIONAL,
- response [11] OCTET STRING OPTIONAL }
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-InterNodeDefinitions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-InterNodeDefinitions.asn
deleted file mode 100644
index 5e6313dc02..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-InterNodeDefinitions.asn
+++ /dev/null
@@ -1,123 +0,0 @@
--- 3GPP TS 36.331 V8.8.0 (2009-12)
--- $Id$
---
-EUTRA-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-HandoverCommand ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- handoverCommand-r8 HandoverCommand-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-HandoverCommand-r8-IEs ::= SEQUENCE {
- handoverCommandMessage OCTET STRING (CONTAINING DL-DCCH-Message),
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-HandoverPreparationInformation ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- handoverPreparationInformation-r8 HandoverPreparationInformation-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-HandoverPreparationInformation-r8-IEs ::= SEQUENCE {
- ue-RadioAccessCapabilityInfo UE-CapabilityRAT-ContainerList,
- as-Config AS-Config OPTIONAL, -- Cond HO
- rrm-Config RRM-Config OPTIONAL,
- as-Context AS-Context OPTIONAL, -- Cond HO
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-UERadioAccessCapabilityInformation ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- ueRadioAccessCapabilityInformation-r8
- UERadioAccessCapabilityInformation-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-UERadioAccessCapabilityInformation-r8-IEs ::= SEQUENCE {
- ue-RadioAccessCapabilityInfo OCTET STRING (CONTAINING UECapabilityInformation),
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-AS-Config ::= SEQUENCE {
- sourceMeasConfig MeasConfig,
- sourceRadioResourceConfig RadioResourceConfigDedicated,
- sourceSecurityAlgorithmConfig SecurityAlgorithmConfig,
- sourceUE-Identity C-RNTI,
- sourceMasterInformationBlock MasterInformationBlock,
- sourceSystemInformationBlockType1 SystemInformationBlockType1,
- sourceSystemInformationBlockType2 SystemInformationBlockType2,
- antennaInfoCommon AntennaInfoCommon,
- sourceDl-CarrierFreq ARFCN-ValueEUTRA,
- ...
-}
-
-
-AS-Context ::= SEQUENCE {
- reestablishmentInfo ReestablishmentInfo OPTIONAL -- Cond HO
-}
-
-
-ReestablishmentInfo ::= SEQUENCE {
- sourcePhysCellId PhysCellId,
- targetCellShortMAC-I ShortMAC-I,
- additionalReestabInfoList AdditionalReestabInfoList OPTIONAL,
- ...
-}
-
-AdditionalReestabInfoList ::= SEQUENCE ( SIZE (1..maxReestabInfo) ) OF AdditionalReestabInfo
-
-AdditionalReestabInfo ::= SEQUENCE{
- cellIdentity CellIdentity,
- key-eNodeB-Star Key-eNodeB-Star,
- shortMAC-I ShortMAC-I
-}
-
-Key-eNodeB-Star ::= BIT STRING (SIZE (256))
-
-
-RRM-Config ::= SEQUENCE {
- ue-InactiveTime ENUMERATED {
- s1, s2, s3, s5, s7, s10, s15, s20,
- s25, s30, s40, s50, min1, min1s20c, min1s40,
- min2, min2s30, min3, min3s30, min4, min5, min6,
- min7, min8, min9, min10, min12, min14, min17, min20,
- min24, min28, min33, min38, min44, min50, hr1,
- hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6,
- hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2,
- day2hr12, day3, day4, day5, day7, day10, day14, day19,
- day24, day30, dayMoreThan30} OPTIONAL,
- ...
-}
-
-
-maxReestabInfo INTEGER ::= 32 -- Maximum number of KeNB* and shortMAC-I forwarded
- -- at handover for re-establishment preparation
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-RRC-Definitions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-RRC-Definitions.asn
deleted file mode 100644
index a451874ef0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-RRC-Definitions.asn
+++ /dev/null
@@ -1,2640 +0,0 @@
--- 3GPP TS 36.331 V8.8.0 (2009-12)
--- $Id$
---
-EUTRA-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-BCCH-BCH-Message ::= SEQUENCE {
- message BCCH-BCH-MessageType
-}
-
-BCCH-BCH-MessageType ::= MasterInformationBlock
-
-
-BCCH-DL-SCH-Message ::= SEQUENCE {
- message BCCH-DL-SCH-MessageType
-}
-
-BCCH-DL-SCH-MessageType ::= CHOICE {
- c1 CHOICE {
- systemInformation SystemInformation,
- systemInformationBlockType1 SystemInformationBlockType1
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-PCCH-Message ::= SEQUENCE {
- message PCCH-MessageType
-}
-
-PCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- paging Paging
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-DL-CCCH-Message ::= SEQUENCE {
- message DL-CCCH-MessageType
-}
-
-DL-CCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- rrcConnectionReestablishment RRCConnectionReestablishment,
- rrcConnectionReestablishmentReject RRCConnectionReestablishmentReject,
- rrcConnectionReject RRCConnectionReject,
- rrcConnectionSetup RRCConnectionSetup
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-DL-DCCH-Message ::= SEQUENCE {
- message DL-DCCH-MessageType
-}
-
-DL-DCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- csfbParametersResponseCDMA2000 CSFBParametersResponseCDMA2000,
- dlInformationTransfer DLInformationTransfer,
- handoverFromEUTRAPreparationRequest HandoverFromEUTRAPreparationRequest,
- mobilityFromEUTRACommand MobilityFromEUTRACommand,
- rrcConnectionReconfiguration RRCConnectionReconfiguration,
- rrcConnectionRelease RRCConnectionRelease,
- securityModeCommand SecurityModeCommand,
- ueCapabilityEnquiry UECapabilityEnquiry,
- counterCheck CounterCheck,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-UL-CCCH-Message ::= SEQUENCE {
- message UL-CCCH-MessageType
-}
-
-UL-CCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- rrcConnectionReestablishmentRequest RRCConnectionReestablishmentRequest,
- rrcConnectionRequest RRCConnectionRequest
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-UL-DCCH-Message ::= SEQUENCE {
- message UL-DCCH-MessageType
-}
-
-UL-DCCH-MessageType ::= CHOICE {
- c1 CHOICE {
- csfbParametersRequestCDMA2000 CSFBParametersRequestCDMA2000,
- measurementReport MeasurementReport,
- rrcConnectionReconfigurationComplete RRCConnectionReconfigurationComplete,
- rrcConnectionReestablishmentComplete RRCConnectionReestablishmentComplete,
- rrcConnectionSetupComplete RRCConnectionSetupComplete,
- securityModeComplete SecurityModeComplete,
- securityModeFailure SecurityModeFailure,
- ueCapabilityInformation UECapabilityInformation,
- ulHandoverPreparationTransfer ULHandoverPreparationTransfer,
- ulInformationTransfer ULInformationTransfer,
- counterCheckResponse CounterCheckResponse,
- spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- messageClassExtension SEQUENCE {}
-}
-
-
-CounterCheck ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- counterCheck-r8 CounterCheck-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-CounterCheck-r8-IEs ::= SEQUENCE {
- drb-CountMSB-InfoList DRB-CountMSB-InfoList,
- nonCriticalExtension SEQUENCE {} OPTIONAL --Need OP
-}
-
-DRB-CountMSB-InfoList::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-CountMSB-Info
-
-DRB-CountMSB-Info ::= SEQUENCE {
- drb-Identity DRB-Identity,
- countMSB-Uplink INTEGER(0..33554431),
- countMSB-Downlink INTEGER(0..33554431)
-}
-
-
-CounterCheckResponse ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- counterCheckResponse-r8 CounterCheckResponse-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-CounterCheckResponse-r8-IEs ::= SEQUENCE {
- drb-CountInfoList DRB-CountInfoList,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-DRB-CountInfoList ::= SEQUENCE (SIZE (0..maxDRB)) OF DRB-CountInfo
-
-DRB-CountInfo ::= SEQUENCE {
- drb-Identity DRB-Identity,
- count-Uplink INTEGER(0..4294967295),
- count-Downlink INTEGER(0..4294967295)
-}
-
-
-CSFBParametersRequestCDMA2000 ::= SEQUENCE {
- criticalExtensions CHOICE {
- csfbParametersRequestCDMA2000-r8 CSFBParametersRequestCDMA2000-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-CSFBParametersRequestCDMA2000-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-CSFBParametersResponseCDMA2000 ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- csfbParametersResponseCDMA2000-r8 CSFBParametersResponseCDMA2000-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-CSFBParametersResponseCDMA2000-r8-IEs ::= SEQUENCE {
- rand RAND-CDMA2000,
- mobilityParameters MobilityParametersCDMA2000,
- nonCriticalExtension SEQUENCE {} OPTIONAL --Need OP
-}
-
-
-DLInformationTransfer ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- dlInformationTransfer-r8 DLInformationTransfer-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-DLInformationTransfer-r8-IEs ::= SEQUENCE {
- dedicatedInfoType CHOICE {
- dedicatedInfoNAS DedicatedInfoNAS,
- dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000,
- dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL --Need OP
-}
-
-
-HandoverFromEUTRAPreparationRequest ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- handoverFromEUTRAPreparationRequest-r8
- HandoverFromEUTRAPreparationRequest-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-HandoverFromEUTRAPreparationRequest-r8-IEs ::= SEQUENCE {
- cdma2000-Type CDMA2000-Type,
- rand RAND-CDMA2000 OPTIONAL, -- Cond cdma2000-Type
- mobilityParameters MobilityParametersCDMA2000 OPTIONAL, -- Cond cdma2000-Type
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-MasterInformationBlock ::= SEQUENCE {
- dl-Bandwidth ENUMERATED {
- n6, n15, n25, n50, n75, n100},
- phich-Config PHICH-Config,
- systemFrameNumber BIT STRING (SIZE (8)),
- spare BIT STRING (SIZE (10))
-}
-
-
-
-MeasurementReport ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE{
- measurementReport-r8 MeasurementReport-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-MeasurementReport-r8-IEs ::= SEQUENCE {
- measResults MeasResults,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-MobilityFromEUTRACommand ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- mobilityFromEUTRACommand-r8 MobilityFromEUTRACommand-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-MobilityFromEUTRACommand-r8-IEs ::= SEQUENCE {
- cs-FallbackIndicator BOOLEAN,
- purpose CHOICE{
- handover Handover,
- cellChangeOrder CellChangeOrder
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-Handover ::= SEQUENCE {
- targetRAT-Type ENUMERATED {
- utra, geran, cdma2000-1XRTT, cdma2000-HRPD,
- spare4, spare3, spare2, spare1, ...},
- targetRAT-MessageContainer OCTET STRING,
- nas-SecurityParamFromEUTRA OCTET STRING (SIZE (1)) OPTIONAL, -- Cond UTRAGERAN
- systemInformation SI-OrPSI-GERAN OPTIONAL -- Cond PSHO
-}
-
-CellChangeOrder ::= SEQUENCE {
- t304 ENUMERATED {
- ms100, ms200, ms500, ms1000,
- ms2000, ms4000, ms8000, spare1},
- targetRAT-Type CHOICE {
- geran SEQUENCE {
- physCellId PhysCellIdGERAN,
- carrierFreq CarrierFreqGERAN,
- networkControlOrder BIT STRING (SIZE (2)) OPTIONAL, -- Need OP
- systemInformation SI-OrPSI-GERAN OPTIONAL -- Need OP
- },
- ...
- }
-}
-
-SI-OrPSI-GERAN ::= CHOICE {
- si SystemInfoListGERAN,
- psi SystemInfoListGERAN
-}
-
-SystemInfoListGERAN ::= SEQUENCE (SIZE (1..maxGERAN-SI)) OF
- OCTET STRING (SIZE (1..23))
-
-
-Paging ::= SEQUENCE {
- pagingRecordList PagingRecordList OPTIONAL, -- Need ON
- systemInfoModification ENUMERATED {true} OPTIONAL, -- Need ON
- etws-Indication ENUMERATED {true} OPTIONAL, -- Need ON
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-PagingRecordList ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord
-
-PagingRecord ::= SEQUENCE {
- ue-Identity PagingUE-Identity,
- cn-Domain ENUMERATED {ps, cs},
- ...
-}
-
-PagingUE-Identity ::= CHOICE {
- s-TMSI S-TMSI,
- imsi IMSI,
- ...
-}
-
-IMSI ::= SEQUENCE (SIZE (6..21)) OF IMSI-Digit
-
-IMSI-Digit::= INTEGER (0..9)
-
-
-RRCConnectionReconfiguration ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- rrcConnectionReconfiguration-r8 RRCConnectionReconfiguration-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReconfiguration-r8-IEs ::= SEQUENCE {
- measConfig MeasConfig OPTIONAL, -- Need ON
- mobilityControlInfo MobilityControlInfo OPTIONAL, -- Cond HO
- dedicatedInfoNASList SEQUENCE (SIZE(1..maxDRB)) OF
- DedicatedInfoNAS OPTIONAL, -- Cond nonHO
- radioResourceConfigDedicated RadioResourceConfigDedicated OPTIONAL, -- Cond HO-toEUTRA
- securityConfigHO SecurityConfigHO OPTIONAL, -- Cond HO
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-SecurityConfigHO ::= SEQUENCE {
- handoverType CHOICE {
- intraLTE SEQUENCE {
- securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Need OP
- keyChangeIndicator BOOLEAN,
- nextHopChainingCount NextHopChainingCount
- },
- interRAT SEQUENCE {
- securityAlgorithmConfig SecurityAlgorithmConfig,
- nas-SecurityParamToEUTRA OCTET STRING (SIZE(6))
- }
- },
- ...
-}
-
-
-RRCConnectionReconfigurationComplete ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- rrcConnectionReconfigurationComplete-r8
- RRCConnectionReconfigurationComplete-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReconfigurationComplete-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-RRCConnectionReestablishment ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- rrcConnectionReestablishment-r8 RRCConnectionReestablishment-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReestablishment-r8-IEs ::= SEQUENCE {
- radioResourceConfigDedicated RadioResourceConfigDedicated,
- nextHopChainingCount NextHopChainingCount,
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-RRCConnectionReestablishmentComplete ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- rrcConnectionReestablishmentComplete-r8
- RRCConnectionReestablishmentComplete-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReestablishmentComplete-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-RRCConnectionReestablishmentReject ::= SEQUENCE {
- criticalExtensions CHOICE {
- rrcConnectionReestablishmentReject-r8
- RRCConnectionReestablishmentReject-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReestablishmentReject-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-RRCConnectionReestablishmentRequest ::= SEQUENCE {
- criticalExtensions CHOICE {
- rrcConnectionReestablishmentRequest-r8
- RRCConnectionReestablishmentRequest-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReestablishmentRequest-r8-IEs ::= SEQUENCE {
- ue-Identity ReestabUE-Identity,
- reestablishmentCause ReestablishmentCause,
- spare BIT STRING (SIZE (2))
-}
-
-ReestabUE-Identity ::= SEQUENCE {
- c-RNTI C-RNTI,
- physCellId PhysCellId,
- shortMAC-I ShortMAC-I
-}
-
-ReestablishmentCause ::= ENUMERATED {
- reconfigurationFailure, handoverFailure,
- otherFailure, spare1}
-
-
-RRCConnectionReject ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE {
- rrcConnectionReject-r8 RRCConnectionReject-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionReject-r8-IEs ::= SEQUENCE {
- waitTime INTEGER (1..16),
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-RRCConnectionRelease ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- rrcConnectionRelease-r8 RRCConnectionRelease-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionRelease-r8-IEs ::= SEQUENCE {
- releaseCause ReleaseCause,
- redirectedCarrierInfo RedirectedCarrierInfo OPTIONAL, -- Need ON
- idleModeMobilityControlInfo IdleModeMobilityControlInfo OPTIONAL, -- Need OP
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-ReleaseCause ::= ENUMERATED {loadBalancingTAUrequired,
- other,spare2, spare1 }
-
-RedirectedCarrierInfo ::= CHOICE {
- eutra ARFCN-ValueEUTRA,
- geran CarrierFreqsGERAN,
- utra-FDD ARFCN-ValueUTRA,
- utra-TDD ARFCN-ValueUTRA,
- cdma2000-HRPD CarrierFreqCDMA2000,
- cdma2000-1xRTT CarrierFreqCDMA2000,
- ...
-}
-
-IdleModeMobilityControlInfo ::= SEQUENCE {
- freqPriorityListEUTRA FreqPriorityListEUTRA OPTIONAL, -- Need ON
- freqPriorityListGERAN FreqsPriorityListGERAN OPTIONAL, -- Need ON
- freqPriorityListUTRA-FDD FreqPriorityListUTRA-FDD OPTIONAL, -- Need ON
- freqPriorityListUTRA-TDD FreqPriorityListUTRA-TDD OPTIONAL, -- Need ON
- bandClassPriorityListHRPD BandClassPriorityListHRPD OPTIONAL, -- Need ON
- bandClassPriorityList1XRTT BandClassPriorityList1XRTT OPTIONAL, -- Need ON
- t320 ENUMERATED {
- min5, min10, min20, min30, min60, min120, min180,
- spare1} OPTIONAL, -- Need OR
- ...
-}
-
-FreqPriorityListEUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA
-
-FreqPriorityEUTRA ::= SEQUENCE {
- carrierFreq ARFCN-ValueEUTRA,
- cellReselectionPriority CellReselectionPriority
-}
-
-FreqsPriorityListGERAN ::= SEQUENCE (SIZE (1..maxGNFG)) OF FreqsPriorityGERAN
-
-FreqsPriorityGERAN ::= SEQUENCE {
- carrierFreqs CarrierFreqsGERAN,
- cellReselectionPriority CellReselectionPriority
-}
-
-FreqPriorityListUTRA-FDD ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF FreqPriorityUTRA-FDD
-
-FreqPriorityUTRA-FDD ::= SEQUENCE {
- carrierFreq ARFCN-ValueUTRA,
- cellReselectionPriority CellReselectionPriority
-}
-
-FreqPriorityListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF FreqPriorityUTRA-TDD
-
-FreqPriorityUTRA-TDD ::= SEQUENCE {
- carrierFreq ARFCN-ValueUTRA,
- cellReselectionPriority CellReselectionPriority
-}
-
-BandClassPriorityListHRPD ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassPriorityHRPD
-
-BandClassPriorityHRPD ::= SEQUENCE {
- bandClass BandclassCDMA2000,
- cellReselectionPriority CellReselectionPriority
-}
-
-BandClassPriorityList1XRTT ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassPriority1XRTT
-
-BandClassPriority1XRTT ::= SEQUENCE {
- bandClass BandclassCDMA2000,
- cellReselectionPriority CellReselectionPriority
-}
-
-RRCConnectionRequest ::= SEQUENCE {
- criticalExtensions CHOICE {
- rrcConnectionRequest-r8 RRCConnectionRequest-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionRequest-r8-IEs ::= SEQUENCE {
- ue-Identity InitialUE-Identity,
- establishmentCause EstablishmentCause,
- spare BIT STRING (SIZE (1))
-}
-
-InitialUE-Identity ::= CHOICE {
- s-TMSI S-TMSI,
- randomValue BIT STRING (SIZE (40))
-}
-
-EstablishmentCause ::= ENUMERATED {
- emergency, highPriorityAccess, mt-Access, mo-Signalling,
- mo-Data, spare3, spare2, spare1}
-
-
-RRCConnectionSetup ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- rrcConnectionSetup-r8 RRCConnectionSetup-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionSetup-r8-IEs ::= SEQUENCE {
- radioResourceConfigDedicated RadioResourceConfigDedicated,
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-RRCConnectionSetupComplete ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- rrcConnectionSetupComplete-r8 RRCConnectionSetupComplete-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-RRCConnectionSetupComplete-r8-IEs ::= SEQUENCE {
- selectedPLMN-Identity INTEGER (1..6),
- registeredMME RegisteredMME OPTIONAL,
- dedicatedInfoNAS DedicatedInfoNAS,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-RegisteredMME ::= SEQUENCE {
- plmn-Identity PLMN-Identity OPTIONAL,
- mmegi BIT STRING (SIZE (16)),
- mmec MMEC
-}
-
-
-SecurityModeCommand ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- securityModeCommand-r8 SecurityModeCommand-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-SecurityModeCommand-r8-IEs ::= SEQUENCE {
- securityConfigSMC SecurityConfigSMC,
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-SecurityConfigSMC ::= SEQUENCE {
- securityAlgorithmConfig SecurityAlgorithmConfig,
- ...
-}
-
-
-SecurityModeComplete ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- securityModeComplete-r8 SecurityModeComplete-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-SecurityModeComplete-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-SecurityModeFailure ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- securityModeFailure-r8 SecurityModeFailure-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-SecurityModeFailure-r8-IEs ::= SEQUENCE {
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-SystemInformation ::= SEQUENCE {
- criticalExtensions CHOICE {
- systemInformation-r8 SystemInformation-r8-IEs,
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-SystemInformation-r8-IEs ::= SEQUENCE {
- sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
- sib2 SystemInformationBlockType2,
- sib3 SystemInformationBlockType3,
- sib4 SystemInformationBlockType4,
- sib5 SystemInformationBlockType5,
- sib6 SystemInformationBlockType6,
- sib7 SystemInformationBlockType7,
- sib8 SystemInformationBlockType8,
- sib9 SystemInformationBlockType9,
- sib10 SystemInformationBlockType10,
- sib11 SystemInformationBlockType11,
- ...
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-
-SystemInformationBlockType1 ::= SEQUENCE {
- cellAccessRelatedInfo SEQUENCE {
- plmn-IdentityList PLMN-IdentityList,
- trackingAreaCode TrackingAreaCode,
- cellIdentity CellIdentity,
- cellBarred ENUMERATED {barred, notBarred},
- intraFreqReselection ENUMERATED {allowed, notAllowed},
- csg-Indication BOOLEAN,
- csg-Identity BIT STRING (SIZE (27)) OPTIONAL -- Need OR
- },
- cellSelectionInfo SEQUENCE {
- q-RxLevMin Q-RxLevMin,
- q-RxLevMinOffset INTEGER (1..8) OPTIONAL -- Need OP
- },
- p-Max P-Max OPTIONAL, -- Need OP
- freqBandIndicator INTEGER (1..64),
- schedulingInfoList SchedulingInfoList,
- tdd-Config TDD-Config OPTIONAL, -- Cond TDD
- si-WindowLength ENUMERATED {
- ms1, ms2, ms5, ms10, ms15, ms20,
- ms40},
- systemInfoValueTag INTEGER (0..31),
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-PLMN-IdentityList ::= SEQUENCE (SIZE (1..6)) OF PLMN-IdentityInfo
-
-PLMN-IdentityInfo ::= SEQUENCE {
- plmn-Identity PLMN-Identity,
- cellReservedForOperatorUse ENUMERATED {reserved, notReserved}
-}
-
-SchedulingInfoList ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo
-
-SchedulingInfo ::= SEQUENCE {
- si-Periodicity ENUMERATED {
- rf8, rf16, rf32, rf64, rf128, rf256, rf512},
- sib-MappingInfo SIB-MappingInfo
-}
-
-SIB-MappingInfo ::= SEQUENCE (SIZE (0..maxSIB-1)) OF SIB-Type
-
-SIB-Type ::= ENUMERATED {
- sibType3, sibType4, sibType5, sibType6,
- sibType7, sibType8, sibType9, sibType10,
- sibType11, spare7, spare6, spare5,
- spare4, spare3, spare2, spare1, ...}
-
-
-UECapabilityEnquiry ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE {
- ueCapabilityEnquiry-r8 UECapabilityEnquiry-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-UECapabilityEnquiry-r8-IEs ::= SEQUENCE {
- ue-CapabilityRequest UE-CapabilityRequest,
- nonCriticalExtension SEQUENCE {} OPTIONAL -- Need OP
-}
-
-UE-CapabilityRequest ::= SEQUENCE (SIZE (1..maxRAT-Capabilities)) OF RAT-Type
-
-
-UECapabilityInformation ::= SEQUENCE {
- rrc-TransactionIdentifier RRC-TransactionIdentifier,
- criticalExtensions CHOICE {
- c1 CHOICE{
- ueCapabilityInformation-r8 UECapabilityInformation-r8-IEs,
- spare7 NULL,
- spare6 NULL, spare5 NULL, spare4 NULL,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-UECapabilityInformation-r8-IEs ::= SEQUENCE {
- ue-CapabilityRAT-ContainerList UE-CapabilityRAT-ContainerList,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-ULHandoverPreparationTransfer ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE {
- ulHandoverPreparationTransfer-r8 ULHandoverPreparationTransfer-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-ULHandoverPreparationTransfer-r8-IEs ::= SEQUENCE {
- cdma2000-Type CDMA2000-Type,
- meid BIT STRING (SIZE (56)) OPTIONAL,
- dedicatedInfo DedicatedInfoCDMA2000,
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-ULInformationTransfer ::= SEQUENCE {
- criticalExtensions CHOICE {
- c1 CHOICE {
- ulInformationTransfer-r8 ULInformationTransfer-r8-IEs,
- spare3 NULL, spare2 NULL, spare1 NULL
- },
- criticalExtensionsFuture SEQUENCE {}
- }
-}
-
-ULInformationTransfer-r8-IEs ::= SEQUENCE {
- dedicatedInfoType CHOICE {
- dedicatedInfoNAS DedicatedInfoNAS,
- dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000,
- dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-
-SystemInformationBlockType2 ::= SEQUENCE {
- ac-BarringInfo SEQUENCE {
- ac-BarringForEmergency BOOLEAN,
- ac-BarringForMO-Signalling AC-BarringConfig OPTIONAL, -- Need OP
- ac-BarringForMO-Data AC-BarringConfig OPTIONAL -- Need OP
- } OPTIONAL, -- Need OP
- radioResourceConfigCommon RadioResourceConfigCommonSIB,
- ue-TimersAndConstants UE-TimersAndConstants,
- freqInfo SEQUENCE {
- ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL, -- Need OP
- ul-Bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100}
- OPTIONAL, -- Need OP
- additionalSpectrumEmission AdditionalSpectrumEmission
- },
- mbsfn-SubframeConfigList MBSFN-SubframeConfigList OPTIONAL, -- Need OR
- timeAlignmentTimerCommon TimeAlignmentTimer,
- ...
-}
-
-AC-BarringConfig ::= SEQUENCE {
- ac-BarringFactor ENUMERATED {
- p00, p05, p10, p15, p20, p25, p30, p40,
- p50, p60, p70, p75, p80, p85, p90, p95},
- ac-BarringTime ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512},
- ac-BarringForSpecialAC BIT STRING (SIZE(5))
-}
-
-MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig
-
-MBSFN-SubframeConfig ::= SEQUENCE {
- radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32},
- radioframeAllocationOffset INTEGER (0..7),
- subframeAllocation CHOICE {
- oneFrame BIT STRING (SIZE(6)),
- fourFrames BIT STRING (SIZE(24))
- }
-}
-
-SystemInformationBlockType3 ::= SEQUENCE {
- cellReselectionInfoCommon SEQUENCE {
- q-Hyst ENUMERATED {
- dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,
- dB12, dB14, dB16, dB18, dB20, dB22, dB24},
- speedStateReselectionPars SEQUENCE {
- mobilityStateParameters MobilityStateParameters,
- q-HystSF SEQUENCE {
- sf-Medium ENUMERATED {
- dB-6, dB-4, dB-2, dB0},
- sf-High ENUMERATED {
- dB-6, dB-4, dB-2, dB0}
- }
- } OPTIONAL -- Need OP
- },
- cellReselectionServingFreqInfo SEQUENCE {
- s-NonIntraSearch ReselectionThreshold OPTIONAL, -- Need OP
- threshServingLow ReselectionThreshold,
- cellReselectionPriority CellReselectionPriority
- },
- intraFreqCellReselectionInfo SEQUENCE {
- q-RxLevMin Q-RxLevMin,
- p-Max P-Max OPTIONAL, -- Need OP
- s-IntraSearch ReselectionThreshold OPTIONAL, -- Need OP
- allowedMeasBandwidth AllowedMeasBandwidth OPTIONAL, -- Need OP
- presenceAntennaPort1 PresenceAntennaPort1,
- neighCellConfig NeighCellConfig,
- t-ReselectionEUTRA T-Reselection,
- t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL -- Need OP
- },
- ...
-}
-
-
-SystemInformationBlockType4 ::= SEQUENCE {
- intraFreqNeighCellList IntraFreqNeighCellList OPTIONAL, -- Need OR
- intraFreqBlackCellList IntraFreqBlackCellList OPTIONAL, -- Need OR
- csg-PhysCellIdRange PhysCellIdRange OPTIONAL, -- Cond CSG
- ...
-}
-
-IntraFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo
-
-IntraFreqNeighCellInfo ::= SEQUENCE {
- physCellId PhysCellId,
- q-OffsetCell Q-OffsetRange,
- ...
-}
-
-IntraFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellIdRange
-
-
-SystemInformationBlockType5 ::= SEQUENCE {
- interFreqCarrierFreqList InterFreqCarrierFreqList,
- ...
-}
-
-InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo
-
-InterFreqCarrierFreqInfo ::= SEQUENCE {
- dl-CarrierFreq ARFCN-ValueEUTRA,
- q-RxLevMin Q-RxLevMin,
- p-Max P-Max OPTIONAL, -- Need OP
- t-ReselectionEUTRA T-Reselection,
- t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need OP
- threshX-High ReselectionThreshold,
- threshX-Low ReselectionThreshold,
- allowedMeasBandwidth AllowedMeasBandwidth,
- presenceAntennaPort1 PresenceAntennaPort1,
- cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
- neighCellConfig NeighCellConfig,
- q-OffsetFreq Q-OffsetRange DEFAULT dB0,
- interFreqNeighCellList InterFreqNeighCellList OPTIONAL, -- Need OR
- interFreqBlackCellList InterFreqBlackCellList OPTIONAL, -- Need OR
- ...
-}
-
-InterFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo
-
-InterFreqNeighCellInfo ::= SEQUENCE {
- physCellId PhysCellId,
- q-OffsetCell Q-OffsetRange
-}
-
-InterFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellIdRange
-
-
-SystemInformationBlockType6 ::= SEQUENCE {
- carrierFreqListUTRA-FDD CarrierFreqListUTRA-FDD OPTIONAL, -- Need OR
- carrierFreqListUTRA-TDD CarrierFreqListUTRA-TDD OPTIONAL, -- Need OR
- t-ReselectionUTRA T-Reselection,
- t-ReselectionUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need OP
- ...
-}
-
-CarrierFreqListUTRA-FDD ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF CarrierFreqUTRA-FDD
-
-CarrierFreqUTRA-FDD ::= SEQUENCE {
- carrierFreq ARFCN-ValueUTRA,
- cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
- threshX-High ReselectionThreshold,
- threshX-Low ReselectionThreshold,
- q-RxLevMin INTEGER (-60..-13),
- p-MaxUTRA INTEGER (-50..33),
- q-QualMin INTEGER (-24..0),
- ...
-}
-
-CarrierFreqListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF CarrierFreqUTRA-TDD
-
-CarrierFreqUTRA-TDD ::= SEQUENCE {
- carrierFreq ARFCN-ValueUTRA,
- cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
- threshX-High ReselectionThreshold,
- threshX-Low ReselectionThreshold,
- q-RxLevMin INTEGER (-60..-13),
- p-MaxUTRA INTEGER (-50..33),
- ...
-}
-
-
-SystemInformationBlockType7 ::= SEQUENCE {
- t-ReselectionGERAN T-Reselection,
- t-ReselectionGERAN-SF SpeedStateScaleFactors OPTIONAL, -- Need OR
- carrierFreqsInfoList CarrierFreqsInfoListGERAN OPTIONAL, -- Need OR
- ...
-}
-
-CarrierFreqsInfoListGERAN ::= SEQUENCE (SIZE (1..maxGNFG)) OF CarrierFreqsInfoGERAN
-
-CarrierFreqsInfoGERAN ::= SEQUENCE {
- carrierFreqs CarrierFreqsGERAN,
- commonInfo SEQUENCE {
- cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
- ncc-Permitted BIT STRING (SIZE (8)),
- q-RxLevMin INTEGER (0..45),
- p-MaxGERAN INTEGER (0..39) OPTIONAL, -- Need OP
- threshX-High ReselectionThreshold,
- threshX-Low ReselectionThreshold
- },
- ...
-}
-
-
-SystemInformationBlockType8 ::= SEQUENCE {
- systemTimeInfo SystemTimeInfoCDMA2000 OPTIONAL, -- Need OR
- searchWindowSize INTEGER (0..15) OPTIONAL, -- Need OR
- parametersHRPD SEQUENCE {
- preRegistrationInfoHRPD PreRegistrationInfoHRPD,
- cellReselectionParametersHRPD CellReselectionParametersCDMA2000 OPTIONAL -- Need OR
- } OPTIONAL, -- Need OR
- parameters1XRTT SEQUENCE {
- csfb-RegistrationParam1XRTT CSFB-RegistrationParam1XRTT OPTIONAL, -- Need OP
- longCodeState1XRTT BIT STRING (SIZE (42)) OPTIONAL, -- Need OR
- cellReselectionParameters1XRTT CellReselectionParametersCDMA2000 OPTIONAL -- Need OR
- } OPTIONAL, -- Need OR
- ...
-}
-
-CellReselectionParametersCDMA2000 ::= SEQUENCE {
- bandClassList BandClassListCDMA2000,
- neighCellList NeighCellListCDMA2000,
- t-ReselectionCDMA2000 T-Reselection,
- t-ReselectionCDMA2000-SF SpeedStateScaleFactors OPTIONAL -- Need OP
-}
-NeighCellListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000
-
-NeighCellCDMA2000 ::= SEQUENCE {
- bandClass BandclassCDMA2000,
- neighCellsPerFreqList NeighCellsPerBandclassListCDMA2000
-}
-
-NeighCellsPerBandclassListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000
-
-NeighCellsPerBandclassCDMA2000 ::= SEQUENCE {
- arfcn ARFCN-ValueCDMA2000,
- physCellIdList PhysCellIdListCDMA2000
-}
-
-PhysCellIdListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF PhysCellIdCDMA2000
-
-BandClassListCDMA2000 ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassInfoCDMA2000
-
-BandClassInfoCDMA2000 ::= SEQUENCE {
- bandClass BandclassCDMA2000,
- cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP
- threshX-High INTEGER (0..63),
- threshX-Low INTEGER (0..63),
- ...
-}
-
-
-SystemInformationBlockType9 ::= SEQUENCE {
- hnb-Name OCTET STRING (SIZE(1..48)) OPTIONAL, -- Need OR
- ...
-}
-
-
-SystemInformationBlockType10 ::= SEQUENCE {
- messageIdentifier BIT STRING (SIZE (16)),
- serialNumber BIT STRING (SIZE (16)),
- warningType OCTET STRING (SIZE (2)),
- warningSecurityInfo OCTET STRING (SIZE (50)) OPTIONAL, -- Need OP
- ...
-}
-
-
-SystemInformationBlockType11 ::= SEQUENCE {
- messageIdentifier BIT STRING (SIZE (16)),
- serialNumber BIT STRING (SIZE (16)),
- warningMessageSegmentType ENUMERATED {notLastSegment, lastSegment},
- warningMessageSegmentNumber INTEGER (0..63),
- warningMessageSegment OCTET STRING,
- dataCodingScheme OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1
- ...
-}
-
-
-AntennaInfoCommon ::= SEQUENCE {
- antennaPortsCount ENUMERATED {an1, an2, an4, spare1}
-}
-
-AntennaInfoDedicated ::= SEQUENCE {
- transmissionMode ENUMERATED {
- tm1, tm2, tm3, tm4, tm5, tm6,
- tm7, spare1},
- codebookSubsetRestriction CHOICE {
- n2TxAntenna-tm3 BIT STRING (SIZE (2)),
- n4TxAntenna-tm3 BIT STRING (SIZE (4)),
- n2TxAntenna-tm4 BIT STRING (SIZE (6)),
- n4TxAntenna-tm4 BIT STRING (SIZE (64)),
- n2TxAntenna-tm5 BIT STRING (SIZE (4)),
- n4TxAntenna-tm5 BIT STRING (SIZE (16)),
- n2TxAntenna-tm6 BIT STRING (SIZE (4)),
- n4TxAntenna-tm6 BIT STRING (SIZE (16))
- } OPTIONAL, -- Cond TM
- ue-TransmitAntennaSelection CHOICE{
- release NULL,
- setup ENUMERATED {closedLoop, openLoop}
- }
-}
-
-
-CQI-ReportConfig ::= SEQUENCE {
- cqi-ReportModeAperiodic ENUMERATED {
- rm12, rm20, rm22, rm30, rm31,
- spare3, spare2, spare1} OPTIONAL, -- Need OR
- nomPDSCH-RS-EPRE-Offset INTEGER (-1..6),
- cqi-ReportPeriodic CQI-ReportPeriodic OPTIONAL -- Need ON
-}
-
-CQI-ReportPeriodic ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- cqi-PUCCH-ResourceIndex INTEGER (0.. 1185),
- cqi-pmi-ConfigIndex INTEGER (0..1023),
- cqi-FormatIndicatorPeriodic CHOICE {
- widebandCQI NULL,
- subbandCQI SEQUENCE {
- k INTEGER (1..4)
- }
- },
- ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR
- simultaneousAckNackAndCQI BOOLEAN
- }
-}
-
-
-DRB-Identity ::= INTEGER (1..32)
-
-
-LogicalChannelConfig ::= SEQUENCE {
- ul-SpecificParameters SEQUENCE {
- priority INTEGER (1..16),
- prioritisedBitRate ENUMERATED {
- kBps0, kBps8, kBps16, kBps32, kBps64, kBps128,
- kBps256, infinity, spare8, spare7, spare6,
- spare5, spare4, spare3, spare2, spare1},
- bucketSizeDuration ENUMERATED {
- ms50, ms100, ms150, ms300, ms500, ms1000, spare2,
- spare1},
- logicalChannelGroup INTEGER (0..3) OPTIONAL -- Need OR
- } OPTIONAL, -- Cond UL
- ...
-}
-
-
-MAC-MainConfig ::= SEQUENCE {
- ul-SCH-Config SEQUENCE {
- maxHARQ-Tx ENUMERATED {
- n1, n2, n3, n4, n5, n6, n7, n8,
- n10, n12, n16, n20, n24, n28,
- spare2, spare1} OPTIONAL, -- Need ON
- periodicBSR-Timer ENUMERATED {
- sf5, sf10, sf16, sf20, sf32, sf40, sf64, sf80,
- sf128, sf160, sf320, sf640, sf1280, sf2560,
- infinity, spare1} OPTIONAL, -- Need ON
- retxBSR-Timer ENUMERATED {
- sf320, sf640, sf1280, sf2560, sf5120,
- sf10240, spare2, spare1},
- ttiBundling BOOLEAN
- } OPTIONAL, -- Need ON
- drx-Config DRX-Config OPTIONAL, -- Need ON
- timeAlignmentTimerDedicated TimeAlignmentTimer,
- phr-Config CHOICE {
- release NULL,
- setup SEQUENCE {
- periodicPHR-Timer ENUMERATED {sf10, sf20, sf50, sf100, sf200,
- sf500, sf1000, infinity},
- prohibitPHR-Timer ENUMERATED {sf0, sf10, sf20, sf50, sf100,
- sf200, sf500, sf1000},
- dl-PathlossChange ENUMERATED {dB1, dB3, dB6, infinity}
- }
- } OPTIONAL, -- Need ON
- ...
-}
-
-DRX-Config ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- onDurationTimer ENUMERATED {
- psf1, psf2, psf3, psf4, psf5, psf6,
- psf8, psf10, psf20, psf30, psf40,
- psf50, psf60, psf80, psf100,
- psf200},
- drx-InactivityTimer ENUMERATED {
- psf1, psf2, psf3, psf4, psf5, psf6,
- psf8, psf10, psf20, psf30, psf40,
- psf50, psf60, psf80, psf100,
- psf200, psf300, psf500, psf750,
- psf1280, psf1920, psf2560, spare10,
- spare9, spare8, spare7, spare6,
- spare5, spare4, spare3, spare2,
- spare1},
- drx-RetransmissionTimer ENUMERATED {
- psf1, psf2, psf4, psf6, psf8, psf16,
- psf24, psf33},
- longDRX-CycleStartOffset CHOICE {
- sf10 INTEGER(0..9),
- sf20 INTEGER(0..19),
- sf32 INTEGER(0..31),
- sf40 INTEGER(0..39),
- sf64 INTEGER(0..63),
- sf80 INTEGER(0..79),
- sf128 INTEGER(0..127),
- sf160 INTEGER(0..159),
- sf256 INTEGER(0..255),
- sf320 INTEGER(0..319),
- sf512 INTEGER(0..511),
- sf640 INTEGER(0..639),
- sf1024 INTEGER(0..1023),
- sf1280 INTEGER(0..1279),
- sf2048 INTEGER(0..2047),
- sf2560 INTEGER(0..2559)
- },
- shortDRX SEQUENCE {
- shortDRX-Cycle ENUMERATED {
- sf2, sf5, sf8, sf10, sf16, sf20,
- sf32, sf40, sf64, sf80, sf128, sf160,
- sf256, sf320, sf512, sf640},
- drxShortCycleTimer INTEGER (1..16)
- } OPTIONAL -- Need OR
- }
-}
-
-
-PDCP-Config ::= SEQUENCE {
- discardTimer ENUMERATED {
- ms50, ms100, ms150, ms300, ms500,
- ms750, ms1500, infinity
- } OPTIONAL, -- Cond Setup
- rlc-AM SEQUENCE {
- statusReportRequired BOOLEAN
- } OPTIONAL, -- Cond Rlc-AM
- rlc-UM SEQUENCE {
- pdcp-SN-Size ENUMERATED {len7bits, len12bits}
- } OPTIONAL, -- Cond Rlc-UM
- headerCompression CHOICE {
- notUsed NULL,
- rohc SEQUENCE {
- maxCID INTEGER (1..16383) DEFAULT 15,
- profiles SEQUENCE {
- profile0x0001 BOOLEAN,
- profile0x0002 BOOLEAN,
- profile0x0003 BOOLEAN,
- profile0x0004 BOOLEAN,
- profile0x0006 BOOLEAN,
- profile0x0101 BOOLEAN,
- profile0x0102 BOOLEAN,
- profile0x0103 BOOLEAN,
- profile0x0104 BOOLEAN
- },
- ...
- }
- },
- ...
-}
-
-
-PDSCH-ConfigCommon::= SEQUENCE {
- referenceSignalPower INTEGER (-60..50),
- p-b INTEGER (0..3)
-}
-
-PDSCH-ConfigDedicated::= SEQUENCE {
- p-a ENUMERATED {
- dB-6, dB-4dot77, dB-3, dB-1dot77,
- dB0, dB1, dB2, dB3 }
-}
-
-
-PHICH-Config ::= SEQUENCE {
- phich-Duration ENUMERATED {normal, extended},
- phich-Resource ENUMERATED {oneSixth, half, one, two}
-}
-
-
-PhysicalConfigDedicated ::= SEQUENCE {
- pdsch-ConfigDedicated PDSCH-ConfigDedicated OPTIONAL, -- Need ON
- pucch-ConfigDedicated PUCCH-ConfigDedicated OPTIONAL, -- Need ON
- pusch-ConfigDedicated PUSCH-ConfigDedicated OPTIONAL, -- Need ON
- uplinkPowerControlDedicated UplinkPowerControlDedicated OPTIONAL, -- Need ON
- tpc-PDCCH-ConfigPUCCH TPC-PDCCH-Config OPTIONAL, -- Need ON
- tpc-PDCCH-ConfigPUSCH TPC-PDCCH-Config OPTIONAL, -- Need ON
- cqi-ReportConfig CQI-ReportConfig OPTIONAL, -- Need ON
- soundingRS-UL-ConfigDedicated SoundingRS-UL-ConfigDedicated OPTIONAL, -- Need ON
- antennaInfo CHOICE {
- explicitValue AntennaInfoDedicated,
- defaultValue NULL
- } OPTIONAL, -- Need ON
- schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need ON
- ...
-}
-
-
-P-Max ::= INTEGER (-30..33)
-
-
-PRACH-ConfigSIB ::= SEQUENCE {
- rootSequenceIndex INTEGER (0..837),
- prach-ConfigInfo PRACH-ConfigInfo
-}
-
-PRACH-Config ::= SEQUENCE {
- rootSequenceIndex INTEGER (0..837),
- prach-ConfigInfo PRACH-ConfigInfo OPTIONAL -- Need ON
-}
-
-PRACH-ConfigInfo ::= SEQUENCE {
- prach-ConfigIndex INTEGER (0..63),
- highSpeedFlag BOOLEAN,
- zeroCorrelationZoneConfig INTEGER (0..15),
- prach-FreqOffset INTEGER (0..94)
-}
-
-
-PresenceAntennaPort1 ::= BOOLEAN
-
-
-PUCCH-ConfigCommon ::= SEQUENCE {
- deltaPUCCH-Shift ENUMERATED {ds1, ds2, ds3},
- nRB-CQI INTEGER (0..98),
- nCS-AN INTEGER (0..7),
- n1PUCCH-AN INTEGER (0..2047)
-}
-
-PUCCH-ConfigDedicated ::= SEQUENCE {
- ackNackRepetition CHOICE{
- release NULL,
- setup SEQUENCE {
- repetitionFactor ENUMERATED { n2, n4, n6, spare1},
- n1PUCCH-AN-Rep INTEGER (0..2047)
- }
- },
- tdd-AckNackFeedbackMode ENUMERATED {bundling, multiplexing} OPTIONAL -- Cond TDD
-}
-
-
-PUSCH-ConfigCommon ::= SEQUENCE {
- pusch-ConfigBasic SEQUENCE {
- n-SB INTEGER (1..4),
- hoppingMode ENUMERATED {interSubFrame, intraAndInterSubFrame},
- pusch-HoppingOffset INTEGER (0..98),
- enable64QAM BOOLEAN
- },
- ul-ReferenceSignalsPUSCH UL-ReferenceSignalsPUSCH
-}
-
-PUSCH-ConfigDedicated ::= SEQUENCE {
- betaOffset-ACK-Index INTEGER (0..15),
- betaOffset-RI-Index INTEGER (0..15),
- betaOffset-CQI-Index INTEGER (0..15)
-}
-
-UL-ReferenceSignalsPUSCH ::= SEQUENCE {
- groupHoppingEnabled BOOLEAN,
- groupAssignmentPUSCH INTEGER (0..29),
- sequenceHoppingEnabled BOOLEAN,
- cyclicShift INTEGER (0..7)
-}
-
-
-RACH-ConfigCommon ::= SEQUENCE {
- preambleInfo SEQUENCE {
- numberOfRA-Preambles ENUMERATED {
- n4, n8, n12, n16 ,n20, n24, n28,
- n32, n36, n40, n44, n48, n52, n56,
- n60, n64},
- preamblesGroupAConfig SEQUENCE {
- sizeOfRA-PreamblesGroupA ENUMERATED {
- n4, n8, n12, n16 ,n20, n24, n28,
- n32, n36, n40, n44, n48, n52, n56,
- n60},
- messageSizeGroupA ENUMERATED {b56, b144, b208, b256},
- messagePowerOffsetGroupB ENUMERATED {
- minusinfinity, dB0, dB5, dB8, dB10, dB12,
- dB15, dB18},
- ...
- } OPTIONAL -- Need OP
- },
- powerRampingParameters SEQUENCE {
- powerRampingStep ENUMERATED {dB0, dB2,dB4, dB6},
- preambleInitialReceivedTargetPower ENUMERATED {
- dBm-120, dBm-118, dBm-116, dBm-114, dBm-112,
- dBm-110, dBm-108, dBm-106, dBm-104, dBm-102,
- dBm-100, dBm-98, dBm-96, dBm-94,
- dBm-92, dBm-90}
- },
- ra-SupervisionInfo SEQUENCE {
- preambleTransMax ENUMERATED {
- n3, n4, n5, n6, n7, n8, n10, n20, n50,
- n100, n200},
- ra-ResponseWindowSize ENUMERATED {
- sf2, sf3, sf4, sf5, sf6, sf7,
- sf8, sf10},
- mac-ContentionResolutionTimer ENUMERATED {
- sf8, sf16, sf24, sf32, sf40, sf48,
- sf56, sf64}
- },
- maxHARQ-Msg3Tx INTEGER (1..8),
- ...
-}
-
-
-RACH-ConfigDedicated ::= SEQUENCE {
- ra-PreambleIndex INTEGER (0..63),
- ra-PRACH-MaskIndex INTEGER (0..15)
-}
-
-
-RadioResourceConfigCommonSIB ::= SEQUENCE {
- rach-ConfigCommon RACH-ConfigCommon,
- bcch-Config BCCH-Config,
- pcch-Config PCCH-Config,
- prach-Config PRACH-ConfigSIB,
- pdsch-ConfigCommon PDSCH-ConfigCommon,
- pusch-ConfigCommon PUSCH-ConfigCommon,
- pucch-ConfigCommon PUCCH-ConfigCommon,
- soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon,
- uplinkPowerControlCommon UplinkPowerControlCommon,
- ul-CyclicPrefixLength UL-CyclicPrefixLength,
- ...
-}
-
-RadioResourceConfigCommon ::= SEQUENCE {
- rach-ConfigCommon RACH-ConfigCommon OPTIONAL, -- Need ON
- prach-Config PRACH-Config,
- pdsch-ConfigCommon PDSCH-ConfigCommon OPTIONAL, -- Need ON
- pusch-ConfigCommon PUSCH-ConfigCommon,
- phich-Config PHICH-Config OPTIONAL, -- Need ON
- pucch-ConfigCommon PUCCH-ConfigCommon OPTIONAL, -- Need ON
- soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon OPTIONAL, -- Need ON
- uplinkPowerControlCommon UplinkPowerControlCommon OPTIONAL, -- Need ON
- antennaInfoCommon AntennaInfoCommon OPTIONAL, -- Need ON
- p-Max P-Max OPTIONAL, -- Need OP
- tdd-Config TDD-Config OPTIONAL, -- Cond TDD
- ul-CyclicPrefixLength UL-CyclicPrefixLength,
- ...
-}
-
-BCCH-Config ::= SEQUENCE {
- modificationPeriodCoeff ENUMERATED {n2, n4, n8, n16}
-}
-
-PCCH-Config ::= SEQUENCE {
- defaultPagingCycle ENUMERATED {
- rf32, rf64, rf128, rf256},
- nB ENUMERATED {
- fourT, twoT, oneT, halfT, quarterT, oneEighthT,
- oneSixteenthT, oneThirtySecondT}
-}
-
-UL-CyclicPrefixLength ::= ENUMERATED {len1, len2}
-
-
-RadioResourceConfigDedicated ::= SEQUENCE {
- srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Cond HO-Conn
- drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Cond HO-toEUTRA
- drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need ON
- mac-MainConfig CHOICE {
- explicitValue MAC-MainConfig,
- defaultValue NULL
- } OPTIONAL, -- Cond HO-toEUTRA2
- sps-Config SPS-Config OPTIONAL, -- Need ON
- physicalConfigDedicated PhysicalConfigDedicated OPTIONAL, -- Need ON
- ...
-}
-
-SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod
-
-SRB-ToAddMod ::= SEQUENCE {
- srb-Identity INTEGER (1..2),
- rlc-Config CHOICE {
- explicitValue RLC-Config,
- defaultValue NULL
- } OPTIONAL, -- Cond Setup
- logicalChannelConfig CHOICE {
- explicitValue LogicalChannelConfig,
- defaultValue NULL
- } OPTIONAL, -- Cond Setup
- ...
-}
-
-DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod
-
-DRB-ToAddMod ::= SEQUENCE {
- eps-BearerIdentity INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup
- drb-Identity DRB-Identity,
- pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
- rlc-Config RLC-Config OPTIONAL, -- Cond Setup
- logicalChannelIdentity INTEGER (3..10) OPTIONAL, -- Cond DRB-Setup
- logicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond Setup
- ...
-}
-
-DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity
-
-
-RLC-Config ::= CHOICE {
- am SEQUENCE {
- ul-AM-RLC UL-AM-RLC,
- dl-AM-RLC DL-AM-RLC
- },
- um-Bi-Directional SEQUENCE {
- ul-UM-RLC UL-UM-RLC,
- dl-UM-RLC DL-UM-RLC
- },
- um-Uni-Directional-UL SEQUENCE {
- ul-UM-RLC UL-UM-RLC
- },
- um-Uni-Directional-DL SEQUENCE {
- dl-UM-RLC DL-UM-RLC
- },
- ...
-}
-
-UL-AM-RLC ::= SEQUENCE {
- t-PollRetransmit T-PollRetransmit,
- pollPDU PollPDU,
- pollByte PollByte,
- maxRetxThreshold ENUMERATED {
- t1, t2, t3, t4, t6, t8, t16, t32}
-}
-
-DL-AM-RLC ::= SEQUENCE {
- t-Reordering T-Reordering,
- t-StatusProhibit T-StatusProhibit
-}
-
-UL-UM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLength
-}
-
-DL-UM-RLC ::= SEQUENCE {
- sn-FieldLength SN-FieldLength,
- t-Reordering T-Reordering
-}
-
-SN-FieldLength ::= ENUMERATED {size5, size10}
-
-T-PollRetransmit ::= ENUMERATED {
- ms5, ms10, ms15, ms20, ms25, ms30, ms35,
- ms40, ms45, ms50, ms55, ms60, ms65, ms70,
- ms75, ms80, ms85, ms90, ms95, ms100, ms105,
- ms110, ms115, ms120, ms125, ms130, ms135,
- ms140, ms145, ms150, ms155, ms160, ms165,
- ms170, ms175, ms180, ms185, ms190, ms195,
- ms200, ms205, ms210, ms215, ms220, ms225,
- ms230, ms235, ms240, ms245, ms250, ms300,
- ms350, ms400, ms450, ms500, spare9, spare8,
- spare7, spare6, spare5, spare4, spare3,
- spare2, spare1}
-
-PollPDU ::= ENUMERATED {
- p4, p8, p16, p32, p64, p128, p256, pInfinity}
-
-PollByte ::= ENUMERATED {
- kB25, kB50, kB75, kB100, kB125, kB250, kB375,
- kB500, kB750, kB1000, kB1250, kB1500, kB2000,
- kB3000, kBinfinity, spare1}
-
-T-Reordering ::= ENUMERATED {
- ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
- ms40, ms45, ms50, ms55, ms60, ms65, ms70,
- ms75, ms80, ms85, ms90, ms95, ms100, ms110,
- ms120, ms130, ms140, ms150, ms160, ms170,
- ms180, ms190, ms200, spare1}
-
-T-StatusProhibit ::= ENUMERATED {
- ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
- ms40, ms45, ms50, ms55, ms60, ms65, ms70,
- ms75, ms80, ms85, ms90, ms95, ms100, ms105,
- ms110, ms115, ms120, ms125, ms130, ms135,
- ms140, ms145, ms150, ms155, ms160, ms165,
- ms170, ms175, ms180, ms185, ms190, ms195,
- ms200, ms205, ms210, ms215, ms220, ms225,
- ms230, ms235, ms240, ms245, ms250, ms300,
- ms350, ms400, ms450, ms500, spare8, spare7,
- spare6, spare5, spare4, spare3, spare2,
- spare1}
-
-
-SchedulingRequestConfig ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- sr-PUCCH-ResourceIndex INTEGER (0..2047),
- sr-ConfigIndex INTEGER (0..155),
- dsr-TransMax ENUMERATED {
- n4, n8, n16, n32, n64, spare3, spare2, spare1}
- }
-}
-
-
-SoundingRS-UL-ConfigCommon ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- srs-BandwidthConfig ENUMERATED {bw0, bw1, bw2, bw3, bw4, bw5, bw6, bw7},
- srs-SubframeConfig ENUMERATED {
- sc0, sc1, sc2, sc3, sc4, sc5, sc6, sc7,
- sc8, sc9, sc10, sc11, sc12, sc13, sc14, sc15},
- ackNackSRS-SimultaneousTransmission BOOLEAN,
- srs-MaxUpPts ENUMERATED {true} OPTIONAL -- Cond TDD
- }
-}
-
-SoundingRS-UL-ConfigDedicated ::= CHOICE{
- release NULL,
- setup SEQUENCE {
- srs-Bandwidth ENUMERATED {bw0, bw1, bw2, bw3},
- srs-HoppingBandwidth ENUMERATED {hbw0, hbw1, hbw2, hbw3},
- freqDomainPosition INTEGER (0..23),
- duration BOOLEAN,
- srs-ConfigIndex INTEGER (0..1023),
- transmissionComb INTEGER (0..1),
- cyclicShift ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7}
- }
-}
-
-
-
-SPS-Config ::= SEQUENCE {
- semiPersistSchedC-RNTI C-RNTI OPTIONAL, -- Need OR
- sps-ConfigDL SPS-ConfigDL OPTIONAL, -- Need ON
- sps-ConfigUL SPS-ConfigUL OPTIONAL -- Need ON
-}
-
-SPS-ConfigDL ::= CHOICE{
- release NULL,
- setup SEQUENCE {
- semiPersistSchedIntervalDL ENUMERATED {
- sf10, sf20, sf32, sf40, sf64, sf80,
- sf128, sf160, sf320, sf640, spare6,
- spare5, spare4, spare3, spare2,
- spare1},
- numberOfConfSPS-Processes INTEGER (1..8),
- n1-PUCCH-AN-PersistentList N1-PUCCH-AN-PersistentList,
- ...
- }
-}
-
-SPS-ConfigUL ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- semiPersistSchedIntervalUL ENUMERATED {
- sf10, sf20, sf32, sf40, sf64, sf80,
- sf128, sf160, sf320, sf640, spare6,
- spare5, spare4, spare3, spare2,
- spare1},
- implicitReleaseAfter ENUMERATED {e2, e3, e4, e8},
- p0-Persistent SEQUENCE {
- p0-NominalPUSCH-Persistent INTEGER (-126..24),
- p0-UE-PUSCH-Persistent INTEGER (-8..7)
- } OPTIONAL, -- Need OP
- twoIntervalsConfig ENUMERATED {true} OPTIONAL, -- Cond TDD
- ...
- }
-}
-
-N1-PUCCH-AN-PersistentList ::= SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047)
-
-
-TDD-Config ::= SEQUENCE {
- subframeAssignment ENUMERATED {
- sa0, sa1, sa2, sa3, sa4, sa5, sa6},
- specialSubframePatterns ENUMERATED {
- ssp0, ssp1, ssp2, ssp3, ssp4,ssp5, ssp6, ssp7,
- ssp8}
-}
-
-
-TimeAlignmentTimer ::= ENUMERATED {
- sf500, sf750, sf1280, sf1920, sf2560, sf5120,
- sf10240, infinity}
-
-TPC-PDCCH-Config::= CHOICE {
- release NULL,
- setup SEQUENCE {
- tpc-RNTI BIT STRING (SIZE (16)),
- tpc-Index TPC-Index
- }
-}
-
-TPC-Index ::= CHOICE {
- indexOfFormat3 INTEGER (1..15),
- indexOfFormat3A INTEGER (1..31)
-}
-
-
-UplinkPowerControlCommon ::= SEQUENCE {
- p0-NominalPUSCH INTEGER (-126..24),
- alpha ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1},
- p0-NominalPUCCH INTEGER (-127..-96),
- deltaFList-PUCCH DeltaFList-PUCCH,
- deltaPreambleMsg3 INTEGER (-1..6)
-}
-
-UplinkPowerControlDedicated ::= SEQUENCE {
- p0-UE-PUSCH INTEGER (-8..7),
- deltaMCS-Enabled ENUMERATED {en0, en1},
- accumulationEnabled BOOLEAN,
- p0-UE-PUCCH INTEGER (-8..7),
- pSRS-Offset INTEGER (0..15),
- filterCoefficient FilterCoefficient DEFAULT fc4
-}
-
-DeltaFList-PUCCH ::= SEQUENCE {
- deltaF-PUCCH-Format1 ENUMERATED {deltaF-2, deltaF0, deltaF2},
- deltaF-PUCCH-Format1b ENUMERATED {deltaF1, deltaF3, deltaF5},
- deltaF-PUCCH-Format2 ENUMERATED {deltaF-2, deltaF0, deltaF1, deltaF2},
- deltaF-PUCCH-Format2a ENUMERATED {deltaF-2, deltaF0, deltaF2},
- deltaF-PUCCH-Format2b ENUMERATED {deltaF-2, deltaF0, deltaF2}
-}
-
-
-NextHopChainingCount ::= INTEGER (0..7)
-
-
-SecurityAlgorithmConfig ::= SEQUENCE {
- cipheringAlgorithm ENUMERATED {
- eea0, eea1, eea2, spare5, spare4, spare3,
- spare2, spare1, ...},
- integrityProtAlgorithm ENUMERATED {
- reserved, eia1, eia2, spare5, spare4, spare3,
- spare2, spare1, ...}
-}
-
-
-ShortMAC-I ::= BIT STRING (SIZE (16))
-
-
-AdditionalSpectrumEmission ::= INTEGER (1..32)
-
-
-ARFCN-ValueCDMA2000 ::= INTEGER (0..2047)
-
-
-ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN)
-
-
-ARFCN-ValueGERAN ::= INTEGER (0..1023)
-
-
-ARFCN-ValueUTRA ::= INTEGER (0..16383)
-
-
-BandclassCDMA2000 ::= ENUMERATED {
- bc0, bc1, bc2, bc3, bc4, bc5, bc6, bc7, bc8,
- bc9, bc10, bc11, bc12, bc13, bc14, bc15, bc16,
- bc17, spare14, spare13, spare12, spare11, spare10,
- spare9, spare8, spare7, spare6, spare5, spare4,
- spare3, spare2, spare1, ...}
-
-
-BandIndicatorGERAN ::= ENUMERATED {dcs1800, pcs1900}
-
-
-CarrierFreqCDMA2000 ::= SEQUENCE {
- bandClass BandclassCDMA2000,
- arfcn ARFCN-ValueCDMA2000
-}
-
-
-CarrierFreqGERAN ::= SEQUENCE {
- arfcn ARFCN-ValueGERAN,
- bandIndicator BandIndicatorGERAN
-}
-
-
-CarrierFreqsGERAN ::= SEQUENCE {
- startingARFCN ARFCN-ValueGERAN,
- bandIndicator BandIndicatorGERAN,
- followingARFCNs CHOICE {
- explicitListOfARFCNs ExplicitListOfARFCNs,
- equallySpacedARFCNs SEQUENCE {
- arfcn-Spacing INTEGER (1..8),
- numberOfFollowingARFCNs INTEGER (0..31)
- },
- variableBitMapOfARFCNs OCTET STRING (SIZE (1..16))
- }
-}
-
-ExplicitListOfARFCNs ::= SEQUENCE (SIZE (0..31)) OF ARFCN-ValueGERAN
-
-
-CDMA2000-Type ::= ENUMERATED {type1XRTT, typeHRPD}
-
-
-CellIdentity ::= BIT STRING (SIZE (28))
-
-
-CellIndexList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellIndex
-
-CellIndex ::= INTEGER (1..maxCellMeas)
-
-
-CellReselectionPriority ::= INTEGER (0..7)
-
-
-CSFB-RegistrationParam1XRTT ::= SEQUENCE {
- sid BIT STRING (SIZE (15)),
- nid BIT STRING (SIZE (16)),
- multipleSID BOOLEAN,
- multipleNID BOOLEAN,
- homeReg BOOLEAN,
- foreignSIDReg BOOLEAN,
- foreignNIDReg BOOLEAN,
- parameterReg BOOLEAN,
- powerUpReg BOOLEAN,
- registrationPeriod BIT STRING (SIZE (7)),
- registrationZone BIT STRING (SIZE (12)),
- totalZone BIT STRING (SIZE (3)),
- zoneTimer BIT STRING (SIZE (3))
-}
-
-
-CellGlobalIdEUTRA ::= SEQUENCE {
- plmn-Identity PLMN-Identity,
- cellIdentity CellIdentity
-}
-
-
-CellGlobalIdUTRA ::= SEQUENCE {
- plmn-Identity PLMN-Identity,
- cellIdentity BIT STRING (SIZE (28))
-}
-
-
-CellGlobalIdGERAN ::= SEQUENCE {
- plmn-Identity PLMN-Identity,
- locationAreaCode BIT STRING (SIZE (16)),
- cellIdentity BIT STRING (SIZE (16))
-}
-
-
-CellGlobalIdCDMA2000 ::= CHOICE {
- cellGlobalId1XRTT BIT STRING (SIZE (47)),
- cellGlobalIdHRPD BIT STRING (SIZE (128))
-}
-
-
-MobilityControlInfo ::= SEQUENCE {
- targetPhysCellId PhysCellId,
- carrierFreq CarrierFreqEUTRA OPTIONAL, -- Cond HO-toEUTRA
- carrierBandwidth CarrierBandwidthEUTRA OPTIONAL, -- Cond HO-toEUTRA
- additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Cond HO-toEUTRA
- t304 ENUMERATED {
- ms50, ms100, ms150, ms200, ms500, ms1000,
- ms2000, spare1},
- newUE-Identity C-RNTI,
- radioResourceConfigCommon RadioResourceConfigCommon,
- rach-ConfigDedicated RACH-ConfigDedicated OPTIONAL, -- Need OP
- ...
-}
-
-CarrierBandwidthEUTRA ::= SEQUENCE {
- dl-Bandwidth ENUMERATED {
- n6, n15, n25, n50, n75, n100, spare10,
- spare9, spare8, spare7, spare6, spare5,
- spare4, spare3, spare2, spare1},
- ul-Bandwidth ENUMERATED {
- n6, n15, n25, n50, n75, n100, spare10,
- spare9, spare8, spare7, spare6, spare5,
- spare4, spare3, spare2, spare1} OPTIONAL -- Need OP
-}
-
-CarrierFreqEUTRA ::= SEQUENCE {
- dl-CarrierFreq ARFCN-ValueEUTRA,
- ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL -- Cond FDD
-}
-
-
-MobilityParametersCDMA2000 ::= OCTET STRING
-
-
-MobilityStateParameters ::= SEQUENCE {
- t-Evaluation ENUMERATED {
- s30, s60, s120, s180, s240, spare3, spare2, spare1},
- t-HystNormal ENUMERATED {
- s30, s60, s120, s180, s240, spare3, spare2, spare1},
- n-CellChangeMedium INTEGER (1..16),
- n-CellChangeHigh INTEGER (1..16)
-}
-
-
-PhysCellId ::= INTEGER (0..503)
-
-
-PhysCellIdRange ::= SEQUENCE {
- start PhysCellId,
- range ENUMERATED {
- n4, n8, n12, n16, n24, n32, n48, n64, n84,
- n96, n128, n168, n252, n504, spare2,
- spare1} OPTIONAL -- Need OP
-}
-
-
-PhysCellIdCDMA2000 ::= INTEGER (0..maxPNOffset)
-
-
-PhysCellIdGERAN ::= SEQUENCE {
- networkColourCode BIT STRING (SIZE (3)),
- baseStationColourCode BIT STRING (SIZE (3))
-}
-
-
-PhysCellIdUTRA-FDD ::= INTEGER (0..511)
-
-
-PhysCellIdUTRA-TDD ::= INTEGER (0..127)
-
-
-PLMN-Identity ::= SEQUENCE {
- mcc MCC OPTIONAL, -- Cond MCC
- mnc MNC
-}
-
-MCC ::= SEQUENCE (SIZE (3)) OF
- MCC-MNC-Digit
-
-MNC ::= SEQUENCE (SIZE (2..3)) OF
- MCC-MNC-Digit
-
-MCC-MNC-Digit ::= INTEGER (0..9)
-
-
-
-PreRegistrationInfoHRPD ::= SEQUENCE {
- preRegistrationAllowed BOOLEAN,
- preRegistrationZoneId PreRegistrationZoneIdHRPD OPTIONAL, -- cond PreRegAllowed
- secondaryPreRegistrationZoneIdList SecondaryPreRegistrationZoneIdListHRPD OPTIONAL -- Need OR
-}
-
-SecondaryPreRegistrationZoneIdListHRPD ::= SEQUENCE (SIZE (1..2)) OF PreRegistrationZoneIdHRPD
-
-PreRegistrationZoneIdHRPD ::= INTEGER (0..255)
-
-
-Q-RxLevMin ::= INTEGER (-70..-22)
-
-
-Q-OffsetRange ::= ENUMERATED {
- dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,
- dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3,
- dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5,
- dB6, dB8, dB10, dB12, dB14, dB16, dB18,
- dB20, dB22, dB24}
-
-
-Q-OffsetRangeInterRAT ::= INTEGER (-15..15)
-
-
-ReselectionThreshold ::= INTEGER (0..31)
-
-
-SpeedStateScaleFactors ::= SEQUENCE {
- sf-Medium ENUMERATED {oDot25, oDot5, oDot75, lDot0},
- sf-High ENUMERATED {oDot25, oDot5, oDot75, lDot0}
-}
-
-SystemTimeInfoCDMA2000 ::= SEQUENCE {
- cdma-EUTRA-Synchronisation BOOLEAN,
- cdma-SystemTime CHOICE {
- synchronousSystemTime BIT STRING (SIZE (39)),
- asynchronousSystemTime BIT STRING (SIZE (49))
- }
-}
-
-
-TrackingAreaCode ::= BIT STRING (SIZE (16))
-
-
-T-Reselection ::= INTEGER (0..7)
-
-
-AllowedMeasBandwidth ::= ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100}
-
-
-Hysteresis ::= INTEGER (0..30)
-
-
-MeasConfig ::= SEQUENCE {
- -- Measurement objects
- measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need ON
- measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need ON
- -- Reporting configurations
- reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need ON
- reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need ON
- -- Measurement identities
- measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need ON
- measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need ON
- -- Other parameters
- quantityConfig QuantityConfig OPTIONAL, -- Need ON
- measGapConfig MeasGapConfig OPTIONAL, -- Need ON
- s-Measure RSRP-Range OPTIONAL, -- Need ON
- preRegistrationInfoHRPD PreRegistrationInfoHRPD OPTIONAL, -- Need OP
- speedStatePars CHOICE {
- release NULL,
- setup SEQUENCE {
- mobilityStateParameters MobilityStateParameters,
- timeToTrigger-SF SpeedStateScaleFactors
- }
- } OPTIONAL, -- Need ON
- ...
-}
-
-MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId
-
-MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectId
-
-ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId
-
-
-MeasGapConfig ::= CHOICE {
- release NULL,
- setup SEQUENCE {
- gapOffset CHOICE {
- gp0 INTEGER (0..39),
- gp1 INTEGER (0..79),
- ...
- }
- }
-}
-
-
-MeasId ::= INTEGER (1..maxMeasId)
-
-
-MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddMod
-
-MeasIdToAddMod ::= SEQUENCE {
- measId MeasId,
- measObjectId MeasObjectId,
- reportConfigId ReportConfigId
-}
-
-
-MeasObjectCDMA2000 ::= SEQUENCE {
- cdma2000-Type CDMA2000-Type,
- carrierFreq CarrierFreqCDMA2000,
- searchWindowSize INTEGER (0..15) OPTIONAL, -- Need ON
- offsetFreq Q-OffsetRangeInterRAT DEFAULT 0,
- cellsToRemoveList CellIndexList OPTIONAL, -- Need ON
- cellsToAddModList CellsToAddModListCDMA2000 OPTIONAL, -- Need ON
- cellForWhichToReportCGI PhysCellIdCDMA2000 OPTIONAL, -- Need ON
- ...
-}
-
-CellsToAddModListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModCDMA2000
-
-CellsToAddModCDMA2000 ::= SEQUENCE {
- cellIndex INTEGER (1..maxCellMeas),
- physCellId PhysCellIdCDMA2000
-}
-
-
-MeasObjectEUTRA ::= SEQUENCE {
- carrierFreq ARFCN-ValueEUTRA,
- allowedMeasBandwidth AllowedMeasBandwidth,
- presenceAntennaPort1 PresenceAntennaPort1,
- neighCellConfig NeighCellConfig,
- offsetFreq Q-OffsetRange DEFAULT dB0,
- -- Neighbour cell list
- cellsToRemoveList CellIndexList OPTIONAL, -- Need ON
- cellsToAddModList CellsToAddModList OPTIONAL, -- Need ON
- -- Black list
- blackCellsToRemoveList CellIndexList OPTIONAL, -- Need ON
- blackCellsToAddModList BlackCellsToAddModList OPTIONAL, -- Need ON
- cellForWhichToReportCGI PhysCellId OPTIONAL, -- Need ON
- ...
-}
-
-CellsToAddModList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddMod
-
-CellsToAddMod ::= SEQUENCE {
- cellIndex INTEGER (1..maxCellMeas),
- physCellId PhysCellId,
- cellIndividualOffset Q-OffsetRange
-}
-
-BlackCellsToAddModList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF BlackCellsToAddMod
-
-BlackCellsToAddMod ::= SEQUENCE {
- cellIndex INTEGER (1..maxCellMeas),
- physCellIdRange PhysCellIdRange
-}
-
-
-MeasObjectGERAN ::= SEQUENCE {
- carrierFreqs CarrierFreqsGERAN,
- offsetFreq Q-OffsetRangeInterRAT DEFAULT 0,
- ncc-Permitted BIT STRING(SIZE (8)) DEFAULT '11111111'B,
- cellForWhichToReportCGI PhysCellIdGERAN OPTIONAL, -- Need ON
- ...
-}
-
-
-MeasObjectId ::= INTEGER (1..maxObjectId)
-
-
-MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectToAddMod
-
-MeasObjectToAddMod ::= SEQUENCE {
- measObjectId MeasObjectId,
- measObject CHOICE {
- measObjectEUTRA MeasObjectEUTRA,
- measObjectUTRA MeasObjectUTRA,
- measObjectGERAN MeasObjectGERAN,
- measObjectCDMA2000 MeasObjectCDMA2000,
- ...
- }
-}
-
-
-MeasObjectUTRA ::= SEQUENCE {
- carrierFreq ARFCN-ValueUTRA,
- offsetFreq Q-OffsetRangeInterRAT DEFAULT 0,
- cellsToRemoveList CellIndexList OPTIONAL, -- Need ON
- cellsToAddModList CHOICE {
- cellsToAddModListUTRA-FDD CellsToAddModListUTRA-FDD,
- cellsToAddModListUTRA-TDD CellsToAddModListUTRA-TDD
- } OPTIONAL, -- Need ON
- cellForWhichToReportCGI CHOICE {
- utra-FDD PhysCellIdUTRA-FDD,
- utra-TDD PhysCellIdUTRA-TDD
- } OPTIONAL, -- Need ON
- ...
-}
-
-CellsToAddModListUTRA-FDD ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModUTRA-FDD
-
-CellsToAddModUTRA-FDD ::= SEQUENCE {
- cellIndex INTEGER (1..maxCellMeas),
- physCellId PhysCellIdUTRA-FDD
-}
-
-CellsToAddModListUTRA-TDD ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModUTRA-TDD
-
-CellsToAddModUTRA-TDD ::= SEQUENCE {
- cellIndex INTEGER (1..maxCellMeas),
- physCellId PhysCellIdUTRA-TDD
-}
-
-
-MeasResults ::= SEQUENCE {
- measId MeasId,
- measResultServCell SEQUENCE {
- rsrpResult RSRP-Range,
- rsrqResult RSRQ-Range
- },
- measResultNeighCells CHOICE {
- measResultListEUTRA MeasResultListEUTRA,
- measResultListUTRA MeasResultListUTRA,
- measResultListGERAN MeasResultListGERAN,
- measResultsCDMA2000 MeasResultsCDMA2000,
- ...
- } OPTIONAL,
- ...
-}
-
-MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA
-
-MeasResultEUTRA ::= SEQUENCE {
- physCellId PhysCellId,
- cgi-Info SEQUENCE {
- cellGlobalId CellGlobalIdEUTRA,
- trackingAreaCode TrackingAreaCode,
- plmn-IdentityList PLMN-IdentityList2 OPTIONAL
- } OPTIONAL,
- measResult SEQUENCE {
- rsrpResult RSRP-Range OPTIONAL,
- rsrqResult RSRQ-Range OPTIONAL,
- ...
- }
-}
-
-MeasResultListUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultUTRA
-
-MeasResultUTRA ::= SEQUENCE {
- physCellId CHOICE {
- fdd PhysCellIdUTRA-FDD,
- tdd PhysCellIdUTRA-TDD
- },
- cgi-Info SEQUENCE {
- cellGlobalId CellGlobalIdUTRA,
- locationAreaCode BIT STRING (SIZE (16)) OPTIONAL,
- routingAreaCode BIT STRING (SIZE (8)) OPTIONAL,
- plmn-IdentityList PLMN-IdentityList2 OPTIONAL
- } OPTIONAL,
- measResult SEQUENCE {
- utra-RSCP INTEGER (-5..91) OPTIONAL,
- utra-EcN0 INTEGER (0..49) OPTIONAL,
- ...
- }
-}
-
-MeasResultListGERAN ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultGERAN
-
-MeasResultGERAN ::= SEQUENCE {
- carrierFreq CarrierFreqGERAN,
- physCellId PhysCellIdGERAN,
- cgi-Info SEQUENCE {
- cellGlobalId CellGlobalIdGERAN,
- routingAreaCode BIT STRING (SIZE (8)) OPTIONAL
- } OPTIONAL,
- measResult SEQUENCE {
- rssi INTEGER (0..63),
- ...
- }
-}
-
-MeasResultsCDMA2000 ::= SEQUENCE {
- preRegistrationStatusHRPD BOOLEAN,
- measResultListCDMA2000 MeasResultListCDMA2000
-}
-
-MeasResultListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCDMA2000
-
-MeasResultCDMA2000 ::= SEQUENCE {
- physCellId PhysCellIdCDMA2000,
- cgi-Info CellGlobalIdCDMA2000 OPTIONAL,
- measResult SEQUENCE {
- pilotPnPhase INTEGER (0..32767) OPTIONAL,
- pilotStrength INTEGER (0..63),
- ...
- }
-}
-
-PLMN-IdentityList2 ::= SEQUENCE (SIZE (1..5)) OF PLMN-Identity
-
-
-QuantityConfig ::= SEQUENCE {
- quantityConfigEUTRA QuantityConfigEUTRA OPTIONAL, -- Need ON
- quantityConfigUTRA QuantityConfigUTRA OPTIONAL, -- Need ON
- quantityConfigGERAN QuantityConfigGERAN OPTIONAL, -- Need ON
- quantityConfigCDMA2000 QuantityConfigCDMA2000 OPTIONAL, -- Need ON
- ...
-}
-
-QuantityConfigEUTRA ::= SEQUENCE {
- filterCoefficientRSRP FilterCoefficient DEFAULT fc4,
- filterCoefficientRSRQ FilterCoefficient DEFAULT fc4
-}
-
-QuantityConfigUTRA ::= SEQUENCE {
- measQuantityUTRA-FDD ENUMERATED {cpich-RSCP, cpich-EcN0},
- measQuantityUTRA-TDD ENUMERATED {pccpch-RSCP},
- filterCoefficient FilterCoefficient DEFAULT fc4
-}
-
-QuantityConfigGERAN ::= SEQUENCE {
- measQuantityGERAN ENUMERATED {rssi},
- filterCoefficient FilterCoefficient DEFAULT fc2
-}
-
-QuantityConfigCDMA2000 ::= SEQUENCE {
- measQuantityCDMA2000 ENUMERATED {pilotStrength, pilotPnPhaseAndPilotStrength}
-}
-
-
-ReportConfigEUTRA ::= SEQUENCE {
- triggerType CHOICE {
- event SEQUENCE {
- eventId CHOICE {
- eventA1 SEQUENCE {
- a1-Threshold ThresholdEUTRA
- },
- eventA2 SEQUENCE {
- a2-Threshold ThresholdEUTRA
- },
- eventA3 SEQUENCE {
- a3-Offset INTEGER (-30..30),
- reportOnLeave BOOLEAN
- },
- eventA4 SEQUENCE {
- a4-Threshold ThresholdEUTRA
- },
- eventA5 SEQUENCE {
- a5-Threshold1 ThresholdEUTRA,
- a5-Threshold2 ThresholdEUTRA
- },
- ...
- },
- hysteresis Hysteresis,
- timeToTrigger TimeToTrigger
- },
- periodical SEQUENCE {
- purpose ENUMERATED {
- reportStrongestCells, reportCGI}
- }
- },
- triggerQuantity ENUMERATED {rsrp, rsrq},
- reportQuantity ENUMERATED {sameAsTriggerQuantity, both},
- maxReportCells INTEGER (1..maxCellReport),
- reportInterval ReportInterval,
- reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
- ...
-}
-
-ThresholdEUTRA ::= CHOICE{
- threshold-RSRP RSRP-Range,
- threshold-RSRQ RSRQ-Range
-}
-
-
-ReportConfigId ::= INTEGER (1..maxReportConfigId)
-
-
-ReportConfigInterRAT ::= SEQUENCE {
- triggerType CHOICE {
- event SEQUENCE {
- eventId CHOICE {
- eventB1 SEQUENCE {
- b1-Threshold CHOICE {
- b1-ThresholdUTRA ThresholdUTRA,
- b1-ThresholdGERAN ThresholdGERAN,
- b1-ThresholdCDMA2000 ThresholdCDMA2000
- }
- },
- eventB2 SEQUENCE {
- b2-Threshold1 ThresholdEUTRA,
- b2-Threshold2 CHOICE {
- b2-Threshold2UTRA ThresholdUTRA,
- b2-Threshold2GERAN ThresholdGERAN,
- b2-Threshold2CDMA2000 ThresholdCDMA2000
- }
- },
- ...
- },
- hysteresis Hysteresis,
- timeToTrigger TimeToTrigger
- },
- periodical SEQUENCE {
- purpose ENUMERATED {
- reportStrongestCells,
- reportStrongestCellsForSON,
- reportCGI}
- }
- },
- maxReportCells INTEGER (1..maxCellReport),
- reportInterval ReportInterval,
- reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
- ...
-}
-
-ThresholdUTRA ::= CHOICE{
- utra-RSCP INTEGER (-5..91),
- utra-EcN0 INTEGER (0..49)
-}
-
-ThresholdGERAN ::= INTEGER (0..63)
-
-ThresholdCDMA2000 ::= INTEGER (0..63)
-
-
-ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod
-
-ReportConfigToAddMod ::= SEQUENCE {
- reportConfigId ReportConfigId,
- reportConfig CHOICE {
- reportConfigEUTRA ReportConfigEUTRA,
- reportConfigInterRAT ReportConfigInterRAT
- }
-}
-
-
-
-ReportInterval ::= ENUMERATED {
- ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240,
- min1, min6, min12, min30, min60, spare3, spare2, spare1}
-
-
-RSRP-Range ::= INTEGER(0..97)
-
-
-RSRQ-Range ::= INTEGER(0..34)
-
-
-TimeToTrigger ::= ENUMERATED {
- ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256,
- ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560,
- ms5120}
-
-
-C-RNTI ::= BIT STRING (SIZE (16))
-
-
-DedicatedInfoCDMA2000 ::= OCTET STRING
-
-
-DedicatedInfoNAS ::= OCTET STRING
-
-
-FilterCoefficient ::= ENUMERATED {
- fc0, fc1, fc2, fc3, fc4, fc5,
- fc6, fc7, fc8, fc9, fc11, fc13,
- fc15, fc17, fc19, spare1, ...}
-
-
-MMEC ::= BIT STRING (SIZE (8))
-
-
-NeighCellConfig ::= BIT STRING (SIZE (2))
-
-
-RAND-CDMA2000 ::= BIT STRING (SIZE (32))
-
-
-RAT-Type ::= ENUMERATED {
- eutra, utra, geran-cs, geran-ps, cdma2000-1XRTT,
- spare3, spare2, spare1, ...}
-
-
-RRC-TransactionIdentifier ::= INTEGER (0..3)
-
-
-S-TMSI ::= SEQUENCE {
- mmec MMEC,
- m-TMSI BIT STRING (SIZE (32))
-}
-
-
-UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0..maxRAT-Capabilities)) OF UE-CapabilityRAT-Container
-
-UE-CapabilityRAT-Container ::= SEQUENCE {
- rat-Type RAT-Type,
- ueCapabilityRAT-Container OCTET STRING
-}
-
-
-UE-EUTRA-Capability ::= SEQUENCE {
- accessStratumRelease AccessStratumRelease,
- ue-Category INTEGER (1..5),
- pdcp-Parameters PDCP-Parameters,
- phyLayerParameters PhyLayerParameters,
- rf-Parameters RF-Parameters,
- measParameters MeasParameters,
- featureGroupIndicators BIT STRING (SIZE (32)) OPTIONAL,
- interRAT-Parameters SEQUENCE {
- utraFDD IRAT-ParametersUTRA-FDD OPTIONAL,
- utraTDD128 IRAT-ParametersUTRA-TDD128 OPTIONAL,
- utraTDD384 IRAT-ParametersUTRA-TDD384 OPTIONAL,
- utraTDD768 IRAT-ParametersUTRA-TDD768 OPTIONAL,
- geran IRAT-ParametersGERAN OPTIONAL,
- cdma2000-HRPD IRAT-ParametersCDMA2000-HRPD OPTIONAL,
- cdma2000-1xRTT IRAT-ParametersCDMA2000-1XRTT OPTIONAL
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-AccessStratumRelease ::= ENUMERATED {
- rel8, spare7, spare6, spare5, spare4, spare3,
- spare2, spare1, ...}
-
-PDCP-Parameters ::= SEQUENCE {
- supportedROHC-Profiles SEQUENCE {
- profile0x0001 BOOLEAN,
- profile0x0002 BOOLEAN,
- profile0x0003 BOOLEAN,
- profile0x0004 BOOLEAN,
- profile0x0006 BOOLEAN,
- profile0x0101 BOOLEAN,
- profile0x0102 BOOLEAN,
- profile0x0103 BOOLEAN,
- profile0x0104 BOOLEAN
- },
- maxNumberROHC-ContextSessions ENUMERATED {
- cs2, cs4, cs8, cs12, cs16, cs24, cs32,
- cs48, cs64, cs128, cs256, cs512, cs1024,
- cs16384, spare2, spare1} DEFAULT cs16,
- ...
-}
-
-PhyLayerParameters ::= SEQUENCE {
- ue-TxAntennaSelectionSupported BOOLEAN,
- ue-SpecificRefSigsSupported BOOLEAN
-}
-
-RF-Parameters ::= SEQUENCE {
- supportedBandListEUTRA SupportedBandListEUTRA
-}
-
-SupportedBandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA
-
-SupportedBandEUTRA ::= SEQUENCE {
- bandEUTRA INTEGER (1..64),
- halfDuplex BOOLEAN
-}
-
-MeasParameters ::= SEQUENCE {
- bandListEUTRA BandListEUTRA
-}
-
-BandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF BandInfoEUTRA
-
-BandInfoEUTRA ::= SEQUENCE {
- interFreqBandList InterFreqBandList,
- interRAT-BandList InterRAT-BandList OPTIONAL
-}
-
-InterFreqBandList ::= SEQUENCE (SIZE (1..maxBands)) OF InterFreqBandInfo
-
-InterFreqBandInfo ::= SEQUENCE {
- interFreqNeedForGaps BOOLEAN
-}
-
-InterRAT-BandList ::= SEQUENCE (SIZE (1..maxBands)) OF InterRAT-BandInfo
-
-InterRAT-BandInfo ::= SEQUENCE {
- interRAT-NeedForGaps BOOLEAN
-}
-
-IRAT-ParametersUTRA-FDD ::= SEQUENCE {
- supportedBandListUTRA-FDD SupportedBandListUTRA-FDD
-}
-
-SupportedBandListUTRA-FDD ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-FDD
-
-SupportedBandUTRA-FDD ::= ENUMERATED {
- bandI, bandII, bandIII, bandIV, bandV, bandVI,
- bandVII, bandVIII, bandIX, bandX, bandXI,
- bandXII, bandXIII, bandXIV, bandXV, bandXVI, ...}
-
-IRAT-ParametersUTRA-TDD128 ::= SEQUENCE {
- supportedBandListUTRA-TDD128 SupportedBandListUTRA-TDD128
-}
-
-SupportedBandListUTRA-TDD128 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD128
-
-SupportedBandUTRA-TDD128 ::= ENUMERATED {
- a, b, c, d, e, f, g, h, i, j, k, l, m, n,
- o, p, ...}
-
-IRAT-ParametersUTRA-TDD384 ::= SEQUENCE {
- supportedBandListUTRA-TDD384 SupportedBandListUTRA-TDD384
-}
-
-SupportedBandListUTRA-TDD384 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD384
-
-SupportedBandUTRA-TDD384 ::= ENUMERATED {
- a, b, c, d, e, f, g, h, i, j, k, l, m, n,
- o, p, ...}
-
-IRAT-ParametersUTRA-TDD768 ::= SEQUENCE {
- supportedBandListUTRA-TDD768 SupportedBandListUTRA-TDD768
-}
-
-SupportedBandListUTRA-TDD768 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD768
-
-SupportedBandUTRA-TDD768 ::= ENUMERATED {
- a, b, c, d, e, f, g, h, i, j, k, l, m, n,
- o, p, ...}
-
-IRAT-ParametersGERAN ::= SEQUENCE {
- supportedBandListGERAN SupportedBandListGERAN,
- interRAT-PS-HO-ToGERAN BOOLEAN
-}
-
-SupportedBandListGERAN ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandGERAN
-
-SupportedBandGERAN ::= ENUMERATED {
- gsm450, gsm480, gsm710, gsm750, gsm810, gsm850,
- gsm900P, gsm900E, gsm900R, gsm1800, gsm1900,
- spare5, spare4, spare3, spare2, spare1, ...}
-
-IRAT-ParametersCDMA2000-HRPD ::= SEQUENCE {
- supportedBandListHRPD SupportedBandListHRPD,
- tx-ConfigHRPD ENUMERATED {single, dual},
- rx-ConfigHRPD ENUMERATED {single, dual}
-}
-
-SupportedBandListHRPD ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandclassCDMA2000
-
-IRAT-ParametersCDMA2000-1XRTT ::= SEQUENCE {
- supportedBandList1XRTT SupportedBandList1XRTT,
- tx-Config1XRTT ENUMERATED {single, dual},
- rx-Config1XRTT ENUMERATED {single, dual}
-}
-
-SupportedBandList1XRTT ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandclassCDMA2000
-
-
-UE-TimersAndConstants ::= SEQUENCE {
- t300 ENUMERATED {
- ms100, ms200, ms300, ms400, ms600, ms1000, ms1500,
- ms2000},
- t301 ENUMERATED {
- ms100, ms200, ms300, ms400, ms600, ms1000, ms1500,
- ms2000},
- t310 ENUMERATED {
- ms0, ms50, ms100, ms200, ms500, ms1000, ms2000},
- n310 ENUMERATED {
- n1, n2, n3, n4, n6, n8, n10, n20},
- t311 ENUMERATED {
- ms1000, ms3000, ms5000, ms10000, ms15000,
- ms20000, ms30000},
- n311 ENUMERATED {
- n1, n2, n3, n4, n5, n6, n8, n10},
- ...
-}
-
-
-maxBands INTEGER ::= 64 -- Maximum number of bands listed in EUTRA UE caps
-maxCDMA-BandClass INTEGER ::= 32 -- Maximum value of the CDMA band classes
-maxCellBlack INTEGER ::= 16 -- Maximum number of blacklisted cells
- -- listed in SIB type 4 and 5
-maxCellInter INTEGER ::= 16 -- Maximum number of neighbouring inter-frequency
- -- cells listed in SIB type 5
-maxCellIntra INTEGER ::= 16 -- Maximum number of neighbouring intra-frequency
- -- cells listed in SIB type 4
-maxCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the neighbour
- -- cell lists in a measurement object
-maxCellReport INTEGER ::= 8 -- Maximum number of reported cells
-maxDRB INTEGER ::= 11 -- Maximum number of Data Radio Bearers
-maxEARFCN INTEGER ::= 65535 -- Maximum value of EUTRA carrier fequency
-maxFreq INTEGER ::= 8 -- Maximum number of EUTRA carrier frequencies
-maxGERAN-SI INTEGER ::= 10 -- Maximum number of GERAN SI blocks that can be
- -- provided as part of NACC information
-maxGNFG INTEGER ::= 16 -- Maximum number of GERAN neighbour freq groups
-maxMBSFN-Allocations INTEGER ::= 8 -- Maximum number of MBSFN frame allocations with
- -- different offset
-maxMCS-1 INTEGER ::= 16 -- Maximum number of PUCCH formats (MCS)
-maxMeasId INTEGER ::= 32
-maxObjectId INTEGER ::= 32
-maxPageRec INTEGER ::= 16 --
-maxPNOffset INTEGER ::= 511 -- Maximum number of CDMA2000 PNOffsets
-maxRAT-Capabilities INTEGER ::= 8 -- Maximum number of interworking RATs (incl EUTRA)
-maxReportConfigId INTEGER ::= 32
-maxSIB INTEGER ::= 32 -- Maximum number of SIBs
-maxSIB-1 INTEGER ::= 31
-maxSI-Message INTEGER ::= 32 -- Maximum number of SI messages
-maxUTRA-FDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA FDD carrier frequencies
-maxUTRA-TDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA TDD carrier frequencies
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-UE-Variables.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-UE-Variables.asn
deleted file mode 100644
index 414140a6fb..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-UE-Variables.asn
+++ /dev/null
@@ -1,49 +0,0 @@
--- 3GPP TS 36.331 V8.8.0 (2009-12)
--- $Id$
---
-EUTRA-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-VarMeasConfig ::= SEQUENCE {
- -- Measurement identities
- measIdList MeasIdToAddModList OPTIONAL,
- -- Measurement objects
- measObjectList MeasObjectToAddModList OPTIONAL,
- -- Reporting configurations
- reportConfigList ReportConfigToAddModList OPTIONAL,
- -- Other parameters
- quantityConfig QuantityConfig OPTIONAL,
- s-Measure RSRP-Range OPTIONAL,
- speedStatePars CHOICE {
- release NULL,
- setup SEQUENCE {
- mobilityStateParameters MobilityStateParameters,
- timeToTrigger-SF SpeedStateScaleFactors
- }
- } OPTIONAL
-}
-
-
-VarMeasReportList ::= SEQUENCE (SIZE (1..maxMeasId)) OF VarMeasReport
-
-VarMeasReport ::= SEQUENCE {
- -- List of measurement that have been triggered
- measId MeasId,
- cellsTriggeredList CellsTriggeredList OPTIONAL,
- numberOfReportsSent INTEGER
-}
-
-CellsTriggeredList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF PhysCellId
-
-
-VarShortMAC-Input ::= SEQUENCE {
- cellIdentity CellIdentity,
- physCellId PhysCellId,
- c-RNTI C-RNTI
-}
-
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-extract-55.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-extract-55.asn
deleted file mode 100644
index 248e6963c9..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-extract-55.asn
+++ /dev/null
@@ -1,47 +0,0 @@
-EUTRA-extract-55 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-SystemInformation-r8-IEs ::= SEQUENCE {
- sib-TypeAndInfo SEQUENCE (SIZE (1..5)) OF CHOICE {
- sib2 SystemInformationBlockType2,
- sib3 SystemInformationBlockType3,
- sib4 SystemInformationBlockType4,
- sib5 SystemInformationBlockType5,
- sib6 SystemInformationBlockType6,
- sib7 SystemInformationBlockType7,
- sib8 SystemInformationBlockType8,
- sib9 SystemInformationBlockType9,
- sib10 SystemInformationBlockType10,
- sib11 SystemInformationBlockType11,
- ...
- },
- nonCriticalExtension SEQUENCE {} OPTIONAL
-}
-
-SystemInformationBlockType2 ::= INTEGER
-SystemInformationBlockType3 ::= INTEGER
-SystemInformationBlockType4 ::= INTEGER
-SystemInformationBlockType5 ::= INTEGER
-SystemInformationBlockType6 ::= INTEGER
-SystemInformationBlockType7 ::= INTEGER
-SystemInformationBlockType8 ::= INTEGER
-SystemInformationBlockType9 ::= INTEGER
-SystemInformationBlockType10 ::= INTEGER
-SystemInformationBlockType11 ::= INTEGER
-
--- OTP-7763
-CellIdentity ::= BIT STRING (SIZE (28))
-
-Seq ::= SEQUENCE {
- a INTEGER,
- b1 BIT STRING (SIZE (8)),
- b2 BIT STRING (SIZE (1)),
- b CellIdentity,
- c INTEGER,
- d BOOLEAN
-}
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-extract-7407.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-extract-7407.asn1
deleted file mode 100644
index fb81c42251..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/EUTRA-extract-7407.asn1
+++ /dev/null
@@ -1,109 +0,0 @@
--- 3GPP TS 36.331 V8.8.0 (2009-12) modified
--- $Id$
---
-EUTRA-extract-7407 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-BCCH-BCH-Message ::= SEQUENCE {
- message BCCH-BCH-MessageType
-}
-
-BCCH-BCH-MessageType ::= MasterInformationBlock
-
-
-BCCH-DL-SCH-Message ::= SEQUENCE {
- message BCCH-DL-SCH-MessageType
-}
-
-BCCH-DL-SCH-MessageType ::= CHOICE {
- c1 CHOICE {
- systemInformation SystemInformation,
- systemInformation1 SystemInformation1
- },
- messageClassExtension SEQUENCE {}
-}
-
-SystemInformation ::= SEQUENCE {
- criticalExtensions CHOICE {
- systemInformation-r8 SystemInformation-r8-IEs,
- criticalExtensions SEQUENCE {}
- }
-}
-
-maxSIB INTEGER ::= 1
-maxSI-Message INTEGER ::= 1
-
-SystemInformation-r8-IEs ::= SEQUENCE (SIZE (1..maxSIB)) OF SEQUENCE
- { -- Size is FFS
- sib-Type SIB-Type, -- FFS
- sib-Info OCTET STRING, -- FFS
- ...
- }
-
-SIB-Type ::= ENUMERATED {
- sibType1, -- FFS if SIB1 need explicit indication
- sibType2, sibType3, sibType4, sibType5,
- sibType6, sibType7, sibType8,
- spare8, spare7, spare6, spare5,
- spare4, spare3, spare2, spare1}
-
-
-SystemInformationMaster ::= MasterInformationBlock
-
-
-SystemInformation1 ::= SystemInformationBlockType1
-
-SystemInformationBlockType1 ::= SEQUENCE {
- cellAccessRelatedInformation SEQUENCE {
- plmn-IdentityList SEQUENCE (SIZE (1..6)) OF SEQUENCE {
- plmn-Identity PLMN-Identity,
- cellReservedForOperatorUse BOOLEAN
- },
- trackingAreaCode TrackingAreaCode,
- cellIdentity CellIdentity,
- cellBarred BOOLEAN,
- intraFrequencyCellReselection BOOLEAN OPTIONAL, -- Cond CellBarred
- cellReservationExtension BOOLEAN,
- csg-Indication BOOLEAN
- },
- cellSelectionInfo SEQUENCE {
- q-Rxlevmin INTEGER (-60..-28) -- value range FFS
- }, -- need FFS
- frequencyBandIndicator INTEGER (1..64),
- schedulinInformation SEQUENCE (SIZE (1..maxSI-Message)) OF SEQUENCE {
- si-MessageType SEQUENCE {}, -- FFS
- si-Periodicity ENUMERATED {
- ms80, ms160, ms320, ms640}, -- value range FFS
- sib-MappingInfo SEQUENCE {} -- FFS
- },
- systemInformationValueTag INTEGER (0), -- value is 3..5 bits FFS
- ...
-}
-
-PLMN-Identity ::= SEQUENCE {
- -- Enter other IEs here.
-}
-TrackingAreaCode ::= SEQUENCE {
- -- Enter other IEs here.
-}
-CellIdentity ::= SEQUENCE {
- -- Enter the IEs here.
-}
-
-MasterInformationBlock ::= SEQUENCE {
- dl-SystemBandwidth BIT STRING (SIZE (4)),
- numberOfTransmitAntennas BIT STRING (SIZE (4)),
- phich-Configuration PHICH-Configuration,
- systemFrameNumber BIT STRING (SIZE (8))
-}
-
-PHICH-Configuration ::= SEQUENCE {
- phich-Duration ENUMERATED {short, long},
- phich-Resource ENUMERATED {ffs} -- 2-bit field FFS
-}
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Enum.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Enum.py
deleted file mode 100644
index 3fb0ee3297..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Enum.py
+++ /dev/null
@@ -1,46 +0,0 @@
-Enum DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
--- EXPORTS P1, P2;
-
--- F.2.3.1
--- Use an enumerated type to model the values of a variable
--- with three or more states.
--- Assign values starting with zero if their only
--- constraint is distinctness.
--- EXAMPLE
-
-DayOfTheWeek ::= ENUMERATED {sunday(0), monday(1), tuesday(2),
- wednesday(3), thursday(4), friday(5), saturday(6)}
-
-firstDay DayOfTheWeek ::= sunday
-
--- F.2.3.2
--- Use an enumerated type to model the values of a variable that
--- has just two states now,
--- but that may have additional states in a future version of the protocol.
--- EXAMPLE
-
-MaritalStatus ::= ENUMERATED {single(0), married(1)}
-
--- in anticipation of
-
-MaritalStatus2 ::= ENUMERATED {single(0), married(1), widowed(2)}
-
-
-E1 ::= ENUMERATED {blue,green,yellow}
-
-E2 ::= ENUMERATED {monday(0),thuesday(1),wednesday(2),thursday(3),friday(4)}
-
-E3 ::= ENUMERATED {monday,thuesday(0)}
-
-S ::= SEQUENCE {
- e1 ENUMERATED {hej,hopp},
- e2 [2] EXPLICIT ENUMERATED {san,sa}
- }
-
-enumVal E3 ::= monday
---enumWrongVal E3 ::= sunday
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/EnumExt.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/EnumExt.asn1
deleted file mode 100644
index 9ad1f6299e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/EnumExt.asn1
+++ /dev/null
@@ -1,28 +0,0 @@
-EnumExt DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-Ext ::= ENUMERATED {
- blue(0),
- red(1),
- green(2),
- ...
-}
-
-Ext1 ::= ENUMERATED {
- blue(0),
- red(1),
- green(2),
- ...,
- orange(7)
-}
-
-Noext ::= ENUMERATED {
- blue(0),
- red(1),
- green(2)
-}
-
-Globalstate ::= ENUMERATED {def(1),com(2),preop(3),oper(4),noop(5),fail(6)}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/EnumerationBadExtension.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/EnumerationBadExtension.asn1
deleted file mode 100644
index 471f92d7b6..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/EnumerationBadExtension.asn1
+++ /dev/null
@@ -1,20 +0,0 @@
-EnumerationBadExtension DEFINITIONS ::=
-BEGIN
-
-Enum1 ::= ENUMERATED {
- first,
- second}
-
-Enum2 ::= ENUMERATED {
- first,
- ...,
- second}
-
-Enum3 ::= ENUMERATED {
- first,
- second,
- ...}
-
-ENum3 ::= ENUMERATED {...,first,second}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ErrorClass.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/ErrorClass.asn
deleted file mode 100644
index ab0f25ae4f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ErrorClass.asn
+++ /dev/null
@@ -1,15 +0,0 @@
-ErrorClass DEFINITIONS ::=
-BEGIN
-
-EXPORTS
-ERROR;
-
-
-ERROR ::= CLASS {
- &errorCode INTEGER UNIQUE,
- &ParameterType OPTIONAL
- }
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Example.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/Example.asn1
deleted file mode 100644
index 2639f63940..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Example.asn1
+++ /dev/null
@@ -1,20 +0,0 @@
-Example DEFINITIONS ::=
-BEGIN
-
-T ::= Typ
-
-Typ ::= SEQUENCE {
- a b,
- c Typ}
---ECLASS ::= CLASS {
--- &num INTEGER UNIQUE,
--- &Typo
--- } WITH SYNTAX {
--- &Typo DETERMINED BY &num
--- }
-
---v1 ECLASS ::= {INTEGER DETERMINED BY 12}
-
---v2 INTEGER ::= 13
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Export1.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Export1.asn
deleted file mode 100644
index 78ead8f4d2..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Export1.asn
+++ /dev/null
@@ -1,7 +0,0 @@
-Export1 DEFINITIONS ::=
-BEGIN
-EXPORTS T
-
-T ::= Typ
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/External.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/External.asn1
deleted file mode 100644
index 07b2c6aced..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/External.asn1
+++ /dev/null
@@ -1,132 +0,0 @@
-External DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-XSeq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 XSeqIn
-}
-
-XSeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-XSet1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 XSetIn
-}
-
-XSetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-XBool ::= BOOLEAN
-XBoolImp ::= [22] BOOLEAN
-XBoolExp ::= [23] EXPLICIT BOOLEAN
-
-XCho ::= CHOICE
-{
- boolCho [44] BOOLEAN,
- intCho [45] INTEGER
-}
-
-
-XSetExt1 ::= SET
-{
- ...
-}
-
-XSetExt2 ::= SET
-{
- bool BOOLEAN,
- int INTEGER,
- ...
-}
-
--- XSetExt3 ::= SET
--- {
--- ...,
--- bool BOOLEAN,
--- int INTEGER
--- }
-
--- XSetExt4 ::= SET
--- {
--- bool BOOLEAN,
--- ...,
--- int INTEGER
--- }
-
-
-XSeqExt1 ::= SEQUENCE
-{
- ...
-}
-
-XSeqExt2 ::= SEQUENCE
-{
- bool BOOLEAN,
- int INTEGER,
- ...
-}
-
--- XSeqExt3 ::= SEQUENCE
--- {
--- ...,
--- bool BOOLEAN,
--- int INTEGER
--- }
-
--- XSeqExt4 ::= SEQUENCE
--- {
--- bool BOOLEAN,
--- ...,
--- int INTEGER
--- }
-
-
-
-XNT ::= OCTET STRING
-XImp ::= [1] OCTET STRING
-XExp ::= [2] EXPLICIT OCTET STRING
-
-XChoNT ::= CHOICE {
- os OCTET STRING,
- bool BOOLEAN}
-XChoExp ::= [2] EXPLICIT CHOICE {
- os OCTET STRING,
- bool BOOLEAN}
-
-
-XSetNT ::= SET {
- os OCTET STRING,
- bool BOOLEAN}
-XSetImp ::= [1] SET {
- os OCTET STRING,
- bool BOOLEAN}
-XSetExp ::= [2] EXPLICIT SET {
- os OCTET STRING,
- bool BOOLEAN}
-
-
-XSeqNT ::= SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-XSeqImp ::= [1] SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-XSeqExp ::= [2] EXPLICIT SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/From.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/From.py
deleted file mode 100644
index 882d0b20be..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/From.py
+++ /dev/null
@@ -1,15 +0,0 @@
-From DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-AreaCode ::= SEQUENCE
-{
-
- firstDigit IA5String
- (FROM ( "2" | "3" ) ),
- secondDigit IA5String
- (FROM ( "3" | "4" ) )
-}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/H235-SECURITY-MESSAGES.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/H235-SECURITY-MESSAGES.asn
deleted file mode 100644
index 3401f9599f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/H235-SECURITY-MESSAGES.asn
+++ /dev/null
@@ -1,170 +0,0 @@
-H235-SECURITY-MESSAGES DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS All
-
-ChallengeString ::= OCTET STRING (SIZE(8..128))
-TimeStamp ::= INTEGER(1..4294967295) -- seconds since 00:00 1/1/1970 UTC
-RandomVal ::= INTEGER
-Password ::= BMPString (SIZE (1..128))
-Identifier ::= BMPString (SIZE (1..128))
-KeyMaterial ::= BIT STRING(SIZE(1..2048))
-
-NonStandardParameter ::= SEQUENCE
-{
- nonStandardIdentifier OBJECT IDENTIFIER,
- data OCTET STRING
-}
-
--- if local octet representations of these bit strings are used they shall
--- utilize standard Network Octet ordering (e.g. Big Endian)
-DHset ::= SEQUENCE
-{
- halfkey BIT STRING (SIZE(0..2048)), -- = g^x mod n
- modSize BIT STRING (SIZE(0..2048)), -- n
- generator BIT STRING (SIZE(0..2048)), -- g
- ...
-}
-
-TypedCertificate ::= SEQUENCE
-{
- type OBJECT IDENTIFIER,
- certificate OCTET STRING,
- ...
-}
-
-AuthenticationMechanism ::=CHOICE
-{
- dhExch NULL, -- Diffe-Hellman
- pwdSymEnc NULL, -- password with symmetric encryption
- pwdHash NULL, -- password with hashing
- certSign NULL, -- Certificate with signature
- ipsec NULL, -- IPSEC based connection
- tls NULL,
- nonStandard NonStandardParameter, -- something else.
- ...
-}
-
-ClearToken ::= SEQUENCE -- a `token' may contain multiple value types.
-{
- timeStamp TimeStamp OPTIONAL,
- password Password OPTIONAL,
- dhkey DHset OPTIONAL,
- challenge ChallengeString OPTIONAL,
- random RandomVal OPTIONAL,
- certificate TypedCertificate OPTIONAL,
- generalID Identifier OPTIONAL,
- nonStandard NonStandardParameter OPTIONAL,
- ...
-}
-
---
--- Start all the cryptographic parameterized types here....
---
-
-
-SIGNED { ToBeSigned } ::= SEQUENCE {
- toBeSigned ToBeSigned,
- algorithmOID OBJECT IDENTIFIER,
- paramS Params, -- any 'runtime' parameters
- signature BIT STRING
-} ( CONSTRAINED BY { -- Verify or Sign Certificate -- } )
-
-
-ENCRYPTED { ToBeEncrypted } ::= SEQUENCE {
- algorithmOID OBJECT IDENTIFIER,
- paramS Params, -- any 'runtime' parameters
- encryptedData OCTET STRING
-} ( CONSTRAINED BY { -- Encrypt or Decrypt -- ToBeEncrypted } )
-
-HASHED { ToBeHashed } ::= SEQUENCE {
- algorithmOID OBJECT IDENTIFIER,
- paramS Params, -- any 'runtime' parameters
- hash BIT STRING
-} ( CONSTRAINED BY { -- Hash -- ToBeHashed } )
-
-IV8 ::= OCTET STRING (SIZE(8))
-
--- signing algorithm used must select one of these types of parameters
--- needed by receiving end of signature.
-
-Params ::= SEQUENCE {
- ranInt INTEGER OPTIONAL, -- some integer value
- iv8 IV8 OPTIONAL, -- 8 octet initialization vector
- ...
-}
-
-EncodedGeneralToken ::= TYPE-IDENTIFIER.&Type (ClearToken -- general usage token -- )
-PwdCertToken ::= ClearToken (WITH COMPONENTS {..., timeStamp PRESENT, generalID PRESENT})
-EncodedPwdCertToken ::= TYPE-IDENTIFIER.&Type (PwdCertToken)
-
-CryptoToken::= CHOICE
-{
-
- cryptoEncryptedToken SEQUENCE -- General purpose/application specific token
- {
- tokenOID OBJECT IDENTIFIER,
- token ENCRYPTED { EncodedGeneralToken }
- },
- cryptoSignedToken SEQUENCE -- General purpose/application specific token
- {
- tokenOID OBJECT IDENTIFIER,
- token SIGNED { EncodedGeneralToken }
- },
- cryptoHashedToken SEQUENCE -- General purpose/application specific token
- {
- tokenOID OBJECT IDENTIFIER,
- hashedVals ClearToken,
- token HASHED { EncodedGeneralToken }
- },
- cryptoPwdEncr ENCRYPTED { EncodedPwdCertToken },
- ...
-}
-
--- These allow the passing of session keys within the H.245 OLC structure.
--- They are encoded as standalone ASN.1 and based as an OCTET STRING within H.245
-H235Key ::=CHOICE -- this is used with the H.245 'h235Key' field
-{
- secureChannel KeyMaterial,
- sharedSecret ENCRYPTED {EncodedKeySyncMaterial},
- certProtectedKey SIGNED { EncodedKeySignedMaterial },
- ...
-}
-
-KeySignedMaterial ::= SEQUENCE {
- generalId Identifier, -- slave's alias
- mrandom RandomVal, -- master's random value
- srandom RandomVal OPTIONAL, -- slave's random value
- timeStamp TimeStamp OPTIONAL, -- master's timestamp for unsolicted EU
- encrptval ENCRYPTED {EncodedKeySyncMaterial }
-}
-EncodedKeySignedMaterial ::= TYPE-IDENTIFIER.&Type (KeySignedMaterial)
-
-KeySyncMaterial ::=SEQUENCE
-{
- generalID Identifier,
- keyMaterial KeyMaterial,
- ...
-}
-EncodedKeySyncMaterial ::=TYPE-IDENTIFIER.&Type (KeySyncMaterial)
-
-H235CertificateSignature ::=SEQUENCE
-{
- certificate TypedCertificate,
- responseRandom RandomVal,
- requesterRandom RandomVal OPTIONAL,
- signature SIGNED { EncodedReturnSig },
- ...
-}
-
-ReturnSig ::= SEQUENCE {
- generalId Identifier, -- slave's alias
- responseRandom RandomVal,
- requestRandom RandomVal OPTIONAL,
- certificate TypedCertificate OPTIONAL -- requested certificate
-}
-
-EncodedReturnSig ::= TYPE-IDENTIFIER.&Type (ReturnSig)
-
-
-END -- End of H235-SECURITY-MESSAGES DEFINITIONS
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/H323-MESSAGES.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/H323-MESSAGES.asn
deleted file mode 100644
index ba6802f122..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/H323-MESSAGES.asn
+++ /dev/null
@@ -1,1341 +0,0 @@
-H323-MESSAGES DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-
-IMPORTS
- SIGNED{},
- ENCRYPTED{},
- HASHED{},
- ChallengeString,
- TimeStamp,
- RandomVal,
- Password,
- EncodedPwdCertToken,
- ClearToken,
- CryptoToken,
- AuthenticationMechanism
- FROM H235-SECURITY-MESSAGES;
-
-H323-UserInformation ::= SEQUENCE -- root for all Q.931 related ASN.1
-{
- h323-uu-pdu H323-UU-PDU,
- user-data SEQUENCE
- {
- protocol-discriminator INTEGER (0..255),
- user-information OCTET STRING (SIZE(1..131)),
- ...
- } OPTIONAL,
- ...
-}
-
-H323-UU-PDU ::= SEQUENCE
-{
- h323-message-body CHOICE
- {
- setup Setup-UUIE,
- callProceeding CallProceeding-UUIE,
- connect Connect-UUIE,
- alerting Alerting-UUIE,
- userInformation UI-UUIE,
- releaseComplete ReleaseComplete-UUIE,
- facility Facility-UUIE,
- ...,
- progress Progress-UUIE,
- empty NULL -- used when a FACILITY message is sent,
--- but the Facility-UUIE is not to be invoked
--- (possible when transporting supplementary
--- services messages)
- },
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- h4501SupplementaryService SEQUENCE OF OCTET STRING OPTIONAL,
- -- each sequence of octet string is defined as one
- -- H4501SupplementaryService APDU as defined in
- -- Table 3/H.450.1
- h245Tunneling BOOLEAN,
- -- if TRUE, tunneling of H.245 messages is enabled
- h245Control SEQUENCE OF OCTET STRING OPTIONAL,
- -- each octet string may contain exactly
- -- one H.245 PDU
- nonStandardControl SEQUENCE OF NonStandardParameter OPTIONAL
-}
-
-Alerting-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationInfo EndpointType,
- h245Address TransportAddress OPTIONAL,
- ...,
- callIdentifier CallIdentifier,
- h245SecurityMode H245Security OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- fastStart SEQUENCE OF OCTET STRING OPTIONAL
-}
-
-CallProceeding-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationInfo EndpointType,
- h245Address TransportAddress OPTIONAL,
- ...,
- callIdentifier CallIdentifier,
- h245SecurityMode H245Security OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- fastStart SEQUENCE OF OCTET STRING OPTIONAL
-}
-
-Connect-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- h245Address TransportAddress OPTIONAL,
- destinationInfo EndpointType,
- conferenceID ConferenceIdentifier,
- ...,
- callIdentifier CallIdentifier,
- h245SecurityMode H245Security OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- fastStart SEQUENCE OF OCTET STRING OPTIONAL
-}
-
-UI-UUIE ::=SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- ...,
- callIdentifier CallIdentifier
-}
-
-ReleaseComplete-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- reason ReleaseCompleteReason OPTIONAL,
- ...,
- callIdentifier CallIdentifier
-}
-
-ReleaseCompleteReason ::= CHOICE
-{
- noBandwidth NULL, -- bandwidth taken away or ARQ denied
- gatekeeperResources NULL, -- exhausted
- unreachableDestination NULL, -- no transport path to the destination
- destinationRejection NULL, -- rejected at destination
- invalidRevision NULL,
- noPermission NULL, -- called party's gatekeeper rejects
- unreachableGatekeeper NULL, -- terminal cannot reach gatekeeper for ARQ
- gatewayResources NULL,
- badFormatAddress NULL,
- adaptiveBusy NULL, -- call is dropping due to LAN crowding
- inConf NULL, -- no address in AlternativeAddress
- undefinedReason NULL,
- ...,
- facilityCallDeflection NULL, -- call was deflected using a Facility message
- securityDenied NULL, -- incompatible security settings
- calledPartyNotRegistered NULL, -- used by gatekeeper when endpoint has
- -- preGrantedARQ to bypass ARQ/ACF
- callerNotregistered NULL -- used by gatekeeper when endpoint has
- -- preGrantedArq to bypass ARQ/ACF
-}
-
-Setup-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- h245Address TransportAddress OPTIONAL,
- sourceAddress SEQUENCE OF AliasAddress OPTIONAL,
- sourceInfo EndpointType,
- destinationAddress SEQUENCE OF AliasAddress OPTIONAL,
- destCallSignalAddress TransportAddress OPTIONAL,
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL, -- Note(1)
- destExtraCRV SEQUENCE OF CallReferenceValue OPTIONAL,-- Note(1)
- activeMC BOOLEAN,
- conferenceID ConferenceIdentifier,
- conferenceGoal CHOICE
- {
- create NULL,
- join NULL,
- invite NULL,
- ...,
- capability-negotiation NULL,
- callIndependentSupplementaryService NULL
- },
- callServices QseriesOptions OPTIONAL,
- callType CallType,
- ...,
- sourceCallSignalAddress TransportAddress OPTIONAL,
- remoteExtensionAddress AliasAddress OPTIONAL,
- callIdentifier CallIdentifier,
- h245SecurityCapability SEQUENCE OF H245Security OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- fastStart SEQUENCE OF OCTET STRING OPTIONAL,
- mediaWaitForConnect BOOLEAN,
- canOverlapSend BOOLEAN
-}
-
-Facility-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- alternativeAddress TransportAddress OPTIONAL,
- alternativeAliasAddress SEQUENCE OF AliasAddress OPTIONAL,
- conferenceID ConferenceIdentifier OPTIONAL,
- reason FacilityReason,
- ...,
- callIdentifier CallIdentifier,
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
- remoteExtensionAddress AliasAddress OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- conferences SEQUENCE OF ConferenceList OPTIONAL,
- h245Address TransportAddress OPTIONAL
-}
-
-ConferenceList ::= SEQUENCE
-{
- conferenceID ConferenceIdentifier OPTIONAL,
- conferenceAlias AliasAddress OPTIONAL,
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-FacilityReason ::= CHOICE
-{
- routeCallToGatekeeper NULL, -- call must use gatekeeper model
- -- gatekeeper is alternativeAddress
- callForwarded NULL,
- routeCallToMC NULL,
- undefinedReason NULL,
- ...,
- conferenceListChoice NULL,
- startH245 NULL -- recipient should connect to h245Address
-}
-
-Progress-UUIE ::= SEQUENCE
-{
- protocolIdentifier ProtocolIdentifier,
- destinationInfo EndpointType,
- h245Address TransportAddress OPTIONAL,
- callIdentifier CallIdentifier,
- h245SecurityMode H245Security OPTIONAL,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- fastStart SEQUENCE OF OCTET STRING OPTIONAL
-}
-
-TransportAddress ::= CHOICE
-{
- ipAddress SEQUENCE
- {
- ip OCTET STRING (SIZE(4)),
- port INTEGER(0..65535)
- },
- ipSourceRoute SEQUENCE
- {
- ip OCTET STRING (SIZE(4)),
- port INTEGER(0..65535),
- route SEQUENCE OF OCTET STRING(SIZE(4)),
- routing CHOICE
- {
- strict NULL,
- loose NULL,
- ...
- },
- ...
- },
- ipxAddress SEQUENCE
- {
- node OCTET STRING (SIZE(6)),
- netnum OCTET STRING (SIZE(4)),
- port OCTET STRING (SIZE(2))
- },
- ip6Address SEQUENCE
- {
- ip OCTET STRING (SIZE(16)),
- port INTEGER(0..65535),
- ...
- },
- netBios OCTET STRING (SIZE(16)),
- nsap OCTET STRING (SIZE(1..20)),
- nonStandardAddress NonStandardParameter,
- ...
-}
-
-EndpointType ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- vendor VendorIdentifier OPTIONAL,
- gatekeeper GatekeeperInfo OPTIONAL,
- gateway GatewayInfo OPTIONAL,
- mcu McuInfo OPTIONAL, -- mc must be set as well
- terminal TerminalInfo OPTIONAL,
- mc BOOLEAN, -- shall not be set by itself
- undefinedNode BOOLEAN,
- ...
-}
-
-GatewayInfo ::= SEQUENCE
-{
- protocol SEQUENCE OF SupportedProtocols OPTIONAL,
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-SupportedProtocols ::= CHOICE
-{
- nonStandardData NonStandardParameter,
- h310 H310Caps,
- h320 H320Caps,
- h321 H321Caps,
- h322 H322Caps,
- h323 H323Caps,
- h324 H324Caps,
- voice VoiceCaps,
- t120-only T120OnlyCaps,
- ...,
- nonStandardProtocol NonStandardProtocol
-}
-
-H310Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-H320Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-H321Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-H322Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-H323Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-H324Caps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-VoiceCaps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-T120OnlyCaps ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix
-}
-
-NonStandardProtocol ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- dataRatesSupported SEQUENCE OF DataRate OPTIONAL,
- supportedPrefixes SEQUENCE OF SupportedPrefix,
- ...
-}
-
-McuInfo ::=SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-TerminalInfo ::=SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-GatekeeperInfo ::=SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- ...
-}
-
-VendorIdentifier ::= SEQUENCE
-{
- vendor H221NonStandard,
- productId OCTET STRING (SIZE(1..256)) OPTIONAL, -- per vendor
- versionId OCTET STRING (SIZE(1..256)) OPTIONAL, -- per product
- ...
-}
-
-H221NonStandard ::= SEQUENCE
-{ t35CountryCode INTEGER(0..255), -- country, as per T.35
- t35Extension INTEGER(0..255), -- assigned nationally
- manufacturerCode INTEGER(0..65535), -- assigned nationally
- ...
-}
-
-NonStandardParameter ::= SEQUENCE
-{
- nonStandardIdentifier NonStandardIdentifier,
- data OCTET STRING
-}
-
-NonStandardIdentifier ::=CHOICE
-{
- object OBJECT IDENTIFIER,
- h221NonStandard H221NonStandard,
- ...
-}
-
-AliasAddress ::= CHOICE
-{
- e164 IA5String (SIZE (1..128)) (FROM ("0123456789#*,")),
- h323-ID BMPString (SIZE (1..256)), -- Basic ISO/IEC 10646-1 (Unicode)
- ...,
- url-ID IA5String (SIZE(1..512)), -- URL style address
- transportID TransportAddress,
- email-ID IA5String (SIZE(1..512)), -- rfc822-compliant email address
- partyNumber PartyNumber
-}
-
-PartyNumber ::= CHOICE
-{
- publicNumber PublicPartyNumber,
- -- the numbering plan is according to
- -- Recommendations E.163 and E.164.
- dataPartyNumber NumberDigits,
- -- not used, value reserved.
- telexPartyNumber NumberDigits,
- -- not used, value reserved.
- privateNumber PrivatePartyNumber,
- nationalStandardPartyNumber NumberDigits,
- -- not used, value reserved.
- ...
-}
-
-PublicPartyNumber ::= SEQUENCE
-{
- publicTypeOfNumber PublicTypeOfNumber,
- publicNumberDigits NumberDigits
-}
-
-PrivatePartyNumber ::= SEQUENCE
-{
- privateTypeOfNumber PrivateTypeOfNumber,
- privateNumberDigits NumberDigits
-}
-
-NumberDigits ::= IA5String (SIZE (1..128)) (FROM ("0123456789#*,"))
-
-PublicTypeOfNumber ::= CHOICE
-{
- unknown NULL,
- -- if used number digits carry prefix indicating type
- -- of number according to national recommendations.
- internationalNumber NULL,
- nationalNumber NULL,
- networkSpecificNumber NULL,
- -- not used, value reserved
- subscriberNumber NULL,
- abbreviatedNumber NULL,
- -- valid only for called party number at the outgoing
- -- access, network substitutes appropriate number.
-...
-}
-
-PrivateTypeOfNumber ::= CHOICE
-{
- unknown NULL,
- level2RegionalNumber NULL,
- level1RegionalNumber NULL,
- pISNSpecificNumber NULL,
- localNumber NULL,
- abbreviatedNumber NULL,
- ...
-}
-
-Endpoint ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- aliasAddress SEQUENCE OF AliasAddress OPTIONAL,
- callSignalAddress SEQUENCE OF TransportAddress OPTIONAL,
- rasAddress SEQUENCE OF TransportAddress OPTIONAL,
- endpointType EndpointType OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- priority INTEGER(0..127) OPTIONAL,
- remoteExtensionAddress SEQUENCE OF AliasAddress OPTIONAL,
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
- ...
-}
-
-AlternateGK ::= SEQUENCE
-{
- rasAddress TransportAddress,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- needToRegister BOOLEAN,
- priority INTEGER (0..127),
- ...
-}
-
-AltGKInfo ::= SEQUENCE
-{
- alternateGatekeeper SEQUENCE OF AlternateGK,
- altGKisPermanent BOOLEAN,
- ...
-}
-
-SecurityServiceMode ::= CHOICE
-{
-nonStandard NonStandardParameter,
-none NULL,
-default NULL,
-... -- can be extended with other specific modes
-}
-
-SecurityCapabilities ::= SEQUENCE
-{
- nonStandard NonStandardParameter OPTIONAL,
- encryption SecurityServiceMode,
- authenticaton SecurityServiceMode,
- integrity SecurityServiceMode,
-...
-}
-
-H245Security ::= CHOICE
-{
- nonStandard NonStandardParameter,
- noSecurity NULL,
- tls SecurityCapabilities,
- ipsec SecurityCapabilities,
- ...
-}
-
-QseriesOptions ::= SEQUENCE
-{
- q932Full BOOLEAN, -- if true, indicates full support for Q.932
- q951Full BOOLEAN, -- if true, indicates full support for Q.951
- q952Full BOOLEAN, -- if true, indicates full support for Q.952
- q953Full BOOLEAN, -- if true, indicates full support for Q.953
- q955Full BOOLEAN, -- if true, indicates full support for Q.955
- q956Full BOOLEAN, -- if true, indicates full support for Q.956
- q957Full BOOLEAN, -- if true, indicates full support for Q.957
- q954Info Q954Details,
- ...
-}
-
-Q954Details ::= SEQUENCE
-{
- conferenceCalling BOOLEAN,
- threePartyService BOOLEAN,
- ...
-}
-
-GloballyUniqueID ::= OCTET STRING (SIZE(16))
-ConferenceIdentifier ::= GloballyUniqueID
-RequestSeqNum ::= INTEGER (1..65535)
-GatekeeperIdentifier ::= BMPString (SIZE(1..128))
-BandWidth ::= INTEGER (0.. 4294967295) -- in 100s of bits
-CallReferenceValue ::= INTEGER (0..65535)
-EndpointIdentifier ::= BMPString (SIZE(1..128))
-ProtocolIdentifier ::= OBJECT IDENTIFIER
- -- shall be set to
- -- {itu-t (0) recommendation (0) h (8) 2250 version (0) 2}
-TimeToLive ::= INTEGER (1..4294967295) --in seconds
-
-CallIdentifier ::= SEQUENCE
-{
- guid GloballyUniqueID,
- ...
-}
-
-
-EncryptIntAlg ::= CHOICE
-{ -- core encryption algorithms for RAS message integrity
- nonStandard NonStandardParameter,
- isoAlgorithm OBJECT IDENTIFIER, -- defined in ISO/IEC 9979
- ...
-}
-NonIsoIntegrityMechanism ::= CHOICE
-{ -- HMAC mechanism used, no truncation, tagging may be necessary!
- hMAC-MD5 NULL,
- hMAC-iso10118-2-s EncryptIntAlg, -- according to ISO/IEC 10118-2 using
- -- EncryptIntAlg as core block encryption algorithm
- -- (short MAC)
- hMAC-iso10118-2-l EncryptIntAlg, -- according to ISO/IEC 10118-2 using
- -- EncryptIntAlg as core block encryption algorithm
- -- (long MAC)
- hMAC-iso10118-3 OBJECT IDENTIFIER, -- according to ISO/IEC 10118-3 using
- -- OID as hash function (OID is SHA-1, RIPE-MD160,
- -- RIPE-MD128)
- ...
-}
-
-IntegrityMechanism ::= CHOICE
-{ -- for RAS message integrity
- nonStandard NonStandardParameter,
- digSig NULL, -- indicates to apply a digital signature
- iso9797 OBJECT IDENTIFIER, -- according to ISO/IEC 9797 using OID as
- -- core encryption algorithm (X-CBC MAC)
- nonIsoIM NonIsoIntegrityMechanism,
- ...
-}
-
-ICV ::= SEQUENCE
-{
- algorithmOID OBJECT IDENTIFIER, -- the algorithm used to compute the signature
- icv BIT STRING -- the computed cryptographic integrity check value
--- or signature
-}
-
-FastStartToken ::= ClearToken (WITH COMPONENTS {..., timeStamp, dhkey, generalID -- set to 'alias' -- })
-EncodedFastStartToken ::= TYPE-IDENTIFIER.&Type (FastStartToken)
-CryptoH323Token::= CHOICE
-{
- cryptoEPPwdHash SEQUENCE
-{
- alias AliasAddress, -- alias of entity generating hash
- timeStamp TimeStamp, -- timestamp used in hash
-token HASHED { EncodedPwdCertToken -- generalID set to 'alias' -- }
- },
- cryptoGKPwdHash SEQUENCE
-{
-gatekeeperId GatekeeperIdentifier, -- GatekeeperID of GK generating hash
- timeStamp TimeStamp, -- timestamp used in hash
-token HASHED { EncodedPwdCertToken -- generalID set to Gatekeeperid -- }
- },
- cryptoEPPwdEncr ENCRYPTED
-{ EncodedPwdCertToken -- generalID set to Gatekeeperid --},
- cryptoGKPwdEncr ENCRYPTED
-{ EncodedPwdCertToken -- generalID set to Gatekeeperid --},
- cryptoEPCert SIGNED { EncodedPwdCertToken -- generalID set to Gatekeeperid -- },
- cryptoGKCert SIGNED { EncodedPwdCertToken -- generalID set to alias -- },
- cryptoFastStart SIGNED { EncodedFastStartToken },
- nestedcryptoToken CryptoH323Token,
- ...
-}
-
-
-DataRate ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- channelRate BandWidth,
- channelMultiplier INTEGER (1..256) OPTIONAL,
- ...
-}
-
-SupportedPrefix ::= SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- prefix AliasAddress,
- ...
-}
-
-
-RasMessage ::= CHOICE
-{
- gatekeeperRequest GatekeeperRequest,
- gatekeeperConfirm GatekeeperConfirm,
- gatekeeperReject GatekeeperReject,
- registrationRequest RegistrationRequest,
- registrationConfirm RegistrationConfirm,
- registrationReject RegistrationReject,
- unregistrationRequest UnregistrationRequest,
- unregistrationConfirm UnregistrationConfirm,
- unregistrationReject UnregistrationReject,
- admissionRequest AdmissionRequest,
- admissionConfirm AdmissionConfirm,
- admissionReject AdmissionReject,
- bandwidthRequest BandwidthRequest,
- bandwidthConfirm BandwidthConfirm,
- bandwidthReject BandwidthReject,
- disengageRequest DisengageRequest,
- disengageConfirm DisengageConfirm,
- disengageReject DisengageReject,
- locationRequest LocationRequest,
- locationConfirm LocationConfirm,
- locationReject LocationReject,
- infoRequest InfoRequest,
- infoRequestResponse InfoRequestResponse,
- nonStandardMessage NonStandardMessage,
- unknownMessageResponse UnknownMessageResponse,
- ...,
- requestInProgress RequestInProgress,
- resourcesAvailableIndicate ResourcesAvailableIndicate,
- resourcesAvailableConfirm ResourcesAvailableConfirm,
- infoRequestAck InfoRequestAck,
- infoRequestNak InfoRequestNak
-}
-
-GatekeeperRequest ::= SEQUENCE --(GRQ)
-{
-
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- rasAddress TransportAddress,
- endpointType EndpointType,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- callServices QseriesOptions OPTIONAL,
- endpointAlias SEQUENCE OF AliasAddress OPTIONAL,
- ...,
- alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- authenticationCapability SEQUENCE OF AuthenticationMechanism OPTIONAL,
- algorithmOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
- integrity SEQUENCE OF IntegrityMechanism OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-GatekeeperConfirm ::= SEQUENCE --(GCF)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- rasAddress TransportAddress,
- ...,
- alternateGatekeeper SEQUENCE OF AlternateGK OPTIONAL,
- authenticationMode AuthenticationMechanism OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- algorithmOID OBJECT IDENTIFIER OPTIONAL,
- integrity SEQUENCE OF IntegrityMechanism OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-GatekeeperReject ::= SEQUENCE --(GRJ)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- rejectReason GatekeeperRejectReason,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-GatekeeperRejectReason ::= CHOICE
-{
- resourceUnavailable NULL,
- terminalExcluded NULL, -- permission failure, not a resource failure
- invalidRevision NULL,
- undefinedReason NULL,
- ...,
- securityDenial NULL
-}
-
-RegistrationRequest ::= SEQUENCE --(RRQ)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- discoveryComplete BOOLEAN,
- callSignalAddress SEQUENCE OF TransportAddress,
- rasAddress SEQUENCE OF TransportAddress,
- terminalType EndpointType,
- terminalAlias SEQUENCE OF AliasAddress OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- endpointVendor VendorIdentifier,
- ...,
- alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
- timeToLive TimeToLive OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- keepAlive BOOLEAN,
- endpointIdentifier EndpointIdentifier OPTIONAL,
- willSupplyUUIEs BOOLEAN
-}
-
-RegistrationConfirm ::= SEQUENCE --(RCF)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- callSignalAddress SEQUENCE OF TransportAddress,
- terminalAlias SEQUENCE OF AliasAddress OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- endpointIdentifier EndpointIdentifier,
- ...,
- alternateGatekeeper SEQUENCE OF AlternateGK OPTIONAL,
- timeToLive TimeToLive OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- willRespondToIRR BOOLEAN,
- preGrantedARQ SEQUENCE
- {
- makeCall BOOLEAN,
- useGKCallSignalAddressToMakeCall BOOLEAN,
- answerCall BOOLEAN,
- useGKCallSignalAddressToAnswer BOOLEAN,
- ...
- } OPTIONAL
-}
-
-RegistrationReject ::= SEQUENCE --(RRJ)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- rejectReason RegistrationRejectReason,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-RegistrationRejectReason ::= CHOICE
-{
- discoveryRequired NULL, -- registration permission has aged
- invalidRevision NULL,
- invalidCallSignalAddress NULL,
- invalidRASAddress NULL, -- supplied address is invalid
- duplicateAlias SEQUENCE OF AliasAddress,
- -- alias registered to another endpoint
- invalidTerminalType NULL,
- undefinedReason NULL,
- transportNotSupported NULL, -- one or more of the transports
- ...,
- transportQOSNotSupported NULL, -- endpoint QoS not supported
- resourceUnavailable NULL, -- gatekeeper resources exhausted
- invalidAlias NULL, -- alias not consistent with gatekeeper rules
- securityDenial NULL
-}
-
-UnregistrationRequest ::= SEQUENCE --(URQ)
-{
- requestSeqNum RequestSeqNum,
- callSignalAddress SEQUENCE OF TransportAddress,
- endpointAlias SEQUENCE OF AliasAddress OPTIONAL,
- nonStandardData NonStandardParameter OPTIONAL,
- endpointIdentifier EndpointIdentifier OPTIONAL,
- ...,
- alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- reason UnregRequestReason OPTIONAL
-}
-
-UnregRequestReason ::= CHOICE
-{
- reregistrationRequired NULL,
- ttlExpired NULL,
- securityDenial NULL,
- undefinedReason NULL,
- ...
-}
-
-UnregistrationConfirm ::= SEQUENCE --(UCF)
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-UnregistrationReject ::= SEQUENCE --(URJ)
-{
-
- requestSeqNum RequestSeqNum,
- rejectReason UnregRejectReason,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-UnregRejectReason ::= CHOICE
-{
- notCurrentlyRegistered NULL,
- callInProgress NULL,
- undefinedReason NULL,
- ...,
- permissionDenied NULL, -- requesting user not allowed to unregister
- -- specified user
- securityDenial NULL
-}
-
-AdmissionRequest ::= SEQUENCE --(ARQ)
-{
- requestSeqNum RequestSeqNum,
- callType CallType,
- callModel CallModel OPTIONAL,
- endpointIdentifier EndpointIdentifier,
- destinationInfo SEQUENCE OF AliasAddress OPTIONAL, --Note 1
- destCallSignalAddress TransportAddress OPTIONAL, --Note 1
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
- srcInfo SEQUENCE OF AliasAddress,
- srcCallSignalAddress TransportAddress OPTIONAL,
- bandWidth BandWidth,
- callReferenceValue CallReferenceValue,
- nonStandardData NonStandardParameter OPTIONAL,
- callServices QseriesOptions OPTIONAL,
- conferenceID ConferenceIdentifier,
- activeMC BOOLEAN,
- answerCall BOOLEAN, -- answering a call
- ...,
- canMapAlias BOOLEAN, -- can handle alias address
- callIdentifier CallIdentifier,
- srcAlternatives SEQUENCE OF Endpoint OPTIONAL,
- destAlternatives SEQUENCE OF Endpoint OPTIONAL,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- transportQOS TransportQOS OPTIONAL,
- willSupplyUUIEs BOOLEAN
-}
-
-CallType ::= CHOICE
-{
- pointToPoint NULL, -- Point to point
- oneToN NULL, -- no interaction (FFS)
- nToOne NULL, -- no interaction (FFS)
- nToN NULL, -- interactive (multipoint)
- ...
-}
-
-CallModel ::= CHOICE
-{
- direct NULL,
- gatekeeperRouted NULL,
- ...
-}
-
-TransportQOS ::= CHOICE
-{
- endpointControlled NULL,
- gatekeeperControlled NULL,
- noControl NULL,
- ...
-}
-
-AdmissionConfirm ::= SEQUENCE --(ACF)
-{
- requestSeqNum RequestSeqNum,
- bandWidth BandWidth,
- callModel CallModel,
- destCallSignalAddress TransportAddress,
- irrFrequency INTEGER (1..65535) OPTIONAL,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- destinationInfo SEQUENCE OF AliasAddress OPTIONAL,
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
- destinationType EndpointType OPTIONAL,
- remoteExtensionAddress SEQUENCE OF AliasAddress OPTIONAL,
- alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- transportQOS TransportQOS OPTIONAL,
- willRespondToIRR BOOLEAN,
- uuiesRequested UUIEsRequested
-}
-
-UUIEsRequested ::= SEQUENCE
-{
- setup BOOLEAN,
- callProceeding BOOLEAN,
- connect BOOLEAN,
- alerting BOOLEAN,
- userInformation BOOLEAN,
- releaseComplete BOOLEAN,
- facility BOOLEAN,
- progress BOOLEAN,
- empty BOOLEAN,
- ...
-}
-
-AdmissionReject ::= SEQUENCE --(ARJ)
-{
- requestSeqNum RequestSeqNum,
- rejectReason AdmissionRejectReason,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- callSignalAddress SEQUENCE OF TransportAddress OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-AdmissionRejectReason ::= CHOICE
-{
- calledPartyNotRegistered NULL, -- can't translate address
- invalidPermission NULL, -- permission has expired
- requestDenied NULL, -- no bandwidth available
- undefinedReason NULL,
- callerNotRegistered NULL,
- routeCallToGatekeeper NULL,
- invalidEndpointIdentifier NULL,
- resourceUnavailable NULL,
- ...,
- securityDenial NULL,
- qosControlNotSupported NULL,
- incompleteAddress NULL
-}
-
-BandwidthRequest ::= SEQUENCE --(BRQ)
-{
- requestSeqNum RequestSeqNum,
- endpointIdentifier EndpointIdentifier,
- conferenceID ConferenceIdentifier,
- callReferenceValue CallReferenceValue,
- callType CallType OPTIONAL,
- bandWidth BandWidth,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- callIdentifier CallIdentifier,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- answeredCall BOOLEAN
-}
-
-BandwidthConfirm ::= SEQUENCE --(BCF)
-{
- requestSeqNum RequestSeqNum,
- bandWidth BandWidth,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-BandwidthReject ::= SEQUENCE --(BRJ)
-{
- requestSeqNum RequestSeqNum,
- rejectReason BandRejectReason,
- allowedBandWidth BandWidth,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-BandRejectReason ::= CHOICE
-{
- notBound NULL, -- discovery permission has aged
- invalidConferenceID NULL, -- possible revision
- invalidPermission NULL, -- true permission violation
- insufficientResources NULL,
- invalidRevision NULL,
- undefinedReason NULL,
- ...,
- securityDenial NULL
-}
-
-LocationRequest ::= SEQUENCE --(LRQ)
-{
- requestSeqNum RequestSeqNum,
- endpointIdentifier EndpointIdentifier OPTIONAL,
- destinationInfo SEQUENCE OF AliasAddress,
- nonStandardData NonStandardParameter OPTIONAL,
- replyAddress TransportAddress,
- ...,
- sourceInfo SEQUENCE OF AliasAddress OPTIONAL,
- canMapAlias BOOLEAN, -- can handle alias address
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-LocationConfirm ::= SEQUENCE --(LCF)
-{
- requestSeqNum RequestSeqNum,
- callSignalAddress TransportAddress,
- rasAddress TransportAddress,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- destinationInfo SEQUENCE OF AliasAddress OPTIONAL,
- destExtraCallInfo SEQUENCE OF AliasAddress OPTIONAL,
- destinationType EndpointType OPTIONAL,
- remoteExtensionAddress SEQUENCE OF AliasAddress OPTIONAL,
- alternateEndpoints SEQUENCE OF Endpoint OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-LocationReject ::= SEQUENCE --(LRJ)
-{
- requestSeqNum RequestSeqNum,
- rejectReason LocationRejectReason,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-
-LocationRejectReason ::= CHOICE
-{
- notRegistered NULL,
- invalidPermission NULL, -- exclusion by administrator or feature
- requestDenied NULL, -- can't find location
- undefinedReason NULL,
- ...,
- securityDenial NULL
-}
-
-DisengageRequest ::= SEQUENCE --(DRQ)
-{
- requestSeqNum RequestSeqNum,
- endpointIdentifier EndpointIdentifier,
- conferenceID ConferenceIdentifier,
- callReferenceValue CallReferenceValue,
- disengageReason DisengageReason,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- callIdentifier CallIdentifier,
- gatekeeperIdentifier GatekeeperIdentifier OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- answeredCall BOOLEAN
-}
-
-DisengageReason ::= CHOICE
-{
- forcedDrop NULL, -- gatekeeper is forcing the drop
- normalDrop NULL, -- associated with normal drop
- undefinedReason NULL,
- ...
-}
-
-DisengageConfirm ::= SEQUENCE --(DCF)
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-DisengageReject ::= SEQUENCE --(DRJ)
-{
- requestSeqNum RequestSeqNum,
- rejectReason DisengageRejectReason,
- nonStandardData NonStandardParameter OPTIONAL,
- ...,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-DisengageRejectReason ::= CHOICE
-{
- notRegistered NULL, -- not registered with gatekeeper
- requestToDropOther NULL, -- can't request drop for others
- ...,
- securityDenial NULL
-}
-
-InfoRequest ::= SEQUENCE --(IRQ)
-{
- requestSeqNum RequestSeqNum,
- callReferenceValue CallReferenceValue,
- nonStandardData NonStandardParameter OPTIONAL,
- replyAddress TransportAddress OPTIONAL,
- ...,
- callIdentifier CallIdentifier,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- uuiesRequested UUIEsRequested OPTIONAL
-}
-InfoRequestResponse ::= SEQUENCE --(IRR)
-{
- nonStandardData NonStandardParameter OPTIONAL,
- requestSeqNum RequestSeqNum,
- endpointType EndpointType,
- endpointIdentifier EndpointIdentifier,
- rasAddress TransportAddress,
- callSignalAddress SEQUENCE OF TransportAddress,
- endpointAlias SEQUENCE OF AliasAddress OPTIONAL,
- perCallInfo SEQUENCE OF SEQUENCE
- {
- nonStandardData NonStandardParameter OPTIONAL,
- callReferenceValue CallReferenceValue,
- conferenceID ConferenceIdentifier,
- originator BOOLEAN OPTIONAL,
- audio SEQUENCE OF RTPSession OPTIONAL,
- video SEQUENCE OF RTPSession OPTIONAL,
- data SEQUENCE OF TransportChannelInfo OPTIONAL,
- h245 TransportChannelInfo,
- callSignaling TransportChannelInfo,
- callType CallType,
- bandWidth BandWidth,
- callModel CallModel,
- ...,
- callIdentifier CallIdentifier,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- substituteConfIDs SEQUENCE OF ConferenceIdentifier,
- pdu SEQUENCE OF SEQUENCE
- {
- h323pdu H323-UU-PDU,
- sent BOOLEAN -- TRUE is sent, FALSE is received
- } OPTIONAL
- } OPTIONAL,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- needResponse BOOLEAN
-}
-
-TransportChannelInfo ::= SEQUENCE
-{
- sendAddress TransportAddress OPTIONAL,
- recvAddress TransportAddress OPTIONAL,
- ...
-}
-
-RTPSession ::= SEQUENCE
-{
- rtpAddress TransportChannelInfo,
- rtcpAddress TransportChannelInfo,
- cname PrintableString,
- ssrc INTEGER (1..4294967295),
- sessionId INTEGER (1..255),
- associatedSessionIds SEQUENCE OF INTEGER (1..255),
- ...
-}
-
-InfoRequestAck ::= SEQUENCE --(IACK)
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- ...
-}
-
-InfoRequestNak ::= SEQUENCE --(INAK)
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter OPTIONAL,
- nakReason InfoRequestNakReason,
- altGKInfo AltGKInfo OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- ...
-}
-
-InfoRequestNakReason ::= CHOICE
-{
- notRegistered NULL, -- not registered with gatekeeper
- securityDenial NULL,
- undefinedReason NULL,
- ...
-}
-
-NonStandardMessage ::= SEQUENCE
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-UnknownMessageResponse ::= SEQUENCE -- (XRS)
-{
- requestSeqNum RequestSeqNum,
- ...,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL
-}
-
-RequestInProgress ::= SEQUENCE -- (RIP)
-{
- requestSeqNum RequestSeqNum,
- nonStandardData NonStandardParameter OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- delay INTEGER(1..65535),
- ...
-}
-
-ResourcesAvailableIndicate ::= SEQUENCE --(RAI)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- endpointIdentifier EndpointIdentifier,
- protocols SEQUENCE OF SupportedProtocols,
- almostOutOfResources BOOLEAN,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- ...
-}
-
-ResourcesAvailableConfirm ::= SEQUENCE --(RAC)
-{
- requestSeqNum RequestSeqNum,
- protocolIdentifier ProtocolIdentifier,
- nonStandardData NonStandardParameter OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoH323Token OPTIONAL,
- integrityCheckValue ICV OPTIONAL,
- ...
-}
-
-END -- of ASN.1
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/IMP.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/IMP.asn1
deleted file mode 100644
index 8d7546fa15..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/IMP.asn1
+++ /dev/null
@@ -1,7 +0,0 @@
-IMP DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-T ::= INTEGER
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/IN-CS-1-Datatypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/IN-CS-1-Datatypes.asn
deleted file mode 100644
index ff0361f5c5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/IN-CS-1-Datatypes.asn
+++ /dev/null
@@ -1,1630 +0,0 @@
--- Module IN-CS-1-Datatypes (Q.1218:10/1995)
--- Example of addition of an extension named 'Some Network Specific Indicator' of type
--- BOOLEAN, with criticality 'abort' and to be identified as extension number 1.
--- Example of definition using the above macro:
---
--- SomeNetworkSpecificIndicator ::= EXTENSION {
--- EXTENSION-SYNTAX BOOLEAN
--- CRITICALITY abort
--- IDENTIFIED BY 1
--- }
---
---
--- Example of transfer syntax, using the ExtensionField datatype as specified in the module
--- below. Assuming the value of the extension is set to TRUE, the extensions parameter
--- becomes a Sequence of type INTEGER ::= 1, criticality ENUMERATED ::= 1 and value [1]
--- EXPLICIT BOOLEAN ::= TRUE.
---
--- Use of Q.1400 defined Extension is ffs.
--- In addition the extension mechanism marker is used to identify the future minor additions to INAP.
-IN-CS-1-Datatypes {itu-t recommendation q 1218 modules(0) cs-1-datatypes(2)
- version1(0)}
--- This module contains the type definitions for the IN CS-1 data types.
--- Where a parameter of type CHOICE is tagged with a specific tag value, the tag is automatically
--- replaced with an EXPLICIT tag of the same value.
--- The following parameters map onto bearer protocol (i.e. Q.931, case 2 and ISUP) parameters:
--- CallingPartySubaddress, CalledPartyNumber,
--- Prefix (derived from dialled digits), DestinationRoutingAddress,
--- DialledDigits, ISDNAccessRelatedInformation, CallingPartysCategory, LocationNumber,
--- TravellingClassMark, AssistingSSPIPRoutingAddress, AlertingPattern (Q.931 only),
--- ReleaseCause (and other Cause parameters), ServiceProfileIdentifier (Q.932 only),
--- BearerCapability, CallingPartyNumber, HighLayerCompatibility, OriginalCalledPartyID,
--- RedirectingPartyID, and RedirectionInformation.
--- The procedures for mapping of parameters onto bearer protocol are ffs.
--- The following SSF parameters do not map onto bearer protocol (i.e. Q.931, case 2 and ISUP)
--- parameters and therefore are assumed to be local to the switching system: CallingPartyBusinessGroupID
--- FacilityGroup, FacilityGroupMember, RouteList, LegID, IPSSPCapabilities, IPAvailable, CGEncountered,
--- ForwardingCondition, CorrelationID, ApplicationTimer, TerminalType, MiscCallInfo, TriggerType and
--- ServiceKey.
--- Where possible, Administrations should specify the maximum size within their network of
--- parameters specified in this Recommendation that are of an indeterminate length.
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- TYPE DEFINITIONS FOR IN CS-1 DATA TYPES FOLLOWS
--- Argument data types
-InvokeIdType ::= INTEGER(-128..127)
-
--- The ordering of parameters in the argument sequences has been arbitrary. Further study may be
--- required to order arguments in a manner which will facilitate efficient encoding and decoding.
-ActivateServiceFilteringArg ::= SEQUENCE {
- filteredCallTreatment [0] FilteredCallTreatment,
- filteringCharacteristics [1] FilteringCharacteristics,
- filteringTimeOut [2] FilteringTimeOut,
- filteringCriteria [3] FilteringCriteria,
- startTime [4] DateAndTime OPTIONAL,
- extensions
- [5] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-AnalysedInformationArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- dialledDigits [1] CalledPartyNumber OPTIONAL,
- callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [3] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [4] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [6] OriginalCalledPartyID OPTIONAL,
- prefix [7] Digits OPTIONAL,
- redirectingPartyID [8] RedirectingPartyID OPTIONAL,
- redirectionInformation [9] RedirectionInformation OPTIONAL,
- routeList [10] RouteList OPTIONAL,
- travellingClassMark [11] TravellingClassMark OPTIONAL,
- extensions
- [12] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- featureCode [13] FeatureCode OPTIONAL,
- accessCode [14] AccessCode OPTIONAL,
- carrier [15] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-AnalyseInformationArg ::= SEQUENCE {
- destinationRoutingAddress [0] DestinationRoutingAddress,
- alertingPattern [1] AlertingPattern OPTIONAL,
- iSDNAccessRelatedInformation [2] ISDNAccessRelatedInformation OPTIONAL,
- originalCalledPartyID [3] OriginalCalledPartyID OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- callingPartyNumber [5] CallingPartyNumber OPTIONAL,
- callingPartysCategory [6] CallingPartysCategory OPTIONAL,
- calledPartyNumber [7] CalledPartyNumber OPTIONAL,
- chargeNumber [8] ChargeNumber OPTIONAL,
- travellingClassMark [9] TravellingClassMark OPTIONAL,
- carrier [10] Carrier OPTIONAL,
- ...
-}
-
-ApplyChargingArg ::= SEQUENCE {
- aChBillingChargingCharacteristics [0] AChBillingChargingCharacteristics,
- partyToCharge [2] LegID OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- The partyToCharge parameter indicates the party in the call to which the ApplyCharging operation
--- should be applied. If it is not present, then it is applied to the A-party.
-ApplyChargingReportArg ::=
- CallResult
-
-AssistRequestInstructionsArg ::= SEQUENCE {
- correlationID [0] CorrelationID,
- iPAvailable [1] IPAvailable OPTIONAL,
- iPSSPCapabilities [2] IPSSPCapabilities OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- OPTIONAL denotes network operator specific use. The value of the correlationID may be the
--- Called Party Number supplied by the initiating SSF.
-CallGapArg ::= SEQUENCE {
- gapCriteria [0] GapCriteria,
- gapIndicators [1] GapIndicators,
- controlType [2] ControlType OPTIONAL,
- gapTreatment [3] GapTreatment OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- OPTIONAL denotes network operator optional. If gapTreatment is not present, the SSF will use
--- a default treatment depending on network operator implementation.
-CallInformationReportArg ::= SEQUENCE {
- requestedInformationList [0] RequestedInformationList,
- correlationID [1] CorrelationID OPTIONAL,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- OPTIONAL denotes network operator optional.
-CallInformationRequestArg ::= SEQUENCE {
- requestedInformationTypeList [0] RequestedInformationTypeList,
- correlationID [1] CorrelationID OPTIONAL,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- OPTIONAL denotes network operator optional.
-CancelArg ::= CHOICE {invokeID [0] InvokeID,
- allRequests [1] NULL
-}
-
--- The InvokeID has the same value as that which was used for the operation to be cancelled.
-CancelStatusReportRequestArg ::= SEQUENCE {
- resourceID [0] ResourceID OPTIONAL,
- extensions
- [1] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-CollectedInformationArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- dialledDigits [1] CalledPartyNumber OPTIONAL,
- callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [3] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [4] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [6] OriginalCalledPartyID OPTIONAL,
- prefix [7] Digits OPTIONAL,
- redirectingPartyID [8] RedirectingPartyID OPTIONAL,
- redirectionInformation [9] RedirectionInformation OPTIONAL,
- travellingClassMark [10] TravellingClassMark OPTIONAL,
- extensions
- [11] SEQUENCE SIZE (1..numOfExtensions) OF
- [11] ExtensionField{{SupportedExtensions}},
- featureCode [12] FeatureCode OPTIONAL,
- accessCode [13] AccessCode OPTIONAL,
- carrier [14] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-CollectInformationArg ::= SEQUENCE {
- alertingPattern [0] AlertingPattern OPTIONAL,
- numberingPlan [1] NumberingPlan OPTIONAL,
- originalCalledPartyID [2] OriginalCalledPartyID OPTIONAL,
- travellingClassMark [3] TravellingClassMark OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- callingPartyNumber [5] CallingPartyNumber OPTIONAL,
- dialledDigits [6] CalledPartyNumber OPTIONAL,
- ...
-}
-
-ConnectArg ::= SEQUENCE {
- destinationRoutingAddress [0] DestinationRoutingAddress,
- alertingPattern [1] AlertingPattern OPTIONAL,
- correlationID [2] CorrelationID OPTIONAL,
- cutAndPaste [3] CutAndPaste OPTIONAL,
- forwardingCondition [4] ForwardingCondition OPTIONAL,
- iSDNAccessRelatedInformation [5] ISDNAccessRelatedInformation OPTIONAL,
- originalCalledPartyID [6] OriginalCalledPartyID OPTIONAL,
- routeList [7] RouteList OPTIONAL,
- scfID [8] ScfID OPTIONAL,
- travellingClassMark [9] TravellingClassMark OPTIONAL,
- extensions
- [10] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [11] Carrier OPTIONAL,
- serviceInteractionIndicators [26] ServiceInteractionIndicators OPTIONAL,
- callingPartyNumber [27] CallingPartyNumber OPTIONAL,
- callingPartysCategory [28] CallingPartysCategory OPTIONAL,
- redirectingPartyID [29] RedirectingPartyID OPTIONAL,
- redirectionInformation [30] RedirectionInformation OPTIONAL,
- ...
-}
-
--- For alerting pattern, OPTIONAL denotes that this parameter only applies if SSF is the terminating
--- local exchange for the subscriber.
-ConnectToResourceArg ::= SEQUENCE {
- resourceAddress
- CHOICE {ipRoutingAddress [0] IPRoutingAddress,
- legID [1] LegID,
- both
- [2] SEQUENCE {ipRoutingAddress [0] IPRoutingAddress,
- legID [1] LegID},
- none [3] NULL},
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- serviceInteractionIndicators [30] ServiceInteractionIndicators OPTIONAL,
- ...
-}
-
-DpSpecificCommonParameters ::= SEQUENCE {
- serviceAddressInformation [0] ServiceAddressInformation,
- bearerCapability [1] BearerCapability OPTIONAL,
- calledPartyNumber [2] CalledPartyNumber OPTIONAL,
- callingPartyNumber [3] CallingPartyNumber OPTIONAL,
- callingPartysCategory [4] CallingPartysCategory OPTIONAL,
- iPSSPCapabilities [5] IPSSPCapabilities OPTIONAL,
- iPAvailable [6] IPAvailable OPTIONAL,
- iSDNAccessRelatedInformation [7] ISDNAccessRelatedInformation OPTIONAL,
- cGEncountered [8] CGEncountered OPTIONAL,
- locationNumber [9] LocationNumber OPTIONAL,
- serviceProfileIdentifier [10] ServiceProfileIdentifier OPTIONAL,
- terminalType [11] TerminalType OPTIONAL,
- extensions
- [12] SEQUENCE SIZE (1..numOfExtensions) OF
- [12] ExtensionField{{SupportedExtensions}},
- chargeNumber [13] ChargeNumber OPTIONAL,
- servingAreaID [14] ServingAreaID OPTIONAL,
- ...
-}
-
--- OPTIONAL for iPSSPCapabilities, iPAvailable, and cGEncountered denotes network operator
--- specific use. OPTIONAL for callingPartyNumber, and callingPartysCategory refer to clause 3 for
--- the trigger detection point processing rules to specify when these parameters are included in the
--- message. bearerCapability should be appropriately coded as speech.
-EstablishTemporaryConnectionArg ::= SEQUENCE {
- assistingSSPIPRoutingAddress [0] AssistingSSPIPRoutingAddress,
- correlationID [1] CorrelationID OPTIONAL,
- legID [2] LegID OPTIONAL,
- scfID [3] ScfID OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- [4] ExtensionField{{SupportedExtensions}},
- carrier [5] Carrier OPTIONAL,
- serviceInteractionIndicators [30] ServiceInteractionIndicators OPTIONAL,
- ...
-}
-
-EventNotificationChargingArg ::= SEQUENCE {
- eventTypeCharging [0] EventTypeCharging,
- eventSpecificInformationCharging
- [1] EventSpecificInformationCharging OPTIONAL,
- legID [2] LegID OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- monitorMode [30] MonitorMode DEFAULT notifyAndContinue,
- ...
-}
-
--- OPTIONAL denotes network operator specific use.
-EventReportBCSMArg ::= SEQUENCE {
- eventTypeBCSM [0] EventTypeBCSM,
- bcsmEventCorrelationID [1] CorrelationID OPTIONAL,
- eventSpecificInformationBCSM [2] EventSpecificInformationBCSM OPTIONAL,
- legID [3] LegID OPTIONAL,
- miscCallInfo [4] MiscCallInfo DEFAULT {messageType request},
- extensions
- [5] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-FurnishChargingInformationArg ::= FCIBillingChargingCharacteristics
-
-HoldCallInNetworkArg ::= CHOICE {
- holdcause [0] HoldCause,
- empty [1] NULL
-}
-
--- holdcause is optional and denotes network operator specific use.
-InitialDPArg ::= SEQUENCE {
- serviceKey [0] ServiceKey OPTIONAL,
- dialledDigits [1] CalledPartyNumber OPTIONAL,
- calledPartyNumber [2] CalledPartyNumber OPTIONAL,
- callingPartyNumber [3] CallingPartyNumber OPTIONAL,
- callingPartyBusinessGroupID [4] CallingPartyBusinessGroupID OPTIONAL,
- callingPartysCategory [5] CallingPartysCategory OPTIONAL,
- callingPartySubaddress [6] CallingPartySubaddress OPTIONAL,
- cGEncountered [7] CGEncountered OPTIONAL,
- iPSSPCapabilities [8] IPSSPCapabilities OPTIONAL,
- iPAvailable [9] IPAvailable OPTIONAL,
- locationNumber [10] LocationNumber OPTIONAL,
- miscCallInfo [11] MiscCallInfo OPTIONAL,
- originalCalledPartyID [12] OriginalCalledPartyID OPTIONAL,
- serviceProfileIdentifier [13] ServiceProfileIdentifier OPTIONAL,
- terminalType [14] TerminalType OPTIONAL,
- extensions
- [15] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- triggerType [16] TriggerType OPTIONAL,
- highLayerCompatibility [23] HighLayerCompatibility OPTIONAL,
- serviceInteractionIndicators [24] ServiceInteractionIndicators OPTIONAL,
- additionalCallingPartyNumber [25] AdditionalCallingPartyNumber OPTIONAL,
- forwardCallIndicators [26] ForwardCallIndicators OPTIONAL,
- bearerCapability [27] BearerCapability OPTIONAL,
- eventTypeBCSM [28] EventTypeBCSM OPTIONAL,
- redirectingPartyID [29] RedirectingPartyID OPTIONAL,
- redirectionInformation [30] RedirectionInformation OPTIONAL,
- ...
-}
-
--- OPTIONAL for iPSSPCapabilities, iPAvailable, cGEncountered, and miscCallInfo denotes network
--- operator specific use.
--- OPTIONAL for dialledDigits, callingPartyNumber, and callingPartysCategory refer to clause 3 for the
--- trigger detection point processing rules to specify when these parameters are included in the message.
--- OPTIONAL for terminalType indicates that this parameter applies only at originating or terminating
--- local exchanges if the SSF has this information.
-InitiateCallAttemptArg ::= SEQUENCE {
- destinationRoutingAddress [0] DestinationRoutingAddress,
- alertingPattern [1] AlertingPattern OPTIONAL,
- iSDNAccessRelatedInformation [2] ISDNAccessRelatedInformation OPTIONAL,
- travellingClassMark [3] TravellingClassMark OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- [5] ExtensionField{{SupportedExtensions}},
- serviceInteractionIndicators [29] ServiceInteractionIndicators OPTIONAL,
- callingPartyNumber [30] CallingPartyNumber OPTIONAL,
- ...
-}
-
-MidCallArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [2] CalledPartySubaddress OPTIONAL,
- callingPartyBusinessGroupID [3] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [4] CallingPartySubaddress OPTIONAL,
- featureRequestIndicator [5] FeatureRequestIndicator OPTIONAL,
- extensions
- [6] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [7] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-OAnswerArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- callingPartyBusinessGroupID [1] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [2] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [3] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [5] OriginalCalledPartyID OPTIONAL,
- redirectingPartyID [6] RedirectingPartyID OPTIONAL,
- redirectionInformation [7] RedirectionInformation OPTIONAL,
- routeList [8] RouteList OPTIONAL,
- travellingClassMark [9] TravellingClassMark OPTIONAL,
- extensions
- [10] SEQUENCE SIZE (1..numOfExtensions) OF
- [5] ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-OCalledPartyBusyArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- busyCause [1] Cause OPTIONAL,
- callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [3] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [4] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [6] OriginalCalledPartyID OPTIONAL,
- prefix [7] Digits OPTIONAL,
- redirectingPartyID [8] RedirectingPartyID OPTIONAL,
- redirectionInformation [9] RedirectionInformation OPTIONAL,
- routeList [10] RouteList OPTIONAL,
- travellingClassMark [11] TravellingClassMark OPTIONAL,
- extensions
- [12] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [13] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-ODisconnectArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- callingPartyBusinessGroupID [1] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [2] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [3] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- releaseCause [5] Cause OPTIONAL,
- routeList [6] RouteList OPTIONAL,
- extensions
- [7] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [8] Carrier OPTIONAL,
- connectTime [9] Integer4 OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-ONoAnswerArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- callingPartyBusinessGroupID [1] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [2] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [3] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [5] OriginalCalledPartyID OPTIONAL,
- prefix [6] Digits OPTIONAL,
- redirectingPartyID [7] RedirectingPartyID OPTIONAL,
- redirectionInformation [8] RedirectionInformation OPTIONAL,
- routeList [9] RouteList OPTIONAL,
- travellingClassMark [10] TravellingClassMark OPTIONAL,
- extensions
- [11] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [12] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-OriginationAttemptAuthorizedArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- dialledDigits [1] CalledPartyNumber OPTIONAL,
- callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [3] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [4] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
- travellingClassMark [6] TravellingClassMark OPTIONAL,
- extensions
- [7] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [8] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-PlayAnnouncementArg ::= SEQUENCE {
- informationToSend [0] InformationToSend,
- disconnectFromIPForbidden [1] BOOLEAN DEFAULT TRUE,
- requestAnnouncementComplete [2] BOOLEAN DEFAULT TRUE,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-PromptAndCollectUserInformationArg ::= SEQUENCE {
- collectedInfo [0] CollectedInfo,
- disconnectFromIPForbidden [1] BOOLEAN DEFAULT TRUE,
- informationToSend [2] InformationToSend OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-ReceivedInformationArg ::= CHOICE {
- digitsResponse [0] Digits,
- iA5Response [1] IA5String
-}
-
-ReleaseCallArg ::= Cause
-
--- A default value of decimal 31 (normal unspecified) should be coded appropriately.
-RequestCurrentStatusReportArg ::=
- ResourceID
-
-RequestCurrentStatusReportResultArg ::= SEQUENCE {
- resourceStatus [0] ResourceStatus,
- resourceID [1] ResourceID OPTIONAL,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-RequestEveryStatusChangeReportArg ::= SEQUENCE {
- resourceID [0] ResourceID,
- correlationID [1] CorrelationID OPTIONAL,
- monitorDuration [2] Duration OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- For correlationID OPTIONAL denotes network operator optional.
--- monitorDuration is required if outside the context of a call. It is not expected if we are in the context
--- of a call, because in that case the end of the call implicitly means the end of the monitoring.
-RequestFirstStatusMatchReportArg ::= SEQUENCE {
- resourceID [0] ResourceID OPTIONAL,
- resourceStatus [1] ResourceStatus OPTIONAL,
- correlationID [2] CorrelationID OPTIONAL,
- monitorDuration [3] Duration OPTIONAL,
- extensions
- [4] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- bearerCapability [5] BearerCapability OPTIONAL,
- ...
-}
-
--- For correlationID OPTIONAL denotes network operator optional.
--- monitorDuration is required if outside the context of a call. It is not expected if we are in the context
--- of a call, because in that case the end of the call implicitly means the end of the monitoring.
-RequestNotificationChargingEventArg ::=
- SEQUENCE SIZE (1..numOfChargingEvents) OF ChargingEvent
-
-RequestReportBCSMEventArg ::= SEQUENCE {
- bcsmEvents [0] SEQUENCE SIZE (1..numOfBCSMEvents) OF BCSMEvent,
- bcsmEventCorrelationID [1] CorrelationID OPTIONAL,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- Indicates the BCSM related events for notification.
--- For correlationID OPTIONAL denotes network operator optional.
-ResetTimerArg ::= SEQUENCE {
- timerID [0] TimerID DEFAULT tssf,
- timervalue [1] TimerValue,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-RouteSelectFailureArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- dialledDigits [1] CalledPartyNumber OPTIONAL,
- callingPartyBusinessGroupID [2] CallingPartyBusinessGroupID OPTIONAL,
- callingPartySubaddress [3] CallingPartySubaddress OPTIONAL,
- callingFacilityGroup [4] FacilityGroup OPTIONAL,
- callingFacilityGroupMember [5] FacilityGroupMember OPTIONAL,
- failureCause [6] Cause OPTIONAL,
- originalCalledPartyID [7] OriginalCalledPartyID OPTIONAL,
- prefix [8] Digits OPTIONAL,
- redirectingPartyID [9] RedirectingPartyID OPTIONAL,
- redirectionInformation [10] RedirectionInformation OPTIONAL,
- routeList [11] RouteList OPTIONAL,
- travellingClassMark [12] TravellingClassMark OPTIONAL,
- extensions
- [13] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [14] Carrier OPTIONAL,
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing
--- rules to specify when these parameters are included in the message.
-SelectFacilityArg ::= SEQUENCE {
- alertingPattern [0] AlertingPattern OPTIONAL,
- destinationNumberRoutingAddress [1] CalledPartyNumber OPTIONAL,
- iSDNAccessRelatedInformation [2] ISDNAccessRelatedInformation OPTIONAL,
- calledFacilityGroup [3] FacilityGroup OPTIONAL,
- calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [5] OriginalCalledPartyID OPTIONAL,
- extensions
- [6] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- OPTIONAL parameters are only provided if modifications desired to basic call processing values.
-SelectRouteArg ::= SEQUENCE {
- destinationRoutingAddress [0] DestinationRoutingAddress,
- alertingPattern [1] AlertingPattern OPTIONAL,
- correlationID [2] CorrelationID OPTIONAL,
- iSDNAccessRelatedInformation [3] ISDNAccessRelatedInformation OPTIONAL,
- originalCalledPartyID [4] OriginalCalledPartyID OPTIONAL,
- routeList [5] RouteList OPTIONAL,
- scfID [6] ScfID OPTIONAL,
- travellingClassMark [7] TravellingClassMark OPTIONAL,
- extensions
- [8] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- carrier [9] Carrier OPTIONAL,
- ...
-}
-
--- OPTIONAL parameters are only provided if modifications desired to basic call processing values.
-SendChargingInformationArg ::= SEQUENCE {
- sCIBillingChargingCharacteristics [0] SCIBillingChargingCharacteristics,
- partyToCharge [1] LegID,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-ServiceFilteringResponseArg ::= SEQUENCE {
- countersValue [0] CountersValue,
- filteringCriteria [1] FilteringCriteria,
- extensions
- [2] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- responseCondition [3] ResponseCondition OPTIONAL,
- ...
-}
-
-SpecializedResourceReportArg ::= NULL
-
-StatusReportArg ::= SEQUENCE {
- resourceStatus [0] ResourceStatus OPTIONAL,
- correlationID [1] CorrelationID OPTIONAL,
- resourceID [2] ResourceID OPTIONAL,
- extensions
- [3] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- reportCondition [4] ReportCondition OPTIONAL,
- ...
-}
-
--- For correlationID, OPTIONAL denotes network operator optional.
--- resourceID is required when the SSF sends a report as an answer to a previous request when the
--- correlationID was present.
-TAnswerArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [2] CalledPartySubaddress OPTIONAL,
- calledFacilityGroup [3] FacilityGroup OPTIONAL,
- calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- extensions
- [5] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-TBusyArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- busyCause [1] Cause OPTIONAL,
- calledPartyBusinessGroupID [2] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [3] CalledPartySubaddress OPTIONAL,
- originalCalledPartyID [4] OriginalCalledPartyID OPTIONAL,
- redirectingPartyID [5] RedirectingPartyID OPTIONAL,
- redirectionInformation [6] RedirectionInformation OPTIONAL,
- routeList [7] RouteList OPTIONAL,
- travellingClassMark [8] TravellingClassMark OPTIONAL,
- extensions
- [9] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- For the OPTIONAL parameters, refer to clause 3 for the trigger detection point processing rules
--- to specify when these parameters are included in the message.
-TDisconnectArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [2] CalledPartySubaddress OPTIONAL,
- calledFacilityGroup [3] FacilityGroup OPTIONAL,
- calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- releaseCause [5] Cause OPTIONAL,
- extensions
- [6] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- connectTime [7] Integer4 OPTIONAL,
- ...
-}
-
-TermAttemptAuthorizedArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [2] CalledPartySubaddress OPTIONAL,
- callingPartyBusinessGroupID [3] CallingPartyBusinessGroupID OPTIONAL,
- originalCalledPartyID [4] OriginalCalledPartyID OPTIONAL,
- redirectingPartyID [5] RedirectingPartyID OPTIONAL,
- redirectionInformation [6] RedirectionInformation OPTIONAL,
- routeList [7] RouteList OPTIONAL,
- travellingClassMark [8] TravellingClassMark OPTIONAL,
- extensions
- [9] SEQUENCE SIZE (1..numOfExtensions) OF
- ExtensionField{{SupportedExtensions}},
- ...
-}
-
-TNoAnswerArg ::= SEQUENCE {
- dpSpecificCommonParameters [0] DpSpecificCommonParameters,
- calledPartyBusinessGroupID [1] CalledPartyBusinessGroupID OPTIONAL,
- calledPartySubaddress [2] CalledPartySubaddress OPTIONAL,
- calledFacilityGroup [3] FacilityGroup OPTIONAL,
- calledFacilityGroupMember [4] FacilityGroupMember OPTIONAL,
- originalCalledPartyID [5] OriginalCalledPartyID OPTIONAL,
- redirectingPartyID [6] RedirectingPartyID OPTIONAL,
- redirectionInformation [7] RedirectionInformation OPTIONAL,
- travellingClassMark [8] TravellingClassMark OPTIONAL,
- extensions
- [9] SEQUENCE SIZE (1..numOfExtensions) OF
- [3] ExtensionField{{SupportedExtensions}},
- ...
-}
-
--- The Definition of Common Data Types
-AccessCode ::= LocationNumber
-
--- An access code from a business group dialling plan attendant access codes, access codes to escape
--- to the public network, access code to access a private facility/network, and feature access codes.
--- Uses the LocationNumber format which is based on the Q.763 Location Number format.
--- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
--- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
--- Of local significance.
-AChBillingChargingCharacteristics ::=
- OCTET STRING(SIZE (minAChBillingChargingLength..maxAChBillingChargingLength))
-
--- The AChBillingChargingCharacteristics parameter specifies the charging related information
--- to be provided by the SSF and the conditions on which this information has to be reported
--- back to the SCF with the ApplyChargingReport operation.
--- Examples of charging related information to be provided by the SSF may be: bulk counter
--- values, costs, tariff change and time of charge, time stamps, durations, etc.
--- Examples of conditions on which the charging related information are to be reported may be:
--- threshold value reached, timer expiration, tariff change, end of connection configuration, etc.
-AdditionalCallingPartyNumber ::=
- Digits
-
--- Indicates the Additional Calling Party Number. Refer to Recommendation Q.763 for encoding.
-AlertingPattern ::= OCTET STRING(SIZE (3))
-
--- Indicates a specific pattern that is used to alert a subscriber (e.g. distinctive ringing, tones, etc.).
--- Only applies if SSF is the terminating local exchange for the subscriber. Refer to the Q.931
--- Signal parameter for encoding.
-ApplicationTimer ::= INTEGER(0..2047)
-
--- Used by the SCF to set a timer in the SSF. The timer is in seconds.
-AssistingSSPIPRoutingAddress ::=
- Digits
-
--- Indicates the destination address of the SRF for the assist procedure.
-BCSMEvent ::= SEQUENCE {
- eventTypeBCSM [0] EventTypeBCSM,
- monitorMode [1] MonitorMode,
- legID [2] LegID OPTIONAL,
- dpSpecificCriteria [30] DpSpecificCriteria OPTIONAL
-}
-
--- Indicates the BCSM Event information for monitoring.
-BearerCapability ::= CHOICE {
- bearerCap [0] OCTET STRING(SIZE (2..maxBearerCapabilityLength)),
- tmr [1] OCTET STRING(SIZE (1))
-}
-
--- Indicates the type of bearer capability connection to the user. For bearerCapability, either
--- DSS 1 (Q.931) or the ISUP User Service Information (Q.763) encoding can be used. Refer
--- to the Q.763 Transmission Medium Requirement parameter for tmr encoding.
-CalledPartyBusinessGroupID ::= OCTET STRING
-
--- Indicates the business group of the called party. The value of this octet string is network
--- operator specific.
-CalledPartyNumber ::=
- OCTET STRING(SIZE (minCalledPartyNumberLength..maxCalledPartyNumberLength))
-
--- Indicates the Called Party Number. Refer to Recommendation Q.763 for encoding.
-CalledPartySubaddress ::= OCTET STRING
-
--- Indicates the Called Party Subaddress. Refer to Recommendation Q.931 for encoding.
-CallingPartyBusinessGroupID ::= OCTET STRING
-
--- Indicates the business group of the calling party. The value of this octet string is network
--- operator specific.
-CallingPartyNumber ::=
- OCTET STRING(SIZE (minCallingPartyNumberLength..maxCallingPartyNumberLength))
-
--- Indicates the Calling Party Number. Refer to Recommendation Q.763 for encoding.
-CallingPartySubaddress ::= OCTET STRING
-
--- Indicates the Calling Party Subaddress. Refer to Recommendation Q.931 for encoding.
-CallingPartysCategory ::= OCTET STRING(SIZE (1))
-
--- Indicates the type of calling party (e.g. operator, payphone, ordinary subscriber).
--- Refer to Recommendation Q.763 for encoding.
-CallResult ::= OCTET STRING(SIZE (minCallResultLength..maxCallResultLength))
-
--- This parameter provides the SCF with the charging related information previously requested
--- using the ApplyCharging operation. This shall include the partyToCharge parameter as
--- received in the related ApplyCharging operation to correlate the result to the request.
--- The remaining content is network operator specific.
--- Examples of charging related information to be provided by the SSF may be: bulk counter values,
--- costs, tariff change and time of change, time stamps, durations, etc.
--- Examples of conditions on which the charging related information are to be reported may be:
--- threshold value reached, timer expiration, tariff change, end of connection configuration, etc.
-Carrier ::= OCTET STRING
-
--- Contains the carrier selection and carrier ID fields.
--- Carrier selection is one octet and is encoded as:
--- 00000000 No indication
--- 00000001 Selected carrier code pre subscribed and not input by calling party
--- 00000010 Selected carrier identification code pre subscribed and input by calling party
--- 00000011 Selected carrier identification code pre subscribed, no indication of whether input by calling party
--- 00000100 Selected carrier identification code not pre subscribed and input by calling party
--- 00000101
--- to Spare
--- 11111110
--- 11111111 Reserved
---
--- Carrier ID has a one octet field indicating the number of digits followed by the digits encoded using BCD.
--- Detailed coding is for further study. It is of local significance and carrying it through the ISUP is for further
--- study.
-Cause ::= OCTET STRING(SIZE (minCauseLength..maxCauseLength))
-
--- Indicates the cause for interface related information. Refer to the Q.763 Cause parameter for
--- encoding.
--- For the use of cause and location values refer to Recommendation Q.850.
-CGEncountered ::= ENUMERATED {
- noCGencountered(0), manualCGencountered(1), scpOverload(2)}
-
--- Indicates the type of automatic call gapping encountered, if any.
-ChargeNumber ::=
- LocationNumber
-
--- Information sent in either direction indicating the chargeable number for the call and consisting
--- of the odd/even indicator, nature of address indicator, numbering plan indicator, and address signals.
--- Uses the LocationNumber format which is based on the Q.763 Location Number format.
--- For example, the ChargeNumber may be a third party number to which a call is billed for the 3rd party
--- billing service. In this case, the calling party may request operator assistance to charge the call to,
--- for example, their home number.
-ChargingEvent ::= SEQUENCE {
- eventTypeCharging [0] EventTypeCharging,
- monitorMode [1] MonitorMode,
- legID [2] LegID OPTIONAL
-}
-
--- This parameter indicates the charging event type and corresponding
--- monitor mode and LedID.
-CollectedDigits ::= SEQUENCE {
- minimumNbOfDigits [0] INTEGER(1..127) DEFAULT 1,
- maximumNbOfDigits [1] INTEGER(1..127),
- endOfReplyDigit [2] OCTET STRING(SIZE (1..2)) OPTIONAL,
- cancelDigit [3] OCTET STRING(SIZE (1..2)) OPTIONAL,
- startDigit [4] OCTET STRING(SIZE (1..2)) OPTIONAL,
- firstDigitTimeOut [5] INTEGER(1..127) OPTIONAL,
- interDigitTimeOut [6] INTEGER(1..127) OPTIONAL,
- errorTreatment [7] ErrorTreatment DEFAULT reportErrorToScf,
- interruptableAnnInd [8] BOOLEAN DEFAULT TRUE,
- voiceInformation [9] BOOLEAN DEFAULT FALSE,
- voiceBack [10] BOOLEAN DEFAULT FALSE
-}
-
--- The use of voiceBack is network operator specific.
--- The endOfReplyDigit, cancelDigit, and startDigit parameters have been designated as OCTET STRING,
--- and are to be encoded as BCD, one digit per octet only, contained
--- in the four least significant bits of each OCTET. The usage is service dependent.
-CollectedInfo ::= CHOICE {
- collectedDigits [0] CollectedDigits,
- iA5Information [1] BOOLEAN
-}
-
-ControlType ::= ENUMERATED {
- sCPOverloaded(0), manuallyInitiated(1), destinationOverload(2)
- -- other values FFS
- }
-
-CorrelationID ::= Digits
-
--- used by SCF for correlation with a previous operation. Refer to clause 3 for a description of the
--- procedures associated with this parameter.
-CounterAndValue ::= SEQUENCE {
- counterID [0] CounterID,
- counterValue [1] Integer4
-}
-
-CounterID ::= INTEGER(0..99)
-
--- Indicates the counters to be incremented.
--- The counterIDs can be addressed by using the last digits of the dialled number.
-CountersValue ::= SEQUENCE SIZE (0..numOfCounters) OF CounterAndValue
-
-CutAndPaste ::= INTEGER(0..22)
-
--- Indicates the number of digits to be deleted. Refer to 6.4.2.16/Q.1214 for additional information.
-DateAndTime ::= OCTET STRING(SIZE (6))
-
--- Indicates, amongst others, the start time for activate service filtering. Coded as YYMMDDHHMMSS
--- with each digit coded BCD.
--- The first octet contains YY and the remaining items are sequenced following.
--- For example, 1993 September 30th, 12:15:01 would be encoded as:
--- Bits HGFE DCBA
--- leading octet 3 9
--- 9 0
--- 0 3
--- 2 1
--- 5 1
--- 1 0
-DestinationRoutingAddress ::= SEQUENCE SIZE (1..3) OF CalledPartyNumber
-
--- Indicates the list of Called Party Numbers (primary and alternates).
-Digits ::= OCTET STRING(SIZE (minDigitsLength..maxDigitsLength))
-
--- Indicates the address signalling digits. Refer to the Q.763 Generic Number and Generic Digits parameters
--- for encoding. The coding of the subfields 'NumberQualifier' in Generic Number and 'TypeOfDigits' in
--- Generic Digits are irrelevant to the INAP, the ASN.1 tags are sufficient to identify the parameter.
--- The ISUP format does not allow to exclude these subfields, therefore the value is network operator specific.
--- The following parameters should use Generic Number:
--- CorrelationID for AssistRequestInstructions, AssistingSSPIPRoutingAddress for
--- EstablishTemporaryConnection, calledAddressValue for all occurrences, callingAddressValue for all
--- occurrences. The following parameters should use Generic Digits: prefix, all
--- other CorrelationID occurrences, dialledNumber filtering criteria, callingLineID filtering criteria, lineID
--- for ResourceID type, digitResponse for ReceivedInformationArg.
-DisplayInformation ::=
- IA5String(SIZE (minDisplayInformationLength..maxDisplayInformationLength))
-
--- Indicates the display information.
-DpSpecificCriteria ::= CHOICE {
- numberOfDigits [0] NumberOfDigits,
- applicationTimer [1] ApplicationTimer
-}
-
--- The SCF may specify the number of digits to be collected by the SSF for the CollectedInfo event.
--- When all digits are collected, the SSF reports the event to the SCF.
--- The SCF may set a timer in the SSF for the No Answer event. If the user does not answer the call
--- within the allotted time, the SSF reports the event to the SCF.
-Duration ::= INTEGER(-2..86400)
-
--- Values are seconds.
-ErrorTreatment ::= ENUMERATED {reportErrorToScf(0), help(1), repeatPrompt(2)
-}
-
--- reportErrorToScf means returning the "ImproperCallerResponse" error in the event of an error
--- condition during collection of user info.
-EventSpecificInformationBCSM ::= CHOICE {
- collectedInfoSpecificInfo
- [0] SEQUENCE {calledPartynumber [0] CalledPartyNumber,
- ...},
- analyzedInfoSpecificInfo
- [1] SEQUENCE {calledPartynumber [0] CalledPartyNumber,
- ...},
- routeSelectFailureSpecificInfo
- [2] SEQUENCE {failureCause [0] Cause OPTIONAL,
- ...},
- oCalledPartyBusySpecificInfo
- [3] SEQUENCE {busyCause [0] Cause OPTIONAL,
- ...},
- oNoAnswerSpecificInfo
- [4] SEQUENCE {-- no specific info defined
- ...},
- oAnswerSpecificInfo
- [5] SEQUENCE {-- no specific info defined
- ...},
- oMidCallSpecificInfo
- [6] SEQUENCE {connectTime [0] Integer4 OPTIONAL,
- ...},
- oDisconnectSpecificInfo
- [7] SEQUENCE {releaseCause [0] Cause OPTIONAL,
- connectTime [1] Integer4 OPTIONAL,
- ...},
- tBusySpecificInfo
- [8] SEQUENCE {busyCause [0] Cause OPTIONAL,
- ...},
- tNoAnswerSpecificInfo
- [9] SEQUENCE {-- no specific info defined
- ...},
- tAnswerSpecificInfo
- [10] SEQUENCE {-- no specific info defined
- ...},
- tMidCallSpecificInfo
- [11] SEQUENCE {connectTime [0] Integer4 OPTIONAL,
- ...},
- tDisconnectSpecificInfo
- [12] SEQUENCE {releaseCause [0] Cause OPTIONAL,
- connectTime [1] Integer4 OPTIONAL,
- ...}
-}
-
--- Indicates the call related information specific to the event.
--- The connectTime indicates the duration between the received answer indication from the called party side
--- and the release of the connection for ODisconnect, OException, TDisconnect, or TException events.
--- The unit for the connectTime is 100 milliseconds.
-EventSpecificInformationCharging ::=
- OCTET STRING
- (SIZE (minEventSpecificInformationChargingLength..
- maxEventSpecificInformationChargingLength))
-
--- defined by network operator.
--- Indicates the charging related information specific to the event.
--- An example data type definition for this parameter is given below:
--- chargePulses [0] Integer4,
--- chargeMessages [1] OCTET STRING (SIZE (min..max))
-EventTypeBCSM ::= ENUMERATED {
- origAttemptAuthorized(1), collectedInfo(2), analysedInformation(3),
- routeSelectFailure(4), oCalledPartyBusy(5), oNoAnswer(6), oAnswer(7),
- oMidCall(8), oDisconnect(9), oAbandon(10), termAttemptAuthorized(12),
- tBusy(13), tNoAnswer(14), tAnswer(15), tMidCall(16), tDisconnect(17),
- tAbandon(18)}
-
--- Indicates the BCSM detection point event. Refer to 4.2.2.2/Q.1214 for additional information on the
--- events. Values origAttemptAuthorized and termAttemptAuthorized can only be used for TDPs.
-EventTypeCharging ::=
- OCTET STRING(SIZE (minEventTypeChargingLength..maxEventTypeChargingLength))
-
--- This parameter indicates the charging event type. Its content is network operator specific.
---
--- An example data type definition for this parameter is given below:
--- EventTypeCharging ::= ENUMERATED {
--- chargePulses (0),
--- chargeMessages (1)
--- }
-EXTENSION ::= CLASS {
- &id ExtensionType UNIQUE,
- &Type OPTIONAL,
- &absent &Type OPTIONAL,
- &criticality Criticality DEFAULT ignored
-}
-WITH SYNTAX {
- [EXTENSION-SYNTAX &Type
- [IF ABSENT &absent]]
- [CRITICALITY &criticality]
- IDENTIFIED BY &id
-}
-
-ExtensionType ::= INTEGER(0..MAX)
-
-Criticality ::= ENUMERATED {ignored(0), abort(1)}
-
-ExtensionField{EXTENSION:ChosenFrom} ::= SEQUENCE {
- type EXTENSION.&id({ChosenFrom}),
- criticality Criticality DEFAULT ignored,
- value [1] EXTENSION.&Type({ChosenFrom}{@type})
-}
-
--- This parameter indicates an extension of an argument data type. Its content is network operator specific.
-SupportedExtensions EXTENSION ::=
- {...}
-
-FacilityGroup ::= CHOICE {
- trunkGroupID [0] INTEGER,
- privateFacilityID [1] INTEGER,
- huntGroup [2] OCTET STRING,
- routeIndex [3] OCTET STRING
-}
-
--- Indicates the particular group of facilities to route the call. huntGroup and routeIndex are encoded as
--- network operator specific.
-FacilityGroupMember ::= INTEGER
-
--- Indicates the specific member of a trunk group or multi-line hunt group.
-FCIBillingChargingCharacteristics ::=
- OCTET STRING(SIZE (minFCIBillingChargingLength..maxFCIBillingChargingLength))
-
--- This parameter indicates the billing and/or charging characteristics. Its content is network operator
--- specific. An example datatype definition for this parameter is given below:
--- FCIBillingChargingCharacteristics ::= CHOICE {
--- completeChargingrecord [0] OCTET STRING (SIZE (min..max)),
--- correlationID [1] CorrelationID,
--- scenario2Dot3 [2] SEQUENCE {
--- chargeParty [0] LegID OPTIONAL,
--- chargeLevel [1] OCTET STRING (SIZE (min..max))
--- OPTIONAL,
--- chargeItems [2] SET OF Attribute OPTIONAL
--- }
--- }
--- Depending on the applied charging scenario, the following information elements can be included
--- (refer to Q.1214 Appendix II):
--- complete charging record (scenario 2.2)
--- charge party (scenario 2.3)
--- charge level (scenario 2.3)
--- charge items (scenario 2.3)
--- correlationID (scenario 2.4)
-FeatureCode ::=
- LocationNumber
-
--- The two-digit feature code preceded by "*" or "11".
--- Uses the LocationNumber format which is based on the Q.763 Location Number format.
--- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
--- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
--- Used for stimulus signalling (Q.932).
-FeatureRequestIndicator ::= ENUMERATED {
- hold(0), retrieve(1), featureActivation(2), spare1(3), sparen(127)}
-
--- Indicates the feature activated (e.g. a switch-hook flash, feature activation). Spare values reserved
--- for future use.
-FilteredCallTreatment ::= SEQUENCE {
- sFBillingChargingCharacteristics [0] SFBillingChargingCharacteristics,
- informationToSend [1] InformationToSend OPTIONAL,
- maximumNumberOfCounters [2] MaximumNumberOfCounters OPTIONAL,
- releaseCause [3] Cause OPTIONAL
-}
-
--- If releaseCause is not present, the default value is the same as the ISUP cause value decimal 31.
--- If informationToSend is present, the call will be released after the end of the announcement
--- with the indicated or default releaseCause.
--- If maximumNumberOfCounters is not present, ServiceFilteringResponse will be sent with
--- CountersValue::= SEQUENCE SIZE (0) OF CountersAndValue.
-FilteringCharacteristics ::= CHOICE {
- interval [0] INTEGER(-1..32000),
- numberOfCalls [1] Integer4
-}
-
--- Indicates the severity of the filtering and the point in time when the ServiceFilteringResponse is to be sent.
--- If = interval, every interval of time the next call leads to an InitialDP and a ServiceFilteringResponse is
--- sent to the SCF. The interval is specified in seconds.
--- If = NumberOfCalls, every N calls the Nth call leads to an InitialDP and a ServiceFilteringResponse
--- is sent to the SCF.
--- If ActivateServiceFiltering implies several counters - filtering on several dialled numbers -,
--- the numberOfCalls would include calls to all the dialled numbers.
-FilteringCriteria ::= CHOICE {
- dialledNumber [0] Digits,
- callingLineID [1] Digits,
- serviceKey [2] ServiceKey,
- addressAndService
- [30] SEQUENCE {calledAddressValue [0] Digits,
- serviceKey [1] ServiceKey,
- callingAddressValue [2] Digits OPTIONAL,
- locationNumber [3] LocationNumber OPTIONAL
- }
-}
-
--- In case calledAddressValue is specified, the numbers to be filtered are from calledAddressValue
--- up to and including calledAddressValue + maximumNumberOfCounters-1.
--- The last two digits of calledAddressvalue can not exceed 100-maximumNumberOfCounters.
-FilteringTimeOut ::= CHOICE {
- duration [0] Duration,
- stopTime [1] DateAndTime
-}
-
--- Indicates the maximum duration of the filtering. When the timer expires, a ServiceFilteringResponse
--- is sent to the SCF.
-ForwardCallIndicators ::= OCTET STRING(SIZE (2))
-
--- Indicates the Forward Call Indicators. Refer to Recommendation Q.763 for encoding.
-ForwardingCondition ::= ENUMERATED {busy(0), noanswer(1), any(2)}
-
--- Indicates the condition that must be met to complete the connect.
-GapCriteria ::= CHOICE {
- calledAddressValue [0] Digits,
- gapOnService [2] GapOnService,
- calledAddressAndService
- [29] SEQUENCE {calledAddressValue [0] Digits,
- serviceKey [1] ServiceKey},
- callingAddressAndService
- [30] SEQUENCE {callingAddressValue [0] Digits,
- serviceKey [1] ServiceKey,
- locationNumber [2] LocationNumber OPTIONAL
- }
-}
-
--- Both calledAddressValue and callingAddressValue can be
--- incomplete numbers, in the sense that a limited amount of digits can be given.
---
--- For the handling of numbers starting with the same digit string, refer to the detailed procedure
--- of the CallGap operation in 3.3.
-GapOnService ::= SEQUENCE {
- serviceKey [0] ServiceKey,
- dpCriteria [1] EventTypeBCSM OPTIONAL
-}
-
---Recommendation Q.1218 (10/95)
-GapIndicators ::= SEQUENCE {
- duration [0] Duration,
- gapInterval [1] Interval
-}
-
--- Indicates the gapping characteristics. No gapping when gapInterval equals 0, and gap all calls when
--- gapInterval equals 1.
-GapTreatment ::= CHOICE {
- informationToSend [0] InformationToSend,
- releaseCause [1] Cause,
- both
- [2] SEQUENCE {informationToSend [0] InformationToSend,
- releaseCause [1] Cause}
-}
-
--- The default value for Cause is the same as in ISUP.
-HighLayerCompatibility ::= OCTET STRING(SIZE (highLayerCompatibilityLength))
-
--- Indicates the teleservice. For encoding, DSS 1 (Q.931) is used.
-HoldCause ::= OCTET STRING -- defined by network operator.
-
--- Indicates the cause for holding the call.
-InbandInfo ::= SEQUENCE {
- messageID [0] MessageID,
- numberOfRepetitions [1] INTEGER(1..127) OPTIONAL,
- duration [2] INTEGER(0..32767) OPTIONAL,
- interval [3] INTEGER(0..32767) OPTIONAL
-}
-
--- Interval is the time in seconds between each repeated announcement. Duration is the total
--- amount of time in seconds, including repetitions and intervals.
--- The end of announcement is either the end of duration or numberOfRepetitions, whatever comes first.
--- Duration with value 0 indicates infinite duration.
-InformationToSend ::= CHOICE {
- inbandInfo [0] InbandInfo,
- tone [1] Tone,
- displayInformation [2] DisplayInformation
-}
-
-Integer4 ::= INTEGER(0..2147483647)
-
-Interval ::= INTEGER(-1..60000)
-
--- Units are milliseconds. A -1 value denotes infinite.
-InvokeID ::=
- InvokeIdType
-
--- Operation invoke identifier.
-IPAvailable ::= OCTET STRING(SIZE (minIPAvailableLength..maxIPAvailableLength))
-
--- defined by network operator.
--- Indicates that the resource is available.
-IPRoutingAddress ::=
- CalledPartyNumber
-
--- Indicates the routing address for the IP.
-IPSSPCapabilities ::=
- OCTET STRING(SIZE (minIPSSPCapabilitiesLength..maxIPSSPCapabilitiesLength))
-
--- defined by network operator.
--- Indicates the SRF resources available at the SSP.
-ISDNAccessRelatedInformation ::= OCTET STRING
-
--- Indicates the destination user network interface related information. Refer to the Q.763 Access
--- Transport parameter for encoding.
-LegID ::= CHOICE {sendingSideID [0] LegType,
- receivingSideID [1] LegType
-}
-
--- Indicates a reference to a specific party in a call. OPTIONAL denotes network operator specific use
--- with a choice of unilateral ID assignment or bilateral ID assignment.
--- OPTIONAL for LegID also denotes the following:
--- - when only one party exists in the call, this parameter is not needed (as no ambiguity exists);
--- - when more than one party exists in the call, one of the following alternatives applies:
--- 1. LegID is present and indicates which party is concerned.
--- 2. LegID is not present and a default value is assumed (e.g. calling party in the case of the
--- ApplyCharging operation).
--- Choice between these two alternatives is kept a network operator option.
-LegType ::= OCTET STRING(SIZE (1))
-
-leg1 LegType ::= '01'H
-
-leg2 LegType ::= '02'H
-
-LocationNumber ::=
- OCTET STRING(SIZE (minLocationNumberLength..maxLocationNumberLength))
-
--- Indicates the Location Number for the calling party. Refer to Recommendation Q.763 (White book) for encoding.
-MaximumNumberOfCounters ::= INTEGER(1..numOfCounters)
-
-MessageID ::= CHOICE {
- elementaryMessageID [0] Integer4,
- text
- [1] SEQUENCE {messageContent
- [0] IA5String
- (SIZE (minMessageContentLength..
- maxMessageContentLength)),
- attributes
- [1] OCTET STRING
- (SIZE (minAttributesLength..maxAttributesLength))
- OPTIONAL},
- elementaryMessageIDs [29] SEQUENCE SIZE (1..numOfMessageIDs) OF Integer4,
- variableMessage
- [30] SEQUENCE {elementaryMessageID [0] Integer4,
- variableParts
- [1] SEQUENCE SIZE (1..5) OF VariablePart}
-}
-
--- OPTIONAL denotes network operator specific use.
-MiscCallInfo ::= SEQUENCE {
- messageType [0] ENUMERATED {request(0), notification(1)},
- dpAssignment
- [1] ENUMERATED {individualLine(0), groupBased(1), officeBased(2)} OPTIONAL
-}
-
--- Indicates detection point related information.
-MonitorMode ::= ENUMERATED {
- interrupted(0), notifyAndContinue(1), transparent(2)}
-
--- Indicates the event is relayed and/or processed by the SSP.
--- If this parameter is used in the context of charging events, the following definitions apply for the
--- handling of charging events:
--- Interrupted means that the SSF notifies the SCF of the charging event using
--- EventNotificationCharging, does not process the event but discard it.
--- NotifyAndContinue means that SSF notifies the SCF of the charging event using
--- EventNotificationCharging, and continues processing the event or signal without waiting for SCF
--- instructions. Transparent means that the SSF does not notify the SCF of the event. This value is used to
--- end the monitoring of a previously requested charging event. Previously requested charging events are
--- monitored until ended by a transparent monitor mode, or until the end of the connection configuration.
--- For the use of this parameter in the context of BCSM events refer to 3.3.39.
-NumberingPlan ::= OCTET STRING(SIZE (1))
-
--- Indicates the numbering plan for collecting the user information. Refer to the Q.763 Numbering Plan.
--- Indicator field for encoding.
-NumberOfDigits ::= INTEGER(1..255)
-
--- Indicates the number of digits to be collected
-OriginalCalledPartyID ::=
- OCTET STRING
- (SIZE (minOriginalCalledPartyIDLength..maxOriginalCalledPartyIDLength))
-
--- Indicates the original called number. Refer to the Q.763 Original Called Number for encoding.
-RedirectingPartyID ::=
- OCTET STRING(SIZE (minRedirectingPartyIDLength..maxRedirectingPartyIDLength))
-
--- Indicates redirecting number. Refer to the Q.763 Redirecting number for encoding.
-RedirectionInformation ::= OCTET STRING(SIZE (2))
-
--- Indicates redirection information. Refer to the Q.763 Redirection Information for encoding.
-ReportCondition ::= ENUMERATED {statusReport(0), timerExpired(1), canceled(2)
-}
-
--- ReportCondition specifies the cause of sending "StatusReport" operation to the SCF.
-RequestedInformationList ::=
- SEQUENCE SIZE (1..numOfInfoItems) OF RequestedInformation
-
-RequestedInformationTypeList ::=
- SEQUENCE SIZE (1..numOfInfoItems) OF RequestedInformationType
-
-RequestedInformation ::= SEQUENCE {
- requestedInformationType [0] RequestedInformationType,
- requestedInformationValue [1] RequestedInformationValue
-}
-
-RequestedInformationType ::= ENUMERATED {
- callAttemptElapsedTime(0), callStopTime(1), callConnectedElapsedTime(2),
- calledAddress(3), releaseCause(30)}
-
-RequestedInformationValue ::= CHOICE {
- callAttemptElapsedTimeValue [0] INTEGER(0..255),
- callStopTimeValue [1] DateAndTime,
- callConnectedElapsedTimeValue [2] Integer4,
- calledAddressValue [3] Digits,
- releaseCauseValue [30] Cause
-}
-
--- The callAttemptElapsedTimeValue is specified in seconds. The unit for the
--- callConnectedElapsedTimeValue is 100 milliseconds.
-ResourceID ::= CHOICE {
- lineID [0] Digits,
- facilityGroupID [1] FacilityGroup,
- facilityGroupMemberID [2] INTEGER,
- trunkGroupID [3] INTEGER
-}
-
--- Indicates a logical identifier for the physical termination resource.
-ResourceStatus ::= ENUMERATED {busy(0), idle(1)}
-
-ResponseCondition ::= ENUMERATED {intermediateResponse(0), lastResponse(1)
-
--- additional values are for further study.
-}
-
--- ResponseCondition is used to identify the reason why ServiceFilteringResponse operation is sent.
--- intermediateresponse identifies that service filtering is running and the interval time is expired and
--- a call is received, or that service filtering is running and the threshold value is reached.
--- lastResponse identifies that the duration time is expired and service filtering has been finished or
--- that the stop time is met and service filtering has been finished.
-RouteList ::=
- SEQUENCE SIZE (1..3) OF
- OCTET STRING(SIZE (minRouteListLength..maxRouteListLength))
-
--- Indicates a list of trunk groups or a route index. See Recommendation Q.1214 for additional information on this item.
-ScfID ::= OCTET STRING(SIZE (minScfIDLength..maxScfIDLength))
-
--- defined by network operator.
--- Indicates the SCF identifier.
-SCIBillingChargingCharacteristics ::=
- OCTET STRING(SIZE (minSCIBillingChargingLength..maxSCIBillingChargingLength))
-
--- This parameter indicates the billing and/or charging characteristics. Its content is network operator
--- specific. An example datatype definition for this parameter is given below:
--- SCIBillingChargingCharacteristics ::= CHOICE {
--- chargeLevel [0] OCTET STRING (SIZE (min..max),
--- chargePulses [1] Integer4,
--- chargeMessages [2] OCTET STRING (SIZE (min..max)
--- }
--- Depending on the applied charging scenario the following information elements
--- can be included (refer to Appendix II/Q.1214):
--- chargeLevel (scenario 3.2)
--- chargePulses (scenario 3.2)
--- chargeMessages (scenario 3.2)
-ServiceAddressInformation ::= SEQUENCE {
- serviceKey [0] ServiceKey OPTIONAL,
- miscCallInfo [1] MiscCallInfo,
- triggerType [2] TriggerType OPTIONAL
-}
-
--- Information that represents the result of trigger analysis and allows the SCF to choose the appropriate
--- service logic.
-ServiceInteractionIndicators ::=
- OCTET STRING
- (SIZE (minServiceInteractionIndicatorsLength..
- maxServiceInteractionIndicatorsLength))
-
--- Indicators which are exchanged between SSP and SCP to resolve interactions between IN based services
--- and network based services, respectively between different IN based services.
--- The contents are network specific and identified as a subject for further study with respect to INAP.
--- The following example is listed to illustrate the use of this parameter:
--- CallToBeDiverted Allowed/NotAllowed Indicator
--- If the CallToBeDiverted indicator is set to NotAllowed, the destination exchange shall not allow any
--- divertion on the subjected call. By this, each service can pass the applicable indicators to inform the
--- destination exchange of how specific services are to be handled.
-ServiceKey ::=
- Integer4
-
--- Information that allows the SCF to choose the appropriate service logic.
-ServiceProfileIdentifier ::= OCTET STRING
-
--- Indicates a particular ISDN terminal. Refer to Recommendation Q.932 for encoding.
-ServingAreaID ::=
- LocationNumber
-
--- Identifies the local serving area where a network provider operates. Uses the LocationNumber
--- format which is based on the Q.763 Location Number format.
--- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
--- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
--- Defined by the network operator.
-SFBillingChargingCharacteristics ::=
- OCTET STRING(SIZE (minSFBillingChargingLength..maxSFBillingChargingLength))
-
--- This parameter indicates the billing and/or charging characteristics for filtered calls.
--- Its content is network operator specific.
-TerminalType ::= ENUMERATED {
- unknown(0), dialPulse(1), dtmf(2), isdn(3), isdnNoDtmf(4), spare(16)
-}
-
--- Identifies the terminal type so that the SCF can specify, to the SRF, the appropriate type of capability
--- (voice recognition, DTMF, display capability, etc.). Since present signalling systems do not convey
--- terminal type, this parameter applies only at originating or terminating local exchanges.
-TimerID ::= ENUMERATED {tssf(0)
- -- others ffs
- }
-
--- Indicates the timer to be reset.
-TimerValue ::= Integer4
-
--- Indicates the timer value (in seconds).
-Tone ::= SEQUENCE {toneID [0] Integer4,
- duration [1] Integer4 OPTIONAL
-}
-
--- The duration specifies the length of the tone in seconds, value 0 indicates infinite duration.
-TravellingClassMark ::=
- LocationNumber
-
--- Indicates travelling class mark information.
--- Uses the LocationNumber format which is based on the Q.763 Location Number format.
--- The Nature of Address indicator field shall be set to "Spare" (value 00000000).
--- The Numbering Plan Indicator field shall be set to "Spare" (value 000).
--- Maximum 2 digits.
-TriggerType ::= ENUMERATED {
- featureActivation(0), verticalServiceCode(1), customizedAccess(2),
- customizedIntercom(3), emergencyService(12), aFR(13), sharedIOTrunk(14),
- offHookDelay(17), channelSetupPRI(18), tNoAnswer(25), tBusy(26),
- oCalledPartyBusy(27), oNoAnswer(29), originationAttemptAuthorized(30),
- oAnswer(31), oDisconnect(32), termAttemptAuthorized(33), tAnswer(34),
- tDisconnect(35)
- -- Private (ffs)
- }
-
--- The type of trigger which caused call suspension
--- 4-11: Reserved; 15,16: Reserved; 19-24: Reserved
-UnavailableNetworkResource ::= ENUMERATED {
- unavailableResources(0), componentFailure(1),
- basicCallProcessingException(2), resourceStatusFailure(3), endUserFailure(4)
-}
-
--- Indicates the network resource that failed.
-VariablePart ::= CHOICE {
- integer [0] Integer4,
- number [1] Digits, -- Generic digits
- time [2] OCTET STRING(SIZE (2)), -- HH:MM, BCD coded
- date [3] OCTET STRING(SIZE (3)), -- YYMMDD, BCD coded
- price [4] OCTET STRING(SIZE (4))
-}
-
--- Indicates the variable part of the message.
--- BCD coded variable parts are encoded as described in the examples below.
--- For example, time = 12:15 would be encoded as:
--- Bits HGFE DCBA
--- leading octet 2 1
--- 5 1
--- date = 1993 September 30th would be encoded as:
--- Bits HGFE DCBA
--- leading octet 3 9
--- 9 0
--- 0 3
--- The Definition of range of constants Follows
-highLayerCompatibilityLength INTEGER ::=
- 2
-
-minAChBillingChargingLength INTEGER ::= 0 -- network specific
-
-maxAChBillingChargingLength INTEGER ::= 1 -- network specific
-
-minAttributesLength INTEGER ::= 0 -- network specific
-
-maxAttributesLength INTEGER ::= 1 -- network specific
-
-maxBearerCapabilityLength INTEGER ::= 2 -- network specific
-
-minCalledPartyNumberLength INTEGER ::= 0 -- network specific
-
-maxCalledPartyNumberLength INTEGER ::= 1 -- network specific
-
-minCallingPartyNumberLength INTEGER ::= 0 -- network specific
-
-maxCallingPartyNumberLength INTEGER ::= 1 -- network specific
-
-minCallResultLength INTEGER ::= 0 -- network specific
-
-maxCallResultLength INTEGER ::= 1 -- network specific
-
-minCauseLength INTEGER ::= 2
-
-maxCauseLength INTEGER ::= 2 -- network specific
-
-minDigitsLength INTEGER ::= 0 -- network specific
-
-maxDigitsLength INTEGER ::= 1 -- network specific
-
-minDisplayInformationLength INTEGER ::= 0 -- network specific
-
-maxDisplayInformationLength INTEGER ::= 1 -- network specific
-
-minEventSpecificInformationChargingLength INTEGER ::= 0 -- network specific
-
-maxEventSpecificInformationChargingLength INTEGER ::= 1 -- network specific
-
-minEventTypeChargingLength INTEGER ::= 0 -- network specific
-
-maxEventTypeChargingLength INTEGER ::= 1 -- network specific
-
-minFCIBillingChargingLength INTEGER ::= 0 -- network specific
-
-maxFCIBillingChargingLength INTEGER ::= 1 -- network specific
-
-minIPAvailableLength INTEGER ::= 0 -- network specific
-
-maxIPAvailableLength INTEGER ::= 1 -- network specific
-
-minIPSSPCapabilitiesLength INTEGER ::= 0 -- network specific
-
-maxIPSSPCapabilitiesLength INTEGER ::= 1 -- network specific
-
-minLocationNumberLength INTEGER ::= 0 -- network specific
-
-maxLocationNumberLength INTEGER ::= 1 -- network specific
-
-minMessageContentLength INTEGER ::= 0 -- network specific
-
-maxMessageContentLength INTEGER ::= 1 -- network specific
-
-minOriginalCalledPartyIDLength INTEGER ::= 0 -- network specific
-
-maxOriginalCalledPartyIDLength INTEGER ::= 1 -- network specific
-
-minRedirectingPartyIDLength INTEGER ::= 0 -- network specific
-
-maxRedirectingPartyIDLength INTEGER ::= 1 -- network specific
-
-minRouteListLength INTEGER ::= 0 -- network specific
-
-maxRouteListLength INTEGER ::= 1 -- network specific
-
-minScfIDLength INTEGER ::= 0 -- network specific
-
-maxScfIDLength INTEGER ::= 1 -- network specific
-
-minSCIBillingChargingLength INTEGER ::= 0 -- network specific
-
-maxSCIBillingChargingLength INTEGER ::= 1 -- network specific
-
-minServiceInteractionIndicatorsLength INTEGER ::= 0 -- network specific
-
-maxServiceInteractionIndicatorsLength INTEGER ::= 1 -- network specific
-
-minSFBillingChargingLength INTEGER ::= 0 -- network specific
-
-maxSFBillingChargingLength INTEGER ::= 1 -- network specific
-
-numOfBCSMEvents INTEGER ::= 1 -- network specific
-
-numOfChargingEvents INTEGER ::= 1 -- network specific
-
-numOfCounters INTEGER ::= 100
-
-numOfExtensions INTEGER ::= 1 -- network specific
-
-numOfInfoItems INTEGER ::= 5
-
-numOfMessageIDs INTEGER ::= 1 -- network specific
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/INAPv2extract.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/INAPv2extract.asn
deleted file mode 100644
index 8eaecbd0a7..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/INAPv2extract.asn
+++ /dev/null
@@ -1,112 +0,0 @@
-INAPv2extract DEFINITIONS
-
-EXPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXTENSION ::= CLASS {
- &ExtensionType ,
- &criticality CriticalityType DEFAULT ignore,
- &id Code
-}
-WITH SYNTAX {
- EXTENSION-SYNTAX &ExtensionType
- [CRITICALITY &criticality]
- IDENTIFIED BY &id
-}
-
-CriticalityType ::= ENUMERATED {ignore(0), abort(1)}
-
-Code ::= CHOICE {local INTEGER,
- global OBJECT IDENTIFIER
-}
-
---3b parameteriserad object set
-SupportedExtensions{PARAMETERS-BOUND:bound} EXTENSION ::=
-{firstExtension |
- boundedExtension {bound}, --4a instans av parameteriserat object
- ...
-}
-
-firstExtension EXTENSION ::= {
- EXTENSION-SYNTAX NULL
- CRITICALITY ignore
- IDENTIFIED BY local:1
-}
-
---4b parameteriserat object
-boundedExtension{PARAMETERS-BOUND:bound} EXTENSION ::= {
- EXTENSION-SYNTAX BoundedExtensionSyntax {bound} --5a instans av parameteriserad typ
- CRITICALITY ignore
- IDENTIFIED BY local:2
-}
-
---1b parameteriserad typ
-InitialDPArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
- dialledDigits [1] CalledPartyNumber{bound} OPTIONAL, --2a instans av parameteriserad typ
- extensions [15] SEQUENCE SIZE (1..bound.&numOfExtensions) OF ExtensionField{ {SupportedExtensions {bound}}} OPTIONAL --3a instans av parameteriserad objectset
-}
-
-ExtensionField{EXTENSION:SupportedExtensions} ::= SEQUENCE {
- type EXTENSION.&id({SupportedExtensions}),
- -- shall identify the value of an EXTENSION type
- criticality CriticalityType DEFAULT ignore,
- value [1] EXTENSION.&ExtensionType({SupportedExtensions}{@type})
-}
-
---2b parameteriserad typ
-CalledPartyNumber{PARAMETERS-BOUND:bound} ::=
- OCTET STRING
- (SIZE (bound.&minCalledPartyNumberLength..bound.&maxCalledPartyNumberLength))
-
---5b parameteriserad typ
-BoundedExtensionSyntax{PARAMETERS-BOUND:bound} ::= SEQUENCE { --5
- digits OCTET STRING(SIZE (bound.&minDigitsLength..bound.&maxDigitsLength))
-}
-
-PARAMETERS-BOUND ::= CLASS {
- &minAChBillingChargingLength INTEGER,
- &maxAChBillingChargingLength INTEGER,
- &minAttributesLength INTEGER,
- &maxAttributesLength INTEGER,
- &minBackwardGVNSLength INTEGER,
- &minDigitsLength INTEGER,
- &maxDigitsLength INTEGER,
- &minCalledPartyNumberLength INTEGER,
- &maxCalledPartyNumberLength INTEGER,
- &numOfExtensions INTEGER
-}
-WITH SYNTAX {
- MINIMUM-FOR-ACH-BILLING-CHARGING &minAChBillingChargingLength
- MAXIMUM-FOR-ACH-BILLING-CHARGING &maxAChBillingChargingLength
- MINIMUM-FOR-ATTRIBUTES &minAttributesLength
- MAXIMUM-FOR-ATTRIBUTES &maxAttributesLength
- MINIMUM-FOR-BACKWARD-GVNS &minBackwardGVNSLength
- MINIMUM-FOR-DIGITS &minDigitsLength
- MAXIMUM-FOR-DIGITS &maxDigitsLength
- MINIMUM-FOR-CALLED-PARTY-NUMBER &minCalledPartyNumberLength
- MAXIMUM-FOR-CALLED-PARTY-NUMBER &maxCalledPartyNumberLength
- NUM-OF-EXTENSIONS &numOfExtensions
- }
-
---1a instans av parameteriserad typ
-ActivityTest2 ::= InitialDPArg{networkSpecificBoundSet}
-
-networkSpecificBoundSet PARAMETERS-BOUND ::= {
- MINIMUM-FOR-ACH-BILLING-CHARGING 1 -- example value
- MAXIMUM-FOR-ACH-BILLING-CHARGING 5 -- example value
- MINIMUM-FOR-ATTRIBUTES 1 -- example value
- MAXIMUM-FOR-ATTRIBUTES 5 -- example value
- MINIMUM-FOR-BACKWARD-GVNS 1
- MINIMUM-FOR-DIGITS 1
- MAXIMUM-FOR-DIGITS 5
- MINIMUM-FOR-CALLED-PARTY-NUMBER 1 -- example value
- MAXIMUM-FOR-CALLED-PARTY-NUMBER 5 -- example value
- NUM-OF-EXTENSIONS 1 -- example value
-}
-
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/INSTANCEOF.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/INSTANCEOF.asn1
deleted file mode 100644
index 8c4f3a8f7e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/INSTANCEOF.asn1
+++ /dev/null
@@ -1,34 +0,0 @@
-INSTANCEOF DEFINITIONS AUTOMATIC TAGS ::=
-
-
-BEGIN
-
-GeneralName ::= CHOICE {
- otherName [0] INSTANCE OF OTHER-NAME,
- rfc822Name [1] IA5String,
- dNSName [2] IA5String,
- lastName [3] INSTANCE OF OTHER-NAME ({TI})
-}
-
-Names ::= SEQUENCE {
- firstName [0] INSTANCE OF OTHER-NAME,
- secondName [1] PrintableString,
- thirdName [2] INSTANCE OF OTHER-NAME ({TI})
-}
-
-OTHER-NAME ::= TYPE-IDENTIFIER
-
-TI OTHER-NAME ::= {{INTEGER IDENTIFIED BY {2 4}} |
- {Seq IDENTIFIED BY {2 3 4}} |
- {SEQUENCE{a INTEGER,b ENUMERATED{a,b,c}} IDENTIFIED BY {2 3 4 5}} }
-
-Int ::= INTEGER
-
-Seq ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/IllegalExport.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/IllegalExport.asn1
deleted file mode 100644
index 1b5e42ad3c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/IllegalExport.asn1
+++ /dev/null
@@ -1,7 +0,0 @@
-IllegalExport DEFINITIONS ::=
-BEGIN
-EXPORTS T, KalleAnka;
-
-T ::= INTEGER
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Import.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Import.py
deleted file mode 100644
index 91841c1c9f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Import.py
+++ /dev/null
@@ -1,14 +0,0 @@
-Import DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS Person;
---IMPORTS
--- OPERATION, ERROR FROM Remote-Operations-Notation
--- {joint-iso-ccitt(2) remote-operations(4) notation(0)};
--- {joint-iso-ccitt remote-operations notation};
-
-Person ::= [PRIVATE 19] SEQUENCE {
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL
- }
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ImportsFrom.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ImportsFrom.asn1
deleted file mode 100644
index 896a35d627..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ImportsFrom.asn1
+++ /dev/null
@@ -1,17 +0,0 @@
-ImportsFrom DEFINITIONS ::=
-
-BEGIN
-
-IMPORTS
-Type1, Type2, Type3
-FROM RemoteFile1 objid
-val1, val2, val3
-FROM RemoteFile2;
-
-objid OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) remote-operations(4) notation(0)}
-
-LocalType ::= INTEGER
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/InfClass.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/InfClass.asn
deleted file mode 100644
index ecc6764402..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/InfClass.asn
+++ /dev/null
@@ -1,56 +0,0 @@
-InfClass DEFINITIONS ::=
-BEGIN
-
-IMPORTS
- ERROR
-FROM ErrorClass;
-
-FUNCTION ::= CLASS {
- &ArgumentType,
- &ResultType DEFAULT NULL,
- &error ERROR OPTIONAL,
- &code INTEGER UNIQUE
- }
-
-OTHER-FUNCTION ::= CLASS {
- &code INTEGER UNIQUE,
- &Alphabet DEFAULT NULL,
- &ArgumentType,
- &SupportedArguments &ArgumentType OPTIONAL,
- &ResultType DEFAULT NULL,
- &result-if-error &ResultType DEFAULT NULL,
- &associated-function OTHER-FUNCTION OPTIONAL,
- &NumberSet INTEGER,
- &ObjectSet OTHER-FUNCTION
- }
-
-ObjSet1 FUNCTION ::= { ... }
-
-val1 FUNCTION ::= {
- &ArgumentType INTEGER,
- &ResultType INTEGER,
- &code 3
- }
-
-val2 FUNCTION ::= {
- &ArgumentType INTEGER,
- &ResultType INTEGER,
- &code 2
- }
-
-int1 INTEGER ::= 3
-
-ObjSet2 FUNCTION ::= {
- val1 | val2 }
-
-
--- added for OTP-4591
-
-Seq ::= SEQUENCE {
- arg FUNCTION.&ArgumentType ({ObjSet2}{@val1}),
- res FUNCTION.&ResultType ({ObjSet2}{@val1}),
- val1 FUNCTION.&code ({ObjSet2})
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/InfObj.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/InfObj.asn
deleted file mode 100644
index 0a437e12df..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/InfObj.asn
+++ /dev/null
@@ -1,153 +0,0 @@
-InfObj DEFINITIONS ::=
-BEGIN
-
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &Outcome DEFAULT NULL,
- &vartypvalue &Outcome OPTIONAL,
- &FixTypeValSet PrintableString OPTIONAL,
- &VarTypeValSet &InitiatingMessage OPTIONAL,
- &infoObject RANAP-ELEMENTARY-PROCEDURE OPTIONAL,
- &InfObjectSet CLASS2 OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
- [VARTYPEVALUE &vartypvalue]
- [FIXT &FixTypeValSet]
- [VART &VarTypeValSet]
- [INFOOBJECT &infoObject]
- [INFOOBJECTSET &InfObjectSet]
-}
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
--- successfulOutcome SuccessfulOutcome,
--- unsuccessfulOutcome UnsuccessfulOutcome,
--- outcome Outcome,
- ...
-}
-
-CLASS2 ::= RANAP-ELEMENTARY-PROCEDURE
-
-MY-CLASS ::= CLASS {
- &integerValue INTEGER UNIQUE,
- &booleanValue BOOLEAN,
- &stringValue PrintableString
- }
-
-myobject MY-CLASS ::= {
- &integerValue 12,
- &booleanValue TRUE,
- &stringValue "hejsan"
- }
-MyObjectSet MY-CLASS ::= {
- myobject
- }
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
- }
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release1
- CRITICALITY ignore
- }
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE INTEGER --Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release2
- CRITICALITY notify
- }
-
-object3 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage Iu-ReleaseCommand,
- &SuccessfulOutcome Iu-ReleaseComplete,
- &procedureCode id-Iu-Release3,
- &criticality reject
- }
-
-object4 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage INTEGER,
- &SuccessfulOutcome PrintableString,
- &procedureCode id-Iu-Release4,
- &criticality reject
- }
-
-object5 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage INTEGER,
- &SuccessfulOutcome PrintableString,
- &Outcome ProcedureCode,
- &vartypvalue 12,
- &infoObject object4,
- &InfObjectSet MyObjectSet,
- &procedureCode id-Iu-Release5,
- &criticality reject
- }
-
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation ,
- ...
- }
-
-RANAP-ELEMENTARY-PROCEDURES2 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation
- }
-
-
-OBJECTSET1 RANAP-ELEMENTARY-PROCEDURE ::= {
- {INITIATING MESSAGE Iu-ReleaseCommand SUCCESSFUL OUTCOME Iu-ReleaseComplete PROCEDURE CODE id-Iu-Release1 CRITICALITY ignore} | {INITIATING MESSAGE Iu-ReleaseCommand PROCEDURE CODE id-Iu-Release2}
- }
-
-OBJECTSET2 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- {INITIATING MESSAGE Iu-ReleaseCommand SUCCESSFUL OUTCOME Iu-ReleaseComplete PROCEDURE CODE id-Iu-Release4 CRITICALITY ignore} |
- relocationPreparation |
- {INITIATING MESSAGE Iu-ReleaseCommand PROCEDURE CODE id-Iu-Release5} ,
- ...
- }
-
-OBJECTSET3 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release,
- ...
- }
-
-OBJECTSET4 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release
- }
-
-Iu-ReleaseCommand ::= SEQUENCE {
- first INTEGER,
- second BOOLEAN
- }
-
-Iu-ReleaseComplete ::= INTEGER (1..510)
-
-ProcedureCode ::= INTEGER (0..255)
-Criticality ::= ENUMERATED { reject, ignore, notify }
-id-Iu-Release1 INTEGER ::= 1
-id-Iu-Release2 INTEGER ::= 2
-id-Iu-Release3 INTEGER ::= 3
-id-Iu-Release4 INTEGER ::= 4
-id-Iu-Release5 INTEGER ::= 5
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/InfObj2.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/InfObj2.asn
deleted file mode 100644
index faba7371a4..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/InfObj2.asn
+++ /dev/null
@@ -1,156 +0,0 @@
-InfObj2 DEFINITIONS ::=
-BEGIN
-
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &Outcome DEFAULT NULL,
- &vartypvalue &Outcome,
- &FixTypeValSet PrintableString,
- &VarTypeValSet &InitiatingMessage,
- &infoObject RANAP-ELEMENTARY-PROCEDURE,
- &InfObjectSet CLASS2,
- &UnsuccessfulOutcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage [0] InitiatingMessage,
- substrings [1] SEQUENCE {
- type RANAP-ELEMENTARY-PROCEDURE.&procedureCode({RANAP-ELEMENTARY-PROCEDURES}),
- strings SEQUENCE OF CHOICE {
- initial [0] RANAP-ELEMENTARY-PROCEDURE.&Outcome({
- RANAP-ELEMENTARY-PROCEDURES}{@substrings.type}),
- final [1] RANAP-ELEMENTARY-PROCEDURE.&Outcome({RANAP-ELEMENTARY-PROCEDURES}{@substrings.type})
- }
- },
--- successfulOutcome SuccessfulOutcome,
--- unsuccessfulOutcome UnsuccessfulOutcome,
--- outcome Outcome,
- ...
- }
-
-CLASS2 ::= RANAP-ELEMENTARY-PROCEDURE
-
-MY-CLASS ::= CLASS {
- &integerValue INTEGER UNIQUE,
- &booleanValue BOOLEAN,
- &stringValue PrintableString
- }
-
-myobject MY-CLASS ::= {
- &integerValue 12,
- &booleanValue TRUE,
- &stringValue "hejsan"
- }
-MyObjectSet MY-CLASS ::= {
- myobject
- }
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
- }
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release1
- CRITICALITY ignore
- }
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE INTEGER --Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release2
- CRITICALITY notify
- }
-
-object3 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage Iu-ReleaseCommand,
- &SuccessfulOutcome Iu-ReleaseComplete,
- &procedureCode id-Iu-Release3,
- &criticality reject
- }
-
-object4 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage INTEGER,
- &SuccessfulOutcome PrintableString,
- &procedureCode id-Iu-Release4,
- &criticality reject
- }
-
-object5 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage INTEGER,
- &SuccessfulOutcome PrintableString,
- &Outcome ProcedureCode,
- &vartypvalue 12,
- &infoObject object4,
- &InfObjectSet MyObjectSet,
- &procedureCode id-Iu-Release5,
- &criticality reject
- }
-
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation ,
- ...
- }
-
-RANAP-ELEMENTARY-PROCEDURES2 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation
- }
-
-
-OBJECTSET1 RANAP-ELEMENTARY-PROCEDURE ::= {
- {INITIATING MESSAGE Iu-ReleaseCommand SUCCESSFUL OUTCOME Iu-ReleaseComplete PROCEDURE CODE id-Iu-Release1 CRITICALITY ignore} | {INITIATING MESSAGE Iu-ReleaseCommand PROCEDURE CODE id-Iu-Release2}
- }
-
-OBJECTSET2 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- {INITIATING MESSAGE Iu-ReleaseCommand SUCCESSFUL OUTCOME Iu-ReleaseComplete PROCEDURE CODE id-Iu-Release4 CRITICALITY ignore} |
- relocationPreparation |
- {INITIATING MESSAGE Iu-ReleaseCommand PROCEDURE CODE id-Iu-Release5} ,
- ...
- }
-
-OBJECTSET3 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release,
- ...
- }
-
-OBJECTSET4 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release
- }
-
-Iu-ReleaseCommand ::= SEQUENCE {
- first INTEGER,
- second BOOLEAN
- }
-
-Iu-ReleaseComplete ::= INTEGER (1..510)
-
-ProcedureCode ::= INTEGER (0..255)
-Criticality ::= ENUMERATED { reject, ignore, notify }
-id-Iu-Release1 INTEGER ::= 1
-id-Iu-Release2 INTEGER ::= 2
-id-Iu-Release3 INTEGER ::= 3
-id-Iu-Release4 INTEGER ::= 4
-id-Iu-Release5 INTEGER ::= 5
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/InformationFramework.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/InformationFramework.asn
deleted file mode 100755
index ef236e98a9..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/InformationFramework.asn
+++ /dev/null
@@ -1,868 +0,0 @@
--- Module InformationFramework (X.501:08/1997)
-InformationFramework {joint-iso-itu-t ds(5) module(1) informationFramework(1)
- 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-oc, id-at, id-mr, id-oa, id-sc, id-ar, id-nf, selectedAttributeTypes,
- directoryAbstractService, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- commonName, generalizedTimeMatch, generalizedTimeOrderingMatch, booleanMatch,
- integerMatch, integerOrderingMatch, objectIdentifierFirstComponentMatch,
- integerFirstComponentMatch, DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes
- TypeAndContextAssertion, ServiceControlOptions, SearchControlOptions,
- HierarchySelections, FamilyGrouping, FamilyReturn
- FROM DirectoryAbstractService directoryAbstractService
- ub-search
- FROM UpperBounds upperBounds;
-
--- attribute data types
-Attribute ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- values
- SET SIZE (0..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
-AttributeType ::= ATTRIBUTE.&id
-
-AttributeValue ::= ATTRIBUTE.&Type
-
-Context ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Type({SupportedContexts}{@contextType}),
- fallback BOOLEAN DEFAULT FALSE
-}
-
-AttributeValueAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertion
- ATTRIBUTE.&equality-match.&AssertionType({SupportedAttributes}{@type}),
- assertedContexts
- CHOICE {allContexts [0] NULL,
- selectedContexts [1] SET SIZE (1..MAX) OF ContextAssertion
- } OPTIONAL
-}
-
-ContextAssertion ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Assertion({SupportedContexts}{@contextType})
-}
-
-AttributeTypeAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertedContexts SEQUENCE SIZE (1..MAX) OF ContextAssertion OPTIONAL
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the values component of Attribute, the value component
--- of AttributeTypeAndValue, and the assertion component of AttributeValueAssertion.
-SupportedAttributes ATTRIBUTE ::=
- {objectClass | aliasedEntryName, ...}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the context specifications
-SupportedContexts CONTEXT ::=
- {...}
-
--- naming data types
-Name ::= CHOICE { -- only one possibility for now --rdnSequence RDNSequence
-}
-
-RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
-
-DistinguishedName ::= RDNSequence
-
-RelativeDistinguishedName ::=
- SET SIZE (1..MAX) OF AttributeTypeAndDistinguishedValue
-
-AttributeTypeAndDistinguishedValue ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- primaryDistinguished BOOLEAN DEFAULT TRUE,
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {distingAttrValue
- [0] ATTRIBUTE.&Type({SupportedAttributes}{@type}) OPTIONAL,
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
--- subtree data types
-SubtreeSpecification ::= SEQUENCE {
- base [0] LocalName DEFAULT {},
- COMPONENTS OF ChopSpecification,
- specificationFilter [4] Refinement OPTIONAL
-}
-
--- empty sequence specifies whole administrative area
-LocalName ::= RDNSequence
-
-ChopSpecification ::= SEQUENCE {
- specificExclusions
- [1] SET SIZE (1..MAX) OF
- CHOICE {chopBefore [0] LocalName,
- chopAfter [1] LocalName} OPTIONAL,
- minimum [2] BaseDistance DEFAULT 0,
- maximum [3] BaseDistance OPTIONAL
-}
-
-BaseDistance ::= INTEGER(0..MAX)
-
-Refinement ::= CHOICE {
- item [0] OBJECT-CLASS.&id,
- and [1] SET OF Refinement,
- or [2] SET OF Refinement,
- not [3] Refinement
-}
-
--- OBJECT-CLASS information object class specification
-OBJECT-CLASS ::= CLASS {
- &Superclasses OBJECT-CLASS OPTIONAL,
- &kind ObjectClassKind DEFAULT structural,
- &MandatoryAttributes ATTRIBUTE OPTIONAL,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBCLASS OF &Superclasses]
- [KIND &kind]
- [MUST CONTAIN &MandatoryAttributes]
- [MAY CONTAIN &OptionalAttributes]
- ID &id
-}
-
-ObjectClassKind ::= ENUMERATED {abstract(0), structural(1), auxiliary(2)}
-
--- object classes
-top OBJECT-CLASS ::= {
- KIND abstract
- MUST CONTAIN {objectClass}
- ID id-oc-top
-}
-
-alias OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- MUST CONTAIN {aliasedEntryName}
- ID id-oc-alias
-}
-
-parent OBJECT-CLASS ::= {KIND abstract
- ID id-oc-parent
-}
-
-child OBJECT-CLASS ::= {KIND auxiliary
- ID id-oc-child
-}
-
--- ATTRIBUTE information object class specification
-ATTRIBUTE ::= CLASS {
- &derivation ATTRIBUTE OPTIONAL,
- &Type OPTIONAL, -- either &Type or &derivation required
- &equality-match MATCHING-RULE OPTIONAL,
- &ordering-match MATCHING-RULE OPTIONAL,
- &substrings-match MATCHING-RULE OPTIONAL,
- &single-valued BOOLEAN DEFAULT FALSE,
- &collective BOOLEAN DEFAULT FALSE,
- -- operational extensions
- &no-user-modification BOOLEAN DEFAULT FALSE,
- &usage AttributeUsage DEFAULT userApplications,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBTYPE OF &derivation]
- [WITH SYNTAX &Type]
- [EQUALITY MATCHING RULE &equality-match]
- [ORDERING MATCHING RULE &ordering-match]
- [SUBSTRINGS MATCHING RULE &substrings-match]
- [SINGLE VALUE &single-valued]
- [COLLECTIVE &collective]
- [NO USER MODIFICATION &no-user-modification]
- [USAGE &usage]
- ID &id
-}
-
-AttributeUsage ::= ENUMERATED {
- userApplications(0), directoryOperation(1), distributedOperation(2),
- dSAOperation(3)}
-
--- attributes
-objectClass ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-objectClass
-}
-
-aliasedEntryName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- ID id-at-aliasedEntryName
-}
-
--- MATCHING-RULE information object class specification
-MATCHING-RULE ::= CLASS {
- &ParentMatchingRules MATCHING-RULE.&id OPTIONAL,
- &AssertionType OPTIONAL,
- &uniqueMatchIndicator ATTRIBUTE.&id OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [PARENT &ParentMatchingRules]
- [SYNTAX &AssertionType]
- [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator]
- ID &id
-}
-
--- matching rules
-objectIdentifierMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierMatch
-}
-
-distinguishedNameMatch MATCHING-RULE ::= {
- SYNTAX DistinguishedName
- ID id-mr-distinguishedNameMatch
-}
-
-MAPPING-BASED-MATCHING{SelectedBy, BOOLEAN:combinable, MappingResult,
- OBJECT IDENTIFIER:matchingRule} ::= CLASS {
- &selectBy SelectedBy OPTIONAL,
- &ApplicableTo ATTRIBUTE,
- &subtypesIncluded BOOLEAN DEFAULT TRUE,
- &combinable BOOLEAN(combinable),
- &mappingResults MappingResult OPTIONAL,
- &userControl BOOLEAN DEFAULT FALSE,
- &exclusive BOOLEAN DEFAULT TRUE,
- &matching-rule MATCHING-RULE.&id(matchingRule),
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SELECT BY &selectBy]
- APPLICABLE TO &ApplicableTo
- [SUBTYPES INCLUDED &subtypesIncluded]
- COMBINABLE &combinable
- [MAPPING RESULTS &mappingResults]
- [USER CONTROL &userControl]
- [EXCLUSIVE &exclusive]
- MATCHING RULE &matching-rule
- ID &id
-}
-
--- NAME-FORM information object class specification
-NAME-FORM ::= CLASS {
- &namedObjectClass OBJECT-CLASS,
- &MandatoryAttributes ATTRIBUTE,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- NAMES &namedObjectClass
- WITH ATTRIBUTES &MandatoryAttributes
- [AND OPTIONALLY &OptionalAttributes]
- ID &id
-}
-
--- STRUCTURE-RULE class and DIT structure rule data types
-STRUCTURE-RULE ::= CLASS {
- &nameForm NAME-FORM,
- &SuperiorStructureRules STRUCTURE-RULE OPTIONAL,
- &id RuleIdentifier
-}
-WITH SYNTAX {
- NAME FORM &nameForm
- [SUPERIOR RULES &SuperiorStructureRules]
- ID &id
-}
-
-DITStructureRule ::= SEQUENCE {
- ruleIdentifier RuleIdentifier,
- -- must be unique within the scope of the subschema
- nameForm NAME-FORM.&id,
- superiorStructureRules SET SIZE (1..MAX) OF RuleIdentifier OPTIONAL
-}
-
-RuleIdentifier ::= INTEGER
-
--- CONTENT-RULE class and DIT content rule data types
-CONTENT-RULE ::= CLASS {
- &structuralClass OBJECT-CLASS.&id UNIQUE,
- &Auxiliaries OBJECT-CLASS OPTIONAL,
- &Mandatory ATTRIBUTE OPTIONAL,
- &Optional ATTRIBUTE OPTIONAL,
- &Precluded ATTRIBUTE OPTIONAL
-}
-WITH SYNTAX {
- STRUCTURAL OBJECT-CLASS &structuralClass
- [AUXILIARY OBJECT-CLASSES &Auxiliaries]
- [MUST CONTAIN &Mandatory]
- [MAY CONTAIN &Optional]
- [MUST-NOT CONTAIN &Precluded]
-}
-
-DITContentRule ::= SEQUENCE {
- structuralObjectClass OBJECT-CLASS.&id,
- auxiliaries SET SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL,
- mandatory [1] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- optional [2] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- precluded [3] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL
-}
-
-CONTEXT ::= CLASS {
- &Type ,
- &Assertion OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {WITH SYNTAX &Type
- [ASSERTED AS &Assertion]
- ID &id
-}
-
-DITContextUse ::= SEQUENCE {
- attributeType ATTRIBUTE.&id,
- mandatoryContexts [1] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL,
- optionalContexts [2] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL
-}
-
-DIT-CONTEXT-USE-RULE ::= CLASS {
- &attributeType ATTRIBUTE.&id UNIQUE,
- &Mandatory CONTEXT OPTIONAL,
- &Optional CONTEXT OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [MANDATORY CONTEXTS &Mandatory]
- [OPTIONAL CONTEXTS &Optional]
-}
-
--- system schema information objects
--- object classes
-subentry OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- KIND structural
- MUST CONTAIN {commonName | subtreeSpecification}
- ID id-sc-subentry
-}
-
-subentryNameForm NAME-FORM ::= {
- NAMES subentry
- WITH ATTRIBUTES {commonName}
- ID id-nf-subentryNameForm
-}
-
-accessControlSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-accessControlSubentry
-}
-
-collectiveAttributeSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-collectiveAttributeSubentry
-}
-
-contextAssertionSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- MUST CONTAIN {contextAssertionDefaults}
- ID id-sc-contextAssertionSubentry
-}
-
-serviceAdminSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- MUST CONTAIN {searchRules}
- ID id-sc-serviceAdminSubentry
-}
-
--- attributes
-createTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-createTimestamp
-}
-
-modifyTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifyTimestamp
-}
-
-subschemaTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec.X. 680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaTimestamp
-}
-
-creatorsName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-creatorsName
-}
-
-modifiersName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifiersName
-}
-
-subschemaSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaSubentryList
-}
-
-accessControlSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-accessControlSubentryList
-}
-
-collectiveAttributeSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-collectiveAttributeSubentryList
-}
-
-contextDefaultSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-contextDefaultSubentryList
-}
-
-serviceAdminSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-serviceAdminSubentryList
-}
-
-hasSubordinates ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hasSubordinates
-}
-
-administrativeRole ATTRIBUTE ::= {
- WITH SYNTAX OBJECT-CLASS.&id -- OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-administrativeRole
-}
-
-subtreeSpecification ATTRIBUTE ::= {
- WITH SYNTAX SubtreeSpecification
- USAGE directoryOperation
- ID id-oa-subtreeSpecification
-}
-
-collectiveExclusions ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-collectiveExclusions
-}
-
-contextAssertionDefaults ATTRIBUTE ::= {
- WITH SYNTAX TypeAndContextAssertion
- EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
- USAGE directoryOperation
- ID id-oa-contextAssertionDefault
-}
-
-searchRules ATTRIBUTE ::= {
- WITH SYNTAX SearchRuleDescription
- EQUALITY MATCHING RULE integerFirstComponentMatch
- USAGE directoryOperation
- ID id-oa-searchRules
-}
-
-SearchRuleDescription ::= SEQUENCE {
- COMPONENTS OF SearchRule,
- name [28] SET SIZE (1..MAX) OF DirectoryString{ub-search} OPTIONAL,
- description [29] DirectoryString{ub-search} OPTIONAL,
- obsolete [30] BOOLEAN DEFAULT FALSE
-}
-
-hierarchyLevel ATTRIBUTE ::= {
- WITH SYNTAX INTEGER
- EQUALITY MATCHING RULE integerMatch
- ORDERING MATCHING RULE integerOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyLevel
-}
-
-hierarchyBelow ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyBelow
-}
-
-hierarchyParent ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyParent
-}
-
-SearchRule ::= SEQUENCE {
- COMPONENTS OF SearchRuleId,
- serviceType [1] OBJECT IDENTIFIER OPTIONAL,
- userClass [2] INTEGER OPTIONAL,
- inputAttributeTypes
- [3] SEQUENCE SIZE (1..MAX) OF RequestAttribute OPTIONAL,
- attributeCombination [4] AttributeCombination DEFAULT and:{},
- outputAttributeTypes [5] SEQUENCE SIZE (1..MAX) OF ResultAttribute OPTIONAL,
- defaultControls [6] ControlOptions OPTIONAL,
- mandatoryControls [7] ControlOptions OPTIONAL,
- searchRuleControls [8] ControlOptions OPTIONAL,
- familyGrouping [9] FamilyGrouping OPTIONAL,
- familyReturn [10] FamilyReturn OPTIONAL,
- relaxation [11] RelaxationPolicy OPTIONAL,
- additionalControl [12] SEQUENCE SIZE (1..MAX) OF AttributeType OPTIONAL,
- allowedSubset [13] AllowedSubset DEFAULT '111'B,
- imposedSubset [14] ImposedSubset OPTIONAL,
- entryLimit [15] EntryLimit OPTIONAL
-}
-
-SearchRuleId ::= SEQUENCE {id INTEGER,
- dmdId [0] OBJECT IDENTIFIER
-}
-
-AllowedSubset ::= BIT STRING {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-ImposedSubset ::= ENUMERATED {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-RequestAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- includeSubtypes [0] BOOLEAN DEFAULT FALSE,
- selectedValues
- [1] SEQUENCE SIZE (0..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}) OPTIONAL,
- defaultValues
- [2] SEQUENCE SIZE (0..MAX) OF
- SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values
- SEQUENCE OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType})
- } OPTIONAL,
- contexts [3] SEQUENCE SIZE (0..MAX) OF ContextProfile OPTIONAL,
- contextCombination [4] ContextCombination DEFAULT and:{},
- matchingUse [5] SEQUENCE SIZE (1..MAX) OF MatchingUse OPTIONAL
-}
-
-ContextProfile ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValue
- SEQUENCE SIZE (1..MAX) OF
- CONTEXT.&Assertion({SupportedContexts}{@contextType}) OPTIONAL
-}
-
-ContextCombination ::= CHOICE {
- context [0] CONTEXT.&id,
- and [1] SEQUENCE OF ContextCombination,
- or [2] SEQUENCE OF ContextCombination,
- not [3] ContextCombination
-}
-
-MatchingUse ::= SEQUENCE {
- restrictionType MATCHING-RESTRICTION.&id({SupportedMatchingRestrictions}),
- restrictionValue
- MATCHING-RESTRICTION.&Restriction
- ({SupportedMatchingRestrictions}{@restrictionType})
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the components of SupportedMatchingRestrictions
-SupportedMatchingRestrictions MATCHING-RESTRICTION ::=
- {...}
-
-AttributeCombination ::= CHOICE {
- attribute [0] AttributeType,
- and [1] SEQUENCE OF AttributeCombination,
- or [2] SEQUENCE OF AttributeCombination,
- not [3] AttributeCombination
-}
-
-ResultAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- outputValues
- CHOICE {selectedValues
- SEQUENCE SIZE (1..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}),
- matchedValuesOnly NULL} OPTIONAL,
- contexts [0] SEQUENCE SIZE (1..MAX) OF ContextProfile OPTIONAL
-}
-
-OutputValues ::= CHOICE {
- selectedValues
- SEQUENCE SIZE (1..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}),
- matchedValuesOnly NULL
-}
-
-ControlOptions ::= SEQUENCE {
- serviceControls [0] ServiceControlOptions DEFAULT {},
- searchOptions [1] SearchControlOptions DEFAULT {searchAliases},
- hierarchyOptions [2] HierarchySelections OPTIONAL
-}
-
-EntryLimit ::= SEQUENCE {default INTEGER,
- max INTEGER
-}
-
-RelaxationPolicy ::= SEQUENCE {
- basic [0] MRMapping DEFAULT {},
- tightenings [1] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- relaxations [2] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- maximum [3] INTEGER OPTIONAL, -- mandatory if tightenings is present
- minimum [4] INTEGER DEFAULT 1
-}
-
-MRMapping ::= SEQUENCE {
- mapping [0] SEQUENCE SIZE (1..MAX) OF Mapping OPTIONAL,
- substitution [1] SEQUENCE SIZE (1..MAX) OF MRSubstitution OPTIONAL
-}
-
-Mapping ::= SEQUENCE {
- mappingFunction
- OBJECT IDENTIFIER
- (CONSTRAINED BY {-- shall be an--
-
- -- object identifier of a mapping-based matching algorithm -- }),
- level INTEGER DEFAULT 0
-}
-
-MRSubstitution ::= SEQUENCE {
- attribute AttributeType,
- oldMatchingRule [0] MATCHING-RULE.&id OPTIONAL,
- newMatchingRule [1] MATCHING-RULE.&id OPTIONAL
-}
-
-SEARCH-RULE ::= CLASS {
- &dmdId OBJECT IDENTIFIER,
- &serviceType OBJECT IDENTIFIER OPTIONAL,
- &userClass INTEGER OPTIONAL,
- &InputAttributeTypes REQUEST-ATTRIBUTE OPTIONAL,
- &combination AttributeCombination OPTIONAL,
- &OutputAttributeTypes RESULT-ATTRIBUTE OPTIONAL,
- &defaultControls ControlOptions OPTIONAL,
- &mandatoryControls ControlOptions OPTIONAL,
- &searchRuleControls ControlOptions OPTIONAL,
- &familyGrouping FamilyGrouping OPTIONAL,
- &familyReturn FamilyReturn OPTIONAL,
- &additionalControl AttributeType OPTIONAL,
- &relaxation RelaxationPolicy OPTIONAL,
- &entryLimit EntryLimit OPTIONAL,
- &allowedSubset AllowedSubset DEFAULT '111'B,
- &imposedSubset ImposedSubset OPTIONAL,
- &id INTEGER UNIQUE
-}
-WITH SYNTAX {
- DMD ID &dmdId
- [SERVICE-TYPE &serviceType]
- [USER-CLASS &userClass]
- [INPUT ATTRIBUTES &InputAttributeTypes]
- [COMBINATION &combination]
- [OUTPUT ATTRIBUTES &OutputAttributeTypes]
- [DEFAULT CONTROL &defaultControls]
- [MANDATORY CONTROL &mandatoryControls]
- [SEARCH-RULE CONTROL &searchRuleControls]
- [FAMILY-GROUPING &familyGrouping]
- [FAMILY-RETURN &familyReturn]
- [ADDITIONAL CONTROL &additionalControl]
- [RELAXATION &relaxation]
- [ALLOWED SUBSET &allowedSubset]
- [IMPOSED SUBSET &imposedSubset]
- [ENTRY LIMIT &entryLimit]
- ID &id
-}
-
-REQUEST-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &SelectedValues ATTRIBUTE.&Type OPTIONAL,
- &DefaultValues SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values SEQUENCE OF ATTRIBUTE.&Type
- } OPTIONAL,
- &contexts SEQUENCE OF ContextProfile OPTIONAL,
- &contextCombination ContextCombination OPTIONAL,
- &MatchingUse MatchingUse OPTIONAL,
- &includeSubtypes BOOLEAN DEFAULT FALSE
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [SELECTED VALUES &SelectedValues]
- [DEFAULT VALUES &DefaultValues]
- [CONTEXTS &contexts]
- [CONTEXT COMBINATION &contextCombination]
- [MATCHING USE &MatchingUse]
- [INCLUDE SUBTYPES &includeSubtypes]
-}
-
-RESULT-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &outputValues OutputValues OPTIONAL,
- &contexts ContextProfile OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [OUTPUT VALUES &outputValues]
- [CONTEXTS &contexts]
-}
-
-MATCHING-RESTRICTION ::= CLASS {
- &Restriction ,
- &Rules MATCHING-RULE.&id,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {RESTRICTION &Restriction
- RULES &Rules
- ID &id
-}
-
--- object identifier assignments
--- object classes
-id-oc-top OBJECT IDENTIFIER ::=
- {id-oc 0}
-
-id-oc-alias OBJECT IDENTIFIER ::= {id-oc 1}
-
-id-oc-parent OBJECT IDENTIFIER ::= {id-oc 28}
-
-id-oc-child OBJECT IDENTIFIER ::= {id-oc 29}
-
--- attributes
-id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
-
-id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-
--- matching rules
-id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
-
-id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-
--- operational attributes
-id-oa-excludeAllCollectiveAttributes OBJECT IDENTIFIER ::=
- {id-oa 0}
-
-id-oa-createTimestamp OBJECT IDENTIFIER ::= {id-oa 1}
-
-id-oa-modifyTimestamp OBJECT IDENTIFIER ::= {id-oa 2}
-
-id-oa-creatorsName OBJECT IDENTIFIER ::= {id-oa 3}
-
-id-oa-modifiersName OBJECT IDENTIFIER ::= {id-oa 4}
-
-id-oa-administrativeRole OBJECT IDENTIFIER ::= {id-oa 5}
-
-id-oa-subtreeSpecification OBJECT IDENTIFIER ::= {id-oa 6}
-
-id-oa-collectiveExclusions OBJECT IDENTIFIER ::= {id-oa 7}
-
-id-oa-subschemaTimestamp OBJECT IDENTIFIER ::= {id-oa 8}
-
-id-oa-hasSubordinates OBJECT IDENTIFIER ::= {id-oa 9}
-
-id-oa-subschemaSubentryList OBJECT IDENTIFIER ::= {id-oa 10}
-
-id-oa-accessControlSubentryList OBJECT IDENTIFIER ::= {id-oa 11}
-
-id-oa-collectiveAttributeSubentryList OBJECT IDENTIFIER ::= {id-oa 12}
-
-id-oa-contextDefaultSubentryList OBJECT IDENTIFIER ::= {id-oa 13}
-
-id-oa-contextAssertionDefault OBJECT IDENTIFIER ::= {id-oa 14}
-
-id-oa-serviceAdminSubentryList OBJECT IDENTIFIER ::= {id-oa 15}
-
-id-oa-searchRules OBJECT IDENTIFIER ::= {id-oa 16}
-
-id-oa-hierarchyLevel OBJECT IDENTIFIER ::= {id-oa 17}
-
-id-oa-hierarchyBelow OBJECT IDENTIFIER ::= {id-oa 18}
-
-id-oa-hierarchyParent OBJECT IDENTIFIER ::= {id-oa 19}
-
--- subentry classes
-id-sc-subentry OBJECT IDENTIFIER ::= {id-sc 0}
-
-id-sc-accessControlSubentry OBJECT IDENTIFIER ::= {id-sc 1}
-
-id-sc-collectiveAttributeSubentry OBJECT IDENTIFIER ::= {id-sc 2}
-
-id-sc-contextAssertionSubentry OBJECT IDENTIFIER ::= {id-sc 3}
-
-id-sc-serviceAdminSubentry OBJECT IDENTIFIER ::= {id-sc 4}
-
--- Name forms
-id-nf-subentryNameForm OBJECT IDENTIFIER ::= {id-nf 16}
-
--- administrative roles
-id-ar-autonomousArea OBJECT IDENTIFIER ::= {id-ar 1}
-
-id-ar-accessControlSpecificArea OBJECT IDENTIFIER ::= {id-ar 2}
-
-id-ar-accessControlInnerArea OBJECT IDENTIFIER ::= {id-ar 3}
-
-id-ar-subschemaAdminSpecificArea OBJECT IDENTIFIER ::= {id-ar 4}
-
-id-ar-collectiveAttributeSpecificArea OBJECT IDENTIFIER ::= {id-ar 5}
-
-id-ar-collectiveAttributeInnerArea OBJECT IDENTIFIER ::= {id-ar 6}
-
-id-ar-contextDefaultSpecificArea OBJECT IDENTIFIER ::= {id-ar 7}
-
-id-ar-serviceSpecificArea OBJECT IDENTIFIER ::= {id-ar 8}
-
-END -- InformationFramework
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Int.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Int.py
deleted file mode 100644
index dd218b8dbd..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Int.py
+++ /dev/null
@@ -1,12 +0,0 @@
-Int DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS;
-
-Int ::= INTEGER
-Int2 ::= INTEGER (1..10)
-
--- OTP-5457
-int11 INTEGER ::= 11
-int11-2 INTEGER ::= int11 --correct should not cause crash or warning
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/LDAP.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/LDAP.asn1
deleted file mode 100755
index 4d845942e1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/LDAP.asn1
+++ /dev/null
@@ -1,283 +0,0 @@
- --Lightweight-Directory-Access-Protocol-V3 {1 3 6 1 1 18}
- -- Copyright (C) The Internet Society (2006). This version of
- -- this ASN.1 module is part of RFC 4511; see the RFC itself
- -- for full legal notices.
- LDAP
- DEFINITIONS
- IMPLICIT TAGS
- EXTENSIBILITY IMPLIED
- ::=
-
- BEGIN
-
- LDAPMessage ::= SEQUENCE {
- messageID MessageID,
- protocolOp CHOICE {
- bindRequest BindRequest,
- bindResponse BindResponse,
- unbindRequest UnbindRequest,
- searchRequest SearchRequest,
- searchResEntry SearchResultEntry,
- searchResDone SearchResultDone,
- searchResRef SearchResultReference,
- modifyRequest ModifyRequest,
- modifyResponse ModifyResponse,
- addRequest AddRequest,
- addResponse AddResponse,
- delRequest DelRequest,
- delResponse DelResponse,
- modDNRequest ModifyDNRequest,
- modDNResponse ModifyDNResponse,
- compareRequest CompareRequest,
- compareResponse CompareResponse,
- abandonRequest AbandonRequest,
- extendedReq ExtendedRequest,
- extendedResp ExtendedResponse,
- ...,
- intermediateResponse IntermediateResponse },
- controls [0] Controls OPTIONAL }
-
- MessageID ::= INTEGER (0 .. maxInt)
-
- maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) --
-
- LDAPString ::= OCTET STRING -- UTF-8 encoded,
- -- [ISO10646] characters
-
- LDAPOID ::= OCTET STRING -- Constrained to <numericoid>
- -- [RFC4512]
-
-
- LDAPDN ::= LDAPString -- Constrained to <distinguishedName>
- -- [RFC4514]
-
- RelativeLDAPDN ::= LDAPString -- Constrained to <name-component>
- -- [RFC4514]
-
- AttributeDescription ::= LDAPString
- -- Constrained to <attributedescription>
- -- [RFC4512]
-
- AttributeValue ::= OCTET STRING
-
- AttributeValueAssertion ::= SEQUENCE {
- attributeDesc AttributeDescription,
- assertionValue AssertionValue }
-
- AssertionValue ::= OCTET STRING
-
- PartialAttribute ::= SEQUENCE {
- type AttributeDescription,
- vals SET OF value AttributeValue }
-
- Attribute ::= PartialAttribute(WITH COMPONENTS {
- ...,
- vals (SIZE(1..MAX))})
-
- MatchingRuleId ::= LDAPString
-
- LDAPResult ::= SEQUENCE {
- resultCode ENUMERATED {
- success (0),
- operationsError (1),
- protocolError (2),
- timeLimitExceeded (3),
- sizeLimitExceeded (4),
- compareFalse (5),
- compareTrue (6),
- authMethodNotSupported (7),
- strongerAuthRequired (8),
- -- 9 reserved --
- referral (10),
- adminLimitExceeded (11),
- unavailableCriticalExtension (12),
- confidentialityRequired (13),
- saslBindInProgress (14),
-
- noSuchAttribute (16),
- undefinedAttributeType (17),
- inappropriateMatching (18),
- constraintViolation (19),
- attributeOrValueExists (20),
- invalidAttributeSyntax (21),
- -- 22-31 unused --
- noSuchObject (32),
- aliasProblem (33),
- invalidDNSyntax (34),
- -- 35 reserved for undefined isLeaf --
- aliasDereferencingProblem (36),
- -- 37-47 unused --
- inappropriateAuthentication (48),
- invalidCredentials (49),
- insufficientAccessRights (50),
- busy (51),
- unavailable (52),
- unwillingToPerform (53),
- loopDetect (54),
- -- 55-63 unused --
- namingViolation (64),
- objectClassViolation (65),
- notAllowedOnNonLeaf (66),
- notAllowedOnRDN (67),
- entryAlreadyExists (68),
- objectClassModsProhibited (69),
- -- 70 reserved for CLDAP --
- affectsMultipleDSAs (71),
- -- 72-79 unused --
- other (80),
- ... },
- matchedDN LDAPDN,
- diagnosticMessage LDAPString,
- referral [3] Referral OPTIONAL }
-
- Referral ::= SEQUENCE SIZE (1..MAX) OF uri URI
-
- URI ::= LDAPString -- limited to characters permitted in
- -- URIs
-
- Controls ::= SEQUENCE OF control Control
-
- Control ::= SEQUENCE {
- controlType LDAPOID,
- criticality BOOLEAN DEFAULT FALSE,
- controlValue OCTET STRING OPTIONAL }
-
-
- BindRequest ::= [APPLICATION 0] SEQUENCE {
- version INTEGER (1 .. 127),
- name LDAPDN,
- authentication AuthenticationChoice }
-
- AuthenticationChoice ::= CHOICE {
- simple [0] OCTET STRING,
- -- 1 and 2 reserved
- sasl [3] SaslCredentials,
- ... }
-
- SaslCredentials ::= SEQUENCE {
- mechanism LDAPString,
- credentials OCTET STRING OPTIONAL }
-
- BindResponse ::= [APPLICATION 1] SEQUENCE {
- COMPONENTS OF LDAPResult,
- serverSaslCreds [7] OCTET STRING OPTIONAL }
-
- UnbindRequest ::= [APPLICATION 2] NULL
-
- SearchRequest ::= [APPLICATION 3] SEQUENCE {
- baseObject LDAPDN,
- scope ENUMERATED {
- baseObject (0),
- singleLevel (1),
- wholeSubtree (2),
- ... },
- derefAliases ENUMERATED {
- neverDerefAliases (0),
- derefInSearching (1),
- derefFindingBaseObj (2),
- derefAlways (3) },
- sizeLimit INTEGER (0 .. maxInt),
- timeLimit INTEGER (0 .. maxInt),
- typesOnly BOOLEAN,
- filter Filter,
- attributes AttributeSelection }
-
- AttributeSelection ::= SEQUENCE OF selector LDAPString
- -- The LDAPString is constrained to
- -- <attributeSelector> in Section 4.5.1.8
-
- Filter ::= CHOICE {
- and [0] SET SIZE (1..MAX) OF filter Filter,
- or [1] SET SIZE (1..MAX) OF filter Filter,
- not [2] Filter,
- equalityMatch [3] AttributeValueAssertion,
- substrings [4] SubstringFilter,
- greaterOrEqual [5] AttributeValueAssertion,
- lessOrEqual [6] AttributeValueAssertion,
- present [7] AttributeDescription,
- approxMatch [8] AttributeValueAssertion,
- extensibleMatch [9] MatchingRuleAssertion,
- ... }
-
- SubstringFilter ::= SEQUENCE {
- type AttributeDescription,
- substrings SEQUENCE SIZE (1..MAX) OF substring CHOICE {
- initial [0] AssertionValue, -- can occur at most once
- any [1] AssertionValue,
- final [2] AssertionValue } -- can occur at most once
- }
-
- MatchingRuleAssertion ::= SEQUENCE {
- matchingRule [1] MatchingRuleId OPTIONAL,
- type [2] AttributeDescription OPTIONAL,
- matchValue [3] AssertionValue,
- dnAttributes [4] BOOLEAN DEFAULT FALSE }
-
- SearchResultEntry ::= [APPLICATION 4] SEQUENCE {
- objectName LDAPDN,
- attributes PartialAttributeList }
-
- PartialAttributeList ::= SEQUENCE OF
- partialAttribute PartialAttribute
-
- SearchResultReference ::= [APPLICATION 19] SEQUENCE
- SIZE (1..MAX) OF uri URI
-
- SearchResultDone ::= [APPLICATION 5] LDAPResult
-
- ModifyRequest ::= [APPLICATION 6] SEQUENCE {
- object LDAPDN,
- changes SEQUENCE OF change SEQUENCE {
- operation ENUMERATED {
- add (0),
- delete (1),
- replace (2),
- ... },
- modification PartialAttribute } }
-
- ModifyResponse ::= [APPLICATION 7] LDAPResult
-
- AddRequest ::= [APPLICATION 8] SEQUENCE {
- entry LDAPDN,
- attributes AttributeList }
-
- AttributeList ::= SEQUENCE OF attribute Attribute
-
- AddResponse ::= [APPLICATION 9] LDAPResult
-
- DelRequest ::= [APPLICATION 10] LDAPDN
-
- DelResponse ::= [APPLICATION 11] LDAPResult
-
- ModifyDNRequest ::= [APPLICATION 12] SEQUENCE {
- entry LDAPDN,
- newrdn RelativeLDAPDN,
- deleteoldrdn BOOLEAN,
- newSuperior [0] LDAPDN OPTIONAL }
-
- ModifyDNResponse ::= [APPLICATION 13] LDAPResult
-
- CompareRequest ::= [APPLICATION 14] SEQUENCE {
- entry LDAPDN,
- ava AttributeValueAssertion }
-
- CompareResponse ::= [APPLICATION 15] LDAPResult
-
- AbandonRequest ::= [APPLICATION 16] MessageID
-
- ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
- requestName [0] LDAPOID,
- requestValue [1] OCTET STRING OPTIONAL }
-
- ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
- COMPONENTS OF LDAPResult,
- responseName [10] LDAPOID OPTIONAL,
- responseValue [11] OCTET STRING OPTIONAL }
-
- IntermediateResponse ::= [APPLICATION 25] SEQUENCE {
- responseName [0] LDAPOID OPTIONAL,
- responseValue [1] OCTET STRING OPTIONAL }
-
- END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/M1.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/M1.asn
deleted file mode 100644
index f0575fb25f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/M1.asn
+++ /dev/null
@@ -1,24 +0,0 @@
-M1 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
-
- Type6
- FROM M2
- ;
-
-Type1 ::= INTEGER (1..3)
-
-Type2 ::= ENUMERATED {one,two}
-
-Type3 ::= BOOLEAN
-
-Type4 ::= SEQUENCE {
- a Type1,
- b BOOLEAN
-}
-
-Type5 ::= OCTET STRING
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/M2.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/M2.asn
deleted file mode 100644
index 22d7fed6f1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/M2.asn
+++ /dev/null
@@ -1,29 +0,0 @@
-M2 DEFINITIONS ::=
-
-BEGIN
-
-IMPORTS
-
- Type5
- FROM M1
- ;
-
-Type1 ::= INTEGER (1..8)
-
-Type2 ::= ENUMERATED {one,two,three}
-
-Type3 ::= BOOLEAN
-
-Type4 ::= SEQUENCE {
- a Type1,
- b BOOLEAN,
- c Type2,
- d Type5
-}
-
-Type6 ::= SET {
- a Type1,
- b Type5
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-ExtensionDataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-ExtensionDataTypes.asn
deleted file mode 100644
index 2a90c4265a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-ExtensionDataTypes.asn
+++ /dev/null
@@ -1,37 +0,0 @@
-MAP-ExtensionDataTypes {
- ccitt identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version6 (6)}
-DEFINITIONS
-IMPLICIT TAGS
-::=
-BEGIN
-EXPORTS
- PrivateExtension,
- ExtensionContainer;
--- IOC for private MAP extensions
-MAP-EXTENSION ::= CLASS {
- &ExtensionType OPTIONAL,
- &extensionId OBJECT IDENTIFIER }
- -- The length of the Object Identifier shall not exceed 16 octets and the
- -- number of components of the Object Identifier shall not exceed 16
--- data types
-ExtensionContainer ::= SEQUENCE {
- privateExtensionList [0]PrivateExtensionList OPTIONAL,
- pcs-Extensions [1]PCS-Extensions OPTIONAL,
- ...}
-PrivateExtensionList ::= SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF
- PrivateExtension
-PrivateExtension ::= SEQUENCE {
- extId MAP-EXTENSION.&extensionId
- ({ExtensionSet}),
- extType MAP-EXTENSION.&ExtensionType
- ({ExtensionSet}{@extId}) OPTIONAL}
-maxNumOfPrivateExtensions INTEGER ::= 10
-ExtensionSet MAP-EXTENSION ::=
- {...
- -- ExtensionSet is the set of all defined private extensions
- }
- -- Unsupported private extensions shall be discarded if received.
-PCS-Extensions ::= SEQUENCE {
- ...}
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-commonDataTypes.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-commonDataTypes.py
deleted file mode 100644
index 694abefa6a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-commonDataTypes.py
+++ /dev/null
@@ -1,31 +0,0 @@
-MAP-commonDataTypes
- { iso (1) identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version2 (2) }
-DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- TBCD-STRING,
- AddressString,
- ISDN-AddressString,
- LMSI,
- IMSI,
- TMSI,
--- IMSIBCD,
- SubscriberID;
-
-
- TBCD-STRING ::= OCTET STRING (SIZE(3..8))
- AddressString ::= OCTET STRING (SIZE(1..20))
- ISDN-AddressString ::= AddressString
- LMSI ::= OCTET STRING (SIZE(4))
- -- IMSIBCD ::= BCD-STRING
- IMSI ::= TBCD-STRING
- TMSI ::= OCTET STRING (SIZE(1..4))
- SubscriberID ::= CHOICE{
- imsi [0] IMSI,
- tmsi [1] TMSI}
-
-
-END -- of MAP-commonDataTypes
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-insertSubscriberData-def.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-insertSubscriberData-def.py
deleted file mode 100644
index 298319b0ed..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/MAP-insertSubscriberData-def.py
+++ /dev/null
@@ -1,102 +0,0 @@
-MAP-insertSubscriberData-def
- { ccitt (0) identified-organization( 4) etsi( 0) mobileDomain(0)
- gsm-Network( 1) modules( 3) map-Protocol( 4) version2(2) }
-DEFINITIONS ::=
-
-BEGIN
-
-EXPORTS
-InsertSubsDataArg, InsertSubsDatRes;
-IMPORTS
-IMSI, ISDN-AddressString, LMSI FROM MAP-commonDataTypes;
-
-InsertSubsDataArg ::= SEQUENCE{
- imsi [0] IMPLICIT IMSI OPTIONAL,
- msisdn [1] IMPLICIT ISDN-AddressString OPTIONAL,
- category [2] IMPLICIT OCTET STRING (SIZE(1)) OPTIONAL,
- subscriberStatus [3] IMPLICIT SubscriberStatus OPTIONAL,
- bearerServiceList [4] IMPLICIT SEQUENCE OF
- OCTET STRING(SIZE(1)) OPTIONAL,
- teleServiceList [6] IMPLICIT SEQUENCE OF
- OCTET STRING(SIZE(1)) OPTIONAL,
- provisionedSS [7] IMPLICIT SEQUENCE OF SS-Information OPTIONAL
- }
-
-SS-Information ::= CHOICE{
- forwardingInfo [0] IMPLICIT ForwardingInfo,
- callBarringInfoInfo [1] IMPLICIT CallBarringInfoInfo,
- ss-Data [3] IMPLICIT SS-Data }
-
-SS-Data ::= SEQUENCE {
- ss-Code OCTET STRING (SIZE(1)),
- ss-Status [4] IMPLICIT OCTET STRING (SIZE(1))
- }
-
-
-ForwardingInfo ::= SEQUENCE {
- ss-Code OCTET STRING(SIZE(1)) OPTIONAL,
- forwardingFeatureList ForwardingFeatureList
- }
-
-CallBarringInfoInfo ::= SEQUENCE {
- ss-Code OCTET STRING(SIZE(1)) OPTIONAL,
- callBarringFeatureList CallBarringFeatureList}
-
-CallBarringFeatureList ::= SEQUENCE OF CallBarringFeature
-
-CallBarringFeature ::= SEQUENCE{
- basicService BasicServiceCode OPTIONAL,
- ss-Status [2] IMPLICIT OCTET STRING(SIZE(1)) OPTIONAL
- }
-
-InsertSubsDatRes ::=
- SEQUENCE {
- teleServiceList [1] IMPLICIT SEQUENCE OF
- OCTET STRING (SIZE(1)) OPTIONAL,
- bearerServiceList [2] IMPLICIT SEQUENCE OF
- OCTET STRING (SIZE(1)) OPTIONAL,
- ss-List [3] IMPLICIT SEQUENCE OF
- OCTET STRING (SIZE(1)) OPTIONAL,
- odb-GeneralData [4] IMPLICIT BIT STRING {
- allOG-CallsBarred (0),
- internationalOGCallsBarred (1),
- internationalOGCallsNotToHPLMN-CountryBarred (2),
- premiumRateInformationOGCallsBarred (3),
- premiumRateEntertainementOGCallsBarred (4),
- ss-AccessBarred (5) } (SIZE(6)) OPTIONAL,
- regionalSubscriptionResponse [5] IMPLICIT ENUMERATED{
- msc-AreaRestricted (0),
- tooManyZoneCodes (1),
- zoneCodeConflict (2),
- regionalSubscNotSupported (3) } OPTIONAL
- }
-
-
-ForwardingFeatureList ::= SEQUENCE OF ForwardingFeature
-
-ForwardingFeature ::= SEQUENCE{
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] IMPLICIT OCTET STRING(SIZE(1)) OPTIONAL,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- forwardingOptions [6] IMPLICIT OCTET STRING(SIZE(1)) OPTIONAL,
- noReplyConditionTime [7] IMPLICIT INTEGER(5..30) OPTIONAL
- }
-
-
-BasicServiceCode ::= CHOICE {
- bearerService [2] IMPLICIT OCTET STRING(SIZE(1)),
- teleService [3] IMPLICIT OCTET STRING(SIZE(1))
- }
-
-
-BasicServiceGroupList ::= SEQUENCE OF
- BasicServiceCode
-
-
-SubscriberStatus ::= ENUMERATED {
- serviceGranted (0),
- operatorDeterminedBarring (1)
- }
-
-END -- of MAP-insertSubscriberData-def
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/MEDIA-GATEWAY-CONTROL.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/MEDIA-GATEWAY-CONTROL.asn
deleted file mode 100644
index 71b765f71d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/MEDIA-GATEWAY-CONTROL.asn
+++ /dev/null
@@ -1,975 +0,0 @@
--- This ASN.1 spec has been extracted from the Megaco/H.248 spec
--- http://www.ietf.org/internet-drafts/draft-ietf-megaco-merged-01.txt
---
--- o Removed stuff named nonStandard
--- o Major enhancements of the indentation has been performed.
---
--- Hakan Mattsson <[email protected]>
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- ANNEX A: BINARY ENCODING OF THE PROTOCOL (NORMATIVE)
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- This Annex specifies the syntax of messages using the notation
--- defined in ASN.1 [ITU-T Recommendation X.680 (1997): Information
--- Technology - Abstract Syntax Notation One (ASN.1) - Specification of
--- basic notation.]. Messages shall be encoded for transmission by
--- applying the basic encoding rules specified in [ITU-T Recommendation
--- X.690(1994) Information Technology - ASN.1 Encoding Rules:
--- Specification of Basic Encoding Rules (BER)].
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- A.1 Coding of wildcards
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- The use of wildcards ALL and CHOOSE is allowed in the protocol.
--- This allows a MGC to partially specify Termination IDs and let the
--- MG choose from the values that conform to the partial specification.
--- Termination IDs may encode a hierarchy of names. This hierarchy is
--- provisioned. For instance, a TerminationID may consist of a trunk
--- group, a trunk within the group and a circuit. Wildcarding must be
--- possible at all levels. The following paragraphs explain how this
--- is achieved.
---
--- The ASN.1 description uses octet strings of up to 8 octets in length
--- for Termination IDs. This means that Termination IDs consist of at
--- most 64 bits. A fully specified Termination ID may be preceded by a
--- sequence of wildcarding fields. A wildcarding field is one octet in
--- length. Bit 7 (the most significant bit) of this octet specifies
--- what type of wildcarding is invoked: if the bit value equals 1,
--- then the ALL wildcard is used; if the bit value if 0, then the
--- CHOOSE wildcard is used. Bit 6 of the wildcarding field specifies
--- whether the wildcarding pertains to one level in the hierarchical
--- naming scheme (bit value 0) or to the level of the hierarchy
--- specified in the wildcarding field plus all lower levels (bit value
--- 1). Bits 0 through 5 of the wildcarding field specify the bit
--- position in the Termination ID at which the starts.
---
--- We illustrate this scheme with some examples. In these examples,
--- the most significant bit in a string of bits appears on the left
--- hand side.
---
--- Assume that Termination IDs are three octets long and that each
--- octet represents a level in a hierarchical naming scheme. A valid
--- Termination ID is
--- 00000001 00011110 01010101.
---
--- Addressing ALL names with prefix 00000001 00011110 is done as
--- follows:
--- wildcarding field: 10000111
--- Termination ID: 00000001 00011110 xxxxxxxx.
---
--- The values of the bits labeled "x" is irrelevant and shall be
--- ignored by the receiver.
---
--- Indicating to the receiver that is must choose a name with 00011110
--- as the second octet is done as follows:
--- wildcarding fields: 00010111 followed by 00000111
--- Termination ID: xxxxxxxx 00011110 xxxxxxxx.
---
--- The first wildcard field indicates a CHOOSE wildcard for the level
--- in the naming hierarchy starting at bit 23, the highest level in our
--- assumed naming scheme. The second wildcard field indicates a CHOOSE
--- wildcard for the level in the naming hierarchy starting at bit 7,
--- the lowest level in our assumed naming scheme.
---
--- Finally, a CHOOSE-wildcarded name with the highest level of the name
--- equal to 00000001 is specified as follows:
--- wildcard field: 01001111
--- Termination ID: 0000001 xxxxxxxx xxxxxxxx .
---
--- Bit value 1 at bit position 6 of the first octet of the wildcard
--- field indicates that the wildcarding pertains to the specified level
--- in the naming hierarchy and all lower levels.
---
--- Context IDs may also be wildcarded. In the case of Context IDs,
--- however, specifying partial names is not allowed. Context ID 0x0
--- SHALL be used to indicate the NULL Context, Context ID 0xFFFFFFFE
--- SHALL be used to indicate a CHOOSE wildcard, and Context ID
--- 0xFFFFFFFF SHALL be used to indicate an ALL wildcard.
---
--- TerminationID 0xFFFFFFFFFFFFFFFF SHALL be used to indicate the ROOT
--- Termination.
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- Digit maps and path names
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- From a syntactic viewpoint, digit maps are strings with syntactic
--- restrictions imposed upon them. The syntax of valid digit maps is
--- specified in ABNF [RFC 2234]. The syntax for digit maps presented
--- in this section is for illustrative purposes only. The definition of
--- digitMap in Annex B takes precedence in the case of differences
--- between the two.
---
--- digitMap = (digitString / LWSP "(" LWSP digitStringList LWSP ")"
--- LWSP)
--- digitStringList = digitString *( LWSP "/" LWSP digitString )
--- digitString = 1*(digitStringElement)
--- digitStringElement = digitPosition [DOT]
--- digitPosition = digitMapLetter / digitMapRange
--- digitMapRange = ("x" / LWSP "[" LWSP digitLetter LWSP "]" LWSP)
--- digitLetter = *((DIGIT "-" DIGIT) /digitMapLetter)
--- digitMapLetter = DIGIT ;digits 0-9
--- / %x41-4B / %x61-6B ;a-k and A-K
--- / "L" / "S" ;Inter-event timers
--- ;(long, short)
--- / "Z" ;Long duration event
--- DOT = %x2E ; "."
--- LWSP = *(WSP / COMMENT / EOL)
--- WSP = SP / HTAB
--- COMMENT = ";" *(SafeChar / RestChar / WSP) EOL
--- EOL = (CR [LF]) / LF
--- SP = %x20
--- HTAB = %x09
--- CR = %x0D
--- LF = %x0A
--- SafeChar = DIGIT / ALPHA / "+" / "-" / "&" / "!" / "_" / "/" /
--- "'" / "?" / "@" / "^" / "`" / "~" / "*" / "$" / "\" /
--- "(" / ")" / "%" / "."
--- RestChar = ";" / "[" / "]" / "{" / "}" / ":" / "," / "#" /
--- "<" / ">" / "=" / %x22
--- DIGIT = %x30-39 ; digits 0 through 9
--- ALPHA = %x41-5A / %x61-7A ; A-Z, a-z
--- A path name is also a string with syntactic restrictions imposed
--- upon it. The ABNF production defining it is copied from Annex B.
---
--- PathName = NAME *(["/"] ["*"] ["@"] (ALPHA / DIGIT)) ["*"]
--- NAME = ALPHA *63(ALPHA / DIGIT / "_" )
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- A.2 ASN.1 syntax specification
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- This section contains the ASN.1 specification of the H.248 protocol
--- syntax.
---
--- NOTE - In case a transport mechanism is used that employs
--- application level framing, the definition of Transaction below
--- changes. Refer to the annex defining the transport mechanism for
--- the definition that applies in that case.
---
--- NOTE - The ASN.1 specification below contains a clause defining
--- TerminationIDList as a sequence of TerminationIDs. The length of
--- this sequence SHALL be one, except possibly when used in
--- contextAuditResult.
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-MEDIA-GATEWAY-CONTROL DEFINITIONS AUTOMATIC TAGS::=
-BEGIN
-
-MegacoMessage ::= SEQUENCE
-{
- authHeader AuthenticationHeader OPTIONAL,
- mess Message
-}
-
-AuthenticationHeader ::= SEQUENCE
-{
- secParmIndex SecurityParmIndex,
- seqNum SequenceNum,
- ad AuthData
-}
-
-SecurityParmIndex ::= OCTET STRING(SIZE(4))
-
-SequenceNum ::= OCTET STRING(SIZE(4))
-
-AuthData ::= OCTET STRING (SIZE (12..32))
-
-Message ::= SEQUENCE
-{
- version INTEGER(0..99),
- -- The version of the protocol defined here is equal to 1.
- mId MId, -- Name/address of message originator
- messageBody CHOICE
- {
- messageError ErrorDescriptor,
- transactions SEQUENCE OF Transaction
- },
- ...
-}
-
-MId ::= CHOICE
-{
- ip4Address IP4Address,
- ip6Address IP6Address,
- domainName DomainName,
- deviceName PathName,
- mtpAddress OCTET STRING(SIZE(2..4)),
- -- Addressing structure of mtpAddress:
- -- 15 0
- -- | PC | NI |
- -- 14 bits 2 bits
- ...
-}
-
-DomainName ::= SEQUENCE
-{
- name IA5String,
- -- The name starts with an alphanumeric digit followed by a
- -- sequence of alphanumeric digits, hyphens and dots. No two
- -- dots shall occur consecutively.
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-IP4Address ::= SEQUENCE
-{
- address OCTET STRING (SIZE(4)),
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-IP6Address ::= SEQUENCE
-{
- address OCTET STRING (SIZE(16)),
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-PathName ::= IA5String(SIZE (1..64))
--- See section A.3
-
-Transaction ::= CHOICE
-{
- transactionRequest TransactionRequest,
- transactionPending TransactionPending,
- transactionReply TransactionReply,
- transactionResponseAck TransactionResponseAck,
- -- use of response acks is dependent on underlying transport
- ...
-}
-
-TransactionId ::= INTEGER(0..4294967295) -- 32 bit unsigned integer
-
-TransactionRequest ::= SEQUENCE
-{
- transactionId TransactionId,
- actions SEQUENCE OF ActionRequest,
- ...
-}
-
-TransactionPending ::= SEQUENCE
-{
- transactionId TransactionId,
- ...
-}
-
-TransactionReply ::= SEQUENCE
-{
- transactionId TransactionId,
- immAckRequired NULL OPTIONAL,
- transactionResult CHOICE
- {
- transactionError ErrorDescriptor,
- actionReplies SEQUENCE OF ActionReply
- },
- ...
-}
-
-TransactionResponseAck ::= SEQUENCE OF TransactionAck
-
-TransactionAck ::= SEQUENCE
-{
- firstAck TransactionId,
- lastAck TransactionId OPTIONAL
-}
-
-ErrorDescriptor ::= SEQUENCE
-{
- errorCode ErrorCode,
- errorText ErrorText OPTIONAL
-}
-
-ErrorCode ::= INTEGER(0..65535)
--- See section 13 for IANA considerations w.r.t. error codes
-
-ErrorText ::= IA5String
-
-ContextID ::= INTEGER(0..4294967295)
-
--- Context NULL Value: 0
--- Context CHOOSE Value: 4294967294 (0xFFFFFFFE)
--- Context ALL Value: 4294967295 (0xFFFFFFFF)
-
-
-ActionRequest ::= SEQUENCE
-{
- contextId ContextID,
- contextRequest ContextRequest OPTIONAL,
- contextAttrAuditReq ContextAttrAuditRequest OPTIONAL,
- commandRequests SEQUENCE OF CommandRequest
-}
-
-ActionReply ::= SEQUENCE
-{
- contextId ContextID,
- errorDescriptor ErrorDescriptor OPTIONAL,
- contextReply ContextRequest OPTIONAL,
- commandReply SEQUENCE OF CommandReply
-}
-
-ContextRequest ::= SEQUENCE
-{
- priority INTEGER(0..15) OPTIONAL,
- emergency BOOLEAN OPTIONAL,
- topologyReq SEQUENCE OF TopologyRequest OPTIONAL,
- ...
-}
-
-ContextAttrAuditRequest ::= SEQUENCE
-{
- topology NULL OPTIONAL,
- emergency NULL OPTIONAL,
- priority NULL OPTIONAL,
- ...
-}
-
-CommandRequest ::= SEQUENCE
-{
- command Command,
- optional NULL OPTIONAL,
- wildcardReturn NULL OPTIONAL,
- ...
-}
-
-Command ::= CHOICE
-{
- addReq AmmRequest,
- moveReq AmmRequest,
- modReq AmmRequest,
- -- Add, Move, Modify requests have the same parameters
- subtractReq SubtractRequest,
- auditCapRequest AuditRequest,
- auditValueRequest AuditRequest,
- notifyReq NotifyRequest,
- serviceChangeReq ServiceChangeRequest,
- ...
-}
-
-CommandReply ::= CHOICE
-{
- addReply AmmsReply,
- moveReply AmmsReply,
- modReply AmmsReply,
- subtractReply AmmsReply,
- -- Add, Move, Modify, Subtract replies have the same parameters
- auditCapReply AuditReply,
- auditValueReply AuditReply,
- notifyReply NotifyReply,
- serviceChangeReply ServiceChangeReply,
- ...
-}
-
-TopologyRequest ::= SEQUENCE
-{
- terminationFrom TerminationID,
- terminationTo TerminationID,
- topologyDirection ENUMERATED
- {
- bothway(0),
- isolate(1),
- oneway(2)
- }
-}
-
-AmmRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- descriptors SEQUENCE OF AmmDescriptor,
- -- At most one descriptor of each type (see AmmDescriptor)
- -- allowed in the sequence.
- ...
-}
-
-AmmDescriptor ::= CHOICE
-{
- mediaDescriptor MediaDescriptor,
- modemDescriptor ModemDescriptor,
- muxDescriptor MuxDescriptor,
- eventsDescriptor EventsDescriptor,
- eventBufferDescriptor EventBufferDescriptor,
- signalsDescriptor SignalsDescriptor,
- digitMapDescriptor DigitMapDescriptor,
- auditDescriptor AuditDescriptor,
-...
-}
-
-AmmsReply ::= SEQUENCE
-{
- terminationID TerminationIDList,
- terminationAudit TerminationAudit OPTIONAL,
- ...
-}
-
-SubtractRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- auditDescriptor AuditDescriptor OPTIONAL,
- ...
-}
-
-AuditRequest ::= SEQUENCE
-{
- terminationID TerminationID,
- auditDescriptor AuditDescriptor,
- ...
-}
-
-AuditReply ::= CHOICE
-{
- contextAuditResult TerminationIDList,
- error ErrorDescriptor,
- auditResult AuditResult,
- ...
-}
-
-AuditResult ::= SEQUENCE
-{
- terminationID TerminationID,
- terminationAuditResult TerminationAudit
-}
-
-TerminationAudit ::= SEQUENCE OF AuditReturnParameter
-
-AuditReturnParameter ::= CHOICE
-{
- errorDescriptor ErrorDescriptor,
- mediaDescriptor MediaDescriptor,
- modemDescriptor ModemDescriptor,
- muxDescriptor MuxDescriptor,
- eventsDescriptor EventsDescriptor,
- eventBufferDescriptor EventBufferDescriptor,
- signalsDescriptor SignalsDescriptor,
- digitMapDescriptor DigitMapDescriptor,
- observedEventsDescriptor ObservedEventsDescriptor,
- statisticsDescriptor StatisticsDescriptor,
- packagesDescriptor PackagesDescriptor,
- emptyDescriptors AuditDescriptor,
- ...
-}
-
-AuditDescriptor ::= SEQUENCE
-{
- auditToken BIT STRING
- {
- muxToken(0),
- modemToken(1),
- mediaToken(2),
- eventsToken(3),
- signalsToken(4),
- digitMapToken(5),
- statsToken(6),
- observedEventsToken(7),
- packagesToken(8),
- eventBufferToken(9)
- } OPTIONAL,
- ...
-}
-
-NotifyRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- observedEventsDescriptor ObservedEventsDescriptor,
- errorDescriptor ErrorDescriptor OPTIONAL,
- ...
-}
-
-NotifyReply ::= SEQUENCE
-{
- terminationID TerminationIDList,
- errorDescriptor ErrorDescriptor OPTIONAL,
- ...
-}
-
-ObservedEventsDescriptor ::= SEQUENCE
-{
- requestId RequestID,
- observedEventLst SEQUENCE OF ObservedEvent
-}
-
-ObservedEvent ::= SEQUENCE
-{
- eventName EventName,
- streamID StreamID OPTIONAL,
- eventParList SEQUENCE OF EventParameter,
- timeNotation TimeNotation OPTIONAL,
- ...
-}
-
-EventName ::= PkgdName
-
-EventParameter ::= SEQUENCE
-{
- eventParameterName Name,
- value Value,
- -- For use of extraInfo see the comment related to propertyParm
- extraInfo CHOICE
- {
- relation Relation,
- range BOOLEAN,
- sublist BOOLEAN
- } OPTIONAL,
- ...
-}
-
-ServiceChangeRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- serviceChangeParms ServiceChangeParm,
- ...
-}
-
-ServiceChangeReply ::= SEQUENCE
-{
- terminationID TerminationIDList,
- serviceChangeResult ServiceChangeResult,
- ...
-}
-
--- For ServiceChangeResult, no parameters are mandatory. Hence the
--- distinction between ServiceChangeParm and ServiceChangeResParm.
-
-ServiceChangeResult ::= CHOICE
-{
- errorDescriptor ErrorDescriptor,
- serviceChangeResParms ServiceChangeResParm
-}
-
-WildcardField ::= OCTET STRING(SIZE(1))
-
-TerminationID ::= SEQUENCE
-{
- wildcard SEQUENCE OF WildcardField,
- id OCTET STRING(SIZE(1..8)),
- ...
-}
--- See Section A.1 for explanation of wildcarding mechanism.
--- Termination ID 0xFFFFFFFFFFFFFFFF indicates the ROOT Termination.
-
-TerminationIDList ::= SEQUENCE OF TerminationID
-
-MediaDescriptor ::= SEQUENCE
-{
-
- termStateDescr TerminationStateDescriptor OPTIONAL,
- streams CHOICE
- {
- oneStream StreamParms,
- multiStream SEQUENCE OF StreamDescriptor
- } OPTIONAL,
- ...
-}
-
-StreamDescriptor ::= SEQUENCE
-{
- streamID StreamID,
- streamParms StreamParms
-}
-
-StreamParms ::= SEQUENCE
-{
- localControlDescriptor LocalControlDescriptor OPTIONAL,
- localDescriptor LocalRemoteDescriptor OPTIONAL,
- remoteDescriptor LocalRemoteDescriptor OPTIONAL,
- ...
-}
-
-LocalControlDescriptor ::= SEQUENCE
-{
- streamMode StreamMode OPTIONAL,
- reserveValue BOOLEAN OPTIONAL,
- reserveGroup BOOLEAN OPTIONAL,
- propertyParms SEQUENCE OF PropertyParm,
- ...
-}
-
-StreamMode ::= ENUMERATED
-{
- sendOnly(0),
- recvOnly(1),
- sendRecv(2),
- inactive(3),
- loopBack(4),
- ...
-}
-
--- In PropertyParm, value is a SEQUENCE OF octet string. When sent
--- by an MGC the interpretation is as follows:
--- empty sequence means CHOOSE
--- one element sequence specifies value
--- If the sublist field is not selected, a longer sequence means
--- "choose one of the values" (i.e. value1 OR value2 OR ...)
--- If the sublist field is selected,
--- a sequence with more than one element encodes the value of a
--- list-valued property (i.e. value1 AND value2 AND ...).
--- The relation field may only be selected if the value sequence
--- has length 1. It indicates that the MG has to choose a value
--- for the property. E.g., x > 3 (using the greaterThan
--- value for relation) instructs the MG to choose any value larger
--- than 3 for property x.
--- The range field may only be selected if the value sequence
--- has length 2. It indicates that the MG has to choose a value
--- in the range between the first octet in the value sequence and
--- the trailing octet in the value sequence, including the
--- boundary values.
--- When sent by the MG, only responses to an AuditCapability request
--- may contain multiple values, a range, or a relation field.
-
-PropertyParm ::= SEQUENCE
-{
- name PkgdName,
- value SEQUENCE OF OCTET STRING,
- extraInfo CHOICE
- {
- relation Relation,
- range BOOLEAN,
- sublist BOOLEAN
- } OPTIONAL,
- ...
-}
-
-Name ::= OCTET STRING(SIZE(2))
-
-PkgdName ::= OCTET STRING(SIZE(4))
--- represents Package Name (2 octets) plus Property Name (2 octets)
--- To wildcard a package use 0xFFFF for first two octets, choose
--- is not allowed. To reference native property tag specified in
--- Annex C, use 0x0000 as first two octets.
--- Wildcarding of Package Name is permitted only if Property Name is
--- also wildcarded.
-
-Relation ::= ENUMERATED
-{
- greaterThan(0),
- smallerThan(1),
- unequalTo(2),
- ...
-}
-
-LocalRemoteDescriptor ::= SEQUENCE
-{
- propGrps SEQUENCE OF PropertyGroup,
- ...
-}
-
-PropertyGroup ::= SEQUENCE OF PropertyParm
-
-TerminationStateDescriptor ::= SEQUENCE
-{
- propertyParms SEQUENCE OF PropertyParm,
- eventBufferControl EventBufferControl OPTIONAL,
- serviceState ServiceState OPTIONAL,
- ...
-}
-
-EventBufferControl ::= ENUMERATED
-{
- off(0),
- lockStep(1),
- ...
-}
-
-ServiceState ::= ENUMERATED
-{
- test(0),
- outOfSvc(1),
- inSvc(2),
- ...
-}
-
-MuxDescriptor ::= SEQUENCE
-{
- muxType MuxType,
- termList SEQUENCE OF TerminationID,
- nonStandardData NonStandardData OPTIONAL,
- ...
-}
-
-MuxType ::= ENUMERATED
-{
- h221(0),
- h223(1),
- h226(2),
- v76(3),
- ...
-}
-
-StreamID ::= INTEGER(0..65535) -- 16 bit unsigned integer
-
-EventsDescriptor ::= SEQUENCE
-{
- requestID RequestID,
- -- IG 6.82 was withdrawn
- -- requestID RequestID OPTIONAL,
- -- RequestID must be present if eventList is non empty
- eventList SEQUENCE OF RequestedEvent,
- ...
-}
-
-RequestedEvent ::= SEQUENCE
-{
- pkgdName PkgdName,
- streamID StreamID OPTIONAL,
- eventAction RequestedActions OPTIONAL,
- evParList SEQUENCE OF EventParameter,
- ...
-}
-
-RequestedActions ::= SEQUENCE
-{
- keepActive BOOLEAN OPTIONAL,
- eventDM EventDM OPTIONAL,
- secondEvent SecondEventsDescriptor OPTIONAL,
- signalsDescriptor SignalsDescriptor OPTIONAL,
- ...
-}
-
-
-EventDM ::= CHOICE
-{
- digitMapName DigitMapName,
- digitMapValue DigitMapValue
-}
-
-SecondEventsDescriptor ::= SEQUENCE
-{
- requestID RequestID,
- -- IG 6.82 was withdrawn
- -- requestID RequestID OPTIONAL,
- -- RequestID must be present if eventList is non empty
- eventList SEQUENCE OF SecondRequestedEvent,
- ...
-}
-
-SecondRequestedEvent ::= SEQUENCE
-{
- pkgdName PkgdName,
- streamID StreamID OPTIONAL,
- eventAction SecondRequestedActions OPTIONAL,
- evParList SEQUENCE OF EventParameter,
- ...
-}
-
-SecondRequestedActions ::= SEQUENCE
-{
- keepActive BOOLEAN OPTIONAL,
- eventDM EventDM OPTIONAL,
- signalsDescriptor SignalsDescriptor OPTIONAL,
- ...
-}
-
-EventBufferDescriptor ::= SEQUENCE OF EventSpec
-
-EventSpec ::= SEQUENCE
-{
- eventName EventName,
- streamID StreamID OPTIONAL,
- eventParList SEQUENCE OF EventParameter,
- ...
-}
-
-SignalsDescriptor ::= SEQUENCE OF SignalRequest
-
-SignalRequest ::= CHOICE
-{
- signal Signal,
- seqSigList SeqSigList,
- ...
-}
-
-SeqSigList ::= SEQUENCE
-{
- id INTEGER(0..65535),
- signalList SEQUENCE OF Signal
-}
-
-Signal ::= SEQUENCE
-{
- signalName SignalName,
- streamID StreamID OPTIONAL,
- sigType SignalType OPTIONAL,
- duration INTEGER (0..65535) OPTIONAL,
- notifyCompletion NotifyCompletion OPTIONAL,
- keepActive BOOLEAN OPTIONAL,
- sigParList SEQUENCE OF SigParameter,
- ...
-}
-
-SignalType ::= ENUMERATED
-{
- brief(0),
- onOff(1),
- timeOut(2),
- ...
-}
-
-SignalName ::= PkgdName
-
-NotifyCompletion ::= BIT STRING
-{
- onTimeOut(0),
- onInterruptByEvent(1),
- onInterruptByNewSignalDescr(2),
- otherReason(3)
-}
-
-SigParameter ::= SEQUENCE
-{
- sigParameterName Name,
- value Value,
- -- For use of extraInfo see the comment related to propertyParm
- extraInfo CHOICE
- {
- relation Relation,
- range BOOLEAN,
- sublist BOOLEAN
- } OPTIONAL,
- ...
-}
-
-RequestID ::= INTEGER(0..4294967295) -- 32 bit unsigned integer
--- Request ALL Value: 4294967295 (0xFFFFFFFF)
-
-ModemDescriptor ::= SEQUENCE
-{
- mtl SEQUENCE OF ModemType,
- mpl SEQUENCE OF PropertyParm,
- nonStandardData NonStandardData OPTIONAL
-}
-
-ModemType ::= ENUMERATED
-{
- v18(0),
- v22(1),
- v22bis(2),
- v32(3),
- v32bis(4),
- v34(5),
- v90(6),
- v91(7),
- synchISDN(8),
- ...
-}
-
-DigitMapDescriptor ::= SEQUENCE
-{
- digitMapName DigitMapName OPTIONAL,
- digitMapValue DigitMapValue OPTIONAL
-}
-
-DigitMapName ::= Name
-
-DigitMapValue ::= SEQUENCE
-{
- startTimer INTEGER(0..99) OPTIONAL,
- shortTimer INTEGER(0..99) OPTIONAL,
- longTimer INTEGER(0..99) OPTIONAL,
- digitMapBody IA5String,
- -- See Section A.3 for explanation of digit map syntax
- ...
-}
-
-ServiceChangeParm ::= SEQUENCE
-{
- serviceChangeMethod ServiceChangeMethod,
- serviceChangeAddress ServiceChangeAddress OPTIONAL,
- serviceChangeVersion INTEGER(0..99) OPTIONAL,
- serviceChangeProfile ServiceChangeProfile OPTIONAL,
- serviceChangeReason Value,
- serviceChangeDelay INTEGER(0..4294967295) OPTIONAL,
- -- 32 bit unsigned integer
- serviceChangeMgcId MId OPTIONAL,
- timeStamp TimeNotation OPTIONAL,
- nonStandardData NonStandardData OPTIONAL,
- ...
-}
-
-ServiceChangeAddress ::= CHOICE
-{
- portNumber INTEGER(0..65535), -- TCP/UDP port number
- ip4Address IP4Address,
- ip6Address IP6Address,
- domainName DomainName,
- deviceName PathName,
- mtpAddress OCTET STRING(SIZE(2..4)),
- ...
-}
-
-ServiceChangeResParm ::= SEQUENCE
-{
- serviceChangeMgcId MId OPTIONAL,
- serviceChangeAddress ServiceChangeAddress OPTIONAL,
- serviceChangeVersion INTEGER(0..99) OPTIONAL,
- serviceChangeProfile ServiceChangeProfile OPTIONAL,
- timeStamp TimeNotation OPTIONAL,
- ...
-}
-
-ServiceChangeMethod ::= ENUMERATED
-{
- failover(0),
- forced(1),
- graceful(2),
- restart(3),
- disconnected(4),
- handOff(5),
- ...
-}
-
-ServiceChangeProfile ::= SEQUENCE
-{
- profileName Name,
- version INTEGER(0..99)
-}
-
-PackagesDescriptor ::= SEQUENCE OF PackagesItem
-
-PackagesItem ::= SEQUENCE
-{
- packageName Name,
- packageVersion INTEGER(0..99),
- ...
-}
-
-StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter
-
-StatisticsParameter ::= SEQUENCE
-{
- statName PkgdName,
- statValue Value OPTIONAL
-}
-
-NonStandardData ::= SEQUENCE
-{
- nonStandardIdentifier NonStandardIdentifier,
- data OCTET STRING
-}
-
-NonStandardIdentifier ::= CHOICE
-{
- object OBJECT IDENTIFIER,
- h221NonStandard H221NonStandard,
- experimental IA5String(SIZE(8)),
- -- first two characters should be "X-" or "X+"
- ...
-}
-
-H221NonStandard ::= SEQUENCE
-{
- t35CountryCode1 INTEGER(0..255),
- t35CountryCode2 INTEGER(0..255), -- country, as per T.35
- t35Extension INTEGER(0..255), -- assigned nationally
- manufacturerCode INTEGER(0..65535), -- assigned nationally
- ...
-}
-
-TimeNotation ::= SEQUENCE
-{
- date IA5String(SIZE(8)), -- yyyymmdd format
- time IA5String(SIZE(8)) -- hhmmssss format
-}
-
-Value ::= SEQUENCE OF OCTET STRING
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/MEDIA-GATEWAY-CONTROL.asn1config b/lib/asn1/test/asn1_bin_v2_SUITE_data/MEDIA-GATEWAY-CONTROL.asn1config
deleted file mode 100644
index b7dba3c95c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/MEDIA-GATEWAY-CONTROL.asn1config
+++ /dev/null
@@ -1,7 +0,0 @@
-{exclusive_decode,
- {'MEDIA-GATEWAY-CONTROL',
- [{decode_MegacoMessage_exclusive,['MegacoMessage',[{authHeader,undecoded},{mess,[{mId,undecoded},{messageBody,undecoded}]}]]},
- {decode_Message_version,['Message',[{mId,undecoded},{messageBody,undecoded}]]}]}}.
-{selective_decode,
- {'MEDIA-GATEWAY-CONTROL',
- [{decode_MegacoMessage_selective,['MegacoMessage',mess,version]}]}}.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/MS.set.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/MS.set.asn
deleted file mode 100644
index bcc74b2a96..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/MS.set.asn
+++ /dev/null
@@ -1,2 +0,0 @@
-M1.asn
-M2.asn
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn
deleted file mode 100644
index afbc7dc5ef..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn
+++ /dev/null
@@ -1,3084 +0,0 @@
-MULTIMEDIA-SYSTEM-CONTROL DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- Export all symbols
-
--- ===================================================================================
--- Top level Messages
--- ===================================================================================
-
-MultimediaSystemControlMessage ::=CHOICE
-{
- request RequestMessage,
- response ResponseMessage,
- command CommandMessage,
- indication IndicationMessage,
- ...
-}
-
--- A RequestMessage results in action and requires an immediate response
-
-RequestMessage ::=CHOICE
-{
- nonStandard NonStandardMessage,
-
- masterSlaveDetermination MasterSlaveDetermination,
-
- terminalCapabilitySet TerminalCapabilitySet,
-
- openLogicalChannel OpenLogicalChannel,
- closeLogicalChannel CloseLogicalChannel,
-
- requestChannelClose RequestChannelClose,
-
- multiplexEntrySend MultiplexEntrySend,
-
- requestMultiplexEntry RequestMultiplexEntry,
-
- requestMode RequestMode,
-
- roundTripDelayRequest RoundTripDelayRequest,
-
- maintenanceLoopRequest MaintenanceLoopRequest,
-
- ...,
- communicationModeRequest CommunicationModeRequest,
- conferenceRequest ConferenceRequest
-}
-
--- A ResponseMessage is the response to a request Message
-
-ResponseMessage ::=CHOICE
-{
- nonStandard NonStandardMessage,
-
- masterSlaveDeterminationAck MasterSlaveDeterminationAck,
- masterSlaveDeterminationReject MasterSlaveDeterminationReject,
-
- terminalCapabilitySetAck TerminalCapabilitySetAck,
- terminalCapabilitySetReject TerminalCapabilitySetReject,
-
- openLogicalChannelAck OpenLogicalChannelAck,
- openLogicalChannelReject OpenLogicalChannelReject,
- closeLogicalChannelAck CloseLogicalChannelAck,
-
- requestChannelCloseAck RequestChannelCloseAck,
- requestChannelCloseReject RequestChannelCloseReject,
-
- multiplexEntrySendAck MultiplexEntrySendAck,
- multiplexEntrySendReject MultiplexEntrySendReject,
-
- requestMultiplexEntryAck RequestMultiplexEntryAck,
- requestMultiplexEntryReject RequestMultiplexEntryReject,
-
- requestModeAck RequestModeAck,
- requestModeReject RequestModeReject,
-
- roundTripDelayResponse RoundTripDelayResponse,
-
- maintenanceLoopAck MaintenanceLoopAck,
- maintenanceLoopReject MaintenanceLoopReject,
-
- ...,
- communicationModeResponse CommunicationModeResponse,
-
- conferenceResponse ConferenceResponse
-
-
-}
-
--- A CommandMessage requires action, but no explicit response
-
-CommandMessage ::=CHOICE
-{
- nonStandard NonStandardMessage,
-
- maintenanceLoopOffCommand MaintenanceLoopOffCommand,
-
- sendTerminalCapabilitySet SendTerminalCapabilitySet,
-
- encryptionCommand EncryptionCommand,
-
- flowControlCommand FlowControlCommand,
-
- endSessionCommand EndSessionCommand,
-
- miscellaneousCommand MiscellaneousCommand,
-
- ...,
- communicationModeCommand CommunicationModeCommand,
-
- conferenceCommand ConferenceCommand,
-
- h223MultiplexReconfiguration H223MultiplexReconfiguration
-
-}
-
--- An IndicationMessage is information that does not require action or response
-
-IndicationMessage ::=CHOICE
-{
- nonStandard NonStandardMessage,
-
- functionNotUnderstood FunctionNotUnderstood,
-
- masterSlaveDeterminationRelease MasterSlaveDeterminationRelease,
-
- terminalCapabilitySetRelease TerminalCapabilitySetRelease,
-
- openLogicalChannelConfirm OpenLogicalChannelConfirm,
-
- requestChannelCloseRelease RequestChannelCloseRelease,
-
- multiplexEntrySendRelease MultiplexEntrySendRelease,
-
- requestMultiplexEntryRelease RequestMultiplexEntryRelease,
-
- requestModeRelease RequestModeRelease,
-
- miscellaneousIndication MiscellaneousIndication,
-
- jitterIndication JitterIndication,
-
- h223SkewIndication H223SkewIndication,
-
- newATMVCIndication NewATMVCIndication,
-
- userInput UserInputIndication,
- ...,
- h2250MaximumSkewIndication H2250MaximumSkewIndication,
-
- mcLocationIndication MCLocationIndication,
-
- conferenceIndication ConferenceIndication,
-
- vendorIdentification VendorIdentification,
-
- functionNotSupported FunctionNotSupported
-
-}
-
--- SequenceNumber is defined here as it is used in a number of Messages
-SequenceNumber ::=INTEGER (0..255)
-
--- ===================================================================================
--- Non standard Message definitions
--- ===================================================================================
-
-NonStandardMessage ::=SEQUENCE
-{
- nonStandardData NonStandardParameter,
- ...
-}
-
-NonStandardParameter ::=SEQUENCE
-{
- nonStandardIdentifier NonStandardIdentifier,
- data OCTET STRING
-}
-
-NonStandardIdentifier ::=CHOICE
-{
- object OBJECT IDENTIFIER,
- h221NonStandard SEQUENCE
- {
- t35CountryCode INTEGER (0..255), -- country, per T.35
- t35Extension INTEGER (0..255), -- assigned nationally
- manufacturerCode INTEGER (0..65535) -- assigned nationally
- }
-}
-
--- ===================================================================================
--- Master-slave determination definitions
--- ===================================================================================
-
-MasterSlaveDetermination ::=SEQUENCE
-{
- terminalType INTEGER (0..255),
- statusDeterminationNumber INTEGER (0..16777215),
- ...
-}
-
-MasterSlaveDeterminationAck ::=SEQUENCE
-{
- decision CHOICE
- {
- master NULL,
- slave NULL
- },
- ...
-}
-
-MasterSlaveDeterminationReject ::=SEQUENCE
-{
- cause CHOICE
- {
- identicalNumbers NULL,
- ...
- },
- ...
-}
-
-MasterSlaveDeterminationRelease ::=SEQUENCE
-{
- ...
-}
-
- -- ===================================================================================
--- Capability exchange definitions
--- ===================================================================================
-
-TerminalCapabilitySet ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
-
- protocolIdentifier OBJECT IDENTIFIER,
- -- shall be set to the value
- -- {itu-t (0) recommendation (0) h (8) 245 version (0) 3}
-
-
- multiplexCapability MultiplexCapability OPTIONAL,
-
- capabilityTable SET SIZE (1..256) OF CapabilityTableEntry OPTIONAL,
-
- capabilityDescriptors SET SIZE (1..256) OF CapabilityDescriptor OPTIONAL,
-
- ...
-}
-
-CapabilityTableEntry ::=SEQUENCE
-{
- capabilityTableEntryNumber CapabilityTableEntryNumber,
- capability Capability OPTIONAL
-}
-
-CapabilityDescriptor ::=SEQUENCE
-{
- capabilityDescriptorNumber CapabilityDescriptorNumber,
- simultaneousCapabilities SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL
-}
-
-AlternativeCapabilitySet ::=SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber
-
-CapabilityTableEntryNumber ::=INTEGER (1..65535)
-
-CapabilityDescriptorNumber ::=INTEGER (0..255)
-
-TerminalCapabilitySetAck ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- ...
-}
-
-TerminalCapabilitySetReject ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- cause CHOICE
- {
- unspecified NULL,
- undefinedTableEntryUsed NULL,
- descriptorCapacityExceeded NULL,
- tableEntryCapacityExceeded CHOICE
- {
- highestEntryNumberProcessed CapabilityTableEntryNumber,
- noneProcessed NULL
- },
- ...
- },
- ...
-}
-
-TerminalCapabilitySetRelease ::=SEQUENCE
-{
- ...
-}
-
--- ===================================================================================
--- Capability exchange definitions: top level capability description
--- ===================================================================================
-
-Capability ::=CHOICE
-{
- nonStandard NonStandardParameter,
-
- receiveVideoCapability VideoCapability,
- transmitVideoCapability VideoCapability,
- receiveAndTransmitVideoCapability VideoCapability,
-
- receiveAudioCapability AudioCapability,
- transmitAudioCapability AudioCapability,
- receiveAndTransmitAudioCapability AudioCapability,
-
- receiveDataApplicationCapability DataApplicationCapability,
- transmitDataApplicationCapability DataApplicationCapability,
- receiveAndTransmitDataApplicationCapability DataApplicationCapability,
-
- h233EncryptionTransmitCapability BOOLEAN,
- h233EncryptionReceiveCapability SEQUENCE
- {
- h233IVResponseTime INTEGER (0..255), -- units milliseconds
- ...
- },
- ...,
- conferenceCapability ConferenceCapability,
- h235SecurityCapability H235SecurityCapability,
- maxPendingReplacementFor INTEGER (0..255),
- receiveUserInputCapability UserInputCapability,
- transmitUserInputCapability UserInputCapability,
- receiveAndTransmitUserInputCapability UserInputCapability
-
-}
-
-H235SecurityCapability ::=SEQUENCE
-{
- encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity,
-
- mediaCapability CapabilityTableEntryNumber,
- -- Note: the mediaCapability shall refer to Capability Table Entries that do contain a transmit,
- -- receive, or receiveAndTransmit AudioCapability, VideoCapability,
- -- DataApplicationCapability, or similar capability indicated by a NonStandardParameter only
-
- ...
-}
-
--- ===================================================================================
--- Capability exchange definitions: Multiplex capabilities
--- ===================================================================================
-
-MultiplexCapability ::=CHOICE
-{
- nonStandard NonStandardParameter,
- h222Capability H222Capability,
- h223Capability H223Capability,
- v76Capability V76Capability,
- ...,
- h2250Capability H2250Capability
-
-}
-
-H222Capability ::= SEQUENCE
-{
- numberOfVCs INTEGER (1..256),
- vcCapability SET OF VCCapability,
- ...
-}
-
-VCCapability ::=SEQUENCE
-{
- aal1 SEQUENCE
- {
- nullClockRecovery BOOLEAN,
- srtsClockRecovery BOOLEAN,
- adaptiveClockRecovery BOOLEAN,
- nullErrorCorrection BOOLEAN,
- longInterleaver BOOLEAN,
- shortInterleaver BOOLEAN,
- errorCorrectionOnly BOOLEAN,
- structuredDataTransfer BOOLEAN,
- partiallyFilledCells BOOLEAN,
- ...
- } OPTIONAL,
- aal5 SEQUENCE
- {
- forwardMaximumSDUSize INTEGER (0..65535), -- units octets
- backwardMaximumSDUSize INTEGER (0..65535), -- units octets
- ...
- } OPTIONAL,
- transportStream BOOLEAN,
- programStream BOOLEAN,
- availableBitRates SEQUENCE
- {
- type CHOICE
- {
- singleBitRate INTEGER (1..65535), -- units 64 kbit/s
- rangeOfBitRates SEQUENCE
- {
- lowerBitRate INTEGER (1..65535), -- units 64 kbit/s
- higherBitRate INTEGER (1..65535) -- units 64 kbit/s
- }
- },
- ...
- },
- ...
-}
-
-H223Capability ::=SEQUENCE
-{
- transportWithI-frames BOOLEAN, -- I-frame transport of H.245
-
- videoWithAL1 BOOLEAN,
- videoWithAL2 BOOLEAN,
- videoWithAL3 BOOLEAN,
- audioWithAL1 BOOLEAN,
- audioWithAL2 BOOLEAN,
- audioWithAL3 BOOLEAN,
- dataWithAL1 BOOLEAN,
- dataWithAL2 BOOLEAN,
- dataWithAL3 BOOLEAN,
-
- maximumAl2SDUSize INTEGER (0..65535), -- units octets
- maximumAl3SDUSize INTEGER (0..65535), -- units octets
-
- maximumDelayJitter INTEGER (0..1023), -- units milliseconds
-
- h223MultiplexTableCapability CHOICE
- {
- basic NULL,
- enhanced SEQUENCE
- {
- maximumNestingDepth INTEGER (1..15),
- maximumElementListSize INTEGER (2..255),
- maximumSubElementListSize INTEGER (2..255),
- ...
- }
- },
- ...,
- maxMUXPDUSizeCapability BOOLEAN,
- nsrpSupport BOOLEAN,
- mobileOperationTransmitCapability SEQUENCE
- {
- modeChangeCapability BOOLEAN,
- h223AnnexA BOOLEAN,
- h223AnnexADoubleFlag BOOLEAN,
- h223AnnexB BOOLEAN,
- h223AnnexBwithHeader BOOLEAN,
- ...
- } OPTIONAL,
- h223AnnexCCapability H223AnnexCCapability OPTIONAL
-
-}
-
-H223AnnexCCapability ::= SEQUENCE
-{
- videoWithAL1M BOOLEAN,
- videoWithAL2M BOOLEAN,
- videoWithAL3M BOOLEAN,
- audioWithAL1M BOOLEAN,
- audioWithAL2M BOOLEAN,
- audioWithAL3M BOOLEAN,
- dataWithAL1M BOOLEAN,
- dataWithAL2M BOOLEAN,
- dataWithAL3M BOOLEAN,
- alpduInterleaving BOOLEAN,
-
- maximumAL1MPDUSize INTEGER (0..65535), -- units octets
- maximumAL2MSDUSize INTEGER (0..65535), -- units octets
- maximumAL3MSDUSize INTEGER (0..65535), -- units octets
- ...
-}
-
-V76Capability ::=SEQUENCE
-{
- suspendResumeCapabilitywAddress BOOLEAN,
- suspendResumeCapabilitywoAddress BOOLEAN,
- rejCapability BOOLEAN,
- sREJCapability BOOLEAN,
- mREJCapability BOOLEAN,
- crc8bitCapability BOOLEAN,
- crc16bitCapability BOOLEAN,
- crc32bitCapability BOOLEAN,
- uihCapability BOOLEAN,
- numOfDLCS INTEGER (2..8191),
- twoOctetAddressFieldCapability BOOLEAN,
- loopBackTestCapability BOOLEAN,
- n401Capability INTEGER (1..4095),
- maxWindowSizeCapability INTEGER (1..127),
- v75Capability V75Capability,
- ...
-}
-
-V75Capability ::=SEQUENCE
-{
- audioHeader BOOLEAN,
- ...
-}
-
-H2250Capability ::=SEQUENCE
-{
- maximumAudioDelayJitter INTEGER(0..1023), -- units in milliseconds
- receiveMultipointCapability MultipointCapability,
- transmitMultipointCapability MultipointCapability,
- receiveAndTransmitMultipointCapability MultipointCapability,
- mcCapability SEQUENCE
- {
- centralizedConferenceMC BOOLEAN,
- decentralizedConferenceMC BOOLEAN,
- ...
- },
- rtcpVideoControlCapability BOOLEAN, -- FIR and NACK
- mediaPacketizationCapability MediaPacketizationCapability,
- ...,
- transportCapability TransportCapability OPTIONAL,
- redundancyEncodingCapability SEQUENCE SIZE(1..256) OF RedundancyEncodingCapability OPTIONAL,
- logicalChannelSwitchingCapability BOOLEAN,
- t120DynamicPortCapability BOOLEAN
-
-}
-
-MediaPacketizationCapability ::=SEQUENCE
-{
- h261aVideoPacketization BOOLEAN,
- ...,
- rtpPayloadType SEQUENCE SIZE(1..256) OF RTPPayloadType OPTIONAL
-}
-
-RSVPParameters ::=SEQUENCE
-{
- qosMode QOSMode OPTIONAL,
- tokenRate INTEGER (1..4294967295) OPTIONAL,
- -- rate in bytes/sec
- bucketSize INTEGER (1..4294967295) OPTIONAL, -- size in bytes
- peakRate INTEGER (1..4294967295) OPTIONAL,
- -- peak bandwidth bytes/sec
- minPoliced INTEGER (1..4294967295) OPTIONAL, --
- maxPktSize INTEGER (1..4294967295) OPTIONAL, -- size in bytes
- ...
-}
-
-QOSMode ::=CHOICE
-{
- guaranteedQOS NULL,
- controlledLoad NULL,
- ...
-}
-
--- Ed. Replace with ITU-T ATM Transfer Capability Types
-ATMParameters ::=SEQUENCE
-{
- maxNTUSize INTEGER(0..65535), --units in octets
- atmUBR BOOLEAN, --unspecified bit rate
- atmrtVBR BOOLEAN, --real time variable bit rate
- atmnrtVBR BOOLEAN, --non real time variable bit rate
- atmABR BOOLEAN, --available bit rate
- atmCBR BOOLEAN, --constant bit rate
- ...
-}
-
-QOSCapability ::=SEQUENCE
-{
- nonStandardData NonStandardParameter OPTIONAL,
- rsvpParameters RSVPParameters OPTIONAL,
- atmParameters ATMParameters OPTIONAL,
- ...
-}
-
-MediaTransportType ::=CHOICE
-{
- ip-UDP NULL,
- ip-TCP NULL,
- atm-AAL5-UNIDIR NULL, -- virtual circuits used as unidirectional
- atm-AAL5-BIDIR NULL, -- virtual circuits used as bidirectional
- ...
-}
-
-MediaChannelCapability ::=SEQUENCE
-{
- mediaTransport MediaTransportType OPTIONAL,
- ...
-}
-
-TransportCapability ::=SEQUENCE
-{
- nonStandard NonStandardParameter OPTIONAL,
- qOSCapabilities SEQUENCE SIZE(1..256) OF QOSCapability OPTIONAL,
- mediaChannelCapabilities SEQUENCE SIZE(1..256) OF MediaChannelCapability OPTIONAL,
- ...
-}
-
-RedundancyEncodingCapability ::=SEQUENCE
-{
- redundancyEncodingMethod RedundancyEncodingMethod,
- primaryEncoding CapabilityTableEntryNumber,
- secondaryEncoding SEQUENCE SIZE(1..256) OF CapabilityTableEntryNumber OPTIONAL,
- ...
-}
-
-RedundancyEncodingMethod ::=CHOICE
-{
- nonStandard NonStandardParameter,
- rtpAudioRedundancyEncoding NULL,
- ...,
- rtpH263VideoRedundancyEncoding RTPH263VideoRedundancyEncoding
-}
-
-RTPH263VideoRedundancyEncoding ::= SEQUENCE
-{
- numberOfThreads INTEGER (1..16),
- framesBetweenSyncPoints INTEGER (1..256),
- frameToThreadMapping CHOICE
- {
- roundrobin NULL,
- custom SEQUENCE SIZE(1..256) OF
- RTPH263VideoRedundancyFrameMapping,
--- empty SEQUENCE for capability negotiation
--- meaningful contents only OpenLogicalChannel
- ...
- },
- containedThreads SEQUENCE SIZE(1..256) OF INTEGER (0..15) OPTIONAL,
- -- only used for opening of logical channels
- ...
-}
-
-RTPH263VideoRedundancyFrameMapping ::= SEQUENCE
-{
- threadNumber INTEGER (0..15),
- frameSequence SEQUENCE SIZE(1..256) OF INTEGER (0..255),
- ...
-}
-
-MultipointCapability ::=SEQUENCE
-{
- multicastCapability BOOLEAN,
- multiUniCastConference BOOLEAN,
- mediaDistributionCapability SEQUENCE OF MediaDistributionCapability,
- ...
-}
-
-MediaDistributionCapability ::=SEQUENCE
-{
- centralizedControl BOOLEAN,
- distributedControl BOOLEAN, -- for further study in H.323
- centralizedAudio BOOLEAN,
- distributedAudio BOOLEAN,
- centralizedVideo BOOLEAN,
- distributedVideo BOOLEAN,
- centralizedData SEQUENCE OF DataApplicationCapability OPTIONAL,
- distributedData SEQUENCE OF DataApplicationCapability OPTIONAL,
- -- for further study in H.323
- ...
-}
-
-
-
--- ===================================================================================
--- Capability exchange definitions: Video capabilities
--- ===================================================================================
-
-VideoCapability ::=CHOICE
-{
- nonStandard NonStandardParameter ,
- h261VideoCapability H261VideoCapability,
- h262VideoCapability H262VideoCapability,
- h263VideoCapability H263VideoCapability,
- is11172VideoCapability IS11172VideoCapability,
- ...
-}
-
-H261VideoCapability ::=SEQUENCE
-{
- qcifMPI INTEGER (1..4) OPTIONAL, -- units 1/29.97 Hz
- cifMPI INTEGER (1..4) OPTIONAL, -- units 1/29.97 Hz
- temporalSpatialTradeOffCapability BOOLEAN,
- maxBitRate INTEGER (1..19200), -- units of 100 bit/s
- stillImageTransmission BOOLEAN, -- Annex D of H.261
- ...
-}
-
-H262VideoCapability ::=SEQUENCE
-{
- profileAndLevel-SPatML BOOLEAN,
- profileAndLevel-MPatLL BOOLEAN,
- profileAndLevel-MPatML BOOLEAN,
- profileAndLevel-MPatH-14 BOOLEAN,
- profileAndLevel-MPatHL BOOLEAN,
- profileAndLevel-SNRatLL BOOLEAN,
- profileAndLevel-SNRatML BOOLEAN,
- profileAndLevel-SpatialatH-14 BOOLEAN,
- profileAndLevel-HPatML BOOLEAN,
- profileAndLevel-HPatH-14 BOOLEAN,
- profileAndLevel-HPatHL BOOLEAN,
- videoBitRate INTEGER (0.. 1073741823) OPTIONAL, -- units 400 bit/s
- vbvBufferSize INTEGER (0.. 262143) OPTIONAL, -- units 16384 bits
- samplesPerLine INTEGER (0..16383) OPTIONAL, -- units samples/line
- linesPerFrame INTEGER (0..16383) OPTIONAL, -- units lines/frame
- framesPerSecond INTEGER (0..15) OPTIONAL, -- frame_rate_code
- luminanceSampleRate INTEGER (0..4294967295) OPTIONAL, -- units samples/sec
- ...
-}
-
-H263VideoCapability ::=SEQUENCE
-{
- sqcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- qcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cif4MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cif16MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- maxBitRate INTEGER (1..192400), -- units 100 bit/s
- unrestrictedVector BOOLEAN,
- arithmeticCoding BOOLEAN,
- advancedPrediction BOOLEAN,
- pbFrames BOOLEAN,
- temporalSpatialTradeOffCapability BOOLEAN,
- hrd-B INTEGER (0..524287) OPTIONAL, -- units 128 bits
- bppMaxKb INTEGER (0..65535) OPTIONAL, -- units 1024 bits
- ...,
-
- slowSqcifMPI INTEGER (1..3600) OPTIONAL, -- units seconds/frame
- slowQcifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCif4MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCif16MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- errorCompensation BOOLEAN,
-
- enhancementLayerInfo EnhancementLayerInfo OPTIONAL,
- h263Options H263Options OPTIONAL
-
-}
-
-EnhancementLayerInfo ::=SEQUENCE
-{
- baseBitRateConstrained BOOLEAN,
- snrEnhancement SET SIZE(1..14) OF EnhancementOptions OPTIONAL,
- spatialEnhancement SET SIZE(1..14) OF EnhancementOptions OPTIONAL,
- bPictureEnhancement SET SIZE(1..14) OF BEnhancementParameters OPTIONAL,
- ...
-}
-
-BEnhancementParameters ::=SEQUENCE
-{
- enhancementOptions EnhancementOptions,
- numberOfBPictures INTEGER (1..64),
- ...
-}
-
-EnhancementOptions ::=SEQUENCE
-{
- sqcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- qcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cif4MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- cif16MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
- maxBitRate INTEGER (1..192400), -- units 100 bit/s
- unrestrictedVector BOOLEAN,
- arithmeticCoding BOOLEAN,
- temporalSpatialTradeOffCapability BOOLEAN,
- slowSqcifMPI INTEGER (1..3600) OPTIONAL, -- units econds/frame
- slowQcifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCif4MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- slowCif16MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame
- errorCompensation BOOLEAN,
- h263Options H263Options OPTIONAL,
- ...
-}
-
-H263Options ::= SEQUENCE
-{
- advancedIntraCodingMode BOOLEAN,
- deblockingFilterMode BOOLEAN,
- improvedPBFramesMode BOOLEAN,
-
- unlimitedMotionVectors BOOLEAN,
-
- fullPictureFreeze BOOLEAN,
- partialPictureFreezeAndRelease BOOLEAN,
- resizingPartPicFreezeAndRelease BOOLEAN,
- fullPictureSnapshot BOOLEAN,
- partialPictureSnapshot BOOLEAN,
- videoSegmentTagging BOOLEAN,
- progressiveRefinement BOOLEAN,
-
- dynamicPictureResizingByFour BOOLEAN,
- dynamicPictureResizingSixteenthPel BOOLEAN,
- dynamicWarpingHalfPel BOOLEAN,
- dynamicWarpingSixteenthPel BOOLEAN,
-
- independentSegmentDecoding BOOLEAN,
-
- slicesInOrder-NonRect BOOLEAN,
- slicesInOrder-Rect BOOLEAN,
- slicesNoOrder-NonRect BOOLEAN,
- slicesNoOrder-Rect BOOLEAN,
-
- alternateInterVLCMode BOOLEAN,
- modifiedQuantizationMode BOOLEAN,
- reducedResolutionUpdate BOOLEAN,
-
- transparencyParameters TransparencyParameters OPTIONAL,
- separateVideoBackChannel BOOLEAN,
- refPictureSelection RefPictureSelection OPTIONAL,
- customPictureClockFrequency SET SIZE (1..16) OF CustomPictureClockFrequency OPTIONAL,
- customPictureFormat SET SIZE (1..16) OF CustomPictureFormat OPTIONAL,
- modeCombos SET SIZE (1..16) OF H263VideoModeCombos OPTIONAL,
- ...
-}
-
-TransparencyParameters ::= SEQUENCE
-{
- presentationOrder INTEGER(1..256),
- offset-x INTEGER(-262144..262143), -- 1/8 pixels
- offset-y INTEGER(-262144..262143), -- 1/8 pixels
- scale-x INTEGER(1..255),
- scale-y INTEGER(1..255),
- ...
-}
-
-RefPictureSelection ::=SEQUENCE
-{
- additionalPictureMemory SEQUENCE
- {
- sqcifAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- qcifAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- cifAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- cif4AdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- cif16AdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- bigCpfAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame
- ...
- } OPTIONAL,
- videoMux BOOLEAN,
- videoBackChannelSend CHOICE
- {
- none NULL,
- ackMessageOnly NULL,
- nackMessageOnly NULL,
- ackOrNackMessageOnly NULL,
- ackAndNackMessage NULL,
- ...
- },
- ...
-}
-
-CustomPictureClockFrequency ::=SEQUENCE
-{
- clockConversionCode INTEGER(1000..1001),
- clockDivisor INTEGER(1..127),
- sqcifMPI INTEGER (1..2048) OPTIONAL,
- qcifMPI INTEGER (1..2048) OPTIONAL,
- cifMPI INTEGER (1..2048) OPTIONAL,
- cif4MPI INTEGER (1..2048) OPTIONAL,
- cif16MPI INTEGER (1..2048) OPTIONAL,
- ...
-}
-
-CustomPictureFormat ::=SEQUENCE
-{
- maxCustomPictureWidth INTEGER(1..2048), -- units 4 pixels
- maxCustomPictureHeight INTEGER(1..2048), -- units 4 pixels
- minCustomPictureWidth INTEGER(1..2048), -- units 4 pixels
- minCustomPictureHeight INTEGER(1..2048), -- units 4 pixels
- mPI SEQUENCE
- {
- standardMPI INTEGER (1..31) OPTIONAL,
- customPCF SET SIZE (1..16) OF SEQUENCE
- {
- clockConversionCode INTEGER (1000..1001),
- clockDivisor INTEGER (1..127),
- customMPI INTEGER (1..2048),
- ...
- } OPTIONAL,
- ...
- },
-
- pixelAspectInformation CHOICE
- {
- anyPixelAspectRatio BOOLEAN,
- pixelAspectCode SET SIZE (1..14) OF INTEGER(1..14),
- extendedPAR SET SIZE (1..256) OF SEQUENCE
- {
- width INTEGER(1..255),
- height INTEGER(1..255),
- ...
- },
- ...
- } ,
- ...
-}
-
-H263VideoModeCombos ::= SEQUENCE
-{
- h263VideoUncoupledModes H263ModeComboFlags,
- h263VideoCoupledModes SET SIZE (1..16) OF H263ModeComboFlags,
- ...
-}
-
-H263ModeComboFlags ::= SEQUENCE
-{
- unrestrictedVector BOOLEAN,
- arithmeticCoding BOOLEAN,
- advancedPrediction BOOLEAN,
- pbFrames BOOLEAN,
- advancedIntraCodingMode BOOLEAN,
- deblockingFilterMode BOOLEAN,
- unlimitedMotionVectors BOOLEAN,
- slicesInOrder-NonRect BOOLEAN,
- slicesInOrder-Rect BOOLEAN,
- slicesNoOrder-NonRect BOOLEAN,
- slicesNoOrder-Rect BOOLEAN,
- improvedPBFramesMode BOOLEAN,
- referencePicSelect BOOLEAN,
- dynamicPictureResizingByFour BOOLEAN,
- dynamicPictureResizingSixteenthPel BOOLEAN,
- dynamicWarpingHalfPel BOOLEAN,
- dynamicWarpingSixteenthPel BOOLEAN,
- reducedResolutionUpdate BOOLEAN,
- independentSegmentDecoding BOOLEAN,
- alternateInterVLCMode BOOLEAN,
- modifiedQuantizationMode BOOLEAN,
- ...
-}
-
-IS11172VideoCapability ::=SEQUENCE
-{
- constrainedBitstream BOOLEAN,
- videoBitRate INTEGER (0.. 1073741823) OPTIONAL, -- units 400 bit/s
- vbvBufferSize INTEGER (0.. 262143) OPTIONAL, -- units 16384 bits
- samplesPerLine INTEGER (0..16383) OPTIONAL, -- units samples/line
- linesPerFrame INTEGER (0..16383) OPTIONAL, -- units lines/frame
- pictureRate INTEGER (0..15) OPTIONAL,
- luminanceSampleRate INTEGER (0..4294967295) OPTIONAL, -- units samples/sec
- ...
-}
-
--- ===================================================================================
--- Capability exchange definitions: Audio capabilities
--- ===================================================================================
-
--- For an H.222 multiplex, the integers indicate the size of the STD buffer in units of 256 octets
--- For an H.223 multiplex, the integers indicate the maximum number of audio frames per AL-SDU
--- For an H.225.0 multiplex, the integers indicate the maximum number of audio frames per packet
-
-AudioCapability ::=CHOICE
-{
- nonStandard NonStandardParameter,
- g711Alaw64k INTEGER (1..256),
- g711Alaw56k INTEGER (1..256),
- g711Ulaw64k INTEGER (1..256),
- g711Ulaw56k INTEGER (1..256),
-
- g722-64k INTEGER (1..256),
- g722-56k INTEGER (1..256),
- g722-48k INTEGER (1..256),
-
- g7231 SEQUENCE
- {
- maxAl-sduAudioFrames INTEGER (1..256),
- silenceSuppression BOOLEAN
- },
-
- g728 INTEGER (1..256),
- g729 INTEGER (1..256),
- g729AnnexA INTEGER (1..256),
- is11172AudioCapability IS11172AudioCapability,
- is13818AudioCapability IS13818AudioCapability,
- ...,
- g729wAnnexB INTEGER(1..256),
- g729AnnexAwAnnexB INTEGER(1..256),
- g7231AnnexCCapability G7231AnnexCCapability,
- gsmFullRate GSMAudioCapability,
- gsmHalfRate GSMAudioCapability,
- gsmEnhancedFullRate GSMAudioCapability
-}
-
-G7231AnnexCCapability ::= SEQUENCE
-{
- maxAl-sduAudioFrames INTEGER (1..256),
- silenceSuppression BOOLEAN,
- g723AnnexCAudioMode SEQUENCE
- {
- highRateMode0 INTEGER (27..78), -- units octets
- highRateMode1 INTEGER (27..78), -- units octets
- lowRateMode0 INTEGER (23..66), -- units octets
- lowRateMode1 INTEGER (23..66), -- units octets
- sidMode0 INTEGER (6..17), -- units octets
- sidMode1 INTEGER (6..17), -- units octets
- ...
- } OPTIONAL,
- ...
-}
-
-IS11172AudioCapability ::=SEQUENCE
-{
- audioLayer1 BOOLEAN,
- audioLayer2 BOOLEAN,
- audioLayer3 BOOLEAN,
-
- audioSampling32k BOOLEAN,
- audioSampling44k1 BOOLEAN,
- audioSampling48k BOOLEAN,
-
- singleChannel BOOLEAN,
- twoChannels BOOLEAN,
-
- bitRate INTEGER (1..448), -- units kbit/s
- ...
-}
-
-IS13818AudioCapability ::=SEQUENCE
-{
- audioLayer1 BOOLEAN,
- audioLayer2 BOOLEAN,
- audioLayer3 BOOLEAN,
-
- audioSampling16k BOOLEAN,
- audioSampling22k05 BOOLEAN,
- audioSampling24k BOOLEAN,
- audioSampling32k BOOLEAN,
- audioSampling44k1 BOOLEAN,
- audioSampling48k BOOLEAN,
-
- singleChannel BOOLEAN,
- twoChannels BOOLEAN,
- threeChannels2-1 BOOLEAN,
- threeChannels3-0 BOOLEAN,
- fourChannels2-0-2-0 BOOLEAN,
- fourChannels2-2 BOOLEAN,
- fourChannels3-1 BOOLEAN,
- fiveChannels3-0-2-0 BOOLEAN,
- fiveChannels3-2 BOOLEAN,
-
- lowFrequencyEnhancement BOOLEAN,
-
- multilingual BOOLEAN,
-
- bitRate INTEGER (1..1130), -- units kbit/s
- ...
-}
-
-GSMAudioCapability ::= SEQUENCE
-{
- audioUnitSize INTEGER (1..256),
- comfortNoise BOOLEAN,
- scrambled BOOLEAN,
- ...
-}
-
--- ===================================================================================
--- Capability exchange definitions: Data capabilities
--- ===================================================================================
-
-DataApplicationCapability ::=SEQUENCE
-{
- application CHOICE
- {
- nonStandard NonStandardParameter,
- t120 DataProtocolCapability,
- dsm-cc DataProtocolCapability,
- userData DataProtocolCapability,
- t84 SEQUENCE
- {
- t84Protocol DataProtocolCapability,
- t84Profile T84Profile
- },
- t434 DataProtocolCapability,
- h224 DataProtocolCapability,
- nlpid SEQUENCE
- {
- nlpidProtocol DataProtocolCapability,
- nlpidData OCTET STRING
- },
- dsvdControl NULL,
- h222DataPartitioning DataProtocolCapability,
- ...,
- t30fax DataProtocolCapability,
- t140 DataProtocolCapability
- },
- maxBitRate INTEGER (0..4294967295), -- units 100 bit/s
- ...
-}
-
-DataProtocolCapability ::=CHOICE
-{
- nonStandard NonStandardParameter,
- v14buffered NULL,
- v42lapm NULL, -- may negotiate to V.42bis
- hdlcFrameTunnelling NULL,
- h310SeparateVCStack NULL,
- h310SingleVCStack NULL,
- transparent NULL,
- ...,
- segmentationAndReassembly NULL,
- hdlcFrameTunnelingwSAR NULL,
- v120 NULL, -- as in H.230
- separateLANStack NULL,
- v76wCompression CHOICE
- {
- transmitCompression CompressionType,
- receiveCompression CompressionType,
- transmitAndReceiveCompression CompressionType,
- ...
- }
-}
-
-CompressionType ::=CHOICE
-{
- v42bis V42bis,
- ...
-}
-
-V42bis ::=SEQUENCE
-{
- numberOfCodewords INTEGER (1..65536),
- maximumStringLength INTEGER (1..256),
- ...
-}
-
-T84Profile ::=CHOICE
-{
- t84Unrestricted NULL,
- t84Restricted SEQUENCE
- {
- qcif BOOLEAN,
- cif BOOLEAN,
- ccir601Seq BOOLEAN,
- ccir601Prog BOOLEAN,
- hdtvSeq BOOLEAN,
- hdtvProg BOOLEAN,
-
- g3FacsMH200x100 BOOLEAN,
- g3FacsMH200x200 BOOLEAN,
- g4FacsMMR200x100 BOOLEAN,
- g4FacsMMR200x200 BOOLEAN,
- jbig200x200Seq BOOLEAN,
- jbig200x200Prog BOOLEAN,
- jbig300x300Seq BOOLEAN,
- jbig300x300Prog BOOLEAN,
-
- digPhotoLow BOOLEAN,
- digPhotoMedSeq BOOLEAN,
- digPhotoMedProg BOOLEAN,
- digPhotoHighSeq BOOLEAN,
- digPhotoHighProg BOOLEAN,
-
- ...
- }
-}
-
--- ===================================================================================
--- Encryption Capability Definitions:
--- ===================================================================================
-
-EncryptionAuthenticationAndIntegrity ::=SEQUENCE
-{
- encryptionCapability EncryptionCapability OPTIONAL,
- authenticationCapability AuthenticationCapability OPTIONAL,
- integrityCapability IntegrityCapability OPTIONAL,
- ...
-}
-
-EncryptionCapability ::=SEQUENCE SIZE(1..256) OF MediaEncryptionAlgorithm
-
-MediaEncryptionAlgorithm ::=CHOICE
-{
- nonStandard NonStandardParameter,
- algorithm OBJECT IDENTIFIER, -- many defined in ISO/IEC 9979
- ...
-}
-
-AuthenticationCapability ::=SEQUENCE
-{
- nonStandard NonStandardParameter OPTIONAL,
- ...
-}
-
-IntegrityCapability ::=SEQUENCE
-{
- nonStandard NonStandardParameter OPTIONAL,
- ...
-}
-
--- ================================================================================
--- Capability Exchange Definitions: UserInput
--- ================================================================================
-
-UserInputCapability ::= CHOICE
-{
- nonStandard SEQUENCE SIZE(1..16) OF NonStandardParameter,
- basicString NULL, -- alphanumeric
- iA5String NULL, -- alphanumeric
- generalString NULL, -- alphanumeric
- dtmf NULL, -- supports dtmf using signal and signalUpdate
- hookflash NULL, -- supports hookflash using signal
- ...
-}
-
--- ===================================================================================
--- Capability Exchange Definitions: Conference
--- ===================================================================================
-
-ConferenceCapability ::=SEQUENCE
-{
- nonStandardData SEQUENCE OF NonStandardParameter OPTIONAL,
- chairControlCapability BOOLEAN,
- ...
-}
- -- ===================================================================================
--- Logical channel signalling definitions
--- ===================================================================================
-
--- "Forward" is used to refer to transmission in the direction from the terminal making the
--- original request for a logical channel to the other terminal, and "reverse" is used to refer
--- to the opposite direction of transmission, in the case of a bi-directional channel request.
-
-OpenLogicalChannel ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
-
- forwardLogicalChannelParameters SEQUENCE
- {
- portNumber INTEGER (0..65535) OPTIONAL,
- dataType DataType,
- multiplexParameters CHOICE
- {
- h222LogicalChannelParameters H222LogicalChannelParameters,
- h223LogicalChannelParameters H223LogicalChannelParameters,
- v76LogicalChannelParameters V76LogicalChannelParameters,
- ...,
- h2250LogicalChannelParameters H2250LogicalChannelParameters,
- none NULL -- for use with Separate Stack when
- -- multiplexParameters are not required
- -- or appropriate
-
- },
- ...,
- forwardLogicalChannelDependency LogicalChannelNumber OPTIONAL,
- -- also used to refer to the primary logical channel when using video redundancy coding
- replacementFor LogicalChannelNumber OPTIONAL
-
- },
-
- -- Used to specify the reverse channel for bi-directional open request
-
- reverseLogicalChannelParameters SEQUENCE
- {
- dataType DataType,
- multiplexParameters CHOICE
- {
- -- H.222 parameters are never present in reverse direction
- h223LogicalChannelParameters H223LogicalChannelParameters,
- v76LogicalChannelParameters V76LogicalChannelParameters,
- ...,
- h2250LogicalChannelParameters H2250LogicalChannelParameters
-
- } OPTIONAL, -- Not present for H.222
- ...,
- reverseLogicalChannelDependency LogicalChannelNumber OPTIONAL,
- -- also used to refer to the primary logical channel when using video redundancy coding
- replacementFor LogicalChannelNumber OPTIONAL
-
- } OPTIONAL, -- Not present for uni-directional channel request
- ...,
- separateStack NetworkAccessParameters OPTIONAL,
- -- for Open responder to establish the stack
- encryptionSync EncryptionSync OPTIONAL -- used only by Master
-
-
-}
-
-LogicalChannelNumber ::=INTEGER (1..65535)
-
-NetworkAccessParameters ::=SEQUENCE
-{
- distribution CHOICE
- {
- unicast NULL,
- multicast NULL, -- For Further Study in T.120
- ...
- } OPTIONAL,
-
- networkAddress CHOICE
- {
- q2931Address Q2931Address,
- e164Address IA5String(SIZE(1..128)) (FROM ("0123456789#*,")),
- localAreaAddress TransportAddress,
- ...
- },
- associateConference BOOLEAN,
- externalReference OCTET STRING(SIZE(1..255)) OPTIONAL,
- ...,
- t120SetupProcedure CHOICE
- {
-
- originateCall NULL,
- waitForCall NULL,
- issueQuery NULL,
- ...
- } OPTIONAL
-}
-
-Q2931Address ::=SEQUENCE
-{
- address CHOICE
- {
- internationalNumber NumericString(SIZE(1..16)),
- nsapAddress OCTET STRING (SIZE(1..20)),
- ...
- },
- subaddress OCTET STRING (SIZE(1..20)) OPTIONAL,
- ...
-}
-
-V75Parameters ::= SEQUENCE
-{
- audioHeaderPresent BOOLEAN,
- ...
-}
-
-
-DataType ::=CHOICE
-{
- nonStandard NonStandardParameter,
- nullData NULL,
- videoData VideoCapability,
- audioData AudioCapability,
- data DataApplicationCapability,
- encryptionData EncryptionMode,
- ...,
- h235Control NonStandardParameter,
- h235Media H235Media
-}
-
-H235Media ::=SEQUENCE
-{
- encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity,
-
- mediaType CHOICE
- {
- nonStandard NonStandardParameter,
- videoData VideoCapability,
- audioData AudioCapability,
- data DataApplicationCapability,
- ...
- },
-
- ...
-}
-
-H222LogicalChannelParameters ::=SEQUENCE
-{
- resourceID INTEGER (0..65535),
- subChannelID INTEGER (0..8191),
- pcr-pid INTEGER (0..8191) OPTIONAL,
- programDescriptors OCTET STRING OPTIONAL,
- streamDescriptors OCTET STRING OPTIONAL,
- ...
-}
-
-H223LogicalChannelParameters ::=SEQUENCE
-{
- adaptationLayerType CHOICE
- {
- nonStandard NonStandardParameter,
- al1Framed NULL,
- al1NotFramed NULL,
- al2WithoutSequenceNumbers NULL,
- al2WithSequenceNumbers NULL,
- al3 SEQUENCE
- {
- controlFieldOctets INTEGER (0..2),
- sendBufferSize INTEGER (0..16777215) -- units octets
- },
- ...,
- al1M H223AL1MParameters,
- al2M H223AL2MParameters,
- al3M H223AL3MParameters
- },
-
- segmentableFlag BOOLEAN,
- ...
-}
-
-H223AL1MParameters ::=SEQUENCE
-{
- transferMode CHOICE
- {
- framed NULL,
- unframed NULL,
- ...
- },
- headerFEC CHOICE
- {
- sebch16-7 NULL,
- golay24-12 NULL,
- ...
- },
- crcLength CHOICE
- {
- crc4bit NULL,
- crc12bit NULL,
- crc20bit NULL,
- crc28bit NULL,
- ...
- },
-
- rcpcCodeRate INTEGER (8..32),
-
- arqType CHOICE
- {
- noArq NULL,
- typeIArq H223AnnexCArqParameters,
- typeIIArq H223AnnexCArqParameters,
- ...
- },
- alpduInterleaving BOOLEAN,
- alsduSplitting BOOLEAN,
- ...
-}
-
-H223AL2MParameters ::=SEQUENCE
-{
- headerFEC CHOICE
- {
- sebch16-5 NULL,
- golay24-12 NULL,
- ...
- },
- alpduInterleaving BOOLEAN,
- ...
-}
-
-H223AL3MParameters ::=SEQUENCE
-{
- headerFormat CHOICE
- {
- sebch16-7 NULL,
- golay24-12 NULL,
- ...
- },
- crcLength CHOICE
- {
- crc4bit NULL,
- crc12bit NULL,
- crc20bit NULL,
- crc28bit NULL,
- ...
- },
-
- rcpcCodeRate INTEGER (8..32),
-
- arqType CHOICE
- {
- noArq NULL,
- typeIArq H223AnnexCArqParameters,
- typeIIArq H223AnnexCArqParameters,
- ...
- },
-
- alpduInterleaving BOOLEAN,
- ...
-}
-
-
-H223AnnexCArqParameters ::=SEQUENCE
-{
- numberOfRetransmissions CHOICE
- {
- finite INTEGER (0..16),
- infinite NULL,
- ...
- },
- sendBufferSize INTEGER (0..16777215), -- units octets
- ...
-}
-
-V76LogicalChannelParameters ::=SEQUENCE
-{
- hdlcParameters V76HDLCParameters,
- suspendResume CHOICE
- {
- noSuspendResume NULL,
- suspendResumewAddress NULL,
- suspendResumewoAddress NULL,
- ...
- },
- uIH BOOLEAN,
- mode CHOICE
- {
- eRM SEQUENCE
- {
- windowSize INTEGER (1..127) ,
- recovery CHOICE
- {
- rej NULL,
- sREJ NULL,
- mSREJ NULL,
- ...
- },
- ...
- },
- uNERM NULL,
- ...
- },
- v75Parameters V75Parameters,
- ...
-}
-
-
-
-V76HDLCParameters ::=SEQUENCE
-{
- crcLength CRCLength,
- n401 INTEGER (1..4095),
- loopbackTestProcedure BOOLEAN,
- ...
-}
-
-
-CRCLength ::=CHOICE
-{
- crc8bit NULL,
- crc16bit NULL,
- crc32bit NULL,
- ...
-}
-
-H2250LogicalChannelParameters ::=SEQUENCE
-{
- nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
- sessionID INTEGER(0..255),
- associatedSessionID INTEGER(1..255) OPTIONAL,
- mediaChannel TransportAddress OPTIONAL,
- mediaGuaranteedDelivery BOOLEAN OPTIONAL,
- mediaControlChannel TransportAddress OPTIONAL, -- reverse RTCP channel
- mediaControlGuaranteedDelivery BOOLEAN OPTIONAL,
- silenceSuppression BOOLEAN OPTIONAL,
- destination TerminalLabel OPTIONAL,
-
- dynamicRTPPayloadType INTEGER(96..127) OPTIONAL,
- mediaPacketization CHOICE
- {
- h261aVideoPacketization NULL,
- ...,
- rtpPayloadType RTPPayloadType
- } OPTIONAL,
- ...,
- transportCapability TransportCapability OPTIONAL,
- redundancyEncoding RedundancyEncoding OPTIONAL,
- source TerminalLabel OPTIONAL
-}
-
-RTPPayloadType ::= SEQUENCE
-{
- payloadDescriptor CHOICE
- {
- nonStandardIdentifier NonStandardParameter,
- rfc-number INTEGER (1..32768, ...),
- oid OBJECT IDENTIFIER,
- ...
- },
- payloadType INTEGER (0..127) OPTIONAL,
- ...
-}
-
-RedundancyEncoding ::=SEQUENCE
-{
- redundancyEncodingMethod RedundancyEncodingMethod,
- secondaryEncoding DataType OPTIONAL, -- depends on method
- ...
-}
-
-TransportAddress ::=CHOICE
-{
- unicastAddress UnicastAddress,
- multicastAddress MulticastAddress,
- ...
-}
-
-UnicastAddress ::=CHOICE
-{
- iPAddress SEQUENCE
- {
- network OCTET STRING (SIZE(4)),
- tsapIdentifier INTEGER(0..65535),
- ...
- },
- iPXAddress SEQUENCE
- {
- node OCTET STRING (SIZE(6)),
- netnum OCTET STRING (SIZE(4)),
- tsapIdentifier OCTET STRING (SIZE(2)),
- ...
- },
- iP6Address SEQUENCE
- {
- network OCTET STRING (SIZE(16)),
- tsapIdentifier INTEGER(0..65535),
- ...
- },
- netBios OCTET STRING (SIZE(16)),
- iPSourceRouteAddress SEQUENCE
- {
- routing CHOICE
- {
- strict NULL,
- loose NULL
- },
- network OCTET STRING (SIZE(4)),
- tsapIdentifier INTEGER(0..65535),
- route SEQUENCE OF OCTET STRING (SIZE(4)),
- ...
- },
- ...,
- nsap OCTET STRING (SIZE(1..20)),
- nonStandardAddress NonStandardParameter
-}
-
-MulticastAddress ::=CHOICE
-{
- iPAddress SEQUENCE
- {
- network OCTET STRING (SIZE(4)),
- tsapIdentifier INTEGER(0..65535),
- ...
- },
- iP6Address SEQUENCE
- {
- network OCTET STRING (SIZE(16)),
- tsapIdentifier INTEGER(0..65535),
- ...
- },
- ...,
- nsap OCTET STRING (SIZE(1..20)),
- nonStandardAddress NonStandardParameter
-}
-
-EncryptionSync ::=SEQUENCE
- -- used to supply new key and synchronization point
-{
- nonStandard NonStandardParameter OPTIONAL,
- synchFlag INTEGER(0..255) , -- may need to be larger for H.324, etc
- -- shall be the Dynamic Payload# for H.323
- h235Key OCTET STRING (SIZE(1..65535)), -- H.235 encoded value
- escrowentry SEQUENCE SIZE(1..256) OF EscrowData OPTIONAL,
- ...
-}
-
-EscrowData ::=SEQUENCE
-{
- escrowID OBJECT IDENTIFIER,
- escrowValue BIT STRING (SIZE(1..65535)),
- ...
-}
-
-OpenLogicalChannelAck ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
-
- reverseLogicalChannelParameters SEQUENCE
- {
- reverseLogicalChannelNumber LogicalChannelNumber,
- portNumber INTEGER (0..65535) OPTIONAL,
- multiplexParameters CHOICE
- {
- h222LogicalChannelParameters H222LogicalChannelParameters,
- -- H.223 parameters are never present in reverse direction
- ...,
- h2250LogicalChannelParameters H2250LogicalChannelParameters
-
- } OPTIONAL, -- Not present for H.223
- ...,
- replacementFor LogicalChannelNumber OPTIONAL
-
- } OPTIONAL, -- Not present for uni-directional channel request
- ...,
- separateStack NetworkAccessParameters OPTIONAL,
- -- for Open requester to establish the stack
- forwardMultiplexAckParameters CHOICE
- {
- -- H.222 parameters are never present in the Ack
- -- H.223 parameters are never present in the Ack
- --V.76 parameters are never present in the Ack
- h2250LogicalChannelAckParameters H2250LogicalChannelAckParameters,
- ...
- } OPTIONAL,
- encryptionSync EncryptionSync OPTIONAL -- used only by Master
-}
-
-OpenLogicalChannelReject ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- cause CHOICE
- {
- unspecified NULL,
- unsuitableReverseParameters NULL,
- dataTypeNotSupported NULL,
- dataTypeNotAvailable NULL,
- unknownDataType NULL,
- dataTypeALCombinationNotSupported NULL,
- ...,
- multicastChannelNotAllowed NULL,
- insufficientBandwidth NULL,
- separateStackEstablishmentFailed NULL,
- invalidSessionID NULL,
- masterSlaveConflict NULL,
- waitForCommunicationMode NULL,
- invalidDependentChannel NULL,
- replacementForRejected NULL
- },
- ...
-}
-
-OpenLogicalChannelConfirm ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- ...
-}
-
-H2250LogicalChannelAckParameters ::=SEQUENCE
-{
- nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
- sessionID INTEGER(1..255) OPTIONAL,
- mediaChannel TransportAddress OPTIONAL,
- mediaControlChannel TransportAddress OPTIONAL, -- forward RTCP channel
- dynamicRTPPayloadType INTEGER(96..127) OPTIONAL, -- used only by the master or MC
- ...,
- flowControlToZero BOOLEAN
-}
-
-
-
-CloseLogicalChannel ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- source CHOICE
- {
- user NULL,
- lcse NULL
- },
- ...,
- reason CHOICE
- {
- unknown NULL,
- reopen NULL,
- reservationFailure NULL,
- ...
- }
-}
-
-CloseLogicalChannelAck ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- ...
-}
-
-RequestChannelClose ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- ...,
- qosCapability QOSCapability OPTIONAL,
- reason CHOICE
- {
- unknown NULL,
- normal NULL,
- reopen NULL,
- reservationFailure NULL,
- ...
- }
-}
-
-RequestChannelCloseAck ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- ...
-}
-
-RequestChannelCloseReject ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- cause CHOICE
- {
- unspecified NULL,
- ...
- },
- ...
-}
-
-RequestChannelCloseRelease ::=SEQUENCE
-{
- forwardLogicalChannelNumber LogicalChannelNumber,
- ...
-}
-
- -- ===================================================================================
--- H.223 multiplex table definitions
--- ===================================================================================
-
-MultiplexEntrySend ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- multiplexEntryDescriptors SET SIZE (1..15) OF MultiplexEntryDescriptor,
- ...
-}
-
-MultiplexEntryDescriptor ::=SEQUENCE
-{
- multiplexTableEntryNumber MultiplexTableEntryNumber,
- elementList SEQUENCE SIZE (1..256) OF MultiplexElement OPTIONAL
-}
-
-MultiplexElement ::=SEQUENCE
-{
- type CHOICE
- {
- logicalChannelNumber INTEGER(0..65535),
- subElementList SEQUENCE SIZE (2..255) OF MultiplexElement
- },
- repeatCount CHOICE
- {
- finite INTEGER (1..65535), -- repeats of type
- untilClosingFlag NULL -- used for last element
- }
-}
-
-MultiplexTableEntryNumber ::=INTEGER (1..15)
-
-MultiplexEntrySendAck ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- multiplexTableEntryNumber SET SIZE (1..15) OF MultiplexTableEntryNumber,
- ...
-}
-
-MultiplexEntrySendReject ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- rejectionDescriptions SET SIZE (1..15) OF MultiplexEntryRejectionDescriptions,
- ...
-}
-
-MultiplexEntryRejectionDescriptions ::=SEQUENCE
-{
- multiplexTableEntryNumber MultiplexTableEntryNumber,
- cause CHOICE
- {
- unspecifiedCause NULL,
- descriptorTooComplex NULL,
- ...
- },
- ...
-}
-
-MultiplexEntrySendRelease ::=SEQUENCE
-{
- multiplexTableEntryNumber SET SIZE (1..15) OF MultiplexTableEntryNumber,
- ...
-}
-
-RequestMultiplexEntry ::=SEQUENCE
-{
- entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
- ...
-}
-
-RequestMultiplexEntryAck ::=SEQUENCE
-{
- entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
- ...
-}
-
-RequestMultiplexEntryReject ::=SEQUENCE
-{
- entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
- rejectionDescriptions SET SIZE (1..15) OF RequestMultiplexEntryRejectionDescriptions,
- ...
-}
-
-RequestMultiplexEntryRejectionDescriptions ::=SEQUENCE
-{
- multiplexTableEntryNumber MultiplexTableEntryNumber,
- cause CHOICE
- {
- unspecifiedCause NULL,
- ...
- },
- ...
-}
-
-RequestMultiplexEntryRelease ::=SEQUENCE
-{
- entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber,
- ...
-}
-
- -- ===================================================================================
--- Request mode definitions
--- ===================================================================================
-
--- RequestMode is a list, in order or preference, of modes that a terminal would like
--- to have transmitted to it.
-
-RequestMode ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- requestedModes SEQUENCE SIZE (1..256) OF ModeDescription,
- ...
-}
-
-RequestModeAck ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- response CHOICE
- {
- willTransmitMostPreferredMode NULL,
- willTransmitLessPreferredMode NULL,
- ...
- },
- ...
-}
-
-RequestModeReject ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- cause CHOICE
- {
- modeUnavailable NULL,
- multipointConstraint NULL,
- requestDenied NULL,
- ...
- },
- ...
-}
-
-RequestModeRelease ::=SEQUENCE
-{
- ...
-}
-
--- ===================================================================================
--- Request mode definitions: Mode description
--- ===================================================================================
-
-ModeDescription ::=SET SIZE (1..256) OF ModeElement
-
-ModeElement ::= SEQUENCE
-{
- type CHOICE
- {
- nonStandard NonStandardParameter,
- videoMode VideoMode,
- audioMode AudioMode,
- dataMode DataMode,
- encryptionMode EncryptionMode,
- ...,
- h235Mode H235Mode
- },
-
- h223ModeParameters H223ModeParameters OPTIONAL,
- ...,
- v76ModeParameters V76ModeParameters OPTIONAL,
- h2250ModeParameters H2250ModeParameters OPTIONAL
-
-
-}
-
-H235Mode ::=SEQUENCE
-{
- encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity,
-
- mediaMode CHOICE
- {
- nonStandard NonStandardParameter,
- videoMode VideoMode,
- audioMode AudioMode,
- dataMode DataMode,
- ...
- },
- ...
-}
-
-H223ModeParameters ::=SEQUENCE
-{
- adaptationLayerType CHOICE
- {
- nonStandard NonStandardParameter,
- al1Framed NULL,
- al1NotFramed NULL,
- al2WithoutSequenceNumbers NULL,
- al2WithSequenceNumbers NULL,
- al3 SEQUENCE
- {
- controlFieldOctets INTEGER(0..2),
- sendBufferSize INTEGER(0..16777215) -- units octets
- },
- ...,
- al1M H223AL1MParameters,
- al2M H223AL2MParameters,
- al3M H223AL3MParameters
-
- },
-
- segmentableFlag BOOLEAN,
- ...
-}
-
-V76ModeParameters ::=CHOICE
-{
- suspendResumewAddress NULL,
- suspendResumewoAddress NULL,
- ...
-}
-
-H2250ModeParameters ::=SEQUENCE
-{
- redundancyEncodingMode RedundancyEncodingMode OPTIONAL,
- ...
-}
-
-RedundancyEncodingMode ::=SEQUENCE
-{
- redundancyEncodingMethod RedundancyEncodingMethod,
- secondaryEncoding CHOICE
- {
- nonStandard NonStandardParameter,
- audioData AudioMode,
- ...
- } OPTIONAL,
- ...
-}
-
--- ===================================================================================
--- Request mode definitions: Video modes
--- ===================================================================================
-
-VideoMode ::=CHOICE
-{
- nonStandard NonStandardParameter,
- h261VideoMode H261VideoMode,
- h262VideoMode H262VideoMode,
- h263VideoMode H263VideoMode,
- is11172VideoMode IS11172VideoMode,
- ...
-}
-
-H261VideoMode ::=SEQUENCE
-{
- resolution CHOICE
- {
- qcif NULL,
- cif NULL
- },
- bitRate INTEGER (1..19200), -- units 100 bit/s
- stillImageTransmission BOOLEAN,
- ...
-}
-
-H262VideoMode ::=SEQUENCE
-{
- profileAndLevel CHOICE
- {
- profileAndLevel-SPatML NULL,
- profileAndLevel-MPatLL NULL,
- profileAndLevel-MPatML NULL,
- profileAndLevel-MPatH-14 NULL,
- profileAndLevel-MPatHL NULL,
- profileAndLevel-SNRatLL NULL,
- profileAndLevel-SNRatML NULL,
- profileAndLevel-SpatialatH-14 NULL,
- profileAndLevel-HPatML NULL,
- profileAndLevel-HPatH-14 NULL,
- profileAndLevel-HPatHL NULL,
- ...
- },
- videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400bit/s
- vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384bits
- samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line
- linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame
- framesPerSecond INTEGER(0..15) OPTIONAL, -- frame_rate_code
- luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec
- ...
-}
-
-H263VideoMode ::=SEQUENCE
-{
- resolution CHOICE
- {
- sqcif NULL,
- qcif NULL,
- cif NULL,
- cif4 NULL,
- cif16 NULL,
- ...
- },
- bitRate INTEGER (1..19200), -- units 100 bit/s
- unrestrictedVector BOOLEAN,
- arithmeticCoding BOOLEAN,
- advancedPrediction BOOLEAN,
- pbFrames BOOLEAN,
- ...,
-
- errorCompensation BOOLEAN,
- enhancementLayerInfo EnhancementLayerInfo OPTIONAL,
- h263Options H263Options OPTIONAL
-}
-
-IS11172VideoMode ::=SEQUENCE
-{
- constrainedBitstream BOOLEAN,
- videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400bit/s
- vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384bits
- samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line
- linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame
- pictureRate INTEGER(0..15) OPTIONAL,
- luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec
- ...
-}
-
--- ===================================================================================
--- Request mode definitions: Audio modes
--- ===================================================================================
-
-AudioMode ::=CHOICE
-{
- nonStandard NonStandardParameter,
- g711Alaw64k NULL,
- g711Alaw56k NULL,
- g711Ulaw64k NULL,
- g711Ulaw56k NULL,
-
- g722-64k NULL,
- g722-56k NULL,
- g722-48k NULL,
-
- g728 NULL,
- g729 NULL,
- g729AnnexA NULL,
-
- g7231 CHOICE
- {
- noSilenceSuppressionLowRate NULL,
- noSilenceSuppressionHighRate NULL,
- silenceSuppressionLowRate NULL,
- silenceSuppressionHighRate NULL
- },
-
- is11172AudioMode IS11172AudioMode,
- is13818AudioMode IS13818AudioMode,
-
- ...,
- g729wAnnexB INTEGER(1..256),
- g729AnnexAwAnnexB INTEGER(1..256),
- g7231AnnexCMode G7231AnnexCMode,
- gsmFullRate GSMAudioCapability,
- gsmHalfRate GSMAudioCapability,
- gsmEnhancedFullRate GSMAudioCapability
-
-}
-
-IS11172AudioMode ::=SEQUENCE
-{
- audioLayer CHOICE
- {
- audioLayer1 NULL,
- audioLayer2 NULL,
- audioLayer3 NULL
- },
-
- audioSampling CHOICE
- {
- audioSampling32k NULL,
- audioSampling44k1 NULL,
- audioSampling48k NULL
- },
-
- multichannelType CHOICE
- {
- singleChannel NULL,
- twoChannelStereo NULL,
- twoChannelDual NULL
- },
-
- bitRate INTEGER (1..448), --units kbit/s
- ...
-}
-
-IS13818AudioMode ::=SEQUENCE
-{
- audioLayer CHOICE
- {
- audioLayer1 NULL,
- audioLayer2 NULL,
- audioLayer3 NULL
- },
-
- audioSampling CHOICE
- {
- audioSampling16k NULL,
- audioSampling22k05 NULL,
- audioSampling24k NULL,
- audioSampling32k NULL,
- audioSampling44k1 NULL,
- audioSampling48k NULL
- },
-
- multichannelType CHOICE
- {
- singleChannel NULL,
- twoChannelStereo NULL,
- twoChannelDual NULL,
- threeChannels2-1 NULL,
- threeChannels3-0 NULL,
- fourChannels2-0-2-0 NULL,
- fourChannels2-2 NULL,
- fourChannels3-1 NULL,
- fiveChannels3-0-2-0 NULL,
- fiveChannels3-2 NULL
- },
-
- lowFrequencyEnhancement BOOLEAN,
-
- multilingual BOOLEAN,
-
- bitRate INTEGER (1..1130), --units kbit/s
- ...
-}
-
-G7231AnnexCMode ::= SEQUENCE
-{
- maxAl-sduAudioFrames INTEGER (1..256),
- silenceSuppression BOOLEAN,
- g723AnnexCAudioMode SEQUENCE
- {
- highRateMode0 INTEGER (27..78), -- units octets
- highRateMode1 INTEGER (27..78), -- units octets
- lowRateMode0 INTEGER (23..66), -- units octets
- lowRateMode1 INTEGER (23..66), -- units octets
- sidMode0 INTEGER (6..17), -- units octets
- sidMode1 INTEGER (6..17), -- units octets
- ...
- },
- ...
-}
-
--- ===================================================================================
--- Request mode definitions: Data modes
--- ===================================================================================
-
-DataMode ::=SEQUENCE
-{
- application CHOICE
- {
- nonStandard NonStandardParameter,
- t120 DataProtocolCapability,
- dsm-cc DataProtocolCapability,
- userData DataProtocolCapability,
- t84 DataProtocolCapability,
- t434 DataProtocolCapability,
- h224 DataProtocolCapability,
- nlpid SEQUENCE
- {
- nlpidProtocol DataProtocolCapability,
- nlpidData OCTET STRING
- },
- dsvdControl NULL,
- h222DataPartitioning DataProtocolCapability,
- ...,
- t30fax DataProtocolCapability,
- t140 DataProtocolCapability
- },
- bitRate INTEGER (0..4294967295), -- units 100 bit/s
- ...
-}
-
--- ===================================================================================
--- Request mode definitions: Encryption modes
--- ===================================================================================
-
-EncryptionMode ::=CHOICE
-{
- nonStandard NonStandardParameter,
- h233Encryption NULL,
- ...
-}
-
- -- ===================================================================================
--- Round Trip Delay definitions
--- ===================================================================================
-
-RoundTripDelayRequest ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- ...
-}
-
-RoundTripDelayResponse ::=SEQUENCE
-{
- sequenceNumber SequenceNumber,
- ...
-}
-
--- ===================================================================================
--- Maintenance Loop definitions
--- ===================================================================================
-
-MaintenanceLoopRequest ::=SEQUENCE
-{
- type CHOICE
- {
- systemLoop NULL,
- mediaLoop LogicalChannelNumber,
- logicalChannelLoop LogicalChannelNumber,
- ...
- },
- ...
-}
-
-MaintenanceLoopAck ::=SEQUENCE
-{
- type CHOICE
- {
- systemLoop NULL,
- mediaLoop LogicalChannelNumber,
- logicalChannelLoop LogicalChannelNumber,
- ...
- },
- ...
-}
-
-MaintenanceLoopReject ::=SEQUENCE
-{
- type CHOICE
- {
- systemLoop NULL,
- mediaLoop LogicalChannelNumber,
- logicalChannelLoop LogicalChannelNumber,
- ...
- },
- cause CHOICE
- {
- canNotPerformLoop NULL,
- ...
- },
- ...
-}
-
-MaintenanceLoopOffCommand ::=SEQUENCE
-{
- ...
-}
-
--- ===================================================================================
--- Communication Mode definitions
--- ===================================================================================
-
-CommunicationModeCommand ::=SEQUENCE
-{
- communicationModeTable SET SIZE(1..256) OF CommunicationModeTableEntry,
- ...
-}
-
-CommunicationModeRequest ::=SEQUENCE
-{
- ...
-}
-
-CommunicationModeResponse ::=CHOICE
-{
- communicationModeTable SET SIZE(1..256) OF CommunicationModeTableEntry,
- ...
-}
-
-CommunicationModeTableEntry ::=SEQUENCE
-{
- nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
- sessionID INTEGER(1..255),
- associatedSessionID INTEGER(1..255) OPTIONAL,
-
- terminalLabel TerminalLabel OPTIONAL, -- if not present,
- -- it refers to all participants
- -- in the conference
- sessionDescription BMPString (SIZE(1..128)) ,
- -- Basic ISO/IEC 10646-1 (Unicode)
- dataType CHOICE
- {
- videoData VideoCapability,
- audioData AudioCapability,
- data DataApplicationCapability,
- ...
- },
- mediaChannel TransportAddress OPTIONAL,
- mediaGuaranteedDelivery BOOLEAN OPTIONAL,
- mediaControlChannel TransportAddress OPTIONAL, -- reverse RTCP channel
- mediaControlGuaranteedDelivery BOOLEAN OPTIONAL,
- ...,
- redundancyEncoding RedundancyEncoding OPTIONAL,
- sessionDependency INTEGER (1..255) OPTIONAL,
- destination TerminalLabel OPTIONAL
-}
-
--- ===================================================================================
--- Conference Request definitions
--- ===================================================================================
-
-ConferenceRequest ::=CHOICE
-{
-
- terminalListRequest NULL, -- same as H.230 TCU (term->MC)
-
- makeMeChair NULL, -- same as H.230 CCA (term->MC)
- cancelMakeMeChair NULL, -- same as H.230 CIS (term->MC)
-
- dropTerminal TerminalLabel, -- same as H.230 CCD(term->MC)
-
- requestTerminalID TerminalLabel, -- sames as TCP (term->MC)
-
- enterH243Password NULL, -- same as H.230 TCS1(MC->term)
- enterH243TerminalID NULL, -- same as H.230 TCS2/TCI
- -- (MC->term)
- enterH243ConferenceID NULL, -- same as H.230 TCS3 (MC->term)
- ...,
- enterExtensionAddress NULL, -- same as H.230 TCS4 (GW->term)
- requestChairTokenOwner NULL, -- same as H.230 TCA (term->MC)
- requestTerminalCertificate SEQUENCE
- {
- terminalLabel TerminalLabel OPTIONAL,
- certSelectionCriteria CertSelectionCriteria OPTIONAL,
- sRandom INTEGER (1..4294967295) OPTIONAL,
- -- this is the requester's challenge
- ...
- },
- broadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 MCV
- makeTerminalBroadcaster TerminalLabel, -- similar to H.230 VCB
- sendThisSource TerminalLabel, -- similar to H.230 VCS
- requestAllTerminalIDs NULL,
- remoteMCRequest RemoteMCRequest
-}
-
-CertSelectionCriteria ::=SEQUENCE SIZE (1..16) OF Criteria
-
-Criteria ::=SEQUENCE
-{
- field OBJECT IDENTIFIER, -- may include certificate type
- value OCTET STRING (SIZE(1..65535)),
- ...
-}
-
-TerminalLabel ::=SEQUENCE
-{
- mcuNumber McuNumber,
- terminalNumber TerminalNumber,
- ...
-}
-
-McuNumber ::=INTEGER(0..192)
-TerminalNumber ::=INTEGER(0..192)
-
--- ===================================================================================
--- Conference Response definitions
--- ===================================================================================
-
-ConferenceResponse ::=CHOICE
-{
- mCTerminalIDResponse SEQUENCE -- response to TCP(same as TIP)
- { -- sent by MC only
- terminalLabel TerminalLabel,
- terminalID TerminalID,
- ...
- },
-
- terminalIDResponse SEQUENCE -- response to TCS2 or TCI
- { -- same as IIS
- terminalLabel TerminalLabel, -- (term->MC)
- terminalID TerminalID,
- ...
- },
-
- conferenceIDResponse SEQUENCE -- response to TCS3
- { -- same as IIS
- terminalLabel TerminalLabel, -- (term->MC)
- conferenceID ConferenceID,
- ...
- },
-
- passwordResponse SEQUENCE -- response to TCS1
- { -- same as IIS
- terminalLabel TerminalLabel, -- (term->MC)
- password Password,
- ...
- },
-
- terminalListResponse SET SIZE (1..256) OF TerminalLabel,
-
- videoCommandReject NULL, -- same as H.230 VCR
- terminalDropReject NULL, -- same as H.230 CIR
-
- makeMeChairResponse CHOICE -- same as H.230 CCR
- {
- grantedChairToken NULL, -- same as H.230 CIT
- deniedChairToken NULL, -- same as H.230 CCR
- ...
- },
- ...,
- extensionAddressResponse SEQUENCE -- response to TCS4
- {
- extensionAddress TerminalID, -- same as IIS (term->GW)
- ...
- },
- chairTokenOwnerResponse SEQUENCE -- response to TCA(same as TIR) sent by MC only
- {
- terminalLabel TerminalLabel,
- terminalID TerminalID,
- ...
- },
- terminalCertificateResponse SEQUENCE
- {
- terminalLabel TerminalLabel OPTIONAL,
- certificateResponse OCTET STRING (SIZE(1..65535)) OPTIONAL,
- ...
- },
- broadcastMyLogicalChannelResponse CHOICE
- {
- grantedBroadcastMyLogicalChannel NULL,
- deniedBroadcastMyLogicalChannel NULL,
- ...
- },
- makeTerminalBroadcasterResponse CHOICE
- {
- grantedMakeTerminalBroadcaster NULL,
- deniedMakeTerminalBroadcaster NULL,
- ...
- },
- sendThisSourceResponse CHOICE
- {
- grantedSendThisSource NULL,
- deniedSendThisSource NULL,
- ...
- },
- requestAllTerminalIDsResponse RequestAllTerminalIDsResponse,
- remoteMCResponse RemoteMCResponse
-}
-
-TerminalID ::=OCTET STRING (SIZE(1..128)) -- as per H.230
-ConferenceID ::=OCTET STRING (SIZE(1..32))
-Password ::=OCTET STRING (SIZE(1..32))
-
-RequestAllTerminalIDsResponse ::=SEQUENCE
-{
- terminalInformation SEQUENCE OF TerminalInformation,
- ...
-}
-
-TerminalInformation ::=SEQUENCE
-{
- terminalLabel TerminalLabel,
- terminalID TerminalID,
- ...
-}
-
--- ===================================================================================
--- Remote MC Request definitions
--- ===================================================================================
-
- RemoteMCRequest ::=CHOICE
- {
- masterActivate NULL,
- slaveActivate NULL,
- deActivate NULL,
- ...
- }
-
- RemoteMCResponse ::=CHOICE
- {
- accept NULL,
- reject CHOICE
- {
- unspecified NULL,
- functionNotSupported NULL,
- ...
- },
- ...
- }
-
--- ===================================================================================
--- Command Message definitions
--- ===================================================================================
-
--- ===================================================================================
--- Command Message : Send Terminal Capability Set
--- ===================================================================================
-
-SendTerminalCapabilitySet ::=CHOICE
-{
- specificRequest SEQUENCE
- {
- multiplexCapability BOOLEAN,
-
- capabilityTableEntryNumbers SET SIZE (1..65535) OF CapabilityTableEntryNumber OPTIONAL,
-
- capabilityDescriptorNumbers SET SIZE (1..256) OF CapabilityDescriptorNumber OPTIONAL,
- ...
- },
- genericRequest NULL,
- ...
-}
-
--- ===================================================================================
--- Command Message : Encryption
--- ===================================================================================
-
-EncryptionCommand ::=CHOICE
-{
- encryptionSE OCTET STRING, -- per H.233, but no error protection
- encryptionIVRequest NULL, -- requests new IV
- encryptionAlgorithmID SEQUENCE
- {
- h233AlgorithmIdentifier SequenceNumber,
- associatedAlgorithm NonStandardParameter
- },
- ...
-}
-
--- ===================================================================================
--- Command Message : Flow Control
--- ===================================================================================
-
-FlowControlCommand ::=SEQUENCE
-{
- scope CHOICE
- {
- logicalChannelNumber LogicalChannelNumber,
- resourceID INTEGER (0..65535),
- wholeMultiplex NULL
- },
- restriction CHOICE
- {
- maximumBitRate INTEGER (0..16777215), -- units 100 bit/s
- noRestriction NULL
- },
- ...
-}
-
--- ===================================================================================
--- Command Message : Change or End Session
--- ===================================================================================
-
-EndSessionCommand ::=CHOICE
-{
- nonStandard NonStandardParameter,
-
- disconnect NULL,
-
- gstnOptions CHOICE
- {
- telephonyMode NULL,
- v8bis NULL,
- v34DSVD NULL,
- v34DuplexFAX NULL,
- v34H324 NULL,
- ...
- },
-
- ...,
- isdnOptions CHOICE
- {
- telephonyMode NULL,
- v140 NULL,
- terminalOnHold NULL,
- ...
- }
-}
-
--- ===================================================================================
--- Command Message : Conference Commands
--- ===================================================================================
-
-ConferenceCommand ::=CHOICE
-{
- broadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 MCV
- cancelBroadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 Cancel-MCV
-
- makeTerminalBroadcaster TerminalLabel, -- same as H.230 VCB
- cancelMakeTerminalBroadcaster NULL, -- same as H.230 Cancel-VCB
-
- sendThisSource TerminalLabel, -- same as H.230 VCS
- cancelSendThisSource NULL, -- same as H.230 cancel VCS
-
- dropConference NULL, -- same as H.230 CCK
- ...,
- substituteConferenceIDCommand SubstituteConferenceIDCommand
-}
-
-SubstituteConferenceIDCommand ::=SEQUENCE
-{
- conferenceIdentifier OCTET STRING (SIZE(16)),
- ...
-}
-
--- ===================================================================================
--- Command Message : Miscellaneous H.230-like commands
--- ===================================================================================
-
-MiscellaneousCommand ::=SEQUENCE
-{
- logicalChannelNumber LogicalChannelNumber,
- type CHOICE
- {
- equaliseDelay NULL, -- same as H.230 ACE
- zeroDelay NULL, -- same as H.230 ACZ
- multipointModeCommand NULL,
- cancelMultipointModeCommand NULL,
- videoFreezePicture NULL,
- videoFastUpdatePicture NULL,
-
- videoFastUpdateGOB SEQUENCE
- {
- firstGOB INTEGER (0..17),
- numberOfGOBs INTEGER (1..18)
- },
-
- videoTemporalSpatialTradeOff INTEGER (0..31), -- commands a trade-off value
-
- videoSendSyncEveryGOB NULL,
- videoSendSyncEveryGOBCancel NULL,
-
- ...,
- videoFastUpdateMB SEQUENCE
- {
- firstGOB INTEGER (0..255) OPTIONAL,
- firstMB INTEGER (1..8192) OPTIONAL,
- numberOfMBs INTEGER (1..8192),
- ...
- },
- maxH223MUXPDUsize INTEGER(1..65535), -- units octets
- encryptionUpdate EncryptionSync,
- encryptionUpdateRequest EncryptionUpdateRequest,
- switchReceiveMediaOff NULL,
- switchReceiveMediaOn NULL,
-
- progressiveRefinementStart SEQUENCE
- {
- repeatCount CHOICE
- {
- doOneProgression NULL,
- doContinuousProgressions NULL,
- doOneIndependentProgression NULL,
- doContinuousIndependentProgressions NULL,
- ...
- },
- ...
- },
- progressiveRefinementAbortOne NULL,
- progressiveRefinementAbortContinuous NULL
-
- },
-
- ...
-}
-
-KeyProtectionMethod ::=SEQUENCE -- specify how the new key is to be protected
-{
- secureChannel BOOLEAN,
- sharedSecret BOOLEAN,
- certProtectedKey BOOLEAN,
- ...
-}
-
-EncryptionUpdateRequest ::=SEQUENCE
-{
- keyProtectionMethod KeyProtectionMethod OPTIONAL,
- ...
-}
-
--- ===================================================================================
--- Command Message : H.223 Multiplex Reconfiguration
--- ===================================================================================
-
-H223MultiplexReconfiguration ::=CHOICE
-{
- h223ModeChange CHOICE
- {
- toLevel0 NULL,
- toLevel1 NULL,
- toLevel2 NULL,
- toLevel2withOptionalHeader NULL,
- ...
- },
-
- h223AnnexADoubleFlag CHOICE
- {
- start NULL,
- stop NULL,
- ...
- },
-
- ...
-}
- -- ===================================================================================
--- Indication Message definitions
--- ===================================================================================
-
--- ===================================================================================
--- Indication Message : Function not understood
--- ===================================================================================
-
--- This is used to return a request, response or command that is not understood
-
-FunctionNotUnderstood ::=CHOICE
-{
- request RequestMessage,
- response ResponseMessage,
- command CommandMessage
-}
-
--- ===================================================================================
--- Indication Message : Function not Supported
--- ===================================================================================
-
--- This is used to return a complete request, response or command that is not recognized
-
-FunctionNotSupported ::=SEQUENCE
-{
- cause CHOICE
- {
- syntaxError NULL,
- semanticError NULL,
- unknownFunction NULL,
- ...
- },
- returnedFunction OCTET STRING OPTIONAL,
- ...
-}
-
--- ===================================================================================
--- Indication Message : Conference
--- ===================================================================================
-
-ConferenceIndication ::=CHOICE
-{
- sbeNumber INTEGER (0..9), -- same as H.230 SBE Number
-
- terminalNumberAssign TerminalLabel, -- same as H.230 TIA
-
- terminalJoinedConference TerminalLabel, -- same as H.230 TIN
-
- terminalLeftConference TerminalLabel, -- same as H.230 TID
-
- seenByAtLeastOneOther NULL, -- same as H.230 MIV
- cancelSeenByAtLeastOneOther NULL, -- same as H.230 cancel MIV
-
- seenByAll NULL, -- like H.230 MIV
- cancelSeenByAll NULL, -- like H.230 MIV
-
- terminalYouAreSeeing TerminalLabel, -- same as H.230 VIN
-
- requestForFloor NULL, -- same as H.230 TIF
-
- ...,
- withdrawChairToken NULL, -- same as H.230 CCR
- -- MC-> chair
- floorRequested TerminalLabel -- same as H.230 TIF
- -- MC-> chair
-}
-
-
--- ===================================================================================
--- Indication Message : Miscellaneous H.230-like indication
--- ===================================================================================
-
-MiscellaneousIndication ::=SEQUENCE
-{
- logicalChannelNumber LogicalChannelNumber,
- type CHOICE
- {
- logicalChannelActive NULL, -- same as H.230 AIA and VIA
- logicalChannelInactive NULL, -- same as H.230 AIM and VIS
-
- multipointConference NULL,
- cancelMultipointConference NULL,
-
- multipointZeroComm NULL, -- same as H.230 MIZ
- cancelMultipointZeroComm NULL, -- same as H.230 cancel MIZ
-
- multipointSecondaryStatus NULL, -- same as H.230 MIS
- cancelMultipointSecondaryStatus NULL, -- same as H.230 cancel MIS
-
- videoIndicateReadyToActivate NULL, -- same as H.230 VIR
-
- videoTemporalSpatialTradeOff INTEGER (0..31), -- indicates current trade-off
-
- ...,
- videoNotDecodedMBs SEQUENCE
- {
- firstMB INTEGER (1..8192),
- numberOfMBs INTEGER (1..8192),
- temporalReference INTEGER (0..255),
- ...
- },
- transportCapability TransportCapability
- },
- ...
-}
-
--- ===================================================================================
--- Indication Message : Jitter Indication
--- ===================================================================================
-
-JitterIndication ::=SEQUENCE
-{
- scope CHOICE
- {
- logicalChannelNumber LogicalChannelNumber,
- resourceID INTEGER (0..65535),
- wholeMultiplex NULL
- },
- estimatedReceivedJitterMantissa INTEGER (0..3),
- estimatedReceivedJitterExponent INTEGER (0..7),
- skippedFrameCount INTEGER (0..15) OPTIONAL,
- additionalDecoderBuffer INTEGER (0..262143) OPTIONAL, -- 262143 is 2^18 - 1
- ...
-}
-
--- ===================================================================================
--- Indication Message : H.223 logical channel skew
--- ===================================================================================
-
-H223SkewIndication ::=SEQUENCE
-{
- logicalChannelNumber1 LogicalChannelNumber,
- logicalChannelNumber2 LogicalChannelNumber,
- skew INTEGER (0..4095), -- units milliseconds
- ...
-}
-
--- ===================================================================================
--- Indication Message : H.225.0 maximum logical channel skew
--- ===================================================================================
-
-H2250MaximumSkewIndication ::=SEQUENCE
-{
- logicalChannelNumber1 LogicalChannelNumber,
- logicalChannelNumber2 LogicalChannelNumber,
- maximumSkew INTEGER (0..4095), -- units milliseconds
- ...
-}
-
--- ===================================================================================
--- Indication Message : MC Location Indication
--- ===================================================================================
-
-MCLocationIndication ::=SEQUENCE
-{
- signalAddress TransportAddress, -- this is the H.323 Call Signalling
- -- address of the entity which
- -- contains the MC
- ...
-}
-
--- ===================================================================================
--- Indication Message : Vendor Identification
--- ===================================================================================
-
- VendorIdentification ::=SEQUENCE
- {
- vendor NonStandardIdentifier,
- productNumber OCTET STRING (SIZE(1..256)) OPTIONAL, -- per vendor
- versionNumber OCTET STRING (SIZE(1..256)) OPTIONAL, -- per productNumber
- ...
- }
-
-
--- ===================================================================================
--- Indication Message : New ATM virtual channel indication
--- ===================================================================================
-
-NewATMVCIndication ::=SEQUENCE
-{
- resourceID INTEGER(0..65535),
- bitRate INTEGER(1..65535), -- units 64 kbit/s
- bitRateLockedToPCRClock BOOLEAN,
- bitRateLockedToNetworkClock BOOLEAN,
- aal CHOICE
- {
- aal1 SEQUENCE
- {
- clockRecovery CHOICE
- {
- nullClockRecovery NULL,
- srtsClockRecovery NULL,
- adaptiveClockRecovery NULL,
- ...
- },
- errorCorrection CHOICE
- {
- nullErrorCorrection NULL,
- longInterleaver NULL,
- shortInterleaver NULL,
- errorCorrectionOnly NULL,
- ...
- },
- structuredDataTransfer BOOLEAN,
- partiallyFilledCells BOOLEAN,
- ...
- },
- aal5 SEQUENCE
- {
- forwardMaximumSDUSize INTEGER (0..65535), -- units octets
- backwardMaximumSDUSize INTEGER (0..65535), -- units octets
- ...
- },
- ...
- },
- multiplex CHOICE
- {
- noMultiplex NULL,
- transportStream NULL,
- programStream NULL,
- ...
- },
- ...,
- reverseParameters SEQUENCE
- {
- bitRate INTEGER(1..65535), -- units 64 kbit/s
- bitRateLockedToPCRClock BOOLEAN,
- bitRateLockedToNetworkClock BOOLEAN,
- multiplex CHOICE
- {
- noMultiplex NULL,
- transportStream NULL,
- programStream NULL,
- ...
- },
- ...
- }
-}
-
--- ===================================================================================
--- Indication Message : user input
--- ===================================================================================
-
-UserInputIndication ::=CHOICE
-{
- nonStandard NonStandardParameter,
- alphanumeric GeneralString,
- ...,
- userInputSupportIndication CHOICE
- {
- nonStandard NonStandardParameter,
- basicString NULL,
- iA5String NULL,
- generalString NULL,
- ...
- },
- signal SEQUENCE
- {
- signalType IA5String (SIZE (1) ^ FROM ("0123456789#*ABCD!")),
--- signalType IA5String (SIZE (1)) (FROM ("0123456789#*ABCD!")),
- duration INTEGER (1..65535) OPTIONAL, -- milliseconds
- rtp SEQUENCE
- {
- timestamp INTEGER (0..4294967295) OPTIONAL,
- expirationTime INTEGER (0..4294967295) OPTIONAL,
- logicalChannelNumber LogicalChannelNumber,
- ...
- } OPTIONAL,
- ...
- },
- signalUpdate SEQUENCE
- {
- duration INTEGER (1..65535), -- milliseconds
- rtp SEQUENCE
- {
- logicalChannelNumber LogicalChannelNumber,
- ...
- } OPTIONAL,
- ...
- }
-}
-
-
-END
-
-
-
-
-
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/MissingEnd.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/MissingEnd.asn1
deleted file mode 100644
index 66912ef693..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/MissingEnd.asn1
+++ /dev/null
@@ -1,5 +0,0 @@
-MissingEnd DEFINITIONS ::=
-BEGIN
-
-T ::= Typ
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod.set.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod.set.asn
deleted file mode 100644
index 5dcd8706ae..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod.set.asn
+++ /dev/null
@@ -1,5 +0,0 @@
-Mod1.asn
-Mod2.asn
-Mod3.asn
-Mod4.asn
-Mod5.asn
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod1.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod1.asn
deleted file mode 100644
index cb29997985..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod1.asn
+++ /dev/null
@@ -1,18 +0,0 @@
-Mod1 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Co,Reg
- FROM Mod5
- Name
- FROM Mod4;
-
-
-L ::= SEQUENCE {
- country Co,
- region Reg,
- name Name
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod2.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod2.asn
deleted file mode 100644
index cc22c6f13c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod2.asn
+++ /dev/null
@@ -1,43 +0,0 @@
-Mod2 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Stat,Country
- FROM Mod3
- L
- FROM Mod1
- Time,LocName,ThingName,Name
- FROM Mod4;
-
-T ::= SEQUENCE {
- unit ENUMERATED{celsius,fahrenheit,kelvin},
- degree INTEGER,
- location L,
- time Time,
- statistics Stat
-}
-
-OtherName ::= SEQUENCE {
- locationName LocName,
- thingName ThingName
-}
-
-FirstName ::= CHOICE {
- firstname PrintableString,
- nickname PrintableString
-}
-
-FamilyName ::= SEQUENCE{
- prefix ENUMERATED{none,von,af},
- secondname PrintableString
-}
-
-Lang ::= SEQUENCE{
- l PrintableString}
-
-Inhabitant ::= SEQUENCE {
- name Name,
- country Country}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod3.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod3.asn
deleted file mode 100644
index 8069bedcf9..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod3.asn
+++ /dev/null
@@ -1,33 +0,0 @@
-Mod3 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Name
- FROM Mod4
- Lang, Inhabitant,FirstName,FamilyName
- FROM Mod2
- TS, RFS, WS, HS
- FROM Mod5;
-
-Stat ::= SEQUENCE {
- tempstat TS,
- rainfallstat RFS,
- windstat WS,
- humiditystat HS
-}
-
-Country ::= SEQUENCE{
- name Name,
- language Lang
-}
-
-RegionName ::= Name
-Inhabitants ::= SEQUENCE OF Inhabitant
-
-PersonName ::= SEQUENCE {
- name1 FirstName,
- name2 FamilyName
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod4.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod4.asn
deleted file mode 100644
index 4a1aaff9dc..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod4.asn
+++ /dev/null
@@ -1,33 +0,0 @@
-Mod4 DEFINITIONS AUTOMATIC TAGS ::=
-
-
-BEGIN
-
-IMPORTS
- PersonName
- FROM Mod3
- OtherName,FirstName,FamilyName
- FROM Mod2;
-
-Time ::= SEQUENCE {
- year OCTET STRING(SIZE(4)),
- month OCTET STRING(SIZE(2)),
- hour INTEGER,
- minute INTEGER
-}
-
-Name ::= CHOICE {
- person PersonName,
- othername OtherName
-}
-
-
-
-LocName ::= SEQUENCE {
- region ENUMERATED{gotaland,svealand,norrland},
- name PrintableString
-}
-
-ThingName ::= PrintableString
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod5.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod5.asn
deleted file mode 100644
index 71b483d0e0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mod5.asn
+++ /dev/null
@@ -1,37 +0,0 @@
-Mod5 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Country,RegionName,Inhabitants
- FROM Mod3;
-TS ::= SEQUENCE {
- average INTEGER,
- highest INTEGER,
- lowest INTEGER
-}
-
-RFS ::= SEQUENCE {
- average INTEGER,
- highest INTEGER
-}
-
-WS ::= SEQUENCE {
- average INTEGER,
- highest INTEGER
-}
-
-HS ::= SEQUENCE {
- average INTEGER,
- highest INTEGER,
- lowest INTEGER
-}
-
-Co ::= Country
-
-Reg ::= SEQUENCE {
- name RegionName,
- inhabitants Inhabitants
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-11-4.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-11-4.asn
deleted file mode 100644
index 81c07a2dab..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-11-4.asn
+++ /dev/null
@@ -1,675 +0,0 @@
--- module(Mvrasn-11-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Mobile Service data types".
---
--- ASN.1 module: "MAP-MS-DataTypes".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- .... ....... ........ ........................................
--- PA2 990112 eedkbu Insertion of all Data types relevant for
--- DSD operation.
--- .... ....... ........ ........................................
-
-Mvrasn-11-4
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- location registration types
- UpdateGprsLocationArg,
- UpdateGprsLocationRes,
- CancelLocationArg,
- CancelLocationRes,
-
- -- subscriber management types
- InsertSubscriberDataArg,
- InsertSubscriberDataRes
-;
-
-IMPORTS
-
- SS-SubscriptionOption,
- SS-List,
- maxNumOfSS
-FROM Mvrasn-14-4
-
- SS-Code
-FROM Mvrasn-15-4
-
- ISDN-AddressString,
- maxISDN-AddressLength,
- ISDN-SubaddressString,
- IMSI,
- LMSI,
- Ext-BasicServiceCode,
- NAEA-PreferredCI,
- EMLPP-Info
-FROM Mvrasn-18-4
-
- Ext-TeleserviceCode
-FROM Mvrasn-19-4
-
- Ext-BearerServiceCode
-FROM Mvrasn-20-4
-
- ExtensionContainer
-FROM Mvrasn-21-4
-
-;
-
--- location registration types
-
-CancelLocationArg ::= [3] SEQUENCE {
- identity Indentity,
- cancellationType CancellationType OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Indentity ::= CHOICE {
- imsi IMSI,
- imsi-WithLMSI IMSI-WithLMSI}
-
-
-CancellationType ::= ENUMERATED {
- updateProcedure (0),
- subscriptionWithdraw (1),
- ...}
-
-
-CancelLocationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-IMSI-WithLMSI ::= SEQUENCE {
- imsi IMSI,
- lmsi LMSI,
- -- a special value 00000000 indicates that the LMSI is not in use
- ...}
-
-
--- gprs location registration types
-
-UpdateGprsLocationArg ::= SEQUENCE {
- imsi IMSI,
- sgsn-Number ISDN-AddressString,
- sgsn-Address GSN-Address,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-GSN-Address ::= OCTET STRING (SIZE (4..16))
- -- Octets are coded according to TS GSM 03.03
-
-UpdateGprsLocationRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- subscriber management types
-
-InsertSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
-
--- =========================================================
--- EEDKBU:
---
--- the line:
---
--- "COMPONENTS OF SubscriberData,
---
--- has been removed due to insufficiencies of the used ASN.1-ERLANG
--- compiler. Instead of this line the complete definition of
--- "Subscriberdata" has been inserted.
---
--- This results in the same behaviour of the deocder/encoder but
--- means only a replication of the ASN.1 definiton here.
---
- msisdn [1] ISDN-AddressString OPTIONAL,
- category [2] Category OPTIONAL,
- subscriberStatus [3] SubscriberStatus OPTIONAL,
- bearerServiceList [4] BearerServiceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- bearerServiceCodes is defined in section 6.8.1
- teleserviceList [6] TeleserviceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- teleserviceCodes is defined in section 6.8.1
- provisionedSS [7] Ext-SS-InfoList OPTIONAL,
- odb-Data [8] ODB-Data OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL,
- regionalSubscriptionData [10] ZoneCodeList OPTIONAL,
- vbsSubscriptionData [11] VBSDataList OPTIONAL,
- vgcsSubscriptionData [12] VGCSDataList OPTIONAL,
- vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL,
-
--- =========================================================
-
- extensionContainer [14] ExtensionContainer OPTIONAL,
- ... ,
- naea-PreferredCI [15] NAEA-PreferredCI OPTIONAL,
- -- naea-PreferredCI is included at the discretion of the HLR operator.
- gprsSubscriptionData [16] GPRSSubscriptionData OPTIONAL,
- roamingRestrictedInSgsnDueToUnsupportedFeature [23] NULL OPTIONAL,
- networkAccessMode [24] NetworkAccessMode OPTIONAL
- }
- -- If the Network Access Mode parameter is sent, it shall be present
- -- only in the first sequence if the seqmentation is used
-
--- =========================================================
---
--- EEDKBU: This data type 'NetworkAccessMode' has been included manually
--- as it was not in the ASN.1 definitions in 09.02 6.1.0.
--- This definition has been taken from the CR xxx.
---
-
-NetworkAccessMode ::= ENUMERATED {
- bothMSCAndSGSN (0),
- onlyMSC (1),
- onlySGSN (2),
- ...}
- -- if unknown values are received in NetworkAccessMode
- -- they shall be discarded.
-
---
--- =========================================================
-
-
-GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- PDP-Context
-
-maxNumOfPDP-Contexts INTEGER ::= 50
-
-PDP-Context ::= SEQUENCE {
- pdp-ContextId ContextId,
- pdp-Type [16] PDP-Type,
- pdp-Address [17] PDP-Address OPTIONAL,
- qos-Subscribed [18] QoS-Subscribed,
- vplmnAddressAllowed [19] NULL OPTIONAL,
- apn [20] APN,
- extensionContainer [21] ExtensionContainer OPTIONAL,
- ...}
-
-ContextId ::= INTEGER (1..maxNumOfPDP-Contexts)
-
-GPRSSubscriptionData::= SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
-
- -- If segmentation is used, completeDataListIncluded may only be
- -- present in the first segment.
- gprsDataList [1] GPRSDataList,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-APN ::= IA5String (SIZE (1..63))
--- Octets are coded according to TS GSM 09.60
-
-PDP-Type ::= OCTET STRING (SIZE (2))
--- Octets are coded according to TS GSM 09.60
-
-PDP-Address ::= OCTET STRING (SIZE (4..16))
--- Octets are coded according to TS GSM 09.60
-
-QoS-Subscribed ::= OCTET STRING (SIZE (3))
- -- Octets are coded according to TS GSM 04.08.
-
-
-SubscriberData ::= SEQUENCE {
- msisdn [1] ISDN-AddressString OPTIONAL,
- category [2] Category OPTIONAL,
- subscriberStatus [3] SubscriberStatus OPTIONAL,
- bearerServiceList [4] BearerServiceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- bearerServiceCodes is defined in section 6.8.1
- teleserviceList [6] TeleserviceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- teleserviceCodes is defined in section 6.8.1
- provisionedSS [7] Ext-SS-InfoList OPTIONAL,
- odb-Data [8] ODB-Data OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL,
- regionalSubscriptionData [10] ZoneCodeList OPTIONAL,
- vbsSubscriptionData [11] VBSDataList OPTIONAL,
- vgcsSubscriptionData [12] VGCSDataList OPTIONAL,
- vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL
- }
-
-Category ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in CCITT Rec Q.763.
-
-SubscriberStatus ::= ENUMERATED {
- serviceGranted (0),
- operatorDeterminedBarring (1)}
-
-BearerServiceList ::= SEQUENCE SIZE (1..maxNumOfBearerServices) OF
- Ext-BearerServiceCode
-
-maxNumOfBearerServices INTEGER ::= 50
-
-TeleserviceList ::= SEQUENCE SIZE (1..maxNumOfTeleservices) OF
- Ext-TeleserviceCode
-
-maxNumOfTeleservices INTEGER ::= 20
-
-ODB-Data ::= SEQUENCE {
- odb-GeneralData ODB-GeneralData,
- odb-HPLMN-Data ODB-HPLMN-Data OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ODB-GeneralData ::= BIT STRING {
- allOG-CallsBarred (0),
- internationalOGCallsBarred (1),
- internationalOGCallsNotToHPLMN-CountryBarred (2),
- interzonalOGCallsBarred (6),
- interzonalOGCallsNotToHPLMN-CountryBarred (7),
- interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8),
- premiumRateInformationOGCallsBarred (3),
- premiumRateEntertainementOGCallsBarred (4),
- ss-AccessBarred (5),
- allECT-Barred (9),
- chargeableECT-Barred (10),
- internationalECT-Barred (11),
- interzonalECT-Barred (12),
- doublyChargeableECT-Barred (13),
- multipleECT-Barred (14)} (SIZE (15..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData
-
-ODB-HPLMN-Data ::= BIT STRING {
- plmn-SpecificBarringType1 (0),
- plmn-SpecificBarringType2 (1),
- plmn-SpecificBarringType3 (2),
- plmn-SpecificBarringType4 (3)} (SIZE (4..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-HPLMN-Data type shall be treated like unsupported ODB-HPLMN-Data
-
-Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- Ext-SS-Info
-
-Ext-SS-Info ::= CHOICE {
- forwardingInfo [0] Ext-ForwInfo,
- callBarringInfo [1] Ext-CallBarInfo,
- cug-Info [2] CUG-Info,
- ss-Data [3] Ext-SS-Data,
- emlpp-Info [4] EMLPP-Info}
-
-
-Ext-ForwInfo ::= SEQUENCE {
- ss-Code SS-Code,
- forwardingFeatureList Ext-ForwFeatureList,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-ForwFeatureList ::=
- SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-ForwFeature
-
-Ext-ForwFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- -- When this data type is sent from an HLR which supports CAMEL Phase 2
- -- to a VLR that supports CAMEL Phase 2 the VLR shall not check the
- -- format of the number
- forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] Ext-ForwOptions OPTIONAL,
- noReplyConditionTime [7] Ext-NoRepCondTime OPTIONAL,
- extensionContainer [9] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-SS-Status ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
- --
- -- bits 8765: 0000 (unused)
- -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
- -- representing supplementary service state information
- -- as defined in TS GSM 03.11
-
- -- bit 4: "Q bit"
-
- -- bit 3: "P bit"
-
- -- bit 2: "R bit"
-
- -- bit 1: "A bit"
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-
-Ext-ForwOptions ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
-
- -- bit 8: notification to forwarding party
- -- 0 no notification
- -- 1 notification
-
- -- bit 7: 0 (unused)
-
- -- bit 6: notification to calling party
- -- 0 no notification
- -- 1 notification
-
- -- bit 5: 0 (unused)
-
- -- bits 43: forwarding reason
- -- 00 ms not reachable
- -- 01 ms busy
- -- 10 no reply
- -- 11 unconditional
-
- -- bits 21: 00 (unused)
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-Ext-NoRepCondTime ::= INTEGER (1..100)
- -- Only values 5-30 are used.
- -- Values in the ranges 1-4 and 31-100 are reserved for future use
- -- If received:
- -- values 1-4 shall be mapped on to value 5
- -- values 31-100 shall be mapped on to value 30
-
-Ext-CallBarInfo ::= SEQUENCE {
- ss-Code SS-Code,
- callBarringFeatureList Ext-CallBarFeatureList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-CallBarFeatureList ::=
- SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-CallBarringFeature
-
-Ext-CallBarringFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Info ::= SEQUENCE {
- cug-SubscriptionList CUG-SubscriptionList,
- cug-FeatureList CUG-FeatureList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF
- CUG-Subscription
-
-CUG-Subscription ::= SEQUENCE {
- cug-Index CUG-Index,
- cug-Interlock CUG-Interlock,
- intraCUG-Options IntraCUG-Options,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Index ::= INTEGER (0..32767)
- -- The internal structure is defined in ETS 300 138.
-
-CUG-Interlock ::= OCTET STRING (SIZE (4))
-
-IntraCUG-Options ::= ENUMERATED {
- noCUG-Restrictions (0),
- cugIC-CallBarred (1),
- cugOG-CallBarred (2)}
-
-maxNumOfCUG INTEGER ::= 10
-
-CUG-FeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- CUG-Feature
-
-Ext-BasicServiceGroupList ::= SEQUENCE SIZE
- (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-BasicServiceCode
-
-maxNumOfExt-BasicServiceGroups INTEGER ::= 32
-
-CUG-Feature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- preferentialCUG-Indicator CUG-Index OPTIONAL,
- interCUG-Restrictions InterCUG-Restrictions,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-InterCUG-Restrictions::= OCTET STRING (SIZE (1))
-
- -- bits 876543: 000000 (unused)
- -- Exception handling:
- -- bits 876543 shall be ignored if received and not understood
-
- -- bits 21
- -- 00 CUG only facilities
- -- 01 CUG with outgoing access
- -- 10 CUG with incoming access
- -- 11 CUG with both outgoing and incoming access
-
-Ext-SS-Data ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status [4] Ext-SS-Status,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes) OF
- ZoneCode
-
-ZoneCode ::= OCTET STRING (SIZE (2))
- -- internal structure is defined in TS GSM 03.03
-
-maxNumOfZoneCodes INTEGER ::= 10
-
-InsertSubscriberDataRes ::= SEQUENCE {
- teleserviceList [1] TeleserviceList OPTIONAL,
- bearerServiceList [2] BearerServiceList OPTIONAL,
- ss-List [3] SS-List OPTIONAL,
- odb-GeneralData [4] ODB-GeneralData OPTIONAL,
- regionalSubscriptionResponse [5] RegionalSubscriptionResponse OPTIONAL,
- supportedCamelPhases [6] SupportedCamelPhases OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...}
-
-RegionalSubscriptionResponse ::= ENUMERATED {
- networkNode-AreaRestricted (0),
- tooManyZoneCodes (1),
- zoneCodesConflict (2),
- regionalSubscNotSupported (3)}
-
-DeleteSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI,
- basicServiceList [1] BasicServiceList OPTIONAL,
- -- The exception handling for reception of unsupported/not allocated
- -- basicServiceCodes is defined in section 6.8.2
- ss-List [2] SS-List OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [4] NULL OPTIONAL,
- regionalSubscriptionIdentifier [5] ZoneCode OPTIONAL,
- vbsGroupIndication [7] NULL OPTIONAL,
- vgcsGroupIndication [8] NULL OPTIONAL,
- camelSubscriptionInfoWithdraw [9] NULL OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...,
- gprsSubscriptionDataWithdraw [10] GPRSSubscriptionDataWithdraw OPTIONAL,
- roamingRestrictedInSgsnDueToUnsuppportedFeature [11] NULL OPTIONAL}
-
-GPRSSubscriptionDataWithdraw ::= CHOICE {
- allGPRSData NULL,
- contextIdList ContextIdList}
-
-ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- ContextId
-
-BasicServiceList ::= SEQUENCE SIZE (1..maxNumOfBasicServices) OF
- Ext-BasicServiceCode
-
-maxNumOfBasicServices INTEGER ::= 70
-
-DeleteSubscriberDataRes ::= SEQUENCE {
- regionalSubscriptionResponse [0] RegionalSubscriptionResponse OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VlrCamelSubscriptionInfo ::= SEQUENCE {
- o-CSI [0] O-CSI OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...,
- ss-CSI [2] SS-CSI OPTIONAL
- }
-
-SS-CSI ::= SEQUENCE {
- ss-CamelData SS-CamelData,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SS-CamelData ::= SEQUENCE {
- ss-EventList SS-EventList,
- gsmSCF-Address ISDN-AddressString,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...
- }
-
-SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code
- -- Actions for the following SS-Code values are defined in CAMEL Phase 2:
- -- ect SS-Code ::= '00110001'B
- -- multiPTY SS-Code ::= '01010001'B
- -- cd SS-Code ::= '00100100'B
- -- all other SS codes shall be ignored
-
-maxNumOfCamelSSEvents INTEGER ::= 10
-
-O-CSI ::= SEQUENCE {
- o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL
- }
-
-O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- O-BcsmCamelTDPData
-
-maxNumOfCamelTDPData INTEGER ::= 10
-
-O-BcsmCamelTDPData ::= SEQUENCE {
- o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- defaultCallHandling [1] DefaultCallHandling,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- o-BcsmCamelTDP-Criteria [3] O-BcsmCamelTDP-Criteria OPTIONAL
- }
-
-ServiceKey ::= INTEGER (0..2147483647)
-
-O-BcsmTriggerDetectionPoint ::= ENUMERATED {
- collectedInfo (2),
- ... }
--- exception handling:
--- For O-BcsmCamelTDPData sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- O-BcsmCamelTDPDatasequence.
-
-O-BcsmCamelTDP-Criteria ::= SEQUENCE {
- destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL,
- basicServiceCriteria [1] BasicServiceCriteria OPTIONAL,
- callTypeCriteria [2] CallTypeCriteria OPTIONAL,
- ... }
-
-DestinationNumberCriteria ::= SEQUENCE {
- matchType [0] MatchType,
- destinationNumberList [1] DestinationNumberList OPTIONAL,
- destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL,
- ... }
-
-DestinationNumberList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF
- ISDN-AddressString
--- The receiving entity shall not check the format of a number in
--- the dialled number list
-
-DestinationNumberLengthList ::= SEQUENCE SIZE
--- (1..maxNumOfCamelDestinationNumberLengths) OF
- (1..maxISDN-AddressLength) OF
--- INTEGER(1..maxISDN-AddressLength)
- INTEGER(1..maxNumOfSS)
-
-BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF
- Ext-BasicServiceCode
-
-maxNumOfCamelDestinationNumbers INTEGER ::= 10
-
-maxNumOfCamelDestinationNumberLengths INTEGER ::= 3
-
-maxNumOfCamelBasicServiceCriteria INTEGER ::= 5
-
-CallTypeCriteria ::= ENUMERATED {
- forwarded (0),
- notForwarded (1)}
-
-MatchType ::= ENUMERATED {
- inhibiting (0),
- enabling (1)}
-
-
-DefaultCallHandling ::= ENUMERATED {
- continueCall (0) ,
- releaseCall (1) ,
- ...}
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueCall"
--- reception of values greater than 31 shall be treated as "releaseCall"
-
-CamelCapabilityHandling ::= INTEGER(1..16)
--- value 1 = CAMEL phase 1,
--- value 2 = CAMEL phase 2:
--- reception of values greater than 2 shall be treated as CAMEL phase 2
-
-SupportedCamelPhases ::= BIT STRING {
- phase1 (0),
- phase2 (1) } (SIZE (1..16))
-
--- VBS/VGCS types
-
-VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF
- VoiceBroadcastData
-
-VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF
- VoiceGroupCallData
-
-maxNumOfVBSGroupIds INTEGER ::= 50
-
-maxNumOfVGCSGroupIds INTEGER ::= 50
-
-VoiceGroupCallData ::= SEQUENCE {
- groupId GroupId,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VoiceBroadcastData ::= SEQUENCE {
- groupid GroupId,
- broadcastInitEntitlement NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-GroupId ::= OCTET STRING (SIZE (3))
- -- Refers to the Group Identification as specified in GSM TS 03.03
- -- and 03.68/ 03.69
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-11-6.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-11-6.asn
deleted file mode 100644
index d826c1398f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-11-6.asn
+++ /dev/null
@@ -1,1776 +0,0 @@
--- module(Mvrasn-11-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Mobile Service data types".
---
--- ASN.1 module: "MAP-MS-DataTypes".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010201 etord First draft, based on GSM 29.002 v. 3.5.2.
--- PA2 010813 etord Updated according to GSM 29.002 v. 3.8.0.
--- .... ....... ........ ........................................
-
-Mvrasn-11-6
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- location registration types
- UpdateLocationArg,
- UpdateLocationRes,
- CancelLocationArg,
- CancelLocationRes,
- PurgeMS-Arg,
- PurgeMS-Res,
- SendIdentificationArg,
- SendIdentificationRes,
- UpdateGprsLocationArg,
- UpdateGprsLocationRes,
- IST-SupportIndicator,
-
- -- gprs location registration types
- GSN-Address,
-
- -- handover types
- ForwardAccessSignalling-Arg,
- PrepareHO-Arg,
- PrepareHO-Res,
- PrepareSubsequentHO-Arg,
- PrepareSubsequentHO-Res,
- ProcessAccessSignalling-Arg,
- SendEndSignal-Arg,
- SendEndSignal-Res,
-
-
- -- authentication management types
- SendAuthenticationInfoArg,
- SendAuthenticationInfoRes,
- AuthenticationFailureReportArg,
- AuthenticationFailureReportRes,
-
- -- security management types
- EquipmentStatus,
- Kc,
-
- -- subscriber management types
- InsertSubscriberDataArg,
- InsertSubscriberDataRes,
- LSAIdentity,
- DeleteSubscriberDataArg,
- DeleteSubscriberDataRes,
- SubscriberData,
- ODB-Data,
- SubscriberStatus,
- ZoneCodeList,
- maxNumOfZoneCodes,
- O-CSI,
- D-CSI,
- O-BcsmCamelTDPCriteriaList,
- T-BCSM-CAMEL-TDP-CriteriaList,
- SS-CSI,
- ServiceKey,
- DefaultCallHandling,
- CamelCapabilityHandling,
- BasicServiceCriteria,
- SupportedCamelPhases,
- maxNumOfCamelTDPData,
- CUG-Index,
- CUG-Interlock,
- InterCUG-Restrictions,
- IntraCUG-Options,
- NotificationToMSUser,
- IST-AlertTimerValue,
- T-CSI,
- T-BcsmTriggerDetectionPoint,
-
- -- fault recovery types
- ResetArg,
- RestoreDataArg,
- RestoreDataRes,
-
--- provide subscriber info types
-GeographicalInformation,
-
- -- subscriber information enquiry types
- ProvideSubscriberInfoArg,
- ProvideSubscriberInfoRes,
- SubscriberInfo,
- LocationInformation,
- SubscriberState,
-
- -- any time information enquiry types
- AnyTimeInterrogationArg,
- AnyTimeInterrogationRes,
-
- -- any time information handling types
- AnyTimeSubscriptionInterrogationArg,
- AnyTimeSubscriptionInterrogationRes,
- AnyTimeModificationArg,
- AnyTimeModificationRes,
-
- -- subscriber data modification notification types
- NoteSubscriberDataModifiedArg,
- NoteSubscriberDataModifiedRes,
-
- -- gprs location information retrieval types
- -- error in spec detected by our compiler SendRoutingInfoForGprsArg,
- -- SendRoutingInfoForGprsRes,
-
- -- failure reporting types
- FailureReportArg,
- FailureReportRes,
-
- -- gprs notification types
- NoteMsPresentForGprsArg,
- NoteMsPresentForGprsRes,
-
- -- Mobility Management types
-NoteMM-EventArg,
- NoteMM-EventRes
-
-
-
-;
-
-IMPORTS
- maxNumOfSS,
- SS-SubscriptionOption,
- SS-List,
- SS-ForBS-Code,
- Password
-FROM Mvrasn-14-6
-
- SS-Code
-FROM Mvrasn-15-6
-
-
- Ext-BearerServiceCode
-FROM Mvrasn-20-6
-
-
- Ext-TeleserviceCode
-FROM Mvrasn-19-6
-
-
- AddressString,
-ISDN-AddressString,
- ISDN-SubaddressString,
- FTN-AddressString,
- AccessNetworkSignalInfo,
- IMSI,
- TMSI,
- HLR-List,
- LMSI,
- Identity,
- GlobalCellId,
- CellGlobalIdOrServiceAreaIdOrLAI,
- Ext-BasicServiceCode,
- NAEA-PreferredCI,
- EMLPP-Info,
- MC-SS-Info,
- SubscriberIdentity,
- AgeOfLocationInformation,
- LCSClientExternalID,
- LCSClientInternalID,
- Ext-SS-Status
-
-FROM Mvrasn-18-6
-
-
- ExtensionContainer
-FROM Mvrasn-21-4
-
-;
-
-
--- location registration types
-
-UpdateLocationArg ::= SEQUENCE {
- imsi IMSI,
-
- msc-Number [1] ISDN-AddressString,
- vlr-Number ISDN-AddressString,
- lmsi [10] LMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- vlr-Capability [6] VLR-Capability OPTIONAL }
-
-VLR-Capability ::= SEQUENCE{
- supportedCamelPhases [0] SupportedCamelPhases OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- solsaSupportIndicator [2] NULL OPTIONAL,
- istSupportIndicator [1] IST-SupportIndicator OPTIONAL,
- superChargerSupportedInServingNetworkEntity [3] SuperChargerInfo OPTIONAL,
- longFTN-Supported [4] NULL OPTIONAL }
-
-SuperChargerInfo ::= CHOICE {
- sendSubscriberData [0] NULL,
- subscriberDataStored [1] AgeIndicator }
-
-AgeIndicator ::= OCTET STRING (SIZE (1..6))
- -- The internal structure of this parameter is implementation specific.
-
-
-IST-SupportIndicator ::= ENUMERATED {
- basicISTSupported (0),
- istCommandSupported (1),
- ...}
--- exception handling:
--- reception of values > 1 shall be mapped to ' istCommandSupported '
-
-
-UpdateLocationRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
-
- extensionContainer ExtensionContainer OPTIONAL,
- ... }
-
-CancelLocationArg ::= [3] SEQUENCE {
- identity Identity,
- cancellationType CancellationType OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-
-CancellationType ::= ENUMERATED {
- updateProcedure (0),
- subscriptionWithdraw (1),
- ...}
- -- The HLR shall not send values other than listed above
-
-
-CancelLocationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-PurgeMS-Arg ::= [3] SEQUENCE {
- imsi IMSI,
- vlr-Number [0] ISDN-AddressString OPTIONAL,
- sgsn-Number [1] ISDN-AddressString OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-PurgeMS-Res ::= SEQUENCE {
- freezeTMSI [0] NULL OPTIONAL,
- freezeP-TMSI [1] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SendIdentificationArg ::= SEQUENCE {
- tmsi TMSI,
- numberOfRequestedVectors NumberOfRequestedVectors OPTIONAL,
- -- if segmentation is used, numberOfRequestedVectors shall be present in
- -- the first segment and shall not be present in subsequent segments. If received
- -- in a subsequent segment it shall be discarded.
- segmentationProhibited NULL OPTIONAL,
- -- if segmentation is prohibited the previous VLR shall not send the result
- -- within a TC-CONTINUE message.
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SendIdentificationRes ::= [3] SEQUENCE {
- imsi IMSI OPTIONAL,
- -- IMSI must be present if SendIdentificationRes is not segmented.
- -- If the TC-Continue segmentation option is taken the IMSI must be
- -- present in one segmented transmission of SendIdentificationRes.
- authenticationSetList AuthenticationSetList OPTIONAL,
- currentSecurityContext [2]CurrentSecurityContext OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
--- authentication management types
-
-AuthenticationSetList ::= CHOICE {
- tripletList [0] TripletList,
- quintupletList [1] QuintupletList }
-
-TripletList ::= SEQUENCE SIZE (1..5) OF
- AuthenticationTriplet
-
-QuintupletList ::= SEQUENCE SIZE (1..5) OF
- AuthenticationQuintuplet
-
-AuthenticationTriplet ::= SEQUENCE {
- rand RAND,
- sres SRES,
- kc Kc,
- ...}
-
-AuthenticationQuintuplet ::= SEQUENCE {
- rand RAND,
- xres XRES,
- ck CK,
- ik IK,
- autn AUTN,
- ...}
-
-CurrentSecurityContext ::= CHOICE {
- gsm-SecurityContextData [0] GSM-SecurityContextData,
- umts-SecurityContextData [1] UMTS-SecurityContextData }
-
-GSM-SecurityContextData ::= SEQUENCE {
- kc Kc,
- cksn Cksn,
- ... }
-
-UMTS-SecurityContextData ::= SEQUENCE {
- ck CK,
- ik IK,
- ksi KSI,
- ... }
-
-RAND ::= OCTET STRING (SIZE (16))
-
-SRES ::= OCTET STRING (SIZE (4))
-
-Kc ::= OCTET STRING (SIZE (8))
-
-XRES ::= OCTET STRING (SIZE (4..16))
-
-CK ::= OCTET STRING (SIZE (16))
-
-IK ::= OCTET STRING (SIZE (16))
-
-AUTN ::= OCTET STRING (SIZE (16))
-
-AUTS ::= OCTET STRING (SIZE (14))
-
-Cksn ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in 3G TS 24.008
-
-KSI ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in 3G TS 24.008
-
-AuthenticationFailureReportArg ::= SEQUENCE {
- imsi IMSI,
- failureCause FailureCause,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-AuthenticationFailureReportRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-FailureCause ::= ENUMERATED {
- wrongUserResponse (0),
- wrongNetworkSignature (1)}
-
--- gprs location registration types
-
-UpdateGprsLocationArg ::= SEQUENCE {
- imsi IMSI,
- sgsn-Number ISDN-AddressString,
- sgsn-Address GSN-Address,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- sgsn-Capability [0] SGSN-Capability OPTIONAL }
-
-SGSN-Capability ::= SEQUENCE{
- solsaSupportIndicator NULL OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... ,
- superChargerSupportedInServingNetworkEntity [2] SuperChargerInfo OPTIONAL ,
- gprsEnhancementsSupportIndicator [3] NULL OPTIONAL,
- supportedCamelPhases [4] SupportedCamelPhases OPTIONAL }
-
-GSN-Address ::= OCTET STRING (SIZE (5..17))
- -- Octets are coded according to TS GSM 03.03
-
-UpdateGprsLocationRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- handover types
-
-ForwardAccessSignalling-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- integrityProtectionInfo [0] IntegrityProtectionInformation OPTIONAL,
- encryptionInfo [1] EncryptionInformation OPTIONAL,
- keyStatus [2] KeyStatus OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-KeyStatus ::= ENUMERATED {
- old (0),
- new (1),
- ...}
- -- exception handling:
- -- received values in range 2-31 shall be treated as "old"
- -- received values greater than 31 shall be treated as "new"
-
-PrepareHO-Arg ::= [3] SEQUENCE {
- targetCellId [0] GlobalCellId OPTIONAL,
- ho-NumberNotRequired NULL OPTIONAL,
- targetRNCId [1] RNCId OPTIONAL,
- an-APDU [2] AccessNetworkSignalInfo OPTIONAL,
- multipleBearerRequested [3] NULL OPTIONAL,
- imsi [4] IMSI OPTIONAL,
- integrityProtectionInfo [5] IntegrityProtectionInformation OPTIONAL,
- encryptionInfo [6] EncryptionInformation OPTIONAL,
- radioResourceInformation [7] RadioResourceInformation OPTIONAL,
- extensionContainer [8] ExtensionContainer OPTIONAL,
- ...}
-
-PrepareHO-Res ::= [3] SEQUENCE {
- handoverNumber [0] ISDN-AddressString OPTIONAL,
- relocationNumberList [1] RelocationNumberList OPTIONAL,
- an-APDU [2] AccessNetworkSignalInfo OPTIONAL,
- multicallBearerInfo [3] MulticallBearerInfo OPTIONAL,
- multipleBearerNotSupported NULL OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-PrepareSubsequentHO-Arg ::= [3] SEQUENCE {
- targetCellId [0] GlobalCellId OPTIONAL,
- targetMSC-Number [1] ISDN-AddressString,
- targetRNCId [2] RNCId OPTIONAL,
- an-APDU [3] AccessNetworkSignalInfo OPTIONAL,
- selectedRab-Id [4] RAB-Id OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-PrepareSubsequentHO-Res ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-ProcessAccessSignalling-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-SendEndSignal-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-SendEndSignal-Res ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-RNCId ::= OCTET STRING (SIZE (7))
- -- Refers to the Target RNC-ID in the Target ID in 3G TS 25.413, where the encoding is
- -- defined.
-
-RelocationNumberList ::= SEQUENCE SIZE (1..maxNumOfRelocationNumber) OF
- RelocationNumber
-
-MulticallBearerInfo ::= INTEGER (1..maxNumOfRelocationNumber)
-
-RelocationNumber ::= SEQUENCE {
- handoverNumber ISDN-AddressString,
- rab-Id RAB-Id,
- -- RAB Identity is needed to relate the calls with the radio access bearers.
- ...}
-
-RAB-Id ::= INTEGER (1..maxNrOfRABs)
-
-maxNrOfRABs INTEGER ::= 255
-
-maxNumOfRelocationNumber INTEGER ::= 7
-
-RadioResourceInformation ::= OCTET STRING (SIZE (5..10))
- -- Octets are coded according the Channel Type information element in GSM 08.08
-
-
-IntegrityProtectionInformation ::= OCTET STRING (SIZE (17..maxNumOfIntegrityInfo))
- -- Octets are coded according to 3G TS 25.413
-
-
-maxNumOfIntegrityInfo INTEGER ::= 100
-
-EncryptionInformation ::= OCTET STRING (SIZE (17..maxNumOfEncryptionInfo))
- -- Octets are coded according to 3G TS 25.413
-
-
-maxNumOfEncryptionInfo INTEGER ::= 100
-
--- authentication management types
-
-SendAuthenticationInfoArg ::= SEQUENCE {
- imsi [0] IMSI,
- numberOfRequestedVectors NumberOfRequestedVectors,
- segmentationProhibited NULL OPTIONAL,
- -- if segmentation is prohibited the HLR shall not send the result within
- -- a TC-CONTINUE message.
- immediateResponsePreferred [1] NULL OPTIONAL,
- -- if present, the HLR may send an immediate response with the available authentication
- -- vectors (see � 8.5.2 for more information).
- re-synchronisationInfo Re-synchronisationInfo OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-NumberOfRequestedVectors ::= INTEGER (1..5)
-
-Re-synchronisationInfo ::= SEQUENCE {
- rand RAND,
- auts AUTS,
- ...}
-
-SendAuthenticationInfoRes ::= [3] SEQUENCE {
- authenticationSetList AuthenticationSetList OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-
--- security management types
-
-EquipmentStatus ::= ENUMERATED {
- whiteListed (0),
- blackListed (1),
- greyListed (2)}
-
-
--- subscriber management types
-
-InsertSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
- COMPONENTS OF SubscriberData,
- extensionContainer [14] ExtensionContainer OPTIONAL,
- ... ,
- naea-PreferredCI [15] NAEA-PreferredCI OPTIONAL,
- -- naea-PreferredCI is included at the discretion of the HLR operator.
- gprsSubscriptionData [16] GPRSSubscriptionData OPTIONAL,
- roamingRestrictedInSgsnDueToUnsupportedFeature [23] NULL
- OPTIONAL,
- networkAccessMode [24] NetworkAccessMode OPTIONAL,
- lsaInformation [25] LSAInformation OPTIONAL,
- lmu-Indicator [21] NULL OPTIONAL,
- lcsInformation [22] LCSInformation OPTIONAL,
- istAlertTimer [26] IST-AlertTimerValue OPTIONAL,
- superChargerSupportedInHLR [27] AgeIndicator OPTIONAL,
- mc-SS-Info [28] MC-SS-Info OPTIONAL,
- cs-AllocationRetentionPriority [29] CS-AllocationRetentionPriority OPTIONAL,
- sgsn-CAMEL-SubscriptionInfo [17] SGSN-CAMEL-SubscriptionInfo OPTIONAL,
- chargingCharacteristics [18] ChargingCharacteristics OPTIONAL
- }
- -- If the Network Access Mode parameter is sent, it shall be present only in
- -- the first sequence if seqmentation is used
-
-CS-AllocationRetentionPriority ::= OCTET STRING (SIZE (1))
- -- This data type encodes each priority level defined in TS 23.107 as the binary value
- -- of the priority level.
-
-IST-AlertTimerValue ::= INTEGER (15..255)
-
-LCSInformation ::= SEQUENCE {
- gmlc-List [0] GMLC-List OPTIONAL,
- lcs-PrivacyExceptionList [1] LCS-PrivacyExceptionList OPTIONAL,
- molr-List [2] MOLR-List OPTIONAL,
- ...}
-
-GMLC-List ::= SEQUENCE SIZE (1..maxNumOfGMLC) OF
- ISDN-AddressString
- -- if segmentation is used, the complete GMLC-List shall be sent in one segment
-
-maxNumOfGMLC INTEGER ::= 5
-
-
-NetworkAccessMode ::= ENUMERATED {
- bothMSCAndSGSN (0),
- onlyMSC (1),
- onlySGSN (2),
- ...}
- -- if unknown values are received in NetworkAccessMode
- -- they shall be discarded.
-
-GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- PDP-Context
-
-maxNumOfPDP-Contexts INTEGER ::= 50
-
-PDP-Context ::= SEQUENCE {
- pdp-ContextId ContextId,
- pdp-Type [16] PDP-Type,
- pdp-Address [17] PDP-Address OPTIONAL,
- qos-Subscribed [18] QoS-Subscribed,
- vplmnAddressAllowed [19] NULL OPTIONAL,
- apn [20] APN,
- extensionContainer [21] ExtensionContainer OPTIONAL,
- ... ,
- ext-QoS-Subscribed [0] Ext-QoS-Subscribed OPTIONAL,
- pdp-ChargingCharacteristics [1] ChargingCharacteristics OPTIONAL }
- -- qos-Subscribed shall be discarded if ext-QoS-Subscribed is received and supported
-
-ContextId ::= INTEGER (1..maxNumOfPDP-Contexts)
-
-GPRSSubscriptionData ::= SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
-
- -- If segmentation is used, completeDataListIncluded may only be present in the
- -- first segment.
- gprsDataList [1] GPRSDataList,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... }
-
-SGSN-CAMEL-SubscriptionInfo ::= SEQUENCE {
- gprs-CSI [0] GPRS-CSI OPTIONAL,
- sms-CSI [1] SMS-CSI OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-GPRS-CSI ::= SEQUENCE {
- gprs-CamelTDPDataList [0] GPRS-CamelTDPDataList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when GPRS-CSI is sent to SGSN.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- GPRS-CamelTDPData and camelCapabilityHandling shall be present in
--- the GPRS-CSI sequence.
--- If GPRS-CSI is segmented, gprs-CamelTDPDataList and camelCapabilityHandling shall be
--- present in the first segment
-
-GPRS-CamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- GPRS-CamelTDPData
--- GPRS-CamelTDPDataList shall not contain more than one instance of
--- GPRS-CamelTDPData containing the same value for gprs-TriggerDetectionPoint.
-
-GPRS-CamelTDPData ::= SEQUENCE {
- gprs-TriggerDetectionPoint [0] GPRS-TriggerDetectionPoint,
- serviceKey [1] ServiceKey,
- gsmSCF-Address [2] ISDN-AddressString,
- defaultSessionHandling [3] DefaultGPRS-Handling,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...
- }
-
-DefaultGPRS-Handling ::= ENUMERATED {
- continueTransaction (0) ,
- releaseTransaction (1) ,
- ...}
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueTransaction"
--- reception of values greater than 31 shall be treated as "releaseTransaction"
-
-GPRS-TriggerDetectionPoint ::= ENUMERATED {
- attach (1),
- attachChangeOfPosition (2),
- pdp-ContextEstablishment (11),
- pdp-ContextEstablishmentAcknowledgement (12),
- pdp-ContextChangeOfPosition (14),
- ... }
--- exception handling:
--- For GPRS-CamelTDPData sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- GPRS-CamelTDPDatasequence.
-
-APN ::= OCTET STRING (SIZE (2..63))
- -- Octets are coded according to TS GSM 03.03
-
-PDP-Type ::= OCTET STRING (SIZE (2))
- -- Octets are coded according to TS GSM 09.60
-
-PDP-Address ::= OCTET STRING (SIZE (1..16))
- -- Octets are coded according to TS GSM 09.60
-
- -- The possible size values are:
- -- 1-7 octets X.25 address type
- -- 4 octets IPv4 address type
- -- 16 octets Ipv6 address type
-
-QoS-Subscribed ::= OCTET STRING (SIZE (3))
- -- Octets are coded according to TS GSM 04.08.
-
-Ext-QoS-Subscribed ::= OCTET STRING (SIZE (1..9))
- -- OCTET 1:
- -- Allocation/Retention Priority (This octet encodes each priority level defined in
- -- 23.107 as the binary value of the priority level, declaration in 29.060)
- -- Octets 2-9 are coded according to 3G TS 24.008 Quality of Service Octets
- -- 6-13.
-
-ChargingCharacteristics ::= OCTET STRING (SIZE (2))
- -- Octets are coded according to 3G TS 32.015.
-
-LSAOnlyAccessIndicator ::= ENUMERATED {
- accessOutsideLSAsAllowed (0),
- accessOutsideLSAsRestricted (1)}
-
-LSADataList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
- LSAData
-
-maxNumOfLSAs INTEGER ::= 20
-
-LSAData ::= SEQUENCE {
- lsaIdentity [0] LSAIdentity,
- lsaAttributes [1] LSAAttributes,
- lsaActiveModeIndicator [2] NULL OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-LSAInformation ::= SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
-
- -- If segmentation is used, completeDataListIncluded may only be present in the
- -- first segment.
- lsaOnlyAccessIndicator [1] LSAOnlyAccessIndicator OPTIONAL,
- lsaDataList [2] LSADataList OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-LSAIdentity ::= OCTET STRING (SIZE (3))
- -- Octets are coded according to TS GSM 03.03
-
-LSAAttributes ::= OCTET STRING (SIZE (1))
- -- Octets are coded according to TS GSM 08.08
-
-
-SubscriberData ::= SEQUENCE {
- msisdn [1] ISDN-AddressString OPTIONAL,
- category [2] Category OPTIONAL,
- subscriberStatus [3] SubscriberStatus OPTIONAL,
- bearerServiceList [4] BearerServiceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- bearerServiceCodes is defined in section 8.8.1
- teleserviceList [6] TeleserviceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- teleserviceCodes is defined in section 8.8.1
- provisionedSS [7] Ext-SS-InfoList OPTIONAL,
- odb-Data [8] ODB-Data OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL,
- regionalSubscriptionData [10] ZoneCodeList OPTIONAL,
- vbsSubscriptionData [11] VBSDataList OPTIONAL,
- vgcsSubscriptionData [12] VGCSDataList OPTIONAL,
- vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL
- }
-
-Category ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in CCITT Rec Q.763.
-
-SubscriberStatus ::= ENUMERATED {
- serviceGranted (0),
- operatorDeterminedBarring (1)}
-
-BearerServiceList ::= SEQUENCE SIZE (1..maxNumOfBearerServices) OF
- Ext-BearerServiceCode
-
-maxNumOfBearerServices INTEGER ::= 50
-
-TeleserviceList ::= SEQUENCE SIZE (1..maxNumOfTeleservices) OF
- Ext-TeleserviceCode
-
-maxNumOfTeleservices INTEGER ::= 20
-
-ODB-Data ::= SEQUENCE {
- odb-GeneralData ODB-GeneralData,
- odb-HPLMN-Data ODB-HPLMN-Data OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ODB-GeneralData ::= BIT STRING {
- allOG-CallsBarred (0),
- internationalOGCallsBarred (1),
- internationalOGCallsNotToHPLMN-CountryBarred (2),
- interzonalOGCallsBarred (6),
- interzonalOGCallsNotToHPLMN-CountryBarred (7),
- interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8),
- premiumRateInformationOGCallsBarred (3),
- premiumRateEntertainementOGCallsBarred (4),
- ss-AccessBarred (5),
- allECT-Barred (9),
- chargeableECT-Barred (10),
- internationalECT-Barred (11),
- interzonalECT-Barred (12),
- doublyChargeableECT-Barred (13),
- multipleECT-Barred (14)} (SIZE (15..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData
-
-ODB-HPLMN-Data ::= BIT STRING {
- plmn-SpecificBarringType1 (0),
- plmn-SpecificBarringType2 (1),
- plmn-SpecificBarringType3 (2),
- plmn-SpecificBarringType4 (3)} (SIZE (4..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-HPLMN-Data type shall be treated like unsupported ODB-HPLMN-Data
-
-Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- Ext-SS-Info
-
-Ext-SS-Info ::= CHOICE {
- forwardingInfo [0] Ext-ForwInfo,
- callBarringInfo [1] Ext-CallBarInfo,
- cug-Info [2] CUG-Info,
- ss-Data [3] Ext-SS-Data,
- emlpp-Info [4] EMLPP-Info}
-
-
-Ext-ForwInfo ::= SEQUENCE {
- ss-Code SS-Code,
- forwardingFeatureList Ext-ForwFeatureList,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-ForwFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-ForwFeature
-
-Ext-ForwFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- -- When this data type is sent from an HLR which supports CAMEL Phase 2
- -- to a VLR that supports CAMEL Phase 2 the VLR shall not check the
- -- format of the number
- forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] Ext-ForwOptions OPTIONAL,
- noReplyConditionTime [7] Ext-NoRepCondTime OPTIONAL,
- extensionContainer [9] ExtensionContainer OPTIONAL,
- ...,
- longForwardedToNumber [10] FTN-AddressString OPTIONAL }
-
-Ext-ForwOptions ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
-
- -- bit 8: notification to forwarding party
- -- 0 no notification
- -- 1 notification
-
- -- bit 7: redirecting presentation
- -- 0 no presentation
- -- 1 presentation
-
- -- bit 6: notification to calling party
- -- 0 no notification
- -- 1 notification
-
- -- bit 5: 0 (unused)
-
- -- bits 43: forwarding reason
- -- 00 ms not reachable
- -- 01 ms busy
- -- 10 no reply
- -- 11 unconditional
-
- -- bits 21: 00 (unused)
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-Ext-NoRepCondTime ::= INTEGER (1..100)
- -- Only values 5-30 are used.
- -- Values in the ranges 1-4 and 31-100 are reserved for future use
- -- If received:
- -- values 1-4 shall be mapped on to value 5
- -- values 31-100 shall be mapped on to value 30
-
-Ext-CallBarInfo ::= SEQUENCE {
- ss-Code SS-Code,
- callBarringFeatureList Ext-CallBarFeatureList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-CallBarFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-CallBarringFeature
-
-Ext-CallBarringFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Info ::= SEQUENCE {
- cug-SubscriptionList CUG-SubscriptionList,
- cug-FeatureList CUG-FeatureList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF
- CUG-Subscription
-
-CUG-Subscription ::= SEQUENCE {
- cug-Index CUG-Index,
- cug-Interlock CUG-Interlock,
- intraCUG-Options IntraCUG-Options,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Index ::= INTEGER (0..32767)
- -- The internal structure is defined in ETS 300 138.
-
-CUG-Interlock ::= OCTET STRING (SIZE (4))
-
-IntraCUG-Options ::= ENUMERATED {
- noCUG-Restrictions (0),
- cugIC-CallBarred (1),
- cugOG-CallBarred (2)}
-
-maxNumOfCUG INTEGER ::= 10
-
-CUG-FeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- CUG-Feature
-
-Ext-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-BasicServiceCode
-
-maxNumOfExt-BasicServiceGroups INTEGER ::= 32
-
-CUG-Feature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- preferentialCUG-Indicator CUG-Index OPTIONAL,
- interCUG-Restrictions InterCUG-Restrictions,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-InterCUG-Restrictions ::= OCTET STRING (SIZE (1))
-
- -- bits 876543: 000000 (unused)
- -- Exception handling:
- -- bits 876543 shall be ignored if received and not understood
-
- -- bits 21
- -- 00 CUG only facilities
- -- 01 CUG with outgoing access
- -- 10 CUG with incoming access
- -- 11 CUG with both outgoing and incoming access
-
-Ext-SS-Data ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status [4] Ext-SS-Status,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-LCS-PrivacyExceptionList ::= SEQUENCE SIZE (1..maxNumOfPrivacyClass) OF
- LCS-PrivacyClass
-
-maxNumOfPrivacyClass INTEGER ::= 4
-
-LCS-PrivacyClass ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status Ext-SS-Status,
- notificationToMSUser [0] NotificationToMSUser OPTIONAL,
- -- notificationToMSUser is expected only for
- -- SS-code = callunrelated or SS-code = callrelated
- externalClientList [1] ExternalClientList OPTIONAL,
- -- externalClientList is expected only for SS-code = callunrelated
- plmnClientList [2] PLMNClientList OPTIONAL,
- -- plmnClientList is expected only for SS-code = plmn operator
- extensionContainer [3] ExtensionContainer OPTIONAL,
- -- if segmentation is used, the complete LCS-PrivacyClass shall be sent in one segment
- ...}
-
-ExternalClientList ::= SEQUENCE SIZE (0..maxNumOfExternalClient) OF
- ExternalClient
-
-maxNumOfExternalClient INTEGER ::= 5
-
-PLMNClientList ::= SEQUENCE SIZE (1..maxNumOfPLMNClient) OF
- LCSClientInternalID
-
-maxNumOfPLMNClient INTEGER ::= 5
-
-ExternalClient ::= SEQUENCE {
- clientIdentity LCSClientExternalID,
- gmlc-Restriction [0] GMLC-Restriction OPTIONAL,
- notificationToMSUser [1] NotificationToMSUser OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... }
-
-GMLC-Restriction ::= ENUMERATED {
- gmlc-List (0),
- home-Country (1) ,
- ... }
--- exception handling:
--- At reception of any other value than the ones listed the receiver shall ignore
--- GMLC-Restriction.
-
-NotificationToMSUser ::= ENUMERATED {
- notifyLocationAllowed (0),
- notifyAndVerify-LocationAllowedIfNoResponse (1),
- notifyAndVerify-LocationNotAllowedIfNoResponse (2),
- ... }
--- exception handling:
--- At reception of any other value than the ones listed the receiver shall ignore
--- NotificationToMSUser.
-
-MOLR-List ::= SEQUENCE SIZE (1..maxNumOfMOLR-Class) OF
- MOLR-Class
-
-maxNumOfMOLR-Class INTEGER ::= 3
-
-MOLR-Class ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status Ext-SS-Status,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes)
- OF ZoneCode
-
-ZoneCode ::= OCTET STRING (SIZE (2))
- -- internal structure is defined in TS GSM 03.03
-
-maxNumOfZoneCodes INTEGER ::= 10
-
-InsertSubscriberDataRes ::= SEQUENCE {
- teleserviceList [1] TeleserviceList OPTIONAL,
- bearerServiceList [2] BearerServiceList OPTIONAL,
- ss-List [3] SS-List OPTIONAL,
- odb-GeneralData [4] ODB-GeneralData OPTIONAL,
- regionalSubscriptionResponse [5] RegionalSubscriptionResponse OPTIONAL,
- supportedCamelPhases [6] SupportedCamelPhases OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...}
-
-RegionalSubscriptionResponse ::= ENUMERATED {
- networkNode-AreaRestricted (0),
- tooManyZoneCodes (1),
- zoneCodesConflict (2),
- regionalSubscNotSupported (3)}
-
-DeleteSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI,
- basicServiceList [1] BasicServiceList OPTIONAL,
- -- The exception handling for reception of unsupported/not allocated
- -- basicServiceCodes is defined in section 6.8.2
- ss-List [2] SS-List OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [4] NULL OPTIONAL,
- regionalSubscriptionIdentifier [5] ZoneCode OPTIONAL,
- vbsGroupIndication [7] NULL OPTIONAL,
- vgcsGroupIndication [8] NULL OPTIONAL,
- camelSubscriptionInfoWithdraw [9] NULL OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...,
- gprsSubscriptionDataWithdraw [10] GPRSSubscriptionDataWithdraw OPTIONAL,
- roamingRestrictedInSgsnDueToUnsuppportedFeature [11] NULL OPTIONAL,
- lsaInformationWithdraw [12] LSAInformationWithdraw OPTIONAL,
- gmlc-ListWithdraw [13] NULL OPTIONAL,
- istInformationWithdraw [14] NULL OPTIONAL,
- specificCSI-Withdraw [15] SpecificCSI-Withdraw OPTIONAL }
-
-SpecificCSI-Withdraw ::= BIT STRING {
- o-csi (0),
- ss-csi (1),
- tif-csi (2),
- d-csi (3),
- vt-csi (4),
- sms-csi (5),
- m-csi (6),
- gprs-csi(7)} (SIZE(8..32))
--- exception handling:
--- bits 8 to 31 shall be ignored if received
-
-GPRSSubscriptionDataWithdraw ::= CHOICE {
- allGPRSData NULL,
- contextIdList ContextIdList}
-
-ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- ContextId
-
-LSAInformationWithdraw ::= CHOICE {
- allLSAData NULL,
- lsaIdentityList LSAIdentityList }
-
-LSAIdentityList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
- LSAIdentity
-
-BasicServiceList ::= SEQUENCE SIZE (1..maxNumOfBasicServices) OF
- Ext-BasicServiceCode
-
-maxNumOfBasicServices INTEGER ::= 70
-
-DeleteSubscriberDataRes ::= SEQUENCE {
- regionalSubscriptionResponse [0] RegionalSubscriptionResponse OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VlrCamelSubscriptionInfo ::= SEQUENCE {
- o-CSI [0] O-CSI OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...,
- ss-CSI [2] SS-CSI OPTIONAL,
- o-BcsmCamelTDP-CriteriaList [4] O-BcsmCamelTDPCriteriaList OPTIONAL,
- tif-CSI [3] NULL OPTIONAL,
- m-CSI [5] M-CSI OPTIONAL,
- sms-CSI [6] SMS-CSI OPTIONAL,
- vt-CSI [7] T-CSI OPTIONAL,
- t-BCSM-CAMEL-TDP-CriteriaList [8] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- d-CSI [9] D-CSI OPTIONAL}
-
-D-CSI ::= SEQUENCE {
- dp-AnalysedInfoCriteriaList [0] DP-AnalysedInfoCriteriaList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when D-CSI is sent to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- DP-AnalysedInfoCriteria and camelCapabilityHandling shall be present in
--- the D-CSI sequence.
--- If D-CSI is segmented, dp-AnalysedInfoCriteriaList and camelCapabilityHandling shall be
--- present in the first segment
-
-
-DP-AnalysedInfoCriteriaList ::= SEQUENCE SIZE (1..maxNumOfDP-AnalysedInfoCriteria) OF
- DP-AnalysedInfoCriterium
-
-maxNumOfDP-AnalysedInfoCriteria INTEGER ::= 10
-
-DP-AnalysedInfoCriterium ::= SEQUENCE {
- dialledNumber ISDN-AddressString,
- serviceKey ServiceKey,
- gsmSCF-Address ISDN-AddressString,
- defaultCallHandling DefaultCallHandling,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SS-CSI ::= SEQUENCE {
- ss-CamelData SS-CamelData,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- notificationToCSE [0] NULL OPTIONAL,
- csi-Active [1] NULL OPTIONAL
--- notificationToCSE and csi-Active shall not be present when SS-CSI is sent to VLR.
--- They may only be included in ATSI/ATM ack/NSDC message.
-}
-
-SS-CamelData ::= SEQUENCE {
- ss-EventList SS-EventList,
- gsmSCF-Address ISDN-AddressString,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ... }
-
-SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code
- -- Actions for the following SS-Code values are defined in CAMEL Phase 3:
- -- ect SS-Code ::= '00110001'B
- -- multiPTY SS-Code ::= '01010001'B
- -- cd SS-Code ::= '00100100'B
- -- ccbs SS-Code ::= '01000100'B
- -- all other SS codes shall be ignored
- -- When SS-CSI is sent to the VLR, it shall not contain a marking for ccbs.
- -- If the VLR receives SS-CSI containing a marking for ccbs, the VLR shall discard the
- -- ccbs marking in SS-CSI.
-
-maxNumOfCamelSSEvents INTEGER ::= 10
-
-O-CSI ::= SEQUENCE {
- o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL,
- notificationToCSE [1] NULL OPTIONAL,
- csiActive [2] NULL OPTIONAL}
--- notificationtoCSE and csiActive shall not be present when O-CSI is sent to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
-
-O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- O-BcsmCamelTDPData
- -- O-BcsmCamelTDPDataList shall not contain more than one instance of
- -- O-BcsmCamelTDPData containing the same value for o-BcsmTriggerDetectionPoint.
- -- For CAMEL Phase 2, this means that only one instance of O-BcsmCamelTDPData is allowed
- -- with o-BcsmTriggerDetectionPoint being equal to DP2.
-
-maxNumOfCamelTDPData INTEGER ::= 10
-
-O-BcsmCamelTDPData ::= SEQUENCE {
- o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- defaultCallHandling [1] DefaultCallHandling,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...
- }
-
-ServiceKey ::= INTEGER (0..2147483647)
-
-O-BcsmTriggerDetectionPoint ::= ENUMERATED {
- collectedInfo (2),
- ...,
- routeSelectFailure (4) }
- -- exception handling:
- -- For O-BcsmCamelTDPData sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- O-BcsmCamelTDPDatasequence.
- -- For O-BcsmCamelTDP-Criteria sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- O-BcsmCamelTDP-Criteria sequence.
-
-O-BcsmCamelTDPCriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- O-BcsmCamelTDP-Criteria
-
-T-BCSM-CAMEL-TDP-CriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- T-BCSM-CAMEL-TDP-Criteria
-
-O-BcsmCamelTDP-Criteria ::= SEQUENCE {
- o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
- destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL,
- basicServiceCriteria [1] BasicServiceCriteria OPTIONAL,
- callTypeCriteria [2] CallTypeCriteria OPTIONAL,
- ...,
- o-CauseValueCriteria [3] O-CauseValueCriteria OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL }
-
-T-BCSM-CAMEL-TDP-Criteria ::= SEQUENCE {
- t-BCSM-TriggerDetectionPoint T-BcsmTriggerDetectionPoint,
- basicServiceCriteria [0] BasicServiceCriteria OPTIONAL,
- t-CauseValueCriteria [1] T-CauseValueCriteria OPTIONAL,
- ... }
-
-DestinationNumberCriteria ::= SEQUENCE {
- matchType [0] MatchType,
- destinationNumberList [1] DestinationNumberList OPTIONAL,
- destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL,
- -- one or both of destinationNumberList and destinationNumberLengthList
- -- shall be present
- ...}
-
-DestinationNumberList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF
- ISDN-AddressString
- -- The receiving entity shall not check the format of a number in
- -- the dialled number list
-
-DestinationNumberLengthList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumberLengths)
-OF
- INTEGER(1..maxNumOfISDN-AddressDigits)
-
-BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF
- Ext-BasicServiceCode
-
-maxNumOfISDN-AddressDigits INTEGER ::= 15
-
-maxNumOfCamelDestinationNumbers INTEGER ::= 10
-
-maxNumOfCamelDestinationNumberLengths INTEGER ::= 3
-
-maxNumOfCamelBasicServiceCriteria INTEGER ::= 5
-
-CallTypeCriteria ::= ENUMERATED {
- forwarded (0),
- notForwarded (1)}
-
-MatchType ::= ENUMERATED {
- inhibiting (0),
- enabling (1)}
-
-O-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-O-CauseValueCriteria) OF
- CauseValue
-
-T-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-T-CauseValueCriteria) OF
- CauseValue
-
-maxNumOfCAMEL-O-CauseValueCriteria INTEGER ::= 5
-
-maxNumOfCAMEL-T-CauseValueCriteria INTEGER ::= 5
-
-CauseValue ::= OCTET STRING (SIZE(1))
--- Type extracted from Cause parameter in ITU-T Recommendation Q.763.
--- For the use of cause value refer to ITU-T Recommendation Q.850.
-
-
-DefaultCallHandling ::= ENUMERATED {
- continueCall (0) ,
- releaseCall (1) ,
- ...}
- -- exception handling:
- -- reception of values in range 2-31 shall be treated as "continueCall"
- -- reception of values greater than 31 shall be treated as "releaseCall"
-
-CamelCapabilityHandling ::= INTEGER(1..16)
- -- value 1 = CAMEL phase 1,
- -- value 2 = CAMEL phase 2,
- -- value 3 = CAMEL Phase 3:
- -- reception of values greater than 3 shall be treated as CAMEL phase 3.
-
-SupportedCamelPhases ::= BIT STRING {
- phase1 (0),
- phase2 (1) ,
- phase3 (2) } (SIZE (1..16))
--- A node shall mark in the BIT STRING all CAMEL Phases it supports.
--- Other values than listed above shall be discarded.
-
-SMS-CSI ::= SEQUENCE {
- sms-CAMEL-TDP-DataList [0] SMS-CAMEL-TDP-DataList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when SMS-CSI is sent to VLR/SGSN.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- SMS-CAMEL-TDP-Data and camelCapabilityHandling shall be present in
--- the SMS-CSI sequence.
--- If SMS-CSI is segmented, sms-CAMEL-TDP-DataList and camelCapabilityHandling shall be
--- present in the first segment
-
-SMS-CAMEL-TDP-DataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- SMS-CAMEL-TDP-Data
--- SMS-CAMEL-TDP-DataList shall not contain more than one instance of
--- SMS-CAMEL-TDP-Data containing the same value for sms-TriggerDetectionPoint.
-
-SMS-CAMEL-TDP-Data ::= SEQUENCE {
- sms-TriggerDetectionPoint [0] SMS-TriggerDetectionPoint,
- serviceKey [1] ServiceKey,
- gsmSCF-Address [2] ISDN-AddressString,
- defaultSMS-Handling [3] DefaultSMS-Handling,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...
- }
-
-SMS-TriggerDetectionPoint ::= ENUMERATED {
- sms-CollectedInfo (1),
- ... }
--- exception handling:
--- For SMS-CAMEL-TDP-Data sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- SMS-CAMEL-TDP-Data sequence.
-
-DefaultSMS-Handling ::= ENUMERATED {
- continueTransaction (0) ,
- releaseTransaction (1) ,
- ...}
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueTransaction"
--- reception of values greater than 31 shall be treated as "releaseTransaction"
-
-M-CSI ::= SEQUENCE {
- mobilityTriggers MobilityTriggers,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- notificationToCSE [2] NULL OPTIONAL,
- csi-Active [3] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when M-CSI is sent to VLR.
--- They may only be included in ATSI/ATM ack/NSDC message.
-
-MobilityTriggers ::= SEQUENCE SIZE (1..maxNumOfMobilityTriggers) OF
- MM-Code
-
-maxNumOfMobilityTriggers INTEGER ::= 10
-
-MM-Code ::= OCTET STRING (SIZE (1))
--- This type is used to indicate a Mobility Management event.
--- Actions for the following M-Code values are defined in CAMEL Phase 3:
---
--- Location-update-in-same-VLR MM-Code ::= '00000000'B
--- Location-update-to-other-VLR MM-Code ::= '00000001'B
--- IMSI-Attach MM-Code ::= '00000010'B
--- MS-initiated-IMSI-Detach MM-Code ::= '00000011'B
--- Network-initiated-IMSI-Detach MM-Code ::= '00000100'B
---
--- If any other MM-code is received in M-CSI, then that MM-code shall be
--- ignored.
-
-T-CSI ::= SEQUENCE {
- t-BcsmCamelTDPDataList T-BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL,
- notificationToCSE [1] NULL OPTIONAL,
- csi-Active [2] NULL OPTIONAL}
--- notificationToCSE and csi-Active shall not be present when VT-CSI/T-CSI is sent
--- to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
-
-T-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- T-BcsmCamelTDPData
- --- T-BcsmCamelTDPDataList shall not contain more than one instance of
- --- T-BcsmCamelTDPData containing the same value for t-BcsmTriggerDetectionPoint.
- --- For CAMEL Phase 2, this means that only one instance of T-BcsmCamelTDPData is
- --- allowed
- --- with t-BcsmTriggerDetectionPoint being equal to DP12.
- --- For CAMEL Phase 3, more TDP�s are allowed.
-
-T-BcsmCamelTDPData ::= SEQUENCE {
- t-BcsmTriggerDetectionPoint T-BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- defaultCallHandling [1] DefaultCallHandling,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-T-BcsmTriggerDetectionPoint ::= ENUMERATED {
- termAttemptAuthorized (12),
- ... ,
- tBusy (13),
- tNoAnswer (14)}
- -- exception handling:
- -- For T-BcsmCamelTDPData sequences containing this parameter with any other
- -- value than the ones listed above, the receiver shall ignore the whole
- -- T-BcsmCamelTDPData sequence.
-
-
--- failure report types
-
-FailureReportArg ::= SEQUENCE {
- imsi [0] IMSI,
- ggsn-Number [1] ISDN-AddressString ,
- ggsn-Address [2] GSN-Address OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-FailureReportRes ::= SEQUENCE {
- ggsn-Address [0] GSN-Address OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
--- gprs notification types
-
-NoteMsPresentForGprsArg ::= SEQUENCE {
- imsi [0] IMSI,
- sgsn-Address [1] GSN-Address,
- ggsn-Address [2] GSN-Address OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-NoteMsPresentForGprsRes ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-
--- fault recovery types
-
-ResetArg ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- hlr-List HLR-List OPTIONAL,
- ...}
-
-RestoreDataArg ::= SEQUENCE {
- imsi IMSI,
- lmsi LMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- vlr-Capability [6] VLR-Capability OPTIONAL }
-
-RestoreDataRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- msNotReachable NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- VBS/VGCS types
-VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF
- VoiceBroadcastData
-
-VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF
- VoiceGroupCallData
-
-maxNumOfVBSGroupIds INTEGER ::= 50
-
-maxNumOfVGCSGroupIds INTEGER ::= 50
-
-VoiceGroupCallData ::= SEQUENCE {
- groupId GroupId,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VoiceBroadcastData ::= SEQUENCE {
- groupid GroupId,
- broadcastInitEntitlement NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-GroupId ::= OCTET STRING (SIZE (3))
- -- Refers to the Group Identification as specified in GSM TS 03.03
- -- and 03.68/ 03.69
-
--- provide subscriber info types
-
-ProvideSubscriberInfoArg ::= SEQUENCE {
- imsi [0] IMSI,
- lmsi [1] LMSI OPTIONAL,
- requestedInfo [2] RequestedInfo,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-ProvideSubscriberInfoRes ::= SEQUENCE {
- subscriberInfo SubscriberInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SubscriberInfo ::= SEQUENCE {
- locationInformation [0] LocationInformation OPTIONAL,
- subscriberState [1] SubscriberState OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-RequestedInfo ::= SEQUENCE {
- locationInformation [0] NULL OPTIONAL,
- subscriberState [1] NULL OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- currentLocation [3] NULL OPTIONAL }
--- currentLocation shall not be present if locationInformation
--- is not present in the RequestedInfo parameter
-
-LocationInformation ::= SEQUENCE {
- ageOfLocationInformation AgeOfLocationInformation OPTIONAL,
- geographicalInformation [0] GeographicalInformation OPTIONAL,
- vlr-number [1] ISDN-AddressString OPTIONAL,
- locationNumber [2] LocationNumber OPTIONAL,
- cellGlobalIdOrServiceAreaIdOrLAI [3] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ... ,
- selectedLSA-Id [5] LSAIdentity OPTIONAL,
- msc-Number [6] ISDN-AddressString OPTIONAL,
- geodeticInformation [7] GeodeticInformation OPTIONAL,
- currentLocationRetrieved [8] NULL OPTIONAL,
- sai-Present [9] NULL OPTIONAL }
--- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
--- a Service Area Identity.
--- currentLocationRetrieved shall be present
--- if the location information were retrieved after a successfull paging.
-
-GeographicalInformation ::= OCTET STRING (SIZE (8))
--- Refers to geographical Information defined in GSM 03.32.
--- Only the description of an ellipsoid point with uncertainty circle
--- as specified in GSM 03.32 is allowed to be used
--- The internal structure according to GSM 03.32 is as follows:
--- Type of shape (ellipsoid point with uncertainty circle) 1 octet
--- Degrees of Latitude 3 octets
--- Degrees of Longitude 3 octets
--- Uncertainty code 1 octet
-
-GeodeticInformation ::= OCTET STRING (SIZE (10))
--- Refers to Calling Geodetic Location defined in Q.763 (1999).
--- Only the description of an ellipsoid point with uncertainty circle
--- as specified in Q.763 (1999) is allowed to be used
--- The internal structure according to Q.763 (1999) is as follows:
--- Screening and presentation indicators 1 octet
--- Type of shape (ellipsoid point with uncertainty circle) 1 octet
--- Degrees of Latitude 3 octets
--- Degrees of Longitude 3 octets
--- Uncertainty code 1 octet
--- Confidence 1 octet
-
-LocationNumber ::= OCTET STRING (SIZE (2..10))
- -- the internal structure is defined in CCITT Rec Q.763
-
-SubscriberState ::= CHOICE {
- assumedIdle [0] NULL,
- camelBusy [1] NULL,
- netDetNotReachable NotReachableReason,
- notProvidedFromVLR [2] NULL}
-
-NotReachableReason ::= ENUMERATED {
- msPurged (0),
- imsiDetached (1),
- restrictedArea (2),
- notRegistered (3)}
-
--- any time interrogation info types
-
-AnyTimeInterrogationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- requestedInfo [1] RequestedInfo,
- gsmSCF-Address [3] ISDN-AddressString,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-AnyTimeInterrogationRes ::= SEQUENCE {
- subscriberInfo SubscriberInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-
--- any time information handling types
-
-AnyTimeSubscriptionInterrogationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- requestedSubscriptionInfo [1] RequestedSubscriptionInfo,
- gsmSCF-Address [2] ISDN-AddressString,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- longFTN-Supported [4] NULL OPTIONAL,
- ...}
-
-AnyTimeSubscriptionInterrogationRes ::= SEQUENCE {
- callForwardingData [1] CallForwardingData OPTIONAL,
- callBarringData [2] CallBarringData OPTIONAL,
- odb-Info [3] ODB-Info OPTIONAL,
- camel-SubscriptionInfo [4] CAMEL-SubscriptionInfo OPTIONAL,
- supportedVLR-CAMEL-Phases [5] SupportedCamelPhases OPTIONAL,
- supportedSGSN-CAMEL-Phases [6] SupportedCamelPhases OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...}
-
-RequestedSubscriptionInfo ::= SEQUENCE {
- requestedSS-Info [1] SS-ForBS-Code OPTIONAL,
- odb [2] NULL OPTIONAL,
- requestedCAMEL-SubscriptionInfo [3] RequestedCAMEL-SubscriptionInfo OPTIONAL,
- supportedVLR-CAMEL-Phases [4] NULL OPTIONAL,
- supportedSGSN-CAMEL-Phases [5] NULL OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...}
-
-RequestedCAMEL-SubscriptionInfo ::= ENUMERATED {
- o-CSI (0),
- t-CSI (1),
- vt-CSI (2),
- tif-CSI (3),
- gprs-CSI (4),
- sms-CSI (5),
- ss-CSI (6),
- m-CSI (7),
- d-csi (8)}
-
-CallForwardingData ::= SEQUENCE {
- forwardingFeatureList Ext-ForwFeatureList,
- notificationToCSE NULL OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CallBarringData ::= SEQUENCE {
- callBarringFeatureList Ext-CallBarFeatureList,
- password Password,
- wrongPasswordAttemptsCounter WrongPasswordAttemptsCounter,
- notificationToCSE NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-WrongPasswordAttemptsCounter ::= INTEGER (0..4)
-
-ODB-Info ::= SEQUENCE {
- odb-Data ODB-Data,
- notificationToCSE NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CAMEL-SubscriptionInfo ::= SEQUENCE {
- o-CSI [0] O-CSI OPTIONAL,
- o-BcsmCamelTDP-CriteriaList [1] O-BcsmCamelTDPCriteriaList OPTIONAL,
- d-CSI [2] D-CSI OPTIONAL,
- t-CSI [3] T-CSI OPTIONAL,
- t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- vt-CSI [5] T-CSI OPTIONAL,
- vt-BCSM-CAMEL-TDP-CriteriaList [6] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- tif-CSI [7] NULL OPTIONAL,
- tif-CSI-NotificationToCSE [8] NULL OPTIONAL,
- gprs-CSI [9] GPRS-CSI OPTIONAL,
- sms-CSI [10] SMS-CSI OPTIONAL,
- ss-CSI [11] SS-CSI OPTIONAL,
- m-CSI [12] M-CSI OPTIONAL,
- extensionContainer [13] ExtensionContainer OPTIONAL,
- ...}
-
-AnyTimeModificationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- gsmSCF-Address [1] ISDN-AddressString,
- modificationRequestFor-CF-Info [2] ModificationRequestFor-CF-Info OPTIONAL,
- modificationRequestFor-CB-Info [3] ModificationRequestFor-CB-Info OPTIONAL,
- modificationRequestFor-CSI [4] ModificationRequestFor-CSI OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- longFTN-Supported [6] NULL OPTIONAL,
- ...}
-
-AnyTimeModificationRes ::= SEQUENCE {
- ss-InfoFor-CSE [0] Ext-SS-InfoFor-CSE OPTIONAL,
- camel-SubscriptionInfo [1] CAMEL-SubscriptionInfo OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-CF-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- basicService [1] Ext-BasicServiceCode OPTIONAL,
- ss-Status [2] Ext-SS-Status OPTIONAL,
- forwardedToNumber [3] AddressString OPTIONAL,
- forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL,
- noReplyConditionTime [5] Ext-NoRepCondTime OPTIONAL,
- modifyNotificationToCSE [6] ModificationInstruction OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-CB-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- basicService [1] Ext-BasicServiceCode OPTIONAL,
- ss-Status [2] Ext-SS-Status OPTIONAL,
- password [3] Password OPTIONAL,
- wrongPasswordAttemptsCounter [4] WrongPasswordAttemptsCounter OPTIONAL,
- modifyNotificationToCSE [5] ModificationInstruction OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-CSI ::= SEQUENCE {
- requestedCamel-SubscriptionInfo [0] RequestedCAMEL-SubscriptionInfo,
- modifyNotificationToCSE [1] ModificationInstruction OPTIONAL,
- modifyCSI-State [2] ModificationInstruction OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationInstruction ::= ENUMERATED {
- deactivate (0),
- activate (1)}
-
--- subscriber data modification notification types
-
-NoteSubscriberDataModifiedArg ::= SEQUENCE {
- imsi IMSI,
- msisdn ISDN-AddressString,
- forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE OPTIONAL,
- callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE OPTIONAL,
- odb-Info [2] ODB-Info OPTIONAL,
- camel-SubscriptionInfo [3] CAMEL-SubscriptionInfo OPTIONAL,
- allInformationSent [4] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-NoteSubscriberDataModifiedRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-
--- mobility management event notificatioon info types
-
-NoteMM-EventArg::= SEQUENCE {
- serviceKey ServiceKey,
- eventMet [0] MM-Code,
- imsi [1] IMSI,
- msisdn [2] ISDN-AddressString,
- locationInformation [3] LocationInformation OPTIONAL,
- supportedCAMELPhases [5] SupportedCamelPhases OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...}
-
-NoteMM-EventRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-SS-InfoFor-CSE ::= CHOICE {
- forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE,
- callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE
- }
-
-Ext-ForwardingInfoFor-CSE ::= SEQUENCE {
- ss-Code [0] SS-Code,
- forwardingFeatureList [1] Ext-ForwFeatureList,
- notificationToCSE [2] NULL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-CallBarringInfoFor-CSE ::= SEQUENCE {
- ss-Code [0] SS-Code,
- callBarringFeatureList [1] Ext-CallBarFeatureList,
- password [2] Password,
- wrongPasswordAttemptsCounter [3] WrongPasswordAttemptsCounter,
- notificationToCSE [4] NULL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-14-4.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-14-4.asn
deleted file mode 100644
index d545a746ec..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-14-4.asn
+++ /dev/null
@@ -1,66 +0,0 @@
--- module(Mvrasn-14-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Supplementary Service data types".
---
--- ASN.1 module: "MAP-SS-DataTypes".
---
--- =============================================================================
-
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-14-4
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- SS-SubscriptionOption,
- SS-List,
- maxNumOfSS
-;
-
-IMPORTS
-
- SS-Code
-FROM Mvrasn-15-4
-
-;
-
-SS-SubscriptionOption ::= CHOICE {
- cliRestrictionOption [2] CliRestrictionOption,
- overrideCategory [1] OverrideCategory}
-
-CliRestrictionOption ::= ENUMERATED {
- permanent (0),
- temporaryDefaultRestricted (1),
- temporaryDefaultAllowed (2)}
-
-OverrideCategory ::= ENUMERATED {
- overrideEnabled (0),
- overrideDisabled (1)}
-
-SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- SS-Code
-
-maxNumOfSS INTEGER ::= 30
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-14-6.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-14-6.asn
deleted file mode 100644
index 3b4a827776..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-14-6.asn
+++ /dev/null
@@ -1,352 +0,0 @@
--- module(Mvrasn-14-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Supplementary Service data types".
---
--- ASN.1 module: "MAP-SS-DataTypes".
---
--- =============================================================================
-
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010813 etord First draft, based on GSM 29.002 v. 3.8.0.
--- ..............................................................
-
-Mvrasn-14-6
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- RegisterSS-Arg,
- SS-Info,
- SS-Status,
- SS-SubscriptionOption,
- SS-ForBS-Code,
- InterrogateSS-Res,
- USSD-Arg,
- USSD-Res,
- USSD-DataCodingScheme,
- USSD-String,
- Password,
- GuidanceInfo,
- SS-List,
- SS-InfoList,
- OverrideCategory,
- CliRestrictionOption,
- NoReplyConditionTime,
- ForwardingOptions,
- maxNumOfSS,
- SS-Data,
- SS-InvocationNotificationArg,
- SS-InvocationNotificationRes,
- CCBS-Feature,
- RegisterCC-EntryArg,
- RegisterCC-EntryRes,
- EraseCC-EntryArg,
- EraseCC-EntryRes
-;
-
-IMPORTS
- AddressString,
- ISDN-AddressString,
- ISDN-SubaddressString,
- FTN-AddressString,
- IMSI,
- BasicServiceCode,
- AlertingPattern,
- EMLPP-Priority,
- MaxMC-Bearers,
- MC-Bearers,
- ExternalSignalInfo
-FROM Mvrasn-18-6
-
- ExtensionContainer
-FROM Mvrasn-21-4
-
- SS-Code
-FROM Mvrasn-15-6
-;
-
-RegisterSS-Arg ::= SEQUENCE {
- ss-Code SS-Code,
- basicService BasicServiceCode OPTIONAL,
- forwardedToNumber [4] AddressString OPTIONAL,
- forwardedToSubaddress [6] ISDN-SubaddressString OPTIONAL,
- noReplyConditionTime [5] NoReplyConditionTime OPTIONAL,
- ...,
- defaultPriority [7] EMLPP-Priority OPTIONAL,
- nbrUser [8] MC-Bearers OPTIONAL,
- longFTN-Supported [9] NULL OPTIONAL }
-
-NoReplyConditionTime ::= INTEGER (5..30)
-
-SS-Info ::= CHOICE {
- forwardingInfo [0] ForwardingInfo,
- callBarringInfo [1] CallBarringInfo,
- ss-Data [3] SS-Data}
-
-ForwardingInfo ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- forwardingFeatureList ForwardingFeatureList,
- ...}
-
-ForwardingFeatureList ::=
- SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- ForwardingFeature
-
-ForwardingFeature ::= SEQUENCE {
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] ForwardingOptions OPTIONAL,
- noReplyConditionTime [7] NoReplyConditionTime OPTIONAL,
- ...,
- longForwardedToNumber [9] FTN-AddressString OPTIONAL }
-
-SS-Status ::= OCTET STRING (SIZE (1))
-
- -- bits 8765: 0000 (unused)
- -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
- -- representing supplementary service state information
- -- as defined in TS GSM 03.11
-
- -- bit 4: "Q bit"
-
- -- bit 3: "P bit"
-
- -- bit 2: "R bit"
-
- -- bit 1: "A bit"
-
-ForwardingOptions ::= OCTET STRING (SIZE (1))
-
- -- bit 8: notification to forwarding party
- -- 0 no notification
- -- 1 notification
-
- -- bit 7: redirecting presentation
- -- 0 no presentation
- -- 1 presentation
-
- -- bit 6: notification to calling party
- -- 0 no notification
- -- 1 notification
-
- -- bit 5: 0 (unused)
-
- -- bits 43: forwarding reason
- -- 00 ms not reachable
- -- 01 ms busy
- -- 10 no reply
- -- 11 unconditional when used in a SRI Result,
- -- or call deflection when used in a RCH Argument
- -- bits 21: 00 (unused)
-
-CallBarringInfo ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- callBarringFeatureList CallBarringFeatureList,
- ...}
-
-CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- CallBarringFeature
-
-CallBarringFeature ::= SEQUENCE {
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- ...}
-
-SS-Data ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
- basicServiceGroupList BasicServiceGroupList OPTIONAL,
- ...,
- defaultPriority EMLPP-Priority OPTIONAL,
- nbrUser [5] MC-Bearers OPTIONAL
- }
-
-SS-SubscriptionOption ::= CHOICE {
- cliRestrictionOption [2] CliRestrictionOption,
- overrideCategory [1] OverrideCategory}
-
-CliRestrictionOption ::= ENUMERATED {
- permanent (0),
- temporaryDefaultRestricted (1),
- temporaryDefaultAllowed (2)}
-
-OverrideCategory ::= ENUMERATED {
- overrideEnabled (0),
- overrideDisabled (1)}
-
-SS-ForBS-Code ::= SEQUENCE {
- ss-Code SS-Code,
- basicService BasicServiceCode OPTIONAL,
- ...,
- longFTN-Supported [4] NULL OPTIONAL }
-
-GenericServiceInfo ::= SEQUENCE {
- ss-Status SS-Status,
- cliRestrictionOption CliRestrictionOption OPTIONAL,
- ...,
- maximumEntitledPriority [0] EMLPP-Priority OPTIONAL,
- defaultPriority [1] EMLPP-Priority OPTIONAL,
- ccbs-FeatureList [2] CCBS-FeatureList OPTIONAL,
- nbrSB [3] MaxMC-Bearers OPTIONAL,
- nbrUser [4] MC-Bearers OPTIONAL,
- nbrSN [5] MC-Bearers OPTIONAL }
-
-CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF
- CCBS-Feature
-
-maxNumOfCCBS-Requests INTEGER ::= 5
-
-CCBS-Feature ::= SEQUENCE {
- ccbs-Index [0] CCBS-Index OPTIONAL,
- b-subscriberNumber [1] ISDN-AddressString OPTIONAL,
- b-subscriberSubaddress [2] ISDN-SubaddressString OPTIONAL,
- basicServiceGroup [3] BasicServiceCode OPTIONAL,
- ...}
-
-CCBS-Index ::= INTEGER (1..maxNumOfCCBS-Requests)
-
-InterrogateSS-Res ::= CHOICE {
- ss-Status [0] SS-Status,
- basicServiceGroupList [2] BasicServiceGroupList,
- forwardingFeatureList [3] ForwardingFeatureList,
- genericServiceInfo [4] GenericServiceInfo }
-
-USSD-Arg ::= SEQUENCE {
- ussd-DataCodingScheme USSD-DataCodingScheme,
- ussd-String USSD-String,
- ... ,
- alertingPattern AlertingPattern OPTIONAL,
- msisdn [0] ISDN-AddressString OPTIONAL }
-
-USSD-Res ::= SEQUENCE {
- ussd-DataCodingScheme USSD-DataCodingScheme,
- ussd-String USSD-String,
- ...}
-
-USSD-DataCodingScheme ::= OCTET STRING (SIZE (1))
- -- The structure of the USSD-DataCodingScheme is defined by
- -- the Cell Broadcast Data Coding Scheme as described in
- -- TS GSM 03.38
-
-USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength))
- -- The structure of the contents of the USSD-String is dependent
- -- on the USSD-DataCodingScheme as described in TS GSM 03.38.
-
-maxUSSD-StringLength INTEGER ::= 160
-
-Password ::= NumericString
- (FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"))
- (SIZE (4))
-
-GuidanceInfo ::= ENUMERATED {
- enterPW (0),
- enterNewPW (1),
- enterNewPW-Again (2)}
- -- How this information is really delivered to the subscriber
- -- (display, announcement, ...) is not part of this
- -- specification.
-
-SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- SS-Code
-
-maxNumOfSS INTEGER ::= 30
-
-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- SS-Info
-
-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- BasicServiceCode
-
-maxNumOfBasicServiceGroups INTEGER ::= 13
-
-SS-InvocationNotificationArg ::= SEQUENCE {
- imsi [0] IMSI,
- msisdn [1] ISDN-AddressString,
- ss-Event [2] SS-Code,
- -- The following SS-Code values are allowed :
- -- ect SS-Code ::= '00110001'B
- -- multiPTY SS-Code ::= '01010001'B
- -- cd SS-Code ::= '00100100'B
- -- ccbs SS-Code ::= '01000100'B
- ss-EventSpecification [3] SS-EventSpecification OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...,
- b-subscriberNumber [5] ISDN-AddressString OPTIONAL,
- ccbs-RequestState [6] CCBS-RequestState OPTIONAL
- }
-
-CCBS-RequestState ::= ENUMERATED {
- request (0),
- recall (1),
- active (2),
- completed (3),
- suspended (4),
- frozen (5),
- deleted (6)
- }
-
-SS-InvocationNotificationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...
- }
-
-SS-EventSpecification ::= SEQUENCE SIZE (1..maxEventSpecification) OF
- AddressString
-
-maxEventSpecification INTEGER ::= 2
-
-RegisterCC-EntryArg ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ccbs-Data [1] CCBS-Data OPTIONAL,
- ...}
-
-CCBS-Data ::= SEQUENCE {
- ccbs-Feature [0] CCBS-Feature,
- translatedB-Number [1] ISDN-AddressString,
- serviceIndicator [2] ServiceIndicator OPTIONAL,
- callInfo [3] ExternalSignalInfo,
- networkSignalInfo [4] ExternalSignalInfo,
- ...}
-
-ServiceIndicator ::= BIT STRING {
- clir-invoked (0),
- camel-invoked (1)} (SIZE(2..32))
- -- exception handling:
- -- bits 2 to 31 shall be ignored if received and not understood
-
-RegisterCC-EntryRes ::= SEQUENCE {
- ccbs-Feature [0] CCBS-Feature OPTIONAL,
- ...}
-
-EraseCC-EntryArg ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ccbs-Index [1] CCBS-Index OPTIONAL,
- ...}
-
-EraseCC-EntryRes ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ss-Status [1] SS-Status OPTIONAL,
- ...}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-15-4.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-15-4.asn
deleted file mode 100644
index fed9f38d1a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-15-4.asn
+++ /dev/null
@@ -1,42 +0,0 @@
--- module(Mvrasn-15-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Supplementary service codes".
---
--- ASN.1 module: "MAP-SS-Code".
---
--- =============================================================================
-
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-15-4
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-SS-Code ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- supplementary service, a group of supplementary services, or
- -- all supplementary services. The services and abbreviations
- -- used are defined in TS GSM 02.04. The internal structure is
- -- defined as follows:
- --
- -- bits 87654321: group (bits 8765), and specific service
- -- (bits 4321)
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-15-6.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-15-6.asn
deleted file mode 100644
index b9813e8481..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-15-6.asn
+++ /dev/null
@@ -1,202 +0,0 @@
--- module(Mvrasn-15-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Supplementary service codes".
---
--- ASN.1 module: "MAP-SS-Code".
---
--- =============================================================================
-
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010813 etord First draft, based on GSM 29.002 v. 3.8.0.
--- ..............................................................
-
-Mvrasn-15-6
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-SS-Code ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- supplementary service, a group of supplementary services, or
- -- all supplementary services. The services and abbreviations
- -- used are defined in TS GSM 02.04. The internal structure is
- -- defined as follows:
- --
- -- bits 87654321: group (bits 8765), and specific service
- -- (bits 4321)
-
-allSS SS-Code ::= '00000000'B
- -- reserved for possible future use
- -- all SS
-
-allLineIdentificationSS SS-Code ::= '00010000'B
- -- reserved for possible future use
- -- all line identification SS
-clip SS-Code ::= '00010001'B
- -- calling line identification presentation
-clir SS-Code ::= '00010010'B
- -- calling line identification restriction
-colp SS-Code ::= '00010011'B
- -- connected line identification presentation
-colr SS-Code ::= '00010100'B
- -- connected line identification restriction
-mci SS-Code ::= '00010101'B
- -- reserved for possible future use
- -- malicious call identification
-
-allNameIdentificationSS SS-Code ::= '00011000'B
- -- all name identification SS
-cnap SS-Code ::= '00011001'B
- -- calling name presentation
-
- -- SS-Codes '00011010'B to '00011111'B are reserved for future
- -- NameIdentification Supplementary Service use.
-
-allForwardingSS SS-Code ::= '00100000'B
- -- all forwarding SS
-cfu SS-Code ::= '00100001'B
- -- call forwarding unconditional
-allCondForwardingSS SS-Code ::= '00101000'B
- -- all conditional forwarding SS
-cfb SS-Code ::= '00101001'B
- -- call forwarding on mobile subscriber busy
-cfnry SS-Code ::= '00101010'B
- -- call forwarding on no reply
-cfnrc SS-Code ::= '00101011'B
- -- call forwarding on mobile subscriber not reachable
-cd SS-Code ::= '00100100'B
- -- call deflection
-
-allCallOfferingSS SS-Code ::= '00110000'B
- -- reserved for possible future use
- -- all call offering SS includes also all forwarding SS
-ect SS-Code ::= '00110001'B
- -- explicit call transfer
-mah SS-Code ::= '00110010'B
- -- reserved for possible future use
- -- mobile access hunting
-
-allCallCompletionSS SS-Code ::= '01000000'B
- -- reserved for possible future use
- -- all Call completion SS
-cw SS-Code ::= '01000001'B
- -- call waiting
-hold SS-Code ::= '01000010'B
- -- call hold
-ccbs-A SS-Code ::= '01000011'B
- -- completion of call to busy subscribers, originating side
-ccbs-B SS-Code ::= '01000100'B
- -- completion of call to busy subscribers, destination side
- -- this SS-Code is used only in InsertSubscriberData and DeleteSubscriberData
-mc SS-Code ::= '01000101'B
- -- multicall
-
-allMultiPartySS SS-Code ::= '01010000'B
- -- reserved for possible future use
- -- all multiparty SS
-multiPTY SS-Code ::= '01010001'B
- -- multiparty
-
-allCommunityOfInterest-SS SS-Code ::= '01100000'B
- -- reserved for possible future use
- -- all community of interest SS
-cug SS-Code ::= '01100001'B
- -- closed user group
-
-allChargingSS SS-Code ::= '01110000'B
- -- reserved for possible future use
- -- all charging SS
-aoci SS-Code ::= '01110001'B
- -- advice of charge information
-aocc SS-Code ::= '01110010'B
- -- advice of charge charging
-
-allAdditionalInfoTransferSS SS-Code ::= '10000000'B
- -- reserved for possible future use
- -- all additional information transfer SS
-uus1 SS-Code ::= '10000001'B
- -- UUS1 user-to-user signalling
-uus2 SS-Code ::= '10000010'B
- -- UUS2 user-to-user signalling
-uus3 SS-Code ::= '10000011'B
- -- UUS3 user-to-user signalling
-
-allBarringSS SS-Code ::= '10010000'B
- -- all barring SS
-barringOfOutgoingCalls SS-Code ::= '10010001'B
- -- barring of outgoing calls
-baoc SS-Code ::= '10010010'B
- -- barring of all outgoing calls
-boic SS-Code ::= '10010011'B
- -- barring of outgoing international calls
-boicExHC SS-Code ::= '10010100'B
- -- barring of outgoing international calls except those directed
- -- to the home PLMN
-barringOfIncomingCalls SS-Code ::= '10011001'B
- -- barring of incoming calls
-baic SS-Code ::= '10011010'B
- -- barring of all incoming calls
-bicRoam SS-Code ::= '10011011'B
- -- barring of incoming calls when roaming outside home PLMN
- -- Country
-
-allPLMN-specificSS SS-Code ::= '11110000'B
-plmn-specificSS-1 SS-Code ::= '11110001'B
-plmn-specificSS-2 SS-Code ::= '11110010'B
-plmn-specificSS-3 SS-Code ::= '11110011'B
-plmn-specificSS-4 SS-Code ::= '11110100'B
-plmn-specificSS-5 SS-Code ::= '11110101'B
-plmn-specificSS-6 SS-Code ::= '11110110'B
-plmn-specificSS-7 SS-Code ::= '11110111'B
-plmn-specificSS-8 SS-Code ::= '11111000'B
-plmn-specificSS-9 SS-Code ::= '11111001'B
-plmn-specificSS-A SS-Code ::= '11111010'B
-plmn-specificSS-B SS-Code ::= '11111011'B
-plmn-specificSS-C SS-Code ::= '11111100'B
-plmn-specificSS-D SS-Code ::= '11111101'B
-plmn-specificSS-E SS-Code ::= '11111110'B
-plmn-specificSS-F SS-Code ::= '11111111'B
-
-allCallPrioritySS SS-Code ::= '10100000'B
- -- reserved for possible future use
- -- all call priority SS
-emlpp SS-Code ::= '10100001'B
- -- enhanced Multilevel Precedence Pre-emption (EMLPP) service
-
-allLCSPrivacyException SS-Code ::= '10110000'B
- -- all LCS Privacy Exception Classes
-universal SS-Code ::= '10110001'B
- -- allow location by any LCS client
-callrelated SS-Code ::= '10110010'B
- -- allow location by any value added LCS client to which a call
- -- is established from the target MS
-callunrelated SS-Code ::= '10110011'B
- -- allow location by designated external value added LCS clients
-plmnoperator SS-Code ::= '10110100'B
- -- allow location by designated PLMN operator LCS clients
-
-allMOLR-SS SS-Code ::= '11000000'B
- -- all Mobile Originating Location Request Classes
-basicSelfLocation SS-Code ::= '11000001'B
- -- allow an MS to request its own location
-autonomousSelfLocation SS-Code ::= '11000010'B
- -- allow an MS to perform self location without interaction
- -- with the PLMN for a predetermined period of time
-transferToThirdParty SS-Code ::= '11000011'B
- -- allow an MS to request transfer of its location to another LCS client
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-17-4.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-17-4.asn
deleted file mode 100644
index 29f3a0ff3b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-17-4.asn
+++ /dev/null
@@ -1,100 +0,0 @@
--- module(Mvrasn-17-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Error data types".
---
--- ASN.1 module: "MAP-ER-DataTypes".
---
--- =============================================================================
-
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-17-4
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- RoamingNotAllowedParam,
- SystemFailureParam,
- DataMissingParam,
- UnexpectedDataParam,
- UnknownSubscriberParam,
- UnidentifiedSubParam
-
-;
-
-IMPORTS
-
- ExtensionContainer
-FROM Mvrasn-21-4
-
- NetworkResource
-FROM Mvrasn-18-4
-
-;
-
-RoamingNotAllowedParam ::= SEQUENCE {
- roamingNotAllowedCause RoamingNotAllowedCause,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-RoamingNotAllowedCause ::= ENUMERATED {
- plmnRoamingNotAllowed (0),
- operatorDeterminedBarring (3)}
-
-SystemFailureParam ::= CHOICE {
- networkResource NetworkResource,
- -- networkResource must not be used in version 3
- extensibleSystemFailureParam ExtensibleSystemFailureParam
- -- extensibleSystemFailureParam must not be used in version <3
- }
-
-ExtensibleSystemFailureParam ::= SEQUENCE {
- networkResource NetworkResource OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-DataMissingParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnexpectedDataParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnknownSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- unknownSubscriberDiagnostic UnknownSubscriberDiagnostic OPTIONAL}
-
-UnknownSubscriberDiagnostic ::= ENUMERATED {
- imsiUnknown (0),
- gprsSubscriptionUnknown (1),
- ...}
- -- if unknown values are received in
- -- unknownSubscriberDiagnostic they shall be discarded
-
-UnidentifiedSubParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-18-4.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-18-4.asn
deleted file mode 100644
index f14ad46c5f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-18-4.asn
+++ /dev/null
@@ -1,215 +0,0 @@
--- module(Mvrasn-18-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Common data types".
---
--- ASN.1 module: "MAP-CommonDataTypes".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-18-4
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- general data types and values
- AddressString,
- ISDN-AddressString,
- maxISDN-AddressLength,
- ISDN-SubaddressString,
--- ExternalSignalInfo,
- LMSI,
-
- -- data types for numbering and identification
- IMSI,
- NetworkResource,
- NAEA-PreferredCI,
-
- -- data types for subscriber management
- Ext-BasicServiceCode,
- EMLPP-Info
-;
-
-IMPORTS
-
- ExtensionContainer
-FROM Mvrasn-21-4
-
- Ext-BearerServiceCode
-FROM Mvrasn-20-4
-
- Ext-TeleserviceCode
-FROM Mvrasn-19-4
-
-;
-
--- general data types
-
-TBCD-STRING ::= OCTET STRING
- -- This type (Telephony Binary Coded Decimal String) is used to
- -- represent several digits from 0 through 9, *, #, a, b, c, two
- -- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
- -- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
- -- as filler when there is an odd number of digits.
-
- -- bits 8765 of octet n encoding digit 2n
- -- bits 4321 of octet n encoding digit 2(n-1) +1
-
-AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
- -- This type is used to represent a number for addressing
- -- purposes. It is composed of
- -- a) one octet for nature of address, and numbering plan
- -- indicator.
- -- b) digits of an address encoded as TBCD-String.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits nature of address indicator and a 4 bits numbering
- -- plan indicator, encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: nature of address indicator
- -- 000 unknown
- -- 001 international number
- -- 010 national significant number
- -- 011 network specific number
- -- 100 subscriber number
- -- 101 reserved
- -- 110 abbreviated number
- -- 111 reserved for extension
-
- -- bits 4321: numbering plan indicator
- -- 0000 unknown
- -- 0001 ISDN/Telephony Numbering Plan (Rec CCITT E.164)
- -- 0010 spare
- -- 0011 data numbering plan (CCITT Rec X.121)
- -- 0100 telex numbering plan (CCITT Rec F.69)
- -- 0101 spare
- -- 0110 land mobile numbering plan (CCITT Rec E.212)
- -- 0111 spare
- -- 1000 national numbering plan
- -- 1001 private numbering plan
- -- 1111 reserved for extension
-
- -- all other values are reserved.
-
- -- b) The following octets representing digits of an address
- -- encoded as a TBCD-STRING.
-
-maxAddressLength INTEGER ::= 20
-
-ISDN-AddressString ::=
- AddressString (SIZE (1..maxISDN-AddressLength))
- -- This type is used to represent ISDN numbers.
-
-maxISDN-AddressLength INTEGER ::= 9
-
-ISDN-SubaddressString ::=
- OCTET STRING (SIZE (1..maxISDN-SubaddressLength))
- -- This type is used to represent ISDN subaddresses.
- -- It is composed of
- -- a) one octet for type of subaddress and odd/even indicator.
- -- b) 20 octets for subaddress information.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits type of subaddress and a one bit odd/even indicator,
- -- encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: type of subaddress
- -- 000 NSAP (X.213/ISO 8348 AD2)
- -- 010 User Specified
- -- All other values are reserved
-
- -- bit 4: odd/even indicator
- -- 0 even number of address signals
- -- 1 odd number of address signals
- -- The odd/even indicator is used when the type of subaddress
- -- is "user specified" and the coding is BCD.
-
- -- bits 321: 000 (unused)
-
- -- b) Subaddress information.
- -- The NSAP X.213/ISO8348AD2 address shall be formatted as specified
- -- by octet 4 which contains the Authority and Format Identifier
- -- (AFI). The encoding is made according to the "preferred binary
- -- encoding" as defined in X.213/ISO834AD2. For the definition
- -- of this type of subaddress, see CCITT Rec I.334.
-
- -- For User-specific subaddress, this field is encoded according
- -- to the user specification, subject to a maximum length of 20
- -- octets. When interworking with X.25 networks BCD coding should
- -- be applied.
-
-maxISDN-SubaddressLength INTEGER ::= 21
-
--- data types for numbering and identification
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
- -- digits of MCC, MNC, MSIN are concatenated in this order.
-
-LMSI ::= OCTET STRING (SIZE (4))
-
-NetworkResource ::= ENUMERATED {
- plmn (0),
- hlr (1),
- vlr (2),
- pvlr (3),
- controllingMSC (4),
- vmsc (5),
- eir (6),
- rss (7)}
-
-NAEA-PreferredCI ::= SEQUENCE {
- naea-PreferredCIC [0] NAEA-CIC,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-NAEA-CIC ::= OCTET STRING (SIZE (3))
- -- The internal structure is defined by the Carrier Identification
- -- parameter in ANSI T1.113.3. Carrier codes between "000" and "999" may
- -- be encoded as 3 digits using "000" to "999" or as 4 digits using
- -- "0000" to "0999". Carrier codes between "1000" and "9999" are encoded
- -- using 4 digits.
-
-
--- data types for subscriber management
-
-Ext-BasicServiceCode ::= CHOICE {
- ext-BearerService [2] Ext-BearerServiceCode,
- ext-Teleservice [3] Ext-TeleserviceCode}
-
-EMLPP-Info ::= SEQUENCE {
- maximumentitledPriority EMLPP-Priority,
- defaultPriority EMLPP-Priority,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-EMLPP-Priority ::= INTEGER (0..15)
- -- The mapping from the values A,B,0,1,2,3,4 to the integer-value is
- -- specified as follows where A is the highest and 4 is the lowest
- -- priority level
- -- the integer values 7-15 are spare and shall be mapped to value 4
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-18-6.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-18-6.asn
deleted file mode 100644
index 901fc0e057..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-18-6.asn
+++ /dev/null
@@ -1,515 +0,0 @@
--- module(Mvrasn-18-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Common data types".
---
--- ASN.1 module: "MAP-CommonDataTypes".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010813 etord First draft, based on GSM 29.002 v. 3.8.0.
--- ..............................................................
-
-Mvrasn-18-6
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- general data types and values
- AddressString,
- ISDN-AddressString,
- maxISDN-AddressLength,
- FTN-AddressString,
- ISDN-SubaddressString,
- ExternalSignalInfo,
- Ext-ExternalSignalInfo,
- AccessNetworkSignalInfo,
- SignalInfo,
- maxSignalInfoLength,
- AlertingPattern,
-
- -- data types for numbering and identification
- IMSI,
- TMSI,
- Identity,
- SubscriberId,
- IMEI,
- HLR-List,
- LMSI,
- GlobalCellId,
- NetworkResource,
- NAEA-PreferredCI,
- NAEA-CIC,
- ASCI-CallReference,
- SubscriberIdentity,
-
- -- data types for CAMEL
- CellGlobalIdOrServiceAreaIdOrLAI,
-
- -- data types for subscriber management
- BasicServiceCode,
- Ext-BasicServiceCode,
- EMLPP-Info,
- EMLPP-Priority,
- MC-SS-Info,
- MaxMC-Bearers,
- MC-Bearers,
- Ext-SS-Status,
-
- -- data types for geographic location
- AgeOfLocationInformation,
- LCSClientExternalID,
- LCSClientInternalID
-;
-
-IMPORTS
- TeleserviceCode,
- Ext-TeleserviceCode
-FROM Mvrasn-19-6
-
- BearerServiceCode,
- Ext-BearerServiceCode
-FROM Mvrasn-20-6
-
- SS-Code
-FROM Mvrasn-15-6
-
- ExtensionContainer
-FROM Mvrasn-21-4
-;
-
-
--- general data types
-
-TBCD-STRING ::= OCTET STRING
- -- This type (Telephony Binary Coded Decimal String) is used to
- -- represent several digits from 0 through 9, *, #, a, b, c, two
- -- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
- -- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
- -- as filler when there is an odd number of digits.
-
- -- bits 8765 of octet n encoding digit 2n
- -- bits 4321 of octet n encoding digit 2(n-1) +1
-
-AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
- -- This type is used to represent a number for addressing
- -- purposes. It is composed of
- -- a) one octet for nature of address, and numbering plan
- -- indicator.
- -- b) digits of an address encoded as TBCD-String.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits nature of address indicator and a 4 bits numbering
- -- plan indicator, encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: nature of address indicator
- -- 000 unknown
- -- 001 international number
- -- 010 national significant number
- -- 011 network specific number
- -- 100 subscriber number
- -- 101 reserved
- -- 110 abbreviated number
- -- 111 reserved for extension
-
- -- bits 4321: numbering plan indicator
- -- 0000 unknown
- -- 0001 ISDN/Telephony Numbering Plan (Rec CCITT E.164)
- -- 0010 spare
- -- 0011 data numbering plan (CCITT Rec X.121)
- -- 0100 telex numbering plan (CCITT Rec F.69)
- -- 0101 spare
- -- 0110 land mobile numbering plan (CCITT Rec E.212)
- -- 0111 spare
- -- 1000 national numbering plan
- -- 1001 private numbering plan
- -- 1111 reserved for extension
-
- -- all other values are reserved.
-
- -- b) The following octets representing digits of an address
- -- encoded as a TBCD-STRING.
-
-maxAddressLength INTEGER ::= 20
-
-ISDN-AddressString ::=
- AddressString (SIZE (1..maxISDN-AddressLength))
- -- This type is used to represent ISDN numbers.
-
-maxISDN-AddressLength INTEGER ::= 9
-
-FTN-AddressString ::=
- AddressString (SIZE (1..maxFTN-AddressLength))
- -- This type is used to represent forwarded-to numbers.
-
-maxFTN-AddressLength INTEGER ::= 15
-
-ISDN-SubaddressString ::=
- OCTET STRING (SIZE (1..maxISDN-SubaddressLength))
- -- This type is used to represent ISDN subaddresses.
- -- It is composed of
- -- a) one octet for type of subaddress and odd/even indicator.
- -- b) 20 octets for subaddress information.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits type of subaddress and a one bit odd/even indicator,
- -- encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: type of subaddress
- -- 000 NSAP (X.213/ISO 8348 AD2)
- -- 010 User Specified
- -- All other values are reserved
-
- -- bit 4: odd/even indicator
- -- 0 even number of address signals
- -- 1 odd number of address signals
- -- The odd/even indicator is used when the type of subaddress
- -- is "user specified" and the coding is BCD.
-
- -- bits 321: 000 (unused)
-
- -- b) Subaddress information.
- -- The NSAP X.213/ISO8348AD2 address shall be formatted as specified
- -- by octet 4 which contains the Authority and Format Identifier
- -- (AFI). The encoding is made according to the "preferred binary
- -- encoding" as defined in X.213/ISO834AD2. For the definition
- -- of this type of subaddress, see CCITT Rec I.334.
-
- -- For User-specific subaddress, this field is encoded according
- -- to the user specification, subject to a maximum length of 20
- -- octets. When interworking with X.25 networks BCD coding should
- -- be applied.
-
-maxISDN-SubaddressLength INTEGER ::= 21
-
-ExternalSignalInfo ::= SEQUENCE {
- protocolId ProtocolId,
- signalInfo SignalInfo,
- -- Information about the internal structure is given in
- -- subclause 7.6.9.
- extensionContainer ExtensionContainer OPTIONAL,
- -- extensionContainer must not be used in version 2
- ...}
-
-SignalInfo ::= OCTET STRING (SIZE (1..maxSignalInfoLength))
-
-maxSignalInfoLength INTEGER ::= 200
- -- This NamedValue represents the theoretical maximum number of octets which is
- -- available to carry a single instance of the SignalInfo data type,
- -- without requiring segmentation to cope with the network layer service.
- -- However, the actual maximum size available for an instance of the data
- -- type may be lower, especially when other information elements
- -- have to be included in the same component.
-
-ProtocolId ::= ENUMERATED {
- gsm-0408 (1),
- gsm-0806 (2),
- gsm-BSSMAP (3),
- -- Value 3 is reserved and must not be used
- ets-300102-1 (4)}
-
-Ext-ExternalSignalInfo ::= SEQUENCE {
- ext-ProtocolId Ext-ProtocolId,
- signalInfo SignalInfo,
- -- Information about the internal structure is given in
- -- subclause 7.6.9.10
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-ProtocolId ::= ENUMERATED {
- ets-300356 (1),
- ...
- }
--- exception handling:
--- For Ext-ExternalSignalInfo sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- Ext-ExternalSignalInfo sequence.
-
-AccessNetworkSignalInfo ::= SEQUENCE {
- accessNetworkProtocolId AccessNetworkProtocolId,
- signalInfo LongSignalInfo,
- -- Information about the internal structure is given in
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-LongSignalInfo ::= OCTET STRING (SIZE (1..maxLongSignalInfoLength))
-
-maxLongSignalInfoLength INTEGER ::= 2560
- -- This Named Value represents the maximum number of octets which is available
- -- to carry a single instance of the LongSignalInfo data type using
- -- White Book SCCP with the maximum number of segments.
- -- It takes account of the octets used by the lower layers of the protocol, and
- -- other information elements which may be included in the same component.
-
-
-AccessNetworkProtocolId ::= ENUMERATED {
- gsm-0806 (1),
- ts3G-25413 (2),
- ...}
- -- exception handling:
- -- For AccessNetworkSignalInfo sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- AccessNetworkSignalInfo sequence.
-
-AlertingPattern ::= OCTET STRING (SIZE (1) )
- -- This type is used to represent Alerting Pattern
-
- -- bits 8765 : 0000 (unused)
-
- -- bits 43 : type of Pattern
- -- 00 level
- -- 01 category
- -- 10 category
- -- all other values are reserved.
-
- -- bits 21 : type of alerting
-
-alertingLevel-0 AlertingPattern ::= '00000000'B
-alertingLevel-1 AlertingPattern ::= '00000001'B
-alertingLevel-2 AlertingPattern ::= '00000010'B
- -- all other values of Alerting level are reserved
- -- Alerting Levels are defined in GSM 02.07
-
-alertingCategory-1 AlertingPattern ::= '00000100'B
-alertingCategory-2 AlertingPattern ::= '00000101'B
-alertingCategory-3 AlertingPattern ::= '00000110'B
-alertingCategory-4 AlertingPattern ::= '00000111'B
-alertingCategory-5 AlertingPattern ::= '00001000'B
- -- all other values of Alerting Category are reserved
- -- Alerting categories are defined in GSM 02.07
-
-
--- data types for numbering and identification
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
- -- digits of MCC, MNC, MSIN are concatenated in this order.
-
-Identity ::= CHOICE {
- imsi IMSI,
- imsi-WithLMSI IMSI-WithLMSI}
-
-IMSI-WithLMSI ::= SEQUENCE {
- imsi IMSI,
- lmsi LMSI,
- -- a special value 00000000 indicates that the LMSI is not in use
- ...}
-
-ASCI-CallReference ::= TBCD-STRING (SIZE (1..8))
- -- digits of VGCS/VBC-area,Group-ID are concatenated in this order.
-
-
-TMSI ::= OCTET STRING (SIZE (1..4))
-
-SubscriberId ::= CHOICE {
- imsi [0] IMSI,
- tmsi [1] TMSI}
-
-IMEI ::= TBCD-STRING (SIZE (8))
- -- Refers to International Mobile Station Equipment Identity
- -- and Software Version Number (SVN) defined in TS GSM 03.03.
- -- If the SVN is not present the last octet shall contain the
- -- digit 0 and a filler.
- -- If present the SVN shall be included in the last octet.
-
-HLR-Id ::= IMSI
- -- leading digits of IMSI, i.e. (MCC, MNC, leading digits of
- -- MSIN) forming HLR Id defined in TS GSM 03.03.
-
-HLR-List ::= SEQUENCE SIZE (1..maxNumOfHLR-Id) OF
- HLR-Id
-
-maxNumOfHLR-Id INTEGER ::= 50
-
-LMSI ::= OCTET STRING (SIZE (4))
-
-GlobalCellId ::= OCTET STRING (SIZE (5..7))
- -- Refers to Cell Global Identification defined in TS GSM 03.03.
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to TS GSM 04.08
- -- octets 6 and 7 Cell Identity (CI) according to TS GSM 04.08
-
-NetworkResource ::= ENUMERATED {
- plmn (0),
- hlr (1),
- vlr (2),
- pvlr (3),
- controllingMSC (4),
- vmsc (5),
- eir (6),
- rss (7)}
-
-NAEA-PreferredCI ::= SEQUENCE {
- naea-PreferredCIC [0] NAEA-CIC,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-NAEA-CIC ::= OCTET STRING (SIZE (3))
- -- The internal structure is defined by the Carrier Identification
- -- parameter in ANSI T1.113.3. Carrier codes between �000� and �999� may
- -- be encoded as 3 digits using �000� to �999� or as 4 digits using
- -- �0000� to �0999�. Carrier codes between �1000� and �9999� are encoded
- -- using 4 digits.
-
-SubscriberIdentity ::= CHOICE {
- imsi [0] IMSI,
- msisdn [1] ISDN-AddressString
- }
-
-LCSClientExternalID ::= SEQUENCE {
- externalAddress [0] AddressString OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... }
-
-LCSClientInternalID ::= ENUMERATED {
- broadcastService (0),
- o-andM-HPLMN (1),
- o-andM-VPLMN (2),
- anonymousLocation (3),
- targetMSsubscribedService (4),
- ... }
--- for a CAMEL phase 3 PLMN operator client, the value targetMSsubscribedService shall be used
-
-
--- data types for CAMEL
-
-CellGlobalIdOrServiceAreaIdOrLAI ::= CHOICE {
- cellGlobalIdOrServiceAreaIdFixedLength [0] CellGlobalIdOrServiceAreaIdFixedLength,
- laiFixedLength [1] LAIFixedLength}
-
-CellGlobalIdOrServiceAreaIdFixedLength ::= OCTET STRING (SIZE (7))
- -- Refers to Cell Global Identification or Service Are Identification
- -- defined in 3G TS 23.003.
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to 3G TS 24.008
- -- octets 6 and 7 Cell Identity (CI) value or
- -- Service Area Code (SAC) value
- -- according to 3G TS 23.003
-
-LAIFixedLength ::= OCTET STRING (SIZE (5))
- -- Refers to Location Area Identification defined in TS GSM 03.03.
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to TS GSM 04.08
-
-
--- data types for subscriber management
-
-BasicServiceCode ::= CHOICE {
- bearerService [2] BearerServiceCode,
- teleservice [3] TeleserviceCode}
-
-Ext-BasicServiceCode ::= CHOICE {
- ext-BearerService [2] Ext-BearerServiceCode,
- ext-Teleservice [3] Ext-TeleserviceCode}
-
-EMLPP-Info ::= SEQUENCE {
- maximumentitledPriority EMLPP-Priority,
- defaultPriority EMLPP-Priority,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-EMLPP-Priority ::= INTEGER (0..15)
- -- The mapping from the values A,B,0,1,2,3,4 to the integer-value is
- -- specified as follows where A is the highest and 4 is the lowest
- -- priority level
- -- the integer values 7-15 are spare and shall be mapped to value 4
-
-priorityLevelA EMLPP-Priority ::= 6
-priorityLevelB EMLPP-Priority ::= 5
-priorityLevel0 EMLPP-Priority ::= 0
-priorityLevel1 EMLPP-Priority ::= 1
-priorityLevel2 EMLPP-Priority ::= 2
-priorityLevel3 EMLPP-Priority ::= 3
-priorityLevel4 EMLPP-Priority ::= 4
-
-
-MC-SS-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ss-Status [1] Ext-SS-Status,
- nbrSB [2] MaxMC-Bearers,
- nbrUser [3] MC-Bearers,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-MaxMC-Bearers ::= INTEGER (2..maxNumOfMC-Bearers)
-
-MC-Bearers ::= INTEGER (1..maxNumOfMC-Bearers)
-
-maxNumOfMC-Bearers INTEGER ::= 7
-
-
-Ext-SS-Status ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
- --
- -- bits 8765: 0000 (unused)
- -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
- -- representing supplementary service state information
- -- as defined in TS GSM 03.11
-
- -- bit 4: "Q bit"
-
- -- bit 3: "P bit"
-
- -- bit 2: "R bit"
-
- -- bit 1: "A bit"
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-
-
- -- data types for geographic location
-
-AgeOfLocationInformation ::= INTEGER (0..32767)
--- the value represents the elapsed time in minutes since the last
--- network contact of the mobile station (i.e. the actuality of the
--- location information).
--- value �0� indicates that the MS is currently in contact with the
--- network
--- value �32767� indicates that the location information is at least
--- 32767 minutes old
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-19-4.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-19-4.asn
deleted file mode 100644
index 3cb60d7131..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-19-4.asn
+++ /dev/null
@@ -1,53 +0,0 @@
--- module(Mvrasn-19-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Teleservice Codes".
---
--- ASN.1 module: "MAP-TS-Code".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-19-4
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-Ext-TeleserviceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- teleservice, a group of teleservices, or all teleservices. The
- -- services are defined in TS GSM 02.03.
- -- The internal structure is defined as follows:
-
- -- OCTET 1:
- -- bits 87654321: group (bits 8765) and specific service
- -- (bits 4321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
- -- Ext-TeleserviceCode includes all values defined for TeleserviceCode.
-
-
-allShortMessageServices Ext-TeleserviceCode ::= '00100000'B
-shortMessageMT-PP Ext-TeleserviceCode ::= '00100001'B
-shortMessageMO-PP Ext-TeleserviceCode ::= '00100010'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-19-6.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-19-6.asn
deleted file mode 100644
index 4a7c550deb..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-19-6.asn
+++ /dev/null
@@ -1,109 +0,0 @@
--- module(Mvrasn-19-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Teleservice Codes".
---
--- ASN.1 module: "MAP-TS-Code".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010813 etord First draft, based on GSM 29.002 v. 3.8.0.
--- ..............................................................
-
-
-Mvrasn-19-6
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-TeleserviceCode ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- teleservice, a group of teleservices, or all teleservices. The
- -- services are defined in TS GSM 02.03.
- -- The internal structure is defined as follows:
-
- -- bits 87654321: group (bits 8765) and specific service
- -- (bits 4321)
-
-Ext-TeleserviceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- teleservice, a group of teleservices, or all teleservices. The
- -- services are defined in TS GSM 02.03.
- -- The internal structure is defined as follows:
-
- -- OCTET 1:
- -- bits 87654321: group (bits 8765) and specific service
- -- (bits 4321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
- -- Ext-TeleserviceCode includes all values defined for TeleserviceCode.
-
-
-allTeleservices TeleserviceCode ::= '00000000'B
-
-allSpeechTransmissionServices TeleserviceCode ::= '00010000'B
-telephony TeleserviceCode ::= '00010001'B
-emergencyCalls TeleserviceCode ::= '00010010'B
-
-allShortMessageServices TeleserviceCode ::= '00100000'B
-shortMessageMT-PP TeleserviceCode ::= '00100001'B
-shortMessageMO-PP TeleserviceCode ::= '00100010'B
-
-allFacsimileTransmissionServices TeleserviceCode ::= '01100000'B
-facsimileGroup3AndAlterSpeech TeleserviceCode ::= '01100001'B
-automaticFacsimileGroup3 TeleserviceCode ::= '01100010'B
-facsimileGroup4 TeleserviceCode ::= '01100011'B
-
--- The following non-hierarchical Compound Teleservice Groups
--- are defined in TS GSM 02.30:
-allDataTeleservices TeleserviceCode ::= '01110000'B
- -- covers Teleservice Groups 'allFacsimileTransmissionServices'
- -- and 'allShortMessageServices'
-allTeleservices-ExeptSMS TeleserviceCode ::= '10000000'B
- -- covers Teleservice Groups 'allSpeechTransmissionServices' and
- -- 'allFacsimileTransmissionServices'
---
--- Compound Teleservice Group Codes are only used in call
--- independent supplementary service operations, i.e. they
--- are not used in InsertSubscriberData or in
--- DeleteSubscriberData messages.
-
-allVoiceGroupCallServices TeleserviceCode ::= '10010000'B
-voiceGroupCall TeleserviceCode ::= '10010001'B
-voiceBroadcastCall TeleserviceCode ::= '10010010'B
-
-allPLMN-specificTS TeleserviceCode ::= '11010000'B
-plmn-specificTS-1 TeleserviceCode ::= '11010001'B
-plmn-specificTS-2 TeleserviceCode ::= '11010010'B
-plmn-specificTS-3 TeleserviceCode ::= '11010011'B
-plmn-specificTS-4 TeleserviceCode ::= '11010100'B
-plmn-specificTS-5 TeleserviceCode ::= '11010101'B
-plmn-specificTS-6 TeleserviceCode ::= '11010110'B
-plmn-specificTS-7 TeleserviceCode ::= '11010111'B
-plmn-specificTS-8 TeleserviceCode ::= '11011000'B
-plmn-specificTS-9 TeleserviceCode ::= '11011001'B
-plmn-specificTS-A TeleserviceCode ::= '11011010'B
-plmn-specificTS-B TeleserviceCode ::= '11011011'B
-plmn-specificTS-C TeleserviceCode ::= '11011100'B
-plmn-specificTS-D TeleserviceCode ::= '11011101'B
-plmn-specificTS-E TeleserviceCode ::= '11011110'B
-plmn-specificTS-F TeleserviceCode ::= '11011111'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-20-4.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-20-4.asn
deleted file mode 100644
index 8b74c07b5a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-20-4.asn
+++ /dev/null
@@ -1,54 +0,0 @@
--- module(Mvrasn-20-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Bearer Service Codes".
---
--- ASN.1 module: "MAP-BS-Code".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-Mvrasn-20-4
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-Ext-BearerServiceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- bearer service, a group of bearer services, or all bearer
- -- services. The services are defined in TS GSM 02.02.
- -- The internal structure is defined as follows:
- --
- -- OCTET 1:
- -- plmn-specific bearer services:
- -- bits 87654321: defined by the HPLMN operator
- --
- -- rest of bearer services:
- -- bit 8: 0 (unused)
- -- bits 7654321: group (bits 7654), and rate, if applicable
- -- (bits 321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
-
- -- Ext-BearerServiceCode includes all values defined for BearerServiceCode.
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-20-6.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-20-6.asn
deleted file mode 100644
index 6b56cb211f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-20-6.asn
+++ /dev/null
@@ -1,147 +0,0 @@
--- module(Mvrasn-20-6).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('etord').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Bearer Service Codes".
---
--- ASN.1 module: "MAP-BS-Code".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 010813 etord First draft, based on GSM 29.002 v. 3.8.0.
--- ..............................................................
-
-Mvrasn-20-6
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-BearerServiceCode ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- bearer service, a group of bearer services, or all bearer
- -- services. The services are defined in TS GSM 02.02.
- -- The internal structure is defined as follows:
- --
- -- plmn-specific bearer services:
- -- bits 87654321: defined by the HPLMN operator
-
- -- rest of bearer services:
- -- bit 8: 0 (unused)
- -- bits 7654321: group (bits 7654), and rate, if applicable
- -- (bits 321)
-
-Ext-BearerServiceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- bearer service, a group of bearer services, or all bearer
- -- services. The services are defined in TS GSM 02.02.
- -- The internal structure is defined as follows:
- --
- -- OCTET 1:
- -- plmn-specific bearer services:
- -- bits 87654321: defined by the HPLMN operator
- --
- -- rest of bearer services:
- -- bit 8: 0 (unused)
- -- bits 7654321: group (bits 7654), and rate, if applicable
- -- (bits 321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
-
- -- Ext-BearerServiceCode includes all values defined for BearerServiceCode.
-
-
-allBearerServices BearerServiceCode ::= '00000000'B
-
-allDataCDA-Services BearerServiceCode ::= '00010000'B
-dataCDA-300bps BearerServiceCode ::= '00010001'B
-dataCDA-1200bps BearerServiceCode ::= '00010010'B
-dataCDA-1200-75bps BearerServiceCode ::= '00010011'B
-dataCDA-2400bps BearerServiceCode ::= '00010100'B
-dataCDA-4800bps BearerServiceCode ::= '00010101'B
-dataCDA-9600bps BearerServiceCode ::= '00010110'B
-general-dataCDA BearerServiceCode ::= '00010111'B
-
-allDataCDS-Services BearerServiceCode ::= '00011000'B
-dataCDS-1200bps BearerServiceCode ::= '00011010'B
-dataCDS-2400bps BearerServiceCode ::= '00011100'B
-dataCDS-4800bps BearerServiceCode ::= '00011101'B
-dataCDS-9600bps BearerServiceCode ::= '00011110'B
-general-dataCDS BearerServiceCode ::= '00011111'B
-
-allPadAccessCA-Services BearerServiceCode ::= '00100000'B
-padAccessCA-300bps BearerServiceCode ::= '00100001'B
-padAccessCA-1200bps BearerServiceCode ::= '00100010'B
-padAccessCA-1200-75bps BearerServiceCode ::= '00100011'B
-padAccessCA-2400bps BearerServiceCode ::= '00100100'B
-padAccessCA-4800bps BearerServiceCode ::= '00100101'B
-padAccessCA-9600bps BearerServiceCode ::= '00100110'B
-general-padAccessCA BearerServiceCode ::= '00100111'B
-
-allDataPDS-Services BearerServiceCode ::= '00101000'B
-dataPDS-2400bps BearerServiceCode ::= '00101100'B
-dataPDS-4800bps BearerServiceCode ::= '00101101'B
-dataPDS-9600bps BearerServiceCode ::= '00101110'B
-general-dataPDS BearerServiceCode ::= '00101111'B
-
-allAlternateSpeech-DataCDA BearerServiceCode ::= '00110000'B
-
-allAlternateSpeech-DataCDS BearerServiceCode ::= '00111000'B
-
-allSpeechFollowedByDataCDA BearerServiceCode ::= '01000000'B
-
-allSpeechFollowedByDataCDS BearerServiceCode ::= '01001000'B
-
--- The following non-hierarchical Compound Bearer Service
--- Groups are defined in TS GSM 02.30:
-allDataCircuitAsynchronous BearerServiceCode ::= '01010000'B
- -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA" and
- -- "allSpeechFollowedByDataCDA"
-allAsynchronousServices BearerServiceCode ::= '01100000'B
- -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA",
- -- "allSpeechFollowedByDataCDA" and "allPadAccessCDA-Services"
-allDataCircuitSynchronous BearerServiceCode ::= '01011000'B
- -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS" and
- -- "allSpeechFollowedByDataCDS"
-allSynchronousServices BearerServiceCode ::= '01101000'B
- -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS",
- -- "allSpeechFollowedByDataCDS" and "allDataPDS-Services"
---
--- Compound Bearer Service Group Codes are only used in call
--- independent supplementary service operations, i.e. they
--- are not used in InsertSubscriberData or in
--- DeleteSubscriberData messages.
-
-allPLMN-specificBS BearerServiceCode ::= '11010000'B
-plmn-specificBS-1 BearerServiceCode ::= '11010001'B
-plmn-specificBS-2 BearerServiceCode ::= '11010010'B
-plmn-specificBS-3 BearerServiceCode ::= '11010011'B
-plmn-specificBS-4 BearerServiceCode ::= '11010100'B
-plmn-specificBS-5 BearerServiceCode ::= '11010101'B
-plmn-specificBS-6 BearerServiceCode ::= '11010110'B
-plmn-specificBS-7 BearerServiceCode ::= '11010111'B
-plmn-specificBS-8 BearerServiceCode ::= '11011000'B
-plmn-specificBS-9 BearerServiceCode ::= '11011001'B
-plmn-specificBS-A BearerServiceCode ::= '11011010'B
-plmn-specificBS-B BearerServiceCode ::= '11011011'B
-plmn-specificBS-C BearerServiceCode ::= '11011100'B
-plmn-specificBS-D BearerServiceCode ::= '11011101'B
-plmn-specificBS-E BearerServiceCode ::= '11011110'B
-plmn-specificBS-F BearerServiceCode ::= '11011111'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-21-4.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-21-4.asn
deleted file mode 100644
index 44e77a559d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-21-4.asn
+++ /dev/null
@@ -1,66 +0,0 @@
--- module(Mvrasn-21-4).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "Extension data types".
---
--- ASN.1 module: "MAP-ExtensionDataTypes".
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft including changes due to
--- incompatibilities of the ASN.1-ERLANG
--- compiler from OTP.
--- Based on GSM 09.02 v. 6.1.0.
--- ..............................................................
-
-
--- =============================================================================
---
--- NOTE:
---
--- This module was changed compared to the original in the ETSI
--- standard GSM 09.02 v. 6.1.0. The reason for this change was an
--- incompatibility of the used ASN.1-ERLANG compiler from OTP.
---
--- In GSM 09.02 v. 6.1.0 the data type 'ExtensionContainer' is partly
--- defined by the ASN.1 type 'CLASS', but the ASN.1-ERLANG compiler is
--- not able to handle such a 'CLASS' construct correctly. Therefore, and
--- since the content of a received 'ExtensionContainer' is not of further
--- interest at this stage of the project, the data type 'ExtensionContainer'
--- has been changed here.
---
--- The new definition of 'ExtensionContainer' is simply an ASN.1 'Extension'
--- ('...'). This definition allows to receive any kind of information
--- within the 'ExtensionContainer' without causing a crash of the
--- decoder when handling the respective message.
---
--- =============================================================================
-
-Mvrasn-21-4
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- ExtensionContainer;
-
-ExtensionContainer ::= SEQUENCE {
- ...}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-Constants-1.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-Constants-1.asn
deleted file mode 100644
index 7eaacdd335..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-Constants-1.asn
+++ /dev/null
@@ -1,85 +0,0 @@
--- module(Mvrasn-Constants-1).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "MAP Constants".
---
--- ASN.1 module: "MAP-Constants"
---
--- =============================================================================
-
--- =============================================================================
---
--- NOTE:
---
--- In GSM 09.02 v. 6.1.0 all ASN.1 modules have 'Object Identifier' included
--- to indicate these modules uniquely. To have a same kind of definite naming
--- convention, parts of the these 'Object Identifier' have been included in
--- the file names that store the respective ASN.1 modules.
---
--- Therefore, the file name "Mvrasn-20-4.asn" indicates moduls '20' in
--- version '4' (PHASE 3).
---
--- As there is no such 'Object Identifier' in GSM 09.02 v. 3.11.0,
--- the names for the ASN.1 files of the ASN.1 modules from
--- this standard version are selected by the author. They are chosen the way
--- that they are indicating the relation to those modules
--- from GSM 09.02 v. 3.11.0
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981015 eedkbu First draft. Based on GSM 09.02 v. 3.11.0)
--- ..............................................................
-
-
-Mvrasn-Constants-1
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
-
-maxNumberOfTeleServices,
-maxNumberOfBearerServices,
-maxNumberOfSupplServices,
-
-maxNumberOfCUG,
-maxNumberOfForwardingFeatures,
-maxNumberOfCallBarringFeatures,
-maxNumberOfHlrId,
-maxAddressLength,
-maxNumberOfSentParameters
-
-;
-
--- value assignment
-
-maxNumberOfTeleServices INTEGER ::= 20
-maxNumberOfBearerServices INTEGER ::= 50
-maxNumberOfSupplServices INTEGER ::= 30
-
-maxNumberOfCUG INTEGER ::= 10
-maxNumberOfForwardingFeatures INTEGER ::= 13
-maxNumberOfCallBarringFeatures INTEGER ::= 13
-maxNumberOfHlrId INTEGER ::= 50
-maxAddressLength INTEGER ::= 20
-
-
-maxNumberOfSentParameters INTEGER ::= 10
--- this named value should correspond to the maximum of
--- the maxNumberOfCUG and the maximum number of authentication
--- set which may be returned by a HLR plus 1.
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-DataTypes-1.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-DataTypes-1.asn
deleted file mode 100644
index 56b11852ae..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-DataTypes-1.asn
+++ /dev/null
@@ -1,454 +0,0 @@
--- module(Mvrasn-DataTypes-1).
--- vsn('%CCaseRev: %').
--- date('%CCaseDate: %').
--- author('eedkbu').
--- =============================================================================
-
--- =============================================================================
---
--- Title : "MAP Data Types".
---
--- ASN.1 module: "MAP-DataTypes".
---
--- =============================================================================
-
--- =============================================================================
---
--- NOTE:
---
--- In GSM 09.02 v. 6.1.0 all ASN.1 modules have 'Object Identifier' included
--- to indicate these modules uniquely. To have a same kind of definite naming
--- convention, parts of the these 'Object Identifier' have been included in
--- the file names that store the respective ASN.1 modules.
---
--- Therefore, the file name "Mvrasn-20-4.asn" indicates moduls '20' in
--- version '4' (PHASE 3).
---
--- As there is no such 'Object Identifier' in GSM 09.02 v. 3.11.0,
--- the names for the ASN.1 files of the ASN.1 modules from
--- this standard version are selected by the author. They are chosen the way
--- that they are indicating the relation to those modules
--- from GSM 09.02 v. 3.11.0.
---
--- =============================================================================
-
--- ==============================================================
--- #1. REVISION LOG
--- ==============================================================
--- Rev Date Name What
--- .... ....... ....... ........................................
--- PA1 981014 eedkbu First draft, based on GSM 09.02 v. 3.11.0.
--- ..............................................................
--- PA2 990114 etord Included Reset operation
--- ..............................................................
-
-Mvrasn-DataTypes-1
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-IMPORTS
--- imports upper boundaries for data types
-
- maxNumberOfTeleServices,
- maxNumberOfBearerServices,
- maxNumberOfSupplServices,
- maxNumberOfCUG,
- maxNumberOfForwardingFeatures,
- maxNumberOfCallBarringFeatures,
- maxNumberOfHlrId,
- maxAddressLength,
- maxNumberOfSentParameters
-FROM Mvrasn-Constants-1
-
-;
-
-
--- =========================================================
---
--- NOTE:
---
--- The data type "SendParameterArg" and "ResetArg" are not given in the
--- original GSM 09.02 v. 3.11.0 standard, but have been
--- introduced here for two reasons:
---
--- 1. In the OPERATION MACRO "SendParameters" is a PARAMETER (=ARGument) and
--- a RESULT defined. The ASN.1 en/decoder is not able to handle
--- the MACRO definition. Therefore, the new data type has been
--- introduced
---
--- 2. To align the documentation of the ASN.1 data types in
--- GSM 09.02 v. 3.11.0 with those of GSM 09.02 v. 6.1.0.
---
--- =========================================================
-
-SendParametersArg ::= SEQUENCE {
- subscriberId SubscriberId,
- requestParameters RequestParameters
- }
-
-ResetArg ::= SEQUENCE {
- networkResource NetworkResource,
- originatingEntityNumber IsdnAddressString,
- hlrId HlrList OPTIONAL
- }
-
-
--- common data types
-
-SentParameters ::= SEQUENCE
- SIZE(1..maxNumberOfSentParameters)
- OF SentParameter
-
-
-TBCD-STRING ::= OCTET STRING
- -- digits 0 through 9, two digits per octet,
- -- each digit encoded 0000 to 1001,
- -- 1111 used as filler when there is an odd number of digit.
-
-
-AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
- -- see internal description in section 6.4.1
-
-IsdnAddressString ::= AddressString (SIZE (1..10))
-
-IMSI ::= TBCD-STRING (SIZE (2..8))
- -- MCC, MNC, MSIN concatenated in this order
-
-TMSI ::= OCTET STRING (SIZE (1..4))
-
-
-SubscriberId ::= CHOICE {
- imsi [0] IMPLICIT IMSI,
- tmsi [1] IMPLICIT TMSI}
-
-
--- data types for numbering and identification
-
-HlrId ::= IMSI
- -- leading digits of IMSI
-
-HlrList ::= SEQUENCE
- SIZE(1.. maxNumberOfHlrId)
- OF HlrId
-
-
--- data types for subscriber management
-
---
-Category ::= OCTET STRING (SIZE (1))
- -- internal structure defined in CCITT Rec Q.763
-
-BearerServiceCode ::= OCTET STRING (SIZE (1))
- -- Internal structure according to table 6.4/1
- -- BIT 8 Transparency indicator (if applicable)
- -- 0 transparent
- -- 1 non transparent
-
- -- BIT 7654 Bearer service group
- -- 0001 3.1 kHz ex PLMN
- -- 0010 Circuit data asynchronous
- -- 0011 Circuit data synchronous
- -- 0100 PAD access c.d.a
- -- 0101 Packet data synchrounous
- -- 0110 Alternate speech/c.d.a
- -- 0111 Alternate speech c.d.s
- -- 1000 Speech followed by data c.d.a
- -- 1001 Speech followed by data c.d.s
- -- 1111 12.6 kb/s unrestricted digital
-
- -- BIT 321 Rate (when applicable)
- -- 000 Any
- -- 001 300-300 b/s
- -- 010 1200-1200 b/s
- -- 011 1200-75 b/s
- -- 100 2400-2400 b/s
- -- 101 4800-4800 b/s
- -- 110 9600-9600 b/s
-
-
- -- Bits 321 = 000 can be used to refer to all
- -- the bearer services of the corresponding group.
- -- Value "00000000" can be used to refer to all the defined
- -- bearer services.
- -- For the codes referring to a group or all bearer services
- -- the Transparency Indicator is not applicable and has to be set to "0"
-
-
-BearerServiceList ::= SEQUENCE
- SIZE(1 .. maxNumberOfBearerServices)
- OF BearerServiceCode
-
-
-TeleserviceCode ::= OCTET STRING (SIZE (1))
- -- Internal structure according to table 6.4/2
- -- Bit 8-5 encode the teleservice group
-
- -- Bit 4-1 = 0000 can be used to refer to all the
- -- teleservices of the corresponding group.
- -- Value "00000000" can be used to refer to all the defined
- -- teleservices
-
-TeleserviceList ::= SEQUENCE
- SIZE(1 .. maxNumberOfTeleServices)
- OF TeleserviceCode
-
-
-BasicServiceCode ::= CHOICE {
- bearerService [2] IMPLICIT BearerServiceCode,
- teleservice [3] IMPLICIT TeleserviceCode}
-
---
-SubscriberStatus ::= ENUMERATED{
- serviceGranted (0),
- operatorOGCallBarring (1)}
-
- -- Data types for supplementary services
-
-SS-Code ::= OCTET STRING (SIZE(1))
- -- Internal structure according to
- -- table 6.4/3
- -- Bit 8-5
- -- 0001 Number Identification services
- -- 0010 Forwarding services
- -- 0011 Call offering services
- -- 0100 Call completion services
- -- 0101 Multi-party services
- -- 0110 Community of interest services
- -- 0111 Charging services
- -- 1000 Additional information transfer services
- -- 1001 Call restriction services
- -- Bit 4-1 = 0000 can be use to refer to
- -- a group of supplementary services
- -- eg, "00100000" can be used to refer to all
- -- forwarding services
- -- "00101000" can be used to refer to all
- -- conditional forwarding services
- -- "00000000" can be used to refer to all
- -- supplementary services
-
-SS-Status ::= OCTET STRING (SIZE (1))
- -- Bit 8-4 Unused
- -- Bit 3 Provision indicator
- -- 0 : Not provisioned
- -- 1 : Provisioned
- -- Bit 2 Registration indicator (if applicable)
- -- 0 : Not Registered
- -- 1 : Registered
- -- Bit 1 Activation indicator (If applicable)
- -- 0 : Not Active
- -- 1 : Active
-
-SS-Information ::= CHOICE{
- forwardingInfo [0] IMPLICIT ForwardingInfo,
- callBarringInfo [1] IMPLICIT CallBarringInfo,
- cug-Information [2] IMPLICIT CUG-Information,
- ss-Data [3] IMPLICIT SS-Data}
-
-SS-InfoList ::= SEQUENCE
- SIZE(1 .. maxNumberOfSupplServices)
- OF SS-Information
-
-
---
-SS-Data ::= SEQUENCE{
- ss-Code SS-Code,
- ss-Status [4] IMPLICIT SS-Status OPTIONAL,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL}
-
-SS-SubscriptionOption ::= CHOICE{
- perCallBasis [5] IMPLICIT BOOLEAN,
- notificationToHeldRetrievedParty [6] IMPLICIT BOOLEAN,
- userToUserServiceIndicator [7] IMPLICIT UserToUserServiceIndicator,
- maximumConfereesNumber [8] IMPLICIT MaximumConfereesNumber,
- huntGroupAccessSelectionOrder [9] IMPLICIT HuntGroupAccessSelectionOrder}
-
-
-
-ForwardingOptions ::= OCTET STRING (SIZE(1))
- -- Bit 8-7 Notification to forwarding party
- -- 00 No notification
- -- 01 notification with calling number identity
- -- 10 notification without calling number identity
- -- Bit 6-5 Notification to calling party
- -- 00 No notification
- -- 01 Notification with forwarded-to number
- -- 10 Notification without forwarded-to number
-
-
-UserToUserServiceIndicator ::= OCTET STRING (SIZE(1))
- -- Bit 8 : service 1
- -- Bit 7 : service 2
- -- Bit 6 : service 3
- -- Bit 5-1 : Reserved
- -- Bit 8 to 6 coded "1" if the service
- -- is available to the subscriber
-
-
-MaximumConfereesNumber ::= INTEGER (1..10)
-
-
-
-HuntGroupAccessSelectionOrder ::= ENUMERATED{
- random (0),
- sequential (1)}
-
-
-NoReplyConditionTime ::= INTEGER (5..30)
-
-
-CUG-Facilities ::= OCTET STRING (SIZE (1))
- -- Bit 8-3 000000 (Unused)
- -- Bit 2-1
- -- 00 CUG only facilities
- -- 01 CUG with outgoing access
- -- 10 CUG with incoming access
- -- 11 CUG with both outgoing and incoming access
-
-CUG-Interlock ::= OCTET STRING (SIZE (4))
- -- Internal structure defined in Rec CCITT Q.763
-
-CUG-Index ::= OCTET STRING (SIZE (1))
- -- Internal structure defined in Rec CCITT Q.763
-
-CUG-Options ::= OCTET STRING (SIZE (1))
- -- BIT 8-4 00000 (Unused)
- -- BIT 3 preferential CUG indicator
- -- 0 no preferential
- -- 1 preferential CUG
- -- BIT 2 barring of incoming calls within the CUG
- -- 0 no barring
- -- 1 barring
- -- BIT 1 barring of outgoing calls within the CUG
- -- 0 no barring
- -- 1 barring
-
-CUG-Feature ::= SEQUENCE {
- cug-interlock CUG-Interlock,
- cug-Index CUG-Index,
- cug-Options CUG-Options,
- ss-Status SS-Status}
-
-
-CUG-FeatureList ::= SEQUENCE SIZE (
- 1..maxNumberOfCUG) OF CUG-Feature
-
-
--- =========================================================
---
--- EEDKBU:
---
--- The original CUG-Information data type has been:
---
--- ------------------
---
--- CUG-Information ::= SEQUENCE{
--- cug-Facilities CUG-Facilities,
--- CHOICE{
--- cug-Feature [0] IMPLICIT CUG-Feature,
--- cug-FeatureList [1] IMPLICIT CUG-FeatureList}}
- -- the first alternative of the choice should be used
- -- for the preferred CUG.
---
--- ------------------
---
--- This is incorrect ASN.1 notation! The CHOICE has also to be a named
--- type. Therefore, the definition was changed and can be seen below:
---
--- =========================================================
-
-
-CUG-Information ::= SEQUENCE{
- cug-Facilities CUG-Facilities,
- cug-FeatureChoice CHOICE{
- cug-Feature [0] IMPLICIT CUG-Feature,
- cug-FeatureList [1] IMPLICIT CUG-FeatureList}}
- -- the first alternative of the choice should be used
- -- for the preferred CUG.
-
---
-ForwardingInfo ::= SEQUENCE{
- ss-Code SS-Code OPTIONAL,
- forwardingFeatureList ForwardingFeatureList}
-
-ForwardingFeature ::= SEQUENCE {
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] IMPLICIT SS-Status,
- forwardedToNumber [5] IMPLICIT IsdnAddressString OPTIONAL,
- forwardingOptions [6] IMPLICIT ForwardingOptions OPTIONAL,
- noReplyConditionTime [7] IMPLICIT NoReplyConditionTime OPTIONAL}
-
-ForwardingFeatureList ::= SEQUENCE SIZE (1.. maxNumberOfForwardingFeatures)
- OF ForwardingFeature
-
-CallBarringInfo ::= SEQUENCE {
- ss-Code SS-Code,
- callBarringFeatureList CallBarringFeatureList}
-
-CallBarringFeature ::= SEQUENCE{
- basicServiceCode BasicServiceCode OPTIONAL,
- ss-Status [4] IMPLICIT SS-Status }
-
-CallBarringFeatureList ::= SEQUENCE SIZE (1.. maxNumberOfCallBarringFeatures)
-OF CallBarringFeature
-
-SubscriberData ::= SEQUENCE{
- msIsdn [1] IMPLICIT IsdnAddressString OPTIONAL,
- category [2] IMPLICIT Category OPTIONAL,
- subscriberStatus [3] IMPLICIT SubscriberStatus OPTIONAL,
- bearerServiceList [4] IMPLICIT BearerServiceList OPTIONAL,
- teleserviceList [6] IMPLICIT TeleserviceList OPTIONAL,
- provisonedSupplServices [7] IMPLICIT SS-InfoList OPTIONAL}
-
--- Data types for security procedures
-
-AuthenticationSet ::= SEQUENCE {
- rand Rand,
- sres Sres,
- kc Kc}
-
-
-Rand ::= OCTET STRING (SIZE (16))
-
-Sres ::= OCTET STRING (SIZE (4))
-
-Kc ::= OCTET STRING (SIZE (8))
-
-Ki ::= OCTET STRING (SIZE (16))
-
-
--- Data types for fault recovery, call tracing
-
-NetworkResource ::= ENUMERATED {
- pLMN (0),
- hLR (1),
- vLR (2),
- previous-VLR (3),
- controlling-MSC (4),
- vMSC (5),
- eIR (6),
- radioSubSystem (7)}
-
-
--- other data types
-
-RequestParameter ::= ENUMERATED{
- request-IMSI (0),
- request-AuthenticationSet (1),
- request-SubscriberData (2),
- request-CUG-Information (3),
- request-Ki (4)}
-
-RequestParameters ::= SEQUENCE SIZE (1..2) OF RequestParameter
-
-SentParameter ::= CHOICE{
- imsi [0] IMPLICIT IMSI,
- authenticationSet [1] IMPLICIT AuthenticationSet,
- subscriberData [2] IMPLICIT SubscriberData,
- cug-information [3] IMPLICIT CUG-Information,
- ki [4] IMPLICIT Ki}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn.set.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn.set.asn
deleted file mode 100644
index 8a61da0160..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn.set.asn
+++ /dev/null
@@ -1,7 +0,0 @@
-Mvrasn-11-6.asn
-Mvrasn-21-4.asn
-Mvrasn-20-6.asn
-Mvrasn-19-6.asn
-Mvrasn-15-6.asn
-Mvrasn-18-6.asn
-Mvrasn-14-6.asn
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn4.set.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn4.set.asn
deleted file mode 100644
index 76e8147d12..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn4.set.asn
+++ /dev/null
@@ -1,10 +0,0 @@
-Mvrasn-Constants-1.asn
-Mvrasn-DataTypes-1.asn
-Mvrasn-21-4.asn
-Mvrasn-20-4.asn
-Mvrasn-19-4.asn
-Mvrasn-18-4.asn
-Mvrasn-17-4.asn
-Mvrasn-15-4.asn
-Mvrasn-14-4.asn
-Mvrasn-11-4.asn
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn6.set.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn6.set.asn
deleted file mode 100644
index 2a3f54ca9a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn6.set.asn
+++ /dev/null
@@ -1,7 +0,0 @@
-Mvrasn-21-4.asn
-Mvrasn-20-6.asn
-Mvrasn-19-6.asn
-Mvrasn-15-6.asn
-Mvrasn-18-6.asn
-Mvrasn-14-6.asn
-Mvrasn-11-6.asn
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/MyMerge.set.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/MyMerge.set.asn
deleted file mode 100644
index 32c562b43f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/MyMerge.set.asn
+++ /dev/null
@@ -1,2 +0,0 @@
-MySO
-IMP
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/NoImport.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/NoImport.asn
deleted file mode 100644
index 2ab09d91fd..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/NoImport.asn
+++ /dev/null
@@ -1,14 +0,0 @@
-NoImport DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Typ
- FROM IMP;
-
-
-Seq2 ::= SEQUENCE {
- a Typ,
- b INTEGER}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Nortel.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Nortel.asn
deleted file mode 100755
index a27c78a0b5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Nortel.asn
+++ /dev/null
@@ -1,592 +0,0 @@
-Nortel DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
--- EXPORTS Nortel;
-
---IMPORTS
-
--- IMSI, IMEI
--- FROM MAP-commonDataTypes { iso (1) identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-CommonDataTypes (18) version2 (2) };
-
---
--- Note that the syntax of AE-title to be used is from
--- CCITT Rec. X.227 / ISO 8650 corrigendum and not "ANY"
---
-------------------------------------------------------------------------------
---
--- CALL AND EVENT RECORDS
---
-------------------------------------------------------------------------------
-
-CellId ::= OCTET STRING (SIZE(2))
---
--- Coded according to TS GSM 04.08
---
-
-RecordingEntity ::= AddressString
-
-SMSResult ::= Diagnostics
-
-MessageReference ::= OCTET STRING
-
-ManagementExtensions ::= SET OF ManagementExtension
-
-CalledNumber ::= BCDDirectoryNumber
-
-DMI-EXTENSION ::= DMI-TYPE-IDENTIFIER
-
-DMI-TYPE-IDENTIFIER ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
- &Value
-} WITH SYNTAX {TYPE &Value
- ID &id
-}
-
-
--- ManagementExtension ::= OCTET STRING
-
- ManagementExtension ::= SEQUENCE {
- identifier DMI-EXTENSION.&id({ManagementExtensionSet}),
- significance [1] BOOLEAN DEFAULT FALSE,
- information
- [2] DMI-EXTENSION.&Value({ManagementExtensionSet}{@.identifier})
- }
-
-ManagementExtensionSet DMI-EXTENSION ::= {...}
-
-ServiceKey ::= INTEGER (0..2147483647)
-
-DefaultGPRS-Handling ::= ENUMERATED {
- continueTransaction (0) ,
- releaseTransaction (1)
- }
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueTransaction"
--- reception of values greater than 31 shall be treated as "releaseTransaction"
-
-AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
- -- This type is used to represent a number for addressing
- -- purposes. It is composed of
- -- a) one octet for nature of address, and numbering plan
- -- indicator.
- -- b) digits of an address encoded as TBCD-String.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits nature of address indicator and a 4 bits numbering
- -- plan indicator, encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: nature of address indicator
- -- 000 unknown
- -- 001 international number
- -- 010 national significant number
- -- 011 network specific number
- -- 100 subscriber number
- -- 101 reserved
- -- 110 abbreviated number
- -- 111 reserved for extension
-
- -- bits 4321: numbering plan indicator
- -- 0000 unknown
- -- 0001 ISDN/Telephony Numbering Plan (Rec ITU-T E.164)
- -- 0010 spare
- -- 0011 data numbering plan (ITU-T Rec X.121)
- -- 0100 telex numbering plan (ITU-T Rec F.69)
- -- 0101 spare
- -- 0110 land mobile numbering plan (ITU-T Rec E.212)
- -- 0111 spare
- -- 1000 national numbering plan
- -- 1001 private numbering plan
- -- 1111 reserved for extension
-
- -- all other values are reserved.
-
- -- b) The following octets representing digits of an address
- -- encoded as a TBCD-STRING.
-
-maxAddressLength INTEGER ::= 20
-
-ISDN-AddressString ::=
- AddressString (SIZE (1..maxISDN-AddressLength))
- -- This type is used to represent ISDN numbers.
-
-maxISDN-AddressLength INTEGER ::= 9
-
-BCDDirectoryNumber ::= OCTET STRING
- -- This type contains the binary coded decimal representation of
- -- a directory number e.g. calling/called/connected/translated number.
- -- The encoding of the octet string is in accordance with the
- -- the elements "Calling party BCD number", "Called party BCD number"
- -- and "Connected number" defined in TS GSM 04.08.
- -- This encoding includes type of number and number plan information
- -- together with a BCD encoded digit string.
- -- It may also contain both a presentation and screening indicator
- -- (octet 3a).
- -- For the avoidance of doubt, this field does not include
- -- octets 1 and 2, the element name and length, as this would be
- -- redundant.
-
-
-
-Diagnostics ::= CHOICE
-{
- gsm0408Cause [0] INTEGER,
- -- See TS GSM 04.08
- gsm0902MapErrorValue [1] INTEGER,
- -- Note: The value to be stored here corresponds to
- -- the local values defined in the MAP-Errors and
- -- MAP-DialogueInformation modules, for full details
- -- see TS GSM 09.02.
- ccittQ767Cause [2] INTEGER,
- -- See CCITT Q.767
- networkSpecificCause [3] ManagementExtension,
- -- To be defined by network operator
- manufacturerSpecificCause [4] ManagementExtension
- -- To be defined by manufacturer
-}
-
-LocationAreaCode ::= OCTET STRING (SIZE(2))
- --
- -- See TS GSM 04.08
- --
-
-CallEventRecord ::= CHOICE
-{
--- Record values 0..16 are 3G curcuit switch specifick
---
--- sgsnPDPRecord [20] SGSNPDPRecord,
- ggsnPDPRecord [21] GGSNPDPRecord
--- sgsnMMRecord [22] SGSNMMRecord,
--- sgsnSMORecord [23] SGSNSMORecord,
--- sgsnSMTRecord [24] SGSNSMTRecord
-}
-
-CallDuration ::= INTEGER
- --
- -- The call duration in seconds.
- -- For successful calls this is the chargeable duration.
- -- For call attempts this is the call holding time.
-
-TimeStamp ::= OCTET STRING (SIZE(9))
- --
- -- The contents of this field are a compact form of the UTCTime format
- -- containing local time plus an offset to universal time. Binary coded
- -- decimal encoding is employed for the digits to reduce the storage and
- -- transmission overhead
- -- e.g. YYMMDDhhmmssShhmm
- -- where
- -- YY = Year 00 to 99 BCD encoded
- -- MM = Month 01 to 12 BCD encoded
- -- DD = Day 01 to 31 BCD encoded
- -- hh = hour 00 to 23 BCD encoded
- -- mm = minute 00 to 59 BCD encoded
- -- ss = second 00 to 59 BCD encoded
- -- S = Sign 0 = "+", "-" ASCII encoded
- -- hh = hour 00 to 23 BCD encoded
- -- mm = minute 00 to 59 BCD encoded
- --
-
-MSISDN ::= ISDN-AddressString
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
- -- digits of MCC, MNC, MSIN are concatenated in this order.
-
-IMEI ::= TBCD-STRING (SIZE (8))
- -- Refers to International Mobile Station Equipment Identity
- -- and Software Version Number (SVN) defined in TS 3GPP TS 23.003 [17].
- -- If the SVN is not present the last octet shall contain the
- -- digit 0 and a filler.
- -- If present the SVN shall be included in the last octet.
-
-
-TBCD-STRING ::= OCTET STRING
- -- This type (Telephony Binary Coded Decimal String) is used to
- -- represent several digits from 0 through 9, *, #, a, b, c, two
- -- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
- -- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
- -- as filler when there is an odd number of digits.
-
- -- bits 8765 of octet n encoding digit 2n
- -- bits 4321 of octet n encoding digit 2(n-1) +1
-
-GGSNPDPRecord ::= SET
-{
- recordType [0] CallEventRecordType,
- networkInitiation [1] NetworkInitiatedPDPContext OPTIONAL,
- servedIMSI [3] IMSI,
- ggsnAddress [4] GSNAddress,
- chargingID [5] ChargingID,
- sgsnAddress [6] SEQUENCE OF GSNAddress,
- accessPointNameNI [7] AccessPointNameNI,
- pdpType [8] PDPType,
- servedPDPAddress [9] PDPAddress OPTIONAL,
- dynamicAddressFlag [11] DynamicAddressFlag OPTIONAL,
- listOfTrafficVolumes [12] SEQUENCE OF ChangeOfCharCondition,
- recordOpeningTime [13] TimeStamp,
- duration [14] CallDuration,
- causeForRecClosing [15] CauseForRecClosing,
- diagnostics [16] Diagnostics OPTIONAL,
- recordSequenceNumber [17] INTEGER OPTIONAL,
- nodeID [18] NodeID OPTIONAL,
- recordExtensions [19] ManagementExtensions OPTIONAL,
- localSequenceNumber [20] LocalSequenceNumber OPTIONAL,
- apnSelectionMode [21] APNSelectionMode OPTIONAL,
- servedMSISDN [22] MSISDN OPTIONAL,
- chargingCharacteristics [23] ChargingCharacteristics OPTIONAL
-}
-
--- sgsnPLMNIdentifier [27] PLMN-Id
-
-
-
-
-------------------------------------------------------------------------------
---
--- OBJECT IDENTIFIERS
---
-------------------------------------------------------------------------------
-
-gsm1205InformationModel OBJECT IDENTIFIER ::=
- { ccitt (0) identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Operation-Maintenance (3) gsm-12-05 (5) informationModel (0) }
-
-gsm1205ASN1Module OBJECT IDENTIFIER ::=
- { gsm1205InformationModel asn1Module(2) }
-
-------------------------------------------------------------------------------
---
--- COMMON DATA TYPES
---
-------------------------------------------------------------------------------
-
-AccessPointNameNI ::= IA5String (SIZE(1..63))
- --
- -- Network Identifier part of APN in "dot" representation
- -- For example, if the complete APN is 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs'
- -- NI is 'apn1a.apn1b.apn1c' and is presented in this form in the CDR.
-
-AccessPointNameOI ::= IA5String (SIZE(1..37))
- --
- -- Operator Identifier part of APN in "dot" representation
- -- In the 'apn1a.apn1b.apn1c.mnc022.mcc111.gprs' example, the OI portion is 'mnc022.mcc111.gprs'
- -- and is presented in this form in the CDR.
-
-APNSelectionMode::= ENUMERATED
-{
- --
- -- See Information Elements TS 29.060
- --
- mSorNetworkProvidedSubscriptionVerified (0),
- mSProvidedSubscriptionNotVerified (1),
- networkProvidedSubscriptionNotVerified (2)
-}
-
-CAMELAccessPointNameNI ::= AccessPointNameNI
-
-CAMELAccessPointNameOI ::= AccessPointNameOI
-
-CauseForRecClosing ::= INTEGER
-{
- --
- -- in GGSN the value sGSNChange should be used for partial record
- -- generation due to SGSN Address List Overflow
- --
- -- cause codes 0 to 15 are defined in TS 32.005 as 'CauseForTerm' (cause for termination)
- --
- normalRelease (0),
- abnormalRelease (4),
- cAMELInitCallRelease (5),
- volumeLimit (16),
- timeLimit (17),
- sGSNChange (18),
- maxChangeCond (19),
- managementIntervention (20)
-}
-
-ChangeCondition ::= ENUMERATED
-{
- qoSChange (0),
- tariffTime (1),
- recordClosure (2)
-}
-
-ChangeOfCharCondition ::= SEQUENCE
-{
- --
- -- used in PDP context record only
- --
- qosRequested [1] QoSInformation OPTIONAL,
- qosNegotiated [2] QoSInformation OPTIONAL,
- dataVolumeGPRSUplink [3] DataVolumeGPRS,
- dataVolumeGPRSDownlink [4] DataVolumeGPRS,
- changeCondition [5] ChangeCondition,
- changeTime [6] TimeStamp
-}
-
-ChangeLocation ::= SEQUENCE
-{
- --
- -- used in SGSNMMRecord only
- --
- locationAreaCode [0] LocationAreaCode,
- routingAreaCode [1] RoutingAreaCode,
- cellId [2] CellId OPTIONAL,
- changeTime [3] TimeStamp
-}
-
-ChargingCharacteristics ::= OCTET STRING (SIZE(2))
- --
- -- Descriptions for the bits of the flag set:
- --
- -- Bit 1: H (Hot billing) := '00000001'B
- -- Bit 2: F (Flat rate) := '00000010'B
- -- Bit 3: P (Prepaid service) := '00000100'B
- -- Bit 4: N (Normal billing) := '00001000'B
- -- Bit 5: - (Reserved, set to 0) := '00010000'B
- -- Bit 6: - (Reserved, set to 0) := '00100000'B
- -- Bit 7: - (Reserved, set to 0) := '01000000'B
- -- Bit 8: - (Reserved, set to 0) := '10000000'B
- --
-
-ChargingID ::= INTEGER (0..4294967295)
- --
- -- generated in GGSN, part of PDP context, see TS 23.060
- -- 0..4294967295 is equivalent to 0..2**32-1
-
-DataVolumeGPRS ::= INTEGER
- --
- -- The volume of data transferred in octets.
- --
-
-DynamicAddressFlag ::= BOOLEAN
-
-ETSIAddress ::= AddressString
- --
- --first octet for nature of address, and numbering plan indicator (3 for X.121)
- --other octets TBCD
- -- See TS 29.002
- --
-
-FFDAppendIndicator ::= BOOLEAN
-
-FreeFormatData ::= OCTET STRING (SIZE(1..160))
- --
- -- Free formated data as sent in the FurnishChargingInformationGPRS
- -- see TS 29.078
- --
-
-GSNAddress ::= IPAddress
-
-GSMQoSInformation ::=SEQUENCE
-{
- reliability [0] QoSReliability,
- delay [1] QoSDelay,
- precedence [2] QoSPrecedence,
- peakThroughput [3] QoSPeakThroughput,
- meanThroughput [4] QoSMeanThroughput
-}
-
-IPAddress ::= CHOICE
-{
- iPBinaryAddress IPBinaryAddress,
- iPTextRepresentedAddress IPTextRepresentedAddress
-}
-
-IPBinaryAddress ::= CHOICE
-{
- iPBinV4Address [0] OCTET STRING (SIZE(4)),
- iPBinV6Address [1] OCTET STRING (SIZE(16))
-}
-
-IPTextRepresentedAddress ::= CHOICE
-{ --
- -- IP address in the familiar "dot" notation
- --
- iPTextV4Address [2] IA5String (SIZE(7..15)),
- iPTextV6Address [3] IA5String (SIZE(15..45))
-}
-
-LocalSequenceNumber ::= INTEGER (0..4294967295)
- --
- -- Sequence number of the record in this node
- -- 0.. 4294967295 is equivalent to 0..2**32-1, unsigned integer in four octets
-
-MSNetworkCapability ::= OCTET STRING (SIZE(1..8))
-
-NetworkInitiatedPDPContext ::= BOOLEAN
- --
- -- Set to true if PDP context was initiated from network side
- --
-
-NodeID ::= IA5String (SIZE(1..20))
-
-PDPAddress ::= CHOICE
-{
- iPAddress [0] IPAddress,
- eTSIAddress [1] ETSIAddress
-}
-
-PDPType ::= OCTET STRING (SIZE(2))
- --
- --OCTET 1: PDP Type Organization
- --OCTET 2: PDP Type Number
- -- See TS 29.060
- --
-
-PLMN-Id ::= OCTET STRING (SIZE (3))
- -- This is a 1:1 copy from the Routing Area Identity (RAI) IE specified in TS 29.060
- -- as follows:
- -- OCTET 1 of PLMN-Id = OCTET 2 of RAI
- -- OCTET 2 of PLMN-Id = OCTET 3 of RAI
- -- OCTET 3 of PLMN-Id = OCTET 4 of RAI
-
-
-QoSDelay ::= ENUMERATED
-{
- --
- -- See Quality of service TS 24.008
- --
- delayClass1 (1),
- delayClass2 (2),
- delayClass3 (3),
- delayClass4 (4)
-}
-
-QoSInformation ::= CHOICE
-{
- gsmQosInformation [0] GSMQoSInformation,
- umtsQosInformation [1] OCTET STRING (SIZE (4..12))
-}
--- When dealing with a pre R99 QoS profile the GSN may either choose the "GSMQoSInformation" or the
--- "umtsQoSInformation" encoding. Dealing with R99 QoS profiles the GSN shall apply the
--- "umtsQoSInformation" encoding. The umtsQosInformation octet string is a 1:1 copy of the contents
--- (starting with octet 4) of the "Quality of service Profile" information element specified in
--- 3GPP TS 29.060 [22] for R99 and GSM TS 09.60 for pre R99 cases.
---}
-
-QoSMeanThroughput ::= ENUMERATED
-{
- --
- -- See Quality of service TS 24.008
- --
- subscribedMeanThroughput (0), -- MS to network direction
- -- Network to MS direction needs not to be covered since value (0) = "reserved"
- mean100octetPh (1),
- mean200octetPh (2),
- mean500octetPh (3),
- mean1000octetPh (4),
- mean2000octetPh (5),
- mean5000octetPh (6),
- mean10000octetPh (7),
- mean20000octetPh (8),
- mean50000octetPh (9),
- mean100000octetPh (10),
- mean200000octetPh (11),
- mean500000octetPh (12),
- mean1000000octetPh (13),
- mean2000000octetPh (14),
- mean5000000octetPh (15),
- mean10000000octetPh (16),
- mean20000000octetPh (17),
- mean50000000octetPh (18),
- reserved (30),
- bestEffort (31)
-}
-
-QoSPeakThroughput ::= ENUMERATED
-{
- --
- -- See Quality of service TS 24.008
- --
- unspecified (0),
- upTo1000octetPs (1),
- upTo2000octetPs (2),
- upTo4000octetPs (3),
- upTo8000octetPs (4),
- upTo16000octetPs (5),
- upTo32000octetPs (6),
- upTo64000octetPs (7),
- upTo128000octetPs (8),
- upTo256000octetPs (9)
-}
-
-QoSPrecedence ::= ENUMERATED
-{
- --
- -- See Quality of service TS 24.008
- --
- unspecified (0),
- highPriority (1),
- normalPriority (2),
- lowPriority (3)
-}
-
-QoSReliability ::= ENUMERATED
-{
- --
- -- See Quality of service TS 24.008
- --
- unspecifiedReliability (0),
- acknowledgedGTP (1),
- unackGTPAcknowLLC (2),
- unackGTPLLCAcknowRLC (3),
- unackGTPLLCRLC (4),
- unacknowUnprotectedData (5)
-}
-
-RoutingAreaCode ::= OCTET STRING (SIZE(1))
- --
- -- See TS 24.008
- --
-
-SCFAddress ::= AddressString
- --
- -- See TS 29.002
- --
-
-NumberOfDPEncountered ::= INTEGER
-
-SGSNChange ::= BOOLEAN
- --
- -- present if first record after inter SGSN routing area update
- -- in new SGSN
- --
-
-SystemType ::= ENUMERATED
-{
- unknown (0),
- iuUTRAN (1),
- gERAN (2)
-}
-
-CallEventRecordType ::= INTEGER
-{
- moCallRecord (0),
- mtCallRecord (1),
- roamingRecord (2),
- incGatewayRecord (3),
- outGatewayRecord (4),
- transitCallRecord (5),
- moSMSRecord (6),
- mtSMSRecord (7),
- moSMSIWRecord (8),
- mtSMSGWRecord (9),
- ssActionRecord (10),
- hlrIntRecord (11),
- locUpdateHLRRecord (12),
- locUpdateVLRRecord (13),
- commonEquipRecord (14),
- moTraceRecord (15),
- mtTraceRecord (16),
- termCAMELRecord (17),
- sgsnPDPRecord (18),
- ggsnPDPRecord (19),
- sgsnMMRecord (20),
- sgsnSMORecord (21),
- sgsnSMTRecord (22)
-
-}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Null.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Null.py
deleted file mode 100644
index 23e5f38140..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Null.py
+++ /dev/null
@@ -1,22 +0,0 @@
-Null DEFINITIONS ::=
-BEGIN
-
--- F.2.9 Null
--- Use a null type to indicate the effective absence of a component
--- of a sequence.
--- EXAMPLE
-
-PatientIdentifier ::= SEQUENCE {
- name VisibleString,
- roomNumber CHOICE {
- room INTEGER,
- outPatient NULL -- if an out-patient --
- }
-}
-
-lastPatient PatientIdentifier ::= {
- name "Jane Doe",
- roomNumber outPatient : NULL
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/OLD-MEDIA-GATEWAY-CONTROL.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/OLD-MEDIA-GATEWAY-CONTROL.asn
deleted file mode 100644
index 35a54aaac5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/OLD-MEDIA-GATEWAY-CONTROL.asn
+++ /dev/null
@@ -1,950 +0,0 @@
--- This ASN.1 spec has been extracted from the Megaco/H.248 spec
--- http://www.ietf.org/internet-drafts/draft-ietf-megaco-merged-01.txt
---
--- o Removed stuff named nonStandard
--- o Major enhancements of the indentation has been performed.
---
--- Hakan Mattsson <[email protected]>
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- ANNEX A: BINARY ENCODING OF THE PROTOCOL (NORMATIVE)
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- This Annex specifies the syntax of messages using the notation
--- defined in ASN.1 [ITU-T Recommendation X.680 (1997): Information
--- Technology - Abstract Syntax Notation One (ASN.1) - Specification of
--- basic notation.]. Messages shall be encoded for transmission by
--- applying the basic encoding rules specified in [ITU-T Recommendation
--- X.690(1994) Information Technology - ASN.1 Encoding Rules:
--- Specification of Basic Encoding Rules (BER)].
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- A.1 Coding of wildcards
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- The use of wildcards ALL and CHOOSE is allowed in the protocol.
--- This allows a MGC to partially specify Termination IDs and let the
--- MG choose from the values that conform to the partial specification.
--- Termination IDs may encode a hierarchy of names. This hierarchy is
--- provisioned. For instance, a TerminationID may consist of a trunk
--- group, a trunk within the group and a circuit. Wildcarding must be
--- possible at all levels. The following paragraphs explain how this
--- is achieved.
---
--- The ASN.1 description uses octet strings of up to 8 octets in length
--- for Termination IDs. This means that Termination IDs consist of at
--- most 64 bits. A fully specified Termination ID may be preceded by a
--- sequence of wildcarding fields. A wildcarding field is one octet in
--- length. Bit 7 (the most significant bit) of this octet specifies
--- what type of wildcarding is invoked: if the bit value equals 1,
--- then the ALL wildcard is used; if the bit value if 0, then the
--- CHOOSE wildcard is used. Bit 6 of the wildcarding field specifies
--- whether the wildcarding pertains to one level in the hierarchical
--- naming scheme (bit value 0) or to the level of the hierarchy
--- specified in the wildcarding field plus all lower levels (bit value
--- 1). Bits 0 through 5 of the wildcarding field specify the bit
--- position in the Termination ID at which the starts.
---
--- We illustrate this scheme with some examples. In these examples,
--- the most significant bit in a string of bits appears on the left
--- hand side.
---
--- Assume that Termination IDs are three octets long and that each
--- octet represents a level in a hierarchical naming scheme. A valid
--- Termination ID is
--- 00000001 00011110 01010101.
---
--- Addressing ALL names with prefix 00000001 00011110 is done as
--- follows:
--- wildcarding field: 10000111
--- Termination ID: 00000001 00011110 xxxxxxxx.
---
--- The values of the bits labeled "x" is irrelevant and shall be
--- ignored by the receiver.
---
--- Indicating to the receiver that is must choose a name with 00011110
--- as the second octet is done as follows:
--- wildcarding fields: 00010111 followed by 00000111
--- Termination ID: xxxxxxxx 00011110 xxxxxxxx.
---
--- The first wildcard field indicates a CHOOSE wildcard for the level
--- in the naming hierarchy starting at bit 23, the highest level in our
--- assumed naming scheme. The second wildcard field indicates a CHOOSE
--- wildcard for the level in the naming hierarchy starting at bit 7,
--- the lowest level in our assumed naming scheme.
---
--- Finally, a CHOOSE-wildcarded name with the highest level of the name
--- equal to 00000001 is specified as follows:
--- wildcard field: 01001111
--- Termination ID: 0000001 xxxxxxxx xxxxxxxx .
---
--- Bit value 1 at bit position 6 of the first octet of the wildcard
--- field indicates that the wildcarding pertains to the specified level
--- in the naming hierarchy and all lower levels.
---
--- Context IDs may also be wildcarded. In the case of Context IDs,
--- however, specifying partial names is not allowed. Context ID 0x0
--- SHALL be used to indicate the NULL Context, Context ID 0xFFFFFFFE
--- SHALL be used to indicate a CHOOSE wildcard, and Context ID
--- 0xFFFFFFFF SHALL be used to indicate an ALL wildcard.
---
--- TerminationID 0xFFFFFFFFFFFFFFFF SHALL be used to indicate the ROOT
--- Termination.
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- Digit maps and path names
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- From a syntactic viewpoint, digit maps are strings with syntactic
--- restrictions imposed upon them. The syntax of valid digit maps is
--- specified in ABNF [RFC 2234]. The syntax for digit maps presented
--- in this section is for illustrative purposes only. The definition of
--- digitMap in Annex B takes precedence in the case of differences
--- between the two.
---
--- digitMap = (digitString / LWSP "(" LWSP digitStringList LWSP ")"
--- LWSP)
--- digitStringList = digitString *( LWSP "/" LWSP digitString )
--- digitString = 1*(digitStringElement)
--- digitStringElement = digitPosition [DOT]
--- digitPosition = digitMapLetter / digitMapRange
--- digitMapRange = ("x" / LWSP "[" LWSP digitLetter LWSP "]" LWSP)
--- digitLetter = *((DIGIT "-" DIGIT) /digitMapLetter)
--- digitMapLetter = DIGIT ;digits 0-9
--- / %x41-4B / %x61-6B ;a-k and A-K
--- / "L" / "S" ;Inter-event timers
--- ;(long, short)
--- / "Z" ;Long duration event
--- DOT = %x2E ; "."
--- LWSP = *(WSP / COMMENT / EOL)
--- WSP = SP / HTAB
--- COMMENT = ";" *(SafeChar / RestChar / WSP) EOL
--- EOL = (CR [LF]) / LF
--- SP = %x20
--- HTAB = %x09
--- CR = %x0D
--- LF = %x0A
--- SafeChar = DIGIT / ALPHA / "+" / "-" / "&" / "!" / "_" / "/" /
--- "'" / "?" / "@" / "^" / "`" / "~" / "*" / "$" / "\" /
--- "(" / ")" / "%" / "."
--- RestChar = ";" / "[" / "]" / "{" / "}" / ":" / "," / "#" /
--- "<" / ">" / "=" / %x22
--- DIGIT = %x30-39 ; digits 0 through 9
--- ALPHA = %x41-5A / %x61-7A ; A-Z, a-z
--- A path name is also a string with syntactic restrictions imposed
--- upon it. The ABNF production defining it is copied from Annex B.
---
--- PathName = NAME *(["/"] ["*"] ["@"] (ALPHA / DIGIT)) ["*"]
--- NAME = ALPHA *63(ALPHA / DIGIT / "_" )
---
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--- A.2 ASN.1 syntax specification
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
---
--- This section contains the ASN.1 specification of the H.248 protocol
--- syntax.
---
--- NOTE - In case a transport mechanism is used that employs
--- application level framing, the definition of Transaction below
--- changes. Refer to the annex defining the transport mechanism for
--- the definition that applies in that case.
---
--- NOTE - The ASN.1 specification below contains a clause defining
--- TerminationIDList as a sequence of TerminationIDs. The length of
--- this sequence SHALL be one, except possibly when used in
--- contextAuditResult.
--- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-OLD-MEDIA-GATEWAY-CONTROL DEFINITIONS AUTOMATIC TAGS::=
-BEGIN
-
-MegacoMessage ::= SEQUENCE
-{
- authHeader AuthenticationHeader OPTIONAL,
- mess Message
-}
-
-AuthenticationHeader ::= SEQUENCE
-{
- secParmIndex SecurityParmIndex,
- seqNum SequenceNum,
- ad AuthData
-}
-
-SecurityParmIndex ::= OCTET STRING(SIZE(4))
-
-SequenceNum ::= OCTET STRING(SIZE(4))
-
-AuthData ::= OCTET STRING (SIZE (12..32))
-
-Message ::= SEQUENCE
-{
- version INTEGER(0..99),
- -- The version of the protocol defined here is equal to 1.
- mId MId, -- Name/address of message originator
- messageBody CHOICE
- {
- messageError ErrorDescriptor,
- transactions SEQUENCE OF Transaction
- },
- ...
-}
-
-MId ::= CHOICE
-{
- ip4Address IP4Address,
- ip6Address IP6Address,
- domainName DomainName,
- deviceName PathName,
- mtpAddress OCTET STRING(SIZE(2)),
- -- Addressing structure of mtpAddress:
- -- 15 0
- -- | PC | NI |
- -- 14 bits 2 bits
- ...
-}
-
-DomainName ::= SEQUENCE
-{
- name IA5String,
- -- The name starts with an alphanumeric digit followed by a
- -- sequence of alphanumeric digits, hyphens and dots. No two
- -- dots shall occur consecutively.
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-IP4Address ::= SEQUENCE
-{
- address OCTET STRING (SIZE(4)),
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-IP6Address ::= SEQUENCE
-{
- address OCTET STRING (SIZE(16)),
- portNumber INTEGER(0..65535) OPTIONAL
-}
-
-PathName ::= IA5String(SIZE (1..64))
--- See section A.3
-
-Transaction ::= CHOICE
-{
- transactionRequest TransactionRequest,
- transactionPending TransactionPending,
- transactionReply TransactionReply,
- transactionResponseAck TransactionResponseAck,
- -- use of response acks is dependent on underlying transport
- ...
-}
-
-TransactionId ::= INTEGER(0..4294967295) -- 32 bit unsigned integer
-
-TransactionRequest ::= SEQUENCE
-{
- transactionId TransactionId,
- actions SEQUENCE OF ActionRequest,
- ...
-}
-
-TransactionPending ::= SEQUENCE
-{
- transactionId TransactionId,
- ...
-}
-
-TransactionReply ::= SEQUENCE
-{
- transactionId TransactionId,
- immAckRequired NULL OPTIONAL,
- transactionResult CHOICE
- {
- transactionError ErrorDescriptor,
- actionReplies SEQUENCE OF ActionReply
- },
- ...
-}
-
-TransactionResponseAck ::= SEQUENCE
-{
- firstAck TransactionId,
- lastAck TransactionId OPTIONAL
-}
-
-ErrorDescriptor ::= SEQUENCE
-{
- errorCode ErrorCode,
- errorText ErrorText OPTIONAL
-}
-
-ErrorCode ::= INTEGER(0..65535)
--- See section 13 for IANA considerations w.r.t. error codes
-
-ErrorText ::= IA5String
-
-ContextID ::= INTEGER(0..4294967295)
-
--- Context NULL Value: 0
--- Context CHOOSE Value: 4294967294 (0xFFFFFFFE)
--- Context ALL Value: 4294967295 (0xFFFFFFFF)
-
-
-ActionRequest ::= SEQUENCE
-{
- contextId ContextID,
- contextRequest ContextRequest OPTIONAL,
- contextAttrAuditReq ContextAttrAuditRequest OPTIONAL,
- commandRequests SEQUENCE OF CommandRequest
-}
-
-ActionReply ::= SEQUENCE
-{
- contextId ContextID,
- errorDescriptor ErrorDescriptor OPTIONAL,
- contextReply ContextRequest OPTIONAL,
- commandReply SEQUENCE OF CommandReply
-}
-
-ContextRequest ::= SEQUENCE
-{
- priority INTEGER(0..15) OPTIONAL,
- emergency BOOLEAN OPTIONAL,
- topologyReq SEQUENCE OF TopologyRequest OPTIONAL,
- ...
-}
-
-ContextAttrAuditRequest ::= SEQUENCE
-{
- topology NULL OPTIONAL,
- emergency NULL OPTIONAL,
- priority NULL OPTIONAL,
- ...
-}
-
-CommandRequest ::= SEQUENCE
-{
- command Command,
- optional NULL OPTIONAL,
- wildcardReturn NULL OPTIONAL,
- ...
-}
-
-Command ::= CHOICE
-{
- addReq AmmRequest,
- moveReq AmmRequest,
- modReq AmmRequest,
- -- Add, Move, Modify requests have the same parameters
- subtractReq SubtractRequest,
- auditCapRequest AuditRequest,
- auditValueRequest AuditRequest,
- notifyReq NotifyRequest,
- serviceChangeReq ServiceChangeRequest,
- ...
-}
-
-CommandReply ::= CHOICE
-{
- addReply AmmsReply,
- moveReply AmmsReply,
- modReply AmmsReply,
- subtractReply AmmsReply,
- -- Add, Move, Modify, Subtract replies have the same parameters
- auditCapReply AuditReply,
- auditValueReply AuditReply,
- notifyReply NotifyReply,
- serviceChangeReply ServiceChangeReply,
- ...
-}
-
-TopologyRequest ::= SEQUENCE
-{
- terminationFrom TerminationID,
- terminationTo TerminationID,
- topologyDirection ENUMERATED
- {
- bothway(0),
- isolate(1),
- oneway(2)
- }
-}
-
-AmmRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- descriptors SEQUENCE OF AmmDescriptor,
- -- At most one descriptor of each type (see AmmDescriptor)
- -- allowed in the sequence.
- ...
-}
-
-AmmDescriptor ::= CHOICE
-{
- mediaDescriptor MediaDescriptor,
- modemDescriptor ModemDescriptor,
- muxDescriptor MuxDescriptor,
- eventsDescriptor EventsDescriptor,
- eventBufferDescriptor EventBufferDescriptor,
- signalsDescriptor SignalsDescriptor,
- digitMapDescriptor DigitMapDescriptor,
- auditDescriptor AuditDescriptor,
-...
-}
-
-AmmsReply ::= SEQUENCE
-{
- terminationID TerminationIDList,
- terminationAudit TerminationAudit OPTIONAL,
- ...
-}
-
-SubtractRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- auditDescriptor AuditDescriptor OPTIONAL,
- ...
-}
-
-AuditRequest ::= SEQUENCE
-{
- terminationID TerminationID,
- auditDescriptor AuditDescriptor,
- ...
-}
-
-AuditReply ::= SEQUENCE
-{
- terminationID TerminationID,
- auditResult AuditResult,
- ...
-}
-
-AuditResult ::= CHOICE
-{
- contextAuditResult TerminationIDList,
- terminationAuditResult TerminationAudit
-}
-
-
-
-TerminationAudit ::= SEQUENCE OF AuditReturnParameter
-
-AuditReturnParameter ::= CHOICE
-{
- errorDescriptor ErrorDescriptor,
- mediaDescriptor MediaDescriptor,
- modemDescriptor ModemDescriptor,
- muxDescriptor MuxDescriptor,
- eventsDescriptor EventsDescriptor,
- eventBufferDescriptor EventBufferDescriptor,
- signalsDescriptor SignalsDescriptor,
- digitMapDescriptor DigitMapDescriptor,
- observedEventsDescriptor ObservedEventsDescriptor,
- statisticsDescriptor StatisticsDescriptor,
- packagesDescriptor PackagesDescriptor,
- emptyDescriptors AuditDescriptor,
- ...
-}
-
-AuditDescriptor ::= SEQUENCE
-{
- auditToken BIT STRING
- {
- muxToken(0),
- modemToken(1),
- mediaToken(2),
- eventsToken(3),
- signalsToken(4),
- digitMapToken(5),
- statsToken(6),
- observedEventsToken(7),
- packagesToken(8),
- eventBufferToken(9)
- } OPTIONAL,
- ...
-}
-
-NotifyRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- observedEventsDescriptor ObservedEventsDescriptor,
- errorDescriptor ErrorDescriptor OPTIONAL,
- ...
-}
-
-NotifyReply ::= SEQUENCE
-{
- terminationID TerminationIDList OPTIONAL,
- errorDescriptor ErrorDescriptor OPTIONAL,
- ...
-}
-
-ObservedEventsDescriptor ::= SEQUENCE
-{
- requestId RequestID,
- observedEventLst SEQUENCE OF ObservedEvent
-}
-
-ObservedEvent ::= SEQUENCE
-{
- eventName EventName,
- streamID StreamID OPTIONAL,
- eventParList SEQUENCE OF EventParameter,
- timeNotation TimeNotation OPTIONAL,
- ...
-}
-
-EventName ::= PkgdName
-
-EventParameter ::= SEQUENCE
-{
- eventParameterName Name,
- value Value
-}
-
-ServiceChangeRequest ::= SEQUENCE
-{
- terminationID TerminationIDList,
- serviceChangeParms ServiceChangeParm,
- ...
-}
-
-ServiceChangeReply ::= SEQUENCE
-{
- terminationID TerminationIDList,
- serviceChangeResult ServiceChangeResult,
- ...
-}
-
--- For ServiceChangeResult, no parameters are mandatory. Hence the
--- distinction between ServiceChangeParm and ServiceChangeResParm.
-
-ServiceChangeResult ::= CHOICE
-{
- errorDescriptor ErrorDescriptor,
- serviceChangeResParms ServiceChangeResParm
-}
-
-WildcardField ::= OCTET STRING(SIZE(1))
-
-TerminationID ::= SEQUENCE
-{
- wildcard SEQUENCE OF WildcardField,
- id OCTET STRING(SIZE(1..8)),
- ...
-}
--- See Section A.1 for explanation of wildcarding mechanism.
--- Termination ID 0xFFFFFFFFFFFFFFFF indicates the ROOT Termination.
-
-TerminationIDList ::= SEQUENCE OF TerminationID
-
-MediaDescriptor ::= SEQUENCE
-{
-
- termStateDescr TerminationStateDescriptor OPTIONAL,
- streams CHOICE
- {
- oneStream StreamParms,
- multiStream SEQUENCE OF StreamDescriptor
- },
- ...
-}
-
-StreamDescriptor ::= SEQUENCE
-{
- streamID StreamID,
- streamParms StreamParms
-}
-
-StreamParms ::= SEQUENCE
-{
- localControlDescriptor LocalControlDescriptor OPTIONAL,
- localDescriptor LocalRemoteDescriptor OPTIONAL,
- remoteDescriptor LocalRemoteDescriptor OPTIONAL,
- ...
-}
-
-LocalControlDescriptor ::= SEQUENCE
-{
- streamMode StreamMode OPTIONAL,
- reserveValue BOOLEAN,
- reserveGroup BOOLEAN,
- propertyParms SEQUENCE OF PropertyParm,
- ...
-}
-
-StreamMode ::= ENUMERATED
-{
- sendOnly(0),
- recvOnly(1),
- sendRecv(2),
- inactive(3),
- loopBack(4),
- ...
-}
-
--- In PropertyParm, value is a SEQUENCE OF octet string. When sent
--- by an MGC the interpretation is as follows:
--- empty sequence means CHOOSE
--- one element sequence specifies value
--- If the sublist field is not selected, a longer sequence means
--- "choose one of the values" (i.e. value1 OR value2 OR ...)
--- If the sublist field is selected,
--- a sequence with more than one element encodes the value of a
--- list-valued property (i.e. value1 AND value2 AND ...).
--- The relation field may only be selected if the value sequence
--- has length 1. It indicates that the MG has to choose a value
--- for the property. E.g., x > 3 (using the greaterThan
--- value for relation) instructs the MG to choose any value larger
--- than 3 for property x.
--- The range field may only be selected if the value sequence
--- has length 2. It indicates that the MG has to choose a value
--- in the range between the first octet in the value sequence and
--- the trailing octet in the value sequence, including the
--- boundary values.
--- When sent by the MG, only responses to an AuditCapability request
--- may contain multiple values, a range, or a relation field.
-
-PropertyParm ::= SEQUENCE
-{
- name PkgdName,
- value SEQUENCE OF OCTET STRING,
- extraInfo CHOICE
- {
- relation Relation,
- range BOOLEAN,
- sublist BOOLEAN
- } OPTIONAL,
- ...
-}
-
-Name ::= OCTET STRING(SIZE(2))
-
-PkgdName ::= OCTET STRING(SIZE(4))
--- represents Package Name (2 octets) plus Property Name (2 octets)
--- To wildcard a package use 0xFFFF for first two octets, choose
--- is not allowed. To reference native property tag specified in
--- Annex C, use 0x0000 as first two octets.
--- Wildcarding of Package Name is permitted only if Property Name is
--- also wildcarded.
-
-Relation ::= ENUMERATED
-{
- greaterThan(0),
- smallerThan(1),
- unequalTo(2),
- ...
-}
-
-LocalRemoteDescriptor ::= SEQUENCE
-{
- propGrps SEQUENCE OF PropertyGroup,
- ...
-}
-
-PropertyGroup ::= SEQUENCE OF PropertyParm
-
-TerminationStateDescriptor ::= SEQUENCE
-{
- propertyParms SEQUENCE OF PropertyParm,
- eventBufferControl EventBufferControl OPTIONAL,
- serviceState ServiceState OPTIONAL,
- ...
-}
-
-EventBufferControl ::= ENUMERATED
-{
- off(0),
- lockStep(1),
- ...
-}
-
-ServiceState ::= ENUMERATED
-{
- test(0),
- outOfSvc(1),
- inSvc(2),
- ...
-}
-
-MuxDescriptor ::= SEQUENCE
-{
- muxType MuxType,
- termList SEQUENCE OF TerminationID,
--- nonStandardData NonStandardData OPTIONAL,
- ...
-}
-
-MuxType ::= ENUMERATED
-{
- h221(0),
- h223(1),
- h226(2),
- v76(3),
- ...
-}
-
-StreamID ::= INTEGER(0..65535) -- 16 bit unsigned integer
-
-EventsDescriptor ::= SEQUENCE
-{
- requestID RequestID,
- eventList SEQUENCE OF RequestedEvent,
- ...
-}
-
-RequestedEvent ::= SEQUENCE
-{
- pkgdName PkgdName,
- streamID StreamID OPTIONAL,
- eventAction RequestedActions OPTIONAL,
- evParList SEQUENCE OF EventParameter,
- ...
-}
-
-RequestedActions ::= SEQUENCE
-{
- keepActive BOOLEAN,
- eventDM EventDM OPTIONAL,
- secondEvent SecondEventsDescriptor OPTIONAL,
- signalsDescriptor SignalsDescriptor OPTIONAL,
- ...
-}
-
-
-EventDM ::= CHOICE
-{
- digitMapName DigitMapName,
- digitMapValue DigitMapValue
-}
-
-SecondEventsDescriptor ::= SEQUENCE
-{
- requestID RequestID,
- eventList SEQUENCE OF SecondRequestedEvent,
- ...
-}
-
-SecondRequestedEvent ::= SEQUENCE
-{
- pkgdName PkgdName,
- streamID StreamID OPTIONAL,
- eventAction SecondRequestedActions OPTIONAL,
- evParList SEQUENCE OF EventParameter,
- ...
-}
-
-SecondRequestedActions ::= SEQUENCE
-{
- keepActive BOOLEAN,
- eventDM EventDM OPTIONAL,
- signalsDescriptor SignalsDescriptor OPTIONAL,
- ...
-}
-
-EventBufferDescriptor ::= SEQUENCE OF EventSpec
-
-EventSpec ::= SEQUENCE
-{
- eventName EventName,
- streamID StreamID OPTIONAL,
- eventParList SEQUENCE OF EventParameter,
- ...
-}
-
-SignalsDescriptor ::= SEQUENCE OF SignalRequest
-
-SignalRequest ::= CHOICE
-{
- signal Signal,
- seqSigList SeqSigList,
- ...
-}
-
-SeqSigList ::= SEQUENCE
-{
- id INTEGER(0..65535),
- signalList SEQUENCE OF Signal
-}
-
-Signal ::= SEQUENCE
-{
- signalName SignalName,
- streamID StreamID OPTIONAL,
- sigType SignalType OPTIONAL,
- duration INTEGER (0..65535) OPTIONAL,
- notifyCompletion NotifyCompletion OPTIONAL,
- keepActive BOOLEAN OPTIONAL,
- sigParList SEQUENCE OF SigParameter,
- ...
-}
-
-SignalType ::= ENUMERATED
-{
- brief(0),
- onOff(1),
- timeOut(2),
- ...
-}
-
-SignalName ::= PkgdName
-
-NotifyCompletion ::= BIT STRING
-{
- onTimeOut(0),
- onInterruptByEvent(1),
- onInterruptByNewSignalDescr(2),
- otherReason(3)
-}
-
-SigParameter ::= SEQUENCE
-{
- sigParameterName Name,
- value Value
-}
-
-RequestID ::= INTEGER(0..4294967295) -- 32 bit unsigned integer
-
-ModemDescriptor ::= SEQUENCE
-{
- mtl SEQUENCE OF ModemType,
- mpl SEQUENCE OF PropertyParm
--- nonStandardData NonStandardData OPTIONAL
-}
-
-ModemType ::= ENUMERATED
-{
- v18(0),
- v22(1),
- v22bis(2),
- v32(3),
- v32bis(4),
- v34(5),
- v90(6),
- v91(7),
- synchISDN(8),
- ...
-}
-
-DigitMapDescriptor ::= SEQUENCE
-{
- digitMapName DigitMapName OPTIONAL,
- digitMapValue DigitMapValue OPTIONAL
-}
-
-DigitMapName ::= Name
-
-DigitMapValue ::= SEQUENCE
-{
- startTimer INTEGER(0..99) OPTIONAL,
- shortTimer INTEGER(0..99) OPTIONAL,
- longTimer INTEGER(0..99) OPTIONAL,
- digitMapBody IA5String,
- -- See Section A.3 for explanation of digit map syntax
- ...
-}
-
-ServiceChangeParm ::= SEQUENCE
-{
- serviceChangeMethod ServiceChangeMethod,
- serviceChangeAddress ServiceChangeAddress OPTIONAL,
- serviceChangeVersion INTEGER(0..99) OPTIONAL,
- serviceChangeProfile ServiceChangeProfile OPTIONAL,
- serviceChangeReason Value,
- serviceChangeDelay INTEGER(0..4294967295) OPTIONAL,
- -- 32 bit unsigned integer
- serviceChangeMgcId MId OPTIONAL,
- timeStamp TimeNotation OPTIONAL,
--- nonStandardData NonStandardData OPTIONAL,
- ...
-}
-
-ServiceChangeAddress ::= CHOICE
-{
- portNumber INTEGER(0..65535), -- TCP/UDP port number
- ip4Address IP4Address,
- ip6Address IP6Address,
- domainName DomainName,
- deviceName PathName,
- mtpAddress OCTET STRING(SIZE(2)),
- ...
-}
-
-ServiceChangeResParm ::= SEQUENCE
-{
- serviceChangeMgcId MId OPTIONAL,
- serviceChangeAddress ServiceChangeAddress OPTIONAL,
- serviceChangeVersion INTEGER(0..99) OPTIONAL,
- serviceChangeProfile ServiceChangeProfile OPTIONAL,
- ...
-}
-
-ServiceChangeMethod ::= ENUMERATED
-{
- failover(0),
- forced(1),
- graceful(2),
- restart(3),
- disconnected(4),
- handOff(5),
- ...
-}
-
-ServiceChangeProfile ::= SEQUENCE
-{
- profileName Name,
- version INTEGER(0..99)
-}
-
-PackagesDescriptor ::= SEQUENCE OF PackagesItem
-
-PackagesItem ::= SEQUENCE
-{
- packageName Name,
- packageVersion INTEGER(0..99),
- ...
-}
-
-StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter
-
-StatisticsParameter ::= SEQUENCE
-{
- statName PkgdName,
- statValue Value
-}
-
--- NonStandardData ::= SEQUENCE
--- {
--- nonStandardIdentifier NonStandardIdentifier,
--- data OCTET STRING
--- }
---
--- NonStandardIdentifier ::= CHOICE
--- {
--- object OBJECT IDENTIFIER,
--- h221NonStandard H221NonStandard,
--- experimental IA5String(SIZE(8)),
--- first two characters should be "X-" or "X+"
--- ...
--- }
---
--- H221NonStandard ::= SEQUENCE
--- {
--- t35CountryCode1 INTEGER(0..255),
--- t35CountryCode2 INTEGER(0..255), country, as per T.35
--- t35Extension INTEGER(0..255), assigned nationally
--- manufacturerCode INTEGER(0..65535), assigned nationally
--- ...
--- }
-
-TimeNotation ::= SEQUENCE
-{
- date IA5String(SIZE(8)), -- yyyymmdd format
- time IA5String(SIZE(8)) -- hhmmssss format
-}
-
-Value ::= OCTET STRING
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/OTP-PKIX.asn1config b/lib/asn1/test/asn1_bin_v2_SUITE_data/OTP-PKIX.asn1config
deleted file mode 100644
index 8d96aaecf1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/OTP-PKIX.asn1config
+++ /dev/null
@@ -1,2 +0,0 @@
-{exclusive_decode,{'OTP-PKIX',
- [{decode_TBSCert_exclusive,['CertificatePKIX1Explicit88',[{tbsCertificate,undecoded}]]}]}}.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/OTP-PKIX.set.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/OTP-PKIX.set.asn
deleted file mode 100644
index 1b198d3b91..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/OTP-PKIX.set.asn
+++ /dev/null
@@ -1,5 +0,0 @@
-SSL-PKIX.asn1
-PKIX1Explicit88.asn1
-PKIX1Implicit88.asn1
-PKIXAttributeCertificate.asn1
-PKIX1Algorithms88.asn1
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ObjIdValues.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ObjIdValues.asn1
deleted file mode 100644
index 9368e8dceb..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ObjIdValues.asn1
+++ /dev/null
@@ -1,66 +0,0 @@
-
-ObjIdValues
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-ObjIdType ::= OBJECT IDENTIFIER
-
-mobileDomainId OBJECT IDENTIFIER ::=
- {ccitt (0) identified-organization (4) etsi (0) mobileDomain (0)}
-mobileDomainId-Alt1 OBJECT IDENTIFIER ::=
- {ccitt identified-organization etsi (0) mobileDomain (0)}
-mobileDomainId-Alt2 OBJECT IDENTIFIER ::=
- {0 4 0 0}
-
-gsm-NetworkId OBJECT IDENTIFIER ::=
- {mobileDomainId gsm-Network (1)}
-
-CommonComponentId ::= INTEGER (0..9)
-
-as-Id CommonComponentId ::= 1
-
-map-DialogueAS OBJECT IDENTIFIER ::=
-{gsm-NetworkId as-Id map-DialoguePDU (1) version1 (1)}
-
--- test for OTP-4354
--- But it only caused a warning
-objid OBJECT IDENTIFIER ::= {mobileDomainId-Alt2 as-Id}
-
-itu-t-a OBJECT IDENTIFIER ::= {itu-t recommendation a}
-itu-t-b OBJECT IDENTIFIER ::= {itu-t recommendation b}
-itu-t-c OBJECT IDENTIFIER ::= {itu-t recommendation c}
-itu-t-d OBJECT IDENTIFIER ::= {itu-t recommendation d}
-itu-t-e OBJECT IDENTIFIER ::= {itu-t recommendation e}
-itu-t-f OBJECT IDENTIFIER ::= {itu-t recommendation f}
-itu-t-g OBJECT IDENTIFIER ::= {itu-t recommendation g}
-itu-t-h OBJECT IDENTIFIER ::= {itu-t recommendation h}
-itu-t-i OBJECT IDENTIFIER ::= {itu-t recommendation i}
-itu-t-j OBJECT IDENTIFIER ::= {itu-t recommendation j}
-itu-t-k OBJECT IDENTIFIER ::= {itu-t recommendation k}
-itu-t-l OBJECT IDENTIFIER ::= {itu-t recommendation l}
-itu-t-m OBJECT IDENTIFIER ::= {itu-t recommendation m}
-itu-t-n OBJECT IDENTIFIER ::= {itu-t recommendation n}
-itu-t-o OBJECT IDENTIFIER ::= {itu-t recommendation o}
-itu-t-p OBJECT IDENTIFIER ::= {itu-t recommendation p}
-itu-t-q OBJECT IDENTIFIER ::= {itu-t recommendation q}
-itu-t-r OBJECT IDENTIFIER ::= {itu-t recommendation r}
-itu-t-t OBJECT IDENTIFIER ::= {itu-t recommendation t}
-itu-t-u OBJECT IDENTIFIER ::= {itu-t recommendation u}
-itu-t-v OBJECT IDENTIFIER ::= {itu-t recommendation v}
-itu-t-w OBJECT IDENTIFIER ::= {itu-t recommendation w}
-itu-t-x OBJECT IDENTIFIER ::= {itu-t recommendation x}
-itu-t-y OBJECT IDENTIFIER ::= {itu-t recommendation y}
-itu-t-z OBJECT IDENTIFIER ::= {itu-t recommendation z}
-ccitt-q OBJECT IDENTIFIER ::= {ccitt question}
-ccitt-a OBJECT IDENTIFIER ::= {ccitt administration}
-ccitt-n OBJECT IDENTIFIER ::= {ccitt network-operator}
-iso-i OBJECT IDENTIFIER ::= {iso identified-organization}
-joint-iso OBJECT IDENTIFIER ::= {joint-iso-ccitt}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Objects.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Objects.asn
deleted file mode 100644
index f911acbbe9..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Objects.asn
+++ /dev/null
@@ -1,61 +0,0 @@
-Objects DEFINITIONS ::=
-BEGIN
-
-OPERATION ::= CLASS
- {
- &ArgumentType OPTIONAL,
- &ResultType OPTIONAL,
- &Errors ERROR OPTIONAL,
- &Linked OPERATION OPTIONAL,
- &resultReturned BOOLEAN DEFAULT TRUE,
- &operationCode INTEGER UNIQUE
- }
-WITH SYNTAX
- {
- [ARGUMENT &ArgumentType]
- [RESULT &ResultType]
- [RETURN RESULT &resultReturned]
- [ERRORS &Errors]
- [LINKED &Linked]
- CODE &operationCode
- }
-
-ERROR ::= CLASS
- {
- &ParameterType OPTIONAL,
- &errorCode INTEGER UNIQUE
- }
-WITH SYNTAX
- {
- [PARAMETER &ParameterType]
- CODE &errorCode
- }
-
-My-Operations OPERATION ::= { operationA | operationB }
-
-operationA OPERATION ::= {
- ARGUMENT INTEGER
- ERRORS { { PARAMETER INTEGER CODE 1000 } | { CODE 1001 } }
- CODE 1
-}
-
-operationB OPERATION ::= {
- ARGUMENT IA5String
- RESULT BOOLEAN
- ERRORS { { CODE 1002 } | { PARAMETER IA5String CODE 1003 } }
- CODE 2
-}
-
-My-OperationErrors ERROR ::= { My-Operations.&Errors }
-
-My-OperationAERror ERROR ::= {operationA.&Errors}
--- Equals:
--- My-OperationErrors ERROR ::= { { PARAMETER INTEGER CODE 1000 } | { CODE 1001 } | { CODE 1002 } | { PARAMETER IA5String CODE 1003 } }
-
-My-OperationErrorCodes INTEGER ::= { My-Operations.&Errors.&errorCode }
--- Equals:
--- My-OperationErrorCodes INTEGER ::= { 1000 | 1001 | 1002 | 1003 }
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Octetstr.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Octetstr.py
deleted file mode 100644
index e971acf192..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Octetstr.py
+++ /dev/null
@@ -1,15 +0,0 @@
-Octetstr DEFINITIONS ::=
-BEGIN
-
--- F.2.6.1
--- Use an octet string type to model binary data whose format and length are
--- unspecified, or specified elsewhere, and whose length in bits is a
--- multiple of eight.
--- EXAMPLE
-
-G4FacsimileImage ::= OCTET STRING
--- a sequence of octets conforming to
--- Recommendations T.5 and T.6
-image G4FacsimileImage ::= '3FE2EBAD471005'H
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/One.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/One.py
deleted file mode 100644
index 89083fbd66..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/One.py
+++ /dev/null
@@ -1,52 +0,0 @@
-One DEFINITIONS ::=
-
-BEGIN
-EXPORTS Boo,Foo,Bar;
---IMPORTS
---Fooo , Abba FROM Bobby
---Robbe FROM Tst;
-
-Boo ::= [1] INTEGER (0..200)
-
-Foo ::= One.Boo
-
-Bar ::= SEQUENCE {
- ff One.Foo,
- aa One.Boo }
-
-
- S ::= [1] IMPLICIT SEQUENCE {
- authInfo
- INTEGER, -- defined by authentication protocol
- authData
- Boo
- }
-
-
---S::= Jojo
---T ::= S
---U ::= T
---Jojo ::= [PRIVATE 21] SET {
--- Boo ,x
--- d SEQUENCE {
--- [0] INTEGER OPTIONAL,
--- [1] INTEGER DEFAULT 55 },
--- g [2] INTEGER (0..10) }
---
---J ::= [PRIVATE 22] EXPLICIT SEQUENCE {
--- y SEQUENCE {
--- one INTEGER,
--- two INTEGER },
--- x INTEGER (1..3),
--- a Boo OPTIONAL,
--- b INTEGER }
---
---Noo ::= [PRIVATE 23] SEQUENCE {
--- [0] Jojo,
--- [1] J }
-
-
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/OpenType.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/OpenType.asn1
deleted file mode 100644
index 8016f3663c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/OpenType.asn1
+++ /dev/null
@@ -1,12 +0,0 @@
-OpenType DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Stype ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-Ot ::= TYPE-IDENTIFIER.&Type (Stype)
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/OpenTypeImplicitTag.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/OpenTypeImplicitTag.asn
deleted file mode 100644
index ee25b5cf3c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/OpenTypeImplicitTag.asn
+++ /dev/null
@@ -1,19 +0,0 @@
-OpenTypeImplicitTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Seq ::= SEQUENCE {
- a [1] A OPTIONAL,
- b [2] ANY OPTIONAL,
- c [3] INTEGER,
- d [4] C.&Type OPTIONAL
-}
-
-C ::= CLASS {
- &Type,
- &id INTEGER
-}
-
-A ::= ANY
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Opt.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/Opt.asn1
deleted file mode 100644
index 48c2a09b64..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Opt.asn1
+++ /dev/null
@@ -1,31 +0,0 @@
-Opt DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Opt1 ::= SEQUENCE
-{
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN OPTIONAL,
- bool2 [2] BOOLEAN OPTIONAL,
- bool3 [3] BOOLEAN OPTIONAL
-}
-
-
-Opt2 ::= SEQUENCE
-{
- bool10 [10] BOOLEAN,
- bool11 [11] BOOLEAN OPTIONAL,
- bool12 [12] BOOLEAN OPTIONAL,
- bool13 [13] BOOLEAN
-}
-
-
-Opt3 ::= SEQUENCE
-{
- bool30 [30] BOOLEAN OPTIONAL,
- bool31 [31] BOOLEAN OPTIONAL,
- bool32 [32] BOOLEAN OPTIONAL,
- bool33 [33] BOOLEAN OPTIONAL
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Opt.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Opt.py
deleted file mode 100644
index 48c2a09b64..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Opt.py
+++ /dev/null
@@ -1,31 +0,0 @@
-Opt DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Opt1 ::= SEQUENCE
-{
- bool0 [0] BOOLEAN,
- bool1 [1] BOOLEAN OPTIONAL,
- bool2 [2] BOOLEAN OPTIONAL,
- bool3 [3] BOOLEAN OPTIONAL
-}
-
-
-Opt2 ::= SEQUENCE
-{
- bool10 [10] BOOLEAN,
- bool11 [11] BOOLEAN OPTIONAL,
- bool12 [12] BOOLEAN OPTIONAL,
- bool13 [13] BOOLEAN
-}
-
-
-Opt3 ::= SEQUENCE
-{
- bool30 [30] BOOLEAN OPTIONAL,
- bool31 [31] BOOLEAN OPTIONAL,
- bool32 [32] BOOLEAN OPTIONAL,
- bool33 [33] BOOLEAN OPTIONAL
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.asn1config b/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.asn1config
deleted file mode 100644
index 45405da8bf..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.asn1config
+++ /dev/null
@@ -1 +0,0 @@
-{selective_decode,{'P-Record',[{sel_dec,['PersonnelRecord',title]}]}}.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.asn1db b/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.asn1db
deleted file mode 100644
index 13e1162c64..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.asn1db
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.erl b/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.erl
deleted file mode 100644
index 9fc6f50d64..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.erl
+++ /dev/null
@@ -1,244 +0,0 @@
-%% Generated by the Erlang ASN.1 BER-compiler version, utilizing bit-syntax:1.3.1.4
-%% Purpose: encoder and decoder to the types in mod P-Record
-
--module('P-Record').
--include("P-Record.hrl").
--define('RT_PER',asn1rt_per_bin).
--export([encoding_rule/0]).
--export([
-'enc_PersonnelRecord'/1,
-'enc_ChildInformation'/1,
-'enc_Name'/1,
-'enc_EmployeeNumber'/1,
-'enc_Date'/1
-]).
-
--export([
-'dec_PersonnelRecord'/2,
-'dec_ChildInformation'/2,
-'dec_Name'/2,
-'dec_EmployeeNumber'/2,
-'dec_Date'/2
-]).
-
--export([
-'v'/0
-]).
-
-
-
--export([encode/2,decode/2,encode_disp/2,decode_disp/2]).
-
-encoding_rule() ->
- per_bin.
-
-encode(Type,Data) ->
-case catch ?RT_PER:complete(encode_disp(Type,Data)) of
- {'EXIT',{error,Reason}} ->
- {error,Reason};
- {'EXIT',Reason} ->
- {error,{asn1,Reason}};
- {Bytes,Len} ->
- {ok,Bytes};
- X ->
- {ok,X}
-end.
-
-decode(Type,Data) ->
-case catch decode_disp(Type,Data) of
- {'EXIT',{error,Reason}} ->
- {error,Reason};
- {'EXIT',Reason} ->
- {error,{asn1,Reason}};
- {X,_Rest} ->
- {ok,X};
- {X,_Rest,_Len} ->
- {ok,X}
-end.
-
-encode_disp('PersonnelRecord',Data) -> 'enc_PersonnelRecord'(Data);
-encode_disp('ChildInformation',Data) -> 'enc_ChildInformation'(Data);
-encode_disp('Name',Data) -> 'enc_Name'(Data);
-encode_disp('EmployeeNumber',Data) -> 'enc_EmployeeNumber'(Data);
-encode_disp('Date',Data) -> 'enc_Date'(Data);
-encode_disp(Type,Data) -> exit({error,{asn1,{undefined_type,Type}}}).
-
-
-decode_disp('PersonnelRecord',Data) -> 'dec_PersonnelRecord'(Data,mandatory);
-decode_disp('ChildInformation',Data) -> 'dec_ChildInformation'(Data,mandatory);
-decode_disp('Name',Data) -> 'dec_Name'(Data,mandatory);
-decode_disp('EmployeeNumber',Data) -> 'dec_EmployeeNumber'(Data,mandatory);
-decode_disp('Date',Data) -> 'dec_Date'(Data,mandatory);
-decode_disp(Type,Data) -> exit({error,{asn1,{undefined_type,Type}}}).
-
-
-
-
-
-'enc_PersonnelRecord'(Val) ->
-{Val1,Opt} = ?RT_PER:fixoptionals([{children,6}],Val),
-[
-?RT_PER:setoptionals(Opt),
-
-%% attribute number 1 with type Externaltypereference6P-RecordName
-'enc_Name'(?RT_PER:cindex(2,Val1,name)),
-
-%% attribute number 2 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(3,Val1,title)),
-
-%% attribute number 3 with type INTEGER
-?RT_PER:encode_integer([],?RT_PER:cindex(4,Val1,number)),
-
-%% attribute number 4 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(5,Val1,dateOfHire)),
-
-%% attribute number 5 with type Externaltypereference10P-RecordName
-'enc_Name'(?RT_PER:cindex(6,Val1,nameOfSpouse)),
-case ?RT_PER:cindex(7,Val1,children) of
-asn1_DEFAULT -> [];
-_ ->
-
-%% attribute number 6 with type SEQUENCE OF
-'enc_PersonnelRecord_children'(?RT_PER:cindex(7,Val1,children))
-end].
-
-'enc_PersonnelRecord_children'({'PersonnelRecord_children',Val}) ->
-'enc_PersonnelRecord_children'(Val);
-
-'enc_PersonnelRecord_children'(Val) ->
-[
-
- ?RT_PER:encode_length(undefined,length(Val)),
- 'enc_PersonnelRecord_children_components'(Val, [])
-].
-'enc_PersonnelRecord_children_components'([], Acc) -> lists:reverse(Acc);
-
-'enc_PersonnelRecord_children_components'([H|T], Acc) ->
-'enc_PersonnelRecord_children_components'(T, ['enc_ChildInformation'(H)
-
- | Acc]).
-
-'dec_PersonnelRecord_children'(Bytes,Telltype) ->
-
-{Num,Bytes1} = ?RT_PER:decode_length(Bytes,undefined),
-'dec_PersonnelRecord_children_components'(Num, Bytes1, Telltype, []).
-'dec_PersonnelRecord_children_components'(0, Bytes, Telltype, Acc) ->
- {lists:reverse(Acc), Bytes};
-'dec_PersonnelRecord_children_components'(Num, Bytes, Telltype, Acc) ->
- {Term,Remain} = 'P-Record':'dec_ChildInformation'(Bytes,Telltype),
- 'dec_PersonnelRecord_children_components'(Num-1, Remain, Telltype, [Term|Acc]).
-
-
-'dec_PersonnelRecord'(Bytes,Telltype) ->
-{Opt,Bytes1} = ?RT_PER:getoptionals(Bytes,1),
-%% attribute number 1 with type Name
-{Term1,Bytes2} = 'dec_Name'(Bytes1,telltype),
-
-%% attribute number 2 with type VisibleString
-{Term2,Bytes3} = ?RT_PER:decode_VisibleString(Bytes2,[]),
-
-%% attribute number 3 with type INTEGER
-{Term3,Bytes4} = ?RT_PER:decode_integer(Bytes3,[]),
-
-%% attribute number 4 with type VisibleString
-{Term4,Bytes5} = ?RT_PER:decode_VisibleString(Bytes4,[]),
-
-%% attribute number 5 with type Name
-{Term5,Bytes6} = 'dec_Name'(Bytes5,telltype),
-
-%% attribute number 6 with type SEQUENCE OF
-{Term6,Bytes7} = case element(1,Opt) of
-1 ->'dec_PersonnelRecord_children'(Bytes6, Telltype);
-0 ->{[],Bytes6}
-
-end,
-{{'PersonnelRecord',Term1,Term2,Term3,Term4,Term5,Term6},Bytes7}.
-
-'enc_ChildInformation'(Val) ->
-{Val1,Opt} = ?RT_PER:fixoptionals([{name,1},{dateOfBirth,2}],Val),
-[
-?RT_PER:setoptionals(Opt),
-case ?RT_PER:cindex(2,Val1,name) of
-asn1_NOVALUE -> [];
-_ ->
-
-%% attribute number 1 with type Externaltypereference15P-RecordName
-'enc_Name'(?RT_PER:cindex(2,Val1,name))
-end,
-case ?RT_PER:cindex(3,Val1,dateOfBirth) of
-asn1_NOVALUE -> [];
-_ ->
-
-%% attribute number 2 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(3,Val1,dateOfBirth))
-end].
-
-
-'dec_ChildInformation'(Bytes,Telltype) ->
-{Opt,Bytes1} = ?RT_PER:getoptionals(Bytes,2),
-%% attribute number 1 with type Name
-{Term1,Bytes2} = case element(1,Opt) of
-1 ->'dec_Name'(Bytes1,telltype);
-0 ->{asn1_NOVALUE,Bytes1}
-
-end,
-
-%% attribute number 2 with type VisibleString
-{Term2,Bytes3} = case element(2,Opt) of
-1 ->?RT_PER:decode_VisibleString(Bytes2,[]);
-0 ->{asn1_NOVALUE,Bytes2}
-
-end,
-{{'ChildInformation',Term1,Term2},Bytes3}.
-
-'enc_Name'(Val) ->
-Val1 = ?RT_PER:list_to_record('Name', Val),
-[
-
-%% attribute number 1 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(2,Val1,givenName)),
-
-%% attribute number 2 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(3,Val1,initial)),
-
-%% attribute number 3 with type VisibleString
-?RT_PER:encode_VisibleString([],?RT_PER:cindex(4,Val1,familyName))].
-
-
-'dec_Name'(Bytes,Telltype) ->
-
-%% attribute number 1 with type VisibleString
-{Term1,Bytes1} = ?RT_PER:decode_VisibleString(Bytes,[]),
-
-%% attribute number 2 with type VisibleString
-{Term2,Bytes2} = ?RT_PER:decode_VisibleString(Bytes1,[]),
-
-%% attribute number 3 with type VisibleString
-{Term3,Bytes3} = ?RT_PER:decode_VisibleString(Bytes2,[]),
-{{'Name',Term1,Term2,Term3},Bytes3}.
-
-
-'enc_EmployeeNumber'({'EmployeeNumber',Val}) ->
-'enc_EmployeeNumber'(Val);
-
-'enc_EmployeeNumber'(Val) ->
-?RT_PER:encode_integer([],Val).
-
-
-'dec_EmployeeNumber'(Bytes,Telltype) ->
-?RT_PER:decode_integer(Bytes,[]).
-
-
-'enc_Date'({'Date',Val}) ->
-'enc_Date'(Val);
-
-'enc_Date'(Val) ->
-?RT_PER:encode_VisibleString([],Val).
-
-
-'dec_Date'(Bytes,Telltype) ->
-?RT_PER:decode_VisibleString(Bytes,[]).
-
-'v'() ->
-{'PersonnelRecord',{'Name',{74,111,104,110},[80],[83,109,105,116,104]},[68,105,114,101,99,116,111,114],51,[49,57,55,49,48,57,49,55],{'Name',{77,97,114,121},[84],[83,109,105,116,104]},[{'ChildInformation',{'Name',[82,97,108,112,104],[84],[83,109,105,116,104]},[49,57,53,55,49,49,49,49]},{'ChildInformation',{'Name',[83,117,115,97,110],[66],[74,111,110,101,115]},[49,57,53,57,48,55,49,55]}]}.
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.hrl b/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.hrl
deleted file mode 100644
index 92aa1a44e2..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.hrl
+++ /dev/null
@@ -1,17 +0,0 @@
-%% Generated by the Erlang ASN.1 compiler version:1.3.1.4
-%% Purpose: Erlang record definitions for each named and unnamed
-%% SEQUENCE and SET, and macro definitions for each value
-%% definition,in module P-Record
-
-
-
--record('PersonnelRecord',{
-name, title, number, dateOfHire, nameOfSpouse, children = asn1_DEFAULT}).
-
--record('ChildInformation',{
-name = asn1_NOVALUE, dateOfBirth = asn1_NOVALUE}).
-
--record('Name',{
-givenName, initial, familyName}).
-
--define('v', {'PersonnelRecord',{'Name',{74,111,104,110},[80],[83,109,105,116,104]},[68,105,114,101,99,116,111,114],51,[49,57,55,49,48,57,49,55],{'Name',{77,97,114,121},[84],[83,109,105,116,104]},[{'ChildInformation',{'Name',[82,97,108,112,104],[84],[83,109,105,116,104]},[49,57,53,55,49,49,49,49]},{'ChildInformation',{'Name',[83,117,115,97,110],[66],[74,111,110,101,115]},[49,57,53,57,48,55,49,55]}]}).
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.py
deleted file mode 100644
index f1db09ac6c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-Record.py
+++ /dev/null
@@ -1,59 +0,0 @@
-P-Record DEFINITIONS ::=
-BEGIN
-
-
-PersonnelRecord ::= [APPLICATION 0] SET
-{ name Name,
- title VisibleString,
- number EmployeeNumber,
- dateOfHire Date,
- nameOfSpouse [1] Name,
- children SEQUENCE OF ChildInformation DEFAULT {}
-}
-
-ChildInformation ::= SET
-{ name Name,
- dateOfBirth Date
-}
-
-Name ::= [APPLICATION 1] SEQUENCE
-{ givenName VisibleString,
- initial VisibleString,
- familyName VisibleString
-}
-
-EmployeeNumber ::= [APPLICATION 2] INTEGER
-Date ::= [APPLICATION 3] VisibleString -- YYYY MMDD
-
-v PersonnelRecord ::=
-{
- name {
- givenName "John",
- initial "P",
- familyName "Smith"
- },
- title "Director",
- number 51,
- dateOfHire "19710917",
- nameOfSpouse {
- givenName "Mary",
- initial "T",
- familyName "Smith"
- },
- children {
- {name {
- givenName "Ralph",
- initial "T",
- familyName "Smith"
- } ,
- dateOfBirth "19571111"},
- {name {
- givenName "Susan",
- initial "B",
- familyName "Jones"
- } ,
- dateOfBirth "19590717" }
- }
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA1.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA1.asn
deleted file mode 100644
index 33ba690e1e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA1.asn
+++ /dev/null
@@ -1,29 +0,0 @@
-P-RecordA1 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {
- name Name,
- title [0] VisibleString,
- number EmployeeNumber,
- dateOfHire [1] Date,
- nameOfSpouse [2] Name,
- children [3] IMPLICIT SEQUENCE OF ChildInformation DEFAULT {}
-}
-
-ChildInformation ::= SET {
- name Name,
- dateOfBirth [0] Date
-}
-
-Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- givenName VisibleString,
- initial VisibleString,
- familyName VisibleString
-}
-
-EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER
-
-Date ::= [APPLICATION 3] IMPLICIT VisibleString -- YYYYMMDD
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA2.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA2.asn
deleted file mode 100644
index 50ae419399..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA2.asn
+++ /dev/null
@@ -1,33 +0,0 @@
-P-RecordA2 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-
-PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {
- name Name,
- title [0] VisibleString,
- number EmployeeNumber,
- dateOfHire [1] Date,
- nameOfSpouse [2] Name,
- children [3] IMPLICIT SEQUENCE OF ChildInformation DEFAULT {}
-}
-
-ChildInformation ::= SET {
- name Name,
- dateOfBirth [0] Date
-}
-
-Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- givenName NameString,
- initial NameString (SIZE(1)),
- familyName NameString
-}
-
-EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER
-
-Date ::= [APPLICATION 3] IMPLICIT VisibleString (FROM("0".."9") ^ SIZE(8)) -- YYYYMMDD
-
-NameString ::= VisibleString (FROM("a".."z" | "A".."Z" | "-.") ^ SIZE(1..64))
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA3.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA3.asn
deleted file mode 100644
index 74023140e4..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/P-RecordA3.asn
+++ /dev/null
@@ -1,40 +0,0 @@
-P-RecordA3 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {
- name Name,
- title [0] VisibleString,
- number EmployeeNumber,
- dateOfHire [1] Date,
- nameOfSpouse [2] Name,
- children [3] IMPLICIT SEQUENCE (SIZE(2, ...)) OF ChildInformation OPTIONAL,
- ...
-}
-
-ChildInformation ::= SET {
- name Name,
- dateOfBirth [0] Date,
- ...,
- sex [1] IMPLICIT ENUMERATED {
- male(1),
- female(2),
- unknown(3)
- } OPTIONAL
-}
-
-Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- givenName NameString,
- initial NameString (SIZE(1)),
- familyName NameString,
- ...
-}
-
-EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER (0..9999, ...)
-
-Date ::= [APPLICATION 3] IMPLICIT VisibleString (FROM("0".."9") ^ SIZE(8, ..., 9..20)) -- YYYYMMDD
-
-NameString ::= VisibleString (FROM("a".."z" | "A".."Z" | "-.") ^ SIZE(1..64, ...))
-
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/P.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/P.py
deleted file mode 100644
index 1431ae07b9..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/P.py
+++ /dev/null
@@ -1,19 +0,0 @@
-P DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS P1, P2;
-
-P1 ::= SEQUENCE {
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL
- }
-
-P2 ::= SEQUENCE {
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL,
- nr BOOLEAN
- }
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PDUs.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/PDUs.py
deleted file mode 100644
index 907348193f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PDUs.py
+++ /dev/null
@@ -1,325 +0,0 @@
-PDUs DEFINITIONS ::=
-
--- Search for 'org' to find changes for erlang.
-
--- SnmpMgmtCom and PDUs only for dbg.
-
-
-BEGIN
-EXPORTS SnmpPrivMsg, SnmpAuthMsg, SnmpMgmtCom, PDUs;
-
--- From RFC 1442
-
- -- names of objects
-
- ObjectName ::=
- OBJECT IDENTIFIER
-
-
- -- syntax of objects
-
- ObjectSyntax ::=
- CHOICE {
- simple
- SimpleSyntax,
-
- -- note that SEQUENCEs for conceptual tables and
- -- rows are not mentioned here...
-
- applicationWide
- ApplicationSyntax
- }
-
-
- -- built-in ASN.1 types
-
- SimpleSyntax ::=
- CHOICE {
- -- INTEGERs with a more restrictive range
- -- may also be used
- integerValue
- INTEGER,
-
- stringValue
- OCTET STRING,
-
- objectIDValue
- OBJECT IDENTIFIER,
-
- -- only the enumerated form is allowed
- bitValue
- BIT STRING
- }
-
-
- -- indistinguishable from INTEGER, but never needs more than
- -- 32Bits for a two's complement representation
- Integer32 ::=
- [UNIVERSAL 2]
- IMPLICIT INTEGER (-2147483648..2147483647)
-
-
- -- applicationWide types
-
- ApplicationSyntax ::=
- CHOICE {
- ipAddressValue
- IpAddress,
-
- counterValue
- Counter32,
-
- gaugeValue
- Gauge32,
-
- timeticksValue
- TimeTicks,
-
- arbitraryValue
- Opaque,
-
- nsapAddressValue
- NsapAddress,
-
- bigCounterValue
- Counter64,
-
- unsignedIntegerValue
- UInteger32
- }
-
- -- in networkByte order
- -- (this is a tagged type for historical reasons)
- IpAddress ::=
- [APPLICATION 0]
- IMPLICIT OCTET STRING (SIZE (4))
-
-
-
-
- -- this wraps
- Counter32 ::=
- [APPLICATION 1]
- IMPLICIT INTEGER (0..4294967295)
-
- -- this doesn't wrap
- Gauge32 ::=
- [APPLICATION 2]
- IMPLICIT INTEGER (0..4294967295)
-
- -- hundredths of seconds since an epoch
- TimeTicks ::=
- [APPLICATION 3]
- IMPLICIT INTEGER (0..4294967295)
-
- -- for backwardCompatibility only
- Opaque ::=
- [APPLICATION 4]
- IMPLICIT OCTET STRING
-
- -- for OSI NSAP addresses
- -- (this is a tagged type for historical reasons)
- NsapAddress ::=
- [APPLICATION 5]
--- org: IMPLICIT OCTET STRING (SIZE (1 | 4..21))
- IMPLICIT OCTET STRING
-
- -- for counters that wrap in less than one hour with only 32 bits
- Counter64 ::=
- [APPLICATION 6]
- IMPLICIT INTEGER (0..18446744073709551615)
-
- -- an unsigned 32Bit quantity
- UInteger32 ::=
- [APPLICATION 7]
- IMPLICIT INTEGER (0..4294967295)
-
-
--- From RFC 1445
-
- SnmpPrivMsg ::= [1] IMPLICIT SEQUENCE {
- privDst
- OBJECT IDENTIFIER,
- privData
- [1] IMPLICIT OCTET STRING
- }
-
- SnmpAuthMsg ::= [1] IMPLICIT SEQUENCE {
- authInfo
- ANY, -- defined by authentication protocol
- authData
- SnmpMgmtCom
- }
-
- SnmpMgmtCom ::= [2] IMPLICIT SEQUENCE {
- dstParty
- OBJECT IDENTIFIER,
- srcParty
- OBJECT IDENTIFIER,
- context
- OBJECT IDENTIFIER,
- pdu
- PDUs
- }
-
-
--- From RFC 1448
-
- -- org: no tag at all. we need a tag to test 'PDUs'.
- PDUs ::= [PRIVATE 1]
- -- remove tag when 'PDUs' only is used in another type.
- CHOICE {
- getRequest
- GetRequestPdu,
-
- getNextRequest
- GetNextRequestPdu,
-
- getBulkRequest
- GetBulkRequestPdu,
-
- response
- ResponsePdu,
-
- setRequest
- SetRequestPdu,
-
- informRequest
- InformRequestPdu,
-
- snmpV2Trap
- SNMPv2TrapPdu
- }
-
- -- PDUs
-
- GetRequestPdu ::=
- [0]
- IMPLICIT PDU
-
- GetNextRequestPdu ::=
- [1]
- IMPLICIT PDU
-
- ResponsePdu ::=
- [2]
- IMPLICIT PDU
-
- SetRequestPdu ::=
- [3]
- IMPLICIT PDU
-
- -- [4] is obsolete
-
- GetBulkRequestPdu ::=
- [5]
- IMPLICIT BulkPDU
-
- InformRequestPdu ::=
- [6]
- IMPLICIT PDU
-
- SNMPv2TrapPdu ::=
- [7]
- IMPLICIT PDU
-
-
- maxBindings
- INTEGER ::= 2147483647
-
- PDU ::=
- SEQUENCE {
- requestId
- Integer32,
-
- errorStatus -- sometimes ignored
- INTEGER {
- noError(0),
- tooBig(1),
- noSuchName(2), -- for proxy compatibility
- badValue(3), -- for proxy compatibility
- readOnly(4), -- for proxy compatibility
- genErr(5),
- noAccess(6),
- wrongType(7),
- wrongLength(8),
- wrongEncoding(9),
- wrongValue(10),
- noCreation(11),
- inconsistentValue(12),
- resourceUnavailable(13),
- commitFailed(14),
- undoFailed(15),
- authorizationError(16),
- notWritable(17),
- inconsistentName(18)
- },
-
- errorIndex -- sometimes ignored
- INTEGER (0..maxBindings),
-
- variableBindings -- values are sometimes ignored
- VarBindList
- }
-
-
- BulkPDU ::= -- MUST be identical in
- SEQUENCE { -- structure to PDU
- requestId
- Integer32,
-
- nonRepeaters
- INTEGER (0..maxBindings),
-
- maxRepetitions
- INTEGER (0..maxBindings),
-
- variableBindings -- values are ignored
- VarBindList
- }
-
-
- VarBind ::=
- SEQUENCE {
- name
- ObjectName,
-
- data CHOICE {
- value
- ObjectSyntax,
-
- unSpecified -- in retrieval requests
- NULL,
-
- -- exceptions in responses
- noSuchObject[0]
- IMPLICIT NULL,
-
- noSuchInstance[1]
- IMPLICIT NULL,
-
- endOfMibView[2]
- IMPLICIT NULL
- }
- }
-
-
- -- variableBinding list
-
- VarBindList ::=
- SEQUENCE OF VarBind
-
--- org:
--- VarBindList ::=
--- SEQUENCE (SIZE (0..maxBindings)) OF
--- VarBind
-
-END
-
-
-
-
-
-
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Algorithms88.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Algorithms88.asn1
deleted file mode 100644
index e78de69b0e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Algorithms88.asn1
+++ /dev/null
@@ -1,274 +0,0 @@
- PKIX1Algorithms88 { iso(1) identified-organization(3) dod(6)
- internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
- id-mod-pkix1-algorithms(17) }
-
- DEFINITIONS EXPLICIT TAGS ::= BEGIN
-
- -- EXPORTS All;
-
- -- IMPORTS NONE;
-
- --
- -- One-way Hash Functions
- --
-
- md2 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) rsadsi(113549)
- digestAlgorithm(2) 2 }
-
- md5 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) rsadsi(113549)
- digestAlgorithm(2) 5 }
-
- id-sha1 OBJECT IDENTIFIER ::= {
- iso(1) identified-organization(3) oiw(14) secsig(3)
- algorithms(2) 26 }
-
- --
- -- DSA Keys and Signatures
- --
-
- -- OID for DSA public key
-
- id-dsa OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 }
-
- -- encoding for DSA public key
-
- DSAPublicKey ::= INTEGER -- public key, y
-
- Dss-Parms ::= SEQUENCE {
- p INTEGER,
- q INTEGER,
- g INTEGER }
-
- -- OID for DSA signature generated with SHA-1 hash
-
- id-dsa-with-sha1 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 }
-
- -- encoding for DSA signature generated with SHA-1 hash
-
- Dss-Sig-Value ::= SEQUENCE {
- r INTEGER,
- s INTEGER }
-
- --
- -- RSA Keys and Signatures
- --
-
- -- arc for RSA public key and RSA signature OIDs
-
- pkcs-1 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 }
-
- -- OID for RSA public keys
-
- rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 }
-
- -- OID for RSA signature generated with MD2 hash
-
- md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 }
-
- -- OID for RSA signature generated with MD5 hash
-
- md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 }
-
- -- OID for RSA signature generated with SHA-1 hash
-
- sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 }
-
- -- encoding for RSA public key
-
- RSAPublicKey ::= SEQUENCE {
- modulus INTEGER, -- n
- publicExponent INTEGER } -- e
-
- --
- -- Diffie-Hellman Keys
- --
-
- dhpublicnumber OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) ansi-x942(10046)
- number-type(2) 1 }
-
- -- encoding for DSA public key
-
- DHPublicKey ::= INTEGER -- public key, y = g^x mod p
-
- DomainParameters ::= SEQUENCE {
- p INTEGER, -- odd prime, p=jq +1
- g INTEGER, -- generator, g
- q INTEGER, -- factor of p-1
- j INTEGER OPTIONAL, -- subgroup factor, j>= 2
- validationParms ValidationParms OPTIONAL }
-
- ValidationParms ::= SEQUENCE {
- seed BIT STRING,
- pgenCounter INTEGER }
-
- --
- -- KEA Keys
- --
-
- id-keyExchangeAlgorithm OBJECT IDENTIFIER ::=
- { 2 16 840 1 101 2 1 1 22 }
-
- KEA-Parms-Id ::= OCTET STRING
-
- --
- -- Elliptic Curve Keys, Signatures, and Curves
- --
-
- ansi-X9-62 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) 10045 }
-
- FieldID ::= SEQUENCE { -- Finite field
- fieldType OBJECT IDENTIFIER,
- parameters ANY DEFINED BY fieldType }
-
- -- Arc for ECDSA signature OIDS
-
- id-ecSigType OBJECT IDENTIFIER ::= { ansi-X9-62 signatures(4) }
-
- -- OID for ECDSA signatures with SHA-1
-
- ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { id-ecSigType 1 }
-
- -- OID for an elliptic curve signature
- -- format for the value of an ECDSA signature value
-
- ECDSA-Sig-Value ::= SEQUENCE {
- r INTEGER,
- s INTEGER }
-
- -- recognized field type OIDs are defined in the following arc
-
- id-fieldType OBJECT IDENTIFIER ::= { ansi-X9-62 fieldType(1) }
-
- -- where fieldType is prime-field, the parameters are of type Prime-p
-
- prime-field OBJECT IDENTIFIER ::= { id-fieldType 1 }
-
- Prime-p ::= INTEGER -- Finite field F(p), where p is an odd prime
-
- -- where fieldType is characteristic-two-field, the parameters are
- -- of type Characteristic-two
-
- characteristic-two-field OBJECT IDENTIFIER ::= { id-fieldType 2 }
-
- Characteristic-two ::= SEQUENCE {
- m INTEGER, -- Field size 2^m
- basis OBJECT IDENTIFIER,
- parameters ANY DEFINED BY basis }
-
- -- recognized basis type OIDs are defined in the following arc
-
- id-characteristic-two-basis OBJECT IDENTIFIER ::= {
- characteristic-two-field basisType(3) }
-
- -- gnbasis is identified by OID gnBasis and indicates
- -- parameters are NULL
-
- gnBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 1 }
-
- -- parameters for this basis are NULL
-
- -- trinomial basis is identified by OID tpBasis and indicates
- -- parameters of type Pentanomial
-
- tpBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 2 }
-
- -- Trinomial basis representation of F2^m
- -- Integer k for reduction polynomial xm + xk + 1
-
- Trinomial ::= INTEGER
-
- -- for pentanomial basis is identified by OID ppBasis and indicates
- -- parameters of type Pentanomial
-
- ppBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 3 }
-
- -- Pentanomial basis representation of F2^m
- -- reduction polynomial integers k1, k2, k3
- -- f(x) = x**m + x**k3 + x**k2 + x**k1 + 1
-
- Pentanomial ::= SEQUENCE {
- k1 INTEGER,
- k2 INTEGER,
- k3 INTEGER }
-
- -- The object identifiers gnBasis, tpBasis and ppBasis name
- -- three kinds of basis for characteristic-two finite fields
-
- FieldElement ::= OCTET STRING -- Finite field element
-
- ECPoint ::= OCTET STRING -- Elliptic curve point
-
- -- Elliptic Curve parameters may be specified explicitly,
- -- specified implicitly through a "named curve", or
- -- inherited from the CA
-
- EcpkParameters ::= CHOICE {
- ecParameters ECParameters,
- namedCurve OBJECT IDENTIFIER,
- implicitlyCA NULL }
-
- ECParameters ::= SEQUENCE { -- Elliptic curve parameters
- version ECPVer,
- fieldID FieldID,
- curve Curve,
- base ECPoint, -- Base point G
- order INTEGER, -- Order n of the base point
- cofactor INTEGER OPTIONAL } -- The integer h = #E(Fq)/n
-
- ECPVer ::= INTEGER {ecpVer1(1)}
-
- Curve ::= SEQUENCE {
- a FieldElement, -- Elliptic curve coefficient a
- b FieldElement, -- Elliptic curve coefficient b
- seed BIT STRING OPTIONAL }
-
- id-publicKeyType OBJECT IDENTIFIER ::= { ansi-X9-62 keyType(2) }
-
- id-ecPublicKey OBJECT IDENTIFIER ::= { id-publicKeyType 1 }
-
- -- Named Elliptic Curves in ANSI X9.62.
-
- ellipticCurve OBJECT IDENTIFIER ::= { ansi-X9-62 curves(3) }
-
- c-TwoCurve OBJECT IDENTIFIER ::= {
- ellipticCurve characteristicTwo(0) }
-
- c2pnb163v1 OBJECT IDENTIFIER ::= { c-TwoCurve 1 }
- c2pnb163v2 OBJECT IDENTIFIER ::= { c-TwoCurve 2 }
- c2pnb163v3 OBJECT IDENTIFIER ::= { c-TwoCurve 3 }
- c2pnb176w1 OBJECT IDENTIFIER ::= { c-TwoCurve 4 }
- c2tnb191v1 OBJECT IDENTIFIER ::= { c-TwoCurve 5 }
- c2tnb191v2 OBJECT IDENTIFIER ::= { c-TwoCurve 6 }
- c2tnb191v3 OBJECT IDENTIFIER ::= { c-TwoCurve 7 }
- c2onb191v4 OBJECT IDENTIFIER ::= { c-TwoCurve 8 }
- c2onb191v5 OBJECT IDENTIFIER ::= { c-TwoCurve 9 }
- c2pnb208w1 OBJECT IDENTIFIER ::= { c-TwoCurve 10 }
- c2tnb239v1 OBJECT IDENTIFIER ::= { c-TwoCurve 11 }
- c2tnb239v2 OBJECT IDENTIFIER ::= { c-TwoCurve 12 }
- c2tnb239v3 OBJECT IDENTIFIER ::= { c-TwoCurve 13 }
- c2onb239v4 OBJECT IDENTIFIER ::= { c-TwoCurve 14 }
- c2onb239v5 OBJECT IDENTIFIER ::= { c-TwoCurve 15 }
- c2pnb272w1 OBJECT IDENTIFIER ::= { c-TwoCurve 16 }
- c2pnb304w1 OBJECT IDENTIFIER ::= { c-TwoCurve 17 }
- c2tnb359v1 OBJECT IDENTIFIER ::= { c-TwoCurve 18 }
- c2pnb368w1 OBJECT IDENTIFIER ::= { c-TwoCurve 19 }
- c2tnb431r1 OBJECT IDENTIFIER ::= { c-TwoCurve 20 }
-
- primeCurve OBJECT IDENTIFIER ::= { ellipticCurve prime(1) }
-
- prime192v1 OBJECT IDENTIFIER ::= { primeCurve 1 }
- prime192v2 OBJECT IDENTIFIER ::= { primeCurve 2 }
- prime192v3 OBJECT IDENTIFIER ::= { primeCurve 3 }
- prime239v1 OBJECT IDENTIFIER ::= { primeCurve 4 }
- prime239v2 OBJECT IDENTIFIER ::= { primeCurve 5 }
- prime239v3 OBJECT IDENTIFIER ::= { primeCurve 6 }
- prime256v1 OBJECT IDENTIFIER ::= { primeCurve 7 }
-
- END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Explicit88.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Explicit88.asn1
deleted file mode 100644
index 7874679a38..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Explicit88.asn1
+++ /dev/null
@@ -1,619 +0,0 @@
-PKIX1Explicit88 { iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit(18) }
-
-DEFINITIONS EXPLICIT TAGS ::=
-
-BEGIN
-
--- EXPORTS ALL --
-
--- IMPORTS NONE --
-
--- UNIVERSAL Types defined in 1993 and 1998 ASN.1
--- and required by this specification
-
--- UniversalString ::= [UNIVERSAL 28] IMPLICIT OCTET STRING
- -- UniversalString is defined in ASN.1:1993
-
--- BMPString ::= [UNIVERSAL 30] IMPLICIT OCTET STRING
- -- BMPString is the subtype of UniversalString and models
- -- the Basic Multilingual Plane of ISO/IEC/ITU 10646-1
-
---UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
- -- The content of this type conforms to RFC 2279.
-
--- PKIX specific OIDs
-
-id-pkix OBJECT IDENTIFIER ::=
- { iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) }
-
--- PKIX arcs
-
-id-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
- -- arc for private certificate extensions
-id-qt OBJECT IDENTIFIER ::= { id-pkix 2 }
- -- arc for policy qualifier types
-id-kp OBJECT IDENTIFIER ::= { id-pkix 3 }
- -- arc for extended key purpose OIDS
-id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
- -- arc for access descriptors
-
--- policyQualifierIds for Internet policy qualifiers
-
-id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
- -- OID for CPS qualifier
-id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
- -- OID for user notice qualifier
-
--- access descriptor definitions
-
-id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
-id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
-id-ad-timeStamping OBJECT IDENTIFIER ::= { id-ad 3 }
-id-ad-caRepository OBJECT IDENTIFIER ::= { id-ad 5 }
-
--- attribute data types
-
-Attribute ::= SEQUENCE {
- type AttributeType,
- values SET OF AttributeValue }
- -- at least one value is required
-
-AttributeType ::= OBJECT IDENTIFIER
-
-AttributeValue ::= ANY
-
-AttributeTypeAndValue ::= SEQUENCE {
- type AttributeType,
- value AttributeValue }
-
--- suggested naming attributes: Definition of the following
--- information object set may be augmented to meet local
--- requirements. Note that deleting members of the set may
--- prevent interoperability with conforming implementations.
--- presented in pairs: the AttributeType followed by the
--- type definition for the corresponding AttributeValue
---Arc for standard naming attributes
-id-at OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 4 }
-
--- Naming attributes of type X520name
-
-id-at-name AttributeType ::= { id-at 41 }
-id-at-surname AttributeType ::= { id-at 4 }
-id-at-givenName AttributeType ::= { id-at 42 }
-id-at-initials AttributeType ::= { id-at 43 }
-id-at-generationQualifier AttributeType ::= { id-at 44 }
-
-X520name ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-name)),
- printableString PrintableString (SIZE (1..ub-name)),
- universalString UniversalString (SIZE (1..ub-name)),
- utf8String UTF8String (SIZE (1..ub-name)),
- bmpString BMPString (SIZE (1..ub-name)) }
-
--- Naming attributes of type X520CommonName
-
-id-at-commonName AttributeType ::= { id-at 3 }
-
-X520CommonName ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-common-name)),
- printableString PrintableString (SIZE (1..ub-common-name)),
- universalString UniversalString (SIZE (1..ub-common-name)),
- utf8String UTF8String (SIZE (1..ub-common-name)),
- bmpString BMPString (SIZE (1..ub-common-name)) }
-
--- Naming attributes of type X520LocalityName
-
-id-at-localityName AttributeType ::= { id-at 7 }
-
-X520LocalityName ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-locality-name)),
- printableString PrintableString (SIZE (1..ub-locality-name)),
- universalString UniversalString (SIZE (1..ub-locality-name)),
- utf8String UTF8String (SIZE (1..ub-locality-name)),
- bmpString BMPString (SIZE (1..ub-locality-name)) }
-
--- Naming attributes of type X520StateOrProvinceName
-
-id-at-stateOrProvinceName AttributeType ::= { id-at 8 }
-
-X520StateOrProvinceName ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-state-name)),
- printableString PrintableString (SIZE (1..ub-state-name)),
- universalString UniversalString (SIZE (1..ub-state-name)),
- utf8String UTF8String (SIZE (1..ub-state-name)),
- bmpString BMPString (SIZE(1..ub-state-name)) }
-
--- Naming attributes of type X520OrganizationName
-
-id-at-organizationName AttributeType ::= { id-at 10 }
-
-X520OrganizationName ::= CHOICE {
- teletexString TeletexString
- (SIZE (1..ub-organization-name)),
- printableString PrintableString
- (SIZE (1..ub-organization-name)),
- universalString UniversalString
- (SIZE (1..ub-organization-name)),
- utf8String UTF8String
- (SIZE (1..ub-organization-name)),
- bmpString BMPString
- (SIZE (1..ub-organization-name)) }
-
--- Naming attributes of type X520OrganizationalUnitName
-
-id-at-organizationalUnitName AttributeType ::= { id-at 11 }
-
-X520OrganizationalUnitName ::= CHOICE {
- teletexString TeletexString
- (SIZE (1..ub-organizational-unit-name)),
- printableString PrintableString
- (SIZE (1..ub-organizational-unit-name)),
- universalString UniversalString
- (SIZE (1..ub-organizational-unit-name)),
- utf8String UTF8String
- (SIZE (1..ub-organizational-unit-name)),
- bmpString BMPString
- (SIZE (1..ub-organizational-unit-name)) }
-
--- Naming attributes of type X520Title
-
-id-at-title AttributeType ::= { id-at 12 }
-
-X520Title ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-title)),
- printableString PrintableString (SIZE (1..ub-title)),
- universalString UniversalString (SIZE (1..ub-title)),
- utf8String UTF8String (SIZE (1..ub-title)),
- bmpString BMPString (SIZE (1..ub-title)) }
-
--- Naming attributes of type X520dnQualifier
-
-id-at-dnQualifier AttributeType ::= { id-at 46 }
-
-X520dnQualifier ::= PrintableString
-
--- Naming attributes of type X520countryName (digraph from IS 3166)
-
-id-at-countryName AttributeType ::= { id-at 6 }
-
-X520countryName ::= PrintableString (SIZE (2))
-
--- Naming attributes of type X520SerialNumber
-
-id-at-serialNumber AttributeType ::= { id-at 5 }
-
-X520SerialNumber ::= PrintableString (SIZE (1..ub-serial-number))
-
--- Naming attributes of type X520Pseudonym
-
-id-at-pseudonym AttributeType ::= { id-at 65 }
-
-X520Pseudonym ::= CHOICE {
- teletexString TeletexString (SIZE (1..ub-pseudonym)),
- printableString PrintableString (SIZE (1..ub-pseudonym)),
- universalString UniversalString (SIZE (1..ub-pseudonym)),
- utf8String UTF8String (SIZE (1..ub-pseudonym)),
- bmpString BMPString (SIZE (1..ub-pseudonym)) }
-
--- Naming attributes of type DomainComponent (from RFC 2247)
-
-id-domainComponent AttributeType ::=
- { 0 9 2342 19200300 100 1 25 }
-
-DomainComponent ::= IA5String
-
--- Legacy attributes
-
-pkcs-9 OBJECT IDENTIFIER ::=
- { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }
-
-id-emailAddress AttributeType ::= { pkcs-9 1 }
-
-EmailAddress ::= IA5String (SIZE (1..ub-emailaddress-length))
-
--- naming data types --
-
-Name ::= CHOICE { -- only one possibility for now --
- rdnSequence RDNSequence }
-
-RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
-
-DistinguishedName ::= RDNSequence
-
-RelativeDistinguishedName ::=
- SET SIZE (1 .. MAX) OF AttributeTypeAndValue
-
--- Directory string type --
-
-DirectoryString ::= CHOICE {
- teletexString TeletexString (SIZE (1..MAX)),
- printableString PrintableString (SIZE (1..MAX)),
- universalString UniversalString (SIZE (1..MAX)),
- utf8String UTF8String (SIZE (1..MAX)),
- bmpString BMPString (SIZE (1..MAX)) }
-
--- certificate and CRL specific structures begin here
-
-Certificate ::= SEQUENCE {
- tbsCertificate TBSCertificate,
- signatureAlgorithm AlgorithmIdentifier,
- signature BIT STRING }
-
-TBSCertificate ::= SEQUENCE {
- version [0] Version DEFAULT v1,
- serialNumber CertificateSerialNumber,
- signature AlgorithmIdentifier,
- issuer Name,
- validity Validity,
- subject Name,
- subjectPublicKeyInfo SubjectPublicKeyInfo,
- issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
- -- If present, version MUST be v2 or v3
- subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
- -- If present, version MUST be v2 or v3
- extensions [3] Extensions OPTIONAL
- -- If present, version MUST be v3 -- }
-
-Version ::= INTEGER { v1(0), v2(1), v3(2) }
-
-CertificateSerialNumber ::= INTEGER
-
-Validity ::= SEQUENCE {
- notBefore Time,
- notAfter Time }
-
-Time ::= CHOICE {
- utcTime UTCTime,
- generalTime GeneralizedTime }
-
-UniqueIdentifier ::= BIT STRING
-
-SubjectPublicKeyInfo ::= SEQUENCE {
- algorithm AlgorithmIdentifier,
- subjectPublicKey BIT STRING }
-
-Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
-
-Extension ::= SEQUENCE {
- extnID OBJECT IDENTIFIER,
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING }
-
--- CRL structures
-
-CertificateList ::= SEQUENCE {
- tbsCertList TBSCertList,
- signatureAlgorithm AlgorithmIdentifier,
- signature BIT STRING }
-
-TBSCertList ::= SEQUENCE {
- version Version OPTIONAL,
- -- if present, MUST be v2
- signature AlgorithmIdentifier,
- issuer Name,
- thisUpdate Time,
- nextUpdate Time OPTIONAL,
- revokedCertificates SEQUENCE OF SEQUENCE {
- userCertificate CertificateSerialNumber,
- revocationDate Time,
- crlEntryExtensions Extensions OPTIONAL
- -- if present, MUST be v2
- } OPTIONAL,
- crlExtensions [0] Extensions OPTIONAL }
- -- if present, MUST be v2
-
--- Version, Time, CertificateSerialNumber, and Extensions were
--- defined earlier for use in the certificate structure
-
-AlgorithmIdentifier ::= SEQUENCE {
- algorithm OBJECT IDENTIFIER,
- parameters ANY DEFINED BY algorithm OPTIONAL }
- -- contains a value of the type
- -- registered for use with the
- -- algorithm object identifier value
-
--- X.400 address syntax starts here
-
-ORAddress ::= SEQUENCE {
- built-in-standard-attributes BuiltInStandardAttributes,
- built-in-domain-defined-attributes
- BuiltInDomainDefinedAttributes OPTIONAL,
- -- see also teletex-domain-defined-attributes
- extension-attributes ExtensionAttributes OPTIONAL }
-
--- Built-in Standard Attributes
-
-BuiltInStandardAttributes ::= SEQUENCE {
- country-name CountryName OPTIONAL,
- administration-domain-name AdministrationDomainName OPTIONAL,
- network-address [0] IMPLICIT NetworkAddress OPTIONAL,
- -- see also extended-network-address
- terminal-identifier [1] IMPLICIT TerminalIdentifier OPTIONAL,
- private-domain-name [2] PrivateDomainName OPTIONAL,
- organization-name [3] IMPLICIT OrganizationName OPTIONAL,
- -- see also teletex-organization-name
- numeric-user-identifier [4] IMPLICIT NumericUserIdentifier
- OPTIONAL,
- personal-name [5] IMPLICIT PersonalName OPTIONAL,
- -- see also teletex-personal-name
- organizational-unit-names [6] IMPLICIT OrganizationalUnitNames
- OPTIONAL }
- -- see also teletex-organizational-unit-names
-
-CountryName ::= [APPLICATION 1] CHOICE {
- x121-dcc-code NumericString
- (SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString
- (SIZE (ub-country-name-alpha-length)) }
-
-AdministrationDomainName ::= [APPLICATION 2] CHOICE {
- numeric NumericString (SIZE (0..ub-domain-name-length)),
- printable PrintableString (SIZE (0..ub-domain-name-length)) }
-
-NetworkAddress ::= X121Address -- see also extended-network-address
-
-X121Address ::= NumericString (SIZE (1..ub-x121-address-length))
-
-TerminalIdentifier ::= PrintableString (SIZE
-(1..ub-terminal-id-length))
-
-PrivateDomainName ::= CHOICE {
- numeric NumericString (SIZE (1..ub-domain-name-length)),
- printable PrintableString (SIZE (1..ub-domain-name-length)) }
-
-OrganizationName ::= PrintableString
- (SIZE (1..ub-organization-name-length))
- -- see also teletex-organization-name
-
-NumericUserIdentifier ::= NumericString
- (SIZE (1..ub-numeric-user-id-length))
-
-PersonalName ::= SET {
- surname [0] IMPLICIT PrintableString
- (SIZE (1..ub-surname-length)),
- given-name [1] IMPLICIT PrintableString
- (SIZE (1..ub-given-name-length)) OPTIONAL,
- initials [2] IMPLICIT PrintableString
- (SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier [3] IMPLICIT PrintableString
- (SIZE (1..ub-generation-qualifier-length))
- OPTIONAL }
- -- see also teletex-personal-name
-
-OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units)
- OF OrganizationalUnitName
- -- see also teletex-organizational-unit-names
-
-OrganizationalUnitName ::= PrintableString (SIZE
- (1..ub-organizational-unit-name-length))
-
--- Built-in Domain-defined Attributes
-
-BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE
- (1..ub-domain-defined-attributes) OF
- BuiltInDomainDefinedAttribute
-
-BuiltInDomainDefinedAttribute ::= SEQUENCE {
- type PrintableString (SIZE
- (1..ub-domain-defined-attribute-type-length)),
- value PrintableString (SIZE
- (1..ub-domain-defined-attribute-value-length)) }
-
--- Extension Attributes
-
-ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes) OF
- ExtensionAttribute
-
-ExtensionAttribute ::= SEQUENCE {
- extension-attribute-type [0] IMPLICIT INTEGER
- (0..ub-extension-attributes),
- extension-attribute-value [1]
- ANY DEFINED BY extension-attribute-type }
-
--- Extension types and attribute values
-
-common-name INTEGER ::= 1
-
-CommonName ::= PrintableString (SIZE (1..ub-common-name-length))
-
-teletex-common-name INTEGER ::= 2
-
-TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length))
-
-teletex-organization-name INTEGER ::= 3
-
-TeletexOrganizationName ::=
- TeletexString (SIZE (1..ub-organization-name-length))
-
-teletex-personal-name INTEGER ::= 4
-
-TeletexPersonalName ::= SET {
- surname [0] IMPLICIT TeletexString
- (SIZE (1..ub-surname-length)),
- given-name [1] IMPLICIT TeletexString
- (SIZE (1..ub-given-name-length)) OPTIONAL,
- initials [2] IMPLICIT TeletexString
- (SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier [3] IMPLICIT TeletexString
- (SIZE (1..ub-generation-qualifier-length))
- OPTIONAL }
-
-teletex-organizational-unit-names INTEGER ::= 5
-
-TeletexOrganizationalUnitNames ::= SEQUENCE SIZE
- (1..ub-organizational-units) OF TeletexOrganizationalUnitName
-
-TeletexOrganizationalUnitName ::= TeletexString
- (SIZE (1..ub-organizational-unit-name-length))
-
-pds-name INTEGER ::= 7
-
-PDSName ::= PrintableString (SIZE (1..ub-pds-name-length))
-
-physical-delivery-country-name INTEGER ::= 8
-
-PhysicalDeliveryCountryName ::= CHOICE {
- x121-dcc-code NumericString (SIZE
-(ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString
- (SIZE (ub-country-name-alpha-length)) }
-
-postal-code INTEGER ::= 9
-
-PostalCode ::= CHOICE {
- numeric-code NumericString (SIZE (1..ub-postal-code-length)),
- printable-code PrintableString (SIZE (1..ub-postal-code-length)) }
-
-physical-delivery-office-name INTEGER ::= 10
-
-PhysicalDeliveryOfficeName ::= PDSParameter
-
-physical-delivery-office-number INTEGER ::= 11
-
-PhysicalDeliveryOfficeNumber ::= PDSParameter
-
-extension-OR-address-components INTEGER ::= 12
-
-ExtensionORAddressComponents ::= PDSParameter
-
-physical-delivery-personal-name INTEGER ::= 13
-
-PhysicalDeliveryPersonalName ::= PDSParameter
-
-physical-delivery-organization-name INTEGER ::= 14
-
-PhysicalDeliveryOrganizationName ::= PDSParameter
-
-extension-physical-delivery-address-components INTEGER ::= 15
-
-ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
-
-unformatted-postal-address INTEGER ::= 16
-
-UnformattedPostalAddress ::= SET {
- printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines)
- OF PrintableString (SIZE (1..ub-pds-parameter-length))
- OPTIONAL,
- teletex-string TeletexString
- (SIZE (1..ub-unformatted-address-length)) OPTIONAL }
-
-street-address INTEGER ::= 17
-
-StreetAddress ::= PDSParameter
-
-post-office-box-address INTEGER ::= 18
-
-PostOfficeBoxAddress ::= PDSParameter
-
-poste-restante-address INTEGER ::= 19
-
-PosteRestanteAddress ::= PDSParameter
-
-unique-postal-name INTEGER ::= 20
-
-UniquePostalName ::= PDSParameter
-
-local-postal-attributes INTEGER ::= 21
-
-LocalPostalAttributes ::= PDSParameter
-
-PDSParameter ::= SET {
- printable-string PrintableString
- (SIZE(1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string TeletexString
- (SIZE(1..ub-pds-parameter-length)) OPTIONAL }
-
-extended-network-address INTEGER ::= 22
-
-ExtendedNetworkAddress ::= CHOICE {
- e163-4-address SEQUENCE {
- number [0] IMPLICIT NumericString
- (SIZE (1..ub-e163-4-number-length)),
- sub-address [1] IMPLICIT NumericString
- (SIZE (1..ub-e163-4-sub-address-length))
- OPTIONAL },
- psap-address [0] IMPLICIT PresentationAddress }
-
-PresentationAddress ::= SEQUENCE {
- pSelector [0] EXPLICIT OCTET STRING OPTIONAL,
- sSelector [1] EXPLICIT OCTET STRING OPTIONAL,
- tSelector [2] EXPLICIT OCTET STRING OPTIONAL,
- nAddresses [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING }
-
-terminal-type INTEGER ::= 23
-
-TerminalType ::= INTEGER {
- telex (3),
- teletex (4),
- g3-facsimile (5),
- g4-facsimile (6),
- ia5-terminal (7),
- videotex (8) } (0..ub-integer-options)
-
--- Extension Domain-defined Attributes
-
-teletex-domain-defined-attributes INTEGER ::= 6
-
-TeletexDomainDefinedAttributes ::= SEQUENCE SIZE
- (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute
-
-TeletexDomainDefinedAttribute ::= SEQUENCE {
- type TeletexString
- (SIZE (1..ub-domain-defined-attribute-type-length)),
- value TeletexString
- (SIZE (1..ub-domain-defined-attribute-value-length)) }
-
--- specifications of Upper Bounds MUST be regarded as mandatory
--- from Annex B of ITU-T X.411 Reference Definition of MTS Parameter
--- Upper Bounds
-
--- Upper Bounds
-ub-name INTEGER ::= 32768
-ub-common-name INTEGER ::= 64
-ub-locality-name INTEGER ::= 128
-ub-state-name INTEGER ::= 128
-ub-organization-name INTEGER ::= 64
-ub-organizational-unit-name INTEGER ::= 64
-ub-title INTEGER ::= 64
-ub-serial-number INTEGER ::= 64
-ub-match INTEGER ::= 128
-ub-emailaddress-length INTEGER ::= 128
-ub-common-name-length INTEGER ::= 64
-ub-country-name-alpha-length INTEGER ::= 2
-ub-country-name-numeric-length INTEGER ::= 3
-ub-domain-defined-attributes INTEGER ::= 4
-ub-domain-defined-attribute-type-length INTEGER ::= 8
-ub-domain-defined-attribute-value-length INTEGER ::= 128
-ub-domain-name-length INTEGER ::= 16
-ub-extension-attributes INTEGER ::= 256
-ub-e163-4-number-length INTEGER ::= 15
-ub-e163-4-sub-address-length INTEGER ::= 40
-ub-generation-qualifier-length INTEGER ::= 3
-ub-given-name-length INTEGER ::= 16
-ub-initials-length INTEGER ::= 5
-ub-integer-options INTEGER ::= 256
-ub-numeric-user-id-length INTEGER ::= 32
-ub-organization-name-length INTEGER ::= 64
-ub-organizational-unit-name-length INTEGER ::= 32
-ub-organizational-units INTEGER ::= 4
-ub-pds-name-length INTEGER ::= 16
-ub-pds-parameter-length INTEGER ::= 30
-ub-pds-physical-address-lines INTEGER ::= 6
-ub-postal-code-length INTEGER ::= 16
-ub-pseudonym INTEGER ::= 128
-ub-surname-length INTEGER ::= 40
-ub-terminal-id-length INTEGER ::= 24
-ub-unformatted-address-length INTEGER ::= 180
-ub-x121-address-length INTEGER ::= 16
-
--- Note - upper bounds on string types, such as TeletexString, are
--- measured in characters. Excepting PrintableString or IA5String, a
--- significantly greater number of octets will be required to hold
--- such a value. As a minimum, 16 octets, or twice the specified
--- upper bound, whichever is the larger, should be allowed for
--- TeletexString. For UTF8String or UniversalString at least four
--- times the upper bound should be allowed.
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Explicit93.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Explicit93.asn1
deleted file mode 100644
index 714a682160..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Explicit93.asn1
+++ /dev/null
@@ -1,779 +0,0 @@
-PKIX1Explicit93 {iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit-93(3)}
-
-
-DEFINITIONS EXPLICIT TAGS ::=
-
-BEGIN
-
--- EXPORTS ALL --
-
-IMPORTS
- authorityKeyIdentifier, subjectKeyIdentifier, keyUsage,
- extendedKeyUsage, privateKeyUsagePeriod, certificatePolicies,
- policyMappings, subjectAltName, issuerAltName,
- basicConstraints, nameConstraints, policyConstraints,
- cRLDistributionPoints, subjectDirectoryAttributes,
- cRLNumber, reasonCode, instructionCode, invalidityDate,
- issuingDistributionPoint, certificateIssuer,
- deltaCRLIndicator, authorityInfoAccess, id-ce
- FROM PKIX1Implicit93 {iso(1) identified-organization(3)
- dod(6) internet(1) security(5) mechanisms(5) pkix(7)
- id-mod(0) id-pkix1-implicit-93(4)} ;
-
---
- -- Locally defined OIDs --
-
-id-pkix OBJECT IDENTIFIER ::=
- { iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) }
-
--- PKIX arcs
--- arc for private certificate extensions
-id-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
- -- arc for policy qualifier types
-id-qt OBJECT IDENTIFIER ::= { id-pkix 2 }
--- arc for extended key purpose OIDS
-id-kp OBJECT IDENTIFIER ::= { id-pkix 3 }
--- arc for access descriptors
-id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
-
--- policyQualifierIds for Internet policy qualifiers
-id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
- -- OID for CPS qualifier
-
-id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
- -- OID for user notice qualifier
-
--- based on excerpts from AuthenticationFramework
--- {joint-iso-ccitt ds(5) modules(1) authenticationFramework(7) 2}
-
- -- Public Key Certificate --
-
-Certificate ::= SIGNED { SEQUENCE {
- version [0] Version DEFAULT v1,
- serialNumber CertificateSerialNumber,
- signature AlgorithmIdentifier,
- issuer Name,
- validity Validity,
- subject Name,
- subjectPublicKeyInfo SubjectPublicKeyInfo,
- issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
- ---if present, version shall be v2 or v3--
- subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
- ---if present, version shall be v2 or v3--
- extensions [3] Extensions OPTIONAL
- --if present, version shall be v3--} }
-
-UniqueIdentifier ::= BIT STRING
-
-Version ::= INTEGER { v1(0), v2(1), v3(2) }
-
-CertificateSerialNumber ::= INTEGER
-
-Validity ::= SEQUENCE {
- notBefore Time,
- notAfter Time }
-
-Time ::= CHOICE {
- utcTime UTCTime,
- generalTime GeneralizedTime }
-
-SubjectPublicKeyInfo ::= SEQUENCE{
- algorithm AlgorithmIdentifier,
- subjectPublicKey BIT STRING}
-
-Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
-
-Extension ::= SEQUENCE {
- extnId EXTENSION.&id ({ExtensionSet}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING }
- -- contains a DER encoding of a value of type
- -- &ExtnType for the
- -- extension object identified by extnId --
-
--- The following information object set is defined to constrain the
--- set of legal certificate extensions.
-
-ExtensionSet EXTENSION ::= { authorityKeyIdentifier |
- subjectKeyIdentifier |
- keyUsage |
- extendedKeyUsage |
- privateKeyUsagePeriod |
- certificatePolicies |
- policyMappings |
- subjectAltName |
- issuerAltName |
- basicConstraints |
- nameConstraints |
- policyConstraints |
- cRLDistributionPoints |
- subjectDirectoryAttributes |
- authorityInfoAccess }
-
-EXTENSION ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &ExtnType }
-WITH SYNTAX {
- SYNTAX &ExtnType
- IDENTIFIED BY &id }
-
- -- Certificate Revocation List --
-
-CertificateList ::= SIGNED { SEQUENCE {
- version Version OPTIONAL, -- if present, shall be v2
- signature AlgorithmIdentifier,
- issuer Name,
- thisUpdate Time,
- nextUpdate Time OPTIONAL,
- revokedCertificates SEQUENCE OF SEQUENCE {
- userCertificate CertificateSerialNumber,
- revocationDate Time,
- crlEntryExtensions EntryExtensions OPTIONAL } OPTIONAL,
- crlExtensions [0] CRLExtensions OPTIONAL }}
-
-CRLExtensions ::= SEQUENCE SIZE (1..MAX) OF CRLExtension
-
-CRLExtension ::= SEQUENCE {
- extnId EXTENSION.&id ({CRLExtensionSet}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING }
- -- contains a DER encoding of a value of type
- -- &ExtnType for the
- -- extension object identified by extnId --
-
--- The following information object set is defined to constrain the
--- set of legal CRL extensions.
-
-CRLExtensionSet EXTENSION ::= { authorityKeyIdentifier |
- issuerAltName |
- cRLNumber |
- deltaCRLIndicator |
- issuingDistributionPoint }
-
--- EXTENSION defined above for certificates
-
-EntryExtensions ::= SEQUENCE SIZE (1..MAX) OF EntryExtension
-
-EntryExtension ::= SEQUENCE {
- extnId EXTENSION.&id ({EntryExtensionSet}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING }
- -- contains a DER encoding of a value of type
- -- &ExtnType for the
- -- extension object identified by extnId --
-
--- The following information object set is defined to constrain the
--- set of legal CRL entry extensions.
-
-EntryExtensionSet EXTENSION ::= { reasonCode |
- instructionCode |
- invalidityDate |
- certificateIssuer }
-
- -- information object classes used in the defintion --
- -- of certificates and CRLs --
-
--- Parameterized Type SIGNED --
-
- SIGNED { ToBeSigned } ::= SEQUENCE {
- toBeSigned ToBeSigned,
- algorithm AlgorithmIdentifier,
- signature BIT STRING
- }
-
--- Definition of AlgorithmIdentifier
--- ISO definition was:
---
--- AlgorithmIdentifier ::= SEQUENCE {
--- algorithm ALGORITHM.&id({SupportedAlgorithms}),
--- parameters ALGORITHM.&Type({SupportedAlgorithms}
--- { @algorithm}) OPTIONAL }
--- Definition of ALGORITHM
--- ALGORITHM ::= TYPE-IDENTIFIER
-
--- The following PKIX definition replaces the X.509 definition
---
-
-AlgorithmIdentifier ::= SEQUENCE {
- algorithm ALGORITHM-ID.&id({SupportedAlgorithms}),
- parameters ALGORITHM-ID.&Type({SupportedAlgorithms}
- { @algorithm}) OPTIONAL }
-
--- Definition of ALGORITHM-ID
-
- ALGORITHM-ID ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type OPTIONAL
- }
- WITH SYNTAX { OID &id [PARMS &Type] }
-
--- The definition of SupportedAlgorithms may be modified as this
--- document does not specify a mandatory algorithm set. In addition,
--- the set is specified as extensible, since additional algorithms
--- may be supported
-
-SupportedAlgorithms ALGORITHM-ID ::= { ..., -- extensible
- rsaPublicKey |
- rsaSHA-1 |
- rsaMD5 |
- rsaMD2 |
- dssPublicKey |
- dsaSHA-1 |
- dhPublicKey }
-
--- OIDs and parameter structures for ALGORITHM-IDs used
--- in this specification
-
-rsaPublicKey ALGORITHM-ID ::= { OID rsaEncryption PARMS NULL }
-
-rsaSHA-1 ALGORITHM-ID ::= { OID sha1WithRSAEncryption PARMS NULL }
-
-rsaMD5 ALGORITHM-ID ::= { OID md5WithRSAEncryption PARMS NULL }
-
-rsaMD2 ALGORITHM-ID ::= { OID md2WithRSAEncryption PARMS NULL }
-
-dssPublicKey ALGORITHM-ID ::= { OID id-dsa PARMS Dss-Parms }
-
-dsaSHA-1 ALGORITHM-ID ::= { OID id-dsa-with-sha1 }
-
-dhPublicKey ALGORITHM-ID ::= {OID dhpublicnumber PARMS DomainParameters}
-
--- algorithm identifiers and parameter structures
-
-pkcs-1 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 }
-
-rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 }
-
-md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 }
-
-md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 }
-
-sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 }
-
-id-dsa-with-sha1 OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 }
-
-Dss-Sig-Value ::= SEQUENCE {
- r INTEGER,
- s INTEGER }
-
-dhpublicnumber OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) ansi-x942(10046) number-type(2) 1 }
-
-DomainParameters ::= SEQUENCE {
- p INTEGER, -- odd prime, p=jq +1
- g INTEGER, -- generator, g
- q INTEGER, -- factor of p-1
- j INTEGER OPTIONAL, -- subgroup factor, j>= 2
- validationParms ValidationParms OPTIONAL }
-
-ValidationParms ::= SEQUENCE {
- seed BIT STRING,
- pgenCounter INTEGER }
-
-id-dsa OBJECT IDENTIFIER ::= {
- iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 }
-
-Dss-Parms ::= SEQUENCE {
- p INTEGER,
- q INTEGER,
- g INTEGER }
-
- -- The ASN.1 in this section supports the Name type
- -- and the directoryAttribute extension
-
--- attribute data types --
-
-Attribute ::= SEQUENCE {
- type ATTRIBUTE.&id ({SupportedAttributes}),
- values SET SIZE (1 .. MAX) OF ATTRIBUTE.&Type
- ({SupportedAttributes}{@type})}
-
-AttributeTypeAndValue ::= SEQUENCE {
- type ATTRIBUTE.&id ({SupportedAttributes}),
- value ATTRIBUTE.&Type ({SupportedAttributes}{@type})}
-
--- naming data types --
-
-Name ::= CHOICE { -- only one possibility for now --
- rdnSequence RDNSequence }
-
-RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
-
-RelativeDistinguishedName ::=
- SET SIZE (1 .. MAX) OF AttributeTypeAndValue
-
-ID ::= OBJECT IDENTIFIER
-
--- ATTRIBUTE information object class specification
--- Note: This has been greatly simplified for PKIX !!
-
-ATTRIBUTE ::= CLASS {
- &Type,
- &id OBJECT IDENTIFIER UNIQUE }
-WITH SYNTAX {
- WITH SYNTAX &Type ID &id }
-
--- suggested naming attributes
--- Definition of the following information object set may be
--- augmented to meet local requirements. Note that deleting
--- members of the set may prevent interoperability with
--- conforming implementations.
-
-SupportedAttributes ATTRIBUTE ::= {
- name | commonName | surname | givenName | initials |
- generationQualifier | dnQualifier | countryName |
- localityName | stateOrProvinceName | organizationName |
- organizationalUnitName | title | pkcs9email }
-
-name ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString { ub-name }
- ID id-at-name }
-
-commonName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-commonName }
-
-surname ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-surname }
-
-givenName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-givenName }
-
-initials ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-initials }
-
-generationQualifier ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-generationQualifier}
-
-dnQualifier ATTRIBUTE ::= {
- WITH SYNTAX PrintableString
- ID id-at-dnQualifier }
-
-
-countryName ATTRIBUTE ::= {
- WITH SYNTAX PrintableString (SIZE (2))
- -- IS 3166 codes only
- ID id-at-countryName }
-
-localityName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-locality-name}
- ID id-at-localityName }
-
-stateOrProvinceName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-state-name}
- ID id-at-stateOrProvinceName }
-
-organizationName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-organization-name}
- ID id-at-organizationName }
-
-organizationalUnitName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-organizational-unit-name}
- ID id-at-organizationalUnitName }
-
-title ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-title}
- ID id-at-title }
-
- -- Legacy attributes
-
-pkcs9email ATTRIBUTE ::= {
- WITH SYNTAX PHGString
- ID emailAddress }
-
-PHGString ::= IA5String (SIZE(1..ub-emailaddress-length))
-
-pkcs-9 OBJECT IDENTIFIER ::=
- { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }
-
-emailAddress OBJECT IDENTIFIER ::= { pkcs-9 1 }
-
- -- object identifiers for Name type and directory attribute support
-
--- Object identifier assignments --
-
-id-at OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 4}
-
--- Attributes --
-
-id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
-id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
-id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
-id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
-id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
-id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
-id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
-id-at-title OBJECT IDENTIFIER ::= {id-at 12}
-id-at-name OBJECT IDENTIFIER ::= {id-at 41}
-id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
-id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
-id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
-id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
-
--- Directory string type, used extensively in Name types --
-
-DirectoryString { INTEGER:maxSize } ::= CHOICE {
- teletexString TeletexString (SIZE (1..maxSize)),
- printableString PrintableString (SIZE (1..maxSize)),
- universalString UniversalString (SIZE (1..maxSize)),
- bmpString BMPString (SIZE(1..maxSize)),
- utf8String UTF8String (SIZE(1..maxSize))
- }
-
- -- End of ASN.1 for Name type and directory attribute support --
-
- -- The ASN.1 in this section supports X.400 style names --
- -- for implementations that use the x400Address component --
- -- of GeneralName. --
-
-ORAddress ::= SEQUENCE {
- built-in-standard-attributes BuiltInStandardAttributes,
- built-in-domain-defined-attributes
- BuiltInDomainDefinedAttributes OPTIONAL,
- -- see also teletex-domain-defined-attributes
- extension-attributes ExtensionAttributes OPTIONAL }
-
--- The OR-address is semantically absent from the OR-name if the
--- built-in-standard-attribute sequence is empty and the
--- built-in-domain-defined-attributes and extension-attributes are
--- both omitted.
-
--- Built-in Standard Attributes
-
-BuiltInStandardAttributes ::= SEQUENCE {
- country-name CountryName OPTIONAL,
- administration-domain-name AdministrationDomainName OPTIONAL,
- network-address [0] NetworkAddress OPTIONAL,
- -- see also extended-network-address
- terminal-identifier [1] TerminalIdentifier OPTIONAL,
- private-domain-name [2] PrivateDomainName OPTIONAL,
- organization-name [3] OrganizationName OPTIONAL,
- -- see also teletex-organization-name
- numeric-user-identifier [4] NumericUserIdentifier OPTIONAL,
- personal-name [5] PersonalName OPTIONAL,
- -- see also teletex-personal-name
- organizational-unit-names [6] OrganizationalUnitNames OPTIONAL
- -- see also teletex-organizational-unit-names -- }
-
-CountryName ::= [APPLICATION 1] CHOICE {
- x121-dcc-code NumericString
- (SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString
- (SIZE (ub-country-name-alpha-length)) }
-
-AdministrationDomainName ::= [APPLICATION 2] CHOICE {
- numeric NumericString (SIZE (0..ub-domain-name-length)),
- printable PrintableString (SIZE (0..ub-domain-name-length)) }
-
-NetworkAddress ::= X121Address
--- see also extended-network-address
-
-
-X121Address ::= NumericString (SIZE (1..ub-x121-address-length))
-
-TerminalIdentifier ::= PrintableString (SIZE (1..ub-terminal-id-length))
-
-PrivateDomainName ::= CHOICE {
- numeric NumericString (SIZE (1..ub-domain-name-length)),
- printable PrintableString (SIZE (1..ub-domain-name-length)) }
-
-OrganizationName ::= PrintableString
- (SIZE (1..ub-organization-name-length))
--- see also teletex-organization-name
-
-NumericUserIdentifier ::= NumericString
- (SIZE (1..ub-numeric-user-id-length))
-
-PersonalName ::= SET {
- surname [0] PrintableString (SIZE (1..ub-surname-length)),
- given-name [1] PrintableString
- (SIZE (1..ub-given-name-length)) OPTIONAL,
- initials [2] PrintableString
- (SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier [3] PrintableString
- (SIZE (1..ub-generation-qualifier-length)) OPTIONAL}
--- see also teletex-personal-name
-
-OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units)
- OF OrganizationalUnitName
--- see also teletex-organizational-unit-names
-
-OrganizationalUnitName ::= PrintableString (SIZE
- (1..ub-organizational-unit-name-length))
-
--- Built-in Domain-defined Attributes
-BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE
- (1..ub-domain-defined-attributes) OF
- BuiltInDomainDefinedAttribute
-
-BuiltInDomainDefinedAttribute ::= SEQUENCE {
- type PrintableString (SIZE
- (1..ub-domain-defined-attribute-type-length)),
- value PrintableString (SIZE
- (1..ub-domain-defined-attribute-value-length)) }
-
--- Extension Attributes
-
-ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes)
- OF ExtensionAttribute
-ExtensionAttribute ::= SEQUENCE {
- extension-attribute-type [0] EXTENSION-ATTRIBUTE.&id
- ({ExtensionAttributeTable}),
- extension-attribute-value [1] EXTENSION-ATTRIBUTE.&Type
- ({ExtensionAttributeTable} {@extension-attribute-type}) }
-
-EXTENSION-ATTRIBUTE ::= CLASS {
- &id INTEGER (0..ub-extension-attributes) UNIQUE,
- &Type }
-WITH SYNTAX {&Type IDENTIFIED BY &id}
-
-ExtensionAttributeTable EXTENSION-ATTRIBUTE ::= {
- common-name |
- teletex-common-name |
- teletex-organization-name |
- teletex-personal-name |
- teletex-organizational-unit-names |
- teletex-domain-defined-attributes |
- pds-name |
- physical-delivery-country-name |
- postal-code |
- physical-delivery-office-name |
- physical-delivery-office-number |
- extension-OR-address-components |
- physical-delivery-personal-name |
- physical-delivery-organization-name |
- extension-physical-delivery-address-components |
- unformatted-postal-address |
- street-address |
- post-office-box-address |
- poste-restante-address |
- unique-postal-name |
- local-postal-attributes |
- extended-network-address |
- terminal-type }
-
--- Extension Standard Attributes
-
-common-name EXTENSION-ATTRIBUTE ::= {CommonName IDENTIFIED BY 1}
-
-CommonName ::= PrintableString (SIZE (1..ub-common-name-length))
-
-teletex-common-name EXTENSION-ATTRIBUTE ::=
- {TeletexCommonName IDENTIFIED BY 2}
-
-TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length))
-
-teletex-organization-name EXTENSION-ATTRIBUTE ::=
- {TeletexOrganizationName IDENTIFIED BY 3}
-
-TeletexOrganizationName ::=
- TeletexString (SIZE (1..ub-organization-name-length))
-
-teletex-personal-name EXTENSION-ATTRIBUTE ::=
- {TeletexPersonalName IDENTIFIED BY 4}
-
-TeletexPersonalName ::= SET {
- surname [0] TeletexString (SIZE (1..ub-surname-length)),
- given-name [1] TeletexString
- (SIZE (1..ub-given-name-length)) OPTIONAL,
- initials [2] TeletexString (SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier [3] TeletexString (SIZE
- (1..ub-generation-qualifier-length)) OPTIONAL }
-
-teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::=
- {TeletexOrganizationalUnitNames IDENTIFIED BY 5}
-
-TeletexOrganizationalUnitNames ::= SEQUENCE SIZE
- (1..ub-organizational-units) OF TeletexOrganizationalUnitName
-
-TeletexOrganizationalUnitName ::= TeletexString
- (SIZE (1..ub-organizational-unit-name-length))
-
-pds-name EXTENSION-ATTRIBUTE ::= {PDSName IDENTIFIED BY 7}
-
-PDSName ::= PrintableString (SIZE (1..ub-pds-name-length))
-
-physical-delivery-country-name EXTENSION-ATTRIBUTE ::=
- {PhysicalDeliveryCountryName IDENTIFIED BY 8}
-
-PhysicalDeliveryCountryName ::= CHOICE {
- x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString
- (SIZE (ub-country-name-alpha-length)) }
-
-postal-code EXTENSION-ATTRIBUTE ::= {PostalCode IDENTIFIED BY 9}
-
-PostalCode ::= CHOICE {
- numeric-code NumericString (SIZE (1..ub-postal-code-length)),
- printable-code PrintableString (SIZE (1..ub-postal-code-length)) }
-
-physical-delivery-office-name EXTENSION-ATTRIBUTE ::=
- {PhysicalDeliveryOfficeName IDENTIFIED BY 10}
-
-PhysicalDeliveryOfficeName ::= PDSParameter
-
-physical-delivery-office-number EXTENSION-ATTRIBUTE ::=
- {PhysicalDeliveryOfficeNumber IDENTIFIED BY 11}
-
-PhysicalDeliveryOfficeNumber ::= PDSParameter
-
-extension-OR-address-components EXTENSION-ATTRIBUTE ::=
- {ExtensionORAddressComponents IDENTIFIED BY 12}
-
-ExtensionORAddressComponents ::= PDSParameter
-
-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::=
- {PhysicalDeliveryPersonalName IDENTIFIED BY 13}
-
-PhysicalDeliveryPersonalName ::= PDSParameter
-
-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::=
- {PhysicalDeliveryOrganizationName IDENTIFIED BY 14}
-
-PhysicalDeliveryOrganizationName ::= PDSParameter
-
-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::=
- {ExtensionPhysicalDeliveryAddressComponents IDENTIFIED BY 15}
-
-ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
-
-unformatted-postal-address EXTENSION-ATTRIBUTE ::=
- {UnformattedPostalAddress IDENTIFIED BY 16}
-
-UnformattedPostalAddress ::= SET {
- printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
- PrintableString (SIZE (1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string TeletexString (SIZE
- (1..ub-unformatted-address-length)) OPTIONAL }
-
-street-address EXTENSION-ATTRIBUTE ::=
- {StreetAddress IDENTIFIED BY 17}
-
-StreetAddress ::= PDSParameter
-
-post-office-box-address EXTENSION-ATTRIBUTE ::=
- {PostOfficeBoxAddress IDENTIFIED BY 18}
-
-PostOfficeBoxAddress ::= PDSParameter
-
-poste-restante-address EXTENSION-ATTRIBUTE ::=
- {PosteRestanteAddress IDENTIFIED BY 19}
-
-PosteRestanteAddress ::= PDSParameter
-
-unique-postal-name EXTENSION-ATTRIBUTE ::=
- {UniquePostalName IDENTIFIED BY 20}
-
-UniquePostalName ::= PDSParameter
-
-local-postal-attributes EXTENSION-ATTRIBUTE ::=
- {LocalPostalAttributes IDENTIFIED BY 21}
-
-LocalPostalAttributes ::= PDSParameter
-
-PDSParameter ::= SET {
- printable-string PrintableString
- (SIZE(1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string TeletexString
- (SIZE(1..ub-pds-parameter-length)) OPTIONAL }
-
-extended-network-address EXTENSION-ATTRIBUTE ::=
- {ExtendedNetworkAddress IDENTIFIED BY 22}
-
-ExtendedNetworkAddress ::= CHOICE {
- e163-4-address SEQUENCE {
- number [0] NumericString
- (SIZE (1..ub-e163-4-number-length)),
- sub-address [1] NumericString
- (SIZE (1..ub-e163-4-sub-address-length)) OPTIONAL},
- psap-address [0] PresentationAddress }
-
-PresentationAddress ::= SEQUENCE {
- pSelector [0] EXPLICIT OCTET STRING OPTIONAL,
- sSelector [1] EXPLICIT OCTET STRING OPTIONAL,
- tSelector [2] EXPLICIT OCTET STRING OPTIONAL,
- nAddresses [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING}
-
-
-terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
-
-TerminalType ::= INTEGER {
- telex (3),
- teletex (4),
- g3-facsimile (5),
- g4-facsimile (6),
- ia5-terminal (7),
- videotex (8) } (0..ub-integer-options)
-
--- Extension Domain-defined Attributes
-
-teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::=
- {TeletexDomainDefinedAttributes IDENTIFIED BY 6}
-
-TeletexDomainDefinedAttributes ::= SEQUENCE SIZE
- (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute
-
-TeletexDomainDefinedAttribute ::= SEQUENCE {
- type TeletexString
- (SIZE (1..ub-domain-defined-attribute-type-length)),
- value TeletexString
- (SIZE (1..ub-domain-defined-attribute-value-length)) }
-
--- specifications of Upper Bounds
--- shall be regarded as mandatory
--- from Annex B of ITU-T X.411
--- Reference Definition of MTS Parameter Upper Bounds
-
--- Upper Bounds
-ub-name INTEGER ::= 32768
-ub-common-name INTEGER ::= 64
-ub-locality-name INTEGER ::= 128
-ub-state-name INTEGER ::= 128
-ub-organization-name INTEGER ::= 64
-ub-organizational-unit-name INTEGER ::= 64
-ub-title INTEGER ::= 64
-ub-match INTEGER ::= 128
-
-ub-emailaddress-length INTEGER ::= 128
-
-ub-common-name-length INTEGER ::= 64
-ub-country-name-alpha-length INTEGER ::= 2
-ub-country-name-numeric-length INTEGER ::= 3
-ub-domain-defined-attributes INTEGER ::= 4
-ub-domain-defined-attribute-type-length INTEGER ::= 8
-ub-domain-defined-attribute-value-length INTEGER ::= 128
-ub-domain-name-length INTEGER ::= 16
-ub-extension-attributes INTEGER ::= 256
-ub-e163-4-number-length INTEGER ::= 15
-ub-e163-4-sub-address-length INTEGER ::= 40
-ub-generation-qualifier-length INTEGER ::= 3
-ub-given-name-length INTEGER ::= 16
-ub-initials-length INTEGER ::= 5
-ub-integer-options INTEGER ::= 256
-ub-numeric-user-id-length INTEGER ::= 32
-ub-organization-name-length INTEGER ::= 64
-ub-organizational-unit-name-length INTEGER ::= 32
-ub-organizational-units INTEGER ::= 4
-ub-pds-name-length INTEGER ::= 16
-ub-pds-parameter-length INTEGER ::= 30
-ub-pds-physical-address-lines INTEGER ::= 6
-ub-postal-code-length INTEGER ::= 16
-ub-surname-length INTEGER ::= 40
-ub-terminal-id-length INTEGER ::= 24
-ub-unformatted-address-length INTEGER ::= 180
-ub-x121-address-length INTEGER ::= 16
-
--- Note - upper bounds on TeletexString are measured in characters.
--- A significantly greater number of octets will be required to hold
--- such a value. As a minimum, 16 octets, or twice the specified upper
--- bound, whichever is the larger, should be allowed.
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Implicit88.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Implicit88.asn1
deleted file mode 100644
index 47362e9061..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Implicit88.asn1
+++ /dev/null
@@ -1,349 +0,0 @@
-PKIX1Implicit88 { iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit(19) }
-
-DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
--- EXPORTS ALL --
-
-IMPORTS
- id-pe, id-kp, id-qt-unotice, id-qt-cps,
- -- delete following line if "new" types are supported --
- -- BMPString,
- -- UTF8String, end "new" types
- ORAddress, Name, RelativeDistinguishedName,
- CertificateSerialNumber, Attribute, DirectoryString
- FROM PKIX1Explicit88 { iso(1) identified-organization(3)
- dod(6) internet(1) security(5) mechanisms(5) pkix(7)
- id-mod(0) id-pkix1-explicit(18) };
-
-
--- ISO arc for standard certificate and CRL extensions
-
-id-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29}
-
--- authority key identifier OID and syntax
-
-id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 }
-
-AuthorityKeyIdentifier ::= SEQUENCE {
- keyIdentifier [0] KeyIdentifier OPTIONAL,
- authorityCertIssuer [1] GeneralNames OPTIONAL,
- authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL }
- -- authorityCertIssuer and authorityCertSerialNumber MUST both
- -- be present or both be absent
-
-KeyIdentifier ::= OCTET STRING
-
--- subject key identifier OID and syntax
-
-id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 14 }
-
-SubjectKeyIdentifier ::= KeyIdentifier
-
--- key usage extension OID and syntax
-
-id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 }
-
-KeyUsage ::= BIT STRING {
- digitalSignature (0),
- nonRepudiation (1),
- keyEncipherment (2),
- dataEncipherment (3),
- keyAgreement (4),
- keyCertSign (5),
- cRLSign (6),
- encipherOnly (7),
- decipherOnly (8) }
-
--- private key usage period extension OID and syntax
-
-id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= { id-ce 16 }
-
-PrivateKeyUsagePeriod ::= SEQUENCE {
- notBefore [0] GeneralizedTime OPTIONAL,
- notAfter [1] GeneralizedTime OPTIONAL }
- -- either notBefore or notAfter MUST be present
-
--- certificate policies extension OID and syntax
-
-id-ce-certificatePolicies OBJECT IDENTIFIER ::= { id-ce 32 }
-
-anyPolicy OBJECT IDENTIFIER ::= { id-ce-certificatePolicies 0 }
-
-CertificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
-
-PolicyInformation ::= SEQUENCE {
- policyIdentifier CertPolicyId,
- policyQualifiers SEQUENCE SIZE (1..MAX) OF
- PolicyQualifierInfo OPTIONAL }
-
-CertPolicyId ::= OBJECT IDENTIFIER
-
-PolicyQualifierInfo ::= SEQUENCE {
- policyQualifierId PolicyQualifierId,
- qualifier ANY DEFINED BY policyQualifierId }
-
--- Implementations that recognize additional policy qualifiers MUST
--- augment the following definition for PolicyQualifierId
-
-PolicyQualifierId ::=
- OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice )
-
--- CPS pointer qualifier
-
-CPSuri ::= IA5String
-
--- user notice qualifier
-
-UserNotice ::= SEQUENCE {
- noticeRef NoticeReference OPTIONAL,
- explicitText DisplayText OPTIONAL}
-
-NoticeReference ::= SEQUENCE {
- organization DisplayText,
- noticeNumbers SEQUENCE OF INTEGER }
-
-DisplayText ::= CHOICE {
- ia5String IA5String (SIZE (1..200)),
- visibleString VisibleString (SIZE (1..200)),
- bmpString BMPString (SIZE (1..200)),
- utf8String UTF8String (SIZE (1..200)) }
-
--- policy mapping extension OID and syntax
-
-id-ce-policyMappings OBJECT IDENTIFIER ::= { id-ce 33 }
-
-PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
- issuerDomainPolicy CertPolicyId,
- subjectDomainPolicy CertPolicyId }
-
--- subject alternative name extension OID and syntax
-
-id-ce-subjectAltName OBJECT IDENTIFIER ::= { id-ce 17 }
-
-SubjectAltName ::= GeneralNames
-
-GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
-
-GeneralName ::= CHOICE {
- otherName [0] AnotherName,
- rfc822Name [1] IA5String,
- dNSName [2] IA5String,
- x400Address [3] ORAddress,
- directoryName [4] Name,
- ediPartyName [5] EDIPartyName,
- uniformResourceIdentifier [6] IA5String,
- iPAddress [7] OCTET STRING,
- registeredID [8] OBJECT IDENTIFIER }
-
--- AnotherName replaces OTHER-NAME ::= TYPE-IDENTIFIER, as
--- TYPE-IDENTIFIER is not supported in the '88 ASN.1 syntax
-
-AnotherName ::= SEQUENCE {
- type-id OBJECT IDENTIFIER,
- value [0] EXPLICIT ANY DEFINED BY type-id }
-
-EDIPartyName ::= SEQUENCE {
- nameAssigner [0] DirectoryString OPTIONAL,
- partyName [1] DirectoryString }
-
--- issuer alternative name extension OID and syntax
-
-id-ce-issuerAltName OBJECT IDENTIFIER ::= { id-ce 18 }
-
-IssuerAltName ::= GeneralNames
-
-id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= { id-ce 9 }
-
-SubjectDirectoryAttributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
-
--- basic constraints extension OID and syntax
-
-id-ce-basicConstraints OBJECT IDENTIFIER ::= { id-ce 19 }
-
-BasicConstraints ::= SEQUENCE {
- cA BOOLEAN DEFAULT FALSE,
- pathLenConstraint INTEGER (0..MAX) OPTIONAL }
-
--- name constraints extension OID and syntax
-
-id-ce-nameConstraints OBJECT IDENTIFIER ::= { id-ce 30 }
-
-NameConstraints ::= SEQUENCE {
- permittedSubtrees [0] GeneralSubtrees OPTIONAL,
- excludedSubtrees [1] GeneralSubtrees OPTIONAL }
-
-GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
-
-GeneralSubtree ::= SEQUENCE {
- base GeneralName,
- minimum [0] BaseDistance DEFAULT 0,
- maximum [1] BaseDistance OPTIONAL }
-
-BaseDistance ::= INTEGER (0..MAX)
-
--- policy constraints extension OID and syntax
-
-id-ce-policyConstraints OBJECT IDENTIFIER ::= { id-ce 36 }
-
-PolicyConstraints ::= SEQUENCE {
- requireExplicitPolicy [0] SkipCerts OPTIONAL,
- inhibitPolicyMapping [1] SkipCerts OPTIONAL }
-
-SkipCerts ::= INTEGER (0..MAX)
-
--- CRL distribution points extension OID and syntax
-
-id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
-
-CRLDistributionPoints ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
-
-DistributionPoint ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- reasons [1] ReasonFlags OPTIONAL,
- cRLIssuer [2] GeneralNames OPTIONAL }
-
-DistributionPointName ::= CHOICE {
- fullName [0] GeneralNames,
- nameRelativeToCRLIssuer [1] RelativeDistinguishedName }
-
-ReasonFlags ::= BIT STRING {
- unused (0),
- keyCompromise (1),
- cACompromise (2),
- affiliationChanged (3),
- superseded (4),
- cessationOfOperation (5),
- certificateHold (6),
- privilegeWithdrawn (7),
- aACompromise (8) }
-
--- extended key usage extension OID and syntax
-
-id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
-
-ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId
-
-
-KeyPurposeId ::= OBJECT IDENTIFIER
-
--- permit unspecified key uses
-
-anyExtendedKeyUsage OBJECT IDENTIFIER ::= { id-ce-extKeyUsage 0 }
-
--- extended key purpose OIDs
-
-id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 }
-id-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 }
-id-kp-codeSigning OBJECT IDENTIFIER ::= { id-kp 3 }
-id-kp-emailProtection OBJECT IDENTIFIER ::= { id-kp 4 }
-id-kp-timeStamping OBJECT IDENTIFIER ::= { id-kp 8 }
-id-kp-OCSPSigning OBJECT IDENTIFIER ::= { id-kp 9 }
-
--- inhibit any policy OID and syntax
-
-id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= { id-ce 54 }
-
-InhibitAnyPolicy ::= SkipCerts
-
--- freshest (delta)CRL extension OID and syntax
-
-id-ce-freshestCRL OBJECT IDENTIFIER ::= { id-ce 46 }
-
-FreshestCRL ::= CRLDistributionPoints
-
--- authority info access
-
-id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
-
-AuthorityInfoAccessSyntax ::=
- SEQUENCE SIZE (1..MAX) OF AccessDescription
-
-AccessDescription ::= SEQUENCE {
- accessMethod OBJECT IDENTIFIER,
- accessLocation GeneralName }
-
--- subject info access
-
-id-pe-subjectInfoAccess OBJECT IDENTIFIER ::= { id-pe 11 }
-
-SubjectInfoAccessSyntax ::=
- SEQUENCE SIZE (1..MAX) OF AccessDescription
-
--- CRL number extension OID and syntax
-
-id-ce-cRLNumber OBJECT IDENTIFIER ::= { id-ce 20 }
-
-CRLNumber ::= INTEGER (0..MAX)
-
--- issuing distribution point extension OID and syntax
-
-id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= { id-ce 28 }
-
-IssuingDistributionPoint ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
- onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
- onlySomeReasons [3] ReasonFlags OPTIONAL,
- indirectCRL [4] BOOLEAN DEFAULT FALSE,
- onlyContainsAttributeCerts [5] BOOLEAN DEFAULT FALSE }
-
-id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= { id-ce 27 }
-
-BaseCRLNumber ::= CRLNumber
-
--- CRL reasons extension OID and syntax
-
-id-ce-cRLReasons OBJECT IDENTIFIER ::= { id-ce 21 }
-
-CRLReason ::= ENUMERATED {
- unspecified (0),
- keyCompromise (1),
- cACompromise (2),
- affiliationChanged (3),
- superseded (4),
- cessationOfOperation (5),
- certificateHold (6),
- removeFromCRL (8),
- privilegeWithdrawn (9),
- aACompromise (10) }
-
--- certificate issuer CRL entry extension OID and syntax
-
-id-ce-certificateIssuer OBJECT IDENTIFIER ::= { id-ce 29 }
-
-CertificateIssuer ::= GeneralNames
-
--- hold instruction extension OID and syntax
-
-id-ce-holdInstructionCode OBJECT IDENTIFIER ::= { id-ce 23 }
-
-HoldInstructionCode ::= OBJECT IDENTIFIER
-
--- ANSI x9 holdinstructions
-
--- ANSI x9 arc holdinstruction arc
-
-holdInstruction OBJECT IDENTIFIER ::=
- {joint-iso-itu-t(2) member-body(2) us(840) x9cm(10040) 2}
-
--- ANSI X9 holdinstructions referenced by this standard
-
-id-holdinstruction-none OBJECT IDENTIFIER ::=
- {holdInstruction 1} -- deprecated
-
-id-holdinstruction-callissuer OBJECT IDENTIFIER ::=
- {holdInstruction 2}
-
-id-holdinstruction-reject OBJECT IDENTIFIER ::=
- {holdInstruction 3}
-
--- invalidity date CRL entry extension OID and syntax
-
-id-ce-invalidityDate OBJECT IDENTIFIER ::= { id-ce 24 }
-
-InvalidityDate ::= GeneralizedTime
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Implicit93.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Implicit93.asn1
deleted file mode 100644
index c90b5eb199..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIX1Implicit93.asn1
+++ /dev/null
@@ -1,357 +0,0 @@
-PKIX1Implicit93 {iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit-93(4)}
-
-DEFINITIONS IMPLICIT TAGS::=
-
-BEGIN
-
---EXPORTS ALL --
-
-IMPORTS
- id-pe, id-qt, id-kp, id-ad, id-qt-unotice,
- ORAddress, Name, RelativeDistinguishedName,
- CertificateSerialNumber, CertificateList,
- AlgorithmIdentifier, ub-name, DirectoryString,
- Attribute, EXTENSION
- FROM PKIX1Explicit93 {iso(1) identified-organization(3)
- dod(6) internet(1) security(5) mechanisms(5) pkix(7)
- id-mod(0) id-pkix1-explicit-93(3)};
-
--- Key and policy information extensions --
-
-authorityKeyIdentifier EXTENSION ::= {
- SYNTAX AuthorityKeyIdentifier
- IDENTIFIED BY id-ce-authorityKeyIdentifier }
-
-AuthorityKeyIdentifier ::= SEQUENCE {
- keyIdentifier [0] KeyIdentifier OPTIONAL,
- authorityCertIssuer [1] GeneralNames OPTIONAL,
- authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL }
- ( WITH COMPONENTS {..., authorityCertIssuer PRESENT,
- authorityCertSerialNumber PRESENT} |
- WITH COMPONENTS {..., authorityCertIssuer ABSENT,
- authorityCertSerialNumber ABSENT} )
-
-KeyIdentifier ::= OCTET STRING
-
-subjectKeyIdentifier EXTENSION ::= {
- SYNTAX SubjectKeyIdentifier
- IDENTIFIED BY id-ce-subjectKeyIdentifier }
-
-SubjectKeyIdentifier ::= KeyIdentifier
-
-keyUsage EXTENSION ::= {
- SYNTAX KeyUsage
- IDENTIFIED BY id-ce-keyUsage }
-
-KeyUsage ::= BIT STRING {
- digitalSignature (0),
- nonRepudiation (1),
- keyEncipherment (2),
- dataEncipherment (3),
- keyAgreement (4),
- keyCertSign (5),
- cRLSign (6),
- encipherOnly (7),
- decipherOnly (8) }
-
-extendedKeyUsage EXTENSION ::= {
- SYNTAX SEQUENCE SIZE (1..MAX) OF KeyPurposeId
- IDENTIFIED BY id-ce-extKeyUsage }
-
-KeyPurposeId ::= OBJECT IDENTIFIER
-
--- PKIX-defined extended key purpose OIDs
-id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 }
-id-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 }
-id-kp-codeSigning OBJECT IDENTIFIER ::= { id-kp 3 }
-id-kp-emailProtection OBJECT IDENTIFIER ::= { id-kp 4 }
-id-kp-ipsecEndSystem OBJECT IDENTIFIER ::= { id-kp 5 }
-id-kp-ipsecTunnel OBJECT IDENTIFIER ::= { id-kp 6 }
-id-kp-ipsecUser OBJECT IDENTIFIER ::= { id-kp 7 }
-id-kp-timeStamping OBJECT IDENTIFIER ::= { id-kp 8 }
-
-privateKeyUsagePeriod EXTENSION ::= {
- SYNTAX PrivateKeyUsagePeriod
- IDENTIFIED BY { id-ce-privateKeyUsagePeriod } }
-
-PrivateKeyUsagePeriod ::= SEQUENCE {
- notBefore [0] GeneralizedTime OPTIONAL,
- notAfter [1] GeneralizedTime OPTIONAL }
- ( WITH COMPONENTS {..., notBefore PRESENT} |
- WITH COMPONENTS {..., notAfter PRESENT} )
-
-certificatePolicies EXTENSION ::= {
- SYNTAX CertificatePoliciesSyntax
- IDENTIFIED BY id-ce-certificatePolicies }
-
-CertificatePoliciesSyntax ::=
- SEQUENCE SIZE (1..MAX) OF PolicyInformation
-
-PolicyInformation ::= SEQUENCE {
- policyIdentifier CertPolicyId,
- policyQualifiers SEQUENCE SIZE (1..MAX) OF
- PolicyQualifierInfo OPTIONAL }
-
-CertPolicyId ::= OBJECT IDENTIFIER
-
-PolicyQualifierInfo ::= SEQUENCE {
- policyQualifierId CERT-POLICY-QUALIFIER.&id
- ({SupportedPolicyQualifiers}),
- qualifier CERT-POLICY-QUALIFIER.&Qualifier
- ({SupportedPolicyQualifiers}
- {@policyQualifierId})OPTIONAL }
-
-SupportedPolicyQualifiers CERT-POLICY-QUALIFIER ::= { noticeToUser |
- pointerToCPS }
-
-CERT-POLICY-QUALIFIER ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Qualifier OPTIONAL }
-WITH SYNTAX {
- POLICY-QUALIFIER-ID &id
- [QUALIFIER-TYPE &Qualifier] }
-
-policyMappings EXTENSION ::= {
- SYNTAX PolicyMappingsSyntax
- IDENTIFIED BY id-ce-policyMappings }
-
-PolicyMappingsSyntax ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
- issuerDomainPolicy CertPolicyId,
- subjectDomainPolicy CertPolicyId }
-
--- Certificate subject and certificate issuer attributes extensions --
-
-subjectAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-subjectAltName }
-
-GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
-
-GeneralName ::= CHOICE {
- otherName [0] INSTANCE OF OTHER-NAME,
- rfc822Name [1] IA5String,
- dNSName [2] IA5String,
- x400Address [3] ORAddress,
- directoryName [4] Name,
- ediPartyName [5] EDIPartyName,
- uniformResourceIdentifier [6] IA5String,
- iPAddress [7] OCTET STRING,
- registeredID [8] OBJECT IDENTIFIER }
-
-OTHER-NAME ::= TYPE-IDENTIFIER
-
-EDIPartyName ::= SEQUENCE {
- nameAssigner [0] DirectoryString {ub-name} OPTIONAL,
- partyName [1] DirectoryString {ub-name} }
-
-issuerAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-issuerAltName }
-
-subjectDirectoryAttributes EXTENSION ::= {
- SYNTAX AttributesSyntax
- IDENTIFIED BY id-ce-subjectDirectoryAttributes }
-
-AttributesSyntax ::= SEQUENCE SIZE (1..MAX) OF Attribute
-
--- Certification path constraints extensions --
-
-basicConstraints EXTENSION ::= {
- SYNTAX BasicConstraintsSyntax
- IDENTIFIED BY id-ce-basicConstraints }
-
-BasicConstraintsSyntax ::= SEQUENCE {
- cA BOOLEAN DEFAULT FALSE,
- pathLenConstraint INTEGER (0..MAX) OPTIONAL }
-
-nameConstraints EXTENSION ::= {
- SYNTAX NameConstraintsSyntax
- IDENTIFIED BY id-ce-nameConstraints }
-
-NameConstraintsSyntax ::= SEQUENCE {
- permittedSubtrees [0] GeneralSubtrees OPTIONAL,
- excludedSubtrees [1] GeneralSubtrees OPTIONAL }
-
-GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
-
-GeneralSubtree ::= SEQUENCE {
- base GeneralName,
- minimum [0] BaseDistance DEFAULT 0,
- maximum [1] BaseDistance OPTIONAL }
-
-BaseDistance ::= INTEGER (0..MAX)
-
-policyConstraints EXTENSION ::= {
- SYNTAX PolicyConstraintsSyntax
- IDENTIFIED BY id-ce-policyConstraints }
-
-PolicyConstraintsSyntax ::= SEQUENCE {
- requireExplicitPolicy [0] SkipCerts OPTIONAL,
- inhibitPolicyMapping [1] SkipCerts OPTIONAL }
-
-SkipCerts ::= INTEGER (0..MAX)
-
--- Basic CRL extensions --
-
-cRLNumber EXTENSION ::= {
- SYNTAX CRLNumber
- IDENTIFIED BY id-ce-cRLNumber }
-
-CRLNumber ::= INTEGER (0..MAX)
-
-reasonCode EXTENSION ::= {
- SYNTAX CRLReason
- IDENTIFIED BY id-ce-reasonCode }
-
-CRLReason ::= ENUMERATED {
- unspecified (0),
- keyCompromise (1),
- cACompromise (2),
- affiliationChanged (3),
- superseded (4),
- cessationOfOperation (5),
- certificateHold (6),
- removeFromCRL (8) }
-
-instructionCode EXTENSION ::= {
- SYNTAX HoldInstruction
- IDENTIFIED BY id-ce-instructionCode }
-
-HoldInstruction ::= OBJECT IDENTIFIER
-
--- holdinstructions described in this specification, from ANSI x9
-
--- ANSI x9 arc holdinstruction arc
-holdInstruction OBJECT IDENTIFIER ::= {
- joint-iso-ccitt(2) member-body(2) us(840) x9cm(10040) 2}
-
--- ANSI X9 holdinstructions referenced by this standard
-id-holdinstruction-none OBJECT IDENTIFIER ::= {holdInstruction 1}
-id-holdinstruction-callissuer OBJECT IDENTIFIER ::= {holdInstruction 2}
-id-holdinstruction-reject OBJECT IDENTIFIER ::= {holdInstruction 3}
-
-invalidityDate EXTENSION ::= {
- SYNTAX GeneralizedTime
- IDENTIFIED BY id-ce-invalidityDate }
-
--- CRL distribution points and delta-CRL extensions --
-
-cRLDistributionPoints EXTENSION ::= {
- SYNTAX CRLDistPointsSyntax
- IDENTIFIED BY id-ce-cRLDistributionPoints }
-
-CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
-
-DistributionPoint ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- reasons [1] ReasonFlags OPTIONAL,
- cRLIssuer [2] GeneralNames OPTIONAL }
-
-DistributionPointName ::= CHOICE {
- fullName [0] GeneralNames,
- nameRelativeToCRLIssuer [1] RelativeDistinguishedName }
-
-ReasonFlags ::= BIT STRING {
- unused (0),
- keyCompromise (1),
- caCompromise (2),
- affiliationChanged (3),
- superseded (4),
- cessationOfOperation (5),
- certificateHold (6) }
-
-issuingDistributionPoint EXTENSION ::= {
- SYNTAX IssuingDistPointSyntax
- IDENTIFIED BY id-ce-issuingDistributionPoint }
-
-IssuingDistPointSyntax ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
- onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
- onlySomeReasons [3] ReasonFlags OPTIONAL,
- indirectCRL [4] BOOLEAN DEFAULT FALSE }
-
-certificateIssuer EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-certificateIssuer }
-
-deltaCRLIndicator EXTENSION ::= {
- SYNTAX BaseCRLNumber
- IDENTIFIED BY id-ce-deltaCRLIndicator }
-
-BaseCRLNumber ::= CRLNumber
-
--- Object identifier assignments for ISO certificate extensions --
-id-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29}
-
-id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= {id-ce 9}
-
-id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 14}
-id-ce-keyUsage OBJECT IDENTIFIER ::= {id-ce 15}
-id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= {id-ce 16}
-id-ce-subjectAltName OBJECT IDENTIFIER ::= {id-ce 17}
-id-ce-issuerAltName OBJECT IDENTIFIER ::= {id-ce 18}
-id-ce-basicConstraints OBJECT IDENTIFIER ::= {id-ce 19}
-id-ce-cRLNumber OBJECT IDENTIFIER ::= {id-ce 20}
-id-ce-reasonCode OBJECT IDENTIFIER ::= {id-ce 21}
-id-ce-instructionCode OBJECT IDENTIFIER ::= {id-ce 23}
-id-ce-invalidityDate OBJECT IDENTIFIER ::= {id-ce 24}
-id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= {id-ce 27}
-id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 28}
-id-ce-certificateIssuer OBJECT IDENTIFIER ::= {id-ce 29}
-id-ce-nameConstraints OBJECT IDENTIFIER ::= {id-ce 30}
-id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
-id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32}
-id-ce-policyMappings OBJECT IDENTIFIER ::= {id-ce 33}
-id-ce-policyConstraints OBJECT IDENTIFIER ::= {id-ce 36}
-id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 35}
-id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
-
--- PKIX 1 extensions
-
-authorityInfoAccess EXTENSION ::= {
- SYNTAX AuthorityInfoAccessSyntax
- IDENTIFIED BY id-pe-authorityInfoAccess }
-
-AuthorityInfoAccessSyntax ::=
- SEQUENCE SIZE (1..MAX) OF AccessDescription
-
-AccessDescription ::= SEQUENCE {
- accessMethod OBJECT IDENTIFIER,
- accessLocation GeneralName }
-
-id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
-
-id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
-id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
-
--- PKIX policy qualifier definitions
-
-noticeToUser CERT-POLICY-QUALIFIER ::= {
- POLICY-QUALIFIER-ID id-qt-cps QUALIFIER-TYPE CPSuri}
-
-pointerToCPS CERT-POLICY-QUALIFIER ::= {
- POLICY-QUALIFIER-ID id-qt-unotice QUALIFIER-TYPE UserNotice}
-
-id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
-
-id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
-
-CPSuri ::= IA5String
-
-UserNotice ::= SEQUENCE {
- noticeRef NoticeReference OPTIONAL,
- explicitText DisplayText OPTIONAL}
-
-NoticeReference ::= SEQUENCE {
- organization DisplayText,
- noticeNumbers SEQUENCE OF INTEGER }
-
-DisplayText ::= CHOICE {
- visibleString VisibleString (SIZE (1..200)),
- bmpString BMPString (SIZE (1..200)),
- utf8String UTF8String (SIZE (1..200)) }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIXAttributeCertificate.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIXAttributeCertificate.asn1
deleted file mode 100644
index 2d0997fdfc..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PKIXAttributeCertificate.asn1
+++ /dev/null
@@ -1,189 +0,0 @@
- PKIXAttributeCertificate {iso(1) identified-organization(3) dod(6)
- internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
- id-mod-attribute-cert(12)}
-
- DEFINITIONS IMPLICIT TAGS ::=
-
- BEGIN
-
- -- EXPORTS ALL --
-
- IMPORTS
-
- -- IMPORTed module OIDs MAY change if [PKIXPROF] changes
- -- PKIX Certificate Extensions
- Attribute, AlgorithmIdentifier, CertificateSerialNumber,
- Extensions, UniqueIdentifier,
- id-pkix, id-pe, id-kp, id-ad, id-at
- FROM PKIX1Explicit88 {iso(1) identified-organization(3)
- dod(6) internet(1) security(5) mechanisms(5)
- pkix(7) id-mod(0) id-pkix1-explicit-88(1)}
-
- GeneralName, GeneralNames, id-ce
- FROM PKIX1Implicit88 {iso(1) identified-organization(3)
- dod(6) internet(1) security(5) mechanisms(5)
- pkix(7) id-mod(0) id-pkix1-implicit-88(2)} ;
-
- id-pe-ac-auditIdentity OBJECT IDENTIFIER ::= { id-pe 4 }
- id-pe-aaControls OBJECT IDENTIFIER ::= { id-pe 6 }
- id-pe-ac-proxying OBJECT IDENTIFIER ::= { id-pe 10 }
- id-ce-targetInformation OBJECT IDENTIFIER ::= { id-ce 55 }
-
- id-aca OBJECT IDENTIFIER ::= { id-pkix 10 }
- id-aca-authenticationInfo OBJECT IDENTIFIER ::= { id-aca 1 }
- id-aca-accessIdentity OBJECT IDENTIFIER ::= { id-aca 2 }
- id-aca-chargingIdentity OBJECT IDENTIFIER ::= { id-aca 3 }
- id-aca-group OBJECT IDENTIFIER ::= { id-aca 4 }
- -- { id-aca 5 } is reserved
- id-aca-encAttrs OBJECT IDENTIFIER ::= { id-aca 6 }
-
- id-at-role OBJECT IDENTIFIER ::= { id-at 72}
- id-at-clearance OBJECT IDENTIFIER ::=
- { joint-iso-ccitt(2) ds(5) module(1)
- selected-attribute-types(5) clearance (55) }
-
- -- Uncomment this if using a 1988 level ASN.1 compiler
--- UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
-
- AttributeCertificate ::= SEQUENCE {
- acinfo AttributeCertificateInfo,
- signatureAlgorithm AlgorithmIdentifier,
- signatureValue BIT STRING
- }
-
- AttributeCertificateInfo ::= SEQUENCE {
- version AttCertVersion, -- version is v2
- holder Holder,
- issuer AttCertIssuer,
- signature AlgorithmIdentifier,
- serialNumber CertificateSerialNumber,
- attrCertValidityPeriod AttCertValidityPeriod,
- attributes SEQUENCE OF Attribute,
- issuerUniqueID UniqueIdentifier OPTIONAL,
- extensions Extensions OPTIONAL
- }
-
- AttCertVersion ::= INTEGER { v2(1) }
-
- Holder ::= SEQUENCE {
- baseCertificateID [0] IssuerSerial OPTIONAL,
- -- the issuer and serial number of
- -- the holder's Public Key Certificate
- entityName [1] GeneralNames OPTIONAL,
- -- the name of the claimant or role
- objectDigestInfo [2] ObjectDigestInfo OPTIONAL
- -- used to directly authenticate the
- -- holder, for example, an executable
- }
-
- ObjectDigestInfo ::= SEQUENCE {
- digestedObjectType ENUMERATED {
- publicKey (0),
- publicKeyCert (1),
- otherObjectTypes (2) },
- -- otherObjectTypes MUST NOT
- -- MUST NOT be used in this profile
- otherObjectTypeID OBJECT IDENTIFIER OPTIONAL,
- digestAlgorithm AlgorithmIdentifier,
- objectDigest BIT STRING
- }
-
- AttCertIssuer ::= CHOICE {
- v1Form GeneralNames, -- MUST NOT be used in this
- -- profile
- v2Form [0] V2Form -- v2 only
- }
-
- V2Form ::= SEQUENCE {
- issuerName GeneralNames OPTIONAL,
- baseCertificateID [0] IssuerSerial OPTIONAL,
- objectDigestInfo [1] ObjectDigestInfo OPTIONAL
- -- issuerName MUST be present in this profile
- -- baseCertificateID and objectDigestInfo MUST
- -- NOT be present in this profile
- }
-
- IssuerSerial ::= SEQUENCE {
- issuer GeneralNames,
- serial CertificateSerialNumber,
- issuerUID UniqueIdentifier OPTIONAL
- }
-
- AttCertValidityPeriod ::= SEQUENCE {
- notBeforeTime GeneralizedTime,
- notAfterTime GeneralizedTime
- }
-
- Targets ::= SEQUENCE OF Target
-
- Target ::= CHOICE {
- targetName [0] GeneralName,
- targetGroup [1] GeneralName,
- targetCert [2] TargetCert
- }
-
- TargetCert ::= SEQUENCE {
- targetCertificate IssuerSerial,
- targetName GeneralName OPTIONAL,
- certDigestInfo ObjectDigestInfo OPTIONAL
- }
-
- IetfAttrSyntax ::= SEQUENCE {
- policyAuthority[0] GeneralNames OPTIONAL,
- values SEQUENCE OF CHOICE {
- octets OCTET STRING,
- oid OBJECT IDENTIFIER,
- string UTF8String
- }
- }
-
- SvceAuthInfo ::= SEQUENCE {
- service GeneralName,
- ident GeneralName,
- authInfo OCTET STRING OPTIONAL
- }
-
- RoleSyntax ::= SEQUENCE {
- roleAuthority [0] GeneralNames OPTIONAL,
- roleName [1] GeneralName
- }
-
- Clearance ::= SEQUENCE {
- policyId [0] OBJECT IDENTIFIER,
- classList [1] ClassList DEFAULT {unclassified},
- securityCategories
- [2] SET OF SecurityCategory OPTIONAL
- }
-
- ClassList ::= BIT STRING {
- unmarked (0),
- unclassified (1),
- restricted (2),
- confidential (3),
- secret (4),
- topSecret (5)
- }
-
- SecurityCategory ::= SEQUENCE {
- type [0] IMPLICIT OBJECT IDENTIFIER,
- value [1] ANY DEFINED BY type
- }
-
- AAControls ::= SEQUENCE {
- pathLenConstraint INTEGER (0..MAX) OPTIONAL,
- permittedAttrs [0] AttrSpec OPTIONAL,
- excludedAttrs [1] AttrSpec OPTIONAL,
- permitUnSpecified BOOLEAN DEFAULT TRUE
- }
-
- AttrSpec::= SEQUENCE OF OBJECT IDENTIFIER
-
- ACClearAttrs ::= SEQUENCE {
- acIssuer GeneralName,
- acSerial INTEGER,
- attrs SEQUENCE OF Attribute
- }
-
- ProxyInfo ::= SEQUENCE OF Targets
-
- END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Param.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/Param.asn1
deleted file mode 100644
index b2987a7885..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Param.asn1
+++ /dev/null
@@ -1,93 +0,0 @@
--- **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
-Param -- { object identifier to be allocated }--
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- A
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-RANAP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolExtensionID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
-ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..10)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
-
-AllocationOrRetentionPriority ::= SEQUENCE {
- priorityLevel BOOLEAN,
- iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-obj1 RANAP-PROTOCOL-EXTENSION ::= {
- ID id-one
- CRITICALITY ignore
- EXTENSION INTEGER
- PRESENCE optional
-}
-
-obj2 RANAP-PROTOCOL-EXTENSION ::= {
- ID id-two
- CRITICALITY ignore
- EXTENSION BOOLEAN
- PRESENCE optional
-}
-
-id-one INTEGER ::= 1
-id-two INTEGER ::= 2
-
--- The following code for test of OTP-4242, ValueFromObject
--- Similar use as in the Camel spec
-
-CONFIG-DATA ::= CLASS {
- &minLevel INTEGER,
- &maxLevel INTEGER
-}
-WITH SYNTAX {
- MINLEVEL &minLevel
- MAXLEVEL &maxLevel
-}
-
-config-data CONFIG-DATA ::= {MINLEVEL 1 MAXLEVEL 3}
-
-OS1 ::= OCTET STRING (SIZE (config-data.&minLevel .. config-data.&maxLevel))
-
-POS2 {CONFIG-DATA:obj} ::= OCTET STRING (SIZE(obj.&minLevel .. obj.&maxLevel))
-
-OS2 ::= POS2 {config-data}
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ParamBasic.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ParamBasic.asn1
deleted file mode 100644
index 491bdf8956..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ParamBasic.asn1
+++ /dev/null
@@ -1,23 +0,0 @@
-ParamBasic DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-General1{T,T:val} ::= SEQUENCE {
- number INTEGER,
- string T DEFAULT val
-}
-
-T11 ::= General1{PrintableString,"hej"}
-
-T12 ::= General1{BIT STRING,'1010'B}
-
-General2{T} ::= SEQUENCE {
- number INTEGER,
- string T
-}
-
-T21 ::= General2{PrintableString}
-
-T22 ::= General2{BIT STRING}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecMyHTTP.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecMyHTTP.asn
deleted file mode 100644
index aad3c4d833..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecMyHTTP.asn
+++ /dev/null
@@ -1,19 +0,0 @@
-PartialDecMyHTTP DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-GetRequest ::= SEQUENCE {
- header-only BOOLEAN,
- lock BOOLEAN,
- accept-types AcceptTypes,
- url Url, ...
-}
-
-AcceptTypes ::= SET {
- standards BIT STRING {html(0), plain-text(1), gif(2), jpeg(3)} (SIZE (4)) OPTIONAL,
- others SEQUENCE OF VisibleString (SIZE (4)) OPTIONAL
-}
-
-Url ::= VisibleString (FROM ("a".."z"|"A".."Z"|"0".."9"| "./-_~%#"))
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecMyHTTP.asn1config b/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecMyHTTP.asn1config
deleted file mode 100644
index bafd7f46ac..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecMyHTTP.asn1config
+++ /dev/null
@@ -1,3 +0,0 @@
-{exclusive_decode,{'PartialDecMyHTTP',
- [{decode_GetRequest_incomplete,
- ['GetRequest',[{'accept-types',[{others,parts}]}]]}]}}.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq.asn
deleted file mode 100644
index 17844f12b9..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq.asn
+++ /dev/null
@@ -1,34 +0,0 @@
-PartialDecSeq DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-A ::= SEQUENCE {
- a INTEGER DEFAULT 15,
- b [0] B DEFAULT {a 12, b TRUE}
-}
-
-C ::= [11] EXPLICIT D
-B ::= [12] C
-D ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-
-F ::= CHOICE {
- fa INTEGER,
- fb E --161
-}
-
-E ::= SEQUENCE {
- a INTEGER, -- matched
- b SEQUENCE OF D, -- matched value of component a of first D in E_b
- c BOOLEAN OPTIONAL,
- d CHOICE {
- da SEQUENCE OF A,
- db INTEGER,
- dc [3] SET {dca INTEGER,dcb BOOLEAN, dcc SEQUENCE{dcca INTEGER,dccb INTEGER}}
- }
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq.asn1config b/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq.asn1config
deleted file mode 100644
index 19fa3c990e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq.asn1config
+++ /dev/null
@@ -1,22 +0,0 @@
-{selective_decode,{'PartialDecSeq',
- [{selected_decode_F1,['F',fb,b,[1],a]},
- {selected_decode_F2,['F',fb,b]},
- {selected_decode_F3,['F',fb,b,[1]]},
- {selected_decode_F4,['F',fb,d,da,[1],b,a]},
- {selected_decode_E1,['E',d,dc,dcc,dcca]}]}}.
-%% partial_incomplete_decode tuplen inneh�ller tv� element. Den
-%% f�rsta �r bara en nyckel den andra �r en tupel med modulnamnet i
-%% en tupel {module,Name} och det andra elementet �r en lista av tupler:
-%% D�r varje tupel beskriver en partiell ofullst�ndig dekod. F�rsta
-%% elementet i den tupeln �r namnet p� funktionen som ska g�ra den
-%% partiella dekodningen. Det andra elementet �r en lista av typnamn/
-%% komponentnamn som �r en sekvens (path) till de element som ej skall
-%% avkodas.
-{exclusive_decode,{'PartialDecSeq',
- [{decode_F_fb_incomplete,['F',[{fb,[{b,parts},{d,undecoded}]}]]},
- {decode_D_incomplete,['D',[{a,undecoded}]]},
- {decode_F_fb_exclusive2,['F',[{fb,[{b,parts},{d,[{da,parts}]}]}]]}, {decode_F_fb_exclusive3,['F',[{fb,[{b,parts},{d,[{da,parts},{dc,[{dcc,undecoded}]}]}]}]]}]}}.
-{module_name,'Seq.asn1'}.
-{compile_options,[ber_bin,optimize,debug_info]}.
-{multifile_compile,['M1.asn','M2.asn']}.
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq2.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq2.asn
deleted file mode 100644
index 2e77d250d2..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq2.asn
+++ /dev/null
@@ -1,29 +0,0 @@
-PartialDecSeq2 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-B ::= CHOICE {
- a INTEGER,
- b SEQUENCE {aa INTEGER, ba INTEGER},
- c S
-}
-
-S ::= SEQUENCE {
- a BOOLEAN,
- b BOOLEAN
-}
-
-A ::= SEQUENCE {
- a INTEGER DEFAULT 15,
- b B DEFAULT b:{aa 13, ba 14},
- c CHOICE {a INTEGER,b SEQUENCE{a BOOLEAN, b BOOLEAN}} DEFAULT b:{a TRUE, b FALSE}
-}
-
-C ::= D
-
-D ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq2.asn1config b/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq2.asn1config
deleted file mode 100644
index d9967d9958..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq2.asn1config
+++ /dev/null
@@ -1,4 +0,0 @@
-%{partial_decode,{{module,'Seq2'},['F',fb,b,[1],a]}}.
-{exclusive_decode,{'PartialDecSeq2',
- [{decode_A_c_b_incomplete,['A',[{c,[{a,undecoded},{b,undecoded}]}]]},
- {decode_D_incomplete,['D',[{a,undecoded}]]}]}}.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq3.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq3.asn
deleted file mode 100644
index 3b530733ef..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq3.asn
+++ /dev/null
@@ -1,45 +0,0 @@
-PartialDecSeq3 DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-S1 ::= SEQUENCE {
- a INTEGER,
- b S2 OPTIONAL,
- c C1,
- d SO1
-}
-
-S2 ::= SEQUENCE {
- a BOOLEAN,
- b INTEGER,
- c SEQUENCE OF S3,
- ...
-}
-
-C1 ::= CHOICE {
- a SEQUENCE OF S3,
- b SEQUENCE {a INTEGER, b BOOLEAN, c S4}
-}
-
-S3 ::= SEQUENCE {
- first INTEGER,
- second PrintableString,
- third OCTET STRING (SIZE(2..100)),
- fourth BIT STRING {one(0),two(1),three(2),four(3),five(4),six(5)}(SIZE(1..6)),
- ...
-}
-
-S4 ::= SET {
- name Name,
- title VisibleString
-}
-
-Name ::= SEQUENCE {
- givenName VisibleString,
- initial VisibleString,
- familyName VisibleString
-}
-
-SO1 ::= SEQUENCE (SIZE(2..6)) OF Name
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq3.asn1config b/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq3.asn1config
deleted file mode 100644
index 44d22aa1d4..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PartialDecSeq3.asn1config
+++ /dev/null
@@ -1,2 +0,0 @@
-{exclusive_decode,{'PartialDecSeq3',
- [{decode_S1_incomplete,['S1',[{b,[{c,parts}]},{c,[{a,parts}]},{d,parts}]]}]}}.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Pattern.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/Pattern.asn
deleted file mode 100644
index 730b4ba32a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Pattern.asn
+++ /dev/null
@@ -1,8 +0,0 @@
-Pattern DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-DateAndTime ::= VisibleString (PATTERN "\d#2/\d#2/\d#4-\d#2:\d#2")
--- DD/MM/YYY-HH:MM
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Person.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Person.py
deleted file mode 100644
index 60c1e06391..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Person.py
+++ /dev/null
@@ -1,10 +0,0 @@
-Person DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS Person;
-
-Person ::= [PRIVATE 19] SEQUENCE {
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL
- }
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Prim.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/Prim.asn1
deleted file mode 100644
index 1a905988f5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Prim.asn1
+++ /dev/null
@@ -1,32 +0,0 @@
-Prim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
- Bool ::= BOOLEAN
- BoolCon ::= [20] BOOLEAN
- BoolPri ::= [PRIVATE 21] BOOLEAN
- BoolApp ::= [APPLICATION 22] BOOLEAN
- BoolExpCon ::= [30] EXPLICIT BOOLEAN
- BoolExpPri ::= [PRIVATE 31] EXPLICIT BOOLEAN
- BoolExpApp ::= [APPLICATION 32] EXPLICIT BOOLEAN
-
- Int ::= INTEGER
- IntCon ::= [40] INTEGER
- IntPri ::= [PRIVATE 41] INTEGER
- IntApp ::= [APPLICATION 42] INTEGER
- IntExpCon ::= [50] EXPLICIT INTEGER
- IntExpPri ::= [PRIVATE 51] EXPLICIT INTEGER
- IntExpApp ::= [APPLICATION 52] EXPLICIT INTEGER
-
- IntEnum ::= INTEGER {first(1),last(31)}
-
- Enum ::= ENUMERATED {monday(1),tuesday(2),wednesday(3),thursday(4),
- friday(5),saturday(6),sunday(7)}
-
- ObjId ::= OBJECT IDENTIFIER
-
- RelOid ::= RELATIVE-OID
-
- Null ::= NULL
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PrimExternal.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/PrimExternal.asn1
deleted file mode 100644
index 2db685896d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PrimExternal.asn1
+++ /dev/null
@@ -1,39 +0,0 @@
-PrimExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XNT, XImp, XExp FROM External;
-
-
-
-NT ::= OCTET STRING
-Imp ::= [1] OCTET STRING
-Exp ::= [2] EXPLICIT OCTET STRING
-
-NTNT ::= NT
-ImpNT ::= [3] NT
-ExpNT ::= [4] EXPLICIT NT
-
-NTImp ::= Imp
-ImpImp ::= [5] Imp
-ExpImp ::= [6] EXPLICIT Imp
-
-NTExp ::= Exp
-ImpExp ::= [7] Exp
-ExpExp ::= [8] EXPLICIT Exp
-
-XNTNT ::= XNT
-XImpNT ::= [3] XNT
-XExpNT ::= [4] EXPLICIT XNT
-
-XNTImp ::= XImp
-XImpImp ::= [5] XImp
-XExpImp ::= [6] EXPLICIT XImp
-
-XNTExp ::= XExp
-XImpExp ::= [7] XExp
-XExpExp ::= [8] EXPLICIT XExp
-
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/PrimStrings.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/PrimStrings.asn1
deleted file mode 100644
index d287840f30..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/PrimStrings.asn1
+++ /dev/null
@@ -1,97 +0,0 @@
-PrimStrings DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
- Bs1 ::= BIT STRING
- Bs2 ::= BIT STRING {su(0), mo(1), tu(2), we(3), th(4), fr(5), sa(6) } (SIZE (7))
- Bs3 ::= BIT STRING {su(0), mo(1), tu(2), we(3), th(4), fr(5), sa(6) } (SIZE (1..7))
- Bs4 ::= BIT STRING {su(0), mo(1), tu(2), we(3), th(4), fr(5), sa(6) } (SIZE (1..32))
- Bs5 ::= BIT STRING {su(0), mo(17), tu(2), we(3), th(4), fr(5), sa(6) } (SIZE (1..32))
- Bs6 ::= BIT STRING {su(0), mo(17), tu(2), we(3), th(4), fr(5), sa(6)} (SIZE (16..32))
- Bs7 ::= BIT STRING (SIZE (24))
- BsPri ::= [PRIVATE 61] BIT STRING
- BsExpPri ::= [PRIVATE 61] EXPLICIT BIT STRING
- ODB-GeneralData ::= BIT STRING {
- allOG-CallsBarred (0),
- internationalOGCallsBarred (1),
- internationalOGCallsNotToHPLMN-CountryBarred (2),
- interzonalOGCallsBarred (6),
- interzonalOGCallsNotToHPLMN-CountryBarred (7),
- interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8),
- premiumRateInformationOGCallsBarred (3),
- premiumRateEntertainementOGCallsBarred (4),
- ss-AccessBarred (5),
- allECT-Barred (9),
- chargeableECT-Barred (10),
- internationalECT-Barred (11),
- interzonalECT-Barred (12),
- doublyChargeableECT-Barred (13),
- multipleECT-Barred (14)} (SIZE (15..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData
-
- TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
-
- --TestS is to test OTP-4353. See also x691 15.3 and x680 21.7
- TestS ::= BIT STRING {a(0),b(1)} (SIZE (3..8))
-
- -- OTP-5932
- BSMAX ::= BIT STRING (SIZE (5..MAX))
-
- -- OTP-7602
-
-BS255 ::= BIT STRING (SIZE (255))
-
-BS256 ::= BIT STRING (SIZE (256))
-
-BS1024 ::= BIT STRING (SIZE (1024))
-
-
-
- Os ::= OCTET STRING
- OsCon ::= [60] OCTET STRING
- OsPri ::= [PRIVATE 61] OCTET STRING
- OsApp ::= [APPLICATION 62] OCTET STRING
- OsExpCon ::= [60] EXPLICIT OCTET STRING
- OsExpPri ::= [PRIVATE 61] EXPLICIT OCTET STRING
- OsExpApp ::= [APPLICATION 62] EXPLICIT OCTET STRING
-
- Ns ::= NumericString
- NsCon ::= [70] NumericString
- NsExpCon ::= [71] EXPLICIT NumericString
-
- Ps ::= PrintableString
-
- Ts ::= TeletexString
-
- Vxs ::= VideotexString
-
- Vis ::= VisibleString
-
- IA5 ::= IA5String
-
- Grs ::= GraphicString
-
- ODesc ::= ObjectDescriptor
-
- ODescSeq ::= SEQUENCE {
- o ObjectDescriptor OPTIONAL,
- i INTEGER
- }
-
- Ges ::= GeneralString
-
- Us ::= UniversalString
- UsCon ::= [70] UniversalString
- UsExpCon ::= [71] EXPLICIT UniversalString
-
- BMP ::= BMPString
-
- Gt ::= GeneralizedTime
-
- UTC ::= UTCTime
-
- UTF ::= UTF8String
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-CommonDataTypes.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-CommonDataTypes.asn1
deleted file mode 100644
index ff5357f000..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-CommonDataTypes.asn1
+++ /dev/null
@@ -1,45 +0,0 @@
--- RANAP-CommonDataTypes.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.5 Common Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
-RANAP-CommonDataTypes {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-CommonDataTypes (3) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..65535),
- global OBJECT IDENTIFIER
-}
-
-ProcedureCode ::= INTEGER (0..255)
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-ProtocolIE-ID ::= INTEGER (0..65535)
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome }
-
-END
-
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-Constants.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-Constants.asn1
deleted file mode 100644
index c8df218b29..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-Constants.asn1
+++ /dev/null
@@ -1,355 +0,0 @@
--- RANAP-Constants.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.6 Constant Definitions
---
--- $Id$
---
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
-RANAP-Constants {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Constants (4) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-RAB-Assignment INTEGER ::= 0
-id-Iu-Release INTEGER ::= 1
-id-RelocationPreparation INTEGER ::= 2
-id-RelocationResourceAllocation INTEGER ::= 3
-id-RelocationCancel INTEGER ::= 4
-id-SRNS-ContextTransfer INTEGER ::= 5
-id-SecurityModeControl INTEGER ::= 6
-id-DataVolumeReport INTEGER ::= 7
-id-Reset INTEGER ::= 9
-id-RAB-ReleaseRequest INTEGER ::= 10
-id-Iu-ReleaseRequest INTEGER ::= 11
-id-RelocationDetect INTEGER ::= 12
-id-RelocationComplete INTEGER ::= 13
-id-Paging INTEGER ::= 14
-id-CommonID INTEGER ::= 15
-id-CN-InvokeTrace INTEGER ::= 16
-id-LocationReportingControl INTEGER ::= 17
-id-LocationReport INTEGER ::= 18
-id-InitialUE-Message INTEGER ::= 19
-id-DirectTransfer INTEGER ::= 20
-id-OverloadControl INTEGER ::= 21
-id-ErrorIndication INTEGER ::= 22
-id-SRNS-DataForward INTEGER ::= 23
-id-ForwardSRNS-Context INTEGER ::= 24
-id-privateMessage INTEGER ::= 25
-id-CN-DeactivateTrace INTEGER ::= 26
-id-ResetResource INTEGER ::= 27
-id-RANAP-Relocation INTEGER ::= 28
-id-RAB-ModifyRequest INTEGER ::= 29
-id-LocationRelatedData INTEGER ::= 30
-id-InformationTransfer INTEGER ::= 31
-id-UESpecificInformation INTEGER ::= 32
-id-UplinkInformationExchange INTEGER ::= 33
-id-DirectInformationTransfer INTEGER ::= 34
-id-MBMSSessionStart INTEGER ::= 35
-id-MBMSSessionUpdate INTEGER ::= 36
-id-MBMSSessionStop INTEGER ::= 37
-id-MBMSUELinking INTEGER ::= 38
-id-MBMSRegistration INTEGER ::= 39
-id-MBMSCNDe-Registration-Procedure INTEGER ::= 40
-id-MBMSRABEstablishmentIndication INTEGER ::= 41
-id-MBMSRABRelease INTEGER ::= 42
-id-enhancedRelocationComplete INTEGER ::= 43
-id-enhancedRelocationCompleteConfirm INTEGER ::= 44
-id-RANAPenhancedRelocation INTEGER ::= 45
-id-SRVCCPreparation INTEGER ::= 256
-
-
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
-
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfDTs INTEGER ::= 15
-maxNrOfErrors INTEGER ::= 256
-maxNrOfIuSigConIds INTEGER ::= 250
-maxNrOfPDPDirections INTEGER ::= 2
-maxNrOfPoints INTEGER ::= 15
-maxNrOfRABs INTEGER ::= 256
-maxNrOfSeparateTrafficDirections INTEGER ::= 2
-maxNrOfSRBs INTEGER ::= 8
-maxNrOfVol INTEGER ::= 2
-maxNrOfLevels INTEGER ::= 256
-maxNrOfAltValues INTEGER ::= 16
-maxNrOfPLMNsSN INTEGER ::= 32
-maxNrOfLAs INTEGER ::= 65536
-maxNrOfSNAs INTEGER ::= 65536
-maxNrOfUEsToBeTraced INTEGER ::= 64
-maxNrOfInterfaces INTEGER ::= 16
-maxRAB-Subflows INTEGER ::= 7
-maxRAB-SubflowCombination INTEGER ::= 64
-maxSet INTEGER ::= 9
-maxNrOfHSDSCHMACdFlows-1 INTEGER ::= 7
-maxnoofMulticastServicesPerUE INTEGER ::= 128
-maxnoofMulticastServicesPerRNC INTEGER ::= 512
-maxMBMSSA INTEGER ::= 256
-maxMBMSRA INTEGER ::= 65536
-maxNrOfEDCHMACdFlows-1 INTEGER ::= 7
-maxGANSSSet INTEGER ::= 9
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-AreaIdentity INTEGER ::= 0
-id-CN-DomainIndicator INTEGER ::= 3
-id-Cause INTEGER ::= 4
-id-ChosenEncryptionAlgorithm INTEGER ::= 5
-id-ChosenIntegrityProtectionAlgorithm INTEGER ::= 6
-id-ClassmarkInformation2 INTEGER ::= 7
-id-ClassmarkInformation3 INTEGER ::= 8
-id-CriticalityDiagnostics INTEGER ::= 9
-id-DL-GTP-PDU-SequenceNumber INTEGER ::= 10
-id-EncryptionInformation INTEGER ::= 11
-id-IntegrityProtectionInformation INTEGER ::= 12
-id-IuTransportAssociation INTEGER ::= 13
-id-L3-Information INTEGER ::= 14
-id-LAI INTEGER ::= 15
-id-NAS-PDU INTEGER ::= 16
-id-NonSearchingIndication INTEGER ::= 17
-id-NumberOfSteps INTEGER ::= 18
-id-OMC-ID INTEGER ::= 19
-id-OldBSS-ToNewBSS-Information INTEGER ::= 20
-id-PagingAreaID INTEGER ::= 21
-id-PagingCause INTEGER ::= 22
-id-PermanentNAS-UE-ID INTEGER ::= 23
-id-RAB-ContextItem INTEGER ::= 24
-id-RAB-ContextList INTEGER ::= 25
-id-RAB-DataForwardingItem INTEGER ::= 26
-id-RAB-DataForwardingItem-SRNS-CtxReq INTEGER ::= 27
-id-RAB-DataForwardingList INTEGER ::= 28
-id-RAB-DataForwardingList-SRNS-CtxReq INTEGER ::= 29
-id-RAB-DataVolumeReportItem INTEGER ::= 30
-id-RAB-DataVolumeReportList INTEGER ::= 31
-id-RAB-DataVolumeReportRequestItem INTEGER ::= 32
-id-RAB-DataVolumeReportRequestList INTEGER ::= 33
-id-RAB-FailedItem INTEGER ::= 34
-id-RAB-FailedList INTEGER ::= 35
-id-RAB-ID INTEGER ::= 36
-id-RAB-QueuedItem INTEGER ::= 37
-id-RAB-QueuedList INTEGER ::= 38
-id-RAB-ReleaseFailedList INTEGER ::= 39
-id-RAB-ReleaseItem INTEGER ::= 40
-id-RAB-ReleaseList INTEGER ::= 41
-id-RAB-ReleasedItem INTEGER ::= 42
-id-RAB-ReleasedList INTEGER ::= 43
-id-RAB-ReleasedList-IuRelComp INTEGER ::= 44
-id-RAB-RelocationReleaseItem INTEGER ::= 45
-id-RAB-RelocationReleaseList INTEGER ::= 46
-id-RAB-SetupItem-RelocReq INTEGER ::= 47
-id-RAB-SetupItem-RelocReqAck INTEGER ::= 48
-id-RAB-SetupList-RelocReq INTEGER ::= 49
-id-RAB-SetupList-RelocReqAck INTEGER ::= 50
-id-RAB-SetupOrModifiedItem INTEGER ::= 51
-id-RAB-SetupOrModifiedList INTEGER ::= 52
-id-RAB-SetupOrModifyItem INTEGER ::= 53
-id-RAB-SetupOrModifyList INTEGER ::= 54
-id-RAC INTEGER ::= 55
-id-RelocationType INTEGER ::= 56
-id-RequestType INTEGER ::= 57
-id-SAI INTEGER ::= 58
-id-SAPI INTEGER ::= 59
-id-SourceID INTEGER ::= 60
-id-Source-ToTarget-TransparentContainer INTEGER ::= 61
-id-TargetID INTEGER ::= 62
-id-Target-ToSource-TransparentContainer INTEGER ::= 63
-id-TemporaryUE-ID INTEGER ::= 64
-id-TraceReference INTEGER ::= 65
-id-TraceType INTEGER ::= 66
-id-TransportLayerAddress INTEGER ::= 67
-id-TriggerID INTEGER ::= 68
-id-UE-ID INTEGER ::= 69
-id-UL-GTP-PDU-SequenceNumber INTEGER ::= 70
-id-RAB-FailedtoReportItem INTEGER ::= 71
-id-RAB-FailedtoReportList INTEGER ::= 72
-id-KeyStatus INTEGER ::= 75
-id-DRX-CycleLengthCoefficient INTEGER ::= 76
-id-IuSigConIdList INTEGER ::= 77
-id-IuSigConIdItem INTEGER ::= 78
-id-IuSigConId INTEGER ::= 79
-id-DirectTransferInformationItem-RANAP-RelocInf INTEGER ::= 80
-id-DirectTransferInformationList-RANAP-RelocInf INTEGER ::= 81
-id-RAB-ContextItem-RANAP-RelocInf INTEGER ::= 82
-id-RAB-ContextList-RANAP-RelocInf INTEGER ::= 83
-id-RAB-ContextFailedtoTransferItem INTEGER ::= 84
-id-RAB-ContextFailedtoTransferList INTEGER ::= 85
-id-GlobalRNC-ID INTEGER ::= 86
-id-RAB-ReleasedItem-IuRelComp INTEGER ::= 87
-id-MessageStructure INTEGER ::= 88
-id-Alt-RAB-Parameters INTEGER ::= 89
-id-Ass-RAB-Parameters INTEGER ::= 90
-id-RAB-ModifyList INTEGER ::= 91
-id-RAB-ModifyItem INTEGER ::= 92
-id-TypeOfError INTEGER ::= 93
-id-BroadcastAssistanceDataDecipheringKeys INTEGER ::= 94
-id-LocationRelatedDataRequestType INTEGER ::= 95
-id-GlobalCN-ID INTEGER ::= 96
-id-LastKnownServiceArea INTEGER ::= 97
-id-SRB-TrCH-Mapping INTEGER ::= 98
-id-InterSystemInformation-TransparentContainer INTEGER ::= 99
-id-NewBSS-To-OldBSS-Information INTEGER ::= 100
-id-SourceRNC-PDCP-context-info INTEGER ::= 103
-id-InformationTransferID INTEGER ::= 104
-id-SNA-Access-Information INTEGER ::= 105
-id-ProvidedData INTEGER ::= 106
-id-GERAN-BSC-Container INTEGER ::= 107
-id-GERAN-Classmark INTEGER ::= 108
-id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item INTEGER ::= 109
-id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse INTEGER ::= 110
-id-VerticalAccuracyCode INTEGER ::= 111
-id-ResponseTime INTEGER ::= 112
-id-PositioningPriority INTEGER ::= 113
-id-ClientType INTEGER ::= 114
-id-LocationRelatedDataRequestTypeSpecificToGERANIuMode INTEGER ::= 115
-id-SignallingIndication INTEGER ::= 116
-id-hS-DSCH-MAC-d-Flow-ID INTEGER ::= 117
-id-UESBI-Iu INTEGER ::= 118
-id-PositionData INTEGER ::= 119
-id-PositionDataSpecificToGERANIuMode INTEGER ::= 120
-id-CellLoadInformationGroup INTEGER ::= 121
-id-AccuracyFulfilmentIndicator INTEGER ::= 122
-id-InformationTransferType INTEGER ::= 123
-id-TraceRecordingSessionInformation INTEGER ::= 124
-id-TracePropagationParameters INTEGER ::= 125
-id-InterSystemInformationTransferType INTEGER ::= 126
-id-SelectedPLMN-ID INTEGER ::= 127
-id-RedirectionCompleted INTEGER ::= 128
-id-RedirectionIndication INTEGER ::= 129
-id-NAS-SequenceNumber INTEGER ::= 130
-id-RejectCauseValue INTEGER ::= 131
-id-APN INTEGER ::= 132
-id-CNMBMSLinkingInformation INTEGER ::= 133
-id-DeltaRAListofIdleModeUEs INTEGER ::= 134
-id-FrequenceLayerConvergenceFlag INTEGER ::= 135
-id-InformationExchangeID INTEGER ::= 136
-id-InformationExchangeType INTEGER ::= 137
-id-InformationRequested INTEGER ::= 138
-id-InformationRequestType INTEGER ::= 139
-id-IPMulticastAddress INTEGER ::= 140
-id-JoinedMBMSBearerServicesList INTEGER ::= 141
-id-LeftMBMSBearerServicesList INTEGER ::= 142
-id-MBMSBearerServiceType INTEGER ::= 143
-id-MBMSCNDe-Registration INTEGER ::= 144
-id-MBMSServiceArea INTEGER ::= 145
-id-MBMSSessionDuration INTEGER ::= 146
-id-MBMSSessionIdentity INTEGER ::= 147
-id-PDP-TypeInformation INTEGER ::= 148
-id-RAB-Parameters INTEGER ::= 149
-id-RAListofIdleModeUEs INTEGER ::= 150
-id-MBMSRegistrationRequestType INTEGER ::= 151
-id-SessionUpdateID INTEGER ::= 152
-id-TMGI INTEGER ::= 153
-id-TransportLayerInformation INTEGER ::= 154
-id-UnsuccessfulLinkingList INTEGER ::= 155
-id-MBMSLinkingInformation INTEGER ::= 156
-id-MBMSSessionRepetitionNumber INTEGER ::= 157
-id-AlternativeRABConfiguration INTEGER ::= 158
-id-AlternativeRABConfigurationRequest INTEGER ::= 159
-id-E-DCH-MAC-d-Flow-ID INTEGER ::= 160
-id-SourceBSS-ToTargetBSS-TransparentContainer INTEGER ::= 161
-id-TargetBSS-ToSourceBSS-TransparentContainer INTEGER ::= 162
-id-TimeToMBMSDataTransfer INTEGER ::= 163
-id-IncludeVelocity INTEGER ::= 164
-id-VelocityEstimate INTEGER ::= 165
-id-RedirectAttemptFlag INTEGER ::= 166
-id-RAT-Type INTEGER ::= 167
-id-PeriodicLocationInfo INTEGER ::= 168
-id-MBMSCountingInformation INTEGER ::= 169
-id-170-not-to-be-used-for-IE-ids INTEGER ::= 170
-id-ExtendedRNC-ID INTEGER ::= 171
-id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf INTEGER ::= 172
-id-Alt-RAB-Parameter-ExtendedMaxBitrateInf INTEGER ::= 173
-id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 174
-id-Ass-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 175
-id-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 176
-id-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 177
-id-Requested-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 178
-id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 179
-id-LAofIdleModeUEs INTEGER ::= 180
-id-newLAListofIdleModeUEs INTEGER ::= 181
-id-LAListwithNoIdleModeUEsAnyMore INTEGER ::= 182
-id-183-not-to-be-used-for-IE-ids INTEGER ::= 183
-id-GANSS-PositioningDataSet INTEGER ::= 184
-id-RequestedGANSSAssistanceData INTEGER ::= 185
-id-BroadcastGANSSAssistanceDataDecipheringKeys INTEGER ::= 186
-id-d-RNTI-for-NoIuCSUP INTEGER ::= 187
-id-RAB-SetupList-EnhancedRelocCompleteReq INTEGER ::= 188
-id-RAB-SetupItem-EnhancedRelocCompleteReq INTEGER ::= 189
-id-RAB-SetupList-EnhancedRelocCompleteRes INTEGER ::= 190
-id-RAB-SetupItem-EnhancedRelocCompleteRes INTEGER ::= 191
-id-RAB-SetupList-EnhRelocInfoReq INTEGER ::= 192
-id-RAB-SetupItem-EnhRelocInfoReq INTEGER ::= 193
-id-RAB-SetupList-EnhRelocInfoRes INTEGER ::= 194
-id-RAB-SetupItem-EnhRelocInfoRes INTEGER ::= 195
-id-OldIuSigConId INTEGER ::= 196
-id-RAB-FailedList-EnhRelocInfoRes INTEGER ::= 197
-id-RAB-FailedItem-EnhRelocInfoRes INTEGER ::= 198
-id-Global-ENB-ID INTEGER ::= 199
-id-UE-History-Information INTEGER ::= 200
-id-MBMSSynchronisationInformation INTEGER ::= 201
-id-SubscriberProfileIDforRFP INTEGER ::= 202
-id-CSG-Id INTEGER ::= 203
-id-OldIuSigConIdCS INTEGER ::= 204
-id-OldIuSigConIdPS INTEGER ::= 205
-id-GlobalCN-IDCS INTEGER ::= 206
-id-GlobalCN-IDPS INTEGER ::= 207
-id-SourceExtendedRNC-ID INTEGER ::= 208
-id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes INTEGER ::= 209
-id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes INTEGER ::= 210
-id-SourceRNC-ID INTEGER ::= 211
-id-Relocation-TargetRNC-ID INTEGER ::= 212
-id-Relocation-TargetExtendedRNC-ID INTEGER ::= 213
-id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf INTEGER ::= 214
-id-Alt-RAB-Parameter-SupportedMaxBitrateInf INTEGER ::= 215
-id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 216
-id-Ass-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 217
-id-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 218
-id-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 219
-id-Requested-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 220
-id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 221
-id-Relocation-SourceRNC-ID INTEGER ::= 222
-id-Relocation-SourceExtendedRNC-ID INTEGER ::= 223
-id-EncryptionKey INTEGER ::= 224
-id-IntegrityProtectionKey INTEGER ::= 225
-id-SRVCC-HO-Indication INTEGER ::= 226
-id-SRVCC-Information INTEGER ::= 227
-id-SRVCC-Operation-Possible INTEGER ::= 228
-
-END
-
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-Containers.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-Containers.asn1
deleted file mode 100644
index 5168fa6917..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-Containers.asn1
+++ /dev/null
@@ -1,206 +0,0 @@
--- RANAP-Containers.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.7 Container Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
-RANAP-Containers {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Containers (5) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- Presence,
- PrivateIE-ID,
- ProtocolExtensionID,
- ProtocolIE-ID
-FROM RANAP-CommonDataTypes
-
- maxPrivateIEs,
- maxProtocolExtensions,
- maxProtocolIEs
-FROM RANAP-Constants;
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-RANAP-PROTOCOL-IES ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-RANAP-PROTOCOL-IES-PAIR ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &firstCriticality Criticality,
- &FirstValue,
- &secondCriticality Criticality,
- &SecondValue,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- FIRST CRITICALITY &firstCriticality
- FIRST TYPE &FirstValue
- SECOND CRITICALITY &secondCriticality
- SECOND TYPE &SecondValue
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol Extensions
---
--- **************************************************************
-
-RANAP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolExtensionID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Private IEs
---
--- **************************************************************
-
-RANAP-PRIVATE-IES ::= CLASS {
- &id PrivateIE-ID,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Container for Protocol IEs
---
--- **************************************************************
-
-ProtocolIE-Container {RANAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality RANAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Protocol IE Pairs
---
--- **************************************************************
-
-ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-FieldPair {{IEsSetParam}}
-
-ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
- firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
- firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
- secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
- secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-Container {{IEsSetParam}}
-
-ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-ContainerPair {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Private IEs
---
--- **************************************************************
-
-PrivateIE-Container {RANAP-PRIVATE-IES : IEsSetParam } ::=
- SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
- PrivateIE-Field {{IEsSetParam}}
-
-PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
- id RANAP-PRIVATE-IES.&id ({IEsSetParam}),
- criticality RANAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
- value RANAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
-}
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-IEs.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-IEs.asn1
deleted file mode 100644
index 351dad436b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-IEs.asn1
+++ /dev/null
@@ -1,2081 +0,0 @@
--- RANAP-IEs.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.4 Information Element Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
-RANAP-IEs {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-IEs (2) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- maxNrOfErrors,
- maxNrOfPDPDirections,
- maxNrOfPoints,
- maxNrOfRABs,
- maxNrOfSRBs,
- maxNrOfSeparateTrafficDirections,
- maxRAB-Subflows,
- maxRAB-SubflowCombination,
- maxNrOfLevels,
- maxNrOfAltValues,
- maxNrOfSNAs,
- maxNrOfLAs,
- maxNrOfPLMNsSN,
- maxSet,
- maxNrOfHSDSCHMACdFlows-1,
- maxNrOfUEsToBeTraced,
- maxNrOfInterfaces,
- maxnoofMulticastServicesPerRNC,
- maxMBMSSA,
- maxMBMSRA,
- maxnoofMulticastServicesPerUE,
- maxNrOfEDCHMACdFlows-1,
- maxGANSSSet,
-
- id-CN-DomainIndicator,
- id-MessageStructure,
- id-SRB-TrCH-Mapping,
- id-TypeOfError,
- id-hS-DSCH-MAC-d-Flow-ID,
- id-SignallingIndication,
- id-CellLoadInformationGroup,
- id-TraceRecordingSessionInformation,
- id-MBMSLinkingInformation,
- id-AlternativeRABConfiguration,
- id-AlternativeRABConfigurationRequest,
- id-E-DCH-MAC-d-Flow-ID,
- id-RAC,
- id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf,
- id-Alt-RAB-Parameter-ExtendedMaxBitrateInf,
- id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList,
- id-Ass-RAB-Parameter-ExtendedMaxBitrateList,
- id-RAB-Parameter-ExtendedGuaranteedBitrateList,
- id-RAB-Parameter-ExtendedMaxBitrateList,
- id-Requested-RAB-Parameter-ExtendedMaxBitrateList,
- id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList,
- id-LAofIdleModeUEs,
- id-newLAListofIdleModeUEs,
- id-LAListwithNoIdleModeUEsAnyMore,
- id-ExtendedRNC-ID,
- id-GANSS-PositioningDataSet,
- id-d-RNTI-for-NoIuCSUP,
- id-UE-History-Information,
- id-SubscriberProfileIDforRFP,
- id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf,
- id-Alt-RAB-Parameter-SupportedMaxBitrateInf,
- id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList,
- id-Ass-RAB-Parameter-SupportedMaxBitrateList,
- id-RAB-Parameter-SupportedGuaranteedBitrateList,
- id-RAB-Parameter-SupportedMaxBitrateList,
- id-Requested-RAB-Parameter-SupportedMaxBitrateList,
- id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList
-
-
-FROM RANAP-Constants
-
- Criticality,
- ProcedureCode,
- ProtocolIE-ID,
- TriggeringMessage
-FROM RANAP-CommonDataTypes
-
- ProtocolExtensionContainer{},
- RANAP-PROTOCOL-EXTENSION
-FROM RANAP-Containers;
-
--- A
-
-AccuracyFulfilmentIndicator ::= ENUMERATED{
- requested-Accuracy-Fulfilled,
- requested-Accuracy-Not-Fulfilled,
- ...
-}
-
-AllocationOrRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
- queuingAllowed QueuingAllowed,
- iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Alt-RAB-Parameters ::= SEQUENCE {
- altMaxBitrateInf Alt-RAB-Parameter-MaxBitrateInf OPTIONAL,
- altGuaranteedBitRateInf Alt-RAB-Parameter-GuaranteedBitrateInf OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {Alt-RAB-Parameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-Alt-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to indicate an alternative RAB configuration --
- { ID id-AlternativeRABConfiguration CRITICALITY ignore EXTENSION RAB-Parameters PRESENCE optional }|
--- Extension for Release 7 to indicate an alternative list of Extended Guaranteed Bitrates --
-{ ID id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf PRESENCE optional }|
--- Extension for Release 7 to indicate an alternative list of Extended Maximum Bitrates --
-{ ID id-Alt-RAB-Parameter-ExtendedMaxBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedMaxBitrateInf PRESENCE optional }|
--- Extension for Release 8 to indicate an alternative list of Supported Maximum Bitrates --
-{ ID id-Alt-RAB-Parameter-SupportedMaxBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedMaxBitrateInf PRESENCE optional }|
--- Extension for Release 8 to indicate an alternative list of Supported Guaranteed Bitrates --
-{ ID id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedGuaranteedBitrateInf PRESENCE optional },
- ...
-}
-
-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf ::= SEQUENCE {
- altExtendedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType,
- altExtendedGuaranteedBitrates Alt-RAB-Parameter-ExtendedGuaranteedBitrates OPTIONAL
- -- This IE shall be present if the Type of Extended Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- ...
-}
-
-Alt-RAB-Parameter-ExtendedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- Alt-RAB-Parameter-ExtendedGuaranteedBitrateList
-
-Alt-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
-
-Alt-RAB-Parameter-GuaranteedBitrateInf ::= SEQUENCE {
- altGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType,
- altGuaranteedBitrates Alt-RAB-Parameter-GuaranteedBitrates OPTIONAL
- -- This IE shall be present if the Type of Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- ...
-}
-
-Alt-RAB-Parameter-GuaranteedBitrateType ::= ENUMERATED{
- unspecified,
- value-range,
- discrete-values,
- ...
-}
-
-Alt-RAB-Parameter-GuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- Alt-RAB-Parameter-GuaranteedBitrateList
-
-
-Alt-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
-
-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf ::= SEQUENCE {
- altSupportedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType,
- altSupportedGuaranteedBitrates Alt-RAB-Parameter-SupportedGuaranteedBitrates OPTIONAL
- -- This IE shall be present if the Type of Supported Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs} } OPTIONAL,
- ...
-}
-
-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-...
-}
-
-Alt-RAB-Parameter-SupportedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- SupportedRAB-ParameterBitrateList
-
-
-Alt-RAB-Parameter-ExtendedMaxBitrateInf ::= SEQUENCE {
- altExtendedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType,
- altExtendedMaxBitrates Alt-RAB-Parameter-ExtendedMaxBitrates OPTIONAL
- -- This IE shall be present if the Type of Extended Alternative Maximum Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- ...
-}
-
-Alt-RAB-Parameter-ExtendedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- Alt-RAB-Parameter-ExtendedMaxBitrateList
-
-Alt-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
-
-Alt-RAB-Parameter-MaxBitrateInf ::= SEQUENCE {
- altMaxBitrateType Alt-RAB-Parameter-MaxBitrateType,
- altMaxBitrates Alt-RAB-Parameter-MaxBitrates OPTIONAL
- -- This IE shall be present if the Type of Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- ...
-}
-
-Alt-RAB-Parameter-MaxBitrateType ::= ENUMERATED{
- unspecified,
- value-range,
- discrete-values,
- ...
-}
-
-Alt-RAB-Parameter-MaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- Alt-RAB-Parameter-MaxBitrateList
-
-
-Alt-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
-
-
-Alt-RAB-Parameter-SupportedMaxBitrateInf ::= SEQUENCE {
- altSupportedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType,
- altSupportedMaxBitrates Alt-RAB-Parameter-SupportedMaxBitrates OPTIONAL
- -- This IE shall be present if the Type of Supported Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --,
- iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs} } OPTIONAL,
-...
-}
-
-Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-...
-}
-
-
-Alt-RAB-Parameter-SupportedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
- SupportedRAB-ParameterBitrateList
-
-AlternativeRABConfigurationRequest ::= ENUMERATED{
- alternative-RAB-configuration-Requested,
- ...
-}
-
-APN ::= OCTET STRING (SIZE (1..255))
--- Reference: 23.003
-
-AreaIdentity ::= CHOICE {
- sAI SAI,
- geographicalArea GeographicalArea,
- ...
-}
-
-Ass-RAB-Parameters ::= SEQUENCE {
- assMaxBitrateInf Ass-RAB-Parameter-MaxBitrateList OPTIONAL,
- assGuaranteedBitRateInf Ass-RAB-Parameter-GuaranteedBitrateList OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {Ass-RAB-Parameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-Ass-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate an extended assigned Guaranteed Bitrate --
- { ID id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }|
--- Extension for Release 7 to indicate an extended assigned Maximum Bitrate --
- { ID id-Ass-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }|
--- Extension for Release 8 to indicate an supported assigned Maximum Bitrate --
- { ID id-Ass-RAB-Parameter-SupportedMaxBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }|
--- Extension for Release 8 to indicate an supported assigned Guaranteed Bitrate --
- { ID id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional },
- ...
-}
-
-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
-
-Ass-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
-
-
-Ass-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
-
-
-Ass-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
-
-AuthorisedPLMNs ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF
- SEQUENCE {
- pLMNidentity PLMNidentity,
- authorisedSNAsList AuthorisedSNAs OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {AuthorisedPLMNs-ExtIEs} } OPTIONAL,
- ...
- }
-
-AuthorisedPLMNs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AuthorisedSNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC
-
-
--- B
-
-BindingID ::= OCTET STRING (SIZE (4))
-
-BroadcastAssistanceDataDecipheringKeys ::= SEQUENCE {
- cipheringKeyFlag BIT STRING (SIZE (1)),
- currentDecipheringKey BIT STRING (SIZE (56)),
- nextDecipheringKey BIT STRING (SIZE (56)),
- ...
-}
-
--- C
-
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transmissionNetwork CauseTransmissionNetwork,
- nAS CauseNAS,
- protocol CauseProtocol,
- misc CauseMisc,
- non-Standard CauseNon-Standard,
- ...,
- radioNetworkExtension CauseRadioNetworkExtension
-}
-
-CauseMisc ::= INTEGER {
- om-intervention (113),
- no-resource-available (114),
- unspecified-failure (115),
- network-optimisation (116)
-} (113..128)
-
-CauseNAS ::= INTEGER {
- user-restriction-start-indication (81),
- user-restriction-end-indication (82),
- normal-release (83)
-} (81..96)
-
-CauseProtocol ::= INTEGER {
- transfer-syntax-error (97),
- semantic-error (98),
- message-not-compatible-with-receiver-state (99),
- abstract-syntax-error-reject (100),
- abstract-syntax-error-ignore-and-notify (101),
- abstract-syntax-error-falsely-constructed-message (102)
-} (97..112)
-
-CauseRadioNetwork ::= INTEGER {
- rab-pre-empted (1),
- trelocoverall-expiry (2),
- trelocprep-expiry (3),
- treloccomplete-expiry (4),
- tqueing-expiry (5),
- relocation-triggered (6),
- trellocalloc-expiry(7),
- unable-to-establish-during-relocation (8),
- unknown-target-rnc (9),
- relocation-cancelled (10),
- successful-relocation (11),
- requested-ciphering-and-or-integrity-protection-algorithms-not-supported (12),
- conflict-with-already-existing-integrity-protection-and-or-ciphering-information (13),
- failure-in-the-radio-interface-procedure (14),
- release-due-to-utran-generated-reason (15),
- user-inactivity (16),
- time-critical-relocation (17),
- requested-traffic-class-not-available (18),
- invalid-rab-parameters-value (19),
- requested-maximum-bit-rate-not-available (20),
- requested-guaranteed-bit-rate-not-available (21),
- requested-transfer-delay-not-achievable (22),
- invalid-rab-parameters-combination (23),
- condition-violation-for-sdu-parameters (24),
- condition-violation-for-traffic-handling-priority (25),
- condition-violation-for-guaranteed-bit-rate (26),
- user-plane-versions-not-supported (27),
- iu-up-failure (28),
- relocation-failure-in-target-CN-RNC-or-target-system(29),
- invalid-RAB-ID (30),
- no-remaining-rab (31),
- interaction-with-other-procedure (32),
- requested-maximum-bit-rate-for-dl-not-available (33),
- requested-maximum-bit-rate-for-ul-not-available (34),
- requested-guaranteed-bit-rate-for-dl-not-available (35),
- requested-guaranteed-bit-rate-for-ul-not-available (36),
- repeated-integrity-checking-failure (37),
- requested-request-type-not-supported (38),
- request-superseded (39),
- release-due-to-UE-generated-signalling-connection-release (40),
- resource-optimisation-relocation (41),
- requested-information-not-available (42),
- relocation-desirable-for-radio-reasons (43),
- relocation-not-supported-in-target-RNC-or-target-system (44),
- directed-retry (45),
- radio-connection-with-UE-Lost (46),
- rNC-unable-to-establish-all-RFCs (47),
- deciphering-keys-not-available(48),
- dedicated-assistance-data-not-available(49),
- relocation-target-not-allowed (50),
- location-reporting-congestion (51),
- reduce-load-in-serving-cell (52),
- no-radio-resources-available-in-target-cell (53),
- gERAN-Iumode-failure (54),
- access-restricted-due-to-shared-networks (55),
- incoming-relocation-not-supported-due-to-PUESBINE-feature (56),
- traffic-load-in-the-target-cell-higher-than-in-the-source-cell (57),
- mBMS-no-multicast-service-for-this-UE(58),
- mBMS-unknown-UE-ID(59),
- successful-MBMS-session-start-no-data-bearer-necessary(60),
- mBMS-superseded-due-to-NNSF(61),
- mBMS-UE-linking-already-done(62),
- mBMS-UE-de-linking-failure-no-existing-UE-linking(63),
- tMGI-unknown(64)
-} (1..64)
-
-CauseRadioNetworkExtension ::= INTEGER {
- iP-multicast-address-and-APN-not-valid(257),
- mBMS-de-registration-rejected-due-to-implicit-registration(258),
- mBMS-request-superseded(259),
- mBMS-de-registration-during-session-not-allowed(260),
- mBMS-no-data-bearer-necessary(261),
- periodicLocationInformationNotAvailable(262),
- gTP-Resources-Unavailable(263),
- tMGI-inUse-overlapping-MBMS-service-area(264),
- mBMS-no-cell-in-MBMS-service-area(265),
- no-Iu-CS-UP-relocation(266),
- successful-MBMS-Session-Start-IP-Multicast-Bearer-established(267),
- cS-fallback-triggered(268)
-} (257..512)
-
-CauseNon-Standard ::= INTEGER (129..256)
--- Cause value 256 shall not be used --
-
-CauseTransmissionNetwork ::= INTEGER {
- signalling-transport-resource-failure (65),
- iu-transport-connection-failed-to-establish (66)
-} (65..80)
-
-Cell-Capacity-Class-Value ::= INTEGER (1..100,...)
-
-CellLoadInformation ::= SEQUENCE {
- cell-Capacity-Class-Value Cell-Capacity-Class-Value,
- loadValue LoadValue,
- rTLoadValue RTLoadValue OPTIONAL,
- nRTLoadInformationValue NRTLoadInformationValue OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CellLoadInformation-ExtIEs } } OPTIONAL,
- ...
-}
-
-CellLoadInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellLoadInformationGroup ::= SEQUENCE {
- sourceCellID SourceCellID,
- uplinkCellLoadInformation CellLoadInformation OPTIONAL,
- downlinkCellLoadInformation CellLoadInformation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CellLoadInformationGroup-ExtIEs } } OPTIONAL,
- ...
-}
-
-CellLoadInformationGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellType ::= ENUMERATED{
- macro,
- micro,
- pico,
- femto,
- ...
-}
-
-ClientType ::= ENUMERATED {
- emergency-Services,
- value-Added-Services,
- pLMN-Operator-Services,
- lawful-Intercept-Services,
- pLMN-Operator-Broadcast-Services,
- pLMN-Operator-O-et-M,
- pLMN-Operator-Anonymous-Statistics,
- pLMN-Operator-Target-MS-Service-Support,
- ...
-}
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureCode ProcedureCode OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- procedureCriticality Criticality OPTIONAL,
- iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
- SEQUENCE {
- iECriticality Criticality,
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber0 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
- ...
- }
-
-CriticalityDiagnostics-IE-List-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 99 to enable reporting the message structure down to the erroneous IE --
- { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional } |
--- Extension for Release 99 to enable reporting if a reported error is due to a not understood or a missing IE --
- { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
- ...
-}
-
-MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
- SEQUENCE {
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber1 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
- ...
- }
-
-MessageStructure-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- cI CI,
- iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL
-}
-
-CGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
- { ID id-RAC CRITICALITY ignore EXTENSION RAC PRESENCE optional },
- ...
-}
-
-ChosenEncryptionAlgorithm ::= EncryptionAlgorithm
-
-ChosenIntegrityProtectionAlgorithm ::= IntegrityProtectionAlgorithm
-
-CI ::= OCTET STRING (SIZE (2))
-
-ClassmarkInformation2 ::= OCTET STRING
-
-ClassmarkInformation3 ::= OCTET STRING
-
-CN-DomainIndicator ::= ENUMERATED {
- cs-domain,
- ps-domain
-}
-
-CN-ID ::= INTEGER (0..4095)
-
-CSG-Id ::= BIT STRING (SIZE (27))
-
-
--- D
-
-DataVolumeReference ::= INTEGER (0..255)
-
-DataVolumeReportingIndication ::= ENUMERATED {
- do-report,
- do-not-report
-}
-
-DCH-ID ::= INTEGER (0..255)
-
-DeliveryOfErroneousSDU ::= ENUMERATED {
- yes,
- no,
- no-error-detection-consideration
-}
-
-DeliveryOrder::= ENUMERATED {
- delivery-order-requested,
- delivery-order-not-requested
-}
-
-DeltaRAListofIdleModeUEs ::= SEQUENCE {
- newRAListofIdleModeUEs NewRAListofIdleModeUEs OPTIONAL,
- rAListwithNoIdleModeUEsAnyMore RAListwithNoIdleModeUEsAnyMore OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {DeltaRAListofIdleModeUEs-ExtIEs} } OPTIONAL
-}
-
-NewRAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
- RAC
-
-RAListwithNoIdleModeUEsAnyMore ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
- RAC
-
-DeltaRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-{ ID id-newLAListofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }|
- -- This IE shall be present if the New RA List of Idle Mode UEs IE is included. --
-{ ID id-LAListwithNoIdleModeUEsAnyMore CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional },
- -- This IE shall be presentif the RA List with No Idle Mode UEs Any More IE is included. --
- ...
-}
-
-ForwardingIndication::=ENUMERATED{
- forwarding-admitted,
- ...
-}
-
-DL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-DL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-D-RNTI ::= INTEGER (0..1048575)
-
-DRX-CycleLengthCoefficient ::= INTEGER (6..9)
-
-DSCH-ID ::= INTEGER (0..255)
-
-
--- E
-
-E-DCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfEDCHMACdFlows-1)
-
-ENB-ID ::= CHOICE {
- macroENB-ID BIT STRING (SIZE(20)),
- homeENB-ID BIT STRING (SIZE(28)),
- ...
-}
-
-Global-ENB-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- eNB-ID ENB-ID,
- iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
- selectedTAI TAI,
- ...
-}
-
-GlobalENB-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1), standard-UMTS-encryption-algorithm-UEA2 (2) } (0..15)
-
-EncryptionInformation ::= SEQUENCE {
- permittedAlgorithms PermittedEncryptionAlgorithms,
- key EncryptionKey,
- iE-Extensions ProtocolExtensionContainer { {EncryptionInformation-ExtIEs} } OPTIONAL
-}
-
-EncryptionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EncryptionKey ::= BIT STRING (SIZE (128))
--- Reference: 33.102
-
-EquipmentsToBeTraced ::= CHOICE {
- iMEIlist IMEIList,
- iMEISVlist IMEISVList,
- iMEIgroup IMEIGroup,
- iMEISVgroup IMEISVGroup,
- ...
-}
-
-Event ::= ENUMERATED {
- stop-change-of-service-area,
- direct,
- change-of-servicearea,
- ...,
- stop-direct,
- periodic,
- stop-periodic
-}
-
-ExtendedGuaranteedBitrate ::= INTEGER (16000001..256000000)
--- Unit is bits per sec
-
-ExtendedMaxBitrate ::= INTEGER (16000001..256000000)
--- Unit is bits per sec
-
-ExtendedRNC-ID ::= INTEGER (4096..65535)
-
--- F
-
-FrequenceLayerConvergenceFlag ::= ENUMERATED {
- no-FLC-flag,
- ...
-}
-
--- G
-
-GANSS-PositioningDataSet ::= SEQUENCE(SIZE(1..maxGANSSSet)) OF GANSS-PositioningMethodAndUsage
-
-GANSS-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
-
-GeographicalArea ::= CHOICE {
- point GA-Point,
- pointWithUnCertainty GA-PointWithUnCertainty,
- polygon GA-Polygon,
- ...,
- pointWithUncertaintyEllipse GA-PointWithUnCertaintyEllipse,
- pointWithAltitude GA-PointWithAltitude,
- pointWithAltitudeAndUncertaintyEllipsoid GA-PointWithAltitudeAndUncertaintyEllipsoid,
- ellipsoidArc GA-EllipsoidArc
-}
-
-GeographicalCoordinates ::= SEQUENCE {
- latitudeSign ENUMERATED { north, south },
- latitude INTEGER (0..8388607),
- longitude INTEGER (-8388608..8388607),
- iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeographicalCoordinates-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-AltitudeAndDirection ::= SEQUENCE {
- directionOfAltitude ENUMERATED {height, depth},
- altitude INTEGER (0..32767),
- ...
-}
-
-GA-EllipsoidArc ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- innerRadius INTEGER (0..65535),
- uncertaintyRadius INTEGER (0..127),
- offsetAngle INTEGER (0..179),
- includedAngle INTEGER (0..179),
- confidence INTEGER (0..127),
- iE-Extensions ProtocolExtensionContainer { { GA-EllipsoidArc-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-EllipsoidArc-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-Point ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-Point-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithAltitude ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- altitudeAndDirection GA-AltitudeAndDirection,
- iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitude-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-PointWithAltitude-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- altitudeAndDirection GA-AltitudeAndDirection,
- uncertaintyEllipse GA-UncertaintyEllipse,
- uncertaintyAltitude INTEGER (0..127),
- confidence INTEGER (0..127),
- iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithUnCertainty ::=SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL,
- uncertaintyCode INTEGER (0..127)
-}
-
-GA-PointWithUnCertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithUnCertaintyEllipse ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- uncertaintyEllipse GA-UncertaintyEllipse,
- confidence INTEGER (0..127),
- iE-Extensions ProtocolExtensionContainer { { GA-PointWithUnCertaintyEllipse-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-PointWithUnCertaintyEllipse-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF
- SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL,
- ...
- }
-
-GA-Polygon-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-UncertaintyEllipse ::= SEQUENCE {
- uncertaintySemi-major INTEGER (0..127),
- uncertaintySemi-minor INTEGER (0..127),
- orientationOfMajorAxis INTEGER (0..179), -- The values 90..179 shall not be used.
- ...
-}
-
-GERAN-BSC-Container ::= OCTET STRING
- -- GERAN BSC Container as defined in [11] --
-
-
-GERAN-Cell-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- cI CI,
- iE-Extensions ProtocolExtensionContainer { {GERAN-Cell-ID-ExtIEs} } OPTIONAL
-}
-
-GERAN-Cell-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GERAN-Classmark ::= OCTET STRING
- -- GERAN Classmark as defined in [11] --
-
-GlobalCN-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- cN-ID CN-ID
-}
-
-
-GlobalRNC-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- rNC-ID RNC-ID
-}
-
-GTP-TEI ::= OCTET STRING (SIZE (4))
-
-GuaranteedBitrate ::= INTEGER (0..16000000)
--- Unit is bits per sec
-
--- H
-
-HS-DSCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfHSDSCHMACdFlows-1)
-
--- I
-
-
-IMEI ::= OCTET STRING (SIZE (8))
--- Reference: 23.003
-
-IMEIGroup ::= SEQUENCE {
- iMEI IMEI,
- iMEIMask BIT STRING (SIZE (7)),
- iE-Extensions ProtocolExtensionContainer { { IMEIGroup-ExtIEs} } OPTIONAL
-}
-
-IMEIGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IMEIList ::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEI
-
-IMEISV ::= OCTET STRING (SIZE (8))
--- Reference: 23.003
-
-IMEISVGroup ::= SEQUENCE {
- iMEISV IMEISV,
- iMEISVMask BIT STRING (SIZE (7)),
- iE-Extensions ProtocolExtensionContainer { { IMEISVGroup-ExtIEs} } OPTIONAL
-}
-
-IMEISVGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IMEISVList ::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEISV
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
--- Reference: 23.003
-
-IncludeVelocity ::= ENUMERATED {
- requested
-}
-
-InformationExchangeID ::= INTEGER (0.. 1048575)
-
-InformationExchangeType ::= ENUMERATED {
- transfer,
- request,
- ...
-}
-
-InformationRequested ::= CHOICE {
- requestedMBMSIPMulticastAddressandAPNRequest RequestedMBMSIPMulticastAddressandAPNRequest,
- requestedMulticastServiceList RequestedMulticastServiceList,
- ...
-}
-
-
-InformationRequestType ::= CHOICE {
- mBMSIPMulticastAddressandAPNRequest MBMSIPMulticastAddressandAPNRequest,
- permanentNAS-UE-ID PermanentNAS-UE-ID,
- ...
-}
-
-InformationTransferID ::= INTEGER (0.. 1048575)
-
-InformationTransferType ::= CHOICE {
- rNCTraceInformation RNCTraceInformation,
- ...
-}
-
-IntegrityProtectionAlgorithm ::= INTEGER {
- standard-UMTS-integrity-algorithm-UIA1 (0), standard-UMTS-integrity-algorithm-UIA2 (1),
- no-value (15)
-} (0..15)
-
-IntegrityProtectionInformation ::= SEQUENCE {
- permittedAlgorithms PermittedIntegrityProtectionAlgorithms,
- key IntegrityProtectionKey,
- iE-Extensions ProtocolExtensionContainer { {IntegrityProtectionInformation-ExtIEs} } OPTIONAL
-}
-
-IntegrityProtectionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IntegrityProtectionKey ::= BIT STRING (SIZE (128))
-
-InterSystemInformationTransferType ::= CHOICE {
- rIM-Transfer RIM-Transfer,
- ...
-}
-
-InterSystemInformation-TransparentContainer ::= SEQUENCE {
- downlinkCellLoadInformation CellLoadInformation OPTIONAL,
- uplinkCellLoadInformation CellLoadInformation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { InterSystemInformation-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-InterSystemInformation-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-...
-}
-
-IPMulticastAddress ::= OCTET STRING (SIZE (4..16))
--- Reference: 23.003
-
-IuSignallingConnectionIdentifier ::= BIT STRING (SIZE (24))
-
-IuTransportAssociation ::= CHOICE {
- gTP-TEI GTP-TEI,
- bindingID BindingID,
- ...
-}
-
--- J
--- K
-
-KeyStatus ::= ENUMERATED {
- old,
- new,
- ...
-}
--- L
-
-LA-LIST ::= SEQUENCE (SIZE (1..maxNrOfLAs)) OF
- SEQUENCE {
- lAC LAC,
- listOF-SNAs ListOF-SNAs,
- iE-Extensions ProtocolExtensionContainer { { LA-LIST-ExtIEs} } OPTIONAL,
- ...
- }
-
-LA-LIST-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LAC ::= OCTET STRING (SIZE (2))
-
-LAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL
-}
-
-LAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LastKnownServiceArea ::= SEQUENCE {
- sAI SAI,
- ageOfSAI INTEGER (0..32767),
- iE-Extensions ProtocolExtensionContainer { {LastKnownServiceArea-ExtIEs} } OPTIONAL,
- ...
-}
-
-LastKnownServiceArea-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LastVisitedUTRANCell-Item ::= SEQUENCE {
- uTRAN-CellID UTRAN-CellID,
- cellType CellType,
- time-UE-StayedInCell Time-UE-StayedInCell,
- iE-Extensions ProtocolExtensionContainer { {LastVisitedUTRANCell-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-LastVisitedUTRANCell-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ListOF-SNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC
-
-ListOfInterfacesToTrace ::= SEQUENCE (SIZE (1..maxNrOfInterfaces)) OF InterfacesToTraceItem
-
-InterfacesToTraceItem ::= SEQUENCE {
- interface ENUMERATED {iu-cs, iu-ps, iur, iub, uu, ...},
- iE-Extensions ProtocolExtensionContainer { {InterfacesToTraceItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-InterfacesToTraceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LoadValue ::= INTEGER (0..100)
-
-LocationRelatedDataRequestType ::= SEQUENCE {
- requestedLocationRelatedDataType RequestedLocationRelatedDataType,
- requestedGPSAssistanceData RequestedGPSAssistanceData OPTIONAL,
- -- This IE shall be present if the Requested Location Related Data Type IE is set to �Dedicated Assistance Data for Assisted GPS� or
- -- `Dedicated Assistance Data for Assisted GPS and GANSS�
- ...
-}
-
-LocationRelatedDataRequestTypeSpecificToGERANIuMode ::= ENUMERATED {
- decipheringKeysEOTD,
- dedicatedMobileAssistedEOTDAssistanceData,
- dedicatedMobileBasedEOTDAssistanceData,
- ...
-}
-
-L3-Information ::= OCTET STRING
-
--- M
-
-MaxBitrate ::= INTEGER (1..16000000)
--- Unit is bits per sec
-
-MaxSDU-Size ::= INTEGER (0..32768)
--- MaxSDU-Size
--- Unit is bit
-
-MBMS-PTP-RAB-ID ::= BIT STRING (SIZE (8))
-
-MBMSBearerServiceType ::= ENUMERATED {
- multicast,
- broadcast,
- ...
-}
-
-MBMSCNDe-Registration ::= ENUMERATED {
- normalsessionstop,
- deregister,
- ...
-}
-
-
-MBMSCountingInformation ::= ENUMERATED {
- counting,
- notcounting,
- ...
-}
-
-MBMSHCIndicator ::= ENUMERATED {
- uncompressed-header,
- compressed-header,
- ...
-}
-
-MBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF
- TMGI
-
-MBMSLinkingInformation ::= ENUMERATED {
- uE-has-joined-multicast-services,
- ...
-}
-
-MBMSRegistrationRequestType ::= ENUMERATED {
- register,
- deregister,
- ...
-}
-
-MBMSServiceArea ::= OCTET STRING
-
-MBMSSessionDuration ::= OCTET STRING (SIZE (3))
-
-
-
-MBMSSessionIdentity ::= OCTET STRING (SIZE (1))
-
-MBMSSessionRepetitionNumber ::= OCTET STRING (SIZE (1))
-
-
--- N
-
-
-NAS-PDU ::= OCTET STRING
-
-NAS-SequenceNumber ::= BIT STRING (SIZE (2))
--- Reference: 24.008
-
-NAS-SynchronisationIndicator ::= BIT STRING (SIZE (4))
-
-NewBSS-To-OldBSS-Information ::= OCTET STRING
-
-NonSearchingIndication ::= ENUMERATED {
- non-searching,
- searching
-}
-
-NRTLoadInformationValue ::= INTEGER (0..3)
-
-NumberOfIuInstances ::= INTEGER (1..2)
-
-NumberOfSteps ::= INTEGER (1..16)
-
--- O
-
-OldBSS-ToNewBSS-Information ::= OCTET STRING
-
-OMC-ID ::= OCTET STRING (SIZE (3..22))
--- Reference: GSM [25]
-
--- P
-
-PagingAreaID ::= CHOICE {
- lAI LAI,
- rAI RAI,
- ...
-}
-
-PagingCause ::= ENUMERATED {
- terminating-conversational-call,
- terminating-streaming-call,
- terminating-interactive-call,
- terminating-background-call,
- terminating-low-priority-signalling,
- ...,
- terminating-high-priority-signalling
-}
-
-PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF
- PDP-Type
-
-PDP-Type ::= ENUMERATED {
- empty,
- ppp,
- osp-ihoss -- this value shall not be used -- ,
- ipv4,
- ipv6,
- ...
-}
-
-PeriodicLocationInfo ::= SEQUENCE {
- reportingAmount INTEGER (1..8639999, ...),
- reportingInterval INTEGER (1..8639999, ...),
- iE-Extensions ProtocolExtensionContainer { { PeriodicLocationInfo-ExtIEs } } OPTIONAL,
- ...
-}
-
-PeriodicLocationInfo-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-PermanentNAS-UE-ID ::= CHOICE {
- iMSI IMSI,
- ...
-}
-
-PermittedEncryptionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
- EncryptionAlgorithm
-
-PermittedIntegrityProtectionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
- IntegrityProtectionAlgorithm
-
-PLMNidentity ::= TBCD-STRING (SIZE (3))
-
-PLMNs-in-shared-network ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF
- SEQUENCE {
- pLMNidentity PLMNidentity,
- lA-LIST LA-LIST,
- iE-Extensions ProtocolExtensionContainer { { PLMNs-in-shared-network-ExtIEs} } OPTIONAL,
- ...
- }
-
-PLMNs-in-shared-network-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PositioningDataDiscriminator ::= BIT STRING (SIZE(4))
-
-PositioningDataSet ::= SEQUENCE(SIZE(1..maxSet)) OF PositioningMethodAndUsage
-
-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
-
-PositioningPriority ::= ENUMERATED {
- high-Priority,
- normal-Priority,
-...
-}
-
-PositionData ::= SEQUENCE {
- positioningDataDiscriminator PositioningDataDiscriminator,
- positioningDataSet PositioningDataSet OPTIONAL,
--- This IE shall be present if the PositioningDataDiscriminator IE is set to the value "0000" --
- iE-Extensions ProtocolExtensionContainer { {PositionData-ExtIEs} } OPTIONAL,
- ...
-}
-
-PositionData-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- { ID id-GANSS-PositioningDataSet CRITICALITY ignore EXTENSION GANSS-PositioningDataSet PRESENCE optional },
- ...
-}
-
-PositionDataSpecificToGERANIuMode ::= OCTET STRING
-
-Pre-emptionCapability ::= ENUMERATED {
- shall-not-trigger-pre-emption,
- may-trigger-pre-emption
-}
-
-Pre-emptionVulnerability ::= ENUMERATED {
- not-pre-emptable,
- pre-emptable
-}
-
-PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
-
-ProvidedData ::= CHOICE {
- shared-network-information Shared-Network-Information,
- ...
-}
-
-P-TMSI ::= OCTET STRING (SIZE (4))
-
--- Q
-
-QueuingAllowed ::= ENUMERATED {
- queueing-not-allowed,
- queueing-allowed
-}
-
--- R
-RAB-AsymmetryIndicator::= ENUMERATED {
- symmetric-bidirectional,
- asymmetric-unidirectional-downlink,
- asymmetric-unidirectional-uplink,
- asymmetric-bidirectional,
- ...
-}
-
-RAB-ID ::= BIT STRING (SIZE (8))
-
-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
-
-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
-
-
-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
---This IE shall be ignored if Supported Guaranteed Bit rate is present--
-
-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
---This IE shall be ignored if Supported Maximum Bit rate is present--
-
-RAB-Parameters ::= SEQUENCE {
- trafficClass TrafficClass,
- rAB-AsymmetryIndicator RAB-AsymmetryIndicator,
- maxBitrate RAB-Parameter-MaxBitrateList,
- guaranteedBitRate RAB-Parameter-GuaranteedBitrateList OPTIONAL
- -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
- deliveryOrder DeliveryOrder,
- maxSDU-Size MaxSDU-Size,
- sDU-Parameters SDU-Parameters,
- transferDelay TransferDelay OPTIONAL
- -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
- trafficHandlingPriority TrafficHandlingPriority OPTIONAL
- -- This IE shall be present the traffic class IE is set to "Interactive" --,
- allocationOrRetentionPriority AllocationOrRetentionPriority OPTIONAL,
- sourceStatisticsDescriptor SourceStatisticsDescriptor OPTIONAL
- -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
- relocationRequirement RelocationRequirement OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-Parameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable indication that Interactive User Plane data is of a signalling nature --
- { ID id-SignallingIndication CRITICALITY ignore EXTENSION SignallingIndication PRESENCE optional }|
--- Extension for Release 7 to indicate an Extended Guaranteed Bitrate --
-{ ID id-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }|
--- Extension for Release 7 to indicate an Extended Maximum Bitrate --
-{ ID id-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }|
--- Extension for Release 8 to indicate an Supported Maximum Bitrate --
-{ ID id-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }|
--- Extension for Release 8 to indicate an Supported Guaranteed Bitrate --
-{ ID id-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional },
- ...
-}
-
-RAB-SubflowCombinationBitRate ::= INTEGER (0..16000000)
-
-RAB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfRABs)) OF
- RAB-TrCH-MappingItem
-
-RAB-TrCH-MappingItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- trCH-ID-List TrCH-ID-List,
- iE-Extensions ProtocolExtensionContainer { { RAB-TrCH-MappingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 99 to enable transfer of RAB Subflow mapping onto Iur transport channel Ids for a given indicated domain --
- { ID id-CN-DomainIndicator CRITICALITY ignore EXTENSION CN-DomainIndicator PRESENCE optional },
- ...
-}
-
-RAC ::= OCTET STRING (SIZE (1))
-
-RAI ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- iE-Extensions ProtocolExtensionContainer { {RAI-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAListofIdleModeUEs ::= CHOICE {
- notEmptyRAListofIdleModeUEs NotEmptyRAListofIdleModeUEs,
- emptyFullRAListofIdleModeUEs ENUMERATED {emptylist,fulllist,...},
- ...
-}
-
-NotEmptyRAListofIdleModeUEs ::= SEQUENCE {
- rAofIdleModeUEs RAofIdleModeUEs,
- iE-Extensions ProtocolExtensionContainer { {NotEmptyRAListofIdleModeUEs-ExtIEs} } OPTIONAL
-}
-
-RAofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
- RAC
-
-NotEmptyRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-{ ID id-LAofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional },
- -- This IE shall be present if the RA of Idle Mode UEs IE is included. --
- ...
-}
-
-LAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
- LAI
-
-RAT-Type ::= ENUMERATED {
- utran,
- geran,
- ...
-}
-
-RateControlAllowed ::= ENUMERATED {
- not-allowed,
- allowed
-}
-
-RedirectAttemptFlag ::= NULL
-
-RedirectionCompleted ::= ENUMERATED {
- redirection-completed,
- ...
-}
-
-RejectCauseValue ::= ENUMERATED {
- pLMN-Not-Allowed,
- location-Area-Not-Allowed,
- roaming-Not-Allowed-In-This-Location-Area,
- no-Suitable-Cell-In-Location-Area,
- gPRS-Services-Not-Allowed-In-This-PLMN,
- cS-PS-coordination-required,
- ...
-}
-
-
-RelocationRequirement ::= ENUMERATED {
- lossless,
- none,
- ...,
- realtime
-}
-
-RelocationType ::= ENUMERATED {
- ue-not-involved,
- ue-involved,
- ...
-}
-
-RepetitionNumber0 ::= INTEGER (0..255)
-
-RepetitionNumber1 ::= INTEGER (1..256)
-
-
-ReportArea ::= ENUMERATED {
- service-area,
- geographical-area,
- ...
-}
-
-RequestedGPSAssistanceData ::= OCTET STRING (SIZE (1 .. 38 ))
- -- gpsAssistanceData as defined in 24.080 --
-
-RequestedGANSSAssistanceData ::= OCTET STRING (SIZE (1 .. 201 ))
- -- ganssAssistanceData as defined in 24.080 --
-
-RequestedLocationRelatedDataType ::= ENUMERATED {
- decipheringKeysUEBasedOTDOA,
- decipheringKeysAssistedGPS,
- dedicatedAssistanceDataUEBasedOTDOA,
- dedicatedAssistanceDataAssistedGPS,
- ...,
--- Release 7 extension elements --
- decipheringKeysAssistedGANSS,
- dedicatedAssistanceDataAssistedGANSS,
- decipheringKeysAssistedGPSandGANSS,
- dedicatedAssistanceDataAssistedGPSandGANSS
-}
-
-RequestedMBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF
- MBMSIPMulticastAddressandAPNlist
-
-MBMSIPMulticastAddressandAPNlist ::= SEQUENCE {
- tMGI TMGI,
- iPMulticastAddress IPMulticastAddress,
- aPN APN,
- iE-Extensions ProtocolExtensionContainer { {MBMSIPMulticastAddressandAPNlist-ExtIEs} } OPTIONAL,
- ...
-}
-
-MBMSIPMulticastAddressandAPNlist-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RequestedMulticastServiceList ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
- TMGI
-
-Requested-RAB-Parameter-Values ::= SEQUENCE {
- requestedMaxBitrates Requested-RAB-Parameter-MaxBitrateList OPTIONAL,
- requestedGuaranteedBitrates Requested-RAB-Parameter-GuaranteedBitrateList OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Requested-RAB-Parameter-Values-ExtIEs} } OPTIONAL,
- ...
-}
-
-Requested-RAB-Parameter-Values-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to enable RNC to request the execution of an alternative RAB configuration --
- { ID id-AlternativeRABConfigurationRequest CRITICALITY ignore EXTENSION AlternativeRABConfigurationRequest PRESENCE optional }|
--- Extension for Release 7 to request an Extended Maximum Bitrate --
- { ID id-Requested-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }|
--- Extension for Release 7 to request an Extended Guaranteed Bitrate --
- { ID id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }|
--- Extension for Release 8 to request an Supported Maximum Bitrate --
- { ID id-Requested-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }|
--- Extension for Release 8 to request an Supported Guaranteed Bitrate --
- { ID id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional },
- ...
-}
-
-Requested-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
-
-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
-
-Requested-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
-
-Requested-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
-
-
-RequestType ::= SEQUENCE {
- event Event,
- reportArea ReportArea,
- accuracyCode INTEGER (0..127) OPTIONAL,
- ...
-}
-
-ResidualBitErrorRatio ::= SEQUENCE {
- mantissa INTEGER (1..9),
- exponent INTEGER (1..8),
- iE-Extensions ProtocolExtensionContainer { {ResidualBitErrorRatio-ExtIEs} } OPTIONAL
-}
--- ResidualBitErrorRatio = mantissa * 10^-exponent
-
-ResidualBitErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResponseTime ::= ENUMERATED {
- lowdelay,
- delaytolerant,
-...
-}
-
-RIMInformation ::= OCTET STRING
-
-RIM-Transfer ::= SEQUENCE {
- rIMInformation RIMInformation,
- rIMRoutingAddress RIMRoutingAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RIM-Transfer-ExtIEs} } OPTIONAL
-}
-
-RIM-Transfer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RIMRoutingAddress ::= CHOICE {
- targetRNC-ID TargetRNC-ID,
- gERAN-Cell-ID GERAN-Cell-ID,
- ...
-}
-
-
-RNC-ID ::= INTEGER (0..4095)
--- RNC-ID ::= BIT STRING (SIZE (12))
--- Harmonized with RNSAP and NBAP definitions
-
-
-RNCTraceInformation::= SEQUENCE {
- traceReference TraceReference,
- traceActivationIndicator ENUMERATED {activated,deactivated},
- equipmentsToBeTraced EquipmentsToBeTraced OPTIONAL,
- -- This IE shall be present if the Trace Activation Indicator IE is set to "Activated".
- iE-Extensions ProtocolExtensionContainer { { RNCTraceInformation-ExtIEs} } OPTIONAL
-}
-
-RNCTraceInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RRC-Container ::= OCTET STRING
-
-RTLoadValue ::= INTEGER (0..100)
-
--- S
-
-SAC ::= OCTET STRING (SIZE (2))
-
-SAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- sAC SAC,
- iE-Extensions ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL
-}
-
-SAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SAPI ::= ENUMERATED {
- sapi-0,
- sapi-3,
- ...
-}
-
-SessionUpdateID ::= INTEGER (0.. 1048575)
-
-Shared-Network-Information ::= SEQUENCE {
- pLMNs-in-shared-network PLMNs-in-shared-network,
- iE-Extensions ProtocolExtensionContainer { {Shared-Network-Information-ExtIEs} } OPTIONAL,
- ...
- }
-
-Shared-Network-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SignallingIndication ::= ENUMERATED {
- signalling,
- ...
-}
-
-SDU-ErrorRatio ::= SEQUENCE {
- mantissa INTEGER (1..9),
- exponent INTEGER (1..6),
- iE-Extensions ProtocolExtensionContainer { {SDU-ErrorRatio-ExtIEs} } OPTIONAL
-}
--- SDU-ErrorRatio = mantissa * 10^-exponent
-
-SDU-ErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-SDU-FormatInformationParameters ::= SEQUENCE (SIZE (1..maxRAB-SubflowCombination)) OF
- SEQUENCE {
- subflowSDU-Size SubflowSDU-Size OPTIONAL,
- rAB-SubflowCombinationBitRate RAB-SubflowCombinationBitRate OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {SDU-FormatInformationParameters-ExtIEs} } OPTIONAL,
- ...
- }
-
-SDU-FormatInformationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SDU-Parameters ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
- SEQUENCE {
- sDU-ErrorRatio SDU-ErrorRatio OPTIONAL
- -- This IE shall be present if the Delivery Of Erroneous SDU IE is set to "Yes" or "No" --,
- residualBitErrorRatio ResidualBitErrorRatio,
- deliveryOfErroneousSDU DeliveryOfErroneousSDU,
- sDU-FormatInformationParameters SDU-FormatInformationParameters OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {SDU-Parameters-ExtIEs} } OPTIONAL,
- ...
- }
-
-SDU-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SNA-Access-Information ::= SEQUENCE {
- authorisedPLMNs AuthorisedPLMNs,
- iE-Extensions ProtocolExtensionContainer { {SNA-Access-Information-ExtIEs} } OPTIONAL,
- ...
- }
-
-SNA-Access-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SNAC ::= INTEGER (0..65535)
-
-Service-Handover ::= ENUMERATED {
- handover-to-GSM-should-be-performed,
- handover-to-GSM-should-not-be-performed,
- handover-to-GSM-shall-not-be-performed,
- ...
-}
-
-Source-ToTarget-TransparentContainer ::= OCTET STRING
--- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system.
--- Note: In the current version of this specification, this IE may either carry the Source RNC to
--- Target RNC Transparent Container or the Source eNB to Target eNB Transparent Container IE as
--- defined in [49]
-
-SourceeNodeB-ToTargeteNodeB-TransparentContainer ::= OCTET STRING
-
-
-SourceCellID ::= CHOICE {
- sourceUTRANCellID SourceUTRANCellID,
- sourceGERANCellID CGI,
- ...
-}
-
-SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
-
-SourceID ::= CHOICE {
- sourceRNC-ID SourceRNC-ID,
- sAI SAI,
- ...
-}
-
-
-SourceRNC-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- rNC-ID RNC-ID,
- iE-Extensions ProtocolExtensionContainer { {SourceRNC-ID-ExtIEs} } OPTIONAL
-}
-
-SourceRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
-SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- numberOfIuInstances NumberOfIuInstances,
- relocationType RelocationType,
- chosenIntegrityProtectionAlgorithm ChosenIntegrityProtectionAlgorithm OPTIONAL,
- integrityProtectionKey IntegrityProtectionKey OPTIONAL,
- chosenEncryptionAlgorithForSignalling ChosenEncryptionAlgorithm OPTIONAL,
- cipheringKey EncryptionKey OPTIONAL,
- chosenEncryptionAlgorithForCS ChosenEncryptionAlgorithm OPTIONAL,
- chosenEncryptionAlgorithForPS ChosenEncryptionAlgorithm OPTIONAL,
- d-RNTI D-RNTI OPTIONAL
- -- This IE shall be present if the Relocation type IE is set to "UE not involved in relocation of SRNS" --,
- targetCellId TargetCellId OPTIONAL
- -- This IE shall be present if the Relocation type IE is set to "UE involved in relocation of SRNS" --,
- rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 99 to enable transfer of SRB mapping onto Iur transport channel Ids --
- { ID id-SRB-TrCH-Mapping CRITICALITY reject EXTENSION SRB-TrCH-Mapping PRESENCE optional }|
--- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- {ID id-CellLoadInformationGroup CRITICALITY ignore EXTENSION CellLoadInformationGroup PRESENCE optional}|
--- Extension for Release 6 to provide Trace Recording Session Information to the Target RNC --
- {ID id-TraceRecordingSessionInformation CRITICALITY ignore EXTENSION TraceRecordingSessionInformation PRESENCE optional}|
--- Extension for Release 6 to indicate to the Target RNC that the UE has activated Multicast Service --
- {ID id-MBMSLinkingInformation CRITICALITY ignore EXTENSION MBMSLinkingInformation PRESENCE optional}|
- {ID id-d-RNTI-for-NoIuCSUP CRITICALITY reject EXTENSION D-RNTI PRESENCE optional}|
- {ID id-UE-History-Information CRITICALITY ignore EXTENSION UE-History-Information PRESENCE optional}|
- {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional},
- ...
-}
-
-SubscriberProfileIDforRFP ::= INTEGER (1..256)
-
-SourceStatisticsDescriptor ::= ENUMERATED {
- speech,
- unknown,
- ...
-}
-
-SupportedRAB-ParameterBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF SupportedBitrate
-
-SupportedBitrate ::= INTEGER (1..1000000000, ...)
--- Unit is bits per sec
-
-SourceUTRANCellID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- iE-Extensions ProtocolExtensionContainer { {SourceUTRANCellID-ExtIEs} } OPTIONAL
-}
-
-SourceUTRANCellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRB-ID ::= INTEGER (1..32)
-
-SRB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfSRBs)) OF
- SRB-TrCH-MappingItem
-
-SRB-TrCH-MappingItem ::= SEQUENCE {
- sRB-ID SRB-ID,
- trCH-ID TrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { SRB-TrCH-MappingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-SRB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRVCC-HO-Indication ::= ENUMERATED {
- ps-and-cs,
- cs-only,
- ...
-}
-
-SRVCC-Information ::= SEQUENCE {
- nonce BIT STRING (SIZE (128)),
- iE-Extensions ProtocolExtensionContainer { { SRVCC-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-SRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRVCC-Operation-Possible ::= ENUMERATED {
- srvcc-possible,
- ...
-}
-
-SubflowSDU-Size ::= INTEGER (0..4095)
--- Unit is bit
-
-
--- T
-TAC ::= OCTET STRING (SIZE (2))
-
-TAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- tAC TAC,
- iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL
-}
-
-TAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-Target-ToSource-TransparentContainer ::= OCTET STRING
--- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system.
--- Note: In the current version of this specification, this IE may either carry the Target RNC to
--- Source RNC Transparent Container or the Target eNB to Source eNB Transparent Container IE as
--- defined in [49]
-
-TargeteNodeB-ToSourceeNodeB-TransparentContainer ::= OCTET STRING
-
-TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING
-
-TargetCellId ::= INTEGER (0..268435455)
-
-TargetID ::= CHOICE {
- targetRNC-ID TargetRNC-ID,
- cGI CGI,
-
- ...,
- targeteNB-ID Global-ENB-ID
-}
-
-
-
-
-TargetRNC-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC OPTIONAL,
- rNC-ID RNC-ID,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL
-}
-
-TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
-TargetRNC-ToSourceRNC-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- d-RNTI D-RNTI OPTIONAL
- -- May be included to allow the triggering of the Relocation Detect procedure from the Iur Interface --,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TBCD-STRING ::= OCTET STRING
-
-TemporaryUE-ID ::= CHOICE {
- tMSI TMSI,
- p-TMSI P-TMSI,
- ...
-}
-
-Time-UE-StayedInCell ::= INTEGER (0..4095)
-
-TimeToMBMSDataTransfer ::= OCTET STRING(SIZE(1))
-
-
-TMGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- serviceID OCTET STRING (SIZE (3)),
- iE-Extensions ProtocolExtensionContainer { {TMGI-ExtIEs} } OPTIONAL
-}
-
-TMGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TMSI ::= OCTET STRING (SIZE (4))
-
-TraceDepth ::= ENUMERATED {
- minimum,
- medium,
- maximum,
- ...
-}
-
-TracePropagationParameters ::= SEQUENCE {
- traceRecordingSessionReference TraceRecordingSessionReference,
- traceDepth TraceDepth,
- listOfInterfacesToTrace ListOfInterfacesToTrace OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { TracePropagationParameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-TracePropagationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TraceRecordingSessionInformation ::= SEQUENCE {
- traceReference TraceReference,
- traceRecordingSessionReference TraceRecordingSessionReference,
- iE-Extensions ProtocolExtensionContainer { { TraceRecordingSessionInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TraceRecordingSessionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TraceRecordingSessionReference ::= INTEGER (0..65535)
-
-TraceReference ::= OCTET STRING (SIZE (2..3))
-
-TraceType ::= OCTET STRING (SIZE (1))
--- Reference: GSM TS 12.08
-
-TrafficClass ::= ENUMERATED {
- conversational,
- streaming,
- interactive,
- background,
- ...
-}
-
-TrafficHandlingPriority ::= INTEGER { spare (0), highest (1), lowest (14), no-priority-used (15) } (0..15)
-
-TransferDelay ::= INTEGER (0..65535)
--- Unit is millisecond
-
-UnsuccessfullyTransmittedDataVolume ::= INTEGER (0..4294967295)
-
-TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
-
-TrCH-ID ::= SEQUENCE {
- dCH-ID DCH-ID OPTIONAL,
- dSCH-ID DSCH-ID OPTIONAL,
- uSCH-ID USCH-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { TrCH-ID-ExtIEs} } OPTIONAL,
- ...
-}
-
-TrCH-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable transfer of HS-DSCH-MAC-d-Flow-ID onto Iur transport channel ID --
- {ID id-hS-DSCH-MAC-d-Flow-ID CRITICALITY ignore EXTENSION HS-DSCH-MAC-d-Flow-ID PRESENCE optional}|
--- Extension for Release 6 to enable transfer of E-DCH-MAC-d-Flow-ID onto Iur transport channel ID --
- {ID id-E-DCH-MAC-d-Flow-ID CRITICALITY ignore EXTENSION E-DCH-MAC-d-Flow-ID PRESENCE optional},
- ...
-}
-
-TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
- TrCH-ID
-
-TriggerID ::= OCTET STRING (SIZE (3..22))
-
-TypeOfError ::= ENUMERATED {
- not-understood,
- missing,
- ...
-}
-
-
--- U
-
-UE-History-Information ::= OCTET STRING
-
-UE-ID ::= CHOICE {
- imsi IMSI,
- imei IMEI,
- ...,
- imeisv IMEISV
-
-}
-
-UESBI-Iu ::= SEQUENCE {
- uESBI-IuA UESBI-IuA OPTIONAL,
- uESBI-IuB UESBI-IuB OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {UESBI-Iu-ExtIEs} } OPTIONAL,
- ...
-}
-
-UESBI-Iu-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UESBI-IuA ::= BIT STRING (SIZE(1..128))
--- Reference: TR25.994 --
-UESBI-IuB ::= BIT STRING (SIZE(1..128))
--- Reference: TR25.995 --
-
-UL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-UL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-UP-ModeVersions ::= BIT STRING (SIZE (16))
-
-USCH-ID ::= INTEGER (0..255)
-
-UserPlaneMode ::= ENUMERATED {
- transparent-mode,
- support-mode-for-predefined-SDU-sizes,
- ...
-}
-
-UTRAN-CellID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- cellID TargetCellId,
- iE-Extensions ProtocolExtensionContainer { { UTRAN-CellID-ExtIEs} } OPTIONAL
-}
-
-UTRAN-CellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- V
-
-VelocityEstimate ::= CHOICE {
- horizontalVelocity HorizontalVelocity,
- horizontalWithVerticalVelocity HorizontalWithVerticalVelocity,
- horizontalVelocityWithUncertainty HorizontalVelocityWithUncertainty,
- horizontalWithVeritcalVelocityAndUncertainty HorizontalWithVerticalVelocityAndUncertainty,
- ...
-}
-
-HorizontalVelocity ::= SEQUENCE {
- horizontalSpeedAndBearing HorizontalSpeedAndBearing,
- iE-Extensions ProtocolExtensionContainer { { HorizontalVelocity-ExtIEs} } OPTIONAL,
- ...
-}
-
-HorizontalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HorizontalWithVerticalVelocity ::= SEQUENCE {
- horizontalSpeedAndBearing HorizontalSpeedAndBearing,
- veritcalVelocity VerticalVelocity,
- iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocity-ExtIEs} } OPTIONAL,
- ...
-}
-
-HorizontalWithVerticalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-HorizontalVelocityWithUncertainty ::= SEQUENCE {
- horizontalSpeedAndBearing HorizontalSpeedAndBearing,
- uncertaintySpeed INTEGER (0..255),
- iE-Extensions ProtocolExtensionContainer { { HorizontalVelocityWithUncertainty-ExtIEs} } OPTIONAL,
- ...
-}
-
-HorizontalVelocityWithUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
- horizontalSpeedAndBearing HorizontalSpeedAndBearing,
- veritcalVelocity VerticalVelocity,
- horizontalUncertaintySpeed INTEGER (0..255),
- verticalUncertaintySpeed INTEGER (0..255),
- iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocityAndUncertainty-ExtIEs} } OPTIONAL,
- ...
-}
-
-HorizontalWithVerticalVelocityAndUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HorizontalSpeedAndBearing ::= SEQUENCE {
- bearing INTEGER (0..359),
- horizontalSpeed INTEGER (0..2047)
-}
-
-VerticalVelocity ::= SEQUENCE {
- veritcalSpeed INTEGER (0..255),
- veritcalSpeedDirection VerticalSpeedDirection
-}
-
-VerticalSpeedDirection ::= ENUMERATED {
- upward,
- downward
-}
-
-VerticalAccuracyCode ::= INTEGER (0..127)
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-PDU-Contents.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-PDU-Contents.asn1
deleted file mode 100644
index c83f60f13e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-PDU-Contents.asn1
+++ /dev/null
@@ -1,3383 +0,0 @@
--- RANAP-PDU-Contents.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.3 PDU Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- PDU definitions for RANAP.
---
--- **************************************************************
-
-RANAP-PDU-Contents {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Contents (1) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- AccuracyFulfilmentIndicator,
- APN,
- BroadcastAssistanceDataDecipheringKeys,
- LocationRelatedDataRequestType,
- LocationRelatedDataRequestTypeSpecificToGERANIuMode,
- DataVolumeReference,
- CellLoadInformation,
- AreaIdentity,
- CN-DomainIndicator,
- Cause,
- ClientType,
- CriticalityDiagnostics,
- ChosenEncryptionAlgorithm,
- ChosenIntegrityProtectionAlgorithm,
- ClassmarkInformation2,
- ClassmarkInformation3,
- CSG-Id,
- DL-GTP-PDU-SequenceNumber,
- DL-N-PDU-SequenceNumber,
- DataVolumeReportingIndication,
- DeltaRAListofIdleModeUEs,
- DRX-CycleLengthCoefficient,
- EncryptionInformation,
- EncryptionKey,
- ExtendedRNC-ID,
- FrequenceLayerConvergenceFlag,
- GERAN-BSC-Container,
- GERAN-Classmark,
- Global-ENB-ID,
- GlobalCN-ID,
- GlobalRNC-ID,
- GTP-TEI,
- IncludeVelocity,
- InformationExchangeID,
- InformationExchangeType,
- InformationRequested,
- InformationRequestType,
- InformationTransferID,
- InformationTransferType,
- InterSystemInformationTransferType,
- IntegrityProtectionInformation,
- IntegrityProtectionKey,
- InterSystemInformation-TransparentContainer,
- IPMulticastAddress,
- IuSignallingConnectionIdentifier,
- IuTransportAssociation,
- KeyStatus,
- L3-Information,
- LAI,
- LastKnownServiceArea,
- MBMS-PTP-RAB-ID,
- MBMSBearerServiceType,
- MBMSCountingInformation,
- MBMSCNDe-Registration,
- MBMSHCIndicator,
- MBMSRegistrationRequestType,
- MBMSServiceArea,
- MBMSSessionDuration,
- MBMSSessionIdentity,
- MBMSSessionRepetitionNumber,
- NAS-PDU,
- NAS-SequenceNumber,
- NAS-SynchronisationIndicator,
- NewBSS-To-OldBSS-Information,
- NonSearchingIndication,
- NumberOfSteps,
- OMC-ID,
- OldBSS-ToNewBSS-Information,
- PagingAreaID,
- PagingCause,
- PDP-TypeInformation,
- PermanentNAS-UE-ID,
- PLMNidentity,
- PositionData,
- PositionDataSpecificToGERANIuMode,
- PositioningPriority,
- ProvidedData,
- RAB-ID,
- RAB-Parameters,
- RAC,
- RAListofIdleModeUEs,
- RAT-Type,
- RedirectAttemptFlag,
- RedirectionCompleted,
- RejectCauseValue,
- RelocationType,
- RequestedGANSSAssistanceData,
- RequestType,
- Requested-RAB-Parameter-Values,
- ResponseTime,
- RRC-Container,
- SAI,
- SAPI,
- Service-Handover,
- SessionUpdateID,
- SNA-Access-Information,
- SourceBSS-ToTargetBSS-TransparentContainer,
- SourceID,
- Source-ToTarget-TransparentContainer,
- SourceRNC-ToTargetRNC-TransparentContainer,
- SRVCC-HO-Indication,
- SRVCC-Information,
- SRVCC-Operation-Possible,
- TargetBSS-ToSourceBSS-TransparentContainer,
- TargetID,
- Target-ToSource-TransparentContainer,
- TargetRNC-ToSourceRNC-TransparentContainer,
- TemporaryUE-ID,
- TimeToMBMSDataTransfer,
- TMGI,
- TracePropagationParameters,
- TraceReference,
- TraceType,
- UnsuccessfullyTransmittedDataVolume,
- TransportLayerAddress,
- TriggerID,
- UE-ID,
- UESBI-Iu,
- UL-GTP-PDU-SequenceNumber,
- UL-N-PDU-SequenceNumber,
- UP-ModeVersions,
- UserPlaneMode,
- VelocityEstimate,
- VerticalAccuracyCode,
- Alt-RAB-Parameters,
- Ass-RAB-Parameters,
- PeriodicLocationInfo,
- SubscriberProfileIDforRFP
-FROM RANAP-IEs
-
-
- PrivateIE-Container{},
- ProtocolExtensionContainer{},
- ProtocolIE-ContainerList{},
- ProtocolIE-ContainerPair{},
- ProtocolIE-ContainerPairList{},
- ProtocolIE-Container{},
- RANAP-PRIVATE-IES,
- RANAP-PROTOCOL-EXTENSION,
- RANAP-PROTOCOL-IES,
- RANAP-PROTOCOL-IES-PAIR
-FROM RANAP-Containers
-
- maxNrOfDTs,
- maxNrOfErrors,
- maxNrOfIuSigConIds,
- maxNrOfRABs,
- maxNrOfVol,
- maxnoofMulticastServicesPerUE,
-
- id-AccuracyFulfilmentIndicator,
- id-APN,
- id-AreaIdentity,
- id-Alt-RAB-Parameters,
- id-Ass-RAB-Parameters,
- id-BroadcastAssistanceDataDecipheringKeys,
- id-LocationRelatedDataRequestType,
- id-CN-DomainIndicator,
- id-Cause,
- id-ChosenEncryptionAlgorithm,
- id-ChosenIntegrityProtectionAlgorithm,
- id-ClassmarkInformation2,
- id-ClassmarkInformation3,
- id-ClientType,
- id-CNMBMSLinkingInformation,
- id-CriticalityDiagnostics,
- id-CSG-Id,
- id-DeltaRAListofIdleModeUEs,
- id-DRX-CycleLengthCoefficient,
- id-DirectTransferInformationItem-RANAP-RelocInf,
- id-DirectTransferInformationList-RANAP-RelocInf,
- id-DL-GTP-PDU-SequenceNumber,
- id-EncryptionInformation,
- id-EncryptionKey,
- id-ExtendedRNC-ID,
- id-FrequenceLayerConvergenceFlag,
- id-GERAN-BSC-Container,
- id-GERAN-Classmark,
- id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item,
- id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse,
- id-Global-ENB-ID,
- id-GlobalCN-ID,
- id-GlobalCN-IDCS,
- id-GlobalCN-IDPS,
- id-GlobalRNC-ID,
- id-IncludeVelocity,
- id-InformationExchangeID,
- id-InformationExchangeType,
- id-InformationRequested,
- id-InformationRequestType,
- id-InformationTransferID,
- id-InformationTransferType,
- id-IntegrityProtectionInformation,
- id-IntegrityProtectionKey,
- id-InterSystemInformationTransferType,
- id-InterSystemInformation-TransparentContainer,
- id-IPMulticastAddress,
- id-IuSigConId,
- id-OldIuSigConId,
- id-OldIuSigConIdCS,
- id-OldIuSigConIdPS,
- id-IuSigConIdItem,
- id-IuSigConIdList,
- id-IuTransportAssociation,
- id-JoinedMBMSBearerServicesList,
- id-KeyStatus,
- id-L3-Information,
- id-LAI,
- id-LastKnownServiceArea,
- id-LeftMBMSBearerServicesList,
- id-LocationRelatedDataRequestTypeSpecificToGERANIuMode,
- id-MBMSBearerServiceType,
- id-MBMSCountingInformation,
- id-MBMSCNDe-Registration,
- id-MBMSRegistrationRequestType,
- id-MBMSSynchronisationInformation,
- id-MBMSServiceArea,
- id-MBMSSessionDuration,
- id-MBMSSessionIdentity,
- id-MBMSSessionRepetitionNumber,
- id-NAS-PDU,
- id-NAS-SequenceNumber,
- id-NewBSS-To-OldBSS-Information,
- id-NonSearchingIndication,
- id-NumberOfSteps,
- id-OMC-ID,
- id-OldBSS-ToNewBSS-Information,
- id-PagingAreaID,
- id-PagingCause,
- id-PDP-TypeInformation,
- id-PermanentNAS-UE-ID,
- id-PositionData,
- id-PositionDataSpecificToGERANIuMode,
- id-PositioningPriority,
- id-ProvidedData,
- id-RAB-ContextItem,
- id-RAB-ContextList,
- id-RAB-ContextFailedtoTransferItem,
- id-RAB-ContextFailedtoTransferList,
- id-RAB-ContextItem-RANAP-RelocInf,
- id-RAB-ContextList-RANAP-RelocInf,
- id-RAB-DataForwardingItem,
- id-RAB-DataForwardingItem-SRNS-CtxReq,
- id-RAB-DataForwardingList,
- id-RAB-DataForwardingList-SRNS-CtxReq,
- id-RAB-DataVolumeReportItem,
- id-RAB-DataVolumeReportList,
- id-RAB-DataVolumeReportRequestItem,
- id-RAB-DataVolumeReportRequestList,
- id-RAB-FailedItem,
- id-RAB-FailedList,
- id-RAB-FailedList-EnhRelocInfoRes,
- id-RAB-FailedItem-EnhRelocInfoRes,
- id-RAB-FailedtoReportItem,
- id-RAB-FailedtoReportList,
- id-RAB-ID,
- id-RAB-ModifyList,
- id-RAB-ModifyItem,
- id-RAB-Parameters,
- id-RAB-QueuedItem,
- id-RAB-QueuedList,
- id-RAB-ReleaseFailedList,
- id-RAB-ReleaseItem,
- id-RAB-ReleasedItem-IuRelComp,
- id-RAB-ReleaseList,
- id-RAB-ReleasedItem,
- id-RAB-ReleasedList,
- id-RAB-ReleasedList-IuRelComp,
- id-RAB-RelocationReleaseItem,
- id-RAB-RelocationReleaseList,
- id-RAB-SetupItem-RelocReq,
- id-RAB-SetupItem-RelocReqAck,
- id-RAB-SetupList-RelocReq,
- id-RAB-SetupList-RelocReqAck,
- id-RAB-SetupList-EnhRelocInfoReq,
- id-RAB-SetupItem-EnhRelocInfoReq,
- id-RAB-SetupList-EnhRelocInfoRes,
- id-RAB-SetupItem-EnhRelocInfoRes,
- id-RAB-SetupList-EnhancedRelocCompleteReq,
- id-RAB-SetupItem-EnhancedRelocCompleteReq,
- id-RAB-SetupList-EnhancedRelocCompleteRes,
- id-RAB-SetupItem-EnhancedRelocCompleteRes,
- id-RAB-SetupOrModifiedItem,
- id-RAB-SetupOrModifiedList,
- id-RAB-SetupOrModifyItem,
- id-RAB-SetupOrModifyList,
- id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes,
- id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes,
- id-RAC,
- id-RAListofIdleModeUEs,
- id-RAT-Type,
- id-RedirectAttemptFlag,
- id-RedirectionCompleted,
- id-RedirectionIndication,
- id-RejectCauseValue,
- id-RelocationType,
- id-Relocation-SourceRNC-ID,
- id-Relocation-SourceExtendedRNC-ID,
- id-Relocation-TargetRNC-ID,
- id-Relocation-TargetExtendedRNC-ID,
- id-RequestedGANSSAssistanceData,
- id-RequestType,
- id-ResponseTime,
- id-SAI,
- id-SAPI,
- id-SelectedPLMN-ID,
- id-SessionUpdateID,
- id-SNA-Access-Information,
- id-SourceBSS-ToTargetBSS-TransparentContainer,
- id-SourceRNC-ID,
- id-SourceExtendedRNC-ID,
- id-SourceID,
- id-Source-ToTarget-TransparentContainer,
- id-SourceRNC-PDCP-context-info,
- id-SRVCC-HO-Indication,
- id-SRVCC-Information,
- id-SRVCC-Operation-Possible,
- id-TargetBSS-ToSourceBSS-TransparentContainer,
- id-TargetID,
- id-Target-ToSource-TransparentContainer,
- id-TemporaryUE-ID,
- id-TimeToMBMSDataTransfer,
- id-TMGI,
- id-TracePropagationParameters,
- id-TraceReference,
- id-TraceType,
- id-TransportLayerAddress,
- id-TransportLayerInformation,
- id-TriggerID,
- id-UE-ID,
- id-UESBI-Iu,
- id-UL-GTP-PDU-SequenceNumber,
- id-UnsuccessfulLinkingList,
- id-VelocityEstimate,
- id-VerticalAccuracyCode,
- id-PeriodicLocationInfo,
- id-BroadcastGANSSAssistanceDataDecipheringKeys,
- id-SubscriberProfileIDforRFP
-FROM RANAP-Constants;
-
--- **************************************************************
---
--- Common Container Lists
---
--- **************************************************************
-
-RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
-RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} }
-ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
-IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} }
-DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} }
-
--- **************************************************************
---
--- Iu RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Iu Release Command
---
--- **************************************************************
-
-Iu-ReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Iu Release Complete
---
--- **************************************************************
-
-Iu-ReleaseComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } |
- { ID id-RAB-ReleasedList-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedList-IuRelComp PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-DataVolumeReportList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportItemIEs} }
-
-RAB-DataVolumeReportItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportItem CRITICALITY ignore TYPE RAB-DataVolumeReportItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-UnsuccessfullyTransmittedDataVolume DataVolumeList OPTIONAL
- -- This IE shall always be present although its presence is optional --,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataVolumeReportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleasedList-IuRelComp ::= RAB-IE-ContainerList { {RAB-ReleasedItem-IuRelComp-IEs} }
-
-RAB-ReleasedItem-IuRelComp-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleasedItem-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedItem-IuRelComp PRESENCE mandatory },
- ...
-}
-
-RAB-ReleasedItem-IuRelComp ::= SEQUENCE {
- rAB-ID RAB-ID,
- dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
- uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-IuRelComp-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleasedItem-IuRelComp-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Required
---
--- **************************************************************
-
-RelocationRequired ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL,
-...
-}
-
-RelocationRequiredIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RelocationType CRITICALITY reject TYPE RelocationType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory } |
- { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } |
- { ID id-ClassmarkInformation2 CRITICALITY reject TYPE ClassmarkInformation2 PRESENCE conditional
- -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } |
- { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE conditional
- -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } |
- { ID id-Source-ToTarget-TransparentContainer
- CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE conditional
- -- This IE shall be present if the Target ID IE contains a RNC-ID IE or eNB-ID -- } |
- { ID id-OldBSS-ToNewBSS-Information CRITICALITY ignore TYPE OldBSS-ToNewBSS-Information PRESENCE optional } ,
- ...
-}
-
-RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional } |
--- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
- { ID id-SourceBSS-ToTargetBSS-TransparentContainer CRITICALITY ignore EXTENSION SourceBSS-ToTargetBSS-TransparentContainer PRESENCE optional }|
--- Extension for Release 8 for SRVCC operation --
- { ID id-SRVCC-HO-Indication CRITICALITY reject EXTENSION SRVCC-HO-Indication PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Relocation Command
---
--- **************************************************************
-
-RelocationCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Target-ToSource-TransparentContainer
- CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional } |
- { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE optional } |
- { ID id-RAB-RelocationReleaseList CRITICALITY ignore TYPE RAB-RelocationReleaseList PRESENCE optional } |
- { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-RelocationReleaseList ::= RAB-IE-ContainerList { {RAB-RelocationReleaseItemIEs} }
-
-RAB-RelocationReleaseItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-RelocationReleaseItem CRITICALITY ignore TYPE RAB-RelocationReleaseItem PRESENCE mandatory },
- ...
-}
-
-RAB-RelocationReleaseItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-RelocationReleaseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-RelocationReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-DataForwardingList ::= RAB-IE-ContainerList { {RAB-DataForwardingItemIEs} }
-
-RAB-DataForwardingItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingItem CRITICALITY ignore TYPE RAB-DataForwardingItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataForwardingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to allow transfer of a second pair of TLA and association --
- {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} |
- {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional},
- ...
-}
-
-RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- { ID id-InterSystemInformation-TransparentContainer CRITICALITY ignore EXTENSION InterSystemInformation-TransparentContainer PRESENCE optional } |
--- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
- { ID id-TargetBSS-ToSourceBSS-TransparentContainer CRITICALITY ignore EXTENSION TargetBSS-ToSourceBSS-TransparentContainer PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Relocation Preparation Failure
---
--- **************************************************************
-
-RelocationPreparationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL,
-...
-}
-
-RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- { ID id-InterSystemInformation-TransparentContainer CRITICALITY ignore EXTENSION InterSystemInformation-TransparentContainer PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- RELOCATION RESOURCE ALLOCATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Request
---
--- **************************************************************
-
-RelocationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Source-ToTarget-TransparentContainer
- CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } |
- { ID id-RAB-SetupList-RelocReq CRITICALITY reject TYPE RAB-SetupList-RelocReq PRESENCE optional } |
- { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE optional } |
- { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
- { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory },
- ...
-}
-
-RAB-SetupList-RelocReq ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReq-IEs} }
-
-RAB-SetupItem-RelocReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-RelocReq CRITICALITY reject TYPE RAB-SetupItem-RelocReq PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-RelocReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL,
- rAB-Parameters RAB-Parameters,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
- -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
- pDP-TypeInformation PDP-TypeInformation OPTIONAL
- -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
- userPlaneInformation UserPlaneInformation,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- service-Handover Service-Handover OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-RelocReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
- {ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional} |
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-BSC-Container CRITICALITY ignore EXTENSION GERAN-BSC-Container PRESENCE optional },
- ...
-}
-
-UserPlaneInformation ::= SEQUENCE {
- userPlaneMode UserPlaneMode,
- uP-ModeVersions UP-ModeVersions,
- iE-Extensions ProtocolExtensionContainer { {UserPlaneInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-UserPlaneInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY reject EXTENSION GlobalCN-ID PRESENCE optional} |
--- Extension for Release 5 to enable shared networks in connected mode --
- { ID id-SNA-Access-Information CRITICALITY ignore EXTENSION SNA-Access-Information PRESENCE optional} |
--- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling --
- { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional}|
--- Extension for Release 6 to convey the selected PLMN id in network sharing mobility scenarios --
- { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }|
--- Extension for Release 6 to enable MBMS UE linking at relocation --
- { ID id-CNMBMSLinkingInformation CRITICALITY ignore EXTENSION CNMBMSLinkingInformation PRESENCE optional},
- ...
-}
-
-CNMBMSLinkingInformation ::= SEQUENCE {
- joinedMBMSBearerService-IEs JoinedMBMSBearerService-IEs,
- iE-Extensions ProtocolExtensionContainer { {CNMBMSLinkingInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-CNMBMSLinkingInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-JoinedMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
- SEQUENCE {
- tMGI TMGI,
- mBMS-PTP-RAB-ID MBMS-PTP-RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {JoinedMBMSBearerService-ExtIEs} } OPTIONAL,
- ...
- }
-
-JoinedMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Request Acknowledge
---
--- **************************************************************
-
-RelocationRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Target-ToSource-TransparentContainer
- CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } |
- { ID id-RAB-SetupList-RelocReqAck CRITICALITY ignore TYPE RAB-SetupList-RelocReqAck PRESENCE optional} |
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }|
- { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE optional } |
- { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupList-RelocReqAck ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReqAck-IEs} }
-
-RAB-SetupItem-RelocReqAck-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-RelocReqAck CRITICALITY reject TYPE RAB-SetupItem-RelocReqAck PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-RelocReqAck ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iuTransportAssociation IuTransportAssociation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReqAck-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-RelocReqAck-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
- {ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional } |
--- Extension for Release 5 to allow transfer of a second pair of TLA and association --
- {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} |
- {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional},
- ...
-}
-
-RAB-FailedList ::= RAB-IE-ContainerList { {RAB-FailedItemIEs} }
-
-RAB-FailedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedItem CRITICALITY ignore TYPE RAB-FailedItem PRESENCE mandatory },
- ...
-}
-
-RAB-FailedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {RAB-FailedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- {ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Relocation Failure
---
--- **************************************************************
-
-RelocationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL,
- ...
-}
-
-RelocationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- { ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional } |
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- RELOCATION CANCEL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Cancel
---
--- **************************************************************
-
-RelocationCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCancelIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCancelIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Cancel Acknowledge
---
--- **************************************************************
-
-RelocationCancelAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCancelAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS CONTEXT TRANSFER OPEARATION
---
--- **************************************************************
-
--- **************************************************************
---
--- SRNS Context Request
---
--- **************************************************************
-
-SRNS-ContextRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-ContextRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingList-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingList-SRNS-CtxReq PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingList-SRNS-CtxReq ::= RAB-IE-ContainerList { {RAB-DataForwardingItem-SRNS-CtxReq-IEs} }
-
-RAB-DataForwardingItem-SRNS-CtxReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingItem-SRNS-CtxReq CRITICALITY reject TYPE RAB-DataForwardingItem-SRNS-CtxReq PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingItem-SRNS-CtxReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- The SGSN may include the IE, when available to indicate the RAT from which the context request originates, to correct measurement points in SRNC. --
- {ID id-RAT-Type CRITICALITY ignore EXTENSION RAT-Type PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- SRNS Context Response
---
--- **************************************************************
-
-SRNS-ContextResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-ContextResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE optional } |
- { ID id-RAB-ContextFailedtoTransferList CRITICALITY ignore TYPE RAB-ContextFailedtoTransferList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-ContextList ::= RAB-IE-ContainerList { {RAB-ContextItemIEs} }
-
-RAB-ContextItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextItem CRITICALITY ignore TYPE RAB-ContextItem PRESENCE mandatory },
- ...
-}
-
-RAB-ContextItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ContextItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ContextFailedtoTransferList ::= RAB-IE-ContainerList { {RABs-ContextFailedtoTransferItemIEs} }
-
-RABs-ContextFailedtoTransferItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextFailedtoTransferItem CRITICALITY ignore TYPE RABs-ContextFailedtoTransferItem PRESENCE mandatory },
- ...
-}
-
-RABs-ContextFailedtoTransferItem::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RABs-ContextFailedtoTransferItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RABs-ContextFailedtoTransferItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SECURITY MODE CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Security Mode Command
---
--- **************************************************************
-
-SecurityModeCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IntegrityProtectionInformation CRITICALITY reject TYPE IntegrityProtectionInformation PRESENCE mandatory } |
- { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
- { ID id-KeyStatus CRITICALITY reject TYPE KeyStatus PRESENCE mandatory},
- ...
-}
-
-SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Security Mode Complete
---
--- **************************************************************
-
-SecurityModeComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeCompleteIEs RANAP-PROTOCOL-IES ::= {
- { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY reject TYPE ChosenIntegrityProtectionAlgorithm PRESENCE mandatory } |
- { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Security Mode Reject
---
--- **************************************************************
-
-SecurityModeReject ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeRejectIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DATA VOLUME REPORT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Data Volume Report Request
---
--- **************************************************************
-
-DataVolumeReportRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL,
- ...
-}
-
-DataVolumeReportRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportRequestList CRITICALITY ignore TYPE RAB-DataVolumeReportRequestList PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportRequestList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportRequestItemIEs} }
-
-RAB-DataVolumeReportRequestItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportRequestItem CRITICALITY reject TYPE RAB-DataVolumeReportRequestItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportRequestItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportRequestItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataVolumeReportRequestItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Data Volume Report
---
--- **************************************************************
-
-DataVolumeReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} },
- protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL,
- ...
-}
-
-DataVolumeReportIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } |
- { ID id-RAB-FailedtoReportList CRITICALITY ignore TYPE RAB-FailedtoReportList PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-DataVolumeReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-FailedtoReportList ::= RAB-IE-ContainerList { {RABs-failed-to-reportItemIEs} }
-
-RABs-failed-to-reportItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedtoReportItem CRITICALITY ignore TYPE RABs-failed-to-reportItem PRESENCE mandatory },
- ...
-}
-
-RABs-failed-to-reportItem::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RABs-failed-to-reportItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- RESET ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Reset
---
--- **************************************************************
-
-Reset ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL,
- ...
-}
-
-ResetIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-ResetExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Reset Acknowledge
---
--- **************************************************************
-
-ResetAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-ResetAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
--- **************************************************************
---
--- RESET RESOURCE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Reset Resource
---
--- **************************************************************
-
-ResetResource ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetResourceIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL,
- ...
-}
-
-ResetResourceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceList PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-ResetResourceList ::= IuSigConId-IE-ContainerList{ {ResetResourceItemIEs} }
-
-ResetResourceItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceItem PRESENCE mandatory },
- ...
-}
-
-ResetResourceItem ::= SEQUENCE {
- iuSigConId IuSignallingConnectionIdentifier,
- iE-Extensions ProtocolExtensionContainer { { ResetResourceItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ResetResourceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Reset Resource Acknowledge
---
--- **************************************************************
-
-ResetResourceAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-ResetResourceAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceAckList PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-ResetResourceAckList ::= IuSigConId-IE-ContainerList{ {ResetResourceAckItemIEs} }
-
-ResetResourceAckItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceAckItem PRESENCE mandatory },
- ...
-}
-
-ResetResourceAckItem ::= SEQUENCE {
- iuSigConId IuSignallingConnectionIdentifier,
- iE-Extensions ProtocolExtensionContainer { { ResetResourceAckItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ResetResourceAckItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- RAB RELEASE REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Release Request
---
--- **************************************************************
-
-RAB-ReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE mandatory },
- ...
-}
-
-RAB-ReleaseList ::= RAB-IE-ContainerList { {RAB-ReleaseItemIEs} }
-
-RAB-ReleaseItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleaseItem CRITICALITY ignore TYPE RAB-ReleaseItem PRESENCE mandatory },
- ...
-}
-
-RAB-ReleaseItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleaseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Iu RELEASE REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Iu Release Request
---
--- **************************************************************
-
-Iu-ReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION DETECT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Detect
---
--- **************************************************************
-
-RelocationDetect ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationDetectIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL,
- ...
-}
-
-RelocationDetectIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION COMPLETE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Complete
---
--- **************************************************************
-
-RelocationComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCompleteIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- ENHANCED RELOCATION COMPLETE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Enhanced Relocation Complete Request
---
--- **************************************************************
-
-EnhancedRelocationCompleteRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteRequestExtensions} } OPTIONAL,
- ...
-}
-
-EnhancedRelocationCompleteRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-OldIuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
- { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
- { ID id-Relocation-SourceRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } |
- { ID id-Relocation-SourceExtendedRNC-ID CRITICALITY ignore TYPE ExtendedRNC-ID PRESENCE optional } |
- { ID id-Relocation-TargetRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory } |
- { ID id-Relocation-TargetExtendedRNC-ID CRITICALITY reject TYPE ExtendedRNC-ID PRESENCE optional } |
- { ID id-RAB-SetupList-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupList-EnhancedRelocCompleteReq PRESENCE optional }
-, ...
-}
-
-RAB-SetupList-EnhancedRelocCompleteReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhancedRelocCompleteReq-IEs} }
-
-RAB-SetupItem-EnhancedRelocCompleteReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupItem-EnhancedRelocCompleteReq PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-EnhancedRelocCompleteReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddressReq1 TransportLayerAddress OPTIONAL,
- iuTransportAssociationReq1 IuTransportAssociation OPTIONAL,
- ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EnhancedRelocationCompleteRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Enhanced Relocation Complete Response
---
--- **************************************************************
-
-EnhancedRelocationCompleteResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteResponseExtensions} } OPTIONAL,
- ...
-}
-
-EnhancedRelocationCompleteResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-SetupList-EnhancedRelocCompleteRes PRESENCE optional} |
- { ID id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedList-EnhancedRelocCompleteRes PRESENCE optional} |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-SetupItem-EnhancedRelocCompleteRes-IEs} }
-
-RAB-SetupItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-EnhancedRelocCompleteRes CRITICALITY reject TYPE RAB-SetupItem-EnhancedRelocCompleteRes PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-EnhancedRelocCompleteRes ::= SEQUENCE {
- rAB-ID RAB-ID,
- rAB-Parameters RAB-Parameters OPTIONAL,
- userPlaneInformation UserPlaneInformation,
- transportLayerAddressRes1 TransportLayerAddress OPTIONAL,
- iuTransportAssociationRes1 IuTransportAssociation OPTIONAL,
- rab2beReleasedList RAB-ToBeReleasedList-EnhancedRelocCompleteRes OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ToBeReleasedList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs} }
-
-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedItem-EnhancedRelocCompleteRes PRESENCE mandatory },
- ...
-}
-
-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EnhancedRelocationCompleteResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Enhanced Relocation Complete Failure
---
--- **************************************************************
-
-EnhancedRelocationCompleteFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteFailureExtensions} } OPTIONAL,
- ...
-}
-
-EnhancedRelocationCompleteFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-EnhancedRelocationCompleteFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Enhanced Relocation Complete Confirm
---
--- **************************************************************
-
-EnhancedRelocationCompleteConfirm ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteConfirmIEs} },
- protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteConfirmExtensions} } OPTIONAL,
- ...
-}
-
-EnhancedRelocationCompleteConfirmIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional },
- ...
-}
-
-EnhancedRelocationCompleteConfirmExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- PAGING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Paging
---
--- **************************************************************
-
-Paging ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {PagingIEs} },
- protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL,
- ...
-}
-
-PagingIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } |
- { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } |
- { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } |
- { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } |
- { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } |
- { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE optional } ,
- ...
-}
-
-PagingExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable NNSF --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional } ,
- ...
-}
-
--- **************************************************************
---
--- COMMON ID ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Common ID
---
--- **************************************************************
-
-CommonID ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CommonID-IEs} },
- protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL,
- ...
-}
-
-CommonID-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory },
- ...
-}
-
-CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable shared networks in connected mode --
- { ID id-SNA-Access-Information CRITICALITY ignore EXTENSION SNA-Access-Information PRESENCE optional } |
--- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling --
- { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional}|
--- Extension for Release 6 to indicate the selected plmn in GWCN configuration for network sharing non-supporting UEs --
- { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }|
--- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority --
- {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- CN INVOKE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Invoke Trace
---
--- **************************************************************
-
-CN-InvokeTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL,
- ...
-}
-
-CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE optional } |
- -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
- { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
- { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } |
- -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
- { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } |
- -- This information is mandatory for UTRAN, optional for GERAN Iu mode --
- { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional },
- -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
- ...
-}
-
-CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to enable signalling based activation for Subscriber and Equipment Trace over Iu interface --
- { ID id-TracePropagationParameters CRITICALITY ignore EXTENSION TracePropagationParameters PRESENCE optional } ,
- ...
-}
-
--- **************************************************************
---
--- CN DEACTIVATE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Deactivate Trace
---
--- **************************************************************
-
-CN-DeactivateTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL,
- ...
-}
-
-CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
- { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional },
- -- This information is optional for GERAN Iu Mode, not applicable to UTRAN --
- ...
-}
-
-CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- LOCATION REPORTING CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Reporting Control
---
--- **************************************************************
-
-LocationReportingControl ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL,
- ...
-}
-
-LocationReportingControlIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory },
- ...
-}
-
-LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enhance the location request over Iu --
- { ID id-VerticalAccuracyCode CRITICALITY ignore EXTENSION VerticalAccuracyCode PRESENCE optional } |
--- Extension for Release 4 to enhance the location request over Iu --
- { ID id-ResponseTime CRITICALITY ignore EXTENSION ResponseTime PRESENCE optional } |
--- Extension for Release 4 to enhance the location request over Iu --
- { ID id-PositioningPriority CRITICALITY ignore EXTENSION PositioningPriority PRESENCE optional } |
--- Extension for Release 4 to enhance the location request over Iu --
- { ID id-ClientType CRITICALITY ignore EXTENSION ClientType PRESENCE optional } |
--- Extension for Release 7 to allow the request of velocity over Iu --
- { ID id-IncludeVelocity CRITICALITY ignore EXTENSION IncludeVelocity PRESENCE optional } |
--- Extension for Release 7 to allow periodic reporting over Iu --
- { ID id-PeriodicLocationInfo CRITICALITY ignore EXTENSION PeriodicLocationInfo PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- LOCATION REPORT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Report
---
--- **************************************************************
-
-LocationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationReportIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL,
- ...
-}
-
-LocationReportIEs RANAP-PROTOCOL-IES ::= {
- { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional } ,
- ...
-}
-
-LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enable report of Last Known Service Area with its Age over Iu --
- { ID id-LastKnownServiceArea CRITICALITY ignore EXTENSION LastKnownServiceArea PRESENCE optional} |
--- Extension for Release 5 to pass the positioning methods that have been used --
- { ID id-PositionData CRITICALITY ignore EXTENSION PositionData PRESENCE optional}|
--- Extension for Release 5 to pass the positioning methods that have been used for GERAN Iu mode --
- { ID id-PositionDataSpecificToGERANIuMode CRITICALITY ignore EXTENSION PositionDataSpecificToGERANIuMode PRESENCE optional }|
- -- This extension is optional for GERAN Iu mode only, not applicable for UTRAN --
--- Extension for Release 6 to indicate whether the returned position estimate satisfies the requested accuracy or not --
- { ID id-AccuracyFulfilmentIndicator CRITICALITY ignore EXTENSION AccuracyFulfilmentIndicator PRESENCE optional}|
--- Extension for Release 7 to provide a velocity estimate --
- { ID id-VelocityEstimate CRITICALITY ignore EXTENSION VelocityEstimate PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- INITIAL UE MESSAGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Initial UE Message
---
--- **************************************************************
-
-InitialUE-Message ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} },
- protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL,
- ...
-}
-
-InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } |
- { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional
- -- This IE shall be present if the CN Domain Indicator IE is set to "PS domain" -- } |
- { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } |
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
- { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional } |
--- Extension for Release 6 to convey the selected PLMN id in shared networks --
- { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional } |
--- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore EXTENSION PermanentNAS-UE-ID PRESENCE optional } |
--- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
- { ID id-NAS-SequenceNumber CRITICALITY ignore EXTENSION NAS-SequenceNumber PRESENCE optional } |
--- Extension for Release 6 to indicate rerouting in MOCN configuration for network sharing non-supporting UEs --
- { ID id-RedirectAttemptFlag CRITICALITY ignore EXTENSION RedirectAttemptFlag PRESENCE optional } |
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional } |
--- Extension for Release 8 to support CSG --
- { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- DIRECT TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Direct Transfer
---
--- **************************************************************
-
-DirectTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DirectTransferIEs} },
- protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL,
- ...
-}
-
-DirectTransferIEs RANAP-PROTOCOL-IES ::= {
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
- { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE optional } |
- { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE optional } |
- { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE optional } |
- { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE optional },
- ...
-}
-
-DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
- { ID id-RedirectionIndication CRITICALITY ignore EXTENSION RedirectionIndication PRESENCE optional }|
--- Extension for Release 6 to indicate the MOCN rerouting is completed --
- { ID id-RedirectionCompleted CRITICALITY ignore EXTENSION RedirectionCompleted PRESENCE optional }|
--- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority --
- {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional},
- ...
-}
-
-RedirectionIndication ::= ProtocolIE-Container { {RedirectionIndication-IEs} }
-
-RedirectionIndication-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory }|
- { ID id-RejectCauseValue CRITICALITY ignore TYPE RejectCauseValue PRESENCE mandatory}|
- { ID id-NAS-SequenceNumber CRITICALITY ignore TYPE NAS-SequenceNumber PRESENCE optional}|
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- OVERLOAD CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Overload
---
--- **************************************************************
-
-Overload ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadIEs} },
- protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL,
- ...
-}
-
-OverloadIEs RANAP-PROTOCOL-IES ::= {
- { ID id-NumberOfSteps CRITICALITY ignore TYPE NumberOfSteps PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 99 to enable the indication to the RNC which CN domain is suffering the signalling traffic overload --
- { ID id-CN-DomainIndicator CRITICALITY ignore EXTENSION CN-DomainIndicator PRESENCE optional } |
--- Extension for Release 5 to enable NNSF --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional } |
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- ERROR INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Error Indication
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL,
- ...
-}
-
-ErrorIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 --
- { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}|
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- SRNS DATA FORWARD ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- SRNS Data Forward Command
---
--- **************************************************************
-
-SRNS-DataForwardCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-DataForwardCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional },
- ...
-}
-
-SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- FORWARD SRNS CONTEXT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Forward SRNS Context
---
--- **************************************************************
-
-ForwardSRNS-Context ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} },
- protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL,
- ...
-}
-
-ForwardSRNS-ContextIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE mandatory },
- ...
-}
-
-ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable relocation of Source RNC PDCP context info --
- { ID id-SourceRNC-PDCP-context-info CRITICALITY ignore EXTENSION RRC-Container PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- RAB ASSIGNMENT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Assignment Request
---
--- **************************************************************
-
-RAB-AssignmentRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifyList CRITICALITY ignore TYPE RAB-SetupOrModifyList PRESENCE optional } |
- { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE optional },
- ...
-}
-
-RAB-SetupOrModifyList ::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} }
-
-RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= {
- { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst
- SECOND CRITICALITY ignore SECOND TYPE RAB-SetupOrModifyItemSecond
- PRESENCE mandatory },
- ...
-}
-
-RAB-SetupOrModifyItemFirst ::= SEQUENCE {
- rAB-ID RAB-ID,
- nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL,
- rAB-Parameters RAB-Parameters OPTIONAL,
- userPlaneInformation UserPlaneInformation OPTIONAL,
- transportLayerInformation TransportLayerInformation OPTIONAL,
- service-Handover Service-Handover OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemFirst-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransportLayerInformation ::= SEQUENCE {
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {TransportLayerInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransportLayerInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SetupOrModifyItemFirst-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SetupOrModifyItemSecond ::= SEQUENCE {
- pDP-TypeInformation PDP-TypeInformation OPTIONAL,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemSecond-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifyItemSecond-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
- { ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional } |
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-BSC-Container CRITICALITY ignore EXTENSION GERAN-BSC-Container PRESENCE optional } ,
- ...
-}
-
-RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB Assignment Response
---
--- **************************************************************
-
-RAB-AssignmentResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL,
- ...
-}
-
-RAB-AssignmentResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifiedList CRITICALITY ignore TYPE RAB-SetupOrModifiedList PRESENCE optional } |
- { ID id-RAB-ReleasedList CRITICALITY ignore TYPE RAB-ReleasedList PRESENCE optional } |
-
- { ID id-RAB-QueuedList CRITICALITY ignore TYPE RAB-QueuedList PRESENCE optional } |
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional } |
- { ID id-RAB-ReleaseFailedList CRITICALITY ignore TYPE RAB-ReleaseFailedList PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupOrModifiedList ::= RAB-IE-ContainerList { {RAB-SetupOrModifiedItemIEs} }
-
-RAB-SetupOrModifiedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifiedItem CRITICALITY ignore TYPE RAB-SetupOrModifiedItem PRESENCE mandatory },
- ...
-}
-
-RAB-SetupOrModifiedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iuTransportAssociation IuTransportAssociation OPTIONAL,
- dl-dataVolumes DataVolumeList OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifiedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifiedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
- { ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional },
- ...
-}
-
-RAB-ReleasedList ::= RAB-IE-ContainerList { {RAB-ReleasedItemIEs} }
-
-RAB-ReleasedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleasedItem CRITICALITY ignore TYPE RAB-ReleasedItem PRESENCE mandatory },
- ...
-}
-
-RAB-ReleasedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-dataVolumes DataVolumeList OPTIONAL,
- dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
- uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleasedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DataVolumeList ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF
- SEQUENCE {
- dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume,
- dataVolumeReference DataVolumeReference OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {DataVolumeList-ExtIEs} } OPTIONAL,
- ...
- }
-
-DataVolumeList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-QueuedList ::= RAB-IE-ContainerList { {RAB-QueuedItemIEs} }
-
-RAB-QueuedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-QueuedItem CRITICALITY ignore TYPE RAB-QueuedItem PRESENCE mandatory },
- ...
-}
-
-RAB-QueuedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-QueuedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-QueuedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleaseFailedList ::= RAB-FailedList
-
-RAB-AssignmentResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable GERAN support over Iu-cs --
- { ID id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse CRITICALITY ignore EXTENSION GERAN-Iumode-RAB-FailedList-RABAssgntResponse PRESENCE optional} ,
- ...
-}
-
-GERAN-Iumode-RAB-FailedList-RABAssgntResponse ::= RAB-IE-ContainerList { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs} }
-
-GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item CRITICALITY ignore TYPE GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item PRESENCE mandatory },
- ...
-}
-
-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- gERAN-Classmark GERAN-Classmark OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container { {PrivateMessage-IEs } },
- ...
-}
-
-PrivateMessage-IEs RANAP-PRIVATE-IES ::= {
- ...
-}
-
--- **************************************************************
---
--- RANAP RELOCATION INFORMATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-RANAP-RelocationInformation ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} },
- protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL,
- ...
-}
-
-RANAP-RelocationInformationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-DirectTransferInformationList-RANAP-RelocInf
- CRITICALITY ignore TYPE DirectTransferInformationList-RANAP-RelocInf
- PRESENCE optional } |
- { ID id-RAB-ContextList-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextList-RANAP-RelocInf PRESENCE optional },
- ...
-}
-
-DirectTransferInformationList-RANAP-RelocInf ::= DirectTransfer-IE-ContainerList { {DirectTransferInformationItemIEs-RANAP-RelocInf} }
-
-DirectTransferInformationItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
- { ID id-DirectTransferInformationItem-RANAP-RelocInf
- CRITICALITY ignore TYPE DirectTransferInformationItem-RANAP-RelocInf
- PRESENCE mandatory },
- ...
-}
-
-DirectTransferInformationItem-RANAP-RelocInf ::= SEQUENCE {
- nAS-PDU NAS-PDU,
- sAPI SAPI,
- cN-DomainIndicator CN-DomainIndicator,
- iE-Extensions ProtocolExtensionContainer { {RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
- ...
-}
-
-RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ContextList-RANAP-RelocInf ::= RAB-IE-ContainerList { {RAB-ContextItemIEs-RANAP-RelocInf} }
-
-RAB-ContextItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextItem-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextItem-RANAP-RelocInf PRESENCE mandatory },
- ...
-}
-
-RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
- ...
-}
-
-RAB-ContextItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable relocation of Source RNC PDCP context info --
- { ID id-SourceRNC-PDCP-context-info CRITICALITY ignore EXTENSION RRC-Container PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- RANAP ENHANCED RELOCATION INFORMATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RANAP Enhanced Relocation Information Request
---
--- **************************************************************
-
-RANAP-EnhancedRelocationInformationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationRequestExtensions} } OPTIONAL,
- ...
-}
-
-RANAP-EnhancedRelocationInformationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Source-ToTarget-TransparentContainer
- CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } |
- { ID id-OldIuSigConIdCS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } |
- { ID id-GlobalCN-IDCS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} |
- { ID id-OldIuSigConIdPS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } |
- { ID id-GlobalCN-IDCS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} |
- { ID id-RAB-SetupList-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupList-EnhRelocInfoReq PRESENCE optional } |
- { ID id-SNA-Access-Information CRITICALITY ignore TYPE SNA-Access-Information PRESENCE optional} |
- { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional}|
- { ID id-SelectedPLMN-ID CRITICALITY ignore TYPE PLMNidentity PRESENCE optional }|
- { ID id-CNMBMSLinkingInformation CRITICALITY ignore TYPE CNMBMSLinkingInformation PRESENCE optional},
- ...
-}
-
-RAB-SetupList-EnhRelocInfoReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoReq-IEs} }
-
-RAB-SetupItem-EnhRelocInfoReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupItem-EnhRelocInfoReq PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-EnhRelocInfoReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- cN-DomainIndicator CN-DomainIndicator,
- rAB-Parameters RAB-Parameters,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
- -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
- pDP-TypeInformation PDP-TypeInformation OPTIONAL
- -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
- userPlaneInformation UserPlaneInformation,
- dataForwardingInformation TNLInformationEnhRelInfoReq OPTIONAL,
- sourceSideIuULTNLInfo TNLInformationEnhRelInfoReq OPTIONAL,
-
- service-Handover Service-Handover OPTIONAL,
- alt-RAB-Parameters Alt-RAB-Parameters OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-EnhRelocInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TNLInformationEnhRelInfoReq ::=SEQUENCE{
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-TNLInformationEnhRelInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-RANAP-EnhancedRelocationInformationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RANAP Enhanced Relocation Information Response
---
--- **************************************************************
-
-RANAP-EnhancedRelocationInformationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationResponseExtensions} } OPTIONAL,
- ...
-}
-
-RANAP-EnhancedRelocationInformationResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Target-ToSource-TransparentContainer
- CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } |
- { ID id-RAB-SetupList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-SetupList-EnhRelocInfoRes PRESENCE optional} |
- { ID id-RAB-FailedList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-FailedList-EnhRelocInfoRes PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupList-EnhRelocInfoRes ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoRes-IEs} }
-
-RAB-SetupItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-EnhRelocInfoRes CRITICALITY reject TYPE RAB-SetupItem-EnhRelocInfoRes PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-EnhRelocInfoRes ::= SEQUENCE {
- cN-DomainIndicator CN-DomainIndicator,
- rAB-ID RAB-ID,
- dataForwardingInformation TNLInformationEnhRelInfoRes OPTIONAL,
- ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-FailedList-EnhRelocInfoRes ::= RAB-IE-ContainerList { { RAB-FailedItem-EnhRelocInfoRes-IEs} }
-
-RAB-FailedItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedItem-EnhRelocInfoRes CRITICALITY reject TYPE RAB-FailedItem-EnhRelocInfoRes PRESENCE mandatory },
- ...
-}
-
-RAB-FailedItem-EnhRelocInfoRes ::= SEQUENCE {
- cN-DomainIndicator CN-DomainIndicator,
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RAB-FailedItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-FailedItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-TNLInformationEnhRelInfoRes ::=SEQUENCE{
- dl-forwardingTransportLayerAddress TransportLayerAddress,
- dl-forwardingTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoRes-ExtIEs} } OPTIONAL,
- ...
-}
-
-TNLInformationEnhRelInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RANAP-EnhancedRelocationInformationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
--- **************************************************************
---
--- RAB MODIFICATION REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Modify Request
---
--- **************************************************************
-
-RAB-ModifyRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-ModifyRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-ModifyRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-ModifyRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ModifyList CRITICALITY ignore TYPE RAB-ModifyList PRESENCE mandatory},
- ...
-}
-
-RAB-ModifyList ::= RAB-IE-ContainerList { {RAB-ModifyItemIEs} }
-
-RAB-ModifyItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ModifyItem CRITICALITY ignore TYPE RAB-ModifyItem PRESENCE mandatory },
- ...
-}
-
-RAB-ModifyItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- requested-RAB-Parameter-Values Requested-RAB-Parameter-Values,
- iE-Extensions ProtocolExtensionContainer { {RAB-ModifyItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ModifyItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ModifyRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- LOCATION RELATED DATA ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Related Data Request
---
--- **************************************************************
-
-LocationRelatedDataRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationRelatedDataRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationRelatedDataRequestExtensions} } OPTIONAL,
- ...
-}
-
-LocationRelatedDataRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-LocationRelatedDataRequestType CRITICALITY reject TYPE LocationRelatedDataRequestType PRESENCE optional },
- -- This IE is mandatory for UTRAN, optional for GERAN Iu Mode �-
- ...
-}
-
-LocationRelatedDataRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 5 to enable LCS support for GERAN Iu mode --
- { ID id-LocationRelatedDataRequestTypeSpecificToGERANIuMode CRITICALITY reject EXTENSION LocationRelatedDataRequestTypeSpecificToGERANIuMode PRESENCE optional }|
- -- The previous extension is optional for GERAN Iu Mode only, not applicable for UTRAN --
- -- Extension for Release 7 to request GANSS Assistance Data. This IE shall be present if the Requested Location Related Data Type IE is set to
- -- �Dedicated Assistance Data for Assisted GANSS� or `Dedicated Assistance Data for Assisted GPS and GANSS�--
- { ID id-RequestedGANSSAssistanceData CRITICALITY reject EXTENSION RequestedGANSSAssistanceData PRESENCE conditional },
- ...
-}
-
--- **************************************************************
---
--- Location Related Data Response
---
--- **************************************************************
-
-LocationRelatedDataResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationRelatedDataResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataResponseExtensions} } OPTIONAL,
- ...
-}
-
-LocationRelatedDataResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-BroadcastAssistanceDataDecipheringKeys CRITICALITY ignore TYPE BroadcastAssistanceDataDecipheringKeys PRESENCE optional },
- ...
-}
-
-LocationRelatedDataResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for error handling
- { ID id-CriticalityDiagnostics CRITICALITY ignore EXTENSION CriticalityDiagnostics PRESENCE optional }|
- { ID id-BroadcastGANSSAssistanceDataDecipheringKeys CRITICALITY ignore EXTENSION BroadcastAssistanceDataDecipheringKeys PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- Location Related Data Failure
---
--- **************************************************************
-
-LocationRelatedDataFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationRelatedDataFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataFailureExtensions} } OPTIONAL,
- ...
-}
-
-LocationRelatedDataFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-LocationRelatedDataFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for error handling
- { ID id-CriticalityDiagnostics CRITICALITY ignore EXTENSION CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Information Transfer Indication
---
--- **************************************************************
-
-InformationTransferIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { InformationTransferIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { { InformationTransferIndicationExtensions} } OPTIONAL,
- ...
-}
-
-InformationTransferIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationTransferID CRITICALITY reject TYPE InformationTransferID PRESENCE mandatory } |
- { ID id-ProvidedData CRITICALITY reject TYPE ProvidedData PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional},
- ...
-}
-
-InformationTransferIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Information Transfer Confirmation
---
--- **************************************************************
-
-InformationTransferConfirmation ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { InformationTransferConfirmationIEs} },
- protocolExtensions ProtocolExtensionContainer { { InformationTransferConfirmationExtensions} } OPTIONAL,
- ...
-}
-
-InformationTransferConfirmationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationTransferID CRITICALITY ignore TYPE InformationTransferID PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-InformationTransferConfirmationExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Information Transfer Failure
---
--- **************************************************************
-
-InformationTransferFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { InformationTransferFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { InformationTransferFailureExtensions} } OPTIONAL,
- ...
-}
-
-InformationTransferFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationTransferID CRITICALITY ignore TYPE InformationTransferID PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-InformationTransferFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- UE SPECIFIC INFORMATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE Specific Information Indication
---
--- **************************************************************
-
-UESpecificInformationIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {UESpecificInformationIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { {UESpecificInformationIndicationExtensions} } OPTIONAL,
- ...
-}
-
-UESpecificInformationIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional },
- ...
-}
-
-UESpecificInformationIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Direct Information Transfer
---
--- **************************************************************
-
-DirectInformationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { DirectInformationTransferIEs} },
- protocolExtensions ProtocolExtensionContainer { { DirectInformationTransferExtensions} } OPTIONAL,
- ...
-}
-
-DirectInformationTransferIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InterSystemInformationTransferType CRITICALITY ignore TYPE InterSystemInformationTransferType PRESENCE optional } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional },
- ...
-}
-
-DirectInformationTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- UPLINK INFORMATION EXCHANGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Uplink Information Exchange Request
---
--- **************************************************************
-
-UplinkInformationExchangeRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UplinkInformationExchangeRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeRequestExtensions} } OPTIONAL,
- ...
-}
-
-UplinkInformationExchangeRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory } |
- { ID id-InformationExchangeType CRITICALITY reject TYPE InformationExchangeType PRESENCE mandatory } |
- { ID id-InformationTransferType CRITICALITY reject TYPE InformationTransferType PRESENCE conditional
- -- This IE shall be present if the Information Exchange Type IE is set to "transfer" -- } |
- { ID id-InformationRequestType CRITICALITY reject TYPE InformationRequestType PRESENCE conditional
- -- This IE shall be present if the Information Exchange Type IE is set to "request" -- } |
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-UplinkInformationExchangeRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Uplink Information Exchange Response
---
--- **************************************************************
-
-UplinkInformationExchangeResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UplinkInformationExchangeResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeResponseExtensions} } OPTIONAL,
- ...
-}
-
-UplinkInformationExchangeResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory } |
- { ID id-InformationRequested CRITICALITY ignore TYPE InformationRequested PRESENCE optional } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-UplinkInformationExchangeResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Uplink Information Exchange Failure
---
--- **************************************************************
-
-UplinkInformationExchangeFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UplinkInformationExchangeFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeFailureExtensions} } OPTIONAL,
- ...
-}
-
-UplinkInformationExchangeFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-UplinkInformationExchangeFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS SESSION START PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS Session Start
---
--- **************************************************************
-
-MBMSSessionStart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionStartIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionStartExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionStartIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } |
- { ID id-MBMSSessionIdentity CRITICALITY ignore TYPE MBMSSessionIdentity PRESENCE optional } |
- { ID id-MBMSBearerServiceType CRITICALITY reject TYPE MBMSBearerServiceType PRESENCE mandatory } |
- { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }|
- { ID id-RAB-Parameters CRITICALITY reject TYPE RAB-Parameters PRESENCE mandatory } |
- { ID id-PDP-TypeInformation CRITICALITY ignore TYPE PDP-TypeInformation PRESENCE optional } |
- { ID id-MBMSSessionDuration CRITICALITY reject TYPE MBMSSessionDuration PRESENCE mandatory } |
- { ID id-MBMSServiceArea CRITICALITY reject TYPE MBMSServiceArea PRESENCE mandatory } |
- { ID id-FrequenceLayerConvergenceFlag CRITICALITY ignore TYPE FrequenceLayerConvergenceFlag PRESENCE optional } |
- { ID id-RAListofIdleModeUEs CRITICALITY ignore TYPE RAListofIdleModeUEs PRESENCE optional } |
- { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional } |
- { ID id-MBMSSessionRepetitionNumber CRITICALITY ignore TYPE MBMSSessionRepetitionNumber PRESENCE optional } |
- { ID id-TimeToMBMSDataTransfer CRITICALITY reject TYPE TimeToMBMSDataTransfer PRESENCE mandatory },
- ...
-}
-
-MBMSSessionStartExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 6 to enable MBMS counting in broadcast mode --
- { ID id-MBMSCountingInformation CRITICALITY ignore EXTENSION MBMSCountingInformation PRESENCE optional } |
- { ID id-MBMSSynchronisationInformation CRITICALITY ignore EXTENSION MBMSSynchronisationInformation PRESENCE optional },
- ...
-}
-
-MBMSSynchronisationInformation ::= SEQUENCE {
- mBMSHCIndicator MBMSHCIndicator,
- iPMulticastAddress IPMulticastAddress,
- gTPDLTEID GTP-TEI,
- iE-Extensions ProtocolExtensionContainer { {MBMSSynchronisationInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-MBMSSynchronisationInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Session Start Response
---
--- **************************************************************
-
-MBMSSessionStartResponse::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MBMSSessionStartResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {MBMSSessionStartResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionStartResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSSessionStartResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Session Start Failure
---
--- **************************************************************
-
-MBMSSessionStartFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionStartFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionStartFailureExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionStartFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSSessionStartFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS SESSION UPDATE PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS Session Update
---
--- **************************************************************
-
-MBMSSessionUpdate ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionUpdateIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionUpdateIEs RANAP-PROTOCOL-IES ::= {
- { ID id-SessionUpdateID CRITICALITY reject TYPE SessionUpdateID PRESENCE mandatory } |
- { ID id-DeltaRAListofIdleModeUEs CRITICALITY reject TYPE DeltaRAListofIdleModeUEs PRESENCE mandatory },
- ...
-}
-
-MBMSSessionUpdateExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Session Update Response
---
--- **************************************************************
-
-MBMSSessionUpdateResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionUpdateResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionUpdateResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-SessionUpdateID CRITICALITY ignore TYPE SessionUpdateID PRESENCE mandatory } |
- { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSSessionUpdateResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Session Update Failure
---
--- **************************************************************
-
-MBMSSessionUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionUpdateFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateFailureExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionUpdateFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-SessionUpdateID CRITICALITY ignore TYPE SessionUpdateID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSSessionUpdateFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS SESSION STOP PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS Session Stop
---
--- **************************************************************
-
-MBMSSessionStop ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionStopIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionStopExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionStopIEs RANAP-PROTOCOL-IES ::= {
- { ID id-MBMSCNDe-Registration CRITICALITY reject TYPE MBMSCNDe-Registration PRESENCE mandatory },
- ...
-}
-
-MBMSSessionStopExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Session Stop Response
---
--- **************************************************************
-
-MBMSSessionStopResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSSessionStopResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSSessionStopResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSSessionStopResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSSessionStopResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS UE LINKING PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS UE Linking Request
---
--- **************************************************************
-
-MBMSUELinkingRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSUELinkingRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSUELinkingRequestExtensions} } OPTIONAL,
- ...
-}
-
-MBMSUELinkingRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-JoinedMBMSBearerServicesList CRITICALITY reject TYPE JoinedMBMSBearerService-IEs PRESENCE optional } |
- { ID id-LeftMBMSBearerServicesList CRITICALITY reject TYPE LeftMBMSBearerService-IEs PRESENCE optional },
- ...
-}
-
-LeftMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
- SEQUENCE {
- tMGI TMGI,
- iE-Extensions ProtocolExtensionContainer { {LeftMBMSBearerService-ExtIEs} } OPTIONAL,
- ...
- }
-
-LeftMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MBMSUELinkingRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS UE Linking Response
---
--- **************************************************************
-
-MBMSUELinkingResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSUELinkingResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSUELinkingResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSUELinkingResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-UnsuccessfulLinkingList CRITICALITY ignore TYPE UnsuccessfulLinking-IEs PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-UnsuccessfulLinking-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
- SEQUENCE {
- tMGI TMGI,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {UnsuccessfulLinking-ExtIEs} } OPTIONAL,
- ...
- }
-
-UnsuccessfulLinking-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MBMSUELinkingResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS REGISTRATION PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS Registration Request
---
--- **************************************************************
-
-MBMSRegistrationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSRegistrationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationRequestExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRegistrationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-MBMSRegistrationRequestType CRITICALITY reject TYPE MBMSRegistrationRequestType PRESENCE mandatory } |
- { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } |
- { ID id-IPMulticastAddress CRITICALITY reject TYPE IPMulticastAddress PRESENCE conditional
- -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } |
- { ID id-APN CRITICALITY reject TYPE APN PRESENCE conditional
- -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } |
- { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE optional },
- ...
-}
-
-MBMSRegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- MBMS Registration Response
---
--- **************************************************************
-
-MBMSRegistrationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSRegistrationResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRegistrationResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE optional } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSRegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS Registration Failure
---
--- **************************************************************
-
-MBMSRegistrationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSRegistrationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationFailureExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRegistrationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE optional } |
- { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSRegistrationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS CN DE-REGISTRATION PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS CN De-Registration Request
---
--- **************************************************************
-
-MBMSCNDe-RegistrationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSCNDe-RegistrationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSCNDe-RegistrationRequestExtensions} } OPTIONAL,
- ...
-}
-
-MBMSCNDe-RegistrationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } |
- { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional },
- ...
-}
-
-MBMSCNDe-RegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS CN De-Registration Response
---
--- **************************************************************
-
-MBMSCNDe-RegistrationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSCNDe-RegistrationResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSCNDe-RegistrationResponseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSCNDe-RegistrationResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
-MBMSCNDe-RegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
--- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- MBMS RAB ESTABLISHMENT INDICATION PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS RAB Establishment Indication
---
--- **************************************************************
-
-MBMSRABEstablishmentIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { MBMSRABEstablishmentIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { { MBMSRABEstablishmentIndicationExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRABEstablishmentIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE mandatory } ,
- ...
-}
-
-MBMSRABEstablishmentIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS RAB RELEASE PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MBMS RAB Release Request
---
--- **************************************************************
-
-MBMSRABReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MBMSRABReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRABReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-
-MBMSRABReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS RAB Release
---
--- **************************************************************
-
-MBMSRABRelease ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MBMSRABReleaseIEs} },
- protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRABReleaseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-MBMSRABReleaseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- MBMS RAB Release Failure
---
--- **************************************************************
-
-MBMSRABReleaseFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MBMSRABReleaseFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseFailureExtensions} } OPTIONAL,
- ...
-}
-
-MBMSRABReleaseFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-MBMSRABReleaseFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRVCC PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- SRVCC CS Keys Request
---
--- **************************************************************
-
-SRVCC-CSKeysRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRVCC-CSKeysRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysRequestExtensions} } OPTIONAL,
- ...
-}
-
-SRVCC-CSKeysRequestIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-SRVCC-CSKeysRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRVCC CS Keys Response
---
--- **************************************************************
-
-SRVCC-CSKeysResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRVCC-CSKeysResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysResponseExtensions} } OPTIONAL,
- ...
-}
-
-SRVCC-CSKeysResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IntegrityProtectionKey CRITICALITY reject TYPE IntegrityProtectionKey PRESENCE mandatory }|
- { ID id-EncryptionKey CRITICALITY reject TYPE EncryptionKey PRESENCE mandatory }|
- { ID id-SRVCC-Information CRITICALITY reject TYPE SRVCC-Information PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SRVCC-CSKeysResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-END
-
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-PDU-Descriptions.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-PDU-Descriptions.asn1
deleted file mode 100644
index a7f4aded76..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP-PDU-Descriptions.asn1
+++ /dev/null
@@ -1,619 +0,0 @@
--- RANAP-PDU-Descriptions.asn
---
--- Taken from 3GPP TS 25.413 V8.2.1 (2009-03)
--- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip
---
--- 9.3.2 Elementary Procedure Definitions
---
--- $Id$
---
-
--- **************************************************************
---
--- Elementary Procedure definitions
---
--- **************************************************************
-
-RANAP-PDU-Descriptions {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- ProcedureCode
-FROM RANAP-CommonDataTypes
-
- Iu-ReleaseCommand,
- Iu-ReleaseComplete,
- RelocationCommand,
- RelocationPreparationFailure,
- RelocationRequired,
- RelocationRequest,
- RelocationRequestAcknowledge,
- RelocationFailure,
- RelocationCancel,
- RelocationCancelAcknowledge,
- EnhancedRelocationCompleteRequest,
- EnhancedRelocationCompleteResponse,
- EnhancedRelocationCompleteFailure,
- EnhancedRelocationCompleteConfirm,
- SRNS-ContextRequest,
- SRNS-ContextResponse,
- SecurityModeCommand,
- SecurityModeComplete,
- SecurityModeReject,
- DataVolumeReportRequest,
- DataVolumeReport,
- Reset,
- ResetAcknowledge,
- RAB-ReleaseRequest,
- Iu-ReleaseRequest,
- RelocationDetect,
- RelocationComplete,
- Paging,
- CommonID,
- CN-InvokeTrace,
- CN-DeactivateTrace,
- LocationReportingControl,
- LocationReport,
- InitialUE-Message,
- DirectTransfer,
- Overload,
- ErrorIndication,
- SRNS-DataForwardCommand,
- ForwardSRNS-Context,
- RAB-AssignmentRequest,
- RAB-AssignmentResponse,
- RAB-ModifyRequest,
- PrivateMessage,
- ResetResource,
- ResetResourceAcknowledge,
- RANAP-RelocationInformation,
- RANAP-EnhancedRelocationInformationRequest,
- RANAP-EnhancedRelocationInformationResponse,
- LocationRelatedDataRequest,
- LocationRelatedDataResponse,
- LocationRelatedDataFailure,
- InformationTransferIndication,
- InformationTransferConfirmation,
- InformationTransferFailure,
- UESpecificInformationIndication,
- DirectInformationTransfer,
- UplinkInformationExchangeRequest,
- UplinkInformationExchangeResponse,
- UplinkInformationExchangeFailure,
- MBMSSessionStart,
- MBMSSessionStartResponse,
- MBMSSessionStartFailure,
- MBMSSessionUpdate,
- MBMSSessionUpdateResponse,
- MBMSSessionUpdateFailure,
- MBMSSessionStop,
- MBMSSessionStopResponse,
- MBMSUELinkingRequest,
- MBMSUELinkingResponse,
- MBMSRegistrationRequest,
- MBMSRegistrationResponse,
- MBMSRegistrationFailure,
- MBMSCNDe-RegistrationRequest,
- MBMSCNDe-RegistrationResponse,
- MBMSRABEstablishmentIndication,
- MBMSRABReleaseRequest,
- MBMSRABRelease,
- MBMSRABReleaseFailure,
- SRVCC-CSKeysRequest,
- SRVCC-CSKeysResponse
-FROM RANAP-PDU-Contents
-
- id-LocationRelatedData,
- id-CN-DeactivateTrace,
- id-CN-InvokeTrace,
- id-CommonID,
- id-DataVolumeReport,
- id-DirectTransfer,
- id-ErrorIndication,
- id-ForwardSRNS-Context,
- id-InformationTransfer,
- id-InitialUE-Message,
- id-Iu-Release,
- id-Iu-ReleaseRequest,
- id-LocationReport,
- id-LocationReportingControl,
- id-OverloadControl,
- id-Paging,
- id-privateMessage,
- id-RAB-Assignment,
- id-RAB-ReleaseRequest,
- id-RAB-ModifyRequest,
- id-RANAP-Relocation,
- id-RANAPenhancedRelocation,
- id-RelocationCancel,
- id-RelocationComplete,
- id-RelocationDetect,
- id-RelocationPreparation,
- id-RelocationResourceAllocation,
- id-enhancedRelocationComplete,
- id-enhancedRelocationCompleteConfirm,
- id-Reset,
- id-SRNS-ContextTransfer,
- id-SRNS-DataForward,
- id-SecurityModeControl,
- id-ResetResource,
- id-UESpecificInformation,
- id-DirectInformationTransfer,
- id-UplinkInformationExchange,
- id-MBMSSessionStart,
- id-MBMSSessionUpdate,
- id-MBMSSessionStop,
- id-MBMSUELinking,
- id-MBMSRegistration,
- id-MBMSCNDe-Registration-Procedure,
- id-MBMSRABEstablishmentIndication,
- id-MBMSRABRelease,
- id-SRVCCPreparation
-
-FROM RANAP-Constants;
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &Outcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- outcome Outcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-Outcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- RANAP-ELEMENTARY-PROCEDURES-CLASS-1 |
- RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
- RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
- ...
-}
-
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation |
- relocationResourceAllocation |
- relocationCancel |
- sRNS-ContextTransfer |
- securityModeControl |
- dataVolumeReport |
- reset |
- resetResource ,
- ...,
- locationRelatedData |
- informationTransfer |
- uplinkInformationExchange |
- mBMSSessionStart |
- mBMSSessionUpdate |
- mBMSSessionStop |
- mBMSUELinking |
- mBMSRegistration |
- mBMSCNDe-Registration |
- mBMSRABRelease |
- enhancedRelocationComplete |
- rANAP-enhancedRelocation |
- sRVCCPreparation}
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= {
- rAB-ReleaseRequest |
- iu-ReleaseRequest |
- relocationDetect |
- relocationComplete |
- paging |
- commonID |
- cN-InvokeTrace |
- cN-DeactivateTrace |
- locationReportingControl |
- locationReport |
- initialUE-Message |
- directTransfer |
- overloadControl |
- errorIndication |
- sRNS-DataForward |
- forwardSRNS-Context |
- privateMessage |
- rANAP-Relocation ,
- ...,
- rAB-ModifyRequest |
- uESpecificInformation |
- directInformationTransfer |
- mBMSRABEstablishmentIndication |
- enhancedRelocationCompleteConfirm
-}
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= {
- rAB-Assignment ,
- ...
-}
-
--- **************************************************************
---
--- Interface Elementary Procedures
---
--- **************************************************************
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release
- CRITICALITY reject
-}
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationRequired
- SUCCESSFUL OUTCOME RelocationCommand
- UNSUCCESSFUL OUTCOME RelocationPreparationFailure
- PROCEDURE CODE id-RelocationPreparation
- CRITICALITY reject
-}
-
-relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationRequest
- SUCCESSFUL OUTCOME RelocationRequestAcknowledge
- UNSUCCESSFUL OUTCOME RelocationFailure
- PROCEDURE CODE id-RelocationResourceAllocation
- CRITICALITY reject
-}
-
-relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationCancel
- SUCCESSFUL OUTCOME RelocationCancelAcknowledge
- PROCEDURE CODE id-RelocationCancel
- CRITICALITY reject
-}
-
-sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRNS-ContextRequest
- SUCCESSFUL OUTCOME SRNS-ContextResponse
- PROCEDURE CODE id-SRNS-ContextTransfer
- CRITICALITY reject
-}
-
-securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SecurityModeCommand
- SUCCESSFUL OUTCOME SecurityModeComplete
- UNSUCCESSFUL OUTCOME SecurityModeReject
- PROCEDURE CODE id-SecurityModeControl
- CRITICALITY reject
-}
-
-dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DataVolumeReportRequest
- SUCCESSFUL OUTCOME DataVolumeReport
- PROCEDURE CODE id-DataVolumeReport
- CRITICALITY reject
-}
-
-
-reset RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Reset
- SUCCESSFUL OUTCOME ResetAcknowledge
- PROCEDURE CODE id-Reset
- CRITICALITY reject
-}
-
-rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-ReleaseRequest
- PROCEDURE CODE id-RAB-ReleaseRequest
- CRITICALITY ignore
-}
-
-iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseRequest
- PROCEDURE CODE id-Iu-ReleaseRequest
- CRITICALITY ignore
-}
-
-relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationDetect
- PROCEDURE CODE id-RelocationDetect
- CRITICALITY ignore
-}
-
-relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationComplete
- PROCEDURE CODE id-RelocationComplete
- CRITICALITY ignore
-}
-
-paging RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Paging
- PROCEDURE CODE id-Paging
- CRITICALITY ignore
-}
-
-commonID RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonID
- PROCEDURE CODE id-CommonID
- CRITICALITY ignore
-}
-
-cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-InvokeTrace
- PROCEDURE CODE id-CN-InvokeTrace
- CRITICALITY ignore
-}
-
-cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-DeactivateTrace
- PROCEDURE CODE id-CN-DeactivateTrace
- CRITICALITY ignore
-}
-
-locationReportingControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingControl
- PROCEDURE CODE id-LocationReportingControl
- CRITICALITY ignore
-}
-
-locationReport RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReport
- PROCEDURE CODE id-LocationReport
- CRITICALITY ignore
-}
-
-initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialUE-Message
- PROCEDURE CODE id-InitialUE-Message
- CRITICALITY ignore
-}
-
-directTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DirectTransfer
- PROCEDURE CODE id-DirectTransfer
- CRITICALITY ignore
-}
-
-overloadControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Overload
- PROCEDURE CODE id-OverloadControl
- CRITICALITY ignore
-}
-
-errorIndication RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- PROCEDURE CODE id-ErrorIndication
- CRITICALITY ignore
-}
-
-sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRNS-DataForwardCommand
- PROCEDURE CODE id-SRNS-DataForward
- CRITICALITY ignore
-}
-
-forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ForwardSRNS-Context
- PROCEDURE CODE id-ForwardSRNS-Context
- CRITICALITY ignore
-}
-
-rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-AssignmentRequest
- OUTCOME RAB-AssignmentResponse
- PROCEDURE CODE id-RAB-Assignment
- CRITICALITY reject
-}
-
-privateMessage RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
-
- PROCEDURE CODE id-privateMessage
- CRITICALITY ignore
-}
-
-resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ResetResource
- SUCCESSFUL OUTCOME ResetResourceAcknowledge
- PROCEDURE CODE id-ResetResource
- CRITICALITY reject
-}
-
-rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RANAP-RelocationInformation
- PROCEDURE CODE id-RANAP-Relocation
- CRITICALITY ignore
-}
-
-rAB-ModifyRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-ModifyRequest
- PROCEDURE CODE id-RAB-ModifyRequest
- CRITICALITY ignore
-}
-
-locationRelatedData RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationRelatedDataRequest
- SUCCESSFUL OUTCOME LocationRelatedDataResponse
- UNSUCCESSFUL OUTCOME LocationRelatedDataFailure
- PROCEDURE CODE id-LocationRelatedData
- CRITICALITY reject
-}
-
-informationTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InformationTransferIndication
- SUCCESSFUL OUTCOME InformationTransferConfirmation
- UNSUCCESSFUL OUTCOME InformationTransferFailure
- PROCEDURE CODE id-InformationTransfer
- CRITICALITY reject
-}
-
-uESpecificInformation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UESpecificInformationIndication
- PROCEDURE CODE id-UESpecificInformation
- CRITICALITY ignore
-}
-
-directInformationTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DirectInformationTransfer
- PROCEDURE CODE id-DirectInformationTransfer
- CRITICALITY ignore
-}
-
-uplinkInformationExchange RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UplinkInformationExchangeRequest
- SUCCESSFUL OUTCOME UplinkInformationExchangeResponse
- UNSUCCESSFUL OUTCOME UplinkInformationExchangeFailure
- PROCEDURE CODE id-UplinkInformationExchange
- CRITICALITY reject
-}
-
-mBMSSessionStart RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSSessionStart
- SUCCESSFUL OUTCOME MBMSSessionStartResponse
- UNSUCCESSFUL OUTCOME MBMSSessionStartFailure
- PROCEDURE CODE id-MBMSSessionStart
- CRITICALITY reject
-}
-
-mBMSSessionUpdate RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSSessionUpdate
- SUCCESSFUL OUTCOME MBMSSessionUpdateResponse
- UNSUCCESSFUL OUTCOME MBMSSessionUpdateFailure
- PROCEDURE CODE id-MBMSSessionUpdate
- CRITICALITY reject
-}
-
-mBMSSessionStop RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSSessionStop
- SUCCESSFUL OUTCOME MBMSSessionStopResponse
- PROCEDURE CODE id-MBMSSessionStop
- CRITICALITY reject
-}
-
-mBMSUELinking RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSUELinkingRequest
- OUTCOME MBMSUELinkingResponse
- PROCEDURE CODE id-MBMSUELinking
- CRITICALITY reject
-}
-
-mBMSRegistration RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSRegistrationRequest
- SUCCESSFUL OUTCOME MBMSRegistrationResponse
- UNSUCCESSFUL OUTCOME MBMSRegistrationFailure
- PROCEDURE CODE id-MBMSRegistration
- CRITICALITY reject
-}
-
-mBMSCNDe-Registration RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSCNDe-RegistrationRequest
- SUCCESSFUL OUTCOME MBMSCNDe-RegistrationResponse
- PROCEDURE CODE id-MBMSCNDe-Registration-Procedure
- CRITICALITY reject
-}
-
-mBMSRABEstablishmentIndication RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSRABEstablishmentIndication
- PROCEDURE CODE id-MBMSRABEstablishmentIndication
- CRITICALITY ignore
-}
-
-mBMSRABRelease RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MBMSRABReleaseRequest
- SUCCESSFUL OUTCOME MBMSRABRelease
- UNSUCCESSFUL OUTCOME MBMSRABReleaseFailure
- PROCEDURE CODE id-MBMSRABRelease
- CRITICALITY reject
-}
-enhancedRelocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE EnhancedRelocationCompleteRequest
- SUCCESSFUL OUTCOME EnhancedRelocationCompleteResponse
- UNSUCCESSFUL OUTCOME EnhancedRelocationCompleteFailure
- PROCEDURE CODE id-enhancedRelocationComplete
- CRITICALITY reject
-}
-
-enhancedRelocationCompleteConfirm RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE EnhancedRelocationCompleteConfirm
- PROCEDURE CODE id-enhancedRelocationCompleteConfirm
- CRITICALITY ignore
-}
-
-rANAP-enhancedRelocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RANAP-EnhancedRelocationInformationRequest
- SUCCESSFUL OUTCOME RANAP-EnhancedRelocationInformationResponse
- PROCEDURE CODE id-RANAPenhancedRelocation
- CRITICALITY reject
-}
-
-sRVCCPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRVCC-CSKeysRequest
- OUTCOME SRVCC-CSKeysResponse
- PROCEDURE CODE id-SRVCCPreparation
- CRITICALITY reject
-}
-
-END
-
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP.asn1
deleted file mode 100644
index 55fb58b163..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAP.asn1
+++ /dev/null
@@ -1,3237 +0,0 @@
-RANAP DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
--- RANAP-CommonDataTypes { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..65535),
- global OBJECT IDENTIFIER
-}
-
-ProcedureCode ::= INTEGER (0..255)
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-ProtocolIE-ID ::= INTEGER (0..65535)
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome }
-
--- END
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
--- RANAP-Constants { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-RAB-Assignment INTEGER ::= 0
-id-Iu-Release INTEGER ::= 1
-id-RelocationPreparation INTEGER ::= 2
-id-RelocationResourceAllocation INTEGER ::= 3
-id-RelocationCancel INTEGER ::= 4
-id-SRNS-ContextTransfer INTEGER ::= 5
-id-SecurityModeControl INTEGER ::= 6
-id-DataVolumeReport INTEGER ::= 7
-id-CN-InformationBroadcast INTEGER ::= 8
-id-Reset INTEGER ::= 9
-id-RAB-ReleaseRequest INTEGER ::= 10
-id-Iu-ReleaseRequest INTEGER ::= 11
-id-RelocationDetect INTEGER ::= 12
-id-RelocationComplete INTEGER ::= 13
-id-Paging INTEGER ::= 14
-id-CommonID INTEGER ::= 15
-id-CN-InvokeTrace INTEGER ::= 16
-id-LocationReportingControl INTEGER ::= 17
-id-LocationReport INTEGER ::= 18
-id-InitialUE-Message INTEGER ::= 19
-id-DirectTransfer INTEGER ::= 20
-id-OverloadControl INTEGER ::= 21
-id-ErrorIndication INTEGER ::= 22
-id-SRNS-DataForward INTEGER ::= 23
-id-ForwardSRNS-Context INTEGER ::= 24
-id-privateMessage INTEGER ::= 25
-id-CN-DeactivateTrace INTEGER ::= 26
-id-ResetResource INTEGER ::= 27
-id-RANAP-Relocation INTEGER ::= 28
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
-
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfDTs INTEGER ::= 15
-maxNrOfErrors INTEGER ::= 256
-maxNrOfIuSigConIds INTEGER ::= 1000
-maxNrOfPDPDirections INTEGER ::= 2
-maxNrOfPieces INTEGER ::= 16
-maxNrOfPoints INTEGER ::= 15
-maxNrOfRABs INTEGER ::= 256
-maxNrOfSeparateTrafficDirections INTEGER ::= 2
-maxNrOfVol INTEGER ::= 2
-
-maxRAB-Subflows INTEGER ::= 7
-maxRAB-SubflowCombination INTEGER ::= 64
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-AreaIdentity INTEGER ::= 0
-id-CN-BroadcastInformationPiece INTEGER ::= 1
-id-CN-BroadcastInformationPieceList INTEGER ::= 2
-id-CN-DomainIndicator INTEGER ::= 3
-id-Cause INTEGER ::= 4
-id-ChosenEncryptionAlgorithm INTEGER ::= 5
-id-ChosenIntegrityProtectionAlgorithm INTEGER ::= 6
-id-ClassmarkInformation2 INTEGER ::= 7
-id-ClassmarkInformation3 INTEGER ::= 8
-id-CriticalityDiagnostics INTEGER ::= 9
-id-DL-GTP-PDU-SequenceNumber INTEGER ::= 10
-id-EncryptionInformation INTEGER ::= 11
-id-IntegrityProtectionInformation INTEGER ::= 12
-id-IuTransportAssociation INTEGER ::= 13
-id-L3-Information INTEGER ::= 14
-id-LAI INTEGER ::= 15
-id-NAS-PDU INTEGER ::= 16
-id-NonSearchingIndication INTEGER ::= 17
-id-NumberOfSteps INTEGER ::= 18
-id-OMC-ID INTEGER ::= 19
-id-OldBSS-ToNewBSS-Information INTEGER ::= 20
-id-PagingAreaID INTEGER ::= 21
-id-PagingCause INTEGER ::= 22
-id-PermanentNAS-UE-ID INTEGER ::= 23
-id-RAB-ContextItem INTEGER ::= 24
-id-RAB-ContextList INTEGER ::= 25
-id-RAB-DataForwardingItem INTEGER ::= 26
-id-RAB-DataForwardingItem-SRNS-CtxReq INTEGER ::= 27
-id-RAB-DataForwardingList INTEGER ::= 28
-id-RAB-DataForwardingList-SRNS-CtxReq INTEGER ::= 29
-id-RAB-DataVolumeReportItem INTEGER ::= 30
-id-RAB-DataVolumeReportList INTEGER ::= 31
-id-RAB-DataVolumeReportRequestItem INTEGER ::= 32
-id-RAB-DataVolumeReportRequestList INTEGER ::= 33
-id-RAB-FailedItem INTEGER ::= 34
-id-RAB-FailedList INTEGER ::= 35
-id-RAB-ID INTEGER ::= 36
-id-RAB-QueuedItem INTEGER ::= 37
-id-RAB-QueuedList INTEGER ::= 38
-id-RAB-ReleaseFailedList INTEGER ::= 39
-id-RAB-ReleaseItem INTEGER ::= 40
-id-RAB-ReleaseList INTEGER ::= 41
-id-RAB-ReleasedItem INTEGER ::= 42
-id-RAB-ReleasedList INTEGER ::= 43
-id-RAB-ReleasedList-IuRelComp INTEGER ::= 44
-id-RAB-RelocationReleaseItem INTEGER ::= 45
-id-RAB-RelocationReleaseList INTEGER ::= 46
-id-RAB-SetupItem-RelocReq INTEGER ::= 47
-id-RAB-SetupItem-RelocReqAck INTEGER ::= 48
-id-RAB-SetupList-RelocReq INTEGER ::= 49
-id-RAB-SetupList-RelocReqAck INTEGER ::= 50
-id-RAB-SetupOrModifiedItem INTEGER ::= 51
-id-RAB-SetupOrModifiedList INTEGER ::= 52
-id-RAB-SetupOrModifyItem INTEGER ::= 53
-id-RAB-SetupOrModifyList INTEGER ::= 54
-id-RAC INTEGER ::= 55
-id-RelocationType INTEGER ::= 56
-id-RequestType INTEGER ::= 57
-id-SAI INTEGER ::= 58
-id-SAPI INTEGER ::= 59
-id-SourceID INTEGER ::= 60
-id-SourceRNC-ToTargetRNC-TransparentContainer INTEGER ::= 61
-id-TargetID INTEGER ::= 62
-id-TargetRNC-ToSourceRNC-TransparentContainer INTEGER ::= 63
-id-TemporaryUE-ID INTEGER ::= 64
-id-TraceReference INTEGER ::= 65
-id-TraceType INTEGER ::= 66
-id-TransportLayerAddress INTEGER ::= 67
-id-TriggerID INTEGER ::= 68
-id-UE-ID INTEGER ::= 69
-id-UL-GTP-PDU-SequenceNumber INTEGER ::= 70
-id-RAB-FailedtoReportItem INTEGER ::= 71
-id-RAB-FailedtoReportList INTEGER ::= 72
-id-KeyStatus INTEGER ::= 75
-id-DRX-CycleLengthCoefficient INTEGER ::= 76
-id-IuSigConIdList INTEGER ::= 77
-id-IuSigConIdItem INTEGER ::= 78
-id-IuSigConId INTEGER ::= 79
-id-DirectTransferInformationItem-RANAP-RelocInf INTEGER ::= 80
-id-DirectTransferInformationList-RANAP-RelocInf INTEGER ::= 81
-id-RAB-ContextItem-RANAP-RelocInf INTEGER ::= 82
-id-RAB-ContextList-RANAP-RelocInf INTEGER ::= 83
-id-RAB-ContextFailedtoTransferItem INTEGER ::= 84
-id-RAB-ContextFailedtoTransferList INTEGER ::= 85
-id-GlobalRNC-ID INTEGER ::= 86
-id-RAB-ReleasedItem-IuRelComp INTEGER ::= 87
-
--- END **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
--- RANAP-Containers { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-RANAP-PROTOCOL-IES ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-RANAP-PROTOCOL-IES-PAIR ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &firstCriticality Criticality,
- &FirstValue,
- &secondCriticality Criticality,
- &SecondValue,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- FIRST CRITICALITY &firstCriticality
- FIRST TYPE &FirstValue
- SECOND CRITICALITY &secondCriticality
- SECOND TYPE &SecondValue
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol Extensions
---
--- **************************************************************
-
-RANAP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolExtensionID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Private IEs
---
--- **************************************************************
-
-RANAP-PRIVATE-IES ::= CLASS {
- &id PrivateIE-ID,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Container for Protocol IEs
---
--- **************************************************************
-
-ProtocolIE-Container {RANAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality RANAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Protocol IE Pairs
---
--- **************************************************************
-
-ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-FieldPair {{IEsSetParam}}
-
-ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
- firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
- firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
- secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
- secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-Container {{IEsSetParam}}
-
-ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-ContainerPair {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Private IEs
---
--- **************************************************************
-
-PrivateIE-Container {RANAP-PRIVATE-IES : IEsSetParam } ::=
- SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
- PrivateIE-Field {{IEsSetParam}}
-
-PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
- id RANAP-PRIVATE-IES.&id ({IEsSetParam}),
- criticality RANAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
- value RANAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
-}
-
--- END **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
--- RANAP-IEs { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
--- A
-
-AllocationOrRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
- queuingAllowed QueuingAllowed,
- iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AreaIdentity ::= CHOICE {
- sAI SAI,
- geographicalArea GeographicalArea,
- ...
-}
-
--- B
-
-BindingID ::= OCTET STRING (SIZE (4))
-
--- C
-
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transmissionNetwork CauseTransmissionNetwork,
- nAS CauseNAS,
- protocol CauseProtocol,
- misc CauseMisc,
- non-Standard CauseNon-Standard,
- ...
-}
-
-CauseMisc ::= INTEGER {
- om-intervention (113),
- no-resource-available (114),
- unspecified-failure (115),
- network-optimisation (116)
-} (113..128)
-
-CauseNAS ::= INTEGER {
- user-restriction-start-indication (81),
- user-restriction-end-indication (82),
- normal-release (83)
-} (81..96)
-
-CauseProtocol ::= INTEGER {
- transfer-syntax-error (97),
- semantic-error (98),
- message-not-compatible-with-receiver-state (99),
- abstract-syntax-error-reject (100),
- abstract-syntax-error-ignore-and-notify (101)
-
-} (97..112)
-
-CauseRadioNetwork ::= INTEGER {
- rab-pre-empted (1),
- trelocoverall-expiry (2),
- trelocprep-expiry (3),
- treloccomplete-expiry (4),
- tqueing-expiry (5),
- relocation-triggered (6),
- trellocalloc-expiry(7),
- unable-to-establish-during-relocation (8),
- unknown-target-rnc (9),
- relocation-cancelled (10),
- successful-relocation (11),
- requested-ciphering-and-or-integrity-protection-algorithms-not-supported (12),
- change-of-ciphering-and-or-integrity-protection-is-not-supported (13),
- failure-in-the-radio-interface-procedure (14),
- release-due-to-utran-generated-reason (15),
- user-inactivity (16),
- time-critical-relocation (17),
- requested-traffic-class-not-available (18),
- invalid-rab-parameters-value (19),
- requested-maximum-bit-rate-not-available (20),
- requested-guaranteed-bit-rate-not-available (21),
- requested-transfer-delay-not-achievable (22),
- invalid-rab-parameters-combination (23),
- condition-violation-for-sdu-parameters (24),
- condition-violation-for-traffic-handling-priority (25),
- condition-violation-for-guaranteed-bit-rate (26),
- user-plane-versions-not-supported (27),
- iu-up-failure (28),
- relocation-failure-in-target-CN-RNC-or-target-system(29),
- invalid-RAB-ID (30),
- no-remaining-rab (31),
- interaction-with-other-procedure (32),
- requested-maximum-bit-rate-for-dl-not-available (33),
- requested-maximum-bitr-ate-for-ul-not-available (34),
- requested-guaranteed-bit-rate-for-dl-not-available (35),
- requested-guaranteed-bit-rate-for-ul-not-available (36),
- repeated-integrity-checking-failure (37),
- requested-report-type-not-supported (38),
- request-superseded (39),
- release-due-to-UE-generated-signalling-connection-release (40)
-} (1..64)
-
-CauseNon-Standard ::= INTEGER (129..256)
-
-CauseTransmissionNetwork ::= INTEGER {
- logical-error-unknown-iu-transport-association (65)
-} (65..80)
-
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureCode ProcedureCode OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- criticalityResponse Criticality OPTIONAL,
- iEsCriticalityResponses CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
- SEQUENCE {
- criticalityResponse Criticality,
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
- ...
- }
-
-CriticalityDiagnostics-IE-List-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CGI ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- lAC LAC,
- cI CI,
- iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL
-}
-
-CGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ChosenEncryptionAlgorithm ::= EncryptionAlgorithm
-
-ChosenIntegrityProtectionAlgorithm ::= IntegrityProtectionAlgorithm
-
-CI ::= OCTET STRING (SIZE (2))
-
-ClassmarkInformation2 ::= OCTET STRING
-
-ClassmarkInformation3 ::= OCTET STRING
-
-CN-DomainIndicator ::= ENUMERATED {
- cs-domain,
- ps-domain
-}
-
-
-CN-BroadcastArea ::= CHOICE {
- lAI LAI,
- rAI RAI,
- sAI SAI,
- geographicalArea GeographicalArea,
- ...
-}
-
--- D
-
-DataVolumeReference ::= INTEGER (0..255)
-
-DataVolumeReportingIndication ::= ENUMERATED {
- do-report,
- do-not-report
-}
-
-DCH-ID ::= INTEGER (0..255)
-
-DeliveryOfErroneousSDU ::= ENUMERATED {
- yes,
- no,
- no-error-detection-consideration
-}
-
-DeliveryOrder::= ENUMERATED {
- delivery-order-requested,
- delivery-order-not-requested
-}
-
-DL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
--- Reference: xx.xxx
-
-DL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
--- Reference: xx.xxx
-
-D-RNTI ::= INTEGER (0..1048575)
-
-DRX-CycleLengthCoefficient ::= INTEGER (2..12)
-DSCH-ID ::= INTEGER (0..255)
-
--- E
-
-EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1) } (0..15)
-
-EncryptionInformation ::= SEQUENCE {
- permittedAlgorithms PermittedEncryptionAlgorithms,
- key EncryptionKey,
- iE-Extensions ProtocolExtensionContainer { {EncryptionInformation-ExtIEs} } OPTIONAL
-}
-
-EncryptionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EncryptionKey ::= BIT STRING (SIZE (128))
--- Reference: 33.102
-
-Event ::= ENUMERATED {
- stop,
- direct,
- change-of-servicearea,
- ...
-}
-
--- F
--- G
-
-GeographicalArea ::= CHOICE {
- point GA-Point,
- pointWithUnCertainty GA-PointWithUnCertainty,
- polygon GA-Polygon,
- ...
-}
-
-GeographicalCoordinates ::= SEQUENCE {
- latitudeSign ENUMERATED { north, south },
- latitude INTEGER (0..8388607),
- longitude INTEGER (-8388608..8388607),
- iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeographicalCoordinates-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-Point ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-Point-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithUnCertainty ::=SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL,
- uncertaintyCode INTEGER (0..127)
-}
-
-GA-PointWithUnCertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF
- SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL,
- ...
- }
-
-GA-Polygon-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GlobalRNC-ID ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- rNC-ID RNC-ID
-}
-
-GTP-TEI ::= OCTET STRING (SIZE (4))
--- Reference: xx.xxx
-
-GuaranteedBitrate ::= INTEGER (0..16000000)
--- Unit is bits per sec
-
--- H
-
--- I
-InformationIdentity ::= INTEGER (0..255)
-
-InformationPriority ::= INTEGER (0..15)
-
-InformationControl ::= ENUMERATED {
- on,
- off
-}
-
-
-IMEI ::= OCTET STRING (SIZE (8))
--- Reference: 23.003
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
--- Reference: 23.003
-
-IntegrityProtectionAlgorithm ::= INTEGER { standard-UMTS-integrity-algorithm-UIA1 (0) } (0..15)
-
-IntegrityProtectionInformation ::= SEQUENCE {
- permittedAlgorithms PermittedIntegrityProtectionAlgorithms,
- key IntegrityProtectionKey,
- iE-Extensions ProtocolExtensionContainer { {IntegrityProtectionInformation-ExtIEs} } OPTIONAL
-}
-
-IntegrityProtectionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IntegrityProtectionKey ::= BIT STRING (SIZE (128))
-
-IuSignallingConnectionIdentifier ::= BIT STRING (SIZE (24))
-
-IuTransportAssociation ::= CHOICE {
- gTP-TEI GTP-TEI,
- bindingID BindingID,
- ...
-}
-
--- J
--- K
-
-KeyStatus ::= ENUMERATED {
- old,
- new,
- ...
-}
--- L
-
-LAC ::= OCTET STRING (SIZE (2))
-
-LAI ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- lAC LAC,
- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL
-}
-
-LAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-L3-Information ::= OCTET STRING
-
--- M
-
-MaxBitrate ::= INTEGER (1..16000000)
--- Unit is bits per sec
-
-MaxSDU-Size ::= INTEGER (0..32768)
--- MaxSDU-Size
--- Unit is bit
-
-MCC ::= TBCD-STRING (SIZE (2))
--- Reference: 24.008
-
-MNC ::= TBCD-STRING (SIZE (2))
--- Reference: 24.008
-
--- N
-
-
-NAS-BroadcastInformation ::= OCTET STRING
-
-NAS-PDU ::= OCTET STRING
-
-NAS-SynchronisationIndicator ::= BIT STRING (SIZE (4))
-
-NonSearchingIndication ::= ENUMERATED {
- non-searching,
- searching
-}
-
-NumberOfIuInstances ::= INTEGER (1..2)
-
-NumberOfSteps ::= INTEGER (1..16)
-
--- O
-
-OldBSS-ToNewBSS-Information ::= OCTET STRING
-
-OMC-ID ::= OCTET STRING (SIZE (3..22))
--- Reference: GSM TS 12.20
-
--- P
-
-PagingAreaID ::= CHOICE {
- lAI LAI,
- rAI RAI,
- ...
-}
-
-PagingCause ::= ENUMERATED {
- speech-call,
- cs-data-call,
- ps-data-call,
- sms,
- ...
-}
-
-PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF
- PDP-Type
-
-PDP-Type ::= ENUMERATED {
- empty,
- ppp,
- osp-ihoss -- this value is used for OSP:IHOSS -- ,
- ipv4,
- ipv6,
- ...
-}
-
-PermanentNAS-UE-ID ::= CHOICE {
- iMSI IMSI,
- ...
-}
-
-PermittedEncryptionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
- EncryptionAlgorithm
-
-PermittedIntegrityProtectionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
- IntegrityProtectionAlgorithm
-
-PLMN-ID ::= TBCD-STRING (SIZE (3))
-
-Pre-emptionCapability ::= ENUMERATED {
- can-not-trigger-pre-emption,
- can-trigger-pre-emption
-}
-
-Pre-emptionVulnerability ::= ENUMERATED {
- not-vulnerable-to-pre-emption,
- vulnerable-to-pre-emption
-}
-
-PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
-
-P-TMSI ::= OCTET STRING (SIZE (4))
-
--- Q
-
-QueuingAllowed ::= ENUMERATED {
- queueing-not-allowed,
- queueing-allowed
-}
-
--- R
-RAB-AsymmetryIndicator::= ENUMERATED {
- symmetric-bidirectional,
- asymmetric-unidirectional-downlink,
- asymmetric-unidirectional-uplink,
- asymmetric-bidirectional,
- ...
-}
-
-RAB-ID ::= BIT STRING (SIZE (8))
-
-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
-
-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
-
-RAB-Parameters ::= SEQUENCE {
- trafficClass TrafficClass,
- rAB-AsymmetryIndicator RAB-AsymmetryIndicator,
- maxBitrate RAB-Parameter-MaxBitrateList,
- guaranteedBitRate RAB-Parameter-GuaranteedBitrateList OPTIONAL
- -- This IE is only present when traffic class indicates Conversational or Streaming --,
- deliveryOrder DeliveryOrder,
- maxSDU-Size MaxSDU-Size,
- sDU-Parameters SDU-Parameters,
- transferDelay TransferDelay OPTIONAL
- -- This IE is only present when traffic class indicates Conversational or Streaming --,
- trafficHandlingPriority TrafficHandlingPriority OPTIONAL
- -- This IE is only present when traffic class indicates Interactiv --,
- allocationOrRetentionPriority AllocationOrRetentionPriority OPTIONAL,
- sourceStatisticsDescriptor SourceStatisticsDescriptor OPTIONAL
- -- This IE is only present when traffic class indicates Conversational or Streaming --,
- iE-Extensions ProtocolExtensionContainer { {RAB-Parameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SubflowCombinationBitRate ::= INTEGER (0..16000000)
-
-RAB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfRABs)) OF
- RAB-TrCH-MappingItem
-
-RAB-TrCH-MappingItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- trCH-ID-List TrCH-ID-List,
- ...
-}
-
-RAC ::= OCTET STRING (SIZE (1))
-
-RAI ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- iE-Extensions ProtocolExtensionContainer { {RAI-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RateControlAllowed ::= ENUMERATED {
- not-allowed,
- allowed
-}
-
-RelocationType ::= ENUMERATED {
- ue-not-involved,
- ue-involved,
- ...
-}
-
-RepetitionNumber ::= INTEGER (0..255)
-
-ReportArea ::= ENUMERATED {
- service-area,
- geographical-coordinates,
- ...
-}
-
-RequestType ::= SEQUENCE {
- event Event,
- reportArea ReportArea,
- accuracyCode INTEGER (0..127) OPTIONAL,
- -- To be used if Geographical Coordinates shall be reported with a requested accuracy. --
- ...
-}
-
-ResidualBitErrorRatio ::= SEQUENCE {
- mantissa INTEGER (1..9),
- exponent INTEGER (1..8),
- iE-Extensions ProtocolExtensionContainer { {ResidualBitErrorRatio-ExtIEs} } OPTIONAL
-}
--- ResidualBitErrorRatio = mantissa * 10^-exponent
-
-ResidualBitErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RNC-ID ::= INTEGER (0..4095)
--- RNC-ID ::= BIT STRING (SIZE (12))
--- Harmonized with RNSAP and NBAP definitions
-
-RRC-Container ::= OCTET STRING
-
--- S
-
-SAC ::= OCTET STRING (SIZE (2))
-
-SAI ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- lAC LAC,
- sAC SAC,
- iE-Extensions ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL
-}
-
-SAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SAPI ::= ENUMERATED {
- normal-priority,
- low-priority,
- ...
-}
-
-SDU-ErrorRatio ::= SEQUENCE {
- mantissa INTEGER (1..9),
- exponent INTEGER (1..6),
- iE-Extensions ProtocolExtensionContainer { {SDU-ErrorRatio-ExtIEs} } OPTIONAL
-}
--- SDU-ErrorRatio = mantissa * 10^-exponent
-
-SDU-ErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-SDU-FormatInformationParameters ::= SEQUENCE (SIZE (1..maxRAB-SubflowCombination)) OF
- SEQUENCE {
- subflowSDU-Size SubflowSDU-Size OPTIONAL
- -- This IE is only present for RABs that have predefined SDU size(s) --,
- rAB-SubflowCombinationBitRate RAB-SubflowCombinationBitRate OPTIONAL
- -- At least either of subflowSDU-Size or rABsubflowCombinationBitRate --
- -- shall be present when SDUformatInformationParameter is present --,
- iE-Extensions ProtocolExtensionContainer { {SDU-FormatInformationParameters-ExtIEs} } OPTIONAL,
- ...
- }
-
-SDU-FormatInformationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SDU-Parameters ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
- SEQUENCE {
- sDU-ErrorRatio SDU-ErrorRatio OPTIONAL
- -- This IE is not present when DeliveryOfErroneousSDU is set to no-error-detection-consideration --,
- residualBitErrorRatio ResidualBitErrorRatio,
- deliveryOfErroneousSDU DeliveryOfErroneousSDU,
- sDU-FormatInformationParameters SDU-FormatInformationParameters OPTIONAL
- -- When signalled, this IE indicates that the RAB is rate controllable --,
- iE-Extensions ProtocolExtensionContainer { {SDU-Parameters-ExtIEs} } OPTIONAL,
- ...
- }
-
-SDU-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SourceID ::= CHOICE {
- sourceRNC-ID SourceRNC-ID, -- If UMTS target
- sAI SAI, -- if GSM target
- ...
-}
-
-
-SourceRNC-ID ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- rNC-ID RNC-ID,
- iE-Extensions ProtocolExtensionContainer { {SourceRNC-ID-ExtIEs} } OPTIONAL
-}
-
-SourceRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- numberOfIuInstances NumberOfIuInstances,
- relocationType RelocationType,
- chosenIntegrityProtectionAlgorithm ChosenIntegrityProtectionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if available --,
- integrityProtectionKey IntegrityProtectionKey OPTIONAL
- -- Must be present for intra UMTS Handovers if available --,
- chosenEncryptionAlgorithForSignalling ChosenEncryptionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- cipheringKey EncryptionKey OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- chosenEncryptionAlgorithForCS ChosenEncryptionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- chosenEncryptionAlgorithForPS ChosenEncryptionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- d-RNTI D-RNTI OPTIONAL
- -- Included for SRNS Relocation without UE involvement --,
- targetCellId TargetCellId OPTIONAL
- -- Included for SRNS Relocation with UE involvement --,
- rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL
- -- Included for SRNS Relocation without UE involvement and --
- -- if RABs are carried on DCH, USCH or DSCH transport channels --,
- iE-Extensions ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SourceStatisticsDescriptor ::= ENUMERATED {
- speech,
- unknown,
- ...
-}
-
-SubflowSDU-Size ::= INTEGER (0..4095)
--- Unit is bit
-
-
--- T
-
-TargetCellId ::= INTEGER (0..268435455)
-
-TargetID ::= CHOICE {
- targetRNC-ID TargetRNC-ID, -- If UMTS target
- cGI CGI, -- If GSM target
- ...
-}
-
-
-
-
-TargetRNC-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC OPTIONAL
- -- Must always be present towards the PS domain and never towards the CS domain --,
- rNC-ID RNC-ID,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL
-}
-
-TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TargetRNC-ToSourceRNC-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- d-RNTI D-RNTI OPTIONAL
- -- May be included to allow the triggering of the Relocation Detect procedure from the Iur Interface --,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TBCD-STRING ::= OCTET STRING
-
-TemporaryUE-ID ::= CHOICE {
- tMSI TMSI,
- p-TMSI P-TMSI,
- ...
-}
-
-TMSI ::= OCTET STRING (SIZE (4))
-
-TraceReference ::= OCTET STRING (SIZE (2..3))
-
-TraceType ::= OCTET STRING (SIZE (1))
--- Reference: GSM TS 12.08
-
-TrafficClass ::= ENUMERATED {
- conversational,
- streaming,
- interactive,
- background,
- ...
-}
-
-TrafficHandlingPriority ::= INTEGER { spare (0), highest (1), lowest (14), no-priority-used (15) } (0..15)
-
-TransferDelay ::= INTEGER (0..65535)
--- Unit is millisecond
-
-UnsuccessfullyTransmittedDataVolume ::= INTEGER (0..4294967295)
-
-TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
-
-TrCH-ID ::= SEQUENCE {
- dCH-ID DCH-ID OPTIONAL
- -- At least one of these IEs shall be included --,
- dSCH-ID DSCH-ID OPTIONAL
- -- At least one of these IEs shall be included --,
- uSCH-ID USCH-ID OPTIONAL
- -- At least one of these IEs shall be included --,
- ...
-}
-
-TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
- TrCH-ID
-
-TriggerID ::= OCTET STRING (SIZE (3..22))
-
--- U
-
-UE-ID ::= CHOICE {
- imsi IMSI,
- imei IMEI,
- ...
-}
-
-UL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-UL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-UP-ModeVersions ::= BIT STRING (SIZE (16))
-
-USCH-ID ::= INTEGER (0..255)
-
-UserPlaneMode ::= ENUMERATED {
- transparent-mode,
- support-mode-for-predefined-SDU-sizes,
- ...
-}
-
--- END **************************************************************
---
--- PDU definitions for RANAP.
---
--- **************************************************************
-
--- RANAP-PDU-Contents { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
--- **************************************************************
---
--- Common Container Lists
---
--- **************************************************************
-
-RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
-RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} }
-ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
-CN-BroadcastInfPiece-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfPieces, {IEsSetParam} }
-IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} }
-DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} }
-
--- **************************************************************
---
--- Iu RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Iu Release Command
---
--- **************************************************************
-
-Iu-ReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Iu Release Complete
---
--- **************************************************************
-
-Iu-ReleaseComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE conditional
- -- This group is only present if data volume reporting for PS domain is required -- } |
- { ID id-RAB-ReleasedList-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedList-IuRelComp PRESENCE conditional
- -- This group is only present for RABs towards the PS domain when the release was initiated by UTRAN -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-DataVolumeReportList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportItemIEs} }
-
-RAB-DataVolumeReportItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportItem CRITICALITY ignore TYPE RAB-DataVolumeReportItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-UnsuccessfullyTransmittedDataVolume DataVolumeList OPTIONAL
- -- This IE is only present if data volume reporting for PS domain is required --,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataVolumeReportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleasedList-IuRelComp ::= RAB-IE-ContainerList { {RAB-ReleasedItem-IuRelComp-IEs} }
-
-RAB-ReleasedItem-IuRelComp-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleasedItem-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedItem-IuRelComp PRESENCE mandatory },
- ...
-}
-
-RAB-ReleasedItem-IuRelComp ::= SEQUENCE {
- rAB-ID RAB-ID,
- dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber,
- uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-IuRelComp-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleasedItem-IuRelComp-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Required
---
--- **************************************************************
-
-RelocationRequired ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequiredIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RelocationType CRITICALITY ignore TYPE RelocationType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory } |
- { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } |
- { ID id-ClassmarkInformation2 CRITICALITY ignore TYPE ClassmarkInformation2 PRESENCE conditional
- -- This is only present when initiating an inter system handover towards GSM BSC -- } |
- { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE conditional
- -- This is only present when initiating an inter system handover towards GSM BSC -- } |
- { ID id-SourceRNC-ToTargetRNC-TransparentContainer
- CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE conditional
- -- This IE shall be present when initiating relocation of SRNS -- } |
- { ID id-OldBSS-ToNewBSS-Information CRITICALITY ignore TYPE OldBSS-ToNewBSS-Information PRESENCE conditional
- -- This is only present when initiating an inter system handover towards GSM BSC -- } ,
- ...
-}
-
-RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Command
---
--- **************************************************************
-
-RelocationCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TargetRNC-ToSourceRNC-TransparentContainer
- CRITICALITY reject TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE conditional
- -- This IE shall be included if it is received by the CN from the relocation target. -- } |
- { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE conditional
- -- This IE shall be included if it is received by the CN from the relocation target. -- } |
- { ID id-RAB-RelocationReleaseList CRITICALITY ignore TYPE RAB-RelocationReleaseList PRESENCE optional } |
- { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE conditional
- -- This group if applicable is only present for RABs towards the PS domain -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-RelocationReleaseList ::= RAB-IE-ContainerList { {RAB-RelocationReleaseItemIEs} }
-
-RAB-RelocationReleaseItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-RelocationReleaseItem CRITICALITY ignore TYPE RAB-RelocationReleaseItem PRESENCE mandatory },
- ...
-}
-
-RAB-RelocationReleaseItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-RelocationReleaseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-RelocationReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-DataForwardingList ::= RAB-IE-ContainerList { {RAB-DataForwardingItemIEs} }
-
-RAB-DataForwardingItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingItem CRITICALITY ignore TYPE RAB-DataForwardingItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataForwardingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Preparation Failure
---
--- **************************************************************
-
-RelocationPreparationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL,
- ...
-}
-
-RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION RESOURCE ALLOCATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Request
---
--- **************************************************************
-
-RelocationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE conditional
- -- This IE is only present if available at the sending side -- } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-SourceRNC-ToTargetRNC-TransparentContainer
- CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } |
- { ID id-RAB-SetupList-RelocReq CRITICALITY reject TYPE RAB-SetupList-RelocReq PRESENCE optional } |
- { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE conditional
- -- This IE is only present if available at the sending side -- } |
- { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
- { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory },
- ...
-}
-
-RAB-SetupList-RelocReq ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReq-IEs} }
-
-RAB-SetupItem-RelocReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-RelocReq CRITICALITY reject TYPE RAB-SetupItem-RelocReq PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-RelocReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL
- -- This IE is present if the relevant NAS information is provided by the CN --,
- rAB-Parameters RAB-Parameters,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
- -- This IE is only present if available at the sending side --,
- pDP-TypeInformation PDP-TypeInformation OPTIONAL
- -- This IE is only present for RABs towards the PS domain --,
- userPlaneInformation UserPlaneInformation,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-RelocReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UserPlaneInformation ::= SEQUENCE {
- userPlaneMode UserPlaneMode,
- uP-ModeVersions UP-ModeVersions,
- iE-Extensions ProtocolExtensionContainer { {UserPlaneInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-UserPlaneInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Request Acknowledge
---
--- **************************************************************
-
-RelocationRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TargetRNC-ToSourceRNC-TransparentContainer
- CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE conditional
- -- Must be included if applicapble and if not sent via the other CN -- } |
- { ID id-RAB-SetupList-RelocReqAck CRITICALITY ignore TYPE RAB-SetupList-RelocReqAck PRESENCE optional} |
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }|
- { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE conditional
- -- This IE is only present if available at the sending side -- } |
- { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupList-RelocReqAck ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReqAck-IEs} }
-
-RAB-SetupItem-RelocReqAck-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-RelocReqAck CRITICALITY reject TYPE RAB-SetupItem-RelocReqAck PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-RelocReqAck ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- --This IE is only present for RABS towards the PS Domain
- iuTransportAssociation IuTransportAssociation OPTIONAL,
- --This IE is only present for RABS towards the PS Domain
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReqAck-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-RelocReqAck-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-FailedList ::= RAB-IE-ContainerList { {RAB-FailedItemIEs} }
-
-RAB-FailedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedItem CRITICALITY ignore TYPE RAB-FailedItem PRESENCE mandatory },
- ...
-}
-
-RAB-FailedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {RAB-FailedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Failure
---
--- **************************************************************
-
-RelocationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL,
- ...
-}
-
-RelocationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION CANCEL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Cancel
---
--- **************************************************************
-
-RelocationCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCancelIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCancelIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Cancel Acknowledge
---
--- **************************************************************
-
-RelocationCancelAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCancelAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS CONTEXT TRANSFER OPEARATION
---
--- **************************************************************
-
--- **************************************************************
---
--- SRNS Context Request
---
--- **************************************************************
-
-SRNS-ContextRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-ContextRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingList-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingList-SRNS-CtxReq PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingList-SRNS-CtxReq ::= RAB-IE-ContainerList { {RAB-DataForwardingItem-SRNS-CtxReq-IEs} }
-
-RAB-DataForwardingItem-SRNS-CtxReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingItem-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingItem-SRNS-CtxReq PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingItem-SRNS-CtxReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS Context Response
---
--- **************************************************************
-
-SRNS-ContextResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-ContextResponseIEs RANAP-PROTOCOL-IES ::= {
-
- { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ContextFailedtoTransferList CRITICALITY ignore TYPE RAB-ContextFailedtoTransferList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-ContextList ::= RAB-IE-ContainerList { {RAB-ContextItemIEs} }
-
-RAB-ContextItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextItem CRITICALITY ignore TYPE RAB-ContextItem PRESENCE mandatory },
- ...
-}
-
-RAB-ContextItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber,
- iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ContextItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ContextFailedtoTransferList ::= RAB-IE-ContainerList { {RABs-ContextFailedtoTransferItemIEs} }
-
-RABs-ContextFailedtoTransferItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextFailedtoTransferItem CRITICALITY ignore TYPE RABs-ContextFailedtoTransferItem PRESENCE mandatory },
- ...
-}
-
-RABs-ContextFailedtoTransferItem::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RABs-ContextFailedtoTransferItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RABs-ContextFailedtoTransferItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SECURITY MODE CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Security Mode Command
---
--- **************************************************************
-
-SecurityModeCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE mandatory } |
- { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
- { ID id-KeyStatus CRITICALITY ignore TYPE KeyStatus PRESENCE mandatory},
- ...
-}
-
-SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Security Mode Complete
---
--- **************************************************************
-
-SecurityModeComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeCompleteIEs RANAP-PROTOCOL-IES ::= {
- { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE mandatory } |
- { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Security Mode Reject
---
--- **************************************************************
-
-SecurityModeReject ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeRejectIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DATA VOLUME REPORT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Data Volume Report Request
---
--- **************************************************************
-
-DataVolumeReportRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL,
- ...
-}
-
-DataVolumeReportRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportRequestList CRITICALITY ignore TYPE RAB-DataVolumeReportRequestList PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportRequestList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportRequestItemIEs} }
-
-RAB-DataVolumeReportRequestItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportRequestItem CRITICALITY ignore TYPE RAB-DataVolumeReportRequestItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportRequestItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportRequestItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataVolumeReportRequestItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Data Volume Report
---
--- **************************************************************
-
-DataVolumeReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} },
- protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL,
- ...
-}
-
-DataVolumeReportIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-FailedtoReportList CRITICALITY ignore TYPE RAB-FailedtoReportList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-DataVolumeReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-FailedtoReportList ::= RAB-IE-ContainerList { {RABs-failed-to-reportItemIEs} }
-
-RABs-failed-to-reportItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedtoReportItem CRITICALITY ignore TYPE RABs-failed-to-reportItem PRESENCE mandatory },
- ...
-}
-
-RABs-failed-to-reportItem::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RABs-failed-to-reportItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN INFORMATION BROADCAST
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Information Broadcast Request
---
--- **************************************************************
-
-CN-InformationBroadcastRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InformationBroadcastRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InformationBroadcastRequestExtensions} } OPTIONAL,
- ...
-}
-
-CN-InformationBroadcastRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CN-BroadcastInformationPieceList CRITICALITY ignore TYPE CN-BroadcastInformationPieceList PRESENCE mandatory },
- ...
-}
-
-CN-BroadcastInformationPieceList ::= CN-BroadcastInfPiece-IE-ContainerList { {CN-BroadcastInformationPieceIEs} }
-
-CN-BroadcastInformationPieceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-BroadcastInformationPiece CRITICALITY ignore TYPE CN-BroadcastInformationPiece PRESENCE mandatory },
- ...
-}
-
-CN-BroadcastInformationPiece ::= SEQUENCE {
- informationIdentity InformationIdentity,
- nAS-BroadcastInformation NAS-BroadcastInformation OPTIONAL
- -- Included if CN requests UTRAN to broadcast the information piece --,
- cN-BroadcastArea CN-BroadcastArea OPTIONAL
- -- Included if CN requests UTRAN to broadcast the information piece --,
- informationPriority InformationPriority OPTIONAL
- -- Included if CN requests UTRAN to broadcast the information piece --,
- informationControl InformationControl,
- iE-Extensions ProtocolExtensionContainer { {CN-BroadcastInformationPiece-ExtIEs} } OPTIONAL,
- ...
-}
-
-CN-BroadcastInformationPiece-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CN-InformationBroadcastRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN Information Broadcast Confirm
---
--- **************************************************************
-
-CN-InformationBroadcastConfirm ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InformationBroadcastConfirmIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InformationBroadcastConfirmExtensions} } OPTIONAL,
- ...
-}
-
-CN-InformationBroadcastConfirmIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-CN-InformationBroadcastConfirmExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN Information Broadcast Reject
---
--- **************************************************************
-
-CN-InformationBroadcastReject ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InformationBroadcastRejectIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InformationBroadcastRejectExtensions} } OPTIONAL,
- ...
-}
-
-CN-InformationBroadcastRejectIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
- ...
-}
-
-CN-InformationBroadcastRejectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RESET ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Reset
---
--- **************************************************************
-
-Reset ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL,
- ...
-}
-
-ResetIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-ResetExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Reset Acknowledge
---
--- **************************************************************
-
-ResetAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-ResetAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
--- **************************************************************
---
--- RESET RESOURCE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Reset Resource
---
--- **************************************************************
-
-ResetResource ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetResourceIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL,
- ...
-}
-
-ResetResourceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceList PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-ResetResourceList ::= IuSigConId-IE-ContainerList{ {ResetResourceItemIEs} }
-
-ResetResourceItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IuSigConIdItem CRITICALITY ignore TYPE ResetResourceItem PRESENCE mandatory },
- ...
-}
-
-ResetResourceItem ::= SEQUENCE {
- iuSigConId IuSignallingConnectionIdentifier,
- iE-Extensions ProtocolExtensionContainer { { ResetResourceItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ResetResourceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Reset Resource Acknowledge
---
--- **************************************************************
-
-ResetResourceAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-ResetResourceAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceAckList PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-ResetResourceAckList ::= IuSigConId-IE-ContainerList{ {ResetResourceAckItemIEs} }
-
-ResetResourceAckItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IuSigConIdItem CRITICALITY ignore TYPE ResetResourceAckItem PRESENCE mandatory },
- ...
-}
-
-ResetResourceAckItem ::= SEQUENCE {
- iuSigConId IuSignallingConnectionIdentifier,
- iE-Extensions ProtocolExtensionContainer { { ResetResourceAckItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ResetResourceAckItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB RELEASE REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Release Request
---
--- **************************************************************
-
-RAB-ReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE mandatory },
- ...
-}
-
-RAB-ReleaseList ::= RAB-IE-ContainerList { {RAB-ReleaseItemIEs} }
-
-RAB-ReleaseItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleaseItem CRITICALITY ignore TYPE RAB-ReleaseItem PRESENCE mandatory },
- ...
-}
-
-RAB-ReleaseItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleaseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Iu RELEASE REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Iu Release Request
---
--- **************************************************************
-
-Iu-ReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION DETECT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Detect
---
--- **************************************************************
-
-RelocationDetect ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationDetectIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL,
- ...
-}
-
-RelocationDetectIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION COMPLETE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Complete
---
--- **************************************************************
-
-RelocationComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCompleteIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PAGING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Paging
---
--- **************************************************************
-
-Paging ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {PagingIEs} },
- protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL,
- ...
-}
-
-PagingIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } |
- { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } |
- { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } |
- { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } |
- { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } |
- { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE optional } ,
- ...
-}
-
-PagingExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON ID ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Common ID
---
--- **************************************************************
-
-CommonID ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CommonID-IEs} },
- protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL,
- ...
-}
-
-CommonID-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory },
- ...
-}
-
-CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN INVOKE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Invoke Trace
---
--- **************************************************************
-
-CN-InvokeTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL,
- ...
-}
-
-CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE mandatory } |
- { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
- { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } |
- { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } |
- { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional },
- ...
-}
-
-CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN DEACTIVATE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Deactivate Trace
---
--- **************************************************************
-
-CN-DeactivateTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL,
- ...
-}
-
-CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
- { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional },
- ...
-}
-
-CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- LOCATION REPORTING CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Reporting Control
---
--- **************************************************************
-
-LocationReportingControl ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL,
- ...
-}
-
-LocationReportingControlIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory },
- ...
-}
-
-LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- LOCATION REPORT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Report
---
--- **************************************************************
-
-LocationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationReportIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL,
- ...
-}
-
-LocationReportIEs RANAP-PROTOCOL-IES ::= {
- { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional },
- ...
-}
-
-LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INITIAL UE MESSAGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Initial UE Message
---
--- **************************************************************
-
-InitialUE-Message ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} },
- protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL,
- ...
-}
-
-InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } |
- { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional
- -- This IE is only present for RABs towards the PS domain -- } |
- { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } |
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
- { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
-
- ...
-}
-
-InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DIRECT TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Direct Transfer
---
--- **************************************************************
-
-DirectTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DirectTransferIEs} },
- protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL,
- ...
-}
-
-DirectTransferIEs RANAP-PROTOCOL-IES ::= {
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
- { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE conditional
- -- This IE is only present if the message is directed to the PS domain -- } |
- { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional
- -- This IE is only present if the message is directed to the PS domain -- } |
- { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE conditional
- -- This IE is always used in downlink direction-- },
- ...
-}
-
-DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- OVERLOAD CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Overload
---
--- **************************************************************
-
-Overload ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadIEs} },
- protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL,
- ...
-}
-
-OverloadIEs RANAP-PROTOCOL-IES ::= {
- { ID id-NumberOfSteps CRITICALITY ignore TYPE NumberOfSteps PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- ERROR INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Error Indication
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL,
- ...
-}
-
-ErrorIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE conditional
- -- At least either of Cause IE or Criticality IE shall be present -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE conditional
- -- At least either of Cause IE or Criticality IE shall be present -- } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } |
- { ID id-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional } |
- { ID id-IuTransportAssociation CRITICALITY ignore TYPE IuTransportAssociation PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction when message is sent connectionless -- },
- ...
-}
-
-ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS DATA FORWARD ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- SRNS Data Forward Command
---
--- **************************************************************
-
-SRNS-DataForwardCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-DataForwardCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE conditional
- -- This group is only present for RABs towards the PS domain -- },
- ...
-}
-
-SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- FORWARD SRNS CONTEXT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Forward SRNS Context
---
--- **************************************************************
-
-ForwardSRNS-Context ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} },
- protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL,
- ...
-}
-
-ForwardSRNS-ContextIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE mandatory },
- ...
-}
-
-ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB ASSIGNMENT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Assignment Request
---
--- **************************************************************
-
-RAB-AssignmentRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifyList CRITICALITY ignore TYPE RAB-SetupOrModifyList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- },
- ...
-}
-
-RAB-SetupOrModifyList ::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} }
-
-RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= {
- { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst
- SECOND CRITICALITY ignore SECOND TYPE RAB-SetupOrModifyItemSecond
- PRESENCE mandatory },
- ...
-}
-
-RAB-SetupOrModifyItemFirst ::= SEQUENCE {
- rAB-ID RAB-ID,
- nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL
- -- This IE is present if the relevant NAS information is provided by the CN --,
- rAB-Parameters RAB-Parameters,
- userPlaneInformation UserPlaneInformation,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemFirst-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifyItemFirst-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SetupOrModifyItemSecond ::= SEQUENCE {
- pDP-TypeInformation PDP-TypeInformation
- -- This IE is only present for RABs towards the PS domain -- OPTIONAL,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemSecond-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifyItemSecond-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB Assignment Response
---
--- **************************************************************
-
-RAB-AssignmentResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL,
- ...
-}
-
-RAB-AssignmentResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifiedList CRITICALITY ignore TYPE RAB-SetupOrModifiedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ReleasedList CRITICALITY ignore TYPE RAB-ReleasedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
-
- { ID id-RAB-QueuedList CRITICALITY ignore TYPE RAB-QueuedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ReleaseFailedList CRITICALITY ignore TYPE RAB-ReleaseFailedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupOrModifiedList ::= RAB-IE-ContainerList { {RAB-SetupOrModifiedItemIEs} }
-
-RAB-SetupOrModifiedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifiedItem CRITICALITY ignore TYPE RAB-SetupOrModifiedItem PRESENCE mandatory },
- ...
-}
-
-RAB-SetupOrModifiedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress OPTIONAL
- -- This IE is only present for RABs towards the PS domain --,
- iuTransportAssociation IuTransportAssociation OPTIONAL
- -- This IE is only present for RABs towards the PS domain --,
- dl-dataVolumes DataVolumeList OPTIONAL
- -- This IE is only present if the RAB has been modified and --
- -- RAB data volume reporting for PS domain is required --,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifiedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifiedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleasedList ::= RAB-IE-ContainerList { {RAB-ReleasedItemIEs} }
-
-RAB-ReleasedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleasedItem CRITICALITY ignore TYPE RAB-ReleasedItem PRESENCE mandatory },
- ...
-}
-
-RAB-ReleasedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-dataVolumes DataVolumeList OPTIONAL
- -- This IE is only present if data volume reporting for PS domain is required --,
- dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE is only present for RABs towards the PS domain when the release is UTRAN initiated -- ,
- uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE is only present for RABs towards the PS domain when the release is UTRAN initiated -- ,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleasedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DataVolumeList ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF
- SEQUENCE {
- dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume,
- dataVolumeReference DataVolumeReference OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {DataVolumeList-ExtIEs} } OPTIONAL,
- ...
- }
-
-DataVolumeList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-QueuedList ::= RAB-IE-ContainerList { {RAB-QueuedItemIEs} }
-
-RAB-QueuedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-QueuedItem CRITICALITY ignore TYPE RAB-QueuedItem PRESENCE mandatory },
- ...
-}
-
-RAB-QueuedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-QueuedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-QueuedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleaseFailedList ::= RAB-FailedList
-
-RAB-AssignmentResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container { {PrivateMessage-IEs } },
- ...
-}
-
-PrivateMessage-IEs RANAP-PRIVATE-IES ::= {
- ...
-}
-
--- **************************************************************
---
--- RANAP RELOCATION INFORMATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-RANAP-RelocationInformation ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} },
- protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL,
- ...
-}
-
-RANAP-RelocationInformationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-DirectTransferInformationList-RANAP-RelocInf
- CRITICALITY ignore TYPE DirectTransferInformationList-RANAP-RelocInf
- PRESENCE optional } |
- { ID id-RAB-ContextList-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextList-RANAP-RelocInf PRESENCE optional },
- ...
-}
-
-DirectTransferInformationList-RANAP-RelocInf ::= DirectTransfer-IE-ContainerList { {DirectTransferInformationItemIEs-RANAP-RelocInf} }
-
-DirectTransferInformationItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
- { ID id-DirectTransferInformationItem-RANAP-RelocInf
- CRITICALITY ignore TYPE DirectTransferInformationItem-RANAP-RelocInf
- PRESENCE mandatory },
- ...
-}
-
-DirectTransferInformationItem-RANAP-RelocInf ::= SEQUENCE {
- nAS-PDU NAS-PDU,
- sAPI SAPI,
- iE-Extensions ProtocolExtensionContainer { {RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
- ...
-}
-
-RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ContextList-RANAP-RelocInf ::= RAB-IE-ContainerList { {RAB-ContextItemIEs-RANAP-RelocInf} }
-
-RAB-ContextItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextItem-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextItem-RANAP-RelocInf PRESENCE mandatory },
- ...
-}
-
-RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber,
- iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
- ...
-}
-
-RAB-ContextItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- END
--- **************************************************************
---
--- Elementary Procedure definitions
---
--- **************************************************************
-
--- RANAP-PDU-Descriptions { object identifier to be allocated }--
--- DEFINITIONS AUTOMATIC TAGS ::=
-
--- BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &Outcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- outcome Outcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-Outcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- RANAP-ELEMENTARY-PROCEDURES-CLASS-1 |
- RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
- RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
- ...
-}
-
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation |
- relocationResourceAllocation |
- relocationCancel |
- sRNS-ContextTransfer |
- securityModeControl |
- dataVolumeReport |
- cN-InformationBroadcast |
- reset |
- resetResource ,
- ...
-}
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= {
- rAB-ReleaseRequest |
- iu-ReleaseRequest |
- relocationDetect |
- relocationComplete |
- paging |
- commonID |
- cN-InvokeTrace |
- cN-DeactivateTrace |
- locationReportingControl |
- locationReport |
- initialUE-Message |
- directTransfer |
- overloadControl |
- errorIndication |
- sRNS-DataForward |
- forwardSRNS-Context |
- privateMessage |
- rANAP-Relocation ,
- ...
-}
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= {
- rAB-Assignment ,
- ...
-}
-
--- **************************************************************
---
--- Interface Elementary Procedures
---
--- **************************************************************
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release
- CRITICALITY ignore
-}
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationRequired
- SUCCESSFUL OUTCOME RelocationCommand
- UNSUCCESSFUL OUTCOME RelocationPreparationFailure
- PROCEDURE CODE id-RelocationPreparation
- CRITICALITY ignore
-}
-
-relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationRequest
- SUCCESSFUL OUTCOME RelocationRequestAcknowledge
- UNSUCCESSFUL OUTCOME RelocationFailure
- PROCEDURE CODE id-RelocationResourceAllocation
- CRITICALITY ignore
-}
-
-relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationCancel
- SUCCESSFUL OUTCOME RelocationCancelAcknowledge
- PROCEDURE CODE id-RelocationCancel
- CRITICALITY ignore
-}
-
-sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRNS-ContextRequest
- SUCCESSFUL OUTCOME SRNS-ContextResponse
- PROCEDURE CODE id-SRNS-ContextTransfer
- CRITICALITY ignore
-}
-
-securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SecurityModeCommand
- SUCCESSFUL OUTCOME SecurityModeComplete
- UNSUCCESSFUL OUTCOME SecurityModeReject
- PROCEDURE CODE id-SecurityModeControl
- CRITICALITY ignore
-}
-
-dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DataVolumeReportRequest
- SUCCESSFUL OUTCOME DataVolumeReport
- PROCEDURE CODE id-DataVolumeReport
- CRITICALITY ignore
-}
-
-cN-InformationBroadcast RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-InformationBroadcastRequest
- SUCCESSFUL OUTCOME CN-InformationBroadcastConfirm
- UNSUCCESSFUL OUTCOME CN-InformationBroadcastReject
- PROCEDURE CODE id-CN-InformationBroadcast
- CRITICALITY ignore
-}
-
-reset RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Reset
- SUCCESSFUL OUTCOME ResetAcknowledge
- PROCEDURE CODE id-Reset
- CRITICALITY ignore
-}
-
-rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-ReleaseRequest
- PROCEDURE CODE id-RAB-ReleaseRequest
- CRITICALITY ignore
-}
-
-iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseRequest
- PROCEDURE CODE id-Iu-ReleaseRequest
- CRITICALITY ignore
-}
-
-relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationDetect
- PROCEDURE CODE id-RelocationDetect
- CRITICALITY ignore
-}
-
-relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationComplete
- PROCEDURE CODE id-RelocationComplete
- CRITICALITY ignore
-}
-
-paging RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Paging
- PROCEDURE CODE id-Paging
- CRITICALITY ignore
-}
-
-commonID RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonID
- PROCEDURE CODE id-CommonID
- CRITICALITY ignore
-}
-
-cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-InvokeTrace
- PROCEDURE CODE id-CN-InvokeTrace
- CRITICALITY ignore
-}
-
-cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-DeactivateTrace
- PROCEDURE CODE id-CN-DeactivateTrace
- CRITICALITY ignore
-}
-
-locationReportingControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingControl
- PROCEDURE CODE id-LocationReportingControl
- CRITICALITY ignore
-}
-
-locationReport RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReport
- PROCEDURE CODE id-LocationReport
- CRITICALITY ignore
-}
-
-initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialUE-Message
- PROCEDURE CODE id-InitialUE-Message
- CRITICALITY ignore
-}
-
-directTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DirectTransfer
- PROCEDURE CODE id-DirectTransfer
- CRITICALITY ignore
-}
-
-overloadControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Overload
- PROCEDURE CODE id-OverloadControl
- CRITICALITY ignore
-}
-
-errorIndication RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- PROCEDURE CODE id-ErrorIndication
- CRITICALITY ignore
-}
-
-sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRNS-DataForwardCommand
- PROCEDURE CODE id-SRNS-DataForward
- CRITICALITY ignore
-}
-
-forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ForwardSRNS-Context
- PROCEDURE CODE id-ForwardSRNS-Context
- CRITICALITY ignore
-}
-
-rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-AssignmentRequest
- OUTCOME RAB-AssignmentResponse
- PROCEDURE CODE id-RAB-Assignment
- CRITICALITY ignore
-}
-
-privateMessage RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
-
- PROCEDURE CODE id-privateMessage
- CRITICALITY ignore
-}
-
-resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ResetResource
- SUCCESSFUL OUTCOME ResetResourceAcknowledge
- PROCEDURE CODE id-ResetResource
- CRITICALITY ignore
-}
-
-rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RANAP-RelocationInformation
- PROCEDURE CODE id-RANAP-Relocation
- CRITICALITY ignore
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAPSET.set.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAPSET.set.asn1
deleted file mode 100644
index b40936514e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAPSET.set.asn1
+++ /dev/null
@@ -1,6 +0,0 @@
-RANAP-CommonDataTypes.asn1
-RANAP-Constants.asn1
-RANAP-Containers.asn1
-RANAP-IEs.asn1
-RANAP-PDU-Contents.asn1
-RANAP-PDU-Descriptions.asn1
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAPextract1.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAPextract1.asn
deleted file mode 100644
index 2f28cb7384..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/RANAPextract1.asn
+++ /dev/null
@@ -1,142 +0,0 @@
-RANAPextract1 DEFINITIONS ::=
-BEGIN
-
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &Outcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
--- successfulOutcome SuccessfulOutcome,
--- unsuccessfulOutcome UnsuccessfulOutcome,
--- outcome Outcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
- }
-
-
-InitiatingMessage2 ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES-2}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES-2}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES-2}{@procedureCode})
-}
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release
- CRITICALITY ignore
-}
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-RelocationPreparation
- CRITICALITY notify
-}
-
-object3 RANAP-ELEMENTARY-PROCEDURE ::= {
- &InitiatingMessage Iu-ReleaseCommand,
- &SuccessfulOutcome Iu-ReleaseComplete,
- &procedureCode id-Iu-Release-3,
- &criticality reject
- }
-
-
--- OTP-5466
-testObject RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-test
- CRITICALITY notify
-}
-
-testObject2 RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-test2
- CRITICALITY notify
-}
--- OTP-5466
-
-
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation ,
- ...
- }
-
--- additional definition R-E-P and change in RANAP-ELEMENTARY-PROCEDURES-2
--- from RANAP-ELEMENTARY-PROCEDURE to R-E-P to test OTP-4441
-
-R-E-P ::= RANAP-ELEMENTARY-PROCEDURE
-
--- add for RANAP-ELEMENTARY-PROCEDURES-2 and object3 OTP-4275
-RANAP-ELEMENTARY-PROCEDURES-2 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation ,
- ...,
- object3
-}
-
-
--- OTP-5466
-RANAP-ELEMENTARY-PROCEDURES-3 RANAP-ELEMENTARY-PROCEDURE ::= {
- {INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-test
- CRITICALITY notify}
-}
-
-RANAP-ELEMENTARY-PROCEDURES-4 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release|
- testObject,
- ...,
- relocationPreparation |
- testObject2
-}
--- OTP-5466
-
-
-
-
-Iu-ReleaseCommand ::= SEQUENCE {
- first INTEGER,
- second BOOLEAN
- }
-
-Iu-ReleaseComplete ::= INTEGER (1..510)
-
-ProcedureCode ::= INTEGER (0..255)
-Criticality ::= ENUMERATED { reject, ignore, notify }
-id-Iu-Release INTEGER ::= 1
-id-RelocationPreparation INTEGER ::= 2
-id-Iu-Release-3 INTEGER ::= 3
--- OTP-5466
-id-test INTEGER ::= 4
-id-test2 INTEGER ::= 5
--- OTP-5466
-
-END
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ROSE.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/ROSE.asn1
deleted file mode 100644
index 2fefae3caf..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ROSE.asn1
+++ /dev/null
@@ -1,449 +0,0 @@
-ROSE DEFINITIONS IMPLICIT TAGS ::=
-
-
-BEGIN
-
-OPERATION ::= CLASS
-{
- &ArgumentType OPTIONAL,
- &argumentTypeOptional BOOLEAN OPTIONAL,
- &returnResult BOOLEAN DEFAULT TRUE,
- &ResultType OPTIONAL,
- &resultTypeOptional BOOLEAN OPTIONAL,
- &Errors ERROR OPTIONAL,
- &Linked OPERATION OPTIONAL,
- &synchronous BOOLEAN DEFAULT FALSE,
- &idempotent BOOLEAN DEFAULT FALSE,
- &alwaysReturns BOOLEAN DEFAULT TRUE,
- &InvokePriority Priority OPTIONAL,
- &ResultPriority Priority OPTIONAL,
- &operationCode Code UNIQUE OPTIONAL
- }
-WITH SYNTAX
- {
- [ARGUMENT &ArgumentType [OPTIONAL &argumentTypeOptional]]
- [RESULT &ResultType [OPTIONAL &resultTypeOptional]]
- [RETURN RESULT &returnResult]
- [ERRORS &Errors]
- [LINKED &Linked]
- [SYNCHRONOUS &synchronous]
- [IDEMPOTENT &idempotent]
- [ALWAYS RESPONDS &alwaysReturns]
- [INVOKE PRIORITY &InvokePriority]
- [RESULT-PRIORITY &ResultPriority]
- [CODE &operationCode]
- }
-
-ERROR ::= CLASS
-{
- &ParameterType OPTIONAL,
- &parameterTypeOptional BOOLEAN OPTIONAL,
- &ErrorPriority Priority OPTIONAL,
- &errorCode Code UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [PARAMETER &ParameterType [OPTIONAL &parameterTypeOptional]]
- [PRIORITY &ErrorPriority]
- [CODE &errorCode]
- }
-
-OPERATION-PACKAGE ::= CLASS
-{
- &Both OPERATION OPTIONAL,
- &Consumer OPERATION OPTIONAL,
- &Supplier OPERATION OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [OPERATIONS &Both]
- [CONSUMER INVOKES &Supplier]
- [SUPPLIER INVOKES &Consumer]
- [ID &id]
- }
-
-CONNECTION-PACKAGE ::= CLASS
-{
- &bind OPERATION DEFAULT emptyBind,
- &unbind OPERATION DEFAULT emptyUnbind,
- &responderCanUnbind BOOLEAN DEFAULT FALSE,
- &unbindCanFail BOOLEAN DEFAULT FALSE,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [BIND &bind]
- [UNBIND &unbind]
- [RESPONDER UNBIND &responderCanUnbind]
- [FAILURE TO UNBIND &unbindCanFail]
- [ID &id]
- }
-
-CONTRACT ::= CLASS
-{
- &connection CONNECTION-PACKAGE OPTIONAL,
- &OperationsOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [CONNECTION &connection]
- [OPERATIONS OF &OperationsOf]
- [INITIATOR CONSUMER OF &InitiatorConsumerOf]
- [RESPONDER CONSUMER OF &InitiatorSupplierOf]
- [ID &id]
-}
-
-ROS-OBJECT-CLASS ::= CLASS
-{
- &Is ROS-OBJECT-CLASS OPTIONAL,
- &Initiates CONTRACT OPTIONAL,
- &Responds CONTRACT OPTIONAL,
- &InitiatesAndResponds CONTRACT OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
- }
-WITH SYNTAX
-{
- [IS &Is]
- [BOTH &InitiatesAndResponds]
- [INITIATES &Initiates]
- [RESPONDS &Responds]
- ID &id
- }
-
-Code ::= CHOICE
-{
- local INTEGER,
- global OBJECT IDENTIFIER
- }
-
-Priority ::= INTEGER (0..MAX)
-
-ROS {InvokeId:InvokeIdSet,OPERATION:Invokable,OPERATION:Returnable} ::= CHOICE
- {
- invoke [1] Invoke {{InvokeIdSet}, {Invokable}},
- returnResult [2] ReturnResult {{Returnable}},
- returnError [3] ReturnError {{Errors{{Returnable}}}},
- reject [4] Reject
- }
-(CONSTRAINED BY {-- must conform to the above definition --}
- ! RejectProblem : general-unrecognizedPDU)
-
-Invoke {InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE
-{
- invokeId InvokeId (InvokeIdSet)
- (CONSTRAINED BY {-- must be unambiguous --}
- ! RejectProblem : invoke-duplicateInvocation),
- linkedId CHOICE {
- present [0] IMPLICIT present < InvokeId,
- absent [1] IMPLICIT NULL
- }
- (CONSTRAINED BY {-- must identify an outstanding operation --}
- ! RejectProblem : invoke-unrecognizedLinkedId)
- (CONSTRAINED BY {-- which has one or more linked operations--}
- ! RejectProblem : invoke-linkedResponseUnexpected)
- OPTIONAL,
- opcode OPERATION.&operationCode
- ({Operations}
- ! RejectProblem : invoke-unrecognizedOperation),
- argument OPERATION.&ArgumentType
- ({Operations} {@opcode}
- ! RejectProblem : invoke-mistypedArgument)
- OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --}
- ! RejectProblem : general-mistypedPDU)
-(
-WITH COMPONENTS
-{...,
- linkedId ABSENT
- }
-| WITH COMPONENTS
-{...,
- linkedId PRESENT,
- opcode
- (CONSTRAINED BY {-- must be in the &Linked field of the associated operation --
- }
- ! RejectProblem : invoke-unexpectedLinkedOperation)
- }
-)
-
-ReturnResult {OPERATION:Operations}::= SEQUENCE
-{
- invokeId InvokeId
- (CONSTRAINED BY {-- must be that for an outstanding operation --}
- ! RejectProblem:returnResult-unrecognizedInvocation)
- (CONSTRAINED BY {-- which returns a result --}
- ! RejectProblem:returnResult-resultResponseUnexpected),
- result SEQUENCE
- {
- opcode OPERATION.&operationCode
- ({Operations})(CONSTRAINED BY {-- identified by invokeId --}
- ! RejectProblem:returnResult-unrecognizedInvocation),
- result OPERATION.&ResultType ({Operations} {@.opcode}
- ! RejectProblem:returnResult-mistypedResult)
- }
- OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem:general-mistypedPDU)
-
-ReturnError {ERROR:Errors} ::= SEQUENCE
-{
- invokeId InvokeId
- (CONSTRAINED BY {-- must be that for an outstanding operation --
- }
- ! RejectProblem : returnError-unrecognizedInvocation)
- (CONSTRAINED BY {-- which returns an error --
- }
- ! RejectProblem : returnError-errorResponseUnexpected),
- errcode ERROR.&errorCode
- ({Errors}
- ! RejectProblem : returnError-unrecognizedError)
- (CONSTRAINED BY {-- must be in the &Errors field of the associated operation --
- }
- ! RejectProblem : returnError-unexpectedError),
- parameter ERROR.&ParameterType
- ({Errors}{@errcode}
- ! RejectProblem : returnError-mistypedParameter) OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem : general-mistypedPDU)
-
-Reject ::= SEQUENCE
-{
- invokeId InvokeId,
- problem CHOICE
- {
- general [0] GeneralProblem,
- invoke [1] InvokeProblem,
- returnResult [2] ReturnResultProblem,
- returnError [3] ReturnErrorProblem
- }
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem : general-mistypedPDU)
-
-GeneralProblem ::= INTEGER
-{
- unrecognizedPDU (0),
- mistypedPDU (1),
- badlyStructuredPDU (2)
- }
-
-InvokeProblem ::= INTEGER
-{
- duplicateInvocation (0),
- unrecognizedOperation (1),
- mistypedArgument (2),
- resourceLimitation (3),
- releaseInProgress (4),
- unrecognizedLinkedId (5),
- linkedResponseUnexpected (6),
- unexpectedLinkedOperation (7)
- }
-
-ReturnResultProblem ::= INTEGER
-{
- unrecognizedInvocation (0),
- resultResponseUnexpected (1),
- mistypedResult (2)
- }
-
-ReturnErrorProblem ::= INTEGER
-{
- unrecognizedInvocation (0),
- errorResponseUnexpected (1),
- unrecognizedError (2),
- unexpectedError (3),
- mistypedParameter (4)
- }
-
-RejectProblem ::= INTEGER
-{
- general-unrecognizedPDU (0),
- general-mistypedPDU (1),
- general-badlyStructuredPDU (2),
- invoke-duplicateInvocation (10),
- invoke-unrecognizedOperation (11),
- invoke-mistypedArgument (12),
- invoke-resourceLimitation (13),
- invoke-releaseInProgress (14),
- invoke-unrecognizedLinkedId (15),
- invoke-linkedResponseUnexpected (16),
- invoke-unexpectedLinkedOperation (17),
- returnResult-unrecognizedInvocation (20),
- returnResult-resultResponseUnexpected (21),
- returnResult-mistypedResult (22),
- returnError-unrecognizedInvocation (30),
- returnError-errorResponseUnexpected (31),
- returnError-unrecognizedError (32),
- returnError-unexpectedError (33),
- returnError-mistypedParameter (34)
- }
-
-InvokeId ::= CHOICE
-{
- present INTEGER,
- absent NULL
- }
-
-noInvokeId InvokeId ::= absent:NULL
-
-NoInvokeId InvokeId ::= {noInvokeId}
-
-Errors {OPERATION:Operations} ERROR ::= {Operations.&Errors}
-
-Bind {OPERATION:operation} ::= CHOICE
-{
- bind-invoke [16] OPERATION.&ArgumentType({operation}),
- bind-result [17] OPERATION.&ResultType ({operation}),
- bind-error [18] OPERATION.&Errors.&ParameterType ({operation})
- }
-
-Unbind {OPERATION:operation} ::= CHOICE
-{
- unbind-invoke [19] OPERATION.&ArgumentType({operation}),
- unbind-result [20] OPERATION.&ResultType ({operation}),
- unbind-error [21] OPERATION.&Errors.&ParameterType ({operation})
- }
-
-emptyBind OPERATION ::= {ERRORS {refuse} SYNCHRONOUS TRUE}
-
-emptyUnbind OPERATION ::= { SYNCHRONOUS TRUE }
-
-refuse ERROR ::= {CODE local:-1}
-
-no-op OPERATION ::=
- {
- IDEMPOTENT TRUE
- ALWAYS RESPONDS FALSE
- CODE local:-1
- }
-
-Forward {OPERATION:OperationSet} OPERATION ::=
-{
- OperationSet |
- OperationSet.&Linked.&Linked |
- OperationSet.&Linked.&Linked.&Linked.&Linked
- }
-
-Reverse {OPERATION:OperationSet} OPERATION ::=
-{Forward{{OperationSet.&Linked}}}
-
-ConsumerPerforms {OPERATION-PACKAGE:package} OPERATION ::=
-{
- Forward{{package.&Consumer}} |
- Forward{{package.&Both}} |
- Reverse{{package.&Supplier}} |
- Reverse{{package.&Both}}
- }
-
-SupplierPerforms {OPERATION-PACKAGE:package} OPERATION ::=
-{
- Forward{{package.&Supplier}} |
- Forward{{package.&Both}} |
- Reverse{{package.&Consumer}} |
- Reverse{{package.&Both}}
- }
-
-AllOperations {OPERATION-PACKAGE:package} OPERATION ::=
-{
- ConsumerPerforms {package} |
- SupplierPerforms {package}
- }
-
-recode {OPERATION:operation, Code:code} OPERATION ::=
-{
- ARGUMENT operation.&ArgumentType
- OPTIONAL operation.&argumentTypeOptional
- RESULT operation.&ResultType
- OPTIONAL operation.&resultTypeOptional
- RETURN RESULT operation.&returnResult
- ERRORS {operation.&Errors}
- LINKED {operation.&Linked}
- SYNCHRONOUS operation.&synchronous
- ALWAYS RESPONDS operation.&alwaysReturns
- INVOKE PRIORITY {operation.&InvokePriority}
- RESULT-PRIORITY {operation.&ResultPriority}
- CODE code
- }
-
-switch {OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
-{
- OPERATIONS {package.&Both}
- CONSUMER INVOKES {package.&Consumer}
- SUPPLIER INVOKES {package.&Supplier}
- ID id
- }
-
-combine {OPERATION-PACKAGE:ConsumerConsumes,OPERATION-PACKAGE:ConsumerSupplies,
- OPERATION-PACKAGE:base
- } OPERATION-PACKAGE ::=
-{
- OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
- CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
- SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
- ID base.&id
- }
-
-ROS-SingleAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {AllOperations{package}}, {AllOperations{package}}}
-
-ROS-ConsumerAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {ConsumerPerforms{package}}, {SupplierPerforms{package}}}
-
-ROS-SupplierAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {SupplierPerforms{package}}, {ConsumerPerforms{package}}}
-
-probe OPERATION ::=
- {
- ARGUMENT SEQUENCE
- {
- invokeId [0] InvokeId
- }
- RESULT ENUMERATED{running(0), finished(1), unknown(2), ...}
- IDEMPOTENT TRUE
- CODE local:-2
- }
-
-acknowledge OPERATION ::=
- {
- ARGUMENT InvokeId
- RESULT ENUMERATED{acknowledged(0), unknown(1), ...}
- IDEMPOTENT TRUE
- CODE local:-3
- }
-
-ProbeAndAcknowledge OPERATION ::= {probe | acknowledge}
-
-cancel OPERATION ::=
- {
- ARGUMENT InvokeId
- ERRORS {cancelFailed}
- IDEMPOTENT TRUE
- CODE local:-4
- }
-
-cancelFailed ERROR ::=
- {
- PARAMETER SET
- {
- problem [0] CancelProblem,
- operation [1] InvokeId
- }
- CODE local:-2
- }
-
-CancelProblem ::= ENUMERATED
-{unknownOperation(0), tooLate(1), operationNotCancellable(2), ...}
-
-cancelled ERROR ::= {CODE local:-3}
-
-END -- end of useful definitions.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Real.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Real.py
deleted file mode 100644
index 6b7a748b4e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Real.py
+++ /dev/null
@@ -1,31 +0,0 @@
-Real DEFINITIONS ::=
-BEGIN
-
--- F.2.4.1
--- Use a real type to model an approximate number.
--- EXAMPLE
-
-AngleInRadians ::= REAL
-
-pi REAL ::=
- {mantissa 3141592653589793238462643383279, base 10, exponent -30}
-
--- F.2.4.2
--- Application designers may wish to ensure full interworking with real
--- values despite
--- differences in floating point hardware, and in implementation
--- decisions to use
--- (for example) single or double length floating point for an application.
--- This can be achieved by the following:
- App-X-Real ::= REAL (WITH COMPONENTS {
- mantissa (-16777215..16777215),
- base (2),
- exponent (-125..128) } )
-
--- Senders shall not transmit values outside these ranges
--- and conforming receivers shall be capable of receiving
--- and processing all values in these ranges.
-
- girth App-X-Real ::= {mantissa 16, base 2, exponent 1}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1
deleted file mode 100644
index 7dcf4fda0e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1
+++ /dev/null
@@ -1,203 +0,0 @@
-Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)}
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- exports everything
-
-IMPORTS OPERATION, ERROR
-FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)};
-
-
-ROS {InvokeId:InvokeIdSet,OPERATION:Invokable,OPERATION:Returnable} ::= CHOICE
- {
- invoke [1] Invoke {{InvokeIdSet}, {Invokable}},
- returnResult [2] ReturnResult {{Returnable}},
- returnError [3] ReturnError {{Errors{{Returnable}}}},
- reject [4] Reject
- }
-(CONSTRAINED BY {-- must conform to the above definition --}
- ! RejectProblem : general-unrecognizedPDU)
-
-Invoke {InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE
-{
- invokeId InvokeId (InvokeIdSet)
- (CONSTRAINED BY {-- must be unambiguous --}
- ! RejectProblem : invoke-duplicateInvocation),
- linkedId CHOICE {
- present [0] IMPLICIT present < InvokeId,
- absent [1] IMPLICIT NULL
- }
- (CONSTRAINED BY {-- must identify an outstanding operation --}
- ! RejectProblem : invoke-unrecognizedLinkedId)
- (CONSTRAINED BY {-- which has one or more linked operations--}
- ! RejectProblem : invoke-linkedResponseUnexpected)
- OPTIONAL,
- opcode OPERATION.&operationCode
- ({Operations}
- ! RejectProblem : invoke-unrecognizedOperation),
- argument OPERATION.&ArgumentType
- ({Operations} {@opcode}
- ! RejectProblem : invoke-mistypedArgument)
- OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --}
- ! RejectProblem : general-mistypedPDU)
-(
-WITH COMPONENTS
-{...,
- linkedId ABSENT
- }
-| WITH COMPONENTS
-{...,
- linkedId PRESENT,
- opcode
- (CONSTRAINED BY {-- must be in the &Linked field of the associated operation --
- }
- ! RejectProblem : invoke-unexpectedLinkedOperation)
- }
-)
-
-ReturnResult {OPERATION:Operations}::= SEQUENCE
-{
- invokeId InvokeId
- (CONSTRAINED BY {-- must be that for an outstanding operation --}
- ! RejectProblem:returnResult-unrecognizedInvocation)
- (CONSTRAINED BY {-- which returns a result --}
- ! RejectProblem:returnResult-resultResponseUnexpected),
- result SEQUENCE
- {
- opcode OPERATION.&operationCode
- ({Operations})(CONSTRAINED BY {-- identified by invokeId --}
- ! RejectProblem:returnResult-unrecognizedInvocation),
- result OPERATION.&ResultType ({Operations} {@.opcode}
- ! RejectProblem:returnResult-mistypedResult)
- }
- OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem:general-mistypedPDU)
-
-ReturnError {ERROR:Errors} ::= SEQUENCE
-{
- invokeId InvokeId
- (CONSTRAINED BY {-- must be that for an outstanding operation --
- }
- ! RejectProblem : returnError-unrecognizedInvocation)
- (CONSTRAINED BY {-- which returns an error --
- }
- ! RejectProblem : returnError-errorResponseUnexpected),
- errcode ERROR.&errorCode
- ({Errors}
- ! RejectProblem : returnError-unrecognizedError)
- (CONSTRAINED BY {-- must be in the &Errors field of the associated operation --
- }
- ! RejectProblem : returnError-unexpectedError),
- parameter ERROR.&ParameterType
- ({Errors}{@errcode}
- ! RejectProblem : returnError-mistypedParameter) OPTIONAL
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem : general-mistypedPDU)
-
-Reject ::= SEQUENCE
-{
- invokeId InvokeId,
- problem CHOICE
- {
- general [0] GeneralProblem,
- invoke [1] InvokeProblem,
- returnResult [2] ReturnResultProblem,
- returnError [3] ReturnErrorProblem
- }
- }
-(CONSTRAINED BY {-- must conform to the above definition --
- }
-! RejectProblem : general-mistypedPDU)
-
-GeneralProblem ::= INTEGER
-{
- unrecognizedPDU (0),
- mistypedPDU (1),
- badlyStructuredPDU (2)
- }
-
-InvokeProblem ::= INTEGER
-{
- duplicateInvocation (0),
- unrecognizedOperation (1),
- mistypedArgument (2),
- resourceLimitation (3),
- releaseInProgress (4),
- unrecognizedLinkedId (5),
- linkedResponseUnexpected (6),
- unexpectedLinkedOperation (7)
- }
-
-ReturnResultProblem ::= INTEGER
-{
- unrecognizedInvocation (0),
- resultResponseUnexpected (1),
- mistypedResult (2)
- }
-
-ReturnErrorProblem ::= INTEGER
-{
- unrecognizedInvocation (0),
- errorResponseUnexpected (1),
- unrecognizedError (2),
- unexpectedError (3),
- mistypedParameter (4)
- }
-
-RejectProblem ::= INTEGER
-{
- general-unrecognizedPDU (0),
- general-mistypedPDU (1),
- general-badlyStructuredPDU (2),
- invoke-duplicateInvocation (10),
- invoke-unrecognizedOperation (11),
- invoke-mistypedArgument (12),
- invoke-resourceLimitation (13),
- invoke-releaseInProgress (14),
- invoke-unrecognizedLinkedId (15),
- invoke-linkedResponseUnexpected (16),
- invoke-unexpectedLinkedOperation (17),
- returnResult-unrecognizedInvocation (20),
- returnResult-resultResponseUnexpected (21),
- returnResult-mistypedResult (22),
- returnError-unrecognizedInvocation (30),
- returnError-errorResponseUnexpected (31),
- returnError-unrecognizedError (32),
- returnError-unexpectedError (33),
- returnError-mistypedParameter (34)
- }
-
-InvokeId ::= CHOICE
-{
- present INTEGER,
- absent NULL
- }
-
-noInvokeId InvokeId ::= absent:NULL
-
-NoInvokeId InvokeId ::= {noInvokeId}
-
-Errors {OPERATION:Operations} ERROR ::= {Operations.&Errors}
-
-Bind {OPERATION:operation} ::= CHOICE
-{
- bind-invoke [16] OPERATION.&ArgumentType({operation}),
- bind-result [17] OPERATION.&ResultType ({operation}),
- bind-error [18] OPERATION.&Errors.&ParameterType ({operation})
- }
-
-Unbind {OPERATION:operation} ::= CHOICE
-{
- unbind-invoke [19] OPERATION.&ArgumentType({operation}),
- unbind-result [20] OPERATION.&ResultType ({operation}),
- unbind-error [21] OPERATION.&Errors.&ParameterType ({operation})
- }
-
-END -- end of generic ROS PDU definitions
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Information-Objects.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Information-Objects.asn1
deleted file mode 100644
index b467c0a754..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Information-Objects.asn1
+++ /dev/null
@@ -1,130 +0,0 @@
-Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version2(1)}
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- exports everything
-
-IMPORTS emptyBind, emptyUnbind
-FROM Remote-Operations-Useful-Definitions
-{joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)};
-
-OPERATION ::= CLASS
-{
- &ArgumentType OPTIONAL,
- &argumentTypeOptional BOOLEAN OPTIONAL,
- &returnResult BOOLEAN DEFAULT TRUE,
- &ResultType OPTIONAL,
- &resultTypeOptional BOOLEAN OPTIONAL,
- &Errors ERROR OPTIONAL,
- &Linked OPERATION OPTIONAL,
- &synchronous BOOLEAN DEFAULT FALSE,
- &idempotent BOOLEAN DEFAULT FALSE,
- &alwaysReturns BOOLEAN DEFAULT TRUE,
- &InvokePriority Priority OPTIONAL,
- &ResultPriority Priority OPTIONAL,
- &operationCode Code UNIQUE OPTIONAL
- }
-WITH SYNTAX
- {
- [ARGUMENT &ArgumentType [OPTIONAL &argumentTypeOptional]]
- [RESULT &ResultType [OPTIONAL &resultTypeOptional]]
- [RETURN RESULT &returnResult]
- [ERRORS &Errors]
- [LINKED &Linked]
- [SYNCHRONOUS &synchronous]
- [IDEMPOTENT &idempotent]
- [ALWAYS RESPONDS &alwaysReturns]
- [INVOKE PRIORITY &InvokePriority]
- [RESULT-PRIORITY &ResultPriority]
- [CODE &operationCode]
- }
-
-ERROR ::= CLASS
-{
- &ParameterType OPTIONAL,
- &parameterTypeOptional BOOLEAN OPTIONAL,
- &ErrorPriority Priority OPTIONAL,
- &errorCode Code UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [PARAMETER &ParameterType [OPTIONAL &parameterTypeOptional]]
- [PRIORITY &ErrorPriority]
- [CODE &errorCode]
- }
-
-OPERATION-PACKAGE ::= CLASS
-{
- &Both OPERATION OPTIONAL,
- &Consumer OPERATION OPTIONAL,
- &Supplier OPERATION OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [OPERATIONS &Both]
- [CONSUMER INVOKES &Supplier]
- [SUPPLIER INVOKES &Consumer]
- [ID &id]
- }
-
-CONNECTION-PACKAGE ::= CLASS
-{
- &bind OPERATION DEFAULT emptyBind,
- &unbind OPERATION DEFAULT emptyUnbind,
- &responderCanUnbind BOOLEAN DEFAULT FALSE,
- &unbindCanFail BOOLEAN DEFAULT FALSE,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [BIND &bind]
- [UNBIND &unbind]
- [RESPONDER UNBIND &responderCanUnbind]
- [FAILURE TO UNBIND &unbindCanFail]
- [ID &id]
- }
-
-CONTRACT ::= CLASS
-{
- &connection CONNECTION-PACKAGE OPTIONAL,
- &OperationsOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
- }
-WITH SYNTAX
-{
- [CONNECTION &connection]
- [OPERATIONS OF &OperationsOf]
- [INITIATOR CONSUMER OF &InitiatorConsumerOf]
- [RESPONDER CONSUMER OF &InitiatorSupplierOf]
- [ID &id]
-}
-
-ROS-OBJECT-CLASS ::= CLASS
-{
- &Is ROS-OBJECT-CLASS OPTIONAL,
- &Initiates CONTRACT OPTIONAL,
- &Responds CONTRACT OPTIONAL,
- &InitiatesAndResponds CONTRACT OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
- }
-WITH SYNTAX
-{
- [IS &Is]
- [BOTH &InitiatesAndResponds]
- [INITIATES &Initiates]
- [RESPONDS &Responds]
- ID &id
- }
-
-Code ::= CHOICE
-{
- local INTEGER,
- global OBJECT IDENTIFIER
- }
-
-Priority ::= INTEGER (0..MAX)
-
-END -- end of Information Object specifications
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Merged.set.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Merged.set.asn1
deleted file mode 100644
index c321464a2e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Merged.set.asn1
+++ /dev/null
@@ -1,3 +0,0 @@
-Remote-Operations-Generic-ROS-PDUs.asn1
-Remote-Operations-Information-Objects.asn1
-Remote-Operations-Useful-Definitions.asn1
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Useful-Definitions.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Useful-Definitions.asn1
deleted file mode 100644
index 989c23dd5f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Remote-Operations-Useful-Definitions.asn1
+++ /dev/null
@@ -1,149 +0,0 @@
-Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4) useful-definitions(7) version2(1)}
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- exports everything
-
-IMPORTS
-
- OPERATION, ERROR, OPERATION-PACKAGE, Code
- FROM Remote-Operations-Information-Objects
- {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
- InvokeId, ROS{}
- FROM Remote-Operations-Generic-ROS-PDUs
- {joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)};
-
-
-emptyBind OPERATION ::= {ERRORS {refuse} SYNCHRONOUS TRUE}
-
-emptyUnbind OPERATION ::= { SYNCHRONOUS TRUE }
-
-refuse ERROR ::= {CODE local:-1}
-
-no-op OPERATION ::=
- {
- IDEMPOTENT TRUE
- ALWAYS RESPONDS FALSE
- CODE local:-1
- }
-
-Forward {OPERATION:OperationSet} OPERATION ::=
-{
- OperationSet |
- OperationSet.&Linked.&Linked |
- OperationSet.&Linked.&Linked.&Linked.&Linked
- }
-
-Reverse {OPERATION:OperationSet} OPERATION ::=
-{Forward{{OperationSet.&Linked}}}
-
-ConsumerPerforms {OPERATION-PACKAGE:package} OPERATION ::=
-{
- Forward{{package.&Consumer}} |
- Forward{{package.&Both}} |
- Reverse{{package.&Supplier}} |
- Reverse{{package.&Both}}
- }
-
-SupplierPerforms {OPERATION-PACKAGE:package} OPERATION ::=
-{
- Forward{{package.&Supplier}} |
- Forward{{package.&Both}} |
- Reverse{{package.&Consumer}} |
- Reverse{{package.&Both}}
- }
-
-AllOperations {OPERATION-PACKAGE:package} OPERATION ::=
-{
- ConsumerPerforms {package} |
- SupplierPerforms {package}
- }
-
-recode {OPERATION:operation, Code:code} OPERATION ::=
-{
- ARGUMENT operation.&ArgumentType
- OPTIONAL operation.&argumentTypeOptional
- RESULT operation.&ResultType
- OPTIONAL operation.&resultTypeOptional
- RETURN RESULT operation.&returnResult
- ERRORS {operation.&Errors}
- LINKED {operation.&Linked}
- SYNCHRONOUS operation.&synchronous
- ALWAYS RESPONDS operation.&alwaysReturns
- INVOKE PRIORITY {operation.&InvokePriority}
- RESULT-PRIORITY {operation.&ResultPriority}
- CODE code
- }
-
-switch {OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
-{
- OPERATIONS {package.&Both}
- CONSUMER INVOKES {package.&Consumer}
- SUPPLIER INVOKES {package.&Supplier}
- ID id
- }
-
-combine {OPERATION-PACKAGE:ConsumerConsumes,OPERATION-PACKAGE:ConsumerSupplies,
- OPERATION-PACKAGE:base
- } OPERATION-PACKAGE ::=
-{
- OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
- CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
- SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
- ID base.&id
- }
-
-ROS-SingleAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {AllOperations{package}}, {AllOperations{package}}}
-
-ROS-ConsumerAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {ConsumerPerforms{package}}, {SupplierPerforms{package}}}
-
-ROS-SupplierAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
-{{InvokeIdSet}, {SupplierPerforms{package}}, {ConsumerPerforms{package}}}
-
-probe OPERATION ::=
- {
- ARGUMENT SEQUENCE
- {
- invokeId [0] InvokeId
- }
- RESULT ENUMERATED{running(0), finished(1), unknown(2), ...}
- IDEMPOTENT TRUE
- CODE local:-2
- }
-
-acknowledge OPERATION ::=
- {
- ARGUMENT InvokeId
- RESULT ENUMERATED{acknowledged(0), unknown(1), ...}
- IDEMPOTENT TRUE
- CODE local:-3
- }
-
-ProbeAndAcknowledge OPERATION ::= {probe | acknowledge}
-
-cancel OPERATION ::=
- {
- ARGUMENT InvokeId
- ERRORS {cancelFailed}
- IDEMPOTENT TRUE
- CODE local:-4
- }
-
-cancelFailed ERROR ::=
- {
- PARAMETER SET
- {
- problem [0] CancelProblem,
- operation [1] InvokeId
- }
- CODE local:-2
- }
-
-CancelProblem ::= ENUMERATED
-{unknownOperation(0), tooLate(1), operationNotCancellable(2), ...}
-
-cancelled ERROR ::= {CODE local:-3}
-
-END -- end of useful definitions.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-CommonDataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-CommonDataTypes.asn
deleted file mode 100644
index 3ddbf35a2f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-CommonDataTypes.asn
+++ /dev/null
@@ -1,35 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.5 Common Definitions
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
-S1AP-CommonDataTypes {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..65535),
- global OBJECT IDENTIFIER
-}
-
-ProcedureCode ::= INTEGER (0..255)
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-ProtocolIE-ID ::= INTEGER (0..65535)
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-Constants.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-Constants.asn
deleted file mode 100644
index ff4e8779cd..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-Constants.asn
+++ /dev/null
@@ -1,251 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.6 Constant Definitions
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
-S1AP-Constants {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- ProcedureCode,
- ProtocolIE-ID
-
-FROM S1AP-CommonDataTypes;
-
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-HandoverPreparation ProcedureCode ::= 0
-id-HandoverResourceAllocation ProcedureCode ::= 1
-id-HandoverNotification ProcedureCode ::= 2
-id-PathSwitchRequest ProcedureCode ::= 3
-id-HandoverCancel ProcedureCode ::= 4
-id-E-RABSetup ProcedureCode ::= 5
-id-E-RABModify ProcedureCode ::= 6
-id-E-RABRelease ProcedureCode ::= 7
-id-E-RABReleaseIndication ProcedureCode ::= 8
-id-InitialContextSetup ProcedureCode ::= 9
-id-Paging ProcedureCode ::= 10
-id-downlinkNASTransport ProcedureCode ::= 11
-id-initialUEMessage ProcedureCode ::= 12
-id-uplinkNASTransport ProcedureCode ::= 13
-id-Reset ProcedureCode::= 14
-id-ErrorIndication ProcedureCode ::= 15
-id-NASNonDeliveryIndication ProcedureCode ::= 16
-id-S1Setup ProcedureCode ::= 17
-id-UEContextReleaseRequest ProcedureCode ::= 18
-id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19
-id-UplinkS1cdma2000tunneling ProcedureCode ::= 20
-id-UEContextModification ProcedureCode ::= 21
-id-UECapabilityInfoIndication ProcedureCode ::= 22
-id-UEContextRelease ProcedureCode ::= 23
-id-eNBStatusTransfer ProcedureCode ::= 24
-id-MMEStatusTransfer ProcedureCode ::= 25
-id-DeactivateTrace ProcedureCode ::= 26
-id-TraceStart ProcedureCode ::= 27
-id-TraceFailureIndication ProcedureCode ::= 28
-id-ENBConfigurationUpdate ProcedureCode ::= 29
-id-MMEConfigurationUpdate ProcedureCode ::= 30
-id-LocationReportingControl ProcedureCode ::= 31
-id-LocationReportingFailureIndication ProcedureCode ::= 32
-id-LocationReport ProcedureCode ::= 33
-id-OverloadStart ProcedureCode ::= 34
-id-OverloadStop ProcedureCode ::= 35
-id-WriteReplaceWarning ProcedureCode ::= 36
-id-eNBDirectInformationTransfer ProcedureCode ::= 37
-id-MMEDirectInformationTransfer ProcedureCode ::= 38
-id-PrivateMessage ProcedureCode ::= 39
-id-eNBConfigurationTransfer ProcedureCode ::= 40
-id-MMEConfigurationTransfer ProcedureCode ::= 41
-id-CellTrafficTrace ProcedureCode ::= 42
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfCSGs INTEGER ::= 256
-maxNrOfE-RABs INTEGER ::= 256
-maxnoofTAIs INTEGER ::= 256
-maxnoofTACs INTEGER ::= 256
-maxNrOfErrors INTEGER ::= 256
-maxnoofBPLMNs INTEGER ::= 6
-maxnoofPLMNsPerMME INTEGER ::= 32
-maxnoofEPLMNs INTEGER ::= 15
-maxnoofEPLMNsPlusOne INTEGER ::= 16
-maxnoofForbLACs INTEGER ::= 4096
-maxnoofForbTACs INTEGER ::= 4096
-maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
-maxnoofCells INTEGER ::= 16
-maxnoofTAIforWarning INTEGER ::= 65535
-maxnoofCellID INTEGER ::= 65535
-maxnoofEmergencyAreaID INTEGER ::= 65535
-maxnoofCellinTAI INTEGER ::= 65535
-maxnoofCellinEAI INTEGER ::= 65535
-maxnoofeNBX2TLAs INTEGER ::= 2
-maxnoofRATs INTEGER ::= 8
-maxnoofGroupIDs INTEGER ::= 65535
-maxnoofMMECs INTEGER ::= 256
-
-
-
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0
-id-HandoverType ProtocolIE-ID ::= 1
-id-Cause ProtocolIE-ID ::= 2
-id-SourceID ProtocolIE-ID ::= 3
-id-TargetID ProtocolIE-ID ::= 4
-id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8
-id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12
-id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13
-id-E-RABDataForwardingItem ProtocolIE-ID ::= 14
-id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15
-id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16
-id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17
-id-E-RABAdmittedList ProtocolIE-ID ::= 18
-id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19
-id-E-RABAdmittedItem ProtocolIE-ID ::= 20
-id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21
-id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22
-id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23
-id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24
-id-TraceActivation ProtocolIE-ID ::= 25
-id-NAS-PDU ProtocolIE-ID ::= 26
-id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27
-id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28
-id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29
-id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30
-id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31
-id-E-RABFailedToModifyList ProtocolIE-ID ::= 32
-id-E-RABToBeReleasedList ProtocolIE-ID ::= 33
-id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34
-id-E-RABItem ProtocolIE-ID ::= 35
-id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36
-id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37
-id-E-RABReleaseItem ProtocolIE-ID ::= 38
-id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39
-id-SecurityContext ProtocolIE-ID ::= 40
-id-HandoverRestrictionList ProtocolIE-ID ::= 41
-id-UEPagingID ProtocolIE-ID ::= 43
-id-pagingDRX ProtocolIE-ID ::= 44
-id-TAIList ProtocolIE-ID ::= 46
-id-TAIItem ProtocolIE-ID ::= 47
-id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48
-id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49
-id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50
-id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51
-id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52
-id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53
-id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55
-id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57
-id-CriticalityDiagnostics ProtocolIE-ID ::= 58
-id-Global-ENB-ID ProtocolIE-ID ::= 59
-id-eNBname ProtocolIE-ID ::= 60
-id-MMEname ProtocolIE-ID ::= 61
-id-ServedPLMNs ProtocolIE-ID ::= 63
-id-SupportedTAs ProtocolIE-ID ::= 64
-id-TimeToWait ProtocolIE-ID ::= 65
-id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66
-id-TAI ProtocolIE-ID ::= 67
-id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69
-id-cdma2000PDU ProtocolIE-ID ::= 70
-id-cdma2000RATType ProtocolIE-ID ::= 71
-id-cdma2000SectorID ProtocolIE-ID ::= 72
-id-SecurityKey ProtocolIE-ID ::= 73
-id-UERadioCapability ProtocolIE-ID ::= 74
-id-GUMMEI-ID ProtocolIE-ID ::= 75
-id-E-RABInformationListItem ProtocolIE-ID ::= 78
-id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79
-id-UEIdentityIndexValue ProtocolIE-ID ::= 80
-id-cdma2000HOStatus ProtocolIE-ID ::= 83
-id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84
-id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86
-id-RelativeMMECapacity ProtocolIE-ID ::= 87
-id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88
-id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89
-id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90
-id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91
-id-ResetType ProtocolIE-ID ::= 92
-id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93
-id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94
-id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95
-id-S-TMSI ProtocolIE-ID ::= 96
-id-cdma2000OneXRAND ProtocolIE-ID ::= 97
-id-RequestType ProtocolIE-ID ::= 98
-id-UE-S1AP-IDs ProtocolIE-ID ::= 99
-id-EUTRAN-CGI ProtocolIE-ID ::= 100
-id-OverloadResponse ProtocolIE-ID ::= 101
-id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102
-id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103
-id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104
-id-ServedGUMMEIs ProtocolIE-ID ::= 105
-id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106
-id-UESecurityCapabilities ProtocolIE-ID ::= 107
-id-CSFallbackIndicator ProtocolIE-ID ::= 108
-id-CNDomain ProtocolIE-ID ::= 109
-id-E-RABReleasedList ProtocolIE-ID ::= 110
-id-MessageIdentifier ProtocolIE-ID ::= 111
-id-SerialNumber ProtocolIE-ID ::= 112
-id-WarningAreaList ProtocolIE-ID ::= 113
-id-RepetitionPeriod ProtocolIE-ID ::= 114
-id-NumberofBroadcastRequest ProtocolIE-ID ::= 115
-id-WarningType ProtocolIE-ID ::= 116
-id-WarningSecurityInfo ProtocolIE-ID ::= 117
-id-DataCodingScheme ProtocolIE-ID ::= 118
-id-WarningMessageContents ProtocolIE-ID ::= 119
-id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120
-id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121
-id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122
-id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123
-id-SRVCCOperationPossible ProtocolIE-ID ::= 124
-id-SRVCCHOIndication ProtocolIE-ID ::= 125
-id-NAS-DownlinkCount ProtocolIE-ID ::= 126
-id-CSG-Id ProtocolIE-ID ::= 127
-id-CSG-IdList ProtocolIE-ID ::= 128
-id-SONConfigurationTransferECT ProtocolIE-ID ::= 129
-id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130
-id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131
-id-MSClassmark2 ProtocolIE-ID ::= 132
-id-MSClassmark3 ProtocolIE-ID ::= 133
-id-RRC-Establishment-Cause ProtocolIE-ID ::= 134
-id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135
-id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136
-id-DefaultPagingDRX ProtocolIE-ID ::= 137
-id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138
-id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-Containers.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-Containers.asn
deleted file mode 100644
index 63883f424c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-Containers.asn
+++ /dev/null
@@ -1,201 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.7 Container Definitions
--- **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
-
-S1AP-Containers {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- Presence,
- PrivateIE-ID,
- ProtocolExtensionID,
- ProtocolIE-ID
-FROM S1AP-CommonDataTypes
-
- maxPrivateIEs,
- maxProtocolExtensions,
- maxProtocolIEs
-FROM S1AP-Constants;
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-S1AP-PROTOCOL-IES ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-S1AP-PROTOCOL-IES-PAIR ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &firstCriticality Criticality,
- &FirstValue,
- &secondCriticality Criticality,
- &SecondValue,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- FIRST CRITICALITY &firstCriticality
- FIRST TYPE &FirstValue
- SECOND CRITICALITY &secondCriticality
- SECOND TYPE &SecondValue
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol Extensions
---
--- **************************************************************
-
-S1AP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolExtensionID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Private IEs
---
--- **************************************************************
-
-S1AP-PRIVATE-IES ::= CLASS {
- &id PrivateIE-ID,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Container for Protocol IEs
---
--- **************************************************************
-
-ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id S1AP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Protocol IE Pairs
---
--- **************************************************************
-
-ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-FieldPair {{IEsSetParam}}
-
-ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
- id S1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
- firstCriticality S1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
- firstValue S1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
- secondCriticality S1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
- secondValue S1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-SingleContainer {{IEsSetParam}}
-
-ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-ContainerPair {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id S1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality S1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue S1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Private IEs
---
--- **************************************************************
-
-PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
- SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
- PrivateIE-Field {{IEsSetParam}}
-
-PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
- id S1AP-PRIVATE-IES.&id ({IEsSetParam}),
- criticality S1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
- value S1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-IEs.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-IEs.asn
deleted file mode 100644
index 719bf1359b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-IEs.asn
+++ /dev/null
@@ -1,1178 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.4 Information Element Definitions
--- **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
-S1AP-IEs {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-IEs (2) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- id-E-RABInformationListItem,
- id-E-RABItem,
- id-Bearers-SubjectToStatusTransfer-Item,
- maxNrOfCSGs,
- maxNrOfE-RABs,
- maxNrOfErrors,
- maxnoofBPLMNs,
- maxnoofPLMNsPerMME,
- maxnoofTACs,
- maxnoofEPLMNs,
- maxnoofEPLMNsPlusOne,
- maxnoofForbLACs,
- maxnoofForbTACs,
- maxnoofTACs,
- maxnoofCells,
- maxnoofCellID,
- maxnoofEmergencyAreaID,
- maxnoofTAIforWarning,
- maxnoofCellinTAI,
- maxnoofCellinEAI,
- maxnoofeNBX2TLAs,
- maxnoofRATs,
- maxnoofGroupIDs,
- maxnoofMMECs
-
-
-
-FROM S1AP-Constants
-
- Criticality,
- ProcedureCode,
- ProtocolIE-ID,
- TriggeringMessage
-FROM S1AP-CommonDataTypes
-
- ProtocolExtensionContainer{},
- S1AP-PROTOCOL-EXTENSION,
- ProtocolIE-SingleContainer{},
- S1AP-PROTOCOL-IES
-
-FROM S1AP-Containers;
-
--- A
-
-
-AllocationAndRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
- iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationAndRetentionPriority-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- B
-
-Bearers-SubjectToStatusTransferList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { Bearers-SubjectToStatusTransfer-ItemIEs } }
-
-Bearers-SubjectToStatusTransfer-ItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Bearers-SubjectToStatusTransfer-Item CRITICALITY ignore TYPE Bearers-SubjectToStatusTransfer-Item PRESENCE mandatory },
- ...
-}
-
-Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- uL-COUNTvalue COUNTvalue,
- dL-COUNTvalue COUNTvalue,
- receiveStatusofULPDCPSDUs ReceiveStatusofULPDCPSDUs OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {Bearers-SubjectToStatusTransfer-ItemExtIEs} } OPTIONAL,
- ...
-}
-
-Bearers-SubjectToStatusTransfer-ItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-BitRate ::= INTEGER (0..10000000000)
-
-BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity
-
-BroadcastCompletedAreaList ::= CHOICE {
- cellID-Broadcast CellID-Broadcast,
- tAI-Broadcast TAI-Broadcast,
- emergencyAreaID-Broadcast EmergencyAreaID-Broadcast,
- ...
-}
-
-
--- C
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transport CauseTransport,
- nas CauseNas,
- protocol CauseProtocol,
- misc CauseMisc,
- ...
-}
-
-CauseMisc ::= ENUMERATED {
- control-processing-overload,
- not-enough-user-plane-processing-resources,
- hardware-failure,
- om-intervention,
- unspecified,
- unknown-PLMN,
-...
-}
-
-CauseProtocol ::= ENUMERATED {
- transfer-syntax-error,
- abstract-syntax-error-reject,
- abstract-syntax-error-ignore-and-notify,
- message-not-compatible-with-receiver-state,
- semantic-error,
- abstract-syntax-error-falsely-constructed-message,
- unspecified,
- ...
-}
-
-CauseRadioNetwork ::= ENUMERATED {
- unspecified,
- tx2relocoverall-expiry,
- successful-handover,
- release-due-to-eutran-generated-reason,
- handover-cancelled,
- partial-handover,
- ho-failure-in-target-EPC-eNB-or-target-system,
- ho-target-not-allowed,
- tS1relocoverall-expiry,
- tS1relocprep-expiry,
- cell-not-available,
- unknown-targetID,
- no-radio-resources-available-in-target-cell,
- unknown-mme-ue-s1ap-id,
- unknown-enb-ue-s1ap-id,
- unknown-pair-ue-s1ap-id,
- handover-desirable-for-radio-reason,
- time-critical-handover,
- resource-optimisation-handover,
- reduce-load-in-serving-cell,
- user-inactivity,
- radio-connection-with-ue-lost,
- load-balancing-tau-required,
- cs-fallback-triggered,
- ue-not-available-for-ps-service,
- radio-resources-not-available,
- failure-in-radio-interface-procedure,
- invalid-qos-combination,
- interrat-redirection,
- interaction-with-other-procedure,
- unknown-E-RAB-ID,
- multiple-E-RAB-ID-instances,
- encryption-and-or-integrity-protection-algorithms-not-supported,
- s1-intra-system-handover-triggered,
- s1-inter-system-handover-triggered,
- x2-handover-triggered,
- ...,
- redirection-towards-1xRTT
-
-}
-
-CauseTransport ::= ENUMERATED {
- transport-resource-unavailable,
- unspecified,
- ...
-}
-
-CauseNas ::= ENUMERATED {
- normal-release,
- authentication-failure,
- detach,
- unspecified,
- ...
-}
-
-CellIdentity ::= BIT STRING (SIZE (28))
-
-CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item
-
-CellID-Broadcast-Item ::= SEQUENCE {
- eCGI EUTRAN-CGI,
- iE-Extensions ProtocolExtensionContainer { {CellID-Broadcast-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-Cdma2000PDU ::= OCTET STRING
-
-Cdma2000RATType ::= ENUMERATED {
- hRPD,
- onexRTT,
- ...
-}
-
-Cdma2000SectorID ::= OCTET STRING
-
-Cdma2000HOStatus ::= ENUMERATED {
- hOSuccess,
- hOFailure,
- ...
-}
-
-Cdma2000HORequiredIndication ::= ENUMERATED {
- true,
- ...
-}
-
-Cdma2000OneXSRVCCInfo ::= SEQUENCE {
- cdma2000OneXMEID Cdma2000OneXMEID,
- cdma2000OneXMSI Cdma2000OneXMSI,
- cdma2000OneXPilot Cdma2000OneXPilot,
- iE-Extensions ProtocolExtensionContainer { {Cdma2000OneXSRVCCInfo-ExtIEs} } OPTIONAL,
- ...
-}
-
-Cdma2000OneXSRVCCInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Cdma2000OneXMEID ::= OCTET STRING
-
-Cdma2000OneXMSI ::= OCTET STRING
-
-Cdma2000OneXPilot ::= OCTET STRING
-
-Cdma2000OneXRAND ::= OCTET STRING
-
-
-Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ...}
-
-CellType ::= SEQUENCE {
- cell-Size Cell-Size,
- iE-Extensions ProtocolExtensionContainer { { CellType-ExtIEs}} OPTIONAL,
- ...
-}
-
-CellType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- cI CI,
- rAC RAC OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL,
- ...
- }
-
-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CI ::= OCTET STRING (SIZE (2))
-
-CNDomain ::= ENUMERATED {
- ps,
- cs
-}
-
-CSFallbackIndicator ::= ENUMERATED {
- cs-fallback-required,
- ...,
- cs-fallback-high-priority
-}
-
-CSG-Id ::= BIT STRING (SIZE (27))
-
-
-CSG-IdList ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF CSG-IdList-Item
-
-CSG-IdList-Item ::= SEQUENCE {
- cSG-Id CSG-Id,
- iE-Extensions ProtocolExtensionContainer { {CSG-IdList-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-COUNTvalue ::= SEQUENCE {
- pDCP-SN PDCP-SN,
- hFN HFN,
- iE-Extensions ProtocolExtensionContainer { {COUNTvalue-ExtIEs} } OPTIONAL,
- ...
-}
-COUNTvalue-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureCode ProcedureCode OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- procedureCriticality Criticality OPTIONAL,
- iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}} OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF CriticalityDiagnostics-IE-Item
-
-CriticalityDiagnostics-IE-Item ::= SEQUENCE {
- iECriticality Criticality,
- iE-ID ProtocolIE-ID,
- typeOfError TypeOfError,
- iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-IE-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- D
-
-DataCodingScheme ::= BIT STRING (SIZE (8))
-
-DL-Forwarding ::= ENUMERATED {
- dL-Forwarding-proposed,
- ...
-}
-
-Direct-Forwarding-Path-Availability ::= ENUMERATED {
- directPathAvailable,
- ...
-}
-
--- E
-
-ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI
-
-EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID
-
-EmergencyAreaID ::= OCTET STRING (SIZE (3))
-
-EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-Item
-
-EmergencyAreaID-Broadcast-Item ::= SEQUENCE {
- emergencyAreaID EmergencyAreaID,
- completedCellinEAI CompletedCellinEAI,
- iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-EmergencyAreaID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-CompletedCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellinEAI-Item
-
-CompletedCellinEAI-Item ::= SEQUENCE {
- eCGI EUTRAN-CGI,
- iE-Extensions ProtocolExtensionContainer { {CompletedCellinEAI-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-CompletedCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ENB-ID ::= CHOICE {
- macroENB-ID BIT STRING (SIZE(20)),
- homeENB-ID BIT STRING (SIZE(28)),
- ...
-}
-
-GERAN-Cell-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- cI CI,
- iE-Extensions ProtocolExtensionContainer { { GERAN-Cell-ID-ExtIEs} } OPTIONAL,
- ...
-}
-
-GERAN-Cell-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Global-ENB-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- eNB-ID ENB-ID,
- iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
- ...
-}
-
-GlobalENB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-ENB-StatusTransfer-TransparentContainer ::= SEQUENCE {
- bearers-SubjectToStatusTransferList Bearers-SubjectToStatusTransferList,
- iE-Extensions ProtocolExtensionContainer { {ENB-StatusTransfer-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-ENB-StatusTransfer-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ENB-UE-S1AP-ID ::= INTEGER (0..16777215)
-
-ENBname ::= PrintableString (SIZE (1..150,...))
-
-ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress
-
-EncryptionAlgorithms ::= BIT STRING (SIZE (16,...))
-
-EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNidentity
-EventType ::= ENUMERATED {
- direct,
- change-of-serve-cell,
- stop-change-of-serve-cell,
- ...
-}
-
-E-RAB-ID ::= INTEGER (0..15, ...)
-
-E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { E-RABInformationListIEs } }
-
-E-RABInformationListIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABInformationListItem CRITICALITY ignore TYPE E-RABInformationListItem PRESENCE mandatory },
- ...
-}
-
-E-RABInformationListItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- dL-Forwarding DL-Forwarding OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {E-RABInformationListItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABInformationListItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} }
-
-E-RABItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABItem CRITICALITY ignore TYPE E-RABItem PRESENCE mandatory },
- ...
-}
-
-E-RABItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {E-RABItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
-
-E-RABLevelQoSParameters ::= SEQUENCE {
- qCI QCI,
- allocationRetentionPriority AllocationAndRetentionPriority,
- gbrQosInformation GBR-QosInformation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {E-RABQoSParameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-EUTRAN-CGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- cell-ID CellIdentity,
- iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL,
- ...
-}
-
-EUTRAN-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ExtendedRNC-ID ::= INTEGER (4096..65535)
-
--- F
-
-ForbiddenInterRATs ::= ENUMERATED {
- all,
- geran,
- utran,
- cdma2000,
- ...
-}
-
-ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item
-
-ForbiddenTAs-Item ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- forbiddenTACs ForbiddenTACs,
- iE-Extensions ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-ForbiddenTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC
-
-ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item
-
-ForbiddenLAs-Item ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- forbiddenLACs ForbiddenLACs,
- iE-Extensions ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-ForbiddenLAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC
-
--- G
-
-GBR-QosInformation ::= SEQUENCE {
- e-RAB-MaximumBitrateDL BitRate,
- e-RAB-MaximumBitrateUL BitRate,
- e-RAB-GuaranteedBitrateDL BitRate,
- e-RAB-GuaranteedBitrateUL BitRate,
- iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-GBR-QosInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-GTP-TEID ::= OCTET STRING (SIZE (4))
-
-GUMMEI ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- mME-Group-ID MME-Group-ID,
- mME-Code MME-Code,
- iE-Extensions ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
- ...
-}
-
-GUMMEI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- H
-
-HandoverRestrictionList ::= SEQUENCE {
- servingPLMN PLMNidentity,
- equivalentPLMNs EPLMNs OPTIONAL,
- forbiddenTAs ForbiddenTAs OPTIONAL,
- forbiddenLAs ForbiddenLAs OPTIONAL,
- forbiddenInterRATs ForbiddenInterRATs OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL,
- ...
-}
-
-HandoverRestrictionList-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HandoverType ::= ENUMERATED {
- intralte,
- ltetoutran,
- ltetogeran,
- utrantolte,
- gerantolte,
- ...
-}
-
-HFN ::= INTEGER (0..1048575)
-
--- I
-
-IMSI ::= OCTET STRING (SIZE (3..8))
-
-IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))
-
-InterfacesToTrace ::= BIT STRING (SIZE (8))
-
-
-
--- J
--- K
--- L
-
-
-LAC ::= OCTET STRING (SIZE (2))
-
-LAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL,
- ...
-}
-
-LAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LastVisitedCell-Item ::= CHOICE {
- e-UTRAN-Cell LastVisitedEUTRANCellInformation,
- uTRAN-Cell LastVisitedUTRANCellInformation,
- gERAN-Cell LastVisitedGERANCellInformation,
- ...
-}
-LastVisitedEUTRANCellInformation ::= SEQUENCE {
- global-Cell-ID EUTRAN-CGI,
- cellType CellType,
- time-UE-StayedInCell Time-UE-StayedInCell,
- iE-Extensions ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL,
- ...
-}
-LastVisitedEUTRANCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-LastVisitedUTRANCellInformation ::= OCTET STRING
-
-LastVisitedGERANCellInformation ::= CHOICE {
- undefined NULL,
- ...
-}
-
-L3-Information ::= OCTET STRING
-
-
--- M
-
-MessageIdentifier ::= BIT STRING (SIZE (16))
-
-MMEname ::= PrintableString (SIZE (1..150,...))
-
-MME-Group-ID ::= OCTET STRING (SIZE (2))
-
-MME-Code ::= OCTET STRING (SIZE (1))
-
-MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
-M-TMSI ::= OCTET STRING (SIZE (4))
-
-MSClassmark2 ::= OCTET STRING
-MSClassmark3 ::= OCTET STRING
-
--- N
-
-NAS-PDU ::= OCTET STRING
-
-NASSecurityParametersfromE-UTRAN ::= OCTET STRING
-
-NASSecurityParameterstoE-UTRAN ::= OCTET STRING
-
-NumberofBroadcastRequest ::= INTEGER (0..65535)
-
-NumberofBroadcast ::= INTEGER (0..65535)
-
--- O
-OldBSS-ToNewBSS-Information ::= OCTET STRING
-
-OverloadAction ::= ENUMERATED {
-reject-non-emergency-mo-dt,
-reject-all-rrc-cr-signalling,
-permit-emergency-sessions-only,
- ...
-}
-
-OverloadResponse ::= CHOICE {
- overloadAction OverloadAction,
- ...
-}
-
-
--- P
-
-PagingDRX ::= ENUMERATED {
- v32,
- v64,
- v128,
- v256,
- ...
- }
-
-PDCP-SN ::= INTEGER (0..4095)
-
-PLMNidentity ::= TBCD-STRING
-
-Pre-emptionCapability ::= ENUMERATED {
- shall-not-trigger-pre-emption,
- may-trigger-pre-emption
-}
-
-Pre-emptionVulnerability ::= ENUMERATED {
- not-pre-emptable,
- pre-emptable
-}
-
-PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
-
-
--- Q
-
-QCI ::= INTEGER (0..255)
-
--- R
-
-ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))
-
-RelativeMMECapacity ::= INTEGER (0..255)
-
-RAC ::= OCTET STRING (SIZE (1))
-
-
-RequestType ::= SEQUENCE {
- eventType EventType,
- reportArea ReportArea,
- iE-Extensions ProtocolExtensionContainer { { RequestType-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RequestType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RIMTransfer ::= SEQUENCE {
- rIMInformation RIMInformation,
- rIMRoutingAddress RIMRoutingAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RIMTransfer-ExtIEs} } OPTIONAL,
-...
-}
-
-RIMTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RIMInformation ::= OCTET STRING
-
-RIMRoutingAddress ::= CHOICE {
- gERAN-Cell-ID GERAN-Cell-ID,
- ...
-}
-
-ReportArea ::= ENUMERATED {
- ecgi,
- ...
-}
-
-RepetitionPeriod ::= INTEGER (0..4096)
-
-
-RNC-ID ::= INTEGER (0..4095)
-
-RRC-Container ::= OCTET STRING
-
-RRC-Establishment-Cause ::= ENUMERATED {
- emergency,
- highPriorityAccess,
- mt-Access,
- mo-Signalling,
- mo-Data,
- ...
-}
-
--- S
-
-
-SecurityKey ::= BIT STRING (SIZE(256))
-
-
-
-SecurityContext ::= SEQUENCE {
- nextHopChainingCount INTEGER (0..7),
- nextHopParameter SecurityKey,
- iE-Extensions ProtocolExtensionContainer { { SecurityContext-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-SecurityContext-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SerialNumber ::= BIT STRING (SIZE (16))
-
-SONInformation ::= CHOICE{
- sONInformationRequest SONInformationRequest,
- sONInformationReply SONInformationReply,
- ...
-}
-
-SONInformationRequest ::= ENUMERATED {
- x2TNL-Configuration-Info,
- ...
-}
-
-SONInformationReply ::= SEQUENCE {
- x2TNLConfigurationInfo X2TNLConfigurationInfo OPTIONAL,
- iE-Extensions ProtocolExtensionContainer {{SONInformationReply-ExtIEs}} OPTIONAL,
- ...
-}
-
-SONInformationReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-SONConfigurationTransfer ::= SEQUENCE {
- targeteNB-ID TargeteNB-ID,
- sourceeNB-ID SourceeNB-ID,
- sONInformation SONInformation,
- iE-Extensions ProtocolExtensionContainer { { SONConfigurationTransfer-ExtIEs} } OPTIONAL,
-...
-}
-
-SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
-Source-ToTarget-TransparentContainer ::= OCTET STRING
-
-SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
-SourceeNB-ID ::= SEQUENCE {
- global-ENB-ID Global-ENB-ID,
- selected-TAI TAI,
- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ID-ExtIEs} } OPTIONAL
-}
-
-SourceeNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRVCCOperationPossible ::= ENUMERATED {
- possible,
- ...
-}
-
-SRVCCHOIndication ::= ENUMERATED {
- pSandCS,
- cSonly,
- ...
-}
-
-SourceeNB-ToTargeteNB-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- e-RABInformationList E-RABInformationList OPTIONAL,
- targetCell-ID EUTRAN-CGI,
- subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL,
- uE-HistoryInformation UE-HistoryInformation,
- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING
-
-
-ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem
-
-ServedGUMMEIsItem ::= SEQUENCE {
- servedPLMNs ServedPLMNs,
- servedGroupIDs ServedGroupIDs,
- servedMMECs ServedMMECs,
- iE-Extensions ProtocolExtensionContainer { {ServedGUMMEIsItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ServedGUMMEIsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ServedGroupIDs ::= SEQUENCE (SIZE(1.. maxnoofGroupIDs)) OF MME-Group-ID
-ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code
-
-ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity
-
-SubscriberProfileIDforRFP ::= INTEGER (1..256)
-
-SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item
-
-SupportedTAs-Item ::= SEQUENCE {
- tAC TAC,
- broadcastPLMNs BPLMNs,
- iE-Extensions ProtocolExtensionContainer { {SupportedTAs-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-SupportedTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-S-TMSI ::= SEQUENCE {
- mMEC MME-Code,
- m-TMSI M-TMSI,
- iE-Extensions ProtocolExtensionContainer { {S-TMSI-ExtIEs} } OPTIONAL,
- ...
-}
-
-S-TMSI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- T
-
-TAC ::= OCTET STRING (SIZE (2))
-
-TAIListforWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI
-
-TAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- tAC TAC,
- iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL,
- ...
-}
-
-TAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TAI-Broadcast ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-Item
-
-TAI-Broadcast-Item ::= SEQUENCE {
- tAI TAI,
- completedCellinTAI CompletedCellinTAI,
- iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-TAI-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item
-
-CompletedCellinTAI-Item ::= SEQUENCE{
- eCGI EUTRAN-CGI,
- iE-Extensions ProtocolExtensionContainer { {CompletedCellinTAI-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-CompletedCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TBCD-STRING ::= OCTET STRING (SIZE (3))
-
-TargetID ::= CHOICE {
- targeteNB-ID TargeteNB-ID,
- targetRNC-ID TargetRNC-ID,
- cGI CGI,
- ...
-}
-
-TargeteNB-ID ::= SEQUENCE {
- global-ENB-ID Global-ENB-ID,
- selected-TAI TAI,
- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL,
- ...
-}
-
-TargeteNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TargetRNC-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC OPTIONAL,
- rNC-ID RNC-ID,
- extendedRNC-ID ExtendedRNC-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL,
- ...
- }
-
-
-TargetRNC-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-TargeteNB-ToSourceeNB-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Target-ToSource-TransparentContainer ::= OCTET STRING
-TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING
-TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING
-
-TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
-
-Time-UE-StayedInCell ::= INTEGER (0..4095)
-
-TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
-
-TraceActivation ::= SEQUENCE {
- e-UTRAN-Trace-ID E-UTRAN-Trace-ID,
- interfacesToTrace InterfacesToTrace,
-traceDepth TraceDepth,
-traceCollectionEntityIPAddress TransportLayerAddress,
- iE-Extensions ProtocolExtensionContainer { { TraceActivation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TraceDepth ::= ENUMERATED {
- minimum,
- medium,
- maximum,
- minimumWithoutVendorSpecificExtension,
- mediumWithoutVendorSpecificExtension,
- maximumWithoutVendorSpecificExtension,
- ...
-}
-
-E-UTRAN-Trace-ID ::= OCTET STRING (SIZE (8))
-
-TypeOfError ::= ENUMERATED {
- not-understood,
- missing,
- ...
-}
-
--- U
-
-UEAggregateMaximumBitrate ::= SEQUENCE {
- uEaggregateMaximumBitRateDL BitRate,
- uEaggregateMaximumBitRateUL BitRate,
- iE-Extensions ProtocolExtensionContainer { {UEAggregate-MaximumBitrates-ExtIEs} } OPTIONAL,
- ...
-}
-
-UEAggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
-UE-S1AP-IDs ::= CHOICE{
- uE-S1AP-ID-pair UE-S1AP-ID-pair,
- mME-UE-S1AP-ID MME-UE-S1AP-ID,
- ...
-}
-
-UE-S1AP-ID-pair ::= SEQUENCE{
- mME-UE-S1AP-ID MME-UE-S1AP-ID,
- eNB-UE-S1AP-ID ENB-UE-S1AP-ID,
- iE-Extensions ProtocolExtensionContainer { {UE-S1AP-ID-pair-ExtIEs} } OPTIONAL,
- ...
-}
-UE-S1AP-ID-pair-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE {
- mME-UE-S1AP-ID MME-UE-S1AP-ID OPTIONAL,
- eNB-UE-S1AP-ID ENB-UE-S1AP-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UE-associatedLogicalS1-ConnectionItemExtIEs} } OPTIONAL,
- ...
-}
-
-
-UE-associatedLogicalS1-ConnectionItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UEIdentityIndexValue ::= BIT STRING (SIZE (10))
-
-UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item
-
-UEPagingID ::= CHOICE {
- s-TMSI S-TMSI,
- iMSI IMSI,
- ...
- }
-
-UERadioCapability ::= OCTET STRING
-
-UESecurityCapabilities ::= SEQUENCE {
- encryptionAlgorithms EncryptionAlgorithms,
- integrityProtectionAlgorithms IntegrityProtectionAlgorithms,
- iE-Extensions ProtocolExtensionContainer { { UESecurityCapabilities-ExtIEs} } OPTIONAL,
-...
-}
-
-UESecurityCapabilities-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- V
--- W
-
-WarningAreaList ::= CHOICE {
- cellIDList ECGIList,
- trackingAreaListforWarning TAIListforWarning,
- emergencyAreaIDList EmergencyAreaIDList,
- ...
-}
-
-
-WarningType ::= OCTET STRING (SIZE (2))
-
-WarningSecurityInfo ::= OCTET STRING (SIZE (50))
-
-
-WarningMessageContents ::= OCTET STRING (SIZE(1..9600))
-
-
--- X
-
-
-X2TNLConfigurationInfo ::= SEQUENCE {
- eNBX2TransportLayerAddresses ENBX2TLAs,
- iE-Extensions ProtocolExtensionContainer { { X2TNLConfigurationInfo-ExtIEs} } OPTIONAL,
- ...
-}
-
-X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- Y
--- Z
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-PDU-Contents.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-PDU-Contents.asn
deleted file mode 100644
index e9762a2b62..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-PDU-Contents.asn
+++ /dev/null
@@ -1,2083 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.3 PDU Definitions
--- **************************************************************
---
--- PDU definitions for S1AP.
---
--- **************************************************************
-
-S1AP-PDU-Contents {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-PDU-Contents (1) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
-
- UEAggregateMaximumBitrate,
- Cause,
- Cdma2000HORequiredIndication,
- Cdma2000HOStatus,
- Cdma2000OneXSRVCCInfo,
- Cdma2000OneXRAND,
- Cdma2000PDU,
- Cdma2000RATType,
- Cdma2000SectorID,
- CNDomain,
- CriticalityDiagnostics,
- CSFallbackIndicator,
- CSG-Id,
- CSG-IdList,
- Direct-Forwarding-Path-Availability,
- Global-ENB-ID,
- EUTRAN-CGI,
- ENBname,
- ENB-StatusTransfer-TransparentContainer,
- ENB-UE-S1AP-ID,
- GTP-TEID,
- GUMMEI,
- HandoverRestrictionList,
- HandoverType,
- MMEname,
- MME-UE-S1AP-ID,
- MSClassmark2,
- MSClassmark3,
- NAS-PDU,
- NASSecurityParametersfromE-UTRAN,
- NASSecurityParameterstoE-UTRAN,
- OverloadResponse,
- PagingDRX,
- PLMNidentity,
- RIMTransfer,
- RelativeMMECapacity,
- RequestType,
- E-RAB-ID,
- E-RABLevelQoSParameters,
- E-RABList,
- SecurityKey,
- SecurityContext,
- ServedGUMMEIs,
- SONConfigurationTransfer,
- Source-ToTarget-TransparentContainer,
- SourceBSS-ToTargetBSS-TransparentContainer,
- SourceeNB-ToTargeteNB-TransparentContainer,
- SourceRNC-ToTargetRNC-TransparentContainer,
- SubscriberProfileIDforRFP,
- SRVCCOperationPossible,
- SRVCCHOIndication,
- SupportedTAs,
- TAI,
- Target-ToSource-TransparentContainer,
- TargetBSS-ToSourceBSS-TransparentContainer,
- TargeteNB-ToSourceeNB-TransparentContainer,
- TargetID,
- TargetRNC-ToSourceRNC-TransparentContainer,
- TimeToWait,
- TraceActivation,
- E-UTRAN-Trace-ID,
- TransportLayerAddress,
- UEIdentityIndexValue,
- UEPagingID,
- UERadioCapability,
- UE-S1AP-IDs,
- UE-associatedLogicalS1-ConnectionItem,
- UESecurityCapabilities,
- S-TMSI,
- MessageIdentifier,
- SerialNumber,
- WarningAreaList,
- RepetitionPeriod,
- NumberofBroadcastRequest,
- WarningType,
- WarningSecurityInfo,
- DataCodingScheme,
- WarningMessageContents,
- BroadcastCompletedAreaList,
- RRC-Establishment-Cause
-
-FROM S1AP-IEs
-
- PrivateIE-Container{},
- ProtocolExtensionContainer{},
- ProtocolIE-Container{},
- ProtocolIE-ContainerList{},
- ProtocolIE-ContainerPair{},
- ProtocolIE-ContainerPairList{},
- ProtocolIE-SingleContainer{},
- S1AP-PRIVATE-IES,
- S1AP-PROTOCOL-EXTENSION,
- S1AP-PROTOCOL-IES,
- S1AP-PROTOCOL-IES-PAIR
-FROM S1AP-Containers
-
-
- id-uEaggregateMaximumBitrate,
- id-Cause,
- id-cdma2000HORequiredIndication,
- id-cdma2000HOStatus,
- id-cdma2000OneXSRVCCInfo,
- id-cdma2000OneXRAND,
- id-cdma2000PDU,
- id-cdma2000RATType,
- id-cdma2000SectorID,
- id-CNDomain,
- id-CriticalityDiagnostics,
- id-CSFallbackIndicator,
- id-CSG-Id,
- id-CSG-IdList,
- id-DefaultPagingDRX,
- id-Direct-Forwarding-Path-Availability,
- id-Global-ENB-ID,
- id-EUTRAN-CGI,
- id-eNBname,
- id-eNB-StatusTransfer-TransparentContainer,
- id-eNB-UE-S1AP-ID,
- id-GERANtoLTEHOInformationRes,
- id-GUMMEI-ID,
- id-HandoverRestrictionList,
- id-HandoverType,
- id-InitialContextSetup,
- id-Inter-SystemInformationTransferTypeEDT,
- id-Inter-SystemInformationTransferTypeMDT,
- id-NAS-DownlinkCount,
- id-MMEname,
- id-MME-UE-S1AP-ID,
- id-MSClassmark2,
- id-MSClassmark3,
- id-NAS-PDU,
- id-NASSecurityParametersfromE-UTRAN,
- id-NASSecurityParameterstoE-UTRAN,
- id-OverloadResponse,
- id-pagingDRX,
- id-RelativeMMECapacity,
- id-RequestType,
- id-E-RABAdmittedItem,
- id-E-RABAdmittedList,
- id-E-RABDataForwardingItem,
- id-E-RABFailedToModifyList,
- id-E-RABFailedToReleaseList,
- id-E-RABFailedtoSetupItemHOReqAck,
- id-E-RABFailedToSetupListBearerSURes,
- id-E-RABFailedToSetupListCtxtSURes,
- id-E-RABFailedToSetupListHOReqAck,
- id-E-RABFailedToBeReleasedList,
- id-E-RABModify,
- id-E-RABModifyItemBearerModRes,
- id-E-RABModifyListBearerModRes,
- id-E-RABRelease,
- id-E-RABReleaseItemBearerRelComp,
- id-E-RABReleaseItemHOCmd,
- id-E-RABReleaseListBearerRelComp,
- id-E-RABReleaseIndication,
- id-E-RABSetup,
- id-E-RABSetupItemBearerSURes,
- id-E-RABSetupItemCtxtSURes,
- id-E-RABSetupListBearerSURes,
- id-E-RABSetupListCtxtSURes,
- id-E-RABSubjecttoDataForwardingList,
- id-E-RABToBeModifiedItemBearerModReq,
- id-E-RABToBeModifiedListBearerModReq,
- id-E-RABToBeReleasedList,
- id-E-RABReleasedList,
- id-E-RABToBeSetupItemBearerSUReq,
- id-E-RABToBeSetupItemCtxtSUReq,
- id-E-RABToBeSetupItemHOReq,
- id-E-RABToBeSetupListBearerSUReq,
- id-E-RABToBeSetupListCtxtSUReq,
- id-E-RABToBeSetupListHOReq,
- id-E-RABToBeSwitchedDLItem,
- id-E-RABToBeSwitchedDLList,
- id-E-RABToBeSwitchedULList,
- id-E-RABToBeSwitchedULItem,
- id-E-RABtoReleaseListHOCmd,
- id-SecurityKey,
- id-SecurityContext,
- id-ServedGUMMEIs,
- id-SONConfigurationTransferECT,
- id-SONConfigurationTransferMCT,
- id-Source-ToTarget-TransparentContainer,
- id-Source-ToTarget-TransparentContainer-Secondary,
- id-SourceMME-UE-S1AP-ID,
- id-SRVCCOperationPossible,
- id-SRVCCHOIndication,
- id-SubscriberProfileIDforRFP,
- id-SupportedTAs,
- id-S-TMSI,
- id-TAI,
- id-TAIItem,
- id-TAIList,
- id-Target-ToSource-TransparentContainer,
- id-Target-ToSource-TransparentContainer-Secondary,
- id-TargetID,
- id-TimeToWait,
- id-TraceActivation,
- id-E-UTRAN-Trace-ID,
- id-UEIdentityIndexValue,
- id-UEPagingID,
- id-UERadioCapability,
- id-UTRANtoLTEHOInformationRes,
- id-UE-associatedLogicalS1-ConnectionListResAck,
- id-UE-associatedLogicalS1-ConnectionItem,
- id-UESecurityCapabilities,
- id-UE-S1AP-IDs,
- id-ResetType,
- id-MessageIdentifier,
- id-SerialNumber,
- id-WarningAreaList,
- id-RepetitionPeriod,
- id-NumberofBroadcastRequest,
- id-WarningType,
- id-WarningSecurityInfo,
- id-DataCodingScheme,
- id-WarningMessageContents,
- id-BroadcastCompletedAreaList,
- id-RRC-Establishment-Cause,
- id-TraceCollectionEntityIPAddress,
- maxnoofTAIs,
- maxNrOfErrors,
- maxNrOfE-RABs,
- maxNrOfIndividualS1ConnectionsToReset,
- maxnoofEmergencyAreaID,
- maxnoofCellID,
- maxnoofTAIforWarning,
- maxnoofCellinTAI,
- maxnoofCellinEAI
-
-
-FROM S1AP-Constants;
-
--- **************************************************************
---
--- Common Container Lists
---
--- **************************************************************
-
-E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} }
-E-RAB-IE-ContainerPairList { S1AP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfE-RABs, {IEsSetParam} }
-ProtocolError-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} }
-
--- **************************************************************
---
--- HANDOVER PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Required
---
--- **************************************************************
-
-HandoverRequired ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverRequiredIEs} },
- ...
-}
-
-HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } |
- { ID id-Direct-Forwarding-Path-Availability CRITICALITY ignore TYPE Direct-Forwarding-Path-Availability PRESENCE optional } |
- { ID id-SRVCCHOIndication CRITICALITY reject TYPE SRVCCHOIndication PRESENCE optional }|
- { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory }|
- { ID id-Source-ToTarget-TransparentContainer-Secondary CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE optional }|
- { ID id-MSClassmark2 CRITICALITY reject TYPE MSClassmark2 PRESENCE conditional }|
- { ID id-MSClassmark3 CRITICALITY ignore TYPE MSClassmark3 PRESENCE conditional },
- ...
-}
-
-
--- **************************************************************
---
--- Handover Command
---
--- **************************************************************
-
-HandoverCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCommandIEs} },
- ...
-}
-
-HandoverCommandIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-NASSecurityParametersfromE-UTRAN CRITICALITY reject TYPE NASSecurityParametersfromE-UTRAN PRESENCE conditional
- -- This IE shall be present if HandoverType IE is set to value "LTEtoUTRAN" or "LTEtoGERAN" -- }|
- { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABSubjecttoDataForwardingList PRESENCE optional } |
- { ID id-E-RABtoReleaseListHOCmd CRITICALITY ignore TYPE E-RABList PRESENCE optional } |
- { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }|
- { ID id-Target-ToSource-TransparentContainer-Secondary CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABSubjecttoDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} }
-
-E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABDataForwardingItem CRITICALITY ignore TYPE E-RABDataForwardingItem PRESENCE mandatory },
- ...
-}
-
-E-RABDataForwardingItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABDataForwardingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- Handover Preparation Failure
---
--- **************************************************************
-
-HandoverPreparationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverPreparationFailureIEs} },
- ...
-}
-
-HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER RESOURCE ALLOCATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Request
---
--- **************************************************************
-
-HandoverRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {HandoverRequestIEs} },
- ...
-}
-
-HandoverRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }|
- { ID id-E-RABToBeSetupListHOReq CRITICALITY reject TYPE E-RABToBeSetupListHOReq PRESENCE mandatory } |
- { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory } |
- { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }|
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }|
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional }|
- { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
- { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
- { ID id-NASSecurityParameterstoE-UTRAN CRITICALITY reject TYPE NASSecurityParameterstoE-UTRAN PRESENCE conditional
- -- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" -- },
- ...
-}
-
-E-RABToBeSetupListHOReq ::= E-RAB-IE-ContainerList { {E-RABToBeSetupItemHOReqIEs} }
-
-E-RABToBeSetupItemHOReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemHOReq CRITICALITY reject TYPE E-RABToBeSetupItemHOReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemHOReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- e-RABlevelQosParameters E-RABLevelQoSParameters,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABToBeSetupItemHOReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Handover Request Acknowledge
---
--- **************************************************************
-
-HandoverRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {HandoverRequestAcknowledgeIEs} },
- ...
-}
-
-HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-E-RABAdmittedList CRITICALITY ignore TYPE E-RABAdmittedList PRESENCE mandatory } |
- { ID id-E-RABFailedToSetupListHOReqAck CRITICALITY ignore TYPE E-RABFailedtoSetupListHOReqAck PRESENCE optional } |
- { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABAdmittedList ::= E-RAB-IE-ContainerList { {E-RABAdmittedItemIEs} }
-
-E-RABAdmittedItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABAdmittedItem CRITICALITY ignore TYPE E-RABAdmittedItem PRESENCE mandatory },
- ...
-}
-
-E-RABAdmittedItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABAdmittedItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-E-RABFailedtoSetupListHOReqAck ::= E-RAB-IE-ContainerList { {E-RABFailedtoSetupItemHOReqAckIEs} }
-
-E-RABFailedtoSetupItemHOReqAckIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABFailedtoSetupItemHOReqAck CRITICALITY ignore TYPE E-RABFailedToSetupItemHOReqAck PRESENCE mandatory },
- ...
-}
-
-E-RABFailedToSetupItemHOReqAck ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { E-RABFailedToSetupItemHOReqAckExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABFailedToSetupItemHOReqAckExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Handover Failure
---
--- **************************************************************
-
-HandoverFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverFailureIEs} },
- ...
-}
-
-HandoverFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER NOTIFICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Notify
---
--- **************************************************************
-
-HandoverNotify ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverNotifyIEs} },
- ...
-}
-
-HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory},
- ...
-}
-
--- **************************************************************
---
--- PATH SWITCH REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Path Switch Request
---
--- **************************************************************
-
-PathSwitchRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestIEs} },
- ...
-}
-
-PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory }|
- { ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}|
- { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedDLList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedDLItemIEs} }
-
-E-RABToBeSwitchedDLItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSwitchedDLItem CRITICALITY reject TYPE E-RABToBeSwitchedDLItem PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedDLItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABToBeSwitchedDLItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Path Switch Request Acknowledge
---
--- **************************************************************
-
-PathSwitchRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestAcknowledgeIEs} },
- ...
-}
-
-PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeSwitchedULList CRITICALITY ignore TYPE E-RABToBeSwitchedULList PRESENCE optional }|
- { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABToBeSwitchedULList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedULItemIEs} }
-
-E-RABToBeSwitchedULItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSwitchedULItem CRITICALITY ignore TYPE E-RABToBeSwitchedULItem PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedULItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABToBeSwitchedULItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Path Switch Request Failure
---
--- **************************************************************
-
-PathSwitchRequestFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestFailureIEs} },
- ...
-}
-
-PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER CANCEL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Cancel
---
--- **************************************************************
-
-HandoverCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCancelIEs} },
- ...
-}
-
-HandoverCancelIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- Handover Cancel Request Acknowledge
---
--- **************************************************************
-
-HandoverCancelAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCancelAcknowledgeIEs} },
- ...
-}
-
-HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- E-RAB SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Setup Request
---
--- **************************************************************
-
-E-RABSetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABSetupRequestIEs} },
- ...
-}
-
-E-RABSetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeSetupListBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupListBearerSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemBearerSUReqIEs} }
-
-E-RABToBeSetupItemBearerSUReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupItemBearerSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemBearerSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABToBeSetupItemBearerSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- E-RAB Setup Response
---
--- **************************************************************
-
-E-RABSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABSetupResponseIEs} },
- ...
-}
-
-E-RABSetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABSetupListBearerSURes CRITICALITY ignore TYPE E-RABSetupListBearerSURes PRESENCE optional }|
- { ID id-E-RABFailedToSetupListBearerSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemBearerSUResIEs} }
-
-E-RABSetupItemBearerSUResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABSetupItemBearerSURes CRITICALITY ignore TYPE E-RABSetupItemBearerSURes PRESENCE mandatory },
- ...
-}
-
-E-RABSetupItemBearerSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABSetupItemBearerSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB MODIFY ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Modify Request
---
--- **************************************************************
-
-E-RABModifyRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABModifyRequestIEs} },
- ...
-}
-
-E-RABModifyRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeModifiedListBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedListBearerModReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeModifiedItemBearerModReqIEs} }
-
-E-RABToBeModifiedItemBearerModReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeModifiedItemBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedItemBearerModReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeModifiedItemBearerModReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABLevelQoSParameters E-RABLevelQoSParameters,
- nAS-PDU NAS-PDU,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABToBeModifyItemBearerModReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB Modify Response
---
--- **************************************************************
-
-E-RABModifyResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABModifyResponseIEs} },
- ...
-}
-
-E-RABModifyResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABModifyListBearerModRes CRITICALITY ignore TYPE E-RABModifyListBearerModRes PRESENCE optional }|
- { ID id-E-RABFailedToModifyList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModResIEs} }
-
-E-RABModifyItemBearerModResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABModifyItemBearerModRes CRITICALITY ignore TYPE E-RABModifyItemBearerModRes PRESENCE mandatory },
- ...
-}
-
-E-RABModifyItemBearerModRes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {E-RABModifyItemBearerModResExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABModifyItemBearerModResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
-
--- **************************************************************
---
--- E-RAB RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Release Command
---
--- **************************************************************
-
-E-RABReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABReleaseCommandIEs} },
- ...
-}
-
-E-RABReleaseCommandIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }|
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- E-RAB Release Response
---
--- **************************************************************
-
-E-RABReleaseResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { E-RABReleaseResponseIEs } },
- ...
-}
-
-E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABReleaseListBearerRelComp CRITICALITY ignore TYPE E-RABReleaseListBearerRelComp PRESENCE optional }|
- { ID id-E-RABFailedToReleaseList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABReleaseItemBearerRelCompIEs} }
-
-E-RABReleaseItemBearerRelCompIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABReleaseItemBearerRelComp CRITICALITY ignore TYPE E-RABReleaseItemBearerRelComp PRESENCE mandatory },
- ...
-}
-
-E-RABReleaseItemBearerRelComp ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABReleaseItemBearerRelCompExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB RELEASE INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Release Indication
---
--- **************************************************************
-
-E-RABReleaseIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABReleaseIndicationIEs} },
- ...
-}
-
-E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory },
- ...
-}
--- **************************************************************
---
--- INITIAL CONTEXT SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Initial Context Setup Request
---
--- **************************************************************
-
-InitialContextSetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupRequestIEs} },
- ...
-}
-
-InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }|
- { ID id-E-RABToBeSetupListCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupListCtxtSUReq PRESENCE mandatory }|
- { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }|
- { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory }|
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }|
- { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
- { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }|
- { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional }|
- { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional },
- ...
-}
-
-
-
-
-E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemCtxtSUReqIEs} }
-
-E-RABToBeSetupItemCtxtSUReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupItemCtxtSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemCtxtSUReqExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABToBeSetupItemCtxtSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Initial Context Setup Response
---
--- **************************************************************
-
-InitialContextSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} },
- ...
-}
-
-InitialContextSetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABSetupListCtxtSURes CRITICALITY ignore TYPE E-RABSetupListCtxtSURes PRESENCE mandatory }|
- { ID id-E-RABFailedToSetupListCtxtSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemCtxtSUResIEs} }
-
-E-RABSetupItemCtxtSUResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABSetupItemCtxtSURes CRITICALITY ignore TYPE E-RABSetupItemCtxtSURes PRESENCE mandatory },
- ...
-}
-
-E-RABSetupItemCtxtSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemCtxtSUResExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABSetupItemCtxtSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Initial Context Setup Failure
---
--- **************************************************************
-
-InitialContextSetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupFailureIEs} },
- ...
-}
-
-InitialContextSetupFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- PAGING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Paging
---
--- **************************************************************
-
-Paging ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PagingIEs}},
- ...
-}
-
-PagingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-UEIdentityIndexValue CRITICALITY ignore TYPE UEIdentityIndexValue PRESENCE mandatory } |
- { ID id-UEPagingID CRITICALITY ignore TYPE UEPagingID PRESENCE mandatory } |
- { ID id-pagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional } |
- { ID id-CNDomain CRITICALITY ignore TYPE CNDomain PRESENCE mandatory } |
- { ID id-TAIList CRITICALITY ignore TYPE TAIList PRESENCE mandatory }|
- { ID id-CSG-IdList CRITICALITY ignore TYPE CSG-IdList PRESENCE optional },
- ...
-}
-
-TAIList::= SEQUENCE (SIZE(1.. maxnoofTAIs)) OF ProtocolIE-SingleContainer {{TAIItemIEs}}
-
-TAIItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-TAIItem CRITICALITY ignore TYPE TAIItem PRESENCE mandatory },
- ...
-}
-
-TAIItem ::= SEQUENCE {
- tAI TAI,
- iE-Extensions ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL,
- ...
-}
-
-
-TAIItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- UE CONTEXT RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE CONTEXT RELEASE REQUEST
---
--- **************************************************************
-
-UEContextReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseRequest-IEs}},
- ...
-}
-
-UEContextReleaseRequest-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- UE Context Release Command
---
--- **************************************************************
-
-UEContextReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseCommand-IEs}},
- ...
-}
-
-UEContextReleaseCommand-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-UE-S1AP-IDs CRITICALITY reject TYPE UE-S1AP-IDs PRESENCE mandatory} |
-
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- UE Context Release Complete
---
--- **************************************************************
-
-UEContextReleaseComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseComplete-IEs}},
- ...
-}
-
-UEContextReleaseComplete-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- UE CONTEXT MODIFICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE Context Modification Request
---
--- **************************************************************
-
-UEContextModificationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationRequestIEs} },
- ...
-}
-
-UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional }|
- { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional },
- ...
-}
--- **************************************************************
---
--- UE Context Modification Response
---
--- **************************************************************
-
-UEContextModificationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationResponseIEs} },
- ...
-}
-
-UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}-- **************************************************************
---
--- UE Context Modification Failure
---
--- **************************************************************
-
-UEContextModificationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationFailureIEs} },
- ...
-}
-
-UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- NAS TRANSPORT ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- DOWNLINK NAS TRANSPORT
---
--- **************************************************************
-
-DownlinkNASTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DownlinkNASTransport-IEs}},
- ...
-}
-
-DownlinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- INITIAL UE MESSAGE
---
--- **************************************************************
-
-InitialUEMessage ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InitialUEMessage-IEs}},
- ...
-}
-
-InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-TAI CRITICALITY reject TYPE TAI PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} |
- { ID id-RRC-Establishment-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE mandatory} |
- { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE optional} |
- { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} |
- { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE optional},
- ...
-}
-
-
--- **************************************************************
---
--- UPLINK NAS TRANSPORT
---
--- **************************************************************
-
-UplinkNASTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UplinkNASTransport-IEs}},
- ...
-}
-
-UplinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory},
- ...
-}
--- **************************************************************
---
--- NAS NON DELIVERY INDICATION
---
--- **************************************************************
-
-NASNonDeliveryIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{NASNonDeliveryIndication-IEs}},
- ...
-}
-
-NASNonDeliveryIndication-IEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- RESET ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Reset
---
--- **************************************************************
-
-Reset ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetIEs} },
- ...
-}
-
-ResetIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory },
- ...
-}
-
-ResetType ::= CHOICE {
- s1-Interface ResetAll,
- partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes,
- ...
-}
-
-
-
-ResetAll ::= ENUMERATED {
- reset-all,
- ...
-}
-
-UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemRes } }
-
-UE-associatedLogicalS1-ConnectionItemRes S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY reject TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory },
- ...
-}
-
-
--- **************************************************************
---
--- Reset Acknowledge
---
--- **************************************************************
-
-ResetAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
- ...
-}
-
-ResetAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionListResAck CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionListResAck PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemResAck } }
-
-UE-associatedLogicalS1-ConnectionItemResAck S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- ERROR INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Error Indication
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}},
- ...
-}
-
-ErrorIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
--- **************************************************************
---
--- S1 SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- S1 Setup Request
---
--- **************************************************************
-
-S1SetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupRequestIEs} },
- ...
-}
-
-S1SetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory}|
- { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional}|
- { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE mandatory}|
- { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory}|
- { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- S1 Setup Response
---
--- **************************************************************
-
-S1SetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupResponseIEs} },
- ...
-}
-
-
-S1SetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }|
- { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE mandatory }|
- { ID id-RelativeMMECapacity CRITICALITY ignore TYPE RelativeMMECapacity PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- S1 Setup Failure
---
--- **************************************************************
-
-S1SetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupFailureIEs} },
- ...
-}
-
-S1SetupFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- ENB CONFIGURATION UPDATE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Configuration Update
---
--- **************************************************************
-
-ENBConfigurationUpdate ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateIEs} },
- ...
-}
-
-ENBConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional }|
- { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE optional }|
- { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional}|
- { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- eNB Configuration Update Acknowledge
---
--- **************************************************************
-
-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateAcknowledgeIEs} },
- ...
-}
-
-
-ENBConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- eNB Configuration Update Failure
---
--- **************************************************************
-
-ENBConfigurationUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateFailureIEs} },
- ...
-}
-
-ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
-...
-}
-
-
--- **************************************************************
---
--- MME Configuration UPDATE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Configuration Update
---
--- **************************************************************
-
-MMEConfigurationUpdate ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateIEs} },
- ...
-}
-
-MMEConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }|
- { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE optional }|
- { ID id-RelativeMMECapacity CRITICALITY reject TYPE RelativeMMECapacity PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- MME Configuration Update Acknowledge
---
--- **************************************************************
-
-MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateAcknowledgeIEs} },
- ...
-}
-
-
-MMEConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- MME Configuration Update Failure
---
--- **************************************************************
-
-MMEConfigurationUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateFailureIEs} },
- ...
-}
-
-MMEConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- DOWNLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Downlink S1 CDMA2000 Tunneling
---
--- **************************************************************
-
-DownlinkS1cdma2000tunneling ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DownlinkS1cdma2000tunnelingIEs} },
- ...
-}
-
-DownlinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABSubjecttoDataForwardingList PRESENCE optional } |
- { ID id-cdma2000HOStatus CRITICALITY ignore TYPE Cdma2000HOStatus PRESENCE optional } |
- { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } |
- { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- UPLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Uplink S1 CDMA2000 Tunneling
---
--- **************************************************************
-
-UplinkS1cdma2000tunneling ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {UplinkS1cdma2000tunnelingIEs} },
- ...
-}
-
-UplinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } |
- { ID id-cdma2000SectorID CRITICALITY reject TYPE Cdma2000SectorID PRESENCE mandatory } |
- { ID id-cdma2000HORequiredIndication CRITICALITY ignore TYPE Cdma2000HORequiredIndication PRESENCE optional } |
- { ID id-cdma2000OneXSRVCCInfo CRITICALITY reject TYPE Cdma2000OneXSRVCCInfo PRESENCE optional } |
- { ID id-cdma2000OneXRAND CRITICALITY reject TYPE Cdma2000OneXRAND PRESENCE optional } |
- { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- UE CAPABILITY INFO INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE Capability Info Indication
---
--- **************************************************************
-
-UECapabilityInfoIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UECapabilityInfoIndicationIEs} },
- ...
-}
-
-UECapabilityInfoIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory } ,
- ...
-}
-
--- **************************************************************
---
--- eNB STATUS TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Status Transfer
---
--- **************************************************************
-
-ENBStatusTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBStatusTransferIEs} },
- ...
-}
-
-ENBStatusTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} ,
- ...
-}
-
-
--- **************************************************************
---
--- MME STATUS TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Status Transfer
---
--- **************************************************************
-
-MMEStatusTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEStatusTransferIEs} },
- ...
-}
-
-MMEStatusTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} ,
- ...
-}
-
-
--- **************************************************************
---
--- TRACE ELEMENTARY PROCEDURES
---
--- **************************************************************
--- **************************************************************
---
--- Trace Start
---
--- **************************************************************
-
-TraceStart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {TraceStartIEs} },
- ...
-}
-
-TraceStartIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- Trace Failure Indication
---
--- **************************************************************
-
-TraceFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {TraceFailureIndicationIEs} },
- ...
-}
-
-TraceFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- DEACTIVATE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- DEACTIVATE TRACE
---
--- **************************************************************
-
-DeactivateTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { DeactivateTraceIEs} },
- ...
-}
-
-DeactivateTraceIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- CELL TRAFFIC TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CELL TRAFFIC TRACE
---
--- **************************************************************
-
-CellTrafficTrace ::= SEQUENCE {
-protocolIEs ProtocolIE-Container { { CellTrafficTraceIEs } },
-...
-}
-
-CellTrafficTraceIEs S1AP-PROTOCOL-IES ::= {
- {ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- {ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- {ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory}|
- {ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- LOCATION ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Reporting Control
---
--- **************************************************************
-
-LocationReportingControl ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportingControlIEs} },
- ...
-}
-
-LocationReportingControlIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory } ,
- ...
-}
-
--- **************************************************************
---
--- Location Report Failure Indication
---
--- **************************************************************
-
-LocationReportingFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportingFailureIndicationIEs} },
- ...
-}
-
-LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
- ...
-}
-
--- **************************************************************
---
--- Location Report
---
--- **************************************************************
-
-LocationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportIEs} },
- ...
-}
-
-LocationReportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} |
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory} |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- OVERLOAD ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- Overload Start
---
--- **************************************************************
-
-OverloadStart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadStartIEs} },
- ...
-}
-
-OverloadStartIEs S1AP-PROTOCOL-IES ::= {
- { ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory },
- ...
-}
--- **************************************************************
---
--- Overload Stop
---
--- **************************************************************
-
-OverloadStop ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadStopIEs} },
- ...
-}
-
-OverloadStopIEs S1AP-PROTOCOL-IES ::= {
- ...
-}
--- **************************************************************
---
--- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Write-Replace Warning Request
---
--- **************************************************************
-
-
-WriteReplaceWarningRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {WriteReplaceWarningRequestIEs} },
- ...
-}
-
-WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
- { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }|
- { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }|
- { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }|
- { ID id-WarningType CRITICALITY ignore TYPE WarningType PRESENCE optional }|
- { ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }|
- { ID id-DataCodingScheme CRITICALITY ignore TYPE DataCodingScheme PRESENCE optional }|
- { ID id-WarningMessageContents CRITICALITY ignore TYPE WarningMessageContents PRESENCE optional },
- ...
-}
--- **************************************************************
---
--- Write-Replace Warning Response
---
--- **************************************************************
-
-WriteReplaceWarningResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {WriteReplaceWarningResponseIEs} },
- ...
-}
-
-WriteReplaceWarningResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
- { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-BroadcastCompletedAreaList CRITICALITY reject TYPE BroadcastCompletedAreaList PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- eNB DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Direct Information Transfer
---
--- **************************************************************
-
-ENBDirectInformationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ ENBDirectInformationTransferIEs}},
- ...
-}
-
-ENBDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Inter-SystemInformationTransferTypeEDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} ,
- ...
-}
-
-Inter-SystemInformationTransferType ::= CHOICE {
- rIMTransfer RIMTransfer,
- ...
-}
-
--- **************************************************************
---
--- MME DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Direct Information Transfer
---
--- **************************************************************
-
-MMEDirectInformationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ MMEDirectInformationTransferIEs}},
- ...
-}
-
-MMEDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Inter-SystemInformationTransferTypeMDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} ,
- ...
-}
--- **************************************************************
---
--- eNB CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Configuration Transfer
---
--- **************************************************************
-
-ENBConfigurationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ ENBConfigurationTransferIEs}},
- ...
-}
-
-ENBConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-SONConfigurationTransferECT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} ,
- ...
-}
-
--- **************************************************************
---
--- MME CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Configuration Transfer
---
--- **************************************************************
-
-MMEConfigurationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ MMEConfigurationTransferIEs}},
- ...
-}
-
-MMEConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-SONConfigurationTransferMCT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} ,
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Private Message
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container {{PrivateMessageIEs}},
- ...
-}
-
-PrivateMessageIEs S1AP-PRIVATE-IES ::= {
- ...
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-PDU-Descriptions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-PDU-Descriptions.asn
deleted file mode 100644
index 46667cac2d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/S1AP-PDU-Descriptions.asn
+++ /dev/null
@@ -1,548 +0,0 @@
--- $Id$
--- 3GPP TS 36.413 V8.6.1 (2009-06)
--- 9.3.2 Elementary Procedure Definitions
--- **************************************************************
---
--- Elementary Procedure definitions
---
--- **************************************************************
-
-S1AP-PDU-Descriptions {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (20) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- ProcedureCode
-FROM S1AP-CommonDataTypes
-
- CellTrafficTrace,
- DeactivateTrace,
- DownlinkNASTransport,
- DownlinkS1cdma2000tunneling,
- ENBDirectInformationTransfer,
- ENBStatusTransfer,
- ENBConfigurationUpdate,
- ENBConfigurationUpdateAcknowledge,
- ENBConfigurationUpdateFailure,
- ErrorIndication,
- HandoverCancel,
- HandoverCancelAcknowledge,
- HandoverCommand,
- HandoverFailure,
- HandoverNotify,
- HandoverPreparationFailure,
- HandoverRequest,
- HandoverRequestAcknowledge,
- HandoverRequired,
- InitialContextSetupFailure,
- InitialContextSetupRequest,
- InitialContextSetupResponse,
- InitialUEMessage,
- LocationReportingControl,
- LocationReportingFailureIndication,
- LocationReport,
- MMEConfigurationUpdate,
- MMEConfigurationUpdateAcknowledge,
- MMEConfigurationUpdateFailure,
- MMEDirectInformationTransfer,
- MMEStatusTransfer,
- NASNonDeliveryIndication,
- OverloadStart,
- OverloadStop,
- Paging,
- PathSwitchRequest,
- PathSwitchRequestAcknowledge,
- PathSwitchRequestFailure,
- PrivateMessage,
- Reset,
- ResetAcknowledge,
- S1SetupFailure,
- S1SetupRequest,
- S1SetupResponse,
- E-RABModifyRequest,
- E-RABModifyResponse,
- E-RABReleaseCommand,
- E-RABReleaseResponse,
- E-RABReleaseIndication,
- E-RABSetupRequest,
- E-RABSetupResponse,
- TraceFailureIndication,
- TraceStart,
- UECapabilityInfoIndication,
- UEContextModificationFailure,
- UEContextModificationRequest,
- UEContextModificationResponse,
- UEContextReleaseCommand,
- UEContextReleaseComplete,
- UEContextReleaseRequest,
- UplinkNASTransport,
- UplinkS1cdma2000tunneling,
- WriteReplaceWarningRequest,
- WriteReplaceWarningResponse,
- ENBConfigurationTransfer,
- MMEConfigurationTransfer
-
-
-FROM S1AP-PDU-Contents
-
- id-CellTrafficTrace,
- id-DeactivateTrace,
- id-downlinkNASTransport,
- id-DownlinkS1cdma2000tunneling,
- id-eNBStatusTransfer,
- id-ErrorIndication,
- id-HandoverCancel,
- id-HandoverNotification,
- id-HandoverPreparation,
- id-HandoverResourceAllocation,
- id-InitialContextSetup,
- id-initialUEMessage,
- id-ENBConfigurationUpdate,
- id-LocationReportingControl,
- id-LocationReportingFailureIndication,
- id-LocationReport,
- id-eNBDirectInformationTransfer,
- id-MMEConfigurationUpdate,
- id-MMEDirectInformationTransfer,
- id-MMEStatusTransfer,
- id-NASNonDeliveryIndication,
- id-OverloadStart,
- id-OverloadStop,
- id-Paging,
- id-PathSwitchRequest,
- id-PrivateMessage,
- id-Reset,
- id-S1Setup,
- id-E-RABModify,
- id-E-RABRelease,
- id-E-RABReleaseIndication,
- id-E-RABSetup,
- id-TraceFailureIndication,
- id-TraceStart,
- id-UECapabilityInfoIndication,
- id-UEContextModification,
- id-UEContextRelease,
- id-UEContextReleaseRequest,
- id-uplinkNASTransport,
- id-UplinkS1cdma2000tunneling,
- id-WriteReplaceWarning,
- id-eNBConfigurationTransfer,
- id-MMEConfigurationTransfer
-FROM S1AP-Constants;
-
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-S1AP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
- criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
- criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
- criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
- S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
- S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
- ...
-}
-
-
-S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
- handoverPreparation |
- handoverResourceAllocation |
- pathSwitchRequest |
- e-RABSetup |
- e-RABModify |
- e-RABRelease |
- initialContextSetup |
- handoverCancel |
- reset |
- s1Setup |
- uEContextModification |
- uEContextRelease |
- eNBConfigurationUpdate |
- mMEConfigurationUpdate |
- writeReplaceWarning ,
- ...
-}
-
-S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
- handoverNotification |
- e-RABReleaseIndication |
- paging |
- downlinkNASTransport |
- initialUEMessage |
- uplinkNASTransport |
- errorIndication |
- nASNonDeliveryIndication |
- uEContextReleaseRequest |
- downlinkS1cdma2000tunneling |
- uplinkS1cdma2000tunneling |
- uECapabilityInfoIndication |
- eNBStatusTransfer |
- mMEStatusTransfer |
- deactivateTrace |
- traceStart |
- traceFailureIndication |
- cellTrafficTrace |
- locationReportingControl |
- locationReportingFailureIndication |
- locationReport |
- overloadStart |
- overloadStop |
- eNBDirectInformationTransfer |
- mMEDirectInformationTransfer |
- eNBConfigurationTransfer |
- mMEConfigurationTransfer |
- privateMessage ,
- ...
-}
-
--- **************************************************************
---
--- Interface Elementary Procedures
---
--- **************************************************************
-
-handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverRequired
- SUCCESSFUL OUTCOME HandoverCommand
- UNSUCCESSFUL OUTCOME HandoverPreparationFailure
- PROCEDURE CODE id-HandoverPreparation
- CRITICALITY reject
-}
-
-handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverRequest
- SUCCESSFUL OUTCOME HandoverRequestAcknowledge
- UNSUCCESSFUL OUTCOME HandoverFailure
- PROCEDURE CODE id-HandoverResourceAllocation
- CRITICALITY reject
-}
-
-handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverNotify
- PROCEDURE CODE id-HandoverNotification
- CRITICALITY ignore
-}
-
-pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PathSwitchRequest
- SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge
- UNSUCCESSFUL OUTCOME PathSwitchRequestFailure
- PROCEDURE CODE id-PathSwitchRequest
- CRITICALITY reject
-}
-
-e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABSetupRequest
- SUCCESSFUL OUTCOME E-RABSetupResponse
- PROCEDURE CODE id-E-RABSetup
- CRITICALITY reject
-}
-
-e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABModifyRequest
- SUCCESSFUL OUTCOME E-RABModifyResponse
- PROCEDURE CODE id-E-RABModify
- CRITICALITY reject
-}
-
-e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABReleaseCommand
- SUCCESSFUL OUTCOME E-RABReleaseResponse
- PROCEDURE CODE id-E-RABRelease
- CRITICALITY reject
-}
-
-e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABReleaseIndication
- PROCEDURE CODE id-E-RABReleaseIndication
- CRITICALITY ignore
-}
-
-initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialContextSetupRequest
- SUCCESSFUL OUTCOME InitialContextSetupResponse
- UNSUCCESSFUL OUTCOME InitialContextSetupFailure
- PROCEDURE CODE id-InitialContextSetup
- CRITICALITY reject
-}
-
-uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UEContextReleaseRequest
- PROCEDURE CODE id-UEContextReleaseRequest
- CRITICALITY ignore
-}
-
-paging S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Paging
- PROCEDURE CODE id-Paging
- CRITICALITY ignore
-}
-
-downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DownlinkNASTransport
- PROCEDURE CODE id-downlinkNASTransport
- CRITICALITY ignore
-}
-
-initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialUEMessage
- PROCEDURE CODE id-initialUEMessage
- CRITICALITY ignore
-}
-
-uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UplinkNASTransport
- PROCEDURE CODE id-uplinkNASTransport
- CRITICALITY ignore
-}
-nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE NASNonDeliveryIndication
- PROCEDURE CODE id-NASNonDeliveryIndication
- CRITICALITY ignore
-}
-
-handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverCancel
- SUCCESSFUL OUTCOME HandoverCancelAcknowledge
- PROCEDURE CODE id-HandoverCancel
- CRITICALITY reject
-}
-
-reset S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Reset
- SUCCESSFUL OUTCOME ResetAcknowledge
- PROCEDURE CODE id-Reset
- CRITICALITY reject
-}
-
-errorIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- PROCEDURE CODE id-ErrorIndication
- CRITICALITY ignore
-}
-
-s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE S1SetupRequest
- SUCCESSFUL OUTCOME S1SetupResponse
- UNSUCCESSFUL OUTCOME S1SetupFailure
- PROCEDURE CODE id-S1Setup
- CRITICALITY reject
-}
-
-eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBConfigurationUpdate
- SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
- UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
- PROCEDURE CODE id-ENBConfigurationUpdate
- CRITICALITY reject
-}
-
-mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEConfigurationUpdate
- SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge
- UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure
- PROCEDURE CODE id-MMEConfigurationUpdate
- CRITICALITY reject
-}
-
-downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DownlinkS1cdma2000tunneling
- PROCEDURE CODE id-DownlinkS1cdma2000tunneling
- CRITICALITY ignore
-}
-
-uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UplinkS1cdma2000tunneling
- PROCEDURE CODE id-UplinkS1cdma2000tunneling
- CRITICALITY ignore
-}
-
-uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UEContextModificationRequest
- SUCCESSFUL OUTCOME UEContextModificationResponse
- UNSUCCESSFUL OUTCOME UEContextModificationFailure
-
- PROCEDURE CODE id-UEContextModification
- CRITICALITY reject
-}
-
-uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UECapabilityInfoIndication
- PROCEDURE CODE id-UECapabilityInfoIndication
- CRITICALITY ignore
-}
-
-uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UEContextReleaseCommand
- SUCCESSFUL OUTCOME UEContextReleaseComplete
- PROCEDURE CODE id-UEContextRelease
- CRITICALITY reject
-}
-
-eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBStatusTransfer
- PROCEDURE CODE id-eNBStatusTransfer
- CRITICALITY ignore
-}
-
-mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEStatusTransfer
- PROCEDURE CODE id-MMEStatusTransfer
- CRITICALITY ignore
-}
-
-deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DeactivateTrace
- PROCEDURE CODE id-DeactivateTrace
- CRITICALITY ignore
-}
-
-traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE TraceStart
- PROCEDURE CODE id-TraceStart
- CRITICALITY ignore
-}
-
-traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE TraceFailureIndication
- PROCEDURE CODE id-TraceFailureIndication
- CRITICALITY ignore
-}
-cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
-INITIATING MESSAGE CellTrafficTrace
-PROCEDURE CODE id-CellTrafficTrace
-CRITICALITY ignore
-}
-
-locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingControl
- PROCEDURE CODE id-LocationReportingControl
- CRITICALITY ignore
-}
-
-locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingFailureIndication
- PROCEDURE CODE id-LocationReportingFailureIndication
- CRITICALITY ignore
-}
-
-locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReport
- PROCEDURE CODE id-LocationReport
- CRITICALITY ignore
-}
-
-overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE OverloadStart
- PROCEDURE CODE id-OverloadStart
- CRITICALITY ignore
-}
-
-overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE OverloadStop
- PROCEDURE CODE id-OverloadStop
- CRITICALITY reject
-}
-
-writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE WriteReplaceWarningRequest
- SUCCESSFUL OUTCOME WriteReplaceWarningResponse
- PROCEDURE CODE id-WriteReplaceWarning
- CRITICALITY reject
-}
-
-eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBDirectInformationTransfer
- PROCEDURE CODE id-eNBDirectInformationTransfer
- CRITICALITY ignore
-}
-
-mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEDirectInformationTransfer
- PROCEDURE CODE id-MMEDirectInformationTransfer
- CRITICALITY ignore
-}
-
-eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBConfigurationTransfer
- PROCEDURE CODE id-eNBConfigurationTransfer
- CRITICALITY ignore
-}
-
-mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEConfigurationTransfer
- PROCEDURE CODE id-MMEConfigurationTransfer
- CRITICALITY ignore
-}
-
-
-privateMessage S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
- PROCEDURE CODE id-PrivateMessage
- CRITICALITY ignore
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SOpttest.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/SOpttest.asn
deleted file mode 100644
index 498d3ebec1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SOpttest.asn
+++ /dev/null
@@ -1,30 +0,0 @@
-SOpttest DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-S ::= SEQUENCE {
- a [0] A,
- b [1] B OPTIONAL,
- c [2] C OPTIONAL
-
- }
-
-
-A ::= SEQUENCE {
- scriptKey [0] INTEGER (0..214783647),
- scriptAttribute1 [1] EXPLICIT INTEGER OPTIONAL,
- scriptAttribute2 [2] EXPLICIT INTEGER OPTIONAL
- }
-
-B ::= SEQUENCE {
- iNLegToBeCreated [0] INTEGER OPTIONAL,
- callingPartysCategory [1] INTEGER OPTIONAL,
- redirectingPartyID [2] INTEGER OPTIONAL
- }
-
-C ::= SEQUENCE {
- iNLegToBeCreated [0] INTEGER OPTIONAL,
- callingPartysCategory [1] INTEGER OPTIONAL,
- redirectingPartyID [2] INTEGER OPTIONAL
- }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SSL-PKIX.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SSL-PKIX.asn1
deleted file mode 100644
index 31d78bebbe..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SSL-PKIX.asn1
+++ /dev/null
@@ -1,704 +0,0 @@
-SSL-PKIX {iso(1) identified-organization(3) dod(6) internet(1)
- private(4) enterprices(1) ericsson(193) otp(19) ssl(10)
- pkix1(1)}
-
-DEFINITIONS EXPLICIT TAGS ::=
-
-BEGIN
-
--- EXPORTS ALL
-
-IMPORTS
- -- Certificate (parts of)
- Version,
- CertificateSerialNumber,
- --AlgorithmIdentifier,
- Validity,
- UniqueIdentifier,
-
- -- AttribyteTypeAndValue
- Name,
- AttributeType,
- id-at-name,
- id-at-surname,
- id-at-givenName,
- id-at-initials,
- id-at-generationQualifier, X520name,
- id-at-commonName, X520CommonName,
- id-at-localityName, X520LocalityName,
- id-at-stateOrProvinceName, X520StateOrProvinceName,
- id-at-organizationName, X520OrganizationName,
- id-at-organizationalUnitName, X520OrganizationalUnitName,
- id-at-title, X520Title,
- id-at-dnQualifier, X520dnQualifier,
- id-at-countryName, X520countryName,
- id-at-serialNumber, X520SerialNumber,
- id-at-pseudonym, X520Pseudonym,
- id-domainComponent, DomainComponent,
- id-emailAddress, EmailAddress,
-
- -- Extension Attributes
- common-name, CommonName,
- teletex-common-name, TeletexCommonName,
- teletex-personal-name, TeletexPersonalName,
- pds-name, PDSName,
- physical-delivery-country-name, PhysicalDeliveryCountryName,
- postal-code, PostalCode,
- physical-delivery-office-name, PhysicalDeliveryOfficeName,
- physical-delivery-office-number, PhysicalDeliveryOfficeNumber,
- extension-OR-address-components, ExtensionORAddressComponents,
- physical-delivery-personal-name, PhysicalDeliveryPersonalName,
- physical-delivery-organization-name, PhysicalDeliveryOrganizationName,
- extension-physical-delivery-address-components,
- ExtensionPhysicalDeliveryAddressComponents,
- unformatted-postal-address, UnformattedPostalAddress,
- street-address, StreetAddress,
- post-office-box-address, PostOfficeBoxAddress,
- poste-restante-address, PosteRestanteAddress,
- unique-postal-name, UniquePostalName,
- local-postal-attributes, LocalPostalAttributes,
- extended-network-address, ExtendedNetworkAddress,
- terminal-type, TerminalType,
- teletex-domain-defined-attributes, TeletexDomainDefinedAttributes
-
- FROM PKIX1Explicit88 { iso(1) identified-organization(3) dod(6)
- internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
- id-pkix1-explicit(18) }
-
- -- Extensions
- id-ce-authorityKeyIdentifier, AuthorityKeyIdentifier,
- id-ce-subjectKeyIdentifier, SubjectKeyIdentifier,
- id-ce-keyUsage, KeyUsage,
- id-ce-privateKeyUsagePeriod, PrivateKeyUsagePeriod,
- id-ce-certificatePolicies, CertificatePolicies,
- id-ce-policyMappings, PolicyMappings,
- id-ce-subjectAltName, SubjectAltName,
- id-ce-issuerAltName, IssuerAltName,
- id-ce-subjectDirectoryAttributes, SubjectDirectoryAttributes,
- id-ce-basicConstraints, BasicConstraints,
- id-ce-nameConstraints, NameConstraints,
- id-ce-policyConstraints, PolicyConstraints,
- id-ce-cRLDistributionPoints, CRLDistributionPoints,
- id-ce-extKeyUsage, ExtKeyUsageSyntax,
- id-ce-inhibitAnyPolicy, InhibitAnyPolicy,
- id-ce-freshestCRL, FreshestCRL,
- id-pe-authorityInfoAccess, AuthorityInfoAccessSyntax,
- id-pe-subjectInfoAccess, SubjectInfoAccessSyntax,
- id-ce-cRLNumber, CRLNumber,
- id-ce-issuingDistributionPoint, IssuingDistributionPoint,
- id-ce-deltaCRLIndicator, BaseCRLNumber,
- id-ce-cRLReasons, CRLReason,
- id-ce-certificateIssuer, CertificateIssuer,
- id-ce-holdInstructionCode, HoldInstructionCode,
- id-ce-invalidityDate, InvalidityDate
-
- FROM PKIX1Implicit88 { iso(1) identified-organization(3) dod(6)
- internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
- id-pkix1-implicit(19) }
-
- --Keys and Signatures
- id-dsa, Dss-Parms, DSAPublicKey,
- id-dsa-with-sha1,
- md2WithRSAEncryption,
- md5WithRSAEncryption,
- sha1WithRSAEncryption,
- rsaEncryption, RSAPublicKey,
- dhpublicnumber, DomainParameters, DHPublicKey,
- id-keyExchangeAlgorithm, KEA-Parms-Id, --KEA-PublicKey,
- ecdsa-with-SHA1,
- prime-field, Prime-p,
- characteristic-two-field, --Characteristic-two,
- gnBasis,
- tpBasis, Trinomial,
- ppBasis, Pentanomial,
- id-ecPublicKey, EcpkParameters, ECPoint
- FROM PKIX1Algorithms88 { iso(1) identified-organization(3) dod(6)
- internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
- id-mod-pkix1-algorithms(17) };
-
---
--- Certificate
---
-
-Certificate ::= SEQUENCE {
- tbsCertificate TBSCertificate,
- signatureAlgorithm SignatureAlgorithm,
- signature BIT STRING }
-
-TBSCertificate ::= SEQUENCE {
- version [0] Version DEFAULT v1,
- serialNumber CertificateSerialNumber,
- signature SignatureAlgorithm,
- issuer Name,
- validity Validity,
- subject Name,
- subjectPublicKeyInfo SubjectPublicKeyInfo,
- issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
- -- If present, version MUST be v2 or v3
- subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
- -- If present, version MUST be v2 or v3
- extensions [3] Extensions OPTIONAL
- -- If present, version MUST be v3 -- }
-
-
--- Attribute type and values
---
-
-ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= CLASS {
- &id AttributeType UNIQUE,
- &Type }
- WITH SYNTAX {
- ID &id
- TYPE &Type }
-
-AttributeTypeAndValue ::= SEQUENCE {
- type ATTRIBUTE-TYPE-AND-VALUE-CLASS.&id
- ({SupportedAttributeTypeAndValues}),
- value ATTRIBUTE-TYPE-AND-VALUE-CLASS.&Type
- ({SupportedAttributeTypeAndValues}{@type}) }
-
-SupportedAttributeTypeAndValues ATTRIBUTE-TYPE-AND-VALUE-CLASS ::=
- { name | surname | givenName | initials | generationQualifier |
- commonName | localityName | stateOrProvinceName | organizationName |
- organizationalUnitName | title | dnQualifier | countryName |
- serialNumber | pseudonym | domainComponent | emailAddress }
-
-name ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-name
- TYPE X520name }
-
-surname ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-surname
- TYPE X520name }
-
-givenName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-givenName
- TYPE X520name }
-
-initials ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-initials
- TYPE X520name }
-
-generationQualifier ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-generationQualifier
- TYPE X520name }
-
-commonName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-commonName
- TYPE X520CommonName }
-
-localityName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-localityName
- TYPE X520LocalityName }
-
-stateOrProvinceName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-stateOrProvinceName
- TYPE X520StateOrProvinceName }
-
-organizationName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-organizationName
- TYPE X520OrganizationName }
-
-organizationalUnitName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-organizationalUnitName
- TYPE X520OrganizationalUnitName }
-
-title ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-title
- TYPE X520Title }
-
-dnQualifier ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-dnQualifier
- TYPE X520dnQualifier }
-
-countryName ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-countryName
- TYPE X520countryName }
-
-serialNumber ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-serialNumber
- TYPE X520SerialNumber }
-
-pseudonym ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-at-pseudonym
- TYPE X520Pseudonym }
-
-domainComponent ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-domainComponent
- TYPE DomainComponent }
-
-emailAddress ATTRIBUTE-TYPE-AND-VALUE-CLASS ::= {
- ID id-emailAddress
- TYPE EmailAddress }
-
---
--- Signature and Public Key Algorithms
---
-
-SubjectPublicKeyInfo ::= SEQUENCE {
- algorithm SEQUENCE {
- algo PUBLIC-KEY-ALGORITHM-CLASS.&id
- ({SupportedPublicKeyAlgorithms}),
- parameters PUBLIC-KEY-ALGORITHM-CLASS.&Type
- ({SupportedPublicKeyAlgorithms}{@.algo})
- OPTIONAL
- },
- subjectPublicKey PUBLIC-KEY-ALGORITHM-CLASS.&PublicKeyType
- ({SupportedPublicKeyAlgorithms}{@algorithm.algo}) }
-
--- The following is needed for conversion of SubjectPublicKeyInfo.
-
-SubjectPublicKeyInfo-Any ::= SEQUENCE {
- algorithm PublicKeyAlgorithm,
- subjectPublicKey ANY }
-
-
-SIGNATURE-ALGORITHM-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type OPTIONAL }
- WITH SYNTAX {
- ID &id
- [TYPE &Type] }
-
-PUBLIC-KEY-ALGORITHM-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type OPTIONAL,
- &PublicKeyType OPTIONAL }
- WITH SYNTAX {
- ID &id
- [TYPE &Type]
- [PUBLIC-KEY-TYPE &PublicKeyType] }
-
-SignatureAlgorithm ::= SEQUENCE {
- algorithm SIGNATURE-ALGORITHM-CLASS.&id
- ({SupportedSignatureAlgorithms}),
- parameters SIGNATURE-ALGORITHM-CLASS.&Type
- ({SupportedSignatureAlgorithms}{@algorithm})
- OPTIONAL }
-
-SignatureAlgorithm-Any ::= SEQUENCE {
- algorithm OBJECT IDENTIFIER,
- parameters ANY OPTIONAL }
-
-PublicKeyAlgorithm ::= SEQUENCE {
- algorithm PUBLIC-KEY-ALGORITHM-CLASS.&id
- ({SupportedPublicKeyAlgorithms}),
- parameters PUBLIC-KEY-ALGORITHM-CLASS.&Type
- ({SupportedPublicKeyAlgorithms}{@algorithm})
- OPTIONAL }
-
-SupportedSignatureAlgorithms SIGNATURE-ALGORITHM-CLASS ::= {
- dsa-with-sha1 | md2-with-rsa-encryption |
- md5-with-rsa-encryption | sha1-with-rsa-encryption |
- ecdsa-with-sha1 }
-
-SupportedPublicKeyAlgorithms PUBLIC-KEY-ALGORITHM-CLASS ::= {
- dsa | rsa-encryption | dh | kea | ec-public-key }
-
- -- DSA Keys and Signatures
-
- -- SubjectPublicKeyInfo:
-
- dsa PUBLIC-KEY-ALGORITHM-CLASS ::= {
- ID id-dsa
- TYPE Dss-Parms -- XXX Must be OPTIONAL
- PUBLIC-KEY-TYPE DSAPublicKey }
-
- -- Certificate.signatureAlgorithm
-
- dsa-with-sha1 SIGNATURE-ALGORITHM-CLASS ::= {
- ID id-dsa-with-sha1
- TYPE NULL } -- XXX Must be empty and not NULL
-
- --
- -- RSA Keys and Signatures
- --
-
- -- Certificate.signatureAlgorithm
-
- md2-with-rsa-encryption SIGNATURE-ALGORITHM-CLASS ::= {
- ID md2WithRSAEncryption
- TYPE NULL }
-
- md5-with-rsa-encryption SIGNATURE-ALGORITHM-CLASS ::= {
- ID md5WithRSAEncryption
- TYPE NULL }
-
- sha1-with-rsa-encryption SIGNATURE-ALGORITHM-CLASS ::= {
- ID sha1WithRSAEncryption
- TYPE NULL }
-
- -- Certificate.signature
- -- See PKCS #1 (RFC 2313). XXX
-
- -- SubjectPublicKeyInfo:
-
- rsa-encryption PUBLIC-KEY-ALGORITHM-CLASS ::= {
- ID rsaEncryption
- TYPE NULL
- PUBLIC-KEY-TYPE RSAPublicKey }
-
- --
- -- Diffie-Hellman Keys
- --
-
- -- SubjectPublicKeyInfo:
-
- dh PUBLIC-KEY-ALGORITHM-CLASS ::= {
- ID dhpublicnumber
- TYPE DomainParameters
- PUBLIC-KEY-TYPE DHPublicKey }
-
- -- There are no Diffie-Hellman signature algorithms
-
- --
- -- KEA Keys
- --
-
- -- SubjectPublicKeyInfo:
-
- KEA-PublicKey ::= INTEGER
-
- kea PUBLIC-KEY-ALGORITHM-CLASS ::= {
- ID id-keyExchangeAlgorithm
- TYPE KEA-Parms-Id
- PUBLIC-KEY-TYPE KEA-PublicKey }
-
- -- There are no KEA signature algorithms
-
- --
- -- Elliptic Curve Keys, Signatures, and Curves
- --
-
- -- Certificate.signatureAlgorithm
-
- ecdsa-with-sha1 SIGNATURE-ALGORITHM-CLASS ::= {
- ID ecdsa-with-SHA1
- TYPE NULL } -- XXX Must be empty and not NULL
-
- FIELD-ID-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type }
- WITH SYNTAX {
- ID &id
- TYPE &Type }
-
- FieldID ::= SEQUENCE { -- Finite field
- fieldType FIELD-ID-CLASS.&id({SupportedFieldIds}),
- parameters FIELD-ID-CLASS.&Type({SupportedFieldIds}{@fieldType}) }
-
- SupportedFieldIds FIELD-ID-CLASS ::= {
- field-prime-field | field-characteristic-two }
-
- field-prime-field FIELD-ID-CLASS ::= {
- ID prime-field
- TYPE Prime-p }
-
- CHARACTERISTIC-TWO-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type }
- WITH SYNTAX {
- ID &id
- TYPE &Type }
-
- Characteristic-two ::= SEQUENCE { -- Finite field
- m INTEGER, -- Field size 2^m
- basis CHARACTERISTIC-TWO-CLASS.&id({SupportedCharacteristicTwos}),
- parameters CHARACTERISTIC-TWO-CLASS.&Type
- ({SupportedCharacteristicTwos}{@basis}) }
-
- SupportedCharacteristicTwos CHARACTERISTIC-TWO-CLASS ::= {
- gn-basis | tp-basis | pp-basis }
-
- field-characteristic-two FIELD-ID-CLASS ::= {
- ID characteristic-two-field
- TYPE Characteristic-two }
-
- gn-basis CHARACTERISTIC-TWO-CLASS ::= {
- ID gnBasis
- TYPE NULL }
-
- tp-basis CHARACTERISTIC-TWO-CLASS ::= {
- ID tpBasis
- TYPE Trinomial }
-
- pp-basis CHARACTERISTIC-TWO-CLASS ::= {
- ID ppBasis
- TYPE Pentanomial }
-
- -- SubjectPublicKeyInfo.algorithm
-
- ec-public-key PUBLIC-KEY-ALGORITHM-CLASS ::= {
- ID id-ecPublicKey
- TYPE EcpkParameters
- PUBLIC-KEY-TYPE ECPoint }
-
---
--- Extension Attributes
---
-
-EXTENSION-ATTRIBUTE-CLASS ::= CLASS {
- &id INTEGER UNIQUE,
- &Type }
- WITH SYNTAX {
- ID &id
- TYPE &Type }
-
-ExtensionAttributes ::= SET SIZE (1..MAX) OF ExtensionAttribute
-
--- XXX Below we should have extension-attribute-type and extension-
--- attribute-value but Erlang ASN1 does not like it.
-ExtensionAttribute ::= SEQUENCE {
- extensionAttributeType [0] IMPLICIT EXTENSION-ATTRIBUTE-CLASS.&id
- ({SupportedExtensionAttributes}),
- extensionAttributeValue [1] EXTENSION-ATTRIBUTE-CLASS.&Type
- ({SupportedExtensionAttributes}{@extensionAttributeType}) }
-
-SupportedExtensionAttributes EXTENSION-ATTRIBUTE-CLASS ::= {
- x400-common-name |
- x400-teletex-common-name |
- x400-teletex-personal-name |
- x400-pds-name |
- x400-physical-delivery-country-name |
- x400-postal-code |
- x400-physical-delivery-office-name |
- x400-physical-delivery-office-number |
- x400-extension-OR-address-components |
- x400-physical-delivery-personal-name |
- x400-physical-delivery-organization-name |
- x400-extension-physical-delivery-address-components |
- x400-unformatted-postal-address |
- x400-street-address |
- x400-post-office-box-address |
- x400-poste-restante-address |
- x400-unique-postal-name |
- x400-local-postal-attributes |
- x400-extended-network-address |
- x400-terminal-type |
- x400-teletex-domain-defined-attributes }
-
--- Extension types and attribute values
-
-x400-common-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID common-name
- TYPE CommonName }
-
-x400-teletex-common-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID teletex-common-name
- TYPE TeletexCommonName }
-
-x400-teletex-personal-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID teletex-personal-name
- TYPE TeletexPersonalName }
-
-x400-pds-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID pds-name
- TYPE PDSName }
-
-x400-physical-delivery-country-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID physical-delivery-country-name
- TYPE PhysicalDeliveryCountryName }
-
-x400-postal-code EXTENSION-ATTRIBUTE-CLASS ::= {
- ID postal-code
- TYPE PostalCode }
-
-x400-physical-delivery-office-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID physical-delivery-office-name
- TYPE PhysicalDeliveryOfficeName }
-
-x400-physical-delivery-office-number EXTENSION-ATTRIBUTE-CLASS ::= {
- ID physical-delivery-office-number
- TYPE PhysicalDeliveryOfficeNumber }
-
-x400-extension-OR-address-components EXTENSION-ATTRIBUTE-CLASS ::= {
- ID extension-OR-address-components
- TYPE ExtensionORAddressComponents }
-
-x400-physical-delivery-personal-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID physical-delivery-personal-name
- TYPE PhysicalDeliveryPersonalName }
-
-x400-physical-delivery-organization-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID physical-delivery-organization-name
- TYPE PhysicalDeliveryOrganizationName }
-
-x400-extension-physical-delivery-address-components
- EXTENSION-ATTRIBUTE-CLASS ::= {
- ID extension-physical-delivery-address-components
- TYPE ExtensionPhysicalDeliveryAddressComponents }
-
-x400-unformatted-postal-address EXTENSION-ATTRIBUTE-CLASS ::= {
- ID unformatted-postal-address
- TYPE UnformattedPostalAddress }
-
-x400-street-address EXTENSION-ATTRIBUTE-CLASS ::= {
- ID street-address
- TYPE StreetAddress }
-
-x400-post-office-box-address EXTENSION-ATTRIBUTE-CLASS ::= {
- ID post-office-box-address
- TYPE PostOfficeBoxAddress }
-
-x400-poste-restante-address EXTENSION-ATTRIBUTE-CLASS ::= {
- ID poste-restante-address
- TYPE PosteRestanteAddress }
-
-x400-unique-postal-name EXTENSION-ATTRIBUTE-CLASS ::= {
- ID unique-postal-name
- TYPE UniquePostalName }
-
-x400-local-postal-attributes EXTENSION-ATTRIBUTE-CLASS ::= {
- ID local-postal-attributes
- TYPE LocalPostalAttributes }
-
-x400-extended-network-address EXTENSION-ATTRIBUTE-CLASS ::= {
- ID extended-network-address
- TYPE ExtendedNetworkAddress }
-
-x400-terminal-type EXTENSION-ATTRIBUTE-CLASS ::= {
- ID terminal-type
- TYPE TerminalType }
-
-x400-teletex-domain-defined-attributes EXTENSION-ATTRIBUTE-CLASS ::= {
- ID teletex-domain-defined-attributes
- TYPE TeletexDomainDefinedAttributes }
-
--- Extensions
-
-Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
-
-EXTENSION-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type OPTIONAL}
- WITH SYNTAX {
- ID &id
- [TYPE &Type] }
-
-Extension ::= SEQUENCE {
- extnID EXTENSION-CLASS.&id({SupportedExtensions}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue EXTENSION-CLASS.&Type({SupportedExtensions}{@extnID}) }
-
--- The following is needed for conversion between Extension and Extension-Cd
-
-ObjId ::= OBJECT IDENTIFIER
-Boolean ::= BOOLEAN
-Any ::= ANY
-
-Extension-Any ::= SEQUENCE {
- extnID OBJECT IDENTIFIER,
- critical BOOLEAN DEFAULT FALSE,
- extnValue ANY }
-
-SupportedExtensions EXTENSION-CLASS ::= { authorityKeyIdentifier |
- subjectKeyIdentifier | keyUsage | privateKeyUsagePeriod |
- certificatePolicies | policyMappings | subjectAltName |
- issuerAltName | subjectDirectoryAttributes | basicConstraints |
- nameConstraints | policyConstraints | cRLDistributionPoints |
- extKeyUsage | inhibitAnyPolicy | freshestCRL | authorityInfoAccess |
- subjectInfoAccess | cRLNumber | issuingDistributionPoint |
- deltaCRLIndicator | cRLReasons | certificateIssuer |
- holdInstructionCode | invalidityDate }
-
-authorityKeyIdentifier EXTENSION-CLASS ::= {
- ID id-ce-authorityKeyIdentifier
- TYPE AuthorityKeyIdentifier }
-
-subjectKeyIdentifier EXTENSION-CLASS ::= {
- ID id-ce-subjectKeyIdentifier
- TYPE SubjectKeyIdentifier }
-
-keyUsage EXTENSION-CLASS ::= {
- ID id-ce-keyUsage
- TYPE KeyUsage }
-
-privateKeyUsagePeriod EXTENSION-CLASS ::= {
- ID id-ce-privateKeyUsagePeriod
- TYPE PrivateKeyUsagePeriod }
-
-certificatePolicies EXTENSION-CLASS ::= {
- ID id-ce-certificatePolicies
- TYPE CertificatePolicies }
-
-policyMappings EXTENSION-CLASS ::= {
- ID id-ce-policyMappings
- TYPE PolicyMappings }
-
-subjectAltName EXTENSION-CLASS ::= {
- ID id-ce-subjectAltName
- TYPE SubjectAltName }
-
-issuerAltName EXTENSION-CLASS ::= {
- ID id-ce-issuerAltName
- TYPE IssuerAltName }
-
-subjectDirectoryAttributes EXTENSION-CLASS ::= {
- ID id-ce-subjectDirectoryAttributes
- TYPE SubjectDirectoryAttributes }
-
-basicConstraints EXTENSION-CLASS ::= {
- ID id-ce-basicConstraints
- TYPE BasicConstraints }
-
-nameConstraints EXTENSION-CLASS ::= {
- ID id-ce-nameConstraints
- TYPE NameConstraints }
-
-policyConstraints EXTENSION-CLASS ::= {
- ID id-ce-policyConstraints
- TYPE PolicyConstraints }
-
-cRLDistributionPoints EXTENSION-CLASS ::= {
- ID id-ce-cRLDistributionPoints
- TYPE CRLDistributionPoints }
-
-extKeyUsage EXTENSION-CLASS ::= {
- ID id-ce-extKeyUsage
- TYPE ExtKeyUsageSyntax }
-
-inhibitAnyPolicy EXTENSION-CLASS ::= {
- ID id-ce-inhibitAnyPolicy
- TYPE InhibitAnyPolicy }
-
-freshestCRL EXTENSION-CLASS ::= {
- ID id-ce-freshestCRL
- TYPE FreshestCRL }
-
-authorityInfoAccess EXTENSION-CLASS ::= {
- ID id-pe-authorityInfoAccess
- TYPE AuthorityInfoAccessSyntax }
-
-subjectInfoAccess EXTENSION-CLASS ::= {
- ID id-pe-subjectInfoAccess
- TYPE SubjectInfoAccessSyntax }
-
-cRLNumber EXTENSION-CLASS ::= {
- ID id-ce-cRLNumber
- TYPE CRLNumber }
-
-issuingDistributionPoint EXTENSION-CLASS ::= {
- ID id-ce-issuingDistributionPoint
- TYPE IssuingDistributionPoint }
-
-deltaCRLIndicator EXTENSION-CLASS ::= {
- ID id-ce-deltaCRLIndicator
- TYPE BaseCRLNumber }
-
-cRLReasons EXTENSION-CLASS ::= {
- ID id-ce-cRLReasons
- TYPE CRLReason }
-
-certificateIssuer EXTENSION-CLASS ::= {
- ID id-ce-certificateIssuer
- TYPE CertificateIssuer }
-
-holdInstructionCode EXTENSION-CLASS ::= {
- ID id-ce-holdInstructionCode
- TYPE HoldInstructionCode }
-
-invalidityDate EXTENSION-CLASS ::= {
- ID id-ce-invalidityDate
- TYPE InvalidityDate }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SelectedAttributeTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/SelectedAttributeTypes.asn
deleted file mode 100644
index 25f20e5c01..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SelectedAttributeTypes.asn
+++ /dev/null
@@ -1,1466 +0,0 @@
--- Module SelectedAttributeTypes (X.520:08/1997)
-
-SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
- selectedAttributeTypes(5) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, upperBounds, id-at, id-mr, id-avc,
- directoryAbstractService, id-pr, id-not, id-cat
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, ATTRIBUTE, MATCHING-RULE, AttributeType, OBJECT-CLASS,
- DistinguishedName, objectIdentifierMatch, distinguishedNameMatch,
- CONTEXT, ContextAssertion, AttributeCombination, ContextCombination,
- MAPPING-BASED-MATCHING, MRMapping, AttributeValueAssertion
- FROM InformationFramework informationFramework
- G3FacsimileNonBasicParameters
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- ub-answerback, ub-name, ub-common-name, ub-surname, ub-serial-number,
- ub-locality-name, ub-state-name, ub-street-address, ub-organization-name,
- ub-organizational-unit-name, ub-title, ub-description,
- ub-business-category, ub-postal-line, ub-postal-string, ub-postal-code,
- ub-post-office-box, ub-physical-office-name, ub-telex-number,
- ub-country-code, ub-teletex-terminal-id, ub-telephone-number,
- ub-x121-address, ub-international-isdn-number, ub-destination-indicator,
- ub-user-password, ub-match, ub-knowledge-information,
- ub-directory-string-first-component-match, ub-localeContextSyntax,
- ub-pseudonym
- FROM UpperBounds upperBounds
- FilterItem, HierarchySelections, SearchControlOptions, ServiceControlOptions
- FROM DirectoryAbstractService directoryAbstractService;
-
--- Directory string type
-DirectoryString{INTEGER:maxSize} ::= CHOICE {
- teletexString TeletexString(SIZE (1..maxSize)),
- printableString PrintableString(SIZE (1..maxSize)),
- universalString UniversalString(SIZE (1..maxSize)),
- bmpString BMPString(SIZE (1..maxSize)),
- uTF8String UTF8String(SIZE (1..maxSize))
-}
-
--- Attribute types
-knowledgeInformation ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-knowledge-information}
- EQUALITY MATCHING RULE caseIgnoreMatch
- ID id-at-knowledgeInformation
-}
-
-name ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-name
-}
-
-commonName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-commonName
-}
-
-surname ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-surname}
- ID id-at-surname
-}
-
-givenName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-givenName
-}
-
-initials ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-initials
-}
-
-generationQualifier ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-generationQualifier
-}
-
-uniqueIdentifier ATTRIBUTE ::= {
- WITH SYNTAX UniqueIdentifier
- EQUALITY MATCHING RULE bitStringMatch
- ID id-at-uniqueIdentifier
-}
-
-UniqueIdentifier ::= BIT STRING
-
-dnQualifier ATTRIBUTE ::= {
- WITH SYNTAX PrintableString
- EQUALITY MATCHING RULE caseIgnoreMatch
- ORDERING MATCHING RULE caseIgnoreOrderingMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-dnQualifier
-}
-
-serialNumber ATTRIBUTE ::= {
- WITH SYNTAX PrintableString(SIZE (1..ub-serial-number))
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-serialNumber
-}
-
-pseudonym ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-pseudonym}
- ID id-at-pseudonym
-}
-
-countryName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX CountryName
- SINGLE VALUE TRUE
- ID id-at-countryName
-}
-
-CountryName ::= PrintableString(SIZE (2)) -- ISO 3166 codes only
-
-
-localityName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-locality-name}
- ID id-at-localityName
-}
-
-collectiveLocalityName ATTRIBUTE ::= {
- SUBTYPE OF localityName
- COLLECTIVE TRUE
- ID id-at-collectiveLocalityName
-}
-
-stateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-state-name}
- ID id-at-stateOrProvinceName
-}
-
-collectiveStateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF stateOrProvinceName
- COLLECTIVE TRUE
- ID id-at-collectiveStateOrProvinceName
-}
-
-streetAddress ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-street-address}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-streetAddress
-}
-
-collectiveStreetAddress ATTRIBUTE ::= {
- SUBTYPE OF streetAddress
- COLLECTIVE TRUE
- ID id-at-collectiveStreetAddress
-}
-
-houseIdentifier ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-houseIdentifier
-}
-
-organizationName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organization-name}
- ID id-at-organizationName
-}
-
-collectiveOrganizationName ATTRIBUTE ::= {
- SUBTYPE OF organizationName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationName
-}
-
-organizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organizational-unit-name}
- ID id-at-organizationalUnitName
-}
-
-collectiveOrganizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF organizationalUnitName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationalUnitName
-}
-
-title ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-title}
- ID id-at-title
-}
-
-description ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-description}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-description
-}
-
-searchGuide ATTRIBUTE ::= {WITH SYNTAX Guide
- ID id-at-searchGuide
-}
-
-Guide ::= SET {
- objectClass [0] OBJECT-CLASS.&id OPTIONAL,
- criteria [1] Criteria
-}
-
-Criteria ::= CHOICE {
- type [0] CriteriaItem,
- and [1] SET OF Criteria,
- or [2] SET OF Criteria,
- not [3] Criteria
-}
-
-CriteriaItem ::= CHOICE {
- equality [0] AttributeType,
- substrings [1] AttributeType,
- greaterOrEqual [2] AttributeType,
- lessOrEqual [3] AttributeType,
- approximateMatch [4] AttributeType
-}
-
-enhancedSearchGuide ATTRIBUTE ::= {
- WITH SYNTAX EnhancedGuide
- ID id-at-enhancedSearchGuide
-}
-
-EnhancedGuide ::= SEQUENCE {
- objectClass [0] OBJECT-CLASS.&id,
- criteria [1] Criteria,
- subset
- [2] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} DEFAULT oneLevel
-}
-
-businessCategory ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-business-category}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-businessCategory
-}
-
-postalAddress ATTRIBUTE ::= {
- WITH SYNTAX PostalAddress
- EQUALITY MATCHING RULE caseIgnoreListMatch
- SUBSTRINGS MATCHING RULE caseIgnoreListSubstringsMatch
- ID id-at-postalAddress
-}
-
-PostalAddress ::=
- SEQUENCE SIZE (1..ub-postal-line) OF DirectoryString{ub-postal-string}
-
-collectivePostalAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- COLLECTIVE TRUE
- ID id-at-collectivePostalAddress
-}
-
-postalCode ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-postal-code}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postalCode
-}
-
-collectivePostalCode ATTRIBUTE ::= {
- SUBTYPE OF postalCode
- COLLECTIVE TRUE
- ID id-at-collectivePostalCode
-}
-
-postOfficeBox ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-post-office-box}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postOfficeBox
-}
-
-collectivePostOfficeBox ATTRIBUTE ::= {
- SUBTYPE OF postOfficeBox
- COLLECTIVE TRUE
- ID id-at-collectivePostOfficeBox
-}
-
-physicalDeliveryOfficeName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-physical-office-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-physicalDeliveryOfficeName
-}
-
-collectivePhysicalDeliveryOfficeName ATTRIBUTE ::= {
- SUBTYPE OF physicalDeliveryOfficeName
- COLLECTIVE TRUE
- ID id-at-collectivePhysicalDeliveryOfficeName
-}
-
-telephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX TelephoneNumber
- EQUALITY MATCHING RULE telephoneNumberMatch
- SUBSTRINGS MATCHING RULE telephoneNumberSubstringsMatch
- ID id-at-telephoneNumber
-}
-
-TelephoneNumber ::= PrintableString(SIZE (1..ub-telephone-number))
-
--- String complying with CCITT Rec. E.123 only
-collectiveTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF telephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelephoneNumber
-}
-
-telexNumber ATTRIBUTE ::= {
- WITH SYNTAX TelexNumber
- ID id-at-telexNumber
-}
-
-TelexNumber ::= SEQUENCE {
- telexNumber PrintableString(SIZE (1..ub-telex-number)),
- countryCode PrintableString(SIZE (1..ub-country-code)),
- answerback PrintableString(SIZE (1..ub-answerback))
-}
-
-collectiveTelexNumber ATTRIBUTE ::= {
- SUBTYPE OF telexNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelexNumber
-}
-
-facsimileTelephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX FacsimileTelephoneNumber
- EQUALITY MATCHING RULE facsimileNumberMatch
- SUBSTRINGS MATCHING RULE facsimileNumberSubstringsMatch
- ID id-at-facsimileTelephoneNumber
-}
-
-facsimileNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-facsimileNumberMatch
-}
-
-facsimileNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-facsimileNumberSubstringsMatch
-}
-
-FacsimileTelephoneNumber ::= SEQUENCE {
- telephoneNumber TelephoneNumber,
- parameters G3FacsimileNonBasicParameters OPTIONAL
-}
-
-collectiveFacsimileTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF facsimileTelephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveFacsimileTelephoneNumber
-}
-
-x121Address ATTRIBUTE ::= {
- WITH SYNTAX X121Address
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-x121Address
-}
-
-X121Address ::= NumericString(SIZE (1..ub-x121-address))
-
--- String as defined by ITU-T Rec. X.121
-internationalISDNNumber ATTRIBUTE ::= {
- WITH SYNTAX InternationalISDNNumber
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-internationalISDNNumber
-}
-
-InternationalISDNNumber ::=
- NumericString(SIZE (1..ub-international-isdn-number))
-
--- String complying with ITU-T Rec. E.164 only
-collectiveInternationalISDNNumber ATTRIBUTE ::= {
- SUBTYPE OF internationalISDNNumber
- COLLECTIVE TRUE
- ID id-at-collectiveInternationalISDNNumber
-}
-
-registeredAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- WITH SYNTAX PostalAddress
- ID id-at-registeredAddress
-}
-
-destinationIndicator ATTRIBUTE ::= {
- WITH SYNTAX DestinationIndicator
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-destinationIndicator
-}
-
-DestinationIndicator ::= PrintableString(SIZE (1..ub-destination-indicator))
-
-communicationsService ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-communicationsService
-}
-
-communicationsNetwork ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-at-communicationsNetwork
-}
-
--- alphabetical characters only
-preferredDeliveryMethod ATTRIBUTE ::= {
- WITH SYNTAX PreferredDeliveryMethod
- SINGLE VALUE TRUE
- ID id-at-preferredDeliveryMethod
-}
-
-PreferredDeliveryMethod ::=
- SEQUENCE OF
- INTEGER {any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
- g4-facsimile-delivery(6), ia5-terminal-delivery(7),
- videotex-delivery(8), telephone-delivery(9)}
-
-presentationAddress ATTRIBUTE ::= {
- WITH SYNTAX PresentationAddress
- EQUALITY MATCHING RULE presentationAddressMatch
- SINGLE VALUE TRUE
- ID id-at-presentationAddress
-}
-
-PresentationAddress ::= SEQUENCE {
- pSelector [0] OCTET STRING OPTIONAL,
- sSelector [1] OCTET STRING OPTIONAL,
- tSelector [2] OCTET STRING OPTIONAL,
- nAddresses [3] SET SIZE (1..MAX) OF OCTET STRING
-}
-
-supportedApplicationContext ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-supportedApplicationContext
-}
-
-protocolInformation ATTRIBUTE ::= {
- WITH SYNTAX ProtocolInformation
- EQUALITY MATCHING RULE protocolInformationMatch
- ID id-at-protocolInformation
-}
-
-ProtocolInformation ::= SEQUENCE {
- nAddress OCTET STRING,
- profiles SET OF OBJECT IDENTIFIER
-}
-
-distinguishedName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- ID id-at-distinguishedName
-}
-
-member ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-member
-}
-
-uniqueMember ATTRIBUTE ::= {
- WITH SYNTAX NameAndOptionalUID
- EQUALITY MATCHING RULE uniqueMemberMatch
- ID id-at-uniqueMember
-}
-
-NameAndOptionalUID ::= SEQUENCE {
- dn DistinguishedName,
- uid UniqueIdentifier OPTIONAL
-}
-
-owner ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-owner
-}
-
-roleOccupant ATTRIBUTE ::= {
- SUBTYPE OF distinguishedName
- ID id-at-roleOccupant
-}
-
-seeAlso ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-seeAlso
-}
-
-dmdName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-dmdName
-}
-
-dSAProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-dSAProblem
-}
-
-searchServiceProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-searchServiceProblem
-}
-
-serviceType ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-serviceType
-}
-
-attributeTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-attributeTypeList
-}
-
-filterItem ATTRIBUTE ::= {
- WITH SYNTAX FilterItem
- ID id-not-filterItem
-}
-
-attributeCombinations ATTRIBUTE ::= {
- WITH SYNTAX AttributeCombination
- ID id-not-attributeCombinations
-}
-
-contextTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-contextTypeList
-}
-
-contextList ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-not-contextList
-}
-
-hierarchySelectList ATTRIBUTE ::= {
- WITH SYNTAX HierarchySelections
- SINGLE VALUE TRUE
- ID id-not-hierarchySelectList
-}
-
-searchOptionsList ATTRIBUTE ::= {
- WITH SYNTAX SearchControlOptions
- SINGLE VALUE TRUE
- ID id-not-searchOptionsList
-}
-
-serviceControlOptionsList ATTRIBUTE ::= {
- WITH SYNTAX ServiceControlOptions
- SINGLE VALUE TRUE
- ID id-not-serviceControlOptionsList
-}
-
-multipleMatchingLocalities ATTRIBUTE ::= {
- WITH SYNTAX MultipleMatchingLocalities
- ID id-not-multipleMatchingLocalities
-}
-
-MultipleMatchingLocalities ::= SEQUENCE {
- matchingRuleUsed MATCHING-RULE.&id OPTIONAL,
- attributeList SEQUENCE OF AttributeValueAssertion
-}
-
-proposedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX SEQUENCE OF MRMapping
- ID id-not-proposedRelaxation
-}
-
-appliedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-appliedRelaxation
-}
-
--- Matching rules
-caseIgnoreMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreMatch
-}
-
-caseIgnoreOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreOrderingMatch
-}
-
-caseIgnoreSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreSubstringsMatch
-}
-
-SubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] DirectoryString{ub-match},
- any [1] DirectoryString{ub-match},
- final [2] DirectoryString{ub-match},
- control Attribute
- } -- Used to specify interpretation of the following items
-
--- at most one initial and one final component
-caseExactMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactMatch
-}
-
-caseExactOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactOrderingMatch
-}
-
-caseExactSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion -- only the PrintableString choice
- ID id-mr-caseExactSubstringsMatch
-}
-
-numericStringMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringMatch
-}
-
-numericStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringOrderingMatch
-}
-
-numericStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-numericStringSubstringsMatch
-}
-
-caseIgnoreListMatch MATCHING-RULE ::= {
- SYNTAX CaseIgnoreListMatch
- ID id-mr-caseIgnoreListMatch
-}
-
-CaseIgnoreListMatch ::= SEQUENCE OF DirectoryString{ub-match}
-
-caseIgnoreListSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreListSubstringsMatch
-}
-
-storedPrefixMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-storedPrefixMatch
-}
-
-booleanMatch MATCHING-RULE ::= {SYNTAX BOOLEAN
- ID id-mr-booleanMatch
-}
-
-integerMatch MATCHING-RULE ::= {SYNTAX INTEGER
- ID id-mr-integerMatch
-}
-
-integerOrderingMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerOrderingMatch
-}
-
-bitStringMatch MATCHING-RULE ::= {
- SYNTAX BIT STRING
- ID id-mr-bitStringMatch
-}
-
-octetStringMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringMatch
-}
-
-octetStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringOrderingMatch
-}
-
-octetStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX OctetSubstringAssertion
- ID id-mr-octetStringSubstringsMatch
-}
-
-OctetSubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] OCTET STRING,
- any [1] OCTET STRING,
- final [2] OCTET STRING}
-
--- at most one initial and one final component
-telephoneNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-telephoneNumberMatch
-}
-
-telephoneNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-telephoneNumberSubstringsMatch
-}
-
-presentationAddressMatch MATCHING-RULE ::= {
- SYNTAX PresentationAddress
- ID id-mr-presentationAddressMatch
-}
-
-uniqueMemberMatch MATCHING-RULE ::= {
- SYNTAX NameAndOptionalUID
- ID id-mr-uniqueMemberMatch
-}
-
-protocolInformationMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-protocolInformationMatch
-}
-
-uTCTimeMatch MATCHING-RULE ::= {SYNTAX UTCTime
- ID id-mr-uTCTimeMatch
-}
-
-uTCTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX UTCTime
- ID id-mr-uTCTimeOrderingMatch
-}
-
-generalizedTimeMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeMatch
-}
-
-generalizedTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeOrderingMatch
-}
-
-integerFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerFirstComponentMatch
-}
-
-objectIdentifierFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierFirstComponentMatch
-}
-
-directoryStringFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-directory-string-first-component-match}
- ID id-mr-directoryStringFirstComponentMatch
-}
-
-wordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-wordMatch
-}
-
-keywordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-keywordMatch
-}
-
-systemProposedMatch MATCHING-RULE ::= {ID id-mr-systemProposedMatch
-}
-
-generalWordMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-generalWordMatch
-}
-
-sequenceMatchType ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {sequenceExact(0), sequenceDeletion(1),
- sequenceRestrictedDeletion(2), sequencePermutation(3),
- sequencePermutationAndDeletion(4), sequenceProviderDefined(5)}
- SINGLE VALUE TRUE
- ID id-cat-sequenceMatchType
-} -- defaulting to sequenceExact,
-
-wordMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {wordExact(0), wordTruncated(1), wordPhonetic(2),
- wordProviderDefined(3)}
- SINGLE VALUE TRUE
- ID id-cat-wordMatchType
-} -- defaulting to wordExact
-
-characterMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {characterExact(0), characterCaseIgnore(1), characterMapped(2)}
- SINGLE VALUE TRUE
- ID id-cat-characterMatchTypes
-}
-
-selectedContexts ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-cat-selectedContexts
-}
-
-approximateStringMatch MATCHING-RULE ::= {ID id-mr-approximateStringMatch
-}
-
-ignoreIfAbsentMatch MATCHING-RULE ::= {ID id-mr-ignoreIfAbsentMatch
-}
-
-nullMatch MATCHING-RULE ::= {ID id-mr-nullMatch
-}
-
-ZONAL-MATCHING ::=
- MAPPING-BASED-MATCHING{ZonalSelect, TRUE, ZonalResult, zonalMatch.&id}
-
-ZonalSelect ::= SEQUENCE OF AttributeType
-
-ZonalResult ::= ENUMERATED {
- cannot-select-mapping(0), zero-mappings(2), multiple-mappings(3)}
-
-zonalMatch MATCHING-RULE ::= {
- UNIQUE-MATCH-INDICATOR multipleMatchingLocalities.&id
- ID id-mr-zonalMatch
-}
-
--- Contexts
-languageContext CONTEXT ::= {
- WITH SYNTAX LanguageContextSyntax
- ID id-avc-language
-}
-
-LanguageContextSyntax ::= PrintableString(SIZE (2..3)) -- ISO 639-2 codes only
-
-
-temporalContext CONTEXT ::= {
- WITH SYNTAX TimeSpecification
- ASSERTED AS TimeAssertion
- ID id-avc-temporal
-}
-
-TimeSpecification ::= SEQUENCE {
- time
- CHOICE {absolute
- SEQUENCE {startTime [0] GeneralizedTime OPTIONAL,
- endTime [1] GeneralizedTime OPTIONAL},
- periodic SET OF Period},
- notThisTime BOOLEAN DEFAULT FALSE,
- timeZone TimeZone OPTIONAL
-}
-
-Period ::= SEQUENCE {
- timesOfDay [0] SET SIZE (1..MAX) OF DayTimeBand OPTIONAL,
- days
- [1] CHOICE {intDay SET OF INTEGER,
- bitDay
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3),
- thursday(4), friday(5), saturday(6)},
- dayOf XDayOf} OPTIONAL,
- weeks
- [2] CHOICE {allWeeks NULL,
- intWeek SET OF INTEGER,
- bitWeek
- BIT STRING {week1(0), week2(1), week3(2), week4(3), week5(4)}
- } OPTIONAL,
- months
- [3] CHOICE {allMonths NULL,
- intMonth SET OF INTEGER,
- bitMonth
- BIT STRING {january(0), february(1), march(2), april(3),
- may(4), june(5), july(6), august(7),
- september(8), october(9), november(10),
- december(11)}} OPTIONAL,
- years [4] SET OF INTEGER(1000..MAX) OPTIONAL
-}
-
-XDayOf ::= CHOICE {
- first [1] NamedDay,
- second [2] NamedDay,
- third [3] NamedDay,
- fourth [4] NamedDay,
- fifth [5] NamedDay
-}
-
-NamedDay ::= CHOICE {
- intNamedDays
- ENUMERATED {sunday(1), monday(2), tuesday(3), wednesday(4), thursday(5),
- friday(6), saturday(7)},
- bitNamedDays
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4),
- friday(5), saturday(6)}
-}
-
-DayTimeBand ::= SEQUENCE {
- startDayTime [0] DayTime DEFAULT {hour 0},
- endDayTime [1] DayTime DEFAULT {hour 23, minute 59, second 59}
-}
-
-DayTime ::= SEQUENCE {
- hour [0] INTEGER(0..23),
- minute [1] INTEGER(0..59) DEFAULT 0,
- second [2] INTEGER(0..59) DEFAULT 0
-}
-
-TimeZone ::= INTEGER(-12..12)
-
-TimeAssertion ::= CHOICE {
- now NULL,
- at GeneralizedTime,
- between
- SEQUENCE {startTime [0] GeneralizedTime,
- endTime [1] GeneralizedTime OPTIONAL,
- entirely BOOLEAN DEFAULT FALSE}
-}
-
-localeContext CONTEXT ::= {
- WITH SYNTAX LocaleContextSyntax
- ID id-avc-locale
-}
-
-LocaleContextSyntax ::= CHOICE {
- localeID1 OBJECT IDENTIFIER,
- localeID2 DirectoryString{ub-localeContextSyntax}
-}
-
--- Object identifier assignments -
--- object identifiers assigned in other modules are shown in comments
--- Attributes
--- id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
--- id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-id-at-encryptedAliasedEntryName OBJECT IDENTIFIER ::=
- {id-at 1 2}
-
-id-at-knowledgeInformation OBJECT IDENTIFIER ::= {id-at 2}
-
-id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
-
-id-at-encryptedCommonName OBJECT IDENTIFIER ::= {id-at 3 2}
-
-id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
-
-id-at-encryptedSurname OBJECT IDENTIFIER ::= {id-at 4 2}
-
-id-at-serialNumber OBJECT IDENTIFIER ::= {id-at 5}
-
-id-at-encryptedSerialNumber OBJECT IDENTIFIER ::= {id-at 5 2}
-
-id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
-
-id-at-encryptedCountryName OBJECT IDENTIFIER ::= {id-at 6 2}
-
-id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
-
-id-at-encryptedLocalityName OBJECT IDENTIFIER ::= {id-at 7 2}
-
-id-at-collectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1}
-
-id-at-encryptedCollectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1 2}
-
-id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
-
-id-at-encryptedStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 2}
-
-id-at-collectiveStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 1}
-
-id-at-encryptedCollectiveStateOrProvinceName OBJECT IDENTIFIER ::=
- {id-at 8 1 2}
-
-id-at-streetAddress OBJECT IDENTIFIER ::= {id-at 9}
-
-id-at-encryptedStreetAddress OBJECT IDENTIFIER ::= {id-at 9 2}
-
-id-at-collectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1}
-
-id-at-encryptedCollectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1 2}
-
-id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
-
-id-at-encryptedOrganizationName OBJECT IDENTIFIER ::= {id-at 10 2}
-
-id-at-collectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1}
-
-id-at-encryptedCollectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1 2}
-
-id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
-
-id-at-encryptedOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 2}
-
-id-at-collectiveOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 1}
-
-id-at-encryptedCollectiveOrganizationalUnitName OBJECT IDENTIFIER ::=
- {id-at 11 1 2}
-
-id-at-title OBJECT IDENTIFIER ::= {id-at 12}
-
-id-at-encryptedTitle OBJECT IDENTIFIER ::= {id-at 12 2}
-
-id-at-description OBJECT IDENTIFIER ::= {id-at 13}
-
-id-at-encryptedDescription OBJECT IDENTIFIER ::= {id-at 13 2}
-
-id-at-searchGuide OBJECT IDENTIFIER ::= {id-at 14}
-
-id-at-encryptedSearchGuide OBJECT IDENTIFIER ::= {id-at 14 2}
-
-id-at-businessCategory OBJECT IDENTIFIER ::= {id-at 15}
-
-id-at-encryptedBusinessCategory OBJECT IDENTIFIER ::= {id-at 15 2}
-
-id-at-postalAddress OBJECT IDENTIFIER ::= {id-at 16}
-
-id-at-encryptedPostalAddress OBJECT IDENTIFIER ::= {id-at 16 2}
-
-id-at-collectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1}
-
-id-at-encryptedCollectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1 2}
-
-id-at-postalCode OBJECT IDENTIFIER ::= {id-at 17}
-
-id-at-encryptedPostalCode OBJECT IDENTIFIER ::= {id-at 17 2}
-
-id-at-collectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1}
-
-id-at-encryptedCollectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1 2}
-
-id-at-postOfficeBox OBJECT IDENTIFIER ::= {id-at 18}
-
-id-at-encryptedPostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 2}
-
-id-at-collectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1}
-
-id-at-encryptedCollectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1 2}
-
-id-at-physicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19}
-
-id-at-encryptedPhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 2}
-
-id-at-collectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 1}
-
-id-at-encryptedCollectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::=
- {id-at 19 1 2}
-
-id-at-telephoneNumber OBJECT IDENTIFIER ::= {id-at 20}
-
-id-at-encryptedTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 2}
-
-id-at-collectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1}
-
-id-at-encryptedCollectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1 2}
-
-id-at-telexNumber OBJECT IDENTIFIER ::= {id-at 21}
-
-id-at-encryptedTelexNumber OBJECT IDENTIFIER ::= {id-at 21 2}
-
-id-at-collectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1}
-
-id-at-encryptedCollectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1 2}
-
--- id-at-teletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22}
--- id-at-encryptedTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 2}
--- id-at-collectiveTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 1}
--- id-at-encryptedCollectiveTeletexTerminalIdentifier
--- OBJECT IDENTIFIER ::= {id-at 22 1 2}
-id-at-facsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23}
-
-id-at-encryptedFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 2}
-
-id-at-collectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 1}
-
-id-at-encryptedCollectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23 1 2}
-
-id-at-x121Address OBJECT IDENTIFIER ::= {id-at 24}
-
-id-at-encryptedX121Address OBJECT IDENTIFIER ::= {id-at 24 2}
-
-id-at-internationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25}
-
-id-at-encryptedInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 2}
-
-id-at-collectiveInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 1}
-
-id-at-encryptedCollectiveInternationalISDNNumber OBJECT IDENTIFIER ::=
- {id-at 25 1 2}
-
-id-at-registeredAddress OBJECT IDENTIFIER ::= {id-at 26}
-
-id-at-encryptedRegisteredAddress OBJECT IDENTIFIER ::= {id-at 26 2}
-
-id-at-destinationIndicator OBJECT IDENTIFIER ::= {id-at 27}
-
-id-at-encryptedDestinationIndicator OBJECT IDENTIFIER ::= {id-at 27 2}
-
-id-at-preferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28}
-
-id-at-encryptedPreferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28 2}
-
-id-at-presentationAddress OBJECT IDENTIFIER ::= {id-at 29}
-
-id-at-encryptedPresentationAddress OBJECT IDENTIFIER ::= {id-at 29 2}
-
-id-at-supportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30}
-
-id-at-encryptedSupportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30 2}
-
-id-at-member OBJECT IDENTIFIER ::= {id-at 31}
-
-id-at-encryptedMember OBJECT IDENTIFIER ::= {id-at 31 2}
-
-id-at-owner OBJECT IDENTIFIER ::= {id-at 32}
-
-id-at-encryptedOwner OBJECT IDENTIFIER ::= {id-at 32 2}
-
-id-at-roleOccupant OBJECT IDENTIFIER ::= {id-at 33}
-
-id-at-encryptedRoleOccupant OBJECT IDENTIFIER ::= {id-at 33 2}
-
-id-at-seeAlso OBJECT IDENTIFIER ::= {id-at 34}
-
-id-at-encryptedSeeAlso OBJECT IDENTIFIER ::= {id-at 34 2}
-
--- id-at-userPassword OBJECT IDENTIFIER ::= {id-at 35}
-id-at-encryptedUserPassword OBJECT IDENTIFIER ::=
- {id-at 35 2}
-
--- id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
-id-at-encryptedUserCertificate OBJECT IDENTIFIER ::=
- {id-at 36 2}
-
--- id-at-cACertificate OBJECT IDENTIFIER ::= {id-at 37}
-id-at-encryptedCACertificate OBJECT IDENTIFIER ::=
- {id-at 37 2}
-
--- id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
-id-at-encryptedAuthorityRevocationList OBJECT IDENTIFIER ::=
- {id-at 38 2}
-
--- id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
-id-at-encryptedCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 39 2}
-
--- id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
-id-at-encryptedCrossCertificatePair OBJECT IDENTIFIER ::=
- {id-at 40 2}
-
-id-at-name OBJECT IDENTIFIER ::= {id-at 41}
-
-id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
-
-id-at-encryptedGivenName OBJECT IDENTIFIER ::= {id-at 42 2}
-
-id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
-
-id-at-encryptedInitials OBJECT IDENTIFIER ::= {id-at 43 2}
-
-id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
-
-id-at-encryptedGenerationQualifier OBJECT IDENTIFIER ::= {id-at 44 2}
-
-id-at-uniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45}
-
-id-at-encryptedUniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45 2}
-
-id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
-
-id-at-encryptedDnQualifier OBJECT IDENTIFIER ::= {id-at 46 2}
-
-id-at-enhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47}
-
-id-at-encryptedEnhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47 2}
-
-id-at-protocolInformation OBJECT IDENTIFIER ::= {id-at 48}
-
-id-at-encryptedProtocolInformation OBJECT IDENTIFIER ::= {id-at 48 2}
-
-id-at-distinguishedName OBJECT IDENTIFIER ::= {id-at 49}
-
-id-at-encryptedDistinguishedName OBJECT IDENTIFIER ::= {id-at 49 2}
-
-id-at-uniqueMember OBJECT IDENTIFIER ::= {id-at 50}
-
-id-at-encryptedUniqueMember OBJECT IDENTIFIER ::= {id-at 50 2}
-
-id-at-houseIdentifier OBJECT IDENTIFIER ::= {id-at 51}
-
-id-at-encryptedHouseIdentifier OBJECT IDENTIFIER ::= {id-at 51 2}
-
---id-at-supportedAlgorithms OBJECT IDENTIFIER ::= {id-at 52}
-id-at-encryptedSupportedAlgorithms OBJECT IDENTIFIER ::=
- {id-at 52 2}
-
---id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
-id-at-encryptedDeltaRevocationList OBJECT IDENTIFIER ::=
- {id-at 53 2}
-
-id-at-dmdName OBJECT IDENTIFIER ::= {id-at 54}
-
-id-at-encryptedDmdName OBJECT IDENTIFIER ::= {id-at 54 2}
-
--- id-at-clearance OBJECT IDENTIFIER ::= {id-at 55}
-id-at-encryptedClearance OBJECT IDENTIFIER ::=
- {id-at 55 2}
-
--- id-at-defaultDirQop OBJECT IDENTIFIER ::= {id-at 56}
-id-at-encryptedDefaultDirQop OBJECT IDENTIFIER ::=
- {id-at 56 2}
-
--- id-at-attributeIntegrityInfo OBJECT IDENTIFIER ::= {id-at 57}
-id-at-encryptedAttributeIntegrityInfo OBJECT IDENTIFIER ::=
- {id-at 57 2}
-
---id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
-id-at-encryptedAttributeCertificate OBJECT IDENTIFIER ::=
- {id-at 58 2}
-
--- id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
-id-at-encryptedAttributeCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 59 2}
-
--- id-at-confKeyInfo OBJECT IDENTIFIER ::= {id-at 60}
-id-at-encryptedConfKeyInfo OBJECT IDENTIFIER ::=
- {id-at 60 2}
-
--- id-at-family-information OBJECT IDENTIFIER {id-at 64}
-id-at-pseudonym OBJECT IDENTIFIER ::=
- {id-at 65}
-
-id-at-communicationsService OBJECT IDENTIFIER ::= {id-at 66}
-
-id-at-communicationsNetwork OBJECT IDENTIFIER ::= {id-at 67}
-
--- Matching rules
--- id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
--- id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-id-mr-caseIgnoreMatch OBJECT IDENTIFIER ::=
- {id-mr 2}
-
-id-mr-caseIgnoreOrderingMatch OBJECT IDENTIFIER ::= {id-mr 3}
-
-id-mr-caseIgnoreSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 4}
-
-id-mr-caseExactMatch OBJECT IDENTIFIER ::= {id-mr 5}
-
-id-mr-caseExactOrderingMatch OBJECT IDENTIFIER ::= {id-mr 6}
-
-id-mr-caseExactSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 7}
-
-id-mr-numericStringMatch OBJECT IDENTIFIER ::= {id-mr 8}
-
-id-mr-numericStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 9}
-
-id-mr-numericStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 10}
-
-id-mr-caseIgnoreListMatch OBJECT IDENTIFIER ::= {id-mr 11}
-
-id-mr-caseIgnoreListSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 12}
-
-id-mr-booleanMatch OBJECT IDENTIFIER ::= {id-mr 13}
-
-id-mr-integerMatch OBJECT IDENTIFIER ::= {id-mr 14}
-
-id-mr-integerOrderingMatch OBJECT IDENTIFIER ::= {id-mr 15}
-
-id-mr-bitStringMatch OBJECT IDENTIFIER ::= {id-mr 16}
-
-id-mr-octetStringMatch OBJECT IDENTIFIER ::= {id-mr 17}
-
-id-mr-octetStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 18}
-
-id-mr-octetStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 19}
-
-id-mr-telephoneNumberMatch OBJECT IDENTIFIER ::= {id-mr 20}
-
-id-mr-telephoneNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 21}
-
-id-mr-presentationAddressMatch OBJECT IDENTIFIER ::= {id-mr 22}
-
-id-mr-uniqueMemberMatch OBJECT IDENTIFIER ::= {id-mr 23}
-
-id-mr-protocolInformationMatch OBJECT IDENTIFIER ::= {id-mr 24}
-
-id-mr-uTCTimeMatch OBJECT IDENTIFIER ::= {id-mr 25}
-
-id-mr-uTCTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 26}
-
-id-mr-generalizedTimeMatch OBJECT IDENTIFIER ::= {id-mr 27}
-
-id-mr-generalizedTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 28}
-
-id-mr-integerFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 29}
-
-id-mr-objectIdentifierFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 30}
-
-id-mr-directoryStringFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 31}
-
-id-mr-wordMatch OBJECT IDENTIFIER ::= {id-mr 32}
-
-id-mr-keywordMatch OBJECT IDENTIFIER ::= {id-mr 33}
-
--- id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
--- id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
--- id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
--- id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
--- id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
--- id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
--- id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
-id-mr-storedPrefixMatch OBJECT IDENTIFIER ::=
- {id-mr 41}
-
--- id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
--- id-mr-readerAndKeyIDMatch OBJECT IDENTIFIER ::= {id-mr 43}
---id-mr-attributeIntegrityMatch OBJECT IDENTIFIER ::= {id-mr 44}
-id-mr-systemProposedMatch OBJECT IDENTIFIER ::=
- {id-mr 47}
-
-id-mr-generalWordMatch OBJECT IDENTIFIER ::= {id-mr 48}
-
-id-mr-approximateStringMatch OBJECT IDENTIFIER ::= {id-mr 49}
-
-id-mr-ignoreIfAbsentMatch OBJECT IDENTIFIER ::= {id-mr 50}
-
-id-mr-nullMatch OBJECT IDENTIFIER ::= {id-mr 51}
-
-id-mr-zonalMatch OBJECT IDENTIFIER ::= {id-mr 52}
-
-id-mr-facsimileNumberMatch OBJECT IDENTIFIER ::= {id-mr 63}
-
-id-mr-facsimileNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 64}
-
--- contexts
-id-avc-language OBJECT IDENTIFIER ::= {id-avc 0}
-
-id-avc-temporal OBJECT IDENTIFIER ::= {id-avc 1}
-
-id-avc-locale OBJECT IDENTIFIER ::= {id-avc 2}
-
---id-avc-attributeValueSecurityLabelContext OBJECT IDENTIFIER ::= {id-avc 3}
---id-avc-attributeValueIntegrityInfoContext OBJECT IDENTIFIER ::= {id-avc 4}
--- Problem definitions
-id-pr-targetDsaUnavailable OBJECT IDENTIFIER ::=
- {id-pr 1}
-
-id-pr-dataSourceUnavailable OBJECT IDENTIFIER ::= {id-pr 2}
-
-id-pr-unidentifiedOperation OBJECT IDENTIFIER ::= {id-pr 3}
-
-id-pr-unavailableOperation OBJECT IDENTIFIER ::= {id-pr 4}
-
-id-pr-searchAttributeViolation OBJECT IDENTIFIER ::= {id-pr 5}
-
-id-pr-searchAttributeCombinationViolation OBJECT IDENTIFIER ::= {id-pr 6}
-
-id-pr-searchValueNotAllowed OBJECT IDENTIFIER ::= {id-pr 7}
-
-id-pr-missingSearchAttribute OBJECT IDENTIFIER ::= {id-pr 8}
-
-id-pr-searchValueViolation OBJECT IDENTIFIER ::= {id-pr 9}
-
-id-pr-attributeNegationViolation OBJECT IDENTIFIER ::= {id-pr 10}
-
-id-pr-searchValueRequired OBJECT IDENTIFIER ::= {id-pr 11}
-
-id-pr-invalidSearchValue OBJECT IDENTIFIER ::= {id-pr 12}
-
-id-pr-searchContextViolation OBJECT IDENTIFIER ::= {id-pr 13}
-
-id-pr-searchContextCombinationViolation OBJECT IDENTIFIER ::= {id-pr 14}
-
-id-pr-missingSearchContext OBJECT IDENTIFIER ::= {id-pr 15}
-
-id-pr-searchContextValueViolation OBJECT IDENTIFIER ::= {id-pr 16}
-
-id-pr-searchContextValueRequired OBJECT IDENTIFIER ::= {id-pr 17}
-
-id-pr-invalidContextSearchValue OBJECT IDENTIFIER ::= {id-pr 18}
-
-id-pr-unsupportedMatchingRule OBJECT IDENTIFIER ::= {id-pr 19}
-
-id-pr-attributeMatchingViolation OBJECT IDENTIFIER ::= {id-pr 20}
-
-id-pr-unsupportedMatchingUse OBJECT IDENTIFIER ::= {id-pr 21}
-
-id-pr-matchingUseViolation OBJECT IDENTIFIER ::= {id-pr 22}
-
-id-pr-hierarchySelectForbidden OBJECT IDENTIFIER ::= {id-pr 23}
-
-id-pr-invalidHierarchySelect OBJECT IDENTIFIER ::= {id-pr 24}
-
-id-pr-unavailableHierarchySelect OBJECT IDENTIFIER ::= {id-pr 25}
-
-id-pr-invalidSearchOptions OBJECT IDENTIFIER ::= {id-pr 26}
-
-id-pr-missingSearchOptions OBJECT IDENTIFIER ::= {id-pr 27}
-
-id-pr-invalidServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 28}
-
-id-pr-missingServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 29}
-
-id-pr-searchSubsetViolation OBJECT IDENTIFIER ::= {id-pr 30}
-
-id-pr-unmatchedKeyAttributes OBJECT IDENTIFIER ::= {id-pr 31}
-
-id-pr-ambiguousKeyAttributes OBJECT IDENTIFIER ::= {id-pr 32}
-
--- Notification attributes
-id-not-dSAProblem OBJECT IDENTIFIER ::= {id-not 0}
-
-id-not-searchServiceProblem OBJECT IDENTIFIER ::= {id-not 1}
-
-id-not-serviceType OBJECT IDENTIFIER ::= {id-not 2}
-
-id-not-attributeTypeList OBJECT IDENTIFIER ::= {id-not 3}
-
-id-not-matchingRuleList OBJECT IDENTIFIER ::= {id-not 4}
-
-id-not-filterItem OBJECT IDENTIFIER ::= {id-not 5}
-
-id-not-attributeCombinations OBJECT IDENTIFIER ::= {id-not 6}
-
-id-not-contextTypeList OBJECT IDENTIFIER ::= {id-not 7}
-
-id-not-contextList OBJECT IDENTIFIER ::= {id-not 8}
-
-id-not-contextCombinations OBJECT IDENTIFIER ::= {id-not 9}
-
-id-not-hierarchySelectList OBJECT IDENTIFIER ::= {id-not 10}
-
-id-not-searchOptionsList OBJECT IDENTIFIER ::= {id-not 11}
-
-id-not-serviceControlOptionsList OBJECT IDENTIFIER ::= {id-not 12}
-
-id-not-multipleMatchingLocalities OBJECT IDENTIFIER ::= {id-not 13}
-
-id-not-proposedRelaxation OBJECT IDENTIFIER ::= {id-not 14}
-
-id-not-appliedRelaxation OBJECT IDENTIFIER ::= {id-not 15}
-
-id-not-substringRequirements OBJECT IDENTIFIER ::= {id-not 16}
-
--- Control attributes
-id-cat-sequenceMatchType OBJECT IDENTIFIER ::=
- {id-cat 1}
-
-id-cat-wordMatchType OBJECT IDENTIFIER ::= {id-cat 2}
-
-id-cat-characterMatchTypes OBJECT IDENTIFIER ::= {id-cat 3}
-
-id-cat-selectedContexts OBJECT IDENTIFIER ::= {id-cat 4}
-
-END -- SelectedAttributeTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SelectionType.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/SelectionType.asn
deleted file mode 100644
index d7bfbf1788..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SelectionType.asn
+++ /dev/null
@@ -1,59 +0,0 @@
-SelectionType DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Element ::= CHOICE {bool BOOLEAN,
- atomic-no INTEGER(1..103),
- bs BIT STRING,
- os OCTET STRING,
- null NULL,
- oi OBJECT IDENTIFIER,
- od ObjectDescriptor,
- ext EXTERNAL,
- ePDV EMBEDDED PDV,
- utf UTF8String,
- ro RELATIVE-OID,
- nums NumericString,
- symbol PrintableString,
- telet TeletexString,
- t61 T61String,
- video VideotexString,
- ia5 IA5String,
- utctime UTCTime,
- generalizedTime GeneralizedTime,
- gs GraphicString,
- vs VisibleString,
--- iso64 ISO646String,
- generalString GeneralString,
- univ UniversalString,
- cs CHARACTER STRING,
- bmp BMPString}
-
-MendeleyevTable ::= SEQUENCE OF symbol < Element
-BoolType ::= bool < Element
-
-einsteinium symbol < Element ::= "Es"
-boolv bool < Element ::= TRUE
-intv atomic-no < Element ::= 4
-bsv bs < Element ::= '1001'B
-osv os < Element ::= '313'H
-nullv null < Element ::= NULL
-oiv oi < Element ::= {2 1 1}
-odv od < Element ::= "ObjectDesc"
-utfv utf < Element ::= "utf8"
-rov ro < Element ::= {5 32767 256}
-numsv nums < Element ::= "089"
-teletv telet < Element ::= "telet"
-t61v t61 < Element ::= "t61"
-videov video < Element ::= "video"
-ia5v ia5 < Element ::= "ia5"
-utctimev utctime < Element ::= "9805281429Z"
-gTime generalizedTime < Element ::= "19980528142905.1"
-gsv gs < Element ::= "graphic"
-vsv vs < Element ::= "visible"
---iso64v iso64 < Element ::= "iso"
-gStringv generalString < Element ::= "general"
-univv univ < Element ::= "Universal"
-bmov bmp < Element ::= "bmp"
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Seq.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Seq.py
deleted file mode 100644
index f345373ab5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Seq.py
+++ /dev/null
@@ -1,152 +0,0 @@
-Seq DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS Set1 FROM SeqSetLib;
-
-Seq ::= SEQUENCE
-{
- bool BOOLEAN,
- boolCon [20] BOOLEAN,
- boolPri [PRIVATE 21] BOOLEAN,
- boolApp [APPLICATION 22] BOOLEAN,
- boolExpCon [30] EXPLICIT BOOLEAN,
- boolExpPri [PRIVATE 31] EXPLICIT BOOLEAN,
- boolExpApp [APPLICATION 32] EXPLICIT BOOLEAN
-}
-
-Seq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SeqIn
-}
-
-Seq2 ::= SEQUENCE
-{
- seq2 SeqIn,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Seq3 ::= SEQUENCE
-{
- bool3 BOOLEAN,
- seq3 SeqIn,
- int3 INTEGER
-}
-
-Seq4 ::= SEQUENCE
-{
- seq41 SeqIn,
- seq42 SeqIn,
- seq43 SeqIn
-}
-SeqDef1 ::= SET
-{
- bool1 BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- seq1 SeqIn DEFAULT {}
-}
-
-SeqDef2 ::= SET
-{
- seq2 SeqIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SeqDef3 ::= SET
-{
- bool3 BOOLEAN DEFAULT TRUE,
- seq3 SeqIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-SeqOpt1 ::= SET
-{
- bool1 BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 SeqIn OPTIONAL
-}
-
-SeqOpt2 ::= SET
-{
- seq2 SeqIn OPTIONAL,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt3 ::= SET
-{
- bool3 BOOLEAN OPTIONAL,
- seq3 SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN OPTIONAL,
- intIn INTEGER DEFAULT 12
-}
-
-
-SeqS1 ::= SEQUENCE
-{
- boolS1 BOOLEAN,
- intS1 INTEGER,
- seqS1 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER }
-}
-
-SeqS2 ::= SEQUENCE
-{
- seqS2 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER },
- boolS2 BOOLEAN,
- intS2 INTEGER
-
-}
-
-SeqS3 ::= SEQUENCE
-{
- boolS3 BOOLEAN,
- seqS3 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-
-SeqImp1 ::= SET
-{
- set Set1,
- bool BOOLEAN,
- int INTEGER
-}
-
-
-SeqImp2 ::= SET
-{
- bool BOOLEAN,
- set Set1,
- int INTEGER
-}
-
-
-SeqImp3 ::= SET
-{
- bool BOOLEAN,
- int INTEGER,
- set Set1
-}
-
-
-
-END
-
-
-
-
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Seq2738.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/Seq2738.asn1
deleted file mode 100644
index c852adc57e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Seq2738.asn1
+++ /dev/null
@@ -1,37 +0,0 @@
-Seq2738 DEFINITIONS IMPLICIT TAGS ::=
-
--- Tests that a missing mandatory component of an optional
--- component is detected as an error and not just as if the optional
--- component was missing
-
-BEGIN
-
--- We create a value of type SeqWithOptFake , encode it and then
--- try to decode it as a value of type SeqWithOpt.
--- The decoder should detect this as an error, because the
--- mandatory first component of type INTEGER in OptSeq is missing
-
-SeqOpt ::= SEQUENCE
-{
- int INTEGER,
- opt OptSeq OPTIONAL
-}
-
-SeqOptFake ::= SEQUENCE
-{
- int INTEGER,
- opt OptSeqFake OPTIONAL
-}
-
-OptSeq ::= SEQUENCE
-{
- int INTEGER
-}
-
-OptSeqFake ::= SEQUENCE
-{
- bool BOOLEAN
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqBadComma.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqBadComma.asn
deleted file mode 100644
index 64729beccd..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqBadComma.asn
+++ /dev/null
@@ -1,10 +0,0 @@
-SeqBadComma DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Seq ::= SEQUENCE {
- a INTEGER,
- n BOOLEAN,
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqDefault.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqDefault.asn1
deleted file mode 100644
index 99e79da972..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqDefault.asn1
+++ /dev/null
@@ -1,77 +0,0 @@
-SeqDefault DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SeqDef1 ::= SEQUENCE
-{
- bool1 BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- seq1 SeqIn DEFAULT {}
-}
-
-SeqDef1Imp ::= SEQUENCE
-{
- bool1 [1] BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- seq1 [2] SeqIn DEFAULT {}
-}
-
-SeqDef1Exp ::= SEQUENCE
-{
- bool1 [1] EXPLICIT BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- seq1 [2] EXPLICIT SeqIn DEFAULT {}
-}
-
-SeqDef2 ::= SEQUENCE
-{
- seq2 SeqIn DEFAULT {},
- bool2 BOOLEAN DEFAULT TRUE,
- int2 INTEGER
-}
-
-SeqDef2Imp ::= SEQUENCE
-{
- seq2 [1] SeqIn DEFAULT {},
- bool2 [2] BOOLEAN DEFAULT TRUE,
- int2 INTEGER
-}
-
-SeqDef2Exp ::= SEQUENCE
-{
- seq2 [1] EXPLICIT SeqIn DEFAULT {},
- bool2 [2] EXPLICIT BOOLEAN,
- int2 INTEGER
-}
-
-SeqDef3 ::= SEQUENCE
-{
- bool3 BOOLEAN DEFAULT TRUE,
- seq3 SeqIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-SeqDef3Imp ::= SEQUENCE
-{
- bool3 [1] BOOLEAN DEFAULT TRUE,
- seq3 [2] SeqIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-SeqDef3Exp ::= SEQUENCE
-{
- bool3 [1] EXPLICIT BOOLEAN DEFAULT TRUE,
- seq3 [2] EXPLICIT SeqIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN OPTIONAL,
- intIn INTEGER DEFAULT 12
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqExtension.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqExtension.asn1
deleted file mode 100644
index bb0a7cca3a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqExtension.asn1
+++ /dev/null
@@ -1,37 +0,0 @@
-SeqExtension DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeqExt1, XSeqExt2 FROM External;
-
-
-SeqExt1 ::= SEQUENCE
-{
- ...
-}
-
-SeqExt2 ::= SEQUENCE
-{
- bool BOOLEAN,
- int INTEGER,
- ...
-}
-
-SeqExt3 ::= SEQUENCE
-{
- ...,
- bool BOOLEAN,
- int INTEGER
-}
-
-SeqExt4 ::= SEQUENCE
-{
- bool BOOLEAN,
- ...,
- int INTEGER
-}
-
-SeqExt1X ::= XSeqExt1
-SeqExt2X ::= XSeqExt2
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqExternal.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqExternal.asn1
deleted file mode 100644
index 9d575c1d6b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqExternal.asn1
+++ /dev/null
@@ -1,68 +0,0 @@
-SeqExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSet1, XSeqNT, XSeqImp, XSeqExp FROM External;
-
-
-
-SeqXSet1 ::= SEQUENCE
-{
- set XSet1,
- bool BOOLEAN,
- int INTEGER
-}
-
-
-SeqXSet2 ::= SEQUENCE
-{
- bool BOOLEAN,
- set XSet1,
- int INTEGER
-}
-
-
-SeqXSet3 ::= SEQUENCE
-{
- bool BOOLEAN,
- int INTEGER,
- set XSet1
-}
-
-
-
-NT ::= SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [1] SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [2] EXPLICIT SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-
-NTNT ::= NT
-ImpNT ::= [3] NT
-ExpNT ::= [4] EXPLICIT NT
-
-NTImp ::= Imp
-ImpImp ::= [5] Imp
-ExpImp ::= [6] EXPLICIT Imp
-
-NTExp ::= Exp
-ImpExp ::= [7] Exp
-ExpExp ::= [8] EXPLICIT Exp
-
-XNTNT ::= XSeqNT
-XImpNT ::= [3] XSeqNT
-XExpNT ::= [4] EXPLICIT XSeqNT
-
-XNTImp ::= XSeqImp
-XImpImp ::= [5] XSeqImp
-XExpImp ::= [6] EXPLICIT XSeqImp
-
-XNTExp ::= XSeqExp
-XImpExp ::= [7] XSeqExp
-XExpExp ::= [8] EXPLICIT XSeqExp
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOf.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOf.asn1
deleted file mode 100644
index 330944cf5c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOf.asn1
+++ /dev/null
@@ -1,65 +0,0 @@
-SeqOf DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Seq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF SeqIn DEFAULT {}
-}
-
-Seq2 ::= SEQUENCE
-{
- seq2 SEQUENCE OF SeqIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Seq3 ::= SEQUENCE
-{
- bool3 BOOLEAN,
- seq3 SEQUENCE OF SeqIn DEFAULT {},
- int3 INTEGER
-}
-
-Seq4 ::= SEQUENCE
-{
- seq41 [41] SEQUENCE OF SeqIn DEFAULT {},
- seq42 [42] SEQUENCE OF SeqIn DEFAULT {},
- seq43 [43] SEQUENCE OF SeqIn DEFAULT {}
-}
-
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-SeqOs ::= SEQUENCE OF OCTET STRING
-SeqOsImp ::= [23] SEQUENCE OF OCTET STRING
-SeqOsExp ::= [24] EXPLICIT SEQUENCE OF OCTET STRING
-
-SeqCho ::= SEQUENCE OF CHOICE {bool BOOLEAN,
- int INTEGER,
- last NULL}
-
-SeqOfInt ::= SEQUENCE OF INTEGER
-
-
-
-
-SeqEmp ::= SEQUENCE
-{
- seq1 SEQUENCE OF Empty DEFAULT {}
-}
-
-Empty ::= SEQUENCE
-{
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOf.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOf.py
deleted file mode 100644
index c941418934..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOf.py
+++ /dev/null
@@ -1,45 +0,0 @@
-SeqOf DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Seq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF SeqIn DEFAULT {}
-}
-
-Seq2 ::= SEQUENCE
-{
- seq2 SEQUENCE OF SeqIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Seq3 ::= SEQUENCE
-{
- bool3 BOOLEAN,
- seq3 SEQUENCE OF SeqIn DEFAULT {},
- int3 INTEGER
-}
-
-Seq4 ::= SEQUENCE
-{
- seq41 [41] SEQUENCE OF SeqIn DEFAULT {},
- seq42 [42] SEQUENCE OF SeqIn DEFAULT {},
- seq43 [43] SEQUENCE OF SeqIn DEFAULT {}
-}
-
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfCho.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfCho.asn1
deleted file mode 100644
index 8d3d006ed9..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfCho.asn1
+++ /dev/null
@@ -1,73 +0,0 @@
-SeqOfCho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SeqChoDef ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF ChoIn DEFAULT {}
-}
-
-SeqChoOpt ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF ChoIn OPTIONAL
-}
-
-SeqChoEmbDef ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } DEFAULT {}
-}
-
-SeqChoEmbOpt ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } OPTIONAL
-}
-
-SeqOfChoEmbDef ::= SEQUENCE OF SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } DEFAULT {}
-}
-
-
-SeqOfChoEmbOpt ::= SEQUENCE OF SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SEQUENCE OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } OPTIONAL
-}
-
-
-ChoIn ::= CHOICE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfEnum.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfEnum.asn1
deleted file mode 100644
index b8ca9c4654..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfEnum.asn1
+++ /dev/null
@@ -1,11 +0,0 @@
-SeqOfEnum DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Enum ::= ENUMERATED {a (0),
- b (1),
- c (2)}
-
-SeqOfEnum ::= SEQUENCE OF Enum
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfExternal.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfExternal.asn1
deleted file mode 100644
index 607e81540f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfExternal.asn1
+++ /dev/null
@@ -1,42 +0,0 @@
-SeqOfExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeqNT, XSeqImp, XSeqExp FROM External;
-
-
-NT ::= SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [21] SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [22] EXPLICIT SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-
-NTNT ::= SEQUENCE OF NT
-ImpNT ::= [3] SEQUENCE OF NT
-ExpNT ::= [4] EXPLICIT SEQUENCE OF NT
-
-NTImp ::= SEQUENCE OF Imp
-ImpImp ::= [5] SEQUENCE OF Imp
-ExpImp ::= [6] EXPLICIT SEQUENCE OF Imp
-
-NTExp ::= SEQUENCE OF Exp
-ImpExp ::= [7] SEQUENCE OF Exp
-ExpExp ::= [8] EXPLICIT SEQUENCE OF Exp
-
-XNTNT ::= SEQUENCE OF XSeqNT
-XImpNT ::= [3] SEQUENCE OF XSeqNT
-XExpNT ::= [4] EXPLICIT SEQUENCE OF XSeqNT
-
-XNTImp ::= SEQUENCE OF XSeqImp
-XImpImp ::= [5] SEQUENCE OF XSeqImp
-XExpImp ::= [6] EXPLICIT SEQUENCE OF XSeqImp
-
-XNTExp ::= SEQUENCE OF XSeqExp
-XImpExp ::= [7] SEQUENCE OF XSeqExp
-XExpExp ::= [8] EXPLICIT SEQUENCE OF XSeqExp
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfTag.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfTag.asn1
deleted file mode 100644
index 74b820a28d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOfTag.asn1
+++ /dev/null
@@ -1,65 +0,0 @@
-SeqOfTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeqNT, XSeqImp, XSeqExp FROM External;
-
-SeqTagNt ::= [APPLICATION 20] SEQUENCE {
- nt SEQUENCE OF NT}
-
-SeqTagNtI ::= [APPLICATION 20] SEQUENCE {
- imp SEQUENCE OF Imp}
-
-SeqTagNtE ::= [APPLICATION 20] SEQUENCE {
- exp SEQUENCE OF Exp }
-
-SeqTagI ::= [APPLICATION 21] SEQUENCE {
- nt [0] SEQUENCE OF NT}
-
-SeqTagII ::= [APPLICATION 21] SEQUENCE {
- imp [1] SEQUENCE OF Imp}
-
-SeqTagIE ::= [APPLICATION 21] SEQUENCE {
- exp [2] SEQUENCE OF Exp}
-
-SeqTagE ::= [APPLICATION 22] SEQUENCE {
- nt [0] EXPLICIT SEQUENCE OF NT}
-
-SeqTagEI ::= [APPLICATION 22] SEQUENCE {
- imp [1] EXPLICIT SEQUENCE OF Imp}
-
-SeqTagEE ::= [APPLICATION 22] SEQUENCE {
- exp [2] EXPLICIT SEQUENCE OF Exp}
-
-SeqTagXNt ::= [APPLICATION 30] SEQUENCE {
- xnt SEQUENCE OF XSeqNT}
-
-SeqTagXI ::= [APPLICATION 30] SEQUENCE {
- ximp SEQUENCE OF XSeqImp}
-
-SeqTagXE ::= [APPLICATION 30] SEQUENCE {
- xexp SEQUENCE OF XSeqExp }
-
-SeqTagImpX ::= [APPLICATION 31] SEQUENCE {
- xnt [3] SEQUENCE OF XSeqNT,
- ximp [4] SEQUENCE OF XSeqImp,
- xexp [5] SEQUENCE OF XSeqExp }
-
-SeqTagExpX ::= [APPLICATION 32] SEQUENCE {
- xnt [3] EXPLICIT SEQUENCE OF XSeqNT,
- ximp [4] EXPLICIT SEQUENCE OF XSeqImp,
- xexp [5] EXPLICIT SEQUENCE OF XSeqExp }
-
-
-
-NT ::= SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [21] SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [22] EXPLICIT SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOptional.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOptional.asn1
deleted file mode 100644
index a8fef52dda..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOptional.asn1
+++ /dev/null
@@ -1,86 +0,0 @@
-SeqOptional DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SeqOpt1 ::= SEQUENCE
-{
- bool1 BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 SeqIn OPTIONAL
-}
-
-SeqOpt1Imp ::= SEQUENCE
-{
- bool1 [1] BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 [2] SeqIn OPTIONAL
-}
-
-SeqOpt1Exp ::= SEQUENCE
-{
- bool1 [1] EXPLICIT BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 [2] EXPLICIT SeqIn OPTIONAL
-}
-
-SeqOpt2 ::= SEQUENCE
-{
- seq2 SeqIn OPTIONAL,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt2Imp ::= SEQUENCE
-{
- seq2 [1] SeqIn OPTIONAL,
- bool2 [2] BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt2Exp ::= SEQUENCE
-{
- seq2 [1] EXPLICIT SeqIn OPTIONAL,
- bool2 [2] EXPLICIT BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt3 ::= SEQUENCE
-{
- bool3 BOOLEAN OPTIONAL,
- seq3 SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SeqOpt3Imp ::= SEQUENCE
-{
- bool3 [1] BOOLEAN OPTIONAL,
- seq3 [2] SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SeqOpt3Exp ::= SEQUENCE
-{
- bool3 [1] EXPLICIT BOOLEAN OPTIONAL,
- seq3 [2] EXPLICIT SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-
-SeqChoOpt ::= SEQUENCE
-{
- int INTEGER,
- cho CHOICE {
- boolC BOOLEAN,
- intC INTEGER
- } OPTIONAL
-}
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOptional2.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOptional2.asn
deleted file mode 100644
index 7de9134096..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqOptional2.asn
+++ /dev/null
@@ -1,90 +0,0 @@
-SeqOptional2 DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SeqOpt1 ::= SEQUENCE
-{
- bool1 BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 SeqIn OPTIONAL
-}
-
-SeqOpt1Imp ::= SEQUENCE
-{
- bool1 [1] BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 [2] SeqIn OPTIONAL,
- seq2 [2] SeqIn OPTIONAL,
- ...,
- int2 [3] SeqIn,
- int3 [3] SeqIn
-}
-
-SeqOpt1Exp ::= SEQUENCE
-{
- bool1 [1] EXPLICIT BOOLEAN OPTIONAL,
- int1 INTEGER,
- seq1 [2] EXPLICIT SeqIn OPTIONAL
-}
-
-SeqOpt2 ::= SEQUENCE
-{
- seq2 SeqIn OPTIONAL,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt2Imp ::= SEQUENCE
-{
- seq2 [1] SeqIn OPTIONAL,
- bool2 [2] BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt2Exp ::= SEQUENCE
-{
- seq2 [1] EXPLICIT SeqIn OPTIONAL,
- bool2 [2] EXPLICIT BOOLEAN,
- int2 INTEGER
-}
-
-SeqOpt3 ::= SEQUENCE
-{
- bool3 BOOLEAN OPTIONAL,
- seq3 SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SeqOpt3Imp ::= SEQUENCE
-{
- bool3 [1] BOOLEAN OPTIONAL,
- seq3 [2] SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SeqOpt3Exp ::= SEQUENCE
-{
- bool3 [1] EXPLICIT BOOLEAN OPTIONAL,
- seq3 [2] EXPLICIT SeqIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-
-SeqChoOpt ::= SEQUENCE
-{
- int INTEGER,
- cho CHOICE {
- boolC BOOLEAN,
- intC INTEGER
- } OPTIONAL
-}
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqPrim.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqPrim.asn1
deleted file mode 100644
index 20c4126c0b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqPrim.asn1
+++ /dev/null
@@ -1,19 +0,0 @@
-SeqPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Seq ::= SEQUENCE
-{
- bool BOOLEAN,
- boolCon [20] BOOLEAN,
- boolPri [PRIVATE 21] BOOLEAN,
- boolApp [APPLICATION 22] BOOLEAN,
- boolExpCon [30] EXPLICIT BOOLEAN,
- boolExpPri [PRIVATE 31] EXPLICIT BOOLEAN,
- boolExpApp [APPLICATION 32] EXPLICIT BOOLEAN
-}
-
-Empty ::= SEQUENCE {}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqSetIndefinite.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqSetIndefinite.asn
deleted file mode 100644
index b56b8cdc17..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqSetIndefinite.asn
+++ /dev/null
@@ -1,41 +0,0 @@
-SeqSetIndefinite DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-SetS3 ::= SET
-{
- boolS3 BOOLEAN,
- setS3 SET { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-SetS3Ext ::= SET
-{
- boolS3 BOOLEAN,
- setS3 SET { boolIn BOOLEAN,
- intIn INTEGER,... },
- intS3 INTEGER
-}
-
-
-SeqS3 ::= SEQUENCE
-{
- boolS3 BOOLEAN,
- seqS3 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-SeqS3Ext ::= SEQUENCE
-{
- boolS3 BOOLEAN,
- seqS3 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER,... },
- intS3 INTEGER
-
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqSetLib.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqSetLib.py
deleted file mode 100644
index f7d15ae3b4..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqSetLib.py
+++ /dev/null
@@ -1,32 +0,0 @@
-SeqSetLib DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-EXPORTS Seq1,Set1;
-
-Seq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SeqIn
-}
-
-Set1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SetIn
-}
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTag.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTag.asn1
deleted file mode 100644
index 950f88d663..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTag.asn1
+++ /dev/null
@@ -1,48 +0,0 @@
-SeqTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSet1, XSeqNT, XSeqImp, XSeqExp FROM External;
-
-SeqTag ::= [APPLICATION 20] SEQUENCE {
- nt NT,
- imp Imp,
- exp Exp }
-
-SeqTagImp ::= [APPLICATION 21] SEQUENCE {
- nt [0] NT,
- imp [1] Imp,
- exp [2] Exp}
-
-SeqTagExp ::= [APPLICATION 22] SEQUENCE {
- nt [0] EXPLICIT NT,
- imp [1] EXPLICIT Imp,
- exp [2] EXPLICIT Exp}
-
-SeqTagX ::= [APPLICATION 30] SEQUENCE {
- xnt XSeqNT,
- ximp XSeqImp,
- xexp XSeqExp }
-
-SeqTagImpX ::= [APPLICATION 31] SEQUENCE {
- xnt [3] XSeqNT,
- ximp [4] XSeqImp,
- xexp [5] XSeqExp }
-
-SeqTagExpX ::= [APPLICATION 32] SEQUENCE {
- xnt [3] EXPLICIT XSeqNT,
- ximp [4] EXPLICIT XSeqImp,
- xexp [5] EXPLICIT XSeqExp }
-
-
-NT ::= SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [1] SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [2] EXPLICIT SEQUENCE {
- os OCTET STRING,
- bool BOOLEAN}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefCho.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefCho.asn1
deleted file mode 100644
index 5c662fbd95..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefCho.asn1
+++ /dev/null
@@ -1,28 +0,0 @@
-SeqTypeRefCho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SeqTRcho ::= SEQUENCE
-{
- seqCho SeqCho,
- seqChoE [135] EXPLICIT SeqCho,
-
- seqCho-E SeqChoExp,
- seqChoE-E [335] EXPLICIT SeqChoExp
-
-}
-
-SeqCho ::= CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-SeqChoExp ::= [65] EXPLICIT CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefPrim.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefPrim.asn1
deleted file mode 100644
index 93f03fad2b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefPrim.asn1
+++ /dev/null
@@ -1,48 +0,0 @@
-SeqTypeRefPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SeqTR ::= SEQUENCE
-{
- octStr OctStr,
- octStrI [114] OctStr,
- octStrE [115] EXPLICIT OctStr,
-
- octStr-I OctStrImp,
- octStrI-I [214] OctStrImp,
- octStrE-I [215] EXPLICIT OctStrImp,
-
- octStr-E OctStrExp,
- octStrI-E [314] OctStrExp,
- octStrE-E [315] EXPLICIT OctStrExp
-
-}
-
-OctStr ::= OCTET STRING
-OctStrImp ::= [14] OCTET STRING
-OctStrExp ::= [15] EXPLICIT OCTET STRING
-
--- Types to test {Type,Value} notation, see OTP-4057
-
-Int ::= INTEGER
-Bool ::= BOOLEAN
-Enum ::= ENUMERATED {a(0),b(1),c(2)}
-BitStr ::= BIT STRING
-Null ::= NULL
-OId ::= OBJECT IDENTIFIER
-VStr ::= VisibleString
-
-Seq ::= SEQUENCE {
- octstr OctStr,
- int Int,
- bool Bool,
- enum Enum,
- bitstr BitStr,
- null Null,
- oid OId,
- vstr VStr
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefSeq.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefSeq.asn1
deleted file mode 100644
index 0e528ac710..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefSeq.asn1
+++ /dev/null
@@ -1,113 +0,0 @@
-SeqTypeRefSeq DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Seq1 ::= SEQUENCE
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- seq1 SeqIn
-}
-
-Seq2 ::= SEQUENCE
-{
- seq2 SeqIn,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Seq3 ::= SEQUENCE
-{
- bool3 BOOLEAN,
- seq3 SeqIn,
- int3 INTEGER
-}
-
-Seq4 ::= SEQUENCE
-{
- seq41 SeqIn,
- seq42 SeqIn,
- seq43 SeqIn
-}
-
-
-SeqIn ::= SEQUENCE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-SeqS1 ::= SEQUENCE
-{
- boolS1 BOOLEAN,
- intS1 INTEGER,
- seqS1 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER }
-}
-
-SeqS2 ::= SEQUENCE
-{
- seqS2 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER },
- boolS2 BOOLEAN,
- intS2 INTEGER
-
-}
-
-SeqS3 ::= SEQUENCE
-{
- boolS3 BOOLEAN,
- seqS3 SEQUENCE { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-
-SeqSTag ::= SEQUENCE
-{
- seqS1 SEQUENCE { b1 BOOLEAN,
- i1 INTEGER },
- seqS2 [7] SEQUENCE { b2 BOOLEAN,
- i2 INTEGER },
- seqS3 [8] EXPLICIT SEQUENCE { b3 BOOLEAN,
- i3 INTEGER }
-}
-
-
-
-SeqTRseq ::= SEQUENCE
-{
- seqSeq SeqSeq,
- seqSeqI [134] SeqSeq,
- seqSeqE [135] EXPLICIT SeqSeq,
-
- seqSeq-I SeqSeqImp,
- seqSeqI-I [234] SeqSeqImp,
- seqSeqE-I [235] EXPLICIT SeqSeqImp,
-
- seqSeq-E SeqSeqExp,
- seqSeqI-E [334] SeqSeqExp,
- seqSeqE-E [335] EXPLICIT SeqSeqExp
-
-}
-
-SeqSeq ::= SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-SeqSeqImp ::= [64] SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-SeqSeqExp ::= [65] EXPLICIT SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefSet.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefSet.asn1
deleted file mode 100644
index 45dc05a0c3..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SeqTypeRefSet.asn1
+++ /dev/null
@@ -1,39 +0,0 @@
-SeqTypeRefSet DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SeqTRset ::= SEQUENCE
-{
- seqSet SeqSet,
- seqSetI [124] SeqSet,
- seqSetE [125] EXPLICIT SeqSet,
-
- seqSet-I SeqSetImp,
- seqSetI-I [224] SeqSetImp,
- seqSetE-I [225] EXPLICIT SeqSetImp,
-
- seqSet-E SeqSetExp,
- seqSetI-E [324] SeqSetExp,
- seqSetE-E [325] EXPLICIT SeqSetExp
-
-}
-
-SeqSet ::= SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-SeqSetImp ::= [54] SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-SeqSetExp ::= [55] EXPLICIT SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComma.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComma.asn
deleted file mode 100644
index 436815aa9b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComma.asn
+++ /dev/null
@@ -1,10 +0,0 @@
-SequenceBadComma DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS Person;
-
-Person ::= [PRIVATE 19] SEQUENCE {,
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL
- }
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComponentName.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComponentName.asn1
deleted file mode 100644
index 8b2b8816db..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComponentName.asn1
+++ /dev/null
@@ -1,10 +0,0 @@
-SequenceBadComponentName DEFINITIONS ::=
-BEGIN
-
-T ::= Typ
-
-Typ ::= SEQUENCE {
- a INTEGER,
- C Typ}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComponentType.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComponentType.asn1
deleted file mode 100644
index 0c33f48906..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SequenceBadComponentType.asn1
+++ /dev/null
@@ -1,10 +0,0 @@
-SequenceBadComponentType DEFINITIONS ::=
-BEGIN
-
-T ::= Typ
-
-Typ ::= SEQUENCE {
- a b,
- c T}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Set.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Set.py
deleted file mode 100644
index 4062f6b804..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Set.py
+++ /dev/null
@@ -1,141 +0,0 @@
-Set DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS Seq1 FROM SeqSetLib;
-
-Set ::= SET
-{
- bool BOOLEAN,
- boolCon [20] BOOLEAN,
- boolPri [PRIVATE 21] BOOLEAN,
- boolApp [APPLICATION 22] BOOLEAN,
- boolExpCon [30] EXPLICIT BOOLEAN,
- boolExpPri [PRIVATE 31] EXPLICIT BOOLEAN,
- boolExpApp [APPLICATION 32] EXPLICIT BOOLEAN
-}
-
-Set1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SetIn
-}
-
-Set2 ::= SET
-{
- set2 SetIn,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Set3 ::= SET
-{
- bool3 BOOLEAN,
- set3 SetIn,
- int3 INTEGER
-}
-
-SetDef1 ::= SET
-{
- bool1 BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- set1 SetIn DEFAULT {}
-}
-
-SetDef2 ::= SET
-{
- set2 SetIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SetDef3 ::= SET
-{
- bool3 BOOLEAN DEFAULT TRUE,
- set3 SetIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-SetOpt1 ::= SET
-{
- bool1 BOOLEAN OPTIONAL,
- int1 INTEGER,
- set1 SetIn OPTIONAL
-}
-
-SetOpt2 ::= SET
-{
- set2 SetIn OPTIONAL,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SetOpt3 ::= SET
-{
- bool3 BOOLEAN OPTIONAL,
- set3 SetIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-SetS1 ::= SET
-{
- boolS1 BOOLEAN,
- intS1 INTEGER,
- setS1 SET { boolIn BOOLEAN,
- intIn INTEGER }
-}
-
-SetS2 ::= SET
-{
- setS2 SET { boolIn BOOLEAN,
- intIn INTEGER },
- boolS2 BOOLEAN,
- intS2 INTEGER
-
-}
-
-SetS3 ::= SET
-{
- boolS3 BOOLEAN,
- setS3 SET { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-
-SetImp1 ::= SET
-{
- seq Seq1,
- bool BOOLEAN,
- int INTEGER
-}
-
-
-SetImp2 ::= SET
-{
- bool BOOLEAN,
- seq Seq1,
- int INTEGER
-}
-
-
-SetImp3 ::= SET
-{
- bool BOOLEAN,
- int INTEGER,
- seq Seq1
-}
-
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetDefault.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetDefault.asn1
deleted file mode 100644
index cb9e0ead62..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetDefault.asn1
+++ /dev/null
@@ -1,33 +0,0 @@
-SetDefault DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SetDef1 ::= SET
-{
- bool1 BOOLEAN DEFAULT TRUE,
- int1 INTEGER,
- set1 SetIn DEFAULT {}
-}
-
-SetDef2 ::= SET
-{
- set2 SetIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SetDef3 ::= SET
-{
- bool3 BOOLEAN DEFAULT TRUE,
- set3 SetIn DEFAULT {},
- int3 INTEGER DEFAULT 17
-}
-
-SetIn ::= SET
-{
- boolIn BOOLEAN OPTIONAL,
- intIn INTEGER DEFAULT 12
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetExtension.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetExtension.asn1
deleted file mode 100644
index 53091d3eea..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetExtension.asn1
+++ /dev/null
@@ -1,37 +0,0 @@
-SetExtension DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSetExt1, XSetExt2 FROM External;
-
-SetExt1 ::= SET
-{
- ...
-}
-
-SetExt2 ::= SET
-{
- bool BOOLEAN,
- int INTEGER,
- ...
-}
-
-SetExt3 ::= SET
-{
- ...,
- bool BOOLEAN,
- int INTEGER
-}
-
-SetExt4 ::= SET
-{
- bool BOOLEAN,
- ...,
- int INTEGER
-}
-
-SetExt1X ::= XSetExt1
-SetExt2X ::= XSetExt2
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetExternal.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetExternal.asn1
deleted file mode 100644
index 394a068280..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetExternal.asn1
+++ /dev/null
@@ -1,68 +0,0 @@
-SetExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeq1, XSetNT, XSetImp, XSetExp FROM External;
-
-
-
-SetXSeq1 ::= SET
-{
- seq XSeq1,
- bool BOOLEAN,
- int INTEGER
-}
-
-
-SetXSeq2 ::= SET
-{
- bool BOOLEAN,
- seq XSeq1,
- int INTEGER
-}
-
-
-SetXSeq3 ::= SET
-{
- bool BOOLEAN,
- int INTEGER,
- seq XSeq1
-}
-
-
-NT ::= SET {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [11] SET {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [12] EXPLICIT SET {
- os OCTET STRING,
- bool BOOLEAN}
-
-NTNT ::= NT
-ImpNT ::= [3] NT
-ExpNT ::= [4] EXPLICIT NT
-
-NTImp ::= Imp
-ImpImp ::= [5] Imp
-ExpImp ::= [6] EXPLICIT Imp
-
-NTExp ::= Exp
-ImpExp ::= [7] Exp
-ExpExp ::= [8] EXPLICIT Exp
-
-XNTNT ::= XSetNT
-XImpNT ::= [3] XSetNT
-XExpNT ::= [4] EXPLICIT XSetNT
-
-XNTImp ::= XSetImp
-XImpImp ::= [5] XSetImp
-XExpImp ::= [6] EXPLICIT XSetImp
-
-XNTExp ::= XSetExp
-XImpExp ::= [7] XSetExp
-XExpExp ::= [8] EXPLICIT XSetExp
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOf.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOf.asn1
deleted file mode 100644
index cdb770f8de..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOf.asn1
+++ /dev/null
@@ -1,61 +0,0 @@
-SetOf DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Set1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF SetIn DEFAULT {}
-}
-
-Set2 ::= SET
-{
- set2 SET OF SetIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Set3 ::= SET
-{
- bool3 BOOLEAN,
- set3 SET OF SetIn DEFAULT {},
- int3 INTEGER
-}
-
-Set4 ::= SET
-{
- set41 [41] SET OF SetIn DEFAULT {},
- set42 [42] SET OF SetIn DEFAULT {},
- set43 [43] SET OF SetIn DEFAULT {}
-}
-
-
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-SetOs ::= SET OF OCTET STRING
-SetOsImp ::= [23] SET OF OCTET STRING
-SetOsExp ::= [24] EXPLICIT SET OF OCTET STRING
-
-SetCho ::= SET OF CHOICE {bool BOOLEAN,
- int INTEGER,
- last NULL}
-
-
-
-SetEmp ::= SET
-{
- set1 SET OF Empty DEFAULT {}
-}
-
-Empty ::= SET
-{
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOf.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOf.py
deleted file mode 100644
index 4e2ea16fcc..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOf.py
+++ /dev/null
@@ -1,42 +0,0 @@
-SetOf DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-Set1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF SetIn DEFAULT {}
-}
-
-Set2 ::= SET
-{
- set2 SET OF SetIn DEFAULT {},
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Set3 ::= SET
-{
- bool3 BOOLEAN,
- set3 SET OF SetIn DEFAULT {},
- int3 INTEGER
-}
-
-Set4 ::= SET
-{
- set41 [41] SET OF SetIn DEFAULT {},
- set42 [42] SET OF SetIn DEFAULT {},
- set43 [43] SET OF SetIn DEFAULT {}
-}
-
-
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfCho.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfCho.asn1
deleted file mode 100644
index 3571a2b277..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfCho.asn1
+++ /dev/null
@@ -1,73 +0,0 @@
-SetOfCho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SetChoDef ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF ChoIn DEFAULT {}
-}
-
-SetChoOpt ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF ChoIn OPTIONAL
-}
-
-SetChoEmbDef ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } DEFAULT {}
-}
-
-SetChoEmbOpt ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } OPTIONAL
-}
-
-SetOfChoEmbDef ::= SET OF SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } DEFAULT {}
-}
-
-
-SetOfChoEmbOpt ::= SET OF SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SET OF CHOICE
- {
- boolIn BOOLEAN,
- intIn INTEGER
- } OPTIONAL
-}
-
-
-ChoIn ::= CHOICE
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfExternal.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfExternal.asn1
deleted file mode 100644
index c08f2a51ee..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfExternal.asn1
+++ /dev/null
@@ -1,42 +0,0 @@
-SetOfExternal DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSetNT, XSetImp, XSetExp FROM External;
-
-
-NT ::= SET {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [21] SET {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [22] EXPLICIT SET {
- os OCTET STRING,
- bool BOOLEAN}
-
-NTNT ::= SET OF NT
-ImpNT ::= [3] SET OF NT
-ExpNT ::= [4] EXPLICIT SET OF NT
-
-NTImp ::= SET OF Imp
-ImpImp ::= [5] SET OF Imp
-ExpImp ::= [6] EXPLICIT SET OF Imp
-
-NTExp ::= SET OF Exp
-ImpExp ::= [7] SET OF Exp
-ExpExp ::= [8] EXPLICIT SET OF Exp
-
-XNTNT ::= SET OF XSetNT
-XImpNT ::= [3] SET OF XSetNT
-XExpNT ::= [4] EXPLICIT SET OF XSetNT
-
-XNTImp ::= SET OF XSetImp
-XImpImp ::= [5] SET OF XSetImp
-XExpImp ::= [6] EXPLICIT SET OF XSetImp
-
-XNTExp ::= SET OF XSetExp
-XImpExp ::= [7] SET OF XSetExp
-XExpExp ::= [8] EXPLICIT SET OF XSetExp
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfTag.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfTag.asn1
deleted file mode 100644
index e137e8fa40..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOfTag.asn1
+++ /dev/null
@@ -1,65 +0,0 @@
-SetOfTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSetNT, XSetImp, XSetExp FROM External;
-
-SetTagNt ::= [APPLICATION 20] SET {
- nt SET OF NT}
-
-SetTagNtI ::= [APPLICATION 20] SET {
- imp SET OF Imp}
-
-SetTagNtE ::= [APPLICATION 20] SET {
- exp SET OF Exp }
-
-SetTagI ::= [APPLICATION 21] SET {
- nt [0] SET OF NT}
-
-SetTagII ::= [APPLICATION 21] SET {
- imp [1] SET OF Imp}
-
-SetTagIE ::= [APPLICATION 21] SET {
- exp [2] SET OF Exp}
-
-SetTagE ::= [APPLICATION 22] SET {
- nt [0] EXPLICIT SET OF NT}
-
-SetTagEI ::= [APPLICATION 22] SET {
- imp [1] EXPLICIT SET OF Imp}
-
-SetTagEE ::= [APPLICATION 22] SET {
- exp [2] EXPLICIT SET OF Exp}
-
-SetTagXNt ::= [APPLICATION 30] SET {
- xnt SET OF XSetNT}
-
-SetTagXI ::= [APPLICATION 30] SET {
- ximp SET OF XSetImp}
-
-SetTagXE ::= [APPLICATION 30] SET {
- xexp SET OF XSetExp }
-
-SetTagImpX ::= [APPLICATION 31] SET {
- xnt [3] SET OF XSetNT,
- ximp [4] SET OF XSetImp,
- xexp [5] SET OF XSetExp }
-
-SetTagExpX ::= [APPLICATION 32] SET {
- xnt [3] EXPLICIT SET OF XSetNT,
- ximp [4] EXPLICIT SET OF XSetImp,
- xexp [5] EXPLICIT SET OF XSetExp }
-
-
-
-NT ::= SET {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [21] SET {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [22] EXPLICIT SET {
- os OCTET STRING,
- bool BOOLEAN}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOptional.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOptional.asn1
deleted file mode 100644
index 5d2f2526b3..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetOptional.asn1
+++ /dev/null
@@ -1,77 +0,0 @@
-SetOptional DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-SetOpt1 ::= SET
-{
- bool1 BOOLEAN OPTIONAL,
- int1 INTEGER,
- set1 SetIn OPTIONAL
-}
-
-SetOpt1Imp ::= SEQUENCE
-{
- bool1 [1] BOOLEAN OPTIONAL,
- int1 INTEGER,
- set1 [2] SetIn OPTIONAL
-}
-
-SetOpt1Exp ::= SEQUENCE
-{
- bool1 [1] EXPLICIT BOOLEAN OPTIONAL,
- int1 INTEGER,
- set1 [2] EXPLICIT SetIn OPTIONAL
-}
-
-SetOpt2 ::= SET
-{
- set2 SetIn OPTIONAL,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-SetOpt2Imp ::= SEQUENCE
-{
- set2 [1] SetIn OPTIONAL,
- bool2 [2] BOOLEAN,
- int2 INTEGER
-}
-
-SetOpt2Exp ::= SEQUENCE
-{
- set2 [1] EXPLICIT SetIn OPTIONAL,
- bool2 [2] EXPLICIT BOOLEAN,
- int2 INTEGER
-}
-
-SetOpt3 ::= SET
-{
- bool3 BOOLEAN OPTIONAL,
- set3 SetIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SetOpt3Imp ::= SEQUENCE
-{
- bool3 [1] BOOLEAN OPTIONAL,
- set3 [2] SetIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-SetOpt3Exp ::= SEQUENCE
-{
- bool3 [1] EXPLICIT BOOLEAN OPTIONAL,
- set3 [2] EXPLICIT SetIn OPTIONAL,
- int3 INTEGER OPTIONAL
-}
-
-
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetPrim.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetPrim.asn1
deleted file mode 100644
index 06c4932625..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetPrim.asn1
+++ /dev/null
@@ -1,20 +0,0 @@
-SetPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Set ::= SET
-{
- bool BOOLEAN,
- boolCon [20] BOOLEAN,
- boolPri [PRIVATE 21] BOOLEAN,
- boolApp [APPLICATION 22] BOOLEAN,
- boolExpCon [30] EXPLICIT BOOLEAN,
- boolExpPri [PRIVATE 31] EXPLICIT BOOLEAN,
- boolExpApp [APPLICATION 32] EXPLICIT BOOLEAN
-}
-
-Empty ::= SET
-{
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTag.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTag.asn1
deleted file mode 100644
index 3f7422edaf..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTag.asn1
+++ /dev/null
@@ -1,47 +0,0 @@
-SetTag DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-IMPORTS XSeq1, XSetNT, XSetImp, XSetExp FROM External;
-
-SetTag ::= [APPLICATION 20] SET {
- nt NT,
- imp Imp,
- exp Exp }
-
-SetTagImp ::= [APPLICATION 21] SET {
- nt [0] NT,
- imp [1] Imp,
- exp [2] Exp}
-
-SetTagExp ::= [APPLICATION 22] SET {
- nt [0] EXPLICIT NT,
- imp [1] EXPLICIT Imp,
- exp [2] EXPLICIT Exp}
-
-SetTagX ::= [APPLICATION 30] SET {
- xnt XSetNT,
- ximp XSetImp,
- xexp XSetExp }
-
-SetTagImpX ::= [APPLICATION 31] SET {
- xnt [3] XSetNT,
- ximp [4] XSetImp,
- xexp [5] XSetExp }
-
-SetTagExpX ::= [APPLICATION 32] SET {
- xnt [3] EXPLICIT XSetNT,
- ximp [4] EXPLICIT XSetImp,
- xexp [5] EXPLICIT XSetExp }
-
-NT ::= SET {
- os OCTET STRING,
- bool BOOLEAN}
-Imp ::= [11] SET {
- os OCTET STRING,
- bool BOOLEAN}
-Exp ::= [12] EXPLICIT SET {
- os OCTET STRING,
- bool BOOLEAN}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefCho.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefCho.asn1
deleted file mode 100644
index 32c9d95703..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefCho.asn1
+++ /dev/null
@@ -1,27 +0,0 @@
-SetTypeRefCho DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-SetTRcho ::= SET
-{
- setCho SetCho,
- setChoE [135] EXPLICIT SetCho,
-
- setCho-E SetChoExp,
- setChoE-E [335] EXPLICIT SetChoExp
-
-}
-
-SetCho ::= CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-SetChoExp ::= [65] EXPLICIT CHOICE {
- choInt INTEGER,
- choOs OCTET STRING
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefPrim.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefPrim.asn1
deleted file mode 100644
index d8f2396c02..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefPrim.asn1
+++ /dev/null
@@ -1,29 +0,0 @@
-SetTypeRefPrim DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SetTR ::= SET
-{
- octStr OctStr,
- octStrI [114] OctStr,
- octStrE [115] EXPLICIT OctStr,
-
- octStr-I OctStrImp,
- octStrI-I [214] OctStrImp,
- octStrE-I [215] EXPLICIT OctStrImp,
-
- octStr-E OctStrExp,
- octStrI-E [314] OctStrExp,
- octStrE-E [315] EXPLICIT OctStrExp
-
-}
-
-OctStr ::= OCTET STRING
-OctStrImp ::= [14] OCTET STRING
-OctStrExp ::= [15] EXPLICIT OCTET STRING
-
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefSeq.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefSeq.asn1
deleted file mode 100644
index 72dd71c6eb..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefSeq.asn1
+++ /dev/null
@@ -1,38 +0,0 @@
-SetTypeRefSeq DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-
-
-SetTRseq ::= SET
-{
- setSeq SetSeq,
- setSeqI [134] SetSeq,
- setSeqE [135] EXPLICIT SetSeq,
-
- setSeq-I SetSeqImp,
- setSeqI-I [234] SetSeqImp,
- setSeqE-I [235] EXPLICIT SetSeqImp,
-
- setSeq-E SetSeqExp,
- setSeqI-E [334] SetSeqExp,
- setSeqE-E [335] EXPLICIT SetSeqExp
-
-}
-
-SetSeq ::= SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-SetSeqImp ::= [64] SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-SetSeqExp ::= [65] EXPLICIT SEQUENCE {
- seqInt INTEGER,
- seqOs OCTET STRING
- }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefSet.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefSet.asn1
deleted file mode 100644
index b215d598dc..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SetTypeRefSet.asn1
+++ /dev/null
@@ -1,110 +0,0 @@
-SetTypeRefSet DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
-Set1 ::= SET
-{
- bool1 BOOLEAN,
- int1 INTEGER,
- set1 SetIn
-}
-
-Set2 ::= SET
-{
- set2 SetIn,
- bool2 BOOLEAN,
- int2 INTEGER
-}
-
-Set3 ::= SET
-{
- bool3 BOOLEAN,
- set3 SetIn,
- int3 INTEGER
-}
-
-Set4 ::= SEQUENCE
-{
- set41 SetIn,
- set42 SetIn,
- set43 SetIn
-}
-
-
-SetIn ::= SET
-{
- boolIn BOOLEAN,
- intIn INTEGER
-}
-
-
-SetS1 ::= SET
-{
- boolS1 BOOLEAN,
- intS1 INTEGER,
- setS1 SET { boolIn BOOLEAN,
- intIn INTEGER }
-}
-
-SetS2 ::= SET
-{
- setS2 SET { boolIn BOOLEAN,
- intIn INTEGER },
- boolS2 BOOLEAN,
- intS2 INTEGER
-
-}
-
-SetS3 ::= SET
-{
- boolS3 BOOLEAN,
- setS3 SET { boolIn BOOLEAN,
- intIn INTEGER },
- intS3 INTEGER
-
-}
-
-SetSTag ::= SET
-{
- setS1 SET { b1 BOOLEAN,
- i1 INTEGER },
- setS2 [7] SET { b2 BOOLEAN,
- i2 INTEGER },
- setS3 [8] EXPLICIT SET { b3 BOOLEAN,
- i3 INTEGER }
-}
-
-
-SetTRset ::= SET
-{
- setSet SetSet,
- setSetI [124] SetSet,
- setSetE [125] EXPLICIT SetSet,
-
- setSet-I SetSetImp,
- setSetI-I [224] SetSetImp,
- setSetE-I [225] EXPLICIT SetSetImp,
-
- setSet-E SetSetExp,
- setSetI-E [324] SetSetExp,
- setSetE-E [325] EXPLICIT SetSetExp
-
-}
-
-SetSet ::= SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-SetSetImp ::= [54] SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-SetSetExp ::= [55] EXPLICIT SET {
- setInt INTEGER,
- setOs OCTET STRING
- }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/String.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/String.py
deleted file mode 100644
index 338d50784b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/String.py
+++ /dev/null
@@ -1,7 +0,0 @@
-String DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS;
-
-IA51 ::= IA5String (SIZE (1..128)) (FROM ("0123456789#*,"))
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/SwCDR.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/SwCDR.py
deleted file mode 100644
index 9492183cdf..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/SwCDR.py
+++ /dev/null
@@ -1,213 +0,0 @@
-SwCDR DEFINITIONS
- IMPLICIT TAGS ::=
-
-
-BEGIN
-
-EXPORTS
- SwCDR;
-
-SwCDR ::= CHOICE
-{
- origSvcCallRecord [0] OrigSvcCallRecord,
- termSvcCallRecord [1] TermSvcCallRecord
-}
-
---OrigSvcCallRecord ::= SET
-OrigSvcCallRecord ::= SEQUENCE
-{
- callCorrelationId [0] INTEGER ,
- chargingIndicator [1] ChargingIndicator,
- sequenceNo [2] INTEGER ,
- callingParty [3] CallingNumber,
- calledParty [4] CalledNumber,
- connectedNumber [5] ConnectedNumber,
- startDate [6] StartDate,
- startTime [7] StartTime,
- duration [8] CallDuration ,
--- bearerClass [] BearerClass ,
- trafficType [9] TrafficType ,
- qosFwd [10] QoSClass ,
- qosBkwd [11] QoSClass ,
- forwardPcrClp0 [12] CellRate ,
- forwardPcrClp01 [13] CellRate ,
- backwardPcrClp0 [14] CellRate ,
- backwardPcrClp01 [15] CellRate ,
- forwardScrClp0 [16] CellRate ,
- forwardScrClp01 [17] CellRate ,
- backwardScrClp0 [18] CellRate ,
- backwardScrClp01 [19] CellRate ,
- forwardMcrClp0 [20] CellRate ,
- forwardMcrClp01 [21] CellRate ,
- backwardMcrClp0 [22] CellRate ,
- backwardMcrClp01 [23] CellRate ,
- forwardMbsClp0 [24] CellRate ,
- forwardMbsClp01 [25] CellRate ,
- forwardBEI [26] INTEGER ,
- backwardBEI [27] INTEGER ,
- forwardTagging [28] INTEGER ,
- backwardTagging [29] INTEGER ,
--- egressCellrate0 [] INTEGER,
--- egressCellrate01 [] INTEGER,
- ingressCellrate0 [30] INTEGER ,
--- ingressCellrate01 [] INTEGER ,
- ingressCellrate1 [31] INTEGER ,
- connectionConfig [32] UserPlaneConnection OPTIONAL
--- causeForTerm [33] CauseForTerm OPTIONAL
-}
-
---TermSvcCallRecord ::= SET
-TermSvcCallRecord ::= SEQUENCE
-{
- callCorrelationId [0] INTEGER ,
- chargingIndicator [1] ChargingIndicator,
- sequenceNo [2] INTEGER ,
- callingParty [3] CallingNumber,
- calledParty [4] CalledNumber,
- connectedNumber [5] ConnectedNumber,
- startDate [6] StartDate,
- startTime [7] StartTime,
- duration [8] CallDuration ,
--- bearerClass [] BearerClass ,
- trafficType [9] TrafficType ,
- qosFwd [10] QoSClass ,
- qosBkwd [11] QoSClass ,
- forwardPcrClp0 [12] CellRate ,
- forwardPcrClp01 [13] CellRate ,
- backwardPcrClp0 [14] CellRate ,
- backwardPcrClp01 [15] CellRate ,
- forwardScrClp0 [16] CellRate ,
- forwardScrClp01 [17] CellRate ,
- backwardScrClp0 [18] CellRate ,
- backwardScrClp01 [19] CellRate ,
- forwardMcrClp0 [20] CellRate ,
- forwardMcrClp01 [21] CellRate ,
- backwardMcrClp0 [22] CellRate ,
- backwardMcrClp01 [23] CellRate ,
- forwardMbsClp0 [24] CellRate ,
- forwardMbsClp01 [25] CellRate ,
- forwardBEI [26] INTEGER ,
- backwardBEI [27] INTEGER ,
- forwardTagging [28] INTEGER ,
- backwardTagging [29] INTEGER ,
--- egressCellrate0 [] INTEGER ,
--- egressCellrate01 [] INTEGER ,
- ingressCellrate0 [30] INTEGER ,
--- ingressCellrate01 [] INTEGER ,
- ingressCellrate1 [31] INTEGER ,
- connectionConfig [32] UserPlaneConnection OPTIONAL
--- causeForTerm [33] CauseForTerm OPTIONAL
-}
-
-ChargingIndicator ::= INTEGER
-{
- origCallRecord (0),
- termCallRecord (1)
-}
-
-CallingNumber ::= OCTET STRING (SIZE (12))
- -- BCD encoded representation of the number.
- -- Contains: TypeOfNumber, NumberingPlanInformation
- -- and either an E.164 number or a NSAP style of number,
- -- including a possible subaddress.
-CalledNumber ::= OCTET STRING (SIZE (20))
- -- BCD encoded representation of the number.
- -- Contains: TypeOfNumber, NumberingPlanInformation,
- -- PresentationIndicator, ScreeningIndicator
- -- and either an E.164 number or a NSAP style of number,
- -- including a possible subaddress.
-
-ConnectedNumber ::= OCTET STRING (SIZE (12))
- -- BCD encoded representation of the number.
- -- Contains: TypeOfNumber, NumberingPlanInformation,
- -- PresentationIndicator, ScreeningIndicator
- -- and either an E.164 number or a NSAP style of number,
- -- including a possible subaddress.
-
-
-QoSClass ::= INTEGER
- -- Explicit values ToBeDefined,
- -- until then: value received in SETUP-msg
-
---BearerClass ::= INTEGER
---{
--- bcobA (0),
--- bcobC (1),
--- bcobX (2)
---}
-TrafficType ::= INTEGER
-{
- noIndication (0),
- abr (1),
- cbr (2),
- vbr (3),
- vbrrt (4),
- vbrnrt (5),
- ubr (6)
-}
-
---TimingRequirements ::= INTEGER
---{
--- noIndication (0),
--- endToEndRequired (1),
--- endToEndNotRequired (2)
---}
-
---ClippingSusceptibility ::= INTEGER
---{
--- notSusceptible (0),
--- susceptible (1)
---}
-UserPlaneConnection ::= INTEGER
-{
- pointToPoint (0),
- pointToMultipoint (1)
-}
-
---AALParameters ::= INTEGER AAL Type only
---{
--- userDefined (0),
--- aal1 (1),
--- aal2 (2),
--- aal34 (3),
--- aal5 (5)
---}
-
-CellRate ::= INTEGER
- -- Value range not less than 2^24.
-
--- BurstSize ::= ToBeDefined
-
--- TaggingRequest ::= ToBeDefined
---Timestamp ::= OCTET STRING (SIZE (11))
- -- The contents of this field is a compact form of
- -- the UTCTime format, containing local time plus
- -- an offset to universal time.
- -- The compact format is YYMMDDhhmmssdddShhmm, where:
- -- YY = year, 00-99, BCD encoded
- -- MM = month, 01-12, BCD encoded
- -- DD = day, 01-31, BCD encoded
- -- hh = hour, 00-23, BCD encoded
- -- mm = minute, 00-59, BCD encoded
- -- ss = second, 00-59, BCD encoded
- -- ddd = millisecond, 000-999, BCD encoded
- -- and rightjustified as "0ddd"
- -- S = sign, "+"/"-", ASCII encoded
-
-StartDate ::= OCTET STRING (SIZE (8))
-
-StartTime ::= OCTET STRING (SIZE (6))
-
-CallDuration ::= INTEGER
--- Expressed as number of millseconds
-
-Cellrate ::= INTEGER
--- Value range 0-2^64
-CauseForTerm ::= INTEGER
-{
- unsuccessfulCallAttempt (0),
- abnormalTermination (1)
-}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Syntax.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Syntax.py
deleted file mode 100644
index 867d1148e1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Syntax.py
+++ /dev/null
@@ -1,10 +0,0 @@
-Syntax DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS Person;
-
-Person ::= [PRIVATE 19] SEQUENCE {,
- name PrintableString,
- location INTEGER {home(0),field(1),roving(2)},
- age INTEGER OPTIONAL
- }
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPMessages-simple.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPMessages-simple.asn
deleted file mode 100644
index a9ace659d5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPMessages-simple.asn
+++ /dev/null
@@ -1,206 +0,0 @@
-TCAPMessages-simple { ccitt recommendation q 773 modules (2) messages (1) version2 (2) }
-
-DEFINITIONS ::=
-
-BEGIN
-
-EXPORTS OPERATION, ERROR, Component, InvokeIdType;
-
--- Transaction Portion fields
-
-MessageType ::= CHOICE { unidirectional [APPLICATION 1] IMPLICIT Unidirectional,
- begin [APPLICATION 2] IMPLICIT Begin,
- end [APPLICATION 4] IMPLICIT End,
- continue [APPLICATION 5] IMPLICIT Continue,
- abort [APPLICATION 7] IMPLICIT Abort }
-
-Unidirectional ::= SEQUENCE {
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion }
-
-Begin ::= SEQUENCE {
- otid OrigTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion OPTIONAL
- }
-
-End ::= SEQUENCE {
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion OPTIONAL
- }
-
-Continue ::= SEQUENCE {
- otid OrigTransactionID,
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion OPTIONAL
- }
-
-Abort ::= SEQUENCE {
- dtid DestTransactionID,
- reason CHOICE { p-abortCause P-AbortCause, u-abortCause DialoguePortion } OPTIONAL
- }
-
--- NOTE When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause must be
--- present.The u-abortCause may be generated by the component sublayer in which case it is an ABRT
--- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
--- abstract syntax.
-
-DialoguePortion ::= [APPLICATION 11] EXTERNAL
-
--- The dialogue portion carries the dialogue control PDUs as value of the external data type.
--- The direct reference should be set to { ccitt recommendation q 773 as (1) dialogue-as (1) version (1) }
--- if structured dialogue is used and to { ccitt recommendation q 773 as (1) unidialogue-as (2) version (1) }
--- if unstructured dialogue is used or any user defined abstract syntax name when only user information
--- is carried (e.g. when user information is sent in a 1988 Abort message).
-
-OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) )
-DestTransactionID ::= [APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) )
-
-P-AbortCause ::= [APPLICATION 10] IMPLICIT INTEGER {
- unrecognizedMessageType (0),
- unrecognizedTransactionID (1),
- badlyFormattedTransactionPortion (2),
- incorrectTransactionPortion (3),
- resourceLimitation (4) }
-
--- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the Component Portion.
--- The Component Portion may be absent.
-
-ComponentPortion ::= [APPLICATION 12] IMPLICIT SEQUENCE SIZE (1..MAX) OF Component
-
--- Component Portion fields
--- COMPONENT TYPE. Recommendation X.229 defines four Application Protocol Data Units (APDUs).
--- TCAP adds returnResultNotLast to allow for the segmentation of a result.
-
-Component ::= CHOICE {
- invoke [1] IMPLICIT Invoke,
- returnResultLast [2] IMPLICIT ReturnResult,
- returnError [3] IMPLICIT ReturnError,
- reject [4] IMPLICIT Reject,
- returnResultNotLast [7] IMPLICIT ReturnResult }
-
--- The Components are sequences of data elements.
-
-Invoke ::= SEQUENCE {
- invokeID InvokeIdType,
- linkedID [0] IMPLICIT InvokeIdType OPTIONAL,
- operationCode OPERATION,
- parameter ANY DEFINED BY operationCode OPTIONAL }
-
--- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT
--- in the type definition of a particular operation.
-
-ReturnResult ::= SEQUENCE {
- invokeID InvokeIdType,
- result SEQUENCE {
- operationCode OPERATION,
- parameter ANY DEFINED BY operationCode
- } OPTIONAL
- }
-
--- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition
--- of a particular operation.
-
-ReturnError ::= SEQUENCE {
- invokeID InvokeIdType,
- errorCode ERROR,
- parameter ANY DEFINED BY errorCode OPTIONAL }
-
--- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition
--- of a particular error.
-
-
-
--- Recommendation Q.773 (06/97) 3
-
-Reject ::= SEQUENCE {
- invokeID CHOICE {
- derivable InvokeIdType,
- not-derivable NULL },
- problem CHOICE {
- generalProblem [0] IMPLICIT GeneralProblem,
- invokeProblem [1] IMPLICIT InvokeProblem,
- returnResultProblem [2] IMPLICIT ReturnResultProblem,
- returnErrorProblem [3] IMPLICIT ReturnErrorProblem
- }
- }
-
-InvokeIdType ::= INTEGER ( -128..127)
-
--- OPERATIONS
--- Operations are specified with the OPERATION MACRO.
--- When an operation is specified, the valid parameter set, results, and errors for that operation are indicated.
--- Default values and optional parameters are permitted.
-
--- FAKE OPERATION
-OPERATION ::= INTEGER ( 0..65535 )
-ERROR ::= INTEGER ( 0..65535 )
-
---OPERATION MACRO ::=
---BEGIN
--- TYPE NOTATION ::= Parameter Result Errors LinkedOperations
--- VALUE NOTATION ::= value (VALUE CHOICE { localValue INTEGER, globalValue OBJECT IDENTIFIER } )
--- Parameter ::= ArgKeyword NamedType | empty ArgKeyword ::= "ARGUMENT" | "PARAMETER"
--- Result ::= "RESULT" ResultType | empty
--- Errors ::= "ERRORS" "{"ErrorNames"}" | empty
--- LinkedOperations ::= "LINKED" "{"LinkedOperationNames"}" | empty
--- ResultType ::= NamedType | empty
--- ErrorNames ::= ErrorList | empty
--- ErrorList ::= Error | ErrorList "," Error
--- Error ::= value (ERROR)
---
--- shall reference an error value
---
--- | type
--- shall reference an error type
---
--- if no error value is specified
--- LinkedOperationNames ::= OperationList | empty
--- OperationList ::= Operation | OperationList "," Operation
--- Operation ::= value (OPERATION)
--- shall reference an operation value
--- | type
--- shall reference an operation type if
---
--- no operation value is specified
--- NamedType ::= identifier type | type
---END
-
--- ERRORS
--- Errors are specified with the ERROR MACRO.
--- When an error is specified, the valid parameters for that error are indicated.
--- Default values and optional parameters are permitted.
-
---ERROR MACRO ::=
---BEGIN
--- TYPE NOTATION ::= Parameter
--- VALUE NOTATION ::= value (VALUE CHOICE { localValue INTEGER, globalValue OBJECT IDENTIFIER } )
--- Parameter ::= "PARAMETER" NamedType | empty
--- NamedType ::= identifier type | type
---END
-
--- PROBLEMS
-
-GeneralProblem ::= INTEGER { unrecognizedComponent (0),
- mistypedComponent (1),
- badlyStructuredComponent (2) }
-InvokeProblem ::= INTEGER { duplicateInvokeID (0),
- unrecognizedOperation (1),
- mistypedParameter (2),
- resourceLimitation (3),
- initiatingRelease (4),
- unrecognizedLinkedID (5),
- linkedResponseUnexpected (6),
- unexpectedLinkedOperation (7) }
-ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0),
- returnResultUnexpected (1),
- mistypedParameter (2) }
-ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0),
- returnErrorUnexpected (1),
- unrecognizedError (2),
- unexpectedError (3),
- mistypedParameter (4) }
-
-END -- TCAPMessages
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPMessages.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPMessages.asn
deleted file mode 100644
index ed8b4c6927..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPMessages.asn
+++ /dev/null
@@ -1,98 +0,0 @@
--- Module TCAPMessages (Q.773:06/1997)
--- See also the README file
--- See also the index of all ASN.1 assignments needed in this Recommendation
-
-TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS everything
--- Transaction Portion fields.
-IMPORTS
- ROS{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-TCMessage{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
- unidirectional [APPLICATION 1] Unidirectional{{Invokable}, {Returnable}},
- begin [APPLICATION 2] Begin{{Invokable}, {Returnable}},
- end [APPLICATION 4] End{{Invokable}, {Returnable}},
- continue [APPLICATION 5] Continue{{Invokable}, {Returnable}},
- abort [APPLICATION 7] Abort
-}
-
-Unidirectional{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}}
-}
-
-Begin{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- otid OrigTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-End{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-Continue{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- otid OrigTransactionID,
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-Abort ::= SEQUENCE {
- dtid DestTransactionID,
- reason CHOICE {p-abortCause P-AbortCause,
- u-abortCause DialoguePortion} OPTIONAL
-}
-
--- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be
--- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT
--- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
--- abstract syntax.
-DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL
-
--- The dialogue portion carries the dialogue control PDUs as value of the external data type. The direct
--- reference should be set to {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} if structured
--- dialogue is used and to {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} if unstructured
--- dialogue is used.
-OrigTransactionID ::= [APPLICATION 8] OCTET STRING(SIZE (1..4))
-
-DestTransactionID ::= [APPLICATION 9] OCTET STRING(SIZE (1..4))
-
-P-AbortCause ::= [APPLICATION 10] INTEGER {
- unrecognizedMessageType(0), unrecognizedTransactionID(1),
- badlyFormattedTransactionPortion(2), incorrectTransactionPortion(3),
- resourceLimitation(4)}(0..127)
-
--- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the
--- component portion. The component portion may be absent.
-ComponentPortion{OPERATION:Invokable, OPERATION:Returnable} ::=
- [APPLICATION 12]
- SEQUENCE SIZE (1..MAX) OF Component{{Invokable}, {Returnable}}
-
--- Component Portion fields
--- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking
--- operations, returning results or error, and for the rejection of invalid PDUs.
--- TCAP adds returnResultNotLast to allow for the segmentation of a result.
-Component{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
- basicROS ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}},
- returnResultNotLast
- [7] returnResult < ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}}
-}
-
-TCInvokeIdSet ::= InvokeId(WITH COMPONENTS {
- present (-128..127)
- })
-
-END -- TCAPMessages
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage.asn
deleted file mode 100644
index fcaeff3bfa..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage.asn
+++ /dev/null
@@ -1,271 +0,0 @@
-TCAPPackage {iso(1) memberbody(2) usa(840) t1-114(10013) modules(0)
- tcapPackage(0) version4(4)} DEFINITIONS ::=
-
--- iso(1) memberbody(2)
--- usa(840) T1.114(10013)
-BEGIN -- defining a module called TCAPPackage which contains type
-
--- definitions for the contents of any generic TCAP message
--- exports everything
-IMPORTS
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)};
--- TCAPRemoteperationsInformationbjects {iso(1) memberbody(2) usa(840)
--- t1-114(10013) modules(0) information-objects(1) version4(4)};
-
-PackageType ::= CHOICE {
- unidirectional [PRIVATE 1] IMPLICIT UniTransactionPDU,
- queryWithPerm [PRIVATE 2] IMPLICIT TransactionPDU,
- queryWithoutPerm [PRIVATE 3] IMPLICIT TransactionPDU,
- response [PRIVATE 4] IMPLICIT TransactionPDU,
- conversationWithPerm [PRIVATE 5] IMPLICIT TransactionPDU,
- conversationWithoutPerm [PRIVATE 6] IMPLICIT TransactionPDU,
- abort [PRIVATE 22] IMPLICIT Abort}
-
-UniTransactionPDU ::= SEQUENCE {
- identifier TransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- componentPortion ComponentSequence}
-
-TransactionPDU ::= SEQUENCE {
- identifier TransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- componentPortion ComponentSequence OPTIONAL}
-
--- TransactionPDU should include either a Dialogue Portion,
--- a Component Sequence or both
-TransactionID ::= [PRIVATE 7] IMPLICIT OCTET STRING
-
--- 0 octets for the Unidirectional, 4 octets for Query, Response & Abort
--- 8 octets for Conversation in the order Originating then Responding TID
-Abort ::= SEQUENCE {
- identifier TransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- causeInformation
- CHOICE {abortCause P-Abort-cause,
- userInformation UserAbortInformation} OPTIONAL}
-
--- When the Abort package is generated by the Transaction sublayer,
--- the P-Abort-cause must be present
-P-Abort-cause ::= [PRIVATE 23] IMPLICIT INTEGER {
- unrecognizedPackageType(1), incorrectTransactionPortion(2),
- badlyStructuredTransactionPortion(3), unassignedRespondingTransactionID(4),
- permissionToReleaseProblem(5), -- for further study
- resourceUnavailable(6), unrecognizedDialoguePortionID(7),
- badlyStructuredDialoguePortion(8), missingDialoguePortion(9),
- inconsistentDialoguePortion(10)}
-
-DialoguePortion ::= [PRIVATE 25] IMPLICIT SEQUENCE {
- version ProtocolVersion OPTIONAL,
- applicationContext
- CHOICE {integerApplicationId IntegerApplicationContext,
- objectApplicationId ObjectIDApplicationContext} OPTIONAL,
- userInformation UserInformation OPTIONAL,
- securityContext
- CHOICE {integerSecurityId [0] IMPLICIT INTEGER,
- objectSecurityId [1] IMPLICIT OBJECT IDENTIFIER} OPTIONAL,
- confidentiality [2] IMPLICIT Confidentiality OPTIONAL}
-
-ProtocolVersion ::= [PRIVATE 26] IMPLICIT OCTET STRING(SIZE (1))
-
--- 0000 0000 not used
--- 0000 0001 T1.114-1996
--- 0000 0010 T1.114-2000
--- other reserved
--- These values can be combined using the bit-wise logical or operation
--- to indicate support for more than one version, e.g. the value 0000 0011
--- means that both 1996 and 2000 versions are supported
-IntegerApplicationContext ::= [PRIVATE 27] IMPLICIT INTEGER
-
-ObjectIDApplicationContext ::= [PRIVATE 28] IMPLICIT OBJECT IDENTIFIER
-
-UserInformation ::= [PRIVATE 29] IMPLICIT SEQUENCE OF EXTERNAL
-
-Confidentiality ::= SEQUENCE {
- confidentialityId
- CHOICE {integerConfidentialityId [0] IMPLICIT INTEGER,
- objectConfidentialityId [1] IMPLICIT OBJECT IDENTIFIER} OPTIONAL,
- ...
- -- The extension marker indicates the possible presence of items
- -- in the confidentiality set that are used by the confidentiality
- -- algorithm.--}
-
-UserAbortInformation ::= [PRIVATE 24] EXTERNAL
-
---ComponentSequence ::= [PRIVATE 8] IMPLICIT SEQUENCE OF ComponentPDU
-ComponentSequence ::= [PRIVATE 8] IMPLICIT SEQUENCE OF ComponentPDU{NoInvokeId,ProbeAndAcknowledge,ProbeAndAcknowledge}
--- Component Portion specification starts below
-ComponentPDU{InvokeId:InvokeIdSet, OPERATION:Invocable, OPERATION:Returnable}
- ::= CHOICE {
- invokeLast
- [PRIVATE 9] IMPLICIT Invoke{{InvokeIdSet}, {Invocable}}
- (CONSTRAINED BY {
- --invocable.&invokeLast must be TRUE --} !
- RejectProblem:generalincorrectComponentPortion),
- returnResultLast [PRIVATE 10] IMPLICIT ReturnResult{{Returnable}},
- returnError
- [PRIVATE 11] IMPLICIT ReturnError{{Errors {{Returnable}}}},
- reject [PRIVATE 12] IMPLICIT Reject,
- invokeNotLast
- [PRIVATE 13] IMPLICIT Invoke{{InvokeIdSet}, {Invocable}}
- (CONSTRAINED BY {
- --invocable.&invokeLast must be FALSE --} !
- RejectProblem:generalincorrectComponentPortion),
- returnResultNotLast [PRIVATE 14] IMPLICIT ReturnResult{{Returnable}}}
- (CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:generalunrecognisedComponentType)
-
-Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
- componentIDs
- [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (0..2))
- -- The invoke ID precedes the correlation id. There may be no
- -- identifier,only an invoke ID, or both invoke and correlation
- -- ID.
- (CONSTRAINED BY {-- must be unambiguous --} !
- RejectProblem:invokeduplicateInvocation)
- (CONSTRAINED BY {-- correlation ID must identify an--
- -- outstanding operation --} !
- RejectProblem:invokeunrecognisedCorrelationId)
- OPTIONAL,
- -- operationCode
- opcode
- OPERATION.&operationCode
- -- ((Operations) !RejectProblem:invokeunrecognisedOperation),
- ({Operations} !RejectProblem:invokeunrecognisedOperation),
- parameter
- -- OPERATION.&ParameterType
- OPERATION.&ResultType
- ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL}
- (CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:generalincorrectComponentPortion)
- (CONSTRAINED BY { -- must have consistent encoding --} !
- RejectProblem:generalbadlyStructuredCompPortion)
- (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
- RejectProblem:generalincorrectComponentCoding)
-
-ReturnResult{OPERATION:Operations} ::= SEQUENCE {
- componentID
- [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (1))
- (CONSTRAINED BY {
- --must be that of an outstanding operation--} !
- RejectProblem:
- returnResultunrecognisedCorrelationId)
- (CONSTRAINED BY {-- which returns a result --} !
- RejectProblem:returnResultunexpectedReturnResult),
- parameter
- OPERATION.&ResultType
- -- ({Operations}{@opcode} !RejectProblem:returnResultincorrectParameter)
--- ({Operations}{@componentID} !RejectProblem:returnResultincorrectParameter)
- OPTIONAL}
- (CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:generalincorrectComponentPortion)
- (CONSTRAINED BY { -- must have consistent encoding --} !
- RejectProblem:generalbadlyStructuredCompPortion)
- (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
- RejectProblem:generalincorrectComponentCoding)
-
-ReturnError{ERROR:Errors} ::= SEQUENCE {
- componentID
- [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (1))
- (CONSTRAINED BY {
- --must be that of an outstanding operation--} !
- RejectProblem:returnErrorunrecognisedCorrelationId)
- (CONSTRAINED BY {--which returns an error--} !
- RejectProblem:returnErrorunexpectedReturnError),
- errorCode
- ERROR.&errorCode({Errors} !RejectProblem:returnErrorunrecognisedError)
- (CONSTRAINED BY {-- must be in the &Errors field of the--
- -- associated operation --} !RejectProblem:returnErrorunexpectedError),
- parameter
- -- Error.&ParameterType
- ERROR.&ParameterType
- -- ({Errors}{@errorcode} !RejectProblem:returnErrorincorrectParameter)
- ({Errors}{@errorCode} !RejectProblem:returnErrorincorrectParameter)
- OPTIONAL}
- (CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:generalincorrectComponentPortion)
- (CONSTRAINED BY { -- must have consistent encoding --} !
- RejectProblem:generalbadlyStructuredCompPortion)
- (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
- RejectProblem:generalincorrectComponentCoding)
-
-Reject ::= SEQUENCE {
- componentID [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (0..1)),
- rejectProblem [PRIVATE 21] IMPLICIT Problem,
- parameter
- CHOICE {paramSequence [PRIVATE 16] IMPLICIT SEQUENCE {},
- paramSet [PRIVATE 18] IMPLICIT SET {}}}
- -- The choice between paramSequence and paramSet is implementation
- -- dependent, however paramSequence is preferred.
- (CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:generalincorrectComponentPortion)
- (CONSTRAINED BY { -- must have consistent encoding --} !
- RejectProblem:generalbadlyStructuredCompPortion)
- (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
- RejectProblem:generalincorrectComponentCoding)
-
--- PROBLEMS, the specification of Problems follows
-Problem ::= INTEGER {
- generalunrecognisedComponentType(257), generalincorrectComponentPortion(258),
- generalbadlyStructuredCompPortion(259), generalincorrectComponentCoding(260),
- invokeduplicateInvocation(513), invokeunrecognisedOperation(514),
- invokeincorrectParameter(515), invokeunrecognisedCorrelationID(516),
- returnResultunrecognisedCorrelationID(769),
- returnResultunexpectedReturnResult(770), returnResultincorrectParameter(771),
- returnErrorunrecognisedCorrelationID(1025),
- returnErrorunexpectedReturnError(1026), returnErrorunrecognisedError(1027),
- returnErrorunexpectedError(1028),
- returnErrorincorrectParameter(1029),
- -- Applications using T1.114-1988 report Transaction portion
- -- problems using a Reject component with a problem code in
- -- the range 1281e6
- -- It is preferred that other applications report
- -- these problems using the Abort package type
- transactionunrecognizedPackageType(1281),
- transactionincorrectTransPortion(1282),
- transactionbadlyStructuredTransPortion(1283),
- transactionunassignedRespondingTransID(1284),
- transactionpermissionToReleaseProblem(1285),
- transactionresourceUnavailable(1286)}
-
- --added imaginary defs by Bertil
-
- InvokeId ::= CHOICE
-{
- present INTEGER,
- absent NULL
-}
-
-noInvokeId InvokeId ::= absent:NULL
-
-NoInvokeId InvokeId ::= {noInvokeId}
-
-probe OPERATION ::=
- {
- ARGUMENT SEQUENCE
- {
- invokeId [0] InvokeId
- }
- RESULT ENUMERATED{running(0), finished(1), unknown(2), ...}
- ERRORS ErrorSet
- ALWAYS RESPONDS TRUE
- CODE local:-2
- }
-
-acknowledge OPERATION ::=
- {
- ARGUMENT InvokeId
- RESULT ENUMERATED{acknowledged(0), unknown(1), ...}
- ALWAYS RESPONDS TRUE
- CODE local:-3
- }
-
-ProbeAndAcknowledge OPERATION ::= {probe | acknowledge}
-
-error1 ERROR ::= {PARAMETER INTEGER PRIORITY 25 CODE local:22}
-error2 ERROR ::= {PARAMETER BOOLEAN PRIORITY 15 CODE local:21}
-ErrorSet ERROR ::= {error1|error2}
---parameterized object set definition
-Errors{OPERATION:OperationSet} ERROR ::= {OperationSet.&Errors}
-
-END -- end of the TCAPPackage Module
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage.asn1config b/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage.asn1config
deleted file mode 100644
index b0ccd7d34c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage.asn1config
+++ /dev/null
@@ -1,12 +0,0 @@
-{exclusive_decode, {'TCAPPackage',
- [{decode_PackageType, ['PackageType',
- [{unidirectional, undecoded},
- {queryWithPerm, [{componentPortion, parts}]},
- {queryWithoutPerm, undecoded},
- {response, [{componentPortion, parts}]},
- {conversationWithPerm, undecoded},
- {conversationWithoutPerm, undecoded},
- {abort, undecoded}]]},
- {decode_TransactionPDU, ['TransactionPDU',
- [{componentPortion, parts}]]}]}}.
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage_msg.erl b/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage_msg.erl
deleted file mode 100644
index cc9a483f49..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/TCAPPackage_msg.erl
+++ /dev/null
@@ -1,141 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%
--module('TCAPPackage_msg').
-
--compile(export_all).
-
--include("TCAPPackage.hrl").
-
-val('PackageType',unidirectional) ->
- {unidirectional,val('UniTransactionPDU')};
-val('PackageType',abort) ->
- {abort,val('Abort')};
-val('PackageType',Component) ->
- {Component,val('TransactionPDU')};
-val('ComponentPDU',1) ->
- {invokeLast,val('Invoke')};
-val('ComponentPDU',2) ->
- {returnResultLast,val('ReturnResult')};
-val('ComponentPDU',3) ->
- {returnError,val('ReturnError')}.
-
-
-
-val('UniTransactionPDU') ->
- #'UniTransactionPDU'{identifier=val('TransactionID'),
- dialoguePortion=val('DialoguePortion'),
- componentPortion=val('ComponentSequence')};
-val('TransactionPDU') ->
- #'TransactionPDU'{identifier=val('TransactionID'),
- dialoguePortion=val('DialoguePortion'),
- componentPortion=val('ComponentSequence')};
-val('TransactionID') ->
- "OCTET STRING";
-val('DialoguePortion') ->
- #'DialoguePortion'{version=val('ProtocolVersion'),
- applicationContext={integerApplicationId,12},
- userInformation=val('UserInformation'),
- securityContext={integerSecurityId,13},
- confidentiality=val('Confidentiality')};
-val('Confidentiality') ->
- #'Confidentiality'{confidentialityId={integerConfidentialityId,14}};
-val('ProtocolVersion') ->
- "K";
-val('UserInformation') ->
- [val('EXTERNAL'),val('EXTERNAL')];
-val('EXTERNAL') ->
- #'EXTERNAL'{'direct-reference'={0,1,2},
- encoding={'single-ASN1-type',[1,2,3,4]}};
-val('ComponentSequence') ->
- [val('ComponentPDU',1),val('ComponentPDU',2),val('ComponentPDU',3)];
-val('Invoke') ->
- #'Invoke'{componentIDs="AB",
- opcode={local,-2},
- parameter=running};
-val('ReturnResult') ->
- #'ReturnResult'{componentID="C",
- parameter=[1,2,3,4]};
-val('ReturnError') ->
- #'ReturnError'{componentID="D",
- errorCode={local,21},
- parameter=true};
-val('Abort') ->
- #'Abort'{identifier=val('TransactionID'),
- dialoguePortion=val('DialoguePortion'),
- causeInformation={abortCause,unrecognizedPackageType}};
-val(Type) ->
- io:format("Missing type: ~p~n",[Type]).
-
-
-check_result('PackageType',unidirectional,Res) ->
- {unidirectional,
- {'UniTransactionPDU',
- "OCTET STRING",
- {'DialoguePortion',"K",
- {integerApplicationId,12},
- [_,%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal},
- _],%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal}],
- {integerSecurityId,13},
- {'Confidentiality',
- {integerConfidentialityId,14}}},
- [{invokeLast,
- {_,"AB",{local,-2},running}},
- {returnResultLast,{_,"C",_}},
- {returnError,{_,"D",{local,21},true}}]}} = Res,
- ok;
-%% check_OT_val(OTVal);
-check_result('PackageType',abort,Res)->
- {abort,{'Abort',"OCTET STRING",
- {'DialoguePortion',"K",
- {integerApplicationId,12},
- [_,%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal},
- _],%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal}],
- {integerSecurityId,13},
- {'Confidentiality',
- {integerConfidentialityId,14}}},
- {abortCause,unrecognizedPackageType}}} = Res,
- ok;
-%% check_OT_val(OTVal);
-check_result('PackageType',response,Res) ->
- {response,{'TransactionPDU',"OCTET STRING",
- {'DialoguePortion',
- "K",
- {integerApplicationId,12},
- [_,%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal},
- _],%{'EXTERNAL',{syntax,{0,1,2}},asn1_NOVALUE,OTVal}],
- {integerSecurityId,13},
- {'Confidentiality',
- {integerConfidentialityId,14}}},
- [{invokeLast,
- {_,"AB",{local,-2},running}},
- {returnResultLast,
- {_,"C",_}},
- {returnError,
- {_,"D",{local,21},true}}]}} = Res,
- ok.
-%% check_OT_val(OTVal).
-
-check_OT_val([160,4,1,2,3,4]) ->
- ok;
-check_OT_val(<<160,4,1,2,3,4>>) ->
- ok;
-check_OT_val(_) ->
- error.
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/TConstr.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/TConstr.asn1
deleted file mode 100644
index 63f5dbde77..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/TConstr.asn1
+++ /dev/null
@@ -1,95 +0,0 @@
--- The idea with this spec is to gather definitions that has a
--- complicated structure of table constraints.
-TConstr DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-MYCLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type,
- &Result OPTIONAL
-} WITH SYNTAX {
- ID &id
- TYPE &Type
- [RESULT &Result]
-}
-
-object1 MYCLASS ::= {ID id-object1 TYPE Type-object1 RESULT INTEGER}
-object2 MYCLASS ::= {ID id-object2 TYPE Type-object2}
-object3 MYCLASS ::= {ID id-object3 TYPE Type-object3 RESULT BOOLEAN}
-
-ObjectSet MYCLASS ::= {object1 | object2 | object3}
-
-id-object1 OBJECT IDENTIFIER ::= {2 4}
-id-object2 OBJECT IDENTIFIER ::= {2 5}
-id-object3 OBJECT IDENTIFIER ::= {2 6 7}
-
-
-Type-object1 ::= SEQUENCE {
- a INTEGER,
- b BOOLEAN
-}
-
-Type-object2 ::= ENUMERATED {first, second, third}
-
-Type-object3 ::= CHOICE {
- first SEQUENCE {a BOOLEAN, b INTEGER},
- second INTEGER
-}
-
-Seq1 ::= SEQUENCE {
- a SEQUENCE {aa INTEGER, ab MYCLASS.&id ({ObjectSet})},
- b SEQUENCE {ba INTEGER, bb MYCLASS.&Type ({ObjectSet}{@a.ab})}
-}
-
-Seq2 ::= SEQUENCE {
- identity INTEGER,
- content SEQUENCE {
- subid MYCLASS.&id ({ObjectSet}),
- subcontent MYCLASS.&Type ({ObjectSet}{@content.subid}),
- subresult MYCLASS.&Result ({ObjectSet}{@content.subid})
- }
-}
-
-
--- following from Peter's definitions
-
-
-MY-CLASS ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Type }
- WITH SYNTAX {
- ID &id
- TYPE &Type }
-
-Info ::= SEQUENCE {
- xyz SEQUENCE {
- abc MY-CLASS.&id({Supported})
- },
- uvw MY-CLASS.&Type ({Supported}{@xyz.abc}) }
-
-Supported MY-CLASS ::= { dsa | rsa }
-
--- dsa
-
- id-dsa OBJECT IDENTIFIER ::= { 1 2 }
-
- DSAPublicKey ::= INTEGER -- public key, y
-
- dsa MY-CLASS ::= {
- ID id-dsa
- TYPE DSAPublicKey }
-
--- rsa
-
- rsaEncryption OBJECT IDENTIFIER ::= { 1 3 4 }
-
- RSAPublicKey ::= SEQUENCE {
- modulus INTEGER, -- n
- publicExponent INTEGER } -- e
-
- rsa MY-CLASS ::= {
- ID rsaEncryption
- TYPE RSAPublicKey }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/TConstrChoice.asn1 b/lib/asn1/test/asn1_bin_v2_SUITE_data/TConstrChoice.asn1
deleted file mode 100644
index 4f17786e78..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/TConstrChoice.asn1
+++ /dev/null
@@ -1,175 +0,0 @@
-TConstrChoice DEFINITIONS ::=
-BEGIN
-
-
-FilterItem ::= CHOICE {
- equality [0] AttributeValueAssertion,
- substrings [1] SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- strings SEQUENCE OF CHOICE {
- initial [0] ATTRIBUTE.&Type
- ({SupportedAttributes}{@substrings.type}),
- any [1] ATTRIBUTE.&Type
- ({SupportedAttributes}{@substrings.type}),
- final [2] ATTRIBUTE.&Type
- ({SupportedAttributes}{@substrings.type}) }},
- greaterOrEqual [2] AttributeValueAssertion,
- lessOrEqual [3] AttributeValueAssertion,
- present [4] AttributeType,
- approximateMatch [5] AttributeValueAssertion,
- extensibleMatch [6] MatchingRuleAssertion }
-
-AttributeValueAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertion ATTRIBUTE.&equality-match.&AssertionType
- ({SupportedAttributes}{@type}) }
-
-MatchingRuleAssertion ::= SEQUENCE {
- type MATCHING-RULE.&id({MatchingRules}),
- assertion MATCHING-RULE.&AssertionType ({MatchingRules}{@type})
- }
-
-AttributeType ::= INTEGER(0..127)
-
-ATTRIBUTE ::= CLASS {
- &derivation ATTRIBUTE OPTIONAL,
- &Type OPTIONAL,
- &equality-match MATCHING-RULE OPTIONAL,
- &ordering-match MATCHING-RULE OPTIONAL,
- &substrings-match MATCHING-RULE OPTIONAL,
- &single-valued BOOLEAN DEFAULT FALSE,
- &collective BOOLEAN DEFAULT FALSE,
- &no-user-modification BOOLEAN DEFAULT FALSE,
- &usage Attribute-Usage DEFAULT userApplications,
- &id OBJECT IDENTIFIER UNIQUE }
-WITH SYNTAX {
- [SUBTYPE OF &derivation]
- [WITH SYNTAX &Type]
- [EQUALITY MATCHING RULE &equality-match]
- [ORDERING MATCHING RULE &ordering-match]
- [SUBSTRINGS MATCHING RULE &substrings-match]
- [SINGLE VALUE &single-valued]
- [COLLECTIVE &collective]
- [NO USER MODIFICATION &no-user-modification]
- [USAGE &usage]
- ID &id }
-
-Attribute-Usage ::= ENUMERATED { userApplications(0),
- directoryOperation(1), distributedOperation(2),
- dSAOperation(3) }
-
-
-surname ATTRIBUTE ::= { -- family name
- SUBTYPE OF name
- WITH SYNTAX DirectoryString
- ID id-at-surname }
-
-givenName ATTRIBUTE ::= { -- first name
- SUBTYPE OF name
- WITH SYNTAX DirectoryString
- ID id-at-givenName }
-
-countryName ATTRIBUTE ::= { -- country
- SUBTYPE OF name
- WITH SYNTAX PrintableString (SIZE (2)) -- [ISO3166] codes
- SINGLE VALUE TRUE
- ID id-at-countryName}
-
-SupportedAttributes ATTRIBUTE ::=
-{surname | givenName | countryName}
-
--- id-at-surname DirectoryString ::= universalString:"SureName"
-
-id-at-surname OBJECT IDENTIFIER ::= {2 4}
-
--- id-at-givenName DirectoryString ::= printableString:"GivenName"
-
-id-at-givenName OBJECT IDENTIFIER ::= {2 5}
-
--- id-at-countryName PrintableString (SIZE (2)) ::= "CN"
-
-id-at-countryName OBJECT IDENTIFIER ::= {2 6}
-
-MATCHING-RULE ::= CLASS {
- &AssertionType OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE }
-WITH SYNTAX {
- [SYNTAX &AssertionType]
- ID &id }
-
-MatchingRules MATCHING-RULE ::= {
- caseIgnoreMatch | booleanMatch | integerMatch }
-
-LessMatchingRules MATCHING-RULE ::= {
- MatchingRules EXCEPT caseIgnoreMatch }
-
-ExtensibleMatchingRules MATCHING-RULE ::= {
- caseIgnoreMatch | booleanMatch | integerMatch, ... }
-
-name ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString
- EQUALITY MATCHING RULE caseIgnoreMatch
- ID id-name }
-
-
-DirectoryString ::= CHOICE {
- teletexString TeletexString (SIZE (1..maxSize)),
- printableString PrintableString (SIZE (1..maxSize)),
- universalString UniversalString (SIZE (1..maxSize)),
- bmpString BMPString (SIZE (1..maxSize))
--- utf8String UTF8String (SIZE (1..maxSize))
- }
-
-maxSize INTEGER ::= 25
-
-caseIgnoreMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString
- ID id-caseIgnoreMatch
- }
-
-booleanMatch MATCHING-RULE ::= {
- SYNTAX BOOLEAN
- ID id-booleanMatch
- }
-
-integerMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-integerMatch
- }
-
-id-mr OBJECT IDENTIFIER ::=
-{2 5 11}
-
-id-name OBJECT IDENTIFIER ::= {2 5 11 5}
-
-id-caseIgnoreMatch OBJECT IDENTIFIER ::= {2 5 11 2}
-
-id-booleanMatch OBJECT IDENTIFIER ::= {2 5 11 13}
-
-id-integerMatch OBJECT IDENTIFIER ::= {2 5 11 14}
-
---{joint-iso-itu-t ds(5) matchingRule(13)}
-
--- test code for OTP-4248
-
-NOTUNIQUE ::= CLASS {
- &value INTEGER,
- &Type
-}
-WITH SYNTAX {
- VALUE &value
- TYPE &Type
-}
-
-
-nuObject NOTUNIQUE ::= {VALUE 3 TYPE FilterItem}
-
-NuObjectSet NOTUNIQUE ::= {nuObject}
-
-Seq ::= SEQUENCE {
- a NOTUNIQUE.&value ({NuObjectSet}),
- b NOTUNIQUE.&Type ({NuObjectSet}{@a})
-}
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Time.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Time.py
deleted file mode 100644
index e3672464e4..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Time.py
+++ /dev/null
@@ -1,7 +0,0 @@
-Time DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS;
-
-Pstr ::= PrintableString
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Tst.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Tst.py
deleted file mode 100644
index d80b32dad5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Tst.py
+++ /dev/null
@@ -1,153 +0,0 @@
-Tst { 2 6 6 24 7 1 } DEFINITIONS IMPLICIT TAGS ::=
-
-BEGIN
-
---EXPORTS SomeSet , Id0 , Aset,Id1 ,A,B,C,
--- Uhh ,Foo ,Cho,Person,Hobbe,Robbe,X,Y;
-
-IMPORTS Fooo FROM Bobby;
-
-
-Robbe ::= SET {
- ttt TT }
-
-Koo ::= SET {
- c CHOICE {
- a INTEGER,
- b BOOLEAN },
- s SET OF Id0 }
-
-
-Hobbe ::= [APPLICATION 1] SET {
- aaa [0] SET OF INTEGER,
- bbb [1] UU
- }
-
-UU ::= PP
-PP ::= CHOICE {
- cc [1] CHOICE {
- a [0] INTEGER,
- b [1] BOOLEAN,
- c [2] BIT STRING },
- ii [0] Id0
- }
-
-
-TT ::= SS
-SS ::= SET {
- b BOOLEAN DEFAULT TRUE
- }
-
-Aset ::= [PRIVATE 2] SET OF Uhh
-
-
-
-SomeSet ::= [PRIVATE 3] IMPLICIT SET {
- aaaa [2] SET{
- ggg [0] INTEGER},
- kkkk [1] SET OF Id2,
- booby [4] OCTET STRING,
- puck [3] INTEGER {red(0),blue(1),yellow(-2)},
- baby [5] IMPLICIT Id1,
- bool [6] BOOLEAN }
-
-
-Id0 ::= INTEGER (4 .. 99)
-
-Id1 ::= Id0
-
-Id2 ::= [PRIVATE 4] EXPLICIT Id1
-
-
-Uhh ::= SET {
- a [1] IMPLICIT Id1}
-
-
-
-Soon ::= [PRIVATE 5] Moon
-
-Moon ::= [PRIVATE 6] IMPLICIT Person
-
-
-Person ::= [PRIVATE 7] IMPLICIT SEQUENCE {
- szzzs SET OF SET {
- aaa [0] INTEGER,
- bbb [1] Id0},
- cho Cho,
- name OCTET STRING ,
- location INTEGER,
- asss Aset,
- oops [2] IMPLICIT SET {
- q [0] INTEGER,
- p [1] Uhh},
- on INTEGER,
- mybits [3] IMPLICIT BIT STRING,
- foo Foo,
- age INTEGER,
- hobbe [5] SEQUENCE {
- a [4] CHOICE {
- a INTEGER,
- b BOOLEAN },
- b [5] Id0}}
-
-
-
-
-
-Foo ::= [PRIVATE 8] IMPLICIT SEQUENCE {
- goofy [3] INTEGER OPTIONAL,
- somestring [10] IMPLICIT OCTET STRING DEFAULT '77BB'H,
- hoohoo [11] IMPLICIT SEQUENCE {
- bar [1] Id1 OPTIONAL,
- foo INTEGER,
- zombie [9] CHOICE {
- a [1] IMPLICIT INTEGER,
- b [2] IMPLICIT BOOLEAN }
- },
- moon [4] IMPLICIT INTEGER }
-
-
-
-Cho ::= [PRIVATE 9] EXPLICIT CHOICE {
- somestring [2] IMPLICIT OCTET STRING,
- goofy [9] INTEGER,
- moon [4] IMPLICIT INTEGER }
-
-
-A ::= [APPLICATION 2] SET {
- ppp IA5String ,
- a [0] INTEGER {aaa(6),bbb(77)} DEFAULT 998,
- b [1] Id1 OPTIONAL,
- c [2] OCTET STRING (SIZE(8)),
- dd [3] BIT STRING DEFAULT '11001'B }
-
-B ::= [APPLICATION 3] SET {
- ww [1] SET {
- a A OPTIONAL,
- goofy [3] INTEGER OPTIONAL,
- somestring [10] IMPLICIT OCTET STRING DEFAULT '77BB'H }
- }
-
-
-C::= [APPLICATION 4] SEQUENCE OF X
-
-Y ::= OBJECT IDENTIFIER
-
-X ::= SET {
- a NULL,
- b GeneralString,
- c UTCTime,
- d VideotexString,
- g GeneralizedTime,
- h GraphicString,
- i VisibleString,
- j IA5String,
- k PrintableString,
- l OCTET STRING,
- e TeletexString,
- m ANY,
- n ObjectDescriptor,
- o OBJECT IDENTIFIER,
- f NumericString }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/Two.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/Two.py
deleted file mode 100644
index c8e6f1a55b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/Two.py
+++ /dev/null
@@ -1,34 +0,0 @@
-Two { 1 2 3} DEFINITIONS EXPLICIT TAGS ::=
-
-BEGIN
-EXPORTS A, D,Boo,Szz;
-
-
-
-D ::= [PRIVATE 1] SEQUENCE {
- a INTEGER,
- b Boo,
- c ANY DEFINED BY a ,
- d ANY }
-
-
-Boo ::= SEQUENCE OF INTEGER (198..200)
-
-A ::= [PRIVATE 2] SEQUENCE {
- a INTEGER (1..1),
- b INTEGER (3..3) }
-
-
-Szz ::= CHOICE {
- one INTEGER,
- two BOOLEAN }
-
-C ::= SET {
- a [0] INTEGER (0..8),
- xx [4] CHOICE {
- [7] INTEGER (9..10),
- a INTEGER (11 ..13) },
- f Boo,
- r [2] INTEGER (20..22)}
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/UPERDefault.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/UPERDefault.asn
deleted file mode 100644
index 7b81a0e09f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/UPERDefault.asn
+++ /dev/null
@@ -1,18 +0,0 @@
-UPERDefault DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- OTP-7681
-Int ::= INTEGER (0..32767)
-
-Seq ::= SEQUENCE {
- a Int,
- b INTEGER (-27..27) DEFAULT 0, -- OTP-7678
- c INTEGER OPTIONAL
-}
-
-seq Seq ::=
-{a 12,
- b 0}
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/UndefType.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/UndefType.py
deleted file mode 100644
index cdbe083803..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/UndefType.py
+++ /dev/null
@@ -1,14 +0,0 @@
-Person DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-EXPORTS Person;
-IMPORTS
- ImportedFromUndefined FROM UndefinedModule;
-
-Feltyp ::= UndefinedType
-Feltyp2 ::= ImportedFromUndefined
-Person ::= [PRIVATE 19] SEQUENCE {
- name Undefined,
- location INTEGER {home(0),field(1),roving(2)},
- age ImportedFromUndefined OPTIONAL
- }
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/UpperBounds.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/UpperBounds.asn
deleted file mode 100755
index 247260495b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/UpperBounds.asn
+++ /dev/null
@@ -1,89 +0,0 @@
--- Module UpperBounds (X.520:08/1997)
-
-UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ub-answerback INTEGER ::=
- 8
-
-ub-business-category INTEGER ::= 128
-
-ub-common-name INTEGER ::= 64
-
-ub-country-code INTEGER ::= 4
-
-ub-description INTEGER ::= 1024
-
-ub-destination-indicator INTEGER ::= 128
-
-ub-directory-string-first-component-match INTEGER ::= 32768
-
-ub-international-isdn-number INTEGER ::= 16
-
-ub-knowledge-information INTEGER ::= 32768
-
-ub-locality-name INTEGER ::= 128
-
-ub-match INTEGER ::= 128
-
-ub-name INTEGER ::= 64
-
-ub-organization-name INTEGER ::= 64
-
-ub-organizational-unit-name INTEGER ::= 64
-
-ub-physical-office-name INTEGER ::= 128
-
-ub-post-office-box INTEGER ::= 40
-
-ub-postal-code INTEGER ::= 40
-
-ub-postal-line INTEGER ::= 6
-
-ub-postal-string INTEGER ::= 30
-
-ub-privacy-mark-length INTEGER ::= 128
-
-ub-schema INTEGER ::= 1024
-
-ub-search INTEGER ::= 1023-- This definition is missing; to be provided --
-
-ub-serial-number INTEGER ::= 64
-
-ub-state-name INTEGER ::= 128
-
-ub-street-address INTEGER ::= 128
-
-ub-surname INTEGER ::= 64
-
-ub-tag INTEGER ::= 64
-
-ub-telephone-number INTEGER ::= 32
-
-ub-teletex-terminal-id INTEGER ::= 1024
-
-ub-telex-number INTEGER ::= 14
-
-ub-title INTEGER ::= 64
-
-ub-user-password INTEGER ::= 128
-
-ub-x121-address INTEGER ::= 15
-
-ub-localeContextSyntax INTEGER ::= 128
-
-ub-locale-context-syntax INTEGER ::= 64
-
-ub-pseudonym INTEGER ::= 128
-
-ub-content INTEGER ::= 32768
-
-END -- UpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/UsefulDefinitions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/UsefulDefinitions.asn
deleted file mode 100755
index d9601bb7d0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/UsefulDefinitions.asn
+++ /dev/null
@@ -1,238 +0,0 @@
--- Module UsefulDefinitions (X.501:08/1997)
-UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ID ::= OBJECT IDENTIFIER
-
-ds ID ::= {joint-iso-itu-t ds(5)}
-
--- categories of information object
-module ID ::= {ds 1}
-
-serviceElement ID ::= {ds 2}
-
-applicationContext ID ::= {ds 3}
-
-attributeType ID ::= {ds 4}
-
-attributeSyntax ID ::= {ds 5}
-
-objectClass ID ::= {ds 6}
-
--- attributeSet ID ::= {ds 7}
-algorithm ID ::= {ds 8}
-
-abstractSyntax ID ::= {ds 9}
-
--- object ID ::= {ds 10}
--- port ID ::= {ds 11}
-dsaOperationalAttribute ID ::=
- {ds 12}
-
-matchingRule ID ::= {ds 13}
-
-knowledgeMatchingRule ID ::= {ds 14}
-
-nameForm ID ::= {ds 15}
-
-group ID ::= {ds 16}
-
-subentry ID ::= {ds 17}
-
-operationalAttributeType ID ::= {ds 18}
-
-operationalBinding ID ::= {ds 19}
-
-schemaObjectClass ID ::= {ds 20}
-
-schemaOperationalAttribute ID ::= {ds 21}
-
-administrativeRoles ID ::= {ds 23}
-
-accessControlAttribute ID ::= {ds 24}
-
-rosObject ID ::= {ds 25}
-
-contract ID ::= {ds 26}
-
-package ID ::= {ds 27}
-
-accessControlSchemes ID ::= {ds 28}
-
-certificateExtension ID ::= {ds 29}
-
-managementObject ID ::= {ds 30}
-
-attributeValueContext ID ::= {ds 31}
-
--- securityExchange ID ::= {ds 32}
-idmProtocol ID ::= {ds 33}
-
-problem ID ::= {ds 34}
-
-notification ID ::= {ds 35}
-
-matchingRestriction ID ::=
- {ds 36} -- None are currently defined by this specification
-
-controlAttributeType ID ::= {ds 37}
-
--- modules
-usefulDefinitions ID ::= {module usefulDefinitions(0) 3}
-
-informationFramework ID ::= {module informationFramework(1) 3}
-
-directoryAbstractService ID ::= {module directoryAbstractService(2) 3}
-
-distributedOperations ID ::= {module distributedOperations(3) 3}
-
-protocolObjectIdentifiers ID ::= {module protocolObjectIdentifiers(4) 3}
-
-selectedAttributeTypes ID ::= {module selectedAttributeTypes(5) 3}
-
-selectedObjectClasses ID ::= {module selectedObjectClasses(6) 3}
-
-authenticationFramework ID ::= {module authenticationFramework(7) 3}
-
-algorithmObjectIdentifiers ID ::= {module algorithmObjectIdentifiers(8) 3}
-
-directoryObjectIdentifiers ID ::= {module directoryObjectIdentifiers(9) 3}
-
-upperBounds ID ::= {module upperBounds(10) 3}
-
-dap ID ::= {module dap(11) 3}
-
-dsp ID ::= {module dsp(12) 3}
-
-distributedDirectoryOIDs ID ::= {module distributedDirectoryOIDs(13) 3}
-
-directoryShadowOIDs ID ::= {module directoryShadowOIDs(14) 3}
-
-directoryShadowAbstractService ID ::=
- {module directoryShadowAbstractService(15) 3}
-
-disp ID ::= {module disp(16) 3}
-
-dop ID ::= {module dop(17) 3}
-
-opBindingManagement ID ::= {module opBindingManagement(18) 3}
-
-opBindingOIDs ID ::= {module opBindingOIDs(19) 3}
-
-hierarchicalOperationalBindings ID ::=
- {module hierarchicalOperationalBindings(20) 3}
-
-dsaOperationalAttributeTypes ID ::= {module dsaOperationalAttributeTypes(22) 3}
-
-schemaAdministration ID ::= {module schemaAdministration(23) 3}
-
-basicAccessControl ID ::= {module basicAccessControl(24) 3}
-
-directoryOperationalBindingTypes ID ::=
- {module directoryOperationalBindingTypes(25) 3}
-
-certificateExtensions ID ::= {module certificateExtensions(26) 0}
-
-directoryManagement ID ::= {module directoryManagement(27) 1}
-
-enhancedSecurity ID ::= {module enhancedSecurity(28) 1}
-
-iDMProtocolSpecification ID ::= {module iDMProtocolSpecification(30) 4}
-
-directoryIDMProtocols ID ::= {module directoryIDMProtocols(31) 4}
-
--- directorySecurityExchanges ID ::= {module directorySecurityExchanges (29) 1}
--- synonyms
-id-oc ID ::=
- objectClass
-
-id-at ID ::= attributeType
-
-id-as ID ::= abstractSyntax
-
-id-mr ID ::= matchingRule
-
-id-nf ID ::= nameForm
-
-id-sc ID ::= subentry
-
-id-oa ID ::= operationalAttributeType
-
-id-ob ID ::= operationalBinding
-
-id-doa ID ::= dsaOperationalAttribute
-
-id-kmr ID ::= knowledgeMatchingRule
-
-id-soc ID ::= schemaObjectClass
-
-id-soa ID ::= schemaOperationalAttribute
-
-id-ar ID ::= administrativeRoles
-
-id-aca ID ::= accessControlAttribute
-
-id-ac ID ::= applicationContext
-
-id-rosObject ID ::= rosObject
-
-id-contract ID ::= contract
-
-id-package ID ::= package
-
-id-acScheme ID ::= accessControlSchemes
-
-id-ce ID ::= certificateExtension
-
-id-mgt ID ::= managementObject
-
-id-idm ID ::= idmProtocol
-
-id-avc ID ::= attributeValueContext
-
--- id-se ID ::= securityExchange
-id-pr ID ::= problem
-
-id-not ID ::= notification
-
-id-mre ID ::= matchingRestriction
-
-id-cat ID ::= controlAttributeType
-
--- obsolete module identifiers
--- usefulDefinition ID ::= {module 0}
--- informationFramework ID ::= {module 1}
--- directoryAbstractService ID ::= {module 2}
--- distributedOperations ID ::= {module 3}
--- protocolObjectIdentifiers ID ::= {module 4}
--- selectedAttributeTypes ID ::= {module 5}
--- selectedObjectClasses ID ::= {module 6}
--- authenticationFramework ID ::= {module 7}
--- algorithmObjectIdentifiers ID ::= {module 8}
--- directoryObjectIdentifiers ID ::= {module 9}
--- upperBounds ID ::= {module 10}
--- dap ID ::= {module 11}
--- dsp ID ::= {module 12}
--- distributedDirectoryObjectIdentifiers ID ::= {module 13}
--- unused module identifiers
--- directoryShadowOIDs ID ::= {module 14}
--- directoryShadowAbstractService ID ::= {module 15}
--- disp ID ::= {module 16}
--- dop ID ::= {module 17}
--- opBindingManagement ID ::= {module 18}
--- opBindingOIDs ID ::= {module 19}
--- hierarchicalOperationalBindings ID ::= {module 20}
--- dsaOperationalAttributeTypes ID ::= {module 22}
--- schemaAdministration ID ::= {module 23}
--- basicAccessControl ID ::= {module 24}
--- operationalBindingOIDs ID ::= {module 25}
-END -- UsefulDefinitions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/ValueTest.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/ValueTest.asn
deleted file mode 100644
index dae9ae498a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/ValueTest.asn
+++ /dev/null
@@ -1,53 +0,0 @@
-ValueTest DEFINITIONS ::=
-
-BEGIN
-
---Criticality ::= ENUMERATED { reject, ignore, notify }(reject)
-
---Ignore ::= Criticality(ignore)
-
---SubCriticality ::= Criticality(reject|notify)
-
-INNL ::= INTEGER {zero(0),one(1),ten(10)}
-BSNNL ::= BIT STRING {zero(0),one(1),two(2)}
-RadioButton ::= ENUMERATED {button1(0),button2(1),button3(2)}
-
--- OTP-6695
-vANY ANY ::= INTEGER:12
-
--- basic type value test for coverage
-vBOOLEAN BOOLEAN ::= TRUE
-vINTEGER INTEGER ::= 12
-vINTEGERNNL INNL ::= zero
-vENUMERATED RadioButton ::= button1
-vBS BSNNL ::= {zero,two}
-vNULL NULL ::= NULL
-vOS OCTET STRING ::= '313233'H
-vOD OBJECT IDENTIFIER ::= {2 1 1}
-
-
---Character strings
-numericstring NumericString ::= "01234567"
-printablestring PrintableString ::= "PrintableString"
-visiblestring VisibleString ::= "VisibleString"
-cr IA5String ::= {0,13}
-ia5string1 IA5String ::= {"First line",cr, "Second line"}
-ia5string2 IA5String ::= {{5,5},{4,4},{6,6}}
-teletexstring TeletexString ::= "TeletexString"
-videotexstring VideotexString ::= "VideotexString"
-utctime UTCTime ::= "97100211-0500"
-generalizedtime GeneralizedTime ::= "19971002103130.5"
-objectdescriptor ObjectDescriptor ::= "ObjectDescriptor"
-graphicstring GraphicString ::= "GraphicString"
-generalstring GeneralString ::= "GeneralString"
-bmpstring1 BMPString ::= "BMPString"
---bmpstring2 BMPString ::= [{0,0,0,66},{0,0,0,77},{0,0,0,80},{0,0,0,115},{0,0,0,116},{0,0,0,114},{0,0,0,105},{0,0,0,110},{0,0,0,103}]
-latinCapitalLetterA UniversalString ::= {0,0,0,65}
-greekCapitalLetterSigma UniversalString ::= {0,0,3,145}
-my-universalstring UniversalString ::= {"This is a capital A: ",
- latinCapitalLetterA,
- ", and a capital sigma: ",
- greekCapitalLetterSigma,
- "; try and spot the difference!"}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/XSeq.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/XSeq.py
deleted file mode 100644
index b068ab4393..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/XSeq.py
+++ /dev/null
@@ -1,42 +0,0 @@
-XSeq DEFINITIONS ::=
-BEGIN
-
--- F.2.10.2
--- Use a sequence type to model a collection of variables whose
--- types are the same,
--- whose number is known and modest, and whose order is significant,
--- provided that the
--- makeup of the collection is unlikely to change from one version
--- of the protocol to the next.
--- EXAMPLE
-
-NamesOfOfficers ::= SEQUENCE {
- president VisibleString,
- vicePresident VisibleString,
- secretary VisibleString}
-
-acmeCorp NamesOfOfficers ::= {
- president "Jane Doe",
- vicePresident "John Doe",
- secretary "Joe Doe"}
-
--- F.2.10.3
--- Use a sequence type to model a collection of variables whose types differ,
--- whose number is known and modest, and whose order is significant,
--- provided that
--- the makeup of the collection is unlikely to change from one version
--- of the protocol to the next.
--- EXAMPLE
-
-Credentials ::= SEQUENCE {
- userName VisibleString,
- password VisibleString,
- accountNumber INTEGER}
-
--- Empty SEQUENCE stupid but just for test
-BasicCallCategories ::= SEQUENCE
-{
- ... -- So far, no specific categories identified
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/XSeqOf.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/XSeqOf.py
deleted file mode 100644
index f9fee92e56..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/XSeqOf.py
+++ /dev/null
@@ -1,19 +0,0 @@
-XSeqOf DEFINITIONS ::=
-BEGIN
-
--- F.2.10.1
--- Use a sequence-of type to model a collection of variables whose
--- types are the same,
--- whose number is large or unpredictable, and whose order is significant.
--- EXAMPLE
-
-NamesOfMemberNations ::= SEQUENCE OF VisibleString
--- in alphabetical order
-
-firstTwo NamesOfMemberNations ::= {"Australia", "Austria"}
-
-DayNames1 ::= SEQUENCE SIZE(7) OF VisibleString
-DayNames2 ::= SEQUENCE SIZE(1..7) OF VisibleString
-DayNames3 ::= SEQUENCE (SIZE(7)) OF VisibleString
-DayNames4 ::= SEQUENCE (SIZE(1..7)) OF VisibleString
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/XSet.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/XSet.py
deleted file mode 100644
index 39e58a39ab..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/XSet.py
+++ /dev/null
@@ -1,47 +0,0 @@
-XSet DEFINITIONS ::=
-BEGIN
-
--- F.2.11.1
--- Use a set type to model a collection of variables whose number is
--- known and modest
--- and whose order is insignificant. If automatic tagging is not in
--- effect, identify each
--- variable by context-specifically tagging it as shown below.
--- (With automatic tagging, the tags are not needed.)
--- EXAMPLE
-
- UserName ::= SET {
- personalName [0] VisibleString,
- organizationName [1] VisibleString,
- countryName [2] VisibleString}
-
- user UserName ::= {
- countryName "Nigeria",
- personalName "Jonas Maruba",
- organizationName "Meteorology, Ltd."}
-
- UserName2 ::= SET {
- personalName [0] VisibleString,
- organizationName [1] VisibleString OPTIONAL
- -- defaults to that of the local organization -- ,
- countryName [2] VisibleString OPTIONAL
- -- defaults to that of the local country -- }
-
--- F.2.11.3
--- Use a set type to model a collection of variables whose makeup is
--- likely to change
--- from one version of the protocol to the next.
--- Identify each variable by context-specifically
--- tagging it to retain control of the tags used.
--- EXAMPLE
-
- UserName3 ::= SET {
- personalName [0] VisibleString,
- organizationName [1] VisibleString OPTIONAL ,
- -- defaults to that of the local organization
- countryName [2] VisibleString OPTIONAL
- -- defaults to that of the local country
- -- other optional attributes are for further study --}
- user3 UserName3 ::= { personalName "Jonas Maruba" }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/XSetOf.py b/lib/asn1/test/asn1_bin_v2_SUITE_data/XSetOf.py
deleted file mode 100644
index 93337d0c33..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/XSetOf.py
+++ /dev/null
@@ -1,12 +0,0 @@
-XSetOf DEFINITIONS ::=
-BEGIN
-
--- F.2.11.4
---Use a set-of type to model a collection of variables whose types are
--- the same and whose order is insignificant.
--- EXAMPLE
-
- Keywords ::= SET OF VisibleString -- in arbitrary order
- someASN1Keywords Keywords ::= {"INTEGER", "BOOLEAN", "REAL"}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg1.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg1.val
deleted file mode 100644
index 7802193dd2..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg1.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg10.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg10.val
deleted file mode 100644
index 8ba4a710ba..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg10.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg11.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg11.val
deleted file mode 100644
index c2298be3d9..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg11.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg12.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg12.val
deleted file mode 100644
index cb5c0c666c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg12.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg13.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg13.val
deleted file mode 100644
index 3fe1df73bb..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg13.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg14.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg14.val
deleted file mode 100644
index 17ad9159c5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg14.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg15.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg15.val
deleted file mode 100644
index 4ef840762d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg15.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg16.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg16.val
deleted file mode 100644
index 5252c4da38..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg16.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg17.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg17.val
deleted file mode 100644
index 8e040d78a2..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg17.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg18.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg18.val
deleted file mode 100644
index 0980cd37d4..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg18.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg19.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg19.val
deleted file mode 100644
index c49f885c71..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg19.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg2.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg2.val
deleted file mode 100644
index eeb8a5fb90..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg2.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg20.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg20.val
deleted file mode 100644
index 7b55708fa6..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg20.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg21.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg21.val
deleted file mode 100644
index 108eeb8b07..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg21.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg22.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg22.val
deleted file mode 100644
index 3d9f9fefcf..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg22.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg23.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg23.val
deleted file mode 100644
index 61a329a76a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg23.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg24.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg24.val
deleted file mode 100644
index 55adab5e8f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg24.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg25.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg25.val
deleted file mode 100644
index d351fb575a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg25.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg3.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg3.val
deleted file mode 100644
index 01b7a1335a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg3.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg4.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg4.val
deleted file mode 100644
index 462033fa84..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg4.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg5.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg5.val
deleted file mode 100644
index 78bdaa3200..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg5.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg6.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg6.val
deleted file mode 100644
index 24af9044a8..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg6.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg7.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg7.val
deleted file mode 100644
index ab028e7128..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg7.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg8.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg8.val
deleted file mode 100644
index 2d42b73c0c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg8.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg9.val b/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg9.val
deleted file mode 100644
index 3581dc033a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/megacomessages/Msg9.val
+++ /dev/null
Binary files differ
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/AuthenticationFramework.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/AuthenticationFramework.asn
deleted file mode 100644
index 5cfa9062f0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/AuthenticationFramework.asn
+++ /dev/null
@@ -1,290 +0,0 @@
--- Module AuthenticationFramework (X.509:08/1997)
-
-AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-at, id-mr, informationFramework, upperBounds, selectedAttributeTypes,
- basicAccessControl, certificateExtensions
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Name, ATTRIBUTE, AttributeType, MATCHING-RULE, Attribute
- FROM InformationFramework informationFramework
- ub-user-password
- FROM UpperBounds upperBounds
- AuthenticationLevel
- FROM BasicAccessControl basicAccessControl
- UniqueIdentifier, octetStringMatch
- FROM SelectedAttributeTypes selectedAttributeTypes
- certificateExactMatch, certificatePairExactMatch, certificateListExactMatch,
- GeneralNames
- FROM CertificateExtensions certificateExtensions;
-
--- basic certificate definition
-Certificate ::=
- SIGNED
- {SEQUENCE {version [0] Version DEFAULT v1,
- serialNumber CertificateSerialNumber,
- signature AlgorithmIdentifier,
- issuer Name,
- validity Validity,
- subject Name,
- subjectPublicKeyInfo SubjectPublicKeyInfo,
- issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
- -- if present, version must be v2 or v3
- subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
- -- if present, version must be v2 or v3
- extensions [3] Extensions OPTIONAL
- -- If present, version must be v3 -- }}
-
-Version ::= INTEGER {v1(0), v2(1), v3(2)}
-
-CertificateSerialNumber ::= INTEGER
-
-AlgorithmIdentifier ::= SEQUENCE {
- algorithm ALGORITHM.&id({SupportedAlgorithms}),
- parameters ALGORITHM.&Type({SupportedAlgorithms}{@algorithm}) OPTIONAL
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the parameters component of AlgorithmIdentifier.
-SupportedAlgorithms ALGORITHM ::=
-{...}
-
-Validity ::= SEQUENCE {notBefore Time,
- notAfter Time
-}
-
-SubjectPublicKeyInfo ::= SEQUENCE {
- algorithm AlgorithmIdentifier,
- subjectPublicKey BIT STRING
-}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-Extensions ::= SEQUENCE OF Extension
-
--- For those extensions where ordering of individual extensions within the SEQUENCE is significant, the
--- specification of those individual extensions shall include the rules for the significance of the order therein
-Extension ::= SEQUENCE {
- extnId EXTENSION.&id({ExtensionSet}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING-- contains a DER encoding of a value of type &ExtnType
--- for the extension object identified by extnId
-}
-
-ExtensionSet EXTENSION ::=
- {...}
-
-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
- &ExtnType
-}WITH SYNTAX {SYNTAX &ExtnType
- IDENTIFIED BY &id
-}
-
--- other certificate constructs
-Certificates ::= SEQUENCE {
- userCertificate Certificate,
- certificationPath ForwardCertificationPath OPTIONAL
-}
-
-ForwardCertificationPath ::= SEQUENCE OF CrossCertificates
-
-CrossCertificates ::= SET OF Certificate
-
-CertificationPath ::= SEQUENCE {
- userCertificate Certificate,
- theCACertificates SEQUENCE OF CertificatePair OPTIONAL
-}
-
-CertificatePair ::= SEQUENCE {
- issuedByThisCA [0] Certificate OPTIONAL,
- issuedToThisCA [1] Certificate OPTIONAL
- -- at least one of the pair shall be present
-}
-
--- Certificate Revocation List (CRL)
-CertificateList ::=
- SIGNED
- {SEQUENCE {version Version OPTIONAL,
- -- if present, version must be v2
- signature AlgorithmIdentifier,
- issuer Name,
- thisUpdate Time,
- nextUpdate Time OPTIONAL,
- revokedCertificates
- SEQUENCE OF
- SEQUENCE {userCertificate CertificateSerialNumber,
- revocationDate Time,
- crlEntryExtensions Extensions OPTIONAL} OPTIONAL,
- crlExtensions [0] Extensions OPTIONAL}}
-
--- attribute certificate
-AttributeCertificationPath ::= SEQUENCE {
- attributeCertificate AttributeCertificate,
- acPath SEQUENCE OF ACPathData OPTIONAL
-}
-
-ACPathData ::= SEQUENCE {
- certificate [0] Certificate OPTIONAL,
- attributeCertificate [1] AttributeCertificate OPTIONAL
-}
-
-attributeCertificate ATTRIBUTE ::= {
- WITH SYNTAX AttributeCertificate
- EQUALITY MATCHING RULE attributeCertificateMatch
- ID id-at-attributeCertificate
-}
-
-AttributeCertificate ::= SIGNED{AttributeCertificateInfo}
-
-AttributeCertificateInfo ::= SEQUENCE {
- version Version DEFAULT v1,
- subject
- CHOICE {baseCertificateID [0] IssuerSerial, -- associated with a Public Key Certificate--
- subjectName [1] GeneralNames}, -- associated with a name
- issuer GeneralNames, -- CA issuing the attribute certificate
- signature AlgorithmIdentifier,
- serialNumber CertificateSerialNumber,
- attCertValidityPeriod AttCertValidityPeriod,
- attributes SEQUENCE OF Attribute,
- issuerUniqueID UniqueIdentifier OPTIONAL,
- extensions Extensions OPTIONAL
-}
-
-IssuerSerial ::= SEQUENCE {
- issuer GeneralNames,
- serial CertificateSerialNumber,
- issuerUID UniqueIdentifier OPTIONAL
-}
-
-AttCertValidityPeriod ::= SEQUENCE {
- notBeforeTime GeneralizedTime,
- notAfterTime GeneralizedTime
-}
-
-attributeCertificateMatch MATCHING-RULE ::= {
- SYNTAX AttributeCertificateAssertion
- ID id-mr-attributeCertificateMatch
-}
-
-AttributeCertificateAssertion ::= SEQUENCE {
- subject
- [0] CHOICE {baseCertificateID [0] IssuerSerial,
- subjectName [1] Name} OPTIONAL,
- issuer [1] Name OPTIONAL,
- attCertValidity [2] GeneralizedTime OPTIONAL,
- attType [3] SET OF AttributeType OPTIONAL
-}
-
--- At least one component of the sequence must be present
--- attribute types
-userPassword ATTRIBUTE ::= {
- WITH SYNTAX OCTET STRING(SIZE (0..ub-user-password))
- EQUALITY MATCHING RULE octetStringMatch
- ID id-at-userPassword
-}
-
-userCertificate ATTRIBUTE ::= {
- WITH SYNTAX Certificate
- EQUALITY MATCHING RULE certificateExactMatch
- ID id-at-userCertificate
-}
-
-cACertificate ATTRIBUTE ::= {
- WITH SYNTAX Certificate
- EQUALITY MATCHING RULE certificateExactMatch
- ID id-at-cAcertificate
-}
-
-crossCertificatePair ATTRIBUTE ::= {
- WITH SYNTAX CertificatePair
- EQUALITY MATCHING RULE certificatePairExactMatch
- ID id-at-crossCertificatePair
-}
-
-authorityRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-authorityRevocationList
-}
-
-certificateRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-certificateRevocationList
-}
-
-attributeCertificateRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- ID id-at-attributeCertificateRevocationList
-}
-
--- information object classes
-ALGORITHM ::= TYPE-IDENTIFIER
-
--- parameterized types
-HASH{ToBeHashed} ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- hashValue
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying a hashing procedure to the DER-encoded octets
- -- of a value of -- ToBeHashed})
-}
-
-ENCRYPTED-HASH{ToBeSigned} ::=
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying a hashing procedure to the DER-encoded octets
- -- of a value of --ToBeSigned -- and then applying an encipherment procedure to those octets --})
-
-ENCRYPTED{ToBeEnciphered} ::=
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying an encipherment procedure
- -- to the BER-encoded octets of a value of --ToBeEnciphered})
-
-SIGNATURE{ToBeSigned} ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- encrypted ENCRYPTED-HASH{ToBeSigned}
-}
-
-SIGNED{ToBeSigned} ::= SEQUENCE {
- toBeSigned ToBeSigned,
- COMPONENTS OF SIGNATURE{ToBeSigned}
-}
-
--- object identifier assignments
-id-at-userPassword OBJECT IDENTIFIER ::=
- {id-at 35}
-
-id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
-
-id-at-cAcertificate OBJECT IDENTIFIER ::= {id-at 37}
-
-id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
-
-id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
-
-id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
-
-id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
-
-id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
-
-id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/BasicAccessControl.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/BasicAccessControl.asn
deleted file mode 100644
index d8b2b687ae..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/BasicAccessControl.asn
+++ /dev/null
@@ -1,184 +0,0 @@
--- Module BasicAccessControl (X.501:08/1997)
-BasicAccessControl {joint-iso-itu-t ds(5) module(1) basicAccessControl(24) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-aca, id-acScheme, informationFramework, upperBounds,
- selectedAttributeTypes, directoryAbstractService
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ATTRIBUTE, AttributeType, DistinguishedName, ContextAssertion,
- SubtreeSpecification, SupportedAttributes, MATCHING-RULE,
- objectIdentifierMatch, Refinement
- FROM InformationFramework informationFramework
- Filter
- FROM DirectoryAbstractService directoryAbstractService
- ub-tag
- FROM UpperBounds upperBounds
- NameAndOptionalUID, directoryStringFirstComponentMatch, DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes;
-
--- types
-ACIItem ::= SEQUENCE {
- identificationTag DirectoryString{ub-tag},
- precedence Precedence,
- authenticationLevel AuthenticationLevel,
- itemOrUserFirst
- CHOICE {itemFirst
- [0] SEQUENCE {protectedItems ProtectedItems,
- itemPermissions SET OF ItemPermission},
- userFirst
- [1] SEQUENCE {userClasses UserClasses,
- userPermissions SET OF UserPermission}}
-}
-
-Precedence ::= INTEGER(0..255)
-
-ProtectedItems ::= SEQUENCE {
- entry [0] NULL OPTIONAL,
- allUserAttributeTypes [1] NULL OPTIONAL,
- attributeType
- [2] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- allAttributeValues
- [3] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- allUserAttributeTypesAndValues [4] NULL OPTIONAL,
- attributeValue
- [5] SET SIZE (1..MAX) OF AttributeTypeAndValue OPTIONAL,
- selfValue
- [6] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- rangeOfValues [7] Filter OPTIONAL,
- maxValueCount
- [8] SET SIZE (1..MAX) OF MaxValueCount OPTIONAL,
- maxImmSub [9] INTEGER OPTIONAL,
- restrictedBy
- [10] SET SIZE (1..MAX) OF RestrictedValue OPTIONAL,
- contexts
- [11] SET SIZE (1..MAX) OF ContextAssertion OPTIONAL,
- classes [12] Refinement OPTIONAL
-}
-
-MaxValueCount ::= SEQUENCE {type AttributeType,
- maxCount INTEGER
-}
-
-RestrictedValue ::= SEQUENCE {type AttributeType,
- valuesIn AttributeType
-}
-
-UserClasses ::= SEQUENCE {
- allUsers [0] NULL OPTIONAL,
- thisEntry [1] NULL OPTIONAL,
- name [2] SET SIZE (1..MAX) OF NameAndOptionalUID OPTIONAL,
- userGroup [3] SET SIZE (1..MAX) OF NameAndOptionalUID OPTIONAL,
- -- dn component must be the name of an
- -- entry of GroupOfUniqueNames
- subtree [4] SET SIZE (1..MAX) OF SubtreeSpecification OPTIONAL
-}
-
-ItemPermission ::= SEQUENCE {
- precedence Precedence OPTIONAL,
- -- defaults to precedence in ACIItem
- userClasses UserClasses,
- grantsAndDenials GrantsAndDenials
-}
-
-UserPermission ::= SEQUENCE {
- precedence Precedence OPTIONAL,
- -- defaults to precedence in ACIItem
- protectedItems ProtectedItems,
- grantsAndDenials GrantsAndDenials
-}
-
-AuthenticationLevel ::= CHOICE {
- basicLevels
- SEQUENCE {level ENUMERATED {none(0), simple(1), strong(2)},
- localQualifier INTEGER OPTIONAL,
- signed BOOLEAN DEFAULT FALSE},
- other EXTERNAL
-}
-
-GrantsAndDenials ::= BIT STRING {
- -- permissions that may be used in conjunction
- -- with any component of ProtectedItems
- grantAdd(0), denyAdd(1), grantDiscloseOnError(2), denyDiscloseOnError(3),
- grantRead(4), denyRead(5), grantRemove(6),
- denyRemove(7),
- -- permissions that may be used only in conjunction
- -- with the entry component
- grantBrowse(8), denyBrowse(9), grantExport(10), denyExport(11),
- grantImport(12), denyImport(13), grantModify(14), denyModify(15),
- grantRename(16), denyRename(17), grantReturnDN(18),
- denyReturnDN(19),
- -- permissions that may be used in conjunction
- -- with any component, except entry, of ProtectedItems
- grantCompare(20), denyCompare(21), grantFilterMatch(22), denyFilterMatch(23),
- grantInvoke(24), denyInvoke(25)}
-
-AttributeTypeAndValue ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type})
-}
-
--- attributes
-accessControlScheme ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- USAGE directoryOperation
- ID id-aca-accessControlScheme
-}
-
-prescriptiveACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-prescriptiveACI
-}
-
-entryACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-entryACI
-}
-
-subentryACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-subentryACI
-}
-
--- object identifier assignments
--- attributes
-id-aca-accessControlScheme OBJECT IDENTIFIER ::=
- {id-aca 1}
-
-id-aca-prescriptiveACI OBJECT IDENTIFIER ::= {id-aca 4}
-
-id-aca-entryACI OBJECT IDENTIFIER ::= {id-aca 5}
-
-id-aca-subentryACI OBJECT IDENTIFIER ::= {id-aca 6}
-
--- access control schemes -
-basicAccessControlScheme OBJECT IDENTIFIER ::=
- {id-acScheme 1}
-
-simplifiedAccessControlScheme OBJECT IDENTIFIER ::= {id-acScheme 2}
-
-rule-based-access-control OBJECT IDENTIFIER ::= {id-acScheme 3}
-
-rule-and-basic-access-control OBJECT IDENTIFIER ::= {id-acScheme 4}
-
-rule-and-simple-access-control OBJECT IDENTIFIER ::= {id-acScheme 5}
-
-END -- BasicAccessControl
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/CertificateExtensions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/CertificateExtensions.asn
deleted file mode 100644
index 0daf2208e9..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/CertificateExtensions.asn
+++ /dev/null
@@ -1,498 +0,0 @@
--- Module CertificateExtensions (X.509:08/1997)
-
-CertificateExtensions {joint-iso-itu-t ds(5) module(1)
- certificateExtensions(26) 0} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS ALL
-IMPORTS
- id-at, id-ce, id-mr, informationFramework, authenticationFramework,
- selectedAttributeTypes, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Name, RelativeDistinguishedName, ATTRIBUTE, Attribute, MATCHING-RULE
- FROM InformationFramework informationFramework
- CertificateSerialNumber, CertificateList, AlgorithmIdentifier, EXTENSION,
- Time
- FROM AuthenticationFramework authenticationFramework
- DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes
- ub-name
- FROM UpperBounds upperBounds
- ORAddress
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- Unless explicitly noted otherwise, there is no significance to the ordering
--- of components of a SEQUENCE OF construct in this Specification.
--- Key and policy information extensions
-authorityKeyIdentifier EXTENSION ::= {
- SYNTAX AuthorityKeyIdentifier
- IDENTIFIED BY id-ce-authorityKeyIdentifier
-}
-
-AuthorityKeyIdentifier ::= SEQUENCE {
- keyIdentifier [0] KeyIdentifier OPTIONAL,
- authorityCertIssuer [1] GeneralNames OPTIONAL,
- authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- authorityCertIssuer PRESENT,
- authorityCertSerialNumber PRESENT
- } |
- WITH COMPONENTS {
- ...,
- authorityCertIssuer ABSENT,
- authorityCertSerialNumber ABSENT
- })
-
-KeyIdentifier ::= OCTET STRING
-
-subjectKeyIdentifier EXTENSION ::= {
- SYNTAX SubjectKeyIdentifier
- IDENTIFIED BY id-ce-subjectKeyIdentifier
-}
-
-SubjectKeyIdentifier ::= KeyIdentifier
-
-keyUsage EXTENSION ::= {SYNTAX KeyUsage
- IDENTIFIED BY id-ce-keyUsage
-}
-
-KeyUsage ::= BIT STRING {
- digitalSignature(0), nonRepudiation(1), keyEncipherment(2),
- dataEncipherment(3), keyAgreement(4), keyCertSign(5), cRLSign(6),
- encipherOnly(7), decipherOnly(8)}
-
-extKeyUsage EXTENSION ::= {
- SYNTAX SEQUENCE SIZE (1..MAX) OF KeyPurposeId
- IDENTIFIED BY id-ce-extKeyUsage
-}
-
-KeyPurposeId ::= OBJECT IDENTIFIER
-
-privateKeyUsagePeriod EXTENSION ::= {
- SYNTAX PrivateKeyUsagePeriod
- IDENTIFIED BY id-ce-privateKeyUsagePeriod
-}
-
-PrivateKeyUsagePeriod ::= SEQUENCE {
- notBefore [0] GeneralizedTime OPTIONAL,
- notAfter [1] GeneralizedTime OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- notBefore PRESENT
- } | WITH COMPONENTS {
- ...,
- notAfter PRESENT
- })
-
-certificatePolicies EXTENSION ::= {
- SYNTAX CertificatePoliciesSyntax
- IDENTIFIED BY id-ce-certificatePolicies
-}
-
-CertificatePoliciesSyntax ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
-
-PolicyInformation ::= SEQUENCE {
- policyIdentifier CertPolicyId,
- policyQualifiers SEQUENCE SIZE (1..MAX) OF PolicyQualifierInfo OPTIONAL
-}
-
-CertPolicyId ::= OBJECT IDENTIFIER
-
-PolicyQualifierInfo ::= SEQUENCE {
- policyQualifierId CERT-POLICY-QUALIFIER.&id({SupportedPolicyQualifiers}),
- qualifier
- CERT-POLICY-QUALIFIER.&Qualifier
- ({SupportedPolicyQualifiers}{@policyQualifierId}) OPTIONAL
-}
-
-SupportedPolicyQualifiers CERT-POLICY-QUALIFIER ::=
- {...}
-
-CERT-POLICY-QUALIFIER ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Qualifier OPTIONAL
-}WITH SYNTAX {POLICY-QUALIFIER-ID &id
- [QUALIFIER-TYPE &Qualifier]
-}
-
-policyMappings EXTENSION ::= {
- SYNTAX PolicyMappingsSyntax
- IDENTIFIED BY id-ce-policyMappings
-}
-
-PolicyMappingsSyntax ::=
- SEQUENCE SIZE (1..MAX) OF
- SEQUENCE {issuerDomainPolicy CertPolicyId,
- subjectDomainPolicy CertPolicyId}
-
-supportedAlgorithms ATTRIBUTE ::= {
- WITH SYNTAX SupportedAlgorithm
- EQUALITY MATCHING RULE algorithmIdentifierMatch
- ID id-at-supportedAlgorithms
-}
-
-SupportedAlgorithm ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- intendedUsage [0] KeyUsage OPTIONAL,
- intendedCertificatePolicies [1] CertificatePoliciesSyntax OPTIONAL
-}
-
--- Certificate subject and certificate issuer attributes extensions
-subjectAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-subjectAltName
-}
-
-GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
-
-GeneralName ::= CHOICE {
- otherName [0] INSTANCE OF OTHER-NAME,
- rfc822Name [1] IA5String,
- dNSName [2] IA5String,
- x400Address [3] ORAddress,
- directoryName [4] Name,
- ediPartyName [5] EDIPartyName,
- uniformResourceIdentifier [6] IA5String,
- iPAddress [7] OCTET STRING,
- registeredID [8] OBJECT IDENTIFIER
-}
-
-OTHER-NAME ::= TYPE-IDENTIFIER
-
-EDIPartyName ::= SEQUENCE {
- nameAssigner [0] DirectoryString{ub-name} OPTIONAL,
- partyName [1] DirectoryString{ub-name}
-}
-
-issuerAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-issuerAltName
-}
-
-subjectDirectoryAttributes EXTENSION ::= {
- SYNTAX AttributesSyntax
- IDENTIFIED BY id-ce-subjectDirectoryAttributes
-}
-
-AttributesSyntax ::= SEQUENCE SIZE (1..MAX) OF Attribute
-
--- Certification path constraints extensions
-basicConstraints EXTENSION ::= {
- SYNTAX BasicConstraintsSyntax
- IDENTIFIED BY id-ce-basicConstraints
-}
-
-BasicConstraintsSyntax ::= SEQUENCE {
- cA BOOLEAN DEFAULT FALSE,
- pathLenConstraint INTEGER(0..MAX) OPTIONAL
-}
-
-nameConstraints EXTENSION ::= {
- SYNTAX NameConstraintsSyntax
- IDENTIFIED BY id-ce-nameConstraint
-}
-
-NameConstraintsSyntax ::= SEQUENCE {
- permittedSubtrees [0] GeneralSubtrees OPTIONAL,
- excludedSubtrees [1] GeneralSubtrees OPTIONAL,
- requiredNameForms [2] NameForms OPTIONAL
-}
-
-GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
-
-GeneralSubtree ::= SEQUENCE {
- base GeneralName,
- minimum [0] BaseDistance DEFAULT 0,
- maximum [1] BaseDistance OPTIONAL
-}
-
-BaseDistance ::= INTEGER(0..MAX)
-
-NameForms ::= SEQUENCE {
- basicNameForms [0] BasicNameForms OPTIONAL,
- otherNameForms [1] SEQUENCE SIZE (1..MAX) OF OBJECT IDENTIFIER OPTIONAL
-}(ALL EXCEPT ({ --none; i.e.:at least one component shall be present--}))
-
-BasicNameForms ::= BIT STRING {
- rfc822Name(0), dNSName(1), x400Address(2), directoryName(3), ediPartyName(4),
- uniformResourceIdentifier(5), iPAddress(6), registeredID(7)}(SIZE (1..MAX))
-
-policyConstraints EXTENSION ::= {
- SYNTAX PolicyConstraintsSyntax
- IDENTIFIED BY id-ce-policyConstraints
-}
-
-PolicyConstraintsSyntax ::= SEQUENCE {
- requireExplicitPolicy [0] SkipCerts OPTIONAL,
- inhibitPolicyMapping [1] SkipCerts OPTIONAL
-}
-
-SkipCerts ::= INTEGER(0..MAX)
-
-CertPolicySet ::= SEQUENCE SIZE (1..MAX) OF CertPolicyId
-
--- Basic CRL extensions
-cRLNumber EXTENSION ::= {
- SYNTAX CRLNumber
- IDENTIFIED BY id-ce-cRLNumber
-}
-
-CRLNumber ::= INTEGER(0..MAX)
-
-reasonCode EXTENSION ::= {
- SYNTAX CRLReason
- IDENTIFIED BY id-ce-reasonCode
-}
-
-CRLReason ::= ENUMERATED {
- unspecified(0), keyCompromise(1), cACompromise(2), affiliationChanged(3),
- superseded(4), cessationOfOperation(5), certificateHold(6), removeFromCRL(8)
-}
-
-instructionCode EXTENSION ::= {
- SYNTAX HoldInstruction
- IDENTIFIED BY id-ce-instructionCode
-}
-
-HoldInstruction ::= OBJECT IDENTIFIER
-
-invalidityDate EXTENSION ::= {
- SYNTAX GeneralizedTime
- IDENTIFIED BY id-ce-invalidityDate
-}
-
--- CRL distribution points and delta-CRL extensions
-cRLDistributionPoints EXTENSION ::= {
- SYNTAX CRLDistPointsSyntax
- IDENTIFIED BY id-ce-cRLDistributionPoints
-}
-
-CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
-
-DistributionPoint ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- reasons [1] ReasonFlags OPTIONAL,
- cRLIssuer [2] GeneralNames OPTIONAL
-}
-
-DistributionPointName ::= CHOICE {
- fullName [0] GeneralNames,
- nameRelativeToCRLIssuer [1] RelativeDistinguishedName
-}
-
-ReasonFlags ::= BIT STRING {
- unused(0), keyCompromise(1), caCompromise(2), affiliationChanged(3),
- superseded(4), cessationOfOperation(5), certificateHold(6)}
-
-issuingDistributionPoint EXTENSION ::= {
- SYNTAX IssuingDistPointSyntax
- IDENTIFIED BY id-ce-issuingDistributionPoint
-}
-
-IssuingDistPointSyntax ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
- onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
- onlySomeReasons [3] ReasonFlags OPTIONAL,
- indirectCRL [4] BOOLEAN DEFAULT FALSE
-}
-
-certificateIssuer EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-certificateIssuer
-}
-
-deltaCRLIndicator EXTENSION ::= {
- SYNTAX BaseCRLNumber
- IDENTIFIED BY id-ce-deltaCRLIndicator
-}
-
-BaseCRLNumber ::= CRLNumber
-
-deltaRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-deltaRevocationList
-}
-
--- Matching rules
-certificateExactMatch MATCHING-RULE ::= {
- SYNTAX CertificateExactAssertion
- ID id-mr-certificateExactMatch
-}
-
-CertificateExactAssertion ::= SEQUENCE {
- serialNumber CertificateSerialNumber,
- issuer Name
-}
-
-certificateMatch MATCHING-RULE ::= {
- SYNTAX CertificateAssertion
- ID id-mr-certificateMatch
-}
-
-CertificateAssertion ::= SEQUENCE {
- serialNumber [0] CertificateSerialNumber OPTIONAL,
- issuer [1] Name OPTIONAL,
- subjectKeyIdentifier [2] SubjectKeyIdentifier OPTIONAL,
- authorityKeyIdentifier [3] AuthorityKeyIdentifier OPTIONAL,
- certificateValid [4] Time OPTIONAL,
- privateKeyValid [5] GeneralizedTime OPTIONAL,
- subjectPublicKeyAlgID [6] OBJECT IDENTIFIER OPTIONAL,
- keyUsage [7] KeyUsage OPTIONAL,
- subjectAltName [8] AltNameType OPTIONAL,
- policy [9] CertPolicySet OPTIONAL,
- pathToName [10] Name OPTIONAL
-}
-
-AltNameType ::= CHOICE {
- builtinNameForm
- ENUMERATED {rfc822Name(1), dNSName(2), x400Address(3), directoryName(4),
- ediPartyName(5), uniformResourceIdentifier(6), iPAddress(7),
- registeredId(8)},
- otherNameForm OBJECT IDENTIFIER
-}
-
-certificatePairExactMatch MATCHING-RULE ::= {
- SYNTAX CertificatePairExactAssertion
- ID id-mr-certificatePairExactMatch
-}
-
-CertificatePairExactAssertion ::= SEQUENCE {
- forwardAssertion [0] CertificateExactAssertion OPTIONAL,
- reverseAssertion [1] CertificateExactAssertion OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- forwardAssertion PRESENT
- } | WITH COMPONENTS {
- ...,
- reverseAssertion PRESENT
- })
-
-certificatePairMatch MATCHING-RULE ::= {
- SYNTAX CertificatePairAssertion
- ID id-mr-certificatePairMatch
-}
-
-CertificatePairAssertion ::= SEQUENCE {
- forwardAssertion [0] CertificateAssertion OPTIONAL,
- reverseAssertion [1] CertificateAssertion OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- forwardAssertion PRESENT
- } | WITH COMPONENTS {
- ...,
- reverseAssertion PRESENT
- })
-
-certificateListExactMatch MATCHING-RULE ::= {
- SYNTAX CertificateListExactAssertion
- ID id-mr-certificateListExactMatch
-}
-
-CertificateListExactAssertion ::= SEQUENCE {
- issuer Name,
- thisUpdate Time,
- distributionPoint DistributionPointName OPTIONAL
-}
-
-certificateListMatch MATCHING-RULE ::= {
- SYNTAX CertificateListAssertion
- ID id-mr-certificateListMatch
-}
-
-CertificateListAssertion ::= SEQUENCE {
- issuer Name OPTIONAL,
- minCRLNumber [0] CRLNumber OPTIONAL,
- maxCRLNumber [1] CRLNumber OPTIONAL,
- reasonFlags ReasonFlags OPTIONAL,
- dateAndTime Time OPTIONAL,
- distributionPoint [2] DistributionPointName OPTIONAL
-}
-
-algorithmIdentifierMatch MATCHING-RULE ::= {
- SYNTAX AlgorithmIdentifier
- ID id-mr-algorithmIdentifierMatch
-}
-
--- Object identifier assignments
-id-at-supportedAlgorithms OBJECT IDENTIFIER ::=
- {id-at 52}
-
-id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
-
-id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= {id-ce 9}
-
-id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 14}
-
-id-ce-keyUsage OBJECT IDENTIFIER ::= {id-ce 15}
-
-id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= {id-ce 16}
-
-id-ce-subjectAltName OBJECT IDENTIFIER ::= {id-ce 17}
-
-id-ce-issuerAltName OBJECT IDENTIFIER ::= {id-ce 18}
-
-id-ce-basicConstraints OBJECT IDENTIFIER ::= {id-ce 19}
-
-id-ce-cRLNumber OBJECT IDENTIFIER ::= {id-ce 20}
-
-id-ce-reasonCode OBJECT IDENTIFIER ::= {id-ce 21}
-
-id-ce-instructionCode OBJECT IDENTIFIER ::= {id-ce 23}
-
-id-ce-invalidityDate OBJECT IDENTIFIER ::= {id-ce 24}
-
-id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= {id-ce 27}
-
-id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 28}
-
-id-ce-certificateIssuer OBJECT IDENTIFIER ::= {id-ce 29}
-
-id-ce-nameConstraint OBJECT IDENTIFIER ::= {id-ce 30 1}
-
-id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
-
-id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32}
-
-id-ce-policyMappings OBJECT IDENTIFIER ::= {id-ce 33}
-
--- deprecated OBJECT IDENTIFIER ::= {id-ce 34}
-id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=
- {id-ce 35}
-
-id-ce-policyConstraints OBJECT IDENTIFIER ::= {id-ce 36}
-
-id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
-
-id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
-
-id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
-
-id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
-
-id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
-
-id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
-
-id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
-
-id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
-
-id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= {id-ce 54}
-
--- The following OBJECT IDENTIFIERS are not used by this Specification:
--- {id-ce 2}, {id-ce 3}, {id-ce 4}, {id-ce 5}, {id-ce 6}, {id-ce 7},
--- {id-ce 8}, {id-ce 10}, {id-ce 11}, {id-ce 12}, {id-ce 13},
--- {id-ce 22}, {id-ce 25}, {id-ce 26}, {id-ce 30}
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/InformationFramework.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/InformationFramework.asn
deleted file mode 100644
index 5c26febd5b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/InformationFramework.asn
+++ /dev/null
@@ -1,868 +0,0 @@
--- Module InformationFramework (X.501:08/1997)
-InformationFramework {joint-iso-itu-t ds(5) module(1) informationFramework(1)
- 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-oc, id-at, id-mr, id-oa, id-sc, id-ar, id-nf, selectedAttributeTypes,
- directoryAbstractService, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- commonName, generalizedTimeMatch, generalizedTimeOrderingMatch, booleanMatch,
- integerMatch, integerOrderingMatch, objectIdentifierFirstComponentMatch,
- integerFirstComponentMatch, DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes
--- TypeAndContextAssertion, ServiceControlOptions, SearchControlOptions,
--- HierarchySelections, FamilyGrouping, FamilyReturn
--- FROM DirectoryAbstractService directoryAbstractService
- ub-search
- FROM UpperBounds upperBounds;
-
--- attribute data types
-Attribute ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- values
- SET SIZE (0..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
-AttributeType ::= ATTRIBUTE.&id
-
-AttributeValue ::= ATTRIBUTE.&Type
-
-Context ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Type({SupportedContexts}{@contextType}),
- fallback BOOLEAN DEFAULT FALSE
-}
-
-AttributeValueAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertion
- ATTRIBUTE.&equality-match.&AssertionType({SupportedAttributes}{@type}),
- assertedContexts
- CHOICE {allContexts [0] NULL,
- selectedContexts [1] SET SIZE (1..MAX) OF ContextAssertion
- } OPTIONAL
-}
-
-ContextAssertion ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Assertion({SupportedContexts}{@contextType})
-}
-
-AttributeTypeAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertedContexts SEQUENCE SIZE (1..MAX) OF ContextAssertion OPTIONAL
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the values component of Attribute, the value component
--- of AttributeTypeAndValue, and the assertion component of AttributeValueAssertion.
-SupportedAttributes ATTRIBUTE ::=
- {objectClass | aliasedEntryName, ...}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the context specifications
-SupportedContexts CONTEXT ::=
- {...}
-
--- naming data types
-Name ::= CHOICE { -- only one possibility for now --rdnSequence RDNSequence
-}
-
-RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
-
-DistinguishedName ::= RDNSequence
-
-RelativeDistinguishedName ::=
- SET SIZE (1..MAX) OF AttributeTypeAndDistinguishedValue
-
-AttributeTypeAndDistinguishedValue ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- primaryDistinguished BOOLEAN DEFAULT TRUE,
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {distingAttrValue
- [0] ATTRIBUTE.&Type({SupportedAttributes}{@type}) OPTIONAL,
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
--- subtree data types
-SubtreeSpecification ::= SEQUENCE {
- base [0] LocalName DEFAULT {},
- COMPONENTS OF ChopSpecification,
- specificationFilter [4] Refinement OPTIONAL
-}
-
--- empty sequence specifies whole administrative area
-LocalName ::= RDNSequence
-
-ChopSpecification ::= SEQUENCE {
- specificExclusions
- [1] SET SIZE (1..MAX) OF
- CHOICE {chopBefore [0] LocalName,
- chopAfter [1] LocalName} OPTIONAL,
- minimum [2] BaseDistance DEFAULT 0,
- maximum [3] BaseDistance OPTIONAL
-}
-
-BaseDistance ::= INTEGER(0..MAX)
-
-Refinement ::= CHOICE {
- item [0] OBJECT-CLASS.&id,
- and [1] SET OF Refinement,
- or [2] SET OF Refinement,
- not [3] Refinement
-}
-
--- OBJECT-CLASS information object class specification
-OBJECT-CLASS ::= CLASS {
- &Superclasses OBJECT-CLASS OPTIONAL,
- &kind ObjectClassKind DEFAULT structural,
- &MandatoryAttributes ATTRIBUTE OPTIONAL,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBCLASS OF &Superclasses]
- [KIND &kind]
- [MUST CONTAIN &MandatoryAttributes]
- [MAY CONTAIN &OptionalAttributes]
- ID &id
-}
-
-ObjectClassKind ::= ENUMERATED {abstract(0), structural(1), auxiliary(2)}
-
--- object classes
-top OBJECT-CLASS ::= {
- KIND abstract
- MUST CONTAIN {objectClass}
- ID id-oc-top
-}
-
-alias OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- MUST CONTAIN {aliasedEntryName}
- ID id-oc-alias
-}
-
-parent OBJECT-CLASS ::= {KIND abstract
- ID id-oc-parent
-}
-
-child OBJECT-CLASS ::= {KIND auxiliary
- ID id-oc-child
-}
-
--- ATTRIBUTE information object class specification
-ATTRIBUTE ::= CLASS {
- &derivation ATTRIBUTE OPTIONAL,
- &Type OPTIONAL, -- either &Type or &derivation required
- &equality-match MATCHING-RULE OPTIONAL,
- &ordering-match MATCHING-RULE OPTIONAL,
- &substrings-match MATCHING-RULE OPTIONAL,
- &single-valued BOOLEAN DEFAULT FALSE,
- &collective BOOLEAN DEFAULT FALSE,
- -- operational extensions
- &no-user-modification BOOLEAN DEFAULT FALSE,
- &usage AttributeUsage DEFAULT userApplications,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBTYPE OF &derivation]
- [WITH SYNTAX &Type]
- [EQUALITY MATCHING RULE &equality-match]
- [ORDERING MATCHING RULE &ordering-match]
- [SUBSTRINGS MATCHING RULE &substrings-match]
- [SINGLE VALUE &single-valued]
- [COLLECTIVE &collective]
- [NO USER MODIFICATION &no-user-modification]
- [USAGE &usage]
- ID &id
-}
-
-AttributeUsage ::= ENUMERATED {
- userApplications(0), directoryOperation(1), distributedOperation(2),
- dSAOperation(3)}
-
--- attributes
-objectClass ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-objectClass
-}
-
-aliasedEntryName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- ID id-at-aliasedEntryName
-}
-
--- MATCHING-RULE information object class specification
-MATCHING-RULE ::= CLASS {
- &ParentMatchingRules MATCHING-RULE.&id OPTIONAL,
- &AssertionType OPTIONAL,
- &uniqueMatchIndicator ATTRIBUTE.&id OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [PARENT &ParentMatchingRules]
- [SYNTAX &AssertionType]
- [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator]
- ID &id
-}
-
--- matching rules
-objectIdentifierMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierMatch
-}
-
-distinguishedNameMatch MATCHING-RULE ::= {
- SYNTAX DistinguishedName
- ID id-mr-distinguishedNameMatch
-}
-
-MAPPING-BASED-MATCHING{SelectedBy, BOOLEAN:combinable, MappingResult,
- OBJECT IDENTIFIER:matchingRule} ::= CLASS {
- &selectBy SelectedBy OPTIONAL,
- &ApplicableTo ATTRIBUTE,
- &subtypesIncluded BOOLEAN DEFAULT TRUE,
- &combinable BOOLEAN(combinable),
- &mappingResults MappingResult OPTIONAL,
- &userControl BOOLEAN DEFAULT FALSE,
- &exclusive BOOLEAN DEFAULT TRUE,
- &matching-rule MATCHING-RULE.&id(matchingRule),
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SELECT BY &selectBy]
- APPLICABLE TO &ApplicableTo
- [SUBTYPES INCLUDED &subtypesIncluded]
- COMBINABLE &combinable
- [MAPPING RESULTS &mappingResults]
- [USER CONTROL &userControl]
- [EXCLUSIVE &exclusive]
- MATCHING RULE &matching-rule
- ID &id
-}
-
--- NAME-FORM information object class specification
-NAME-FORM ::= CLASS {
- &namedObjectClass OBJECT-CLASS,
- &MandatoryAttributes ATTRIBUTE,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- NAMES &namedObjectClass
- WITH ATTRIBUTES &MandatoryAttributes
- [AND OPTIONALLY &OptionalAttributes]
- ID &id
-}
-
--- STRUCTURE-RULE class and DIT structure rule data types
-STRUCTURE-RULE ::= CLASS {
- &nameForm NAME-FORM,
- &SuperiorStructureRules STRUCTURE-RULE OPTIONAL,
- &id RuleIdentifier
-}
-WITH SYNTAX {
- NAME FORM &nameForm
- [SUPERIOR RULES &SuperiorStructureRules]
- ID &id
-}
-
-DITStructureRule ::= SEQUENCE {
- ruleIdentifier RuleIdentifier,
- -- must be unique within the scope of the subschema
- nameForm NAME-FORM.&id,
- superiorStructureRules SET SIZE (1..MAX) OF RuleIdentifier OPTIONAL
-}
-
-RuleIdentifier ::= INTEGER
-
--- CONTENT-RULE class and DIT content rule data types
-CONTENT-RULE ::= CLASS {
- &structuralClass OBJECT-CLASS.&id UNIQUE,
- &Auxiliaries OBJECT-CLASS OPTIONAL,
- &Mandatory ATTRIBUTE OPTIONAL,
- &Optional ATTRIBUTE OPTIONAL,
- &Precluded ATTRIBUTE OPTIONAL
-}
-WITH SYNTAX {
- STRUCTURAL OBJECT-CLASS &structuralClass
- [AUXILIARY OBJECT-CLASSES &Auxiliaries]
- [MUST CONTAIN &Mandatory]
- [MAY CONTAIN &Optional]
- [MUST-NOT CONTAIN &Precluded]
-}
-
-DITContentRule ::= SEQUENCE {
- structuralObjectClass OBJECT-CLASS.&id,
- auxiliaries SET SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL,
- mandatory [1] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- optional [2] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- precluded [3] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL
-}
-
-CONTEXT ::= CLASS {
- &Type ,
- &Assertion OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {WITH SYNTAX &Type
- [ASSERTED AS &Assertion]
- ID &id
-}
-
-DITContextUse ::= SEQUENCE {
- attributeType ATTRIBUTE.&id,
- mandatoryContexts [1] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL,
- optionalContexts [2] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL
-}
-
-DIT-CONTEXT-USE-RULE ::= CLASS {
- &attributeType ATTRIBUTE.&id UNIQUE,
- &Mandatory CONTEXT OPTIONAL,
- &Optional CONTEXT OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [MANDATORY CONTEXTS &Mandatory]
- [OPTIONAL CONTEXTS &Optional]
-}
-
--- system schema information objects
--- object classes
-subentry OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- KIND structural
- MUST CONTAIN {commonName | subtreeSpecification}
- ID id-sc-subentry
-}
-
-subentryNameForm NAME-FORM ::= {
- NAMES subentry
- WITH ATTRIBUTES {commonName}
- ID id-nf-subentryNameForm
-}
-
-accessControlSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-accessControlSubentry
-}
-
-collectiveAttributeSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-collectiveAttributeSubentry
-}
-
---contextAssertionSubentry OBJECT-CLASS ::= {
--- KIND auxiliary
--- MUST CONTAIN {contextAssertionDefaults}
--- ID id-sc-contextAssertionSubentry
---}
-
--- serviceAdminSubentry OBJECT-CLASS ::= {
--- KIND auxiliary
--- MUST CONTAIN {searchRules}
--- ID id-sc-serviceAdminSubentry
--- }
-
--- attributes
-createTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-createTimestamp
-}
-
-modifyTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifyTimestamp
-}
-
-subschemaTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec.X. 680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaTimestamp
-}
-
-creatorsName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-creatorsName
-}
-
-modifiersName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifiersName
-}
-
-subschemaSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaSubentryList
-}
-
-accessControlSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-accessControlSubentryList
-}
-
-collectiveAttributeSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-collectiveAttributeSubentryList
-}
-
-contextDefaultSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-contextDefaultSubentryList
-}
-
-serviceAdminSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-serviceAdminSubentryList
-}
-
-hasSubordinates ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hasSubordinates
-}
-
-administrativeRole ATTRIBUTE ::= {
- WITH SYNTAX OBJECT-CLASS.&id
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-administrativeRole
-}
-
-subtreeSpecification ATTRIBUTE ::= {
- WITH SYNTAX SubtreeSpecification
- USAGE directoryOperation
- ID id-oa-subtreeSpecification
-}
-
-collectiveExclusions ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-collectiveExclusions
-}
-
--- contextAssertionDefaults ATTRIBUTE ::= {
--- WITH SYNTAX TypeAndContextAssertion
--- EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
--- USAGE directoryOperation
--- ID id-oa-contextAssertionDefault
--- }
-
--- searchRules ATTRIBUTE ::= {
--- WITH SYNTAX SearchRuleDescription
--- EQUALITY MATCHING RULE integerFirstComponentMatch
--- USAGE directoryOperation
--- ID id-oa-searchRules
--- }
-
--- SearchRuleDescription ::= SEQUENCE {
--- COMPONENTS OF SearchRule,
--- name [28] SET SIZE (1..MAX) OF DirectoryString{ub-search} OPTIONAL,
--- description [29] DirectoryString{ub-search} OPTIONAL,
--- obsolete [30] BOOLEAN DEFAULT FALSE
--- }
-
-hierarchyLevel ATTRIBUTE ::= {
- WITH SYNTAX INTEGER
- EQUALITY MATCHING RULE integerMatch
- ORDERING MATCHING RULE integerOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyLevel
-}
-
-hierarchyBelow ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyBelow
-}
-
-hierarchyParent ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyParent
-}
-
--- SearchRule ::= SEQUENCE {
--- COMPONENTS OF SearchRuleId,
--- serviceType [1] OBJECT IDENTIFIER OPTIONAL,
--- userClass [2] INTEGER OPTIONAL,
--- inputAttributeTypes
--- [3] SEQUENCE SIZE (1..MAX) OF RequestAttribute OPTIONAL,
--- attributeCombination [4] AttributeCombination DEFAULT and:{},
--- outputAttributeTypes [5] SEQUENCE SIZE (1..MAX) OF ResultAttribute OPTIONAL,
--- defaultControls [6] ControlOptions OPTIONAL,
--- mandatoryControls [7] ControlOptions OPTIONAL,
--- searchRuleControls [8] ControlOptions OPTIONAL,
--- familyGrouping [9] FamilyGrouping OPTIONAL,
--- familyReturn [10] FamilyReturn OPTIONAL,
--- relaxation [11] RelaxationPolicy OPTIONAL,
--- additionalControl [12] SEQUENCE SIZE (1..MAX) OF AttributeType OPTIONAL,
--- allowedSubset [13] AllowedSubset DEFAULT '111'B,
--- imposedSubset [14] ImposedSubset OPTIONAL,
--- entryLimit [15] EntryLimit OPTIONAL
--- }
-
-SearchRuleId ::= SEQUENCE {id INTEGER,
- dmdId [0] OBJECT IDENTIFIER
-}
-
-AllowedSubset ::= BIT STRING {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-ImposedSubset ::= ENUMERATED {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-RequestAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- includeSubtypes [0] BOOLEAN DEFAULT FALSE,
- selectedValues
- [1] SEQUENCE SIZE (0..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}) OPTIONAL,
- defaultValues
- [2] SEQUENCE SIZE (0..MAX) OF
- SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values
- SEQUENCE OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType})
- } OPTIONAL,
- contexts [3] SEQUENCE SIZE (0..MAX) OF ContextProfile OPTIONAL,
- contextCombination [4] ContextCombination DEFAULT and:{},
- matchingUse [5] SEQUENCE SIZE (1..MAX) OF MatchingUse OPTIONAL
-}
-
-ContextProfile ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValue
- SEQUENCE SIZE (1..MAX) OF
- CONTEXT.&Assertion({SupportedContexts}{@contextType}) OPTIONAL
-}
-
-ContextCombination ::= CHOICE {
- context [0] CONTEXT.&id,
- and [1] SEQUENCE OF ContextCombination,
- or [2] SEQUENCE OF ContextCombination,
- not [3] ContextCombination
-}
-
-MatchingUse ::= SEQUENCE {
- restrictionType MATCHING-RESTRICTION.&id({SupportedMatchingRestrictions}),
- restrictionValue
- MATCHING-RESTRICTION.&Restriction
- ({SupportedMatchingRestrictions}{@restrictionType})
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the components of SupportedMatchingRestrictions
-SupportedMatchingRestrictions MATCHING-RESTRICTION ::=
- {...}
-
-AttributeCombination ::= CHOICE {
- attribute [0] AttributeType,
- and [1] SEQUENCE OF AttributeCombination,
- or [2] SEQUENCE OF AttributeCombination,
- not [3] AttributeCombination
-}
-
-ResultAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- outputValues
- CHOICE {selectedValues
- SEQUENCE SIZE (1..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}),
- matchedValuesOnly NULL} OPTIONAL,
- contexts [0] SEQUENCE SIZE (1..MAX) OF ContextProfile OPTIONAL
-}
-
-OutputValues ::= CHOICE {
- selectedValues
- SEQUENCE SIZE (1..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}),
- matchedValuesOnly NULL
-}
-
--- ControlOptions ::= SEQUENCE {
--- serviceControls [0] ServiceControlOptions DEFAULT {},
--- searchOptions [1] SearchControlOptions DEFAULT {searchAliases},
--- hierarchyOptions [2] HierarchySelections OPTIONAL
--- }
-
-EntryLimit ::= SEQUENCE {default INTEGER,
- max INTEGER
-}
-
-RelaxationPolicy ::= SEQUENCE {
- basic [0] MRMapping DEFAULT {},
- tightenings [1] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- relaxations [2] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- maximum [3] INTEGER OPTIONAL, -- mandatory if tightenings is present
- minimum [4] INTEGER DEFAULT 1
-}
-
-MRMapping ::= SEQUENCE {
- mapping [0] SEQUENCE SIZE (1..MAX) OF Mapping OPTIONAL,
- substitution [1] SEQUENCE SIZE (1..MAX) OF MRSubstitution OPTIONAL
-}
-
-Mapping ::= SEQUENCE {
- mappingFunction
- OBJECT IDENTIFIER
- (CONSTRAINED BY {-- shall be an--
-
- -- object identifier of a mapping-based matching algorithm -- }),
- level INTEGER DEFAULT 0
-}
-
-MRSubstitution ::= SEQUENCE {
- attribute AttributeType,
- oldMatchingRule [0] MATCHING-RULE.&id OPTIONAL,
- newMatchingRule [1] MATCHING-RULE.&id OPTIONAL
-}
-
--- SEARCH-RULE ::= CLASS {
--- &dmdId OBJECT IDENTIFIER,
--- &serviceType OBJECT IDENTIFIER OPTIONAL,
--- &userClass INTEGER OPTIONAL,
--- &InputAttributeTypes REQUEST-ATTRIBUTE OPTIONAL,
--- &combination AttributeCombination OPTIONAL,
--- &OutputAttributeTypes RESULT-ATTRIBUTE OPTIONAL,
--- &defaultControls ControlOptions OPTIONAL,
--- &mandatoryControls ControlOptions OPTIONAL,
--- &searchRuleControls ControlOptions OPTIONAL,
--- &familyGrouping FamilyGrouping OPTIONAL,
--- &familyReturn FamilyReturn OPTIONAL,
--- &additionalControl AttributeType OPTIONAL,
--- &relaxation RelaxationPolicy OPTIONAL,
--- &entryLimit EntryLimit OPTIONAL,
--- &allowedSubset AllowedSubset DEFAULT '111'B,
--- &imposedSubset ImposedSubset OPTIONAL,
--- &id INTEGER UNIQUE
--- }
--- WITH SYNTAX {
--- DMD ID &dmdId
--- [SERVICE-TYPE &serviceType]
--- [USER-CLASS &userClass]
--- [INPUT ATTRIBUTES &InputAttributeTypes]
--- [COMBINATION &combination]
--- [OUTPUT ATTRIBUTES &OutputAttributeTypes]
--- [DEFAULT CONTROL &defaultControls]
--- [MANDATORY CONTROL &mandatoryControls]
--- [SEARCH-RULE CONTROL &searchRuleControls]
--- [FAMILY-GROUPING &familyGrouping]
--- [FAMILY-RETURN &familyReturn]
--- [ADDITIONAL CONTROL &additionalControl]
--- [RELAXATION &relaxation]
--- [ALLOWED SUBSET &allowedSubset]
--- [IMPOSED SUBSET &imposedSubset]
--- [ENTRY LIMIT &entryLimit]
--- ID &id
--- }
-
-REQUEST-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &SelectedValues ATTRIBUTE.&Type OPTIONAL,
- &DefaultValues SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values SEQUENCE OF ATTRIBUTE.&Type
- } OPTIONAL,
- &contexts SEQUENCE OF ContextProfile OPTIONAL,
- &contextCombination ContextCombination OPTIONAL,
- &MatchingUse MatchingUse OPTIONAL,
- &includeSubtypes BOOLEAN DEFAULT FALSE
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [SELECTED VALUES &SelectedValues]
- [DEFAULT VALUES &DefaultValues]
- [CONTEXTS &contexts]
- [CONTEXT COMBINATION &contextCombination]
- [MATCHING USE &MatchingUse]
- [INCLUDE SUBTYPES &includeSubtypes]
-}
-
-RESULT-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &outputValues OutputValues OPTIONAL,
- &contexts ContextProfile OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [OUTPUT VALUES &outputValues]
- [CONTEXTS &contexts]
-}
-
-MATCHING-RESTRICTION ::= CLASS {
- &Restriction ,
- &Rules MATCHING-RULE.&id,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {RESTRICTION &Restriction
- RULES &Rules
- ID &id
-}
-
--- object identifier assignments
--- object classes
-id-oc-top OBJECT IDENTIFIER ::=
- {id-oc 0}
-
-id-oc-alias OBJECT IDENTIFIER ::= {id-oc 1}
-
-id-oc-parent OBJECT IDENTIFIER ::= {id-oc 28}
-
-id-oc-child OBJECT IDENTIFIER ::= {id-oc 29}
-
--- attributes
-id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
-
-id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-
--- matching rules
-id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
-
-id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-
--- operational attributes
-id-oa-excludeAllCollectiveAttributes OBJECT IDENTIFIER ::=
- {id-oa 0}
-
-id-oa-createTimestamp OBJECT IDENTIFIER ::= {id-oa 1}
-
-id-oa-modifyTimestamp OBJECT IDENTIFIER ::= {id-oa 2}
-
-id-oa-creatorsName OBJECT IDENTIFIER ::= {id-oa 3}
-
-id-oa-modifiersName OBJECT IDENTIFIER ::= {id-oa 4}
-
-id-oa-administrativeRole OBJECT IDENTIFIER ::= {id-oa 5}
-
-id-oa-subtreeSpecification OBJECT IDENTIFIER ::= {id-oa 6}
-
-id-oa-collectiveExclusions OBJECT IDENTIFIER ::= {id-oa 7}
-
-id-oa-subschemaTimestamp OBJECT IDENTIFIER ::= {id-oa 8}
-
-id-oa-hasSubordinates OBJECT IDENTIFIER ::= {id-oa 9}
-
-id-oa-subschemaSubentryList OBJECT IDENTIFIER ::= {id-oa 10}
-
-id-oa-accessControlSubentryList OBJECT IDENTIFIER ::= {id-oa 11}
-
-id-oa-collectiveAttributeSubentryList OBJECT IDENTIFIER ::= {id-oa 12}
-
-id-oa-contextDefaultSubentryList OBJECT IDENTIFIER ::= {id-oa 13}
-
-id-oa-contextAssertionDefault OBJECT IDENTIFIER ::= {id-oa 14}
-
-id-oa-serviceAdminSubentryList OBJECT IDENTIFIER ::= {id-oa 15}
-
-id-oa-searchRules OBJECT IDENTIFIER ::= {id-oa 16}
-
-id-oa-hierarchyLevel OBJECT IDENTIFIER ::= {id-oa 17}
-
-id-oa-hierarchyBelow OBJECT IDENTIFIER ::= {id-oa 18}
-
-id-oa-hierarchyParent OBJECT IDENTIFIER ::= {id-oa 19}
-
--- subentry classes
-id-sc-subentry OBJECT IDENTIFIER ::= {id-sc 0}
-
-id-sc-accessControlSubentry OBJECT IDENTIFIER ::= {id-sc 1}
-
-id-sc-collectiveAttributeSubentry OBJECT IDENTIFIER ::= {id-sc 2}
-
-id-sc-contextAssertionSubentry OBJECT IDENTIFIER ::= {id-sc 3}
-
-id-sc-serviceAdminSubentry OBJECT IDENTIFIER ::= {id-sc 4}
-
--- Name forms
-id-nf-subentryNameForm OBJECT IDENTIFIER ::= {id-nf 16}
-
--- administrative roles
-id-ar-autonomousArea OBJECT IDENTIFIER ::= {id-ar 1}
-
-id-ar-accessControlSpecificArea OBJECT IDENTIFIER ::= {id-ar 2}
-
-id-ar-accessControlInnerArea OBJECT IDENTIFIER ::= {id-ar 3}
-
-id-ar-subschemaAdminSpecificArea OBJECT IDENTIFIER ::= {id-ar 4}
-
-id-ar-collectiveAttributeSpecificArea OBJECT IDENTIFIER ::= {id-ar 5}
-
-id-ar-collectiveAttributeInnerArea OBJECT IDENTIFIER ::= {id-ar 6}
-
-id-ar-contextDefaultSpecificArea OBJECT IDENTIFIER ::= {id-ar 7}
-
-id-ar-serviceSpecificArea OBJECT IDENTIFIER ::= {id-ar 8}
-
-END -- InformationFramework
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/MTSAbstractService.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/MTSAbstractService.asn
deleted file mode 100644
index 68a5118bc8..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/MTSAbstractService.asn
+++ /dev/null
@@ -1,2366 +0,0 @@
--- Module MTSAbstractService (X.411:06/1999)
-MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- Remote Operations
- CONNECTION-PACKAGE, CONTRACT, ERROR, OPERATION, OPERATION-PACKAGE,
- ROS-OBJECT-CLASS
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- --==
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- -- MTA Abstract Service
- internal-trace-information, trace-information
- --==
- FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mta-abstract-service(2) version-1999(1)}
- -- MS Abstract Service Extension
- forwarding-request
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- IPM Information Objects
- IPMPerRecipientEnvelopeExtensions
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- Object Identifiers
- id-att-physicalRendition-basic, id-cp-mts-connect, id-ct-mts-access,
- id-ct-mts-forced-access, id-ot-mts, id-ot-mts-user, id-pt-administration,
- id-pt-delivery, id-pt-submission, id-tok-asymmetricToken
- --==
- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Operation and Error Codes
- err-control-violates-registration,
- err-deferred-delivery-cancellation-rejected, err-delivery-control-violated,
- err-element-of-service-not-subscribed, err-inconsistent-request,
- err-message-submission-identifier-invalid,
- err-new-credentials-unacceptable,
- err-old-credentials-incorrectly-specified, err-operation-refused,
- err-originator-invalid, err-recipient-improperly-specified,
- err-register-rejected, err-remote-bind-error, err-security-error,
- err-submission-control-violated, err-unsupported-critical-function,
- op-cancel-deferred-delivery, op-change-credentials, op-delivery-control,
- op-message-delivery, op-message-submission, op-probe-submission,
- op-register, op-report-delivery, op-submission-control
- --==
- FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- mts-access-protocol(1) version-1999(1)}
- -- Directory Definitions
- Name
- --==
- FROM InformationFramework
- PresentationAddress
- --==
- FROM SelectedAttributeTypes
- ALGORITHM, AlgorithmIdentifier, Certificates, ENCRYPTED{}, SIGNATURE{},
- SIGNED{}
- --==
- FROM AuthenticationFramework
-
- -- Certificate Extensions
- CertificateAssertion
- --==
- FROM CertificateExtensions
-
- -- Upper Bounds
- ub-bit-options, ub-built-in-content-type,
- ub-built-in-encoded-information-types, ub-certificates,
- ub-common-name-length, ub-content-id-length, ub-content-length,
- ub-content-types, ub-country-name-alpha-length,
- ub-country-name-numeric-length, ub-deliverable-class, ub-diagnostic-codes,
- ub-dl-expansions, ub-domain-defined-attributes,
- ub-domain-defined-attribute-type-length,
- ub-domain-defined-attribute-value-length, ub-domain-name-length,
- ub-encoded-information-types, ub-extension-attributes, ub-extension-types,
- ub-e163-4-number-length, ub-e163-4-sub-address-length,
- ub-generation-qualifier-length, ub-given-name-length, ub-initials-length,
- ub-integer-options, ub-local-id-length, ub-mta-name-length,
- ub-mts-user-types, ub-numeric-user-id-length, ub-organization-name-length,
- ub-organizational-units, ub-organizational-unit-name-length,
- ub-orig-and-dl-expansions, ub-password-length, ub-pds-name-length,
- ub-pds-parameter-length, ub-pds-physical-address-lines,
- ub-postal-code-length, ub-privacy-mark-length, ub-queue-size,
- ub-reason-codes, ub-recipients, ub-recipient-number-for-advice-length,
- ub-redirections, ub-redirection-classes, ub-restrictions,
- ub-security-categories, ub-security-labels, ub-security-problems,
- ub-supplementary-info-length, ub-surname-length, ub-terminal-id-length,
- ub-tsap-id-length, ub-unformatted-address-length,
- ub-universal-generation-qualifier-length, ub-universal-given-name-length,
- ub-universal-initials-length, ub-universal-surname-length,
- ub-x121-address-length
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)};
-
-operationObject1 OPERATION ::= {LINKED {operationObject2}
-}
-
-operationObject2 OPERATION ::= {LINKED {operationObject3}
-}
-
-operationObject3 OPERATION ::= {LINKED {operationObject4}
-}
-
-operationObject4 OPERATION ::= {LINKED {...}
-}
-
--- Objects
-MHS-OBJECT ::= ROS-OBJECT-CLASS
-
-mts MHS-OBJECT ::= {
- INITIATES {mts-forced-access-contract}
- RESPONDS {mts-access-contract}
- ID id-ot-mts
-}
-
-mts-user MHS-OBJECT ::= {
- INITIATES {mts-access-contract}
- RESPONDS {mts-forced-access-contract}
- ID id-ot-mts-user
-}
-
--- Contracts
-mts-access-contract CONTRACT ::= {
- CONNECTION mts-connect
- INITIATOR CONSUMER OF {submission | delivery | administration}
- ID id-ct-mts-access
-}
-
-mts-forced-access-contract CONTRACT ::= {
- CONNECTION mts-connect
- RESPONDER CONSUMER OF {submission | delivery | administration}
- ID id-ct-mts-forced-access
-}
-
--- Connection package
-mts-connect CONNECTION-PACKAGE ::= {
- BIND mts-bind
- UNBIND mts-unbind
- ID id-cp-mts-connect
-}
-
--- Ports
-PORT ::= OPERATION-PACKAGE
-
-submission PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES
- {message-submission | probe-submission | cancel-deferred-delivery, ...}
- SUPPLIER INVOKES {submission-control, ...}
- ID id-pt-submission
-}
-
-delivery PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES {delivery-control, ...}
- SUPPLIER INVOKES {message-delivery | report-delivery, ...}
- ID id-pt-delivery
-}
-
-administration PORT ::= {
- OPERATIONS {change-credentials, ...}
- CONSUMER INVOKES {register, ...}
- SUPPLIER INVOKES {operationObject1, ...}
- ID id-pt-administration
-}
-
--- MTS-bind and MTS-unbind
-ABSTRACT-OPERATION ::= OPERATION
-
-ABSTRACT-ERROR ::= ERROR
-
-mts-bind ABSTRACT-OPERATION ::= {
- ARGUMENT MTSBindArgument
- RESULT MTSBindResult
- ERRORS {mts-bind-error}
-}
-
-MTSBindArgument ::= SET {
- initiator-name ObjectName,
- messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
- initiator-credentials [2] InitiatorCredentials,
- security-context [3] SecurityContext OPTIONAL,
- ...,
- extensions
- [5] SET OF ExtensionField{{MTSBindExtensions}} DEFAULT {}
-}
-
-MTSBindExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-MTSBindResult ::= SET {
- responder-name ObjectName,
- messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
- responder-credentials [2] ResponderCredentials,
- ...,
- extensions
- [5] SET OF ExtensionField{{MTSBindResultExtensions}} DEFAULT {}
-}
-
-MTSBindResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-mts-bind-error ABSTRACT-ERROR ::= {
- PARAMETER
- INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
- unacceptable-security-context(4),
- inadequate-association-confidentiality(5)}(0..ub-integer-options)
-}
-
-mts-unbind ABSTRACT-OPERATION ::= emptyUnbind
-
--- Association Control Parameters
-ObjectName ::= CHOICE {
- user-agent ORAddressAndOptionalDirectoryName,
- mTA [0] MTAName,
- message-store [4] ORAddressAndOptionalDirectoryName
-}
-
-MessagesWaiting ::= SET {
- urgent [0] DeliveryQueue,
- normal [1] DeliveryQueue,
- non-urgent [2] DeliveryQueue
-}
-
-DeliveryQueue ::= SET {
- messages [0] INTEGER(0..ub-queue-size),
- octets [1] INTEGER(0..ub-content-length) OPTIONAL
-}
-
-InitiatorCredentials ::= Credentials
-
-ResponderCredentials ::= Credentials
-
-Credentials ::= CHOICE {
- simple Password,
- strong [0] StrongCredentials,
- ...,
- protected [1] ProtectedPassword
-}
-
-Password ::= CHOICE {
- ia5-string IA5String(SIZE (0..ub-password-length)),
- octet-string OCTET STRING(SIZE (0..ub-password-length))
-}
-
-StrongCredentials ::= SET {
- bind-token [0] Token OPTIONAL,
- certificate [1] Certificates OPTIONAL,
- ...,
- certificate-selector [2] CertificateAssertion OPTIONAL
-}
-
-ProtectedPassword ::= SET {
- signature
- SIGNATURE{SET {password Password,
- time1 [0] UTCTime OPTIONAL,
- time2 [1] UTCTime OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL}},
- time1 [0] UTCTime OPTIONAL,
- time2 [1] UTCTime OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL
-}
-
-SecurityContext ::= SET SIZE (1..ub-security-labels) OF SecurityLabel
-
--- Submission Port
-message-submission ABSTRACT-OPERATION ::= {
- ARGUMENT MessageSubmissionArgument
- RESULT MessageSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {4 | 6 | 7}
- CODE op-message-submission
-}
-
-MessageSubmissionArgument ::= SEQUENCE {
- envelope MessageSubmissionEnvelope,
- content Content
-}
-
-MessageSubmissionResult ::= SET {
- message-submission-identifier MessageSubmissionIdentifier,
- message-submission-time [0] MessageSubmissionTime,
- content-identifier ContentIdentifier OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{MessageSubmissionResultExtensions}} DEFAULT {}
-}
-
-MessageSubmissionResultExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originating-MTA-certificate | proof-of-submission | PrivateExtensions,
- ...}
-
-probe-submission ABSTRACT-OPERATION ::= {
- ARGUMENT ProbeSubmissionArgument
- RESULT ProbeSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-probe-submission
-}
-
-ProbeSubmissionArgument ::= ProbeSubmissionEnvelope
-
-ProbeSubmissionResult ::= SET {
- probe-submission-identifier ProbeSubmissionIdentifier,
- probe-submission-time [0] ProbeSubmissionTime,
- content-identifier ContentIdentifier OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{ProbeResultExtensions}} DEFAULT {}
-}
-
-ProbeResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions,
--- at most one instance of each extension type
-cancel-deferred-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT CancelDeferredDeliveryArgument
- RESULT CancelDeferredDeliveryResult
- ERRORS
- {deferred-delivery-cancellation-rejected |
- message-submission-identifier-invalid | remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-cancel-deferred-delivery
-}
-
-CancelDeferredDeliveryArgument ::= MessageSubmissionIdentifier
-
-CancelDeferredDeliveryResult ::= NULL
-
-submission-control ABSTRACT-OPERATION ::= {
- ARGUMENT SubmissionControlArgument
- RESULT SubmissionControlResult
- ERRORS {security-error | remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-submission-control
-}
-
-SubmissionControlArgument ::= SubmissionControls
-
-SubmissionControlResult ::= Waiting
-
-submission-control-violated ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-submission-control-violated
-}
-
-element-of-service-not-subscribed ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-element-of-service-not-subscribed
-}
-
-deferred-delivery-cancellation-rejected ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-deferred-delivery-cancellation-rejected
-}
-
-originator-invalid ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-originator-invalid
-}
-
-recipient-improperly-specified ABSTRACT-ERROR ::= {
- PARAMETER ImproperlySpecifiedRecipients
- CODE err-recipient-improperly-specified
-}
-
-ImproperlySpecifiedRecipients ::=
- SEQUENCE SIZE (1..ub-recipients) OF RecipientName
-
-message-submission-identifier-invalid ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-message-submission-identifier-invalid
-}
-
-inconsistent-request ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-inconsistent-request
-}
-
-security-error ABSTRACT-ERROR ::= {
- PARAMETER SecurityProblem
- CODE err-security-error
-}
-
-SecurityProblem ::= INTEGER {
- assemby-instructions-conflict-with-security-services(0),
- authentication-problem(1), authentication-failure-on-subject-message(2),
- confidentiality-association-problem(3), decryption-failed(4),
- decryption-key-unobtainable(5), failure-of-proof-of-message(6),
- forbidden-user-security-label-register(7),
- incompatible-change-with-original-security-context(8),
- integrity-failure-on-subject-message(9), invalid-security-label(10),
- invalid-security-label-update(11), key-failure(12),
- mandatory-parameter-absence(13), operation-security-failure(14),
- redirection-prohibited(15), refused-alternate-recipient-name(16),
- repudiation-failure-of-message(17),
- responder-credentials-checking-problem(18), security-context-failure(19),
- security-context-problem(20), security-policy-violation(21),
- security-services-refusal(22), token-decryption-failed(23), token-error(24),
- unable-to-aggregate-security-labels(25), unauthorised-dl-name(26),
- unauthorised-entry-class(27),
- unauthorised-originally-intended-recipient-name(28),
- unauthorised-originator-name(29), unauthorised-recipient-name(30),
- unauthorised-security-label-update(31), unauthorised-user-name(32),
- unknown-security-label(33), unsupported-algorithm-identifier(34),
- unsupported-security-policy(35)}(0..ub-security-problems)
-
-unsupported-critical-function ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-unsupported-critical-function
-}
-
-remote-bind-error ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-remote-bind-error
-}
-
--- Submission Port Parameters
-MessageSubmissionIdentifier ::= MTSIdentifier
-
-MessageSubmissionTime ::= Time
-
-ProbeSubmissionIdentifier ::= MTSIdentifier
-
-ProbeSubmissionTime ::= Time
-
-SubmissionControls ::=
- Controls
- (WITH COMPONENTS {
- ...,
- permissible-content-types ABSENT,
- permissible-encoded-information-types ABSENT
- })
-
-Waiting ::= SET {
- waiting-operations [0] Operations DEFAULT {},
- waiting-messages [1] WaitingMessages DEFAULT {},
- waiting-content-types
- [2] SET SIZE (0..ub-content-types) OF ContentType DEFAULT {},
- waiting-encoded-information-types EncodedInformationTypes OPTIONAL
-}
-
-Operations ::= BIT STRING {
- probe-submission-or-report-delivery(0),
- message-submission-or-message-delivery(1)}(SIZE (0..ub-bit-options))
-
--- holding 'one', not-holding 'zero'
-WaitingMessages ::= BIT STRING {
- long-content(0), low-priority(1), other-security-labels(2)
-}(SIZE (0..ub-bit-options))
-
--- Delivery Port
-message-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT MessageDeliveryArgument
- RESULT MessageDeliveryResult
- ERRORS
- {delivery-control-violated | security-error |
- unsupported-critical-function}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {4 | 6 | 7}
- CODE op-message-delivery
-}
-
-MessageDeliveryArgument ::= SEQUENCE {
- COMPONENTS OF MessageDeliveryEnvelope,
- content Content
-}
-
-MessageDeliveryResult ::= SET {
- recipient-certificate [0] RecipientCertificate OPTIONAL,
- proof-of-delivery [1] IMPLICIT ProofOfDelivery OPTIONAL,
- ...,
- extensions
- [2] SET OF ExtensionField{{MessageDeliveryResultExtensions}} DEFAULT {}
-}
-
-MessageDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-report-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT ReportDeliveryArgument
- RESULT ReportDeliveryResult
- ERRORS
- {delivery-control-violated | security-error |
- unsupported-critical-function}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-report-delivery
-}
-
-ReportDeliveryArgument ::= SET {
- COMPONENTS OF ReportDeliveryEnvelope,
- returned-content [0] Content OPTIONAL
-}
-
-ReportDeliveryResult ::= CHOICE {
- empty-result NULL,
- ...,
- extensions
- SET SIZE (1..MAX) OF ExtensionField{{ReportDeliveryResultExtensions}}
-}
-
-ReportDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-delivery-control ABSTRACT-OPERATION ::= {
- ARGUMENT DeliveryControlArgument
- RESULT DeliveryControlResult
- ERRORS
- {control-violates-registration | security-error | operation-refused}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-delivery-control
-}
-
-DeliveryControlArgument ::= SET {
- COMPONENTS OF DeliveryControls,
- extensions
- [6] SET OF ExtensionField{{DeliveryControlExtensions}} DEFAULT {}
-}
-
-DeliveryControlExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-DeliveryControlResult ::= SET {
- COMPONENTS OF Waiting,
- extensions
- [6] SET OF ExtensionField{{DeliveryControlResultExtensions}} DEFAULT {}
-}
-
-DeliveryControlResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-delivery-control-violated ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-delivery-control-violated
-}
-
-control-violates-registration ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-control-violates-registration
-}
-
-operation-refused ABSTRACT-ERROR ::= {
- PARAMETER RefusedOperation
- CODE err-operation-refused
-}
-
-RefusedOperation ::= SET {
- refused-argument
- CHOICE {built-in-argument [1] RefusedArgument,
- refused-extension EXTENSION.&id},
- refusal-reason [2] RefusalReason
-}
-
-RefusedArgument ::= INTEGER {
- user-name(0), user-address(1), deliverable-content-types(2),
- deliverable-maximum-content-length(3),
- deliverable-encoded-information-types-constraints(4),
- deliverable-security-labels(5), recipient-assigned-redirections(6),
- restricted-delivery(7),
- retrieve-registrations(8), -- value 9 reserved for possible future extension to Register arguments
- restrict(10), permissible-operations(11), permissible-lowest-priority(12),
- permissible-encoded-information-types(13), permissible-content-types(14),
- permissible-maximum-content-length(15), permissible-security-context(16)
-}(0..ub-integer-options)
-
-RefusalReason ::= INTEGER {
- facility-unavailable(0), facility-not-subscribed(1),
- parameter-unacceptable(2)}(0..ub-integer-options)
-
--- Delivery Port Parameters
-RecipientCertificate ::= Certificates
-
-ProofOfDelivery ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProofOfDeliveryAlgorithmIdentifier,
- delivery-time MessageDeliveryTime,
- this-recipient-name ThisRecipientName,
- originally-intended-recipient-name
- OriginallyIntendedRecipientName OPTIONAL,
- content Content,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label
- MessageSecurityLabel OPTIONAL}}
-
-ProofOfDeliveryAlgorithmIdentifier ::= AlgorithmIdentifier
-
-DeliveryControls ::= Controls
-
-Controls ::= SET {
- restrict [0] BOOLEAN DEFAULT TRUE,
- -- update 'TRUE', remove 'FALSE'
- permissible-operations [1] Operations OPTIONAL,
- permissible-maximum-content-length [2] ContentLength OPTIONAL,
- permissible-lowest-priority Priority OPTIONAL,
- permissible-content-types [4] ContentTypes OPTIONAL,
- permissible-encoded-information-types
- PermissibleEncodedInformationTypes OPTIONAL,
- permissible-security-context [5] SecurityContext OPTIONAL
-}
-
--- Note - The Tags [0], [1] and [2] are altered for the Register operation only.
-PermissibleEncodedInformationTypes ::=
- EncodedInformationTypesConstraints
-
--- Administration Port
-register ABSTRACT-OPERATION ::= {
- ARGUMENT RegisterArgument
- RESULT RegisterResult
- ERRORS
- {register-rejected | remote-bind-error | operation-refused |
- security-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-register
-}
-
-RegisterArgument ::= SET {
- user-name UserName OPTIONAL,
- user-address [0] UserAddress OPTIONAL,
- deliverable-class
- SET SIZE (1..ub-deliverable-class) OF DeliverableClass OPTIONAL,
- default-delivery-controls [2] EXPLICIT DefaultDeliveryControls OPTIONAL,
- redirections [3] Redirections OPTIONAL,
- restricted-delivery [4] RestrictedDelivery OPTIONAL,
- retrieve-registrations [5] RegistrationTypes OPTIONAL,
- extensions
- [6] SET OF ExtensionField{{RegisterExtensions}} DEFAULT {}
-}
-
-RegisterExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-RegisterResult ::= CHOICE {
- empty-result NULL,
- non-empty-result
- SET {registered-information
- [0] RegisterArgument
- (WITH COMPONENTS {
- ...,
- retrieve-registrations ABSENT
- }) OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{RegisterResultExtensions}} DEFAULT {}
- }
-}
-
-RegisterResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-change-credentials ABSTRACT-OPERATION ::= {
- ARGUMENT ChangeCredentialsArgument
- RESULT NULL
- ERRORS
- {new-credentials-unacceptable | old-credentials-incorrectly-specified |
- remote-bind-error | security-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-change-credentials
-}
-
-ChangeCredentialsArgument ::= SET {
- old-credentials [0] Credentials(WITH COMPONENTS {
- simple
- }),
- new-credentials [1] Credentials(WITH COMPONENTS {
- simple
- })
-}
-
-register-rejected ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-register-rejected
-}
-
-new-credentials-unacceptable ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-new-credentials-unacceptable
-}
-
-old-credentials-incorrectly-specified ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-old-credentials-incorrectly-specified
-}
-
--- Administration Port Parameters
-UserName ::= ORAddressAndOptionalDirectoryName
-
-UserAddress ::= CHOICE {
- x121
- [0] SEQUENCE {x121-address
- NumericString(SIZE (1..ub-x121-address-length)) OPTIONAL,
- tsap-id
- PrintableString(SIZE (1..ub-tsap-id-length)) OPTIONAL
- },
- presentation [1] PSAPAddress
-}
-
-PSAPAddress ::= PresentationAddress
-
-DeliverableClass ::=
- MessageClass
- (WITH COMPONENTS {
- ...,
- priority ABSENT,
- -- The 'objects' component shall always be defaulted.
- -- objects ABSENT,
- -- A component with a DEFAULT clause cannot be ABSENT
- applies-only-to ABSENT
- })
-
-DefaultDeliveryControls ::=
- Controls
- (WITH COMPONENTS {
- ...,
-
- -- The 'restrict' component shall always be defaulted.
- -- restrict ABSENT,
- -- A component with a DEFAULT clause cannot be ABSENT
- permissible-security-context ABSENT
- })
-
-Redirections ::= SEQUENCE SIZE (1..ub-redirections) OF RecipientRedirection
-
-RecipientRedirection ::= SET {
- redirection-classes
- [0] SET SIZE (1..ub-redirection-classes) OF RedirectionClass OPTIONAL,
- recipient-assigned-alternate-recipient
- [1] RecipientAssignedAlternateRecipient OPTIONAL
-}
-
-RedirectionClass ::= MessageClass
-
-MessageClass ::= SET {
- content-types [0] ContentTypes OPTIONAL,
- maximum-content-length [1] ContentLength OPTIONAL,
- encoded-information-types-constraints
- [2] EncodedInformationTypesConstraints OPTIONAL,
- security-labels [3] SecurityContext OPTIONAL,
- priority [4] SET OF Priority OPTIONAL,
- objects
- [5] ENUMERATED {messages(0), reports(1), both(2), ...
- } DEFAULT both,
- applies-only-to [6] SEQUENCE OF Restriction OPTIONAL, -- Not considered in the case of Reports
- extensions
- [7] SET OF ExtensionField{{MessageClassExtensions}} DEFAULT {}
-}
-
-EncodedInformationTypesConstraints ::= SEQUENCE {
- unacceptable-eits [0] ExtendedEncodedInformationTypes OPTIONAL,
- acceptable-eits [1] ExtendedEncodedInformationTypes OPTIONAL,
- exclusively-acceptable-eits [2] ExtendedEncodedInformationTypes OPTIONAL
-}
-
-MessageClassExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-RecipientAssignedAlternateRecipient ::=
- ORAddressAndOrDirectoryName
-
-RestrictedDelivery ::= SEQUENCE SIZE (1..ub-restrictions) OF Restriction
-
-Restriction ::= SET {
- permitted BOOLEAN DEFAULT TRUE,
- source-type
- BIT STRING {originated-by(0), redirected-by(1), dl-expanded-by(2)}
- DEFAULT {originated-by, redirected-by, dl-expanded-by},
- source-name ExactOrPattern OPTIONAL
-}
-
-ExactOrPattern ::= CHOICE {
- exact-match [0] ORName,
- pattern-match [1] ORName
-}
-
-RegistrationTypes ::= SEQUENCE {
- standard-parameters
- [0] BIT STRING {user-name(0), user-address(1), deliverable-class(2),
- default-delivery-controls(3), redirections(4),
- restricted-delivery(5)} OPTIONAL,
- extensions [1] SET OF EXTENSION.&id({RegisterExtensions}) OPTIONAL
-}
-
--- Message Submission Envelope
-MessageSubmissionEnvelope ::= SET {
- COMPONENTS OF PerMessageSubmissionFields,
- per-recipient-fields
- [1] SEQUENCE SIZE (1..ub-recipients) OF
- PerRecipientMessageSubmissionFields
-}
-
-PerMessageSubmissionFields ::= SET {
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- priority Priority DEFAULT normal,
- per-message-indicators PerMessageIndicators DEFAULT {},
- deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerMessageSubmissionExtensions}} DEFAULT {}
-}
-
-PerMessageSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | latest-delivery-time |
- originator-return-address | originator-certificate |
- content-confidentiality-algorithm-identifier |
- message-origin-authentication-check | message-security-label |
- proof-of-submission-request | content-correlator | dl-exempted-recipients |
- certificate-selectors | multiple-originator-certificates |
- forwarding-request -- for MS Abstract Service only -- | PrivateExtensions,
- ...}
-
-PerRecipientMessageSubmissionFields ::= SET {
- recipient-name RecipientName,
- originator-report-request [0] OriginatorReportRequest,
- explicit-conversion [1] ExplicitConversion OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerRecipientMessageSubmissionExtensions}}
- DEFAULT {}
-}
-
-PerRecipientMessageSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-forwarding-prohibited | physical-forwarding-address-request |
- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
- | physical-rendition-attributes | physical-delivery-report-request |
- message-token | content-integrity-check | proof-of-delivery-request |
- certificate-selectors-override | recipient-certificate |
- IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
-
--- Probe Submission Envelope
-ProbeSubmissionEnvelope ::= SET {
- COMPONENTS OF PerProbeSubmissionFields,
- per-recipient-fields
- [3] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeSubmissionFields
-}
-
-PerProbeSubmissionFields ::= SET {
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- content-length [0] ContentLength OPTIONAL,
- per-message-indicators PerMessageIndicators DEFAULT {},
- extensions
- [2] SET OF ExtensionField{{PerProbeSubmissionExtensions}} DEFAULT {}
-}
-
-PerProbeSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | originator-certificate |
- message-security-label | content-correlator |
- probe-origin-authentication-check | PrivateExtensions, ...}
-
-PerRecipientProbeSubmissionFields ::= SET {
- recipient-name RecipientName,
- originator-report-request [0] OriginatorReportRequest,
- explicit-conversion [1] ExplicitConversion OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerRecipientProbeSubmissionExtensions}}
- DEFAULT {}
-}
-
-PerRecipientProbeSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-rendition-attributes | PrivateExtensions, ...}
-
--- Message Delivery Envelope
-MessageDeliveryEnvelope ::= SEQUENCE {
- message-delivery-identifier MessageDeliveryIdentifier,
- message-delivery-time MessageDeliveryTime,
- other-fields OtherMessageDeliveryFields
-}
-
-OtherMessageDeliveryFields ::= SET {
- content-type DeliveredContentType,
- originator-name DeliveredOriginatorName,
- original-encoded-information-types
- [1] OriginalEncodedInformationTypes OPTIONAL,
- priority Priority DEFAULT normal,
- delivery-flags [2] DeliveryFlags OPTIONAL,
- other-recipient-names [3] OtherRecipientNames OPTIONAL,
- this-recipient-name [4] ThisRecipientName,
- originally-intended-recipient-name
- [5] OriginallyIntendedRecipientName OPTIONAL,
- converted-encoded-information-types
- [6] ConvertedEncodedInformationTypes OPTIONAL,
- message-submission-time [7] MessageSubmissionTime,
- content-identifier [8] ContentIdentifier OPTIONAL,
- extensions
- [9] SET OF ExtensionField{{MessageDeliveryExtensions}} DEFAULT {}
-}
-
-MessageDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- conversion-with-loss-prohibited | requested-delivery-method |
- physical-forwarding-prohibited | physical-forwarding-address-request |
- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
- | physical-rendition-attributes | originator-return-address |
- physical-delivery-report-request | originator-certificate | message-token |
- content-confidentiality-algorithm-identifier | content-integrity-check |
- message-origin-authentication-check | message-security-label |
- proof-of-delivery-request | dl-exempted-recipients | certificate-selectors |
- certificate-selectors-override | multiple-originator-certificates |
- recipient-certificate | IPMPerRecipientEnvelopeExtensions |
- redirection-history | dl-expansion-history | trace-information |
- internal-trace-information | PrivateExtensions, ...}
-
--- Report Delivery Envelope
-ReportDeliveryEnvelope ::= SET {
- COMPONENTS OF PerReportDeliveryFields,
- per-recipient-fields
- SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportDeliveryFields
-}
-
-PerReportDeliveryFields ::= SET {
- subject-submission-identifier SubjectSubmissionIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- content-type ContentType OPTIONAL,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{ReportDeliveryExtensions}} DEFAULT {}
-}
-
-ReportDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- message-security-label | content-correlator | redirection-history |
- originator-and-DL-expansion-history | reporting-DL-name |
- reporting-MTA-certificate | report-origin-authentication-check |
- trace-information | internal-trace-information | reporting-MTA-name |
- PrivateExtensions, ...}
-
-PerRecipientReportDeliveryFields ::= SET {
- actual-recipient-name [0] ActualRecipientName,
- report-type [1] ReportType,
- converted-encoded-information-types
- ConvertedEncodedInformationTypes OPTIONAL,
- originally-intended-recipient-name
- [2] OriginallyIntendedRecipientName OPTIONAL,
- supplementary-information [3] SupplementaryInformation OPTIONAL,
- extensions
- [4] SET OF ExtensionField{{PerRecipientReportDeliveryExtensions}}
- DEFAULT {}
-}
-
-PerRecipientReportDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- redirection-history | physical-forwarding-address | recipient-certificate |
- proof-of-delivery | PrivateExtensions, ...}
-
-ReportType ::= CHOICE {
- delivery [0] DeliveryReport,
- non-delivery [1] NonDeliveryReport
-}
-
-DeliveryReport ::= SET {
- message-delivery-time [0] MessageDeliveryTime,
- type-of-MTS-user [1] TypeOfMTSUser DEFAULT public
-}
-
-NonDeliveryReport ::= SET {
- non-delivery-reason-code [0] NonDeliveryReasonCode,
- non-delivery-diagnostic-code [1] NonDeliveryDiagnosticCode OPTIONAL
-}
-
--- Envelope Fields
-OriginatorName ::= ORAddressAndOrDirectoryName
-
-DeliveredOriginatorName ::= ORAddressAndOptionalDirectoryName
-
-OriginalEncodedInformationTypes ::= EncodedInformationTypes
-
-ContentTypes ::= SET SIZE (1..ub-content-types) OF ContentType
-
-ContentType ::= CHOICE {
- built-in BuiltInContentType,
- extended ExtendedContentType
-}
-
-BuiltInContentType ::= [APPLICATION 6] INTEGER {
- unidentified(0),
- external(1), -- identified by the object-identifier of the EXTERNAL content
- interpersonal-messaging-1984(2), interpersonal-messaging-1988(22),
- edi-messaging(35), voice-messaging(40)}(0..ub-built-in-content-type)
-
-ExtendedContentType ::= RELATIVE-OID
-
-DeliveredContentType ::= CHOICE {
- built-in [0] BuiltInContentType,
- extended ExtendedContentType
-}
-
-ContentIdentifier ::=
- [APPLICATION 10] PrintableString(SIZE (1..ub-content-id-length))
-
-PerMessageIndicators ::= [APPLICATION 8] BIT STRING {
- disclosure-of-other-recipients(0), -- disclosure-of-other-recipients-requested 'one',
-
- -- disclosure-of-other-recipients-prohibited 'zero';
- -- ignored for Probe-submission
- implicit-conversion-prohibited(1), -- implicit-conversion-prohibited 'one',
-
- -- implicit-conversion-allowed 'zero'
- alternate-recipient-allowed(2), -- alternate-recipient-allowed 'one',
-
- -- alternate-recipient-prohibited 'zero'
- content-return-request(3), -- content-return-requested 'one',
-
- -- content-return-not-requested 'zero';
- -- ignored for Probe-submission
- reserved(4), -- bit reserved by MOTIS 1986
- bit-5(5),
- bit-6(6), -- notification type-1 : bit 5 'zero' and bit 6 'one'
-
- -- notification type-2 : bit 5 'one' and bit 6 'zero'
- -- notification type-3 : bit 5 'one' and bit 6 'one'
- -- the mapping between notification type 1, 2, 3
- -- and the content specific notification types are defined
- -- in relevant content specifications
- service-message(7) -- the message content is for service purposes;
-
-
--- it may be a notification related to a service message;
--- used only by bilateral agreement --}(SIZE (0..ub-bit-options))
-
-RecipientName ::= ORAddressAndOrDirectoryName
-
-OriginatorReportRequest ::= BIT STRING {report(3), non-delivery-report(4)
-
--- at most one bit shall be 'one':
--- report bit 'one' requests a 'report';
--- non-delivery-report bit 'one' requests a 'non-delivery-report';
--- both bits 'zero' requests 'no-report' --}(SIZE (0..ub-bit-options))
-
-ExplicitConversion ::= INTEGER {
- ia5-text-to-teletex(0),
- -- values 1 to 7 are no longer defined
- ia5-text-to-g3-facsimile(8), ia5-text-to-g4-class-1(9),
- ia5-text-to-videotex(10), teletex-to-ia5-text(11),
- teletex-to-g3-facsimile(12), teletex-to-g4-class-1(13),
- teletex-to-videotex(14),
- -- value 15 is no longer defined
- videotex-to-ia5-text(16), videotex-to-teletex(17)}(0..ub-integer-options)
-
-DeferredDeliveryTime ::= Time
-
-Priority ::= [APPLICATION 7] ENUMERATED {normal(0), non-urgent(1), urgent(2)}
-
-ContentLength ::= INTEGER(0..ub-content-length)
-
-MessageDeliveryIdentifier ::= MTSIdentifier
-
-MessageDeliveryTime ::= Time
-
-DeliveryFlags ::= BIT STRING {
- implicit-conversion-prohibited(1) -- implicit-conversion-prohibited 'one',
-
- -- implicit-conversion-allowed 'zero' --}(SIZE (0..ub-bit-options))
-
-OtherRecipientNames ::= SEQUENCE SIZE (1..ub-recipients) OF OtherRecipientName
-
-OtherRecipientName ::= ORAddressAndOptionalDirectoryName
-
-ThisRecipientName ::= ORAddressAndOptionalDirectoryName
-
-OriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
-
-ConvertedEncodedInformationTypes ::= EncodedInformationTypes
-
-SubjectSubmissionIdentifier ::= MTSIdentifier
-
-ActualRecipientName ::= ORAddressAndOrDirectoryName
-
-TypeOfMTSUser ::= INTEGER {
- public(0), private(1), ms(2), dl(3), pdau(4), physical-recipient(5), other(6)
-}(0..ub-mts-user-types)
-
-NonDeliveryReasonCode ::= INTEGER {
- transfer-failure(0), unable-to-transfer(1), conversion-not-performed(2),
- physical-rendition-not-performed(3), physical-delivery-not-performed(4),
- restricted-delivery(5), directory-operation-unsuccessful(6),
- deferred-delivery-not-performed(7), transfer-failure-for-security-reason(8)
-}(0..ub-reason-codes)
-
-NonDeliveryDiagnosticCode ::= INTEGER {
- unrecognised-OR-name(0), ambiguous-OR-name(1), mts-congestion(2),
- loop-detected(3), recipient-unavailable(4), maximum-time-expired(5),
- encoded-information-types-unsupported(6), content-too-long(7),
- conversion-impractical(8), implicit-conversion-prohibited(9),
- implicit-conversion-not-subscribed(10), invalid-arguments(11),
- content-syntax-error(12), size-constraint-violation(13),
- protocol-violation(14), content-type-not-supported(15),
- too-many-recipients(16), no-bilateral-agreement(17),
- unsupported-critical-function(18), conversion-with-loss-prohibited(19),
- line-too-long(20), page-split(21), pictorial-symbol-loss(22),
- punctuation-symbol-loss(23), alphabetic-character-loss(24),
- multiple-information-loss(25), recipient-reassignment-prohibited(26),
- redirection-loop-detected(27), dl-expansion-prohibited(28),
- no-dl-submit-permission(29), dl-expansion-failure(30),
- physical-rendition-attributes-not-supported(31),
- undeliverable-mail-physical-delivery-address-incorrect(32),
- undeliverable-mail-physical-delivery-office-incorrect-or-invalid(33),
- undeliverable-mail-physical-delivery-address-incomplete(34),
- undeliverable-mail-recipient-unknown(35),
- undeliverable-mail-recipient-deceased(36),
- undeliverable-mail-organization-expired(37),
- undeliverable-mail-recipient-refused-to-accept(38),
- undeliverable-mail-recipient-did-not-claim(39),
- undeliverable-mail-recipient-changed-address-permanently(40),
- undeliverable-mail-recipient-changed-address-temporarily(41),
- undeliverable-mail-recipient-changed-temporary-address(42),
- undeliverable-mail-new-address-unknown(43),
- undeliverable-mail-recipient-did-not-want-forwarding(44),
- undeliverable-mail-originator-prohibited-forwarding(45),
- secure-messaging-error(46), unable-to-downgrade(47),
- unable-to-complete-transfer(48), transfer-attempts-limit-reached(49),
- incorrect-notification-type(50),
- dl-expansion-prohibited-by-security-policy(51),
- forbidden-alternate-recipient(52), security-policy-violation(53),
- security-services-refusal(54), unauthorised-dl-member(55),
- unauthorised-dl-name(56),
- unauthorised-originally-intended-recipient-name(57),
- unauthorised-originator-name(58), unauthorised-recipient-name(59),
- unreliable-system(60), authentication-failure-on-subject-message(61),
- decryption-failed(62), decryption-key-unobtainable(63),
- double-envelope-creation-failure(64),
- double-enveloping-message-restoring-failure(65),
- failure-of-proof-of-message(66), integrity-failure-on-subject-message(67),
- invalid-security-label(68), key-failure(69), mandatory-parameter-absence(70),
- operation-security-failure(71), repudiation-failure-of-message(72),
- security-context-failure(73), token-decryption-failed(74), token-error(75),
- unknown-security-label(76), unsupported-algorithm-identifier(77),
- unsupported-security-policy(78)}(0..ub-diagnostic-codes)
-
-SupplementaryInformation ::=
- PrintableString(SIZE (1..ub-supplementary-info-length))
-
--- Extension Fields
-EXTENSION ::= CLASS {
- &id ExtensionType UNIQUE,
- &Type OPTIONAL,
- &absent &Type OPTIONAL,
- &recommended Criticality DEFAULT {}
-}
-WITH SYNTAX {
- [&Type
- [IF ABSENT &absent],]
- [RECOMMENDED CRITICALITY &recommended,]
- IDENTIFIED BY &id
-}
-
-ExtensionType ::= CHOICE {
- standard-extension [0] INTEGER(0..ub-extension-types),
- private-extension [3] OBJECT IDENTIFIER
-}
-
-Criticality ::= BIT STRING {for-submission(0), for-transfer(1), for-delivery(2)
-}(SIZE (0..ub-bit-options)) -- critical 'one', non-critical 'zero'
-
-
-ExtensionField{EXTENSION:ChosenFrom} ::= SEQUENCE {
- type EXTENSION.&id({ChosenFrom}),
- criticality [1] Criticality DEFAULT {},
- value [2] EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
-}
-
-PrivateExtensions EXTENSION ::=
- {-- Any value shall be relayed and delivered if not Critical (see Table 27)
- -- except those values whose semantics the MTA obeys which are defined to be removed when obeyed.
- -- Shall be IDENTIFIED BY ExtensionType.private-extension --...}
-
-recipient-reassignment-prohibited EXTENSION ::= {
- RecipientReassignmentProhibited
- IF ABSENT recipient-reassignment-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:1
-}
-
-RecipientReassignmentProhibited ::= ENUMERATED {
- recipient-reassignment-allowed(0), recipient-reassignment-prohibited(1)
-}
-
-originator-requested-alternate-recipient EXTENSION ::= {
- OriginatorRequestedAlternateRecipient,
- RECOMMENDED CRITICALITY {for-submission},
- IDENTIFIED BY standard-extension:2
-}
-
-OriginatorRequestedAlternateRecipient ::= ORAddressAndOrDirectoryName
-
--- OriginatorRequestedAlternateRecipient as defined here differs from the field of the same name
--- defined in Figure 4, since on submission the OR-address need not be present, but on
--- transfer the OR-address must be present.
-dl-expansion-prohibited EXTENSION ::= {
- DLExpansionProhibited
- IF ABSENT dl-expansion-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:3
-}
-
-DLExpansionProhibited ::= ENUMERATED {
- dl-expansion-allowed(0), dl-expansion-prohibited(1)}
-
-conversion-with-loss-prohibited EXTENSION ::= {
- ConversionWithLossProhibited
- IF ABSENT conversion-with-loss-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:4
-}
-
-ConversionWithLossProhibited ::= ENUMERATED {
- conversion-with-loss-allowed(0), conversion-with-loss-prohibited(1)
-}
-
-latest-delivery-time EXTENSION ::= {
- LatestDeliveryTime,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:5
-}
-
-LatestDeliveryTime ::= Time
-
-requested-delivery-method EXTENSION ::= {
- RequestedDeliveryMethod
- IF ABSENT {any-delivery-method},
- IDENTIFIED BY standard-extension:6
-}
-
-RequestedDeliveryMethod ::=
- SEQUENCE OF INTEGER { -- each different in order of preference,
- -- most preferred first
- any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
- g4-facsimile-delivery(6), ia5-terminal-delivery(7), videotex-delivery(8),
- telephone-delivery(9)}(0..ub-integer-options)
-
-physical-forwarding-prohibited EXTENSION ::= {
- PhysicalForwardingProhibited
- IF ABSENT physical-forwarding-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:7
-}
-
-PhysicalForwardingProhibited ::= ENUMERATED {
- physical-forwarding-allowed(0), physical-forwarding-prohibited(1)}
-
-physical-forwarding-address-request EXTENSION ::= {
- PhysicalForwardingAddressRequest
- IF ABSENT physical-forwarding-address-not-requested,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:8
-}
-
-PhysicalForwardingAddressRequest ::= ENUMERATED {
- physical-forwarding-address-not-requested(0),
- physical-forwarding-address-requested(1)}
-
-physical-delivery-modes EXTENSION ::= {
- PhysicalDeliveryModes
- IF ABSENT {ordinary-mail},
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:9
-}
-
-PhysicalDeliveryModes ::= BIT STRING {
- ordinary-mail(0), special-delivery(1), express-mail(2),
- counter-collection(3), counter-collection-with-telephone-advice(4),
- counter-collection-with-telex-advice(5),
- counter-collection-with-teletex-advice(6), bureau-fax-delivery(7)
-
--- bits 0 to 6 are mutually exclusive
--- bit 7 can be set independently of any of bits 0 to 6 --}
-(SIZE (0..ub-bit-options))
-
-registered-mail-type EXTENSION ::= {
- RegisteredMailType
- IF ABSENT non-registered-mail,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:10
-}
-
-RegisteredMailType ::= INTEGER {
- non-registered-mail(0), registered-mail(1),
- registered-mail-to-addressee-in-person(2)}(0..ub-integer-options)
-
-recipient-number-for-advice EXTENSION ::= {
- RecipientNumberForAdvice,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:11
-}
-
-RecipientNumberForAdvice ::=
- TeletexString(SIZE (1..ub-recipient-number-for-advice-length))
-
-physical-rendition-attributes EXTENSION ::= {
- PhysicalRenditionAttributes
- IF ABSENT id-att-physicalRendition-basic,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:12
-}
-
-PhysicalRenditionAttributes ::= OBJECT IDENTIFIER
-
-originator-return-address EXTENSION ::= {
- OriginatorReturnAddress,
- IDENTIFIED BY standard-extension:13
-}
-
-OriginatorReturnAddress ::= ORAddress
-
-physical-delivery-report-request EXTENSION ::= {
- PhysicalDeliveryReportRequest
- IF ABSENT return-of-undeliverable-mail-by-PDS,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:14
-}
-
-PhysicalDeliveryReportRequest ::= INTEGER {
- return-of-undeliverable-mail-by-PDS(0), return-of-notification-by-PDS(1),
- return-of-notification-by-MHS(2), return-of-notification-by-MHS-and-PDS(3)
-}(0..ub-integer-options)
-
-originator-certificate EXTENSION ::= {
- OriginatorCertificate,
- IDENTIFIED BY standard-extension:15
-}
-
-OriginatorCertificate ::= Certificates
-
-message-token EXTENSION ::= {
- MessageToken,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:16
-}
-
-MessageToken ::= Token
-
-content-confidentiality-algorithm-identifier EXTENSION ::= {
- ContentConfidentialityAlgorithmIdentifier,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:17
-}
-
-ContentConfidentialityAlgorithmIdentifier ::= AlgorithmIdentifier
-
-content-integrity-check EXTENSION ::= {
- ContentIntegrityCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:18
-}
-
-ContentIntegrityCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ContentIntegrityAlgorithmIdentifier OPTIONAL,
- content Content}}
-
-ContentIntegrityAlgorithmIdentifier ::= AlgorithmIdentifier
-
-message-origin-authentication-check EXTENSION ::= {
- MessageOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:19
-}
-
-MessageOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- MessageOriginAuthenticationAlgorithmIdentifier,
- content Content,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL}}
-
-MessageOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-message-security-label EXTENSION ::= {
- MessageSecurityLabel,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:20
-}
-
-MessageSecurityLabel ::= SecurityLabel
-
-proof-of-submission-request EXTENSION ::= {
- ProofOfSubmissionRequest
- IF ABSENT proof-of-submission-not-requested,
- RECOMMENDED CRITICALITY {for-submission},
- IDENTIFIED BY standard-extension:21
-}
-
-ProofOfSubmissionRequest ::= ENUMERATED {
- proof-of-submission-not-requested(0), proof-of-submission-requested(1)
-}
-
-proof-of-delivery-request EXTENSION ::= {
- ProofOfDeliveryRequest
- IF ABSENT proof-of-delivery-not-requested,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:22
-}
-
-ProofOfDeliveryRequest ::= ENUMERATED {
- proof-of-delivery-not-requested(0), proof-of-delivery-requested(1)}
-
-content-correlator EXTENSION ::= {
- ContentCorrelator,
- IDENTIFIED BY standard-extension:23
-}
-
-ContentCorrelator ::= CHOICE {ia5text IA5String,
- octets OCTET STRING
-}
-
-probe-origin-authentication-check EXTENSION ::= {
- ProbeOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:24
-}
-
-ProbeOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProbeOriginAuthenticationAlgorithmIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL}}
-
-ProbeOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-redirection-history EXTENSION ::= {
- RedirectionHistory,
- IDENTIFIED BY standard-extension:25
-}
-
-RedirectionHistory ::= SEQUENCE SIZE (1..ub-redirections) OF Redirection
-
-Redirection ::= SEQUENCE {
- intended-recipient-name IntendedRecipientName,
- redirection-reason RedirectionReason
-}
-
-IntendedRecipientName ::= SEQUENCE {
- intended-recipient ORAddressAndOptionalDirectoryName,
- redirection-time Time
-}
-
-RedirectionReason ::= ENUMERATED {
- recipient-assigned-alternate-recipient(0),
- originator-requested-alternate-recipient(1),
- recipient-MD-assigned-alternate-recipient(2),
- -- The following values may not be supported by implementations of earlier versions of this Service Definition
- directory-look-up(3), alias(4), ...
- }
-
-dl-expansion-history EXTENSION ::= {
- DLExpansionHistory,
- IDENTIFIED BY standard-extension:26
-}
-
-DLExpansionHistory ::= SEQUENCE SIZE (1..ub-dl-expansions) OF DLExpansion
-
-DLExpansion ::= SEQUENCE {
- dl ORAddressAndOptionalDirectoryName,
- dl-expansion-time Time
-}
-
-physical-forwarding-address EXTENSION ::= {
- PhysicalForwardingAddress,
- IDENTIFIED BY standard-extension:27
-}
-
-PhysicalForwardingAddress ::= ORAddressAndOptionalDirectoryName
-
-recipient-certificate EXTENSION ::= {
- RecipientCertificate,
- IDENTIFIED BY standard-extension:28
-}
-
-proof-of-delivery EXTENSION ::= {
- ProofOfDelivery,
- IDENTIFIED BY standard-extension:29
-}
-
-originator-and-DL-expansion-history EXTENSION ::= {
- OriginatorAndDLExpansionHistory,
- IDENTIFIED BY standard-extension:30
-}
-
-OriginatorAndDLExpansionHistory ::=
- SEQUENCE SIZE (2..ub-orig-and-dl-expansions) OF OriginatorAndDLExpansion
-
-OriginatorAndDLExpansion ::= SEQUENCE {
- originator-or-dl-name ORAddressAndOptionalDirectoryName,
- origination-or-expansion-time Time
-}
-
-reporting-DL-name EXTENSION ::= {
- ReportingDLName,
- IDENTIFIED BY standard-extension:31
-}
-
-ReportingDLName ::= ORAddressAndOptionalDirectoryName
-
-reporting-MTA-certificate EXTENSION ::= {
- ReportingMTACertificate,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:32
-}
-
-ReportingMTACertificate ::= Certificates
-
-report-origin-authentication-check EXTENSION ::= {
- ReportOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:33
-}
-
-ReportOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ReportOriginAuthenticationAlgorithmIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL,
- per-recipient
- SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportFields
- }}
-
-ReportOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-PerRecipientReportFields ::= SEQUENCE {
- actual-recipient-name ActualRecipientName,
- originally-intended-recipient-name OriginallyIntendedRecipientName OPTIONAL,
- report-type
- CHOICE {delivery [0] PerRecipientDeliveryReportFields,
- non-delivery [1] PerRecipientNonDeliveryReportFields}
-}
-
-PerRecipientDeliveryReportFields ::= SEQUENCE {
- message-delivery-time MessageDeliveryTime,
- type-of-MTS-user TypeOfMTSUser,
- recipient-certificate [0] RecipientCertificate OPTIONAL,
- proof-of-delivery [1] ProofOfDelivery OPTIONAL
-}
-
-PerRecipientNonDeliveryReportFields ::= SEQUENCE {
- non-delivery-reason-code NonDeliveryReasonCode,
- non-delivery-diagnostic-code NonDeliveryDiagnosticCode OPTIONAL
-}
-
-originating-MTA-certificate EXTENSION ::= {
- OriginatingMTACertificate,
- IDENTIFIED BY standard-extension:34
-}
-
-OriginatingMTACertificate ::= Certificates
-
-proof-of-submission EXTENSION ::= {
- ProofOfSubmission,
- IDENTIFIED BY standard-extension:35
-}
-
-ProofOfSubmission ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProofOfSubmissionAlgorithmIdentifier,
- message-submission-envelope MessageSubmissionEnvelope,
- content Content,
- message-submission-identifier MessageSubmissionIdentifier,
- message-submission-time MessageSubmissionTime}}
-
-ProofOfSubmissionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-reporting-MTA-name EXTENSION ::= {
- ReportingMTAName,
- IDENTIFIED BY standard-extension:39
-}
-
-ReportingMTAName ::= SEQUENCE {
- domain GlobalDomainIdentifier,
- mta-name MTAName,
- mta-directory-name [0] Name OPTIONAL
-}
-
-multiple-originator-certificates EXTENSION ::= {
- ExtendedCertificates,
- IDENTIFIED BY standard-extension:40
-}
-
-ExtendedCertificates ::= SET SIZE (1..ub-certificates) OF ExtendedCertificate
-
-ExtendedCertificate ::= CHOICE {
- directory-entry [0] Name, -- Name of a Directory entry where the certificate can be found
- certificate [1] Certificates
-}
-
-dl-exempted-recipients EXTENSION ::= {
- DLExemptedRecipients,
- IDENTIFIED BY standard-extension:42
-}
-
-DLExemptedRecipients ::= SET OF ORAddressAndOrDirectoryName
-
-certificate-selectors EXTENSION ::= {
- CertificateSelectors,
- IDENTIFIED BY standard-extension:45
-}
-
-CertificateSelectors ::= SET {
- encryption-recipient [0] CertificateAssertion OPTIONAL,
- encryption-originator [1] CertificateAssertion OPTIONAL,
- content-integrity-check [2] CertificateAssertion OPTIONAL,
- token-signature [3] CertificateAssertion OPTIONAL,
- message-origin-authentication [4] CertificateAssertion OPTIONAL
-}
-
-certificate-selectors-override EXTENSION ::= {
- CertificateSelectors
- (WITH COMPONENTS {
- ...,
- message-origin-authentication ABSENT
- }),
- IDENTIFIED BY standard-extension:46
-}
-
--- Some standard-extensions are defined elsewhere:
--- 36 (forwarding-request) in ITU-T Rec. X.413 | ISO/IEC 10021-5;
--- 37 (trace-information), and 38 (internal-trace-information) in Figure 4;
--- 41 (blind-copy-recipients), 43 (body-part-encryption-token), and 44 (forwarded-content-token) in
--- ITU-T Rec. X.420 | ISO/IEC 10021-7
--- Common Parameter Types
-Content ::=
- OCTET
- STRING -- when the content-type has the integer value external, the value of the
-
--- content octet string is the ASN.1 encoding of the external-content;
--- an external-content is a data type EXTERNAL
-MTSIdentifier ::= [APPLICATION 4] SEQUENCE {
- global-domain-identifier GlobalDomainIdentifier,
- local-identifier LocalIdentifier
-}
-
-LocalIdentifier ::= IA5String(SIZE (1..ub-local-id-length))
-
-GlobalDomainIdentifier ::= [APPLICATION 3] SEQUENCE {
- country-name CountryName,
- administration-domain-name AdministrationDomainName,
- private-domain-identifier PrivateDomainIdentifier OPTIONAL
-}
-
-PrivateDomainIdentifier ::= CHOICE {
- numeric NumericString(SIZE (1..ub-domain-name-length)),
- printable PrintableString(SIZE (1..ub-domain-name-length))
-}
-
-MTAName ::= IA5String(SIZE (1..ub-mta-name-length))
-
-Time ::= UTCTime
-
--- OR Names
-ORAddressAndOrDirectoryName ::= ORName
-
-ORAddressAndOptionalDirectoryName ::= ORName
-
-ORName ::= [APPLICATION 0] SEQUENCE {
- -- address --COMPONENTS OF ORAddress,
- directory-name [0] Name OPTIONAL
-}
-
-ORAddress ::= SEQUENCE {
- built-in-standard-attributes BuiltInStandardAttributes,
- built-in-domain-defined-attributes BuiltInDomainDefinedAttributes OPTIONAL,
- -- see also teletex-domain-defined-attributes
- extension-attributes ExtensionAttributes OPTIONAL
-}
-
--- The OR-address is semantically absent from the OR-name if the built-in-standard-attribute
--- sequence is empty and the built-in-domain-defined-attributes and extension-attributes are both omitted.
--- Built-in Standard Attributes
-BuiltInStandardAttributes ::= SEQUENCE {
- country-name CountryName OPTIONAL,
- administration-domain-name AdministrationDomainName OPTIONAL,
- network-address [0] NetworkAddress OPTIONAL,
- -- see also extended-network-address
- terminal-identifier [1] TerminalIdentifier OPTIONAL,
- private-domain-name [2] PrivateDomainName OPTIONAL,
- organization-name [3] OrganizationName OPTIONAL,
- -- see also teletex-organization-name
- numeric-user-identifier [4] NumericUserIdentifier OPTIONAL,
- personal-name [5] PersonalName OPTIONAL,
- -- see also teletex-personal-name
- organizational-unit-names [6] OrganizationalUnitNames OPTIONAL
- -- see also teletex-organizational-unit-names
-}
-
-CountryName ::= [APPLICATION 1] CHOICE {
- x121-dcc-code NumericString(SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length))
-}
-
-AdministrationDomainName ::= [APPLICATION 2] CHOICE {
- numeric NumericString(SIZE (0..ub-domain-name-length)),
- printable PrintableString(SIZE (0..ub-domain-name-length))
-}
-
-NetworkAddress ::= X121Address
-
--- see also extended-network-address
-X121Address ::= NumericString(SIZE (1..ub-x121-address-length))
-
-TerminalIdentifier ::= PrintableString(SIZE (1..ub-terminal-id-length))
-
-PrivateDomainName ::= CHOICE {
- numeric NumericString(SIZE (1..ub-domain-name-length)),
- printable PrintableString(SIZE (1..ub-domain-name-length))
-}
-
-OrganizationName ::= PrintableString(SIZE (1..ub-organization-name-length))
-
--- see also teletex-organization-name
-NumericUserIdentifier ::= NumericString(SIZE (1..ub-numeric-user-id-length))
-
-PersonalName ::= SET {
- surname [0] PrintableString(SIZE (1..ub-surname-length)),
- given-name
- [1] PrintableString(SIZE (1..ub-given-name-length)) OPTIONAL,
- initials
- [2] PrintableString(SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier
- [3] PrintableString(SIZE (1..ub-generation-qualifier-length)) OPTIONAL
-}
-
--- see also teletex-personal-name
-OrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF OrganizationalUnitName
-
--- see also teletex-organizational-unit-names
-OrganizationalUnitName ::=
- PrintableString(SIZE (1..ub-organizational-unit-name-length))
-
--- Built-in Domain-defined Attributes
-BuiltInDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- BuiltInDomainDefinedAttribute
-
-BuiltInDomainDefinedAttribute ::= SEQUENCE {
- type PrintableString(SIZE (1..ub-domain-defined-attribute-type-length)),
- value PrintableString(SIZE (1..ub-domain-defined-attribute-value-length))
-}
-
--- Extension Attributes
-ExtensionAttributes ::=
- SET SIZE (1..ub-extension-attributes) OF ExtensionAttribute
-
-ExtensionAttribute ::= SEQUENCE {
- extension-attribute-type
- [0] EXTENSION-ATTRIBUTE.&id({ExtensionAttributeTable}),
- extension-attribute-value
- [1] EXTENSION-ATTRIBUTE.&Type
- ({ExtensionAttributeTable}{@extension-attribute-type})
-}
-
-EXTENSION-ATTRIBUTE ::= CLASS {
- &id INTEGER(0..ub-extension-attributes) UNIQUE,
- &Type
-}WITH SYNTAX {&Type
- IDENTIFIED BY &id
-}
-
-ExtensionAttributeTable EXTENSION-ATTRIBUTE ::=
- {common-name | teletex-common-name | universal-common-name |
- teletex-organization-name | universal-organization-name |
- teletex-personal-name | universal-personal-name |
- teletex-organizational-unit-names | universal-organizational-unit-names |
- teletex-domain-defined-attributes | universal-domain-defined-attributes |
- pds-name | physical-delivery-country-name | postal-code |
- physical-delivery-office-name | universal-physical-delivery-office-name |
- physical-delivery-office-number | universal-physical-delivery-office-number
- | extension-OR-address-components |
- universal-extension-OR-address-components | physical-delivery-personal-name
- | universal-physical-delivery-personal-name |
- physical-delivery-organization-name |
- universal-physical-delivery-organization-name |
- extension-physical-delivery-address-components |
- universal-extension-physical-delivery-address-components |
- unformatted-postal-address | universal-unformatted-postal-address |
- street-address | universal-street-address | post-office-box-address |
- universal-post-office-box-address | poste-restante-address |
- universal-poste-restante-address | unique-postal-name |
- universal-unique-postal-name | local-postal-attributes |
- universal-local-postal-attributes | extended-network-address | terminal-type
- }
-
--- Extension Standard Attributes
-common-name EXTENSION-ATTRIBUTE ::= {CommonName
- IDENTIFIED BY 1
-}
-
-CommonName ::= PrintableString(SIZE (1..ub-common-name-length))
-
-teletex-common-name EXTENSION-ATTRIBUTE ::= {TeletexCommonName
- IDENTIFIED BY 2
-}
-
-TeletexCommonName ::= TeletexString(SIZE (1..ub-common-name-length))
-
-universal-common-name EXTENSION-ATTRIBUTE ::= {
- UniversalCommonName
- IDENTIFIED BY 24
-}
-
-UniversalCommonName ::= UniversalOrBMPString{ub-common-name-length}
-
-teletex-organization-name EXTENSION-ATTRIBUTE ::= {
- TeletexOrganizationName
- IDENTIFIED BY 3
-}
-
-TeletexOrganizationName ::=
- TeletexString(SIZE (1..ub-organization-name-length))
-
-universal-organization-name EXTENSION-ATTRIBUTE ::= {
- UniversalOrganizationName
- IDENTIFIED BY 25
-}
-
-UniversalOrganizationName ::= UniversalOrBMPString{ub-organization-name-length}
-
-teletex-personal-name EXTENSION-ATTRIBUTE ::= {
- TeletexPersonalName
- IDENTIFIED BY 4
-}
-
-TeletexPersonalName ::= SET {
- surname [0] TeletexString(SIZE (1..ub-surname-length)),
- given-name
- [1] TeletexString(SIZE (1..ub-given-name-length)) OPTIONAL,
- initials
- [2] TeletexString(SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier
- [3] TeletexString(SIZE (1..ub-generation-qualifier-length)) OPTIONAL
-}
-
-universal-personal-name EXTENSION-ATTRIBUTE ::= {
- UniversalPersonalName
- IDENTIFIED BY 26
-}
-
-UniversalPersonalName ::= SET {
- surname [0] UniversalOrBMPString{ub-universal-surname-length},
- -- If a language is specified within surname, then that language applies to each of the following
- -- optional components unless the component specifies another language.
- given-name
- [1] UniversalOrBMPString{ub-universal-given-name-length} OPTIONAL,
- initials
- [2] UniversalOrBMPString{ub-universal-initials-length} OPTIONAL,
- generation-qualifier
- [3] UniversalOrBMPString{ub-universal-generation-qualifier-length}
- OPTIONAL
-}
-
-teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
- TeletexOrganizationalUnitNames
- IDENTIFIED BY 5
-}
-
-TeletexOrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF TeletexOrganizationalUnitName
-
-TeletexOrganizationalUnitName ::=
- TeletexString(SIZE (1..ub-organizational-unit-name-length))
-
-universal-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
- UniversalOrganizationalUnitNames
- IDENTIFIED BY 27
-}
-
-UniversalOrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF UniversalOrganizationalUnitName
-
--- If a unit name specifies a language, then that language applies to subordinate unit names unless
--- the subordinate specifies another language.
-UniversalOrganizationalUnitName ::=
- UniversalOrBMPString{ub-organizational-unit-name-length}
-
-UniversalOrBMPString{INTEGER:ub-string-length} ::= SET {
- character-encoding
- CHOICE {two-octets BMPString(SIZE (1..ub-string-length)),
- four-octets UniversalString(SIZE (1..ub-string-length))},
- iso-639-language-code PrintableString(SIZE (2 | 5)) OPTIONAL
-}
-
-pds-name EXTENSION-ATTRIBUTE ::= {PDSName
- IDENTIFIED BY 7
-}
-
-PDSName ::= PrintableString(SIZE (1..ub-pds-name-length))
-
-physical-delivery-country-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryCountryName
- IDENTIFIED BY 8
-}
-
-PhysicalDeliveryCountryName ::= CHOICE {
- x121-dcc-code NumericString(SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length))
-}
-
-postal-code EXTENSION-ATTRIBUTE ::= {PostalCode
- IDENTIFIED BY 9
-}
-
-PostalCode ::= CHOICE {
- numeric-code NumericString(SIZE (1..ub-postal-code-length)),
- printable-code PrintableString(SIZE (1..ub-postal-code-length))
-}
-
-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOfficeName
- IDENTIFIED BY 10
-}
-
-PhysicalDeliveryOfficeName ::= PDSParameter
-
-universal-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryOfficeName
- IDENTIFIED BY 29
-}
-
-UniversalPhysicalDeliveryOfficeName ::= UniversalPDSParameter
-
-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOfficeNumber
- IDENTIFIED BY 11
-}
-
-PhysicalDeliveryOfficeNumber ::= PDSParameter
-
-universal-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryOfficeNumber
- IDENTIFIED BY 30
-}
-
-UniversalPhysicalDeliveryOfficeNumber ::= UniversalPDSParameter
-
-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
- ExtensionORAddressComponents
- IDENTIFIED BY 12
-}
-
-ExtensionORAddressComponents ::= PDSParameter
-
-universal-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
- UniversalExtensionORAddressComponents
- IDENTIFIED BY 31
-}
-
-UniversalExtensionORAddressComponents ::= UniversalPDSParameter
-
-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryPersonalName
- IDENTIFIED BY 13
-}
-
-PhysicalDeliveryPersonalName ::= PDSParameter
-
-universal-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryPersonalName
- IDENTIFIED BY 32
-}
-
-UniversalPhysicalDeliveryPersonalName ::= UniversalPDSParameter
-
-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOrganizationName
- IDENTIFIED BY 14
-}
-
-PhysicalDeliveryOrganizationName ::= PDSParameter
-
-universal-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::=
-{UniversalPhysicalDeliveryOrganizationName
- IDENTIFIED BY 33
-}
-
-UniversalPhysicalDeliveryOrganizationName ::= UniversalPDSParameter
-
-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::=
-{ExtensionPhysicalDeliveryAddressComponents
- IDENTIFIED BY 15
-}
-
-ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
-
-universal-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE
- ::= {UniversalExtensionPhysicalDeliveryAddressComponents
- IDENTIFIED BY 34
-}
-
-UniversalExtensionPhysicalDeliveryAddressComponents ::= UniversalPDSParameter
-
-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
- UnformattedPostalAddress
- IDENTIFIED BY 16
-}
-
-UnformattedPostalAddress ::= SET {
- printable-address
- SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
- PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string
- TeletexString(SIZE (1..ub-unformatted-address-length)) OPTIONAL
-}
-
-universal-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
- UniversalUnformattedPostalAddress
- IDENTIFIED BY 35
-}
-
-UniversalUnformattedPostalAddress ::=
- UniversalOrBMPString{ub-unformatted-address-length}
-
-street-address EXTENSION-ATTRIBUTE ::= {StreetAddress
- IDENTIFIED BY 17
-}
-
-StreetAddress ::= PDSParameter
-
-universal-street-address EXTENSION-ATTRIBUTE ::= {
- UniversalStreetAddress
- IDENTIFIED BY 36
-}
-
-UniversalStreetAddress ::= UniversalPDSParameter
-
-post-office-box-address EXTENSION-ATTRIBUTE ::= {
- PostOfficeBoxAddress
- IDENTIFIED BY 18
-}
-
-PostOfficeBoxAddress ::= PDSParameter
-
-universal-post-office-box-address EXTENSION-ATTRIBUTE ::= {
- UniversalPostOfficeBoxAddress
- IDENTIFIED BY 37
-}
-
-UniversalPostOfficeBoxAddress ::= UniversalPDSParameter
-
-poste-restante-address EXTENSION-ATTRIBUTE ::= {
- PosteRestanteAddress
- IDENTIFIED BY 19
-}
-
-PosteRestanteAddress ::= PDSParameter
-
-universal-poste-restante-address EXTENSION-ATTRIBUTE ::= {
- UniversalPosteRestanteAddress
- IDENTIFIED BY 38
-}
-
-UniversalPosteRestanteAddress ::= UniversalPDSParameter
-
-unique-postal-name EXTENSION-ATTRIBUTE ::= {UniquePostalName
- IDENTIFIED BY 20
-}
-
-UniquePostalName ::= PDSParameter
-
-universal-unique-postal-name EXTENSION-ATTRIBUTE ::= {
- UniversalUniquePostalName
- IDENTIFIED BY 39
-}
-
-UniversalUniquePostalName ::= UniversalPDSParameter
-
-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
- LocalPostalAttributes
- IDENTIFIED BY 21
-}
-
-LocalPostalAttributes ::= PDSParameter
-
-universal-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
- UniversalLocalPostalAttributes
- IDENTIFIED BY 40
-}
-
-UniversalLocalPostalAttributes ::= UniversalPDSParameter
-
-PDSParameter ::= SET {
- printable-string PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string TeletexString(SIZE (1..ub-pds-parameter-length)) OPTIONAL
-}
-
-UniversalPDSParameter ::= UniversalOrBMPString{ub-pds-parameter-length}
-
-extended-network-address EXTENSION-ATTRIBUTE ::= {
- ExtendedNetworkAddress
- IDENTIFIED BY 22
-}
-
-ExtendedNetworkAddress ::= CHOICE {
- e163-4-address
- SEQUENCE {number
- [0] NumericString(SIZE (1..ub-e163-4-number-length)),
- sub-address
- [1] NumericString(SIZE (1..ub-e163-4-sub-address-length))
- OPTIONAL},
- psap-address [0] PresentationAddress
-}
-
-terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType
- IDENTIFIED BY 23
-}
-
-TerminalType ::= INTEGER {
- telex(3), teletex(4), g3-facsimile(5), g4-facsimile(6), ia5-terminal(7),
- videotex(8)}(0..ub-integer-options)
-
--- Extension Domain-defined Attributes
-teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
- TeletexDomainDefinedAttributes
- IDENTIFIED BY 6
-}
-
-TeletexDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- TeletexDomainDefinedAttribute
-
-TeletexDomainDefinedAttribute ::= SEQUENCE {
- type TeletexString(SIZE (1..ub-domain-defined-attribute-type-length)),
- value TeletexString(SIZE (1..ub-domain-defined-attribute-value-length))
-}
-
-universal-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
- UniversalDomainDefinedAttributes
- IDENTIFIED BY 28
-}
-
-UniversalDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- UniversalDomainDefinedAttribute
-
-UniversalDomainDefinedAttribute ::= SEQUENCE {
- type UniversalOrBMPString{ub-domain-defined-attribute-type-length},
- value UniversalOrBMPString{ub-domain-defined-attribute-value-length}
-}
-
--- Encoded Information Types
-EncodedInformationTypes ::= [APPLICATION 5] SET {
- built-in-encoded-information-types [0] BuiltInEncodedInformationTypes,
- -- non-basic-parameters --COMPONENTS OF NonBasicParameters,
- extended-encoded-information-types
- [4] ExtendedEncodedInformationTypes OPTIONAL
-}
-
--- Built-in Encoded Information Types
-BuiltInEncodedInformationTypes ::= BIT STRING {
- unknown(0), ia5-text(2), g3-facsimile(3), g4-class-1(4), teletex(5),
- videotex(6), voice(7), sfd(8), mixed-mode(9)
-}(SIZE (0..ub-built-in-encoded-information-types))
-
--- Extended Encoded Information Types
-ExtendedEncodedInformationTypes ::=
- SET SIZE (1..ub-encoded-information-types) OF ExtendedEncodedInformationType
-
-ExtendedEncodedInformationType ::= OBJECT IDENTIFIER
-
--- Non-basic Parameters
-NonBasicParameters ::= SET {
- g3-facsimile [1] G3FacsimileNonBasicParameters DEFAULT {},
- teletex [2] TeletexNonBasicParameters DEFAULT {}
-}
-
-G3FacsimileNonBasicParameters ::= BIT STRING {
- two-dimensional(8), -- As defined in ITU-T Recommendation T.30
- fine-resolution(9), --
- unlimited-length(20), -- These bit values are chosen such that when
- b4-length(21), -- encoded using ASN.1 Basic Encoding Rules
- a3-width(22), -- the resulting octets have the same values
- b4-width(23), -- as for T.30 encoding
- t6-coding(25), --
- uncompressed(30), -- Trailing zero bits are not significant.
- width-middle-864-of-1728(37), -- It is recommended that implementations
- width-middle-1216-of-1728(38), -- should not encode more than 32 bits unless
- resolution-type(44), -- higher numbered bits are non-zero.
- resolution-400x400(45), resolution-300x300(46), resolution-8x15(47),
- edi(49), dtm(50), bft(51), mixed-mode(58), character-mode(60),
- twelve-bits(65), preferred-huffmann(66), full-colour(67), jpeg(68),
- processable-mode-26(71)}
-
-TeletexNonBasicParameters ::= SET {
- graphic-character-sets [0] TeletexString OPTIONAL,
- control-character-sets [1] TeletexString OPTIONAL,
- page-formats [2] OCTET STRING OPTIONAL,
- miscellaneous-terminal-capabilities [3] TeletexString OPTIONAL,
- private-use
- [4] OCTET STRING
- OPTIONAL -- maximum ub-teletex-private-use-length octets --
-}
-
--- as defined in CCITT Recommendation T.62
--- Token
-Token ::= SEQUENCE {
- token-type-identifier [0] TOKEN.&id({TokensTable}),
- token
- [1] TOKEN.&Type({TokensTable}{@token-type-identifier})
-}
-
-TOKEN ::= TYPE-IDENTIFIER
-
-TokensTable TOKEN ::= {asymmetric-token, ...}
-
-asymmetric-token TOKEN ::= {
- AsymmetricToken
- IDENTIFIED BY id-tok-asymmetricToken
-}
-
-AsymmetricToken ::=
- SIGNED
- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
- name
- CHOICE {recipient-name RecipientName,
- mta
- [3] SEQUENCE {global-domain-identifier
- GlobalDomainIdentifier OPTIONAL,
- mta-name MTAName
- }},
- time Time,
- signed-data [0] TokenData OPTIONAL,
- encryption-algorithm-identifier
- [1] AlgorithmIdentifier OPTIONAL,
- encrypted-data
- [2] ENCRYPTED{TokenData} OPTIONAL}}
-
-TokenData ::= SEQUENCE {
- type [0] TOKEN-DATA.&id({TokenDataTable}),
- value [1] TOKEN-DATA.&Type({TokenDataTable}{@type})
-}
-
-TOKEN-DATA ::= CLASS {&id INTEGER UNIQUE,
- &Type
-}WITH SYNTAX {&Type
- IDENTIFIED BY &id
-}
-
-TokenDataTable TOKEN-DATA ::=
- {bind-token-signed-data | message-token-signed-data |
- message-token-encrypted-data | bind-token-encrypted-data, ...}
-
-bind-token-signed-data TOKEN-DATA ::= {BindTokenSignedData
- IDENTIFIED BY 1
-}
-
-BindTokenSignedData ::= RandomNumber
-
-RandomNumber ::= BIT STRING
-
-message-token-signed-data TOKEN-DATA ::= {
- MessageTokenSignedData
- IDENTIFIED BY 2
-}
-
-MessageTokenSignedData ::= SEQUENCE {
- content-confidentiality-algorithm-identifier
- [0] ContentConfidentialityAlgorithmIdentifier OPTIONAL,
- content-integrity-check
- [1] ContentIntegrityCheck OPTIONAL,
- message-security-label
- [2] MessageSecurityLabel OPTIONAL,
- proof-of-delivery-request
- [3] ProofOfDeliveryRequest OPTIONAL,
- message-sequence-number [4] INTEGER OPTIONAL
-}
-
-message-token-encrypted-data TOKEN-DATA ::= {
- MessageTokenEncryptedData
- IDENTIFIED BY 3
-}
-
-MessageTokenEncryptedData ::= SEQUENCE {
- content-confidentiality-key [0] EncryptionKey OPTIONAL,
- content-integrity-check [1] ContentIntegrityCheck OPTIONAL,
- message-security-label [2] MessageSecurityLabel OPTIONAL,
- content-integrity-key [3] EncryptionKey OPTIONAL,
- message-sequence-number [4] INTEGER OPTIONAL
-}
-
-EncryptionKey ::= BIT STRING
-
-bind-token-encrypted-data TOKEN-DATA ::= {
- BindTokenEncryptedData
- IDENTIFIED BY 4
-}
-
-BindTokenEncryptedData ::= EXTERNAL
-
--- Security Label
-SecurityLabel ::= SET {
- security-policy-identifier SecurityPolicyIdentifier OPTIONAL,
- security-classification SecurityClassification OPTIONAL,
- privacy-mark PrivacyMark OPTIONAL,
- security-categories SecurityCategories OPTIONAL
-}
-
-SecurityPolicyIdentifier ::= OBJECT IDENTIFIER
-
-SecurityClassification ::= INTEGER {
- unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
- top-secret(5)}(0..ub-integer-options)
-
-PrivacyMark ::= PrintableString(SIZE (1..ub-privacy-mark-length))
-
-SecurityCategories ::= SET SIZE (1..ub-security-categories) OF SecurityCategory
-
-SecurityCategory ::= SEQUENCE {
- type [0] SECURITY-CATEGORY.&id({SecurityCategoriesTable}),
- value [1] SECURITY-CATEGORY.&Type({SecurityCategoriesTable}{@type})
-}
-
-SECURITY-CATEGORY ::= TYPE-IDENTIFIER
-
-SecurityCategoriesTable SECURITY-CATEGORY ::=
- {...}
-
-END -- of MTSAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/MTSUpperBounds.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/MTSUpperBounds.asn
deleted file mode 100644
index 10eac962cb..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/MTSUpperBounds.asn
+++ /dev/null
@@ -1,146 +0,0 @@
--- Module MTSUpperBounds (X.411:06/1999)
-MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0) upper-bounds(3)
- version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS -- nothing -- ;
-
--- Upper Bounds
-ub-additional-info INTEGER ::= 1024
-
-ub-bilateral-info INTEGER ::= 1024
-
-ub-bit-options INTEGER ::= 16
-
-ub-built-in-content-type INTEGER ::= 32767
-
-ub-built-in-encoded-information-types INTEGER ::= 32
-
-ub-certificates INTEGER ::= 64
-
-ub-common-name-length INTEGER ::= 64
-
-ub-content-correlator-length INTEGER ::= 512
-
-ub-content-id-length INTEGER ::= 16
-
-ub-content-length INTEGER ::= 2147483647 -- the largest integer in 32 bits
-
-ub-content-types INTEGER ::= 1024
-
-ub-country-name-alpha-length INTEGER ::= 2
-
-ub-country-name-numeric-length INTEGER ::= 3
-
-ub-diagnostic-codes INTEGER ::= 32767
-
-ub-deliverable-class INTEGER ::= 256
-
-ub-dl-expansions INTEGER ::= 512
-
-ub-domain-defined-attributes INTEGER ::= 4
-
-ub-domain-defined-attribute-type-length INTEGER ::= 8
-
-ub-domain-defined-attribute-value-length INTEGER ::= 128
-
-ub-domain-name-length INTEGER ::= 16
-
-ub-encoded-information-types INTEGER ::= 1024
-
-ub-extension-attributes INTEGER ::= 256
-
-ub-extension-types INTEGER ::= 256
-
-ub-e163-4-number-length INTEGER ::= 15
-
-ub-e163-4-sub-address-length INTEGER ::= 40
-
-ub-generation-qualifier-length INTEGER ::= 3
-
-ub-given-name-length INTEGER ::= 16
-
-ub-initials-length INTEGER ::= 5
-
-ub-integer-options INTEGER ::= 256
-
-ub-labels-and-redirections INTEGER ::= 256
-
-ub-local-id-length INTEGER ::= 32
-
-ub-mta-name-length INTEGER ::= 32
-
-ub-mts-user-types INTEGER ::= 256
-
-ub-numeric-user-id-length INTEGER ::= 32
-
-ub-organization-name-length INTEGER ::= 64
-
-ub-organizational-unit-name-length INTEGER ::= 32
-
-ub-organizational-units INTEGER ::= 4
-
-ub-orig-and-dl-expansions INTEGER ::= 513 -- ub-dl-expansions plus one
-
-ub-password-length INTEGER ::= 62
-
-ub-pds-name-length INTEGER ::= 16
-
-ub-pds-parameter-length INTEGER ::= 30
-
-ub-pds-physical-address-lines INTEGER ::= 6
-
-ub-postal-code-length INTEGER ::= 16
-
-ub-privacy-mark-length INTEGER ::= 128
-
-ub-queue-size INTEGER ::= 2147483647 -- the largest integer in 32 bits
-
-ub-reason-codes INTEGER ::= 32767
-
-ub-recipient-number-for-advice-length INTEGER ::= 32
-
-ub-recipients INTEGER ::= 32767
-
-ub-redirection-classes INTEGER ::= 256
-
-ub-redirections INTEGER ::= 512
-
-ub-restrictions INTEGER ::= 1024
-
-ub-security-categories INTEGER ::= 64
-
-ub-security-labels INTEGER ::= 256
-
-ub-security-problems INTEGER ::= 256
-
-ub-supplementary-info-length INTEGER ::= 256
-
-ub-surname-length INTEGER ::= 40
-
-ub-teletex-private-use-length INTEGER ::= 128
-
-ub-terminal-id-length INTEGER ::= 24
-
-ub-transfers INTEGER ::= 512
-
-ub-tsap-id-length INTEGER ::= 16
-
-ub-unformatted-address-length INTEGER ::= 180
-
-ub-universal-generation-qualifier-length INTEGER ::= 16
-
-ub-universal-given-name-length INTEGER ::= 40
-
-ub-universal-initials-length INTEGER ::= 16
-
-ub-universal-surname-length INTEGER ::= 64
-
-ub-x121-address-length INTEGER ::= 16
-
-END -- of MTSUpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/PKCS7.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/PKCS7.asn
deleted file mode 100644
index 7a06661cc0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/PKCS7.asn
+++ /dev/null
@@ -1,343 +0,0 @@
--- Module PKCS7 (X.420:06/1999)
--- The ASN.1 in version 1.5 of the PKCS#7 document is not defined in an ASN.1 module. This prevents an IMPORT of it into other ASN.1 modules.
--- This Annex contains a module of PKCS#7 ASN.1 definitions conforming to current ASN.1 standards rather than the obsolescent (and now deprecated) 1988/90 version of ASN.1 used in version 1.5 of PKCS#7.
--- Extensions to PKCS#7 defined in RFC 2630 are included.
--- If differences are found between the ASN.1 in the following module and that in PKCS#7, the latter is definitive.
-PKCS7 {iso member-body usa(840) rsadsi(113549) pkcs(1) 7
- module(0) -- module not currently defined in PKCS#7 --} DEFINITIONS IMPLICIT
-TAGS ::=
-BEGIN
-
-IMPORTS
- -- Directory Information Framework
- Attribute, Name
- --==
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3}
- -- Directory Authentication Framework
- AlgorithmIdentifier, AttributeCertificate, Certificate, CertificateList,
- CertificateSerialNumber, HASH{}, SIGNED{}
- --==
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3};
-
--- In PKCS#7 the HASHED parameterised type applies the hash function to the
--- contents octets component of a DER encoding of a value of the parameter.
--- The ENCRYPTED parameterised type is redefined here because PKCS#7 encrypted values are
--- defined as OCTET STRING, instead of BIT STRING as in the Directory Authentication Framework
-ENCRYPTED{ToBeEnciphered} ::=
- OCTET STRING
- (CONSTRAINED BY {
- -- must be the result of applying an encipherment procedure to the contents octets component
- -- of a definite-length BER-encoding of a value of --ToBeEnciphered})
-
-ContentInfo ::= SEQUENCE {
- content-type PKCS7-CONTENT-TYPE.&id({PKCS7ContentTable}),
--- pkcs7-content [0] PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}) OPTIONAL
- pkcs7-content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL
-}
-
-PKCS7-CONTENT-TYPE ::= TYPE-IDENTIFIER
-
-PKCS7ContentTable PKCS7-CONTENT-TYPE ::=
- {data | signed-data | enveloped-data | signed-and-enveloped-data |
- digested-data | encrypted-data | authenticated-data, ...}
-
--- Data
-data PKCS7-CONTENT-TYPE ::= {Data
- IDENTIFIED BY id-data
-}
-
-Data ::= OCTET STRING
-
--- Signed Data
-signed-data PKCS7-CONTENT-TYPE ::= {SignedData
- IDENTIFIED BY id-signed-data
-}
-
-SignedData ::= SEQUENCE {
- version Version,
- digestAlgorithms DigestAlgorithmIdentifiers,
- contentInfo ContentInfo,
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL,
- signerInfos SignerInfos
-}
-
-Version ::= INTEGER
-
-DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
-
-DigestAlgorithmIdentifier ::= AlgorithmIdentifier
-
-CertificateSet ::= SET OF CertificateChoice
-
-CertificateChoice ::= CHOICE {
- certificate Certificate,
- extendedCertificate [0] ExtendedCertificate, -- Obsolete
- attributeCertificate [1] AttributeCertificate
-}
-
-CertificateRevocationLists ::= SET OF CertificateList
-
-SignerInfos ::= SET OF SignerInfo
-
-SignerInfo ::= SEQUENCE {
- version Version,
- signerIdentifier SignerIdentifier,
- digestAlgorithm DigestAlgorithmIdentifier,
- authenticatedAttributes [0] Attributes OPTIONAL,
- digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
- encryptedDigest EncryptedDigest,
- unauthenticatedAttributes [1] Attributes OPTIONAL
-}
-
-SignerIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [2] SubjectKeyIdentifier
-}
-
-IssuerAndSerialNumber ::= SEQUENCE {
- issuer Name,
- serialNumber CertificateSerialNumber
-}
-
-SubjectKeyIdentifier ::= OCTET STRING
-
-DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-EncryptedDigest ::= ENCRYPTED{DigestInfo}
-
-DigestInfo ::= SEQUENCE {
- digestAlgorithm DigestAlgorithmIdentifier,
- digest Digest
-}
-
-Digest ::=
- HASH
- {CHOICE {content
- [1] PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}),
- authenticated-attributes [0] EXPLICIT Attributes}}
-
--- Enveloped Data
-enveloped-data PKCS7-CONTENT-TYPE ::= {
- EnvelopedData
- IDENTIFIED BY id-enveloped-data
-}
-
-EnvelopedData ::= SEQUENCE {
- version Version,
- originatorInfo [0] OriginatorInfo OPTIONAL,
- recipientInfos RecipientInfos,
- encryptedContentInfo EncryptedContentInfo,
- unprotectedAttributes [1] Attributes OPTIONAL
-}
-
-OriginatorInfo ::= SEQUENCE {
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL
-}
-
-RecipientInfos ::= SET SIZE (1..MAX) OF RecipientInfo
-
-RecipientInfo ::= CHOICE {
- keyTransportRecipientInfo KeyTransportRecipientInfo,
- keyAgreementRecipientInfo [1] KeyAgreementRecipientInfo,
- keyEncryptionKeyRecipientInfo [2] KeyEncryptionKeyRecipientInfo
-}
-
-KeyTransportRecipientInfo ::= SEQUENCE {
- version Version,
- recipientIdentifier RecipientIdentifier,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- encryptedKey EncryptedKey
-}
-
-RecipientIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [0] SubjectKeyIdentifier
-}
-
-KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-EncryptedKey ::= OCTET STRING
-
-KeyAgreementRecipientInfo ::= SEQUENCE {
- version Version,
- originator [0] OriginatorIdentifierOrKey,
- userKeyingMaterial [1] EXPLICIT OCTET STRING OPTIONAL,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- recipientEncryptedKeys RecipientEncryptedKeys
-}
-
-OriginatorIdentifierOrKey ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [0] SubjectKeyIdentifier,
- originatorPublicKey [1] OriginatorPublicKey
-}
-
-OriginatorPublicKey ::= SEQUENCE {
- algorithm AlgorithmIdentifier,
- publicKey BIT STRING
-}
-
-RecipientEncryptedKeys ::= SEQUENCE OF RecipientEncryptedKey
-
-RecipientEncryptedKey ::= SEQUENCE {
- recipientIdentifier KeyAgreementRecipientIdentifier,
- encryptedKey EncryptedKey
-}
-
-KeyAgreementRecipientIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- recipientKeyIdentifier [0] RecipientKeyIdentifier
-}
-
-RecipientKeyIdentifier ::= SEQUENCE {
- subjectKeyIdentifier SubjectKeyIdentifier,
- date GeneralizedTime OPTIONAL,
- otherKeyAttribute OtherKeyAttribute OPTIONAL
-}
-
-OtherKeyAttribute ::= SEQUENCE {
- keyAttributeIdentifier OTHER-KEY-ATTRIBUTE.&id({OtherKeyAttributeTable}),
- keyAttribute
- OTHER-KEY-ATTRIBUTE.&Type
- ({OtherKeyAttributeTable}{@keyAttributeIdentifier}) OPTIONAL
-}
-
-OTHER-KEY-ATTRIBUTE ::= TYPE-IDENTIFIER
-
-OtherKeyAttributeTable OTHER-KEY-ATTRIBUTE ::=
- {...}
-
-KeyEncryptionKeyRecipientInfo ::= SEQUENCE {
- version Version,
- keyEncryptionKeyIdentifier KeyEncryptionKeyIdentifier,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- encryptedKey EncryptedKey
-}
-
-KeyEncryptionKeyIdentifier ::= SEQUENCE {
- keyIdentifier OCTET STRING,
- date GeneralizedTime OPTIONAL,
- otherKeyAttribute OtherKeyAttribute OPTIONAL
-}
-
-EncryptedContentInfo ::= SEQUENCE {
- contentType PKCS7-CONTENT-TYPE.&id({PKCS7ContentTable}),
- contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
- encryptedContent
- [0] ENCRYPTED{PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}{@.contentType})}
- OPTIONAL
-}
-
-ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
--- Signed and Enveloped Data
-signed-and-enveloped-data PKCS7-CONTENT-TYPE ::= {
- SignedAndEnvelopedData
- IDENTIFIED BY id-signed-and-enveloped-data
-}
-
-SignedAndEnvelopedData ::= SEQUENCE {
- version Version,
- recipientInfos SET SIZE (1..MAX) OF KeyTransportRecipientInfo,
- digestAlgorithms DigestAlgorithmIdentifiers,
- encryptedContentInfo EncryptedContentInfo,
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL,
- signerInfos
- SET SIZE (1..MAX) OF
- SignerInfo
- (WITH COMPONENTS {
- ...,
- signerIdentifier (WITH COMPONENTS {
- issuerAndSerialNumber PRESENT
- }),
- authenticatedAttributes ABSENT,
- unauthenticatedAttributes ABSENT
- })
-}
-
--- Digested Data
-digested-data PKCS7-CONTENT-TYPE ::= {
- DigestedData
- IDENTIFIED BY id-digested-data
-}
-
-DigestedData ::= SEQUENCE {
- version Version,
- digestAlgorithm DigestAlgorithmIdentifier,
- contentInfo ContentInfo,
- digest HASH{PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable})}
-}
-
--- Encrypted Data
-encrypted-data PKCS7-CONTENT-TYPE ::= {
- EncryptedData
- IDENTIFIED BY id-encrypted-data
-}
-
-EncryptedData ::= SEQUENCE {
- version Version,
- encryptedContentInfo EncryptedContentInfo,
- unprotectedAttributes [1] Attributes OPTIONAL
-}
-
--- Authenticated Data
-authenticated-data PKCS7-CONTENT-TYPE ::= {
- AuthenticatedData
- IDENTIFIED BY id-authenticated-data
-}
-
-AuthenticatedData ::= SEQUENCE {
- version Version,
- originatorInfo [0] OriginatorInfo OPTIONAL,
- recipientInfos RecipientInfos,
- macAlgorithm MessageAuthenticationCodeAlgorithmIdentifier,
- digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
- contentInfo ContentInfo,
- authenticatedAttributes [2] Attributes OPTIONAL,
- messageAuthenticationCode MessageAuthenticationCode,
- unauthenticatedAttributes [3] Attributes OPTIONAL
-}
-
-MessageAuthenticationCodeAlgorithmIdentifier ::= AlgorithmIdentifier
-
-MessageAuthenticationCode ::= OCTET STRING
-
--- Object Identifiers
-id-pkcs OBJECT IDENTIFIER ::=
- {iso member-body usa(840) rsadsi(113549) pkcs(1)}
-
-id-data OBJECT IDENTIFIER ::= {id-pkcs 7 1}
-
-id-signed-data OBJECT IDENTIFIER ::= {id-pkcs 7 2}
-
-id-enveloped-data OBJECT IDENTIFIER ::= {id-pkcs 7 3}
-
-id-signed-and-enveloped-data OBJECT IDENTIFIER ::= {id-pkcs 7 4}
-
-id-digested-data OBJECT IDENTIFIER ::= {id-pkcs 7 5}
-
-id-encrypted-data OBJECT IDENTIFIER ::= {id-pkcs 7 6}
-
-id-authenticated-data OBJECT IDENTIFIER ::= {id-pkcs 9 16 1 2}
-
--- Definitions from PKCS#6
-ExtendedCertificate ::=
- SIGNED{ExtendedCertificateInfo}
-
-ExtendedCertificateInfo ::= SEQUENCE {
- version Version,
- certificate Certificate,
- attributes Attributes
-}
-
-Attributes ::= SET OF Attribute
-
-END -- of PKCS#7
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/SelectedAttributeTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/SelectedAttributeTypes.asn
deleted file mode 100644
index 07bba30690..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/SelectedAttributeTypes.asn
+++ /dev/null
@@ -1,1466 +0,0 @@
--- Module SelectedAttributeTypes (X.520:08/1997)
-
-SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
- selectedAttributeTypes(5) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, upperBounds, id-at, id-mr, id-avc,
- directoryAbstractService, id-pr, id-not, id-cat
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, ATTRIBUTE, MATCHING-RULE, AttributeType, OBJECT-CLASS,
- DistinguishedName, objectIdentifierMatch, distinguishedNameMatch,
- CONTEXT, ContextAssertion, AttributeCombination, ContextCombination,
- MAPPING-BASED-MATCHING, MRMapping, AttributeValueAssertion
- FROM InformationFramework informationFramework
- G3FacsimileNonBasicParameters
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- ub-answerback, ub-name, ub-common-name, ub-surname, ub-serial-number,
- ub-locality-name, ub-state-name, ub-street-address, ub-organization-name,
- ub-organizational-unit-name, ub-title, ub-description,
- ub-business-category, ub-postal-line, ub-postal-string, ub-postal-code,
- ub-post-office-box, ub-physical-office-name, ub-telex-number,
- ub-country-code, ub-teletex-terminal-id, ub-telephone-number,
- ub-x121-address, ub-international-isdn-number, ub-destination-indicator,
- ub-user-password, ub-match, ub-knowledge-information,
- ub-directory-string-first-component-match, ub-localeContextSyntax,
- ub-pseudonym
- FROM UpperBounds upperBounds
- FilterItem, HierarchySelections, SearchControlOptions, ServiceControlOptions
- FROM DirectoryAbstractService directoryAbstractService;
-
--- Directory string type
-DirectoryString{INTEGER:maxSize} ::= CHOICE {
- teletexString TeletexString(SIZE (1..maxSize)),
- printableString PrintableString(SIZE (1..maxSize)),
- universalString UniversalString(SIZE (1..maxSize)),
- bmpString BMPString(SIZE (1..maxSize)),
- uTF8String UTF8String(SIZE (1..maxSize))
-}
-
--- Attribute types
-knowledgeInformation ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-knowledge-information}
- EQUALITY MATCHING RULE caseIgnoreMatch
- ID id-at-knowledgeInformation
-}
-
-name ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-name
-}
-
-commonName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-commonName
-}
-
-surname ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-surname}
- ID id-at-surname
-}
-
-givenName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-givenName
-}
-
-initials ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-initials
-}
-
-generationQualifier ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-generationQualifier
-}
-
-uniqueIdentifier ATTRIBUTE ::= {
- WITH SYNTAX UniqueIdentifier
- EQUALITY MATCHING RULE bitStringMatch
- ID id-at-uniqueIdentifier
-}
-
-UniqueIdentifier ::= BIT STRING
-
-dnQualifier ATTRIBUTE ::= {
- WITH SYNTAX PrintableString
- EQUALITY MATCHING RULE caseIgnoreMatch
- ORDERING MATCHING RULE caseIgnoreOrderingMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-dnQualifier
-}
-
-serialNumber ATTRIBUTE ::= {
- WITH SYNTAX PrintableString(SIZE (1..ub-serial-number))
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-serialNumber
-}
-
-pseudonym ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-pseudonym}
- ID id-at-pseudonym
-}
-
-countryName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX CountryName
- SINGLE VALUE TRUE
- ID id-at-countryName
-}
-
-CountryName ::= PrintableString(SIZE (2)) -- ISO 3166 codes only
-
-
-localityName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-locality-name}
- ID id-at-localityName
-}
-
-collectiveLocalityName ATTRIBUTE ::= {
- SUBTYPE OF localityName
- COLLECTIVE TRUE
- ID id-at-collectiveLocalityName
-}
-
-stateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-state-name}
- ID id-at-stateOrProvinceName
-}
-
-collectiveStateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF stateOrProvinceName
- COLLECTIVE TRUE
- ID id-at-collectiveStateOrProvinceName
-}
-
-streetAddress ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-street-address}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-streetAddress
-}
-
-collectiveStreetAddress ATTRIBUTE ::= {
- SUBTYPE OF streetAddress
- COLLECTIVE TRUE
- ID id-at-collectiveStreetAddress
-}
-
-houseIdentifier ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-houseIdentifier
-}
-
-organizationName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organization-name}
- ID id-at-organizationName
-}
-
-collectiveOrganizationName ATTRIBUTE ::= {
- SUBTYPE OF organizationName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationName
-}
-
-organizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organizational-unit-name}
- ID id-at-organizationalUnitName
-}
-
-collectiveOrganizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF organizationalUnitName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationalUnitName
-}
-
-title ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-title}
- ID id-at-title
-}
-
-description ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-description}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-description
-}
-
-searchGuide ATTRIBUTE ::= {WITH SYNTAX Guide
- ID id-at-searchGuide
-}
-
-Guide ::= SET {
- objectClass [0] OBJECT-CLASS.&id OPTIONAL,
- criteria [1] Criteria
-}
-
-Criteria ::= CHOICE {
- type [0] CriteriaItem,
- and [1] SET OF Criteria,
- or [2] SET OF Criteria,
- not [3] Criteria
-}
-
-CriteriaItem ::= CHOICE {
- equality [0] AttributeType,
- substrings [1] AttributeType,
- greaterOrEqual [2] AttributeType,
- lessOrEqual [3] AttributeType,
- approximateMatch [4] AttributeType
-}
-
-enhancedSearchGuide ATTRIBUTE ::= {
- WITH SYNTAX EnhancedGuide
- ID id-at-enhancedSearchGuide
-}
-
-EnhancedGuide ::= SEQUENCE {
- objectClass [0] OBJECT-CLASS.&id,
- criteria [1] Criteria,
- subset
- [2] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} DEFAULT oneLevel
-}
-
-businessCategory ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-business-category}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-businessCategory
-}
-
-postalAddress ATTRIBUTE ::= {
- WITH SYNTAX PostalAddress
- EQUALITY MATCHING RULE caseIgnoreListMatch
- SUBSTRINGS MATCHING RULE caseIgnoreListSubstringsMatch
- ID id-at-postalAddress
-}
-
-PostalAddress ::=
- SEQUENCE SIZE (1..ub-postal-line) OF DirectoryString{ub-postal-string}
-
-collectivePostalAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- COLLECTIVE TRUE
- ID id-at-collectivePostalAddress
-}
-
-postalCode ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-postal-code}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postalCode
-}
-
-collectivePostalCode ATTRIBUTE ::= {
- SUBTYPE OF postalCode
- COLLECTIVE TRUE
- ID id-at-collectivePostalCode
-}
-
-postOfficeBox ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-post-office-box}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postOfficeBox
-}
-
-collectivePostOfficeBox ATTRIBUTE ::= {
- SUBTYPE OF postOfficeBox
- COLLECTIVE TRUE
- ID id-at-collectivePostOfficeBox
-}
-
-physicalDeliveryOfficeName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-physical-office-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-physicalDeliveryOfficeName
-}
-
-collectivePhysicalDeliveryOfficeName ATTRIBUTE ::= {
- SUBTYPE OF physicalDeliveryOfficeName
- COLLECTIVE TRUE
- ID id-at-collectivePhysicalDeliveryOfficeName
-}
-
-telephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX TelephoneNumber
- EQUALITY MATCHING RULE telephoneNumberMatch
- SUBSTRINGS MATCHING RULE telephoneNumberSubstringsMatch
- ID id-at-telephoneNumber
-}
-
-TelephoneNumber ::= PrintableString(SIZE (1..ub-telephone-number))
-
--- String complying with CCITT Rec. E.123 only
-collectiveTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF telephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelephoneNumber
-}
-
-telexNumber ATTRIBUTE ::= {
- WITH SYNTAX TelexNumber
- ID id-at-telexNumber
-}
-
-TelexNumber ::= SEQUENCE {
- telexNumber PrintableString(SIZE (1..ub-telex-number)),
- countryCode PrintableString(SIZE (1..ub-country-code)),
- answerback PrintableString(SIZE (1..ub-answerback))
-}
-
-collectiveTelexNumber ATTRIBUTE ::= {
- SUBTYPE OF telexNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelexNumber
-}
-
-facsimileTelephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX FacsimileTelephoneNumber
- EQUALITY MATCHING RULE facsimileNumberMatch
- SUBSTRINGS MATCHING RULE facsimileNumberSubstringsMatch
- ID id-at-facsimileTelephoneNumber
-}
-
-facsimileNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-facsimileNumberMatch
-}
-
-facsimileNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-facsimileNumberSubstringsMatch
-}
-
-FacsimileTelephoneNumber ::= SEQUENCE {
- telephoneNumber TelephoneNumber,
- parameters G3FacsimileNonBasicParameters OPTIONAL
-}
-
-collectiveFacsimileTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF facsimileTelephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveFacsimileTelephoneNumber
-}
-
-x121Address ATTRIBUTE ::= {
- WITH SYNTAX X121Address
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-x121Address
-}
-
-X121Address ::= NumericString(SIZE (1..ub-x121-address))
-
--- String as defined by ITU-T Rec. X.121
-internationalISDNNumber ATTRIBUTE ::= {
- WITH SYNTAX InternationalISDNNumber
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-internationalISDNNumber
-}
-
-InternationalISDNNumber ::=
- NumericString(SIZE (1..ub-international-isdn-number))
-
--- String complying with ITU-T Rec. E.164 only
-collectiveInternationalISDNNumber ATTRIBUTE ::= {
- SUBTYPE OF internationalISDNNumber
- COLLECTIVE TRUE
- ID id-at-collectiveInternationalISDNNumber
-}
-
-registeredAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- WITH SYNTAX PostalAddress
- ID id-at-registeredAddress
-}
-
-destinationIndicator ATTRIBUTE ::= {
- WITH SYNTAX DestinationIndicator
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-destinationIndicator
-}
-
-DestinationIndicator ::= PrintableString(SIZE (1..ub-destination-indicator))
-
-communicationsService ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-communicationsService
-}
-
-communicationsNetwork ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-at-communicationsNetwork
-}
-
--- alphabetical characters only
-preferredDeliveryMethod ATTRIBUTE ::= {
- WITH SYNTAX PreferredDeliveryMethod
- SINGLE VALUE TRUE
- ID id-at-preferredDeliveryMethod
-}
-
-PreferredDeliveryMethod ::=
- SEQUENCE OF
- INTEGER {any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
- g4-facsimile-delivery(6), ia5-terminal-delivery(7),
- videotex-delivery(8), telephone-delivery(9)}
-
-presentationAddress ATTRIBUTE ::= {
- WITH SYNTAX PresentationAddress
- EQUALITY MATCHING RULE presentationAddressMatch
- SINGLE VALUE TRUE
- ID id-at-presentationAddress
-}
-
-PresentationAddress ::= SEQUENCE {
- pSelector [0] OCTET STRING OPTIONAL,
- sSelector [1] OCTET STRING OPTIONAL,
- tSelector [2] OCTET STRING OPTIONAL,
- nAddresses [3] SET SIZE (1..MAX) OF OCTET STRING
-}
-
-supportedApplicationContext ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-supportedApplicationContext
-}
-
-protocolInformation ATTRIBUTE ::= {
- WITH SYNTAX ProtocolInformation
- EQUALITY MATCHING RULE protocolInformationMatch
- ID id-at-protocolInformation
-}
-
-ProtocolInformation ::= SEQUENCE {
- nAddress OCTET STRING,
- profiles SET OF OBJECT IDENTIFIER
-}
-
-distinguishedName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- ID id-at-distinguishedName
-}
-
-member ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-member
-}
-
-uniqueMember ATTRIBUTE ::= {
- WITH SYNTAX NameAndOptionalUID
- EQUALITY MATCHING RULE uniqueMemberMatch
- ID id-at-uniqueMember
-}
-
-NameAndOptionalUID ::= SEQUENCE {
- dn DistinguishedName,
- uid UniqueIdentifier OPTIONAL
-}
-
-owner ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-owner
-}
-
-roleOccupant ATTRIBUTE ::= {
- SUBTYPE OF distinguishedName
- ID id-at-roleOccupant
-}
-
-seeAlso ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-seeAlso
-}
-
-dmdName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-dmdName
-}
-
-dSAProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-dSAProblem
-}
-
-searchServiceProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-searchServiceProblem
-}
-
-serviceType ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-serviceType
-}
-
-attributeTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-attributeTypeList
-}
-
-filterItem ATTRIBUTE ::= {
- WITH SYNTAX FilterItem
- ID id-not-filterItem
-}
-
-attributeCombinations ATTRIBUTE ::= {
- WITH SYNTAX AttributeCombination
- ID id-not-attributeCombinations
-}
-
-contextTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-contextTypeList
-}
-
-contextList ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-not-contextList
-}
-
-hierarchySelectList ATTRIBUTE ::= {
- WITH SYNTAX HierarchySelections
- SINGLE VALUE TRUE
- ID id-not-hierarchySelectList
-}
-
-searchOptionsList ATTRIBUTE ::= {
- WITH SYNTAX SearchControlOptions
- SINGLE VALUE TRUE
- ID id-not-searchOptionsList
-}
-
-serviceControlOptionsList ATTRIBUTE ::= {
- WITH SYNTAX ServiceControlOptions
- SINGLE VALUE TRUE
- ID id-not-serviceControlOptionsList
-}
-
-multipleMatchingLocalities ATTRIBUTE ::= {
- WITH SYNTAX MultipleMatchingLocalities
- ID id-not-multipleMatchingLocalities
-}
-
-MultipleMatchingLocalities ::= SEQUENCE {
- matchingRuleUsed MATCHING-RULE.&id OPTIONAL,
- attributeList SEQUENCE OF AttributeValueAssertion
-}
-
-proposedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX SEQUENCE OF MRMapping
- ID id-not-proposedRelaxation
-}
-
-appliedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-appliedRelaxation
-}
-
--- Matching rules
-caseIgnoreMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreMatch
-}
-
-caseIgnoreOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreOrderingMatch
-}
-
-caseIgnoreSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreSubstringsMatch
-}
-
-SubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] DirectoryString{ub-match},
- any [1] DirectoryString{ub-match},
- final [2] DirectoryString{ub-match},
- control Attribute
- } -- Used to specify interpretation of the following items
-
--- at most one initial and one final component
-caseExactMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactMatch
-}
-
-caseExactOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactOrderingMatch
-}
-
-caseExactSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion -- only the PrintableString choice
- ID id-mr-caseExactSubstringsMatch
-}
-
-numericStringMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringMatch
-}
-
-numericStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringOrderingMatch
-}
-
-numericStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-numericStringSubstringsMatch
-}
-
-caseIgnoreListMatch MATCHING-RULE ::= {
- SYNTAX CaseIgnoreListMatch
- ID id-mr-caseIgnoreListMatch
-}
-
-CaseIgnoreListMatch ::= SEQUENCE OF DirectoryString{ub-match}
-
-caseIgnoreListSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreListSubstringsMatch
-}
-
-storedPrefixMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-storedPrefixMatch
-}
-
-booleanMatch MATCHING-RULE ::= {SYNTAX BOOLEAN
- ID id-mr-booleanMatch
-}
-
-integerMatch MATCHING-RULE ::= {SYNTAX INTEGER
- ID id-mr-integerMatch
-}
-
-integerOrderingMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerOrderingMatch
-}
-
-bitStringMatch MATCHING-RULE ::= {
- SYNTAX BIT STRING
- ID id-mr-bitStringMatch
-}
-
-octetStringMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringMatch
-}
-
-octetStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringOrderingMatch
-}
-
-octetStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX OctetSubstringAssertion
- ID id-mr-octetStringSubstringsMatch
-}
-
-OctetSubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] OCTET STRING,
- any [1] OCTET STRING,
- final [2] OCTET STRING}
-
--- at most one initial and one final component
-telephoneNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-telephoneNumberMatch
-}
-
-telephoneNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-telephoneNumberSubstringsMatch
-}
-
-presentationAddressMatch MATCHING-RULE ::= {
- SYNTAX PresentationAddress
- ID id-mr-presentationAddressMatch
-}
-
-uniqueMemberMatch MATCHING-RULE ::= {
- SYNTAX NameAndOptionalUID
- ID id-mr-uniqueMemberMatch
-}
-
-protocolInformationMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-protocolInformationMatch
-}
-
-uTCTimeMatch MATCHING-RULE ::= {SYNTAX UTCTime
- ID id-mr-uTCTimeMatch
-}
-
-uTCTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX UTCTime
- ID id-mr-uTCTimeOrderingMatch
-}
-
-generalizedTimeMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeMatch
-}
-
-generalizedTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeOrderingMatch
-}
-
-integerFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerFirstComponentMatch
-}
-
-objectIdentifierFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierFirstComponentMatch
-}
-
-directoryStringFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-directory-string-first-component-match}
- ID id-mr-directoryStringFirstComponentMatch
-}
-
-wordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-wordMatch
-}
-
-keywordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-keywordMatch
-}
-
-systemProposedMatch MATCHING-RULE ::= {ID id-mr-systemProposedMatch
-}
-
-generalWordMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-generalWordMatch
-}
-
-sequenceMatchType ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {sequenceExact(0), sequenceDeletion(1),
- sequenceRestrictedDeletion(2), sequencePermutation(3),
- sequencePermutationAndDeletion(4), sequenceProviderDefined(5)}
- SINGLE VALUE TRUE
- ID id-cat-sequenceMatchType
-} -- defaulting to sequenceExact,
-
-wordMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {wordExact(0), wordTruncated(1), wordPhonetic(2),
- wordProviderDefined(3)}
- SINGLE VALUE TRUE
- ID id-cat-wordMatchType
-} -- defaulting to wordExact
-
-characterMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {characterExact(0), characterCaseIgnore(1), characterMapped(2)}
- SINGLE VALUE TRUE
- ID id-cat-characterMatchTypes
-}
-
-selectedContexts ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-cat-selectedContexts
-}
-
-approximateStringMatch MATCHING-RULE ::= {ID id-mr-approximateStringMatch
-}
-
-ignoreIfAbsentMatch MATCHING-RULE ::= {ID id-mr-ignoreIfAbsentMatch
-}
-
-nullMatch MATCHING-RULE ::= {ID id-mr-nullMatch
-}
-
-ZONAL-MATCHING ::=
- MAPPING-BASED-MATCHING{ZonalSelect, TRUE, ZonalResult, zonalMatch.&id}
-
-ZonalSelect ::= SEQUENCE OF AttributeType
-
-ZonalResult ::= ENUMERATED {
- cannot-select-mapping(0), zero-mappings(2), multiple-mappings(3)}
-
-zonalMatch MATCHING-RULE ::= {
- UNIQUE-MATCH-INDICATOR multipleMatchingLocalities.&id
- ID id-mr-zonalMatch
-}
-
--- Contexts
-languageContext CONTEXT ::= {
- WITH SYNTAX LanguageContextSyntax
- ID id-avc-language
-}
-
-LanguageContextSyntax ::= PrintableString(SIZE (2..3)) -- ISO 639-2 codes only
-
-
-temporalContext CONTEXT ::= {
- WITH SYNTAX TimeSpecification
- ASSERTED AS TimeAssertion
- ID id-avc-temporal
-}
-
-TimeSpecification ::= SEQUENCE {
- time
- CHOICE {absolute
- SEQUENCE {startTime [0] GeneralizedTime OPTIONAL,
- endTime [1] GeneralizedTime OPTIONAL},
- periodic SET OF Period},
- notThisTime BOOLEAN DEFAULT FALSE,
- timeZone TimeZone OPTIONAL
-}
-
-Period ::= SEQUENCE {
- timesOfDay [0] SET SIZE (1..MAX) OF DayTimeBand OPTIONAL,
- days
- [1] CHOICE {intDay SET OF INTEGER,
- bitDay
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3),
- thursday(4), friday(5), saturday(6)},
- dayOf XDayOf} OPTIONAL,
- weeks
- [2] CHOICE {allWeeks NULL,
- intWeek SET OF INTEGER,
- bitWeek
- BIT STRING {week1(0), week2(1), week3(2), week4(3), week5(4)}
- } OPTIONAL,
- months
- [3] CHOICE {allMonths NULL,
- intMonth SET OF INTEGER,
- bitMonth
- BIT STRING {january(0), february(1), march(2), april(3),
- may(4), june(5), july(6), august(7),
- september(8), october(9), november(10),
- december(11)}} OPTIONAL,
- years [4] SET OF INTEGER(1000..MAX) OPTIONAL
-}
-
-XDayOf ::= CHOICE {
- first [1] NamedDay,
- second [2] NamedDay,
- third [3] NamedDay,
- fourth [4] NamedDay,
- fifth [5] NamedDay
-}
-
-NamedDay ::= CHOICE {
- intNamedDays
- ENUMERATED {sunday(1), monday(2), tuesday(3), wednesday(4), thursday(5),
- friday(6), saturday(7)},
- bitNamedDays
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4),
- friday(5), saturday(6)}
-}
-
-DayTimeBand ::= SEQUENCE {
- startDayTime [0] DayTime DEFAULT {hour 0},
- endDayTime [1] DayTime DEFAULT {hour 23, minute 59, second 59}
-}
-
-DayTime ::= SEQUENCE {
- hour [0] INTEGER(0..23),
- minute [1] INTEGER(0..59) DEFAULT 0,
- second [2] INTEGER(0..59) DEFAULT 0
-}
-
-TimeZone ::= INTEGER(-12..12)
-
-TimeAssertion ::= CHOICE {
- now NULL,
- at GeneralizedTime,
- between
- SEQUENCE {startTime [0] GeneralizedTime,
- endTime [1] GeneralizedTime OPTIONAL,
- entirely BOOLEAN DEFAULT FALSE}
-}
-
-localeContext CONTEXT ::= {
- WITH SYNTAX LocaleContextSyntax
- ID id-avc-locale
-}
-
-LocaleContextSyntax ::= CHOICE {
- localeID1 OBJECT IDENTIFIER,
- localeID2 DirectoryString{ub-localeContextSyntax}
-}
-
--- Object identifier assignments -
--- object identifiers assigned in other modules are shown in comments
--- Attributes
--- id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
--- id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-id-at-encryptedAliasedEntryName OBJECT IDENTIFIER ::=
- {id-at 1 2}
-
-id-at-knowledgeInformation OBJECT IDENTIFIER ::= {id-at 2}
-
-id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
-
-id-at-encryptedCommonName OBJECT IDENTIFIER ::= {id-at 3 2}
-
-id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
-
-id-at-encryptedSurname OBJECT IDENTIFIER ::= {id-at 4 2}
-
-id-at-serialNumber OBJECT IDENTIFIER ::= {id-at 5}
-
-id-at-encryptedSerialNumber OBJECT IDENTIFIER ::= {id-at 5 2}
-
-id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
-
-id-at-encryptedCountryName OBJECT IDENTIFIER ::= {id-at 6 2}
-
-id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
-
-id-at-encryptedLocalityName OBJECT IDENTIFIER ::= {id-at 7 2}
-
-id-at-collectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1}
-
-id-at-encryptedCollectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1 2}
-
-id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
-
-id-at-encryptedStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 2}
-
-id-at-collectiveStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 1}
-
-id-at-encryptedCollectiveStateOrProvinceName OBJECT IDENTIFIER ::=
- {id-at 8 1 2}
-
-id-at-streetAddress OBJECT IDENTIFIER ::= {id-at 9}
-
-id-at-encryptedStreetAddress OBJECT IDENTIFIER ::= {id-at 9 2}
-
-id-at-collectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1}
-
-id-at-encryptedCollectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1 2}
-
-id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
-
-id-at-encryptedOrganizationName OBJECT IDENTIFIER ::= {id-at 10 2}
-
-id-at-collectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1}
-
-id-at-encryptedCollectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1 2}
-
-id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
-
-id-at-encryptedOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 2}
-
-id-at-collectiveOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 1}
-
-id-at-encryptedCollectiveOrganizationalUnitName OBJECT IDENTIFIER ::=
- {id-at 11 1 2}
-
-id-at-title OBJECT IDENTIFIER ::= {id-at 12}
-
-id-at-encryptedTitle OBJECT IDENTIFIER ::= {id-at 12 2}
-
-id-at-description OBJECT IDENTIFIER ::= {id-at 13}
-
-id-at-encryptedDescription OBJECT IDENTIFIER ::= {id-at 13 2}
-
-id-at-searchGuide OBJECT IDENTIFIER ::= {id-at 14}
-
-id-at-encryptedSearchGuide OBJECT IDENTIFIER ::= {id-at 14 2}
-
-id-at-businessCategory OBJECT IDENTIFIER ::= {id-at 15}
-
-id-at-encryptedBusinessCategory OBJECT IDENTIFIER ::= {id-at 15 2}
-
-id-at-postalAddress OBJECT IDENTIFIER ::= {id-at 16}
-
-id-at-encryptedPostalAddress OBJECT IDENTIFIER ::= {id-at 16 2}
-
-id-at-collectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1}
-
-id-at-encryptedCollectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1 2}
-
-id-at-postalCode OBJECT IDENTIFIER ::= {id-at 17}
-
-id-at-encryptedPostalCode OBJECT IDENTIFIER ::= {id-at 17 2}
-
-id-at-collectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1}
-
-id-at-encryptedCollectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1 2}
-
-id-at-postOfficeBox OBJECT IDENTIFIER ::= {id-at 18}
-
-id-at-encryptedPostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 2}
-
-id-at-collectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1}
-
-id-at-encryptedCollectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1 2}
-
-id-at-physicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19}
-
-id-at-encryptedPhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 2}
-
-id-at-collectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 1}
-
-id-at-encryptedCollectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::=
- {id-at 19 1 2}
-
-id-at-telephoneNumber OBJECT IDENTIFIER ::= {id-at 20}
-
-id-at-encryptedTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 2}
-
-id-at-collectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1}
-
-id-at-encryptedCollectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1 2}
-
-id-at-telexNumber OBJECT IDENTIFIER ::= {id-at 21}
-
-id-at-encryptedTelexNumber OBJECT IDENTIFIER ::= {id-at 21 2}
-
-id-at-collectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1}
-
-id-at-encryptedCollectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1 2}
-
--- id-at-teletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22}
--- id-at-encryptedTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 2}
--- id-at-collectiveTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 1}
--- id-at-encryptedCollectiveTeletexTerminalIdentifier
--- OBJECT IDENTIFIER ::= {id-at 22 1 2}
-id-at-facsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23}
-
-id-at-encryptedFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 2}
-
-id-at-collectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 1}
-
-id-at-encryptedCollectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23 1 2}
-
-id-at-x121Address OBJECT IDENTIFIER ::= {id-at 24}
-
-id-at-encryptedX121Address OBJECT IDENTIFIER ::= {id-at 24 2}
-
-id-at-internationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25}
-
-id-at-encryptedInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 2}
-
-id-at-collectiveInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 1}
-
-id-at-encryptedCollectiveInternationalISDNNumber OBJECT IDENTIFIER ::=
- {id-at 25 1 2}
-
-id-at-registeredAddress OBJECT IDENTIFIER ::= {id-at 26}
-
-id-at-encryptedRegisteredAddress OBJECT IDENTIFIER ::= {id-at 26 2}
-
-id-at-destinationIndicator OBJECT IDENTIFIER ::= {id-at 27}
-
-id-at-encryptedDestinationIndicator OBJECT IDENTIFIER ::= {id-at 27 2}
-
-id-at-preferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28}
-
-id-at-encryptedPreferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28 2}
-
-id-at-presentationAddress OBJECT IDENTIFIER ::= {id-at 29}
-
-id-at-encryptedPresentationAddress OBJECT IDENTIFIER ::= {id-at 29 2}
-
-id-at-supportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30}
-
-id-at-encryptedSupportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30 2}
-
-id-at-member OBJECT IDENTIFIER ::= {id-at 31}
-
-id-at-encryptedMember OBJECT IDENTIFIER ::= {id-at 31 2}
-
-id-at-owner OBJECT IDENTIFIER ::= {id-at 32}
-
-id-at-encryptedOwner OBJECT IDENTIFIER ::= {id-at 32 2}
-
-id-at-roleOccupant OBJECT IDENTIFIER ::= {id-at 33}
-
-id-at-encryptedRoleOccupant OBJECT IDENTIFIER ::= {id-at 33 2}
-
-id-at-seeAlso OBJECT IDENTIFIER ::= {id-at 34}
-
-id-at-encryptedSeeAlso OBJECT IDENTIFIER ::= {id-at 34 2}
-
--- id-at-userPassword OBJECT IDENTIFIER ::= {id-at 35}
-id-at-encryptedUserPassword OBJECT IDENTIFIER ::=
- {id-at 35 2}
-
--- id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
-id-at-encryptedUserCertificate OBJECT IDENTIFIER ::=
- {id-at 36 2}
-
--- id-at-cACertificate OBJECT IDENTIFIER ::= {id-at 37}
-id-at-encryptedCACertificate OBJECT IDENTIFIER ::=
- {id-at 37 2}
-
--- id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
-id-at-encryptedAuthorityRevocationList OBJECT IDENTIFIER ::=
- {id-at 38 2}
-
--- id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
-id-at-encryptedCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 39 2}
-
--- id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
-id-at-encryptedCrossCertificatePair OBJECT IDENTIFIER ::=
- {id-at 40 2}
-
-id-at-name OBJECT IDENTIFIER ::= {id-at 41}
-
-id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
-
-id-at-encryptedGivenName OBJECT IDENTIFIER ::= {id-at 42 2}
-
-id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
-
-id-at-encryptedInitials OBJECT IDENTIFIER ::= {id-at 43 2}
-
-id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
-
-id-at-encryptedGenerationQualifier OBJECT IDENTIFIER ::= {id-at 44 2}
-
-id-at-uniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45}
-
-id-at-encryptedUniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45 2}
-
-id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
-
-id-at-encryptedDnQualifier OBJECT IDENTIFIER ::= {id-at 46 2}
-
-id-at-enhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47}
-
-id-at-encryptedEnhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47 2}
-
-id-at-protocolInformation OBJECT IDENTIFIER ::= {id-at 48}
-
-id-at-encryptedProtocolInformation OBJECT IDENTIFIER ::= {id-at 48 2}
-
-id-at-distinguishedName OBJECT IDENTIFIER ::= {id-at 49}
-
-id-at-encryptedDistinguishedName OBJECT IDENTIFIER ::= {id-at 49 2}
-
-id-at-uniqueMember OBJECT IDENTIFIER ::= {id-at 50}
-
-id-at-encryptedUniqueMember OBJECT IDENTIFIER ::= {id-at 50 2}
-
-id-at-houseIdentifier OBJECT IDENTIFIER ::= {id-at 51}
-
-id-at-encryptedHouseIdentifier OBJECT IDENTIFIER ::= {id-at 51 2}
-
---id-at-supportedAlgorithms OBJECT IDENTIFIER ::= {id-at 52}
-id-at-encryptedSupportedAlgorithms OBJECT IDENTIFIER ::=
- {id-at 52 2}
-
---id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
-id-at-encryptedDeltaRevocationList OBJECT IDENTIFIER ::=
- {id-at 53 2}
-
-id-at-dmdName OBJECT IDENTIFIER ::= {id-at 54}
-
-id-at-encryptedDmdName OBJECT IDENTIFIER ::= {id-at 54 2}
-
--- id-at-clearance OBJECT IDENTIFIER ::= {id-at 55}
-id-at-encryptedClearance OBJECT IDENTIFIER ::=
- {id-at 55 2}
-
--- id-at-defaultDirQop OBJECT IDENTIFIER ::= {id-at 56}
-id-at-encryptedDefaultDirQop OBJECT IDENTIFIER ::=
- {id-at 56 2}
-
--- id-at-attributeIntegrityInfo OBJECT IDENTIFIER ::= {id-at 57}
-id-at-encryptedAttributeIntegrityInfo OBJECT IDENTIFIER ::=
- {id-at 57 2}
-
---id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
-id-at-encryptedAttributeCertificate OBJECT IDENTIFIER ::=
- {id-at 58 2}
-
--- id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
-id-at-encryptedAttributeCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 59 2}
-
--- id-at-confKeyInfo OBJECT IDENTIFIER ::= {id-at 60}
-id-at-encryptedConfKeyInfo OBJECT IDENTIFIER ::=
- {id-at 60 2}
-
--- id-at-family-information OBJECT IDENTIFIER {id-at 64}
-id-at-pseudonym OBJECT IDENTIFIER ::=
- {id-at 65}
-
-id-at-communicationsService OBJECT IDENTIFIER ::= {id-at 66}
-
-id-at-communicationsNetwork OBJECT IDENTIFIER ::= {id-at 67}
-
--- Matching rules
--- id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
--- id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-id-mr-caseIgnoreMatch OBJECT IDENTIFIER ::=
- {id-mr 2}
-
-id-mr-caseIgnoreOrderingMatch OBJECT IDENTIFIER ::= {id-mr 3}
-
-id-mr-caseIgnoreSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 4}
-
-id-mr-caseExactMatch OBJECT IDENTIFIER ::= {id-mr 5}
-
-id-mr-caseExactOrderingMatch OBJECT IDENTIFIER ::= {id-mr 6}
-
-id-mr-caseExactSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 7}
-
-id-mr-numericStringMatch OBJECT IDENTIFIER ::= {id-mr 8}
-
-id-mr-numericStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 9}
-
-id-mr-numericStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 10}
-
-id-mr-caseIgnoreListMatch OBJECT IDENTIFIER ::= {id-mr 11}
-
-id-mr-caseIgnoreListSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 12}
-
-id-mr-booleanMatch OBJECT IDENTIFIER ::= {id-mr 13}
-
-id-mr-integerMatch OBJECT IDENTIFIER ::= {id-mr 14}
-
-id-mr-integerOrderingMatch OBJECT IDENTIFIER ::= {id-mr 15}
-
-id-mr-bitStringMatch OBJECT IDENTIFIER ::= {id-mr 16}
-
-id-mr-octetStringMatch OBJECT IDENTIFIER ::= {id-mr 17}
-
-id-mr-octetStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 18}
-
-id-mr-octetStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 19}
-
-id-mr-telephoneNumberMatch OBJECT IDENTIFIER ::= {id-mr 20}
-
-id-mr-telephoneNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 21}
-
-id-mr-presentationAddressMatch OBJECT IDENTIFIER ::= {id-mr 22}
-
-id-mr-uniqueMemberMatch OBJECT IDENTIFIER ::= {id-mr 23}
-
-id-mr-protocolInformationMatch OBJECT IDENTIFIER ::= {id-mr 24}
-
-id-mr-uTCTimeMatch OBJECT IDENTIFIER ::= {id-mr 25}
-
-id-mr-uTCTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 26}
-
-id-mr-generalizedTimeMatch OBJECT IDENTIFIER ::= {id-mr 27}
-
-id-mr-generalizedTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 28}
-
-id-mr-integerFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 29}
-
-id-mr-objectIdentifierFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 30}
-
-id-mr-directoryStringFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 31}
-
-id-mr-wordMatch OBJECT IDENTIFIER ::= {id-mr 32}
-
-id-mr-keywordMatch OBJECT IDENTIFIER ::= {id-mr 33}
-
--- id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
--- id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
--- id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
--- id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
--- id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
--- id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
--- id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
-id-mr-storedPrefixMatch OBJECT IDENTIFIER ::=
- {id-mr 41}
-
--- id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
--- id-mr-readerAndKeyIDMatch OBJECT IDENTIFIER ::= {id-mr 43}
---id-mr-attributeIntegrityMatch OBJECT IDENTIFIER ::= {id-mr 44}
-id-mr-systemProposedMatch OBJECT IDENTIFIER ::=
- {id-mr 47}
-
-id-mr-generalWordMatch OBJECT IDENTIFIER ::= {id-mr 48}
-
-id-mr-approximateStringMatch OBJECT IDENTIFIER ::= {id-mr 49}
-
-id-mr-ignoreIfAbsentMatch OBJECT IDENTIFIER ::= {id-mr 50}
-
-id-mr-nullMatch OBJECT IDENTIFIER ::= {id-mr 51}
-
-id-mr-zonalMatch OBJECT IDENTIFIER ::= {id-mr 52}
-
-id-mr-facsimileNumberMatch OBJECT IDENTIFIER ::= {id-mr 63}
-
-id-mr-facsimileNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 64}
-
--- contexts
-id-avc-language OBJECT IDENTIFIER ::= {id-avc 0}
-
-id-avc-temporal OBJECT IDENTIFIER ::= {id-avc 1}
-
-id-avc-locale OBJECT IDENTIFIER ::= {id-avc 2}
-
---id-avc-attributeValueSecurityLabelContext OBJECT IDENTIFIER ::= {id-avc 3}
---id-avc-attributeValueIntegrityInfoContext OBJECT IDENTIFIER ::= {id-avc 4}
--- Problem definitions
-id-pr-targetDsaUnavailable OBJECT IDENTIFIER ::=
- {id-pr 1}
-
-id-pr-dataSourceUnavailable OBJECT IDENTIFIER ::= {id-pr 2}
-
-id-pr-unidentifiedOperation OBJECT IDENTIFIER ::= {id-pr 3}
-
-id-pr-unavailableOperation OBJECT IDENTIFIER ::= {id-pr 4}
-
-id-pr-searchAttributeViolation OBJECT IDENTIFIER ::= {id-pr 5}
-
-id-pr-searchAttributeCombinationViolation OBJECT IDENTIFIER ::= {id-pr 6}
-
-id-pr-searchValueNotAllowed OBJECT IDENTIFIER ::= {id-pr 7}
-
-id-pr-missingSearchAttribute OBJECT IDENTIFIER ::= {id-pr 8}
-
-id-pr-searchValueViolation OBJECT IDENTIFIER ::= {id-pr 9}
-
-id-pr-attributeNegationViolation OBJECT IDENTIFIER ::= {id-pr 10}
-
-id-pr-searchValueRequired OBJECT IDENTIFIER ::= {id-pr 11}
-
-id-pr-invalidSearchValue OBJECT IDENTIFIER ::= {id-pr 12}
-
-id-pr-searchContextViolation OBJECT IDENTIFIER ::= {id-pr 13}
-
-id-pr-searchContextCombinationViolation OBJECT IDENTIFIER ::= {id-pr 14}
-
-id-pr-missingSearchContext OBJECT IDENTIFIER ::= {id-pr 15}
-
-id-pr-searchContextValueViolation OBJECT IDENTIFIER ::= {id-pr 16}
-
-id-pr-searchContextValueRequired OBJECT IDENTIFIER ::= {id-pr 17}
-
-id-pr-invalidContextSearchValue OBJECT IDENTIFIER ::= {id-pr 18}
-
-id-pr-unsupportedMatchingRule OBJECT IDENTIFIER ::= {id-pr 19}
-
-id-pr-attributeMatchingViolation OBJECT IDENTIFIER ::= {id-pr 20}
-
-id-pr-unsupportedMatchingUse OBJECT IDENTIFIER ::= {id-pr 21}
-
-id-pr-matchingUseViolation OBJECT IDENTIFIER ::= {id-pr 22}
-
-id-pr-hierarchySelectForbidden OBJECT IDENTIFIER ::= {id-pr 23}
-
-id-pr-invalidHierarchySelect OBJECT IDENTIFIER ::= {id-pr 24}
-
-id-pr-unavailableHierarchySelect OBJECT IDENTIFIER ::= {id-pr 25}
-
-id-pr-invalidSearchOptions OBJECT IDENTIFIER ::= {id-pr 26}
-
-id-pr-missingSearchOptions OBJECT IDENTIFIER ::= {id-pr 27}
-
-id-pr-invalidServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 28}
-
-id-pr-missingServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 29}
-
-id-pr-searchSubsetViolation OBJECT IDENTIFIER ::= {id-pr 30}
-
-id-pr-unmatchedKeyAttributes OBJECT IDENTIFIER ::= {id-pr 31}
-
-id-pr-ambiguousKeyAttributes OBJECT IDENTIFIER ::= {id-pr 32}
-
--- Notification attributes
-id-not-dSAProblem OBJECT IDENTIFIER ::= {id-not 0}
-
-id-not-searchServiceProblem OBJECT IDENTIFIER ::= {id-not 1}
-
-id-not-serviceType OBJECT IDENTIFIER ::= {id-not 2}
-
-id-not-attributeTypeList OBJECT IDENTIFIER ::= {id-not 3}
-
-id-not-matchingRuleList OBJECT IDENTIFIER ::= {id-not 4}
-
-id-not-filterItem OBJECT IDENTIFIER ::= {id-not 5}
-
-id-not-attributeCombinations OBJECT IDENTIFIER ::= {id-not 6}
-
-id-not-contextTypeList OBJECT IDENTIFIER ::= {id-not 7}
-
-id-not-contextList OBJECT IDENTIFIER ::= {id-not 8}
-
-id-not-contextCombinations OBJECT IDENTIFIER ::= {id-not 9}
-
-id-not-hierarchySelectList OBJECT IDENTIFIER ::= {id-not 10}
-
-id-not-searchOptionsList OBJECT IDENTIFIER ::= {id-not 11}
-
-id-not-serviceControlOptionsList OBJECT IDENTIFIER ::= {id-not 12}
-
-id-not-multipleMatchingLocalities OBJECT IDENTIFIER ::= {id-not 13}
-
-id-not-proposedRelaxation OBJECT IDENTIFIER ::= {id-not 14}
-
-id-not-appliedRelaxation OBJECT IDENTIFIER ::= {id-not 15}
-
-id-not-substringRequirements OBJECT IDENTIFIER ::= {id-not 16}
-
--- Control attributes
-id-cat-sequenceMatchType OBJECT IDENTIFIER ::=
- {id-cat 1}
-
-id-cat-wordMatchType OBJECT IDENTIFIER ::= {id-cat 2}
-
-id-cat-characterMatchTypes OBJECT IDENTIFIER ::= {id-cat 3}
-
-id-cat-selectedContexts OBJECT IDENTIFIER ::= {id-cat 4}
-
-END -- SelectedAttributeTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/UpperBounds.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/UpperBounds.asn
deleted file mode 100644
index 37890f8b49..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/UpperBounds.asn
+++ /dev/null
@@ -1,89 +0,0 @@
--- Module UpperBounds (X.520:08/1997)
-
-UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ub-answerback INTEGER ::=
- 8
-
-ub-business-category INTEGER ::= 128
-
-ub-common-name INTEGER ::= 64
-
-ub-country-code INTEGER ::= 4
-
-ub-description INTEGER ::= 1024
-
-ub-destination-indicator INTEGER ::= 128
-
-ub-directory-string-first-component-match INTEGER ::= 32768
-
-ub-international-isdn-number INTEGER ::= 16
-
-ub-knowledge-information INTEGER ::= 32768
-
-ub-locality-name INTEGER ::= 128
-
-ub-match INTEGER ::= 128
-
-ub-name INTEGER ::= 64
-
-ub-organization-name INTEGER ::= 64
-
-ub-organizational-unit-name INTEGER ::= 64
-
-ub-physical-office-name INTEGER ::= 128
-
-ub-post-office-box INTEGER ::= 40
-
-ub-postal-code INTEGER ::= 40
-
-ub-postal-line INTEGER ::= 6
-
-ub-postal-string INTEGER ::= 30
-
-ub-privacy-mark-length INTEGER ::= 128
-
-ub-schema INTEGER ::= 1024
-
-ub-search INTEGER ::= 32768
-
-ub-serial-number INTEGER ::= 64
-
-ub-state-name INTEGER ::= 128
-
-ub-street-address INTEGER ::= 128
-
-ub-surname INTEGER ::= 64
-
-ub-tag INTEGER ::= 64
-
-ub-telephone-number INTEGER ::= 32
-
-ub-teletex-terminal-id INTEGER ::= 1024
-
-ub-telex-number INTEGER ::= 14
-
-ub-title INTEGER ::= 64
-
-ub-user-password INTEGER ::= 128
-
-ub-x121-address INTEGER ::= 15
-
-ub-localeContextSyntax INTEGER ::= 128
-
-ub-locale-context-syntax INTEGER ::= 64
-
-ub-pseudonym INTEGER ::= 128
-
-ub-content INTEGER ::= 32768
-
-END -- UpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/UsefulDefinitions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/UsefulDefinitions.asn
deleted file mode 100644
index d9601bb7d0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/UsefulDefinitions.asn
+++ /dev/null
@@ -1,238 +0,0 @@
--- Module UsefulDefinitions (X.501:08/1997)
-UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ID ::= OBJECT IDENTIFIER
-
-ds ID ::= {joint-iso-itu-t ds(5)}
-
--- categories of information object
-module ID ::= {ds 1}
-
-serviceElement ID ::= {ds 2}
-
-applicationContext ID ::= {ds 3}
-
-attributeType ID ::= {ds 4}
-
-attributeSyntax ID ::= {ds 5}
-
-objectClass ID ::= {ds 6}
-
--- attributeSet ID ::= {ds 7}
-algorithm ID ::= {ds 8}
-
-abstractSyntax ID ::= {ds 9}
-
--- object ID ::= {ds 10}
--- port ID ::= {ds 11}
-dsaOperationalAttribute ID ::=
- {ds 12}
-
-matchingRule ID ::= {ds 13}
-
-knowledgeMatchingRule ID ::= {ds 14}
-
-nameForm ID ::= {ds 15}
-
-group ID ::= {ds 16}
-
-subentry ID ::= {ds 17}
-
-operationalAttributeType ID ::= {ds 18}
-
-operationalBinding ID ::= {ds 19}
-
-schemaObjectClass ID ::= {ds 20}
-
-schemaOperationalAttribute ID ::= {ds 21}
-
-administrativeRoles ID ::= {ds 23}
-
-accessControlAttribute ID ::= {ds 24}
-
-rosObject ID ::= {ds 25}
-
-contract ID ::= {ds 26}
-
-package ID ::= {ds 27}
-
-accessControlSchemes ID ::= {ds 28}
-
-certificateExtension ID ::= {ds 29}
-
-managementObject ID ::= {ds 30}
-
-attributeValueContext ID ::= {ds 31}
-
--- securityExchange ID ::= {ds 32}
-idmProtocol ID ::= {ds 33}
-
-problem ID ::= {ds 34}
-
-notification ID ::= {ds 35}
-
-matchingRestriction ID ::=
- {ds 36} -- None are currently defined by this specification
-
-controlAttributeType ID ::= {ds 37}
-
--- modules
-usefulDefinitions ID ::= {module usefulDefinitions(0) 3}
-
-informationFramework ID ::= {module informationFramework(1) 3}
-
-directoryAbstractService ID ::= {module directoryAbstractService(2) 3}
-
-distributedOperations ID ::= {module distributedOperations(3) 3}
-
-protocolObjectIdentifiers ID ::= {module protocolObjectIdentifiers(4) 3}
-
-selectedAttributeTypes ID ::= {module selectedAttributeTypes(5) 3}
-
-selectedObjectClasses ID ::= {module selectedObjectClasses(6) 3}
-
-authenticationFramework ID ::= {module authenticationFramework(7) 3}
-
-algorithmObjectIdentifiers ID ::= {module algorithmObjectIdentifiers(8) 3}
-
-directoryObjectIdentifiers ID ::= {module directoryObjectIdentifiers(9) 3}
-
-upperBounds ID ::= {module upperBounds(10) 3}
-
-dap ID ::= {module dap(11) 3}
-
-dsp ID ::= {module dsp(12) 3}
-
-distributedDirectoryOIDs ID ::= {module distributedDirectoryOIDs(13) 3}
-
-directoryShadowOIDs ID ::= {module directoryShadowOIDs(14) 3}
-
-directoryShadowAbstractService ID ::=
- {module directoryShadowAbstractService(15) 3}
-
-disp ID ::= {module disp(16) 3}
-
-dop ID ::= {module dop(17) 3}
-
-opBindingManagement ID ::= {module opBindingManagement(18) 3}
-
-opBindingOIDs ID ::= {module opBindingOIDs(19) 3}
-
-hierarchicalOperationalBindings ID ::=
- {module hierarchicalOperationalBindings(20) 3}
-
-dsaOperationalAttributeTypes ID ::= {module dsaOperationalAttributeTypes(22) 3}
-
-schemaAdministration ID ::= {module schemaAdministration(23) 3}
-
-basicAccessControl ID ::= {module basicAccessControl(24) 3}
-
-directoryOperationalBindingTypes ID ::=
- {module directoryOperationalBindingTypes(25) 3}
-
-certificateExtensions ID ::= {module certificateExtensions(26) 0}
-
-directoryManagement ID ::= {module directoryManagement(27) 1}
-
-enhancedSecurity ID ::= {module enhancedSecurity(28) 1}
-
-iDMProtocolSpecification ID ::= {module iDMProtocolSpecification(30) 4}
-
-directoryIDMProtocols ID ::= {module directoryIDMProtocols(31) 4}
-
--- directorySecurityExchanges ID ::= {module directorySecurityExchanges (29) 1}
--- synonyms
-id-oc ID ::=
- objectClass
-
-id-at ID ::= attributeType
-
-id-as ID ::= abstractSyntax
-
-id-mr ID ::= matchingRule
-
-id-nf ID ::= nameForm
-
-id-sc ID ::= subentry
-
-id-oa ID ::= operationalAttributeType
-
-id-ob ID ::= operationalBinding
-
-id-doa ID ::= dsaOperationalAttribute
-
-id-kmr ID ::= knowledgeMatchingRule
-
-id-soc ID ::= schemaObjectClass
-
-id-soa ID ::= schemaOperationalAttribute
-
-id-ar ID ::= administrativeRoles
-
-id-aca ID ::= accessControlAttribute
-
-id-ac ID ::= applicationContext
-
-id-rosObject ID ::= rosObject
-
-id-contract ID ::= contract
-
-id-package ID ::= package
-
-id-acScheme ID ::= accessControlSchemes
-
-id-ce ID ::= certificateExtension
-
-id-mgt ID ::= managementObject
-
-id-idm ID ::= idmProtocol
-
-id-avc ID ::= attributeValueContext
-
--- id-se ID ::= securityExchange
-id-pr ID ::= problem
-
-id-not ID ::= notification
-
-id-mre ID ::= matchingRestriction
-
-id-cat ID ::= controlAttributeType
-
--- obsolete module identifiers
--- usefulDefinition ID ::= {module 0}
--- informationFramework ID ::= {module 1}
--- directoryAbstractService ID ::= {module 2}
--- distributedOperations ID ::= {module 3}
--- protocolObjectIdentifiers ID ::= {module 4}
--- selectedAttributeTypes ID ::= {module 5}
--- selectedObjectClasses ID ::= {module 6}
--- authenticationFramework ID ::= {module 7}
--- algorithmObjectIdentifiers ID ::= {module 8}
--- directoryObjectIdentifiers ID ::= {module 9}
--- upperBounds ID ::= {module 10}
--- dap ID ::= {module 11}
--- dsp ID ::= {module 12}
--- distributedDirectoryObjectIdentifiers ID ::= {module 13}
--- unused module identifiers
--- directoryShadowOIDs ID ::= {module 14}
--- directoryShadowAbstractService ID ::= {module 15}
--- disp ID ::= {module 16}
--- dop ID ::= {module 17}
--- opBindingManagement ID ::= {module 18}
--- opBindingOIDs ID ::= {module 19}
--- hierarchicalOperationalBindings ID ::= {module 20}
--- dsaOperationalAttributeTypes ID ::= {module 22}
--- schemaAdministration ID ::= {module 23}
--- basicAccessControl ID ::= {module 24}
--- operationalBindingOIDs ID ::= {module 25}
-END -- UsefulDefinitions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/p7_signed_data.pem b/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/p7_signed_data.pem
deleted file mode 100644
index fc6bdebd8b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/modified_x420/p7_signed_data.pem
+++ /dev/null
@@ -1,23 +0,0 @@
------BEGIN PKCS7-----
-MIIDxQYJKoZIhvcNAQcCoIIDtjCCA7ICAQExCzAJBgUrDgMCGgUAMBoGCSqGSIb3
-DQEHAaANBAtwbGFpbiB0ZXh0CqCCAeMwggHfMIIBSAIJAKB+Sm2O7vxbMA0GCSqG
-SIb3DQEBBAUAMDQxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtFcmljc3NvbiBBQjEP
-MA0GA1UECxMGTkVUU2ltMB4XDTA4MDIyOTE1MzEwMFoXDTE4MDIyNjE1MzEwMFow
-NDELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0VyaWNzc29uIEFCMQ8wDQYDVQQLEwZO
-RVRTaW0wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM2EtqGq/lu0DdUfexOk
-X4icontyAFXqJL8TRtsL4tSTleQiHICH+glBpJ1Grk/x5YV6Fke49hSBHhG3J8A7
-CpicAmXTiZR2LGvdLoO2HEwItlR9IaFICsr2/piHzB/ZWnu0uzeHBQW3gJNGG21V
-KltZapcBew3jNG8wdPdykPpnAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAK//FOT1m
-KamyWjwWs1hzmngpqmvQAR4CcD3F5jtbwz8bNZtfoRr1VnJktZhorVb5uWPfahH2
-qnvJEX8EtoY7un8O3N1sJFVFcTkEIz2THalYZG6bQ8owqr4s3vZ3XoOBD5ukVwjE
-sVdDSa4b713tiHCsWoGca7cn6i6y6s/oDpwxggGbMIIBlwIBATBBMDQxCzAJBgNV
-BAYTAlNFMRQwEgYDVQQKEwtFcmljc3NvbiBBQjEPMA0GA1UECxMGTkVUU2ltAgkA
-oH5KbY7u/FswCQYFKw4DAhoFAKCBsTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB
-MBwGCSqGSIb3DQEJBTEPFw0wODAyMjkxNTMxMDFaMCMGCSqGSIb3DQEJBDEWBBQF
-/OBF9SkVcUzcMGOVsg3QKX/hGTBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMH
-MA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG
-9w0DAgIBKDANBgkqhkiG9w0BAQEFAASBgEA7LwwdYP7LMMAoBl7qX+XMF66c5stq
-e9f2BpGsFGqhfDac+tmnCkRu1clr9VUld0DSuw+Qc3oUnpix/Vo5mwmbQ19iR/f9
-oBmm85iZMBDy8vScS6Vm7u+mHvQ9d4iNNS7MDQ8peEu9ItxWe1x3LuCAMbvGMiXE
-75U3Iy4ZYCq4
------END PKCS7-----
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-CommonDataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-CommonDataTypes.asn
deleted file mode 100755
index e3f6e83d6b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-CommonDataTypes.asn
+++ /dev/null
@@ -1,58 +0,0 @@
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
-NBAP-CommonDataTypes {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-CommonDataTypes (3) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
-
--- **************************************************************
---
--- Common Data Types
---
--- **************************************************************
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-MessageDiscriminator ::= ENUMERATED { common, dedicated }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..maxPrivateIEs),
- global OBJECT IDENTIFIER
-}
-
-ProcedureCode ::= INTEGER (0..255)
-
-ProcedureID ::= SEQUENCE {
- procedureCode ProcedureCode,
- ddMode ENUMERATED { tdd, fdd, common, ... }
-}
-
-ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
-
-TransactionID ::= CHOICE {
- shortTransActionId INTEGER (0..127),
- longTransActionId INTEGER (0..32767)
-}
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-Constants.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-Constants.asn
deleted file mode 100755
index 1411d455b7..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-Constants.asn
+++ /dev/null
@@ -1,688 +0,0 @@
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
-NBAP-Constants {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-Constants (4)}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- ProcedureCode,
- ProtocolIE-ID
-FROM NBAP-CommonDataTypes;
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-audit ProcedureCode ::= 0
-id-auditRequired ProcedureCode ::= 1
-id-blockResource ProcedureCode ::= 2
-id-cellDeletion ProcedureCode ::= 3
-id-cellReconfiguration ProcedureCode ::= 4
-id-cellSetup ProcedureCode ::= 5
-id-cellSynchronisationInitiation ProcedureCode ::= 45
-id-cellSynchronisationReconfiguration ProcedureCode ::= 46
-id-cellSynchronisationReporting ProcedureCode ::= 47
-id-cellSynchronisationTermination ProcedureCode ::= 48
-id-cellSynchronisationFailure ProcedureCode ::= 49
-id-commonMeasurementFailure ProcedureCode ::= 6
-id-commonMeasurementInitiation ProcedureCode ::= 7
-id-commonMeasurementReport ProcedureCode ::= 8
-id-commonMeasurementTermination ProcedureCode ::= 9
-id-commonTransportChannelDelete ProcedureCode ::= 10
-id-commonTransportChannelReconfigure ProcedureCode ::= 11
-id-commonTransportChannelSetup ProcedureCode ::= 12
-id-compressedModeCommand ProcedureCode ::= 14
-id-dedicatedMeasurementFailure ProcedureCode ::= 16
-id-dedicatedMeasurementInitiation ProcedureCode ::= 17
-id-dedicatedMeasurementReport ProcedureCode ::= 18
-id-dedicatedMeasurementTermination ProcedureCode ::= 19
-id-downlinkPowerControl ProcedureCode ::= 20
-id-downlinkPowerTimeslotControl ProcedureCode ::= 38
-id-errorIndicationForCommon ProcedureCode ::= 35
-id-errorIndicationForDedicated ProcedureCode ::= 21
-id-informationExchangeFailure ProcedureCode ::= 40
-id-informationExchangeInitiation ProcedureCode ::= 41
-id-informationExchangeTermination ProcedureCode ::= 42
-id-informationReporting ProcedureCode ::= 43
-id-BearerRearrangement ProcedureCode ::= 50
-id-physicalSharedChannelReconfiguration ProcedureCode ::= 37
-id-privateMessageForCommon ProcedureCode ::= 36
-id-privateMessageForDedicated ProcedureCode ::= 22
-id-radioLinkAddition ProcedureCode ::= 23
-id-radioLinkDeletion ProcedureCode ::= 24
-id-radioLinkFailure ProcedureCode ::= 25
-id-radioLinkPreemption ProcedureCode ::= 39
-id-radioLinkRestoration ProcedureCode ::= 26
-id-radioLinkSetup ProcedureCode ::= 27
-id-reset ProcedureCode ::= 13
-id-resourceStatusIndication ProcedureCode ::= 28
-id-cellSynchronisationAdjustment ProcedureCode ::= 44
-id-synchronisedRadioLinkReconfigurationCancellation ProcedureCode ::= 29
-id-synchronisedRadioLinkReconfigurationCommit ProcedureCode ::= 30
-id-synchronisedRadioLinkReconfigurationPreparation ProcedureCode ::= 31
-id-systemInformationUpdate ProcedureCode ::= 32
-id-unblockResource ProcedureCode ::= 33
-id-unSynchronisedRadioLinkReconfiguration ProcedureCode ::= 34
-id-radioLinkActivation ProcedureCode ::= 51
-id-radioLinkParameterUpdate ProcedureCode ::= 52
-
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfCodes INTEGER ::= 10
-maxNrOfDLTSs INTEGER ::= 15
-maxNrOfDLTSLCRs INTEGER ::= 6
-maxNrOfErrors INTEGER ::= 256
-maxNrOfTFs INTEGER ::= 32
-maxNrOfTFCs INTEGER ::= 1024
-maxNrOfRLs INTEGER ::= 16
-maxNrOfRLs-1 INTEGER ::= 15 -- maxNrOfRLs - 1
-maxNrOfRLs-2 INTEGER ::= 14 -- maxNrOfRLs - 2
-maxNrOfRLSets INTEGER ::= maxNrOfRLs
-maxNrOfDPCHs INTEGER ::= 240
-maxNrOfDPCHLCRs INTEGER ::= 240
-maxNrOfSCCPCHs INTEGER ::= 8
-maxNrOfCPCHs INTEGER ::= 16
-maxNrOfPCPCHs INTEGER ::= 64
-maxNrOfDCHs INTEGER ::= 128
-maxNrOfDSCHs INTEGER ::= 32
-maxNrOfFACHs INTEGER ::= 8
-maxNrOfCCTrCHs INTEGER ::= 16
-maxNrOfPDSCHs INTEGER ::= 256
-maxNrOfHSPDSCHs INTEGER ::= 16
-maxNrOfPUSCHs INTEGER ::= 256
-maxNrOfPDSCHSets INTEGER ::= 256
-maxNrOfPRACHLCRs INTEGER ::= 8
-maxNrOfPUSCHSets INTEGER ::= 256
-maxNrOfSCCPCHLCRs INTEGER ::= 8
-maxNrOfULTSs INTEGER ::= 15
-maxNrOfULTSLCRs INTEGER ::= 6
-maxNrOfUSCHs INTEGER ::= 32
-maxAPSigNum INTEGER ::= 16
-maxNrOfSlotFormatsPRACH INTEGER ::= 8
-maxCellinNodeB INTEGER ::= 256
-maxCCPinNodeB INTEGER ::= 256
-maxCPCHCell INTEGER ::= maxNrOfCPCHs
-maxCTFC INTEGER ::= 16777215
-maxLocalCellinNodeB INTEGER ::= maxCellinNodeB
-maxNoofLen INTEGER ::= 7
-maxFPACHCell INTEGER ::= 8
-maxRACHCell INTEGER ::= maxPRACHCell
-maxPRACHCell INTEGER ::= 16
-maxPCPCHCell INTEGER ::= 64
-maxSCCPCHCell INTEGER ::= 32
-maxSCPICHCell INTEGER ::= 32
-maxTTI-count INTEGER ::= 4
-maxIBSEG INTEGER ::= 16
-maxIB INTEGER ::= 64
-maxFACHCell INTEGER ::= 256 -- maxNrOfFACHs * maxSCCPCHCell
-maxRateMatching INTEGER ::= 256
-maxCodeNrComp-1 INTEGER ::= 256
-maxHS-PDSCHCodeNrComp-1 INTEGER ::= 15
-maxHS-SCCHCodeNrComp-1 INTEGER ::= 127
-maxNrOfCellSyncBursts INTEGER ::= 10
-maxNrOfCodeGroups INTEGER ::= 256
-maxNrOfReceptsPerSyncFrame INTEGER ::= 16
-maxNrOfMeasNCell INTEGER ::= 96
-maxNrOfMeasNCell-1 INTEGER ::= 95 -- maxNrOfMeasNCell - 1
-maxNrOfTFCIGroups INTEGER ::= 256
-maxNrOfTFCI1Combs INTEGER ::= 512
-maxNrOfTFCI2Combs INTEGER ::= 1024
-maxNrOfTFCI2Combs-1 INTEGER ::= 1023
-maxNrOfSF INTEGER ::= 8
-maxTGPS INTEGER ::= 6
-maxCommunicationContext INTEGER ::= 1048575
-maxNrOfLevels INTEGER ::= 256
-maxNoSat INTEGER ::= 16
-maxNoGPSItems INTEGER ::= 8
-maxNrOfHSSCCHs INTEGER ::= 32
-maxNrOfHSSICHs INTEGER ::= 4
-maxNrOfSyncFramesLCR INTEGER ::= 512
-maxNrOfReceptionsperSyncFrameLCR INTEGER ::= 8
-maxNrOfSyncDLCodesLCR INTEGER ::= 32
-maxNrOfHSSCCHCodes INTEGER ::= 4
-maxNrOfMACdFlows INTEGER ::= 8
-maxNrOfMACdFlows-1 INTEGER ::= 7 -- maxNrOfMACdFlows - 1
-maxNrOfMACdPDUIndexes INTEGER ::= 8
-maxNrOfMACdPDUIndexes-1 INTEGER ::= 7 -- maxNoOfMACdPDUIndexes - 1
-maxNrOfPriorityQueues INTEGER ::= 8
-maxNrOfPriorityQueues-1 INTEGER ::= 7 -- maxNoOfPriorityQueues - 1
-maxNrOfHARQProcesses INTEGER ::= 8
-maxNrOfContextsOnUeList INTEGER ::= 16
-maxNrOfCellPortionsPerCell INTEGER ::= 64
-maxNrOfCellPortionsPerCell-1 INTEGER ::= 63
-maxNrOfPriorityClasses INTEGER ::= 16
-maxNrOfSatAlmanac-maxNoSat INTEGER ::= 16 -- maxNrofSatAlmanac - maxNoSat
-
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-AICH-Information ProtocolIE-ID ::= 0
-id-AICH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 1
-id-BCH-Information ProtocolIE-ID ::= 7
-id-BCH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 8
-id-BCCH-ModificationTime ProtocolIE-ID ::= 9
-id-BlockingPriorityIndicator ProtocolIE-ID ::= 10
-id-Cause ProtocolIE-ID ::= 13
-id-CCP-InformationItem-AuditRsp ProtocolIE-ID ::= 14
-id-CCP-InformationList-AuditRsp ProtocolIE-ID ::= 15
-id-CCP-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 16
-id-Cell-InformationItem-AuditRsp ProtocolIE-ID ::= 17
-id-Cell-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 18
-id-Cell-InformationList-AuditRsp ProtocolIE-ID ::= 19
-id-CellParameterID ProtocolIE-ID ::= 23
-id-CFN ProtocolIE-ID ::= 24
-id-C-ID ProtocolIE-ID ::= 25
-id-CommonMeasurementAccuracy ProtocolIE-ID ::= 39
-id-CommonMeasurementObjectType-CM-Rprt ProtocolIE-ID ::= 31
-id-CommonMeasurementObjectType-CM-Rqst ProtocolIE-ID ::= 32
-id-CommonMeasurementObjectType-CM-Rsp ProtocolIE-ID ::= 33
-id-CommonMeasurementType ProtocolIE-ID ::= 34
-id-CommonPhysicalChannelID ProtocolIE-ID ::= 35
-id-CommonPhysicalChannelType-CTCH-SetupRqstFDD ProtocolIE-ID ::= 36
-id-CommonPhysicalChannelType-CTCH-SetupRqstTDD ProtocolIE-ID ::= 37
-id-CommunicationControlPortID ProtocolIE-ID ::= 40
-id-ConfigurationGenerationID ProtocolIE-ID ::= 43
-id-CRNC-CommunicationContextID ProtocolIE-ID ::= 44
-id-CriticalityDiagnostics ProtocolIE-ID ::= 45
-id-DCHs-to-Add-FDD ProtocolIE-ID ::= 48
-id-DCH-AddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 49
-id-DCHs-to-Add-TDD ProtocolIE-ID ::= 50
-id-DCH-DeleteList-RL-ReconfPrepFDD ProtocolIE-ID ::= 52
-id-DCH-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 53
-id-DCH-DeleteList-RL-ReconfRqstFDD ProtocolIE-ID ::= 54
-id-DCH-DeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 55
-id-DCH-FDD-Information ProtocolIE-ID ::= 56
-id-DCH-TDD-Information ProtocolIE-ID ::= 57
-id-DCH-InformationResponse ProtocolIE-ID ::= 59
-id-FDD-DCHs-to-Modify ProtocolIE-ID ::= 62
-id-TDD-DCHs-to-Modify ProtocolIE-ID ::= 63
-id-DCH-ModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 65
-id-DCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 135
-id-DedicatedMeasurementObjectType-DM-Rprt ProtocolIE-ID ::= 67
-id-DedicatedMeasurementObjectType-DM-Rqst ProtocolIE-ID ::= 68
-id-DedicatedMeasurementObjectType-DM-Rsp ProtocolIE-ID ::= 69
-id-DedicatedMeasurementType ProtocolIE-ID ::= 70
-id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD ProtocolIE-ID ::= 72
-id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD ProtocolIE-ID ::= 73
-id-DL-CCTrCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 76
-id-DL-DPCH-InformationItem-RL-AdditionRqstTDD ProtocolIE-ID ::= 77
-id-DL-DPCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 79
-id-DL-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 81
-id-DL-DPCH-Information-RL-ReconfRqstFDD ProtocolIE-ID ::= 82
-id-DL-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 83
-id-DL-DPCH-TimingAdjustment ProtocolIE-ID ::= 21
-id-DL-ReferencePowerInformationItem-DL-PC-Rqst ProtocolIE-ID ::= 84
-id-DLReferencePower ProtocolIE-ID ::= 85
-id-DLReferencePowerList-DL-PC-Rqst ProtocolIE-ID ::= 86
-id-DSCH-AddItem-RL-ReconfPrepFDD ProtocolIE-ID ::= 87
-id-DSCHs-to-Add-FDD ProtocolIE-ID ::= 89
-id-DSCH-DeleteItem-RL-ReconfPrepFDD ProtocolIE-ID ::= 91
-id-DSCH-DeleteList-RL-ReconfPrepFDD ProtocolIE-ID ::= 93
-id-DSCHs-to-Add-TDD ProtocolIE-ID ::= 96
-id-DSCH-Information-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 98
-id-DSCH-Information-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 100
-id-DSCH-InformationResponse ProtocolIE-ID ::= 105
-id-DSCH-FDD-Information ProtocolIE-ID ::= 106
-id-DSCH-TDD-Information ProtocolIE-ID ::= 107
-id-DSCH-ModifyItem-RL-ReconfPrepFDD ProtocolIE-ID ::= 108
-id-DSCH-ModifyList-RL-ReconfPrepFDD ProtocolIE-ID ::= 112
-id-DSCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 136
-id-End-Of-Audit-Sequence-Indicator ProtocolIE-ID ::= 113
-id-FACH-Information ProtocolIE-ID ::= 116
-id-FACH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 117
-id-FACH-ParametersList-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 120
-id-FACH-ParametersListIE-CTCH-SetupRqstFDD ProtocolIE-ID ::= 121
-id-FACH-ParametersListIE-CTCH-SetupRqstTDD ProtocolIE-ID ::= 122
-id-IndicationType-ResourceStatusInd ProtocolIE-ID ::= 123
-id-Local-Cell-ID ProtocolIE-ID ::= 124
-id-Local-Cell-Group-InformationItem-AuditRsp ProtocolIE-ID ::= 2
-id-Local-Cell-Group-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 3
-id-Local-Cell-Group-InformationItem2-ResourceStatusInd ProtocolIE-ID ::= 4
-id-Local-Cell-Group-InformationList-AuditRsp ProtocolIE-ID ::= 5
-id-Local-Cell-InformationItem-AuditRsp ProtocolIE-ID ::= 125
-id-Local-Cell-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 126
-id-Local-Cell-InformationItem2-ResourceStatusInd ProtocolIE-ID ::= 127
-id-Local-Cell-InformationList-AuditRsp ProtocolIE-ID ::= 128
-id-AdjustmentPeriod ProtocolIE-ID ::= 129
-id-MaxAdjustmentStep ProtocolIE-ID ::= 130
-id-MaximumTransmissionPower ProtocolIE-ID ::= 131
-id-MeasurementFilterCoefficient ProtocolIE-ID ::= 132
-id-MeasurementID ProtocolIE-ID ::= 133
-id-MessageStructure ProtocolIE-ID ::= 115
-id-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst ProtocolIE-ID ::= 134
-id-NodeB-CommunicationContextID ProtocolIE-ID ::= 143
-id-NeighbouringCellMeasurementInformation ProtocolIE-ID ::= 455
-id-P-CCPCH-Information ProtocolIE-ID ::= 144
-id-P-CCPCH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 145
-id-P-CPICH-Information ProtocolIE-ID ::= 146
-id-P-CPICH-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 147
-id-P-SCH-Information ProtocolIE-ID ::= 148
-id-PCCPCH-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 150
-id-PCCPCH-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 151
-id-PCH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 155
-id-PCH-ParametersItem-CTCH-SetupRqstFDD ProtocolIE-ID ::= 156
-id-PCH-ParametersItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 157
-id-PCH-Information ProtocolIE-ID ::= 158
-id-PDSCH-Information-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 161
-id-PDSCH-Information-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 162
-id-PDSCHSets-AddList-PSCH-ReconfRqst ProtocolIE-ID ::= 163
-id-PDSCHSets-DeleteList-PSCH-ReconfRqst ProtocolIE-ID ::= 164
-id-PDSCHSets-ModifyList-PSCH-ReconfRqst ProtocolIE-ID ::= 165
-id-PICH-Information ProtocolIE-ID ::= 166
-id-PICH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 168
-id-PowerAdjustmentType ProtocolIE-ID ::= 169
-id-PRACH-Information ProtocolIE-ID ::= 170
-id-PrimaryCCPCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 175
-id-PrimaryCCPCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 176
-id-PrimaryCPICH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 177
-id-PrimaryCPICH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 178
-id-PrimarySCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 179
-id-PrimarySCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 180
-id-PrimaryScramblingCode ProtocolIE-ID ::= 181
-id-SCH-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 183
-id-SCH-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 184
-id-PUSCH-Information-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 185
-id-PUSCH-Information-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 186
-id-PUSCHSets-AddList-PSCH-ReconfRqst ProtocolIE-ID ::= 187
-id-PUSCHSets-DeleteList-PSCH-ReconfRqst ProtocolIE-ID ::= 188
-id-PUSCHSets-ModifyList-PSCH-ReconfRqst ProtocolIE-ID ::= 189
-id-RACH-Information ProtocolIE-ID ::= 190
-id-RACH-ParametersItem-CTCH-SetupRqstFDD ProtocolIE-ID ::= 196
-id-RACH-ParameterItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 197
-id-ReportCharacteristics ProtocolIE-ID ::= 198
-id-Reporting-Object-RL-FailureInd ProtocolIE-ID ::= 199
-id-Reporting-Object-RL-RestoreInd ProtocolIE-ID ::= 200
-id-RL-InformationItem-DM-Rprt ProtocolIE-ID ::= 202
-id-RL-InformationItem-DM-Rqst ProtocolIE-ID ::= 203
-id-RL-InformationItem-DM-Rsp ProtocolIE-ID ::= 204
-id-RL-InformationItem-RL-AdditionRqstFDD ProtocolIE-ID ::= 205
-id-RL-informationItem-RL-DeletionRqst ProtocolIE-ID ::= 206
-id-RL-InformationItem-RL-FailureInd ProtocolIE-ID ::= 207
-id-RL-InformationItem-RL-PreemptRequiredInd ProtocolIE-ID ::= 286
-id-RL-InformationItem-RL-ReconfPrepFDD ProtocolIE-ID ::= 208
-id-RL-InformationItem-RL-ReconfRqstFDD ProtocolIE-ID ::= 209
-id-RL-InformationItem-RL-RestoreInd ProtocolIE-ID ::= 210
-id-RL-InformationItem-RL-SetupRqstFDD ProtocolIE-ID ::= 211
-id-RL-InformationList-RL-AdditionRqstFDD ProtocolIE-ID ::= 212
-id-RL-informationList-RL-DeletionRqst ProtocolIE-ID ::= 213
-id-RL-InformationList-RL-PreemptRequiredInd ProtocolIE-ID ::= 237
-id-RL-InformationList-RL-ReconfPrepFDD ProtocolIE-ID ::= 214
-id-RL-InformationList-RL-ReconfRqstFDD ProtocolIE-ID ::= 215
-id-RL-InformationList-RL-SetupRqstFDD ProtocolIE-ID ::= 216
-id-RL-InformationResponseItem-RL-AdditionRspFDD ProtocolIE-ID ::= 217
-id-RL-InformationResponseItem-RL-ReconfReady ProtocolIE-ID ::= 218
-id-RL-InformationResponseItem-RL-ReconfRsp ProtocolIE-ID ::= 219
-id-RL-InformationResponseItem-RL-SetupRspFDD ProtocolIE-ID ::= 220
-id-RL-InformationResponseList-RL-AdditionRspFDD ProtocolIE-ID ::= 221
-id-RL-InformationResponseList-RL-ReconfReady ProtocolIE-ID ::= 222
-id-RL-InformationResponseList-RL-ReconfRsp ProtocolIE-ID ::= 223
-id-RL-InformationResponseList-RL-SetupRspFDD ProtocolIE-ID ::= 224
-id-RL-InformationResponse-RL-AdditionRspTDD ProtocolIE-ID ::= 225
-id-RL-InformationResponse-RL-SetupRspTDD ProtocolIE-ID ::= 226
-id-RL-Information-RL-AdditionRqstTDD ProtocolIE-ID ::= 227
-id-RL-Information-RL-ReconfRqstTDD ProtocolIE-ID ::= 228
-id-RL-Information-RL-ReconfPrepTDD ProtocolIE-ID ::= 229
-id-RL-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 230
-id-RL-ReconfigurationFailureItem-RL-ReconfFailure ProtocolIE-ID ::= 236
-id-RL-Set-InformationItem-DM-Rprt ProtocolIE-ID ::= 238
-id-RL-Set-InformationItem-DM-Rsp ProtocolIE-ID ::= 240
-id-RL-Set-InformationItem-RL-FailureInd ProtocolIE-ID ::= 241
-id-RL-Set-InformationItem-RL-RestoreInd ProtocolIE-ID ::= 242
-id-S-CCPCH-Information ProtocolIE-ID ::= 247
-id-S-CPICH-Information ProtocolIE-ID ::= 249
-id-SCH-Information ProtocolIE-ID ::= 251
-id-S-SCH-Information ProtocolIE-ID ::= 253
-id-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 257
-id-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD ProtocolIE-ID ::= 258
-id-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 259
-id-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD ProtocolIE-ID ::= 260
-id-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD ProtocolIE-ID ::= 261
-id-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD ProtocolIE-ID ::= 262
-id-SecondaryCPICH-InformationList-Cell-SetupRqstFDD ProtocolIE-ID ::= 263
-id-SecondarySCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 264
-id-SecondarySCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 265
-id-SegmentInformationListIE-SystemInfoUpdate ProtocolIE-ID ::= 266
-id-SFN ProtocolIE-ID ::= 268
-id-SignallingBearerRequestIndicator ProtocolIE-ID ::= 138
-id-ShutdownTimer ProtocolIE-ID ::= 269
-id-Start-Of-Audit-Sequence-Indicator ProtocolIE-ID ::= 114
-id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD ProtocolIE-ID ::= 270
-id-Successful-RL-InformationRespItem-RL-SetupFailureFDD ProtocolIE-ID ::= 271
-id-SyncCase ProtocolIE-ID ::= 274
-id-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH ProtocolIE-ID ::= 275
-id-T-Cell ProtocolIE-ID ::= 276
-id-TargetCommunicationControlPortID ProtocolIE-ID ::= 139
-id-TimeSlotConfigurationList-Cell-ReconfRqstTDD ProtocolIE-ID ::= 277
-id-TimeSlotConfigurationList-Cell-SetupRqstTDD ProtocolIE-ID ::= 278
-id-TransmissionDiversityApplied ProtocolIE-ID ::= 279
-id-TypeOfError ProtocolIE-ID ::= 508
-id-UARFCNforNt ProtocolIE-ID ::= 280
-id-UARFCNforNd ProtocolIE-ID ::= 281
-id-UARFCNforNu ProtocolIE-ID ::= 282
-id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD ProtocolIE-ID ::= 284
-id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD ProtocolIE-ID ::= 285
-id-UL-CCTrCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 288
-id-UL-DPCH-InformationItem-RL-AdditionRqstTDD ProtocolIE-ID ::= 289
-id-UL-DPCH-InformationList-RL-SetupRqstTDD ProtocolIE-ID ::= 291
-id-UL-DPCH-Information-RL-ReconfPrepFDD ProtocolIE-ID ::= 293
-id-UL-DPCH-Information-RL-ReconfRqstFDD ProtocolIE-ID ::= 294
-id-UL-DPCH-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 295
-id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD ProtocolIE-ID ::= 296
-id-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD ProtocolIE-ID ::= 297
-id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD ProtocolIE-ID ::= 300
-id-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD ProtocolIE-ID ::= 301
-id-USCH-Information-Add ProtocolIE-ID ::= 302
-id-USCH-Information-DeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 304
-id-USCH-Information-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 306
-id-USCH-InformationResponse ProtocolIE-ID ::= 309
-id-USCH-Information ProtocolIE-ID ::= 310
-id-USCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 141
-id-Active-Pattern-Sequence-Information ProtocolIE-ID ::= 315
-id-AICH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 316
-id-AdjustmentRatio ProtocolIE-ID ::= 317
-id-AP-AICH-Information ProtocolIE-ID ::= 320
-id-AP-AICH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 322
-id-FACH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 323
-id-CauseLevel-PSCH-ReconfFailure ProtocolIE-ID ::= 324
-id-CauseLevel-RL-AdditionFailureFDD ProtocolIE-ID ::= 325
-id-CauseLevel-RL-AdditionFailureTDD ProtocolIE-ID ::= 326
-id-CauseLevel-RL-ReconfFailure ProtocolIE-ID ::= 327
-id-CauseLevel-RL-SetupFailureFDD ProtocolIE-ID ::= 328
-id-CauseLevel-RL-SetupFailureTDD ProtocolIE-ID ::= 329
-id-CDCA-ICH-Information ProtocolIE-ID ::= 330
-id-CDCA-ICH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 332
-id-Closed-Loop-Timing-Adjustment-Mode ProtocolIE-ID ::= 333
-id-CommonPhysicalChannelType-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 334
-id-Compressed-Mode-Deactivation-Flag ProtocolIE-ID ::= 335
-id-CPCH-Information ProtocolIE-ID ::= 336
-id-CPCH-Parameters-CTCH-SetupRsp ProtocolIE-ID ::= 342
-id-CPCH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 343
-id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 346
-id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 347
-id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 348
-id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 349
-id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 350
-id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 351
-id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 352
-id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 353
-id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 355
-id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 356
-id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 357
-id-DL-TPC-Pattern01Count ProtocolIE-ID ::= 358
-id-DPC-Mode ProtocolIE-ID ::= 450
-id-DPCHConstant ProtocolIE-ID ::= 359
-id-DSCH-FDD-Common-Information ProtocolIE-ID ::= 94
-id-EnhancedDSCHPC ProtocolIE-ID ::= 110
-id-EnhancedDSCHPCIndicator ProtocolIE-ID ::= 111
-id-FACH-ParametersList-CTCH-SetupRsp ProtocolIE-ID ::= 362
-id-Limited-power-increase-information-Cell-SetupRqstFDD ProtocolIE-ID ::= 369
-id-PCH-Parameters-CTCH-SetupRsp ProtocolIE-ID ::= 374
-id-PCH-ParametersItem-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 375
-id-PCPCH-Information ProtocolIE-ID ::= 376
-id-PICH-ParametersItem-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 380
-id-PRACHConstant ProtocolIE-ID ::= 381
-id-PRACH-ParametersListIE-CTCH-ReconfRqstFDD ProtocolIE-ID ::= 383
-id-PUSCHConstant ProtocolIE-ID ::= 384
-id-RACH-Parameters-CTCH-SetupRsp ProtocolIE-ID ::= 385
-id-SSDT-CellIDforEDSCHPC ProtocolIE-ID ::= 443
-id-Synchronisation-Configuration-Cell-ReconfRqst ProtocolIE-ID ::= 393
-id-Synchronisation-Configuration-Cell-SetupRqst ProtocolIE-ID ::= 394
-id-Transmission-Gap-Pattern-Sequence-Information ProtocolIE-ID ::= 395
-id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 396
-id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 397
-id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ProtocolIE-ID ::= 398
-id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ProtocolIE-ID ::= 399
-id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ProtocolIE-ID ::= 400
-id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 401
-id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 402
-id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 403
-id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 405
-id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 406
-id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 407
-id-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD ProtocolIE-ID ::= 408
-id-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD ProtocolIE-ID ::= 409
-id-CommunicationContextInfoItem-Reset ProtocolIE-ID ::= 412
-id-CommunicationControlPortInfoItem-Reset ProtocolIE-ID ::= 414
-id-ResetIndicator ProtocolIE-ID ::= 416
-id-TFCI2-Bearer-Information-RL-SetupRqstFDD ProtocolIE-ID ::= 417
-id-TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD ProtocolIE-ID ::= 418
-id-TFCI2-BearerInformationResponse ProtocolIE-ID ::= 419
-id-TFCI2BearerRequestIndicator ProtocolIE-ID ::= 142
-id-TimingAdvanceApplied ProtocolIE-ID ::= 287
-id-CFNReportingIndicator ProtocolIE-ID ::= 6
-id-SFNReportingIndicator ProtocolIE-ID ::= 11
-id-InnerLoopDLPCStatus ProtocolIE-ID ::= 12
-id-TimeslotISCPInfo ProtocolIE-ID ::= 283
-id-PICH-ParametersItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 167
-id-PRACH-ParametersItem-CTCH-SetupRqstTDD ProtocolIE-ID ::= 20
-id-CCTrCH-InformationItem-RL-FailureInd ProtocolIE-ID ::= 46
-id-CCTrCH-InformationItem-RL-RestoreInd ProtocolIE-ID ::= 47
-id-CauseLevel-SyncAdjustmntFailureTDD ProtocolIE-ID ::= 420
-id-CellAdjustmentInfo-SyncAdjustmntRqstTDD ProtocolIE-ID ::= 421
-id-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD ProtocolIE-ID ::= 494
-id-CellSyncBurstInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 482
-id-CellSyncBurstTransInit-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 422
-id-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 423
-id-CellSyncBurstTransReconfiguration-CellSyncReconfRqstTDD ProtocolIE-ID ::= 424
-id-CellSyncBurstMeasReconfiguration-CellSyncReconfRqstTDD ProtocolIE-ID ::= 425
-id-CellSyncBurstTransInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 426
-id-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 427
-id-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD ProtocolIE-ID ::= 428
-id-CellSyncInfo-CellSyncReprtTDD ProtocolIE-ID ::= 429
-id-CSBTransmissionID ProtocolIE-ID ::= 430
-id-CSBMeasurementID ProtocolIE-ID ::= 431
-id-IntStdPhCellSyncInfoItem-CellSyncReprtTDD ProtocolIE-ID ::= 432
-id-NCyclesPerSFNperiod ProtocolIE-ID ::= 433
-id-NRepetitionsPerCyclePeriod ProtocolIE-ID ::= 434
-id-SyncFrameNumber ProtocolIE-ID ::= 437
-id-SynchronisationReportType ProtocolIE-ID ::= 438
-id-SynchronisationReportCharacteristics ProtocolIE-ID ::= 439
-id-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD ProtocolIE-ID ::= 440
-id-LateEntranceCellSyncInfoItem-CellSyncReprtTDD ProtocolIE-ID ::= 119
-id-ReferenceClockAvailability ProtocolIE-ID ::= 435
-id-ReferenceSFNoffset ProtocolIE-ID ::= 436
-id-InformationExchangeID ProtocolIE-ID ::= 444
-id-InformationExchangeObjectType-InfEx-Rqst ProtocolIE-ID ::= 445
-id-InformationType ProtocolIE-ID ::= 446
-id-InformationReportCharacteristics ProtocolIE-ID ::= 447
-id-InformationExchangeObjectType-InfEx-Rsp ProtocolIE-ID ::= 448
-id-InformationExchangeObjectType-InfEx-Rprt ProtocolIE-ID ::= 449
-id-IPDLParameter-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 451
-id-IPDLParameter-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 452
-id-IPDLParameter-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 453
-id-IPDLParameter-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 454
-id-DL-DPCH-LCR-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 74
-id-DwPCH-LCR-Information ProtocolIE-ID ::= 78
-id-DwPCH-LCR-InformationList-AuditRsp ProtocolIE-ID ::= 90
-id-DwPCH-LCR-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 97
-id-DwPCH-LCR-Information-Cell-ReconfRqstTDD ProtocolIE-ID ::= 99
-id-DwPCH-LCR-Information-ResourceStatusInd ProtocolIE-ID ::= 101
-id-maxFACH-Power-LCR-CTCH-SetupRqstTDD ProtocolIE-ID ::= 154
-id-maxFACH-Power-LCR-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 174
-id-FPACH-LCR-Information ProtocolIE-ID ::= 290
-id-FPACH-LCR-Information-AuditRsp ProtocolIE-ID ::= 292
-id-FPACH-LCR-InformationList-AuditRsp ProtocolIE-ID ::= 22
-id-FPACH-LCR-InformationList-ResourceStatusInd ProtocolIE-ID ::= 311
-id-FPACH-LCR-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 312
-id-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 314
-id-PCCPCH-LCR-Information-Cell-SetupRqstTDD ProtocolIE-ID ::= 456
-id-PCH-Power-LCR-CTCH-SetupRqstTDD ProtocolIE-ID ::= 457
-id-PCH-Power-LCR-CTCH-ReconfRqstTDD ProtocolIE-ID ::= 458
-id-PICH-LCR-Parameters-CTCH-SetupRqstTDD ProtocolIE-ID ::= 459
-id-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD ProtocolIE-ID ::= 461
-id-RL-InformationResponse-LCR-RL-SetupRspTDD ProtocolIE-ID ::= 463
-id-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD ProtocolIE-ID ::= 465
-id-TimeSlot ProtocolIE-ID ::= 495
-id-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD ProtocolIE-ID ::= 466
-id-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD ProtocolIE-ID ::= 467
-id-TimeslotISCP-LCR-InfoList-RL-SetupRqstTDD ProtocolIE-ID ::= 468
-id-TimeSlotLCR-CM-Rqst ProtocolIE-ID ::= 469
-id-UL-DPCH-LCR-Information-RL-SetupRqstTDD ProtocolIE-ID ::= 470
-id-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 472
-id-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 473
-id-TimeslotISCP-InformationList-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 474
-id-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 475
-id-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD ProtocolIE-ID ::= 477
-id-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD ProtocolIE-ID ::= 479
-id-TimeslotISCPInfoList-LCR-DL-PC-RqstTDD ProtocolIE-ID ::= 480
-id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfPrepTDD ProtocolIE-ID ::= 481
-id-UL-DPCH-LCR-InformationModify-AddList ProtocolIE-ID ::= 483
-id-UL-TimeslotLCR-Information-RL-ReconfPrepTDD ProtocolIE-ID ::= 485
-id-UL-SIRTarget ProtocolIE-ID ::= 510
-id-PDSCH-AddInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 486
-id-PDSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 487
-id-PDSCH-Information-Cell-SetupRqstFDD ProtocolIE-ID ::= 26
-id-PDSCH-Information-Cell-ReconfRqstFDD ProtocolIE-ID ::= 27
-id-PDSCH-ModifyInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 488
-id-PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 489
-id-PUSCH-AddInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 490
-id-PUSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 491
-id-PUSCH-ModifyInformation-LCR-PSCH-ReconfRqst ProtocolIE-ID ::= 492
-id-PUSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst ProtocolIE-ID ::= 493
-id-timeslotInfo-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 496
-id-SyncReportType-CellSyncReprtTDD ProtocolIE-ID ::= 497
-id-Power-Local-Cell-Group-InformationItem-AuditRsp ProtocolIE-ID ::= 498
-id-Power-Local-Cell-Group-InformationItem-ResourceStatusInd ProtocolIE-ID ::= 499
-id-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd ProtocolIE-ID ::= 500
-id-Power-Local-Cell-Group-InformationList-AuditRsp ProtocolIE-ID ::= 501
-id-Power-Local-Cell-Group-InformationList-ResourceStatusInd ProtocolIE-ID ::= 502
-id-Power-Local-Cell-Group-InformationList2-ResourceStatusInd ProtocolIE-ID ::= 503
-id-Power-Local-Cell-Group-ID ProtocolIE-ID ::= 504
-id-PUSCH-Info-DM-Rqst ProtocolIE-ID ::= 505
-id-PUSCH-Info-DM-Rsp ProtocolIE-ID ::= 506
-id-PUSCH-Info-DM-Rprt ProtocolIE-ID ::= 507
-id-InitDL-Power ProtocolIE-ID ::= 509
-id-cellSyncBurstRepetitionPeriod ProtocolIE-ID ::= 511
-id-ReportCharacteristicsType-OnModification ProtocolIE-ID ::= 512
-id-SFNSFNMeasurementValueInformation ProtocolIE-ID ::= 513
-id-SFNSFNMeasurementThresholdInformation ProtocolIE-ID ::= 514
-id-TUTRANGPSMeasurementValueInformation ProtocolIE-ID ::= 515
-id-TUTRANGPSMeasurementThresholdInformation ProtocolIE-ID ::= 516
-id-Rx-Timing-Deviation-Value-LCR ProtocolIE-ID ::= 520
-id-RL-InformationResponse-LCR-RL-AdditionRspTDD ProtocolIE-ID ::= 51
-id-DL-PowerBalancing-Information ProtocolIE-ID ::= 28
-id-DL-PowerBalancing-ActivationIndicator ProtocolIE-ID ::= 29
-id-DL-PowerBalancing-UpdatedIndicator ProtocolIE-ID ::= 30
-id-CCTrCH-Initial-DL-Power-RL-SetupRqstTDD ProtocolIE-ID ::= 517
-id-CCTrCH-Initial-DL-Power-RL-AdditionRqstTDD ProtocolIE-ID ::= 518
-id-CCTrCH-Initial-DL-Power-RL-ReconfPrepTDD ProtocolIE-ID ::= 519
-id-IPDLParameter-Information-LCR-Cell-SetupRqstTDD ProtocolIE-ID ::= 41
-id-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD ProtocolIE-ID ::= 42
-id-HS-PDSCH-HS-SCCH-MaxPower-PSCH-ReconfRqst ProtocolIE-ID ::= 522
-id-HS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst ProtocolIE-ID ::= 523
-id-HS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 524
-id-HS-SCCH-FDD-Code-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 525
-id-HS-PDSCH-TDD-Information-PSCH-ReconfRqst ProtocolIE-ID ::= 526
-id-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 527
-id-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 528
-id-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ProtocolIE-ID ::= 529
-id-bindingID ProtocolIE-ID ::= 102
-id-RL-Specific-DCH-Info ProtocolIE-ID ::= 103
-id-transportlayeraddress ProtocolIE-ID ::= 104
-id-DelayedActivation ProtocolIE-ID ::= 231
-id-DelayedActivationList-RL-ActivationCmdFDD ProtocolIE-ID ::= 232
-id-DelayedActivationInformation-RL-ActivationCmdFDD ProtocolIE-ID ::= 233
-id-DelayedActivationList-RL-ActivationCmdTDD ProtocolIE-ID ::= 234
-id-DelayedActivationInformation-RL-ActivationCmdTDD ProtocolIE-ID ::= 235
-id-neighbouringTDDCellMeasurementInformationLCR ProtocolIE-ID ::= 58
-id-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 543
-id-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD ProtocolIE-ID ::= 544
-id-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD ProtocolIE-ID ::= 545
-id-SYNCDlCodeIdMeasReconfigurationLCR-CellSyncReconfRqstTDD ProtocolIE-ID ::= 546
-id-SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD ProtocolIE-ID ::= 547
-id-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD ProtocolIE-ID ::= 548
-id-SyncDLCodeIdThreInfoLCR ProtocolIE-ID ::= 549
-id-NSubCyclesPerCyclePeriod-CellSyncReconfRqstTDD ProtocolIE-ID ::= 550
-id-DwPCH-Power ProtocolIE-ID ::= 551
-id-AccumulatedClockupdate-CellSyncReprtTDD ProtocolIE-ID ::= 552
-id-Angle-Of-Arrival-Value-LCR ProtocolIE-ID ::= 521
-id-HSDSCH-FDD-Information ProtocolIE-ID ::= 530
-id-HSDSCH-FDD-Information-Response ProtocolIE-ID ::= 531
-id-HSDSCH-Information-to-Modify ProtocolIE-ID ::= 534
-id-HSDSCH-RNTI ProtocolIE-ID ::= 535
-id-HSDSCH-TDD-Information ProtocolIE-ID ::= 536
-id-HSDSCH-TDD-Information-Response ProtocolIE-ID ::= 537
-id-HSPDSCH-RL-ID ProtocolIE-ID ::= 541
-id-PrimCCPCH-RSCP-DL-PC-RqstTDD ProtocolIE-ID ::= 542
-id-Qth-Parameter ProtocolIE-ID ::= 64
-id-PDSCH-RL-ID ProtocolIE-ID ::= 66
-id-HSDSCH-RearrangeList-Bearer-RearrangeInd ProtocolIE-ID ::= 553
-id-UL-Synchronisation-Parameters-LCR ProtocolIE-ID ::= 554
-id-HSDSCH-FDD-Update-Information ProtocolIE-ID ::= 555
-id-HSDSCH-TDD-Update-Information ProtocolIE-ID ::= 556
-id-DL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 558
-id-UL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD ProtocolIE-ID ::= 559
-id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD ProtocolIE-ID ::= 560
-id-TDD-TPC-UplinkStepSize-LCR-RL-AdditionRqstTDD ProtocolIE-ID ::= 561
-id-TDD-TPC-DownlinkStepSize-RL-AdditionRqstTDD ProtocolIE-ID ::= 562
-id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD ProtocolIE-ID ::= 563
-id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD ProtocolIE-ID ::= 564
-id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 565
-id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD ProtocolIE-ID ::= 566
-id-CCTrCH-Maximum-DL-Power-RL-SetupRqstTDD ProtocolIE-ID ::= 567
-id-CCTrCH-Minimum-DL-Power-RL-SetupRqstTDD ProtocolIE-ID ::= 568
-id-CCTrCH-Maximum-DL-Power-RL-AdditionRqstTDD ProtocolIE-ID ::= 569
-id-CCTrCH-Minimum-DL-Power-RL-AdditionRqstTDD ProtocolIE-ID ::= 570
-id-CCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD ProtocolIE-ID ::= 571
-id-CCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD ProtocolIE-ID ::= 572
-id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 573
-id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 574
-id-Maximum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 575
-id-Minimum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD ProtocolIE-ID ::= 576
-id-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD ProtocolIE-ID ::= 577
-id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD ProtocolIE-ID ::= 578
-id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD ProtocolIE-ID ::= 579
-id-Initial-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 580
-id-Maximum-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 581
-id-Minimum-DL-Power-TimeslotLCR-InformationItem ProtocolIE-ID ::= 582
-id-HS-DSCHProvidedBitRate ProtocolIE-ID ::= 583
-id-HS-DSCHRequiredPower ProtocolIE-ID ::= 585
-id-HS-DSCHRequiredPowerValue ProtocolIE-ID ::= 586
-id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission ProtocolIE-ID ::= 587
-id-HS-SICH-Reception-Quality ProtocolIE-ID ::= 588
-id-HS-SICH-Reception-Quality-Measurement-Value ProtocolIE-ID ::= 589
-id-HSSICH-Info-DM-Rprt ProtocolIE-ID ::= 590
-id-HSSICH-Info-DM-Rqst ProtocolIE-ID ::= 591
-id-HSSICH-Info-DM-Rsp ProtocolIE-ID ::= 592
-id-Best-Cell-Portions-Value ProtocolIE-ID ::= 593
-id-Primary-CPICH-Usage-for-Channel-Estimation ProtocolIE-ID ::= 594
-id-Secondary-CPICH-Information-Change ProtocolIE-ID ::= 595
-id-NumberOfReportedCellPortions ProtocolIE-ID ::= 596
-id-TimeslotISCP-LCR-InfoList-RL-ReconfPrepTDD ProtocolIE-ID ::= 599
-id-Unidirectional-DCH-Indicator ProtocolIE-ID ::= 602
-id-TimingAdjustmentValueLCR ProtocolIE-ID ::= 603
-id-multipleRL-dl-DPCH-InformationList ProtocolIE-ID ::= 604
-id-multipleRL-dl-DPCH-InformationModifyList ProtocolIE-ID ::= 605
-id-multipleRL-ul-DPCH-InformationList ProtocolIE-ID ::= 606
-id-multipleRL-ul-DPCH-InformationModifyList ProtocolIE-ID ::= 607
-id-RL-ID ProtocolIE-ID ::= 608
-id-SAT-Info-Almanac-ExtItem ProtocolIE-ID ::= 609
-id-HSDPA-Capability ProtocolIE-ID ::= 610
-id-HSDSCH-Resources-Information-AuditRsp ProtocolIE-ID ::= 611
-id-HSDSCH-Resources-Information-ResourceStatusInd ProtocolIE-ID ::= 612
-id-HSDSCH-MACdFlows-to-Add ProtocolIE-ID ::= 613
-id-HSDSCH-MACdFlows-to-Delete ProtocolIE-ID ::= 614
-id-HSDSCH-Information-to-Modify-Unsynchronised ProtocolIE-ID ::= 615
-id-TnlQos ProtocolIE-ID ::= 616
-id-PrimaryCCPCH-RSCP-Delta ProtocolIE-ID ::= 623
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-Containers.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-Containers.asn
deleted file mode 100755
index fb08451103..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-Containers.asn
+++ /dev/null
@@ -1,197 +0,0 @@
--- **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
-NBAP-Containers {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-Containers (5) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- maxProtocolExtensions,
- maxPrivateIEs,
- maxProtocolIEs,
- Criticality,
- Presence,
- PrivateIE-ID,
- ProtocolIE-ID
-FROM NBAP-CommonDataTypes;
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-NBAP-PROTOCOL-IES ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-NBAP-PROTOCOL-IES-PAIR ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &firstCriticality Criticality,
- &FirstValue,
- &secondCriticality Criticality,
- &SecondValue,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- FIRST CRITICALITY &firstCriticality
- FIRST TYPE &FirstValue
- SECOND CRITICALITY &secondCriticality
- SECOND TYPE &SecondValue
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol Extensions
---
--- **************************************************************
-
-NBAP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Private IEs
---
--- **************************************************************
-
-NBAP-PRIVATE-IES ::= CLASS {
- &id PrivateIE-ID,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Container for Protocol IEs
---
--- **************************************************************
-
-ProtocolIE-Container {NBAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Single-Container {NBAP-PROTOCOL-IES : IEsSetParam} ::=
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {NBAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id NBAP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality NBAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value NBAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Protocol IE Pairs
---
--- **************************************************************
-
-ProtocolIE-ContainerPair {NBAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-FieldPair {{IEsSetParam}}
-
-ProtocolIE-FieldPair {NBAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
- id NBAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
- firstCriticality NBAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
- firstValue NBAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
- secondCriticality NBAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
- secondValue NBAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, NBAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-Container {{IEsSetParam}}
-
-ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, NBAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-ContainerPair {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {NBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {NBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id NBAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality NBAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue NBAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Private IEs
---
--- **************************************************************
-
-PrivateIE-Container {NBAP-PRIVATE-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (1..maxPrivateIEs)) OF
- PrivateIE-Field {{IEsSetParam}}
-
-PrivateIE-Field {NBAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
- id NBAP-PRIVATE-IES.&id
- ({IEsSetParam}),
- criticality NBAP-PRIVATE-IES.&criticality
- ({IEsSetParam}{@id}),
- value NBAP-PRIVATE-IES.&Value
- ({IEsSetParam}{@id})
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-IEs.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-IEs.asn
deleted file mode 100755
index 848d8f6099..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-IEs.asn
+++ /dev/null
@@ -1,4127 +0,0 @@
---******************************************************************************
---
--- Information Element Definitions
---
---******************************************************************************
-
-NBAP-IEs {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-IEs (2) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-IMPORTS
- maxNrOfRLs,
- maxNrOfTFCs,
- maxNrOfErrors,
- maxCTFC,
- maxNrOfTFs,
- maxTTI-count,
- maxRateMatching,
- maxCodeNrComp-1,
- maxHS-PDSCHCodeNrComp-1,
- maxHS-SCCHCodeNrComp-1,
- maxNrOfCellSyncBursts,
- maxNrOfCodeGroups,
- maxNrOfMeasNCell,
- maxNrOfMeasNCell-1,
- maxNrOfReceptsPerSyncFrame,
- maxNrOfTFCIGroups,
- maxNrOfTFCI1Combs,
- maxNrOfTFCI2Combs,
- maxNrOfTFCI2Combs-1,
- maxNrOfSF,
- maxTGPS,
- maxNrOfUSCHs,
- maxNrOfULTSs,
- maxNrOfULTSLCRs,
- maxNrOfDPCHs,
- maxNrOfDPCHLCRs,
- maxNrOfCodes,
- maxNrOfDSCHs,
- maxNrOfDLTSs,
- maxNrOfDLTSLCRs,
- maxNrOfDCHs,
- maxNrOfLevels,
- maxNoGPSItems,
- maxNoSat,
- maxNrOfCellPortionsPerCell,
- maxNrOfCellPortionsPerCell-1,
- maxNrOfHSSCCHs,
- maxNrOfHSSCCHCodes,
- maxNrOfMACdFlows,
- maxNrOfMACdFlows-1,
- maxNrOfMACdPDUIndexes,
- maxNrOfMACdPDUIndexes-1,
- maxNrOfPriorityQueues,
- maxNrOfPriorityQueues-1,
- maxNrOfHARQProcesses,
- maxNrOfSyncDLCodesLCR,
- maxNrOfSyncFramesLCR,
- maxNrOfContextsOnUeList,
- maxNrOfPriorityClasses,
- maxNrOfSatAlmanac-maxNoSat,
-
- id-MessageStructure,
- id-ReportCharacteristicsType-OnModification,
- id-Rx-Timing-Deviation-Value-LCR,
- id-SFNSFNMeasurementValueInformation,
- id-SFNSFNMeasurementThresholdInformation,
- id-TUTRANGPSMeasurementValueInformation,
- id-TUTRANGPSMeasurementThresholdInformation,
- id-TypeOfError,
- id-transportlayeraddress,
- id-bindingID,
- id-Angle-Of-Arrival-Value-LCR,
- id-SyncDLCodeIdThreInfoLCR,
- id-neighbouringTDDCellMeasurementInformationLCR,
- id-HS-SICH-Reception-Quality,
- id-HS-SICH-Reception-Quality-Measurement-Value,
- id-Initial-DL-Power-TimeslotLCR-InformationItem,
- id-Maximum-DL-Power-TimeslotLCR-InformationItem,
- id-Minimum-DL-Power-TimeslotLCR-InformationItem,
- id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission,
- id-HS-DSCHRequiredPower,
- id-HS-DSCHProvidedBitRate,
- id-HS-DSCHRequiredPowerValue,
- id-Best-Cell-Portions-Value,
- id-Unidirectional-DCH-Indicator,
- id-SAT-Info-Almanac-ExtItem,
- id-TnlQos
-FROM NBAP-Constants
-
- Criticality,
- ProcedureID,
- ProtocolIE-ID,
- TransactionID,
- TriggeringMessage
-FROM NBAP-CommonDataTypes
-
- NBAP-PROTOCOL-IES,
- ProtocolExtensionContainer{},
- ProtocolIE-Single-Container{},
- NBAP-PROTOCOL-EXTENSION
-FROM NBAP-Containers;
-
--- ==========================================
--- A
--- ==========================================
-
-AckNack-RepetitionFactor ::= INTEGER (1..4,...)
--- Step: 1
-
-Ack-Power-Offset ::= INTEGER (0..8,...)
--- According to mapping in ref. [9] subclause 4.2.1
-
-Acknowledged-PCPCH-access-preambles ::= INTEGER (0..15,...)
--- According to mapping in [22].
-
-Acknowledged-PRACH-preambles-Value ::= INTEGER(0..240,...)
--- According to mapping in [22].
-
-AddorDeleteIndicator ::= ENUMERATED {
- add,
- delete
-}
-
-Active-Pattern-Sequence-Information ::= SEQUENCE {
- cMConfigurationChangeCFN CFN,
- transmission-Gap-Pattern-Sequence-Status Transmission-Gap-Pattern-Sequence-Status-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {Active-Pattern-Sequence-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-Active-Pattern-Sequence-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Transmission-Gap-Pattern-Sequence-Status-List ::= SEQUENCE (SIZE (0..maxTGPS)) OF
- SEQUENCE {
- tGPSID TGPSID,
- tGPRC TGPRC,
- tGCFN CFN,
- iE-Extensions ProtocolExtensionContainer { { Transmission-Gap-Pattern-Sequence-Status-List-ExtIEs } } OPTIONAL,
- ...
-}
-
-Transmission-Gap-Pattern-Sequence-Status-List-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AICH-Power ::= INTEGER (-22..5)
--- Offset in dB.
-
-AICH-TransmissionTiming ::= ENUMERATED {
- v0,
- v1
-}
-
-AllocationRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
- iE-Extensions ProtocolExtensionContainer { {AllocationRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationRetentionPriority-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Angle-Of-Arrival-Value-LCR ::= SEQUENCE {
- aOA-LCR AOA-LCR,
- aOA-LCR-Accuracy-Class AOA-LCR-Accuracy-Class,
- iE-Extensions ProtocolExtensionContainer { {Angle-Of-Arrival-Value-LCR-ExtIEs} } OPTIONAL,
-...
-}
-
-Angle-Of-Arrival-Value-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AOA-LCR ::= INTEGER (0..719)
--- Angle Of Arrival for 1.28Mcps TDD
-
-AOA-LCR-Accuracy-Class ::= ENUMERATED {a,b,c,d,e,f,g,h,...}
-
-APPreambleSignature ::= INTEGER (0..15)
-
-APSubChannelNumber ::= INTEGER (0..11)
-
-AvailabilityStatus ::= ENUMERATED {
- empty,
- in-test,
- failed,
- power-off,
- off-line,
- off-duty,
- dependency,
- degraded,
- not-installed,
- log-full,
- ...
-}
-
--- ==========================================
--- B
--- ==========================================
-
-BCCH-ModificationTime ::= INTEGER (0..511)
--- Time = BCCH-ModificationTime * 8
--- Range 0 to 4088, step 8
--- All SFN values in which MIB may be mapped are allowed
-
-Best-Cell-Portions-Value::= SEQUENCE (SIZE (1..maxNrOfCellPortionsPerCell)) OF Best-Cell-Portions-Item
-
-Best-Cell-Portions-Item ::= SEQUENCE {
- cellPortionID CellPortionID,
- sIRValue SIR-Value,
- iE-Extensions ProtocolExtensionContainer { { Best-Cell-Portions-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-Best-Cell-Portions-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-BindingID ::= OCTET STRING (SIZE (1..4, ...))
--- If the Binding ID includes a UDP port, the UDP port is included in octet 1 and 2.The first octet of
--- the UDP port field is included in the first octet of the Binding ID.
-
-BetaCD ::= INTEGER (0..15)
-
-BlockingPriorityIndicator ::= ENUMERATED {
- high,
- normal,
- low,
- ...
-}
--- High priority: Block resource immediately.
--- Normal priority: Block resource when idle or upon timer expiry.
--- Low priority: Block resource when idle.
-
-SCTD-Indicator ::= ENUMERATED {
- active,
- inactive
-}
-
--- ==========================================
--- C
--- ==========================================
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transport CauseTransport,
- protocol CauseProtocol,
- misc CauseMisc,
- ...
-}
-
-CauseMisc ::= ENUMERATED {
- control-processing-overload,
- hardware-failure,
- oam-intervention,
- not-enough-user-plane-processing-resources,
- unspecified,
- ...
-}
-
-CauseProtocol ::= ENUMERATED {
- transfer-syntax-error,
- abstract-syntax-error-reject,
- abstract-syntax-error-ignore-and-notify,
- message-not-compatible-with-receiver-state,
- semantic-error,
- unspecified,
- abstract-syntax-error-falsely-constructed-message,
- ...
-}
-
-CauseRadioNetwork ::= ENUMERATED {
- unknown-C-ID,
- cell-not-available,
- power-level-not-supported,
- dl-radio-resources-not-available,
- ul-radio-resources-not-available,
- rl-already-ActivatedOrAllocated,
- nodeB-Resources-unavailable,
- measurement-not-supported-for-the-object,
- combining-resources-not-available,
- requested-configuration-not-supported,
- synchronisation-failure,
- priority-transport-channel-established,
- sIB-Origination-in-Node-B-not-Supported,
- requested-tx-diversity-mode-not-supported,
- unspecified,
- bCCH-scheduling-error,
- measurement-temporarily-not-available,
- invalid-CM-settings,
- reconfiguration-CFN-not-elapsed,
- number-of-DL-codes-not-supported,
- s-cipch-not-supported,
- combining-not-supported,
- ul-sf-not-supported,
- dl-SF-not-supported,
- common-transport-channel-type-not-supported,
- dedicated-transport-channel-type-not-supported,
- downlink-shared-channel-type-not-supported,
- uplink-shared-channel-type-not-supported,
- cm-not-supported,
- tx-diversity-no-longer-supported,
- unknown-Local-Cell-ID,
- ...,
- number-of-UL-codes-not-supported,
- information-temporarily-not-available,
- information-provision-not-supported-for-the-object,
- cell-synchronisation-not-supported,
- cell-synchronisation-adjustment-not-supported,
- dpc-mode-change-not-supported,
- iPDL-already-activated,
- iPDL-not-supported,
- iPDL-parameters-not-available,
- frequency-acquisition-not-supported,
- power-balancing-status-not-compatible,
- requested-typeofbearer-re-arrangement-not-supported,
- signalling-Bearer-Re-arrangement-not-supported,
- bearer-Re-arrangement-needed,
- delayed-activation-not-supported,
- rl-timing-adjustment-not-supported
-}
-
-CauseTransport ::= ENUMERATED {
- transport-resource-unavailable,
- unspecified,
- ...
-}
-
-CCTrCH-ID ::= INTEGER (0..15)
-
-CDSubChannelNumbers ::= BIT STRING {
- subCh11(0),
- subCh10(1),
- subCh9(2),
- subCh8(3),
- subCh7(4),
- subCh6(5),
- subCh5(6),
- subCh4(7),
- subCh3(8),
- subCh2(9),
- subCh1(10),
- subCh0(11)
- } (SIZE (12))
-
-CellParameterID ::= INTEGER (0..127,...)
-
-CellPortionID ::= INTEGER (0..maxNrOfCellPortionsPerCell-1,...)
-
-CellSyncBurstCode ::= INTEGER(0..7, ...)
-
-CellSyncBurstCodeShift ::= INTEGER(0..7)
-
-CellSyncBurstRepetitionPeriod ::= INTEGER (0..4095)
-
-CellSyncBurstSIR ::= INTEGER (0..31)
-
-CellSyncBurstTiming ::= CHOICE {
- initialPhase INTEGER (0..1048575,...),
- steadyStatePhase INTEGER (0..255,...)
-}
-
-CellSyncBurstTimingLCR ::= CHOICE {
- initialPhase INTEGER (0..524287,...),
- steadyStatePhase INTEGER (0..127,...)
-}
-
-CellSyncBurstTimingThreshold ::= INTEGER(0..254)
-
-CFN ::= INTEGER (0..255)
-
-Channel-Assignment-Indication ::= ENUMERATED {
- cA-Active,
- cA-Inactive
-}
-
-ChipOffset ::= INTEGER (0..38399)
--- Unit Chip
-
-C-ID ::= INTEGER (0..65535)
-
-Closedlooptimingadjustmentmode ::= ENUMERATED {
- adj-1-slot,
- adj-2-slot,
- ...
-}
-
-CommonChannelsCapacityConsumptionLaw ::= SEQUENCE (SIZE(1..maxNrOfSF)) OF
- SEQUENCE {
- dl-Cost INTEGER (0..65535),
- ul-Cost INTEGER (0..65535),
- iE-Extensions ProtocolExtensionContainer { { CommonChannelsCapacityConsumptionLaw-ExtIEs } } OPTIONAL,
- ...
-}
-
-CommonChannelsCapacityConsumptionLaw-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonMeasurementAccuracy ::= CHOICE {
- tUTRANGPSMeasurementAccuracyClass TUTRANGPSAccuracyClass,
- ...
-}
-
-CommonMeasurementType ::= ENUMERATED {
- received-total-wide-band-power,
- transmitted-carrier-power,
- acknowledged-prach-preambles,
- ul-timeslot-iscp,
- acknowledged-PCPCH-access-preambles,
- detected-PCPCH-access-preambles,
- ...,
- uTRAN-GPS-Timing-of-Cell-Frames-for-UE-Positioning,
- sFN-SFN-Observed-Time-Difference,
- transmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission,
- hS-DSCH-Required-Power,
- hS-DSCH-Provided-Bit-Rate
-}
-
-CommonMeasurementValue ::= CHOICE {
- transmitted-carrier-power Transmitted-Carrier-Power-Value,
- received-total-wide-band-power Received-total-wide-band-power-Value,
- acknowledged-prach-preambles Acknowledged-PRACH-preambles-Value,
- uL-TimeslotISCP UL-TimeslotISCP-Value,
- acknowledged-PCPCH-access-preambles Acknowledged-PCPCH-access-preambles,
- detected-PCPCH-access-preambles Detected-PCPCH-access-preambles,
- ...,
- extension-CommonMeasurementValue Extension-CommonMeasurementValue
-}
-
-Extension-CommonMeasurementValue ::= ProtocolIE-Single-Container {{ Extension-CommonMeasurementValueIE }}
-
-Extension-CommonMeasurementValueIE NBAP-PROTOCOL-IES ::= {
- { ID id-TUTRANGPSMeasurementValueInformation CRITICALITY ignore TYPE TUTRANGPSMeasurementValueInformation PRESENCE mandatory }|
- { ID id-SFNSFNMeasurementValueInformation CRITICALITY ignore TYPE SFNSFNMeasurementValueInformation PRESENCE mandatory }|
- { ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission CRITICALITY ignore TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmissionValue PRESENCE mandatory }|
- { ID id-HS-DSCHRequiredPower CRITICALITY ignore TYPE HS-DSCHRequiredPower PRESENCE mandatory }|
- { ID id-HS-DSCHProvidedBitRate CRITICALITY ignore TYPE HS-DSCHProvidedBitRate PRESENCE mandatory }
-}
-
-CommonMeasurementValueInformation ::= CHOICE {
- measurementAvailable CommonMeasurementAvailable,
- measurementnotAvailable CommonMeasurementnotAvailable
-}
-
-CommonMeasurementAvailable::= SEQUENCE {
- commonmeasurementValue CommonMeasurementValue,
- ie-Extensions ProtocolExtensionContainer { { CommonMeasurementAvailableItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommonMeasurementAvailableItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-CommonMeasurementnotAvailable ::= NULL
-
-CommonPhysicalChannelID ::= INTEGER (0..255)
-
-Common-PhysicalChannel-Status-Information ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer { { Common-PhysicalChannel-Status-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-Common-PhysicalChannel-Status-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonTransportChannelID ::= INTEGER (0..255)
-
-CommonTransportChannel-InformationResponse ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CommonTransportChannel-InformationResponse-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommonTransportChannel-InformationResponse-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Common-TransportChannel-Status-Information ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer { { Common-TransportChannel-Status-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-Common-TransportChannel-Status-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommunicationControlPortID ::= INTEGER (0..65535)
-
-Compressed-Mode-Deactivation-Flag::= ENUMERATED {
- deactivate,
- maintain-Active
-}
-
-ConfigurationGenerationID ::= INTEGER (0..255)
--- Value '0' means "No configuration"
-
-ConstantValue ::= INTEGER (-10..10,...)
--- -10 dB - +10 dB
--- unit dB
--- step 1 dB
-
-CPCH-Allowed-Total-Rate ::= ENUMERATED {
- v15,
- v30,
- v60,
- v120,
- v240,
- v480,
- v960,
- v1920,
- v2880,
- v3840,
- v4800,
- v5760,
- ...
-}
-
-CPCHScramblingCodeNumber ::= INTEGER (0..79)
-
-CPCH-UL-DPCCH-SlotFormat ::= INTEGER (0..2,...)
-
-CQI-Feedback-Cycle ::= ENUMERATED {v0, v2, v4, v8, v10, v20, v40, v80, v160,...}
-
-CQI-Power-Offset ::= INTEGER (0..8,...)
--- According to mapping in ref. [9] subclause 4.2.1
-
-CQI-RepetitionFactor ::= INTEGER (1..4,...)
--- Step: 1
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureID ProcedureID OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- procedureCriticality Criticality OPTIONAL,
- transactionID TransactionID OPTIONAL,
- iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
- SEQUENCE {
- iECriticality Criticality,
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber0 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
- ...
- }
-
-CriticalityDiagnostics-IE-List-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }|
- { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
- ...
-}
-
-CRNC-CommunicationContextID ::= INTEGER (0..1048575)
-
-CSBMeasurementID ::= INTEGER (0..65535)
-
-CSBTransmissionID ::= INTEGER (0..65535)
-
--- ==========================================
--- D
--- ==========================================
-
-DATA-ID ::= INTEGER (0..3)
-
-DCH-ID ::= INTEGER (0..255)
-
-DCH-FDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-FDD-InformationItem
-
-DCH-FDD-InformationItem ::= SEQUENCE {
- payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
- ul-FP-Mode UL-FP-Mode,
- toAWS ToAWS,
- toAWE ToAWE,
- dCH-SpecificInformationList DCH-Specific-FDD-InformationList,
- iE-Extensions ProtocolExtensionContainer { { DCH-FDD-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-FDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
- ...
-}
-
-DCH-Specific-FDD-InformationList ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-Specific-FDD-Item
-
-DCH-Specific-FDD-Item ::= SEQUENCE {
- dCH-ID DCH-ID,
- ul-TransportFormatSet TransportFormatSet,
- dl-TransportFormatSet TransportFormatSet,
- allocationRetentionPriority AllocationRetentionPriority,
- frameHandlingPriority FrameHandlingPriority,
- qE-Selector QE-Selector,
- iE-Extensions ProtocolExtensionContainer { { DCH-Specific-FDD-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-Specific-FDD-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Unidirectional-DCH-Indicator CRITICALITY reject EXTENSION Unidirectional-DCH-Indicator PRESENCE optional },
- ...
-}
-
-DCH-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-InformationResponseItem
-
-DCH-InformationResponseItem ::= SEQUENCE {
- dCH-ID DCH-ID,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DCH-InformationResponseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-InformationResponseItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-TDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-TDD-InformationItem
-
-DCH-TDD-InformationItem ::= SEQUENCE {
- payloadCRC-PresenceIndicator PayloadCRC-PresenceIndicator,
- ul-FP-Mode UL-FP-Mode,
- toAWS ToAWS,
- toAWE ToAWE,
- dCH-SpecificInformationList DCH-Specific-TDD-InformationList,
- iE-Extensions ProtocolExtensionContainer { { DCH-TDD-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-TDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
- ...
-}
-
-DCH-Specific-TDD-InformationList ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-Specific-TDD-Item
-
-DCH-Specific-TDD-Item ::= SEQUENCE {
- dCH-ID DCH-ID,
- ul-CCTrCH-ID CCTrCH-ID,
- dl-CCTrCH-ID CCTrCH-ID,
- ul-TransportFormatSet TransportFormatSet,
- dl-TransportFormatSet TransportFormatSet,
- allocationRetentionPriority AllocationRetentionPriority,
- frameHandlingPriority FrameHandlingPriority,
- qE-Selector QE-Selector OPTIONAL,
- -- This IE shall be present if DCH is part of set of Coordinated DCHs
- iE-Extensions ProtocolExtensionContainer { { DCH-Specific-TDD-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-Specific-TDD-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Unidirectional-DCH-Indicator CRITICALITY reject EXTENSION Unidirectional-DCH-Indicator PRESENCE optional },
- ...
-}
-
-FDD-DCHs-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF FDD-DCHs-to-ModifyItem
-
-FDD-DCHs-to-ModifyItem ::= SEQUENCE {
- ul-FP-Mode UL-FP-Mode OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- dCH-SpecificInformationList DCH-ModifySpecificInformation-FDD,
- iE-Extensions ProtocolExtensionContainer { { FDD-DCHs-to-ModifyItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-FDD-DCHs-to-ModifyItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
- ...
-}
-
-DCH-ModifySpecificInformation-FDD::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-ModifySpecificItem-FDD
-
-DCH-ModifySpecificItem-FDD::= SEQUENCE {
- dCH-ID DCH-ID,
- ul-TransportFormatSet TransportFormatSet OPTIONAL,
- dl-TransportFormatSet TransportFormatSet OPTIONAL,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- frameHandlingPriority FrameHandlingPriority OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DCH-ModifySpecificItem-FDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-ModifySpecificItem-FDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-TDD-DCHs-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-ModifyItem-TDD
-
-DCH-ModifyItem-TDD ::= SEQUENCE {
- ul-FP-Mode UL-FP-Mode OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- dCH-SpecificInformationList DCH-ModifySpecificInformation-TDD,
- iE-Extensions ProtocolExtensionContainer { { TDD-DCHs-to-ModifyItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-DCHs-to-ModifyItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional},
- ...
-}
-
-DCH-ModifySpecificInformation-TDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-ModifySpecificItem-TDD
-
-DCH-ModifySpecificItem-TDD ::= SEQUENCE {
- dCH-ID DCH-ID,
- ul-CCTrCH-ID CCTrCH-ID OPTIONAL,
- dl-CCTrCH-ID CCTrCH-ID OPTIONAL,
- ul-TransportFormatSet TransportFormatSet OPTIONAL,
- dl-TransportFormatSet TransportFormatSet OPTIONAL,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- frameHandlingPriority FrameHandlingPriority OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DCH-ModifySpecificItem-TDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-ModifySpecificItem-TDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DedicatedChannelsCapacityConsumptionLaw ::= SEQUENCE ( SIZE(1..maxNrOfSF) ) OF
- SEQUENCE {
- dl-Cost-1 INTEGER (0..65535),
- dl-Cost-2 INTEGER (0..65535),
- ul-Cost-1 INTEGER (0..65535),
- ul-Cost-2 INTEGER (0..65535),
- iE-Extensions ProtocolExtensionContainer { { DedicatedChannelsCapacityConsumptionLaw-ExtIEs } } OPTIONAL,
- ...
-}
-
-DedicatedChannelsCapacityConsumptionLaw-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DedicatedMeasurementType ::= ENUMERATED {
- sir,
- sir-error,
- transmitted-code-power,
- rscp,
- rx-timing-deviation,
- round-trip-time,
- ...,
- rx-timing-deviation-LCR,
- angle-Of-Arrival-LCR,
- hs-sich-quality,
- best-Cell-Portions
-
-}
-
-DedicatedMeasurementValue ::= CHOICE {
- sIR-Value SIR-Value,
- sIR-ErrorValue SIR-Error-Value,
- transmittedCodePowerValue Transmitted-Code-Power-Value,
- rSCP RSCP-Value,
- rxTimingDeviationValue Rx-Timing-Deviation-Value,
- roundTripTime Round-Trip-Time-Value,
- ...,
- extension-DedicatedMeasurementValue Extension-DedicatedMeasurementValue
-}
-
-Extension-DedicatedMeasurementValue ::= ProtocolIE-Single-Container {{ Extension-DedicatedMeasurementValueIE }}
-
-Extension-DedicatedMeasurementValueIE NBAP-PROTOCOL-IES ::= {
- { ID id-Rx-Timing-Deviation-Value-LCR CRITICALITY reject TYPE Rx-Timing-Deviation-Value-LCR PRESENCE mandatory }|
- { ID id-Angle-Of-Arrival-Value-LCR CRITICALITY reject TYPE Angle-Of-Arrival-Value-LCR PRESENCE mandatory }|
- { ID id-HS-SICH-Reception-Quality CRITICALITY reject TYPE HS-SICH-Reception-Quality-Value PRESENCE mandatory }|
- { ID id-Best-Cell-Portions-Value CRITICALITY reject TYPE Best-Cell-Portions-Value PRESENCE mandatory },
- ...
-}
-
-DedicatedMeasurementValueInformation ::= CHOICE {
- measurementAvailable DedicatedMeasurementAvailable,
- measurementnotAvailable DedicatedMeasurementnotAvailable
-}
-
-DedicatedMeasurementAvailable::= SEQUENCE {
- dedicatedmeasurementValue DedicatedMeasurementValue,
- cFN CFN OPTIONAL,
- ie-Extensions ProtocolExtensionContainer { { DedicatedMeasurementAvailableItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DedicatedMeasurementAvailableItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DedicatedMeasurementnotAvailable ::= NULL
-
-DelayedActivation ::= CHOICE {
- cfn CFN,
- separate-indication NULL
-}
-
-DelayedActivationUpdate ::= CHOICE {
- activate Activate-Info,
- deactivate Deactivate-Info
-}
-
-Activate-Info ::= SEQUENCE {
- activation-type Execution-Type,
- initial-dl-tx-power DL-Power,
- firstRLS-Indicator FirstRLS-Indicator OPTIONAL, --FDD Only
- propagation-delay PropagationDelay OPTIONAL, --FDD Only
- iE-Extensions ProtocolExtensionContainer { { Activate-Info-ExtIEs} } OPTIONAL,
- ...
-}
-
-Activate-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Deactivate-Info ::= SEQUENCE {
- deactivation-type Execution-Type,
- iE-Extensions ProtocolExtensionContainer { { Deactivate-Info-ExtIEs} } OPTIONAL,
- ...
-}
-
-Deactivate-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Execution-Type ::= CHOICE {
- synchronised CFN,
- unsynchronised NULL
-}
-
-Detected-PCPCH-access-preambles ::= INTEGER (0..240,...)
--- According to mapping in [22].
-
-DeltaSIR ::= INTEGER (0..30)
--- Unit dB, Step 0.1 dB, Range 0..3 dB.
-
-DGPSCorrections ::= SEQUENCE {
- gpstow GPSTOW,
- status-health GPS-Status-Health,
- satelliteinfo SAT-Info-DGPSCorrections,
- ie-Extensions ProtocolExtensionContainer { { DGPSCorrections-ExtIEs} } OPTIONAL,
- ...
-}
-
-DGPSCorrections-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DGPSThresholds ::= SEQUENCE {
- prcdeviation PRCDeviation,
- ie-Extensions ProtocolExtensionContainer { { DGPSThresholds-ExtIEs} } OPTIONAL,
- ...
-}
-
-DGPSThresholds-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DiscardTimer ::= ENUMERATED {v20,v40,v60,v80,v100,v120,v140,v160,v180,v200,v250,v300,v400,v500,v750,v1000,v1250,v1500,v1750,v2000,v2500,v3000,v3500,v4000,v4500,v5000,v7500,
- ...
-}
-
-DiversityControlField ::= ENUMERATED {
- may,
- must,
- must-not,
- ...
-}
-
-DiversityMode ::= ENUMERATED {
- none,
- sTTD,
- closed-loop-mode1,
- closed-loop-mode2,
- ...
-}
-
-DL-DPCH-SlotFormat ::= INTEGER (0..16,...)
-
-DL-DPCH-TimingAdjustment ::= ENUMERATED {
- timing-advance,
- timing-delay
-}
-
-DL-Timeslot-Information ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-InformationItem
-
-DL-Timeslot-InformationItem ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tFCI-Presence TFCI-Presence,
- dL-Code-Information TDD-DL-Code-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-TimeslotLCR-Information ::= SEQUENCE (SIZE (1.. maxNrOfDLTSLCRs)) OF DL-TimeslotLCR-InformationItem
-
-DL-TimeslotLCR-InformationItem ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tFCI-Presence TFCI-Presence,
- dL-Code-LCR-Information TDD-DL-Code-LCR-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-TimeslotLCR-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-TimeslotLCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Initial-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-Maximum-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-Minimum-DL-Power-TimeslotLCR-InformationItem CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
- -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-DL-FrameType ::= ENUMERATED {
- typeA,
- typeB,
- ...
-}
-
-DL-or-Global-CapacityCredit ::= INTEGER (0..65535)
-
-DL-Power ::= INTEGER (-350..150)
--- Value = DL-Power/10
--- Unit dB, Range -35dB .. +15dB, Step +0.1dB
-
-DLPowerAveragingWindowSize ::= INTEGER (1..60)
-
-DL-PowerBalancing-Information ::= SEQUENCE {
- powerAdjustmentType PowerAdjustmentType,
- dLReferencePower DL-Power OPTIONAL,
- -- This IE shall be present if Power Adjustment Type IE equals to 'Common'
- dLReferencePowerList-DL-PC-Rqst DL-ReferencePowerInformationList OPTIONAL,
- -- This IE shall be present if Power Adjustment Type IE equals to 'Individual'
- maxAdjustmentStep MaxAdjustmentStep OPTIONAL,
- -- This IE shall be present if Power Adjustment Type IE equals to 'Common' or 'Individual'
- adjustmentPeriod AdjustmentPeriod OPTIONAL,
- -- This IE shall be present if Power Adjustment Type IE equals to 'Common' or 'Individual'
- adjustmentRatio ScaledAdjustmentRatio OPTIONAL,
- -- This IE shall be present if Power Adjustment Type IE equals to 'Common' or 'Individual'
- iE-Extensions ProtocolExtensionContainer { { DL-PowerBalancing-Information-ExtIEs } } OPTIONAL,
- ...
-}
-
-DL-PowerBalancing-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-ReferencePowerInformationList ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF DL-ReferencePowerInformationItem
-
-DL-ReferencePowerInformationItem ::= SEQUENCE {
- rL-ID RL-ID,
- dl-Reference-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { {DL-ReferencePowerInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-ReferencePowerInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-PowerBalancing-ActivationIndicator ::= ENUMERATED {
- dL-PowerBalancing-Activated
-}
-
-DL-PowerBalancing-UpdatedIndicator ::= ENUMERATED {
- dL-PowerBalancing-Updated
-}
-
-DL-ScramblingCode ::= INTEGER (0..15)
--- 0= Primary scrambling code of the cell, 1..15= Secondary scrambling code --
-
-DL-TimeslotISCP ::= INTEGER (0..91)
-
-DL-TimeslotISCPInfo ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-TimeslotISCPInfoItem
-
-DL-TimeslotISCPInfoItem ::= SEQUENCE {
- timeSlot TimeSlot,
- dL-TimeslotISCP DL-TimeslotISCP,
- iE-Extensions ProtocolExtensionContainer { {DL-TimeslotISCPInfoItem-ExtIEs} } OPTIONAL,
- ...
- }
-
-DL-TimeslotISCPInfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-TimeslotISCPInfoLCR ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-TimeslotISCPInfoItemLCR
-
-DL-TimeslotISCPInfoItemLCR ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- dL-TimeslotISCP DL-TimeslotISCP,
- iE-Extensions ProtocolExtensionContainer { {DL-TimeslotISCPInfoItemLCR-ExtIEs} } OPTIONAL,
- ...
- }
-
-DL-TimeslotISCPInfoItemLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-TPC-Pattern01Count ::= INTEGER (0..30,...)
-
-Downlink-Compressed-Mode-Method ::= ENUMERATED {
- puncturing,
- sFdiv2,
- higher-layer-scheduling,
- ...
-}
-
-DPC-Mode ::= ENUMERATED {
- mode0,
- mode1,
- ...
-}
-
-DPCH-ID ::= INTEGER (0..239)
-
-DSCH-ID ::= INTEGER (0..255)
-
-DSCH-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-InformationResponseItem
-
-DSCH-InformationResponseItem ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DSCH-InformationResponseItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-DSCH-InformationResponseItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-FDD-Common-Information ::= SEQUENCE {
- enhancedDSCHPCIndicator EnhancedDSCHPCIndicator OPTIONAL,
- enhancedDSCHPC EnhancedDSCHPC OPTIONAL,
- -- The IE shall be present if the Enhanced DSCH PC Indicator IE is set to "Enhanced DSCH PC Active in the UE".
- iE-Extensions ProtocolExtensionContainer { { DSCH-FDD-Common-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-FDD-Common-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-FDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-FDD-InformationItem
-
-DSCH-FDD-InformationItem ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- transportFormatSet TransportFormatSet,
- allocationRetentionPriority AllocationRetentionPriority,
- frameHandlingPriority FrameHandlingPriority,
- toAWS ToAWS,
- toAWE ToAWE,
- iE-Extensions ProtocolExtensionContainer { { DSCH-FDD-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-FDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-DSCH-TDD-Information ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-TDD-InformationItem
-
-DSCH-TDD-InformationItem ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- cCTrCH-ID CCTrCH-ID,
- transportFormatSet TransportFormatSet,
- allocationRetentionPriority AllocationRetentionPriority,
- frameHandlingPriority FrameHandlingPriority,
- toAWS ToAWS,
- toAWE ToAWE,
- iE-Extensions ProtocolExtensionContainer { { DSCH-TDD-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-TDD-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- -- Shall be ignored if bearer establishment with ALCAP.
- ...
-}
-
-DsField ::= BIT STRING (SIZE (8))
-
-DwPCH-Power ::= INTEGER (-150..400,...)
--- DwPCH-power = power * 10
--- If power <= -15 DwPCH shall be set to -150
--- If power >= 40 DwPCH shall be set to 400
--- Unit dBm, Range -15dBm .. +40 dBm, Step +0.1dB
-
-
--- ==========================================
--- E
--- ==========================================
-
-End-Of-Audit-Sequence-Indicator ::= ENUMERATED {
- end-of-audit-sequence,
- not-end-of-audit-sequence
-}
-
-EnhancedDSCHPC ::= SEQUENCE {
- enhancedDSCHPCWnd EnhancedDSCHPCWnd,
- enhancedDSCHPCCounter EnhancedDSCHPCCounter,
- enhancedDSCHPowerOffset EnhancedDSCHPowerOffset,
- ...
-}
-
-EnhancedDSCHPCCounter ::= INTEGER (1..50)
-
-EnhancedDSCHPCIndicator ::= ENUMERATED {
- enhancedDSCHPCActiveInTheUE,
- enhancedDSCHPCNotActiveInTheUE
-}
-
-EnhancedDSCHPCWnd ::= INTEGER (1..10)
-
-EnhancedDSCHPowerOffset ::= INTEGER (-15..0)
-
--- ==========================================
--- F
--- ==========================================
-
-FDD-DL-ChannelisationCodeNumber ::= INTEGER(0.. 511)
--- According to the mapping in [9]. The maximum value is equal to the DL spreading factor -1--
-
-FDD-DL-CodeInformation ::= SEQUENCE (SIZE (1..maxNrOfCodes)) OF FDD-DL-CodeInformationItem
-
-FDD-DL-CodeInformationItem ::= SEQUENCE {
- dl-ScramblingCode DL-ScramblingCode,
- fdd-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- transmissionGapPatternSequenceCodeInformation TransmissionGapPatternSequenceCodeInformation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { FDD-DL-CodeInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-FDD-DL-CodeInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FDD-S-CCPCH-Offset ::= INTEGER (0..149)
--- 0: 0 chip, 1: 256 chip, 2: 512 chip, .. ,149: 38144 chip [7] --
-
-FDD-TPC-DownlinkStepSize ::= ENUMERATED {
- step-size0-5,
- step-size1,
- step-size1-5,
- step-size2,
- ...
-}
-
-FirstRLS-Indicator ::= ENUMERATED {
- first-RLS,
- not-first-RLS,
- ...
-}
-
-FNReportingIndicator ::= ENUMERATED {
- fN-reporting-required,
- fN-reporting-not-required
-}
-
-FrameHandlingPriority ::= INTEGER (0..15)
--- 0=lowest priority, 15=highest priority --
-
-FrameAdjustmentValue ::= INTEGER(0..4095)
-
-FrameOffset ::= INTEGER (0..255)
-
-FPACH-Power ::= INTEGER (-150..400,...) -- FPACH-power = power * 10
--- If power <= -15 FPACH shall be set to -150
--- If power >= 40 FPACH shall be set to 400
--- Unit dBm, Range -15dBm .. +40 dBm, Step +0.1dB
-
--- ==========================================
--- G
--- ==========================================
-
-GapLength ::= INTEGER (1..14)
--- Unit slot
-
-GapDuration ::= INTEGER (1..144,...)
--- Unit frame
-
-GenericTrafficCategory ::= BIT STRING (SIZE (8))
-
-GPS-Almanac ::= SEQUENCE {
- wna-alm BIT STRING (SIZE (8)),
- sat-info-almanac SAT-Info-Almanac,
- sVGlobalHealth-alm BIT STRING (SIZE (364)) OPTIONAL,
- ie-Extensions ProtocolExtensionContainer { { GPS-Almanac-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPS-Almanac-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SAT-Info-Almanac-ExtItem CRITICALITY ignore EXTENSION SAT-Info-Almanac-ExtList PRESENCE optional},
- ...
-}
-
-GPS-Ionospheric-Model ::= SEQUENCE {
- alpha-zero-ionos BIT STRING (SIZE (8)),
- alpha-one-ionos BIT STRING (SIZE (8)),
- alpha-two-ionos BIT STRING (SIZE (8)),
- alpha-three-ionos BIT STRING (SIZE (8)),
- beta-zero-ionos BIT STRING (SIZE (8)),
- beta-one-ionos BIT STRING (SIZE (8)),
- beta-two-ionos BIT STRING (SIZE (8)),
- beta-three-ionos BIT STRING (SIZE (8)),
- ie-Extensions ProtocolExtensionContainer { { GPS-Ionospheric-Model-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPS-Ionospheric-Model-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GPS-Information ::= SEQUENCE (SIZE (0..maxNoGPSItems)) OF GPS-Information-Item
--- This IE shall be present if the Information Type Item IE indicates 'GPS Information'
-
-GPS-Information-Item ::= ENUMERATED {
- gps-navigation-model-and-time-recovery,
- gps-ionospheric-model,
- gps-utc-model,
- gps-almanac,
- gps-rt-integrity,
- ...
-}
-
-GPS-RealTime-Integrity ::= CHOICE {
- bad-satellites GPSBadSat-Info-RealTime-Integrity,
- no-bad-satellites NULL
-}
-
-GPSBadSat-Info-RealTime-Integrity ::= SEQUENCE {
- sat-info SATInfo-RealTime-Integrity,
- ie-Extensions ProtocolExtensionContainer { { GPSBadSat-Info-RealTime-Integrity-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPSBadSat-Info-RealTime-Integrity-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GPS-NavigationModel-and-TimeRecovery ::= SEQUENCE (SIZE (1..maxNoSat)) OF GPS-NavandRecovery-Item
-
-GPS-NavandRecovery-Item ::= SEQUENCE {
- tx-tow-nav INTEGER (0..1048575),
- sat-id-nav SAT-ID,
- tlm-message-nav BIT STRING (SIZE (14)),
- tlm-revd-c-nav BIT STRING (SIZE (2)),
- ho-word-nav BIT STRING (SIZE (22)),
- w-n-nav BIT STRING (SIZE (10)),
- ca-or-p-on-l2-nav BIT STRING (SIZE (2)),
- user-range-accuracy-index-nav BIT STRING (SIZE (4)),
- sv-health-nav BIT STRING (SIZE (6)),
- iodc-nav BIT STRING (SIZE (10)),
- l2-p-dataflag-nav BIT STRING (SIZE (1)),
- sf1-reserved-nav BIT STRING (SIZE (87)),
- t-gd-nav BIT STRING (SIZE (8)),
- t-oc-nav BIT STRING (SIZE (16)),
- a-f-2-nav BIT STRING (SIZE (8)),
- a-f-1-nav BIT STRING (SIZE (16)),
- a-f-zero-nav BIT STRING (SIZE (22)),
- c-rs-nav BIT STRING (SIZE (16)),
- delta-n-nav BIT STRING (SIZE (16)),
- m-zero-nav BIT STRING (SIZE (32)),
- c-uc-nav BIT STRING (SIZE (16)),
- gps-e-nav BIT STRING (SIZE (32)),
- c-us-nav BIT STRING (SIZE (16)),
- a-sqrt-nav BIT STRING (SIZE (32)),
- t-oe-nav BIT STRING (SIZE (16)),
- fit-interval-flag-nav BIT STRING (SIZE (1)),
- aodo-nav BIT STRING (SIZE (5)),
- c-ic-nav BIT STRING (SIZE (16)),
- omega-zero-nav BIT STRING (SIZE (32)),
- c-is-nav BIT STRING (SIZE (16)),
- i-zero-nav BIT STRING (SIZE (32)),
- c-rc-nav BIT STRING (SIZE (16)),
- gps-omega-nav BIT STRING (SIZE (32)),
- omegadot-nav BIT STRING (SIZE (24)),
- idot-nav BIT STRING (SIZE (14)),
- spare-zero-fill BIT STRING (SIZE (20)),
- ie-Extensions ProtocolExtensionContainer { { GPS-NavandRecovery-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPS-NavandRecovery-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-GPS-RX-POS ::= SEQUENCE {
- latitudeSign ENUMERATED {north, south},
- latitude INTEGER (0..8388607),
- longitude INTEGER (-8388608..8388607),
- directionOfAltitude ENUMERATED {height, depth},
- altitude INTEGER (0..32767),
- iE-Extensions ProtocolExtensionContainer { { GPS-RX-POS-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPS-RX-POS-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GPS-Status-Health ::= ENUMERATED {
- udre-scale-1dot0,
- udre-scale-0dot75,
- udre-scale-0dot5,
- udre-scale-0dot3,
- udre-scale-0dot1,
- no-data,
- invalid-data
-}
-
-GPSTOW ::= INTEGER (0..604799)
-
-GPS-UTC-Model ::= SEQUENCE {
- a-one-utc BIT STRING (SIZE (24)),
- a-zero-utc BIT STRING (SIZE (32)),
- t-ot-utc BIT STRING (SIZE (8)),
- delta-t-ls-utc BIT STRING (SIZE (8)),
- w-n-t-utc BIT STRING (SIZE (8)),
- w-n-lsf-utc BIT STRING (SIZE (8)),
- dn-utc BIT STRING (SIZE (8)),
- delta-t-lsf-utc BIT STRING (SIZE (8)),
- ie-Extensions ProtocolExtensionContainer { { GPS-UTC-Model-ExtIEs} } OPTIONAL,
- ...
-}
-
-GPS-UTC-Model-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- ==========================================
--- H
--- ==========================================
-
-
-HARQ-MemoryPartitioning ::= CHOICE {
- implicit HARQ-MemoryPartitioning-Implicit,
- explicit HARQ-MemoryPartitioning-Explicit,
- ...
- }
-
-HARQ-MemoryPartitioning-Implicit ::= SEQUENCE {
- number-of-Processes INTEGER (1..8,...),
- iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioning-Implicit-ExtIEs } } OPTIONAL,
- ...
-}
-
-HARQ-MemoryPartitioning-Implicit-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HARQ-MemoryPartitioning-Explicit ::= SEQUENCE {
- hARQ-MemoryPartitioningList HARQ-MemoryPartitioningList,
- iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioning-Explicit-ExtIEs } } OPTIONAL,
- ...
-}
-
-HARQ-MemoryPartitioning-Explicit-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HARQ-MemoryPartitioningList ::= SEQUENCE (SIZE (1..maxNrOfHARQProcesses)) OF HARQ-MemoryPartitioningItem
-
-HARQ-MemoryPartitioningItem ::= SEQUENCE {
- process-Memory-Size ENUMERATED {
- hms800, hms1600, hms2400, hms3200, hms4000,
- hms4800, hms5600, hms6400, hms7200, hms8000,
- hms8800, hms9600, hms10400, hms11200, hms12000,
- hms12800, hms13600, hms14400, hms15200, hms16000,
- hms17600, hms19200, hms20800, hms22400, hms24000,
- hms25600, hms27200, hms28800, hms30400, hms32000,
- hms36000, hms40000, hms44000, hms48000, hms52000,
- hms56000, hms60000, hms64000, hms68000, hms72000,
- hms76000, hms80000, hms88000, hms96000, hms104000,
- hms112000, hms120000, hms128000, hms136000, hms144000,
- hms152000, hms160000, hms176000, hms192000, hms208000,
- hms224000, hms240000, hms256000, hms272000, hms288000,
- hms304000,...},
- iE-Extensions ProtocolExtensionContainer { { HARQ-MemoryPartitioningItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-HARQ-MemoryPartitioningItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDPA-Capability ::= ENUMERATED {hsdpa-capable, hsdpa-non-capable}
-
-HS-DSCHProvidedBitRate ::= SEQUENCE (SIZE (1..maxNrOfPriorityClasses)) OF HS-DSCHProvidedBitRate-Item
-
-HS-DSCHProvidedBitRate-Item ::= SEQUENCE {
- schedulingPriorityIndicator SchedulingPriorityIndicator,
- hS-DSCHProvidedBitRateValue HS-DSCHProvidedBitRateValue,
- iE-Extensions ProtocolExtensionContainer { { HS-DSCHProvidedBitRate-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-DSCHProvidedBitRate-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-DSCHProvidedBitRateValue ::= INTEGER(0..16777215,...)
--- Unit bit/s, Range 0..2^24-1, Step 1 bit
-
-
-HS-DSCHRequiredPower ::= SEQUENCE (SIZE (1..maxNrOfPriorityClasses)) OF HS-DSCHRequiredPower-Item
-
-HS-DSCHRequiredPower-Item ::= SEQUENCE {
- schedulingPriorityIndicator SchedulingPriorityIndicator,
- hS-DSCHRequiredPowerValue HS-DSCHRequiredPowerValue,
- hS-DSCHRequiredPowerPerUEInformation HS-DSCHRequiredPowerPerUEInformation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-DSCHRequiredPower-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-DSCHRequiredPower-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-DSCHRequiredPowerValue ::= INTEGER(0..1000)
--- Unit %, Range 0 ..1000, Step 0.1%
-
-HS-DSCHRequiredPowerPerUEInformation ::= SEQUENCE (SIZE (1.. maxNrOfContextsOnUeList)) OF HS-DSCHRequiredPowerPerUEInformation-Item
-
-
-HS-DSCHRequiredPowerPerUEInformation-Item ::= SEQUENCE {
- cRNC-CommunicationContextID CRNC-CommunicationContextID,
- hS-DSCHRequiredPowerPerUEWeight HS-DSCHRequiredPowerPerUEWeight OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-DSCHRequiredPowerPerUEInformation-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-DSCHRequiredPowerPerUEInformation-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-DSCHRequiredPowerPerUEWeight ::= INTEGER(0..100)
--- Unit %, Range 0 ..100, Step 1%
-
-
-HSDSCH-FDD-Information ::= SEQUENCE {
- hSDSCH-MACdFlows-Information HSDSCH-MACdFlows-Information,
- ueCapability-Info UE-Capability-Information,
- mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM,
- cqiFeedback-CycleK CQI-Feedback-Cycle,
- cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL,
- -- This IE shall be present if the CQI Feedback Cycle k is greater than 0
- ackNackRepetitionFactor AckNack-RepetitionFactor,
- cqiPowerOffset CQI-Power-Offset,
- ackPowerOffset Ack-Power-Offset,
- nackPowerOffset Nack-Power-Offset,
- hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL,
- measurement-Power-Offset Measurement-Power-Offset OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-FDD-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-TDD-Information ::= SEQUENCE {
- hSDSCH-MACdFlows-Information HSDSCH-MACdFlows-Information,
- ueCapability-Info UE-Capability-Information,
- mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM,
- tDD-AckNack-Power-Offset TDD-AckNack-Power-Offset,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-TDD-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-HSDSCH-Information-to-Modify ::= SEQUENCE {
- hsDSCH-MACdFlow-Specific-Info-to-Modify HSDSCH-MACdFlow-Specific-InfoList-to-Modify OPTIONAL,
- priorityQueueInfotoModify PriorityQueue-InfoList-to-Modify OPTIONAL,
- mAChs-Reordering-Buffer-Size-for-RLC-UM MAChsReorderingBufferSize-for-RLC-UM OPTIONAL,
- cqiFeedback-CycleK CQI-Feedback-Cycle OPTIONAL, -- For FDD only
- cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL, -- For FDD only
- ackNackRepetitionFactor AckNack-RepetitionFactor OPTIONAL, -- For FDD only
- cqiPowerOffset CQI-Power-Offset OPTIONAL, -- For FDD only
- ackPowerOffset Ack-Power-Offset OPTIONAL, -- For FDD only
- nackPowerOffset Nack-Power-Offset OPTIONAL, -- For FDD only
- hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL, -- For FDD only
- measurement-Power-Offset Measurement-Power-Offset OPTIONAL, -- For FDD only
- hSSCCHCodeChangeGrant HSSCCH-Code-Change-Grant OPTIONAL,
- tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL, -- For TDD only
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-Information-to-Modify-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-Information-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InfoList-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InfoItem-to-Modify
-
-HSDSCH-MACdFlow-Specific-InfoItem-to-Modify ::= SEQUENCE {
- hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InfoItem-to-Modify-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InfoItem-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-Information-to-Modify-Unsynchronised ::= SEQUENCE {
- hsDSCH-MACdFlow-Specific-Info-to-Modify HSDSCH-MACdFlow-Specific-InfoList-to-Modify OPTIONAL,
- priorityQueueInfotoModifyUnsynchronised PriorityQueue-InfoList-to-Modify-Unsynchronised OPTIONAL,
- cqiPowerOffset CQI-Power-Offset OPTIONAL, -- For FDD only
- ackPowerOffset Ack-Power-Offset OPTIONAL, -- For FDD only
- nackPowerOffset Nack-Power-Offset OPTIONAL, -- For FDD only
- hsscch-PowerOffset HSSCCH-PowerOffset OPTIONAL, -- For FDD only
- tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL, -- For TDD only
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-Information-to-Modify-Unsynchronised-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-Information-to-Modify-Unsynchronised-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-FDD-Information-Response ::= SEQUENCE {
- hsDSCH-MACdFlow-Specific-InformationResp HSDSCH-MACdFlow-Specific-InformationResp OPTIONAL,
- hsSCCH-Specific-Information-ResponseFDD HSSCCH-Specific-InformationRespListFDD OPTIONAL,
- hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Information-Response-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-FDD-Information-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-TDD-Information-Response ::= SEQUENCE {
- hsDSCH-MACdFlow-Specific-InformationResp HSDSCH-MACdFlow-Specific-InformationResp OPTIONAL,
- hsSCCH-Specific-Information-ResponseTDD HSSCCH-Specific-InformationRespListTDD OPTIONAL, -- Not Applicable to 1.28Mcps TDD
- hsSCCH-Specific-Information-ResponseTDDLCR HSSCCH-Specific-InformationRespListTDDLCR OPTIONAL, -- Not Applicable to 3.84Mcps TDD
- hARQ-MemoryPartitioning HARQ-MemoryPartitioning OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Information-Response-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-TDD-Information-Response-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InformationResp ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InformationResp-Item
-
-HSDSCH-MACdFlow-Specific-InformationResp-Item ::= SEQUENCE {
- hsDSCHMacdFlow-Id HSDSCH-MACdFlow-ID,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- hSDSCH-Initial-Capacity-Allocation HSDSCH-Initial-Capacity-Allocation OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InformationRespItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InformationRespItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-MACdFlows-Information ::= SEQUENCE {
- hSDSCH-MACdFlow-Specific-Info HSDSCH-MACdFlow-Specific-InfoList,
- priorityQueue-Info PriorityQueue-InfoList,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlows-Information-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-MACdFlows-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InfoList ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlow-Specific-InfoItem
-
-HSDSCH-MACdFlow-Specific-InfoItem ::= SEQUENCE {
- hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
- allocationRetentionPriority AllocationRetentionPriority,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlow-Specific-InfoItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-MACdFlow-Specific-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-MACdFlows-to-Delete ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-MACdFlows-to-Delete-Item
-
-HSDSCH-MACdFlows-to-Delete-Item ::= SEQUENCE {
- hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-MACdFlows-to-Delete-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-MACdFlows-to-Delete-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSSCCH-PowerOffset ::= INTEGER (0..255)
--- PowerOffset = -32 + offset * 0.25
--- Unit dB, Range -32dB .. +31.75dB, Step +0.25dB
-
-HSDSCH-Initial-Capacity-Allocation::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF HSDSCH-Initial-Capacity-AllocationItem
-
-HSDSCH-Initial-Capacity-AllocationItem ::= SEQUENCE {
- schedulingPriorityIndicator SchedulingPriorityIndicator,
- maximum-MACdPDU-Size MACdPDU-Size,
- hSDSCH-InitialWindowSize HSDSCH-InitialWindowSize,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-Initial-Capacity-AllocationItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-Initial-Capacity-AllocationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-InitialWindowSize ::= INTEGER (1..255)
--- Number of MAC-d PDUs.
-
-HSSCCH-Specific-InformationRespListFDD ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSCCH-Codes
-
-HSSCCH-Codes ::= SEQUENCE {
- codeNumber INTEGER (0..127),
- iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemFDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSSCCH-Specific-InformationRespItemFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSSCCH-Specific-InformationRespListTDD ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSCCH-Specific-InformationRespItemTDD
-
-HSSCCH-Specific-InformationRespItemTDD ::= SEQUENCE {
- timeslot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tDD-ChannelisationCode TDD-ChannelisationCode,
- hSSICH-Info HSSICH-Info,
- iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSSCCH-Specific-InformationRespItemTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSSCCH-Specific-InformationRespListTDDLCR ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHCodes)) OF HSSCCH-Specific-InformationRespItemTDDLCR
-
-HSSCCH-Specific-InformationRespItemTDDLCR ::= SEQUENCE {
- timeslotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- first-TDD-ChannelisationCode TDD-ChannelisationCode,
- second-TDD-ChannelisationCode TDD-ChannelisationCode,
- hSSICH-InfoLCR HSSICH-InfoLCR,
- iE-Extensions ProtocolExtensionContainer { { HSSCCH-Specific-InformationRespItemTDDLCR-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSSCCH-Specific-InformationRespItemTDDLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSSICH-Info ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeslot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tDD-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { HSSICH-Info-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSSICH-Info-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSSICH-InfoLCR ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeslotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tDD-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { HSSICH-Info-LCR-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSSICH-Info-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-Reception-Quality-Value ::= SEQUENCE {
- failed-HS-SICH HS-SICH-failed,
- missed-HS-SICH HS-SICH-missed,
- total-HS-SICH HS-SICH-total,
- iE-Extensions ProtocolExtensionContainer { { HS-SICH-Reception-Quality-Value-ExtIEs} } OPTIONAL,
-...
-}
-
-HS-SICH-Reception-Quality-Value-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-failed ::= INTEGER (0..20)
-
-HS-SICH-missed ::= INTEGER (0..20)
-
-HS-SICH-total ::= INTEGER (0..20)
-
-HS-SICH-Reception-Quality-Measurement-Value ::= INTEGER (0..20)
--- According to mapping in [23]
-
-HSDSCH-MACdFlow-ID ::= INTEGER (0..maxNrOfMACdFlows-1)
-
-HSDSCH-RNTI ::= INTEGER (0..65535)
-
-HS-PDSCH-FDD-Code-Information ::= SEQUENCE {
- number-of-HS-PDSCH-codes INTEGER (0..maxHS-PDSCHCodeNrComp-1),
- hS-PDSCH-Start-code-number HS-PDSCH-Start-code-number OPTIONAL,
--- Only included when number of HS-DSCH codes > 0
- iE-Extensions ProtocolExtensionContainer { { HS-PDSCH-FDD-Code-Information-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-PDSCH-FDD-Code-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-PDSCH-Start-code-number ::= INTEGER (1..maxHS-PDSCHCodeNrComp-1)
-
-HS-SCCH-ID ::= INTEGER (0..31)
-HS-SICH-ID ::= INTEGER (0..31)
-
-HS-SCCH-FDD-Code-Information::= CHOICE {
- replace HS-SCCH-FDD-Code-List,
- remove NULL,
- ...
-}
-
-HS-SCCH-FDD-Code-List ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-FDD-Code-Information-Item
-
-HS-SCCH-FDD-Code-Information-Item ::= INTEGER (0..maxHS-SCCHCodeNrComp-1)
-
-HSSCCH-CodeChangeIndicator ::= ENUMERATED {
- hsSCCHCodeChangeNeeded
-}
-
-HSSCCH-Code-Change-Grant ::= ENUMERATED {
- changeGranted
-}
-
-HSDSCH-FDD-Update-Information ::= SEQUENCE {
- hsSCCHCodeChangeIndicator HSSCCH-CodeChangeIndicator OPTIONAL,
- cqiFeedback-CycleK CQI-Feedback-Cycle OPTIONAL,
- cqiRepetitionFactor CQI-RepetitionFactor OPTIONAL,
- ackNackRepetitionFactor AckNack-RepetitionFactor OPTIONAL,
- cqiPowerOffset CQI-Power-Offset OPTIONAL,
- ackPowerOffset Ack-Power-Offset OPTIONAL,
- nackPowerOffset Nack-Power-Offset OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-FDD-Update-Information-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-FDD-Update-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-TDD-Update-Information ::= SEQUENCE {
- hsSCCHCodeChangeIndicator HSSCCH-CodeChangeIndicator OPTIONAL,
- tDDAckNackPowerOffset TDD-AckNack-Power-Offset OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-TDD-Update-Information-ExtIEs } } OPTIONAL,
- ...
-}
-
-HSDSCH-TDD-Update-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- ==========================================
--- I
--- ==========================================
-
-IB-OC-ID ::= INTEGER (1..16)
-
-IB-SG-DATA ::= BIT STRING
--- Contains SIB data fixed" or "SIB data variable" in segment as encoded in ref.[18].
-
-IB-SG-POS ::= INTEGER (0..4094)
--- Only even positions allowed
-
-IB-SG-REP ::= ENUMERATED {rep4, rep8, rep16, rep32, rep64, rep128, rep256, rep512, rep1024, rep2048, rep4096}
-
-IB-Type ::= ENUMERATED {
- mIB,
- sB1,
- sB2,
- sIB1,
- sIB2,
- sIB3,
- sIB4,
- sIB5,
- sIB6,
- sIB7,
- sIB8,
- sIB9,
- sIB10,
- sIB11,
- sIB12,
- sIB13,
- sIB13dot1,
- sIB13dot2,
- sIB13dot3,
- sIB13dot4,
- sIB14,
- sIB15,
- sIB15dot1,
- sIB15dot2,
- sIB15dot3,
- sIB16,
- ...,
- sIB17,
- sIB15dot4,
- sIB18,
- sIB15dot5
-}
-
-InformationReportCharacteristics ::= CHOICE {
- onDemand NULL,
- periodic InformationReportCharacteristicsType-ReportPeriodicity,
- onModification InformationReportCharacteristicsType-OnModification,
- ...
-}
-
-InformationReportCharacteristicsType-ReportPeriodicity ::= CHOICE {
- min ReportPeriodicity-Scaledmin,
- hours ReportPeriodicity-Scaledhour,
- ...
-}
-
-InformationReportCharacteristicsType-OnModification ::= SEQUENCE {
- information-thresholds InformationThresholds OPTIONAL,
- ie-Extensions ProtocolExtensionContainer { { InformationReportCharacteristicsType-OnModification-ExtIEs} } OPTIONAL,
- ...
-}
-
-InformationReportCharacteristicsType-OnModification-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-InformationThresholds ::= CHOICE {
- dgps DGPSThresholds,
- ...
-}
-
-InformationExchangeID ::= INTEGER (0..1048575)
-
-InformationType ::= SEQUENCE {
- information-Type-Item Information-Type-Item,
- gPSInformation GPS-Information OPTIONAL,
- -- The IE shall be present if the Information Type Item IE indicates "GPS Information".
- iE-Extensions ProtocolExtensionContainer { { Information-Type-ExtIEs} } OPTIONAL,
-...
-}
-
-Information-Type-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Information-Type-Item ::= ENUMERATED {
- gpsinformation,
- dgpscorrections,
- gpsrxpos,
- ...
-}
-
-InnerLoopDLPCStatus ::= ENUMERATED {
- active,
- inactive
-}
-
-IPDL-Indicator ::= ENUMERATED {
- active,
- inactive
-}
-
-
-IPDL-FDD-Parameters ::= SEQUENCE {
- iP-SpacingFDD ENUMERATED{sp5,sp7,sp10,sp15,sp20,sp30,sp40,sp50,...},
- iP-Length ENUMERATED{len5, len10},
- seed INTEGER(0..63),
- burstModeParams BurstModeParams OPTIONAL,
- iP-Offset INTEGER(0..9),
- iE-Extensions ProtocolExtensionContainer { { IPDLFDDParameter-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLFDDParameter-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDL-TDD-Parameters ::= SEQUENCE {
- iP-SpacingTDD ENUMERATED{sp30,sp40,sp50,sp70,sp100,...},
- iP-Start INTEGER(0..4095),
- iP-Slot INTEGER(0..14),
- iP-PCCPCH ENUMERATED{switchOff-1-Frame,switchOff-2-Frames},
- burstModeParams BurstModeParams OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { IPDLTDDParameter-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDL-TDD-Parameters-LCR ::= SEQUENCE {
- iP-SpacingTDD ENUMERATED{sp30,sp40,sp50,sp70,sp100,...},
- iP-Start INTEGER(0..4095),
- iP-Sub ENUMERATED{first,second,both},
- burstModeParams BurstModeParams OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { IPDLTDDParameterLCR-ExtIEs} } OPTIONAL,
- ...
-}
-
-BurstModeParams ::= SEQUENCE {
- burstStart INTEGER(0..15),
- burstLength INTEGER(10..25),
- burstFreq INTEGER(1..16),
- ...
-}
-
-IPDLTDDParameter-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLTDDParameterLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- ==========================================
--- J
--- ==========================================
-
--- ==========================================
--- K
--- ==========================================
-
--- ==========================================
--- L
--- ==========================================
-
-LimitedPowerIncrease ::= ENUMERATED {
- used,
- not-used
-}
-
-Local-Cell-ID ::= INTEGER (0..268435455)
-
--- ==========================================
--- M
--- ==========================================
-
-MACdPDU-Size ::= INTEGER (1..5000,...)
-
-MACdPDU-Size-Indexlist ::= SEQUENCE (SIZE (1..maxNrOfMACdPDUIndexes)) OF MACdPDU-Size-IndexItem
-
-MACdPDU-Size-IndexItem ::= SEQUENCE {
- sID SID,
- macdPDU-Size MACdPDU-Size,
- iE-Extensions ProtocolExtensionContainer { { MACdPDU-Size-IndexItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-MACdPDU-Size-IndexItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MACdPDU-Size-Indexlist-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfMACdPDUIndexes)) OF MACdPDU-Size-IndexItem-to-Modify
-
-MACdPDU-Size-IndexItem-to-Modify ::= SEQUENCE {
- sID SID,
- macdPDU-Size MACdPDU-Size,
- iE-Extensions ProtocolExtensionContainer { { MACdPDU-Size-IndexItem-to-Modify-ExtIEs} } OPTIONAL,
- ...
-}
-
-MACdPDU-Size-IndexItem-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MAChsGuaranteedBitRate ::= INTEGER (0..16777215,...)
-
-MAChsReorderingBufferSize-for-RLC-UM ::= INTEGER (0..300,...)
--- Unit kBytes
-
-MAC-hsWindowSize ::= ENUMERATED {v4, v6, v8, v12, v16, v24, v32,...}
-
-MaximumDL-PowerCapability ::= INTEGER(0..500)
--- Unit dBm, Range 0dBm .. 50dBm, Step +0.1dB
-
-Maximum-PDSCH-Power ::= SEQUENCE {
- maximum-PDSCH-Power-SF4 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF8 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF16 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF32 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF64 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF128 DL-Power OPTIONAL,
- maximum-PDSCH-Power-SF256 DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Maximum-PDSCH-Power-ExtIEs} } OPTIONAL,
- ...
-}
-
-Maximum-PDSCH-Power-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MaximumTransmissionPower ::= INTEGER(0..500)
--- Unit dBm, Range 0dBm .. 50dBm, Step +0.1dB
-
-MaxNrOfUL-DPDCHs ::= INTEGER (1..6)
-
-Max-Number-of-PCPCHes ::= INTEGER (1..64,...)
-
-MaxPRACH-MidambleShifts ::= ENUMERATED {
- shift4,
- shift8,
- ...
-}
-
-MeasurementFilterCoefficient ::= ENUMERATED {k0, k1, k2, k3, k4, k5, k6, k7, k8, k9, k11, k13, k15, k17, k19,...}
--- Measurement Filter Coefficient to be used for measurement
-
-MeasurementID ::= INTEGER (0..1048575)
-
-Measurement-Power-Offset ::= INTEGER(-12 .. 26)
--- Actual value = IE value * 0.5
-
-MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
- SEQUENCE {
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber1 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
- ...
- }
-
-MessageStructure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MidambleConfigurationLCR ::= ENUMERATED {v2, v4, v6, v8, v10, v12, v14, v16, ...}
-
-MidambleConfigurationBurstType1And3 ::= ENUMERATED {v4, v8, v16}
-
-MidambleConfigurationBurstType2 ::= ENUMERATED {v3, v6}
-
-MidambleShiftAndBurstType ::= CHOICE {
- type1 SEQUENCE {
- midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
- midambleAllocationMode CHOICE {
- defaultMidamble NULL,
- commonMidamble NULL,
- ueSpecificMidamble MidambleShiftLong,
- ...
- },
- ...
- },
- type2 SEQUENCE {
- midambleConfigurationBurstType2 MidambleConfigurationBurstType2,
- midambleAllocationMode CHOICE {
- defaultMidamble NULL,
- commonMidamble NULL,
- ueSpecificMidamble MidambleShiftShort,
- ...
- },
- ...
- },
- type3 SEQUENCE {
- midambleConfigurationBurstType1And3 MidambleConfigurationBurstType1And3,
- midambleAllocationMode CHOICE {
- defaultMidamble NULL,
- ueSpecificMidamble MidambleShiftLong,
- ...
- },
- ...
- },
- ...
-}
-
-MidambleShiftLong ::= INTEGER (0..15)
-
-MidambleShiftShort ::= INTEGER (0..5)
-
-MidambleShiftLCR ::= SEQUENCE {
- midambleAllocationMode MidambleAllocationMode,
- midambleShift MidambleShiftLong OPTIONAL,
- -- The IE shall be present if the Midamble Allocation Mode IE is set to "UE specific midamble".
-midambleConfigurationLCR MidambleConfigurationLCR,
- iE-Extensions ProtocolExtensionContainer { {MidambleShiftLCR-ExtIEs} } OPTIONAL,
- ...
- }
-
-MidambleAllocationMode ::= ENUMERATED {
- defaultMidamble,
- commonMidamble,
- uESpecificMidamble,
- ...
- }
-
-MidambleShiftLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MinimumDL-PowerCapability ::= INTEGER(0..800)
--- Unit dBm, Range -30dBm .. 50dBm, Step +0.1dB
-
-MinSpreadingFactor ::= ENUMERATED {
- v4,
- v8,
- v16,
- v32,
- v64,
- v128,
- v256,
- v512
-}
--- TDD Mapping scheme for the minimum spreading factor 1 and 2: "256" means 1, "512" means 2
-
-ModifyPriorityQueue ::= CHOICE {
- addPriorityQueue PriorityQueue-InfoItem-to-Add,
- modifyPriorityQueue PriorityQueue-InfoItem-to-Modify,
- deletePriorityQueue PriorityQueue-Id,
- ...
-}
-
-Modulation ::= ENUMERATED {
- qPSK,
- eightPSK,
- ...
-}
-
-MinUL-ChannelisationCodeLength ::= ENUMERATED {
- v4,
- v8,
- v16,
- v32,
- v64,
- v128,
- v256,
- ...
-}
-
-MultiplexingPosition ::= ENUMERATED {
- fixed,
- flexible
-}
-
--- ==========================================
--- N
--- ==========================================
-
-Nack-Power-Offset ::= INTEGER (0..8,...)
--- According to mapping in ref. [9] subclause 4.2.1
-
-NCyclesPerSFNperiod ::= ENUMERATED {
- v1,
- v2,
- v4,
- v8,
- ...,
- v16,
- v32,
- v64
-}
-
-NEOT ::= INTEGER (0..8)
-
-NFmax ::= INTEGER (1..64,...)
-
-NRepetitionsPerCyclePeriod ::= INTEGER (2..10)
-
-N-INSYNC-IND ::= INTEGER (1..256)
-
-N-OUTSYNC-IND ::= INTEGER (1..256)
-
-NeighbouringCellMeasurementInformation ::= SEQUENCE (SIZE (1..maxNrOfMeasNCell)) OF
- CHOICE {
- neighbouringFDDCellMeasurementInformation NeighbouringFDDCellMeasurementInformation, -- FDD only
- neighbouringTDDCellMeasurementInformation NeighbouringTDDCellMeasurementInformation,
- -- Applicable to 3.84Mcps TDD only
- ...,
- extension-neighbouringCellMeasurementInformation Extension-neighbouringCellMeasurementInformation
- }
-
-Extension-neighbouringCellMeasurementInformation ::= ProtocolIE-Single-Container {{ Extension-neighbouringCellMeasurementInformationIE }}
-
-Extension-neighbouringCellMeasurementInformationIE NBAP-PROTOCOL-IES ::= {
- { ID id-neighbouringTDDCellMeasurementInformationLCR CRITICALITY reject TYPE NeighbouringTDDCellMeasurementInformationLCR PRESENCE mandatory }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-NeighbouringFDDCellMeasurementInformation ::= SEQUENCE {
- uC-Id UC-Id,
- uARFCN UARFCN,
- primaryScramblingCode PrimaryScramblingCode,
- iE-Extensions ProtocolExtensionContainer { { NeighbouringFDDCellMeasurementInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-NeighbouringFDDCellMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-NeighbouringTDDCellMeasurementInformation ::= SEQUENCE {
- uC-Id UC-Id,
- uARFCN UARFCN,
- cellParameterID CellParameterID,
- timeSlot TimeSlot OPTIONAL,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { NeighbouringTDDCellMeasurementInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-NeighbouringTDDCellMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-NeighbouringTDDCellMeasurementInformationLCR ::= SEQUENCE {
- uC-Id UC-Id,
- uARFCN UARFCN,
- cellParameterID CellParameterID,
- timeSlotLCR TimeSlotLCR OPTIONAL,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { NeighbouringTDDCellMeasurementInformationLCRItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-NeighbouringTDDCellMeasurementInformationLCRItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-NodeB-CommunicationContextID ::= INTEGER (0..1048575)
-
-NumberOfReportedCellPortions ::= INTEGER (1..maxNrOfCellPortionsPerCell,...)
-
-NStartMessage ::= INTEGER (1..8)
-
-NSubCyclesPerCyclePeriod ::= INTEGER (1..16,...)
-
--- ==========================================
--- O
--- ==========================================
-
--- ==========================================
--- P
--- ==========================================
-
-PagingIndicatorLength ::= ENUMERATED {
- v2,
- v4,
- v8,
- ...
-}
-
-PayloadCRC-PresenceIndicator ::= ENUMERATED {
- cRC-Included,
- cRC-NotIncluded,
- ...
-}
-
-PCCPCH-Power ::= INTEGER (-150..400,...)
--- PCCPCH-power = power * 10
--- If power <= -15 PCCPCH shall be set to -150
--- If power >= 40 PCCPCH shall be set to 400
--- Unit dBm, Range -15dBm .. +40 dBm, Step +0.1dB
-
-PCP-Length ::= ENUMERATED{
- v0,
- v8
-}
-
-PDSCH-CodeMapping ::= SEQUENCE {
- dl-ScramblingCode DL-ScramblingCode,
- signallingMethod CHOICE {
- code-Range PDSCH-CodeMapping-PDSCH-CodeMappingInformationList,
- tFCI-Range PDSCH-CodeMapping-DSCH-MappingInformationList,
- explicit PDSCH-CodeMapping-PDSCH-CodeInformationList,
- ...,
- replace PDSCH-CodeMapping-ReplacedPDSCH-CodeInformationList
- },
- iE-Extensions ProtocolExtensionContainer { { PDSCH-CodeMapping-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-CodeMapping-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-CodeMapping-CodeNumberComp ::= INTEGER (0..maxCodeNrComp-1)
-
-PDSCH-CodeMapping-SpreadingFactor ::= ENUMERATED {
- v4,
- v8,
- v16,
- v32,
- v64,
- v128,
- v256,
- ...
-}
-
-PDSCH-CodeMapping-PDSCH-CodeMappingInformationList ::= SEQUENCE (SIZE (1..maxNrOfCodeGroups)) OF
- SEQUENCE {
- spreadingFactor PDSCH-CodeMapping-SpreadingFactor,
- multi-CodeInfo PDSCH-Multi-CodeInfo,
- start-CodeNumber PDSCH-CodeMapping-CodeNumberComp,
- stop-CodeNumber PDSCH-CodeMapping-CodeNumberComp,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-CodeMapping-PDSCH-CodeMappingInformationList-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-CodeMapping-PDSCH-CodeMappingInformationList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-CodeMapping-DSCH-MappingInformationList ::= SEQUENCE (SIZE (1..maxNrOfTFCIGroups)) OF
- SEQUENCE {
- maxTFCI-field2-Value PDSCH-CodeMapping-MaxTFCI-Field2-Value,
- spreadingFactor PDSCH-CodeMapping-SpreadingFactor,
- multi-CodeInfo PDSCH-Multi-CodeInfo,
- codeNumber PDSCH-CodeMapping-CodeNumberComp,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-CodeMapping-DSCH-MappingInformationList-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-CodeMapping-DSCH-MappingInformationList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-CodeMapping-MaxTFCI-Field2-Value ::= INTEGER (1..1023)
-
-PDSCH-CodeMapping-PDSCH-CodeInformationList ::= SEQUENCE (SIZE (1..maxNrOfTFCI2Combs)) OF
- SEQUENCE {
- spreadingFactor PDSCH-CodeMapping-SpreadingFactor,
- multi-CodeInfo PDSCH-Multi-CodeInfo,
- codeNumber PDSCH-CodeMapping-CodeNumberComp,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-CodeMapping-PDSCH-CodeInformationList-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-CodeMapping-PDSCH-CodeInformationList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-CodeMapping-ReplacedPDSCH-CodeInformationList ::= SEQUENCE (SIZE (1..maxNrOfTFCI2Combs)) OF
- SEQUENCE {
- tfci-Field2 TFCS-MaxTFCI-field2-Value,
- spreadingFactor PDSCH-CodeMapping-SpreadingFactor,
- multi-CodeInfo PDSCH-Multi-CodeInfo,
- codeNumber PDSCH-CodeMapping-CodeNumberComp,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-CodeMapping-ReplacedPDSCH-CodeInformationList-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-CodeMapping-ReplacedPDSCH-CodeInformationList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-Multi-CodeInfo ::= INTEGER (1..16)
-
-PDSCH-ID ::= INTEGER (0..255)
-
-PDSCHSet-ID ::= INTEGER (0..255)
-
-PICH-Mode ::= ENUMERATED {
- v18,
- v36,
- v72,
- v144,
- ...
-}
-
-PICH-Power ::= INTEGER (-10..5)
--- Unit dB, Range -10dB .. +5dB, Step +1dB
-
-PowerAdjustmentType ::= ENUMERATED {
- none,
- common,
- individual
-}
-
-PowerOffset ::= INTEGER (0..24)
--- PowerOffset = offset * 0.25
--- Unit dB, Range 0dB .. +6dB, Step +0.25dB
-
-PowerRaiseLimit ::= INTEGER (0..10)
-
-PRACH-Midamble ::= ENUMERATED {
- inverted,
- direct,
- ...
-}
-
-PRC ::= INTEGER (-2047..2047)
---pseudo range correction; scaling factor 0.32 meters
-
-PRCDeviation ::= ENUMERATED {
- one,
- two,
- five,
- ten,
- ...
-}
-
-PreambleSignatures ::= BIT STRING {
- signature15(0),
- signature14(1),
- signature13(2),
- signature12(3),
- signature11(4),
- signature10(5),
- signature9(6),
- signature8(7),
- signature7(8),
- signature6(9),
- signature5(10),
- signature4(11),
- signature3(12),
- signature2(13),
- signature1(14),
- signature0(15)
- } (SIZE (16))
-
-PreambleThreshold ::= INTEGER (0..72)
--- 0= -36.0dB, 1= -35.5dB, ... , 72= 0.0dB
-
-PredictedSFNSFNDeviationLimit ::=INTEGER (1..256)
--- Unit chip, Step 1/16 chip, Range 1/16..16 chip
-
-PredictedTUTRANGPSDeviationLimit ::= INTEGER (1..256)
--- Unit chip, Step 1/16 chip, Range 1/16..16 chip
-
-Pre-emptionCapability ::= ENUMERATED {
- shall-not-trigger-pre-emption,
- may-trigger-pre-emption
-}
-
-Pre-emptionVulnerability ::= ENUMERATED {
- not-pre-emptable,
- pre-emptable
-}
-
-PrimaryCPICH-Power ::= INTEGER(-100..500)
--- step 0.1 (Range -10.0..50.0) Unit is dBm
-
-Primary-CPICH-Usage-for-Channel-Estimation ::= ENUMERATED {
-primary-CPICH-may-be-used,
-primary-CPICH-shall-not-be-used
-}
-
-PrimaryScramblingCode ::= INTEGER (0..511)
-
-PriorityLevel ::= INTEGER (0..15)
--- 0 = spare, 1 = highest priority, ...14 = lowest priority and 15 = no priority
-
-PriorityQueue-Id ::= INTEGER (0..maxNrOfPriorityQueues-1)
-
-PriorityQueue-InfoList ::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF PriorityQueue-InfoItem
-
-PriorityQueue-InfoItem ::= SEQUENCE {
- priorityQueueId PriorityQueue-Id,
- associatedHSDSCH-MACdFlow HSDSCH-MACdFlow-ID,
- schedulingPriorityIndicator SchedulingPriorityIndicator,
- t1 T1,
- discardTimer DiscardTimer OPTIONAL,
- mAC-hsWindowSize MAC-hsWindowSize,
- mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
- macdPDU-Size-Index MACdPDU-Size-Indexlist,
- rLC-Mode RLC-Mode,
- iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-PriorityQueue-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PriorityQueue-InfoList-to-Modify ::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF ModifyPriorityQueue
-
-PriorityQueue-InfoItem-to-Add ::= SEQUENCE {
- priorityQueueId PriorityQueue-Id,
- associatedHSDSCH-MACdFlow HSDSCH-MACdFlow-ID,
- schedulingPriorityIndicator SchedulingPriorityIndicator,
- t1 T1,
- discardTimer DiscardTimer OPTIONAL,
- mAC-hsWindowSize MAC-hsWindowSize,
- mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
- macdPDU-Size-Index MACdPDU-Size-Indexlist,
- rLC-Mode RLC-Mode,
- iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Add-ExtIEs} } OPTIONAL,
- ...
-}
-
-PriorityQueue-InfoItem-to-Add-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PriorityQueue-InfoItem-to-Modify ::= SEQUENCE {
- priorityQueueId PriorityQueue-Id,
- schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
- t1 T1 OPTIONAL,
- discardTimer DiscardTimer OPTIONAL,
- mAC-hsWindowSize MAC-hsWindowSize OPTIONAL,
- mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
- macdPDU-Size-Index-to-Modify MACdPDU-Size-Indexlist-to-Modify OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Modify-ExtIEs} } OPTIONAL,
- ...
-}
-
-PriorityQueue-InfoItem-to-Modify-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PriorityQueue-InfoList-to-Modify-Unsynchronised ::= SEQUENCE (SIZE (1..maxNrOfPriorityQueues)) OF PriorityQueue-InfoItem-to-Modify-Unsynchronised
-
-PriorityQueue-InfoItem-to-Modify-Unsynchronised ::= SEQUENCE {
- priorityQueueId PriorityQueue-Id,
- schedulingPriorityIndicator SchedulingPriorityIndicator OPTIONAL,
- discardTimer DiscardTimer OPTIONAL,
- mAChsGuaranteedBitRate MAChsGuaranteedBitRate OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PriorityQueue-InfoItem-to-Modify-Unsynchronised-ExtIEs} } OPTIONAL,
- ...
-}
-
-PriorityQueue-InfoItem-to-Modify-Unsynchronised-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimaryCCPCH-RSCP ::= INTEGER (0..91)
--- Mapping of non-negative values according to [23]
-
-PrimaryCCPCH-RSCP-Delta ::= INTEGER (-5..-1,...)
--- Mapping of negative values according to [23]
-
-PropagationDelay ::= INTEGER (0..255)
--- Unit: chips, step size 3 chips
--- example: 0 = 0chip, 1 = 3chips
-
-SCH-TimeSlot ::= INTEGER (0..6)
-
-PunctureLimit ::= INTEGER (0..15)
--- 0: 40%; 1: 44%; ... 14: 96%; 15: 100%
-
-PUSCH-ID ::= INTEGER (0..255)
-
-PUSCHSet-ID ::= INTEGER (0..255)
-
--- ==========================================
--- Q
--- ==========================================
-
-QE-Selector ::= ENUMERATED {
- selected,
- non-selected
-}
-
-Qth-Parameter ::= INTEGER (-20..0)
--- Unit dB, Step 1dB
-
--- ==========================================
--- R
--- ==========================================
-
-RACH-SlotFormat ::= ENUMERATED {
- v0,
- v1,
- v2,
- v3,
- ...
-}
-
-RACH-SubChannelNumbers ::= BIT STRING {
- subCh11(0),
- subCh10(1),
- subCh9(2),
- subCh8(3),
- subCh7(4),
- subCh6(5),
- subCh5(6),
- subCh4(7),
- subCh3(8),
- subCh2(9),
- subCh1(10),
- subCh0(11)
- } (SIZE (12))
-
-RL-Specific-DCH-Info ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF RL-Specific-DCH-Info-Item
-
-RL-Specific-DCH-Info-Item ::= SEQUENCE {
- dCH-id DCH-ID,
- bindingID BindingID OPTIONAL,
- transportlayeraddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-Specific-DCH-Info-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Specific-DCH-Info-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Range-Correction-Rate ::= INTEGER (-127..127)
--- scaling factor 0.032 m/s
-
-ReferenceClockAvailability ::= ENUMERATED {
- available,
- notAvailable
-}
-
-ReferenceSFNoffset ::= INTEGER (0..255)
-
-RepetitionLength ::= INTEGER (1..63)
-
-RepetitionPeriod ::= ENUMERATED {
- v1,
- v2,
- v4,
- v8,
- v16,
- v32,
- v64,
- ...
-}
-
-RepetitionNumber0 ::= INTEGER (0..255)
-
-RepetitionNumber1 ::= INTEGER (1..256)
-
-RefTFCNumber ::= INTEGER (0..3)
-
-ReportCharacteristics ::= CHOICE {
- onDemand NULL,
- periodic ReportCharacteristicsType-ReportPeriodicity,
- event-a ReportCharacteristicsType-EventA,
- event-b ReportCharacteristicsType-EventB,
- event-c ReportCharacteristicsType-EventC,
- event-d ReportCharacteristicsType-EventD,
- event-e ReportCharacteristicsType-EventE,
- event-f ReportCharacteristicsType-EventF,
- ...,
- extension-ReportCharacteristics Extension-ReportCharacteristics
-}
-
-Extension-ReportCharacteristics ::= ProtocolIE-Single-Container {{ Extension-ReportCharacteristicsIE }}
-
-Extension-ReportCharacteristicsIE NBAP-PROTOCOL-IES ::= {
- { ID id-ReportCharacteristicsType-OnModification CRITICALITY reject TYPE ReportCharacteristicsType-OnModification PRESENCE mandatory }
-}
-
-ReportCharacteristicsType-EventA ::= SEQUENCE {
- measurementThreshold ReportCharacteristicsType-MeasurementThreshold,
- measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventA-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventA-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-EventB ::= SEQUENCE {
- measurementThreshold ReportCharacteristicsType-MeasurementThreshold,
- measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventB-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventB-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-EventC ::= SEQUENCE {
- measurementIncreaseThreshold ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold,
- measurementChangeTime ReportCharacteristicsType-ScaledMeasurementChangeTime,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventC-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventC-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-EventD ::= SEQUENCE {
- measurementDecreaseThreshold ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold,
- measurementChangeTime ReportCharacteristicsType-ScaledMeasurementChangeTime,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventD-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-EventE ::= SEQUENCE {
- measurementThreshold1 ReportCharacteristicsType-MeasurementThreshold,
- measurementThreshold2 ReportCharacteristicsType-MeasurementThreshold OPTIONAL,
- measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
- reportPeriodicity ReportCharacteristicsType-ReportPeriodicity OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventE-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventE-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-EventF ::= SEQUENCE {
- measurementThreshold1 ReportCharacteristicsType-MeasurementThreshold,
- measurementThreshold2 ReportCharacteristicsType-MeasurementThreshold OPTIONAL,
- measurementHysteresisTime ReportCharacteristicsType-ScaledMeasurementHysteresisTime OPTIONAL,
- reportPeriodicity ReportCharacteristicsType-ReportPeriodicity OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-EventF-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-EventF-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-OnModification ::= SEQUENCE {
- measurementThreshold ReportCharacteristicsType-MeasurementThreshold,
- iE-Extensions ProtocolExtensionContainer { { ReportCharacteristicsType-OnModification-ExtIEs} } OPTIONAL,
- ...
- }
-
-ReportCharacteristicsType-OnModification-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold ::= CHOICE {
- received-total-wide-band-power Received-total-wide-band-power-Value-IncrDecrThres,
- transmitted-carrier-power Transmitted-Carrier-Power-Value,
- acknowledged-prach-preambles Acknowledged-PRACH-preambles-Value,
- uL-TimeslotISCP UL-TimeslotISCP-Value-IncrDecrThres,
- sir SIR-Value-IncrDecrThres,
- sir-error SIR-Error-Value-IncrDecrThres,
- transmitted-code-power Transmitted-Code-Power-Value-IncrDecrThres,
- rscp RSCP-Value-IncrDecrThres,
- round-trip-time Round-Trip-Time-IncrDecrThres,
- acknowledged-PCPCH-access-preambles Acknowledged-PCPCH-access-preambles,
- detected-PCPCH-access-preambles Detected-PCPCH-access-preambles,
- ...,
- extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold
-}
-
-Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThreshold ::= ProtocolIE-Single-Container {{ Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThresholdIE }}
-
-Extension-ReportCharacteristicsType-MeasurementIncreaseDecreaseThresholdIE NBAP-PROTOCOL-IES ::= {
-{ ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission CRITICALITY reject TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmissionValue PRESENCE mandatory}
-}
-
-ReportCharacteristicsType-MeasurementThreshold ::= CHOICE {
- received-total-wide-band-power Received-total-wide-band-power-Value,
- transmitted-carrier-power Transmitted-Carrier-Power-Value,
- acknowledged-prach-preambles Acknowledged-PRACH-preambles-Value,
- uL-TimeslotISCP UL-TimeslotISCP-Value,
- sir SIR-Value,
- sir-error SIR-Error-Value,
- transmitted-code-power Transmitted-Code-Power-Value,
- rscp RSCP-Value,
- rx-timing-deviation Rx-Timing-Deviation-Value,
- round-trip-time Round-Trip-Time-Value,
- acknowledged-PCPCH-access-preambles Acknowledged-PCPCH-access-preambles,
- detected-PCPCH-access-preambles Detected-PCPCH-access-preambles,
- ...,
- extension-ReportCharacteristicsType-MeasurementThreshold Extension-ReportCharacteristicsType-MeasurementThreshold
-}
-
-Extension-ReportCharacteristicsType-MeasurementThreshold ::= ProtocolIE-Single-Container {{ Extension-ReportCharacteristicsType-MeasurementThresholdIE }}
-
-Extension-ReportCharacteristicsType-MeasurementThresholdIE NBAP-PROTOCOL-IES ::= {
- { ID id-TUTRANGPSMeasurementThresholdInformation CRITICALITY reject TYPE TUTRANGPSMeasurementThresholdInformation PRESENCE mandatory }|
- { ID id-SFNSFNMeasurementThresholdInformation CRITICALITY reject TYPE SFNSFNMeasurementThresholdInformation PRESENCE mandatory }|
- { ID id-Rx-Timing-Deviation-Value-LCR CRITICALITY reject TYPE Rx-Timing-Deviation-Value-LCR PRESENCE mandatory}|
- { ID id-HS-SICH-Reception-Quality-Measurement-Value CRITICALITY reject TYPE HS-SICH-Reception-Quality-Measurement-Value PRESENCE mandatory}|
- { ID id-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmission CRITICALITY reject TYPE TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmissionValue PRESENCE mandatory}|
- { ID id-HS-DSCHRequiredPowerValue CRITICALITY reject TYPE HS-DSCHRequiredPowerValue PRESENCE mandatory}
-}
-
-ReportCharacteristicsType-ScaledMeasurementChangeTime ::= CHOICE {
- msec MeasurementChangeTime-Scaledmsec,
- ...
-}
-
-MeasurementChangeTime-Scaledmsec ::= INTEGER (1..6000,...)
--- MeasurementChangeTime-Scaledmsec = Time * 10
--- Unit ms, Range 10ms .. 60000ms(1min), Step 10ms
-
-ReportCharacteristicsType-ScaledMeasurementHysteresisTime ::= CHOICE {
- msec MeasurementHysteresisTime-Scaledmsec,
- ...
-}
-
-MeasurementHysteresisTime-Scaledmsec ::= INTEGER (1..6000,...)
--- MeasurementHysteresisTime-Scaledmsec = Time * 10
--- Unit ms, Range 10ms .. 60000ms(1min), Step 10ms
-
-ReportCharacteristicsType-ReportPeriodicity ::= CHOICE {
- msec ReportPeriodicity-Scaledmsec,
- min ReportPeriodicity-Scaledmin,
- ...
-}
-
-ReportPeriodicity-Scaledmsec ::= INTEGER (1..6000,...)
--- ReportPeriodicity-msec = ReportPeriodicity * 10
--- Unit ms, Range 10ms .. 60000ms(1min), Step 10ms
-
-ReportPeriodicity-Scaledmin ::= INTEGER (1..60,...)
--- Unit min, Range 1min .. 60min(hour), Step 1min
-
-ReportPeriodicity-Scaledhour ::= INTEGER (1..24,...)
--- Unit hour, Range 1hour .. 24hours(day), Step 1hour
-
-ResourceOperationalState ::= ENUMERATED {
- enabled,
- disabled
-}
-
-RL-ID ::= INTEGER (0..31)
-
-RL-Set-ID ::= INTEGER (0..31)
-
-RLC-Mode ::= ENUMERATED {
- rLC-AM,
- rLC-UM,
- ...
-}
-
-Round-Trip-Time-IncrDecrThres ::= INTEGER(0..32766)
-
-RNC-ID ::= INTEGER (0..4095)
-
-Round-Trip-Time-Value ::= INTEGER(0..32767)
--- According to mapping in [22]
-
-RSCP-Value ::= INTEGER (0..127)
--- According to mapping in [23]
-
-RSCP-Value-IncrDecrThres ::= INTEGER (0..126)
-
-Received-total-wide-band-power-Value ::= INTEGER(0..621)
--- According to mapping in [22]/[23]
-
-Received-total-wide-band-power-Value-IncrDecrThres ::= INTEGER (0..620)
-
-RequestedDataValueInformation ::= CHOICE {
- informationAvailable InformationAvailable,
- informationnotAvailable InformationnotAvailable
-}
-
-InformationAvailable::= SEQUENCE {
- requesteddataValue RequestedDataValue,
- ie-Extensions ProtocolExtensionContainer { { InformationAvailableItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-InformationAvailableItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-InformationnotAvailable ::= NULL
-
-RequestedDataValue ::= SEQUENCE {
- dgps-corrections DGPSCorrections OPTIONAL,
- gps-navandrecovery GPS-NavigationModel-and-TimeRecovery OPTIONAL,
- gps-ionos-model GPS-Ionospheric-Model OPTIONAL,
- gps-utc-model GPS-UTC-Model OPTIONAL,
- gps-almanac GPS-Almanac OPTIONAL,
- gps-rt-integrity GPS-RealTime-Integrity OPTIONAL,
- gpsrxpos GPS-RX-POS OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RequestedDataValue-ExtIEs} } OPTIONAL,
- ...
-}
-
-RequestedDataValue-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Rx-Timing-Deviation-Value ::= INTEGER (0..8191)
--- According to mapping in [23]
-
-Rx-Timing-Deviation-Value-LCR ::= INTEGER (0..511)
--- According to mapping in [23]
-
--- ==========================================
--- S
--- ==========================================
-
-AdjustmentPeriod ::= INTEGER(1..256)
--- Unit Frame
-
-SAT-ID ::= INTEGER (0..63)
-
-SAT-Info-Almanac ::= SEQUENCE (SIZE (1..maxNoSat)) OF SAT-Info-Almanac-Item
-
-SAT-Info-Almanac-Item ::= SEQUENCE {
- data-id DATA-ID,
- sat-id SAT-ID,
- gps-e-alm BIT STRING (SIZE (16)),
- gps-toa-alm BIT STRING (SIZE (8)),
- gps-delta-I-alm BIT STRING (SIZE (16)),
- omegadot-alm BIT STRING (SIZE (16)),
- svhealth-alm BIT STRING (SIZE (8)),
- gps-a-sqrt-alm BIT STRING (SIZE (24)),
- omegazero-alm BIT STRING (SIZE (24)),
- m-zero-alm BIT STRING (SIZE (24)),
- gps-omega-alm BIT STRING (SIZE (24)),
- gps-af-zero-alm BIT STRING (SIZE (11)),
- gps-af-one-alm BIT STRING (SIZE (11)),
- ie-Extensions ProtocolExtensionContainer { { SAT-Info-Almanac-Item-ExtIEs} } OPTIONAL,
- ...
-} -- This GPS-Almanac-Information is for the 1st 16 satellites
-
-SAT-Info-Almanac-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SAT-Info-Almanac-ExtList ::= SEQUENCE (SIZE (1..maxNrOfSatAlmanac-maxNoSat)) OF SAT-Info-Almanac-ExtItem
-
-SAT-Info-Almanac-ExtItem ::= SEQUENCE {
- data-id DATA-ID,
- sat-id SAT-ID,
- gps-e-alm BIT STRING (SIZE (16)),
- gps-toa-alm BIT STRING (SIZE (8)),
- gps-delta-I-alm BIT STRING (SIZE (16)),
- omegadot-alm BIT STRING (SIZE (16)),
- svhealth-alm BIT STRING (SIZE (8)),
- gps-a-sqrt-alm BIT STRING (SIZE (24)),
- omegazero-alm BIT STRING (SIZE (24)),
- m-zero-alm BIT STRING (SIZE (24)),
- gps-omega-alm BIT STRING (SIZE (24)),
- gps-af-zero-alm BIT STRING (SIZE (11)),
- gps-af-one-alm BIT STRING (SIZE (11)),
- ie-Extensions ProtocolExtensionContainer { { SAT-Info-Almanac-ExtItemIEs } } OPTIONAL,
- ...
-} -- Includes the GPS-Almanac-Information for 17th through 32nd satellites.
-
-SAT-Info-Almanac-ExtItemIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SAT-Info-DGPSCorrections ::= SEQUENCE (SIZE (1..maxNoSat)) OF SAT-Info-DGPSCorrections-Item
-
-SAT-Info-DGPSCorrections-Item ::= SEQUENCE {
- sat-id SAT-ID,
- iode-dgps BIT STRING (SIZE (8)),
- udre UDRE,
- prc PRC,
- range-correction-rate Range-Correction-Rate,
- ie-Extensions ProtocolExtensionContainer { { SAT-Info-DGPSCorrections-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-SAT-Info-DGPSCorrections-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SATInfo-RealTime-Integrity ::= SEQUENCE (SIZE (1..maxNoSat)) OF SAT-Info-RealTime-Integrity-Item
-
-SAT-Info-RealTime-Integrity-Item ::= SEQUENCE {
- bad-sat-id SAT-ID,
- ie-Extensions ProtocolExtensionContainer { { SAT-Info-RealTime-Integrity-Item-ExtIEs} } OPTIONAL,
- ...
-}
-
-SAT-Info-RealTime-Integrity-Item-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ScaledAdjustmentRatio ::= INTEGER(0..100)
--- AdjustmentRatio = ScaledAdjustmentRatio / 100
-
-MaxAdjustmentStep ::= INTEGER(1..10)
--- Unit Slot
-
-SchedulingPriorityIndicator ::= INTEGER (0..15) -- lowest (0), highest (15)
-
-SID ::= INTEGER (0..maxNrOfMACdPDUIndexes-1)
-
-ScramblingCodeNumber ::= INTEGER (0..15)
-
-Secondary-CPICH-Information-Change ::= CHOICE {
- new-secondary-CPICH CommonPhysicalChannelID,
- secondary-CPICH-shall-not-be-used NULL,
-...
-}
-
-SecondaryCCPCH-SlotFormat ::= INTEGER(0..17,...)
-
-Segment-Type ::= ENUMERATED {
- first-segment,
- first-segment-short,
- subsequent-segment,
- last-segment,
- last-segment-short,
- complete-SIB,
- complete-SIB-short,
- ...
-}
-
-S-FieldLength ::= ENUMERATED {
- v1,
- v2,
- ...
-}
-
-SFN ::= INTEGER (0..4095)
-
-SFNSFN-FDD ::= INTEGER (0..614399)
-
-SFNSFN-TDD ::= INTEGER (0..40961)
-
-SFNSFNChangeLimit ::= INTEGER (1..256)
--- Unit chip, Step 1/16 chip, Range 1/16..16 chip
-
-SFNSFNDriftRate ::= INTEGER (-100..100)
--- Unit chip/s, Step 1/256 chip/s, Range -100/256..+100/256 chip/s
-
-SFNSFNDriftRateQuality ::= INTEGER (0..100)
--- Unit chip/s, Step 1/256 chip/s, Range 0..100/256 chip/s
-
-SFNSFNMeasurementThresholdInformation::= SEQUENCE {
- sFNSFNChangeLimit SFNSFNChangeLimit OPTIONAL,
- predictedSFNSFNDeviationLimit PredictedSFNSFNDeviationLimit OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SFNSFNMeasurementThresholdInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-SFNSFNMeasurementThresholdInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SFNSFNMeasurementValueInformation ::= SEQUENCE {
- successfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformation SEQUENCE (SIZE(1..maxNrOfMeasNCell)) OF
- SEQUENCE {
- uC-Id UC-Id,
- sFNSFNValue SFNSFNValue,
- sFNSFNQuality SFNSFNQuality OPTIONAL,
- sFNSFNDriftRate SFNSFNDriftRate,
- sFNSFNDriftRateQuality SFNSFNDriftRateQuality OPTIONAL,
- sFNSFNTimeStampInformation SFNSFNTimeStampInformation,
- iE-Extensions ProtocolExtensionContainer { { SuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs} } OPTIONAL,
- ...
- },
- unsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformation SEQUENCE (SIZE(0..maxNrOfMeasNCell-1)) OF
- SEQUENCE {
- uC-Id UC-Id,
- iE-Extensions ProtocolExtensionContainer { { UnsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs} } OPTIONAL,
- ...
- },
- iE-Extensions ProtocolExtensionContainer { { SFNSFNMeasurementValueInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-SFNSFNMeasurementValueInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UnsuccessfullNeighbouringCellSFNSFNObservedTimeDifferenceMeasurementInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SFNSFNQuality ::= INTEGER (0..255)
--- Unit chip, Step 1/16 chip, Range 0.. 255/16 chip
-
-ShutdownTimer ::= INTEGER (1..3600)
--- Unit sec
-
-SIB-Originator ::= ENUMERATED {
- nodeB,
- cRNC,
- ...
-}
-
-SIR-Error-Value ::= INTEGER (0..125)
--- According to mapping in [22]
-
-SFNSFNTimeStampInformation ::= CHOICE {
- sFNSFNTimeStamp-FDD SFN,
- sFNSFNTimeStamp-TDD SFNSFNTimeStamp-TDD,
- ...}
-
-SFNSFNTimeStamp-TDD::= SEQUENCE {
- sFN SFN,
- timeSlot TimeSlot,
- iE-Extensions ProtocolExtensionContainer { { SFNSFNTimeStamp-ExtIEs} } OPTIONAL,
- ...
-}
-
-SFNSFNTimeStamp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SFNSFNValue ::= CHOICE {
- sFNSFN-FDD SFNSFN-FDD,
- sFNSFN-TDD SFNSFN-TDD,
- ...
-}
-
-SIR-Error-Value-IncrDecrThres ::= INTEGER (0..124)
-
-SIR-Value ::= INTEGER (0..63)
--- According to mapping in [22]/[23]
-
-SIR-Value-IncrDecrThres ::= INTEGER (0..62)
-
-SignallingBearerRequestIndicator::= ENUMERATED {bearerRequested}
-
-SpecialBurstScheduling ::= INTEGER (1..256) -- Number of frames between special burst transmission during DTX
-
-SSDT-Cell-Identity ::= ENUMERATED {a, b, c, d, e, f, g, h}
-
-SSDT-CellID-Length ::= ENUMERATED {
- short,
- medium,
- long
-}
-
-SSDT-Indication ::= ENUMERATED {
- ssdt-active-in-the-UE,
- ssdt-not-active-in-the-UE
-}
-
-Start-Of-Audit-Sequence-Indicator ::= ENUMERATED {
- start-of-audit-sequence,
- not-start-of-audit-sequence
-}
-
-STTD-Indicator ::= ENUMERATED {
- active,
- inactive,
- ...
-}
-
-SSDT-SupportIndicator ::= ENUMERATED {
- sSDT-Supported,
- sSDT-not-supported
-}
-
-SyncCase ::= INTEGER (1..2,...)
-
-SYNCDlCodeId ::= INTEGER (1..32,...)
-
-SyncFrameNumber ::= INTEGER (1..10)
-
-SynchronisationReportCharacteristics ::= SEQUENCE {
- synchronisationReportCharacteristicsType SynchronisationReportCharacteristicsType,
- synchronisationReportCharactThreExc SynchronisationReportCharactThreExc OPTIONAL,
- -- This IE shall be included if the synchronisationReportCharacteristicsType IE is set to "thresholdExceeding".
- iE-Extensions ProtocolExtensionContainer { { SynchronisationReportCharacteristics-ExtIEs } } OPTIONAL,
- ...
-}
-
-SynchronisationReportCharacteristics-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SyncDLCodeIdThreInfoLCR CRITICALITY ignore EXTENSION SyncDLCodeIdThreInfoLCR PRESENCE optional },
- ...
-}
-
-SynchronisationReportCharactThreExc ::= SEQUENCE (SIZE (1..maxNrOfCellSyncBursts)) OF SynchronisationReportCharactThreInfoItem -- Mandatory for 3.84Mcps TDD only. Not Applicable to 1.28Mcps TDD.
-
-SynchronisationReportCharactThreInfoItem ::= SEQUENCE {
- syncFrameNumber SyncFrameNumber,
- cellSyncBurstInformation SEQUENCE (SIZE (1.. maxNrOfReceptsPerSyncFrame)) OF SynchronisationReportCharactCellSyncBurstInfoItem,
- iE-Extensions ProtocolExtensionContainer { { SynchronisationReportCharactThreInfoItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-SynchronisationReportCharactThreInfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SynchronisationReportCharactCellSyncBurstInfoItem ::= SEQUENCE {
- cellSyncBurstCode CellSyncBurstCode,
- cellSyncBurstCodeShift CellSyncBurstCodeShift,
- cellSyncBurstTiming CellSyncBurstTiming OPTIONAL,
- cellSyncBurstTimingThreshold CellSyncBurstTimingThreshold OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SynchronisationReportCharactCellSyncBurstInfoItem-ExtIEs } } OPTIONAL,
- ...
-}
-
-SynchronisationReportCharactCellSyncBurstInfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SyncDLCodeIdThreInfoLCR ::= SEQUENCE (SIZE (0..maxNrOfSyncFramesLCR)) OF SyncDLCodeIdThreInfoList --Mandatory for 1.28Mcps TDD only. Not Applicable to 3.84Mcps TDD.
-
-SyncDLCodeIdThreInfoList ::= SEQUENCE {
- syncFrameNoToReceive SyncFrameNumber,
- syncDLCodeIdInfoLCR SyncDLCodeInfoListLCR,
- iE-Extensions ProtocolExtensionContainer { { SyncDLCodeIdThreInfoList-ExtIEs } } OPTIONAL,
- ...
-}
-
-SyncDLCodeIdThreInfoList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SyncDLCodeInfoListLCR ::= SEQUENCE (SIZE (1..maxNrOfSyncDLCodesLCR)) OF SyncDLCodeInfoItemLCR
-
-SyncDLCodeInfoItemLCR ::= SEQUENCE {
- syncDLCodeId SYNCDlCodeId,
- syncDLCodeIdArrivTime CellSyncBurstTimingLCR OPTIONAL,
- syncDLCodeIdTimingThre CellSyncBurstTimingThreshold OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SyncDLCodeInfoItem-LCR-ExtIEs } } OPTIONAL,
- ...
-}
-
-SyncDLCodeInfoItem-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SynchronisationReportCharacteristicsType ::= ENUMERATED {
- frameRelated,
- sFNperiodRelated,
- cycleLengthRelated,
- thresholdExceeding,
- frequencyAcquisitionCompleted,
- ...
-}
-
-SynchronisationReportType ::= ENUMERATED {
- initialPhase,
- steadyStatePhase,
- lateEntrantCell,
- frequencyAcquisition,
- ...
-}
-
--- ==========================================
--- T
--- ==========================================
-
-T1 ::= ENUMERATED {v10,v20,v30,v40,v50,v60,v70,v80,v90,v100,v120,v140,v160,v200,v300,v400,...}
-
-T-Cell ::= ENUMERATED {
- v0,
- v1,
- v2,
- v3,
- v4,
- v5,
- v6,
- v7,
- v8,
- v9
-}
-
-T-RLFAILURE ::= INTEGER (0..255)
--- Unit seconds, Range 0s .. 25.5s, Step 0.1s
-
-TDD-AckNack-Power-Offset ::= INTEGER (-7..8,...)
--- Unit dB, Range -7dB .. +8dB, Step 1dB
-
-TDD-ChannelisationCode ::= ENUMERATED {
- chCode1div1,
- chCode2div1,
- chCode2div2,
- chCode4div1,
- chCode4div2,
- chCode4div3,
- chCode4div4,
- chCode8div1,
- chCode8div2,
- chCode8div3,
- chCode8div4,
- chCode8div5,
- chCode8div6,
- chCode8div7,
- chCode8div8,
- chCode16div1,
- chCode16div2,
- chCode16div3,
- chCode16div4,
- chCode16div5,
- chCode16div6,
- chCode16div7,
- chCode16div8,
- chCode16div9,
- chCode16div10,
- chCode16div11,
- chCode16div12,
- chCode16div13,
- chCode16div14,
- chCode16div15,
- chCode16div16,
- ...
-}
-
-TDD-ChannelisationCodeLCR ::= SEQUENCE {
- tDD-ChannelisationCode TDD-ChannelisationCode,
- modulation Modulation, -- Modulation options for 1.28Mcps TDD in contrast to 3.84Mcps TDD
- iE-Extensions ProtocolExtensionContainer { { TDD-ChannelisationCodeLCR-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-ChannelisationCodeLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-DL-Code-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF TDD-DL-Code-InformationItem
-
-TDD-DL-Code-InformationItem ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { TDD-DL-Code-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-DL-Code-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-DL-Code-LCR-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF TDD-DL-Code-LCR-InformationItem
-
-TDD-DL-Code-LCR-InformationItem ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- tdd-DL-DPCH-TimeSlotFormat-LCR TDD-DL-DPCH-TimeSlotFormat-LCR,
- iE-Extensions ProtocolExtensionContainer { { TDD-DL-Code-LCR-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-DL-Code-LCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-DL-DPCH-TimeSlotFormat-LCR ::= CHOICE {
- qPSK QPSK-DL-DPCH-TimeSlotFormatTDD-LCR,
- eightPSK EightPSK-DL-DPCH-TimeSlotFormatTDD-LCR,
- ...
-}
-
-QPSK-DL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
-
-EightPSK-DL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
-
-TDD-DPCHOffset ::= CHOICE {
- initialOffset INTEGER (0..255),
- noinitialOffset INTEGER (0..63)
-}
-
-TDD-PhysicalChannelOffset ::= INTEGER (0..63)
-
-TDD-TPC-DownlinkStepSize ::= ENUMERATED {
- step-size1,
- step-size2,
- step-size3,
- ...
-}
-
-TDD-TPC-UplinkStepSize-LCR ::= ENUMERATED {
- step-size1,
- step-size2,
- step-size3,
- ...
-}
-
-TransportFormatCombination-Beta ::= CHOICE {
- signalledGainFactors SEQUENCE {
- gainFactor CHOICE {
- fdd SEQUENCE {
- betaC BetaCD,
- betaD BetaCD,
- iE-Extensions ProtocolExtensionContainer { { GainFactorFDD-ExtIEs } } OPTIONAL,
- ...
- },
- tdd BetaCD,
- ...
- },
- refTFCNumber RefTFCNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SignalledGainFactors-ExtIEs } } OPTIONAL,
- ...
- },
- computedGainFactors RefTFCNumber,
- ...
-}
-
-GainFactorFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SignalledGainFactors-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-UL-Code-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF TDD-UL-Code-InformationItem
-
-TDD-UL-Code-InformationItem ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { TDD-UL-Code-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-UL-Code-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-UL-Code-LCR-Information ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF TDD-UL-Code-LCR-InformationItem
-
-TDD-UL-Code-LCR-InformationItem ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- tdd-UL-DPCH-TimeSlotFormat-LCR TDD-UL-DPCH-TimeSlotFormat-LCR,
- iE-Extensions ProtocolExtensionContainer { { TDD-UL-Code-LCR-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TDD-UL-Code-LCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-UL-DPCH-TimeSlotFormat-LCR ::= CHOICE {
- qPSK QPSK-UL-DPCH-TimeSlotFormatTDD-LCR,
- eightPSK EightPSK-UL-DPCH-TimeSlotFormatTDD-LCR,
- ...
-}
-
-QPSK-UL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..69,...)
-
-EightPSK-UL-DPCH-TimeSlotFormatTDD-LCR ::= INTEGER(0..24,...)
-
-TFCI-Coding ::= ENUMERATED {
- v4,
- v8,
- v16,
- v32,
- ...
-}
-
-TFCI-Presence ::= ENUMERATED {
- present,
- not-present
-}
-
-TFCI-SignallingMode ::= SEQUENCE {
- tFCI-SignallingOption TFCI-SignallingMode-TFCI-SignallingOption,
- splitType TFCI-SignallingMode-SplitType OPTIONAL,
- -- This IE shall be present if the TFCI signalling option is set to "split" --
- lengthOfTFCI2 TFCI-SignallingMode-LengthOfTFCI2 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { TFCI-SignallingMode-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCI-SignallingMode-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCI-SignallingMode-LengthOfTFCI2 ::= INTEGER (1..10)
-
-TFCI-SignallingMode-SplitType ::= ENUMERATED {
- hard,
- logical
-}
-
-TFCI-SignallingMode-TFCI-SignallingOption ::= ENUMERATED {
- normal,
- split
-}
-
-TFCI2-BearerInformationResponse ::= SEQUENCE {
- bindingID BindingID,
- transportLayerAddress TransportLayerAddress,
- iE-Extensions ProtocolExtensionContainer { { TFCI2-BearerInformationResponse-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCI2-BearerInformationResponse-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCI2BearerRequestIndicator ::= ENUMERATED {newBearerRequested}
-
-TGD ::= INTEGER (0|15..269)
--- 0 = Undefined, only one transmission gap in the transmission gap pattern sequence
-
-TGPRC ::= INTEGER (0..511)
--- 0 = infinity
-
-TGPSID ::= INTEGER (1.. maxTGPS)
-
-TGSN ::= INTEGER (0..14)
-
-TimeSlot ::= INTEGER (0..14)
-
-TimeSlotDirection ::= ENUMERATED {
- ul,
- dl,
- ...
-}
-
-TimeSlotLCR ::= INTEGER (0..6)
-
-TimeSlotStatus ::= ENUMERATED {
- active,
- not-active,
- ...
-}
-
-TimingAdjustmentValue ::= CHOICE {
- initialPhase INTEGER (0..1048575,...),
- steadyStatePhase INTEGER (0..255,...)
-}
-
-TimingAdjustmentValueLCR ::= CHOICE {
- initialPhase INTEGER (0..524287,...),
- steadyStatePhase INTEGER (0..127,...)
-}
-
-TimingAdvanceApplied ::= ENUMERATED {
- yes,
- no
-}
-
-TnlQos ::= CHOICE {
- dsField DsField,
- genericTrafficCategory GenericTrafficCategory,
- ...
-}
-
-ToAWE ::= INTEGER (0..2559)
--- Unit ms
-
-ToAWS ::= INTEGER (0..1279)
--- Unit ms
-
-Transmission-Gap-Pattern-Sequence-Information ::= SEQUENCE (SIZE (1..maxTGPS)) OF
- SEQUENCE {
- tGPSID TGPSID,
- tGSN TGSN,
- tGL1 GapLength,
- tGL2 GapLength OPTIONAL,
- tGD TGD,
- tGPL1 GapDuration,
- tGPL2 GapDuration OPTIONAL,
- uL-DL-mode UL-DL-mode,
- downlink-Compressed-Mode-Method Downlink-Compressed-Mode-Method OPTIONAL,
- -- This IE shall be present if the UL/DL mode IE is set to "DL only" or "UL/DL"
- uplink-Compressed-Mode-Method Uplink-Compressed-Mode-Method OPTIONAL,
- -- This IE shall be present if the UL/DL mode IE is set to "UL only" or "UL/DL"
- dL-FrameType DL-FrameType,
- delta-SIR1 DeltaSIR,
- delta-SIR-after1 DeltaSIR,
- delta-SIR2 DeltaSIR OPTIONAL,
- delta-SIR-after2 DeltaSIR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {Transmission-Gap-Pattern-Sequence-Information-ExtIEs} } OPTIONAL,
- ...
- }
-
-Transmission-Gap-Pattern-Sequence-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransmissionGapPatternSequenceCodeInformation ::= ENUMERATED{
-code-change,
-nocode-change
-}
-
-TransmittedCarrierPowerOfAllCodesNotUsedForHS-PDSCHOrHS-SCCHTransmissionValue ::= INTEGER(0..100)
--- According to mapping in [22] and [23]
-
-Transmitted-Carrier-Power-Value ::= INTEGER(0..100)
--- According to mapping in [22]/[23]
-
-Transmitted-Code-Power-Value ::= INTEGER (0..127)
--- According to mapping in [22]/[23]. Values 0 to 9 and 123 to 127 shall not be used.
-
-Transmitted-Code-Power-Value-IncrDecrThres ::= INTEGER (0..112,...)
-
-TransmissionDiversityApplied ::= BOOLEAN
--- true: applied, false: not applied
-
-TransmitDiversityIndicator ::= ENUMERATED {
- active,
- inactive
-}
-
-TFCS ::= SEQUENCE {
- tFCSvalues CHOICE {
- no-Split-in-TFCI TFCS-TFCSList,
- split-in-TFCI SEQUENCE {
- transportFormatCombination-DCH TFCS-DCHList,
- signallingMethod CHOICE {
- tFCI-Range TFCS-MapingOnDSCHList,
- explicit TFCS-DSCHList,
- ...
- },
- iE-Extensions ProtocolExtensionContainer { { Split-in-TFCI-ExtIEs } } OPTIONAL,
- ...
- },
- ...
- },
- iE-Extensions ProtocolExtensionContainer { { TFCS-ExtIEs} } OPTIONAL,
- ...
-}
-
-Split-in-TFCI-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCS-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCS-TFCSList ::= SEQUENCE (SIZE (1..maxNrOfTFCs)) OF
- SEQUENCE {
- cTFC TFCS-CTFC,
- tFC-Beta TransportFormatCombination-Beta OPTIONAL,
- -- The IE shall be present if the TFCS concerns a UL DPCH or PRACH channel [FDD - or PCPCH channel].
- iE-Extensions ProtocolExtensionContainer { { TFCS-TFCSList-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCS-TFCSList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCS-CTFC ::= CHOICE {
- ctfc2bit INTEGER (0..3),
- ctfc4bit INTEGER (0..15),
- ctfc6bit INTEGER (0..63),
- ctfc8bit INTEGER (0..255),
- ctfc12bit INTEGER (0..4095),
- ctfc16bit INTEGER (0..65535),
- ctfcmaxbit INTEGER (0..maxCTFC)
-}
-
-TFCS-DCHList ::= SEQUENCE (SIZE (1..maxNrOfTFCI1Combs)) OF
- SEQUENCE {
- cTFC TFCS-CTFC,
- iE-Extensions ProtocolExtensionContainer { { TFCS-DCHList-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCS-DCHList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCS-MapingOnDSCHList ::= SEQUENCE (SIZE (1..maxNrOfTFCIGroups)) OF
- SEQUENCE {
- maxTFCI-field2-Value TFCS-MaxTFCI-field2-Value,
- cTFC-DSCH TFCS-CTFC,
- iE-Extensions ProtocolExtensionContainer { { TFCS-MapingOnDSCHList-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCS-MapingOnDSCHList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCS-MaxTFCI-field2-Value ::= INTEGER (1..maxNrOfTFCI2Combs-1)
-
-TFCS-DSCHList ::= SEQUENCE (SIZE (1..maxNrOfTFCI2Combs)) OF
- SEQUENCE {
- cTFC-DSCH TFCS-CTFC,
- iE-Extensions ProtocolExtensionContainer { { TFCS-DSCHList-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCS-DSCHList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransportBearerRequestIndicator ::= ENUMERATED {
- bearerRequested,
- bearerNotRequested,
- ...
-}
-
-TransportFormatSet ::= SEQUENCE {
- dynamicParts TransportFormatSet-DynamicPartList,
- semi-staticPart TransportFormatSet-Semi-staticPart,
- iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransportFormatSet-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransportFormatSet-DynamicPartList ::= SEQUENCE (SIZE (1..maxNrOfTFs)) OF
- SEQUENCE {
- nrOfTransportBlocks TransportFormatSet-NrOfTransportBlocks,
- transportBlockSize TransportFormatSet-TransportBlockSize OPTIONAL,
- -- This IE shall be present if the Number of Transport Blocks IE is set to a value greater than 0
- mode TransportFormatSet-ModeDP,
- iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-DynamicPartList-ExtIEs} } OPTIONAL,
- ...
- }
-
-TransportFormatSet-DynamicPartList-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TDD-TransportFormatSet-ModeDP ::= SEQUENCE {
- transmissionTimeIntervalInformation TransmissionTimeIntervalInformation OPTIONAL,
- -- This IE shall be present if the Transmission Time Interval IE in the Semi-static Transport Format Information IE is set to "dynamic"
- iE-Extensions ProtocolExtensionContainer { {TDD-TransportFormatSet-ModeDP-ExtIEs} } OPTIONAL,
- ...
- }
-
-TDD-TransportFormatSet-ModeDP-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransmissionTimeIntervalInformation ::= SEQUENCE (SIZE (1..maxTTI-count)) OF
- SEQUENCE {
- transmissionTimeInterval TransportFormatSet-TransmissionTimeIntervalDynamic,
- iE-Extensions ProtocolExtensionContainer { { TransmissionTimeIntervalInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransmissionTimeIntervalInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransportFormatSet-Semi-staticPart ::= SEQUENCE {
- transmissionTimeInterval TransportFormatSet-TransmissionTimeIntervalSemiStatic,
- channelCoding TransportFormatSet-ChannelCodingType,
- codingRate TransportFormatSet-CodingRate OPTIONAL,
- -- This IE shall be present if the Type of channel coding IE is set to 'convolutional' or 'turbo'
- rateMatchingAttribute TransportFormatSet-RateMatchingAttribute,
- cRC-Size TransportFormatSet-CRC-Size,
- mode TransportFormatSet-ModeSSP ,
- iE-Extensions ProtocolExtensionContainer { { TransportFormatSet-Semi-staticPart-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransportFormatSet-Semi-staticPart-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TransportFormatSet-ChannelCodingType ::= ENUMERATED {
- no-codingTDD,
- convolutional-coding,
- turbo-coding,
- ...
-}
-
-TransportFormatSet-CodingRate ::= ENUMERATED {
- half,
- third,
- ...
-}
-
-TransportFormatSet-CRC-Size ::= ENUMERATED {
- v0,
- v8,
- v12,
- v16,
- v24,
- ...
-}
-
-TransportFormatSet-ModeDP ::= CHOICE {
- tdd TDD-TransportFormatSet-ModeDP,
- notApplicable NULL,
- ...
-}
-
-TransportFormatSet-ModeSSP ::= CHOICE {
- tdd TransportFormatSet-SecondInterleavingMode,
- notApplicable NULL,
- ...
-}
-
-TransportFormatSet-NrOfTransportBlocks ::= INTEGER (0..512)
-
-TransportFormatSet-RateMatchingAttribute ::= INTEGER (1..maxRateMatching)
-
-TransportFormatSet-SecondInterleavingMode ::= ENUMERATED {
- frame-related,
- timeSlot-related,
- ...
-}
-
-TransportFormatSet-TransmissionTimeIntervalDynamic ::= ENUMERATED {
- msec-10,
- msec-20,
- msec-40,
- msec-80,
- ...
-}
-
-TransportFormatSet-TransmissionTimeIntervalSemiStatic ::= ENUMERATED {
- msec-10,
- msec-20,
- msec-40,
- msec-80,
- dynamic,
- ...,
- msec-5
-}
-
-TransportFormatSet-TransportBlockSize ::= INTEGER (0..5000)
-
-TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
-
-TSTD-Indicator ::= ENUMERATED {
- active,
- inactive
-}
-
-TUTRANGPS ::= SEQUENCE {
- ms-part INTEGER (0..16383),
- ls-part INTEGER (0..4294967295)
-}
-
-TUTRANGPSChangeLimit ::= INTEGER (1..256)
--- Unit chip, Step 1/16 chip, Range 1/16..16 chip
-
-TUTRANGPSDriftRate ::= INTEGER (-50..50)
--- Unit chip/s, Step 1/256 chip/s, Range -50/256..+50/256 chip/s
-
-TUTRANGPSDriftRateQuality ::= INTEGER (0..50)
--- Unit chip/s, Step 1/256 chip/s, Range 0..50/256 chip/s
-
-TUTRANGPSAccuracyClass ::= ENUMERATED {
- accuracy-class-A,
- accuracy-class-B,
- accuracy-class-C,
- ...
-}
-
-TUTRANGPSMeasurementThresholdInformation ::= SEQUENCE {
- tUTRANGPSChangeLimit TUTRANGPSChangeLimit OPTIONAL,
- predictedTUTRANGPSDeviationLimit PredictedTUTRANGPSDeviationLimit OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { TUTRANGPSMeasurementThresholdInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TUTRANGPSMeasurementThresholdInformation-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TUTRANGPSMeasurementValueInformation ::= SEQUENCE {
- tUTRANGPS TUTRANGPS,
- tUTRANGPSQuality TUTRANGPSQuality OPTIONAL,
- tUTRANGPSDriftRate TUTRANGPSDriftRate,
- tUTRANGPSDriftRateQuality TUTRANGPSDriftRateQuality OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {TUTRANGPSMeasurementValueInformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-TUTRANGPSMeasurementValueInformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TUTRANGPSQuality ::= INTEGER (0..255)
--- Unit chip, Step 1/16 chip, Range 0.. 255/16 chip
-
-TypeOfError ::= ENUMERATED {
- not-understood,
- missing,
- ...
-}
-
--- ==========================================
--- U
--- ==========================================
-
-UARFCN ::= INTEGER (0..16383, ...)
--- corresponds to 0MHz .. 3276.6MHz
-
-UC-Id ::= SEQUENCE {
- rNC-ID RNC-ID,
- c-ID C-ID,
- iE-Extensions ProtocolExtensionContainer { {UC-Id-ExtIEs} } OPTIONAL,
- ...
-}
-UC-Id-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UDRE ::= ENUMERATED {
- udre-minusequal-one-m,
- udre-betweenoneandfour-m,
- udre-betweenfourandeight-m,
- udre-greaterequaleight-m
-}
-
-
-UE-Capability-Information ::= SEQUENCE {
- hSDSCH-Physical-Layer-Category INTEGER (1..64,...),
- iE-Extensions ProtocolExtensionContainer { { UE-Capability-Information-ExtIEs } } OPTIONAL,
- ...
-}
-
-UE-Capability-Information-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-CapacityCredit ::= INTEGER (0..65535)
-
-UL-DL-mode ::= ENUMERATED {
- ul-only,
- dl-only,
- both-ul-and-dl
-}
-
-Uplink-Compressed-Mode-Method ::= ENUMERATED {
- sFdiv2,
- higher-layer-scheduling,
- ...
-}
-
-UL-Timeslot-Information ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationItem
-
-UL-Timeslot-InformationItem ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tFCI-Presence TFCI-Presence,
- uL-Code-InformationList TDD-UL-Code-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-TimeslotLCR-Information ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-TimeslotLCR-InformationItem
-
-UL-TimeslotLCR-InformationItem ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tFCI-Presence TFCI-Presence,
- uL-Code-InformationList TDD-UL-Code-LCR-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-TimeslotLCR-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-TimeslotLCR-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCCH-SlotFormat ::= INTEGER (0..5,...)
-
-UL-SIR ::= INTEGER (-82..173)
--- According to mapping in [16]
-
-UL-FP-Mode ::= ENUMERATED {
- normal,
- silent,
- ...
-}
-
-UL-PhysCH-SF-Variation ::= ENUMERATED {
- sf-variation-supported,
- sf-variation-not-supported
-}
-
-UL-ScramblingCode ::= SEQUENCE {
- uL-ScramblingCodeNumber UL-ScramblingCodeNumber,
- uL-ScramblingCodeLength UL-ScramblingCodeLength,
- iE-Extensions ProtocolExtensionContainer { { UL-ScramblingCode-ExtIEs } } OPTIONAL,
- ...
-}
-
-UL-ScramblingCode-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-ScramblingCodeNumber ::= INTEGER (0..16777215)
-
-UL-ScramblingCodeLength ::= ENUMERATED {
- short,
- long
-}
-
-UL-Synchronisation-Parameters-LCR ::= SEQUENCE {
- uL-Synchronisation-StepSize UL-Synchronisation-StepSize,
- uL-Synchronisation-Frequency UL-Synchronisation-Frequency,
- iE-Extensions ProtocolExtensionContainer { { UL-Synchronisation-Parameters-LCR-ExtIEs } } OPTIONAL,
- ...
-}
-
-UL-Synchronisation-Parameters-LCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Synchronisation-StepSize ::= INTEGER (1..8)
-
-UL-Synchronisation-Frequency ::= INTEGER (1..8)
-
-UL-TimeSlot-ISCP-Info ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-TimeSlot-ISCP-InfoItem
-
-UL-TimeSlot-ISCP-InfoItem ::= SEQUENCE {
- timeSlot TimeSlot,
- iSCP UL-TimeslotISCP-Value,
- iE-Extensions ProtocolExtensionContainer { { UL-TimeSlot-ISCP-InfoItem-ExtIEs} } OPTIONAL,
- ...
- }
-
-UL-TimeSlot-ISCP-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-TimeSlot-ISCP-LCR-Info ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-TimeSlot-ISCP-LCR-InfoItem
-
-UL-TimeSlot-ISCP-LCR-InfoItem ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- iSCP UL-TimeslotISCP-Value,
- iE-Extensions ProtocolExtensionContainer { { UL-TimeSlot-ISCP-LCR-InfoItem-ExtIEs} } OPTIONAL,
- ...
- }
-
-UL-TimeSlot-ISCP-LCR-InfoItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unidirectional-DCH-Indicator ::= ENUMERATED {
- downlink-DCH-only,
- uplink-DCH-only
-}
-
-USCH-Information ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-InformationItem
-
-USCH-InformationItem ::= SEQUENCE {
- uSCH-ID USCH-ID,
- cCTrCH-ID CCTrCH-ID, -- UL CCTrCH in which the USCH is mapped
- transportFormatSet TransportFormatSet, -- For USCH
- allocationRetentionPriority AllocationRetentionPriority,
- iE-Extensions ProtocolExtensionContainer { { USCH-InformationItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-USCH-InformationItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
-{ ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
- ...
-}
-
-USCH-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-InformationResponseItem
-
-USCH-InformationResponseItem ::= SEQUENCE {
- uSCH-ID USCH-ID,
- bindingID BindingID OPTIONAL,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { USCH-InformationResponseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-USCH-InformationResponseItem-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-TimeslotISCP-Value ::= INTEGER (0..127)
--- According to mapping in [23]
-
-UL-TimeslotISCP-Value-IncrDecrThres ::= INTEGER (0..126)
-
-USCH-ID ::= INTEGER (0..255)
-
--- ==========================================
--- V
--- ==========================================
-
--- ==========================================
--- W
--- ==========================================
-
--- ==========================================
--- X
--- ==========================================
-
--- ==========================================
--- Y
--- ==========================================
-
--- ==========================================
--- Z
--- ==========================================
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-PDU-Contents.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-PDU-Contents.asn
deleted file mode 100755
index 9ecfa688a2..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-PDU-Contents.asn
+++ /dev/null
@@ -1,9234 +0,0 @@
--- **************************************************************
---
--- PDU definitions for NBAP.
---
--- **************************************************************
-
-NBAP-PDU-Contents {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-PDU-Contents (1) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Active-Pattern-Sequence-Information,
- AddorDeleteIndicator,
- AICH-Power,
- AICH-TransmissionTiming,
- AllocationRetentionPriority,
- APPreambleSignature,
- APSubChannelNumber,
- AvailabilityStatus,
- BCCH-ModificationTime,
- BindingID,
- BlockingPriorityIndicator,
- SCTD-Indicator,
- Cause,
- CCTrCH-ID,
- CDSubChannelNumbers,
- CellParameterID,
- CellSyncBurstCode,
- CellSyncBurstCodeShift,
- CellSyncBurstRepetitionPeriod,
- CellSyncBurstSIR,
- CellSyncBurstTiming,
- CellSyncBurstTimingThreshold,
- CFN,
- Channel-Assignment-Indication,
- ChipOffset,
- C-ID,
- Closedlooptimingadjustmentmode,
- CommonChannelsCapacityConsumptionLaw,
- Compressed-Mode-Deactivation-Flag,
- CommonMeasurementAccuracy,
- CommonMeasurementType,
- CommonMeasurementValue,
- CommonMeasurementValueInformation,
- CommonPhysicalChannelID,
- Common-PhysicalChannel-Status-Information,
- Common-TransportChannel-Status-Information,
- CommonTransportChannelID,
- CommonTransportChannel-InformationResponse,
- CommunicationControlPortID,
- ConfigurationGenerationID,
- ConstantValue,
- CriticalityDiagnostics,
- CPCH-Allowed-Total-Rate,
- CPCHScramblingCodeNumber,
- CPCH-UL-DPCCH-SlotFormat,
- CRNC-CommunicationContextID,
- CSBMeasurementID,
- CSBTransmissionID,
- DCH-FDD-Information,
- DCH-InformationResponse,
- DCH-ID,
- FDD-DCHs-to-Modify,
- TDD-DCHs-to-Modify,
- DCH-TDD-Information,
- DedicatedChannelsCapacityConsumptionLaw,
- DedicatedMeasurementType,
- DedicatedMeasurementValue,
- DedicatedMeasurementValueInformation,
- DelayedActivation,
- DelayedActivationUpdate,
- DiversityControlField,
- DiversityMode,
- DL-DPCH-SlotFormat,
- DL-DPCH-TimingAdjustment,
- DL-or-Global-CapacityCredit,
- DL-Power,
- DL-PowerBalancing-Information,
- DL-PowerBalancing-ActivationIndicator,
- DLPowerAveragingWindowSize,
- DL-PowerBalancing-UpdatedIndicator,
- DL-ScramblingCode,
- DL-TimeslotISCP,
- DL-Timeslot-Information,
- DL-TimeslotLCR-Information,
- DL-TimeslotISCPInfo,
- DL-TimeslotISCPInfoLCR,
- DL-TPC-Pattern01Count,
- DPC-Mode,
- DPCH-ID,
- DSCH-ID,
- DSCH-FDD-Common-Information,
- DSCH-FDD-Information,
- DSCH-InformationResponse,
- DSCH-TDD-Information,
- DwPCH-Power,
- End-Of-Audit-Sequence-Indicator,
- EnhancedDSCHPC,
- EnhancedDSCHPCCounter,
- EnhancedDSCHPCIndicator,
- EnhancedDSCHPCWnd,
- EnhancedDSCHPowerOffset,
- FDD-DL-ChannelisationCodeNumber,
- FDD-DL-CodeInformation,
- FDD-S-CCPCH-Offset,
- FDD-TPC-DownlinkStepSize,
- FirstRLS-Indicator,
- FNReportingIndicator,
- FPACH-Power,
- FrameAdjustmentValue,
- FrameHandlingPriority,
- FrameOffset,
- HSDPA-Capability,
- HS-PDSCH-FDD-Code-Information,
- HS-SCCH-ID,
- HS-SCCH-FDD-Code-Information,
- HS-SICH-ID,
- IB-OC-ID,
- IB-SG-DATA,
- IB-SG-POS,
- IB-SG-REP,
- IB-Type,
- InformationExchangeID,
- InformationReportCharacteristics,
- InformationType,
- InnerLoopDLPCStatus,
- IPDL-FDD-Parameters,
- IPDL-TDD-Parameters,
- IPDL-Indicator,
- IPDL-TDD-Parameters-LCR,
- LimitedPowerIncrease,
- Local-Cell-ID,
- MaximumDL-PowerCapability,
- Maximum-PDSCH-Power,
- MaximumTransmissionPower,
- Max-Number-of-PCPCHes,
- MaxNrOfUL-DPDCHs,
- MaxPRACH-MidambleShifts,
- MeasurementFilterCoefficient,
- MeasurementID,
- MidambleAllocationMode,
- MidambleShiftAndBurstType,
- MidambleShiftLCR,
- MinimumDL-PowerCapability,
- MinSpreadingFactor,
- MinUL-ChannelisationCodeLength,
- MultiplexingPosition,
- NEOT,
- NCyclesPerSFNperiod,
- NFmax,
- NRepetitionsPerCyclePeriod,
- N-INSYNC-IND,
- N-OUTSYNC-IND,
- NeighbouringCellMeasurementInformation,
- NeighbouringFDDCellMeasurementInformation,
- NeighbouringTDDCellMeasurementInformation,
- NodeB-CommunicationContextID,
- NumberOfReportedCellPortions,
- NStartMessage,
- NSubCyclesPerCyclePeriod,
- PagingIndicatorLength,
- PayloadCRC-PresenceIndicator,
- PCCPCH-Power,
- PCP-Length,
- PDSCH-CodeMapping,
- PDSCHSet-ID,
- PDSCH-ID,
- PICH-Mode,
- PICH-Power,
- PowerAdjustmentType,
- PowerOffset,
- PowerRaiseLimit,
- PRACH-Midamble,
- PreambleSignatures,
- PreambleThreshold,
- PredictedSFNSFNDeviationLimit,
- PredictedTUTRANGPSDeviationLimit,
- PrimaryCPICH-Power,
- Primary-CPICH-Usage-for-Channel-Estimation,
- PrimaryScramblingCode,
- PropagationDelay,
- SCH-TimeSlot,
- PunctureLimit,
- PUSCHSet-ID,
- PUSCH-ID,
- QE-Selector,
- Qth-Parameter,
- RACH-SlotFormat,
- RACH-SubChannelNumbers,
- ReferenceClockAvailability,
- ReferenceSFNoffset,
- RepetitionLength,
- RepetitionPeriod,
- ReportCharacteristics,
- RequestedDataValue,
- RequestedDataValueInformation,
- ResourceOperationalState,
- RL-Set-ID,
- RL-ID,
- RL-Specific-DCH-Info,
- Received-total-wide-band-power-Value,
- AdjustmentPeriod,
- ScaledAdjustmentRatio,
- MaxAdjustmentStep,
- RNC-ID,
- ScramblingCodeNumber,
- Secondary-CPICH-Information-Change,
- SecondaryCCPCH-SlotFormat,
- Segment-Type,
- S-FieldLength,
- SFN,
- SFNSFNChangeLimit,
- SFNSFNDriftRate,
- SFNSFNDriftRateQuality,
- SFNSFNQuality,
- ShutdownTimer,
- SIB-Originator,
- SpecialBurstScheduling,
- SignallingBearerRequestIndicator,
- SSDT-Cell-Identity,
- SSDT-CellID-Length,
- SSDT-Indication,
- Start-Of-Audit-Sequence-Indicator,
- STTD-Indicator,
- SSDT-SupportIndicator,
- SyncCase,
- SYNCDlCodeId,
- SyncFrameNumber,
- SynchronisationReportCharacteristics,
- SynchronisationReportType,
- T-Cell,
- T-RLFAILURE,
- TDD-ChannelisationCode,
- TDD-ChannelisationCodeLCR,
- TDD-DL-Code-LCR-Information,
- TDD-DPCHOffset,
- TDD-TPC-DownlinkStepSize,
- TDD-PhysicalChannelOffset,
- TDD-UL-Code-LCR-Information,
- TFCI2-BearerInformationResponse,
- TFCI2BearerRequestIndicator,
- TFCI-Coding,
- TFCI-Presence,
- TFCI-SignallingMode,
- TFCS,
- TimeSlot,
- TimeSlotLCR,
- TimeSlotDirection,
- TimeSlotStatus,
- TimingAdjustmentValue,
- TimingAdvanceApplied,
- TnlQos,
- ToAWE,
- ToAWS,
- TransmissionDiversityApplied,
- TransmitDiversityIndicator,
- TransmissionGapPatternSequenceCodeInformation,
- Transmission-Gap-Pattern-Sequence-Information,
- TransportBearerRequestIndicator,
- TransportFormatSet,
- TransportLayerAddress,
- TSTD-Indicator,
- TUTRANGPS,
- TUTRANGPSChangeLimit,
- TUTRANGPSDriftRate,
- TUTRANGPSDriftRateQuality,
- TUTRANGPSQuality,
- UARFCN,
- UC-Id,
- USCH-Information,
- USCH-InformationResponse,
- UL-CapacityCredit,
- UL-DPCCH-SlotFormat,
- UL-SIR,
- UL-FP-Mode,
- UL-PhysCH-SF-Variation,
- UL-ScramblingCode,
- UL-Timeslot-Information,
- UL-TimeslotLCR-Information,
- UL-TimeSlot-ISCP-Info,
- UL-TimeSlot-ISCP-LCR-Info,
- UL-TimeslotISCP-Value,
- UL-TimeslotISCP-Value-IncrDecrThres,
- USCH-ID,
- HSDSCH-FDD-Information,
- HSDSCH-FDD-Information-Response,
- HSDSCH-Information-to-Modify,
- HSDSCH-Information-to-Modify-Unsynchronised,
- HSDSCH-MACdFlow-ID,
- HSDSCH-MACdFlows-Information,
- HSDSCH-MACdFlows-to-Delete,
- HSDSCH-RNTI,
- HSDSCH-TDD-Information,
- HSDSCH-TDD-Information-Response,
- PrimaryCCPCH-RSCP,
- HSDSCH-FDD-Update-Information,
- HSDSCH-TDD-Update-Information,
- UL-Synchronisation-Parameters-LCR,
- TDD-DL-DPCH-TimeSlotFormat-LCR,
- TDD-UL-DPCH-TimeSlotFormat-LCR,
- TDD-TPC-UplinkStepSize-LCR,
- CellSyncBurstTimingLCR,
- TimingAdjustmentValueLCR,
- PrimaryCCPCH-RSCP-Delta
-FROM NBAP-IEs
-
- PrivateIE-Container{},
- ProtocolExtensionContainer{},
- ProtocolIE-Container{},
- ProtocolIE-Single-Container{},
- ProtocolIE-ContainerList{},
- NBAP-PRIVATE-IES,
- NBAP-PROTOCOL-IES,
- NBAP-PROTOCOL-EXTENSION
-FROM NBAP-Containers
-
- id-Active-Pattern-Sequence-Information,
- id-AdjustmentRatio,
- id-AICH-Information,
- id-AICH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-AP-AICH-Information,
- id-AP-AICH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-BCH-Information,
- id-BCCH-ModificationTime,
- id-bindingID,
- id-BlockingPriorityIndicator,
- id-Cause,
- id-CauseLevel-PSCH-ReconfFailure,
- id-CauseLevel-RL-AdditionFailureFDD,
- id-CauseLevel-RL-AdditionFailureTDD,
- id-CauseLevel-RL-ReconfFailure,
- id-CauseLevel-RL-SetupFailureFDD,
- id-CauseLevel-RL-SetupFailureTDD,
- id-CauseLevel-SyncAdjustmntFailureTDD,
- id-CCP-InformationItem-AuditRsp,
- id-CCP-InformationList-AuditRsp,
- id-CCP-InformationItem-ResourceStatusInd,
- id-CCTrCH-InformationItem-RL-FailureInd,
- id-CCTrCH-InformationItem-RL-RestoreInd,
- id-CCTrCH-Initial-DL-Power-RL-AdditionRqstTDD,
- id-CCTrCH-Initial-DL-Power-RL-ReconfPrepTDD,
- id-CCTrCH-Initial-DL-Power-RL-SetupRqstTDD,
- id-CDCA-ICH-Information,
- id-CDCA-ICH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-CellAdjustmentInfo-SyncAdjustmntRqstTDD,
- id-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD,
- id-Cell-InformationItem-AuditRsp,
- id-Cell-InformationItem-ResourceStatusInd,
- id-Cell-InformationList-AuditRsp,
- id-CellParameterID,
- id-CellSyncBurstTransInit-CellSyncInitiationRqstTDD,
- id-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD,
- id-cellSyncBurstRepetitionPeriod,
- id-CellSyncBurstTransReconfiguration-CellSyncReconfRqstTDD,
- id-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD,
- id-CellSyncBurstMeasReconfiguration-CellSyncReconfRqstTDD,
- id-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD,
- id-CellSyncBurstInfoList-CellSyncReconfRqstTDD,
- id-CellSyncInfo-CellSyncReprtTDD,
- id-CFN,
- id-CFNReportingIndicator,
- id-C-ID,
- id-Closed-Loop-Timing-Adjustment-Mode,
- id-CommonMeasurementAccuracy,
- id-CommonMeasurementObjectType-CM-Rprt,
- id-CommonMeasurementObjectType-CM-Rqst,
- id-CommonMeasurementObjectType-CM-Rsp,
- id-CommonMeasurementType,
- id-CommonPhysicalChannelID,
- id-CommonPhysicalChannelType-CTCH-ReconfRqstFDD,
- id-CommonPhysicalChannelType-CTCH-SetupRqstFDD,
- id-CommonPhysicalChannelType-CTCH-SetupRqstTDD,
- id-CommunicationContextInfoItem-Reset,
- id-CommunicationControlPortID,
- id-CommunicationControlPortInfoItem-Reset,
- id-Compressed-Mode-Deactivation-Flag,
- id-ConfigurationGenerationID,
- id-CPCH-Information,
- id-CPCH-Parameters-CTCH-SetupRsp,
- id-CPCH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-CRNC-CommunicationContextID,
- id-CriticalityDiagnostics,
- id-CSBTransmissionID,
- id-CSBMeasurementID,
- id-DCHs-to-Add-FDD,
- id-DCHs-to-Add-TDD,
- id-DCH-AddList-RL-ReconfPrepTDD,
- id-DCH-DeleteList-RL-ReconfPrepFDD,
- id-DCH-DeleteList-RL-ReconfPrepTDD,
- id-DCH-DeleteList-RL-ReconfRqstFDD,
- id-DCH-DeleteList-RL-ReconfRqstTDD,
- id-DCH-FDD-Information,
- id-DCH-TDD-Information,
- id-DCH-InformationResponse,
- id-DCH-RearrangeList-Bearer-RearrangeInd,
- id-DSCH-RearrangeList-Bearer-RearrangeInd,
- id-FDD-DCHs-to-Modify,
- id-TDD-DCHs-to-Modify,
- id-DedicatedMeasurementObjectType-DM-Rprt,
- id-DedicatedMeasurementObjectType-DM-Rqst,
- id-DedicatedMeasurementObjectType-DM-Rsp,
- id-DedicatedMeasurementType,
- id-DelayedActivation,
- id-DelayedActivationList-RL-ActivationCmdFDD,
- id-DelayedActivationList-RL-ActivationCmdTDD,
- id-DelayedActivationInformation-RL-ActivationCmdFDD,
- id-DelayedActivationInformation-RL-ActivationCmdTDD,
- id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD,
- id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD,
- id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD,
- id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD,
- id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD,
- id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD,
- id-DL-CCTrCH-InformationList-RL-SetupRqstTDD,
- id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD,
- id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD,
- id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD,
- id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD,
- id-DL-DPCH-InformationItem-RL-AdditionRqstTDD,
- id-DL-DPCH-InformationList-RL-SetupRqstTDD,
- id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD,
- id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD,
- id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD,
- id-DL-DPCH-Information-RL-ReconfPrepFDD,
- id-DL-DPCH-Information-RL-ReconfRqstFDD,
- id-DL-DPCH-Information-RL-SetupRqstFDD,
- id-DL-DPCH-TimingAdjustment,
- id-DL-PowerBalancing-Information,
- id-DL-PowerBalancing-ActivationIndicator,
- id-DL-ReferencePowerInformationItem-DL-PC-Rqst,
- id-DL-PowerBalancing-UpdatedIndicator,
- id-DLReferencePower,
- id-DLReferencePowerList-DL-PC-Rqst,
- id-DL-TPC-Pattern01Count,
- id-DPC-Mode,
- id-DPCHConstant,
- id-DSCH-AddItem-RL-ReconfPrepFDD,
- id-DSCHs-to-Add-FDD,
- id-DSCH-DeleteItem-RL-ReconfPrepFDD,
- id-DSCH-DeleteList-RL-ReconfPrepFDD,
- id-DSCHs-to-Add-TDD,
- id-DSCH-Information-DeleteList-RL-ReconfPrepTDD,
- id-DSCH-Information-ModifyList-RL-ReconfPrepTDD,
- id-DSCH-InformationResponse,
- id-DSCH-FDD-Information,
- id-DSCH-FDD-Common-Information,
- id-DSCH-TDD-Information,
- id-DSCH-ModifyItem-RL-ReconfPrepFDD,
- id-DSCH-ModifyList-RL-ReconfPrepFDD,
- id-End-Of-Audit-Sequence-Indicator,
- id-EnhancedDSCHPC,
- id-EnhancedDSCHPCIndicator,
- id-FACH-Information,
- id-FACH-ParametersList-CTCH-ReconfRqstTDD,
- id-FACH-ParametersList-CTCH-SetupRsp,
- id-FACH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-FACH-ParametersListIE-CTCH-SetupRqstFDD,
- id-FACH-ParametersListIE-CTCH-SetupRqstTDD,
- id-IndicationType-ResourceStatusInd,
- id-InformationExchangeID,
- id-InformationExchangeObjectType-InfEx-Rqst,
- id-InformationExchangeObjectType-InfEx-Rsp,
- id-InformationExchangeObjectType-InfEx-Rprt,
- id-InformationReportCharacteristics,
- id-InformationType,
- id-InitDL-Power,
- id-InnerLoopDLPCStatus,
- id-IntStdPhCellSyncInfoItem-CellSyncReprtTDD,
- id-IPDLParameter-Information-Cell-ReconfRqstFDD,
- id-IPDLParameter-Information-Cell-SetupRqstFDD,
- id-IPDLParameter-Information-Cell-ReconfRqstTDD,
- id-IPDLParameter-Information-Cell-SetupRqstTDD,
- id-LateEntranceCellSyncInfoItem-CellSyncReprtTDD,
- id-Limited-power-increase-information-Cell-SetupRqstFDD,
- id-Local-Cell-ID,
- id-Local-Cell-Group-InformationItem-AuditRsp,
- id-Local-Cell-Group-InformationItem-ResourceStatusInd,
- id-Local-Cell-Group-InformationItem2-ResourceStatusInd,
- id-Local-Cell-Group-InformationList-AuditRsp,
- id-Local-Cell-InformationItem-AuditRsp,
- id-Local-Cell-InformationItem-ResourceStatusInd,
- id-Local-Cell-InformationItem2-ResourceStatusInd,
- id-Local-Cell-InformationList-AuditRsp,
- id-AdjustmentPeriod,
- id-MaxAdjustmentStep,
- id-MaximumTransmissionPower,
- id-MeasurementFilterCoefficient,
- id-MeasurementID,
- id-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst,
- id-multipleRL-dl-DPCH-InformationList,
- id-multipleRL-dl-DPCH-InformationModifyList,
- id-multipleRL-ul-DPCH-InformationList,
- id-multipleRL-ul-DPCH-InformationModifyList,
- id-NCyclesPerSFNperiod,
- id-NeighbouringCellMeasurementInformation,
- id-NodeB-CommunicationContextID,
- id-NRepetitionsPerCyclePeriod,
- id-NumberOfReportedCellPortions,
- id-P-CCPCH-Information,
- id-P-CPICH-Information,
- id-P-SCH-Information,
- id-PCCPCH-Information-Cell-ReconfRqstTDD,
- id-PCCPCH-Information-Cell-SetupRqstTDD,
- id-PCH-Parameters-CTCH-ReconfRqstTDD,
- id-PCH-Parameters-CTCH-SetupRsp,
- id-PCH-ParametersItem-CTCH-ReconfRqstFDD,
- id-PCH-ParametersItem-CTCH-SetupRqstFDD,
- id-PCH-ParametersItem-CTCH-SetupRqstTDD,
- id-PCH-Information,
- id-PCPCH-Information,
- id-PICH-ParametersItem-CTCH-ReconfRqstFDD,
- id-PDSCH-Information-AddListIE-PSCH-ReconfRqst,
- id-PDSCH-Information-Cell-SetupRqstFDD,
- id-PDSCH-Information-Cell-ReconfRqstFDD,
- id-PDSCH-Information-ModifyListIE-PSCH-ReconfRqst,
- id-PDSCH-RL-ID,
- id-PDSCHSets-AddList-PSCH-ReconfRqst,
- id-PDSCHSets-DeleteList-PSCH-ReconfRqst,
- id-PDSCHSets-ModifyList-PSCH-ReconfRqst,
- id-PICH-Information,
- id-PICH-Parameters-CTCH-ReconfRqstTDD,
- id-PICH-ParametersItem-CTCH-SetupRqstTDD,
- id-PowerAdjustmentType,
- id-Power-Local-Cell-Group-InformationItem-AuditRsp,
- id-Power-Local-Cell-Group-InformationItem-ResourceStatusInd,
- id-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd,
- id-Power-Local-Cell-Group-InformationList-AuditRsp,
- id-Power-Local-Cell-Group-InformationList-ResourceStatusInd,
- id-Power-Local-Cell-Group-InformationList2-ResourceStatusInd,
- id-Power-Local-Cell-Group-ID,
- id-PRACH-Information,
- id-PRACHConstant,
- id-PRACH-ParametersItem-CTCH-SetupRqstTDD,
- id-PRACH-ParametersListIE-CTCH-ReconfRqstFDD,
- id-PrimaryCCPCH-Information-Cell-ReconfRqstFDD,
- id-PrimaryCCPCH-Information-Cell-SetupRqstFDD,
- id-PrimaryCPICH-Information-Cell-ReconfRqstFDD,
- id-PrimaryCPICH-Information-Cell-SetupRqstFDD,
- id-Primary-CPICH-Usage-for-Channel-Estimation,
- id-PrimarySCH-Information-Cell-ReconfRqstFDD,
- id-PrimarySCH-Information-Cell-SetupRqstFDD,
- id-PrimaryScramblingCode,
- id-SCH-Information-Cell-ReconfRqstTDD,
- id-SCH-Information-Cell-SetupRqstTDD,
- id-PUSCH-Information-AddListIE-PSCH-ReconfRqst,
- id-PUSCH-Information-ModifyListIE-PSCH-ReconfRqst,
- id-PUSCHConstant,
- id-PUSCHSets-AddList-PSCH-ReconfRqst,
- id-PUSCHSets-DeleteList-PSCH-ReconfRqst,
- id-PUSCHSets-ModifyList-PSCH-ReconfRqst,
- id-Qth-Parameter,
- id-RACH-Information,
- id-RACH-Parameters-CTCH-SetupRsp,
- id-RACH-ParametersItem-CTCH-SetupRqstFDD,
- id-RACH-ParameterItem-CTCH-SetupRqstTDD,
- id-ReferenceClockAvailability,
- id-ReferenceSFNoffset,
- id-ReportCharacteristics,
- id-Reporting-Object-RL-FailureInd,
- id-Reporting-Object-RL-RestoreInd,
- id-ResetIndicator,
- id-RL-ID,
- id-RL-InformationItem-DM-Rprt,
- id-RL-InformationItem-DM-Rqst,
- id-RL-InformationItem-DM-Rsp,
- id-RL-InformationItem-RL-AdditionRqstFDD,
- id-RL-informationItem-RL-DeletionRqst,
- id-RL-InformationItem-RL-FailureInd,
- id-RL-InformationItem-RL-PreemptRequiredInd,
- id-RL-InformationItem-RL-ReconfPrepFDD,
- id-RL-InformationItem-RL-ReconfRqstFDD,
- id-RL-InformationItem-RL-RestoreInd,
- id-RL-InformationItem-RL-SetupRqstFDD,
- id-RL-InformationList-RL-AdditionRqstFDD,
- id-RL-informationList-RL-DeletionRqst,
- id-RL-InformationList-RL-PreemptRequiredInd,
- id-RL-InformationList-RL-ReconfPrepFDD,
- id-RL-InformationList-RL-ReconfRqstFDD,
- id-RL-InformationList-RL-SetupRqstFDD,
- id-RL-InformationResponseItem-RL-AdditionRspFDD,
- id-RL-InformationResponseItem-RL-ReconfReady,
- id-RL-InformationResponseItem-RL-ReconfRsp,
- id-RL-InformationResponseItem-RL-SetupRspFDD,
- id-RL-InformationResponseList-RL-AdditionRspFDD,
- id-RL-InformationResponseList-RL-ReconfReady,
- id-RL-InformationResponseList-RL-ReconfRsp,
- id-RL-InformationResponseList-RL-SetupRspFDD,
- id-RL-InformationResponse-RL-AdditionRspTDD,
- id-RL-InformationResponse-RL-SetupRspTDD,
- id-RL-Information-RL-AdditionRqstTDD,
- id-RL-Information-RL-ReconfRqstTDD,
- id-RL-Information-RL-ReconfPrepTDD,
- id-RL-Information-RL-SetupRqstTDD,
- id-RL-ReconfigurationFailureItem-RL-ReconfFailure,
- id-RL-Set-InformationItem-DM-Rprt,
- id-RL-Set-InformationItem-DM-Rsp,
- id-RL-Set-InformationItem-RL-FailureInd,
- id-RL-Set-InformationItem-RL-RestoreInd,
- id-RL-Specific-DCH-Info,
- id-S-CCPCH-Information,
- id-S-CPICH-Information,
- id-SCH-Information,
- id-S-SCH-Information,
- id-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD,
- id-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD,
- id-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD,
- id-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD,
- id-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD,
- id-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD,
- id-SecondaryCPICH-InformationList-Cell-SetupRqstFDD,
- id-Secondary-CPICH-Information-Change,
- id-SecondarySCH-Information-Cell-ReconfRqstFDD,
- id-SecondarySCH-Information-Cell-SetupRqstFDD,
- id-SegmentInformationListIE-SystemInfoUpdate,
- id-SFN,
- id-SFNReportingIndicator,
- id-ShutdownTimer,
- id-SignallingBearerRequestIndicator,
- id-SSDT-CellIDforEDSCHPC,
- id-Start-Of-Audit-Sequence-Indicator,
- id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD,
- id-Successful-RL-InformationRespItem-RL-SetupFailureFDD,
- id-Synchronisation-Configuration-Cell-ReconfRqst,
- id-Synchronisation-Configuration-Cell-SetupRqst,
- id-SyncCase,
- id-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH,
- id-SyncFrameNumber,
- id-SynchronisationReportType,
- id-SynchronisationReportCharacteristics,
- id-SyncReportType-CellSyncReprtTDD,
- id-T-Cell,
- id-TargetCommunicationControlPortID,
- id-TFCI2-Bearer-Information-RL-SetupRqstFDD,
- id-TFCI2-BearerInformationResponse,
- id-TFCI2BearerRequestIndicator,
- id-TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD,
- id-Transmission-Gap-Pattern-Sequence-Information,
- id-TimeSlotConfigurationList-Cell-ReconfRqstTDD,
- id-TimeSlotConfigurationList-Cell-SetupRqstTDD,
- id-timeslotInfo-CellSyncInitiationRqstTDD,
- id-TimeslotISCPInfo,
- id-TimingAdvanceApplied,
- id-TnlQos,
- id-TransmissionDiversityApplied,
- id-transportlayeraddress,
- id-UARFCNforNt,
- id-UARFCNforNd,
- id-UARFCNforNu,
- id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD,
- id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD,
- id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD,
- id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD,
- id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD,
- id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD,
- id-UL-CCTrCH-InformationList-RL-SetupRqstTDD,
- id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD,
- id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD,
- id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD,
- id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD,
- id-UL-DPCH-InformationItem-RL-AdditionRqstTDD,
- id-UL-DPCH-InformationList-RL-SetupRqstTDD,
- id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD,
- id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD,
- id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD,
- id-UL-DPCH-Information-RL-ReconfPrepFDD,
- id-UL-DPCH-Information-RL-ReconfRqstFDD,
- id-UL-DPCH-Information-RL-SetupRqstFDD,
- id-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD,
- id-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD,
- id-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD,
- id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD,
- id-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD,
- id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD,
- id-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD,
- id-USCH-Information-Add,
- id-USCH-Information-DeleteList-RL-ReconfPrepTDD,
- id-USCH-Information-ModifyList-RL-ReconfPrepTDD,
- id-USCH-InformationResponse,
- id-USCH-Information,
- id-USCH-RearrangeList-Bearer-RearrangeInd,
- id-DL-DPCH-LCR-Information-RL-SetupRqstTDD,
- id-DwPCH-LCR-Information ,
- id-DwPCH-LCR-InformationList-AuditRsp,
- id-DwPCH-LCR-Information-Cell-SetupRqstTDD,
- id-DwPCH-LCR-Information-Cell-ReconfRqstTDD,
- id-DwPCH-LCR-Information-ResourceStatusInd,
- id-maxFACH-Power-LCR-CTCH-SetupRqstTDD,
- id-maxFACH-Power-LCR-CTCH-ReconfRqstTDD,
- id-FPACH-LCR-Information,
- id-FPACH-LCR-Information-AuditRsp,
- id-FPACH-LCR-InformationList-AuditRsp,
- id-FPACH-LCR-InformationList-ResourceStatusInd,
- id-FPACH-LCR-Parameters-CTCH-SetupRqstTDD,
- id-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD,
- id-PCCPCH-LCR-Information-Cell-SetupRqstTDD,
- id-PCH-Power-LCR-CTCH-SetupRqstTDD,
- id-PCH-Power-LCR-CTCH-ReconfRqstTDD,
- id-PICH-LCR-Parameters-CTCH-SetupRqstTDD,
- id-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD,
- id-RL-InformationResponse-LCR-RL-SetupRspTDD ,
- id-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD,
- id-TimeSlot,
- id-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD,
- id-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD,
- id-TimeslotISCP-LCR-InfoList-RL-SetupRqstTDD,
- id-TimeSlotLCR-CM-Rqst,
- id-UL-DPCH-LCR-Information-RL-SetupRqstTDD,
- id-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD,
- id-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD,
- id-TimeslotISCP-InformationList-LCR-RL-AdditionRqstTDD,
- id-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD,
- id-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD,
- id-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD,
- id-TimeslotISCPInfoList-LCR-DL-PC-RqstTDD,
- id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfPrepTDD,
- id-UL-DPCH-LCR-InformationModify-AddList,
- id-UL-TimeslotLCR-Information-RL-ReconfPrepTDD,
- id-UL-SIRTarget,
- id-PDSCH-AddInformation-LCR-PSCH-ReconfRqst,
- id-PDSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst,
- id-PDSCH-ModifyInformation-LCR-PSCH-ReconfRqst,
- id-PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst,
- id-PUSCH-AddInformation-LCR-PSCH-ReconfRqst,
- id-PUSCH-AddInformation-LCR-AddListIE-PSCH-ReconfRqst,
- id-PUSCH-ModifyInformation-LCR-PSCH-ReconfRqst,
- id-PUSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst,
- id-PUSCH-Info-DM-Rqst,
- id-PUSCH-Info-DM-Rsp,
- id-PUSCH-Info-DM-Rprt,
- id-RL-InformationResponse-LCR-RL-AdditionRspTDD,
- id-IPDLParameter-Information-LCR-Cell-SetupRqstTDD,
- id-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD,
- id-HS-PDSCH-HS-SCCH-MaxPower-PSCH-ReconfRqst,
- id-HS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst,
- id-HS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst,
- id-HS-SCCH-FDD-Code-Information-PSCH-ReconfRqst,
- id-HS-PDSCH-TDD-Information-PSCH-ReconfRqst,
- id-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst,
- id-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst,
- id-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst,
- id-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD,
- id-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD,
- id-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD,
- id-SYNCDlCodeIdMeasReconfigurationLCR-CellSyncReconfRqstTDD,
- id-SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD,
- id-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD,
- id-NSubCyclesPerCyclePeriod-CellSyncReconfRqstTDD,
- id-DwPCH-Power,
- id-AccumulatedClockupdate-CellSyncReprtTDD,
- id-HSDPA-Capability,
- id-HSDSCH-FDD-Information,
- id-HSDSCH-FDD-Information-Response,
- id-HSDSCH-Information-to-Modify,
- id-HSDSCH-Information-to-Modify-Unsynchronised,
- id-HSDSCH-MACdFlows-to-Add,
- id-HSDSCH-MACdFlows-to-Delete,
- id-HSDSCH-RearrangeList-Bearer-RearrangeInd,
- id-HSDSCH-Resources-Information-AuditRsp,
- id-HSDSCH-Resources-Information-ResourceStatusInd,
- id-HSDSCH-RNTI,
- id-HSDSCH-TDD-Information,
- id-HSDSCH-TDD-Information-Response,
- id-HSPDSCH-RL-ID,
- id-HSSICH-Info-DM-Rprt,
- id-HSSICH-Info-DM-Rqst,
- id-HSSICH-Info-DM-Rsp,
- id-PrimCCPCH-RSCP-DL-PC-RqstTDD,
- id-HSDSCH-FDD-Update-Information,
- id-HSDSCH-TDD-Update-Information,
- id-UL-Synchronisation-Parameters-LCR,
- id-DL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD,
- id-UL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD,
- id-CCTrCH-Maximum-DL-Power-RL-SetupRqstTDD,
- id-CCTrCH-Minimum-DL-Power-RL-SetupRqstTDD,
- id-CCTrCH-Maximum-DL-Power-RL-AdditionRqstTDD,
- id-CCTrCH-Minimum-DL-Power-RL-AdditionRqstTDD,
- id-CCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD,
- id-CCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD,
- id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD,
- id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD,
- id-Maximum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD,
- id-Minimum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD,
- id-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD,
- id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD,
- id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD,
- id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD,
- id-TDD-TPC-UplinkStepSize-LCR-RL-AdditionRqstTDD,
- id-TDD-TPC-DownlinkStepSize-RL-AdditionRqstTDD,
- id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD,
- id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD,
- id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD,
- id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD,
- id-TimeslotISCP-LCR-InfoList-RL-ReconfPrepTDD,
- id-TimingAdjustmentValueLCR,
- id-PrimaryCCPCH-RSCP-Delta,
-
-
- maxNrOfCCTrCHs,
- maxNrOfCellSyncBursts,
- maxNrOfCodes,
- maxNrOfCPCHs,
- maxNrOfDCHs,
- maxNrOfDLTSs,
- maxNrOfDLTSLCRs,
- maxNrOfDPCHs,
- maxNrOfDPCHLCRs,
- maxNrOfDSCHs,
- maxNrOfFACHs,
- maxNrOfRLs,
- maxNrOfRLs-1,
- maxNrOfRLs-2,
- maxNrOfRLSets,
- maxNrOfPCPCHs,
- maxNrOfPDSCHs,
- maxNrOfPUSCHs,
- maxNrOfPRACHLCRs,
- maxNrOfPDSCHSets,
- maxNrOfPUSCHSets,
- maxNrOfReceptsPerSyncFrame,
- maxNrOfSCCPCHs,
- maxNrOfSCCPCHLCRs,
- maxNrOfULTSs,
- maxNrOfULTSLCRs,
- maxNrOfUSCHs,
- maxAPSigNum,
- maxCPCHCell,
- maxFACHCell,
- maxFPACHCell,
- maxNoofLen,
- maxRACHCell,
- maxPCPCHCell,
- maxPRACHCell,
- maxSCCPCHCell,
- maxSCPICHCell,
- maxCellinNodeB,
- maxCCPinNodeB,
- maxCommunicationContext,
- maxLocalCellinNodeB,
- maxNrOfSlotFormatsPRACH,
- maxIB,
- maxIBSEG,
- maxNrOfHSSCCHs,
- maxNrOfHSSICHs,
- maxNrOfHSPDSCHs,
- maxNrOfSyncFramesLCR,
- maxNrOfReceptionsperSyncFrameLCR,
- maxNrOfSyncDLCodesLCR,
- maxNrOfMACdFlows
-FROM NBAP-Constants;
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL SETUP REQUEST FDD
---
--- **************************************************************
-
-CommonTransportChannelSetupRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelSetupRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonTransportChannelSetupRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-CommonPhysicalChannelType-CTCH-SetupRqstFDD CRITICALITY ignore TYPE CommonPhysicalChannelType-CTCH-SetupRqstFDD PRESENCE mandatory },
- ...
-}
-
-CommonPhysicalChannelType-CTCH-SetupRqstFDD ::= CHOICE {
- secondary-CCPCH-parameters Secondary-CCPCH-CTCH-SetupRqstFDD,
- pRACH-parameters PRACH-CTCH-SetupRqstFDD,
- pCPCHes-parameters PCPCH-CTCH-SetupRqstFDD,
- ...
-}
-
-Secondary-CCPCH-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- fdd-S-CCPCH-Offset FDD-S-CCPCH-Offset,
- dl-ScramblingCode DL-ScramblingCode OPTIONAL,
- -- This IE shall be present if the PCH Parameters IE is not present
- fdd-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- tFCS TFCS,
- secondary-CCPCH-SlotFormat SecondaryCCPCH-SlotFormat,
- tFCI-Presence TFCI-Presence OPTIONAL,
- -- This IE shall be present if the Secondary CCPCH Slot Format is set to any of the values from 8 to 17
- multiplexingPosition MultiplexingPosition,
- powerOffsetInformation PowerOffsetInformation-CTCH-SetupRqstFDD,
- sTTD-Indicator STTD-Indicator,
- fACH-Parameters FACH-ParametersList-CTCH-SetupRqstFDD OPTIONAL,
- pCH-Parameters PCH-Parameters-CTCH-SetupRqstFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCHItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCHItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PowerOffsetInformation-CTCH-SetupRqstFDD ::= SEQUENCE {
- pO1-ForTFCI-Bits PowerOffset,
- pO3-ForPilotBits PowerOffset,
- iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PowerOffsetInformation-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FACH-ParametersList-CTCH-SetupRqstFDD ::= ProtocolIE-Single-Container {{ FACH-ParametersListIEs-CTCH-SetupRqstFDD }}
-
-FACH-ParametersListIEs-CTCH-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-ParametersListIE-CTCH-SetupRqstFDD CRITICALITY reject TYPE FACH-ParametersListIE-CTCH-SetupRqstFDD PRESENCE mandatory }
-}
-
-FACH-ParametersListIE-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfFACHs)) OF FACH-ParametersItem-CTCH-SetupRqstFDD
-
-FACH-ParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- transportFormatSet TransportFormatSet,
- toAWS ToAWS,
- toAWE ToAWE,
- maxFACH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
-{ ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
-{ ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-PCH-Parameters-CTCH-SetupRqstFDD ::= ProtocolIE-Single-Container {{ PCH-ParametersIE-CTCH-SetupRqstFDD }}
-
-PCH-ParametersIE-CTCH-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-PCH-ParametersItem-CTCH-SetupRqstFDD CRITICALITY reject TYPE PCH-ParametersItem-CTCH-SetupRqstFDD PRESENCE mandatory }
-}
-
-PCH-ParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- transportFormatSet TransportFormatSet,
- toAWS ToAWS,
- toAWE ToAWE,
- pCH-Power DL-Power,
- pICH-Parameters PICH-Parameters-CTCH-SetupRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { PCH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-PICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- pICH-Power PICH-Power,
- pICH-Mode PICH-Mode,
- sTTD-Indicator STTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { PICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PRACH-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- scramblingCodeNumber ScramblingCodeNumber,
- tFCS TFCS,
- preambleSignatures PreambleSignatures,
- allowedSlotFormatInformation AllowedSlotFormatInformationList-CTCH-SetupRqstFDD,
- rACH-SubChannelNumbers RACH-SubChannelNumbers,
- ul-punctureLimit PunctureLimit,
- preambleThreshold PreambleThreshold,
- rACH-Parameters RACH-Parameters-CTCH-SetupRqstFDD,
- aICH-Parameters AICH-Parameters-CTCH-SetupRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { PRACHItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PRACHItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AllowedSlotFormatInformationList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1.. maxNrOfSlotFormatsPRACH)) OF AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD
-
-AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- rACHSlotFormat RACH-SlotFormat,
- iE-Extensions ProtocolExtensionContainer { { AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllowedSlotFormatInformationItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RACH-Parameters-CTCH-SetupRqstFDD ::= ProtocolIE-Single-Container {{ RACH-ParametersIE-CTCH-SetupRqstFDD }}
-
-RACH-ParametersIE-CTCH-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RACH-ParametersItem-CTCH-SetupRqstFDD CRITICALITY reject TYPE RACH-ParametersItem-CTCH-SetupRqstFDD PRESENCE mandatory }
-}
-
-RACH-ParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- transportFormatSet TransportFormatSet,
- iE-Extensions ProtocolExtensionContainer { { RACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-RACH-ParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-AICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- aICH-TransmissionTiming AICH-TransmissionTiming,
- fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- aICH-Power AICH-Power,
- sTTD-Indicator STTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { AICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PCPCH-CTCH-SetupRqstFDD ::= SEQUENCE {
- cPCH-Parameters CPCH-Parameters-CTCH-SetupRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { PCPCHItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCPCHItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- transportFormatSet TransportFormatSet,
- aPPreambleScramblingCode CPCHScramblingCodeNumber,
- cDPreambleScramblingCode CPCHScramblingCodeNumber,
- tFCS TFCS,
- cDSignatures PreambleSignatures OPTIONAL,
- cDSubChannelNumbers CDSubChannelNumbers OPTIONAL,
- punctureLimit PunctureLimit,
- cPCH-UL-DPCCH-SlotFormat CPCH-UL-DPCCH-SlotFormat,
- uL-SIR UL-SIR,
- initialDL-transmissionPower DL-Power,
- maximumDLPower DL-Power,
- minimumDLPower DL-Power,
- pO2-ForTPC-Bits PowerOffset,
- fDD-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
- nStartMessage NStartMessage,
- nEOT NEOT,
- channel-Assignment-Indication Channel-Assignment-Indication,
- cPCH-Allowed-Total-Rate CPCH-Allowed-Total-Rate,
- pCPCHChannelInfomation PCPCHChannelInformationList-CTCH-SetupRqstFDD,
- vCAMMapping-Information VCAMMapping-InformationList-CTCH-SetupRqstFDD OPTIONAL,
- -- this IE shall be present if the Channel Assignment Indication is set to "CA Active" --
- aP-AICH-Parameters AP-AICH-Parameters-CTCH-SetupRqstFDD,
- cDCA-ICH-Parameters CDCA-ICH-Parameters-CTCH-SetupRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { CPCH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CPCH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-PCPCHChannelInformationList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfPCPCHs)) OF PCPCHChannelInformationItem-CTCH-SetupRqstFDD
-
-PCPCHChannelInformationItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- cPCHScramblingCodeNumber CPCHScramblingCodeNumber,
- dL-ScramblingCode DL-ScramblingCode,
- fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- pCP-Length PCP-Length,
- uCSM-Information UCSM-Information-CTCH-SetupRqstFDD OPTIONAL,
- -- this IE shall be present if the Channel Assignment Indication is equal to "CA Inactive" --
- iE-Extensions ProtocolExtensionContainer { { PCPCHChannelInformationItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCPCHChannelInformationItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UCSM-Information-CTCH-SetupRqstFDD ::= SEQUENCE {
- minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength,
- nFmax NFmax,
- channelRequestParameters ChannelRequestParametersList-CTCH-SetupRqstFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UCSM-InformationItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-UCSM-InformationItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ChannelRequestParametersList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxAPSigNum)) OF ChannelRequestParametersItem-CTCH-SetupRqstFDD
-
-ChannelRequestParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- aPPreambleSignature APPreambleSignature,
- aPSubChannelNumber APSubChannelNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ChannelRequestParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-ChannelRequestParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-VCAMMapping-InformationList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNoofLen)) OF VCAMMapping-InformationItem-CTCH-SetupRqstFDD
-
-VCAMMapping-InformationItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength,
- nFmax NFmax,
- max-Number-of-PCPCHes Max-Number-of-PCPCHes,
- sFRequestParameters SFRequestParametersList-CTCH-SetupRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { VCAMMapping-InformationItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-VCAMMapping-InformationItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SFRequestParametersList-CTCH-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxAPSigNum)) OF SFRequestParametersItem-CTCH-SetupRqstFDD
-
-SFRequestParametersItem-CTCH-SetupRqstFDD ::= SEQUENCE {
- aPPreambleSignature APPreambleSignature,
- aPSubChannelNumber APSubChannelNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SFRequestParametersItem-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SFRequestParametersItem-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION::= {
- ...
-}
-
-AP-AICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- aP-AICH-Power AICH-Power,
- cSICH-Power AICH-Power,
- sTTD-Indicator STTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { AP-AICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AP-AICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CDCA-ICH-Parameters-CTCH-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- fdd-dl-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- cDCA-ICH-Power AICH-Power,
- sTTD-Indicator STTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { CDCA-ICH-Parameters-CTCH-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CDCA-ICH-Parameters-CTCH-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL SETUP REQUEST TDD
---
--- **************************************************************
-
-CommonTransportChannelSetupRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelSetupRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-CommonPhysicalChannelType-CTCH-SetupRqstTDD CRITICALITY ignore TYPE CommonPhysicalChannelType-CTCH-SetupRqstTDD PRESENCE mandatory },
- ...
-}
-
-CommonTransportChannelSetupRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonPhysicalChannelType-CTCH-SetupRqstTDD ::= CHOICE {
- secondary-CCPCH-parameters Secondary-CCPCH-CTCH-SetupRqstTDD,
- pRACH-parameters PRACH-CTCH-SetupRqstTDD,
- ...
-}
-
-Secondary-CCPCH-CTCH-SetupRqstTDD ::= SEQUENCE {
- sCCPCH-CCTrCH-ID CCTrCH-ID, -- For DL CCTrCH supporting one or several Secondary CCPCHs
- tFCS TFCS, -- For DL CCTrCH supporting one or several Secondary CCPCHs
- tFCI-Coding TFCI-Coding,
- punctureLimit PunctureLimit,
- secondaryCCPCH-parameterList Secondary-CCPCH-parameterList-CTCH-SetupRqstTDD,
- fACH-ParametersList FACH-ParametersList-CTCH-SetupRqstTDD OPTIONAL,
- pCH-Parameters PCH-Parameters-CTCH-SetupRqstTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer {{Secondary-CCPCHItem-CTCH-SetupRqstTDD-ExtIEs}} OPTIONAL,
- ...
-}
-
-Secondary-CCPCHItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Secondary-CCPCH-parameterList-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ Secondary-CCPCH-parameterListIEs-CTCH-SetupRqstTDD }}
-
-Secondary-CCPCH-parameterListIEs-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD CRITICALITY reject TYPE Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD PRESENCE optional }|
- { ID id-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD CRITICALITY reject TYPE Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD PRESENCE optional }
-}
-
-Secondary-CCPCH-parameterListIE-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHs)) OF Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD
-
-Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- timeslot TimeSlot,
- midambleShiftandBurstType MidambleShiftAndBurstType,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- s-CCPCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCH-parameterItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FACH-ParametersList-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ FACH-ParametersListIEs-CTCH-SetupRqstTDD }}
-
-FACH-ParametersListIEs-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-ParametersListIE-CTCH-SetupRqstTDD CRITICALITY reject TYPE FACH-ParametersListIE-CTCH-SetupRqstTDD PRESENCE mandatory }
-}
-
-FACH-ParametersListIE-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfFACHs)) OF FACH-ParametersItem-CTCH-SetupRqstTDD
-
-FACH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- fACH-CCTrCH-ID CCTrCH-ID,
- dl-TransportFormatSet TransportFormatSet,
- toAWS ToAWS,
- toAWE ToAWE,
- iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-maxFACH-Power-LCR-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- -- Shall be ignored if bearer establishment with ALCAP.
- ...
-}
-
-PCH-Parameters-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ PCH-ParametersIE-CTCH-SetupRqstTDD }}
-
-PCH-ParametersIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-PCH-ParametersItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE PCH-ParametersItem-CTCH-SetupRqstTDD PRESENCE mandatory }
-}
-
-PCH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- pCH-CCTrCH-ID CCTrCH-ID,
- dl-TransportFormatSet TransportFormatSet, -- For the DL.
- toAWS ToAWS,
- toAWE ToAWE,
- pICH-Parameters PICH-Parameters-CTCH-SetupRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { PCH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-PCH-Power-LCR-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional }|
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- -- Shall be ignored if bearer establishment with ALCAP.
- ...
-}
-
-PICH-Parameters-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ PICH-ParametersIE-CTCH-SetupRqstTDD }}
-
-PICH-ParametersIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-PICH-ParametersItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE PICH-ParametersItem-CTCH-SetupRqstTDD PRESENCE optional }|
- { ID id-PICH-LCR-Parameters-CTCH-SetupRqstTDD CRITICALITY reject TYPE PICH-LCR-Parameters-CTCH-SetupRqstTDD PRESENCE optional }
-}
-
-PICH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- timeSlot TimeSlot,
- midambleshiftAndBurstType MidambleShiftAndBurstType,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- pagingIndicatorLength PagingIndicatorLength,
- pICH-Power PICH-Power,
- iE-Extensions ProtocolExtensionContainer { { PICH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PICH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PICH-LCR-Parameters-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- pagingIndicatorLength PagingIndicatorLength,
- pICH-Power PICH-Power,
- second-TDD-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- iE-Extensions ProtocolExtensionContainer { { PICH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PICH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Secondary-CCPCH-LCR-parameterList-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHLCRs)) OF Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD
-
-Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- timeslotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- s-CCPCH-Power DL-Power,
- s-CCPCH-TimeSlotFormat-LCR TDD-DL-DPCH-TimeSlotFormat-LCR,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCH-LCR-parameterItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PRACH-CTCH-SetupRqstTDD ::= SEQUENCE {
- pRACH-Parameters-CTCH-SetupRqstTDD PRACH-Parameters-CTCH-SetupRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { PRACH-CTCH-SetupRqstTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-PRACH-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-FPACH-LCR-Parameters-CTCH-SetupRqstTDD CRITICALITY reject EXTENSION FPACH-LCR-Parameters-CTCH-SetupRqstTDD PRESENCE optional },
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
-PRACH-Parameters-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ PRACH-ParametersIE-CTCH-SetupRqstTDD }}
-
-PRACH-ParametersIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-PRACH-ParametersItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE PRACH-ParametersItem-CTCH-SetupRqstTDD PRESENCE optional }|
- { ID id-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD CRITICALITY reject TYPE PRACH-LCR-ParametersList-CTCH-SetupRqstTDD PRESENCE optional }
-}
-
-
-PRACH-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tFCS TFCS,
- timeslot TimeSlot,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- maxPRACH-MidambleShifts MaxPRACH-MidambleShifts,
- pRACH-Midamble PRACH-Midamble,
- rACH RACH-Parameter-CTCH-SetupRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { PRACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PRACH-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RACH-Parameter-CTCH-SetupRqstTDD ::= ProtocolIE-Single-Container {{ RACH-ParameterIE-CTCH-SetupRqstTDD }}
-
-RACH-ParameterIE-CTCH-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-RACH-ParameterItem-CTCH-SetupRqstTDD CRITICALITY reject TYPE RACH-ParameterItem-CTCH-SetupRqstTDD PRESENCE mandatory }
-}
-
-RACH-ParameterItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- uL-TransportFormatSet TransportFormatSet, -- For the UL
- iE-Extensions ProtocolExtensionContainer { { RACH-ParameterItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RACH-ParameterItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- -- Shall be ignored if bearer establishment with ALCAP.
- ...
-}
-
-PRACH-LCR-ParametersList-CTCH-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfPRACHLCRs)) OF PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD
-
-PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tFCS TFCS,
- timeslotLCR TimeSlotLCR,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- midambleShiftLCR MidambleShiftLCR,
- rACH RACH-Parameter-CTCH-SetupRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PRACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FPACH-LCR-Parameters-CTCH-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- timeslotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- fPACH-Power FPACH-Power,
- iE-Extensions ProtocolExtensionContainer { { FPACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FPACH-LCR-ParametersItem-CTCH-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL SETUP RESPONSE
---
--- **************************************************************
-
-CommonTransportChannelSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelSetupResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-ParametersList-CTCH-SetupRsp CRITICALITY ignore TYPE FACH-CommonTransportChannel-InformationResponse PRESENCE optional }|
- { ID id-PCH-Parameters-CTCH-SetupRsp CRITICALITY ignore TYPE CommonTransportChannel-InformationResponse PRESENCE optional }|
- { ID id-RACH-Parameters-CTCH-SetupRsp CRITICALITY ignore TYPE CommonTransportChannel-InformationResponse PRESENCE optional }|
- { ID id-CPCH-Parameters-CTCH-SetupRsp CRITICALITY ignore TYPE CommonTransportChannel-InformationResponse PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CommonTransportChannelSetupResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FACH-CommonTransportChannel-InformationResponse ::= SEQUENCE (SIZE (1..maxNrOfFACHs)) OF CommonTransportChannel-InformationResponse
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL SETUP FAILURE
---
--- **************************************************************
-
-CommonTransportChannelSetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelSetupFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelSetupFailure-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelSetupFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CommonTransportChannelSetupFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL RECONFIGURATION REQUEST FDD
---
--- **************************************************************
-
-CommonTransportChannelReconfigurationRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-CommonPhysicalChannelType-CTCH-ReconfRqstFDD CRITICALITY reject TYPE CommonPhysicalChannelType-CTCH-ReconfRqstFDD PRESENCE mandatory },
- ...
-}
-
-CommonTransportChannelReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonPhysicalChannelType-CTCH-ReconfRqstFDD ::= CHOICE {
- secondary-CCPCH-parameters Secondary-CCPCHList-CTCH-ReconfRqstFDD,
- pRACH-parameters PRACHList-CTCH-ReconfRqstFDD,
- cPCH-parameters CPCHList-CTCH-ReconfRqstFDD,
- ...
-}
-
-Secondary-CCPCHList-CTCH-ReconfRqstFDD ::= SEQUENCE {
- fACH-ParametersList-CTCH-ReconfRqstFDD FACH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- pCH-Parameters-CTCH-ReconfRqstFDD PCH-Parameters-CTCH-ReconfRqstFDD OPTIONAL,
- pICH-Parameters-CTCH-ReconfRqstFDD PICH-Parameters-CTCH-ReconfRqstFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCH-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FACH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ FACH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-FACH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE FACH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-FACH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxFACHCell)) OF FACH-ParametersItem-CTCH-ReconfRqstFDD
-
-FACH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- maxFACH-Power DL-Power OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PCH-Parameters-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ PCH-ParametersIE-CTCH-ReconfRqstFDD }}
-
-PCH-ParametersIE-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-PCH-ParametersItem-CTCH-ReconfRqstFDD CRITICALITY reject TYPE PCH-ParametersItem-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-PCH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- pCH-Power DL-Power OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PCH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PICH-Parameters-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ PICH-ParametersIE-CTCH-ReconfRqstFDD }}
-
-PICH-ParametersIE-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-PICH-ParametersItem-CTCH-ReconfRqstFDD CRITICALITY reject TYPE PICH-ParametersItem-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-PICH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- pICH-Power PICH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PICH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PICH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PRACHList-CTCH-ReconfRqstFDD ::= SEQUENCE {
- pRACH-ParametersList-CTCH-ReconfRqstFDD PRACH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- aICH-ParametersList-CTCH-ReconfRqstFDD AICH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PRACH-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PRACH-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PRACH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ PRACH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-PRACH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-PRACH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE PRACH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-PRACH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF PRACH-ParametersItem-CTCH-ReconfRqstFDD
-
-PRACH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- preambleSignatures PreambleSignatures OPTIONAL,
- allowedSlotFormatInformation AllowedSlotFormatInformationList-CTCH-ReconfRqstFDD OPTIONAL,
- rACH-SubChannelNumbers RACH-SubChannelNumbers OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PRACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PRACH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AllowedSlotFormatInformationList-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1.. maxNrOfSlotFormatsPRACH)) OF AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD
-
-AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- rACH-SlotFormat RACH-SlotFormat,
- iE-Extensions ProtocolExtensionContainer { { AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllowedSlotFormatInformationItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AICH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ AICH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-AICH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-AICH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE AICH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-AICH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF AICH-ParametersItem-CTCH-ReconfRqstFDD
-
-AICH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- aICH-Power AICH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { AICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCHList-CTCH-ReconfRqstFDD ::= SEQUENCE {
- cPCH-ParametersList-CTCH-ReconfRqstFDD CPCH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- aP-AICH-ParametersList-CTCH-ReconfRqstFDD AP-AICH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- cDCA-ICH-ParametersList-CTCH-ReconfRqstFDD CDCA-ICH-ParametersList-CTCH-ReconfRqstFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CPCHListItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CPCHListItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ CPCH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-CPCH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-CPCH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE CPCH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-CPCH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfCPCHs)) OF CPCH-ParametersItem-CTCH-ReconfRqstFDD
-
-CPCH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- uL-SIR UL-SIR OPTIONAL,
- initialDL-transmissionPower DL-Power OPTIONAL,
- maximumDLPower DL-Power OPTIONAL,
- minimumDLPower DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CPCH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CPCH-ParametersItem-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AP-AICH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ AP-AICH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-AP-AICH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-AP-AICH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE AP-AICH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-AP-AICH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfCPCHs)) OF AP-AICH-ParametersItem-CTCH-ReconfRqstFDD
-
-AP-AICH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- aP-AICH-Power AICH-Power OPTIONAL,
- cSICH-Power AICH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { AP-AICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AP-AICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CDCA-ICH-ParametersList-CTCH-ReconfRqstFDD ::= ProtocolIE-Single-Container {{ CDCA-ICH-ParametersListIEs-CTCH-ReconfRqstFDD }}
-
-CDCA-ICH-ParametersListIEs-CTCH-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-CDCA-ICH-ParametersListIE-CTCH-ReconfRqstFDD CRITICALITY reject TYPE CDCA-ICH-ParametersListIE-CTCH-ReconfRqstFDD PRESENCE mandatory }
-}
-
-CDCA-ICH-ParametersListIE-CTCH-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfCPCHs)) OF CDCA-ICH-ParametersItem-CTCH-ReconfRqstFDD
-
-CDCA-ICH-ParametersItem-CTCH-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- cDCA-ICH-Power AICH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CDCA-ICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CDCA-ICH-ParametersItemIE-CTCH-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL RECONFIGURATION REQUEST TDD
---
--- **************************************************************
-
-CommonTransportChannelReconfigurationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject TYPE Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
- { ID id-PICH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject TYPE PICH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }|
- { ID id-FACH-ParametersList-CTCH-ReconfRqstTDD CRITICALITY reject TYPE FACH-ParametersList-CTCH-ReconfRqstTDD PRESENCE optional }|
- { ID id-PCH-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject TYPE PCH-Parameters-CTCH-ReconfRqstTDD PRESENCE optional },
- ...
-}
-
-CommonTransportChannelReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION FPACH-LCR-Parameters-CTCH-ReconfRqstTDD PRESENCE optional }, -- Mandatory For 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
-Secondary-CCPCH-Parameters-CTCH-ReconfRqstTDD::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- secondaryCCPCHList Secondary-CCPCHList-CTCH-ReconfRqstTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCH-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCH-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Secondary-CCPCHList-CTCH-ReconfRqstTDD ::= ProtocolIE-Single-Container {{ Secondary-CCPCHListIEs-CTCH-ReconfRqstTDD }}
-
-Secondary-CCPCHListIEs-CTCH-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD CRITICALITY reject TYPE Secondary-CCPCHListIE-CTCH-ReconfRqstTDD PRESENCE mandatory }
-}
-
-Secondary-CCPCHListIE-CTCH-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSCCPCHs)) OF Secondary-CCPCHItem-CTCH-ReconfRqstTDD
-
-Secondary-CCPCHItem-CTCH-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- sCCPCH-Power DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Secondary-CCPCHItem-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Secondary-CCPCHItem-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PICH-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- pICH-Power PICH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PICH-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PICH-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FACH-ParametersList-CTCH-ReconfRqstTDD ::= SEQUENCE (SIZE (0..maxNrOfFACHs)) OF FACH-ParametersItem-CTCH-ReconfRqstTDD
-
-FACH-ParametersItem-CTCH-ReconfRqstTDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { FACH-ParametersItem-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FACH-ParametersItem-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-maxFACH-Power-LCR-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional },
- -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-PCH-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { PCH-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCH-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-PCH-Power-LCR-CTCH-ReconfRqstTDD CRITICALITY reject EXTENSION DL-Power PRESENCE optional },
- ... -- Applicable to 1.28Mcps TDD only
-}
-
-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelId CommonPhysicalChannelID,
- fPACHPower FPACH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { FPACH-LCR-Parameters-CTCH-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-FPACH-LCR-Parameters-CTCH-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL RECONFIGURATION RESPONSE
---
--- **************************************************************
-
-CommonTransportChannelReconfigurationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-CommonTransportChannelReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL RECONFIGURATION FAILURE
---
--- **************************************************************
-
-CommonTransportChannelReconfigurationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelReconfigurationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelReconfigurationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CommonTransportChannelReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL DELETION REQUEST
---
--- **************************************************************
-
-CommonTransportChannelDeletionRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelDeletionRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelDeletionRequest-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelDeletionRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory}|
- { ID id-CommonPhysicalChannelID CRITICALITY reject TYPE CommonPhysicalChannelID PRESENCE mandatory}|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory},
- ...
-}
-
-CommonTransportChannelDeletionRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON TRANSPORT CHANNEL DELETION RESPONSE
---
--- **************************************************************
-
-CommonTransportChannelDeletionResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonTransportChannelDeletionResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonTransportChannelDeletionResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CommonTransportChannelDeletionResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-CommonTransportChannelDeletionResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- BLOCK RESOURCE REQUEST
---
--- **************************************************************
-
-BlockResourceRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{BlockResourceRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{BlockResourceRequest-Extensions}} OPTIONAL,
- ...
-}
-
-BlockResourceRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-BlockingPriorityIndicator CRITICALITY reject TYPE BlockingPriorityIndicator PRESENCE mandatory }|
- { ID id-ShutdownTimer CRITICALITY reject TYPE ShutdownTimer PRESENCE conditional },
- -- The IE shall be present if the Blocking Priority Indicator IE indicates "Normal Priority"--
- ...
-}
-
-BlockResourceRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- BLOCK RESOURCE RESPONSE
---
--- **************************************************************
-
-BlockResourceResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{BlockResourceResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{BlockResourceResponse-Extensions}} OPTIONAL,
- ...
-}
-
-BlockResourceResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-BlockResourceResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- BLOCK RESOURCE FAILURE
---
--- **************************************************************
-
-BlockResourceFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{BlockResourceFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{BlockResourceFailure-Extensions}} OPTIONAL,
- ...
-}
-
-BlockResourceFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-BlockResourceFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- UNBLOCK RESOURCE INDICATION
---
--- **************************************************************
-
-UnblockResourceIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UnblockResourceIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{UnblockResourceIndication-Extensions}} OPTIONAL,
- ...
-}
-
-UnblockResourceIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory},
- ...
-}
-
-UnblockResourceIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- AUDIT REQUIRED INDICATION
---
--- **************************************************************
-
-AuditRequiredIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{AuditRequiredIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{AuditRequiredIndication-Extensions}} OPTIONAL,
- ...
-}
-
-AuditRequiredIndication-IEs NBAP-PROTOCOL-IES ::= {
- ...
-}
-
-AuditRequiredIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- AUDIT REQUEST
---
--- **************************************************************
-
-AuditRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{AuditRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{AuditRequest-Extensions}} OPTIONAL,
- ...
-}
-
-AuditRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Start-Of-Audit-Sequence-Indicator CRITICALITY reject TYPE Start-Of-Audit-Sequence-Indicator PRESENCE mandatory },
- ...
-}
-
-AuditRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- AUDIT RESPONSE
---
--- **************************************************************
-
-AuditResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{AuditResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{AuditResponse-Extensions}} OPTIONAL,
- ...
-}
-
-AuditResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-End-Of-Audit-Sequence-Indicator CRITICALITY ignore TYPE End-Of-Audit-Sequence-Indicator PRESENCE mandatory }|
- { ID id-Cell-InformationList-AuditRsp CRITICALITY ignore TYPE Cell-InformationList-AuditRsp PRESENCE optional }|
- { ID id-CCP-InformationList-AuditRsp CRITICALITY ignore TYPE CCP-InformationList-AuditRsp PRESENCE optional }|
- -- CCP (Communication Control Port) --
- { ID id-Local-Cell-InformationList-AuditRsp CRITICALITY ignore TYPE Local-Cell-InformationList-AuditRsp PRESENCE optional }|
- { ID id-Local-Cell-Group-InformationList-AuditRsp CRITICALITY ignore TYPE Local-Cell-Group-InformationList-AuditRsp PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-AuditResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Power-Local-Cell-Group-InformationList-AuditRsp CRITICALITY ignore EXTENSION Power-Local-Cell-Group-InformationList-AuditRsp PRESENCE optional },
- ...
-}
-
-Cell-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ Cell-InformationItemIE-AuditRsp}}
-
-Cell-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-Cell-InformationItem-AuditRsp CRITICALITY ignore TYPE Cell-InformationItem-AuditRsp PRESENCE optional }
-}
-
-Cell-InformationItem-AuditRsp ::= SEQUENCE {
- c-ID C-ID,
- configurationGenerationID ConfigurationGenerationID,
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- local-Cell-ID Local-Cell-ID,
- primary-SCH-Information P-SCH-Information-AuditRsp OPTIONAL,
- secondary-SCH-Information S-SCH-Information-AuditRsp OPTIONAL,
- primary-CPICH-Information P-CPICH-Information-AuditRsp OPTIONAL,
- secondary-CPICH-InformationList S-CPICH-InformationList-AuditRsp OPTIONAL,
- primary-CCPCH-Information P-CCPCH-Information-AuditRsp OPTIONAL,
- bCH-Information BCH-Information-AuditRsp OPTIONAL,
- secondary-CCPCH-InformationList S-CCPCH-InformationList-AuditRsp OPTIONAL,
- pCH-Information PCH-Information-AuditRsp OPTIONAL,
- pICH-Information PICH-Information-AuditRsp OPTIONAL,
- fACH-InformationList FACH-InformationList-AuditRsp OPTIONAL,
- pRACH-InformationList PRACH-InformationList-AuditRsp OPTIONAL,
- rACH-InformationList RACH-InformationList-AuditRsp OPTIONAL,
- aICH-InformationList AICH-InformationList-AuditRsp OPTIONAL,
- pCPCH-InformationList PCPCH-InformationList-AuditRsp OPTIONAL,
- cPCH-InformationList CPCH-InformationList-AuditRsp OPTIONAL,
- aP-AICH-InformationList AP-AICH-InformationList-AuditRsp OPTIONAL,
- cDCA-ICH-InformationList CDCA-ICH-InformationList-AuditRsp OPTIONAL,
- sCH-Information SCH-Information-AuditRsp OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Cell-InformationItem-AuditRsp-ExtIEs} } OPTIONAL,
- ...
-}
-
-Cell-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-FPACH-LCR-InformationList-AuditRsp CRITICALITY ignore EXTENSION FPACH-LCR-InformationList-AuditRsp PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-DwPCH-LCR-InformationList-AuditRsp CRITICALITY ignore EXTENSION Common-PhysicalChannel-Status-Information PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-HSDSCH-Resources-Information-AuditRsp CRITICALITY ignore EXTENSION HS-DSCH-Resources-Information-AuditRsp PRESENCE optional },
- ...
-}
-
-P-SCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ P-SCH-InformationIE-AuditRsp }}
-
-P-SCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-P-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-S-SCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ S-SCH-InformationIE-AuditRsp }}
-
-S-SCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-S-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-P-CPICH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ P-CPICH-InformationIE-AuditRsp }}
-
-P-CPICH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-P-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-S-CPICH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container {{ S-CPICH-InformationItemIE-AuditRsp }}
-
-S-CPICH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-S-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-P-CCPCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ P-CCPCH-InformationIE-AuditRsp }}
-
-P-CCPCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-P-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-BCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ BCH-InformationIE-AuditRsp }}
-
-BCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-BCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-S-CCPCH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxSCCPCHCell)) OF ProtocolIE-Single-Container {{ S-CCPCH-InformationItemIE-AuditRsp }}
-
-S-CCPCH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-S-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-PCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ PCH-InformationIE-AuditRsp }}
-
-PCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-PCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-PICH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ PICH-InformationIE-AuditRsp }}
-
-PICH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-PICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-FACH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxFACHCell)) OF ProtocolIE-Single-Container {{ FACH-InformationItemIE-AuditRsp }}
-
-FACH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-PRACH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ PRACH-InformationItemIE-AuditRsp }}
-
-PRACH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-PRACH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-RACH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxRACHCell)) OF ProtocolIE-Single-Container {{ RACH-InformationItemIE-AuditRsp }}
-
-RACH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-RACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-AICH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ AICH-InformationItemIE-AuditRsp }}
-
-AICH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-AICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-PCPCH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxPCPCHCell)) OF ProtocolIE-Single-Container {{ PCPCH-InformationItemIE-AuditRsp }}
-
-PCPCH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-PCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE optional }
-}
-
-CPCH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ CPCH-InformationItemIE-AuditRsp }}
-
-CPCH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-CPCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE optional }
-}
-
-AP-AICH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ AP-AICH-InformationItemIE-AuditRsp }}
-
-AP-AICH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-AP-AICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-CDCA-ICH-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ CDCA-ICH-InformationItemIE-AuditRsp }}
-
-CDCA-ICH-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-CDCA-ICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-SCH-Information-AuditRsp ::= ProtocolIE-Single-Container {{ SCH-InformationIE-AuditRsp }}
-
-SCH-InformationIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-CCP-InformationList-AuditRsp ::=SEQUENCE (SIZE (1..maxCCPinNodeB)) OF ProtocolIE-Single-Container {{ CCP-InformationItemIE-AuditRsp }}
-
-CCP-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- {ID id-CCP-InformationItem-AuditRsp CRITICALITY ignore TYPE CCP-InformationItem-AuditRsp PRESENCE mandatory}
-}
-
-CCP-InformationItem-AuditRsp ::= SEQUENCE {
- communicationControlPortID CommunicationControlPortID,
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer {{ CCP-InformationItem-AuditRsp-ExtIEs }} OPTIONAL,
- ...
-}
-
-CCP-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-FPACH-LCR-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxFPACHCell)) OF ProtocolIE-Single-Container {{ FPACH-LCR-InformationItemIE-AuditRsp }}
-
-FPACH-LCR-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-FPACH-LCR-Information-AuditRsp CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-HS-DSCH-Resources-Information-AuditRsp ::= SEQUENCE {
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer {{ HS-DSCH-Resources-Information-AuditRsp-ExtIEs }} OPTIONAL,
- ...
-}
-
-HS-DSCH-Resources-Information-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Local-Cell-InformationList-AuditRsp ::=SEQUENCE (SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-InformationItemIE-AuditRsp }}
-
-Local-Cell-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-InformationItem-AuditRsp CRITICALITY ignore TYPE Local-Cell-InformationItem-AuditRsp PRESENCE mandatory}
-}
-
-Local-Cell-InformationItem-AuditRsp ::= SEQUENCE {
- local-Cell-ID Local-Cell-ID,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit,
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw,
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw,
- maximumDL-PowerCapability MaximumDL-PowerCapability OPTIONAL,
- minSpreadingFactor MinSpreadingFactor OPTIONAL,
- minimumDL-PowerCapability MinimumDL-PowerCapability OPTIONAL,
- local-Cell-Group-ID Local-Cell-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer {{ Local-Cell-InformationItem-AuditRsp-ExtIEs}} OPTIONAL,
- ...
-}
-
-Local-Cell-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-ReferenceClockAvailability CRITICALITY ignore EXTENSION ReferenceClockAvailability PRESENCE optional }|
- { ID id-Power-Local-Cell-Group-ID CRITICALITY ignore EXTENSION Local-Cell-ID PRESENCE optional }|
- { ID id-HSDPA-Capability CRITICALITY ignore EXTENSION HSDPA-Capability PRESENCE optional },
- ...
-}
-
-Local-Cell-Group-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-Group-InformationItemIE-AuditRsp }}
-
-Local-Cell-Group-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-Group-InformationItem-AuditRsp CRITICALITY ignore TYPE Local-Cell-Group-InformationItem-AuditRsp PRESENCE mandatory}
-}
-
-Local-Cell-Group-InformationItem-AuditRsp ::= SEQUENCE {
- local-Cell-Group-ID Local-Cell-ID,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit,
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw,
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw,
- iE-Extensions ProtocolExtensionContainer {{ Local-Cell-Group-InformationItem-AuditRsp-ExtIEs}} OPTIONAL,
- ...
-}
-
-Local-Cell-Group-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Power-Local-Cell-Group-InformationList-AuditRsp ::= SEQUENCE (SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Power-Local-Cell-Group-InformationItemIE-AuditRsp }}
-
-Power-Local-Cell-Group-InformationItemIE-AuditRsp NBAP-PROTOCOL-IES ::= {
- { ID id-Power-Local-Cell-Group-InformationItem-AuditRsp CRITICALITY ignore TYPE Power-Local-Cell-Group-InformationItem-AuditRsp PRESENCE mandatory}
-}
-
-Power-Local-Cell-Group-InformationItem-AuditRsp ::= SEQUENCE {
- power-Local-Cell-Group-ID Local-Cell-ID,
- maximumDL-PowerCapability MaximumDL-PowerCapability,
- iE-Extensions ProtocolExtensionContainer {{ Power-Local-Cell-Group-InformationItem-AuditRsp-ExtIEs}} OPTIONAL,
- ...
-}
-
-Power-Local-Cell-Group-InformationItem-AuditRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- AUDIT FAILURE
---
--- **************************************************************
-
-AuditFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{AuditFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{AuditFailure-Extensions}} OPTIONAL,
- ...
-}
-
-AuditFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-AuditFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT INITIATION REQUEST
---
--- **************************************************************
-
-CommonMeasurementInitiationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementInitiationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY reject TYPE MeasurementID PRESENCE mandatory }|
- { ID id-CommonMeasurementObjectType-CM-Rqst CRITICALITY reject TYPE CommonMeasurementObjectType-CM-Rqst PRESENCE mandatory }|
- { ID id-CommonMeasurementType CRITICALITY reject TYPE CommonMeasurementType PRESENCE mandatory }|
- { ID id-MeasurementFilterCoefficient CRITICALITY reject TYPE MeasurementFilterCoefficient PRESENCE optional }|
- { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory }|
- { ID id-SFNReportingIndicator CRITICALITY reject TYPE FNReportingIndicator PRESENCE mandatory }|
- { ID id-SFN CRITICALITY reject TYPE SFN PRESENCE optional },
- ...
-}
-
-CommonMeasurementInitiationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-CommonMeasurementAccuracy CRITICALITY reject EXTENSION CommonMeasurementAccuracy PRESENCE optional},
- ...
-}
-
-CommonMeasurementObjectType-CM-Rqst ::= CHOICE {
- cell Cell-CM-Rqst,
- rACH RACH-CM-Rqst,
- cPCH CPCH-CM-Rqst,
- ...
-}
-
-Cell-CM-Rqst ::= SEQUENCE {
- c-ID C-ID,
- timeSlot TimeSlot OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { CellItem-CM-Rqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellItem-CM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeSlotLCR-CM-Rqst CRITICALITY reject EXTENSION TimeSlotLCR PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- {ID id-NeighbouringCellMeasurementInformation CRITICALITY ignore EXTENSION NeighbouringCellMeasurementInformation PRESENCE optional },
- ...
-}
-
-RACH-CM-Rqst ::= SEQUENCE {
- c-ID C-ID,
- commonTransportChannelID CommonTransportChannelID,
- iE-Extensions ProtocolExtensionContainer { { RACHItem-CM-Rqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-RACHItem-CM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCH-CM-Rqst ::= SEQUENCE {
- c-ID C-ID,
- commonTransportChannelID CommonTransportChannelID,
- spreadingfactor MinUL-ChannelisationCodeLength OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CPCHItem-CM-Rqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-CPCHItem-CM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT INITIATION RESPONSE
---
--- **************************************************************
-
-CommonMeasurementInitiationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementInitiationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
- { ID id-CommonMeasurementObjectType-CM-Rsp CRITICALITY ignore TYPE CommonMeasurementObjectType-CM-Rsp PRESENCE optional }|
- { ID id-SFN CRITICALITY ignore TYPE SFN PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CommonMeasurementInitiationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-CommonMeasurementAccuracy CRITICALITY ignore EXTENSION CommonMeasurementAccuracy PRESENCE optional},
- ...
-}
-
-CommonMeasurementObjectType-CM-Rsp ::= CHOICE {
- cell Cell-CM-Rsp,
- rACH RACH-CM-Rsp,
- cPCH CPCH-CM-Rsp,
- ...
- }
-
-Cell-CM-Rsp ::= SEQUENCE {
- commonMeasurementValue CommonMeasurementValue,
- iE-Extensions ProtocolExtensionContainer { { CellItem-CM-Rsp-ExtIEs} } OPTIONAL,
- ...
- }
-
-CellItem-CM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RACH-CM-Rsp ::= SEQUENCE {
- commonMeasurementValue CommonMeasurementValue,
- iE-Extensions ProtocolExtensionContainer { { RACHItem-CM-Rsp-ExtIEs} } OPTIONAL,
- ...
- }
-
-RACHItem-CM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCH-CM-Rsp ::= SEQUENCE {
- commonMeasurementValue CommonMeasurementValue,
- iE-Extensions ProtocolExtensionContainer { { CPCHItem-CM-Rsp-ExtIEs} } OPTIONAL,
- ...
- }
-
-CPCHItem-CM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT INITIATION FAILURE
---
--- **************************************************************
-
-CommonMeasurementInitiationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementInitiationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementInitiationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementInitiationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CommonMeasurementInitiationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT REPORT
---
--- **************************************************************
-
-CommonMeasurementReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementReport-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementReport-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementReport-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
- { ID id-CommonMeasurementObjectType-CM-Rprt CRITICALITY ignore TYPE CommonMeasurementObjectType-CM-Rprt PRESENCE mandatory }|
- { ID id-SFN CRITICALITY ignore TYPE SFN PRESENCE optional },
- ...
-}
-
-CommonMeasurementReport-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommonMeasurementObjectType-CM-Rprt ::= CHOICE {
- cell Cell-CM-Rprt,
- rACH RACH-CM-Rprt,
- cPCH CPCH-CM-Rprt,
- ...
- }
-
-Cell-CM-Rprt ::= SEQUENCE {
- commonMeasurementValueInformation CommonMeasurementValueInformation,
- iE-Extensions ProtocolExtensionContainer {{ CellItem-CM-Rprt-ExtIEs }} OPTIONAL,
- ...
-
- }
-
-CellItem-CM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-RACH-CM-Rprt ::= SEQUENCE {
- commonMeasurementValueInformation CommonMeasurementValueInformation,
- iE-Extensions ProtocolExtensionContainer {{ RACHItem-CM-Rprt-ExtIEs }} OPTIONAL,
- ...
- }
-
-RACHItem-CM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CPCH-CM-Rprt ::= SEQUENCE {
- commonMeasurementValueInformation CommonMeasurementValueInformation,
- iE-Extensions ProtocolExtensionContainer {{ CPCHItem-CM-Rprt-ExtIEs }} OPTIONAL,
- ...
- }
-
-CPCHItem-CM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT TERMINATION REQUEST
---
--- **************************************************************
-
-CommonMeasurementTerminationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementTerminationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementTerminationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementTerminationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory},
- ...
-}
-
-CommonMeasurementTerminationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON MEASUREMENT FAILURE INDICATION
---
--- **************************************************************
-
-CommonMeasurementFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CommonMeasurementFailureIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CommonMeasurementFailureIndication-Extensions}} OPTIONAL,
- ...
-}
-
-CommonMeasurementFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-CommonMeasurementFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SETUP REQUEST FDD
---
--- **************************************************************
-
-CellSetupRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSetupRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSetupRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSetupRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-ID CRITICALITY reject TYPE Local-Cell-ID PRESENCE mandatory }|
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-T-Cell CRITICALITY reject TYPE T-Cell PRESENCE mandatory }|
- { ID id-UARFCNforNu CRITICALITY reject TYPE UARFCN PRESENCE mandatory }|
- { ID id-UARFCNforNd CRITICALITY reject TYPE UARFCN PRESENCE mandatory }|
- { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE mandatory }|
- { ID id-Closed-Loop-Timing-Adjustment-Mode CRITICALITY reject TYPE Closedlooptimingadjustmentmode PRESENCE optional }|
- { ID id-PrimaryScramblingCode CRITICALITY reject TYPE PrimaryScramblingCode PRESENCE mandatory }|
- { ID id-Synchronisation-Configuration-Cell-SetupRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-SetupRqst PRESENCE mandatory }|
- { ID id-DL-TPC-Pattern01Count CRITICALITY reject TYPE DL-TPC-Pattern01Count PRESENCE mandatory }|
- { ID id-PrimarySCH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE PrimarySCH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
- { ID id-SecondarySCH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE SecondarySCH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
- { ID id-PrimaryCPICH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE PrimaryCPICH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
- { ID id-SecondaryCPICH-InformationList-Cell-SetupRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationList-Cell-SetupRqstFDD PRESENCE optional }|
- { ID id-PrimaryCCPCH-Information-Cell-SetupRqstFDD CRITICALITY reject TYPE PrimaryCCPCH-Information-Cell-SetupRqstFDD PRESENCE mandatory }|
- { ID id-Limited-power-increase-information-Cell-SetupRqstFDD CRITICALITY reject TYPE Limited-power-increase-information-Cell-SetupRqstFDD PRESENCE mandatory },
- ...
-}
-
-CellSetupRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-IPDLParameter-Information-Cell-SetupRqstFDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-SetupRqstFDD PRESENCE optional }|
- {ID id-PDSCH-Information-Cell-SetupRqstFDD CRITICALITY reject EXTENSION PDSCH-Information-Cell-SetupRqstFDD PRESENCE optional },
- ...
-}
-
-Synchronisation-Configuration-Cell-SetupRqst ::= SEQUENCE {
- n-INSYNC-IND N-INSYNC-IND,
- n-OUTSYNC-IND N-OUTSYNC-IND,
- t-RLFAILURE T-RLFAILURE,
- iE-Extensions ProtocolExtensionContainer { { Synchronisation-Configuration-Cell-SetupRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-Synchronisation-Configuration-Cell-SetupRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimarySCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- primarySCH-Power DL-Power,
- tSTD-Indicator TSTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { PrimarySCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PrimarySCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SecondarySCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- secondarySCH-Power DL-Power,
- tSTD-Indicator TSTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { SecondarySCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SecondarySCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimaryCPICH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- primaryCPICH-Power PrimaryCPICH-Power,
- transmitDiversityIndicator TransmitDiversityIndicator,
- iE-Extensions ProtocolExtensionContainer { { PrimaryCPICH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PrimaryCPICH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SecondaryCPICH-InformationList-Cell-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container{{ SecondaryCPICH-InformationItemIE-Cell-SetupRqstFDD }}
-
-SecondaryCPICH-InformationItemIE-Cell-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationItem-Cell-SetupRqstFDD PRESENCE mandatory}
-}
-
-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- dl-ScramblingCode DL-ScramblingCode,
- fDD-DL-ChannelisationCodeNumber FDD-DL-ChannelisationCodeNumber,
- secondaryCPICH-Power DL-Power,
- transmitDiversityIndicator TransmitDiversityIndicator,
- iE-Extensions ProtocolExtensionContainer { { SecondaryCPICH-InformationItem-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SecondaryCPICH-InformationItem-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimaryCCPCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- bCH-information BCH-Information-Cell-SetupRqstFDD,
- sTTD-Indicator STTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { PrimaryCCPCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PrimaryCCPCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-BCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- bCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { BCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-BCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Limited-power-increase-information-Cell-SetupRqstFDD ::= SEQUENCE {
- powerRaiseLimit PowerRaiseLimit,
- dLPowerAveragingWindowSize DLPowerAveragingWindowSize,
- iE-Extensions ProtocolExtensionContainer { { Limited-power-increase-information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Limited-power-increase-information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLParameter-Information-Cell-SetupRqstFDD::= SEQUENCE {
- iPDL-FDD-Parameters IPDL-FDD-Parameters,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-Information-Cell-SetupRqstFDD ::= SEQUENCE {
- maximum-PDSCH-Power Maximum-PDSCH-Power,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-Information-Cell-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-Information-Cell-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SETUP REQUEST TDD
---
--- **************************************************************
-
-CellSetupRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSetupRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSetupRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSetupRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-ID CRITICALITY reject TYPE Local-Cell-ID PRESENCE mandatory }|
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-UARFCNforNt CRITICALITY reject TYPE UARFCN PRESENCE mandatory }|
- { ID id-CellParameterID CRITICALITY reject TYPE CellParameterID PRESENCE mandatory }|
- { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE mandatory }|
- { ID id-TransmissionDiversityApplied CRITICALITY reject TYPE TransmissionDiversityApplied PRESENCE mandatory }|
- { ID id-SyncCase CRITICALITY reject TYPE SyncCase PRESENCE mandatory }|
- { ID id-Synchronisation-Configuration-Cell-SetupRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-SetupRqst PRESENCE mandatory }|
- { ID id-DPCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE mandatory }| -- This IE shall be ignored by the Node B.
- { ID id-PUSCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE mandatory }| -- This IE shall be ignored by the Node B.
- { ID id-PRACHConstant CRITICALITY reject TYPE ConstantValue PRESENCE mandatory }| -- This IE shall be ignored by the Node B.
- { ID id-TimingAdvanceApplied CRITICALITY reject TYPE TimingAdvanceApplied PRESENCE mandatory }|
- { ID id-SCH-Information-Cell-SetupRqstTDD CRITICALITY reject TYPE SCH-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- { ID id-PCCPCH-Information-Cell-SetupRqstTDD CRITICALITY reject TYPE PCCPCH-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- { ID id-TimeSlotConfigurationList-Cell-SetupRqstTDD CRITICALITY reject TYPE TimeSlotConfigurationList-Cell-SetupRqstTDD PRESENCE optional }, -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- ...
-}
-
-CellSetupRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD CRITICALITY reject EXTENSION TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-PCCPCH-LCR-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION PCCPCH-LCR-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-DwPCH-LCR-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION DwPCH-LCR-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-ReferenceSFNoffset CRITICALITY ignore EXTENSION ReferenceSFNoffset PRESENCE optional }|
- { ID id-IPDLParameter-Information-Cell-SetupRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-SetupRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD only
- { ID id-IPDLParameter-Information-LCR-Cell-SetupRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-LCR-Cell-SetupRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-
-SCH-Information-Cell-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- syncCaseIndicator SyncCaseIndicator-Cell-SetupRqstTDD-PSCH,
- sCH-Power DL-Power,
- tSTD-Indicator TSTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { SCH-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SCH-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SyncCaseIndicator-Cell-SetupRqstTDD-PSCH ::= ProtocolIE-Single-Container {{ SyncCaseIndicatorIE-Cell-SetupRqstTDD-PSCH }}
-
-SyncCaseIndicatorIE-Cell-SetupRqstTDD-PSCH NBAP-PROTOCOL-IES ::= {
- { ID id-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH CRITICALITY reject TYPE SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH PRESENCE mandatory }
-}
-
-SyncCaseIndicatorItem-Cell-SetupRqstTDD-PSCH ::= CHOICE {
- case1 Case1-Cell-SetupRqstTDD,
- case2 Case2-Cell-SetupRqstTDD,
- ...
-}
-
-Case1-Cell-SetupRqstTDD ::= SEQUENCE {
- timeSlot TimeSlot,
- iE-Extensions ProtocolExtensionContainer { { Case1Item-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Case1Item-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Case2-Cell-SetupRqstTDD ::= SEQUENCE {
- sCH-TimeSlot SCH-TimeSlot,
- iE-Extensions ProtocolExtensionContainer { { Case2Item-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Case2Item-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-PCCPCH-Information-Cell-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- pCCPCH-Power PCCPCH-Power,
- sCTD-Indicator SCTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { PCCPCH-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCCPCH-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeSlotConfigurationList-Cell-SetupRqstTDD ::= SEQUENCE (SIZE (1..15)) OF TimeSlotConfigurationItem-Cell-SetupRqstTDD
-
-TimeSlotConfigurationItem-Cell-SetupRqstTDD ::= SEQUENCE {
- timeSlot TimeSlot,
- timeSlotStatus TimeSlotStatus,
- timeSlotDirection TimeSlotDirection,
- iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-TimeSlotConfigurationItem-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeSlotConfigurationList-LCR-Cell-SetupRqstTDD ::= SEQUENCE (SIZE (1..7)) OF TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD
-
-TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- timeSlotStatus TimeSlotStatus,
- timeSlotDirection TimeSlotDirection,
- iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-TimeSlotConfigurationItem-LCR-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PCCPCH-LCR-Information-Cell-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- pCCPCH-Power PCCPCH-Power,
- sCTD-Indicator SCTD-Indicator,
- tSTD-Indicator TSTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { PCCPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCCPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DwPCH-LCR-Information-Cell-SetupRqstTDD ::= SEQUENCE {
- commonPhysicalChannelId CommonPhysicalChannelID,
- tSTD-Indicator TSTD-Indicator,
- dwPCH-Power DwPCH-Power,
- iE-Extensions ProtocolExtensionContainer { { DwPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DwPCH-LCR-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLParameter-Information-Cell-SetupRqstTDD ::= SEQUENCE {
- iPDL-TDD-Parameters IPDL-TDD-Parameters,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-IPDLParameter-Information-LCR-Cell-SetupRqstTDD ::= SEQUENCE {
- iPDL-TDD-Parameters-LCR IPDL-TDD-Parameters-LCR,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-LCR-Cell-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-LCR-Cell-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SETUP RESPONSE
---
--- **************************************************************
-
-CellSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSetupResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSetupResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CellSetupResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-CellSetupResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SETUP FAILURE
---
--- **************************************************************
-
-CellSetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSetupFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSetupFailure-Extensions}} OPTIONAL,
- ...
-}
-
-CellSetupFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CellSetupFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL RECONFIGURATION REQUEST FDD
---
--- **************************************************************
-
-CellReconfigurationRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellReconfigurationRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellReconfigurationRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE optional }|
- { ID id-Synchronisation-Configuration-Cell-ReconfRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-ReconfRqst PRESENCE optional }|
- { ID id-PrimarySCH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE PrimarySCH-Information-Cell-ReconfRqstFDD PRESENCE optional }|
- { ID id-SecondarySCH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE SecondarySCH-Information-Cell-ReconfRqstFDD PRESENCE optional }|
- { ID id-PrimaryCPICH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE PrimaryCPICH-Information-Cell-ReconfRqstFDD PRESENCE optional }|
- { ID id-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationList-Cell-ReconfRqstFDD PRESENCE optional }|
- { ID id-PrimaryCCPCH-Information-Cell-ReconfRqstFDD CRITICALITY reject TYPE PrimaryCCPCH-Information-Cell-ReconfRqstFDD PRESENCE optional },
- ...
-}
-
-CellReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-IPDLParameter-Information-Cell-ReconfRqstFDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-ReconfRqstFDD PRESENCE optional }|
- {ID id-PDSCH-Information-Cell-ReconfRqstFDD CRITICALITY reject EXTENSION PDSCH-Information-Cell-ReconfRqstFDD PRESENCE optional },
- ...
-}
-
-Synchronisation-Configuration-Cell-ReconfRqst ::= SEQUENCE {
- n-INSYNC-IND N-INSYNC-IND,
- n-OUTSYNC-IND N-OUTSYNC-IND,
- t-RLFAILURE T-RLFAILURE,
- iE-Extensions ProtocolExtensionContainer { { Synchronisation-Configuration-Cell-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-Synchronisation-Configuration-Cell-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimarySCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- primarySCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { PrimarySCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-PrimarySCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SecondarySCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- secondarySCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { SecondarySCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-SecondarySCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimaryCPICH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- primaryCPICH-Power PrimaryCPICH-Power,
- iE-Extensions ProtocolExtensionContainer { { PrimaryCPICH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-PrimaryCPICH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SecondaryCPICH-InformationList-Cell-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container{{ SecondaryCPICH-InformationItemIE-Cell-ReconfRqstFDD }}
-
-SecondaryCPICH-InformationItemIE-Cell-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD CRITICALITY reject TYPE SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD PRESENCE mandatory }
-}
-
-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- secondaryCPICH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-SecondaryCPICH-InformationItem-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PrimaryCCPCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
- bCH-information BCH-information-Cell-ReconfRqstFDD,
- iE-Extensions ProtocolExtensionContainer { { PrimaryCCPCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-PrimaryCCPCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-BCH-information-Cell-ReconfRqstFDD ::= SEQUENCE {
- commonTransportChannelID CommonTransportChannelID,
- bCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { BCH-information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-BCH-information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLParameter-Information-Cell-ReconfRqstFDD::= SEQUENCE {
- iPDL-FDD-Parameters IPDL-FDD-Parameters OPTIONAL,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-Information-Cell-ReconfRqstFDD ::= SEQUENCE {
- maximumPDSCH-Power Maximum-PDSCH-Power,
- iE-Extensions ProtocolExtensionContainer { { PDSCH-Information-Cell-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCH-Information-Cell-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL RECONFIGURATION REQUEST TDD
---
--- **************************************************************
-
-CellReconfigurationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellReconfigurationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellReconfigurationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-Synchronisation-Configuration-Cell-ReconfRqst CRITICALITY reject TYPE Synchronisation-Configuration-Cell-ReconfRqst PRESENCE optional }|
- { ID id-TimingAdvanceApplied CRITICALITY reject TYPE TimingAdvanceApplied PRESENCE optional }|
- { ID id-SCH-Information-Cell-ReconfRqstTDD CRITICALITY reject TYPE SCH-Information-Cell-ReconfRqstTDD PRESENCE optional }|
- -- Applicable to 3.84Mcps TDD only
- { ID id-PCCPCH-Information-Cell-ReconfRqstTDD CRITICALITY reject TYPE PCCPCH-Information-Cell-ReconfRqstTDD PRESENCE optional }|
- { ID id-MaximumTransmissionPower CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE optional }|
- { ID id-DPCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE optional }|
- -- This IE shall be ignored by the Node B.
- { ID id-PUSCHConstant CRITICALITY reject TYPE ConstantValue PRESENCE optional }|
- -- This IE shall be ignored by the Node B.
- { ID id-PRACHConstant CRITICALITY reject TYPE ConstantValue PRESENCE optional }|
- -- This IE shall be ignored by the Node B.
- { ID id-TimeSlotConfigurationList-Cell-ReconfRqstTDD CRITICALITY reject TYPE TimeSlotConfigurationList-Cell-ReconfRqstTDD PRESENCE optional },
- -- Mandatory for 3.84Mcps TDD only. Not Applicable to 1.28Mcps TDD.
- ...
-}
-
-CellReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-DwPCH-LCR-Information-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION DwPCH-LCR-Information-Cell-ReconfRqstTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-IPDLParameter-Information-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-Cell-ReconfRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD only
- { ID id-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD CRITICALITY reject EXTENSION IPDLParameter-Information-LCR-Cell-ReconfRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-SCH-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- sCH-Power DL-Power,
- iE-Extensions ProtocolExtensionContainer { { PSCH-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PSCH-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PCCPCH-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelID CommonPhysicalChannelID,
- pCCPCH-Power PCCPCH-Power,
- iE-Extensions ProtocolExtensionContainer { { PCCPCH-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PCCPCH-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeSlotConfigurationList-Cell-ReconfRqstTDD ::= SEQUENCE (SIZE (1..15)) OF TimeSlotConfigurationItem-Cell-ReconfRqstTDD
-
-TimeSlotConfigurationItem-Cell-ReconfRqstTDD ::= SEQUENCE {
- timeSlot TimeSlot,
- timeSlotStatus TimeSlotStatus,
- timeSlotDirection TimeSlotDirection,
- iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-TimeSlotConfigurationItem-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeSlotConfigurationList-LCR-Cell-ReconfRqstTDD ::= SEQUENCE (SIZE (1..7)) OF TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD
-
-TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- timeSlotStatus TimeSlotStatus,
- timeSlotDirection TimeSlotDirection,
- iE-Extensions ProtocolExtensionContainer { { TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-TimeSlotConfigurationItem-LCR-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DwPCH-LCR-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
- commonPhysicalChannelId CommonPhysicalChannelID,
- dwPCH-Power DwPCH-Power,
- iE-Extensions ProtocolExtensionContainer { { DwPCH-LCR-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-DwPCH-LCR-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLParameter-Information-Cell-ReconfRqstTDD ::= SEQUENCE {
- iPDL-TDD-Parameters IPDL-TDD-Parameters OPTIONAL,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD ::= SEQUENCE {
- iPDL-TDD-Parameters-LCR IPDL-TDD-Parameters-LCR OPTIONAL,
- iPDL-Indicator IPDL-Indicator,
- iE-Extensions ProtocolExtensionContainer { { IPDLParameter-Information-LCR-Cell-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IPDLParameter-Information-LCR-Cell-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL RECONFIGURATION RESPONSE
---
--- **************************************************************
-
-CellReconfigurationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellReconfigurationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellReconfigurationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CellReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-CellReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL RECONFIGURATION FAILURE
---
--- **************************************************************
-
-CellReconfigurationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellReconfigurationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellReconfigurationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-CellReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CellReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL DELETION REQUEST
---
--- **************************************************************
-
-CellDeletionRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellDeletionRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellDeletionRequest-Extensions}} OPTIONAL,
- ...
-}
-
-CellDeletionRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory},
- ...
-}
-
-CellDeletionRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL DELETION RESPONSE
---
--- **************************************************************
-
-CellDeletionResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellDeletionResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellDeletionResponse-Extensions}} OPTIONAL,
- ...
-}
-
-CellDeletionResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-CellDeletionResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RESOURCE STATUS INDICATION
---
--- **************************************************************
-
-ResourceStatusIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ResourceStatusIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{ResourceStatusIndication-Extensions}} OPTIONAL,
- ...
-}
-
-ResourceStatusIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-IndicationType-ResourceStatusInd CRITICALITY ignore TYPE IndicationType-ResourceStatusInd PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional },
- ...
-}
-
-ResourceStatusIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IndicationType-ResourceStatusInd ::= CHOICE {
- no-Failure No-Failure-ResourceStatusInd,
- serviceImpacting ServiceImpacting-ResourceStatusInd,
- ...
-}
-
-No-Failure-ResourceStatusInd ::= SEQUENCE {
- local-Cell-InformationList Local-Cell-InformationList-ResourceStatusInd,
- local-Cell-Group-InformationList Local-Cell-Group-InformationList-ResourceStatusInd OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { No-FailureItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-No-FailureItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Power-Local-Cell-Group-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION Power-Local-Cell-Group-InformationList-ResourceStatusInd PRESENCE optional },
- ...
-}
-
-Local-Cell-InformationList-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-InformationItemIE-ResourceStatusInd }}
-
-Local-Cell-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-InformationItem-ResourceStatusInd PRESENCE mandatory }
-}
-
-Local-Cell-InformationItem-ResourceStatusInd ::= SEQUENCE {
- local-CellID Local-Cell-ID,
- addorDeleteIndicator AddorDeleteIndicator,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- maximumDL-PowerCapability MaximumDL-PowerCapability OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- minSpreadingFactor MinSpreadingFactor OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- minimumDL-PowerCapability MinimumDL-PowerCapability OPTIONAL,
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add"
- local-Cell-Group-ID Local-Cell-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Local-Cell-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Local-Cell-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-ReferenceClockAvailability CRITICALITY ignore EXTENSION ReferenceClockAvailability PRESENCE optional }|
- -- This IE shall be present if AddorDeleteIndicator IE is set to "add" and the Local Cell is related to a TDD cell
- { ID id-Power-Local-Cell-Group-ID CRITICALITY ignore EXTENSION Local-Cell-ID PRESENCE optional }|
- { ID id-HSDPA-Capability CRITICALITY ignore EXTENSION HSDPA-Capability PRESENCE optional },
- ...
-}
-
-Local-Cell-Group-InformationList-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-Group-InformationItemIE-ResourceStatusInd }}
-
-Local-Cell-Group-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-Group-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-Group-InformationItem-ResourceStatusInd PRESENCE mandatory }
-}
-
-Local-Cell-Group-InformationItem-ResourceStatusInd::= SEQUENCE {
- local-Cell-Group-ID Local-Cell-ID,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit,
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw,
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw,
- iE-Extensions ProtocolExtensionContainer { { Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Power-Local-Cell-Group-InformationList-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Power-Local-Cell-Group-InformationItemIE-ResourceStatusInd }}
-
-Power-Local-Cell-Group-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Power-Local-Cell-Group-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Power-Local-Cell-Group-InformationItem-ResourceStatusInd PRESENCE mandatory }
-}
-
-Power-Local-Cell-Group-InformationItem-ResourceStatusInd::= SEQUENCE {
- power-Local-Cell-Group-ID Local-Cell-ID,
- maximumDL-PowerCapability MaximumDL-PowerCapability,
- iE-Extensions ProtocolExtensionContainer { { Power-Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Power-Local-Cell-Group-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ServiceImpacting-ResourceStatusInd ::= SEQUENCE {
- local-Cell-InformationList Local-Cell-InformationList2-ResourceStatusInd OPTIONAL,
- local-Cell-Group-InformationList Local-Cell-Group-InformationList2-ResourceStatusInd OPTIONAL,
- cCP-InformationList CCP-InformationList-ResourceStatusInd OPTIONAL,
- cell-InformationList Cell-InformationList-ResourceStatusInd OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { ServiceImpactingItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-ServiceImpactingItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Power-Local-Cell-Group-InformationList2-ResourceStatusInd CRITICALITY ignore EXTENSION Power-Local-Cell-Group-InformationList2-ResourceStatusInd PRESENCE optional },
- ...
-}
-
-Local-Cell-InformationList2-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-InformationItemIE2-ResourceStatusInd }}
-
-Local-Cell-InformationItemIE2-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-InformationItem2-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-InformationItem2-ResourceStatusInd PRESENCE mandatory }
-}
-
-Local-Cell-InformationItem2-ResourceStatusInd ::= SEQUENCE {
- local-Cell-ID Local-Cell-ID,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit OPTIONAL,
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw OPTIONAL,
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw OPTIONAL,
- maximum-DL-PowerCapability MaximumDL-PowerCapability OPTIONAL,
- minSpreadingFactor MinSpreadingFactor OPTIONAL,
- minimumDL-PowerCapability MinimumDL-PowerCapability OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Local-Cell-InformationItem2-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Local-Cell-InformationItem2-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-ReferenceClockAvailability CRITICALITY ignore EXTENSION ReferenceClockAvailability PRESENCE optional }|
- { ID id-HSDPA-Capability CRITICALITY ignore EXTENSION HSDPA-Capability PRESENCE optional },
- ...
-}
-
-Local-Cell-Group-InformationList2-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Local-Cell-Group-InformationItemIE2-ResourceStatusInd }}
-
-Local-Cell-Group-InformationItemIE2-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Local-Cell-Group-InformationItem2-ResourceStatusInd CRITICALITY ignore TYPE Local-Cell-Group-InformationItem2-ResourceStatusInd PRESENCE mandatory }
-}
-
-Local-Cell-Group-InformationItem2-ResourceStatusInd ::= SEQUENCE {
- local-Cell-Group-ID Local-Cell-ID,
- dl-or-global-capacityCredit DL-or-Global-CapacityCredit OPTIONAL,
- ul-capacityCredit UL-CapacityCredit OPTIONAL,
- commonChannelsCapacityConsumptionLaw CommonChannelsCapacityConsumptionLaw OPTIONAL,
- dedicatedChannelsCapacityConsumptionLaw DedicatedChannelsCapacityConsumptionLaw OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Power-Local-Cell-Group-InformationList2-ResourceStatusInd ::= SEQUENCE(SIZE (1..maxLocalCellinNodeB)) OF ProtocolIE-Single-Container {{ Power-Local-Cell-Group-InformationItemIE2-ResourceStatusInd }}
-
-Power-Local-Cell-Group-InformationItemIE2-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd CRITICALITY ignore TYPE Power-Local-Cell-Group-InformationItem2-ResourceStatusInd PRESENCE mandatory }
-}
-
-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd::= SEQUENCE {
- power-Local-Cell-Group-ID Local-Cell-ID,
- maximumDL-PowerCapability MaximumDL-PowerCapability,
- iE-Extensions ProtocolExtensionContainer { { Power-Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Power-Local-Cell-Group-InformationItem2-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCP-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCCPinNodeB)) OF ProtocolIE-Single-Container {{ CCP-InformationItemIE-ResourceStatusInd }}
-
-CCP-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-CCP-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE CCP-InformationItem-ResourceStatusInd PRESENCE mandatory }
-}
-
-CCP-InformationItem-ResourceStatusInd ::= SEQUENCE {
- communicationControlPortID CommunicationControlPortID,
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer { { CCP-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-CCP-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Cell-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ Cell-InformationItemIE-ResourceStatusInd }}
-
-Cell-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-Cell-InformationItem-ResourceStatusInd CRITICALITY ignore TYPE Cell-InformationItem-ResourceStatusInd PRESENCE mandatory }
-}
-
-Cell-InformationItem-ResourceStatusInd ::= SEQUENCE {
- c-ID C-ID,
- resourceOperationalState ResourceOperationalState OPTIONAL,
- availabilityStatus AvailabilityStatus OPTIONAL,
- primary-SCH-Information P-SCH-Information-ResourceStatusInd OPTIONAL, -- FDD only
- secondary-SCH-Information S-SCH-Information-ResourceStatusInd OPTIONAL, -- FDD only
- primary-CPICH-Information P-CPICH-Information-ResourceStatusInd OPTIONAL, -- FDD only
- secondary-CPICH-Information S-CPICH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- primary-CCPCH-Information P-CCPCH-Information-ResourceStatusInd OPTIONAL,
- bCH-Information BCH-Information-ResourceStatusInd OPTIONAL,
- secondary-CCPCH-InformationList S-CCPCH-InformationList-ResourceStatusInd OPTIONAL,
- pCH-Information PCH-Information-ResourceStatusInd OPTIONAL,
- pICH-Information PICH-Information-ResourceStatusInd OPTIONAL,
- fACH-InformationList FACH-InformationList-ResourceStatusInd OPTIONAL,
- pRACH-InformationList PRACH-InformationList-ResourceStatusInd OPTIONAL,
- rACH-InformationList RACH-InformationList-ResourceStatusInd OPTIONAL,
- aICH-InformationList AICH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- pCPCH-InformationList PCPCH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- cPCH-InformationList CPCH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- aP-AICH-InformationList AP-AICH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- cDCA-ICH-InformationList CDCA-ICH-InformationList-ResourceStatusInd OPTIONAL, -- FDD only
- sCH-Information SCH-Information-ResourceStatusInd OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { Cell-InformationItem-ResourceStatusInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-Cell-InformationItem-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-FPACH-LCR-InformationList-ResourceStatusInd CRITICALITY ignore EXTENSION FPACH-LCR-InformationList-ResourceStatusInd PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-DwPCH-LCR-Information-ResourceStatusInd CRITICALITY ignore EXTENSION DwPCH-LCR-Information-ResourceStatusInd PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-HSDSCH-Resources-Information-ResourceStatusInd CRITICALITY ignore EXTENSION HS-DSCH-Resources-Information-ResourceStatusInd PRESENCE optional },
- ...
-}
-
-P-SCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ P-SCH-InformationIE-ResourceStatusInd }}
-
-P-SCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-P-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-S-SCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ S-SCH-InformationIE-ResourceStatusInd }}
-
-S-SCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-S-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-P-CPICH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ P-CPICH-InformationIE-ResourceStatusInd }}
-
-P-CPICH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-P-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-S-CPICH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxSCPICHCell)) OF ProtocolIE-Single-Container {{ S-CPICH-InformationItemIE-ResourceStatusInd }}
-
-S-CPICH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-S-CPICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-P-CCPCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ P-CCPCH-InformationIE-ResourceStatusInd }}
-
-P-CCPCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-P-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-BCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ BCH-InformationIE-ResourceStatusInd }}
-
-BCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-BCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-S-CCPCH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxSCCPCHCell)) OF ProtocolIE-Single-Container {{ S-CCPCH-InformationItemIE-ResourceStatusInd }}
-
-S-CCPCH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-S-CCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-PCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ PCH-InformationIE-ResourceStatusInd }}
-
-PCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-PCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-PICH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ PICH-InformationIE-ResourceStatusInd }}
-
-PICH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-PICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-FACH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxFACHCell)) OF ProtocolIE-Single-Container {{ FACH-InformationItemIE-ResourceStatusInd }}
-
-FACH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-FACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-PRACH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ PRACH-InformationItemIE-ResourceStatusInd }}
-
-PRACH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-PRACH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-RACH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ RACH-InformationItemIE-ResourceStatusInd }}
-
-RACH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-RACH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE mandatory }
-}
-
-AICH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPRACHCell)) OF ProtocolIE-Single-Container {{ AICH-InformationItemIE-ResourceStatusInd }}
-
-AICH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-AICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-PCPCH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxPCPCHCell)) OF ProtocolIE-Single-Container {{ PCPCH-InformationItemIE-ResourceStatusInd }}
-
-PCPCH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-PCPCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE optional }
-}
-
-CPCH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ CPCH-InformationItemIE-ResourceStatusInd }}
-
-CPCH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-CPCH-Information CRITICALITY ignore TYPE Common-TransportChannel-Status-Information PRESENCE optional }
-}
-
-AP-AICH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ AP-AICH-InformationItemIE-ResourceStatusInd }}
-
-AP-AICH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-AP-AICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE optional }
-}
-
-CDCA-ICH-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxCPCHCell)) OF ProtocolIE-Single-Container {{ CDCA-ICH-InformationItemIE-ResourceStatusInd }}
-
-CDCA-ICH-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-CDCA-ICH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE optional }
-}
-
-SCH-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ SCH-InformationIE-ResourceStatusInd }}
-
-SCH-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-SCH-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-FPACH-LCR-InformationList-ResourceStatusInd ::= SEQUENCE (SIZE (1..maxFPACHCell)) OF ProtocolIE-Single-Container {{ FPACH-LCR-InformationItemIE-ResourceStatusInd }}
-
-FPACH-LCR-InformationItemIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-FPACH-LCR-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-DwPCH-LCR-Information-ResourceStatusInd ::= ProtocolIE-Single-Container {{ DwPCH-LCR-InformationIE-ResourceStatusInd }}
-
-DwPCH-LCR-InformationIE-ResourceStatusInd NBAP-PROTOCOL-IES ::= {
- { ID id-DwPCH-LCR-Information CRITICALITY ignore TYPE Common-PhysicalChannel-Status-Information PRESENCE mandatory }
-}
-
-HS-DSCH-Resources-Information-ResourceStatusInd ::= SEQUENCE {
- resourceOperationalState ResourceOperationalState,
- availabilityStatus AvailabilityStatus,
- iE-Extensions ProtocolExtensionContainer {{ HS-DSCH-Resources-Information-ResourceStatusInd-ExtIEs }} OPTIONAL,
- ...
-}
-
-HS-DSCH-Resources-Information-ResourceStatusInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SYSTEM INFORMATION UPDATE REQUEST
---
--- **************************************************************
-
-SystemInformationUpdateRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{SystemInformationUpdateRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{SystemInformationUpdateRequest-Extensions}} OPTIONAL,
- ...
-}
-
-SystemInformationUpdateRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-BCCH-ModificationTime CRITICALITY reject TYPE BCCH-ModificationTime PRESENCE optional }|
- { ID id-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst CRITICALITY reject TYPE MIB-SB-SIB-InformationList-SystemInfoUpdateRqst PRESENCE mandatory },
- ...
-}
-
-SystemInformationUpdateRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MIB-SB-SIB-InformationList-SystemInfoUpdateRqst ::= SEQUENCE (SIZE (1..maxIB)) OF MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst
-
-MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst ::= SEQUENCE {
- iB-Type IB-Type,
- iB-OC-ID IB-OC-ID,
- deletionIndicator DeletionIndicator-SystemInfoUpdate,
- iE-Extensions ProtocolExtensionContainer { { MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DeletionIndicator-SystemInfoUpdate ::= CHOICE {
- no-Deletion No-Deletion-SystemInfoUpdate,
- yes-Deletion NULL
-
-}
-
-No-Deletion-SystemInfoUpdate ::= SEQUENCE {
- sIB-Originator SIB-Originator OPTIONAL,
- -- This IE shall be present if the IB-Type IE is set to "SIB"
- iB-SG-REP IB-SG-REP OPTIONAL,
- segmentInformationList SegmentInformationList-SystemInfoUpdate,
- iE-Extensions ProtocolExtensionContainer { { No-DeletionItem-SystemInfoUpdate-ExtIEs} } OPTIONAL,
- ...
-}
-
-No-DeletionItem-SystemInfoUpdate-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SegmentInformationList-SystemInfoUpdate ::= ProtocolIE-Single-Container {{ SegmentInformationListIEs-SystemInfoUpdate }}
-
-SegmentInformationListIEs-SystemInfoUpdate NBAP-PROTOCOL-IES ::= {
- { ID id-SegmentInformationListIE-SystemInfoUpdate CRITICALITY reject TYPE SegmentInformationListIE-SystemInfoUpdate PRESENCE mandatory }
-}
-
-SegmentInformationListIE-SystemInfoUpdate ::= SEQUENCE (SIZE (1..maxIBSEG)) OF SegmentInformationItem-SystemInfoUpdate
-
-SegmentInformationItem-SystemInfoUpdate ::= SEQUENCE {
- iB-SG-POS IB-SG-POS OPTIONAL,
- segment-Type Segment-Type OPTIONAL,
- -- This IE shall be present if the SIB Originator IE is set to "CRNC" or the IB-Type IE is set to "MIB", "SB1" or "SB2"
- iB-SG-DATA IB-SG-DATA OPTIONAL,
- -- This IE shall be present if the SIB Originator IE is set to "CRNC" or the IB-Type IE is set to "MIB", "SB1" or "SB2"
- iE-Extensions ProtocolExtensionContainer { { SegmentInformationItem-SystemInfoUpdate-ExtIEs} } OPTIONAL,
- ...
-}
-
-SegmentInformationItem-SystemInfoUpdate-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SYSTEM INFORMATION UPDATE RESPONSE
---
--- **************************************************************
-
-SystemInformationUpdateResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{SystemInformationUpdateResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{SystemInformationUpdateResponse-Extensions}} OPTIONAL,
- ...
-}
-
-SystemInformationUpdateResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-SystemInformationUpdateResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SYSTEM INFORMATION UPDATE FAILURE
---
--- **************************************************************
-
-SystemInformationUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{SystemInformationUpdateFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{SystemInformationUpdateFailure-Extensions}} OPTIONAL,
- ...
-}
-
-SystemInformationUpdateFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SystemInformationUpdateFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP REQUEST FDD
---
--- **************************************************************
-
-RadioLinkSetupRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY reject TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-SetupRqstFDD PRESENCE mandatory }|
- { ID id-DL-DPCH-Information-RL-SetupRqstFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-SetupRqstFDD PRESENCE mandatory }|
- { ID id-DCH-FDD-Information CRITICALITY reject TYPE DCH-FDD-Information PRESENCE mandatory }|
- { ID id-DSCH-FDD-Information CRITICALITY reject TYPE DSCH-FDD-Information PRESENCE optional }|
- { ID id-TFCI2-Bearer-Information-RL-SetupRqstFDD CRITICALITY ignore TYPE TFCI2-Bearer-Information-RL-SetupRqstFDD PRESENCE optional }|
- { ID id-RL-InformationList-RL-SetupRqstFDD CRITICALITY notify TYPE RL-InformationList-RL-SetupRqstFDD PRESENCE mandatory }|
- { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional } |
- { ID id-Active-Pattern-Sequence-Information CRITICALITY reject TYPE Active-Pattern-Sequence-Information PRESENCE optional },
- ...
-}
-
-RadioLinkSetupRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DSCH-FDD-Common-Information CRITICALITY ignore EXTENSION DSCH-FDD-Common-Information PRESENCE optional }|
- { ID id-DL-PowerBalancing-Information CRITICALITY ignore EXTENSION DL-PowerBalancing-Information PRESENCE optional }|
- { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-DSCH Information IE is present
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE conditional },
- -- The IE shall be present if HS-DSCH Information IE is present
- ...
-}
-
-UL-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
- ul-ScramblingCode UL-ScramblingCode,
- minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength,
- maxNrOfUL-DPDCHs MaxNrOfUL-DPDCHs OPTIONAL,
- -- This IE shall be present if Min UL Channelisation Code length IE is set to 4 --
- ul-PunctureLimit PunctureLimit,
- tFCS TFCS,
- ul-DPCCH-SlotFormat UL-DPCCH-SlotFormat,
- ul-SIR-Target UL-SIR,
- diversityMode DiversityMode,
- sSDT-CellID-Length SSDT-CellID-Length OPTIONAL,
- s-FieldLength S-FieldLength OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-Information-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-DPC-Mode CRITICALITY reject EXTENSION DPC-Mode PRESENCE optional },
- ...
-}
-
-DL-DPCH-Information-RL-SetupRqstFDD ::= SEQUENCE {
- tFCS TFCS,
- dl-DPCH-SlotFormat DL-DPCH-SlotFormat,
- tFCI-SignallingMode TFCI-SignallingMode,
- tFCI-Presence TFCI-Presence OPTIONAL,
- -- this IE shall be present if the DL DPCH slot format IE is set to any of the values from 12 to 16 --
- multiplexingPosition MultiplexingPosition,
- pDSCH-RL-ID RL-ID OPTIONAL,
- -- This IE shall be present if the DSCH Information IE is present --
- pDSCH-CodeMapping PDSCH-CodeMapping OPTIONAL,
- -- This IE shall be present if the DSCH Information IE is present --
- powerOffsetInformation PowerOffsetInformation-RL-SetupRqstFDD,
- fdd-TPC-DownlinkStepSize FDD-TPC-DownlinkStepSize,
- limitedPowerIncrease LimitedPowerIncrease,
- innerLoopDLPCStatus InnerLoopDLPCStatus,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-Information-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PowerOffsetInformation-RL-SetupRqstFDD ::= SEQUENCE {
- pO1-ForTFCI-Bits PowerOffset,
- pO2-ForTPC-Bits PowerOffset,
- pO3-ForPilotBits PowerOffset,
- iE-Extensions ProtocolExtensionContainer { { PowerOffsetInformation-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-PowerOffsetInformation-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCI2-Bearer-Information-RL-SetupRqstFDD ::= SEQUENCE {
- toAWS ToAWS,
- toAWE ToAWE,
- iE-Extensions ProtocolExtensionContainer { { TFCI2-Bearer-Information-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-TFCI2-Bearer-Information-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-RL-InformationList-RL-SetupRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF
- ProtocolIE-Single-Container{{ RL-InformationItemIE-RL-SetupRqstFDD }}
-
-RL-InformationItemIE-RL-SetupRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-SetupRqstFDD CRITICALITY notify TYPE RL-InformationItem-RL-SetupRqstFDD PRESENCE mandatory}
-}
-
-RL-InformationItem-RL-SetupRqstFDD ::= SEQUENCE {
- rL-ID RL-ID,
- c-ID C-ID,
- firstRLS-indicator FirstRLS-Indicator,
- frameOffset FrameOffset,
- chipOffset ChipOffset,
- propagationDelay PropagationDelay OPTIONAL,
- diversityControlField DiversityControlField OPTIONAL,
- -- This IE shall be present if the RL is not the first one in the RL Information IE
- dl-CodeInformation FDD-DL-CodeInformation,
- initialDL-transmissionPower DL-Power,
- maximumDL-power DL-Power,
- minimumDL-power DL-Power,
- sSDT-Cell-Identity SSDT-Cell-Identity OPTIONAL,
- transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
- -- This IE shall be present if Diversity Mode IE in UL DPCH Information group is not set to "none"
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-SetupRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-SetupRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SSDT-CellIDforEDSCHPC CRITICALITY ignore EXTENSION SSDT-Cell-Identity PRESENCE conditional }|
- -- This IE shall be present if Enhanced DSCH PC IE is present in the DSCH Common Information IE.
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
- { ID id-Qth-Parameter CRITICALITY ignore EXTENSION Qth-Parameter PRESENCE optional }|
- { ID id-Primary-CPICH-Usage-for-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-for-Channel-Estimation PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP REQUEST TDD
---
--- **************************************************************
-
-RadioLinkSetupRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY reject TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-CCTrCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationList-RL-SetupRqstTDD PRESENCE optional }|
- { ID id-DL-CCTrCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationList-RL-SetupRqstTDD PRESENCE optional }|
- { ID id-DCH-TDD-Information CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional }|
- { ID id-DSCH-TDD-Information CRITICALITY reject TYPE DSCH-TDD-Information PRESENCE optional }|
- { ID id-USCH-Information CRITICALITY reject TYPE USCH-Information PRESENCE optional }|
- { ID id-RL-Information-RL-SetupRqstTDD CRITICALITY reject TYPE RL-Information-RL-SetupRqstTDD PRESENCE mandatory },
- ...
-}
-
-RadioLinkSetupRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-DSCH Information IE is present
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE conditional }|
- -- The IE shall be present if HS-DSCH Information IE is present
- { ID id-PDSCH-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional },
- ...
-}
-
-UL-CCTrCH-InformationList-RL-SetupRqstTDD ::= SEQUENCE (SIZE(1..maxNrOfCCTrCHs)) OF
- ProtocolIE-Single-Container{{ UL-CCTrCH-InformationItemIE-RL-SetupRqstTDD }}
-
-UL-CCTrCH-InformationItemIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-CCTrCH-InformationItem-RL-SetupRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory}
-}
-
-UL-CCTrCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS,
- tFCI-Coding TFCI-Coding,
- punctureLimit PunctureLimit,
- uL-DPCH-Information UL-DPCH-Information-RL-SetupRqstTDD OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-UL-DPCH-LCR-Information-RL-SetupRqstTDD CRITICALITY notify EXTENSION UL-DPCH-LCR-Information-RL-SetupRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional }|
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
- { ID id-TDD-TPC-UplinkStepSize-LCR-RL-SetupRqstTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional },
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
- ...
-}
-
-UL-DPCH-Information-RL-SetupRqstTDD ::= ProtocolIE-Single-Container{{ UL-DPCH-InformationIE-RL-SetupRqstTDD }}
-
-UL-DPCH-InformationIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE UL-DPCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory }
-}
-
-UL-DPCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-Information UL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCH-LCR-Information-RL-SetupRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-TimeslotLCR-Information UL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationList-RL-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container{{ DL-CCTrCH-InformationItemIE-RL-SetupRqstTDD }}
-
-DL-CCTrCH-InformationItemIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-CCTrCH-InformationItem-RL-SetupRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory}
-}
-
-DL-CCTrCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS,
- tFCI-Coding TFCI-Coding,
- punctureLimit PunctureLimit,
- tdd-TPC-DownlinkStepSize TDD-TPC-DownlinkStepSize,
- cCTrCH-TPCList CCTrCH-TPCList-RL-SetupRqstTDD OPTIONAL,
- dL-DPCH-Information DL-DPCH-Information-RL-SetupRqstTDD OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-LCR-Information-RL-SetupRqstTDD CRITICALITY notify EXTENSION DL-DPCH-LCR-Information-RL-SetupRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-CCTrCH-Initial-DL-Power-RL-SetupRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-CCTrCH-Maximum-DL-Power-RL-SetupRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-CCTrCH-Minimum-DL-Power-RL-SetupRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
- ...
-}
-
-CCTrCH-TPCList-RL-SetupRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCItem-RL-SetupRqstTDD
-
-CCTrCH-TPCItem-RL-SetupRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CCTrCH-TPCItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-Information-RL-SetupRqstTDD ::= ProtocolIE-Single-Container{{ DL-DPCH-InformationIE-RL-SetupRqstTDD }}
-
-DL-DPCH-InformationIE-RL-SetupRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationList-RL-SetupRqstTDD CRITICALITY notify TYPE DL-DPCH-InformationItem-RL-SetupRqstTDD PRESENCE mandatory }
-}
-
-DL-DPCH-InformationItem-RL-SetupRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-Information DL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-LCR-Information-RL-SetupRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-TimeslotLCR-Information DL-TimeslotLCR-Information,
- tstdIndicator TSTD-Indicator,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-LCR-InformationItem-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Information-RL-SetupRqstTDD ::= SEQUENCE {
- rL-ID RL-ID,
- c-ID C-ID,
- frameOffset FrameOffset,
- specialBurstScheduling SpecialBurstScheduling,
- initialDL-transmissionPower DL-Power,
- maximumDL-power DL-Power,
- minimumDL-power DL-Power,
- dL-TimeSlotISCPInfo DL-TimeslotISCPInfo OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { RL-Information-RL-SetupRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Information-RL-SetupRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeslotISCP-LCR-InfoList-RL-SetupRqstTDD CRITICALITY reject EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
- { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional },
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP RESPONSE FDD
---
--- **************************************************************
-
-RadioLinkSetupResponseFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupResponseFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupResponseFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupResponseFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory}|
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory}|
- { ID id-CommunicationControlPortID CRITICALITY ignore TYPE CommunicationControlPortID PRESENCE mandatory}|
- { ID id-RL-InformationResponseList-RL-SetupRspFDD CRITICALITY ignore TYPE RL-InformationResponseList-RL-SetupRspFDD PRESENCE mandatory}|
- { ID id-TFCI2-BearerInformationResponse CRITICALITY ignore TYPE TFCI2-BearerInformationResponse PRESENCE optional}|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-RadioLinkSetupResponseFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional}, ...
-}
-
-RL-InformationResponseList-RL-SetupRspFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container{{ RL-InformationResponseItemIE-RL-SetupRspFDD }}
-
-RL-InformationResponseItemIE-RL-SetupRspFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationResponseItem-RL-SetupRspFDD CRITICALITY ignore TYPE RL-InformationResponseItem-RL-SetupRspFDD PRESENCE mandatory}
-}
-
-RL-InformationResponseItem-RL-SetupRspFDD ::= SEQUENCE {
- rL-ID RL-ID,
- rL-Set-ID RL-Set-ID,
- received-total-wide-band-power Received-total-wide-band-power-Value,
- diversityIndication DiversityIndication-RL-SetupRspFDD,
- dSCH-InformationResponseList DSCH-InformationResponseList-RL-SetupRspFDD OPTIONAL,
- sSDT-SupportIndicator SSDT-SupportIndicator,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseItem-RL-SetupRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional},
- ...
-}
-
-DiversityIndication-RL-SetupRspFDD ::= CHOICE {
- combining Combining-RL-SetupRspFDD,
- nonCombiningOrFirstRL NonCombiningOrFirstRL-RL-SetupRspFDD
-}
-
-Combining-RL-SetupRspFDD ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { Combining-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Combining-RL-SetupRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-NonCombiningOrFirstRL-RL-SetupRspFDD ::= SEQUENCE {
- dCH-InformationResponse DCH-InformationResponse,
- iE-Extensions ProtocolExtensionContainer { { NonCombiningOrFirstRLItem-RL-SetupRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-NonCombiningOrFirstRLItem-RL-SetupRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-InformationResponseList-RL-SetupRspFDD ::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-SetupRspFDD }}
-
-DSCH-InformationResponseListIEs-RL-SetupRspFDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP RESPONSE TDD
---
--- **************************************************************
-
-RadioLinkSetupResponseTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupResponseTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupResponseTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-CommunicationControlPortID CRITICALITY ignore TYPE CommunicationControlPortID PRESENCE mandatory }|
- { ID id-RL-InformationResponse-RL-SetupRspTDD CRITICALITY ignore TYPE RL-InformationResponse-RL-SetupRspTDD PRESENCE optional }|
- -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkSetupResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-RL-InformationResponse-LCR-RL-SetupRspTDD CRITICALITY ignore EXTENSION RL-InformationResponse-LCR-RL-SetupRspTDD PRESENCE optional }| -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional },
- ...
-}
-
-RL-InformationResponse-RL-SetupRspTDD ::= SEQUENCE {
- rL-ID RL-ID,
- uL-TimeSlot-ISCP-Info UL-TimeSlot-ISCP-Info,
- ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
- dCH-InformationResponseList DCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- dSCH-InformationResponseList DSCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- uSCH-InformationResponseList USCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseList-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseList-RL-SetupRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-InformationResponseList-RL-SetupRspTDD ::= ProtocolIE-Single-Container{{ DCH-InformationResponseListIEs-RL-SetupRspTDD }}
-
-DCH-InformationResponseListIEs-RL-SetupRspTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory}
- }
-
-DSCH-InformationResponseList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-SetupRspTDD }}
-
-DSCH-InformationResponseListIEs-RL-SetupRspTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
-}
-
-USCH-InformationResponseList-RL-SetupRspTDD ::= ProtocolIE-Single-Container {{ USCH-InformationResponseListIEs-RL-SetupRspTDD }}
-
-USCH-InformationResponseListIEs-RL-SetupRspTDD NBAP-PROTOCOL-IES ::= {
- { ID id-USCH-InformationResponse CRITICALITY ignore TYPE USCH-InformationResponse PRESENCE mandatory }
-}
-
-RL-InformationResponse-LCR-RL-SetupRspTDD ::= SEQUENCE {
- rL-ID RL-ID,
- uL-TimeSlot-ISCP-LCR-Info UL-TimeSlot-ISCP-LCR-Info,
- ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
- dCH-InformationResponseList DCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- dSCH-InformationResponseList DSCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- uSCH-InformationResponseList USCH-InformationResponseList-RL-SetupRspTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseList-LCR-RL-SetupRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseList-LCR-RL-SetupRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP FAILURE FDD
---
--- **************************************************************
-
-RadioLinkSetupFailureFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupFailureFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupFailureFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupFailureFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE conditional }|
- -- This IE shall be present if at least one of the radio links has been successfully set up
- { ID id-CommunicationControlPortID CRITICALITY ignore TYPE CommunicationControlPortID PRESENCE optional }|
- { ID id-CauseLevel-RL-SetupFailureFDD CRITICALITY ignore TYPE CauseLevel-RL-SetupFailureFDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkSetupFailureFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-RL-SetupFailureFDD ::= CHOICE {
- generalCause GeneralCauseList-RL-SetupFailureFDD,
- rLSpecificCause RLSpecificCauseList-RL-SetupFailureFDD,
- ...
-}
-
-GeneralCauseList-RL-SetupFailureFDD ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RLSpecificCauseList-RL-SetupFailureFDD ::= SEQUENCE {
- unsuccessful-RL-InformationRespList-RL-SetupFailureFDD Unsuccessful-RL-InformationRespList-RL-SetupFailureFDD,
- successful-RL-InformationRespList-RL-SetupFailureFDD Successful-RL-InformationRespList-RL-SetupFailureFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RLSpecificCauseItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional},
- ...
-}
-
-Unsuccessful-RL-InformationRespList-RL-SetupFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureFDD }}
-
-Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureFDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD PRESENCE mandatory}
-}
-
-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Successful-RL-InformationRespList-RL-SetupFailureFDD ::= SEQUENCE (SIZE (1.. maxNrOfRLs)) OF ProtocolIE-Single-Container {{ Successful-RL-InformationRespItemIE-RL-SetupFailureFDD }}
-
-Successful-RL-InformationRespItemIE-RL-SetupFailureFDD NBAP-PROTOCOL-IES ::= {
- { ID id-Successful-RL-InformationRespItem-RL-SetupFailureFDD CRITICALITY ignore TYPE Successful-RL-InformationRespItem-RL-SetupFailureFDD PRESENCE mandatory}
-}
-
-Successful-RL-InformationRespItem-RL-SetupFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- rL-Set-ID RL-Set-ID,
- received-total-wide-band-power Received-total-wide-band-power-Value,
- diversityIndication DiversityIndication-RL-SetupFailureFDD,
- dSCH-InformationResponseList DSCH-InformationRespList-RL-SetupFailureFDD OPTIONAL,
- tFCI2-BearerInformationResponse TFCI2-BearerInformationResponse OPTIONAL,
- -- There shall be only one TFCI2 bearer per Node B Communication Context.
- sSDT-SupportIndicator SSDT-SupportIndicator,
- iE-Extensions ProtocolExtensionContainer { { Successful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Successful-RL-InformationRespItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional},
- ...
-}
-
-DiversityIndication-RL-SetupFailureFDD ::= CHOICE {
- combining Combining-RL-SetupFailureFDD,
- nonCombiningOrFirstRL NonCombiningOrFirstRL-RL-SetupFailureFDD
-}
-
-Combining-RL-SetupFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-CombiningItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-NonCombiningOrFirstRL-RL-SetupFailureFDD ::= SEQUENCE {
- dCH-InformationResponse DCH-InformationResponse,
- iE-Extensions ProtocolExtensionContainer { { NonCombiningOrFirstRLItem-RL-SetupFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-NonCombiningOrFirstRLItem-RL-SetupFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-InformationRespList-RL-SetupFailureFDD ::= ProtocolIE-Single-Container {{ DSCH-InformationRespListIEs-RL-SetupFailureFDD }}
-
-DSCH-InformationRespListIEs-RL-SetupFailureFDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
-}
-
--- **************************************************************
---
--- RADIO LINK SETUP FAILURE TDD
---
--- **************************************************************
-
-RadioLinkSetupFailureTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkSetupFailureTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkSetupFailureTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkSetupFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-CauseLevel-RL-SetupFailureTDD CRITICALITY ignore TYPE CauseLevel-RL-SetupFailureTDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkSetupFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-RL-SetupFailureTDD ::= CHOICE {
- generalCause GeneralCauseList-RL-SetupFailureTDD,
- rLSpecificCause RLSpecificCauseList-RL-SetupFailureTDD,
- ...
-}
-
-GeneralCauseList-RL-SetupFailureTDD ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseItem-RL-SetupFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RLSpecificCauseList-RL-SetupFailureTDD ::= SEQUENCE {
- unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD Unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD,
- iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RLSpecificCauseItem-RL-SetupFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-RL-InformationRespItem-RL-SetupFailureTDD ::= ProtocolIE-Single-Container { {Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureTDD} }
-
-Unsuccessful-RL-InformationRespItemIE-RL-SetupFailureTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationResp-RL-SetupFailureTDD PRESENCE mandatory }
-}
-
-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationResp-RL-SetupFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-RL-InformationResp-RL-SetupFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION REQUEST FDD
---
--- **************************************************************
-
-RadioLinkAdditionRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-Compressed-Mode-Deactivation-Flag CRITICALITY reject TYPE Compressed-Mode-Deactivation-Flag PRESENCE optional }|
- { ID id-RL-InformationList-RL-AdditionRqstFDD CRITICALITY notify TYPE RL-InformationList-RL-AdditionRqstFDD PRESENCE mandatory },
- ...
-}
-
-RadioLinkAdditionRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-RL-AdditionRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-AdditionRqstFDD}}
-
-RL-InformationItemIE-RL-AdditionRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-AdditionRqstFDD CRITICALITY notify TYPE RL-InformationItem-RL-AdditionRqstFDD PRESENCE mandatory}
-}
-
-RL-InformationItem-RL-AdditionRqstFDD ::= SEQUENCE {
- rL-ID RL-ID,
- c-ID C-ID,
- frameOffset FrameOffset,
- chipOffset ChipOffset,
- diversityControlField DiversityControlField,
- dl-CodeInformation FDD-DL-CodeInformation,
- initialDL-TransmissionPower DL-Power OPTIONAL,
- maximumDL-Power DL-Power OPTIONAL,
- minimumDL-Power DL-Power OPTIONAL,
- sSDT-CellIdentity SSDT-Cell-Identity OPTIONAL,
- transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-AdditionRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-AdditionRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional}|
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
- { ID id-Qth-Parameter CRITICALITY ignore EXTENSION Qth-Parameter PRESENCE optional }|
- { ID id-Primary-CPICH-Usage-for-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-for-Channel-Estimation PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION REQUEST TDD
---
--- **************************************************************
-
-RadioLinkAdditionRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-CCTrCH-InformationList-RL-AdditionRqstTDD CRITICALITY reject TYPE UL-CCTrCH-InformationList-RL-AdditionRqstTDD PRESENCE optional }|
- { ID id-DL-CCTrCH-InformationList-RL-AdditionRqstTDD CRITICALITY reject TYPE DL-CCTrCH-InformationList-RL-AdditionRqstTDD PRESENCE optional }|
- { ID id-RL-Information-RL-AdditionRqstTDD CRITICALITY reject TYPE RL-Information-RL-AdditionRqstTDD PRESENCE mandatory },
- ...
-}
-
-RadioLinkAdditionRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-CCTrCH-InformationList-RL-AdditionRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationItem-RL-AdditionRqstTDD
-
-UL-CCTrCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- uL-DPCH-Information UL-DPCH-InformationList-RL-AdditionRqstTDD OPTIONAL, -- Applicable to 3.84cps TDD only
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD CRITICALITY notify EXTENSION UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD PRESENCE optional }| -- Applicable to 1.28cps TDD only
- { ID id-TDD-TPC-UplinkStepSize-LCR-RL-AdditionRqstTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional },
--- Applicable to 1.28cps TDD only
- ...
-}
-
-UL-DPCH-InformationList-RL-AdditionRqstTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationItemIE-RL-AdditionRqstTDD }}
-
-UL-DPCH-InformationItemIE-RL-AdditionRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationItem-RL-AdditionRqstTDD CRITICALITY notify TYPE UL-DPCH-InformationItem-RL-AdditionRqstTDD PRESENCE optional} -- For 3.84Mcps TDD only
-}
-
-UL-DPCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-Information UL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationList-RL-AdditionRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationItem-RL-AdditionRqstTDD
-
-DL-CCTrCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- dL-DPCH-Information DL-DPCH-InformationList-RL-AdditionRqstTDD OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD CRITICALITY notify EXTENSION DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-CCTrCH-Initial-DL-Power-RL-AdditionRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-TDD-TPC-DownlinkStepSize-RL-AdditionRqstTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional }|
- { ID id-CCTrCH-Maximum-DL-Power-RL-AdditionRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-CCTrCH-Minimum-DL-Power-RL-AdditionRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
- ...
-}
-
-DL-DPCH-InformationList-RL-AdditionRqstTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationItemIE-RL-AdditionRqstTDD }}
-
-DL-DPCH-InformationItemIE-RL-AdditionRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationItem-RL-AdditionRqstTDD CRITICALITY notify TYPE DL-DPCH-InformationItem-RL-AdditionRqstTDD PRESENCE mandatory}
-}
-
-DL-DPCH-InformationItem-RL-AdditionRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-Information DL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationItem-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Information-RL-AdditionRqstTDD ::= SEQUENCE {
- rL-ID RL-ID,
- c-ID C-ID,
- frameOffset FrameOffset,
- diversityControlField DiversityControlField,
- initial-DL-Transmission-Power DL-Power OPTIONAL,
- maximumDL-Power DL-Power OPTIONAL,
- minimumDL-Power DL-Power OPTIONAL,
- dL-TimeSlotISCPInfo DL-TimeslotISCPInfo OPTIONAL, -- Applicable to 3.84Mcps TDD only
- iE-Extensions ProtocolExtensionContainer { { RL-information-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-RL-information-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeslotISCP-InformationList-LCR-RL-AdditionRqstTDD CRITICALITY reject EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-DelayedActivation CRITICALITY reject EXTENSION DelayedActivation PRESENCE optional }|
- { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }, -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-TimeslotLCR-Information UL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-TimeslotLCR-Information DL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationItem-LCR-RL-AdditionRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION RESPONSE FDD
---
--- **************************************************************
-
-RadioLinkAdditionResponseFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionResponseFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionResponseFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionResponseFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-RL-InformationResponseList-RL-AdditionRspFDD CRITICALITY ignore TYPE RL-InformationResponseList-RL-AdditionRspFDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkAdditionResponseFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationResponseList-RL-AdditionRspFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container {{ RL-InformationResponseItemIE-RL-AdditionRspFDD }}
-
-RL-InformationResponseItemIE-RL-AdditionRspFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationResponseItem-RL-AdditionRspFDD CRITICALITY ignore TYPE RL-InformationResponseItem-RL-AdditionRspFDD PRESENCE mandatory}
-}
-
-RL-InformationResponseItem-RL-AdditionRspFDD ::= SEQUENCE {
- rL-ID RL-ID,
- rL-Set-ID RL-Set-ID,
- received-total-wide-band-power Received-total-wide-band-power-Value,
- diversityIndication DiversityIndication-RL-AdditionRspFDD,
- sSDT-SupportIndicator SSDT-SupportIndicator,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseItem-RL-AdditionRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional},
- ...
-}
-
-DiversityIndication-RL-AdditionRspFDD ::= CHOICE {
- combining Combining-RL-AdditionRspFDD,
- non-combining Non-Combining-RL-AdditionRspFDD
-}
-
-Combining-RL-AdditionRspFDD ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CombiningItem-RL-AdditionRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Non-Combining-RL-AdditionRspFDD ::= SEQUENCE {
- dCH-InformationResponse DCH-InformationResponse,
- iE-Extensions ProtocolExtensionContainer { { Non-CombiningItem-RL-AdditionRspFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Non-CombiningItem-RL-AdditionRspFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION RESPONSE TDD
---
--- **************************************************************
-
-RadioLinkAdditionResponseTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionResponseTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionResponseTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-RL-InformationResponse-RL-AdditionRspTDD CRITICALITY ignore TYPE RL-InformationResponse-RL-AdditionRspTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkAdditionResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-RL-InformationResponse-LCR-RL-AdditionRspTDD CRITICALITY ignore EXTENSION RL-InformationResponse-LCR-RL-AdditionRspTDD PRESENCE optional }, -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
-RL-InformationResponse-RL-AdditionRspTDD ::= SEQUENCE {
- rL-ID RL-ID,
- uL-TimeSlot-ISCP-Info UL-TimeSlot-ISCP-Info,
- ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
- dCH-Information DCH-Information-RL-AdditionRspTDD OPTIONAL,
- dSCH-InformationResponseList DSCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
- uSCH-InformationResponseList USCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponse-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponse-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-Information-RL-AdditionRspTDD ::= SEQUENCE {
- diversityIndication DiversityIndication-RL-AdditionRspTDD,
- iE-Extensions ProtocolExtensionContainer { { DCH-Information-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-Information-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DiversityIndication-RL-AdditionRspTDD ::= CHOICE {
- combining Combining-RL-AdditionRspTDD, -- Indicates whether the old Transport Bearer shall be reused or not
- non-Combining Non-Combining-RL-AdditionRspTDD
-}
-
-Combining-RL-AdditionRspTDD ::= SEQUENCE {
- rL-ID RL-ID, -- Reference RL
- iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CombiningItem-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Non-Combining-RL-AdditionRspTDD ::= SEQUENCE {
- dCH-InformationResponse DCH-InformationResponse,
- iE-Extensions ProtocolExtensionContainer { { Non-CombiningItem-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Non-CombiningItem-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-InformationResponseList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-AdditionRspTDD }}
-
-DSCH-InformationResponseListIEs-RL-AdditionRspTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
-}
-
-USCH-InformationResponseList-RL-AdditionRspTDD ::= ProtocolIE-Single-Container {{ USCH-InformationResponseListIEs-RL-AdditionRspTDD }}
-
-USCH-InformationResponseListIEs-RL-AdditionRspTDD NBAP-PROTOCOL-IES ::= {
- { ID id-USCH-InformationResponse CRITICALITY ignore TYPE USCH-InformationResponse PRESENCE mandatory }
-}
-
-RL-InformationResponse-LCR-RL-AdditionRspTDD ::= SEQUENCE {
- rL-ID RL-ID,
- uL-TimeSlot-ISCP-InfoLCR UL-TimeSlot-ISCP-LCR-Info,
- ul-PhysCH-SF-Variation UL-PhysCH-SF-Variation,
- dCH-Information DCH-Information-RL-AdditionRspTDD OPTIONAL,
- dSCH-InformationResponseList DSCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
- uSCH-InformationResponseList USCH-InformationResponseList-RL-AdditionRspTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponse-LCR-RL-AdditionRspTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponse-LCR-RL-AdditionRspTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION FAILURE FDD
---
--- **************************************************************
-
-RadioLinkAdditionFailureFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionFailureFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionFailureFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionFailureFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-CauseLevel-RL-AdditionFailureFDD CRITICALITY ignore TYPE CauseLevel-RL-AdditionFailureFDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkAdditionFailureFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-RL-AdditionFailureFDD ::= CHOICE {
- generalCause GeneralCauseList-RL-AdditionFailureFDD,
- rLSpecificCause RLSpecificCauseList-RL-AdditionFailureFDD,
- ...
-}
-
-GeneralCauseList-RL-AdditionFailureFDD ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RLSpecificCauseList-RL-AdditionFailureFDD ::= SEQUENCE {
- unsuccessful-RL-InformationRespList-RL-AdditionFailureFDD Unsuccessful-RL-InformationRespList-RL-AdditionFailureFDD,
- successful-RL-InformationRespList-RL-AdditionFailureFDD Successful-RL-InformationRespList-RL-AdditionFailureFDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RLSpecificCauseItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-RL-InformationRespList-RL-AdditionFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF ProtocolIE-Single-Container {{ Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureFDD }}
-
-Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureFDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD PRESENCE mandatory}
-}
-
-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Successful-RL-InformationRespList-RL-AdditionFailureFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-2)) OF ProtocolIE-Single-Container {{ Successful-RL-InformationRespItemIE-RL-AdditionFailureFDD }}
-
-Successful-RL-InformationRespItemIE-RL-AdditionFailureFDD NBAP-PROTOCOL-IES ::= {
- { ID id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD CRITICALITY ignore TYPE Successful-RL-InformationRespItem-RL-AdditionFailureFDD PRESENCE mandatory}
-}
-
-Successful-RL-InformationRespItem-RL-AdditionFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- rL-Set-ID RL-Set-ID,
- received-total-wide-band-power Received-total-wide-band-power-Value,
- diversityIndication DiversityIndication-RL-AdditionFailureFDD,
- sSDT-SupportIndicator SSDT-SupportIndicator,
- iE-Extensions ProtocolExtensionContainer { { Successful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Successful-RL-InformationRespItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-ActivationIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-ActivationIndicator PRESENCE optional},
- ...
-}
-
-DiversityIndication-RL-AdditionFailureFDD ::= CHOICE {
- combining Combining-RL-AdditionFailureFDD,
- non-Combining Non-Combining-RL-AdditionFailureFDD
-}
-
-Combining-RL-AdditionFailureFDD ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { CombiningItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-CombiningItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Non-Combining-RL-AdditionFailureFDD ::= SEQUENCE {
- dCH-InformationResponse DCH-InformationResponse,
- iE-Extensions ProtocolExtensionContainer { { Non-CombiningItem-RL-AdditionFailureFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Non-CombiningItem-RL-AdditionFailureFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ADDITION FAILURE TDD
---
--- **************************************************************
-
-RadioLinkAdditionFailureTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkAdditionFailureTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkAdditionFailureTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkAdditionFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-CauseLevel-RL-AdditionFailureTDD CRITICALITY ignore TYPE CauseLevel-RL-AdditionFailureTDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkAdditionFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-RL-AdditionFailureTDD ::= CHOICE {
- generalCause GeneralCauseList-RL-AdditionFailureTDD,
- rLSpecificCause RLSpecificCauseList-RL-AdditionFailureTDD,
- ...
-}
-
-GeneralCauseList-RL-AdditionFailureTDD ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseItem-RL-AdditionFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RLSpecificCauseList-RL-AdditionFailureTDD ::= SEQUENCE {
- unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD Unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD,
- iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RLSpecificCauseItem-RL-AdditionFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureTDD ::= ProtocolIE-Single-Container { {Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureTDD} }
-
-Unsuccessful-RL-InformationRespItemIE-RL-AdditionFailureTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD CRITICALITY ignore TYPE Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD PRESENCE mandatory }
-}
-
-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION PREPARE FDD
---
--- **************************************************************
-
-RadioLinkReconfigurationPrepareFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationPrepareFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationPrepareFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationPrepareFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional } |
- { ID id-DL-DPCH-Information-RL-ReconfPrepFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional } |
- { ID id-FDD-DCHs-to-Modify CRITICALITY reject TYPE FDD-DCHs-to-Modify PRESENCE optional } |
- { ID id-DCHs-to-Add-FDD CRITICALITY reject TYPE DCH-FDD-Information PRESENCE optional } |
- { ID id-DCH-DeleteList-RL-ReconfPrepFDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfPrepFDD PRESENCE optional } |
- { ID id-DSCH-ModifyList-RL-ReconfPrepFDD CRITICALITY reject TYPE DSCH-ModifyList-RL-ReconfPrepFDD PRESENCE optional } |
- { ID id-DSCHs-to-Add-FDD CRITICALITY reject TYPE DSCH-FDD-Information PRESENCE optional } |
- { ID id-DSCH-DeleteList-RL-ReconfPrepFDD CRITICALITY reject TYPE DSCH-DeleteList-RL-ReconfPrepFDD PRESENCE optional } |
- { ID id-TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD CRITICALITY reject TYPE TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD
- PRESENCE optional } |
- { ID id-RL-InformationList-RL-ReconfPrepFDD CRITICALITY reject TYPE RL-InformationList-RL-ReconfPrepFDD PRESENCE optional }|
- { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional },
- ...
-}
-
-RadioLinkReconfigurationPrepareFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DSCH-FDD-Common-Information CRITICALITY ignore EXTENSION DSCH-FDD-Common-Information PRESENCE optional }|
- { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
- { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional }|
- { ID id-HSDSCH-Information-to-Modify CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-PDSCH RL ID IE is present.
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional },
- ...
-}
-
-UL-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
- ul-ScramblingCode UL-ScramblingCode OPTIONAL,
- ul-SIR-Target UL-SIR OPTIONAL,
- minUL-ChannelisationCodeLength MinUL-ChannelisationCodeLength OPTIONAL,
- maxNrOfUL-DPDCHs MaxNrOfUL-DPDCHs OPTIONAL,
- -- This IE shall be present if minUL-ChannelisationCodeLength Ie is set to 4
- ul-PunctureLimit PunctureLimit OPTIONAL,
- tFCS TFCS OPTIONAL,
- ul-DPCCH-SlotFormat UL-DPCCH-SlotFormat OPTIONAL,
- diversityMode DiversityMode OPTIONAL,
- sSDT-CellIDLength SSDT-CellID-Length OPTIONAL,
- s-FieldLength S-FieldLength OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-Information-RL-ReconfPrepFDD ::= SEQUENCE {
- tFCS TFCS OPTIONAL,
- dl-DPCH-SlotFormat DL-DPCH-SlotFormat OPTIONAL,
- tFCI-SignallingMode TFCI-SignallingMode OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- -- This IE shall be present if the DL DPCH Slot Format IE is set to any of the values from 12 to 16
- multiplexingPosition MultiplexingPosition OPTIONAL,
- pDSCH-CodeMapping PDSCH-CodeMapping OPTIONAL,
- pDSCH-RL-ID RL-ID OPTIONAL,
- limitedPowerIncrease LimitedPowerIncrease OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-Information-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-DeleteList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfPrepFDD
-
-DCH-DeleteItem-RL-ReconfPrepFDD ::= SEQUENCE {
- dCH-ID DCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-ModifyList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF ProtocolIE-Single-Container {{DSCH-ModifyItemIE-RL-ReconfPrepFDD }}
-
-DSCH-ModifyItemIE-RL-ReconfPrepFDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-ModifyItem-RL-ReconfPrepFDD CRITICALITY reject TYPE DSCH-ModifyItem-RL-ReconfPrepFDD PRESENCE mandatory}
-}
-
-DSCH-ModifyItem-RL-ReconfPrepFDD ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- dl-TransportFormatSet TransportFormatSet OPTIONAL,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- frameHandlingPriority FrameHandlingPriority OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- iE-Extensions ProtocolExtensionContainer { { DSCH-ModifyItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-ModifyItem-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-DSCH-DeleteList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF ProtocolIE-Single-Container {{DSCH-DeleteItemIE-RL-ReconfPrepFDD }}
-
-DSCH-DeleteItemIE-RL-ReconfPrepFDD NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-DeleteItem-RL-ReconfPrepFDD CRITICALITY reject TYPE DSCH-DeleteItem-RL-ReconfPrepFDD PRESENCE mandatory}
-}
-
-DSCH-DeleteItem-RL-ReconfPrepFDD ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DSCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-DeleteItem-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD ::= CHOICE {
- addOrModify AddOrModify-TFCI2-RL-ReconfPrepFDD,
- delete NULL
-}
-
-AddOrModify-TFCI2-RL-ReconfPrepFDD ::= SEQUENCE {
- toAWS ToAWS,
- toAWE ToAWE,
- iE-Extensions ProtocolExtensionContainer { { AddOrModify-TFCI2-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-AddOrModify-TFCI2-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TFCI2BearerRequestIndicator CRITICALITY reject EXTENSION TFCI2BearerRequestIndicator PRESENCE optional }|
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- ...
-}
-
-RL-InformationList-RL-ReconfPrepFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-ReconfPrepFDD }}
-
-RL-InformationItemIE-RL-ReconfPrepFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-ReconfPrepFDD CRITICALITY reject TYPE RL-InformationItem-RL-ReconfPrepFDD PRESENCE mandatory}
-}
-
-RL-InformationItem-RL-ReconfPrepFDD ::= SEQUENCE {
- rL-ID RL-ID,
- dl-CodeInformation FDD-DL-CodeInformation OPTIONAL,
- maxDL-Power DL-Power OPTIONAL,
- minDL-Power DL-Power OPTIONAL,
- sSDT-Indication SSDT-Indication OPTIONAL,
- sSDT-Cell-Identity SSDT-Cell-Identity OPTIONAL,
- -- The IE shall be present if the SSDT Indication IE is set to "SSDT Active in the UE"
- transmitDiversityIndicator TransmitDiversityIndicator OPTIONAL,
- -- This IE shall be present if Diversity Mode IE is present in UL DPCH Information IE and it is not set to "none"
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-ReconfPrepFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-ReconfPrepFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SSDT-CellIDforEDSCHPC CRITICALITY ignore EXTENSION SSDT-Cell-Identity PRESENCE conditional }|
- -- This IE shall be present if Enhanced DSCH PC IE is present in the DSCH Common Information IE.
- { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-DL-DPCH-TimingAdjustment CRITICALITY reject EXTENSION DL-DPCH-TimingAdjustment PRESENCE optional }|
- { ID id-Qth-Parameter CRITICALITY ignore EXTENSION Qth-Parameter PRESENCE optional }|
- { ID id-Primary-CPICH-Usage-for-Channel-Estimation CRITICALITY ignore EXTENSION Primary-CPICH-Usage-for-Channel-Estimation PRESENCE optional }|
- { ID id-Secondary-CPICH-Information-Change CRITICALITY ignore EXTENSION Secondary-CPICH-Information-Change PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION PREPARE TDD
---
--- **************************************************************
-
-RadioLinkReconfigurationPrepareTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationPrepareTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationPrepareTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationPrepareTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-TDD-DCHs-to-Modify CRITICALITY reject TYPE TDD-DCHs-to-Modify PRESENCE optional }|
- { ID id-DCHs-to-Add-TDD CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional }|
- { ID id-DCH-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-DSCH-Information-ModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE DSCH-Information-ModifyList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-DSCHs-to-Add-TDD CRITICALITY reject TYPE DSCH-TDD-Information PRESENCE optional }|
- { ID id-DSCH-Information-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE DSCH-Information-DeleteList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-USCH-Information-ModifyList-RL-ReconfPrepTDD CRITICALITY reject TYPE USCH-Information-ModifyList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-USCH-Information-Add CRITICALITY reject TYPE USCH-Information PRESENCE optional }|
- { ID id-USCH-Information-DeleteList-RL-ReconfPrepTDD CRITICALITY reject TYPE USCH-Information-DeleteList-RL-ReconfPrepTDD PRESENCE optional }|
- { ID id-RL-Information-RL-ReconfPrepTDD CRITICALITY reject TYPE RL-Information-RL-ReconfPrepTDD PRESENCE optional },
--- This RL Information is the for the 1st RL IE repetition
- ...
-}
-
-RadioLinkReconfigurationPrepareTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
- { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional }|
- { ID id-HSDSCH-Information-to-Modify CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-PDSCH RL ID IE is present.
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional }|
- { ID id-PDSCH-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
- { ID id-RL-Information-RL-ReconfPrepTDD CRITICALITY reject EXTENSION MultipleRL-Information-RL-ReconfPrepTDD PRESENCE optional },
--- This RL Information is the for the 2nd and beyond repetition of RL information,
- ...
-}
-
-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD
-
-UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS,
- tFCI-Coding TFCI-Coding,
- punctureLimit PunctureLimit,
- ul-DPCH-InformationList UL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-UL-DPCH-LCR-InformationAddListIE-RL-ReconfPrepTDD CRITICALITY reject EXTENSION UL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional }|
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
--- This Information is the for the first RL repetition, SIR Target information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-TDD-TPC-UplinkStepSize-InformationAdd-LCR-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional }|
--- This Information is the for the first RL repetition, TPCinformation for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
- { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional}|
--- This is the RL ID for the first RL repetition
- { ID id-multipleRL-ul-DPCH-InformationList CRITICALITY reject EXTENSION MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional },
--- This Information is the for the 2nd and beyond RL repetition,
- ...
-}
-
-MultipleRL-UL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD
---Includes the 2nd through the max number of radio link repetitions.
-
-MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ::= SEQUENCE {
- ul-DPCH-InformationList UL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
- ul-DPCH-InformationListLCR UL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
- ul-sir-target UL-SIR OPTIONAL,
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
- tDD-TPC-UplinkStepSize-LCR TDD-TPC-UplinkStepSize-LCR OPTIONAL,
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD.
- rL-ID RL-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
-...
-}
-
-MultipleRL-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD }}
-
-UL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationAddItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-UL-DPCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-Information UL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-InformationLCR UL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD
-
-UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS OPTIONAL,
- tFCI-Coding TFCI-Coding OPTIONAL,
- punctureLimit PunctureLimit OPTIONAL,
- ul-DPCH-InformationAddList UL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- ul-DPCH-InformationModifyList UL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- ul-DPCH-InformationDeleteList UL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-UL-DPCH-LCR-InformationModify-AddList CRITICALITY reject EXTENSION UL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only.
--- This Information is the for the first RL repetition, SIR Target information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-TDD-TPC-UplinkStepSize-InformationModify-LCR-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-UplinkStepSize-LCR PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
--- This Information is the for the first RL repetition, Step Size information for RL repetitions 2 and on, should be defined in MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
--- This is the RL ID for the first RL repetition
- { ID id-multipleRL-ul-DPCH-InformationModifyList CRITICALITY reject EXTENSION MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional },
--- This DPCH Information is the for the 2nd and beyond RL repetition,
- ...
-}
-
-UL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD }}
-
-UL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-MultipleRL-UL-DPCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD
---Includes the 2nd through the max number of radio link information repetitions.
-
-MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD ::= SEQUENCE {
- ul-DPCH-InformationAddList UL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
- ul-DPCH-InformationModifyList UL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- ul-DPCH-InformationDeleteList UL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
- ul-DPCH-InformationAddListLCR UL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
- ul-sir-target UL-SIR OPTIONAL,
- tDD-TPC-UplinkStepSize-LCR TDD-TPC-UplinkStepSize-LCR OPTIONAL,
- rL-ID RL-ID OPTIONAL,
--- This DPCH Information is the for the 2nd and beyond RL repetitions,
- iE-Extensions ProtocolExtensionContainer { { MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
-...
-}
-
-
-MultipleRL-UL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-Information UL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- uL-Timeslot-InformationLCR UL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD }}
-
-UL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-DPCHOffset TDD-DPCHOffset OPTIONAL,
- uL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD UL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-UL-TimeslotLCR-Information-RL-ReconfPrepTDD CRITICALITY reject EXTENSION UL-TimeslotLCR-InformationModify-ModifyList-RL-ReconfPrepTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-UL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD -- Applicable to 3.84Mcps TDD only
-
-UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- uL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD
-
-UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-TimeslotLCR-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD -- Applicable to 1.28Mcps TDD only
-
-UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- uL-Code-InformationModify-ModifyList-RL-ReconfPrepTDDLCR UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDDLCR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-InformationModify-ModifyList-RL-ReconfPrepTDDLCR ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR
-
-UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDDLCR-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
-{ ID id-UL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-UL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
-
- ...
-}
-
-UL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ UL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD }}
-
-UL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD
-
-UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD
-
-UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD
-
-DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS,
- tFCI-Coding TFCI-Coding,
- punctureLimit PunctureLimit,
- cCTrCH-TPCList CCTrCH-TPCAddList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationList DL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-CCTrCH-Initial-DL-Power-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
--- This DL Power inforrmation is the for the first RL repetition, DL power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-TDD-TPC-DownlinkStepSize-InformationAdd-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional}|
--- This DL step size is the for the first RL repetition, DL step size information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-CCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
--- This DL Power inforrmation is the for the first RL repetition, DL power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-CCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
--- This DL Power inforrmation is the for the first RL repetition, DL power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD
- { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
--- This is the RL ID for the first RL repetition
- { ID id-multipleRL-ul-DPCH-InformationList CRITICALITY reject EXTENSION MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD PRESENCE optional },
--- This DPCH Information is the for the 2nd and beyond RL repetition,
- ...
-}
-
-MultipleRL-DL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD
---Includes the 2nd through the max number of radio link information repetitions.
-
-MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD ::= SEQUENCE {
- dl-DPCH-InformationList DL-DPCH-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationListLCR DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD OPTIONAL,
- cCTrCH-Initial-DL-Power DL-Power OPTIONAL,
- tDD-TPC-DownlinkStepSize TDD-TPC-DownlinkStepSize OPTIONAL,
- cCTrCH-Maximum-DL-Power-InformationAdd-RL-ReconfPrepTDD DL-Power OPTIONAL,
- cCTrCH-Minimum-DL-Power-InformationAdd-RL-ReconfPrepTDD DL-Power OPTIONAL,
- rL-ID RL-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-MultipleRL-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-TPCAddList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCAddItem-RL-ReconfPrepTDD -- Applicable to 3.84Mcps TDD only
-
-CCTrCH-TPCAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CCTrCH-TPCAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-InformationAddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD }}
-
-DL-DPCH-InformationAddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationAddItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-DL-DPCH-InformationAddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-Information DL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-LCR-InformationAddList-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-InformationLCR DL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-LCR-InformationAddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD
-
-DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS OPTIONAL,
- tFCI-Coding TFCI-Coding OPTIONAL,
- punctureLimit PunctureLimit OPTIONAL,
- cCTrCH-TPCList CCTrCH-TPCModifyList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationAddList DL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- dl-DPCH-InformationModifyList DL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- dl-DPCH-InformationDeleteList DL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
--- This DPCH Information is the for the first RL repetition, DPCH information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-TDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-TPC-DownlinkStepSize PRESENCE optional}|
--- This Step Size Information is the for the first RL repetition, step size information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
--- This power Information is the for the first RL repetition, power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
--- This power Information is the for the first RL repetition, power information for RL repetitions 2 and on, should be defined in MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD
- { ID id-RL-ID CRITICALITY ignore EXTENSION RL-ID PRESENCE optional }|
--- This is the RL ID for the first RL repetition
- { ID id-multipleRL-dl-DPCH-InformationModifyList CRITICALITY reject EXTENSION MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD PRESENCE optional },
--- This DPCH Information is the for the 2nd and beyond RL repetitions,
- ...
-}
-
-MultipleRL-DL-DPCH-InformationModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD
---Includes the 2nd through the max number of radio link information repetitions.
-
-MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD ::= SEQUENCE {
- dl-DPCH-InformationAddList DL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationModifyList DL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationDeleteList DL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD OPTIONAL,
- dl-DPCH-InformationAddListLCR DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD OPTIONAL,
- tDD-TPC-DownlinkStepSize-InformationModify-RL-ReconfPrepTDD TDD-TPC-DownlinkStepSize OPTIONAL,
- cCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfPrepTDD DL-Power OPTIONAL,
- cCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfPrepTDD DL-Power OPTIONAL,
- rL-ID RL-ID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
-...
-}
-
-MultipleRL-DL-DPCH-InformationModifyListIE-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-TPCModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF CCTrCH-TPCModifyItem-RL-ReconfPrepTDD
-
-CCTrCH-TPCModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { CCTrCH-TPCModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CCTrCH-TPCModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-InformationModify-AddList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD }}
--- Applicable to 3.84Mcps TDD only
-
-DL-DPCH-InformationModify-AddListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-Information DL-Timeslot-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-LCR-InformationModify-AddList-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-DPCHOffset TDD-DPCHOffset,
- dL-Timeslot-InformationLCR DL-TimeslotLCR-Information,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-LCR-InformationModify-AddItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-InformationModify-ModifyList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD }}
-
-DL-DPCH-InformationModify-ModifyListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-DPCHOffset TDD-DPCHOffset OPTIONAL,
- dL-Timeslot-InformationAddModify-ModifyList-RL-ReconfPrepTDD DL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD CRITICALITY reject EXTENSION DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD PRESENCE optional },
- ...
-}
-
-DL-Timeslot-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD
-
-DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- dL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD DL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-Maximum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- -- Applicable to 1.28Mcps TDD only
- { ID id-Minimum-DL-Power-Modify-LCR-InformationModify-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
- -- Applicable to 1.28Mcps TDD only
- ...
-}
-DL-Code-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (0..maxNrOfDPCHs)) OF DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD
-
-DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD
-
-DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- dL-Code-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD DL-Code-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-DL-Code-LCR-InformationModify-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHLCRs)) OF DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD
-
-DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-LCR-InformationModify-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-TimeSlotFormat-LCR-ModifyItem-RL-ReconfPrepTDD CRITICALITY reject EXTENSION TDD-DL-DPCH-TimeSlotFormat-LCR PRESENCE optional},
- ...
-}
-
-DL-DPCH-InformationModify-DeleteList-RL-ReconfPrepTDD ::= ProtocolIE-Single-Container {{ DL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD }}
-
-DL-DPCH-InformationModify-DeleteListIEs-RL-ReconfPrepTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD CRITICALITY reject TYPE DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD PRESENCE mandatory }
-}
-
-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDPCHs)) OF DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD
-
-DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dPCH-ID DPCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-InformationModify-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD
-
-DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationDeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfPrepTDD
-
-DCH-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dCH-ID DCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-Information-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-Information-ModifyItem-RL-ReconfPrepTDD
-
-DSCH-Information-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- cCTrCH-ID CCTrCH-ID OPTIONAL,
- -- DL CCTrCH in which the DSCH is mapped
- transportFormatSet TransportFormatSet OPTIONAL,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- frameHandlingPriority FrameHandlingPriority OPTIONAL,
- toAWS ToAWS OPTIONAL,
- toAWE ToAWE OPTIONAL,
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- iE-Extensions ProtocolExtensionContainer { { DSCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-DSCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional },
- -- Shall be ignored if bearer establishment with ALCAP.
- ...
-}
-
-DSCH-Information-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-Information-DeleteItem-RL-ReconfPrepTDD
-
-DSCH-Information-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DSCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-USCH-Information-ModifyList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-Information-ModifyItem-RL-ReconfPrepTDD
-
-USCH-Information-ModifyItem-RL-ReconfPrepTDD ::= SEQUENCE {
- uSCH-ID USCH-ID,
- transportFormatSet TransportFormatSet OPTIONAL,
- allocationRetentionPriority AllocationRetentionPriority OPTIONAL,
- cCTrCH-ID CCTrCH-ID OPTIONAL, -- UL CCTrCH in which the USCH is mapped
- transportBearerRequestIndicator TransportBearerRequestIndicator,
- iE-Extensions ProtocolExtensionContainer { { USCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-USCH-Information-ModifyItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-bindingID CRITICALITY ignore EXTENSION BindingID PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-transportlayeraddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional }|
- -- Shall be ignored if bearer establishment with ALCAP.
- { ID id-TnlQos CRITICALITY ignore EXTENSION TnlQos PRESENCE optional },
- ...
-}
-
-USCH-Information-DeleteList-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-Information-DeleteItem-RL-ReconfPrepTDD
-
-USCH-Information-DeleteItem-RL-ReconfPrepTDD ::= SEQUENCE {
- uSCH-ID USCH-ID,
- iE-Extensions ProtocolExtensionContainer { { USCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-
-}
-
-USCH-Information-DeleteItem-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-MultipleRL-Information-RL-ReconfPrepTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF RL-Information-RL-ReconfPrepTDD
---Includes the 2nd through the max number of radio link information repetitions.
-
-RL-Information-RL-ReconfPrepTDD ::= SEQUENCE {
- rL-ID RL-ID,
- maxDL-Power DL-Power OPTIONAL,
- minDL-Power DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-Information-RL-ReconfPrepTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Information-RL-ReconfPrepTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-InitDL-Power CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }|
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-TimeslotISCP-LCR-InfoList-RL-ReconfPrepTDD CRITICALITY ignore EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional },
- -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION READY
---
--- **************************************************************
-
-RadioLinkReconfigurationReady ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationReady-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationReady-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationReady-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-RL-InformationResponseList-RL-ReconfReady CRITICALITY ignore TYPE RL-InformationResponseList-RL-ReconfReady PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkReconfigurationReady-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TargetCommunicationControlPortID CRITICALITY ignore EXTENSION CommunicationControlPortID PRESENCE optional }|
- { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
- -- FDD only
- { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional },
- -- TDD only
- ...
-}
-
-RL-InformationResponseList-RL-ReconfReady ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationResponseItemIE-RL-ReconfReady}}
-
-RL-InformationResponseItemIE-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationResponseItem-RL-ReconfReady CRITICALITY ignore TYPE RL-InformationResponseItem-RL-ReconfReady PRESENCE mandatory }
-}
-
-RL-InformationResponseItem-RL-ReconfReady ::= SEQUENCE {
- rL-ID RL-ID,
- dCH-InformationResponseList-RL-ReconfReady DCH-InformationResponseList-RL-ReconfReady OPTIONAL,
- dSCH-InformationResponseList-RL-ReconfReady DSCH-InformationResponseList-RL-ReconfReady OPTIONAL,
- uSCH-InformationResponseList-RL-ReconfReady USCH-InformationResponseList-RL-ReconfReady OPTIONAL, -- TDD only
- tFCI2-BearerInformationResponse TFCI2-BearerInformationResponse OPTIONAL,
- -- FDD only. There shall be only one TFCI2 bearer per Node B Communication Context.
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-ReconfReady-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseItem-RL-ReconfReady-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-UpdatedIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-UpdatedIndicator PRESENCE optional},
- ...
-}
-
-DCH-InformationResponseList-RL-ReconfReady::= ProtocolIE-Single-Container {{ DCH-InformationResponseListIEs-RL-ReconfReady }}
-
-DCH-InformationResponseListIEs-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
- { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory }
-}
-
-DSCH-InformationResponseList-RL-ReconfReady::= ProtocolIE-Single-Container {{ DSCH-InformationResponseListIEs-RL-ReconfReady }}
-
-DSCH-InformationResponseListIEs-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
- { ID id-DSCH-InformationResponse CRITICALITY ignore TYPE DSCH-InformationResponse PRESENCE mandatory }
-}
-
-USCH-InformationResponseList-RL-ReconfReady::= ProtocolIE-Single-Container {{ USCH-InformationResponseListIEs-RL-ReconfReady }}
-
-USCH-InformationResponseListIEs-RL-ReconfReady NBAP-PROTOCOL-IES ::= {
- { ID id-USCH-InformationResponse CRITICALITY ignore TYPE USCH-InformationResponse PRESENCE mandatory }
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION FAILURE
---
--- **************************************************************
-
-RadioLinkReconfigurationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-CauseLevel-RL-ReconfFailure CRITICALITY ignore TYPE CauseLevel-RL-ReconfFailure PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-RL-ReconfFailure ::= CHOICE {
- generalCause GeneralCauseList-RL-ReconfFailure,
- rLSpecificCause RLSpecificCauseList-RL-ReconfFailure,
- ...
-}
-
-GeneralCauseList-RL-ReconfFailure ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
- ...
- }
-
-GeneralCauseItem-RL-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RLSpecificCauseList-RL-ReconfFailure ::= SEQUENCE {
- rL-ReconfigurationFailureList-RL-ReconfFailure RL-ReconfigurationFailureList-RL-ReconfFailure OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RLSpecificCauseItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
- ...
- }
-
-RLSpecificCauseItem-RL-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-ReconfigurationFailureList-RL-ReconfFailure ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-ReconfigurationFailureItemIE-RL-ReconfFailure}}
-
-RL-ReconfigurationFailureItemIE-RL-ReconfFailure NBAP-PROTOCOL-IES ::= {
- { ID id-RL-ReconfigurationFailureItem-RL-ReconfFailure CRITICALITY ignore TYPE RL-ReconfigurationFailureItem-RL-ReconfFailure PRESENCE mandatory}
-}
-
-RL-ReconfigurationFailureItem-RL-ReconfFailure ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RL-ReconfigurationFailureItem-RL-ReconfFailure-ExtIEs} } OPTIONAL,
- ...
- }
-
-RL-ReconfigurationFailureItem-RL-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION COMMIT
---
--- **************************************************************
-
-RadioLinkReconfigurationCommit ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationCommit-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationCommit-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationCommit-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-CFN CRITICALITY ignore TYPE CFN PRESENCE mandatory }|
- { ID id-Active-Pattern-Sequence-Information CRITICALITY ignore TYPE Active-Pattern-Sequence-Information PRESENCE optional },
- -- FDD only
- ...
-}
-
-RadioLinkReconfigurationCommit-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION CANCEL
---
--- **************************************************************
-
-RadioLinkReconfigurationCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationCancel-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationCancel-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationCancel-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory },
- ...
-}
-
-RadioLinkReconfigurationCancel-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION REQUEST FDD
---
--- **************************************************************
-
-RadioLinkReconfigurationRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-DPCH-Information-RL-ReconfRqstFDD CRITICALITY reject TYPE UL-DPCH-Information-RL-ReconfRqstFDD PRESENCE optional }|
- { ID id-DL-DPCH-Information-RL-ReconfRqstFDD CRITICALITY reject TYPE DL-DPCH-Information-RL-ReconfRqstFDD PRESENCE optional }|
- { ID id-FDD-DCHs-to-Modify CRITICALITY reject TYPE FDD-DCHs-to-Modify PRESENCE optional }|
- { ID id-DCHs-to-Add-FDD CRITICALITY reject TYPE DCH-FDD-Information PRESENCE optional }|
- { ID id-DCH-DeleteList-RL-ReconfRqstFDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfRqstFDD PRESENCE optional }|
- { ID id-RL-InformationList-RL-ReconfRqstFDD CRITICALITY reject TYPE RL-InformationList-RL-ReconfRqstFDD PRESENCE optional }|
- { ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY reject TYPE Transmission-Gap-Pattern-Sequence-Information PRESENCE optional },
- ...
-}
-
-RadioLinkReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
- { ID id-HSDSCH-FDD-Information CRITICALITY reject EXTENSION HSDSCH-FDD-Information PRESENCE optional }|
- { ID id-HSDSCH-Information-to-Modify-Unsynchronised CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify-Unsynchronised PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-PDSCH RL ID IE is present.
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional },
- ...
-}
-
-
-UL-DPCH-Information-RL-ReconfRqstFDD ::= SEQUENCE {
- ul-TFCS TFCS OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-DPCH-Information-RL-ReconfRqstFDD ::= SEQUENCE {
- dl-TFCS TFCS OPTIONAL,
- tFCI-SignallingMode TFCI-SignallingMode OPTIONAL,
- limitedPowerIncrease LimitedPowerIncrease OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-DL-DPCH-Information-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-DeleteList-RL-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfRqstFDD
-
-DCH-DeleteItem-RL-ReconfRqstFDD ::= SEQUENCE {
- dCH-ID DCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-
-}
-
-DCH-DeleteItem-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-RL-ReconfRqstFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-ReconfRqstFDD}}
-
-RL-InformationItemIE-RL-ReconfRqstFDD NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-ReconfRqstFDD CRITICALITY reject TYPE RL-InformationItem-RL-ReconfRqstFDD PRESENCE mandatory}
-}
-
-RL-InformationItem-RL-ReconfRqstFDD ::= SEQUENCE {
- rL-ID RL-ID,
- maxDL-Power DL-Power OPTIONAL,
- minDL-Power DL-Power OPTIONAL,
- dl-CodeInformation FDD-DL-CodeInformation OPTIONAL,
--- The IE shall be present if the Transmission Gap Pattern Sequence Information IE is included and the indicated Downlink Compressed Mode method for at least one of the included Transmission Gap Pattern Sequence is set to "SF/2".
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-ReconfRqstFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-ReconfRqstFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DLReferencePower CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION REQUEST TDD
---
--- **************************************************************
-
-RadioLinkReconfigurationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD PRESENCE optional } |
- { ID id-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD PRESENCE optional } |
- { ID id-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD PRESENCE optional } |
- { ID id-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD PRESENCE optional } |
- { ID id-TDD-DCHs-to-Modify CRITICALITY reject TYPE TDD-DCHs-to-Modify PRESENCE optional }|
- { ID id-DCHs-to-Add-TDD CRITICALITY reject TYPE DCH-TDD-Information PRESENCE optional }|
- { ID id-DCH-DeleteList-RL-ReconfRqstTDD CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfRqstTDD PRESENCE optional }|
- { ID id-RL-Information-RL-ReconfRqstTDD CRITICALITY reject TYPE RL-Information-RL-ReconfRqstTDD PRESENCE optional },
--- This RL-Information-RL-ReconfRqstTDD is the first RL information repetition in the RL-Information List. Repetition 2 and on, should be defined in Multiple-RL-Information-RL-ReconfRqstTDD,
- ...
-}
-
-RadioLinkReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SignallingBearerRequestIndicator CRITICALITY reject EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
- { ID id-RL-Information-RL-ReconfRqstTDD CRITICALITY reject EXTENSION Multiple-RL-Information-RL-ReconfRqstTDD PRESENCE optional }|
---Includes the 2nd through the max number of radio link information repetitions.
- { ID id-HSDSCH-TDD-Information CRITICALITY reject EXTENSION HSDSCH-TDD-Information PRESENCE optional }|
- { ID id-HSDSCH-Information-to-Modify-Unsynchronised CRITICALITY reject EXTENSION HSDSCH-Information-to-Modify-Unsynchronised PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
- { ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
- { ID id-HSDSCH-RNTI CRITICALITY reject EXTENSION HSDSCH-RNTI PRESENCE conditional }|
- -- The IE shall be present if HS-PDSCH RL ID IE is present.
- { ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION RL-ID PRESENCE optional },
- ...
-}
-
-UL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ UL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD}}
-
-UL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD PRESENCE mandatory}
-}
-
-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS OPTIONAL,
- punctureLimit PunctureLimit OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
-{ ID id-UL-SIRTarget CRITICALITY reject EXTENSION UL-SIR PRESENCE optional },
- -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-UL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ UL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD}}
-
-UL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD CRITICALITY notify TYPE UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD PRESENCE mandatory}
-}
-
-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ DL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD}}
-
-DL-CCTrCH-InformationModifyItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD PRESENCE mandatory}
-}
-
-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- tFCS TFCS OPTIONAL,
- punctureLimit PunctureLimit OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationModifyItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD CRITICALITY ignore EXTENSION DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-CCTrCH-Maximum-DL-Power-InformationModify-RL-ReconfRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional }|
- { ID id-CCTrCH-Minimum-DL-Power-InformationModify-RL-ReconfRqstTDD CRITICALITY ignore EXTENSION DL-Power PRESENCE optional },
- ...
-}
-
-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD ::= SEQUENCE {
- dL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-DPCH-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-LCR-InformationModify-ModifyList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD
-
-DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- maxPowerLCR DL-Power OPTIONAL,
- minPowerLCR DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-LCR-InformationModify-ModifyItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-CCTrCH-InformationDeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ DL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD}}
-
-DL-CCTrCH-InformationDeleteItemIE-RL-ReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD CRITICALITY notify TYPE DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD PRESENCE mandatory}
-}
-
-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-CCTrCH-InformationDeleteItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-DeleteList-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-DeleteItem-RL-ReconfRqstTDD
-
-DCH-DeleteItem-RL-ReconfRqstTDD ::= SEQUENCE {
- dCH-ID DCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DCH-DeleteItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-DeleteItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Multiple-RL-Information-RL-ReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs-1)) OF RL-Information-RL-ReconfRqstTDD
---Includes the 2nd through the max number of radio link information repetitions.
-
-RL-Information-RL-ReconfRqstTDD ::= SEQUENCE {
- rL-ID RL-ID,
- maxDL-Power DL-Power OPTIONAL,
- minDL-Power DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-ReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-ReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-RL-Specific-DCH-Info CRITICALITY ignore EXTENSION RL-Specific-DCH-Info PRESENCE optional }|
- { ID id-UL-Synchronisation-Parameters-LCR CRITICALITY ignore EXTENSION UL-Synchronisation-Parameters-LCR PRESENCE optional }, -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RECONFIGURATION RESPONSE
---
--- **************************************************************
-
-RadioLinkReconfigurationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkReconfigurationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkReconfigurationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-RL-InformationResponseList-RL-ReconfRsp CRITICALITY ignore TYPE RL-InformationResponseList-RL-ReconfRsp PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TargetCommunicationControlPortID CRITICALITY ignore EXTENSION CommunicationControlPortID PRESENCE optional }|
- { ID id-HSDSCH-FDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-FDD-Information-Response PRESENCE optional }|
- -- FDD only
- { ID id-HSDSCH-TDD-Information-Response CRITICALITY ignore EXTENSION HSDSCH-TDD-Information-Response PRESENCE optional },
- -- TDD only
- ...
-}
-
-RL-InformationResponseList-RL-ReconfRsp ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{RL-InformationResponseItemIE-RL-ReconfRsp}}
-
-RL-InformationResponseItemIE-RL-ReconfRsp NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationResponseItem-RL-ReconfRsp CRITICALITY ignore TYPE RL-InformationResponseItem-RL-ReconfRsp PRESENCE mandatory}
-}
-
-RL-InformationResponseItem-RL-ReconfRsp ::= SEQUENCE {
- rL-ID RL-ID,
- dCH-InformationResponseList-RL-ReconfRsp DCH-InformationResponseList-RL-ReconfRsp OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationResponseItem-RL-ReconfRsp-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationResponseItem-RL-ReconfRsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DL-PowerBalancing-UpdatedIndicator CRITICALITY ignore EXTENSION DL-PowerBalancing-UpdatedIndicator PRESENCE optional },
- -- FDD only
- ...
-}
-
-DCH-InformationResponseList-RL-ReconfRsp::= ProtocolIE-Single-Container {{ DCH-InformationResponseListIEs-RL-ReconfRsp }}
-
-DCH-InformationResponseListIEs-RL-ReconfRsp NBAP-PROTOCOL-IES ::= {
- { ID id-DCH-InformationResponse CRITICALITY ignore TYPE DCH-InformationResponse PRESENCE mandatory }
-}
-
--- **************************************************************
---
--- RADIO LINK DELETION REQUEST
---
--- **************************************************************
-
-RadioLinkDeletionRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkDeletionRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkDeletionRequest-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkDeletionRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-CRNC-CommunicationContextID CRITICALITY reject TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-RL-informationList-RL-DeletionRqst CRITICALITY notify TYPE RL-informationList-RL-DeletionRqst PRESENCE mandatory },
- ...
-}
-
-RadioLinkDeletionRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-informationList-RL-DeletionRqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{RL-informationItemIE-RL-DeletionRqst}}
-
-RL-informationItemIE-RL-DeletionRqst NBAP-PROTOCOL-IES ::= {
- { ID id-RL-informationItem-RL-DeletionRqst CRITICALITY notify TYPE RL-informationItem-RL-DeletionRqst PRESENCE mandatory}
-}
-
-RL-informationItem-RL-DeletionRqst ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { RL-informationItem-RL-DeletionRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-RL-informationItem-RL-DeletionRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK DELETION RESPONSE
---
--- **************************************************************
-
-RadioLinkDeletionResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkDeletionResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkDeletionResponse-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkDeletionResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RadioLinkDeletionResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- DL POWER CONTROL REQUEST FDD
---
--- **************************************************************
-
-DL-PowerControlRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DL-PowerControlRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DL-PowerControlRequest-Extensions}} OPTIONAL,
- ...
-}
-
-DL-PowerControlRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-PowerAdjustmentType CRITICALITY ignore TYPE PowerAdjustmentType PRESENCE mandatory} |
- { ID id-DLReferencePower CRITICALITY ignore TYPE DL-Power PRESENCE conditional} |
- -- This IE shall be present if the Adjustment Type IE is set to 'Common'
- { ID id-InnerLoopDLPCStatus CRITICALITY ignore TYPE InnerLoopDLPCStatus PRESENCE optional } |
- { ID id-DLReferencePowerList-DL-PC-Rqst CRITICALITY ignore TYPE DL-ReferencePowerInformationList-DL-PC-Rqst PRESENCE conditional } |
- -- This IE shall be present if the Adjustment Type IE is set to 'Individual'
- { ID id-MaxAdjustmentStep CRITICALITY ignore TYPE MaxAdjustmentStep PRESENCE conditional} |
- -- This IE shall be present if the Adjustment Type IE is set to 'Common' or 'Individual'
- { ID id-AdjustmentPeriod CRITICALITY ignore TYPE AdjustmentPeriod PRESENCE conditional }|
- -- This IE shall be present if the Adjustment Type IE is set to 'Common' or 'Individual'
- { ID id-AdjustmentRatio CRITICALITY ignore TYPE ScaledAdjustmentRatio PRESENCE conditional },
- -- This IE shall be present if the Adjustment Type IE is set to 'Common' or 'Individual'
- ...
-}
-
-DL-PowerControlRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-ReferencePowerInformationList-DL-PC-Rqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{DL-ReferencePowerInformationItemIE-DL-PC-Rqst }}
-
-DL-ReferencePowerInformationItemIE-DL-PC-Rqst NBAP-PROTOCOL-IES ::= {
- { ID id-DL-ReferencePowerInformationItem-DL-PC-Rqst CRITICALITY ignore TYPE DL-ReferencePowerInformationItem-DL-PC-Rqst PRESENCE mandatory
-}
-}
-
-DL-ReferencePowerInformationItem-DL-PC-Rqst ::= SEQUENCE {
- rL-ID RL-ID,
- dl-ReferencePower DL-Power,
- iE-Extensions ProtocolExtensionContainer { { DL-ReferencePowerInformationItem-DL-PC-Rqst-ExtIEs } } OPTIONAL,
- ...
-}
-
-DL-ReferencePowerInformationItem-DL-PC-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DL POWER TIMESLOT CONTROL REQUEST TDD
---
--- **************************************************************
-
-DL-PowerTimeslotControlRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DL-PowerTimeslotControlRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DL-PowerTimeslotControlRequest-Extensions}} OPTIONAL,
- ...
-}
-
-DL-PowerTimeslotControlRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-TimeslotISCPInfo CRITICALITY ignore TYPE DL-TimeslotISCPInfo PRESENCE optional },
- -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
-
- ...
-}
-
-DL-PowerTimeslotControlRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-TimeslotISCPInfoList-LCR-DL-PC-RqstTDD CRITICALITY ignore EXTENSION DL-TimeslotISCPInfoLCR PRESENCE optional }|
- -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- { ID id-PrimCCPCH-RSCP-DL-PC-RqstTDD CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP PRESENCE optional }|
- { ID id-PrimaryCCPCH-RSCP-Delta CRITICALITY ignore EXTENSION PrimaryCCPCH-RSCP-Delta PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT INITIATION REQUEST
---
--- **************************************************************
-
-DedicatedMeasurementInitiationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementInitiationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY reject TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY reject TYPE MeasurementID PRESENCE mandatory } |
- { ID id-DedicatedMeasurementObjectType-DM-Rqst CRITICALITY reject TYPE DedicatedMeasurementObjectType-DM-Rqst PRESENCE mandatory } |
- { ID id-DedicatedMeasurementType CRITICALITY reject TYPE DedicatedMeasurementType PRESENCE mandatory } |
- { ID id-MeasurementFilterCoefficient CRITICALITY reject TYPE MeasurementFilterCoefficient PRESENCE optional } |
- { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE mandatory } |
- { ID id-CFNReportingIndicator CRITICALITY reject TYPE FNReportingIndicator PRESENCE mandatory } |
- { ID id-CFN CRITICALITY reject TYPE CFN PRESENCE optional } ,
- ...
-}
-
-DedicatedMeasurementInitiationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-NumberOfReportedCellPortions CRITICALITY reject EXTENSION NumberOfReportedCellPortions PRESENCE conditional },
- -- The IE shall be present if the Dedicated Measurement Type IE is set to "Best Cell Portions", FDD only.
- ...
-}
-
-DedicatedMeasurementObjectType-DM-Rqst ::= CHOICE {
- rL RL-DM-Rqst,
- rLS RL-Set-DM-Rqst, -- for FDD only
- all-RL AllRL-DM-Rqst,
- all-RLS AllRL-Set-DM-Rqst, -- for FDD only
- ...
-}
-
-RL-DM-Rqst ::= SEQUENCE {
- rL-InformationList RL-InformationList-DM-Rqst,
- iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rqst-ExtIEs } } OPTIONAL,
- ...
-}
-
-RLItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-DM-Rqst }}
-
-RL-InformationItemIE-DM-Rqst NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-DM-Rqst CRITICALITY reject TYPE RL-InformationItem-DM-Rqst PRESENCE mandatory }
-}
-
-RL-InformationItem-DM-Rqst ::= SEQUENCE {
- rL-ID RL-ID,
- dPCH-ID DPCH-ID OPTIONAL, -- for TDD only
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-DM-Rqst-ExtIEs } } OPTIONAL,
- ...
- }
-
-RL-InformationItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-PUSCH-Info-DM-Rqst CRITICALITY reject EXTENSION PUSCH-Info-DM-Rqst PRESENCE optional}|
- -- TDD only
- { ID id-HSSICH-Info-DM-Rqst CRITICALITY reject EXTENSION HSSICH-Info-DM-Rqst PRESENCE optional},
- -- TDD only
- ...
-}
-
-PUSCH-Info-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF PUSCH-ID
-
-HSSICH-Info-DM-Rqst ::= SEQUENCE (SIZE (1..maxNrOfHSSICHs)) OF HS-SICH-ID
-
-RL-Set-DM-Rqst ::= SEQUENCE {
- rL-Set-InformationList-DM-Rqst RL-Set-InformationList-DM-Rqst,
- iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rqst-ExtIEs } } OPTIONAL,
- ...
-}
-
-RL-SetItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-InformationList-DM-Rqst ::= SEQUENCE (SIZE(1..maxNrOfRLSets)) OF RL-Set-InformationItem-DM-Rqst
-
-RL-Set-InformationItem-DM-Rqst ::= SEQUENCE {
- rL-Set-ID RL-Set-ID,
- iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-DM-Rqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Set-InformationItem-DM-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AllRL-DM-Rqst ::= NULL
-
-
-AllRL-Set-DM-Rqst ::= NULL
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT INITIATION RESPONSE
---
--- **************************************************************
-
-DedicatedMeasurementInitiationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementInitiationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
- { ID id-DedicatedMeasurementObjectType-DM-Rsp CRITICALITY ignore TYPE DedicatedMeasurementObjectType-DM-Rsp PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-DedicatedMeasurementInitiationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DedicatedMeasurementObjectType-DM-Rsp ::= CHOICE {
- rL RL-DM-Rsp,
- rLS RL-Set-DM-Rsp, -- for FDD only
- all-RL RL-DM-Rsp,
- all-RLS RL-Set-DM-Rsp, -- for FDD only
- ...
-}
-
-RL-DM-Rsp ::= SEQUENCE {
- rL-InformationList-DM-Rsp RL-InformationList-DM-Rsp,
- iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rsp-ExtIEs } } OPTIONAL,
- ...
-}
-
-RLItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-DM-Rsp }}
-
-RL-InformationItemIE-DM-Rsp NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-DM-Rsp CRITICALITY ignore TYPE RL-InformationItem-DM-Rsp PRESENCE mandatory }
-}
-
-RL-InformationItem-DM-Rsp ::= SEQUENCE {
- rL-ID RL-ID,
- dPCH-ID DPCH-ID OPTIONAL, -- for TDD only
- dedicatedMeasurementValue DedicatedMeasurementValue,
- cFN CFN OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-DM-Rsp-ExtIEs } } OPTIONAL,
- ...
-}
-
-RL-InformationItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-PUSCH-Info-DM-Rsp CRITICALITY reject EXTENSION PUSCH-Info-DM-Rsp PRESENCE optional}|
- -- TDD only
- {ID id-HSSICH-Info-DM-Rsp CRITICALITY reject EXTENSION HS-SICH-ID PRESENCE optional},
- -- TDD only
- ...
-}
-
-PUSCH-Info-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF PUSCH-ID
-
-RL-Set-DM-Rsp ::= SEQUENCE {
- rL-Set-InformationList-DM-Rsp RL-Set-InformationList-DM-Rsp,
- iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rsp-ExtIEs } } OPTIONAL,
- ...
-}
-
-RL-SetItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-InformationList-DM-Rsp ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-DM-Rsp }}
-
-RL-Set-InformationItemIE-DM-Rsp NBAP-PROTOCOL-IES ::= {
- { ID id-RL-Set-InformationItem-DM-Rsp CRITICALITY ignore TYPE RL-Set-InformationItem-DM-Rsp PRESENCE mandatory}
-}
-
-RL-Set-InformationItem-DM-Rsp ::= SEQUENCE {
- rL-Set-ID RL-Set-ID,
- dedicatedMeasurementValue DedicatedMeasurementValue,
- cFN CFN OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-DM-Rsp-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Set-InformationItem-DM-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT INITIATION FAILURE
---
--- **************************************************************
-
-DedicatedMeasurementInitiationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementInitiationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementInitiationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementInitiationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-DedicatedMeasurementInitiationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT REPORT
---
--- **************************************************************
-
-DedicatedMeasurementReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementReport-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementReport-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementReport-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
- { ID id-DedicatedMeasurementObjectType-DM-Rprt CRITICALITY ignore TYPE DedicatedMeasurementObjectType-DM-Rprt PRESENCE mandatory } ,
- ...
-}
-
-DedicatedMeasurementReport-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DedicatedMeasurementObjectType-DM-Rprt ::= CHOICE {
- rL RL-DM-Rprt,
- rLS RL-Set-DM-Rprt, -- for FDD only
- all-RL RL-DM-Rprt,
- all-RLS RL-Set-DM-Rprt, -- for FDD only
- ...
-}
-
-RL-DM-Rprt ::= SEQUENCE {
- rL-InformationList-DM-Rprt RL-InformationList-DM-Rprt,
- iE-Extensions ProtocolExtensionContainer { { RLItem-DM-Rprt-ExtIEs } } OPTIONAL,
- ...
-}
-
-RLItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-DM-Rprt ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-DM-Rprt }}
-
-RL-InformationItemIE-DM-Rprt NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-DM-Rprt CRITICALITY ignore TYPE RL-InformationItem-DM-Rprt PRESENCE mandatory }
-}
-
-RL-InformationItem-DM-Rprt ::= SEQUENCE {
- rL-ID RL-ID,
- dPCH-ID DPCH-ID OPTIONAL, -- for TDD only
- dedicatedMeasurementValueInformation DedicatedMeasurementValueInformation,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-DM-Rprt-ExtIEs } } OPTIONAL,
- ...
-}
-
-RL-InformationItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-PUSCH-Info-DM-Rprt CRITICALITY reject EXTENSION PUSCH-Info-DM-Rprt PRESENCE optional}|
- -- TDD only
- {ID id-HSSICH-Info-DM-Rprt CRITICALITY reject EXTENSION HS-SICH-ID PRESENCE optional},
- -- TDD only
- ...
-}
-
-PUSCH-Info-DM-Rprt ::= SEQUENCE (SIZE (0..maxNrOfPUSCHs)) OF PUSCH-ID
-
-RL-Set-DM-Rprt ::= SEQUENCE {
- rL-Set-InformationList-DM-Rprt RL-Set-InformationList-DM-Rprt,
- iE-Extensions ProtocolExtensionContainer { { RL-SetItem-DM-Rprt-ExtIEs } } OPTIONAL,
- ...
-}
-
-RL-SetItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-InformationList-DM-Rprt ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-DM-Rprt }}
-
-RL-Set-InformationItemIE-DM-Rprt NBAP-PROTOCOL-IES ::= {
- { ID id-RL-Set-InformationItem-DM-Rprt CRITICALITY ignore TYPE RL-Set-InformationItem-DM-Rprt PRESENCE mandatory }
-}
-
-RL-Set-InformationItem-DM-Rprt ::= SEQUENCE {
- rL-Set-ID RL-Set-ID,
- dedicatedMeasurementValueInformation DedicatedMeasurementValueInformation,
- iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-DM-Rprt-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Set-InformationItem-DM-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT TERMINATION REQUEST
---
--- **************************************************************
-
-DedicatedMeasurementTerminationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementTerminationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementTerminationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementTerminationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory },
- ...
-}
-
-DedicatedMeasurementTerminationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DEDICATED MEASUREMENT FAILURE INDICATION
---
--- **************************************************************
-
-DedicatedMeasurementFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DedicatedMeasurementFailureIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{DedicatedMeasurementFailureIndication-Extensions}} OPTIONAL,
- ...
-}
-
-DedicatedMeasurementFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-MeasurementID CRITICALITY ignore TYPE MeasurementID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-DedicatedMeasurementFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK FAILURE INDICATION
---
--- **************************************************************
-
-RadioLinkFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkFailureIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkFailureIndication-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-Reporting-Object-RL-FailureInd CRITICALITY ignore TYPE Reporting-Object-RL-FailureInd PRESENCE mandatory } ,
- ...
-}
-
-RadioLinkFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Reporting-Object-RL-FailureInd ::= CHOICE {
- rL RL-RL-FailureInd,
- rL-Set RL-Set-RL-FailureInd, --FDD only
- ...,
- cCTrCH CCTrCH-RL-FailureInd --TDD only
-}
-
-RL-RL-FailureInd ::= SEQUENCE {
- rL-InformationList-RL-FailureInd RL-InformationList-RL-FailureInd,
- iE-Extensions ProtocolExtensionContainer { { RLItem-RL-FailureInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RLItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{ RL-InformationItemIE-RL-FailureInd}}
-
-RL-InformationItemIE-RL-FailureInd NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-FailureInd CRITICALITY ignore TYPE RL-InformationItem-RL-FailureInd PRESENCE mandatory}
- }
-
-RL-InformationItem-RL-FailureInd ::= SEQUENCE {
- rL-ID RL-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-FailureInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RL-InformationItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-RL-FailureInd ::= SEQUENCE {
- rL-Set-InformationList-RL-FailureInd RL-Set-InformationList-RL-FailureInd,
- iE-Extensions ProtocolExtensionContainer { { RL-SetItem-RL-FailureInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RL-SetItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-RL-FailureInd }}
-
-RL-Set-InformationItemIE-RL-FailureInd NBAP-PROTOCOL-IES ::= {
- { ID id-RL-Set-InformationItem-RL-FailureInd CRITICALITY ignore TYPE RL-Set-InformationItem-RL-FailureInd PRESENCE mandatory }
-}
-
-RL-Set-InformationItem-RL-FailureInd ::= SEQUENCE {
- rL-Set-ID RL-Set-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-RL-FailureInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Set-InformationItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-RL-FailureInd ::= SEQUENCE {
- rL-ID RL-ID,
- cCTrCH-InformationList-RL-FailureInd CCTrCH-InformationList-RL-FailureInd,
- iE-Extensions ProtocolExtensionContainer { { CCTrCHItem-RL-FailureInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-CCTrCHItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-InformationList-RL-FailureInd ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ CCTrCH-InformationItemIE-RL-FailureInd}}
-
-CCTrCH-InformationItemIE-RL-FailureInd NBAP-PROTOCOL-IES ::= {
- { ID id-CCTrCH-InformationItem-RL-FailureInd CRITICALITY ignore TYPE CCTrCH-InformationItem-RL-FailureInd PRESENCE mandatory}
- }
-
-CCTrCH-InformationItem-RL-FailureInd ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { CCTrCH-InformationItem-RL-FailureInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-CCTrCH-InformationItem-RL-FailureInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK PREEMPTION REQUIRED INDICATION
---
--- **************************************************************
-
-RadioLinkPreemptionRequiredIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkPreemptionRequiredIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkPreemptionRequiredIndication-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkPreemptionRequiredIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-RL-InformationList-RL-PreemptRequiredInd CRITICALITY ignore TYPE RL-InformationList-RL-PreemptRequiredInd PRESENCE optional },
- ...
-}
-
-RadioLinkPreemptionRequiredIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-RL-PreemptRequiredInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container { {RL-InformationItemIE-RL-PreemptRequiredInd}}
-
-RL-InformationItemIE-RL-PreemptRequiredInd NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-PreemptRequiredInd CRITICALITY ignore TYPE RL-InformationItem-RL-PreemptRequiredInd PRESENCE mandatory },
- ...
-}
-
-RL-InformationItem-RL-PreemptRequiredInd::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { {RL-InformationItem-RL-PreemptRequiredInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-InformationItem-RL-PreemptRequiredInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK RESTORE INDICATION
---
--- **************************************************************
-
-RadioLinkRestoreIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkRestoreIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkRestoreIndication-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkRestoreIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-Reporting-Object-RL-RestoreInd CRITICALITY ignore TYPE Reporting-Object-RL-RestoreInd PRESENCE mandatory },
- ...
-}
-
-RadioLinkRestoreIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Reporting-Object-RL-RestoreInd ::= CHOICE {
- rL RL-RL-RestoreInd, --TDD only
- rL-Set RL-Set-RL-RestoreInd, --FDD only
- ...,
- cCTrCH CCTrCH-RL-RestoreInd --TDD only
-}
-
-RL-RL-RestoreInd ::= SEQUENCE {
- rL-InformationList-RL-RestoreInd RL-InformationList-RL-RestoreInd,
- iE-Extensions ProtocolExtensionContainer { { RLItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RLItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {{RL-InformationItemIE-RL-RestoreInd}}
-
-RL-InformationItemIE-RL-RestoreInd NBAP-PROTOCOL-IES ::= {
- { ID id-RL-InformationItem-RL-RestoreInd CRITICALITY ignore TYPE RL-InformationItem-RL-RestoreInd PRESENCE mandatory}
- }
-
-RL-InformationItem-RL-RestoreInd ::= SEQUENCE {
- rL-ID RL-ID,
- iE-Extensions ProtocolExtensionContainer { { RL-InformationItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RL-InformationItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-RL-RestoreInd ::= SEQUENCE {
- rL-Set-InformationList-RL-RestoreInd RL-Set-InformationList-RL-RestoreInd,
- iE-Extensions ProtocolExtensionContainer { { RL-SetItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-RL-SetItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RL-Set-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfRLSets)) OF ProtocolIE-Single-Container {{ RL-Set-InformationItemIE-RL-RestoreInd }}
-
-RL-Set-InformationItemIE-RL-RestoreInd NBAP-PROTOCOL-IES ::= {
- { ID id-RL-Set-InformationItem-RL-RestoreInd CRITICALITY ignore TYPE RL-Set-InformationItem-RL-RestoreInd PRESENCE mandatory }
- }
-
-RL-Set-InformationItem-RL-RestoreInd ::= SEQUENCE {
- rL-Set-ID RL-Set-ID,
- iE-Extensions ProtocolExtensionContainer { { RL-Set-InformationItem-RL-RestoreInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-RL-Set-InformationItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-RL-RestoreInd ::= SEQUENCE {
- rL-ID RL-ID,
- cCTrCH-InformationList-RL-RestoreInd CCTrCH-InformationList-RL-RestoreInd,
- iE-Extensions ProtocolExtensionContainer { { CCTrCHItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-CCTrCHItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CCTrCH-InformationList-RL-RestoreInd ::= SEQUENCE (SIZE (1..maxNrOfCCTrCHs)) OF ProtocolIE-Single-Container {{ CCTrCH-InformationItemIE-RL-RestoreInd}}
-
-CCTrCH-InformationItemIE-RL-RestoreInd NBAP-PROTOCOL-IES ::= {
- { ID id-CCTrCH-InformationItem-RL-RestoreInd CRITICALITY ignore TYPE CCTrCH-InformationItem-RL-RestoreInd PRESENCE mandatory }
- }
-
-CCTrCH-InformationItem-RL-RestoreInd ::= SEQUENCE {
- cCTrCH-ID CCTrCH-ID,
- iE-Extensions ProtocolExtensionContainer { { CCTrCH-InformationItem-RL-RestoreInd-ExtIEs } } OPTIONAL,
- ...
- }
-
-CCTrCH-InformationItem-RL-RestoreInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMPRESSED MODE COMMAND FDD
---
--- **************************************************************
-
-CompressedModeCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CompressedModeCommand-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CompressedModeCommand-Extensions}} OPTIONAL,
- ...
-}
-
-CompressedModeCommand-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory } |
- { ID id-Active-Pattern-Sequence-Information CRITICALITY ignore TYPE Active-Pattern-Sequence-Information PRESENCE mandatory },
- ...
-}
-
-CompressedModeCommand-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- ERROR INDICATION
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{ErrorIndication-Extensions}} OPTIONAL,
- ...
-}
-
-ErrorIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE optional } |
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-ErrorIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
- ...
-}
-
-PrivateMessage-IEs NBAP-PRIVATE-IES ::= {
- ...
-}
-
--- **************************************************************
---
--- PHYSICAL SHARED CHANNEL RECONFIGURATION REQUEST FDD
---
--- **************************************************************
-
-PhysicalSharedChannelReconfigurationRequestFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationRequestFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationRequestFDD-Extensions}} OPTIONAL,
- ...
-}
-
-PhysicalSharedChannelReconfigurationRequestFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-ConfigurationGenerationID CRITICALITY reject TYPE ConfigurationGenerationID PRESENCE mandatory }|
- { ID id-SFN CRITICALITY reject TYPE SFN PRESENCE optional }|
- { ID id-HS-PDSCH-HS-SCCH-MaxPower-PSCH-ReconfRqst CRITICALITY reject TYPE MaximumTransmissionPower PRESENCE optional }|
- { ID id-HS-PDSCH-HS-SCCH-ScramblingCode-PSCH-ReconfRqst CRITICALITY reject TYPE DL-ScramblingCode PRESENCE optional }|
- { ID id-HS-PDSCH-FDD-Code-Information-PSCH-ReconfRqst CRITICALITY reject TYPE HS-PDSCH-FDD-Code-Information PRESENCE optional }|
- { ID id-HS-SCCH-FDD-Code-Information-PSCH-ReconfRqst CRITICALITY reject TYPE HS-SCCH-FDD-Code-Information PRESENCE optional },
- ...
-}
-
-PhysicalSharedChannelReconfigurationRequestFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PHYSICAL SHARED CHANNEL RECONFIGURATION REQUEST TDD
---
--- **************************************************************
-
-PhysicalSharedChannelReconfigurationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-PhysicalSharedChannelReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-SFN CRITICALITY reject TYPE SFN PRESENCE optional }|
- { ID id-PDSCHSets-AddList-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCHSets-AddList-PSCH-ReconfRqst PRESENCE optional }|
- { ID id-PDSCHSets-ModifyList-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCHSets-ModifyList-PSCH-ReconfRqst PRESENCE optional }|
- { ID id-PDSCHSets-DeleteList-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCHSets-DeleteList-PSCH-ReconfRqst PRESENCE optional }|
- { ID id-PUSCHSets-AddList-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCHSets-AddList-PSCH-ReconfRqst PRESENCE optional }|
- { ID id-PUSCHSets-ModifyList-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCHSets-ModifyList-PSCH-ReconfRqst PRESENCE optional }|
- { ID id-PUSCHSets-DeleteList-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCHSets-DeleteList-PSCH-ReconfRqst PRESENCE optional },
- ...
-}
-
-PhysicalSharedChannelReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-HS-PDSCH-TDD-Information-PSCH-ReconfRqst CRITICALITY reject EXTENSION HS-PDSCH-TDD-Information-PSCH-ReconfRqst PRESENCE optional } |
- { ID id-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
- { ID id-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
- { ID id-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst CRITICALITY reject EXTENSION Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst PRESENCE optional } |
- { ID id-ConfigurationGenerationID CRITICALITY reject EXTENSION ConfigurationGenerationID PRESENCE optional },
- ...
-}
-
-PDSCHSets-AddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHSets)) OF PDSCHSets-AddItem-PSCH-ReconfRqst
-
-PDSCHSets-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCHSet-ID PDSCHSet-ID,
- pDSCH-InformationList PDSCH-Information-AddList-PSCH-ReconfRqst OPTIONAL, -- Mandatory for 3.84Mcps TDD. Not Applicable to 1.28Mcps TDD
- iE-Extensions ProtocolExtensionContainer { {PDSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-PDSCH-AddInformation-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst PRESENCE optional}, -- Mandatory for 1.28Mcps TDD. Not Applicable to 3.84Mcps TDD
- ...
-}
-
-PDSCH-Information-AddList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PDSCH-Information-AddListIEs-PSCH-ReconfRqst }}
--- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
-
-PDSCH-Information-AddListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
- {ID id-PDSCH-Information-AddListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCH-Information-AddItem-PSCH-ReconfRqst PRESENCE mandatory}
-}
-
-PDSCH-Information-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- dL-Timeslot-InformationAddList-PSCH-ReconfRqst DL-Timeslot-InformationAddList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PDSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PDSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-InformationAddItem-PSCH-ReconfRqst
-
-DL-Timeslot-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tFCI-Presence TFCI-Presence,
- dL-Code-InformationAddList-PSCH-ReconfRqst DL-Code-InformationAddList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Code-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-InformationAddItem-PSCH-ReconfRqst
-
-DL-Code-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCH-ID PDSCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- dL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst DL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PDSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSLCRs)) OF DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst
-
-DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tFCI-Presence TFCI-Presence,
- dL-Code-InformationAddList-LCR-PSCH-ReconfRqst DL-Code-InformationAddList-LCR-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Code-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst
-
-DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCH-ID PDSCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCHSets-ModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHSets)) OF PDSCHSets-ModifyItem-PSCH-ReconfRqst
-
-PDSCHSets-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCHSet-ID PDSCHSet-ID,
- pDSCH-InformationList PDSCH-Information-ModifyList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PDSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-Information-ModifyList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PDSCH-Information-ModifyListIEs-PSCH-ReconfRqst }}
-
-PDSCH-Information-ModifyListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
- {ID id-PDSCH-Information-ModifyListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCH-Information-ModifyItem-PSCH-ReconfRqst PRESENCE optional}|
- {ID id-PDSCH-ModifyInformation-LCR-PSCH-ReconfRqst CRITICALITY reject TYPE PDSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst PRESENCE optional}
-
-}
-
-PDSCH-Information-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
- dL-Timeslot-InformationModifyList-PSCH-ReconfRqst DL-Timeslot-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {PDSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PDSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSs)) OF DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst
-
-DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- dL-Code-InformationModifyList-PSCH-ReconfRqst DL-Code-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Code-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-InformationModifyItem-PSCH-ReconfRqst
-
-DL-Code-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCH-ID PDSCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
- dL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst DL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PDSCH-ModifyInformation-LCR-ModifyListIE-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfDLTSLCRs)) OF DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst
-
-DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- dL-Code-LCR-InformationModifyList-PSCH-ReconfRqst DL-Code-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-Code-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHs)) OF DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst
-
-DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCH-ID PDSCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- iE-Extensions ProtocolExtensionContainer { { DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PDSCHSets-DeleteList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPDSCHSets)) OF PDSCHSets-DeleteItem-PSCH-ReconfRqst
-
-PDSCHSets-DeleteItem-PSCH-ReconfRqst ::= SEQUENCE {
- pDSCHSet-ID PDSCHSet-ID,
- iE-Extensions ProtocolExtensionContainer { {PDSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PDSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCHSets-AddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHSets)) OF PUSCHSets-AddItem-PSCH-ReconfRqst
-
-PUSCHSets-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCHSet-ID PUSCHSet-ID,
- pUSCH-InformationList PUSCH-Information-AddList-PSCH-ReconfRqst OPTIONAL,
- -- Mandatory for 3.84Mcps TDD, Not Applicable to 1.28Mcps TDD
- iE-Extensions ProtocolExtensionContainer { {PUSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PUSCHSets-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- {ID id-PUSCH-AddInformation-LCR-PSCH-ReconfRqst CRITICALITY reject EXTENSION PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst PRESENCE optional}, -- Mandatory for 1.28Mcps TDD, Not Applicable to 3.84Mcps TDD
- ...
-}
-
-PUSCH-Information-AddList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PUSCH-Information-AddListIEs-PSCH-ReconfRqst }}
-
-PUSCH-Information-AddListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
- {ID id-PUSCH-Information-AddListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCH-Information-AddItem-PSCH-ReconfRqst PRESENCE mandatory}
-}
-
-PUSCH-Information-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- uL-Timeslot-InformationAddList-PSCH-ReconfRqst UL-Timeslot-InformationAddList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PUSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PUSCH-Information-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Timeslot-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationAddItem-PSCH-ReconfRqst
-
-UL-Timeslot-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tFCI-Presence TFCI-Presence,
- uL-Code-InformationAddList-PSCH-ReconfRqst UL-Code-InformationAddList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-InformationAddList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-InformationAddItem-PSCH-ReconfRqst
-
-UL-Code-InformationAddItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCH-ID PUSCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-InformationAddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod,
- repetitionLength RepetitionLength,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset,
- uL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst UL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PUSCH-AddInformation-LCR-AddItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Timeslot-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1.. maxNrOfULTSLCRs)) OF UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst
-
-UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tFCI-Presence TFCI-Presence,
- uL-Code-InformationAddList-LCR-PSCH-ReconfRqst UL-Code-InformationAddList-LCR-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-InformationAddList-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst
-
-UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCH-ID PUSCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-InformationAddItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCHSets-ModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHSets)) OF PUSCHSets-ModifyItem-PSCH-ReconfRqst
-
-PUSCHSets-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCHSet-ID PUSCHSet-ID,
- pUSCH-InformationList PUSCH-Information-ModifyList-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { {PUSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PUSCHSets-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCH-Information-ModifyList-PSCH-ReconfRqst ::= ProtocolIE-Single-Container {{ PUSCH-Information-ModifyListIEs-PSCH-ReconfRqst }}
-
-PUSCH-Information-ModifyListIEs-PSCH-ReconfRqst NBAP-PROTOCOL-IES ::= {
- {ID id-PUSCH-Information-ModifyListIE-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCH-Information-ModifyItem-PSCH-ReconfRqst PRESENCE optional}|
- {ID id-PUSCH-ModifyInformation-LCR-PSCH-ReconfRqst CRITICALITY reject TYPE PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst PRESENCE optional}
-}
-
-PUSCH-Information-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
- uL-Timeslot-InformationModifyList-PSCH-ReconfRqst UL-Timeslot-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {PUSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PUSCH-Information-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Timeslot-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfULTSs)) OF UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst
-
-UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- uL-Code-InformationModifyList-PSCH-ReconfRqst UL-Code-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-InformationModifyItem-PSCH-ReconfRqst
-
-UL-Code-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCH-ID PUSCH-ID,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- repetitionPeriod RepetitionPeriod OPTIONAL,
- repetitionLength RepetitionLength OPTIONAL,
- tdd-PhysicalChannelOffset TDD-PhysicalChannelOffset OPTIONAL,
- uL-Timeslot-InformationModifyList-LCR-PSCH-ReconfRqst UL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-PUSCH-ModifyInformation-LCR-ModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Timeslot-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfULTSLCRs)) OF UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst
-
-UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- tFCI-Presence TFCI-Presence OPTIONAL,
- uL-Code-LCR-InformationModifyList-PSCH-ReconfRqst UL-Code-LCR-InformationModifyList-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Timeslot-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UL-Code-LCR-InformationModifyList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHs)) OF UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst
-
-UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCH-ID PUSCH-ID,
- tdd-ChannelisationCodeLCR TDD-ChannelisationCodeLCR,
- iE-Extensions ProtocolExtensionContainer { { UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-UL-Code-LCR-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-PUSCHSets-DeleteList-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfPUSCHSets)) OF PUSCHSets-DeleteItem-PSCH-ReconfRqst
-
-PUSCHSets-DeleteItem-PSCH-ReconfRqst ::= SEQUENCE {
- pUSCHSet-ID PUSCHSet-ID,
- iE-Extensions ProtocolExtensionContainer { {PUSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-PUSCHSets-DeleteItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-PDSCH-TDD-Information-PSCH-ReconfRqst ::= SEQUENCE {
- dL-HS-PDSCH-Timeslot-Information-PSCH-ReconfRqst DL-HS-PDSCH-Timeslot-Information-PSCH-ReconfRqst OPTIONAL,
- dL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-PDSCH-TDD-Information-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
- }
-
-HS-PDSCH-TDD-Information-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-HS-PDSCH-Timeslot-Information-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfDLTSs)) OF DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst
-
-DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst::= SEQUENCE {
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- dl-HS-PDSCH-Codelist-PSCH-ReconfRqst DL-HS-PDSCH-Codelist-PSCH-ReconfRqst,
- maxHSDSCH-HSSCCH-Power MaximumTransmissionPower OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-HS-PDSCH-Timeslot-InformationItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-HS-PDSCH-Codelist-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfHSPDSCHs)) OF TDD-ChannelisationCode
-
-DL-HS-PDSCH-Timeslot-Information-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfDLTSLCRs)) OF DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst
-
-DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst::= SEQUENCE {
- timeSlot TimeSlotLCR,
- midambleShiftAndBurstType MidambleShiftLCR,
- dl-HS-PDSCH-Codelist-LCR-PSCH-ReconfRqst DL-HS-PDSCH-Codelist-LCR-PSCH-ReconfRqst,
- maxHSDSCH-HSSCCH-Power MaximumTransmissionPower OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-DL-HS-PDSCH-Timeslot-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DL-HS-PDSCH-Codelist-LCR-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfHSPDSCHs)) OF TDD-ChannelisationCode
-
-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst::= SEQUENCE {
- hS-SCCH-Information-PSCH-ReconfRqst HS-SCCH-Information-PSCH-ReconfRqst OPTIONAL,
- hS-SCCH-Information-LCR-PSCH-ReconfRqst HS-SCCH-Information-LCR-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-Add-To-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SCCH-Information-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationItem-PSCH-ReconfRqst
-
-HS-SCCH-InformationItem-PSCH-ReconfRqst ::= SEQUENCE {
- hS-SCCH-ID HS-SCCH-ID,
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- hS-SCCH-MaxPower DL-Power,
- hS-SICH-Information HS-SICH-Information-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SCCH-InformationItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-Information-PSCH-ReconfRqst ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeSlot TimeSlot,
- midambleShiftAndBurstType MidambleShiftAndBurstType,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { HS-SICH-Information-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SICH-Information-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SCCH-Information-LCR-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst
-
-HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- hS-SCCH-ID HS-SCCH-ID,
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- first-TDD-ChannelisationCode TDD-ChannelisationCode,
- second-TDD-ChannelisationCode TDD-ChannelisationCode,
- hS-SCCH-MaxPower DL-Power,
- hS-SICH-Information-LCR HS-SICH-Information-LCR-PSCH-ReconfRqst,
- iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SCCH-InformationItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-Information-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeSlotLCR TimeSlotLCR,
- midambleShiftLCR MidambleShiftLCR,
- tdd-ChannelisationCode TDD-ChannelisationCode,
- iE-Extensions ProtocolExtensionContainer { { HS-SICH-Information-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SICH-Information-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst::= SEQUENCE {
- hS-SCCH-InformationModify-PSCH-ReconfRqst HS-SCCH-InformationModify-PSCH-ReconfRqst OPTIONAL,
- hS-SCCH-InformationModify-LCR-PSCH-ReconfRqst HS-SCCH-InformationModify-LCR-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-Modify-HS-SCCH-Resource-Pool-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SCCH-InformationModify-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationModifyItem-PSCH-ReconfRqst
-
-HS-SCCH-InformationModifyItem-PSCH-ReconfRqst ::= SEQUENCE {
- hS-SCCH-ID HS-SCCH-ID,
- timeSlot TimeSlot OPTIONAL,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- hS-SCCH-MaxPower DL-Power OPTIONAL,
- hS-SICH-Information HS-SICH-InformationModify-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationModifyItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SCCH-InformationModifyItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-InformationModify-PSCH-ReconfRqst ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeSlot TimeSlot OPTIONAL,
- midambleShiftAndBurstType MidambleShiftAndBurstType OPTIONAL,
- tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-SICH-InformationModify-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SICH-InformationModify-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SCCH-InformationModify-LCR-PSCH-ReconfRqst::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst
-
-HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- hS-SCCH-ID HS-SCCH-ID,
- timeSlotLCR TimeSlotLCR OPTIONAL,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- first-TDD-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- second-TDD-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- hS-SCCH-MaxPower DL-Power OPTIONAL,
- hS-SICH-Information-LCR HS-SICH-InformationModify-LCR-PSCH-ReconfRqst OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SCCH-InformationModifyItem-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HS-SICH-InformationModify-LCR-PSCH-ReconfRqst ::= SEQUENCE {
- hsSICH-ID HS-SICH-ID,
- timeSlotLCR TimeSlotLCR OPTIONAL,
- midambleShiftLCR MidambleShiftLCR OPTIONAL,
- tdd-ChannelisationCode TDD-ChannelisationCode OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { HS-SICH-InformationModify-LCR-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-HS-SICH-InformationModify-LCR-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Delete-From-HS-SCCH-Resource-Pool-PSCH-ReconfRqst ::= SEQUENCE (SIZE (1..maxNrOfHSSCCHs)) OF Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst
-
-Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst ::= SEQUENCE {
- hS-SCCH-ID HS-SCCH-ID,
- iE-Extensions ProtocolExtensionContainer { { Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-Delete-From-HS-SCCH-Resource-PoolItem-PSCH-ReconfRqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PHYSICAL SHARED CHANNEL RECONFIGURATION RESPONSE
---
--- **************************************************************
-
-PhysicalSharedChannelReconfigurationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-PhysicalSharedChannelReconfigurationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-PhysicalSharedChannelReconfigurationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- PHYSICAL SHARED CHANNEL RECONFIGURATION FAILURE
---
--- **************************************************************
-
-PhysicalSharedChannelReconfigurationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PhysicalSharedChannelReconfigurationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{PhysicalSharedChannelReconfigurationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-PhysicalSharedChannelReconfigurationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CauseLevel-PSCH-ReconfFailure CRITICALITY ignore TYPE CauseLevel-PSCH-ReconfFailure PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-PhysicalSharedChannelReconfigurationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CauseLevel-PSCH-ReconfFailure ::= CHOICE {
- generalCause GeneralCauseList-PSCH-ReconfFailure,
- setSpecificCause SetSpecificCauseList-PSCH-ReconfFailureTDD,
- ...
-}
-
-GeneralCauseList-PSCH-ReconfFailure ::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseItem-PSCH-ReconfFailure-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseItem-PSCH-ReconfFailure-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SetSpecificCauseList-PSCH-ReconfFailureTDD ::= SEQUENCE {
- unsuccessful-PDSCHSetList-PSCH-ReconfFailureTDD Unsuccessful-PDSCHSetList-PSCH-ReconfFailureTDD OPTIONAL,
- unsuccessful-PUSCHSetList-PSCH-ReconfFailureTDD Unsuccessful-PUSCHSetList-PSCH-ReconfFailureTDD OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SetSpecificCauseItem-PSCH-ReconfFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SetSpecificCauseItem-PSCH-ReconfFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-PDSCHSetList-PSCH-ReconfFailureTDD ::= SEQUENCE (SIZE (0.. maxNrOfPDSCHSets)) OF ProtocolIE-Single-Container {{ Unsuccessful-PDSCHSetItemIE-PSCH-ReconfFailureTDD }}
-
-Unsuccessful-PDSCHSetItemIE-PSCH-ReconfFailureTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD CRITICALITY ignore TYPE Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD PRESENCE mandatory}
-}
-
-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD ::= SEQUENCE {
- pDSCHSet-ID PDSCHSet-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-PDSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-PUSCHSetList-PSCH-ReconfFailureTDD ::= SEQUENCE (SIZE (0.. maxNrOfPUSCHSets)) OF ProtocolIE-Single-Container {{ Unsuccessful-PUSCHSetItemIE-PSCH-ReconfFailureTDD }}
-
-Unsuccessful-PUSCHSetItemIE-PSCH-ReconfFailureTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD CRITICALITY ignore TYPE Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD PRESENCE mandatory}
-}
-
-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD ::= SEQUENCE {
- pUSCHSet-ID PUSCHSet-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-PUSCHSetItem-PSCH-ReconfFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RESET REQUEST
---
--- **************************************************************
-
-ResetRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ResetRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{ResetRequest-Extensions}} OPTIONAL,
- ...
-}
-
-ResetRequest-IEs NBAP-PROTOCOL-IES ::= {
- {ID id-ResetIndicator CRITICALITY ignore TYPE ResetIndicator PRESENCE mandatory},
- ...
-}
-
-ResetRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetIndicator ::= CHOICE {
- communicationContext CommunicationContextList-Reset,
- communicationControlPort CommunicationControlPortList-Reset,
- nodeB NULL,
- ...
-}
-
-CommunicationContextList-Reset ::= SEQUENCE {
- communicationContextInfoList-Reset CommunicationContextInfoList-Reset,
- iE-Extensions ProtocolExtensionContainer { {CommunicationContextItem-Reset-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommunicationContextItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommunicationContextInfoList-Reset ::= SEQUENCE (SIZE (1.. maxCommunicationContext)) OF ProtocolIE-Single-Container {{ CommunicationContextInfoItemIE-Reset }}
-
-CommunicationContextInfoItemIE-Reset NBAP-PROTOCOL-IES ::= {
- {ID id-CommunicationContextInfoItem-Reset CRITICALITY reject TYPE CommunicationContextInfoItem-Reset PRESENCE mandatory}
-}
-
-CommunicationContextInfoItem-Reset ::= SEQUENCE {
- communicationContextType-Reset CommunicationContextType-Reset,
- iE-Extensions ProtocolExtensionContainer { { CommunicationContextInfoItem-Reset-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommunicationContextInfoItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommunicationContextType-Reset ::= CHOICE {
- cRNC-CommunicationContextID CRNC-CommunicationContextID,
- nodeB-CommunicationContextID NodeB-CommunicationContextID,
- ...
-}
-
-CommunicationControlPortList-Reset ::= SEQUENCE {
- communicationControlPortInfoList-Reset CommunicationControlPortInfoList-Reset,
- iE-Extensions ProtocolExtensionContainer { {CommunicationControlPortItem-Reset-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommunicationControlPortItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CommunicationControlPortInfoList-Reset ::= SEQUENCE (SIZE (1.. maxCCPinNodeB)) OF ProtocolIE-Single-Container {{CommunicationControlPortInfoItemIE-Reset }}
-
-CommunicationControlPortInfoItemIE-Reset NBAP-PROTOCOL-IES ::= {
- {ID id-CommunicationControlPortInfoItem-Reset CRITICALITY reject TYPE CommunicationControlPortInfoItem-Reset PRESENCE mandatory}
-}
-
-CommunicationControlPortInfoItem-Reset ::= SEQUENCE {
- communicationControlPortID CommunicationControlPortID,
- iE-Extensions ProtocolExtensionContainer { {CommunicationControlPortInfoItem-Reset-ExtIEs} } OPTIONAL,
- ...
-}
-
-CommunicationControlPortInfoItem-Reset-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RESET RESPONSE
---
--- **************************************************************
-
-ResetResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ResetResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{ResetResponse-Extensions}} OPTIONAL,
- ...
-}
-
-ResetResponse-IEs NBAP-PROTOCOL-IES ::= {
- {ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
-ResetResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION EXCHANGE INITIATION REQUEST
---
--- **************************************************************
-
-InformationExchangeInitiationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationExchangeInitiationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-InformationExchangeInitiationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory }|
- { ID id-InformationExchangeObjectType-InfEx-Rqst CRITICALITY reject TYPE InformationExchangeObjectType-InfEx-Rqst PRESENCE mandatory }|
- { ID id-InformationType CRITICALITY reject TYPE InformationType PRESENCE mandatory }|
- { ID id-InformationReportCharacteristics CRITICALITY reject TYPE InformationReportCharacteristics PRESENCE mandatory},
- ...
-}
-
-InformationExchangeInitiationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-InformationExchangeObjectType-InfEx-Rqst ::= CHOICE {
- cell Cell-InfEx-Rqst,
- ...
-}
-
-Cell-InfEx-Rqst ::= SEQUENCE {
- c-ID C-ID,
- iE-Extensions ProtocolExtensionContainer { { CellItem-InfEx-Rqst-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellItem-InfEx-Rqst-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION EXCHANGE INITIATION RESPONSE
---
--- **************************************************************
-
-InformationExchangeInitiationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationExchangeInitiationResponse-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationResponse-Extensions}} OPTIONAL,
- ...
-}
-
-InformationExchangeInitiationResponse-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
- { ID id-InformationExchangeObjectType-InfEx-Rsp CRITICALITY ignore TYPE InformationExchangeObjectType-InfEx-Rsp PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-InformationExchangeInitiationResponse-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-InformationExchangeObjectType-InfEx-Rsp ::= CHOICE {
- cell Cell-InfEx-Rsp,
- ...
- }
-
-Cell-InfEx-Rsp ::= SEQUENCE {
- requestedDataValue RequestedDataValue,
- iE-Extensions ProtocolExtensionContainer { { CellItem-InfEx-Rsp-ExtIEs} } OPTIONAL,
- ...
- }
-
-CellItem-InfEx-Rsp-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION EXCHANGE INITIATION FAILURE
---
--- **************************************************************
-
-InformationExchangeInitiationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationExchangeInitiationFailure-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationExchangeInitiationFailure-Extensions}} OPTIONAL,
- ...
-}
-
-InformationExchangeInitiationFailure-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-InformationExchangeInitiationFailure-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION REPORT
---
--- **************************************************************
-
-InformationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationReport-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationReport-Extensions}} OPTIONAL,
- ...
-}
-
-InformationReport-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
- { ID id-InformationExchangeObjectType-InfEx-Rprt CRITICALITY ignore TYPE InformationExchangeObjectType-InfEx-Rprt PRESENCE mandatory },
- ...
-}
-
-InformationReport-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-InformationExchangeObjectType-InfEx-Rprt ::= CHOICE {
- cell Cell-Inf-Rprt,
- ...
- }
-
-Cell-Inf-Rprt ::= SEQUENCE {
- requestedDataValueInformation RequestedDataValueInformation,
- iE-Extensions ProtocolExtensionContainer {{ CellItem-Inf-Rprt-ExtIEs }} OPTIONAL,
- ...
-
- }
-
-CellItem-Inf-Rprt-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION EXCHANGE TERMINATION REQUEST
---
--- **************************************************************
-
-InformationExchangeTerminationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationExchangeTerminationRequest-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationExchangeTerminationRequest-Extensions}} OPTIONAL,
- ...
-}
-
-InformationExchangeTerminationRequest-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory},
- ...
-}
-
-InformationExchangeTerminationRequest-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INFORMATION EXCHANGE FAILURE INDICATION
---
--- **************************************************************
-
-InformationExchangeFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InformationExchangeFailureIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{InformationExchangeFailureIndication-Extensions}} OPTIONAL,
- ...
-}
-
-InformationExchangeFailureIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-InformationExchangeFailureIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION INITIATION REQUEST TDD
---
--- **************************************************************
-
-CellSynchronisationInitiationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationInitiationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationInitiationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationInitiationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-CellSynchronisationInitiationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-cellSyncBurstRepetitionPeriod CRITICALITY reject TYPE CellSyncBurstRepetitionPeriod PRESENCE mandatory }|
- { ID id-timeslotInfo-CellSyncInitiationRqstTDD CRITICALITY reject TYPE TimeslotInfo-CellSyncInitiationRqstTDD PRESENCE optional }| -- Mandatory for 3.84Mcps TDD. Not Applicable to 1.28Mcps TDD.
- { ID id-CellSyncBurstTransInit-CellSyncInitiationRqstTDD CRITICALITY reject TYPE CellSyncBurstTransInit-CellSyncInitiationRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD only
- { ID id-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD CRITICALITY reject TYPE CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD PRESENCE optional }, -- Applicable to 3.84Mcps TDD only
- ...
-}
-
-CellSyncBurstTransInit-CellSyncInitiationRqstTDD::= SEQUENCE {
- cSBTransmissionID CSBTransmissionID,
- sfn SFN,
- cellSyncBurstCode CellSyncBurstCode,
- cellSyncBurstCodeShift CellSyncBurstCodeShift,
- initialDLTransPower DL-Power,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstTransInit-CellSyncInitiationRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-CellSyncBurstTransInit-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeslotInfo-CellSyncInitiationRqstTDD::= SEQUENCE (SIZE (1..15)) OF TimeSlot
-
-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD::= SEQUENCE {
- cSBMeasurementID CSBMeasurementID,
- cellSyncBurstCode CellSyncBurstCode,
- cellSyncBurstCodeShift CellSyncBurstCodeShift,
- synchronisationReportType SynchronisationReportType,
- sfn SFN OPTIONAL,
- synchronisationReportCharacteristics SynchronisationReportCharacteristics,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-CellSyncBurstMeasureInit-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD::= SEQUENCE {
- cSBTransmissionID CSBTransmissionID,
- sfn SFN,
- uARFCN UARFCN,
- sYNCDlCodeId SYNCDlCodeId,
- dwPCH-Power DwPCH-Power,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-SYNCDlCodeId-TransInitLCR-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD::= SEQUENCE {
- cSBMeasurementID CSBMeasurementID,
- sfn SFN OPTIONAL,
- uARFCN UARFCN,
- sYNCDlCodeId SYNCDlCodeId,
- synchronisationReportType SynchronisationReportType,
- synchronisationReportCharacteristics SynchronisationReportCharacteristics,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-SYNCDlCodeId-MeasureInitLCR-CellSyncInitiationRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION INITIATION RESPONSE TDD
---
--- **************************************************************
-
-CellSynchronisationInitiationResponseTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationInitiationResponseTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationInitiationResponseTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationInitiationResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationInitiationResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION INITIATION FAILURE TDD
---
--- **************************************************************
-
-CellSynchronisationInitiationFailureTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationInitiationFailureTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationInitiationFailureTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationInitiationFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationInitiationFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION RECONFIGURATION REQUEST TDD
---
--- **************************************************************
-
-CellSynchronisationReconfigurationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationReconfigurationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReconfigurationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationReconfigurationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-NSubCyclesPerCyclePeriod-CellSyncReconfRqstTDD CRITICALITY reject EXTENSION NSubCyclesPerCyclePeriod PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-SYNCDlCodeIdMeasReconfigurationLCR-CellSyncReconfRqstTDD CRITICALITY reject EXTENSION SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
-CellSynchronisationReconfigurationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY reject TYPE C-ID PRESENCE mandatory }|
- { ID id-TimeSlot CRITICALITY reject TYPE TimeSlot PRESENCE mandatory }|
- -- Applicable to 3.84Mcps TDD only. For 1.28Mcps TDD, the CRNC should set this to 0 and the Node B shall ignore it.
- { ID id-NCyclesPerSFNperiod CRITICALITY reject TYPE NCyclesPerSFNperiod PRESENCE mandatory }|
- { ID id-NRepetitionsPerCyclePeriod CRITICALITY reject TYPE NRepetitionsPerCyclePeriod PRESENCE mandatory }|
- { ID id-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD CRITICALITY reject TYPE CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD PRESENCE optional }| -- Applicable to 3.84Mcps TDD only
- { ID id-CellSyncBurstMeasReconfiguration-CellSyncReconfRqstTDD CRITICALITY reject TYPE CellSyncBurstMeasInfo-CellSyncReconfRqstTDD PRESENCE optional }, -- Applicable to 3.84Mcps TDD only
- ...
-}
-
-CellSyncBurstTransReconfInfo-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1.. maxNrOfCellSyncBursts)) OF CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD
-
-CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
- cSBTransmissionID CSBTransmissionID,
- syncFrameNumberToTransmit SyncFrameNumber,
- cellSyncBurstCode CellSyncBurstCode OPTIONAL,
- cellSyncBurstCodeShift CellSyncBurstCodeShift OPTIONAL,
- dlTransPower DL-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstTransInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-CellSyncBurstMeasInfo-CellSyncReconfRqstTDD ::= SEQUENCE {
- cellSyncBurstMeasInfoList-CellSyncReconfRqstTDD CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD,
- synchronisationReportType SynchronisationReportTypeIE OPTIONAL,
- synchronisationReportCharacteristics SynchronisationReportCharacteristicsIE OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasInfo-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstMeasInfo-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD ::= ProtocolIE-Single-Container {{ CellSyncBurstMeasInfoListIEs-CellSyncReconfRqstTDD }}
-
-CellSyncBurstMeasInfoListIEs-CellSyncReconfRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-CellSyncBurstMeasInfoList-CellSyncReconfRqstTDD CRITICALITY reject TYPE CellSyncBurstMeasInfoListIE-CellSyncReconfRqstTDD PRESENCE mandatory }
-}
-
-SynchronisationReportTypeIE ::= ProtocolIE-Single-Container {{ SynchronisationReportTypeIEs }}
-
-SynchronisationReportTypeIEs NBAP-PROTOCOL-IES ::= {
- { ID id-SynchronisationReportType CRITICALITY reject TYPE SynchronisationReportType PRESENCE mandatory }
-}
-
-SynchronisationReportCharacteristicsIE ::= ProtocolIE-Single-Container {{ SynchronisationReportCharacteristicsIEs }}
-
-SynchronisationReportCharacteristicsIEs NBAP-PROTOCOL-IES ::= {
- { ID id-SynchronisationReportCharacteristics CRITICALITY reject TYPE SynchronisationReportCharacteristics PRESENCE mandatory }
-}
-
-
-CellSyncBurstMeasInfoListIE-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1.. maxNrOfCellSyncBursts)) OF CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD
-
-CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
- syncFrameNrToReceive SyncFrameNumber,
- syncBurstInfo CellSyncBurstInfoList-CellSyncReconfRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSyncBurstInfoList-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfReceptsPerSyncFrame)) OF CellSyncBurstInfoItem-CellSyncReconfRqstTDD
-
-CellSyncBurstInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
- cSBMeasurementID CSBMeasurementID,
- cellSyncBurstCode CellSyncBurstCode,
- cellSyncBurstCodeShift CellSyncBurstCodeShift,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1..maxNrOfSyncFramesLCR)) OF SYNCDlCodeIdTransReconfItemLCR-CellSyncReconfRqstTDD
-
-SYNCDlCodeIdTransReconfItemLCR-CellSyncReconfRqstTDD ::= SEQUENCE {
- cSBTransmissionID CSBTransmissionID,
- syncFrameNumberforTransmit SyncFrameNumber,
- uARFCN UARFCN,
- sYNCDlCodeId SYNCDlCodeId OPTIONAL,
- dwPCH-Power DwPCH-Power OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SYNCDlCodeIdTransReconfInfoLCR-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD::= SEQUENCE {
- sYNCDlCodeIdMeasInfoList SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD,
- synchronisationReportType SynchronisationReportType OPTIONAL,
- synchronisationReportCharacteristics SynchronisationReportCharacteristics OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SYNCDlCodeIdMeasInfoLCR-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SYNCDlCodeIdMeasInfoList-CellSyncReconfRqstTDD::= SEQUENCE (SIZE (1.. maxNrOfSyncDLCodesLCR)) OF SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD
-
-SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD ::= SEQUENCE {
- syncFrameNrToReceive SyncFrameNumber,
- sYNCDlCodeIdInfoLCR SYNCDlCodeIdInfoListLCR-CellSyncReconfRqstTDD,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SYNCDlCodeIdMeasInfoItem-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SYNCDlCodeIdInfoListLCR-CellSyncReconfRqstTDD ::= SEQUENCE (SIZE (1.. maxNrOfReceptionsperSyncFrameLCR)) OF SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD
-
-SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD ::= SEQUENCE {
- cSBMeasurementID CSBMeasurementID,
- sYNCDlCodeId SYNCDlCodeId,
- uARFCN UARFCN,
- propagationDelayCompensation TimingAdjustmentValueLCR OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-SYNCDlCodeIdInfoItemLCR-CellSyncReconfRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION RECONFIGURATION RESPONSE TDD
---
--- **************************************************************
-
-CellSynchronisationReconfigurationResponseTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationReconfigurationResponseTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReconfigurationResponseTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationReconfigurationResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationReconfigurationResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION RECONFIGURATION FAILURE TDD
---
--- **************************************************************
-
-CellSynchronisationReconfigurationFailureTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationReconfigurationFailureTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReconfigurationFailureTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationReconfigurationFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationReconfigurationFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION ADJUSTMENT REQUEST TDD
---
--- **************************************************************
-
-CellSynchronisationAdjustmentRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationAdjustmentRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationAdjustmentRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationAdjustmentRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationAdjustmentRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CellAdjustmentInfo-SyncAdjustmntRqstTDD CRITICALITY ignore TYPE CellAdjustmentInfo-SyncAdjustmentRqstTDD PRESENCE mandatory },
- ...
-}
-
-CellAdjustmentInfo-SyncAdjustmentRqstTDD::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ CellAdjustmentInfoItemIE-SyncAdjustmntRqstTDD }}
-
-CellAdjustmentInfoItemIE-SyncAdjustmntRqstTDD NBAP-PROTOCOL-IES ::= {
- { ID id-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD CRITICALITY ignore TYPE CellAdjustmentInfoItem-SyncAdjustmentRqstTDD PRESENCE mandatory }
-}
-
-CellAdjustmentInfoItem-SyncAdjustmentRqstTDD ::= SEQUENCE {
- c-ID C-ID,
- frameAdjustmentValue FrameAdjustmentValue OPTIONAL,
- timingAdjustmentValue TimingAdjustmentValue OPTIONAL,
- dLTransPower DL-Power OPTIONAL, -- Applicable to 3.84Mcps TDD only
- sfn SFN OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { CellAdjustmentInfoItem-SyncAdjustmntRqstTDD-ExtIEs} } OPTIONAL,
- ...
- }
-
-CellAdjustmentInfoItem-SyncAdjustmntRqstTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-DwPCH-Power CRITICALITY ignore EXTENSION DwPCH-Power PRESENCE optional }| -- Applicable to 1.28Mcps TDD only
- { ID id-TimingAdjustmentValueLCR CRITICALITY ignore EXTENSION TimingAdjustmentValueLCR PRESENCE optional }, -- Applicable to 1.28Mcps TDD only
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION ADJUSTMENT RESPONSE TDD
---
--- **************************************************************
-
-CellSynchronisationAdjustmentResponseTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationAdjustmentResponseTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationAdjustmentResponseTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationAdjustmentResponseTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationAdjustmentResponseTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION ADJUSTMENT FAILURE TDD
---
--- **************************************************************
-
-CellSynchronisationAdjustmentFailureTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationAdjustmentFailureTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationAdjustmentFailureTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationAdjustmentFailureTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationAdjustmentFailureTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CauseLevel-SyncAdjustmntFailureTDD CRITICALITY ignore TYPE CauseLevel-SyncAdjustmntFailureTDD PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-CauseLevel-SyncAdjustmntFailureTDD ::= CHOICE {
- generalCause GeneralCauseList-SyncAdjustmntFailureTDD,
- cellSpecificCause CellSpecificCauseList-SyncAdjustmntFailureTDD,
- ...
-}
-
-GeneralCauseList-SyncAdjustmntFailureTDD::= SEQUENCE {
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { GeneralCauseList-SyncAdjustmntFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeneralCauseList-SyncAdjustmntFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSpecificCauseList-SyncAdjustmntFailureTDD ::= SEQUENCE {
- unsuccessful-cell-InformationRespList-SyncAdjustmntFailureTDD Unsuccessful-cell-InformationRespList-SyncAdjustmntFailureTDD,
- iE-Extensions ProtocolExtensionContainer { { CellSpecificCauseList-SyncAdjustmntFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSpecificCauseList-SyncAdjustmntFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Unsuccessful-cell-InformationRespList-SyncAdjustmntFailureTDD ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF ProtocolIE-Single-Container {{ Unsuccessful-cell-InformationRespItemIE-SyncAdjustmntFailureTDD }}
-
-Unsuccessful-cell-InformationRespItemIE-SyncAdjustmntFailureTDD NBAP-PROTOCOL-IES ::= {
- { ID id-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD CRITICALITY ignore TYPE Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD PRESENCE mandatory},
- ...
-}
-
-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD::= SEQUENCE {
- c-ID C-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-Unsuccessful-cell-InformationRespItem-SyncAdjustmntFailureTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION TERMINATION REQUEST TDD
---
--- **************************************************************
-
-CellSynchronisationTerminationRequestTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationTerminationRequestTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationTerminationRequestTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationTerminationRequestTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationTerminationRequestTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory }|
- { ID id-CSBTransmissionID CRITICALITY ignore TYPE CSBTransmissionID PRESENCE optional }|
- { ID id-CSBMeasurementID CRITICALITY ignore TYPE CSBMeasurementID PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION FAILURE INDICATION TDD
---
--- **************************************************************
-
-CellSynchronisationFailureIndicationTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationFailureIndicationTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationFailureIndicationTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationFailureIndicationTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationFailureIndicationTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory }|
- { ID id-CSBTransmissionID CRITICALITY ignore TYPE CSBTransmissionID PRESENCE optional }|
- { ID id-CSBMeasurementID CRITICALITY ignore TYPE CSBMeasurementID PRESENCE optional }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- CELL SYNCHRONISATION REPORT TDD
---
--- **************************************************************
-
-CellSynchronisationReportTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{CellSynchronisationReportTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{CellSynchronisationReportTDD-Extensions}} OPTIONAL,
- ...
-}
-
-CellSynchronisationReportTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSynchronisationReportTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CellSyncInfo-CellSyncReprtTDD CRITICALITY ignore TYPE CellSyncInfo-CellSyncReprtTDD PRESENCE mandatory },
- ...
-}
-
-
-CellSyncInfo-CellSyncReprtTDD ::= SEQUENCE (SIZE (1..maxCellinNodeB)) OF CellSyncInfoItemIE-CellSyncReprtTDD
-
-CellSyncInfoItemIE-CellSyncReprtTDD ::= SEQUENCE {
- c-ID-CellSyncReprtTDD C-ID-IE-CellSyncReprtTDD,
- syncReportType-CellSyncReprtTDD SyncReportTypeIE-CellSyncReprtTDD OPTIONAL,
- ...
-}
-
-C-ID-IE-CellSyncReprtTDD ::= ProtocolIE-Single-Container {{ C-ID-IEs-CellSyncReprtTDD }}
-
-C-ID-IEs-CellSyncReprtTDD NBAP-PROTOCOL-IES ::= {
- { ID id-C-ID CRITICALITY ignore TYPE C-ID PRESENCE mandatory}
-}
-
-SyncReportTypeIE-CellSyncReprtTDD::= ProtocolIE-Single-Container {{ SyncReportTypeIEs-CellSyncReprtTDD }}
-
-SyncReportTypeIEs-CellSyncReprtTDD NBAP-PROTOCOL-IES ::= {
- { ID id-SyncReportType-CellSyncReprtTDD CRITICALITY ignore TYPE SyncReportType-CellSyncReprtTDD PRESENCE mandatory}
-}
-
-
-SyncReportType-CellSyncReprtTDD ::= CHOICE {
- intStdPhSyncInfo-CellSyncReprtTDD IntStdPhCellSyncInfo-CellSyncReprtTDD,
- lateEntrantCell NULL,
- frequencyAcquisition NULL,
- ...
-}
-
-IntStdPhCellSyncInfo-CellSyncReprtTDD ::= SEQUENCE {
- cellSyncBurstMeasuredInfo CellSyncBurstMeasInfoList-CellSyncReprtTDD,
- iE-Extensions ProtocolExtensionContainer { { IntStdPhCellSyncInfoList-CellSyncReprtTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-IntStdPhCellSyncInfoList-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- { ID id-AccumulatedClockupdate-CellSyncReprtTDD CRITICALITY ignore EXTENSION TimingAdjustmentValue PRESENCE optional }|
- { ID id-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD CRITICALITY ignore EXTENSION SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD PRESENCE optional }, -- Mandatory for 1.28Mcps TDD. Not Applicable to 3.84Mcps TDD.
- ...
-}
-
-CellSyncBurstMeasInfoList-CellSyncReprtTDD ::= SEQUENCE (SIZE (0.. maxNrOfCellSyncBursts)) OF CellSyncBurstMeasInfoItem-CellSyncReprtTDD -- Mandatory for 3.84Mcps TDD. Not Applicable to 1.28Mcps TDD.
-
-CellSyncBurstMeasInfoItem-CellSyncReprtTDD ::= SEQUENCE {
- sFN SFN,
- cellSyncBurstInfo-CellSyncReprtTDD SEQUENCE (SIZE (1..maxNrOfReceptsPerSyncFrame)) OF CellSyncBurstInfo-CellSyncReprtTDD,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstMeasInfoItem-CellSyncReprtTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstMeasInfoItem-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellSyncBurstInfo-CellSyncReprtTDD ::= CHOICE {
- cellSyncBurstAvailable CellSyncBurstAvailable-CellSyncReprtTDD,
- cellSyncBurstNotAvailable NULL,
- ...
-}
-
-CellSyncBurstAvailable-CellSyncReprtTDD ::= SEQUENCE {
- cellSyncBurstTiming CellSyncBurstTiming,
- cellSyncBurstSIR CellSyncBurstSIR,
- iE-Extensions ProtocolExtensionContainer { { CellSyncBurstAvailable-CellSyncReprtTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-CellSyncBurstAvailable-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SyncDLCodeIdsMeasInfoList-CellSyncReprtTDD ::= SEQUENCE (SIZE (0..maxNrOfSyncFramesLCR)) OF SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD
--- Mandatory for 1.28Mcps TDD. Not Applicable to 3.84Mcps TDD.
-
-SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD ::= SEQUENCE {
- sFN SFN,
- syncDLCodeIdInfo-CellSyncReprtTDD SyncDLCodeIdInfo-CellSyncReprtTDD,
- iE-Extensions ProtocolExtensionContainer { { SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-SyncDLCodeIdsMeasInfoItem-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SyncDLCodeIdInfo-CellSyncReprtTDD ::= SEQUENCE (SIZE (1..maxNrOfReceptionsperSyncFrameLCR)) OF SyncDLCodeIdItem-CellSyncReprtTDD
-
-SyncDLCodeIdItem-CellSyncReprtTDD ::= CHOICE {
- syncDLCodeIdAvailable SyncDLCodeIdAvailable-CellSyncReprtTDD,
- syncDLCodeIDNotAvailable NULL,
- ...
-}
-
-SyncDLCodeIdAvailable-CellSyncReprtTDD ::= SEQUENCE {
- syncDLCodeIdTiming CellSyncBurstTimingLCR,
- syncDLCodeIdSIR CellSyncBurstSIR,
- iE-Extensions ProtocolExtensionContainer { { SyncDLCodeIdAvailable-CellSyncReprtTDD-ExtIEs } } OPTIONAL,
- ...
-}
-
-SyncDLCodeIdAvailable-CellSyncReprtTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- BEARER REARRANGEMENT INDICATION
---
--- **************************************************************
-
-BearerRearrangementIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{BearerRearrangementIndication-IEs}},
- protocolExtensions ProtocolExtensionContainer {{BearerRearrangementIndication-Extensions}} OPTIONAL,
- ...
-}
-
-BearerRearrangementIndication-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-SignallingBearerRequestIndicator CRITICALITY ignore TYPE SignallingBearerRequestIndicator PRESENCE optional } |
- { ID id-DCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE DCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional } |
- { ID id-DSCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE DSCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional } |
- { ID id-USCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE USCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional } |
--- TDD only.
- { ID id-TFCI2BearerRequestIndicator CRITICALITY ignore TYPE TFCI2BearerRequestIndicator PRESENCE optional }|
- -- FDD only.
- { ID id-HSDSCH-RearrangeList-Bearer-RearrangeInd CRITICALITY ignore TYPE HSDSCH-RearrangeList-Bearer-RearrangeInd PRESENCE optional },
- ...
-}
-
-BearerRearrangementIndication-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfDCHs)) OF DCH-RearrangeItem-Bearer-RearrangeInd
-
-DCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
- dCH-ID DCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-DCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DSCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfDSCHs)) OF DSCH-RearrangeItem-Bearer-RearrangeInd
-
-DSCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
- dSCH-ID DSCH-ID,
- iE-Extensions ProtocolExtensionContainer { { DSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-DSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-USCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfUSCHs)) OF USCH-RearrangeItem-Bearer-RearrangeInd
-
-USCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
- uSCH-ID USCH-ID,
- iE-Extensions ProtocolExtensionContainer { { USCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-USCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HSDSCH-RearrangeList-Bearer-RearrangeInd ::= SEQUENCE (SIZE (1..maxNrOfMACdFlows)) OF HSDSCH-RearrangeItem-Bearer-RearrangeInd
-
-HSDSCH-RearrangeItem-Bearer-RearrangeInd ::= SEQUENCE {
- hsDSCH-MACdFlow-ID HSDSCH-MACdFlow-ID,
- iE-Extensions ProtocolExtensionContainer { { HSDSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs} } OPTIONAL,
- ...
-}
-
-HSDSCH-RearrangeItem-Bearer-RearrangeInd-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ACTIVATION COMMAND FDD
---
--- **************************************************************
-
-RadioLinkActivationCommandFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkActivationCommandFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkActivationCommandFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkActivationCommandFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-DelayedActivationList-RL-ActivationCmdFDD CRITICALITY ignore TYPE DelayedActivationInformationList-RL-ActivationCmdFDD PRESENCE mandatory },
- ...
-}
-
-RadioLinkActivationCommandFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DelayedActivationInformationList-RL-ActivationCmdFDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {
- { DelayedActivationInformation-RL-ActivationCmdFDD-IEs} }
-
-DelayedActivationInformation-RL-ActivationCmdFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-DelayedActivationInformation-RL-ActivationCmdFDD CRITICALITY ignore TYPE DelayedActivationInformation-RL-ActivationCmdFDD PRESENCE optional }
-}
-
-DelayedActivationInformation-RL-ActivationCmdFDD ::= SEQUENCE {
- rL-ID RL-ID,
- delayed-activation-update DelayedActivationUpdate,
- iE-Extensions ProtocolExtensionContainer { { DelayedActivationInformation-RL-ActivationCmdFDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DelayedActivationInformation-RL-ActivationCmdFDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK ACTIVATION COMMAND TDD
---
--- **************************************************************
-
-RadioLinkActivationCommandTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkActivationCommandTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkActivationCommandTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkActivationCommandTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-NodeB-CommunicationContextID CRITICALITY ignore TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
- { ID id-DelayedActivationList-RL-ActivationCmdTDD CRITICALITY ignore TYPE DelayedActivationInformationList-RL-ActivationCmdTDD PRESENCE mandatory },
- ...
-}
-
-RadioLinkActivationCommandTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DelayedActivationInformationList-RL-ActivationCmdTDD ::= SEQUENCE (SIZE (1..maxNrOfRLs)) OF ProtocolIE-Single-Container {
- { DelayedActivationInformation-RL-ActivationCmdTDD-IEs} }
-
-DelayedActivationInformation-RL-ActivationCmdTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-DelayedActivationInformation-RL-ActivationCmdTDD CRITICALITY ignore TYPE DelayedActivationInformation-RL-ActivationCmdTDD PRESENCE optional }
-}
-
-DelayedActivationInformation-RL-ActivationCmdTDD ::= SEQUENCE {
- rL-ID RL-ID,
- delayed-activation-update DelayedActivationUpdate,
- iE-Extensions ProtocolExtensionContainer { { DelayedActivationInformation-RL-ActivationCmdTDD-ExtIEs} } OPTIONAL,
- ...
-}
-
-DelayedActivationInformation-RL-ActivationCmdTDD-ExtIEs NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK PARAMETER UPDATE INDICATION FDD
---
--- **************************************************************
-
-RadioLinkParameterUpdateIndicationFDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkParameterUpdateIndicationFDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkParameterUpdateIndicationFDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkParameterUpdateIndicationFDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-HSDSCH-FDD-Update-Information CRITICALITY ignore TYPE HSDSCH-FDD-Update-Information PRESENCE optional },
- ...
-}
-
-RadioLinkParameterUpdateIndicationFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RADIO LINK PARAMETER UPDATE INDICATION TDD
---
--- **************************************************************
-
-RadioLinkParameterUpdateIndicationTDD ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{RadioLinkParameterUpdateIndicationTDD-IEs}},
- protocolExtensions ProtocolExtensionContainer {{RadioLinkParameterUpdateIndicationTDD-Extensions}} OPTIONAL,
- ...
-}
-
-RadioLinkParameterUpdateIndicationTDD-IEs NBAP-PROTOCOL-IES ::= {
- { ID id-CRNC-CommunicationContextID CRITICALITY ignore TYPE CRNC-CommunicationContextID PRESENCE mandatory } |
- { ID id-HSDSCH-TDD-Update-Information CRITICALITY ignore TYPE HSDSCH-TDD-Update-Information PRESENCE optional },
- ...
-}
-
-RadioLinkParameterUpdateIndicationTDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-PDU-Discriptions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-PDU-Discriptions.asn
deleted file mode 100755
index b9be9934e4..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/nbapsystem/NBAP-PDU-Discriptions.asn
+++ /dev/null
@@ -1,916 +0,0 @@
--- **************************************************************
---
--- Elementary Procedure definitions
---
--- **************************************************************
-
-NBAP-PDU-Discriptions {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) nbap (2) version1 (1) nbap-PDU-Descriptions (0) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- ProcedureID,
- MessageDiscriminator,
- TransactionID
-FROM NBAP-CommonDataTypes
-
- CommonTransportChannelSetupRequestFDD,
- CommonTransportChannelSetupRequestTDD,
- CommonTransportChannelSetupResponse,
- CommonTransportChannelSetupFailure,
- CommonTransportChannelReconfigurationRequestFDD,
- CommonTransportChannelReconfigurationRequestTDD,
- CommonTransportChannelReconfigurationResponse,
- CommonTransportChannelReconfigurationFailure,
- CommonTransportChannelDeletionRequest,
- CommonTransportChannelDeletionResponse,
- BlockResourceRequest,
- BlockResourceResponse,
- BlockResourceFailure,
- UnblockResourceIndication,
- AuditFailure,
- AuditRequiredIndication,
- AuditRequest,
- AuditResponse,
- CommonMeasurementInitiationRequest,
- CommonMeasurementInitiationResponse,
- CommonMeasurementInitiationFailure,
- CommonMeasurementReport,
- CommonMeasurementTerminationRequest,
- CommonMeasurementFailureIndication,
- CellSetupRequestFDD,
- CellSetupRequestTDD,
- CellSetupResponse,
- CellSetupFailure,
- CellReconfigurationRequestFDD,
- CellReconfigurationRequestTDD,
- CellReconfigurationResponse,
- CellReconfigurationFailure,
- CellDeletionRequest,
- CellDeletionResponse,
- InformationExchangeInitiationRequest,
- InformationExchangeInitiationResponse,
- InformationExchangeInitiationFailure,
- InformationReport,
- InformationExchangeTerminationRequest,
- InformationExchangeFailureIndication,
- BearerRearrangementIndication,
- ResourceStatusIndication,
- SystemInformationUpdateRequest,
- SystemInformationUpdateResponse,
- SystemInformationUpdateFailure,
- ResetRequest,
- ResetResponse,
- RadioLinkActivationCommandFDD,
- RadioLinkActivationCommandTDD,
- RadioLinkPreemptionRequiredIndication,
- RadioLinkSetupRequestFDD,
- RadioLinkSetupRequestTDD,
- RadioLinkSetupResponseFDD,
- RadioLinkSetupResponseTDD,
- RadioLinkSetupFailureFDD,
- RadioLinkSetupFailureTDD,
- RadioLinkAdditionRequestFDD,
- RadioLinkAdditionRequestTDD,
- RadioLinkAdditionResponseFDD,
- RadioLinkAdditionResponseTDD,
- RadioLinkAdditionFailureFDD,
- RadioLinkAdditionFailureTDD,
- RadioLinkParameterUpdateIndicationFDD,
- RadioLinkParameterUpdateIndicationTDD,
- RadioLinkReconfigurationPrepareFDD,
- RadioLinkReconfigurationPrepareTDD,
- RadioLinkReconfigurationReady,
- RadioLinkReconfigurationFailure,
- RadioLinkReconfigurationCommit,
- RadioLinkReconfigurationCancel,
- RadioLinkReconfigurationRequestFDD,
- RadioLinkReconfigurationRequestTDD,
- RadioLinkReconfigurationResponse,
- RadioLinkDeletionRequest,
- RadioLinkDeletionResponse,
- DL-PowerControlRequest,
- DL-PowerTimeslotControlRequest,
- DedicatedMeasurementInitiationRequest,
- DedicatedMeasurementInitiationResponse,
- DedicatedMeasurementInitiationFailure,
- DedicatedMeasurementReport,
- DedicatedMeasurementTerminationRequest,
- DedicatedMeasurementFailureIndication,
- RadioLinkFailureIndication,
- RadioLinkRestoreIndication,
- CompressedModeCommand,
- ErrorIndication,
- PrivateMessage,
- PhysicalSharedChannelReconfigurationRequestTDD,
- PhysicalSharedChannelReconfigurationRequestFDD,
- PhysicalSharedChannelReconfigurationResponse,
- PhysicalSharedChannelReconfigurationFailure,
- CellSynchronisationInitiationRequestTDD,
- CellSynchronisationInitiationResponseTDD,
- CellSynchronisationInitiationFailureTDD,
- CellSynchronisationReconfigurationRequestTDD,
- CellSynchronisationReconfigurationResponseTDD,
- CellSynchronisationReconfigurationFailureTDD,
- CellSynchronisationAdjustmentRequestTDD,
- CellSynchronisationAdjustmentResponseTDD,
- CellSynchronisationAdjustmentFailureTDD,
- CellSynchronisationReportTDD,
- CellSynchronisationTerminationRequestTDD,
- CellSynchronisationFailureIndicationTDD
-FROM NBAP-PDU-Contents
-
- id-audit,
- id-auditRequired,
- id-blockResource,
- id-cellDeletion,
- id-cellReconfiguration,
- id-cellSetup,
- id-cellSynchronisationInitiation,
- id-cellSynchronisationReconfiguration,
- id-cellSynchronisationReporting,
- id-cellSynchronisationTermination,
- id-cellSynchronisationFailure,
- id-commonMeasurementFailure,
- id-commonMeasurementInitiation,
- id-commonMeasurementReport,
- id-commonMeasurementTermination,
- id-commonTransportChannelDelete,
- id-commonTransportChannelReconfigure,
- id-commonTransportChannelSetup,
- id-compressedModeCommand,
- id-dedicatedMeasurementFailure,
- id-dedicatedMeasurementInitiation,
- id-dedicatedMeasurementReport,
- id-dedicatedMeasurementTermination,
- id-downlinkPowerControl,
- id-downlinkPowerTimeslotControl,
- id-errorIndicationForDedicated,
- id-errorIndicationForCommon,
- id-informationExchangeFailure,
- id-informationExchangeInitiation,
- id-informationReporting,
- id-informationExchangeTermination,
- id-BearerRearrangement,
- id-physicalSharedChannelReconfiguration,
- id-privateMessageForDedicated,
- id-privateMessageForCommon,
- id-radioLinkActivation,
- id-radioLinkAddition,
- id-radioLinkDeletion,
- id-radioLinkFailure,
- id-radioLinkParameterUpdate,
- id-radioLinkPreemption,
- id-radioLinkRestoration,
- id-radioLinkSetup,
- id-reset,
- id-resourceStatusIndication,
- id-cellSynchronisationAdjustment,
- id-synchronisedRadioLinkReconfigurationCancellation,
- id-synchronisedRadioLinkReconfigurationCommit,
- id-synchronisedRadioLinkReconfigurationPreparation,
- id-systemInformationUpdate,
- id-unblockResource,
- id-unSynchronisedRadioLinkReconfiguration
-FROM NBAP-Constants;
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-NBAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &Outcome OPTIONAL,
- &messageDiscriminator MessageDiscriminator,
- &procedureID ProcedureID UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- MESSAGE DISCRIMINATOR &messageDiscriminator
- PROCEDURE ID &procedureID
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-NBAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- succesfulOutcome SuccessfulOutcome,
- unsuccesfulOutcome UnsuccessfulOutcome,
- outcome Outcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
- criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- transactionID TransactionID,
- value NBAP-ELEMENTARY-PROCEDURE.&InitiatingMessage({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
- criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- transactionID TransactionID,
- value NBAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
- criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- transactionID TransactionID,
- value NBAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
-}
-
-Outcome ::= SEQUENCE {
- procedureID NBAP-ELEMENTARY-PROCEDURE.&procedureID ({NBAP-ELEMENTARY-PROCEDURES}),
- criticality NBAP-ELEMENTARY-PROCEDURE.&criticality ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- messageDiscriminator NBAP-ELEMENTARY-PROCEDURE.&messageDiscriminator({NBAP-ELEMENTARY-PROCEDURES}{@procedureID}),
- transactionID TransactionID,
- value NBAP-ELEMENTARY-PROCEDURE.&Outcome ({NBAP-ELEMENTARY-PROCEDURES}{@procedureID})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-NBAP-ELEMENTARY-PROCEDURES NBAP-ELEMENTARY-PROCEDURE ::= {
- NBAP-ELEMENTARY-PROCEDURES-CLASS-1 |
- NBAP-ELEMENTARY-PROCEDURES-CLASS-2 ,
- ...
-}
-
-NBAP-ELEMENTARY-PROCEDURES-CLASS-1 NBAP-ELEMENTARY-PROCEDURE ::= {
- cellSetupFDD |
- cellSetupTDD |
- cellReconfigurationFDD |
- cellReconfigurationTDD |
- cellDeletion |
- commonTransportChannelSetupFDD |
- commonTransportChannelSetupTDD |
- commonTransportChannelReconfigureFDD |
- commonTransportChannelReconfigureTDD |
- commonTransportChannelDelete |
- audit |
- blockResource |
- radioLinkSetupFDD |
- radioLinkSetupTDD |
- systemInformationUpdate |
- commonMeasurementInitiation |
- radioLinkAdditionFDD |
- radioLinkAdditionTDD |
- radioLinkDeletion |
- reset |
- synchronisedRadioLinkReconfigurationPreparationFDD |
- synchronisedRadioLinkReconfigurationPreparationTDD |
- unSynchronisedRadioLinkReconfigurationFDD |
- unSynchronisedRadioLinkReconfigurationTDD |
- dedicatedMeasurementInitiation |
- physicalSharedChannelReconfigurationTDD ,
- ...,
- informationExchangeInitiation |
- cellSynchronisationInitiationTDD |
- cellSynchronisationReconfigurationTDD |
- cellSynchronisationAdjustmentTDD |
- physicalSharedChannelReconfigurationFDD
-}
-
-NBAP-ELEMENTARY-PROCEDURES-CLASS-2 NBAP-ELEMENTARY-PROCEDURE ::= {
- resourceStatusIndication |
- auditRequired |
- commonMeasurementReport |
- commonMeasurementTermination |
- commonMeasurementFailure |
- synchronisedRadioLinkReconfigurationCommit |
- synchronisedRadioLinkReconfigurationCancellation |
- radioLinkFailure |
- radioLinkPreemption |
- radioLinkRestoration |
- dedicatedMeasurementReport |
- dedicatedMeasurementTermination |
- dedicatedMeasurementFailure |
- downlinkPowerControlFDD |
- downlinkPowerTimeslotControl |
- compressedModeCommand |
- unblockResource |
- errorIndicationForDedicated |
- errorIndicationForCommon |
- privateMessageForDedicated |
- privateMessageForCommon ,
- ...,
- informationReporting |
- informationExchangeTermination |
- informationExchangeFailure |
- cellSynchronisationReportingTDD |
- cellSynchronisationTerminationTDD |
- cellSynchronisationFailureTDD |
- bearerRearrangement |
- radioLinkActivationFDD |
- radioLinkActivationTDD |
- radioLinkParameterUpdateFDD |
- radioLinkParameterUpdateTDD
-}
-
--- **************************************************************
---
--- Interface Elementary Procedures
---
--- **************************************************************
-
--- Class 1
-
--- *** CellSetup (FDD) ***
-cellSetupFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSetupRequestFDD
- SUCCESSFUL OUTCOME CellSetupResponse
- UNSUCCESSFUL OUTCOME CellSetupFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSetup, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** CellSetup (TDD) ***
-cellSetupTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSetupRequestTDD
- SUCCESSFUL OUTCOME CellSetupResponse
- UNSUCCESSFUL OUTCOME CellSetupFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSetup, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CellReconfiguration(FDD) ***
-cellReconfigurationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellReconfigurationRequestFDD
- SUCCESSFUL OUTCOME CellReconfigurationResponse
- UNSUCCESSFUL OUTCOME CellReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellReconfiguration, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** CellReconfiguration(TDD) ***
-cellReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellReconfigurationRequestTDD
- SUCCESSFUL OUTCOME CellReconfigurationResponse
- UNSUCCESSFUL OUTCOME CellReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellReconfiguration, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CellDeletion ***
-cellDeletion NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellDeletionRequest
- SUCCESSFUL OUTCOME CellDeletionResponse
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellDeletion, ddMode common }
- CRITICALITY reject
-}
-
--- *** CommonTransportChannelSetup (FDD) ***
-commonTransportChannelSetupFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonTransportChannelSetupRequestFDD
- SUCCESSFUL OUTCOME CommonTransportChannelSetupResponse
- UNSUCCESSFUL OUTCOME CommonTransportChannelSetupFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonTransportChannelSetup, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** CommonTransportChannelSetup (TDD) ***
-commonTransportChannelSetupTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonTransportChannelSetupRequestTDD
- SUCCESSFUL OUTCOME CommonTransportChannelSetupResponse
- UNSUCCESSFUL OUTCOME CommonTransportChannelSetupFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonTransportChannelSetup, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CommonTransportChannelReconfigure (FDD) ***
-commonTransportChannelReconfigureFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonTransportChannelReconfigurationRequestFDD
- SUCCESSFUL OUTCOME CommonTransportChannelReconfigurationResponse
- UNSUCCESSFUL OUTCOME CommonTransportChannelReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonTransportChannelReconfigure, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** CommonTransportChannelReconfigure (TDD) ***
-commonTransportChannelReconfigureTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonTransportChannelReconfigurationRequestTDD
- SUCCESSFUL OUTCOME CommonTransportChannelReconfigurationResponse
- UNSUCCESSFUL OUTCOME CommonTransportChannelReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonTransportChannelReconfigure, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CommonTransportChannelDelete ***
-commonTransportChannelDelete NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonTransportChannelDeletionRequest
- SUCCESSFUL OUTCOME CommonTransportChannelDeletionResponse
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonTransportChannelDelete, ddMode common }
- CRITICALITY reject
-}
-
--- *** Audit ***
-audit NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE AuditRequest
- SUCCESSFUL OUTCOME AuditResponse
- UNSUCCESSFUL OUTCOME AuditFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-audit, ddMode common }
- CRITICALITY reject
-}
-
--- *** BlockResourceRequest ***
-blockResource NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE BlockResourceRequest
- SUCCESSFUL OUTCOME BlockResourceResponse
- UNSUCCESSFUL OUTCOME BlockResourceFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-blockResource, ddMode common }
- CRITICALITY reject
-}
-
--- *** RadioLinkSetup (FDD) ***
-radioLinkSetupFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkSetupRequestFDD
- SUCCESSFUL OUTCOME RadioLinkSetupResponseFDD
- UNSUCCESSFUL OUTCOME RadioLinkSetupFailureFDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-radioLinkSetup, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** RadioLinkSetup (TDD) ***
-radioLinkSetupTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkSetupRequestTDD
- SUCCESSFUL OUTCOME RadioLinkSetupResponseTDD
- UNSUCCESSFUL OUTCOME RadioLinkSetupFailureTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-radioLinkSetup, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** SystemInformationUpdate ***
-systemInformationUpdate NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SystemInformationUpdateRequest
- SUCCESSFUL OUTCOME SystemInformationUpdateResponse
- UNSUCCESSFUL OUTCOME SystemInformationUpdateFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-systemInformationUpdate, ddMode common }
- CRITICALITY reject
-}
-
--- *** Reset ***
-reset NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ResetRequest
- SUCCESSFUL OUTCOME ResetResponse
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-reset, ddMode common }
- CRITICALITY reject
-}
-
--- *** CommonMeasurementInitiation ***
-commonMeasurementInitiation NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonMeasurementInitiationRequest
- SUCCESSFUL OUTCOME CommonMeasurementInitiationResponse
- UNSUCCESSFUL OUTCOME CommonMeasurementInitiationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonMeasurementInitiation, ddMode common }
- CRITICALITY reject
-}
-
--- *** RadioLinkAddition (FDD) ***
-radioLinkAdditionFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkAdditionRequestFDD
- SUCCESSFUL OUTCOME RadioLinkAdditionResponseFDD
- UNSUCCESSFUL OUTCOME RadioLinkAdditionFailureFDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkAddition, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** RadioLinkAddition (TDD) ***
-radioLinkAdditionTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkAdditionRequestTDD
- SUCCESSFUL OUTCOME RadioLinkAdditionResponseTDD
- UNSUCCESSFUL OUTCOME RadioLinkAdditionFailureTDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkAddition, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** RadioLinkDeletion ***
-radioLinkDeletion NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkDeletionRequest
- SUCCESSFUL OUTCOME RadioLinkDeletionResponse
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkDeletion, ddMode common }
- CRITICALITY reject
-}
-
--- *** SynchronisedRadioLinkReconfigurationPreparation (FDD) ***
-synchronisedRadioLinkReconfigurationPreparationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationPrepareFDD
- SUCCESSFUL OUTCOME RadioLinkReconfigurationReady
- UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationPreparation, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** SynchronisedRadioLinkReconfigurationPreparation (TDD) ***
-synchronisedRadioLinkReconfigurationPreparationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationPrepareTDD
- SUCCESSFUL OUTCOME RadioLinkReconfigurationReady
- UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationPreparation, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** UnSynchronisedRadioLinkReconfiguration (FDD) ***
-unSynchronisedRadioLinkReconfigurationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationRequestFDD
- SUCCESSFUL OUTCOME RadioLinkReconfigurationResponse
- UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-unSynchronisedRadioLinkReconfiguration, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** UnSynchronisedRadioLinkReconfiguration (TDD) ***
-unSynchronisedRadioLinkReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationRequestTDD
- SUCCESSFUL OUTCOME RadioLinkReconfigurationResponse
- UNSUCCESSFUL OUTCOME RadioLinkReconfigurationFailure
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-unSynchronisedRadioLinkReconfiguration, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** DedicatedMeasurementInitiation ***
-dedicatedMeasurementInitiation NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DedicatedMeasurementInitiationRequest
- SUCCESSFUL OUTCOME DedicatedMeasurementInitiationResponse
- UNSUCCESSFUL OUTCOME DedicatedMeasurementInitiationFailure
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-dedicatedMeasurementInitiation, ddMode common }
- CRITICALITY reject
-}
-
--- *** PhysicalSharedChannelReconfiguration (FDD) ***
-physicalSharedChannelReconfigurationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PhysicalSharedChannelReconfigurationRequestFDD
- SUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationResponse
- UNSUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-physicalSharedChannelReconfiguration, ddMode fdd }
- CRITICALITY reject
-}
-
--- *** PhysicalSharedChannelReconfiguration (TDD) ***
-physicalSharedChannelReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PhysicalSharedChannelReconfigurationRequestTDD
- SUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationResponse
- UNSUCCESSFUL OUTCOME PhysicalSharedChannelReconfigurationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-physicalSharedChannelReconfiguration, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** InformationExchangeInitiation ***
-informationExchangeInitiation NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InformationExchangeInitiationRequest
- SUCCESSFUL OUTCOME InformationExchangeInitiationResponse
- UNSUCCESSFUL OUTCOME InformationExchangeInitiationFailure
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-informationExchangeInitiation, ddMode common }
- CRITICALITY reject
-}
-
--- *** CellSynchronisationInitiation (TDD only) ***
-cellSynchronisationInitiationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationInitiationRequestTDD
- SUCCESSFUL OUTCOME CellSynchronisationInitiationResponseTDD
- UNSUCCESSFUL OUTCOME CellSynchronisationInitiationFailureTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationInitiation, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CellSynchronisationReconfiguration (TDD only) ***
-cellSynchronisationReconfigurationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationReconfigurationRequestTDD
- SUCCESSFUL OUTCOME CellSynchronisationReconfigurationResponseTDD
- UNSUCCESSFUL OUTCOME CellSynchronisationReconfigurationFailureTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationReconfiguration, ddMode tdd }
- CRITICALITY reject
-}
-
--- *** CellSynchronisationAdjustment (TDD only) ***
-cellSynchronisationAdjustmentTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationAdjustmentRequestTDD
- SUCCESSFUL OUTCOME CellSynchronisationAdjustmentResponseTDD
- UNSUCCESSFUL OUTCOME CellSynchronisationAdjustmentFailureTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationAdjustment, ddMode tdd }
- CRITICALITY reject
-}
-
--- Class 2
-
--- *** ResourceStatusIndication ***
-resourceStatusIndication NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ResourceStatusIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-resourceStatusIndication, ddMode common }
- CRITICALITY ignore
-}
-
--- *** AuditRequired ***
-auditRequired NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE AuditRequiredIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-auditRequired, ddMode common }
- CRITICALITY ignore
-}
-
--- *** CommonMeasurementReport ***
-commonMeasurementReport NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonMeasurementReport
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonMeasurementReport, ddMode common }
- CRITICALITY ignore
-}
-
--- *** CommonMeasurementTermination ***
-commonMeasurementTermination NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonMeasurementTerminationRequest
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonMeasurementTermination, ddMode common }
- CRITICALITY ignore
-}
-
--- *** CommonMeasurementFailure ***
-commonMeasurementFailure NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonMeasurementFailureIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-commonMeasurementFailure, ddMode common }
- CRITICALITY ignore
-}
-
--- *** SynchronisedRadioLinkReconfigurationCommit ***
-synchronisedRadioLinkReconfigurationCommit NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationCommit
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationCommit, ddMode common }
- CRITICALITY ignore
-}
-
--- *** SynchronisedRadioReconfigurationCancellation ***
-synchronisedRadioLinkReconfigurationCancellation NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkReconfigurationCancel
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-synchronisedRadioLinkReconfigurationCancellation, ddMode common }
- CRITICALITY ignore
-}
-
--- *** RadioLinkFailure ***
-radioLinkFailure NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkFailureIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkFailure, ddMode common }
- CRITICALITY ignore
-}
-
--- *** RadioLinkPreemption ***
-radioLinkPreemption NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkPreemptionRequiredIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkPreemption, ddMode common }
- CRITICALITY ignore
-}
-
--- *** RadioLinkRestoration ***
-radioLinkRestoration NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkRestoreIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkRestoration, ddMode common }
- CRITICALITY ignore
-}
-
--- *** DedicatedMeasurementReport ***
-dedicatedMeasurementReport NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DedicatedMeasurementReport
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-dedicatedMeasurementReport, ddMode common }
- CRITICALITY ignore
-}
-
--- *** DedicatedMeasurementTermination ***
-dedicatedMeasurementTermination NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DedicatedMeasurementTerminationRequest
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-dedicatedMeasurementTermination, ddMode common }
- CRITICALITY ignore
-}
-
--- *** DedicatedMeasurementFailure ***
-dedicatedMeasurementFailure NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DedicatedMeasurementFailureIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-dedicatedMeasurementFailure, ddMode common }
- CRITICALITY ignore
-}
-
--- *** DLPowerControl (FDD only) ***
-downlinkPowerControlFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DL-PowerControlRequest
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-downlinkPowerControl, ddMode fdd }
- CRITICALITY ignore
-}
-
--- *** DLPowerTimeslotControl (TDD only) ***
-downlinkPowerTimeslotControl NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DL-PowerTimeslotControlRequest
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-downlinkPowerTimeslotControl, ddMode tdd }
- CRITICALITY ignore
-}
-
--- *** CompressedModeCommand (FDD only) ***
-compressedModeCommand NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CompressedModeCommand
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-compressedModeCommand, ddMode fdd }
- CRITICALITY ignore
-}
-
--- *** UnblockResourceIndication ***
-unblockResource NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UnblockResourceIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-unblockResource, ddMode common }
- CRITICALITY ignore
-}
-
--- *** ErrorIndication for Dedicated procedures ***
-errorIndicationForDedicated NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-errorIndicationForDedicated, ddMode common }
- CRITICALITY ignore
-}
-
--- *** ErrorIndication for Common procedures ***
-errorIndicationForCommon NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-errorIndicationForCommon, ddMode common }
- CRITICALITY ignore
-}
-
--- *** CellSynchronisationReporting (TDD only) ***
-cellSynchronisationReportingTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationReportTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationReporting, ddMode tdd }
- CRITICALITY ignore
-}
-
--- *** CellSynchronisationTermination (TDD only) ***
-cellSynchronisationTerminationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationTerminationRequestTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationTermination, ddMode tdd }
- CRITICALITY ignore
-}
-
--- *** CellSynchronisationFailure (TDD only) ***
-cellSynchronisationFailureTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CellSynchronisationFailureIndicationTDD
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-cellSynchronisationFailure, ddMode tdd }
- CRITICALITY ignore
-}
-
--- *** PrivateMessage for Dedicated procedures ***
-privateMessageForDedicated NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-privateMessageForDedicated, ddMode common }
- CRITICALITY ignore
-}
-
--- *** PrivateMessage for Common procedures ***
-privateMessageForCommon NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-privateMessageForCommon, ddMode common }
- CRITICALITY ignore
-}
-
--- *** InformationReporting ***
-informationReporting NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InformationReport
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-informationReporting, ddMode common }
- CRITICALITY ignore
-}
-
--- *** InformationExchangeTermination ***
-informationExchangeTermination NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InformationExchangeTerminationRequest
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-informationExchangeTermination, ddMode common }
- CRITICALITY ignore
-}
-
--- *** InformationExchangeFailure ***
-informationExchangeFailure NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InformationExchangeFailureIndication
- MESSAGE DISCRIMINATOR common
- PROCEDURE ID { procedureCode id-informationExchangeFailure, ddMode common }
- CRITICALITY ignore
-}
-
--- *** BearerRearrangement ***
-bearerRearrangement NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE BearerRearrangementIndication
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-BearerRearrangement, ddMode common }
- CRITICALITY ignore
-}
-
--- *** RadioLinkActivation (FDD) ***
-radioLinkActivationFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkActivationCommandFDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkActivation, ddMode fdd }
- CRITICALITY ignore
-}
-
--- *** RadioLinkActivation (TDD) ***
-radioLinkActivationTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkActivationCommandTDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkActivation, ddMode tdd }
- CRITICALITY ignore
-}
-
--- *** RadioLinkParameterUpdate (FDD) ***
-radioLinkParameterUpdateFDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkParameterUpdateIndicationFDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkParameterUpdate, ddMode fdd }
- CRITICALITY ignore
-}
-
--- *** RadioLinkParameterUpdate (TDD) ***
-radioLinkParameterUpdateTDD NBAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RadioLinkParameterUpdateIndicationTDD
- MESSAGE DISCRIMINATOR dedicated
- PROCEDURE ID { procedureCode id-radioLinkParameterUpdate, ddMode tdd }
- CRITICALITY ignore
-}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/p_record.asn1config b/lib/asn1/test/asn1_bin_v2_SUITE_data/p_record.asn1config
deleted file mode 100644
index a8eb00d43d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/p_record.asn1config
+++ /dev/null
@@ -1 +0,0 @@
-{selective_decode,{'p_record',[{sel_dec,['PersonnelRecord',title]}]}}.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/p_record.set.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/p_record.set.asn
deleted file mode 100644
index 24d502d067..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/p_record.set.asn
+++ /dev/null
@@ -1 +0,0 @@
-P-Record.py
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/subdir/MySO.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/subdir/MySO.asn
deleted file mode 100644
index 4c649da4c4..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/subdir/MySO.asn
+++ /dev/null
@@ -1,14 +0,0 @@
-MySO DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- T
- FROM IMP;
-
-
-Seq2 ::= SEQUENCE {
- a T,
- b INTEGER}
-
-END \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/DialoguePDUs.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/DialoguePDUs.asn
deleted file mode 100644
index 541dc55f6b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/DialoguePDUs.asn
+++ /dev/null
@@ -1,80 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
--- Module DialoguePDUs (Q.773:06/1997)
-DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2) version1(1)}
-DEFINITIONS ::=
-BEGIN
-
-EXPORTS dialogue-as-id, DialoguePDU;
-
--- abstract syntax name for structured dialogue APDUs
-dialogue-as-id OBJECT IDENTIFIER ::=
- {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)}
-
-DialoguePDU ::= CHOICE {
- dialogueRequest AARQ-apdu,
- dialogueResponse AARE-apdu,
- dialogueAbort ABRT-apdu
-}
-
-AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
- protocol-version
- [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
- application-context-name [1] OBJECT IDENTIFIER,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- protocol-version
- [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
- application-context-name [1] OBJECT IDENTIFIER,
- result [2] Associate-result,
- result-source-diagnostic [3] Associate-source-diagnostic,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
--- RLRQ PDU is currently not used.
--- It is included for completeness only.
-RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE {
- reason [0] IMPLICIT Release-request-reason OPTIONAL,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
--- RLRE PDU is currently not used.
--- It is included for completeness only
-RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE {
- reason [0] IMPLICIT Release-response-reason OPTIONAL,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE {
- abort-source [0] IMPLICIT ABRT-source,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-ABRT-source ::= INTEGER {dialogue-service-user(0), dialogue-service-provider(1)
-}
-
-Associate-result ::= INTEGER {accepted(0), reject-permanent(1)}
-
-Associate-source-diagnostic ::= CHOICE {
- dialogue-service-user
- [1] INTEGER {null(0), no-reason-given(1),
- application-context-name-not-supported(2)},
- dialogue-service-provider
- [2] INTEGER {null(0), no-reason-given(1), no-common-dialogue-portion(2)}
-}
-
--- Release-request-reason is currently not used.
--- It is included for completeness only.
-Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30)
-}
-
--- Release-response-reason is currently not used.
--- It is included for completeness only.
-Release-response-reason ::= INTEGER {
- normal(0), not-finished(1), user-defined(30)}
-
-END -- DialoguePDUs
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ApplicationContexts.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ApplicationContexts.asn
deleted file mode 100644
index 26367c8f39..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ApplicationContexts.asn
+++ /dev/null
@@ -1,186 +0,0 @@
-MAP-ApplicationContexts {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ApplicationContexts (2) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-
--- EXPORTS everything
-
-
-IMPORTS
- gsm-NetworkId,
- ac-Id
-FROM MobileDomainDefinitions {
- itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
- mobileDomainDefinitions (0) version1 (1)}
-;
-
--- application-context-names
-
-map-ac OBJECT IDENTIFIER ::= {gsm-NetworkId ac-Id}
-
-networkLocUpContext-v3 OBJECT IDENTIFIER ::=
- {map-ac networkLocUp(1) version3(3)}
-
-locationCancellationContext-v3 OBJECT IDENTIFIER ::=
- {map-ac locationCancel(2) version3(3)}
-
-roamingNumberEnquiryContext-v3 OBJECT IDENTIFIER ::=
- {map-ac roamingNbEnquiry(3) version3(3)}
-
-authenticationFailureReportContext-v3 OBJECT IDENTIFIER ::=
- {map-ac authenticationFailureReport(39) version3(3)}
-
-locationInfoRetrievalContext-v3 OBJECT IDENTIFIER ::=
- {map-ac locInfoRetrieval(5) version3(3)}
-
-resetContext-v2 OBJECT IDENTIFIER ::=
- {map-ac reset(10) version2(2)}
-
-handoverControlContext-v3 OBJECT IDENTIFIER ::=
- {map-ac handoverControl(11) version3(3)}
-
-equipmentMngtContext-v3 OBJECT IDENTIFIER ::=
- {map-ac equipmentMngt(13) version3(3)}
-
-infoRetrievalContext-v3 OBJECT IDENTIFIER ::=
- {map-ac infoRetrieval(14) version3(3)}
-
-interVlrInfoRetrievalContext-v3 OBJECT IDENTIFIER ::=
- {map-ac interVlrInfoRetrieval(15) version3(3)}
-
-subscriberDataMngtContext-v3 OBJECT IDENTIFIER ::=
- {map-ac subscriberDataMngt(16) version3(3)}
-
-tracingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac tracing(17) version3(3)}
-
-networkFunctionalSsContext-v2 OBJECT IDENTIFIER ::=
- {map-ac networkFunctionalSs(18) version2(2)}
-
-networkUnstructuredSsContext-v2 OBJECT IDENTIFIER ::=
- {map-ac networkUnstructuredSs(19) version2(2)}
-
-shortMsgGatewayContext-v3 OBJECT IDENTIFIER ::=
- {map-ac shortMsgGateway(20) version3(3)}
-
-shortMsgMO-RelayContext-v3 OBJECT IDENTIFIER ::=
- {map-ac shortMsgMO-Relay(21) version3(3)}
-
-shortMsgAlertContext-v2 OBJECT IDENTIFIER ::=
- {map-ac shortMsgAlert(23) version2(2)}
-
-mwdMngtContext-v3 OBJECT IDENTIFIER ::=
- {map-ac mwdMngt(24) version3(3)}
-
-shortMsgMT-RelayContext-v3 OBJECT IDENTIFIER ::=
- {map-ac shortMsgMT-Relay(25) version3(3)}
-
-imsiRetrievalContext-v2 OBJECT IDENTIFIER ::=
- {map-ac imsiRetrieval(26) version2(2)}
-
-msPurgingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac msPurging(27) version3(3)}
-
-subscriberInfoEnquiryContext-v3 OBJECT IDENTIFIER ::=
- {map-ac subscriberInfoEnquiry(28) version3(3)}
-
-anyTimeInfoEnquiryContext-v3 OBJECT IDENTIFIER ::=
- {map-ac anyTimeInfoEnquiry(29) version3(3)}
-
-callControlTransferContext-v4 OBJECT IDENTIFIER ::=
- {map-ac callControlTransfer(6) version4(4)}
-
-ss-InvocationNotificationContext-v3 OBJECT IDENTIFIER ::=
- {map-ac ss-InvocationNotification(36) version3(3)}
-
-groupCallControlContext-v3 OBJECT IDENTIFIER ::=
- {map-ac groupCallControl(31) version3(3)}
-
-gprsLocationUpdateContext-v3 OBJECT IDENTIFIER ::=
- {map-ac gprsLocationUpdate(32) version3(3)}
-
-gprsLocationInfoRetrievalContext-v4 OBJECT IDENTIFIER ::=
- {map-ac gprsLocationInfoRetrieval(33) version4(4)}
-
-failureReportContext-v3 OBJECT IDENTIFIER ::=
- {map-ac failureReport(34) version3(3)}
-
-gprsNotifyContext-v3 OBJECT IDENTIFIER ::=
- {map-ac gprsNotify(35) version3(3)}
-
-reportingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac reporting(7) version3(3)}
-
-callCompletionContext-v3 OBJECT IDENTIFIER ::=
- {map-ac callCompletion(8) version3(3)}
-
-istAlertingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac istAlerting(4) version3(3)}
-
-serviceTerminationContext-v3 OBJECT IDENTIFIER ::=
- {map-ac immediateTermination(9) version3(3)}
-
-locationSvcGatewayContext-v3 OBJECT IDENTIFIER ::=
- {map-ac locationSvcGateway(37) version3(3)}
-
-locationSvcEnquiryContext-v3 OBJECT IDENTIFIER ::=
- {map-ac locationSvcEnquiry(38) version3(3)}
-
-mm-EventReportingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac mm-EventReporting(42) version3(3)}
-
-anyTimeInfoHandlingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac anyTimeInfoHandling(43) version3(3)}
-
-subscriberDataModificationNotificationContext-v3 OBJECT IDENTIFIER ::=
- {map-ac subscriberDataModificationNotification(22) version3(3)}
-
-secureTransportHandlingContext-v3 OBJECT IDENTIFIER ::=
- {map-ac secureTransportHandling(40) version3(3)}
-
--- The following Object Identifiers are reserved for application-contexts
--- existing in previous versions of the protocol
-
--- AC Name & Version Object Identifier
---
--- networkLocUpContext-v1 map-ac networkLocUp (1) version1 (1)
--- networkLocUpContext-v2 map-ac networkLocUp (1) version2 (2)
--- locationCancellationContext-v1 map-ac locationCancellation (2) version1 (1)
--- locationCancellationContext-v2 map-ac locationCancellation (2) version2 (2)
--- roamingNumberEnquiryContext-v1 map-ac roamingNumberEnquiry (3) version1 (1)
--- roamingNumberEnquiryContext-v2 map-ac roamingNumberEnquiry (3) version2 (2)
--- locationInfoRetrievalContext-v1 map-ac locationInfoRetrieval (5) version1 (1)
--- locationInfoRetrievalContext-v2 map-ac locationInfoRetrieval (5) version2 (2)
--- resetContext-v1 map-ac reset (10) version1 (1)
--- handoverControlContext-v1 map-ac handoverControl (11) version1 (1)
--- handoverControlContext-v2 map-ac handoverControl (11) version2 (2)
--- sIWFSAllocationContext-v3 map-ac sIWFSAllocation (12) version3 (3)
--- equipmentMngtContext-v1 map-ac equipmentMngt (13) version1 (1)
--- equipmentMngtContext-v2 map-ac equipmentMngt (13) version2 (2)
--- infoRetrievalContext-v1 map-ac infoRetrieval (14) version1 (1)
--- infoRetrievalContext-v2 map-ac infoRetrieval (14) version2 (2)
--- interVlrInfoRetrievalContext-v2 map-ac interVlrInfoRetrieval (15) version2 (2)
--- subscriberDataMngtContext-v1 map-ac subscriberDataMngt (16) version1 (1)
--- subscriberDataMngtContext-v2 map-ac subscriberDataMngt (16) version2 (2)
--- tracingContext-v1 map-ac tracing (17) version1 (1)
--- tracingContext-v2 map-ac tracing (17) version2 (2)
--- networkFunctionalSsContext-v1 map-ac networkFunctionalSs (18) version1 (1)
--- shortMsgGatewayContext-v1 map-ac shortMsgGateway (20) version1 (1)
--- shortMsgGatewayContext-v2 map-ac shortMsgGateway (20) version2 (2)
--- shortMsgRelayContext-v1 map-ac shortMsgRelay (21) version1 (1)
--- shortMsgAlertContext-v1 map-ac shortMsgAlert (23) version1 (1)
--- mwdMngtContext-v1 map-ac mwdMngt (24) version1 (1)
--- mwdMngtContext-v2 map-ac mwdMngt (24) version2 (2)
--- shortMsgMT-RelayContext-v2 map-ac shortMsgMT-Relay (25) version2 (2)
--- msPurgingContext-v2 map-ac msPurging (27) version2 (2)
--- callControlTransferContext-v3 map-ac callControlTransferContext (6) version3 (3)
--- gprsLocationInfoRetrievalContext-v3 map-ac gprsLocationInfoRetrievalContext (33) version3 (3)
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-BS-Code.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-BS-Code.asn
deleted file mode 100644
index d12501098e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-BS-Code.asn
+++ /dev/null
@@ -1,126 +0,0 @@
-MAP-BS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-BS-Code (20) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-BearerServiceCode ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- bearer service, a group of bearer services, or all bearer
- -- services. The services are defined in TS 3GPP TS 22.002 [3].
- -- The internal structure is defined as follows:
- --
- -- plmn-specific bearer services:
- -- bits 87654321: defined by the HPLMN operator
-
- -- rest of bearer services:
- -- bit 8: 0 (unused)
- -- bits 7654321: group (bits 7654), and rate, if applicable
- -- (bits 321)
-
-Ext-BearerServiceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- bearer service, a group of bearer services, or all bearer
- -- services. The services are defined in TS 3GPP TS 22.002 [3].
- -- The internal structure is defined as follows:
- --
- -- OCTET 1:
- -- plmn-specific bearer services:
- -- bits 87654321: defined by the HPLMN operator
- --
- -- rest of bearer services:
- -- bit 8: 0 (unused)
- -- bits 7654321: group (bits 7654), and rate, if applicable
- -- (bits 321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
-
- -- Ext-BearerServiceCode includes all values defined for BearerServiceCode.
-
-allBearerServices BearerServiceCode ::= '00000000'B
-
-allDataCDA-Services BearerServiceCode ::= '00010000'B
-dataCDA-300bps BearerServiceCode ::= '00010001'B
-dataCDA-1200bps BearerServiceCode ::= '00010010'B
-dataCDA-1200-75bps BearerServiceCode ::= '00010011'B
-dataCDA-2400bps BearerServiceCode ::= '00010100'B
-dataCDA-4800bps BearerServiceCode ::= '00010101'B
-dataCDA-9600bps BearerServiceCode ::= '00010110'B
-general-dataCDA BearerServiceCode ::= '00010111'B
-
-allDataCDS-Services BearerServiceCode ::= '00011000'B
-dataCDS-1200bps BearerServiceCode ::= '00011010'B
-dataCDS-2400bps BearerServiceCode ::= '00011100'B
-dataCDS-4800bps BearerServiceCode ::= '00011101'B
-dataCDS-9600bps BearerServiceCode ::= '00011110'B
-general-dataCDS BearerServiceCode ::= '00011111'B
-
-allPadAccessCA-Services BearerServiceCode ::= '00100000'B
-padAccessCA-300bps BearerServiceCode ::= '00100001'B
-padAccessCA-1200bps BearerServiceCode ::= '00100010'B
-padAccessCA-1200-75bps BearerServiceCode ::= '00100011'B
-padAccessCA-2400bps BearerServiceCode ::= '00100100'B
-padAccessCA-4800bps BearerServiceCode ::= '00100101'B
-padAccessCA-9600bps BearerServiceCode ::= '00100110'B
-general-padAccessCA BearerServiceCode ::= '00100111'B
-
-allDataPDS-Services BearerServiceCode ::= '00101000'B
-dataPDS-2400bps BearerServiceCode ::= '00101100'B
-dataPDS-4800bps BearerServiceCode ::= '00101101'B
-dataPDS-9600bps BearerServiceCode ::= '00101110'B
-general-dataPDS BearerServiceCode ::= '00101111'B
-
-allAlternateSpeech-DataCDA BearerServiceCode ::= '00110000'B
-
-allAlternateSpeech-DataCDS BearerServiceCode ::= '00111000'B
-
-allSpeechFollowedByDataCDA BearerServiceCode ::= '01000000'B
-
-allSpeechFollowedByDataCDS BearerServiceCode ::= '01001000'B
-
--- The following non-hierarchical Compound Bearer Service
--- Groups are defined in TS 3GPP TS 22.030:
-allDataCircuitAsynchronous BearerServiceCode ::= '01010000'B
- -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA" and
- -- "allSpeechFollowedByDataCDA"
-allAsynchronousServices BearerServiceCode ::= '01100000'B
- -- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA",
- -- "allSpeechFollowedByDataCDA" and "allPadAccessCDA-Services"
-allDataCircuitSynchronous BearerServiceCode ::= '01011000'B
- -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS" and
- -- "allSpeechFollowedByDataCDS"
-allSynchronousServices BearerServiceCode ::= '01101000'B
- -- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS",
- -- "allSpeechFollowedByDataCDS" and "allDataPDS-Services"
---
--- Compound Bearer Service Group Codes are only used in call
--- independent supplementary service operations, i.e. they
--- are not used in InsertSubscriberData or in
--- DeleteSubscriberData messages.
-
-allPLMN-specificBS BearerServiceCode ::= '11010000'B
-plmn-specificBS-1 BearerServiceCode ::= '11010001'B
-plmn-specificBS-2 BearerServiceCode ::= '11010010'B
-plmn-specificBS-3 BearerServiceCode ::= '11010011'B
-plmn-specificBS-4 BearerServiceCode ::= '11010100'B
-plmn-specificBS-5 BearerServiceCode ::= '11010101'B
-plmn-specificBS-6 BearerServiceCode ::= '11010110'B
-plmn-specificBS-7 BearerServiceCode ::= '11010111'B
-plmn-specificBS-8 BearerServiceCode ::= '11011000'B
-plmn-specificBS-9 BearerServiceCode ::= '11011001'B
-plmn-specificBS-A BearerServiceCode ::= '11011010'B
-plmn-specificBS-B BearerServiceCode ::= '11011011'B
-plmn-specificBS-C BearerServiceCode ::= '11011100'B
-plmn-specificBS-D BearerServiceCode ::= '11011101'B
-plmn-specificBS-E BearerServiceCode ::= '11011110'B
-plmn-specificBS-F BearerServiceCode ::= '11011111'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CH-DataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CH-DataTypes.asn
deleted file mode 100644
index 10e9d8ff98..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CH-DataTypes.asn
+++ /dev/null
@@ -1,438 +0,0 @@
-MAP-CH-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CH-DataTypes (13) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- SendRoutingInfoArg,
- SendRoutingInfoRes,
- ProvideRoamingNumberArg,
- ProvideRoamingNumberRes,
- ResumeCallHandlingArg,
- ResumeCallHandlingRes,
- NumberOfForwarding,
- SuppressionOfAnnouncement,
- CallReferenceNumber,
- SetReportingStateArg,
- SetReportingStateRes,
- StatusReportArg,
- StatusReportRes,
- RemoteUserFreeArg,
- RemoteUserFreeRes,
- IST-AlertArg,
- IST-AlertRes,
- IST-CommandArg,
-IST-CommandRes
-;
-
-IMPORTS
- SubscriberInfo,
- SupportedCamelPhases,
- OfferedCamel4CSIs,
- CUG-Interlock,
- O-CSI,
- D-CSI,
- O-BcsmCamelTDPCriteriaList,
- T-BCSM-CAMEL-TDP-CriteriaList,
- IST-SupportIndicator,
- IST-AlertTimerValue,
- T-CSI,
- NumberPortabilityStatus
-FROM MAP-MS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}
-
- ForwardingOptions,
- SS-List,
- CCBS-Feature
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
- ISDN-AddressString,
- ISDN-SubaddressString,
- FTN-AddressString,
- ExternalSignalInfo,
- Ext-ExternalSignalInfo,
- IMSI,
- LMSI,
- Ext-BasicServiceCode,
- AlertingPattern,
- NAEA-PreferredCI
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-;
-
-
-CUG-CheckInfo ::= SEQUENCE {
- cug-Interlock CUG-Interlock,
- cug-OutgoingAccess NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-NumberOfForwarding ::= INTEGER (1..5)
-
-SendRoutingInfoArg ::= SEQUENCE {
- msisdn [0] ISDN-AddressString,
- cug-CheckInfo [1] CUG-CheckInfo OPTIONAL,
- numberOfForwarding [2] NumberOfForwarding OPTIONAL,
- interrogationType [3] InterrogationType,
- or-Interrogation [4] NULL OPTIONAL,
- or-Capability [5] OR-Phase OPTIONAL,
- gmsc-OrGsmSCF-Address [6] ISDN-AddressString,
- callReferenceNumber [7] CallReferenceNumber OPTIONAL,
- forwardingReason [8] ForwardingReason OPTIONAL,
- basicServiceGroup [9] Ext-BasicServiceCode OPTIONAL,
- networkSignalInfo [10] ExternalSignalInfo OPTIONAL,
- camelInfo [11] CamelInfo OPTIONAL,
- suppressionOfAnnouncement [12] SuppressionOfAnnouncement OPTIONAL,
- extensionContainer [13] ExtensionContainer OPTIONAL,
- ...,
- alertingPattern [14] AlertingPattern OPTIONAL,
- ccbs-Call [15] NULL OPTIONAL,
- supportedCCBS-Phase [16] SupportedCCBS-Phase OPTIONAL,
- additionalSignalInfo [17] Ext-ExternalSignalInfo OPTIONAL,
- istSupportIndicator [18] IST-SupportIndicator OPTIONAL,
- pre-pagingSupported [19] NULL OPTIONAL,
- callDiversionTreatmentIndicator [20] CallDiversionTreatmentIndicator OPTIONAL,
- longFTN-Supported [21] NULL OPTIONAL,
- suppress-VT-CSI [22] NULL OPTIONAL,
- suppressIncomingCallBarring [23] NULL OPTIONAL,
- gsmSCF-InitiatedCall [24] NULL OPTIONAL,
- basicServiceGroup2 [25] Ext-BasicServiceCode OPTIONAL,
- networkSignalInfo2 [26] ExternalSignalInfo OPTIONAL
- }
-
-SuppressionOfAnnouncement ::= NULL
-
-InterrogationType ::= ENUMERATED {
- basicCall (0),
- forwarding (1)}
-
-OR-Phase ::= INTEGER (1..127)
-
-CallReferenceNumber ::= OCTET STRING (SIZE (1..8))
-
-ForwardingReason ::= ENUMERATED {
- notReachable (0),
- busy (1),
- noReply (2)}
-
-SupportedCCBS-Phase ::= INTEGER (1..127)
--- exception handling:
--- Only value 1 is used.
--- Values in the ranges 2-127 are reserved for future use.
--- If received values 2-127 shall be mapped on to value 1.
-
-CallDiversionTreatmentIndicator ::= OCTET STRING (SIZE(1))
--- callDiversionAllowed (xxxx xx01)
--- callDiversionNotAllowed (xxxx xx10)
--- network default is call diversion allowed
-
-SendRoutingInfoRes ::= [3] SEQUENCE {
- imsi [9] IMSI OPTIONAL,
- -- IMSI must be present if SendRoutingInfoRes is not segmented.
- -- If the TC-Result-NL segmentation option is taken the IMSI must be
- -- present in one segmented transmission of SendRoutingInfoRes.
- extendedRoutingInfo ExtendedRoutingInfo OPTIONAL,
- cug-CheckInfo [3] CUG-CheckInfo OPTIONAL,
- cugSubscriptionFlag [6] NULL OPTIONAL,
- subscriberInfo [7] SubscriberInfo OPTIONAL,
- ss-List [1] SS-List OPTIONAL,
- basicService [5] Ext-BasicServiceCode OPTIONAL,
- forwardingInterrogationRequired [4] NULL OPTIONAL,
- vmsc-Address [2] ISDN-AddressString OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ... ,
- naea-PreferredCI [10] NAEA-PreferredCI OPTIONAL,
- -- naea-PreferredCI is included at the discretion of the HLR operator.
- ccbs-Indicators [11] CCBS-Indicators OPTIONAL,
- msisdn [12] ISDN-AddressString OPTIONAL,
- numberPortabilityStatus [13] NumberPortabilityStatus OPTIONAL,
- istAlertTimer [14] IST-AlertTimerValue OPTIONAL,
- supportedCamelPhasesInVMSC [15] SupportedCamelPhases OPTIONAL,
- offeredCamel4CSIsInVMSC [16] OfferedCamel4CSIs OPTIONAL,
- routingInfo2 [17] RoutingInfo OPTIONAL,
- ss-List2 [18] SS-List OPTIONAL,
- basicService2 [19] Ext-BasicServiceCode OPTIONAL,
- allowedServices [20] AllowedServices OPTIONAL,
- unavailabilityCause [21] UnavailabilityCause OPTIONAL
- }
-
-AllowedServices ::= BIT STRING {
- firstServiceAllowed (0),
- secondServiceAllowed (1) } (SIZE (2..8))
- -- firstService is the service indicated in the networkSignalInfo
- -- secondService is the service indicated in the networkSignalInfo2
- -- Other bits than listed above shall be discarded
-
-UnavailabilityCause ::= ENUMERATED {
- bearerServiceNotProvisioned (1),
- teleserviceNotProvisioned (2),
- absentSubscriber (3),
- busySubscriber (4),
- callBarred (5),
- cug-Reject (6),
- ...}
- -- exception handling:
- -- Reception of other values than the ones listed shall result in the service
- -- being unavailable for that call.
-
-CCBS-Indicators ::= SEQUENCE {
- ccbs-Possible [0] NULL OPTIONAL,
- keepCCBS-CallIndicator [1] NULL OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-RoutingInfo ::= CHOICE {
- roamingNumber ISDN-AddressString,
- forwardingData ForwardingData}
-
-ForwardingData ::= SEQUENCE {
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- -- When this datatype is sent from an HLR which supports CAMEL Phase 2
- -- to a GMSC which supports CAMEL Phase 2 the GMSC shall not check the
- -- format of the number
- forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] ForwardingOptions OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...,
- longForwardedToNumber [8] FTN-AddressString OPTIONAL}
-
-ProvideRoamingNumberArg ::= SEQUENCE {
- imsi [0] IMSI,
- msc-Number [1] ISDN-AddressString,
- msisdn [2] ISDN-AddressString OPTIONAL,
- lmsi [4] LMSI OPTIONAL,
- gsm-BearerCapability [5] ExternalSignalInfo OPTIONAL,
- networkSignalInfo [6] ExternalSignalInfo OPTIONAL,
- suppressionOfAnnouncement [7] SuppressionOfAnnouncement OPTIONAL,
- gmsc-Address [8] ISDN-AddressString OPTIONAL,
- callReferenceNumber [9] CallReferenceNumber OPTIONAL,
- or-Interrogation [10] NULL OPTIONAL,
- extensionContainer [11] ExtensionContainer OPTIONAL,
- ... ,
- alertingPattern [12] AlertingPattern OPTIONAL,
- ccbs-Call [13] NULL OPTIONAL,
- supportedCamelPhasesInInterrogatingNode [15] SupportedCamelPhases OPTIONAL,
- additionalSignalInfo [14] Ext-ExternalSignalInfo OPTIONAL,
- orNotSupportedInGMSC [16] NULL OPTIONAL,
- pre-pagingSupported [17] NULL OPTIONAL,
- longFTN-Supported [18] NULL OPTIONAL,
- suppress-VT-CSI [19] NULL OPTIONAL,
- offeredCamel4CSIsInInterrogatingNode [20] OfferedCamel4CSIs OPTIONAL
- }
-
-ProvideRoamingNumberRes ::= SEQUENCE {
- roamingNumber ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ResumeCallHandlingArg ::= SEQUENCE {
- callReferenceNumber [0] CallReferenceNumber OPTIONAL,
- basicServiceGroup [1] Ext-BasicServiceCode OPTIONAL,
- forwardingData [2] ForwardingData OPTIONAL,
- imsi [3] IMSI OPTIONAL,
- cug-CheckInfo [4] CUG-CheckInfo OPTIONAL,
- o-CSI [5] O-CSI OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ccbs-Possible [8] NULL OPTIONAL,
- msisdn [9] ISDN-AddressString OPTIONAL,
- uu-Data [10] UU-Data OPTIONAL,
- allInformationSent [11] NULL OPTIONAL,
- ...,
- d-csi [12] D-CSI OPTIONAL,
- o-BcsmCamelTDPCriteriaList [13] O-BcsmCamelTDPCriteriaList OPTIONAL,
- basicServiceGroup2 [14] Ext-BasicServiceCode OPTIONAL
- }
-
-UU-Data ::= SEQUENCE {
- uuIndicator [0] UUIndicator OPTIONAL,
- uui [1] UUI OPTIONAL,
- uusCFInteraction [2] NULL OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-UUIndicator ::= OCTET STRING (SIZE (1))
- -- Octets are coded according to ETS 300 356
-
-UUI ::= OCTET STRING (SIZE (1..131))
- -- Octets are coded according to ETS 300 356
-
-ResumeCallHandlingRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CamelInfo ::= SEQUENCE {
- supportedCamelPhases SupportedCamelPhases,
- suppress-T-CSI NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- offeredCamel4CSIs [0] OfferedCamel4CSIs OPTIONAL }
-
-ExtendedRoutingInfo ::= CHOICE {
- routingInfo RoutingInfo,
- camelRoutingInfo [8] CamelRoutingInfo}
-
-CamelRoutingInfo ::= SEQUENCE {
- forwardingData ForwardingData OPTIONAL,
- gmscCamelSubscriptionInfo [0] GmscCamelSubscriptionInfo,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-GmscCamelSubscriptionInfo ::= SEQUENCE {
- t-CSI [0] T-CSI OPTIONAL,
- o-CSI [1] O-CSI OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- o-BcsmCamelTDP-CriteriaList [3] O-BcsmCamelTDPCriteriaList OPTIONAL,
- t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- d-csi [5] D-CSI OPTIONAL}
-
-SetReportingStateArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
- lmsi [1] LMSI OPTIONAL,
- ccbs-Monitoring [2] ReportingState OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-ReportingState ::= ENUMERATED {
- stopMonitoring (0),
- startMonitoring (1),
- ...}
- -- exception handling:
- -- reception of values 2-10 shall be mapped to 'stopMonitoring'
- -- reception of values > 10 shall be mapped to 'startMonitoring'
-
-SetReportingStateRes ::= SEQUENCE{
- ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-CCBS-SubscriberStatus ::= ENUMERATED {
- ccbsNotIdle (0),
- ccbsIdle (1),
- ccbsNotReachable (2),
- ...}
- -- exception handling:
- -- reception of values 3-10 shall be mapped to 'ccbsNotIdle'
- -- reception of values 11-20 shall be mapped to 'ccbsIdle'
- -- reception of values > 20 shall be mapped to 'ccbsNotReachable'
-
-StatusReportArg ::= SEQUENCE{
- imsi [0] IMSI,
- eventReportData [1] EventReportData OPTIONAL,
- callReportdata [2] CallReportData OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-EventReportData ::= SEQUENCE{
- ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-CallReportData ::= SEQUENCE{
- monitoringMode [0] MonitoringMode OPTIONAL,
- callOutcome [1] CallOutcome OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-MonitoringMode ::= ENUMERATED {
- a-side (0),
- b-side (1),
- ...}
- -- exception handling:
- -- reception of values 2-10 shall be mapped 'a-side'
- -- reception of values > 10 shall be mapped to 'b-side'
-
-CallOutcome ::= ENUMERATED {
- success (0),
- failure (1),
- busy (2),
- ...}
- -- exception handling:
- -- reception of values 3-10 shall be mapped to 'success'
- -- reception of values 11-20 shall be mapped to 'failure'
- -- reception of values > 20 shall be mapped to 'busy'
-
-StatusReportRes ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-RemoteUserFreeArg ::= SEQUENCE{
- imsi [0] IMSI,
- callInfo [1] ExternalSignalInfo,
- ccbs-Feature [2] CCBS-Feature,
- translatedB-Number [3] ISDN-AddressString,
- replaceB-Number [4] NULL OPTIONAL,
- alertingPattern [5] AlertingPattern OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...}
-
-RemoteUserFreeRes ::= SEQUENCE{
- ruf-Outcome [0] RUF-Outcome,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-RUF-Outcome ::= ENUMERATED{
- accepted (0),
- rejected (1),
- noResponseFromFreeMS (2), -- T4 Expiry
- noResponseFromBusyMS (3), -- T10 Expiry
- udubFromFreeMS (4),
- udubFromBusyMS (5),
- ...}
- -- exception handling:
- -- reception of values 6-20 shall be mapped to 'accepted'
- -- reception of values 21-30 shall be mapped to 'rejected'
- -- reception of values 31-40 shall be mapped to 'noResponseFromFreeMS'
- -- reception of values 41-50 shall be mapped to 'noResponseFromBusyMS'
- -- reception of values 51-60 shall be mapped to 'udubFromFreeMS'
- -- reception of values > 60 shall be mapped to 'udubFromBusyMS'
-
-IST-AlertArg ::= SEQUENCE{
- imsi [0] IMSI,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-IST-AlertRes ::= SEQUENCE{
- istAlertTimer [0] IST-AlertTimerValue OPTIONAL,
- istInformationWithdraw [1] NULL OPTIONAL,
- callTerminationIndicator [2] CallTerminationIndicator OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-IST-CommandArg ::= SEQUENCE{
- imsi [0] IMSI,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-IST-CommandRes ::= SEQUENCE{
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CallTerminationIndicator ::= ENUMERATED {
- terminateCallActivityReferred (0),
- terminateAllCallActivities (1),
- ...}
- -- exception handling:
- -- reception of values 2-10 shall be mapped to ' terminateCallActivityReferred '
- -- reception of values > 10 shall be mapped to ' terminateAllCallActivities '
-
- -- In MSCs not supporting linkage of all call activities, any value received shall
- -- be interpreted as ' terminateCallActivityReferred '
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CallHandlingOperations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CallHandlingOperations.asn
deleted file mode 100644
index 473e968247..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CallHandlingOperations.asn
+++ /dev/null
@@ -1,198 +0,0 @@
-MAP-CallHandlingOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CallHandlingOperations (7)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- sendRoutingInfo,
- provideRoamingNumber,
- resumeCallHandling,
- setReportingState,
- statusReport,
- remoteUserFree,
- ist-Alert,
- ist-Command
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- facilityNotSupported,
- or-NotAllowed,
- unknownSubscriber,
- numberChanged,
- bearerServiceNotProvisioned,
- teleserviceNotProvisioned,
- noRoamingNumberAvailable,
- absentSubscriber,
- busySubscriber,
- noSubscriberReply,
- callBarred,
- forwardingViolation,
- forwardingFailed,
- cug-Reject,
- resourceLimitation,
- incompatibleTerminal,
- unidentifiedSubscriber
-
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
- SendRoutingInfoArg,
- SendRoutingInfoRes,
- ProvideRoamingNumberArg,
- ProvideRoamingNumberRes,
- ResumeCallHandlingArg,
- ResumeCallHandlingRes,
- SetReportingStateArg,
- SetReportingStateRes,
- StatusReportArg,
- StatusReportRes,
- RemoteUserFreeArg,
- RemoteUserFreeRes,
- IST-AlertArg,
- IST-AlertRes,
- IST-CommandArg,
- IST-CommandRes
-FROM MAP-CH-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CH-DataTypes (13) version9 (9)}
-
-;
-
-sendRoutingInfo OPERATION ::= { --Timer m
--- The timer is set to the upper limit of the range if the GMSC supports pre-paging.
- ARGUMENT
- SendRoutingInfoArg
- RESULT
- SendRoutingInfoRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- or-NotAllowed |
- unknownSubscriber |
- numberChanged |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- absentSubscriber |
- busySubscriber |
- noSubscriberReply |
- callBarred |
- cug-Reject |
- forwardingViolation}
- CODE local:22 }
-
-provideRoamingNumber OPERATION ::= { --Timer m
--- The timer is set to the upper limit of the range if the HLR supports pre-paging.
- ARGUMENT
- ProvideRoamingNumberArg
- RESULT
- ProvideRoamingNumberRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- or-NotAllowed |
- absentSubscriber |
- noRoamingNumberAvailable}
- CODE local:4 }
-
-resumeCallHandling OPERATION ::= { --Timer m
- ARGUMENT
- ResumeCallHandlingArg
- RESULT
- ResumeCallHandlingRes
- -- optional
- ERRORS {
- forwardingFailed |
- or-NotAllowed |
- unexpectedDataValue |
- dataMissing }
- CODE local:6 }
-
-setReportingState OPERATION ::= { --Timer m
- ARGUMENT
- SetReportingStateArg
- RESULT
- SetReportingStateRes
- -- optional
- ERRORS {
- systemFailure |
- unidentifiedSubscriber |
- unexpectedDataValue |
- dataMissing |
- resourceLimitation |
- facilityNotSupported}
- CODE local:73 }
-
-statusReport OPERATION ::= { --Timer m
- ARGUMENT
- StatusReportArg
- RESULT
- StatusReportRes
- -- optional
- ERRORS {
- unknownSubscriber |
- systemFailure |
- unexpectedDataValue |
- dataMissing}
- CODE local:74 }
-
-remoteUserFree OPERATION ::= { --Timer ml
- ARGUMENT
- RemoteUserFreeArg
- RESULT
- RemoteUserFreeRes
- ERRORS {
- unexpectedDataValue |
- dataMissing |
- incompatibleTerminal |
- absentSubscriber |
- systemFailure |
- busySubscriber}
- CODE local:75 }
-
-ist-Alert OPERATION ::= { --Timer m
- ARGUMENT
- IST-AlertArg
- RESULT
- IST-AlertRes
- -- optional
- ERRORS {
- unexpectedDataValue |
- resourceLimitation |
- unknownSubscriber |
- systemFailure |
- facilityNotSupported}
- CODE local:87 }
-
-ist-Command OPERATION::= { --Timer m
- ARGUMENT
- IST-CommandArg
- RESULT
- IST-CommandRes
- -- optional
- ERRORS {
- unexpectedDataValue |
- resourceLimitation |
- unknownSubscriber |
- systemFailure |
- facilityNotSupported}
- CODE local:88 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CommonDataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CommonDataTypes.asn
deleted file mode 100644
index 55d234e91f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-CommonDataTypes.asn
+++ /dev/null
@@ -1,612 +0,0 @@
-MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- general data types and values
- AddressString,
- ISDN-AddressString,
- maxISDN-AddressLength,
- FTN-AddressString,
- ISDN-SubaddressString,
- ExternalSignalInfo,
- Ext-ExternalSignalInfo,
- AccessNetworkSignalInfo,
- SignalInfo,
- maxSignalInfoLength,
- AlertingPattern,
- TBCD-STRING,
-
- -- data types for numbering and identification
- IMSI,
- TMSI,
- Identity,
- SubscriberId,
- IMEI,
- HLR-List,
- LMSI,
- GlobalCellId,
- NetworkResource,
- AdditionalNetworkResource,
- NAEA-PreferredCI,
- NAEA-CIC,
- ASCI-CallReference,
- SubscriberIdentity,
-
- -- data types for CAMEL
- CellGlobalIdOrServiceAreaIdOrLAI,
- CellGlobalIdOrServiceAreaIdFixedLength,
- LAIFixedLength,
-
- -- data types for subscriber management
- BasicServiceCode,
- Ext-BasicServiceCode,
- EMLPP-Info,
- EMLPP-Priority,
- MC-SS-Info,
- MaxMC-Bearers,
- MC-Bearers,
- Ext-SS-Status,
-
- -- data types for geographic location
- AgeOfLocationInformation,
- LCSClientExternalID,
- LCSClientInternalID,
- LCSServiceTypeID
-;
-
-IMPORTS
- TeleserviceCode,
- Ext-TeleserviceCode
-FROM MAP-TS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)}
-
- BearerServiceCode,
- Ext-BearerServiceCode
-FROM MAP-BS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-BS-Code (20) version9 (9)}
-
- SS-Code
-FROM MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-;
-
-
--- general data types
-
-TBCD-STRING ::= OCTET STRING
- -- This type (Telephony Binary Coded Decimal String) is used to
- -- represent several digits from 0 through 9, *, #, a, b, c, two
- -- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
- -- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
- -- as filler when there is an odd number of digits.
-
- -- bits 8765 of octet n encoding digit 2n
- -- bits 4321 of octet n encoding digit 2(n-1) +1
-
-AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
- -- This type is used to represent a number for addressing
- -- purposes. It is composed of
- -- a) one octet for nature of address, and numbering plan
- -- indicator.
- -- b) digits of an address encoded as TBCD-String.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits nature of address indicator and a 4 bits numbering
- -- plan indicator, encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: nature of address indicator
- -- 000 unknown
- -- 001 international number
- -- 010 national significant number
- -- 011 network specific number
- -- 100 subscriber number
- -- 101 reserved
- -- 110 abbreviated number
- -- 111 reserved for extension
-
- -- bits 4321: numbering plan indicator
- -- 0000 unknown
- -- 0001 ISDN/Telephony Numbering Plan (Rec ITU-T E.164)
- -- 0010 spare
- -- 0011 data numbering plan (ITU-T Rec X.121)
- -- 0100 telex numbering plan (ITU-T Rec F.69)
- -- 0101 spare
- -- 0110 land mobile numbering plan (ITU-T Rec E.212)
- -- 0111 spare
- -- 1000 national numbering plan
- -- 1001 private numbering plan
- -- 1111 reserved for extension
-
- -- all other values are reserved.
-
- -- b) The following octets representing digits of an address
- -- encoded as a TBCD-STRING.
-
-maxAddressLength INTEGER ::= 20
-
-ISDN-AddressString ::=
- AddressString (SIZE (1..maxISDN-AddressLength))
- -- This type is used to represent ISDN numbers.
-
-maxISDN-AddressLength INTEGER ::= 9
-
-FTN-AddressString ::=
- AddressString (SIZE (1..maxFTN-AddressLength))
- -- This type is used to represent forwarded-to numbers.
- -- For long forwarded-to numbers (longer than 15 digits) NPI shall be unknown;
- -- if NAI = international the first digits represent the country code (CC)
- -- and the network destination code (NDC) as for E.164.
-
-maxFTN-AddressLength INTEGER ::= 15
-
-ISDN-SubaddressString ::=
- OCTET STRING (SIZE (1..maxISDN-SubaddressLength))
- -- This type is used to represent ISDN subaddresses.
- -- It is composed of
- -- a) one octet for type of subaddress and odd/even indicator.
- -- b) 20 octets for subaddress information.
-
- -- a) The first octet includes a one bit extension indicator, a
- -- 3 bits type of subaddress and a one bit odd/even indicator,
- -- encoded as follows:
-
- -- bit 8: 1 (no extension)
-
- -- bits 765: type of subaddress
- -- 000 NSAP (X.213/ISO 8348 AD2)
- -- 010 User Specified
- -- All other values are reserved
-
- -- bit 4: odd/even indicator
- -- 0 even number of address signals
- -- 1 odd number of address signals
- -- The odd/even indicator is used when the type of subaddress
- -- is "user specified" and the coding is BCD.
-
- -- bits 321: 000 (unused)
-
- -- b) Subaddress information.
- -- The NSAP X.213/ISO8348AD2 address shall be formatted as specified
- -- by octet 4 which contains the Authority and Format Identifier
- -- (AFI). The encoding is made according to the "preferred binary
- -- encoding" as defined in X.213/ISO834AD2. For the definition
- -- of this type of subaddress, see ITU-T Rec I.334.
-
- -- For User-specific subaddress, this field is encoded according
- -- to the user specification, subject to a maximum length of 20
- -- octets. When interworking with X.25 networks BCD coding should
- -- be applied.
-
-maxISDN-SubaddressLength INTEGER ::= 21
-
-ExternalSignalInfo ::= SEQUENCE {
- protocolId ProtocolId,
- signalInfo SignalInfo,
- -- Information about the internal structure is given in
- -- clause 7.6.9.
- extensionContainer ExtensionContainer OPTIONAL,
- -- extensionContainer must not be used in version 2
- ...}
-
-SignalInfo ::= OCTET STRING (SIZE (1..maxSignalInfoLength))
-
-maxSignalInfoLength INTEGER ::= 200
- -- This NamedValue represents the theoretical maximum number of octets which is
- -- available to carry a single instance of the SignalInfo data type,
- -- without requiring segmentation to cope with the network layer service.
- -- However, the actual maximum size available for an instance of the data
- -- type may be lower, especially when other information elements
- -- have to be included in the same component.
-
-ProtocolId ::= ENUMERATED {
- gsm-0408 (1),
- gsm-0806 (2),
- gsm-BSSMAP (3),
- -- Value 3 is reserved and must not be used
- ets-300102-1 (4)}
-
-Ext-ExternalSignalInfo ::= SEQUENCE {
- ext-ProtocolId Ext-ProtocolId,
- signalInfo SignalInfo,
- -- Information about the internal structure is given in
- -- clause 7.6.9.10
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-ProtocolId ::= ENUMERATED {
- ets-300356 (1),
- ...
- }
--- exception handling:
--- For Ext-ExternalSignalInfo sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- Ext-ExternalSignalInfo sequence.
-
-AccessNetworkSignalInfo ::= SEQUENCE {
- accessNetworkProtocolId AccessNetworkProtocolId,
- signalInfo LongSignalInfo,
- -- Information about the internal structure is given in clause 7.6.9.1
-
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-LongSignalInfo ::= OCTET STRING (SIZE (1..maxLongSignalInfoLength))
-
-maxLongSignalInfoLength INTEGER ::= 2560
- -- This Named Value represents the maximum number of octets which is available
- -- to carry a single instance of the LongSignalInfo data type using
- -- White Book SCCP with the maximum number of segments.
- -- It takes account of the octets used by the lower layers of the protocol, and
- -- other information elements which may be included in the same component.
-
-AccessNetworkProtocolId ::= ENUMERATED {
- ts3G-48006 (1),
- ts3G-25413 (2),
- ...}
- -- exception handling:
- -- For AccessNetworkSignalInfo sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- AccessNetworkSignalInfo sequence.
-
-AlertingPattern ::= OCTET STRING (SIZE (1) )
- -- This type is used to represent Alerting Pattern
-
- -- bits 8765 : 0000 (unused)
-
- -- bits 43 : type of Pattern
- -- 00 level
- -- 01 category
- -- 10 category
- -- all other values are reserved.
-
- -- bits 21 : type of alerting
-
-alertingLevel-0 AlertingPattern ::= '00000000'B
-alertingLevel-1 AlertingPattern ::= '00000001'B
-alertingLevel-2 AlertingPattern ::= '00000010'B
- -- all other values of Alerting level are reserved
- -- Alerting Levels are defined in GSM 02.07
-
-alertingCategory-1 AlertingPattern ::= '00000100'B
-alertingCategory-2 AlertingPattern ::= '00000101'B
-alertingCategory-3 AlertingPattern ::= '00000110'B
-alertingCategory-4 AlertingPattern ::= '00000111'B
-alertingCategory-5 AlertingPattern ::= '00001000'B
- -- all other values of Alerting Category are reserved
- -- Alerting categories are defined in GSM 02.07
-
--- data types for numbering and identification
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
- -- digits of MCC, MNC, MSIN are concatenated in this order.
-
-Identity ::= CHOICE {
- imsi IMSI,
- imsi-WithLMSI IMSI-WithLMSI}
-
-IMSI-WithLMSI ::= SEQUENCE {
- imsi IMSI,
- lmsi LMSI,
- -- a special value 00000000 indicates that the LMSI is not in use
- ...}
-
-ASCI-CallReference ::= TBCD-STRING (SIZE (1..8))
- -- digits of VGCS/VBC-area,Group-ID are concatenated in this order.
-
-TMSI ::= OCTET STRING (SIZE (1..4))
-
-SubscriberId ::= CHOICE {
- imsi [0] IMSI,
- tmsi [1] TMSI}
-
-IMEI ::= TBCD-STRING (SIZE (8))
- -- Refers to International Mobile Station Equipment Identity
- -- and Software Version Number (SVN) defined in TS 3GPP TS 23.003 [17].
- -- If the SVN is not present the last octet shall contain the
- -- digit 0 and a filler.
- -- If present the SVN shall be included in the last octet.
-
-HLR-Id ::= IMSI
- -- leading digits of IMSI, i.e. (MCC, MNC, leading digits of
- -- MSIN) forming HLR Id defined in TS 3GPP TS 23.003 [17].
-
-HLR-List ::= SEQUENCE SIZE (1..maxNumOfHLR-Id) OF
- HLR-Id
-
-maxNumOfHLR-Id INTEGER ::= 50
-
-LMSI ::= OCTET STRING (SIZE (4))
-
-GlobalCellId ::= OCTET STRING (SIZE (5..7))
- -- Refers to Cell Global Identification defined in TS 3GPP TS 23.003 [17].
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35]
- -- octets 6 and 7 Cell Identity (CI) according to TS 3GPP TS 24.008 [35]
-
-NetworkResource ::= ENUMERATED {
- plmn (0),
- hlr (1),
- vlr (2),
- pvlr (3),
- controllingMSC (4),
- vmsc (5),
- eir (6),
- rss (7)}
-
-AdditionalNetworkResource ::= ENUMERATED {
- sgsn (0),
- ggsn (1),
- gmlc (2),
- gsmSCF (3),
- nplr (4),
- auc (5),
- ...}
- -- if unknown value is received in AdditionalNetworkResource
- -- it shall be ignored.
-
-
-NAEA-PreferredCI ::= SEQUENCE {
- naea-PreferredCIC [0] NAEA-CIC,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
-NAEA-CIC ::= OCTET STRING (SIZE (3))
- -- The internal structure is defined by the Carrier Identification
- -- parameter in ANSI T1.113.3. Carrier codes between "000" and "999" may
- -- be encoded as 3 digits using "000" to "999" or as 4 digits using
- -- "0000" to "0999". Carrier codes between "1000" and "9999" are encoded
- -- using 4 digits.
-
-SubscriberIdentity ::= CHOICE {
- imsi [0] IMSI,
- msisdn [1] ISDN-AddressString
- }
-
-LCSClientExternalID ::= SEQUENCE {
- externalAddress [0] ISDN-AddressString OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... }
-
-LCSClientInternalID ::= ENUMERATED {
- broadcastService (0),
- o-andM-HPLMN (1),
- o-andM-VPLMN (2),
- anonymousLocation (3),
- targetMSsubscribedService (4),
- ... }
--- for a CAMEL phase 3 PLMN operator client, the value targetMSsubscribedService shall be used
-
-LCSServiceTypeID ::= INTEGER (0..127)
- -- the integer values 0-63 are reserved for Standard LCS service types
- -- the integer values 64-127 are reserved for Non Standard LCS service types
-
--- Standard LCS Service Types
-emergencyServices LCSServiceTypeID ::= 0
-emergencyAlertServices LCSServiceTypeID ::= 1
-personTracking LCSServiceTypeID ::= 2
-fleetManagement LCSServiceTypeID ::= 3
-assetManagement LCSServiceTypeID ::= 4
-trafficCongestionReporting LCSServiceTypeID ::= 5
-roadsideAssistance LCSServiceTypeID ::= 6
-routingToNearestCommercialEnterprise LCSServiceTypeID ::= 7
-navigation LCSServiceTypeID ::= 8
- --this service type is reserved for use in previous releases
-citySightseeing LCSServiceTypeID ::= 9
-localizedAdvertising LCSServiceTypeID ::= 10
-mobileYellowPages LCSServiceTypeID ::= 11
-trafficAndPublicTransportationInfo LCSServiceTypeID ::= 12
-weather LCSServiceTypeID ::= 13
-assetAndServiceFinding LCSServiceTypeID ::= 14
-gaming LCSServiceTypeID ::= 15
-findYourFriend LCSServiceTypeID ::= 16
-dating LCSServiceTypeID ::= 17
-chatting LCSServiceTypeID ::= 18
-routeFinding LCSServiceTypeID ::= 19
-whereAmI LCSServiceTypeID ::= 20
-
--- The values of LCSServiceTypeID are defined according to 3GPP TS 22.071.
-
--- Non Standard LCS Service Types
-serv64 LCSServiceTypeID ::= 64
-serv65 LCSServiceTypeID ::= 65
-serv66 LCSServiceTypeID ::= 66
-serv67 LCSServiceTypeID ::= 67
-serv68 LCSServiceTypeID ::= 68
-serv69 LCSServiceTypeID ::= 69
-serv70 LCSServiceTypeID ::= 70
-serv71 LCSServiceTypeID ::= 71
-serv72 LCSServiceTypeID ::= 72
-serv73 LCSServiceTypeID ::= 73
-serv74 LCSServiceTypeID ::= 74
-serv75 LCSServiceTypeID ::= 75
-serv76 LCSServiceTypeID ::= 76
-serv77 LCSServiceTypeID ::= 77
-serv78 LCSServiceTypeID ::= 78
-serv79 LCSServiceTypeID ::= 79
-serv80 LCSServiceTypeID ::= 80
-serv81 LCSServiceTypeID ::= 81
-serv82 LCSServiceTypeID ::= 82
-serv83 LCSServiceTypeID ::= 83
-serv84 LCSServiceTypeID ::= 84
-serv85 LCSServiceTypeID ::= 85
-serv86 LCSServiceTypeID ::= 86
-serv87 LCSServiceTypeID ::= 87
-serv88 LCSServiceTypeID ::= 88
-serv89 LCSServiceTypeID ::= 89
-serv90 LCSServiceTypeID ::= 90
-serv91 LCSServiceTypeID ::= 91
-serv92 LCSServiceTypeID ::= 92
-serv93 LCSServiceTypeID ::= 93
-serv94 LCSServiceTypeID ::= 94
-serv95 LCSServiceTypeID ::= 95
-serv96 LCSServiceTypeID ::= 96
-serv97 LCSServiceTypeID ::= 97
-serv98 LCSServiceTypeID ::= 98
-serv99 LCSServiceTypeID ::= 99
-serv100 LCSServiceTypeID ::= 100
-serv101 LCSServiceTypeID ::= 101
-serv102 LCSServiceTypeID ::= 102
-serv103 LCSServiceTypeID ::= 103
-serv104 LCSServiceTypeID ::= 104
-serv105 LCSServiceTypeID ::= 105
-serv106 LCSServiceTypeID ::= 106
-serv107 LCSServiceTypeID ::= 107
-serv108 LCSServiceTypeID ::= 108
-serv109 LCSServiceTypeID ::= 109
-serv110 LCSServiceTypeID ::= 110
-serv111 LCSServiceTypeID ::= 111
-serv112 LCSServiceTypeID ::= 112
-serv113 LCSServiceTypeID ::= 113
-serv114 LCSServiceTypeID ::= 114
-serv115 LCSServiceTypeID ::= 115
-serv116 LCSServiceTypeID ::= 116
-serv117 LCSServiceTypeID ::= 117
-serv118 LCSServiceTypeID ::= 118
-serv119 LCSServiceTypeID ::= 119
-serv120 LCSServiceTypeID ::= 120
-serv121 LCSServiceTypeID ::= 121
-serv122 LCSServiceTypeID ::= 122
-serv123 LCSServiceTypeID ::= 123
-serv124 LCSServiceTypeID ::= 124
-serv125 LCSServiceTypeID ::= 125
-serv126 LCSServiceTypeID ::= 126
-serv127 LCSServiceTypeID ::= 127
-
--- data types for CAMEL
-
-CellGlobalIdOrServiceAreaIdOrLAI ::= CHOICE {
- cellGlobalIdOrServiceAreaIdFixedLength [0] CellGlobalIdOrServiceAreaIdFixedLength,
- laiFixedLength [1] LAIFixedLength}
-
-CellGlobalIdOrServiceAreaIdFixedLength ::= OCTET STRING (SIZE (7))
- -- Refers to Cell Global Identification or Service Are Identification
- -- defined in 3GPP TS 23.003.
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to 3GPP TS 24.008
- -- octets 6 and 7 Cell Identity (CI) value or
- -- Service Area Code (SAC) value
- -- according to 3GPP TS 23.003
-
-LAIFixedLength ::= OCTET STRING (SIZE (5))
- -- Refers to Location Area Identification defined in TS 3GPP TS 23.003 [17].
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35]
-
--- data types for subscriber management
-
-BasicServiceCode ::= CHOICE {
- bearerService [2] BearerServiceCode,
- teleservice [3] TeleserviceCode}
-
-Ext-BasicServiceCode ::= CHOICE {
- ext-BearerService [2] Ext-BearerServiceCode,
- ext-Teleservice [3] Ext-TeleserviceCode}
-
-EMLPP-Info ::= SEQUENCE {
- maximumentitledPriority EMLPP-Priority,
- defaultPriority EMLPP-Priority,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-EMLPP-Priority ::= INTEGER (0..15)
- -- The mapping from the values A,B,0,1,2,3,4 to the integer-value is
- -- specified as follows where A is the highest and 4 is the lowest
- -- priority level
- -- the integer values 7-15 are spare and shall be mapped to value 4
-
-priorityLevelA EMLPP-Priority ::= 6
-priorityLevelB EMLPP-Priority ::= 5
-priorityLevel0 EMLPP-Priority ::= 0
-priorityLevel1 EMLPP-Priority ::= 1
-priorityLevel2 EMLPP-Priority ::= 2
-priorityLevel3 EMLPP-Priority ::= 3
-priorityLevel4 EMLPP-Priority ::= 4
-
-MC-SS-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ss-Status [1] Ext-SS-Status,
- nbrSB [2] MaxMC-Bearers,
- nbrUser [3] MC-Bearers,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-MaxMC-Bearers ::= INTEGER (2..maxNumOfMC-Bearers)
-
-MC-Bearers ::= INTEGER (1..maxNumOfMC-Bearers)
-
-maxNumOfMC-Bearers INTEGER ::= 7
-
-Ext-SS-Status ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
- --
- -- bits 8765: 0000 (unused)
- -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
- -- representing supplementary service state information
- -- as defined in TS 3GPP TS 23.011 [22]
-
- -- bit 4: "Q bit"
-
- -- bit 3: "P bit"
-
- -- bit 2: "R bit"
-
- -- bit 1: "A bit"
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-
- -- data types for geographic location
-
-AgeOfLocationInformation ::= INTEGER (0..32767)
--- the value represents the elapsed time in minutes since the last
--- network contact of the mobile station (i.e. the actuality of the
--- location information).
--- value "0" indicates that the MS is currently in contact with the
--- network
--- value "32767" indicates that the location information is at least
--- 32767 minutes old
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-DialogueInformation.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-DialogueInformation.asn
deleted file mode 100644
index 5854cbe6b8..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-DialogueInformation.asn
+++ /dev/null
@@ -1,149 +0,0 @@
-MAP-DialogueInformation {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-DialogueInformation (3) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- map-DialogueAS,
- MAP-DialoguePDU,
- map-ProtectedDialogueAS,
- MAP-ProtectedDialoguePDU
-
-;
-
-IMPORTS
- gsm-NetworkId,
- as-Id
-FROM MobileDomainDefinitions {
- itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
- mobileDomainDefinitions (0) version1 (1)}
-
- AddressString
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network(1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
- SecurityHeader,
- ProtectedPayload
-FROM MAP-ST-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)}
-
-;
-
-
--- abstract syntax name for MAP-DialoguePDU
-
-map-DialogueAS OBJECT IDENTIFIER ::=
- {gsm-NetworkId as-Id map-DialoguePDU (1) version1 (1)}
-
-MAP-DialoguePDU ::= CHOICE {
- map-open [0] MAP-OpenInfo,
- map-accept [1] MAP-AcceptInfo,
- map-close [2] MAP-CloseInfo,
- map-refuse [3] MAP-RefuseInfo,
- map-userAbort [4] MAP-UserAbortInfo,
- map-providerAbort [5] MAP-ProviderAbortInfo}
-
-MAP-OpenInfo ::= SEQUENCE {
- destinationReference [0] AddressString OPTIONAL,
- originationReference [1] AddressString OPTIONAL,
- ...,
- extensionContainer ExtensionContainer OPTIONAL
- -- extensionContainer must not be used in version 2
- }
-
-MAP-AcceptInfo ::= SEQUENCE {
- ...,
- extensionContainer ExtensionContainer OPTIONAL
- -- extensionContainer must not be used in version 2
- }
-
-MAP-CloseInfo ::= SEQUENCE {
- ...,
- extensionContainer ExtensionContainer OPTIONAL
- -- extensionContainer must not be used in version 2
- }
-
-MAP-RefuseInfo ::= SEQUENCE {
- reason Reason,
- ...,
- extensionContainer ExtensionContainer OPTIONAL,
- -- extensionContainer must not be used in version 2
- alternativeApplicationContext OBJECT IDENTIFIER OPTIONAL
- -- alternativeApplicationContext must not be used in version 2
- }
-
-Reason ::= ENUMERATED {
- noReasonGiven (0),
- invalidDestinationReference (1),
- invalidOriginatingReference (2),
- encapsulatedAC-NotSupported (3) ,
- transportProtectionNotAdequate (4)}
- -- encapsulatedAC-NotSupported and transportProtectionNotAdequate must not be used in
- -- dialogues with an AC different from secureTransportHandling
-
-MAP-UserAbortInfo ::= SEQUENCE {
- map-UserAbortChoice MAP-UserAbortChoice,
- ...,
- extensionContainer ExtensionContainer OPTIONAL
- -- extensionContainer must not be used in version 2
- }
-
-MAP-UserAbortChoice ::= CHOICE {
- userSpecificReason [0] NULL,
- userResourceLimitation [1] NULL,
- resourceUnavailable [2] ResourceUnavailableReason,
- applicationProcedureCancellation [3] ProcedureCancellationReason}
-
-ResourceUnavailableReason ::= ENUMERATED {
- shortTermResourceLimitation (0),
- longTermResourceLimitation (1)}
-
-ProcedureCancellationReason ::= ENUMERATED {
- handoverCancellation (0),
- radioChannelRelease (1),
- networkPathRelease (2),
- callRelease (3),
- associatedProcedureFailure (4),
- tandemDialogueRelease (5),
- remoteOperationsFailure (6)}
-
-MAP-ProviderAbortInfo ::= SEQUENCE {
- map-ProviderAbortReason MAP-ProviderAbortReason,
- ...,
- extensionContainer ExtensionContainer OPTIONAL
- -- extensionContainer must not be used in version 2
- }
-
-MAP-ProviderAbortReason ::= ENUMERATED {
- abnormalDialogue (0),
- invalidPDU (1)}
-
--- abstract syntax name for MAP-ProtectedDialoguePDU
-
-map-ProtectedDialogueAS OBJECT IDENTIFIER ::=
- {gsm-NetworkId as-Id map-ProtectedDialoguePDU (3) version1 (1)}
-
-MAP-ProtectedDialoguePDU ::= SEQUENCE {
- encapsulatedAC OBJECT IDENTIFIER,
- securityHeader SecurityHeader OPTIONAL,
- protectedPayload ProtectedPayload OPTIONAL,
- ...}
- -- The protectedPayload carries the result of applying the security function
- -- defined in 3GPP TS 33.200 to the encoding of the securely transported
- -- MAP-DialoguePDU
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ER-DataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ER-DataTypes.asn
deleted file mode 100644
index b66702cb61..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ER-DataTypes.asn
+++ /dev/null
@@ -1,405 +0,0 @@
-MAP-ER-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- RoamingNotAllowedParam,
- CallBarredParam,
- CUG-RejectParam,
- SS-IncompatibilityCause,
- PW-RegistrationFailureCause,
- SM-DeliveryFailureCause,
- SystemFailureParam,
- DataMissingParam,
- UnexpectedDataParam,
- FacilityNotSupParam,
- OR-NotAllowedParam,
- UnknownSubscriberParam,
- NumberChangedParam,
- UnidentifiedSubParam,
- IllegalSubscriberParam,
- IllegalEquipmentParam,
- BearerServNotProvParam,
- TeleservNotProvParam,
- TracingBufferFullParam,
- NoRoamingNbParam,
- AbsentSubscriberParam,
- BusySubscriberParam,
- NoSubscriberReplyParam,
- ForwardingViolationParam,
- ForwardingFailedParam,
- ATI-NotAllowedParam,
- SubBusyForMT-SMS-Param,
- MessageWaitListFullParam,
- AbsentSubscriberSM-Param,
- AbsentSubscriberDiagnosticSM,
- ResourceLimitationParam,
- NoGroupCallNbParam,
- IncompatibleTerminalParam,
- ShortTermDenialParam,
- LongTermDenialParam,
- UnauthorizedRequestingNetwork-Param,
- UnauthorizedLCSClient-Param,
- PositionMethodFailure-Param,
- UnknownOrUnreachableLCSClient-Param,
- MM-EventNotSupported-Param,
- SecureTransportErrorParam,
- ATSI-NotAllowedParam,
- ATM-NotAllowedParam,
- IllegalSS-OperationParam,
- SS-NotAvailableParam,
- SS-SubscriptionViolationParam,
- InformationNotAvailableParam,
- TargetCellOutsideGCA-Param
-
-;
-
-IMPORTS
- SS-Status
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
- SignalInfo,
- BasicServiceCode,
- NetworkResource,
- AdditionalNetworkResource
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- SecurityHeader,
- ProtectedPayload
-FROM MAP-ST-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)}
-
-
- SS-Code
-FROM MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-;
-
-RoamingNotAllowedParam ::= SEQUENCE {
- roamingNotAllowedCause RoamingNotAllowedCause,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-RoamingNotAllowedCause ::= ENUMERATED {
- plmnRoamingNotAllowed (0),
- operatorDeterminedBarring (3)}
-
-CallBarredParam ::= CHOICE {
- callBarringCause CallBarringCause,
- -- call BarringCause must not be used in version 3 and higher
- extensibleCallBarredParam ExtensibleCallBarredParam
- -- extensibleCallBarredParam must not be used in version <3
- }
-
-CallBarringCause ::= ENUMERATED {
- barringServiceActive (0),
- operatorBarring (1)}
-
-ExtensibleCallBarredParam ::= SEQUENCE {
- callBarringCause CallBarringCause OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- unauthorisedMessageOriginator [1] NULL OPTIONAL }
-
-CUG-RejectParam ::= SEQUENCE {
- cug-RejectCause CUG-RejectCause OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CUG-RejectCause ::= ENUMERATED {
- incomingCallsBarredWithinCUG (0),
- subscriberNotMemberOfCUG (1),
- requestedBasicServiceViolatesCUG-Constraints (5),
- calledPartySS-InteractionViolation (7)}
-
-SS-IncompatibilityCause ::= SEQUENCE {
- ss-Code [1] SS-Code OPTIONAL,
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- ...}
-
-PW-RegistrationFailureCause ::= ENUMERATED {
- undetermined (0),
- invalidFormat (1),
- newPasswordsMismatch (2)}
-
-SM-EnumeratedDeliveryFailureCause ::= ENUMERATED {
- memoryCapacityExceeded (0),
- equipmentProtocolError (1),
- equipmentNotSM-Equipped (2),
- unknownServiceCentre (3),
- sc-Congestion (4),
- invalidSME-Address (5),
- subscriberNotSC-Subscriber (6)}
-
-SM-DeliveryFailureCause ::= SEQUENCE {
- sm-EnumeratedDeliveryFailureCause SM-EnumeratedDeliveryFailureCause,
- diagnosticInfo SignalInfo OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-AbsentSubscriberSM-Param ::= SEQUENCE {
- absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL,
- -- AbsentSubscriberDiagnosticSM can be either for non-GPRS
- -- or for GPRS
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- additionalAbsentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM OPTIONAL }
- -- if received, additionalAbsentSubscriberDiagnosticSM
- -- is for GPRS and absentSubscriberDiagnosticSM is
- -- for non-GPRS
-
-AbsentSubscriberDiagnosticSM ::= INTEGER (0..255)
- -- AbsentSubscriberDiagnosticSM values are defined in 3GPP TS 23.040
-
-SystemFailureParam ::= CHOICE {
- networkResource NetworkResource,
- -- networkResource must not be used in version 3
- extensibleSystemFailureParam ExtensibleSystemFailureParam
- -- extensibleSystemFailureParam must not be used in version <3
- }
-
-ExtensibleSystemFailureParam ::= SEQUENCE {
- networkResource NetworkResource OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- additionalNetworkResource [0] AdditionalNetworkResource OPTIONAL }
-
-DataMissingParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnexpectedDataParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-FacilityNotSupParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- shapeOfLocationEstimateNotSupported [0] NULL OPTIONAL,
- neededLcsCapabilityNotSupportedInServingNode [1] NULL OPTIONAL }
-
-OR-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnknownSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- unknownSubscriberDiagnostic UnknownSubscriberDiagnostic OPTIONAL}
-
-UnknownSubscriberDiagnostic ::= ENUMERATED {
- imsiUnknown (0),
- gprsSubscriptionUnknown (1),
- ...,
- npdbMismatch (2)}
- -- if unknown values are received in
- -- UnknownSubscriberDiagnostic they shall be discarded
-
-NumberChangedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnidentifiedSubParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-IllegalSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-IllegalEquipmentParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-BearerServNotProvParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-TeleservNotProvParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-TracingBufferFullParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-NoRoamingNbParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-AbsentSubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- absentSubscriberReason [0] AbsentSubscriberReason OPTIONAL}
-
-AbsentSubscriberReason ::= ENUMERATED {
- imsiDetach (0),
- restrictedArea (1),
- noPageResponse (2),
- ... ,
- purgedMS (3)}
--- exception handling: at reception of other values than the ones listed the
--- AbsentSubscriberReason shall be ignored.
--- The AbsentSubscriberReason: purgedMS is defined for the Super-Charger feature
--- (see TS 23.116). If this value is received in a Provide Roaming Number response
--- it shall be mapped to the AbsentSubscriberReason: imsiDetach in the Send Routeing
--- Information response
-
-BusySubscriberParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- ccbs-Possible [0] NULL OPTIONAL,
- ccbs-Busy [1] NULL OPTIONAL}
-
-NoSubscriberReplyParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ForwardingViolationParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ForwardingFailedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ATI-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ATSI-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ATM-NotAllowedParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-IllegalSS-OperationParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SS-NotAvailableParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SS-SubscriptionViolationParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-InformationNotAvailableParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SubBusyForMT-SMS-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- gprsConnectionSuspended NULL OPTIONAL }
- -- If GprsConnectionSuspended is not understood it shall
- -- be discarded
-
-MessageWaitListFullParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ResourceLimitationParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-NoGroupCallNbParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-IncompatibleTerminalParam ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ShortTermDenialParam ::= SEQUENCE {
- ...}
-
-LongTermDenialParam ::= SEQUENCE {
- ...}
-
-UnauthorizedRequestingNetwork-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-UnauthorizedLCSClient-Param ::= SEQUENCE {
- unauthorizedLCSClient-Diagnostic [0] UnauthorizedLCSClient-Diagnostic OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... }
-
-UnauthorizedLCSClient-Diagnostic ::= ENUMERATED {
- noAdditionalInformation (0),
- clientNotInMSPrivacyExceptionList (1),
- callToClientNotSetup (2),
- privacyOverrideNotApplicable (3),
- disallowedByLocalRegulatoryRequirements (4),
- ...,
- unauthorizedPrivacyClass (5),
- unauthorizedCallSessionUnrelatedExternalClient (6),
- unauthorizedCallSessionRelatedExternalClient (7) }
--- exception handling:
--- any unrecognized value shall be ignored
-
-PositionMethodFailure-Param ::= SEQUENCE {
- positionMethodFailure-Diagnostic [0] PositionMethodFailure-Diagnostic OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... }
-
-PositionMethodFailure-Diagnostic ::= ENUMERATED {
- congestion (0),
- insufficientResources (1),
- insufficientMeasurementData (2),
- inconsistentMeasurementData (3),
- locationProcedureNotCompleted (4),
- locationProcedureNotSupportedByTargetMS (5),
- qoSNotAttainable (6),
- positionMethodNotAvailableInNetwork (7),
- positionMethodNotAvailableInLocationArea (8),
- ... }
--- exception handling:
--- any unrecognized value shall be ignored
-
-UnknownOrUnreachableLCSClient-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-MM-EventNotSupported-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-TargetCellOutsideGCA-Param ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SecureTransportErrorParam ::= SEQUENCE {
- securityHeader SecurityHeader,
- protectedPayload ProtectedPayload OPTIONAL
- }
- -- The protectedPayload carries the result of applying the security function
- -- defined in 3GPP TS 33.200 to the encoding of the securely transported error
- -- parameter
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Errors.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Errors.asn
deleted file mode 100644
index f0aa2b0a3a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Errors.asn
+++ /dev/null
@@ -1,507 +0,0 @@
-MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- generic errors
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- facilityNotSupported,
- incompatibleTerminal,
- resourceLimitation,
-
- -- identification and numbering errors
- unknownSubscriber,
- numberChanged,
- unknownMSC,
- unidentifiedSubscriber,
- unknownEquipment,
-
- -- subscription errors
- roamingNotAllowed,
- illegalSubscriber,
- illegalEquipment,
- bearerServiceNotProvisioned,
- teleserviceNotProvisioned,
-
- -- handover errors
- noHandoverNumberAvailable,
- subsequentHandoverFailure,
- targetCellOutsideGroupCallArea,
-
- -- operation and maintenance errors
- tracingBufferFull,
-
- -- call handling errors
- or-NotAllowed,
- noRoamingNumberAvailable,
- busySubscriber,
- noSubscriberReply,
- absentSubscriber,
- callBarred,
- forwardingViolation,
- forwardingFailed,
- cug-Reject,
-
- -- any time interrogation errors
- ati-NotAllowed,
-
- -- any time information handling errors
- atsi-NotAllowed,
- atm-NotAllowed,
- informationNotAvailable,
-
- -- supplementary service errors
- illegalSS-Operation,
- ss-ErrorStatus,
- ss-NotAvailable,
- ss-SubscriptionViolation,
- ss-Incompatibility,
- unknownAlphabet,
- ussd-Busy,
- pw-RegistrationFailure,
- negativePW-Check,
- numberOfPW-AttemptsViolation,
- shortTermDenial,
- longTermDenial,
-
- -- short message service errors
- subscriberBusyForMT-SMS,
- sm-DeliveryFailure,
- messageWaitingListFull,
- absentSubscriberSM,
-
- -- Group Call errors
- noGroupCallNumberAvailable,
-
- -- location service errors
- unauthorizedRequestingNetwork,
- unauthorizedLCSClient,
- positionMethodFailure,
- unknownOrUnreachableLCSClient,
-
- -- Mobility Management errors
- mm-EventNotSupported,
-
- -- Secure transport errors
- secureTransportError
-
-;
-
-IMPORTS
- ERROR
-FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0) }
-
- SS-Status
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
- SS-IncompatibilityCause,
- PW-RegistrationFailureCause,
- SM-DeliveryFailureCause,
- SystemFailureParam,
- DataMissingParam,
- UnexpectedDataParam,
- FacilityNotSupParam,
- UnknownSubscriberParam,
- NumberChangedParam,
- UnidentifiedSubParam,
- RoamingNotAllowedParam,
- IllegalSubscriberParam,
- IllegalEquipmentParam,
- BearerServNotProvParam,
- TeleservNotProvParam,
- TracingBufferFullParam,
- NoRoamingNbParam,
- OR-NotAllowedParam,
- AbsentSubscriberParam,
- BusySubscriberParam,
- NoSubscriberReplyParam,
- CallBarredParam,
- ForwardingViolationParam,
- ForwardingFailedParam,
- CUG-RejectParam,
- ATI-NotAllowedParam,
- SubBusyForMT-SMS-Param,
- MessageWaitListFullParam,
- AbsentSubscriberSM-Param,
- ResourceLimitationParam,
- NoGroupCallNbParam,
- IncompatibleTerminalParam,
- ShortTermDenialParam,
- LongTermDenialParam,
- UnauthorizedRequestingNetwork-Param,
- UnauthorizedLCSClient-Param,
- PositionMethodFailure-Param,
- UnknownOrUnreachableLCSClient-Param,
- MM-EventNotSupported-Param,
- ATSI-NotAllowedParam,
- ATM-NotAllowedParam,
- IllegalSS-OperationParam,
- SS-NotAvailableParam,
- SS-SubscriptionViolationParam,
- InformationNotAvailableParam,
- TargetCellOutsideGCA-Param,
- SecureTransportErrorParam
-FROM MAP-ER-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)}
-;
-
--- generic errors
-
-systemFailure ERROR ::= {
- PARAMETER
- SystemFailureParam
- -- optional
- CODE local:34 }
-
-dataMissing ERROR ::= {
- PARAMETER
- DataMissingParam
- -- optional
- -- DataMissingParam must not be used in version <3
- CODE local:35 }
-
-unexpectedDataValue ERROR ::= {
- PARAMETER
- UnexpectedDataParam
- -- optional
- -- UnexpectedDataParam must not be used in version <3
- CODE local:36 }
-
-facilityNotSupported ERROR ::= {
- PARAMETER
- FacilityNotSupParam
- -- optional
- -- FacilityNotSupParam must not be used in version <3
- CODE local:21 }
-
-incompatibleTerminal ERROR ::= {
- PARAMETER
- IncompatibleTerminalParam
- -- optional
- CODE local:28 }
-
-resourceLimitation ERROR ::= {
- PARAMETER
- ResourceLimitationParam
- -- optional
- CODE local:51 }
-
--- identification and numbering errors
-
-unknownSubscriber ERROR ::= {
- PARAMETER
- UnknownSubscriberParam
- -- optional
- -- UnknownSubscriberParam must not be used in version <3
- CODE local:1 }
-
-numberChanged ERROR ::= {
- PARAMETER
- NumberChangedParam
- -- optional
- CODE local:44 }
-
-unknownMSC ERROR ::= {
- CODE local:3 }
-
-unidentifiedSubscriber ERROR ::= {
- PARAMETER
- UnidentifiedSubParam
- -- optional
- -- UunidentifiedSubParam must not be used in version <3
- CODE local:5 }
-
-unknownEquipment ERROR ::= {
- CODE local:7 }
-
--- subscription errors
-
-roamingNotAllowed ERROR ::= {
- PARAMETER
- RoamingNotAllowedParam
- CODE local:8 }
-
-illegalSubscriber ERROR ::= {
- PARAMETER
- IllegalSubscriberParam
- -- optional
- -- IllegalSubscriberParam must not be used in version <3
- CODE local:9 }
-
-illegalEquipment ERROR ::= {
- PARAMETER
- IllegalEquipmentParam
- -- optional
- -- IllegalEquipmentParam must not be used in version <3
- CODE local:12 }
-
-bearerServiceNotProvisioned ERROR ::= {
- PARAMETER
- BearerServNotProvParam
- -- optional
- -- BearerServNotProvParam must not be used in version <3
- CODE local:10 }
-
-teleserviceNotProvisioned ERROR ::= {
- PARAMETER
- TeleservNotProvParam
- -- optional
- -- TeleservNotProvParam must not be used in version <3
- CODE local:11 }
-
--- handover errors
-
-noHandoverNumberAvailable ERROR ::= {
- CODE local:25 }
-
-subsequentHandoverFailure ERROR ::= {
- CODE local:26 }
-
-targetCellOutsideGroupCallArea ERROR ::= {
- PARAMETER
- TargetCellOutsideGCA-Param
- -- optional
- CODE local:42 }
-
--- operation and maintenance errors
-
-tracingBufferFull ERROR ::= {
- PARAMETER
- TracingBufferFullParam
- -- optional
- CODE local: 40 }
-
--- call handling errors
-
-noRoamingNumberAvailable ERROR ::= {
- PARAMETER
- NoRoamingNbParam
- -- optional
- CODE local:39 }
-
-absentSubscriber ERROR ::= {
- PARAMETER
- AbsentSubscriberParam
- -- optional
- -- AbsentSubscriberParam must not be used in version <3
- CODE local:27 }
-
-busySubscriber ERROR ::= {
- PARAMETER
- BusySubscriberParam
- -- optional
- CODE local:45 }
-
-noSubscriberReply ERROR ::= {
- PARAMETER
- NoSubscriberReplyParam
- -- optional
- CODE local:46 }
-
-callBarred ERROR ::= {
- PARAMETER
- CallBarredParam
- -- optional
- CODE local:13 }
-
-forwardingViolation ERROR ::= {
- PARAMETER
- ForwardingViolationParam
- -- optional
- CODE local:14 }
-
-forwardingFailed ERROR ::= {
- PARAMETER
- ForwardingFailedParam
- -- optional
- CODE local:47 }
-
-cug-Reject ERROR ::= {
- PARAMETER
- CUG-RejectParam
- -- optional
- CODE local:15 }
-
-or-NotAllowed ERROR ::= {
- PARAMETER
- OR-NotAllowedParam
- -- optional
- CODE local:48 }
-
--- any time interrogation errors
-ati-NotAllowed ERROR ::= {
- PARAMETER
- ATI-NotAllowedParam
- -- optional
- CODE local:49 }
-
--- any time information handling errors
-atsi-NotAllowed ERROR ::= {
- PARAMETER
- ATSI-NotAllowedParam
- -- optional
- CODE local:60 }
-
-atm-NotAllowed ERROR ::= {
- PARAMETER
- ATM-NotAllowedParam
- -- optional
- CODE local:61 }
-
-informationNotAvailable ERROR ::= {
- PARAMETER
- InformationNotAvailableParam
- -- optional
- CODE local:62 }
-
--- supplementary service errors
-
-illegalSS-Operation ERROR ::= {
- PARAMETER
- IllegalSS-OperationParam
- -- optional
- -- IllegalSS-OperationParam must not be used in version <3
- CODE local:16 }
-
-ss-ErrorStatus ERROR ::= {
- PARAMETER
- SS-Status
- -- optional
- CODE local:17 }
-
-ss-NotAvailable ERROR ::= {
- PARAMETER
- SS-NotAvailableParam
- -- optional
- -- SS-NotAvailableParam must not be used in version <3
- CODE local:18 }
-
-ss-SubscriptionViolation ERROR ::= {
- PARAMETER
- SS-SubscriptionViolationParam
- -- optional
- -- SS-SubscriptionViolationParam must not be used in version <3
- CODE local:19 }
-
-ss-Incompatibility ERROR ::= {
- PARAMETER
- SS-IncompatibilityCause
- -- optional
- CODE local:20 }
-
-unknownAlphabet ERROR ::= {
- CODE local:71 }
-
-ussd-Busy ERROR ::= {
- CODE local:72 }
-
-pw-RegistrationFailure ERROR ::= {
- PARAMETER
- PW-RegistrationFailureCause
- CODE local:37 }
-
-negativePW-Check ERROR ::= {
- CODE local:38 }
-
-numberOfPW-AttemptsViolation ERROR ::= {
- CODE local:43 }
-
-shortTermDenial ERROR ::= {
- PARAMETER
- ShortTermDenialParam
- -- optional
- CODE local:29 }
-
-longTermDenial ERROR ::= {
- PARAMETER
- LongTermDenialParam
- -- optional
- CODE local:30 }
-
--- short message service errors
-
-subscriberBusyForMT-SMS ERROR ::= {
- PARAMETER
- SubBusyForMT-SMS-Param
- -- optional
- CODE local:31 }
-
-sm-DeliveryFailure ERROR ::= {
- PARAMETER
- SM-DeliveryFailureCause
- CODE local:32 }
-
-messageWaitingListFull ERROR ::= {
- PARAMETER
- MessageWaitListFullParam
- -- optional
- CODE local:33 }
-
-absentSubscriberSM ERROR ::= {
- PARAMETER
- AbsentSubscriberSM-Param
- -- optional
- CODE local:6 }
-
--- Group Call errors
-
-noGroupCallNumberAvailable ERROR ::= {
- PARAMETER
- NoGroupCallNbParam
- -- optional
- CODE local:50 }
-
--- location service errors
-
-unauthorizedRequestingNetwork ERROR ::= {
- PARAMETER
- UnauthorizedRequestingNetwork-Param
- -- optional
- CODE local:52 }
-
-unauthorizedLCSClient ERROR ::= {
- PARAMETER
- UnauthorizedLCSClient-Param
- -- optional
- CODE local:53 }
-
-positionMethodFailure ERROR ::= {
- PARAMETER
- PositionMethodFailure-Param
- -- optional
- CODE local:54 }
-
-unknownOrUnreachableLCSClient ERROR ::= {
- PARAMETER
- UnknownOrUnreachableLCSClient-Param
- -- optional
- CODE local:58 }
-
-mm-EventNotSupported ERROR ::= {
- PARAMETER
- MM-EventNotSupported-Param
- -- optional
- CODE local:59 }
-
- -- Secure transport errors
-
-secureTransportError ERROR ::= {
- PARAMETER
- SecureTransportErrorParam
- CODE local:4 }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ExtensionDataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ExtensionDataTypes.asn
deleted file mode 100644
index ab4cb9c3b1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ExtensionDataTypes.asn
+++ /dev/null
@@ -1,65 +0,0 @@
-MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- PrivateExtension,
- ExtensionContainer,
- SLR-ArgExtensionContainer;
-
-
--- IOC for private MAP extensions
-
-
-MAP-EXTENSION ::= CLASS {
- &ExtensionType OPTIONAL,
- &extensionId OBJECT IDENTIFIER }
- -- The length of the Object Identifier shall not exceed 16 octets and the
- -- number of components of the Object Identifier shall not exceed 16
-
--- data types
-
-ExtensionContainer ::= SEQUENCE {
- privateExtensionList [0]PrivateExtensionList OPTIONAL,
- pcs-Extensions [1]PCS-Extensions OPTIONAL,
- ...}
-
-SLR-ArgExtensionContainer ::= SEQUENCE {
- privateExtensionList [0]PrivateExtensionList OPTIONAL,
- slr-Arg-PCS-Extensions [1]SLR-Arg-PCS-Extensions OPTIONAL,
- ...}
-
-PrivateExtensionList ::= SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF
- PrivateExtension
-
-PrivateExtension ::= SEQUENCE {
- extId MAP-EXTENSION.&extensionId
- ({ExtensionSet}),
- extType MAP-EXTENSION.&ExtensionType
- ({ExtensionSet}{@extId}) OPTIONAL}
-
-maxNumOfPrivateExtensions INTEGER ::= 10
-
-ExtensionSet MAP-EXTENSION ::=
- {...
- -- ExtensionSet is the set of all defined private extensions
- }
- -- Unsupported private extensions shall be discarded if received.
-
-PCS-Extensions ::= SEQUENCE {
- ...}
-
-SLR-Arg-PCS-Extensions ::= SEQUENCE {
- ...,
- na-ESRK-Request [0] NULL OPTIONAL }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-GR-DataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-GR-DataTypes.asn
deleted file mode 100644
index 8ceeea183b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-GR-DataTypes.asn
+++ /dev/null
@@ -1,122 +0,0 @@
-MAP-GR-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-GR-DataTypes (23) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- PrepareGroupCallArg,
- PrepareGroupCallRes,
- SendGroupCallEndSignalArg,
- SendGroupCallEndSignalRes,
- ForwardGroupCallSignallingArg,
- ProcessGroupCallSignallingArg
-;
-
-IMPORTS
- ISDN-AddressString,
- IMSI,
- EMLPP-Priority,
- ASCI-CallReference
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- Ext-TeleserviceCode
-FROM MAP-TS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)}
-
- Kc
-FROM MAP-MS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-;
-
-
-PrepareGroupCallArg ::= SEQUENCE {
- teleservice Ext-TeleserviceCode,
- asciCallReference ASCI-CallReference,
- codec-Info CODEC-Info,
- cipheringAlgorithm CipheringAlgorithm,
- groupKeyNumber [0] GroupKeyNumber OPTIONAL,
- groupKey [1] Kc OPTIONAL,
- priority [2] EMLPP-Priority OPTIONAL,
- uplinkFree [3] NULL OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-PrepareGroupCallRes ::= SEQUENCE {
- groupCallNumber ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SendGroupCallEndSignalArg ::= SEQUENCE {
- imsi IMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SendGroupCallEndSignalRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ForwardGroupCallSignallingArg ::= SEQUENCE {
- imsi IMSI OPTIONAL,
- uplinkRequestAck [0] NULL OPTIONAL,
- uplinkReleaseIndication [1] NULL OPTIONAL,
- uplinkRejectCommand [2] NULL OPTIONAL,
- uplinkSeizedCommand [3] NULL OPTIONAL,
- uplinkReleaseCommand [4] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- stateAttributes [5] StateAttributes OPTIONAL }
-
-ProcessGroupCallSignallingArg ::= SEQUENCE {
- uplinkRequest [0] NULL OPTIONAL,
- uplinkReleaseIndication [1] NULL OPTIONAL,
- releaseGroupCall [2] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-GroupKeyNumber ::= INTEGER (0..15)
-
-CODEC-Info ::= OCTET STRING (SIZE (5..10))
- -- Refers to channel type
- -- coded according to 3GPP TS 48.008 [49] and including Element identifier and Length
-
-CipheringAlgorithm ::= OCTET STRING (SIZE (1))
- -- Refers to 'permitted algorithms' in 'encryption information'
- -- coded according to 3GPP TS 48.008 [49]:
-
- -- Bits 8-1
- -- 8765 4321
- -- 0000 0001 No encryption
- -- 0000 0010 GSM A5/1
- -- 0000 0100 GSM A5/2
- -- 0000 1000 GSM A5/3
- -- 0001 0000 GSM A5/4
- -- 0010 0000 GSM A5/5
- -- 0100 0000 GSM A5/6
- -- 1000 0000 GSM A5/7
-
-StateAttributes ::= SEQUENCE {
- downlinkAttached [5] NULL OPTIONAL,
- uplinkAttached [6] NULL OPTIONAL,
- dualCommunication [7] NULL OPTIONAL,
- callOriginator [8] NULL OPTIONAL }
-
- -- Refers to 3GPP TS 44.068 for definitions of StateAttributes fields.
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Group-Call-Operations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Group-Call-Operations.asn
deleted file mode 100644
index 55777fec68..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Group-Call-Operations.asn
+++ /dev/null
@@ -1,72 +0,0 @@
-MAP-Group-Call-Operations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Group-Call-Operations (22)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- prepareGroupCall,
- sendGroupCallEndSignal,
- forwardGroupCallSignalling,
- processGroupCallSignalling
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- unexpectedDataValue,
- noGroupCallNumberAvailable
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- PrepareGroupCallArg,
- PrepareGroupCallRes,
- SendGroupCallEndSignalArg,
- SendGroupCallEndSignalRes,
- ForwardGroupCallSignallingArg,
- ProcessGroupCallSignallingArg
-FROM MAP-GR-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-GR-DataTypes (23) version9 (9)}
-
-;
-
-prepareGroupCall OPERATION ::= { --Timer m
- ARGUMENT
- PrepareGroupCallArg
- RESULT
- PrepareGroupCallRes
- ERRORS {
- systemFailure |
- noGroupCallNumberAvailable |
- unexpectedDataValue}
- CODE local:39 }
-
-sendGroupCallEndSignal OPERATION ::= { --Timer l
- ARGUMENT
- SendGroupCallEndSignalArg
- RESULT
- SendGroupCallEndSignalRes
- CODE local:40 }
-
-processGroupCallSignalling OPERATION ::= { --Timer s
- ARGUMENT
- ProcessGroupCallSignallingArg
- CODE local:41 }
-
-forwardGroupCallSignalling OPERATION ::= { --Timer s
- ARGUMENT
- ForwardGroupCallSignallingArg
- CODE local:42 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-LCS-DataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-LCS-DataTypes.asn
deleted file mode 100644
index 08962d6874..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-LCS-DataTypes.asn
+++ /dev/null
@@ -1,533 +0,0 @@
-MAP-LCS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-LCS-DataTypes (25) version9 (9)}
-
-DEFINITIONS
-IMPLICIT TAGS
-::=
-BEGIN
-
-EXPORTS
- RoutingInfoForLCS-Arg,
- RoutingInfoForLCS-Res,
- ProvideSubscriberLocation-Arg,
- ProvideSubscriberLocation-Res,
- SubscriberLocationReport-Arg,
- SubscriberLocationReport-Res,
- LocationType,
- DeferredLocationEventType,
- LCSClientName,
- LCS-QoS,
- Horizontal-Accuracy,
- ResponseTime,
- Ext-GeographicalInformation,
- SupportedGADShapes,
- Add-GeographicalInformation,
- LCSRequestorID,
- LCS-ReferenceNumber,
- LCSCodeword,
- AreaEventInfo
-;
-
-IMPORTS
- AddressString,
- ISDN-AddressString,
- IMEI,
- IMSI,
- LMSI,
- SubscriberIdentity,
- AgeOfLocationInformation,
- LCSClientExternalID,
- LCSClientInternalID,
- LCSServiceTypeID,
- CellGlobalIdOrServiceAreaIdOrLAI
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
- USSD-DataCodingScheme,
- USSD-String
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
- map-SS-DataTypes (14) version9 (9)}
-
- APN,
- GSN-Address,
- SupportedLCS-CapabilitySets
-FROM MAP-MS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}
-
- Additional-Number
-FROM MAP-SM-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SM-DataTypes (16) version9 (9)}
-;
-
-
-RoutingInfoForLCS-Arg ::= SEQUENCE {
- mlcNumber [0] ISDN-AddressString,
- targetMS [1] SubscriberIdentity,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-RoutingInfoForLCS-Res ::= SEQUENCE {
- targetMS [0] SubscriberIdentity,
- lcsLocationInfo [1] LCSLocationInfo,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- v-gmlc-Address [3] GSN-Address OPTIONAL,
- h-gmlc-Address [4] GSN-Address OPTIONAL,
- ppr-Address [5] GSN-Address OPTIONAL,
- additional-v-gmlc-Address [6] GSN-Address OPTIONAL }
-
-LCSLocationInfo ::= SEQUENCE {
- networkNode-Number ISDN-AddressString,
- -- NetworkNode-number can be either msc-number or sgsn-number
- lmsi [0] LMSI OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... ,
- gprsNodeIndicator [2] NULL OPTIONAL,
- -- gprsNodeIndicator is set only if the SGSN number is sent as the Network Node Number
- additional-Number [3] Additional-Number OPTIONAL,
- supportedLCS-CapabilitySets [4] SupportedLCS-CapabilitySets OPTIONAL,
- additional-LCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL
- }
-
-ProvideSubscriberLocation-Arg ::= SEQUENCE {
- locationType LocationType,
- mlc-Number ISDN-AddressString,
- lcs-ClientID [0] LCS-ClientID OPTIONAL,
- privacyOverride [1] NULL OPTIONAL,
- imsi [2] IMSI OPTIONAL,
- msisdn [3] ISDN-AddressString OPTIONAL,
- lmsi [4] LMSI OPTIONAL,
- imei [5] IMEI OPTIONAL,
- lcs-Priority [6] LCS-Priority OPTIONAL,
- lcs-QoS [7] LCS-QoS OPTIONAL,
- extensionContainer [8] ExtensionContainer OPTIONAL,
- ... ,
- supportedGADShapes [9] SupportedGADShapes OPTIONAL,
- lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL,
- lcsServiceTypeID [11] LCSServiceTypeID OPTIONAL,
- lcsCodeword [12] LCSCodeword OPTIONAL,
- lcs-PrivacyCheck [13] LCS-PrivacyCheck OPTIONAL,
- areaEventInfo [14] AreaEventInfo OPTIONAL,
- h-gmlc-Address [15] GSN-Address OPTIONAL }
-
- -- one of imsi or msisdn is mandatory
- -- If a location estimate type indicates activate deferred location or cancel deferred
- -- location, a lcs-Reference number shall be included.
-
-LocationType ::= SEQUENCE {
- locationEstimateType [0] LocationEstimateType,
- ...,
- deferredLocationEventType [1] DeferredLocationEventType OPTIONAL }
-
-LocationEstimateType ::= ENUMERATED {
- currentLocation (0),
- currentOrLastKnownLocation (1),
- initialLocation (2),
- ...,
- activateDeferredLocation (3),
- cancelDeferredLocation (4) }
--- exception handling:
--- a ProvideSubscriberLocation-Arg containing an unrecognized LocationEstimateType
--- shall be rejected by the receiver with a return error cause of unexpected data value
-
-DeferredLocationEventType ::= BIT STRING {
- msAvailable (0) ,
- enteringIntoArea (1),
- leavingFromArea (2),
- beingInsideArea (3) } (SIZE (1..16))
--- beingInsideArea is always treated as oneTimeEvent regardless of the possible value
--- of occurrenceInfo inside areaEventInfo.
--- exception handling:
--- a ProvideSubscriberLocation-Arg containing other values than listed above in
--- DeferredLocationEventType shall be rejected by the receiver with a return error cause of
--- unexpected data value.
-
-LCS-ClientID ::= SEQUENCE {
- lcsClientType [0] LCSClientType,
- lcsClientExternalID [1] LCSClientExternalID OPTIONAL,
- lcsClientDialedByMS [2] AddressString OPTIONAL,
- lcsClientInternalID [3] LCSClientInternalID OPTIONAL,
- lcsClientName [4] LCSClientName OPTIONAL,
- ...,
- lcsAPN [5] APN OPTIONAL,
- lcsRequestorID [6] LCSRequestorID OPTIONAL }
-
-LCSClientType ::= ENUMERATED {
- emergencyServices (0),
- valueAddedServices (1),
- plmnOperatorServices (2),
- lawfulInterceptServices (3),
- ... }
- -- exception handling:
- -- unrecognized values may be ignored if the LCS client uses the privacy override
- -- otherwise, an unrecognized value shall be treated as unexpected data by a receiver
- -- a return error shall then be returned if received in a MAP invoke
-
-LCSClientName ::= SEQUENCE {
- dataCodingScheme [0] USSD-DataCodingScheme,
- nameString [2] NameString,
- ...,
- lcs-FormatIndicator [3] LCS-FormatIndicator OPTIONAL }
-
--- The USSD-DataCodingScheme shall indicate use of the default alphabet through the
--- following encoding
--- bit 7 6 5 4 3 2 1 0
--- 0 0 0 0 1 1 1 1
-
-NameString ::= USSD-String (SIZE (1..maxNameStringLength))
-
-maxNameStringLength INTEGER ::= 63
-
-LCSRequestorID ::= SEQUENCE {
- dataCodingScheme [0] USSD-DataCodingScheme,
- requestorIDString [1] RequestorIDString,
- ...,
- lcs-FormatIndicator [2] LCS-FormatIndicator OPTIONAL }
-
-RequestorIDString ::= USSD-String (SIZE (1..maxRequestorIDStringLength))
-
-maxRequestorIDStringLength INTEGER ::= 63
-
-LCS-FormatIndicator ::= ENUMERATED {
- logicalName (0),
- e-mailAddress (1),
- msisdn (2),
- url (3),
- sipUrl (4),
- ... }
-
-LCS-Priority ::= OCTET STRING (SIZE (1))
- -- 0 = highest priority
- -- 1 = normal priority
- -- all other values treated as 1
-
-LCS-QoS ::= SEQUENCE {
- horizontal-accuracy [0] Horizontal-Accuracy OPTIONAL,
- verticalCoordinateRequest [1] NULL OPTIONAL,
- vertical-accuracy [2] Vertical-Accuracy OPTIONAL, responseTime [3] ResponseTime OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-Horizontal-Accuracy ::= OCTET STRING (SIZE (1))
- -- bit 8 = 0
- -- bits 7-1 = 7 bit Uncertainty Code defined in 3GPP TS 23.032. The horizontal location
- -- error should be less than the error indicated by the uncertainty code with 67%
- -- confidence.
-
-Vertical-Accuracy ::= OCTET STRING (SIZE (1))
- -- bit 8 = 0
- -- bits 7-1 = 7 bit Vertical Uncertainty Code defined in 3GPP TS 23.032.
- -- The vertical location error should be less than the error indicated
- -- by the uncertainty code with 67% confidence.
-
-ResponseTime ::= SEQUENCE {
- responseTimeCategory ResponseTimeCategory,
- ...}
--- note: an expandable SEQUENCE simplifies later addition of a numeric response time.
-
-ResponseTimeCategory ::= ENUMERATED {
- lowdelay (0),
- delaytolerant (1),
- ... }
--- exception handling:
--- an unrecognized value shall be treated the same as value 1 (delaytolerant)
-
-SupportedGADShapes ::= BIT STRING {
- ellipsoidPoint (0),
- ellipsoidPointWithUncertaintyCircle (1),
- ellipsoidPointWithUncertaintyEllipse (2),
- polygon (3),
- ellipsoidPointWithAltitude (4),
- ellipsoidPointWithAltitudeAndUncertaintyElipsoid (5),
- ellipsoidArc (6) } (SIZE (7..16))
--- A node shall mark in the BIT STRING all Shapes defined in 3GPP TS 23.032 it supports.
--- exception handling: bits 7 to 15 shall be ignored if received.
-
-LCS-ReferenceNumber::= OCTET STRING (SIZE(1))
-
-LCSCodeword ::= SEQUENCE {
- dataCodingScheme [0] USSD-DataCodingScheme,
- lcsCodewordString [1] LCSCodewordString,
- ...}
-
-LCSCodewordString ::= USSD-String (SIZE (1..maxLCSCodewordStringLength))
-
-maxLCSCodewordStringLength INTEGER ::= 20
-
-LCS-PrivacyCheck ::= SEQUENCE {
- callSessionUnrelated [0] PrivacyCheckRelatedAction,
- callSessionRelated [1] PrivacyCheckRelatedAction OPTIONAL,
- ...}
-
-PrivacyCheckRelatedAction ::= ENUMERATED {
- allowedWithoutNotification (0),
- allowedWithNotification (1),
- allowedIfNoResponse (2),
- restrictedIfNoResponse (3),
- notAllowed (4),
- ...}
--- exception handling:
--- a ProvideSubscriberLocation-Arg containing an unrecognized PrivacyCheckRelatedAction
--- shall be rejected by the receiver with a return error cause of unexpected data value
-
-AreaEventInfo ::= SEQUENCE {
- areaDefinition [0] AreaDefinition,
- occurrenceInfo [1] OccurrenceInfo OPTIONAL,
- intervalTime [2] IntervalTime OPTIONAL,
- ...}
-
-AreaDefinition ::= SEQUENCE {
- areaList [0] AreaList,
- ...}
-
-AreaList ::= SEQUENCE SIZE (1..maxNumOfAreas) OF Area
-
-maxNumOfAreas INTEGER ::= 10
-
-Area ::= SEQUENCE {
- areaType [0] AreaType,
- areaIdentification [1] AreaIdentification,
- ...}
-
-AreaType ::= ENUMERATED {
- countryCode (0),
- plmnId (1),
- locationAreaId (2),
- routingAreaId (3),
- cellGlobalId (4),
- ...}
-
-AreaIdentification ::= OCTET STRING (SIZE (2..7))
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit if 3 digit MNC included
- -- or filler (1111)
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code (LAC)
- -- octet 6 Routing Area Code (RAC) for Routing Area Id
- -- octets 6 and 7 Cell Identity (CI) for Cell Global Id
-
-OccurrenceInfo ::= ENUMERATED {
- oneTimeEvent (0),
- multipleTimeEvent (1),
- ...}
-
-IntervalTime ::= INTEGER (1..32767)
- -- minimum interval time between area reports in seconds
-
-ProvideSubscriberLocation-Res ::= SEQUENCE {
- locationEstimate Ext-GeographicalInformation,
- ageOfLocationEstimate [0] AgeOfLocationInformation OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... ,
- add-LocationEstimate [2] Add-GeographicalInformation OPTIONAL,
- deferredmt-lrResponseIndicator [3] NULL OPTIONAL,
- geranPositioningData [4] PositioningDataInformation OPTIONAL,
- utranPositioningData [5] UtranPositioningDataInfo OPTIONAL,
- cellIdOrSai [6] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- sai-Present [7] NULL OPTIONAL }
-
--- if deferredmt-lrResponseIndicator is set, locationEstimate is ignored.
-
--- the add-LocationEstimate parameter shall not be sent to a node that did not indicate the
--- geographic shapes supported in the ProvideSubscriberLocation-Arg
--- The locationEstimate and the add-locationEstimate parameters shall not be sent if
--- the supportedGADShapes parameter has been received in ProvideSubscriberLocation-Arg
--- and the shape encoded in locationEstimate or add-LocationEstimate is not marked
--- as supported in supportedGADShapes. In such a case ProvideSubscriberLocation
--- shall be rejected with error FacilityNotSupported with additional indication
--- shapeOfLocationEstimateNotSupported.
--- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity.
-
-Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-GeographicalInformation))
- -- Refers to geographical Information defined in 3GPP TS 23.032.
- -- This is composed of 1 or more octets with an internal structure according to
- -- 3GPP TS 23.032
- -- Octet 1: Type of shape, only the following shapes in 3GPP TS 23.032 are allowed:
- -- (a) Ellipsoid point with uncertainty circle
- -- (b) Ellipsoid point with uncertainty ellipse
- -- (c) Ellipsoid point with altitude and uncertainty ellipsoid
- -- (d) Ellipsoid Arc
- -- (e) Ellipsoid Point
- -- Any other value in octet 1 shall be treated as invalid
- -- Octets 2 to 8 for case (a) - Ellipsoid point with uncertainty circle
- -- Degrees of Latitude 3 octets
- -- Degrees of Longitude 3 octets
- -- Uncertainty code 1 octet
- -- Octets 2 to 11 for case (b) - Ellipsoid point with uncertainty ellipse:
- -- Degrees of Latitude 3 octets
- -- Degrees of Longitude 3 octets
- -- Uncertainty semi-major axis 1 octet
- -- Uncertainty semi-minor axis 1 octet
- -- Angle of major axis 1 octet
- -- Confidence 1 octet
- -- Octets 2 to 14 for case (c) - Ellipsoid point with altitude and uncertainty ellipsoid
- -- Degrees of Latitude 3 octets
- -- Degrees of Longitude 3 octets
- -- Altitude 2 octets
- -- Uncertainty semi-major axis 1 octet
- -- Uncertainty semi-minor axis 1 octet
- -- Angle of major axis 1 octet
- -- Uncertainty altitude 1 octet
- -- Confidence 1 octet
- -- Octets 2 to 13 for case (d) - Ellipsoid Arc
- -- Degrees of Latitude 3 octets
- -- Degrees of Longitude 3 octets
- -- Inner radius 2 octets
- -- Uncertainty radius 1 octet
- -- Offset angle 1 octet
- -- Included angle 1 octet
- -- Confidence 1 octet
- -- Octets 2 to 7 for case (e) - Ellipsoid Point
- -- Degrees of Latitude 3 octets
- -- Degrees of Longitude 3 octets
-
- --
- -- An Ext-GeographicalInformation parameter comprising more than one octet and
- -- containing any other shape or an incorrect number of octets or coding according
- -- to 3GPP TS 23.032 shall be treated as invalid data by a receiver.
- --
- -- An Ext-GeographicalInformation parameter comprising one octet shall be discarded
- -- by the receiver if an Add-GeographicalInformation parameter is received
- -- in the same message.
- --
- -- An Ext-GeographicalInformation parameter comprising one octet shall be treated as
- -- invalid data by the receiver if an Add-GeographicalInformation parameter is not
- -- received in the same message.
-
-maxExt-GeographicalInformation INTEGER ::= 20
- -- the maximum length allows for further shapes in 3GPP TS 23.032 to be included in later
- -- versions of 3GPP TS 29.002
-
-PositioningDataInformation ::= OCTET STRING (SIZE (2..maxPositioningDataInformation))
- -- Refers to the Positioning Data defined in 3GPP TS 49.031.
- -- This is composed of 2 or more octets with an internal structure according to
- -- 3GPP TS 49.031.
-
-maxPositioningDataInformation INTEGER ::= 10
- --
-
-UtranPositioningDataInfo ::= OCTET STRING (SIZE (3..maxUtranPositioningDataInfo))
- -- Refers to the Position Data defined in 3GPP TS 25.413.
- -- This is composed of the positioningDataDiscriminator and the positioningDataSet
- -- included in positionData as defined in 3GPP TS 25.413.
-
-maxUtranPositioningDataInfo INTEGER ::= 11
- --
-
-Add-GeographicalInformation ::= OCTET STRING (SIZE (1..maxAdd-GeographicalInformation))
- -- Refers to geographical Information defined in 3GPP TS 23.032.
- -- This is composed of 1 or more octets with an internal structure according to
- -- 3GPP TS 23.032
- -- Octet 1: Type of shape, all the shapes defined in 3GPP TS 23.032 are allowed:
- -- Octets 2 to n (where n is the total number of octets necessary to encode the shape
- -- according to 3GPP TS 23.032) are used to encode the shape itself in accordance with the
- -- encoding defined in 3GPP TS 23.032
- --
- -- An Add-GeographicalInformation parameter, whether valid or invalid, received
- -- together with a valid Ext-GeographicalInformation parameter in the same message
- -- shall be discarded.
- --
- -- An Add-GeographicalInformation parameter containing any shape not defined in
- -- 3GPP TS 23.032 or an incorrect number of octets or coding according to
- -- 3GPP TS 23.032 shall be treated as invalid data by a receiver if not received
- -- together with a valid Ext-GeographicalInformation parameter in the same message.
-
-maxAdd-GeographicalInformation INTEGER ::= 91
- -- the maximum length allows support for all the shapes currently defined in 3GPP TS 23.032
-
-SubscriberLocationReport-Arg ::= SEQUENCE {
- lcs-Event LCS-Event,
- lcs-ClientID LCS-ClientID,
- lcsLocationInfo LCSLocationInfo,
- msisdn [0] ISDN-AddressString OPTIONAL,
- imsi [1] IMSI OPTIONAL,
- imei [2] IMEI OPTIONAL,
- na-ESRD [3] ISDN-AddressString OPTIONAL,
- na-ESRK [4] ISDN-AddressString OPTIONAL,
- locationEstimate [5] Ext-GeographicalInformation OPTIONAL,
- ageOfLocationEstimate [6] AgeOfLocationInformation OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ... ,
- add-LocationEstimate [8] Add-GeographicalInformation OPTIONAL,
- deferredmt-lrData [9] Deferredmt-lrData OPTIONAL,
- lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL,
- geranPositioningData [11] PositioningDataInformation OPTIONAL,
- utranPositioningData [12] UtranPositioningDataInfo OPTIONAL,
- na-ESRK-Request [16] NULL OPTIONAL,
- cellIdOrSai [13] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- h-gmlc-Address [14] GSN-Address OPTIONAL,
- lcsServiceTypeID [15] LCSServiceTypeID OPTIONAL,
- sai-Present [17] NULL OPTIONAL }
-
- -- one of msisdn or imsi is mandatory
- -- a location estimate that is valid for the locationEstimate parameter should
- -- be transferred in this parameter in preference to the add-LocationEstimate.
- -- the deferredmt-lrData parameter shall be included if and only if the lcs-Event
- -- indicates a deferredmt-lrResponse.
- -- if the lcs-Event indicates a deferredmt-lrResponse then the locationEstimate
- -- and the add-locationEstimate parameters shall not be sent if the
- -- supportedGADShapes parameter had been received in ProvideSubscriberLocation-Arg
- -- and the shape encoded in locationEstimate or add-LocationEstimate was not marked
- -- as supported in supportedGADShapes. In such a case terminationCause
- -- in deferredmt-lrData shall be present with value
- -- shapeOfLocationEstimateNotSupported.
- -- If a lcs event indicates deferred mt-lr response, the lcs-Reference number shall be
- -- included.
- -- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity.
-
-Deferredmt-lrData ::= SEQUENCE {
- deferredLocationEventType DeferredLocationEventType,
- terminationCause [0] TerminationCause OPTIONAL,
- lcsLocationInfo [1] LCSLocationInfo OPTIONAL,
- ...}
- -- lcsLocationInfo may be included only if a terminationCause is present
- -- indicating mt-lrRestart.
-
-LCS-Event ::= ENUMERATED {
- emergencyCallOrigination (0),
- emergencyCallRelease (1),
- mo-lr (2),
- ...,
- deferredmt-lrResponse (3) }
- -- exception handling:
- -- a SubscriberLocationReport-Arg containing an unrecognized LCS-Event
- -- shall be rejected by a receiver with a return error cause of unexpected data value
-
-TerminationCause ::= ENUMERATED {
- normal (0),
- errorundefined (1),
- internalTimeout (2),
- congestion (3),
- mt-lrRestart (4),
- privacyViolation (5),
- ...,
- shapeOfLocationEstimateNotSupported (6) }
--- mt-lrRestart shall be used to trigger the GMLC to restart the location procedure,
--- either because the sending node knows that the terminal has moved under coverage
--- of another MSC or SGSN (e.g. Send Identification received), or because the subscriber
--- has been deregistered due to a Cancel Location received from HLR.
---
--- exception handling
--- an unrecognized value shall be treated the same as value 1 (errorundefined)
-
-SubscriberLocationReport-Res ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- na-ESRK [0] ISDN-AddressString OPTIONAL }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-LocationServiceOperations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-LocationServiceOperations.asn
deleted file mode 100644
index c28ac884ce..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-LocationServiceOperations.asn
+++ /dev/null
@@ -1,103 +0,0 @@
-MAP-LocationServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-LocationServiceOperations (24)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- provideSubscriberLocation,
-sendRoutingInfoForLCS,
-subscriberLocationReport
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
-systemFailure,
- dataMissing,
- unexpectedDataValue,
- facilityNotSupported,
- unknownSubscriber,
- absentSubscriber,
- unauthorizedRequestingNetwork,
- unauthorizedLCSClient,
- positionMethodFailure,
- resourceLimitation,
- unknownOrUnreachableLCSClient,
- unidentifiedSubscriber,
- illegalEquipment,
- illegalSubscriber
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- RoutingInfoForLCS-Arg,
- RoutingInfoForLCS-Res,
- ProvideSubscriberLocation-Arg,
- ProvideSubscriberLocation-Res,
- SubscriberLocationReport-Arg,
- SubscriberLocationReport-Res
-FROM MAP-LCS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-LCS-DataTypes (25) version9 (9)}
-;
-
-sendRoutingInfoForLCS OPERATION ::= { --Timer m
- ARGUMENT
- RoutingInfoForLCS-Arg
- RESULT
- RoutingInfoForLCS-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unknownSubscriber |
- absentSubscriber |
- unauthorizedRequestingNetwork }
- CODE local:85 }
-
-provideSubscriberLocation OPERATION ::= { --Timer ml
- ARGUMENT
- ProvideSubscriberLocation-Arg
- RESULT
- ProvideSubscriberLocation-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unidentifiedSubscriber |
- illegalSubscriber |
- illegalEquipment |
- absentSubscriber |
- unauthorizedRequestingNetwork |
- unauthorizedLCSClient |
- positionMethodFailure }
- CODE local:83 }
-
-subscriberLocationReport OPERATION ::= { --Timer m
- ARGUMENT
- SubscriberLocationReport-Arg
- RESULT
- SubscriberLocationReport-Res
- ERRORS {
- systemFailure |
- dataMissing |
- resourceLimitation |
- unexpectedDataValue |
- unknownSubscriber |
- unauthorizedRequestingNetwork |
- unknownOrUnreachableLCSClient}
- CODE local:86 }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-MS-DataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-MS-DataTypes.asn
deleted file mode 100644
index e905c44077..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-MS-DataTypes.asn
+++ /dev/null
@@ -1,2458 +0,0 @@
-MAP-MS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- location registration types
- UpdateLocationArg,
- UpdateLocationRes,
- CancelLocationArg,
- CancelLocationRes,
- PurgeMS-Arg,
- PurgeMS-Res,
- SendIdentificationArg,
- SendIdentificationRes,
- UpdateGprsLocationArg,
- UpdateGprsLocationRes,
- IST-SupportIndicator,
- SupportedLCS-CapabilitySets,
-
- -- gprs location registration types
- GSN-Address,
-
- -- handover types
- ForwardAccessSignalling-Arg,
- PrepareHO-Arg,
- PrepareHO-Res,
- PrepareSubsequentHO-Arg,
- PrepareSubsequentHO-Res,
- ProcessAccessSignalling-Arg,
- SendEndSignal-Arg,
- SendEndSignal-Res,
-
- -- authentication management types
- SendAuthenticationInfoArg,
- SendAuthenticationInfoRes,
- AuthenticationFailureReportArg,
- AuthenticationFailureReportRes,
-
- -- security management types
- Kc,
-
- -- equipment management types
- CheckIMEI-Arg,
- CheckIMEI-Res,
-
- -- subscriber management types
- InsertSubscriberDataArg,
- InsertSubscriberDataRes,
- LSAIdentity,
- DeleteSubscriberDataArg,
- DeleteSubscriberDataRes,
- Ext-QoS-Subscribed,
- Ext2-QoS-Subscribed,
- SubscriberData,
- ODB-Data,
- SubscriberStatus,
- ZoneCodeList,
- maxNumOfZoneCodes,
- O-CSI,
- D-CSI,
- O-BcsmCamelTDPCriteriaList,
- T-BCSM-CAMEL-TDP-CriteriaList,
- SS-CSI,
- ServiceKey,
- DefaultCallHandling,
- CamelCapabilityHandling,
- BasicServiceCriteria,
- SupportedCamelPhases,
- OfferedCamel4CSIs,
- OfferedCamel4Functionalities,
- maxNumOfCamelTDPData,
- CUG-Index,
- CUG-Info,
- CUG-Interlock,
- InterCUG-Restrictions,
- IntraCUG-Options,
- NotificationToMSUser,
- QoS-Subscribed,
- IST-AlertTimerValue,
- T-CSI,
- T-BcsmTriggerDetectionPoint,
- APN,
-
- -- fault recovery types
- ResetArg,
- RestoreDataArg,
- RestoreDataRes,
-
--- provide subscriber info types
- GeographicalInformation,
- MS-Classmark2,
- GPRSMSClass,
-
- -- subscriber information enquiry types
- ProvideSubscriberInfoArg,
- ProvideSubscriberInfoRes,
- SubscriberInfo,
- LocationInformation,
- LocationInformationGPRS,
- RAIdentity,
- SubscriberState,
- GPRSChargingID,
- MNPInfoRes,
- RouteingNumber,
-
- -- any time information enquiry types
- AnyTimeInterrogationArg,
- AnyTimeInterrogationRes,
-
- -- any time information handling types
- AnyTimeSubscriptionInterrogationArg,
- AnyTimeSubscriptionInterrogationRes,
- AnyTimeModificationArg,
- AnyTimeModificationRes,
-
- -- subscriber data modification notification types
- NoteSubscriberDataModifiedArg,
- NoteSubscriberDataModifiedRes,
-
- -- gprs location information retrieval types
- SendRoutingInfoForGprsArg,
- SendRoutingInfoForGprsRes,
-
- -- failure reporting types
- FailureReportArg,
- FailureReportRes,
-
- -- gprs notification types
- NoteMsPresentForGprsArg,
- NoteMsPresentForGprsRes,
-
- -- Mobility Management types
- NoteMM-EventArg,
- NoteMM-EventRes,
- NumberPortabilityStatus
-
-;
-
-IMPORTS
- maxNumOfSS,
- SS-SubscriptionOption,
- SS-List,
- SS-ForBS-Code,
- Password
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
- SS-Code
-FROM MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-
- Ext-BearerServiceCode
-FROM MAP-BS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-BS-Code (20) version9 (9)}
-
- Ext-TeleserviceCode
-FROM MAP-TS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)}
-
- AddressString,
- ISDN-AddressString,
- ISDN-SubaddressString,
- FTN-AddressString,
- AccessNetworkSignalInfo,
- IMSI,
- IMEI,
- TMSI,
- HLR-List,
- LMSI,
- Identity,
- GlobalCellId,
- CellGlobalIdOrServiceAreaIdOrLAI,
- Ext-BasicServiceCode,
- NAEA-PreferredCI,
- EMLPP-Info,
- MC-SS-Info,
- SubscriberIdentity,
- AgeOfLocationInformation,
- LCSClientExternalID,
- LCSClientInternalID,
- Ext-SS-Status,
- LCSServiceTypeID,
- ASCI-CallReference,
- TBCD-STRING
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
- AbsentSubscriberDiagnosticSM
-FROM MAP-ER-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)}
-
-;
-
--- location registration types
-
-UpdateLocationArg ::= SEQUENCE {
- imsi IMSI,
- msc-Number [1] ISDN-AddressString,
- vlr-Number ISDN-AddressString,
- lmsi [10] LMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- vlr-Capability [6] VLR-Capability OPTIONAL,
- informPreviousNetworkEntity [11] NULL OPTIONAL,
- cs-LCS-NotSupportedByUE [12] NULL OPTIONAL,
- v-gmlc-Address [2] GSN-Address OPTIONAL,
- add-info [13] ADD-Info OPTIONAL }
-
-VLR-Capability ::= SEQUENCE{
- supportedCamelPhases [0] SupportedCamelPhases OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- solsaSupportIndicator [2] NULL OPTIONAL,
- istSupportIndicator [1] IST-SupportIndicator OPTIONAL,
- superChargerSupportedInServingNetworkEntity [3] SuperChargerInfo OPTIONAL,
- longFTN-Supported [4] NULL OPTIONAL,
- supportedLCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL,
- offeredCamel4CSIs [6] OfferedCamel4CSIs OPTIONAL }
-
-SuperChargerInfo ::= CHOICE {
- sendSubscriberData [0] NULL,
- subscriberDataStored [1] AgeIndicator }
-
-AgeIndicator ::= OCTET STRING (SIZE (1..6))
- -- The internal structure of this parameter is implementation specific.
-
-IST-SupportIndicator ::= ENUMERATED {
- basicISTSupported (0),
- istCommandSupported (1),
- ...}
--- exception handling:
--- reception of values > 1 shall be mapped to ' istCommandSupported '
-
-SupportedLCS-CapabilitySets ::= BIT STRING {
- lcsCapabilitySet1 (0),
- lcsCapabilitySet2 (1),
- lcsCapabilitySet3 (2),
- lcsCapabilitySet4 (3) } (SIZE (2..16))
--- Core network signalling capability set1 indicates LCS Release98 or Release99 version.
--- Core network signalling capability set2 indicates LCS Release4.
--- Core network signalling capability set3 indicates LCS Release5.
--- Core network signalling capability set4 indicates LCS Release6 or later version.
--- A node shall mark in the BIT STRING all LCS capability sets it supports.
--- If no bit is set then the sending node does not support LCS.
--- If the parameter is not sent by an VLR then the VLR may support at most capability set1.
--- If the parameter is not sent by an SGSN then no support for LCS is assumed.
--- An SGSN is not allowed to indicate support of capability set1.
--- Other bits than listed above shall be discarded.
-
-UpdateLocationRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- add-Capability NULL OPTIONAL }
-
-ADD-Info ::= SEQUENCE {
- imeisv [0] IMEI,
- skipSubscriberDataUpdate [1] NULL OPTIONAL,
- ...}
-
-
-CancelLocationArg ::= [3] SEQUENCE {
- identity Identity,
- cancellationType CancellationType OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CancellationType ::= ENUMERATED {
- updateProcedure (0),
- subscriptionWithdraw (1),
- ...}
- -- The HLR shall not send values other than listed above
-
-CancelLocationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-PurgeMS-Arg ::= [3] SEQUENCE {
- imsi IMSI,
- vlr-Number [0] ISDN-AddressString OPTIONAL,
- sgsn-Number [1] ISDN-AddressString OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-PurgeMS-Res ::= SEQUENCE {
- freezeTMSI [0] NULL OPTIONAL,
- freezeP-TMSI [1] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SendIdentificationArg ::= SEQUENCE {
- tmsi TMSI,
- numberOfRequestedVectors NumberOfRequestedVectors OPTIONAL,
- -- within a dialogue numberOfRequestedVectors shall be present in
- -- the first service request and shall not be present in subsequent service requests.
- -- If received in a subsequent service request it shall be discarded.
- segmentationProhibited NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- msc-Number ISDN-AddressString OPTIONAL }
-
-SendIdentificationRes ::= [3] SEQUENCE {
- imsi IMSI OPTIONAL,
- -- IMSI shall be present in the first (or only) service response of a dialogue.
- -- If multiple service requests are present in a dialogue then IMSI
- -- shall not be present in any service response other than the first one.
- authenticationSetList AuthenticationSetList OPTIONAL,
- currentSecurityContext [2]CurrentSecurityContext OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
--- authentication management types
-
-AuthenticationSetList ::= CHOICE {
- tripletList [0] TripletList,
- quintupletList [1] QuintupletList }
-
-TripletList ::= SEQUENCE SIZE (1..5) OF
- AuthenticationTriplet
-
-QuintupletList ::= SEQUENCE SIZE (1..5) OF
- AuthenticationQuintuplet
-
-AuthenticationTriplet ::= SEQUENCE {
- rand RAND,
- sres SRES,
- kc Kc,
- ...}
-
-AuthenticationQuintuplet ::= SEQUENCE {
- rand RAND,
- xres XRES,
- ck CK,
- ik IK,
- autn AUTN,
- ...}
-
-CurrentSecurityContext ::= CHOICE {
- gsm-SecurityContextData [0] GSM-SecurityContextData,
- umts-SecurityContextData [1] UMTS-SecurityContextData }
-
-GSM-SecurityContextData ::= SEQUENCE {
- kc Kc,
- cksn Cksn,
- ... }
-
-UMTS-SecurityContextData ::= SEQUENCE {
- ck CK,
- ik IK,
- ksi KSI,
- ... }
-
-RAND ::= OCTET STRING (SIZE (16))
-
-SRES ::= OCTET STRING (SIZE (4))
-
-Kc ::= OCTET STRING (SIZE (8))
-
-XRES ::= OCTET STRING (SIZE (4..16))
-
-CK ::= OCTET STRING (SIZE (16))
-
-IK ::= OCTET STRING (SIZE (16))
-
-AUTN ::= OCTET STRING (SIZE (16))
-
-AUTS ::= OCTET STRING (SIZE (14))
-
-Cksn ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in 3GPP TS 24.008
-
-KSI ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in 3GPP TS 24.008
-
-AuthenticationFailureReportArg ::= SEQUENCE {
- imsi IMSI,
- failureCause FailureCause,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- re-attempt BOOLEAN OPTIONAL,
- accessType AccessType OPTIONAL,
- rand RAND OPTIONAL,
- vlr-Number [0] ISDN-AddressString OPTIONAL,
- sgsn-Number [1] ISDN-AddressString OPTIONAL }
-
-AccessType ::= ENUMERATED {
- call (0),
- emergencyCall (1),
- locationUpdating (2),
- supplementaryService (3),
- shortMessage (4),
- gprsAttach (5),
- routingAreaUpdating (6),
- serviceRequest (7),
- pdpContextActivation (8),
- pdpContextDeactivation (9),
- ...,
- gprsDetach (10)}
- -- exception handling:
- -- received values greater than 10 shall be ignored.
-
-AuthenticationFailureReportRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-FailureCause ::= ENUMERATED {
- wrongUserResponse (0),
- wrongNetworkSignature (1)}
-
--- gprs location registration types
-
-UpdateGprsLocationArg ::= SEQUENCE {
- imsi IMSI,
- sgsn-Number ISDN-AddressString,
- sgsn-Address GSN-Address,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- sgsn-Capability [0] SGSN-Capability OPTIONAL,
- informPreviousNetworkEntity [1] NULL OPTIONAL,
- ps-LCS-NotSupportedByUE [2] NULL OPTIONAL,
- v-gmlc-Address [3] GSN-Address OPTIONAL,
- add-info [4] ADD-Info OPTIONAL }
-
-SGSN-Capability ::= SEQUENCE{
- solsaSupportIndicator NULL OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ... ,
- superChargerSupportedInServingNetworkEntity [2] SuperChargerInfo OPTIONAL ,
- gprsEnhancementsSupportIndicator [3] NULL OPTIONAL,
- supportedCamelPhases [4] SupportedCamelPhases OPTIONAL,
- supportedLCS-CapabilitySets [5] SupportedLCS-CapabilitySets OPTIONAL,
- offeredCamel4CSIs [6] OfferedCamel4CSIs OPTIONAL,
- smsCallBarringSupportIndicator [7] NULL OPTIONAL }
-
-GSN-Address ::= OCTET STRING (SIZE (5..17))
- -- Octets are coded according to TS 3GPP TS 23.003 [17]
-
-UpdateGprsLocationRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- add-Capability NULL OPTIONAL }
-
--- handover types
-
-ForwardAccessSignalling-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- integrityProtectionInfo [0] IntegrityProtectionInformation OPTIONAL,
- encryptionInfo [1] EncryptionInformation OPTIONAL,
- keyStatus [2] KeyStatus OPTIONAL,
- allowedGSM-Algorithms [4] AllowedGSM-Algorithms OPTIONAL,
- allowedUMTS-Algorithms [5] AllowedUMTS-Algorithms OPTIONAL,
- radioResourceInformation [6] RadioResourceInformation OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...,
- radioResourceList [7] RadioResourceList OPTIONAL,
- bssmap-ServiceHandover [9] BSSMAP-ServiceHandover OPTIONAL,
- ranap-ServiceHandover [8] RANAP-ServiceHandover OPTIONAL,
- bssmap-ServiceHandoverList [10] BSSMAP-ServiceHandoverList OPTIONAL,
- currentlyUsedCodec [11] Codec OPTIONAL,
- iuSupportedCodecsList [12] SupportedCodecsList OPTIONAL,
- rab-ConfigurationIndicator [13] NULL OPTIONAL,
- iuSelectedCodec [14] Codec OPTIONAL }
-
-AllowedGSM-Algorithms ::= OCTET STRING (SIZE (1))
- -- internal structure is coded as Algorithm identifier octet from
- -- Permitted Algorithms defined in 3GPP TS 48.008
- -- A node shall mark all GSM algorithms that are allowed in MSC-B
-
-AllowedUMTS-Algorithms ::= SEQUENCE {
- integrityProtectionAlgorithms [0] PermittedIntegrityProtectionAlgorithms OPTIONAL,
- encryptionAlgorithms [1] PermittedEncryptionAlgorithms OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-PermittedIntegrityProtectionAlgorithms ::=
- OCTET STRING (SIZE (1..maxPermittedIntegrityProtectionAlgorithmsLength))
- -- Octets contain a complete PermittedIntegrityProtectionAlgorithms data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413.
- -- Padding bits are included, if needed, in the least significant bits of the
- -- last octet of the octet string.
-
-
-maxPermittedIntegrityProtectionAlgorithmsLength INTEGER ::= 9
-
-PermittedEncryptionAlgorithms ::=
- OCTET STRING (SIZE (1..maxPermittedEncryptionAlgorithmsLength))
- -- Octets contain a complete PermittedEncryptionAlgorithms data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included, if needed, in the least significant bits of the
- -- last octet of the octet string.
-
-
-maxPermittedEncryptionAlgorithmsLength INTEGER ::= 9
-
-KeyStatus ::= ENUMERATED {
- old (0),
- new (1),
- ...}
- -- exception handling:
- -- received values in range 2-31 shall be treated as "old"
- -- received values greater than 31 shall be treated as "new"
-
-PrepareHO-Arg ::= [3] SEQUENCE {
- targetCellId [0] GlobalCellId OPTIONAL,
- ho-NumberNotRequired NULL OPTIONAL,
- targetRNCId [1] RNCId OPTIONAL,
- an-APDU [2] AccessNetworkSignalInfo OPTIONAL,
- multipleBearerRequested [3] NULL OPTIONAL,
- imsi [4] IMSI OPTIONAL,
- integrityProtectionInfo [5] IntegrityProtectionInformation OPTIONAL,
- encryptionInfo [6] EncryptionInformation OPTIONAL,
- radioResourceInformation [7] RadioResourceInformation OPTIONAL,
- allowedGSM-Algorithms [9] AllowedGSM-Algorithms OPTIONAL,
- allowedUMTS-Algorithms [10] AllowedUMTS-Algorithms OPTIONAL,
- radioResourceList [11] RadioResourceList OPTIONAL,
- extensionContainer [8] ExtensionContainer OPTIONAL,
- ... ,
- rab-Id [12] RAB-Id OPTIONAL,
- bssmap-ServiceHandover [13] BSSMAP-ServiceHandover OPTIONAL,
- ranap-ServiceHandover [14] RANAP-ServiceHandover OPTIONAL,
- bssmap-ServiceHandoverList [15] BSSMAP-ServiceHandoverList OPTIONAL,
- asciCallReference [20] ASCI-CallReference OPTIONAL,
- geran-classmark [16] GERAN-Classmark OPTIONAL,
- iuCurrentlyUsedCodec [17] Codec OPTIONAL,
- iuSupportedCodecsList [18] SupportedCodecsList OPTIONAL,
- rab-ConfigurationIndicator [19] NULL OPTIONAL,
- uesbi-Iu [21] UESBI-Iu OPTIONAL }
-
-BSSMAP-ServiceHandoverList ::= SEQUENCE SIZE (1.. maxNumOfServiceHandovers) OF
- BSSMAP-ServiceHandoverInfo
-
-BSSMAP-ServiceHandoverInfo ::= SEQUENCE {
- bssmap-ServiceHandover BSSMAP-ServiceHandover,
- rab-Id RAB-Id,
- -- RAB Identity is needed to relate the service handovers with the radio access bearers.
- ...}
-
-maxNumOfServiceHandovers INTEGER ::= 7
-
-BSSMAP-ServiceHandover ::= OCTET STRING (SIZE (1))
- -- Octets are coded according the Service Handover information element in
- -- 3GPP TS 48.008.
-
-RANAP-ServiceHandover ::= OCTET STRING (SIZE (1))
- -- Octet contains a complete Service-Handover data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included in the least significant bits.
-
-
-RadioResourceList ::= SEQUENCE SIZE (1.. maxNumOfRadioResources) OF
- RadioResource
-
-RadioResource ::= SEQUENCE {
- radioResourceInformation RadioResourceInformation,
- rab-Id RAB-Id,
- -- RAB Identity is needed to relate the radio resources with the radio access bearers.
- ...}
-
-maxNumOfRadioResources INTEGER ::= 7
-
-PrepareHO-Res ::= [3] SEQUENCE {
- handoverNumber [0] ISDN-AddressString OPTIONAL,
- relocationNumberList [1] RelocationNumberList OPTIONAL,
- an-APDU [2] AccessNetworkSignalInfo OPTIONAL,
- multicallBearerInfo [3] MulticallBearerInfo OPTIONAL,
- multipleBearerNotSupported NULL OPTIONAL,
- selectedUMTS-Algorithms [5] SelectedUMTS-Algorithms OPTIONAL,
- chosenRadioResourceInformation [6] ChosenRadioResourceInformation OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...,
- iuSelectedCodec [7] Codec OPTIONAL,
- iuAvailableCodecsList [8] CodecList OPTIONAL }
-
-SelectedUMTS-Algorithms ::= SEQUENCE {
- integrityProtectionAlgorithm [0] ChosenIntegrityProtectionAlgorithm OPTIONAL,
- encryptionAlgorithm [1] ChosenEncryptionAlgorithm OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-ChosenIntegrityProtectionAlgorithm ::= OCTET STRING (SIZE (1))
- -- Octet contains a complete IntegrityProtectionAlgorithm data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included in the least significant bits.
-
-ChosenEncryptionAlgorithm ::= OCTET STRING (SIZE (1))
- -- Octet contains a complete EncryptionAlgorithm data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included in the least significant bits.
-
-ChosenRadioResourceInformation ::= SEQUENCE {
- chosenChannelInfo [0] ChosenChannelInfo OPTIONAL,
- chosenSpeechVersion [1] ChosenSpeechVersion OPTIONAL,
- ...}
-
-ChosenChannelInfo ::= OCTET STRING (SIZE (1))
- -- Octets are coded according the Chosen Channel information element in 3GPP TS 48.008
-
-ChosenSpeechVersion ::= OCTET STRING (SIZE (1))
- -- Octets are coded according the Speech Version (chosen) information element in 3GPP TS
- -- 48.008
-
-PrepareSubsequentHO-Arg ::= [3] SEQUENCE {
- targetCellId [0] GlobalCellId OPTIONAL,
- targetMSC-Number [1] ISDN-AddressString,
- targetRNCId [2] RNCId OPTIONAL,
- an-APDU [3] AccessNetworkSignalInfo OPTIONAL,
- selectedRab-Id [4] RAB-Id OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...,
- geran-classmark [6] GERAN-Classmark OPTIONAL,
- rab-ConfigurationIndicator [7] NULL OPTIONAL }
-
-PrepareSubsequentHO-Res ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-ProcessAccessSignalling-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- selectedUMTS-Algorithms [1] SelectedUMTS-Algorithms OPTIONAL,
- selectedGSM-Algorithm [2] SelectedGSM-Algorithm OPTIONAL,
- chosenRadioResourceInformation [3] ChosenRadioResourceInformation OPTIONAL,
- selectedRab-Id [4] RAB-Id OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...,
- iUSelectedCodec [5] Codec OPTIONAL,
- iuAvailableCodecsList [6] CodecList OPTIONAL }
-
-SupportedCodecsList ::= SEQUENCE {
- utranCodecList [0] CodecList OPTIONAL,
- geranCodecList [1] CodecList OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-CodecList ::= SEQUENCE {
- codec1 [1] Codec,
- codec2 [2] Codec OPTIONAL,
- codec3 [3] Codec OPTIONAL,
- codec4 [4] Codec OPTIONAL,
- codec5 [5] Codec OPTIONAL,
- codec6 [6] Codec OPTIONAL,
- codec7 [7] Codec OPTIONAL,
- codec8 [8] Codec OPTIONAL,
- extensionContainer [9] ExtensionContainer OPTIONAL,
- ...}
- -- Codecs are sent in priority order where codec1 has highest priority
-
-Codec ::= OCTET STRING (SIZE (1..4))
-
- -- The internal structure is defined as follows:
- -- octet 1 Coded as Codec Identification code in 3GPP TS 26.103
- -- octets 2,3,4 Parameters for the Codec as defined in 3GPP TS
- -- 26.103, if available, length depending on the codec
-
-GERAN-Classmark ::= OCTET STRING (SIZE (2..87))
- -- Octets are coded according the GERAN Classmark information element in 3GPP TS 48.008
-
-SelectedGSM-Algorithm ::= OCTET STRING (SIZE (1))
- -- internal structure is coded as Algorithm identifier octet from Chosen Encryption
- -- Algorithm defined in 3GPP TS 48.008
- -- A node shall mark only the selected GSM algorithm
-
-SendEndSignal-Arg ::= [3] SEQUENCE {
- an-APDU AccessNetworkSignalInfo,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-SendEndSignal-Res ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-RNCId ::= OCTET STRING (SIZE (7))
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
- -- octets 4 and 5 Location Area Code according to 3GPP TS 24.008
- -- octets 6 and 7 RNC Id value according to 3GPP TS 25.413
-
-RelocationNumberList ::= SEQUENCE SIZE (1..maxNumOfRelocationNumber) OF
- RelocationNumber
-
-MulticallBearerInfo ::= INTEGER (1..maxNumOfRelocationNumber)
-
-RelocationNumber ::= SEQUENCE {
- handoverNumber ISDN-AddressString,
- rab-Id RAB-Id,
- -- RAB Identity is needed to relate the calls with the radio access bearers.
- ...}
-
-RAB-Id ::= INTEGER (1..maxNrOfRABs)
-
-maxNrOfRABs INTEGER ::= 255
-
-maxNumOfRelocationNumber INTEGER ::= 7
-
-RadioResourceInformation ::= OCTET STRING (SIZE (3..13))
- -- Octets are coded according the Channel Type information element in 3GPP TS 48.008
-
-IntegrityProtectionInformation ::= OCTET STRING (SIZE (18..maxNumOfIntegrityInfo))
- -- Octets contain a complete IntegrityProtectionInformation data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included, if needed, in the least significant bits of the
- -- last octet of the octet string.
-
-maxNumOfIntegrityInfo INTEGER ::= 100
-
-EncryptionInformation ::= OCTET STRING (SIZE (18..maxNumOfEncryptionInfo))
- -- Octets contain a complete EncryptionInformation data type
- -- as defined in 3GPP TS 25.413, encoded according to the encoding scheme
- -- mandated by 3GPP TS 25.413
- -- Padding bits are included, if needed, in the least significant bits of the
- -- last octet of the octet string.
-
-maxNumOfEncryptionInfo INTEGER ::= 100
-
--- authentication management types
-
-SendAuthenticationInfoArg ::= SEQUENCE {
- imsi [0] IMSI,
- numberOfRequestedVectors NumberOfRequestedVectors,
- segmentationProhibited NULL OPTIONAL,
- immediateResponsePreferred [1] NULL OPTIONAL,
- re-synchronisationInfo Re-synchronisationInfo OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- requestingNodeType [3] RequestingNodeType OPTIONAL,
- requestingPLMN-Id [4] PLMN-Id OPTIONAL }
-
-PLMN-Id ::= OCTET STRING (SIZE (3))
- -- The internal structure is defined as follows:
- -- octet 1 bits 4321 Mobile Country Code 1st digit
- -- bits 8765 Mobile Country Code 2nd digit
- -- octet 2 bits 4321 Mobile Country Code 3rd digit
- -- bits 8765 Mobile Network Code 3rd digit
- -- or filler (1111) for 2 digit MNCs
- -- octet 3 bits 4321 Mobile Network Code 1st digit
- -- bits 8765 Mobile Network Code 2nd digit
-
-NumberOfRequestedVectors ::= INTEGER (1..5)
-
-Re-synchronisationInfo ::= SEQUENCE {
- rand RAND,
- auts AUTS,
- ...}
-
-SendAuthenticationInfoRes ::= [3] SEQUENCE {
- authenticationSetList AuthenticationSetList OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-RequestingNodeType ::= ENUMERATED {
- vlr (0),
- sgsn (1),
- ...}
- -- exception handling:
- -- received values in the range 2-15 shall be treated as "vlr"
- -- received values greater than 15 shall be treated as "sgsn"
-
--- equipment management types
-
-CheckIMEI-Arg ::= SEQUENCE {
- imei IMEI,
- requestedEquipmentInfo RequestedEquipmentInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CheckIMEI-Res ::= SEQUENCE {
- equipmentStatus EquipmentStatus OPTIONAL,
- bmuef UESBI-Iu OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-RequestedEquipmentInfo::= BIT STRING {
- equipmentStatus (0),
- bmuef (1)} (SIZE (2..8))
- -- exception handling: reception of unknown bit assignments in the
- -- RequestedEquipmentInfo data type shall be discarded by the receiver
-
-UESBI-Iu ::= SEQUENCE {
- uesbi-IuA [0] UESBI-IuA OPTIONAL,
- uesbi-IuB [1] UESBI-IuB OPTIONAL,
- ...}
-
-UESBI-IuA ::= BIT STRING (SIZE(1..128))
--- See 3GPP TS 25.413
-
-UESBI-IuB ::= BIT STRING (SIZE(1..128))
--- See 3GPP TS 25.413
-
-EquipmentStatus ::= ENUMERATED {
- whiteListed (0),
- blackListed (1),
- greyListed (2)}
-
--- subscriber management types
-
-InsertSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
- COMPONENTS OF SubscriberData,
- extensionContainer [14] ExtensionContainer OPTIONAL,
- ... ,
- naea-PreferredCI [15] NAEA-PreferredCI OPTIONAL,
- -- naea-PreferredCI is included at the discretion of the HLR operator.
- gprsSubscriptionData [16] GPRSSubscriptionData OPTIONAL,
- roamingRestrictedInSgsnDueToUnsupportedFeature [23] NULL
- OPTIONAL,
- networkAccessMode [24] NetworkAccessMode OPTIONAL,
- lsaInformation [25] LSAInformation OPTIONAL,
- lmu-Indicator [21] NULL OPTIONAL,
- lcsInformation [22] LCSInformation OPTIONAL,
- istAlertTimer [26] IST-AlertTimerValue OPTIONAL,
- superChargerSupportedInHLR [27] AgeIndicator OPTIONAL,
- mc-SS-Info [28] MC-SS-Info OPTIONAL,
- cs-AllocationRetentionPriority [29] CS-AllocationRetentionPriority OPTIONAL,
- sgsn-CAMEL-SubscriptionInfo [17] SGSN-CAMEL-SubscriptionInfo OPTIONAL,
- chargingCharacteristics [18] ChargingCharacteristics OPTIONAL,
- accessRestrictionData [19] AccessRestrictionData OPTIONAL
- }
- -- If the Network Access Mode parameter is sent, it shall be present only in
- -- the first sequence if seqmentation is used
-
-AccessRestrictionData ::= BIT STRING {
- utranNotAllowed (0),
- geranNotAllowed (1) } (SIZE (2..8))
- -- exception handling:
- -- bits 2 to 7 shall be ignored if received and not understood
-
-
-CS-AllocationRetentionPriority ::= OCTET STRING (SIZE (1))
- -- This data type encodes each priority level defined in TS 23.107 as the binary value
- -- of the priority level.
-
-IST-AlertTimerValue ::= INTEGER (15..255)
-
-LCSInformation ::= SEQUENCE {
- gmlc-List [0] GMLC-List OPTIONAL,
- lcs-PrivacyExceptionList [1] LCS-PrivacyExceptionList OPTIONAL,
- molr-List [2] MOLR-List OPTIONAL,
- ...,
- add-lcs-PrivacyExceptionList [3] LCS-PrivacyExceptionList OPTIONAL }
- -- add-lcs-PrivacyExceptionList may be sent only if lcs-PrivacyExceptionList is
- -- present and contains four instances of LCS-PrivacyClass. If the mentioned condition
- -- is not satisfied the receiving node shall discard add-lcs-PrivacyExceptionList.
- -- If an LCS-PrivacyClass is received both in lcs-PrivacyExceptionList and in
- -- add-lcs-PrivacyExceptionList with the same SS-Code, then the error unexpected
- -- data value shall be returned.
-
-GMLC-List ::= SEQUENCE SIZE (1..maxNumOfGMLC) OF
- ISDN-AddressString
- -- if segmentation is used, the complete GMLC-List shall be sent in one segment
-
-maxNumOfGMLC INTEGER ::= 5
-
-NetworkAccessMode ::= ENUMERATED {
- bothMSCAndSGSN (0),
- onlyMSC (1),
- onlySGSN (2),
- ...}
- -- if unknown values are received in NetworkAccessMode
- -- they shall be discarded.
-
-GPRSDataList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- PDP-Context
-
-maxNumOfPDP-Contexts INTEGER ::= 50
-
-PDP-Context ::= SEQUENCE {
- pdp-ContextId ContextId,
- pdp-Type [16] PDP-Type,
- pdp-Address [17] PDP-Address OPTIONAL,
- qos-Subscribed [18] QoS-Subscribed,
- vplmnAddressAllowed [19] NULL OPTIONAL,
- apn [20] APN,
- extensionContainer [21] ExtensionContainer OPTIONAL,
- ... ,
- ext-QoS-Subscribed [0] Ext-QoS-Subscribed OPTIONAL,
- pdp-ChargingCharacteristics [1] ChargingCharacteristics OPTIONAL,
- ext2-QoS-Subscribed [2] Ext2-QoS-Subscribed OPTIONAL
- -- ext2-QoS-Subscribed may be present only if ext-QoS-Subscribed is present.
- }
-
-ContextId ::= INTEGER (1..maxNumOfPDP-Contexts)
-
-GPRSSubscriptionData ::= SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
- -- If segmentation is used, completeDataListIncluded may only be present in the
- -- first segment.
- gprsDataList [1] GPRSDataList,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... }
-
-SGSN-CAMEL-SubscriptionInfo ::= SEQUENCE {
- gprs-CSI [0] GPRS-CSI OPTIONAL,
- mo-sms-CSI [1] SMS-CSI OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- mt-sms-CSI [3] SMS-CSI OPTIONAL,
- mt-smsCAMELTDP-CriteriaList [4] MT-smsCAMELTDP-CriteriaList OPTIONAL,
- mg-csi [5] MG-CSI OPTIONAL
- }
-
-GPRS-CSI ::= SEQUENCE {
- gprs-CamelTDPDataList [0] GPRS-CamelTDPDataList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when GPRS-CSI is sent to SGSN.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- GPRS-CamelTDPData and camelCapabilityHandling shall be present in
--- the GPRS-CSI sequence.
--- If GPRS-CSI is segmented, gprs-CamelTDPDataList and camelCapabilityHandling shall be
--- present in the first segment
-
-GPRS-CamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- GPRS-CamelTDPData
--- GPRS-CamelTDPDataList shall not contain more than one instance of
--- GPRS-CamelTDPData containing the same value for gprs-TriggerDetectionPoint.
-
-GPRS-CamelTDPData ::= SEQUENCE {
- gprs-TriggerDetectionPoint [0] GPRS-TriggerDetectionPoint,
- serviceKey [1] ServiceKey,
- gsmSCF-Address [2] ISDN-AddressString,
- defaultSessionHandling [3] DefaultGPRS-Handling,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...
- }
-
-DefaultGPRS-Handling ::= ENUMERATED {
- continueTransaction (0) ,
- releaseTransaction (1) ,
- ...}
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueTransaction"
--- reception of values greater than 31 shall be treated as "releaseTransaction"
-
-GPRS-TriggerDetectionPoint ::= ENUMERATED {
- attach (1),
- attachChangeOfPosition (2),
- pdp-ContextEstablishment (11),
- pdp-ContextEstablishmentAcknowledgement (12),
- pdp-ContextChangeOfPosition (14),
- ... }
--- exception handling:
--- For GPRS-CamelTDPData sequences containing this parameter with any
--- other value than the ones listed the receiver shall ignore the whole
--- GPRS-CamelTDPDatasequence.
-
-APN ::= OCTET STRING (SIZE (2..63))
- -- Octets are coded according to TS 3GPP TS 23.003 [17]
-
-PDP-Type ::= OCTET STRING (SIZE (2))
- -- Octets are coded according to TS 3GPP TS 29.060 [105]
-
-PDP-Address ::= OCTET STRING (SIZE (1..16))
- -- Octets are coded according to TS 3GPP TS 29.060 [105]
-
- -- The possible size values are:
- -- 1-7 octets X.25 address type
- -- 4 octets IPv4 address type
- -- 16 octets Ipv6 address type
-
-QoS-Subscribed ::= OCTET STRING (SIZE (3))
- -- Octets are coded according to TS 3GPP TS 24.008 [35] Quality of Service Octets
- -- 3-5.
-
-Ext-QoS-Subscribed ::= OCTET STRING (SIZE (1..9))
- -- OCTET 1:
- -- Allocation/Retention Priority (This octet encodes each priority level defined in
- -- 23.107 as the binary value of the priority level, declaration in 29.060)
- -- Octets 2-9 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets
- -- 6-13.
-
-Ext2-QoS-Subscribed ::= OCTET STRING (SIZE (1..3))
- -- Octets 1-3 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 14-16.
- -- If Quality of Service information is structured with 14 octet length, then
- -- Octet 1 is coded according to 3GPP TS 24.008 [35] Quality of Service Octet 14.
-
-ChargingCharacteristics ::= OCTET STRING (SIZE (2))
- -- Octets are coded according to 3GPP TS 32.215.
-
-LSAOnlyAccessIndicator ::= ENUMERATED {
- accessOutsideLSAsAllowed (0),
- accessOutsideLSAsRestricted (1)}
-
-LSADataList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
- LSAData
-
-maxNumOfLSAs INTEGER ::= 20
-
-LSAData ::= SEQUENCE {
- lsaIdentity [0] LSAIdentity,
- lsaAttributes [1] LSAAttributes,
- lsaActiveModeIndicator [2] NULL OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-LSAInformation ::= SEQUENCE {
- completeDataListIncluded NULL OPTIONAL,
-
- -- If segmentation is used, completeDataListIncluded may only be present in the
- -- first segment.
- lsaOnlyAccessIndicator [1] LSAOnlyAccessIndicator OPTIONAL,
- lsaDataList [2] LSADataList OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-LSAIdentity ::= OCTET STRING (SIZE (3))
- -- Octets are coded according to TS 3GPP TS 23.003 [17]
-
-LSAAttributes ::= OCTET STRING (SIZE (1))
- -- Octets are coded according to TS 3GPP TS 48.008 [49]
-
-SubscriberData ::= SEQUENCE {
- msisdn [1] ISDN-AddressString OPTIONAL,
- category [2] Category OPTIONAL,
- subscriberStatus [3] SubscriberStatus OPTIONAL,
- bearerServiceList [4] BearerServiceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- bearerServiceCodes is defined in section 8.8.1
- teleserviceList [6] TeleserviceList OPTIONAL,
- -- The exception handling for reception of unsupported / not allocated
- -- teleserviceCodes is defined in section 8.8.1
- provisionedSS [7] Ext-SS-InfoList OPTIONAL,
- odb-Data [8] ODB-Data OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [9] NULL OPTIONAL,
- regionalSubscriptionData [10] ZoneCodeList OPTIONAL,
- vbsSubscriptionData [11] VBSDataList OPTIONAL,
- vgcsSubscriptionData [12] VGCSDataList OPTIONAL,
- vlrCamelSubscriptionInfo [13] VlrCamelSubscriptionInfo OPTIONAL
- }
-
-Category ::= OCTET STRING (SIZE (1))
- -- The internal structure is defined in ITU-T Rec Q.763.
-
-SubscriberStatus ::= ENUMERATED {
- serviceGranted (0),
- operatorDeterminedBarring (1)}
-
-BearerServiceList ::= SEQUENCE SIZE (1..maxNumOfBearerServices) OF
- Ext-BearerServiceCode
-
-maxNumOfBearerServices INTEGER ::= 50
-
-TeleserviceList ::= SEQUENCE SIZE (1..maxNumOfTeleservices) OF
- Ext-TeleserviceCode
-
-maxNumOfTeleservices INTEGER ::= 20
-
-ODB-Data ::= SEQUENCE {
- odb-GeneralData ODB-GeneralData,
- odb-HPLMN-Data ODB-HPLMN-Data OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ODB-GeneralData ::= BIT STRING {
- allOG-CallsBarred (0),
- internationalOGCallsBarred (1),
- internationalOGCallsNotToHPLMN-CountryBarred (2),
- interzonalOGCallsBarred (6),
- interzonalOGCallsNotToHPLMN-CountryBarred (7),
- interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred (8),
- premiumRateInformationOGCallsBarred (3),
- premiumRateEntertainementOGCallsBarred (4),
- ss-AccessBarred (5),
- allECT-Barred (9),
- chargeableECT-Barred (10),
- internationalECT-Barred (11),
- interzonalECT-Barred (12),
- doublyChargeableECT-Barred (13),
- multipleECT-Barred (14),
- allPacketOrientedServicesBarred (15),
- roamerAccessToHPLMN-AP-Barred (16),
- roamerAccessToVPLMN-AP-Barred (17),
- roamingOutsidePLMNOG-CallsBarred (18),
- allIC-CallsBarred (19),
- roamingOutsidePLMNIC-CallsBarred (20),
- roamingOutsidePLMNICountryIC-CallsBarred (21),
- roamingOutsidePLMN-Barred (22),
- roamingOutsidePLMN-CountryBarred (23),
- registrationAllCF-Barred (24),
- registrationCFNotToHPLMN-Barred (25),
- registrationInterzonalCF-Barred (26),
- registrationInterzonalCFNotToHPLMN-Barred (27),
- registrationInternationalCF-Barred (28)} (SIZE (15..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-GeneralData type shall be treated like unsupported ODB-GeneralData
- -- When the ODB-GeneralData type is removed from the HLR for a given subscriber,
- -- in NoteSubscriberDataModified operation sent toward the gsmSCF
- -- all bits shall be set to "O".
-
-ODB-HPLMN-Data ::= BIT STRING {
- plmn-SpecificBarringType1 (0),
- plmn-SpecificBarringType2 (1),
- plmn-SpecificBarringType3 (2),
- plmn-SpecificBarringType4 (3)} (SIZE (4..32))
- -- exception handling: reception of unknown bit assignments in the
- -- ODB-HPLMN-Data type shall be treated like unsupported ODB-HPLMN-Data
- -- When the ODB-HPLMN-Data type is removed from the HLR for a given subscriber,
- -- in NoteSubscriberDataModified operation sent toward the gsmSCF
- -- all bits shall be set to "O".
-
-Ext-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- Ext-SS-Info
-
-Ext-SS-Info ::= CHOICE {
- forwardingInfo [0] Ext-ForwInfo,
- callBarringInfo [1] Ext-CallBarInfo,
- cug-Info [2] CUG-Info,
- ss-Data [3] Ext-SS-Data,
- emlpp-Info [4] EMLPP-Info}
-
-Ext-ForwInfo ::= SEQUENCE {
- ss-Code SS-Code,
- forwardingFeatureList Ext-ForwFeatureList,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-ForwFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-ForwFeature
-
-Ext-ForwFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- -- When this data type is sent from an HLR which supports CAMEL Phase 2
- -- to a VLR that supports CAMEL Phase 2 the VLR shall not check the
- -- format of the number
- forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] Ext-ForwOptions OPTIONAL,
- noReplyConditionTime [7] Ext-NoRepCondTime OPTIONAL,
- extensionContainer [9] ExtensionContainer OPTIONAL,
- ...,
- longForwardedToNumber [10] FTN-AddressString OPTIONAL }
-
-Ext-ForwOptions ::= OCTET STRING (SIZE (1..5))
-
- -- OCTET 1:
-
- -- bit 8: notification to forwarding party
- -- 0 no notification
- -- 1 notification
-
- -- bit 7: redirecting presentation
- -- 0 no presentation
- -- 1 presentation
-
- -- bit 6: notification to calling party
- -- 0 no notification
- -- 1 notification
-
- -- bit 5: 0 (unused)
-
- -- bits 43: forwarding reason
- -- 00 ms not reachable
- -- 01 ms busy
- -- 10 no reply
- -- 11 unconditional
-
- -- bits 21: 00 (unused)
-
- -- OCTETS 2-5: reserved for future use. They shall be discarded if
- -- received and not understood.
-
-Ext-NoRepCondTime ::= INTEGER (1..100)
- -- Only values 5-30 are used.
- -- Values in the ranges 1-4 and 31-100 are reserved for future use
- -- If received:
- -- values 1-4 shall be mapped on to value 5
- -- values 31-100 shall be mapped on to value 30
-
-Ext-CallBarInfo ::= SEQUENCE {
- ss-Code SS-Code,
- callBarringFeatureList Ext-CallBarFeatureList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-CallBarFeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-CallBarringFeature
-
-Ext-CallBarringFeature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- ss-Status [4] Ext-SS-Status,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Info ::= SEQUENCE {
- cug-SubscriptionList CUG-SubscriptionList,
- cug-FeatureList CUG-FeatureList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-SubscriptionList ::= SEQUENCE SIZE (0..maxNumOfCUG) OF
- CUG-Subscription
-
-CUG-Subscription ::= SEQUENCE {
- cug-Index CUG-Index,
- cug-Interlock CUG-Interlock,
- intraCUG-Options IntraCUG-Options,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CUG-Index ::= INTEGER (0..32767)
- -- The internal structure is defined in ETS 300 138.
-
-CUG-Interlock ::= OCTET STRING (SIZE (4))
-
-IntraCUG-Options ::= ENUMERATED {
- noCUG-Restrictions (0),
- cugIC-CallBarred (1),
- cugOG-CallBarred (2)}
-
-maxNumOfCUG INTEGER ::= 10
-
-CUG-FeatureList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- CUG-Feature
-
-Ext-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfExt-BasicServiceGroups) OF
- Ext-BasicServiceCode
-
-maxNumOfExt-BasicServiceGroups INTEGER ::= 32
-
-CUG-Feature ::= SEQUENCE {
- basicService Ext-BasicServiceCode OPTIONAL,
- preferentialCUG-Indicator CUG-Index OPTIONAL,
- interCUG-Restrictions InterCUG-Restrictions,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-InterCUG-Restrictions ::= OCTET STRING (SIZE (1))
-
- -- bits 876543: 000000 (unused)
- -- Exception handling:
- -- bits 876543 shall be ignored if received and not understood
-
- -- bits 21
- -- 00 CUG only facilities
- -- 01 CUG with outgoing access
- -- 10 CUG with incoming access
- -- 11 CUG with both outgoing and incoming access
-
-Ext-SS-Data ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status [4] Ext-SS-Status,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
- basicServiceGroupList Ext-BasicServiceGroupList OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-LCS-PrivacyExceptionList ::= SEQUENCE SIZE (1..maxNumOfPrivacyClass) OF
- LCS-PrivacyClass
-
-maxNumOfPrivacyClass INTEGER ::= 4
-
-LCS-PrivacyClass ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status Ext-SS-Status,
- notificationToMSUser [0] NotificationToMSUser OPTIONAL,
- -- notificationToMSUser may be sent only for SS-codes callSessionRelated
- -- and callSessionUnrelated. If not received for SS-codes callSessionRelated
- -- and callSessionUnrelated,
- -- the default values according to 3GPP TS 23.271 shall be assumed.
- externalClientList [1] ExternalClientList OPTIONAL,
- -- externalClientList may be sent only for SS-code callSessionUnrelated to a
- -- visited node that does not support LCS Release 4 or later versions.
- -- externalClientList may be sent only for SS-codes callSessionUnrelated and
- -- callSessionRelated to a visited node that supports LCS Release 4 or later versions.
- plmnClientList [2] PLMNClientList OPTIONAL,
- -- plmnClientList may be sent only for SS-code plmnoperator.
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...,
- ext-externalClientList [4] Ext-ExternalClientList OPTIONAL,
- -- Ext-externalClientList may be sent only if the visited node supports LCS Release 4 or
- -- later versions, the user did specify more than 5 clients, and White Book SCCP is used.
- serviceTypeList [5] ServiceTypeList OPTIONAL
- -- serviceTypeList may be sent only for SS-code serviceType and if the visited node
- -- supports LCS Release 5 or later versions.
- --
- -- if segmentation is used, the complete LCS-PrivacyClass shall be sent in one segment
-}
-
-ExternalClientList ::= SEQUENCE SIZE (0..maxNumOfExternalClient) OF
- ExternalClient
-
-maxNumOfExternalClient INTEGER ::= 5
-
-PLMNClientList ::= SEQUENCE SIZE (1..maxNumOfPLMNClient) OF
- LCSClientInternalID
-
-maxNumOfPLMNClient INTEGER ::= 5
-
-Ext-ExternalClientList ::= SEQUENCE SIZE (1..maxNumOfExt-ExternalClient) OF
- ExternalClient
-
-maxNumOfExt-ExternalClient INTEGER ::= 35
-
-ExternalClient ::= SEQUENCE {
- clientIdentity LCSClientExternalID,
- gmlc-Restriction [0] GMLC-Restriction OPTIONAL,
- notificationToMSUser [1] NotificationToMSUser OPTIONAL,
- -- If notificationToMSUser is not received, the default value according to
- -- 3GPP TS 23.271 shall be assumed.
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... }
-
-GMLC-Restriction ::= ENUMERATED {
- gmlc-List (0),
- home-Country (1) ,
- ... }
--- exception handling:
--- At reception of any other value than the ones listed the receiver shall ignore
--- GMLC-Restriction.
-
-NotificationToMSUser ::= ENUMERATED {
- notifyLocationAllowed (0),
- notifyAndVerify-LocationAllowedIfNoResponse (1),
- notifyAndVerify-LocationNotAllowedIfNoResponse (2),
- ...,
- locationNotAllowed (3) }
--- exception handling:
--- At reception of any other value than the ones listed the receiver shall ignore
--- NotificationToMSUser.
-
-ServiceTypeList ::= SEQUENCE SIZE (1..maxNumOfServiceType) OF
- ServiceType
-
-maxNumOfServiceType INTEGER ::= 32
-
-ServiceType ::= SEQUENCE {
- serviceTypeIdentity LCSServiceTypeID,
- gmlc-Restriction [0] GMLC-Restriction OPTIONAL,
- notificationToMSUser [1] NotificationToMSUser OPTIONAL,
- -- If notificationToMSUser is not received, the default value according to
- -- 3GPP TS 23.271 shall be assumed.
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... }
-
-MOLR-List ::= SEQUENCE SIZE (1..maxNumOfMOLR-Class) OF
- MOLR-Class
-
-maxNumOfMOLR-Class INTEGER ::= 3
-
-MOLR-Class ::= SEQUENCE {
- ss-Code SS-Code,
- ss-Status Ext-SS-Status,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-ZoneCodeList ::= SEQUENCE SIZE (1..maxNumOfZoneCodes)
- OF ZoneCode
-
-ZoneCode ::= OCTET STRING (SIZE (2))
- -- internal structure is defined in TS 3GPP TS 23.003 [17]
-
-maxNumOfZoneCodes INTEGER ::= 10
-
-InsertSubscriberDataRes ::= SEQUENCE {
- teleserviceList [1] TeleserviceList OPTIONAL,
- bearerServiceList [2] BearerServiceList OPTIONAL,
- ss-List [3] SS-List OPTIONAL,
- odb-GeneralData [4] ODB-GeneralData OPTIONAL,
- regionalSubscriptionResponse [5] RegionalSubscriptionResponse OPTIONAL,
- supportedCamelPhases [6] SupportedCamelPhases OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ... ,
- offeredCamel4CSIs [8] OfferedCamel4CSIs OPTIONAL }
-
-RegionalSubscriptionResponse ::= ENUMERATED {
- networkNode-AreaRestricted (0),
- tooManyZoneCodes (1),
- zoneCodesConflict (2),
- regionalSubscNotSupported (3)}
-
-DeleteSubscriberDataArg ::= SEQUENCE {
- imsi [0] IMSI,
- basicServiceList [1] BasicServiceList OPTIONAL,
- -- The exception handling for reception of unsupported/not allocated
- -- basicServiceCodes is defined in section 6.8.2
- ss-List [2] SS-List OPTIONAL,
- roamingRestrictionDueToUnsupportedFeature [4] NULL OPTIONAL,
- regionalSubscriptionIdentifier [5] ZoneCode OPTIONAL,
- vbsGroupIndication [7] NULL OPTIONAL,
- vgcsGroupIndication [8] NULL OPTIONAL,
- camelSubscriptionInfoWithdraw [9] NULL OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...,
- gprsSubscriptionDataWithdraw [10] GPRSSubscriptionDataWithdraw OPTIONAL,
- roamingRestrictedInSgsnDueToUnsuppportedFeature [11] NULL OPTIONAL,
- lsaInformationWithdraw [12] LSAInformationWithdraw OPTIONAL,
- gmlc-ListWithdraw [13] NULL OPTIONAL,
- istInformationWithdraw [14] NULL OPTIONAL,
- specificCSI-Withdraw [15] SpecificCSI-Withdraw OPTIONAL }
-
-SpecificCSI-Withdraw ::= BIT STRING {
- o-csi (0),
- ss-csi (1),
- tif-csi (2),
- d-csi (3),
- vt-csi (4),
- mo-sms-csi (5),
- m-csi (6),
- gprs-csi (7),
- t-csi (8),
- mt-sms-csi (9),
- mg-csi (10),
- o-IM-CSI (11),
- d-IM-CSI (12),
- vt-IM-CSI (13) } (SIZE(8..32))
--- exception handling:
--- bits 11 to 31 shall be ignored if received by a non-IP Multimedia Core Network entity.
--- bits 0-10 and 14-31 shall be ignored if received by an IP Multimedia Core Network entity.
--- bits 11-13 are only applicable in an IP Multimedia Core Network.
--- Bit 8 and bits 11-13 are only applicable for the NoteSubscriberDataModified operation.
-
-GPRSSubscriptionDataWithdraw ::= CHOICE {
- allGPRSData NULL,
- contextIdList ContextIdList}
-
-ContextIdList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- ContextId
-
-LSAInformationWithdraw ::= CHOICE {
- allLSAData NULL,
- lsaIdentityList LSAIdentityList }
-
-LSAIdentityList ::= SEQUENCE SIZE (1..maxNumOfLSAs) OF
- LSAIdentity
-
-BasicServiceList ::= SEQUENCE SIZE (1..maxNumOfBasicServices) OF
- Ext-BasicServiceCode
-
-maxNumOfBasicServices INTEGER ::= 70
-
-DeleteSubscriberDataRes ::= SEQUENCE {
- regionalSubscriptionResponse [0] RegionalSubscriptionResponse OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VlrCamelSubscriptionInfo ::= SEQUENCE {
- o-CSI [0] O-CSI OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...,
- ss-CSI [2] SS-CSI OPTIONAL,
- o-BcsmCamelTDP-CriteriaList [4] O-BcsmCamelTDPCriteriaList OPTIONAL,
- tif-CSI [3] NULL OPTIONAL,
- m-CSI [5] M-CSI OPTIONAL,
- mo-sms-CSI [6] SMS-CSI OPTIONAL,
- vt-CSI [7] T-CSI OPTIONAL,
- t-BCSM-CAMEL-TDP-CriteriaList [8] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- d-CSI [9] D-CSI OPTIONAL,
- mt-sms-CSI [10] SMS-CSI OPTIONAL,
- mt-smsCAMELTDP-CriteriaList [11] MT-smsCAMELTDP-CriteriaList OPTIONAL
- }
-
-MT-smsCAMELTDP-CriteriaList ::= SEQUENCE SIZE (1.. maxNumOfCamelTDPData) OF
- MT-smsCAMELTDP-Criteria
-
-MT-smsCAMELTDP-Criteria ::= SEQUENCE {
- sms-TriggerDetectionPoint SMS-TriggerDetectionPoint,
- tpdu-TypeCriterion [0] TPDU-TypeCriterion OPTIONAL,
- ... }
-
-TPDU-TypeCriterion ::= SEQUENCE SIZE (1..maxNumOfTPDUTypes) OF
- MT-SMS-TPDU-Type
-
-
-maxNumOfTPDUTypes INTEGER ::= 5
-
-MT-SMS-TPDU-Type ::= ENUMERATED {
- sms-DELIVER (0),
- sms-SUBMIT-REPORT (1),
- sms-STATUS-REPORT (2),
- ... }
-
--- exception handling:
--- For TPDU-TypeCriterion sequences containing this parameter with any
--- other value than the ones listed above the receiver shall ignore
--- the whole TPDU-TypeCriterion sequence.
--- In CAMEL phase 4, sms-SUBMIT-REPORT shall not be used and a received TPDU-TypeCriterion
--- sequence containing sms-SUBMIT-REPORT shall be wholly ignored.
-
-D-CSI ::= SEQUENCE {
- dp-AnalysedInfoCriteriaList [0] DP-AnalysedInfoCriteriaList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when D-CSI is sent to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- DP-AnalysedInfoCriteria and camelCapabilityHandling shall be present in
--- the D-CSI sequence.
--- If D-CSI is segmented, then the first segment shall contain dp-AnalysedInfoCriteriaList
--- and camelCapabilityHandling. Subsequent segments shall not contain
--- camelCapabilityHandling, but may contain dp-AnalysedInfoCriteriaList.
-
-DP-AnalysedInfoCriteriaList ::= SEQUENCE SIZE (1..maxNumOfDP-AnalysedInfoCriteria) OF
- DP-AnalysedInfoCriterium
-
-maxNumOfDP-AnalysedInfoCriteria INTEGER ::= 10
-
-DP-AnalysedInfoCriterium ::= SEQUENCE {
- dialledNumber ISDN-AddressString,
- serviceKey ServiceKey,
- gsmSCF-Address ISDN-AddressString,
- defaultCallHandling DefaultCallHandling,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SS-CSI ::= SEQUENCE {
- ss-CamelData SS-CamelData,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- notificationToCSE [0] NULL OPTIONAL,
- csi-Active [1] NULL OPTIONAL
--- notificationToCSE and csi-Active shall not be present when SS-CSI is sent to VLR.
--- They may only be included in ATSI/ATM ack/NSDC message.
-}
-
-SS-CamelData ::= SEQUENCE {
- ss-EventList SS-EventList,
- gsmSCF-Address ISDN-AddressString,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-SS-EventList ::= SEQUENCE SIZE (1..maxNumOfCamelSSEvents) OF SS-Code
- -- Actions for the following SS-Code values are defined in CAMEL Phase 3:
- -- ect SS-Code ::= '00110001'B
- -- multiPTY SS-Code ::= '01010001'B
- -- cd SS-Code ::= '00100100'B
- -- ccbs SS-Code ::= '01000100'B
- -- all other SS codes shall be ignored
- -- When SS-CSI is sent to the VLR, it shall not contain a marking for ccbs.
- -- If the VLR receives SS-CSI containing a marking for ccbs, the VLR shall discard the
- -- ccbs marking in SS-CSI.
-
-maxNumOfCamelSSEvents INTEGER ::= 10
-
-O-CSI ::= SEQUENCE {
- o-BcsmCamelTDPDataList O-BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL,
- notificationToCSE [1] NULL OPTIONAL,
- csiActive [2] NULL OPTIONAL}
--- notificationtoCSE and csiActive shall not be present when O-CSI is sent to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- O-CSI shall not be segmented.
-
-O-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- O-BcsmCamelTDPData
- -- O-BcsmCamelTDPDataList shall not contain more than one instance of
- -- O-BcsmCamelTDPData containing the same value for o-BcsmTriggerDetectionPoint.
- -- For CAMEL Phase 2, this means that only one instance of O-BcsmCamelTDPData is allowed
- -- with o-BcsmTriggerDetectionPoint being equal to DP2.
-
-maxNumOfCamelTDPData INTEGER ::= 10
-
-O-BcsmCamelTDPData ::= SEQUENCE {
- o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- defaultCallHandling [1] DefaultCallHandling,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...
- }
-
-ServiceKey ::= INTEGER (0..2147483647)
-
-O-BcsmTriggerDetectionPoint ::= ENUMERATED {
- collectedInfo (2),
- ...,
- routeSelectFailure (4) }
- -- exception handling:
- -- For O-BcsmCamelTDPData sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- O-BcsmCamelTDPDatasequence.
- -- For O-BcsmCamelTDP-Criteria sequences containing this parameter with any
- -- other value than the ones listed the receiver shall ignore the whole
- -- O-BcsmCamelTDP-Criteria sequence.
-
-O-BcsmCamelTDPCriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- O-BcsmCamelTDP-Criteria
-
-T-BCSM-CAMEL-TDP-CriteriaList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- T-BCSM-CAMEL-TDP-Criteria
-
-O-BcsmCamelTDP-Criteria ::= SEQUENCE {
- o-BcsmTriggerDetectionPoint O-BcsmTriggerDetectionPoint,
- destinationNumberCriteria [0] DestinationNumberCriteria OPTIONAL,
- basicServiceCriteria [1] BasicServiceCriteria OPTIONAL,
- callTypeCriteria [2] CallTypeCriteria OPTIONAL,
- ...,
- o-CauseValueCriteria [3] O-CauseValueCriteria OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL }
-
-T-BCSM-CAMEL-TDP-Criteria ::= SEQUENCE {
- t-BCSM-TriggerDetectionPoint T-BcsmTriggerDetectionPoint,
- basicServiceCriteria [0] BasicServiceCriteria OPTIONAL,
- t-CauseValueCriteria [1] T-CauseValueCriteria OPTIONAL,
- ... }
-
-DestinationNumberCriteria ::= SEQUENCE {
- matchType [0] MatchType,
- destinationNumberList [1] DestinationNumberList OPTIONAL,
- destinationNumberLengthList [2] DestinationNumberLengthList OPTIONAL,
- -- one or both of destinationNumberList and destinationNumberLengthList
- -- shall be present
- ...}
-
-DestinationNumberList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumbers) OF
- ISDN-AddressString
- -- The receiving entity shall not check the format of a number in
- -- the dialled number list
-
-DestinationNumberLengthList ::= SEQUENCE SIZE (1..maxNumOfCamelDestinationNumberLengths) OF
- INTEGER(1..maxNumOfISDN-AddressDigits)
-
-BasicServiceCriteria ::= SEQUENCE SIZE(1..maxNumOfCamelBasicServiceCriteria) OF
- Ext-BasicServiceCode
-
-maxNumOfISDN-AddressDigits INTEGER ::= 15
-
-maxNumOfCamelDestinationNumbers INTEGER ::= 10
-
-maxNumOfCamelDestinationNumberLengths INTEGER ::= 3
-
-maxNumOfCamelBasicServiceCriteria INTEGER ::= 5
-
-CallTypeCriteria ::= ENUMERATED {
- forwarded (0),
- notForwarded (1)}
-
-MatchType ::= ENUMERATED {
- inhibiting (0),
- enabling (1)}
-
-O-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-O-CauseValueCriteria) OF
- CauseValue
-
-T-CauseValueCriteria ::= SEQUENCE SIZE(1..maxNumOfCAMEL-T-CauseValueCriteria) OF
- CauseValue
-
-maxNumOfCAMEL-O-CauseValueCriteria INTEGER ::= 5
-
-maxNumOfCAMEL-T-CauseValueCriteria INTEGER ::= 5
-
-CauseValue ::= OCTET STRING (SIZE(1))
--- Type extracted from Cause parameter in ITU-T Recommendation Q.763.
--- For the use of cause value refer to ITU-T Recommendation Q.850.
-
-DefaultCallHandling ::= ENUMERATED {
- continueCall (0) ,
- releaseCall (1) ,
- ...}
- -- exception handling:
- -- reception of values in range 2-31 shall be treated as "continueCall"
- -- reception of values greater than 31 shall be treated as "releaseCall"
-
-CamelCapabilityHandling ::= INTEGER(1..16)
- -- value 1 = CAMEL phase 1,
- -- value 2 = CAMEL phase 2,
- -- value 3 = CAMEL Phase 3,
- -- value 4 = CAMEL phase 4:
- -- reception of values greater than 4 shall be treated as CAMEL phase 4.
-
-SupportedCamelPhases ::= BIT STRING {
- phase1 (0),
- phase2 (1),
- phase3 (2),
- phase4 (3)} (SIZE (1..16))
--- A node shall mark in the BIT STRING all CAMEL Phases it supports.
--- Other values than listed above shall be discarded.
-
-OfferedCamel4CSIs ::= BIT STRING {
- o-csi (0),
- d-csi (1),
- vt-csi (2),
- t-csi (3),
- mt-sms-csi (4),
- mg-csi (5),
- psi-enhancements (6)
-} (SIZE (7..16))
--- A node supporting Camel phase 4 shall mark in the BIT STRING all Camel4 CSIs
--- it offers.
--- Other values than listed above shall be discarded.
-
-OfferedCamel4Functionalities ::= BIT STRING {
- initiateCallAttempt (0),
- splitLeg (1),
- moveLeg (2),
- disconnectLeg (3),
- entityReleased (4),
- dfc-WithArgument (5),
- playTone (6),
- dtmf-MidCall (7),
- chargingIndicator (8),
- alertingDP (9),
- locationAtAlerting (10),
- changeOfPositionDP (11),
- or-Interactions (12),
- warningToneEnhancements (13),
- cf-Enhancements (14),
- subscribedEnhancedDialledServices (15),
- servingNetworkEnhancedDialledServices (16),
- criteriaForChangeOfPositionDP (17),
- serviceChangeDP (18)
-} (SIZE (15..64))
--- A node supporting Camel phase 4 shall mark in the BIT STRING all CAMEL4
--- functionalities it offers.
--- Other values than listed above shall be discarded.
-
-SMS-CSI ::= SEQUENCE {
- sms-CAMEL-TDP-DataList [0] SMS-CAMEL-TDP-DataList OPTIONAL,
- camelCapabilityHandling [1] CamelCapabilityHandling OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- notificationToCSE [3] NULL OPTIONAL,
- csi-Active [4] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present
--- when MO-SMS-CSI or MT-SMS-CSI is sent to VLR or SGSN.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- SMS-CAMEL-TDP-Data and camelCapabilityHandling shall be present in
--- the SMS-CSI sequence.
--- If SMS-CSI is segmented, sms-CAMEL-TDP-DataList and camelCapabilityHandling shall be
--- present in the first segment
-
-SMS-CAMEL-TDP-DataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- SMS-CAMEL-TDP-Data
--- SMS-CAMEL-TDP-DataList shall not contain more than one instance of
--- SMS-CAMEL-TDP-Data containing the same value for sms-TriggerDetectionPoint.
-
-SMS-CAMEL-TDP-Data ::= SEQUENCE {
- sms-TriggerDetectionPoint [0] SMS-TriggerDetectionPoint,
- serviceKey [1] ServiceKey,
- gsmSCF-Address [2] ISDN-AddressString,
- defaultSMS-Handling [3] DefaultSMS-Handling,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...
- }
-
-SMS-TriggerDetectionPoint ::= ENUMERATED {
- sms-CollectedInfo (1),
- ...,
- sms-DeliveryRequest (2)
- }
--- exception handling:
--- For SMS-CAMEL-TDP-Data and MT-smsCAMELTDP-Criteria sequences containing this
--- parameter with any other value than the ones listed the receiver shall ignore
--- the whole sequence.
---
--- If this parameter is received with any other value than sms-CollectedInfo
--- in an SMS-CAMEL-TDP-Data sequence contained in mo-sms-CSI, then the receiver shall
--- ignore the whole SMS-CAMEL-TDP-Data sequence.
---
--- If this parameter is received with any other value than sms-DeliveryRequest
--- in an SMS-CAMEL-TDP-Data sequence contained in mt-sms-CSI then the receiver shall
--- ignore the whole SMS-CAMEL-TDP-Data sequence.
---
--- If this parameter is received with any other value than sms-DeliveryRequest
--- in an MT-smsCAMELTDP-Criteria sequence then the receiver shall
--- ignore the whole MT-smsCAMELTDP-Criteria sequence.
-
-DefaultSMS-Handling ::= ENUMERATED {
- continueTransaction (0) ,
- releaseTransaction (1) ,
- ...}
--- exception handling:
--- reception of values in range 2-31 shall be treated as "continueTransaction"
--- reception of values greater than 31 shall be treated as "releaseTransaction"
-
-M-CSI ::= SEQUENCE {
- mobilityTriggers MobilityTriggers,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- notificationToCSE [2] NULL OPTIONAL,
- csi-Active [3] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when M-CSI is sent to VLR.
--- They may only be included in ATSI/ATM ack/NSDC message.
-
-MG-CSI ::= SEQUENCE {
- mobilityTriggers MobilityTriggers,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- notificationToCSE [2] NULL OPTIONAL,
- csi-Active [3] NULL OPTIONAL,
- ...}
--- notificationToCSE and csi-Active shall not be present when MG-CSI is sent to SGSN.
--- They may only be included in ATSI/ATM ack/NSDC message.
-
-MobilityTriggers ::= SEQUENCE SIZE (1..maxNumOfMobilityTriggers) OF
- MM-Code
-
-maxNumOfMobilityTriggers INTEGER ::= 10
-
-MM-Code ::= OCTET STRING (SIZE (1))
--- This type is used to indicate a Mobility Management event.
--- Actions for the following MM-Code values are defined in CAMEL Phase 4:
---
--- CS domain MM events:
--- Location-update-in-same-VLR MM-Code ::= '00000000'B
--- Location-update-to-other-VLR MM-Code ::= '00000001'B
--- IMSI-Attach MM-Code ::= '00000010'B
--- MS-initiated-IMSI-Detach MM-Code ::= '00000011'B
--- Network-initiated-IMSI-Detach MM-Code ::= '00000100'B
---
--- PS domain MM events:
--- Routeing-Area-update-in-same-SGSN MM-Code ::= '10000000'B
--- Routeing-Area-update-to-other-SGSN-update-from-new-SGSN
--- MM-Code ::= '10000001'B
--- Routeing-Area-update-to-other-SGSN-disconnect-by-detach
--- MM-Code ::= '10000010'B
--- GPRS-Attach MM-Code ::= '10000011'B
--- MS-initiated-GPRS-Detach MM-Code ::= '10000100'B
--- Network-initiated-GPRS-Detach MM-Code ::= '10000101'B
--- Network-initiated-transfer-to-MS-not-reachable-for-paging
--- MM-Code ::= '10000110'B
---
--- If the MSC receives any other MM-code than the ones listed above for the
--- CS domain, then the MSC shall ignore that MM-code.
--- If the SGSN receives any other MM-code than the ones listed above for the
--- PS domain, then the SGSN shall ignore that MM-code.
-
-T-CSI ::= SEQUENCE {
- t-BcsmCamelTDPDataList T-BcsmCamelTDPDataList,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- camelCapabilityHandling [0] CamelCapabilityHandling OPTIONAL,
- notificationToCSE [1] NULL OPTIONAL,
- csi-Active [2] NULL OPTIONAL}
--- notificationToCSE and csi-Active shall not be present when VT-CSI/T-CSI is sent
--- to VLR/GMSC.
--- They may only be included in ATSI/ATM ack/NSDC message.
--- T-CSI shall not be segmented.
-
-T-BcsmCamelTDPDataList ::= SEQUENCE SIZE (1..maxNumOfCamelTDPData) OF
- T-BcsmCamelTDPData
- --- T-BcsmCamelTDPDataList shall not contain more than one instance of
- --- T-BcsmCamelTDPData containing the same value for t-BcsmTriggerDetectionPoint.
- --- For CAMEL Phase 2, this means that only one instance of T-BcsmCamelTDPData is allowed
- --- with t-BcsmTriggerDetectionPoint being equal to DP12.
- --- For CAMEL Phase 3, more TDP's are allowed.
-
-T-BcsmCamelTDPData ::= SEQUENCE {
- t-BcsmTriggerDetectionPoint T-BcsmTriggerDetectionPoint,
- serviceKey ServiceKey,
- gsmSCF-Address [0] ISDN-AddressString,
- defaultCallHandling [1] DefaultCallHandling,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-T-BcsmTriggerDetectionPoint ::= ENUMERATED {
- termAttemptAuthorized (12),
- ... ,
- tBusy (13),
- tNoAnswer (14)}
- -- exception handling:
- -- For T-BcsmCamelTDPData sequences containing this parameter with any other
- -- value than the ones listed above, the receiver shall ignore the whole
- -- T-BcsmCamelTDPData sequence.
-
--- gprs location information retrieval types
-
-SendRoutingInfoForGprsArg ::= SEQUENCE {
- imsi [0] IMSI,
- ggsn-Address [1] GSN-Address OPTIONAL,
- ggsn-Number [2] ISDN-AddressString,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-SendRoutingInfoForGprsRes ::= SEQUENCE {
- sgsn-Address [0] GSN-Address,
- ggsn-Address [1] GSN-Address OPTIONAL,
- mobileNotReachableReason [2] AbsentSubscriberDiagnosticSM OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
--- failure report types
-
-FailureReportArg ::= SEQUENCE {
- imsi [0] IMSI,
- ggsn-Number [1] ISDN-AddressString ,
- ggsn-Address [2] GSN-Address OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-FailureReportRes ::= SEQUENCE {
- ggsn-Address [0] GSN-Address OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...}
-
--- gprs notification types
-
-NoteMsPresentForGprsArg ::= SEQUENCE {
- imsi [0] IMSI,
- sgsn-Address [1] GSN-Address,
- ggsn-Address [2] GSN-Address OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-NoteMsPresentForGprsRes ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
--- fault recovery types
-
-ResetArg ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- hlr-List HLR-List OPTIONAL,
- ...}
-
-RestoreDataArg ::= SEQUENCE {
- imsi IMSI,
- lmsi LMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- vlr-Capability [6] VLR-Capability OPTIONAL }
-
-RestoreDataRes ::= SEQUENCE {
- hlr-Number ISDN-AddressString,
- msNotReachable NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- VBS/VGCS types
-VBSDataList ::= SEQUENCE SIZE (1..maxNumOfVBSGroupIds) OF
- VoiceBroadcastData
-
-VGCSDataList ::= SEQUENCE SIZE (1..maxNumOfVGCSGroupIds) OF
- VoiceGroupCallData
-
-maxNumOfVBSGroupIds INTEGER ::= 50
-
-maxNumOfVGCSGroupIds INTEGER ::= 50
-
-VoiceGroupCallData ::= SEQUENCE {
- groupId GroupId,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-VoiceBroadcastData ::= SEQUENCE {
- groupid GroupId,
- broadcastInitEntitlement NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-GroupId ::= TBCD-STRING (SIZE (3))
- -- When Group-Id is less than six characters in length, the TBCD filler (1111)
- -- is used to fill unused half octets.
- -- Refers to the Group Identification as specified in 3GPP TS 23.003
- -- and 3GPP TS 43.068/ 43.069
-
--- provide subscriber info types
-
-ProvideSubscriberInfoArg ::= SEQUENCE {
- imsi [0] IMSI,
- lmsi [1] LMSI OPTIONAL,
- requestedInfo [2] RequestedInfo,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-ProvideSubscriberInfoRes ::= SEQUENCE {
- subscriberInfo SubscriberInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SubscriberInfo ::= SEQUENCE {
- locationInformation [0] LocationInformation OPTIONAL,
- subscriberState [1] SubscriberState OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ... ,
- locationInformationGPRS [3] LocationInformationGPRS OPTIONAL,
- ps-SubscriberState [4] PS-SubscriberState OPTIONAL,
- imei [5] IMEI OPTIONAL,
- ms-Classmark2 [6] MS-Classmark2 OPTIONAL,
- gprs-MS-Class [7] GPRSMSClass OPTIONAL,
- mnpInfoRes [8] MNPInfoRes OPTIONAL }
-
--- If the HLR receives locationInformation, subscriberState or ms-Classmark2 from an SGSN
--- it shall discard them.
--- If the HLR receives locationInformationGPRS, ps-SubscriberState or gprs-MS-Class from
--- a VLR it shall discard them.
--- If the HLR receives parameters which it has not requested, it shall discard them.
-
-MNPInfoRes ::= SEQUENCE {
- routeingNumber [0] RouteingNumber OPTIONAL,
- imsi [1] IMSI OPTIONAL,
- msisdn [2] ISDN-AddressString OPTIONAL,
- numberPortabilityStatus [3] NumberPortabilityStatus OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ... }
--- The IMSI parameter contains a generic IMSI, i.e. it is not tied necessarily to the
--- Subscriber. MCC and MNC values in this IMSI shall point to the Subscription Network of
--- the Subscriber. See 3GPP TS 23.066 [108].
-
-RouteingNumber ::= TBCD-STRING (SIZE (1..5))
-
-
-NumberPortabilityStatus ::= ENUMERATED {
- notKnownToBePorted (0),
- ownNumberPortedOut (1),
- foreignNumberPortedToForeignNetwork (2),
- ...,
- ownNumberNotPortedOut (4),
- foreignNumberPortedIn (5)
- }
- -- exception handling:
- -- reception of other values than the ones listed the receiver shall ignore the
- -- whole NumberPortabilityStatus;
- -- ownNumberNotPortedOut or foreignNumberPortedIn may only be included in Any Time
- -- Interrogation message.
-
-MS-Classmark2 ::= OCTET STRING (SIZE (3))
- -- This parameter carries the value part of the MS Classmark 2 IE defined in
- -- 3GPP TS 24.008 [35].
-
-GPRSMSClass ::= SEQUENCE {
- mSNetworkCapability [0] MSNetworkCapability,
- mSRadioAccessCapability [1] MSRadioAccessCapability OPTIONAL
- }
-
-MSNetworkCapability ::= OCTET STRING (SIZE (1..8))
- -- This parameter carries the value part of the MS Network Capability IE defined in
- -- 3GPP TS 24.008 [35].
-
-MSRadioAccessCapability ::= OCTET STRING (SIZE (1..50))
- -- This parameter carries the value part of the MS Radio Access Capability IE defined in
- -- 3GPP TS 24.008 [35].
-
-RequestedInfo ::= SEQUENCE {
- locationInformation [0] NULL OPTIONAL,
- subscriberState [1] NULL OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- currentLocation [3] NULL OPTIONAL,
- requestedDomain [4] DomainType OPTIONAL,
- imei [6] NULL OPTIONAL,
- ms-classmark [5] NULL OPTIONAL,
- mnpRequestedInfo [7] NULL OPTIONAL }
-
--- currentLocation shall be absent if locationInformation is absent
-
-DomainType ::= ENUMERATED {
- cs-Domain (0),
- ps-Domain (1),
- ...}
--- exception handling:
--- reception of values > 1 shall be mapped to 'cs-Domain'
-
-LocationInformation ::= SEQUENCE {
- ageOfLocationInformation AgeOfLocationInformation OPTIONAL,
- geographicalInformation [0] GeographicalInformation OPTIONAL,
- vlr-number [1] ISDN-AddressString OPTIONAL,
- locationNumber [2] LocationNumber OPTIONAL,
- cellGlobalIdOrServiceAreaIdOrLAI [3] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ... ,
- selectedLSA-Id [5] LSAIdentity OPTIONAL,
- msc-Number [6] ISDN-AddressString OPTIONAL,
- geodeticInformation [7] GeodeticInformation OPTIONAL,
- currentLocationRetrieved [8] NULL OPTIONAL,
- sai-Present [9] NULL OPTIONAL }
--- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
--- a Service Area Identity.
--- currentLocationRetrieved shall be present
--- if the location information were retrieved after a successfull paging.
-
-LocationInformationGPRS ::= SEQUENCE {
- cellGlobalIdOrServiceAreaIdOrLAI [0] CellGlobalIdOrServiceAreaIdOrLAI OPTIONAL,
- routeingAreaIdentity [1] RAIdentity OPTIONAL,
- geographicalInformation [2] GeographicalInformation OPTIONAL,
- sgsn-Number [3] ISDN-AddressString OPTIONAL,
- selectedLSAIdentity [4] LSAIdentity OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...,
- sai-Present [6] NULL OPTIONAL,
- geodeticInformation [7] GeodeticInformation OPTIONAL,
- currentLocationRetrieved [8] NULL OPTIONAL,
- ageOfLocationInformation [9] AgeOfLocationInformation OPTIONAL }
--- sai-Present indicates that the cellGlobalIdOrServiceAreaIdOrLAI parameter contains
--- a Service Area Identity.
--- currentLocationRetrieved shall be present if the location information
--- was retrieved after successful paging.
-
-RAIdentity ::= OCTET STRING (SIZE (6))
--- Routing Area Identity is coded in accordance with 3GPP TS 29.060 [105].
--- It shall contain the value part defined in 3GPP TS 29.060 only. I.e. the 3GPP TS 29.060
--- type identifier octet shall not be included.
-
-
-GeographicalInformation ::= OCTET STRING (SIZE (8))
--- Refers to geographical Information defined in 3GPP TS 23.032.
--- Only the description of an ellipsoid point with uncertainty circle
--- as specified in 3GPP TS 23.032 is allowed to be used
--- The internal structure according to 3GPP TS 23.032 is as follows:
--- Type of shape (ellipsoid point with uncertainty circle) 1 octet
--- Degrees of Latitude 3 octets
--- Degrees of Longitude 3 octets
--- Uncertainty code 1 octet
-
-GeodeticInformation ::= OCTET STRING (SIZE (10))
--- Refers to Calling Geodetic Location defined in Q.763 (1999).
--- Only the description of an ellipsoid point with uncertainty circle
--- as specified in Q.763 (1999) is allowed to be used
--- The internal structure according to Q.763 (1999) is as follows:
--- Screening and presentation indicators 1 octet
--- Type of shape (ellipsoid point with uncertainty circle) 1 octet
--- Degrees of Latitude 3 octets
--- Degrees of Longitude 3 octets
--- Uncertainty code 1 octet
--- Confidence 1 octet
-
-LocationNumber ::= OCTET STRING (SIZE (2..10))
- -- the internal structure is defined in ITU-T Rec Q.763
-
-SubscriberState ::= CHOICE {
- assumedIdle [0] NULL,
- camelBusy [1] NULL,
- netDetNotReachable NotReachableReason,
- notProvidedFromVLR [2] NULL}
-
-PS-SubscriberState ::= CHOICE {
- notProvidedFromSGSN [0] NULL,
- ps-Detached [1] NULL,
- ps-AttachedNotReachableForPaging [2] NULL,
- ps-AttachedReachableForPaging [3] NULL,
- ps-PDP-ActiveNotReachableForPaging [4] PDP-ContextInfoList,
- ps-PDP-ActiveReachableForPaging [5] PDP-ContextInfoList,
- netDetNotReachable NotReachableReason }
-
-PDP-ContextInfoList ::= SEQUENCE SIZE (1..maxNumOfPDP-Contexts) OF
- PDP-ContextInfo
-
-PDP-ContextInfo ::= SEQUENCE {
- pdp-ContextIdentifier [0] ContextId,
- pdp-ContextActive [1] NULL OPTIONAL,
- pdp-Type [2] PDP-Type,
- pdp-Address [3] PDP-Address OPTIONAL,
- apn-Subscribed [4] APN OPTIONAL,
- apn-InUse [5] APN OPTIONAL,
- nsapi [6] NSAPI OPTIONAL,
- transactionId [7] TransactionId OPTIONAL,
- teid-ForGnAndGp [8] TEID OPTIONAL,
- teid-ForIu [9] TEID OPTIONAL,
- ggsn-Address [10] GSN-Address OPTIONAL,
- qos-Subscribed [11] Ext-QoS-Subscribed OPTIONAL,
- qos-Requested [12] Ext-QoS-Subscribed OPTIONAL,
- qos-Negotiated [13] Ext-QoS-Subscribed OPTIONAL,
- chargingId [14] GPRSChargingID OPTIONAL,
- chargingCharacteristics [15] ChargingCharacteristics OPTIONAL,
- rnc-Address [16] GSN-Address OPTIONAL,
- extensionContainer [17] ExtensionContainer OPTIONAL,
- ...,
- qos2-Subscribed [18] Ext2-QoS-Subscribed OPTIONAL,
- -- qos2-Subscribed may be present only if qos-Subscribed is present.
- qos2-Requested [19] Ext2-QoS-Subscribed OPTIONAL,
- -- qos2-Requested may be present only if qos-Requested is present.
- qos2-Negotiated [20] Ext2-QoS-Subscribed OPTIONAL
- -- qos2-Negotiated may be present only if qos-Negotiated is present.
- }
-
-NSAPI ::= INTEGER (0..15)
--- This type is used to indicate the Network layer Service Access Point
-
-TransactionId ::= OCTET STRING (SIZE (1..2))
--- This type carries the value part of the transaction identifier which is used in the
--- session management messages on the access interface. The encoding is defined in
--- 3GPP TS 24.008
-
-TEID ::= OCTET STRING (SIZE (4))
--- This type carries the value part of the Tunnel Endpoint Identifier which is used to
--- distinguish between different tunnels between the same pair of entities which communicate
--- using the GPRS Tunnelling Protocol The encoding is defined in 3GPP TS 29.060.
-
-GPRSChargingID ::= OCTET STRING (SIZE (4))
--- The Charging ID is a unique four octet value generated by the GGSN when
--- a PDP Context is activated. A Charging ID is generated for each activated context.
--- The encoding is defined in 3GPP TS 29.060.
-
-NotReachableReason ::= ENUMERATED {
- msPurged (0),
- imsiDetached (1),
- restrictedArea (2),
- notRegistered (3)}
-
--- any time interrogation info types
-
-AnyTimeInterrogationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- requestedInfo [1] RequestedInfo,
- gsmSCF-Address [3] ISDN-AddressString,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-AnyTimeInterrogationRes ::= SEQUENCE {
- subscriberInfo SubscriberInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- any time information handling types
-
-AnyTimeSubscriptionInterrogationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- requestedSubscriptionInfo [1] RequestedSubscriptionInfo,
- gsmSCF-Address [2] ISDN-AddressString,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- longFTN-Supported [4] NULL OPTIONAL,
- ...}
-
-AnyTimeSubscriptionInterrogationRes ::= SEQUENCE {
- callForwardingData [1] CallForwardingData OPTIONAL,
- callBarringData [2] CallBarringData OPTIONAL,
- odb-Info [3] ODB-Info OPTIONAL,
- camel-SubscriptionInfo [4] CAMEL-SubscriptionInfo OPTIONAL,
- supportedVLR-CAMEL-Phases [5] SupportedCamelPhases OPTIONAL,
- supportedSGSN-CAMEL-Phases [6] SupportedCamelPhases OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ... ,
- offeredCamel4CSIsInVLR [8] OfferedCamel4CSIs OPTIONAL,
- offeredCamel4CSIsInSGSN [9] OfferedCamel4CSIs OPTIONAL }
-
-RequestedSubscriptionInfo ::= SEQUENCE {
- requestedSS-Info [1] SS-ForBS-Code OPTIONAL,
- odb [2] NULL OPTIONAL,
- requestedCAMEL-SubscriptionInfo [3] RequestedCAMEL-SubscriptionInfo OPTIONAL,
- supportedVLR-CAMEL-Phases [4] NULL OPTIONAL,
- supportedSGSN-CAMEL-Phases [5] NULL OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...,
- additionalRequestedCAMEL-SubscriptionInfo
- [7] AdditionalRequestedCAMEL-SubscriptionInfo
- OPTIONAL }
-
-RequestedCAMEL-SubscriptionInfo ::= ENUMERATED {
- o-CSI (0),
- t-CSI (1),
- vt-CSI (2),
- tif-CSI (3),
- gprs-CSI (4),
- mo-sms-CSI (5),
- ss-CSI (6),
- m-CSI (7),
- d-csi (8)}
-
-AdditionalRequestedCAMEL-SubscriptionInfo ::= ENUMERATED {
- mt-sms-CSI (0),
- mg-csi (1),
- o-IM-CSI (2),
- d-IM-CSI (3),
- vt-IM-CSI (4),
- ...}
--- exception handling: unknown values shall be discarded by the receiver.
-
-CallForwardingData ::= SEQUENCE {
- forwardingFeatureList Ext-ForwFeatureList,
- notificationToCSE NULL OPTIONAL,
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-CallBarringData ::= SEQUENCE {
- callBarringFeatureList Ext-CallBarFeatureList,
- password Password OPTIONAL,
- wrongPasswordAttemptsCounter WrongPasswordAttemptsCounter OPTIONAL,
- notificationToCSE NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-WrongPasswordAttemptsCounter ::= INTEGER (0..4)
-
-ODB-Info ::= SEQUENCE {
- odb-Data ODB-Data,
- notificationToCSE NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-CAMEL-SubscriptionInfo ::= SEQUENCE {
- o-CSI [0] O-CSI OPTIONAL,
- o-BcsmCamelTDP-CriteriaList [1] O-BcsmCamelTDPCriteriaList OPTIONAL,
- d-CSI [2] D-CSI OPTIONAL,
- t-CSI [3] T-CSI OPTIONAL,
- t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- vt-CSI [5] T-CSI OPTIONAL,
- vt-BCSM-CAMEL-TDP-CriteriaList [6] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
- tif-CSI [7] NULL OPTIONAL,
- tif-CSI-NotificationToCSE [8] NULL OPTIONAL,
- gprs-CSI [9] GPRS-CSI OPTIONAL,
- mo-sms-CSI [10] SMS-CSI OPTIONAL,
- ss-CSI [11] SS-CSI OPTIONAL,
- m-CSI [12] M-CSI OPTIONAL,
- extensionContainer [13] ExtensionContainer OPTIONAL,
- ...,
- specificCSIDeletedList [14] SpecificCSI-Withdraw OPTIONAL,
- mt-sms-CSI [15] SMS-CSI OPTIONAL,
- mt-smsCAMELTDP-CriteriaList [16] MT-smsCAMELTDP-CriteriaList OPTIONAL,
- mg-csi [17] MG-CSI OPTIONAL,
- o-IM-CSI [18] O-CSI OPTIONAL,
- o-IM-BcsmCamelTDP-CriteriaList [19] O-BcsmCamelTDPCriteriaList OPTIONAL,
- d-IM-CSI [20] D-CSI OPTIONAL,
- vt-IM-CSI [21] T-CSI OPTIONAL,
- vt-IM-BCSM-CAMEL-TDP-CriteriaList [22] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL
- }
-
-AnyTimeModificationArg ::= SEQUENCE {
- subscriberIdentity [0] SubscriberIdentity,
- gsmSCF-Address [1] ISDN-AddressString,
- modificationRequestFor-CF-Info [2] ModificationRequestFor-CF-Info OPTIONAL,
- modificationRequestFor-CB-Info [3] ModificationRequestFor-CB-Info OPTIONAL,
- modificationRequestFor-CSI [4] ModificationRequestFor-CSI OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- longFTN-Supported [6] NULL OPTIONAL,
- ...,
- modificationRequestFor-ODB-data [7] ModificationRequestFor-ODB-data OPTIONAL }
-
-AnyTimeModificationRes ::= SEQUENCE {
- ss-InfoFor-CSE [0] Ext-SS-InfoFor-CSE OPTIONAL,
- camel-SubscriptionInfo [1] CAMEL-SubscriptionInfo OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...,
- odb-Info [3] ODB-Info OPTIONAL }
-
-ModificationRequestFor-CF-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- basicService [1] Ext-BasicServiceCode OPTIONAL,
- ss-Status [2] Ext-SS-Status OPTIONAL,
- forwardedToNumber [3] AddressString OPTIONAL,
- forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL,
- noReplyConditionTime [5] Ext-NoRepCondTime OPTIONAL,
- modifyNotificationToCSE [6] ModificationInstruction OPTIONAL,
- extensionContainer [7] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-CB-Info ::= SEQUENCE {
- ss-Code [0] SS-Code,
- basicService [1] Ext-BasicServiceCode OPTIONAL,
- ss-Status [2] Ext-SS-Status OPTIONAL,
- password [3] Password OPTIONAL,
- wrongPasswordAttemptsCounter [4] WrongPasswordAttemptsCounter OPTIONAL,
- modifyNotificationToCSE [5] ModificationInstruction OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-ODB-data ::= SEQUENCE {
- odb-data [0] ODB-Data OPTIONAL,
- modifyNotificationToCSE [1] ModificationInstruction OPTIONAL,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-ModificationRequestFor-CSI ::= SEQUENCE {
- requestedCamel-SubscriptionInfo [0] RequestedCAMEL-SubscriptionInfo,
- modifyNotificationToCSE [1] ModificationInstruction OPTIONAL,
- modifyCSI-State [2] ModificationInstruction OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...,
- additionalRequestedCAMEL-SubscriptionInfo
- [4] AdditionalRequestedCAMEL-SubscriptionInfo
- OPTIONAL }
--- requestedCamel-SubscriptionInfo shall be discarded if
--- additionalRequestedCAMEL-SubscriptionInfo is received
-
-ModificationInstruction ::= ENUMERATED {
- deactivate (0),
- activate (1)}
-
--- subscriber data modification notification types
-
-NoteSubscriberDataModifiedArg ::= SEQUENCE {
- imsi IMSI,
- msisdn ISDN-AddressString,
- forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE OPTIONAL,
- callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE OPTIONAL,
- odb-Info [2] ODB-Info OPTIONAL,
- camel-SubscriptionInfo [3] CAMEL-SubscriptionInfo OPTIONAL,
- allInformationSent [4] NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-NoteSubscriberDataModifiedRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
--- mobility management event notificatioon info types
-
-NoteMM-EventArg::= SEQUENCE {
- serviceKey ServiceKey,
- eventMet [0] MM-Code,
- imsi [1] IMSI,
- msisdn [2] ISDN-AddressString,
- locationInformation [3] LocationInformation OPTIONAL,
- supportedCAMELPhases [5] SupportedCamelPhases OPTIONAL,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ...,
- locationInformationGPRS [7] LocationInformationGPRS OPTIONAL,
- offeredCamel4Functionalities [8] OfferedCamel4Functionalities OPTIONAL
-}
-
-NoteMM-EventRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-Ext-SS-InfoFor-CSE ::= CHOICE {
- forwardingInfoFor-CSE [0] Ext-ForwardingInfoFor-CSE,
- callBarringInfoFor-CSE [1] Ext-CallBarringInfoFor-CSE
- }
-
-Ext-ForwardingInfoFor-CSE ::= SEQUENCE {
- ss-Code [0] SS-Code,
- forwardingFeatureList [1] Ext-ForwFeatureList,
- notificationToCSE [2] NULL OPTIONAL,
- extensionContainer [3] ExtensionContainer OPTIONAL,
- ...}
-
-Ext-CallBarringInfoFor-CSE ::= SEQUENCE {
- ss-Code [0] SS-Code,
- callBarringFeatureList [1] Ext-CallBarFeatureList,
- password [2] Password OPTIONAL,
- wrongPasswordAttemptsCounter [3] WrongPasswordAttemptsCounter OPTIONAL,
- notificationToCSE [4] NULL OPTIONAL,
- extensionContainer [5] ExtensionContainer OPTIONAL,
- ...}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-MobileServiceOperations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-MobileServiceOperations.asn
deleted file mode 100644
index b91eac7cdf..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-MobileServiceOperations.asn
+++ /dev/null
@@ -1,506 +0,0 @@
-MAP-MobileServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MobileServiceOperations (5)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
-
- -- location registration operations
- updateLocation,
- cancelLocation,
- purgeMS,
- sendIdentification,
-
- -- gprs location registration operations
- updateGprsLocation,
-
- -- subscriber information enquiry operations
- provideSubscriberInfo,
-
- -- any time information enquiry operations
- anyTimeInterrogation,
-
- -- any time information handling operations
- anyTimeSubscriptionInterrogation,
- anyTimeModification,
-
- -- subscriber data modification notification operations
- noteSubscriberDataModified,
-
-
- -- handover operations
- prepareHandover,
- sendEndSignal,
- processAccessSignalling,
- forwardAccessSignalling,
- prepareSubsequentHandover,
-
- -- authentication management operations
- sendAuthenticationInfo,
- authenticationFailureReport,
-
- -- IMEI management operations
- checkIMEI,
-
- -- subscriber management operations
- insertSubscriberData,
- deleteSubscriberData,
-
- -- fault recovery operations
- reset,
- forwardCheckSS-Indication,
- restoreData,
-
--- gprs location information retrieval operations
- sendRoutingInfoForGprs,
-
- -- failure reporting operations
- failureReport,
-
- -- gprs notification operations
- noteMsPresentForGprs,
-
--- Mobility Management operations
- noteMM-Event
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- unknownSubscriber,
- unknownMSC,
- unidentifiedSubscriber,
- unknownEquipment,
- roamingNotAllowed,
- ati-NotAllowed,
- noHandoverNumberAvailable,
- subsequentHandoverFailure,
- absentSubscriber,
- mm-EventNotSupported,
- atsi-NotAllowed,
- atm-NotAllowed,
- bearerServiceNotProvisioned,
- teleserviceNotProvisioned,
- callBarred,
- illegalSS-Operation,
- ss-ErrorStatus,
- ss-NotAvailable,
- ss-Incompatibility,
- ss-SubscriptionViolation,
- informationNotAvailable,
- targetCellOutsideGroupCallArea
-
-
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- UpdateLocationArg,
- UpdateLocationRes,
- CancelLocationArg,
- CancelLocationRes,
- PurgeMS-Arg,
- PurgeMS-Res,
- SendIdentificationArg,
- SendIdentificationRes,
- UpdateGprsLocationArg,
- UpdateGprsLocationRes,
- PrepareHO-Arg,
- PrepareHO-Res,
-ForwardAccessSignalling-Arg,
-ProcessAccessSignalling-Arg,
-SendEndSignal-Arg,
-SendEndSignal-Res,
-PrepareSubsequentHO-Res,
- PrepareSubsequentHO-Arg,
- SendAuthenticationInfoArg,
- SendAuthenticationInfoRes,
- AuthenticationFailureReportArg,
- AuthenticationFailureReportRes,
- CheckIMEI-Arg,
- CheckIMEI-Res,
- InsertSubscriberDataArg,
- InsertSubscriberDataRes,
- DeleteSubscriberDataArg,
- DeleteSubscriberDataRes,
- ResetArg,
- RestoreDataArg,
- RestoreDataRes,
- ProvideSubscriberInfoArg,
- ProvideSubscriberInfoRes,
- AnyTimeSubscriptionInterrogationArg,
- AnyTimeSubscriptionInterrogationRes,
- AnyTimeModificationArg,
- AnyTimeModificationRes,
- NoteSubscriberDataModifiedArg,
- NoteSubscriberDataModifiedRes,
- AnyTimeInterrogationArg,
- AnyTimeInterrogationRes,
- SendRoutingInfoForGprsArg,
- SendRoutingInfoForGprsRes,
- FailureReportArg,
- FailureReportRes,
- NoteMsPresentForGprsArg,
- NoteMsPresentForGprsRes,
- NoteMM-EventArg,
- NoteMM-EventRes
-
-
-FROM MAP-MS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MS-DataTypes (11) version9 (9)}
-
-;
-
-
--- location registration operations
-
-updateLocation OPERATION ::= { --Timer m
- ARGUMENT
- UpdateLocationArg
- RESULT
- UpdateLocationRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- roamingNotAllowed}
- CODE local:2 }
-
-cancelLocation OPERATION ::= { --Timer m
- ARGUMENT
- CancelLocationArg
- RESULT
- CancelLocationRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue}
- CODE local:3 }
-
-purgeMS OPERATION ::= { --Timer m
- ARGUMENT
- PurgeMS-Arg
- RESULT
- PurgeMS-Res
- -- optional
- ERRORS{
- dataMissing |
- unexpectedDataValue|
- unknownSubscriber}
- CODE local:67 }
-
-sendIdentification OPERATION ::= { --Timer s
- ARGUMENT
- SendIdentificationArg
- RESULT
- SendIdentificationRes
- ERRORS {
- dataMissing |
- unidentifiedSubscriber}
- CODE local:55 }
-
--- gprs location registration operations
-
-updateGprsLocation OPERATION ::= { --Timer m
- ARGUMENT
- UpdateGprsLocationArg
- RESULT
- UpdateGprsLocationRes
- ERRORS {
- systemFailure |
- unexpectedDataValue |
- unknownSubscriber |
- roamingNotAllowed}
- CODE local:23 }
-
--- subscriber information enquiry operations
-
-provideSubscriberInfo OPERATION ::= { --Timer m
- ARGUMENT
- ProvideSubscriberInfoArg
- RESULT
- ProvideSubscriberInfoRes
- ERRORS {
- dataMissing |
- unexpectedDataValue}
- CODE local:70 }
-
--- any time information enquiry operations
-
-anyTimeInterrogation OPERATION ::= { --Timer m
- ARGUMENT
- AnyTimeInterrogationArg
- RESULT
- AnyTimeInterrogationRes
- ERRORS {
- systemFailure |
- ati-NotAllowed |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:71 }
-
--- any time information handling operations
-
-anyTimeSubscriptionInterrogation OPERATION ::= { --Timer m
- ARGUMENT
- AnyTimeSubscriptionInterrogationArg
- RESULT
- AnyTimeSubscriptionInterrogationRes
- ERRORS {
- atsi-NotAllowed |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-NotAvailable |
- informationNotAvailable}
- CODE local:62 }
-
-anyTimeModification OPERATION ::= { --Timer m
- ARGUMENT
- AnyTimeModificationArg
- RESULT
- AnyTimeModificationRes
- ERRORS {
- atm-NotAllowed |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-SubscriptionViolation |
- ss-ErrorStatus |
- ss-Incompatibility |
- informationNotAvailable}
- CODE local:65 }
-
--- subscriber data modification notification operations
-
-noteSubscriberDataModified OPERATION ::= { --Timer m
- ARGUMENT
- NoteSubscriberDataModifiedArg
- RESULT
- NoteSubscriberDataModifiedRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:5 }
-
--- handover operations
-
-prepareHandover OPERATION ::= { --Timer m
- ARGUMENT
- PrepareHO-Arg
- RESULT
- PrepareHO-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- noHandoverNumberAvailable |
- targetCellOutsideGroupCallArea }
- CODE local:68 }
-
-sendEndSignal OPERATION ::= { --Timer l
- ARGUMENT
- SendEndSignal-Arg
- RESULT
- SendEndSignal-Res
- CODE local:29 }
-
-processAccessSignalling OPERATION ::= { --Timer s
- ARGUMENT
- ProcessAccessSignalling-Arg
- CODE local:33 }
-
-forwardAccessSignalling OPERATION ::= { --Timer s
- ARGUMENT
- ForwardAccessSignalling-Arg
- CODE local:34 }
-
-prepareSubsequentHandover OPERATION ::= { --Timer m
- ARGUMENT
- PrepareSubsequentHO-Arg
- RESULT
- PrepareSubsequentHO-Res
- ERRORS {
- unexpectedDataValue |
- dataMissing |
- unknownMSC |
- subsequentHandoverFailure}
- CODE local:69 }
-
--- authentication management operations
-
-sendAuthenticationInfo OPERATION ::= { --Timer m
- ARGUMENT
- SendAuthenticationInfoArg
- -- optional
- -- within a dialogue sendAuthenticationInfoArg shall not be present in
- -- subsequent invoke components. If received in a subsequent invoke component
- -- it shall be discarded.
-
- RESULT
- SendAuthenticationInfoRes
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:56 }
-
-authenticationFailureReport OPERATION ::= { --Timer m
- ARGUMENT
- AuthenticationFailureReportArg
- RESULT
- AuthenticationFailureReportRes
- -- optional
- ERRORS {
- systemFailure |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:15 }
-
--- IMEI management operations
-
-checkIMEI OPERATION ::= { --Timer m
- ARGUMENT
- CheckIMEI-Arg
- RESULT
- CheckIMEI-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unknownEquipment}
- CODE local:43 }
-
--- subscriber management operations
-
-insertSubscriberData OPERATION ::= { --Timer m
- ARGUMENT
- InsertSubscriberDataArg
- RESULT
- InsertSubscriberDataRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unidentifiedSubscriber}
- CODE local:7 }
-
-deleteSubscriberData OPERATION ::= { --Timer m
- ARGUMENT
- DeleteSubscriberDataArg
- RESULT
- DeleteSubscriberDataRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unidentifiedSubscriber}
- CODE local:8 }
-
--- fault recovery operations
-
-reset OPERATION ::= { --Timer m
- ARGUMENT
- ResetArg
- CODE local:37 }
-
-forwardCheckSS-Indication OPERATION ::= { --Timer s
- CODE local:38 }
-
-restoreData OPERATION ::= { --Timer m
- ARGUMENT
- RestoreDataArg
- RESULT
- RestoreDataRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:57 }
-
--- gprs location information retrieval operations
-
-sendRoutingInfoForGprs OPERATION ::= { --Timer m
- ARGUMENT
- SendRoutingInfoForGprsArg
- RESULT
- SendRoutingInfoForGprsRes
- ERRORS {
- absentSubscriber |
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- callBarred }
- CODE local:24 }
-
--- failure reporting operations
-
-failureReport OPERATION ::= { --Timer m
- ARGUMENT
- FailureReportArg
- RESULT
- FailureReportRes
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:25 }
-
--- gprs notification operations
-
-noteMsPresentForGprs OPERATION ::= { --Timer m
- ARGUMENT
- NoteMsPresentForGprsArg
- RESULT
- NoteMsPresentForGprsRes
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:26 }
-
-noteMM-Event OPERATION ::= { --Timer m
- ARGUMENT
- NoteMM-EventArg
- RESULT
- NoteMM-EventRes
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- mm-EventNotSupported}
- CODE local:89 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-OM-DataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-OM-DataTypes.asn
deleted file mode 100644
index 3866b1e6e5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-OM-DataTypes.asn
+++ /dev/null
@@ -1,62 +0,0 @@
-MAP-OM-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-OM-DataTypes (12) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- ActivateTraceModeArg,
- ActivateTraceModeRes,
- DeactivateTraceModeArg,
- DeactivateTraceModeRes
-;
-
-IMPORTS
- AddressString,
- IMSI
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
-;
-
-ActivateTraceModeArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
- traceReference [1] TraceReference,
- traceType [2] TraceType,
- omc-Id [3] AddressString OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-TraceReference ::= OCTET STRING (SIZE (1..2))
-
-TraceType ::= INTEGER
- (0..255)
- -- Trace types are fully defined in TS GSM 12.08.
-
-ActivateTraceModeRes ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-DeactivateTraceModeArg ::= SEQUENCE {
- imsi [0] IMSI OPTIONAL,
- traceReference [1] TraceReference,
- extensionContainer [2] ExtensionContainer OPTIONAL,
- ...}
-
-DeactivateTraceModeRes ::= SEQUENCE {
- extensionContainer [0] ExtensionContainer OPTIONAL,
- ...}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-OperationAndMaintenanceOperations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-OperationAndMaintenanceOperations.asn
deleted file mode 100644
index adc50bd436..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-OperationAndMaintenanceOperations.asn
+++ /dev/null
@@ -1,91 +0,0 @@
-MAP-OperationAndMaintenanceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-OperationAndMaintenanceOperations (6)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- activateTraceMode,
- deactivateTraceMode,
- sendIMSI
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- facilityNotSupported,
- unknownSubscriber,
- unidentifiedSubscriber,
- tracingBufferFull
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- ActivateTraceModeArg,
- ActivateTraceModeRes,
- DeactivateTraceModeArg,
- DeactivateTraceModeRes
-FROM MAP-OM-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-OM-DataTypes (12) version9 (9)}
-
- ISDN-AddressString,
- IMSI
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-;
-
-
-activateTraceMode OPERATION ::= { --Timer m
- ARGUMENT
- ActivateTraceModeArg
- RESULT
- ActivateTraceModeRes
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unidentifiedSubscriber |
- tracingBufferFull}
- CODE local:50 }
-
-deactivateTraceMode OPERATION ::= { --Timer m
- ARGUMENT
- DeactivateTraceModeArg
- RESULT
- DeactivateTraceModeRes
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unidentifiedSubscriber}
- CODE local:51 }
-
-sendIMSI OPERATION ::= { --Timer m
- ARGUMENT
- ISDN-AddressString
- RESULT
- IMSI
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:58 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Protocol.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Protocol.asn
deleted file mode 100644
index 68dfb986c8..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-Protocol.asn
+++ /dev/null
@@ -1,176 +0,0 @@
-MAP-Protocol {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Protocol (4) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-IMPORTS
-OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
-
- updateLocation,
- cancelLocation,
- purgeMS,
- sendIdentification,
- updateGprsLocation,
- prepareHandover,
- sendEndSignal,
- processAccessSignalling,
- forwardAccessSignalling,
- prepareSubsequentHandover,
- sendAuthenticationInfo,
- authenticationFailureReport,
- checkIMEI,
- insertSubscriberData,
- deleteSubscriberData,
- reset,
- forwardCheckSS-Indication,
- restoreData,
- provideSubscriberInfo,
- anyTimeInterrogation,
- anyTimeSubscriptionInterrogation,
- anyTimeModification,
- sendRoutingInfoForGprs,
- failureReport,
- noteMsPresentForGprs,
- noteMM-Event,
- noteSubscriberDataModified
-
-
-FROM MAP-MobileServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-MobileServiceOperations (5)
- version9 (9)}
-
- activateTraceMode,
- deactivateTraceMode,
- sendIMSI
-FROM MAP-OperationAndMaintenanceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-OperationAndMaintenanceOperations (6)
- version9 (9)}
-
- sendRoutingInfo,
- provideRoamingNumber,
- resumeCallHandling,
- setReportingState,
- statusReport,
- remoteUserFree,
- ist-Alert,
- ist-Command
-FROM MAP-CallHandlingOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CallHandlingOperations (7)
- version9 (9)}
-
- registerSS,
- eraseSS,
- activateSS,
- deactivateSS,
- interrogateSS,
- processUnstructuredSS-Request,
- unstructuredSS-Request,
- unstructuredSS-Notify,
- registerPassword,
- getPassword,
- ss-InvocationNotification,
- registerCC-Entry,
- eraseCC-Entry
-FROM MAP-SupplementaryServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SupplementaryServiceOperations (8)
- version9 (9)}
-
- sendRoutingInfoForSM,
- mo-ForwardSM,
- mt-ForwardSM,
- reportSM-DeliveryStatus,
- alertServiceCentre,
- informServiceCentre,
- readyForSM
-FROM MAP-ShortMessageServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9)
- version9 (9)}
-
- prepareGroupCall,
- processGroupCallSignalling,
- forwardGroupCallSignalling,
- sendGroupCallEndSignal
-FROM MAP-Group-Call-Operations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Group-Call-Operations (22)
- version9 (9)}
-
- provideSubscriberLocation,
- sendRoutingInfoForLCS,
- subscriberLocationReport
-FROM MAP-LocationServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-LocationServiceOperations (24)
- version9 (9)}
-
-secureTransportClass1,
-secureTransportClass2,
-secureTransportClass3,
-secureTransportClass4
-
-FROM MAP-SecureTransportOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SecureTransportOperations (26)
- version9 (9)}
-
-;
-Supported-MAP-Operations OPERATION ::= {updateLocation | cancelLocation | purgeMS |
-sendIdentification | updateGprsLocation | prepareHandover | sendEndSignal |
-processAccessSignalling | forwardAccessSignalling | prepareSubsequentHandover |
-sendAuthenticationInfo | authenticationFailureReport | checkIMEI | insertSubscriberData |
-deleteSubscriberData | reset | forwardCheckSS-Indication | restoreData | provideSubscriberInfo |
-anyTimeInterrogation | anyTimeSubscriptionInterrogation | anyTimeModification |
-sendRoutingInfoForGprs | failureReport |noteMsPresentForGprs | noteMM-Event |
-noteSubscriberDataModified | activateTraceMode | deactivateTraceMode | sendIMSI |
-sendRoutingInfo | provideRoamingNumber | resumeCallHandling | setReportingState | statusReport | remoteUserFree | ist-Alert |
-ist-Command | registerSS | eraseSS | activateSS | deactivateSS | interrogateSS |
-processUnstructuredSS-Request | unstructuredSS-Request | unstructuredSS-Notify |
-registerPassword | getPassword | ss-InvocationNotification | registerCC-Entry | eraseCC-Entry |
-sendRoutingInfoForSM | mo-ForwardSM | mt-ForwardSM | reportSM-DeliveryStatus |
-alertServiceCentre | informServiceCentre | readyForSM | prepareGroupCall |
-processGroupCallSignalling | forwardGroupCallSignalling | sendGroupCallEndSignal |
-provideSubscriberLocation | sendRoutingInfoForLCS | subscriberLocationReport |
-secureTransportClass1 |secureTransportClass2 | secureTransportClass3 | secureTransportClass4}
-
-
-
--- The following operation codes are reserved for operations
--- existing in previous versions of the protocol
-
--- Operation Name AC used Oper. Code
---
--- sendParameters map-ac infoRetrieval (14) version1 (1) local:9
--- processUnstructuredSS-Data map-ac networkFunctionalSs (18) version1 (1) local:19
--- performHandover map-ac handoverControl (11) version1 (1) local:28
--- performSubsequentHandover map-ac handoverControl (11) version1 (1) local:30
--- provideSIWFSNumber map-ac sIWFSAllocation (12) version3 (3) local:31
--- siwfs-SignallingModify map-ac sIWFSAllocation (12) version3 (3) local:32
--- noteInternalHandover map-ac handoverControl (11) version1 (1) local:35
--- noteSubscriberPresent map-ac mwdMngt (24) version1 (1) local:48
--- alertServiceCentreWithoutResult map-ac shortMsgAlert (23) version1 (1) local:49
--- traceSubscriberActivity map-ac handoverControl (11) version1 (1) local:52
--- beginSubscriberActivity map-ac networkFunctionalSs (18) version1 (1) local:54
-
--- The following error codes are reserved for errors
--- existing in previous versions of the protocol
-
--- Error Name AC used Error Code
---
--- unknownBaseStation map-ac handoverControl (11) version1 (1) local:2
--- invalidTargetBaseStation map-ac handoverControl (11) version1 (1) local:23
--- noRadioResourceAvailable map-ac handoverControl (11) version1 (1) local:24
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SM-DataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SM-DataTypes.asn
deleted file mode 100644
index 664baa1b41..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SM-DataTypes.asn
+++ /dev/null
@@ -1,217 +0,0 @@
-MAP-SM-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SM-DataTypes (16) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- RoutingInfoForSM-Arg,
- RoutingInfoForSM-Res,
- MO-ForwardSM-Arg,
- MO-ForwardSM-Res,
- MT-ForwardSM-Arg,
- MT-ForwardSM-Res,
- ReportSM-DeliveryStatusArg,
- ReportSM-DeliveryStatusRes,
- AlertServiceCentreArg,
- InformServiceCentreArg,
- ReadyForSM-Arg,
- ReadyForSM-Res,
- SM-DeliveryOutcome,
- AlertReason,
- Additional-Number
-;
-
-IMPORTS
- AddressString,
- ISDN-AddressString,
- SignalInfo,
- IMSI,
- LMSI
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- AbsentSubscriberDiagnosticSM
-FROM MAP-ER-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ER-DataTypes (17) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-;
-
-
-RoutingInfoForSM-Arg ::= SEQUENCE {
- msisdn [0] ISDN-AddressString,
- sm-RP-PRI [1] BOOLEAN,
- serviceCentreAddress [2] AddressString,
- extensionContainer [6] ExtensionContainer OPTIONAL,
- ... ,
- gprsSupportIndicator [7] NULL OPTIONAL,
- -- gprsSupportIndicator is set only if the SMS-GMSC supports
- -- receiving of two numbers from the HLR
- sm-RP-MTI [8] SM-RP-MTI OPTIONAL,
- sm-RP-SMEA [9] SM-RP-SMEA OPTIONAL }
-
-SM-RP-MTI ::= INTEGER (0..10)
- -- 0 SMS Deliver
- -- 1 SMS Status Report
- -- other values are reserved for future use and shall be discarded if
- -- received
-
-SM-RP-SMEA ::= OCTET STRING (SIZE (1..12))
- -- this parameter contains an address field which is encoded
- -- as defined in 3GPP TS 23.040. An address field contains 3 elements :
- -- address-length
- -- type-of-address
- -- address-value
-
-RoutingInfoForSM-Res ::= SEQUENCE {
- imsi IMSI,
- locationInfoWithLMSI [0] LocationInfoWithLMSI,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...}
-
-LocationInfoWithLMSI ::= SEQUENCE {
- networkNode-Number [1] ISDN-AddressString,
- lmsi LMSI OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- gprsNodeIndicator [5] NULL OPTIONAL,
- -- gprsNodeIndicator is set only if the SGSN number is sent as the
- -- Network Node Number
- additional-Number [6] Additional-Number OPTIONAL
- -- NetworkNode-number can be either msc-number or sgsn-number
- }
-
-Additional-Number ::= CHOICE {
- msc-Number [0] ISDN-AddressString,
- sgsn-Number [1] ISDN-AddressString}
- -- additional-number can be either msc-number or sgsn-number
- -- if received networkNode-number is msc-number then the
- -- additional number is sgsn-number
- -- if received networkNode-number is sgsn-number then the
- -- additional number is msc-number
-
-MO-ForwardSM-Arg ::= SEQUENCE {
- sm-RP-DA SM-RP-DA,
- sm-RP-OA SM-RP-OA,
- sm-RP-UI SignalInfo,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- imsi IMSI OPTIONAL }
-
-MO-ForwardSM-Res ::= SEQUENCE {
- sm-RP-UI SignalInfo OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-MT-ForwardSM-Arg ::= SEQUENCE {
- sm-RP-DA SM-RP-DA,
- sm-RP-OA SM-RP-OA,
- sm-RP-UI SignalInfo,
- moreMessagesToSend NULL OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-MT-ForwardSM-Res ::= SEQUENCE {
- sm-RP-UI SignalInfo OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-SM-RP-DA ::= CHOICE {
- imsi [0] IMSI,
- lmsi [1] LMSI,
- serviceCentreAddressDA [4] AddressString,
- noSM-RP-DA [5] NULL}
-
-SM-RP-OA ::= CHOICE {
- msisdn [2] ISDN-AddressString,
- serviceCentreAddressOA [4] AddressString,
- noSM-RP-OA [5] NULL}
-
-ReportSM-DeliveryStatusArg ::= SEQUENCE {
- msisdn ISDN-AddressString,
- serviceCentreAddress AddressString,
- sm-DeliveryOutcome SM-DeliveryOutcome,
- absentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM
- OPTIONAL,
- extensionContainer [1] ExtensionContainer OPTIONAL,
- ...,
- gprsSupportIndicator [2] NULL OPTIONAL,
- -- gprsSupportIndicator is set only if the SMS-GMSC supports
- -- handling of two delivery outcomes
- deliveryOutcomeIndicator [3] NULL OPTIONAL,
- -- DeliveryOutcomeIndicator is set when the SM-DeliveryOutcome
- -- is for GPRS
- additionalSM-DeliveryOutcome [4] SM-DeliveryOutcome OPTIONAL,
- -- If received, additionalSM-DeliveryOutcome is for GPRS
- -- If DeliveryOutcomeIndicator is set, then AdditionalSM-DeliveryOutcome shall be absent
- additionalAbsentSubscriberDiagnosticSM [5] AbsentSubscriberDiagnosticSM OPTIONAL
- -- If received additionalAbsentSubscriberDiagnosticSM is for GPRS
- -- If DeliveryOutcomeIndicator is set, then AdditionalAbsentSubscriberDiagnosticSM
- -- shall be absent
- }
-
-SM-DeliveryOutcome ::= ENUMERATED {
- memoryCapacityExceeded (0),
- absentSubscriber (1),
- successfulTransfer (2)}
-
-ReportSM-DeliveryStatusRes ::= SEQUENCE {
- storedMSISDN ISDN-AddressString OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-AlertServiceCentreArg ::= SEQUENCE {
- msisdn ISDN-AddressString,
- serviceCentreAddress AddressString,
- ...}
-
-InformServiceCentreArg ::= SEQUENCE {
- storedMSISDN ISDN-AddressString OPTIONAL,
- mw-Status MW-Status OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ... ,
- absentSubscriberDiagnosticSM AbsentSubscriberDiagnosticSM OPTIONAL,
- additionalAbsentSubscriberDiagnosticSM [0] AbsentSubscriberDiagnosticSM OPTIONAL }
- -- additionalAbsentSubscriberDiagnosticSM may be present only if
- -- absentSubscriberDiagnosticSM is present.
- -- if included, additionalAbsentSubscriberDiagnosticSM is for GPRS and
- -- absentSubscriberDiagnosticSM is for non-GPRS
-
-MW-Status ::= BIT STRING {
- sc-AddressNotIncluded (0),
- mnrf-Set (1),
- mcef-Set (2) ,
- mnrg-Set (3)} (SIZE (6..16))
- -- exception handling:
- -- bits 4 to 15 shall be ignored if received and not understood
-
-ReadyForSM-Arg ::= SEQUENCE {
- imsi [0] IMSI,
- alertReason AlertReason,
- alertReasonIndicator NULL OPTIONAL,
- -- alertReasonIndicator is set only when the alertReason
- -- sent to HLR is for GPRS
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-ReadyForSM-Res ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...}
-
-AlertReason ::= ENUMERATED {
- ms-Present (0),
- memoryAvailable (1)}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SS-Code.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SS-Code.asn
deleted file mode 100644
index d3f0957648..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SS-Code.asn
+++ /dev/null
@@ -1,183 +0,0 @@
-MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-SS-Code ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- supplementary service, a group of supplementary services, or
- -- all supplementary services. The services and abbreviations
- -- used are defined in TS 3GPP TS 22.004 [5]. The internal structure is
- -- defined as follows:
- --
- -- bits 87654321: group (bits 8765), and specific service
- -- (bits 4321)
-
-allSS SS-Code ::= '00000000'B
- -- reserved for possible future use
- -- all SS
-
-allLineIdentificationSS SS-Code ::= '00010000'B
- -- reserved for possible future use
- -- all line identification SS
-clip SS-Code ::= '00010001'B
- -- calling line identification presentation
-clir SS-Code ::= '00010010'B
- -- calling line identification restriction
-colp SS-Code ::= '00010011'B
- -- connected line identification presentation
-colr SS-Code ::= '00010100'B
- -- connected line identification restriction
-mci SS-Code ::= '00010101'B
- -- reserved for possible future use
- -- malicious call identification
-
-allNameIdentificationSS SS-Code ::= '00011000'B
- -- all name identification SS
-cnap SS-Code ::= '00011001'B
- -- calling name presentation
-
- -- SS-Codes '00011010'B to '00011111'B are reserved for future
- -- NameIdentification Supplementary Service use.
-
-allForwardingSS SS-Code ::= '00100000'B
- -- all forwarding SS
-cfu SS-Code ::= '00100001'B
- -- call forwarding unconditional
-allCondForwardingSS SS-Code ::= '00101000'B
- -- all conditional forwarding SS
-cfb SS-Code ::= '00101001'B
- -- call forwarding on mobile subscriber busy
-cfnry SS-Code ::= '00101010'B
- -- call forwarding on no reply
-cfnrc SS-Code ::= '00101011'B
- -- call forwarding on mobile subscriber not reachable
-cd SS-Code ::= '00100100'B
- -- call deflection
-
-allCallOfferingSS SS-Code ::= '00110000'B
- -- reserved for possible future use
- -- all call offering SS includes also all forwarding SS
-ect SS-Code ::= '00110001'B
- -- explicit call transfer
-mah SS-Code ::= '00110010'B
- -- reserved for possible future use
- -- mobile access hunting
-
-allCallCompletionSS SS-Code ::= '01000000'B
- -- reserved for possible future use
- -- all Call completion SS
-cw SS-Code ::= '01000001'B
- -- call waiting
-hold SS-Code ::= '01000010'B
- -- call hold
-ccbs-A SS-Code ::= '01000011'B
- -- completion of call to busy subscribers, originating side
-ccbs-B SS-Code ::= '01000100'B
- -- completion of call to busy subscribers, destination side
- -- this SS-Code is used only in InsertSubscriberData and DeleteSubscriberData
-mc SS-Code ::= '01000101'B
- -- multicall
-
-allMultiPartySS SS-Code ::= '01010000'B
- -- reserved for possible future use
- -- all multiparty SS
-multiPTY SS-Code ::= '01010001'B
- -- multiparty
-
-allCommunityOfInterest-SS SS-Code ::= '01100000'B
- -- reserved for possible future use
- -- all community of interest SS
-cug SS-Code ::= '01100001'B
- -- closed user group
-
-allChargingSS SS-Code ::= '01110000'B
- -- reserved for possible future use
- -- all charging SS
-aoci SS-Code ::= '01110001'B
- -- advice of charge information
-aocc SS-Code ::= '01110010'B
- -- advice of charge charging
-
-allAdditionalInfoTransferSS SS-Code ::= '10000000'B
- -- reserved for possible future use
- -- all additional information transfer SS
-uus1 SS-Code ::= '10000001'B
- -- UUS1 user-to-user signalling
-uus2 SS-Code ::= '10000010'B
- -- UUS2 user-to-user signalling
-uus3 SS-Code ::= '10000011'B
- -- UUS3 user-to-user signalling
-
-allBarringSS SS-Code ::= '10010000'B
- -- all barring SS
-barringOfOutgoingCalls SS-Code ::= '10010001'B
- -- barring of outgoing calls
-baoc SS-Code ::= '10010010'B
- -- barring of all outgoing calls
-boic SS-Code ::= '10010011'B
- -- barring of outgoing international calls
-boicExHC SS-Code ::= '10010100'B
- -- barring of outgoing international calls except those directed
- -- to the home PLMN Country
-barringOfIncomingCalls SS-Code ::= '10011001'B
- -- barring of incoming calls
-baic SS-Code ::= '10011010'B
- -- barring of all incoming calls
-bicRoam SS-Code ::= '10011011'B
- -- barring of incoming calls when roaming outside home PLMN
- -- Country
-
-allPLMN-specificSS SS-Code ::= '11110000'B
-plmn-specificSS-1 SS-Code ::= '11110001'B
-plmn-specificSS-2 SS-Code ::= '11110010'B
-plmn-specificSS-3 SS-Code ::= '11110011'B
-plmn-specificSS-4 SS-Code ::= '11110100'B
-plmn-specificSS-5 SS-Code ::= '11110101'B
-plmn-specificSS-6 SS-Code ::= '11110110'B
-plmn-specificSS-7 SS-Code ::= '11110111'B
-plmn-specificSS-8 SS-Code ::= '11111000'B
-plmn-specificSS-9 SS-Code ::= '11111001'B
-plmn-specificSS-A SS-Code ::= '11111010'B
-plmn-specificSS-B SS-Code ::= '11111011'B
-plmn-specificSS-C SS-Code ::= '11111100'B
-plmn-specificSS-D SS-Code ::= '11111101'B
-plmn-specificSS-E SS-Code ::= '11111110'B
-plmn-specificSS-F SS-Code ::= '11111111'B
-
-allCallPrioritySS SS-Code ::= '10100000'B
- -- reserved for possible future use
- -- all call priority SS
-emlpp SS-Code ::= '10100001'B
- -- enhanced Multilevel Precedence Pre-emption (EMLPP) service
-
-allLCSPrivacyException SS-Code ::= '10110000'B
- -- all LCS Privacy Exception Classes
-universal SS-Code ::= '10110001'B
- -- allow location by any LCS client
-callSessionRelated SS-Code ::= '10110010'B
- -- allow location by any value added LCS client to which a call/session
- -- is established from the target MS
-callSessionUnrelated SS-Code ::= '10110011'B
- -- allow location by designated external value added LCS clients
-plmnoperator SS-Code ::= '10110100'B
- -- allow location by designated PLMN operator LCS clients
-serviceType SS-Code ::= '10110101'B
- -- allow location by LCS clients of a designated LCS service type
-
-allMOLR-SS SS-Code ::= '11000000'B
- -- all Mobile Originating Location Request Classes
-basicSelfLocation SS-Code ::= '11000001'B
- -- allow an MS to request its own location
-autonomousSelfLocation SS-Code ::= '11000010'B
- -- allow an MS to perform self location without interaction
- -- with the PLMN for a predetermined period of time
-transferToThirdParty SS-Code ::= '11000011'B
- -- allow an MS to request transfer of its location to another LCS client
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SS-DataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SS-DataTypes.asn
deleted file mode 100644
index 5cf9178353..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SS-DataTypes.asn
+++ /dev/null
@@ -1,337 +0,0 @@
-MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
-DEFINITIONS
-
-IMPLICIT TAGS
-
-::=
-
-BEGIN
-
-EXPORTS
- RegisterSS-Arg,
- SS-Info,
- SS-Status,
- SS-SubscriptionOption,
- SS-ForBS-Code,
- InterrogateSS-Res,
- USSD-Arg,
- USSD-Res,
- USSD-DataCodingScheme,
- USSD-String,
- Password,
- GuidanceInfo,
- SS-List,
- SS-InfoList,
- OverrideCategory,
- CliRestrictionOption,
- NoReplyConditionTime,
- ForwardingOptions,
- maxNumOfSS,
- SS-Data,
- SS-InvocationNotificationArg,
- SS-InvocationNotificationRes,
- CCBS-Feature,
- RegisterCC-EntryArg,
- RegisterCC-EntryRes,
- EraseCC-EntryArg,
- EraseCC-EntryRes
-;
-
-IMPORTS
- AddressString,
- ISDN-AddressString,
- ISDN-SubaddressString,
- FTN-AddressString,
- IMSI,
- BasicServiceCode,
- AlertingPattern,
- EMLPP-Priority,
- MaxMC-Bearers,
- MC-Bearers,
- ExternalSignalInfo
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-
- ExtensionContainer
-FROM MAP-ExtensionDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version9 (9)}
-
- SS-Code
-FROM MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-;
-
-
-RegisterSS-Arg ::= SEQUENCE {
- ss-Code SS-Code,
- basicService BasicServiceCode OPTIONAL,
- forwardedToNumber [4] AddressString OPTIONAL,
- forwardedToSubaddress [6] ISDN-SubaddressString OPTIONAL,
- noReplyConditionTime [5] NoReplyConditionTime OPTIONAL,
- ...,
- defaultPriority [7] EMLPP-Priority OPTIONAL,
- nbrUser [8] MC-Bearers OPTIONAL,
- longFTN-Supported [9] NULL OPTIONAL }
-
-NoReplyConditionTime ::= INTEGER (5..30)
-
-SS-Info ::= CHOICE {
- forwardingInfo [0] ForwardingInfo,
- callBarringInfo [1] CallBarringInfo,
- ss-Data [3] SS-Data}
-
-ForwardingInfo ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- forwardingFeatureList ForwardingFeatureList,
- ...}
-
-ForwardingFeatureList ::=
- SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- ForwardingFeature
-
-ForwardingFeature ::= SEQUENCE {
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- forwardedToNumber [5] ISDN-AddressString OPTIONAL,
- forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
- forwardingOptions [6] ForwardingOptions OPTIONAL,
- noReplyConditionTime [7] NoReplyConditionTime OPTIONAL,
- ...,
- longForwardedToNumber [9] FTN-AddressString OPTIONAL }
-
-SS-Status ::= OCTET STRING (SIZE (1))
-
- -- bits 8765: 0000 (unused)
- -- bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
- -- representing supplementary service state information
- -- as defined in TS 3GPP TS 23.011 [22]
-
- -- bit 4: "Q bit"
-
- -- bit 3: "P bit"
-
- -- bit 2: "R bit"
-
- -- bit 1: "A bit"
-
-ForwardingOptions ::= OCTET STRING (SIZE (1))
-
- -- bit 8: notification to forwarding party
- -- 0 no notification
- -- 1 notification
-
- -- bit 7: redirecting presentation
- -- 0 no presentation
- -- 1 presentation
-
- -- bit 6: notification to calling party
- -- 0 no notification
- -- 1 notification
-
- -- bit 5: 0 (unused)
-
- -- bits 43: forwarding reason
- -- 00 ms not reachable
- -- 01 ms busy
- -- 10 no reply
- -- 11 unconditional when used in a SRI Result,
- -- or call deflection when used in a RCH Argument
- -- bits 21: 00 (unused)
-
-CallBarringInfo ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- callBarringFeatureList CallBarringFeatureList,
- ...}
-
-CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- CallBarringFeature
-
-CallBarringFeature ::= SEQUENCE {
- basicService BasicServiceCode OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- ...}
-
-SS-Data ::= SEQUENCE {
- ss-Code SS-Code OPTIONAL,
- ss-Status [4] SS-Status OPTIONAL,
- ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
- basicServiceGroupList BasicServiceGroupList OPTIONAL,
- ...,
- defaultPriority EMLPP-Priority OPTIONAL,
- nbrUser [5] MC-Bearers OPTIONAL
- }
-
-SS-SubscriptionOption ::= CHOICE {
- cliRestrictionOption [2] CliRestrictionOption,
- overrideCategory [1] OverrideCategory}
-
-CliRestrictionOption ::= ENUMERATED {
- permanent (0),
- temporaryDefaultRestricted (1),
- temporaryDefaultAllowed (2)}
-
-OverrideCategory ::= ENUMERATED {
- overrideEnabled (0),
- overrideDisabled (1)}
-
-SS-ForBS-Code ::= SEQUENCE {
- ss-Code SS-Code,
- basicService BasicServiceCode OPTIONAL,
- ...,
- longFTN-Supported [4] NULL OPTIONAL }
-
-GenericServiceInfo ::= SEQUENCE {
- ss-Status SS-Status,
- cliRestrictionOption CliRestrictionOption OPTIONAL,
- ...,
- maximumEntitledPriority [0] EMLPP-Priority OPTIONAL,
- defaultPriority [1] EMLPP-Priority OPTIONAL,
- ccbs-FeatureList [2] CCBS-FeatureList OPTIONAL,
- nbrSB [3] MaxMC-Bearers OPTIONAL,
- nbrUser [4] MC-Bearers OPTIONAL,
- nbrSN [5] MC-Bearers OPTIONAL }
-
-CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF
- CCBS-Feature
-
-maxNumOfCCBS-Requests INTEGER ::= 5
-
-CCBS-Feature ::= SEQUENCE {
- ccbs-Index [0] CCBS-Index OPTIONAL,
- b-subscriberNumber [1] ISDN-AddressString OPTIONAL,
- b-subscriberSubaddress [2] ISDN-SubaddressString OPTIONAL,
- basicServiceGroup [3] BasicServiceCode OPTIONAL,
- ...}
-
-CCBS-Index ::= INTEGER (1..maxNumOfCCBS-Requests)
-
-InterrogateSS-Res ::= CHOICE {
- ss-Status [0] SS-Status,
- basicServiceGroupList [2] BasicServiceGroupList,
- forwardingFeatureList [3] ForwardingFeatureList,
- genericServiceInfo [4] GenericServiceInfo }
-
-USSD-Arg ::= SEQUENCE {
- ussd-DataCodingScheme USSD-DataCodingScheme,
- ussd-String USSD-String,
- ... ,
- alertingPattern AlertingPattern OPTIONAL,
- msisdn [0] ISDN-AddressString OPTIONAL }
-
-USSD-Res ::= SEQUENCE {
- ussd-DataCodingScheme USSD-DataCodingScheme,
- ussd-String USSD-String,
- ...}
-
-USSD-DataCodingScheme ::= OCTET STRING (SIZE (1))
- -- The structure of the USSD-DataCodingScheme is defined by
- -- the Cell Broadcast Data Coding Scheme as described in
- -- TS 3GPP TS 23.038 [25]
-
-USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength))
- -- The structure of the contents of the USSD-String is dependent
- -- on the USSD-DataCodingScheme as described in TS 3GPP TS 23.038 [25].
-
-maxUSSD-StringLength INTEGER ::= 160
-
-Password ::= NumericString
- (FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"))
- (SIZE (4))
-
-GuidanceInfo ::= ENUMERATED {
- enterPW (0),
- enterNewPW (1),
- enterNewPW-Again (2)}
- -- How this information is really delivered to the subscriber
- -- (display, announcement, ...) is not part of this
- -- specification.
-
-SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- SS-Code
-
-maxNumOfSS INTEGER ::= 30
-
-SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF
- SS-Info
-
-BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
- BasicServiceCode
-
-maxNumOfBasicServiceGroups INTEGER ::= 13
-
-SS-InvocationNotificationArg ::= SEQUENCE {
- imsi [0] IMSI,
- msisdn [1] ISDN-AddressString,
- ss-Event [2] SS-Code,
- -- The following SS-Code values are allowed :
- -- ect SS-Code ::= '00110001'B
- -- multiPTY SS-Code ::= '01010001'B
- -- cd SS-Code ::= '00100100'B
- -- ccbs SS-Code ::= '01000100'B
- ss-EventSpecification [3] SS-EventSpecification OPTIONAL,
- extensionContainer [4] ExtensionContainer OPTIONAL,
- ...,
- b-subscriberNumber [5] ISDN-AddressString OPTIONAL,
- ccbs-RequestState [6] CCBS-RequestState OPTIONAL
- }
-
-CCBS-RequestState ::= ENUMERATED {
- request (0),
- recall (1),
- active (2),
- completed (3),
- suspended (4),
- frozen (5),
- deleted (6)
- }
-
-SS-InvocationNotificationRes ::= SEQUENCE {
- extensionContainer ExtensionContainer OPTIONAL,
- ...
- }
-
-SS-EventSpecification ::= SEQUENCE SIZE (1..maxEventSpecification) OF
- AddressString
-
-maxEventSpecification INTEGER ::= 2
-
-RegisterCC-EntryArg ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ccbs-Data [1] CCBS-Data OPTIONAL,
- ...}
-
-CCBS-Data ::= SEQUENCE {
- ccbs-Feature [0] CCBS-Feature,
- translatedB-Number [1] ISDN-AddressString,
- serviceIndicator [2] ServiceIndicator OPTIONAL,
- callInfo [3] ExternalSignalInfo,
- networkSignalInfo [4] ExternalSignalInfo,
- ...}
-
-ServiceIndicator ::= BIT STRING {
- clir-invoked (0),
- camel-invoked (1)} (SIZE(2..32))
- -- exception handling:
- -- bits 2 to 31 shall be ignored if received and not understood
-
-RegisterCC-EntryRes ::= SEQUENCE {
- ccbs-Feature [0] CCBS-Feature OPTIONAL,
- ...}
-
-EraseCC-EntryArg ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ccbs-Index [1] CCBS-Index OPTIONAL,
- ...}
-
-EraseCC-EntryRes ::= SEQUENCE {
- ss-Code [0] SS-Code,
- ss-Status [1] SS-Status OPTIONAL,
- ...}
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ST-DataTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ST-DataTypes.asn
deleted file mode 100644
index 2eac16551d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ST-DataTypes.asn
+++ /dev/null
@@ -1,98 +0,0 @@
-MAP-ST-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)}
-
-DEFINITIONS
-IMPLICIT TAGS
-::=
-BEGIN
-
-EXPORTS
- SecureTransportArg,
- SecureTransportRes,
- SecurityHeader,
- ProtectedPayload
-;
-
-IMPORTS
- IMSI
-
-FROM MAP-CommonDataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-CommonDataTypes (18) version9 (9)}
-;
-
-SecureTransportArg ::= SEQUENCE {
- securityHeader SecurityHeader,
- protectedPayload ProtectedPayload OPTIONAL
- }
- -- The protectedPayload carries the result of applying the security function
- -- defined in 3GPP TS 33.200 to the encoding of the argument of the securely
- -- transported operation
-
-SecureTransportRes ::= SEQUENCE {
- securityHeader SecurityHeader,
- protectedPayload ProtectedPayload OPTIONAL
- }
- -- The protectedPayload carries the result of applying the security function
- -- defined in 3GPP TS 33.200 to the encoding of the result of the securely
- -- transported operation
-
-SecurityHeader ::= SEQUENCE {
- securityParametersIndex SecurityParametersIndex,
- originalComponentIdentifier OriginalComponentIdentifier,
- initialisationVector InitialisationVector OPTIONAL,
- ...}
-
-ProtectedPayload ::= OCTET STRING(SIZE(1.. 3438))
- -- In protection mode 0 (noProtection) the ProtectedPayload carries the transfer
- -- syntax value of the component parameter identified by the
- -- originalComponentIdentifier.
- -- In protection mode 1 (integrityAuthenticity) the protectedPayload carries
- -- the transfer syntax value of the component
- -- parameter identified by the originalComponentIdentifier, followed by
- -- the 32 bit integrity check value.
- -- The integrity check value is the result of applying the hash algorithm
- -- to the concatenation of the transfer syntax value of the SecurityHeader,
- -- and the transfer syntax value of the component parameter.
- -- In protection mode 2 (confidentialityIntegrityAuthenticity) the protected
- -- payload carries the encrypted transfer syntax
- -- value of the component parameter identified by the
- -- originalComponentIdentifier, followed by the 32 bit integrity check value.
- -- The integrity check value is the result of applying the hash algorithm
- -- to the concatenation of the transfer syntax value of the SecurityHeader,
- -- and the encrypted transfer syntax value of the component parameter.
- -- See 33.200.
- -- The length of the protectedPayload is adjusted according to the capabilities of
- -- the lower protocol layers
-
-SecurityParametersIndex ::= OCTET STRING (SIZE(4))
-
-InitialisationVector ::= OCTET STRING (SIZE(14))
- -- the internal structure is defined as follows:
- -- Octets 1 to 4 : TVP. The TVP is a 32 bit time stamp. Its value is binary coded
- -- and indicates the number of intervals of 100 milliseconds
- -- elapsed since 1st January 2002, 0:00:00 UTC
- -- Octets 5 to 10: NE-Id. The NE-Id uniquely identifies the sending network entity
- -- within the PLMN. It is the entity's E.164 number without CC and
- -- NDC. It is TBCD-coded, padded with zeros.
- -- Octets 11 to 14: PROP. This 32 bit value is used to make the
- -- InitialisationVector unique within the same TVP period.
- -- The content is not standardized.
-
-
-OriginalComponentIdentifier ::= CHOICE {
- operationCode [0] OperationCode,
- errorCode [1] ErrorCode,
- userInfo [2] NULL}
-
-OperationCode ::= CHOICE {
- localValue INTEGER,
- globalValue OBJECT IDENTIFIER}
-
-ErrorCode ::= CHOICE {
- localValue INTEGER,
- globalValue OBJECT IDENTIFIER}
-
-END
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SecureTransportOperations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SecureTransportOperations.asn
deleted file mode 100644
index dfb830cddd..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SecureTransportOperations.asn
+++ /dev/null
@@ -1,78 +0,0 @@
-MAP-SecureTransportOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SecureTransportOperations (26)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- secureTransportClass1,
- secureTransportClass2,
- secureTransportClass3,
- secureTransportClass4
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- dataMissing,
- secureTransportError,
- unexpectedDataValue
-
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- SecureTransportArg,
- SecureTransportRes
-
-FROM MAP-ST-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ST-DataTypes (27) version9 (9)}
-;
-
-secureTransportClass1 OPERATION ::= { --Timer shall be the same as for the
- --securely transported operation
- ARGUMENT
- SecureTransportArg
- RESULT
- SecureTransportRes
- ERRORS {
- secureTransportError |
- dataMissing |
- unexpectedDataValue}
- CODE local:78 }
-
-secureTransportClass2 OPERATION ::= { --Timer shall be the same as for the
- --securely transported operation
- ARGUMENT
- SecureTransportArg
- ERRORS {
- secureTransportError |
- dataMissing |
- unexpectedDataValue}
- CODE local:79 }
-
-secureTransportClass3 OPERATION ::= { --Timer shall be the same as for the
- --securely transported operation
- ARGUMENT
- SecureTransportArg
- RESULT
- SecureTransportRes
- CODE local:80 }
-
-secureTransportClass4 OPERATION ::= { --Timer shall be the same as for the
- --securely transported operation
- ARGUMENT
- SecureTransportArg
- CODE local:81 }
-
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ShortMessageServiceOperations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ShortMessageServiceOperations.asn
deleted file mode 100644
index 0cca86ceac..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-ShortMessageServiceOperations.asn
+++ /dev/null
@@ -1,155 +0,0 @@
--- asn1ct:compile("MAP-ShortMessageServiceOperations",[ber_bin, {outdir, "../compiled/umts_map"}]).
-
-MAP-ShortMessageServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- sendRoutingInfoForSM,
- mo-ForwardSM,
- mt-ForwardSM,
- reportSM-DeliveryStatus,
- alertServiceCentre,
- informServiceCentre,
- readyForSM
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- facilityNotSupported,
- unknownSubscriber,
- unidentifiedSubscriber,
- illegalSubscriber,
- illegalEquipment,
- teleserviceNotProvisioned,
- callBarred,
- subscriberBusyForMT-SMS,
- sm-DeliveryFailure,
- messageWaitingListFull,
- absentSubscriberSM
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- RoutingInfoForSM-Arg,
- RoutingInfoForSM-Res,
- MO-ForwardSM-Arg,
- MO-ForwardSM-Res,
- MT-ForwardSM-Arg,
- MT-ForwardSM-Res,
- ReportSM-DeliveryStatusArg,
- ReportSM-DeliveryStatusRes,
- AlertServiceCentreArg,
- InformServiceCentreArg,
- ReadyForSM-Arg,
- ReadyForSM-Res
-FROM MAP-SM-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SM-DataTypes (16) version9 (9)}
-
-;
-
-sendRoutingInfoForSM OPERATION ::= { --Timer m
- ARGUMENT
- RoutingInfoForSM-Arg
- RESULT
- RoutingInfoForSM-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unknownSubscriber |
- teleserviceNotProvisioned |
- callBarred |
- absentSubscriberSM}
- CODE local:45 }
-
-mo-ForwardSM OPERATION ::= { --Timer ml
- ARGUMENT
- MO-ForwardSM-Arg
- RESULT
- MO-ForwardSM-Res
- -- optional
- ERRORS {
- systemFailure |
- unexpectedDataValue |
- facilityNotSupported |
- sm-DeliveryFailure}
- CODE local:46 }
-
-mt-ForwardSM OPERATION ::= { --Timer ml
- ARGUMENT
- MT-ForwardSM-Arg
- RESULT
- MT-ForwardSM-Res
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unidentifiedSubscriber |
- illegalSubscriber |
- illegalEquipment |
- subscriberBusyForMT-SMS |
- sm-DeliveryFailure |
- absentSubscriberSM}
- CODE local:44 }
-
-reportSM-DeliveryStatus OPERATION ::= { --Timer s
- ARGUMENT
- ReportSM-DeliveryStatusArg
- RESULT
- ReportSM-DeliveryStatusRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber |
- messageWaitingListFull}
- CODE local:47 }
-
-alertServiceCentre OPERATION ::= { --Timer s
- ARGUMENT
- AlertServiceCentreArg
- RETURN RESULT TRUE
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue}
- CODE local:64 }
-
-informServiceCentre OPERATION ::= { --Timer s
- ARGUMENT
- InformServiceCentreArg
- CODE local:63 }
-
-readyForSM OPERATION ::= { --Timer m
- ARGUMENT
- ReadyForSM-Arg
- RESULT
- ReadyForSM-Res
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- facilityNotSupported |
- unknownSubscriber}
- CODE local:66 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SupplementaryServiceOperations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SupplementaryServiceOperations.asn
deleted file mode 100644
index 7c89273c8b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-SupplementaryServiceOperations.asn
+++ /dev/null
@@ -1,295 +0,0 @@
-MAP-SupplementaryServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SupplementaryServiceOperations (8)
- version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-EXPORTS
- registerSS,
- eraseSS,
- activateSS,
- deactivateSS,
- interrogateSS,
- processUnstructuredSS-Request,
- unstructuredSS-Request,
- unstructuredSS-Notify,
- registerPassword,
- getPassword,
- ss-InvocationNotification,
- registerCC-Entry,
- eraseCC-Entry
-;
-
-IMPORTS
- OPERATION
-FROM Remote-Operations-Information-Objects {
-joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
- systemFailure,
- dataMissing,
- unexpectedDataValue,
- unknownSubscriber,
- bearerServiceNotProvisioned,
- teleserviceNotProvisioned,
- callBarred,
- illegalSS-Operation,
- ss-ErrorStatus,
- ss-NotAvailable,
- ss-SubscriptionViolation,
- ss-Incompatibility,
- pw-RegistrationFailure,
- negativePW-Check,
- numberOfPW-AttemptsViolation,
- unknownAlphabet,
- ussd-Busy,
- absentSubscriber,
- illegalSubscriber,
- illegalEquipment,
- shortTermDenial,
- longTermDenial,
- facilityNotSupported
-FROM MAP-Errors {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Errors (10) version9 (9)}
-
- RegisterSS-Arg,
- SS-Info,
- SS-ForBS-Code,
- InterrogateSS-Res,
- USSD-Arg,
- USSD-Res,
- Password,
- GuidanceInfo,
- SS-InvocationNotificationArg,
- SS-InvocationNotificationRes,
- RegisterCC-EntryArg,
- RegisterCC-EntryRes,
- EraseCC-EntryArg,
- EraseCC-EntryRes
-FROM MAP-SS-DataTypes {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-DataTypes (14) version9 (9)}
-
- SS-Code
-FROM MAP-SS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-SS-Code (15) version9 (9)}
-;
-
-
--- supplementary service handling operations
-
-registerSS OPERATION ::= { --Timer m
- ARGUMENT
- RegisterSS-Arg
- RESULT
- SS-Info
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus |
- ss-Incompatibility}
- CODE local:10 }
-
-eraseSS OPERATION ::= { --Timer m
- ARGUMENT
- SS-ForBS-Code
- RESULT
- SS-Info
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus
- }
- CODE local:11 }
-
-activateSS OPERATION ::= { --Timer m
- ARGUMENT
- SS-ForBS-Code
- RESULT
- SS-Info
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus |
- ss-SubscriptionViolation |
- ss-Incompatibility |
- negativePW-Check |
- numberOfPW-AttemptsViolation}
- CODE local:12 }
-
-deactivateSS OPERATION ::= { --Timer m
- ARGUMENT
- SS-ForBS-Code
- RESULT
- SS-Info
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus |
- ss-SubscriptionViolation |
- negativePW-Check |
- numberOfPW-AttemptsViolation}
- CODE local:13 }
-
-interrogateSS OPERATION ::= { --Timer m
- ARGUMENT
- SS-ForBS-Code
- RESULT
- InterrogateSS-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- bearerServiceNotProvisioned |
- teleserviceNotProvisioned |
- callBarred |
- illegalSS-Operation |
- ss-NotAvailable}
- CODE local:14 }
-
-processUnstructuredSS-Request OPERATION ::= { --Timer 10 minutes
- ARGUMENT
- USSD-Arg
- RESULT
- USSD-Res
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- unknownAlphabet |
- callBarred}
- CODE local:59 }
-
-unstructuredSS-Request OPERATION ::= { --Timer ml
- ARGUMENT
- USSD-Arg
- RESULT
- USSD-Res
- -- optional
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- absentSubscriber |
- illegalSubscriber |
- illegalEquipment |
- unknownAlphabet |
- ussd-Busy}
- CODE local:60 }
-
-unstructuredSS-Notify OPERATION ::= { --Timer ml
- ARGUMENT
- USSD-Arg
- RETURN RESULT TRUE
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- absentSubscriber |
- illegalSubscriber |
- illegalEquipment |
- unknownAlphabet |
- ussd-Busy}
- CODE local:61 }
-
-registerPassword OPERATION ::= { --Timer ml
- ARGUMENT
- SS-Code
- RESULT
- Password
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- callBarred |
- ss-SubscriptionViolation |
- pw-RegistrationFailure |
- negativePW-Check |
- numberOfPW-AttemptsViolation}
- LINKED {
- getPassword}
- CODE local:17 }
-
-getPassword OPERATION ::= { --Timer m
- ARGUMENT
- GuidanceInfo
- RESULT
- Password
- CODE local:18 }
-
-ss-InvocationNotification OPERATION ::= { --Timer m
- ARGUMENT
- SS-InvocationNotificationArg
- RESULT
- SS-InvocationNotificationRes
- -- optional
- ERRORS {
- dataMissing |
- unexpectedDataValue |
- unknownSubscriber}
- CODE local:72 }
-
-registerCC-Entry OPERATION ::= { --Timer m
- ARGUMENT
- RegisterCC-EntryArg
- RESULT
- RegisterCC-EntryRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus |
- ss-Incompatibility |
- shortTermDenial |
- longTermDenial |
- facilityNotSupported}
- CODE local:76 }
-
-eraseCC-Entry OPERATION ::= { --Timer m
- ARGUMENT
- EraseCC-EntryArg
- RESULT
- EraseCC-EntryRes
- ERRORS {
- systemFailure |
- dataMissing |
- unexpectedDataValue |
- callBarred |
- illegalSS-Operation |
- ss-ErrorStatus}
- CODE local:77 }
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-TS-Code.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-TS-Code.asn
deleted file mode 100644
index eface38b31..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MAP-TS-Code.asn
+++ /dev/null
@@ -1,87 +0,0 @@
-MAP-TS-Code {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-TS-Code (19) version9 (9)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
-TeleserviceCode ::= OCTET STRING (SIZE (1))
- -- This type is used to represent the code identifying a single
- -- teleservice, a group of teleservices, or all teleservices. The
- -- services are defined in TS GSM 22.003 [4].
- -- The internal structure is defined as follows:
-
- -- bits 87654321: group (bits 8765) and specific service
- -- (bits 4321)
-
-Ext-TeleserviceCode ::= OCTET STRING (SIZE (1..5))
- -- This type is used to represent the code identifying a single
- -- teleservice, a group of teleservices, or all teleservices. The
- -- services are defined in TS GSM 22.003 [4].
- -- The internal structure is defined as follows:
-
- -- OCTET 1:
- -- bits 87654321: group (bits 8765) and specific service
- -- (bits 4321)
-
- -- OCTETS 2-5: reserved for future use. If received the
- -- Ext-TeleserviceCode shall be
- -- treated according to the exception handling defined for the
- -- operation that uses this type.
-
- -- Ext-TeleserviceCode includes all values defined for TeleserviceCode.
-
-allTeleservices TeleserviceCode ::= '00000000'B
-
-allSpeechTransmissionServices TeleserviceCode ::= '00010000'B
-telephony TeleserviceCode ::= '00010001'B
-emergencyCalls TeleserviceCode ::= '00010010'B
-
-allShortMessageServices TeleserviceCode ::= '00100000'B
-shortMessageMT-PP TeleserviceCode ::= '00100001'B
-shortMessageMO-PP TeleserviceCode ::= '00100010'B
-
-allFacsimileTransmissionServices TeleserviceCode ::= '01100000'B
-facsimileGroup3AndAlterSpeech TeleserviceCode ::= '01100001'B
-automaticFacsimileGroup3 TeleserviceCode ::= '01100010'B
-facsimileGroup4 TeleserviceCode ::= '01100011'B
-
--- The following non-hierarchical Compound Teleservice Groups
--- are defined in TS 3GPP TS 22.030:
-allDataTeleservices TeleserviceCode ::= '01110000'B
- -- covers Teleservice Groups 'allFacsimileTransmissionServices'
- -- and 'allShortMessageServices'
-allTeleservices-ExeptSMS TeleserviceCode ::= '10000000'B
- -- covers Teleservice Groups 'allSpeechTransmissionServices' and
- -- 'allFacsimileTransmissionServices'
---
--- Compound Teleservice Group Codes are only used in call
--- independent supplementary service operations, i.e. they
--- are not used in InsertSubscriberData or in
--- DeleteSubscriberData messages.
-
-allVoiceGroupCallServices TeleserviceCode ::= '10010000'B
-voiceGroupCall TeleserviceCode ::= '10010001'B
-voiceBroadcastCall TeleserviceCode ::= '10010010'B
-
-allPLMN-specificTS TeleserviceCode ::= '11010000'B
-plmn-specificTS-1 TeleserviceCode ::= '11010001'B
-plmn-specificTS-2 TeleserviceCode ::= '11010010'B
-plmn-specificTS-3 TeleserviceCode ::= '11010011'B
-plmn-specificTS-4 TeleserviceCode ::= '11010100'B
-plmn-specificTS-5 TeleserviceCode ::= '11010101'B
-plmn-specificTS-6 TeleserviceCode ::= '11010110'B
-plmn-specificTS-7 TeleserviceCode ::= '11010111'B
-plmn-specificTS-8 TeleserviceCode ::= '11011000'B
-plmn-specificTS-9 TeleserviceCode ::= '11011001'B
-plmn-specificTS-A TeleserviceCode ::= '11011010'B
-plmn-specificTS-B TeleserviceCode ::= '11011011'B
-plmn-specificTS-C TeleserviceCode ::= '11011100'B
-plmn-specificTS-D TeleserviceCode ::= '11011101'B
-plmn-specificTS-E TeleserviceCode ::= '11011110'B
-plmn-specificTS-F TeleserviceCode ::= '11011111'B
-
-END
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MobileDomainDefinitions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MobileDomainDefinitions.asn
deleted file mode 100644
index 30e7143882..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/MobileDomainDefinitions.asn
+++ /dev/null
@@ -1,38 +0,0 @@
-MobileDomainDefinitions {itu-t (0) identified-organization (4) etsi (0)
- mobileDomain (0) mobileDomainDefinitions (0) version1 (1)}
-
-DEFINITIONS ::=
-
-BEGIN
-
--- Mobile DomainId
-mobileDomainId OBJECT IDENTIFIER ::=
- {itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)}
-
--- Mobile Subdomains
-gsm-NetworkId OBJECT IDENTIFIER ::=
- {mobileDomainId gsm-Network (1)}
-
-gsm-AccessId OBJECT IDENTIFIER ::=
- {mobileDomainId gsm-Access (2)}
-
-gsm-OperationAndMaintenanceId OBJECT IDENTIFIER ::=
- {mobileDomainId gsm-Operation-Maintenance (3)}
-
-gsm-MessagingId OBJECT IDENTIFIER ::=
- {mobileDomainId gsm-Messaging (4)}
-
--- Common Component Ids for structuring Mobile Subdomains
-CommonComponentId ::= INTEGER (0..9)
-
-ac-Id CommonComponentId ::= 0
-
-as-Id CommonComponentId ::= 1
-
-ase-Id CommonComponentId ::= 2
-
-moduleId CommonComponentId ::= 3
-
-er-Id CommonComponentId ::= 4
-
-END -- MobileDomainDefinitions \ No newline at end of file
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Generic-ROS-PDUs.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Generic-ROS-PDUs.asn
deleted file mode 100644
index d4d2eecea1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Generic-ROS-PDUs.asn
+++ /dev/null
@@ -1,167 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
-Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4)
- generic-ROS-PDUs(6) version1(0)}
-
-DEFINITIONS IMPLICIT TAGS
-
-::=
-
-BEGIN
-
--- exports everything
-IMPORTS
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::=
- CHOICE {
- invoke [1] Invoke{{InvokeIdSet}, {Invokable}},
- returnResult [2] ReturnResult{{Returnable}},
- returnError [3] ReturnError{{Errors {{Returnable}}}},
- reject [4] Reject
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-unrecognizedPDU)
-
-Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
- invokeId
- InvokeId(InvokeIdSet)
- (CONSTRAINED BY { -- must be unambiguous --} !
- RejectProblem:invoke-duplicateInvocation),
- linkedId
- CHOICE {present [0] IMPLICIT present < InvokeId,
- absent [1] IMPLICIT NULL
- }
- (CONSTRAINED BY { -- must identify an outstanding operation --} !
- RejectProblem:invoke-unrecognizedLinkedId)
- (CONSTRAINED BY { -- which has one or more linked operations--} !
- RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
- opcode
- OPERATION.&operationCode
- ({Operations} !RejectProblem:invoke-unrecognizedOperation),
- argument
- OPERATION.&ArgumentType
- ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-(WITH COMPONENTS {
- ...,
- linkedId ABSENT
- } |
- WITH COMPONENTS {
- ...,
- linkedId PRESENT,
- opcode (CONSTRAINED BY { -- must be in the &Linked field of the associated operation --
- } !RejectProblem:invoke-unexpectedLinkedOperation)
- })
-
--- continued on the next page
-ReturnResult{OPERATION:Operations} ::= SEQUENCE {
- invokeId
- InvokeId
- (CONSTRAINED BY { -- must be that for an outstanding operation --} !
- RejectProblem:returnResult-unrecognizedInvocation)
- (CONSTRAINED BY { -- which returns a result --} !
- RejectProblem:returnResult-resultResponseUnexpected),
- result
- SEQUENCE {opcode
- OPERATION.&operationCode({Operations})
- (CONSTRAINED BY { -- identified by invokeId --} !
- RejectProblem:returnResult-unrecognizedInvocation),
- result
- OPERATION.&ResultType
- ({Operations}{@.opcode} !
- RejectProblem:returnResult-mistypedResult)} OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-ReturnError{ERROR:Errors} ::= SEQUENCE {
- invokeId
- InvokeId
- (CONSTRAINED BY { -- must be that for an outstanding operation --} !
- RejectProblem:returnError-unrecognizedInvocation)
- (CONSTRAINED BY { -- which returns an error --} !
- RejectProblem:returnError-errorResponseUnexpected),
- errcode
- ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
- (CONSTRAINED BY { -- must be in the &Errors field of the associated operation --
- } !RejectProblem:returnError-unexpectedError),
- parameter
- ERROR.&ParameterType
- ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
- OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-Reject ::= SEQUENCE {
- invokeId InvokeId,
- problem
- CHOICE {general [0] GeneralProblem,
- invoke [1] InvokeProblem,
- returnResult [2] ReturnResultProblem,
- returnError [3] ReturnErrorProblem}
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-GeneralProblem ::= INTEGER {
- unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)}
-
--- continued on the next page
-InvokeProblem ::= INTEGER {
- duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
- resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
- linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
-
-ReturnResultProblem ::= INTEGER {
- unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
-}
-
-ReturnErrorProblem ::= INTEGER {
- unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
- unexpectedError(3), mistypedParameter(4)}
-
-RejectProblem ::= INTEGER {
- general-unrecognizedPDU(0), general-mistypedPDU(1),
- general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
- invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
- invoke-resourceLimitation(13), invoke-releaseInProgress(14),
- invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
- invoke-unexpectedLinkedOperation(17),
- returnResult-unrecognizedInvocation(20),
- returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
- returnError-unrecognizedInvocation(30),
- returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
- returnError-unexpectedError(33), returnError-mistypedParameter(34)}
-
-InvokeId ::= CHOICE {present INTEGER,
- absent NULL
-}
-
-noInvokeId InvokeId ::= absent:NULL
-
-NoInvokeId InvokeId ::= {noInvokeId}
-
-Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
-
--- continued on the next page
-Bind{OPERATION:operation} ::= CHOICE {
- bind-invoke [16] OPERATION.&ArgumentType({operation}),
- bind-result [17] OPERATION.&ResultType({operation}),
- bind-error [18] OPERATION.&Errors.&ParameterType({operation})
-}
-
-Unbind{OPERATION:operation} ::= CHOICE {
- unbind-invoke [19] OPERATION.&ArgumentType({operation}),
- unbind-result [20] OPERATION.&ResultType({operation}),
- unbind-error [21] OPERATION.&Errors.&ParameterType({operation})
-}
-
-END -- end of generic ROS PDU definitions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Information-Objects.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Information-Objects.asn
deleted file mode 100644
index 74be149bb0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Information-Objects.asn
+++ /dev/null
@@ -1,127 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
-Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)}
-
-DEFINITIONS
-
-::=
-
-BEGIN
-
--- exports everything
-IMPORTS
- emptyBind, emptyUnbind
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)};
-
-OPERATION ::= CLASS {
- &ArgumentType OPTIONAL,
- &argumentTypeOptional BOOLEAN OPTIONAL,
- &returnResult BOOLEAN DEFAULT TRUE,
- &ResultType OPTIONAL,
- &resultTypeOptional BOOLEAN OPTIONAL,
- &Errors ERROR OPTIONAL,
- &Linked OPERATION OPTIONAL,
- &synchronous BOOLEAN DEFAULT FALSE,
- &alwaysReturns BOOLEAN DEFAULT TRUE,
- &InvokePriority Priority OPTIONAL,
- &ResultPriority Priority OPTIONAL,
- &operationCode Code UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [ARGUMENT &ArgumentType
- [OPTIONAL &argumentTypeOptional]]
- [RESULT &ResultType
- [OPTIONAL &resultTypeOptional]]
- [RETURN RESULT &returnResult]
- [ERRORS &Errors]
- [LINKED &Linked]
- [SYNCHRONOUS &synchronous]
- [ALWAYS RESPONDS &alwaysReturns]
- [INVOKE PRIORITY &InvokePriority]
- [RESULT-PRIORITY &ResultPriority]
- [CODE &operationCode]
-}
-
-ERROR ::= CLASS {
- &ParameterType OPTIONAL,
- &parameterTypeOptional BOOLEAN OPTIONAL,
- &ErrorPriority Priority OPTIONAL,
- &errorCode Code UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [PARAMETER &ParameterType
- [OPTIONAL &parameterTypeOptional]]
- [PRIORITY &ErrorPriority]
- [CODE &errorCode]
-}
-
-OPERATION-PACKAGE ::= CLASS {
- &Both OPERATION OPTIONAL,
- &Consumer OPERATION OPTIONAL,
- &Supplier OPERATION OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
--- continued on the next page
-WITH SYNTAX {
- [OPERATIONS &Both]
- [CONSUMER INVOKES &Supplier]
- [SUPPLIER INVOKES &Consumer]
- [ID &id]
-}
-
-CONNECTION-PACKAGE ::= CLASS {
- &bind OPERATION DEFAULT emptyBind,
- &unbind OPERATION DEFAULT emptyUnbind,
- &responderCanUnbind BOOLEAN DEFAULT FALSE,
- &unbindCanFail BOOLEAN DEFAULT FALSE,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [BIND &bind]
- [UNBIND &unbind]
- [RESPONDER UNBIND &responderCanUnbind]
- [FAILURE TO UNBIND &unbindCanFail]
- [ID &id]
-}
-
-CONTRACT ::= CLASS {
- &connection CONNECTION-PACKAGE OPTIONAL,
- &OperationsOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [CONNECTION &connection]
- [OPERATIONS OF &OperationsOf]
- [INITIATOR CONSUMER OF &InitiatorConsumerOf]
- [RESPONDER CONSUMER OF &InitiatorSupplierOf]
- [ID &id]
-}
-
-ROS-OBJECT-CLASS ::= CLASS {
- &Is ROS-OBJECT-CLASS OPTIONAL,
- &Initiates CONTRACT OPTIONAL,
- &Responds CONTRACT OPTIONAL,
- &InitiatesAndResponds CONTRACT OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [IS &Is]
- [BOTH &InitiatesAndResponds]
- [INITIATES &Initiates]
- [RESPONDS &Responds]
- ID &id
-}
-
-Code ::= CHOICE {local INTEGER,
- global OBJECT IDENTIFIER
-}
-
-Priority ::= INTEGER(0..MAX)
-
-END -- end of Information Object specifications
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Useful-Definitions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Useful-Definitions.asn
deleted file mode 100644
index 714b96b5c3..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/Remote-Operations-Useful-Definitions.asn
+++ /dev/null
@@ -1,99 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
-Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4)
- useful-definitions(7) version1(0)}
-
-DEFINITIONS IMPLICIT TAGS
-
-::=
-
-BEGIN
-
--- exports everything
-IMPORTS
- OPERATION, ERROR, OPERATION-PACKAGE, Code
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- InvokeId, ROS{}
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)};
-
-emptyBind OPERATION ::= {ERRORS {refuse}
- SYNCHRONOUS TRUE
-}
-
-emptyUnbind OPERATION ::= {SYNCHRONOUS TRUE
-}
-
-refuse ERROR ::= {CODE local:-1
-}
-
-no-op OPERATION ::= {ALWAYS RESPONDS FALSE
- CODE local:-1
-}
-
-Forward{OPERATION:OperationSet} OPERATION ::=
- {OperationSet | OperationSet.&Linked.&Linked |
- OperationSet.&Linked.&Linked.&Linked.&Linked}
-
-Reverse{OPERATION:OperationSet} OPERATION ::= {Forward{{OperationSet.&Linked}}}
-
-ConsumerPerforms{OPERATION-PACKAGE:package} OPERATION ::=
- {Forward{{package.&Consumer}} | Forward{{package.&Both}} |
- Reverse{{package.&Supplier}} | Reverse{{package.&Both}}}
-
-SupplierPerforms{OPERATION-PACKAGE:package} OPERATION ::=
- {Forward{{package.&Supplier}} | Forward{{package.&Both}} |
- Reverse{{package.&Consumer}} | Reverse{{package.&Both}}}
-
-AllOperations{OPERATION-PACKAGE:package} OPERATION ::=
- {ConsumerPerforms{package} | SupplierPerforms{package}}
-
--- continued on the next page
-recode{OPERATION:operation, Code:code} OPERATION ::= {
- ARGUMENT operation.&ArgumentType
- OPTIONAL operation.&argumentTypeOptional
- RESULT operation.&ResultType
- OPTIONAL operation.&resultTypeOptional
- RETURN RESULT operation.&returnResult
- ERRORS {operation.&Errors}
- LINKED {operation.&Linked}
- SYNCHRONOUS operation.&synchronous
- ALWAYS RESPONDS operation.&alwaysReturns
- INVOKE PRIORITY {operation.&InvokePriority}
- RESULT-PRIORITY {operation.&ResultPriority}
- CODE code
-}
-
-switch{OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
-{
- OPERATIONS {package.&Both}
- CONSUMER INVOKES {package.&Consumer}
- SUPPLIER INVOKES {package.&Supplier}
- ID id
-}
-
-combine{OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies,
- OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= {
- OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
- CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
- SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
- ID base.&id
-}
-
-ROS-SingleAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS{{InvokeIdSet}, {AllOperations {package}}, {AllOperations {package}}}
-
-ROS-ConsumerAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS
- {{InvokeIdSet}, {ConsumerPerforms {package}},
- {SupplierPerforms {package}}}
-
-ROS-SupplierAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS
- {{InvokeIdSet}, {SupplierPerforms {package}},
- {ConsumerPerforms {package}}}
-
-END -- end of useful definitions.
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TC-Notation-Extensions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TC-Notation-Extensions.asn
deleted file mode 100644
index 89bfd105ef..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TC-Notation-Extensions.asn
+++ /dev/null
@@ -1,87 +0,0 @@
--- Module TC-Notation-Extensions (Q.775:06/1997)
-
-TC-Notation-Extensions {itu-t recommendation q 775 modules(2)
- notation-extension(4) version1(1)} DEFINITIONS ::=
-BEGIN
-
-IMPORTS
- TCMessage{}
- FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1)
- version3(3)}
- Bind{}, Unbind{}
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- AllOperations{}, ConsumerPerforms{}, SupplierPerforms{}, combine{}
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- CONTRACT, OPERATION-PACKAGE
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- UniDialoguePDU, uniDialogue-as-id
- FROM UnidialoguePDUs {itu-t recommendation q 773 modules(2)
- unidialoguePDUs(3) version1(1)}
- DialoguePDU, dialogue-as-id
- FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2)
- version1(1)};
-
-APPLICATION-CONTEXT ::= CLASS {
- &associationContract CONTRACT,
- &dialogueMode DialogueMode,
- &termination Termination OPTIONAL,
- &componentGrouping BOOLEAN DEFAULT TRUE,
- &dialogueAndComponentGrouping BOOLEAN DEFAULT TRUE,
- &AdditionalASEs OBJECT IDENTIFIER OPTIONAL,
- &AbstractSyntaxes ABSTRACT-SYNTAX,
- &applicationContextName OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- CONTRACT &associationContract
- DIALOGUE MODE &dialogueMode
- [TERMINATION &termination]
- [COMPONENT GROUPING ALLOWED &componentGrouping]
- [DIALOGUE WITH COMPONENTS ALLOWED &dialogueAndComponentGrouping]
- [ADDITIONAL ASES &AdditionalASEs]
- ABSTRACT SYNTAXES &AbstractSyntaxes
- APPLICATION CONTEXT NAME &applicationContextName
-}
-
-DialogueMode ::= ENUMERATED {structured(1), unstructured(2)}
-
-Termination ::= ENUMERATED {basic(1), prearranged(2)}
-
-dialogue-abstract-syntax ABSTRACT-SYNTAX ::= {
- DialoguePDU
- IDENTIFIED BY dialogue-as-id
-}
-
-uniDialogue-abstract-syntax ABSTRACT-SYNTAX ::= {
- UniDialoguePDU
- IDENTIFIED BY uniDialogue-as-id
-}
-
-TCSingleAS{OPERATION-PACKAGE:package} ::=
- TCMessage{{AllOperations {package}}, {AllOperations {package}}}
-
-TCConsumerAS{OPERATION-PACKAGE:package} ::=
- TCMessage{{ConsumerPerforms {package}}, {ConsumerPerforms {package}}}
-
-TCSupplierAS{OPERATION-PACKAGE:package} ::=
- TCMessage{{SupplierPerforms {package}}, {SupplierPerforms {package}}}
-
-AllPackagesAS{APPLICATION-CONTEXT:ac} ::=
- TCSingleAS
- {combine{{ac.&associationContract.&OperationsOf |
- ac.&associationContract.&InitiatorConsumerOf |
- ac.&associationContract.&InitiatorSupplierOf},
- {...}, --was illegaly empty, needs to be changed
- { -- Information Object of class OPERATION-PACKAGE to be defined --}}}
-
-ConnectionAS{APPLICATION-CONTEXT:ac} ::= CHOICE {
- bind Bind{ac.&associationContract.&connection.&bind},
- unbind Unbind{ac.&associationContract.&connection.&unbind}
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAP-Examples.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAP-Examples.asn
deleted file mode 100644
index 17667af920..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAP-Examples.asn
+++ /dev/null
@@ -1,72 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
-TCAP-Examples {itu-t recommendation q 775 modules(2) examples(2) version1(1)}
-DEFINITIONS ::=
-BEGIN
-
-IMPORTS
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-provideRoutingInformation OPERATION ::= {
- ARGUMENT RequestArgument
- RESULT RoutingInformation
- ERRORS
- {invalidCalledNumber | subscriberNotReachable | calledBarred |
- processingFailure}
- LINKED {getCallingPartyAddress}
-}
-
--- timer T-pi = 10 s
-getCallingPartyAddress OPERATION ::= {
- RESULT CallingPartyAddress
- ERRORS {callingPartyAddressNotAvailable | processingFailure}
-}
-
--- timer T-gp = 5 s
-invalidCalledNumber ERROR ::= {CODE local:1
-}
-
-subscriberNotReachable ERROR ::= {CODE local:2
-}
-
-calledBarred ERROR ::= {CODE local:3
-}
-
-callingPartyAddressNotAvailable ERROR ::= {CODE local:4
-}
-
-processingFailure ERROR ::= {CODE local:5
-}
-
--- data types
-RequestArgument ::= SEQUENCE {
- calledNumber IsdnNumber,
- basicService BasicServiceIndicator OPTIONAL
-}
-
-RoutingInformation ::= CHOICE {
- reroutingNumber [0] IMPLICIT IsdnNumber,
- forwardedToNumber [1] IMPLICIT IsdnNumber
-}
-
-BasicServiceIndicator ::= ENUMERATED {speech(0), unrestrictedDigital(1)}
-
-CallingPartyAddress ::= IsdnNumber
-
-IsdnNumber ::= SEQUENCE {
- typeOfAddress TypeOfAddress,
- digits TelephonyString
-}
-
-TypeOfAddress ::= ENUMERATED {national(0), international(1), private(2)}
-
-TelephonyString ::=
- IA5String
- (FROM ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "*" |
- "#"))(SIZE (1..15))
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAP-Tools.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAP-Tools.asn
deleted file mode 100644
index 09ea9d936f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAP-Tools.asn
+++ /dev/null
@@ -1,47 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
-TCAP-Tools {itu-t recommendation q 775 modules(2) tools(1) version1(1)}
-DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- cancel,
- cancelFailed,
- cancelled
-;
-
-IMPORTS
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
-
- TCInvokeIdSet
- FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1)
- version3(3)}
-;
-
-cancel OPERATION ::= {
- ARGUMENT present < TCInvokeIdSet
- -- a TC-user may redefine this type to include
- -- an empty result so that it becomes a Class 1 operation
- ERRORS {cancelFailed}
-}
-
--- timer = 15 s
-cancelFailed ERROR ::= {
- PARAMETER
- SET {problem [0] CancelProblem,
- invokeId [1] present < TCInvokeIdSet}
-}
-
-CancelProblem ::= ENUMERATED {
- unknownInvocation(0), tooLate(1), notCancellable(2)}
-
--- a TC-user may redefine this type to include application-specific problems
-cancelled ERROR ::=
- {}
-
--- an error of this type should be included in the error list of cancellable operations
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAPMessages.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAPMessages.asn
deleted file mode 100644
index 906cac23c8..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/TCAPMessages.asn
+++ /dev/null
@@ -1,149 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
--- Module TCAPMessages (Q.773:06/1997)
--- asn1ct:compile("TCAPMessages",[ber_bin]).
-TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
-
-DEFINITIONS IMPLICIT TAGS
-
-::=
-
-BEGIN
-
--- EXPORTS everything
--- Transaction Portion fields.
-IMPORTS
- ROS{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- Supported-MAP-Operations
- FROM MAP-Protocol {itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Protocol (4) version9 (9)}
--- Start - Added by Eranga
- dialogue-as-id
- FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2)
- version1(1)}
- sendRoutingInfoForSM,
- mo-ForwardSM,
- mt-ForwardSM,
- reportSM-DeliveryStatus,
- alertServiceCentre,
- informServiceCentre,
- readyForSM
- FROM MAP-ShortMessageServiceOperations {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-ShortMessageServiceOperations (9)
- version9 (9)}
- gsm-MessagingId
- FROM MobileDomainDefinitions {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- mobileDomainDefinitions (0) version1 (1)}
- Supported-MAP-Operations
- FROM MAP-Protocol {
- itu-t identified-organization (4) etsi (0) mobileDomain (0)
- gsm-Network (1) modules (3) map-Protocol (4) version9 (9)}
--- End - Added by Eranga
-;
-
--- Start - Added by Eranga
-
-mapSpecificAS ABSTRACT-SYNTAX ::= {
- MapSpecificPDUs
- IDENTIFIED BY gsm-MessagingId
-}
-
-MapSpecificPDUs ::=
- TCMessage{{MAPOperations-Invokable}, {MAPOperations-Returnable}}
-
-
-MAPOperations-Invokable OPERATION ::=
- {sendRoutingInfoForSM | mo-ForwardSM | mt-ForwardSM}
-MAPOperations-Returnable OPERATION ::=
- {reportSM-DeliveryStatus | alertServiceCentre | informServiceCentre | readyForSM}
-
--- End - Added by Eranga
-
-
-TCMessage{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
- unidirectional [APPLICATION 1] Unidirectional{{Invokable}, {Returnable}},
- begin [APPLICATION 2] Begin{{Invokable}, {Returnable}},
- end [APPLICATION 4] End{{Invokable}, {Returnable}},
- continue [APPLICATION 5] Continue{{Invokable}, {Returnable}},
- abort [APPLICATION 7] Abort
-}
-
-Unidirectional{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}}
-}
-
-Begin{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- otid OrigTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-End{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-Continue{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE {
- otid OrigTransactionID,
- dtid DestTransactionID,
- dialoguePortion DialoguePortion OPTIONAL,
- components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL
-}
-
-Abort ::= SEQUENCE {
- dtid DestTransactionID,
- reason CHOICE {p-abortCause P-AbortCause,
- u-abortCause DialoguePortion} OPTIONAL
-}
-
--- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be
--- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT
--- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
--- abstract syntax.
-DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL
-
--- The dialogue portion carries the dialogue control PDUs as value of the external data type. The direct
--- reference should be set to {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} if structured
--- dialogue is used and to {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} if unstructured
--- dialogue is used.
-OrigTransactionID ::= [APPLICATION 8] OCTET STRING(SIZE (1..4))
-
-DestTransactionID ::= [APPLICATION 9] OCTET STRING(SIZE (1..4))
-
-P-AbortCause ::= [APPLICATION 10] INTEGER {
- unrecognizedMessageType(0), unrecognizedTransactionID(1),
- badlyFormattedTransactionPortion(2), incorrectTransactionPortion(3),
- resourceLimitation(4)}(0..127)
-
--- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the
--- component portion. The component portion may be absent.
-ComponentPortion{OPERATION:Invokable, OPERATION:Returnable} ::=
- [APPLICATION 12]
- SEQUENCE SIZE (1..MAX) OF Component{{Invokable}, {Returnable}}
-
--- Component Portion fields
--- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking
--- operations, returning results or error, and for the rejection of invalid PDUs.
--- TCAP adds returnResultNotLast to allow for the segmentation of a result.
-Component{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE {
- basicROS ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}},
- returnResultNotLast
- [7] returnResult < ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}}
-}
-
-TCInvokeIdSet ::= InvokeId(WITH COMPONENTS {
- present (-128..127)
- })
-
-END -- TCAPMessages
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/UnidialoguePDUs.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/UnidialoguePDUs.asn
deleted file mode 100644
index 4244cc8e65..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/tcapsystem/UnidialoguePDUs.asn
+++ /dev/null
@@ -1,26 +0,0 @@
--- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
--- Module UnidialoguePDUs (Q.773:06/1997)
-UnidialoguePDUs {itu-t recommendation q 773 modules(2) unidialoguePDUs(3)
- version1(1)} DEFINITIONS ::=
-BEGIN
-
-EXPORTS uniDialogue-as-id, UniDialoguePDU;
-
--- Abstract syntax name for unstructured dialogue APDUs
-uniDialogue-as-id OBJECT IDENTIFIER ::=
- {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)}
-
-UniDialoguePDU ::= CHOICE {unidialoguePDU AUDT-apdu
-}
-
-AUDT-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
- protocol-version
- [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
- application-context-name [1] OBJECT IDENTIFIER,
- user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-END -- UNIDialoguePDU
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/test_records.erl b/lib/asn1/test/asn1_bin_v2_SUITE_data/test_records.erl
deleted file mode 100644
index b2c9797fdc..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/test_records.erl
+++ /dev/null
@@ -1,87 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%
-
--module(test_records).
-
--export(['check_record_names_OTP-5812'/1]).
-
-%-include("test_server.hrl").
-%-include_lib("test_server/include/test_server.hrl").
-
--define(line,put(test_server_loc,{?MODULE,?LINE}),).
-
--include("NBAP-PDU-Discriptions.hrl").
--include("NBAP-PDU-Contents.hrl").
--include("NBAP-Containers.hrl").
--include("NBAP-CommonDataTypes.hrl").
--include("NBAP-IEs.hrl").
-
-
-
-
-'check_record_names_OTP-5812'(Msg) ->
- io:format("Msg: ~n~p~n",[Msg]),
- check_record_names(Msg).
-
-check_record_names({initiatingMessage,
- #'InitiatingMessage'{procedureID = ProcedureID,
- criticality = _Criticality,
- messageDiscriminator = _MessageDisc,
- transactionID = _TransactionID,
- value = Value}}) ->
-
- ?line ok = check_record_ProcedureID(ProcedureID),
- ?line ok = check_record_Value(Value).
-
-check_record_ProcedureID(#'ProcedureID'{}) ->
- ok;
-check_record_ProcedureID(_) -> false.
-
-check_record_Value(#'ResourceStatusIndication'{protocolIEs = ProtocolIEs}) ->
- ?line ok = check_record_ProtocolIEs(ProtocolIEs);
-check_record_Value(_) -> false.
-
-check_record_ProtocolIEs([#'ProtocolIE-Field'{value =IndicationType}|_]) ->
- ?line ok = check_record_NFResourceStatusInd(IndicationType);
-check_record_ProtocolIEs(_) -> false.
-
-check_record_NFResourceStatusInd({'no-Failure',#'No-Failure-ResourceStatusInd'{'local-Cell-InformationList'=[LCIPF]}}) ->
- 'check_record_NFResourceStatusInd_ProtocolIE-Field'(LCIPF);
-check_record_NFResourceStatusInd(_) -> false.
-
-'check_record_NFResourceStatusInd_ProtocolIE-Field'(#'ProtocolIE-Field'{value=LCI}) ->
- ?line ok = check_record_LCInfoResourceStatusInd(LCI);
-'check_record_NFResourceStatusInd_ProtocolIE-Field'(_) -> false.
-
-check_record_LCInfoResourceStatusInd(#'Local-Cell-InformationItem-ResourceStatusInd'{commonChannelsCapacityConsumptionLaw=[CCCCL],dedicatedChannelsCapacityConsumptionLaw=[DCCCL],'iE-Extensions' = [LCIRE]}) ->
- ?line ok = check_record_CCCCL(CCCCL),
- ?line ok = check_record_DCCCL(DCCCL),
- ?line ok = check_record_LCIRE(LCIRE).
-
-check_record_CCCCL(#'CommonChannelsCapacityConsumptionLaw_SEQOF'{}) ->
- ok;
-check_record_CCCCL(_) -> false.
-
-check_record_DCCCL(#'DedicatedChannelsCapacityConsumptionLaw_SEQOF'{}) ->
- ok;
-check_record_DCCCL(_) -> false.
-check_record_LCIRE(#'ProtocolExtensionField'{}) ->
- ok;
-check_record_LCIRE(_) -> false.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/testobj.erl b/lib/asn1/test/asn1_bin_v2_SUITE_data/testobj.erl
deleted file mode 100644
index be7ceee7d1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/testobj.erl
+++ /dev/null
@@ -1,1443 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%
--module(testobj).
-
--include("RANAP.hrl").
-
--compile(export_all).
-
--define(ranap, 'RANAP').
-
-
-%% These are possible Reason-values for sccp_disconnect_req in RANPM
-%%
-%% 0,0,0,0,0,1,0,0, % Message-type
-%% 0,0,0,0,0,0,0,0, % Dest local ref (dummy) - 3 octets
-%% 0,0,0,0,0,0,0,0,
-%% 0,0,0,0,0,0,0,1,
-%% 0,0,0,0,0,0,0,0, % Source local ref (dummy) - 3 octets
-%% 0,0,0,0,0,0,0,0,
-%% 0,0,0,0,0,0,1,0,
-
-run() ->
- ok = run_com_id(),
- ok = run_dir_tsf_2cn(),
- ok = run_dir_tsf_2rnc(),
- ok = run_init_ue(),
- ok = run_iu_rel_cmd(),
- ok = run_iu_rel_cmp(),
- ok = run_rab_ass_rsp_delete(),
- ok = run_rab_ass_rsp_setup(),
- ok = run_rab_create(),
- ok = run_rab_rel(),
- ok = run_reset(),
- ok = run_reset_res(),
- ok = run_sm_cmd(),
- ok = run_sm_cmp(),
- ok = run_sm_rej().
-
-
-ranap_pdu_contents(Enc,Type) ->
- {initiatingMessage, #'InitiatingMessage'{
- procedureCode = Type,
- criticality = ignore, %{'Criticality', ignore}, %XXX
- value = Enc
- }}.
-
-ranap_pdu_contents_outcome(Enc,Type) ->
- {outcome, #'Outcome'{
- procedureCode = Type,
- criticality = ignore,%XXX
- value = Enc
- }}.
-
-ranap_pdu_contents_suc(Enc,Type) ->
- {successfulOutcome, #'SuccessfulOutcome'{
- procedureCode = Type,
- criticality = ignore,%XXX
- value = Enc
- }}.
-
-ranap_pdu_contents_unsuc(Enc,Type) ->
- {unsuccessfulOutcome, #'UnsuccessfulOutcome'{
- procedureCode = Type,
- criticality = ignore,%XXX
- value = Enc
- }}.
-
-
-
-run_rab_rel() ->
- RAS = rab_release_request(),
- io:format("~w~n~n", [RAS]),
- RanapRAS = ranap_pdu_contents(RAS,0), % 0=Rab Assignment Procedure
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapRAS),
- EncRanapRAS = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapRAS]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapRAS),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'RAB-AssignmentRequest',[{_ProtIEField,_Code,_Crit,DecRel}],_ASN1novalue} ->
- io:format("~w~n~n", [DecRel])
- end,
- case DecRel of
- [[{_ProtIEField1,_Code1,_Crit1,DecRelList}]] ->
- io:format("~w~n~n", [DecRelList])
- end,
- ok.
-
-run_rab_create() ->
- RabID = [0,1,0,1,0,1,0,1],
- Teid = [0,13,83,211],
- SgsnIP = [0,0,0,0,1,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,1,0,0,0,0,1,0,1,0],
- RAS = rab_create_request(RabID, Teid, SgsnIP),
- io:format("~w~n~n", [RAS]),
- RanapRAS = ranap_pdu_contents(RAS,0), % 0=Rab Assignment Procedure
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapRAS),
- EncRanapRAS = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapRAS]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapRAS),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'RAB-AssignmentRequest',[{_ProtIEField,_Code,_Crit,DecSetOrMod}],_ASN1novalue} ->
- io:format("~w~n~n", [DecSetOrMod])
- end,
- case DecSetOrMod of
- [[{'ProtocolIE-FieldPair',_Code1,_Crit1,DecSetOrModFirst,_Crit2,DecSetOrModSecond}]] ->
- io:format("~w~n~n", [DecSetOrModFirst]),
- io:format("~w~n~n", [DecSetOrModSecond])
- end,
- ok.
-
-decode_initiating_ras(ProcedureCode,Crit,Val) ->
- case ProcedureCode of
- 0 -> % RAB-Assignment
- wrapper_decode(?ranap, 'RAB-AssignmentRequest',Val)
- end.
-
-
-run_rab_ass_rsp_setup() ->
- RAR = rab_assignment_response_setup(),
- io:format("~w~n~n", [RAR]),
- RanapRAR = ranap_pdu_contents_outcome(RAR,0), % 0=Rab Assignment Procedure
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapRAR),
- EncRanapRAR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapRAR]),
- {ok,{outcome,
- #'Outcome'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapRAR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'RAB-AssignmentResponse',[{_ProtIEField,52,_Crit,DecSetOrMod}], _ASN1novalue} ->
- io:format("Setup or Modified: ~w~n~n", [DecSetOrMod])
- end,
- case DecSetOrMod of
- [[{_ProtIEField1,51,_Crit1,DecSetOrModFirst}]] ->
- io:format("Setup or Modified: ~w~n~n", [DecSetOrModFirst])
- end,
- ok.
-
-run_rab_ass_rsp_delete() ->
- RAR = rab_assignment_response_delete(),
- io:format("~w~n~n", [RAR]),
- RanapRAR = ranap_pdu_contents_outcome(RAR,0), % 0=Rab Assignment Procedure
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapRAR),
- EncRanapRAR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapRAR]),
- {ok,{outcome,
- #'Outcome'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapRAR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'RAB-AssignmentResponse',[{_ProtIEField2,43,_Crit2,DecRelsd}], _ASN1novalue} ->
- io:format("Released: ~w~n~n", [DecRelsd])
- end,
- case DecRelsd of
- [[{_ProtIEField3,_Code3,_Crit3,DecRelsdItem}]] ->
- io:format("Released: ~w~n~n", [DecRelsdItem])
- end,
- ok.
-
-decode_initiating_rar(ProcedureCode,Crit,Val) ->
- case ProcedureCode of
- 0 -> % RAB-Assignment
- wrapper_decode(?ranap, 'RAB-AssignmentResponse',Val)
- end.
-
-
-
-run_init_ue() ->
- INI = initial_ue(),
- io:format("~w~n~n", [INI]),
- RanapINI = ranap_pdu_contents(INI, 19), % 19 = InitialUE-Message
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapINI),
- EncRanapINI = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapINI]),
-
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapINI),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'InitialUE-Message',[{_ProtIEField,Code,_Crit,DecCN},
- {_ProtIEField1,Code1,_Crit1,
- {_LAI,LaiPlmnid,LaiLac,_ASN1novalue}},
- {_ProtIEField2,Code2,_Crit2,DecRAC},
- {_ProtIEField3,Code3,_Crit3,
- {_SAI,SaiPlmnid,SaiLac,SaiSac,_ASN1novalue}},
- {_ProtIEField4,Code4,_Crit4,DecNASPDU},
- {_ProtIEField5,Code5,_Crit5,DecIUSCID},
- {_ProtIEField6,Code6,_Crit6,
- {_GRI,GlPlmnid,GlRNCID}}],_ASN1novalue} ->
- io:format("CN Dom Ind: ~w~n", [DecCN]),
- io:format("Code: ~w~n~n", [Code]),
- io:format("LaiPlmnid: ~w~n", [LaiPlmnid]),
- io:format("LaiLac: ~w~n", [LaiLac]),
- io:format("Code: ~w~n~n", [Code1]),
- io:format("RAC: ~w~n", [DecRAC]),
- io:format("Code: ~w~n~n", [Code2]),
- io:format("SaiPlmnid: ~w~n", [SaiPlmnid]),
- io:format("SaiLac: ~w~n", [SaiLac]),
- io:format("SaiSac: ~w~n", [SaiSac]),
- io:format("Code: ~w~n~n", [Code3]),
- io:format("NAS-PDU: ~w~n", [DecNASPDU]),
- io:format("Code: ~w~n~n", [Code4]),
- io:format("Iu Sign Con Id: ~w~n", [DecIUSCID]),
- io:format("Code: ~w~n~n", [Code5]),
- io:format("GlPlmnid: ~w~n", [GlPlmnid]),
- io:format("GlRNCID: ~w~n", [GlRNCID]),
- io:format("Code: ~w~n~n", [Code6])
- end,
- ok.
-
-% NasPdu = extract_ie({init_ue},'InitUE-MessageIEsNAS-PDU',ListsinLists),
-% io:format("Tebax~n~w~n~n", [NasPdu]),
-% ok.
-
-decode_initiating_ini(ProcedureCode,Crit,Val) ->
- case ProcedureCode of
- 19 -> % InitialUE-Message
- wrapper_decode(?ranap, 'InitialUE-Message',Val)
- end.
-
-
-run_dir_tsf_2cn() ->
- DIR = direct_transfer_cn(),
- io:format("~w~n~n", [DIR]),
- RanapDIR = ranap_pdu_contents(DIR, 20), % 20 = DirectTransfer
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapDIR),
- EncRanapDIR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapDIR]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapDIR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'DirectTransfer',
- [{_ProtIEField1,_Code1,_Crit1,DecNASPDU},
- {_ProtIEField2,_Code2,_Crit2,DecLAI},
- {_ProtIEField3,_Code3,_Crit3,DecRAC}],
- _ASN1novalue} ->
- io:format("NAS-PDU: ~w~n~n", [DecNASPDU]),
- io:format("LAI: ~w~n~n", [DecLAI]),
- io:format("RAC: ~w~n~n", [DecRAC])
- end,
- ok.
-
-run_dir_tsf_2rnc() ->
- DIR = direct_transfer_rnc(),
- io:format("~w~n~n", [DIR]),
- RanapDIR = ranap_pdu_contents(DIR, 20), % 20 = DirectTransfer
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapDIR),
- EncRanapDIR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapDIR]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapDIR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'DirectTransfer',
- [{_ProtIEField1,_Code1,_Crit1,DecNASPDU},
- {_ProtIEField2,_Code2,_Crit2,DecSAPI}],
- _ASN1novalue} ->
- io:format("NAS-PDU: ~w~n~n", [DecNASPDU]),
- io:format("SAPI: m~w~n~n", [DecSAPI])
- end,
- ok.
-
-decode_initiating_dir(ProcedureCode,Crit,Val) ->
- io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
- case ProcedureCode of
- 20 -> % DirectTransfer
- wrapper_decode(?ranap, 'DirectTransfer',Val)
- end.
-
-% List = tuple2list(Dec),
-% io:format("~w~n~n", [List]),
-% NasPdu = extract_ie({dir_trans},'DirTransIEs-NAS-PDU',List),
-% io:format("~w~n~n", [NasPdu]),
-% ok.
-
-
-run_iu_rel_cmd() ->
- IUR = iu_release_command(),
- io:format("~w~n~n", [IUR]),
- RanapIUR = ranap_pdu_contents(IUR, 1), % 1 = Iu-Release
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUR),
- EncRanapIUR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapIUR]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUR),
- io:format("General: ~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'Iu-ReleaseCommand',[{_ProtIEField,_Code,_Crit,DecCause}],_ASN1novalue} ->
- io:format("Cause: ~w~n~n", [DecCause])
- end.
-
-run_iu_rel_cmp() ->
- IUP = iu_release_complete(),
- io:format("~w~n~n", [IUP]),
- RanapIUP = ranap_pdu_contents_suc(IUP, 1), % 1 = Iu-Release
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUP),
- EncRanapIUP = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapIUP]),
- {ok,{successfulOutcome,
- #'SuccessfulOutcome'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUP),
- io:format("~w~n~n", [DecGeneral]).
-
-% run_iu_rel_req() ->
-% IUP = iu_release_request(),
-% io:format("~w~n~n", [IUP]),
-% {ok, Tmp} = wrapper_encode(?ranap, 'Iu-ReleaseRequest', IUP),
-% EncIUP = lists:flatten(Tmp),
-% RanapIUP = ranap_pdu_contents(EncIUP, 1), % 1 = Iu-Release
-% {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUP),
-% EncRanapIUP = lists:flatten(Tmp2),
-% io:format("~w~n~n", [EncRanapIUP]),
-% case wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUP) of
-% {ok,{initiatingMessage,
-% #'InitiatingMessage'{procedureCode=ProcedureCode,
-% criticality=Criticality,
-% value=Value}}} ->
-% DecGeneral = decode_initiating_iu(ProcedureCode,Criticality,Value)
-% end,
-% io:format("~w~n~n", [DecGeneral]).
-
-decode_initiating_iu(ProcedureCode,Crit,Val) ->
- case ProcedureCode of
- 1 -> % Iu-Release
- wrapper_decode(?ranap, 'Iu-ReleaseComplete',Val)
- end.
-
-
-
-
-
-run_com_id() ->
- COM = common_id(),
- io:format("~w~n~n", [COM]),
- RanapCOM = ranap_pdu_contents(COM, 15), % 15 = CommonID
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapCOM),
- EncRanapCOM = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapCOM]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapCOM),
- io:format("DecGeneral: ~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'CommonID',[{_ProtIEField,23,_Crit,DecCause}],_ASN1novalue} ->
- io:format("Cause: ~w~n~n", [DecCause]);
- Error ->
- io:format("Error: ~w~n~n", [Error])
- end.
-
-
-decode_common_id(ProcedureCode,Crit,Val) ->
- case ProcedureCode of
- 15 -> % Common ID
- wrapper_decode(?ranap, 'CommonID',Val);
- Error ->
- io:format("Error: ~w~n~n", [Error])
- end.
-
-
-
-
-run_sm_cmd() ->
- DIR = security_mode_cmd(),
- io:format("~w~n~n", [DIR]),
- RanapDIR = ranap_pdu_contents(DIR, 6), % 6 = Sec Mode
- io:format("~w~n~n", [RanapDIR]),
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapDIR),
- EncRanapDIR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapDIR]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapDIR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'SecurityModeCommand',
- [{_ProtIEField1,12,_Crit1,DecIPI},
- {_ProtIEField2,11,_Crit2,DecEI},
- {_ProtIEField3,75,_Crit3,DecKS}],
- _ASN1novalue} ->
- io:format("Integrity Protection Algoritm: ~w~n~n", [DecIPI]),
- io:format("Encryption Information: ~w~n~n", [DecEI]),
- io:format("Key Status: ~w~n~n", [DecKS])
- end,
- ok.
-
-run_sm_cmp() ->
- DIR = security_mode_cmp(),
- io:format("~w~n~n", [DIR]),
- RanapDIR = ranap_pdu_contents_suc(DIR, 6), % 6 = Sec Mode
- io:format("~w~n~n", [RanapDIR]),
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapDIR),
- EncRanapDIR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapDIR]),
- {ok,{successfulOutcome,
- #'SuccessfulOutcome'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapDIR),
- io:format("~w~n~n", [DecGeneral]),
- case DecGeneral of
- {'SecurityModeComplete',
- [{_ProtIEField1,6,_Crit1,DecIPA},
- {_ProtIEField2,5,_Crit2,DecEI}],
- _ASN1novalue} ->
- io:format("Integrity Protection Algoritm: ~w~n~n", [DecIPA]),
- io:format("Encryption Information: ~w~n~n", [DecEI])
- end,
- ok.
-
-run_sm_rej() ->
- DIR = security_mode_rej(),
- io:format("~w~n~n", [DIR]),
- RanapDIR = ranap_pdu_contents_unsuc(DIR, 6), % 6 = Sec Mode
- io:format("~w~n~n", [RanapDIR]),
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapDIR),
- EncRanapDIR = lists:flatten(Tmp2),
- io:format("~w~n~n", [EncRanapDIR]),
- {ok,{unsuccessfulOutcome,
- #'UnsuccessfulOutcome'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapDIR),
- io:format("~w~n~n", [DecGeneral]),
-% case DecGeneral of
-% {ok,{'SecurityModeReject',
-% [{_ProtIEField1,6,_Crit1,Value1},
-% {_ProtIEField2,5,_Crit2,Value2}],
-% _ASN1novalue}} ->
-% io:format("Value1: ~w~n~n", [Value1]),
-% io:format("Value2: ~w~n~n", [Value2]),
-% {ok,DecIPA} = wrapper_decode(?ranap, 'IntegrityProtectionAlgorithm', Value1),
-% {ok,DecEI} = wrapper_decode(?ranap, 'EncryptionAlgorithm', Value2),
-% io:format("Integrity Protection Algoritm: ~w~n~n", [DecIPA]),
-% io:format("Encryption Information: ~w~n~n", [DecEI])
-% end,
- ok.
-
-decode_initiating_sm(ProcedureCode,Crit,Val) ->
- io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
- case ProcedureCode of
- 6 -> % Sec Mode
- wrapper_decode(?ranap, 'SecurityModeCommand',Val)
- end.
-
-decode_suc_sm(ProcedureCode,Criticality,Value) ->
- io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
- case ProcedureCode of
- 6 -> % Sec Mode
- wrapper_decode(?ranap, 'SecurityModeComplete',Value)
- end.
-
-decode_unsuc_sm(ProcedureCode,Criticality,Value) ->
- io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
- case ProcedureCode of
- 6 -> % Sec Mode
- wrapper_decode(?ranap, 'SecurityModeReject',Value)
- end.
-
-
-
-
-
-
-
-run_reset() ->
- IUP = reset(),
- io:format("Reset: ~w~n~n", [IUP]),
- RanapIUP = ranap_pdu_contents(IUP, 9), % 9 = Reset
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUP),
- EncRanapIUP = lists:flatten(Tmp2),
- io:format("Coded Reset: ~w~n~n", [EncRanapIUP]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUP),
- io:format("Decoded Reset: ~w~n~n", [DecGeneral]),
-
- IUP1 = reset_ack(),
- io:format("Reset Ack:~w~n~n", [IUP1]),
- RanapIUP1 = ranap_pdu_contents_suc(IUP1, 9), % 9 = Reset
- {ok, Tmp21} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUP1),
- EncRanapIUP1 = lists:flatten(Tmp21),
- io:format("Coded Reset Ack: ~w~n~n", [EncRanapIUP1]),
- {ok,{successfulOutcome,
- #'SuccessfulOutcome'{procedureCode=ProcedureCode1,
- criticality=Criticality1,
- value=DecGeneral1}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUP1),
- io:format("Decoded Reset Ack: ~w~n~n", [DecGeneral1]).
-
-% decode_init_reset(ProcedureCode,Crit,Val) ->
-% io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
-% case ProcedureCode of
-% 9 -> % reset
-% wrapper_decode(?ranap, 'Reset',Val)
-% end.
-
-% decode_init_reset_ack(ProcedureCode,Crit,Val) ->
-% io:format("ProcedureCode: ~w~n~n", [ProcedureCode]),
-% case ProcedureCode of
-% 9 -> % reset
-% wrapper_decode(?ranap, 'ResetAcknowledge',Val)
-% end.
-
-
-
-
-
-
-
-
-
-run_reset_res() ->
- IUP = reset_res([12,13,14,15,16,17,18,19,20]),
- io:format("Reset Rsource: ~w~n~n", [IUP]),
- RanapIUP = ranap_pdu_contents(IUP, 27), % 27 = Reset Res
- {ok, Tmp2} = wrapper_encode(?ranap, 'RANAP-PDU', RanapIUP),
- EncRanapIUP = lists:flatten(Tmp2),
- io:format("Coded Reset Resource: ~w~n~n", [EncRanapIUP]),
- {ok,{initiatingMessage,
- #'InitiatingMessage'{procedureCode=ProcedureCode,
- criticality=Criticality,
- value=DecGeneral}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapIUP),
- io:format("Decoded Reset Resource: ~w~n~n", [DecGeneral]),
-% case DecGeneral of
-% {ok,{'ResetResource',
-% [{'ProtocolIE-Field',3,ignore,Value1},
-% {'ProtocolIE-Field',4,ignore,Value2},
-% {'ProtocolIE-Field',77,ignore,Value3},
-% {'ProtocolIE-Field',86,ignore,Value4}],
-% asn1_NOVALUE}} ->
-% io:format("Value1: ~w~n~n", [Value1]),
-% io:format("Value2: ~w~n~n", [Value2]),
-% io:format("Value3: ~w~n~n", [Value3]),
-% io:format("Value4: ~w~n~n", [Value4]),
-% {ok,DecIPA} = wrapper_decode(?ranap, 'CN-DomainIndicator', Value1),
-% {ok,{_Radio,DecEI}} = wrapper_decode(?ranap, 'Cause', Value2),
-% {ok,DecRR} = wrapper_decode(?ranap, 'ResetResourceList', Value3),
-% DecRRI = case DecRR of
-% [[{'ProtocolIE-Field',78,ignore,Value5}]] ->
-% {ok,{_apa,DecRI,_asn1novalue}} =
-% wrapper_decode(?ranap, 'ResetResourceItem', Value5),
-% DecRI
-% end,
-% {ok,{_Gl_id,PLMN_ID,RNC_ID}} = wrapper_decode(?ranap, 'GlobalRNC-ID', Value4),
-% io:format("CN-DomainIndicator: ~w~n~n", [DecIPA]),
-% io:format("Cause: ~w~n~n", [DecEI]),
-% io:format("ResetResourceList: ~w~n~n", [DecRR]),
-% io:format(" ResetResourceItem: ~w~n~n", [DecRRI]),
-% io:format("GlobalRNC-ID: PLMN_ID: ~w, RNC_ID: ~w~n~n", [PLMN_ID,RNC_ID])
-% end,
-
- RSA = reset_res_ack([12,13,14,15,16,17,18,19,20]),
- io:format("~n~nReset Resource Ack:~w~n~n", [RSA]),
- RanapRSA = ranap_pdu_contents_suc(RSA, 27), % 27 = Reset Res
- {ok, Tmp12} = wrapper_encode(?ranap, 'RANAP-PDU', RanapRSA),
- EncRanapRSA = lists:flatten(Tmp12),
- io:format("Coded Reset Resource Ack: ~w~n~n", [EncRanapRSA]),
- {ok,{successfulOutcome,
- #'SuccessfulOutcome'{procedureCode=ProcedureCode1,
- criticality=Criticality1,
- value=DecGeneral1}}} =
- wrapper_decode(?ranap, 'RANAP-PDU', EncRanapRSA),
- io:format("Decoded Reset Resource Ack: ~w~n~n", [DecGeneral1]).
-% case DecGeneral1 of
-% {ok,{'ResetResourceAcknowledge',
-% [{'ProtocolIE-Field',3,ignore,Value12},
-% {'ProtocolIE-Field',77,ignore,Value32}],
-% asn1_NOVALUE}} ->
-% io:format("Value1: ~w~n~n", [Value12]),
-% io:format("Value3: ~w~n~n", [Value32]),
-% {ok,DecIPA2} = wrapper_decode(?ranap, 'CN-DomainIndicator', Value12),
-% {ok,DecRR2} = wrapper_decode(?ranap, 'ResetResourceList', Value32),
-% DecRRI2 = case DecRR2 of
-% [[{'ProtocolIE-Field',78,ignore,Value52}]] ->
-% {ok,{_apa2,DecRI2,_asn1novalue2}} =
-% wrapper_decode(?ranap, 'ResetResourceItem', Value52),
-% DecRI2
-% end,
-% io:format("CN-DomainIndicator: ~w~n~n", [DecIPA2]),
-% io:format("ResetResourceList: ~w~n~n", [DecRR2]),
-% io:format(" ResetResourceItem: ~w~n~n", [DecRRI2])
-% end.
-
-
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Kod f�r att s�tta ihop RANAP-meddelanden
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-rab_release_request() ->
- #'RAB-AssignmentRequest'{
- protocolIEs = rab_assign_request_release_ies()
- }.
-
-rab_assign_request_release_ies() ->
- [rab_assign_release_rab_release_list()].
-
-rab_assign_release_rab_release_list() ->
- #'ProtocolIE-Field'{
- id = 41, % 41 = id-RAB-ReleaseList
- criticality = ignore,%XXX
- value = rab_release_list()
- }.
-
-rab_release_list() ->
- [release_lists()].
-
-release_lists() ->
- [rab_release_item_ies()].
-
-rab_release_item_ies() ->
- #'ProtocolIE-Field'{
- id = 40, % 40 = id-RAB-ReleaseItem
- criticality = ignore,%XXX
- value = rab_release_item()}.
-
-rab_release_item() ->
- #'RAB-ReleaseItem'{'rAB-ID' = rab_id(),
- cause = cause_nas()}.
-
-cause_nas() ->
- {nAS, 'normal-release'}.
-
-
-
-
-
-
-rab_create_request(Rabid, Teid, SgsnIP) ->
- #'RAB-AssignmentRequest'{
- protocolIEs =
- rab_assign_create_request_ies(Rabid, Teid, SgsnIP)
- }.
-
-rab_assign_create_request_ies(Rabid, Teid, SgsnIP) ->
- [rab_assign_setup_or_modify_list(Rabid, Teid, SgsnIP)].
-
-rab_assign_setup_or_modify_list(Rabid, Teid, SgsnIP) ->
- #'ProtocolIE-Field'{
- id = 54, %id-RAB-SetupOrModifyList
- criticality = ignore,%XXX
- value = rab_setup_or_modify_list(Rabid, Teid, SgsnIP)
- }.
-
-rab_setup_or_modify_list(Rabid, Teid, SgsnIP) ->
- [setup_or_modify_lists(Rabid, Teid, SgsnIP)].
-
-setup_or_modify_lists(Rabid, Teid, SgsnIP) ->
- [rab_setup_or_modify_item_ies(Rabid, Teid, SgsnIP)].
-
-rab_setup_or_modify_item_ies(Rabid, Teid, SgsnIP) ->
- #'ProtocolIE-FieldPair'{
- id = 53,
- firstCriticality = reject, %{'Criticality',reject},
- firstValue = rab_setup_or_modify_item_first(Rabid, Teid, SgsnIP),
- secondCriticality = ignore, %{'Criticality', ignore}
- secondValue = rab_setup_or_modify_item_second()
- }.
-
-rab_setup_or_modify_item_first(Rabid, Teid, SgsnIP) ->
- #'RAB-SetupOrModifyItemFirst'{
- 'rAB-ID' = Rabid, %ras_rab_id(Rabid),
- 'rAB-Parameters' = rab_parameters(),
- userPlaneInformation = user_plane_information(),
- transportLayerAddress = SgsnIP,
- iuTransportAssociation = ras_iu_transport_association(Teid)
- }.
-
-ras_iu_transport_association(Teid) ->
- {'gTP-TEI', Teid}.
-
-rab_id() ->
- [0,1,0,1,0,1,0,1].
-
-rab_parameters() ->
- #'RAB-Parameters'{
- trafficClass = background,
- 'rAB-AsymmetryIndicator' = 'symmetric-bidirectional',
- maxBitrate = [200000],
- deliveryOrder = 'delivery-order-not-requested',
- 'maxSDU-Size' = 11,
- 'sDU-Parameters' = sdu_parameters(),
- trafficHandlingPriority = 14 %{'TrafficHandlingPriority', 14} %14=lowest
- }.
-
-user_plane_information() ->
- #'UserPlaneInformation'{
- userPlaneMode = 'support-mode-for-predefined-SDU-sizes',
- 'uP-ModeVersions' = 2#1010101010101010
- }.
-
-transport_layer_address() ->
- [1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,1,1,1,1].
-% 1 2 3 4
-
-iu_transport_association() ->
- {'gTP-TEI', [31,32,33,34]}.
-
-sdu_parameters() ->
- [#'SDU-Parameters_SEQOF'{
- 'sDU-ErrorRatio' = sdu_error_ratio(),
- residualBitErrorRatio = residual_bit_error_ratio(),
- deliveryOfErroneousSDU = no
- }].
-
-sdu_error_ratio() ->
- #'SDU-ErrorRatio'{
- mantissa = 9,
- exponent = 4
- }.
-
-residual_bit_error_ratio() ->
- #'ResidualBitErrorRatio'{
- mantissa = 9,
- exponent = 5
- }.
-
-%allocationOrRetentionPriority() ->
-% #'AllocationOrRetentionPriority'{
-% priorityLevel = lowest,
-% 'pre-emptionCapability' = {'Pre-emptionCapability','can-trigger-pre-emption'},
-% 'pre-emptionVulnerability' = {'Pre-emptionVulnerability','not-vulnerable-to-pre-emption'},
-% queuingAllowed = {'QueuingAllowed','queueing-allowed'}
-% }.
-
-rab_setup_or_modify_item_second() -> % returns OpenType value
- #'RAB-SetupOrModifyItemSecond'{
- 'pDP-TypeInformation' = ['ipv4'],
- dataVolumeReportingIndication = 'do-not-report',
- 'dl-GTP-PDU-SequenceNumber' = 1,
- 'ul-GTP-PDU-SequenceNumber' = 2,
- 'dl-N-PDU-SequenceNumber' = 0,
- 'ul-N-PDU-SequenceNumber' = 0
- }.
-
-
-
-
-rab_assignment_response_setup() ->
- #'RAB-AssignmentResponse'{
- protocolIEs = rab_assignement_response_ies_setup()
- }.
-
-rab_assignement_response_ies_setup() ->
- [rab_ass_rsp_setup_or_modified_list()].
-
-rab_ass_rsp_setup_or_modified_list() ->
- #'ProtocolIE-Field'{
- id = 52, % 52=RAB-AssignRABSetupOrModifiedList
- criticality = ignore,%XXX
- value = rab_setup_or_modified_list()
- }.
-
-rab_setup_or_modified_list() ->
- [rab_setup_or_modified_item_list()].
-
-rab_setup_or_modified_item_list() ->
- [rab_setup_or_modified_item_ies()].
-
-rab_setup_or_modified_item_ies() ->
- #'ProtocolIE-Field'{
- id = 51, % 51 = RAB-SetupOrModifiedItemIEs
- criticality = reject, %{'Criticality', reject},
- value = rab_setup_or_modified_item()
- }.
-
-rab_setup_or_modified_item() ->
- #'RAB-SetupOrModifiedItem'{
- 'rAB-ID' = rab_id(),
- transportLayerAddress = transport_layer_address(),
- iuTransportAssociation = iu_transport_association()
- }.
-
-
-
-
-
-
-rab_assignment_response_delete() ->
- #'RAB-AssignmentResponse'{
- protocolIEs = rab_assignement_response_ies_delete()
- }.
-
-rab_assignement_response_ies_delete() ->
- [rab_ass_rsp_rab_release_list()].
-
-rab_ass_rsp_rab_release_list() ->
- #'ProtocolIE-Field'{
- id = 43, % 41 = RAB-AssignRABReleasedList
- criticality = ignore,%XXX
- value = rab_released_list()
- }.
-
-rab_released_list() ->
- [released_lists()].
-
-released_lists() ->
- [rab_released_item_ies()]. % 'ReleasedLists'
-
-rab_released_item_ies() ->
- #'ProtocolIE-Field'{
- id = 42, % 42 = RAB-ReleaseItemIEs
- criticality = ignore,%XXX
- value = rab_released_item()
- }.
-
-rab_released_item() ->
- #'RAB-ReleasedItem'{
- 'rAB-ID' = rab_id()
- }.
-
-
-
-initial_ue() ->
- #'InitialUE-Message'{
- protocolIEs = initial_ue_ies()
- }.
-
-initial_ue_ies() ->
- [cn_domain_ind(),
- init_lai(),
- init_rac(),
- init_sai(),
- init_nas_pdu(),
- init_iu_sign_con_id(),
- init_global_rnc_id_initial_ue()].
-
-
-cn_domain_indicator() ->
- {'CN-DomainIndicator', 'ps-domain'}.
-
-init_lai() ->
- #'ProtocolIE-Field'{
- id = 15, % 15 = LAI
- criticality = ignore,%XXX
- value = lai()
- }.
-
-lai() ->
- #'LAI'{'pLMN-ID' = [25,26,27],
- lAC = [25,26]}.
-
-init_rac() ->
- #'ProtocolIE-Field'{
- id = 55, % 55 = RAC
- criticality = ignore,%XXX
- value = rac()
- }.
-
-rac() ->
- [25].
-
-init_sai() ->
- #'ProtocolIE-Field'{
- id = 58, % 58 = SAI
- criticality = ignore,%XXX
- value = sai()
- }.
-
-sai() ->
- #'SAI'{'pLMN-ID' = [28,29,30], %KOLLA!!!!
- lAC = [30,31],
- sAC = [32,33]}.
-
-init_nas_pdu() ->
- #'ProtocolIE-Field'{
- id = 16, % 16 = NAS-PDU
- criticality = ignore,%XXX
- value = pdu_ar()
- }.
-
-pdu_ac()->
- [16#08,
- 16#03].
-
-pdu_ar() ->
- [16#08, % Skip indicator | Protocol discriminator
- 16#01, % Attach Request
- 16#01,16#b7, % MsNetworkCapability
- 16#21, % Cksn | AttachType
- 16#55,16#06, % DrxParameter
- 16#05,16#61,16#86,16#14,16#09,16#f7, % MsId
- 16#21,16#63,16#54,16#ac,16#dc,16#d5, % OldRai
- 16#0a,16#f0,16#f1,16#f2,16#f3,16#f4, % MsRaCap
- 16#f5,16#f6,16#f7,16#f8,16#f9 % MsRaCap continues
- %%16#19,16#ab,16#cd,16#ef, % P-TMSI signature
- %%16#17,16#5b, % Requested READY timer
- %%16#91 % TMSI status
- ].
-
-pdu_pdp() ->
- [2#01001010, % Transaction_id | Protocol_disc
- 2#01000001, % Message_type
- 2#00001001, % Nsapi
- 1, % Llc_sapi (dummie_value)
- 1,1,1,1, % QoS dummie_value=1 (19 octets)
- 1,1,1,1,1,
- 1,1,1,1,1,
- 1,1,1,1,1,
- 7, % PDP_Address (Ltot=7),
- 2#00000001, % ietf/etsi organisation
- 2#00100001, % IPv4
- 198, % IP address MSD
- 124,
- 56,
- 124, % IP address LSD
- 1, % APN optional (octet1=IEI)
- 25, % APN total length
- 4, % length lable1
- 116,101,115,116, % lable1 = test
- 4, % length lable2
- 116,101,115,116, % lable2 = test
- 4, % lenght lable3
- 116,101,115,116, % lable3 = test
- 4, % length lable3
- 116,101,115,116, % lable4 = test
- 4, % length label5
- 103,112,114,115
- ].
-
-pdu_auth_rsp() ->
- [8,16#13,0,1,2,3,16#21,2,0,1].
-
-pdu_auth_fail() ->
- [8,16#1C,1,16#22,2,0,1].
-
-init_iu_sign_con_id() ->
- #'ProtocolIE-Field'{
- id = 79, % 79 = id-IuSigConId
- criticality = ignore,%XXX
- value = iu_sign_con_id()
- }.
-
-iu_sign_con_id() ->
- 53245.
-% [1,0,1,0,1,0,1,0,
-% 1,0,1,0,1,0,1,0,
-% 1,0,1,0,1,0,1,1]
-
-init_global_rnc_id_initial_ue() ->
- #'ProtocolIE-Field'{
- id = 86, % 86 = id-GlobalRNC-ID
- criticality = ignore,%XXX
- value = global_rnc_id()
- }.
-
-global_rnc_id() ->
- #'GlobalRNC-ID'{'pLMN-ID' = [10,11,12], 'rNC-ID' = 2048}.
-
-direct_transfer_cn() ->
- #'DirectTransfer'{
- protocolIEs = direct_transfer_cn_ies()
- }.
-
-direct_transfer_cn_ies() ->
- [dir_cn_nas_pdu(),
- dir_lai(),
- dir_rac()].
-
-dir_cn_nas_pdu() ->
- #'ProtocolIE-Field'{
- id = 16, % 16 = id-NAS-PDU
- criticality = ignore,%XXX
- value = pdu_auth_fail()
- }.
-
-dir_lai() ->
- #'ProtocolIE-Field'{
- id = 15, % 15 = id-LAI
- criticality = ignore,%XXX
- value = lai()
- }.
-
-dir_rac() ->
- #'ProtocolIE-Field'{
- id = 55, % 55 = id-RAC
- criticality = ignore,%XXX
- value = rac()
- }.
-
-
-
-
-
-
-direct_transfer_rnc() ->
- #'DirectTransfer'{
- protocolIEs = direct_transfer_rnc_ies()
- }.
-
-direct_transfer_rnc_ies() ->
- [dir_rnc_nas_pdu(),
- dir_sapi()].
-
-dir_rnc_nas_pdu() ->
- #'ProtocolIE-Field'{
- id = 16, % 16 = id-NAS-PDU
- criticality = ignore,%XXX
- value = pdu_auth_rsp()
- }.
-
-dir_sapi() ->
- #'ProtocolIE-Field'{
- id = 59, % 59 = id-SAPI
- criticality = ignore,%XXX
- value = sapi()
- }.
-
-sapi() ->
- 'normal-priority'.
-
-
-
-
-
-iu_release_command() ->
- #'Iu-ReleaseCommand'{
- protocolIEs = iu_rel_command_ies()
- }.
-
-iu_rel_command_ies() ->
- [iu_relcomcause_nas()].
-
-iu_relcomcause_nas() ->
- #'ProtocolIE-Field'{
- id = 4, % 4 = Id-Cause
- criticality = ignore,%XXX
- value = cause()
- }.
-
-cause() ->
- cause_nas().
-
-% cause() ->
-% {ok,Bytes} =
-% wrapper_encode(?ranap,'CauseNAS',
-% {'CauseNAS', 'normal-release'}),
-% Bytes.
-
-
-
-
-
-
-iu_release_complete() ->
- #'Iu-ReleaseComplete'{
- protocolIEs = iu_rel_comp_ies()
- }.
-
-iu_rel_comp_ies() ->
- [].
-% 'iu-RelCompRABDataVolumeReportList' = asn1_NOVALUE,
-% 'iu-RelCompRABReleasedListIuRelComp' = asn1_NOVALUE,
-% 'iu-RelCompCriticalityDiagnostics' = asn1_NOVALUE
-% }.
-
-
-
-
-
-
-
-
-common_id() ->
- #'CommonID'{
- protocolIEs = common_id_ies()
- }.
-
-common_id_ies() ->
- [common_id_imsi()].
-
-common_id_imsi() ->
- #'ProtocolIE-Field'{
- id = 23, % 23 = Perm. NAS ID (IMSI)
- criticality = ignore, %ignore,%XXX %XXX
- value = imsi()
- }.
-
-imsi() ->
- {iMSI, [1,2,3,4,5,6,7,8]}.
-
-
-
-
-
-
-
-
-
-
-security_mode_cmd() ->
- #'SecurityModeCommand'{
- protocolIEs = security_mode_cmd_ies()
- }.
-
-security_mode_cmd_ies() ->
- [security_mode_cmd_integ(),
- security_mode_cmd_encr(),
- security_mode_cmd_keystat()
- ].
-
-security_mode_cmd_integ() ->
- #'ProtocolIE-Field'{
- id = 12, % 12 = Integ info
- criticality = ignore,%{'Criticality', ignore},
- value = integ_info()
- }.
-
-integ_info() ->
- #'IntegrityProtectionInformation'{
- permittedAlgorithms = perm_integ_algs(),
- key = key() }.
-
-perm_integ_algs() ->
- [integ_prot_alg()].
-
-integ_prot_alg() ->
- 'standard-UMTS-integrity-algorithm-UIA1'.
-
-key() ->
- [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0].
-
-
-
-security_mode_cmd_encr() ->
- #'ProtocolIE-Field'{
- id = 11, % 11 = Encr info
- criticality = ignore,%{'Criticality', ignore},
- value = encr_info()
- }.
-
-encr_info() ->
- #'EncryptionInformation'{
- permittedAlgorithms = perm_encr_algs(),
- key = key() }.
-
-perm_encr_algs() ->
- [encr_prot_alg()].
-
-encr_prot_alg() ->
- 'standard-UMTS-encryption-algorith-UEA1'.
-
-security_mode_cmd_keystat() ->
- #'ProtocolIE-Field'{
- id = 75, % 75 = id-KeyStatus
- criticality = ignore,%{'Criticality', ignore},
- value = key_status()
- }.
-
-key_status() ->
- new.
-
-
-
-
-
-security_mode_cmp() ->
- #'SecurityModeComplete'{
- protocolIEs = security_mode_cmp_ies()
- }.
-
-security_mode_cmp_ies() ->
- [security_mode_cmp_ch_integ_prot_alg(),
- security_mode_cmp_ch_encr_alg()
- ].
-
-security_mode_cmp_ch_integ_prot_alg() ->
- #'ProtocolIE-Field'{
- id = 6, % 6 = Chosen Integ prot alg
- criticality = ignore,%XXX
- value = ch_integ_prot_alg()
- }.
-
-ch_integ_prot_alg() ->
- 'standard-UMTS-integrity-algorithm-UIA1'.
-
-
-security_mode_cmp_ch_encr_alg() ->
- #'ProtocolIE-Field'{
- id = 5, % 5 = Chosen Encr alg
- criticality = ignore,%XXX
- value = ch_encr_alg()
- }.
-
-ch_encr_alg() ->
- 'standard-UMTS-encryption-algorith-UEA1'.
-
-
-
-
-security_mode_rej() ->
- #'SecurityModeReject'{
- protocolIEs = security_mode_rej_ies()
- }.
-
-security_mode_rej_ies() ->
- [security_mode_rej_cause()].
-
-
-security_mode_rej_cause() ->
- #'ProtocolIE-Field'{
- id = 4, % 4 = Id-Cause
- criticality = ignore,%XXX
- value = cause_radio() % Se Reset
- }.
-
-
-
-
-
-
-
-
-reset() ->
- #'Reset'{
- protocolIEs = reset_ies()
- }.
-reset_ies() ->
- {'Reset_protocolIEs', % this identifier is very unneccesary here
- [reset_cause(),
- cn_domain_ind(), % Se initial Ue
- init_global_rnc_id() % ---- " ----
- ]}.
-init_global_rnc_id() ->
- #'ProtocolIE-Field'{
- id = 86, % 86 = id-GlobalRNC-ID
- criticality = ignore,%XXX
- value = global_rnc_id()
- }.
-
-reset_cause() ->
- #'ProtocolIE-Field'{
- id = 4, % 4 = id-Cause
- criticality = ignore,%XXX
- value = cause_radio()
- }.
-%cause_open() ->
-% {ok,Bytes} =
-% wrapper_encode(?ranap,'Cause', cause_radio()),
-% Bytes.
-cause_radio() ->
- {radioNetwork, 'release-due-to-utran-generated-reason'}.
-
-
-cn_domain_ind(IEs) when atom(IEs)->
- setelement(1,cn_domain_ind(),IEs).
-
-cn_domain_ind() ->
- #'ProtocolIE-Field'{
- id = 3, % 3 = InitUE-MessageIEsCN-DomainIndicator
- criticality = ignore,%XXX
- value = cn_domain_indicator()
- }.
-
-
-
-
-reset_ack() ->
- #'ResetAcknowledge'{
- protocolIEs = reset_ack_ies()
- }.
-reset_ack_ies() ->
- {'ResetAcknowledge_protocolIEs', % very unneccesary
- [cn_domain_ind()]}. % Se initial Ue
-
-
-
-
-
-reset_res(IuSCId) ->
- #'ResetResource'{
- protocolIEs = reset_res_ies(IuSCId)
- }.
-
-reset_res_ies(IuSCId) ->
- {'ResetResource_protocolIEs', % very unneccesary
- [
- cn_domain_ind() % Se initial Ue
- ,reset_cause() % Se reset
- ,reset_res_list(IuSCId)
- ,init_global_rnc_id_reset_res() % ---- " ----
- ]}.
-
-init_global_rnc_id_reset_res() ->
- #'ProtocolIE-Field'{
- id = 86, % 86 = id-GlobalRNC-ID
- criticality = ignore,%XXX
- value = global_rnc_id()
- }.
-
-reset_res_list(IuSCId) ->
- #'ProtocolIE-Field'{
- id = 77, % 77 = id-IuSigConIdList
- criticality = ignore,%XXX
- value = res_list(IuSCId)
- }.
-
-res_list(IuSCId) ->
- iu_Sig_Con_Id_list(IuSCId,[]).
-
-iu_Sig_Con_Id_list([],List) ->
- List;
-
-iu_Sig_Con_Id_list([IuSCId|T],List) ->
- Ie = [iu_Sig_Con_Id_ie(IuSCId)],
- iu_Sig_Con_Id_list(T,[Ie|List]).
-
-iu_Sig_Con_Id_ie(IuSCId) ->
- #'ProtocolIE-Field'{
- id = 78, % 78 = id-IuSigConIdItem
- criticality = ignore,%XXX
- value = iu_Sig_Con_Id_item(IuSCId)}.
-
-iu_Sig_Con_Id_item(IuSCId) ->
- #'ResetResourceItem'{
- iuSigConId = IuSCId
-% 53432
-% [1,0,1,0,1,0,1,0,
-% 1,0,1,0,1,0,1,0,
-% 1,0,1,0,1,0,1,0]
- }.
-
-
-reset_res_ack(IuSCId) ->
- #'ResetResourceAcknowledge'{
- protocolIEs = reset_res_ack_ies(IuSCId)
- }.
-reset_res_ack_ies(IuSCId) ->
- [
- cn_domain_ind() % Se initial Ue
- ,reset_res_list(IuSCId) % Se Reset Ressource
- ].
-
-
-int2bin(Int) ->
- EmptyList = [],
- BitList_b1 = [Int band 2#1 | EmptyList],
- BitList_b2 = [(Int bsr 1) band 2#1 | BitList_b1],
- BitList_b3 = [(Int bsr 2) band 2#1 | BitList_b2],
- BitList_b4 = [(Int bsr 3) band 2#1 | BitList_b3],
- BitList_b5 = [(Int bsr 4) band 2#1 | BitList_b4],
- BitList_b6 = [(Int bsr 5) band 2#1 | BitList_b5],
- BitList_b7 = [(Int bsr 6) band 2#1 | BitList_b6],
- BitList = [(Int bsr 7) band 2#1 | BitList_b7],
- io:format("~n~w~n", [BitList]).
-
-
-%%%%%%%%%%%%%%%%% wrappers %%%%%%%%%%%%%%%%%%%%%%%%
-
-wrapper_encode(Module,Type,Value) ->
- case asn1rt:encode(Module,Type,Value) of
- {ok,X} when binary(X) ->
- {ok, binary_to_list(X)};
- {ok,X} ->
- {ok, binary_to_list(list_to_binary(X))};
- Error ->
- Error
- end.
-
-wrapper_decode(Module,Type,Bytes) ->
- case Module:encoding_rule() of
- ber ->
- asn1rt:decode(Module,Type,Bytes);
- ber_bin when binary(Bytes) ->
- asn1rt:decode(Module,Type,Bytes);
- ber_bin ->
- asn1rt:decode(Module,Type,list_to_binary(Bytes));
- ber_bin_v2 when binary(Bytes) ->
- asn1rt:decode(Module,Type,Bytes);
- ber_bin_v2 ->
- asn1rt:decode(Module,Type,list_to_binary(Bytes));
- per ->
- asn1rt:decode(Module,Type,Bytes);
- per_bin when binary(Bytes) ->
- asn1rt:decode(Module,Type,Bytes);
- per_bin ->
- asn1rt:decode(Module,Type,list_to_binary(Bytes));
- uper_bin ->
- asn1rt:decode(Module,Type,list_to_binary(Bytes))
- end.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ACSE-1.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ACSE-1.asn
deleted file mode 100644
index 3f1385323a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ACSE-1.asn
+++ /dev/null
@@ -1,253 +0,0 @@
--- Module ACSE-1 (X.237:04/1995)
-ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0) version1(1)}
--- ACSE-1 refers to ACSE version 1
-DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- acse-as-id, ACSE-apdu, aCSE-id, Application-context-name, AP-title,
- AE-qualifier, AE-title, AP-invocation-identifier, AE-invocation-identifier,
- Mechanism-name, Authentication-value, ACSE-requirements, ObjectSet;
-
-IMPORTS
- Name, RelativeDistinguishedName
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3};
-
--- The data types Name and RelativeDistinguishedName are imported from ISO/IEC 9594-2.
--- object identifier assignments
-acse-as-id OBJECT IDENTIFIER ::=
- {joint-iso-itu-t association-control(2) abstract-syntax(1) apdus(0)
- version1(1)}
-
--- may be used to reference the abstract syntax of the ACSE APDUs
-aCSE-id OBJECT IDENTIFIER ::=
- {joint-iso-itu-t association-control(2) ase-id(3) acse-ase(1) version(1)}
-
--- may be used to identify the Association Control ASE.
--- top level CHOICE
-ACSE-apdu ::= CHOICE {
- aarq AARQ-apdu,
- aare AARE-apdu,
- rlrq RLRQ-apdu,
- rlre RLRE-apdu,
- abrt ABRT-apdu,
- ...
-}
-
-AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
- protocol-version
- [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
- application-context-name [1] Application-context-name,
- called-AP-title [2] AP-title OPTIONAL,
- called-AE-qualifier [3] AE-qualifier OPTIONAL,
- called-AP-invocation-identifier [4] AP-invocation-identifier OPTIONAL,
- called-AE-invocation-identifier [5] AE-invocation-identifier OPTIONAL,
- calling-AP-title [6] AP-title OPTIONAL,
- calling-AE-qualifier [7] AE-qualifier OPTIONAL,
- calling-AP-invocation-identifier [8] AP-invocation-identifier OPTIONAL,
- calling-AE-invocation-identifier [9] AE-invocation-identifier OPTIONAL,
- -- The following field shall not be present if only the Kernel is used.
- sender-acse-requirements [10] IMPLICIT ACSE-requirements OPTIONAL,
- -- The following field shall only be present if the Authentication functional unit is selected.
- mechanism-name [11] IMPLICIT Mechanism-name OPTIONAL,
- -- The following field shall only be present if the Authentication functional unit is selected.
- calling-authentication-value [12] EXPLICIT Authentication-value OPTIONAL,
- application-context-name-list
- [13] IMPLICIT Application-context-name-list OPTIONAL,
- -- The above field shall only be present if the Application Context Negotiation functional unit is selected
- implementation-information [29] IMPLICIT Implementation-data OPTIONAL,
- ...,
- ...,
- user-information
- [30] IMPLICIT Association-information OPTIONAL
-}
-
-AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- protocol-version
- [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
- application-context-name [1] Application-context-name,
- result [2] Associate-result,
- result-source-diagnostic [3] Associate-source-diagnostic,
- responding-AP-title [4] AP-title OPTIONAL,
- responding-AE-qualifier [5] AE-qualifier OPTIONAL,
- responding-AP-invocation-identifier [6] AP-invocation-identifier OPTIONAL,
- responding-AE-invocation-identifier [7] AE-invocation-identifier OPTIONAL,
- -- The following field shall not be present if only the Kernel is used.
- responder-acse-requirements [8] IMPLICIT ACSE-requirements OPTIONAL,
- -- The following field shall only be present if the Authentication functional unit is selected.
- mechanism-name [9] IMPLICIT Mechanism-name OPTIONAL,
- -- This following field shall only be present if the Authentication functional unit is selected.
- responding-authentication-value
- [10] EXPLICIT Authentication-value OPTIONAL,
- application-context-name-list
- [11] IMPLICIT Application-context-name-list OPTIONAL,
- -- The above field shall only be present if the Application Context Negotiation functional unit is selected
- implementation-information
- [29] IMPLICIT Implementation-data OPTIONAL,
- ...,
- ...,
- user-information
- [30] IMPLICIT Association-information OPTIONAL
-}
-
-RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE {
- reason [0] IMPLICIT Release-request-reason OPTIONAL,
- ...,
- ...,
- user-information [30] IMPLICIT Association-information OPTIONAL
-}
-
-RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE {
- reason [0] IMPLICIT Release-response-reason OPTIONAL,
- ...,
- ...,
- user-information [30] IMPLICIT Association-information OPTIONAL
-}
-
-ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE {
- abort-source [0] IMPLICIT ABRT-source,
- abort-diagnostic [1] IMPLICIT ABRT-diagnostic OPTIONAL,
- -- This field shall not be present if only the Kernel is used.
- ...,
- ...,
- user-information [30] IMPLICIT Association-information OPTIONAL
-}
-
-ABRT-diagnostic ::= ENUMERATED {
- no-reason-given(1), protocol-error(2),
- authentication-mechanism-name-not-recognized(3),
- authentication-mechanism-name-required(4), authentication-failure(5),
- authentication-required(6), ...
- }
-
-ABRT-source ::= INTEGER {acse-service-user(0), acse-service-provider(1)
-}(0..1, ...)
-
-ACSE-requirements ::= BIT STRING {
- authentication(0), application-context-negotiation(1)}
-
-Application-context-name-list ::= SEQUENCE OF Application-context-name
-
-Application-context-name ::= OBJECT IDENTIFIER
-
--- Application-entity title productions follow (not in alphabetical order)
-AP-title ::= CHOICE {
- ap-title-form1 AP-title-form1,
- ap-title-form2 AP-title-form2,
- ...
-}
-
-AE-qualifier ::= CHOICE {
- ae-qualifier-form1 AE-qualifier-form1,
- ae-qualifier-form2 AE-qualifier-form2,
- ...
-}
-
--- When both AP-title and AE-qualifier data values are present in an AARQ or AARE APDU, both must
--- have the same form to allow the construction of an AE-title as discussed in CCITT Rec. X.665 |
--- ISO/IEC 9834-6.
-AP-title-form1 ::=
- Name
-
--- The value assigned to AP-title-form1 is The Directory Name of an application-process title.
-AE-qualifier-form1 ::=
- RelativeDistinguishedName
-
--- The value assigned to AE-qualifier-form1 is the relative distinguished name of a particular
--- application-entity of the application-process identified by AP-title-form1.
-AP-title-form2 ::= OBJECT IDENTIFIER
-
-AE-qualifier-form2 ::= INTEGER
-
-AE-title ::= CHOICE {
- ae-title-form1 AE-title-form1,
- ae-title-form2 AE-title-form2,
- ...
-}
-
--- As defined in CCITT Rec. X.650 | ISO 7498-3, an application-entity title is composed of an application-
--- process title and an application-entity qualifier. The ACSE protocol provides for the transfer of an
--- application-entity title value by the transfer of its component values. However, the following data type
--- is provided for International Standards that reference a single syntactic structure for AE titles.
-AE-title-form1 ::=
- Name
-
--- For access to The Directory (ITU-T Rec. X.500-Series | ISO/IEC 9594), an AE title has AE-title-form1.
--- This value can be constructed from AP-title-form1 and AE-qualifier-form1 values contained in an
--- AARQ or AARE APDU. A discussion of forming an AE-title-form1 from AP-title-form1 and AE-qualifier-
--- form1 may be found in CCITT Rec. X.665 | ISO/IEC 9834-6.
-AE-title-form2 ::= OBJECT IDENTIFIER
-
--- A discussion of forming an AE-title-form2 from AP-title-form2 and AE-qualifier-form2 may be
--- found in CCITT Rec. X.665 | ISO/IEC 9834-6.
-AE-invocation-identifier ::= INTEGER
-
-AP-invocation-identifier ::= INTEGER
-
--- End of Application-entity title productions
-Associate-result ::= INTEGER {
- accepted(0), rejected-permanent(1), rejected-transient(2)}(0..2, ...)
-
-Associate-source-diagnostic ::= CHOICE {
- acse-service-user
- [1] INTEGER {null(0), no-reason-given(1),
- application-context-name-not-supported(2),
- calling-AP-title-not-recognized(3),
- calling-AP-invocation-identifier-not-recognized(4),
- calling-AE-qualifier-not-recognized(5),
- calling-AE-invocation-identifier-not-recognized(6),
- called-AP-title-not-recognized(7),
- called-AP-invocation-identifier-not-recognized(8),
- called-AE-qualifier-not-recognized(9),
- called-AE-invocation-identifier-not-recognized(10),
- authentication-mechanism-name-not-recognized(11),
- authentication-mechanism-name-required(12),
- authentication-failure(13), authentication-required(14)}
- (0..14, ...),
- acse-service-provider
- [2] INTEGER {null(0), no-reason-given(1), no-common-acse-version(2)}
- (0..2, ...)
-}
-
-Association-information ::= SEQUENCE SIZE (1, ..., 0 | 2..MAX) OF EXTERNAL
-
-Authentication-value ::= CHOICE {
- charstring [0] IMPLICIT GraphicString,
- bitstring [1] IMPLICIT BIT STRING,
- external [2] IMPLICIT EXTERNAL,
- other
- [3] IMPLICIT SEQUENCE {other-mechanism-name
- MECHANISM-NAME.&id({ObjectSet}),
- other-mechanism-value
- MECHANISM-NAME.&Type
- ({ObjectSet}{@.other-mechanism-name})}
-}
-
--- The abstract syntax of (calling/responding) authentication-value is determined by the authentication
--- mechanism used during association establishment. The authentication mechanism is either explicitly
--- denoted by the &id field (of type OBJECT IDENTIFIER) for a mechanism belonging to the class
--- MECHANISM-NAME, or it is known implicitly by
--- prior agreement between the communicating partners. If the "other" component is chosen, then
--- the "mechanism-name" component must be present in accordance with
--- ITU-T Rec. X.680 | ISO/IEC 8824. If the value "mechanism-name" occurs in the AARQ-apdu or the
--- AARE-apdu, then that value must be the same as the value for "other-mechanism-name"
-Implementation-data ::= GraphicString
-
-Mechanism-name ::= OBJECT IDENTIFIER
-
-MECHANISM-NAME ::= TYPE-IDENTIFIER
-
-ObjectSet MECHANISM-NAME ::=
- {...}
-
-Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30)
-}(0 | 1 | 30, ...)
-
-Release-response-reason ::= INTEGER {
- normal(0), not-finished(1), user-defined(30)}(0 | 1 | 30, ...)
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/AuthenticationFramework.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/AuthenticationFramework.asn
deleted file mode 100644
index 5cfa9062f0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/AuthenticationFramework.asn
+++ /dev/null
@@ -1,290 +0,0 @@
--- Module AuthenticationFramework (X.509:08/1997)
-
-AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-at, id-mr, informationFramework, upperBounds, selectedAttributeTypes,
- basicAccessControl, certificateExtensions
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Name, ATTRIBUTE, AttributeType, MATCHING-RULE, Attribute
- FROM InformationFramework informationFramework
- ub-user-password
- FROM UpperBounds upperBounds
- AuthenticationLevel
- FROM BasicAccessControl basicAccessControl
- UniqueIdentifier, octetStringMatch
- FROM SelectedAttributeTypes selectedAttributeTypes
- certificateExactMatch, certificatePairExactMatch, certificateListExactMatch,
- GeneralNames
- FROM CertificateExtensions certificateExtensions;
-
--- basic certificate definition
-Certificate ::=
- SIGNED
- {SEQUENCE {version [0] Version DEFAULT v1,
- serialNumber CertificateSerialNumber,
- signature AlgorithmIdentifier,
- issuer Name,
- validity Validity,
- subject Name,
- subjectPublicKeyInfo SubjectPublicKeyInfo,
- issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
- -- if present, version must be v2 or v3
- subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
- -- if present, version must be v2 or v3
- extensions [3] Extensions OPTIONAL
- -- If present, version must be v3 -- }}
-
-Version ::= INTEGER {v1(0), v2(1), v3(2)}
-
-CertificateSerialNumber ::= INTEGER
-
-AlgorithmIdentifier ::= SEQUENCE {
- algorithm ALGORITHM.&id({SupportedAlgorithms}),
- parameters ALGORITHM.&Type({SupportedAlgorithms}{@algorithm}) OPTIONAL
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the parameters component of AlgorithmIdentifier.
-SupportedAlgorithms ALGORITHM ::=
-{...}
-
-Validity ::= SEQUENCE {notBefore Time,
- notAfter Time
-}
-
-SubjectPublicKeyInfo ::= SEQUENCE {
- algorithm AlgorithmIdentifier,
- subjectPublicKey BIT STRING
-}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-Extensions ::= SEQUENCE OF Extension
-
--- For those extensions where ordering of individual extensions within the SEQUENCE is significant, the
--- specification of those individual extensions shall include the rules for the significance of the order therein
-Extension ::= SEQUENCE {
- extnId EXTENSION.&id({ExtensionSet}),
- critical BOOLEAN DEFAULT FALSE,
- extnValue OCTET STRING-- contains a DER encoding of a value of type &ExtnType
--- for the extension object identified by extnId
-}
-
-ExtensionSet EXTENSION ::=
- {...}
-
-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
- &ExtnType
-}WITH SYNTAX {SYNTAX &ExtnType
- IDENTIFIED BY &id
-}
-
--- other certificate constructs
-Certificates ::= SEQUENCE {
- userCertificate Certificate,
- certificationPath ForwardCertificationPath OPTIONAL
-}
-
-ForwardCertificationPath ::= SEQUENCE OF CrossCertificates
-
-CrossCertificates ::= SET OF Certificate
-
-CertificationPath ::= SEQUENCE {
- userCertificate Certificate,
- theCACertificates SEQUENCE OF CertificatePair OPTIONAL
-}
-
-CertificatePair ::= SEQUENCE {
- issuedByThisCA [0] Certificate OPTIONAL,
- issuedToThisCA [1] Certificate OPTIONAL
- -- at least one of the pair shall be present
-}
-
--- Certificate Revocation List (CRL)
-CertificateList ::=
- SIGNED
- {SEQUENCE {version Version OPTIONAL,
- -- if present, version must be v2
- signature AlgorithmIdentifier,
- issuer Name,
- thisUpdate Time,
- nextUpdate Time OPTIONAL,
- revokedCertificates
- SEQUENCE OF
- SEQUENCE {userCertificate CertificateSerialNumber,
- revocationDate Time,
- crlEntryExtensions Extensions OPTIONAL} OPTIONAL,
- crlExtensions [0] Extensions OPTIONAL}}
-
--- attribute certificate
-AttributeCertificationPath ::= SEQUENCE {
- attributeCertificate AttributeCertificate,
- acPath SEQUENCE OF ACPathData OPTIONAL
-}
-
-ACPathData ::= SEQUENCE {
- certificate [0] Certificate OPTIONAL,
- attributeCertificate [1] AttributeCertificate OPTIONAL
-}
-
-attributeCertificate ATTRIBUTE ::= {
- WITH SYNTAX AttributeCertificate
- EQUALITY MATCHING RULE attributeCertificateMatch
- ID id-at-attributeCertificate
-}
-
-AttributeCertificate ::= SIGNED{AttributeCertificateInfo}
-
-AttributeCertificateInfo ::= SEQUENCE {
- version Version DEFAULT v1,
- subject
- CHOICE {baseCertificateID [0] IssuerSerial, -- associated with a Public Key Certificate--
- subjectName [1] GeneralNames}, -- associated with a name
- issuer GeneralNames, -- CA issuing the attribute certificate
- signature AlgorithmIdentifier,
- serialNumber CertificateSerialNumber,
- attCertValidityPeriod AttCertValidityPeriod,
- attributes SEQUENCE OF Attribute,
- issuerUniqueID UniqueIdentifier OPTIONAL,
- extensions Extensions OPTIONAL
-}
-
-IssuerSerial ::= SEQUENCE {
- issuer GeneralNames,
- serial CertificateSerialNumber,
- issuerUID UniqueIdentifier OPTIONAL
-}
-
-AttCertValidityPeriod ::= SEQUENCE {
- notBeforeTime GeneralizedTime,
- notAfterTime GeneralizedTime
-}
-
-attributeCertificateMatch MATCHING-RULE ::= {
- SYNTAX AttributeCertificateAssertion
- ID id-mr-attributeCertificateMatch
-}
-
-AttributeCertificateAssertion ::= SEQUENCE {
- subject
- [0] CHOICE {baseCertificateID [0] IssuerSerial,
- subjectName [1] Name} OPTIONAL,
- issuer [1] Name OPTIONAL,
- attCertValidity [2] GeneralizedTime OPTIONAL,
- attType [3] SET OF AttributeType OPTIONAL
-}
-
--- At least one component of the sequence must be present
--- attribute types
-userPassword ATTRIBUTE ::= {
- WITH SYNTAX OCTET STRING(SIZE (0..ub-user-password))
- EQUALITY MATCHING RULE octetStringMatch
- ID id-at-userPassword
-}
-
-userCertificate ATTRIBUTE ::= {
- WITH SYNTAX Certificate
- EQUALITY MATCHING RULE certificateExactMatch
- ID id-at-userCertificate
-}
-
-cACertificate ATTRIBUTE ::= {
- WITH SYNTAX Certificate
- EQUALITY MATCHING RULE certificateExactMatch
- ID id-at-cAcertificate
-}
-
-crossCertificatePair ATTRIBUTE ::= {
- WITH SYNTAX CertificatePair
- EQUALITY MATCHING RULE certificatePairExactMatch
- ID id-at-crossCertificatePair
-}
-
-authorityRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-authorityRevocationList
-}
-
-certificateRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-certificateRevocationList
-}
-
-attributeCertificateRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- ID id-at-attributeCertificateRevocationList
-}
-
--- information object classes
-ALGORITHM ::= TYPE-IDENTIFIER
-
--- parameterized types
-HASH{ToBeHashed} ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- hashValue
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying a hashing procedure to the DER-encoded octets
- -- of a value of -- ToBeHashed})
-}
-
-ENCRYPTED-HASH{ToBeSigned} ::=
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying a hashing procedure to the DER-encoded octets
- -- of a value of --ToBeSigned -- and then applying an encipherment procedure to those octets --})
-
-ENCRYPTED{ToBeEnciphered} ::=
- BIT STRING
- (CONSTRAINED BY {
- -- must be the result of applying an encipherment procedure
- -- to the BER-encoded octets of a value of --ToBeEnciphered})
-
-SIGNATURE{ToBeSigned} ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- encrypted ENCRYPTED-HASH{ToBeSigned}
-}
-
-SIGNED{ToBeSigned} ::= SEQUENCE {
- toBeSigned ToBeSigned,
- COMPONENTS OF SIGNATURE{ToBeSigned}
-}
-
--- object identifier assignments
-id-at-userPassword OBJECT IDENTIFIER ::=
- {id-at 35}
-
-id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
-
-id-at-cAcertificate OBJECT IDENTIFIER ::= {id-at 37}
-
-id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
-
-id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
-
-id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
-
-id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
-
-id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
-
-id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/BasicAccessControl.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/BasicAccessControl.asn
deleted file mode 100644
index d8b2b687ae..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/BasicAccessControl.asn
+++ /dev/null
@@ -1,184 +0,0 @@
--- Module BasicAccessControl (X.501:08/1997)
-BasicAccessControl {joint-iso-itu-t ds(5) module(1) basicAccessControl(24) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-aca, id-acScheme, informationFramework, upperBounds,
- selectedAttributeTypes, directoryAbstractService
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ATTRIBUTE, AttributeType, DistinguishedName, ContextAssertion,
- SubtreeSpecification, SupportedAttributes, MATCHING-RULE,
- objectIdentifierMatch, Refinement
- FROM InformationFramework informationFramework
- Filter
- FROM DirectoryAbstractService directoryAbstractService
- ub-tag
- FROM UpperBounds upperBounds
- NameAndOptionalUID, directoryStringFirstComponentMatch, DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes;
-
--- types
-ACIItem ::= SEQUENCE {
- identificationTag DirectoryString{ub-tag},
- precedence Precedence,
- authenticationLevel AuthenticationLevel,
- itemOrUserFirst
- CHOICE {itemFirst
- [0] SEQUENCE {protectedItems ProtectedItems,
- itemPermissions SET OF ItemPermission},
- userFirst
- [1] SEQUENCE {userClasses UserClasses,
- userPermissions SET OF UserPermission}}
-}
-
-Precedence ::= INTEGER(0..255)
-
-ProtectedItems ::= SEQUENCE {
- entry [0] NULL OPTIONAL,
- allUserAttributeTypes [1] NULL OPTIONAL,
- attributeType
- [2] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- allAttributeValues
- [3] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- allUserAttributeTypesAndValues [4] NULL OPTIONAL,
- attributeValue
- [5] SET SIZE (1..MAX) OF AttributeTypeAndValue OPTIONAL,
- selfValue
- [6] SET SIZE (1..MAX) OF AttributeType OPTIONAL,
- rangeOfValues [7] Filter OPTIONAL,
- maxValueCount
- [8] SET SIZE (1..MAX) OF MaxValueCount OPTIONAL,
- maxImmSub [9] INTEGER OPTIONAL,
- restrictedBy
- [10] SET SIZE (1..MAX) OF RestrictedValue OPTIONAL,
- contexts
- [11] SET SIZE (1..MAX) OF ContextAssertion OPTIONAL,
- classes [12] Refinement OPTIONAL
-}
-
-MaxValueCount ::= SEQUENCE {type AttributeType,
- maxCount INTEGER
-}
-
-RestrictedValue ::= SEQUENCE {type AttributeType,
- valuesIn AttributeType
-}
-
-UserClasses ::= SEQUENCE {
- allUsers [0] NULL OPTIONAL,
- thisEntry [1] NULL OPTIONAL,
- name [2] SET SIZE (1..MAX) OF NameAndOptionalUID OPTIONAL,
- userGroup [3] SET SIZE (1..MAX) OF NameAndOptionalUID OPTIONAL,
- -- dn component must be the name of an
- -- entry of GroupOfUniqueNames
- subtree [4] SET SIZE (1..MAX) OF SubtreeSpecification OPTIONAL
-}
-
-ItemPermission ::= SEQUENCE {
- precedence Precedence OPTIONAL,
- -- defaults to precedence in ACIItem
- userClasses UserClasses,
- grantsAndDenials GrantsAndDenials
-}
-
-UserPermission ::= SEQUENCE {
- precedence Precedence OPTIONAL,
- -- defaults to precedence in ACIItem
- protectedItems ProtectedItems,
- grantsAndDenials GrantsAndDenials
-}
-
-AuthenticationLevel ::= CHOICE {
- basicLevels
- SEQUENCE {level ENUMERATED {none(0), simple(1), strong(2)},
- localQualifier INTEGER OPTIONAL,
- signed BOOLEAN DEFAULT FALSE},
- other EXTERNAL
-}
-
-GrantsAndDenials ::= BIT STRING {
- -- permissions that may be used in conjunction
- -- with any component of ProtectedItems
- grantAdd(0), denyAdd(1), grantDiscloseOnError(2), denyDiscloseOnError(3),
- grantRead(4), denyRead(5), grantRemove(6),
- denyRemove(7),
- -- permissions that may be used only in conjunction
- -- with the entry component
- grantBrowse(8), denyBrowse(9), grantExport(10), denyExport(11),
- grantImport(12), denyImport(13), grantModify(14), denyModify(15),
- grantRename(16), denyRename(17), grantReturnDN(18),
- denyReturnDN(19),
- -- permissions that may be used in conjunction
- -- with any component, except entry, of ProtectedItems
- grantCompare(20), denyCompare(21), grantFilterMatch(22), denyFilterMatch(23),
- grantInvoke(24), denyInvoke(25)}
-
-AttributeTypeAndValue ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type})
-}
-
--- attributes
-accessControlScheme ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- USAGE directoryOperation
- ID id-aca-accessControlScheme
-}
-
-prescriptiveACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-prescriptiveACI
-}
-
-entryACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-entryACI
-}
-
-subentryACI ATTRIBUTE ::= {
- WITH SYNTAX ACIItem
- EQUALITY MATCHING RULE directoryStringFirstComponentMatch
- USAGE directoryOperation
- ID id-aca-subentryACI
-}
-
--- object identifier assignments
--- attributes
-id-aca-accessControlScheme OBJECT IDENTIFIER ::=
- {id-aca 1}
-
-id-aca-prescriptiveACI OBJECT IDENTIFIER ::= {id-aca 4}
-
-id-aca-entryACI OBJECT IDENTIFIER ::= {id-aca 5}
-
-id-aca-subentryACI OBJECT IDENTIFIER ::= {id-aca 6}
-
--- access control schemes -
-basicAccessControlScheme OBJECT IDENTIFIER ::=
- {id-acScheme 1}
-
-simplifiedAccessControlScheme OBJECT IDENTIFIER ::= {id-acScheme 2}
-
-rule-based-access-control OBJECT IDENTIFIER ::= {id-acScheme 3}
-
-rule-and-basic-access-control OBJECT IDENTIFIER ::= {id-acScheme 4}
-
-rule-and-simple-access-control OBJECT IDENTIFIER ::= {id-acScheme 5}
-
-END -- BasicAccessControl
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/CertificateExtensions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/CertificateExtensions.asn
deleted file mode 100644
index 0daf2208e9..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/CertificateExtensions.asn
+++ /dev/null
@@ -1,498 +0,0 @@
--- Module CertificateExtensions (X.509:08/1997)
-
-CertificateExtensions {joint-iso-itu-t ds(5) module(1)
- certificateExtensions(26) 0} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS ALL
-IMPORTS
- id-at, id-ce, id-mr, informationFramework, authenticationFramework,
- selectedAttributeTypes, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Name, RelativeDistinguishedName, ATTRIBUTE, Attribute, MATCHING-RULE
- FROM InformationFramework informationFramework
- CertificateSerialNumber, CertificateList, AlgorithmIdentifier, EXTENSION,
- Time
- FROM AuthenticationFramework authenticationFramework
- DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes
- ub-name
- FROM UpperBounds upperBounds
- ORAddress
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- Unless explicitly noted otherwise, there is no significance to the ordering
--- of components of a SEQUENCE OF construct in this Specification.
--- Key and policy information extensions
-authorityKeyIdentifier EXTENSION ::= {
- SYNTAX AuthorityKeyIdentifier
- IDENTIFIED BY id-ce-authorityKeyIdentifier
-}
-
-AuthorityKeyIdentifier ::= SEQUENCE {
- keyIdentifier [0] KeyIdentifier OPTIONAL,
- authorityCertIssuer [1] GeneralNames OPTIONAL,
- authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- authorityCertIssuer PRESENT,
- authorityCertSerialNumber PRESENT
- } |
- WITH COMPONENTS {
- ...,
- authorityCertIssuer ABSENT,
- authorityCertSerialNumber ABSENT
- })
-
-KeyIdentifier ::= OCTET STRING
-
-subjectKeyIdentifier EXTENSION ::= {
- SYNTAX SubjectKeyIdentifier
- IDENTIFIED BY id-ce-subjectKeyIdentifier
-}
-
-SubjectKeyIdentifier ::= KeyIdentifier
-
-keyUsage EXTENSION ::= {SYNTAX KeyUsage
- IDENTIFIED BY id-ce-keyUsage
-}
-
-KeyUsage ::= BIT STRING {
- digitalSignature(0), nonRepudiation(1), keyEncipherment(2),
- dataEncipherment(3), keyAgreement(4), keyCertSign(5), cRLSign(6),
- encipherOnly(7), decipherOnly(8)}
-
-extKeyUsage EXTENSION ::= {
- SYNTAX SEQUENCE SIZE (1..MAX) OF KeyPurposeId
- IDENTIFIED BY id-ce-extKeyUsage
-}
-
-KeyPurposeId ::= OBJECT IDENTIFIER
-
-privateKeyUsagePeriod EXTENSION ::= {
- SYNTAX PrivateKeyUsagePeriod
- IDENTIFIED BY id-ce-privateKeyUsagePeriod
-}
-
-PrivateKeyUsagePeriod ::= SEQUENCE {
- notBefore [0] GeneralizedTime OPTIONAL,
- notAfter [1] GeneralizedTime OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- notBefore PRESENT
- } | WITH COMPONENTS {
- ...,
- notAfter PRESENT
- })
-
-certificatePolicies EXTENSION ::= {
- SYNTAX CertificatePoliciesSyntax
- IDENTIFIED BY id-ce-certificatePolicies
-}
-
-CertificatePoliciesSyntax ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
-
-PolicyInformation ::= SEQUENCE {
- policyIdentifier CertPolicyId,
- policyQualifiers SEQUENCE SIZE (1..MAX) OF PolicyQualifierInfo OPTIONAL
-}
-
-CertPolicyId ::= OBJECT IDENTIFIER
-
-PolicyQualifierInfo ::= SEQUENCE {
- policyQualifierId CERT-POLICY-QUALIFIER.&id({SupportedPolicyQualifiers}),
- qualifier
- CERT-POLICY-QUALIFIER.&Qualifier
- ({SupportedPolicyQualifiers}{@policyQualifierId}) OPTIONAL
-}
-
-SupportedPolicyQualifiers CERT-POLICY-QUALIFIER ::=
- {...}
-
-CERT-POLICY-QUALIFIER ::= CLASS {
- &id OBJECT IDENTIFIER UNIQUE,
- &Qualifier OPTIONAL
-}WITH SYNTAX {POLICY-QUALIFIER-ID &id
- [QUALIFIER-TYPE &Qualifier]
-}
-
-policyMappings EXTENSION ::= {
- SYNTAX PolicyMappingsSyntax
- IDENTIFIED BY id-ce-policyMappings
-}
-
-PolicyMappingsSyntax ::=
- SEQUENCE SIZE (1..MAX) OF
- SEQUENCE {issuerDomainPolicy CertPolicyId,
- subjectDomainPolicy CertPolicyId}
-
-supportedAlgorithms ATTRIBUTE ::= {
- WITH SYNTAX SupportedAlgorithm
- EQUALITY MATCHING RULE algorithmIdentifierMatch
- ID id-at-supportedAlgorithms
-}
-
-SupportedAlgorithm ::= SEQUENCE {
- algorithmIdentifier AlgorithmIdentifier,
- intendedUsage [0] KeyUsage OPTIONAL,
- intendedCertificatePolicies [1] CertificatePoliciesSyntax OPTIONAL
-}
-
--- Certificate subject and certificate issuer attributes extensions
-subjectAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-subjectAltName
-}
-
-GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
-
-GeneralName ::= CHOICE {
- otherName [0] INSTANCE OF OTHER-NAME,
- rfc822Name [1] IA5String,
- dNSName [2] IA5String,
- x400Address [3] ORAddress,
- directoryName [4] Name,
- ediPartyName [5] EDIPartyName,
- uniformResourceIdentifier [6] IA5String,
- iPAddress [7] OCTET STRING,
- registeredID [8] OBJECT IDENTIFIER
-}
-
-OTHER-NAME ::= TYPE-IDENTIFIER
-
-EDIPartyName ::= SEQUENCE {
- nameAssigner [0] DirectoryString{ub-name} OPTIONAL,
- partyName [1] DirectoryString{ub-name}
-}
-
-issuerAltName EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-issuerAltName
-}
-
-subjectDirectoryAttributes EXTENSION ::= {
- SYNTAX AttributesSyntax
- IDENTIFIED BY id-ce-subjectDirectoryAttributes
-}
-
-AttributesSyntax ::= SEQUENCE SIZE (1..MAX) OF Attribute
-
--- Certification path constraints extensions
-basicConstraints EXTENSION ::= {
- SYNTAX BasicConstraintsSyntax
- IDENTIFIED BY id-ce-basicConstraints
-}
-
-BasicConstraintsSyntax ::= SEQUENCE {
- cA BOOLEAN DEFAULT FALSE,
- pathLenConstraint INTEGER(0..MAX) OPTIONAL
-}
-
-nameConstraints EXTENSION ::= {
- SYNTAX NameConstraintsSyntax
- IDENTIFIED BY id-ce-nameConstraint
-}
-
-NameConstraintsSyntax ::= SEQUENCE {
- permittedSubtrees [0] GeneralSubtrees OPTIONAL,
- excludedSubtrees [1] GeneralSubtrees OPTIONAL,
- requiredNameForms [2] NameForms OPTIONAL
-}
-
-GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
-
-GeneralSubtree ::= SEQUENCE {
- base GeneralName,
- minimum [0] BaseDistance DEFAULT 0,
- maximum [1] BaseDistance OPTIONAL
-}
-
-BaseDistance ::= INTEGER(0..MAX)
-
-NameForms ::= SEQUENCE {
- basicNameForms [0] BasicNameForms OPTIONAL,
- otherNameForms [1] SEQUENCE SIZE (1..MAX) OF OBJECT IDENTIFIER OPTIONAL
-}(ALL EXCEPT ({ --none; i.e.:at least one component shall be present--}))
-
-BasicNameForms ::= BIT STRING {
- rfc822Name(0), dNSName(1), x400Address(2), directoryName(3), ediPartyName(4),
- uniformResourceIdentifier(5), iPAddress(6), registeredID(7)}(SIZE (1..MAX))
-
-policyConstraints EXTENSION ::= {
- SYNTAX PolicyConstraintsSyntax
- IDENTIFIED BY id-ce-policyConstraints
-}
-
-PolicyConstraintsSyntax ::= SEQUENCE {
- requireExplicitPolicy [0] SkipCerts OPTIONAL,
- inhibitPolicyMapping [1] SkipCerts OPTIONAL
-}
-
-SkipCerts ::= INTEGER(0..MAX)
-
-CertPolicySet ::= SEQUENCE SIZE (1..MAX) OF CertPolicyId
-
--- Basic CRL extensions
-cRLNumber EXTENSION ::= {
- SYNTAX CRLNumber
- IDENTIFIED BY id-ce-cRLNumber
-}
-
-CRLNumber ::= INTEGER(0..MAX)
-
-reasonCode EXTENSION ::= {
- SYNTAX CRLReason
- IDENTIFIED BY id-ce-reasonCode
-}
-
-CRLReason ::= ENUMERATED {
- unspecified(0), keyCompromise(1), cACompromise(2), affiliationChanged(3),
- superseded(4), cessationOfOperation(5), certificateHold(6), removeFromCRL(8)
-}
-
-instructionCode EXTENSION ::= {
- SYNTAX HoldInstruction
- IDENTIFIED BY id-ce-instructionCode
-}
-
-HoldInstruction ::= OBJECT IDENTIFIER
-
-invalidityDate EXTENSION ::= {
- SYNTAX GeneralizedTime
- IDENTIFIED BY id-ce-invalidityDate
-}
-
--- CRL distribution points and delta-CRL extensions
-cRLDistributionPoints EXTENSION ::= {
- SYNTAX CRLDistPointsSyntax
- IDENTIFIED BY id-ce-cRLDistributionPoints
-}
-
-CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
-
-DistributionPoint ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- reasons [1] ReasonFlags OPTIONAL,
- cRLIssuer [2] GeneralNames OPTIONAL
-}
-
-DistributionPointName ::= CHOICE {
- fullName [0] GeneralNames,
- nameRelativeToCRLIssuer [1] RelativeDistinguishedName
-}
-
-ReasonFlags ::= BIT STRING {
- unused(0), keyCompromise(1), caCompromise(2), affiliationChanged(3),
- superseded(4), cessationOfOperation(5), certificateHold(6)}
-
-issuingDistributionPoint EXTENSION ::= {
- SYNTAX IssuingDistPointSyntax
- IDENTIFIED BY id-ce-issuingDistributionPoint
-}
-
-IssuingDistPointSyntax ::= SEQUENCE {
- distributionPoint [0] DistributionPointName OPTIONAL,
- onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
- onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
- onlySomeReasons [3] ReasonFlags OPTIONAL,
- indirectCRL [4] BOOLEAN DEFAULT FALSE
-}
-
-certificateIssuer EXTENSION ::= {
- SYNTAX GeneralNames
- IDENTIFIED BY id-ce-certificateIssuer
-}
-
-deltaCRLIndicator EXTENSION ::= {
- SYNTAX BaseCRLNumber
- IDENTIFIED BY id-ce-deltaCRLIndicator
-}
-
-BaseCRLNumber ::= CRLNumber
-
-deltaRevocationList ATTRIBUTE ::= {
- WITH SYNTAX CertificateList
- EQUALITY MATCHING RULE certificateListExactMatch
- ID id-at-deltaRevocationList
-}
-
--- Matching rules
-certificateExactMatch MATCHING-RULE ::= {
- SYNTAX CertificateExactAssertion
- ID id-mr-certificateExactMatch
-}
-
-CertificateExactAssertion ::= SEQUENCE {
- serialNumber CertificateSerialNumber,
- issuer Name
-}
-
-certificateMatch MATCHING-RULE ::= {
- SYNTAX CertificateAssertion
- ID id-mr-certificateMatch
-}
-
-CertificateAssertion ::= SEQUENCE {
- serialNumber [0] CertificateSerialNumber OPTIONAL,
- issuer [1] Name OPTIONAL,
- subjectKeyIdentifier [2] SubjectKeyIdentifier OPTIONAL,
- authorityKeyIdentifier [3] AuthorityKeyIdentifier OPTIONAL,
- certificateValid [4] Time OPTIONAL,
- privateKeyValid [5] GeneralizedTime OPTIONAL,
- subjectPublicKeyAlgID [6] OBJECT IDENTIFIER OPTIONAL,
- keyUsage [7] KeyUsage OPTIONAL,
- subjectAltName [8] AltNameType OPTIONAL,
- policy [9] CertPolicySet OPTIONAL,
- pathToName [10] Name OPTIONAL
-}
-
-AltNameType ::= CHOICE {
- builtinNameForm
- ENUMERATED {rfc822Name(1), dNSName(2), x400Address(3), directoryName(4),
- ediPartyName(5), uniformResourceIdentifier(6), iPAddress(7),
- registeredId(8)},
- otherNameForm OBJECT IDENTIFIER
-}
-
-certificatePairExactMatch MATCHING-RULE ::= {
- SYNTAX CertificatePairExactAssertion
- ID id-mr-certificatePairExactMatch
-}
-
-CertificatePairExactAssertion ::= SEQUENCE {
- forwardAssertion [0] CertificateExactAssertion OPTIONAL,
- reverseAssertion [1] CertificateExactAssertion OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- forwardAssertion PRESENT
- } | WITH COMPONENTS {
- ...,
- reverseAssertion PRESENT
- })
-
-certificatePairMatch MATCHING-RULE ::= {
- SYNTAX CertificatePairAssertion
- ID id-mr-certificatePairMatch
-}
-
-CertificatePairAssertion ::= SEQUENCE {
- forwardAssertion [0] CertificateAssertion OPTIONAL,
- reverseAssertion [1] CertificateAssertion OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- forwardAssertion PRESENT
- } | WITH COMPONENTS {
- ...,
- reverseAssertion PRESENT
- })
-
-certificateListExactMatch MATCHING-RULE ::= {
- SYNTAX CertificateListExactAssertion
- ID id-mr-certificateListExactMatch
-}
-
-CertificateListExactAssertion ::= SEQUENCE {
- issuer Name,
- thisUpdate Time,
- distributionPoint DistributionPointName OPTIONAL
-}
-
-certificateListMatch MATCHING-RULE ::= {
- SYNTAX CertificateListAssertion
- ID id-mr-certificateListMatch
-}
-
-CertificateListAssertion ::= SEQUENCE {
- issuer Name OPTIONAL,
- minCRLNumber [0] CRLNumber OPTIONAL,
- maxCRLNumber [1] CRLNumber OPTIONAL,
- reasonFlags ReasonFlags OPTIONAL,
- dateAndTime Time OPTIONAL,
- distributionPoint [2] DistributionPointName OPTIONAL
-}
-
-algorithmIdentifierMatch MATCHING-RULE ::= {
- SYNTAX AlgorithmIdentifier
- ID id-mr-algorithmIdentifierMatch
-}
-
--- Object identifier assignments
-id-at-supportedAlgorithms OBJECT IDENTIFIER ::=
- {id-at 52}
-
-id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
-
-id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= {id-ce 9}
-
-id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= {id-ce 14}
-
-id-ce-keyUsage OBJECT IDENTIFIER ::= {id-ce 15}
-
-id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= {id-ce 16}
-
-id-ce-subjectAltName OBJECT IDENTIFIER ::= {id-ce 17}
-
-id-ce-issuerAltName OBJECT IDENTIFIER ::= {id-ce 18}
-
-id-ce-basicConstraints OBJECT IDENTIFIER ::= {id-ce 19}
-
-id-ce-cRLNumber OBJECT IDENTIFIER ::= {id-ce 20}
-
-id-ce-reasonCode OBJECT IDENTIFIER ::= {id-ce 21}
-
-id-ce-instructionCode OBJECT IDENTIFIER ::= {id-ce 23}
-
-id-ce-invalidityDate OBJECT IDENTIFIER ::= {id-ce 24}
-
-id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= {id-ce 27}
-
-id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= {id-ce 28}
-
-id-ce-certificateIssuer OBJECT IDENTIFIER ::= {id-ce 29}
-
-id-ce-nameConstraint OBJECT IDENTIFIER ::= {id-ce 30 1}
-
-id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
-
-id-ce-certificatePolicies OBJECT IDENTIFIER ::= {id-ce 32}
-
-id-ce-policyMappings OBJECT IDENTIFIER ::= {id-ce 33}
-
--- deprecated OBJECT IDENTIFIER ::= {id-ce 34}
-id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=
- {id-ce 35}
-
-id-ce-policyConstraints OBJECT IDENTIFIER ::= {id-ce 36}
-
-id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
-
-id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
-
-id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
-
-id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
-
-id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
-
-id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
-
-id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
-
-id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
-
-id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= {id-ce 54}
-
--- The following OBJECT IDENTIFIERS are not used by this Specification:
--- {id-ce 2}, {id-ce 3}, {id-ce 4}, {id-ce 5}, {id-ce 6}, {id-ce 7},
--- {id-ce 8}, {id-ce 10}, {id-ce 11}, {id-ce 12}, {id-ce 13},
--- {id-ce 22}, {id-ce 25}, {id-ce 26}, {id-ce 30}
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Coding-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Coding-Attributes.asn
deleted file mode 100644
index 04060cf060..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Coding-Attributes.asn
+++ /dev/null
@@ -1,17 +0,0 @@
--- Module Character-Coding-Attributes (T.416:03/1993)
-
-Character-Coding-Attributes {2 8 1 6 3} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Character-Coding-Attributes;
-
-Character-Coding-Attributes ::= SET {
-}
-
--- no character coding attributes
--- are defined in this part of
--- ITU-T Rec. T.410-Series | ISO/IEC 8613
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Presentation-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Presentation-Attributes.asn
deleted file mode 100644
index aed48ac26b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Presentation-Attributes.asn
+++ /dev/null
@@ -1,125 +0,0 @@
--- Module Character-Presentation-Attributes (T.416:03/1993)
-
-Character-Presentation-Attributes {2 8 1 6 2} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Character-Attributes, One-Of-Four-Angles, One-Of-Two-Angles, Measure-Pair,
- Alignment, Layout-Table, Graphic-Rendition, Formatting-Indicator,
- Character-Fonts, Itemization, Kerning-Offset, Proportional-Line-Spacing,
- Pairwise-Kerning;
-
-Character-Attributes ::= SET {
- character-path [0] IMPLICIT One-Of-Four-Angles OPTIONAL,
- line-progression [1] IMPLICIT One-Of-Two-Angles OPTIONAL,
- character-orientation [2] IMPLICIT One-Of-Four-Angles OPTIONAL,
- initial-offset [3] IMPLICIT Measure-Pair OPTIONAL,
- character-spacing [6] IMPLICIT INTEGER OPTIONAL,
- line-spacing [7] IMPLICIT INTEGER OPTIONAL,
- alignment [8] IMPLICIT Alignment OPTIONAL,
- line-layout-table [9] IMPLICIT Layout-Table OPTIONAL,
- graphic-rendition [10] IMPLICIT Graphic-Rendition OPTIONAL,
- formatting-indicator [11] IMPLICIT Formatting-Indicator OPTIONAL,
- character-fonts [12] IMPLICIT Character-Fonts OPTIONAL,
- graphic-char-subrepertoire [13] IMPLICIT INTEGER OPTIONAL,
- itemization [14] IMPLICIT Itemization OPTIONAL,
- widow-size [15] IMPLICIT INTEGER OPTIONAL,
- orphan-size [16] IMPLICIT INTEGER OPTIONAL,
- graphic-character-sets [17] IMPLICIT OCTET STRING OPTIONAL,
- indentation [19] IMPLICIT INTEGER OPTIONAL,
- kerning-offset [20] IMPLICIT Kerning-Offset OPTIONAL,
- proportional-line-spacing [21] IMPLICIT Proportional-Line-Spacing OPTIONAL,
- pairwise-kerning [22] IMPLICIT Pairwise-Kerning OPTIONAL,
- first-line-offset [23] IMPLICIT INTEGER OPTIONAL,
- code-extension-announcers [24] IMPLICIT OCTET STRING OPTIONAL
-}
-
-One-Of-Four-Angles ::= INTEGER {d0(0), d90(1), d180(2), d270(3)}
-
-One-Of-Two-Angles ::= INTEGER {d90(1), d270(3)}
-
-Measure-Pair ::= SEQUENCE {
- horizontal [0] IMPLICIT INTEGER,
- vertical [1] IMPLICIT INTEGER
-}
-
-Alignment ::= INTEGER {
- start-aligned(0), end-aligned(1), centred(2), justified(3)}
-
-Layout-Table ::= SET OF Tabulation-Stop
-
-Tabulation-Stop ::= SET {
- tabulation-reference [0] IMPLICIT NumericString,
- tabulation-position [1] IMPLICIT INTEGER,
- alignment
- [2] IMPLICIT INTEGER {start-aligned(0), end-aligned(1), centred(2),
- aligned-around(3)},
- alignment-character-string [3] IMPLICIT OCTET STRING OPTIONAL
-}
-
--- string of graphic characters
--- from the set of graphic elements
--- specified by the presentation
--- attributes "graphic character
--- sets" and "graphic character
--- subrepertoire"
-Graphic-Rendition ::= SET OF Graphic-Rendition-Aspect
-
-Character-Fonts ::= SET {
- primary-font [0] IMPLICIT Font-Type OPTIONAL,
- first-alternative-font [1] IMPLICIT Font-Type OPTIONAL,
- second-alternative-font [2] IMPLICIT Font-Type OPTIONAL,
- third-alternative-font [3] IMPLICIT Font-Type OPTIONAL,
- fourth-alternative-font [4] IMPLICIT Font-Type OPTIONAL,
- fifth-alternative-font [5] IMPLICIT Font-Type OPTIONAL,
- sixth-alternative-font [6] IMPLICIT Font-Type OPTIONAL,
- seventh-alternative-font [7] IMPLICIT Font-Type OPTIONAL,
- eighth-alternative-font [8] IMPLICIT Font-Type OPTIONAL,
- ninth-alternative-font [9] IMPLICIT Font-Type OPTIONAL
-}
-
-Font-Type ::= SET {
- font-size [0] IMPLICIT INTEGER,
- font-identifier [1] IMPLICIT INTEGER
-}
-
-Graphic-Rendition-Aspect ::= INTEGER {
- cancel(0), increased-intensity(1), decreased-intensity(2), italicized(3),
- underlined(4), slowly-blinking(5), rapidly-blinking(6), negative-image(7),
- crossed-out(9), primary-font(10), first-alternative-font(11),
- second-alternative-font(12), third-alternative-font(13),
- fourth-alternative-font(14), fifth-alternative-font(15),
- sixth-alternative-font(16), seventh-alternative-font(17),
- eighth-alternative-font(18), ninth-alternative-font(19),
- doubly-underlined(21), normal-intensity(22), not-italicized(23),
- not-underlined(24), steady(25), variable-spacing(26), positive-image(27),
- not-crossed-out(29), black-foreground(30), red-foreground(31),
- green-foreground(32), yellow-foreground(33), blue-foreground(34),
- magenta-foreground(35), cyan-foreground(36), white-foreground(37),
- select-char-foreground-colour(38), black-background(40), red-background(41),
- green-background(42), yellow-background(43), blue-background(44),
- magenta-background(45), cyan-background(46), white-background(47),
- select-char-background-colour(48), not-variable-spacing(50)}
-
-Formatting-Indicator ::= INTEGER {no(0), yes(1)}
-
-Itemization ::= SET {
- identifier-alignment
- [0] IMPLICIT INTEGER {no-itemization(0), start-aligned(1), end-aligned(2)},
- identifier-start-offset [1] IMPLICIT INTEGER OPTIONAL,
- identifier-end-offset [2] IMPLICIT INTEGER OPTIONAL
-}
-
-Kerning-Offset ::= SET {
- start-offset [0] IMPLICIT INTEGER,
- end-offset [1] IMPLICIT INTEGER
-}
-
-Proportional-Line-Spacing ::= INTEGER {no(0), yes(1)}
-
-Pairwise-Kerning ::= INTEGER {no(0), yes(1)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Profile-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Profile-Attributes.asn
deleted file mode 100644
index 7ba5bf194a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Character-Profile-Attributes.asn
+++ /dev/null
@@ -1,54 +0,0 @@
--- Module Character-Profile-Attributes (T.416:03/1993)
-
-Character-Profile-Attributes {2 8 1 6 4} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Character-Presentation-Feature, Character-Coding-Attribute,
- Character-Content-Defaults;
-
-IMPORTS
- Character-Attributes, One-Of-Four-Angles, One-Of-Two-Angles, Measure-Pair,
- Alignment, Layout-Table, Graphic-Rendition, Formatting-Indicator,
- Character-Fonts, Itemization, Kerning-Offset, Proportional-Line-Spacing,
- Pairwise-Kerning
- FROM Character-Presentation-Attributes;
-
--- see 11.2
-Character-Presentation-Feature ::= CHOICE {
- character-path [0] IMPLICIT One-Of-Four-Angles,
- line-progression [1] IMPLICIT One-Of-Two-Angles,
- character-orientation [2] IMPLICIT One-Of-Four-Angles,
- initial-offset [3] IMPLICIT Measure-Pair,
- character-spacing [6] IMPLICIT INTEGER,
- line-spacing [7] IMPLICIT INTEGER,
- alignment [8] IMPLICIT Alignment,
- line-layout-table [9] IMPLICIT Layout-Table,
- graphic-rendition [10] IMPLICIT Graphic-Rendition,
- formatting-indicator [11] IMPLICIT Formatting-Indicator,
- character-fonts [12] IMPLICIT Character-Fonts,
- graphic-char-subrepertoire [13] IMPLICIT INTEGER,
- itemization [14] IMPLICIT Itemization,
- widow-size [15] IMPLICIT INTEGER,
- orphan-size [16] IMPLICIT INTEGER,
- graphic-character-sets [17] IMPLICIT OCTET STRING,
- indentation [19] IMPLICIT INTEGER,
- kerning-offset [20] IMPLICIT Kerning-Offset,
- proportional-line-spacing [21] IMPLICIT Proportional-Line-Spacing,
- pairwise-kerning [22] IMPLICIT Pairwise-Kerning,
- first-line-offset [23] IMPLICIT INTEGER,
- code-extension-announcers [24] IMPLICIT OCTET STRING
-}
-
-Character-Coding-Attribute ::= NULL
-
--- no character coding attributes
--- are defined in this part of
--- ITU-T Rec. T.410-Series | ISO/IEC 8613
-Character-Content-Defaults ::=
- Character-Attributes
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Colour-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Colour-Attributes.asn
deleted file mode 100644
index 24c7fafc38..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Colour-Attributes.asn
+++ /dev/null
@@ -1,192 +0,0 @@
--- Module Colour-Attributes (T.415:03/1993)
-
-Colour-Attributes {2 8 1 5 14} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Colour-Expression, Colour-Table, Colour-Spaces-List, Colour-Characteristics;
-
-IMPORTS Character-Data
- FROM Document-Profile-Descriptor; -- see 7.7
-
-Real-Or-Int ::= CHOICE {a REAL,
- b INTEGER
-}
-
-Colour-Expression ::= SEQUENCE {
- colour-access-mode [0] IMPLICIT INTEGER {direct(0), indexed(1)},
- a
- [1] CHOICE {direct-colour [0] IMPLICIT Direct-Colour,
- indexed-colour [1] IMPLICIT Indexed-Colour}
-}
-
-Direct-Colour ::= SET {
- colour-space-id [0] IMPLICIT INTEGER OPTIONAL,
- colour-specification [1] Colour-Specification OPTIONAL,
- colour-tolerance [2] Colour-Tolerance OPTIONAL
-}
-
-Colour-Specification ::= CHOICE {
- cmyk-colour [0] IMPLICIT CMYK-Colour,
- rgb-colour [1] IMPLICIT RGB-Colour,
- cie-colour [2] IMPLICIT CIE-Colour
-}
-
-CMYK-Colour ::= SET {
- c-value [0] Real-Or-Int,
- m-value [1] Real-Or-Int,
- y-value [2] Real-Or-Int,
- k-value [3] Real-Or-Int OPTIONAL
-}
-
-RGB-Colour ::= SET {
- r-value [0] Real-Or-Int,
- g-value [1] Real-Or-Int,
- b-value [2] Real-Or-Int
-}
-
-CIE-Colour ::= SET {
- x-value [0] Real-Or-Int,
- y-value [1] Real-Or-Int,
- z-value [2] Real-Or-Int
-}
-
-Colour-Tolerance ::= CHOICE {
- unspecified-tolerance [0] IMPLICIT NULL,
- specified-tolerance [1] IMPLICIT Specified-Tolerance
-}
-
-Specified-Tolerance ::= SET {
- tolerance-value [0] Real-Or-Int,
- tolerance-space [1] IMPLICIT INTEGER {cieluv(3), cielab(4)}
-}
-
-Indexed-Colour ::= SET {index [0] IMPLICIT INTEGER OPTIONAL
-}
-
-Colour-Table ::= SET {
- colour-space-id [0] IMPLICIT INTEGER,
- colour-table-entries
- [1] IMPLICIT SET OF
- SET {index [0] IMPLICIT INTEGER,
- colour-coordinates [1] Colour-Specification,
- colour-tolerance [2] Colour-Tolerance OPTIONAL
- }
-}
-
-Colour-Characteristics ::= SET {
- colour-spaces-present
- [0] IMPLICIT SEQUENCE OF
- SET {colour-space-type [0] IMPLICIT Colour-Space-Type,
- colour-calibration-type
- [1] IMPLICIT Colour-Space-Calibration-Type},
- colour-modes-present [1] IMPLICIT Colour-Modes-Present,
- minimum-colour-tolerance [2] Colour-Tolerance OPTIONAL,
- maximum-colour-table-length [3] IMPLICIT INTEGER OPTIONAL,
- -- "maximum number of colour table entries"
- maximum-rgb-lut-length [4] IMPLICIT INTEGER OPTIONAL,
- -- "maximum number of look-up table entries"
- maximum-cmy-k-grid-size [5] IMPLICIT INTEGER OPTIONAL
-}
-
-Colour-Space-Type ::= INTEGER {rgb(0), cmyk(1), cmy(2), cieluv(3), cielab(4)}
-
-Colour-Space-Calibration-Type ::= INTEGER {
- no-calibration(0), matrices(1), lookup-tables(2),
- matrices-and-lookup-tables(3)}
-
-Colour-Modes-Present ::= INTEGER {direct(0), indexed(1), both(2)}
-
-Colour-Spaces-List ::= SET OF Colour-Space
-
-Colour-Space ::= SET {
- colour-space-id [0] IMPLICIT INTEGER,
- colour-space-type [1] IMPLICIT Colour-Space-Type,
- colour-space-name [2] IMPLICIT Character-Data OPTIONAL,
- colour-data-scaling [3] Colour-Data-Scaling OPTIONAL,
- calibration-data [4] Calibration-Data OPTIONAL
-}
-
-Colour-Data-Scaling ::= SET {
- first-component [0] IMPLICIT Scale-And-Offset,
- second-component [1] IMPLICIT Scale-And-Offset,
- third-component [2] IMPLICIT Scale-And-Offset,
- fourth-component [3] IMPLICIT Scale-And-Offset OPTIONAL
-}
-
-Scale-And-Offset ::= SET {
- colour-scale [0] Real-Or-Int,
- colour-offset [1] Real-Or-Int
-}
-
-Calibration-Data ::= CHOICE {
- rgb [0] IMPLICIT RGB-Calibration,
- cmyk [1] IMPLICIT CMY-K-Calibration,
- cmy [2] IMPLICIT CMY-K-Calibration,
- cieluv [3] IMPLICIT CIE-Calibration,
- cielab [4] IMPLICIT CIE-Calibration
-}
-
-CIE-Calibration ::= SET {reference-white [0] IMPLICIT CIE-Ref
-}
-
-RGB-Calibration ::= SET {
- reference-white [0] IMPLICIT CIE-Ref,
- matrix1 [1] IMPLICIT Three-by-Three-Matrix OPTIONAL,
- lookup-table [3] IMPLICIT Colour-Lookup-Table OPTIONAL,
- matrix2 [2] IMPLICIT Three-by-Three-Matrix OPTIONAL
-}
-
-Three-by-Three-Matrix ::= SEQUENCE {
- row-1 Three-Nums,
- row-2 Three-Nums,
- row-3 Three-Nums
-}
-
-Three-Nums ::= SEQUENCE {
- column-1 Real-Or-Int,
- column-2 Real-Or-Int,
- column-3 Real-Or-Int
-}
-
-Colour-Lookup-Table ::= SET {
- number-of-entries [0] IMPLICIT INTEGER,
- m [1] IMPLICIT INTEGER,
- n [2] IMPLICIT INTEGER,
- colour-table [3] IMPLICIT SET OF Colour-Table-Entry
-}
-
-Colour-Table-Entry ::= SET {
- index [3] IMPLICIT INTEGER,
- r [0] Real-Or-Int,
- g [1] Real-Or-Int,
- b [2] Real-Or-Int
-}
-
-CMY-K-Calibration ::= SET {
- reference-white [0] IMPLICIT CIE-Ref,
- comment [1] IMPLICIT Character-Data OPTIONAL,
- cmyk-lut [2] IMPLICIT Grid-Specification
-}
-
-Grid-Specification ::=
- SET OF
- SET {grid-location [0] IMPLICIT CMYK-Colour,
- grid-value [1] IMPLICIT Grid-Value}
-
-Grid-Value ::= SET {
- x-value [0] IMPLICIT REAL,
- y-value [1] IMPLICIT REAL,
- z-value [2] IMPLICIT REAL
-}
-
-CIE-Ref ::= SET {
- xn-value [0] Real-Or-Int,
- yn-value [1] Real-Or-Int,
- zn-value [2] Real-Or-Int
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DOR-definition.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DOR-definition.asn
deleted file mode 100644
index cd3330dc56..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DOR-definition.asn
+++ /dev/null
@@ -1,134 +0,0 @@
--- Module DOR-definition (ISO|IEC 10031-2:1991)
-DOR-definition {joint-iso-itu-t dor(4) reference-definition(0)} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- AE-Identifier, Altered-value, DOR, dor-abstract-syntax, dor-syntax-asn1,
- dorx, Extend-QoS, Local-reference, Locational-identifier, Produce-QoS,
- QoS-level, Quality-of-Service, Requested-QoS-level,
- Single-use-of-reference, Token;
-
-IMPORTS
- DistinguishedName
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3}
- PresentationAddress
- FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
- selectedAttributeTypes(5) 3};
-
--- Defined Object Identifiers
-dorx OBJECT IDENTIFIER ::=
- {joint-iso-itu-t dor(11)}
-
--- Object identifier for abstract syntax of DOR
-dor-abstract-syntax OBJECT IDENTIFIER ::=
- {dorx reference-abstract-syntax(1)}
-
--- Object identifier for abstract syntax of DOR with basic ASN.1 encodings in
--- EXTERNAL
-dor-syntax-asn1 OBJECT IDENTIFIER ::=
- {dorx reference-syntax(2) asn1(0)}
-
--- Definition of DOR type
-DOR ::= SEQUENCE {
- ae-identifier [0] AE-Identifier OPTIONAL,
- -- mandatory in case of produce-operations and consume-operations
- local-reference [1] Local-reference,
- data-object-type OBJECT IDENTIFIER,
- -- identifying the abstract syntax and the transfer syntax of the
- -- referenced data value
- quality-of-service [2] Quality-of-Service DEFAULT {},
- token [3] Token OPTIONAL
-}
-
-AE-Identifier ::= SEQUENCE { -- at least one component shall be present
- locational-identifier [0] Locational-identifier OPTIONAL,
- direct-logical-identifier [1] DistinguishedName OPTIONAL,
- indirect-logical-identifier [2] DistinguishedName OPTIONAL
-}
-
-Locational-identifier ::= SEQUENCE {
- presentation-address [0] PresentationAddress,
- ae-title [1] AE-title OPTIONAL,
- -- as defined in ISO 8650:1988/Cor.1:1990
- application-contexts SET OF OBJECT IDENTIFIER
-}
-
-Local-reference ::= SEQUENCE {
- application [0] OCTET STRING OPTIONAL,
- specific-reference [1] OCTET STRING
-}
-
-Quality-of-Service ::= SEQUENCE {
- qoS-level [0] QoS-level DEFAULT level-1:NULL,
- usage-of-reference Single-use-of-reference DEFAULT TRUE
-}
-
-QoS-level ::= CHOICE {
- level-1 [1] IMPLICIT NULL,
- level-2 [2] IMPLICIT GeneralizedTime,
- -- specifying the produce time
- level-3
- [3] IMPLICIT SEQUENCE {produce-time GeneralizedTime,
- fidelity-time GeneralizedTime}
-}
-
-Single-use-of-reference ::= BOOLEAN
-
-Token ::= CHOICE {
- simpletoken OCTET STRING,
- -- used to validate an access which use this DOR
- externaltoken EXTERNAL -- for future proxy mechanism
-}
-
--- Data types for produce-operations
-Produce-QoS ::= SEQUENCE {
- qoS-level [0] Requested-QoS-level DEFAULT level-1:NULL,
- usage-of-reference Single-use-of-reference DEFAULT TRUE
-}
-
-Requested-QoS-level ::= CHOICE {
- level-1 [1] IMPLICIT NULL,
- level-2 [2] IMPLICIT NULL,
- level-3 [3] IMPLICIT GeneralizedTime
- -- specifying the requested fidelity-time
-}
-
--- Data types for extending a specific QoS
-Extend-QoS ::= SEQUENCE {
- qoS-level [0] Requested-QoS-level OPTIONAL,
- -- if omitted, no change required
- usage-of-reference Single-use-of-reference OPTIONAL
- -- if omitted, no change required
-}
-
--- Data types for requesting / indicating value alteration in produce-operation
--- or access-operation
-Altered-value ::= ENUMERATED {
- value-not-altered(1), value-altered(2), undefined(3)}
-
--- dw: definition of AE-title, as defined in ISO 8650:1988/Cor.1:1990
--- dw: defined in-line here so we don't need to import it, original comments
--- dw: are as they appear in the 8650:1988 Annex E
-AP-title ::= TYPE-IDENTIFIER.&Type
-
--- The exact definition and values used for AP-title
--- should be chosen taking into account the ongoing
--- work in areas of naming, the Directory, and the
--- Registration Authority procedures for AE titles,
--- AE titles, and AE qualifiers
-AE-qualifier ::= TYPE-IDENTIFIER.&Type
-
--- The exact definition and values used for AE-qualifier
--- should be chosen taking into account the ongoing
--- work in areas of naming, the Directory, and the
--- Registration Authority procedures for AE titles,
--- AE titles, and AE qualifiers
-AE-title ::= SEQUENCE {ap AP-title,
- ae AE-qualifier
-}
-
-END -- of DOR-definition
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DSAOperationalAttributeTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DSAOperationalAttributeTypes.asn
deleted file mode 100644
index df5e8489ea..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DSAOperationalAttributeTypes.asn
+++ /dev/null
@@ -1,186 +0,0 @@
--- Module DSAOperationalAttributeTypes (X.501:08/1997)
-DSAOperationalAttributeTypes {joint-iso-itu-t ds(5) module(1)
- dsaOperationalAttributeTypes(22) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-doa, id-kmr, informationFramework, distributedOperations,
- opBindingManagement, selectedAttributeTypes
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ATTRIBUTE, MATCHING-RULE, Name
- FROM InformationFramework informationFramework
- OperationalBindingID
- FROM OperationalBindingManagement opBindingManagement
- AccessPoint, MasterAndShadowAccessPoints
- FROM DistributedOperations distributedOperations
- bitStringMatch
- FROM SelectedAttributeTypes selectedAttributeTypes;
-
--- data types
-DSEType ::= BIT STRING {
- root(0), -- root DSE
- glue(1), -- represents knowledge of a name only
- cp(2), -- context prefix
- entry(3), -- object entry
- alias(4), -- alias entry
- subr(5), -- subordinate reference
- nssr(6), -- non-specific subordinate reference
- supr(7), -- superior reference
- xr(8), -- cross reference
- admPoint(9), -- administrative point
- subentry(10), -- subentry
- shadow(11), -- shadow copy
- immSupr(13), -- immediate superior reference
- rhob(14), -- rhob information
- sa(15), -- subordinate reference to alias entry
- dsSubentry(16), -- DSA Specific subentry
- familyMember(17)} -- family member
-
-SupplierOrConsumer ::= SET {
- COMPONENTS OF AccessPoint, -- supplier or consumer
- agreementID [4] OperationalBindingID
-}
-
-SupplierInformation ::= SET {
- COMPONENTS OF SupplierOrConsumer, -- supplier
- supplier-is-master [5] BOOLEAN DEFAULT TRUE,
- non-supplying-master [6] AccessPoint OPTIONAL
-}
-
-ConsumerInformation ::= SupplierOrConsumer -- consumer
-
-SupplierAndConsumers ::= SET {
- COMPONENTS OF AccessPoint, -- supplier
- consumers [4] SET OF AccessPoint
-}
-
--- attribute types
-dseType ATTRIBUTE ::= {
- WITH SYNTAX DSEType
- EQUALITY MATCHING RULE bitStringMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-dseType
-}
-
-myAccessPoint ATTRIBUTE ::= {
- WITH SYNTAX AccessPoint
- EQUALITY MATCHING RULE accessPointMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-myAccessPoint
-}
-
-superiorKnowledge ATTRIBUTE ::= {
- WITH SYNTAX AccessPoint
- EQUALITY MATCHING RULE accessPointMatch
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-superiorKnowledge
-}
-
-specificKnowledge ATTRIBUTE ::= {
- WITH SYNTAX MasterAndShadowAccessPoints
- EQUALITY MATCHING RULE masterAndShadowAccessPointsMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE distributedOperation
- ID id-doa-specificKnowledge
-}
-
-nonSpecificKnowledge ATTRIBUTE ::= {
- WITH SYNTAX MasterAndShadowAccessPoints
- EQUALITY MATCHING RULE masterAndShadowAccessPointsMatch
- NO USER MODIFICATION TRUE
- USAGE distributedOperation
- ID id-doa-nonSpecificKnowledge
-}
-
-supplierKnowledge ATTRIBUTE ::= {
- WITH SYNTAX SupplierInformation
- EQUALITY MATCHING RULE supplierOrConsumerInformationMatch
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-supplierKnowledge
-}
-
-consumerKnowledge ATTRIBUTE ::= {
- WITH SYNTAX ConsumerInformation
- EQUALITY MATCHING RULE supplierOrConsumerInformationMatch
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-consumerKnowledge
-}
-
-secondaryShadows ATTRIBUTE ::= {
- WITH SYNTAX SupplierAndConsumers
- EQUALITY MATCHING RULE supplierAndConsumersMatch
- NO USER MODIFICATION TRUE
- USAGE dSAOperation
- ID id-doa-secondaryShadows
-}
-
--- matching rules
-accessPointMatch MATCHING-RULE ::= {
- SYNTAX Name
- ID id-kmr-accessPointMatch
-}
-
-masterAndShadowAccessPointsMatch MATCHING-RULE ::= {
- SYNTAX SET OF Name
- ID id-kmr-masterShadowMatch
-}
-
-supplierOrConsumerInformationMatch MATCHING-RULE ::= {
- SYNTAX
- SET {ae-title [0] Name,
- agreement-identifier [2] INTEGER}
- ID id-kmr-supplierConsumerMatch
-}
-
-supplierAndConsumersMatch MATCHING-RULE ::= {
- SYNTAX Name
- ID id-kmr-supplierConsumersMatch
-}
-
--- object identifier assignments
--- dsa operational attributes
-id-doa-dseType OBJECT IDENTIFIER ::=
- {id-doa 0}
-
-id-doa-myAccessPoint OBJECT IDENTIFIER ::= {id-doa 1}
-
-id-doa-superiorKnowledge OBJECT IDENTIFIER ::= {id-doa 2}
-
-id-doa-specificKnowledge OBJECT IDENTIFIER ::= {id-doa 3}
-
-id-doa-nonSpecificKnowledge OBJECT IDENTIFIER ::= {id-doa 4}
-
-id-doa-supplierKnowledge OBJECT IDENTIFIER ::= {id-doa 5}
-
-id-doa-consumerKnowledge OBJECT IDENTIFIER ::= {id-doa 6}
-
-id-doa-secondaryShadows OBJECT IDENTIFIER ::= {id-doa 7}
-
--- knowledge matching rules
-id-kmr-accessPointMatch OBJECT IDENTIFIER ::=
- {id-kmr 0}
-
-id-kmr-masterShadowMatch OBJECT IDENTIFIER ::= {id-kmr 1}
-
-id-kmr-supplierConsumerMatch OBJECT IDENTIFIER ::= {id-kmr 2}
-
-id-kmr-supplierConsumersMatch OBJECT IDENTIFIER ::= {id-kmr 3}
-
-END -- DSAOperationalAttributeTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Default-Value-Lists.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Default-Value-Lists.asn
deleted file mode 100644
index ef1187ba8c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Default-Value-Lists.asn
+++ /dev/null
@@ -1,143 +0,0 @@
--- Module Default-Value-Lists (T.415:03/1993)
-
-Default-Value-Lists {2 8 1 5 11} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Default-Value-Lists-Logical, Default-Value-Lists-Layout;
-
-IMPORTS
- Style-Identifier, Category-Name
- FROM Identifiers-and-Expressions -- see 7.8
-
- Measure-Pair, One-Of-Four-Angles, Medium-Type, Dimension-Pair, Transparency,
- Colour, Border, Content-Background-Colour, Content-Foreground-Colour,
- Sealed
- FROM Layout-Descriptors -- see 7.9
-
- Protection
- FROM Logical-Descriptors -- see 7.10
-
- Presentation-Attributes
- FROM Style-Descriptors -- see 7.11
-
- Colour-Expression, Colour-Table
- FROM Colour-Attributes; -- see 7.14
-
-Default-Value-Lists-Layout ::= SET {
- page-set-attributes [1] IMPLICIT Page-Set-Attributes OPTIONAL,
- page-attributes [2] IMPLICIT Page-Attributes OPTIONAL,
- frame-attributes [3] IMPLICIT Frame-Attributes OPTIONAL,
- block-attributes [4] IMPLICIT Block-Attributes OPTIONAL
-}
-
-Default-Value-Lists-Logical ::= SET {
- composite-logical-attributes
- [5] IMPLICIT Composite-Logical-Attributes OPTIONAL,
- basic-logical-attributes [6] IMPLICIT Basic-Logical-Attributes OPTIONAL
-}
-
-Page-Set-Attributes ::= SET {
- layout-stream-categories layout-stream-categories < Attribute OPTIONAL,
- layout-stream-sub-categories
- layout-stream-sub-categories < Attribute OPTIONAL
-}
-
-Page-Attributes ::= SET {
- dimensions dimensions < Attribute OPTIONAL,
- transparency transparency < Attribute OPTIONAL,
- presentation-attributes presentation-attributes < Attribute OPTIONAL,
- page-position page-position < Attribute OPTIONAL,
- medium-type medium-type < Attribute OPTIONAL,
- presentation-style presentation-style < Attribute OPTIONAL,
- layout-stream-categories layout-stream-categories < Attribute OPTIONAL,
- layout-stream-sub-categories
- layout-stream-sub-categories < Attribute OPTIONAL,
- colour colour < Attribute OPTIONAL,
- colour-of-layout-object colour-of-layout-object < Attribute OPTIONAL,
- object-colour-table object-colour-table < Attribute OPTIONAL,
- content-background-colour content-background-colour < Attribute OPTIONAL,
- content-foreground-colour content-foreground-colour < Attribute OPTIONAL,
- content-colour-table content-colour-table < Attribute OPTIONAL,
- sealed sealed < Attribute OPTIONAL
-}
-
-Frame-Attributes ::= SET {
- position position < Attribute OPTIONAL,
- dimensions dimensions < Attribute OPTIONAL,
- transparency transparency < Attribute OPTIONAL,
- layout-path layout-path < Attribute OPTIONAL,
- permitted-categories permitted-categories < Attribute OPTIONAL,
- layout-stream-categories layout-stream-categories < Attribute OPTIONAL,
- layout-stream-sub-categories
- layout-stream-sub-categories < Attribute OPTIONAL,
- colour colour < Attribute OPTIONAL,
- colour-of-layout-object colour-of-layout-object < Attribute OPTIONAL,
- object-colour-table object-colour-table < Attribute OPTIONAL,
- border border < Attribute OPTIONAL,
- sealed sealed < Attribute OPTIONAL
-}
-
-Block-Attributes ::= SET {
- position position < Attribute OPTIONAL,
- dimensions dimensions < Attribute OPTIONAL,
- transparency transparency < Attribute OPTIONAL,
- presentation-attributes presentation-attributes < Attribute OPTIONAL,
- presentation-style presentation-style < Attribute OPTIONAL,
- layout-stream-categories layout-stream-categories < Attribute OPTIONAL,
- layout-stream-sub-categories
- layout-stream-sub-categories < Attribute OPTIONAL,
- colou colour < Attribute OPTIONAL,
- colour-of-layout-object colour-of-layout-object < Attribute OPTIONAL,
- object-colour-table object-colour-table < Attribute OPTIONAL,
- content-background-colour content-background-colour < Attribute OPTIONAL,
- content-foreground-colour content-foreground-colour < Attribute OPTIONAL,
- content-colour-table content-colour-table < Attribute OPTIONAL,
- border border < Attribute OPTIONAL,
- sealed sealed < Attribute OPTIONAL
-}
-
-Composite-Logical-Attributes ::= SET {
- protection protection < Attribute OPTIONAL,
- layout-style layout-style < Attribute OPTIONAL,
- sealed sealed < Attribute OPTIONAL
-}
-
-Basic-Logical-Attributes ::= SET {
- presentation-attributes presentation-attributes < Attribute OPTIONAL,
- -- only for use for the attribute content-architecture-class;
- -- the content architecture specific attributes can only be referenced by
- -- use of presentation style
- protection protection < Attribute OPTIONAL,
- presentation-style presentation-style < Attribute OPTIONAL,
- layout-style layout-style < Attribute OPTIONAL,
- sealed sealed < Attribute OPTIONAL
-}
-
-Attribute ::= CHOICE {
- position [0] IMPLICIT Measure-Pair,
- dimensions [1] IMPLICIT Dimension-Pair,
- transparency [2] IMPLICIT Transparency,
- presentation-attributes [3] IMPLICIT Presentation-Attributes,
- layout-path [4] IMPLICIT One-Of-Four-Angles,
- page-position [5] IMPLICIT Measure-Pair,
- medium-type [6] IMPLICIT Medium-Type,
- permitted-categories [7] IMPLICIT SET OF Category-Name,
- layout-stream-categories [19] IMPLICIT SET OF Category-Name,
- layout-stream-sub-categories [20] IMPLICIT SET OF Category-Name,
- protection [8] IMPLICIT Protection,
- presentation-style [9] IMPLICIT Style-Identifier,
- layout-style [10] IMPLICIT Style-Identifier,
- colour [11] IMPLICIT Colour,
- colour-of-layout-object [14] Colour-Expression,
- object-colour-table [15] IMPLICIT Colour-Table,
- content-background-colour [16] Content-Background-Colour,
- content-foreground-colour [17] Content-Foreground-Colour,
- content-colour-table [18] IMPLICIT Colour-Table,
- border [12] IMPLICIT Border,
- sealed [13] IMPLICIT Sealed
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryAbstractService.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryAbstractService.asn
deleted file mode 100644
index 5a5d310729..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryAbstractService.asn
+++ /dev/null
@@ -1,710 +0,0 @@
--- Module DirectoryAbstractService (X.511:08/1997)
-DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
- directoryAbstractService(2) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, distributedOperations, authenticationFramework,
- dap, directoryShadowAbstractService, basicAccessControl, enhancedSecurity,
- id-at
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- AttributeTypeAndValue
- FROM BasicAccessControl basicAccessControl
- AgreementID
- FROM DirectoryShadowAbstractService directoryShadowAbstractService
- Attribute, AttributeType, AttributeValue, AttributeValueAssertion,
- DistinguishedName, Name, RelativeDistinguishedName, SupportedAttributes,
- ATTRIBUTE, MATCHING-RULE, ContextAssertion, AttributeTypeAssertion,
- OBJECT-CLASS, RelaxationPolicy
- FROM InformationFramework informationFramework
- OperationProgress, ReferenceType, Exclusions, AccessPoint,
- ContinuationReference
- FROM DistributedOperations distributedOperations
- CertificationPath, SIGNED{}, SIGNATURE{}, ENCRYPTED{}, AlgorithmIdentifier,
- AttributeCertificationPath
- FROM AuthenticationFramework authenticationFramework
- OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
- FROM EnhancedSecurity enhancedSecurity
- id-opcode-read, id-opcode-compare, id-opcode-abandon, id-opcode-list,
- id-opcode-search, id-opcode-addEntry, id-opcode-removeEntry,
- id-opcode-modifyEntry, id-opcode-modifyDN, id-errcode-abandoned,
- id-errcode-abandonFailed, id-errcode-attributeError, id-errcode-nameError,
- id-errcode-referral, id-errcode-securityError, id-errcode-serviceError,
- id-errcode-updateError
- FROM DirectoryAccessProtocol dap
- OPERATION, ERROR, Code
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- --PROTECTED
- -- FROM Notation { joint-iso-itu-t genericULS (20) modules (1) notation (1) }
- SPKM-REQ, SPKM-REP-TI, SPKM-ERROR
- FROM SpkmGssTokens {iso(1) identified-organization(3) dod(6) internet(1)
- security(5) mechanisms(5) spkm(1) spkmGssTokens(10)};
-
--- Common data types
--- Parameterized type for representing optional signing
-OPTIONALLY-SIGNED{Type} ::= CHOICE {unsigned Type,
- signed SIGNED{Type}
-}
-
-CommonArguments ::= SET {
- serviceControls [30] ServiceControls DEFAULT {},
- securityParameters [29] SecurityParameters OPTIONAL,
- requestor [28] DistinguishedName OPTIONAL,
- operationProgress
- [27] OperationProgress DEFAULT {nameResolutionPhase notStarted},
- aliasedRDNs [26] INTEGER OPTIONAL,
- criticalExtensions [25] BIT STRING OPTIONAL,
- referenceType [24] ReferenceType OPTIONAL,
- entryOnly [23] BOOLEAN DEFAULT TRUE,
- nameResolveOnMaste [21] BOOLEAN DEFAULT FALSE,
- operationContexts [20] ContextSelection OPTIONAL,
- familyGrouping [19] FamilyGrouping DEFAULT entryOnly
-}
-
-FamilyGrouping ::= ENUMERATED {
- entryOnly(1), compoundEntry(2), strands(3), multiStrand(4)}
-
-CommonResults ::= SET {
- securityParameters [30] SecurityParameters OPTIONAL,
- performer [29] DistinguishedName OPTIONAL,
- aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
- notification [27] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL
-}
-
-CommonResultsSeq ::= SEQUENCE {
- securityParameters [30] SecurityParameters OPTIONAL,
- performer [29] DistinguishedName OPTIONAL,
- aliasDereferenced [28] BOOLEAN DEFAULT FALSE
-}
-
-ServiceControls ::= SET {
- options [0] ServiceControlOptions DEFAULT {},
- priority [1] INTEGER {low(0), medium(1), high(2)} DEFAULT medium,
- timeLimit [2] INTEGER OPTIONAL,
- sizeLimit [3] INTEGER OPTIONAL,
- scopeOfReferral [4] INTEGER {dmd(0), country(1)} OPTIONAL,
- attributeSizeLimit [5] INTEGER OPTIONAL,
- manageDSAITPlaneRef
- [6] SEQUENCE {dsaName Name,
- agreementID AgreementID} OPTIONAL,
- serviceType [7] OBJECT IDENTIFIER OPTIONAL,
- userClass [8] INTEGER OPTIONAL
-}
-
-ServiceControlOptions ::= BIT STRING {
- preferChaining(0), chainingProhibited(1), localScope(2), dontUseCopy(3),
- dontDereferenceAliases(4), subentries(5), copyShallDo(6),
- partialNameResolution(7), manageDSAIT(8), noSubtypeMatch(9),
- noSubtypeSelection(10), countFamily(11)}
-
-EntryInformationSelection ::= SET {
- attributes
- CHOICE {allUserAttributes [0] NULL,
- select [1] SET OF AttributeType
- -- empty set implies no attributes are requested
- } DEFAULT allUserAttributes:NULL,
- infoTypes
- [2] INTEGER {attributeTypesOnly(0), attributeTypesAndValues(1)}
- DEFAULT attributeTypesAndValues,
- extraAttributes
- CHOICE {allOperationalAttributes [3] NULL,
- select [4] SET OF AttributeType} OPTIONAL,
- contextSelection ContextSelection OPTIONAL,
- returnContexts BOOLEAN DEFAULT FALSE,
- familyReturn FamilyReturn DEFAULT {memberSelect contributingEntriesOnly}
-}
-
-ContextSelection ::= CHOICE {
- allContexts NULL,
- selectedContexts SET OF TypeAndContextAssertion
-}
-
-TypeAndContextAssertion ::= SEQUENCE {
- type AttributeType,
- contextAssertions
- CHOICE {preference SEQUENCE OF ContextAssertion,
- all SET OF ContextAssertion}
-}
-
-FamilyReturn ::= SEQUENCE {
- memberSelect
- ENUMERATED {contributingEntriesOnly(1), participatingEntriesOnly(2),
- compoundEntry(3)},
- familySelect SEQUENCE SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL
-}
-
-family-information ATTRIBUTE ::= {
- WITH SYNTAX FamilyEntries
- USAGE directoryOperation
- ID id-at-family-information
-}
-
-FamilyEntries ::= SEQUENCE {
- family-class OBJECT-CLASS.&id, -- structural object class value
- familyEntries SEQUENCE OF FamilyEntry
-}
-
-FamilyEntry ::= SEQUENCE {
- rdn RelativeDistinguishedName,
- information
- SEQUENCE OF CHOICE {attributeType AttributeType,
- attribute Attribute},
- family-info SEQUENCE SIZE (1..MAX) OF FamilyEntries OPTIONAL
-}
-
-EntryInformation ::= SEQUENCE {
- name Name,
- fromEntry BOOLEAN DEFAULT TRUE,
- information
- SET SIZE (1..MAX) OF
- CHOICE {attributeType AttributeType,
- attribute Attribute} OPTIONAL,
- incompleteEntry [3] BOOLEAN DEFAULT FALSE, -- not in 1988-edition systems
- partialNameResolution
- [4] BOOLEAN DEFAULT FALSE -- not in 1988 or 1993 edition systems --
-}
-
-Filter ::= CHOICE {
- item [0] FilterItem,
- and [1] SET OF Filter,
- or [2] SET OF Filter,
- not [3] Filter
-}
-
-FilterItem ::= CHOICE {
- equality [0] AttributeValueAssertion,
- substrings
- [1] SEQUENCE {type ATTRIBUTE.&id({SupportedAttributes}),
- strings
- SEQUENCE OF
- CHOICE {initial
- [0] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- any
- [1] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- final
- [2] ATTRIBUTE.&Type
- ({SupportedAttributes}
- {@substrings.type}),
- control Attribute -- Used to specify interpretation of following items
- }},
- greaterOrEqual [2] AttributeValueAssertion,
- lessOrEqual [3] AttributeValueAssertion,
- present [4] AttributeType,
- approximateMatch [5] AttributeValueAssertion,
- extensibleMatch [6] MatchingRuleAssertion,
- contextPresent [7] AttributeTypeAssertion
-}
-
-MatchingRuleAssertion ::= SEQUENCE {
- matchingRule [1] SET SIZE (1..MAX) OF MATCHING-RULE.&id,
- type [2] AttributeType OPTIONAL,
- matchValue
- [3] MATCHING-RULE.&AssertionType
- (CONSTRAINED BY {
- -- matchValue must be a value of type specified by the &AssertionType field of
- -- one of the MATCHING-RULE information objects identified by matchingRule -- }),
- dnAttributes [4] BOOLEAN DEFAULT FALSE
-}
-
-PagedResultsRequest ::= CHOICE {
- newRequest
- SEQUENCE {pageSize INTEGER,
- sortKeys SEQUENCE SIZE (1..MAX) OF SortKey OPTIONAL,
- reverse [1] BOOLEAN DEFAULT FALSE,
- unmerged [2] BOOLEAN DEFAULT FALSE},
- queryReference OCTET STRING
-}
-
-SortKey ::= SEQUENCE {
- type AttributeType,
- orderingRule MATCHING-RULE.&id OPTIONAL
-}
-
-SecurityParameters ::= SET {
- certification-path [0] CertificationPath OPTIONAL,
- name [1] DistinguishedName OPTIONAL,
- time [2] Time OPTIONAL,
- random [3] BIT STRING OPTIONAL,
- target [4] ProtectionRequest OPTIONAL,
- response [5] BIT STRING OPTIONAL,
- operationCode [6] Code OPTIONAL,
- attributeCertificationPath [7] AttributeCertificationPath OPTIONAL,
- errorProtection [8] ErrorProtectionRequest OPTIONAL,
- errorCode [9] Code OPTIONAL
-}
-
-ProtectionRequest ::= INTEGER {
- none(0), signed(1), encrypted(2), signed-encrypted(3)}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-ErrorProtectionRequest ::= INTEGER {
- none(0), signed(1), encrypted(2), signed-encrypted(3)}
-
--- Bind and unbind operations
-directoryBind OPERATION ::= {
- ARGUMENT DirectoryBindArgument
- RESULT DirectoryBindResult
- ERRORS {directoryBindError}
-}
-
-DirectoryBindArgument ::= SET {
- credentials [0] Credentials OPTIONAL,
- versions [1] Versions DEFAULT {v1}
-}
-
-Credentials ::= CHOICE {
- simple [0] SimpleCredentials,
- strong [1] StrongCredentials,
- externalProcedure [2] EXTERNAL,
- spkm [3] SpkmCredentials
-}
-
-SimpleCredentials ::= SEQUENCE {
- name [0] DistinguishedName,
- validity
- [1] SET {time1 [0] CHOICE {utc UTCTime,
- gt GeneralizedTime} OPTIONAL,
- time2 [1] CHOICE {utc UTCTime,
- gt GeneralizedTime} OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL},
- password
- [2] CHOICE {unprotected OCTET STRING,
- protected SIGNATURE{OCTET STRING}} OPTIONAL
-}
-
-StrongCredentials ::= SET {
- certification-path [0] CertificationPath OPTIONAL,
- bind-token [1] Token,
- name [2] DistinguishedName OPTIONAL,
- attributeCertificationPath [3] AttributeCertificationPath OPTIONAL
-}
-
-SpkmCredentials ::= CHOICE {req [0] SPKM-REQ,
- rep [1] SPKM-REP-TI
-}
-
-Token ::=
- SIGNED
- {SEQUENCE {algorithm [0] AlgorithmIdentifier,
- name [1] DistinguishedName,
- time [2] Time,
- random [3] BIT STRING,
- response [4] BIT STRING OPTIONAL,
- bindIntAlgorithm
- [5] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL,
- bindIntKeyInfo [6] BindKeyInfo OPTIONAL,
- bindConfAlgorithm
- [7] SEQUENCE SIZE (1..MAX) OF AlgorithmIdentifier OPTIONAL,
- bindConfKeyInfo [8] BindKeyInfo OPTIONAL}}
-
-Versions ::= BIT STRING {v1(0), v2(1)}
-
-DirectoryBindResult ::= DirectoryBindArgument
-
-directoryBindError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {versions [0] Versions DEFAULT {v1},
- error
- CHOICE {serviceError [1] ServiceProblem,
- securityError [2] SecurityProblem}}}
-}
-
-BindKeyInfo ::= ENCRYPTED{BIT STRING}
-
-directoryUnbind OPERATION ::= emptyUnbind
-
--- Operations, arguments, and results
-read OPERATION ::= {
- ARGUMENT ReadArgument
- RESULT ReadResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-read
-}
-
-ReadArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- selection [1] EntryInformationSelection DEFAULT {},
- modifyRightsRequest [2] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonArguments}}
-
-ReadResult ::=
- OPTIONALLY-PROTECTED
- {SET {entry [0] EntryInformation,
- modifyRights [1] ModifyRights OPTIONAL,
- COMPONENTS OF CommonResults}}
-
-ModifyRights ::=
- SET OF
- SEQUENCE {item
- CHOICE {entry [0] NULL,
- attribute [1] AttributeType,
- value [2] AttributeValueAssertion},
- permission
- [3] BIT STRING {add(0), remove(1), rename(2), move(3)}
- }
-
-compare OPERATION ::= {
- ARGUMENT CompareArgument
- RESULT CompareResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-compare
-}
-
-CompareArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- purported [1] AttributeValueAssertion,
- COMPONENTS OF CommonArguments}}
-
-CompareResult ::=
- OPTIONALLY-PROTECTED
- {SET {name Name OPTIONAL,
- matched [0] BOOLEAN,
- fromEntry [1] BOOLEAN DEFAULT TRUE,
- matchedSubtype [2] AttributeType OPTIONAL,
- COMPONENTS OF CommonResults}}
-
-abandon OPERATION ::= {
- ARGUMENT AbandonArgument
- RESULT AbandonResult
- ERRORS {abandonFailed}
- CODE id-opcode-abandon
-}
-
-AbandonArgument ::=
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID [0] InvokeId}}
-
-AbandonResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {invokeID InvokeId,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-list OPERATION ::= {
- ARGUMENT ListArgument
- RESULT ListResult
- ERRORS {nameError | serviceError | referral | abandoned | securityError}
- CODE id-opcode-list
-}
-
-ListArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- pagedResults [1] PagedResultsRequest OPTIONAL,
- listFamily [2] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonArguments}}
-
-ListResult ::=
- OPTIONALLY-PROTECTED
- {CHOICE {listInfo
- SET {name Name OPTIONAL,
- subordinates
- [1] SET OF
- SEQUENCE {rdn RelativeDistinguishedName,
- aliasEntry [0] BOOLEAN DEFAULT FALSE,
- fromEntry [1] BOOLEAN DEFAULT TRUE
- },
- partialOutcomeQualifier
- [2] PartialOutcomeQualifier OPTIONAL,
- COMPONENTS OF CommonResults},
- uncorrelatedListInfo [0] SET OF ListResult}}
-
-PartialOutcomeQualifier ::= SET {
- limitProblem [0] LimitProblem OPTIONAL,
- unexplored
- [1] SET SIZE (1..MAX) OF ContinuationReference OPTIONAL,
- unavailableCriticalExtensions [2] BOOLEAN DEFAULT FALSE,
- unknownErrors
- [3] SET SIZE (1..MAX) OF ABSTRACT-SYNTAX.&Type OPTIONAL,
- queryReference [4] OCTET STRING OPTIONAL,
- overspecFilter [5] Filter OPTIONAL,
- notification
- [6] SEQUENCE SIZE (1..MAX) OF Attribute OPTIONAL,
- entryCount
- CHOICE {bestEstimate [7] INTEGER,
- lowEstimate [8] INTEGER} OPTIONAL
-}
-
-LimitProblem ::= INTEGER {
- timeLimitExceeded(0), sizeLimitExceeded(1), administrativeLimitExceeded(2)
-}
-
-search OPERATION ::= {
- ARGUMENT SearchArgument
- RESULT SearchResult
- ERRORS
- {attributeError | nameError | serviceError | referral | abandoned |
- securityError}
- CODE id-opcode-search
-}
-
-SearchArgument ::=
- OPTIONALLY-PROTECTED
- {SET {baseObject [0] Name,
- subset
- [1] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)}
- DEFAULT baseObject,
- filter [2] Filter DEFAULT and:{},
- searchAliases [3] BOOLEAN DEFAULT TRUE,
- selection [4] EntryInformationSelection DEFAULT {},
- pagedResults [5] PagedResultsRequest OPTIONAL,
- matchedValuesOnly [6] BOOLEAN DEFAULT FALSE,
- extendedFilter [7] Filter OPTIONAL,
- checkOverspecified [8] BOOLEAN DEFAULT FALSE,
- relaxation [9] RelaxationPolicy OPTIONAL,
- extendedArea [10] INTEGER OPTIONAL,
- hierarchySelections [11] HierarchySelections DEFAULT {self},
- searchControlOptions
- [12] SearchControlOptions DEFAULT {searchAliases},
- COMPONENTS OF CommonArguments}}
-
-HierarchySelections ::= BIT STRING {
- self(0), children(1), parent(2), hierarchy(3), top(4), subtree(5),
- siblings(6), siblingChildren(7), siblingSubtree(8), all(9)}
-
-SearchControlOptions ::= BIT STRING {
- searchAliases(0), matchedValuesOnly(1), checkOverspecified(2),
- performExactly(3), includeAllAreas(4), noSystemRelaxation(5), dnAttribute(6),
- matchOnResidualName(7), entryCount(8), useSubset(9),
- separateFamilyMembers(10), searchFamily(11)}
-
-SearchResult ::=
- OPTIONALLY-PROTECTED
- {CHOICE {searchInfo
- SET {name Name OPTIONAL,
- entries [0] SET OF EntryInformation,
- partialOutcomeQualifier
- [2] PartialOutcomeQualifier OPTIONAL,
- altMatching [3] BOOLEAN DEFAULT FALSE,
- COMPONENTS OF CommonResults},
- uncorrelatedSearchInfo [0] SET OF SearchResult}}
-
-addEntry OPERATION ::= {
- ARGUMENT AddEntryArgument
- RESULT AddEntryResult
- ERRORS
- {attributeError | nameError | serviceError | referral | securityError |
- updateError}
- CODE id-opcode-addEntry
-}
-
-AddEntryArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- entry [1] SET OF Attribute,
- targetSystem [2] AccessPoint OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-AddEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
-}
-
-removeEntry OPERATION ::= {
- ARGUMENT RemoveEntryArgument
- RESULT RemoveEntryResult
- ERRORS {nameError | serviceError | referral | securityError | updateError}
- CODE id-opcode-removeEntry
-}
-
-RemoveEntryArgument ::=
- OPTIONALLY-PROTECTED{SET {object [0] Name,
- COMPONENTS OF CommonArguments}}
-
-RemoveEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {COMPONENTS OF CommonResultsSeq}}
-}
-
-modifyEntry OPERATION ::= {
- ARGUMENT ModifyEntryArgument
- RESULT ModifyEntryResult
- ERRORS
- {attributeError | nameError | serviceError | referral | securityError |
- updateError}
- CODE id-opcode-modifyEntry
-}
-
-ModifyEntryArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- changes [1] SEQUENCE OF EntryModification,
- selection [2] EntryInformationSelection OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-ModifyEntryResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {entry [0] EntryInformation OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-EntryModification ::= CHOICE {
- addAttribute [0] Attribute,
- removeAttribute [1] AttributeType,
- addValues [2] Attribute,
- removeValues [3] Attribute,
- alterValues [4] AttributeTypeAndValue,
- resetValue [5] AttributeType
-}
-
-modifyDN OPERATION ::= {
- ARGUMENT ModifyDNArgument
- RESULT ModifyDNResult
- ERRORS {nameError | serviceError | referral | securityError | updateError}
- CODE id-opcode-modifyDN
-}
-
-ModifyDNArgument ::=
- OPTIONALLY-PROTECTED
- {SET {object [0] DistinguishedName,
- newRDN [1] RelativeDistinguishedName,
- deleteOldRDN [2] BOOLEAN DEFAULT FALSE,
- newSuperior [3] DistinguishedName OPTIONAL,
- COMPONENTS OF CommonArguments}}
-
-ModifyDNResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED-SEQ{SEQUENCE {newRDN RelativeDistinguishedName,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
--- Errors and parameters
-abandoned ERROR ::= { -- not literally an "error"
- PARAMETER OPTIONALLY-PROTECTED {SET {COMPONENTS OF CommonResults}}
- CODE id-errcode-abandoned
-}
-
-abandonFailed ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] AbandonProblem,
- operation [1] InvokeId,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-abandonFailed
-}
-
-AbandonProblem ::= INTEGER {noSuchOperation(1), tooLate(2), cannotAbandon(3)}
-
-attributeError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {object [0] Name,
- problems
- [1] SET OF
- SEQUENCE {problem [0] AttributeProblem,
- type [1] AttributeType,
- value [2] AttributeValue OPTIONAL},
- COMPONENTS OF CommonResults}}
- CODE id-errcode-attributeError
-}
-
-AttributeProblem ::= INTEGER {
- noSuchAttributeOrValue(1), invalidAttributeSyntax(2),
- undefinedAttributeType(3), inappropriateMatching(4), constraintViolation(5),
- attributeOrValueAlreadyExists(6), contextViolation(7)}
-
-nameError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] NameProblem,
- matched [1] Name,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-nameError
-}
-
-NameProblem ::= INTEGER {
- noSuchObject(1), aliasProblem(2), invalidAttributeSyntax(3),
- aliasDereferencingProblem(4), contextProblem(5)}
-
-referral ERROR ::= { -- not literally an "error"
- PARAMETER OPTIONALLY-PROTECTED
- {SET {candidate [0] ContinuationReference,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-referral
-}
-
-securityError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] SecurityProblem,
- spkmInfo [1] SPKM-ERROR,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-securityError
-}
-
-SecurityProblem ::= INTEGER {
- inappropriateAuthentication(1), invalidCredentials(2),
- insufficientAccessRights(3), invalidSignature(4), protectionRequired(5),
- noInformation(6), blockedCredentials(7), invalidQOPMatch(8), spkmError(9)
-}
-
-serviceError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] ServiceProblem,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-serviceError
-}
-
-ServiceProblem ::= INTEGER {
- busy(1), unavailable(2), unwillingToPerform(3), chainingRequired(4),
- unableToProceed(5), invalidReference(6), timeLimitExceeded(7),
- administrativeLimitExceeded(8), loopDetected(9),
- unavailableCriticalExtension(10), outOfScope(11), ditError(12),
- invalidQueryReference(13), requestedServiceNotAvailable(14),
- relaxationNotSupported(15), unavailableRelaxationLevel(16),
- unsupportedMatchingUse(17), unmatchedKeyAttributes(18),
- ambiguousKeyAttributes(19)}
-
-updateError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {problem [0] UpdateProblem,
- attributeInfo
- [1] SET SIZE (1..MAX) OF
- CHOICE {attributeType AttributeType,
- attribute Attribute} OPTIONAL,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-updateError
-}
-
-UpdateProblem ::= INTEGER {
- namingViolation(1), objectClassViolation(2), notAllowedOnNonLeaf(3),
- notAllowedOnRDN(4), entryAlreadyExists(5), affectsMultipleDSAs(6),
- objectClassModificationProhibited(7), notAncestor(8), parentNotAncestor(9),
- hierarchyRuleViolation(10), familyRuleViolation(11)}
-
-id-at-family-information OBJECT IDENTIFIER ::= {id-at 64}
-
-END -- DirectoryAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryAccessProtocol.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryAccessProtocol.asn
deleted file mode 100644
index 10d6979f6d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryAccessProtocol.asn
+++ /dev/null
@@ -1,162 +0,0 @@
--- Module DirectoryAccessProtocol (X.519 TC2:08/1997)
-
-DirectoryAccessProtocol {joint-iso-itu-t ds(5) module(1) dap(11) 3} DEFINITIONS
-::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- directoryAbstractService, protocolObjectIdentifiers
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, CONNECTION-PACKAGE,
- Code, OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- ROS{}, Bind{}, Unbind{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- acse, pData
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- id-ac-directoryAccessAC, id-rosObject-dua, id-rosObject-directory,
- id-rosObject-dapDSA, id-contract-dap, id-package-dapConnection,
- id-package-read, id-package-search, id-package-modify,
- id-as-directoryAccessAS
- FROM ProtocolObjectIdentifiers protocolObjectIdentifiers
- directoryBind, directoryUnbind, read, compare, abandon, list, search,
- addEntry, removeEntry, modifyEntry, modifyDN
- FROM DirectoryAbstractService directoryAbstractService;
-
--- application contexts
-directoryAccessAC APPLICATION-CONTEXT ::= {
- CONTRACT dapContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directoryAccessAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-directoryAccessAC
-}
-
--- ROS objects
-dua ROS-OBJECT-CLASS ::= {INITIATES {dapContract}
- ID id-rosObject-dua
-}
-
-directory ROS-OBJECT-CLASS ::= {
- RESPONDS {dapContract}
- ID id-rosObject-directory
-}
-
-dap-dsa ROS-OBJECT-CLASS ::= {
- RESPONDS {dapContract}
- ID id-rosObject-dapDSA
-}
-
--- contracts
-dapContract CONTRACT ::= {
- CONNECTION dapConnectionPackage
- INITIATOR CONSUMER OF {readPackage | searchPackage | modifyPackage}
- ID id-contract-dap
-}
-
--- connection package
-dapConnectionPackage CONNECTION-PACKAGE ::= {
- BIND directoryBind
- UNBIND directoryUnbind
- ID id-package-dapConnection
-}
-
--- read package
-readPackage OPERATION-PACKAGE ::= {
- CONSUMER INVOKES {read | compare | abandon}
- ID id-package-read
-}
-
--- search package
-searchPackage OPERATION-PACKAGE ::= {
- CONSUMER INVOKES {list | search}
- ID id-package-search
-}
-
--- modify Package
-modifyPackage OPERATION-PACKAGE ::= {
- CONSUMER INVOKES {addEntry | removeEntry | modifyEntry | modifyDN}
- ID id-package-modify
-}
-
--- abstract syntaxes
-directoryAccessAbstractSyntax ABSTRACT-SYNTAX ::= {
- DAP-PDUs
- IDENTIFIED BY id-as-directoryAccessAS
-}
-
-DAP-PDUs ::= CHOICE {
- basicRos ROS{{DAP-InvokeIDSet}, {DAP-Invokable}, {DAP-Returnable}},
- bind Bind{directoryBind},
- unbind Unbind{directoryUnbind}
-}
-
-DAP-InvokeIDSet ::= InvokeId(ALL EXCEPT absent:NULL)
-
-DAP-Invokable OPERATION ::=
- {read | compare | abandon | list | search | addEntry | removeEntry |
- modifyEntry | modifyDN}
-
-DAP-Returnable OPERATION ::=
- {read | compare | abandon | list | search | addEntry | removeEntry |
- modifyEntry | modifyDN}
-
--- remote operation codes
-id-opcode-read Code ::= local:1
-
-id-opcode-compare Code ::= local:2
-
-id-opcode-abandon Code ::= local:3
-
-id-opcode-list Code ::= local:4
-
-id-opcode-search Code ::= local:5
-
-id-opcode-addEntry Code ::= local:6
-
-id-opcode-removeEntry Code ::= local:7
-
-id-opcode-modifyEntry Code ::= local:8
-
-id-opcode-modifyDN Code ::= local:9
-
--- remote error codes
-id-errcode-attributeError Code ::= local:1
-
-id-errcode-nameError Code ::= local:2
-
-id-errcode-serviceError Code ::= local:3
-
-id-errcode-referral Code ::= local:4
-
-id-errcode-abandoned Code ::= local:5
-
-id-errcode-securityError Code ::= local:6
-
-id-errcode-abandonFailed Code ::= local:7
-
-id-errcode-updateError Code ::= local:8
-
--- remote error code for DSP
-id-errcode-dsaReferral Code ::= local:9
-
-END -- DirectoryAccessProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryInformationShadowProtocol.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryInformationShadowProtocol.asn
deleted file mode 100644
index 91c0a865f7..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryInformationShadowProtocol.asn
+++ /dev/null
@@ -1,246 +0,0 @@
--- Module DirectoryInformationShadowProtocol (X.519 TC2:08/1997)
-
-DirectoryInformationShadowProtocol {joint-iso-itu-t ds(5) module(1) disp(16) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- directoryShadowAbstractService, protocolObjectIdentifiers
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, CONNECTION-PACKAGE,
- Code, OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- ROS{}, Bind{}, Unbind{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- acse, pData, association-by-RTSE, transfer-by-RTSE
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- id-ac-shadowSupplierInitiatedAC, id-ac-shadowSupplierInitiatedAsynchronousAC,
- id-ac-shadowConsumerInitiatedAC,
- id-ac-shadowConsumerInitiatedAsynchronousAC,
- id-ac-reliableShadowSupplierInitiatedAC,
- id-ac-reliableShadowConsumerInitiatedAC,
- id-rosObject-initiatingConsumerDSA, id-rosObject-respondingSupplierDSA,
- id-rosObject-initiatingSupplierDSA, id-rosObject-respondingConsumerDSA,
- id-contract-shadowConsumer, id-contract-shadowSupplier,
- id-package-dispConnection, id-package-shadowConsumer,
- id-package-shadowSupplier, id-as-directoryShadowAS,
- id-as-directoryReliableShadowAS, id-as-reliableShadowBindingAS
- FROM ProtocolObjectIdentifiers protocolObjectIdentifiers
- dSAShadowBind, dSAShadowUnbind, requestShadowUpdate, updateShadow,
- coordinateShadowUpdate
- FROM DirectoryShadowAbstractService directoryShadowAbstractService
- RTORQapdu, RTOACapdu, RTORJapdu
- FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)};
-
-RTSE-apdus ::= CHOICE {
- rtorq-apdu [16] IMPLICIT RTORQapdu,
- rtoac-apdu [17] IMPLICIT RTOACapdu,
- rtorj-apdu [18] IMPLICIT RTORJapdu,
- rttp-apdu RTTPapdu,
- rttr-apdu RTTRapdu,
- rtab-apdu [22] IMPLICIT RTABapdu
-}
-
-RTTPapdu ::= -- priority-- INTEGER
-
-RTTRapdu ::= OCTET STRING
-
-RTABapdu ::= SET {
- abortReason [0] IMPLICIT AbortReason OPTIONAL,
- reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
- -- 8 bits maximum, only if abortReason is invalidParameter
- userdataAB
- [2] TYPE-IDENTIFIER.&Type
- OPTIONAL -- only in normal mode and if abortReason--
- -- is userError
-}
-
-AbortReason ::= INTEGER {
- localSystemProblem(0),
- invalidParameter(1), -- reflectedParameter supplied
- unrecognizedActivity(2),
- temporaryProblem(3),
- -- the RTSE cannot accept a session for a period of time
- protocolError(4), -- RTSE level protocol error
- permanentProblem(5), --provider-abort solely in normal mode
- userError(6), -- user-abort solely in normal mode
- transferCompleted(7) -- activity can't be discarded--}
-
--- application contexts
-shadowSupplierInitiatedAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowSupplierContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directoryShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-shadowSupplierInitiatedAC
-}
-
-shadowSupplierInitiatedAsynchronousAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowSupplierContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directoryShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-shadowSupplierInitiatedAsynchronousAC
-}
-
-shadowConsumerInitiatedAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowConsumerContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directoryShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-shadowConsumerInitiatedAC
-}
-
-shadowConsumerInitiatedAsynchronousAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowConsumerContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directoryShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-shadowConsumerInitiatedAsynchronousAC
-}
-
-reliableShadowSupplierInitiatedAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowSupplierContract
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | reliableShadowBindingAbstractSyntax |
- directoryReliableShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-reliableShadowSupplierInitiatedAC
-}
-
-reliableShadowConsumerInitiatedAC APPLICATION-CONTEXT ::= {
- CONTRACT shadowConsumerContract
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | reliableShadowBindingAbstractSyntax |
- directoryReliableShadowAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-reliableShadowConsumerInitiatedAC
-}
-
--- ROS objects
-initiating-consumer-dsa ROS-OBJECT-CLASS ::= {
- INITIATES {shadowConsumerContract}
- ID id-rosObject-initiatingConsumerDSA
-}
-
-responding-supplier-dsa ROS-OBJECT-CLASS ::= {
- RESPONDS {shadowConsumerContract}
- ID id-rosObject-respondingSupplierDSA
-}
-
-initiating-supplier-dsa ROS-OBJECT-CLASS ::= {
- INITIATES {shadowSupplierContract}
- ID id-rosObject-initiatingSupplierDSA
-}
-
-responding-consumer-dsa ROS-OBJECT-CLASS ::= {
- RESPONDS {shadowSupplierContract}
- ID id-rosObject-respondingConsumerDSA
-}
-
--- contracts
-shadowConsumerContract CONTRACT ::= {
- CONNECTION dispConnectionPackage
- INITIATOR CONSUMER OF {shadowConsumerPackage}
- ID id-contract-shadowConsumer
-}
-
-shadowSupplierContract CONTRACT ::= {
- CONNECTION dispConnectionPackage
- RESPONDER CONSUMER OF {shadowSupplierPackage}
- ID id-contract-shadowSupplier
-}
-
--- connection package
-dispConnectionPackage CONNECTION-PACKAGE ::= {
- BIND dSAShadowBind
- UNBIND dSAShadowUnbind
- ID id-package-dispConnection
-}
-
--- packages
-shadowConsumerPackage OPERATION-PACKAGE ::= {
- CONSUMER INVOKES {requestShadowUpdate}
- SUPPLIER INVOKES {updateShadow}
- ID id-package-shadowConsumer
-}
-
-shadowSupplierPackage OPERATION-PACKAGE ::= {
- SUPPLIER INVOKES {coordinateShadowUpdate | updateShadow}
- ID id-package-shadowSupplier
-}
-
--- abstract syntaxes
-directoryShadowAbstractSyntax ABSTRACT-SYNTAX ::= {
- DISP-PDUs
- IDENTIFIED BY id-as-directoryShadowAS
-}
-
-directoryReliableShadowAbstractSyntax ABSTRACT-SYNTAX ::= {
- Reliable-DISP-PDUs
- IDENTIFIED BY id-as-directoryReliableShadowAS
-}
-
-reliableShadowBindingAbstractSyntax ABSTRACT-SYNTAX ::= {
- ReliableShadowBinding-PDUs
- IDENTIFIED BY id-as-reliableShadowBindingAS
-}
-
-DISP-PDUs ::= CHOICE {
- basicROS ROS{{DISP-InvokeIDSet}, {DISP-Invokable}, {DISP-Returnable}},
- bind Bind{dSAShadowBind},
- unbind Unbind{dSAShadowUnbind}
-}
-
-Reliable-DISP-PDUs ::=
- ROS{{DISP-InvokeIDSet}, {DISP-Invokable}, {DISP-Returnable}}
-
-ReliableShadowBinding-PDUs ::= CHOICE {
- rTS [0] RTSE-apdus,
- bind Bind{dSAShadowBind},
- unbind Unbind{dSAShadowUnbind}
-}
-
-DISP-InvokeIDSet ::= InvokeId(ALL EXCEPT absent:NULL)
-
-DISP-Invokable OPERATION ::=
- {requestShadowUpdate | updateShadow | coordinateShadowUpdate}
-
-DISP-Returnable OPERATION ::=
- {requestShadowUpdate | updateShadow | coordinateShadowUpdate}
-
--- remote operation codes
-id-opcode-requestShadowUpdate Code ::= local:1
-
-id-opcode-updateShadow Code ::= local:2
-
-id-opcode-coordinateShadowUpdate Code ::= local:3
-
--- remote error codes
-id-errcode-shadowError Code ::= local:1
-
-END -- DirectoryInformationShadowProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryOperationalBindingManagementProtocol.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryOperationalBindingManagementProtocol.asn
deleted file mode 100644
index e3e1f95621..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryOperationalBindingManagementProtocol.asn
+++ /dev/null
@@ -1,117 +0,0 @@
--- Module DirectoryOperationalBindingManagementProtocol (X.519 TC2:08/1997)
-
-DirectoryOperationalBindingManagementProtocol {joint-iso-itu-t ds(5)
- module(1) dop(17) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- protocolObjectIdentifiers, directoryAbstractService, opBindingManagement
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- directoryBind, directoryUnbind
- FROM DirectoryAbstractService directoryAbstractService
- ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, CONNECTION-PACKAGE,
- Code, OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- ROS{}, Bind{}, Unbind{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- acse, pData
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- id-ac-directoryOperationalBindingManagementAC, id-rosObject-dopDSA,
- id-contract-dop, id-package-dopConnection,
- id-package-operationalBindingManagement,
- id-as-directoryOperationalBindingManagementAS
- FROM ProtocolObjectIdentifiers protocolObjectIdentifiers
- establishOperationalBinding, modifyOperationalBinding,
- terminateOperationalBinding, dSAOperationalBindingManagementBind,
- dSAOperationalBindingManagementUnbind
- FROM OperationalBindingManagement opBindingManagement;
-
--- application contexts
-directoryOperationalBindingManagementAC APPLICATION-CONTEXT ::= {
- CONTRACT dopContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax |
- directoryOperationalBindingManagementAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-directoryOperationalBindingManagementAC
-}
-
--- ROS objects
-dop-dsa ROS-OBJECT-CLASS ::= {BOTH {dopContract}
- ID id-rosObject-dopDSA
-}
-
--- contracts
-dopContract CONTRACT ::= {
- CONNECTION dopConnectionPackage
- OPERATIONS OF {dopPackage}
- ID id-contract-dop
-}
-
--- connection package
-dopConnectionPackage CONNECTION-PACKAGE ::= {
- BIND dSAOperationalBindingManagementBind
- UNBIND dSAOperationalBindingManagementUnbind
- ID id-package-dopConnection
-}
-
--- packages
-dopPackage OPERATION-PACKAGE ::= {
- CONSUMER INVOKES
- {establishOperationalBinding | modifyOperationalBinding |
- terminateOperationalBinding}
- ID id-package-operationalBindingManagement
-}
-
--- abstract syntaxes
-directoryOperationalBindingManagementAbstractSyntax ABSTRACT-SYNTAX ::=
-{DOP-PDUs
- IDENTIFIED BY id-as-directoryOperationalBindingManagementAS
-}
-
-DOP-PDUs ::= CHOICE {
- basicRos ROS{{DOP-InvokeIDSet}, {DOP-Invokable}, {DOP-Returnable}},
- bind Bind{directoryBind},
- unbind Unbind{directoryUnbind}
-}
-
-DOP-InvokeIDSet ::= InvokeId(ALL EXCEPT absent:NULL)
-
-DOP-Invokable OPERATION ::=
- {establishOperationalBinding | modifyOperationalBinding |
- terminateOperationalBinding}
-
-DOP-Returnable OPERATION ::=
- {establishOperationalBinding | modifyOperationalBinding |
- terminateOperationalBinding}
-
--- remote operation codes
-id-op-establishOperationalBinding Code ::= local:100
-
-id-op-modifyOperationalBinding Code ::= local:102
-
-id-op-terminateOperationalBinding Code ::= local:101
-
--- remote error codes
-id-err-operationalBindingError Code ::= local:100
-
-END -- DirectoryOperationalBindingManagementProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryOperationalBindingTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryOperationalBindingTypes.asn
deleted file mode 100644
index 9df5d2783a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryOperationalBindingTypes.asn
+++ /dev/null
@@ -1,26 +0,0 @@
--- Module DirectoryOperationalBindingTypes (X.519 TC2:08/1997)
-
-DirectoryOperationalBindingTypes {joint-iso-itu-t ds(5) module(1)
- directoryOperationalBindingTypes(25) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-ob
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3};
-
-id-op-binding-shadow OBJECT IDENTIFIER ::= {id-ob 1}
-
-id-op-binding-hierarchical OBJECT IDENTIFIER ::= {id-ob 2}
-
-id-op-binding-non-specific-hierarchical OBJECT IDENTIFIER ::= {id-ob 3}
-
-END -- DirectoryOperationalBindingTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryProtectionMappings.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryProtectionMappings.asn
deleted file mode 100644
index 37c6cac261..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryProtectionMappings.asn
+++ /dev/null
@@ -1,70 +0,0 @@
--- Module DirectoryProtectionMappings (X.830:04/1995)
-
-DirectoryProtectionMappings {joint-iso-itu-t genericULS(20) modules(1)
- dirProtectionMappings(4)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- These protection mappings generate bit-compatible encodings
--- to the parameterized types in the Directory Authentication
--- Framework
--- EXPORTS All
-IMPORTS
- notation, gulsSecurityTransformations
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- PROTECTION-MAPPING
- FROM Notation notation
- dirEncryptedTransformation, dirSignedTransformation,
- dirSignatureTransformation
- FROM GulsSecurityTransformations gulsSecurityTransformations;
-
--- **************************************
--- Directory encrypted Protection Mapping
--- **************************************
--- This protection mapping enables the notation
--- PROTECTED {BaseType, encrypted}
--- to replace the notation
--- ENCRYPTED {BaseType}
--- as provided by ITU-T Rec. X.509 | ISO/IEC 9594-8:1994, and to
--- generate an identical bit-encoding.
--- Security Service: confidentiality
-encrypted PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION {dirEncryptedTransformation}
-}
-
--- ***********************************
--- Directory signed Protection Mapping
--- ***********************************
--- This protection mapping enables the notation
--- PROTECTED {BaseType, signed}
--- to replace the notation
--- SIGNED {BaseType}
--- as provided by ITU-T Rec. X.509 | ISO/IEC 9594-8:1994, and to
--- generate an identical bit-encoding.
--- Security Service: data origin authentication, data integrity and
--- (in certain situations) non-repudiation.
-signed PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION {dirSignedTransformation}
-}
-
--- **************************************
--- Directory signature Protection Mapping
--- **************************************
--- This protection mapping enables the notation
--- PROTECTED {BaseType, signature}
--- to provide a functionally-equivalent replacement of the notation
--- SIGNATURE BaseType
--- as provided by ITU-T Rec. X.509 | ISO/IEC 9594-8.
--- Security Service: data origin authentication, data integrity and
--- (in certain situations) non-repudiation.
-signature PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION {dirSignatureTransformation}
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryShadowAbstractService.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryShadowAbstractService.asn
deleted file mode 100644
index acbb692b6f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectoryShadowAbstractService.asn
+++ /dev/null
@@ -1,324 +0,0 @@
--- Module DirectoryShadowAbstractService (X.525:08/1997)
-DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1)
- directoryShadowAbstractService(15) 4} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the directory service.
-IMPORTS
- -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
- directoryAbstractService, directoryOperationalBindingTypes,
- informationFramework, disp, distributedOperations,
- dsaOperationalAttributeTypes, enhancedSecurity, opBindingManagement
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, AttributeType, CONTEXT, DistinguishedName,
- RelativeDistinguishedName, SubtreeSpecification
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3}
- OPERATIONAL-BINDING, OperationalBindingID
- FROM OperationalBindingManagement {joint-iso-itu-t ds(5) module(1)
- opBindingManagement(18) 3}
- DSEType, SupplierAndConsumers
- FROM DSAOperationalAttributeTypes {joint-iso-itu-t ds(5) module(1)
- dsaOperationalAttributeTypes(22) 3}
- OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
- FROM EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28)
- 1}
- -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
- CommonResultsSeq, ContextSelection, directoryBind, directoryUnbind,
- EntryModification, SecurityParameters
- FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
- directoryAbstractService(2) 3}
- -- from ITU-T Rec. X.518 | ISO/IEC 9594-4
- AccessPoint
- FROM DistributedOperations {joint-iso-itu-t ds(5) module(1)
- distributedOperations(3) 3}
- -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
- id-op-binding-shadow
- FROM DirectoryOperationalBindingTypes {joint-iso-itu-t ds(5) module(1)
- directoryOperationalBindingTypes(25) 3}
- id-errcode-shadowError, id-opcode-coordinateShadowUpdate,
- id-opcode-requestShadowUpdate, id-opcode-updateShadow,
- reliableShadowSupplierInitiatedAC, reliableShadowConsumerInitiatedAC,
- shadowConsumerInitiatedAC, shadowSupplierInitiatedAC
- FROM DirectoryInformationShadowProtocol {joint-iso-itu-t ds(5) module(1)
- disp(16) 3}
- -- from ITU-T Rec. X.880 | ISO/IEC 13712-1
- ERROR, OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
--- bind and unbind operations
-dSAShadowBind OPERATION ::= directoryBind
-
-dSAShadowUnbind OPERATION ::= directoryUnbind
-
--- shadow operational binding
-shadowOperationalBinding OPERATIONAL-BINDING ::= {
- AGREEMENT ShadowingAgreementInfo
- APPLICATION CONTEXTS
- {{shadowSupplierInitiatedAC
- APPLIES TO {All-operations-supplier-initiated}} |
- {shadowConsumerInitiatedAC
- APPLIES TO {All-operations-consumer-initiated}} |
- {reliableShadowSupplierInitiatedAC
- APPLIES TO {All-operations-supplier-initiated}} |
- {reliableShadowConsumerInitiatedAC
- APPLIES TO {All-operations-consumer-initiated}}}
- ASYMMETRIC ROLE-A
- { -- shadow supplier roleESTABLISHMENT-INITIATOR TRUE
- ESTABLISHMENT-PARAMETER NULL
- MODIFICATION-INITIATOR TRUE
- TERMINATION-INITIATOR TRUE}
- ROLE-B
- { -- shadow consumer roleESTABLISHMENT-INITIATOR TRUE
- ESTABLISHMENT-PARAMETER NULL
- MODIFICATION-INITIATOR TRUE
- MODIFICATION-PARAMETER ModificationParameter
- TERMINATION-INITIATOR TRUE}
- ID id-op-binding-shadow
-}
-
--- types
-ModificationParameter ::= SEQUENCE {
- secondaryShadows SET OF SupplierAndConsumers
-}
-
-AgreementID ::= OperationalBindingID
-
-ShadowingAgreementInfo ::= SEQUENCE {
- shadowSubject UnitOfReplication,
- updateMode UpdateMode DEFAULT supplierInitiated:onChange:TRUE,
- master AccessPoint OPTIONAL,
- secondaryShadows [2] BOOLEAN DEFAULT FALSE
-}
-
-UnitOfReplication ::= SEQUENCE {
- area AreaSpecification,
- attributes AttributeSelection,
- knowledge Knowledge OPTIONAL,
- subordinates BOOLEAN DEFAULT FALSE,
- contextSelection ContextSelection OPTIONAL,
- supplyContexts
- [0] CHOICE {allContexts NULL,
- selectedContexts SET SIZE (1..MAX) OF CONTEXT.&id} OPTIONAL
-}
-
-AreaSpecification ::= SEQUENCE {
- contextPrefix DistinguishedName,
- replicationArea SubtreeSpecification
-}
-
-Knowledge ::= SEQUENCE {
- knowledgeType ENUMERATED {master(0), shadow(1), both(2)},
- extendedKnowledge BOOLEAN DEFAULT FALSE
-}
-
-AttributeSelection ::= SET OF ClassAttributeSelection
-
-ClassAttributeSelection ::= SEQUENCE {
- class OBJECT IDENTIFIER OPTIONAL,
- classAttributes ClassAttributes DEFAULT allAttributes:NULL
-}
-
-ClassAttributes ::= CHOICE {
- allAttributes NULL,
- include [0] AttributeTypes,
- exclude [1] AttributeTypes
-}
-
-AttributeTypes ::= SET OF AttributeType
-
-UpdateMode ::= CHOICE {
- supplierInitiated [0] SupplierUpdateMode,
- consumerInitiated [1] ConsumerUpdateMode
-}
-
-SupplierUpdateMode ::= CHOICE {
- onChange BOOLEAN,
- scheduled SchedulingParameters
-}
-
-ConsumerUpdateMode ::= SchedulingParameters
-
-SchedulingParameters ::= SEQUENCE {
- periodic PeriodicStrategy OPTIONAL, -- must be present if othertimes is set to FALSE
- othertimes BOOLEAN DEFAULT FALSE
-}
-
-PeriodicStrategy ::= SEQUENCE {
- beginTime Time OPTIONAL,
- windowSize INTEGER,
- updateInterval INTEGER
-}
-
-Time ::= GeneralizedTime
-
--- as per 34.2 b) and c) of CCITT Rec. X.208 and ISO/IEC 8824
--- shadow operations, arguments, and results
-All-operations-consumer-initiated OPERATION ::=
- {requestShadowUpdate | updateShadow}
-
-All-operations-supplier-initiated OPERATION ::=
- {coordinateShadowUpdate | updateShadow}
-
-coordinateShadowUpdate OPERATION ::= {
- ARGUMENT CoordinateShadowUpdateArgument
- RESULT CoordinateShadowUpdateResult
- ERRORS {shadowError}
- CODE id-opcode-coordinateShadowUpdate
-}
-
-CoordinateShadowUpdateArgument ::=
- OPTIONALLY-PROTECTED
- {[0] SEQUENCE {agreementID AgreementID,
- lastUpdate Time OPTIONAL,
- updateStrategy
- CHOICE {standard
- ENUMERATED {noChanges(0), incremental(1),
- total(2)},
- other EXTERNAL},
- securityParameters SecurityParameters OPTIONAL}}
-
-CoordinateShadowUpdateResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED{[0] SEQUENCE {greementID AgreementID,
- lastUpdate Time OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-requestShadowUpdate OPERATION ::= {
- ARGUMENT RequestShadowUpdateArgument
- RESULT RequestShadowUpdateResult
- ERRORS {shadowError}
- CODE id-opcode-requestShadowUpdate
-}
-
-RequestShadowUpdateArgument ::=
- OPTIONALLY-PROTECTED
- {[0] SEQUENCE {agreementID AgreementID,
- lastUpdate Time OPTIONAL,
- requestedStrategy
- CHOICE {standard ENUMERATED {incremental(1), total(2)},
- other EXTERNAL},
- securityParameters SecurityParameters OPTIONAL}}
-
-RequestShadowUpdateResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED{[0] SEQUENCE {agreementID AgreementID,
- lastUpdate Time OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-updateShadow OPERATION ::= {
- ARGUMENT UpdateShadowArgument
- RESULT UpdateShadowResult
- ERRORS {shadowError}
- CODE id-opcode-updateShadow
-}
-
-UpdateShadowArgument ::=
- OPTIONALLY-PROTECTED
- {[0] SEQUENCE {agreementID AgreementID,
- updateTime Time,
- updateWindow UpdateWindow OPTIONAL,
- updatedInfo RefreshInformation,
- securityParameters SecurityParameters OPTIONAL}}
-
-UpdateShadowResult ::= CHOICE {
- null NULL,
- information
- OPTIONALLY-PROTECTED{[0] SEQUENCE {agreementID AgreementID,
- lastUpdate Time OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-UpdateWindow ::= SEQUENCE {start Time,
- stop Time
-}
-
-RefreshInformation ::= CHOICE {
- noRefresh NULL,
- total [0] TotalRefresh,
- incremental [1] IncrementalRefresh,
- otherStrategy EXTERNAL
-}
-
-TotalRefresh ::= SEQUENCE {
- sDSE SDSEContent OPTIONAL,
- subtree SET SIZE (1..MAX) OF Subtree OPTIONAL
-}
-
-SDSEContent ::= SEQUENCE {
- sDSEType SDSEType,
- subComplete [0] BOOLEAN DEFAULT FALSE,
- attComplete [1] BOOLEAN OPTIONAL,
- attributes SET OF Attribute,
- attValIncomplete SET OF AttributeType DEFAULT {}
-}
-
-SDSEType ::= DSEType
-
-Subtree ::= SEQUENCE {
- rdn RelativeDistinguishedName,
- COMPONENTS OF TotalRefresh
-}
-
-IncrementalRefresh ::= SEQUENCE OF IncrementalStepRefresh
-
-IncrementalStepRefresh ::= SEQUENCE {
- sDSEChanges
- CHOICE {add [0] SDSEContent,
- remove NULL,
- modify [1] ContentChange} OPTIONAL,
- subordinateUpdates SEQUENCE SIZE (1..MAX) OF SubordinateChanges OPTIONAL
-}
-
-ContentChange ::= SEQUENCE {
- rename
- CHOICE {newRDN RelativeDistinguishedName,
- newDN DistinguishedName} OPTIONAL,
- attributeChanges
- CHOICE {replace [0] SET SIZE (1..MAX) OF Attribute,
- changes [1] SEQUENCE SIZE (1..MAX) OF EntryModification
- } OPTIONAL,
- sDSEType SDSEType,
- subComplete [2] BOOLEAN DEFAULT FALSE,
- attComplete [3] BOOLEAN OPTIONAL,
- attValIncomplete SET OF AttributeType DEFAULT {}
-}
-
-SubordinateChanges ::= SEQUENCE {
- subordinate RelativeDistinguishedName,
- changes IncrementalStepRefresh
-}
-
--- errors and parameters
-shadowError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED-SEQ
- {SEQUENCE {problem ShadowProblem,
- lastUpdate Time OPTIONAL,
- updateWindow UpdateWindow OPTIONAL,
- COMPONENTS OF CommonResultsSeq}}
- CODE id-errcode-shadowError
-}
-
-ShadowProblem ::= INTEGER {
- invalidAgreementID(1), inactiveAgreement(2), invalidInformationReceived(3),
- unsupportedStrategy(4), missedPrevious(5), fullUpdateRequired(6),
- unwillingToPerform(7), unsuitableTiming(8), updateAlreadyReceived(9),
- invalidSequencing(10), insufficientResources(11)}
-
-END -- DirectoryShadowAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectorySystemProtocol.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectorySystemProtocol.asn
deleted file mode 100644
index cace79d109..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DirectorySystemProtocol.asn
+++ /dev/null
@@ -1,118 +0,0 @@
--- Module DirectorySystemProtocol (X.519 TC2:08/1997)
-
-DirectorySystemProtocol {joint-iso-itu-t ds(5) module(1) dsp(12) 3} DEFINITIONS
-::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- distributedOperations, protocolObjectIdentifiers
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, CONNECTION-PACKAGE,
- Code, OPERATION
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- ROS{}, Bind{}, Unbind{}, InvokeId
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- acse, pData
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- id-ac-directorySystemAC, id-rosObject-dspDSA, id-contract-dsp,
- id-package-dspConnection, id-package-chainedRead, id-package-chainedSearch,
- id-package-chainedModify, id-as-directorySystemAS
- FROM ProtocolObjectIdentifiers protocolObjectIdentifiers
- dSABind, dSAUnbind, chainedRead, chainedCompare, chainedAbandon, chainedList,
- chainedSearch, chainedAddEntry, chainedRemoveEntry, chainedModifyEntry,
- chainedModifyDN
- FROM DistributedOperations distributedOperations;
-
--- application contexts
-directorySystemAC APPLICATION-CONTEXT ::= {
- CONTRACT dspContract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | directorySystemAbstractSyntax}
- APPLICATION CONTEXT NAME id-ac-directorySystemAC
-}
-
--- ROS objects
-dsp-dsa ROS-OBJECT-CLASS ::= {BOTH {dspContract}
- ID id-rosObject-dspDSA
-}
-
--- contracts
-dspContract CONTRACT ::= {
- CONNECTION dspConnectionPackage
- OPERATIONS OF
- {chainedReadPackage | chainedSearchPackage | chainedModifyPackage}
- ID id-contract-dsp
-}
-
--- connection package
-dspConnectionPackage CONNECTION-PACKAGE ::= {
- BIND dSABind
- UNBIND dSAUnbind
- ID id-package-dspConnection
-}
-
--- chained read package
-chainedReadPackage OPERATION-PACKAGE ::= {
- OPERATIONS {chainedRead | chainedCompare | chainedAbandon}
- ID id-package-chainedRead
-}
-
--- chained search package
-chainedSearchPackage OPERATION-PACKAGE ::= {
- OPERATIONS {chainedList | chainedSearch}
- ID id-package-chainedSearch
-}
-
--- chained modify package
-chainedModifyPackage OPERATION-PACKAGE ::= {
- OPERATIONS
- {chainedAddEntry | chainedRemoveEntry | chainedModifyEntry |
- chainedModifyDN}
- ID id-package-chainedModify
-}
-
--- abstract syntaxes
-directorySystemAbstractSyntax ABSTRACT-SYNTAX ::= {
- DSP-PDUs
- IDENTIFIED BY id-as-directorySystemAS
-}
-
-DSP-PDUs ::= CHOICE {
- basicRos ROS{{DSP-InvokeIDSet}, {DSP-Invokable}, {DSP-Returnable}},
- bind Bind{dSABind},
- unbind Unbind{dSAUnbind}
-}
-
-DSP-InvokeIDSet ::= InvokeId(ALL EXCEPT absent:NULL)
-
-DSP-Invokable OPERATION ::=
- {chainedRead | chainedCompare | chainedAbandon | chainedList | chainedSearch
- | chainedAddEntry | chainedRemoveEntry | chainedModifyEntry |
- chainedModifyDN}
-
-DSP-Returnable OPERATION ::=
- {chainedRead | chainedCompare | chainedAbandon | chainedList | chainedSearch
- | chainedAddEntry | chainedRemoveEntry | chainedModifyEntry |
- chainedModifyDN}
-
-END -- DirectorySystemProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DistributedOperations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DistributedOperations.asn
deleted file mode 100644
index 72e791f10c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/DistributedOperations.asn
+++ /dev/null
@@ -1,181 +0,0 @@
--- Module DistributedOperations (X.518 TC2:08/1997)
-
-DistributedOperations {joint-iso-itu-t ds(5) module(1) distributedOperations(3)
- 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, directoryAbstractService, distributedOperations,
- selectedAttributeTypes, basicAccessControl, dap, enhancedSecurity
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- DistinguishedName, Name, RDNSequence, SearchRuleId, MRMapping
- FROM InformationFramework informationFramework
- PresentationAddress, ProtocolInformation, UniqueIdentifier
- FROM SelectedAttributeTypes selectedAttributeTypes
- AuthenticationLevel
- FROM BasicAccessControl basicAccessControl
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- directoryBind, directoryUnbind, read, compare, abandon, list, search,
- addEntry, removeEntry, modifyEntry, modifyDN, referral, SecurityParameters,
- CommonResults
- FROM DirectoryAbstractService directoryAbstractService
- OPTIONALLY-PROTECTED{}
- FROM EnhancedSecurity enhancedSecurity
- id-errcode-dsaReferral
- FROM DirectoryAccessProtocol dap;
-
--- parameterized type for deriving chained operations
-chained{OPERATION:operation} OPERATION ::= {
- ARGUMENT OPTIONALLY-PROTECTED
- {SET {chainedArgument ChainingArguments,
- argument [0] operation.&ArgumentType}}
- RESULT OPTIONALLY-PROTECTED
- {SET {chainedResult ChainingResults,
- result [0] operation.&ResultType}}
- ERRORS
- {operation.&Errors EXCEPT referral | dsaReferral}
- CODE operation.&operationCode
-}
-
--- bind and unbind operations
-dSABind OPERATION ::= directoryBind
-
-dSAUnbind OPERATION ::= directoryUnbind
-
--- chained operations
-chainedRead OPERATION ::= chained{read}
-
-chainedCompare OPERATION ::= chained{compare}
-
-chainedAbandon OPERATION ::= abandon
-
-chainedList OPERATION ::= chained{list}
-
-chainedSearch OPERATION ::= chained{search}
-
-chainedAddEntry OPERATION ::= chained{addEntry}
-
-chainedRemoveEntry OPERATION ::= chained{removeEntry}
-
-chainedModifyEntry OPERATION ::= chained{modifyEntry}
-
-chainedModifyDN OPERATION ::= chained{modifyDN}
-
--- errors and parameters
-dsaReferral ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED
- {SET {reference [0] ContinuationReference,
- contextPrefix [1] DistinguishedName OPTIONAL,
- COMPONENTS OF CommonResults}}
- CODE id-errcode-dsaReferral
-}
-
--- common arguments and results
-ChainingArguments ::= SET {
- originator [0] DistinguishedName OPTIONAL,
- targetObject [1] DistinguishedName OPTIONAL,
- operationProgress
- [2] OperationProgress DEFAULT {nameResolutionPhase notStarted},
- traceInformation [3] TraceInformation,
- aliasDereferenced [4] BOOLEAN DEFAULT FALSE,
- aliasedRDNs [5] INTEGER OPTIONAL,
- -- only present in 1988 systems
- returnCrossRefs [6] BOOLEAN DEFAULT FALSE,
- referenceType [7] ReferenceType DEFAULT superior,
- info [8] DomainInfo OPTIONAL,
- timeLimit [9] Time OPTIONAL,
- securityParameters [10] SecurityParameters DEFAULT {},
- entryOnly [11] BOOLEAN DEFAULT FALSE,
- uniqueIdentifier [12] UniqueIdentifier OPTIONAL,
- authenticationLevel [13] AuthenticationLevel OPTIONAL,
- exclusions [14] Exclusions OPTIONAL,
- excludeShadows [15] BOOLEAN DEFAULT FALSE,
- nameResolveOnMaster [16] BOOLEAN DEFAULT FALSE,
- operationIdentifier [17] INTEGER OPTIONAL,
- searchRuleId [18] SearchRuleId OPTIONAL,
- chainedRelaxation [19] MRMapping OPTIONAL
-}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-ChainingResults ::= SET {
- info [0] DomainInfo OPTIONAL,
- crossReferences [1] SEQUENCE (SIZE (1..MAX)) OF CrossReference OPTIONAL,
- securityParameters [2] SecurityParameters DEFAULT {},
- alreadySearched [3] Exclusions OPTIONAL
-}
-
-CrossReference ::= SET {
- contextPrefix [0] DistinguishedName,
- accessPoint [1] AccessPointInformation,
- chainingRequired [2] BOOLEAN DEFAULT FALSE
-}
-
-ReferenceType ::= ENUMERATED {
- superior(1), subordinate(2), cross(3), nonSpecificSubordinate(4),
- supplier(5), master(6), immediateSuperior(7), self(8)}
-
-TraceInformation ::= SEQUENCE OF TraceItem
-
-TraceItem ::= SET {
- dsa [0] Name,
- targetObject [1] Name OPTIONAL,
- operationProgress [2] OperationProgress
-}
-
-OperationProgress ::= SET {
- nameResolutionPhase
- [0] ENUMERATED {notStarted(1), proceeding(2), completed(3)},
- nextRDNToBeResolved [1] INTEGER OPTIONAL
-}
-
-DomainInfo ::= ABSTRACT-SYNTAX.&Type
-
-ContinuationReference ::= SET {
- targetObject [0] Name,
- aliasedRDNs [1] INTEGER OPTIONAL, -- only present in 1988 systems
- operationProgress [2] OperationProgress,
- rdnsResolved [3] INTEGER OPTIONAL,
- referenceType [4] ReferenceType,
- accessPoints [5] SET OF AccessPointInformation,
- entryOnly [6] BOOLEAN DEFAULT FALSE,
- exclusions [7] Exclusions OPTIONAL,
- returnToDUA [8] BOOLEAN DEFAULT FALSE,
- nameResolveOnMaster [9] BOOLEAN DEFAULT FALSE
-}
-
-AccessPoint ::= SET {
- ae-title [0] Name,
- address [1] PresentationAddress,
- protocolInformation [2] SET OF ProtocolInformation OPTIONAL,
- chainingRequired [3] BOOLEAN DEFAULT FALSE
-}
-
-AccessPointInformation ::= SET {
- COMPONENTS OF MasterOrShadowAccessPoint,
- additionalPoints [5] MasterAndShadowAccessPoints OPTIONAL
-}
-
-MasterOrShadowAccessPoint ::= SET {
- COMPONENTS OF AccessPoint,
- category [4] ENUMERATED {master(0), shadow(1)} DEFAULT master
-}
-
-MasterAndShadowAccessPoints ::= SET OF MasterOrShadowAccessPoint
-
-Exclusions ::= SET OF RDNSequence
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Document-Profile-Descriptor.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Document-Profile-Descriptor.asn
deleted file mode 100644
index d8c15b7afa..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Document-Profile-Descriptor.asn
+++ /dev/null
@@ -1,464 +0,0 @@
--- Module Document-Profile-Descriptor (T.415:03/1993)
-
-Document-Profile-Descriptor {2 8 1 5 6} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Document-Profile-Descriptor, Character-Data, Document-Reference,
- Date-and-Time, Dates-and-Times, Personal-Name, Originators,
- Other-User-Information, Local-File-References, Security-Information,
- Document-Description,
- External-References ,
- Sealed-Doc-Bodyparts, ODA-Version;
-
-IMPORTS
- Resource-Name, Object-or-Class-Identifier, Protected-Part-Identifier,
- Style-Identifier
- FROM Identifiers-and-Expressions -- see 7.8
-
- Measure-Pair, Transparency, Colour, Dimension-Pair, One-Of-Four-Angles,
- Border, Medium-Type, Comment-String, Content-Background-Colour,
- Content-Foreground-Colour
- FROM Layout-Descriptors -- see 7.9
-
- Protection
- FROM Logical-Descriptors -- see 7.10
-
- Content-Architecture-Class, Content-Type, Block-Alignment, Fill-Order
- FROM Style-Descriptors -- see 7.11
-
- Type-Of-Coding
- FROM Text-Units -- see 7.13
-
- Colour-Characteristics, Colour-Spaces-List, Colour-Expression, Colour-Table
- FROM Colour-Attributes -- see 7.14
-
- Character-Content-Defaults, Character-Presentation-Feature,
- Character-Coding-Attribute
- FROM Character-Profile-Attributes {2 8 1 6 4
- } -- see ITU-T Rec. T.416 | ISO/IEC 8613-6
- Raster-Gr-Content-Defaults, Ra-Gr-Presentation-Feature,
- Ra-Gr-Coding-Attribute
- FROM Raster-Gr-Profile-Attributes {2 8 1 7 4
- } -- see ITU-T Rec. T.417 | ISO/IEC 8613-7
- Geo-Gr-Content-Defaults, Geo-Gr-Presentation-Feature, Geo-Gr-Coding-Attribute
- FROM Geo-Gr-Profile-Attributes {2 8 1 8 4
- } -- see ITU-T Rec. T.418 | ISO/IEC 8613-8
- Font-Attribute-Set
- FROM ISO-STANDARD-9541-FONT-ATTRIBUTE-SET {1 0 9541 2 2
- } -- see ISO/IEC 9541-2
- Document-Presentation-Time, Time-Scaling
- FROM Temporal-Relationships {2 8 1 14 0};
-
--- See ITU-T Rec. T.424 | ISO/IEC 8613-14
-Document-Profile-Descriptor ::= SET {
- generic-layout-structure [0] IMPLICIT NumericString OPTIONAL,
- specific-layout-structure [1] IMPLICIT NumericString OPTIONAL,
- generic-logical-structure [4] IMPLICIT NumericString OPTIONAL,
- specific-logical-structure [5] IMPLICIT NumericString OPTIONAL,
- presentation-styles [6] IMPLICIT NumericString OPTIONAL,
- layout-styles [7] IMPLICIT NumericString OPTIONAL,
- sealed-profiles [12] IMPLICIT NumericString OPTIONAL,
- enciphered-profiles [13] IMPLICIT NumericString OPTIONAL,
- preenciphered-bodyparts [14] IMPLICIT NumericString OPTIONAL,
- postenciphered-bodyparts [15] IMPLICIT NumericString OPTIONAL,
- -- for the generic structures,
- -- 'partial-generator-set' is represented by "0", 'complete-generator-set'
- -- is represented by "1", 'factor-set' is represented by "2";
- -- for the other cases, the numeric string has the value 'present'
- -- represented by "1"
- external-document-class [9] Document-Reference OPTIONAL,
- resource-document [10] Document-Reference OPTIONAL,
- resources
- [11] IMPLICIT SET OF
- SET {resource-identifier Resource-Name,
- object-class-identifier Object-or-Class-Identifier
- } OPTIONAL,
- document-characteristics [2] IMPLICIT Document-Characteristics,
- document-management-attributes
- [3] IMPLICIT Document-Management-Attributes OPTIONAL,
- document-security-attributes
- [16] IMPLICIT Document-Security-Attributes OPTIONAL,
- links [17] IMPLICIT NumericString OPTIONAL,
- link-classes [18] IMPLICIT NumericString OPTIONAL,
- enciphered-links [19] IMPLICIT NumericString OPTIONAL,
- temporal-relations [20] IMPLICIT NumericString OPTIONAL
-}
-
-Document-Characteristics ::= SET {
- document-application-profile
- CHOICE {a [0] IMPLICIT INTEGER {group-4-facsimile(2)},
- b [4] IMPLICIT OBJECT IDENTIFIER} OPTIONAL,
- doc-appl-profile-defaults
- [10] IMPLICIT Doc-Appl-Profile-Defaults OPTIONAL,
- document-architecture-class
- [1] IMPLICIT INTEGER {formatted(0), processable(1),
- formatted-processable(2)},
- content-architecture-classes [5] IMPLICIT SET OF OBJECT IDENTIFIER,
- interchange-format-class [6] IMPLICIT INTEGER {if-a(0), if-b(1)},
- oda-version [8] IMPLICIT ODA-Version,
- alternative-feature-sets
- [11] IMPLICIT SET OF SET OF OBJECT IDENTIFIER OPTIONAL,
- non-basic-doc-characteristics
- [2] IMPLICIT Non-Basic-Doc-Characteristics OPTIONAL,
- non-basic-struc-characteristics
- [3] IMPLICIT Non-Basic-Struc-Characteristics OPTIONAL,
- additional-doc-characteristics
- [9] IMPLICIT Additional-Doc-Characteristics OPTIONAL
-}
-
-ODA-Version ::= SEQUENCE {
- standard-or-recommendation Character-Data,
- publication-date Date-and-Time
-}
-
-Doc-Appl-Profile-Defaults ::= SET {
- document-architecture-defaults
- [0] IMPLICIT Document-Architecture-Defaults OPTIONAL,
- character-content-defaults
- [1] IMPLICIT Character-Content-Defaults OPTIONAL,
- raster-gr-content-defaults
- [2] IMPLICIT Raster-Gr-Content-Defaults OPTIONAL,
- geo-gr-content-defaults
- [3] IMPLICIT Geo-Gr-Content-Defaults OPTIONAL,
- -- the following tags are reserved for additional types
- -- of content defaults:
- -- [4] videotex, for use in conjunction with CCITT Recommendations
- -- [5] audio
- -- [6] dynamic-graphics
- external-content-architecture-defaults
- [7] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-Document-Architecture-Defaults ::= SET {
- content-architecture-class
- CHOICE {a [0] IMPLICIT Content-Architecture-Class,
- b [1] IMPLICIT Content-Type} OPTIONAL,
- page-dimensions [2] IMPLICIT Measure-Pair OPTIONAL,
- transparency [3] IMPLICIT Transparency OPTIONAL,
- colour [4] IMPLICIT Colour OPTIONAL,
- colour-of-layout-object [11] Colour-Expression OPTIONAL,
- object-colour-table [12] IMPLICIT Colour-Table OPTIONAL,
- content-background-colour [13] Content-Background-Colour OPTIONAL,
- content-foreground-colour [14] Content-Foreground-Colour OPTIONAL,
- content-colour-table [15] IMPLICIT Colour-Table OPTIONAL,
- layout-path [5] IMPLICIT One-Of-Four-Angles OPTIONAL,
- medium-type [6] IMPLICIT Medium-Type OPTIONAL,
- block-alignment [7] IMPLICIT Block-Alignment OPTIONAL,
- border [8] IMPLICIT Border OPTIONAL,
- page-position [9] IMPLICIT Measure-Pair OPTIONAL,
- type-of-coding [10] Type-Of-Coding OPTIONAL
-}
-
-Non-Basic-Doc-Characteristics ::= SET {
- profile-character-sets [5] IMPLICIT OCTET STRING OPTIONAL,
- comments-character-sets [1] IMPLICIT OCTET STRING OPTIONAL,
- alternative-repr-char-sets [6] IMPLICIT OCTET STRING OPTIONAL,
- -- each of these octet strings represents a string of escape sequences
- page-dimensions [2] IMPLICIT SET OF Dimension-Pair OPTIONAL,
- medium-types [8] IMPLICIT SET OF Medium-Type OPTIONAL,
- layout-paths
- [21] IMPLICIT SET OF One-Of-Four-Angles OPTIONAL,
- transparencies [22] IMPLICIT SET OF Transparency OPTIONAL,
- protections [23] IMPLICIT SET OF Protection OPTIONAL,
- block-alignments
- [24] IMPLICIT SET OF Block-Alignment OPTIONAL,
- fill-orders [25] IMPLICIT SET OF Fill-Order OPTIONAL,
- colours [26] IMPLICIT SET OF Colour OPTIONAL,
- colours-of-layout-object
- [30] IMPLICIT SET OF Colour-Expression OPTIONAL,
- object-colour-tables [31] IMPLICIT SET OF Colour-Table OPTIONAL,
- content-background-colours
- [32] IMPLICIT SET OF Content-Background-Colour OPTIONAL,
- content-foreground-colours
- [33] IMPLICIT SET OF Content-Foreground-Colour OPTIONAL,
- content-colour-tables [34] IMPLICIT SET OF Colour-Table OPTIONAL,
- borders [27] IMPLICIT SET OF Border OPTIONAL,
- page-positions [28] IMPLICIT SET OF Measure-Pair OPTIONAL,
- types-of-coding [29] IMPLICIT SET OF Type-Of-Coding OPTIONAL,
- character-presentation-features
- [9] IMPLICIT SET OF Character-Presentation-Feature OPTIONAL,
- ra-gr-presentation-features
- [4] IMPLICIT SET OF Ra-Gr-Presentation-Feature OPTIONAL,
- geo-gr-presentation-features
- [12] IMPLICIT SET OF Geo-Gr-Presentation-Feature OPTIONAL,
- character-coding-attributes
- [16] IMPLICIT SET OF Character-Coding-Attribute OPTIONAL,
- ra-gr-coding-attributes
- [3] IMPLICIT SET OF Ra-Gr-Coding-Attribute OPTIONAL,
- geo-gr-coding-attributes
- [17] IMPLICIT SET OF Geo-Gr-Coding-Attribute OPTIONAL,
- ext-non-basic-pres-features [10] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL,
- ext-non-basic-coding-attributes [11] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-Non-Basic-Struc-Characteristics ::= SET {
- number-of-objects-per-page [0] IMPLICIT INTEGER OPTIONAL
-}
-
-Additional-Doc-Characteristics ::= SET {
- unit-scaling [3] IMPLICIT SEQUENCE {a INTEGER,
- b INTEGER} OPTIONAL,
- fonts-list [2] IMPLICIT Fonts-List OPTIONAL,
- colour-characteristics [0] IMPLICIT Colour-Characteristics OPTIONAL,
- colour-spaces-list [1] IMPLICIT Colour-Spaces-List OPTIONAL,
- assured-reproduction-areas [5] IMPLICIT Assured-Reproduction-Areas OPTIONAL,
- time-scaling [6] IMPLICIT Time-Scaling OPTIONAL,
- document-presentation-time [7] IMPLICIT Document-Presentation-Time OPTIONAL
-}
-
-Fonts-List ::=
- SET OF SET {font-identifier INTEGER,
- font-reference Font-Reference}
-
-Font-Reference ::= SET {
- user-visible-name [0] IMPLICIT Comment-String OPTIONAL,
- user-readable-comment [1] IMPLICIT Comment-String OPTIONAL,
- reference-properties
- [2] IMPLICIT SET OF
- SET {precedence-number [0] IMPLICIT INTEGER OPTIONAL,
- properties [1] IMPLICIT Font-Attribute-Set,
- user-readable-comment
- [2] IMPLICIT Comment-String OPTIONAL}
-}
-
-Assured-Reproduction-Areas ::=
- SET OF
- SET {nominal-page-size [0] IMPLICIT Measure-Pair,
- assured-reproduction-area
- [1] SET {position [0] IMPLICIT Measure-Pair,
- dimensions [1] IMPLICIT Measure-Pair}}
-
-Document-Management-Attributes ::= SET {
- document-description [7] IMPLICIT Document-Description OPTIONAL,
- dates-and-times [0] IMPLICIT Dates-and-Times OPTIONAL,
- originators [1] IMPLICIT Originators OPTIONAL,
- other-user-information [2] IMPLICIT Other-User-Information OPTIONAL,
- external-references [3] IMPLICIT External-References OPTIONAL,
- local-file-references [4] IMPLICIT Local-File-References OPTIONAL,
- content-attributes [5] IMPLICIT Content-Attributes OPTIONAL,
- security-information [6] IMPLICIT Security-Information OPTIONAL
-}
-
-Document-Description ::= SET {
- title [0] IMPLICIT Character-Data OPTIONAL,
- subject [1] IMPLICIT Character-Data OPTIONAL,
- document-type [2] IMPLICIT Character-Data OPTIONAL,
- abstract [3] IMPLICIT Character-Data OPTIONAL,
- keywords [4] IMPLICIT SET OF Character-Data OPTIONAL,
- document-reference [5] Document-Reference OPTIONAL
-}
-
-Character-Data ::= [APPLICATION 3] IMPLICIT OCTET STRING
-
--- string of characters from the sets designated by the attribute
--- "profile character sets", plus space, carriage return and line feed
-Document-Reference ::= CHOICE {
- unique-reference OBJECT IDENTIFIER,
- descriptive-reference Character-Data
-}
-
-Dates-and-Times ::= SET {
- document-date-and-time [0] IMPLICIT Date-and-Time OPTIONAL,
- creation-date-and-time [1] IMPLICIT Date-and-Time OPTIONAL,
- local-filing-date-and-time [2] IMPLICIT SEQUENCE OF Date-and-Time OPTIONAL,
- expiry-date-and-time [3] IMPLICIT Date-and-Time OPTIONAL,
- start-date-and-time [4] IMPLICIT Date-and-Time OPTIONAL,
- purge-date-and-time [5] IMPLICIT Date-and-Time OPTIONAL,
- release-date-and-time [6] IMPLICIT Date-and-Time OPTIONAL,
- revision-history
- [7] IMPLICIT SEQUENCE OF
- SET {revision-date-and-time
- [0] IMPLICIT Date-and-Time OPTIONAL,
- version-identifier
- [1] IMPLICIT Character-Data OPTIONAL,
- revisers
- [2] IMPLICIT SET OF
- SET {names
- [0] IMPLICIT SET OF
- Personal-Name
- OPTIONAL,
- position
- [1] IMPLICIT Character-Data
- OPTIONAL,
- organization
- [2] IMPLICIT Character-Data
- OPTIONAL} OPTIONAL,
- version-reference
- [3] Document-Reference OPTIONAL,
- user-comments
- [4] IMPLICIT Character-Data OPTIONAL} OPTIONAL
-}
-
-Date-and-Time ::= [APPLICATION 4] IMPLICIT PrintableString
-
-Originators ::= SET {
- organizations [0] IMPLICIT SET OF Character-Data OPTIONAL,
- preparers
- [1] IMPLICIT SEQUENCE OF
- SET {personal-name [0] IMPLICIT Personal-Name OPTIONAL,
- organization [1] IMPLICIT Character-Data OPTIONAL
- } OPTIONAL,
- owners
- [2] IMPLICIT SEQUENCE OF
- SET {personal-name [0] IMPLICIT Personal-Name OPTIONAL,
- organization [1] IMPLICIT Character-Data OPTIONAL
- } OPTIONAL,
- authors
- [3] IMPLICIT SEQUENCE OF
- SET {personal-name [0] IMPLICIT Personal-Name OPTIONAL,
- organization [1] IMPLICIT Character-Data OPTIONAL
- } OPTIONAL
-}
-
-Personal-Name ::= [APPLICATION 6] IMPLICIT SET {
- surname [0] IMPLICIT Character-Data,
- givenname [1] IMPLICIT Character-Data OPTIONAL,
- initials [2] IMPLICIT Character-Data OPTIONAL,
- generation-qualifier [3] IMPLICIT Character-Data OPTIONAL
-}
-
-Other-User-Information ::= SET {
- copyright
- [0] IMPLICIT SET OF
- SET {copyright-information
- [0] IMPLICIT SET OF Character-Data OPTIONAL,
- copyright-dates
- [1] IMPLICIT SET OF Date-and-Time OPTIONAL} OPTIONAL,
- status [1] IMPLICIT Character-Data OPTIONAL,
- user-specific-codes [2] IMPLICIT SET OF Character-Data OPTIONAL,
- distribution-list
- [3] IMPLICIT SEQUENCE OF
- SET {personal-name [0] IMPLICIT Personal-Name OPTIONAL,
- organization [1] IMPLICIT Character-Data OPTIONAL
- } OPTIONAL,
- additional-information [5] TYPE-IDENTIFIER.&Type OPTIONAL
-}
-
-External-References ::=
- SET {
- references-to-other-documents
- [0] IMPLICIT SET OF Document-Reference OPTIONAL,
- superseded-documents
- [1] IMPLICIT SET OF Document-Reference OPTIONAL
-}
-
-Local-File-References ::=
- SET OF
- SET {file-name [0] IMPLICIT Character-Data OPTIONAL,
- location [1] IMPLICIT Character-Data OPTIONAL,
- user-comments [2] IMPLICIT Character-Data OPTIONAL}
-
-Content-Attributes ::= SET {
- document-size [1] IMPLICIT INTEGER OPTIONAL,
- number-of-pages [2] IMPLICIT INTEGER OPTIONAL,
- languages [4] IMPLICIT SET OF Character-Data OPTIONAL
-}
-
-Security-Information ::= SET {
- authorization
- CHOICE {person [0] IMPLICIT Personal-Name,
- organization [4] IMPLICIT Character-Data} OPTIONAL,
- security-classification [1] IMPLICIT Character-Data OPTIONAL,
- access-rights [2] IMPLICIT SET OF Character-Data OPTIONAL
-}
-
-Document-Security-Attributes ::= SET {
- sealed-info-encoding [7] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
- oda-security-label [0] IMPLICIT Oda-Security-Label OPTIONAL,
- sealed-doc-profiles [1] IMPLICIT Sealed-Doc-Profiles OPTIONAL,
- presealed-doc-bodyparts [2] IMPLICIT Sealed-Doc-Bodyparts OPTIONAL,
- postsealed-doc-bodyparts [3] IMPLICIT Sealed-Doc-Bodyparts OPTIONAL,
- enciphered-doc-profiles [4] IMPLICIT Protected-Doc-Parts OPTIONAL,
- preenciphered-doc-bodyparts [5] IMPLICIT Protected-Doc-Parts OPTIONAL,
- postenciphered-doc-bodyparts [6] IMPLICIT Protected-Doc-Parts OPTIONAL,
- sealed-links [8] IMPLICIT Sealed-Doc-Bodyparts OPTIONAL
-}
-
-Oda-Security-Label ::= SEQUENCE {
- oda-label-text [0] IMPLICIT Character-Data OPTIONAL,
- oda-label-data [1] IMPLICIT OCTET STRING OPTIONAL
-}
-
-Seal-Data ::= SEQUENCE {
- seal-method [0] IMPLICIT Seal-Method OPTIONAL,
- sealed-information [1] IMPLICIT Sealed-Information OPTIONAL,
- seal [2] IMPLICIT OCTET STRING
-}
-
-Seal-Method ::= SEQUENCE {
- fingerprint-method [0] IMPLICIT Method-Information OPTIONAL,
- fingerprint-key-information [1] IMPLICIT Key-Information OPTIONAL,
- sealing-method [2] IMPLICIT Method-Information OPTIONAL,
- sealing-key-information [3] IMPLICIT Key-Information OPTIONAL
-}
-
-Sealed-Information ::= SEQUENCE {
- fingerprint [0] IMPLICIT OCTET STRING OPTIONAL,
- time [1] IMPLICIT Date-and-Time OPTIONAL,
- sealing-orig-id [2] IMPLICIT Personal-Name OPTIONAL,
- location [3] IMPLICIT Location OPTIONAL
-}
-
-Method-Information ::= SEQUENCE {
- unique-method-info [0] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
- descriptive-method-info [1] IMPLICIT Character-Data OPTIONAL
-}
-
-Key-Information ::= SEQUENCE {
- method-information [0] IMPLICIT Method-Information OPTIONAL,
- additional-information [1] IMPLICIT Additional-Information OPTIONAL
-}
-
-Additional-Information ::= SEQUENCE {
- descriptive-information [0] IMPLICIT Character-Data OPTIONAL,
- octet-string [1] IMPLICIT OCTET STRING OPTIONAL
-}
-
-Location ::= SEQUENCE {
- unique-location [0] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
- descriptive-location [1] IMPLICIT Character-Data OPTIONAL
-}
-
-Sealed-Doc-Profiles ::=
- SET OF
- SEQUENCE {sealed-doc-prof-descriptor-id
- [0] IMPLICIT Protected-Part-Identifier,
- privileged-recipients
- [1] IMPLICIT SET OF Personal-Name OPTIONAL,
- doc-prof-seal [2] IMPLICIT Seal-Data}
-
-Sealed-Doc-Bodyparts ::=
- SET OF
- SEQUENCE {seal-id [0] IMPLICIT INTEGER,
- sealed-constituents [1] IMPLICIT Sealed-Constituents,
- privileged-recipients [2] IMPLICIT SET OF Personal-Name OPTIONAL,
- doc-bodypart-seal [3] IMPLICIT Seal-Data}
-
-Sealed-Constituents ::= SEQUENCE {
- object-class-identifiers
- [0] IMPLICIT SEQUENCE OF Object-or-Class-Identifier OPTIONAL,
- presentation-style-identifiers
- [1] IMPLICIT SEQUENCE OF Style-Identifier OPTIONAL,
- layout-style-identifiers
- [2] IMPLICIT SEQUENCE OF Style-Identifier OPTIONAL,
- object-identifiers
- [3] IMPLICIT SEQUENCE OF Object-or-Class-Identifier OPTIONAL
-}
-
-Protected-Doc-Parts ::=
- SET OF
- SEQUENCE {protected-doc-part-id [0] IMPLICIT Protected-Part-Identifier,
- priv-recipients-info [1] IMPLICIT SET OF Priv-Recipients-Info
- }
-
-Priv-Recipients-Info ::= SEQUENCE {
- privileged-recipients [0] IMPLICIT SET OF Personal-Name OPTIONAL,
- encipherment-method-info [1] IMPLICIT Method-Information OPTIONAL,
- encipherment-key-info [2] IMPLICIT Key-Information OPTIONAL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/EnhancedSecurity.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/EnhancedSecurity.asn
deleted file mode 100644
index 9991a59454..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/EnhancedSecurity.asn
+++ /dev/null
@@ -1,363 +0,0 @@
--- Module EnhancedSecurity (X.501:08/1997)
-EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28) 1}
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS All
-IMPORTS
- -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
- authenticationFramework, basicAccessControl, certificateExtensions,
- id-at, id-avc, id-mr, informationFramework, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, ATTRIBUTE, AttributeType, Context, CONTEXT, MATCHING-RULE,
- Name, objectIdentifierMatch, SupportedAttributes
- FROM InformationFramework informationFramework
- AttributeTypeAndValue
- FROM BasicAccessControl basicAccessControl
- -- from ITU-T Rec. X.509 | ISO/IEC 9594-8
- AlgorithmIdentifier, CertificateSerialNumber, ENCRYPTED{}, HASH{},
- SIGNED{}
- FROM AuthenticationFramework authenticationFramework
- GeneralName, KeyIdentifier
- FROM CertificateExtensions certificateExtensions
- ub-privacy-mark-length
- FROM UpperBounds upperBounds;
-
--- from GULS
--- SECURITY-TRANSFORMATION, PROTECTION-MAPPING, PROTECTED
--- FROM Notation { joint-iso-ccitt genericULS (20) modules (1) notation (1) }
---dirSignedTransformation, KEY-INFORMATION
--- FROM GulsSecurityTransformations { joint-iso-ccitt genericULS (20) modules (1)
--- gulsSecurityTransformations (3) }
--- signed
--- FROM GulsSecurityTransformations { joint-iso-ccitt genericULS (20) modules (1)
--- dirProtectionMappings (4) };
--- The "signed" Protection Mapping and associated "dirSignedTransformations" imported
--- from the Generic Upper Layers Security specification (ITU-T Rec. X.830 | ISO/IEC 11586-1)
--- results in identical encoding as the same data type used with the SIGNED as defined in
--- ITU-T REC. X.509 | ISO/IEC 9594-8
--- The three statements below are provided temporarily to allow signed operations to be supported as in edition 3.
-OPTIONALLY-PROTECTED{Type} ::= CHOICE {unsigned Type,
- signed SIGNED{Type}
-}
-
-OPTIONALLY-PROTECTED-SEQ{Type} ::= CHOICE {
- unsigned Type,
- signed [0] SIGNED{Type}
-}
-
--- The following out-commented ASN.1 specification are know to be erroneous and are therefore deprecated.
--- genEncryptedTransform {KEY-INFORMATION: SupportedKIClasses } SECURITY-TRANSFORMATION ::=
--- {
--- IDENTIFIER { enhancedSecurity gen-encrypted(2) }
--- INITIAL-ENCODING-RULES { joint-iso-itu-t asn1(1) ber(1) }
--- This default for initial encoding rules may be overridden
--- using a static protected parameter (initEncRules).
--- XFORMED-DATA-TYPE SEQUENCE {
--- initEncRules OBJECT IDENTIFIER DEFAULT { joint-iso-itu-t asn1(1) ber(1) },
--- encAlgorithm AlgorithmIdentifier OPTIONAL, -- -- Identifies the encryption algorithm,
--- keyInformation SEQUENCE {
--- kiClass KEY-INFORMATION.&kiClass ({SupportedKIClasses}),
--- keyInfo KEY-INFORMATION.&KiType ({SupportedKIClasses} {@kiClass})
--- } OPTIONAL,
--- Key information may assume various formats, governed by supported members
--- of the KEY-INFORMATION information object class (defined in ITU-T
--- Rec. X.830 | ISO/IEC 11586-1)
--- encData BIT STRING ( CONSTRAINED BY {
--- the encData value must be generated following
--- the procedure specified in 17.3.1-- -- })
--- }
--- }
--- encrypted PROTECTION-MAPPING ::= {
--- SECURITY-TRANSFORMATION { genEncryptedTransform } }
--- signedAndEncrypt PROTECTION-MAPPING ::= {
--- SECURITY-TRANSFORMATION { signedAndEncryptedTransform } }
--- signedAndEncryptedTransform {KEY-INFORMATION: SupportedKIClasses}
--- SECURITY-TRANSFORMATION ::= {
--- IDENTIFIER { enhancedSecurity dir-encrypt-sign (1) }
--- INITIAL-ENCODING-RULES { joint-iso-itu-t asn1 (1) ber-derived (2) distinguished-encoding (1) }
--- XFORMED-DATA-TYPE
--- PROTECTED
--- {
--- PROTECTED
--- {
--- ABSTRACT-SYNTAX.&Type,
--- signed
--- },
--- encrypted
--- }
--- }
--- OPTIONALLY-PROTECTED {ToBeProtected, PROTECTION-MAPPING:generalProtection} ::=
--- CHOICE {
--- toBeProtected ToBeProtected,
---no DIRQOP specified for operation
--- signed PROTECTED {ToBeProtected, signed},
---DIRQOP is Signed
--- protected [APPLICATION 0]
--- PROTECTED { ToBeProtected, generalProtection } }
---DIRQOP is other than Signed
--- defaultDirQop ATTRIBUTE ::= {
--- WITH SYNTAX OBJECT IDENTIFIER
--- EQUALITY MATCHING RULE objectIdentifierMatch
--- USAGE directoryOperation
--- ID id-at-defaultDirQop }
--- DIRQOP ::= CLASS
--- This information object class is used to define the quality of protection
--- required throughout directory operation.
--- The Quality Of Protection can be signed, encrypted, signedAndEncrypt
--- {
--- &dirqop-Id OBJECT IDENTIFIER UNIQUE,
--- &dirBindError-QOP PROTECTION-MAPPING:protectionReqd,
--- &dirErrors-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapReadArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapReadRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapCompareArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapCompareRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapListArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapListRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapSearchArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapSearchRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapAbandonArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapAbandonRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapAddEntryArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapAddEntryRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapRemoveEntryArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapRemoveEntryRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapModifyEntryArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapModifyEntryRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapModifyDNArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dapModifyDNRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dspChainedOp-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispShadowAgreeInfo-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispCoorShadowArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispCoorShadowRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispUpdateShadowArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispUpdateShadowRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispRequestShadowUpdateArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dispRequestShadowUpdateRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopEstablishOpBindArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopEstablishOpBindRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopModifyOpBindArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopModifyOpBindRes-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopTermOpBindArg-QOP PROTECTION-MAPPING:protectionReqd,
--- &dopTermOpBindRes-QOP PROTECTION-MAPPING:protectionReqd
--- }
--- WITH SYNTAX
--- {
--- DIRQOP-ID &dirqop-Id
--- DIRECTORYBINDERROR-QOP &dirBindError-QOP
--- DIRERRORS-QOP &dirErrors-QOP
--- DAPREADARG-QOP &dapReadArg-QOP
--- DAPREADRES-QOP &dapReadRes-QOP
--- DAPCOMPAREARG-QOP &dapCompareArg-QOP
--- DAPCOMPARERES-QOP &dapCompareRes-QOP
--- DAPLISTARG-QOP &dapListArg-QOP
--- DAPLISTRES-QOP &dapListRes-QOP
--- DAPSEARCHARG-QOP &dapSearchArg-QOP
--- DAPSEARCHRES-QOP &dapSearchRes-QOP
--- DAPABANDONARG-QOP &dapAbandonArg-QOP
--- DAPABANDONRES-QOP &dapAbandonRes-QOP
--- DAPADDENTRYARG-QOP &dapAddEntryArg-QOP
--- DAPADDENTRYRES-QOP &dapAddEntryRes-QOP
--- DAPREMOVEENTRYARG-QOP &dapRemoveEntryArg-QOP
--- DAPREMOVEENTRYRES-QOP &dapRemoveEntryRes-QOP
--- DAPMODIFYENTRYARG-QOP &dapModifyEntryArg-QOP
--- DAPMODIFYENTRYRES-QOP &dapModifyEntryRes-QOP
--- DAPMODIFYDNARG-QOP &dapModifyDNArg-QOP
--- DAPMODIFYDNRES-QOP &dapModifyDNRes-QOP
--- DSPCHAINEDOP-QOP &dspChainedOp-QOP
--- DISPSHADOWAGREEINFO-QOP &dispShadowAgreeInfo-QOP
--- DISPCOORSHADOWARG-QOP &dispCoorShadowArg-QOP
--- DISPCOORSHADOWRES-QOP &dispCoorShadowRes-QOP
--- DISPUPDATESHADOWARG-QOP &dispUpdateShadowArg-QOP
--- DISPUPDATESHADOWRES-QOP &dispUpdateShadowRes-QOP
--- DISPREQUESTSHADOWUPDATEARG-QOP &dispRequestShadowUpdateArg-QOP
--- DISPREQUESTSHADOWUPDATERES-QOP &dispRequestShadowUpdateRes-QOP
--- DOPESTABLISHOPBINDARG-QOP &dopEstablishOpBindArg-QOP
--- DOPESTABLISHOPBINDRES-QOP &dopEstablishOpBindRes-QOP
--- DOPMODIFYOPBINDARG-QOP &dopModifyOpBindArg-QOP
--- DOPMODIFYOPBINDRES-QOP &dopModifyOpBindRes-QOP
--- DOPTERMINATEOPBINDARG-QOP &dopTermOpBindArg-QOP
--- DOPTERMINATEOPBINDRES-QOP &dopTermOpBindRes-QOP
--- }
-attributeValueSecurityLabelContext CONTEXT ::= {
- WITH SYNTAX
- SignedSecurityLabel -- At most one security label context can be assigned to an
- -- attribute value
- ID id-avc-attributeValueSecurityLabelContext
-}
-
-SignedSecurityLabel ::=
- SIGNED
- {SEQUENCE {attHash HASH{AttributeTypeAndValue},
- issuer Name OPTIONAL, -- name of labelling authority
- keyIdentifier KeyIdentifier OPTIONAL,
- securityLabel SecurityLabel}}
-
-SecurityLabel ::= SET {
- security-policy-identifier SecurityPolicyIdentifier OPTIONAL,
- security-classification SecurityClassification OPTIONAL,
- privacy-mark PrivacyMark OPTIONAL,
- security-categories SecurityCategories OPTIONAL
-}(ALL EXCEPT ({ --none, at least one component shall be presen--}))
-
-SecurityPolicyIdentifier ::= OBJECT IDENTIFIER
-
-SecurityClassification ::= INTEGER {
- unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
- top-secret(5)}
-
-PrivacyMark ::= PrintableString(SIZE (1..ub-privacy-mark-length))
-
-SecurityCategories ::= SET SIZE (1..MAX) OF SecurityCategory
-
-clearance ATTRIBUTE ::= {WITH SYNTAX Clearance
- ID id-at-clearance
-}
-
-Clearance ::= SEQUENCE {
- policyId OBJECT IDENTIFIER,
- classList ClassList DEFAULT {unclassified},
- securityCategories SET SIZE (1..MAX) OF SecurityCategory OPTIONAL
-}
-
-ClassList ::= BIT STRING {
- unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
- topSecret(5)}
-
-SecurityCategory ::= SEQUENCE {
- type [0] SECURITY-CATEGORY.&id({SecurityCategoriesTable}),
- value [1] EXPLICIT SECURITY-CATEGORY.&Type({SecurityCategoriesTable}{@type})
-}
-
-SECURITY-CATEGORY ::= TYPE-IDENTIFIER
-
-SecurityCategoriesTable SECURITY-CATEGORY ::=
- {...}
-
-attributeIntegrityInfo ATTRIBUTE ::= {
- WITH SYNTAX AttributeIntegrityInfo
- ID id-at-attributeIntegrityInfo
-}
-
-AttributeIntegrityInfo ::=
- SIGNED
- {SEQUENCE {scope Scope, -- Identifies the attributes protected
- signer Signer OPTIONAL, -- Authority or data originators name
- attribsHash AttribsHash}} -- Hash value of protected attributes
-
-Signer ::= CHOICE {
- thisEntry [0] EXPLICIT ThisEntry,
- thirdParty [1] SpecificallyIdentified
-}
-
-ThisEntry ::= CHOICE {onlyOne NULL,
- specific IssuerAndSerialNumber
-}
-
-IssuerAndSerialNumber ::= SEQUENCE {
- issuer Name,
- serial CertificateSerialNumber
-}
-
-SpecificallyIdentified ::= SEQUENCE {
- name GeneralName,
- issuer GeneralName OPTIONAL,
- serial CertificateSerialNumber OPTIONAL
-}
-(WITH COMPONENTS {
- ...,
- issuer PRESENT,
- serial PRESENT
- } | (WITH COMPONENTS {
- ...,
- issuer ABSENT,
- serial ABSENT
- }))
-
-Scope ::= CHOICE {
- wholeEntry [0] NULL, -- Signature protects all attribute values in this entry
- selectedTypes [1] SelectedTypes
- -- Signature protects all attribute values of the selected attribute types
-}
-
-SelectedTypes ::= SEQUENCE SIZE (1..MAX) OF AttributeType
-
-AttribsHash ::= HASH{SEQUENCE SIZE (1..MAX) OF Attribute}
-
--- Attribute type and values with associated context values for the selected Scope
-attributeValueIntegrityInfoContext CONTEXT ::= {
- WITH SYNTAX AttributeValueIntegrityInfo
- ID id-avc-attributeValueIntegrityInfoContext
-}
-
-AttributeValueIntegrityInfo ::=
- SIGNED
- {SEQUENCE {signer Signer OPTIONAL, -- Authority or data originators name
- aVIHash AVIHash}} -- Hash value of protected attribute
-
-AVIHash ::= HASH{AttributeTypeValueContexts}
-
--- Attribute type and value with associated context values
-AttributeTypeValueContexts ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- contextList SET SIZE (1..MAX) OF Context OPTIONAL
-}
-
--- The following out-commented ASN.1 specification are know to be erroneous and are therefore deprecated.
--- EncryptedAttributeSyntax {AttributeSyntax} ::= SEQUENCE {
--- keyInfo SEQUENCE OF KeyIdOrProtectedKey,
--- encAlg AlgorithmIdentifier,
--- encValue ENCRYPTED { AttributeSyntax } }
--- KeyIdOrProtectedKey ::= SEQUENCE {
--- keyIdentifier [0] KeyIdentifier OPTIONAL,
--- protectedKeys [1] ProtectedKey OPTIONAL }
--- At least one key identifier or protected key must be present
--- ProtectedKey ::= SEQUENCE {
--- authReaders AuthReaders,-- -- if absent, use attribute in authorized reader entry
--- keyEncAlg AlgorithmIdentifier OPTIONAL, -- -- algorithm to encrypt encAttrKey
--- encAttKey EncAttKey }
--- confidentiality key protected with authorized user's
--- protection mechanism
--- AuthReaders ::= SEQUENCE OF Name
--- EncAttKey ::= PROTECTED {SymmetricKey, keyProtection}
--- SymmetricKey ::= BIT STRING
--- keyProtection PROTECTION-MAPPING ::= {
--- SECURITY-TRANSFORMATION {genEncryption} }
--- confKeyInfo ATTRIBUTE ::= {
--- WITH SYNTAX ConfKeyInfo
--- EQUALITY MATCHING RULE readerAndKeyIDMatch
--- ID id-at-confKeyInfo }
--- ConfKeyInfo ::= SEQUENCE {
--- keyIdentifier KeyIdentifier,
--- protectedKey ProtectedKey }
--- readerAndKeyIDMatch MATCHING-RULE ::= {
--- SYNTAX ReaderAndKeyIDAssertion
--- ID id-mr-readerAndKeyIDMatch }
--- ReaderAndKeyIDAssertion ::= SEQUENCE {
--- keyIdentifier KeyIdentifier,
--- authReaders AuthReaders OPTIONAL }
--- Object identifier assignments
--- attributes
-id-at-clearance OBJECT IDENTIFIER ::=
- {id-at 55}
-
--- id-at-defaultDirQop OBJECT IDENTIFIER ::= {id-at 56}
-id-at-attributeIntegrityInfo OBJECT IDENTIFIER ::=
- {id-at 57}
-
--- id-at-confKeyInfo OBJECT IDENTIFIER ::= {id-at 60}
--- matching rules
--- id-mr-readerAndKeyIDMatch OBJECT IDENTIFIER ::= {id-mr 43}
--- contexts
-id-avc-attributeValueSecurityLabelContext OBJECT IDENTIFIER ::=
- {id-avc 3}
-
-id-avc-attributeValueIntegrityInfoContext OBJECT IDENTIFIER ::= {id-avc 4}
-
-END -- EnhancedSecurity
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/External-References.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/External-References.asn
deleted file mode 100644
index 9a7d4936a6..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/External-References.asn
+++ /dev/null
@@ -1,49 +0,0 @@
--- Module External-References (T.422:08/1995)
-
-External-References {2 8 1 12 1} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-EXPORTS External-References-List, Reference-Name;
-
-IMPORTS
- Location-Expression
- FROM Location-Expressions {2 8 1 12 0}
- -- see 7.4
- DOR
- FROM DOR-definition {2 4 0}
- -- see ISO/IEC 10031-2
- DistinguishedName
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3};
-
--- see ITU-T Rec. X.501 � ISO/IEC 9594-2
-External-References-List ::=
- SET OF
- SET {reference-name [1] Reference-Name,
- external-entity [2] External-Entity,
- location-rule [3] Location-Expression OPTIONAL}
-
-Reference-Name ::= PrintableString
-
-External-Entity ::= CHOICE {
- external-info [0] External-Information-Name,
- object-id [1] OBJECT IDENTIFIER,
- dor [2] DOR,
- distinguished [3] DistinguishedName,
- associated-info [4] Associated-Information-Name
-}
-
-External-Information-Name ::= SEQUENCE {
- string [0] PrintableString,
- object-id [1] OBJECT IDENTIFIER OPTIONAL
-}
-
-Associated-Information-Name ::= SEQUENCE {
- string [0] PrintableString,
- object-id [1] OBJECT IDENTIFIER OPTIONAL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GULSProtectionMappings.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GULSProtectionMappings.asn
deleted file mode 100644
index 9b6a426ca2..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GULSProtectionMappings.asn
+++ /dev/null
@@ -1,71 +0,0 @@
--- Module GULSProtectionMappings (X.830:04/1995)
-
-GULSProtectionMappings {joint-iso-itu-t genericULS(20) modules(1)
- gulsProtectionMappings(5)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- These protection mappings are more versatile that the
--- preceding protection mappings which were specifically designed
--- to generate identical bit-encodings as the Directory
--- Authentication Framework parameterized types.
--- EXPORTS All
-IMPORTS
- notation, gulsSecurityTransformations
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- PROTECTION-MAPPING
- FROM Notation notation
- dirEncryptedTransformation, gulsSignedTransformation{},
- gulsSignatureTransformation, symmetricKeyInformation,
- asymmetricKeyInformation
- FROM GulsSecurityTransformations gulsSecurityTransformations;
-
--- **********************************
--- confidentiality Protection Mapping
--- **********************************
--- This protection mapping enables the notation
--- PROTECTED {BaseType, confidentiality}
--- to map to either dirEncryptedTransformation or to no transformation
--- at the choice of the encoding system, dependent upon local security
--- policy and other local environment considerations.
--- Security Service: confidentiality
-confidentiality PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION {dirEncryptedTransformation}
- BYPASS-PERMITTED TRUE
-}
-
--- ******************************
--- GULS signed Protection Mapping
--- ******************************
--- This protection mapping causes the notation
--- PROTECTED {BaseType, signed}
--- to map to the gulsSignedTransformation.
--- Security Service: data origin authentication, data integrity and
--- (in certain situations) non-repudiation.
-signed PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION
- {gulsSignedTransformation
- {{symmetricKeyInformation | asymmetricKeyInformation}}}
-}
-
--- *********************************
--- GULS signature Protection Mapping
--- *********************************
--- This protection mapping causes the notation
--- PROTECTED {BaseType, signature}
--- to map to the gulsSignatureTransformation.
--- Security Service: data origin authentication, data integrity and
--- (in certain situations) non-repudiation.
-signature PROTECTION-MAPPING ::= {
- SECURITY-TRANSFORMATION
- {gulsSignatureTransformation
- {{symmetricKeyInformation | asymmetricKeyInformation}}}
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GenericProtectingTransferSyntax.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GenericProtectingTransferSyntax.asn
deleted file mode 100644
index c59451dcdb..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GenericProtectingTransferSyntax.asn
+++ /dev/null
@@ -1,66 +0,0 @@
--- Module GenericProtectingTransferSyntax (X.833:04/1995)
-
-GenericProtectingTransferSyntax {joint-iso-itu-t genericULS(20) modules(1)
- genericProtectingTransferSyntax(7)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-EXPORTS SyntaxStructure{};
-
-IMPORTS
- notation
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- SECURITY-TRANSFORMATION, ExternalSAID
- FROM Notation notation;
-
-SyntaxStructure{SECURITY-TRANSFORMATION:ValidSTs} ::= CHOICE {
- firstPdvExplicit FirstPdvExplicit{{ValidSTs}},
- -- To be used on the first PDV of a protecting presentation
- -- context, or a protected PDV sent outside a presentation
- -- context, in the case of a presentation-context-bound or
- -- single-item-bound security association.
- firstPdvExternal FirstPdvExternal{{ValidSTs}},
- -- To be used on the first PDV of a protecting presentation
- -- context, or a protected PDV sent outside a presentation
- -- context, in the case of an externally established
- -- security association.
- subsequentPdv SubsequentPdv{{ValidSTs}}
- -- To be used on a subsequent PDV in a protecting
- -- presentation context.
-}
-
-FirstPdvExplicit{SECURITY-TRANSFORMATION:ValidSTs} ::= SEQUENCE {
- transformationId SECURITY-TRANSFORMATION.&sT-Identifier({ValidSTs}),
- staticUnprotParm
- SECURITY-TRANSFORMATION.&StaticUnprotectedParm
- ({ValidSTs}{@transformationId}) OPTIONAL,
- dynamicUnprotParm
- SECURITY-TRANSFORMATION.&DynamicUnprotectedParm
- ({ValidSTs}{@transformationId}) OPTIONAL,
- xformedData
- SECURITY-TRANSFORMATION.&XformedDataType({ValidSTs}{@transformationId})
-}
-
-FirstPdvExternal{SECURITY-TRANSFORMATION:ValidSTs} ::= SEQUENCE {
- externalSAID ExternalSAID,
- dynamicUnprotParm
- SECURITY-TRANSFORMATION.&DynamicUnprotectedParm({ValidSTs}) OPTIONAL,
- -- Actual member of ValidSTs is as implied
- -- by externalSAID
- xformedData SECURITY-TRANSFORMATION.&XformedDataType({ValidSTs})
- -- Actual member of ValidSTs is as implied
- -- by externalSAID
-}
-
-SubsequentPdv{SECURITY-TRANSFORMATION:ValidSTs} ::= SEQUENCE {
- dynamicUnprotParm
- SECURITY-TRANSFORMATION.&DynamicUnprotectedParm({ValidSTs}) OPTIONAL,
- xformedData SECURITY-TRANSFORMATION.&XformedDataType({ValidSTs})
- -- Actual member of ValidSTs is implied
- -- by presentation context
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Coding-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Coding-Attributes.asn
deleted file mode 100644
index 60acbb3b5c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Coding-Attributes.asn
+++ /dev/null
@@ -1,16 +0,0 @@
--- Module Geo-Gr-Coding-Attributes (T.418:03/1993)
-
-Geo-Gr-Coding-Attributes {2 8 1 8 3} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Geo-Gr-Coding-Attributes;
-
-Geo-Gr-Coding-Attributes ::= SET {
-}
-
--- no geometric graphics coding attributes are defined
--- in this Specification
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Presentation-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Presentation-Attributes.asn
deleted file mode 100644
index 84c1ee9851..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Presentation-Attributes.asn
+++ /dev/null
@@ -1,265 +0,0 @@
--- Module Geo-Gr-Presentation-Attributes (T.418:03/1993)
-
-Geo-Gr-Presentation-Attributes {2 8 1 8 2} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-EXPORTS
- Geometric-Graphics-Attributes, Line-Rendition, Marker-Rendition,
- Text-Rendition, Filled-Area-Rendition, Edge-Rendition,
- Colour-Representations, Transparency-Specification,
- Transformation-Specification, Region-Of-Interest-Specification,
- Picture-Orientation, Picture-Dimensions, ASF-Type, VDC-Pair,
- One-Of-Four-Angles;
-
-Geometric-Graphics-Attributes ::= SET {
- line-rendition [1] Line-Rendition OPTIONAL,
- marker-rendition [2] Marker-Rendition OPTIONAL,
- text-rendition [3] Text-Rendition OPTIONAL,
- filled-area-rendition [4] Filled-Area-Rendition OPTIONAL,
- edge-rendition [5] Edge-Rendition OPTIONAL,
- colour-representations [6] Colour-Representations OPTIONAL,
- transparency-specification [7] Transparency-Specification OPTIONAL,
- transformation-specification [8] Transformation-Specification OPTIONAL,
- region-of-interest-specification
- [9] Region-Of-Interest-Specification OPTIONAL,
- picture-orientation [10] Picture-Orientation OPTIONAL,
- picture-dimensions [11] Picture-Dimensions OPTIONAL
-}
-
-ASF-Type ::= ENUMERATED {bundled(0), individual(1)}
-
-Colour ::= CHOICE {indexed [0] INTEGER,
- direct [1] RGB
-}
-
-RGB ::= SEQUENCE {red REAL,
- green REAL,
- blue REAL
-}
-
-SpecificationMode ::= ENUMERATED {absolute(0), scaled(1)}
-
-Line-Rendition ::= SEQUENCE {
- line-width-specification-mode [0] SpecificationMode OPTIONAL,
- line-bundle-index [1] INTEGER OPTIONAL,
- line-type [2] INTEGER OPTIONAL,
- line-width [3] Scaled-or-Absolute OPTIONAL,
- line-colour [4] Colour OPTIONAL,
- line-aspect-source-flags
- [5] SEQUENCE {line-type-asf ASF-Type,
- line-width-asf ASF-Type,
- line-colour-asf ASF-Type} OPTIONAL,
- line-bundle-specifications
- [6] SEQUENCE OF
- SEQUENCE {line-bundle-index INTEGER,
- line-bundle-representation
- SEQUENCE {line-type INTEGER,
- line-width Scaled-or-Absolute,
- line-colour Colour}} OPTIONAL
-}
-
-Scaled-or-Absolute ::= CHOICE {
- absolute
- [0] CHOICE { -- absolute--vdc-int [0] INTEGER, -- for VDC Type INTEGER--
- vdc-real [1] REAL}, -- for VDC Type REAL
- scaled [1] REAL
-} -- scaled
-
-Marker-Rendition ::= SEQUENCE {
- marker-size-specification-mode [0] SpecificationMode OPTIONAL,
- marker-bundle-index [1] INTEGER OPTIONAL,
- marker-type [2] INTEGER OPTIONAL,
- marker-size [3] Scaled-or-Absolute OPTIONAL,
- marker-colour [4] Colour OPTIONAL,
- marker-aspect-source-flags
- [5] SEQUENCE {marker-type-asf ASF-Type,
- marker-size-asf ASF-Type,
- marker-colour-asf ASF-Type} OPTIONAL,
- marker-bundle-specifications
- [6] SEQUENCE OF
- SEQUENCE {marker-bundle-index INTEGER,
- marker-bundle-representation
- SEQUENCE {marker-type INTEGER,
- marker-size Scaled-or-Absolute,
- marker-colour Colour}} OPTIONAL
-}
-
-Text-Rendition ::= SEQUENCE {
- font-list [0] SEQUENCE OF GeneralString OPTIONAL,
- character-set-list
- [1] SEQUENCE {character-set-type
- ENUMERATED {n94-char-sets(0), n96-char-sets(1),
- n94-char-multibyte-sets(2),
- n96-char-multibyte-sets(3), comp-code(4)},
- designation-sequence-tail GeneralString} OPTIONAL,
- character-coding-announcer
- [2] ENUMERATED {basic-7-bit(0), basic-8-bit(1), extended-7-bit(2),
- extended-8-bit(3)} OPTIONAL,
- text-bundle-index [3] INTEGER OPTIONAL,
- text-font-index [4] INTEGER OPTIONAL,
- text-precision
- [5] ENUMERATED {string(0), character(1), stroke(2)} OPTIONAL,
- character-expansion-factor [6] REAL OPTIONAL,
- character-spacing [7] REAL OPTIONAL,
- text-colour [8] Colour OPTIONAL,
- character-height [9] VDC-Value OPTIONAL,
- character-orientation [10] SEQUENCE {a VDC-Pair,
- b VDC-Pair} OPTIONAL,
- text-path
- [11] ENUMERATED {right(0), left(1), up(2), down(3)} OPTIONAL,
- text-alignment
- [12] SEQUENCE {horizontal-alignment
- ENUMERATED {normal-horizontal(0), left(1), centre(2),
- right(3), continuous-horizontal(4)},
- vertical-alignment
- ENUMERATED {normal-vertical(0), top(1), cap(2),
- half(3), base(4), bottom(5),
- continuous-vertical(6)},
- continuous-horizontal-alignment [0] REAL OPTIONAL,
- continuous-vertical-alignment [1] REAL OPTIONAL
- } OPTIONAL,
- character-set-index [13] INTEGER OPTIONAL,
- alternate-character-set-index [14] INTEGER OPTIONAL,
- text-aspect-source-flags
- [15] SEQUENCE {text-font-asf ASF-Type,
- text-precision-asf ASF-Type,
- character-expansion-factor-asf ASF-Type,
- character-spacing-asf ASF-Type,
- text-colour-asf ASF-Type} OPTIONAL,
- text-bundle-specifications
- [16] SEQUENCE OF
- SEQUENCE {text-bundle-index INTEGER,
- text-bundle-representation
- SEQUENCE {text-font-index INTEGER,
- text-precision
- ENUMERATED {string(0), character(1),
- stroke(2)},
- character-expansion-factor REAL,
- character-spacing REAL,
- text-colour Colour}
- } OPTIONAL
-}
-
-VDC-Value ::= CHOICE {a INTEGER,
- b REAL
-}
-
-VDC-Pair ::= SEQUENCE {x VDC-Value,
- y VDC-Value
-}
-
-Filled-Area-Rendition ::= SEQUENCE {
- fill-bundle-index [1] INTEGER OPTIONAL,
- interior-style
- [2] ENUMERATED {hollow(0), solid(1), pattern(2), hatch(3), empty(4)}
- OPTIONAL,
- fill-colour [3] Colour OPTIONAL,
- hatch-index [4] INTEGER OPTIONAL,
- pattern-index [5] INTEGER OPTIONAL,
- fill-reference-point [6] VDC-Pair OPTIONAL,
- pattern-size
- [7] SEQUENCE {height-x-component VDC-Value,
- height-y-component VDC-Value,
- width-x-component VDC-Value,
- width-y-component VDC-Value} OPTIONAL,
- pattern-table-specifications [8] SEQUENCE OF PatternTableElement OPTIONAL,
- fill-aspect-source-flags
- [9] SEQUENCE {interior-style-asf ASF-Type,
- fill-colour-asf ASF-Type,
- hatch-index-asf ASF-Type,
- pattern-index-asf ASF-Type} OPTIONAL,
- fill-bundle-specifications
- [10] SEQUENCE {fill-bundle-index INTEGER,
- fill-bundle-representation
- SEQUENCE {interior-style
- ENUMERATED {hollow(0), solid(1), pattern(2),
- hatch(3), empty(4)},
- fill-colour Colour,
- hatch-index INTEGER,
- patttern-index INTEGER}} OPTIONAL
-}
-
-PatternTableElement ::= SEQUENCE {
- pattern-table-index INTEGER,
- nx INTEGER,
- ny INTEGER,
- local-colour-precision INTEGER,
- colour SEQUENCE OF Colour
-}
-
-Edge-Rendition ::= SEQUENCE {
- edge-width-spec-mode [0] SpecificationMode OPTIONAL,
- edge-visibility [1] On-or-Off OPTIONAL,
- edge-bundle-index [2] INTEGER OPTIONAL,
- edge-type [3] INTEGER OPTIONAL,
- edge-width [4] Scaled-or-Absolute OPTIONAL,
- edge-colour [5] Colour OPTIONAL,
- edge-aspect-source-flags
- [6] SEQUENCE {edge-type-asf ASF-Type,
- edge-width-asf ASF-Type,
- edge-colour-asf ASF-Type} OPTIONAL,
- edge-bundle-specifications
- [7] SEQUENCE OF
- SEQUENCE {edge-bundle-index INTEGER,
- edge-bundle-representation
- SEQUENCE {edge-type INTEGER,
- edge-width Scaled-or-Absolute,
- edge-colour Colour}} OPTIONAL
-}
-
-On-or-Off ::= ENUMERATED {off(0), on(1)}
-
-Colour-Representations ::= SEQUENCE {
- background-colour [0] RGB OPTIONAL,
- colour-table-specification
- [1] SEQUENCE OF
- SEQUENCE {starting-index INTEGER,
- colour-list SEQUENCE OF RGB} OPTIONAL
-}
-
-Transparency-Specification ::= SEQUENCE {
- transparency [0] On-or-Off OPTIONAL,
- auxiliary-colour [1] Colour OPTIONAL
-}
-
-Transformation-Specification ::= SEQUENCE {
- vdc-extent [0] Rectangle OPTIONAL,
- clip-rectangle [1] Rectangle OPTIONAL,
- clip-indicator [2] On-or-Off OPTIONAL
-}
-
-Rectangle ::= SEQUENCE {first-corner VDC-Pair,
- second-corner VDC-Pair
-}
-
-Region-Of-Interest-Specification ::= CHOICE {
- automatic [0] NULL,
- rectangle [1] SEQUENCE {a VDC-Pair,
- b VDC-Pair}
-}
-
-Picture-Orientation ::= One-Of-Four-Angles
-
-One-Of-Four-Angles ::= ENUMERATED {d0(0), d90(1), d180(2), d270(3)}
-
-Picture-Dimensions ::= CHOICE {
- width-controlled
- [0] SEQUENCE {minimum-width INTEGER,
- preferred-width INTEGER},
- height-controlled
- [1] SEQUENCE {minimum-height INTEGER,
- preferred-height INTEGER},
- area-controlled
- [2] SEQUENCE {minimum-width INTEGER,
- preferred-width INTEGER,
- minimum-height INTEGER,
- preferred-height INTEGER,
- aspect-ratio-flag ENUMERATED {fixed(0), variable(1)}
- },
- automatic [3] NULL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Profile-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Profile-Attributes.asn
deleted file mode 100644
index 28daa467e1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Geo-Gr-Profile-Attributes.asn
+++ /dev/null
@@ -1,44 +0,0 @@
--- Module Geo-Gr-Profile-Attributes (T.418:03/1993)
-
-Geo-Gr-Profile-Attributes {2 8 1 8 4} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-EXPORTS
- Geo-Gr-Presentation-Feature, Geo-Gr-Coding-Attribute, Geo-Gr-Content-Defaults;
-
-IMPORTS
- Line-Rendition, Marker-Rendition, Text-Rendition, Filled-Area-Rendition,
- Edge-Rendition, Colour-Representations, Transparency-Specification,
- Transformation-Specification, Region-Of-Interest-Specification,
- Picture-Orientation, Picture-Dimensions, ASF-Type, VDC-Pair,
- One-Of-Four-Angles
- FROM Geo-Gr-Presentation-Attributes {2 8 1 8 2}; -- see 10.2
-
-Geo-Gr-Presentation-Feature ::= CHOICE {
- null NULL,
- text-rendition [3] Text-Rendition
-}
-
-Geo-Gr-Coding-Attribute ::= NULL
-
--- no non-basic values are defined for the
--- geometric graphics coding attributes in this Specification
-Geo-Gr-Content-Defaults ::= SET {
- line-rendition [1] Line-Rendition OPTIONAL,
- marker-rendition [2] Marker-Rendition OPTIONAL,
- text-rendition [3] Text-Rendition OPTIONAL,
- filled-area-rendition [4] Filled-Area-Rendition OPTIONAL,
- edge-rendition [5] Edge-Rendition OPTIONAL,
- colour-representations [6] Colour-Representations OPTIONAL,
- transparency-specification [7] Transparency-Specification OPTIONAL,
- transformation-specification [8] Transformation-Specification OPTIONAL,
- region-of-interest-specification
- [9] Region-Of-Interest-Specification OPTIONAL,
- picture-orientation [10] Picture-Orientation OPTIONAL,
- picture-dimensions [11] Picture-Dimensions OPTIONAL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GulsSecurityExchanges.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GulsSecurityExchanges.asn
deleted file mode 100644
index 336b824174..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GulsSecurityExchanges.asn
+++ /dev/null
@@ -1,79 +0,0 @@
--- Module GulsSecurityExchanges (X.830:04/1995)
-
-GulsSecurityExchanges {joint-iso-itu-t genericULS(20) modules(1)
- gulsSecurityExchanges(2)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS All
-IMPORTS
- securityExchanges, notation
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- SECURITY-EXCHANGE, SEC-EXCHG-ITEM, SE-ERROR
- FROM Notation notation
- Credentials, SecurityProblem
- FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
- directoryAbstractService(2) 3};
-
--- *******************************************
--- Directory Authentication Exchange (One-way)
--- *******************************************
-dirAuthenticationOneWay SECURITY-EXCHANGE ::= {
- SE-ITEMS {credentials}
- IDENTIFIER global:{securityExchanges dir-authent-one-way(1)}
-}
-
-credentials SEC-EXCHG-ITEM ::= {
- ITEM-TYPE DirectoryAbstractService.Credentials
- ITEM-ID 1
-}
-
--- *******************************************
--- Directory Authentication Exchange (Two-way)
--- *******************************************
-dirAuthenticationTwoWay SECURITY-EXCHANGE ::= {
- SE-ITEMS {initiatorCredentials | responderCredentials}
- IDENTIFIER global:{securityExchanges dir-authent-two-way(2)}
-}
-
-initiatorCredentials SEC-EXCHG-ITEM ::= {
- ITEM-TYPE DirectoryAbstractService.Credentials
- ITEM-ID 1
- ERRORS {authenticationFailure}
-}
-
-responderCredentials SEC-EXCHG-ITEM ::= {
- ITEM-TYPE DirectoryAbstractService.Credentials
- ITEM-ID 2
-}
-
-authenticationFailure SE-ERROR ::= {
- PARAMETER DirectoryAbstractService.SecurityProblem
- ERROR-CODE local:1
-}
-
--- ***************************
--- Simple Negotiation Exchange
--- ***************************
-simpleNegotiationSE SECURITY-EXCHANGE ::= {
- SE-ITEMS {offeredIds | acceptedIds}
- IDENTIFIER global:{securityExchanges simple-negotiation-se(3)}
-}
-
-offeredIds SEC-EXCHG-ITEM ::= {ITEM-TYPE Negotiation-SEI
- ITEM-ID 1
-}
-
-acceptedIds SEC-EXCHG-ITEM ::= {ITEM-TYPE Negotiation-SEI
- ITEM-ID 2
-}
-
-Negotiation-SEI ::= SEQUENCE OF OBJECT IDENTIFIER
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GulsSecurityTransformations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GulsSecurityTransformations.asn
deleted file mode 100644
index db2725c37d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/GulsSecurityTransformations.asn
+++ /dev/null
@@ -1,212 +0,0 @@
--- Module GulsSecurityTransformations (X.830:04/1995)
-
-GulsSecurityTransformations {joint-iso-itu-t genericULS(20) modules(1)
- gulsSecurityTransformations(3)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS All
-IMPORTS
- securityTransformations, notation
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- SECURITY-TRANSFORMATION, SecurityIdentity
- FROM Notation notation
- AlgorithmIdentifier
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3};
-
--- ***************************************
--- Notation for specifying key information
--- ***************************************
-KEY-INFORMATION ::=
- CLASS
- -- This information object class definition is for use when
- -- specifying key information relating to particular classes
- -- of protection mechanisms (e.g. symmetric, asymmetric).
- -- It may be useful in defining various security transformations.
- {
- &kiClass CHOICE {local INTEGER,
- -- local objects can only be defined within this
- -- ASN.1 module.
- global OBJECT IDENTIFIER
- -- global objects are defined elsewhere
- } UNIQUE,
- &KiType
-}WITH SYNTAX {KEY-INFO-CLASS &kiClass
- KEY-INFO-TYPE &KiType
-}
-
-symmetricKeyInformation KEY-INFORMATION ::= {
- KEY-INFO-CLASS local:0
- KEY-INFO-TYPE
- SEQUENCE {entityId SecurityIdentity,
- keyIdentifier INTEGER}
-}
-
-asymmetricKeyInformation KEY-INFORMATION ::= {
- KEY-INFO-CLASS local:1
- KEY-INFO-TYPE
- SEQUENCE {issuerCAName SecurityIdentity OPTIONAL,
- certSerialNumber INTEGER OPTIONAL,
- signerName SecurityIdentity OPTIONAL,
- keyIdentifier BIT STRING OPTIONAL}
-}
-
--- *******************************************
--- Directory ENCRYPTED Security Transformation
--- *******************************************
-dirEncryptedTransformation SECURITY-TRANSFORMATION ::= {
- IDENTIFIER {securityTransformations dir-encrypted(1)}
- -- This transformation transforms a string of octets to a
- -- new bit string using an encipherment process.
- INITIAL-ENCODING-RULES {joint-iso-itu-t asn1(1) ber(1)}
- XFORMED-DATA-TYPE BIT STRING
-}
-
--- ****************************************
--- Directory SIGNED Security Transformation
--- ****************************************
-dirSignedTransformation SECURITY-TRANSFORMATION ::= {
- IDENTIFIER {securityTransformations dir-signed(2)}
- INITIAL-ENCODING-RULES
- {joint-iso-itu-t asn1(1) ber-derived(2) distinguished-encoding(1)}
- XFORMED-DATA-TYPE
- SEQUENCE {toBeSigned
- ABSTRACT-SYNTAX.&Type
- (CONSTRAINED BY {
-
- -- this type is constrained to being the to-be-signed type -- }),
- algorithmId AlgorithmIdentifier,
- -- of the algorithms used to compute the signature
- encipheredHash BIT STRING}
-}
-
--- *******************************************
--- Directory SIGNATURE Security Transformation
--- *******************************************
-dirSignatureTransformation SECURITY-TRANSFORMATION ::= {
- IDENTIFIER {securityTransformations dir-signature(3)}
- INITIAL-ENCODING-RULES
- {joint-iso-itu-t asn1(1) ber-derived(2) distinguished-encoding(1)}
- XFORMED-DATA-TYPE
- SEQUENCE {algorithmId AlgorithmIdentifier,
- -- of the algorithms used to compute the signature
- encipheredHash BIT STRING}
-}
-
--- ***********************************
--- GULS SIGNED Security Transformation
--- ***********************************
-gulsSignedTransformation{KEY-INFORMATION:SupportedKIClasses}
- SECURITY-TRANSFORMATION ::= {
- IDENTIFIER {securityTransformations guls-signed(4)}
- INITIAL-ENCODING-RULES
- {joint-iso-itu-t asn1(1) ber-derived(2) canonical-encoding(0)}
- -- This default for initial encoding rules may be overridden
- -- using a static protected parameter (initEncRules).
- XFORMED-DATA-TYPE
- SEQUENCE {intermediateValue
- EMBEDDED PDV
- (WITH COMPONENTS {
- identification (WITH COMPONENTS {
- transfer-syntax (CONSTRAINED BY {
- -- The transfer syntax to be used is that
- -- indicated by the initEncRules value within
- -- the intermediate value -- })PRESENT
- }),
- data-value (CONTAINING IntermediateType{{SupportedKIClasses}})
-
- -- The data value encoded is a value of type
- -- IntermediateType
- }),
- appendix
- BIT STRING
- (CONSTRAINED BY {
- -- the appendix value must be generated following
- -- the procedure specified in D.4 of DIS 11586-1 -- })
- }
-}
-
-IntermediateType{KEY-INFORMATION:SupportedKIClasses} ::= SEQUENCE {
- unprotectedItem ABSTRACT-SYNTAX.&Type-- this type is constrained to being
- -- the type of the unprotected item, or
- -- BIT STRING if the unprotected item is
- -- not derived from an ASN.1 abstract
- -- syntax --,
- initEncRules
- OBJECT IDENTIFIER
- DEFAULT {joint-iso-itu-t asn1(1) ber-derived(2) canonical-encoding(0)},
- signOrSealAlgorithm AlgorithmIdentifier OPTIONAL,
- -- Identifies the signing or
- -- sealing algorithm, and can convey
- -- algorithm parameters
- hashAlgorithm AlgorithmIdentifier OPTIONAL,
- -- Identifies a hash function,
- -- for use if a hash function is required
- -- and the signOrSealAlgorithm identifier
- -- does not imply a particular hash
- -- function. Can also convey algorithm
- -- parameters.
- keyInformation
- SEQUENCE {kiClass KEY-INFORMATION.&kiClass({SupportedKIClasses}),
- keyInfo KEY-INFORMATION.&KiType({SupportedKIClasses}{@.kiClass})
- } OPTIONAL
- -- Key information may assume various
- -- formats, governed by supported members
- -- of the KEY-INFORMATION information
- -- object class (defined at start of the
- -- definitive ASN.1 module)
-}
-
--- **************************************
--- GULS SIGNATURE Security Transformation
--- **************************************
-gulsSignatureTransformation{KEY-INFORMATION:SupportedKIClasses}
- SECURITY-TRANSFORMATION ::= {
- IDENTIFIER {securityTransformations guls-signature(5)}
- INITIAL-ENCODING-RULES
- {joint-iso-itu-t asn1(1) ber-derived(2) canonical-encoding(0)}
- -- This default for initial encoding rules may be overridden
- -- using a static protected parameter (initEncRules).
- XFORMED-DATA-TYPE
- SEQUENCE {initEncRules
- OBJECT IDENTIFIER
- DEFAULT
- {joint-iso-itu-t asn1(1) ber-derived(2)
- canonical-encoding(0)},
- signOrSealAlgorithm AlgorithmIdentifier OPTIONAL,
- -- Identifies the signing or
- -- sealing algorithm, and can convey
- -- algorithm parameters
- hashAlgorithm AlgorithmIdentifier OPTIONAL,
- -- Identifies a hash function,
- -- for use if a hash function is required
- -- and the signOrSealAlgorithm identifier
- -- does not imply a particular hash
- -- function. Can also convey algorithm parameters.
- keyInformation
- SEQUENCE {kiClass
- KEY-INFORMATION.&kiClass({SupportedKIClasses}),
- keyInfo
- KEY-INFORMATION.&KiType
- ({SupportedKIClasses}{@.kiClass})} OPTIONAL,
- -- Key information may assume various
- -- formats, governed by supported members
- -- of the KEY-INFORMATION information
- -- object class (defined at start of the
- -- definitive ASN.1 module)
- appendix
- BIT STRING
- (CONSTRAINED BY {
- -- the appendix value must be generated following
- -- the procedure specified in D.5 of DIS 11586-1 -- })
- }
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/HierarchicalOperationalBindings.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/HierarchicalOperationalBindings.asn
deleted file mode 100644
index 4e0084b079..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/HierarchicalOperationalBindings.asn
+++ /dev/null
@@ -1,123 +0,0 @@
--- Module HierarchicalOperationalBindings (X.518 TC2:08/1997)
-
-HierarchicalOperationalBindings {joint-iso-itu-t ds(5) module(1)
- hierarchicalOperationalBindings(20) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, distributedOperations,
- directoryOperationalBindingTypes, opBindingManagement, dsp
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, RelativeDistinguishedName, DistinguishedName
- FROM InformationFramework informationFramework
- MasterAndShadowAccessPoints
- FROM DistributedOperations distributedOperations
- directorySystemAC
- FROM DirectorySystemProtocol dsp
- OPERATIONAL-BINDING
- FROM OperationalBindingManagement opBindingManagement
- id-op-binding-hierarchical, id-op-binding-non-specific-hierarchical
- FROM DirectoryOperationalBindingTypes directoryOperationalBindingTypes;
-
--- types
-HierarchicalAgreement ::= SEQUENCE {
- rdn [0] RelativeDistinguishedName,
- immediateSuperior [1] DistinguishedName
-}
-
-NonSpecificHierarchicalAgreement ::= SEQUENCE {
- immediateSuperior [1] DistinguishedName
-}
-
-SuperiorToSubordinate ::= SEQUENCE {
- contextPrefixInfo [0] DITcontext,
- entryInfo [1] SET (SIZE (1..MAX)) OF Attribute OPTIONAL,
- immediateSuperiorInfo [2] SET (SIZE (1..MAX)) OF Attribute OPTIONAL
-}
-
-DITcontext ::= SEQUENCE OF Vertex
-
-Vertex ::= SEQUENCE {
- rdn [0] RelativeDistinguishedName,
- admPointInfo [1] SET (SIZE (1..MAX)) OF Attribute OPTIONAL,
- subentries [2] SET (SIZE (1..MAX)) OF SubentryInfo OPTIONAL,
- accessPoints [3] MasterAndShadowAccessPoints OPTIONAL
-}
-
-SubentryInfo ::= SEQUENCE {
- rdn [0] RelativeDistinguishedName,
- info [1] SET OF Attribute
-}
-
-SubordinateToSuperior ::= SEQUENCE {
- accessPoints [0] MasterAndShadowAccessPoints OPTIONAL,
- alias [1] BOOLEAN DEFAULT FALSE,
- entryInfo [2] SET (SIZE (1..MAX)) OF Attribute OPTIONAL,
- subentries [3] SET (SIZE (1..MAX)) OF SubentryInfo OPTIONAL
-}
-
-SuperiorToSubordinateModification ::=
- SuperiorToSubordinate(WITH COMPONENTS {
- ...,
- entryInfo ABSENT
- })
-
-NHOBSuperiorToSubordinate ::=
- SuperiorToSubordinate(WITH COMPONENTS {
- ...,
- entryInfo ABSENT
- })
-
-NHOBSubordinateToSuperior ::= SEQUENCE {
- accessPoint [0] MasterAndShadowAccessPoints OPTIONAL,
- subentries [3] SET (SIZE (1..MAX)) OF SubentryInfo OPTIONAL
-}
-
--- operational binding information objects
-hierarchicalOperationalBinding OPERATIONAL-BINDING ::= {
- AGREEMENT HierarchicalAgreement
- -- APPLICATION CONTEXTS {{directorySystemAC}}
- APPLICATION CONTEXTS {directorySystemAC}
- ASYMMETRIC ROLE-A
- { -- superior DSAESTABLISHMENT-INITIATOR TRUE
- ESTABLISHMENT-PARAMETER SuperiorToSubordinate
- MODIFICATION-INITIATOR TRUE
- MODIFICATION-PARAMETER SuperiorToSubordinateModification
- TERMINATION-INITIATOR TRUE}
- ROLE-B
- { -- subordinate DSAESTABLISHMENT-INITIATOR TRUE
- ESTABLISHMENT-PARAMETER SubordinateToSuperior
- MODIFICATION-INITIATOR TRUE
- MODIFICATION-PARAMETER SubordinateToSuperior
- TERMINATION-INITIATOR TRUE}
- ID id-op-binding-hierarchical
-}
-
-nonSpecificHierarchicalOperationalBinding OPERATIONAL-BINDING ::= {
- AGREEMENT NonSpecificHierarchicalAgreement
- -- APPLICATION CONTEXTS {{directorySystemAC}}
- APPLICATION CONTEXTS {directorySystemAC}
- ASYMMETRIC ROLE-A
- { -- superior DSAESTABLISHMENT-PARAMETER NHOBSuperiorToSubordinate
- MODIFICATION-INITIATOR TRUE
- MODIFICATION-PARAMETER NHOBSuperiorToSubordinate
- TERMINATION-INITIATOR TRUE}
- ROLE-B
- { -- subordinate DSAESTABLISHMENT-INITIATOR TRUE
- ESTABLISHMENT-PARAMETER NHOBSubordinateToSuperior
- MODIFICATION-INITIATOR TRUE
- MODIFICATION-PARAMETER NHOBSubordinateToSuperior
- TERMINATION-INITIATOR TRUE}
- ID id-op-binding-non-specific-hierarchical
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSAbstractService.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSAbstractService.asn
deleted file mode 100644
index 3fec8ae64a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSAbstractService.asn
+++ /dev/null
@@ -1,148 +0,0 @@
--- Module IPMSAbstractService (X.420:06/1999)
-IPMSAbstractService {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- abstract-service(3) version-1994(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- AutoForwardComment, Heading, InformationObject, IPM, NRN, ON, RN
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-pt-management, id-pt-origination, id-pt-reception
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MTS Abstract Service
- ABSTRACT-ERROR, ABSTRACT-OPERATION, MessageDeliveryEnvelope,
- MessageSubmissionEnvelope, MessageSubmissionIdentifier,
- MessageSubmissionTime, ORName, PORT, ProbeSubmissionEnvelope,
- ProbeSubmissionIdentifier, ProbeSubmissionTime,
- recipient-improperly-specified, ReportDeliveryEnvelope,
- SupplementaryInformation
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- Ports
-origination PORT ::= {
- CONSUMER INVOKES
- {originate-probe | originate-ipm | originate-rn | originate-on}
- ID id-pt-origination
-}
-
-reception PORT ::= {
- SUPPLIER INVOKES
- {receive-report | receive-ipm | receive-rn | receive-nrn | receive-on}
- ID id-pt-reception
-}
-
-management PORT ::= {
- CONSUMER INVOKES
- {change-auto-discard | change-auto-acknowledgment | change-auto-forwarding}
- ID id-pt-management
-}
-
--- Origination abstract operations
-originate-probe ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] ProbeSubmissionEnvelope,
- content [1] IPM}
- RESULT
- SET {submission-identifier [0] ProbeSubmissionIdentifier,
- submission-time [1] ProbeSubmissionTime}
- ERRORS {subscription-error | recipient-improperly-specified}
-}
-
-originate-ipm ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageSubmissionEnvelope,
- content [1] IPM}
- RESULT
- SET {submission-identifier [0] MessageSubmissionIdentifier,
- submission-time [1] MessageSubmissionTime}
- ERRORS {subscription-error | recipient-improperly-specified}
-}
-
-originate-rn ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageSubmissionEnvelope,
- content [1] RN}
- RESULT
- SET {submission-identifier [0] MessageSubmissionIdentifier,
- submission-time [1] MessageSubmissionTime}
- ERRORS {subscription-error | recipient-improperly-specified}
-}
-
-originate-on ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageSubmissionEnvelope,
- content [1] ON}
- RESULT
- SET {submission-identifier [0] MessageSubmissionIdentifier,
- submission-time [1] MessageSubmissionTime}
- ERRORS {subscription-error | recipient-improperly-specified}
-}
-
--- Reception abstract operations
-receive-report ABSTRACT-OPERATION ::= {
- ARGUMENT
- SET {envelope [0] ReportDeliveryEnvelope,
- undelivered-object [1] InformationObject OPTIONAL}
-}
-
-receive-ipm ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageDeliveryEnvelope,
- content [1] IPM}
-}
-
-receive-rn ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageDeliveryEnvelope,
- content [1] RN}
-}
-
-receive-nrn ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageDeliveryEnvelope,
- content [1] NRN}
-}
-
-receive-on ABSTRACT-OPERATION ::= {
- ARGUMENT SET {envelope [0] MessageDeliveryEnvelope,
- content [1] ON}
-}
-
--- Management abstract operations
-change-auto-discard ABSTRACT-OPERATION ::= {
- ARGUMENT
- SET {auto-discard-expired-IPMs [0] BOOLEAN,
- auto-discard-obsolete-IPMs [1] BOOLEAN}
-}
-
-change-auto-acknowledgment ABSTRACT-OPERATION ::= {
- ARGUMENT
- SET {auto-acknowledge-IPMs [0] BOOLEAN,
- auto-acknowledge-suppl-receipt-info
- [1] SupplementaryInformation OPTIONAL}
- ERRORS {subscription-error}
-}
-
-change-auto-forwarding ABSTRACT-OPERATION ::= {
- ARGUMENT
- SET {auto-forward-IPMs [0] BOOLEAN,
- auto-forward-recipients [1] SEQUENCE OF ORName OPTIONAL,
- auto-forward-heading [2] Heading OPTIONAL,
- auto-forward-comment [3] AutoForwardComment OPTIONAL}
- ERRORS {subscription-error | recipient-improperly-specified}
-}
-
--- Abstract errors
-subscription-error ABSTRACT-ERROR ::= {
- PARAMETER SET {problem [0] SubscriptionProblem}
-}
-
-SubscriptionProblem ::= ENUMERATED {
- ipms-eos-not-subscribed(0), mts-eos-not-subscribed(1)}
-
-END -- of IPMSAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSAutoActionTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSAutoActionTypes.asn
deleted file mode 100644
index 8c0c8138e2..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSAutoActionTypes.asn
+++ /dev/null
@@ -1,234 +0,0 @@
--- Module IPMSAutoActionTypes (X.420:06/1999)
-IPMSAutoActionTypes {joint-iso-itu-t mhs(6) ipms(1) modules(0) auto-actions(13)
- version-1999(1)} DEFINITIONS EXPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- AdviceNotifications, AutoForwardComment, BodyPart, Heading, IA5TextBodyPart,
- IPMSExtension, SupplReceiptInfoField
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Upper Bounds
- ub-ipm-identifier-suffix
- --==
- FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- upper-bounds(10) version-1999(1)}
- -- IPMS Object Identifiers
- id-aa-ipm-auto-acknowledgement, id-aa-ipm-auto-advise,
- id-aa-ipm-auto-correlate, id-aa-ipm-auto-discard,
- id-aae-auto-discard-error, id-aae-auto-forwarding-loop,
- id-aae-duplicate-ipn
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Auto-action information object class
- AUTO-ACTION,
- AUTO-ACTION-ERROR,
- -- MS Abstract Service data-types and abstract-errors
- Filter, EntryInformationSelection, ms-extension-error, MSSubmissionOptions,
- service-error
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- MS object identifier
- id-act-ipm-auto-forward
- --==
- FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MTS Abstract Service data-types and abstract-errors
- ContentIdentifier, DeferredDeliveryTime, element-of-service-not-subscribed,
- ExplicitConversion, ExtensionField{}, inconsistent-request,
- MessageSubmissionEnvelope, originator-invalid, OriginatorName,
- OriginatorReportRequest, PerMessageIndicators,
- PerMessageSubmissionExtensions, PerRecipientMessageSubmissionExtensions,
- Priority, recipient-improperly-specified, RecipientName, remote-bind-error,
- security-error, submission-control-violated, unsupported-critical-function
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- MTS upper bounds
- ub-recipients
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)};
-
--- IPM auto-actions information object set
-IPMAutoActions AUTO-ACTION ::=
- {ipm-auto-forward, ... -- 1994 extension additions --,
- ipm-auto-acknowledgement | ipm-auto-correlate | ipm-auto-discard |
- ipm-auto-advise}
-
--- Auto-actions
-ipm-auto-forward AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS
- CHOICE {ipm-auto-forward-registration-parameter
- IPMAutoForwardRegistrationParameter-- used in 1994 Application Contexts only -- ,
- auto-forward-registration-parameter-88
- AutoForwardRegistrationParameter88
- } -- used in 1988 Application Contexts only
- ERRORS
- {auto-forwarding-loop | element-of-service-not-subscribed |
- inconsistent-request | ms-extension-error | originator-invalid |
- recipient-improperly-specified | remote-bind-error | security-error |
- service-error | submission-control-violated |
- unsupported-critical-function, ...}
- IDENTIFIED BY id-act-ipm-auto-forward
-}
-
--- Auto-forward 1994
-IPMAutoForwardRegistrationParameter ::= SEQUENCE {
- filter [0] Filter OPTIONAL,
- forwarding-envelope [1] MessageSubmissionEnvelope,
- forwarding-heading [2] Heading,
- forwarding-cover-note [3] BodyPart OPTIONAL,
- submission-options [4] MSSubmissionOptions OPTIONAL,
- nrn-comment [5] AutoForwardComment OPTIONAL,
- ipm-auto-forward-options [6] IPMAutoForwardOptions DEFAULT {}
-}
-
-IPMAutoForwardOptions ::= BIT STRING {
- forward-all-object-types(0), -- forward-all-object-types 'one', forward IPMs only 'zero'
- include-returned-content(1), -- include-returned-content 'one', exclude 'zero'
- include-returned-ipm(2), -- include-returned-ipm 'one', exclude 'zero'
- forwarded-content-prohibited(3), -- forwarded-content-prohibited 'one', allowed'zero'
- preserve-retrieval-status(4), -- preserve-retrieval-status 'one', change 'zero'
- delete-delivered-object(5)
-} -- delete-delivered-object 'one', no deletion 'zero'
-
--- Auto-forward 1988
-AutoForwardRegistrationParameter88 ::= SET {
- filter [0] Filter OPTIONAL,
- auto-forward-arguments [1] AutoForwardArguments,
- delete-after-auto-forwarding [2] BOOLEAN DEFAULT FALSE,
- forwarding-information [3] EncodedForwardingInformation
-}
-
-AutoForwardArguments ::= SET {
- COMPONENTS OF PerMessageAutoForwardFields,
- per-recipient-fields
- [1] IMPLICIT SEQUENCE SIZE (1..ub-recipients) OF
- PerRecipientAutoForwardFields
-}
-
-PerMessageAutoForwardFields ::= SET {
- originator-name OriginatorName,
- content-identifier ContentIdentifier OPTIONAL,
- priority Priority OPTIONAL,
- per-message-indicators PerMessageIndicators OPTIONAL,
- deferred-delivery-time [0] IMPLICIT DeferredDeliveryTime OPTIONAL,
- extensions
- [2] IMPLICIT SET OF ExtensionField{{PerMessageSubmissionExtensions}}
- DEFAULT {}
-}
-
-PerRecipientAutoForwardFields ::= SET {
- recipient-name RecipientName,
- originator-report-request [0] IMPLICIT OriginatorReportRequest,
- explicit-conversion [1] IMPLICIT ExplicitConversion OPTIONAL,
- extensions
- [2] IMPLICIT SET OF
- ExtensionField{{PerRecipientMessageSubmissionExtensions}}
- DEFAULT {}
-}
-
-EncodedForwardingInformation ::=
- OCTET STRING -- contains ForwardingInformation1988
-
-ForwardingInformation1988 ::= SET {
- auto-forwarding-comment [0] IMPLICIT AutoForwardComment OPTIONAL,
- ia5-cover-note [1] IMPLICIT IA5TextBodyPart OPTIONAL,
- this-ipm-prefix
- [2] IMPLICIT PrintableString(SIZE (1..ub-ipm-identifier-suffix)) OPTIONAL
-}
-
---
-ipm-auto-acknowledgement AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS IPMAutoAcknowledgementRegistrationParameter
- ERRORS
- {originator-invalid | submission-control-violated |
- element-of-service-not-subscribed | recipient-improperly-specified |
- remote-bind-error | inconsistent-request | security-error |
- unsupported-critical-function | duplicate-ipn}
- IDENTIFIED BY id-aa-ipm-auto-acknowledgement
-}
-
-IPMAutoAcknowledgementRegistrationParameter ::= SET {
- auto-acknowledge-suppl-receipt-info [0] SupplReceiptInfoField OPTIONAL,
- submission-options [1] MSSubmissionOptions OPTIONAL
-}
-
---
-ipm-auto-correlate AUTO-ACTION ::= {IDENTIFIED BY id-aa-ipm-auto-correlate
-}
-
---
-ipm-auto-discard AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS IPMAutoDiscardRegistrationParameter
- ERRORS
- {submission-control-violated | ipm-auto-discard-error | originator-invalid
- | recipient-improperly-specified | inconsistent-request | security-error
- | unsupported-critical-function | remote-bind-error |
- element-of-service-not-subscribed}
- IDENTIFIED BY id-aa-ipm-auto-discard
-}
-
-IPMAutoDiscardRegistrationParameter ::= SET {
- filter [0] Filter OPTIONAL,
- submission-options [1] MSSubmissionOptions OPTIONAL,
- auto-discard-expired-ipms [2] BOOLEAN,
- auto-discard-obsoleted-ipms [3] BOOLEAN,
- restrict-obsoleting-to-originator [4] BOOLEAN
-}
-
---
-ipm-auto-advise AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS IPMAutoAdviseRegistrationParameter
- ERRORS
- {inconsistent-request | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified | remote-bind-error |
- security-error | submission-control-violated |
- unsupported-critical-function}
- IDENTIFIED BY id-aa-ipm-auto-advise
-}
-
-IPMAutoAdviseRegistrationParameter ::= SET {
- enabled [0] BOOLEAN DEFAULT TRUE,
- filter [1] Filter OPTIONAL,
- advice-notifications
- [2] SET OF IPMSExtension{{AdviceNotifications}},
- suppress-subsequent-notifications [3] BOOLEAN DEFAULT TRUE,
- use-ipm-if-an-not-supported [4] BOOLEAN DEFAULT FALSE,
- submission-options [5] MSSubmissionOptions OPTIONAL
-}
-
--- IPM auto-action-error-table information object set
-IPMAutoActionErrorTable AUTO-ACTION-ERROR ::=
- {... -- 1994 extension additions --, auto-forwarding-loop | duplicate-ipn |
- element-of-service-not-subscribed | inconsistent-request |
- ipm-auto-discard-error | ms-extension-error | originator-invalid |
- recipient-improperly-specified | remote-bind-error | security-error |
- service-error | submission-control-violated | unsupported-critical-function}
-
--- Auto-action-error-types
-auto-forwarding-loop AUTO-ACTION-ERROR ::= {
- CODE global:id-aae-auto-forwarding-loop
-}
-
-duplicate-ipn AUTO-ACTION-ERROR ::= {CODE global:id-aae-duplicate-ipn
-}
-
-ipm-auto-discard-error AUTO-ACTION-ERROR ::= {
- PARAMETER SET {problem [0] AutoDiscardProblem}
- CODE global:id-aae-auto-discard-error
-}
-
-AutoDiscardProblem ::= INTEGER {not-obsoleted-by-originator(0)}
-
-END -- of IPMSAutoActionTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedBodyPartTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedBodyPartTypes.asn
deleted file mode 100644
index 9805a6189d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedBodyPartTypes.asn
+++ /dev/null
@@ -1,102 +0,0 @@
--- Module IPMSExtendedBodyPartTypes (X.420:06/1999)
-IPMSExtendedBodyPartTypes {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- extended-body-part-types(7) version-1994(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- BilaterallyDefinedBodyPart, EncryptedData, EncryptedParameters,
- EXTENDED-BODY-PART-TYPE, G3FacsimileData, G3FacsimileParameters,
- G4Class1BodyPart, IA5TextData, IA5TextParameters, MessageData,
- MessageParameters, MixedModeBodyPart, NationallyDefinedBodyPart,
- TeletexData, TeletexParameters, VideotexData, VideotexParameters
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-encrypted, id-ep-g3-facsimile, id-ep-ia5-text, id-ep-message,
- id-ep-teletex, id-ep-videotex, id-et-bilaterally-defined, id-et-encrypted,
- id-et-g3-facsimile, id-et-g4-class1, id-et-ia5-text, id-et-message,
- id-et-mixed-mode, id-et-nationally-defined, id-et-teletex, id-et-videotex
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Extended IA5 Text body part
-ia5-text-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {IA5TextParameters
- IDENTIFIED BY id-ep-ia5-text},
- DATA {IA5TextData
- IDENTIFIED BY id-et-ia5-text}
-}
-
--- Extended G3 Facsimile body part
-g3-facsimile-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {G3FacsimileParameters
- IDENTIFIED BY id-ep-g3-facsimile},
- DATA {G3FacsimileData
- IDENTIFIED BY id-et-g3-facsimile}
-}
-
--- Extended G4 Class 1 body part
-g4-class1-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {G4Class1BodyPart
- IDENTIFIED BY id-et-g4-class1}
-}
-
--- Extended Teletex body part
-teletex-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {TeletexParameters
- IDENTIFIED BY id-ep-teletex},
- DATA {TeletexData
- IDENTIFIED BY id-et-teletex}
-}
-
--- Extended Videotex body part
-videotex-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {VideotexParameters
- IDENTIFIED BY id-ep-videotex},
- DATA {VideotexData
- IDENTIFIED BY id-et-videotex}
-}
-
--- Extended Encrypted body part
-encrypted-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {EncryptedParameters
- IDENTIFIED BY id-ep-encrypted},
- DATA {EncryptedData
- IDENTIFIED BY id-et-encrypted}
-}
-
--- Extended Message body part
-message-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {MessageParameters
- IDENTIFIED BY id-ep-message},
- DATA {MessageData
- IDENTIFIED BY id-et-message}
-}
-
--- Extended Mixed-mode body part
-mixed-mode-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {MixedModeBodyPart
- IDENTIFIED BY id-et-mixed-mode}
-}
-
--- Extended Bilaterally Defined body part
-bilaterally-defined-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {BilaterallyDefinedBodyPart
- IDENTIFIED BY id-et-bilaterally-defined}
-}
-
--- Extended Nationally Defined body part
-nationally-defined-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {NationallyDefinedBodyPart
- IDENTIFIED BY id-et-nationally-defined}
-}
-
-END -- of IPMSExtendedBodyPartTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedBodyPartTypes2.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedBodyPartTypes2.asn
deleted file mode 100644
index b39e03c3b6..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedBodyPartTypes2.asn
+++ /dev/null
@@ -1,37 +0,0 @@
--- Module IPMSExtendedBodyPartTypes2 (X.420:06/1999)
-IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7) modules(0)
- extended-body-part-types-2(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-general-text, id-et-general-text
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- General Text body part
-general-text-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {GeneralTextParameters
- IDENTIFIED BY id-ep-general-text},
- DATA {GeneralTextData
- IDENTIFIED BY id-et-general-text}
-}
-
-GeneralTextParameters ::= SET OF CharacterSetRegistration
-
-GeneralTextData ::= GeneralString
-
-CharacterSetRegistration ::= INTEGER(1..32767)
-
-END -- of IPMSExtendedBodyPartTypes2
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedVoiceBodyPartType.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedVoiceBodyPartType.asn
deleted file mode 100644
index 171f4b4223..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSExtendedVoiceBodyPartType.asn
+++ /dev/null
@@ -1,39 +0,0 @@
--- Module IPMSExtendedVoiceBodyPartType (X.420:06/1999)
-IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- extended-voice-body-part-type(11)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-voice, id-et-voice
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Extended Voice body part
-voice-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {VoiceParameters
- IDENTIFIED BY id-ep-voice},
- DATA {VoiceData
- IDENTIFIED BY id-et-voice}
-}
-
-VoiceParameters ::= SEQUENCE {
- voice-message-duration [0] INTEGER OPTIONAL, -- In seconds
- voice-encoding-type [1] OBJECT IDENTIFIER,
- supplementary-information [2] IA5String OPTIONAL
-}
-
-VoiceData ::= OCTET STRING
-
-END -- of IPMSExtendedVoiceBodyPartType
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSFileTransferBodyPartType.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSFileTransferBodyPartType.asn
deleted file mode 100644
index 59de6d1b04..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSFileTransferBodyPartType.asn
+++ /dev/null
@@ -1,253 +0,0 @@
--- Module IPMSFileTransferBodyPartType (X.420:06/1999)
-IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- file-transfer-body-part-type(9)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- FTAM Attribute Types
- Attribute-Extensions, Concurrency-Access, Date-and-Time-Attribute,
- Legal-Qualification-Attribute, Object-Availability-Attribute,
- Object-Size-Attribute, Pathname, Permitted-Actions-Attribute,
- Private-Use-Attribute
- --==
- FROM ISO8571-FTAM {iso standard 8571 application-context(1) iso-ftam(1)}
- -- ACSE definitions of AP-title and AE-qualifier
- AE-qualifier, AP-title
- --==
- FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0)
- version1(1)}
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE, ExtensionsField
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-file-transfer, id-et-file-transfer
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MTS Abstract Service
- ORName
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- File Transfer body part
-file-transfer-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {FileTransferParameters
- IDENTIFIED BY id-ep-file-transfer},
- DATA {FileTransferData
- IDENTIFIED BY id-et-file-transfer}
-}
-
-FileTransferParameters ::= SEQUENCE {
- related-stored-file [0] RelatedStoredFile OPTIONAL,
- contents-type
- [1] ContentsTypeParameter
- DEFAULT
- document-type:
- {document-type-name
- {iso standard 8571 document-type(5) unstructured-binary(3)}},
- environment [2] EnvironmentParameter OPTIONAL,
- compression [3] CompressionParameter OPTIONAL,
- file-attributes [4] FileAttributes OPTIONAL,
- extensions [5] ExtensionsField OPTIONAL
-}
-
-FileTransferData ::= SEQUENCE OF EXTERNAL
-
--- This conveys a sequence of data values representing file contents;
--- The rules for generating this sequence are implied by the value of the contents-type parameter.
-RelatedStoredFile ::=
- SET OF
- SEQUENCE {file-identifier FileIdentifier,
- relationship
- Relationship DEFAULT explicit-relationship:unspecified
- }
-
-FileIdentifier ::= CHOICE {
- pathname-and-version [0] PathnameandVersion,
- cross-reference [1] CrossReference
-}
-
-PathnameandVersion ::= SEQUENCE {
- pathname [0] Pathname-Attribute,
- file-version [1] GraphicString OPTIONAL
-}
-
-CrossReference ::= SEQUENCE {
- application-cross-reference [0] OCTET STRING,
- message-reference [1] MessageReference OPTIONAL,
- body-part-reference [2] INTEGER OPTIONAL
-}
-
-MessageReference ::= SET {
- user [0] ORName OPTIONAL,
- -- Defined in 8.5.5 of ITU-T Rec. X.411 | ISO/IEC 10021-4
- user-relative-identifier [1] PrintableString
-}
-
-Relationship ::= CHOICE {
- explicit-relationship [0] ExplicitRelationship,
- descriptive-relationship [1] GraphicString
-}
-
-ExplicitRelationship ::= INTEGER {
- unspecified(0), new-file(1), replacement(2), extension(3)}
-
-ContentsTypeParameter ::= Contents-Type-Attribute
-
-Contents-Type-Attribute ::= CHOICE {
- document-type
- [0] SEQUENCE {document-type-name Document-Type-Name,
- parameter [0] DOCUMENT-PARAMETER.&Type OPTIONAL
- },
- -- The actual types to be used for values of the parameter field
- -- are defined in the named document type.
- constraint-set-and-abstract-syntax
- [1] SEQUENCE {constraint-set-name Constraint-Set-Name,
- abstract-syntax-name Abstract-Syntax-Name}
-}
-
-Document-Type-Name ::= OBJECT IDENTIFIER
-
-DOCUMENT-PARAMETER ::= CLASS {&Type
-}
-
-Constraint-Set-Name ::= OBJECT IDENTIFIER
-
-Abstract-Syntax-Name ::= OBJECT IDENTIFIER
-
-EnvironmentParameter ::= SEQUENCE {
- application-reference [0] GeneralIdentifier OPTIONAL,
- machine [1] GeneralIdentifier OPTIONAL,
- operating-system [2] OBJECT IDENTIFIER OPTIONAL,
- user-visible-string [3] SEQUENCE OF GraphicString OPTIONAL
-}
-
-GeneralIdentifier ::= CHOICE {
- registered-identifier [0] OBJECT IDENTIFIER,
- descriptive-identifier [1] SEQUENCE OF GraphicString
-}
-
-CompressionParameter ::= SEQUENCE {
- compression-algorithm-id
- [0] COMPRESSION-ALGORITHM.&id({CompressionAlgorithmTable}),
- compression-algorithm-param
- [1] COMPRESSION-ALGORITHM.&Type
- ({CompressionAlgorithmTable}{@compression-algorithm-id})
-}
-
-COMPRESSION-ALGORITHM ::= TYPE-IDENTIFIER
-
-CompressionAlgorithmTable COMPRESSION-ALGORITHM ::=
- {...}
-
-FileAttributes ::= SEQUENCE {
- pathname Pathname-Attribute OPTIONAL,
- permitted-actions
- [1] Permitted-Actions-Attribute OPTIONAL,
- storage-account [3] Account-Attribute OPTIONAL,
- date-and-time-of-creation
- [4] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-modification
- [5] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-read-access
- [6] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-attribute-modification
- [7] Date-and-Time-Attribute OPTIONAL,
- identity-of-creator
- [8] User-Identity-Attribute OPTIONAL,
- identity-of-last-modifier
- [9] User-Identity-Attribute OPTIONAL,
- identity-of-last-reader
- [10] User-Identity-Attribute OPTIONAL,
- identity-of-last-attribute-modifier
- [11] User-Identity-Attribute OPTIONAL,
- object-availability
- [12] Object-Availability-Attribute OPTIONAL,
- object-size
- [13] Object-Size-Attribute OPTIONAL,
- future-object-size
- [14] Object-Size-Attribute OPTIONAL,
- access-control
- [15] Access-Control-Attribute OPTIONAL,
- legal-qualifications
- [16] Legal-Qualification-Attribute OPTIONAL,
- private-use
- [17] Private-Use-Attribute OPTIONAL,
- attribute-extensions
- [22] Attribute-Extensions OPTIONAL
-}
-
-Pathname-Attribute ::= CHOICE {
- incomplete-pathname [0] Pathname,
- complete-pathname [23] Pathname
-}
-
-Account-Attribute ::= CHOICE {
- no-value-available [0] NULL,
- -- Indicates partial support of this attribute
- actual-values Account
-}
-
-Account ::= GraphicString
-
-User-Identity-Attribute ::= CHOICE {
- no-value-available [0] NULL,
- -- Indicates partial support of this attribute.
- actual-values User-Identity
-}
-
-User-Identity ::= GraphicString
-
-Access-Control-Attribute ::= CHOICE {
- no-value-available [0] NULL,
- -- Indicates partial support of this attribute.
- actual-values [1] SET OF Access-Control-Element
-}
-
--- The semantics of this attribute are described in ISO 8571-2
-Access-Control-Element ::= SEQUENCE {
- action-list [0] Access-Request,
- concurrency-access [1] Concurrency-Access OPTIONAL,
- identity [2] User-Identity OPTIONAL,
- passwords [3] Access-Passwords OPTIONAL,
- location [4] Application-Entity-Title OPTIONAL
-}
-
-Access-Request ::= BIT STRING {
- read(0), insert(1), replace(2), extend(3), erase(4), read-attribute(5),
- change-attribute(6), delete-object(7)}
-
-Access-Passwords ::= SEQUENCE {
- read-password [0] Password,
- insert-password [1] Password,
- replace-password [2] Password,
- extend-password [3] Password,
- erase-password [4] Password,
- read-attribute-password [5] Password,
- change-attribute-password [6] Password,
- delete-password [7] Password,
- pass-passwords [8] Pass-Passwords,
- link-password [9] Password
-}
-
-Password ::= CHOICE {
- graphic-string GraphicString,
- octet-string OCTET STRING
-}
-
-Pass-Passwords ::= SEQUENCE OF Password
-
-Application-Entity-Title ::= SEQUENCE {
- ap-title AP-title,
- ae-qualifier AE-qualifier
-}
-
-END -- of IPMSFileTransferBodyPartType
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSForwardedContentBodyPartType.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSForwardedContentBodyPartType.asn
deleted file mode 100644
index 57faac6587..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSForwardedContentBodyPartType.asn
+++ /dev/null
@@ -1,53 +0,0 @@
--- Module IPMSForwardedContentBodyPartType (X.420:06/1999)
-IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- forwarded-content-body-part-type(15)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- MTS Abstract Service
- Content, ExtendedContentType, MessageDeliveryIdentifier, MessageDeliveryTime,
- MessageSubmissionEnvelope, OriginatingMTACertificate,
- OtherMessageDeliveryFields, ProofOfSubmission
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-content, id-et-content
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Forwarded Content body part
-content-body-part{ExtendedContentType:content-type} EXTENDED-BODY-PART-TYPE ::=
- {
- PARAMETERS
- {ForwardedContentParameters
- IDENTIFIED BY {id-ep-content content-type}},
- DATA {Content
- IDENTIFIED BY {id-et-content content-type}}
-}
-
-ForwardedContentParameters ::= SET {
- delivery-time [0] MessageDeliveryTime OPTIONAL,
- delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL,
- mts-identifier [2] MessageDeliveryIdentifier OPTIONAL,
- submission-proof [3] SubmissionProof OPTIONAL
-}
-
-SubmissionProof ::= SET {
- proof-of-submission [0] ProofOfSubmission,
- originating-MTA-certificate [1] OriginatingMTACertificate,
- message-submission-envelope MessageSubmissionEnvelope
-}
-
-END -- of IPMSForwardedContentBodyPartType
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSForwardedReportBodyPartType.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSForwardedReportBodyPartType.asn
deleted file mode 100644
index 4e46c7679b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSForwardedReportBodyPartType.asn
+++ /dev/null
@@ -1,41 +0,0 @@
--- Module IPMSForwardedReportBodyPartType (X.420:06/1999)
-IPMSForwardedReportBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- forwarded-report-body-part-type(12)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- MTS Abstract Service
- ReportDeliveryArgument
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE, IPN, MessageParameters
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-ep-notification, id-et-report, id-et-notification
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Report body part
-report-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {ReportDeliveryArgument
- IDENTIFIED BY id-et-report}
-}
-
--- Notification body part
-notification-body-part EXTENDED-BODY-PART-TYPE ::= {
- PARAMETERS {MessageParameters
- IDENTIFIED BY id-ep-notification},
- DATA {IPN IDENTIFIED BY id-et-notification}
-}
-
-END -- of IPMSForwardedReportBodyPartType
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSFunctionalObjects.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSFunctionalObjects.asn
deleted file mode 100644
index 09ef4de282..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSFunctionalObjects.asn
+++ /dev/null
@@ -1,47 +0,0 @@
--- Module IPMSFunctionalObjects (X.420:06/1999)
-IPMSFunctionalObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- functional-objects(1) version-1994(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Abstract Service
- management, origination, reception
- --==
- FROM IPMSAbstractService {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- abstract-service(3) version-1994(0)}
- -- IPMS Object Identifiers
- id-ot-ipms, id-ot-ipms-user
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MTS Abstract Service
- MHS-OBJECT
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- Remote Operations
- CONTRACT
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
--- Primary object types
-ipms-user MHS-OBJECT ::= {
- INITIATES {ipms-access-contract}
- ID id-ot-ipms-user
-}
-
-ipms-access-contract CONTRACT ::= {
- INITIATOR CONSUMER OF {origination | reception | management}
-}
-
-ipms MHS-OBJECT ::= {RESPONDS {ipms-access-contract}
- ID id-ot-ipms
-}
-
-END -- of IPMSFunctionalObjects
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSHeadingExtensions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSHeadingExtensions.asn
deleted file mode 100644
index 752e8d05e1..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSHeadingExtensions.asn
+++ /dev/null
@@ -1,246 +0,0 @@
--- Module IPMSHeadingExtensions (X.420:06/1999)
-IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- heading-extensions(6) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Information Objects
- IPMS-EXTENSION, ORDescriptor, RecipientSpecifier, ThisIPMField, BodyPart
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- MTS Abstract Service
- ExtendedCertificates, SecurityLabel, UniversalOrBMPString{}
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- Directory Authentication Framework
- AlgorithmIdentifier, SIGNATURE{}, SIGNED{}
- --==
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3}
- -- Directory Certificate Extensions
- CertificateAssertion
- --==
- FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
- certificateExtensions(26) 0}
- -- IPMS upper bounds
- ub-alpha-code-length, ub-circulation-list-members, ub-distribution-codes,
- ub-extended-subject-length, ub-information-categories,
- ub-information-category-length, ub-manual-handling-instruction-length,
- ub-manual-handling-instructions, ub-originators-reference-length,
- ub-precedence
- --==
- FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- upper-bounds(10) version-1999(1)}
- -- IPMS Object Identifiers
- id-hex-authorization-time, id-hex-auto-submitted,
- id-hex-body-part-signatures, id-hex-circulation-list-recipients,
- id-hex-distribution-codes, id-hex-extended-subject, id-hex-incomplete-copy,
- id-hex-information-category, id-hex-ipm-security-label, id-hex-languages,
- id-hex-manual-handling-instructions, id-hex-originators-reference,
- id-hex-precedence-policy-id, id-rex-circulation-list-indicator,
- id-rex-precedence
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Incomplete Copy
-incomplete-copy IPMS-EXTENSION ::= {
- VALUE IncompleteCopy,
- IDENTIFIED BY id-hex-incomplete-copy
-}
-
-IncompleteCopy ::= NULL
-
--- Languages
-languages IPMS-EXTENSION ::= {
- VALUE SET OF Language,
- IDENTIFIED BY id-hex-languages
-}
-
-Language ::= PrintableString(SIZE (2 | 5))
-
--- Auto-submitted
-auto-submitted IPMS-EXTENSION ::= {
- VALUE AutoSubmitted,
- IDENTIFIED BY id-hex-auto-submitted
-}
-
-AutoSubmitted ::= ENUMERATED {
- not-auto-submitted(0), auto-generated(1), auto-replied(2)}
-
-body-part-signatures IPMS-EXTENSION ::= {
- VALUE BodyPartSignatures,
- IDENTIFIED BY id-hex-body-part-signatures
-}
-
-BodyPartSignatures ::=
- SET OF
- SET {body-part-number BodyPartNumber,
- body-part-signature BodyPartSignature,
- originator-certificate-selector [1] CertificateAssertion OPTIONAL,
- originator-certificates [0] ExtendedCertificates OPTIONAL,
- ...}
-
-BodyPartNumber ::= INTEGER(1..MAX)
-
-BodyPartSignature ::=
- SIGNATURE
- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
- body-part BodyPart,
- body-part-security-label SecurityLabel OPTIONAL
- }}
-
-ipm-security-label IPMS-EXTENSION ::= {
- VALUE IPMSecurityLabel,
- IDENTIFIED BY id-hex-ipm-security-label
-}
-
-IPMSecurityLabel ::= SEQUENCE {
- content-security-label [0] SecurityLabel,
- heading-security-label [1] SecurityLabel OPTIONAL,
- body-part-security-labels [2] SEQUENCE OF BodyPartSecurityLabel OPTIONAL
-}
-
-BodyPartSecurityLabel ::= CHOICE {
- body-part-unlabelled [0] NULL,
- body-part-security-label [1] SecurityLabel
-}
-
--- Authorization Time
-authorization-time IPMS-EXTENSION ::= {
- VALUE AuthorizationTime,
- IDENTIFIED BY id-hex-authorization-time
-}
-
-AuthorizationTime ::= GeneralizedTime
-
--- Circulation List
-circulation-list-recipients IPMS-EXTENSION ::= {
- VALUE CirculationList,
- IDENTIFIED BY id-hex-circulation-list-recipients
-}
-
-CirculationList ::=
- SEQUENCE (SIZE (2..ub-circulation-list-members)) OF CirculationMember
-
-CirculationMember ::= SET {
- circulation-recipient
- RecipientSpecifier
- (WITH COMPONENTS {
- ...,
- recipient (WITH COMPONENTS {
- ...,
- formal-name PRESENT
- })
- }),
- checked Checkmark OPTIONAL
-}
-
-Checkmark ::= CHOICE {
- simple NULL,
- timestamped CirculationTime,
- signed CirculationSignature
-}
-
-CirculationTime ::= GeneralizedTime
-
-CirculationSignature ::=
- SIGNED
- {SEQUENCE {algorithm-identifier CirculationSignatureAlgorithmIdentifier,
- this-IPM ThisIPMField,
- timestamp CirculationTime}}
-
-CirculationSignatureAlgorithmIdentifier ::= AlgorithmIdentifier
-
--- Circulation List Indicator
-circulation-list-indicator IPMS-EXTENSION ::= {
- VALUE NULL,
- IDENTIFIED BY id-rex-circulation-list-indicator
-}
-
--- Distribution Codes
-distribution-codes IPMS-EXTENSION ::= {
- VALUE DistributionCodes,
- IDENTIFIED BY id-hex-distribution-codes
-}
-
-DistributionCodes ::=
- SEQUENCE (SIZE (1..ub-distribution-codes)) OF DistributionCode
-
-DistributionCode ::= SEQUENCE {
- oid-code OBJECT IDENTIFIER OPTIONAL,
- alphanumeric-code AlphaCode OPTIONAL,
- or-descriptor [0] ORDescriptor OPTIONAL
-}
-
-AlphaCode ::= UniversalOrBMPString{ub-alpha-code-length}
-
--- Extended Subject
-extended-subject IPMS-EXTENSION ::= {
- VALUE ExtendedSubject,
- IDENTIFIED BY id-hex-extended-subject
-}
-
-ExtendedSubject ::= UniversalOrBMPString{ub-extended-subject-length}
-
--- Information category
-information-category IPMS-EXTENSION ::= {
- VALUE InformationCategories,
- IDENTIFIED BY id-hex-information-category
-}
-
-InformationCategories ::=
- SEQUENCE (SIZE (1..ub-information-categories)) OF InformationCategory
-
-InformationCategory ::= SEQUENCE {
- reference [0] OBJECT IDENTIFIER OPTIONAL,
- description [1] DescriptionString OPTIONAL
-}
-
-DescriptionString ::= UniversalOrBMPString{ub-information-category-length}
-
--- Manual handling Instructions
-manual-handling-instructions IPMS-EXTENSION ::= {
- VALUE ManualHandlingInstructions,
- IDENTIFIED BY id-hex-manual-handling-instructions
-}
-
-ManualHandlingInstructions ::=
- SEQUENCE (SIZE (1..ub-manual-handling-instructions)) OF
- ManualHandlingInstruction
-
-ManualHandlingInstruction ::=
- UniversalOrBMPString{ub-manual-handling-instruction-length}
-
--- Originator's Reference
-originators-reference IPMS-EXTENSION ::= {
- VALUE OriginatorsReference,
- IDENTIFIED BY id-hex-originators-reference
-}
-
-OriginatorsReference ::= UniversalOrBMPString{ub-originators-reference-length}
-
--- Precedence Policy Identifier
-precedence-policy-identifier IPMS-EXTENSION ::= {
- VALUE PrecedencePolicyIdentifier,
- IDENTIFIED BY id-hex-precedence-policy-id
-}
-
-PrecedencePolicyIdentifier ::= OBJECT IDENTIFIER
-
--- Precedence
-precedence IPMS-EXTENSION ::= {
- VALUE Precedence,
- IDENTIFIED BY id-rex-precedence
-}
-
-Precedence ::= INTEGER(0..ub-precedence)
-
-END -- of IPMSHeadingExtensions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSInformationObjects.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSInformationObjects.asn
deleted file mode 100644
index 3fb0463ee7..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSInformationObjects.asn
+++ /dev/null
@@ -1,626 +0,0 @@
--- Module IPMSInformationObjects (X.420:06/1999)
-IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Extended Body Parts
- bilaterally-defined-body-part, encrypted-body-part, g3-facsimile-body-part,
- g4-class1-body-part, ia5-text-body-part, message-body-part,
- mixed-mode-body-part, nationally-defined-body-part, teletex-body-part,
- videotex-body-part
- --==
- FROM IPMSExtendedBodyPartTypes {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- extended-body-part-types(7) version-1994(0)}
- general-text-body-part
- --==
- FROM IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7)
- modules(0) extended-body-part-types-2(1)}
- file-transfer-body-part
- --==
- FROM IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
- modules(0) file-transfer-body-part-type(9)}
- voice-body-part
- --==
- FROM IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
- modules(0) extended-voice-body-part-type(11)}
- notification-body-part, report-body-part
- --==
- FROM IPMSForwardedReportBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
- modules(0) forwarded-report-body-part-type(12)}
- content-body-part{}
- --==
- FROM IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
- modules(0) forwarded-content-body-part-type(15)}
- pkcs7-body-part
- --==
- FROM PKCS7BodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- pkcs7-body-part-type(16)}
- -- IPMS Heading Extensions
- authorization-time, auto-submitted, body-part-signatures,
- circulation-list-indicator, circulation-list-recipients,
- distribution-codes, extended-subject, incomplete-copy,
- information-category, ipm-security-label, languages,
- manual-handling-instructions, originators-reference, precedence,
- precedence-policy-identifier
- --==
- FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- heading-extensions(6) version-1999(1)}
- -- IPMS Security Extensions
- body-part-encryption-token, BodyPartTokens, forwarded-content-token,
- ForwardedContentToken, ipn-security-response, recipient-security-request
- --==
- FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- ipm-security-extensions(14) version-1999(1)}
- -- IPMS Upper bounds
- ub-auto-forward-comment, ub-free-form-name, ub-local-ipm-identifier,
- ub-subject-field, ub-telephone-number
- --==
- FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- upper-bounds(10) version-1999(1)}
- -- ODIF
- Interchange-Data-Element
- --==
- FROM Interchange-Data-Elements {2 8 1 5 5}
- -- MTS Abstract Service
- EncodedInformationTypes, ExtendedCertificates, EXTENSION,
- G3FacsimileNonBasicParameters, MessageDeliveryTime, ORName,
- OtherMessageDeliveryFields, SupplementaryInformation,
- TeletexNonBasicParameters
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- MS Abstract Service
- MS-EXTENSION, SequenceNumber
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- Directory Authentication Framework
- AlgorithmIdentifier, ENCRYPTED{}
- --==
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3}
- -- IPMS Object Identifiers
- id-mst-assembly-capability, id-mst-assembly-instructions,
- id-mst-invalid-assembly-instructions, id-mst-invalid-ipn,
- id-mst-originator-body-part-encryption-token,
- id-mst-originator-forwarded-content-token,
- id-mst-suspend-auto-acknowledgement, id-mst-prevent-nrn-generation,
- id-on-absence-advice, id-on-change-of-address-advice
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
-Time ::= UTCTime
-
--- Information object
-InformationObject ::= CHOICE {ipm [0] IPM,
- ipn [1] IPN
-}
-
--- IPM
-IPM ::= SEQUENCE {heading Heading,
- body Body
-}
-
--- MTS Extensions
-IPMPerRecipientEnvelopeExtensions EXTENSION ::=
- {blind-copy-recipients | body-part-encryption-token |
- forwarded-content-token, ...}
-
--- IPMS Extensions
-IPMSExtension{IPMS-EXTENSION:ChosenFrom} ::= SEQUENCE {
- type IPMS-EXTENSION.&id({ChosenFrom}),
- value IPMS-EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
-}
-
-IPMS-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
- &Type DEFAULT NULL
-}WITH SYNTAX {[VALUE &Type,]
- IDENTIFIED BY &id
-}
-
-PrivateIPMSExtensions IPMS-EXTENSION ::=
- {...}
-
--- Heading
-Heading ::= SET {
- this-IPM ThisIPMField,
- originator [0] OriginatorField OPTIONAL,
- authorizing-users [1] AuthorizingUsersField OPTIONAL,
- primary-recipients [2] PrimaryRecipientsField DEFAULT {},
- copy-recipients [3] CopyRecipientsField DEFAULT {},
- blind-copy-recipients [4] BlindCopyRecipientsField OPTIONAL,
- replied-to-IPM [5] RepliedToIPMField OPTIONAL,
- obsoleted-IPMs [6] ObsoletedIPMsField DEFAULT {},
- related-IPMs [7] RelatedIPMsField DEFAULT {},
- subject [8] EXPLICIT SubjectField OPTIONAL,
- expiry-time [9] ExpiryTimeField OPTIONAL,
- reply-time [10] ReplyTimeField OPTIONAL,
- reply-recipients [11] ReplyRecipientsField OPTIONAL,
- importance [12] ImportanceField DEFAULT normal,
- sensitivity [13] SensitivityField OPTIONAL,
- auto-forwarded [14] AutoForwardedField DEFAULT FALSE,
- extensions [15] ExtensionsField DEFAULT {}
-}
-
--- Heading component types
-IPMIdentifier ::= [APPLICATION 11] SET {
- user ORName OPTIONAL,
- user-relative-identifier LocalIPMIdentifier
-}
-
-LocalIPMIdentifier ::= PrintableString(SIZE (0..ub-local-ipm-identifier))
-
-RecipientSpecifier ::= SET {
- recipient [0] ORDescriptor,
- notification-requests [1] NotificationRequests DEFAULT {},
- reply-requested [2] BOOLEAN DEFAULT FALSE,
- recipient-extensions [3] RecipientExtensionsField OPTIONAL
-}
-
-ORDescriptor ::= SET {
- formal-name ORName OPTIONAL,
- free-form-name [0] FreeFormName OPTIONAL,
- telephone-number [1] TelephoneNumber OPTIONAL
-}
-
-FreeFormName ::= TeletexString(SIZE (0..ub-free-form-name))
-
-TelephoneNumber ::= PrintableString(SIZE (0..ub-telephone-number))
-
-NotificationRequests ::= BIT STRING {
- rn(0), nrn(1), ipm-return(2), an-supported(3), suppress-an(4)}
-
-RecipientExtensionsField ::= SET OF IPMSExtension{{RecipientExtensions}}
-
-RecipientExtensions IPMS-EXTENSION ::=
- {circulation-list-indicator | precedence | recipient-security-request |
- PrivateIPMSExtensions, ...}
-
--- This IPM heading field
-ThisIPMField ::= IPMIdentifier
-
--- Originator heading field
-OriginatorField ::= ORDescriptor
-
--- Authorizing Users heading field
-AuthorizingUsersField ::= SEQUENCE OF AuthorizingUsersSubfield
-
-AuthorizingUsersSubfield ::= ORDescriptor
-
--- Primary Recipients heading field
-PrimaryRecipientsField ::= SEQUENCE OF PrimaryRecipientsSubfield
-
-PrimaryRecipientsSubfield ::= RecipientSpecifier
-
--- Copy Recipients heading field
-CopyRecipientsField ::= SEQUENCE OF CopyRecipientsSubfield
-
-CopyRecipientsSubfield ::= RecipientSpecifier
-
--- Blind Copy Recipients heading field
-BlindCopyRecipientsField ::= SEQUENCE OF BlindCopyRecipientsSubfield
-
-BlindCopyRecipientsSubfield ::= RecipientSpecifier
-
--- Blind Copy Recipients envelope field
-blind-copy-recipients EXTENSION ::= {
- BlindCopyRecipientsField,
- IDENTIFIED BY standard-extension:41
-}
-
--- Replied-to IPM heading field
-RepliedToIPMField ::= IPMIdentifier
-
--- Obsoleted IPMs heading field
-ObsoletedIPMsField ::= SEQUENCE OF ObsoletedIPMsSubfield
-
-ObsoletedIPMsSubfield ::= IPMIdentifier
-
--- Related IPMs heading field
-RelatedIPMsField ::= SEQUENCE OF RelatedIPMsSubfield
-
-RelatedIPMsSubfield ::= IPMIdentifier
-
--- Subject heading field
-SubjectField ::= TeletexString(SIZE (0..ub-subject-field))
-
--- Expiry Time heading field
-ExpiryTimeField ::= Time
-
--- Reply Time heading field
-ReplyTimeField ::= Time
-
--- Reply Recipients heading field
-ReplyRecipientsField ::= SEQUENCE OF ReplyRecipientsSubfield
-
-ReplyRecipientsSubfield ::=
- ORDescriptor(WITH COMPONENTS {
- ...,
- formal-name PRESENT
- })
-
--- Importance heading field
-ImportanceField ::= ENUMERATED {low(0), normal(1), high(2)}
-
--- Sensitivity heading field
-SensitivityField ::= ENUMERATED {
- personal(1), private(2), company-confidential(3)}
-
--- Auto-forwarded heading field
-AutoForwardedField ::= BOOLEAN
-
--- Extensions heading field
-ExtensionsField ::= SET OF IPMSExtension{{HeadingExtensions}}
-
-HeadingExtensions IPMS-EXTENSION ::=
- {authorization-time | auto-submitted | body-part-signatures |
- circulation-list-recipients | distribution-codes | extended-subject |
- incomplete-copy | information-category | ipm-security-label | languages |
- manual-handling-instructions | originators-reference |
- precedence-policy-identifier | PrivateIPMSExtensions, ...}
-
--- Body
-Body ::= SEQUENCE OF BodyPart
-
-BodyPart ::= CHOICE {
- basic
- CHOICE {ia5-text [0] IA5TextBodyPart,
- g3-facsimile [3] G3FacsimileBodyPart,
- g4-class1 [4] G4Class1BodyPart,
- teletex [5] TeletexBodyPart,
- videotex [6] VideotexBodyPart,
- encrypted [8] EncryptedBodyPart,
- message [9] MessageBodyPart,
- mixed-mode [11] MixedModeBodyPart,
- bilaterally-defined [14] BilaterallyDefinedBodyPart,
- nationally-defined [7] NationallyDefinedBodyPart},
- extended [15] ExtendedBodyPart{{IPMBodyPartTable}}
-}
-
--- Extended body part
-ExtendedBodyPart{EXTENDED-BODY-PART-TYPE:IPMBodyPartTable} ::= SEQUENCE {
- parameters [0] INSTANCE OF TYPE-IDENTIFIER OPTIONAL,
- data INSTANCE OF TYPE-IDENTIFIER
-}
-(CONSTRAINED BY { -- must correspond to the &parameters field and &data field of a member of --
- IPMBodyPartTable})
-
-IPMBodyPartTable EXTENDED-BODY-PART-TYPE ::=
- {StandardBodyParts | ApplicationSpecificBodyParts}
-
-StandardBodyParts EXTENDED-BODY-PART-TYPE ::=
- {ia5-text-body-part | g3-facsimile-body-part | g4-class1-body-part |
- teletex-body-part | videotex-body-part | encrypted-body-part |
- message-body-part | mixed-mode-body-part | bilaterally-defined-body-part |
- nationally-defined-body-part | general-text-body-part |
- file-transfer-body-part | voice-body-part | report-body-part |
- notification-body-part |
- content-body-part{{1 2 3 -- RELATIVE-OID to be provided --}} |
- pkcs7-body-part, ...}
-
-ApplicationSpecificBodyParts EXTENDED-BODY-PART-TYPE ::=
- {--any body part defined in other Specifications, or for proprietary or private use
- ...}
-
-EXTENDED-BODY-PART-TYPE ::= CLASS {
- &parameters TYPE-IDENTIFIER OPTIONAL,
- &data TYPE-IDENTIFIER
-}WITH SYNTAX {[PARAMETERS &parameters,]
- DATA &data
-}
-
--- IA5 Text body part
-IA5TextBodyPart ::= SEQUENCE {
- parameters IA5TextParameters,
- data IA5TextData
-}
-
-IA5TextParameters ::= SET {repertoire [0] Repertoire DEFAULT ia5
-}
-
-IA5TextData ::= IA5String
-
-Repertoire ::= ENUMERATED {ita2(2), ia5(5)}
-
--- G3 Facsimile body part
-G3FacsimileBodyPart ::= SEQUENCE {
- parameters G3FacsimileParameters,
- data G3FacsimileData
-}
-
-G3FacsimileParameters ::= SET {
- number-of-pages [0] INTEGER OPTIONAL,
- non-basic-parameters [1] G3FacsimileNonBasicParameters OPTIONAL
-}
-
-G3FacsimileData ::= SEQUENCE OF BIT STRING
-
--- G4 Class 1 and Mixed-mode body parts
-G4Class1BodyPart ::= SEQUENCE OF Interchange-Data-Element
-
-MixedModeBodyPart ::= SEQUENCE OF Interchange-Data-Element
-
--- Teletex body part
-TeletexBodyPart ::= SEQUENCE {
- parameters TeletexParameters,
- data TeletexData
-}
-
-TeletexParameters ::= SET {
- number-of-pages [0] INTEGER OPTIONAL,
- telex-compatible [1] BOOLEAN DEFAULT FALSE,
- non-basic-parameters [2] TeletexNonBasicParameters OPTIONAL
-}
-
-TeletexData ::= SEQUENCE OF TeletexString
-
--- Videotex body part
-VideotexBodyPart ::= SEQUENCE {
- parameters VideotexParameters,
- data VideotexData
-}
-
-VideotexParameters ::= SET {syntax [0] VideotexSyntax OPTIONAL
-}
-
-VideotexSyntax ::= INTEGER {
- ids(0), data-syntax1(1), data-syntax2(2), data-syntax3(3)}
-
-VideotexData ::= VideotexString
-
--- Encrypted body part
-EncryptedBodyPart ::= SEQUENCE {
- parameters EncryptedParameters,
- data EncryptedData
-}
-
-EncryptedParameters ::= SET {
- algorithm-identifier AlgorithmIdentifier,
- originator-certificates ExtendedCertificates OPTIONAL,
- ...
-}
-
-EncryptedData ::= BIT STRING(CONSTRAINED BY {BodyPart})
-
--- Message body part
-MessageBodyPart ::= SEQUENCE {
- parameters MessageParameters,
- data MessageData
-}
-
-MessageParameters ::= SET {
- delivery-time [0] MessageDeliveryTime OPTIONAL,
- delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL
-}
-
-MessageData ::= IPM
-
--- Bilaterally Defined body part
-BilaterallyDefinedBodyPart ::= OCTET STRING
-
--- Nationally Defined body part
-NATIONAL-BODY-PARTS ::= CLASS {&Type
-}
-
-NationallyDefinedBodyPart ::= NATIONAL-BODY-PARTS.&Type
-
--- Provided for Historic reasons. Use is strongly deprecated.
--- IPN
-IPN ::= SET {
- -- common-fields --COMPONENTS OF CommonFields,
- choice
- [0] CHOICE {non-receipt-fields [0] NonReceiptFields,
- receipt-fields [1] ReceiptFields,
- other-notification-type-fields
- [2] OtherNotificationTypeFields}
-}
-
-RN ::=
- IPN
- (WITH COMPONENTS {
- ...,
- choice (WITH COMPONENTS {
- receipt-fields PRESENT
- })
- })
-
-NRN ::=
- IPN
- (WITH COMPONENTS {
- ...,
- choice (WITH COMPONENTS {
- non-receipt-fields PRESENT
- })
- })
-
-ON ::=
- IPN
- (WITH COMPONENTS {
- ...,
- choice (WITH COMPONENTS {
- other-notification-type-fields PRESENT
- })
- })
-
-CommonFields ::= SET {
- subject-ipm SubjectIPMField,
- ipn-originator [1] IPNOriginatorField OPTIONAL,
- ipm-intended-recipient [2] IPMIntendedRecipientField OPTIONAL,
- conversion-eits ConversionEITsField OPTIONAL,
- notification-extensions [3] NotificationExtensionsField OPTIONAL
-}
-
-NonReceiptFields ::= SET {
- non-receipt-reason [0] NonReceiptReasonField,
- discard-reason [1] DiscardReasonField OPTIONAL,
- auto-forward-comment [2] AutoForwardCommentField OPTIONAL,
- returned-ipm [3] ReturnedIPMField OPTIONAL,
- nrn-extensions [4] NRNExtensionsField OPTIONAL
-}
-
-ReceiptFields ::= SET {
- receipt-time [0] ReceiptTimeField,
- acknowledgment-mode [1] AcknowledgmentModeField DEFAULT manual,
- suppl-receipt-info [2] SupplReceiptInfoField OPTIONAL,
- rn-extensions [3] RNExtensionsField OPTIONAL
-}
-
--- Common fields
-SubjectIPMField ::= IPMIdentifier
-
-IPNOriginatorField ::= ORDescriptor
-
-IPMIntendedRecipientField ::= ORDescriptor
-
-ConversionEITsField ::= EncodedInformationTypes
-
-NotificationExtensionsField ::= SET OF IPMSExtension{{NotificationExtensions}}
-
-NotificationExtensions IPMS-EXTENSION ::=
- {ipn-security-response | PrivateIPMSExtensions, ...}
-
--- Non-receipt fields
-NonReceiptReasonField ::= ENUMERATED {
- ipm-discarded(0), ipm-auto-forwarded(1), ...
- }
-
--- ITU-T version:
-DiscardReasonField ::= ENUMERATED {
- ipm-expired(0), ipm-obsoleted(1), user-subscription-terminated(2),
- not-used(3)}
-
--- ISO/IEC version:
---DiscardReasonField ::= ENUMERATED {
--- ipm-expired (0),
--- ipm-obsoleted (1),
--- user-subscription-terminated (2),
--- The following value may not be supported by implementations of earlier versions of this Specification
--- ipm-deleted (3),
--- ... }
-AutoForwardCommentField ::=
- AutoForwardComment
-
-AutoForwardComment ::= PrintableString(SIZE (0..ub-auto-forward-comment))
-
-ReturnedIPMField ::= IPM
-
-NRNExtensionsField ::= SET OF IPMSExtension{{NRNExtensions}}
-
-NRNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...}
-
--- Receipt fields
-ReceiptTimeField ::= Time
-
-AcknowledgmentModeField ::= ENUMERATED {manual(0), automatic(1)}
-
-SupplReceiptInfoField ::= SupplementaryInformation
-
-RNExtensionsField ::= SET OF IPMSExtension{{RNExtensions}}
-
-RNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...}
-
--- Other Notification Type fields
-OtherNotificationTypeFields ::= SET OF IPMSExtension{{OtherNotifications}}
-
-OtherNotifications IPMS-EXTENSION ::=
- {AdviceNotifications | PrivateIPMSExtensions, ...}
-
-AdviceNotifications IPMS-EXTENSION ::=
- {absence-advice | change-of-address-advice, ...}
-
--- Advice Notification fields
-absence-advice IPMS-EXTENSION ::= {
- VALUE AbsenceAdvice,
- IDENTIFIED BY id-on-absence-advice
-}
-
-AbsenceAdvice ::= SEQUENCE {
- advice BodyPart OPTIONAL,
- next-available Time OPTIONAL
-}
-
--- at least one component shall be present
-change-of-address-advice IPMS-EXTENSION ::= {
- VALUE ChangeOfAddressAdvice,
- IDENTIFIED BY id-on-change-of-address-advice
-}
-
-ChangeOfAddressAdvice ::= SEQUENCE {
- new-address
- [0] ORDescriptor(WITH COMPONENTS {
- ...,
- formal-name PRESENT
- }),
- effective-from [1] Time OPTIONAL
-}
-
--- Message Store Realization
-prevent-nrn-generation MS-EXTENSION ::= {
- NULL
- IDENTIFIED BY id-mst-prevent-nrn-generation
-}
-
-suspend-auto-acknowledgement MS-EXTENSION ::= {
- NULL
- IDENTIFIED BY id-mst-suspend-auto-acknowledgement
-}
-
-assembly-capability MS-EXTENSION ::= {
- NULL
- IDENTIFIED BY id-mst-assembly-capability
-}
-
-IPMSubmissionOptions MS-EXTENSION ::=
- {ipm-assembly-instructions | originator-body-part-encryption-token |
- originator-forwarded-content-token, ...} -- For future extension additions
-
-ipm-assembly-instructions MS-EXTENSION ::= {
- IPMAssemblyInstructions
- IDENTIFIED BY id-mst-assembly-instructions
-}
-
-IPMAssemblyInstructions ::= SET {assembly-instructions [0] BodyPartReferences
-}
-
-BodyPartReferences ::= SEQUENCE OF BodyPartReference
-
-BodyPartReference ::= CHOICE {
- stored-entry [0] SequenceNumber,
- stored-content [1] SequenceNumber,
- submitted-body-part [2] INTEGER(1..MAX),
- stored-body-part
- [3] SEQUENCE {message-entry SequenceNumber,
- body-part-number INTEGER(1..MAX)}
-}
-
-originator-body-part-encryption-token MS-EXTENSION ::= {
- BodyPartTokens
- IDENTIFIED BY id-mst-originator-body-part-encryption-token
-}
-
-originator-forwarded-content-token MS-EXTENSION ::= {
- ForwardedContentToken
- IDENTIFIED BY id-mst-originator-forwarded-content-token
-}
-
-IPMSubmissionErrors MS-EXTENSION ::=
- {invalid-assembly-instructions | invalid-ipn, ...
- } -- For future extension additions
-
-invalid-assembly-instructions MS-EXTENSION ::= {
- BodyPartReferences
- IDENTIFIED BY id-mst-invalid-assembly-instructions
-}
-
-invalid-ipn MS-EXTENSION ::= {NULL
- IDENTIFIED BY id-mst-invalid-ipn
-}
-
-END -- of IPMSInformationObjects
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSMessageStoreAttributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSMessageStoreAttributes.asn
deleted file mode 100644
index 719bca4987..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSMessageStoreAttributes.asn
+++ /dev/null
@@ -1,1120 +0,0 @@
--- Module IPMSMessageStoreAttributes (X.420:06/1999)
-IPMSMessageStoreAttributes {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- message-store-attributes(8) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS
- -- IPMS Heading Extensions
- AuthorizationTime, AutoSubmitted, BodyPartNumber, BodyPartSecurityLabel,
- BodyPartSignatures, CirculationMember, DistributionCode, ExtendedSubject,
- IncompleteCopy, InformationCategory, IPMSecurityLabel, Language,
- ManualHandlingInstruction, OriginatorsReference, Precedence,
- PrecedencePolicyIdentifier
- --==
- FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- heading-extensions(6) version-1999(1)}
- -- IPMS Security Extensions
- BodyPartTokens, ForwardedContentToken
- --==
- FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- ipm-security-extensions(14) version-1999(1)}
- -- IPMS Information Objects
- AcknowledgmentModeField, AuthorizingUsersSubfield, AutoForwardCommentField,
- AutoForwardedField, BilaterallyDefinedBodyPart,
- BlindCopyRecipientsSubfield, Body, ConversionEITsField,
- CopyRecipientsSubfield, DiscardReasonField, EncryptedBodyPart,
- EncryptedData, EncryptedParameters, ExpiryTimeField,
- EXTENDED-BODY-PART-TYPE, G3FacsimileBodyPart, G3FacsimileData,
- G3FacsimileParameters, G4Class1BodyPart, Heading, IA5TextBodyPart,
- IA5TextData, IA5TextParameters, ImportanceField, IPMIdentifier,
- IPMIntendedRecipientField, IPMSExtension{}, IPNOriginatorField,
- MessageBodyPart, MessageData, MessageParameters, MixedModeBodyPart,
- NationallyDefinedBodyPart, NonReceiptReasonField, NotificationExtensions,
- NRNExtensions, ObsoletedIPMsSubfield, ORDescriptor, OriginatorField,
- OtherNotifications, PrimaryRecipientsSubfield, ReceiptTimeField,
- RecipientSpecifier, RelatedIPMsSubfield, RepliedToIPMField,
- ReplyRecipientsSubfield, ReplyTimeField, ReturnedIPMField, RNExtensions,
- SensitivityField, SubjectField, SubjectIPMField, SupplReceiptInfoField,
- TeletexBodyPart, TeletexData, TeletexParameters, ThisIPMField,
- VideotexBodyPart, VideotexData, VideotexParameters
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-bat-bilaterally-defined-body-parts, id-bat-body,
- id-bat-encrypted-body-parts, id-bat-encrypted-data,
- id-bat-encrypted-parameters, id-bat-extended-body-part-types,
- id-bat-g3-facsimile-body-parts, id-bat-g3-facsimile-data,
- id-bat-g3-facsimile-parameters, id-bat-g4-class1-body-parts,
- id-bat-ia5-text-body-parts, id-bat-ia5-text-data,
- id-bat-ia5-text-parameters, id-bat-message-body-parts, id-bat-message-data,
- id-bat-message-parameters, id-bat-mixed-mode-body-parts,
- id-bat-nationally-defined-body-parts, id-bat-teletex-body-parts,
- id-bat-teletex-data, id-bat-teletex-parameters, id-bat-videotex-body-parts,
- id-bat-videotex-data, id-bat-videotex-parameters,
- id-cat-correlated-delivered-ipns, id-cat-correlated-delivered-replies,
- id-cat-delivered-ipn-summary, id-cat-delivered-replies-summary,
- id-cat-forwarded-ipms, id-cat-forwarding-ipms, id-cat-ipm-recipients,
- id-cat-obsoleted-ipms, id-cat-obsoleting-ipms, id-cat-related-ipms,
- id-cat-relating-ipms, id-cat-replied-to-ipm, id-cat-recipient-category,
- id-cat-replying-ipms, id-cat-revised-reply-time, id-cat-subject-ipm,
- id-cat-submitted-ipn-status, id-cat-submitted-ipns,
- id-cat-submitted-reply-status, id-hat-authorization-time,
- id-hat-authorizing-users, id-hat-auto-forwarded, id-hat-auto-submitted,
- id-hat-blind-copy-recipients, id-hat-body-part-encryption-token,
- id-hat-body-part-security-label,
- id-hat-body-part-signature-verification-status,
- id-hat-body-part-signatures, id-hat-circulation-list-recipients,
- id-hat-copy-recipients, id-hat-distribution-codes, id-hat-expiry-time,
- id-hat-extended-subject, id-hat-forwarded-content-token,
- id-hat-forwarding-token, id-hat-heading, id-hat-importance,
- id-hat-incomplete-copy, id-hat-information-category,
- id-hat-ipm-security-label, id-hat-languages,
- id-hat-manual-handling-instructions, id-hat-nrn-requestors,
- id-hat-obsoleted-IPMs, id-hat-originator, id-hat-originators-reference,
- id-hat-precedence, id-hat-precedence-policy-id, id-hat-primary-recipients,
- id-hat-related-IPMs, id-hat-replied-to-IPM, id-hat-reply-recipients,
- id-hat-reply-requestors, id-hat-reply-time, id-hat-rn-requestors,
- id-hat-sensitivity, id-hat-subject, id-hat-this-ipm, id-mr-ipm-identifier,
- id-mr-ipm-location, id-mr-or-descriptor, id-mr-or-descriptor-elements,
- id-mr-or-descriptor-single-element, id-mr-or-descriptor-substring-elements,
- id-mr-circulation-member, id-mr-circulation-member-checkmark,
- id-mr-circulation-member-elements, id-mr-circulation-member-single-element,
- id-mr-circulation-member-substring-elements, id-mr-distribution-code,
- id-mr-information-category, id-mr-recipient-specifier,
- id-mr-recipient-specifier-elements,
- id-mr-recipient-specifier-single-element,
- id-mr-recipient-specifier-substring-elements, id-nat-acknowledgment-mode,
- id-nat-auto-forward-comment, id-nat-conversion-eits, id-nat-discard-reason,
- id-nat-ipm-intended-recipient, id-nat-ipn-originator,
- id-nat-non-receipt-reason, id-nat-notification-extensions,
- id-nat-nrn-extensions, id-nat-other-notification-type-fields,
- id-nat-receipt-time, id-nat-returned-ipm, id-nat-rn-extensions,
- id-nat-subject-ipm, id-nat-suppl-receipt-info, id-sat-body-parts-summary,
- id-sat-ipm-auto-discarded, id-sat-ipm-entry-type, id-sat-ipm-synopsis
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MS Abstract Service
- X413ATTRIBUTE, MS-EIT, SequenceNumber
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- MS General Attribute Types
- SignatureStatus
- --==
- FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-attribute-types(2) version-1999(1)}
- -- MS matching-rules
- MSString{}, mSStringMatch, mSSubstringsMatch
- --==
- FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-matching-rules(5) version-1999(1)}
- -- MTS Abstract Service
- EncodedInformationTypes, MessageToken
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- Directory Information Framework
- objectIdentifierMatch, MATCHING-RULE
- --==
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3}
- -- Directory Abstract Service
- booleanMatch, generalizedTimeMatch, generalizedTimeOrderingMatch,
- integerMatch, integerOrderingMatch, uTCTimeMatch, uTCTimeOrderingMatch
- --==
- FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
- selectedAttributeTypes(5) 3}
- ub-msstring-match
- FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)};
-
--- IPMS attribute table information object set
-IPMSAttributeTable X413ATTRIBUTE ::=
- {acknowledgment-mode | authorizing-users | auto-forward-comment |
- auto-forwarded | auto-submitted | bilaterally-defined-body-parts |
- blind-copy-recipients | body | conversion-eits | copy-recipients |
- discard-reason | encrypted-body-parts | encrypted-data |
- encrypted-parameters | expiry-time | extended-body-part-types |
- g3-facsimile-body-parts | g3-facsimile-data | g3-facsimile-parameters |
- g4-class1-body-parts | heading | ia5-text-body-parts | ia5-text-data |
- ia5-text-parameters | importance | incomplete-copy | ipm-entry-type |
- ipm-intended-recipient | ipm-synopsis | ipn-originator | languages |
- message-body-parts | message-data | message-parameters |
- mixed-mode-body-parts | nationally-defined-body-parts | non-receipt-reason |
- nrn-requestors | obsoleted-IPMs | originator | primary-recipients |
- receipt-time | related-IPMs | replied-to-IPM | reply-recipients |
- reply-requestors | reply-time | returned-ipm | rn-requestors | sensitivity |
- subject | subject-ipm | suppl-receipt-info | teletex-body-parts |
- teletex-data | teletex-parameters | this-ipm | videotex-body-parts |
- videotex-data | videotex-parameters, ... -- 1994 extension additions --,
- ac-correlated-delivered-ipns | ac-correlated-delivered-replies |
- ac-delivered-ipn-summary | ac-delivered-replies-summary | ac-forwarded-ipms
- | ac-forwarding-ipms | ac-ipm-recipients | ac-obsoleted-ipms |
- ac-obsoleting-ipms | ac-related-ipms | ac-relating-ipms | ac-replied-to-ipm
- | ac-replying-ipms | ac-subject-ipm | ac-submitted-ipn-status |
- ac-submitted-ipns | ac-submitted-reply-status | authorization-time |
- body-part-encryption-token | body-part-security-label |
- body-part-signature-verification-status | body-part-signatures |
- body-parts-summary | circulation-list-recipients | distribution-codes |
- extended-subject | forwarded-content-token | forwarding-token |
- information-category | ipm-auto-discarded | ipm-security-label |
- manual-handling-instructions | notification-extensions | nrn-extensions |
- originators-reference | other-notification-type-fields | precedence |
- precedence-policy-identifier | recipient-category | revised-reply-time |
- rn-extensions}
-
--- SUMMARY ATTRIBUTES
--- IPM entry type
-ipm-entry-type X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMEntryType,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-sat-ipm-entry-type
-}
-
-IPMEntryType ::= ENUMERATED {ipm(0), rn(1), nrn(2), on(3)}
-
--- IPM synopsis
-ipm-synopsis X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSynopsis,
- NUMERATION single-valued,
- ID id-sat-ipm-synopsis
-}
-
-IPMSynopsis ::= SEQUENCE OF BodyPartSynopsis
-
-BodyPartSynopsis ::= CHOICE {
- message [0] MessageBodyPartSynopsis,
- non-message [1] NonMessageBodyPartSynopsis
-}
-
-MessageBodyPartSynopsis ::= SEQUENCE {
- number [0] SequenceNumber,
- synopsis [1] IPMSynopsis
-}
-
-NonMessageBodyPartSynopsis ::= SEQUENCE {
- type [0] OBJECT IDENTIFIER,
- parameters [1] INSTANCE OF TYPE-IDENTIFIER OPTIONAL,
- size [2] INTEGER,
- processed [3] BOOLEAN DEFAULT FALSE
-}
-
--- Body part summary
-body-parts-summary X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BodyPartDescriptor,
- NUMERATION multi-valued,
- ID id-sat-body-parts-summary
-}
-
-BodyPartDescriptor ::= SEQUENCE {
- data [0] OBJECT IDENTIFIER,
- parameters [1] OBJECT IDENTIFIER OPTIONAL,
- this-child-entry [2] SequenceNumber OPTIONAL,
- position [3] INTEGER,
- size [4] INTEGER,
- processed [5] BOOLEAN DEFAULT FALSE
-}
-
--- IPM auto discarded
-ipm-auto-discarded X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BOOLEAN,
- EQUALITY MATCHING-RULE booleanMatch,
- NUMERATION single-valued,
- ID id-sat-ipm-auto-discarded
-}
-
--- Body part signature verification status
-body-part-signature-verification-status X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BodyPartSignatureVerification,
- NUMERATION single-valued,
- ID id-hat-body-part-signature-verification-status
-}
-
-BodyPartSignatureVerification ::=
- SET OF
- SET {body-part-sequence-number [0] BodyPartNumber,
- body-part-signature [1] SignatureStatus}
-
--- HEADING ATTRIBUTES
--- Heading
-heading X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Heading,
- NUMERATION single-valued,
- ID id-hat-heading
-}
-
--- Heading analyses
-rn-requestors X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORDescriptor,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- NUMERATION multi-valued,
- ID id-hat-rn-requestors
-}
-
-nrn-requestors X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORDescriptor,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- NUMERATION multi-valued,
- ID id-hat-nrn-requestors
-}
-
-reply-requestors X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORDescriptor,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- NUMERATION multi-valued,
- ID id-hat-reply-requestors
-}
-
--- Heading fields
-this-ipm X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ThisIPMField,
- EQUALITY MATCHING-RULE iPMIdentifierMatch,
- NUMERATION single-valued,
- ID id-hat-this-ipm
-}
-
-originator X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatorField,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION single-valued,
- ID id-hat-originator
-}
-
-replied-to-IPM X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX RepliedToIPMField,
- EQUALITY MATCHING-RULE iPMIdentifierMatch,
- NUMERATION single-valued,
- ID id-hat-replied-to-IPM
-}
-
-subject X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubjectField,
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
- NUMERATION single-valued,
- ID id-hat-subject
-}
-
-expiry-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ExpiryTimeField,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-hat-expiry-time
-}
-
-reply-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReplyTimeField,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-hat-reply-time
-}
-
-importance X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ImportanceField,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE
- integerOrderingMatch, -- not defined for 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-hat-importance
-}
-
-sensitivity X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SensitivityField,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE
- integerOrderingMatch, -- not defined for 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-hat-sensitivity
-}
-
-auto-forwarded X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AutoForwardedField,
- EQUALITY MATCHING-RULE booleanMatch,
- NUMERATION single-valued,
- ID id-hat-auto-forwarded
-}
-
--- Heading sub-fields
-authorizing-users X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AuthorizingUsersSubfield,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION multi-valued,
- ID id-hat-authorizing-users
-}
-
-primary-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PrimaryRecipientsSubfield,
- EQUALITY MATCHING-RULE recipientSpecifierMatch,
- OTHER MATCHING-RULES
- {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
- | recipientSpecifierSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-hat-primary-recipients
-}
-
-copy-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CopyRecipientsSubfield,
- EQUALITY MATCHING-RULE recipientSpecifierMatch,
- OTHER MATCHING-RULES
- {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
- | recipientSpecifierSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-hat-copy-recipients
-}
-
-blind-copy-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BlindCopyRecipientsSubfield,
- EQUALITY MATCHING-RULE recipientSpecifierMatch,
- OTHER MATCHING-RULES
- {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
- | recipientSpecifierSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-hat-blind-copy-recipients
-}
-
-obsoleted-IPMs X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ObsoletedIPMsSubfield,
- EQUALITY MATCHING-RULE iPMIdentifierMatch,
- NUMERATION multi-valued,
- ID id-hat-obsoleted-IPMs
-}
-
-related-IPMs X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX RelatedIPMsSubfield,
- EQUALITY MATCHING-RULE iPMIdentifierMatch,
- NUMERATION multi-valued,
- ID id-hat-related-IPMs
-}
-
-reply-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReplyRecipientsSubfield,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION multi-valued,
- ID id-hat-reply-recipients
-}
-
--- Heading extensions
-incomplete-copy X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IncompleteCopy,
- NUMERATION
- single-valued, -- An equality match is specified for 1988
-
-
- -- Application Contexts
- ID id-hat-incomplete-copy
-}
-
-languages X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Language,
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE
- mSSubstringsMatch, -- Not defined for 1988 Application Contexts
-
- NUMERATION multi-valued,
- ID id-hat-languages
-}
-
-auto-submitted X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AutoSubmitted,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-hat-auto-submitted
-}
-
-body-part-signatures X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BodyPartSignatures,
- NUMERATION single-valued,
- ID id-hat-body-part-signatures
-}
-
-ipm-security-label X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSecurityLabel,
- NUMERATION single-valued,
- ID id-hat-ipm-security-label
-}
-
-body-part-security-label X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BodyPartSecurityLabel,
- NUMERATION multi-valued,
- ID id-hat-body-part-security-label
-}
-
-authorization-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AuthorizationTime,
- EQUALITY MATCHING-RULE generalizedTimeMatch,
- ORDERING MATCHING-RULE generalizedTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-hat-authorization-time
-}
-
-circulation-list-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CirculationMember,
- EQUALITY MATCHING-RULE circulationMemberMatch,
- OTHER MATCHING-RULES
- {circulationMemberElementsMatch | circulationMemberSubstringElementsMatch |
- circulationMemberSingleElementMatch | circulationMemberCheckmarkMatch,
- ...},
- NUMERATION multi-valued,
- ID id-hat-circulation-list-recipients
-}
-
-distribution-codes X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DistributionCode,
- EQUALITY MATCHING-RULE distributionCodeMatch,
- NUMERATION multi-valued,
- ID id-hat-distribution-codes
-}
-
-extended-subject X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ExtendedSubject,
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
- NUMERATION single-valued,
- ID id-hat-extended-subject
-}
-
-information-category X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX InformationCategory,
- EQUALITY MATCHING-RULE informationCategoryMatch,
- NUMERATION multi-valued,
- ID id-hat-information-category
-}
-
-manual-handling-instructions X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ManualHandlingInstruction,
- EQUALITY MATCHING-RULE mSStringMatch,
- NUMERATION multi-valued,
- ID id-hat-manual-handling-instructions
-}
-
-originators-reference X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatorsReference,
- EQUALITY MATCHING-RULE mSStringMatch,
- NUMERATION single-valued,
- ID id-hat-originators-reference
-}
-
-precedence-policy-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PrecedencePolicyIdentifier,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION single-valued,
- ID id-hat-precedence-policy-id
-}
-
--- Recipient extensions
-precedence X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Precedence,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-hat-precedence
-}
-
--- Envelope extensions
-body-part-encryption-token X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BodyPartTokens,
- NUMERATION single-valued,
- ID id-hat-body-part-encryption-token
-}
-
-forwarded-content-token X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ForwardedContentToken,
- NUMERATION single-valued,
- ID id-hat-forwarded-content-token
-}
-
-forwarding-token X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageToken,
- NUMERATION single-valued,
- ID id-hat-forwarding-token
-}
-
--- BODY ATTRIBUTES
--- Body
-body X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Body,
- NUMERATION single-valued,
- ID id-bat-body
-}
-
--- Extended body part types
-extended-body-part-types X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION multi-valued,
- ID id-bat-extended-body-part-types
-}
-
--- Extended body parts
--- (These attributes cannot be enumerated. See 19.6.3.3.)
--- (They may be derived using the following parameterized object assignments:)
-extended-body-part-data-attribute{EXTENDED-BODY-PART-TYPE:ebpt} X413ATTRIBUTE
- ::= {
- WITH ATTRIBUTE-SYNTAX [0] EXPLICIT ebpt.&data.&Type,
- NUMERATION multi-valued,
- ID ebpt.&data.&id
-}
-
-extended-body-part-parameters-attribute{EXTENDED-BODY-PART-TYPE:ebpt}
- X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX [0] EXPLICIT ebpt.&parameters.&Type,
- NUMERATION multi-valued,
- ID ebpt.&parameters.&id
-}
-
--- Basic body parts
-ia5-text-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IA5TextBodyPart,
- NUMERATION multi-valued,
- ID id-bat-ia5-text-body-parts
-}
-
-g3-facsimile-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX G3FacsimileBodyPart,
- NUMERATION multi-valued,
- ID id-bat-g3-facsimile-body-parts
-}
-
-g4-class1-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX G4Class1BodyPart,
- NUMERATION multi-valued,
- ID id-bat-g4-class1-body-parts
-}
-
-teletex-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX TeletexBodyPart,
- NUMERATION multi-valued,
- ID id-bat-teletex-body-parts
-}
-
-videotex-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX VideotexBodyPart,
- NUMERATION multi-valued,
- ID id-bat-videotex-body-parts
-}
-
-encrypted-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX EncryptedBodyPart,
- NUMERATION multi-valued,
- ID id-bat-encrypted-body-parts
-}
-
-message-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- NUMERATION multi-valued,
- ID id-bat-message-body-parts
-}
-
-mixed-mode-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MixedModeBodyPart,
- NUMERATION multi-valued,
- ID id-bat-mixed-mode-body-parts
-}
-
-bilaterally-defined-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BilaterallyDefinedBodyPart,
- NUMERATION multi-valued,
- ID id-bat-bilaterally-defined-body-parts
-}
-
-nationally-defined-body-parts X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX NationallyDefinedBodyPart,
- NUMERATION multi-valued,
- ID id-bat-nationally-defined-body-parts
-}
-
--- Basic body part parameters components
-ia5-text-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IA5TextParameters,
- NUMERATION multi-valued,
- ID id-bat-ia5-text-parameters
-}
-
-g3-facsimile-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX G3FacsimileParameters,
- NUMERATION multi-valued,
- ID id-bat-g3-facsimile-parameters
-}
-
-teletex-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX TeletexParameters,
- NUMERATION multi-valued,
- ID id-bat-teletex-parameters
-}
-
-videotex-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX VideotexParameters,
- NUMERATION multi-valued,
- ID id-bat-videotex-parameters
-}
-
-encrypted-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX EncryptedParameters,
- NUMERATION multi-valued,
- ID id-bat-encrypted-parameters
-}
-
-message-parameters X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageParameters,
- NUMERATION multi-valued,
- ID id-bat-message-parameters
-}
-
--- Basic body part data components
-ia5-text-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IA5TextData,
- NUMERATION multi-valued,
- ID id-bat-ia5-text-data
-}
-
-g3-facsimile-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX G3FacsimileData,
- NUMERATION multi-valued,
- ID id-bat-g3-facsimile-data
-}
-
-teletex-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX TeletexData,
- NUMERATION multi-valued,
- ID id-bat-teletex-data
-}
-
-videotex-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX VideotexData,
- NUMERATION multi-valued,
- ID id-bat-videotex-data
-}
-
-encrypted-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX EncryptedData,
- NUMERATION multi-valued,
- ID id-bat-encrypted-data
-}
-
-message-data X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageData,
- NUMERATION multi-valued,
- ID id-bat-message-data
-}
-
--- NOTIFICATION ATTRIBUTES
--- Common fields
-subject-ipm X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubjectIPMField,
- EQUALITY MATCHING-RULE iPMIdentifierMatch,
- NUMERATION single-valued,
- ID id-nat-subject-ipm
-}
-
-ipn-originator X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPNOriginatorField,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION single-valued,
- ID id-nat-ipn-originator
-}
-
-ipm-intended-recipient X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMIntendedRecipientField,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION single-valued,
- ID id-nat-ipm-intended-recipient
-}
-
-conversion-eits X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MS-EIT,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION multi-valued,
- ID id-nat-conversion-eits
-}
-
-notification-extensions X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSExtension {{NotificationExtensions}},
- NUMERATION multi-valued,
- ID id-nat-notification-extensions
-}
-
--- Non-receipt fields
-non-receipt-reason X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX NonReceiptReasonField,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-nat-non-receipt-reason
-}
-
-discard-reason X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DiscardReasonField,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-nat-discard-reason
-}
-
-auto-forward-comment X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AutoForwardCommentField,
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
- NUMERATION single-valued,
- ID id-nat-auto-forward-comment
-}
-
-returned-ipm X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReturnedIPMField,
- NUMERATION single-valued,
- ID id-nat-returned-ipm
-}
-
-nrn-extensions X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSExtension {{NRNExtensions}},
- NUMERATION multi-valued,
- ID id-nat-nrn-extensions
-}
-
--- Receipt fields
-receipt-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReceiptTimeField,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-nat-receipt-time
-}
-
-acknowledgment-mode X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AcknowledgmentModeField,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-nat-acknowledgment-mode
-}
-
-suppl-receipt-info X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SupplReceiptInfoField,
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
- NUMERATION single-valued,
- ID id-nat-suppl-receipt-info
-}
-
-rn-extensions X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSExtension {{RNExtensions}},
- NUMERATION multi-valued,
- ID id-nat-rn-extensions
-}
-
--- Other notification type fields
-other-notification-type-fields X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMSExtension {{OtherNotifications}},
- NUMERATION multi-valued,
- ID id-nat-other-notification-type-fields
-}
-
--- CORRELATION ATTRIBUTES
--- Common attributes
-ac-forwarding-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-forwarding-ipms
-}
-
-ac-forwarded-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-forwarded-ipms
-}
-
-ac-obsoleting-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-obsoleting-ipms
-}
-
-ac-obsoleted-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMLocation,
- OTHER MATCHING-RULES {iPMLocationMatch, ...},
- NUMERATION multi-valued,
- ID id-cat-obsoleted-ipms
-}
-
-IPMLocation ::= CHOICE {stored SET OF SequenceNumber,
- absent NULL,
- ...
-}
-
-ac-relating-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-relating-ipms
-}
-
-ac-related-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX IPMLocation,
- OTHER MATCHING-RULES {iPMLocationMatch, ...},
- NUMERATION multi-valued,
- ID id-cat-related-ipms
-}
-
-ac-replied-to-ipm X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-replied-to-ipm
-}
-
-ac-replying-ipms X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-replying-ipms
-}
-
-ac-subject-ipm X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-subject-ipm
-}
-
--- Submitted message correlation
-ac-ipm-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORDescriptor,
- EQUALITY MATCHING-RULE oRDescriptorMatch,
- OTHER MATCHING-RULES
- {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
- oRDescriptorSubstringElementsMatch, ...},
- NUMERATION multi-valued,
- ID id-cat-ipm-recipients
-}
-
-ac-delivered-replies-summary X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeliveredReplyStatus,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-delivered-replies-summary
-}
-
-DeliveredReplyStatus ::= INTEGER {
- no-reply-requested(0) -- reply not requested --,
- reply-outstanding(1) -- reply requested --, reply-received(2)}
-
-ac-correlated-delivered-replies X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CorrelatedDeliveredReplies,
- NUMERATION multi-valued,
- ID id-cat-correlated-delivered-replies
-}
-
-CorrelatedDeliveredReplies ::= CHOICE {
- no-reply-received [0] NULL,
- received-replies [1] SEQUENCE OF SequenceNumber
-}
-
-ac-delivered-ipn-summary X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeliveredIPNStatus,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-delivered-ipn-summary
-}
-
-DeliveredIPNStatus ::= INTEGER {
- no-ipn-requested(0), an-requested(3), nrn-requested(5), rn-requested(10),
- an-received(13), ipm-auto-forwarded(15), ipm-discarded(20), rn-received(25)
-}
-
-ac-correlated-delivered-ipns X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CorrelatedDeliveredIPNs,
- NUMERATION multi-valued,
- ID id-cat-correlated-delivered-ipns
-}
-
-CorrelatedDeliveredIPNs ::= CHOICE {
- no-ipn-received [0] NULL,
- ipns-received [1] SEQUENCE OF SequenceNumber
-}
-
--- Delivered message correlation
-ac-submitted-reply-status X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubmittedReplyStatus,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-cat-submitted-reply-status
-}
-
-SubmittedReplyStatus ::= INTEGER {
- no-reply-requested(0), no-reply-intended(1), reply-pending(2), reply-sent(3)
-}
-
-ac-submitted-ipn-status X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubmittedIPNStatus,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-cat-submitted-ipn-status
-}
-
-SubmittedIPNStatus ::= INTEGER {
- no-ipn-requested(0), nrn-requested(5), nrn-with-ipm-return-requested(10),
- rn-requested(15), rn-with-ipm-return-requested(20), ipm-auto-forwarded(25),
- ipm-discarded(30), rn-sent(35)}
-
-ac-submitted-ipns X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-cat-submitted-ipns
-}
-
-recipient-category X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX RecipientCategory,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-cat-recipient-category
-}
-
-RecipientCategory ::= INTEGER {
- primary-recipient(0), copy-recipient(1), blind-copy-recipient(2),
- category-unknown(3), circulation-list(4)}
-
-revised-reply-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReplyTimeField,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-cat-revised-reply-time
-}
-
--- MATCHING-RULES
-IPMMatchingRuleTable MATCHING-RULE ::=
- {iPMIdentifierMatch | oRDescriptorMatch | recipientSpecifierMatch,
- ... -- 1994 extension additions --, circulationMemberCheckmarkMatch |
- circulationMemberElementsMatch | circulationMemberMatch |
- circulationMemberSingleElementMatch |
- circulationMemberSubstringElementsMatch | distributionCodeMatch |
- informationCategoryMatch | iPMLocationMatch | oRDescriptorElementsMatch |
- oRDescriptorSingleElementMatch | oRDescriptorSubstringElementsMatch |
- recipientSpecifierElementsMatch | recipientSpecifierSingleElementMatch |
- recipientSpecifierSubstringElementsMatch}
-
-iPMIdentifierMatch MATCHING-RULE ::= {
- SYNTAX IPMIdentifier
- ID id-mr-ipm-identifier
-}
-
-iPMLocationMatch MATCHING-RULE ::= {
- SYNTAX SequenceNumber
- ID id-mr-ipm-location
-}
-
-oRDescriptorMatch MATCHING-RULE ::= {
- SYNTAX ORDescriptor
- ID id-mr-or-descriptor
-}
-
-oRDescriptorElementsMatch MATCHING-RULE ::= {
- SYNTAX ORDescriptor
- ID id-mr-or-descriptor-elements
-}
-
-oRDescriptorSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX ORDescriptor
- ID id-mr-or-descriptor-substring-elements
-}
-
-oRDescriptorSingleElementMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-or-descriptor-single-element
-}
-
-recipientSpecifierMatch MATCHING-RULE ::= {
- SYNTAX RecipientSpecifier
- ID id-mr-recipient-specifier
-}
-
-recipientSpecifierElementsMatch MATCHING-RULE ::= {
- SYNTAX RecipientSpecifier
- ID id-mr-recipient-specifier-elements
-}
-
-recipientSpecifierSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX RecipientSpecifier
- ID id-mr-recipient-specifier-substring-elements
-}
-
-recipientSpecifierSingleElementMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-recipient-specifier-single-element
-}
-
-circulationMemberMatch MATCHING-RULE ::= {
- SYNTAX CirculationMember
- ID id-mr-circulation-member
-}
-
-circulationMemberElementsMatch MATCHING-RULE ::= {
- SYNTAX CirculationMember
- ID id-mr-circulation-member-elements
-}
-
-circulationMemberSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX CirculationMember
- ID id-mr-circulation-member-substring-elements
-}
-
-circulationMemberSingleElementMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-circulation-member-single-element
-}
-
-circulationMemberCheckmarkMatch MATCHING-RULE ::= {
- SYNTAX CirculationMember
- ID id-mr-circulation-member-checkmark
-}
-
-distributionCodeMatch MATCHING-RULE ::= {
- SYNTAX DistributionCode
- ID id-mr-distribution-code
-}
-
-informationCategoryMatch MATCHING-RULE ::= {
- SYNTAX InformationCategory
- ID id-mr-information-category
-}
-
-END -- of IPMSMessageStoreAttributes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSObjectIdentifiers.asn
deleted file mode 100644
index 6e5c01ab40..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSObjectIdentifiers.asn
+++ /dev/null
@@ -1,507 +0,0 @@
--- Module IPMSObjectIdentifiers (X.420:06/1999)
-IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS -- nothing -- ;
-
-ID ::= OBJECT IDENTIFIER
-
--- Interpersonal Messaging (not definitive)
-id-ipms ID ::=
- {joint-iso-itu-t mhs(6) ipms(1)} -- not definitive
-
--- Categories
-id-mod ID ::= {id-ipms 0} -- modules; not definitive
-
-id-ot ID ::= {id-ipms 1} -- object types
-
-id-pt ID ::= {id-ipms 2} -- port types
-
-id-et ID ::= {id-ipms 4} -- extended body part types
-
-id-hex ID ::= {id-ipms 5} -- heading extensions
-
-id-sat ID ::= {id-ipms 6} -- summary attributes
-
-id-hat ID ::= {id-ipms 7} -- heading attributes
-
-id-bat ID ::= {id-ipms 8} -- body attributes
-
-id-nat ID ::= {id-ipms 9} -- notification attributes
-
-id-mct ID ::= {id-ipms 10} -- message content types
-
-id-ep ID ::= {id-ipms 11} -- extended body part parameters
-
-id-eit ID ::= {id-ipms 12} -- encoded information types
-
-id-cat ID ::= {id-ipms 13} -- correlation attributes
-
-id-mr ID ::= {id-ipms 14} -- matching-rules
-
-id-aa ID ::= {id-ipms 15} -- auto-actions
-
-id-aae ID ::= {id-ipms 16} -- auto-action errors
-
-id-mst ID ::= {id-ipms 17} -- message store types
-
-id-sec ID ::= {id-ipms 18} -- ipm security extensions
-
-id-on ID ::= {id-ipms 19} -- other notification type extensions
-
-id-rex ID ::= {id-ipms 20} -- recipient extensions
-
--- Modules
-id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive
-
-id-mod-functional-objects ID ::= {id-mod 1} -- not definitive
-
-id-mod-information-objects ID ::= {id-mod 2} -- not definitive
-
-id-mod-abstract-service ID ::= {id-mod 3} -- not definitive
-
-id-mod-heading-extensions ID ::= {id-mod 6} -- not definitive
-
-id-mod-extended-body-part-types ID ::= {id-mod 7} -- not definitive
-
-id-mod-message-store-attributes ID ::= {id-mod 8} -- not definitive
-
-id-mod-file-transfer-body-part-type ID ::= {id-mod 9} -- not definitive
-
-id-mod-upper-bounds ID ::= {id-mod 10} -- not definitive
-
-id-mod-extended-voice-body-part-type ID ::= {id-mod 11} -- not definitive
-
-id-mod-forwarded-report-body-part-type ID ::= {id-mod 12} -- not definitive
-
-id-mod-auto-actions ID ::= {id-mod 13} -- not definitive
-
-id-mod-ipm-security-extensions ID ::= {id-mod 14} -- not definitive
-
-id-mod-forwarded-content-body-part-type ID ::= {id-mod 15} -- not definitive
-
-id-mod-pkcs7-body-part-type ID ::= {id-mod 16} -- not definitive
-
--- Object types
-id-ot-ipms-user ID ::= {id-ot 1}
-
-id-ot-ipms ID ::= {id-ot 2}
-
--- Port types
-id-pt-origination ID ::= {id-pt 0}
-
-id-pt-reception ID ::= {id-pt 1}
-
-id-pt-management ID ::= {id-pt 2}
-
--- Extended body part types
-id-et-ia5-text ID ::= {id-et 0}
-
-id-et-g3-facsimile ID ::= {id-et 2}
-
-id-et-g4-class1 ID ::= {id-et 3}
-
-id-et-teletex ID ::= {id-et 4}
-
-id-et-videotex ID ::= {id-et 5}
-
-id-et-encrypted ID ::= {id-et 6}
-
-id-et-message ID ::= {id-et 7}
-
-id-et-mixed-mode ID ::= {id-et 8}
-
-id-et-bilaterally-defined ID ::= {id-et 9}
-
-id-et-nationally-defined ID ::= {id-et 10}
-
-id-et-general-text ID ::= {id-et 11}
-
-id-et-file-transfer ID ::= {id-et 12}
-
--- Value {id-et 13} is no longer defined
-id-et-report ID ::= {id-et 14}
-
-id-et-notification ID ::= {id-et 15}
-
-id-et-voice ID ::= {id-et 16}
-
-id-et-content ID ::=
- {id-et 17} -- This value is not used directly, only as a prefix
-
-id-et-pkcs7 ID ::= {id-et 18}
-
--- Heading extensions
-id-hex-incomplete-copy ID ::= {id-hex 0}
-
-id-hex-languages ID ::= {id-hex 1}
-
-id-hex-auto-submitted ID ::= {id-hex 2}
-
-id-hex-body-part-signatures ID ::= {id-hex 3}
-
-id-hex-ipm-security-label ID ::= {id-hex 4}
-
-id-hex-authorization-time ID ::= {id-hex 5}
-
-id-hex-circulation-list-recipients ID ::= {id-hex 6}
-
-id-hex-distribution-codes ID ::= {id-hex 7}
-
-id-hex-extended-subject ID ::= {id-hex 8}
-
-id-hex-information-category ID ::= {id-hex 9}
-
-id-hex-manual-handling-instructions ID ::= {id-hex 10}
-
-id-hex-originators-reference ID ::= {id-hex 11}
-
-id-hex-precedence-policy-id ID ::= {id-hex 12}
-
--- Summary attributes
-id-sat-ipm-entry-type ID ::= {id-sat 0}
-
-id-sat-ipm-synopsis ID ::= {id-sat 1}
-
-id-sat-body-parts-summary ID ::= {id-sat 2}
-
-id-sat-ipm-auto-discarded ID ::= {id-sat 3}
-
--- Heading attributes
-id-hat-heading ID ::= {id-hat 0}
-
-id-hat-this-ipm ID ::= {id-hat 1}
-
-id-hat-originator ID ::= {id-hat 2}
-
-id-hat-replied-to-IPM ID ::= {id-hat 3}
-
-id-hat-subject ID ::= {id-hat 4}
-
-id-hat-expiry-time ID ::= {id-hat 5}
-
-id-hat-reply-time ID ::= {id-hat 6}
-
-id-hat-importance ID ::= {id-hat 7}
-
-id-hat-sensitivity ID ::= {id-hat 8}
-
-id-hat-auto-forwarded ID ::= {id-hat 9}
-
-id-hat-authorizing-users ID ::= {id-hat 10}
-
-id-hat-primary-recipients ID ::= {id-hat 11}
-
-id-hat-copy-recipients ID ::= {id-hat 12}
-
-id-hat-blind-copy-recipients ID ::= {id-hat 13}
-
-id-hat-obsoleted-IPMs ID ::= {id-hat 14}
-
-id-hat-related-IPMs ID ::= {id-hat 15}
-
-id-hat-reply-recipients ID ::= {id-hat 16}
-
-id-hat-incomplete-copy ID ::= {id-hat 17}
-
-id-hat-languages ID ::= {id-hat 18}
-
-id-hat-rn-requestors ID ::= {id-hat 19}
-
-id-hat-nrn-requestors ID ::= {id-hat 20}
-
-id-hat-reply-requestors ID ::= {id-hat 21}
-
-id-hat-auto-submitted ID ::= {id-hat 22}
-
-id-hat-body-part-signatures ID ::= {id-hat 23}
-
-id-hat-ipm-security-label ID ::= {id-hat 24}
-
-id-hat-body-part-security-label ID ::= {id-hat 25}
-
-id-hat-body-part-encryption-token ID ::= {id-hat 26}
-
-id-hat-authorization-time ID ::= {id-hat 27}
-
-id-hat-circulation-list-recipients ID ::= {id-hat 28}
-
-id-hat-distribution-codes ID ::= {id-hat 29}
-
-id-hat-extended-subject ID ::= {id-hat 30}
-
-id-hat-information-category ID ::= {id-hat 31}
-
-id-hat-manual-handling-instructions ID ::= {id-hat 32}
-
-id-hat-originators-reference ID ::= {id-hat 33}
-
-id-hat-precedence-policy-id ID ::= {id-hat 34}
-
-id-hat-forwarded-content-token ID ::= {id-hat 35}
-
-id-hat-forwarding-token ID ::= {id-hat 36}
-
-id-hat-precedence ID ::= {id-hat 37}
-
-id-hat-body-part-signature-verification-status ID ::= {id-hat 38}
-
--- Body attributes
-id-bat-body ID ::= {id-bat 0}
-
-id-bat-ia5-text-body-parts ID ::= {id-bat 1}
-
-id-bat-g3-facsimile-body-parts ID ::= {id-bat 3}
-
-id-bat-g4-class1-body-parts ID ::= {id-bat 4}
-
-id-bat-teletex-body-parts ID ::= {id-bat 5}
-
-id-bat-videotex-body-parts ID ::= {id-bat 6}
-
-id-bat-encrypted-body-parts ID ::= {id-bat 7}
-
-id-bat-message-body-parts ID ::= {id-bat 8}
-
-id-bat-mixed-mode-body-parts ID ::= {id-bat 9}
-
-id-bat-bilaterally-defined-body-parts ID ::= {id-bat 10}
-
-id-bat-nationally-defined-body-parts ID ::= {id-bat 11}
-
-id-bat-extended-body-part-types ID ::= {id-bat 12}
-
-id-bat-ia5-text-parameters ID ::= {id-bat 13}
-
-id-bat-g3-facsimile-parameters ID ::= {id-bat 15}
-
-id-bat-teletex-parameters ID ::= {id-bat 16}
-
-id-bat-videotex-parameters ID ::= {id-bat 17}
-
-id-bat-encrypted-parameters ID ::= {id-bat 18}
-
-id-bat-message-parameters ID ::= {id-bat 19}
-
-id-bat-ia5-text-data ID ::= {id-bat 20}
-
-id-bat-g3-facsimile-data ID ::= {id-bat 22}
-
-id-bat-teletex-data ID ::= {id-bat 23}
-
-id-bat-videotex-data ID ::= {id-bat 24}
-
-id-bat-encrypted-data ID ::= {id-bat 25}
-
-id-bat-message-data ID ::= {id-bat 26}
-
--- Notification attributes
-id-nat-subject-ipm ID ::= {id-nat 0}
-
-id-nat-ipn-originator ID ::= {id-nat 1}
-
-id-nat-ipm-intended-recipient ID ::= {id-nat 2}
-
-id-nat-conversion-eits ID ::= {id-nat 3}
-
-id-nat-non-receipt-reason ID ::= {id-nat 4}
-
-id-nat-discard-reason ID ::= {id-nat 5}
-
-id-nat-auto-forward-comment ID ::= {id-nat 6}
-
-id-nat-returned-ipm ID ::= {id-nat 7}
-
-id-nat-receipt-time ID ::= {id-nat 8}
-
-id-nat-acknowledgment-mode ID ::= {id-nat 9}
-
-id-nat-suppl-receipt-info ID ::= {id-nat 10}
-
-id-nat-notification-extensions ID ::= {id-nat 11}
-
-id-nat-nrn-extensions ID ::= {id-nat 12}
-
-id-nat-rn-extensions ID ::= {id-nat 13}
-
-id-nat-other-notification-type-fields ID ::= {id-nat 14}
-
--- Correlation attributes
-id-cat-correlated-delivered-ipns ID ::= {id-cat 0}
-
-id-cat-correlated-delivered-replies ID ::= {id-cat 1}
-
-id-cat-delivered-ipn-summary ID ::= {id-cat 2}
-
-id-cat-delivered-replies-summary ID ::= {id-cat 3}
-
-id-cat-forwarded-ipms ID ::= {id-cat 4}
-
-id-cat-forwarding-ipms ID ::= {id-cat 5}
-
-id-cat-ipm-recipients ID ::= {id-cat 6}
-
-id-cat-obsoleted-ipms ID ::= {id-cat 7}
-
-id-cat-obsoleting-ipms ID ::= {id-cat 8}
-
-id-cat-related-ipms ID ::= {id-cat 9}
-
-id-cat-relating-ipms ID ::= {id-cat 10}
-
-id-cat-replied-to-ipm ID ::= {id-cat 11}
-
-id-cat-replying-ipms ID ::= {id-cat 12}
-
-id-cat-revised-reply-time ID ::= {id-cat 13}
-
-id-cat-submitted-ipn-status ID ::= {id-cat 14}
-
-id-cat-submitted-ipns ID ::= {id-cat 15}
-
-id-cat-submitted-reply-status ID ::= {id-cat 16}
-
-id-cat-subject-ipm ID ::= {id-cat 17}
-
-id-cat-recipient-category ID ::= {id-cat 18}
-
--- Message content types (for use by MS and Directory)
-id-mct-p2-1984 ID ::=
- {id-mct 0} -- P2 1984
-
-id-mct-p2-1988 ID ::= {id-mct 1} -- P2 1988
-
--- Extended body part parameters
-id-ep-ia5-text ID ::= {id-ep 0}
-
-id-ep-g3-facsimile ID ::= {id-ep 2}
-
-id-ep-teletex ID ::= {id-ep 4}
-
-id-ep-videotex ID ::= {id-ep 5}
-
-id-ep-encrypted ID ::= {id-ep 6}
-
-id-ep-message ID ::= {id-ep 7}
-
-id-ep-general-text ID ::= {id-ep 11}
-
-id-ep-file-transfer ID ::= {id-ep 12}
-
--- Value {id-ep 13} is no longer defined
-id-ep-notification ID ::= {id-ep 15}
-
-id-ep-voice ID ::= {id-ep 16}
-
-id-ep-content ID ::=
- {id-ep 17} -- This value is not used directly, only as a prefix
-
--- Encoded Information Types
-id-eit-file-transfer ID ::= {id-eit 0}
-
-id-eit-voice ID ::= {id-eit 1}
-
--- Voice Encoded Information Types
-id-voice-11khz-sample ID ::=
- {id-eit-voice 0}
-
-id-voice-22khz-sample ID ::= {id-eit-voice 1}
-
-id-voice-cd-quality ID ::= {id-eit-voice 2}
-
-id-voice-g711-mu-law ID ::= {id-eit-voice 3}
-
-id-voice-g726-32k-adpcm ID ::= {id-eit-voice 4}
-
-id-voice-g728-16k-ld-celp ID ::= {id-eit-voice 5}
-
--- Matching-rules
-id-mr-ipm-identifier ID ::= {id-mr 0}
-
-id-mr-or-descriptor ID ::= {id-mr 1}
-
-id-mr-or-descriptor-elements ID ::= {id-mr 2}
-
-id-mr-or-descriptor-substring-elements ID ::= {id-mr 3}
-
-id-mr-recipient-specifier ID ::= {id-mr 4}
-
-id-mr-recipient-specifier-elements ID ::= {id-mr 5}
-
-id-mr-recipient-specifier-substring-elements ID ::= {id-mr 6}
-
-id-mr-ipm-location ID ::= {id-mr 7}
-
-id-mr-or-descriptor-single-element ID ::= {id-mr 8}
-
-id-mr-recipient-specifier-single-element ID ::= {id-mr 9}
-
-id-mr-circulation-member ID ::= {id-mr 10}
-
-id-mr-circulation-member-elements ID ::= {id-mr 11}
-
-id-mr-circulation-member-substring-elements ID ::= {id-mr 12}
-
-id-mr-circulation-member-single-element ID ::= {id-mr 13}
-
-id-mr-circulation-member-checkmark ID ::= {id-mr 14}
-
-id-mr-distribution-code ID ::= {id-mr 15}
-
-id-mr-information-category ID ::= {id-mr 16}
-
--- Auto-actions
-id-aa-ipm-auto-acknowledgement ID ::= {id-aa 0}
-
-id-aa-ipm-auto-correlate ID ::= {id-aa 1}
-
-id-aa-ipm-auto-discard ID ::= {id-aa 2}
-
-id-aa-ipm-auto-advise ID ::= {id-aa 3}
-
--- Auto-action-errors
-id-aae-auto-discard-error ID ::= {id-aae 0}
-
-id-aae-auto-forwarding-loop ID ::= {id-aae 1}
-
-id-aae-duplicate-ipn ID ::= {id-aae 2}
-
--- Message Store types
-id-mst-invalid-assembly-instructions ID ::= {id-mst 0}
-
-id-mst-invalid-ipn ID ::= {id-mst 1}
-
-id-mst-assembly-instructions ID ::= {id-mst 2}
-
-id-mst-suspend-auto-acknowledgement ID ::= {id-mst 3}
-
-id-mst-prevent-nrn-generation ID ::= {id-mst 4}
-
-id-mst-originator-body-part-encryption-token ID ::= {id-mst 5}
-
-id-mst-originator-forwarded-content-token ID ::= {id-mst 6}
-
-id-mst-assembly-capability ID ::= {id-mst 7}
-
--- Security extensions
-id-sec-ipm-security-request ID ::= {id-sec 0}
-
-id-sec-security-common-fields ID ::= {id-sec 1}
-
--- Other notification types
-id-on-absence-advice ID ::= {id-on 0}
-
-id-on-change-of-address-advice ID ::= {id-on 1}
-
--- Recipient extensions
-id-rex-circulation-list-indicator ID ::= {id-rex 0}
-
-id-rex-precedence ID ::= {id-rex 1}
-
-END -- of IPMSObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSObjectIdentifiers2.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSObjectIdentifiers2.asn
deleted file mode 100644
index 2b46b27b3e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSObjectIdentifiers2.asn
+++ /dev/null
@@ -1,33 +0,0 @@
--- Module IPMSObjectIdentifiers2 (X.420:06/1999)
-IPMSObjectIdentifiers2 {iso standard mhs(10021) ipms(7) modules(0)
- object-identifiers(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS -- nothing -- ;
-
-ID ::= OBJECT IDENTIFIER
-
--- Interpersonal Messaging (ISO/IEC extensions)
-id-iso-ipms ID ::=
- {iso standard mhs(10021) ipms(7)}
-
--- Categories
-id-iso-mod ID ::= {id-iso-ipms 0} -- modules; not definitive
-
-id-iso-cs ID ::= {id-iso-ipms 1} -- character sets
-
--- Modules
-id-mod-object-identifiers-2 ID ::= {id-iso-mod 0} -- not definitive
-
-id-mod-extended-body-part-types-2 ID ::= {id-iso-mod 1} -- not definitive
-
--- Registration Authority for General Text Character Set EITs
-id-cs-eit-authority ID ::=
- {id-iso-cs 0}
-
-END -- of IPMSObjectIdentifiers2
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSSecurityExtensions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSSecurityExtensions.asn
deleted file mode 100644
index 8c692ccb31..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSSecurityExtensions.asn
+++ /dev/null
@@ -1,143 +0,0 @@
--- Module IPMSSecurityExtensions (X.420:06/1999)
-IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- ipm-security-extensions(14) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- MTS Abstract Service
- Certificates, Content, ContentIntegrityCheck, ExtendedCertificates,
- EXTENSION, MessageOriginAuthenticationCheck, MessageToken, EncryptionKey
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- IPMS Information Objects
- IPMS-EXTENSION
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Heading Extensions
- BodyPartNumber
- --==
- FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- heading-extensions(6) version-1999(1)}
- -- Directory Authentication Framework
- AlgorithmIdentifier, ENCRYPTED{}
- --==
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3}
- -- Directory Certificate Extensions
- CertificateAssertion
- --==
- FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
- certificateExtensions(26) 0}
- -- IPMS Object Identifiers
- id-sec-ipm-security-request, id-sec-security-common-fields
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Recipient Security Request
-recipient-security-request IPMS-EXTENSION ::= {
- VALUE RecipientSecurityRequest,
- IDENTIFIED BY id-sec-ipm-security-request
-}
-
-RecipientSecurityRequest ::= BIT STRING {
- content-non-repudiation(0), content-proof(1), ipn-non-repudiation(2),
- ipn-proof(3)}
-
--- IPN Security Response
-ipn-security-response IPMS-EXTENSION ::= {
- VALUE IpnSecurityResponse,
- IDENTIFIED BY id-sec-security-common-fields
-}
-
-IpnSecurityResponse ::= SET {
- content-or-arguments
- CHOICE {original-content OriginalContent,
- original-security-arguments
- SET {original-content-integrity-check
- [0] OriginalContentIntegrityCheck OPTIONAL,
- original-message-origin-authentication-check
- [1] OriginalMessageOriginAuthenticationCheck OPTIONAL,
- original-message-token
- [2] OriginalMessageToken OPTIONAL}},
- security-diagnostic-code SecurityDiagnosticCode OPTIONAL
-}
-
--- MTS security fields
-OriginalContent ::= Content
-
-OriginalContentIntegrityCheck ::= ContentIntegrityCheck
-
-OriginalMessageOriginAuthenticationCheck ::= MessageOriginAuthenticationCheck
-
-OriginalMessageToken ::= MessageToken
-
--- Security Diagnostic Codes
-SecurityDiagnosticCode ::= INTEGER {
- integrity-failure-on-subject-message(0),
- integrity-failure-on-forwarded-message(1),
- moac-failure-on-subject-message(2), unsupported-security-policy(3),
- unsupported-algorithm-identifier(4), decryption-failed(5), token-error(6),
- unable-to-sign-notification(7), unable-to-sign-message-receipt(8),
- authentication-failure-on-subject-message(9),
- security-context-failure-message(10), message-sequence-failure(11),
- message-security-labelling-failure(12), repudiation-failure-of-message(13),
- failure-of-proof-of-message(14), signature-key-unobtainable(15),
- decryption-key-unobtainable(16), key-failure(17),
- unsupported-request-for-security-service(18),
- inconsistent-request-for-security-service(19),
- ipn-non-repudiation-provided-instead-of-content-proof(20),
- token-decryption-failed(21), double-enveloping-message-restoring-failure(22),
- unauthorised-dl-member(23), reception-security-failure(24),
- unsuitable-alternate-recipient(25), security-services-refusal(26),
- unauthorised-recipient(27), unknown-certification-authority-name(28),
- unknown-dl-name(29), unknown-originator-name(30), unknown-recipient-name(31),
- security-policy-violation(32)}
-
--- Security Envelope Extensions
-body-part-encryption-token EXTENSION ::= {
- BodyPartTokens,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:43
-}
-
-BodyPartTokens ::=
- SET OF
- SET {body-part-number BodyPartNumber,
- body-part-choice
- CHOICE {encryption-token EncryptionToken,
- message-or-content-body-part [0] BodyPartTokens}
- }
-
-EncryptionToken ::= SET {
- encryption-algorithm-identifier AlgorithmIdentifier,
- encrypted-key ENCRYPTED{EncryptionKey},
- recipient-certificate-selector [0] CertificateAssertion OPTIONAL,
- recipient-certificate [1] Certificates OPTIONAL,
- originator-certificate-selector [2] CertificateAssertion OPTIONAL,
- originator-certificates [3] ExtendedCertificates OPTIONAL,
- ...
-}
-
-forwarded-content-token EXTENSION ::= {
- ForwardedContentToken,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:44
-}
-
-ForwardedContentToken ::=
- SET OF
- SET {body-part-number BodyPartNumber,
- body-part-choice
- CHOICE {forwarding-token MessageToken,
- message-or-content-body-part ForwardedContentToken
- }}
-
-END -- of IPMSSecurityExtensions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSUpperBounds.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSUpperBounds.asn
deleted file mode 100644
index 27324f614f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/IPMSUpperBounds.asn
+++ /dev/null
@@ -1,46 +0,0 @@
--- Module IPMSUpperBounds (X.420:06/1999)
-IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0) upper-bounds(10)
- version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS -- nothing -- ;
-
--- Upper bounds
-ub-alpha-code-length INTEGER ::= 16
-
-ub-auto-forward-comment INTEGER ::= 256
-
-ub-circulation-list-members INTEGER ::= 256
-
-ub-distribution-codes INTEGER ::= 16
-
-ub-extended-subject-length INTEGER ::= 256
-
-ub-free-form-name INTEGER ::= 64
-
-ub-information-categories INTEGER ::= 16
-
-ub-information-category-length INTEGER ::= 64
-
-ub-ipm-identifier-suffix INTEGER ::= 2
-
-ub-local-ipm-identifier INTEGER ::= 64
-
-ub-manual-handling-instruction-length INTEGER ::= 128
-
-ub-manual-handling-instructions INTEGER ::= 16
-
-ub-originators-reference-length INTEGER ::= 64
-
-ub-precedence INTEGER ::= 127
-
-ub-subject-field INTEGER ::= 128
-
-ub-telephone-number INTEGER ::= 32
-
-END -- of IPMSUpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO-STANDARD-9541-FONT-ATTRIBUTE-SET.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO-STANDARD-9541-FONT-ATTRIBUTE-SET.asn
deleted file mode 100644
index b7efd7417e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO-STANDARD-9541-FONT-ATTRIBUTE-SET.asn
+++ /dev/null
@@ -1,459 +0,0 @@
--- Module ISO-STANDARD-9541-FONT-ATTRIBUTE-SET (ISO:1991)
---
--- Copyright � ISO/IEC 1991. This version of
--- this ASN.1 module is part of ISO|IEC 9541-2:1991;
--- see the ISO|IEC text itself for full legal notices.
---
-ISO-STANDARD-9541-FONT-ATTRIBUTE-SET {1 0 9541 2 2} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Font-Attribute-Set;
-
-IMPORTS Structured-Name
- FROM ISO9541-SN {1 0 9541 2 3};
-
-Font-Attribute-Set ::= SEQUENCE {
- name-prefixes [0] IMPLICIT SET OF Name-Prefix OPTIONAL,
- iso-standard-9541-fontname [1] IMPLICIT Global-Name OPTIONAL,
- iso-standard-9541-fontdescription [2] IMPLICIT Font-Description OPTIONAL,
- iso-standard-9541-wrmodes [3] IMPLICIT Writing-Modes OPTIONAL,
- non-iso-properties [5] IMPLICIT Property-List OPTIONAL
-}
-
-Font-Description ::= SET {
- iso-standard-9541-dataversion [0] IMPLICIT Data-Version OPTIONAL,
- iso-standard-9541-Standardversion [1] IMPLICIT Cardinal OPTIONAL,
- iso-standard-9541-datasource [2] IMPLICIT Global-Name OPTIONAL,
- iso-standard-9541-datacopyright [3] Message OPTIONAL,
- iso-standard-9541-dsnsource [4] IMPLICIT Global-Name OPTIONAL,
- iso-standard-9541-dsncopyright [5] Message OPTIONAL,
- iso-standard-9541-relunits [6] IMPLICIT Cardinal DEFAULT 1,
- iso-standard-9541-typeface [7] Message OPTIONAL,
- iso-standard-9541-fontfamily [8] Match-String OPTIONAL,
- iso-standard-9541-posture [9] IMPLICIT Posture-Code OPTIONAL,
- iso-standard-9541-postureangle [10] IMPLICIT Angle OPTIONAL,
- iso-standard-9541-weight [11] IMPLICIT Weight-Code OPTIONAL,
- iso-standard-9541-propwidth [12] IMPLICIT Width-Code OPTIONAL,
- iso-standard-9541-glyphcomp [13] IMPLICIT Glyph-Complement OPTIONAL,
- iso-standard-9541-nomwrmode [14] IMPLICIT Global-Name OPTIONAL,
- iso-standard-9541-dsnsize [15] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-minsize [16] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-maxsize [17] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-capheight [18] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-lcheight [19] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-dsngroup [20] IMPLICIT Design-Group OPTIONAL,
- iso-standard-9541-structure [21] IMPLICIT Structure-Code OPTIONAL,
- iso-standard-9541-minfeatsz [22] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-nomcapstemwidth [23] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-nomlcstemwidth [24] IMPLICIT Rel-Rational OPTIONAL,
- non-iso-properties [25] IMPLICIT Property-List OPTIONAL
-}
-
-Name-Prefix ::= SEQUENCE {
- --see NOTE 3 at the end of 6.1
- index [0] IMPLICIT Code,
- prefix [1] IMPLICIT Structured-Name
-}
-
-Data-Version ::= SEQUENCE {
- major [0] IMPLICIT Cardinal OPTIONAL,
- minor [1] IMPLICIT Cardinal OPTIONAL,
- timestamp [2] IMPLICIT UTCTime OPTIONAL
-}
-
-Posture-Code ::= INTEGER {
- not-applicable(0), upright(1), oblique-forward(2), oblique-backward(3),
- italic-forward(4), italic-backward(5), other(6)}
-
-Weight-Code ::= INTEGER {
- not-applicable(0), ultra-light(1), extra-light(2), light(3), semi-light(4),
- medium(5), semi-bold(6), bold(7), extra-bold(8), ultra-bold(9)}
-
-Width-Code ::= INTEGER {
- not-applicable(0), ultra-condensed(1), extra-condensed(2), condensed(3),
- semi-condensed(4), medium(5), semi-expanded(6), expanded(7),
- extra-expanded(8), ultra-expanded(9)}
-
-Glyph-Complement ::= SEQUENCE {
- -- at least one included glyph list or at least one
- -- included glyph collection list is mandatory
- iso-standard-9541-numglyphs [0] IMPLICIT Cardinal OPTIONAL,
- iso-standard-9541-incglyphcols [1] IMPLICIT SET OF Global-Name OPTIONAL,
- -- at least one is required
- iso-standard-9541-excglyphcols [2] IMPLICIT SET OF Global-Name OPTIONAL,
- -- at least one is required
- iso-standard-9541-incglyphs [3] IMPLICIT SET OF Global-Name OPTIONAL,
- -- at least one is required
- iso-standard-9541-excglyphs [4] IMPLICIT SET OF Global-Name OPTIONAL,
- -- at least one is required
- non-iso-properties [5] IMPLICIT Property-List OPTIONAL
-}
-
-Design-Group ::= SEQUENCE {
- -- see 9541-1 Annex-A for code values
- group-code [0] IMPLICIT Code,
- subgroup-code [1] IMPLICIT Code,
- specific-group-code [2] IMPLICIT Code
-}
-
-Structure-Code ::= INTEGER {not-applicable(0), solid(1), outline(2)}
-
-Writing-Modes ::= SET {
- iso-standard-9541-wrmode [0] IMPLICIT SET OF Writing-Mode OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Writing-Mode ::= SEQUENCE {
- iso-standard-9541-wrmodename [0] IMPLICIT Global-Name,
- wrmode-properties [1] IMPLICIT Modal-Properties
-}
-
-Modal-Properties ::= SET {
- iso-standard-9541-nomescdir [0] IMPLICIT Angle OPTIONAL,
- iso-standard-9541-escclass [1] IMPLICIT Esc-Class-Code OPTIONAL,
- iso-standard-9541-avgescx [2] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-avgescy [3] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-avglcescx [4] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-avglcescy [5] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-avgcapescx [6] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-avgcapescy [7] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-tabescx [8] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-tabescy [9] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-maxfontext [10] IMPLICIT Max-Extents OPTIONAL,
- iso-standard-9541-sectors [11] IMPLICIT Sectors OPTIONAL,
- iso-standard-9541-escadjs [12] IMPLICIT SET OF Adjusts OPTIONAL,
- iso-standard-9541-minescadjsze [13] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-maxescadjsze [14] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-scores [15] IMPLICIT Scores OPTIONAL,
- iso-standard-9541-vscripts [16] IMPLICIT Variant-Scripts OPTIONAL,
- iso-standard-9541-minlinesp [17] IMPLICIT Alignment-Spacing OPTIONAL,
- iso-standard-9541-minanascale [18] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-maxanascale [19] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-nomalign [20] IMPLICIT Global-Name OPTIONAL,
- iso-standard-9541-alignmodes [21] IMPLICIT Alignment-Modes OPTIONAL,
- iso-standard-9541-copyfits [22] IMPLICIT Copyfits OPTIONAL,
- iso-standard-9541-dsnwordadd [23] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-dsnwordampl [24] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-minwordadd [25] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-minwordampl [26] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-maxwordadd [27] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-maxwordampl [28] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-dsnletteradd [29] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-dsnletterampl [30] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-minletteradd [31] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-minletterampl [32] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-maxletteradd [33] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-maxletterampl [34] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-glyphmetrics [35] IMPLICIT Glyph-Metrics OPTIONAL,
- non-iso-properties [36] IMPLICIT Property-List OPTIONAL
-}
-
-Esc-Class-Code ::= INTEGER {not-applicable(0), monospace(1), proportional(2)}
-
-Max-Extents ::= SEQUENCE {
- max-minx [0] IMPLICIT Rel-Rational,
- max-miny [1] IMPLICIT Rel-Rational,
- max-maxx [2] IMPLICIT Rel-Rational,
- max-maxy [3] IMPLICIT Rel-Rational
-}
-
-Sectors ::= SET {
- iso-standard-9541-sector [0] IMPLICIT SEQUENCE OF Sector OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Sector ::= SEQUENCE {
- sector-left [0] IMPLICIT Rel-Rational,
- sector-right [1] IMPLICIT Rel-Rational
-}
-
-Adjusts ::= SET {
- iso-standard-9541-adjust [0] IMPLICIT SET OF Adjust,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Adjust ::= SET {
- iso-standard-9541-escadjname [0] IMPLICIT Global-Name,
- adjust-properties [1] IMPLICIT Adjust-Properties
-}
-
-Adjust-Properties ::= SET {
- iso-standard-9541-cpea [0] IMPLICIT CPEA-Properties OPTIONAL,
- iso-standard-9541-sec [1] IMPLICIT SEC-Properties OPTIONAL,
- non-iso-properties [2] IMPLICIT Property-List OPTIONAL
-}
-
-CPEA-Properties ::= SET {
- iso-standard-9541-ncpeaforwd [0] IMPLICIT Cardinal,
- iso-standard-9541-ncpeabackwd [1] IMPLICIT Cardinal,
- iso-standard-9541-cpeax [2] SEQUENCE OF Rel-Rational OPTIONAL,
- -- at least one required
- iso-standard-9541-cpeay [3] SEQUENCE OF Rel-Rational OPTIONAL,
- non-iso-properties [4] IMPLICIT Property-List OPTIONAL
-}
-
-SEC-Properties ::= SET {
- iso-standard-9541-secx
- [0] SEQUENCE OF
- SEQUENCE {-- at least one required
- rational [0] IMPLICIT Rational,
- rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
- iso-standard-9541-secy
- [1] SEQUENCE OF
- SEQUENCE {-- at least one required
- rational [0] IMPLICIT Rational,
- rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
- non-iso-properties [2] IMPLICIT Property-List OPTIONAL
-}
-
-Scores ::= SET {
- iso-standard-9541-Score [0] IMPLICIT SET OF Score OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Score ::= SEQUENCE {
- iso-standard-9541-scorename [0] IMPLICIT Global-Name,
- score-property-list [1] IMPLICIT Score-Properties
-}
-
-Score-Properties ::= SET {
- iso-standard-9541-scoreoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-scoreoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-scorethick [2] IMPLICIT Rel-Rational OPTIONAL,
- non-iso-properties [3] IMPLICIT Property-List OPTIONAL
-}
-
-Variant-Scripts ::= SET {
- iso-standard-9541-vscript [0] IMPLICIT SET OF Vscript OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Vscript ::= SEQUENCE {
- iso-standard-9541-vsname [0] IMPLICIT Global-Name,
- vscript-property-list [1] IMPLICIT Vscript-Properties
-}
-
-Vscript-Properties ::= SET {
- iso-standard-9541-vsoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-vsoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-vsscalex [2] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-vsscaley [3] IMPLICIT Rational OPTIONAL,
- non-iso-properties [4] IMPLICIT Property-List OPTIONAL
-}
-
-Alignment-Spacing ::= SEQUENCE {
- minlinesp-left [0] IMPLICIT Rel-Rational,
- minlinesp-right [1] IMPLICIT Rel-Rational
-}
-
-Alignment-Modes ::= SET {
- iso-standard-9541-align [0] IMPLICIT SET OF Alignment OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Alignment ::= SEQUENCE {
- iso-standard-9541-alignname [0] IMPLICIT Global-Name,
- alignment-property-list [1] IMPLICIT Align-Properties
-}
-
-Align-Properties ::= SET {
- iso-standard-9541-alignoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-alignoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-alignscalex [2] IMPLICIT Rational OPTIONAL,
- iso-standard-9541-alignscaley [3] IMPLICIT Rational OPTIONAL,
- non-iso-properties [4] IMPLICIT Property-List OPTIONAL
-}
-
-Copyfits ::= SET {
- iso-standard-9541-copyfit [0] IMPLICIT SET OF Copyfit OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Copyfit ::= SEQUENCE {
- iso-standard-9541-copyfitname [0] IMPLICIT Global-Name,
- copyfit-properties [1] IMPLICIT Copyfit-Properties
-}
-
-Copyfit-Properties ::= SET {
- iso-standard-9541-copyfitmeasure [0] IMPLICIT Rational OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Glyph-Metrics ::= SET {
- iso-standard-9541-gmetric [0] IMPLICIT SET OF Glyph-Property-List,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Glyph-Property-List ::= SEQUENCE {
- iso-standard-9541-gname [0] IMPLICIT Global-Name,
- glyph-properties [1] IMPLICIT Glyph-Properties
-}
-
-Glyph-Properties ::= SET {
- iso-standard-9541-px [0] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-py [1] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-ex [2] IMPLICIT Rel-Rational,
- iso-standard-9541-ey [3] IMPLICIT Rel-Rational,
- iso-standard-9541-ext [4] IMPLICIT Extents,
- iso-standard-9541-lgs [5] IMPLICIT Ligatures OPTIONAL,
- iso-standard-9541-peas [6] IMPLICIT P-Adjusts OPTIONAL,
- iso-standard-9541-cpeai [7] IMPLICIT C-Indicator OPTIONAL,
- iso-standard-9541-eai [8] IMPLICIT E-Code OPTIONAL,
- iso-standard-9541-minex [9] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-miney [10] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-maxex [11] IMPLICIT Rel-Rational OPTIONAL,
- iso-standard-9541-maxey [12] IMPLICIT Rel-Rational OPTIONAL,
- non-iso-properties [13] IMPLICIT Property-List OPTIONAL
-}
-
-Extents ::= SET {
- minx [0] IMPLICIT Rel-Rational OPTIONAL,
- miny [1] IMPLICIT Rel-Rational OPTIONAL,
- maxx [2] IMPLICIT Rel-Rational OPTIONAL,
- maxy [3] IMPLICIT Rel-Rational OPTIONAL
-}
-
-Ligatures ::= SET {
- iso-standard-9541-lg [0] IMPLICIT SET OF Ligature OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-Ligature ::= SET {
- iso-standard-9541-lgn [0] IMPLICIT Global-Name,
- iso-standard-9541-lgsn [1] SEQUENCE OF Global-Name
-}
-
-P-Adjusts ::= SET {
- iso-standard-9541-pea [0] IMPLICIT SET OF P-Adjust OPTIONAL,
- non-iso-properties [1] IMPLICIT Property-List OPTIONAL
-}
-
-P-Adjust ::= SEQUENCE {
- iso-standard-9541-pean [0] IMPLICIT Global-Name,
- p-adjust-property-list [1] IMPLICIT P-Adjust-Properties
-}
-
-P-Adjust-Properties ::= SET {
- iso-standard-9541-peax
- [0] SEQUENCE OF
- SEQUENCE {-- at least one required
- global-name [0] IMPLICIT Global-Name,
- rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
- iso-standard-9541-peay
- [1] SEQUENCE OF
- SEQUENCE {-- at least one required
- global-name [0] IMPLICIT Global-Name,
- rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
- iso-standard-9541-speaforwdx [2] SEQUENCE OF Rel-Rational OPTIONAL,
- iso-standard-9541-speaforwdy [3] SEQUENCE OF Rel-Rational OPTIONAL,
- iso-standard-9541-speabackwdx [4] SEQUENCE OF Rel-Rational OPTIONAL,
- iso-standard-9541-speabackwdy [5] SEQUENCE OF Rel-Rational OPTIONAL,
- non-iso-properties [6] IMPLICIT Property-List OPTIONAL
-}
-
-C-Indicator ::= SEQUENCE {
- c-forward [0] IMPLICIT Cardinal,
- c-backward [1] IMPLICIT Cardinal
-}
-
-E-Code ::= INTEGER {
- not-applicable(0), letter-space(1), word-space(2), no-adjust(3)}
-
--- The following Data Types are used in the above structures
--- The following Data Types are used in the above structures
-Property ::= SEQUENCE {
- property-name [0] Global-Name,
- property-value [1] Property-Value
-}
-
-Property-Value ::= CHOICE {
- value [0] Value,
- value-list [1] Value-List,
- ordered-value-list [2] Ordered-Value-List,
- property-list [3] Property-List,
- ordered-property-list [4] Ordered-Property-List
-}
-
-Value-List ::= SET OF Value
-
-Ordered-Value-List ::= SEQUENCE OF Value
-
-Property-List ::= SET OF Property
-
-Ordered-Property-List ::= SEQUENCE OF Property
-
-Value ::= CHOICE {
- global-Name [0] Global-Name,
- match-String [1] Match-String,
- message [2] Message,
- octetString [3] OCTET STRING,
- boolean [4] BOOLEAN,
- integer [5] Integer,
- cardinal [6] Cardinal,
- code [7] Code,
- rational [8] Rational,
- rel-Rational [9] Rel-Rational,
- angle [10] Angle,
- proprietary-Data [11] Proprietary-Data
-}
-
-Global-Name ::= SEQUENCE {
- -- see global name note at the end of clause 6.1
- prefix-index [0] IMPLICIT Code OPTIONAL,
- name-value [1] IMPLICIT Structured-Name
-}
-
-Match-String ::= CHOICE {
- numeric [0] NumericString,
- printable [1] PrintableString,
- teletex [2] TeletexString,
- videotex [3] VideotexString,
- visible [4] VisibleString,
- ia5 [5] IA5String,
- graphic [6] GraphicString,
- general [7] GeneralString
-}
-
-Message ::= CHOICE {
- numeric [0] NumericString,
- printable [1] PrintableString,
- teletex [2] TeletexString,
- videotex [3] VideotexString,
- visible [4] VisibleString,
- ia5 [5] IA5String,
- graphic [6] GraphicString,
- general [7] GeneralString
-}
-
-Integer ::= INTEGER {first(-2147483648), last(2147483647)}
-
-Cardinal ::= INTEGER {first(0), last(4294967295)}
-
-Code ::= INTEGER {first(0), last(255)}
-
-Rational ::= SEQUENCE {
- numerator [0] IMPLICIT INTEGER,
- denominator [1] IMPLICIT INTEGER {first(1), last(2147483647)} OPTIONAL
-}
-
--- denominator defaults to 1
-Rel-Rational ::= Rational
-
--- expresses glyph coordinate units
--- denominator defaults to relunits
-Angle ::=
- Rational
-
--- expresses units of degrees, with a
--- value range of -360 to +360
--- denominator defaults to 1
-Proprietary-Data ::= SEQUENCE {
- prop-data-message [0] Message OPTIONAL,
- prop-data-key [1] IMPLICIT OCTET STRING OPTIONAL,
- prop-data [2] IMPLICIT OCTET STRING
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO8571-FTAM.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO8571-FTAM.asn
deleted file mode 100644
index a57a276704..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO8571-FTAM.asn
+++ /dev/null
@@ -1,1453 +0,0 @@
--- Module ISO8571-FTAM (ISO 8571-4:1988)
--- See also the README file
--- See also the index of all ASN.1 assignments needed in this Recommendation
-
---
--- Copyright ? ISO/IEC 1988. This version of
--- this ASN.1 module is part of ISO/IEC 8571-4:1988;
--- see the ISO|IEC text itself for full legal notices.
---
-ISO8571-FTAM {iso standard 8571 application-context(1) iso-ftam(1)} DEFINITIONS
-::=
-BEGIN
-
-PDU ::= CHOICE {
- fTAM-Regime-PDU FTAM-Regime-PDU,
- file-PDU File-PDU,
- bulk-Data-PDU Bulk-Data-PDU,
- fSM-PDU FSM-PDU
-}
-
-FTAM-Regime-PDU ::= CHOICE {
- f-initialize-request [0] IMPLICIT F-INITIALIZE-request,
- f-initialize-response [1] IMPLICIT F-INITIALIZE-response,
- f-terminate-request [2] IMPLICIT F-TERMINATE-request,
- f-terminate-response [3] IMPLICIT F-TERMINATE-response,
- f-u-abort-request [4] IMPLICIT F-U-ABORT-request,
- f-p-abort-request [5] IMPLICIT F-P-ABORT-request
-}
-
-F-INITIALIZE-request ::= SEQUENCE {
- protocol-Version Protocol-Version DEFAULT {version-1},
- implementation-information Implementation-Information OPTIONAL,
- presentation-tontext-management [2] IMPLICIT BOOLEAN DEFAULT FALSE,
- service-class Service-Class DEFAULT {transfer-class},
- -- Only the valid combinations as specified in ISO 8571-3 are allowed.
- functional-units Functional-Units,
- attribute-groups Attribute-Groups DEFAULT {},
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- ftam-quality-of-Service FTAM-Quality-of-Service,
- contents-type-list Contents-Type-List OPTIONAL,
- initiator-identity User-Identity OPTIONAL,
- account Account OPTIONAL,
- filestore-password Password OPTIONAL,
- checkpoint-window [8] IMPLICIT INTEGER DEFAULT 1
-}
-
--- lf the recovery or restart data transfer functional units are
--- not available, the Checkpoint-window Parameter shall not be sent.
-F-INITIALIZE-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- protocol-Version Protocol-Version DEFAULT {version-1},
- implementation-information Implementation-Information OPTIONAL,
- presentation-tontext-management [2] IMPLICIT BOOLEAN DEFAULT FALSE,
- service-class Service-Class DEFAULT {transfer-class},
- -- Only the valid combinations as specified in ISO 8571-3 are allowed.
- functional-units Functional-Units,
- attribute-groups Attribute-Groups DEFAULT {},
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- ftam-quality-of-Service FTAM-Quality-of-Service,
- contents-type-list Contents-Type-List OPTIONAL,
- diagnostic Diagnostic OPTIONAL,
- checkpoint-window [8] IMPLICIT INTEGER DEFAULT 1
-}
-
--- If the recovery or restart data transfer functional units are
--- not available, the Checkpoint-window Parameter shall not be sent.
-Protocol-Version ::= [0] IMPLICIT BIT STRING {version-1(0), version-2(1)
-}
-
-Implementation-Information ::= [1] IMPLICIT GraphicString
-
--- This Parameter is provided solely for the convenience of implementors
--- needing to distinguish between implernentations of a specific version number
--- of different equipment, it shall not be the subject of conformance test.
-Service-Class ::= [3] IMPLICIT BIT STRING {
- unconstrained-class(0), management-class(1), transfer-class(2),
- transfer-and-management-class(3), access-class(4)}
-
-Functional-Units ::= [4] IMPLICIT BIT STRING {
- read(2), write(3), file-access(4), limited-file-management(5),
- enhanced-file-management(6), grouping(7), fadu-locking(8), recovery(9),
- restart-data-transfer(10), limited-filestore-management(11),
- enhanced-filestore-management(12), object-manipulation(13),
- group-manipulation(14), consecutive-access(15), concurrent-access(16)
-}
-
--- Values 2 to 14 are Chosen to align with numbering scheme used in ISO 8571-3.
-Attribute-Groups ::= [5] IMPLICIT BIT STRING {
- storage(0), security(1), private(2), extension(3)}
-
--- The extension bit is defined if and only if the limited-filestore-management
--- or the group-manipulation functional units are available.
-FTAM-Quality-of-Service ::= [6] IMPLICIT INTEGER {
- no-recovery(0), class-1-recovery(1), class-2-recovery(2), class-3-recovery(3)
-}
-
-Contents-Type-List ::=
- [7] IMPLICIT
- SEQUENCE OF
- CHOICE {document-type-name Document-Type-Name,
- abstract-Syntax-name Abstract-Syntax-Name}
-
-F-TERMINATE-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-TERMINATE-response ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- charging Charging OPTIONAL
-}
-
-F-U-ABORT-request ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-P-ABORT-request ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- diagnostic Diagnostic OPTIONAL
-}
-
-File-PDU ::= CHOICE {
- f-select-request [6] IMPLICIT F-SELECT-request,
- f-select-response [7] IMPLICIT F-SELECT-response,
- f-deselect-request [8] IMPLICIT F-DESELECT-request,
- f-deselect-response [9] IMPLICIT F-DESELECT-response,
- f-create-request [10] IMPLICIT F-CREATE-request,
- f-create-response [11] IMPLICIT F-CREATE-response,
- f-delete-request [12] IMPLICIT F-DELETE-request,
- f-delete-response [13] IMPLICIT F-DELETE-response,
- f-read-attrib-request [14] IMPLICIT F-READ-ATTRIB-request,
- f-read-attrib-response [15] IMPLICIT F-READ-ATTRIB-response,
- f-Change-attrib-reques [16] IMPLICIT F-CHANGE-ATTRIB-request,
- f-Change-attrib-respon [17] IMPLICIT F-CHANGE-ATTRIB-response,
- f-open-request [18] IMPLICIT F-OPEN-request,
- f-open-response [19] IMPLICIT F-OPEN-response,
- f-close-request [20] IMPLICIT F-CLOSE-request,
- f-close-response [21] IMPLICIT F-CLOSE-response,
- f-begin-group-request [22] IMPLICIT F-BEGIN-GROUP-request,
- f-begin-group-response [23] IMPLICIT F-BEGIN-GROUP-response,
- f-end-group-request [24] IMPLICIT F-END-GROUP-request,
- f-end-group-response [25] IMPLICIT F-END-GROUP-response,
- f-recover-request [26] IMPLICIT F-RECOVER-request,
- f-recover-response [27] IMPLICIT F-RECOVER-response,
- f-locate-request [28] IMPLICIT F-LOCATE-request,
- f-locate-response [29] IMPLICIT F-LOCATE-response,
- f-erase-request [30] IMPLICIT F-ERASE-request,
- f-erase-response [31] IMPLICIT F-ERASE-response
-}
-
-F-SELECT-request ::= SEQUENCE {
- attributes Select-Attributes,
- requested-access Access-Request,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- -- This Parameter tan only be sent when the
- -- limited-filestore-management or the object-manipulation or
- -- the group-manipulation functional units are available.
- concurrency-control Concurrency-Control OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- account Account OPTIONAL
-}
-
-F-SELECT-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- attributes Select-Attributes,
- referent-indicator Referent-Indicator OPTIONAL,
- -- This Parameter tan only be sent when the
- -- limited-filestore-management functional unit is available.
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-DESELECT-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-DESELECT-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- charging Charging OPTIONAL,
- -- Present if and only if the account field was present on
- -- the PDU which established the selection regime.
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-CREATE-request ::= SEQUENCE {
- override [0] IMPLICIT Override DEFAULT create-failure,
- initial-attributes Create-Attributes,
- create-password Password OPTIONAL,
- requested-access Access-Request,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- -- This Parameter tan only be sent when the
- -- limited-filestore-management or the Object-manipulation or
- -- the group-manipulation functional units are available.
- concurrency-control Concurrency-Control OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- account Account OPTIONAL
-}
-
-F-CREATE-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- initial-attributes Create-Attributes,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-DELETE-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-DELETE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- charging Charging OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-READ-ATTRIB-request ::= SEQUENCE {
- attribute-names [0] IMPLICIT Attribute-Names,
- attribute-extension-names [1] IMPLICIT Attribute-Extension-Names OPTIONAL
-}
-
--- This Parameter tan only be sent when the
--- limited-filestore-management functional unit is available.
-F-READ-ATTRIB-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- attributes Read-Attributes OPTIONAL,
- -- Password values within the access control tan not be read by means
- -- of the read attribute action. Whether other Parts of the access
- -- control Object attribute tan be read by means of the read
- -- attribute action is decided locally by the responding entity, and
- -- it shall not be the subject of conformance test.
- diagnostic Diagnostic OPTIONAL
-}
-
-F-CHANGE-ATTRIB-request ::= SEQUENCE {attributes Change-Attributes
-}
-
-F-CHANGE-ATTRIB-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- attributes Change-Attributes OPTIONAL,
- -- Password values within access control attribute are never returned.
- -- Other attributes are retumed as an implementation choice.
- diagnostic Diagnostic OPTIONAL
-}
-
-F-OPEN-request ::= SEQUENCE {
- processing-mode
- [0] IMPLICIT BIT STRING {f-read(0), f-insert(1), f-replace(2), f-extend(3),
- f-erase(4)} DEFAULT {f-read},
- contents-type
- [1] CHOICE {unknown [0] IMPLICIT NULL,
- proposed [1] Contents-Type-Attribute},
- concurrency-control Concurrency-Control OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- enable-fadu-locking [2] IMPLICIT BOOLEAN DEFAULT FALSE,
- activity-identifier Activity-Identifier OPTIONAL,
- -- Only used in the recovery functional unit.
- recovery-mode
- [3] IMPLICIT INTEGER {none(0), at-start-of-file(1),
- at-any-active-Checkpoint(2)} DEFAULT none,
- remove-contexts [4] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
- define-contexts [5] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
- -- The following are conditional on the negotiation of the consecutive overlap or
- -- concurrent overlap functional units.
- degree-of-overlap Degree-Of-Overlap OPTIONAL,
- transfer-window [7] IMPLICIT INTEGER OPTIONAL
-}
-
-F-OPEN-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- contents-type [1] Contents-Type-Attribute,
- concurrency-control Concurrency-Control OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL,
- recovery-mode
- [3] IMPLICIT INTEGER {none(0), at-start-of-file(1),
- at-any-active-Checkpoint(2)} DEFAULT none,
- presentation-action [6] IMPLICIT BOOLEAN DEFAULT FALSE,
- -- This flag is set if the responder is going to follow this response
- -- by a P-ALTER-CONTEXT exchange.
- --The following are conditional on the negotiation of the concecutive access
- -- or concurent access functional units.
- degree-of-overlap Degree-Of-Overlap OPTIONAL,
- transfer-window [7] IMPLICIT INTEGER OPTIONAL
-}
-
-F-CLOSE-request ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-CLOSE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-BEGIN-GROUP-request ::= SEQUENCE {threshold [0] IMPLICIT INTEGER
-}
-
-F-BEGIN-GROUP-response ::= SEQUENCE {
-}
-
--- No elements defined, shall be empty.
-F-END-GROUP-request ::= SEQUENCE {
-}
-
--- No elements defined, shall be empty.
-F-END-GROUP-response ::= SEQUENCE {
-}
-
--- No elements defined, shall be empty.
-F-RECOVER-request ::= SEQUENCE {
- activity-identifier Activity-Identifier,
- bulk-transfer-number [0] IMPLICIT INTEGER,
- -- If concurrent access was in use then this parameter indicates the read bulk
- -- transfer.
- requested-access Access-Request,
- access-passwords Access-Passwords OPTIONAL,
- recovefy-Point [2] IMPLICIT INTEGER DEFAULT 0,
- -- Zero indicates beginning of file
- -- Point after last Checkpoint indicates end of file
- remove-contexts
- [3] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
- define-contexts
- [4] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL,
- -- The following are conditional on the negotiation of overlapped access.
- concurrent-bulk-transfer-number [7] IMPLICIT INTEGER OPTIONAL,
- -- conditional on use of concurrent access
- concurrent-recovery-point [8] IMPLICIT INTEGER OPTIONAL,
- -- conditional on use of concurrent access. Zero indicates beginning of file
- -- point after last checkpoint indicates end of file
- last-transfer-end-read-response [9] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [10] IMPLICIT INTEGER OPTIONAL
-}
-
-F-RECOVER-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- contents-type [1] Contents-Type-Attribute,
- recovety-Point [2] IMPLICIT INTEGER DEFAULT 0,
- -- Zero indicates beginning of file.
- -- Point after last Checkpoint indicates end of file.
- diagnostic Diagnostic OPTIONAL,
- presentation-action [6] IMPLICIT BOOLEAN DEFAULT FALSE,
- -- This flag is set if the responder is going to follow this response
- -- by a P-ALTER-CONTEXT exchange.
- -- The following are conditional on the negotiation of overlapped access.
- concurrent-recovery-point [8] IMPLICIT INTEGER OPTIONAL,
- -- conditional on use of concurrent access. Zero indicates beginning of file; point after
- -- last checkpoint indicates end of file
- last-transfer-end-read-request [9] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-request [10] IMPLICIT INTEGER OPTIONAL
-}
-
-F-LOCATE-request ::= SEQUENCE {
- file-access-data-unit-identity FADU-Identity,
- fadu-lock FADU-Lock OPTIONAL
-}
-
-F-LOCATE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- file-access-data-unit-identity FADU-Identity OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-ERASE-request ::= SEQUENCE {file-access-data-unit-identity FADU-Identity
-}
-
-F-ERASE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- diagnostic Diagnostic OPTIONAL
-}
-
-Bulk-Data-PDU ::= CHOICE {
- f-read-request [32] IMPLICIT F-READ-request,
- f-write-request [33] IMPLICIT F-WRITE-request,
- -- There is no F-DATA FPDU, the contents of a file
- -- are transferred in a different presentation context
- -- and there is therefore no need to define the types
- -- of file contents in the FTAM PCI abstract Syntax.
- -- File contents data are carried in values of the
- -- data type Data-Element as defined in ISO 8571-2.
- f-data-end-request [34] IMPLICIT F-DATA-END-request,
- f-transfer-end-request [35] IMPLICIT F-TRANSFER-END-request,
- f-transfer-end-response [36] IMPLICIT F-TRANSFER-END-response,
- f-cancel-request [37] IMPLICIT F-CANCEL-request,
- f-cancel-response [38] IMPLICIT F-CANCEL-response,
- -- There is no F-CHECK PDU.
- f-restart-request [39] IMPLICIT F-RESTART-request,
- f-restart-response [40] IMPLICIT F-RESTART-response
-}
-
-F-READ-request ::= SEQUENCE {
- file-access-data-unit-identity FADU-Identity,
- access-context Access-Context,
- fadu-lock FADU-Lock OPTIONAL,
- -- The following is conditional on the negotiation of consecutive of concurrent access.
- transfer-number [0] IMPLICIT INTEGER OPTIONAL
-}
-
-F-WRITE-request ::= SEQUENCE {
- file-access-data-unit-Operation
- [0] IMPLICIT INTEGER {insert(0), replace(1), extend(2)},
- file-access-data-unit-identity FADU-Identity,
- fadu-lock FADU-Lock OPTIONAL,
- -- The following is conditional on the negotiation of consecutive or concurrent access.
- transfer-number [1] IMPLICIT INTEGER OPTIONAL
-}
-
-F-DATA-END-request ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-TRANSFER-END-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type OPTIONAL,
- transfer-number [0] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-response [1] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [2] IMPLICIT INTEGER OPTIONAL
-}
-
-F-TRANSFER-END-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type OPTIONAL,
- transfer-number [0] IMPLICIT INTEGER OPTIONAL
-}
-
-F-CANCEL-request ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type,
- transfer-number [0] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-request [1] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-response [2] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-request [3] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [4] IMPLICIT INTEGER OPTIONAL
-}
-
-F-CANCEL-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type OPTIONAL,
- transfer-number [0] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-request [1] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-response [2] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-request [3] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [4] IMPLICIT INTEGER OPTIONAL
-}
-
-F-CHECK-request ::= SEQUENCE {
- checkpoint-identifier [0] IMPLICIT INTEGER,
- transfer-number [1] IMPLICIT INTEGER
-}
-
-F-CHECK-response ::= SEQUENCE {
- checkpoint-identifier [0] IMPLICIT INTEGER,
- transfer-number [1] IMPLICIT INTEGER
-}
-
-F-RESTART-request ::= SEQUENCE {
- checkpoint-identifier [0] IMPLICIT INTEGER,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type OPTIONAL,
- transfer-number [1] IMPLICIT INTEGER,
- last-transfer-end-read-request [2] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-response [3] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-request [4] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [5] IMPLICIT INTEGER OPTIONAL
-}
-
-F-RESTART-response ::= SEQUENCE {
- checkpoint-identifier [0] IMPLICIT INTEGER,
- -- The following are conditional on the negotiation of consecutive or concurrent access.
- request-type Request-Type OPTIONAL,
- transfer-number [1] IMPLICIT INTEGER,
- last-transfer-end-read-request [2] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-read-response [3] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-request [4] IMPLICIT INTEGER OPTIONAL,
- last-transfer-end-write-response [5] IMPLICIT INTEGER OPTIONAL
-}
-
-Degree-Of-Overlap ::= [APPLICATION 30] IMPLICIT INTEGER {
- normal(0), consecutive(1), concurrent(2)}
-
-Request-Type ::= [APPLICATION 31] IMPLICIT INTEGER {read(0), write(1)}
-
-Abstract-Syntax-Name ::= [APPLICATION 0] IMPLICIT OBJECT IDENTIFIER
-
-Access-Context ::= [APPLICATION 1] IMPLICIT SEQUENCE {
- access-context
- [0] IMPLICIT INTEGER {hierarchical-all-data-units(0),--HA--
- hierarchical-no-data-units(1),--HN--
- flat-all-data-units(2),--FA--
- flat-one-level-data-unit(3),--FL--
- flat-Single-data-unit(4),--FS--
- unstructured-all-data-units(5),--UA--
- unstructured-Single-data-unit(6)}, --US
- level-number [1] IMPLICIT INTEGER OPTIONAL
-}
-
--- Present if and only if flat-one-level-data-units
--- (access context FL) is selected.
--- As defined in ISO 8571-2.
-Access-Passwords ::= [APPLICATION 2] IMPLICIT SEQUENCE {
- read-password [0] Password,
- insert-password [1] Password,
- replace-password [2] Password,
- extend-password [3] Password,
- erase-password [4] Password,
- read-attribute-password [5] Password,
- change-attribute-password [6] Password,
- delete-password [7] Password,
- pass-passwords [8] IMPLICIT Pass-Passwords OPTIONAL,
- link-password [9] Password OPTIONAL
-}
-
--- The pass-passwords and the link-password must be included in the
--- access-passwords if and only if the limited-filestore-management
--- or the Object-manipulation or the group-manipulation functional
--- units are available.
-Access-Request ::= [APPLICATION 3] IMPLICIT BIT STRING {
- read(0), insert(1), replace(2), extend(3), erase(4), read-attribute(5),
- change-attribute(6), delete-Object(7)}
-
-Account ::= [APPLICATION 4] IMPLICIT GraphicString
-
-Action-Result ::= [APPLICATION 5] IMPLICIT INTEGER {
- success(0), transient-error(1), permanent-error(2)}
-
-Activity-Identifier ::= [APPLICATION 6] IMPLICIT INTEGER
-
-Application-Entity-Title ::= [APPLICATION 7] AE-title
-
--- As defined in ISO 8650.
-Change-Attributes ::= [APPLICATION 8] IMPLICIT SEQUENCE {
- -- Kerne1 Group
- pathname Pathname-Attribute OPTIONAL,
- -- Storage group
- storage-account [3] Account-Attribute OPTIONAL,
- object-availability [12] Object-Availability-Attribute OPTIONAL,
- future-Object-size [14] Object-Size-Attribute OPTIONAL,
- -- Security group
- access-control [15] Access-Control-Change-Attribute OPTIONAL,
- path-access-control [21] Access-Control-Change-Attribute OPTIONAL,
- -- This Parameter tan only be sent when the
- -- enhanced-filestore-management functional unit is available.
- legal-qualification [16] Legal-Qualification-Attribute OPTIONAL,
- -- Private group
- private-use [17] Private-Use-Attribute OPTIONAL,
- -- Attribute Extensions group
- attribute-extensions [22] IMPLICIT Attribute-Extensions OPTIONAL
-}
-
--- This Parameter tan only be sent when the
--- enhanced-filestore-management functional unit is available.
--- Atleast one attribute shall be present in the Change-Attributes
--- Parameter on the request PDU.
-Charging ::=
- [APPLICATION 9] IMPLICIT
- SEQUENCE OF
- SEQUENCE {resource-identifier [0] IMPLICIT GraphicString,
- charging-unit [1] IMPLICIT GraphicString,
- charging-value [2] IMPLICIT INTEGER}
-
-Concurrency-Control ::= [APPLICATION 10] IMPLICIT SEQUENCE {
- read [0] IMPLICIT Lock,
- insert [1] IMPLICIT Lock,
- replace [2] IMPLICIT Lock,
- extend [3] IMPLICIT Lock,
- erase [4] IMPLICIT Lock,
- read-attribute [5] IMPLICIT Lock,
- change-attribute [6] IMPLICIT Lock,
- delete-Object [7] IMPLICIT Lock
-}
-
-Lock ::= INTEGER {not-required(0), shared(1), exclusive(2), no-access(3)}
-
-Constraint-Set-Name ::= [APPLICATION 11] IMPLICIT OBJECT IDENTIFIER
-
-Create-Attributes ::= [APPLICATION 12] IMPLICIT SEQUENCE {
- -- Kerne1 Group
- pathname Pathname-Attribute,
- object-type [18] IMPLICIT Object-Type-Attribute DEFAULT file,
- -- This Parameter tan be sent if and only if the
- -- limited-filestore-management functional unit is available.
- permitted-actions [1] IMPLICIT Permitted-Actions-Attribute,
- contents-type [2] Contents-Type-Attribute,
- -- Storage group
- storage-account [3] Account-Attribute OPTIONAL,
- object-availability [12] Object-Availability-Attribute OPTIONAL,
- future-Object-size [14] Object-Size-Attribute OPTIONAL,
- -- Security group
- access-control [15] Access-Control-Attribute OPTIONAL,
- path-access-control [21] Access-Control-Attribute OPTIONAL,
- -- This Parameter tan be sent if and only if the
- -- enhanced-filestore-management functional unit is available.
- legal-qualification [16] Legal-Qualification-Attribute OPTIONAL,
- -- Private group
- private-use [17] Private-Use-Attribute OPTIONAL,
- -- Attribute Extensions group
- attribute-extensions [22] IMPLICIT Attribute-Extensions OPTIONAL
-}
-
--- This Parameter tan only be sent when the
--- limited-filestore-management functional unit is available.
-Diagnostic ::=
- [APPLICATION 13] IMPLICIT
- SEQUENCE OF
- SEQUENCE {diagnostic-type
- [0] IMPLICIT INTEGER {informative(0), transient(1),
- permanent(2)},
- error-identifier [1] IMPLICIT INTEGER,
- -- As defined in ISO 8571-3.
- error-observer [2] IMPLICIT Entity-Reference,
- error-Source [3] IMPLICIT Entity-Reference,
- suggested-delay [4] IMPLICIT INTEGER OPTIONAL,
- further-details [5] IMPLICIT GraphicString OPTIONAL
- }
-
-Entity-Reference ::= INTEGER {
- no-categorization-possible(0), initiating-file-service-user(1),
- initiating-file-protocol-machine(2),
- service-supporting-the-file-protocol-machine(3),
- responding-file-protocol-machine(4), responding-file-service-user(5)
-}
-
---NOTE
--- 1. The values 0 and 3 are only valid as values in error-source.
--- 2. The value 5 corresponds to the virtual filestore.
-Document-Type-Name ::= [APPLICATION 14] IMPLICIT OBJECT IDENTIFIER
-
-FADU-Identity ::= [APPLICATION 15] CHOICE {
- first-last [0] IMPLICIT INTEGER {first(0), last(1)},
- relative [1] IMPLICIT INTEGER {previous(0), current(1), next(2)},
- begin-end [2] IMPLICIT INTEGER {begin(0), end(1)},
- single-name [3] IMPLICIT Node-Name,
- name-list [4] IMPLICIT SEQUENCE OF Node-Name,
- fadu-number [5] IMPLICIT INTEGER
-}
-
--- As defined in ISO 8571-2.
-Node-Name ::= EXTERNAL
-
--- The type to be used for Node-Name is defined in IS08571-FADU.
-FADU-Lock ::= [APPLICATION 16] IMPLICIT INTEGER {off(0), on(1)}
-
-Password ::= [APPLICATION 17] CHOICE {
- graphicString GraphicString,
- octetString OCTET STRING
-}
-
-Read-Attributes ::= [APPLICATION 18] IMPLICIT SEQUENCE {
- -- Kerne1 Group
- pathname Pathname-Attribute OPTIONAL,
- object-type
- [18] IMPLICIT Object-Type-Attribute OPTIONAL,
- -- This Parameter tan be sent if and only if
- -- the limited-filestore-management functional unit is available.
- permitted-actions
- [1] IMPLICIT Permitted-Actions-Attribute OPTIONAL,
- contents-type
- [2] Contents-Type-Attribute OPTIONAL,
- linked-Object
- [19] Pathname-Attribute OPTIONAL,
- -- This Parameter tan be sent if and only if
- -- the limited-filestore-management functional unit is available.
- child-objects
- [23] Child-Objects-Attribute OPTIONAL,
- -- This Parameter tan be sent if and only if
- -- the limited-filestore-management functional unit is available.
- -- Storage group
- primaty-pathname
- [20] Pathname-Attribute OPTIONAL,
- storage-account [3] Account-Attribute OPTIONAL,
- date-and-time-of-creation
- [4] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-modification
- [5] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-read-access
- [6] Date-and-Time-Attribute OPTIONAL,
- date-and-time-of-last-attribute-modification
- [7] Date-and-Time-Attribute OPTIONAL,
- identity-of-creator
- [8] User-Identity-Attribute OPTIONAL,
- identity-of-last-modifier
- [9] User-Identity-Attribute OPTIONAL,
- identity-of-last-reader
- [10] User-Identity-Attribute OPTIONAL,
- identity-last-attribute-modifier
- [11] User-Identity-Attribute OPTIONAL,
- object-availability
- [12] Object-Availability-Attribute OPTIONAL,
- object-size
- [13] Object-Size-Attribute OPTIONAL,
- future-Object-size
- [14] Object-Size-Attribute OPTIONAL,
- -- Security group
- access-control
- [15] Access-Control-Attribute OPTIONAL,
- path-access-control
- [21] Access-Control-Attribute OPTIONAL,
- -- This Parameter tan be sent if and only if
- -- the limited-filestore-management functional unit is available.
- legal-qualification
- [16] Legal-Qualification-Attribute OPTIONAL,
- -- Private group
- private-use
- [17] Private-Use-Attribute OPTIONAL,
- -- Attribute Extensions group
- attribute-extensions
- [22] IMPLICIT Attribute-Extensions OPTIONAL
-}
-
--- This Parameter tan be sent if and only if
--- the limited-filestore-management functional unit is available.
-Select-Attributes ::= [APPLICATION 19] IMPLICIT SEQUENCE {
- -- Kerne1 Group
- pathname Pathname-Attribute
-}
-
-Shared-ASE-Information ::= [APPLICATION 20] IMPLICIT EXTERNAL
-
--- This field may be used to convey commitment control as described
--- in ISO 8571-3.
-State-Result ::= [APPLICATION 21] IMPLICIT INTEGER {success(0), failure(1)
-}
-
-User-Identity ::= [APPLICATION 22] IMPLICIT GraphicString
-
-Access-Control-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values [1] IMPLICIT SET OF Access-Control-Element
-}
-
--- The semantics of this attribute is described in ISO 8571-2.
-Access-Control-Change-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values
- [1] IMPLICIT SEQUENCE {insert-values
- [0] IMPLICIT SET OF Access-Control-Element
- OPTIONAL,
- -- This field is used by the Change attribute actions to indicate
- -- new values to be inserted in the access control Object attribute.
- delete-values
- [1] IMPLICIT SET OF Access-Control-Element
- OPTIONAL}
-}
-
--- This field is used by the Change attribute action to indicate
--- old values to be removed from the access control Object
--- attribute.
--- The semantics of this attribute is described in ISO 8571-2.
-Access-Control-Element ::= SEQUENCE {
- action-list [0] IMPLICIT Access-Request,
- concurrency-access [1] IMPLICIT Concurrency-Access OPTIONAL,
- identity [2] IMPLICIT User-Identity OPTIONAL,
- passwords [3] IMPLICIT Access-Passwords OPTIONAL,
- location [4] IMPLICIT Application-Entity-Title OPTIONAL
-}
-
-Concurrency-Access ::= SEQUENCE {
- read [0] IMPLICIT Concurrency-Key,
- insert [1] IMPLICIT Concurrency-Key,
- replace [2] IMPLICIT Concurrency-Key,
- extend [3] IMPLICIT Concurrency-Key,
- erase [4] IMPLICIT Concurrency-Key,
- read-attribute [5] IMPLICIT Concurrency-Key,
- change-attribute [6] IMPLICIT Concurrency-Key,
- delete-Object [7] IMPLICIT Concurrency-Key
-}
-
-Concurrency-Key ::= BIT STRING {
- not-required(0), shared(1), exclusive(2), no-access(3)}
-
-Account-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values Account
-}
-
-Contents-Type-Attribute ::= CHOICE {
- document-type
- [0] IMPLICIT SEQUENCE {document-type-name Document-Type-Name,
- parameter
- [0] TYPE-IDENTIFIER.&Type OPTIONAL},
- -- The actual types to be used for values of the Parameter field
- -- are defined in the named document type.
- constraint-set-and-abstract-Syntax
- [1] IMPLICIT SEQUENCE {constraint-set-name Constraint-Set-Name,
- abstract-Syntax-name Abstract-Syntax-Name
- }
-}
-
-Date-and-Time-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values [1] IMPLICIT GeneralizedTime
-}
-
-Object-Availability-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values
- [1] IMPLICIT INTEGER {immediate-availability(0), deferred-availability(1)}
-}
-
-Pathname-Attribute ::= CHOICE {
- incomplete-pathname [0] IMPLICIT Pathname,
- complete-pathname [APPLICATION 23] IMPLICIT Pathname
-}
-
-Object-Size-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values [1] IMPLICIT INTEGER
-}
-
-Legal-Qualification-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values [1] IMPLICIT GraphicString
-}
-
-Permitted-Actions-Attribute ::= BIT STRING -- Actions available
- {
- read(0), insert(1), replace(2), extend(3), erase(4), read-attribute(5),
- change-attribute(6), delete-Object(7), pass(11),
- link(12),
- -- FADU-Identity groups available
- traversal(8), reverse-traversal(9), random-Order(10)}
-
-Private-Use-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- abstract-Syntax-not-supported [1] IMPLICIT NULL,
- -- Indicates that abstract Syntax is not available.
- actual-values [2] IMPLICIT EXTERNAL
-}
-
-Object-Type-Attribute ::= INTEGER {file(0), file-directory(1), reference(2)}
-
-User-Identity-Attribute ::= CHOICE {
- no-value-available [0] IMPLICIT NULL,
- -- Indicates partial support of this attribute.
- -- This value shall only appear in response PDUs.
- actual-values User-Identity
-}
-
-Child-Objects-Attribute ::= SET OF GraphicString
-
-FSM-PDU ::= CHOICE {
- f-Change-prefix-request [41] IMPLICIT F-CHANGE-PREFIX-request,
- f-Change-prefix-response [42] IMPLICIT F-CHANGE-PREFIX-response,
- f-list-request [43] IMPLICIT F-LIST-request,
- f-list-response [44] IMPLICIT F-LIST-response,
- f-group-select-request [45] IMPLICIT F-GROUP-SELECT-request,
- f-group-select-response [46] IMPLICIT F-GROUP-SELECT-response,
- f-group-delete-request [47] IMPLICIT F-GROUP-DELETE-request,
- f-group-delete-response [48] IMPLICIT F-GROUP-DELETE-response,
- f-group-move-request [49] IMPLICIT F-GROUP-MOVE-request,
- f-group-move-response [50] IMPLICIT F-GROUP-MOVE-response,
- f-group-copy-request [51] IMPLICIT F-GROUP-COPY-request,
- f-group-copy-response [52] IMPLICIT F-GROUP-COPY-response,
- f-group-list-request [53] IMPLICIT F-GROUP-LIST-request,
- f-group-list-response [54] IMPLICIT F-GROUP-LIST-response,
- f-group-Change-attrib-request [55] IMPLICIT F-GROUP-CHANGE-ATTRIB-request,
- f-group-Change-attrib-response [56] IMPLICIT F-GROUP-CHANGE-ATTRIB-response,
- f-select-another-request [57] IMPLICIT F-SELECT-ANOTHER-request,
- f-select-another-response [58] IMPLICIT F-SELECT-ANOTHER-response,
- f-create-directory-request [59] IMPLICIT F-CREATE-DIRECTORY-request,
- f-create-directory-response [60] IMPLICIT F-CREATE-DIRECTORY-response,
- f-link-request [61] IMPLICIT F-LINK-request,
- f-link-response [62] IMPLICIT F-LINK-response,
- f-unlink-request [63] IMPLICIT F-UNLINK-request,
- f-unlink-response [64] IMPLICIT F-UNLINK-response,
- f-read-link-attrib-request [65] IMPLICIT F-READ-LINK-ATTRIB-request,
- f-read-link-attrib-response [66] IMPLICIT F-READ-LINK-ATTRIB-response,
- f-Change-link-attrib-request [67] IMPLICIT F-CHANGE-LINK-ATTRIB-request,
- f-Change-Iink-attrib-response [68] IMPLICIT F-CHANGE-LINK-ATTRIB-response,
- f-move-request [69] IMPLICIT F-MOVE-request,
- f-move-response [70] IMPLICIT F-MOVE-response,
- f-copy-request [71] IMPLICIT F-COPY-request,
- f-copy-response [72] IMPLICIT F-COPY-response
-}
-
-F-CHANGE-PREFIX-request ::= SEQUENCE {
- reset [0] IMPLICIT BOOLEAN DEFAULT FALSE,
- destination-file-directory Destination-File-Directory,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL
-}
-
-F-CHANGE-PREFIX-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- destination-file-directory Destination-File-Directory OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-LIST-request ::= SEQUENCE {
- attribute-value-asset-tions Attribute-Value-Assertions,
- scope Scope,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- attribute-names [0] IMPLICIT Attribute-Names,
- attribute-extension-names [1] IMPLICIT Attribute-Extension-Names OPTIONAL
-}
-
-F-LIST-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- objects-attributes-list Objects-Attributes-List OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-SELECT-request ::= SEQUENCE {
- attribute-value-assertions Attribute-Value-Assertions,
- requested-access Access-Request,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- concurrency-control Concurrency-Control OPTIONAL,
- maximum-set-size [0] IMPLICIT INTEGER DEFAULT 0,
- -- 0 implies no limit.
- scope Scope,
- account Account OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-GROUP-SELECT-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-DELETE-request ::= SEQUENCE {
- request-Operation-result Request-Operation-Result OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-GROUP-DELETE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- charging Charging OPTIONAL,
- operation-result Operation-Result OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-MOVE-request ::= SEQUENCE {
- destination-file-directory Destination-File-Directory,
- override [0] IMPLICIT Override DEFAULT create-failure,
- -- Only the values create-failure (0}
- -- and delete-and-create-with-new-attributes (3) are allowed.
- error-action [11] IMPLICIT Error-Action,
- create-password Password OPTIONAL,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- request-Operation-result Request-Operation-Result OPTIONAL,
- attributes Change-Attributes OPTIONAL
-}
-
-F-GROUP-MOVE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- destination-file-directory Destination-File-Directory OPTIONAL,
- operation-result Operation-Result OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-COPY-request ::= SEQUENCE {
- destination-file-directory Destination-File-Directory,
- override [0] IMPLICIT Override DEFAULT create-failure,
- -- Only the values create-failure (0)
- -- and delete-and-create-with-new-attributes (3) are allowed.
- error-action [1] IMPLICIT Error-Action,
- create-password Password OPTIONAL,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- request-Operation-result Request-Operation-Result OPTIONAL,
- attributes Change-Attributes OPTIONAL
-}
-
-F-GROUP-COPY-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- destination-file-directory Destination-File-Directory OPTIONAL,
- operation-result Operation-Result OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-LIST-request ::= SEQUENCE {
- attribute-names [0] IMPLICIT Attribute-Names,
- attribute-extension-names [2] IMPLICIT Attribute-Extension-Names OPTIONAL
-}
-
-F-GROUP-LIST-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- objects-attributes-list Objects-Attributes-List OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-GROUP-CHANGE-ATTRIB-request ::= SEQUENCE {
- attributes Change-Attributes,
- error-action [1] IMPLICIT Error-Action,
- request-Operation-result Request-Operation-Result OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-GROUP-CHANGE-ATTRIB-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- operation-result Operation-Result OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-SELECT-ANOTHER-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-SELECT-ANOTHER-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- last-member-indicator [0] IMPLICIT BOOLEAN DEFAULT FALSE,
- referent-indicator Referent-Indicator OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-CREATE-DIRECTORY-request ::= SEQUENCE {
- initial-attributes Create-Attributes,
- create-password Password OPTIONAL,
- requested-access Access-Request,
- shared-ASE-infonnation Shared-ASE-Information OPTIONAL,
- account Account OPTIONAL
-}
-
-F-CREATE-DIRECTORY-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- initial-attributes Create-Attributes,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-LINK-request ::= SEQUENCE {
- initial-attributes Create-Attributes,
- target-object Pathname-Attribute,
- create-password Password OPTIONAL,
- requested-access Access-Request,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- concurrency-control Concurrency-Control OPTIONAL,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- account Account OPTIONAL
-}
-
-F-LINK-response ::= SEQUENCE {
- state-result State-Result DEFAULT success,
- action-result Action-Result DEFAULT success,
- initial-attributes Create-Attributes,
- target-Object Pathname-Attribute,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-UNLINK-request ::= SEQUENCE {
- shared-ASE-information Shared-ASE-Information OPTIONAL
-}
-
-F-UNLINK-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- shared-ASE-information Shared-ASE-Information OPTIONAL,
- charging Charging OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-READ-LINK-ATTRIB-request ::= SEQUENCE {
- attribute-names [0] IMPLICIT Attribute-Names,
- attribute-extension-names [1] IMPLICIT Attribute-Extension-Names OPTIONAL
-}
-
-F-READ-LINK-ATTRIB-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- attributes Read-Attributes OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-CHANGE-LINK-ATTRIB-request ::= SEQUENCE {attributes Change-Attributes
-}
-
-F-CHANGE-LINK-ATTRIB-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- attributes Change-Attributes OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-MOVE-request ::= SEQUENCE {
- destination-file-directory Destination-File-Directory,
- override [0] IMPLICIT Override DEFAULT create-failure,
- -- Only the values create-failure (0)
- -- and delete-and-create-with-new-attributes (3) are ailowed.
- create-password Password OPTIONAL,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- attributes Change-Attributes OPTIONAL
-}
-
-F-MOVE-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- destination-file-directory Destination-File-Directory OPTIONAL,
- attributes Change-Attributes OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-F-COPY-request ::= SEQUENCE {
- destination-file-directory Destination-File-Directory,
- override [0] IMPLICIT Override DEFAULT create-failure,
- -- Only the values create-failure (0)
- -- and delete-and-create-with-new-attributes (3) are allowed.
- create-password Password OPTIONAL,
- access-passwords Access-Passwords OPTIONAL,
- path-access-passwords Path-Access-Passwords OPTIONAL,
- attributes Change-Attributes OPTIONAL
-}
-
-F-COPY-response ::= SEQUENCE {
- action-result Action-Result DEFAULT success,
- destination-file-directory Destination-File-Directory OPTIONAL,
- attributes Change-Attributes OPTIONAL,
- diagnostic Diagnostic OPTIONAL
-}
-
-Attribute-Extension-Names ::= SEQUENCE OF Attribute-Extension-Set-Name
-
-Attribute-Extension-Set-Name ::= SEQUENCE {
- extension-set-identifier [0] IMPLICIT Extension-Set-Identifier,
- extension-attribute-names [1] SEQUENCE OF Extension-Attribute-identifier
-}
-
-Attribute-Extensions ::= SEQUENCE OF Attribute-Extension-Set
-
-Attribute-Extension-Set ::= SEQUENCE {
- extension-set-identifier [0] IMPLICIT Extension-Set-Identifier,
- extension-set-attributes [1] SEQUENCE OF Extension-Attribute
-}
-
-Extension-Attribute ::= SEQUENCE {
- extension-attribute-identifier
- TYPE-IDENTIFIER.&id({Extension-Attributes}),
- extension-attribute
- TYPE-IDENTIFIER.&Type
- ({Extension-Attributes}{@extension-attribute-identifier})
-}
-
-Extension-Attributes TYPE-IDENTIFIER ::=
- {...} -- dynamically extensible
-
-Extension-Set-Identifier ::= OBJECT IDENTIFIER
-
-Extension-Attribute-identifier ::= OBJECT IDENTIFIER
-
-Attribute-Value-Assertions ::= [APPLICATION 26] IMPLICIT OR-Set
-
-Scope ::=
- [APPLICATION 28] IMPLICIT
- SEQUENCE OF
- SEQUENCE {root-directory [0] Pathname-Attribute OPTIONAL,
- retrieval-scope [1] IMPLICIT INTEGER {child(0), all(1)}
- }
-
-OR-Set ::= SEQUENCE OF AND-Set
-
-AND-Set ::=
- SEQUENCE OF
- CHOICE {-- Kernel group
- pathname-Pattern
- [0] IMPLICIT Pathname-Pattern,
- object-type-Pattern
- [18] IMPLICIT Integer-Pattern,
- permitted-actions-Pattern
- [1] IMPLICIT Bitstring-Pattern,
- contents-type-Pattern
- [2] Contents-Type-Pattern,
- linked-Object-Pattern
- [19] IMPLICIT Pathname-Pattern,
- child-objects-Pattern
- [23] IMPLICIT Pathname-Pattern,
- -- Storage group
- primaty-pathname-Pattern
- [20] IMPLICIT Pathname-Pattern,
- storage-account-Pattern
- [3] IMPLICIT String-Pattern,
- date-and-time-of-creation-Pattern
- [4] IMPLICIT Date-and-Time-Pattern,
- date-and-time-of-last-modification-Pattern
- [5] IMPLICIT Date-and-Time-Pattern,
- date-and-time-of-last-read-access-Pattern
- [6] IMPLICIT Date-and-Time-Pattern,
- date-and-time-of-last-attribute-modification-Pattern
- [7] IMPLICIT Date-and-Time-Pattern,
- identity-of-creator-Pattern
- [8] IMPLICIT User-Identity-Pattern,
- identity-of-last-modifier-Pattern
- [9] IMPLICIT User-Identity-Pattern,
- identity-of-last-reader-Pattern
- [10] IMPLICIT User-Identity-Pattern,
- identity-of-last-attribute-modifier-Pattern
- [11] IMPLICIT User-Identity-Pattern,
- object-availabiiity-Pattern
- [12] IMPLICIT Boolean-Pattern,
- object-size-Pattern
- [13] IMPLICIT Integer-Pattern,
- future-object-size-Pattern
- [14] IMPLICIT Integer-Pattern,
- -- Security group
- -- Access control searches are disallowed.
- legal-quailfication-Pattern
- [16] IMPLICIT String-Pattern,
- -- Private group
- -- Private use searches are disallowed.
- -- Attribute Extensions group
- attribute-extensions-pattern
- [22] IMPLICIT Attribute-Extensions-Pattern}
-
-User-Identity-Pattern ::= String-Pattern
-
-Equality-Comparision ::= BIT STRING {
- no-value-available-matches(0),
- -- Set impies ?No Value Available? matches the test.
- -- Clear implies ?No Value Availabie? fails the test.
- equals-matches(1)
-
--- Set implies equal items match the test.
--- Clear implies equal items fail the test.
-}
-
-Relational-Comparision ::= BIT STRING {
- no-value-available-matches(0),
- -- Set impies ?No Value Available? matches the test.
- -- Clear implies ?No Value Available? fails the test.
- equals-matches(1),
- -- Set implies equal items match the test.?
- -- Clear implies equal items fail the test.
- less-than-matches(2),
- -- Set implies a value less than the test cke matches.
- -- Clear implies a value less than the test case fails.
- greater-than-matches(3)
-
--- Set implies a value greater than the test case matches.
--- Clear implies a value greater than the test case fails.
-}
-
--- Bits 1 through 3 shall not all have the Same value.
-Pathname-Pattern ::= SEQUENCE {
- equality-comparision [0] IMPLICIT Equality-Comparision,
- pathname-value
- [1] IMPLICIT SEQUENCE OF
- CHOICE {string-match [2] IMPLICIT String-Pattern,
- any-match [3] IMPLICIT NULL}
-}
-
-String-Pattern ::= SEQUENCE {
- equality-comparision [0] IMPLICIT Equality-Comparision,
- string-value
- [1] IMPLICIT SEQUENCE OF
- CHOICE {substring-match
- [2] IMPLICIT GraphicString,
- any-match [3] IMPLICIT NULL,
- number-of-characters-match [4] IMPLICIT INTEGER
- }
-}
-
-Bitstring-Pattern ::= SEQUENCE {
- equality-comparision [0] IMPLICIT Equality-Comparision,
- match-bitstring [1] IMPLICIT BIT STRING,
- significance-bitstring [2] IMPLICIT BIT STRING
-}
-
-Date-and-Time-Pattern ::= SEQUENCE {
- relational-camparision [0] IMPLICIT Equality-Comparision,
- time-and-date-value [1] IMPLICIT GeneralizedTime
-}
-
-Integer-Pattern ::= SEQUENCE {
- relational-comparision [0] IMPLICIT Relational-Comparision,
- integer-value [1] IMPLICIT INTEGER
-}
-
-Object-Identifier-Pattern ::= SEQUENCE {
- equality-comparision [0] IMPLICIT Equality-Comparision,
- object-identifier-value [1] IMPLICIT OBJECT IDENTIFIER
-}
-
-Boolean-Pattern ::= SEQUENCE {
- equality-comparision [0] IMPLICIT Equality-Comparision,
- boolean-value [1] IMPLICIT BOOLEAN
-}
-
-Other-Pattern ::= Equality-Comparision
-
--- Matches against ?No Value Available?.
-Contents-Type-Pattern ::= CHOICE {
- document-type-Pattern
- [0] IMPLICIT Object-Identifier-Pattern,
- constraint-set-abstract-Syntax-Pattern
- [1] IMPLICIT SEQUENCE {constraint-Set-Pattern
- [2] IMPLICIT Object-Identifier-Pattern OPTIONAL,
- -- Absent implies any Object Identifier is equal.
- abstract-Syntax-Pattern
- [3] IMPLICIT Object-Identifier-Pattern OPTIONAL
- -- Absent implies any Object identifier is equal.
- }
-}
-
-Attribute-Extensions-Pattern ::=
- SEQUENCE OF
- SEQUENCE {extension-set-identifier
- [0] IMPLICIT Extension-Set-Identifier,
- extension-set-attribute-Patterns
- [1] IMPLICIT SEQUENCE OF
- SEQUENCE {extension-attribute-identifier
- TYPE-IDENTIFIER.&id
- ({Extension-attribute-Patterns}),
- extension-attribute-Pattern
- TYPE-IDENTIFIER.&Type
- ({Extension-attribute-Patterns}
- {@.extension-attribute-identifier})
- }}
-
--- conjunction with the extention attribute in Order to
--- perform Pattern matthing operations on it. it may be
--- defined in terms of other Patterns within this
--- Standard.
-Extension-attribute-Patterns TYPE-IDENTIFIER ::=
- {...} -- dynamically extensible information object set
-
-Destination-File-Directory ::= [APPLICATION 24] Pathname-Attribute
-
-Objects-Attributes-List ::=
- [APPLICATION 25] IMPLICIT SEQUENCE OF Read-Attributes
-
-Override ::= INTEGER {
- create-failure(0), select-old-Object(1),
- delete-and-create-with-old-attributes(2),
- delete-and-create-with-new-attributes(3)}
-
-Error-Action ::= INTEGER {terminate(0), continue(1)}
-
-Operation-Result ::= [APPLICATION 30] CHOICE {
- success-Object-count [0] IMPLICIT INTEGER,
- success-Object-names [1] IMPLICIT SEQUENCE OF Pathname
-}
-
-Pathname ::= SEQUENCE OF GraphicString
-
-Pass-Passwords ::= SEQUENCE OF Password
-
--- There is a one-to-one correspondence between the elements of
--- Pass-Passwords and the non-terminal elements of the specified
--- Pathname.
-Path-Access-Passwords ::=
- [APPLICATION 27] IMPLICIT
- SEQUENCE OF
- SEQUENCE {read-password [0] Password,
- insert-password [1] Password,
- replace-password [2] Password,
- extend-password [3] Password,
- erase-password [4] Password,
- read-attribute-password [5] Password,
- change-attribute-password [6] Password,
- delete-password [7] Password,
- pass-passwords [8] IMPLICIT Pass-Passwords,
- link-password [9] Password}
-
--- There is a one-to-one correspondence between the elements of
--- Path-Access-Passwords and the non-terminal elements sf the
--- specified Pathname.
-Request-Operation-Result ::= [APPLICATION 31] IMPLICIT INTEGER {
- summary(0), fiii-list(1)}
-
-Attribute-Names ::= BIT STRING -- Kernel group
- {
- read-pathname(0), read-Object-type(18), read-permitted-actions(1),
- read-contents-type(2), read-linked-Object(19),
- read-Child-objects(23),
- -- Storage group
- read-primary-pathname(20), read-storage-account(3),
- read-date-and-time-of-creation(4),
- read-date-and-time-of-last-modification(5),
- read-date-and-time-of-last-read-access(6),
- read-date-and-time-of-last-attribute-modification(7),
- read-identity-of-creator(8), read-identity-of-last-modifier(9),
- read-identity-of-last-reader(10),
- read-identity-of-last-attribute-modifier(11), read-Object-availability(12),
- read-Object-size(13),
- read-future-Object-size(14),
- -- Security group
- read-access-control(15), read-path-access-control(21),
- read-l8gal-qualifiCatiOnS(16),
- -- Private group
- read-private-use(17)}
-
--- Bits 19 through 23 arc defined if and only if the limited-fil8Store-manag8m8nt
--- or group-manipulation functionat units are available.
-Referent-Indicator ::= [APPLICATION 29] IMPLICIT BOOLEAN
-
--- dw: definition of AE-title, as defined in ISO 8650:1988/Cor.1:1990
--- dw: defined in-line here so we don't need to import it, original comments
--- dw: are as they appear in the 8650:1988 Annex E
-AP-title ::= TYPE-IDENTIFIER.&Type
-
--- The exact definition and values used for AP-title
--- should be chosen taking into account the ongoing
--- work in areas of naming, the Directory, and the
--- Registration Authority procedures for AE titles,
--- AE titles, and AE qualifiers
-AE-qualifier ::= TYPE-IDENTIFIER.&Type
-
--- The exact definition and values used for AE-qualifier
--- should be chosen taking into account the ongoing
--- work in areas of naming, the Directory, and the
--- Registration Authority procedures for AE titles,
--- AE titles, and AE qualifiers
-AE-title ::= SEQUENCE {ap AP-title,
- ae AE-qualifier
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO9541-SN.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO9541-SN.asn
deleted file mode 100644
index 0149602040..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ISO9541-SN.asn
+++ /dev/null
@@ -1,51 +0,0 @@
--- Module ISO9541-SN (ISO:1991)
---
--- Copyright � ISO/IEC 1991. This version of
--- this ASN.1 module is part of ISO|IEC 9541-2:1991;
--- see the ISO|IEC text itself for full legal notices.
---
-ISO9541-SN {1 0 9541 2 3} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Structured-Name, Owner-Name, Object-Name-Component;
-
-Structured-Name ::= SEQUENCE {
- owner-name [0] IMPLICIT Owner-Name OPTIONAL,
- -- length restricted to 120 characters
- owner-description [1] Message OPTIONAL,
- object-name [2] SEQUENCE OF Object-Name-Component OPTIONAL,
- -- length restricted to 100 characters
- object-description [3] Message OPTIONAL
-}
-
-Owner-Name ::= SEQUENCE {
- objectIdentifier [0] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
- ownerNameComponent [1] SEQUENCE OF Owner-Name-Component OPTIONAL
-}
-
-Owner-Name-Component ::= [0] VisibleString
-
--- except for "//" and "::"
-Object-Name-Component ::= [0] VisibleString
-
--- only characters from the following
--- repertoire: "A-Z", "a-z", "0-9",
--- Hyphen, and Period. If the name
--- component is a numeric value,
--- the first digit is in the range
--- of 1 to 9
-Message ::= CHOICE {
- numeric [0] NumericString,
- printable [1] PrintableString,
- teletex [2] TeletexString,
- videotex [3] VideotexString,
- visible [4] VisibleString,
- ia5 [5] IA5String,
- graphic [6] GraphicString,
- general [7] GeneralString
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Identifiers-and-Expressions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Identifiers-and-Expressions.asn
deleted file mode 100644
index bd1d8d3c48..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Identifiers-and-Expressions.asn
+++ /dev/null
@@ -1,126 +0,0 @@
--- Module Identifiers-and-Expressions (T.415:03/1993)
-
-Identifiers-and-Expressions {2 8 1 5 7} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Content-Portion-Identifier, Object-or-Class-Identifier, Style-Identifier,
- Protected-Part-Identifier, Category-Name, Resource-Name, Binding-Name,
- Construction-Expression, Object-Id-Expression, Numeric-Expression,
- String-Expression;
-
-IMPORTS
- Layout-Object-Type
- FROM Layout-Descriptors -- see 7.9
-
- Logical-Object-Type
- FROM Logical-Descriptors; -- see 7.10
-
-Content-Portion-Identifier ::= [APPLICATION 0] IMPLICIT PrintableString
-
--- only digits and space are used in the present version
--- of this Specification; other characters are reserved for extensions
-Object-or-Class-Identifier ::= [APPLICATION 1] IMPLICIT PrintableString
-
--- only digits and space are used in the present version
--- of this Specification; other characters are reserved for extensions;
--- a 'null' value is represented by an empty string
-Style-Identifier ::= [APPLICATION 5] IMPLICIT PrintableString
-
--- only digits and space are used in the present version
--- of this Specification; other characters are reserved for extensions;
--- a 'null' value is represented by an empty string
-Protected-Part-Identifier ::= [APPLICATION 7] IMPLICIT PrintableString
-
--- only digits and space are used in the present version
--- of this Specification; other characters are reserved for extensions;
--- a 'null' value is represented by an empty string
-Category-Name ::= PrintableString
-
--- a 'null' value is represented by an empty string
-Resource-Name ::= PrintableString
-
-Binding-Name ::= PrintableString
-
-Construction-Expression ::= CHOICE {
- construction-type Construction-Type,
- single-term-construction [3] Construction-Term
-}
-
-Construction-Type ::= CHOICE {
- sequence-construction [0] IMPLICIT Term-Sequence,
- aggregate-construction [1] IMPLICIT Term-Sequence,
- choice-construction [2] IMPLICIT Term-Sequence
-}
-
-Term-Sequence ::= SEQUENCE OF Construction-Term
-
-Construction-Term ::= CHOICE {
- required-construction-factor [0] Construction-Factor,
- optional-construction-factor [1] Construction-Factor,
- repetitive-construction-factor [2] Construction-Factor,
- optional-repetitive-factor [3] Construction-Factor
-}
-
-Construction-Factor ::= CHOICE {
- object-class-identifier Object-or-Class-Identifier,
- construction-type Construction-Type
-}
-
-Object-Id-Expression ::= CHOICE {
- current-object-function [0] IMPLICIT NULL,
- preceding-object-function [1] Object-Id-Expression,
- superior-object-function [3] Object-Id-Expression,
- current-instance-function [4] Current-Instance-Function
-}
-
-Numeric-Expression ::= CHOICE {
- numeric-literal [0] IMPLICIT INTEGER,
- increment-application [1] Numeric-Expression,
- decrement-application [2] Numeric-Expression,
- ordinal-application
- [3] CHOICE {identifier Object-or-Class-Identifier,
- expression Object-Id-Expression},
- binding-reference [4] IMPLICIT Binding-Reference
-}
-
-Binding-Reference ::= SET {
- object-reference
- CHOICE {identifier Object-or-Class-Identifier,
- expression Binding-Selection-Function},
- binding-identifier Binding-Name
-}
-
-Binding-Selection-Function ::= CHOICE {
- current-object-function [0] IMPLICIT NULL,
- preceding-function [1] Object-Id-Expression,
- superior-function [3] Object-Id-Expression,
- current-instance-function [4] Current-Instance-Function
-}
-
-Current-Instance-Function ::= SEQUENCE {
- first-parameter
- CHOICE {identifier [0] IMPLICIT Object-or-Class-Identifier,
- layout-object-type [1] IMPLICIT Layout-Object-Type,
- logical-object-type [2] IMPLICIT Logical-Object-Type},
- second-parameter
- CHOICE {identifier Object-or-Class-Identifier,
- expression Object-Id-Expression}
-}
-
-String-Expression ::= SEQUENCE OF Atomic-String-Expression
-
-Atomic-String-Expression ::= CHOICE {
- string-literal [0] IMPLICIT OCTET STRING,
- binding-reference [2] IMPLICIT Binding-Reference,
- make-string-application [3] Numeric-Expression,
- upper-alpha-application [4] Numeric-Expression,
- lower-alpha-application [5] Numeric-Expression,
- upper-roman-application [6] Numeric-Expression,
- lower-roman-application [7] Numeric-Expression
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/InformationFramework.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/InformationFramework.asn
deleted file mode 100644
index 813ac9c6a0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/InformationFramework.asn
+++ /dev/null
@@ -1,868 +0,0 @@
--- Module InformationFramework (X.501:08/1997)
-InformationFramework {joint-iso-itu-t ds(5) module(1) informationFramework(1)
- 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-oc, id-at, id-mr, id-oa, id-sc, id-ar, id-nf, selectedAttributeTypes,
- directoryAbstractService, upperBounds
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- commonName, generalizedTimeMatch, generalizedTimeOrderingMatch, booleanMatch,
- integerMatch, integerOrderingMatch, objectIdentifierFirstComponentMatch,
- integerFirstComponentMatch, DirectoryString{}
- FROM SelectedAttributeTypes selectedAttributeTypes
- TypeAndContextAssertion, ServiceControlOptions, SearchControlOptions,
- HierarchySelections, FamilyGrouping, FamilyReturn
- FROM DirectoryAbstractService directoryAbstractService
- ub-search
- FROM UpperBounds upperBounds;
-
--- attribute data types
-Attribute ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- values
- SET SIZE (0..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
-AttributeType ::= ATTRIBUTE.&id
-
-AttributeValue ::= ATTRIBUTE.&Type
-
-Context ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Type({SupportedContexts}{@contextType}),
- fallback BOOLEAN DEFAULT FALSE
-}
-
-AttributeValueAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertion
- ATTRIBUTE.&equality-match.&AssertionType({SupportedAttributes}{@type}),
- assertedContexts
- CHOICE {allContexts [0] NULL,
- selectedContexts [1] SET SIZE (1..MAX) OF ContextAssertion
- } OPTIONAL
-}
-
-ContextAssertion ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValues
- SET SIZE (1..MAX) OF CONTEXT.&Assertion({SupportedContexts}{@contextType})
-}
-
-AttributeTypeAssertion ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- assertedContexts SEQUENCE SIZE (1..MAX) OF ContextAssertion OPTIONAL
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the values component of Attribute, the value component
--- of AttributeTypeAndValue, and the assertion component of AttributeValueAssertion.
-SupportedAttributes ATTRIBUTE ::=
- {objectClass | aliasedEntryName, ...}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the context specifications
-SupportedContexts CONTEXT ::=
- {...}
-
--- naming data types
-Name ::= CHOICE { -- only one possibility for now --rdnSequence RDNSequence
-}
-
-RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
-
-DistinguishedName ::= RDNSequence
-
-RelativeDistinguishedName ::=
- SET SIZE (1..MAX) OF AttributeTypeAndDistinguishedValue
-
-AttributeTypeAndDistinguishedValue ::= SEQUENCE {
- type ATTRIBUTE.&id({SupportedAttributes}),
- value ATTRIBUTE.&Type({SupportedAttributes}{@type}),
- primaryDistinguished BOOLEAN DEFAULT TRUE,
- valuesWithContext
- SET SIZE (1..MAX) OF
- SEQUENCE {distingAttrValue
- [0] ATTRIBUTE.&Type({SupportedAttributes}{@type}) OPTIONAL,
- contextList SET SIZE (1..MAX) OF Context} OPTIONAL
-}
-
--- subtree data types
-SubtreeSpecification ::= SEQUENCE {
- base [0] LocalName DEFAULT {},
- COMPONENTS OF ChopSpecification,
- specificationFilter [4] Refinement OPTIONAL
-}
-
--- empty sequence specifies whole administrative area
-LocalName ::= RDNSequence
-
-ChopSpecification ::= SEQUENCE {
- specificExclusions
- [1] SET SIZE (1..MAX) OF
- CHOICE {chopBefore [0] LocalName,
- chopAfter [1] LocalName} OPTIONAL,
- minimum [2] BaseDistance DEFAULT 0,
- maximum [3] BaseDistance OPTIONAL
-}
-
-BaseDistance ::= INTEGER(0..MAX)
-
-Refinement ::= CHOICE {
- item [0] OBJECT-CLASS.&id,
- and [1] SET OF Refinement,
- or [2] SET OF Refinement,
- not [3] Refinement
-}
-
--- OBJECT-CLASS information object class specification
-OBJECT-CLASS ::= CLASS {
- &Superclasses OBJECT-CLASS OPTIONAL,
- &kind ObjectClassKind DEFAULT structural,
- &MandatoryAttributes ATTRIBUTE OPTIONAL,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBCLASS OF &Superclasses]
- [KIND &kind]
- [MUST CONTAIN &MandatoryAttributes]
- [MAY CONTAIN &OptionalAttributes]
- ID &id
-}
-
-ObjectClassKind ::= ENUMERATED {abstract(0), structural(1), auxiliary(2)}
-
--- object classes
-top OBJECT-CLASS ::= {
- KIND abstract
- MUST CONTAIN {objectClass}
- ID id-oc-top
-}
-
-alias OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- MUST CONTAIN {aliasedEntryName}
- ID id-oc-alias
-}
-
-parent OBJECT-CLASS ::= {KIND abstract
- ID id-oc-parent
-}
-
-child OBJECT-CLASS ::= {KIND auxiliary
- ID id-oc-child
-}
-
--- ATTRIBUTE information object class specification
-ATTRIBUTE ::= CLASS {
- &derivation ATTRIBUTE OPTIONAL,
- &Type OPTIONAL, -- either &Type or &derivation required
- &equality-match MATCHING-RULE OPTIONAL,
- &ordering-match MATCHING-RULE OPTIONAL,
- &substrings-match MATCHING-RULE OPTIONAL,
- &single-valued BOOLEAN DEFAULT FALSE,
- &collective BOOLEAN DEFAULT FALSE,
- -- operational extensions
- &no-user-modification BOOLEAN DEFAULT FALSE,
- &usage AttributeUsage DEFAULT userApplications,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SUBTYPE OF &derivation]
- [WITH SYNTAX &Type]
- [EQUALITY MATCHING RULE &equality-match]
- [ORDERING MATCHING RULE &ordering-match]
- [SUBSTRINGS MATCHING RULE &substrings-match]
- [SINGLE VALUE &single-valued]
- [COLLECTIVE &collective]
- [NO USER MODIFICATION &no-user-modification]
- [USAGE &usage]
- ID &id
-}
-
-AttributeUsage ::= ENUMERATED {
- userApplications(0), directoryOperation(1), distributedOperation(2),
- dSAOperation(3)}
-
--- attributes
-objectClass ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-objectClass
-}
-
-aliasedEntryName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- ID id-at-aliasedEntryName
-}
-
--- MATCHING-RULE information object class specification
-MATCHING-RULE ::= CLASS {
- &ParentMatchingRules MATCHING-RULE.&id OPTIONAL,
- &AssertionType OPTIONAL,
- &uniqueMatchIndicator ATTRIBUTE.&id OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [PARENT &ParentMatchingRules]
- [SYNTAX &AssertionType]
- [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator]
- ID &id
-}
-
--- matching rules
-objectIdentifierMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierMatch
-}
-
-distinguishedNameMatch MATCHING-RULE ::= {
- SYNTAX DistinguishedName
- ID id-mr-distinguishedNameMatch
-}
-
-MAPPING-BASED-MATCHING{SelectedBy, BOOLEAN:combinable, MappingResult,
- OBJECT IDENTIFIER:matchingRule} ::= CLASS {
- &selectBy SelectedBy OPTIONAL,
- &ApplicableTo ATTRIBUTE,
- &subtypesIncluded BOOLEAN DEFAULT TRUE,
- &combinable BOOLEAN(combinable),
- &mappingResults MappingResult OPTIONAL,
- &userControl BOOLEAN DEFAULT FALSE,
- &exclusive BOOLEAN DEFAULT TRUE,
- &matching-rule MATCHING-RULE.&id(matchingRule),
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [SELECT BY &selectBy]
- APPLICABLE TO &ApplicableTo
- [SUBTYPES INCLUDED &subtypesIncluded]
- COMBINABLE &combinable
- [MAPPING RESULTS &mappingResults]
- [USER CONTROL &userControl]
- [EXCLUSIVE &exclusive]
- MATCHING RULE &matching-rule
- ID &id
-}
-
--- NAME-FORM information object class specification
-NAME-FORM ::= CLASS {
- &namedObjectClass OBJECT-CLASS,
- &MandatoryAttributes ATTRIBUTE,
- &OptionalAttributes ATTRIBUTE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- NAMES &namedObjectClass
- WITH ATTRIBUTES &MandatoryAttributes
- [AND OPTIONALLY &OptionalAttributes]
- ID &id
-}
-
--- STRUCTURE-RULE class and DIT structure rule data types
-STRUCTURE-RULE ::= CLASS {
- &nameForm NAME-FORM,
- &SuperiorStructureRules STRUCTURE-RULE OPTIONAL,
- &id RuleIdentifier
-}
-WITH SYNTAX {
- NAME FORM &nameForm
- [SUPERIOR RULES &SuperiorStructureRules]
- ID &id
-}
-
-DITStructureRule ::= SEQUENCE {
- ruleIdentifier RuleIdentifier,
- -- must be unique within the scope of the subschema
- nameForm NAME-FORM.&id,
- superiorStructureRules SET SIZE (1..MAX) OF RuleIdentifier OPTIONAL
-}
-
-RuleIdentifier ::= INTEGER
-
--- CONTENT-RULE class and DIT content rule data types
-CONTENT-RULE ::= CLASS {
- &structuralClass OBJECT-CLASS.&id UNIQUE,
- &Auxiliaries OBJECT-CLASS OPTIONAL,
- &Mandatory ATTRIBUTE OPTIONAL,
- &Optional ATTRIBUTE OPTIONAL,
- &Precluded ATTRIBUTE OPTIONAL
-}
-WITH SYNTAX {
- STRUCTURAL OBJECT-CLASS &structuralClass
- [AUXILIARY OBJECT-CLASSES &Auxiliaries]
- [MUST CONTAIN &Mandatory]
- [MAY CONTAIN &Optional]
- [MUST-NOT CONTAIN &Precluded]
-}
-
-DITContentRule ::= SEQUENCE {
- structuralObjectClass OBJECT-CLASS.&id,
- auxiliaries SET SIZE (1..MAX) OF OBJECT-CLASS.&id OPTIONAL,
- mandatory [1] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- optional [2] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL,
- precluded [3] SET SIZE (1..MAX) OF ATTRIBUTE.&id OPTIONAL
-}
-
-CONTEXT ::= CLASS {
- &Type ,
- &Assertion OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {WITH SYNTAX &Type
- [ASSERTED AS &Assertion]
- ID &id
-}
-
-DITContextUse ::= SEQUENCE {
- attributeType ATTRIBUTE.&id,
- mandatoryContexts [1] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL,
- optionalContexts [2] SET SIZE (1..MAX) OF CONTEXT.&id OPTIONAL
-}
-
-DIT-CONTEXT-USE-RULE ::= CLASS {
- &attributeType ATTRIBUTE.&id UNIQUE,
- &Mandatory CONTEXT OPTIONAL,
- &Optional CONTEXT OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [MANDATORY CONTEXTS &Mandatory]
- [OPTIONAL CONTEXTS &Optional]
-}
-
--- system schema information objects
--- object classes
-subentry OBJECT-CLASS ::= {
- SUBCLASS OF {top}
- KIND structural
- MUST CONTAIN {commonName | subtreeSpecification}
- ID id-sc-subentry
-}
-
-subentryNameForm NAME-FORM ::= {
- NAMES subentry
- WITH ATTRIBUTES {commonName}
- ID id-nf-subentryNameForm
-}
-
-accessControlSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-accessControlSubentry
-}
-
-collectiveAttributeSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- ID id-sc-collectiveAttributeSubentry
-}
-
-contextAssertionSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- MUST CONTAIN {contextAssertionDefaults}
- ID id-sc-contextAssertionSubentry
-}
-
-serviceAdminSubentry OBJECT-CLASS ::= {
- KIND auxiliary
- MUST CONTAIN {searchRules}
- ID id-sc-serviceAdminSubentry
-}
-
--- attributes
-createTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-createTimestamp
-}
-
-modifyTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifyTimestamp
-}
-
-subschemaTimestamp ATTRIBUTE ::= {
- WITH SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec.X. 680 | ISO/IEC 8824-1
- EQUALITY MATCHING RULE generalizedTimeMatch
- ORDERING MATCHING RULE generalizedTimeOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaTimestamp
-}
-
-creatorsName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-creatorsName
-}
-
-modifiersName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-modifiersName
-}
-
-subschemaSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-subschemaSubentryList
-}
-
-accessControlSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-accessControlSubentryList
-}
-
-collectiveAttributeSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-collectiveAttributeSubentryList
-}
-
-contextDefaultSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-contextDefaultSubentryList
-}
-
-serviceAdminSubentryList ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-serviceAdminSubentryList
-}
-
-hasSubordinates ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hasSubordinates
-}
-
-administrativeRole ATTRIBUTE ::= {
- WITH SYNTAX OBJECT-CLASS.&id
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-administrativeRole
-}
-
-subtreeSpecification ATTRIBUTE ::= {
- WITH SYNTAX SubtreeSpecification
- USAGE directoryOperation
- ID id-oa-subtreeSpecification
-}
-
-collectiveExclusions ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- USAGE directoryOperation
- ID id-oa-collectiveExclusions
-}
-
-contextAssertionDefaults ATTRIBUTE ::= {
- WITH SYNTAX TypeAndContextAssertion
- EQUALITY MATCHING RULE objectIdentifierFirstComponentMatch
- USAGE directoryOperation
- ID id-oa-contextAssertionDefault
-}
-
-searchRules ATTRIBUTE ::= {
- WITH SYNTAX SearchRuleDescription
- EQUALITY MATCHING RULE integerFirstComponentMatch
- USAGE directoryOperation
- ID id-oa-searchRules
-}
-
-SearchRuleDescription ::= SEQUENCE {
- COMPONENTS OF SearchRule,
- name [28] SET SIZE (1..MAX) OF DirectoryString{ub-search} OPTIONAL,
- description [29] DirectoryString{ub-search} OPTIONAL,
- obsolete [30] BOOLEAN DEFAULT FALSE
-}
-
-hierarchyLevel ATTRIBUTE ::= {
- WITH SYNTAX INTEGER
- EQUALITY MATCHING RULE integerMatch
- ORDERING MATCHING RULE integerOrderingMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyLevel
-}
-
-hierarchyBelow ATTRIBUTE ::= {
- WITH SYNTAX BOOLEAN
- EQUALITY MATCHING RULE booleanMatch
- SINGLE VALUE TRUE
- NO USER MODIFICATION TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyBelow
-}
-
-hierarchyParent ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- SINGLE VALUE TRUE
- USAGE directoryOperation
- ID id-oa-hierarchyParent
-}
-
-SearchRule ::= SEQUENCE {
- COMPONENTS OF SearchRuleId,
- serviceType [1] OBJECT IDENTIFIER OPTIONAL,
- userClass [2] INTEGER OPTIONAL,
- inputAttributeTypes
- [3] SEQUENCE SIZE (1..MAX) OF RequestAttribute OPTIONAL,
- attributeCombination [4] AttributeCombination DEFAULT and:{},
- outputAttributeTypes [5] SEQUENCE SIZE (1..MAX) OF ResultAttribute OPTIONAL,
- defaultControls [6] ControlOptions OPTIONAL,
- mandatoryControls [7] ControlOptions OPTIONAL,
- searchRuleControls [8] ControlOptions OPTIONAL,
- familyGrouping [9] FamilyGrouping OPTIONAL,
- familyReturn [10] FamilyReturn OPTIONAL,
- relaxation [11] RelaxationPolicy OPTIONAL,
- additionalControl [12] SEQUENCE SIZE (1..MAX) OF AttributeType OPTIONAL,
- allowedSubset [13] AllowedSubset DEFAULT '111'B,
- imposedSubset [14] ImposedSubset OPTIONAL,
- entryLimit [15] EntryLimit OPTIONAL
-}
-
-SearchRuleId ::= SEQUENCE {id INTEGER,
- dmdId [0] OBJECT IDENTIFIER
-}
-
-AllowedSubset ::= BIT STRING {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-ImposedSubset ::= ENUMERATED {baseObject(0), oneLevel(1), wholeSubtree(2)}
-
-RequestAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- includeSubtypes [0] BOOLEAN DEFAULT FALSE,
- selectedValues
- [1] SEQUENCE SIZE (0..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}) OPTIONAL,
- defaultValues
- [2] SEQUENCE SIZE (0..MAX) OF
- SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values
- SEQUENCE OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType})
- } OPTIONAL,
- contexts [3] SEQUENCE SIZE (0..MAX) OF ContextProfile OPTIONAL,
- contextCombination [4] ContextCombination DEFAULT and:{},
- matchingUse [5] SEQUENCE SIZE (1..MAX) OF MatchingUse OPTIONAL
-}
-
-ContextProfile ::= SEQUENCE {
- contextType CONTEXT.&id({SupportedContexts}),
- contextValue
- SEQUENCE SIZE (1..MAX) OF
- CONTEXT.&Assertion({SupportedContexts}{@contextType}) OPTIONAL
-}
-
-ContextCombination ::= CHOICE {
- context [0] CONTEXT.&id,
- and [1] SEQUENCE OF ContextCombination,
- or [2] SEQUENCE OF ContextCombination,
- not [3] ContextCombination
-}
-
-MatchingUse ::= SEQUENCE {
- restrictionType MATCHING-RESTRICTION.&id({SupportedMatchingRestrictions}),
- restrictionValue
- MATCHING-RESTRICTION.&Restriction
- ({SupportedMatchingRestrictions}{@restrictionType})
-}
-
--- Definition of the following information object set is deferred, perhaps to standardized
--- profiles or to protocol implementation conformance statements. The set is required to
--- specify a table constraint on the components of SupportedMatchingRestrictions
-SupportedMatchingRestrictions MATCHING-RESTRICTION ::=
- {...}
-
-AttributeCombination ::= CHOICE {
- attribute [0] AttributeType,
- and [1] SEQUENCE OF AttributeCombination,
- or [2] SEQUENCE OF AttributeCombination,
- not [3] AttributeCombination
-}
-
-ResultAttribute ::= SEQUENCE {
- attributeType ATTRIBUTE.&id({SupportedAttributes}),
- outputValues
- CHOICE {selectedValues
- SEQUENCE SIZE (1..MAX) OF
- ATTRIBUTE.&Type({SupportedAttributes}{@attributeType}),
- matchedValuesOnly NULL} OPTIONAL,
- contexts [0] SEQUENCE SIZE (1..MAX) OF ContextProfile OPTIONAL
-}
-
-OutputValues ::= CHOICE {
- selectedValues
- SEQUENCE SIZE (1..MAX) OF ATTRIBUTE.&Type({SupportedAttributes}),
- matchedValuesOnly NULL
-}
-
-ControlOptions ::= SEQUENCE {
- serviceControls [0] ServiceControlOptions DEFAULT {},
- searchOptions [1] SearchControlOptions DEFAULT {searchAliases},
- hierarchyOptions [2] HierarchySelections OPTIONAL
-}
-
-EntryLimit ::= SEQUENCE {default INTEGER,
- max INTEGER
-}
-
-RelaxationPolicy ::= SEQUENCE {
- basic [0] MRMapping DEFAULT {},
- tightenings [1] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- relaxations [2] SEQUENCE SIZE (1..MAX) OF MRMapping OPTIONAL,
- maximum [3] INTEGER OPTIONAL, -- mandatory if tightenings is present
- minimum [4] INTEGER DEFAULT 1
-}
-
-MRMapping ::= SEQUENCE {
- mapping [0] SEQUENCE SIZE (1..MAX) OF Mapping OPTIONAL,
- substitution [1] SEQUENCE SIZE (1..MAX) OF MRSubstitution OPTIONAL
-}
-
-Mapping ::= SEQUENCE {
- mappingFunction
- OBJECT IDENTIFIER
- (CONSTRAINED BY {-- shall be an--
-
- -- object identifier of a mapping-based matching algorithm -- }),
- level INTEGER DEFAULT 0
-}
-
-MRSubstitution ::= SEQUENCE {
- attribute AttributeType,
- oldMatchingRule [0] MATCHING-RULE.&id OPTIONAL,
- newMatchingRule [1] MATCHING-RULE.&id OPTIONAL
-}
-
-SEARCH-RULE ::= CLASS {
- &dmdId OBJECT IDENTIFIER,
- &serviceType OBJECT IDENTIFIER OPTIONAL,
- &userClass INTEGER OPTIONAL,
- &InputAttributeTypes REQUEST-ATTRIBUTE OPTIONAL,
- &combination AttributeCombination OPTIONAL,
- &OutputAttributeTypes RESULT-ATTRIBUTE OPTIONAL,
- &defaultControls ControlOptions OPTIONAL,
- &mandatoryControls ControlOptions OPTIONAL,
- &searchRuleControls ControlOptions OPTIONAL,
- &familyGrouping FamilyGrouping OPTIONAL,
- &familyReturn FamilyReturn OPTIONAL,
- &additionalControl AttributeType OPTIONAL,
- &relaxation RelaxationPolicy OPTIONAL,
- &entryLimit EntryLimit OPTIONAL,
- &allowedSubset AllowedSubset DEFAULT '111'B,
- &imposedSubset ImposedSubset OPTIONAL,
- &id INTEGER UNIQUE
-}
-WITH SYNTAX {
- DMD ID &dmdId
- [SERVICE-TYPE &serviceType]
- [USER-CLASS &userClass]
- [INPUT ATTRIBUTES &InputAttributeTypes]
- [COMBINATION &combination]
- [OUTPUT ATTRIBUTES &OutputAttributeTypes]
- [DEFAULT CONTROL &defaultControls]
- [MANDATORY CONTROL &mandatoryControls]
- [SEARCH-RULE CONTROL &searchRuleControls]
- [FAMILY-GROUPING &familyGrouping]
- [FAMILY-RETURN &familyReturn]
- [ADDITIONAL CONTROL &additionalControl]
- [RELAXATION &relaxation]
- [ALLOWED SUBSET &allowedSubset]
- [IMPOSED SUBSET &imposedSubset]
- [ENTRY LIMIT &entryLimit]
- ID &id
-}
-
-REQUEST-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &SelectedValues ATTRIBUTE.&Type OPTIONAL,
- &DefaultValues SEQUENCE {entryType OBJECT-CLASS.&id OPTIONAL,
- values SEQUENCE OF ATTRIBUTE.&Type
- } OPTIONAL,
- &contexts SEQUENCE OF ContextProfile OPTIONAL,
- &contextCombination ContextCombination OPTIONAL,
- &MatchingUse MatchingUse OPTIONAL,
- &includeSubtypes BOOLEAN DEFAULT FALSE
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [SELECTED VALUES &SelectedValues]
- [DEFAULT VALUES &DefaultValues]
- [CONTEXTS &contexts]
- [CONTEXT COMBINATION &contextCombination]
- [MATCHING USE &MatchingUse]
- [INCLUDE SUBTYPES &includeSubtypes]
-}
-
-RESULT-ATTRIBUTE ::= CLASS {
- &attributeType ATTRIBUTE.&id,
- &outputValues OutputValues OPTIONAL,
- &contexts ContextProfile OPTIONAL
-}
-WITH SYNTAX {
- ATTRIBUTE TYPE &attributeType
- [OUTPUT VALUES &outputValues]
- [CONTEXTS &contexts]
-}
-
-MATCHING-RESTRICTION ::= CLASS {
- &Restriction ,
- &Rules MATCHING-RULE.&id,
- &id OBJECT IDENTIFIER UNIQUE
-}WITH SYNTAX {RESTRICTION &Restriction
- RULES &Rules
- ID &id
-}
-
--- object identifier assignments
--- object classes
-id-oc-top OBJECT IDENTIFIER ::=
- {id-oc 0}
-
-id-oc-alias OBJECT IDENTIFIER ::= {id-oc 1}
-
-id-oc-parent OBJECT IDENTIFIER ::= {id-oc 28}
-
-id-oc-child OBJECT IDENTIFIER ::= {id-oc 29}
-
--- attributes
-id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
-
-id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-
--- matching rules
-id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
-
-id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-
--- operational attributes
-id-oa-excludeAllCollectiveAttributes OBJECT IDENTIFIER ::=
- {id-oa 0}
-
-id-oa-createTimestamp OBJECT IDENTIFIER ::= {id-oa 1}
-
-id-oa-modifyTimestamp OBJECT IDENTIFIER ::= {id-oa 2}
-
-id-oa-creatorsName OBJECT IDENTIFIER ::= {id-oa 3}
-
-id-oa-modifiersName OBJECT IDENTIFIER ::= {id-oa 4}
-
-id-oa-administrativeRole OBJECT IDENTIFIER ::= {id-oa 5}
-
-id-oa-subtreeSpecification OBJECT IDENTIFIER ::= {id-oa 6}
-
-id-oa-collectiveExclusions OBJECT IDENTIFIER ::= {id-oa 7}
-
-id-oa-subschemaTimestamp OBJECT IDENTIFIER ::= {id-oa 8}
-
-id-oa-hasSubordinates OBJECT IDENTIFIER ::= {id-oa 9}
-
-id-oa-subschemaSubentryList OBJECT IDENTIFIER ::= {id-oa 10}
-
-id-oa-accessControlSubentryList OBJECT IDENTIFIER ::= {id-oa 11}
-
-id-oa-collectiveAttributeSubentryList OBJECT IDENTIFIER ::= {id-oa 12}
-
-id-oa-contextDefaultSubentryList OBJECT IDENTIFIER ::= {id-oa 13}
-
-id-oa-contextAssertionDefault OBJECT IDENTIFIER ::= {id-oa 14}
-
-id-oa-serviceAdminSubentryList OBJECT IDENTIFIER ::= {id-oa 15}
-
-id-oa-searchRules OBJECT IDENTIFIER ::= {id-oa 16}
-
-id-oa-hierarchyLevel OBJECT IDENTIFIER ::= {id-oa 17}
-
-id-oa-hierarchyBelow OBJECT IDENTIFIER ::= {id-oa 18}
-
-id-oa-hierarchyParent OBJECT IDENTIFIER ::= {id-oa 19}
-
--- subentry classes
-id-sc-subentry OBJECT IDENTIFIER ::= {id-sc 0}
-
-id-sc-accessControlSubentry OBJECT IDENTIFIER ::= {id-sc 1}
-
-id-sc-collectiveAttributeSubentry OBJECT IDENTIFIER ::= {id-sc 2}
-
-id-sc-contextAssertionSubentry OBJECT IDENTIFIER ::= {id-sc 3}
-
-id-sc-serviceAdminSubentry OBJECT IDENTIFIER ::= {id-sc 4}
-
--- Name forms
-id-nf-subentryNameForm OBJECT IDENTIFIER ::= {id-nf 16}
-
--- administrative roles
-id-ar-autonomousArea OBJECT IDENTIFIER ::= {id-ar 1}
-
-id-ar-accessControlSpecificArea OBJECT IDENTIFIER ::= {id-ar 2}
-
-id-ar-accessControlInnerArea OBJECT IDENTIFIER ::= {id-ar 3}
-
-id-ar-subschemaAdminSpecificArea OBJECT IDENTIFIER ::= {id-ar 4}
-
-id-ar-collectiveAttributeSpecificArea OBJECT IDENTIFIER ::= {id-ar 5}
-
-id-ar-collectiveAttributeInnerArea OBJECT IDENTIFIER ::= {id-ar 6}
-
-id-ar-contextDefaultSpecificArea OBJECT IDENTIFIER ::= {id-ar 7}
-
-id-ar-serviceSpecificArea OBJECT IDENTIFIER ::= {id-ar 8}
-
-END -- InformationFramework
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Interchange-Data-Elements.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Interchange-Data-Elements.asn
deleted file mode 100644
index 2c78360b7b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Interchange-Data-Elements.asn
+++ /dev/null
@@ -1,57 +0,0 @@
--- Module Interchange-Data-Elements (T.415:03/1993)
-
-Interchange-Data-Elements {2 8 1 5 5} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Interchange-Data-Element;
-
-IMPORTS
- Document-Profile-Descriptor
- FROM Document-Profile-Descriptor -- see 7.7
-
- Layout-Class-Descriptor, Layout-Object-Descriptor
- FROM Layout-Descriptors -- see 7.9
-
- Logical-Class-Descriptor, Logical-Object-Descriptor
- FROM Logical-Descriptors -- see 7.10
-
- Presentation-Style-Descriptor, Layout-Style-Descriptor
- FROM Style-Descriptors -- see 7.11
-
- Text-Unit
- FROM Text-Units -- see 7.13
-
- Sealed-Doc-Prof-Descriptor, Enciphered-Doc-Prof-Descriptor,
- Preenciphered-Bodypart-Descriptor, Postenciphered-Bodypart-Descriptor
- FROM Protected-Part-Descriptors -- see 7.15
-
- Link-Class-Descriptor, Link-Descriptor, Enciphered-Link-Descriptor
- FROM Link-Descriptors {2 8 1 14 3};
-
--- See ITU-T Rec. T.424 | ISO/IEC 8613-14
-Interchange-Data-Element ::= CHOICE {
- document-profile [0] IMPLICIT Document-Profile-Descriptor,
- layout-object-class [1] IMPLICIT Layout-Class-Descriptor,
- layout-object [2] IMPLICIT Layout-Object-Descriptor,
- content-portion [3] IMPLICIT Text-Unit,
- logical-object-class [5] IMPLICIT Logical-Class-Descriptor,
- logical-object [6] IMPLICIT Logical-Object-Descriptor,
- presentation-style
- [7] IMPLICIT Presentation-Style-Descriptor,
- layout-style [8] IMPLICIT Layout-Style-Descriptor,
- sealed-doc-prof-descriptor [9] IMPLICIT Sealed-Doc-Prof-Descriptor,
- enciphered-doc-prof-descriptor
- [10] IMPLICIT Enciphered-Doc-Prof-Descriptor,
- preenciphered-bodypart-descriptor
- [11] IMPLICIT Preenciphered-Bodypart-Descriptor,
- postenciphered-bodypart-descriptor
- [12] IMPLICIT Postenciphered-Bodypart-Descriptor,
- link-class [13] IMPLICIT Link-Class-Descriptor,
- link [14] IMPLICIT Link-Descriptor,
- enciphered-link-descriptor [15] IMPLICIT Enciphered-Link-Descriptor
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Layout-Descriptors.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Layout-Descriptors.asn
deleted file mode 100644
index 92c887bb06..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Layout-Descriptors.asn
+++ /dev/null
@@ -1,268 +0,0 @@
--- Module Layout-Descriptors (T.415:03/1993)
-
-Layout-Descriptors {2 8 1 5 8} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Layout-Object-Descriptor, Layout-Class-Descriptor, Layout-Object-Type,
- Transparency, Comment-String, Binding-Pair, One-Of-Four-Angles,
- Measure-Pair, Dimension-Pair, Medium-Type, Colour, Border,
- Content-Background-Colour, Content-Foreground-Colour, Enciphered,
- Sealed;
-
-IMPORTS
- Object-or-Class-Identifier, Style-Identifier, Protected-Part-Identifier,
- Category-Name, Resource-Name, Binding-Name, Construction-Expression,
- Object-Id-Expression, Numeric-Expression, String-Expression
- FROM Identifiers-and-Expressions -- see 7.8
-
- Presentation-Attributes
- FROM Style-Descriptors -- see 7.11
-
- Default-Value-Lists-Layout
- FROM Default-Value-Lists -- see 7.12
-
- Colour-Expression, Colour-Table
- FROM Colour-Attributes -- see 7.14
-
- Presentation-Time
- FROM Temporal-Relationships {2 8 1 14 0};
-
--- See ITU-T Rec. T.424 | ISO/IEC 8613-14
-Position-Spec ::= SET {
- offset
- [0] IMPLICIT SET {leading [0] IMPLICIT INTEGER OPTIONAL,
- trailing [1] IMPLICIT INTEGER OPTIONAL,
- left-hand [2] IMPLICIT INTEGER OPTIONAL,
- right-hand [3] IMPLICIT INTEGER OPTIONAL} OPTIONAL,
- separation
- [1] IMPLICIT SET {leading [0] IMPLICIT INTEGER OPTIONAL,
- trailing [1] IMPLICIT INTEGER OPTIONAL,
- centre [2] IMPLICIT INTEGER OPTIONAL} OPTIONAL,
- alignment
- [2] IMPLICIT INTEGER {right-hand(0), centred(1), left-hand(2)} OPTIONAL,
- fill-order [3] IMPLICIT INTEGER {normal(0), reverse(1)} OPTIONAL
-}
-
-Dimension-Pair ::= SEQUENCE {
- horizontal
- CHOICE {fixed [0] IMPLICIT INTEGER,
- not-present [4] IMPLICIT NULL},
- vertical
- CHOICE {fixed [0] IMPLICIT INTEGER,
- variable [1] IMPLICIT INTEGER,
- not-present [4] IMPLICIT NULL}
-}
-
--- the choice 'not-present' indicates that the parameter is not present
-Dimension-Spec ::= SEQUENCE {horizontal Dimension,
- vertical Dimension
-}
-
-Dimension ::= CHOICE {
- fixed [0] IMPLICIT INTEGER,
- rule-a
- [1] IMPLICIT SET {minimum [0] IMPLICIT INTEGER OPTIONAL,
- maximum [1] IMPLICIT INTEGER OPTIONAL},
- rule-b
- [2] IMPLICIT SET {minimum [0] IMPLICIT INTEGER OPTIONAL,
- maximum [1] IMPLICIT INTEGER OPTIONAL},
- maximum-size [3] IMPLICIT NULL,
- not-present [4] IMPLICIT NULL
-}
-
--- the choice 'not-present' indicates that the parameter is not present
-Transparency ::= INTEGER {transparent(0), opaque(1)}
-
-Comment-String ::= OCTET STRING
-
--- string of characters from the sets designated by
--- the document profile attribute "comments character sets",
--- plus code extension control functions,
--- space, carriage return and line feed
-Binding-Pair ::= SET {
- binding-identifier [0] IMPLICIT Binding-Name,
- binding-value
- CHOICE {a [1] Object-Id-Expression,
- b [2] Numeric-Expression,
- c [3] String-Expression,
- d [4] IMPLICIT Object-or-Class-Identifier,
- e [5] IMPLICIT INTEGER,
- f [6] IMPLICIT OCTET STRING}
-}
-
-One-Of-Four-Angles ::= INTEGER {d0(0), d90(1), d180(2), d270(3)}
-
-Measure-Pair ::= SEQUENCE {
- horizontal
- CHOICE {fixed [0] IMPLICIT INTEGER,
- not-present [4] IMPLICIT NULL},
- vertical
- CHOICE {fixed [0] IMPLICIT INTEGER,
- not-present [4] IMPLICIT NULL}
-}
-
--- the choice 'not-present' indicates that the parameter is not present
-Medium-Type ::= SEQUENCE {
- nominal-page-size Measure-Pair OPTIONAL,
- side-of-sheet INTEGER {unspecified(0), recto(1), verso(2)} OPTIONAL,
- colour-of-medium [3] Colour-Of-Medium OPTIONAL
-}
-
-Colour ::= INTEGER {colour-of-media(0), coloured(1)}
-
-Border ::= SET {
- left-hand-edge [0] IMPLICIT Border-Edge OPTIONAL,
- right-hand-edge [1] IMPLICIT Border-Edge OPTIONAL,
- trailing-edge [2] IMPLICIT Border-Edge OPTIONAL,
- leading-edge [3] IMPLICIT Border-Edge OPTIONAL
-}
-
-Border-Edge ::= SET {
- line-width [0] IMPLICIT INTEGER OPTIONAL,
- line-type
- [1] IMPLICIT INTEGER {invisible(0), solid(1), dashed(2), dot(3),
- dash-dot(4), dash-dot-dot(5)} OPTIONAL,
- freespace-width [2] IMPLICIT INTEGER OPTIONAL,
- border-line-colour [3] Border-Line-Colour OPTIONAL
-}
-
--- a 'null' border edge is represented by an empty set
-Colour-Of-Medium ::= CHOICE {
- unspecified-colour [3] IMPLICIT NULL,
- specified-colour Colour-Expression
-}
-
-Border-Line-Colour ::= CHOICE {
- implementation-defined [3] IMPLICIT NULL,
- colour-expression Colour-Expression
-}
-
-Content-Background-Colour ::= CHOICE {
- content-background-transparency [2] IMPLICIT NULL,
- colour-expression Colour-Expression
-}
-
-Content-Foreground-Colour ::= CHOICE {
- implementation-defined [3] IMPLICIT NULL,
- content-foreground-transparency [2] IMPLICIT NULL,
- colour-expression Colour-Expression
-}
-
-Enciphered ::= SEQUENCE {
- enciphered-subordinates
- CHOICE {none-all [0] IMPLICIT INTEGER {none(0), all(1)},
- partial [1] IMPLICIT SEQUENCE OF NumericString},
- protected-part-id [2] IMPLICIT Protected-Part-Identifier OPTIONAL
-}
-
-Sealed ::= SEQUENCE {
- sealed-status [0] IMPLICIT INTEGER {no(0), yes(1)},
- seal-ids [1] IMPLICIT SET OF INTEGER OPTIONAL
-}
-
-Layout-Object-Descriptor ::= SEQUENCE {
- object-type Layout-Object-Type OPTIONAL,
- descriptor-body Layout-Object-Descriptor-Body OPTIONAL
-}
-
-Layout-Object-Type ::= INTEGER {
- document-layout-root(0), page-set(1), page(2), frame(3), block(4)}
-
-Layout-Object-Descriptor-Body ::= SET {
- object-identifier Object-or-Class-Identifier OPTIONAL,
- subordinates [0] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- object-class
- [2] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- position [3] IMPLICIT Measure-Pair OPTIONAL,
- dimensions [4] IMPLICIT Dimension-Pair OPTIONAL,
- transparency [5] IMPLICIT Transparency OPTIONAL,
- presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL,
- default-value-lists
- [7] IMPLICIT Default-Value-Lists-Layout OPTIONAL,
- user-readable-comments [8] IMPLICIT Comment-String OPTIONAL,
- bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL,
- layout-path [11] IMPLICIT One-Of-Four-Angles OPTIONAL,
- imaging-order
- [12] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- layout-stream-categories [36] IMPLICIT SET OF Category-Name OPTIONAL,
- layout-stream-sub-categories [37] IMPLICIT SET OF Category-Name OPTIONAL,
- permitted-categories [13] IMPLICIT SET OF Category-Name OPTIONAL,
- -- a 'null' value is represented by an empty set
- user-visible-name [14] IMPLICIT Comment-String OPTIONAL,
- page-position [15] IMPLICIT Measure-Pair OPTIONAL,
- medium-type [16] IMPLICIT Medium-Type OPTIONAL,
- presentation-style [17] IMPLICIT Style-Identifier OPTIONAL,
- balance
- [21] IMPLICIT SEQUENCE OF Object-or-Class-Identifier OPTIONAL,
- -- a 'null' value is represented by an empty sequence
- colour [22] IMPLICIT Colour OPTIONAL,
- colour-of-layout-object [29] Colour-Expression OPTIONAL,
- object-colour-table [30] IMPLICIT Colour-Table OPTIONAL,
- content-background-colour [31] Content-Background-Colour OPTIONAL,
- content-foreground-colour [32] Content-Foreground-Colour OPTIONAL,
- content-colour-table [33] IMPLICIT Colour-Table OPTIONAL,
- border [23] IMPLICIT Border OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- primary
- [27] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- alternative
- [28] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- enciphered [34] IMPLICIT Enciphered OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- presentation-time [52] IMPLICIT Presentation-Time OPTIONAL
-}
-
-Layout-Class-Descriptor ::= SEQUENCE {
- object-type Layout-Object-Type,
- descriptor-body Layout-Class-Descriptor-Body
-}
-
-Layout-Class-Descriptor-Body ::= SET {
- object-class-identifier Object-or-Class-Identifier,
- generator-for-subordinates [0] Construction-Expression OPTIONAL,
- content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- position
- CHOICE {fixed-position [3] IMPLICIT Measure-Pair,
- variable-position [26] IMPLICIT Position-Spec} OPTIONAL,
- dimensions [4] IMPLICIT Dimension-Spec OPTIONAL,
- transparency [5] IMPLICIT Transparency OPTIONAL,
- presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL,
- default-value-lists
- [7] IMPLICIT Default-Value-Lists-Layout OPTIONAL,
- user-readable-comments [8] IMPLICIT Comment-String OPTIONAL,
- bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL,
- content-generator [10] IMPLICIT String-Expression OPTIONAL,
- layout-path [11] IMPLICIT One-Of-Four-Angles OPTIONAL,
- layout-stream-categories [36] IMPLICIT SET OF Category-Name OPTIONAL,
- layout-stream-sub-categories [37] IMPLICIT SET OF Category-Name OPTIONAL,
- permitted-categories [13] IMPLICIT SET OF Category-Name OPTIONAL,
- -- a 'null' value is represented by an empty set
- user-visible-name [14] IMPLICIT Comment-String OPTIONAL,
- page-position [15] IMPLICIT Measure-Pair OPTIONAL,
- medium-type [16] IMPLICIT Medium-Type OPTIONAL,
- presentation-style [17] IMPLICIT Style-Identifier OPTIONAL,
- logical-source
- [18] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- balance
- [21] IMPLICIT SEQUENCE OF Object-or-Class-Identifier OPTIONAL,
- -- a 'null' value is represented by an empty sequence
- colour [22] IMPLICIT Colour OPTIONAL,
- colour-of-layout-object [29] Colour-Expression OPTIONAL,
- object-colour-table [30] IMPLICIT Colour-Table OPTIONAL,
- content-background-colour [31] Content-Background-Colour OPTIONAL,
- content-foreground-colour [32] Content-Foreground-Colour OPTIONAL,
- content-colour-table [33] IMPLICIT Colour-Table OPTIONAL,
- border [23] IMPLICIT Border OPTIONAL,
- resource [24] IMPLICIT Resource-Name OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- enciphered [34] IMPLICIT Enciphered OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- presentation-time [52] IMPLICIT Presentation-Time OPTIONAL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Link-Descriptors.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Link-Descriptors.asn
deleted file mode 100644
index 64fc4436e4..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Link-Descriptors.asn
+++ /dev/null
@@ -1,80 +0,0 @@
--- Module Link-Descriptors (T.424:07/1996)
-
-Link-Descriptors {2 8 1 14 3} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Link-Class-Descriptor, Link-Descriptor, Link-or-Link-Class-Identifier,
- Enciphered-Link-Descriptor;
-
-IMPORTS
- Reference-Name
- FROM External-References {2 8 1 12 1}
- -- see ITU-T Rec. T.422 | ISO/IEC 8613-12
- Location-Expression
- FROM Location-Expressions {2 8 1 12 0}
- -- see ITU-T Rec. T.422 | ISO/IEC 8613-12
- Style-Identifier, Protected-Part-Identifier
- FROM Identifiers-and-Expressions {2 8 1 5 7}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Comment-String, Sealed
- FROM Layout-Descriptors {2 8 1 5 8}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Temporal-Relations, Presentation-Time
- FROM Temporal-Relationships;
-
--- see 7.5
-Link-or-Link-Class-Identifier ::= [APPLICATION 9] IMPLICIT PrintableString
-
--- only digits and space are used in the present version of this Recommendation | International Standard;
--- other characters are reserved for extensions
-Link-Class-Descriptor ::= SET {
- link-class-identifier Link-or-Link-Class-Identifier,
- link-roles [1] SEQUENCE OF Link-Role OPTIONAL,
- user-readable-comments [2] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [3] IMPLICIT Comment-String OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- temporal-relations [38] IMPLICIT Temporal-Relations OPTIONAL,
- presentation-time [39] IMPLICIT Presentation-Time OPTIONAL
-}
-
-Link-Descriptor ::= SET {
- link-identifier Link-or-Link-Class-Identifier,
- link-class [0] IMPLICIT Link-or-Link-Class-Identifier OPTIONAL,
- link-roles [1] SEQUENCE OF Link-Role OPTIONAL,
- user-readable-comments [2] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [3] IMPLICIT Comment-String OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- temporal-relations [38] IMPLICIT Temporal-Relations OPTIONAL,
- presentation-time [39] IMPLICIT Presentation-Time OPTIONAL
-}
-
-Link-Role ::= SET {
- link-ends SET OF Link-End,
- user-readable-comments [2] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [3] IMPLICIT Comment-String OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL
-}
-
-Link-End ::= SET {
- reference
- SET {reference-name [0] Reference-Name OPTIONAL,
- reference-qualifier [1] Location-Expression OPTIONAL},
- user-readable-comments [2] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [3] IMPLICIT Comment-String OPTIONAL,
- presentation-style [17] IMPLICIT Style-Identifier OPTIONAL,
- layout-style [19] IMPLICIT Style-Identifier OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL
-}
-
-Enciphered-Link-Descriptor ::= SEQUENCE {
- protected-part-identifier Protected-Part-Identifier,
- enciphered-information OCTET STRING
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Location-Expressions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Location-Expressions.asn
deleted file mode 100644
index 5de6491621..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Location-Expressions.asn
+++ /dev/null
@@ -1,338 +0,0 @@
--- Module Location-Expressions (T.422:08/1995)
-
-Location-Expressions {2 8 1 12 0} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-EXPORTS Location-Expression, Basic-Location-Expression, Constituent-Locator;
-
-IMPORTS
- Object-or-Class-Identifier, Content-Portion-Identifier, Style-Identifier
- FROM Identifiers-and-Expressions {2 8 1 5 7}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Layout-Class-Descriptor, Layout-Object-Descriptor
- FROM Layout-Descriptors {2 8 1 5 8}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Logical-Class-Descriptor, Logical-Object-Descriptor
- FROM Logical-Descriptors {2 8 1 5 9}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Presentation-Style-Descriptor, Layout-Style-Descriptor
- FROM Style-Descriptors {2 8 1 5 10}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Text-Unit
- FROM Text-Units {2 8 1 5 12}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Subprofile-Descriptor, Subprofile-Identifier
- FROM Subprofiles {2 8 1 12 2}
- -- see 9.3
- Link-Class-Descriptor, Link-Descriptor, Link-or-Link-Class-Identifier
- FROM Link-Descriptors {2 8 1 14 3};
-
--- see ITU-T Rec. T.424 | ISO/IEC 8613-14
--- Location expression
-Location-Expression ::= CHOICE {
- basic [0] Basic-Location-Expression,
- composite [1] Composite-Location-Expression
-}
-
-Composite-Location-Expression ::= CHOICE {
- complement [0] Location-Expression,
- intersection [1] SEQUENCE OF Location-Expression,
- union [2] SEQUENCE OF Location-Expression
-}
-
-Basic-Location-Expression ::= CHOICE {
- region [0] Region-Locator,
- subtree [1] Subtree-Locator,
- constituent [2] Constituent-Locator
-}
-
-Region-Locator ::= SEQUENCE {
- start [0] Start-End-Object-Locator,
- end [1] Start-End-Object-Locator
-}
-
-Start-End-Object-Locator ::= SEQUENCE {
- object [0] Object-Locator,
- not-included [1] BOOLEAN DEFAULT TRUE
-}
-
-Subtree-Locator ::= Object-Locator
-
-Constituent-Locator ::= CHOICE {
- documentProfile [0] NULL,
- subprofile [1] Subprofile-Locator,
- component [2] Component-Locator,
- contentPortion [3] Content-Portion-Locator,
- style [4] Style-Locator,
- link-or-link-class [5] Link-or-Link-Class-Locator,
- constituent-of-type [6] Constituent-Type
-}
-
-Constituent-Type ::= ENUMERATED {
- layout-object-class(1), layout-object(2), content-portion(3),
- logical-object-class(5), logical-object(6), presentation-style(7),
- layout-style(8), sealed-doc-prof-descriptor(9),
- enciphered-doc-prof-descriptor(10), preenciphered-bodypart-descriptor(11),
- postenciphered-bodypart-descriptor(12), link-class(13), link(14),
- enciphered-link-descriptor(15), subprofile(16)}
-
--- Subprofile
-Subprofile-Locator ::= CHOICE {
- subprofile [0] Subprofile-Identifier,
- subprofile-of [1] Subprofile-of-argument,
- subprofile-with [2] Subprofile-with-argument
-}
-
-Subprofile-of-argument ::= Constituent-Locator
-
-Subprofile-with-argument ::=
- AttributeValue-Subprofile-Specification -- The "attribute" and "value"
-
--- arguments are grouped together
--- Component locator
-Component-Locator ::= CHOICE {
- objectClass [0] Object-Class-Locator,
- object [1] Object-Locator
-}
-
-Object-Class-Locator ::= CHOICE {
- objectClass [0] Object-or-Class-Identifier,
- object-class-of [1] Object-Class-of-argument,
- object-class-with [2] Object-Class-with-argument
-}
-
-Object-Class-of-argument ::= Object-Locator
-
-Object-Class-with-argument ::= SEQUENCE {
- attributeValueObject [0] AttributeValue-Class-Specification, -- The "attribute" and "value"
-
- -- arguments are grouped together
- defaulting [1] BOOLEAN DEFAULT FALSE
-}
-
--- Object locator
-Object-Locator ::= CHOICE {
- object [0] Object-or-Class-Identifier,
- subord [1] Subord-argument,
- object-with [2] Object-with-argument
-}
-
-Subord-argument ::= SEQUENCE {
- object [0] Object-Locator,
- counters [1] CountersType OPTIONAL
-}
-
-Object-with-argument ::= SEQUENCE {
- attributeValueObject [0] AttributeValue-Object-Specification, -- The "attribute" and "value"
-
- -- arguments are grouped together
- object [1] Object-Locator OPTIONAL,
- counters [2] CountersType OPTIONAL,
- not-defaulting [3] BOOLEAN DEFAULT FALSE
-}
-
--- Links
-Link-or-Link-Class-Locator ::= CHOICE {
- linkClass [0] Link-Class-Locator,
- link [1] Link-Locator
-}
-
-Link-Class-Locator ::= CHOICE {
- link [0] Link-or-Link-Class-Identifier,
- link-class-of [1] Link-Class-of-argument,
- link-class-with [2] Link-Class-with-arguments
-}
-
-Link-Class-of-argument ::= Link-Locator
-
-Link-Class-with-arguments ::=
- AttributeValue-Link-Class-Specification -- The "attribute" and "value"
-
--- arguments are grouped together
-Link-Locator ::= CHOICE {
- link [0] Link-or-Link-Class-Identifier,
- link-with [1] Link-with-arguments
-}
-
-Link-with-arguments ::= SEQUENCE {
- attributeValueLink [0] AttributeValue-Link-Specification, -- The "attribute" and "value"
-
- -- arguments are grouped together
- not-defaulting [1] BOOLEAN DEFAULT FALSE
-}
-
--- Content portion locator
-Content-Portion-Locator ::= CHOICE {
- contentPortion [0] Content-Portion-Identifier,
- assoc [1] Assoc-argument,
- content-with [2] Content-with-argument
-}
-
-Assoc-argument ::= SEQUENCE {
- component [0] Component-Locator,
- counters [1] CountersType OPTIONAL
-}
-
-Content-with-argument ::= SEQUENCE {
- attributeValueContent [0] AttributeValue-Content-Specification, -- The "attribute" and "value"
-
- -- arguments are grouped together
- component [1] Component-Locator OPTIONAL,
- counters [2] CountersType OPTIONAL,
- not-defaulting [3] BOOLEAN DEFAULT FALSE
-}
-
--- Styles
-Style-Locator ::= CHOICE {
- style [0] Style-Identifier,
- layout-style-of [1] Layout-Style-of-argument,
- presentation-style-of [2] Presentation-Style-of-argument,
- layout-style-with [3] Layout-Style-with-argument,
- presentation-style-with [4] Presentation-Style-with-argument
-}
-
-Layout-Style-of-argument ::= Component-Locator
-
-Presentation-Style-of-argument ::= Component-Locator
-
-Layout-Style-with-argument ::= SEQUENCE {
- attributeValueLayoutStyle [0] AttributeValue-LayoutStyle-Specification, -- The "attribute" and
-
- -- "value" arguments are grouped together
- not-defaulting [1] BOOLEAN DEFAULT FALSE
-}
-
-Presentation-Style-with-argument ::= SEQUENCE {
- attributeValuePresentationStyle
- [0] AttributeValue-PresentationStyle-Specification,
- -- The "attribute" and
- -- "value" arguments are grouped together
- not-defaulting [1] BOOLEAN DEFAULT FALSE
-}
-
--- Counters
-CountersType ::= SEQUENCE {
- start [0] INTEGER OPTIONAL,
- end [1] INTEGER OPTIONAL
-}
-
--- Attribute-Value specifications
--- Classes
-AttributeValue-Class-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Class-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Class-Specification OPTIONAL,
- end
- [1] Simple-AttributeValue-Class-Specification OPTIONAL
- }
-}
-
-Simple-AttributeValue-Class-Specification ::= CHOICE {
- layout [0] Layout-Class-Descriptor,
- logical [1] Logical-Class-Descriptor
-}
-
--- Objects
-AttributeValue-Object-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Object-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Object-Specification OPTIONAL,
- end
- [1] Simple-AttributeValue-Object-Specification OPTIONAL
- }
-}
-
-Simple-AttributeValue-Object-Specification ::= CHOICE {
- layout [0] Layout-Object-Descriptor,
- logical [1] Logical-Object-Descriptor
-}
-
--- Link classes
-AttributeValue-Link-Class-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Link-Class-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Link-Class-Specification
- OPTIONAL,
- end
- [1] Simple-AttributeValue-Link-Class-Specification
- OPTIONAL}
-}
-
-Simple-AttributeValue-Link-Class-Specification ::= Link-Class-Descriptor
-
--- Links
-AttributeValue-Link-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Link-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Link-Specification OPTIONAL,
- end
- [1] Simple-AttributeValue-Link-Specification OPTIONAL
- }
-}
-
-Simple-AttributeValue-Link-Specification ::= Link-Descriptor
-
--- Contents
-AttributeValue-Content-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Content-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Content-Specification OPTIONAL,
- end
- [1] Simple-AttributeValue-Content-Specification OPTIONAL
- }
-}
-
-Simple-AttributeValue-Content-Specification ::= Text-Unit
-
--- Layout Styles
-AttributeValue-LayoutStyle-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-LayoutStyle-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-LayoutStyle-Specification
- OPTIONAL,
- end
- [1] Simple-AttributeValue-LayoutStyle-Specification
- OPTIONAL}
-}
-
-Simple-AttributeValue-LayoutStyle-Specification ::= Layout-Style-Descriptor
-
--- Presentation Styles
-AttributeValue-PresentationStyle-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-PresentationStyle-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-PresentationStyle-Specification
- OPTIONAL,
- end
- [1] Simple-AttributeValue-PresentationStyle-Specification
- OPTIONAL}
-}
-
-Simple-AttributeValue-PresentationStyle-Specification ::=
- Presentation-Style-Descriptor
-
--- Subprofiles
-AttributeValue-Subprofile-Specification ::= CHOICE {
- value [0] Simple-AttributeValue-Subprofile-Specification,
- range
- [1] SEQUENCE {start
- [0] Simple-AttributeValue-Subprofile-Specification
- OPTIONAL,
- end
- [1] Simple-AttributeValue-Subprofile-Specification
- OPTIONAL}
-}
-
-Simple-AttributeValue-Subprofile-Specification ::= Subprofile-Descriptor
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Logical-Descriptors.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Logical-Descriptors.asn
deleted file mode 100644
index fab36bf12a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Logical-Descriptors.asn
+++ /dev/null
@@ -1,95 +0,0 @@
--- Module Logical-Descriptors (T.415:03/1993)
-
-Logical-Descriptors {2 8 1 5 9} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Logical-Object-Descriptor, Logical-Class-Descriptor, Logical-Object-Type,
- Protection;
-
-IMPORTS
- Object-or-Class-Identifier, Style-Identifier, Resource-Name,
- Construction-Expression, String-Expression
- FROM Identifiers-and-Expressions -- see 7.8
-
- Comment-String, Binding-Pair, Enciphered, Sealed
- FROM Layout-Descriptors -- see 7.9
-
- Presentation-Attributes
- FROM Style-Descriptors -- see 7.11
-
- Default-Value-Lists-Logical
- FROM Default-Value-Lists -- see 7.12
-
- Temporal-Relations
- FROM Temporal-Relationships {2 8 1 14 0};
-
--- See ITU-T Rec. T.424 | ISO/IEC 8613-14
-Logical-Object-Descriptor ::= SEQUENCE {
- object-type Logical-Object-Type OPTIONAL,
- descriptor-body Logical-Object-Descriptor-Body OPTIONAL
-}
-
-Logical-Object-Type ::= INTEGER {
- document-logical-root(0), composite-logical-object(1),
- basic-logical-object(2)}
-
-Logical-Object-Descriptor-Body ::= SET {
- object-identifier Object-or-Class-Identifier OPTIONAL,
- subordinates [0] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- object-class [2] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL,
- -- only for use for the attribute content-architecture-class;
- -- the content architecture specific attributes can only be referenced by
- -- use of presentation style
- default-value-lists [7] IMPLICIT Default-Value-Lists-Logical OPTIONAL,
- user-readable-comments [8] IMPLICIT Comment-String OPTIONAL,
- bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL,
- content-generator [10] IMPLICIT String-Expression OPTIONAL,
- user-visible-name [14] IMPLICIT Comment-String OPTIONAL,
- presentation-style [17] IMPLICIT Style-Identifier OPTIONAL,
- layout-style [19] IMPLICIT Style-Identifier OPTIONAL,
- protection [20] IMPLICIT Protection OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- primary [27] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- alternative [28] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- enciphered [34] IMPLICIT Enciphered OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- temporal-relations [36] IMPLICIT Temporal-Relations OPTIONAL
-}
-
-Logical-Class-Descriptor ::= SEQUENCE {
- object-type Logical-Object-Type,
- descriptor-body Logical-Class-Descriptor-Body
-}
-
-Logical-Class-Descriptor-Body ::= SET {
- object-class-identifier Object-or-Class-Identifier,
- generator-for-subordinates [0] Construction-Expression OPTIONAL,
- content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL,
- presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL,
- -- only for use for the attribute content-architecture-class;
- -- the content architecture specific attributes can only be referenced by
- -- use of presentation style
- default-value-lists [7] IMPLICIT Default-Value-Lists-Logical OPTIONAL,
- user-readable-comments [8] IMPLICIT Comment-String OPTIONAL,
- bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL,
- content-generator [10] IMPLICIT String-Expression OPTIONAL,
- user-visible-name [14] IMPLICIT Comment-String OPTIONAL,
- presentation-style [17] IMPLICIT Style-Identifier OPTIONAL,
- layout-style [19] IMPLICIT Style-Identifier OPTIONAL,
- protection [20] IMPLICIT Protection OPTIONAL,
- resource [24] IMPLICIT Resource-Name OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- enciphered [34] IMPLICIT Enciphered OPTIONAL,
- sealed [35] IMPLICIT Sealed OPTIONAL,
- temporal-relations [36] IMPLICIT Temporal-Relations OPTIONAL
-}
-
-Protection ::= INTEGER {unprotected(0), protected(1)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MHSObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MHSObjectIdentifiers.asn
deleted file mode 100644
index 187c3c8ad4..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MHSObjectIdentifiers.asn
+++ /dev/null
@@ -1,187 +0,0 @@
--- Module MHSObjectIdentifiers (X.402:06/1999)
-MHSObjectIdentifiers {joint-iso-itu-t mhs(6) arch(5) modules(0)
- object-identifiers(0) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything.
-IMPORTS -- nothing -- ;
-
-ID ::= OBJECT IDENTIFIER
-
--- MHS Aspects
-id-mhs-protocols ID ::= {joint-iso-itu-t mhs(6) protocols(0)}
-
--- MHS Application Contexts and Protocols
--- See ITU-T Rec. X.419 | ISO/IEC 10021-6.
-id-ipms ID ::=
- {joint-iso-itu-t mhs(6) ipms(1)}
-
--- Interpersonal Messaging
--- See ITU-T Rec. X.420 | ISO/IEC 10021-7.
--- Value {joint-iso-itu-t mhs(6) 2} is no longer defined
-id-mts ID ::=
- {joint-iso-itu-t mhs(6) mts(3)}
-
--- Message Transfer System
--- See ITU-T Rec. X.411 | ISO/IEC 10021-4.
-id-ms ID ::=
- {joint-iso-itu-t mhs(6) ms(4)}
-
--- Message Store
--- See ITU-T Rec. X.413 | ISO/IEC 10021-5.
-id-arch ID ::=
- {joint-iso-itu-t mhs(6) arch(5)}
-
--- Overall Architecture
--- See this Specification.
-id-group ID ::=
- {joint-iso-itu-t mhs(6) group(6)}
-
--- Reserved.
-id-edims ID ::= {joint-iso-itu-t mhs(6) edims(7)}
-
--- EDI Messaging
--- See ITU-T Rec. X.435 | ISO/IEC 10021-9.
-id-management ID ::=
- {joint-iso-itu-t mhs(6) management(9)}
-
--- MHS Management
--- See ITU-T Recs. X.460 - X.467 | ISO/IEC 11588.
-id-routing ID ::=
- {joint-iso-itu-t mhs(6) routing(10)}
-
--- MHS Routing
--- See ITU-T Rec. X.412 | ISO/IEC 10021-10.
--- Categories
-id-mod ID ::=
- {id-arch 0} -- modules; not definitive
-
-id-oc ID ::= {id-arch 1} -- object classes
-
-id-at ID ::= {id-arch 2} -- attribute types
-
--- Value {id-arch 3} is no longer defined
-id-mr ID ::=
- {id-arch 4} -- matching rules
-
-id-con ID ::= {id-arch 5} -- contexts
-
-id-san ID ::= {id-arch 6} -- certificate subject alternative names
-
--- Modules
-id-object-identifiers ID ::= {id-mod 0} -- not definitive
-
-id-directory-objects-and-attributes ID ::= {id-mod 1} -- not definitive
-
--- Object classes
-id-oc-mhs-distribution-list ID ::= {id-oc 0}
-
-id-oc-mhs-message-store ID ::= {id-oc 1}
-
-id-oc-mhs-message-transfer-agent ID ::= {id-oc 2}
-
-id-oc-mhs-user ID ::= {id-oc 3}
-
-id-oc-mhs-user-agent ID ::= {id-oc 4}
-
--- Attributes
-id-at-mhs-maximum-content-length ID ::= {id-at 0}
-
-id-at-mhs-deliverable-content-types ID ::= {id-at 1}
-
-id-at-mhs-exclusively-acceptable-eits ID ::= {id-at 2}
-
-id-at-mhs-dl-members ID ::= {id-at 3}
-
-id-at-mhs-dl-submit-permissions ID ::= {id-at 4}
-
-id-at-mhs-message-store-dn ID ::= {id-at 5}
-
-id-at-mhs-or-addresses ID ::= {id-at 6}
-
--- Value {id-at 7} is no longer defined
-id-at-mhs-supported-automatic-actions ID ::=
- {id-at 8}
-
-id-at-mhs-supported-content-types ID ::= {id-at 9}
-
-id-at-mhs-supported-attributes ID ::= {id-at 10}
-
-id-at-mhs-supported-matching-rules ID ::= {id-at 11}
-
-id-at-mhs-dl-archive-service ID ::= {id-at 12}
-
-id-at-mhs-dl-policy ID ::= {id-at 13}
-
-id-at-mhs-dl-related-lists ID ::= {id-at 14}
-
-id-at-mhs-dl-subscription-service ID ::= {id-at 15}
-
-id-at-mhs-or-addresses-with-capabilities ID ::= {id-at 16}
-
-id-at-mhs-acceptable-eits ID ::= {id-at 17}
-
-id-at-mhs-unacceptable-eits ID ::= {id-at 18}
-
-id-at-mhs-deliverable-classes ID ::= {id-at 19}
-
-id-at-encrypted-mhs-maximum-content-length ID ::= {id-at 0 2}
-
-id-at-encrypted-mhs-deliverable-content-types ID ::= {id-at 1 2}
-
-id-at-encrypted-mhs-exclusively-acceptable-eits ID ::= {id-at 2 2}
-
-id-at-encrypted-mhs-dl-members ID ::= {id-at 3 2}
-
-id-at-encrypted-mhs-dl-submit-permissions ID ::= {id-at 4 2}
-
-id-at-encrypted-mhs-message-store-dn ID ::= {id-at 5 2}
-
-id-at-encrypted-mhs-or-addresses ID ::= {id-at 6 2}
-
-id-at-encrypted-mhs-supported-automatic-actions ID ::= {id-at 8 2}
-
-id-at-encrypted-mhs-supported-content-types ID ::= {id-at 9 2}
-
-id-at-encrypted-mhs-supported-attributes ID ::= {id-at 10 2}
-
-id-at-encrypted-mhs-supported-matching-rules ID ::= {id-at 11 2}
-
-id-at-encrypted-mhs-dl-archive-service ID ::= {id-at 12 2}
-
-id-at-encrypted-mhs-dl-policy ID ::= {id-at 13 2}
-
-id-at-encrypted-mhs-dl-related-lists ID ::= {id-at 14 2}
-
-id-at-encrypted-mhs-dl-subscription-service ID ::= {id-at 15 2}
-
-id-at-encrypted-mhs-or-addresses-with-capabilities ID ::= {id-at 16 2}
-
-id-at-encrypted-mhs-acceptable-eits ID ::= {id-at 17 2}
-
-id-at-encrypted-mhs-unacceptable-eits ID ::= {id-at 18 2}
-
-id-at-encrypted-mhs-deliverable-classes ID ::= {id-at 19 2}
-
--- Matching Rules
-id-mr-orname-exact-match ID ::= {id-mr 0}
-
-id-mr-address-capabilities-match ID ::= {id-mr 1}
-
-id-mr-capability-match ID ::= {id-mr 2}
-
--- Contexts
-id-con-dl-administrator-annotation ID ::= {id-con 0}
-
-id-con-dl-nested-dl ID ::= {id-con 1}
-
-id-con-dl-reset-originator ID ::= {id-con 2}
-
--- Certificate subject alternative names
-id-san-mta-name ID ::= {id-san 0}
-
-END -- of MHSObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MHSProtocolObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MHSProtocolObjectIdentifiers.asn
deleted file mode 100644
index 40f53b9458..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MHSProtocolObjectIdentifiers.asn
+++ /dev/null
@@ -1,112 +0,0 @@
--- Module MHSProtocolObjectIdentifiers (X.419:06/1999)
-
-MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- object-identifiers(0) version-1994(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports Everything
-IMPORTS -- nothing -- ;
-
-ID ::= OBJECT IDENTIFIER
-
--- MHS Protocols
-id-mhs-protocols ID ::=
- {joint-iso-itu-t mhs(6) protocols(0)} -- not definitive
-
--- Categories of Object Identifiers
-id-mod ID ::=
- {id-mhs-protocols 0} -- modules
-
-id-ac ID ::= {id-mhs-protocols 1} -- application contexts
-
-id-as ID ::= {id-mhs-protocols 2} -- abstract syntaxes
-
-id-ase ID ::= {id-mhs-protocols 3} -- application service elements (obsolete)
-
--- Modules
-id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive
-
-id-mod-mts-access-protocol ID ::= {id-mod 1} -- not definitive
-
-id-mod-ms-access-protocol ID ::= {id-mod 2} -- not definitive
-
-id-mod-mts-transfer-protocol ID ::= {id-mod 3} -- not definitive
-
--- Application Contexts
--- MTS Access Protocol
-id-ac-mts-access-88 ID ::=
- {id-ac 0}
-
-id-ac-mts-forced-access-88 ID ::= {id-ac 1}
-
-id-ac-mts-reliable-access-88 ID ::= {id-ac 2}
-
-id-ac-mts-forced-reliable-access-88 ID ::= {id-ac 3}
-
-id-ac-mts-access-94 ID ::= {id-ac 7}
-
-id-ac-mts-forced-access-94 ID ::= {id-ac 8}
-
-id-ac-mts-reliable-access-94 ID ::= {id-ac 9}
-
-id-ac-mts-forced-reliable-access-94 ID ::= {id-ac 10}
-
--- MS Access Protocol
-id-ac-ms-access-88 ID ::= {id-ac 4}
-
-id-ac-ms-reliable-access-88 ID ::= {id-ac 5}
-
-id-ac-ms-access-94 ID ::= {id-ac 11}
-
-id-ac-ms-reliable-access-94 ID ::= {id-ac 12}
-
--- MTS Transfer Protocol
-id-ac-mts-transfer ID ::= {id-ac 6}
-
--- Abstract Syntaxes
-id-as-msse ID ::= {id-as 1}
-
-id-as-mdse-88 ID ::= {id-as 2}
-
-id-as-mrse-88 ID ::= {id-as 5}
-
-id-as-mase-88 ID ::= {id-as 6}
-
-id-as-mtse ID ::= {id-as 7}
-
-id-as-mts-rtse ID ::= {id-as 8}
-
-id-as-ms-88 ID ::= {id-as 9}
-
-id-as-ms-rtse ID ::= {id-as 10}
-
-id-as-mts ID ::= {id-as 11}
-
-id-as-mta-rtse ID ::= {id-as 12}
-
-id-as-ms-msse ID ::= {id-as 13}
-
-id-as-mdse-94 ID ::= {id-as 14}
-
-id-as-mrse-94 ID ::= {id-as 15}
-
-id-as-mase-94 ID ::= {id-as 16}
-
-id-as-ms-94 ID ::= {id-as 17}
-
--- Application Service Elements
-id-ase-msse ID ::= {id-ase 0}
-
-id-ase-mdse ID ::= {id-ase 1}
-
-id-ase-mrse ID ::= {id-ase 2}
-
-id-ase-mase ID ::= {id-ase 3}
-
-id-ase-mtse ID ::= {id-ase 4}
-
-END --of MHSProtocolObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSAbstractService.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSAbstractService.asn
deleted file mode 100644
index 052b3b2041..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSAbstractService.asn
+++ /dev/null
@@ -1,1085 +0,0 @@
--- Module MSAbstractService (X.413:06/1999)
-MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) abstract-service(1)
- version-1999(1)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- MTS information object classes
- operationObject1, ABSTRACT-ERROR, ABSTRACT-OPERATION, EXTENSION, MHS-OBJECT,
- PORT,
- -- MTS objects and ports
- administration, delivery, mts-user,
- submission,
- -- MTS abstract-operations and abstract-errors
- cancel-deferred-delivery, element-of-service-not-subscribed,
- inconsistent-request, new-credentials-unacceptable,
- old-credentials-incorrectly-specified, originator-invalid,
- recipient-improperly-specified, remote-bind-error, security-error,
- submission-control, submission-control-violated,
- unsupported-critical-function,
- -- MTS abstract-service data-types
- CertificateSelectors, Credentials, InitiatorCredentials,
- MessageSubmissionArgument, MessageSubmissionResult, MessageToken,
- ORAddressAndOrDirectoryName, ProbeSubmissionArgument,
- ProbeSubmissionResult, ResponderCredentials, SecurityContext, SecurityLabel
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- MTS abstract-service 1988 ports
- administration-88
- --==
- FROM MTSAbstractService88 {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1988(1988)}
- -- MTS abstract-service upper bounds
- ub-content-types, ub-encoded-information-types, ub-labels-and-redirections
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)}
- -- MS X413ATTRIBUTE table
- AttributeTable
- --==
- FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-attribute-types(2) version-1999(1)}
- -- MS matching rule table
- MatchingRuleTable
- --==
- FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-matching-rules(5) version-1999(1)}
- -- MS auto-action-table and auto-action-error table
- AutoActionTable, AutoActionErrorTable
- --==
- FROM MSGeneralAutoActionTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-auto-action-types(3) version-1994(0)}
- -- MS object-identifiers
- id-cp-ms-connection, id-crt-ms-access-88, id-crt-ms-access-94,
- id-ext-modify-capability, id-ext-modify-retrieval-status-capability,
- id-ext-originator-token, id-ext-originator-certificate-selectors-override,
- id-ext-protected-change-credentials,
- id-ext-protected-change-credentials-capability, id-ot-ms, id-ot-ms-user,
- id-pt-retrieval-88, id-pt-retrieval-94, id-pt-ms-submission
- --==
- FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MS Access abstract-operation and error codes
- err-attribute-error, err-auto-action-request-error, err-ms-extension-error,
- err-delete-error, err-entry-class-error, err-fetch-restriction-error,
- err-invalid-parameters-error, err-message-group-error, err-modify-error,
- err-range-error, err-security-error, err-sequence-number-error,
- err-service-error, err-register-ms-error, op-alert, op-delete, op-fetch,
- op-list, op-modify, op-ms-message-submission, op-ms-probe-submission,
- op-register-ms, op-summarize
- --==
- FROM MSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- ms-access-protocol(2) version-1999(1)}
- -- MS abstract-service upper bounds
- ub-attributes-supported, ub-attribute-values, ub-auto-action-errors,
- ub-auto-actions, ub-auto-registrations, ub-default-registrations,
- ub-entry-classes, ub-error-reasons, ub-extensions, ub-group-depth,
- ub-group-descriptor-length, ub-group-part-length, ub-matching-rules,
- ub-message-groups, ub-messages, ub-modifications, ub-per-entry,
- ub-per-auto-action, ub-service-information-length, ub-summaries,
- ub-supplementary-info-length, ub-ua-registration-identifier-length,
- ub-ua-registrations, ub-restrictions
- --==
- FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)}
- -- MATCHING-RULE information object class
- MATCHING-RULE
- --==
- FROM InformationFramework
-
- -- Remote Operations
- CONTRACT, CONNECTION-PACKAGE
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)};
-
--- MS Abstract Objects
-ms MHS-OBJECT ::= {
- IS {mts-user}
- RESPONDS {ms-access-contract-88 | ms-access-contract-94}
- ID id-ot-ms
-}
-
-ms-user MHS-OBJECT ::= {
- INITIATES {ms-access-contract-88 | ms-access-contract-94}
- ID id-ot-ms-user
-}
-
--- Contracts
-ms-access-contract-94 CONTRACT ::= {
- CONNECTION ms-connect
- INITIATOR CONSUMER OF {retrieval | ms-submission | administration}
- ID id-crt-ms-access-94
-}
-
-ms-access-contract-88 CONTRACT ::= {
- CONNECTION ms-connect -- with all 1994 extensions omitted
- INITIATOR CONSUMER OF {retrieval-88 | submission | administration-88}
- ID id-crt-ms-access-88
-}
-
--- Connection-package
-ms-connect CONNECTION-PACKAGE ::= {
- BIND ms-bind
- UNBIND ms-unbind
- ID id-cp-ms-connection
-}
-
--- MS Ports
-retrieval PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES
- {summarize | list | fetch | delete | register-MS,
- ... -- 1994 extension addition --, modify}
- SUPPLIER INVOKES {alert}
- ID id-pt-retrieval-94
-}
-
-retrieval-88 PORT ::= {
- -- With all 1994 extensions to the abstract-operations absent
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES {summarize | list | fetch | delete | register-MS}
- SUPPLIER INVOKES {alert}
- ID id-pt-retrieval-88
-}
-
-ms-submission PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES
- {ms-message-submission | ms-probe-submission | ms-cancel-deferred-delivery}
- SUPPLIER INVOKES {ms-submission-control}
- ID id-pt-ms-submission
-}
-
--- X413ATTRIBUTE information object class
-X413ATTRIBUTE ::= CLASS {
- &id AttributeType UNIQUE,
- &Type ,
- &equalityMatch MATCHING-RULE OPTIONAL,
- &substringsMatch MATCHING-RULE OPTIONAL,
- &orderingMatch MATCHING-RULE OPTIONAL,
- &numeration ENUMERATED {single-valued(0), multi-valued(1)},
- -- 1994 extension
- &OtherMatches MATCHING-RULE OPTIONAL
-}
-WITH SYNTAX {
- WITH ATTRIBUTE-SYNTAX &Type,
- [EQUALITY MATCHING-RULE &equalityMatch,]
- [SUBSTRINGS MATCHING-RULE &substringsMatch,]
- [ORDERING MATCHING-RULE &orderingMatch,]
- [OTHER MATCHING-RULES &OtherMatches,]
- NUMERATION &numeration,
- ID &id
-}
-
-Attribute ::= SEQUENCE {
- attribute-type X413ATTRIBUTE.&id({AttributeTable}),
- attribute-values
- SEQUENCE SIZE (1..ub-attribute-values) OF
- X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
-}
-
-AttributeType ::= OBJECT IDENTIFIER
-
--- AUTO-ACTION information object class
-AUTO-ACTION ::= CLASS {
- &id AutoActionType UNIQUE,
- &RegistrationParameter OPTIONAL,
- &Errors AUTO-ACTION-ERROR OPTIONAL
-}
-WITH SYNTAX {
- [REGISTRATION PARAMETER IS &RegistrationParameter]
- [ERRORS &Errors]
- IDENTIFIED BY &id
-}
-
-AutoActionType ::= OBJECT IDENTIFIER
-
-AutoActionRegistration ::= SEQUENCE {
- auto-action-type AUTO-ACTION.&id({AutoActionTable}),
- registration-identifier [0] INTEGER(1..ub-per-auto-action) DEFAULT 1,
- registration-parameter
- [1] AUTO-ACTION.&RegistrationParameter
- ({AutoActionTable}{@auto-action-type}) OPTIONAL
-}
-
--- AUTO-ACTION-ERROR information object class
-AUTO-ACTION-ERROR ::=
- ABSTRACT-ERROR
-
-AutoActionError ::= SET {
- error-code [0] AUTO-ACTION-ERROR.&errorCode({AutoActionErrorTable}),
- error-parameter
- [1] AUTO-ACTION-ERROR.&ParameterType({AutoActionErrorTable}{@error-code})
- OPTIONAL
-}
-
--- MS-EXTENSION information object class
-MS-EXTENSION ::= TYPE-IDENTIFIER
-
-MSExtensionItem ::= INSTANCE OF MS-EXTENSION
-
-MSExtensions ::= SEQUENCE SIZE (1..ub-extensions) OF MSExtensionItem
-
--- Common data-types related to the information model
-EntryClass ::= INTEGER {
- delivery(0),
- -- 1994 extensions
- submission(1), draft(2), stored-message(3), delivery-log(4),
- submission-log(5), message-log(6), auto-action-log(7)}(0..ub-entry-classes)
-
-EntryType ::= INTEGER {
- delivered-message(0), delivered-report(1),
- returned-content(2),
- -- 1994 extensions
- submitted-message(3), submitted-probe(4), draft-message(5),
- auto-action-event(6)}
-
-SequenceNumber ::= INTEGER(0..ub-messages)
-
-RetrievalStatus ::= INTEGER {new(0), listed(1), processed(2)}
-
-MessageGroupName ::= SEQUENCE SIZE (1..ub-group-depth) OF GroupNamePart
-
-GroupNamePart ::= GeneralString(SIZE (1..ub-group-part-length))
-
--- MS-bind abstract-operation
-ms-bind ABSTRACT-OPERATION ::= {
- ARGUMENT MSBindArgument
- RESULT MSBindResult
- ERRORS {ms-bind-error}
-}
-
-MSBindArgument ::= SET {
- initiator-name ORAddressAndOrDirectoryName,
- initiator-credentials [2] InitiatorCredentials,
- security-context [3] IMPLICIT SecurityContext OPTIONAL,
- fetch-restrictions [4] Restrictions OPTIONAL -- default is none--,
- ms-configuration-request [5] BOOLEAN DEFAULT FALSE,
- -- 1994 extensions
- ua-registration-identifier [6] RegistrationIdentifier OPTIONAL,
- bind-extensions [7] MSExtensions OPTIONAL
-}
-
-Restrictions ::= SET {
- allowed-content-types
- [0] SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL--default is no restriction--,
- allowed-EITs [1] MS-EITs OPTIONAL --default is no restriction--,
- maximum-attribute-length [2] INTEGER OPTIONAL --default is no restriction--
-}
-
-MS-EITs ::= SET SIZE (1..ub-encoded-information-types) OF MS-EIT
-
-MS-EIT ::= OBJECT IDENTIFIER
-
-RegistrationIdentifier ::=
- PrintableString(SIZE (1..ub-ua-registration-identifier-length))
-
-MSBindResult ::= SET {
- responder-credentials [2] ResponderCredentials,
- available-auto-actions
- [3] SET SIZE (1..ub-auto-actions) OF AUTO-ACTION.&id({AutoActionTable})
- OPTIONAL,
- available-attribute-types
- [4] SET SIZE (1..ub-attributes-supported) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- alert-indication [5] BOOLEAN DEFAULT FALSE,
- content-types-supported
- [6] SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL,
- -- 1994 extensions
- entry-classes-supported
- [7] SET SIZE (1..ub-entry-classes) OF EntryClass OPTIONAL,
- matching-rules-supported
- [8] SET SIZE (1..ub-matching-rules) OF OBJECT IDENTIFIER OPTIONAL,
- bind-result-extensions [9] MSExtensions OPTIONAL,
- message-group-depth [10] INTEGER(1..ub-group-depth) OPTIONAL,
- auto-action-error-indication [11] AutoActionErrorIndication OPTIONAL,
- unsupported-extensions
- [12] SET SIZE (1..ub-extensions) OF OBJECT IDENTIFIER OPTIONAL,
- ua-registration-id-unknown [13] BOOLEAN DEFAULT FALSE,
- service-information
- [14] GeneralString(SIZE (1..ub-service-information-length)) OPTIONAL
-}
-
-modify-capability MS-EXTENSION ::= {
- NULL
- IDENTIFIED BY id-ext-modify-capability
-}
-
-modify-retrieval-status-capability MS-EXTENSION ::= {
- NULL
- IDENTIFIED BY id-ext-modify-retrieval-status-capability
-}
-
-protected-change-credentials-capability MS-EXTENSION ::= {
- ChangeCredentialsAlgorithms
- IDENTIFIED BY id-ext-protected-change-credentials-capability
-}
-
-ChangeCredentialsAlgorithms ::= SET OF OBJECT IDENTIFIER
-
-AutoActionErrorIndication ::= CHOICE {
- indication-only [0] NULL,
- auto-action-log-entry [1] SequenceNumber
-}
-
-ms-bind-error ABSTRACT-ERROR ::= {
- PARAMETER
- CHOICE {unqualified-error BindProblem,
- -- 1994 extension
- qualified-error
- SET {bind-problem [0] BindProblem,
- supplementary-information
- [1] GeneralString(SIZE (1..ub-supplementary-info-length))
- OPTIONAL,
- bind-extension-errors
- [2] SET SIZE (1..ub-extensions) OF OBJECT IDENTIFIER
- OPTIONAL}}
-}
-
-BindProblem ::= ENUMERATED {
- authentication-error(0), unacceptable-security-context(1),
- unable-to-establish-association(2), ... -- 1994 extension addition --,
- bind-extension-problem(3), inadequate-association-confidentiality(4)
-}
-
--- MS Unbind abstract-operation
-ms-unbind ABSTRACT-OPERATION ::= emptyUnbind
-
--- Common data-types
-Range ::= CHOICE {
- sequence-number-range [0] NumberRange,
- creation-time-range [1] TimeRange
-}
-
-NumberRange ::= SEQUENCE {
- from [0] SequenceNumber OPTIONAL -- omitted means no lower bound--,
- to [1] SequenceNumber OPTIONAL -- omitted means no upper bound--
-}
-
-TimeRange ::= SEQUENCE {
- from [0] CreationTime OPTIONAL -- omitted means no lower bound--,
- to [1] CreationTime OPTIONAL -- omitted means no upper bound--
-}
-
-CreationTime ::= UTCTime
-
-Filter ::= CHOICE {
- item [0] FilterItem,
- and [1] SET OF Filter,
- or [2] SET OF Filter,
- not [3] Filter
-}
-
-FilterItem ::= CHOICE {
- equality [0] AttributeValueAssertion,
- substrings
- [1] SEQUENCE {type X413ATTRIBUTE.&id({AttributeTable}),
- strings
- SEQUENCE OF
- CHOICE {initial
- [0] X413ATTRIBUTE.&Type
- ({AttributeTable}{@substrings.type}),
- any
- [1] X413ATTRIBUTE.&Type
- ({AttributeTable}{@substrings.type}),
- final
- [2] X413ATTRIBUTE.&Type
- ({AttributeTable}{@substrings.type})
- }},
- greater-or-equal [2] AttributeValueAssertion,
- less-or-equal [3] AttributeValueAssertion,
- present [4] X413ATTRIBUTE.&id({AttributeTable}),
- approximate-match [5] AttributeValueAssertion,
- -- 1994 extension
- other-match [6] MatchingRuleAssertion
-}
-
-MatchingRuleAssertion ::= SEQUENCE {
- matching-rule [0] MATCHING-RULE.&id({MatchingRuleTable}),
- attribute-type [1] X413ATTRIBUTE.&id,
- match-value
- [2] MATCHING-RULE.&AssertionType({MatchingRuleTable}{@matching-rule})
-}
-
-AttributeValueAssertion ::= SEQUENCE {
- attribute-type X413ATTRIBUTE.&id({AttributeTable}),
- attribute-value X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
-}
-
-Selector ::= SET {
- child-entries [0] BOOLEAN DEFAULT FALSE,
- range [1] Range OPTIONAL -- default is unbounded --,
- filter
- [2] Filter
- OPTIONAL -- default is all entries within the specified range --,
- limit [3] INTEGER(1..ub-messages) OPTIONAL,
- override [4] OverrideRestrictions OPTIONAL -- by default, --
- -- any fetch-restrictions in force apply
-}
-
-OverrideRestrictions ::= BIT STRING {
- override-content-types-restriction(0), override-EITs-restriction(1),
- override-attribute-length-restriction(2)}(SIZE (1..ub-restrictions))
-
-EntryInformationSelection ::= SET SIZE (0..ub-per-entry) OF AttributeSelection
-
-AttributeSelection ::= SET {
- type X413ATTRIBUTE.&id({AttributeTable}),
- from
- [0] INTEGER(1..ub-attribute-values)
- OPTIONAL --used if type is multi valued--,
- count
- [1] INTEGER(0..ub-attribute-values)
- OPTIONAL --used if type is multi valued--
-}
-
-EntryInformation ::= SEQUENCE {
- sequence-number SequenceNumber,
- attributes SET SIZE (1..ub-per-entry) OF Attribute OPTIONAL,
- -- 1994 extension
- value-count-exceeded
- [0] SET SIZE (1..ub-per-entry) OF AttributeValueCount OPTIONAL
-}
-
-AttributeValueCount ::= SEQUENCE {
- type [0] X413ATTRIBUTE.&id({AttributeTable}),
- total [1] INTEGER
-}
-
-MSSubmissionOptions ::= SET {
- object-entry-class
- [0] EntryClass(submission | submission-log | draft) OPTIONAL,
- disable-auto-modify [1] BOOLEAN DEFAULT FALSE,
- add-message-group-names
- [2] SET SIZE (1..ub-message-groups) OF MessageGroupName OPTIONAL,
- ms-submission-extensions [3] MSExtensions OPTIONAL
-}
-
-originator-token MS-EXTENSION ::= {
- OriginatorToken
- IDENTIFIED BY id-ext-originator-token
-}
-
-OriginatorToken ::=
- MessageToken
- (CONSTRAINED BY {
-
- -- Must contain an asymmetric-token with an encrypted-data component --})
-
-originator-certificate-selectors-override MS-EXTENSION ::= {
- CertificateSelectors
- (WITH COMPONENTS {
- ...,
- message-origin-authentication ABSENT
- })
- IDENTIFIED BY id-ext-originator-certificate-selectors-override
-}
-
-CommonSubmissionResults ::= SET {
- created-entry [0] SequenceNumber OPTIONAL,
- auto-action-error-indication [1] AutoActionErrorIndication OPTIONAL,
- ms-submission-result-extensions [2] MSExtensions OPTIONAL
-}
-
--- Retrieval Port abstract-operations
-summarize ABSTRACT-OPERATION ::= {
- ARGUMENT SummarizeArgument
- RESULT SummarizeResult
- ERRORS
- {attribute-error | invalid-parameters-error | range-error | security-error
- | service-error, ... -- 1994 extension additions --, entry-class-error |
- ms-extension-error}
- LINKED {operationObject1, ...}
- CODE op-summarize
-}
-
-SummarizeArgument ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- selector [1] Selector,
- summary-requests
- [2] SEQUENCE SIZE (1..ub-summaries) OF X413ATTRIBUTE.&id({AttributeTable})
- OPTIONAL -- absent if no summaries are requested--,
- -- 1994 extension
- summarize-extensions [3] MSExtensions OPTIONAL
-}
-
-SummarizeResult ::= SET {
- next [0] SequenceNumber OPTIONAL,
- count
- [1] INTEGER(0..ub-messages)-- of the entries selected-- ,
- span [2] Span OPTIONAL -- of the entries selected,---- omitted if count is zero --,
- summaries
- [3] SEQUENCE SIZE (1..ub-summaries) OF Summary OPTIONAL,
- -- 1994 extension
- summarize-result-extensions [4] MSExtensions OPTIONAL
-}
-
-Span ::= SEQUENCE {lowest [0] SequenceNumber,
- highest [1] SequenceNumber
-}
-
-Summary ::= SET {
- absent
- [0] INTEGER(1..ub-messages)
- OPTIONAL --count of entries where X413ATTRIBUTE is absent--,
- present
- [1] SET SIZE (1..ub-attribute-values)
- OF--one for each X413ATTRIBUTE value present--
- SEQUENCE {type X413ATTRIBUTE.&id({AttributeTable}),
- value X413ATTRIBUTE.&Type({AttributeTable}{@.type}),
- count INTEGER(1..ub-messages)} OPTIONAL
-}
-
---
-list ABSTRACT-OPERATION ::= {
- ARGUMENT ListArgument
- RESULT ListResult
- ERRORS
- {attribute-error | invalid-parameters-error | range-error | security-error
- | service-error, ... -- 1994 extension additions --, entry-class-error |
- ms-extension-error}
- LINKED {operationObject1, ...}
- CODE op-list
-}
-
-ListArgument ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- selector [1] Selector,
- requested-attributes [3] EntryInformationSelection OPTIONAL,
- -- 1994 extension
- list-extensions [4] MSExtensions OPTIONAL
-}
-
-ListResult ::= SET {
- next [0] SequenceNumber OPTIONAL,
- requested
- [1] SEQUENCE SIZE (1..ub-messages) OF EntryInformation OPTIONAL--omitted if none found--,
- -- 1994 extension
- list-result-extensions [2] MSExtensions OPTIONAL
-}
-
---
-fetch ABSTRACT-OPERATION ::= {
- ARGUMENT FetchArgument
- RESULT FetchResult
- ERRORS
- {attribute-error | fetch-restriction-error | invalid-parameters-error |
- range-error | security-error | sequence-number-error | service-error,
- ... -- 1994 extension additions --, entry-class-error |
- ms-extension-error}
- LINKED {operationObject1, ...}
- CODE op-fetch
-}
-
-FetchArgument ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- item
- CHOICE {search [1] Selector,
- precise [2] SequenceNumber},
- requested-attributes [3] EntryInformationSelection OPTIONAL,
- -- 1994 extension
- fetch-extensions [4] MSExtensions OPTIONAL
-}
-
-FetchResult ::= SET {
- entry-information
- [0] EntryInformation OPTIONAL --if an entry was selected--,
- list
- [1] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
- next [2] SequenceNumber OPTIONAL,
- -- 1994 extension
- fetch-result-extensions [3] MSExtensions OPTIONAL
-}
-
---
-delete ABSTRACT-OPERATION ::= {
- ARGUMENT DeleteArgument
- RESULT DeleteResult
- ERRORS
- {delete-error | invalid-parameters-error | range-error | security-error |
- sequence-number-error | service-error,
- ... -- 1994 extension additions --, entry-class-error |
- ms-extension-error}
- LINKED {operationObject1, ...}
- CODE op-delete
-}
-
-DeleteArgument ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- items
- CHOICE {selector [1] Selector,
- sequence-numbers [2] SET SIZE (1..ub-messages) OF SequenceNumber
- },
- -- 1994 extension
- delete-extensions [3] MSExtensions OPTIONAL
-}
-
-DeleteResult ::= CHOICE {
- delete-result-88 NULL,
- -- 1994 extension
- delete-result-94
- SET {entries-deleted
- [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
- delete-result-extensions [1] MSExtensions OPTIONAL}
-}
-
---
-register-MS ABSTRACT-OPERATION ::= {
- ARGUMENT Register-MSArgument
- RESULT Register-MSResult
- ERRORS
- {attribute-error | auto-action-request-error | invalid-parameters-error |
- security-error | service-error | old-credentials-incorrectly-specified |
- new-credentials-unacceptable, ... -- 1994 extension additions --,
- message-group-error | ms-extension-error | register-ms-error}
- LINKED {operationObject1, ...}
- CODE op-register-ms
-}
-
-Register-MSArgument ::= SET {
- auto-action-registrations
- [0] SET SIZE (1..ub-auto-registrations) OF AutoActionRegistration OPTIONAL,
- auto-action-deregistrations
- [1] SET SIZE (1..ub-auto-registrations) OF AutoActionDeregistration
- OPTIONAL,
- list-attribute-defaults
- [2] SET SIZE (0..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- fetch-attribute-defaults
- [3] SET SIZE (0..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- change-credentials
- [4] SEQUENCE {old-credentials
- [0] Credentials(WITH COMPONENTS {
- simple
- }),
- new-credentials
- [1] Credentials(WITH COMPONENTS {
- simple
- })} OPTIONAL,
- user-security-labels
- [5] SET SIZE (1..ub-labels-and-redirections) OF SecurityLabel OPTIONAL,
- -- 1994 extensions
- ua-registrations
- [6] SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL,
- submission-defaults [7] MSSubmissionOptions OPTIONAL,
- message-group-registrations [8] MessageGroupRegistrations OPTIONAL,
- registration-status-request [9] RegistrationTypes OPTIONAL,
- register-ms-extensions [10] MSExtensions OPTIONAL
-}
-
-AutoActionDeregistration ::= SEQUENCE {
- auto-action-type AUTO-ACTION.&id({AutoActionTable}),
- registration-identifier [0] INTEGER(1..ub-per-auto-action) DEFAULT 1
-}
-
-UARegistration ::= SET {
- ua-registration-identifier [0] RegistrationIdentifier,
- ua-list-attribute-defaults
- [1] SET SIZE (0..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- ua-fetch-attribute-defaults
- [2] SET SIZE (0..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- ua-submission-defaults [3] MSSubmissionOptions OPTIONAL,
- content-specific-defaults [4] MSExtensions OPTIONAL
-}
-
-MessageGroupRegistrations ::=
- SEQUENCE SIZE (1..ub-default-registrations) OF
- CHOICE {register-group [0] MessageGroupNameAndDescriptor,
- deregister-group [1] MessageGroupName,
- change-descriptors [2] MessageGroupNameAndDescriptor}
-
-MessageGroupNameAndDescriptor ::= SET {
- message-group-name [0] MessageGroupName,
- message-group-descriptor
- [1] GeneralString(SIZE (1..ub-group-descriptor-length)) OPTIONAL
-}
-
-RegistrationTypes ::= SET {
- registrations
- [0] BIT STRING {auto-action-registrations(0), list-attribute-defaults(1),
- fetch-attribute-defaults(2), ua-registrations(3),
- submission-defaults(4), message-group-registrations(5)}
- OPTIONAL,
- extended-registrations [1] SET OF MS-EXTENSION.&id OPTIONAL,
- restrict-message-groups [2] MessageGroupsRestriction OPTIONAL
-}
-
-MessageGroupsRestriction ::= SET {
- parent-group [0] MessageGroupName OPTIONAL,
- immediate-descendants-only [1] BOOLEAN DEFAULT TRUE,
- omit-descriptors [2] BOOLEAN DEFAULT TRUE
-}
-
-protected-change-credentials MS-EXTENSION ::= {
- ProtectedChangeCredentials
- IDENTIFIED BY id-ext-protected-change-credentials
-}
-
-ProtectedChangeCredentials ::= SEQUENCE {
- algorithm-identifier [0] IMPLICIT OBJECT IDENTIFIER,
- old-credentials
- InitiatorCredentials(WITH COMPONENTS {
- protected PRESENT
- }),
- password-delta [2] IMPLICIT BIT STRING
-}
-
-Register-MSResult ::= CHOICE {
- no-status-information NULL,
- -- 1994 extension
- registered-information
- SET {auto-action-registrations
- [0] SET SIZE (1..ub-auto-registrations) OF AutoActionRegistration
- OPTIONAL,
- list-attribute-defaults
- [1] SET SIZE (1..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- fetch-attribute-defaults
- [2] SET SIZE (1..ub-default-registrations) OF
- X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
- ua-registrations
- [3] SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL,
- submission-defaults [4] MSSubmissionOptions OPTIONAL,
- message-group-registrations
- [5] SET SIZE (1..ub-message-groups) OF
- MessageGroupNameAndDescriptor OPTIONAL,
- register-ms-result-extensions [6] MSExtensions OPTIONAL}
-}
-
---
-alert ABSTRACT-OPERATION ::= {
- ARGUMENT AlertArgument
- RESULT AlertResult
- ERRORS {security-error}
- LINKED {operationObject1, ...}
- CODE op-alert
-}
-
-AlertArgument ::= SET {
- alert-registration-identifier [0] INTEGER(1..ub-auto-actions),
- new-entry [2] EntryInformation OPTIONAL
-}
-
-AlertResult ::= NULL
-
---
-modify ABSTRACT-OPERATION ::= {
- ARGUMENT ModifyArgument
- RESULT ModifyResult
- ERRORS
- {attribute-error | invalid-parameters-error | security-error |
- sequence-number-error | service-error | modify-error |
- message-group-error | entry-class-error | ms-extension-error,
- ... -- For future extension additions --}
- LINKED {operationObject1, ...}
- CODE op-modify
-}
-
-ModifyArgument ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- entries
- CHOICE {selector [1] Selector,
- specific-entries
- [2] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber},
- modifications
- [3] SEQUENCE SIZE (1..ub-modifications) OF EntryModification,
- modify-extensions [4] MSExtensions OPTIONAL
-}
-
-EntryModification ::= SET {
- strict [0] BOOLEAN DEFAULT FALSE,
- modification
- CHOICE {add-attribute [1] Attribute,
- remove-attribute [2] X413ATTRIBUTE.&id({AttributeTable}),
- add-values [3] OrderedAttribute,
- remove-values [4] OrderedAttribute}
-}
-
-OrderedAttribute ::= SEQUENCE {
- attribute-type X413ATTRIBUTE.&id({AttributeTable}),
- attribute-values
- SEQUENCE SIZE (1..ub-attribute-values) OF
- SEQUENCE {-- at least one must be specified
- value
- [0] X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
- OPTIONAL,
- position [1] INTEGER(1..ub-attribute-values) OPTIONAL
- }
-}
-
-ModifyResult ::= SET {
- entries-modified
- [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
- modify-result-extensions [1] MSExtensions OPTIONAL
-}
-
--- MS-submission Port abstract-operations
-ms-message-submission ABSTRACT-OPERATION ::= {
- ARGUMENT MSMessageSubmissionArgument
- RESULT MSMessageSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error, ... -- 1994 extension additions --, ms-extension-error
- | message-group-error | entry-class-error | service-error}
- LINKED {operationObject1, ...}
- CODE op-ms-message-submission
-}
-
-MSMessageSubmissionArgument ::= SEQUENCE {
- COMPONENTS OF
- MessageSubmissionArgument -- This imported type has IMPLICIT tags --,
- -- 1994 extension
- submission-options [4] MSSubmissionOptions OPTIONAL
-}
-
-forwarding-request EXTENSION ::= {
- SequenceNumber,
- IDENTIFIED BY standard-extension:36
-}
-
-MSMessageSubmissionResult ::= CHOICE {
- mts-result
- SET {COMPONENTS OF
- MessageSubmissionResult-- This imported type has IMPLICIT tags -- ,
- -- 1994 extension
- ms-message-result [4] CommonSubmissionResults OPTIONAL},
- -- 1994 extension
- store-draft-result [4] CommonSubmissionResults
-}
-
---
-ms-probe-submission ABSTRACT-OPERATION ::= {
- ARGUMENT MSProbeSubmissionArgument
- RESULT MSProbeSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error, ... -- 1994 extension additions --, ms-extension-error
- | message-group-error | entry-class-error | service-error}
- LINKED {operationObject1, ...}
- CODE op-ms-probe-submission
-}
-
-MSProbeSubmissionArgument ::= SET {
- COMPONENTS OF
- ProbeSubmissionArgument -- This imported type has IMPLICIT tags --,
- -- 1994 extension
- submission-options [4] MSSubmissionOptions OPTIONAL
-}
-
-MSProbeSubmissionResult ::= SET {
- COMPONENTS OF
- ProbeSubmissionResult -- This imported type has IMPLICIT tags --,
- -- 1994 extension
- ms-probe-result [4] CommonSubmissionResults OPTIONAL
-}
-
-ms-cancel-deferred-delivery ABSTRACT-OPERATION ::= cancel-deferred-delivery
-
-ms-submission-control ABSTRACT-OPERATION ::= submission-control
-
--- Abstract-errors
-attribute-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problems
- [0] SET SIZE (1..ub-per-entry) OF
- SET {problem [0] AttributeProblem,
- type [1] X413ATTRIBUTE.&id({AttributeTable}),
- value
- [2] X413ATTRIBUTE.&Type({AttributeTable}{@.type})
- OPTIONAL}}
- CODE err-attribute-error
-}
-
-AttributeProblem ::= INTEGER {
- invalid-attribute-value(0), unavailable-attribute-type(1),
- inappropriate-matching(2), attribute-type-not-subscribed(3),
- inappropriate-for-operation(4),
- -- 1994 extensions
- inappropriate-modification(5), single-valued-attribute(6)
-}(0..ub-error-reasons)
-
---
-auto-action-request-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problems
- [0] SET SIZE (1..ub-auto-registrations) OF
- SET {problem [0] AutoActionRequestProblem,
- type [1] AUTO-ACTION.&id({AutoActionTable})
- }}
- CODE err-auto-action-request-error
-}
-
-AutoActionRequestProblem ::= INTEGER {
- unavailable-auto-action-type(0),
- auto-action-type-not-subscribed(1),
- -- 1994 extension
- not-willing-to-perform(2)}(0..ub-error-reasons)
-
---
-delete-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problems
- [0] SET SIZE (1..ub-messages) OF
- SET {problem [0] DeleteProblem,
- sequence-number [1] SequenceNumber},
- -- 1994 extension
- entries-deleted
- [1] SET SIZE (1..ub-messages) OF SequenceNumber OPTIONAL}
- CODE err-delete-error
-}
-
-DeleteProblem ::= INTEGER {
- child-entry-specified(0),
- delete-restriction-problem(1),
- -- 1994 extensions
- new-entry-specified(2), entry-class-restriction(3), stored-message-exists(4)
-}(0..ub-error-reasons)
-
---
-fetch-restriction-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problems
- [0] SET SIZE (1..ub-default-registrations) OF
- SET {problem [3] FetchRestrictionProblem,
- restriction
- CHOICE {content-type [0] OBJECT IDENTIFIER,
- eit [1] MS-EITs,
- attribute-length [2] INTEGER}}}
- CODE err-fetch-restriction-error
-}
-
-FetchRestrictionProblem ::= INTEGER {
- content-type-problem(1), eit-problem(2), maximum-length-problem(3)
-}(0..ub-error-reasons)
-
---
-invalid-parameters-error ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-invalid-parameters-error
-}
-
---
-range-error ABSTRACT-ERROR ::= {
- PARAMETER SET {problem [0] RangeProblem}
- CODE err-range-error
-}
-
-RangeProblem ::= INTEGER {reversed(0)}(0..ub-error-reasons)
-
---
-sequence-number-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problems
- [1] SET SIZE (1..ub-messages) OF
- SET {problem [0] SequenceNumberProblem,
- sequence-number [1] SequenceNumber}}
- CODE err-sequence-number-error
-}
-
-SequenceNumberProblem ::= INTEGER {no-such-entry(0)}(0..ub-error-reasons)
-
---
-service-error ABSTRACT-ERROR ::= {
- PARAMETER ServiceErrorParameter
- CODE err-service-error
-}
-
-ServiceErrorParameter ::= SET {
- problem [0] ServiceProblem,
- -- 1994 extension
- supplementary-information
- [1] GeneralString(SIZE (1..ub-supplementary-info-length)) OPTIONAL
-}
-
-ServiceProblem ::= INTEGER {busy(0), unavailable(1), unwilling-to-perform(2)
-}(0..ub-error-reasons)
-
---
-message-group-error ABSTRACT-ERROR ::= {
- PARAMETER MessageGroupErrorParameter
- CODE err-message-group-error
-}
-
-MessageGroupErrorParameter ::= SET {
- problem [0] MessageGroupProblem,
- name [1] MessageGroupName
-}
-
-MessageGroupProblem ::= INTEGER {
- name-not-registered(0), name-already-registered(1), parent-not-registered(2),
- group-not-empty(3), name-in-use(4), child-group-registered(5),
- group-depth-exceeded(6)}(0..ub-error-reasons)
-
---
-ms-extension-error ABSTRACT-ERROR ::= {
- PARAMETER MSExtensionErrorParameter
- CODE err-ms-extension-error
-}
-
-MSExtensionErrorParameter ::= CHOICE {
- ms-extension-problem [0] MSExtensionItem,
- unknown-ms-extension [1] OBJECT IDENTIFIER
-}
-
---
-register-ms-error ABSTRACT-ERROR ::= {
- PARAMETER
- SET {problem [0] RegistrationProblem,
- registration-type [1] RegistrationTypes}
- CODE err-register-ms-error
-}
-
-RegistrationProblem ::= ENUMERATED {
- registration-not-supported(0), registration-improperly-specified(1),
- registration-limit-exceeded(2), ... -- For future extension additions --
- }
-
---
-modify-error ABSTRACT-ERROR ::= {
- PARAMETER ModifyErrorParameter
- CODE err-modify-error
-}
-
-ModifyErrorParameter ::= SET {
- entries-modified
- [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
- failing-entry [1] SequenceNumber,
- modification-number [2] INTEGER,
- problem [3] ModifyProblem
-}
-
-ModifyProblem ::= INTEGER {
- attribute-not-present(0), value-not-present(1),
- attribute-or-value-already-exists(2), invalid-position(3),
- modify-restriction-problem(4)}(0..ub-error-reasons)
-
---
-entry-class-error ABSTRACT-ERROR ::= {
- PARAMETER EntryClassErrorParameter
- CODE err-entry-class-error
-}
-
-EntryClassErrorParameter ::= SET {
- entry-class [0] EntryClass,
- problem
- [1] BIT STRING {unsupported-entry-class(0), entry-class-not-subscribed(1),
- inappropriate-entry-class(2)}
-}
-
-END -- of MS Abstract Service
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSAccessProtocol.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSAccessProtocol.asn
deleted file mode 100644
index b69d72b3ed..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSAccessProtocol.asn
+++ /dev/null
@@ -1,259 +0,0 @@
--- Module MSAccessProtocol (X.419:06/1999)
-
-MSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- ms-access-protocol(2) version-1999(1)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
-IMPORTS
- -- MS Abstract Service
- ms-access-contract-88, ms-access-contract-94, ms-submission, retrieval,
- retrieval-88
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- Remote Operations
- APPLICATION-CONTEXT
- --==
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- Code
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- Bind{}, InvokeId, Unbind{}
- --==
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- ROS-SingleAS{}
- --==
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- acse, association-by-RTSE, pData, transfer-by-RTSE
- --==
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- --==
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- -- Reliable Transfer
- RTORQapdu, RTOACapdu, RTORJapdu
- FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
- -- MTS Access Protocol
- message-administration-abstract-syntax-88,
- message-administration-abstract-syntax-94,
- message-submission-abstract-syntax
- --==
- FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- mts-access-protocol(1) version-1999(1)}
- -- Object Identifiers
- id-ac-ms-access-88, id-ac-ms-access-94, id-ac-ms-reliable-access-88,
- id-ac-ms-reliable-access-94, id-as-ms-msse, id-as-mase-88, id-as-mase-94,
- id-as-mdse-88, id-as-mdse-94, id-as-mrse-88, id-as-mrse-94, id-as-ms-88,
- id-as-ms-94, id-as-ms-rtse, id-as-msse
- --==
- FROM MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0)
- modules(0) object-identifiers(0) version-1994(0)};
-
--- Definitions from X.228(11/1988) --
-RTSE-apdus ::= CHOICE {
- rtorq-apdu [16] IMPLICIT RTORQapdu,
- rtoac-apdu [17] IMPLICIT RTOACapdu,
- rtorj-apdu [18] IMPLICIT RTORJapdu,
- rttp-apdu RTTPapdu,
- rttr-apdu RTTRapdu,
- rtab-apdu [22] IMPLICIT RTABapdu
-}
-
-RTTPapdu ::= -- priority-- INTEGER
-
-RTTRapdu ::= OCTET STRING
-
-RTABapdu ::= SET {
- abortReason [0] IMPLICIT AbortReason OPTIONAL,
- reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
- -- 8 bits maximum, only if abortReason is invalidParameter
- userdataAB
- [2] TYPE-IDENTIFIER.&Type
- OPTIONAL -- only in normal mode and if abortReason--
- -- is userError
-}
-
-AbortReason ::= INTEGER {
- localSystemProblem(0),
- invalidParameter(1), -- reflectedParameter supplied
- unrecognizedActivity(2),
- temporaryProblem(3),
- -- the RTSE cannot accept a session for a period of time
- protocolError(4), -- RTSE level protocol error
- permanentProblem(5), --provider-abort solely in normal mode
- userError(6), -- user-abort solely in normal mode
- transferCompleted(7) -- activity can't be discarded--}
--- end of definitions from X.228 (11/1988) --
-
--- APPLICATION-CONTEXTS
--- 1994 Application Context omitting RTSE
-ms-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT ms-access-contract-94
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | ms-message-submission-abstract-syntax |
- message-retrieval-abstract-syntax-94 |
- message-administration-abstract-syntax-94 |
- ms-bind-unbind-abstract-syntax-94}
- APPLICATION CONTEXT NAME id-ac-ms-access-94
-}
-
--- 1994 Application Context including RTSE
-ms-reliable-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT ms-access-contract-94
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | ms-message-submission-abstract-syntax |
- message-retrieval-abstract-syntax-94 |
- message-administration-abstract-syntax-94 |
- ms-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-ms-reliable-access-94
-}
-
--- 1988 Application Context omitting RTSE
-ms-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT ms-access-contract-88
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-retrieval-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- ms-bind-unbind-abstract-syntax-88}
- APPLICATION CONTEXT NAME id-ac-ms-access-88
-}
-
--- 1988 Application Context including RTSE
-ms-reliable-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT ms-access-contract-88
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-retrieval-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- ms-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-ms-reliable-access-88
-}
-
--- ABSTRACT SYNTAXES
--- Abstract-syntax for 1994 MS-bind and MS-unbind
-ms-bind-unbind-abstract-syntax-94 ABSTRACT-SYNTAX ::= {
- MSBindUnbindPDUs94
- IDENTIFIED BY id-as-ms-94
-}
-
-MSBindUnbindPDUs94 ::= CHOICE {
- bind Bind{ms-access-contract-94.&connection.&bind},
- unbind Unbind{ms-access-contract-94.&connection.&unbind}
-}
-
--- Abstract-syntax for 1988 MS-bind and MS-unbind
-ms-bind-unbind-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
- MSBindUnbindPDUs88
- IDENTIFIED BY id-as-ms-88
-}
-
-MSBindUnbindPDUs88 ::= CHOICE {
- bind Bind{ms-access-contract-88.&connection.&bind},
- unbind Unbind{ms-access-contract-88.&connection.&unbind}
-}
-
--- Abstract-syntax for MS-bind and MS-unbind with RTSE
-ms-bind-unbind-rtse-abstract-syntax ABSTRACT-SYNTAX ::= {
- RTSE-apdus -- With MS-bind and MS-unbind --
- IDENTIFIED BY id-as-ms-rtse
-}
-
--- Abstract Syntax for MS Message Submission Service Element
-ms-message-submission-abstract-syntax ABSTRACT-SYNTAX ::= {
- MSMessageSubmissionPDUs
- IDENTIFIED BY id-as-ms-msse
-}
-
-MSMessageSubmissionPDUs ::= ROS-SingleAS{{MSInvokeIds}, ms-submission}
-
-MSInvokeIds ::= InvokeId(ALL EXCEPT absent:NULL)
-
--- Abstract Syntax for Message Retrieval Service Element 1994
-message-retrieval-abstract-syntax-94 ABSTRACT-SYNTAX ::= {
- MessageRetrievalPDUs
- IDENTIFIED BY id-as-mrse-94
-}
-
--- Abstract Syntax for Message Retrieval Service Element 1988
-MessageRetrievalPDUs ::=
- ROS-SingleAS{{MSInvokeIds}, retrieval}
-
-message-retrieval-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
- MessageRetrievalPDUs88
- IDENTIFIED BY id-as-mrse-88
-}
-
-MessageRetrievalPDUs88 ::= ROS-SingleAS{{MSInvokeIds}, retrieval-88}
-
--- Remote Operations
-op-ms-submission-control Code ::= local:2
-
-op-ms-message-submission Code ::= local:3
-
-op-ms-probe-submission Code ::= local:4
-
-op-ms-cancel-deferred-delivery Code ::= local:7
-
-op-summarize Code ::= local:20
-
-op-list Code ::= local:21
-
-op-fetch Code ::= local:22
-
-op-delete Code ::= local:23
-
-op-register-ms Code ::= local:24
-
-op-alert Code ::= local:25
-
-op-modify Code ::= local:26
-
--- Remote Errors
-err-attribute-error Code ::= local:21
-
-err-auto-action-request-error Code ::= local:22
-
-err-delete-error Code ::= local:23
-
-err-fetch-restriction-error Code ::= local:24
-
-err-range-error Code ::= local:25 -- 1988 Application Contexts only
-
-err-security-error Code ::= local:26
-
-err-service-error Code ::= local:27
-
-err-sequence-number-error Code ::= local:28
-
-err-invalid-parameters-error Code ::= local:29
-
-err-message-group-error Code ::= local:30
-
-err-ms-extension-error Code ::= local:31
-
-err-register-ms-error Code ::= local:32
-
-err-modify-error Code ::= local:33
-
-err-entry-class-error Code ::= local:34
-
-END -- of MSAccessProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSGeneralAttributeTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSGeneralAttributeTypes.asn
deleted file mode 100644
index 99d34b2883..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSGeneralAttributeTypes.asn
+++ /dev/null
@@ -1,830 +0,0 @@
--- Module MSGeneralAttributeTypes (X.413:06/1999)
-MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-attribute-types(2) version-1999(1)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
-IMPORTS
- -- X413ATTRIBUTE information object class
- X413ATTRIBUTE,
- -- MS abstract-service data-types
- AutoActionError, AutoActionType, CreationTime, EntryClassErrorParameter,
- EntryType, MessageGroupName, MessageGroupErrorParameter, MS-EIT,
- MSExtensionErrorParameter, RetrievalStatus, SequenceNumber,
- ServiceErrorParameter
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- General-attribute-type Object Identifiers
- id-att-ac-correlated-report-list, id-att-ac-report-subject-entry,
- id-att-ac-report-summary, id-att-ac-uncorrelated-report-list,
- id-att-auto-action-error, id-att-auto-action-registration-identifier,
- id-att-auto-action-subject-entry, id-att-auto-action-type,
- id-att-certificate-selectors, id-att-child-sequence-numbers,
- id-att-content, id-att-content-confidentiality-algorithm-identifier,
- id-att-content-correlator, id-att-content-identifier,
- id-att-content-integrity-check, id-att-content-length,
- id-att-content-returned, id-att-content-type,
- id-att-conversion-with-loss-prohibited, id-att-converted-EITs,
- id-att-creation-time, id-att-deferred-delivery-cancellation-time,
- id-att-deferred-delivery-time, id-att-deletion-time, id-att-delivered-EITs,
- id-att-delivery-flags, id-att-dl-exempted-recipients,
- id-att-dl-expansion-history, id-att-dl-expansion-prohibited,
- id-att-entry-type, id-att-internal-trace-information,
- id-att-latest-delivery-time, id-att-locally-originated,
- id-att-marked-for-deletion, id-att-message-delivery-envelope,
- id-att-message-delivery-time, id-att-message-group-name,
- id-att-message-identifier, id-att-message-notes,
- id-att-message-origin-authentication-check, id-att-message-security-label,
- id-att-message-submission-envelope, id-att-message-submission-time,
- id-att-message-token, id-att-ms-originated, id-att-ms-submission-error,
- id-att-multiple-originator-certificates, id-att-original-EITs,
- id-att-originally-intended-recipient-name,
- id-att-originating-MTA-certificate, id-att-originator-certificate,
- id-att-originator-name, id-att-originator-report-request,
- id-att-originator-return-address, id-att-other-recipient-names,
- id-att-parent-sequence-number, id-att-per-message-indicators,
- id-att-per-recipient-message-submission-fields,
- id-att-per-recipient-probe-submission-fields,
- id-att-per-recipient-report-delivery-fields, id-att-priority,
- id-att-probe-origin-authentication-check, id-att-probe-submission-envelope,
- id-att-proof-of-delivery-request, id-att-proof-of-submission,
- id-att-recipient-certificate, id-att-recipient-names,
- id-att-recipient-reassignment-prohibited, id-att-redirection-history,
- id-att-report-delivery-envelope, id-att-reporting-DL-name,
- id-att-reporting-MTA-certificate,
- id-att-report-origin-authentication-check, id-att-retrieval-status,
- id-att-security-classification, id-att-sequence-number,
- id-att-signature-verification-status, id-att-storage-period,
- id-att-storage-time, id-att-subject-submission-identifier,
- id-att-this-recipient-name, id-att-trace-information
- FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Message Store matching-rules
- bitStringMatch, contentCorrelatorMatch, contentIdentifierMatch,
- mSSingleSubstringListElementsMatch, mSSingleSubstringListMatch,
- mSSingleSubstringMatch, mSSubstringsMatch, mSStringCaseSensitiveMatch,
- mSStringListElementsMatch, mSStringListMatch, mSStringMatch,
- mSStringOrderingMatch, mTSIdentifierMatch, oRAddressElementsMatch,
- oRAddressMatch, oRAddressSubstringElementsMatch, oRNameElementsMatch,
- oRNameMatch, oRNameSingleElementMatch, oRNameSubstringElementsMatch,
- redirectionOrDLExpansionElementsMatch, redirectionOrDLExpansionMatch,
- redirectionOrDLExpansionSingleElementMatch,
- redirectionOrDLExpansionSubstringElementsMatch, redirectionReasonMatch,
- valueCountMatch
- FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-matching-rules(5) version-1999(1)}
- -- MS abstract-service upper bounds
- ub-entry-types, ub-message-notes-length
- FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)}
- -- MTS abstract-service data-types
- CertificateSelectors, Content, ContentCorrelator, ContentIdentifier,
- ContentIntegrityCheck, ContentLength, ConversionWithLossProhibited,
- DeferredDeliveryTime, DeliveryFlags, DLExpansion, DLExpansionProhibited,
- ExtendedCertificates, ImproperlySpecifiedRecipients, LatestDeliveryTime,
- MessageDeliveryEnvelope, MessageDeliveryTime,
- MessageOriginAuthenticationCheck, MessageSecurityLabel,
- MessageSubmissionEnvelope, MessageSubmissionTime, MessageToken,
- MTSIdentifier, OriginatingMTACertificate, OriginatorCertificate,
- OriginatorReportRequest, OriginatorReturnAddress, ORName,
- PerMessageIndicators, PerRecipientMessageSubmissionFields,
- PerRecipientProbeSubmissionFields, PerRecipientReportDeliveryFields,
- Priority, ProbeOriginAuthenticationCheck, ProbeSubmissionEnvelope,
- ProofOfDeliveryRequest, ProofOfSubmission, RecipientReassignmentProhibited,
- Redirection, ReportDeliveryEnvelope, ReportingDLName,
- ReportingMTACertificate, ReportOriginAuthenticationCheck,
- SecurityClassification, SecurityProblem, SubjectSubmissionIdentifier
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- MTS abstract-service upper bound
- ub-recipients
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)}
- -- MTA abstract-service data-types
- InternalTraceInformationElement, TraceInformationElement
- FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mta-abstract-service(2) version-1999(1)}
- -- Directory matching-rules
- booleanMatch, integerMatch, integerOrderingMatch, uTCTimeMatch,
- uTCTimeOrderingMatch
- FROM SelectedAttributeTypes
- objectIdentifierMatch
- FROM InformationFramework
-
- -- Authentication-service data-types
- AlgorithmIdentifier
- FROM AuthenticationFramework;
-
--- X413ATTRIBUTE table
-AttributeTable X413ATTRIBUTE ::=
- {GeneralAttributes | ContentSpecificAttributes}
-
-GeneralAttributes X413ATTRIBUTE ::=
- {ms-child-sequence-numbers | mt-content |
- mt-content-confidentiality-algorithm-identifier | mt-content-correlator |
- mt-content-identifier | mt-content-integrity-check | ms-content-length |
- ms-content-returned | mt-content-type | mt-conversion-with-loss-prohibited |
- mt-converted-EITs | ms-creation-time | ms-delivered-EITs | mt-delivery-flags
- | mt-dl-expansion-history | ms-entry-type | mt-message-delivery-envelope |
- mt-message-delivery-time | mt-message-identifier |
- mt-message-origin-authentication-check | mt-message-security-label |
- mt-message-submission-time | mt-message-token | mt-original-EITs |
- mt-originally-intended-recipient-name | mt-originator-certificate |
- mt-originator-name | mt-other-recipient-names | ms-parent-sequence-number |
- mt-per-recipient-report-delivery-fields | mt-priority |
- mt-proof-of-delivery-request | mt-redirection-history |
- mt-report-delivery-envelope | mt-reporting-DL-name |
- mt-reporting-MTA-certificate | mt-report-origin-authentication-check |
- ms-retrieval-status | mt-security-classification | ms-sequence-number |
- mt-subject-submission-identifier | mt-this-recipient-name,
- ... -- 1994 extension additions --, ms-ac-correlated-report-list |
- ms-ac-report-subject-entry | ms-ac-report-summary |
- ms-ac-uncorrelated-report-list | ms-auto-action-error |
- ms-auto-action-registration-identifier | ms-auto-action-subject-entry |
- ms-auto-action-type | mt-certificate-selectors |
- ms-deferred-delivery-cancellation-time | mt-deferred-delivery-time |
- ms-deletion-time | mt-dl-exempted-recipients | mt-dl-expansion-prohibited |
- mt-internal-trace-information | mt-latest-delivery-time |
- ms-locally-originated | ms-marked-for-deletion | ms-message-group-name |
- ms-message-notes | mt-message-submission-envelope |
- mt-multiple-originator-certificates | ms-originated | ms-submission-error |
- mt-originating-MTA-certificate | mt-originator-report-request |
- mt-originator-return-address | mt-per-message-indicators |
- mt-per-recipient-message-submission-fields |
- mt-per-recipient-probe-submission-fields |
- mt-probe-origin-authentication-check | mt-probe-submission-envelope |
- mt-proof-of-submission | mt-recipient-certificate | ms-recipient-names |
- mt-recipient-reassignment-prohibited | ms-signature-verification-status |
- ms-storage-period | ms-storage-time | mt-trace-information}
-
-ContentSpecificAttributes X413ATTRIBUTE ::=
- {...}
-
--- Attribute-types
-ms-ac-correlated-report-list X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportLocation,
- NUMERATION multi-valued,
- ID id-att-ac-correlated-report-list
-}
-
-ReportLocation ::= CHOICE {
- no-correlated-reports [0] NULL,
- location [1] SEQUENCE OF PerRecipientReport
-}
-
-PerRecipientReport ::= SEQUENCE {
- report-entry [0] SequenceNumber,
- position [1] INTEGER(1..ub-recipients) DEFAULT 1
-}
-
-ms-ac-report-subject-entry X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-ac-report-subject-entry
-}
-
-ms-ac-report-summary X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportSummary,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION multi-valued,
- ID id-att-ac-report-summary
-}
-
-ReportSummary ::= ENUMERATED {
- no-report-requested(0) -- non-delivery report suppressed --,
- no-report-received(1) -- non-delivery report requested --,
- report-outstanding(2) -- delivery report requested --, delivery-cancelled(3),
- delivery-report-from-another-recipient(4),
- non-delivery-report-from-another-recipient(5),
- delivery-report-from-intended-recipient(6),
- non-delivery-report-from-intended-recipient(7)}
-
-ms-ac-uncorrelated-report-list X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PerRecipientReport,
- NUMERATION multi-valued,
- ID id-att-ac-uncorrelated-report-list
-}
-
-ms-auto-action-error X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AutoActionError,
- NUMERATION single-valued,
- ID id-att-auto-action-error
-}
-
-ms-auto-action-registration-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX INTEGER,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-auto-action-registration-identifier
-}
-
-ms-auto-action-subject-entry X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-auto-action-subject-entry
-}
-
-ms-auto-action-type X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AutoActionType,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION single-valued,
- ID id-att-auto-action-type
-}
-
-mt-certificate-selectors X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CertificateSelectors,
- NUMERATION single-valued,
- ID id-att-certificate-selectors
-}
-
-ms-child-sequence-numbers X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- NUMERATION multi-valued,
- ID id-att-child-sequence-numbers
-}
-
-mt-content X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Content,
- NUMERATION single-valued,
- ID id-att-content
-}
-
-mt-content-confidentiality-algorithm-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX AlgorithmIdentifier,
- NUMERATION single-valued,
- ID id-att-content-confidentiality-algorithm-identifier
-}
-
-mt-content-correlator X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ContentCorrelator,
- EQUALITY MATCHING-RULE contentCorrelatorMatch,
- NUMERATION single-valued,
- ID id-att-content-correlator
-}
-
-mt-content-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ContentIdentifier,
- EQUALITY MATCHING-RULE contentIdentifierMatch,
- NUMERATION single-valued,
- ID id-att-content-identifier
-}
-
-mt-content-integrity-check X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ContentIntegrityCheck,
- NUMERATION single-valued,
- ID id-att-content-integrity-check
-}
-
-ms-content-length X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ContentLength,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-content-length
-}
-
-ms-content-returned X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX BOOLEAN,
- EQUALITY MATCHING-RULE booleanMatch,
- NUMERATION single-valued,
- ID id-att-content-returned
-}
-
-mt-content-type X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION single-valued,
- ID id-att-content-type
-}
-
-mt-conversion-with-loss-prohibited X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ConversionWithLossProhibited,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-att-conversion-with-loss-prohibited
-}
-
-mt-converted-EITs X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MS-EIT,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION multi-valued,
- ID id-att-converted-EITs
-}
-
-ms-creation-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX CreationTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-creation-time
-}
-
-ms-deferred-delivery-cancellation-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeferredDeliveryCancellationTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-deferred-delivery-cancellation-time
-}
-
-DeferredDeliveryCancellationTime ::= UTCTime
-
-mt-deferred-delivery-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeferredDeliveryTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-deferred-delivery-time
-}
-
-ms-deletion-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeletionTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-deletion-time
-}
-
-DeletionTime ::= UTCTime
-
-ms-delivered-EITs X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MS-EIT,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION multi-valued,
- ID id-att-delivered-EITs
-}
-
-mt-delivery-flags X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DeliveryFlags,
- EQUALITY MATCHING-RULE bitStringMatch,
- NUMERATION single-valued,
- ID id-att-delivery-flags
-}
-
-mt-dl-exempted-recipients X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-att-dl-exempted-recipients
-}
-
-mt-dl-expansion-history X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DLExpansion,
- OTHER MATCHING-RULES
- {redirectionOrDLExpansionMatch | redirectionOrDLExpansionElementsMatch |
- redirectionOrDLExpansionSubstringElementsMatch |
- redirectionOrDLExpansionSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-att-dl-expansion-history
-}
-
-mt-dl-expansion-prohibited X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX DLExpansionProhibited,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-att-dl-expansion-prohibited
-}
-
-ms-entry-type X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX EntryType,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE
- integerOrderingMatch, -- rule not defined in 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-att-entry-type
-}
-
-mt-internal-trace-information X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX InternalTraceInformationElement,
- NUMERATION multi-valued,
- ID id-att-internal-trace-information
-}
-
-mt-latest-delivery-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX LatestDeliveryTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-latest-delivery-time
-}
-
-ms-locally-originated X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX NULL,
- NUMERATION single-valued,
- ID id-att-locally-originated
-}
-
-ms-marked-for-deletion X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX NULL,
- NUMERATION single-valued,
- ID id-att-marked-for-deletion
-}
-
-mt-message-delivery-envelope X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageDeliveryEnvelope,
- NUMERATION single-valued,
- ID id-att-message-delivery-envelope
-}
-
-mt-message-delivery-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageDeliveryTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-message-delivery-time
-}
-
-ms-message-group-name X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageGroupName,
- EQUALITY MATCHING-RULE mSStringListMatch,
- OTHER MATCHING-RULES
- {mSSingleSubstringListMatch | mSStringListElementsMatch |
- mSSingleSubstringListElementsMatch | valueCountMatch, ...},
- NUMERATION multi-valued,
- ID id-att-message-group-name
-}
-
-mt-message-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MTSIdentifier,
- EQUALITY MATCHING-RULE
- mTSIdentifierMatch, -- rule not defined in 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-att-message-identifier
-}
-
-ms-message-notes X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX GeneralString(SIZE (1..ub-message-notes-length)),
- EQUALITY MATCHING-RULE mSStringMatch,
- SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
- NUMERATION multi-valued,
- ID id-att-message-notes
-}
-
-mt-message-origin-authentication-check X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageOriginAuthenticationCheck,
- NUMERATION single-valued,
- ID id-att-message-origin-authentication-check
-}
-
-mt-message-security-label X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageSecurityLabel,
- NUMERATION single-valued,
- ID id-att-message-security-label
-}
-
-mt-message-submission-envelope X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageSubmissionEnvelope,
- NUMERATION single-valued,
- ID id-att-message-submission-envelope
-}
-
-mt-message-submission-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageSubmissionTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-message-submission-time
-}
-
-mt-message-token X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MessageToken,
- NUMERATION single-valued,
- ID id-att-message-token
-}
-
-ms-originated X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX NULL,
- NUMERATION single-valued,
- ID id-att-ms-originated
-}
-
-ms-submission-error X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubmissionError,
- NUMERATION single-valued,
- ID id-att-ms-submission-error
-}
-
-SubmissionError ::= CHOICE {
- submission-control-violated [1] NULL,
- originator-invalid [2] NULL,
- recipient-improperly-specified [3] ImproperlySpecifiedRecipients,
- element-of-service-not-subscribed [4] NULL,
- inconsistent-request [11] NULL,
- security-error [12] SecurityProblem,
- unsupported-critical-function [13] NULL,
- remote-bind-error [15] NULL,
- service-error [27] ServiceErrorParameter,
- message-group-error [30] MessageGroupErrorParameter,
- ms-extension-error [31] MSExtensionErrorParameter,
- entry-class-error [34] EntryClassErrorParameter
-}
-
-mt-multiple-originator-certificates X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ExtendedCertificates,
- NUMERATION single-valued,
- ID id-att-multiple-originator-certificates
-}
-
-mt-original-EITs X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX MS-EIT,
- EQUALITY MATCHING-RULE objectIdentifierMatch,
- NUMERATION multi-valued,
- ID id-att-original-EITs
-}
-
-mt-originally-intended-recipient-name X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION single-valued,
- ID id-att-originally-intended-recipient-name
-}
-
-mt-originating-MTA-certificate X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatingMTACertificate,
- NUMERATION single-valued,
- ID id-att-originating-MTA-certificate
-}
-
-mt-originator-certificate X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatorCertificate,
- NUMERATION single-valued,
- ID id-att-originator-certificate
-}
-
-mt-originator-name X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION single-valued,
- ID id-att-originator-name
-}
-
-mt-originator-report-request X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatorReportRequest,
- NUMERATION multi-valued,
- ID id-att-originator-report-request
-}
-
-mt-originator-return-address X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX OriginatorReturnAddress,
- NUMERATION single-valued,
- ID id-att-originator-return-address
-}
-
-mt-other-recipient-names X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-att-other-recipient-names
-}
-
-ms-parent-sequence-number X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-parent-sequence-number
-}
-
-mt-per-message-indicators X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PerMessageIndicators,
- EQUALITY MATCHING-RULE bitStringMatch,
- NUMERATION single-valued,
- ID id-att-per-message-indicators
-}
-
-mt-per-recipient-message-submission-fields X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PerRecipientMessageSubmissionFields,
- NUMERATION multi-valued,
- ID id-att-per-recipient-message-submission-fields
-}
-
-mt-per-recipient-probe-submission-fields X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PerRecipientProbeSubmissionFields,
- NUMERATION multi-valued,
- ID id-att-per-recipient-probe-submission-fields
-}
-
-mt-per-recipient-report-delivery-fields X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX PerRecipientReportDeliveryFields,
- NUMERATION multi-valued,
- ID id-att-per-recipient-report-delivery-fields
-}
-
-mt-priority X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Priority,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE
- integerOrderingMatch, -- rule not defined in 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-att-priority
-}
-
-mt-probe-origin-authentication-check X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ProbeOriginAuthenticationCheck,
- NUMERATION single-valued,
- ID id-att-probe-origin-authentication-check
-}
-
-mt-probe-submission-envelope X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ProbeSubmissionEnvelope,
- NUMERATION single-valued,
- ID id-att-probe-submission-envelope
-}
-
-mt-proof-of-delivery-request X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ProofOfDeliveryRequest,
- EQUALITY MATCHING-RULE
- integerMatch, -- rule not defined in 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-att-proof-of-delivery-request
-}
-
-mt-proof-of-submission X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ProofOfSubmission,
- NUMERATION single-valued,
- ID id-att-proof-of-submission
-}
-
-mt-recipient-certificate X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ExtendedCertificates,
- NUMERATION single-valued,
- ID id-att-recipient-certificate
-}
-
-ms-recipient-names X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION multi-valued,
- ID id-att-recipient-names
-}
-
-mt-recipient-reassignment-prohibited X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX RecipientReassignmentProhibited,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-att-recipient-reassignment-prohibited
-}
-
-mt-redirection-history X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX Redirection,
- OTHER MATCHING-RULES
- {redirectionOrDLExpansionMatch | redirectionOrDLExpansionElementsMatch |
- redirectionOrDLExpansionSubstringElementsMatch |
- redirectionOrDLExpansionSingleElementMatch | redirectionReasonMatch,
- ...},
- NUMERATION multi-valued,
- ID id-att-redirection-history
-}
-
-mt-report-delivery-envelope X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportDeliveryEnvelope,
- NUMERATION single-valued,
- ID id-att-report-delivery-envelope
-}
-
-mt-reporting-DL-name X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportingDLName,
- EQUALITY MATCHING-RULE
- oRNameMatch, -- rule not defined in 1988 Application Contexts
-
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION single-valued,
- ID id-att-reporting-DL-name
-}
-
-mt-reporting-MTA-certificate X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportingMTACertificate,
- NUMERATION single-valued,
- ID id-att-reporting-MTA-certificate
-}
-
-mt-report-origin-authentication-check X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ReportOriginAuthenticationCheck,
- NUMERATION single-valued,
- ID id-att-report-origin-authentication-check
-}
-
-ms-retrieval-status X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX RetrievalStatus,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-att-retrieval-status
-}
-
-mt-security-classification X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SecurityClassification,
- EQUALITY MATCHING-RULE integerMatch,
- NUMERATION single-valued,
- ID id-att-security-classification
-}
-
-ms-sequence-number X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SequenceNumber,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-sequence-number
-}
-
-ms-signature-verification-status X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SignatureVerificationStatus,
- NUMERATION single-valued,
- ID id-att-signature-verification-status
-}
-
-SignatureVerificationStatus ::= SET {
- content-integrity-check
- [0] SignatureStatus DEFAULT signature-absent,
- message-origin-authentication-check
- [1] SignatureStatus DEFAULT signature-absent,
- message-token
- [2] SignatureStatus DEFAULT signature-absent,
- report-origin-authentication-check
- [3] SignatureStatus DEFAULT signature-absent,
- proof-of-delivery
- [4] SignatureStatus DEFAULT signature-absent,
- proof-of-submission
- [5] SignatureStatus DEFAULT signature-absent
-}
-
-SignatureStatus ::= INTEGER {
- signature-absent(0), verification-in-progress(1), verification-succeeded(2),
- verification-not-possible(3), content-converted(4), signature-encrypted(5),
- algorithm-not-supported(6), certificate-not-obtainable(7),
- verification-failed(8)}
-
-ms-storage-period X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX StoragePeriod,
- EQUALITY MATCHING-RULE integerMatch,
- ORDERING MATCHING-RULE integerOrderingMatch,
- NUMERATION single-valued,
- ID id-att-storage-period
-}
-
-StoragePeriod ::= INTEGER -- seconds
-
-ms-storage-time X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX StorageTime,
- EQUALITY MATCHING-RULE uTCTimeMatch,
- ORDERING MATCHING-RULE uTCTimeOrderingMatch,
- NUMERATION single-valued,
- ID id-att-storage-time
-}
-
-StorageTime ::= UTCTime
-
-mt-subject-submission-identifier X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX SubjectSubmissionIdentifier,
- EQUALITY MATCHING-RULE
- mTSIdentifierMatch, -- rule not defined in 1988 Application Contexts
-
- NUMERATION single-valued,
- ID id-att-subject-submission-identifier
-}
-
-mt-this-recipient-name X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX ORName,
- EQUALITY MATCHING-RULE oRNameMatch,
- OTHER MATCHING-RULES
- {oRNameElementsMatch | oRNameSubstringElementsMatch |
- oRNameSingleElementMatch, ...},
- NUMERATION single-valued,
- ID id-att-this-recipient-name
-}
-
-mt-trace-information X413ATTRIBUTE ::= {
- WITH ATTRIBUTE-SYNTAX TraceInformationElement,
- NUMERATION multi-valued,
- ID id-att-trace-information
-}
-
-END -- of MSGeneralAttributeTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSGeneralAutoActionTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSGeneralAutoActionTypes.asn
deleted file mode 100644
index eceae4ab44..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSGeneralAutoActionTypes.asn
+++ /dev/null
@@ -1,118 +0,0 @@
--- Module MSGeneralAutoActionTypes (X.413:06/1999)
-MSGeneralAutoActionTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-auto-action-types(3) version-1994(0)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- AUTO-ACTION and AUTO-ACTION-ERROR information object classes
- AUTO-ACTION,
- AUTO-ACTION-ERROR,
- -- MS abstract-service data-types and abstract-errors
- EntryClass, EntryInformationSelection, EntryModification, Filter,
- message-group-error, modify-error, service-error, SequenceNumber
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- MS Object Identifiers
- id-aae-auto-alert-error, id-act-auto-alert, id-act-auto-correlate-reports,
- id-act-auto-delete, id-act-auto-modify
- --==
- FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MS abstract-service upper bounds
- ub-alert-addresses, ub-modifications, ub-supplementary-info-length
- --==
- FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)}
- -- MTS abstract-service
- security-error
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- Auto-action table information object set
-AutoActionTable AUTO-ACTION ::=
- {GeneralAutoActions | ContentSpecificAutoActions}
-
-GeneralAutoActions AUTO-ACTION ::=
- {auto-alert, ... -- 1994 extension additions --, auto-modify |
- auto-correlate-reports | auto-delete}
-
-ContentSpecificAutoActions AUTO-ACTION ::=
- {...}
-
--- Auto-action error table information object set
-AutoActionErrorTable AUTO-ACTION-ERROR ::=
- {GeneralAutoActionErrors | ContentSpecificAutoActionErrors}
-
-GeneralAutoActionErrors AUTO-ACTION-ERROR ::=
- {auto-alert-error | modify-error | service-error | security-error |
- message-group-error, ... -- For future extension additions --}
-
-ContentSpecificAutoActionErrors AUTO-ACTION-ERROR ::=
- {...}
-
--- Auto-action-types
-auto-alert AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS AutoAlertRegistrationParameter
- ERRORS {auto-alert-error}
- IDENTIFIED BY id-act-auto-alert
-}
-
-AutoAlertRegistrationParameter ::= SET {
- filter [0] Filter OPTIONAL,
- alert-destinations
- [1] SEQUENCE SIZE (1..ub-alert-addresses) OF AlertDestination OPTIONAL,
- requested-attributes [2] EntryInformationSelection OPTIONAL,
- -- 1994 extension
- suppress-alert-destinations [3] BOOLEAN DEFAULT TRUE
-}
-
-AlertDestination ::= SEQUENCE {
- alert-address EXTERNAL,
- alert-qualifier OCTET STRING OPTIONAL
-}
-
---
-auto-modify AUTO-ACTION ::= {
- REGISTRATION PARAMETER IS AutoModifyRegistrationParameter
- ERRORS
- {security-error | service-error | modify-error | message-group-error}
- IDENTIFIED BY id-act-auto-modify
-}
-
-AutoModifyRegistrationParameter ::= SET {
- entry-class [0] EntryClass DEFAULT delivery,
- filter [1] Filter OPTIONAL,
- modifications [2] SEQUENCE SIZE (1..ub-modifications) OF EntryModification
-}
-
---
-auto-correlate-reports AUTO-ACTION ::= {
- IDENTIFIED BY id-act-auto-correlate-reports
-}
-
---
-auto-delete AUTO-ACTION ::= {
- ERRORS {security-error}
- IDENTIFIED BY id-act-auto-delete
-}
-
--- Auto-action errors
-auto-alert-error AUTO-ACTION-ERROR ::= {
- PARAMETER SEQUENCE SIZE (1..ub-alert-addresses) OF AutoAlertErrorIndication
- CODE global:id-aae-auto-alert-error
-}
-
-AutoAlertErrorIndication ::= SET {
- failing-alert-destination [0] AlertDestination OPTIONAL,
- supplementary-information
- [1] GeneralString(SIZE (1..ub-supplementary-info-length)) OPTIONAL
-}
-
-END -- of MSGeneralAutoActionTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSMatchingRules.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSMatchingRules.asn
deleted file mode 100644
index 37c894da86..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSMatchingRules.asn
+++ /dev/null
@@ -1,225 +0,0 @@
--- Module MSMatchingRules (X.413:06/1999)
-MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
- general-matching-rules(5) version-1999(1)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
---Exports everything
-IMPORTS
- -- MATCHING-RULE information object class and Directory matching-rules
- MATCHING-RULE, objectIdentifierMatch
- --==
- FROM InformationFramework
- bitStringMatch, booleanMatch, generalizedTimeMatch,
- generalizedTimeOrderingMatch, integerMatch, integerOrderingMatch,
- uTCTimeMatch, uTCTimeOrderingMatch
- --==
- FROM SelectedAttributeTypes
-
- -- Matching-rule Object Identifiers
- id-mr-content-correlator-match, id-mr-content-identifier-match,
- id-mr-ms-single-substring-list-elements-match,
- id-mr-ms-single-substring-list-match, id-mr-ms-single-substring-match,
- id-mr-ms-substrings-match, id-mr-msstring-case-sensitive-match,
- id-mr-msstring-list-elements-match, id-mr-msstring-list-match,
- id-mr-msstring-match, id-mr-msstring-ordering-match,
- id-mr-mts-identifier-match, id-mr-oraddress-elements-match,
- id-mr-oraddress-match, id-mr-oraddress-substring-elements-match,
- id-mr-orname-elements-match, id-mr-orname-match,
- id-mr-orname-single-element-match, id-mr-orname-substring-elements-match,
- id-mr-redirection-or-dl-expansion-elements-match,
- id-mr-redirection-or-dl-expansion-match,
- id-mr-redirection-or-dl-expansion-single-element-match,
- id-mr-redirection-or-dl-expansion-substring-elements-match,
- id-mr-redirection-reason-match, id-mr-value-count-match
- --==
- FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)}
- -- MS upper bounds
- ub-attribute-values, ub-msstring-match
- --==
- FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)}
- -- MTS abstract service
- ContentCorrelator, ContentIdentifier, MTSIdentifier, ORAddress,
- ORAddressAndOptionalDirectoryName, ORName, RedirectionReason
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)};
-
--- Matching rule table information object set
-MatchingRuleTable MATCHING-RULE ::=
- {GeneralMatchingRules | ContentSpecificMatchingRules}
-
-GeneralMatchingRules MATCHING-RULE ::=
- {bitStringMatch | booleanMatch | contentIdentifierMatch | integerMatch |
- integerOrderingMatch | mSStringCaseSensitiveMatch | objectIdentifierMatch |
- oRNameMatch | uTCTimeMatch | uTCTimeOrderingMatch,
- ... -- 1994 extension additions --, contentCorrelatorMatch |
- generalizedTimeMatch | generalizedTimeOrderingMatch | mSSingleSubstringMatch
- | mSStringCaseSensitiveMatch | mSStringListElementsMatch | mSStringListMatch
- | mSStringMatch | mSStringOrderingMatch | mSSingleSubstringListElementsMatch
- | mSSingleSubstringListMatch | mSSubstringsMatch | mTSIdentifierMatch |
- oRAddressElementsMatch | oRAddressMatch | oRAddressSubstringElementsMatch |
- oRNameElementsMatch | oRNameMatch | oRNameSingleElementMatch |
- oRNameSubstringElementsMatch | redirectionOrDLExpansionElementsMatch |
- redirectionOrDLExpansionMatch | redirectionOrDLExpansionSingleElementMatch |
- redirectionOrDLExpansionSubstringElementsMatch | redirectionReasonMatch |
- valueCountMatch}
-
-ContentSpecificMatchingRules MATCHING-RULE ::=
- {...}
-
--- MS String assertion-syntax
-MSString{INTEGER:maxSize} ::= CHOICE {
- printable PrintableString(SIZE (1..maxSize)),
- teletex TeletexString(SIZE (1..maxSize)),
- general GeneralString(SIZE (1..maxSize)),
- universal UniversalString(SIZE (1..maxSize)),
- bmp BMPString(SIZE (1..maxSize))
-}
-
--- String matching-rules
-mSStringMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-msstring-match
-}
-
-mSStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-msstring-ordering-match
-}
-
-mSSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-ms-substrings-match
-}
-
-SubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] MSString{ub-msstring-match},
- any [1] MSString{ub-msstring-match},
- final [2] MSString{ub-msstring-match}}
-
--- at most one initial and one final component
-mSSingleSubstringMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-ms-single-substring-match
-}
-
-mSStringCaseSensitiveMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-msstring-case-sensitive-match
-}
-
-mSStringListMatch MATCHING-RULE ::= {
- SYNTAX SEQUENCE OF MSString{ub-msstring-match}
- ID id-mr-msstring-list-match
-}
-
-mSStringListElementsMatch MATCHING-RULE ::= {
- SYNTAX SEQUENCE OF MSString{ub-msstring-match}
- ID id-mr-msstring-list-elements-match
-}
-
-mSSingleSubstringListMatch MATCHING-RULE ::= {
- SYNTAX SEQUENCE OF MSString{ub-msstring-match}
- ID id-mr-ms-single-substring-list-match
-}
-
-mSSingleSubstringListElementsMatch MATCHING-RULE ::= {
- SYNTAX SEQUENCE OF MSString{ub-msstring-match}
- ID id-mr-ms-single-substring-list-elements-match
-}
-
--- Syntax-based matching-rule
-valueCountMatch MATCHING-RULE ::= {
- SYNTAX INTEGER(1..ub-attribute-values)
- ID id-mr-value-count-match
-}
-
--- Matching-rules for complex Message Store attributes
--- OR-address matching-rules
-oRAddressMatch MATCHING-RULE ::= {
- SYNTAX ORAddress
- ID id-mr-oraddress-match
-}
-
-oRAddressElementsMatch MATCHING-RULE ::= {
- SYNTAX ORAddress
- ID id-mr-oraddress-elements-match
-}
-
-oRAddressSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX ORAddress
- ID id-mr-oraddress-substring-elements-match
-}
-
--- OR-name matching-rules
-oRNameMatch MATCHING-RULE ::= {SYNTAX ORName
- ID id-mr-orname-match
-}
-
-oRNameElementsMatch MATCHING-RULE ::= {
- SYNTAX ORName
- ID id-mr-orname-elements-match
-}
-
-oRNameSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX ORName
- ID id-mr-orname-substring-elements-match
-}
-
-oRNameSingleElementMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-orname-single-element-match
-}
-
--- Redirection or DL-expansion matching rules
-redirectionOrDLExpansionMatch MATCHING-RULE ::= {
- SYNTAX ORAddressAndOptionalDirectoryName
- ID id-mr-redirection-or-dl-expansion-match
-}
-
-redirectionOrDLExpansionElementsMatch MATCHING-RULE ::= {
- SYNTAX ORAddressAndOptionalDirectoryName
- ID id-mr-redirection-or-dl-expansion-elements-match
-}
-
-redirectionOrDLExpansionSingleElementMatch MATCHING-RULE ::= {
- SYNTAX MSString {ub-msstring-match}
- ID id-mr-redirection-or-dl-expansion-single-element-match
-}
-
-redirectionOrDLExpansionSubstringElementsMatch MATCHING-RULE ::= {
- SYNTAX ORAddressAndOptionalDirectoryName
- ID id-mr-redirection-or-dl-expansion-substring-elements-match
-}
-
-redirectionReasonMatch MATCHING-RULE ::= {
- SYNTAX RedirectionReason
- ID id-mr-redirection-reason-match
-}
-
--- MTS-identifier matching rule
-mTSIdentifierMatch MATCHING-RULE ::= {
- SYNTAX MTSIdentifier
- ID id-mr-mts-identifier-match
-}
-
--- Content-correlator matching rule
-contentCorrelatorMatch MATCHING-RULE ::= {
- SYNTAX ContentCorrelator
- ID id-mr-content-correlator-match
-}
-
--- Content-identifier matching rule
-contentIdentifierMatch MATCHING-RULE ::= {
- SYNTAX ContentIdentifier
- ID id-mr-content-identifier-match
-}
-
-END -- of MSMatchingRules
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSObjectIdentifiers.asn
deleted file mode 100644
index df194f838c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSObjectIdentifiers.asn
+++ /dev/null
@@ -1,322 +0,0 @@
--- Module MSObjectIdentifiers (X.413:06/1999)
-MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
- object-identifiers(0) version-1999(1)} DEFINITIONS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- ID, id-ms
- --==
- FROM MHSObjectIdentifiers {joint-iso-itu-t mhs(6) arch(5) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- Categories
-id-mod -- modules -- ID ::= {id-ms 0}
-
-id-ot -- objects -- ID ::= {id-ms 1}
-
-id-pt -- port types -- ID ::= {id-ms 2}
-
-id-att -- attribute types -- ID ::= {id-ms 3}
-
-id-act -- auto-action types -- ID ::= {id-ms 4}
-
-id-crt -- contracts -- ID ::= {id-ms 5}
-
-id-cp -- connection-packages -- ID ::= {id-ms 6}
-
-id-aae -- auto-action-errors-- ID ::= {id-ms 7}
-
-id-mr -- matching-rules -- ID ::= {id-ms 8}
-
-id-ext -- extensions -- ID ::= {id-ms 9}
-
-id-alg -- algorithms -- ID ::= {id-ms 10}
-
--- Modules
-id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive
-
-id-mod-abstract-service ID ::= {id-mod 1} -- not definitive
-
-id-mod-attribute-types ID ::= {id-mod 2} -- not definitive
-
-id-mod-action-types ID ::= {id-mod 3} -- not definitive
-
-id-mod-upper-bounds ID ::= {id-mod 4} -- not definitive
-
-id-mod-matching-rules ID ::= {id-mod 5} -- not definitive
-
--- Objects
-id-ot-ms ID ::= {id-ot 0}
-
-id-ot-ms-user ID ::= {id-ot 1}
-
--- Port types
-id-pt-retrieval-88 ID ::= {id-pt 0}
-
-id-pt-retrieval-94 ID ::= {id-pt 1}
-
-id-pt-ms-submission ID ::= {id-pt 2}
-
--- Contracts
-id-crt-ms-access-88 ID ::= {id-crt 0}
-
-id-crt-ms-access-94 ID ::= {id-crt 1}
-
--- Connection-packages
-id-cp-ms-connection ID ::= {id-cp 0}
-
--- Attribute-types
-id-att-ac-correlated-report-list ID ::= {id-att 42}
-
-id-att-ac-report-subject-entry ID ::= {id-att 76}
-
-id-att-ac-report-summary ID ::= {id-att 43}
-
-id-att-ac-uncorrelated-report-list ID ::= {id-att 44}
-
-id-att-auto-action-error ID ::= {id-att 46}
-
-id-att-auto-action-registration-identifier ID ::= {id-att 47}
-
-id-att-auto-action-subject-entry ID ::= {id-att 48}
-
-id-att-auto-action-type ID ::= {id-att 49}
-
-id-att-certificate-selectors ID ::= {id-att 80}
-
-id-att-child-sequence-numbers ID ::= {id-att 0}
-
-id-att-content ID ::= {id-att 1}
-
-id-att-content-confidentiality-algorithm-identifier ID ::= {id-att 2}
-
-id-att-content-correlator ID ::= {id-att 3}
-
-id-att-content-identifier ID ::= {id-att 4}
-
-id-att-content-integrity-check ID ::= {id-att 5}
-
-id-att-content-length ID ::= {id-att 6}
-
-id-att-content-returned ID ::= {id-att 7}
-
-id-att-content-type ID ::= {id-att 8}
-
-id-att-conversion-with-loss-prohibited ID ::= {id-att 9}
-
-id-att-converted-EITs ID ::= {id-att 10}
-
-id-att-creation-time ID ::= {id-att 11}
-
-id-att-deferred-delivery-cancellation-time ID ::= {id-att 50}
-
-id-att-deferred-delivery-time ID ::= {id-att 51}
-
-id-att-deletion-time ID ::= {id-att 52}
-
-id-att-delivered-EITs ID ::= {id-att 12}
-
-id-att-delivery-flags ID ::= {id-att 13}
-
-id-att-dl-exempted-recipients ID ::= {id-att 78}
-
-id-att-dl-expansion-history ID ::= {id-att 14}
-
-id-att-dl-expansion-prohibited ID ::= {id-att 53}
-
-id-att-entry-type ID ::= {id-att 16}
-
-id-att-internal-trace-information ID ::= {id-att 54}
-
-id-att-latest-delivery-time ID ::= {id-att 55}
-
-id-att-locally-originated ID ::= {id-att 77}
-
-id-att-marked-for-deletion ID ::= {id-att 56}
-
-id-att-message-delivery-envelope ID ::= {id-att 18}
-
-id-att-message-delivery-time ID ::= {id-att 20}
-
-id-att-message-group-name ID ::= {id-att 57}
-
-id-att-message-identifier ID ::= {id-att 19}
-
-id-att-message-notes ID ::= {id-att 58}
-
-id-att-message-origin-authentication-check ID ::= {id-att 21}
-
-id-att-message-security-label ID ::= {id-att 22}
-
-id-att-message-submission-envelope ID ::= {id-att 59}
-
-id-att-message-submission-time ID ::= {id-att 23}
-
-id-att-message-token ID ::= {id-att 24}
-
-id-att-ms-originated ID ::= {id-att 60}
-
-id-att-ms-submission-error ID ::= {id-att 61}
-
-id-att-multiple-originator-certificates ID ::= {id-att 81}
-
-id-att-original-EITs ID ::= {id-att 25}
-
-id-att-originally-intended-recipient-name ID ::= {id-att 17}
-
-id-att-originating-MTA-certificate ID ::= {id-att 62}
-
-id-att-originator-certificate ID ::= {id-att 26}
-
-id-att-originator-name ID ::= {id-att 27}
-
-id-att-originator-report-request ID ::= {id-att 63}
-
-id-att-originator-return-address ID ::= {id-att 64}
-
-id-att-other-recipient-names ID ::= {id-att 28}
-
-id-att-parent-sequence-number ID ::= {id-att 29}
-
-id-att-per-message-indicators ID ::= {id-att 65}
-
-id-att-per-recipient-message-submission-fields ID ::= {id-att 66}
-
-id-att-per-recipient-probe-submission-fields ID ::= {id-att 67}
-
-id-att-per-recipient-report-delivery-fields ID ::= {id-att 30}
-
-id-att-priority ID ::= {id-att 31}
-
-id-att-probe-origin-authentication-check ID ::= {id-att 68}
-
-id-att-probe-submission-envelope ID ::= {id-att 69}
-
-id-att-proof-of-delivery-request ID ::= {id-att 32}
-
-id-att-proof-of-submission ID ::= {id-att 70}
-
-id-att-recipient-certificate ID ::= {id-att 82}
-
-id-att-recipient-names ID ::= {id-att 71}
-
-id-att-recipient-reassignment-prohibited ID ::= {id-att 72}
-
-id-att-redirection-history ID ::= {id-att 33}
-
-id-att-report-delivery-envelope ID ::= {id-att 34}
-
-id-att-reporting-DL-name ID ::= {id-att 35}
-
-id-att-reporting-MTA-certificate ID ::= {id-att 36}
-
-id-att-report-origin-authentication-check ID ::= {id-att 37}
-
-id-att-retrieval-status ID ::= {id-att 15}
-
-id-att-security-classification ID ::= {id-att 38}
-
-id-att-sequence-number ID ::= {id-att 39}
-
-id-att-signature-verification-status ID ::= {id-att 79}
-
-id-att-storage-period ID ::= {id-att 73}
-
-id-att-storage-time ID ::= {id-att 74}
-
-id-att-subject-submission-identifier ID ::= {id-att 40}
-
-id-att-this-recipient-name ID ::= {id-att 41}
-
-id-att-trace-information ID ::= {id-att 75}
-
--- Auto-action-types
-id-act-ipm-auto-forward ID ::=
- {id-act 0} -- Reserved for use in
-
--- ITU-T Rec. X.420 |
--- ISO/IEC 10021-7
-id-act-auto-alert ID ::= {id-act 1}
-
-id-act-auto-correlate-reports ID ::= {id-act 2}
-
-id-act-auto-delete ID ::= {id-act 3}
-
-id-act-auto-modify ID ::= {id-act 4}
-
--- Auto-action errors
-id-aae-auto-alert-error ID ::= {id-aae 0}
-
--- Matching-rules
-id-mr-content-correlator-match ID ::= {id-mr 1}
-
-id-mr-content-identifier-match ID ::= {id-mr 2}
-
-id-mr-ms-single-substring-list-elements-match ID ::= {id-mr 3}
-
-id-mr-ms-single-substring-list-match ID ::= {id-mr 4}
-
-id-mr-ms-single-substring-match ID ::= {id-mr 5}
-
-id-mr-ms-substrings-match ID ::= {id-mr 6}
-
-id-mr-msstring-case-sensitive-match ID ::= {id-mr 7}
-
-id-mr-msstring-list-elements-match ID ::= {id-mr 8}
-
-id-mr-msstring-list-match ID ::= {id-mr 9}
-
-id-mr-msstring-match ID ::= {id-mr 10}
-
-id-mr-msstring-ordering-match ID ::= {id-mr 11}
-
-id-mr-mts-identifier-match ID ::= {id-mr 12}
-
-id-mr-oraddress-elements-match ID ::= {id-mr 13}
-
-id-mr-oraddress-match ID ::= {id-mr 14}
-
-id-mr-oraddress-substring-elements-match ID ::= {id-mr 15}
-
-id-mr-orname-elements-match ID ::= {id-mr 16}
-
-id-mr-orname-match ID ::= {id-mr 17}
-
-id-mr-orname-single-element-match ID ::= {id-mr 18}
-
-id-mr-orname-substring-elements-match ID ::= {id-mr 19}
-
-id-mr-redirection-or-dl-expansion-elements-match ID ::= {id-mr 20}
-
-id-mr-redirection-or-dl-expansion-match ID ::= {id-mr 21}
-
-id-mr-redirection-or-dl-expansion-single-element-match ID ::= {id-mr 25}
-
-id-mr-redirection-or-dl-expansion-substring-elements-match ID ::= {id-mr 22}
-
-id-mr-redirection-reason-match ID ::= {id-mr 23}
-
-id-mr-value-count-match ID ::= {id-mr 24}
-
--- Extensions
-id-ext-modify-capability ID ::= {id-ext 0}
-
-id-ext-modify-retrieval-status-capability ID ::= {id-ext 1}
-
-id-ext-originator-certificate-selectors-override ID ::= {id-ext 2}
-
-id-ext-originator-token ID ::= {id-ext 3}
-
-id-ext-protected-change-credentials ID ::= {id-ext 4}
-
-id-ext-protected-change-credentials-capability ID ::= {id-ext 5}
-
--- Algorithms
-id-alg-password-xor ID ::= {id-alg 0}
-
-END -- of MSObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSUpperBounds.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSUpperBounds.asn
deleted file mode 100644
index 6494fbd3ef..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MSUpperBounds.asn
+++ /dev/null
@@ -1,77 +0,0 @@
--- Module MSUpperBounds (X.413:06/1999)
-MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
- version-1994(0)} DEFINITIONS ::=
-BEGIN
-
--- Exports everything
-IMPORTS -- nothing -- ;
-
--- Upper Bounds
-ub-alert-addresses INTEGER ::= 16
-
-ub-attribute-values INTEGER ::= 32767 -- (215 - 1) the largest integer
-
--- representable in 16 bits
-ub-attributes-supported INTEGER ::= 1024
-
-ub-auto-action-errors INTEGER ::= 32767 -- (215 - 1) the largest integer
-
--- representable in 16 bits
-ub-auto-actions INTEGER ::= 128
-
-ub-auto-registrations INTEGER ::= 1024
-
-ub-default-registrations INTEGER ::= 1024
-
-ub-entry-classes INTEGER ::= 128
-
-ub-entry-types INTEGER ::= 16
-
-ub-error-reasons INTEGER ::= 16
-
-ub-extensions INTEGER ::= 32
-
-ub-group-depth INTEGER ::= 64
-
-ub-group-descriptor-length INTEGER ::= 256
-
-ub-group-part-length INTEGER ::= 128
-
-ub-information-bases INTEGER ::= 16
-
-ub-matching-rules INTEGER ::= 1024
-
-ub-message-groups INTEGER ::= 8192
-
-ub-message-notes-length INTEGER ::= 1024
-
-ub-messages INTEGER ::= 2147483647 -- (231 - 1) the largest integer
-
--- representable in 32 bits
-ub-modifications INTEGER ::=
- 32767 -- (215 - 1) the largest integer
-
--- representable in 16 bits
-ub-msstring-match INTEGER ::= 512
-
-ub-per-auto-action INTEGER ::= 32767 -- (215 - 1) the largest integer
-
--- representable in 16 bits
-ub-per-entry INTEGER ::= 1024
-
-ub-service-information-length INTEGER ::= 2048
-
-ub-summaries INTEGER ::= 16
-
-ub-supplementary-info-length INTEGER ::= 256
-
-ub-ua-registration-identifier-length INTEGER ::= 32
-
-ub-ua-registrations INTEGER ::= 128
-
-ub-restrictions INTEGER ::= 16
-
-END -- of MSUpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTAAbstractService.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTAAbstractService.asn
deleted file mode 100644
index 38035c77ae..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTAAbstractService.asn
+++ /dev/null
@@ -1,481 +0,0 @@
--- Module MTAAbstractService (X.411:06/1999)
-MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mta-abstract-service(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- Remote Operations
- CONNECTION-PACKAGE, CONTRACT
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- --==
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- -- MTS Abstract Service Parameters
- ABSTRACT-ERROR, ABSTRACT-OPERATION, administration, AdministrationDomainName,
- certificate-selectors, certificate-selectors-override, Content,
- ContentIdentifier, ContentLength, ContentType,
- content-confidentiality-algorithm-identifier, content-correlator,
- content-integrity-check, conversion-with-loss-prohibited,
- ConvertedEncodedInformationTypes, CountryName, DeferredDeliveryTime,
- delivery, dl-exempted-recipients, dl-expansion-history,
- dl-expansion-prohibited, ExplicitConversion, EXTENSION, ExtensionField{},
- GlobalDomainIdentifier, InitiatorCredentials, latest-delivery-time,
- message-origin-authentication-check, message-security-label, message-token,
- MHS-OBJECT, MTAName, MTSIdentifier, multiple-originator-certificates,
- ORAddressAndOptionalDirectoryName, OriginalEncodedInformationTypes,
- originator-and-DL-expansion-history, originator-certificate,
- originator-return-address, PerMessageIndicators, physical-delivery-modes,
- physical-delivery-report-request, physical-forwarding-address,
- physical-forwarding-address-request, physical-forwarding-prohibited,
- physical-rendition-attributes, PORT, Priority, PrivateDomainIdentifier,
- PrivateExtensions, probe-origin-authentication-check, proof-of-delivery,
- proof-of-delivery-request, recipient-certificate,
- recipient-number-for-advice, recipient-reassignment-prohibited,
- redirection-history, registered-mail-type, reporting-DL-name,
- reporting-MTA-certificate, reporting-MTA-name, ReportType,
- report-origin-authentication-check, requested-delivery-method,
- ResponderCredentials, SecurityContext, submission,
- SupplementaryInformation, Time
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- IPM Information Objects
- IPMPerRecipientEnvelopeExtensions
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- Object Identifiers
- id-cp-mta-connect, id-ct-mta-transfer, id-ot-mta, id-pt-transfer
- --==
- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Upper Bounds
- ub-bit-options, ub-integer-options, ub-recipients, ub-transfers
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)};
-
--- Objects
-mta MHS-OBJECT ::= {BOTH {mta-transfer}
- ID id-ot-mta
-}
-
--- Contracts
-mta-transfer CONTRACT ::= {
- CONNECTION mta-connect
- OPERATIONS OF {transfer}
- ID id-ct-mta-transfer
-}
-
--- Connection package
-mta-connect CONNECTION-PACKAGE ::= {
- BIND mta-bind
- UNBIND mta-unbind
- ID id-cp-mta-connect
-}
-
--- Ports
-transfer PORT ::= {
- OPERATIONS {message-transfer | probe-transfer | report-transfer}
- ID id-pt-transfer
-}
-
--- MTA-bind and MTA-unbind
-mta-bind ABSTRACT-OPERATION ::= {
- ARGUMENT MTABindArgument
- RESULT MTABindResult
- ERRORS {mta-bind-error}
-}
-
-mta-unbind ABSTRACT-OPERATION ::= emptyUnbind
-
-MTABindArgument ::= CHOICE {
- unauthenticated NULL, -- if no authentication is required
- authenticated
- [1] SET {-- if authentication is required--initiator-name
- [0] MTAName,
- initiator-credentials
- [1] InitiatorCredentials
- (WITH COMPONENTS {
- ...,
- protected ABSENT
- }),
- security-context
- [2] SecurityContext OPTIONAL
- }
-}
-
-MTABindResult ::= CHOICE {
- unauthenticated NULL, -- if no authentication is required
- authenticated
- [1] SET {-- if authentication is required--responder-name
- [0] MTAName,
- responder-credentials
- [1] ResponderCredentials
- (WITH COMPONENTS {
- ...,
- protected ABSENT
- })}
-}
-
-mta-bind-error ABSTRACT-ERROR ::= {
- PARAMETER
- INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
- unacceptable-security-context(4),
- inadequate-association-confidentiality(5)}(0..ub-integer-options)
-}
-
--- Transfer Port
-message-transfer ABSTRACT-OPERATION ::= {ARGUMENT Message
-}
-
-probe-transfer ABSTRACT-OPERATION ::= {ARGUMENT Probe
-}
-
-report-transfer ABSTRACT-OPERATION ::= {ARGUMENT Report
-}
-
-Message ::= SEQUENCE {envelope MessageTransferEnvelope,
- content Content
-}
-
-Probe ::= ProbeTransferEnvelope
-
-Report ::= SEQUENCE {
- envelope ReportTransferEnvelope,
- content ReportTransferContent
-}
-
--- Message Transfer Envelope
-MessageTransferEnvelope ::= SET {
- COMPONENTS OF PerMessageTransferFields,
- per-recipient-fields
- [2] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientMessageTransferFields
-}
-
-PerMessageTransferFields ::= SET {
- message-identifier MessageIdentifier,
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- priority Priority DEFAULT normal,
- per-message-indicators PerMessageIndicators DEFAULT {},
- deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL,
- per-domain-bilateral-information
- [1] SEQUENCE SIZE (1..ub-transfers) OF PerDomainBilateralInformation
- OPTIONAL,
- trace-information TraceInformation,
- extensions
- [3] SET OF ExtensionField{{MessageTransferExtensions}} DEFAULT {}
-}
-
-MessageTransferExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | latest-delivery-time |
- originator-return-address | originator-certificate |
- content-confidentiality-algorithm-identifier |
- message-origin-authentication-check | message-security-label |
- content-correlator | dl-exempted-recipients | certificate-selectors |
- multiple-originator-certificates | dl-expansion-history |
- internal-trace-information | PrivateExtensions, ...}
-
-PerRecipientMessageTransferFields ::= SET {
- recipient-name RecipientName,
- originally-specified-recipient-number
- [0] OriginallySpecifiedRecipientNumber,
- per-recipient-indicators [1] PerRecipientIndicators,
- explicit-conversion [2] ExplicitConversion OPTIONAL,
- extensions
- [3] SET OF ExtensionField{{PerRecipientMessageTransferExtensions}}
- DEFAULT {}
-}
-
-PerRecipientMessageTransferExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-forwarding-prohibited | physical-forwarding-address-request |
- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
- | physical-rendition-attributes | physical-delivery-report-request |
- message-token | content-integrity-check | proof-of-delivery-request |
- certificate-selectors-override | recipient-certificate | redirection-history
- | IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
-
--- Probe Transfer Envelope
-ProbeTransferEnvelope ::= SET {
- COMPONENTS OF PerProbeTransferFields,
- per-recipient-fields
- [2] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeTransferFields
-}
-
-PerProbeTransferFields ::= SET {
- probe-identifier ProbeIdentifier,
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- content-length [0] ContentLength OPTIONAL,
- per-message-indicators PerMessageIndicators DEFAULT {},
- per-domain-bilateral-information
- [1] SEQUENCE SIZE (1..ub-transfers) OF PerDomainBilateralInformation
- OPTIONAL,
- trace-information TraceInformation,
- extensions
- [3] SET OF ExtensionField{{ProbeTransferExtensions}} DEFAULT {}
-}
-
-ProbeTransferExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | originator-certificate |
- message-security-label | content-correlator |
- probe-origin-authentication-check | internal-trace-information |
- PrivateExtensions, ...}
-
-PerRecipientProbeTransferFields ::= SET {
- recipient-name RecipientName,
- originally-specified-recipient-number
- [0] OriginallySpecifiedRecipientNumber,
- per-recipient-indicators [1] PerRecipientIndicators,
- explicit-conversion [2] ExplicitConversion OPTIONAL,
- extensions
- [3] SET OF ExtensionField{{PerRecipientProbeTransferExtensions}}
- DEFAULT {}
-}
-
-PerRecipientProbeTransferExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-rendition-attributes | redirection-history | PrivateExtensions,
- ...}
-
--- Report Transfer Envelope
-ReportTransferEnvelope ::= SET {
- report-identifier ReportIdentifier,
- report-destination-name ReportDestinationName,
- trace-information TraceInformation,
- extensions
- [1] SET OF ExtensionField{{ReportTransferEnvelopeExtensions}} DEFAULT {}
-}
-
-ReportTransferEnvelopeExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- message-security-label | redirection-history |
- originator-and-DL-expansion-history | reporting-DL-name |
- reporting-MTA-certificate | report-origin-authentication-check |
- internal-trace-information | reporting-MTA-name | PrivateExtensions,
- ...}
-
--- Report Transfer Content
-ReportTransferContent ::= SET {
- COMPONENTS OF PerReportTransferFields,
- per-recipient-fields
- [0] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportTransferFields
-}
-
-PerReportTransferFields ::= SET {
- subject-identifier SubjectIdentifier,
- subject-intermediate-trace-information
- SubjectIntermediateTraceInformation OPTIONAL,
- original-encoded-information-types
- OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType OPTIONAL,
- content-identifier ContentIdentifier OPTIONAL,
- returned-content [1] Content OPTIONAL,
- additional-information [2] AdditionalInformation OPTIONAL,
- extensions
- [3] SET OF ExtensionField{{ReportTransferContentExtensions}} DEFAULT {}
-}
-
-ReportTransferContentExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- content-correlator | PrivateExtensions, ...}
-
-PerRecipientReportTransferFields ::= SET {
- actual-recipient-name [0] ActualRecipientName,
- originally-specified-recipient-number
- [1] OriginallySpecifiedRecipientNumber,
- per-recipient-indicators [2] PerRecipientIndicators,
- last-trace-information [3] LastTraceInformation,
- originally-intended-recipient-name
- [4] OriginallyIntendedRecipientName OPTIONAL,
- supplementary-information [5] SupplementaryInformation OPTIONAL,
- extensions
- [6] SET OF ExtensionField{{PerRecipientReportTransferExtensions}}
- DEFAULT {}
-}
-
-PerRecipientReportTransferExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- redirection-history | physical-forwarding-address | recipient-certificate |
- proof-of-delivery | PrivateExtensions, ...}
-
--- Envelope & Report Content Fields
-MessageIdentifier ::= MTSIdentifier
-
-OriginatorName ::= ORAddressAndOptionalDirectoryName
-
-PerDomainBilateralInformation ::= SEQUENCE {
- COMPONENTS OF BILATERAL.&id,
- bilateral-information BILATERAL.&Type
-}
-
-BILATERAL ::= CLASS {&id BilateralDomain UNIQUE,
- &Type
-}WITH SYNTAX {&Type,
- IDENTIFIED BY &id
-}
-
-BilateralDomain ::= SEQUENCE {
- country-name CountryName,
- domain
- CHOICE {administration-domain-name AdministrationDomainName,
- private-domain
- SEQUENCE {administration-domain-name
- [0] AdministrationDomainName,
- private-domain-identifier
- [1] PrivateDomainIdentifier}}
-}
-
-RecipientName ::= ORAddressAndOptionalDirectoryName
-
-OriginallySpecifiedRecipientNumber ::= INTEGER(1..ub-recipients)
-
-PerRecipientIndicators ::= BIT STRING {
- responsibility(0),
- -- responsible 'one', not-responsible 'zero'
- originating-MTA-report(1),
- originating-MTA-non-delivery-report(2),
- -- either originating-MTA-report, or originating-MTA-non-delivery-report,
- -- or both, shall be 'one':
- -- originating-MTA-report bit 'one' requests a 'report';
- -- originating-MTA-non-delivery-report bit 'one' requests a 'non-delivery-report';
- -- both bits 'one' requests an 'audited-report';
- -- bits 0 - 2 'don't care' for Report Transfer Content
- originator-report(3),
- originator-non-delivery-report(4),
- -- at most one bit shall be 'one':
- -- originator-report bit 'one' requests a 'report';
- -- originator-non-delivery-report bit 'one' requests a 'non-delivery-report';
- -- both bits 'zero' requests 'no-report'
- reserved-5(5), reserved-6(6), reserved-7(7)
-
--- reserved- bits 5 - 7 shall be 'zero' --}(SIZE (8..ub-bit-options))
-
-ProbeIdentifier ::= MTSIdentifier
-
-ReportIdentifier ::= MTSIdentifier
-
-ReportDestinationName ::= ORAddressAndOptionalDirectoryName
-
-SubjectIdentifier ::= MessageOrProbeIdentifier
-
-MessageOrProbeIdentifier ::= MTSIdentifier
-
-SubjectIntermediateTraceInformation ::= TraceInformation
-
--- AdditionalInformation is retained for backwards compatibility only,
--- and use in new systems is strongly deprecated
-ADDITIONAL ::= CLASS {&Type
-}
-
-AdditionalInformation ::=
- ADDITIONAL.&Type -- maximum ub-additional-info octets including all encoding
-
-ActualRecipientName ::= ORAddressAndOptionalDirectoryName
-
-LastTraceInformation ::= SET {
- arrival-time [0] ArrivalTime,
- converted-encoded-information-types
- ConvertedEncodedInformationTypes OPTIONAL,
- report-type [1] ReportType
-}
-
-OriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
-
--- Extension Fields
-originator-requested-alternate-recipient EXTENSION ::= {
- OriginatorRequestedAlternateRecipient,
- IDENTIFIED BY standard-extension:2
-}
-
-OriginatorRequestedAlternateRecipient ::= ORAddressAndOptionalDirectoryName
-
-trace-information EXTENSION ::= {
- TraceInformation,
- IDENTIFIED BY standard-extension:37
-}
-
-internal-trace-information EXTENSION ::= {
- InternalTraceInformation,
- IDENTIFIED BY standard-extension:38
-}
-
-InternalTraceInformation ::=
- SEQUENCE SIZE (1..ub-transfers) OF InternalTraceInformationElement
-
-InternalTraceInformationElement ::= SEQUENCE {
- global-domain-identifier GlobalDomainIdentifier,
- mta-name MTAName,
- mta-supplied-information MTASuppliedInformation
-}
-
-MTASuppliedInformation ::= SET {
- arrival-time [0] ArrivalTime,
- routing-action [2] RoutingAction,
- attempted CHOICE {mta MTAName,
- domain GlobalDomainIdentifier} OPTIONAL,
- -- additional-actions --COMPONENTS OF InternalAdditionalActions
-}
-
-InternalAdditionalActions ::= AdditionalActions
-
--- Common Parameter Types
-TraceInformation ::=
- [APPLICATION 9] SEQUENCE SIZE (1..ub-transfers) OF TraceInformationElement
-
-TraceInformationElement ::= SEQUENCE {
- global-domain-identifier GlobalDomainIdentifier,
- domain-supplied-information DomainSuppliedInformation
-}
-
-DomainSuppliedInformation ::= SET {
- arrival-time [0] ArrivalTime,
- routing-action [2] RoutingAction,
- attempted-domain GlobalDomainIdentifier OPTIONAL,
- -- additional-actions --COMPONENTS OF AdditionalActions
-}
-
-AdditionalActions ::= SET {
- deferred-time [1] DeferredTime OPTIONAL,
- converted-encoded-information-types
- ConvertedEncodedInformationTypes OPTIONAL,
- other-actions [3] OtherActions DEFAULT {}
-}
-
-RoutingAction ::= ENUMERATED {relayed(0), rerouted(1)}
-
-DeferredTime ::= Time
-
-ArrivalTime ::= Time
-
-OtherActions ::= BIT STRING {redirected(0), dl-operation(1)
-}(SIZE (0..ub-bit-options))
-
-END -- of MTA Abstract Service
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAbstractService.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAbstractService.asn
deleted file mode 100644
index 68a5118bc8..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAbstractService.asn
+++ /dev/null
@@ -1,2366 +0,0 @@
--- Module MTSAbstractService (X.411:06/1999)
-MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- Remote Operations
- CONNECTION-PACKAGE, CONTRACT, ERROR, OPERATION, OPERATION-PACKAGE,
- ROS-OBJECT-CLASS
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- emptyUnbind
- --==
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- -- MTA Abstract Service
- internal-trace-information, trace-information
- --==
- FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mta-abstract-service(2) version-1999(1)}
- -- MS Abstract Service Extension
- forwarding-request
- --==
- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
- abstract-service(1) version-1999(1)}
- -- IPM Information Objects
- IPMPerRecipientEnvelopeExtensions
- --==
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- Object Identifiers
- id-att-physicalRendition-basic, id-cp-mts-connect, id-ct-mts-access,
- id-ct-mts-forced-access, id-ot-mts, id-ot-mts-user, id-pt-administration,
- id-pt-delivery, id-pt-submission, id-tok-asymmetricToken
- --==
- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Operation and Error Codes
- err-control-violates-registration,
- err-deferred-delivery-cancellation-rejected, err-delivery-control-violated,
- err-element-of-service-not-subscribed, err-inconsistent-request,
- err-message-submission-identifier-invalid,
- err-new-credentials-unacceptable,
- err-old-credentials-incorrectly-specified, err-operation-refused,
- err-originator-invalid, err-recipient-improperly-specified,
- err-register-rejected, err-remote-bind-error, err-security-error,
- err-submission-control-violated, err-unsupported-critical-function,
- op-cancel-deferred-delivery, op-change-credentials, op-delivery-control,
- op-message-delivery, op-message-submission, op-probe-submission,
- op-register, op-report-delivery, op-submission-control
- --==
- FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- mts-access-protocol(1) version-1999(1)}
- -- Directory Definitions
- Name
- --==
- FROM InformationFramework
- PresentationAddress
- --==
- FROM SelectedAttributeTypes
- ALGORITHM, AlgorithmIdentifier, Certificates, ENCRYPTED{}, SIGNATURE{},
- SIGNED{}
- --==
- FROM AuthenticationFramework
-
- -- Certificate Extensions
- CertificateAssertion
- --==
- FROM CertificateExtensions
-
- -- Upper Bounds
- ub-bit-options, ub-built-in-content-type,
- ub-built-in-encoded-information-types, ub-certificates,
- ub-common-name-length, ub-content-id-length, ub-content-length,
- ub-content-types, ub-country-name-alpha-length,
- ub-country-name-numeric-length, ub-deliverable-class, ub-diagnostic-codes,
- ub-dl-expansions, ub-domain-defined-attributes,
- ub-domain-defined-attribute-type-length,
- ub-domain-defined-attribute-value-length, ub-domain-name-length,
- ub-encoded-information-types, ub-extension-attributes, ub-extension-types,
- ub-e163-4-number-length, ub-e163-4-sub-address-length,
- ub-generation-qualifier-length, ub-given-name-length, ub-initials-length,
- ub-integer-options, ub-local-id-length, ub-mta-name-length,
- ub-mts-user-types, ub-numeric-user-id-length, ub-organization-name-length,
- ub-organizational-units, ub-organizational-unit-name-length,
- ub-orig-and-dl-expansions, ub-password-length, ub-pds-name-length,
- ub-pds-parameter-length, ub-pds-physical-address-lines,
- ub-postal-code-length, ub-privacy-mark-length, ub-queue-size,
- ub-reason-codes, ub-recipients, ub-recipient-number-for-advice-length,
- ub-redirections, ub-redirection-classes, ub-restrictions,
- ub-security-categories, ub-security-labels, ub-security-problems,
- ub-supplementary-info-length, ub-surname-length, ub-terminal-id-length,
- ub-tsap-id-length, ub-unformatted-address-length,
- ub-universal-generation-qualifier-length, ub-universal-given-name-length,
- ub-universal-initials-length, ub-universal-surname-length,
- ub-x121-address-length
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)};
-
-operationObject1 OPERATION ::= {LINKED {operationObject2}
-}
-
-operationObject2 OPERATION ::= {LINKED {operationObject3}
-}
-
-operationObject3 OPERATION ::= {LINKED {operationObject4}
-}
-
-operationObject4 OPERATION ::= {LINKED {...}
-}
-
--- Objects
-MHS-OBJECT ::= ROS-OBJECT-CLASS
-
-mts MHS-OBJECT ::= {
- INITIATES {mts-forced-access-contract}
- RESPONDS {mts-access-contract}
- ID id-ot-mts
-}
-
-mts-user MHS-OBJECT ::= {
- INITIATES {mts-access-contract}
- RESPONDS {mts-forced-access-contract}
- ID id-ot-mts-user
-}
-
--- Contracts
-mts-access-contract CONTRACT ::= {
- CONNECTION mts-connect
- INITIATOR CONSUMER OF {submission | delivery | administration}
- ID id-ct-mts-access
-}
-
-mts-forced-access-contract CONTRACT ::= {
- CONNECTION mts-connect
- RESPONDER CONSUMER OF {submission | delivery | administration}
- ID id-ct-mts-forced-access
-}
-
--- Connection package
-mts-connect CONNECTION-PACKAGE ::= {
- BIND mts-bind
- UNBIND mts-unbind
- ID id-cp-mts-connect
-}
-
--- Ports
-PORT ::= OPERATION-PACKAGE
-
-submission PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES
- {message-submission | probe-submission | cancel-deferred-delivery, ...}
- SUPPLIER INVOKES {submission-control, ...}
- ID id-pt-submission
-}
-
-delivery PORT ::= {
- OPERATIONS {operationObject1, ...}
- CONSUMER INVOKES {delivery-control, ...}
- SUPPLIER INVOKES {message-delivery | report-delivery, ...}
- ID id-pt-delivery
-}
-
-administration PORT ::= {
- OPERATIONS {change-credentials, ...}
- CONSUMER INVOKES {register, ...}
- SUPPLIER INVOKES {operationObject1, ...}
- ID id-pt-administration
-}
-
--- MTS-bind and MTS-unbind
-ABSTRACT-OPERATION ::= OPERATION
-
-ABSTRACT-ERROR ::= ERROR
-
-mts-bind ABSTRACT-OPERATION ::= {
- ARGUMENT MTSBindArgument
- RESULT MTSBindResult
- ERRORS {mts-bind-error}
-}
-
-MTSBindArgument ::= SET {
- initiator-name ObjectName,
- messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
- initiator-credentials [2] InitiatorCredentials,
- security-context [3] SecurityContext OPTIONAL,
- ...,
- extensions
- [5] SET OF ExtensionField{{MTSBindExtensions}} DEFAULT {}
-}
-
-MTSBindExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-MTSBindResult ::= SET {
- responder-name ObjectName,
- messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
- responder-credentials [2] ResponderCredentials,
- ...,
- extensions
- [5] SET OF ExtensionField{{MTSBindResultExtensions}} DEFAULT {}
-}
-
-MTSBindResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-mts-bind-error ABSTRACT-ERROR ::= {
- PARAMETER
- INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
- unacceptable-security-context(4),
- inadequate-association-confidentiality(5)}(0..ub-integer-options)
-}
-
-mts-unbind ABSTRACT-OPERATION ::= emptyUnbind
-
--- Association Control Parameters
-ObjectName ::= CHOICE {
- user-agent ORAddressAndOptionalDirectoryName,
- mTA [0] MTAName,
- message-store [4] ORAddressAndOptionalDirectoryName
-}
-
-MessagesWaiting ::= SET {
- urgent [0] DeliveryQueue,
- normal [1] DeliveryQueue,
- non-urgent [2] DeliveryQueue
-}
-
-DeliveryQueue ::= SET {
- messages [0] INTEGER(0..ub-queue-size),
- octets [1] INTEGER(0..ub-content-length) OPTIONAL
-}
-
-InitiatorCredentials ::= Credentials
-
-ResponderCredentials ::= Credentials
-
-Credentials ::= CHOICE {
- simple Password,
- strong [0] StrongCredentials,
- ...,
- protected [1] ProtectedPassword
-}
-
-Password ::= CHOICE {
- ia5-string IA5String(SIZE (0..ub-password-length)),
- octet-string OCTET STRING(SIZE (0..ub-password-length))
-}
-
-StrongCredentials ::= SET {
- bind-token [0] Token OPTIONAL,
- certificate [1] Certificates OPTIONAL,
- ...,
- certificate-selector [2] CertificateAssertion OPTIONAL
-}
-
-ProtectedPassword ::= SET {
- signature
- SIGNATURE{SET {password Password,
- time1 [0] UTCTime OPTIONAL,
- time2 [1] UTCTime OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL}},
- time1 [0] UTCTime OPTIONAL,
- time2 [1] UTCTime OPTIONAL,
- random1 [2] BIT STRING OPTIONAL,
- random2 [3] BIT STRING OPTIONAL
-}
-
-SecurityContext ::= SET SIZE (1..ub-security-labels) OF SecurityLabel
-
--- Submission Port
-message-submission ABSTRACT-OPERATION ::= {
- ARGUMENT MessageSubmissionArgument
- RESULT MessageSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {4 | 6 | 7}
- CODE op-message-submission
-}
-
-MessageSubmissionArgument ::= SEQUENCE {
- envelope MessageSubmissionEnvelope,
- content Content
-}
-
-MessageSubmissionResult ::= SET {
- message-submission-identifier MessageSubmissionIdentifier,
- message-submission-time [0] MessageSubmissionTime,
- content-identifier ContentIdentifier OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{MessageSubmissionResultExtensions}} DEFAULT {}
-}
-
-MessageSubmissionResultExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originating-MTA-certificate | proof-of-submission | PrivateExtensions,
- ...}
-
-probe-submission ABSTRACT-OPERATION ::= {
- ARGUMENT ProbeSubmissionArgument
- RESULT ProbeSubmissionResult
- ERRORS
- {submission-control-violated | element-of-service-not-subscribed |
- originator-invalid | recipient-improperly-specified |
- inconsistent-request | security-error | unsupported-critical-function |
- remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-probe-submission
-}
-
-ProbeSubmissionArgument ::= ProbeSubmissionEnvelope
-
-ProbeSubmissionResult ::= SET {
- probe-submission-identifier ProbeSubmissionIdentifier,
- probe-submission-time [0] ProbeSubmissionTime,
- content-identifier ContentIdentifier OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{ProbeResultExtensions}} DEFAULT {}
-}
-
-ProbeResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions,
--- at most one instance of each extension type
-cancel-deferred-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT CancelDeferredDeliveryArgument
- RESULT CancelDeferredDeliveryResult
- ERRORS
- {deferred-delivery-cancellation-rejected |
- message-submission-identifier-invalid | remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-cancel-deferred-delivery
-}
-
-CancelDeferredDeliveryArgument ::= MessageSubmissionIdentifier
-
-CancelDeferredDeliveryResult ::= NULL
-
-submission-control ABSTRACT-OPERATION ::= {
- ARGUMENT SubmissionControlArgument
- RESULT SubmissionControlResult
- ERRORS {security-error | remote-bind-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-submission-control
-}
-
-SubmissionControlArgument ::= SubmissionControls
-
-SubmissionControlResult ::= Waiting
-
-submission-control-violated ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-submission-control-violated
-}
-
-element-of-service-not-subscribed ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-element-of-service-not-subscribed
-}
-
-deferred-delivery-cancellation-rejected ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-deferred-delivery-cancellation-rejected
-}
-
-originator-invalid ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-originator-invalid
-}
-
-recipient-improperly-specified ABSTRACT-ERROR ::= {
- PARAMETER ImproperlySpecifiedRecipients
- CODE err-recipient-improperly-specified
-}
-
-ImproperlySpecifiedRecipients ::=
- SEQUENCE SIZE (1..ub-recipients) OF RecipientName
-
-message-submission-identifier-invalid ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-message-submission-identifier-invalid
-}
-
-inconsistent-request ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-inconsistent-request
-}
-
-security-error ABSTRACT-ERROR ::= {
- PARAMETER SecurityProblem
- CODE err-security-error
-}
-
-SecurityProblem ::= INTEGER {
- assemby-instructions-conflict-with-security-services(0),
- authentication-problem(1), authentication-failure-on-subject-message(2),
- confidentiality-association-problem(3), decryption-failed(4),
- decryption-key-unobtainable(5), failure-of-proof-of-message(6),
- forbidden-user-security-label-register(7),
- incompatible-change-with-original-security-context(8),
- integrity-failure-on-subject-message(9), invalid-security-label(10),
- invalid-security-label-update(11), key-failure(12),
- mandatory-parameter-absence(13), operation-security-failure(14),
- redirection-prohibited(15), refused-alternate-recipient-name(16),
- repudiation-failure-of-message(17),
- responder-credentials-checking-problem(18), security-context-failure(19),
- security-context-problem(20), security-policy-violation(21),
- security-services-refusal(22), token-decryption-failed(23), token-error(24),
- unable-to-aggregate-security-labels(25), unauthorised-dl-name(26),
- unauthorised-entry-class(27),
- unauthorised-originally-intended-recipient-name(28),
- unauthorised-originator-name(29), unauthorised-recipient-name(30),
- unauthorised-security-label-update(31), unauthorised-user-name(32),
- unknown-security-label(33), unsupported-algorithm-identifier(34),
- unsupported-security-policy(35)}(0..ub-security-problems)
-
-unsupported-critical-function ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-unsupported-critical-function
-}
-
-remote-bind-error ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-remote-bind-error
-}
-
--- Submission Port Parameters
-MessageSubmissionIdentifier ::= MTSIdentifier
-
-MessageSubmissionTime ::= Time
-
-ProbeSubmissionIdentifier ::= MTSIdentifier
-
-ProbeSubmissionTime ::= Time
-
-SubmissionControls ::=
- Controls
- (WITH COMPONENTS {
- ...,
- permissible-content-types ABSENT,
- permissible-encoded-information-types ABSENT
- })
-
-Waiting ::= SET {
- waiting-operations [0] Operations DEFAULT {},
- waiting-messages [1] WaitingMessages DEFAULT {},
- waiting-content-types
- [2] SET SIZE (0..ub-content-types) OF ContentType DEFAULT {},
- waiting-encoded-information-types EncodedInformationTypes OPTIONAL
-}
-
-Operations ::= BIT STRING {
- probe-submission-or-report-delivery(0),
- message-submission-or-message-delivery(1)}(SIZE (0..ub-bit-options))
-
--- holding 'one', not-holding 'zero'
-WaitingMessages ::= BIT STRING {
- long-content(0), low-priority(1), other-security-labels(2)
-}(SIZE (0..ub-bit-options))
-
--- Delivery Port
-message-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT MessageDeliveryArgument
- RESULT MessageDeliveryResult
- ERRORS
- {delivery-control-violated | security-error |
- unsupported-critical-function}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {4 | 6 | 7}
- CODE op-message-delivery
-}
-
-MessageDeliveryArgument ::= SEQUENCE {
- COMPONENTS OF MessageDeliveryEnvelope,
- content Content
-}
-
-MessageDeliveryResult ::= SET {
- recipient-certificate [0] RecipientCertificate OPTIONAL,
- proof-of-delivery [1] IMPLICIT ProofOfDelivery OPTIONAL,
- ...,
- extensions
- [2] SET OF ExtensionField{{MessageDeliveryResultExtensions}} DEFAULT {}
-}
-
-MessageDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-report-delivery ABSTRACT-OPERATION ::= {
- ARGUMENT ReportDeliveryArgument
- RESULT ReportDeliveryResult
- ERRORS
- {delivery-control-violated | security-error |
- unsupported-critical-function}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-report-delivery
-}
-
-ReportDeliveryArgument ::= SET {
- COMPONENTS OF ReportDeliveryEnvelope,
- returned-content [0] Content OPTIONAL
-}
-
-ReportDeliveryResult ::= CHOICE {
- empty-result NULL,
- ...,
- extensions
- SET SIZE (1..MAX) OF ExtensionField{{ReportDeliveryResultExtensions}}
-}
-
-ReportDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-delivery-control ABSTRACT-OPERATION ::= {
- ARGUMENT DeliveryControlArgument
- RESULT DeliveryControlResult
- ERRORS
- {control-violates-registration | security-error | operation-refused}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {3}
- CODE op-delivery-control
-}
-
-DeliveryControlArgument ::= SET {
- COMPONENTS OF DeliveryControls,
- extensions
- [6] SET OF ExtensionField{{DeliveryControlExtensions}} DEFAULT {}
-}
-
-DeliveryControlExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-DeliveryControlResult ::= SET {
- COMPONENTS OF Waiting,
- extensions
- [6] SET OF ExtensionField{{DeliveryControlResultExtensions}} DEFAULT {}
-}
-
-DeliveryControlResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-delivery-control-violated ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-delivery-control-violated
-}
-
-control-violates-registration ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-control-violates-registration
-}
-
-operation-refused ABSTRACT-ERROR ::= {
- PARAMETER RefusedOperation
- CODE err-operation-refused
-}
-
-RefusedOperation ::= SET {
- refused-argument
- CHOICE {built-in-argument [1] RefusedArgument,
- refused-extension EXTENSION.&id},
- refusal-reason [2] RefusalReason
-}
-
-RefusedArgument ::= INTEGER {
- user-name(0), user-address(1), deliverable-content-types(2),
- deliverable-maximum-content-length(3),
- deliverable-encoded-information-types-constraints(4),
- deliverable-security-labels(5), recipient-assigned-redirections(6),
- restricted-delivery(7),
- retrieve-registrations(8), -- value 9 reserved for possible future extension to Register arguments
- restrict(10), permissible-operations(11), permissible-lowest-priority(12),
- permissible-encoded-information-types(13), permissible-content-types(14),
- permissible-maximum-content-length(15), permissible-security-context(16)
-}(0..ub-integer-options)
-
-RefusalReason ::= INTEGER {
- facility-unavailable(0), facility-not-subscribed(1),
- parameter-unacceptable(2)}(0..ub-integer-options)
-
--- Delivery Port Parameters
-RecipientCertificate ::= Certificates
-
-ProofOfDelivery ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProofOfDeliveryAlgorithmIdentifier,
- delivery-time MessageDeliveryTime,
- this-recipient-name ThisRecipientName,
- originally-intended-recipient-name
- OriginallyIntendedRecipientName OPTIONAL,
- content Content,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label
- MessageSecurityLabel OPTIONAL}}
-
-ProofOfDeliveryAlgorithmIdentifier ::= AlgorithmIdentifier
-
-DeliveryControls ::= Controls
-
-Controls ::= SET {
- restrict [0] BOOLEAN DEFAULT TRUE,
- -- update 'TRUE', remove 'FALSE'
- permissible-operations [1] Operations OPTIONAL,
- permissible-maximum-content-length [2] ContentLength OPTIONAL,
- permissible-lowest-priority Priority OPTIONAL,
- permissible-content-types [4] ContentTypes OPTIONAL,
- permissible-encoded-information-types
- PermissibleEncodedInformationTypes OPTIONAL,
- permissible-security-context [5] SecurityContext OPTIONAL
-}
-
--- Note - The Tags [0], [1] and [2] are altered for the Register operation only.
-PermissibleEncodedInformationTypes ::=
- EncodedInformationTypesConstraints
-
--- Administration Port
-register ABSTRACT-OPERATION ::= {
- ARGUMENT RegisterArgument
- RESULT RegisterResult
- ERRORS
- {register-rejected | remote-bind-error | operation-refused |
- security-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-register
-}
-
-RegisterArgument ::= SET {
- user-name UserName OPTIONAL,
- user-address [0] UserAddress OPTIONAL,
- deliverable-class
- SET SIZE (1..ub-deliverable-class) OF DeliverableClass OPTIONAL,
- default-delivery-controls [2] EXPLICIT DefaultDeliveryControls OPTIONAL,
- redirections [3] Redirections OPTIONAL,
- restricted-delivery [4] RestrictedDelivery OPTIONAL,
- retrieve-registrations [5] RegistrationTypes OPTIONAL,
- extensions
- [6] SET OF ExtensionField{{RegisterExtensions}} DEFAULT {}
-}
-
-RegisterExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-RegisterResult ::= CHOICE {
- empty-result NULL,
- non-empty-result
- SET {registered-information
- [0] RegisterArgument
- (WITH COMPONENTS {
- ...,
- retrieve-registrations ABSENT
- }) OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{RegisterResultExtensions}} DEFAULT {}
- }
-}
-
-RegisterResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-change-credentials ABSTRACT-OPERATION ::= {
- ARGUMENT ChangeCredentialsArgument
- RESULT NULL
- ERRORS
- {new-credentials-unacceptable | old-credentials-incorrectly-specified |
- remote-bind-error | security-error}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-change-credentials
-}
-
-ChangeCredentialsArgument ::= SET {
- old-credentials [0] Credentials(WITH COMPONENTS {
- simple
- }),
- new-credentials [1] Credentials(WITH COMPONENTS {
- simple
- })
-}
-
-register-rejected ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-register-rejected
-}
-
-new-credentials-unacceptable ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-new-credentials-unacceptable
-}
-
-old-credentials-incorrectly-specified ABSTRACT-ERROR ::= {
- PARAMETER NULL
- CODE err-old-credentials-incorrectly-specified
-}
-
--- Administration Port Parameters
-UserName ::= ORAddressAndOptionalDirectoryName
-
-UserAddress ::= CHOICE {
- x121
- [0] SEQUENCE {x121-address
- NumericString(SIZE (1..ub-x121-address-length)) OPTIONAL,
- tsap-id
- PrintableString(SIZE (1..ub-tsap-id-length)) OPTIONAL
- },
- presentation [1] PSAPAddress
-}
-
-PSAPAddress ::= PresentationAddress
-
-DeliverableClass ::=
- MessageClass
- (WITH COMPONENTS {
- ...,
- priority ABSENT,
- -- The 'objects' component shall always be defaulted.
- -- objects ABSENT,
- -- A component with a DEFAULT clause cannot be ABSENT
- applies-only-to ABSENT
- })
-
-DefaultDeliveryControls ::=
- Controls
- (WITH COMPONENTS {
- ...,
-
- -- The 'restrict' component shall always be defaulted.
- -- restrict ABSENT,
- -- A component with a DEFAULT clause cannot be ABSENT
- permissible-security-context ABSENT
- })
-
-Redirections ::= SEQUENCE SIZE (1..ub-redirections) OF RecipientRedirection
-
-RecipientRedirection ::= SET {
- redirection-classes
- [0] SET SIZE (1..ub-redirection-classes) OF RedirectionClass OPTIONAL,
- recipient-assigned-alternate-recipient
- [1] RecipientAssignedAlternateRecipient OPTIONAL
-}
-
-RedirectionClass ::= MessageClass
-
-MessageClass ::= SET {
- content-types [0] ContentTypes OPTIONAL,
- maximum-content-length [1] ContentLength OPTIONAL,
- encoded-information-types-constraints
- [2] EncodedInformationTypesConstraints OPTIONAL,
- security-labels [3] SecurityContext OPTIONAL,
- priority [4] SET OF Priority OPTIONAL,
- objects
- [5] ENUMERATED {messages(0), reports(1), both(2), ...
- } DEFAULT both,
- applies-only-to [6] SEQUENCE OF Restriction OPTIONAL, -- Not considered in the case of Reports
- extensions
- [7] SET OF ExtensionField{{MessageClassExtensions}} DEFAULT {}
-}
-
-EncodedInformationTypesConstraints ::= SEQUENCE {
- unacceptable-eits [0] ExtendedEncodedInformationTypes OPTIONAL,
- acceptable-eits [1] ExtendedEncodedInformationTypes OPTIONAL,
- exclusively-acceptable-eits [2] ExtendedEncodedInformationTypes OPTIONAL
-}
-
-MessageClassExtensions EXTENSION ::= {PrivateExtensions, ...}
-
--- May contain private extensions and future standardised extensions
-RecipientAssignedAlternateRecipient ::=
- ORAddressAndOrDirectoryName
-
-RestrictedDelivery ::= SEQUENCE SIZE (1..ub-restrictions) OF Restriction
-
-Restriction ::= SET {
- permitted BOOLEAN DEFAULT TRUE,
- source-type
- BIT STRING {originated-by(0), redirected-by(1), dl-expanded-by(2)}
- DEFAULT {originated-by, redirected-by, dl-expanded-by},
- source-name ExactOrPattern OPTIONAL
-}
-
-ExactOrPattern ::= CHOICE {
- exact-match [0] ORName,
- pattern-match [1] ORName
-}
-
-RegistrationTypes ::= SEQUENCE {
- standard-parameters
- [0] BIT STRING {user-name(0), user-address(1), deliverable-class(2),
- default-delivery-controls(3), redirections(4),
- restricted-delivery(5)} OPTIONAL,
- extensions [1] SET OF EXTENSION.&id({RegisterExtensions}) OPTIONAL
-}
-
--- Message Submission Envelope
-MessageSubmissionEnvelope ::= SET {
- COMPONENTS OF PerMessageSubmissionFields,
- per-recipient-fields
- [1] SEQUENCE SIZE (1..ub-recipients) OF
- PerRecipientMessageSubmissionFields
-}
-
-PerMessageSubmissionFields ::= SET {
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- priority Priority DEFAULT normal,
- per-message-indicators PerMessageIndicators DEFAULT {},
- deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerMessageSubmissionExtensions}} DEFAULT {}
-}
-
-PerMessageSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | latest-delivery-time |
- originator-return-address | originator-certificate |
- content-confidentiality-algorithm-identifier |
- message-origin-authentication-check | message-security-label |
- proof-of-submission-request | content-correlator | dl-exempted-recipients |
- certificate-selectors | multiple-originator-certificates |
- forwarding-request -- for MS Abstract Service only -- | PrivateExtensions,
- ...}
-
-PerRecipientMessageSubmissionFields ::= SET {
- recipient-name RecipientName,
- originator-report-request [0] OriginatorReportRequest,
- explicit-conversion [1] ExplicitConversion OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerRecipientMessageSubmissionExtensions}}
- DEFAULT {}
-}
-
-PerRecipientMessageSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-forwarding-prohibited | physical-forwarding-address-request |
- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
- | physical-rendition-attributes | physical-delivery-report-request |
- message-token | content-integrity-check | proof-of-delivery-request |
- certificate-selectors-override | recipient-certificate |
- IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
-
--- Probe Submission Envelope
-ProbeSubmissionEnvelope ::= SET {
- COMPONENTS OF PerProbeSubmissionFields,
- per-recipient-fields
- [3] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeSubmissionFields
-}
-
-PerProbeSubmissionFields ::= SET {
- originator-name OriginatorName,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- content-type ContentType,
- content-identifier ContentIdentifier OPTIONAL,
- content-length [0] ContentLength OPTIONAL,
- per-message-indicators PerMessageIndicators DEFAULT {},
- extensions
- [2] SET OF ExtensionField{{PerProbeSubmissionExtensions}} DEFAULT {}
-}
-
-PerProbeSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- recipient-reassignment-prohibited | dl-expansion-prohibited |
- conversion-with-loss-prohibited | originator-certificate |
- message-security-label | content-correlator |
- probe-origin-authentication-check | PrivateExtensions, ...}
-
-PerRecipientProbeSubmissionFields ::= SET {
- recipient-name RecipientName,
- originator-report-request [0] OriginatorReportRequest,
- explicit-conversion [1] ExplicitConversion OPTIONAL,
- extensions
- [2] SET OF ExtensionField{{PerRecipientProbeSubmissionExtensions}}
- DEFAULT {}
-}
-
-PerRecipientProbeSubmissionExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- originator-requested-alternate-recipient | requested-delivery-method |
- physical-rendition-attributes | PrivateExtensions, ...}
-
--- Message Delivery Envelope
-MessageDeliveryEnvelope ::= SEQUENCE {
- message-delivery-identifier MessageDeliveryIdentifier,
- message-delivery-time MessageDeliveryTime,
- other-fields OtherMessageDeliveryFields
-}
-
-OtherMessageDeliveryFields ::= SET {
- content-type DeliveredContentType,
- originator-name DeliveredOriginatorName,
- original-encoded-information-types
- [1] OriginalEncodedInformationTypes OPTIONAL,
- priority Priority DEFAULT normal,
- delivery-flags [2] DeliveryFlags OPTIONAL,
- other-recipient-names [3] OtherRecipientNames OPTIONAL,
- this-recipient-name [4] ThisRecipientName,
- originally-intended-recipient-name
- [5] OriginallyIntendedRecipientName OPTIONAL,
- converted-encoded-information-types
- [6] ConvertedEncodedInformationTypes OPTIONAL,
- message-submission-time [7] MessageSubmissionTime,
- content-identifier [8] ContentIdentifier OPTIONAL,
- extensions
- [9] SET OF ExtensionField{{MessageDeliveryExtensions}} DEFAULT {}
-}
-
-MessageDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- conversion-with-loss-prohibited | requested-delivery-method |
- physical-forwarding-prohibited | physical-forwarding-address-request |
- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
- | physical-rendition-attributes | originator-return-address |
- physical-delivery-report-request | originator-certificate | message-token |
- content-confidentiality-algorithm-identifier | content-integrity-check |
- message-origin-authentication-check | message-security-label |
- proof-of-delivery-request | dl-exempted-recipients | certificate-selectors |
- certificate-selectors-override | multiple-originator-certificates |
- recipient-certificate | IPMPerRecipientEnvelopeExtensions |
- redirection-history | dl-expansion-history | trace-information |
- internal-trace-information | PrivateExtensions, ...}
-
--- Report Delivery Envelope
-ReportDeliveryEnvelope ::= SET {
- COMPONENTS OF PerReportDeliveryFields,
- per-recipient-fields
- SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportDeliveryFields
-}
-
-PerReportDeliveryFields ::= SET {
- subject-submission-identifier SubjectSubmissionIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- content-type ContentType OPTIONAL,
- original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
- extensions
- [1] SET OF ExtensionField{{ReportDeliveryExtensions}} DEFAULT {}
-}
-
-ReportDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- message-security-label | content-correlator | redirection-history |
- originator-and-DL-expansion-history | reporting-DL-name |
- reporting-MTA-certificate | report-origin-authentication-check |
- trace-information | internal-trace-information | reporting-MTA-name |
- PrivateExtensions, ...}
-
-PerRecipientReportDeliveryFields ::= SET {
- actual-recipient-name [0] ActualRecipientName,
- report-type [1] ReportType,
- converted-encoded-information-types
- ConvertedEncodedInformationTypes OPTIONAL,
- originally-intended-recipient-name
- [2] OriginallyIntendedRecipientName OPTIONAL,
- supplementary-information [3] SupplementaryInformation OPTIONAL,
- extensions
- [4] SET OF ExtensionField{{PerRecipientReportDeliveryExtensions}}
- DEFAULT {}
-}
-
-PerRecipientReportDeliveryExtensions EXTENSION ::=
- {-- May contain the following extensions, private extensions, and future standardised extensions,
- -- at most one instance of each extension type:
- redirection-history | physical-forwarding-address | recipient-certificate |
- proof-of-delivery | PrivateExtensions, ...}
-
-ReportType ::= CHOICE {
- delivery [0] DeliveryReport,
- non-delivery [1] NonDeliveryReport
-}
-
-DeliveryReport ::= SET {
- message-delivery-time [0] MessageDeliveryTime,
- type-of-MTS-user [1] TypeOfMTSUser DEFAULT public
-}
-
-NonDeliveryReport ::= SET {
- non-delivery-reason-code [0] NonDeliveryReasonCode,
- non-delivery-diagnostic-code [1] NonDeliveryDiagnosticCode OPTIONAL
-}
-
--- Envelope Fields
-OriginatorName ::= ORAddressAndOrDirectoryName
-
-DeliveredOriginatorName ::= ORAddressAndOptionalDirectoryName
-
-OriginalEncodedInformationTypes ::= EncodedInformationTypes
-
-ContentTypes ::= SET SIZE (1..ub-content-types) OF ContentType
-
-ContentType ::= CHOICE {
- built-in BuiltInContentType,
- extended ExtendedContentType
-}
-
-BuiltInContentType ::= [APPLICATION 6] INTEGER {
- unidentified(0),
- external(1), -- identified by the object-identifier of the EXTERNAL content
- interpersonal-messaging-1984(2), interpersonal-messaging-1988(22),
- edi-messaging(35), voice-messaging(40)}(0..ub-built-in-content-type)
-
-ExtendedContentType ::= RELATIVE-OID
-
-DeliveredContentType ::= CHOICE {
- built-in [0] BuiltInContentType,
- extended ExtendedContentType
-}
-
-ContentIdentifier ::=
- [APPLICATION 10] PrintableString(SIZE (1..ub-content-id-length))
-
-PerMessageIndicators ::= [APPLICATION 8] BIT STRING {
- disclosure-of-other-recipients(0), -- disclosure-of-other-recipients-requested 'one',
-
- -- disclosure-of-other-recipients-prohibited 'zero';
- -- ignored for Probe-submission
- implicit-conversion-prohibited(1), -- implicit-conversion-prohibited 'one',
-
- -- implicit-conversion-allowed 'zero'
- alternate-recipient-allowed(2), -- alternate-recipient-allowed 'one',
-
- -- alternate-recipient-prohibited 'zero'
- content-return-request(3), -- content-return-requested 'one',
-
- -- content-return-not-requested 'zero';
- -- ignored for Probe-submission
- reserved(4), -- bit reserved by MOTIS 1986
- bit-5(5),
- bit-6(6), -- notification type-1 : bit 5 'zero' and bit 6 'one'
-
- -- notification type-2 : bit 5 'one' and bit 6 'zero'
- -- notification type-3 : bit 5 'one' and bit 6 'one'
- -- the mapping between notification type 1, 2, 3
- -- and the content specific notification types are defined
- -- in relevant content specifications
- service-message(7) -- the message content is for service purposes;
-
-
--- it may be a notification related to a service message;
--- used only by bilateral agreement --}(SIZE (0..ub-bit-options))
-
-RecipientName ::= ORAddressAndOrDirectoryName
-
-OriginatorReportRequest ::= BIT STRING {report(3), non-delivery-report(4)
-
--- at most one bit shall be 'one':
--- report bit 'one' requests a 'report';
--- non-delivery-report bit 'one' requests a 'non-delivery-report';
--- both bits 'zero' requests 'no-report' --}(SIZE (0..ub-bit-options))
-
-ExplicitConversion ::= INTEGER {
- ia5-text-to-teletex(0),
- -- values 1 to 7 are no longer defined
- ia5-text-to-g3-facsimile(8), ia5-text-to-g4-class-1(9),
- ia5-text-to-videotex(10), teletex-to-ia5-text(11),
- teletex-to-g3-facsimile(12), teletex-to-g4-class-1(13),
- teletex-to-videotex(14),
- -- value 15 is no longer defined
- videotex-to-ia5-text(16), videotex-to-teletex(17)}(0..ub-integer-options)
-
-DeferredDeliveryTime ::= Time
-
-Priority ::= [APPLICATION 7] ENUMERATED {normal(0), non-urgent(1), urgent(2)}
-
-ContentLength ::= INTEGER(0..ub-content-length)
-
-MessageDeliveryIdentifier ::= MTSIdentifier
-
-MessageDeliveryTime ::= Time
-
-DeliveryFlags ::= BIT STRING {
- implicit-conversion-prohibited(1) -- implicit-conversion-prohibited 'one',
-
- -- implicit-conversion-allowed 'zero' --}(SIZE (0..ub-bit-options))
-
-OtherRecipientNames ::= SEQUENCE SIZE (1..ub-recipients) OF OtherRecipientName
-
-OtherRecipientName ::= ORAddressAndOptionalDirectoryName
-
-ThisRecipientName ::= ORAddressAndOptionalDirectoryName
-
-OriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
-
-ConvertedEncodedInformationTypes ::= EncodedInformationTypes
-
-SubjectSubmissionIdentifier ::= MTSIdentifier
-
-ActualRecipientName ::= ORAddressAndOrDirectoryName
-
-TypeOfMTSUser ::= INTEGER {
- public(0), private(1), ms(2), dl(3), pdau(4), physical-recipient(5), other(6)
-}(0..ub-mts-user-types)
-
-NonDeliveryReasonCode ::= INTEGER {
- transfer-failure(0), unable-to-transfer(1), conversion-not-performed(2),
- physical-rendition-not-performed(3), physical-delivery-not-performed(4),
- restricted-delivery(5), directory-operation-unsuccessful(6),
- deferred-delivery-not-performed(7), transfer-failure-for-security-reason(8)
-}(0..ub-reason-codes)
-
-NonDeliveryDiagnosticCode ::= INTEGER {
- unrecognised-OR-name(0), ambiguous-OR-name(1), mts-congestion(2),
- loop-detected(3), recipient-unavailable(4), maximum-time-expired(5),
- encoded-information-types-unsupported(6), content-too-long(7),
- conversion-impractical(8), implicit-conversion-prohibited(9),
- implicit-conversion-not-subscribed(10), invalid-arguments(11),
- content-syntax-error(12), size-constraint-violation(13),
- protocol-violation(14), content-type-not-supported(15),
- too-many-recipients(16), no-bilateral-agreement(17),
- unsupported-critical-function(18), conversion-with-loss-prohibited(19),
- line-too-long(20), page-split(21), pictorial-symbol-loss(22),
- punctuation-symbol-loss(23), alphabetic-character-loss(24),
- multiple-information-loss(25), recipient-reassignment-prohibited(26),
- redirection-loop-detected(27), dl-expansion-prohibited(28),
- no-dl-submit-permission(29), dl-expansion-failure(30),
- physical-rendition-attributes-not-supported(31),
- undeliverable-mail-physical-delivery-address-incorrect(32),
- undeliverable-mail-physical-delivery-office-incorrect-or-invalid(33),
- undeliverable-mail-physical-delivery-address-incomplete(34),
- undeliverable-mail-recipient-unknown(35),
- undeliverable-mail-recipient-deceased(36),
- undeliverable-mail-organization-expired(37),
- undeliverable-mail-recipient-refused-to-accept(38),
- undeliverable-mail-recipient-did-not-claim(39),
- undeliverable-mail-recipient-changed-address-permanently(40),
- undeliverable-mail-recipient-changed-address-temporarily(41),
- undeliverable-mail-recipient-changed-temporary-address(42),
- undeliverable-mail-new-address-unknown(43),
- undeliverable-mail-recipient-did-not-want-forwarding(44),
- undeliverable-mail-originator-prohibited-forwarding(45),
- secure-messaging-error(46), unable-to-downgrade(47),
- unable-to-complete-transfer(48), transfer-attempts-limit-reached(49),
- incorrect-notification-type(50),
- dl-expansion-prohibited-by-security-policy(51),
- forbidden-alternate-recipient(52), security-policy-violation(53),
- security-services-refusal(54), unauthorised-dl-member(55),
- unauthorised-dl-name(56),
- unauthorised-originally-intended-recipient-name(57),
- unauthorised-originator-name(58), unauthorised-recipient-name(59),
- unreliable-system(60), authentication-failure-on-subject-message(61),
- decryption-failed(62), decryption-key-unobtainable(63),
- double-envelope-creation-failure(64),
- double-enveloping-message-restoring-failure(65),
- failure-of-proof-of-message(66), integrity-failure-on-subject-message(67),
- invalid-security-label(68), key-failure(69), mandatory-parameter-absence(70),
- operation-security-failure(71), repudiation-failure-of-message(72),
- security-context-failure(73), token-decryption-failed(74), token-error(75),
- unknown-security-label(76), unsupported-algorithm-identifier(77),
- unsupported-security-policy(78)}(0..ub-diagnostic-codes)
-
-SupplementaryInformation ::=
- PrintableString(SIZE (1..ub-supplementary-info-length))
-
--- Extension Fields
-EXTENSION ::= CLASS {
- &id ExtensionType UNIQUE,
- &Type OPTIONAL,
- &absent &Type OPTIONAL,
- &recommended Criticality DEFAULT {}
-}
-WITH SYNTAX {
- [&Type
- [IF ABSENT &absent],]
- [RECOMMENDED CRITICALITY &recommended,]
- IDENTIFIED BY &id
-}
-
-ExtensionType ::= CHOICE {
- standard-extension [0] INTEGER(0..ub-extension-types),
- private-extension [3] OBJECT IDENTIFIER
-}
-
-Criticality ::= BIT STRING {for-submission(0), for-transfer(1), for-delivery(2)
-}(SIZE (0..ub-bit-options)) -- critical 'one', non-critical 'zero'
-
-
-ExtensionField{EXTENSION:ChosenFrom} ::= SEQUENCE {
- type EXTENSION.&id({ChosenFrom}),
- criticality [1] Criticality DEFAULT {},
- value [2] EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
-}
-
-PrivateExtensions EXTENSION ::=
- {-- Any value shall be relayed and delivered if not Critical (see Table 27)
- -- except those values whose semantics the MTA obeys which are defined to be removed when obeyed.
- -- Shall be IDENTIFIED BY ExtensionType.private-extension --...}
-
-recipient-reassignment-prohibited EXTENSION ::= {
- RecipientReassignmentProhibited
- IF ABSENT recipient-reassignment-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:1
-}
-
-RecipientReassignmentProhibited ::= ENUMERATED {
- recipient-reassignment-allowed(0), recipient-reassignment-prohibited(1)
-}
-
-originator-requested-alternate-recipient EXTENSION ::= {
- OriginatorRequestedAlternateRecipient,
- RECOMMENDED CRITICALITY {for-submission},
- IDENTIFIED BY standard-extension:2
-}
-
-OriginatorRequestedAlternateRecipient ::= ORAddressAndOrDirectoryName
-
--- OriginatorRequestedAlternateRecipient as defined here differs from the field of the same name
--- defined in Figure 4, since on submission the OR-address need not be present, but on
--- transfer the OR-address must be present.
-dl-expansion-prohibited EXTENSION ::= {
- DLExpansionProhibited
- IF ABSENT dl-expansion-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:3
-}
-
-DLExpansionProhibited ::= ENUMERATED {
- dl-expansion-allowed(0), dl-expansion-prohibited(1)}
-
-conversion-with-loss-prohibited EXTENSION ::= {
- ConversionWithLossProhibited
- IF ABSENT conversion-with-loss-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:4
-}
-
-ConversionWithLossProhibited ::= ENUMERATED {
- conversion-with-loss-allowed(0), conversion-with-loss-prohibited(1)
-}
-
-latest-delivery-time EXTENSION ::= {
- LatestDeliveryTime,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:5
-}
-
-LatestDeliveryTime ::= Time
-
-requested-delivery-method EXTENSION ::= {
- RequestedDeliveryMethod
- IF ABSENT {any-delivery-method},
- IDENTIFIED BY standard-extension:6
-}
-
-RequestedDeliveryMethod ::=
- SEQUENCE OF INTEGER { -- each different in order of preference,
- -- most preferred first
- any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
- g4-facsimile-delivery(6), ia5-terminal-delivery(7), videotex-delivery(8),
- telephone-delivery(9)}(0..ub-integer-options)
-
-physical-forwarding-prohibited EXTENSION ::= {
- PhysicalForwardingProhibited
- IF ABSENT physical-forwarding-allowed,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:7
-}
-
-PhysicalForwardingProhibited ::= ENUMERATED {
- physical-forwarding-allowed(0), physical-forwarding-prohibited(1)}
-
-physical-forwarding-address-request EXTENSION ::= {
- PhysicalForwardingAddressRequest
- IF ABSENT physical-forwarding-address-not-requested,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:8
-}
-
-PhysicalForwardingAddressRequest ::= ENUMERATED {
- physical-forwarding-address-not-requested(0),
- physical-forwarding-address-requested(1)}
-
-physical-delivery-modes EXTENSION ::= {
- PhysicalDeliveryModes
- IF ABSENT {ordinary-mail},
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:9
-}
-
-PhysicalDeliveryModes ::= BIT STRING {
- ordinary-mail(0), special-delivery(1), express-mail(2),
- counter-collection(3), counter-collection-with-telephone-advice(4),
- counter-collection-with-telex-advice(5),
- counter-collection-with-teletex-advice(6), bureau-fax-delivery(7)
-
--- bits 0 to 6 are mutually exclusive
--- bit 7 can be set independently of any of bits 0 to 6 --}
-(SIZE (0..ub-bit-options))
-
-registered-mail-type EXTENSION ::= {
- RegisteredMailType
- IF ABSENT non-registered-mail,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:10
-}
-
-RegisteredMailType ::= INTEGER {
- non-registered-mail(0), registered-mail(1),
- registered-mail-to-addressee-in-person(2)}(0..ub-integer-options)
-
-recipient-number-for-advice EXTENSION ::= {
- RecipientNumberForAdvice,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:11
-}
-
-RecipientNumberForAdvice ::=
- TeletexString(SIZE (1..ub-recipient-number-for-advice-length))
-
-physical-rendition-attributes EXTENSION ::= {
- PhysicalRenditionAttributes
- IF ABSENT id-att-physicalRendition-basic,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:12
-}
-
-PhysicalRenditionAttributes ::= OBJECT IDENTIFIER
-
-originator-return-address EXTENSION ::= {
- OriginatorReturnAddress,
- IDENTIFIED BY standard-extension:13
-}
-
-OriginatorReturnAddress ::= ORAddress
-
-physical-delivery-report-request EXTENSION ::= {
- PhysicalDeliveryReportRequest
- IF ABSENT return-of-undeliverable-mail-by-PDS,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:14
-}
-
-PhysicalDeliveryReportRequest ::= INTEGER {
- return-of-undeliverable-mail-by-PDS(0), return-of-notification-by-PDS(1),
- return-of-notification-by-MHS(2), return-of-notification-by-MHS-and-PDS(3)
-}(0..ub-integer-options)
-
-originator-certificate EXTENSION ::= {
- OriginatorCertificate,
- IDENTIFIED BY standard-extension:15
-}
-
-OriginatorCertificate ::= Certificates
-
-message-token EXTENSION ::= {
- MessageToken,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:16
-}
-
-MessageToken ::= Token
-
-content-confidentiality-algorithm-identifier EXTENSION ::= {
- ContentConfidentialityAlgorithmIdentifier,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:17
-}
-
-ContentConfidentialityAlgorithmIdentifier ::= AlgorithmIdentifier
-
-content-integrity-check EXTENSION ::= {
- ContentIntegrityCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:18
-}
-
-ContentIntegrityCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ContentIntegrityAlgorithmIdentifier OPTIONAL,
- content Content}}
-
-ContentIntegrityAlgorithmIdentifier ::= AlgorithmIdentifier
-
-message-origin-authentication-check EXTENSION ::= {
- MessageOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:19
-}
-
-MessageOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- MessageOriginAuthenticationAlgorithmIdentifier,
- content Content,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL}}
-
-MessageOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-message-security-label EXTENSION ::= {
- MessageSecurityLabel,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:20
-}
-
-MessageSecurityLabel ::= SecurityLabel
-
-proof-of-submission-request EXTENSION ::= {
- ProofOfSubmissionRequest
- IF ABSENT proof-of-submission-not-requested,
- RECOMMENDED CRITICALITY {for-submission},
- IDENTIFIED BY standard-extension:21
-}
-
-ProofOfSubmissionRequest ::= ENUMERATED {
- proof-of-submission-not-requested(0), proof-of-submission-requested(1)
-}
-
-proof-of-delivery-request EXTENSION ::= {
- ProofOfDeliveryRequest
- IF ABSENT proof-of-delivery-not-requested,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:22
-}
-
-ProofOfDeliveryRequest ::= ENUMERATED {
- proof-of-delivery-not-requested(0), proof-of-delivery-requested(1)}
-
-content-correlator EXTENSION ::= {
- ContentCorrelator,
- IDENTIFIED BY standard-extension:23
-}
-
-ContentCorrelator ::= CHOICE {ia5text IA5String,
- octets OCTET STRING
-}
-
-probe-origin-authentication-check EXTENSION ::= {
- ProbeOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:24
-}
-
-ProbeOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProbeOriginAuthenticationAlgorithmIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL}}
-
-ProbeOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-redirection-history EXTENSION ::= {
- RedirectionHistory,
- IDENTIFIED BY standard-extension:25
-}
-
-RedirectionHistory ::= SEQUENCE SIZE (1..ub-redirections) OF Redirection
-
-Redirection ::= SEQUENCE {
- intended-recipient-name IntendedRecipientName,
- redirection-reason RedirectionReason
-}
-
-IntendedRecipientName ::= SEQUENCE {
- intended-recipient ORAddressAndOptionalDirectoryName,
- redirection-time Time
-}
-
-RedirectionReason ::= ENUMERATED {
- recipient-assigned-alternate-recipient(0),
- originator-requested-alternate-recipient(1),
- recipient-MD-assigned-alternate-recipient(2),
- -- The following values may not be supported by implementations of earlier versions of this Service Definition
- directory-look-up(3), alias(4), ...
- }
-
-dl-expansion-history EXTENSION ::= {
- DLExpansionHistory,
- IDENTIFIED BY standard-extension:26
-}
-
-DLExpansionHistory ::= SEQUENCE SIZE (1..ub-dl-expansions) OF DLExpansion
-
-DLExpansion ::= SEQUENCE {
- dl ORAddressAndOptionalDirectoryName,
- dl-expansion-time Time
-}
-
-physical-forwarding-address EXTENSION ::= {
- PhysicalForwardingAddress,
- IDENTIFIED BY standard-extension:27
-}
-
-PhysicalForwardingAddress ::= ORAddressAndOptionalDirectoryName
-
-recipient-certificate EXTENSION ::= {
- RecipientCertificate,
- IDENTIFIED BY standard-extension:28
-}
-
-proof-of-delivery EXTENSION ::= {
- ProofOfDelivery,
- IDENTIFIED BY standard-extension:29
-}
-
-originator-and-DL-expansion-history EXTENSION ::= {
- OriginatorAndDLExpansionHistory,
- IDENTIFIED BY standard-extension:30
-}
-
-OriginatorAndDLExpansionHistory ::=
- SEQUENCE SIZE (2..ub-orig-and-dl-expansions) OF OriginatorAndDLExpansion
-
-OriginatorAndDLExpansion ::= SEQUENCE {
- originator-or-dl-name ORAddressAndOptionalDirectoryName,
- origination-or-expansion-time Time
-}
-
-reporting-DL-name EXTENSION ::= {
- ReportingDLName,
- IDENTIFIED BY standard-extension:31
-}
-
-ReportingDLName ::= ORAddressAndOptionalDirectoryName
-
-reporting-MTA-certificate EXTENSION ::= {
- ReportingMTACertificate,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:32
-}
-
-ReportingMTACertificate ::= Certificates
-
-report-origin-authentication-check EXTENSION ::= {
- ReportOriginAuthenticationCheck,
- RECOMMENDED CRITICALITY {for-delivery},
- IDENTIFIED BY standard-extension:33
-}
-
-ReportOriginAuthenticationCheck ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ReportOriginAuthenticationAlgorithmIdentifier,
- content-identifier ContentIdentifier OPTIONAL,
- message-security-label MessageSecurityLabel OPTIONAL,
- per-recipient
- SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportFields
- }}
-
-ReportOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
-
-PerRecipientReportFields ::= SEQUENCE {
- actual-recipient-name ActualRecipientName,
- originally-intended-recipient-name OriginallyIntendedRecipientName OPTIONAL,
- report-type
- CHOICE {delivery [0] PerRecipientDeliveryReportFields,
- non-delivery [1] PerRecipientNonDeliveryReportFields}
-}
-
-PerRecipientDeliveryReportFields ::= SEQUENCE {
- message-delivery-time MessageDeliveryTime,
- type-of-MTS-user TypeOfMTSUser,
- recipient-certificate [0] RecipientCertificate OPTIONAL,
- proof-of-delivery [1] ProofOfDelivery OPTIONAL
-}
-
-PerRecipientNonDeliveryReportFields ::= SEQUENCE {
- non-delivery-reason-code NonDeliveryReasonCode,
- non-delivery-diagnostic-code NonDeliveryDiagnosticCode OPTIONAL
-}
-
-originating-MTA-certificate EXTENSION ::= {
- OriginatingMTACertificate,
- IDENTIFIED BY standard-extension:34
-}
-
-OriginatingMTACertificate ::= Certificates
-
-proof-of-submission EXTENSION ::= {
- ProofOfSubmission,
- IDENTIFIED BY standard-extension:35
-}
-
-ProofOfSubmission ::=
- SIGNATURE
- {SEQUENCE {algorithm-identifier
- ProofOfSubmissionAlgorithmIdentifier,
- message-submission-envelope MessageSubmissionEnvelope,
- content Content,
- message-submission-identifier MessageSubmissionIdentifier,
- message-submission-time MessageSubmissionTime}}
-
-ProofOfSubmissionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-reporting-MTA-name EXTENSION ::= {
- ReportingMTAName,
- IDENTIFIED BY standard-extension:39
-}
-
-ReportingMTAName ::= SEQUENCE {
- domain GlobalDomainIdentifier,
- mta-name MTAName,
- mta-directory-name [0] Name OPTIONAL
-}
-
-multiple-originator-certificates EXTENSION ::= {
- ExtendedCertificates,
- IDENTIFIED BY standard-extension:40
-}
-
-ExtendedCertificates ::= SET SIZE (1..ub-certificates) OF ExtendedCertificate
-
-ExtendedCertificate ::= CHOICE {
- directory-entry [0] Name, -- Name of a Directory entry where the certificate can be found
- certificate [1] Certificates
-}
-
-dl-exempted-recipients EXTENSION ::= {
- DLExemptedRecipients,
- IDENTIFIED BY standard-extension:42
-}
-
-DLExemptedRecipients ::= SET OF ORAddressAndOrDirectoryName
-
-certificate-selectors EXTENSION ::= {
- CertificateSelectors,
- IDENTIFIED BY standard-extension:45
-}
-
-CertificateSelectors ::= SET {
- encryption-recipient [0] CertificateAssertion OPTIONAL,
- encryption-originator [1] CertificateAssertion OPTIONAL,
- content-integrity-check [2] CertificateAssertion OPTIONAL,
- token-signature [3] CertificateAssertion OPTIONAL,
- message-origin-authentication [4] CertificateAssertion OPTIONAL
-}
-
-certificate-selectors-override EXTENSION ::= {
- CertificateSelectors
- (WITH COMPONENTS {
- ...,
- message-origin-authentication ABSENT
- }),
- IDENTIFIED BY standard-extension:46
-}
-
--- Some standard-extensions are defined elsewhere:
--- 36 (forwarding-request) in ITU-T Rec. X.413 | ISO/IEC 10021-5;
--- 37 (trace-information), and 38 (internal-trace-information) in Figure 4;
--- 41 (blind-copy-recipients), 43 (body-part-encryption-token), and 44 (forwarded-content-token) in
--- ITU-T Rec. X.420 | ISO/IEC 10021-7
--- Common Parameter Types
-Content ::=
- OCTET
- STRING -- when the content-type has the integer value external, the value of the
-
--- content octet string is the ASN.1 encoding of the external-content;
--- an external-content is a data type EXTERNAL
-MTSIdentifier ::= [APPLICATION 4] SEQUENCE {
- global-domain-identifier GlobalDomainIdentifier,
- local-identifier LocalIdentifier
-}
-
-LocalIdentifier ::= IA5String(SIZE (1..ub-local-id-length))
-
-GlobalDomainIdentifier ::= [APPLICATION 3] SEQUENCE {
- country-name CountryName,
- administration-domain-name AdministrationDomainName,
- private-domain-identifier PrivateDomainIdentifier OPTIONAL
-}
-
-PrivateDomainIdentifier ::= CHOICE {
- numeric NumericString(SIZE (1..ub-domain-name-length)),
- printable PrintableString(SIZE (1..ub-domain-name-length))
-}
-
-MTAName ::= IA5String(SIZE (1..ub-mta-name-length))
-
-Time ::= UTCTime
-
--- OR Names
-ORAddressAndOrDirectoryName ::= ORName
-
-ORAddressAndOptionalDirectoryName ::= ORName
-
-ORName ::= [APPLICATION 0] SEQUENCE {
- -- address --COMPONENTS OF ORAddress,
- directory-name [0] Name OPTIONAL
-}
-
-ORAddress ::= SEQUENCE {
- built-in-standard-attributes BuiltInStandardAttributes,
- built-in-domain-defined-attributes BuiltInDomainDefinedAttributes OPTIONAL,
- -- see also teletex-domain-defined-attributes
- extension-attributes ExtensionAttributes OPTIONAL
-}
-
--- The OR-address is semantically absent from the OR-name if the built-in-standard-attribute
--- sequence is empty and the built-in-domain-defined-attributes and extension-attributes are both omitted.
--- Built-in Standard Attributes
-BuiltInStandardAttributes ::= SEQUENCE {
- country-name CountryName OPTIONAL,
- administration-domain-name AdministrationDomainName OPTIONAL,
- network-address [0] NetworkAddress OPTIONAL,
- -- see also extended-network-address
- terminal-identifier [1] TerminalIdentifier OPTIONAL,
- private-domain-name [2] PrivateDomainName OPTIONAL,
- organization-name [3] OrganizationName OPTIONAL,
- -- see also teletex-organization-name
- numeric-user-identifier [4] NumericUserIdentifier OPTIONAL,
- personal-name [5] PersonalName OPTIONAL,
- -- see also teletex-personal-name
- organizational-unit-names [6] OrganizationalUnitNames OPTIONAL
- -- see also teletex-organizational-unit-names
-}
-
-CountryName ::= [APPLICATION 1] CHOICE {
- x121-dcc-code NumericString(SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length))
-}
-
-AdministrationDomainName ::= [APPLICATION 2] CHOICE {
- numeric NumericString(SIZE (0..ub-domain-name-length)),
- printable PrintableString(SIZE (0..ub-domain-name-length))
-}
-
-NetworkAddress ::= X121Address
-
--- see also extended-network-address
-X121Address ::= NumericString(SIZE (1..ub-x121-address-length))
-
-TerminalIdentifier ::= PrintableString(SIZE (1..ub-terminal-id-length))
-
-PrivateDomainName ::= CHOICE {
- numeric NumericString(SIZE (1..ub-domain-name-length)),
- printable PrintableString(SIZE (1..ub-domain-name-length))
-}
-
-OrganizationName ::= PrintableString(SIZE (1..ub-organization-name-length))
-
--- see also teletex-organization-name
-NumericUserIdentifier ::= NumericString(SIZE (1..ub-numeric-user-id-length))
-
-PersonalName ::= SET {
- surname [0] PrintableString(SIZE (1..ub-surname-length)),
- given-name
- [1] PrintableString(SIZE (1..ub-given-name-length)) OPTIONAL,
- initials
- [2] PrintableString(SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier
- [3] PrintableString(SIZE (1..ub-generation-qualifier-length)) OPTIONAL
-}
-
--- see also teletex-personal-name
-OrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF OrganizationalUnitName
-
--- see also teletex-organizational-unit-names
-OrganizationalUnitName ::=
- PrintableString(SIZE (1..ub-organizational-unit-name-length))
-
--- Built-in Domain-defined Attributes
-BuiltInDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- BuiltInDomainDefinedAttribute
-
-BuiltInDomainDefinedAttribute ::= SEQUENCE {
- type PrintableString(SIZE (1..ub-domain-defined-attribute-type-length)),
- value PrintableString(SIZE (1..ub-domain-defined-attribute-value-length))
-}
-
--- Extension Attributes
-ExtensionAttributes ::=
- SET SIZE (1..ub-extension-attributes) OF ExtensionAttribute
-
-ExtensionAttribute ::= SEQUENCE {
- extension-attribute-type
- [0] EXTENSION-ATTRIBUTE.&id({ExtensionAttributeTable}),
- extension-attribute-value
- [1] EXTENSION-ATTRIBUTE.&Type
- ({ExtensionAttributeTable}{@extension-attribute-type})
-}
-
-EXTENSION-ATTRIBUTE ::= CLASS {
- &id INTEGER(0..ub-extension-attributes) UNIQUE,
- &Type
-}WITH SYNTAX {&Type
- IDENTIFIED BY &id
-}
-
-ExtensionAttributeTable EXTENSION-ATTRIBUTE ::=
- {common-name | teletex-common-name | universal-common-name |
- teletex-organization-name | universal-organization-name |
- teletex-personal-name | universal-personal-name |
- teletex-organizational-unit-names | universal-organizational-unit-names |
- teletex-domain-defined-attributes | universal-domain-defined-attributes |
- pds-name | physical-delivery-country-name | postal-code |
- physical-delivery-office-name | universal-physical-delivery-office-name |
- physical-delivery-office-number | universal-physical-delivery-office-number
- | extension-OR-address-components |
- universal-extension-OR-address-components | physical-delivery-personal-name
- | universal-physical-delivery-personal-name |
- physical-delivery-organization-name |
- universal-physical-delivery-organization-name |
- extension-physical-delivery-address-components |
- universal-extension-physical-delivery-address-components |
- unformatted-postal-address | universal-unformatted-postal-address |
- street-address | universal-street-address | post-office-box-address |
- universal-post-office-box-address | poste-restante-address |
- universal-poste-restante-address | unique-postal-name |
- universal-unique-postal-name | local-postal-attributes |
- universal-local-postal-attributes | extended-network-address | terminal-type
- }
-
--- Extension Standard Attributes
-common-name EXTENSION-ATTRIBUTE ::= {CommonName
- IDENTIFIED BY 1
-}
-
-CommonName ::= PrintableString(SIZE (1..ub-common-name-length))
-
-teletex-common-name EXTENSION-ATTRIBUTE ::= {TeletexCommonName
- IDENTIFIED BY 2
-}
-
-TeletexCommonName ::= TeletexString(SIZE (1..ub-common-name-length))
-
-universal-common-name EXTENSION-ATTRIBUTE ::= {
- UniversalCommonName
- IDENTIFIED BY 24
-}
-
-UniversalCommonName ::= UniversalOrBMPString{ub-common-name-length}
-
-teletex-organization-name EXTENSION-ATTRIBUTE ::= {
- TeletexOrganizationName
- IDENTIFIED BY 3
-}
-
-TeletexOrganizationName ::=
- TeletexString(SIZE (1..ub-organization-name-length))
-
-universal-organization-name EXTENSION-ATTRIBUTE ::= {
- UniversalOrganizationName
- IDENTIFIED BY 25
-}
-
-UniversalOrganizationName ::= UniversalOrBMPString{ub-organization-name-length}
-
-teletex-personal-name EXTENSION-ATTRIBUTE ::= {
- TeletexPersonalName
- IDENTIFIED BY 4
-}
-
-TeletexPersonalName ::= SET {
- surname [0] TeletexString(SIZE (1..ub-surname-length)),
- given-name
- [1] TeletexString(SIZE (1..ub-given-name-length)) OPTIONAL,
- initials
- [2] TeletexString(SIZE (1..ub-initials-length)) OPTIONAL,
- generation-qualifier
- [3] TeletexString(SIZE (1..ub-generation-qualifier-length)) OPTIONAL
-}
-
-universal-personal-name EXTENSION-ATTRIBUTE ::= {
- UniversalPersonalName
- IDENTIFIED BY 26
-}
-
-UniversalPersonalName ::= SET {
- surname [0] UniversalOrBMPString{ub-universal-surname-length},
- -- If a language is specified within surname, then that language applies to each of the following
- -- optional components unless the component specifies another language.
- given-name
- [1] UniversalOrBMPString{ub-universal-given-name-length} OPTIONAL,
- initials
- [2] UniversalOrBMPString{ub-universal-initials-length} OPTIONAL,
- generation-qualifier
- [3] UniversalOrBMPString{ub-universal-generation-qualifier-length}
- OPTIONAL
-}
-
-teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
- TeletexOrganizationalUnitNames
- IDENTIFIED BY 5
-}
-
-TeletexOrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF TeletexOrganizationalUnitName
-
-TeletexOrganizationalUnitName ::=
- TeletexString(SIZE (1..ub-organizational-unit-name-length))
-
-universal-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
- UniversalOrganizationalUnitNames
- IDENTIFIED BY 27
-}
-
-UniversalOrganizationalUnitNames ::=
- SEQUENCE SIZE (1..ub-organizational-units) OF UniversalOrganizationalUnitName
-
--- If a unit name specifies a language, then that language applies to subordinate unit names unless
--- the subordinate specifies another language.
-UniversalOrganizationalUnitName ::=
- UniversalOrBMPString{ub-organizational-unit-name-length}
-
-UniversalOrBMPString{INTEGER:ub-string-length} ::= SET {
- character-encoding
- CHOICE {two-octets BMPString(SIZE (1..ub-string-length)),
- four-octets UniversalString(SIZE (1..ub-string-length))},
- iso-639-language-code PrintableString(SIZE (2 | 5)) OPTIONAL
-}
-
-pds-name EXTENSION-ATTRIBUTE ::= {PDSName
- IDENTIFIED BY 7
-}
-
-PDSName ::= PrintableString(SIZE (1..ub-pds-name-length))
-
-physical-delivery-country-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryCountryName
- IDENTIFIED BY 8
-}
-
-PhysicalDeliveryCountryName ::= CHOICE {
- x121-dcc-code NumericString(SIZE (ub-country-name-numeric-length)),
- iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length))
-}
-
-postal-code EXTENSION-ATTRIBUTE ::= {PostalCode
- IDENTIFIED BY 9
-}
-
-PostalCode ::= CHOICE {
- numeric-code NumericString(SIZE (1..ub-postal-code-length)),
- printable-code PrintableString(SIZE (1..ub-postal-code-length))
-}
-
-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOfficeName
- IDENTIFIED BY 10
-}
-
-PhysicalDeliveryOfficeName ::= PDSParameter
-
-universal-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryOfficeName
- IDENTIFIED BY 29
-}
-
-UniversalPhysicalDeliveryOfficeName ::= UniversalPDSParameter
-
-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOfficeNumber
- IDENTIFIED BY 11
-}
-
-PhysicalDeliveryOfficeNumber ::= PDSParameter
-
-universal-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryOfficeNumber
- IDENTIFIED BY 30
-}
-
-UniversalPhysicalDeliveryOfficeNumber ::= UniversalPDSParameter
-
-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
- ExtensionORAddressComponents
- IDENTIFIED BY 12
-}
-
-ExtensionORAddressComponents ::= PDSParameter
-
-universal-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
- UniversalExtensionORAddressComponents
- IDENTIFIED BY 31
-}
-
-UniversalExtensionORAddressComponents ::= UniversalPDSParameter
-
-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryPersonalName
- IDENTIFIED BY 13
-}
-
-PhysicalDeliveryPersonalName ::= PDSParameter
-
-universal-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
- UniversalPhysicalDeliveryPersonalName
- IDENTIFIED BY 32
-}
-
-UniversalPhysicalDeliveryPersonalName ::= UniversalPDSParameter
-
-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::= {
- PhysicalDeliveryOrganizationName
- IDENTIFIED BY 14
-}
-
-PhysicalDeliveryOrganizationName ::= PDSParameter
-
-universal-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::=
-{UniversalPhysicalDeliveryOrganizationName
- IDENTIFIED BY 33
-}
-
-UniversalPhysicalDeliveryOrganizationName ::= UniversalPDSParameter
-
-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::=
-{ExtensionPhysicalDeliveryAddressComponents
- IDENTIFIED BY 15
-}
-
-ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
-
-universal-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE
- ::= {UniversalExtensionPhysicalDeliveryAddressComponents
- IDENTIFIED BY 34
-}
-
-UniversalExtensionPhysicalDeliveryAddressComponents ::= UniversalPDSParameter
-
-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
- UnformattedPostalAddress
- IDENTIFIED BY 16
-}
-
-UnformattedPostalAddress ::= SET {
- printable-address
- SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
- PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string
- TeletexString(SIZE (1..ub-unformatted-address-length)) OPTIONAL
-}
-
-universal-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
- UniversalUnformattedPostalAddress
- IDENTIFIED BY 35
-}
-
-UniversalUnformattedPostalAddress ::=
- UniversalOrBMPString{ub-unformatted-address-length}
-
-street-address EXTENSION-ATTRIBUTE ::= {StreetAddress
- IDENTIFIED BY 17
-}
-
-StreetAddress ::= PDSParameter
-
-universal-street-address EXTENSION-ATTRIBUTE ::= {
- UniversalStreetAddress
- IDENTIFIED BY 36
-}
-
-UniversalStreetAddress ::= UniversalPDSParameter
-
-post-office-box-address EXTENSION-ATTRIBUTE ::= {
- PostOfficeBoxAddress
- IDENTIFIED BY 18
-}
-
-PostOfficeBoxAddress ::= PDSParameter
-
-universal-post-office-box-address EXTENSION-ATTRIBUTE ::= {
- UniversalPostOfficeBoxAddress
- IDENTIFIED BY 37
-}
-
-UniversalPostOfficeBoxAddress ::= UniversalPDSParameter
-
-poste-restante-address EXTENSION-ATTRIBUTE ::= {
- PosteRestanteAddress
- IDENTIFIED BY 19
-}
-
-PosteRestanteAddress ::= PDSParameter
-
-universal-poste-restante-address EXTENSION-ATTRIBUTE ::= {
- UniversalPosteRestanteAddress
- IDENTIFIED BY 38
-}
-
-UniversalPosteRestanteAddress ::= UniversalPDSParameter
-
-unique-postal-name EXTENSION-ATTRIBUTE ::= {UniquePostalName
- IDENTIFIED BY 20
-}
-
-UniquePostalName ::= PDSParameter
-
-universal-unique-postal-name EXTENSION-ATTRIBUTE ::= {
- UniversalUniquePostalName
- IDENTIFIED BY 39
-}
-
-UniversalUniquePostalName ::= UniversalPDSParameter
-
-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
- LocalPostalAttributes
- IDENTIFIED BY 21
-}
-
-LocalPostalAttributes ::= PDSParameter
-
-universal-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
- UniversalLocalPostalAttributes
- IDENTIFIED BY 40
-}
-
-UniversalLocalPostalAttributes ::= UniversalPDSParameter
-
-PDSParameter ::= SET {
- printable-string PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL,
- teletex-string TeletexString(SIZE (1..ub-pds-parameter-length)) OPTIONAL
-}
-
-UniversalPDSParameter ::= UniversalOrBMPString{ub-pds-parameter-length}
-
-extended-network-address EXTENSION-ATTRIBUTE ::= {
- ExtendedNetworkAddress
- IDENTIFIED BY 22
-}
-
-ExtendedNetworkAddress ::= CHOICE {
- e163-4-address
- SEQUENCE {number
- [0] NumericString(SIZE (1..ub-e163-4-number-length)),
- sub-address
- [1] NumericString(SIZE (1..ub-e163-4-sub-address-length))
- OPTIONAL},
- psap-address [0] PresentationAddress
-}
-
-terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType
- IDENTIFIED BY 23
-}
-
-TerminalType ::= INTEGER {
- telex(3), teletex(4), g3-facsimile(5), g4-facsimile(6), ia5-terminal(7),
- videotex(8)}(0..ub-integer-options)
-
--- Extension Domain-defined Attributes
-teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
- TeletexDomainDefinedAttributes
- IDENTIFIED BY 6
-}
-
-TeletexDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- TeletexDomainDefinedAttribute
-
-TeletexDomainDefinedAttribute ::= SEQUENCE {
- type TeletexString(SIZE (1..ub-domain-defined-attribute-type-length)),
- value TeletexString(SIZE (1..ub-domain-defined-attribute-value-length))
-}
-
-universal-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
- UniversalDomainDefinedAttributes
- IDENTIFIED BY 28
-}
-
-UniversalDomainDefinedAttributes ::=
- SEQUENCE SIZE (1..ub-domain-defined-attributes) OF
- UniversalDomainDefinedAttribute
-
-UniversalDomainDefinedAttribute ::= SEQUENCE {
- type UniversalOrBMPString{ub-domain-defined-attribute-type-length},
- value UniversalOrBMPString{ub-domain-defined-attribute-value-length}
-}
-
--- Encoded Information Types
-EncodedInformationTypes ::= [APPLICATION 5] SET {
- built-in-encoded-information-types [0] BuiltInEncodedInformationTypes,
- -- non-basic-parameters --COMPONENTS OF NonBasicParameters,
- extended-encoded-information-types
- [4] ExtendedEncodedInformationTypes OPTIONAL
-}
-
--- Built-in Encoded Information Types
-BuiltInEncodedInformationTypes ::= BIT STRING {
- unknown(0), ia5-text(2), g3-facsimile(3), g4-class-1(4), teletex(5),
- videotex(6), voice(7), sfd(8), mixed-mode(9)
-}(SIZE (0..ub-built-in-encoded-information-types))
-
--- Extended Encoded Information Types
-ExtendedEncodedInformationTypes ::=
- SET SIZE (1..ub-encoded-information-types) OF ExtendedEncodedInformationType
-
-ExtendedEncodedInformationType ::= OBJECT IDENTIFIER
-
--- Non-basic Parameters
-NonBasicParameters ::= SET {
- g3-facsimile [1] G3FacsimileNonBasicParameters DEFAULT {},
- teletex [2] TeletexNonBasicParameters DEFAULT {}
-}
-
-G3FacsimileNonBasicParameters ::= BIT STRING {
- two-dimensional(8), -- As defined in ITU-T Recommendation T.30
- fine-resolution(9), --
- unlimited-length(20), -- These bit values are chosen such that when
- b4-length(21), -- encoded using ASN.1 Basic Encoding Rules
- a3-width(22), -- the resulting octets have the same values
- b4-width(23), -- as for T.30 encoding
- t6-coding(25), --
- uncompressed(30), -- Trailing zero bits are not significant.
- width-middle-864-of-1728(37), -- It is recommended that implementations
- width-middle-1216-of-1728(38), -- should not encode more than 32 bits unless
- resolution-type(44), -- higher numbered bits are non-zero.
- resolution-400x400(45), resolution-300x300(46), resolution-8x15(47),
- edi(49), dtm(50), bft(51), mixed-mode(58), character-mode(60),
- twelve-bits(65), preferred-huffmann(66), full-colour(67), jpeg(68),
- processable-mode-26(71)}
-
-TeletexNonBasicParameters ::= SET {
- graphic-character-sets [0] TeletexString OPTIONAL,
- control-character-sets [1] TeletexString OPTIONAL,
- page-formats [2] OCTET STRING OPTIONAL,
- miscellaneous-terminal-capabilities [3] TeletexString OPTIONAL,
- private-use
- [4] OCTET STRING
- OPTIONAL -- maximum ub-teletex-private-use-length octets --
-}
-
--- as defined in CCITT Recommendation T.62
--- Token
-Token ::= SEQUENCE {
- token-type-identifier [0] TOKEN.&id({TokensTable}),
- token
- [1] TOKEN.&Type({TokensTable}{@token-type-identifier})
-}
-
-TOKEN ::= TYPE-IDENTIFIER
-
-TokensTable TOKEN ::= {asymmetric-token, ...}
-
-asymmetric-token TOKEN ::= {
- AsymmetricToken
- IDENTIFIED BY id-tok-asymmetricToken
-}
-
-AsymmetricToken ::=
- SIGNED
- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
- name
- CHOICE {recipient-name RecipientName,
- mta
- [3] SEQUENCE {global-domain-identifier
- GlobalDomainIdentifier OPTIONAL,
- mta-name MTAName
- }},
- time Time,
- signed-data [0] TokenData OPTIONAL,
- encryption-algorithm-identifier
- [1] AlgorithmIdentifier OPTIONAL,
- encrypted-data
- [2] ENCRYPTED{TokenData} OPTIONAL}}
-
-TokenData ::= SEQUENCE {
- type [0] TOKEN-DATA.&id({TokenDataTable}),
- value [1] TOKEN-DATA.&Type({TokenDataTable}{@type})
-}
-
-TOKEN-DATA ::= CLASS {&id INTEGER UNIQUE,
- &Type
-}WITH SYNTAX {&Type
- IDENTIFIED BY &id
-}
-
-TokenDataTable TOKEN-DATA ::=
- {bind-token-signed-data | message-token-signed-data |
- message-token-encrypted-data | bind-token-encrypted-data, ...}
-
-bind-token-signed-data TOKEN-DATA ::= {BindTokenSignedData
- IDENTIFIED BY 1
-}
-
-BindTokenSignedData ::= RandomNumber
-
-RandomNumber ::= BIT STRING
-
-message-token-signed-data TOKEN-DATA ::= {
- MessageTokenSignedData
- IDENTIFIED BY 2
-}
-
-MessageTokenSignedData ::= SEQUENCE {
- content-confidentiality-algorithm-identifier
- [0] ContentConfidentialityAlgorithmIdentifier OPTIONAL,
- content-integrity-check
- [1] ContentIntegrityCheck OPTIONAL,
- message-security-label
- [2] MessageSecurityLabel OPTIONAL,
- proof-of-delivery-request
- [3] ProofOfDeliveryRequest OPTIONAL,
- message-sequence-number [4] INTEGER OPTIONAL
-}
-
-message-token-encrypted-data TOKEN-DATA ::= {
- MessageTokenEncryptedData
- IDENTIFIED BY 3
-}
-
-MessageTokenEncryptedData ::= SEQUENCE {
- content-confidentiality-key [0] EncryptionKey OPTIONAL,
- content-integrity-check [1] ContentIntegrityCheck OPTIONAL,
- message-security-label [2] MessageSecurityLabel OPTIONAL,
- content-integrity-key [3] EncryptionKey OPTIONAL,
- message-sequence-number [4] INTEGER OPTIONAL
-}
-
-EncryptionKey ::= BIT STRING
-
-bind-token-encrypted-data TOKEN-DATA ::= {
- BindTokenEncryptedData
- IDENTIFIED BY 4
-}
-
-BindTokenEncryptedData ::= EXTERNAL
-
--- Security Label
-SecurityLabel ::= SET {
- security-policy-identifier SecurityPolicyIdentifier OPTIONAL,
- security-classification SecurityClassification OPTIONAL,
- privacy-mark PrivacyMark OPTIONAL,
- security-categories SecurityCategories OPTIONAL
-}
-
-SecurityPolicyIdentifier ::= OBJECT IDENTIFIER
-
-SecurityClassification ::= INTEGER {
- unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
- top-secret(5)}(0..ub-integer-options)
-
-PrivacyMark ::= PrintableString(SIZE (1..ub-privacy-mark-length))
-
-SecurityCategories ::= SET SIZE (1..ub-security-categories) OF SecurityCategory
-
-SecurityCategory ::= SEQUENCE {
- type [0] SECURITY-CATEGORY.&id({SecurityCategoriesTable}),
- value [1] SECURITY-CATEGORY.&Type({SecurityCategoriesTable}{@type})
-}
-
-SECURITY-CATEGORY ::= TYPE-IDENTIFIER
-
-SecurityCategoriesTable SECURITY-CATEGORY ::=
- {...}
-
-END -- of MTSAbstractService
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAbstractService88.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAbstractService88.asn
deleted file mode 100644
index f66d117f35..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAbstractService88.asn
+++ /dev/null
@@ -1,150 +0,0 @@
--- Module MTSAbstractService88 (X.411:06/1999)
-MTSAbstractService88 {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1988(1988)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS
- -- Remote Operations
- CONTRACT
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- -- MTS Abstract Service Parameters
- operationObject1, ABSTRACT-OPERATION, change-credentials, ContentLength,
- ContentTypes, Controls, control-violates-registration,
- DefaultDeliveryControls, EncodedInformationTypes, message-delivery,
- MHS-OBJECT, mts-connect, PORT, RecipientAssignedAlternateRecipient,
- register-rejected, report-delivery, SecurityLabel, security-error,
- submission, UserAddress, UserName, Waiting
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- Object Identifiers
- id-ct-mts-access, id-ct-mts-forced-access, id-ot-mts, id-ot-mts-user,
- id-pt-administration, id-pt-delivery
- --==
- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
- object-identifiers(0) version-1999(1)}
- -- Operation Codes
- op-delivery-control, op-register
- --==
- FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- mts-access-protocol(1) version-1999(1)}
- -- Upper Bounds
- ub-content-types, ub-labels-and-redirections
- --==
- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
- upper-bounds(3) version-1999(1)};
-
--- Objects
-mts-88 MHS-OBJECT ::= {
- INITIATES {mts-forced-access-contract-88}
- RESPONDS {mts-access-contract-88}
- ID {id-ot-mts 88}
-}
-
-mts-user-88 MHS-OBJECT ::= {
- INITIATES {mts-access-contract-88}
- RESPONDS {mts-forced-access-contract-88}
- ID {id-ot-mts-user 88}
-}
-
--- Contracts
-mts-access-contract-88 CONTRACT ::= {
- CONNECTION mts-connect
- INITIATOR CONSUMER OF {submission | delivery-88 | administration-88}
- ID {id-ct-mts-access 88}
-}
-
-mts-forced-access-contract-88 CONTRACT ::= {
- CONNECTION mts-connect
- RESPONDER CONSUMER OF {submission | delivery-88 | administration-88}
- ID {id-ct-mts-forced-access 88}
-}
-
--- Ports
-delivery-88 PORT ::= {
- OPERATIONS
- {operationObject1,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- CONSUMER INVOKES
- {delivery-control-88,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- SUPPLIER INVOKES
- {message-delivery | report-delivery,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- ID {id-pt-delivery 88}
-}
-
-administration-88 PORT ::= {
- OPERATIONS
- {change-credentials,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- CONSUMER INVOKES
- {register-88,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- SUPPLIER INVOKES
- {operationObject1,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- ID {id-pt-administration 88}
-}
-
--- Delivery Port
-delivery-control-88 ABSTRACT-OPERATION ::= {
- ARGUMENT DeliveryControls88
- RESULT Waiting
- ERRORS {control-violates-registration | security-error}
- LINKED
- {operationObject1,
- ...} -- This IOS needs to be extensible for Forward{} of X.880
- INVOKE PRIORITY {3}
- CODE op-delivery-control
-}
-
-DeliveryControls88 ::= SET {
- COMPONENTS OF
- Controls
- (WITH COMPONENTS {
- ...,
- permissible-encoded-information-types ABSENT
- }),
- permissible-encoded-information-types-88 EncodedInformationTypes OPTIONAL
-}
-
--- Administration Port
-register-88 ABSTRACT-OPERATION ::= {
- ARGUMENT Register88
- RESULT NULL
- ERRORS {register-rejected}
- LINKED {operationObject1, ...}
- INVOKE PRIORITY {5}
- CODE op-register
-}
-
-Register88 ::= SET {
- user-name UserName OPTIONAL,
- user-address [0] UserAddress OPTIONAL,
- deliverable-encoded-information-types EncodedInformationTypes OPTIONAL,
- deliverable-maximum-content-length [1] EXPLICIT ContentLength OPTIONAL,
- default-delivery-controls
- [2] EXPLICIT DefaultDeliveryControls OPTIONAL,
- deliverable-content-types [3] ContentTypes OPTIONAL,
- labels-and-redirections
- [4] SET SIZE (1..ub-labels-and-redirections) OF LabelAndRedirection
- OPTIONAL
-}
-
-LabelAndRedirection ::= SET {
- user-security-label [0] UserSecurityLabel OPTIONAL,
- recipient-assigned-alternate-recipient
- [1] RecipientAssignedAlternateRecipient OPTIONAL
-}
-
-UserSecurityLabel ::= SecurityLabel
-
-END -- of MTSAbstractService88
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAccessProtocol.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAccessProtocol.asn
deleted file mode 100644
index 03181c5951..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSAccessProtocol.asn
+++ /dev/null
@@ -1,321 +0,0 @@
--- Module MTSAccessProtocol (X.419:06/1999)
-
-MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
- mts-access-protocol(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
-IMPORTS
- -- MTS Abstract Service
- administration, delivery, mts-access-contract, mts-connect,
- mts-forced-access-contract, submission
- --==
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- -- MTS Abstract Service (1988)
- administration-88, delivery-88, mts-access-contract-88,
- mts-forced-access-contract-88
- --==
- FROM MTSAbstractService88 {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1988(1988)}
- -- Remote Operations
- APPLICATION-CONTEXT
- --==
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- Code
- --==
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- Bind{}, InvokeId, Unbind{}
- --==
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- ROS-SingleAS{}
- --==
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- acse, association-by-RTSE, pData, transfer-by-RTSE
- --==
- FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)}
- acse-abstract-syntax
- --==
- FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
- remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
- -- Reliable Transfer
- RTORQapdu, RTOACapdu, RTORJapdu
- FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
- -- Object Identifiers
- id-ac-mts-access-88, id-ac-mts-access-94, id-ac-mts-forced-access-88,
- id-ac-mts-forced-access-94, id-ac-mts-forced-reliable-access-88,
- id-ac-mts-forced-reliable-access-94, id-ac-mts-reliable-access-88,
- id-ac-mts-reliable-access-94, id-as-mase-88, id-as-mase-94, id-as-mdse-88,
- id-as-mdse-94, id-as-msse, id-as-mts, id-as-mts-rtse
- --==
- FROM MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0)
- modules(0) object-identifiers(0) version-1994(0)};
-
-RTSE-apdus ::= CHOICE {
- rtorq-apdu [16] IMPLICIT RTORQapdu,
- rtoac-apdu [17] IMPLICIT RTOACapdu,
- rtorj-apdu [18] IMPLICIT RTORJapdu,
- rttp-apdu RTTPapdu,
- rttr-apdu RTTRapdu,
- rtab-apdu [22] IMPLICIT RTABapdu
-}
-
-RTTPapdu ::= -- priority-- INTEGER
-
-RTTRapdu ::= OCTET STRING
-
-RTABapdu ::= SET {
- abortReason [0] IMPLICIT AbortReason OPTIONAL,
- reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
- -- 8 bits maximum, only if abortReason is invalidParameter
- userdataAB
- [2] TYPE-IDENTIFIER.&Type
- OPTIONAL -- only in normal mode and if abortReason--
- -- is userError
-}
-
-AbortReason ::= INTEGER {
- localSystemProblem(0),
- invalidParameter(1), -- reflectedParameter supplied
- unrecognizedActivity(2),
- temporaryProblem(3),
- -- the RTSE cannot accept a session for a period of time
- protocolError(4), -- RTSE level protocol error
- permanentProblem(5), --provider-abort solely in normal mode
- userError(6), -- user-abort solely in normal mode
- transferCompleted(7) -- activity can't be discarded--}
-
--- APPLICATION CONTEXTS
--- 1994 Application Contexts omitting RTSE
--- MTS-user initiated
-mts-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT mts-access-contract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax |
- message-administration-abstract-syntax-94 |
- mts-bind-unbind-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-access-94
-}
-
--- MTS initiated
-mts-forced-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT mts-forced-access-contract
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax |
- message-administration-abstract-syntax-94 |
- mts-bind-unbind-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-forced-access-94
-}
-
--- 1994 Application Contexts including RTSE in normal mode
--- MTS-user initiated
-mts-reliable-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT mts-access-contract
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax |
- message-administration-abstract-syntax-94 |
- mts-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-reliable-access-94
-}
-
--- MTS initiated
-mts-forced-reliable-access-94 APPLICATION-CONTEXT ::= {
- CONTRACT mts-forced-access-contract
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax |
- message-administration-abstract-syntax-94 |
- mts-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-forced-reliable-access-94
-}
-
--- 1988 Application Contexts omitting RTSE
--- MTS-user initiated
-mts-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT mts-access-contract-88
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- mts-bind-unbind-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-access-88
-}
-
--- MTS initiated
-mts-forced-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT mts-forced-access-contract-88
- ESTABLISHED BY acse
- INFORMATION TRANSFER BY pData
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- mts-bind-unbind-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-forced-access-88
-}
-
--- 1988 Application Contexts including RTSE in normal mode
--- MTS-user initiated
-mts-reliable-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT mts-access-contract-88
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- mts-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-reliable-access-88
-}
-
--- MTS initiated
-mts-forced-reliable-access-88 APPLICATION-CONTEXT ::= {
- CONTRACT mts-forced-access-contract-88
- ESTABLISHED BY association-by-RTSE
- INFORMATION TRANSFER BY transfer-by-RTSE
- ABSTRACT SYNTAXES
- {acse-abstract-syntax | message-submission-abstract-syntax |
- message-delivery-abstract-syntax-88 |
- message-administration-abstract-syntax-88 |
- mts-bind-unbind-rtse-abstract-syntax}
- APPLICATION CONTEXT NAME id-ac-mts-forced-reliable-access-88
-}
-
--- ABSTRACT-SYNTAXES
--- Abstract Syntax for MTS-Bind and MTS-Unbind
-mts-bind-unbind-abstract-syntax ABSTRACT-SYNTAX ::= {
- MTSBindUnbindPDUs
- IDENTIFIED BY id-as-mts
-}
-
-MTSBindUnbindPDUs ::= CHOICE {
- bind Bind{mts-connect.&bind},
- unbind Unbind{mts-connect.&unbind}
-}
-
--- Abstract Syntax for MTS-Bind and MTS-Unbind with RTSE
-mts-bind-unbind-rtse-abstract-syntax ABSTRACT-SYNTAX ::= {
- RTSE-apdus -- With MTS Bind and MTS Unbind --
- IDENTIFIED BY id-as-mts-rtse
-}
-
--- Abstract Syntax for Message Submission Service Element
-message-submission-abstract-syntax ABSTRACT-SYNTAX ::= {
- MessageSubmissionPDUs
- IDENTIFIED BY id-as-msse
-}
-
-MessageSubmissionPDUs ::= ROS-SingleAS{{MTSInvokeIds}, submission}
-
-MTSInvokeIds ::= InvokeId(ALL EXCEPT absent:NULL)
-
--- Remote Operations
-op-message-submission Code ::= local:3
-
-op-probe-submission Code ::= local:4
-
-op-cancel-deferred-delivery Code ::= local:7
-
-op-submission-control Code ::= local:2
-
--- Remote Errors
-err-submission-control-violated Code ::= local:1
-
-err-element-of-service-not-subscribed Code ::= local:4
-
-err-deferred-delivery-cancellation-rejected Code ::= local:8
-
-err-originator-invalid Code ::= local:2
-
-err-recipient-improperly-specified Code ::= local:3
-
-err-message-submission-identifier-invalid Code ::= local:7
-
-err-inconsistent-request Code ::= local:11
-
-err-security-error Code ::= local:12
-
-err-unsupported-critical-function Code ::= local:13
-
-err-remote-bind-error Code ::= local:15
-
--- Abstract Syntax for Message Delivery Service Element 1994
-message-delivery-abstract-syntax ABSTRACT-SYNTAX ::= {
- MessageDeliveryPDUs
- IDENTIFIED BY id-as-mdse-94
-}
-
-MessageDeliveryPDUs ::= ROS-SingleAS{{MTSInvokeIds}, delivery}
-
--- Abstract Syntax for Message Delivery Service Element 1988
-message-delivery-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
- MessageDeliveryPDUs88
- IDENTIFIED BY id-as-mdse-88
-}
-
-MessageDeliveryPDUs88 ::= ROS-SingleAS{{MTSInvokeIds}, delivery-88}
-
--- Remote Operations
-op-message-delivery Code ::= local:5
-
-op-report-delivery Code ::= local:6
-
-op-delivery-control Code ::= local:2
-
--- Remote Errors
-err-delivery-control-violated Code ::= local:1
-
-err-control-violates-registration Code ::= local:14
-
-err-operation-refused Code ::= local:16
-
--- Abstract Syntax for Message Administration Service Element 1994
-message-administration-abstract-syntax-94 ABSTRACT-SYNTAX ::= {
- MessageAdministrationPDUs
- IDENTIFIED BY id-as-mase-94
-}
-
-MessageAdministrationPDUs ::= ROS-SingleAS{{MTSInvokeIds}, administration}
-
--- Abstract Syntax for Message Administration Service Element 1988
-message-administration-abstract-syntax-88 ABSTRACT-SYNTAX ::= {
- MessageAdministrationPDUs88
- IDENTIFIED BY id-as-mase-88
-}
-
-MessageAdministrationPDUs88 ::= ROS-SingleAS{{MTSInvokeIds}, administration-88}
-
--- Remote Operations
-op-register Code ::= local:1
-
-op-change-credentials Code ::= local:8
-
--- Remote Errors
-err-register-rejected Code ::= local:10
-
-err-new-credentials-unacceptable Code ::= local:6
-
-err-old-credentials-incorrectly-specified Code ::= local:5
-
-END -- of MTSAccessProtocol
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSObjectIdentifiers.asn
deleted file mode 100644
index 1615b241ee..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSObjectIdentifiers.asn
+++ /dev/null
@@ -1,116 +0,0 @@
--- Module MTSObjectIdentifiers (X.411:06/1999)
-MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
- object-identifiers(0) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS -- nothing -- ;
-
-ID ::= OBJECT IDENTIFIER
-
--- Message Transfer System
-id-mts ID ::=
- {joint-iso-itu-t mhs(6) mts(3)} -- not definitive
-
--- Categories of Object Identifiers
-id-mod ID ::= {id-mts 0} -- modules
-
-id-ot ID ::= {id-mts 1} -- object types
-
-id-pt ID ::= {id-mts 2} -- port types
-
-id-cont ID ::= {id-mts 3} -- content types
-
-id-eit ID ::= {id-mts 4} -- encoded information types
-
-id-att ID ::= {id-mts 5} -- attributes
-
-id-tok ID ::= {id-mts 6} -- token types
-
-id-sa ID ::= {id-mts 7} -- secure agent types
-
-id-ct ID ::= {id-mts 8} -- contracts
-
-id-cp ID ::= {id-mts 9} -- connection packages
-
--- Modules
-id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive
-
-id-mod-mts-abstract-service ID ::= {id-mod 1} -- not definitive
-
-id-mod-mta-abstract-service ID ::= {id-mod 2} -- not definitive
-
-id-mod-upper-bounds ID ::= {id-mod 3} -- not definitive
-
--- Object Types
-id-ot-mts ID ::= {id-ot 0}
-
-id-ot-mts-user ID ::= {id-ot 1}
-
-id-ot-mta ID ::= {id-ot 2}
-
--- Port Types
-id-pt-submission ID ::= {id-pt 0}
-
-id-pt-delivery ID ::= {id-pt 1}
-
-id-pt-administration ID ::= {id-pt 2}
-
-id-pt-transfer ID ::= {id-pt 3}
-
--- Content Types
-id-cont-unidentified ID ::=
- {id-cont 0} -- For use by MS and Directory
-
-id-cont-inner-envelope ID ::= {id-cont 1}
-
--- Encoded Information Types
-id-eit-unknown ID ::= {id-eit 0}
-
--- Value { id-eit 1 } is no longer defined
-id-eit-ia5-text ID ::= {id-eit 2}
-
-id-eit-g3-facsimile ID ::= {id-eit 3}
-
-id-eit-g4-class-1 ID ::= {id-eit 4}
-
-id-eit-teletex ID ::= {id-eit 5}
-
-id-eit-videotex ID ::= {id-eit 6}
-
-id-eit-voice ID ::= {id-eit 7}
-
-id-eit-sfd ID ::= {id-eit 8}
-
-id-eit-mixed-mode ID ::= {id-eit 9}
-
--- Attributes
-id-att-physicalRendition-basic ID ::= {id-att 0}
-
-id-att-physicalRendition-no-cover-page ID ::= {id-att 1}
-
--- Token Types
-id-tok-asymmetricToken ID ::= {id-tok 0}
-
--- Secure Agent Types
-id-sa-ua ID ::= {id-sa 0}
-
-id-sa-ms ID ::= {id-sa 1}
-
--- Contracts
-id-ct-mts-access ID ::= {id-ct 0}
-
-id-ct-mts-forced-access ID ::= {id-ct 1}
-
-id-ct-mta-transfer ID ::= {id-ct 2}
-
--- Connection Packages
-id-cp-mts-connect ID ::= {id-cp 0}
-
-id-cp-mta-connect ID ::= {id-cp 1}
-
-END -- of MTSObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSUpperBounds.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSUpperBounds.asn
deleted file mode 100644
index 10eac962cb..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/MTSUpperBounds.asn
+++ /dev/null
@@ -1,146 +0,0 @@
--- Module MTSUpperBounds (X.411:06/1999)
-MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0) upper-bounds(3)
- version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- Prologue
--- Exports everything
-IMPORTS -- nothing -- ;
-
--- Upper Bounds
-ub-additional-info INTEGER ::= 1024
-
-ub-bilateral-info INTEGER ::= 1024
-
-ub-bit-options INTEGER ::= 16
-
-ub-built-in-content-type INTEGER ::= 32767
-
-ub-built-in-encoded-information-types INTEGER ::= 32
-
-ub-certificates INTEGER ::= 64
-
-ub-common-name-length INTEGER ::= 64
-
-ub-content-correlator-length INTEGER ::= 512
-
-ub-content-id-length INTEGER ::= 16
-
-ub-content-length INTEGER ::= 2147483647 -- the largest integer in 32 bits
-
-ub-content-types INTEGER ::= 1024
-
-ub-country-name-alpha-length INTEGER ::= 2
-
-ub-country-name-numeric-length INTEGER ::= 3
-
-ub-diagnostic-codes INTEGER ::= 32767
-
-ub-deliverable-class INTEGER ::= 256
-
-ub-dl-expansions INTEGER ::= 512
-
-ub-domain-defined-attributes INTEGER ::= 4
-
-ub-domain-defined-attribute-type-length INTEGER ::= 8
-
-ub-domain-defined-attribute-value-length INTEGER ::= 128
-
-ub-domain-name-length INTEGER ::= 16
-
-ub-encoded-information-types INTEGER ::= 1024
-
-ub-extension-attributes INTEGER ::= 256
-
-ub-extension-types INTEGER ::= 256
-
-ub-e163-4-number-length INTEGER ::= 15
-
-ub-e163-4-sub-address-length INTEGER ::= 40
-
-ub-generation-qualifier-length INTEGER ::= 3
-
-ub-given-name-length INTEGER ::= 16
-
-ub-initials-length INTEGER ::= 5
-
-ub-integer-options INTEGER ::= 256
-
-ub-labels-and-redirections INTEGER ::= 256
-
-ub-local-id-length INTEGER ::= 32
-
-ub-mta-name-length INTEGER ::= 32
-
-ub-mts-user-types INTEGER ::= 256
-
-ub-numeric-user-id-length INTEGER ::= 32
-
-ub-organization-name-length INTEGER ::= 64
-
-ub-organizational-unit-name-length INTEGER ::= 32
-
-ub-organizational-units INTEGER ::= 4
-
-ub-orig-and-dl-expansions INTEGER ::= 513 -- ub-dl-expansions plus one
-
-ub-password-length INTEGER ::= 62
-
-ub-pds-name-length INTEGER ::= 16
-
-ub-pds-parameter-length INTEGER ::= 30
-
-ub-pds-physical-address-lines INTEGER ::= 6
-
-ub-postal-code-length INTEGER ::= 16
-
-ub-privacy-mark-length INTEGER ::= 128
-
-ub-queue-size INTEGER ::= 2147483647 -- the largest integer in 32 bits
-
-ub-reason-codes INTEGER ::= 32767
-
-ub-recipient-number-for-advice-length INTEGER ::= 32
-
-ub-recipients INTEGER ::= 32767
-
-ub-redirection-classes INTEGER ::= 256
-
-ub-redirections INTEGER ::= 512
-
-ub-restrictions INTEGER ::= 1024
-
-ub-security-categories INTEGER ::= 64
-
-ub-security-labels INTEGER ::= 256
-
-ub-security-problems INTEGER ::= 256
-
-ub-supplementary-info-length INTEGER ::= 256
-
-ub-surname-length INTEGER ::= 40
-
-ub-teletex-private-use-length INTEGER ::= 128
-
-ub-terminal-id-length INTEGER ::= 24
-
-ub-transfers INTEGER ::= 512
-
-ub-tsap-id-length INTEGER ::= 16
-
-ub-unformatted-address-length INTEGER ::= 180
-
-ub-universal-generation-qualifier-length INTEGER ::= 16
-
-ub-universal-given-name-length INTEGER ::= 40
-
-ub-universal-initials-length INTEGER ::= 16
-
-ub-universal-surname-length INTEGER ::= 64
-
-ub-x121-address-length INTEGER ::= 16
-
-END -- of MTSUpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Notation.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Notation.asn
deleted file mode 100644
index 96dfc39b6a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Notation.asn
+++ /dev/null
@@ -1,244 +0,0 @@
--- Module Notation (X.830:04/1995)
-
-Notation {joint-iso-itu-t genericULS(20) modules(1) notation(1)} DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS All
-IMPORTS
- -- From Directory Standards:
- informationFramework, selectedAttributeTypes, authenticationFramework
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Name
- FROM InformationFramework informationFramework
- UniqueIdentifier
- FROM SelectedAttributeTypes selectedAttributeTypes
- AlgorithmIdentifier
- FROM AuthenticationFramework authenticationFramework
- -- From Other GULS Modules:
- genericProtectingTransferSyntax
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- SyntaxStructure{}
- FROM GenericProtectingTransferSyntax genericProtectingTransferSyntax;
-
--- *************************************************
--- Notation for security identity and SA-identifiers
--- *************************************************
--- Values of the SecurityIdentity type are used to identify entities
--- which assign externally-established security association identifiers,
--- and for other security-related purposes requiring globally-unique
--- identifiers.
-SecurityIdentity ::= CHOICE {
- directoryName Name,
- objectIdentifier OBJECT IDENTIFIER
-}
-
-ExternalSAID ::= SEQUENCE {
- localSAID INTEGER,
- assignerIdentity SecurityIdentity OPTIONAL
- -- Identity of the system which assigned the integer value
-}
-
--- ******************************************
--- Notation for specifying security exchanges
--- ******************************************
-SECURITY-EXCHANGE ::=
- CLASS
- -- This information object class definition is for use when
- -- specifying a particular instance of a security exchange.
- {
- &SE-Items SEC-EXCHG-ITEM,
- -- This is an ASN.1 information object set, comprising a set
- -- of security exchange items
- &sE-Identifier Identifier UNIQUE
- -- A local or global identifier for the particular security
- -- exchange
-}
-WITH SYNTAX
- -- The following syntax is used to specify a particular security
--- exchange.
-{SE-ITEMS &SE-Items
- IDENTIFIER &sE-Identifier
-}
-
-Identifier ::= CHOICE {local INTEGER,
- global OBJECT IDENTIFIER
-}
-
-SEC-EXCHG-ITEM ::= CLASS {
- &ItemType ,
- -- ASN.1 type for this exchange item
- &itemId INTEGER,
- -- Identifier for this item, e.g. 1, 2, 3, ..
- &Errors SE-ERROR OPTIONAL
- -- Optional list of errors which may result from
- -- transfer of this item
-}WITH SYNTAX {ITEM-TYPE &ItemType
- ITEM-ID &itemId
- [ERRORS &Errors]
-}
-
-SE-ERROR ::= CLASS {
- &ParameterType OPTIONAL,
- -- ASN.1 type of a parameter to accompany the signalling
- -- of the error condition back to the sender of the SEI
- &errorCode Identifier UNIQUE
- -- An identifier used in signalling the error condition
- -- back to the sender of the SEI
-}WITH SYNTAX {[PARAMETER &ParameterType]
- ERROR-CODE &errorCode
-}
-
--- ************************************************
--- Notation for specifying security transformations
--- ************************************************
-SECURITY-TRANSFORMATION ::=
- CLASS
- -- This information object class definition is for use when
- -- specifying a particular instance of a security transformation.
- {
- &sT-Identifier OBJECT IDENTIFIER UNIQUE,
- -- Identifier to be used in signalling the application
- -- of the particular security transformation
- &initialEncodingRules OBJECT IDENTIFIER DEFAULT {joint-iso-ccitt
- asn1(1) ber-derived(2)
- canonical-encoding(0)},
- -- Default initial encoding rules to generate a bit
- -- string prior to applying the encoding process of a
- -- security transformation.
- &StaticUnprotectedParm OPTIONAL,
- -- ASN.1 type for conveying static unprotected parameters
- &DynamicUnprotectedParm OPTIONAL,
- -- ASN.1 type for conveying dynamic unprotected parameters
- &XformedDataType ,
- -- ASN.1 type of the ASN.1 value produced by the security
- -- transformations encoding process
- &QualifierType OPTIONAL
- -- &QualifierType specifies the ASN.1 type of the qualifier
- -- parameter used with the PROTECTED-Q notation.
-}
-WITH SYNTAX
- -- The following syntax is used to specify a particular security
--- transformation.
-{
- IDENTIFIER &sT-Identifier
- [INITIAL-ENCODING-RULES &initialEncodingRules]
- [STATIC-UNPROT-PARM &StaticUnprotectedParm]
- [DYNAMIC-UNPROT-PARM &DynamicUnprotectedParm]
- XFORMED-DATA-TYPE &XformedDataType
- [QUALIFIER-TYPE &QualifierType]
-}
-
--- **************************************************
--- Notation for specifying selective field protection
--- **************************************************
-PROTECTED{BaseType, PROTECTION-MAPPING:protectionReqd} ::= CHOICE {
- dirEncrypt
- BIT STRING
- (CONSTRAINED BY {
- BaseType-- dirEncrypt is for use only with the
- -- dirEncryptedTransformation,
- -- and generates the same encoding as the
- -- X.509/9594-8 ENCRYPTED type-- }),
- dirSign
- SEQUENCE {baseType BaseType OPTIONAL,
- -- must be present for dirSignedTransformation
- -- and must be omitted for
- -- dirSignatureTransformation
- algorithmId AlgorithmIdentifier,
- encipheredHash
- BIT STRING
- (CONSTRAINED BY {
- BaseType-- contains enciphered hash--
- -- of a value of BaseType -- })}-- dirSign is for use only with the
- -- dirSignedTransformation or
- -- dirSignatureTransformation, and generates
- -- the same encoding as the corresponding
- -- X.509/9594-8 SIGNED or SIGNATURE type--,
- noTransform [0] BaseType,
- -- noTransform invokes no security transformation.
- -- Subject to security policy, noTransform may be used
- -- if adequate protection is provided by lower layers
- -- and any application relays through which the data
- -- may pass are trusted to maintain the required
- -- protection. This alternative may only be used
- -- if protectionReqd.&bypassPermitted is TRUE,
- direct [1] SyntaxStructure{{protectionReqd.&SecurityTransformation}},
- -- direct generates a protecting transfer syntax
- -- value, which is encoded using the same encoding
- -- rules as the surrounding ASN.1 (The type
- -- SyntaxStructure is imported from Rec. X.833 |
- -- ISO/IEC 11586-3)
- embedded
- [2] EMBEDDED PDV
- (WITH COMPONENTS {
- identification (WITH COMPONENTS {
- presentation-context-id ,
- context-negotiation (WITH COMPONENTS {
- transfer-syntax (CONSTRAINED BY {
- OBJECT
- IDENTIFIER:
- protectionReqd.
- &protTransferSyntax})
- }),
- transfer-syntax (CONSTRAINED BY {
- OBJECT IDENTIFIER:
- protectionReqd.
- &protTransferSyntax})
- }),
- data-value (CONTAINING BaseType )
-
- -- The data value encoded is a value of type BaseType
- })
-}
-
-PROTECTED-Q{BaseType, PROTECTION-MAPPING:protectionReqd,
- PROTECTION-MAPPING.&SecurityTransformation.&QualifierType:qualifier}
- ::=
- PROTECTED{BaseType, protectionReqd}
- (CONSTRAINED BY {
- protectionReqd.&SecurityTransformation.&QualifierType:qualifier
- -- The value of qualifier must be made available to
- -- the security transformation used
- })
-
--- BaseType is the type to be protected, and protectionReqd is an
--- object of class PROTECTION-MAPPING. The use of PROTECTED requires
--- the importation into the user's module of the PROTECTED parameterized
--- type, together with the necessary PROTECTION-MAPPING object
--- definition.
--- *******************************************
--- Notation for specifying protection mappings
--- *******************************************
-PROTECTION-MAPPING ::= CLASS {
- &SecurityTransformation SECURITY-TRANSFORMATION,
- -- &SecurityTransformation specifies an ASN.1 object set of the
- -- SECURITY-TRANSFORMATION class. Use of the particular
- -- protection mapping implies use of one of the specified
- -- transformations, with the choice being left to the
- -- encoding system. Rules for selecting between these security
- -- transformations may be specified in comments.
- &protTransferSyntax OBJECT IDENTIFIER DEFAULT {joint-iso-itu-t
- genericULS(20)
- generalTransferSyntax(2)},
- -- Identifies the particular protecting transfer syntax to
- -- be used in an EMDEDDED PDV encoding for the embedded
- -- option.
- &bypassPermitted BOOLEAN DEFAULT FALSE
- -- Indicates if bypassing of protection is permitted
-}
-WITH SYNTAX {
- SECURITY-TRANSFORMATION &SecurityTransformation
- [PROTECTING-TRANSFER-SYNTAX &protTransferSyntax]
- [BYPASS-PERMITTED &bypassPermitted]
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ObjectIdentifiers.asn
deleted file mode 100644
index b4f91f50c5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ObjectIdentifiers.asn
+++ /dev/null
@@ -1,46 +0,0 @@
--- Module ObjectIdentifiers (X.830:04/1995)
-
-ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)} DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS All
-genericULS OBJECT IDENTIFIER ::=
- {joint-iso-itu-t genericULS(20)}
-
--- Categories of information object
-modules OBJECT IDENTIFIER ::=
- {genericULS 1}
-
-generalTransferSyntax OBJECT IDENTIFIER ::= {genericULS 2}
-
-specificTransferSyntax OBJECT IDENTIFIER ::= {genericULS 3}
-
-securityExchanges OBJECT IDENTIFIER ::= {genericULS 4}
-
-securityTransformations OBJECT IDENTIFIER ::= {genericULS 5}
-
--- ASN.1 modules
-objectIdentifiers OBJECT IDENTIFIER ::= {modules 0}
-
-notation OBJECT IDENTIFIER ::= {modules 1}
-
-gulsSecurityExchanges OBJECT IDENTIFIER ::= {modules 2}
-
-gulsSecurityTransformations OBJECT IDENTIFIER ::= {modules 3}
-
-dirProtectionMappings OBJECT IDENTIFIER ::= {modules 4}
-
-gulsProtectionMappings OBJECT IDENTIFIER ::= {modules 5}
-
-seseAPDUs OBJECT IDENTIFIER ::= {modules 6}
-
-genericProtectingTransferSyntax OBJECT IDENTIFIER ::= {modules 7}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
-
--- content of stack:
---
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/OperationalBindingManagement.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/OperationalBindingManagement.asn
deleted file mode 100644
index 2044feb155..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/OperationalBindingManagement.asn
+++ /dev/null
@@ -1,263 +0,0 @@
--- Module OperationalBindingManagement (X.501:08/1997)
-OperationalBindingManagement {joint-iso-itu-t ds(5) module(1)
- opBindingManagement(18) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- directoryShadowAbstractService, hierarchicalOperationalBindings, dop,
- directoryAbstractService, distributedOperations, enhancedSecurity
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- shadowOperationalBinding
- FROM DirectoryShadowAbstractService directoryShadowAbstractService
- hierarchicalOperationalBinding, nonSpecificHierarchicalOperationalBinding
- FROM HierarchicalOperationalBindings hierarchicalOperationalBindings
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
- id-op-establishOperationalBinding, id-op-modifyOperationalBinding,
- id-op-terminateOperationalBinding, id-err-operationalBindingError
- FROM DirectoryOperationalBindingManagementProtocol dop
- directoryBind, directoryUnbind, securityError, CommonResultsSeq,
- SecurityParameters
- FROM DirectoryAbstractService directoryAbstractService
- OPTIONALLY-PROTECTED-SEQ{}
- FROM EnhancedSecurity enhancedSecurity
- AccessPoint
- FROM DistributedOperations distributedOperations;
-
---PROTECTED
--- FROM Notation { joint-iso-ccitt genericULS (20) modules (1) notation (1) }
--- bind and unbind
-dSAOperationalBindingManagementBind OPERATION ::=
- directoryBind
-
-dSAOperationalBindingManagementUnbind OPERATION ::= directoryUnbind
-
--- operations, arguments and results
-establishOperationalBinding OPERATION ::= {
- ARGUMENT EstablishOperationalBindingArgument
- RESULT EstablishOperationalBindingResult
- ERRORS {operationalBindingError | securityError}
- CODE id-op-establishOperationalBinding
-}
-
-EstablishOperationalBindingArgument ::=
- OPTIONALLY-PROTECTED-SEQ
- {SEQUENCE {bindingType [0] OPERATIONAL-BINDING.&id({OpBindingSet}),
- bindingID [1] OperationalBindingID OPTIONAL,
- accessPoint [2] AccessPoint,
- -- symmetric, Role A initiates, or Role B initiates -
- initiator
- CHOICE {symmetric
- [3] OPERATIONAL-BINDING.&both.&EstablishParam
- ({OpBindingSet}{@bindingType}),
- roleA-initiates
- [4] OPERATIONAL-BINDING.&roleA.&EstablishParam
- ({OpBindingSet}{@bindingType}),
- roleB-initiates
- [5] OPERATIONAL-BINDING.&roleB.&EstablishParam
- ({OpBindingSet}{@bindingType})} OPTIONAL,
- agreement
- [6] OPERATIONAL-BINDING.&Agreement
- ({OpBindingSet}{@bindingType}),
- valid [7] Validity DEFAULT {},
- securityParameters [8] SecurityParameters OPTIONAL}}
-
-OperationalBindingID ::= SEQUENCE {identifier INTEGER,
- version INTEGER
-}
-
-Validity ::= SEQUENCE {
- validFrom [0] CHOICE {now [0] NULL,
- time [1] Time} DEFAULT now:NULL,
- validUntil
- [1] CHOICE {explicitTermination [0] NULL,
- time [1] Time
- } DEFAULT explicitTermination:NULL
-}
-
-Time ::= CHOICE {utcTime UTCTime,
- generalizedTime GeneralizedTime
-}
-
-EstablishOperationalBindingResult ::=
- OPTIONALLY-PROTECTED-SEQ
- {SEQUENCE {bindingType [0] OPERATIONAL-BINDING.&id({OpBindingSet}),
- bindingID [1] OperationalBindingID OPTIONAL,
- accessPoint [2] AccessPoint,
- -- symmetric, Role A replies , or Role B replies
- initiator
- CHOICE {symmetric
- [3] OPERATIONAL-BINDING.&both.&EstablishParam
- ({OpBindingSet}{@bindingType}),
- roleA-replies
- [4] OPERATIONAL-BINDING.&roleA.&EstablishParam
- ({OpBindingSet}{@bindingType}),
- roleB-replies
- [5] OPERATIONAL-BINDING.&roleB.&EstablishParam
- ({OpBindingSet}{@bindingType})} OPTIONAL,
- COMPONENTS OF CommonResultsSeq}}
-
-modifyOperationalBinding OPERATION ::= {
- ARGUMENT ModifyOperationalBindingArgument
- RESULT ModifyOperationalBindingResult
- ERRORS {operationalBindingError | securityError}
- CODE id-op-modifyOperationalBinding
-}
-
-ModifyOperationalBindingArgument ::=
- OPTIONALLY-PROTECTED-SEQ
- {SEQUENCE {bindingType [0] OPERATIONAL-BINDING.&id({OpBindingSet}),
- bindingID [1] OperationalBindingID,
- accessPoint [2] AccessPoint OPTIONAL,
- -- symmetric, Role A initiates, or Role B initiates
- initiator
- CHOICE {symmetric
- [3] OPERATIONAL-BINDING.&both.&ModifyParam
- ({OpBindingSet}{@bindingType}),
- roleA-initiates
- [4] OPERATIONAL-BINDING.&roleA.&ModifyParam
- ({OpBindingSet}{@bindingType}),
- roleB-initiates
- [5] OPERATIONAL-BINDING.&roleB.&ModifyParam
- ({OpBindingSet}{@bindingType})} OPTIONAL,
- newBindingID [6] OperationalBindingID,
- newAgreement
- [7] OPERATIONAL-BINDING.&Agreement
- ({OpBindingSet}{@bindingType}) OPTIONAL,
- valid [8] Validity OPTIONAL,
- securityParameters [9] SecurityParameters OPTIONAL}}
-
-ModifyOperationalBindingResult ::= CHOICE {
- null [0] NULL,
- protected
- [1] OPTIONALLY-PROTECTED-SEQ{SEQUENCE {newBindingID OperationalBindingID,
- bindingType
- OPERATIONAL-BINDING.&id
- ({OpBindingSet}),
- newAgreement
- OPERATIONAL-BINDING.&Agreement
- ({OpBindingSet}{@bindingType}),
- valid Validity OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
-terminateOperationalBinding OPERATION ::= {
- ARGUMENT TerminateOperationalBindingArgument
- RESULT TerminateOperationalBindingResult
- ERRORS {operationalBindingError | securityError}
- CODE id-op-terminateOperationalBinding
-}
-
-TerminateOperationalBindingArgument ::=
- OPTIONALLY-PROTECTED-SEQ
- {SEQUENCE {bindingType [0] OPERATIONAL-BINDING.&id({OpBindingSet}),
- bindingID [1] OperationalBindingID,
- -- symmetric, Role A initiates, or Role B initiates
- initiator
- CHOICE {symmetric
- [2] OPERATIONAL-BINDING.&both.&TerminateParam
- ({OpBindingSet}{@bindingType}),
- roleA-initiates
- [3] OPERATIONAL-BINDING.&roleA.&TerminateParam
- ({OpBindingSet}{@bindingType}),
- roleB-initiates
- [4] OPERATIONAL-BINDING.&roleB.&TerminateParam
- ({OpBindingSet}{@bindingType})} OPTIONAL,
- terminateAt [5] Time OPTIONAL,
- securityParameters [6] SecurityParameters OPTIONAL}}
-
-TerminateOperationalBindingResult ::= CHOICE {
- null [0] NULL,
- protected
- [1] OPTIONALLY-PROTECTED-SEQ{SEQUENCE {bindingID OperationalBindingID,
- bindingType
- OPERATIONAL-BINDING.&id
- ({OpBindingSet}),
- terminateAt
- GeneralizedTime OPTIONAL,
- COMPONENTS OF CommonResultsSeq
- }}
-}
-
--- errors and parameters
-operationalBindingError ERROR ::= {
- PARAMETER OPTIONALLY-PROTECTED-SEQ {OpBindingErrorParam}
- CODE id-err-operationalBindingError
-}
-
-OpBindingErrorParam ::= SEQUENCE {
- problem
- [0] ENUMERATED {invalidID(0), duplicateID(1), unsupportedBindingType(2),
- notAllowedForRole(3), parametersMissing(4),
- roleAssignment(5), invalidStartTime(6), invalidEndTime(7),
- invalidAgreement(8), currentlyNotDecidable(9),
- modificationNotAllowed(10)},
- bindingType [1] OPERATIONAL-BINDING.&id({OpBindingSet}) OPTIONAL,
- agreementProposal
- [2] OPERATIONAL-BINDING.&Agreement({OpBindingSet}{@bindingType}) OPTIONAL,
- retryAt [3] Time OPTIONAL,
- COMPONENTS OF CommonResultsSeq
-}
-
--- information object classes
-OPERATIONAL-BINDING ::= CLASS {
- &Agreement ,
- &Cooperation OP-BINDING-COOP,
- &both OP-BIND-ROLE OPTIONAL,
- &roleA OP-BIND-ROLE OPTIONAL,
- &roleB OP-BIND-ROLE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- AGREEMENT &Agreement
- APPLICATION CONTEXTS &Cooperation
- [SYMMETRIC &both]
- [ASYMMETRIC
- [ROLE-A &roleA]
- [ROLE-B &roleB]]
- ID &id
-}
-
-OP-BINDING-COOP ::= CLASS {
- &applContext APPLICATION-CONTEXT,
- &Operations OPERATION OPTIONAL
-}WITH SYNTAX {&applContext
- [APPLIES TO &Operations]
-}
-
-OP-BIND-ROLE ::= CLASS {
- &establish BOOLEAN DEFAULT FALSE,
- &EstablishParam OPTIONAL,
- &modify BOOLEAN DEFAULT FALSE,
- &ModifyParam OPTIONAL,
- &terminate BOOLEAN DEFAULT FALSE,
- &TerminateParam OPTIONAL
-}
-WITH SYNTAX {
- [ESTABLISHMENT-INITIATOR &establish]
- [ESTABLISHMENT-PARAMETER &EstablishParam]
- [MODIFICATION-INITIATOR &modify]
- [MODIFICATION-PARAMETER &ModifyParam]
- [TERMINATION-INITIATOR &terminate]
- [TERMINATION-PARAMETER &TerminateParam]
-}
-
-OpBindingSet OPERATIONAL-BINDING ::=
- {shadowOperationalBinding | hierarchicalOperationalBinding |
- nonSpecificHierarchicalOperationalBinding}
-
-END -- OperationalBindingManagement
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/PKCS7.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/PKCS7.asn
deleted file mode 100644
index ac449b59c7..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/PKCS7.asn
+++ /dev/null
@@ -1,342 +0,0 @@
--- Module PKCS7 (X.420:06/1999)
--- The ASN.1 in version 1.5 of the PKCS#7 document is not defined in an ASN.1 module. This prevents an IMPORT of it into other ASN.1 modules.
--- This Annex contains a module of PKCS#7 ASN.1 definitions conforming to current ASN.1 standards rather than the obsolescent (and now deprecated) 1988/90 version of ASN.1 used in version 1.5 of PKCS#7.
--- Extensions to PKCS#7 defined in RFC 2630 are included.
--- If differences are found between the ASN.1 in the following module and that in PKCS#7, the latter is definitive.
-PKCS7 {iso member-body usa(840) rsadsi(113549) pkcs(1) 7
- module(0) -- module not currently defined in PKCS#7 --} DEFINITIONS IMPLICIT
-TAGS ::=
-BEGIN
-
-IMPORTS
- -- Directory Information Framework
- Attribute, Name
- --==
- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
- informationFramework(1) 3}
- -- Directory Authentication Framework
- AlgorithmIdentifier, AttributeCertificate, Certificate, CertificateList,
- CertificateSerialNumber, HASH{}, SIGNED{}
- --==
- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
- authenticationFramework(7) 3};
-
--- In PKCS#7 the HASHED parameterised type applies the hash function to the
--- contents octets component of a DER encoding of a value of the parameter.
--- The ENCRYPTED parameterised type is redefined here because PKCS#7 encrypted values are
--- defined as OCTET STRING, instead of BIT STRING as in the Directory Authentication Framework
-ENCRYPTED{ToBeEnciphered} ::=
- OCTET STRING
- (CONSTRAINED BY {
- -- must be the result of applying an encipherment procedure to the contents octets component
- -- of a definite-length BER-encoding of a value of --ToBeEnciphered})
-
-ContentInfo ::= SEQUENCE {
- content-type PKCS7-CONTENT-TYPE.&id({PKCS7ContentTable}),
- pkcs7-content [0] PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable})
-}
-
-PKCS7-CONTENT-TYPE ::= TYPE-IDENTIFIER
-
-PKCS7ContentTable PKCS7-CONTENT-TYPE ::=
- {data | signed-data | enveloped-data | signed-and-enveloped-data |
- digested-data | encrypted-data | authenticated-data, ...}
-
--- Data
-data PKCS7-CONTENT-TYPE ::= {Data
- IDENTIFIED BY id-data
-}
-
-Data ::= OCTET STRING
-
--- Signed Data
-signed-data PKCS7-CONTENT-TYPE ::= {SignedData
- IDENTIFIED BY id-signed-data
-}
-
-SignedData ::= SEQUENCE {
- version Version,
- digestAlgorithms DigestAlgorithmIdentifiers,
- contentInfo ContentInfo,
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL,
- signerInfos SignerInfos
-}
-
-Version ::= INTEGER
-
-DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
-
-DigestAlgorithmIdentifier ::= AlgorithmIdentifier
-
-CertificateSet ::= SET OF CertificateChoice
-
-CertificateChoice ::= CHOICE {
- certificate Certificate,
- extendedCertificate [0] ExtendedCertificate, -- Obsolete
- attributeCertificate [1] AttributeCertificate
-}
-
-CertificateRevocationLists ::= SET OF CertificateList
-
-SignerInfos ::= SET OF SignerInfo
-
-SignerInfo ::= SEQUENCE {
- version Version,
- signerIdentifier SignerIdentifier,
- digestAlgorithm DigestAlgorithmIdentifier,
- authenticatedAttributes [0] Attributes OPTIONAL,
- digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
- encryptedDigest EncryptedDigest,
- unauthenticatedAttributes [1] Attributes OPTIONAL
-}
-
-SignerIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [2] SubjectKeyIdentifier
-}
-
-IssuerAndSerialNumber ::= SEQUENCE {
- issuer Name,
- serialNumber CertificateSerialNumber
-}
-
-SubjectKeyIdentifier ::= OCTET STRING
-
-DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-EncryptedDigest ::= ENCRYPTED{DigestInfo}
-
-DigestInfo ::= SEQUENCE {
- digestAlgorithm DigestAlgorithmIdentifier,
- digest Digest
-}
-
-Digest ::=
- HASH
- {CHOICE {content
- [1] PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}),
- authenticated-attributes [0] EXPLICIT Attributes}}
-
--- Enveloped Data
-enveloped-data PKCS7-CONTENT-TYPE ::= {
- EnvelopedData
- IDENTIFIED BY id-enveloped-data
-}
-
-EnvelopedData ::= SEQUENCE {
- version Version,
- originatorInfo [0] OriginatorInfo OPTIONAL,
- recipientInfos RecipientInfos,
- encryptedContentInfo EncryptedContentInfo,
- unprotectedAttributes [1] Attributes OPTIONAL
-}
-
-OriginatorInfo ::= SEQUENCE {
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL
-}
-
-RecipientInfos ::= SET SIZE (1..MAX) OF RecipientInfo
-
-RecipientInfo ::= CHOICE {
- keyTransportRecipientInfo KeyTransportRecipientInfo,
- keyAgreementRecipientInfo [1] KeyAgreementRecipientInfo,
- keyEncryptionKeyRecipientInfo [2] KeyEncryptionKeyRecipientInfo
-}
-
-KeyTransportRecipientInfo ::= SEQUENCE {
- version Version,
- recipientIdentifier RecipientIdentifier,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- encryptedKey EncryptedKey
-}
-
-RecipientIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [0] SubjectKeyIdentifier
-}
-
-KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
-EncryptedKey ::= OCTET STRING
-
-KeyAgreementRecipientInfo ::= SEQUENCE {
- version Version,
- originator [0] OriginatorIdentifierOrKey,
- userKeyingMaterial [1] EXPLICIT OCTET STRING OPTIONAL,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- recipientEncryptedKeys RecipientEncryptedKeys
-}
-
-OriginatorIdentifierOrKey ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- subjectKeyIdentifier [0] SubjectKeyIdentifier,
- originatorPublicKey [1] OriginatorPublicKey
-}
-
-OriginatorPublicKey ::= SEQUENCE {
- algorithm AlgorithmIdentifier,
- publicKey BIT STRING
-}
-
-RecipientEncryptedKeys ::= SEQUENCE OF RecipientEncryptedKey
-
-RecipientEncryptedKey ::= SEQUENCE {
- recipientIdentifier KeyAgreementRecipientIdentifier,
- encryptedKey EncryptedKey
-}
-
-KeyAgreementRecipientIdentifier ::= CHOICE {
- issuerAndSerialNumber IssuerAndSerialNumber,
- recipientKeyIdentifier [0] RecipientKeyIdentifier
-}
-
-RecipientKeyIdentifier ::= SEQUENCE {
- subjectKeyIdentifier SubjectKeyIdentifier,
- date GeneralizedTime OPTIONAL,
- otherKeyAttribute OtherKeyAttribute OPTIONAL
-}
-
-OtherKeyAttribute ::= SEQUENCE {
- keyAttributeIdentifier OTHER-KEY-ATTRIBUTE.&id({OtherKeyAttributeTable}),
- keyAttribute
- OTHER-KEY-ATTRIBUTE.&Type
- ({OtherKeyAttributeTable}{@keyAttributeIdentifier}) OPTIONAL
-}
-
-OTHER-KEY-ATTRIBUTE ::= TYPE-IDENTIFIER
-
-OtherKeyAttributeTable OTHER-KEY-ATTRIBUTE ::=
- {...}
-
-KeyEncryptionKeyRecipientInfo ::= SEQUENCE {
- version Version,
- keyEncryptionKeyIdentifier KeyEncryptionKeyIdentifier,
- keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
- encryptedKey EncryptedKey
-}
-
-KeyEncryptionKeyIdentifier ::= SEQUENCE {
- keyIdentifier OCTET STRING,
- date GeneralizedTime OPTIONAL,
- otherKeyAttribute OtherKeyAttribute OPTIONAL
-}
-
-EncryptedContentInfo ::= SEQUENCE {
- contentType PKCS7-CONTENT-TYPE.&id({PKCS7ContentTable}),
- contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
- encryptedContent
- [0] ENCRYPTED{PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}{@.contentType})}
- OPTIONAL
-}
-
-ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
-
--- Signed and Enveloped Data
-signed-and-enveloped-data PKCS7-CONTENT-TYPE ::= {
- SignedAndEnvelopedData
- IDENTIFIED BY id-signed-and-enveloped-data
-}
-
-SignedAndEnvelopedData ::= SEQUENCE {
- version Version,
- recipientInfos SET SIZE (1..MAX) OF KeyTransportRecipientInfo,
- digestAlgorithms DigestAlgorithmIdentifiers,
- encryptedContentInfo EncryptedContentInfo,
- certificates [0] CertificateSet OPTIONAL,
- crls [1] CertificateRevocationLists OPTIONAL,
- signerInfos
- SET SIZE (1..MAX) OF
- SignerInfo
- (WITH COMPONENTS {
- ...,
- signerIdentifier (WITH COMPONENTS {
- issuerAndSerialNumber PRESENT
- }),
- authenticatedAttributes ABSENT,
- unauthenticatedAttributes ABSENT
- })
-}
-
--- Digested Data
-digested-data PKCS7-CONTENT-TYPE ::= {
- DigestedData
- IDENTIFIED BY id-digested-data
-}
-
-DigestedData ::= SEQUENCE {
- version Version,
- digestAlgorithm DigestAlgorithmIdentifier,
- contentInfo ContentInfo,
- digest HASH{PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable})}
-}
-
--- Encrypted Data
-encrypted-data PKCS7-CONTENT-TYPE ::= {
- EncryptedData
- IDENTIFIED BY id-encrypted-data
-}
-
-EncryptedData ::= SEQUENCE {
- version Version,
- encryptedContentInfo EncryptedContentInfo,
- unprotectedAttributes [1] Attributes OPTIONAL
-}
-
--- Authenticated Data
-authenticated-data PKCS7-CONTENT-TYPE ::= {
- AuthenticatedData
- IDENTIFIED BY id-authenticated-data
-}
-
-AuthenticatedData ::= SEQUENCE {
- version Version,
- originatorInfo [0] OriginatorInfo OPTIONAL,
- recipientInfos RecipientInfos,
- macAlgorithm MessageAuthenticationCodeAlgorithmIdentifier,
- digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
- contentInfo ContentInfo,
- authenticatedAttributes [2] Attributes OPTIONAL,
- messageAuthenticationCode MessageAuthenticationCode,
- unauthenticatedAttributes [3] Attributes OPTIONAL
-}
-
-MessageAuthenticationCodeAlgorithmIdentifier ::= AlgorithmIdentifier
-
-MessageAuthenticationCode ::= OCTET STRING
-
--- Object Identifiers
-id-pkcs OBJECT IDENTIFIER ::=
- {iso member-body usa(840) rsadsi(113549) pkcs(1)}
-
-id-data OBJECT IDENTIFIER ::= {id-pkcs 7 1}
-
-id-signed-data OBJECT IDENTIFIER ::= {id-pkcs 7 2}
-
-id-enveloped-data OBJECT IDENTIFIER ::= {id-pkcs 7 3}
-
-id-signed-and-enveloped-data OBJECT IDENTIFIER ::= {id-pkcs 7 4}
-
-id-digested-data OBJECT IDENTIFIER ::= {id-pkcs 7 5}
-
-id-encrypted-data OBJECT IDENTIFIER ::= {id-pkcs 7 6}
-
-id-authenticated-data OBJECT IDENTIFIER ::= {id-pkcs 9 16 1 2}
-
--- Definitions from PKCS#6
-ExtendedCertificate ::=
- SIGNED{ExtendedCertificateInfo}
-
-ExtendedCertificateInfo ::= SEQUENCE {
- version Version,
- certificate Certificate,
- attributes Attributes
-}
-
-Attributes ::= SET OF Attribute
-
-END -- of PKCS#7
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/PKCS7BodyPartType.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/PKCS7BodyPartType.asn
deleted file mode 100644
index 525ee3c5ec..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/PKCS7BodyPartType.asn
+++ /dev/null
@@ -1,31 +0,0 @@
--- Module PKCS7BodyPartType (X.420:06/1999)
-PKCS7BodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- pkcs7-body-part-type(16)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-IMPORTS
- -- PKCS#7
- ContentInfo
- FROM PKCS7 {iso(1) member-body(2) usa(840) rsadsi(113549) pkcs(1)
- 7 module(0)}
- -- module not formally defined in the PKCS#7document, therefore defined in Annex O
- -- IPMS Information Objects
- EXTENDED-BODY-PART-TYPE
- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- information-objects(2) version-1999(1)}
- -- IPMS Object Identifiers
- id-et-pkcs7
- --==
- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
- object-identifiers(0) version-1999(1)};
-
--- PKCS7 body part
-pkcs7-body-part EXTENDED-BODY-PART-TYPE ::= {
- DATA {ContentInfo
- IDENTIFIED BY id-et-pkcs7}
-}
-
-END -- of PKCS7BodyPartType
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Protected-Part-Descriptors.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Protected-Part-Descriptors.asn
deleted file mode 100644
index 5512f1590b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Protected-Part-Descriptors.asn
+++ /dev/null
@@ -1,74 +0,0 @@
--- Module Protected-Part-Descriptors (T.415:03/1993)
-
-Protected-Part-Descriptors {2 8 1 5 13} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Sealed-Doc-Prof-Descriptor, Enciphered-Doc-Prof-Descriptor,
- Preenciphered-Bodypart-Descriptor, Postenciphered-Bodypart-Descriptor;
-
-IMPORTS Protected-Part-Identifier
- FROM Identifiers-and-Expressions; -- see 7.8
-
-Sealed-Doc-Prof-Descriptor ::= SEQUENCE {
- sealed-doc-prof-identifier Protected-Part-Identifier,
- sealed-doc-prof-information Document-Profile-Attribute-Names
-}
-
-Document-Profile-Attribute-Names ::= BIT STRING {
- generic-layout-structure(0), specific-layout-structure(1),
- generic-logical-structure(2), specific-logical-structure(3),
- layout-styles(4), presentation-styles(5), sealed-profiles(6),
- enciphered-profiles(7), pre-enciphered-body-parts(8),
- post-enciphered-body-parts(9), external-document-class(10),
- resource-document(11), resources(12), document-application-profile(13),
- document-application-profile-defaults(14), document-architecture-class(15),
- content-architecture-classes(16), interchange-format-class(17),
- oda-version(18), alternative-feature-sets(19), profile-character-sets(20),
- comments-character-sets(21), alternative-representation-character-sets(22),
- page-dimensions(23), medium-types(24), layout-paths(25), protections(26),
- block-alignments(27), fill-orders(28), transparencies(29), colours(30),
- colours-of-layout-object(31), object-colour-tables(32),
- content-background-colours(33), content-foreground-colours(34),
- content-colour-tables(35), borders(36), page-positions(37),
- types-of-coding(38), coding-attributes(39), presentation-features(40),
- number-of-objects-per-page(41), unit-scaling(42), fonts-list(43),
- colour-characteristics(44), colour-spaces-list(45),
- assured-reproduction-areas(86), title(46), subject(47),
- document-reference(48), document-type(49), abstract(50), keywords(51),
- document-date-and-time(52), creation-date-and-time(53),
- local-filing-date-and-time(54), expiry-date-and-time(55),
- start-date-and-time(56), purge-date-and-time(57), release-date-and-time(58),
- revision-history(59), organizations(60), preparers(61), owners(62),
- authors(63), copyright(64), status(65), user-specific-codes(66),
- distribution-list(67), additional-information(68),
- references-to-other-documents(69), superseded-documents(70),
- local-file-references(71), document-size(72), number-of-pages(73),
- languages(74), authorization(75), security-classification(76),
- access-rights(77), sealed-information-encoding(78), oda-security-label(79),
- sealed-document-profiles(80), pre-sealed-document-body-parts(81),
- post-sealed-document-body-parts(82), enciphered-document-profiles(83),
- pre-enciphered-document-body-parts(84),
- post-enciphered-document-body-parts(85)}
-
-Enciphered-Doc-Prof-Descriptor ::= SEQUENCE {
- enciphered-doc-prof-identifier Protected-Part-Identifier,
- enciphered-doc-prof-information Enciphered-Information
-}
-
-Preenciphered-Bodypart-Descriptor ::= SEQUENCE {
- preenciphered-bodypart-identifier Protected-Part-Identifier,
- preenciphered-bodypart-info Enciphered-Information
-}
-
-Postenciphered-Bodypart-Descriptor ::= SEQUENCE {
- postenciphered-bodypart-identifier Protected-Part-Identifier,
- postenciphered-bodypart-info Enciphered-Information
-}
-
-Enciphered-Information ::= OCTET STRING
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ProtocolObjectIdentifiers.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ProtocolObjectIdentifiers.asn
deleted file mode 100644
index d6e88a2e47..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/ProtocolObjectIdentifiers.asn
+++ /dev/null
@@ -1,140 +0,0 @@
--- Module ProtocolObjectIdentifiers (X.519 TC2:08/1997)
-
-ProtocolObjectIdentifiers {joint-iso-itu-t ds(5) module(1)
- protocolObjectIdentifiers(4) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- id-rosObject, id-contract, id-package, id-ac, id-as
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3};
-
--- ROS Objects
-id-rosObject-dua OBJECT IDENTIFIER ::= {id-rosObject 1}
-
-id-rosObject-directory OBJECT IDENTIFIER ::= {id-rosObject 2}
-
-id-rosObject-dapDSA OBJECT IDENTIFIER ::= {id-rosObject 3}
-
-id-rosObject-dspDSA OBJECT IDENTIFIER ::= {id-rosObject 4}
-
-id-rosObject-dopDSA OBJECT IDENTIFIER ::= {id-rosObject 7}
-
-id-rosObject-initiatingConsumerDSA OBJECT IDENTIFIER ::= {id-rosObject 8}
-
-id-rosObject-respondingSupplierDSA OBJECT IDENTIFIER ::= {id-rosObject 9}
-
-id-rosObject-initiatingSupplierDSA OBJECT IDENTIFIER ::= {id-rosObject 10}
-
-id-rosObject-respondingConsumerDSA OBJECT IDENTIFIER ::= {id-rosObject 11}
-
--- contracts
-id-contract-dap OBJECT IDENTIFIER ::= {id-contract 1}
-
-id-contract-dsp OBJECT IDENTIFIER ::= {id-contract 2}
-
-id-contract-shadowConsumer OBJECT IDENTIFIER ::= {id-contract 3}
-
-id-contract-shadowSupplier OBJECT IDENTIFIER ::= {id-contract 4}
-
-id-contract-dop OBJECT IDENTIFIER ::= {id-contract 5}
-
--- packages
-id-package-read OBJECT IDENTIFIER ::= {id-package 1}
-
-id-package-search OBJECT IDENTIFIER ::= {id-package 2}
-
-id-package-modify OBJECT IDENTIFIER ::= {id-package 3}
-
-id-package-chainedRead OBJECT IDENTIFIER ::= {id-package 4}
-
-id-package-chainedSearch OBJECT IDENTIFIER ::= {id-package 5}
-
-id-package-chainedModify OBJECT IDENTIFIER ::= {id-package 6}
-
-id-package-shadowConsumer OBJECT IDENTIFIER ::= {id-package 7}
-
-id-package-shadowSupplier OBJECT IDENTIFIER ::= {id-package 8}
-
-id-package-operationalBindingManagement OBJECT IDENTIFIER ::= {id-package 9}
-
-id-package-dapConnection OBJECT IDENTIFIER ::= {id-package 10}
-
-id-package-dspConnection OBJECT IDENTIFIER ::= {id-package 11}
-
-id-package-dispConnection OBJECT IDENTIFIER ::= {id-package 12}
-
-id-package-dopConnection OBJECT IDENTIFIER ::= {id-package 13}
-
--- application contexts
-id-ac-directoryAccessAC OBJECT IDENTIFIER ::=
- {id-ac 1}
-
-id-ac-directorySystemAC OBJECT IDENTIFIER ::= {id-ac 2}
-
-id-ac-directoryOperationalBindingManagementAC OBJECT IDENTIFIER ::= {id-ac 3}
-
-id-ac-shadowConsumerInitiatedAC OBJECT IDENTIFIER ::= {id-ac 4}
-
-id-ac-shadowSupplierInitiatedAC OBJECT IDENTIFIER ::= {id-ac 5}
-
-id-ac-reliableShadowSupplierInitiatedAC OBJECT IDENTIFIER ::= {id-ac 6}
-
-id-ac-reliableShadowConsumerInitiatedAC OBJECT IDENTIFIER ::= {id-ac 7}
-
-id-ac-shadowSupplierInitiatedAsynchronousAC OBJECT IDENTIFIER ::= {id-ac 8}
-
-id-ac-shadowConsumerInitiatedAsynchronousAC OBJECT IDENTIFIER ::= {id-ac 9}
-
-id-ac-directoryAccessWith2or3seAC OBJECT IDENTIFIER ::= {id-ac 10}
-
-id-ac-directorySystemWith2or3seAC OBJECT IDENTIFIER ::= {id-ac 11}
-
-id-ac-shadowSupplierInitiatedWith2or3seAC OBJECT IDENTIFIER ::= {id-ac 12}
-
-id-ac-shadowConsumerInitiatedWith2or3seAC OBJECT IDENTIFIER ::= {id-ac 13}
-
-id-ac-reliableShadowSupplierInitiatedWith2or3seAC OBJECT IDENTIFIER ::=
- {id-ac 14}
-
-id-ac-reliableShadowConsumerInitiatedWith2or3seAC OBJECT IDENTIFIER ::=
- {id-ac 15}
-
-id-ac-directoryOperationalBindingManagementWith2or3seAC OBJECT IDENTIFIER ::=
- {id-ac 16}
-
--- ASEs (obsolete)
--- id-ase-readASE OBJECT IDENTIFIER ::= {id-ase 1}
--- id-ase-searchASE OBJECT IDENTIFIER ::= {id-ase 2}
--- id-ase-modifyASE OBJECT IDENTIFIER ::= {id-ase 3}
--- id-ase-chainedReadASE OBJECT IDENTIFIER ::= {id-ase 4}
--- id-ase-chainedSearchASE OBJECT IDENTIFIER ::= {id-ase 5}
--- id-ase-chainedModifyASE OBJECT IDENTIFIER ::= {id-ase 6}
--- id-ase-operationalBindingManagementASE OBJECT IDENTIFIER ::= {id-ase 7}
--- id-ase-shadowConsumerASE OBJECT IDENTIFIER ::= {id-ase 8}
--- id-ase-shadowSupplierASE OBJECT IDENTIFIER ::= {id-ase 9}
--- abstract syntaxes
-id-as-directoryAccessAS OBJECT IDENTIFIER ::=
- {id-as 1}
-
-id-as-directorySystemAS OBJECT IDENTIFIER ::= {id-as 2}
-
-id-as-directoryShadowAS OBJECT IDENTIFIER ::= {id-as 3}
-
-id-as-directoryOperationalBindingManagementAS OBJECT IDENTIFIER ::= {id-as 4}
-
-id-as-directoryReliableShadowAS OBJECT IDENTIFIER ::= {id-as 5}
-
-id-as-reliableShadowBindingAS OBJECT IDENTIFIER ::= {id-as 6}
-
-id-as-2or3se OBJECT IDENTIFIER ::= {id-as 7}
-
-END -- ProtocolObjectIdentifiers
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Coding-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Coding-Attributes.asn
deleted file mode 100644
index 258c5f0b23..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Coding-Attributes.asn
+++ /dev/null
@@ -1,75 +0,0 @@
--- Module Raster-Gr-Coding-Attributes (T.417:03/1993)
-
-Raster-Gr-Coding-Attributes {2 8 1 7 3} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Raster-Gr-Coding-Attributes, Compression, Tile-Type,
- Bits-Per-Colour-Component, Subsampling;
-
-IMPORTS Coordinate-Pair
- FROM Raster-Gr-Presentation-Attributes {2 8 1 7 2};
-
-Raster-Gr-Coding-Attributes ::= SET {
- number-of-pels-per-line [0] IMPLICIT INTEGER OPTIONAL,
- number-of-lines [1] IMPLICIT INTEGER OPTIONAL,
- compression [2] IMPLICIT Compression OPTIONAL,
- number-of-discarded-pels [3] IMPLICIT INTEGER OPTIONAL,
- bits-per-colour-component [4] Bits-Per-Colour-Component OPTIONAL,
- interleaving-format
- [5] IMPLICIT INTEGER {pel(0), line(1), plane(2), stripe(3)} OPTIONAL,
- number-of-pels-per-tile-line [6] IMPLICIT INTEGER OPTIONAL,
- number-of-lines-per-tile [7] IMPLICIT INTEGER OPTIONAL,
- tiling-offset [8] IMPLICIT Coordinate-Pair OPTIONAL,
- tile-types [9] IMPLICIT SEQUENCE OF Tile-Type OPTIONAL,
- subsampling [10] IMPLICIT Subsampling OPTIONAL,
- jpeg-coding-mode
- [11] IMPLICIT INTEGER {-- Huffman coding
- baseline(0), huffman-extended-sequential-DCT(1),
- huffman-progressive-DCT(2),
- huffman-spatial-lossless(3),
- -- arithmetic coding
- arithmetic-extended-sequential-DCT(9),
- arithmetic-progressive-DCT(10),
- arithmetic-spatial-lossless(11)},
- jpeg-quantization-table
- [12] IMPLICIT INTEGER {associated(0), default(1)} OPTIONAL,
- jpeg-huffman-table
- [13] IMPLICIT INTEGER {associated(0), preferred(1)},
- -- basic and default value is "associated".
- jbig-differential-layer
- [17] IMPLICIT INTEGER {dl-not-present(0), dl-encoded-without-tp-and-dp(1),
- dl-encoded-with-tp(2), dl-encoded-with-dp(3),
- dl-encoded-with-dp-and-private-dp-table(4),
- dl-encoded-with-tp-and-dp(5),
- dl-encoded-with-tp-dp-and-private-dp-table(6)}
- OPTIONAL,
- number-of-lines-per-stripe [18] IMPLICIT INTEGER OPTIONAL
-}
-
-Compression ::= INTEGER {uncompressed(0), compressed(1)}
-
-Tile-Type ::= INTEGER {
- null-background(0), null-foreground(1), t6-encoded(2),
- t4-one-dimensional-encoded(3), t4-two-dimensional-encoded(4),
- bitmap-encoded(5), t6-encoded-msb(6), t4-one-dimensional-encoded-msb(7),
- t4-two-dimensional-encoded-msb(8), jbig-bits-per-component-eq-1(9),
- jpeg(10), jbig-bits-per-component-gr-1(11)}
-
-Bits-Per-Colour-Component ::= CHOICE {
- single-integer INTEGER,
- component-list SEQUENCE OF INTEGER
-}
-
-Subsampling ::= OCTET STRING
-
--- The value OCTET STRING shall be chosen from the
--- following table:
--- Semantic Meaning JPEG notations Octet strings
--- 4:1:1 ((2,2),(1,1),(1,1)) '221111'H
--- 2:1:1 or 4:2:2 ((2,1),(1,1),(1,1)) '211111'H
--- 1:1:1 ((1,1),(1,1),(1,1)) '111111'H
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Presentation-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Presentation-Attributes.asn
deleted file mode 100644
index c8f3a2ff33..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Presentation-Attributes.asn
+++ /dev/null
@@ -1,92 +0,0 @@
--- Module Raster-Gr-Presentation-Attributes (T.417:03/1993)
-
-Raster-Gr-Presentation-Attributes {2 8 1 7 2} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Raster-Graphics-Attributes, Clipping, Measure-Pair, One-Of-Four-Angles,
- One-Of-Two-Angles, Pel-Transmission-Density, Pel-Spacing, Spacing-Ratio,
- Image-Dimensions, Coordinate-Pair;
-
-Raster-Graphics-Attributes ::= SET {
- pel-path [0] IMPLICIT One-Of-Four-Angles OPTIONAL,
- line-progression [1] IMPLICIT One-Of-Two-Angles OPTIONAL,
- pel-transmission-density [2] IMPLICIT Pel-Transmission-Density OPTIONAL,
- initial-offset [3] IMPLICIT Measure-Pair OPTIONAL,
- clipping [4] IMPLICIT Clipping OPTIONAL,
- pel-spacing [5] Pel-Spacing OPTIONAL,
- spacing-ratio [6] IMPLICIT Spacing-Ratio OPTIONAL,
- image-dimensions [7] Image-Dimensions OPTIONAL
-}
-
-One-Of-Four-Angles ::= INTEGER {
- d0(0), -- d0
- d90(1), -- d90
- d180(2), --d180
- d270(3) -- d270--}
-
-One-Of-Two-Angles ::= INTEGER {d90(1), -- d90
- d270(3) -- d270 --}
-
-Pel-Transmission-Density ::= INTEGER {
- p5(2), -- 5 BMU (240 pels/25.4 mm)
- p4(3), -- 4 BMU (300 pels/25.4 mm)
- p3(4), -- 3 BMU (400 pels/25.4 mm)
- p2(5), -- 2 BMU (600 pels/25.4 mm)
- p1(6), -- 1 BMU (1200 pels/25.4 mm)
- colour-grey-scale-p12(10), -- 12 BMU (100 pels/25.4 mm)
- colour-grey-scale-p6(11), -- 6 BMU (200 pels/25.4 mm)
- colour-grey-scale-p4(13), -- 4 BMU (300 pels/25.4 mm)
- colour-grey-scale-p3(14), -- 3 BMU (400 pels/25.4 mm)
- colour-grey-scale-p2(15), -- 2 BMU (600 pels/25.4 mm)
- colour-grey-scale-p1(16), -- 1 BMU (1200 pels/25.4 mm)
- p6(1)} -- 6 BMU (200 pels/25.4 mm)
-
--- default and basic value is p6 (1)
-Measure-Pair ::= SEQUENCE {
- horizontal [0] IMPLICIT INTEGER,
- vertical [0] IMPLICIT INTEGER
-}
-
-Clipping ::= SEQUENCE {
- first-coordinate-pair [0] IMPLICIT Coordinate-Pair OPTIONAL,
- second-coordinate-pair [1] IMPLICIT Coordinate-Pair OPTIONAL
-}
-
-Coordinate-Pair ::= SEQUENCE {x-coordinate INTEGER,
- y-coordinate INTEGER
-}
-
-Pel-Spacing ::= CHOICE {
- spacing
- [0] IMPLICIT SEQUENCE {length [0] INTEGER,
- pel-spaces [0] INTEGER},
- null [1] IMPLICIT NULL
-}
-
-Spacing-Ratio ::= SEQUENCE {
- line-spacing-value INTEGER,
- pel-spacing-value INTEGER
-}
-
-Image-Dimensions ::= CHOICE {
- width-controlled
- [0] IMPLICIT SEQUENCE {minimum-width [0] INTEGER,
- preferred-width [0] INTEGER},
- height-controlled
- [1] IMPLICIT SEQUENCE {minimum-height INTEGER,
- preferred-height INTEGER},
- area-controlled
- [2] IMPLICIT SEQUENCE {minimum-width INTEGER,
- preferred-width INTEGER,
- minimum-height INTEGER,
- preferred-height INTEGER,
- aspect-ratio-flag INTEGER {fixed(0), variable(1)}
- },
- automatic [3] IMPLICIT NULL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Profile-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Profile-Attributes.asn
deleted file mode 100644
index 365144ff35..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Raster-Gr-Profile-Attributes.asn
+++ /dev/null
@@ -1,76 +0,0 @@
--- Module Raster-Gr-Profile-Attributes (T.417:03/1993)
-
-Raster-Gr-Profile-Attributes {2 8 1 7 4} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Ra-Gr-Presentation-Feature, Ra-Gr-Coding-Attribute,
- Raster-Gr-Content-Defaults;
-
-IMPORTS
- One-Of-Four-Angles, One-Of-Two-Angles, Pel-Transmission-Density,
- Measure-Pair, Clipping, Pel-Spacing, Spacing-Ratio, Image-Dimensions,
- Coordinate-Pair, Raster-Graphics-Attributes
- FROM Raster-Gr-Presentation-Attributes {2 8 1 7 2}
- Compression, Tile-Type, Bits-Per-Colour-Component, Subsampling
- FROM Raster-Gr-Coding-Attributes {2 8 1 7 3};
-
-Ra-Gr-Coding-Attribute ::= CHOICE {
- compression [0] IMPLICIT Compression,
- bits-per-colour-component [4] Bits-Per-Colour-Component,
- interleaving-format
- [5] IMPLICIT INTEGER {pel(0), line(1), plane(2), stripe(3)},
- number-of-pels-per-tile-line [6] IMPLICIT INTEGER,
- number-of-lines-per-tile [7] IMPLICIT INTEGER,
- tiling-offset [8] IMPLICIT Coordinate-Pair,
- tiling-types [9] IMPLICIT Tile-Type,
- subsampling [10] IMPLICIT Subsampling,
- jpeg-coding-mode
- [11] IMPLICIT INTEGER {-- Huffman coding
- huffman-baseline(0),
- huffman-extended-sequential-DCT(1),
- huffman-progressive-DCT(2),
- huffman-spatial-lossless(3),
- -- arithmetic coding
- arithmetic-progressive-DCT(10),
- arithmetic-spatial-lossless(11)},
- jpeg-quantization-table
- [12] IMPLICIT INTEGER {associated(0), default(1)},
- jpeg-huffman-table
- [13] IMPLICIT INTEGER {associated(0), preferred(1)},
- jbig-tp-for-base-layer [14] IMPLICIT INTEGER {not-used(0), used(1)},
- jbig-differential-layer
- [15] IMPLICIT INTEGER {dl-not-present(0), dl-encoded-without-tp-and-dp(1),
- dl-encoded-with-tp(2), dl-encoded-with-dp(3),
- dl-encoded-with-dp-and-private-dp-table(4),
- dl-encoded-with-tp-and-dp(5),
- dl-encoded-with-tp-dp-and-private-dp-table(6)},
- number-of-lines-per-stripe [16] IMPLICIT INTEGER
-}
-
-Ra-Gr-Presentation-Feature ::= CHOICE {
- initial-offset [3] IMPLICIT Measure-Pair,
- clipping [4] IMPLICIT Clipping,
- pel-spacing [5] Pel-Spacing,
- spacing-ratio [6] IMPLICIT Spacing-Ratio,
- image-dimensions [7] Image-Dimensions,
- pel-path [9] IMPLICIT One-Of-Four-Angles,
- line-progression [10] IMPLICIT One-Of-Two-Angles,
- pel-transmission-density [11] IMPLICIT Pel-Transmission-Density
-}
-
--- The tag values used above preserve compatibility
--- with Group 4 Class I facsimile data streams.
-Raster-Gr-Content-Defaults ::= SET {
- COMPONENTS OF Raster-Graphics-Attributes,
- compression [8] IMPLICIT Compression OPTIONAL,
- number-of-pels-per-tile-line [11] IMPLICIT INTEGER OPTIONAL,
- number-of-lines-per-tile [12] IMPLICIT INTEGER OPTIONAL,
- tiling-offset [13] IMPLICIT Coordinate-Pair OPTIONAL,
- tiling-type [14] IMPLICIT Tile-Type OPTIONAL
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Reliable-Transfer-APDU.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Reliable-Transfer-APDU.asn
deleted file mode 100644
index d00570b7e7..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Reliable-Transfer-APDU.asn
+++ /dev/null
@@ -1,132 +0,0 @@
--- Module Reliable-Transfer-APDU (X.228:11/1988)
-
-Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
-DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- rTSE, rTSE-abstract-syntax, RTORQapdu, RTOACapdu, RTORJapdu, RTABapdu; -- for use by Presentation Layer only
-
-IMPORTS
- CONTRACT
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-OPEN ::= CLASS {&Type
-}WITH SYNTAX {TYPE &Type
-}
-
-rTSE-abstract-syntax OBJECT IDENTIFIER ::=
- {joint-iso-itu-t reliable-transfer(3) abstract-syntax(2)}
-
-rTSE CONTRACT ::= {ID {joint-iso-itu-t reliable-transfer(3) aseID(1)}
-}
-
-RTSE-apdus ::= CHOICE {
- rtorq-apdu [16] IMPLICIT RTORQapdu,
- rtoac-apdu [17] IMPLICIT RTOACapdu,
- rtorj-apdu [18] IMPLICIT RTORJapdu,
- rttp-apdu RTTPapdu,
- rttr-apdu RTTRapdu,
- rtab-apdu [22] IMPLICIT RTABapdu
-}
-
--- Tags [19], [20], [21] are used by the values of the UNBIND macro of the RO-notation of
--- Recommendation X.219. Tags [0] to [15] inclusive are reserved for the
--- use by the APDUs of ROSE (Recommendation X229). Any occurrence of
--- ANY in this module shall be replaced by a single ASN. 1 type (if any) in an RTSE-user
--- protocol specification. In addition any RTSE-user protocol sharing a single named
--- abstract syntax with the RTSE protocol shall use distinct tags for the single
--- presentation data values in the user data parameters of the RT-CLOSE (if any) and
--- RT- TRANSFER services. These tags shall be distinct from the tag values [16], [17],
--- [18] and [22] and from the ASN. 1 types INTEGER and OCTET STRING.
--- Note - The above conditions are ensured, if the RTSE-user protocol specification uses the
--- RO-notation of Recommendation X229.
--- In X.410-1984 mode only the components of RTORQapdu, RTOACapdu, RTORJapdu
--- and RTABapdu are used by the presentation layer. This has the effect that the following
--- APDU types appear in the protocol in X.410-1984 mode instead of the alternative types
--- of the RTSE-apdus type:
--- RTORQapdu
--- RTOACapdu
--- RTORJapdu
--- RTTPapdu
--- RTTRapdu
--- RTABapdu
-RTORQapdu ::= SET {
- checkpointSize [0] IMPLICIT INTEGER DEFAULT 0,
- windowSize [1] IMPLICIT INTEGER DEFAULT 3,
- dialogueMode
- [2] IMPLICIT INTEGER {monologue(0), twa(1)} DEFAULT monologue,
- connectionDataRQ [3] ConnectionData,
- applicationProtocol
- [4] IMPLICIT INTEGER OPTIONAL --solely in X.410-1984 mode--
-}
-
-RTOACapdu ::= SET {
- checkpointSize [0] IMPLICIT INTEGER DEFAULT 0,
- windowSize [1] IMPLICIT INTEGER DEFAULT 3,
- connectionDataAC [2] ConnectionData
-}
-
-RTORJapdu ::= SET {
- refuseReason [0] IMPLICIT RefuseReason OPTIONAL, -- only in X.410-1984 mode
- userDataRJ
- [1] OPEN.&Type OPTIONAL -- RTSE user data, only in normal mode--
-}
-
-RTTPapdu ::= -- priority-- INTEGER
-
-RTTRapdu ::= OCTET STRING
-
-RTABapdu ::= SET {
- abortReason [0] IMPLICIT AbortReason OPTIONAL,
- reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
- -- 8 bits maximum, only if abortReason is invalidParameter
- userdataAB
- [2] OPEN.&Type OPTIONAL -- only in normal mode and if abortReason--
- -- is userError
-}
-
-ConnectionData ::= CHOICE {
- open [0] OPEN.&Type, -- RTSE user data
-
- -- this alternative is encoded as [0] IMPLICIT NULL
- -- in the case of absence of RTSE user data,
- recover [1] IMPLICIT SessionConnectionIdentifier
-}
-
-SessionConnectionIdentifier ::= SEQUENCE {
- callingSSuserReference CallingSSuserReference,
- commonReference CommonReference,
- additionalReferenceInformation
- [0] IMPLICIT AdditionalReferenceInformation OPTIONAL
-}
-
-RefuseReason ::= INTEGER {
- rtsBusy(0), cannotRecover(1), validationFailure(2),
- unacceptableDialogueMode(3)}
-
-CallingSSuserReference ::= CHOICE {
- t61String T61String -- solely in X.410-1984 --,
- octetString OCTET STRING -- solely in normal mode --
-}
-
-CommonReference ::= UTCTime
-
-AdditionalReferenceInformation ::= T61String
-
-AbortReason ::= INTEGER {
- localSystemProblem(0),
- invalidParameter(1), -- reflectedParameter supplied
- unrecognizedActivity(2),
- temporaryProblem(3),
- -- the RTSE cannot accept a session for a period of time
- protocolError(4), -- RTSE level protocol error
- permanentProblem(5), --provider-abort solely in normal mode
- userError(6), -- user-abort solely in normal mode
- transferCompleted(7) -- activity can't be discarded--}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Abstract-Syntaxes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Abstract-Syntaxes.asn
deleted file mode 100644
index 4a59cc403b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Abstract-Syntaxes.asn
+++ /dev/null
@@ -1,103 +0,0 @@
--- Module Remote-Operations-Abstract-Syntaxes (X.882:07/1994)
-
-Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t remote-operations(4)
- remote-operations-abstract-syntaxes(12) version1(0)} DEFINITIONS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- OPERATION-PACKAGE
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- InvokeId, noInvokeId, ROS{}, Bind{}, Unbind{}
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)}
- ACSE-apdu
- FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0)
- version1(1)}
- RTORQapdu, RTOACapdu, RTORJapdu
- FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
- combine{}, AllOperations{}, ConsumerPerforms{}, SupplierPerforms{}
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)}
- APPLICATION-CONTEXT
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)};
-
-RTSE-apdus ::= CHOICE {
- rtorq-apdu [16] IMPLICIT RTORQapdu,
- rtoac-apdu [17] IMPLICIT RTOACapdu,
- rtorj-apdu [18] IMPLICIT RTORJapdu,
- rttp-apdu RTTPapdu,
- rttr-apdu RTTRapdu,
- rtab-apdu [22] IMPLICIT RTABapdu
-}
-
-RTTPapdu ::= -- priority-- INTEGER
-
-RTTRapdu ::= OCTET STRING
-
-RTABapdu ::= SET {
- abortReason [0] IMPLICIT AbortReason OPTIONAL,
- reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL,
- -- 8 bits maximum, only if abortReason is invalidParameter
- userdataAB
- [2] TYPE-IDENTIFIER.&Type
- OPTIONAL -- only in normal mode and if abortReason--
- -- is userError
-}
-
-AbortReason ::= INTEGER {
- localSystemProblem(0),
- invalidParameter(1), -- reflectedParameter supplied
- unrecognizedActivity(2),
- temporaryProblem(3),
- -- the RTSE cannot accept a session for a period of time
- protocolError(4), -- RTSE level protocol error
- permanentProblem(5), --provider-abort solely in normal mode
- userError(6), -- user-abort solely in normal mode
- transferCompleted(7) -- activity can't be discarded--}
-
-acse-abstract-syntax ABSTRACT-SYNTAX ::= {
- ACSE-apdu
- IDENTIFIED BY
- {joint-iso-itu-t association-control(2) abstract-syntax(1) apdus(0)
- version1(1)}
-}
-
-rtse-abstract-syntax ABSTRACT-SYNTAX ::= {
- RTSE-apdus
- IDENTIFIED BY {joint-iso-itu-t reliable-transfer(3) apdus(0)}
-}
-
-AllValues{APPLICATION-CONTEXT:ac} ::= CHOICE {
- bind Bind{ac.&associationContract.&connection.&bind},
- unbind Unbind{ac.&associationContract.&connection.&unbind},
- ros-singleAS
- ROS-SingleAS{{ROSEInvokeIds},
- combine{{ac.&associationContract.&OperationsOf |
- ac.&associationContract.&InitiatorConsumerOf |
- ac.&associationContract.&ResponderConsumerOf}, {
- ...},
- {-- Information Object of class OPERATION-PACKAGE to be defined -- }}}
-}
-
-ROS-SingleAS{InvokeId:ROSEInvokeIds, OPERATION-PACKAGE:package} ::=
- ROS{{ROSEInvokeIds}, {AllOperations {package}}, {AllOperations {package}}}
-
-ROS-ConsumerAS{InvokeId:ROSEInvokeIds, OPERATION-PACKAGE:package} ::=
- ROS
- {{ROSEInvokeIds}, {ConsumerPerforms {package}},
- {SupplierPerforms {package}}}
-
-ROS-SupplierAS{InvokeId:ROSEInvokeIds, OPERATION-PACKAGE:package} ::=
- ROS
- {{ROSEInvokeIds}, {SupplierPerforms {package}},
- {ConsumerPerforms {package}}}
-
-ROSEInvokeIds InvokeId ::= {ALL EXCEPT noInvokeId}
-
-END -- end of the remote-operations-abstract-syntaxes module
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Generic-ROS-PDUs.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Generic-ROS-PDUs.asn
deleted file mode 100644
index e55ea3c05e..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Generic-ROS-PDUs.asn
+++ /dev/null
@@ -1,163 +0,0 @@
--- Module Remote-Operations-Generic-ROS-PDUs (X.880:07/1994)
-
-Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4)
- generic-ROS-PDUs(6) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- OPERATION, ERROR
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::=
- CHOICE {
- invoke [1] Invoke{{InvokeIdSet}, {Invokable}},
- returnResult [2] ReturnResult{{Returnable}},
- returnError [3] ReturnError{{Errors {{Returnable}}}},
- reject [4] Reject
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-unrecognizedPDU)
-
-Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
- invokeId
- InvokeId(InvokeIdSet)
- (CONSTRAINED BY { -- must be unambiguous --} !
- RejectProblem:invoke-duplicateInvocation),
- linkedId
- CHOICE {present [0] IMPLICIT present < InvokeId,
- absent [1] IMPLICIT NULL
- }
- (CONSTRAINED BY { -- must identify an outstanding operation --} !
- RejectProblem:invoke-unrecognizedLinkedId)
- (CONSTRAINED BY { -- which has one or more linked operations--} !
- RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
- opcode
- OPERATION.&operationCode
- ({Operations} !RejectProblem:invoke-unrecognizedOperation),
- argument
- OPERATION.&ArgumentType
- ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-(WITH COMPONENTS {
- ...,
- linkedId ABSENT
- } |
- WITH COMPONENTS {
- ...,
- linkedId PRESENT,
- opcode (CONSTRAINED BY { -- must be in the &Linked field of the associated operation --
- } !RejectProblem:invoke-unexpectedLinkedOperation)
- })
-
--- continued on the next page
-ReturnResult{OPERATION:Operations} ::= SEQUENCE {
- invokeId
- InvokeId
- (CONSTRAINED BY { -- must be that for an outstanding operation --} !
- RejectProblem:returnResult-unrecognizedInvocation)
- (CONSTRAINED BY { -- which returns a result --} !
- RejectProblem:returnResult-resultResponseUnexpected),
- result
- SEQUENCE {opcode
- OPERATION.&operationCode({Operations})
- (CONSTRAINED BY { -- identified by invokeId --} !
- RejectProblem:returnResult-unrecognizedInvocation),
- result
- OPERATION.&ResultType
- ({Operations}{@.opcode} !
- RejectProblem:returnResult-mistypedResult)} OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-ReturnError{ERROR:Errors} ::= SEQUENCE {
- invokeId
- InvokeId
- (CONSTRAINED BY { -- must be that for an outstanding operation --} !
- RejectProblem:returnError-unrecognizedInvocation)
- (CONSTRAINED BY { -- which returns an error --} !
- RejectProblem:returnError-errorResponseUnexpected),
- errcode
- ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
- (CONSTRAINED BY { -- must be in the &Errors field of the associated operation --
- } !RejectProblem:returnError-unexpectedError),
- parameter
- ERROR.&ParameterType
- ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
- OPTIONAL
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-Reject ::= SEQUENCE {
- invokeId InvokeId,
- problem
- CHOICE {general [0] GeneralProblem,
- invoke [1] InvokeProblem,
- returnResult [2] ReturnResultProblem,
- returnError [3] ReturnErrorProblem}
-}
-(CONSTRAINED BY { -- must conform to the above definition --} !
- RejectProblem:general-mistypedPDU)
-
-GeneralProblem ::= INTEGER {
- unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)}
-
--- continued on the next page
-InvokeProblem ::= INTEGER {
- duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
- resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
- linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
-
-ReturnResultProblem ::= INTEGER {
- unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
-}
-
-ReturnErrorProblem ::= INTEGER {
- unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
- unexpectedError(3), mistypedParameter(4)}
-
-RejectProblem ::= INTEGER {
- general-unrecognizedPDU(0), general-mistypedPDU(1),
- general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
- invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
- invoke-resourceLimitation(13), invoke-releaseInProgress(14),
- invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
- invoke-unexpectedLinkedOperation(17),
- returnResult-unrecognizedInvocation(20),
- returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
- returnError-unrecognizedInvocation(30),
- returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
- returnError-unexpectedError(33), returnError-mistypedParameter(34)}
-
-InvokeId ::= CHOICE {present INTEGER,
- absent NULL
-}
-
-noInvokeId InvokeId ::= absent:NULL
-
-NoInvokeId InvokeId ::= {noInvokeId}
-
-Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
-
--- continued on the next page
-Bind{OPERATION:operation} ::= CHOICE {
- bind-invoke [16] OPERATION.&ArgumentType({operation}),
- bind-result [17] OPERATION.&ResultType({operation}),
- bind-error [18] OPERATION.&Errors.&ParameterType({operation})
-}
-
-Unbind{OPERATION:operation} ::= CHOICE {
- unbind-invoke [19] OPERATION.&ArgumentType({operation}),
- unbind-result [20] OPERATION.&ResultType({operation}),
- unbind-error [21] OPERATION.&Errors.&ParameterType({operation})
-}
-
-END -- end of generic ROS PDU definitions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Information-Objects-extensions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Information-Objects-extensions.asn
deleted file mode 100644
index 671cf0e780..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Information-Objects-extensions.asn
+++ /dev/null
@@ -1,36 +0,0 @@
--- Module Remote-Operations-Information-Objects-extensions (X.881:07/1994)
-
-Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)}
-DEFINITIONS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- CONTRACT
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)};
-
-APPLICATION-CONTEXT ::= CLASS {
- &associationContract CONTRACT,
- &associationRealization REALIZATION OPTIONAL,
- &transferRealization REALIZATION,
- &AbstractSyntaxes ABSTRACT-SYNTAX,
- &applicationContextName OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- CONTRACT &associationContract
- [ESTABLISHED BY &associationRealization]
- INFORMATION TRANSFER BY &transferRealization
- ABSTRACT SYNTAXES &AbstractSyntaxes
- APPLICATION CONTEXT NAME &applicationContextName
-}
-
-REALIZATION ::= TYPE-IDENTIFIER
-
--- information objects ABSTRACT-SYNTAX and TYPE-IDENTIFIER are defined in ITU-T Rec. X.681 |
--- ISO/IEC 8824-2
-END -- end of the information-objects-extensions module
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Information-Objects.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Information-Objects.asn
deleted file mode 100644
index b497e4126b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Information-Objects.asn
+++ /dev/null
@@ -1,123 +0,0 @@
--- Module Remote-Operations-Information-Objects (X.880:07/1994)
-
-Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
- informationObjects(5) version1(0)} DEFINITIONS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- emptyBind, emptyUnbind
- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
- remote-operations(4) useful-definitions(7) version1(0)};
-
-OPERATION ::= CLASS {
- &ArgumentType OPTIONAL,
- &argumentTypeOptional BOOLEAN OPTIONAL,
- &returnResult BOOLEAN DEFAULT TRUE,
- &ResultType OPTIONAL,
- &resultTypeOptional BOOLEAN OPTIONAL,
- &Errors ERROR OPTIONAL,
- &Linked OPERATION OPTIONAL,
- &synchronous BOOLEAN DEFAULT FALSE,
- &alwaysReturns BOOLEAN DEFAULT TRUE,
- &InvokePriority Priority OPTIONAL,
- &ResultPriority Priority OPTIONAL,
- &operationCode Code UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [ARGUMENT &ArgumentType
- [OPTIONAL &argumentTypeOptional]]
- [RESULT &ResultType
- [OPTIONAL &resultTypeOptional]]
- [RETURN RESULT &returnResult]
- [ERRORS &Errors]
- [LINKED &Linked]
- [SYNCHRONOUS &synchronous]
- [ALWAYS RESPONDS &alwaysReturns]
- [INVOKE PRIORITY &InvokePriority]
- [RESULT-PRIORITY &ResultPriority]
- [CODE &operationCode]
-}
-
-ERROR ::= CLASS {
- &ParameterType OPTIONAL,
- &parameterTypeOptional BOOLEAN OPTIONAL,
- &ErrorPriority Priority OPTIONAL,
- &errorCode Code UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [PARAMETER &ParameterType
- [OPTIONAL &parameterTypeOptional]]
- [PRIORITY &ErrorPriority]
- [CODE &errorCode]
-}
-
-OPERATION-PACKAGE ::= CLASS {
- &Both OPERATION OPTIONAL,
- &Consumer OPERATION OPTIONAL,
- &Supplier OPERATION OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
--- continued on the next page
-WITH SYNTAX {
- [OPERATIONS &Both]
- [CONSUMER INVOKES &Supplier]
- [SUPPLIER INVOKES &Consumer]
- [ID &id]
-}
-
-CONNECTION-PACKAGE ::= CLASS {
- &bind OPERATION DEFAULT emptyBind,
- &unbind OPERATION DEFAULT emptyUnbind,
- &responderCanUnbind BOOLEAN DEFAULT FALSE,
- &unbindCanFail BOOLEAN DEFAULT FALSE,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [BIND &bind]
- [UNBIND &unbind]
- [RESPONDER UNBIND &responderCanUnbind]
- [FAILURE TO UNBIND &unbindCanFail]
- [ID &id]
-}
-
-CONTRACT ::= CLASS {
- &connection CONNECTION-PACKAGE OPTIONAL,
- &OperationsOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
- &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE OPTIONAL
-}
-WITH SYNTAX {
- [CONNECTION &connection]
- [OPERATIONS OF &OperationsOf]
- [INITIATOR CONSUMER OF &InitiatorConsumerOf]
- [RESPONDER CONSUMER OF &InitiatorSupplierOf]
- [ID &id]
-}
-
-ROS-OBJECT-CLASS ::= CLASS {
- &Is ROS-OBJECT-CLASS OPTIONAL,
- &Initiates CONTRACT OPTIONAL,
- &Responds CONTRACT OPTIONAL,
- &InitiatesAndResponds CONTRACT OPTIONAL,
- &id OBJECT IDENTIFIER UNIQUE
-}
-WITH SYNTAX {
- [IS &Is]
- [BOTH &InitiatesAndResponds]
- [INITIATES &Initiates]
- [RESPONDS &Responds]
- ID &id
-}
-
-Code ::= CHOICE {local INTEGER,
- global OBJECT IDENTIFIER
-}
-
-Priority ::= INTEGER(0..MAX)
-
-END -- end of Information Object specifications
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Realizations.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Realizations.asn
deleted file mode 100644
index 73b49c8d7a..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Realizations.asn
+++ /dev/null
@@ -1,81 +0,0 @@
--- Module Remote-Operations-Realizations (X.882:07/1994)
-
-Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
- realizations(9) version1(0)} DEFINITIONS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- REALIZATION
- FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
- remote-operations(4) informationObjects-extensions(8) version1(0)};
-
-RealizationParameter ::= SEQUENCE {
- realization-type ENUMERATED {association-service(0), transfer-service(1)},
- concatenation BOOLEAN DEFAULT FALSE
-}
-
-acse REALIZATION ::= {
- RealizationParameter
- (WITH COMPONENTS {
- realization-type (association-service)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) association-realizations(10)
- acse-without-concatenation(0)}
-}
-
-acse-with-concatenation REALIZATION ::= {
- RealizationParameter
- (WITH COMPONENTS {
- realization-type (association-service),
- concatenation (TRUE)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) association-realizations(10)
- acse-with-concatenation(1)}
-}
-
-association-by-RTSE REALIZATION ::= {
- RealizationParameter
- (WITH COMPONENTS {
- realization-type (association-service)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) association-realizations(10)
- association-by-rtse(2)}
-}
-
-pData REALIZATION ::= {
- RealizationParameter(WITH COMPONENTS {
- realization-type (transfer-service)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) transfer-realizations(11)
- pData-without-concatenation(0)}
-}
-
-pData-with-concatenation REALIZATION ::= {
- RealizationParameter
- (WITH COMPONENTS {
- realization-type (transfer-service),
- concatenation (TRUE)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) transfer-realizations(11)
- pData-with-concatenation(1)}
-}
-
-transfer-by-RTSE REALIZATION ::= {
- RealizationParameter(WITH COMPONENTS {
- realization-type (transfer-service)
- })
- IDENTIFIED BY
- {joint-iso-itu-t remote-operations(4) transfer-realizations(11)
- rTSE-transfer(2)}
-}
-
-END -- end of the OSI realizations module
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Useful-Definitions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Useful-Definitions.asn
deleted file mode 100644
index e526ff4600..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Remote-Operations-Useful-Definitions.asn
+++ /dev/null
@@ -1,95 +0,0 @@
--- Module Remote-Operations-Useful-Definitions (X.880:07/1994)
-
-Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4)
- useful-definitions(7) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- exports everything
-IMPORTS
- OPERATION, ERROR, OPERATION-PACKAGE, Code
- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
- remote-operations(4) informationObjects(5) version1(0)}
- InvokeId, ROS{}
- FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
- remote-operations(4) generic-ROS-PDUs(6) version1(0)};
-
-emptyBind OPERATION ::= {ERRORS {refuse}
- SYNCHRONOUS TRUE
-}
-
-emptyUnbind OPERATION ::= {SYNCHRONOUS TRUE
-}
-
-refuse ERROR ::= {CODE local:-1
-}
-
-no-op OPERATION ::= {ALWAYS RESPONDS FALSE
- CODE local:-1
-}
-
-Forward{OPERATION:OperationSet} OPERATION ::=
- {OperationSet | OperationSet.&Linked.&Linked |
- OperationSet.&Linked.&Linked.&Linked.&Linked}
-
-Reverse{OPERATION:OperationSet} OPERATION ::= {Forward{{OperationSet.&Linked}}}
-
-ConsumerPerforms{OPERATION-PACKAGE:package} OPERATION ::=
- {Forward{{package.&Consumer}} | Forward{{package.&Both}} |
- Reverse{{package.&Supplier}} | Reverse{{package.&Both}}}
-
-SupplierPerforms{OPERATION-PACKAGE:package} OPERATION ::=
- {Forward{{package.&Supplier}} | Forward{{package.&Both}} |
- Reverse{{package.&Consumer}} | Reverse{{package.&Both}}}
-
-AllOperations{OPERATION-PACKAGE:package} OPERATION ::=
- {ConsumerPerforms{package} | SupplierPerforms{package}}
-
--- continued on the next page
-recode{OPERATION:operation, Code:code} OPERATION ::= {
- ARGUMENT operation.&ArgumentType
- OPTIONAL operation.&argumentTypeOptional
- RESULT operation.&ResultType
- OPTIONAL operation.&resultTypeOptional
- RETURN RESULT operation.&returnResult
- ERRORS {operation.&Errors}
- LINKED {operation.&Linked}
- SYNCHRONOUS operation.&synchronous
- ALWAYS RESPONDS operation.&alwaysReturns
- INVOKE PRIORITY {operation.&InvokePriority}
- RESULT-PRIORITY {operation.&ResultPriority}
- CODE code
-}
-
-switch{OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
-{
- OPERATIONS {package.&Both}
- CONSUMER INVOKES {package.&Consumer}
- SUPPLIER INVOKES {package.&Supplier}
- ID id
-}
-
-combine{OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies,
- OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= {
- OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
- CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
- SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
- ID base.&id
-}
-
-ROS-SingleAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS{{InvokeIdSet}, {AllOperations {package}}, {AllOperations {package}}}
-
-ROS-ConsumerAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS
- {{InvokeIdSet}, {ConsumerPerforms {package}},
- {SupplierPerforms {package}}}
-
-ROS-SupplierAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
- ROS
- {{InvokeIdSet}, {SupplierPerforms {package}},
- {ConsumerPerforms {package}}}
-
-END -- end of useful definitions.
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SelectedAttributeTypes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SelectedAttributeTypes.asn
deleted file mode 100644
index 07bba30690..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SelectedAttributeTypes.asn
+++ /dev/null
@@ -1,1466 +0,0 @@
--- Module SelectedAttributeTypes (X.520:08/1997)
-
-SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
- selectedAttributeTypes(5) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-IMPORTS
- informationFramework, upperBounds, id-at, id-mr, id-avc,
- directoryAbstractService, id-pr, id-not, id-cat
- FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
- usefulDefinitions(0) 3}
- Attribute, ATTRIBUTE, MATCHING-RULE, AttributeType, OBJECT-CLASS,
- DistinguishedName, objectIdentifierMatch, distinguishedNameMatch,
- CONTEXT, ContextAssertion, AttributeCombination, ContextCombination,
- MAPPING-BASED-MATCHING, MRMapping, AttributeValueAssertion
- FROM InformationFramework informationFramework
- G3FacsimileNonBasicParameters
- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
- mts-abstract-service(1) version-1999(1)}
- ub-answerback, ub-name, ub-common-name, ub-surname, ub-serial-number,
- ub-locality-name, ub-state-name, ub-street-address, ub-organization-name,
- ub-organizational-unit-name, ub-title, ub-description,
- ub-business-category, ub-postal-line, ub-postal-string, ub-postal-code,
- ub-post-office-box, ub-physical-office-name, ub-telex-number,
- ub-country-code, ub-teletex-terminal-id, ub-telephone-number,
- ub-x121-address, ub-international-isdn-number, ub-destination-indicator,
- ub-user-password, ub-match, ub-knowledge-information,
- ub-directory-string-first-component-match, ub-localeContextSyntax,
- ub-pseudonym
- FROM UpperBounds upperBounds
- FilterItem, HierarchySelections, SearchControlOptions, ServiceControlOptions
- FROM DirectoryAbstractService directoryAbstractService;
-
--- Directory string type
-DirectoryString{INTEGER:maxSize} ::= CHOICE {
- teletexString TeletexString(SIZE (1..maxSize)),
- printableString PrintableString(SIZE (1..maxSize)),
- universalString UniversalString(SIZE (1..maxSize)),
- bmpString BMPString(SIZE (1..maxSize)),
- uTF8String UTF8String(SIZE (1..maxSize))
-}
-
--- Attribute types
-knowledgeInformation ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-knowledge-information}
- EQUALITY MATCHING RULE caseIgnoreMatch
- ID id-at-knowledgeInformation
-}
-
-name ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-name
-}
-
-commonName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-commonName
-}
-
-surname ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-surname}
- ID id-at-surname
-}
-
-givenName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-givenName
-}
-
-initials ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-initials
-}
-
-generationQualifier ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-name}
- ID id-at-generationQualifier
-}
-
-uniqueIdentifier ATTRIBUTE ::= {
- WITH SYNTAX UniqueIdentifier
- EQUALITY MATCHING RULE bitStringMatch
- ID id-at-uniqueIdentifier
-}
-
-UniqueIdentifier ::= BIT STRING
-
-dnQualifier ATTRIBUTE ::= {
- WITH SYNTAX PrintableString
- EQUALITY MATCHING RULE caseIgnoreMatch
- ORDERING MATCHING RULE caseIgnoreOrderingMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-dnQualifier
-}
-
-serialNumber ATTRIBUTE ::= {
- WITH SYNTAX PrintableString(SIZE (1..ub-serial-number))
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-serialNumber
-}
-
-pseudonym ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-pseudonym}
- ID id-at-pseudonym
-}
-
-countryName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX CountryName
- SINGLE VALUE TRUE
- ID id-at-countryName
-}
-
-CountryName ::= PrintableString(SIZE (2)) -- ISO 3166 codes only
-
-
-localityName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-locality-name}
- ID id-at-localityName
-}
-
-collectiveLocalityName ATTRIBUTE ::= {
- SUBTYPE OF localityName
- COLLECTIVE TRUE
- ID id-at-collectiveLocalityName
-}
-
-stateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-state-name}
- ID id-at-stateOrProvinceName
-}
-
-collectiveStateOrProvinceName ATTRIBUTE ::= {
- SUBTYPE OF stateOrProvinceName
- COLLECTIVE TRUE
- ID id-at-collectiveStateOrProvinceName
-}
-
-streetAddress ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-street-address}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-streetAddress
-}
-
-collectiveStreetAddress ATTRIBUTE ::= {
- SUBTYPE OF streetAddress
- COLLECTIVE TRUE
- ID id-at-collectiveStreetAddress
-}
-
-houseIdentifier ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-houseIdentifier
-}
-
-organizationName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organization-name}
- ID id-at-organizationName
-}
-
-collectiveOrganizationName ATTRIBUTE ::= {
- SUBTYPE OF organizationName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationName
-}
-
-organizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-organizational-unit-name}
- ID id-at-organizationalUnitName
-}
-
-collectiveOrganizationalUnitName ATTRIBUTE ::= {
- SUBTYPE OF organizationalUnitName
- COLLECTIVE TRUE
- ID id-at-collectiveOrganizationalUnitName
-}
-
-title ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-title}
- ID id-at-title
-}
-
-description ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-description}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-description
-}
-
-searchGuide ATTRIBUTE ::= {WITH SYNTAX Guide
- ID id-at-searchGuide
-}
-
-Guide ::= SET {
- objectClass [0] OBJECT-CLASS.&id OPTIONAL,
- criteria [1] Criteria
-}
-
-Criteria ::= CHOICE {
- type [0] CriteriaItem,
- and [1] SET OF Criteria,
- or [2] SET OF Criteria,
- not [3] Criteria
-}
-
-CriteriaItem ::= CHOICE {
- equality [0] AttributeType,
- substrings [1] AttributeType,
- greaterOrEqual [2] AttributeType,
- lessOrEqual [3] AttributeType,
- approximateMatch [4] AttributeType
-}
-
-enhancedSearchGuide ATTRIBUTE ::= {
- WITH SYNTAX EnhancedGuide
- ID id-at-enhancedSearchGuide
-}
-
-EnhancedGuide ::= SEQUENCE {
- objectClass [0] OBJECT-CLASS.&id,
- criteria [1] Criteria,
- subset
- [2] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} DEFAULT oneLevel
-}
-
-businessCategory ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-business-category}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-businessCategory
-}
-
-postalAddress ATTRIBUTE ::= {
- WITH SYNTAX PostalAddress
- EQUALITY MATCHING RULE caseIgnoreListMatch
- SUBSTRINGS MATCHING RULE caseIgnoreListSubstringsMatch
- ID id-at-postalAddress
-}
-
-PostalAddress ::=
- SEQUENCE SIZE (1..ub-postal-line) OF DirectoryString{ub-postal-string}
-
-collectivePostalAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- COLLECTIVE TRUE
- ID id-at-collectivePostalAddress
-}
-
-postalCode ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-postal-code}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postalCode
-}
-
-collectivePostalCode ATTRIBUTE ::= {
- SUBTYPE OF postalCode
- COLLECTIVE TRUE
- ID id-at-collectivePostalCode
-}
-
-postOfficeBox ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-post-office-box}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-postOfficeBox
-}
-
-collectivePostOfficeBox ATTRIBUTE ::= {
- SUBTYPE OF postOfficeBox
- COLLECTIVE TRUE
- ID id-at-collectivePostOfficeBox
-}
-
-physicalDeliveryOfficeName ATTRIBUTE ::= {
- WITH SYNTAX DirectoryString {ub-physical-office-name}
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-physicalDeliveryOfficeName
-}
-
-collectivePhysicalDeliveryOfficeName ATTRIBUTE ::= {
- SUBTYPE OF physicalDeliveryOfficeName
- COLLECTIVE TRUE
- ID id-at-collectivePhysicalDeliveryOfficeName
-}
-
-telephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX TelephoneNumber
- EQUALITY MATCHING RULE telephoneNumberMatch
- SUBSTRINGS MATCHING RULE telephoneNumberSubstringsMatch
- ID id-at-telephoneNumber
-}
-
-TelephoneNumber ::= PrintableString(SIZE (1..ub-telephone-number))
-
--- String complying with CCITT Rec. E.123 only
-collectiveTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF telephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelephoneNumber
-}
-
-telexNumber ATTRIBUTE ::= {
- WITH SYNTAX TelexNumber
- ID id-at-telexNumber
-}
-
-TelexNumber ::= SEQUENCE {
- telexNumber PrintableString(SIZE (1..ub-telex-number)),
- countryCode PrintableString(SIZE (1..ub-country-code)),
- answerback PrintableString(SIZE (1..ub-answerback))
-}
-
-collectiveTelexNumber ATTRIBUTE ::= {
- SUBTYPE OF telexNumber
- COLLECTIVE TRUE
- ID id-at-collectiveTelexNumber
-}
-
-facsimileTelephoneNumber ATTRIBUTE ::= {
- WITH SYNTAX FacsimileTelephoneNumber
- EQUALITY MATCHING RULE facsimileNumberMatch
- SUBSTRINGS MATCHING RULE facsimileNumberSubstringsMatch
- ID id-at-facsimileTelephoneNumber
-}
-
-facsimileNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-facsimileNumberMatch
-}
-
-facsimileNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-facsimileNumberSubstringsMatch
-}
-
-FacsimileTelephoneNumber ::= SEQUENCE {
- telephoneNumber TelephoneNumber,
- parameters G3FacsimileNonBasicParameters OPTIONAL
-}
-
-collectiveFacsimileTelephoneNumber ATTRIBUTE ::= {
- SUBTYPE OF facsimileTelephoneNumber
- COLLECTIVE TRUE
- ID id-at-collectiveFacsimileTelephoneNumber
-}
-
-x121Address ATTRIBUTE ::= {
- WITH SYNTAX X121Address
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-x121Address
-}
-
-X121Address ::= NumericString(SIZE (1..ub-x121-address))
-
--- String as defined by ITU-T Rec. X.121
-internationalISDNNumber ATTRIBUTE ::= {
- WITH SYNTAX InternationalISDNNumber
- EQUALITY MATCHING RULE numericStringMatch
- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
- ID id-at-internationalISDNNumber
-}
-
-InternationalISDNNumber ::=
- NumericString(SIZE (1..ub-international-isdn-number))
-
--- String complying with ITU-T Rec. E.164 only
-collectiveInternationalISDNNumber ATTRIBUTE ::= {
- SUBTYPE OF internationalISDNNumber
- COLLECTIVE TRUE
- ID id-at-collectiveInternationalISDNNumber
-}
-
-registeredAddress ATTRIBUTE ::= {
- SUBTYPE OF postalAddress
- WITH SYNTAX PostalAddress
- ID id-at-registeredAddress
-}
-
-destinationIndicator ATTRIBUTE ::= {
- WITH SYNTAX DestinationIndicator
- EQUALITY MATCHING RULE caseIgnoreMatch
- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
- ID id-at-destinationIndicator
-}
-
-DestinationIndicator ::= PrintableString(SIZE (1..ub-destination-indicator))
-
-communicationsService ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-communicationsService
-}
-
-communicationsNetwork ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-at-communicationsNetwork
-}
-
--- alphabetical characters only
-preferredDeliveryMethod ATTRIBUTE ::= {
- WITH SYNTAX PreferredDeliveryMethod
- SINGLE VALUE TRUE
- ID id-at-preferredDeliveryMethod
-}
-
-PreferredDeliveryMethod ::=
- SEQUENCE OF
- INTEGER {any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
- g4-facsimile-delivery(6), ia5-terminal-delivery(7),
- videotex-delivery(8), telephone-delivery(9)}
-
-presentationAddress ATTRIBUTE ::= {
- WITH SYNTAX PresentationAddress
- EQUALITY MATCHING RULE presentationAddressMatch
- SINGLE VALUE TRUE
- ID id-at-presentationAddress
-}
-
-PresentationAddress ::= SEQUENCE {
- pSelector [0] OCTET STRING OPTIONAL,
- sSelector [1] OCTET STRING OPTIONAL,
- tSelector [2] OCTET STRING OPTIONAL,
- nAddresses [3] SET SIZE (1..MAX) OF OCTET STRING
-}
-
-supportedApplicationContext ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-at-supportedApplicationContext
-}
-
-protocolInformation ATTRIBUTE ::= {
- WITH SYNTAX ProtocolInformation
- EQUALITY MATCHING RULE protocolInformationMatch
- ID id-at-protocolInformation
-}
-
-ProtocolInformation ::= SEQUENCE {
- nAddress OCTET STRING,
- profiles SET OF OBJECT IDENTIFIER
-}
-
-distinguishedName ATTRIBUTE ::= {
- WITH SYNTAX DistinguishedName
- EQUALITY MATCHING RULE distinguishedNameMatch
- ID id-at-distinguishedName
-}
-
-member ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-member
-}
-
-uniqueMember ATTRIBUTE ::= {
- WITH SYNTAX NameAndOptionalUID
- EQUALITY MATCHING RULE uniqueMemberMatch
- ID id-at-uniqueMember
-}
-
-NameAndOptionalUID ::= SEQUENCE {
- dn DistinguishedName,
- uid UniqueIdentifier OPTIONAL
-}
-
-owner ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-owner
-}
-
-roleOccupant ATTRIBUTE ::= {
- SUBTYPE OF distinguishedName
- ID id-at-roleOccupant
-}
-
-seeAlso ATTRIBUTE ::= {SUBTYPE OF distinguishedName
- ID id-at-seeAlso
-}
-
-dmdName ATTRIBUTE ::= {
- SUBTYPE OF name
- WITH SYNTAX DirectoryString {ub-common-name}
- ID id-at-dmdName
-}
-
-dSAProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-dSAProblem
-}
-
-searchServiceProblem ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-searchServiceProblem
-}
-
-serviceType ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- SINGLE VALUE TRUE
- ID id-not-serviceType
-}
-
-attributeTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-attributeTypeList
-}
-
-filterItem ATTRIBUTE ::= {
- WITH SYNTAX FilterItem
- ID id-not-filterItem
-}
-
-attributeCombinations ATTRIBUTE ::= {
- WITH SYNTAX AttributeCombination
- ID id-not-attributeCombinations
-}
-
-contextTypeList ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-contextTypeList
-}
-
-contextList ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-not-contextList
-}
-
-hierarchySelectList ATTRIBUTE ::= {
- WITH SYNTAX HierarchySelections
- SINGLE VALUE TRUE
- ID id-not-hierarchySelectList
-}
-
-searchOptionsList ATTRIBUTE ::= {
- WITH SYNTAX SearchControlOptions
- SINGLE VALUE TRUE
- ID id-not-searchOptionsList
-}
-
-serviceControlOptionsList ATTRIBUTE ::= {
- WITH SYNTAX ServiceControlOptions
- SINGLE VALUE TRUE
- ID id-not-serviceControlOptionsList
-}
-
-multipleMatchingLocalities ATTRIBUTE ::= {
- WITH SYNTAX MultipleMatchingLocalities
- ID id-not-multipleMatchingLocalities
-}
-
-MultipleMatchingLocalities ::= SEQUENCE {
- matchingRuleUsed MATCHING-RULE.&id OPTIONAL,
- attributeList SEQUENCE OF AttributeValueAssertion
-}
-
-proposedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX SEQUENCE OF MRMapping
- ID id-not-proposedRelaxation
-}
-
-appliedRelaxation ATTRIBUTE ::= {
- WITH SYNTAX OBJECT IDENTIFIER
- EQUALITY MATCHING RULE objectIdentifierMatch
- ID id-not-appliedRelaxation
-}
-
--- Matching rules
-caseIgnoreMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreMatch
-}
-
-caseIgnoreOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseIgnoreOrderingMatch
-}
-
-caseIgnoreSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreSubstringsMatch
-}
-
-SubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] DirectoryString{ub-match},
- any [1] DirectoryString{ub-match},
- final [2] DirectoryString{ub-match},
- control Attribute
- } -- Used to specify interpretation of the following items
-
--- at most one initial and one final component
-caseExactMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactMatch
-}
-
-caseExactOrderingMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-caseExactOrderingMatch
-}
-
-caseExactSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion -- only the PrintableString choice
- ID id-mr-caseExactSubstringsMatch
-}
-
-numericStringMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringMatch
-}
-
-numericStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX NumericString
- ID id-mr-numericStringOrderingMatch
-}
-
-numericStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-numericStringSubstringsMatch
-}
-
-caseIgnoreListMatch MATCHING-RULE ::= {
- SYNTAX CaseIgnoreListMatch
- ID id-mr-caseIgnoreListMatch
-}
-
-CaseIgnoreListMatch ::= SEQUENCE OF DirectoryString{ub-match}
-
-caseIgnoreListSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-caseIgnoreListSubstringsMatch
-}
-
-storedPrefixMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-storedPrefixMatch
-}
-
-booleanMatch MATCHING-RULE ::= {SYNTAX BOOLEAN
- ID id-mr-booleanMatch
-}
-
-integerMatch MATCHING-RULE ::= {SYNTAX INTEGER
- ID id-mr-integerMatch
-}
-
-integerOrderingMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerOrderingMatch
-}
-
-bitStringMatch MATCHING-RULE ::= {
- SYNTAX BIT STRING
- ID id-mr-bitStringMatch
-}
-
-octetStringMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringMatch
-}
-
-octetStringOrderingMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-octetStringOrderingMatch
-}
-
-octetStringSubstringsMatch MATCHING-RULE ::= {
- SYNTAX OctetSubstringAssertion
- ID id-mr-octetStringSubstringsMatch
-}
-
-OctetSubstringAssertion ::=
- SEQUENCE OF
- CHOICE {initial [0] OCTET STRING,
- any [1] OCTET STRING,
- final [2] OCTET STRING}
-
--- at most one initial and one final component
-telephoneNumberMatch MATCHING-RULE ::= {
- SYNTAX TelephoneNumber
- ID id-mr-telephoneNumberMatch
-}
-
-telephoneNumberSubstringsMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-telephoneNumberSubstringsMatch
-}
-
-presentationAddressMatch MATCHING-RULE ::= {
- SYNTAX PresentationAddress
- ID id-mr-presentationAddressMatch
-}
-
-uniqueMemberMatch MATCHING-RULE ::= {
- SYNTAX NameAndOptionalUID
- ID id-mr-uniqueMemberMatch
-}
-
-protocolInformationMatch MATCHING-RULE ::= {
- SYNTAX OCTET STRING
- ID id-mr-protocolInformationMatch
-}
-
-uTCTimeMatch MATCHING-RULE ::= {SYNTAX UTCTime
- ID id-mr-uTCTimeMatch
-}
-
-uTCTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX UTCTime
- ID id-mr-uTCTimeOrderingMatch
-}
-
-generalizedTimeMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeMatch
-}
-
-generalizedTimeOrderingMatch MATCHING-RULE ::= {
- SYNTAX GeneralizedTime
- -- as per 41.3 b) or c) of ITU-T Rec. X.680 | ISO/IEC 8824-1
- ID id-mr-generalizedTimeOrderingMatch
-}
-
-integerFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX INTEGER
- ID id-mr-integerFirstComponentMatch
-}
-
-objectIdentifierFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX OBJECT IDENTIFIER
- ID id-mr-objectIdentifierFirstComponentMatch
-}
-
-directoryStringFirstComponentMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-directory-string-first-component-match}
- ID id-mr-directoryStringFirstComponentMatch
-}
-
-wordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-wordMatch
-}
-
-keywordMatch MATCHING-RULE ::= {
- SYNTAX DirectoryString {ub-match}
- ID id-mr-keywordMatch
-}
-
-systemProposedMatch MATCHING-RULE ::= {ID id-mr-systemProposedMatch
-}
-
-generalWordMatch MATCHING-RULE ::= {
- SYNTAX SubstringAssertion
- ID id-mr-generalWordMatch
-}
-
-sequenceMatchType ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {sequenceExact(0), sequenceDeletion(1),
- sequenceRestrictedDeletion(2), sequencePermutation(3),
- sequencePermutationAndDeletion(4), sequenceProviderDefined(5)}
- SINGLE VALUE TRUE
- ID id-cat-sequenceMatchType
-} -- defaulting to sequenceExact,
-
-wordMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {wordExact(0), wordTruncated(1), wordPhonetic(2),
- wordProviderDefined(3)}
- SINGLE VALUE TRUE
- ID id-cat-wordMatchType
-} -- defaulting to wordExact
-
-characterMatchTypes ATTRIBUTE ::= {
- WITH SYNTAX
- ENUMERATED {characterExact(0), characterCaseIgnore(1), characterMapped(2)}
- SINGLE VALUE TRUE
- ID id-cat-characterMatchTypes
-}
-
-selectedContexts ATTRIBUTE ::= {
- WITH SYNTAX ContextAssertion
- ID id-cat-selectedContexts
-}
-
-approximateStringMatch MATCHING-RULE ::= {ID id-mr-approximateStringMatch
-}
-
-ignoreIfAbsentMatch MATCHING-RULE ::= {ID id-mr-ignoreIfAbsentMatch
-}
-
-nullMatch MATCHING-RULE ::= {ID id-mr-nullMatch
-}
-
-ZONAL-MATCHING ::=
- MAPPING-BASED-MATCHING{ZonalSelect, TRUE, ZonalResult, zonalMatch.&id}
-
-ZonalSelect ::= SEQUENCE OF AttributeType
-
-ZonalResult ::= ENUMERATED {
- cannot-select-mapping(0), zero-mappings(2), multiple-mappings(3)}
-
-zonalMatch MATCHING-RULE ::= {
- UNIQUE-MATCH-INDICATOR multipleMatchingLocalities.&id
- ID id-mr-zonalMatch
-}
-
--- Contexts
-languageContext CONTEXT ::= {
- WITH SYNTAX LanguageContextSyntax
- ID id-avc-language
-}
-
-LanguageContextSyntax ::= PrintableString(SIZE (2..3)) -- ISO 639-2 codes only
-
-
-temporalContext CONTEXT ::= {
- WITH SYNTAX TimeSpecification
- ASSERTED AS TimeAssertion
- ID id-avc-temporal
-}
-
-TimeSpecification ::= SEQUENCE {
- time
- CHOICE {absolute
- SEQUENCE {startTime [0] GeneralizedTime OPTIONAL,
- endTime [1] GeneralizedTime OPTIONAL},
- periodic SET OF Period},
- notThisTime BOOLEAN DEFAULT FALSE,
- timeZone TimeZone OPTIONAL
-}
-
-Period ::= SEQUENCE {
- timesOfDay [0] SET SIZE (1..MAX) OF DayTimeBand OPTIONAL,
- days
- [1] CHOICE {intDay SET OF INTEGER,
- bitDay
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3),
- thursday(4), friday(5), saturday(6)},
- dayOf XDayOf} OPTIONAL,
- weeks
- [2] CHOICE {allWeeks NULL,
- intWeek SET OF INTEGER,
- bitWeek
- BIT STRING {week1(0), week2(1), week3(2), week4(3), week5(4)}
- } OPTIONAL,
- months
- [3] CHOICE {allMonths NULL,
- intMonth SET OF INTEGER,
- bitMonth
- BIT STRING {january(0), february(1), march(2), april(3),
- may(4), june(5), july(6), august(7),
- september(8), october(9), november(10),
- december(11)}} OPTIONAL,
- years [4] SET OF INTEGER(1000..MAX) OPTIONAL
-}
-
-XDayOf ::= CHOICE {
- first [1] NamedDay,
- second [2] NamedDay,
- third [3] NamedDay,
- fourth [4] NamedDay,
- fifth [5] NamedDay
-}
-
-NamedDay ::= CHOICE {
- intNamedDays
- ENUMERATED {sunday(1), monday(2), tuesday(3), wednesday(4), thursday(5),
- friday(6), saturday(7)},
- bitNamedDays
- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4),
- friday(5), saturday(6)}
-}
-
-DayTimeBand ::= SEQUENCE {
- startDayTime [0] DayTime DEFAULT {hour 0},
- endDayTime [1] DayTime DEFAULT {hour 23, minute 59, second 59}
-}
-
-DayTime ::= SEQUENCE {
- hour [0] INTEGER(0..23),
- minute [1] INTEGER(0..59) DEFAULT 0,
- second [2] INTEGER(0..59) DEFAULT 0
-}
-
-TimeZone ::= INTEGER(-12..12)
-
-TimeAssertion ::= CHOICE {
- now NULL,
- at GeneralizedTime,
- between
- SEQUENCE {startTime [0] GeneralizedTime,
- endTime [1] GeneralizedTime OPTIONAL,
- entirely BOOLEAN DEFAULT FALSE}
-}
-
-localeContext CONTEXT ::= {
- WITH SYNTAX LocaleContextSyntax
- ID id-avc-locale
-}
-
-LocaleContextSyntax ::= CHOICE {
- localeID1 OBJECT IDENTIFIER,
- localeID2 DirectoryString{ub-localeContextSyntax}
-}
-
--- Object identifier assignments -
--- object identifiers assigned in other modules are shown in comments
--- Attributes
--- id-at-objectClass OBJECT IDENTIFIER ::= {id-at 0}
--- id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
-id-at-encryptedAliasedEntryName OBJECT IDENTIFIER ::=
- {id-at 1 2}
-
-id-at-knowledgeInformation OBJECT IDENTIFIER ::= {id-at 2}
-
-id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
-
-id-at-encryptedCommonName OBJECT IDENTIFIER ::= {id-at 3 2}
-
-id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
-
-id-at-encryptedSurname OBJECT IDENTIFIER ::= {id-at 4 2}
-
-id-at-serialNumber OBJECT IDENTIFIER ::= {id-at 5}
-
-id-at-encryptedSerialNumber OBJECT IDENTIFIER ::= {id-at 5 2}
-
-id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
-
-id-at-encryptedCountryName OBJECT IDENTIFIER ::= {id-at 6 2}
-
-id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
-
-id-at-encryptedLocalityName OBJECT IDENTIFIER ::= {id-at 7 2}
-
-id-at-collectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1}
-
-id-at-encryptedCollectiveLocalityName OBJECT IDENTIFIER ::= {id-at 7 1 2}
-
-id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
-
-id-at-encryptedStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 2}
-
-id-at-collectiveStateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8 1}
-
-id-at-encryptedCollectiveStateOrProvinceName OBJECT IDENTIFIER ::=
- {id-at 8 1 2}
-
-id-at-streetAddress OBJECT IDENTIFIER ::= {id-at 9}
-
-id-at-encryptedStreetAddress OBJECT IDENTIFIER ::= {id-at 9 2}
-
-id-at-collectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1}
-
-id-at-encryptedCollectiveStreetAddress OBJECT IDENTIFIER ::= {id-at 9 1 2}
-
-id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
-
-id-at-encryptedOrganizationName OBJECT IDENTIFIER ::= {id-at 10 2}
-
-id-at-collectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1}
-
-id-at-encryptedCollectiveOrganizationName OBJECT IDENTIFIER ::= {id-at 10 1 2}
-
-id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
-
-id-at-encryptedOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 2}
-
-id-at-collectiveOrganizationalUnitName OBJECT IDENTIFIER ::= {id-at 11 1}
-
-id-at-encryptedCollectiveOrganizationalUnitName OBJECT IDENTIFIER ::=
- {id-at 11 1 2}
-
-id-at-title OBJECT IDENTIFIER ::= {id-at 12}
-
-id-at-encryptedTitle OBJECT IDENTIFIER ::= {id-at 12 2}
-
-id-at-description OBJECT IDENTIFIER ::= {id-at 13}
-
-id-at-encryptedDescription OBJECT IDENTIFIER ::= {id-at 13 2}
-
-id-at-searchGuide OBJECT IDENTIFIER ::= {id-at 14}
-
-id-at-encryptedSearchGuide OBJECT IDENTIFIER ::= {id-at 14 2}
-
-id-at-businessCategory OBJECT IDENTIFIER ::= {id-at 15}
-
-id-at-encryptedBusinessCategory OBJECT IDENTIFIER ::= {id-at 15 2}
-
-id-at-postalAddress OBJECT IDENTIFIER ::= {id-at 16}
-
-id-at-encryptedPostalAddress OBJECT IDENTIFIER ::= {id-at 16 2}
-
-id-at-collectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1}
-
-id-at-encryptedCollectivePostalAddress OBJECT IDENTIFIER ::= {id-at 16 1 2}
-
-id-at-postalCode OBJECT IDENTIFIER ::= {id-at 17}
-
-id-at-encryptedPostalCode OBJECT IDENTIFIER ::= {id-at 17 2}
-
-id-at-collectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1}
-
-id-at-encryptedCollectivePostalCode OBJECT IDENTIFIER ::= {id-at 17 1 2}
-
-id-at-postOfficeBox OBJECT IDENTIFIER ::= {id-at 18}
-
-id-at-encryptedPostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 2}
-
-id-at-collectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1}
-
-id-at-encryptedCollectivePostOfficeBox OBJECT IDENTIFIER ::= {id-at 18 1 2}
-
-id-at-physicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19}
-
-id-at-encryptedPhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 2}
-
-id-at-collectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 1}
-
-id-at-encryptedCollectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::=
- {id-at 19 1 2}
-
-id-at-telephoneNumber OBJECT IDENTIFIER ::= {id-at 20}
-
-id-at-encryptedTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 2}
-
-id-at-collectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1}
-
-id-at-encryptedCollectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1 2}
-
-id-at-telexNumber OBJECT IDENTIFIER ::= {id-at 21}
-
-id-at-encryptedTelexNumber OBJECT IDENTIFIER ::= {id-at 21 2}
-
-id-at-collectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1}
-
-id-at-encryptedCollectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1 2}
-
--- id-at-teletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22}
--- id-at-encryptedTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 2}
--- id-at-collectiveTeletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22 1}
--- id-at-encryptedCollectiveTeletexTerminalIdentifier
--- OBJECT IDENTIFIER ::= {id-at 22 1 2}
-id-at-facsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23}
-
-id-at-encryptedFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 2}
-
-id-at-collectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::= {id-at 23 1}
-
-id-at-encryptedCollectiveFacsimileTelephoneNumber OBJECT IDENTIFIER ::=
- {id-at 23 1 2}
-
-id-at-x121Address OBJECT IDENTIFIER ::= {id-at 24}
-
-id-at-encryptedX121Address OBJECT IDENTIFIER ::= {id-at 24 2}
-
-id-at-internationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25}
-
-id-at-encryptedInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 2}
-
-id-at-collectiveInternationalISDNNumber OBJECT IDENTIFIER ::= {id-at 25 1}
-
-id-at-encryptedCollectiveInternationalISDNNumber OBJECT IDENTIFIER ::=
- {id-at 25 1 2}
-
-id-at-registeredAddress OBJECT IDENTIFIER ::= {id-at 26}
-
-id-at-encryptedRegisteredAddress OBJECT IDENTIFIER ::= {id-at 26 2}
-
-id-at-destinationIndicator OBJECT IDENTIFIER ::= {id-at 27}
-
-id-at-encryptedDestinationIndicator OBJECT IDENTIFIER ::= {id-at 27 2}
-
-id-at-preferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28}
-
-id-at-encryptedPreferredDeliveryMethod OBJECT IDENTIFIER ::= {id-at 28 2}
-
-id-at-presentationAddress OBJECT IDENTIFIER ::= {id-at 29}
-
-id-at-encryptedPresentationAddress OBJECT IDENTIFIER ::= {id-at 29 2}
-
-id-at-supportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30}
-
-id-at-encryptedSupportedApplicationContext OBJECT IDENTIFIER ::= {id-at 30 2}
-
-id-at-member OBJECT IDENTIFIER ::= {id-at 31}
-
-id-at-encryptedMember OBJECT IDENTIFIER ::= {id-at 31 2}
-
-id-at-owner OBJECT IDENTIFIER ::= {id-at 32}
-
-id-at-encryptedOwner OBJECT IDENTIFIER ::= {id-at 32 2}
-
-id-at-roleOccupant OBJECT IDENTIFIER ::= {id-at 33}
-
-id-at-encryptedRoleOccupant OBJECT IDENTIFIER ::= {id-at 33 2}
-
-id-at-seeAlso OBJECT IDENTIFIER ::= {id-at 34}
-
-id-at-encryptedSeeAlso OBJECT IDENTIFIER ::= {id-at 34 2}
-
--- id-at-userPassword OBJECT IDENTIFIER ::= {id-at 35}
-id-at-encryptedUserPassword OBJECT IDENTIFIER ::=
- {id-at 35 2}
-
--- id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
-id-at-encryptedUserCertificate OBJECT IDENTIFIER ::=
- {id-at 36 2}
-
--- id-at-cACertificate OBJECT IDENTIFIER ::= {id-at 37}
-id-at-encryptedCACertificate OBJECT IDENTIFIER ::=
- {id-at 37 2}
-
--- id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
-id-at-encryptedAuthorityRevocationList OBJECT IDENTIFIER ::=
- {id-at 38 2}
-
--- id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
-id-at-encryptedCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 39 2}
-
--- id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
-id-at-encryptedCrossCertificatePair OBJECT IDENTIFIER ::=
- {id-at 40 2}
-
-id-at-name OBJECT IDENTIFIER ::= {id-at 41}
-
-id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
-
-id-at-encryptedGivenName OBJECT IDENTIFIER ::= {id-at 42 2}
-
-id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
-
-id-at-encryptedInitials OBJECT IDENTIFIER ::= {id-at 43 2}
-
-id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
-
-id-at-encryptedGenerationQualifier OBJECT IDENTIFIER ::= {id-at 44 2}
-
-id-at-uniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45}
-
-id-at-encryptedUniqueIdentifier OBJECT IDENTIFIER ::= {id-at 45 2}
-
-id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
-
-id-at-encryptedDnQualifier OBJECT IDENTIFIER ::= {id-at 46 2}
-
-id-at-enhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47}
-
-id-at-encryptedEnhancedSearchGuide OBJECT IDENTIFIER ::= {id-at 47 2}
-
-id-at-protocolInformation OBJECT IDENTIFIER ::= {id-at 48}
-
-id-at-encryptedProtocolInformation OBJECT IDENTIFIER ::= {id-at 48 2}
-
-id-at-distinguishedName OBJECT IDENTIFIER ::= {id-at 49}
-
-id-at-encryptedDistinguishedName OBJECT IDENTIFIER ::= {id-at 49 2}
-
-id-at-uniqueMember OBJECT IDENTIFIER ::= {id-at 50}
-
-id-at-encryptedUniqueMember OBJECT IDENTIFIER ::= {id-at 50 2}
-
-id-at-houseIdentifier OBJECT IDENTIFIER ::= {id-at 51}
-
-id-at-encryptedHouseIdentifier OBJECT IDENTIFIER ::= {id-at 51 2}
-
---id-at-supportedAlgorithms OBJECT IDENTIFIER ::= {id-at 52}
-id-at-encryptedSupportedAlgorithms OBJECT IDENTIFIER ::=
- {id-at 52 2}
-
---id-at-deltaRevocationList OBJECT IDENTIFIER ::= {id-at 53}
-id-at-encryptedDeltaRevocationList OBJECT IDENTIFIER ::=
- {id-at 53 2}
-
-id-at-dmdName OBJECT IDENTIFIER ::= {id-at 54}
-
-id-at-encryptedDmdName OBJECT IDENTIFIER ::= {id-at 54 2}
-
--- id-at-clearance OBJECT IDENTIFIER ::= {id-at 55}
-id-at-encryptedClearance OBJECT IDENTIFIER ::=
- {id-at 55 2}
-
--- id-at-defaultDirQop OBJECT IDENTIFIER ::= {id-at 56}
-id-at-encryptedDefaultDirQop OBJECT IDENTIFIER ::=
- {id-at 56 2}
-
--- id-at-attributeIntegrityInfo OBJECT IDENTIFIER ::= {id-at 57}
-id-at-encryptedAttributeIntegrityInfo OBJECT IDENTIFIER ::=
- {id-at 57 2}
-
---id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
-id-at-encryptedAttributeCertificate OBJECT IDENTIFIER ::=
- {id-at 58 2}
-
--- id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
-id-at-encryptedAttributeCertificateRevocationList OBJECT IDENTIFIER ::=
- {id-at 59 2}
-
--- id-at-confKeyInfo OBJECT IDENTIFIER ::= {id-at 60}
-id-at-encryptedConfKeyInfo OBJECT IDENTIFIER ::=
- {id-at 60 2}
-
--- id-at-family-information OBJECT IDENTIFIER {id-at 64}
-id-at-pseudonym OBJECT IDENTIFIER ::=
- {id-at 65}
-
-id-at-communicationsService OBJECT IDENTIFIER ::= {id-at 66}
-
-id-at-communicationsNetwork OBJECT IDENTIFIER ::= {id-at 67}
-
--- Matching rules
--- id-mr-objectIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 0}
--- id-mr-distinguishedNameMatch OBJECT IDENTIFIER ::= {id-mr 1}
-id-mr-caseIgnoreMatch OBJECT IDENTIFIER ::=
- {id-mr 2}
-
-id-mr-caseIgnoreOrderingMatch OBJECT IDENTIFIER ::= {id-mr 3}
-
-id-mr-caseIgnoreSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 4}
-
-id-mr-caseExactMatch OBJECT IDENTIFIER ::= {id-mr 5}
-
-id-mr-caseExactOrderingMatch OBJECT IDENTIFIER ::= {id-mr 6}
-
-id-mr-caseExactSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 7}
-
-id-mr-numericStringMatch OBJECT IDENTIFIER ::= {id-mr 8}
-
-id-mr-numericStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 9}
-
-id-mr-numericStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 10}
-
-id-mr-caseIgnoreListMatch OBJECT IDENTIFIER ::= {id-mr 11}
-
-id-mr-caseIgnoreListSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 12}
-
-id-mr-booleanMatch OBJECT IDENTIFIER ::= {id-mr 13}
-
-id-mr-integerMatch OBJECT IDENTIFIER ::= {id-mr 14}
-
-id-mr-integerOrderingMatch OBJECT IDENTIFIER ::= {id-mr 15}
-
-id-mr-bitStringMatch OBJECT IDENTIFIER ::= {id-mr 16}
-
-id-mr-octetStringMatch OBJECT IDENTIFIER ::= {id-mr 17}
-
-id-mr-octetStringOrderingMatch OBJECT IDENTIFIER ::= {id-mr 18}
-
-id-mr-octetStringSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 19}
-
-id-mr-telephoneNumberMatch OBJECT IDENTIFIER ::= {id-mr 20}
-
-id-mr-telephoneNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 21}
-
-id-mr-presentationAddressMatch OBJECT IDENTIFIER ::= {id-mr 22}
-
-id-mr-uniqueMemberMatch OBJECT IDENTIFIER ::= {id-mr 23}
-
-id-mr-protocolInformationMatch OBJECT IDENTIFIER ::= {id-mr 24}
-
-id-mr-uTCTimeMatch OBJECT IDENTIFIER ::= {id-mr 25}
-
-id-mr-uTCTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 26}
-
-id-mr-generalizedTimeMatch OBJECT IDENTIFIER ::= {id-mr 27}
-
-id-mr-generalizedTimeOrderingMatch OBJECT IDENTIFIER ::= {id-mr 28}
-
-id-mr-integerFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 29}
-
-id-mr-objectIdentifierFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 30}
-
-id-mr-directoryStringFirstComponentMatch OBJECT IDENTIFIER ::= {id-mr 31}
-
-id-mr-wordMatch OBJECT IDENTIFIER ::= {id-mr 32}
-
-id-mr-keywordMatch OBJECT IDENTIFIER ::= {id-mr 33}
-
--- id-mr-certificateExactMatch OBJECT IDENTIFIER ::= {id-mr 34}
--- id-mr-certificateMatch OBJECT IDENTIFIER ::= {id-mr 35}
--- id-mr-certificatePairExactMatch OBJECT IDENTIFIER ::= {id-mr 36}
--- id-mr-certificatePairMatch OBJECT IDENTIFIER ::= {id-mr 37}
--- id-mr-certificateListExactMatch OBJECT IDENTIFIER ::= {id-mr 38}
--- id-mr-certificateListMatch OBJECT IDENTIFIER ::= {id-mr 39}
--- id-mr-algorithmIdentifierMatch OBJECT IDENTIFIER ::= {id-mr 40}
-id-mr-storedPrefixMatch OBJECT IDENTIFIER ::=
- {id-mr 41}
-
--- id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
--- id-mr-readerAndKeyIDMatch OBJECT IDENTIFIER ::= {id-mr 43}
---id-mr-attributeIntegrityMatch OBJECT IDENTIFIER ::= {id-mr 44}
-id-mr-systemProposedMatch OBJECT IDENTIFIER ::=
- {id-mr 47}
-
-id-mr-generalWordMatch OBJECT IDENTIFIER ::= {id-mr 48}
-
-id-mr-approximateStringMatch OBJECT IDENTIFIER ::= {id-mr 49}
-
-id-mr-ignoreIfAbsentMatch OBJECT IDENTIFIER ::= {id-mr 50}
-
-id-mr-nullMatch OBJECT IDENTIFIER ::= {id-mr 51}
-
-id-mr-zonalMatch OBJECT IDENTIFIER ::= {id-mr 52}
-
-id-mr-facsimileNumberMatch OBJECT IDENTIFIER ::= {id-mr 63}
-
-id-mr-facsimileNumberSubstringsMatch OBJECT IDENTIFIER ::= {id-mr 64}
-
--- contexts
-id-avc-language OBJECT IDENTIFIER ::= {id-avc 0}
-
-id-avc-temporal OBJECT IDENTIFIER ::= {id-avc 1}
-
-id-avc-locale OBJECT IDENTIFIER ::= {id-avc 2}
-
---id-avc-attributeValueSecurityLabelContext OBJECT IDENTIFIER ::= {id-avc 3}
---id-avc-attributeValueIntegrityInfoContext OBJECT IDENTIFIER ::= {id-avc 4}
--- Problem definitions
-id-pr-targetDsaUnavailable OBJECT IDENTIFIER ::=
- {id-pr 1}
-
-id-pr-dataSourceUnavailable OBJECT IDENTIFIER ::= {id-pr 2}
-
-id-pr-unidentifiedOperation OBJECT IDENTIFIER ::= {id-pr 3}
-
-id-pr-unavailableOperation OBJECT IDENTIFIER ::= {id-pr 4}
-
-id-pr-searchAttributeViolation OBJECT IDENTIFIER ::= {id-pr 5}
-
-id-pr-searchAttributeCombinationViolation OBJECT IDENTIFIER ::= {id-pr 6}
-
-id-pr-searchValueNotAllowed OBJECT IDENTIFIER ::= {id-pr 7}
-
-id-pr-missingSearchAttribute OBJECT IDENTIFIER ::= {id-pr 8}
-
-id-pr-searchValueViolation OBJECT IDENTIFIER ::= {id-pr 9}
-
-id-pr-attributeNegationViolation OBJECT IDENTIFIER ::= {id-pr 10}
-
-id-pr-searchValueRequired OBJECT IDENTIFIER ::= {id-pr 11}
-
-id-pr-invalidSearchValue OBJECT IDENTIFIER ::= {id-pr 12}
-
-id-pr-searchContextViolation OBJECT IDENTIFIER ::= {id-pr 13}
-
-id-pr-searchContextCombinationViolation OBJECT IDENTIFIER ::= {id-pr 14}
-
-id-pr-missingSearchContext OBJECT IDENTIFIER ::= {id-pr 15}
-
-id-pr-searchContextValueViolation OBJECT IDENTIFIER ::= {id-pr 16}
-
-id-pr-searchContextValueRequired OBJECT IDENTIFIER ::= {id-pr 17}
-
-id-pr-invalidContextSearchValue OBJECT IDENTIFIER ::= {id-pr 18}
-
-id-pr-unsupportedMatchingRule OBJECT IDENTIFIER ::= {id-pr 19}
-
-id-pr-attributeMatchingViolation OBJECT IDENTIFIER ::= {id-pr 20}
-
-id-pr-unsupportedMatchingUse OBJECT IDENTIFIER ::= {id-pr 21}
-
-id-pr-matchingUseViolation OBJECT IDENTIFIER ::= {id-pr 22}
-
-id-pr-hierarchySelectForbidden OBJECT IDENTIFIER ::= {id-pr 23}
-
-id-pr-invalidHierarchySelect OBJECT IDENTIFIER ::= {id-pr 24}
-
-id-pr-unavailableHierarchySelect OBJECT IDENTIFIER ::= {id-pr 25}
-
-id-pr-invalidSearchOptions OBJECT IDENTIFIER ::= {id-pr 26}
-
-id-pr-missingSearchOptions OBJECT IDENTIFIER ::= {id-pr 27}
-
-id-pr-invalidServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 28}
-
-id-pr-missingServiceControlOptions OBJECT IDENTIFIER ::= {id-pr 29}
-
-id-pr-searchSubsetViolation OBJECT IDENTIFIER ::= {id-pr 30}
-
-id-pr-unmatchedKeyAttributes OBJECT IDENTIFIER ::= {id-pr 31}
-
-id-pr-ambiguousKeyAttributes OBJECT IDENTIFIER ::= {id-pr 32}
-
--- Notification attributes
-id-not-dSAProblem OBJECT IDENTIFIER ::= {id-not 0}
-
-id-not-searchServiceProblem OBJECT IDENTIFIER ::= {id-not 1}
-
-id-not-serviceType OBJECT IDENTIFIER ::= {id-not 2}
-
-id-not-attributeTypeList OBJECT IDENTIFIER ::= {id-not 3}
-
-id-not-matchingRuleList OBJECT IDENTIFIER ::= {id-not 4}
-
-id-not-filterItem OBJECT IDENTIFIER ::= {id-not 5}
-
-id-not-attributeCombinations OBJECT IDENTIFIER ::= {id-not 6}
-
-id-not-contextTypeList OBJECT IDENTIFIER ::= {id-not 7}
-
-id-not-contextList OBJECT IDENTIFIER ::= {id-not 8}
-
-id-not-contextCombinations OBJECT IDENTIFIER ::= {id-not 9}
-
-id-not-hierarchySelectList OBJECT IDENTIFIER ::= {id-not 10}
-
-id-not-searchOptionsList OBJECT IDENTIFIER ::= {id-not 11}
-
-id-not-serviceControlOptionsList OBJECT IDENTIFIER ::= {id-not 12}
-
-id-not-multipleMatchingLocalities OBJECT IDENTIFIER ::= {id-not 13}
-
-id-not-proposedRelaxation OBJECT IDENTIFIER ::= {id-not 14}
-
-id-not-appliedRelaxation OBJECT IDENTIFIER ::= {id-not 15}
-
-id-not-substringRequirements OBJECT IDENTIFIER ::= {id-not 16}
-
--- Control attributes
-id-cat-sequenceMatchType OBJECT IDENTIFIER ::=
- {id-cat 1}
-
-id-cat-wordMatchType OBJECT IDENTIFIER ::= {id-cat 2}
-
-id-cat-characterMatchTypes OBJECT IDENTIFIER ::= {id-cat 3}
-
-id-cat-selectedContexts OBJECT IDENTIFIER ::= {id-cat 4}
-
-END -- SelectedAttributeTypes
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SeseAPDUs.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SeseAPDUs.asn
deleted file mode 100644
index 2917122e94..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SeseAPDUs.asn
+++ /dev/null
@@ -1,116 +0,0 @@
--- Module SeseAPDUs (X.832:04/1995)
-
-SeseAPDUs {joint-iso-itu-t genericULS(20) modules(1) seseAPDUs(6)} DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-
--- EXPORTS ALL
-IMPORTS
- notation
- FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
- objectIdentifiers(0)}
- dirAuthenticationTwoWay
- FROM GulsSecurityExchanges {joint-iso-itu-t genericULS(20) modules(1)
- gulsSecurityExchanges(2)}
- SECURITY-EXCHANGE, SE-ERROR
- FROM Notation notation;
-
-SESEapdus{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::=
- CHOICE {
- se-transfer SETransfer{{ValidSEs}, {InvocationIdSet}},
- se-u-abort SEUAbort{{ValidSEs}, {InvocationIdSet}},
- se-p-abort SEPAbort{{ValidSEs}, {InvocationIdSet}}
-}
-
-SETransfer{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::=
- SEQUENCE {
- seIdentifier SECURITY-EXCHANGE.&sE-Identifier({ValidSEs}),
- -- This identifies one of the security-
- -- exchanges supported by the particular SESE
- -- abstract syntax
- itemIdentifier
- SECURITY-EXCHANGE.&SE-Items.&itemId({ValidSEs}{@seIdentifier}),
- -- This identifies one of the security-
- -- exchange-items of the security exchange
- -- indicated by "seIdentifier"
- seItem
- SECURITY-EXCHANGE.&SE-Items.&ItemType
- ({ValidSEs}{@seIdentifier, @itemIdentifier}),
- invocationId
- InvocationId(InvocationIdSet)
- (CONSTRAINED BY {-- Must be the same as the---- invocationId on an active security exchange--
-
- -- if start flag is not true -- }) DEFAULT noInvocationId,
- startFlag BOOLEAN DEFAULT FALSE,
- -- This field is set only as the first security-
- -- exchange-item of a security-exchange is
- -- transferred.
- endFlag BOOLEAN DEFAULT FALSE-- This field is set as the last security-exchange-
--- item of a security-exchange is transferred. It is
--- needed to accommodate those mechanisms requiring
--- n exchanges, where n is not known a priori
-}
-
-SEUAbort{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::=
- SEQUENCE {
- invocationId
- InvocationId(InvocationIdSet)
- (CONSTRAINED BY {-- Must be the same as the---- invocationId on an active or just-completed--
-
- -- security exchange -- }) DEFAULT noInvocationId,
- itemIdentifier
- SECURITY-EXCHANGE.&SE-Items.&itemId({ValidSEs.&SE-Items}) OPTIONAL,
- -- This component will only be present
- -- when the Abort is generated subsequent
- -- to receipt of a SETransfer APDU.
- errors SEQUENCE OF SEerror{{ValidSEs}} OPTIONAL
- -- needed to handle multiple error codes
-}
-
-SEPAbort{SECURITY-EXCHANGE:ValidSEs, InvocationId:InvocationIdSet} ::=
- SEQUENCE {
- invocationId InvocationId(InvocationIdSet) OPTIONAL,
- itemIdentifier
- SECURITY-EXCHANGE.&SE-Items.&itemId({ValidSEs.&SE-Items}) OPTIONAL,
- -- This component will only be present
- -- when the Abort is generated subsequent
- -- to receipt of a SETransfer APDU.
- problemCode ProblemCode
-}
-
-InvocationId ::= CHOICE {present INTEGER,
- absent NULL
-}
-
-noInvocationId InvocationId ::= absent:NULL
-
-NoInvocationId InvocationId ::= {noInvocationId}
-
-SEerror{SECURITY-EXCHANGE:ValidSEs} ::= SEQUENCE {
- errorCode SE-ERROR.&errorCode({Errors{{ValidSEs}}}) OPTIONAL,
- errorParameter
- SE-ERROR.&ParameterType({Errors{{ValidSEs}}}) OPTIONAL
-}
-
-Errors{SECURITY-EXCHANGE:ValidSEs} SE-ERROR ::= {ValidSEs.&SE-Items.&Errors}
-
-ProblemCode ::= CHOICE {
- general GeneralProblem,
- transfer TransferProblem,
- abort AbortProblem
-}
-
-GeneralProblem ::= ENUMERATED {invalidAPDU(0)}
-
-TransferProblem ::= ENUMERATED {
- duplicateInvocationId(0), unrecognizedSecurityExchange(1), mistypedItem(2),
- inappropriateInvocationId(3), alternatingSequenceError(4)}
-
-AbortProblem ::= ENUMERATED {
- unrecognizedInvocationId(0), abortUnexpected(1), unrecognizedError(2),
- unexpectedError(3), mistypedErrorParameter(4)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SpkmGssTokens.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SpkmGssTokens.asn
deleted file mode 100644
index 02205bd64c..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/SpkmGssTokens.asn
+++ /dev/null
@@ -1,257 +0,0 @@
--- Module SpkmGssTokens (RFC 2025:10/1996)
-SpkmGssTokens {iso(1) identified-organization(3) dod(6) internet(1) security(5)
- mechanisms(5) spkm(1) spkmGssTokens(10)}
---
--- Copyright (C) The Internet Society (1996). This version of
--- this ASN.1 module is part of RFC 2025;
--- see the RFC itself for full legal notices.
---
-DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
--- EXPORTS ALL
-IMPORTS
- Name
- FROM InformationFramework {joint-iso-itu-t(2) ds(5) module(1)
- informationFramework(1) 3}
- Certificate, CertificateList, CertificatePair, AlgorithmIdentifier, Validity
- FROM AuthenticationFramework {joint-iso-itu-t(2) ds(5) module(1)
- authenticationFramework(7) 3};
-
--- types
-SPKM-REQ ::= SEQUENCE {
- requestToken REQ-TOKEN,
- certif-data [0] CertificationData OPTIONAL,
- auth-data [1] AuthorizationData OPTIONAL
-}
-
-CertificationData ::= SEQUENCE {
- certificationPath [0] CertificationPath OPTIONAL,
- certificateRevocationList [1] CertificateList OPTIONAL
-} -- at least one of the above shall be present
-
-CertificationPath ::= SEQUENCE {
- userKeyId [0] OCTET STRING OPTIONAL,
- userCertif [1] Certificate OPTIONAL,
- verifKeyId [2] OCTET STRING OPTIONAL,
- userVerifCertif [3] Certificate OPTIONAL,
- theCACertificates [4] SEQUENCE OF CertificatePair OPTIONAL
-} -- Presence of [2] or [3] implies that [0] or [1] must also be
-
--- present. Presence of [4] implies that at least one of [0], [1],
--- [2], and [3] must also be present.
-REQ-TOKEN ::= SEQUENCE {
- req-contents Req-contents,
- algId AlgorithmIdentifier,
- req-integrity Integrity -- "token" is Req-contents
-}
-
-Integrity ::= BIT STRING
-
--- If corresponding algId specifies a signing algorithm,
--- "Integrity" holds the result of applying the signing procedure
--- specified in algId to the BER-encoded octet string which results
--- from applying the hashing procedure (also specified in algId) to
--- the DER-encoded octets of "token".
--- Alternatively, if corresponding algId specifies a MACing
--- algorithm, "Integrity" holds the result of applying the MACing
--- procedure specified in algId to the DER-encoded octets of
--- "token"
-Req-contents ::= SEQUENCE {
- tok-id INTEGER(256), -- shall contain 0100 (hex)
- context-id Random-Integer,
- pvno BIT STRING,
- timestamp UTCTime OPTIONAL, -- mandatory for SPKM-2
- randSrc Random-Integer,
- targ-name Name,
- src-name [0] Name OPTIONAL,
- req-data Context-Data,
- validity [1] Validity OPTIONAL,
- key-estb-set Key-Estb-Algs,
- key-estb-req BIT STRING OPTIONAL,
- key-src-bind OCTET STRING OPTIONAL
- -- This field must be present for the case of SPKM-2
- -- unilateral authen. if the K-ALG in use does not provide
- -- such a binding (but is optional for all other cases).
- -- The octet string holds the result of applying the
- -- mandatory hashing procedure (in MANDATORY I-ALG;
- -- see Section 2.1) as follows: MD5(src || context_key),
- -- where "src" is the DER-encoded octets of src-name,
- -- "context-key" is the symmetric key (i.e., the
- -- unprotected version of what is transmitted in
- -- key-estb-req), and "||" is the concatenation operation.
-}
-
-Random-Integer ::= BIT STRING
-
-Context-Data ::= SEQUENCE {
- channelId ChannelId OPTIONAL,
- seq-number INTEGER OPTIONAL,
- options Options,
- conf-alg Conf-Algs,
- intg-alg Intg-Algs,
- owf-alg OWF-Algs
-}
-
-ChannelId ::= OCTET STRING
-
-Options ::= BIT STRING {
- delegation-state(0), mutual-state(1), replay-det-state(2), sequence-state(3),
- conf-avail(4), integ-avail(5), target-certif-data-required(6)}
-
-Conf-Algs ::= CHOICE {
- algs [0] SEQUENCE OF AlgorithmIdentifier,
- null [1] NULL
-}
-
-Intg-Algs ::= SEQUENCE OF AlgorithmIdentifier
-
-OWF-Algs ::= SEQUENCE OF AlgorithmIdentifier
-
-Key-Estb-Algs ::= SEQUENCE OF AlgorithmIdentifier
-
-SPKM-REP-TI ::= SEQUENCE {
- responseToken REP-TI-TOKEN,
- certif-data CertificationData OPTIONAL
- -- present if target-certif-data-required option was
-} -- set to TRUE in SPKM-REQ
-
-REP-TI-TOKEN ::= SEQUENCE {
- rep-ti-contents Rep-ti-contents,
- algId AlgorithmIdentifier,
- rep-ti-integ Integrity -- "token" is Rep-ti-contents
-}
-
-Rep-ti-contents ::= SEQUENCE {
- tok-id INTEGER(512), -- shall contain 0200 (hex)
- context-id Random-Integer,
- pvno [0] BIT STRING OPTIONAL,
- timestamp UTCTime OPTIONAL, -- mandatory for SPKM-2
- randTarg Random-Integer,
- src-name [1] Name OPTIONAL,
- targ-name Name,
- randSrc Random-Integer,
- rep-data Context-Data,
- validity [2] Validity OPTIONAL,
- key-estb-id AlgorithmIdentifier OPTIONAL,
- key-estb-str BIT STRING OPTIONAL
-}
-
-SPKM-REP-IT ::= SEQUENCE {
- responseToken REP-IT-TOKEN,
- algId AlgorithmIdentifier,
- rep-it-integ Integrity -- "token" is REP-IT-TOKEN
-}
-
-REP-IT-TOKEN ::= SEQUENCE {
- tok-id INTEGER(768), -- shall contain 0300 (hex)
- context-id Random-Integer,
- randSrc Random-Integer,
- randTarg Random-Integer,
- targ-name Name,
- src-name Name OPTIONAL,
- key-estb-rep BIT STRING OPTIONAL
-}
-
-SPKM-ERROR ::= SEQUENCE {
- errorToken ERROR-TOKEN,
- algId AlgorithmIdentifier,
- integrity Integrity -- "token" is ERROR-TOKEN
-}
-
-ERROR-TOKEN ::= SEQUENCE {
- tok-id INTEGER(1024), -- shall contain 0400 (hex)
- context-id Random-Integer
-}
-
-SPKM-MIC ::= SEQUENCE {mic-header Mic-Header,
- int-cksum BIT STRING
-}
-
-Mic-Header ::= SEQUENCE {
- tok-id INTEGER(257), -- shall contain 0101 (hex)
- context-id Random-Integer,
- int-alg [0] AlgorithmIdentifier OPTIONAL,
- snd-seq [1] SeqNum OPTIONAL
-}
-
-SeqNum ::= SEQUENCE {num INTEGER,
- dir-ind BOOLEAN
-}
-
-SPKM-WRAP ::= SEQUENCE {wrap-header Wrap-Header,
- wrap-body Wrap-Body
-}
-
-Wrap-Header ::= SEQUENCE {
- tok-id INTEGER(513), -- shall contain 0201 (hex)
- context-id Random-Integer,
- int-alg [0] AlgorithmIdentifier OPTIONAL,
- conf-alg [1] Conf-Alg OPTIONAL,
- snd-seq [2] SeqNum OPTIONAL
-}
-
-Wrap-Body ::= SEQUENCE {int-cksum BIT STRING,
- data BIT STRING
-}
-
-Conf-Alg ::= CHOICE {algId [0] AlgorithmIdentifier,
- null [1] NULL
-}
-
-SPKM-DEL ::= SEQUENCE {del-header Del-Header,
- int-cksum BIT STRING
-}
-
-Del-Header ::= SEQUENCE {
- tok-id INTEGER(769), -- shall contain 0301 (hex)
- context-id Random-Integer,
- int-alg [0] AlgorithmIdentifier OPTIONAL,
- snd-seq [1] SeqNum OPTIONAL
-}
-
--- other types
--- from [RFC-1508]
-MechType ::= OBJECT IDENTIFIER
-
-InitialContextToken ::= [APPLICATION 0] IMPLICIT SEQUENCE {
- thisMech MechType,
- innerContextToken SPKMInnerContextToken
-} -- when thisMech is SPKM-1 or SPKM-2
-
-SPKMInnerContextToken ::= CHOICE {
- req [0] SPKM-REQ,
- rep-ti [1] SPKM-REP-TI,
- rep-it [2] SPKM-REP-IT,
- error [3] SPKM-ERROR,
- mic [4] SPKM-MIC,
- wrap [5] SPKM-WRAP,
- del [6] SPKM-DEL
-}
-
--- from [RFC-1510]
-AuthorizationData ::=
- SEQUENCE OF SEQUENCE {ad-type INTEGER,
- ad-data OCTET STRING}
-
--- object identifier assignments
-md5-DES-CBC OBJECT IDENTIFIER ::=
- {iso(1) identified-organization(3) dod(6) internet(1) security(5)
- integrity(3) md5-DES-CBC(1)}
-
-sum64-DES-CBC OBJECT IDENTIFIER ::=
- {iso(1) identified-organization(3) dod(6) internet(1) security(5)
- integrity(3) sum64-DES-CBC(2)}
-
-spkm-1 OBJECT IDENTIFIER ::=
- {iso(1) identified-organization(3) dod(6) internet(1) security(5)
- mechanisms(5) spkm(1) spkm-1(1)}
-
-spkm-2 OBJECT IDENTIFIER ::=
- {iso(1) identified-organization(3) dod(6) internet(1) security(5)
- mechanisms(5) spkm(1) spkm-2(2)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Style-Descriptors.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Style-Descriptors.asn
deleted file mode 100644
index 8f033eab6f..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Style-Descriptors.asn
+++ /dev/null
@@ -1,190 +0,0 @@
--- Module Style-Descriptors (T.415:03/1993)
-
-Style-Descriptors {2 8 1 5 10} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Presentation-Style-Descriptor, Presentation-Attributes, Content-Type,
- Content-Architecture-Class, Layout-Style-Descriptor, Fill-Order,
- Block-Alignment;
-
-IMPORTS
- Object-or-Class-Identifier, Style-Identifier, Category-Name,
- Object-Id-Expression
- FROM Identifiers-and-Expressions -- see 7.8
-
- Comment-String, Transparency, Colour, Border, Layout-Object-Type,
- Content-Background-Colour, Content-Foreground-Colour, Sealed
- FROM Layout-Descriptors -- see 7.9
-
- Colour-Expression, Colour-Table
- FROM Colour-Attributes -- see 7.14
-
- Character-Attributes
- FROM Character-Presentation-Attributes {2 8 1 6 2
- } -- see ITU-T Rec. T.416 | ISO/IEC 8613-6
- Raster-Graphics-Attributes
- FROM Raster-Gr-Presentation-Attributes {2 8 1 7 2
- } -- see ITU-T Rec. T.417 | ISO/IEC 8613-7
- Geometric-Graphics-Attributes
- FROM Geo-Gr-Presentation-Attributes {2 8 1 8 2}; -- see ITU-T Rec. T.418 | ISO/IEC 8613-8
-
-Presentation-Style-Descriptor ::= SET {
- style-identifier Style-Identifier,
- user-readable-comments [0] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [1] IMPLICIT Comment-String OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- transparency [2] IMPLICIT Transparency OPTIONAL,
- presentation-attributes [3] IMPLICIT Presentation-Attributes OPTIONAL,
- colour [4] IMPLICIT Colour OPTIONAL,
- colour-of-layout-object [29] Colour-Expression OPTIONAL,
- object-colour-table [30] IMPLICIT Colour-Table OPTIONAL,
- content-background-colour [31] Content-Background-Colour OPTIONAL,
- content-foreground-colour [32] Content-Foreground-Colour OPTIONAL,
- content-colour-table [33] IMPLICIT Colour-Table OPTIONAL,
- border [5] IMPLICIT Border OPTIONAL,
- sealed [6] IMPLICIT Sealed OPTIONAL,
- derived-from [7] IMPLICIT Style-Identifier OPTIONAL
-}
-
-Presentation-Attributes ::= SET {
- content-architecture-class
- CHOICE {a Content-Architecture-Class,
- b Content-Type} OPTIONAL,
- character-attributes [0] IMPLICIT Character-Attributes OPTIONAL,
- raster-graphics-attributes
- [1] IMPLICIT Raster-Graphics-Attributes OPTIONAL,
- geometric-graphics-attributes
- [2] IMPLICIT Geometric-Graphics-Attributes OPTIONAL,
- -- the following tags are reserved for additional types
- -- of presentation attributes:
- -- [3] videotex, for use in conjunction with CCITT Recommendations
- -- [4] audio
- -- [5] dynamic-graphics
- ext-cont-arch-pres-attributes [6] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL
-}
-
-Content-Type ::= [APPLICATION 2] IMPLICIT INTEGER {formatted-raster-graphics(1)
-}
-
--- The integer representation for content architecture class,
--- Content-Type, is only to be used if the value of the document
--- profile attribute "document application profile" is an integer.
--- The value 'formatted-raster-graphics' represents the formatted raster
--- graphics content architecture as defined in ITU-T Rec. T.417 | ISO/IEC 8613-7.
-Content-Architecture-Class ::= OBJECT IDENTIFIER
-
-Layout-Style-Descriptor ::= SET {
- style-identifier Style-Identifier,
- user-readable-comments [0] IMPLICIT Comment-String OPTIONAL,
- user-visible-name [1] IMPLICIT Comment-String OPTIONAL,
- application-comments [25] IMPLICIT OCTET STRING OPTIONAL,
- layout-directives [4] IMPLICIT Layout-Directives OPTIONAL,
- sealed [6] IMPLICIT Sealed OPTIONAL,
- derived-from [7] IMPLICIT Style-Identifier OPTIONAL
-}
-
-Layout-Directives ::= SET {
- indivisibility
- CHOICE {to-layout-object-class [0] IMPLICIT Object-or-Class-Identifier,
- to-layout-category [1] IMPLICIT Category-Name,
- to-layout-object-type [2] IMPLICIT Layout-Object-Type,
- null [15] IMPLICIT NULL} OPTIONAL,
- separation [3] IMPLICIT Separation OPTIONAL,
- offset [4] IMPLICIT Offset OPTIONAL,
- fill-order [5] IMPLICIT Fill-Order OPTIONAL,
- concatenation [6] IMPLICIT Concatenation OPTIONAL,
- new-layout-object
- CHOICE {to-layout-object-class [7] IMPLICIT Object-or-Class-Identifier,
- to-layout-category [8] IMPLICIT Category-Name,
- to-layout-object-type [9] IMPLICIT Layout-Object-Type,
- null [16] IMPLICIT NULL} OPTIONAL,
- same-layout-object [10] IMPLICIT Same-Layout-Object OPTIONAL,
- layout-object-class
- [11] IMPLICIT Object-or-Class-Identifier OPTIONAL,
- logical-stream-category [19] IMPLICIT Category-Name OPTIONAL,
- logical-stream-sub-category [20] IMPLICIT Category-Name OPTIONAL,
- layout-category [12] IMPLICIT Category-Name OPTIONAL,
- synchronization
- CHOICE {a [13] IMPLICIT Object-or-Class-Identifier,
- b [17] Object-Id-Expression,
- c [18] IMPLICIT NULL} OPTIONAL,
- block-alignment [14] IMPLICIT Block-Alignment OPTIONAL,
- floatability-range [24] IMPLICIT Floatability-Range OPTIONAL
-}
-
-Separation ::= SET {
- leading [0] IMPLICIT INTEGER OPTIONAL,
- trailing [1] IMPLICIT INTEGER OPTIONAL,
- centre [2] IMPLICIT INTEGER OPTIONAL
-}
-
-Offset ::= SET {
- leading [3] IMPLICIT INTEGER OPTIONAL,
- trailing [2] IMPLICIT INTEGER OPTIONAL,
- left-hand [1] IMPLICIT INTEGER OPTIONAL,
- right-hand [0] IMPLICIT INTEGER OPTIONAL
-}
-
-Fill-Order ::= INTEGER {normal(0), reverse(1)}
-
-Concatenation ::= INTEGER {non-concatenated(0), concatenated(1)}
-
-Same-Layout-Object ::= SET {
- logical-object
- CHOICE {a [0] IMPLICIT Object-or-Class-Identifier,
- b [4] Object-Id-Expression,
- c [5] IMPLICIT NULL},
- layout-object
- CHOICE {d [1] IMPLICIT Object-or-Class-Identifier,
- to-stream-root-category [6] IMPLICIT Category-Name,
- to-stream-sub-category [7] IMPLICIT Category-Name,
- to-layout-category [2] IMPLICIT Category-Name,
- e [3] IMPLICIT Layout-Object-Type} OPTIONAL
-}
-
-Floatability-Range ::= SET {
- forward-limit
- [0] SEQUENCE {logical-object
- CHOICE {a [2] IMPLICIT Object-or-Class-Identifier,
- b [3] Object-Id-Expression,
- c [4] IMPLICIT NULL},
- layout-object
- CHOICE {to-layout-object-class
- [5] IMPLICIT Object-or-Class-Identifier,
- to-stream-root-category
- [6] IMPLICIT Category-Name,
- to-stream-sub-category
- [7] IMPLICIT Category-Name,
- to-layout-category
- [8] IMPLICIT Category-Name,
- to-layout-object-type
- [9] IMPLICIT Layout-Object-Type,
- d [10] IMPLICIT NULL
- } OPTIONAL} OPTIONAL,
- backward-limit
- [1] SEQUENCE {logical-object
- CHOICE {e [2] IMPLICIT Object-or-Class-Identifier,
- f [3] Object-Id-Expression,
- g [4] IMPLICIT NULL},
- layout-object
- CHOICE {to-layout-object-class
- [5] IMPLICIT Object-or-Class-Identifier,
- to-stream-root-category
- [6] IMPLICIT Category-Name,
- to-stream-sub-category
- [7] IMPLICIT Category-Name,
- to-layout-category
- [8] IMPLICIT Category-Name,
- to-layout-object-type
- [9] IMPLICIT Layout-Object-Type,
- h [10] IMPLICIT NULL
- } OPTIONAL} OPTIONAL
-}
-
-Block-Alignment ::= INTEGER {right-hand(0), left-hand(1), centred(2), null(3)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Subprofiles.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Subprofiles.asn
deleted file mode 100644
index bfcd0b5dbc..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Subprofiles.asn
+++ /dev/null
@@ -1,96 +0,0 @@
--- Module Subprofiles (T.422:08/1995)
-
-Subprofiles {2 8 1 12 2} DEFINITIONS IMPLICIT TAGS ::=
-BEGIN
-
-EXPORTS Subprofile-Descriptor, Subprofile-Identifier;
-
-IMPORTS
- Character-Data, Date-and-Time, Document-Reference, Personal-Name,
- Originators, Other-User-Information, Local-File-References,
- Security-Information
- FROM Document-Profile-Descriptor {2 8 1 5 6}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5
- Location-Expression
- FROM Location-Expressions {2 8 1 12 0};
-
-Subprofile-Descriptor ::= SET {
- subprofile-identifier [0] Subprofile-Identifier,
- subprofile-reference [1] Subprofile-Reference OPTIONAL,
- subprofile-precedence [2] INTEGER OPTIONAL,
- document-fragment-reference [3] Location-Expression,
- content-architecture-classes
- [4] SET OF OBJECT IDENTIFIER OPTIONAL, -- shall always
-
- -- be present, except when used in a location expression
- document-fragment-management-attributes
- [5] Document-Fragment-Management-Attributes OPTIONAL
-}
-
-Subprofile-Identifier ::= [APPLICATION 8] PrintableString
-
--- only digits and spaces are used in the present version of this Specification;
--- other characters are reserved for extensions
-Subprofile-Reference ::= CHOICE {
- unique-reference [0] OBJECT IDENTIFIER,
- descriptive-reference [1] Character-Data
-}
-
-Document-Fragment-Management-Attributes ::= SET {
- document-fragment-description [0] Document-Fragment-Description OPTIONAL,
- dates-and-times [1] Dates-and-Times OPTIONAL,
- originators [2] Originators OPTIONAL,
- other-user-information [3] Other-User-Information OPTIONAL,
- external-references [4] External-References2 OPTIONAL,
- local-file-references [5] Local-File-References OPTIONAL,
- languages [6] SET OF Character-Data OPTIONAL,
- security-information [7] Security-Information OPTIONAL
-}
-
-Document-Fragment-Description ::= SET {
- title [0] Character-Data OPTIONAL,
- subject [1] Character-Data OPTIONAL,
- document-fragment-type [2] Character-Data OPTIONAL,
- abstract [3] Character-Data OPTIONAL,
- keywords [4] SET OF Character-Data OPTIONAL
-}
-
-Dates-and-Times ::= SET {
- document-fragment-date-and-time [0] Date-and-Time OPTIONAL,
- creation-date-and-time [1] Date-and-Time OPTIONAL,
- local-filing-date-and-time [2] SEQUENCE OF Date-and-Time OPTIONAL,
- expiry-date-and-time [3] Date-and-Time OPTIONAL,
- start-date-and-time [4] Date-and-Time OPTIONAL,
- purge-date-and-time [5] Date-and-Time OPTIONAL,
- release-date-and-time [6] Date-and-Time OPTIONAL,
- revision-history
- [7] SEQUENCE OF
- SET {revision-date-and-time [0] Date-and-Time OPTIONAL,
- version-identifier [1] Character-Data OPTIONAL,
- revisers
- [2] SET OF
- SET {names [0] SET OF Personal-Name OPTIONAL,
- position [1] Character-Data OPTIONAL,
- organization [2] Character-Data OPTIONAL
- } OPTIONAL,
- version-reference
- [3] Document-or-Document-Fragment-Reference OPTIONAL,
- user-comments [4] Character-Data OPTIONAL} OPTIONAL
-}
-
-External-References2 ::= SET {
- references-to-other-documents-or-document-fragments
- [0] SET OF Document-or-Document-Fragment-Reference OPTIONAL,
- superseded-documents-or-document-fragments
- [1] SET OF Document-or-Document-Fragment-Reference OPTIONAL
-}
-
-Document-or-Document-Fragment-Reference ::= CHOICE {
- document [0] Document-Reference,
- document-fragment [1] Subprofile-Reference
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Temporal-Relationships.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Temporal-Relationships.asn
deleted file mode 100644
index 9633995e3b..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Temporal-Relationships.asn
+++ /dev/null
@@ -1,92 +0,0 @@
--- Module Temporal-Relationships (T.424:07/1996)
-
-Temporal-Relationships {2 8 1 14 0} DEFINITIONS ::=
-BEGIN
-
-EXPORTS
- Temporal-Relations, Presentation-Time, Document-Presentation-Time,
- Time-Scaling;
-
-IMPORTS
- Date-and-Time
- FROM Document-Profile-Descriptor {2 8 1 5 6}
- -- see ITU-T Rec. T.415 | ISO/IEC 8613-5 and C.4
- Object-or-Class-Identifier
- FROM Identifiers-and-Expressions {2 8 1 5 7};
-
--- see ITU-T Rec. T.415 | ISO/IEC 8613-5
-Temporal-Relations ::= SET {
- synchronization-type [0] IMPLICIT Synchronization-Type,
- subordinate-nodes
- [1] SEQUENCE OF
- SET {node-identifier [0] IMPLICIT Node-Identifier,
- start-time [1] IMPLICIT Time-Delay OPTIONAL,
- duration [2] Indefinite-or-Time-Delay OPTIONAL,
- cyclic [3] IMPLICIT Cyclic OPTIONAL,
- end-time [4] IMPLICIT Time-Delay OPTIONAL,
- application-comments [5] IMPLICIT OCTET STRING OPTIONAL
- }
-}
-
--- The value 'null' is represented by an empty set
-Synchronization-Type ::= INTEGER {
- parallel-last(0), parallel-first(1), parallel-selective(2), sequential(3)
-}
-
-Node-Identifier ::= PrintableString
-
--- only digits and spaces are used
--- the first digit is either 2 for a logical object class or 3 for a logical object
-Cyclic ::= SET {
- number-of-cycles [0] CHOICE {indefinite Indefinite,
- a INTEGER},
- cycle-start-time [1] IMPLICIT Time-Delay OPTIONAL,
- cycle-duration [2] Indefinite-or-Time-Delay OPTIONAL
-}
-
-Indefinite ::= NULL
-
-Time-Delay ::= INTEGER {indefinite(-1)}
-
-Presentation-Time ::= SET {
- timing
- CHOICE {fixed-timing [0] IMPLICIT INTEGER,
- variable-timing [1] IMPLICIT Time-Spec} OPTIONAL,
- duration
- CHOICE {fixed-duration
- [2] CHOICE {indefinite-or-time-delay Indefinite-or-Time-Delay,
- object-or-class-identifier
- Object-or-Class-Identifier},
- rule-A [3] IMPLICIT Rule-Spec,
- rule-B [4] IMPLICIT Rule-Spec} OPTIONAL,
- cyclic [5] Cyclic OPTIONAL
-}
-
--- The value 'null' is represented by an empty set
-Time-Spec ::= SET {
- start-offset [0] IMPLICIT INTEGER OPTIONAL,
- end-offset [1] IMPLICIT INTEGER OPTIONAL,
- start-separation [2] IMPLICIT INTEGER OPTIONAL,
- end-separation [3] IMPLICIT INTEGER OPTIONAL
-}
-
-Rule-Spec ::= SET {
- minimum-duration [0] IMPLICIT INTEGER OPTIONAL,
- maximum-duration [1] IMPLICIT INTEGER OPTIONAL
-}
-
-Indefinite-or-Time-Delay ::= CHOICE {
- indefinite [0] IMPLICIT NULL,
- fixed [1] Time-Delay
-}
-
-Document-Presentation-Time ::= Date-and-Time
-
-Time-Scaling ::= [0] IMPLICIT SEQUENCE {a INTEGER,
- b INTEGER
-}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Text-Units.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Text-Units.asn
deleted file mode 100644
index ccc64a52f5..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Text-Units.asn
+++ /dev/null
@@ -1,72 +0,0 @@
--- Module Text-Units (T.415:03/1993)
-
-Text-Units {2 8 1 5 12} DEFINITIONS ::=
-BEGIN
-
-EXPORTS Text-Unit, Type-Of-Coding;
-
-IMPORTS
- Content-Portion-Identifier
- FROM Identifiers-and-Expressions -- see 7.8
-
- Character-Coding-Attributes
- FROM Character-Coding-Attributes {2 8 1 6 3
- } -- see ITU-T Rec. T.416 | ISO/IEC 8613-6
- Raster-Gr-Coding-Attributes
- FROM Raster-Gr-Coding-Attributes {2 8 1 7 3
- } -- see ITU-T Rec. T.417 | ISO/IEC 8613-7
- Geo-Gr-Coding-Attributes
- FROM Geo-Gr-Coding-Attributes {2 8 1 8 3
- } -- see ITU-T Rec. T.418 | ISO/IEC 8613-8
- Videotex-Coding-Attributes
- FROM Videotex-Coding-Attributes ;
-
-Text-Unit ::= SEQUENCE {
- content-portion-attributes Content-Portion-Attributes OPTIONAL,
- content-information Content-Information OPTIONAL
-}
-
-Content-Portion-Attributes ::= SET {
- content-identifier-layout Content-Portion-Identifier OPTIONAL,
- content-identifier-logical [4] IMPLICIT Content-Portion-Identifier OPTIONAL,
- type-of-coding Type-Of-Coding OPTIONAL,
- coding-attributes
- CHOICE {character-coding-attributes
- [1] IMPLICIT Character-Coding-Attributes,
- raster-gr-coding-attributes
- [2] IMPLICIT Raster-Gr-Coding-Attributes,
- geo-gr-coding-attributes
- [7] IMPLICIT Geo-Gr-Coding-Attributes,
- videotex-coding-attributes
- [8] IMPLICIT Videotex-Coding-Attributes,
- -- the use of the data item "videotex-coding-attributes" is applicable to
- -- ITU-T Rec. T.410 Series only
- -- the following tags are reserved for additional types
- -- of coding attributes:
- -- [9] audio
- -- [10] dynamic-graphics
- ext-cont-arch-coding-attributes [11] IMPLICIT EXTERNAL} OPTIONAL,
- alternative-representation [3] IMPLICIT Alternative-Representation OPTIONAL
-}
-
-Content-Information ::= CHOICE {
- content OCTET STRING,
- tiled-content Tiled-Content
-}
-
-Tiled-Content ::= SEQUENCE OF OCTET STRING
-
-Type-Of-Coding ::= CHOICE {
- a [0] IMPLICIT INTEGER {t6(1)},
- b [6] IMPLICIT OBJECT IDENTIFIER
-}
-
-Alternative-Representation ::= OCTET STRING
-
--- string of characters from the sets designated by the document
--- profile attribute "alternative representation character sets",
--- plus carriage return and line feed
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/UpperBounds.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/UpperBounds.asn
deleted file mode 100644
index c97c83a569..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/UpperBounds.asn
+++ /dev/null
@@ -1,89 +0,0 @@
--- Module UpperBounds (X.520:08/1997)
-
-UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 3} DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ub-answerback INTEGER ::=
-8
-
-ub-business-category INTEGER ::= 128
-
-ub-common-name INTEGER ::= 64
-
-ub-country-code INTEGER ::= 4
-
-ub-description INTEGER ::= 1024
-
-ub-destination-indicator INTEGER ::= 128
-
-ub-directory-string-first-component-match INTEGER ::= 32768
-
-ub-international-isdn-number INTEGER ::= 16
-
-ub-knowledge-information INTEGER ::= 32768
-
-ub-locality-name INTEGER ::= 128
-
-ub-match INTEGER ::= 128
-
-ub-name INTEGER ::= 64
-
-ub-organization-name INTEGER ::= 64
-
-ub-organizational-unit-name INTEGER ::= 64
-
-ub-physical-office-name INTEGER ::= 128
-
-ub-post-office-box INTEGER ::= 40
-
-ub-postal-code INTEGER ::= 40
-
-ub-postal-line INTEGER ::= 6
-
-ub-postal-string INTEGER ::= 30
-
-ub-privacy-mark-length INTEGER ::= 128
-
-ub-schema INTEGER ::= 1024
-
-ub-search INTEGER ::= 17 --This definition is missing; to be provided --
-
-ub-serial-number INTEGER ::= 64
-
-ub-state-name INTEGER ::= 128
-
-ub-street-address INTEGER ::= 128
-
-ub-surname INTEGER ::= 64
-
-ub-tag INTEGER ::= 64
-
-ub-telephone-number INTEGER ::= 32
-
-ub-teletex-terminal-id INTEGER ::= 1024
-
-ub-telex-number INTEGER ::= 14
-
-ub-title INTEGER ::= 64
-
-ub-user-password INTEGER ::= 128
-
-ub-x121-address INTEGER ::= 15
-
-ub-localeContextSyntax INTEGER ::= 128
-
-ub-locale-context-syntax INTEGER ::= 64
-
-ub-pseudonym INTEGER ::= 128
-
-ub-content INTEGER ::= 32768
-
-END -- UpperBounds
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/UsefulDefinitions.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/UsefulDefinitions.asn
deleted file mode 100644
index d9601bb7d0..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/UsefulDefinitions.asn
+++ /dev/null
@@ -1,238 +0,0 @@
--- Module UsefulDefinitions (X.501:08/1997)
-UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 3}
-DEFINITIONS ::=
-BEGIN
-
--- EXPORTS All -
--- The types and values defined in this module are exported for use in the other ASN.1 modules contained
--- within the Directory Specifications, and for the use of other applications which will use them to access
--- Directory services. Other applications may use them for their own purposes, but this will not constrain
--- extensions and modifications needed to maintain or improve the Directory service.
-ID ::= OBJECT IDENTIFIER
-
-ds ID ::= {joint-iso-itu-t ds(5)}
-
--- categories of information object
-module ID ::= {ds 1}
-
-serviceElement ID ::= {ds 2}
-
-applicationContext ID ::= {ds 3}
-
-attributeType ID ::= {ds 4}
-
-attributeSyntax ID ::= {ds 5}
-
-objectClass ID ::= {ds 6}
-
--- attributeSet ID ::= {ds 7}
-algorithm ID ::= {ds 8}
-
-abstractSyntax ID ::= {ds 9}
-
--- object ID ::= {ds 10}
--- port ID ::= {ds 11}
-dsaOperationalAttribute ID ::=
- {ds 12}
-
-matchingRule ID ::= {ds 13}
-
-knowledgeMatchingRule ID ::= {ds 14}
-
-nameForm ID ::= {ds 15}
-
-group ID ::= {ds 16}
-
-subentry ID ::= {ds 17}
-
-operationalAttributeType ID ::= {ds 18}
-
-operationalBinding ID ::= {ds 19}
-
-schemaObjectClass ID ::= {ds 20}
-
-schemaOperationalAttribute ID ::= {ds 21}
-
-administrativeRoles ID ::= {ds 23}
-
-accessControlAttribute ID ::= {ds 24}
-
-rosObject ID ::= {ds 25}
-
-contract ID ::= {ds 26}
-
-package ID ::= {ds 27}
-
-accessControlSchemes ID ::= {ds 28}
-
-certificateExtension ID ::= {ds 29}
-
-managementObject ID ::= {ds 30}
-
-attributeValueContext ID ::= {ds 31}
-
--- securityExchange ID ::= {ds 32}
-idmProtocol ID ::= {ds 33}
-
-problem ID ::= {ds 34}
-
-notification ID ::= {ds 35}
-
-matchingRestriction ID ::=
- {ds 36} -- None are currently defined by this specification
-
-controlAttributeType ID ::= {ds 37}
-
--- modules
-usefulDefinitions ID ::= {module usefulDefinitions(0) 3}
-
-informationFramework ID ::= {module informationFramework(1) 3}
-
-directoryAbstractService ID ::= {module directoryAbstractService(2) 3}
-
-distributedOperations ID ::= {module distributedOperations(3) 3}
-
-protocolObjectIdentifiers ID ::= {module protocolObjectIdentifiers(4) 3}
-
-selectedAttributeTypes ID ::= {module selectedAttributeTypes(5) 3}
-
-selectedObjectClasses ID ::= {module selectedObjectClasses(6) 3}
-
-authenticationFramework ID ::= {module authenticationFramework(7) 3}
-
-algorithmObjectIdentifiers ID ::= {module algorithmObjectIdentifiers(8) 3}
-
-directoryObjectIdentifiers ID ::= {module directoryObjectIdentifiers(9) 3}
-
-upperBounds ID ::= {module upperBounds(10) 3}
-
-dap ID ::= {module dap(11) 3}
-
-dsp ID ::= {module dsp(12) 3}
-
-distributedDirectoryOIDs ID ::= {module distributedDirectoryOIDs(13) 3}
-
-directoryShadowOIDs ID ::= {module directoryShadowOIDs(14) 3}
-
-directoryShadowAbstractService ID ::=
- {module directoryShadowAbstractService(15) 3}
-
-disp ID ::= {module disp(16) 3}
-
-dop ID ::= {module dop(17) 3}
-
-opBindingManagement ID ::= {module opBindingManagement(18) 3}
-
-opBindingOIDs ID ::= {module opBindingOIDs(19) 3}
-
-hierarchicalOperationalBindings ID ::=
- {module hierarchicalOperationalBindings(20) 3}
-
-dsaOperationalAttributeTypes ID ::= {module dsaOperationalAttributeTypes(22) 3}
-
-schemaAdministration ID ::= {module schemaAdministration(23) 3}
-
-basicAccessControl ID ::= {module basicAccessControl(24) 3}
-
-directoryOperationalBindingTypes ID ::=
- {module directoryOperationalBindingTypes(25) 3}
-
-certificateExtensions ID ::= {module certificateExtensions(26) 0}
-
-directoryManagement ID ::= {module directoryManagement(27) 1}
-
-enhancedSecurity ID ::= {module enhancedSecurity(28) 1}
-
-iDMProtocolSpecification ID ::= {module iDMProtocolSpecification(30) 4}
-
-directoryIDMProtocols ID ::= {module directoryIDMProtocols(31) 4}
-
--- directorySecurityExchanges ID ::= {module directorySecurityExchanges (29) 1}
--- synonyms
-id-oc ID ::=
- objectClass
-
-id-at ID ::= attributeType
-
-id-as ID ::= abstractSyntax
-
-id-mr ID ::= matchingRule
-
-id-nf ID ::= nameForm
-
-id-sc ID ::= subentry
-
-id-oa ID ::= operationalAttributeType
-
-id-ob ID ::= operationalBinding
-
-id-doa ID ::= dsaOperationalAttribute
-
-id-kmr ID ::= knowledgeMatchingRule
-
-id-soc ID ::= schemaObjectClass
-
-id-soa ID ::= schemaOperationalAttribute
-
-id-ar ID ::= administrativeRoles
-
-id-aca ID ::= accessControlAttribute
-
-id-ac ID ::= applicationContext
-
-id-rosObject ID ::= rosObject
-
-id-contract ID ::= contract
-
-id-package ID ::= package
-
-id-acScheme ID ::= accessControlSchemes
-
-id-ce ID ::= certificateExtension
-
-id-mgt ID ::= managementObject
-
-id-idm ID ::= idmProtocol
-
-id-avc ID ::= attributeValueContext
-
--- id-se ID ::= securityExchange
-id-pr ID ::= problem
-
-id-not ID ::= notification
-
-id-mre ID ::= matchingRestriction
-
-id-cat ID ::= controlAttributeType
-
--- obsolete module identifiers
--- usefulDefinition ID ::= {module 0}
--- informationFramework ID ::= {module 1}
--- directoryAbstractService ID ::= {module 2}
--- distributedOperations ID ::= {module 3}
--- protocolObjectIdentifiers ID ::= {module 4}
--- selectedAttributeTypes ID ::= {module 5}
--- selectedObjectClasses ID ::= {module 6}
--- authenticationFramework ID ::= {module 7}
--- algorithmObjectIdentifiers ID ::= {module 8}
--- directoryObjectIdentifiers ID ::= {module 9}
--- upperBounds ID ::= {module 10}
--- dap ID ::= {module 11}
--- dsp ID ::= {module 12}
--- distributedDirectoryObjectIdentifiers ID ::= {module 13}
--- unused module identifiers
--- directoryShadowOIDs ID ::= {module 14}
--- directoryShadowAbstractService ID ::= {module 15}
--- disp ID ::= {module 16}
--- dop ID ::= {module 17}
--- opBindingManagement ID ::= {module 18}
--- opBindingOIDs ID ::= {module 19}
--- hierarchicalOperationalBindings ID ::= {module 20}
--- dsaOperationalAttributeTypes ID ::= {module 22}
--- schemaAdministration ID ::= {module 23}
--- basicAccessControl ID ::= {module 24}
--- operationalBindingOIDs ID ::= {module 25}
-END -- UsefulDefinitions
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Videotex-Coding-Attributes.asn b/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Videotex-Coding-Attributes.asn
deleted file mode 100644
index 18e51cbc0d..0000000000
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/x420/Videotex-Coding-Attributes.asn
+++ /dev/null
@@ -1,30 +0,0 @@
--- Module Videotex-Coding-Attributes (T.101:11/1994)
-Videotex-Coding-Attributes DEFINITIONS ::=
-BEGIN
-
-EXPORTS Videotex-Coding-Attributes;
-
-Videotex-Coding-Attributes ::= SET {
- subset [0] IMPLICIT Subset OPTIONAL,
- rank [1] IMPLICIT Rank OPTIONAL,
- profile [2] IMPLICIT Profile OPTIONAL
-}
-
-Subset ::= INTEGER {
- undefined(0), rank1(1), rank2(2), rank3(3), rank4(4), rank5(5), profile1(81),
- profile2(82), profile3(83), profile4(84), profileX1-1(85), profileX1-2(86),
- profileX1-3(87), profileX1-4(88), profileX2-1(89), profileX2-2(90),
- profileX2-3(91), profileX2-4(92)}
-
-Rank ::= INTEGER {
- undefined(0), rank1(1), rank2(2), rank3(3), rank4(4), rank5(5)}
-
-Profile ::= INTEGER {
- undefined(0), profile1(81), profile2(82), profile3(83), profile4(84),
- profileX1-1(85), profileX1-2(86), profileX1-3(87), profileX1-4(88),
- profileX2-1(89), profileX2-2(90), profileX2-3(91), profileX2-4(92)}
-
-END
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/lib/asn1/test/asn1_test_lib.erl b/lib/asn1/test/asn1_test_lib.erl
index 2884c79216..26cbdeb940 100644
--- a/lib/asn1/test/asn1_test_lib.erl
+++ b/lib/asn1/test/asn1_test_lib.erl
@@ -22,7 +22,7 @@
-export([ticket_7407_compile/2,ticket_7407_code/1, ticket_7678/2,
ticket_7708/2, ticket_7763/1, ticket_7876/3]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
ticket_7407_compile(Config,Option) ->
diff --git a/lib/asn1/test/asn1_wrapper.erl b/lib/asn1/test/asn1_wrapper.erl
index 553f0b062c..d515b99ac2 100644
--- a/lib/asn1/test/asn1_wrapper.erl
+++ b/lib/asn1/test/asn1_wrapper.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -26,7 +26,7 @@
encode(Module,Type,Value) ->
case asn1rt:encode(Module,Type,Value) of
- {ok,X} when binary(X) ->
+ {ok,X} when is_binary(X) ->
{ok, binary_to_list(X)};
{ok,X} ->
{ok, binary_to_list(list_to_binary(X))};
@@ -38,21 +38,21 @@ decode(Module,Type,Bytes) ->
case Module:encoding_rule() of
ber ->
asn1rt:decode(Module,Type,Bytes);
- ber_bin when binary(Bytes) ->
+ ber_bin when is_binary(Bytes) ->
asn1rt:decode(Module,Type,Bytes);
ber_bin ->
asn1rt:decode(Module,Type,list_to_binary(Bytes));
- ber_bin_v2 when binary(Bytes) ->
+ ber_bin_v2 when is_binary(Bytes) ->
asn1rt:decode(Module,Type,Bytes);
ber_bin_v2 ->
asn1rt:decode(Module,Type,list_to_binary(Bytes));
per ->
asn1rt:decode(Module,Type,Bytes);
- per_bin when binary(Bytes) ->
+ per_bin when is_binary(Bytes) ->
asn1rt:decode(Module,Type,Bytes);
per_bin ->
asn1rt:decode(Module,Type,list_to_binary(Bytes));
- uper_bin when binary(Bytes) ->
+ uper_bin when is_binary(Bytes) ->
asn1rt:decode(Module,Type,Bytes);
uper_bin ->
asn1rt:decode(Module,Type,list_to_binary(Bytes))
diff --git a/lib/asn1/test/bench/README b/lib/asn1/test/bench/README
deleted file mode 100644
index 2aa9e4cd70..0000000000
--- a/lib/asn1/test/bench/README
+++ /dev/null
@@ -1,109 +0,0 @@
-Benchmark framework
--------------------
-
-This benchmark framework consists of the files:
-bench.erl - see bench module below
-bench.hrl - Defines some useful macros
-all.erl - see all module below
-
-bench module
------------
-
-The module bench is a generic module that measures execution time
-of functions in callback modules and writes an html-report on the outcome.
-
-When you execute the function bench:run/0 it will compile and run all
-benchmark modules in the current directory.
-
-all module
------------
-
-In the all module there is a function called releases/0 that you can
-edit to contain all your erlang installations and then you can
-run your benchmarks on several erlang versions using only one command i.e.
-all:run().
-
-Requirements on callback modules
----------------------------------
-
-* A callback module must be named <callbackModuleName>_bm.erl
-
-* The module must export the function benchmarks/0 that must return:
- {Iterations, [Name1,Name2...]} where Iterations is the number of
- times each benchmark should be run. Name1, Name2 and so one are the
- name of exported functions in the module.
-
-* The exported functions Name1 etc. must take one argument i.e. the number
- of iterations and should return the atom ok.
-
-* The functions in a benchmark module should represent different
- ways/different sequential algorithms for doing something. And the
- result will be how fast they are compared to each other.
-
-Files created
---------------
-
-Files that are created in the current directory are *.bmres and
-index.html. The file(s) with the extension "bmres" are an intermediate
-representation of the benchmark results and is only meant to be read
-by the reporting mechanism defined in bench.erl. The index.html file
-is the report telling you how good the benchmarks are in comparison to
-each other. If you run your test on several erlang releases the
-html-file will include the result for all versions.
-
-
-Pitfalls
----------
-To get meaningful measurements, you should make sure that:
-
-* The total execution time is at least several seconds.
-
-* That any time spent in setup before entering the measurement loop is very
- small compared to the total time.
-
-* That time spent by the loop itself is small compared to the total execution
- time
-
-Consider the following example of a benchmark function that does
-a local function call.
-
-local_call(0) -> ok;
-local_call(Iter) ->
- foo(), % Local function call
- local_call(Iter-1).
-
-The problem is that both "foo()" and "local_call(Iter-1)" takes about
-the same amount of time. To get meaningful figures you'll need to make
-sure that the loop overhead will not be visible. In this case we can
-take help of a macro in bench.hrl to repeat the local function call
-many times, making sure that time spent calling the local function is
-relatively much longer than the time spent iterating. Of course, all
-benchmarks in the same module must be repeated the same number of
-times; thus external_call will look like
-
-external_call(0) -> ok;
-external_call(Iter) ->
- ?rep20(?MODULE:foo()),
- external_call(Iter-1).
-
-This technique is only necessary if the operation we are testing executes
-really fast.
-
-If you for instance want to test a sort routine we can keep it simple:
-
-sorted(Iter) ->
- do_sort(Iter, lists:seq(0, 63)).
-
-do_sort(0, List) -> ok;
-do_sort(Iter, List) ->
- lists:sort(List),
- do_sort(Iter-1, List).
-
-The call to lists:seq/2 is only done once. The loop overhead in the
-do_sort/2 function is small compared to the execution time of lists:sort/1.
-
-Error handling
----------------
-
-Any error enforced by a callback module will result in exit of the benchmark
-program and an errormessage that should give a good idea of what is wrong.
diff --git a/lib/asn1/test/bench/RanapASN1.asn b/lib/asn1/test/bench/RanapASN1.asn
deleted file mode 100644
index b848aadc84..0000000000
--- a/lib/asn1/test/bench/RanapASN1.asn
+++ /dev/null
@@ -1,3146 +0,0 @@
-RanapASN1 {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &Outcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- [OUTCOME &Outcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-RANAP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- outcome Outcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-Outcome ::= SEQUENCE {
- procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
- criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
- RANAP-ELEMENTARY-PROCEDURES-CLASS-1 |
- RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
- RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
- ...
-}
-
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
- iu-Release |
- relocationPreparation |
- relocationResourceAllocation |
- relocationCancel |
- sRNS-ContextTransfer |
- securityModeControl |
- dataVolumeReport |
- reset |
- resetResource ,
- ...
-}
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= {
- rAB-ReleaseRequest |
- iu-ReleaseRequest |
- relocationDetect |
- relocationComplete |
- paging |
- commonID |
- cN-InvokeTrace |
- cN-DeactivateTrace |
- locationReportingControl |
- locationReport |
- initialUE-Message |
- directTransfer |
- overloadControl |
- errorIndication |
- sRNS-DataForward |
- forwardSRNS-Context |
- privateMessage |
- rANAP-Relocation ,
- ...
-}
-
-RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= {
- rAB-Assignment ,
- ...
-}
-
--- **************************************************************
---
--- Interface Elementary Procedures
---
--- **************************************************************
-
-iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseCommand
- SUCCESSFUL OUTCOME Iu-ReleaseComplete
- PROCEDURE CODE id-Iu-Release
- CRITICALITY reject
-}
-
-relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationRequired
- SUCCESSFUL OUTCOME RelocationCommand
- UNSUCCESSFUL OUTCOME RelocationPreparationFailure
- PROCEDURE CODE id-RelocationPreparation
- CRITICALITY reject
-}
-
-relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationRequest
- SUCCESSFUL OUTCOME RelocationRequestAcknowledge
- UNSUCCESSFUL OUTCOME RelocationFailure
- PROCEDURE CODE id-RelocationResourceAllocation
- CRITICALITY reject
-}
-
-relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationCancel
- SUCCESSFUL OUTCOME RelocationCancelAcknowledge
- PROCEDURE CODE id-RelocationCancel
- CRITICALITY reject
-}
-
-sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRNS-ContextRequest
- SUCCESSFUL OUTCOME SRNS-ContextResponse
- PROCEDURE CODE id-SRNS-ContextTransfer
- CRITICALITY reject
-}
-
-securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SecurityModeCommand
- SUCCESSFUL OUTCOME SecurityModeComplete
- UNSUCCESSFUL OUTCOME SecurityModeReject
- PROCEDURE CODE id-SecurityModeControl
- CRITICALITY reject
-}
-
-dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DataVolumeReportRequest
- SUCCESSFUL OUTCOME DataVolumeReport
- PROCEDURE CODE id-DataVolumeReport
- CRITICALITY reject
-}
-
-
-reset RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Reset
- SUCCESSFUL OUTCOME ResetAcknowledge
- PROCEDURE CODE id-Reset
- CRITICALITY reject
-}
-
-rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-ReleaseRequest
- PROCEDURE CODE id-RAB-ReleaseRequest
- CRITICALITY ignore
-}
-
-iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Iu-ReleaseRequest
- PROCEDURE CODE id-Iu-ReleaseRequest
- CRITICALITY ignore
-}
-
-relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationDetect
- PROCEDURE CODE id-RelocationDetect
- CRITICALITY ignore
-}
-
-relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RelocationComplete
- PROCEDURE CODE id-RelocationComplete
- CRITICALITY ignore
-}
-
-paging RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Paging
- PROCEDURE CODE id-Paging
- CRITICALITY ignore
-}
-
-commonID RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CommonID
- PROCEDURE CODE id-CommonID
- CRITICALITY ignore
-}
-
-cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-InvokeTrace
- PROCEDURE CODE id-CN-InvokeTrace
- CRITICALITY ignore
-}
-
-cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE CN-DeactivateTrace
- PROCEDURE CODE id-CN-DeactivateTrace
- CRITICALITY ignore
-}
-
-locationReportingControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingControl
- PROCEDURE CODE id-LocationReportingControl
- CRITICALITY ignore
-}
-
-locationReport RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReport
- PROCEDURE CODE id-LocationReport
- CRITICALITY ignore
-}
-
-initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialUE-Message
- PROCEDURE CODE id-InitialUE-Message
- CRITICALITY ignore
-}
-
-directTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DirectTransfer
- PROCEDURE CODE id-DirectTransfer
- CRITICALITY ignore
-}
-
-overloadControl RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Overload
- PROCEDURE CODE id-OverloadControl
- CRITICALITY ignore
-}
-
-errorIndication RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- PROCEDURE CODE id-ErrorIndication
- CRITICALITY ignore
-}
-
-sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE SRNS-DataForwardCommand
- PROCEDURE CODE id-SRNS-DataForward
- CRITICALITY ignore
-}
-
-forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ForwardSRNS-Context
- PROCEDURE CODE id-ForwardSRNS-Context
- CRITICALITY ignore
-}
-
-rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RAB-AssignmentRequest
- OUTCOME RAB-AssignmentResponse
- PROCEDURE CODE id-RAB-Assignment
- CRITICALITY reject
-}
-
-privateMessage RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
-
- PROCEDURE CODE id-privateMessage
- CRITICALITY ignore
-}
-
-resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ResetResource
- SUCCESSFUL OUTCOME ResetResourceAcknowledge
- PROCEDURE CODE id-ResetResource
- CRITICALITY reject
-}
-
-rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE RANAP-RelocationInformation
- PROCEDURE CODE id-RANAP-Relocation
- CRITICALITY ignore
-}
-
-
-
--- **************************************************************
---
--- PDU definitions for RANAP.
---
--- **************************************************************
-
-
---BEGIN_2
-
--- **************************************************************
---
--- Common Container Lists
---
--- **************************************************************
-
-RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
-RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} }
-ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} }
-IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} }
-DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} }
-
--- **************************************************************
---
--- Iu RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Iu Release Command
---
--- **************************************************************
-
-Iu-ReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Iu Release Complete
---
--- **************************************************************
-
-Iu-ReleaseComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE conditional
- -- This group is only present if data volume reporting for PS domain is required -- } |
- { ID id-RAB-ReleasedList-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedList-IuRelComp PRESENCE conditional
- -- This group is only present for RABs towards the PS domain when sequence numbers are available and when the release was initiated by UTRAN -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-DataVolumeReportList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportItemIEs} }
-
-RAB-DataVolumeReportItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportItem CRITICALITY ignore TYPE RAB-DataVolumeReportItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-UnsuccessfullyTransmittedDataVolume DataVolumeList OPTIONAL
- -- This IE is only present if data volume reporting for PS domain is required --,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataVolumeReportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleasedList-IuRelComp ::= RAB-IE-ContainerList { {RAB-ReleasedItem-IuRelComp-IEs} }
-
-RAB-ReleasedItem-IuRelComp-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleasedItem-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedItem-IuRelComp PRESENCE mandatory },
- ...
-}
-
-RAB-ReleasedItem-IuRelComp ::= SEQUENCE {
- rAB-ID RAB-ID,
- dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL
- --This IE is only present when available--,
- uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL
- --This IE is only present when available--,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-IuRelComp-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleasedItem-IuRelComp-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Required
---
--- **************************************************************
-
-RelocationRequired ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequiredIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RelocationType CRITICALITY reject TYPE RelocationType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory } |
- { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } |
- { ID id-ClassmarkInformation2 CRITICALITY reject TYPE ClassmarkInformation2 PRESENCE conditional
- -- This is only present when initiating an inter system handover towards GSM BSC -- } |
- { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE conditional
- -- This is only present when initiating an inter system handover towards GSM BSC -- } |
- { ID id-SourceRNC-ToTargetRNC-TransparentContainer
- CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE conditional
- -- This IE shall be present when initiating relocation of SRNS -- } |
- { ID id-OldBSS-ToNewBSS-Information CRITICALITY ignore TYPE OldBSS-ToNewBSS-Information PRESENCE conditional
- -- This is only present when initiating an inter system handover towards GSM BSC -- } ,
- ...
-}
-
-RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Command
---
--- **************************************************************
-
-RelocationCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TargetRNC-ToSourceRNC-TransparentContainer
- CRITICALITY reject TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE conditional
- -- This IE shall be included if it is received by the CN from the relocation target. -- } |
- { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE conditional
- -- This IE shall be included if it is received by the CN from the relocation target. -- } |
- { ID id-RAB-RelocationReleaseList CRITICALITY ignore TYPE RAB-RelocationReleaseList PRESENCE optional } |
- { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE conditional
- -- This group if applicable is only present for RABs towards the PS domain -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-RelocationReleaseList ::= RAB-IE-ContainerList { {RAB-RelocationReleaseItemIEs} }
-
-RAB-RelocationReleaseItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-RelocationReleaseItem CRITICALITY ignore TYPE RAB-RelocationReleaseItem PRESENCE mandatory },
- ...
-}
-
-RAB-RelocationReleaseItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-RelocationReleaseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-RelocationReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-DataForwardingList ::= RAB-IE-ContainerList { {RAB-DataForwardingItemIEs} }
-
-RAB-DataForwardingItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingItem CRITICALITY ignore TYPE RAB-DataForwardingItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataForwardingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Preparation Failure
---
--- **************************************************************
-
-RelocationPreparationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL,
- ...
-}
-
-RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION RESOURCE ALLOCATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Request
---
--- **************************************************************
-
-RelocationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE conditional
- -- This IE is only present if available at the sending side -- } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-SourceRNC-ToTargetRNC-TransparentContainer
- CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } |
- { ID id-RAB-SetupList-RelocReq CRITICALITY reject TYPE RAB-SetupList-RelocReq PRESENCE optional } |
- { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE conditional
- -- This IE is only present if available at the sending side -- } |
- { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
- { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory },
- ...
-}
-
-RAB-SetupList-RelocReq ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReq-IEs} }
-
-RAB-SetupItem-RelocReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-RelocReq CRITICALITY reject TYPE RAB-SetupItem-RelocReq PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-RelocReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL
- -- This IE is present if the relevant NAS information is provided by the CN --,
- rAB-Parameters RAB-Parameters,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain --,
- pDP-TypeInformation PDP-TypeInformation OPTIONAL
- -- This IE is only present for RABs towards the PS domain --,
- userPlaneInformation UserPlaneInformation,
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- service-Handover Service-Handover OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-RelocReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UserPlaneInformation ::= SEQUENCE {
- userPlaneMode UserPlaneMode,
- uP-ModeVersions UP-ModeVersions,
- iE-Extensions ProtocolExtensionContainer { {UserPlaneInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-UserPlaneInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Request Acknowledge
---
--- **************************************************************
-
-RelocationRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TargetRNC-ToSourceRNC-TransparentContainer
- CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE conditional
- -- Must be included if applicapble and if not sent via the other CN -- } |
- { ID id-RAB-SetupList-RelocReqAck CRITICALITY ignore TYPE RAB-SetupList-RelocReqAck PRESENCE optional} |
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }|
- { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE conditional
- -- This IE is only present if available at the sending side -- } |
- { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupList-RelocReqAck ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReqAck-IEs} }
-
-RAB-SetupItem-RelocReqAck-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupItem-RelocReqAck CRITICALITY reject TYPE RAB-SetupItem-RelocReqAck PRESENCE mandatory },
- ...
-}
-
-RAB-SetupItem-RelocReqAck ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress OPTIONAL,
- --This IE is only present for RABS towards the PS Domain
- iuTransportAssociation IuTransportAssociation OPTIONAL,
- --This IE is only present for RABS towards the PS Domain
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReqAck-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupItem-RelocReqAck-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-FailedList ::= RAB-IE-ContainerList { {RAB-FailedItemIEs} }
-
-RAB-FailedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedItem CRITICALITY ignore TYPE RAB-FailedItem PRESENCE mandatory },
- ...
-}
-
-RAB-FailedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {RAB-FailedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Failure
---
--- **************************************************************
-
-RelocationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationFailureIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL,
- ...
-}
-
-RelocationFailureIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION CANCEL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Cancel
---
--- **************************************************************
-
-RelocationCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCancelIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCancelIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Relocation Cancel Acknowledge
---
--- **************************************************************
-
-RelocationCancelAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCancelAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS CONTEXT TRANSFER OPEARATION
---
--- **************************************************************
-
--- **************************************************************
---
--- SRNS Context Request
---
--- **************************************************************
-
-SRNS-ContextRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-ContextRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingList-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingList-SRNS-CtxReq PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingList-SRNS-CtxReq ::= RAB-IE-ContainerList { {RAB-DataForwardingItem-SRNS-CtxReq-IEs} }
-
-RAB-DataForwardingItem-SRNS-CtxReq-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingItem-SRNS-CtxReq CRITICALITY reject TYPE RAB-DataForwardingItem-SRNS-CtxReq PRESENCE mandatory },
- ...
-}
-
-RAB-DataForwardingItem-SRNS-CtxReq ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS Context Response
---
--- **************************************************************
-
-SRNS-ContextResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-ContextResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ContextFailedtoTransferList CRITICALITY ignore TYPE RAB-ContextFailedtoTransferList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-ContextList ::= RAB-IE-ContainerList { {RAB-ContextItemIEs} }
-
-RAB-ContextItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextItem CRITICALITY ignore TYPE RAB-ContextItem PRESENCE mandatory },
- ...
-}
-
-RAB-ContextItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL
- --This IE is only present when available--,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL
- --This IE is only present when available--,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL
- --This IE is only present when available--,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL
- --This IE is only present when available--,
- iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ContextItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ContextFailedtoTransferList ::= RAB-IE-ContainerList { {RABs-ContextFailedtoTransferItemIEs} }
-
-RABs-ContextFailedtoTransferItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextFailedtoTransferItem CRITICALITY ignore TYPE RABs-ContextFailedtoTransferItem PRESENCE mandatory },
- ...
-}
-
-RABs-ContextFailedtoTransferItem::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RABs-ContextFailedtoTransferItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RABs-ContextFailedtoTransferItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SECURITY MODE CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Security Mode Command
---
--- **************************************************************
-
-SecurityModeCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IntegrityProtectionInformation CRITICALITY reject TYPE IntegrityProtectionInformation PRESENCE mandatory } |
- { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } |
- { ID id-KeyStatus CRITICALITY reject TYPE KeyStatus PRESENCE mandatory},
- ...
-}
-
-SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Security Mode Complete
---
--- **************************************************************
-
-SecurityModeComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeCompleteIEs RANAP-PROTOCOL-IES ::= {
- { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY reject TYPE ChosenIntegrityProtectionAlgorithm PRESENCE mandatory } |
- { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Security Mode Reject
---
--- **************************************************************
-
-SecurityModeReject ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} },
- protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL,
- ...
-}
-
-SecurityModeRejectIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DATA VOLUME REPORT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Data Volume Report Request
---
--- **************************************************************
-
-DataVolumeReportRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL,
- ...
-}
-
-DataVolumeReportRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportRequestList CRITICALITY ignore TYPE RAB-DataVolumeReportRequestList PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportRequestList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportRequestItemIEs} }
-
-RAB-DataVolumeReportRequestItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportRequestItem CRITICALITY reject TYPE RAB-DataVolumeReportRequestItem PRESENCE mandatory },
- ...
-}
-
-RAB-DataVolumeReportRequestItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportRequestItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-DataVolumeReportRequestItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Data Volume Report
---
--- **************************************************************
-
-DataVolumeReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} },
- protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL,
- ...
-}
-
-DataVolumeReportIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-FailedtoReportList CRITICALITY ignore TYPE RAB-FailedtoReportList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-DataVolumeReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-FailedtoReportList ::= RAB-IE-ContainerList { {RABs-failed-to-reportItemIEs} }
-
-RABs-failed-to-reportItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-FailedtoReportItem CRITICALITY ignore TYPE RABs-failed-to-reportItem PRESENCE mandatory },
- ...
-}
-
-RABs-failed-to-reportItem::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { RABs-failed-to-reportItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-
-RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- RESET ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Reset
---
--- **************************************************************
-
-Reset ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL,
- ...
-}
-
-ResetIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-ResetExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Reset Acknowledge
---
--- **************************************************************
-
-ResetAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-ResetAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
--- **************************************************************
---
--- RESET RESOURCE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Reset Resource
---
--- **************************************************************
-
-ResetResource ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetResourceIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL,
- ...
-}
-
-ResetResourceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceList PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-ResetResourceList ::= IuSigConId-IE-ContainerList{ {ResetResourceItemIEs} }
-
-ResetResourceItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceItem PRESENCE mandatory },
- ...
-}
-
-ResetResourceItem ::= SEQUENCE {
- iuSigConId IuSignallingConnectionIdentifier,
- iE-Extensions ProtocolExtensionContainer { { ResetResourceItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ResetResourceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Reset Resource Acknowledge
---
--- **************************************************************
-
-ResetResourceAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} },
- protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL,
- ...
-}
-
-ResetResourceAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceAckList PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-ResetResourceAckList ::= IuSigConId-IE-ContainerList{ {ResetResourceAckItemIEs} }
-
-ResetResourceAckItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceAckItem PRESENCE mandatory },
- ...
-}
-
-ResetResourceAckItem ::= SEQUENCE {
- iuSigConId IuSignallingConnectionIdentifier,
- iE-Extensions ProtocolExtensionContainer { { ResetResourceAckItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-ResetResourceAckItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB RELEASE REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Release Request
---
--- **************************************************************
-
-RAB-ReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE mandatory },
- ...
-}
-
-RAB-ReleaseList ::= RAB-IE-ContainerList { {RAB-ReleaseItemIEs} }
-
-RAB-ReleaseItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleaseItem CRITICALITY ignore TYPE RAB-ReleaseItem PRESENCE mandatory },
- ...
-}
-
-RAB-ReleaseItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleaseItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Iu RELEASE REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Iu Release Request
---
--- **************************************************************
-
-Iu-ReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL,
- ...
-}
-
-Iu-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
-Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION DETECT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Detect
---
--- **************************************************************
-
-RelocationDetect ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationDetectIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL,
- ...
-}
-
-RelocationDetectIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RELOCATION COMPLETE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Relocation Complete
---
--- **************************************************************
-
-RelocationComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} },
- protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL,
- ...
-}
-
-RelocationCompleteIEs RANAP-PROTOCOL-IES ::= {
- ...
-}
-
-RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PAGING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Paging
---
--- **************************************************************
-
-Paging ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {PagingIEs} },
- protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL,
- ...
-}
-
-PagingIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } |
- { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } |
- { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } |
- { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } |
- { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } |
- { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE conditional
- -- This IE shall be included whenever available for that UE -- } ,
- ...
-}
-
-PagingExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- COMMON ID ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Common ID
---
--- **************************************************************
-
-CommonID ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CommonID-IEs} },
- protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL,
- ...
-}
-
-CommonID-IEs RANAP-PROTOCOL-IES ::= {
- { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory },
- ...
-}
-
-CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN INVOKE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Invoke Trace
---
--- **************************************************************
-
-CN-InvokeTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL,
- ...
-}
-
-CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE mandatory } |
- { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
- { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } |
- { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } |
- { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional },
- ...
-}
-
-CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- CN DEACTIVATE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CN Deactivate Trace
---
--- **************************************************************
-
-CN-DeactivateTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} },
- protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL,
- ...
-}
-
-CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= {
- { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } |
- { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional },
- ...
-}
-
-CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- LOCATION REPORTING CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Reporting Control
---
--- **************************************************************
-
-LocationReportingControl ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL,
- ...
-}
-
-LocationReportingControlIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory },
- ...
-}
-
-LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- LOCATION REPORT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Report
---
--- **************************************************************
-
-LocationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {LocationReportIEs} },
- protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL,
- ...
-}
-
-LocationReportIEs RANAP-PROTOCOL-IES ::= {
- { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE conditional
- -- This IE shall be present when Cause IE is present and has value "Requested Report Type not supported" --} ,
- ...
-}
-
-LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- INITIAL UE MESSAGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Initial UE Message
---
--- **************************************************************
-
-InitialUE-Message ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} },
- protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL,
- ...
-}
-
-InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= {
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } |
- { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } |
- { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional
- -- This IE is only present for RABs towards the PS domain -- } |
- { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } |
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
- { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory },
-
- ...
-}
-
-InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- DIRECT TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Direct Transfer
---
--- **************************************************************
-
-DirectTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DirectTransferIEs} },
- protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL,
- ...
-}
-
-DirectTransferIEs RANAP-PROTOCOL-IES ::= {
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } |
- { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE conditional
- -- This IE is only present if the message is directed to the PS domain -- } |
- { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional
- -- This IE is only present if the message is directed to the PS domain -- } |
- { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE conditional
- -- This IE is only present if the message is directed to the PS domain -- } |
- { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE conditional
- -- This IE is always used in downlink direction-- },
- ...
-}
-
-DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- OVERLOAD CONTROL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Overload
---
--- **************************************************************
-
-Overload ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadIEs} },
- protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL,
- ...
-}
-
-OverloadIEs RANAP-PROTOCOL-IES ::= {
- { ID id-NumberOfSteps CRITICALITY ignore TYPE NumberOfSteps PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction -- },
- ...
-}
-
-OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- ERROR INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Error Indication
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} },
- protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL,
- ...
-}
-
-ErrorIndicationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE conditional
- -- At least either of Cause IE or Criticality IE shall be present -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE conditional
- -- At least either of Cause IE or Criticality IE shall be present -- } |
- { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } |
- { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional
- -- This IE is always used in the uplink direction when message is sent connectionless -- },
- ...
-}
-
-ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- SRNS DATA FORWARD ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- SRNS Data Forward Command
---
--- **************************************************************
-
-SRNS-DataForwardCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} },
- protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL,
- ...
-}
-
-SRNS-DataForwardCommandIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE conditional
- -- This group is only present for RABs towards the PS domain -- },
- ...
-}
-
-SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- FORWARD SRNS CONTEXT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Forward SRNS Context
---
--- **************************************************************
-
-ForwardSRNS-Context ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} },
- protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL,
- ...
-}
-
-ForwardSRNS-ContextIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE mandatory },
- ...
-}
-
-ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB ASSIGNMENT ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- RAB Assignment Request
---
--- **************************************************************
-
-RAB-AssignmentRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL,
- ...
-}
-
-RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifyList CRITICALITY ignore TYPE RAB-SetupOrModifyList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- },
- ...
-}
-
-RAB-SetupOrModifyList ::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} }
-
-RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= {
- { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst
- SECOND CRITICALITY ignore SECOND TYPE RAB-SetupOrModifyItemSecond
- PRESENCE mandatory },
- ...
-}
-
-RAB-SetupOrModifyItemFirst ::= SEQUENCE {
- rAB-ID RAB-ID,
- nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL
- -- This IE is present at a RAB modification if the relevant NAS information is provided by the CN --,
- rAB-Parameters RAB-Parameters OPTIONAL
- -- This IE is present at a RAB establishment or when any previously set value shall be modified at a RAB modification --,
- userPlaneInformation UserPlaneInformation OPTIONAL
- -- This IE is present at a RAB establishment or when any previously set value shall be modified at a RAB modification --,
- transportLayerInformation TransportLayerInformation OPTIONAL
- -- This IE is present at a RAB establishment, and may be present at a RAB modification if at least one more IE than the RAB ID IE and the NAS Syncronisation Indicator IE is also included --,
- service-Handover Service-Handover OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemFirst-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransportLayerInformation ::= SEQUENCE {
- transportLayerAddress TransportLayerAddress,
- iuTransportAssociation IuTransportAssociation,
- iE-Extensions ProtocolExtensionContainer { {TransportLayerInformation-ExtIEs} } OPTIONAL,
- ...
-}
-
-TransportLayerInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SetupOrModifyItemFirst-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SetupOrModifyItemSecond ::= SEQUENCE {
- pDP-TypeInformation PDP-TypeInformation OPTIONAL
- -- This IE is only present for RABs towards the PS domain at RAB establishment --,
- dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL
- -- This IE, if applicable, is only present for RABs towards the PS domain at RAB establishment --,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE, if available, is only present for RABs towards the PS domain at RAB establishment --,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE, if available, is only present for RABs towards the PS domain at RAB establishment --,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL
- -- This IE, if available, is only present for RABs towards the PS domain at RAB establishment --,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL
- -- This IE, if available, is only present for RABs towards the PS domain at RAB establishment --,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemSecond-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifyItemSecond-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- RAB Assignment Response
---
--- **************************************************************
-
-RAB-AssignmentResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} },
- protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL,
- ...
-}
-
-RAB-AssignmentResponseIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifiedList CRITICALITY ignore TYPE RAB-SetupOrModifiedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ReleasedList CRITICALITY ignore TYPE RAB-ReleasedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
-
- { ID id-RAB-QueuedList CRITICALITY ignore TYPE RAB-QueuedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-RAB-ReleaseFailedList CRITICALITY ignore TYPE RAB-ReleaseFailedList PRESENCE conditional
- -- This group must be present at least when no other group is present, ie. at least one group must be present -- } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-RAB-SetupOrModifiedList ::= RAB-IE-ContainerList { {RAB-SetupOrModifiedItemIEs} }
-
-RAB-SetupOrModifiedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-SetupOrModifiedItem CRITICALITY ignore TYPE RAB-SetupOrModifiedItem PRESENCE mandatory },
- ...
-}
-
-RAB-SetupOrModifiedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- transportLayerAddress TransportLayerAddress OPTIONAL
- -- This IE is only present for RABs towards the PS domain --,
- iuTransportAssociation IuTransportAssociation OPTIONAL
- -- This IE is only present for RABs towards the PS domain --,
- dl-dataVolumes DataVolumeList OPTIONAL
- -- This IE is only present if the RAB has been modified and --
- -- RAB data volume reporting for PS domain is required --,
- iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifiedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-SetupOrModifiedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleasedList ::= RAB-IE-ContainerList { {RAB-ReleasedItemIEs} }
-
-RAB-ReleasedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ReleasedItem CRITICALITY ignore TYPE RAB-ReleasedItem PRESENCE mandatory },
- ...
-}
-
-RAB-ReleasedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-dataVolumes DataVolumeList OPTIONAL
- -- This IE is only present if data volume reporting for PS domain is required --,
- dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE is only present for RABs towards the PS domain when available and when the release is UTRAN initiated -- ,
- uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL
- -- This IE is only present for RABs towards the PS domain when available and when the release is UTRAN initiated -- ,
- iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-ReleasedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-DataVolumeList ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF
- SEQUENCE {
- dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume,
- dataVolumeReference DataVolumeReference OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {DataVolumeList-ExtIEs} } OPTIONAL,
- ...
- }
-
-DataVolumeList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-QueuedList ::= RAB-IE-ContainerList { {RAB-QueuedItemIEs} }
-
-RAB-QueuedItemIEs RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-QueuedItem CRITICALITY ignore TYPE RAB-QueuedItem PRESENCE mandatory },
- ...
-}
-
-RAB-QueuedItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {RAB-QueuedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-QueuedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ReleaseFailedList ::= RAB-FailedList
-
-RAB-AssignmentResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container { {PrivateMessage-IEs } },
- ...
-}
-
-PrivateMessage-IEs RANAP-PRIVATE-IES ::= {
- ...
-}
-
--- **************************************************************
---
--- RANAP RELOCATION INFORMATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-RANAP-RelocationInformation ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} },
- protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL,
- ...
-}
-
-RANAP-RelocationInformationIEs RANAP-PROTOCOL-IES ::= {
- { ID id-DirectTransferInformationList-RANAP-RelocInf
- CRITICALITY ignore TYPE DirectTransferInformationList-RANAP-RelocInf
- PRESENCE optional } |
- { ID id-RAB-ContextList-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextList-RANAP-RelocInf PRESENCE optional },
- ...
-}
-
-DirectTransferInformationList-RANAP-RelocInf ::= DirectTransfer-IE-ContainerList { {DirectTransferInformationItemIEs-RANAP-RelocInf} }
-
-DirectTransferInformationItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
- { ID id-DirectTransferInformationItem-RANAP-RelocInf
- CRITICALITY ignore TYPE DirectTransferInformationItem-RANAP-RelocInf
- PRESENCE mandatory },
- ...
-}
-
-DirectTransferInformationItem-RANAP-RelocInf ::= SEQUENCE {
- nAS-PDU NAS-PDU,
- sAPI SAPI,
- cN-DomainIndicator CN-DomainIndicator,
- iE-Extensions ProtocolExtensionContainer { {RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
- ...
-}
-
-RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-ContextList-RANAP-RelocInf ::= RAB-IE-ContainerList { {RAB-ContextItemIEs-RANAP-RelocInf} }
-
-RAB-ContextItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
- { ID id-RAB-ContextItem-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextItem-RANAP-RelocInf PRESENCE mandatory },
- ...
-}
-
-RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE {
- rAB-ID RAB-ID,
- dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL
- --This IE is only present when available--,
- ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL
- --This IE is only present when available--,
- dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL
- --This IE is only present when available--,
- ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL
- --This IE is only present when available--,
- iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL,
- ...
-}
-
-RAB-ContextItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
---BEGIN_3
-
-
--- A
-
-AllocationOrRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
- queuingAllowed QueuingAllowed,
- iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL,
- ...
-}
-
-AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-AreaIdentity ::= CHOICE {
- sAI SAI,
- geographicalArea GeographicalArea,
- ...
-}
-
--- B
-
-BindingID ::= OCTET STRING (SIZE (4))
-
--- C
-
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transmissionNetwork CauseTransmissionNetwork,
- nAS CauseNAS,
- protocol CauseProtocol,
- misc CauseMisc,
- non-Standard CauseNon-Standard,
- ...
-}
-
-CauseMisc ::= INTEGER {
- om-intervention (113),
- no-resource-available (114),
- unspecified-failure (115),
- network-optimisation (116)
-} (113..128)
-
-CauseNAS ::= INTEGER {
- user-restriction-start-indication (81),
- user-restriction-end-indication (82),
- normal-release (83)
-} (81..96)
-
-CauseProtocol ::= INTEGER {
- transfer-syntax-error (97),
- semantic-error (98),
- message-not-compatible-with-receiver-state (99),
- abstract-syntax-error-reject (100),
- abstract-syntax-error-ignore-and-notify (101),
- abstract-syntax-error-falsely-constructed-message (102)
-
-} (97..112)
-
-CauseRadioNetwork ::= INTEGER {
- rab-pre-empted (1),
- trelocoverall-expiry (2),
- trelocprep-expiry (3),
- treloccomplete-expiry (4),
- tqueing-expiry (5),
- relocation-triggered (6),
- trellocalloc-expiry(7),
- unable-to-establish-during-relocation (8),
- unknown-target-rnc (9),
- relocation-cancelled (10),
- successful-relocation (11),
- requested-ciphering-and-or-integrity-protection-algorithms-not-supported (12),
- change-of-ciphering-and-or-integrity-protection-is-not-supported (13),
- failure-in-the-radio-interface-procedure (14),
- release-due-to-utran-generated-reason (15),
- user-inactivity (16),
- time-critical-relocation (17),
- requested-traffic-class-not-available (18),
- invalid-rab-parameters-value (19),
- requested-maximum-bit-rate-not-available (20),
- requested-guaranteed-bit-rate-not-available (21),
- requested-transfer-delay-not-achievable (22),
- invalid-rab-parameters-combination (23),
- condition-violation-for-sdu-parameters (24),
- condition-violation-for-traffic-handling-priority (25),
- condition-violation-for-guaranteed-bit-rate (26),
- user-plane-versions-not-supported (27),
- iu-up-failure (28),
- relocation-failure-in-target-CN-RNC-or-target-system(29),
- invalid-RAB-ID (30),
- no-remaining-rab (31),
- interaction-with-other-procedure (32),
- requested-maximum-bit-rate-for-dl-not-available (33),
- requested-maximum-bit-rate-for-ul-not-available (34),
- requested-guaranteed-bit-rate-for-dl-not-available (35),
- requested-guaranteed-bit-rate-for-ul-not-available (36),
- repeated-integrity-checking-failure (37),
- requested-report-type-not-supported (38),
- request-superseded (39),
- release-due-to-UE-generated-signalling-connection-release (40),
- resource-optimisation-relocation (41),
- requested-information-not-available (42),
- relocation-desirable-for-radio-reasons (43),
- relocation-not-supported-in-target-RNC-or-target-system (44),
- directed-retry (45),
- radio-connection-with-UE-Lost (46)
-} (1..64)
-
-CauseNon-Standard ::= INTEGER (129..256)
-
-CauseTransmissionNetwork ::= INTEGER {
- signalling-transport-resource-failure (65),
- iu-transport-connection-failed-to-establish (66)
-} (65..80)
-
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureCode ProcedureCode OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- procedureCriticality Criticality OPTIONAL,
- iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
- SEQUENCE {
- iECriticality Criticality,
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
- ...
- }
-
-CriticalityDiagnostics-IE-List-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional },
- ...
-}
-
-MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
- SEQUENCE {
- iE-ID ProtocolIE-ID,
- repetitionNumber RepetitionNumber OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
- ...
- }
-
-
-MessageStructure-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CGI ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- lAC LAC,
- cI CI,
- iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL
-}
-
-CGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ChosenEncryptionAlgorithm ::= EncryptionAlgorithm
-
-ChosenIntegrityProtectionAlgorithm ::= IntegrityProtectionAlgorithm
-
-CI ::= OCTET STRING (SIZE (2))
-
-ClassmarkInformation2 ::= OCTET STRING
-
-ClassmarkInformation3 ::= OCTET STRING
-
-CN-DomainIndicator ::= ENUMERATED {
- cs-domain,
- ps-domain
-}
-
-
-
--- D
-
-DataVolumeReference ::= INTEGER (0..255)
-
-DataVolumeReportingIndication ::= ENUMERATED {
- do-report,
- do-not-report
-}
-
-DCH-ID ::= INTEGER (0..255)
-
-DeliveryOfErroneousSDU ::= ENUMERATED {
- yes,
- no,
- no-error-detection-consideration
-}
-
-DeliveryOrder::= ENUMERATED {
- delivery-order-requested,
- delivery-order-not-requested
-}
-
-DL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
--- Reference: xx.xxx
-
-DL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
--- Reference: xx.xxx
-
-D-RNTI ::= INTEGER (0..1048575)
-
-DRX-CycleLengthCoefficient ::= INTEGER (6..9)
-
-DSCH-ID ::= INTEGER (0..255)
-
--- E
-
-EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1) } (0..15)
-
-EncryptionInformation ::= SEQUENCE {
- permittedAlgorithms PermittedEncryptionAlgorithms,
- key EncryptionKey,
- iE-Extensions ProtocolExtensionContainer { {EncryptionInformation-ExtIEs} } OPTIONAL
-}
-
-EncryptionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EncryptionKey ::= BIT STRING (SIZE (128))
--- Reference: 33.102
-
-Event ::= ENUMERATED {
- stop,
- direct,
- change-of-servicearea,
- ...
-}
-
--- F
--- G
-
-GeographicalArea ::= CHOICE {
- point GA-Point,
- pointWithUnCertainty GA-PointWithUnCertainty,
- polygon GA-Polygon,
- ...
-}
-
-GeographicalCoordinates ::= SEQUENCE {
- latitudeSign ENUMERATED { north, south },
- latitude INTEGER (0..8388607),
- longitude INTEGER (-8388608..8388607),
- iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL,
- ...
-}
-
-GeographicalCoordinates-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-Point ::= SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL,
- ...
-}
-
-GA-Point-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-PointWithUnCertainty ::=SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL,
- uncertaintyCode INTEGER (0..127)
-}
-
-GA-PointWithUnCertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF
- SEQUENCE {
- geographicalCoordinates GeographicalCoordinates,
- iE-Extensions ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL,
- ...
- }
-
-GA-Polygon-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GlobalRNC-ID ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- rNC-ID RNC-ID
-}
-
-GTP-TEI ::= OCTET STRING (SIZE (4))
--- Reference: xx.xxx
-
-GuaranteedBitrate ::= INTEGER (0..16000000)
--- Unit is bits per sec
-
--- H
-
--- I
-
-
-IMEI ::= OCTET STRING (SIZE (8))
--- Reference: 23.003
-
-IMSI ::= TBCD-STRING (SIZE (3..8))
--- Reference: 23.003
-
-IntegrityProtectionAlgorithm ::= INTEGER { standard-UMTS-integrity-algorithm-UIA1 (0) } (0..15)
-
-IntegrityProtectionInformation ::= SEQUENCE {
- permittedAlgorithms PermittedIntegrityProtectionAlgorithms,
- key IntegrityProtectionKey,
- iE-Extensions ProtocolExtensionContainer { {IntegrityProtectionInformation-ExtIEs} } OPTIONAL
-}
-
-IntegrityProtectionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-IntegrityProtectionKey ::= BIT STRING (SIZE (128))
-
-IuSignallingConnectionIdentifier ::= BIT STRING (SIZE (24))
-
-IuTransportAssociation ::= CHOICE {
- gTP-TEI GTP-TEI,
- bindingID BindingID,
- ...
-}
-
--- J
--- K
-
-KeyStatus ::= ENUMERATED {
- old,
- new,
- ...
-}
--- L
-
-LAC ::= OCTET STRING (SIZE (2))
-
-LAI ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- lAC LAC,
- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL
-}
-
-LAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-L3-Information ::= OCTET STRING
-
--- M
-
-MaxBitrate ::= INTEGER (1..16000000)
--- Unit is bits per sec
-
-MaxSDU-Size ::= INTEGER (0..32768)
--- MaxSDU-Size
--- Unit is bit
-
-MCC ::= TBCD-STRING (SIZE (2))
--- Reference: 24.008
-
-MNC ::= TBCD-STRING (SIZE (2))
--- Reference: 24.008
-
--- N
-
-
-NAS-PDU ::= OCTET STRING
-
-NAS-SynchronisationIndicator ::= BIT STRING (SIZE (4))
-
-NonSearchingIndication ::= ENUMERATED {
- non-searching,
- searching
-}
-
-NumberOfIuInstances ::= INTEGER (1..2)
-
-NumberOfSteps ::= INTEGER (1..16)
-
--- O
-
-OldBSS-ToNewBSS-Information ::= OCTET STRING
-
-OMC-ID ::= OCTET STRING (SIZE (3..22))
--- Reference: GSM TS 12.20
-
--- P
-
-PagingAreaID ::= CHOICE {
- lAI LAI,
- rAI RAI,
- ...
-}
-
-PagingCause ::= ENUMERATED {
- terminating-conversational-call,
- terminating-streaming-call,
- terminating-interactive-call,
- terminating-background-call,
- terminating-low-priority-signalling,
- ...,
- terminating-high-priority-signalling
-}
-
-PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF
- PDP-Type
-
-PDP-Type ::= ENUMERATED {
- empty,
- ppp,
- osp-ihoss -- this value shall not be used -- ,
- ipv4,
- ipv6,
- ...
-}
-
-PermanentNAS-UE-ID ::= CHOICE {
- iMSI IMSI,
- ...
-}
-
-PermittedEncryptionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
- EncryptionAlgorithm
-
-PermittedIntegrityProtectionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
- IntegrityProtectionAlgorithm
-
-PLMN-ID ::= TBCD-STRING (SIZE (3))
-
-Pre-emptionCapability ::= ENUMERATED {
- shall-not-trigger-pre-emption,
- may-trigger-pre-emption
-}
-
-Pre-emptionVulnerability ::= ENUMERATED {
- not-pre-emptable,
- pre-emptable
-}
-
-PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
-
-P-TMSI ::= OCTET STRING (SIZE (4))
-
--- Q
-
-QueuingAllowed ::= ENUMERATED {
- queueing-not-allowed,
- queueing-allowed
-}
-
--- R
-RAB-AsymmetryIndicator::= ENUMERATED {
- symmetric-bidirectional,
- asymmetric-unidirectional-downlink,
- asymmetric-unidirectional-uplink,
- asymmetric-bidirectional,
- ...
-}
-
-RAB-ID ::= BIT STRING (SIZE (8))
-
-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
-
-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
-
-RAB-Parameters ::= SEQUENCE {
- trafficClass TrafficClass,
- rAB-AsymmetryIndicator RAB-AsymmetryIndicator,
- maxBitrate RAB-Parameter-MaxBitrateList,
- guaranteedBitRate RAB-Parameter-GuaranteedBitrateList OPTIONAL
- -- This IE is only present when traffic class indicates Conversational or Streaming --,
- deliveryOrder DeliveryOrder,
- maxSDU-Size MaxSDU-Size,
- sDU-Parameters SDU-Parameters,
- transferDelay TransferDelay OPTIONAL
- -- This IE is only present when traffic class indicates Conversational or Streaming --,
- trafficHandlingPriority TrafficHandlingPriority OPTIONAL
- -- This IE is only present when traffic class indicates Interactiv --,
- allocationOrRetentionPriority AllocationOrRetentionPriority OPTIONAL,
- sourceStatisticsDescriptor SourceStatisticsDescriptor OPTIONAL
- -- This IE is only present when traffic class indicates Conversational or Streaming --,
- relocationRequirement RelocationRequirement OPTIONAL
- -- This IE is only present for RABs towards the PS domain --,
- iE-Extensions ProtocolExtensionContainer { {RAB-Parameters-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RAB-SubflowCombinationBitRate ::= INTEGER (0..16000000)
-
-RAB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfRABs)) OF
- RAB-TrCH-MappingItem
-
-RAB-TrCH-MappingItem ::= SEQUENCE {
- rAB-ID RAB-ID,
- trCH-ID-List TrCH-ID-List,
- ...
-}
-
-RAC ::= OCTET STRING (SIZE (1))
-
-RAI ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- iE-Extensions ProtocolExtensionContainer { {RAI-ExtIEs} } OPTIONAL,
- ...
-}
-
-RAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RateControlAllowed ::= ENUMERATED {
- not-allowed,
- allowed
-}
-
-RelocationRequirement ::= ENUMERATED {
- lossless,
- none,
- ...
-}
-
-RelocationType ::= ENUMERATED {
- ue-not-involved,
- ue-involved,
- ...
-}
-
-RepetitionNumber ::= INTEGER (1..256)
-
-ReportArea ::= ENUMERATED {
- service-area,
- geographical-coordinates,
- ...
-}
-
-RequestType ::= SEQUENCE {
- event Event,
- reportArea ReportArea,
- accuracyCode INTEGER (0..127) OPTIONAL,
- -- To be used if Geographical Coordinates shall be reported with a requested accuracy. --
- ...
-}
-
-ResidualBitErrorRatio ::= SEQUENCE {
- mantissa INTEGER (1..9),
- exponent INTEGER (1..8),
- iE-Extensions ProtocolExtensionContainer { {ResidualBitErrorRatio-ExtIEs} } OPTIONAL
-}
--- ResidualBitErrorRatio = mantissa * 10^-exponent
-
-ResidualBitErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RNC-ID ::= INTEGER (0..4095)
--- RNC-ID ::= BIT STRING (SIZE (12))
--- Harmonized with RNSAP and NBAP definitions
-
-RRC-Container ::= OCTET STRING
-
--- S
-
-SAC ::= OCTET STRING (SIZE (2))
-
-SAI ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- lAC LAC,
- sAC SAC,
- iE-Extensions ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL
-}
-
-SAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SAPI ::= ENUMERATED {
- sapi-0,
- sapi-3,
- ...
-}
-
-SDU-ErrorRatio ::= SEQUENCE {
- mantissa INTEGER (1..9),
- exponent INTEGER (1..6),
- iE-Extensions ProtocolExtensionContainer { {SDU-ErrorRatio-ExtIEs} } OPTIONAL
-}
--- SDU-ErrorRatio = mantissa * 10^-exponent
-
-SDU-ErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-SDU-FormatInformationParameters ::= SEQUENCE (SIZE (1..maxRAB-SubflowCombination)) OF
- SEQUENCE {
- subflowSDU-Size SubflowSDU-Size OPTIONAL
- -- This IE is only present for RABs that have predefined SDU size(s) --,
- rAB-SubflowCombinationBitRate RAB-SubflowCombinationBitRate OPTIONAL
- -- At least either of subflowSDU-Size or rABsubflowCombinationBitRate --
- -- shall be present when SDUformatInformationParameter is present --,
- iE-Extensions ProtocolExtensionContainer { {SDU-FormatInformationParameters-ExtIEs} } OPTIONAL,
- ...
- }
-
-SDU-FormatInformationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SDU-Parameters ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
- SEQUENCE {
- sDU-ErrorRatio SDU-ErrorRatio OPTIONAL
- -- This IE is not present when DeliveryOfErroneousSDU is set to no-error-detection-consideration --,
- residualBitErrorRatio ResidualBitErrorRatio,
- deliveryOfErroneousSDU DeliveryOfErroneousSDU,
- sDU-FormatInformationParameters SDU-FormatInformationParameters OPTIONAL
- -- This IE shall be present for RABs with predefined SDU sizes --,
- iE-Extensions ProtocolExtensionContainer { {SDU-Parameters-ExtIEs} } OPTIONAL,
- ...
- }
-
-SDU-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Service-Handover ::= ENUMERATED {
- handover-to-GSM-should-be-performed,
- handover-to-GSM-should-not-be-performed,
- handover-to-GSM-shall-not-be-performed,
- ...
-}
-
-SourceID ::= CHOICE {
- sourceRNC-ID SourceRNC-ID, -- If UMTS target
- sAI SAI, -- if GSM target
- ...
-}
-
-
-SourceRNC-ID ::= SEQUENCE {
- pLMN-ID PLMN-ID,
- rNC-ID RNC-ID,
- iE-Extensions ProtocolExtensionContainer { {SourceRNC-ID-ExtIEs} } OPTIONAL
-}
-
-SourceRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- numberOfIuInstances NumberOfIuInstances,
- relocationType RelocationType,
- chosenIntegrityProtectionAlgorithm ChosenIntegrityProtectionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if available --,
- integrityProtectionKey IntegrityProtectionKey OPTIONAL
- -- Must be present for intra UMTS Handovers if available --,
- chosenEncryptionAlgorithForSignalling ChosenEncryptionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- cipheringKey EncryptionKey OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- chosenEncryptionAlgorithForCS ChosenEncryptionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- chosenEncryptionAlgorithForPS ChosenEncryptionAlgorithm OPTIONAL
- -- Must be present for intra UMTS Handovers if ciphering is active --,
- d-RNTI D-RNTI OPTIONAL
- -- Included for SRNS Relocation without UE involvement --,
- targetCellId TargetCellId OPTIONAL
- -- Included for SRNS Relocation with UE involvement --,
- rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL
- -- Included for SRNS Relocation without UE involvement and --
- -- if RABs are carried on DCH, USCH or DSCH transport channels --,
- iE-Extensions ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SourceStatisticsDescriptor ::= ENUMERATED {
- speech,
- unknown,
- ...
-}
-
-SubflowSDU-Size ::= INTEGER (0..4095)
--- Unit is bit
-
-
--- T
-
-TargetCellId ::= INTEGER (0..268435455)
-
-TargetID ::= CHOICE {
- targetRNC-ID TargetRNC-ID, -- If UMTS target
- cGI CGI, -- If GSM target
- ...
-}
-
-
-
-
-TargetRNC-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC OPTIONAL
- -- Must always be present towards the PS domain and never towards the CS domain --,
- rNC-ID RNC-ID,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL
-}
-
-TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TargetRNC-ToSourceRNC-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- d-RNTI D-RNTI OPTIONAL
- -- May be included to allow the triggering of the Relocation Detect procedure from the Iur Interface --,
- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs} } OPTIONAL,
- ...
-}
-
-TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TBCD-STRING ::= OCTET STRING
-
-TemporaryUE-ID ::= CHOICE {
- tMSI TMSI,
- p-TMSI P-TMSI,
- ...
-}
-
-TMSI ::= OCTET STRING (SIZE (4))
-
-TraceReference ::= OCTET STRING (SIZE (2..3))
-
-TraceType ::= OCTET STRING (SIZE (1))
--- Reference: GSM TS 12.08
-
-TrafficClass ::= ENUMERATED {
- conversational,
- streaming,
- interactive,
- background,
- ...
-}
-
-TrafficHandlingPriority ::= INTEGER { spare (0), highest (1), lowest (14), no-priority-used (15) } (0..15)
-
-TransferDelay ::= INTEGER (0..65535)
--- Unit is millisecond
-
-UnsuccessfullyTransmittedDataVolume ::= INTEGER (0..4294967295)
-
-TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...))
-
-TrCH-ID ::= SEQUENCE {
- dCH-ID DCH-ID OPTIONAL
- -- At least one of these IEs shall be included --,
- dSCH-ID DSCH-ID OPTIONAL
- -- At least one of these IEs shall be included --,
- uSCH-ID USCH-ID OPTIONAL
- -- At least one of these IEs shall be included --,
- ...
-}
-
-TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
- TrCH-ID
-
-TriggerID ::= OCTET STRING (SIZE (3..22))
-
--- U
-
-UE-ID ::= CHOICE {
- imsi IMSI,
- imei IMEI,
- ...
-}
-
-UL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-UL-N-PDU-SequenceNumber ::= INTEGER (0..65535)
-
-UP-ModeVersions ::= BIT STRING (SIZE (16))
-
-USCH-ID ::= INTEGER (0..255)
-
-UserPlaneMode ::= ENUMERATED {
- transparent-mode,
- support-mode-for-predefined-SDU-sizes,
- ...
-}
-
-
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
---BEGIN_4
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..65535),
- global OBJECT IDENTIFIER
-}
-
-ProcedureCode ::= INTEGER (0..255)
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-ProtocolIE-ID ::= INTEGER (0..65535)
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome }
-
-
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
---BEGIN_5
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-RAB-Assignment INTEGER ::= 0
-id-Iu-Release INTEGER ::= 1
-id-RelocationPreparation INTEGER ::= 2
-id-RelocationResourceAllocation INTEGER ::= 3
-id-RelocationCancel INTEGER ::= 4
-id-SRNS-ContextTransfer INTEGER ::= 5
-id-SecurityModeControl INTEGER ::= 6
-id-DataVolumeReport INTEGER ::= 7
-id-Reset INTEGER ::= 9
-id-RAB-ReleaseRequest INTEGER ::= 10
-id-Iu-ReleaseRequest INTEGER ::= 11
-id-RelocationDetect INTEGER ::= 12
-id-RelocationComplete INTEGER ::= 13
-id-Paging INTEGER ::= 14
-id-CommonID INTEGER ::= 15
-id-CN-InvokeTrace INTEGER ::= 16
-id-LocationReportingControl INTEGER ::= 17
-id-LocationReport INTEGER ::= 18
-id-InitialUE-Message INTEGER ::= 19
-id-DirectTransfer INTEGER ::= 20
-id-OverloadControl INTEGER ::= 21
-id-ErrorIndication INTEGER ::= 22
-id-SRNS-DataForward INTEGER ::= 23
-id-ForwardSRNS-Context INTEGER ::= 24
-id-privateMessage INTEGER ::= 25
-id-CN-DeactivateTrace INTEGER ::= 26
-id-ResetResource INTEGER ::= 27
-id-RANAP-Relocation INTEGER ::= 28
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
-
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfDTs INTEGER ::= 15
-maxNrOfErrors INTEGER ::= 256
-maxNrOfIuSigConIds INTEGER ::= 250
-maxNrOfPDPDirections INTEGER ::= 2
-maxNrOfPoints INTEGER ::= 15
-maxNrOfRABs INTEGER ::= 256
-maxNrOfSeparateTrafficDirections INTEGER ::= 2
-maxNrOfVol INTEGER ::= 2
-maxNrOfLevels INTEGER ::= 256
-
-maxRAB-Subflows INTEGER ::= 7
-maxRAB-SubflowCombination INTEGER ::= 64
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-AreaIdentity INTEGER ::= 0
-id-CN-DomainIndicator INTEGER ::= 3
-id-Cause INTEGER ::= 4
-id-ChosenEncryptionAlgorithm INTEGER ::= 5
-id-ChosenIntegrityProtectionAlgorithm INTEGER ::= 6
-id-ClassmarkInformation2 INTEGER ::= 7
-id-ClassmarkInformation3 INTEGER ::= 8
-id-CriticalityDiagnostics INTEGER ::= 9
-id-DL-GTP-PDU-SequenceNumber INTEGER ::= 10
-id-EncryptionInformation INTEGER ::= 11
-id-IntegrityProtectionInformation INTEGER ::= 12
-id-IuTransportAssociation INTEGER ::= 13
-id-L3-Information INTEGER ::= 14
-id-LAI INTEGER ::= 15
-id-NAS-PDU INTEGER ::= 16
-id-NonSearchingIndication INTEGER ::= 17
-id-NumberOfSteps INTEGER ::= 18
-id-OMC-ID INTEGER ::= 19
-id-OldBSS-ToNewBSS-Information INTEGER ::= 20
-id-PagingAreaID INTEGER ::= 21
-id-PagingCause INTEGER ::= 22
-id-PermanentNAS-UE-ID INTEGER ::= 23
-id-RAB-ContextItem INTEGER ::= 24
-id-RAB-ContextList INTEGER ::= 25
-id-RAB-DataForwardingItem INTEGER ::= 26
-id-RAB-DataForwardingItem-SRNS-CtxReq INTEGER ::= 27
-id-RAB-DataForwardingList INTEGER ::= 28
-id-RAB-DataForwardingList-SRNS-CtxReq INTEGER ::= 29
-id-RAB-DataVolumeReportItem INTEGER ::= 30
-id-RAB-DataVolumeReportList INTEGER ::= 31
-id-RAB-DataVolumeReportRequestItem INTEGER ::= 32
-id-RAB-DataVolumeReportRequestList INTEGER ::= 33
-id-RAB-FailedItem INTEGER ::= 34
-id-RAB-FailedList INTEGER ::= 35
-id-RAB-ID INTEGER ::= 36
-id-RAB-QueuedItem INTEGER ::= 37
-id-RAB-QueuedList INTEGER ::= 38
-id-RAB-ReleaseFailedList INTEGER ::= 39
-id-RAB-ReleaseItem INTEGER ::= 40
-id-RAB-ReleaseList INTEGER ::= 41
-id-RAB-ReleasedItem INTEGER ::= 42
-id-RAB-ReleasedList INTEGER ::= 43
-id-RAB-ReleasedList-IuRelComp INTEGER ::= 44
-id-RAB-RelocationReleaseItem INTEGER ::= 45
-id-RAB-RelocationReleaseList INTEGER ::= 46
-id-RAB-SetupItem-RelocReq INTEGER ::= 47
-id-RAB-SetupItem-RelocReqAck INTEGER ::= 48
-id-RAB-SetupList-RelocReq INTEGER ::= 49
-id-RAB-SetupList-RelocReqAck INTEGER ::= 50
-id-RAB-SetupOrModifiedItem INTEGER ::= 51
-id-RAB-SetupOrModifiedList INTEGER ::= 52
-id-RAB-SetupOrModifyItem INTEGER ::= 53
-id-RAB-SetupOrModifyList INTEGER ::= 54
-id-RAC INTEGER ::= 55
-id-RelocationType INTEGER ::= 56
-id-RequestType INTEGER ::= 57
-id-SAI INTEGER ::= 58
-id-SAPI INTEGER ::= 59
-id-SourceID INTEGER ::= 60
-id-SourceRNC-ToTargetRNC-TransparentContainer INTEGER ::= 61
-id-TargetID INTEGER ::= 62
-id-TargetRNC-ToSourceRNC-TransparentContainer INTEGER ::= 63
-id-TemporaryUE-ID INTEGER ::= 64
-id-TraceReference INTEGER ::= 65
-id-TraceType INTEGER ::= 66
-id-TransportLayerAddress INTEGER ::= 67
-id-TriggerID INTEGER ::= 68
-id-UE-ID INTEGER ::= 69
-id-UL-GTP-PDU-SequenceNumber INTEGER ::= 70
-id-RAB-FailedtoReportItem INTEGER ::= 71
-id-RAB-FailedtoReportList INTEGER ::= 72
-id-KeyStatus INTEGER ::= 75
-id-DRX-CycleLengthCoefficient INTEGER ::= 76
-id-IuSigConIdList INTEGER ::= 77
-id-IuSigConIdItem INTEGER ::= 78
-id-IuSigConId INTEGER ::= 79
-id-DirectTransferInformationItem-RANAP-RelocInf INTEGER ::= 80
-id-DirectTransferInformationList-RANAP-RelocInf INTEGER ::= 81
-id-RAB-ContextItem-RANAP-RelocInf INTEGER ::= 82
-id-RAB-ContextList-RANAP-RelocInf INTEGER ::= 83
-id-RAB-ContextFailedtoTransferItem INTEGER ::= 84
-id-RAB-ContextFailedtoTransferList INTEGER ::= 85
-id-GlobalRNC-ID INTEGER ::= 86
-id-RAB-ReleasedItem-IuRelComp INTEGER ::= 87
-id-MessageStructure INTEGER ::= 88
-
-
--- **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
---BEGIN_6
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-RANAP-PROTOCOL-IES ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-RANAP-PROTOCOL-IES-PAIR ::= CLASS {
- &id ProtocolIE-ID UNIQUE,
- &firstCriticality Criticality,
- &FirstValue,
- &secondCriticality Criticality,
- &SecondValue,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- FIRST CRITICALITY &firstCriticality
- FIRST TYPE &FirstValue
- SECOND CRITICALITY &secondCriticality
- SECOND TYPE &SecondValue
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Protocol Extensions
---
--- **************************************************************
-
-RANAP-PROTOCOL-EXTENSION ::= CLASS {
- &id ProtocolExtensionID UNIQUE,
- &criticality Criticality,
- &Extension,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- EXTENSION &Extension
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Class Definition for Private IEs
---
--- **************************************************************
-
-RANAP-PRIVATE-IES ::= CLASS {
- &id PrivateIE-ID,
- &criticality Criticality,
- &Value,
- &presence Presence
-}
-WITH SYNTAX {
- ID &id
- CRITICALITY &criticality
- TYPE &Value
- PRESENCE &presence
-}
-
--- **************************************************************
---
--- Container for Protocol IEs
---
--- **************************************************************
-
-ProtocolIE-Container {RANAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality RANAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Protocol IE Pairs
---
--- **************************************************************
-
-ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-FieldPair {{IEsSetParam}}
-
-ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
- firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
- firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
- secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
- secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-Container {{IEsSetParam}}
-
-ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-ContainerPair {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Private IEs
---
--- **************************************************************
-
-PrivateIE-Container {RANAP-PRIVATE-IES : IEsSetParam } ::=
- SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
- PrivateIE-Field {{IEsSetParam}}
-
-PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
- id RANAP-PRIVATE-IES.&id ({IEsSetParam}),
- criticality RANAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
- value RANAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
-}
-
-END
diff --git a/lib/asn1/test/bench/all.erl b/lib/asn1/test/bench/all.erl
deleted file mode 100644
index 0841201e85..0000000000
--- a/lib/asn1/test/bench/all.erl
+++ /dev/null
@@ -1,98 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%
--module(all).
-
-%% User interface
--export([run/0]).
-
-%% Interna constants
--define(NORMAL, 0).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Interface
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% run() -> _
-%%
-%% Runs all benchmark modules in the current directory on all erlang
-%% installations specified by releases/0
-run() ->
- %% Delete previous intermediate test result files.
- lists:foreach(fun(F) -> file:delete(F) end, filelib:wildcard("*.bmres")),
- lists:foreach(fun run/1, releases()).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Internal functions
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% run(Release) -> _
-%% Release = string() - Erlang release
-%% Help functions to run/0
-run({Release,Comment}) ->
- command(Release ++ " -noshell -compile bench -s erlang halt"),
- command(Release ++ " -noshell -s bench run " ++ Comment ++" -s erlang halt").
-
-%% command(Command) -> _
-%% Command = string() - is the name and arguments of the external
-%% program which will be run
-command(Command) ->
- io:format("~s\n", [Command]), % Progress info to user
- Port = open_port({spawn,Command}, [exit_status, in]),
- print_output(Port).
-
-%% print_output(Port) -> _
-%% Port = port()
-%% Print data from the port i.e. output from external program,
-%% on standard out.
-print_output(Port) ->
- receive
- {Port, {data,Bytes}} ->
- io:put_chars(Bytes),
- print_output(Port);
- {Port, {exit_status, ?NORMAL}} ->
- ok
- end.
-
-%% run() -> Releases
-%% Releases = [Release |_]
-%% Release = string() - Erlang release
-%% Defines which erlang releases to run on
-%% --- Change this function to reflect your own erlang installations ---
-releases() ->
- [
- {"/usr/local/otp/releases/otp_beam_sunos5_r8b_patched/bin/erl","standardr8"},
- {"/usr/local/otp/releases/otp_beam_sunos5_r8b_patched/bin/erl -pa /clearcase/otp/erts/lib/asn1/ebin", "asn1r9"}
-].
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lib/asn1/test/bench/bench.erl b/lib/asn1/test/bench/bench.erl
deleted file mode 100644
index bae7d792a4..0000000000
--- a/lib/asn1/test/bench/bench.erl
+++ /dev/null
@@ -1,454 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%
-
--module(bench).
-
-%% User interface
--export([run/1]).
-
-%% Exported to be used in spawn
--export([measure/4]).
-
-%% Internal constants
--define(MAX, 999999999999999).
--define(RANGE_MAX, 16#7ffffff).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Interface
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% run() -> _
-%%
-%% Compiles and runs all benchmarks in the current directory,
-%% and creates a report
-run([Comment]) ->
- run(atom_to_list(Comment),compiler_options()).
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Generic Benchmark functions
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% compiler_options() -> OptionsList
-%% OptionsList = list() - See Erlang/OTP module compile
-compiler_options() ->
- [report_errors, report_warnings].
-
-%% run(OptionsList) ->
-%% OptionsList = list() - See Erlang/OTP module compile
-%%
-%% Help function to run/0.
-run(Comment,OptionsList) ->
- Bms = compile_benchmarks(OptionsList),
- run_benchmarks(Comment,Bms),
- report().
-
-%% compile_benchmarks(OptionsList) -> [BmInfo| _]
-%% OptionsList = list() - See Erlang/OTP module compile
-%% BmInfo = {Module, Iterations, [BmFunctionName| _]}
-%% Module = atom()
-%% Iterations = integer()
-%% BmFunctionName = atom()
-%%
-%% Compiles all benchmark modules in the current directory and
-%% returns info about the benchmarks.
-compile_benchmarks(OptionsList) ->
- {ok, FilesInCurrentDir} = file:list_dir("."),
- BmFiles = [BmFile || BmFile <- lists:sort(FilesInCurrentDir),
- lists:suffix("_bm.erl", BmFile)],
-
- lists:foldr(fun(Module, BmInfoAcc) ->
- BmInfo = bm_compile(Module, OptionsList),
- [BmInfo | BmInfoAcc]
- end, [], BmFiles).
-
-
-%% bm_compile(FileName, OptionsList) -> BmInfo
-%% FileName = string()
-%% OptionsList = list() - See Erlang/OTP module compile
-%% BmInfo = {Module, Iterations, [BmFunctionName| _]}
-%% Iterations = integer()
-%% Module = atom()
-%% BmFunctionName = atom()
-%%
-%% Compiles the benchmark module implemented in <FileName> and returns
-%% information about the benchmark tests.
-bm_compile(FileName, OptionsList) ->
- io:format("Compiling ~s...\n", [FileName]), % Progress info to user
- case c:c(FileName, OptionsList) of
- {ok, Mod} ->
- bm_init(Mod),
- bm_cases(Mod);
- %% If compilation fails there is no point in trying to continue
- error ->
- Reason =
- lists:flatten(
- io_lib:format("Could not compile file ~s", [FileName])),
- exit(self(), Reason)
- end.
-
-%% bm_init(Module) -> ok
-%%
-%% calls the Module:init/0 function to let each benchmark make initialisation if
-%% there is need for that.
-%%
-bm_init(Module) ->
- case catch Module:init() of
- ok ->
- ok;
- Other ->
- ok % the init function is not mandatory yet
- end.
-
-
-%% bm_cases(Module) -> {Module, Iter, [BmFunctionName |_]}
-%% Module = atom()
-%% Iter = integer()
-%% BmFunctionName = atom()
-%%
-%% Fetches the number of iterations and the names of the benchmark
-%% functions for the module <Module>.
-bm_cases(Module) ->
- case catch Module:benchmarks() of
- {Iter, BmList} when integer(Iter), list(BmList) ->
- {Module, Iter, BmList};
- %% The benchmark is incorrect implemented there is no point in
- %% trying to continue
- Other ->
- Reason =
- lists:flatten(
- io_lib:format("Incorrect return value: ~p "
- "from ~p:benchmarks()",
- [Other, Module])),
- exit(self(), Reason)
- end.
-
-%% run_benchmarks(Bms) ->
-%% Bms = [{Module, Iter, [BmFunctionName |_]} | _]
-%% Module = atom()
-%% Iter = integer()
-%% BmFunctionName = atom()
-%%
-%% Runs all the benchmark tests described in <Bms>.
-run_benchmarks(Comment,Bms) ->
- Ver = erlang:system_info(version),
- Machine = erlang:system_info(machine),
- SysInfo = {Ver,Machine,Comment},
-
- Res = [bms_run(Mod, Tests, Iter, SysInfo) || {Mod,Iter,Tests} <- Bms],
-
- %% Create an intermediate file that is later used to generate a bench
- %% mark report.
- Name = Ver ++ [$.|Machine] ++ Comment ++ ".bmres",
- {ok, IntermediatFile} = file:open(Name, [write]),
-
- %% Create mark that identifies version of the benchmark modules
- io:format(IntermediatFile, "~p.\n", [erlang:phash(Bms, ?RANGE_MAX)]),
-
- io:format(IntermediatFile, "~p.\n", [Res]),
- file:close(IntermediatFile).
-
-
-%% bms_run(Module, BmTests, Iter, Info) ->
-%% Module = atom(),
-%% BmTests = [BmFunctionName|_],
-%% BmFunctionName = atom()
-%% Iter = integer(),
-%% SysInfo = {Ver, Machine}
-%% Ver = string()
-%% Machine = string()
-%%
-%% Runs all benchmark tests in module <Module>.
-bms_run(Module, BmTests, Iter, SysInfo) ->
- io:format("Running ~s:", [Module]), % Progress info to user
- Res =
- {Module,{SysInfo,[{Bm, bm_run(Module, Bm, Iter)} || Bm <- BmTests]}},
- io:nl(),
- Res.
-
-%% bm_run(Module, BmTest, Iter) -> Elapsed
-%% Module = atom(),
-%% BmTest = atom(),
-%% Iter = integer()
-%% Elapsed = integer() - elapsed time in milliseconds.
-%%
-%% Runs the benchmark Module:BmTest(Iter)
-bm_run(Module, BmTest, Iter) ->
- io:format(" ~s", [BmTest]), % Progress info to user
- spawn_link(?MODULE, measure, [self(), Module, BmTest, Iter]),
- receive
- {Elapsed, ok} ->
- Elapsed;
- {_Elapsed, Fault} ->
- io:nl(),
- Reason =
- lists:flatten(
- io_lib:format("~w", [Fault])),
- exit(self(), Reason)
- end.
-
-%% measure(Parent, Module, BmTest, Iter) -> _
-%% Parent = pid(),
-%% Module = atom(),
-%% BmTest = atom(),
-%% Iter = integer()
-%%
-%% Measures the time it take to execute Module:Bm(Iter)
-%% and send the result to <Parent>.
-measure(Parent, Module, BmTest, Iter) ->
- statistics(runtime),
- Res = (catch apply(Module, BmTest, [Iter])),
- {_TotalRunTime, TimeSinceLastCall} = statistics(runtime),
- Parent ! {TimeSinceLastCall, Res}.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Report functions
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% report() -> _
-%%
-%% Creates a report of the bench marking test that appeals to a human.
-%% Currently this means creating a html-file. (Other formats could be added)
-report() ->
- {ok, AllFiles} = file:list_dir("."),
- BmResultFiles = [File || File <- AllFiles, lists:suffix(".bmres", File)],
-
- Results = fetch_bmres_data(BmResultFiles),
- create_report(Results).
-
-%% fetch_bmres_data(BmResultFiles) -> Results
-%% BmResultFiles = [FileName | _]
-%% FileName = string()
-%% Results = [[{Bm, Res} | _]]
-%% Bm = atom() - Name of benchmark module
-%% Res = [{VersionInfo, [{Test, Time} | _]}]
-%% VersionInfo = {Ver, Machine}
-%% Ver = string()
-%% Machine = string()
-%% Test = atom()
-%% Time = integer()
-%%
-%% Reads result data from intermediate files
-fetch_bmres_data(BmResultFiles) ->
- fetch_bmres_data(BmResultFiles, [], undefined).
-
-%% fetch_bmres_data(BmResultFiles, AccResData, Check) -> Results
-%% BmResultFiles = [FileName | _]
-%% FileName = string()
-%% AccResData = see Results fetch_bmres_data/1
-%% Check = integer() | undefined (first time)
-%%
-%% Help function to fetch_bmres_data/1
-fetch_bmres_data([], AccResData, _Check) ->
- AccResData;
-
-fetch_bmres_data([Name | BmResultFiles], AccResData, Check) ->
- {DataList, NewCheck} = read_bmres_file(Name, Check),
- fetch_bmres_data(BmResultFiles, [DataList| AccResData], NewCheck).
-
-
-%% read_bmres_file(Name, Check) ->
-%% Name = string()
-%% Check = integer() | undefined
-%%
-%% Reads the data from the result files. Checks that all result
-%% files where created with the same set of tests.
-read_bmres_file(Name, Check) ->
- case file:consult(Name) of
- {ok, [Check1, List]} when Check =:= undefined, integer(Check1) ->
- {List, Check1};
- {ok, [Check, List]} when integer(Check) ->
- {List, Check};
- {ok, [Check1, List]} when integer(Check1) ->
- Reason =
- lists:flatten(
- io_lib:format("Different test setup, remove old setup "
- "result by removing *.bmres files and "
- "try again", [])),
- exit(self(), Reason);
- {error, Reason} when atom(Reason) ->
- exit(self(), Reason);
- {error, Reason} ->
- exit(self(), file:format(Reason))
- end.
-
-%% create_report(Results) ->
-%% Results = see Results fetch_bmres_data/1
-%%
-%% Organizes <Result> so it will be right for create_html_report/1
-%% i.e. group results for the same benchmark test, run on different versions
-%% of erlang.
-create_report(Results) ->
- Dictionary =
- lists:foldl(fun(BmResultList, Dict0) ->
- lists:foldl(fun({Bm, VerResult}, Dict1) ->
- dict:append(Bm, VerResult,
- Dict1)
- end,Dict0, BmResultList)
- end,
- dict:new(), Results),
-
- create_html_report(dict:dict_to_list(Dictionary)).
-
-%% create_html_report(ResultList) -> _
-%% ResultList = [{Bm, Res} | _]
-%% Bm = atom() - Name of benchmark module
-%% Res = [{VersionInfo, [{Test, Time} | _]} | _]
-%% VersionInfo = {Ver, Machine}
-%% Ver = string()
-%% Machine = string()
-%% Test = atom()
-%% Time = integer()
-%%
-%% Writes the result to an html-file
-create_html_report(ResultList) ->
-
- {ok, OutputFile} = file:open("index.html", [write]),
-
- %% Create the begining of the result html-file.
- Head = Title = "Benchmark Results",
- io:put_chars(OutputFile, "<html>\n"),
- io:put_chars(OutputFile, "<head>\n"),
- io:format(OutputFile, "<title>~s</title>\n", [Title]),
- io:put_chars(OutputFile, "</head>\n"),
- io:put_chars(OutputFile, "<body bgcolor=\"#FFFFFF\" text=\"#000000\"" ++
- " link=\"#0000FF\" vlink=\"#800080\" alink=\"#FF0000\">\n"),
- io:format(OutputFile, "<h1>~s</h1>\n", [Head]),
-
- %% Add the result tables
- lists:foreach(fun(Element) ->
- create_html_table(OutputFile, Element) end,
- ResultList),
-
- %% Put in the end-html tags
- io:put_chars(OutputFile, "</body>\n"),
- io:put_chars(OutputFile, "</html>\n"),
-
- file:close(OutputFile).
-
-%% create_html_table(File, {Bm, Res}) -> _
-%% File = file() - html file to write data to.
-%% Bm = atom() - Name of benchmark module
-%% Res = [{VersionInfo, [{Test, Time} | _]}]
-%% VersionInfo = {Ver, Machine}
-%% Ver = string()
-%% Machine = string()
-%% Test = atom()
-%% Time = integer()
-%%
-%% Creates a html table that displays the result of the benchmark <Bm>.
-create_html_table(File, {Bm, Res}) ->
-
- {MinTime, Order} = min_time_and_sort(Res),
-
- io:format(File, "<h2>~s</h2>\n" , [Bm]),
-
- %% Fun that calculates relative measure values and puts them in
- %% a dictionary
- RelativeMesureFun = fun({TestName, Time}, Dict1) ->
- dict:append(TestName, Time/MinTime, Dict1)
- end,
-
- %% For all erlang versions that the benchmark tests has been run,
- %% calculate the relative measure values and put them in a dictionary.
- ResultDict =
- lists:foldl(fun({_VerInfo, Bms}, Dict0) ->
- lists:foldl(RelativeMesureFun, Dict0, Bms) end,
- dict:new(), Res),
-
- %% Create the table and its headings
- io:put_chars(File, "<table border=0 cellpadding=1><tr>"
- "<td bgcolor=\"#000000\">\n"),
- io:put_chars(File, "<table cellpadding=3 border=0 cellspacing=1>\n"),
- io:put_chars(File, "<tr bgcolor=white>"),
- io:put_chars(File, "<td>Test</td>"),
- Heads = table_headers(Res),
- lists:foreach(fun({Ver,Machine,Comment}) ->
- io:format(File, "<td>~s<br>~s<br>~s</td>",
- [Ver,Machine,Comment]) end, Heads),
- io:put_chars(File, "</tr>\n"),
-
- %% Create table rows
- lists:foreach(fun(Name) ->
- create_html_row(File, Name, ResultDict)
- end, Order),
-
- %% Tabel end-tags
- io:put_chars(File, "</table></td></tr></table>\n"),
-
- %% Create link to benchmark source code
- io:format(File, "<p><a href=\"~s.erl\">Source for ~s.erl</a>\n",
- [Bm,Bm]).
-
-%% create_html_row(File, Name, Dict) -> _
-%% File = file() - html file to write data to.
-%% Name = atom() - Name of benchmark test
-%% Dict = dict() - Dictonary where the relative time measures for
-%% the test can be found.
-%%
-%% Creates an actual html table-row.
-create_html_row(File, Name, Dict) ->
- ReletiveTimes = dict:fetch(Name, Dict),
- io:put_chars(File, "<tr bgcolor=white>\n"),
- io:format(File, "<td>~s</td>", [Name]),
- lists:foreach(fun(Time) ->
- io:format(File, "<td>~-8.2f</td>", [Time]) end,
- ReletiveTimes),
- io:put_chars(File, "</tr>\n").
-
-%% min_time_and_sort(ResultList) -> {MinTime, Order}
-%% ResultList = [{VersionInfo, [{Test, Time} | _]}]
-%% MinTime = integer() - The execution time of the fastes test
-%% Order = [BmFunctionName|_] - the order of the testcases in
-%% increasing execution time.
-%% BmFunctionName = atom()
-min_time_and_sort(ResultList) ->
-
- %% Use the results from the run on the highest version
- %% of Erlang as norm.
- {_, TestRes} =
- lists:foldl(fun ({Ver, ResList},
- CurrentVer) when Ver > CurrentVer ->
- {Ver, ResList};
- (_, VerAndRes) ->
- VerAndRes
- end, {"0", []}, ResultList),
-
- {lists:foldl(fun ({_, Time0}, Min1) when Time0 < Min1 ->
- Time0;
- (_, Min1) ->
- Min1
- end, ?MAX, TestRes),
- [Name || {Name, _} <- lists:keysort(2, TestRes)]}.
-
-
-%% table_headers(VerResultList) -> SysInfo
-%% VerResultList = [{{Ver, Machine},[{BmFunctionName, Time}]} | _]
-%% Ver = string()
-%% Machine = string()
-%% BmFunctionName = atom()
-%% Time = integer()
-%% SysInfo = {Ver, Machine}
-table_headers(VerResultList) ->
- [SysInfo || {SysInfo, _} <- VerResultList].
-
-
-
diff --git a/lib/asn1/test/bench/bench.hrl b/lib/asn1/test/bench/bench.hrl
deleted file mode 100644
index 7c99447439..0000000000
--- a/lib/asn1/test/bench/bench.hrl
+++ /dev/null
@@ -1,24 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%
--define(rep5(X), X, X, X, X, X).
--define(rep10(X), ?rep5(X), ?rep5(X)).
--define(rep20(X), ?rep10(X), ?rep10(X)).
--define(rep40(X), ?rep20(X), ?rep20(X)).
--define(rep80(X), ?rep40(X), ?rep40(X)).
diff --git a/lib/asn1/test/bench/per_bm.erl b/lib/asn1/test/bench/per_bm.erl
deleted file mode 100644
index 23f8a8f010..0000000000
--- a/lib/asn1/test/bench/per_bm.erl
+++ /dev/null
@@ -1,650 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%
--module(per_bm).
-
--define(DATADIR,"/clearcase/otp/erts/lib/asn1/test/asn1_SUITE_data/").
--include("bench.hrl").
-
--export([init/0,benchmarks/0]).
--export([encode/1,decode/1,ranap_enc/1,ranap_dec/1]).
-
-
-init() ->
- ok = asn1ct:compile(?DATADIR++"H235-SECURITY-MESSAGES",[per_bin]),
- ok = asn1ct:compile(?DATADIR++"H323-MESSAGES",[per_bin]),
- ok = asn1ct:compile("RanapASN1",[per_bin]),
- ok.
-
-
-benchmarks() ->
- {5000,[encode,decode,ranap_enc,ranap_dec]}.
-
-ranap_dec(N) ->
- V = ranap_v2(),
- {ok,Bl} = asn1rt:encode('RanapASN1','RANAP-PDU',V),
- B = list_to_binary(Bl),
- ranap_n_dec(N,B),
- ok.
-
-ranap_n_dec(0,_) ->
- ok;
-ranap_n_dec(N,B) ->
- {ok,V}=asn1rt:decode('RanapASN1','RANAP-PDU',B),
- ranap_n_dec(N-1,B).
-
-ranap_enc(N) ->
- V = ranap_v2(),
- ranap_n_enc(N,V),
- ok.
-
-ranap_n_enc(0,V) ->
- ok;
-ranap_n_enc(N,V) ->
- {ok,B} = asn1rt:encode('RanapASN1','RANAP-PDU',V),
- ranap_n_enc(N-1,V).
-
-
-decode(N) ->
- V = v1(),
- {ok,Bl} = asn1rt:encode('H323-MESSAGES','H323-UserInformation',V),
- B = list_to_binary(Bl),
- n_decode(N,B),
- ok.
-
-n_decode(0,_) ->
- ok;
-n_decode(N,B) ->
- {ok,V}=asn1rt:decode('H323-MESSAGES','H323-UserInformation',B),
- n_decode(N-1,B).
-
-
-v1() ->
- V =
- {'H323-UserInformation',
- {'H323-UU-PDU',
- {callProceeding,
- {'CallProceeding-UUIE',
- {0,
- 7,
- 180},
- {'EndpointType',
- {'NonStandardParameter',
- {object,
- {0,
- 8,
- 202}},
- "O"},
- {'VendorIdentifier',
- {'H221NonStandard',
- 55,
- 55,
- 14277},
- "OC",
- "OC"},
- {'GatekeeperInfo',
- {'NonStandardParameter',
- {object,
- {0,
- 9,
- 232}},
- "O"}},
- {'GatewayInfo',
- [{h320,
- {'H320Caps',
- {'NonStandardParameter',
- {object,
- {0,
- 10,
- 268}},
- "O"},
- [{'DataRate',
- {'NonStandardParameter',
- {object,
- {0,
- 11,
- 284}},
- "O"},
- 1244176737,
- 75}],
- [{'SupportedPrefix',
- {'NonStandardParameter',
- {object,
- {0,
- 12,
- 304}},
- "O"},
- {'h323-ID',
- "BM"}}]}}],
- {'NonStandardParameter',
- {object,
- {0,
- 13,
- 324}},
- "O"}},
- {'McuInfo',
- {'NonStandardParameter',
- {object,
- {1,
- 13,
- 346,
- 347}},
- "OC"}},
- {'TerminalInfo',
- {'NonStandardParameter',
- {object,
- {1,
- 14,
- 363,
- 363}},
- "OC"}},
- true,
- true},
- {ipxAddress,
- {'TransportAddress_ipxAddress',
- "OCTET ",
- "OCTE",
- "OC"}},
- {'CallIdentifier',
- "OCTET STRINGOCTE"},
- {noSecurity,
- 'NULL'},
- [
-% {'ClearToken',
-% 1703375497,
-% "BM",
-% {'DHset',
-% [1],
-% [1],
-% [1]},
-% "OCTET STRI",
-% -21825559,
-% {'TypedCertificate',
-% {1,
-% 17,
-% 424,
-% 424},
-% "OC"},
-% "BMP",
-% {'NonStandardParameter',
-% {1,
-% 17,
-% 435,
-% 436},
-% "OC"}},
- {'ClearToken',
- 1929575502,
- "BMP",
- {'DHset',
- [1],
- [1],
- [1]},
- "OCTET STRI",
- -9591354,
- {'TypedCertificate',
- {1,
- 18,
- 471,
- 471},
- "OC"},
- "BMP",
- {'NonStandardParameter',
- {1,
- 19,
- 482,
- 483},
- "OC"}}],
- [
-% {cryptoEPCert,
-% {'CryptoH323Token_cryptoEPCert',
-% {'ClearToken',
-% 2227304001,
-% "BMP",
-% {'DHset',
-% [1],
-% [1],
-% [1]},
-% "OCTET STRI",
-% 9574387,
-% {'TypedCertificate',
-% {1,
-% 21,
-% 541,
-% 542},
-% "OCT"},
-% "BMP",
-% {'NonStandardParameter',
-% {1,
-% 22,
-% 552,
-% 553},
-% "OCT"}},
-% {1,
-% 22,
-% 559,
-% 560},
-% {'Params',
-% 18993485,
-% "OCTET ST"},
-% [1,
-% 0,
-% 1]}},
- {cryptoEPCert,
- {'CryptoH323Token_cryptoEPCert',
- {'ClearToken',
- 2581405450,
- "BMPS",
- {'DHset',
- [1,
- 0,
- 1],
- [1,
- 0,
- 1],
- [1,
- 0,
- 1]},
- "OCTET STRIN",
- 32050976,
- {'TypedCertificate',
- {1,
- 25,
- 625,
- 625},
- "OCT"},
- "BMPS",
- {'NonStandardParameter',
- {1,
- 25,
- 636,
- 637},
- "OCT"}},
- {1,
- 25,
- 644,
- 645},
- {'Params',
- 40708757,
- "OCTET ST"},
- [1,
- 0,
- 1]}}],
- ["OCT",
- "OCT",
- "OCT"]}},
- {'NonStandardParameter',
- {h221NonStandard,
- {'H221NonStandard',
- 173,
- 173,
- 44666}},
- "OCTE"},
- ["OCTE",
- "OCTE",
- "OCTE",
- "OCTE"],
- true,
- ["OCTE",
- "OCTE",
- "OCTE",
- "OCTE"],
- [
-% {'NonStandardParameter',
-% {h221NonStandard,
-% {'H221NonStandard',
-% 182,
-% 183,
-% 46981}},
-% "OCTE"},
-% {'NonStandardParameter',
-% {h221NonStandard,
-% {'H221NonStandard',
-% 186,
-% 187,
-% 48016}},
-% "OCTE"},
-% {'NonStandardParameter',
-% {h221NonStandard,
-% {'H221NonStandard',
-% 190,
-% 191,
-% 49026}},
-% "OCTE"},
- {'NonStandardParameter',
- {h221NonStandard,
- {'H221NonStandard',
- 195,
- 196,
- 50303}},
- "OCTE"}]},
- {'H323-UserInformation_user-data',
- 197,
- "OCTE"}}.
-
-encode(N) ->
- V = v1(),
- n_encode(N,V),
- ok.
-
-n_encode(0,V) ->
- ok;
-n_encode(N,V) ->
- {ok,B} = asn1rt:encode('H323-MESSAGES','H323-UserInformation',V),
- n_encode(N-1,V).
-
-
-ranap_v1() ->
- {successfulOutcome,
- {'SuccessfulOutcome',
- 9,
- ignore,
- {'ResetAcknowledge',
- [{'ProtocolIE-Field',3,ignore,'ps-domain'},
- {'ProtocolIE-Field',
- 86,
- ignore,
- {'GlobalRNC-ID',"!Ce",2}}],
- asn1_NOVALUE}}}.
-
-ranap_v2() ->
- {initiatingMessage,{'InitiatingMessage',
- 6,
- {'Criticality',reject},
- {'SecurityModeCommand',
- [{'ProtocolIE-Field',
- 12,
- {'Criticality',reject},
- {'IntegrityProtectionInformation',
- ['standard-UMTS-integrity-algorithm-UIA1'],
- [0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0],
- asn1_NOVALUE}},
- {'ProtocolIE-Field',
- 11,
- {'Criticality',ignore},
- {'EncryptionInformation',
- ['no-encryption',
- 'standard-UMTS-encryption-algorith-UEA1'],
- [0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1],
- asn1_NOVALUE}},
- {'ProtocolIE-Field',
- 75,
- {'Criticality',reject},
- new}],
- asn1_NOVALUE}}}.
-
-
-
-
-
-
-
diff --git a/lib/asn1/test/ber_decode_error.erl b/lib/asn1/test/ber_decode_error.erl
index aa3b0122fd..96d6545636 100644
--- a/lib/asn1/test/ber_decode_error.erl
+++ b/lib/asn1/test/ber_decode_error.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([run/1, compile/3]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/choice_extension.erl b/lib/asn1/test/choice_extension.erl
index 843704ee9e..85e0936ebf 100644
--- a/lib/asn1/test/choice_extension.erl
+++ b/lib/asn1/test/choice_extension.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([run/0, compile/3]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/h323test.erl b/lib/asn1/test/h323test.erl
index 60d2c39be0..5545dd45b9 100644
--- a/lib/asn1/test/h323test.erl
+++ b/lib/asn1/test/h323test.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-compile(export_all).
-export([compile/3,run/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
?line DataDir = ?config(data_dir,Config),
diff --git a/lib/asn1/test/testChoExtension.erl b/lib/asn1/test/testChoExtension.erl
index 125dfaa3bd..5e149ed247 100644
--- a/lib/asn1/test/testChoExtension.erl
+++ b/lib/asn1/test/testChoExtension.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([extension/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testChoExternal.erl b/lib/asn1/test/testChoExternal.erl
index 5f804d9d7f..b6586b616b 100644
--- a/lib/asn1/test/testChoExternal.erl
+++ b/lib/asn1/test/testChoExternal.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([external/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
diff --git a/lib/asn1/test/testChoOptional.erl b/lib/asn1/test/testChoOptional.erl
index 2d969391d0..61a1955d28 100644
--- a/lib/asn1/test/testChoOptional.erl
+++ b/lib/asn1/test/testChoOptional.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -24,7 +24,7 @@
-export([optional/1]).
%-include("ChoOptional.hrl").
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
diff --git a/lib/asn1/test/testChoOptionalImplicitTag.erl b/lib/asn1/test/testChoOptionalImplicitTag.erl
index 30addf2e20..e28353cb5a 100644
--- a/lib/asn1/test/testChoOptionalImplicitTag.erl
+++ b/lib/asn1/test/testChoOptionalImplicitTag.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -24,7 +24,7 @@
-export([optional/1]).
%-include("ChoOptional.hrl").
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
diff --git a/lib/asn1/test/testChoPrim.erl b/lib/asn1/test/testChoPrim.erl
index 7fa6164b5a..f037db1c5d 100644
--- a/lib/asn1/test/testChoPrim.erl
+++ b/lib/asn1/test/testChoPrim.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([bool/1]).
-export([int/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testChoRecursive.erl b/lib/asn1/test/testChoRecursive.erl
index f8c5e60f55..36e23e2e03 100644
--- a/lib/asn1/test/testChoRecursive.erl
+++ b/lib/asn1/test/testChoRecursive.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([recursive/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('ChoRec_something',{a, b, c}).
-record('ChoRec2_something',{a, b, c}).
diff --git a/lib/asn1/test/testChoTypeRefCho.erl b/lib/asn1/test/testChoTypeRefCho.erl
index 341a77c21b..f381d9078d 100644
--- a/lib/asn1/test/testChoTypeRefCho.erl
+++ b/lib/asn1/test/testChoTypeRefCho.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([choice/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
diff --git a/lib/asn1/test/testChoTypeRefPrim.erl b/lib/asn1/test/testChoTypeRefPrim.erl
index 1ef221819c..8fb9ed9f02 100644
--- a/lib/asn1/test/testChoTypeRefPrim.erl
+++ b/lib/asn1/test/testChoTypeRefPrim.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([prim/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
diff --git a/lib/asn1/test/testChoTypeRefSeq.erl b/lib/asn1/test/testChoTypeRefSeq.erl
index 2e9aa7c411..45d6209e79 100644
--- a/lib/asn1/test/testChoTypeRefSeq.erl
+++ b/lib/asn1/test/testChoTypeRefSeq.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([seq/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('ChoSeq',{seqInt, seqOs}).
-record('ChoSeqImp',{seqInt, seqOs}).
diff --git a/lib/asn1/test/testChoTypeRefSet.erl b/lib/asn1/test/testChoTypeRefSet.erl
index e4db73c1e3..9869549d7a 100644
--- a/lib/asn1/test/testChoTypeRefSet.erl
+++ b/lib/asn1/test/testChoTypeRefSet.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([set/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('ChoSet',{setInt, setOs}).
-record('ChoSetImp',{setInt, setOs}).
diff --git a/lib/asn1/test/testChoiceIndefinite.erl b/lib/asn1/test/testChoiceIndefinite.erl
index 5eff4ce5d4..e5f3ee51c8 100644
--- a/lib/asn1/test/testChoiceIndefinite.erl
+++ b/lib/asn1/test/testChoiceIndefinite.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testCompactBitString.erl b/lib/asn1/test/testCompactBitString.erl
index 12aae260ea..cd5586602b 100644
--- a/lib/asn1/test/testCompactBitString.erl
+++ b/lib/asn1/test/testCompactBitString.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compact_bit_string/1, bit_string_unnamed/1,otp_4869/1,
ticket_7734/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Option) ->
diff --git a/lib/asn1/test/testConstraints.erl b/lib/asn1/test/testConstraints.erl
index f70089fe82..dcbc04f8d8 100644
--- a/lib/asn1/test/testConstraints.erl
+++ b/lib/asn1/test/testConstraints.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([int_constraints/1,refed_NNL_name/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
diff --git a/lib/asn1/test/testContextSwitchingTypes.erl b/lib/asn1/test/testContextSwitchingTypes.erl
index ef14397d1e..260a016c6c 100644
--- a/lib/asn1/test/testContextSwitchingTypes.erl
+++ b/lib/asn1/test/testContextSwitchingTypes.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([test/0]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
@@ -71,13 +71,13 @@ check_EXTERNAL_Idef({Alt,_}) when Alt=='context-negotiation';
ok;
check_EXTERNAL_Idef(I) ->
{error,"failed on identification alternative",I}.
-check_EXTERNAL_DVD(DVD) when list(DVD) ->
+check_EXTERNAL_DVD(DVD) when is_list(DVD) ->
ok;
check_EXTERNAL_DVD(asn1_NOVALUE) ->
ok;
check_EXTERNAL_DVD(DVD) ->
{error,"failed on data-value-descriptor alternative",DVD}.
-check_EXTERNAL_DV(DV) when list(DV) ->
+check_EXTERNAL_DV(DV) when is_list(DV) ->
ok;
check_EXTERNAL_DV(DV) ->
{error,"failed on data-value alternative",DV}.
diff --git a/lib/asn1/test/testDER.erl b/lib/asn1/test/testDER.erl
index 970e8dadd4..630f7ecc14 100644
--- a/lib/asn1/test/testDER.erl
+++ b/lib/asn1/test/testDER.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([test/0]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rule,Options) ->
diff --git a/lib/asn1/test/testDeepTConstr.erl b/lib/asn1/test/testDeepTConstr.erl
index a185a127e5..53d2b3040e 100644
--- a/lib/asn1/test/testDeepTConstr.erl
+++ b/lib/asn1/test/testDeepTConstr.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3,main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testDef.erl b/lib/asn1/test/testDef.erl
index aa41f7b678..7942a358be 100644
--- a/lib/asn1/test/testDef.erl
+++ b/lib/asn1/test/testDef.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('Def1',{bool0,
bool1 = asn1_DEFAULT,
diff --git a/lib/asn1/test/testDoubleEllipses.erl b/lib/asn1/test/testDoubleEllipses.erl
index 444b06995f..20be4ea215 100644
--- a/lib/asn1/test/testDoubleEllipses.erl
+++ b/lib/asn1/test/testDoubleEllipses.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('Seq',{a, c}).
-record('SeqV2',{a, b ,c}).
diff --git a/lib/asn1/test/testEnumExt.erl b/lib/asn1/test/testEnumExt.erl
index 7e25aa9b4e..4ea0f3b8a1 100644
--- a/lib/asn1/test/testEnumExt.erl
+++ b/lib/asn1/test/testEnumExt.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1998-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testExternal.erl b/lib/asn1/test/testExternal.erl
index 3c3dc2ea29..6e1fa0ee7d 100644
--- a/lib/asn1/test/testExternal.erl
+++ b/lib/asn1/test/testExternal.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([compile/3]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testINSTANCE_OF.erl b/lib/asn1/test/testINSTANCE_OF.erl
index 2a3a5c333b..6ae656da44 100644
--- a/lib/asn1/test/testINSTANCE_OF.erl
+++ b/lib/asn1/test/testINSTANCE_OF.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([compile/3,main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Opt) ->
@@ -73,17 +73,17 @@ test_encdec(_Erule,{lastName,{'GeneralName_lastName',{2,3,4},
test_encdec(Erule,Res) ->
{error,{Erule,Res}}.
-wrap(ber,Int) when list(Int) ->
+wrap(ber,Int) when is_list(Int) ->
binary_to_list(list_to_binary(Int));
-wrap(per,Int) when list(Int) ->
+wrap(per,Int) when is_list(Int) ->
binary_to_list(list_to_binary(Int));
-wrap(ber_bin,Int) when list(Int) ->
+wrap(ber_bin,Int) when is_list(Int) ->
list_to_binary(Int);
-wrap(ber_bin_v2,Int) when list(Int) ->
+wrap(ber_bin_v2,Int) when is_list(Int) ->
list_to_binary(Int);
-wrap(per_bin,Int) when list(Int) ->
+wrap(per_bin,Int) when is_list(Int) ->
list_to_binary(Int);
-wrap(uper_bin,Int) when list(Int) ->
+wrap(uper_bin,Int) when is_list(Int) ->
list_to_binary(Int);
wrap(_,Int) ->
Int.
diff --git a/lib/asn1/test/testInfObj.erl b/lib/asn1/test/testInfObj.erl
index 317cd75e4b..9d73be9f23 100644
--- a/lib/asn1/test/testInfObj.erl
+++ b/lib/asn1/test/testInfObj.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3,main/1,compile_RANAPfiles/3]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('InitiatingMessage',{procedureCode,criticality,value}).
-record('InitiatingMessage2',{procedureCode,criticality,value}).
diff --git a/lib/asn1/test/testInfObjectClass.erl b/lib/asn1/test/testInfObjectClass.erl
index 63b332ad0a..07ebb7dbd0 100644
--- a/lib/asn1/test/testInfObjectClass.erl
+++ b/lib/asn1/test/testInfObjectClass.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3,main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
diff --git a/lib/asn1/test/testMegaco.erl b/lib/asn1/test/testMegaco.erl
index 8c0565eec7..ca2b1062d1 100644
--- a/lib/asn1/test/testMegaco.erl
+++ b/lib/asn1/test/testMegaco.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3,main/2,msg11/0]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-define(MID, {ip4Address, #'IP4Address'{address = [124, 124, 124, 222],
portNumber = 55555}}).
-define(A4444, ["11111111"]).
@@ -163,7 +163,7 @@ read_msg(File) ->
end.
-request(Mid, TransId, ContextId, CmdReq) when list(CmdReq) ->
+request(Mid, TransId, ContextId, CmdReq) when is_list(CmdReq) ->
Actions = [#'ActionRequest'{contextId = ContextId,
commandRequests = CmdReq}],
Req = {transactions,
diff --git a/lib/asn1/test/testMergeCompile.erl b/lib/asn1/test/testMergeCompile.erl
index e70ca16b77..733cbc0eef 100644
--- a/lib/asn1/test/testMergeCompile.erl
+++ b/lib/asn1/test/testMergeCompile.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3,main/1,mvrasn/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('InitiatingMessage',{procedureCode,criticality,value}).
-record('Iu-ReleaseCommand',{protocolIEs,protocolExtensions}).
diff --git a/lib/asn1/test/testMvrasn6.erl b/lib/asn1/test/testMvrasn6.erl
index 65668f3ed4..eaa667e6d7 100644
--- a/lib/asn1/test/testMvrasn6.erl
+++ b/lib/asn1/test/testMvrasn6.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/2]).
-export([main/0]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules) ->
diff --git a/lib/asn1/test/testNBAPsystem.erl b/lib/asn1/test/testNBAPsystem.erl
index 402f16ab5d..1269f94060 100644
--- a/lib/asn1/test/testNBAPsystem.erl
+++ b/lib/asn1/test/testNBAPsystem.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([compile/3,test/2,cell_setup_req_msg/0]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('InitiatingMessage',{
procedureID, criticality, messageDiscriminator, transactionID, value}).
@@ -299,7 +299,7 @@ protocolIEs_051107() ->
compare(V,V) ->
ok;
-compare(V,L) when list(L) ->
+compare(V,L) when is_list(L) ->
compare(V,list_to_binary(L));
compare(_,_) ->
false.
diff --git a/lib/asn1/test/testOpenTypeImplicitTag.erl b/lib/asn1/test/testOpenTypeImplicitTag.erl
index 4300509e07..8662744ed3 100644
--- a/lib/asn1/test/testOpenTypeImplicitTag.erl
+++ b/lib/asn1/test/testOpenTypeImplicitTag.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testOpt.erl b/lib/asn1/test/testOpt.erl
index 2967595fd2..a1ad8099b5 100644
--- a/lib/asn1/test/testOpt.erl
+++ b/lib/asn1/test/testOpt.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/2]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('Opt1',{bool0,
bool1 = asn1_NOVALUE,
diff --git a/lib/asn1/test/testParamBasic.erl b/lib/asn1/test/testParamBasic.erl
index 172a2881cd..4ba0029b54 100644
--- a/lib/asn1/test/testParamBasic.erl
+++ b/lib/asn1/test/testParamBasic.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile_der/2]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('T11',{number, string=asn1_DEFAULT}).
-record('T12',{number, string=asn1_DEFAULT}).
diff --git a/lib/asn1/test/testParameterizedInfObj.erl b/lib/asn1/test/testParameterizedInfObj.erl
index 91d160f335..b95d627d58 100644
--- a/lib/asn1/test/testParameterizedInfObj.erl
+++ b/lib/asn1/test/testParameterizedInfObj.erl
@@ -22,7 +22,7 @@
-export([compile/3,main/1,ranap/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('AllocationOrRetentionPriority',{priorityLevel,iE_Extensions}).
-record('ProtocolExtensionField',{id,criticality,extensionValue}).
diff --git a/lib/asn1/test/testPrim.erl b/lib/asn1/test/testPrim.erl
index 4ccdd82c13..97f99e7b1c 100644
--- a/lib/asn1/test/testPrim.erl
+++ b/lib/asn1/test/testPrim.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -28,7 +28,7 @@
-export([null/1]).
-export([real/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
diff --git a/lib/asn1/test/testPrimExternal.erl b/lib/asn1/test/testPrimExternal.erl
index 2a6384009a..23633177eb 100644
--- a/lib/asn1/test/testPrimExternal.erl
+++ b/lib/asn1/test/testPrimExternal.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([external/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testPrimStrings.erl b/lib/asn1/test/testPrimStrings.erl
index 707ee375c1..33652d6554 100644
--- a/lib/asn1/test/testPrimStrings.erl
+++ b/lib/asn1/test/testPrimStrings.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -31,7 +31,7 @@
-export([times/1]).
-export([utf8_string/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Option) ->
@@ -930,7 +930,7 @@ utf8_string(_Rules) ->
?line {ok,Bin13} = asn1_wrapper:decode('PrimStrings','UTF',Bytes13),
?line {ok,LongVal} = wrapper_utf8_binary_to_list(Bin13).
-wrapper_utf8_binary_to_list(L) when list(L) ->
+wrapper_utf8_binary_to_list(L) when is_list(L) ->
asn1rt:utf8_binary_to_list(list_to_binary(L));
wrapper_utf8_binary_to_list(B) ->
asn1rt:utf8_binary_to_list(B).
diff --git a/lib/asn1/test/testRANAP.erl b/lib/asn1/test/testRANAP.erl
index 7c35674d3a..52a58d850b 100644
--- a/lib/asn1/test/testRANAP.erl
+++ b/lib/asn1/test/testRANAP.erl
@@ -22,7 +22,7 @@
-export([compile/3,testobj/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Erule,Options) ->
diff --git a/lib/asn1/test/testROSE.erl b/lib/asn1/test/testROSE.erl
index 65851e21fc..a692ec7682 100644
--- a/lib/asn1/test/testROSE.erl
+++ b/lib/asn1/test/testROSE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([compile/3]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
diff --git a/lib/asn1/test/testSSLspecs.erl b/lib/asn1/test/testSSLspecs.erl
index 87e5e5fd02..10623af51e 100644
--- a/lib/asn1/test/testSSLspecs.erl
+++ b/lib/asn1/test/testSSLspecs.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3,run/1,compile_inline/2,run_inline/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testSelectionTypes.erl b/lib/asn1/test/testSelectionTypes.erl
index a3876c259e..893c31622f 100644
--- a/lib/asn1/test/testSelectionTypes.erl
+++ b/lib/asn1/test/testSelectionTypes.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([test/0]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rule,Options) ->
diff --git a/lib/asn1/test/testSeq2738.erl b/lib/asn1/test/testSeq2738.erl
index 0f3c4b7bf7..9cf9c8fcb4 100644
--- a/lib/asn1/test/testSeq2738.erl
+++ b/lib/asn1/test/testSeq2738.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
%-record('SeqOpt',{int, opt = asn1_NOVALUE}).
-record('SeqOptFake',{int, opt = asn1_NOVALUE}).
diff --git a/lib/asn1/test/testSeqDefault.erl b/lib/asn1/test/testSeqDefault.erl
index a626bfd645..edf07cf1c1 100644
--- a/lib/asn1/test/testSeqDefault.erl
+++ b/lib/asn1/test/testSeqDefault.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SeqDef1',{bool1 = asn1_DEFAULT, int1, seq1 = asn1_DEFAULT}).
-record('SeqDef1Imp',{bool1 = asn1_DEFAULT, int1, seq1 = asn1_DEFAULT}).
diff --git a/lib/asn1/test/testSeqExtension.erl b/lib/asn1/test/testSeqExtension.erl
index 4ddaddb8f1..538e2c250b 100644
--- a/lib/asn1/test/testSeqExtension.erl
+++ b/lib/asn1/test/testSeqExtension.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SeqExt1',{}).
-record('SeqExt2',{bool, int}).
diff --git a/lib/asn1/test/testSeqExternal.erl b/lib/asn1/test/testSeqExternal.erl
index f148d32b21..b89b98d3fa 100644
--- a/lib/asn1/test/testSeqExternal.erl
+++ b/lib/asn1/test/testSeqExternal.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SeqXSet1',{set, bool, int}).
diff --git a/lib/asn1/test/testSeqIndefinite.erl b/lib/asn1/test/testSeqIndefinite.erl
index b1b622bdfa..9285d7b368 100644
--- a/lib/asn1/test/testSeqIndefinite.erl
+++ b/lib/asn1/test/testSeqIndefinite.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testSeqOf.erl b/lib/asn1/test/testSeqOf.erl
index 71556ed746..961e2d89d9 100644
--- a/lib/asn1/test/testSeqOf.erl
+++ b/lib/asn1/test/testSeqOf.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('Seq1',{bool1, int1, seq1 = asn1_DEFAULT}).
-record('Seq2',{seq2 = asn1_DEFAULT, bool2, int2}).
diff --git a/lib/asn1/test/testSeqOfCho.erl b/lib/asn1/test/testSeqOfCho.erl
index eefb258346..05bd45580f 100644
--- a/lib/asn1/test/testSeqOfCho.erl
+++ b/lib/asn1/test/testSeqOfCho.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SeqChoDef',{bool1, int1, seq1 = asn1_DEFAULT}).
-record('SeqChoOpt',{bool1, int1, seq1 = asn1_NOVALUE}).
diff --git a/lib/asn1/test/testSeqOfExternal.erl b/lib/asn1/test/testSeqOfExternal.erl
index dde36e6949..4c4c9e2b0f 100644
--- a/lib/asn1/test/testSeqOfExternal.erl
+++ b/lib/asn1/test/testSeqOfExternal.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
-record('NT',{os, bool}).
diff --git a/lib/asn1/test/testSeqOfIndefinite.erl b/lib/asn1/test/testSeqOfIndefinite.erl
index 8e8967572a..0221581cf1 100644
--- a/lib/asn1/test/testSeqOfIndefinite.erl
+++ b/lib/asn1/test/testSeqOfIndefinite.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/0]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
%-record('Seq1',{bool1, int1, seq1 = asn1_DEFAULT}).
%-record('Seq2',{seq2 = asn1_DEFAULT, bool2, int2}).
diff --git a/lib/asn1/test/testSeqOfTag.erl b/lib/asn1/test/testSeqOfTag.erl
index 0a4e1397a6..4f56ab717b 100644
--- a/lib/asn1/test/testSeqOfTag.erl
+++ b/lib/asn1/test/testSeqOfTag.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
diff --git a/lib/asn1/test/testSeqOptional.erl b/lib/asn1/test/testSeqOptional.erl
index 7177011427..0125c9fb3e 100644
--- a/lib/asn1/test/testSeqOptional.erl
+++ b/lib/asn1/test/testSeqOptional.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SeqOpt1',{bool1 = asn1_NOVALUE, int1, seq1 = asn1_NOVALUE}).
-record('SeqOpt1Imp',{bool1 = asn1_NOVALUE, int1, seq1 = asn1_NOVALUE}).
diff --git a/lib/asn1/test/testSeqPrim.erl b/lib/asn1/test/testSeqPrim.erl
index 7ad1de58a1..ec48d1b779 100644
--- a/lib/asn1/test/testSeqPrim.erl
+++ b/lib/asn1/test/testSeqPrim.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('Seq',{bool, boolCon, boolPri, boolApp, boolExpCon, boolExpPri, boolExpApp}).
-record('Empty',{}).
diff --git a/lib/asn1/test/testSeqSetDefaultVal.erl b/lib/asn1/test/testSeqSetDefaultVal.erl
index 1c238fd1b7..5a1a443ebc 100644
--- a/lib/asn1/test/testSeqSetDefaultVal.erl
+++ b/lib/asn1/test/testSeqSetDefaultVal.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/2]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SeqInts',{a = asn1_DEFAULT,
b = asn1_DEFAULT,
diff --git a/lib/asn1/test/testSeqTag.erl b/lib/asn1/test/testSeqTag.erl
index ff6d1bbe91..60d3629840 100644
--- a/lib/asn1/test/testSeqTag.erl
+++ b/lib/asn1/test/testSeqTag.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
-record('SeqTag',{nt, imp, exp}).
diff --git a/lib/asn1/test/testSeqTypeRefCho.erl b/lib/asn1/test/testSeqTypeRefCho.erl
index 03933d68ae..9262fd1bfd 100644
--- a/lib/asn1/test/testSeqTypeRefCho.erl
+++ b/lib/asn1/test/testSeqTypeRefCho.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
-record('SeqTRcho',{seqCho, seqChoE, 'seqCho-E', 'seqChoE-E'}).
diff --git a/lib/asn1/test/testSeqTypeRefPrim.erl b/lib/asn1/test/testSeqTypeRefPrim.erl
index 264fc24f85..7d4c2acc0e 100644
--- a/lib/asn1/test/testSeqTypeRefPrim.erl
+++ b/lib/asn1/test/testSeqTypeRefPrim.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SeqTR',{octStr, octStrI, octStrE, 'octStr-I', 'octStrI-I', 'octStrE-I', 'octStr-E', 'octStrI-E', 'octStrE-E'}).
diff --git a/lib/asn1/test/testSeqTypeRefSeq.erl b/lib/asn1/test/testSeqTypeRefSeq.erl
index b01c14ee32..51b0f13c57 100644
--- a/lib/asn1/test/testSeqTypeRefSeq.erl
+++ b/lib/asn1/test/testSeqTypeRefSeq.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('Seq1',{bool1, int1, seq1}).
-record('Seq2',{seq2, bool2, int2}).
diff --git a/lib/asn1/test/testSeqTypeRefSet.erl b/lib/asn1/test/testSeqTypeRefSet.erl
index 92d2cadf28..a704ce3403 100644
--- a/lib/asn1/test/testSeqTypeRefSet.erl
+++ b/lib/asn1/test/testSeqTypeRefSet.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SeqTRset',{seqSet, seqSetI, seqSetE, 'seqSet-I', 'seqSetI-I', 'seqSetE-I', 'seqSet-E', 'seqSetI-E', 'seqSetE-E'}).
-record('SeqSet',{setInt, setOs}).
diff --git a/lib/asn1/test/testSetDefault.erl b/lib/asn1/test/testSetDefault.erl
index e4b6a0ab82..e36894327c 100644
--- a/lib/asn1/test/testSetDefault.erl
+++ b/lib/asn1/test/testSetDefault.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SetDef1',{bool1 = asn1_DEFAULT, int1, set1 = asn1_DEFAULT}).
-record('SetDef2',{set2 = asn1_DEFAULT, bool2, int2}).
diff --git a/lib/asn1/test/testSetExtension.erl b/lib/asn1/test/testSetExtension.erl
index 85a84e020a..c7fb3b42c4 100644
--- a/lib/asn1/test/testSetExtension.erl
+++ b/lib/asn1/test/testSetExtension.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -24,7 +24,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SetExt1',{}).
-record('SetExt2',{bool, int}).
diff --git a/lib/asn1/test/testSetExternal.erl b/lib/asn1/test/testSetExternal.erl
index 83974a5499..41f32dcd90 100644
--- a/lib/asn1/test/testSetExternal.erl
+++ b/lib/asn1/test/testSetExternal.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SetXSeq1',{seq, bool, int}).
diff --git a/lib/asn1/test/testSetIndefinite.erl b/lib/asn1/test/testSetIndefinite.erl
index 0e6a86bac4..bf8b242860 100644
--- a/lib/asn1/test/testSetIndefinite.erl
+++ b/lib/asn1/test/testSetIndefinite.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Options) ->
diff --git a/lib/asn1/test/testSetOf.erl b/lib/asn1/test/testSetOf.erl
index fe68a0705a..0769b9a344 100644
--- a/lib/asn1/test/testSetOf.erl
+++ b/lib/asn1/test/testSetOf.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('Set1',{bool1, int1, set1 = asn1_DEFAULT}).
-record('Set2',{set2 = asn1_DEFAULT, bool2, int2}).
diff --git a/lib/asn1/test/testSetOfCho.erl b/lib/asn1/test/testSetOfCho.erl
index f3164273f6..474742fbdb 100644
--- a/lib/asn1/test/testSetOfCho.erl
+++ b/lib/asn1/test/testSetOfCho.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SetChoDef',{bool1, int1, set1 = asn1_DEFAULT}).
-record('SetChoOpt',{bool1, int1, set1 = asn1_NOVALUE}).
diff --git a/lib/asn1/test/testSetOfExternal.erl b/lib/asn1/test/testSetOfExternal.erl
index 1c59ad0a74..9e2b01c698 100644
--- a/lib/asn1/test/testSetOfExternal.erl
+++ b/lib/asn1/test/testSetOfExternal.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
-record('NT',{os, bool}).
diff --git a/lib/asn1/test/testSetOfTag.erl b/lib/asn1/test/testSetOfTag.erl
index ff59a329e3..c101306d7a 100644
--- a/lib/asn1/test/testSetOfTag.erl
+++ b/lib/asn1/test/testSetOfTag.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
diff --git a/lib/asn1/test/testSetOptional.erl b/lib/asn1/test/testSetOptional.erl
index 3df1ed58bb..035fa70424 100644
--- a/lib/asn1/test/testSetOptional.erl
+++ b/lib/asn1/test/testSetOptional.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3]).
-export([main/1]).
-export([ticket_7533/1,decoder/4]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SetOpt1',{bool1 = asn1_NOVALUE, int1, set1 = asn1_NOVALUE}).
-record('SetOpt1Imp',{bool1 = asn1_NOVALUE, int1, set1 = asn1_NOVALUE}).
diff --git a/lib/asn1/test/testSetPrim.erl b/lib/asn1/test/testSetPrim.erl
index cb64011dcc..e093c918e3 100644
--- a/lib/asn1/test/testSetPrim.erl
+++ b/lib/asn1/test/testSetPrim.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('Set',{bool, boolCon, boolPri, boolApp, boolExpCon, boolExpPri, boolExpApp}).
-record('Empty',{}).
diff --git a/lib/asn1/test/testSetTag.erl b/lib/asn1/test/testSetTag.erl
index fcf15dc0f0..8df3e36815 100644
--- a/lib/asn1/test/testSetTag.erl
+++ b/lib/asn1/test/testSetTag.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
-record('SetTag',{nt, imp, exp}).
diff --git a/lib/asn1/test/testSetTypeRefCho.erl b/lib/asn1/test/testSetTypeRefCho.erl
index c2dbf076bd..1f68a8fbc4 100644
--- a/lib/asn1/test/testSetTypeRefCho.erl
+++ b/lib/asn1/test/testSetTypeRefCho.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-include("External.hrl").
-record('SetTRcho',{setCho, setChoE, 'setCho-E', 'setChoE-E'}).
diff --git a/lib/asn1/test/testSetTypeRefPrim.erl b/lib/asn1/test/testSetTypeRefPrim.erl
index 1f95947168..e6cec260e5 100644
--- a/lib/asn1/test/testSetTypeRefPrim.erl
+++ b/lib/asn1/test/testSetTypeRefPrim.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SetTR',{octStr, octStrI, octStrE, 'octStr-I', 'octStrI-I', 'octStrE-I', 'octStr-E', 'octStrI-E', 'octStrE-E'}).
diff --git a/lib/asn1/test/testSetTypeRefSeq.erl b/lib/asn1/test/testSetTypeRefSeq.erl
index 2f6dfec9c6..0c1c9400bf 100644
--- a/lib/asn1/test/testSetTypeRefSeq.erl
+++ b/lib/asn1/test/testSetTypeRefSeq.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('SetTRseq',{setSeq, setSeqI, setSeqE, 'setSeq-I', 'setSeqI-I', 'setSeqE-I', 'setSeq-E', 'setSeqI-E', 'setSeqE-E'}).
-record('SetSeq',{seqInt, seqOs}).
diff --git a/lib/asn1/test/testSetTypeRefSet.erl b/lib/asn1/test/testSetTypeRefSet.erl
index 132e5fb3f5..6544e77458 100644
--- a/lib/asn1/test/testSetTypeRefSet.erl
+++ b/lib/asn1/test/testSetTypeRefSet.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('Set1',{bool1, int1, set1}).
-record('Set2',{set2, bool2, int2}).
diff --git a/lib/asn1/test/testTCAP.erl b/lib/asn1/test/testTCAP.erl
index 3e2c2de371..5e29938a16 100644
--- a/lib/asn1/test/testTCAP.erl
+++ b/lib/asn1/test/testTCAP.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([compile/3,test/2,compile_asn1config/3,test_asn1config/0]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
diff --git a/lib/asn1/test/testTcapsystem.erl b/lib/asn1/test/testTcapsystem.erl
index c48b1b835d..2f13c11cd4 100644
--- a/lib/asn1/test/testTcapsystem.erl
+++ b/lib/asn1/test/testTcapsystem.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([compile/3]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
diff --git a/lib/asn1/test/testTimer.erl b/lib/asn1/test/testTimer.erl
index 0fade7ebca..74002e16e9 100644
--- a/lib/asn1/test/testTimer.erl
+++ b/lib/asn1/test/testTimer.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-compile(export_all).
%%-export([Function/Arity, ...]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-define(times, 5000).
@@ -146,7 +146,7 @@ go(Config,Enc) ->
Bytes = case Enc of
ber_bin ->
list_to_binary(B);
- per_bin when list(B) ->
+ per_bin when is_list(B) ->
list_to_binary(B);
per_bin ->
B;
@@ -179,7 +179,7 @@ encode(0, _Module,_Type,_Value) ->
encode(N, Module,Type,Value) ->
?line {ok,B} = asn1rt:encode(Module,Type,Value),
_B2 = if
- list(B) -> list_to_binary(B);
+ is_list(B) -> list_to_binary(B);
true -> B
end,
encode(N-1, Module,Type,Value).
diff --git a/lib/asn1/test/testTypeValueNotation.erl b/lib/asn1/test/testTypeValueNotation.erl
index 0fc3dc3197..f0699370e0 100644
--- a/lib/asn1/test/testTypeValueNotation.erl
+++ b/lib/asn1/test/testTypeValueNotation.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([main/2]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-record('Seq',{octstr, int, bool, enum, bitstr, null, oid, vstr}).
diff --git a/lib/asn1/test/testX420.erl b/lib/asn1/test/testX420.erl
index 0fa3e6fb13..1d18e76c48 100644
--- a/lib/asn1/test/testX420.erl
+++ b/lib/asn1/test/testX420.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([compile/3, ticket7759/2]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Erule,Options,Config) ->
@@ -50,7 +50,7 @@ compile_loop(Erule,[Spec|Specs],Options,Config)
Error ->
Error
end;
-compile_loop(Erule,_Specs,_Options,_Config) ->
+compile_loop(_Erule,_Specs,_Options,_Config) ->
ok.%%{skip,io_lib:format("Not tested for ~p",[Erule])}.
diff --git a/lib/asn1/test/test_bad_values.erl b/lib/asn1/test/test_bad_values.erl
index 0190b6ee9a..d379a509ab 100644
--- a/lib/asn1/test/test_bad_values.erl
+++ b/lib/asn1/test/test_bad_values.erl
@@ -1,26 +1,26 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
-module(test_bad_values).
-export([tests/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
tests(Config) ->
?line DataDir = ?config(data_dir,Config),
diff --git a/lib/asn1/test/test_compile_options.erl b/lib/asn1/test/test_compile_options.erl
index a6e0caa0f1..83f38c5e6d 100644
--- a/lib/asn1/test/test_compile_options.erl
+++ b/lib/asn1/test/test_compile_options.erl
@@ -1,30 +1,30 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
-module(test_compile_options).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-export([wrong_path/1,comp/2,path/1,ticket_6143/1,noobj/1,
- record_name_prefix/1]).
+ record_name_prefix/1,verbose/1]).
%% OTP-5689
wrong_path(Config) ->
@@ -122,6 +122,25 @@ noobj(Config) ->
file:delete(filename:join([OutDir,'p_record.erl'])),
file:delete(filename:join([OutDir,'p_record.beam'])).
+verbose(Config) when is_list(Config) ->
+ DataDir = ?config(data_dir,Config),
+ OutDir = ?config(priv_dir,Config),
+ Asn1File = filename:join([DataDir,"Comment.asn"]),
+
+ %% Test verbose compile
+ ?line test_server:capture_start(),
+ ?line ok = asn1ct:compile(Asn1File, [{i,DataDir},{outdir,OutDir},noobj,verbose]),
+ ?line test_server:capture_stop(),
+ ?line [Line0|_] = test_server:capture_get(),
+ ?line lists:prefix("Erlang ASN.1 version", Line0),
+
+ %% Test non-verbose compile
+ ?line test_server:capture_start(),
+ ?line ok = asn1ct:compile(Asn1File, [{i,DataDir},{outdir,OutDir},noobj]),
+ ?line test_server:capture_stop(),
+ ?line [] = test_server:capture_get(),
+ ok.
+
outfiles_check(OutDir) ->
outfiles_check(OutDir,outfiles1()).
diff --git a/lib/asn1/test/test_driver_load.erl b/lib/asn1/test/test_driver_load.erl
index 37a7e36a45..965f2473e9 100644
--- a/lib/asn1/test/test_driver_load.erl
+++ b/lib/asn1/test/test_driver_load.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([compile/2,test/2,encode/0]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
test(per_bin,0) ->
diff --git a/lib/asn1/test/test_inline.erl b/lib/asn1/test/test_inline.erl
index aac003baf6..dfa3c134ae 100644
--- a/lib/asn1/test/test_inline.erl
+++ b/lib/asn1/test/test_inline.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -23,7 +23,7 @@
-export([mvrasn_inlined_encdec/2,mvrasn_encdec/2,
mi_encdec/2,m_encdec/2]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
-define(times, 5000).
-define(times2, 50000).
diff --git a/lib/asn1/test/test_modified_x420.erl b/lib/asn1/test/test_modified_x420.erl
index 93fcd73eaf..4e96db070b 100644
--- a/lib/asn1/test/test_modified_x420.erl
+++ b/lib/asn1/test/test_modified_x420.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
%-compile(export_all).
-export([compile/1, test_io/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config) ->
?line DataDir = ?config(data_dir,Config),
diff --git a/lib/asn1/test/test_partial_incomplete_decode.erl b/lib/asn1/test/test_partial_incomplete_decode.erl
index 9fd078e952..a2e0a96bd8 100644
--- a/lib/asn1/test/test_partial_incomplete_decode.erl
+++ b/lib/asn1/test/test_partial_incomplete_decode.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([compile/3,test/2]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
diff --git a/lib/asn1/test/test_selective_decode.erl b/lib/asn1/test/test_selective_decode.erl
index 94d3d5f34a..e1e101b622 100644
--- a/lib/asn1/test/test_selective_decode.erl
+++ b/lib/asn1/test/test_selective_decode.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([test/2]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
test(ber_bin_v2,_Config) ->
diff --git a/lib/asn1/test/test_special_decode_performance.erl b/lib/asn1/test/test_special_decode_performance.erl
index c451d65172..60a95a3675 100644
--- a/lib/asn1/test/test_special_decode_performance.erl
+++ b/lib/asn1/test/test_special_decode_performance.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([compile/2,go/1,loop2/4,loop1/5]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rule) when Rule==ber_bin_v2 ->
diff --git a/lib/asn1/test/test_undecoded_rest.erl b/lib/asn1/test/test_undecoded_rest.erl
index c7762d28f7..647fe2bb1c 100644
--- a/lib/asn1/test/test_undecoded_rest.erl
+++ b/lib/asn1/test/test_undecoded_rest.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -21,7 +21,7 @@
-export([compile/3,test/1]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
%% testing OTP-5104
@@ -39,10 +39,10 @@ test(Opt) ->
?line {ok,Msg} = asn1ct:value('P-Record','PersonnelRecord'),
?line {ok,Bytes} = asn1_wrapper:encode('P-Record','PersonnelRecord',Msg),
Bytes2 =
- fun(B) when list(B) ->
+ fun(B) when is_list(B) ->
B ++ [55,55,55];
- (B) when binary(B) ->
- concat_binary([B,<<55,55,55>>])
+ (B) when is_binary(B) ->
+ iolist_to_binary([B,<<55,55,55>>])
end (Bytes),
case Opt of
diff --git a/lib/asn1/test/test_x691.erl b/lib/asn1/test/test_x691.erl
index 5bf3a4a077..bc8a3495d8 100644
--- a/lib/asn1/test/test_x691.erl
+++ b/lib/asn1/test/test_x691.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -22,7 +22,7 @@
-export([compile/3]).
-export([cases/2]).
--include("test_server.hrl").
+-include_lib("test_server/include/test_server.hrl").
compile(Config,Rules,Option) ->
diff --git a/lib/common_test/src/ct_ssh.erl b/lib/common_test/src/ct_ssh.erl
index f2b25b1fcd..aebb28bc42 100644
--- a/lib/common_test/src/ct_ssh.erl
+++ b/lib/common_test/src/ct_ssh.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -961,24 +961,25 @@ init(KeyOrName, {ConnType,Addr,Port}, AllOpts) ->
ssh ->
ssh:connect(Addr, Port, FinalOptions);
sftp ->
- ssh_sftp:connect(Addr, Port, FinalOptions)
+ ssh_sftp:start_channel(Addr, Port, FinalOptions)
end,
case Result of
- {ok,SSHRef} ->
+ Error = {error,_} ->
+ Error;
+ Ok ->
+ SSHRef = element(2, Ok),
log(heading(init,KeyOrName),
"Opened ~w connection:\nHost: ~p (~p)\nUser: ~p\nPassword: ~p\n",
[ConnType,Addr,Port,User,lists:duplicate(length(Password),$*)]),
{ok,SSHRef,#state{ssh_ref=SSHRef, conn_type=ConnType,
- target=KeyOrName}};
- Error ->
- Error
+ target=KeyOrName}}
end.
%% @hidden
handle_msg(sftp_connect, State) ->
#state{ssh_ref=SSHRef, target=Target} = State,
log(heading(sftp_connect,Target), "SSH Ref: ~p", [SSHRef]),
- {ssh_sftp:connect(SSHRef),State};
+ {ssh_sftp:start_channel(SSHRef),State};
handle_msg({session_open,TO}, State) ->
#state{ssh_ref=SSHRef, target=Target} = State,
@@ -1202,7 +1203,7 @@ terminate(SSHRef, State) ->
sftp ->
log(heading(disconnect_sftp,State#state.target),
"SFTP Ref: ~p",[SSHRef]),
- ssh_sftp:stop(SSHRef)
+ ssh_sftp:stop_channel(SSHRef)
end.
@@ -1213,7 +1214,6 @@ terminate(SSHRef, State) ->
%%%
do_recv_response(SSH, Chn, Data, End, Timeout) ->
receive
-
{ssh_cm, SSH, {open,Chn,RemoteChn,{session}}} ->
debug("RECVD open"),
{ok,{open,Chn,RemoteChn,{session}}};
diff --git a/lib/common_test/vsn.mk b/lib/common_test/vsn.mk
index ee07350c55..cdb8e1f71c 100644
--- a/lib/common_test/vsn.mk
+++ b/lib/common_test/vsn.mk
@@ -1,3 +1,3 @@
-COMMON_TEST_VSN = 1.4.7
+COMMON_TEST_VSN = 1.4.8
diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile
index 70ddd54145..0f6d2f6193 100644
--- a/lib/compiler/src/Makefile
+++ b/lib/compiler/src/Makefile
@@ -58,6 +58,7 @@ MODULES = \
beam_listing \
beam_opcodes \
beam_peep \
+ beam_receive \
beam_trim \
beam_type \
beam_utils \
diff --git a/lib/compiler/src/beam_asm.erl b/lib/compiler/src/beam_asm.erl
index 497c4fa07b..89d64834cf 100644
--- a/lib/compiler/src/beam_asm.erl
+++ b/lib/compiler/src/beam_asm.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Assembler for threaded Beam.
@@ -23,7 +23,7 @@
-export([module/4]).
-export([encode/2]).
--import(lists, [map/2,member/2,keymember/3,duplicate/2,filter/2]).
+-import(lists, [map/2,member/2,keymember/3,duplicate/2]).
-include("beam_opcodes.hrl").
module(Code, Abst, SourceFile, Opts) ->
@@ -191,11 +191,7 @@ flatten_exports(Exps) ->
flatten_imports(Imps) ->
list_to_binary(map(fun({M,F,A}) -> <<M:32,F:32,A:32>> end, Imps)).
-build_attributes(Opts, SourceFile, Attr0, Essentials) ->
- Attr = filter(fun({type,_}) -> false;
- ({spec,_}) -> false;
- (_) -> true
- end, Attr0),
+build_attributes(Opts, SourceFile, Attr, Essentials) ->
Misc = case member(slim, Opts) of
false ->
{{Y,Mo,D},{H,Mi,S}} = erlang:universaltime(),
@@ -265,7 +261,8 @@ make_op({gc_bif,Bif,Fail,Live,Args,Dest}, Dict) ->
Arity = length(Args),
BifOp = case Arity of
1 -> gc_bif1;
- 2 -> gc_bif2
+ 2 -> gc_bif2;
+ 3 -> gc_bif3
end,
encode_op(BifOp, [Fail,Live,{extfunc,erlang,Bif,Arity}|Args++[Dest]],Dict);
make_op({bs_add=Op,Fail,[Src1,Src2,Unit],Dest}, Dict) ->
diff --git a/lib/compiler/src/beam_block.erl b/lib/compiler/src/beam_block.erl
index d4a4ddca8a..32703b4dd1 100644
--- a/lib/compiler/src/beam_block.erl
+++ b/lib/compiler/src/beam_block.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Partitions assembly instructions into basic blocks and
@@ -140,7 +140,6 @@ collect({move,S,D}) -> {set,[D],[S],move};
collect({put_list,S1,S2,D}) -> {set,[D],[S1,S2],put_list};
collect({put_tuple,A,D}) -> {set,[D],[],{put_tuple,A}};
collect({put,S}) -> {set,[],[S],put};
-collect({put_string,L,S,D}) -> {set,[D],[],{put_string,L,S}};
collect({get_tuple_element,S,I,D}) -> {set,[D],[S],{get_tuple_element,I}};
collect({set_tuple_element,S,D,I}) -> {set,[],[S,D],{set_tuple_element,I}};
collect({get_list,S,D1,D2}) -> {set,[D1,D2],[S],get_list};
@@ -204,7 +203,6 @@ alloc_may_pass({set,_,_,{set_tuple_element,_}}) -> false;
alloc_may_pass({set,_,_,put_list}) -> false;
alloc_may_pass({set,_,_,{put_tuple,_}}) -> false;
alloc_may_pass({set,_,_,put}) -> false;
-alloc_may_pass({set,_,_,{put_string,_,_}}) -> false;
alloc_may_pass({set,_,_,_}) -> true.
combine_alloc({_,Ns,Nh1,Init}, {_,nostack,Nh2,[]}) ->
diff --git a/lib/compiler/src/beam_disasm.erl b/lib/compiler/src/beam_disasm.erl
index c956f2f000..920ce07396 100644
--- a/lib/compiler/src/beam_disasm.erl
+++ b/lib/compiler/src/beam_disasm.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%=======================================================================
%% Notes:
@@ -1004,6 +1004,13 @@ resolve_inst({gc_bif2,Args},Imports,_,_) ->
[F,Live,Bif,A1,A2,Reg] = resolve_args(Args),
{extfunc,_Mod,BifName,_Arity} = lookup(Bif+1,Imports),
{gc_bif,BifName,F,Live,[A1,A2],Reg};
+%%
+%% New instruction in R14, gc_bif with 3 arguments
+%%
+resolve_inst({gc_bif3,Args},Imports,_,_) ->
+ [F,Live,Bif,A1,A2,A3,Reg] = resolve_args(Args),
+ {extfunc,_Mod,BifName,_Arity} = lookup(Bif+1,Imports),
+ {gc_bif,BifName,F,Live,[A1,A2,A3],Reg};
%%
%% New instructions for creating non-byte aligned binaries.
@@ -1096,6 +1103,14 @@ resolve_inst({on_load,[]},_,_,_) ->
on_load;
%%
+%% R14A.
+%%
+resolve_inst({recv_mark,[Lbl]},_,_,_) ->
+ {recv_mark,Lbl};
+resolve_inst({recv_set,[Lbl]},_,_,_) ->
+ {recv_set,Lbl};
+
+%%
%% Catches instructions that are not yet handled.
%%
resolve_inst(X,_,_,_) -> ?exit({resolve_inst,X}).
diff --git a/lib/compiler/src/beam_flatten.erl b/lib/compiler/src/beam_flatten.erl
index d9de7e2495..6c7cb849aa 100644
--- a/lib/compiler/src/beam_flatten.erl
+++ b/lib/compiler/src/beam_flatten.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Converts intermediate assembly code to final format.
@@ -57,7 +57,6 @@ norm({set,[D],[S],fconv}) -> {fconv,S,D};
norm({set,[D],[S1,S2],put_list}) -> {put_list,S1,S2,D};
norm({set,[D],[],{put_tuple,A}}) -> {put_tuple,A,D};
norm({set,[],[S],put}) -> {put,S};
-norm({set,[D],[],{put_string,L,S}}) -> {put_string,L,S,D};
norm({set,[D],[S],{get_tuple_element,I}}) -> {get_tuple_element,S,I,D};
norm({set,[],[S,D],{set_tuple_element,I}}) -> {set_tuple_element,S,D,I};
norm({set,[D1,D2],[S],get_list}) -> {get_list,S,D1,D2};
diff --git a/lib/compiler/src/beam_jump.erl b/lib/compiler/src/beam_jump.erl
index 739928f411..3cab55c4cb 100644
--- a/lib/compiler/src/beam_jump.erl
+++ b/lib/compiler/src/beam_jump.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%% Purpose : Optimise jumps and remove unreachable code.
@@ -452,7 +452,6 @@ is_label_used_in_2({set,_,_,Info}, Lbl) ->
{'catch',{f,F}} -> F =:= Lbl;
{alloc,_,_} -> false;
{put_tuple,_} -> false;
- {put_string,_,_} -> false;
{get_tuple_element,_} -> false;
{set_tuple_element,_} -> false;
_ when is_atom(Info) -> false
diff --git a/lib/compiler/src/beam_receive.erl b/lib/compiler/src/beam_receive.erl
new file mode 100644
index 0000000000..9ed44ad5d7
--- /dev/null
+++ b/lib/compiler/src/beam_receive.erl
@@ -0,0 +1,388 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+-module(beam_receive).
+-export([module/2]).
+-import(lists, [foldl/3,reverse/1,reverse/2]).
+
+%%%
+%%% In code such as:
+%%%
+%%% Ref = make_ref(), %Or erlang:monitor(process, Pid)
+%%% .
+%%% .
+%%% .
+%%% receive
+%%% {Ref,Reply} -> Reply
+%%% end.
+%%%
+%%% we know that none of the messages that exist in the message queue
+%%% before the call to make_ref/0 can be matched out in the receive
+%%% statement. Therefore we can avoid going through the entire message
+%%% queue if we introduce two new instructions (here written as
+%%% BIFs in pseudo-Erlang):
+%%%
+%%% recv_mark(SomeUniqInteger),
+%%% Ref = make_ref(),
+%%% .
+%%% .
+%%% .
+%%% recv_set(SomeUniqInteger),
+%%% receive
+%%% {Ref,Reply} -> Reply
+%%% end.
+%%%
+%%% The recv_mark/1 instruction will save the current position and
+%%% SomeUniqInteger in the process context. The recv_set
+%%% instruction will verify that SomeUniqInteger is still stored
+%%% in the process context. If it is, it will set the current pointer
+%%% for the message queue (the next message to be read out) to the
+%%% position that was saved by recv_mark/1.
+%%%
+%%% The remove_message instruction must be modified to invalidate
+%%% the information stored by the previous recv_mark/1, in case there
+%%% is another receive executed between the calls to recv_mark/1 and
+%%% recv_set/1.
+%%%
+%%% We use a reference to a label (i.e. a position in the loaded code)
+%%% as the SomeUniqInteger.
+%%%
+
+module({Mod,Exp,Attr,Fs0,Lc}, _Opts) ->
+ Fs = [function(F) || F <- Fs0],
+ Code = {Mod,Exp,Attr,Fs,Lc},
+ {ok,Code}.
+
+%%%
+%%% Local functions.
+%%%
+
+function({function,Name,Arity,Entry,Is}) ->
+ try
+ D = beam_utils:index_labels(Is),
+ {function,Name,Arity,Entry,opt(Is, D, [])}
+ catch
+ Class:Error ->
+ Stack = erlang:get_stacktrace(),
+ io:fwrite("Function: ~w/~w\n", [Name,Arity]),
+ erlang:raise(Class, Error, Stack)
+ end.
+
+opt([{call_ext,Arity,{extfunc,erlang,Name,Arity}}=I|Is0], D, Acc) ->
+ case creates_new_ref(Name, Arity) of
+ true ->
+ %% The call creates a brand new reference. Now
+ %% search for a receive statement in the same
+ %% function that will match against the reference.
+ case opt_recv(Is0, D) of
+ no ->
+ opt(Is0, D, [I|Acc]);
+ {yes,Is,Lbl} ->
+ opt(Is, D, [I,{recv_mark,{f,Lbl}}|Acc])
+ end;
+ false ->
+ opt(Is0, D, [I|Acc])
+ end;
+opt([I|Is], D, Acc) ->
+ opt(Is, D, [I|Acc]);
+opt([], _, Acc) ->
+ reverse(Acc).
+
+%% creates_new_ref(Name, Arity) -> true|false.
+%% Return 'true' if the BIF Name/Arity will create a new reference.
+creates_new_ref(monitor, 2) -> true;
+creates_new_ref(make_ref, 0) -> true;
+creates_new_ref(_, _) -> false.
+
+%% opt_recv([Instruction], LabelIndex) -> no|{yes,[Instruction]}
+%% Search for a receive statement that will only retrieve messages
+%% that contain the newly created reference (which is currently in {x,0}).
+opt_recv(Is, D) ->
+ R = regs_init_x0(),
+ L = gb_sets:empty(),
+ opt_recv(Is, D, R, L, []).
+
+opt_recv([{label,L}=Lbl,{loop_rec,{f,Fail},_}=Loop|Is], D, R0, _, Acc) ->
+ R = regs_kill_not_live(0, R0),
+ case regs_to_list(R) of
+ [{y,_}=RefReg] ->
+ %% We now have the new reference in the Y register RefReg
+ %% and the current instruction is the beginning of a
+ %% receive statement. We must now verify that only messages
+ %% that contain the reference will be matched.
+ case opt_ref_used(Is, RefReg, Fail, D) of
+ false ->
+ no;
+ true ->
+ RecvSet = {recv_set,{f,L}},
+ {yes,reverse(Acc, [RecvSet,Lbl,Loop|Is]),L}
+ end;
+ [] ->
+ no
+ end;
+opt_recv([I|Is], D, R0, L0, Acc) ->
+ {R,L} = opt_update_regs(I, R0, L0),
+ case regs_empty(R) of
+ true ->
+ %% The reference is no longer alive. There is no
+ %% point in continuing the search.
+ no;
+ false ->
+ opt_recv(Is, D, R, L, [I|Acc])
+ end.
+
+opt_update_regs({block,Bl}, R, L) ->
+ {opt_update_regs_bl(Bl, R),L};
+opt_update_regs({call,_,_}, R, L) ->
+ {regs_kill_not_live(0, R),L};
+opt_update_regs({call_ext,_,_}, R, L) ->
+ {regs_kill_not_live(0, R),L};
+opt_update_regs({call_fun,_}, R, L) ->
+ {regs_kill_not_live(0, R),L};
+opt_update_regs({kill,Y}, R, L) ->
+ {regs_kill([Y], R),L};
+opt_update_regs(send, R, L) ->
+ {regs_kill_not_live(0, R),L};
+opt_update_regs({'catch',_,{f,Lbl}}, R, L) ->
+ {R,gb_sets:add(Lbl, L)};
+opt_update_regs({catch_end,_}, R, L) ->
+ {R,L};
+opt_update_regs({label,Lbl}, R, L) ->
+ case gb_sets:is_member(Lbl, L) of
+ false ->
+ %% We can't allow arbitrary labels (since the receive
+ %% could be entered without first creating the reference).
+ {regs_init(),L};
+ true ->
+ %% A catch label for a previously seen catch instruction is OK.
+ {R,L}
+ end;
+opt_update_regs({try_end,_}, R, L) ->
+ {R,L};
+opt_update_regs(_I, _R, L) ->
+ %% Unrecognized instruction. Abort the search.
+ {regs_init(),L}.
+
+opt_update_regs_bl([{set,Ds,_,{alloc,Live,_}}|Is], Regs0) ->
+ Regs1 = regs_kill_not_live(Live, Regs0),
+ Regs = regs_kill(Ds, Regs1),
+ opt_update_regs_bl(Is, Regs);
+opt_update_regs_bl([{set,[Dst]=Ds,[Src],move}|Is], Regs0) ->
+ Regs1 = regs_kill(Ds, Regs0),
+ Regs = case regs_is_member(Src, Regs1) of
+ false -> Regs1;
+ true -> regs_add(Dst, Regs1)
+ end,
+ opt_update_regs_bl(Is, Regs);
+opt_update_regs_bl([{set,Ds,_,_}|Is], Regs0) ->
+ Regs = regs_kill(Ds, Regs0),
+ opt_update_regs_bl(Is, Regs);
+opt_update_regs_bl([], Regs) -> Regs.
+
+%% opt_ref_used([Instruction], RefRegister, FailLabel, LabelIndex) -> true|false
+%% Return 'true' if it is certain that only messages that contain the same
+%% reference as in RefRegister can be matched out. Otherwise return 'false'.
+%%
+%% Basically, we follow all possible paths through the receive statement.
+%% If all paths are safe, we return 'true'.
+%%
+%% A branch to FailLabel is safe, because it exits the receive statement
+%% and no further message may be matched out.
+%%
+%% If a path hits an comparision between RefRegister and part of the message,
+%% that path is safe (any messages that may be matched further down the
+%% path is guaranteed to contain the reference).
+%%
+%% Otherwise, if we hit a 'remove_message' instruction, we give up
+%% and return 'false' (the optimization is definitely unsafe). If
+%% we hit an unrecognized instruction, we also give up and return
+%% 'false' (the optimization may be unsafe).
+
+opt_ref_used(Is, RefReg, Fail, D) ->
+ Done = gb_sets:singleton(Fail),
+ Regs = regs_init_x0(),
+ try
+ opt_ref_used_1(Is, RefReg, D, Done, Regs),
+ true
+ catch
+ throw:not_used ->
+ false
+ end.
+
+%% This functions only returns if all paths through the receive
+%% statement are safe, and throws an 'not_used' term otherwise.
+opt_ref_used_1([{block,Bl}|Is], RefReg, D, Done, Regs0) ->
+ Regs = opt_ref_used_bl(Bl, Regs0),
+ opt_ref_used_1(Is, RefReg, D, Done, Regs);
+opt_ref_used_1([{test,is_eq_exact,{f,Fail},Args}|Is], RefReg, D, Done0, Regs) ->
+ Done = opt_ref_used_at(Fail, RefReg, D, Done0, Regs),
+ case is_ref_msg_comparison(Args, RefReg, Regs) of
+ false ->
+ opt_ref_used_1(Is, RefReg, D, Done, Regs);
+ true ->
+ %% The instructions that follow (Is) can only be executed
+ %% if the message contains the same reference as in RefReg.
+ Done
+ end;
+opt_ref_used_1([{test,is_ne_exact,{f,Fail},Args}|Is], RefReg, D, Done0, Regs) ->
+ Done = opt_ref_used_1(Is, RefReg, D, Done0, Regs),
+ case is_ref_msg_comparison(Args, RefReg, Regs) of
+ false ->
+ opt_ref_used_at(Fail, RefReg, D, Done, Regs);
+ true ->
+ Done
+ end;
+opt_ref_used_1([{test,_,{f,Fail},_}|Is], RefReg, D, Done0, Regs) ->
+ Done = opt_ref_used_at(Fail, RefReg, D, Done0, Regs),
+ opt_ref_used_1(Is, RefReg, D, Done, Regs);
+opt_ref_used_1([{select_tuple_arity,_,{f,Fail},{list,List}}|_], RefReg, D, Done, Regs) ->
+ Lbls = [F || {f,F} <- List] ++ [Fail],
+ opt_ref_used_in_all(Lbls, RefReg, D, Done, Regs);
+opt_ref_used_1([{select_val,_,{f,Fail},{list,List}}|_], RefReg, D, Done, Regs) ->
+ Lbls = [F || {f,F} <- List] ++ [Fail],
+ opt_ref_used_in_all(Lbls, RefReg, D, Done, Regs);
+opt_ref_used_1([{label,Lbl}|Is], RefReg, D, Done, Regs) ->
+ case gb_sets:is_member(Lbl, Done) of
+ true -> Done;
+ false -> opt_ref_used_1(Is, RefReg, D, Done, Regs)
+ end;
+opt_ref_used_1([{loop_rec_end,_}|_], _, _, Done, _) ->
+ Done;
+opt_ref_used_1([_I|_], _RefReg, _D, _Done, _Regs) ->
+ %% The optimization may be unsafe.
+ throw(not_used).
+
+%% is_ref_msg_comparison(Args, RefReg, RegisterSet) -> true|false.
+%% Return 'true' if Args denotes a comparison between the
+%% reference and message or part of the message.
+is_ref_msg_comparison([R,RefReg], RefReg, Regs) ->
+ regs_is_member(R, Regs);
+is_ref_msg_comparison([RefReg,R], RefReg, Regs) ->
+ regs_is_member(R, Regs);
+is_ref_msg_comparison([_,_], _, _) -> false.
+
+opt_ref_used_in_all([L|Ls], RefReg, D, Done0, Regs) ->
+ Done = opt_ref_used_at(L, RefReg, D, Done0, Regs),
+ opt_ref_used_in_all(Ls, RefReg, D, Done, Regs);
+opt_ref_used_in_all([], _, _, Done, _) -> Done.
+
+opt_ref_used_at(Fail, RefReg, D, Done0, Regs) ->
+ case gb_sets:is_member(Fail, Done0) of
+ true ->
+ Done0;
+ false ->
+ Is = beam_utils:code_at(Fail, D),
+ Done = opt_ref_used_1(Is, RefReg, D, Done0, Regs),
+ gb_sets:add(Fail, Done)
+ end.
+
+opt_ref_used_bl([{set,[],[],remove_message}|_], _) ->
+ %% We have proved that a message that does not depend on the
+ %% reference can be matched out.
+ throw(not_used);
+opt_ref_used_bl([{set,Ds,Ss,_}|Is], Regs0) ->
+ case regs_all_members(Ss, Regs0) of
+ false ->
+ %% The destination registers may be assigned values that
+ %% are not dependent on the message being matched.
+ Regs = regs_kill(Ds, Regs0),
+ opt_ref_used_bl(Is, Regs);
+ true ->
+ %% All the sources depend on the message directly or
+ %% indirectly.
+ Regs = regs_add_list(Ds, Regs0),
+ opt_ref_used_bl(Is, Regs)
+ end;
+opt_ref_used_bl([], Regs) -> Regs.
+
+%%%
+%%% Functions for keeping track of a set of registers.
+%%%
+
+%% regs_init() -> RegisterSet
+%% Return an empty set of registers.
+
+regs_init() ->
+ {0,0}.
+
+%% regs_init_x0() -> RegisterSet
+%% Return a set that only contains the {x,0} register.
+
+regs_init_x0() ->
+ {1 bsl 0,0}.
+
+%% regs_empty(Register) -> true|false
+%% Test whether the register set is empty.
+
+regs_empty(R) ->
+ R =:= {0,0}.
+
+%% regs_kill_not_live(Live, RegisterSet) -> RegisterSet'
+%% Kill all registers indicated not live by Live.
+
+regs_kill_not_live(Live, {Xregs,Yregs}) ->
+ {Xregs band ((1 bsl Live)-1),Yregs}.
+
+%% regs_kill([Register], RegisterSet) -> RegisterSet'
+%% Kill all registers mentioned in the list of registers.
+
+regs_kill([{x,N}|Rs], {Xregs,Yregs}) ->
+ regs_kill(Rs, {Xregs band (bnot (1 bsl N)),Yregs});
+regs_kill([{y,N}|Rs], {Xregs,Yregs}) ->
+ regs_kill(Rs, {Xregs,Yregs band (bnot (1 bsl N))});
+regs_kill([{fr,_}|Rs], Regs) ->
+ regs_kill(Rs, Regs);
+regs_kill([], Regs) -> Regs.
+
+regs_add_list(List, Regs) ->
+ foldl(fun(R, A) -> regs_add(R, A) end, Regs, List).
+
+%% regs_add(Register, RegisterSet) -> RegisterSet'
+%% Add a new register to the set of registers.
+
+regs_add({x,N}, {Xregs,Yregs}) ->
+ {Xregs bor (1 bsl N),Yregs};
+regs_add({y,N}, {Xregs,Yregs}) ->
+ {Xregs,Yregs bor (1 bsl N)}.
+
+%% regs_all_members([Register], RegisterSet) -> true|false
+%% Test whether all of the registers are part of the register set.
+
+regs_all_members([R|Rs], Regs) ->
+ regs_is_member(R, Regs) andalso regs_all_members(Rs, Regs);
+regs_all_members([], _) -> true.
+
+%% regs_is_member(Register, RegisterSet) -> true|false
+%% Test whether Register is part of the register set.
+
+regs_is_member({x,N}, {Regs,_}) -> Regs band (1 bsl N) =/= 0;
+regs_is_member({y,N}, {_,Regs}) -> Regs band (1 bsl N) =/= 0;
+regs_is_member(_, _) -> false.
+
+%% regs_to_list(RegisterSet) -> [Register]
+%% Convert the register set to an explicit list of registers.
+regs_to_list({Xregs,Yregs}) ->
+ regs_to_list_1(Xregs, 0, x, regs_to_list_1(Yregs, 0, y, [])).
+
+regs_to_list_1(0, _, _, Acc) ->
+ Acc;
+regs_to_list_1(Regs, N, Tag, Acc) when (Regs band 1) =:= 1 ->
+ regs_to_list_1(Regs bsr 1, N+1, Tag, [{Tag,N}|Acc]);
+regs_to_list_1(Regs, N, Tag, Acc) ->
+ regs_to_list_1(Regs bsr 1, N+1, Tag, Acc).
diff --git a/lib/compiler/src/beam_type.erl b/lib/compiler/src/beam_type.erl
index ba903a12b6..3729ccb0da 100644
--- a/lib/compiler/src/beam_type.erl
+++ b/lib/compiler/src/beam_type.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Type-based optimisations.
@@ -183,7 +183,7 @@ simplify_float_1([], Ts, Rs, Acc0) ->
{Is,Ts}.
opt_fmoves([{set,[{x,_}=R],[{fr,_}]=Src,fmove}=I1,
- {set,[{y,_}]=Dst,[{x,_}=R],move}=I2|Is], Acc) ->
+ {set,[_]=Dst,[{x,_}=R],move}=I2|Is], Acc) ->
case beam_utils:is_killed_block(R, Is) of
false -> opt_fmoves(Is, [I2,I1|Acc]);
true -> opt_fmoves(Is, [{set,Dst,Src,fmove}|Acc])
@@ -253,8 +253,6 @@ flt_need_heap_2({set,_,_,{put_tuple,_}}, H, Fl) ->
{[],H+1,Fl};
flt_need_heap_2({set,_,_,put}, H, Fl) ->
{[],H+1,Fl};
-flt_need_heap_2({set,_,_,{put_string,L,_Str}}, H, Fl) ->
- {[],H+2*L,Fl};
%% Then the "neutral" instructions. We just pass them.
flt_need_heap_2({set,[{fr,_}],_,_}, H, Fl) ->
{[],H,Fl};
diff --git a/lib/compiler/src/beam_validator.erl b/lib/compiler/src/beam_validator.erl
index 1fd61831e0..34065cfdce 100644
--- a/lib/compiler/src/beam_validator.erl
+++ b/lib/compiler/src/beam_validator.erl
@@ -416,6 +416,11 @@ valfun_1({put,Src}, Vst) ->
valfun_1({put_string,Sz,_,Dst}, Vst0) when is_integer(Sz) ->
Vst = eat_heap(2*Sz, Vst0),
set_type_reg(cons, Dst, Vst);
+%% Instructions for optimization of selective receives.
+valfun_1({recv_mark,{f,Fail}}, Vst) when is_integer(Fail) ->
+ Vst;
+valfun_1({recv_set,{f,Fail}}, Vst) when is_integer(Fail) ->
+ Vst;
%% Misc.
valfun_1({'%live',Live}, Vst) ->
verify_live(Live, Vst),
diff --git a/lib/compiler/src/cerl_clauses.erl b/lib/compiler/src/cerl_clauses.erl
index 5f111a5e05..99fa8dd9d5 100644
--- a/lib/compiler/src/cerl_clauses.erl
+++ b/lib/compiler/src/cerl_clauses.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%% @doc Utility functions for Core Erlang case/receive clauses.
@@ -338,10 +338,19 @@ match(P, E, Bs) ->
if E =:= any ->
{false, Bs};
true ->
- case is_data(E) of
- true ->
+ case type(E) of
+ literal ->
+ case is_bitstring(concrete(E)) of
+ false ->
+ none;
+ true ->
+ {false, Bs}
+ end;
+ cons ->
+ none;
+ tuple ->
none;
- false ->
+ _ ->
{false, Bs}
end
end;
diff --git a/lib/compiler/src/cerl_inline.erl b/lib/compiler/src/cerl_inline.erl
index 191efa3032..6d7eca0113 100644
--- a/lib/compiler/src/cerl_inline.erl
+++ b/lib/compiler/src/cerl_inline.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Core Erlang inliner.
@@ -1429,17 +1429,26 @@ inline(E, #app{opnds = Opnds, ctxt = Ctxt, loc = L}, Ren, Env, S) ->
{E, S};
true ->
%% Create local bindings for the parameters to their
- %% respective operand structures from the app-structure, and
- %% visit the body in the context saved in the structure.
+ %% respective operand structures from the app-structure.
{Rs, Ren1, Env1, S1} = bind_locals(Vs, Opnds, Ren, Env, S),
- {E1, S2} = i(fun_body(E), Ctxt, Ren1, Env1, S1),
+
+ %% function_clause exceptions that have been inlined
+ %% into another function (or even into the same function)
+ %% will not work properly. The v3_kernel pass will
+ %% take care of it, but we will need to help it by
+ %% removing any function_name annotations on match_fail
+ %% primops that we inline.
+ E1 = kill_function_name_anns(fun_body(E)),
+
+ %% Visit the body in the context saved in the structure.
+ {E2, S2} = i(E1, Ctxt, Ren1, Env1, S1),
%% Create necessary bindings and/or set flags.
- {E2, S3} = make_let_bindings(Rs, E1, S2),
+ {E3, S3} = make_let_bindings(Rs, E2, S2),
%% Lastly, flag the application as inlined, since the inlining
%% attempt was not aborted before we reached this point.
- {E2, st__set_app_inlined(L, S3)}
+ {E3, st__set_app_inlined(L, S3)}
end.
%% For the (possibly renamed) argument variables to an inlined call,
@@ -2370,6 +2379,19 @@ kill_id_anns([A | As]) ->
kill_id_anns([]) ->
[].
+kill_function_name_anns(Body) ->
+ F = fun(P) ->
+ case type(P) of
+ primop ->
+ Ann = get_ann(P),
+ Ann1 = lists:keydelete(function_name, 1, Ann),
+ set_ann(P, Ann1);
+ _ ->
+ P
+ end
+ end,
+ cerl_trees:map(F, Body).
+
%% =====================================================================
%% General utilities
diff --git a/lib/compiler/src/compile.erl b/lib/compiler/src/compile.erl
index b853800d73..3f250a6d5a 100644
--- a/lib/compiler/src/compile.erl
+++ b/lib/compiler/src/compile.erl
@@ -162,13 +162,12 @@ expand_opt(report, Os) ->
[report_errors,report_warnings|Os];
expand_opt(return, Os) ->
[return_errors,return_warnings|Os];
-expand_opt(r11, Os) ->
- [no_stack_trimming,no_binaries,no_constant_pool|Os];
+expand_opt(r12, Os) ->
+ [no_recv_opt|Os];
+expand_opt(r13, Os) ->
+ [no_recv_opt|Os];
expand_opt({debug_info_key,_}=O, Os) ->
[encrypt_debug_info,O|Os];
-expand_opt(no_binaries=O, Os) ->
- %%Turn off the entire type optimization pass.
- [no_topt,O|Os];
expand_opt(no_float_opt, Os) ->
%%Turn off the entire type optimization pass.
[no_topt|Os];
@@ -590,7 +589,7 @@ core_passes() ->
kernel_passes() ->
%% Destructive setelement/3 optimization and core lint.
- [{unless,no_constant_pool,?pass(core_dsetel_module)}, %Not safe without constant pool.
+ [?pass(core_dsetel_module),
{iff,dsetel,{listing,"dsetel"}},
{iff,clint,?pass(core_lint_module)},
@@ -626,6 +625,8 @@ asm_passes() ->
{iff,dclean,{listing,"clean"}},
{unless,no_bsm_opt,{pass,beam_bsm}},
{iff,dbsm,{listing,"bsm"}},
+ {unless,no_recv_opt,{pass,beam_receive}},
+ {iff,drecv,{listing,"recv"}},
{unless,no_stack_trimming,{pass,beam_trim}},
{iff,dtrim,{listing,"trim"}},
{pass,beam_flatten}]},
diff --git a/lib/compiler/src/compiler.app.src b/lib/compiler/src/compiler.app.src
index b0311365c4..4ac879c9a4 100644
--- a/lib/compiler/src/compiler.app.src
+++ b/lib/compiler/src/compiler.app.src
@@ -1,19 +1,19 @@
% This is an -*- erlang -*- file.
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
{application, compiler,
@@ -33,6 +33,7 @@
beam_listing,
beam_opcodes,
beam_peep,
+ beam_receive,
beam_trim,
beam_type,
beam_utils,
diff --git a/lib/compiler/src/erl_bifs.erl b/lib/compiler/src/erl_bifs.erl
index e87bb276de..f8128702dd 100644
--- a/lib/compiler/src/erl_bifs.erl
+++ b/lib/compiler/src/erl_bifs.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose: Information about the Erlang built-in functions.
@@ -65,6 +65,8 @@ is_pure(erlang, 'xor', 2) -> true;
is_pure(erlang, abs, 1) -> true;
is_pure(erlang, atom_to_binary, 2) -> true;
is_pure(erlang, atom_to_list, 1) -> true;
+is_pure(erlang, binary_part, 2) -> true;
+is_pure(erlang, binary_part, 3) -> true;
is_pure(erlang, binary_to_atom, 2) -> true;
is_pure(erlang, binary_to_list, 1) -> true;
is_pure(erlang, binary_to_list, 3) -> true;
diff --git a/lib/compiler/src/genop.tab b/lib/compiler/src/genop.tab
index 6874054495..d7e344b019 100644
--- a/lib/compiler/src/genop.tab
+++ b/lib/compiler/src/genop.tab
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1998-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1998-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
BEAM_FORMAT_NUMBER=0
@@ -132,7 +132,7 @@ BEAM_FORMAT_NUMBER=0
#
# Building terms.
#
-68: put_string/3
+68: -put_string/3
69: put_list/3
70: put_tuple/2
71: put/1
@@ -274,3 +274,9 @@ BEAM_FORMAT_NUMBER=0
# R13B03
149: on_load/0
+
+# R14A
+
+150: recv_mark/1
+151: recv_set/1
+152: gc_bif3/7
diff --git a/lib/compiler/src/sys_core_dsetel.erl b/lib/compiler/src/sys_core_dsetel.erl
index c38eab7b42..f6696992b9 100644
--- a/lib/compiler/src/sys_core_dsetel.erl
+++ b/lib/compiler/src/sys_core_dsetel.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Using dsetelement to make multiple-field record updates
@@ -57,8 +57,6 @@
%% if X1 is used exactly once.
%% Thus, we need to track variable usage.
%%
-%% NOTE: This pass must NOT be used if the no_constant_pool option is used.
-%%
-module(sys_core_dsetel).
diff --git a/lib/compiler/src/sys_core_fold.erl b/lib/compiler/src/sys_core_fold.erl
index 068478496b..6202f07479 100644
--- a/lib/compiler/src/sys_core_fold.erl
+++ b/lib/compiler/src/sys_core_fold.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Constant folding optimisation for Core
@@ -602,15 +602,23 @@ count_bits_1(Int, Bits) -> count_bits_1(Int bsr 64, Bits+64).
%% a rewritten expression consisting of a sequence of
%% the arguments only is returned.
-useless_call(effect, #c_call{module=#c_literal{val=Mod},
+useless_call(effect, #c_call{anno=Anno,
+ module=#c_literal{val=Mod},
name=#c_literal{val=Name},
args=Args}=Call) ->
A = length(Args),
case erl_bifs:is_safe(Mod, Name, A) of
false ->
case erl_bifs:is_pure(Mod, Name, A) of
- true -> add_warning(Call, result_ignored);
- false -> ok
+ true ->
+ case member(result_not_wanted, Anno) of
+ false ->
+ add_warning(Call, result_ignored);
+ true ->
+ ok
+ end;
+ false ->
+ ok
end,
no;
true ->
@@ -2806,7 +2814,8 @@ format_error({no_effect,{erlang,F,A}}) ->
end,
flatten(io_lib:format(Fmt, Args));
format_error(result_ignored) ->
- "the result of the expression is ignored";
+ "the result of the expression is ignored "
+ "(suppress the warning by assigning the expression to the _ variable)";
format_error(useless_building) ->
"a term is constructed, but never used";
format_error(bin_opt_alias) ->
diff --git a/lib/compiler/src/sys_core_inline.erl b/lib/compiler/src/sys_core_inline.erl
index c8d75b80c6..9f93acb666 100644
--- a/lib/compiler/src/sys_core_inline.erl
+++ b/lib/compiler/src/sys_core_inline.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Function inlining optimisation for Core.
@@ -41,11 +41,9 @@
-module(sys_core_inline).
-%%-compile({inline,{match_fail_fun,0}}).
-
-export([module/2]).
--import(lists, [member/2,map/2,foldl/3,mapfoldl/3]).
+-import(lists, [member/2,map/2,foldl/3,mapfoldl/3,keydelete/3]).
-include("core_parse.hrl").
@@ -178,11 +176,9 @@ weight_func(_Core, Acc) -> Acc + 1.
%% function_clause match_fail (if they have one).
match_fail_fun() ->
- fun (#c_primop{name=#c_literal{val=match_fail},
- args=[#c_tuple{es=[#c_literal{val=function_clause}|As]}]}=P) ->
- Fail = #c_tuple{es=[#c_literal{val=case_clause},
- #c_tuple{es=As}]},
- P#c_primop{args=[Fail]};
+ fun (#c_primop{anno=Anno0,name=#c_literal{val=match_fail}}=P) ->
+ Anno = keydelete(function_name, 1, Anno0),
+ P#c_primop{anno=Anno};
(Other) -> Other
end.
@@ -201,7 +197,7 @@ kill_id_anns(Body) ->
(Expr) ->
%% Mark everything as compiler generated to suppress
%% bogus warnings.
- A = [compiler_generated|core_lib:get_anno(Expr)],
+ A = compiler_generated(core_lib:get_anno(Expr)),
core_lib:set_anno(Expr, A)
end, Body).
@@ -210,3 +206,8 @@ kill_id_anns_1([{'id',_}|As]) ->
kill_id_anns_1([A|As]) ->
[A|kill_id_anns_1(As)];
kill_id_anns_1([]) -> [].
+
+compiler_generated([compiler_generated|_]=Anno) ->
+ Anno;
+compiler_generated(Anno) ->
+ [compiler_generated|Anno -- [compiler_generated]].
diff --git a/lib/compiler/src/v3_codegen.erl b/lib/compiler/src/v3_codegen.erl
index 83113d1652..948937c438 100644
--- a/lib/compiler/src/v3_codegen.erl
+++ b/lib/compiler/src/v3_codegen.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Code generator for Beam.
@@ -209,7 +209,6 @@ need_heap_1(#l{ke={set,_,Val}}, H) ->
{[],H + case Val of
{cons,_} -> 2;
{tuple,Es} -> 1 + length(Es);
- {string,S} -> 2 * length(S);
_Other -> 0
end};
need_heap_1(#l{ke={bif,dsetelement,_As,_Rs},i=I}, H) ->
@@ -1191,7 +1190,12 @@ trap_bif(_, _, _) -> false.
bif_cg(bs_context_to_binary=Instr, [Src0], [], Le, Vdb, Bef, St0) ->
[Src] = cg_reg_args([Src0], Bef),
- {[{Instr,Src}],clear_dead(Bef, Le#l.i, Vdb), St0};
+ case is_register(Src) of
+ false ->
+ {[],clear_dead(Bef, Le#l.i, Vdb), St0};
+ true ->
+ {[{Instr,Src}],clear_dead(Bef, Le#l.i, Vdb), St0}
+ end;
bif_cg(dsetelement, [Index0,Tuple0,New0], _Rs, Le, Vdb, Bef, St0) ->
[New,Tuple,{integer,Index1}] = cg_reg_args([New0,Tuple0,Index0], Bef),
Index = Index1-1,
@@ -1424,8 +1428,6 @@ set_cg([{var,R}], Con, Le, Vdb, Bef, St) ->
[{put_tuple,length(Es),Ret}] ++ cg_build_args(Es, Bef);
{var,V} -> % Normally removed by kernel optimizer.
[{move,fetch_var(V, Int),Ret}];
- {string,Str} = String ->
- [{put_string,length(Str),String,Ret}];
Other ->
[{move,Other,Ret}]
end,
@@ -2022,6 +2024,10 @@ fetch_stack(V, [_|Stk], I) -> fetch_stack(V, Stk, I+1).
on_stack(V, Stk) -> keymember(V, 1, Stk).
+is_register({x,_}) -> true;
+is_register({yy,_}) -> true;
+is_register(_) -> false.
+
%% put_catch(CatchTag, Stack) -> Stack'
%% drop_catch(CatchTag, Stack) -> Stack'
%% Special interface for putting and removing catch tags, to ensure that
diff --git a/lib/compiler/src/v3_core.erl b/lib/compiler/src/v3_core.erl
index dfe15de4ff..b2f0ac75c7 100644
--- a/lib/compiler/src/v3_core.erl
+++ b/lib/compiler/src/v3_core.erl
@@ -128,6 +128,7 @@
-record(core, {vcount=0 :: non_neg_integer(), %Variable counter
fcount=0 :: non_neg_integer(), %Function counter
in_guard=false :: boolean(), %In guard or not.
+ wanted=true :: boolean(), %Result wanted or not.
opts :: [compile:option()], %Options.
es=[] :: [error()], %Errors.
ws=[] :: [warning()], %Warnings.
@@ -213,10 +214,7 @@ clause({clause,Lc,H0,G0,B0}, St0) ->
catch
throw:nomatch ->
St = add_warning(Lc, nomatch, St0),
- {noclause,St}; %Bad pattern
- throw:no_binaries ->
- St = add_error(Lc, no_binaries, St0),
- {noclause,St}
+ {noclause,St} %Bad pattern
end.
clause_arity({clause,_,H0,_,_}) -> length(H0).
@@ -496,22 +494,18 @@ expr({tuple,L,Es0}, St0) ->
{Es1,Eps,St1} = safe_list(Es0, St0),
A = lineno_anno(L, St1),
{ann_c_tuple(A, Es1),Eps,St1};
-expr({bin,L,Es0}, #core{opts=Opts}=St0) ->
- St1 = case member(no_binaries, Opts) of
- false -> St0;
- true -> add_error(L, no_binaries, St0)
- end,
- try expr_bin(Es0, lineno_anno(L, St1), St1) of
+expr({bin,L,Es0}, St0) ->
+ try expr_bin(Es0, lineno_anno(L, St0), St0) of
{_,_,_}=Res -> Res
catch
throw:bad_binary ->
- St2 = add_warning(L, bad_binary, St1),
- LineAnno = lineno_anno(L, St2),
+ St = add_warning(L, bad_binary, St0),
+ LineAnno = lineno_anno(L, St),
As = [#c_literal{anno=LineAnno,val=badarg}],
{#icall{anno=#a{anno=LineAnno}, %Must have an #a{}
module=#c_literal{anno=LineAnno,val=erlang},
name=#c_literal{anno=LineAnno,val=error},
- args=As},[],St2}
+ args=As},[],St}
end;
expr({block,_,Es0}, St0) ->
%% Inline the block directly.
@@ -587,10 +581,14 @@ expr({'fun',L,{function,F,A},{_,_,_}=Id}, St) ->
{#c_var{anno=Lanno++[{id,Id}],name={F,A}},[],St};
expr({'fun',L,{clauses,Cs},Id}, St) ->
fun_tq(Id, Cs, L, St);
-expr({call,L,{remote,_,M,F},As0}, St0) ->
+expr({call,L,{remote,_,M,F},As0}, #core{wanted=Wanted}=St0) ->
{[M1,F1|As1],Aps,St1} = safe_list([M,F|As0], St0),
Lanno = lineno_anno(L, St1),
- {#icall{anno=#a{anno=Lanno},module=M1,name=F1,args=As1},Aps,St1};
+ Anno = case Wanted of
+ false -> [result_not_wanted|Lanno];
+ true -> Lanno
+ end,
+ {#icall{anno=#a{anno=Anno},module=M1,name=F1,args=As1},Aps,St1};
expr({call,Lc,{atom,Lf,F},As0}, St0) ->
{As1,Aps,St1} = safe_list(As0, St0),
Op = #c_var{anno=lineno_anno(Lf, St1),name={F,length(As1)}},
@@ -603,27 +601,28 @@ expr({call,L,FunExp,As0}, St0) ->
expr({match,L,P0,E0}, St0) ->
%% First fold matches together to create aliases.
{P1,E1} = fold_match(E0, P0),
- {E2,Eps,St1} = novars(E1, St0),
+ St1 = case P1 of
+ {var,_,'_'} -> St0#core{wanted=false};
+ _ -> St0
+ end,
+ {E2,Eps,St2} = novars(E1, St1),
+ St3 = St2#core{wanted=St0#core.wanted},
P2 = try
- pattern(P1, St1)
+ pattern(P1, St3)
catch
throw:Thrown ->
Thrown
end,
- {Fpat,St2} = new_var(St1),
+ {Fpat,St4} = new_var(St3),
Fc = fail_clause([Fpat], c_tuple([#c_literal{val=badmatch},Fpat])),
- Lanno = lineno_anno(L, St2),
+ Lanno = lineno_anno(L, St4),
case P2 of
nomatch ->
- St = add_warning(L, nomatch, St2),
- {#icase{anno=#a{anno=Lanno},
- args=[E2],clauses=[],fc=Fc},Eps,St};
- no_binaries ->
- St = add_error(L, no_binaries, St2),
+ St = add_warning(L, nomatch, St4),
{#icase{anno=#a{anno=Lanno},
args=[E2],clauses=[],fc=Fc},Eps,St};
Other when not is_atom(Other) ->
- {#imatch{anno=#a{anno=Lanno},pat=P2,arg=E2,fc=Fc},Eps,St2}
+ {#imatch{anno=#a{anno=Lanno},pat=P2,arg=E2,fc=Fc},Eps,St4}
end;
expr({op,_,'++',{lc,Llc,E,Qs},More}, St0) ->
%% Optimise '++' here because of the list comprehension algorithm.
@@ -1443,15 +1442,10 @@ pattern({cons,L,H,T}, St) ->
ann_c_cons(lineno_anno(L, St), pattern(H, St), pattern(T, St));
pattern({tuple,L,Ps}, St) ->
ann_c_tuple(lineno_anno(L, St), pattern_list(Ps, St));
-pattern({bin,L,Ps}, #core{opts=Opts}=St) ->
- case member(no_binaries, Opts) of
- false ->
- %% We don't create a #ibinary record here, since there is
- %% no need to hold any used/new annotations in a pattern.
- #c_binary{anno=lineno_anno(L, St),segments=pat_bin(Ps, St)};
- true ->
- throw(no_binaries)
- end;
+pattern({bin,L,Ps}, St) ->
+ %% We don't create a #ibinary record here, since there is
+ %% no need to hold any used/new annotations in a pattern.
+ #c_binary{anno=lineno_anno(L, St),segments=pat_bin(Ps, St)};
pattern({match,_,P1,P2}, St) ->
pat_alias(pattern(P1, St), pattern(P2, St)).
@@ -1558,17 +1552,21 @@ new_vars_1(N, Anno, St0, Vs) when N > 0 ->
new_vars_1(0, _, St, Vs) -> {Vs,St}.
function_clause(Ps, Name) ->
- fail_clause(Ps, c_tuple([#c_literal{anno=[{name,Name}],
- val=function_clause}|Ps])).
-function_clause(Ps, Anno, Name) ->
- fail_clause(Ps, ann_c_tuple(Anno,
- [#c_literal{anno=[{name,Name}],
- val=function_clause}|Ps])).
-
-fail_clause(Pats, A) ->
+ function_clause(Ps, [], Name).
+
+function_clause(Ps, LineAnno, Name) ->
+ FcAnno = [{function_name,Name}],
+ fail_clause(Ps, FcAnno,
+ ann_c_tuple(LineAnno, [#c_literal{val=function_clause}|Ps])).
+
+fail_clause(Pats, Arg) ->
+ fail_clause(Pats, [], Arg).
+
+fail_clause(Pats, Anno, Arg) ->
#iclause{anno=#a{anno=[compiler_generated]},
pats=Pats,guard=[],
- body=[#iprimop{anno=#a{},name=#c_literal{val=match_fail},args=[A]}]}.
+ body=[#iprimop{anno=#a{anno=Anno},name=#c_literal{val=match_fail},
+ args=[Arg]}]}.
ubody(B, St) -> uexpr(B, [], St).
@@ -2116,21 +2114,15 @@ is_simp_bin(Es) ->
%%% Handling of warnings.
%%%
--type err_desc() :: 'bad_binary' | 'no_binaries' | 'nomatch'.
+-type err_desc() :: 'bad_binary' | 'nomatch'.
-spec format_error(err_desc()) -> nonempty_string().
format_error(nomatch) ->
"pattern cannot possibly match";
format_error(bad_binary) ->
- "binary construction will fail because of a type mismatch";
-format_error(no_binaries) ->
- "bit syntax is not allowed to be used when compatibility with a previous "
- "version has been requested".
+ "binary construction will fail because of a type mismatch".
add_warning(Line, Term, #core{ws=Ws,file=[{file,File}]}=St) when Line >= 0 ->
St#core{ws=[{File,[{location(Line),?MODULE,Term}]}|Ws]};
add_warning(_, _, St) -> St.
-
-add_error(Line, Term, #core{es=Es,file=[{file,File}]}=St) ->
- St#core{es=[{File,[{location(abs_line(Line)),?MODULE,Term}]}|Es]}.
diff --git a/lib/compiler/src/v3_kernel.erl b/lib/compiler/src/v3_kernel.erl
index 8568071e57..fbe4d8617e 100644
--- a/lib/compiler/src/v3_kernel.erl
+++ b/lib/compiler/src/v3_kernel.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Transform Core Erlang to Kernel Erlang
@@ -80,7 +80,8 @@
-export([module/2,format_error/1]).
--import(lists, [map/2,foldl/3,foldr/3,mapfoldl/3,splitwith/2,member/2,keymember/3]).
+-import(lists, [map/2,foldl/3,foldr/3,mapfoldl/3,splitwith/2,member/2,
+ keymember/3,keyfind/3]).
-import(ordsets, [add_element/2,del_element/2,union/2,union/1,subtract/2]).
-compile({nowarn_deprecated_function, {erlang,hash,2}}).
@@ -126,19 +127,28 @@ copy_anno(Kdst, Ksrc) ->
-spec module(cerl:c_module(), [compile:option()]) ->
{'ok', #k_mdef{}, [warning()]}.
-module(#c_module{anno=A,name=M,exports=Es,attrs=As,defs=Fs}, Options) ->
- Lit = case member(no_constant_pool, Options) of
- true -> no;
- false -> dict:new()
- end,
- St0 = #kern{lit=Lit},
- {Kfs,St} = mapfoldl(fun function/2, St0, Fs),
+module(#c_module{anno=A,name=M,exports=Es,attrs=As,defs=Fs}, _Options) ->
+ Kas = attributes(As),
Kes = map(fun (#c_var{name={_,_}=Fname}) -> Fname end, Es),
- Kas = map(fun ({#c_literal{val=N},V}) ->
- {N,core_lib:literal_value(V)} end, As),
+ St0 = #kern{lit=dict:new()},
+ {Kfs,St} = mapfoldl(fun function/2, St0, Fs),
{ok,#k_mdef{anno=A,name=M#c_literal.val,exports=Kes,attributes=Kas,
body=Kfs ++ St#kern.funs},lists:sort(St#kern.ws)}.
+attributes([{#c_literal{val=Name},Val}|As]) ->
+ case include_attribute(Name) of
+ false ->
+ attributes(As);
+ true ->
+ [{Name,core_lib:literal_value(Val)}|attributes(As)]
+ end;
+attributes([]) -> [].
+
+include_attribute(type) -> false;
+include_attribute(spec) -> false;
+include_attribute(opaque) -> false;
+include_attribute(_) -> true.
+
function({#c_var{name={F,Arity}=FA},Body}, St0) ->
try
St1 = St0#kern{func=FA,ff=undefined,vcount=0,fcount=0,ds=sets:new()},
@@ -240,11 +250,6 @@ expr(#c_var{anno=A,name={_Name,Arity}}=Fname, Sub, St) ->
expr(Fun, Sub, St);
expr(#c_var{anno=A,name=V}, Sub, St) ->
{#k_var{anno=A,name=get_vsub(V, Sub)},[],St};
-expr(#c_literal{anno=A,val=Lit}, Sub, #kern{lit=no}=St) ->
- %% No constant pools for compatibility with a previous version.
- %% Fully expand the literal.
- Core = expand_literal(Lit, A),
- expr(Core, Sub, St);
expr(#c_literal{}=Lit, Sub, St) ->
Core = handle_literal(Lit),
expr(Core, Sub, St);
@@ -265,9 +270,6 @@ expr(#k_float{}=V, _Sub, St) ->
{V,[],St};
expr(#k_atom{}=V, _Sub, St) ->
{V,[],St};
-expr(#k_string{}=V, _Sub, St) ->
- %% Only for compatibility with a previous version.
- {V,[],St};
expr(#c_cons{anno=A,hd=Ch,tl=Ct}, Sub, St0) ->
%% Do cons in two steps, first the expressions left to right, then
%% any remaining literals right to left.
@@ -420,7 +422,7 @@ expr(#c_call{anno=A,module=M0,name=F0,args=Cargs}, Sub, St0) ->
{Call,Ap,St}
end;
expr(#c_primop{anno=A,name=#c_literal{val=match_fail},args=Cargs0}, Sub, St0) ->
- Cargs = translate_match_fail(Cargs0, Sub, St0),
+ Cargs = translate_match_fail(Cargs0, Sub, A, St0),
%% This special case will disappear.
{Kargs,Ap,St} = atomic_list(Cargs, Sub, St0),
Ar = length(Cargs),
@@ -447,32 +449,53 @@ expr(#c_catch{anno=A,body=Cb}, Sub, St0) ->
%% Handle internal expressions.
expr(#ireceive_accept{anno=A}, _Sub, St) -> {#k_receive_accept{anno=A},[],St}.
-%% Translate a function_clause to case_clause if it has been moved into
-%% another function.
-translate_match_fail([#c_tuple{es=[#c_literal{anno=A0,
- val=function_clause}|As]}]=Args,
- Sub,
- #kern{ff=FF}) ->
- A = case A0 of
- [{name,{Func0,Arity0}}] ->
- [{name,{get_fsub(Func0, Arity0, Sub),Arity0}}];
- _ ->
- A0
- end,
- case {A,FF} of
- {[{name,Same}],Same} ->
+%% Translate a function_clause exception to a case_clause exception if
+%% it has been moved into another function. (A function_clause exception
+%% will not work correctly if it is moved into another function, or
+%% even if it is invoked not from the top level in the correct function.)
+translate_match_fail(Args, Sub, Anno, St) ->
+ case Args of
+ [#c_tuple{es=[#c_literal{val=function_clause}|As]}] ->
+ translate_match_fail_1(Anno, Args, As, Sub, St);
+ [#c_literal{val=Tuple}] when is_tuple(Tuple) ->
+ %% The inliner may have created a literal out of
+ %% the original #c_tuple{}.
+ case tuple_to_list(Tuple) of
+ [function_clause|As0] ->
+ As = [#c_literal{val=E} || E <- As0],
+ translate_match_fail_1(Anno, Args, As, Sub, St);
+ _ ->
+ Args
+ end;
+ _ ->
+ %% Not a function_clause exception.
+ Args
+ end.
+
+translate_match_fail_1(Anno, Args, As, Sub, #kern{ff=FF}) ->
+ AnnoFunc = case keyfind(function_name, 1, Anno) of
+ false ->
+ none; %Force rewrite.
+ {function_name,{Name,Arity}} ->
+ {get_fsub(Name, Arity, Sub),Arity}
+ end,
+ case {AnnoFunc,FF} of
+ {Same,Same} ->
%% Still in the correct function.
Args;
- {[{name,{F,_}}],F} ->
+ {{F,_},F} ->
%% Still in the correct function.
Args;
_ ->
- %% Inlining has probably moved the function_clause into another
- %% function (where it will not work correctly).
- %% Rewrite to a case_clause.
+ %% Wrong function or no function_name annotation.
+ %%
+ %% The inliner has copied the match_fail(function_clause)
+ %% primop from another function (or from another instance of
+ %% the current function). match_fail(function_clause) will
+ %% only work at the top level of the function it was originally
+ %% defined in, so we will need to rewrite it to a case_clause.
[#c_tuple{es=[#c_literal{val=case_clause},#c_tuple{es=As}]}]
- end;
-translate_match_fail(Args, _, _) -> Args.
+ end.
%% call_type(Module, Function, Arity) -> call | bif | apply | error.
%% Classify the call.
@@ -980,11 +1003,6 @@ match_var([U|Us], Cs0, Def, St) ->
%% according to type, the order is really irrelevant but tries to be
%% smart.
-match_con(Us, Cs0, Def, #kern{lit=no}=St) ->
- %% No constant pool (for compatibility with R11B).
- %% We must expand literals.
- Cs = [expand_pat_lit_clause(C, true) || C <- Cs0],
- match_con_1(Us, Cs, Def, St);
match_con(Us, [C], Def, St) ->
%% There is only one clause. We can keep literal tuples and
%% lists, but we must convert []/integer/float/atom literals
@@ -1783,7 +1801,6 @@ lit_vars(#k_int{}) -> [];
lit_vars(#k_float{}) -> [];
lit_vars(#k_atom{}) -> [];
%%lit_vars(#k_char{}) -> [];
-lit_vars(#k_string{}) -> [];
lit_vars(#k_nil{}) -> [];
lit_vars(#k_cons{hd=H,tl=T}) ->
union(lit_vars(H), lit_vars(T));
@@ -1845,48 +1862,20 @@ handle_literal(#c_literal{anno=A,val=V}) ->
case V of
[_|_] ->
#k_literal{anno=A,val=V};
+ [] ->
+ #k_nil{anno=A};
V when is_tuple(V) ->
#k_literal{anno=A,val=V};
V when is_bitstring(V) ->
#k_literal{anno=A,val=V};
- _ ->
- expand_literal(V, A)
+ V when is_integer(V) ->
+ #k_int{anno=A,val=V};
+ V when is_float(V) ->
+ #k_float{anno=A,val=V};
+ V when is_atom(V) ->
+ #k_atom{anno=A,val=V}
end.
-%% expand_literal(Literal, Anno) -> CoreTerm | KernelTerm
-%% Fully expand the literal. Atomic terms such as integers are directly
-%% translated to the Kernel Erlang format, while complex terms are kept
-%% in the Core Erlang format (but the content is recursively processed).
-
-expand_literal([H|T]=V, A) when is_integer(H), 0 =< H, H =< 255 ->
- case is_print_char_list(T) of
- false ->
- #c_cons{anno=A,hd=#k_int{anno=A,val=H},tl=expand_literal(T, A)};
- true ->
- #k_string{anno=A,val=V}
- end;
-expand_literal([H|T], A) ->
- #c_cons{anno=A,hd=expand_literal(H, A),tl=expand_literal(T, A)};
-expand_literal([], A) ->
- #k_nil{anno=A};
-expand_literal(V, A) when is_tuple(V) ->
- #c_tuple{anno=A,es=expand_literal_list(tuple_to_list(V), A)};
-expand_literal(V, A) when is_integer(V) ->
- #k_int{anno=A,val=V};
-expand_literal(V, A) when is_float(V) ->
- #k_float{anno=A,val=V};
-expand_literal(V, A) when is_atom(V) ->
- #k_atom{anno=A,val=V}.
-
-expand_literal_list([H|T], A) ->
- [expand_literal(H, A)|expand_literal_list(T, A)];
-expand_literal_list([], _) -> [].
-
-is_print_char_list([H|T]) when is_integer(H), 0 =< H, H =< 255 ->
- is_print_char_list(T);
-is_print_char_list([]) -> true;
-is_print_char_list(_) -> false.
-
make_list(Es) ->
foldr(fun(E, Acc) ->
#c_cons{hd=E,tl=Acc}
diff --git a/lib/compiler/src/v3_kernel_pp.erl b/lib/compiler/src/v3_kernel_pp.erl
index b1ca907d11..a300dd283f 100644
--- a/lib/compiler/src/v3_kernel_pp.erl
+++ b/lib/compiler/src/v3_kernel_pp.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Kernel Erlang (naive) prettyprinter
@@ -80,7 +80,6 @@ format_1(#k_atom{val=A}, _Ctxt) -> core_atom(A);
format_1(#k_float{val=F}, _Ctxt) -> float_to_list(F);
format_1(#k_int{val=I}, _Ctxt) -> integer_to_list(I);
format_1(#k_nil{}, _Ctxt) -> "[]";
-format_1(#k_string{val=S}, _Ctxt) -> io_lib:write_string(S);
format_1(#k_var{name=V}, _Ctxt) ->
if is_atom(V) ->
case atom_to_list(V) of
diff --git a/lib/compiler/src/v3_life.erl b/lib/compiler/src/v3_life.erl
index 0adeaca8fa..9fda37530b 100644
--- a/lib/compiler/src/v3_life.erl
+++ b/lib/compiler/src/v3_life.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Convert annotated kernel expressions to annotated beam format.
@@ -66,21 +66,27 @@ functions([], Acc) -> reverse(Acc).
%% function(Kfunc) -> Func.
function(#k_fdef{func=F,arity=Ar,vars=Vs,body=Kb}) ->
- %ok = io:fwrite("life ~w: ~p~n~p~n", [?LINE,{F,Ar},Kb]),
- As = var_list(Vs),
- Vdb0 = foldl(fun ({var,N}, Vdb) -> new_var(N, 0, Vdb) end, [], As),
- %% Force a top-level match!
- B0 = case Kb of
- #k_match{} -> Kb;
- _ ->
- Ka = get_kanno(Kb),
- #k_match{anno=#k{us=Ka#k.us,ns=[],a=Ka#k.a},
- vars=Vs,body=Kb,ret=[]}
- end,
- put(guard_refc, 0),
- {B1,_,Vdb1} = body(B0, 1, Vdb0),
- erase(guard_refc),
- {function,F,Ar,As,B1,Vdb1}.
+ try
+ As = var_list(Vs),
+ Vdb0 = foldl(fun ({var,N}, Vdb) -> new_var(N, 0, Vdb) end, [], As),
+ %% Force a top-level match!
+ B0 = case Kb of
+ #k_match{} -> Kb;
+ _ ->
+ Ka = get_kanno(Kb),
+ #k_match{anno=#k{us=Ka#k.us,ns=[],a=Ka#k.a},
+ vars=Vs,body=Kb,ret=[]}
+ end,
+ put(guard_refc, 0),
+ {B1,_,Vdb1} = body(B0, 1, Vdb0),
+ erase(guard_refc),
+ {function,F,Ar,As,B1,Vdb1}
+ catch
+ Class:Error ->
+ Stack = erlang:get_stacktrace(),
+ io:fwrite("Function: ~w/~w\n", [F,Ar]),
+ erlang:raise(Class, Error, Stack)
+ end.
%% body(Kbody, I, Vdb) -> {[Expr],MaxI,Vdb}.
%% Handle a body, need special cases for transforming match_fails.
@@ -412,7 +418,6 @@ literal(#k_int{val=I}, _) -> {integer,I};
literal(#k_float{val=F}, _) -> {float,F};
literal(#k_atom{val=N}, _) -> {atom,N};
%%literal(#k_char{val=C}, _) -> {char,C};
-literal(#k_string{val=S}, _) -> {string,S};
literal(#k_nil{}, _) -> nil;
literal(#k_cons{hd=H,tl=T}, Ctxt) ->
{cons,[literal(H, Ctxt),literal(T, Ctxt)]};
@@ -437,7 +442,6 @@ literal2(#k_int{val=I}, _) -> {integer,I};
literal2(#k_float{val=F}, _) -> {float,F};
literal2(#k_atom{val=N}, _) -> {atom,N};
%%literal2(#k_char{val=C}, _) -> {char,C};
-literal2(#k_string{val=S}, _) -> {string,S};
literal2(#k_nil{}, _) -> nil;
literal2(#k_cons{hd=H,tl=T}, Ctxt) ->
{cons,[literal2(H, Ctxt),literal2(T, Ctxt)]};
diff --git a/lib/compiler/test/Makefile b/lib/compiler/test/Makefile
index ad2f63e9e5..2d08e71e09 100644
--- a/lib/compiler/test/Makefile
+++ b/lib/compiler/test/Makefile
@@ -53,16 +53,24 @@ NO_OPT= \
record \
trycatch
-R11= \
+INLINE= \
andor \
apply \
+ bs_bincomp \
+ bs_bit_binaries \
+ bs_construct \
+ bs_match \
+ bs_utf \
+ core_fold \
float \
fun \
+ guard \
+ lc \
match \
+ misc \
num_bif \
receive \
- record \
- trycatch
+ record
CORE_MODULES = \
bs_shadowed_size_var \
@@ -73,8 +81,8 @@ NO_OPT_MODULES= $(NO_OPT:%=%_no_opt_SUITE)
NO_OPT_ERL_FILES= $(NO_OPT_MODULES:%=%.erl)
POST_OPT_MODULES= $(NO_OPT:%=%_post_opt_SUITE)
POST_OPT_ERL_FILES= $(POST_OPT_MODULES:%=%.erl)
-R11_MODULES= $(R11:%=%_r11_SUITE)
-R11_ERL_FILES= $(R11_MODULES:%=%.erl)
+INLINE_MODULES= $(INLINE:%=%_inline_SUITE)
+INLINE_ERL_FILES= $(INLINE_MODULES:%=%.erl)
ERL_FILES= $(MODULES:%=%.erl)
@@ -103,15 +111,15 @@ EBIN = .
# Targets
# ----------------------------------------------------
-make_emakefile: $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) $(R11_ERL_FILES)
+make_emakefile: $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) $(INLINE_ERL_FILES)
$(ERL_TOP)/make/make_emakefile $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) \
> $(EMAKEFILE)
$(ERL_TOP)/make/make_emakefile +no_copt +no_postopt $(ERL_COMPILE_FLAGS) \
-o$(EBIN) $(NO_OPT_MODULES) >> $(EMAKEFILE)
$(ERL_TOP)/make/make_emakefile +no_copt $(ERL_COMPILE_FLAGS) \
-o$(EBIN) $(POST_OPT_MODULES) >> $(EMAKEFILE)
- $(ERL_TOP)/make/make_emakefile +r11 $(ERL_COMPILE_FLAGS) \
- -o$(EBIN) $(R11_MODULES) >> $(EMAKEFILE)
+ $(ERL_TOP)/make/make_emakefile +inline $(ERL_COMPILE_FLAGS) \
+ -o$(EBIN) $(INLINE_MODULES) >> $(EMAKEFILE)
tests debug opt: make_emakefile
erl $(ERL_MAKE_FLAGS) -make
@@ -133,7 +141,7 @@ docs:
%_post_opt_SUITE.erl: %_SUITE.erl
sed -e 's;-module($(basename $<));-module($(basename $@));' $< > $@
-%_r11_SUITE.erl: %_SUITE.erl
+%_inline_SUITE.erl: %_SUITE.erl
sed -e 's;-module($(basename $<));-module($(basename $@));' $< > $@
# ----------------------------------------------------
@@ -148,7 +156,7 @@ release_tests_spec: make_emakefile
$(INSTALL_DATA) compiler.dynspec compiler.cover \
$(EMAKEFILE) $(ERL_FILES) $(CORE_FILES) $(RELSYSDIR)
$(INSTALL_DATA) $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) \
- $(R11_ERL_FILES) $(RELSYSDIR)
+ $(INLINE_ERL_FILES) $(RELSYSDIR)
chmod -f -R u+w $(RELSYSDIR)
@tar cf - *_SUITE_data | (cd $(RELSYSDIR); tar xf -)
diff --git a/lib/compiler/test/bs_match_SUITE.erl b/lib/compiler/test/bs_match_SUITE.erl
index 5c2797170b..75b6f801e7 100644
--- a/lib/compiler/test/bs_match_SUITE.erl
+++ b/lib/compiler/test/bs_match_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -302,15 +302,15 @@ partitioned_bs_match(Config) when is_list(Config) ->
?line error = partitioned_bs_match(10, <<7,8,15,13>>),
?line error = partitioned_bs_match(100, {a,tuple,is,'not',a,binary}),
?line ok = partitioned_bs_match(0, <<>>),
- ?line {'EXIT',{function_clause,[{?MODULE,partitioned_bs_match,[-1,blurf]}|_]}} =
- (catch partitioned_bs_match(-1, blurf)),
- ?line {'EXIT',{function_clause,[{?MODULE,partitioned_bs_match,[-1,<<1,2,3>>]}|_]}} =
- (catch partitioned_bs_match(-1, <<1,2,3>>)),
-
+ ?line fc(partitioned_bs_match, [-1,blurf],
+ catch partitioned_bs_match(-1, blurf)),
+ ?line fc(partitioned_bs_match, [-1,<<1,2,3>>],
+ catch partitioned_bs_match(-1, <<1,2,3>>)),
?line {17,<<1,2,3>>} = partitioned_bs_match_2(1, <<17,1,2,3>>),
?line {7,<<1,2,3>>} = partitioned_bs_match_2(7, <<17,1,2,3>>),
- ?line {'EXIT',{function_clause,[{?MODULE,partitioned_bs_match_2,[4,<<0:17>>]}|_]}} =
- (catch partitioned_bs_match_2(4, <<0:17>>)),
+
+ ?line fc(partitioned_bs_match_2, [4,<<0:17>>],
+ catch partitioned_bs_match_2(4, <<0:17>>)),
ok.
partitioned_bs_match(_, <<42:8,T/binary>>) ->
@@ -327,12 +327,10 @@ partitioned_bs_match_2(Len, <<_:8,T/binary>>) ->
function_clause(Config) when is_list(Config) ->
?line ok = function_clause_1(<<0,7,0,7,42>>),
- ?line {'EXIT',{function_clause,
- [{?MODULE,function_clause_1,[<<0,1,2,3>>]}|_]}} =
- (catch function_clause_1(<<0,1,2,3>>)),
- ?line {'EXIT',{function_clause,
- [{?MODULE,function_clause_1,[<<0,1,2,3>>]}|_]}} =
- (catch function_clause_1(<<0,7,0,1,2,3>>)),
+ ?line fc(function_clause_1, [<<0,1,2,3>>],
+ catch function_clause_1(<<0,1,2,3>>)),
+ ?line fc(function_clause_1, [<<0,1,2,3>>],
+ catch function_clause_1(<<0,7,0,1,2,3>>)),
ok.
function_clause_1(<<0:8,7:8,T/binary>>) ->
@@ -349,22 +347,17 @@ unit(Config) when is_list(Config) ->
?line 99 = peek8(<<99>>),
?line 100 = peek8(<<100,101>>),
- ?line {'EXIT',{function_clause,[{?MODULE,peek8,[<<100,101,0:1>>]}|_]}} =
- (catch peek8(<<100,101,0:1>>)),
+ ?line fc(peek8, [<<100,101,0:1>>], catch peek8(<<100,101,0:1>>)),
?line 37484 = peek16(<<37484:16>>),
?line 37489 = peek16(<<37489:16,5566:16>>),
- ?line {'EXIT',{function_clause,[{?MODULE,peek16,[<<8>>]}|_]}} =
- (catch peek16(<<8>>)),
- ?line {'EXIT',{function_clause,[{?MODULE,peek16,[<<42:15>>]}|_]}} =
- (catch peek16(<<42:15>>)),
- ?line {'EXIT',{function_clause,[{?MODULE,peek16,[<<1,2,3,4,5>>]}|_]}} =
- (catch peek16(<<1,2,3,4,5>>)),
+ ?line fc(peek16, [<<8>>], catch peek16(<<8>>)),
+ ?line fc(peek16, [<<42:15>>], catch peek16(<<42:15>>)),
+ ?line fc(peek16, [<<1,2,3,4,5>>], catch peek16(<<1,2,3,4,5>>)),
?line 127 = peek7(<<127:7>>),
?line 100 = peek7(<<100:7,19:7>>),
- ?line {'EXIT',{function_clause,[{?MODULE,peek7,[<<1,2>>]}|_]}} =
- (catch peek7(<<1,2>>)),
+ ?line fc(peek7, [<<1,2>>], catch peek7(<<1,2>>)),
ok.
peek1(<<B:8,_/bitstring>>) -> B.
@@ -533,15 +526,13 @@ bs_sum(Config) when is_list(Config) ->
?line 6 = bs_sum_1([1,2,3|0]),
?line 7 = bs_sum_1([1,2,3|one]),
- ?line {'EXIT',{function_clause,_}} = (catch bs_sum_1({too,big,tuple})),
- ?line {'EXIT',{function_clause,_}} = (catch bs_sum_1([1,2,3|{too,big,tuple}])),
+ ?line fc(catch bs_sum_1({too,big,tuple})),
+ ?line fc(catch bs_sum_1([1,2,3|{too,big,tuple}])),
?line [] = sneaky_alias(<<>>),
?line [559,387655] = sneaky_alias(id(<<559:32,387655:32>>)),
- ?line {'EXIT',{function_clause,[{?MODULE,sneaky_alias,[<<1>>]}|_]}} =
- (catch sneaky_alias(id(<<1>>))),
- ?line {'EXIT',{function_clause,[{?MODULE,sneaky_alias,[[1,2,3,4]]}|_]}} =
- (catch sneaky_alias(lists:seq(1, 4))),
+ ?line fc(sneaky_alias, [<<1>>], catch sneaky_alias(id(<<1>>))),
+ ?line fc(sneaky_alias, [[1,2,3,4]], catch sneaky_alias(lists:seq(1, 4))),
ok.
bs_sum_1(<<H,T/binary>>) -> H+bs_sum_1(T);
@@ -559,9 +550,9 @@ sneaky_alias(<<From:32,L/binary>>) -> [From|sneaky_alias(L)].
coverage(Config) when is_list(Config) ->
?line 0 = coverage_fold(fun(B, A) -> A+B end, 0, <<>>),
?line 6 = coverage_fold(fun(B, A) -> A+B end, 0, <<1,2,3>>),
- ?line {'EXIT',{function_clause,_}} = (catch coverage_fold(fun(B, A) ->
- A+B
- end, 0, [a,b,c])),
+ ?line fc(catch coverage_fold(fun(B, A) ->
+ A+B
+ end, 0, [a,b,c])),
?line {<<>>,not_a_tuple} = coverage_build(<<>>, <<>>, not_a_tuple),
?line {<<16#76,"abc",16#A9,"abc">>,{x,42,43}} =
@@ -573,9 +564,8 @@ coverage(Config) when is_list(Config) ->
?line do_coverage_bin_to_term_list([]),
?line do_coverage_bin_to_term_list([lists:seq(0, 10),{a,b,c},<<23:42>>]),
- ?line {'EXIT',{function_clause,
- [{?MODULE,coverage_bin_to_term_list,[<<0,0,0,7>>]}|_]}} =
- (catch do_coverage_bin_to_term_list_1(<<7:32>>)),
+ ?line fc(coverage_bin_to_term_list, [<<0,0,0,7>>],
+ catch do_coverage_bin_to_term_list_1(<<7:32>>)),
?line <<>> = coverage_per_key(<<4:32>>),
?line <<$a,$b,$c>> = coverage_per_key(<<7:32,"abc">>),
@@ -731,13 +721,12 @@ encode_octet_string(<<OctetString/binary>>, Len) ->
simon(Config) when is_list(Config) ->
?line one = simon(blurf, <<>>),
?line two = simon(0, <<42>>),
- ?line {'EXIT',{function_clause,[{?MODULE,simon,[17,<<1>>]}|_]}} = (catch simon(17, <<1>>)),
- ?line {'EXIT',{function_clause,[{?MODULE,simon,[0,<<1,2,3>>]}|_]}} = (catch simon(0, <<1,2,3>>)),
+ ?line fc(simon, [17,<<1>>], catch simon(17, <<1>>)),
+ ?line fc(simon, [0,<<1,2,3>>], catch simon(0, <<1,2,3>>)),
?line one = simon2(blurf, <<9>>),
?line two = simon2(0, <<9,1>>),
- ?line {'EXIT',{function_clause,[{?MODULE,simon2,[0,<<9,10,11>>]}|_]}} =
- (catch simon2(0, <<9,10,11>>)),
+ ?line fc(simon2, [0,<<9,10,11>>], catch simon2(0, <<9,10,11>>)),
ok.
simon(_, <<>>) -> one;
@@ -985,6 +974,17 @@ haystack_2(Haystack) ->
B
end || {X,Y} <- Subs ].
+fc({'EXIT',{function_clause,_}}) -> ok;
+fc({'EXIT',{{case_clause,_},_}}) when ?MODULE =:= bs_match_inline_SUITE -> ok.
+
+fc(Name, Args, {'EXIT',{function_clause,[{?MODULE,Name,Args}|_]}}) -> ok;
+fc(Name, Args, {'EXIT',{function_clause,[{?MODULE,Name,Arity}|_]}})
+ when length(Args) =:= Arity ->
+ true = test_server:is_native(?MODULE);
+fc(_, Args, {'EXIT',{{case_clause,ActualArgs},_}})
+ when ?MODULE =:= bs_match_inline_SUITE ->
+ Args = tuple_to_list(ActualArgs).
+
check(F, R) ->
R = F().
diff --git a/lib/compiler/test/bs_utf_SUITE.erl b/lib/compiler/test/bs_utf_SUITE.erl
index d93bdef73d..4281874a24 100644
--- a/lib/compiler/test/bs_utf_SUITE.erl
+++ b/lib/compiler/test/bs_utf_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -314,7 +314,7 @@ coverage(Config) when is_list(Config) ->
?line 0 = coverage_2(<<4096/utf8,65536/utf8,0>>),
?line 1 = coverage_2(<<1024/utf8,1025/utf8,1>>),
- ?line {'EXIT',{function_clause,_}} = (catch coverage_3(1)),
+ ?line fc(catch coverage_3(1)),
%% Cover beam_flatten (combining the heap allocation in
%% a subsequent test_heap instruction into the bs_init2
@@ -394,3 +394,5 @@ utf32_data() ->
<<16#41:32/little,NotIdentical:32/little,
16#0391:32/little,16#2E:32/little>>}.
+fc({'EXIT',{function_clause,_}}) -> ok;
+fc({'EXIT',{{case_clause,_},_}}) when ?MODULE =:= bs_utf_inline_SUITE -> ok.
diff --git a/lib/compiler/test/compile_SUITE.erl b/lib/compiler/test/compile_SUITE.erl
index 7c3990a855..e1cc5dafb5 100644
--- a/lib/compiler/test/compile_SUITE.erl
+++ b/lib/compiler/test/compile_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(compile_SUITE).
@@ -625,7 +625,7 @@ core(Config) when is_list(Config) ->
{raw_abstract_v1,Abstr}}]}} =
beam_lib:chunks(Beam, [abstract_code]),
{Mod,Abstr} end || Beam <- TestBeams],
- ?line Res = p_run(fun(F) -> do_core(F, Outdir) end, Abstr),
+ ?line Res = test_lib:p_run(fun(F) -> do_core(F, Outdir) end, Abstr),
?line test_server:timetrap_cancel(Dog),
Res.
@@ -661,7 +661,7 @@ asm(Config) when is_list(Config) ->
?line Wc = filename:join(filename:dirname(code:which(?MODULE)), "*.beam"),
?line TestBeams = filelib:wildcard(Wc),
- ?line Res = p_run(fun(F) -> do_asm(F, Outdir) end, TestBeams),
+ ?line Res = test_lib:p_run(fun(F) -> do_asm(F, Outdir) end, TestBeams),
?line test_server:timetrap_cancel(Dog),
Res.
@@ -688,35 +688,3 @@ do_asm(Beam, Outdir) ->
[M,Class,Error,erlang:get_stacktrace()]),
error
end.
-
-%% p_run(fun() -> ok|error, List) -> ok
-%% Will fail the test case if there were any errors.
-
-p_run(Test, List) ->
- N = erlang:system_info(schedulers) + 1,
- p_run_loop(Test, List, N, [], 0, 0).
-
-p_run_loop(_, [], _, [], Errors, Ws) ->
- case Errors of
- 0 ->
- case Ws of
- 0 -> ok;
- 1 -> {comment,"1 core_lint failure"};
- N -> {comment,integer_to_list(N)++" core_lint failures"}
- end;
- N -> ?t:fail({N,errors})
- end;
-p_run_loop(Test, [H|T], N, Refs, Errors, Ws) when length(Refs) < N ->
- {_,Ref} = erlang:spawn_monitor(fun() -> exit(Test(H)) end),
- p_run_loop(Test, T, N, [Ref|Refs], Errors, Ws);
-p_run_loop(Test, List, N, Refs0, Errors0, Ws0) ->
- receive
- {'DOWN',Ref,process,_,Res} ->
- {Errors,Ws} = case Res of
- ok -> {Errors0,Ws0};
- error -> {Errors0+1,Ws0};
- warning -> {Errors0,Ws0+1}
- end,
- Refs = Refs0 -- [Ref],
- p_run_loop(Test, List, N, Refs, Errors, Ws)
- end.
diff --git a/lib/compiler/test/error_SUITE.erl b/lib/compiler/test/error_SUITE.erl
index cdd2434b25..4530313bb0 100644
--- a/lib/compiler/test/error_SUITE.erl
+++ b/lib/compiler/test/error_SUITE.erl
@@ -21,11 +21,11 @@
-include("test_server.hrl").
-export([all/1,
- head_mismatch_line/1,r11b_binaries/1,warnings_as_errors/1]).
+ head_mismatch_line/1,warnings_as_errors/1]).
all(suite) ->
test_lib:recompile(?MODULE),
- [head_mismatch_line,r11b_binaries,warnings_as_errors].
+ [head_mismatch_line,warnings_as_errors].
%% Tests that a head mismatch is reported on the correct line (OTP-2125).
head_mismatch_line(Config) when is_list(Config) ->
@@ -42,37 +42,6 @@ get_compilation_errors(Config, Filename) ->
?line {error, [{_Name, E}|_], []} = compile:file(File, [return_errors]),
E.
-r11b_binaries(Config) when is_list(Config) ->
- Ts = [{r11b_binaries,
- <<"
- t1(Bin) ->
- case Bin of
- _ when size(Bin) > 20 -> erlang:error(too_long);
- <<_,T/binary>> -> t1(T);
- <<>> -> ok
- end.
-
- t2(<<_,T/bytes>>) ->
- split_binary(T, 4).
-
- t3(X) ->
- <<42,X/binary>>.
-
- t4(X) ->
- <<N:32>> = X,
- N.
- ">>,
- [r11],
- {error,
- [{5,v3_core,no_binaries},
- {6,v3_core,no_binaries},
- {9,v3_core,no_binaries},
- {13,v3_core,no_binaries},
- {16,v3_core,no_binaries}],
- []} }],
- ?line [] = run(Config, Ts),
- ok.
-
warnings_as_errors(Config) when is_list(Config) ->
Ts = [{warnings_as_errors,
<<"
diff --git a/lib/compiler/test/float_SUITE.erl b/lib/compiler/test/float_SUITE.erl
index 3d2dbf47e9..07779ddd5a 100644
--- a/lib/compiler/test/float_SUITE.erl
+++ b/lib/compiler/test/float_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(float_SUITE).
@@ -41,7 +41,7 @@ float_sub(A)->
float_mul(0, _, _)->
ok;
float_mul(Iter, A, B) when is_float(A), is_float(B) ->
- A*B,
+ _ = A*B,
float_mul(Iter-1, A, B).
%% Thanks to Mikael Pettersson and Tobias Lindahl (HiPE).
diff --git a/lib/compiler/test/guard_SUITE.erl b/lib/compiler/test/guard_SUITE.erl
index 5ae41f13e7..aa1b3b16dc 100644
--- a/lib/compiler/test/guard_SUITE.erl
+++ b/lib/compiler/test/guard_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(guard_SUITE).
@@ -31,7 +31,7 @@
t_is_boolean/1,is_function_2/1,
tricky/1,rel_ops/1,literal_type_tests/1,
basic_andalso_orelse/1,traverse_dcd/1,
- check_qlc_hrl/1,andalso_semi/1,tuple_size/1]).
+ check_qlc_hrl/1,andalso_semi/1,tuple_size/1,binary_part/1]).
all(suite) ->
test_lib:recompile(?MODULE),
@@ -43,7 +43,7 @@ all(suite) ->
build_in_guard,old_guard_tests,gbif,
t_is_boolean,is_function_2,tricky,rel_ops,literal_type_tests,
basic_andalso_orelse,traverse_dcd,check_qlc_hrl,andalso_semi,
- tuple_size].
+ tuple_size,binary_part].
misc(Config) when is_list(Config) ->
?line 42 = case id(42) of
@@ -1316,11 +1316,11 @@ cqlc(M, F, As, St) ->
andalso_semi(Config) when is_list(Config) ->
?line ok = andalso_semi_foo(0),
?line ok = andalso_semi_foo(1),
- ?line {'EXIT',{function_clause,_}} = (catch andalso_semi_foo(2)),
+ ?line fc(catch andalso_semi_foo(2)),
?line ok = andalso_semi_bar([a,b,c]),
?line ok = andalso_semi_bar(1),
- ?line {'EXIT',{function_clause,_}} = (catch andalso_semi_bar([a,b])),
+ ?line fc(catch andalso_semi_bar([a,b])),
ok.
andalso_semi_foo(Bar) when is_integer(Bar) andalso Bar =:= 0; Bar =:= 1 ->
@@ -1332,8 +1332,8 @@ andalso_semi_bar(Bar) when is_list(Bar) andalso length(Bar) =:= 3; Bar =:= 1 ->
tuple_size(Config) when is_list(Config) ->
?line 10 = do_tuple_size({1,2,3,4}),
- ?line {'EXIT',{function_clause,_}} = (catch do_tuple_size({1,2,3})),
- ?line {'EXIT',{function_clause,_}} = (catch do_tuple_size(42)),
+ ?line fc(catch do_tuple_size({1,2,3})),
+ ?line fc(catch do_tuple_size(42)),
?line error = ludicrous_tuple_size({a,b,c}),
?line error = ludicrous_tuple_size([a,b,c]),
@@ -1362,6 +1362,146 @@ ludicrous_tuple_size(T)
when tuple_size(T) =:= 16#FFFFFFFFFFFFFFFF -> ok;
ludicrous_tuple_size(_) -> error.
+%%
+%% The binary_part/2,3 guard BIFs
+%%
+-define(MASK_ERROR(EXPR),mask_error((catch (EXPR)))).
+mask_error({'EXIT',{Err,_}}) ->
+ Err;
+mask_error(Else) ->
+ Else.
+
+binary_part(doc) ->
+ ["Tests the binary_part/2,3 guard (GC) bif's"];
+binary_part(Config) when is_list(Config) ->
+ %% This is more or less a copy of what the guard_SUITE in emulator
+ %% does to cover the guard bif's
+ ?line 1 = bptest(<<1,2,3>>),
+ ?line 2 = bptest(<<2,1,3>>),
+ ?line error = bptest(<<1>>),
+ ?line error = bptest(<<>>),
+ ?line error = bptest(apa),
+ ?line 3 = bptest(<<2,3,3>>),
+ % With one variable (pos)
+ ?line 1 = bptest(<<1,2,3>>,1),
+ ?line 2 = bptest(<<2,1,3>>,1),
+ ?line error = bptest(<<1>>,1),
+ ?line error = bptest(<<>>,1),
+ ?line error = bptest(apa,1),
+ ?line 3 = bptest(<<2,3,3>>,1),
+ % With one variable (length)
+ ?line 1 = bptesty(<<1,2,3>>,1),
+ ?line 2 = bptesty(<<2,1,3>>,1),
+ ?line error = bptesty(<<1>>,1),
+ ?line error = bptesty(<<>>,1),
+ ?line error = bptesty(apa,1),
+ ?line 3 = bptesty(<<2,3,3>>,2),
+ % With one variable (whole tuple)
+ ?line 1 = bptestx(<<1,2,3>>,{1,1}),
+ ?line 2 = bptestx(<<2,1,3>>,{1,1}),
+ ?line error = bptestx(<<1>>,{1,1}),
+ ?line error = bptestx(<<>>,{1,1}),
+ ?line error = bptestx(apa,{1,1}),
+ ?line 3 = bptestx(<<2,3,3>>,{1,2}),
+ % With two variables
+ ?line 1 = bptest(<<1,2,3>>,1,1),
+ ?line 2 = bptest(<<2,1,3>>,1,1),
+ ?line error = bptest(<<1>>,1,1),
+ ?line error = bptest(<<>>,1,1),
+ ?line error = bptest(apa,1,1),
+ ?line 3 = bptest(<<2,3,3>>,1,2),
+ % Direct (autoimported) call, these will be evaluated by the compiler...
+ ?line <<2>> = binary_part(<<1,2,3>>,1,1),
+ ?line <<1>> = binary_part(<<2,1,3>>,1,1),
+ % Compiler warnings due to constant evaluation expected (3)
+ ?line badarg = ?MASK_ERROR(binary_part(<<1>>,1,1)),
+ ?line badarg = ?MASK_ERROR(binary_part(<<>>,1,1)),
+ ?line badarg = ?MASK_ERROR(binary_part(apa,1,1)),
+ ?line <<3,3>> = binary_part(<<2,3,3>>,1,2),
+ % Direct call through apply
+ ?line <<2>> = apply(erlang,binary_part,[<<1,2,3>>,1,1]),
+ ?line <<1>> = apply(erlang,binary_part,[<<2,1,3>>,1,1]),
+ % Compiler warnings due to constant evaluation expected (3)
+ ?line badarg = ?MASK_ERROR(apply(erlang,binary_part,[<<1>>,1,1])),
+ ?line badarg = ?MASK_ERROR(apply(erlang,binary_part,[<<>>,1,1])),
+ ?line badarg = ?MASK_ERROR(apply(erlang,binary_part,[apa,1,1])),
+ ?line <<3,3>> = apply(erlang,binary_part,[<<2,3,3>>,1,2]),
+ % Constant propagation
+ ?line Bin = <<1,2,3>>,
+ ?line ok = if
+ binary_part(Bin,1,1) =:= <<2>> ->
+ ok;
+ %% Compiler warning, clause cannot match (expected)
+ true ->
+ error
+ end,
+ ?line ok = if
+ binary_part(Bin,{1,1}) =:= <<2>> ->
+ ok;
+ %% Compiler warning, clause cannot match (expected)
+ true ->
+ error
+ end,
+ ok.
+
+
+bptest(B) when length(B) =:= 1337 ->
+ 1;
+bptest(B) when binary_part(B,{1,1}) =:= <<2>> ->
+ 1;
+bptest(B) when erlang:binary_part(B,1,1) =:= <<1>> ->
+ 2;
+bptest(B) when erlang:binary_part(B,{1,2}) =:= <<3,3>> ->
+ 3;
+bptest(_) ->
+ error.
+
+bptest(B,A) when length(B) =:= A ->
+ 1;
+bptest(B,A) when binary_part(B,{A,1}) =:= <<2>> ->
+ 1;
+bptest(B,A) when erlang:binary_part(B,A,1) =:= <<1>> ->
+ 2;
+bptest(B,A) when erlang:binary_part(B,{A,2}) =:= <<3,3>> ->
+ 3;
+bptest(_,_) ->
+ error.
+
+bptestx(B,A) when length(B) =:= A ->
+ 1;
+bptestx(B,A) when binary_part(B,A) =:= <<2>> ->
+ 1;
+bptestx(B,A) when erlang:binary_part(B,A) =:= <<1>> ->
+ 2;
+bptestx(B,A) when erlang:binary_part(B,A) =:= <<3,3>> ->
+ 3;
+bptestx(_,_) ->
+ error.
+
+bptesty(B,A) when length(B) =:= A ->
+ 1;
+bptesty(B,A) when binary_part(B,{1,A}) =:= <<2>> ->
+ 1;
+bptesty(B,A) when erlang:binary_part(B,1,A) =:= <<1>> ->
+ 2;
+bptesty(B,A) when erlang:binary_part(B,{1,A}) =:= <<3,3>> ->
+ 3;
+bptesty(_,_) ->
+ error.
+
+bptest(B,A,_C) when length(B) =:= A ->
+ 1;
+bptest(B,A,C) when binary_part(B,{A,C}) =:= <<2>> ->
+ 1;
+bptest(B,A,C) when erlang:binary_part(B,A,C) =:= <<1>> ->
+ 2;
+bptest(B,A,C) when erlang:binary_part(B,{A,C}) =:= <<3,3>> ->
+ 3;
+bptest(_,_,_) ->
+ error.
+
+
+
%% Call this function to turn off constant propagation.
id(I) -> I.
@@ -1374,3 +1514,6 @@ check(F, Result) ->
io:format(" Got: ~p\n", [Other]),
test_server:fail()
end.
+
+fc({'EXIT',{function_clause,_}}) -> ok;
+fc({'EXIT',{{case_clause,_},_}}) when ?MODULE =:= guard_inline_SUITE -> ok.
diff --git a/lib/compiler/test/inline_SUITE_data/decode1.erl b/lib/compiler/test/inline_SUITE_data/decode1.erl
index d51bedcb2e..9b4fc071a3 100644
--- a/lib/compiler/test/inline_SUITE_data/decode1.erl
+++ b/lib/compiler/test/inline_SUITE_data/decode1.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2006-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2006-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%----------------------------------------------------------------------
@@ -37,25 +37,25 @@
FrameList = [89,128,0,8,132,0,26,133,133,0,38,148,94,
128,0,2,129,128,92,128,0,2,0,0,112,128,0,
10,194,69,0,0,0,0,0,18,52,95],
- Frame = concat_binary([list_to_binary([89]),list_to_binary([128]),
- list_to_binary([0]),list_to_binary([8]),
- list_to_binary([132]),list_to_binary([0]),
- list_to_binary([26]),list_to_binary([133]),
- list_to_binary([133]),list_to_binary([0]),
- list_to_binary([38]),list_to_binary([148]),
- list_to_binary([94]),list_to_binary([128]),
- list_to_binary([0]),list_to_binary([2]),
- list_to_binary([129]),list_to_binary([128]),
- list_to_binary([92]),list_to_binary([128]),
- list_to_binary([0]),list_to_binary([2]),
- list_to_binary([0]),list_to_binary([0]),
- list_to_binary([112]),list_to_binary([128]),
- list_to_binary([0]),list_to_binary([10]),
- list_to_binary([194]),list_to_binary([69]),
- list_to_binary([0]),list_to_binary([0]),
- list_to_binary([0]),list_to_binary([0]),
- list_to_binary([0]),list_to_binary([18]),
- list_to_binary([52]),list_to_binary([95])]),
+ Frame = list_to_binary([list_to_binary([89]),list_to_binary([128]),
+ list_to_binary([0]),list_to_binary([8]),
+ list_to_binary([132]),list_to_binary([0]),
+ list_to_binary([26]),list_to_binary([133]),
+ list_to_binary([133]),list_to_binary([0]),
+ list_to_binary([38]),list_to_binary([148]),
+ list_to_binary([94]),list_to_binary([128]),
+ list_to_binary([0]),list_to_binary([2]),
+ list_to_binary([129]),list_to_binary([128]),
+ list_to_binary([92]),list_to_binary([128]),
+ list_to_binary([0]),list_to_binary([2]),
+ list_to_binary([0]),list_to_binary([0]),
+ list_to_binary([112]),list_to_binary([128]),
+ list_to_binary([0]),list_to_binary([10]),
+ list_to_binary([194]),list_to_binary([69]),
+ list_to_binary([0]),list_to_binary([0]),
+ list_to_binary([0]),list_to_binary([0]),
+ list_to_binary([0]),list_to_binary([18]),
+ list_to_binary([52]),list_to_binary([95])]),
R = loop(2,0,Frame),
{R,R =:= {0,[{ie,112,itu_t_standard,ignore,10,<<194,69,0,0,0,0,0,18,52,95>>},
diff --git a/lib/compiler/test/lc_SUITE.erl b/lib/compiler/test/lc_SUITE.erl
index e62b2cd77e..40bf67e1fa 100644
--- a/lib/compiler/test/lc_SUITE.erl
+++ b/lib/compiler/test/lc_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(lc_SUITE).
@@ -66,8 +66,7 @@ basic(Config) when is_list(Config) ->
?line {'EXIT',_} = (catch [X || X <- L1, list_to_atom(X) == dum]),
?line [] = [X || X <- L1, X+1 < 2],
?line {'EXIT',_} = (catch [X || X <- L1, odd(X)]),
- ?line {'EXIT',{function_clause,[{?MODULE,_,[x]}|_]}} =
- (catch [E || E <- id(x)]),
+ ?line fc([x], catch [E || E <- id(x)]),
ok.
tuple_list() ->
@@ -160,3 +159,10 @@ empty_generator(Config) when is_list(Config) ->
id(I) -> I.
+fc(Args, {'EXIT',{function_clause,[{?MODULE,_,Args}|_]}}) -> ok;
+fc(Args, {'EXIT',{function_clause,[{?MODULE,Name,Arity}|_]}})
+ when length(Args) =:= Arity ->
+ true = test_server:is_native(?MODULE);
+fc(Args, {'EXIT',{{case_clause,ActualArgs},_}})
+ when ?MODULE =:= lc_inline_SUITE ->
+ Args = tuple_to_list(ActualArgs).
diff --git a/lib/compiler/test/match_SUITE.erl b/lib/compiler/test/match_SUITE.erl
index 20969c0b26..9c4687efa1 100644
--- a/lib/compiler/test/match_SUITE.erl
+++ b/lib/compiler/test/match_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(match_SUITE).
@@ -21,14 +21,14 @@
-export([all/1,
pmatch/1,mixed/1,aliases/1,match_in_call/1,
untuplify/1,shortcut_boolean/1,letify_guard/1,
- selectify/1]).
+ selectify/1,underscore/1]).
-include("test_server.hrl").
all(suite) ->
test_lib:recompile(?MODULE),
[pmatch,mixed,aliases,match_in_call,untuplify,shortcut_boolean,
- letify_guard,selectify].
+ letify_guard,selectify,underscore].
pmatch(Config) when is_list(Config) ->
?line ok = doit(1),
@@ -352,4 +352,16 @@ sel_same_value2(V) when V =:= 42; V =:= 43 ->
sel_same_value2(_) ->
error.
+underscore(Config) when is_list(Config) ->
+ case Config of
+ [] ->
+ %% Assignment to _ at the end of a construct.
+ _ = length(Config);
+ [_|_] ->
+ %% Assignment to _ at the end of a construct.
+ _ = list_to_tuple(Config)
+ end,
+ _ = is_list(Config),
+ ok.
+
id(I) -> I.
diff --git a/lib/compiler/test/misc_SUITE.erl b/lib/compiler/test/misc_SUITE.erl
index e096571d50..793c53ac31 100644
--- a/lib/compiler/test/misc_SUITE.erl
+++ b/lib/compiler/test/misc_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2006-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2006-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(misc_SUITE).
@@ -24,6 +24,10 @@
-include("test_server.hrl").
+%% Include an opaque declaration to cover the stripping of
+%% opaque types from attributes in v3_kernel.
+-opaque misc_SUITE_test_cases() :: [atom()].
+
init_per_testcase(Case, Config) when is_atom(Case), is_list(Config) ->
Dog = test_server:timetrap(?t:minutes(10)),
[{watchdog,Dog}|Config].
@@ -33,6 +37,8 @@ fin_per_testcase(Case, Config) when is_atom(Case), is_list(Config) ->
?t:timetrap_cancel(Dog),
ok.
+-spec all(any()) -> misc_SUITE_test_cases().
+
all(suite) ->
test_lib:recompile(?MODULE),
[tobias,empty_string,md5,silly_coverage,confused_literals,
@@ -92,7 +98,7 @@ md5_1(Beam) ->
silly_coverage(Config) when is_list(Config) ->
%% sys_core_fold, sys_core_setel, v3_kernel
BadCoreErlang = {c_module,[],
- name,exports,attrs,
+ name,[],[],
[{{c_var,[],{foo,2}},seriously_bad_body}]},
?line expect_error(fun() -> sys_core_fold:module(BadCoreErlang, []) end),
?line expect_error(fun() -> sys_core_dsetel:module(BadCoreErlang, []) end),
@@ -154,6 +160,17 @@ silly_coverage(Config) when is_list(Config) ->
{test,bs_get_binary2,{f,99},0,[{x,0},{atom,all},1,[]],{x,0}},
{block,[a|b]}]}],0},
?line expect_error(fun() -> beam_bsm:module(BsmInput, []) end),
+
+ %% beam_receive.
+ ReceiveInput = {?MODULE,[{foo,0}],[],
+ [{function,foo,0,2,
+ [{label,1},
+ {func_info,{atom,?MODULE},{atom,foo},0},
+ {label,2},
+ {call_ext,0,{extfunc,erlang,make_ref,0}},
+ {block,[a|b]}]}],0},
+ ?line expect_error(fun() -> beam_receive:module(ReceiveInput, []) end),
+
ok.
expect_error(Fun) ->
diff --git a/lib/compiler/test/num_bif_SUITE.erl b/lib/compiler/test/num_bif_SUITE.erl
index c246f56611..912f7366dd 100644
--- a/lib/compiler/test/num_bif_SUITE.erl
+++ b/lib/compiler/test/num_bif_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(num_bif_SUITE).
@@ -166,7 +166,7 @@ t_list_to_float_safe(Config) when is_list(Config) ->
t_list_to_float_risky(Config) when is_list(Config) ->
?line Many_Ones = lists:duplicate(25000, $1),
- ?line list_to_float("2."++Many_Ones),
+ ?line _ = list_to_float("2."++Many_Ones),
?line {'EXIT', {badarg, _}} = (catch list_to_float("2"++Many_Ones)),
ok.
@@ -186,7 +186,7 @@ t_list_to_integer(Config) when is_list(Config) ->
%% Bignums.
?line 123456932798748738738 = list_to_integer("123456932798748738738"),
- ?line list_to_integer(lists:duplicate(2000, $1)),
+ ?line _ = list_to_integer(lists:duplicate(2000, $1)),
ok.
%% Tests round/1.
diff --git a/lib/compiler/test/pmod_SUITE.erl b/lib/compiler/test/pmod_SUITE.erl
index 293e110c45..13503ce905 100644
--- a/lib/compiler/test/pmod_SUITE.erl
+++ b/lib/compiler/test/pmod_SUITE.erl
@@ -38,8 +38,8 @@ fin_per_testcase(Case, Config) when is_atom(Case), is_list(Config) ->
basic(Config) when is_list(Config) ->
?line basic_1(Config, []),
-% ?line basic_1(Config, [inline]),
-% ?line basic_1(Config, [{inline,500},inline]),
+ ?line basic_1(Config, [inline]),
+ ?line basic_1(Config, [{inline,500},inline]),
ok.
basic_1(Config, Opts) ->
diff --git a/lib/compiler/test/receive_SUITE.erl b/lib/compiler/test/receive_SUITE.erl
index cb8833759a..fca3f0387b 100644
--- a/lib/compiler/test/receive_SUITE.erl
+++ b/lib/compiler/test/receive_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%% Purpose : Compiles various modules with tough code
@@ -21,7 +21,7 @@
-module(receive_SUITE).
-export([all/1,init_per_testcase/2,fin_per_testcase/2,
- recv/1,coverage/1,otp_7980/1]).
+ recv/1,coverage/1,otp_7980/1,ref_opt/1]).
-include("test_server.hrl").
@@ -36,7 +36,7 @@ fin_per_testcase(_Case, Config) ->
all(suite) ->
test_lib:recompile(?MODULE),
- [recv,coverage,otp_7980].
+ [recv,coverage,otp_7980,ref_opt].
-record(state, {ena = true}).
@@ -157,5 +157,52 @@ otp_7980_add_clients(Count) ->
end,
N - 1
end, Count, [1,2,3]).
-
+
+ref_opt(Config) when is_list(Config) ->
+ case ?MODULE of
+ receive_SUITE -> ref_opt_1(Config);
+ _ -> {skip,"Enough to run this case once."}
+ end.
+
+ref_opt_1(Config) ->
+ ?line DataDir = ?config(data_dir, Config),
+ ?line PrivDir = ?config(priv_dir, Config),
+ ?line Sources = filelib:wildcard(filename:join([DataDir,"ref_opt","*.erl"])),
+ ?line test_lib:p_run(fun(Src) ->
+ do_ref_opt(Src, PrivDir)
+ end, Sources),
+ ok.
+
+do_ref_opt(Source, PrivDir) ->
+ try
+ {ok,Mod} = c:c(Source, [{outdir,PrivDir}]),
+ ok = Mod:Mod(),
+ Base = filename:rootname(filename:basename(Source), ".erl"),
+ BeamFile = filename:join(PrivDir, Base),
+ {beam_file,Mod,_,_,_,Code} = beam_disasm:file(BeamFile),
+ case Base of
+ "no_"++_ ->
+ [] = collect_recv_opt_instrs(Code);
+ "yes_"++_ ->
+ [{recv_mark,{f,L}},{recv_set,{f,L}}] =
+ collect_recv_opt_instrs(Code)
+ end,
+ ok
+ catch Class:Error ->
+ io:format("~s: ~p ~p\n~p\n",
+ [Source,Class,Error,erlang:get_stacktrace()]),
+ error
+ end.
+
+collect_recv_opt_instrs(Code) ->
+ L = [ [I || I <- Is,
+ begin
+ case I of
+ {recv_mark,{f,_}} -> true;
+ {recv_set,{f,_}} -> true;
+ _ -> false
+ end
+ end] || {function,_,_,_,Is} <- Code],
+ lists:append(L).
+
id(I) -> I.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/no_1.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/no_1.erl
new file mode 100644
index 0000000000..bc63dac437
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/no_1.erl
@@ -0,0 +1,99 @@
+-module(no_1).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f1(X) ->
+ Ref = make_ref(),
+ receive
+ _ when [X] =:= Ref ->
+ ok
+ end.
+
+f2(X, Y) ->
+ _Ref = make_ref(),
+ receive
+ _ when X =:= Y ->
+ ok
+ end.
+
+f3(X) ->
+ Ref = make_ref(),
+ receive
+ _ when X =:= Ref ->
+ ok
+ end.
+
+f4(X) ->
+ Ref = make_ref(),
+ receive
+ {X,_} when not X =:= Ref ->
+ ok
+ end.
+
+f5(X) ->
+ Ref = make_ref(),
+ receive
+ {Y,_} when X =:= Y; Y =:= Ref ->
+ ok
+ end.
+
+f6(X) ->
+ Ref = make_ref(),
+ receive
+ {Y,_} when Y =:= Ref; Ref =:= X ->
+ ok
+ end.
+
+f7(X) ->
+ Ref = make_ref(),
+ receive
+ {Y,_} when Y =:= Ref; not (X =:= Ref) ->
+ ok
+ end.
+
+f8(X) ->
+ Ref = make_ref(),
+ receive
+ {Y,_} when not (X =:= Ref); Y =:= Ref ->
+ ok
+ end.
+
+f9(X) ->
+ Ref = make_ref(),
+ receive
+ {Y,_} when (not (X =:= Ref)) or (Y =:= Ref) ->
+ ok
+ end.
+
+f10(X, Y) ->
+ Ref = make_ref(),
+ receive
+ {Z,_} when not (X =:= Y andalso Z =:= Ref) ->
+ ok
+ end.
+
+f11(X, Y) ->
+ Ref = make_ref(),
+ receive
+ {Z,_} when not ((X =:= Y) and (Z =:= Ref)) ->
+ ok
+ end.
+
+f12(X, Y) ->
+ Ref = make_ref(),
+ receive
+ {Z,_} when not ((Z =:= Ref) and (X =:= Y)) ->
+ ok
+ end.
+
+f13() ->
+ Ref = make_ref(),
+ RefCopy = id(Ref),
+ receive
+ _ when hd([RefCopy]) =:= Ref ->
+ ok
+ end.
+
+id(I) -> I.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/no_2.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/no_2.erl
new file mode 100644
index 0000000000..bc8d30c2ac
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/no_2.erl
@@ -0,0 +1,26 @@
+-module(no_2).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f1() ->
+ Ref = make_ref(),
+ receive
+ {'DOWN',Ref} ->
+ ok;
+ {'DOWN',_} ->
+ ok
+ end.
+
+f2(Pid, Msg) ->
+ Ref = erlang:monitor(process, Pid),
+ Pid ! Msg,
+ receive
+ {ok,Ref,Reply} ->
+ {ok,Reply};
+ {error,Ref,Reply} ->
+ {error,Reply};
+ {error,A,B} ->
+ {error,A,B}
+ end.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/no_3.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/no_3.erl
new file mode 100644
index 0000000000..44cf8d7f71
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/no_3.erl
@@ -0,0 +1,14 @@
+-module(no_3).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f(X) ->
+ Ref = case X of
+ false -> ref;
+ true -> make_ref()
+ end,
+ receive
+ Ref -> ok
+ end.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/yes_1.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_1.erl
new file mode 100644
index 0000000000..e2ebe234c1
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_1.erl
@@ -0,0 +1,12 @@
+-module(yes_1).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f() ->
+ Ref = make_ref(),
+ receive
+ {Ref,Reply} ->
+ Reply
+ end.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/yes_2.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_2.erl
new file mode 100644
index 0000000000..6077cdcab9
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_2.erl
@@ -0,0 +1,13 @@
+-module(yes_2).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f(Pid, Msg) ->
+ Ref = make_ref(),
+ Pid ! Msg,
+ receive
+ {Ref,Reply} ->
+ Reply
+ end.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/yes_3.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_3.erl
new file mode 100644
index 0000000000..28efc542ae
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_3.erl
@@ -0,0 +1,16 @@
+-module(yes_3).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f(Pid, Msg) ->
+ Ref = make_ref(),
+ do_send(Pid, Msg),
+ receive
+ {Ref,Reply} ->
+ Reply
+ end.
+
+do_send(Pid, Msg) ->
+ Pid ! Msg.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl
new file mode 100644
index 0000000000..d1ba4832c7
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl
@@ -0,0 +1,16 @@
+-module(yes_4).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f(Pid, Msg) ->
+ Ref = make_ref(),
+ catch do_send(Pid, Msg),
+ receive
+ {Ref,Reply} ->
+ Reply
+ end.
+
+do_send(Pid, Msg) ->
+ Pid ! Msg.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/yes_5.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_5.erl
new file mode 100644
index 0000000000..3f02fba6a6
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_5.erl
@@ -0,0 +1,46 @@
+-module(yes_5).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+do_call(Process, Label, Request, Timeout) ->
+ Node = case Process of
+ {_S, N} when is_atom(N) ->
+ N;
+ _ when is_pid(Process) ->
+ node(Process)
+ end,
+ try erlang:monitor(process, Process) of
+ Mref ->
+ catch erlang:send(Process, {Label, {self(), Mref}, Request},
+ [noconnect]),
+ receive
+ {Mref, Reply} ->
+ erlang:demonitor(Mref, [flush]),
+ {ok, Reply};
+ {'DOWN', Mref, _, _, noconnection} ->
+ exit({nodedown, Node});
+ {'DOWN', Mref, _, _, Reason} ->
+ exit(Reason)
+ after Timeout ->
+ erlang:demonitor(Mref),
+ receive
+ {'DOWN', Mref, _, _, _} -> true
+ after 0 -> true
+ end,
+ exit(timeout)
+ end
+ catch
+ error:_ ->
+ monitor_node(Node, true),
+ receive
+ {nodedown, Node} ->
+ monitor_node(Node, false),
+ exit({nodedown, Node})
+ after 0 ->
+ Tag = make_ref(),
+ Process ! {Label, {self(), Tag}, Request},
+ ?MODULE:wait_resp(Node, Tag, Timeout)
+ end
+ end.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/yes_6.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_6.erl
new file mode 100644
index 0000000000..c54b636aa6
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_6.erl
@@ -0,0 +1,15 @@
+-module(yes_6).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f(Pid, Msg) ->
+ Ref = erlang:monitor(process, Pid),
+ Pid ! Msg,
+ receive
+ {ok,Ref,Reply} ->
+ {ok,Reply};
+ {error,Ref,Reply} ->
+ {error,Reply}
+ end.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/yes_7.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_7.erl
new file mode 100644
index 0000000000..849eab1746
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_7.erl
@@ -0,0 +1,12 @@
+-module(yes_7).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f(X, Y) ->
+ Ref = make_ref(),
+ receive
+ {Z,_} when X =:= Y, Ref =:= Z ->
+ ok
+ end.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/yes_8.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_8.erl
new file mode 100644
index 0000000000..a47fe8cfbf
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_8.erl
@@ -0,0 +1,15 @@
+-module(yes_8).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+%% Cover use of floating point registers.
+
+f(Pid, X) when is_float(X) ->
+ Ref = make_ref(),
+ Pid ! {X+3},
+ receive
+ Ref ->
+ ok
+ end.
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/yes_9.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_9.erl
new file mode 100644
index 0000000000..97fce5e734
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_9.erl
@@ -0,0 +1,13 @@
+-module(yes_9).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f(Fun) ->
+ Ref = make_ref(),
+ Fun(),
+ receive
+ {Ref,Reply} ->
+ Reply
+ end.
diff --git a/lib/compiler/test/record_SUITE.erl b/lib/compiler/test/record_SUITE.erl
index bd2ffd7f65..f26ff769c7 100644
--- a/lib/compiler/test/record_SUITE.erl
+++ b/lib/compiler/test/record_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%% Purpose : Test records.
@@ -24,7 +24,7 @@
-export([all/1,init_per_testcase/2,fin_per_testcase/2,
errors/1,record_test_2/1,record_test_3/1,record_access_in_guards/1,
- guard_opt/1,eval_once/1,foobar/1,missing_test_heap/1]).
+ guard_opt/1,eval_once/1,foobar/1,missing_test_heap/1, nested_access/1]).
init_per_testcase(_Case, Config) ->
?line Dog = test_server:timetrap(test_server:minutes(2)),
@@ -38,7 +38,7 @@ fin_per_testcase(_Case, Config) ->
all(suite) ->
test_lib:recompile(?MODULE),
[errors,record_test_2,record_test_3,record_access_in_guards,
- guard_opt,eval_once,foobar,missing_test_heap].
+ guard_opt,eval_once,foobar,missing_test_heap,nested_access].
-record(foo, {a,b,c,d}).
-record(bar, {a,b,c,d}).
@@ -522,4 +522,29 @@ missing_test_heap_1(A = #foo_rec {foo_1 = _B,
foo_3 = C + 1,
foo_2 = D + 1}.
+-record(nrec0, {name = <<"nested0">>}).
+-record(nrec1, {name = <<"nested1">>, nrec0=#nrec0{}}).
+-record(nrec2, {name = <<"nested2">>, nrec1=#nrec1{}}).
+
+nested_access(Config) when is_list(Config) ->
+ N0 = #nrec0{},
+ N1 = #nrec1{},
+ N2 = #nrec2{},
+ ?line <<"nested0">> = N0#nrec0.name,
+ ?line <<"nested1">> = N1#nrec1.name,
+ ?line <<"nested2">> = N2#nrec2.name,
+ ?line <<"nested0">> = N1#nrec1.nrec0#nrec0.name,
+ ?line <<"nested0">> = N2#nrec2.nrec1#nrec1.nrec0#nrec0.name,
+ ?line <<"nested1">> = N2#nrec2.nrec1#nrec1.name,
+ ?line <<"nested0">> = ((N2#nrec2.nrec1)#nrec1.nrec0)#nrec0.name,
+
+ N1a = N2#nrec2.nrec1#nrec1{name = <<"nested1a">>},
+ ?line <<"nested1a">> = N1a#nrec1.name,
+
+ N2a = N2#nrec2.nrec1#nrec1.nrec0#nrec0{name = <<"nested0a">>},
+ N2b = ((N2#nrec2.nrec1)#nrec1.nrec0)#nrec0{name = <<"nested0a">>},
+ ?line <<"nested0a">> = N2a#nrec0.name,
+ ?line N2a = N2b,
+ ok.
+
id(I) -> I.
diff --git a/lib/compiler/test/test_lib.erl b/lib/compiler/test/test_lib.erl
index 3099538071..05236ee010 100644
--- a/lib/compiler/test/test_lib.erl
+++ b/lib/compiler/test/test_lib.erl
@@ -1,26 +1,26 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(test_lib).
-include("test_server.hrl").
--export([recompile/1,opt_opts/1,get_data_dir/1,smoke_disasm/1]).
+-export([recompile/1,opt_opts/1,get_data_dir/1,smoke_disasm/1,p_run/2]).
recompile(Mod) when is_atom(Mod) ->
case whereis(cover_server) of
@@ -56,10 +56,9 @@ opt_opts(Mod) ->
(no_new_binaries) -> true;
(no_new_apply) -> true;
(no_gc_bifs) -> true;
- (no_constant_pool) -> true;
(no_stack_trimming) -> true;
- (no_binaries) -> true;
(debug_info) -> true;
+ (inline) -> true;
(_) -> false
end, Opts).
@@ -71,5 +70,37 @@ get_data_dir(Config) ->
Data0 = ?config(data_dir, Config),
{ok,Data1,_} = regexp:sub(Data0, "_no_opt_SUITE", "_SUITE"),
{ok,Data2,_} = regexp:sub(Data1, "_post_opt_SUITE", "_SUITE"),
- {ok,Data,_} = regexp:sub(Data2, "_r11_SUITE", "_SUITE"),
+ {ok,Data,_} = regexp:sub(Data2, "_inline_SUITE", "_SUITE"),
Data.
+
+%% p_run(fun(Data) -> ok|error, List) -> ok
+%% Will fail the test case if there were any errors.
+
+p_run(Test, List) ->
+ N = erlang:system_info(schedulers) + 1,
+ p_run_loop(Test, List, N, [], 0, 0).
+
+p_run_loop(_, [], _, [], Errors, Ws) ->
+ case Errors of
+ 0 ->
+ case Ws of
+ 0 -> ok;
+ 1 -> {comment,"1 warning"};
+ N -> {comment,integer_to_list(N)++" warnings"}
+ end;
+ N -> ?t:fail({N,errors})
+ end;
+p_run_loop(Test, [H|T], N, Refs, Errors, Ws) when length(Refs) < N ->
+ {_,Ref} = erlang:spawn_monitor(fun() -> exit(Test(H)) end),
+ p_run_loop(Test, T, N, [Ref|Refs], Errors, Ws);
+p_run_loop(Test, List, N, Refs0, Errors0, Ws0) ->
+ receive
+ {'DOWN',Ref,process,_,Res} ->
+ {Errors,Ws} = case Res of
+ ok -> {Errors0,Ws0};
+ error -> {Errors0+1,Ws0};
+ warning -> {Errors0,Ws0+1}
+ end,
+ Refs = Refs0 -- [Ref],
+ p_run_loop(Test, List, N, Refs, Errors, Ws)
+ end.
diff --git a/lib/compiler/test/warnings_SUITE.erl b/lib/compiler/test/warnings_SUITE.erl
index 6e60ab88cb..5ed8836c70 100644
--- a/lib/compiler/test/warnings_SUITE.erl
+++ b/lib/compiler/test/warnings_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(warnings_SUITE).
@@ -375,7 +375,12 @@ effect(Config) when is_list(Config) ->
comp_op ->
X =:= 2;
cookie ->
- erlang:get_cookie()
+ erlang:get_cookie();
+ result_ignore ->
+ _ = list_to_integer(X);
+ warn_lc_4 ->
+ %% No warning because of assignment to _.
+ [_ = abs(Z) || Z <- [1,2,3]]
end,
ok.
diff --git a/lib/cosEvent/doc/src/notes.xml b/lib/cosEvent/doc/src/notes.xml
index 78299a38dc..b6c4531901 100644
--- a/lib/cosEvent/doc/src/notes.xml
+++ b/lib/cosEvent/doc/src/notes.xml
@@ -33,6 +33,22 @@
</header>
<section>
+ <title>cosEvent 2.1.9</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>
+ Test suites published.</p>
+ <p>
+ Own Id: OTP-8543 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosEvent 2.1.8</title>
<section>
diff --git a/lib/cosEvent/test/Makefile b/lib/cosEvent/test/Makefile
new file mode 100644
index 0000000000..3d95075ee1
--- /dev/null
+++ b/lib/cosEvent/test/Makefile
@@ -0,0 +1,154 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 1999-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include ../vsn.mk
+VSN=$(COSEVENT_VSN)
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/cosEvent_test
+
+# ----------------------------------------------------
+# Target Specs
+# ----------------------------------------------------
+TEST_SPEC_FILE = cosEvent.spec
+
+
+IDL_FILES = \
+ event_test_server.idl \
+
+IDLOUTDIR = idl_output
+
+MODULES = \
+ event_test_PushC_impl \
+ event_test_PullC_impl \
+ event_test_PushS_impl \
+ event_test_PullS_impl \
+ event_channel_SUITE \
+ generated_SUITE
+
+GEN_MOD_COS = \
+ event_test_PullC \
+ event_test_PushS \
+ event_test_PullS \
+ oe_event_test_server \
+ event_test_PushC
+
+GEN_HRL_COS = \
+ event_test.hrl \
+ event_test_PushC.hrl \
+ event_test_PullC.hrl \
+ event_test_PushS.hrl \
+ event_test_PullS.hrl \
+ oe_event_test_server.hrl
+
+
+GEN_MODULES = $(GEN_MOD_COS)
+
+ERL_FILES = $(MODULES:%=%.erl)
+
+HRL_FILES =
+
+GEN_HRL_FILES = $(GEN_HRL_COS)
+
+GEN_FILES = \
+ $(GEN_HRL_FILES:%=$(IDLOUTDIR)/%) \
+ $(GEN_MODULES:%=$(IDLOUTDIR)/%.erl)
+
+GEN_TARGET_FILES = $(GEN_MODULES:%=$(IDLOUTDIR)/%.$(EMULATOR))
+
+SUITE_TARGET_FILES = $(MODULES:%=%.$(EMULATOR))
+
+TARGET_FILES = \
+ $(GEN_TARGET_FILES) \
+ $(SUITE_TARGET_FILES)
+
+# ----------------------------------------------------
+# PROGRAMS
+# ----------------------------------------------------
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+ERL_IDL_FLAGS += -pa $(ERL_TOP)/lib/orber/ebin -pa $(ERL_TOP)/lib/ic/ebin
+
+ERL_COMPILE_FLAGS += $(ERL_IDL_FLAGS) \
+ -pa $(ERL_TOP)/lib/test_server/ebin \
+ -pa $(ERL_TOP)/lib/cosEvent/ebin \
+ -pa $(ERL_TOP)/lib/cosEvent/test/idl_output \
+ -I$(ERL_TOP)/lib/cosEvent \
+ -I$(ERL_TOP)/lib/cosEvent/test/$(IDLOUTDIR) \
+ -I$(ERL_TOP)/lib/test_server/include
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+tests debug opt: $(TARGET_FILES)
+
+clean:
+ rm -f idl_output/*
+ rm -rf java_initial_reference_idl java_cos_naming_idl
+ rm -rf java_iiop_module_idl java_output/*
+ rm -f $(TARGET_FILES)
+ rm -f errs core *~
+
+
+docs:
+
+# ----------------------------------------------------
+# Special Targets
+# ----------------------------------------------------
+
+#
+# Each IDL file produces many target files so no pattern
+# rule can be used.
+#
+TGT_COS = \
+ $(GEN_HRL_COS:%=$(IDLOUTDIR)/%) \
+ $(GEN_MOD_COS:%=$(IDLOUTDIR)/%.erl)
+
+
+$(TGT_COS): event_test_server.idl
+ erlc $(ERL_IDL_FLAGS) -o$(IDLOUTDIR) event_test_server.idl
+
+# ----------------------------------------------------
+# Release Targets
+# ----------------------------------------------------
+# We don't copy generated intermediate erlang and hrl files
+
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_spec:
+
+release_docs_spec:
+
+release_tests_spec: tests
+ $(INSTALL_DIR) $(RELSYSDIR)
+ $(INSTALL_DATA) $(IDL_FILES) $(TEST_SPEC_FILE) \
+ $(ERL_FILES) $(RELSYSDIR)
+ $(INSTALL_DATA) $(SUITE_TARGET_FILES) $(RELSYSDIR)
+ $(INSTALL_DIR) $(RELSYSDIR)/$(IDLOUTDIR)
+ $(INSTALL_DATA) $(GEN_TARGET_FILES) $(GEN_FILES) \
+ $(RELSYSDIR)/$(IDLOUTDIR)
+
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/a_SeqIn.erl b/lib/cosEvent/test/cosEvent.spec
index a447524358..910f7a7c28 100644
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/a_SeqIn.erl
+++ b/lib/cosEvent/test/cosEvent.spec
@@ -1,31 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
-%% %CopyrightEnd%
%%
+%% %CopyrightEnd%
%%
-
--module(a_SeqIn).
-
--export([record_name/0]).
-
--include("Seq.hrl").
-
-record_name()->
- Rec = #a_SeqIn{boolIn=true,intIn=12},
- element(1,Rec).
-
-
+{topcase, {dir, "../cosEvent_test"}}.
diff --git a/lib/cosEvent/test/event_channel_SUITE.erl b/lib/cosEvent/test/event_channel_SUITE.erl
new file mode 100644
index 0000000000..2b0cf1fe30
--- /dev/null
+++ b/lib/cosEvent/test/event_channel_SUITE.erl
@@ -0,0 +1,316 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+
+-module(event_channel_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+%%-----------------------------------------------------------------
+%% Macros
+%%-----------------------------------------------------------------
+
+-define(default_timeout, ?t:minutes(5)).
+
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, event_objects_api/1, events_api/1, events_sync_api/1,
+ cases/0, init_all/1, finish_all/1,
+ init_per_testcase/2, fin_per_testcase/2, app_test/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+
+all(doc) -> ["API tests for the cosEvent interfaces", ""];
+all(suite) -> {req,
+ [mnesia, orber],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [events_api, events_sync_api, event_objects_api, app_test].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) when is_list(Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ mnesia:delete_schema([node()]),
+ mnesia:create_schema([node()]),
+ orber:install([node()]),
+ application:start(mnesia),
+ application:start(orber),
+ cosEventApp:install(),
+ cosEventApp:start(),
+ oe_event_test_server:oe_register(),
+ Config.
+
+finish_all(Config) when is_list(Config) ->
+ oe_event_test_server:oe_unregister(),
+ cosEventApp:stop(),
+ cosEventApp:uninstall(),
+ application:stop(orber),
+ application:stop(mnesia),
+ mnesia:delete_schema([node()]),
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Config.
+
+%%-----------------------------------------------------------------
+%% Tests app file
+%%-----------------------------------------------------------------
+app_test(doc) -> [];
+app_test(suite) -> [];
+app_test(_Config) ->
+ ok=test_server:app_test(cosEvent),
+ ok.
+
+
+
+event_objects_api(doc) -> ["Testing the CosEvent API to setup a complete service", ""];
+event_objects_api(suite) -> [];
+event_objects_api(_Config) ->
+
+ Ch = ?match({_,key,_,_,_,_}, cosEventApp:start_channel([{typecheck, true},
+ {pull_interval, 300}])),
+
+ AC=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_EventChannel':for_consumers(Ch)),
+ AS=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_EventChannel':for_suppliers(Ch)),
+
+ PPushS=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_ConsumerAdmin':obtain_push_supplier(AC)),
+ PPullS=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_ConsumerAdmin':obtain_pull_supplier(AC)),
+
+ PPushC=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_SupplierAdmin':obtain_push_consumer(AS)),
+ PPullC=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_SupplierAdmin':obtain_pull_consumer(AS)),
+
+ PushC=?match({_,key,_,_,_,_},
+ 'event_test_PushC':oe_create([])),
+ PullC=?match({_,key,_,_,_,_},
+ 'event_test_PullC':oe_create(PPullC)),
+
+ PushS=?match({_,key,_,_,_,_},
+ 'event_test_PushS':oe_create(PPushC)),
+
+ PullS=?match({_,key,_,_,_,_},
+ 'event_test_PullS':oe_create([])),
+
+ NIL = corba:create_nil_objref(),
+
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}},
+ 'CosEventChannelAdmin_ProxyPushSupplier':connect_push_consumer(PPushS, NIL)),
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}},
+ 'CosEventChannelAdmin_ProxyPushSupplier':connect_push_consumer(PPushS, PullS)),
+ ?match(ok, 'CosEventChannelAdmin_ProxyPushSupplier':connect_push_consumer(PPushS, PushC)),
+ ?match({'EXCEPTION',{'CosEventChannelAdmin_AlreadyConnected',_}},
+ 'CosEventChannelAdmin_ProxyPushSupplier':connect_push_consumer(PPushS, PushC)),
+
+ ?match(ok, 'CosEventChannelAdmin_ProxyPullSupplier':connect_pull_consumer(PPullS, NIL)),
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}},
+ 'CosEventChannelAdmin_ProxyPullSupplier':connect_pull_consumer(PPullS, PullS)),
+ ?match(ok, 'CosEventChannelAdmin_ProxyPullSupplier':connect_pull_consumer(PPullS, PullC)),
+ ?match({'EXCEPTION',{'CosEventChannelAdmin_AlreadyConnected',_}},
+ 'CosEventChannelAdmin_ProxyPullSupplier':connect_pull_consumer(PPullS, PullC)),
+
+ ?match(ok, 'CosEventChannelAdmin_ProxyPushConsumer':connect_push_supplier(PPushC, NIL)),
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}},
+ 'CosEventChannelAdmin_ProxyPushConsumer':connect_push_supplier(PPushC, PullS)),
+ ?match(ok, 'CosEventChannelAdmin_ProxyPushConsumer':connect_push_supplier(PPushC, PushS)),
+ ?match({'EXCEPTION',{'CosEventChannelAdmin_AlreadyConnected',_}},
+ 'CosEventChannelAdmin_ProxyPushConsumer':connect_push_supplier(PPushC, PushS)),
+
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}},
+ 'CosEventChannelAdmin_ProxyPullConsumer':connect_pull_supplier(PPullC, NIL)),
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}},
+ 'CosEventChannelAdmin_ProxyPullConsumer':connect_pull_supplier(PPullC, PushS)),
+ ?match(ok, 'CosEventChannelAdmin_ProxyPullConsumer':connect_pull_supplier(PPullC, PullS)),
+ ?match({'EXCEPTION',{'CosEventChannelAdmin_AlreadyConnected',_}},
+ 'CosEventChannelAdmin_ProxyPullConsumer':connect_pull_supplier(PPullC, PullS)),
+
+
+ catch corba:dispose(AC),
+ %% Wait a couple of seconds to be sure all data removed from DB.
+ timer:sleep(2000),
+
+ %% Since we terminated ConsumerAdmin only the Supplier Proxies should be terminated.
+ ?match(true, corba_object:non_existent(AC)),
+ ?match(true, corba_object:non_existent(PPushS)),
+ ?match(true, corba_object:non_existent(PPullS)),
+
+ ?match(false, corba_object:non_existent(Ch)),
+ ?match(false, corba_object:non_existent(AS)),
+ ?match(false, corba_object:non_existent(PPullC)),
+ ?match(false, corba_object:non_existent(PPushC)),
+
+ %% Terminate a proxy and check that its admin is unaffected.
+ catch corba:dispose(PPullC),
+ timer:sleep(2000),
+ ?match(false, corba_object:non_existent(AS)),
+ ?match(true, corba_object:non_existent(PPullC)),
+
+ catch corba:dispose(Ch),
+ timer:sleep(2000),
+
+ ?match(true, corba_object:non_existent(Ch)),
+ ?match(true, corba_object:non_existent(AS)),
+ ?match(true, corba_object:non_existent(PPullC)),
+ ?match(true, corba_object:non_existent(PPushC)),
+
+ %% The client should be notified; wait for a couple of seconds and check it.
+ timer:sleep(2000),
+ ?match(true, corba_object:non_existent(PushC)),
+ ?match(true, corba_object:non_existent(PullC)),
+ ?match(true, corba_object:non_existent(PushS)),
+ ?match(true, corba_object:non_existent(PullS)),
+
+ ok.
+
+events_api(doc) -> ["Testing the CosEvent API for sending events asynchronous", ""];
+events_api(suite) -> [];
+events_api(_Config) ->
+
+ Ch = ?match({_,key,_,_,_,_}, cosEventApp:start_channel([{typecheck, true},
+ {pull_interval, 2},
+ {blocking, false}])),
+ event_sender(Ch).
+
+
+events_sync_api(doc) -> ["Testing the CosEvent API for sending events synchronous", ""];
+events_sync_api(suite) -> [];
+events_sync_api(_Config) ->
+
+ Ch = ?match({_,key,_,_,_,_}, cosEventApp:start_channel([{typecheck, true},
+ {pull_interval, 2},
+ {blocking, true}])),
+ event_sender(Ch).
+
+event_sender(Ch) ->
+ Event1 = #any{typecode=tk_long, value = 1},
+ Event2 = #any{typecode=tk_long, value = 2},
+ Event3 = #any{typecode=tk_long, value = 3},
+ Event4 = #any{typecode=tk_long, value = 4},
+ Event5 = #any{typecode=tk_long, value = 5},
+ Event6 = #any{typecode=tk_long, value = 6},
+
+ AC=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_EventChannel':for_consumers(Ch)),
+ AS=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_EventChannel':for_suppliers(Ch)),
+
+ PPushS=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_ConsumerAdmin':obtain_push_supplier(AC)),
+ PPullS=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_ConsumerAdmin':obtain_pull_supplier(AC)),
+
+ PPushC=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_SupplierAdmin':obtain_push_consumer(AS)),
+ PPullC=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_SupplierAdmin':obtain_pull_consumer(AS)),
+
+ PushC=?match({_,key,_,_,_,_}, 'event_test_PushC':oe_create([])),
+ PullC=?match({_,key,_,_,_,_}, 'event_test_PullC':oe_create(PPullS)),
+
+ PushS=?match({_,key,_,_,_,_}, 'event_test_PushS':oe_create(PPushC)),
+
+ PullS=?match({_,key,_,_,_,_}, 'event_test_PullS':oe_create([])),
+
+ ?match(ok, 'CosEventChannelAdmin_ProxyPushSupplier':connect_push_consumer(PPushS, PushC)),
+ ?match(ok, 'CosEventChannelAdmin_ProxyPullSupplier':connect_pull_consumer(PPullS, PullC)),
+ ?match(ok, 'CosEventChannelAdmin_ProxyPushConsumer':connect_push_supplier(PPushC, PushS)),
+ ?match(ok, 'CosEventChannelAdmin_ProxyPullConsumer':connect_pull_supplier(PPullC, PullS)),
+
+ %% No events should be available at the consumer side at this point.
+ ?match({_, false}, event_test_PullC:do_try_pull(PullC)),
+ ?match([], event_test_PushC:get_data(PushC)),
+
+ %% Push an event and wait to be sure it have reached the destination.
+ ?match(ok, event_test_PushS:do_push(PushS, Event1)),
+ ?match(ok, event_test_PushS:do_push(PushS, Event2)),
+ ?match(ok, event_test_PushS:do_push(PushS, Event3)),
+ timer:sleep(2000),
+ ?match({Event1, true}, event_test_PullC:do_try_pull(PullC)),
+ ?match({Event2, true}, event_test_PullC:do_try_pull(PullC)),
+ ?match({Event3, true}, event_test_PullC:do_try_pull(PullC)),
+ ?match({_, false}, event_test_PullC:do_try_pull(PullC)),
+ ?match([Event1, Event2, Event3], event_test_PushC:get_data(PushC)),
+
+ ?match(ok, event_test_PullS:add_event(PullS, Event4)),
+ ?match(ok, event_test_PullS:add_event(PullS, Event5)),
+ ?match(ok, event_test_PullS:add_event(PullS, Event6)),
+
+ %% Since the pull operation is blocking we do not need to "sleep".
+ %% The ProxyPullConsumer will pull for events according to the pull_interval
+ %% parameter given when started the channel.
+ ?match(Event4, event_test_PullC:do_pull(PullC)),
+ ?match(Event5, event_test_PullC:do_pull(PullC)),
+ ?match(Event6, event_test_PullC:do_pull(PullC)),
+
+ timer:sleep(2000),
+ ?match([Event4, Event5, Event6], event_test_PushC:get_data(PushC)),
+
+
+ catch corba:dispose(Ch),
+ %% The client should be notified; wait for a couple of seconds and check it.
+ timer:sleep(2000),
+ ?match(true, corba_object:non_existent(PushC)),
+ ?match(true, corba_object:non_existent(PullC)),
+ ?match(true, corba_object:non_existent(PushS)),
+ ?match(true, corba_object:non_existent(PullS)),
+
+ ok.
diff --git a/lib/cosEvent/test/event_test_PullC_impl.erl b/lib/cosEvent/test/event_test_PullC_impl.erl
new file mode 100644
index 0000000000..186d1cbd51
--- /dev/null
+++ b/lib/cosEvent/test/event_test_PullC_impl.erl
@@ -0,0 +1,43 @@
+%%------------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%------------------------------------------------------------------------
+%% Description: a very simple implementation of PullConsumer interface
+%%------------------------------------------------------------------------
+-module(event_test_PullC_impl).
+
+-export([init/1, terminate/2, disconnect_pull_consumer/1, do_pull/1, do_try_pull/1]).
+
+init(Proxy) ->
+ {ok, Proxy}.
+
+terminate(_From, _Reason) ->
+ ok.
+
+disconnect_pull_consumer(Proxy) ->
+ io:format("event_test_PullC terminates~n",[]),
+ {stop, normal, ok, Proxy}.
+
+do_pull(Proxy) ->
+ {reply, 'CosEventComm_PullSupplier':pull(Proxy), Proxy}.
+
+do_try_pull(Proxy) ->
+ {reply, 'CosEventComm_PullSupplier':try_pull(Proxy), Proxy}.
+
diff --git a/lib/cosEvent/test/event_test_PullS_impl.erl b/lib/cosEvent/test/event_test_PullS_impl.erl
new file mode 100644
index 0000000000..b7fa0c34f0
--- /dev/null
+++ b/lib/cosEvent/test/event_test_PullS_impl.erl
@@ -0,0 +1,57 @@
+%%------------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%------------------------------------------------------------------------
+%% Description: a very simple implementation of Pull Supplier interface
+%%------------------------------------------------------------------------
+-module(event_test_PullS_impl).
+
+-include_lib("orber/include/corba.hrl").
+
+-export([init/1, terminate/2, pull/1, try_pull/1, disconnect_pull_supplier/1,
+ add_event/2]).
+
+init(_) ->
+ {ok, []}.
+
+terminate(_From, _Reason) ->
+ ok.
+
+pull([]) ->
+ corba:raise(#'INTERNAL'{completion_status = ?COMPLETED_NO});
+pull([Event|Events]) ->
+ {reply, Event, Events}.
+
+try_pull([]) ->
+ {reply, {#any{typecode=tk_null, value = null}, false}, []};
+try_pull([Event|Events]) ->
+ {reply, {Event, true}, Events}.
+
+disconnect_pull_supplier(Events) ->
+ io:format("event_test_PullS terminates ~p~n", [Events]),
+ {stop, normal, ok, Events}.
+
+
+add_event(Events, Event) ->
+ %% Store in FIFO order; don't really care if we use '++' since
+ %% this operation is used in tests only.
+ {reply, ok, Events ++ [Event]}.
+
+
diff --git a/lib/cosEvent/test/event_test_PushC_impl.erl b/lib/cosEvent/test/event_test_PushC_impl.erl
new file mode 100644
index 0000000000..6eadf74a31
--- /dev/null
+++ b/lib/cosEvent/test/event_test_PushC_impl.erl
@@ -0,0 +1,46 @@
+%%------------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%------------------------------------------------------------------------
+%% Description: a very simple implementation of Push Consumer interface
+%%------------------------------------------------------------------------
+
+-module(event_test_PushC_impl).
+
+-export([init/1, terminate/2, push/2, disconnect_push_consumer/1, get_data/1]).
+
+init(_) ->
+ {ok, []}.
+
+terminate(_From, _Reason) ->
+ ok.
+
+push(Events, Event) ->
+ {reply, ok, [Event|Events]}.
+
+disconnect_push_consumer(Events) ->
+ io:format("event_test_PushC terminates: ~p~n", [Events]),
+ {stop, normal, ok, Events}.
+
+
+get_data(Events) ->
+ %% Returns Events in FIFO order and reset state.
+ {reply, lists:reverse(Events), []}.
+
diff --git a/lib/cosEvent/test/event_test_PushS_impl.erl b/lib/cosEvent/test/event_test_PushS_impl.erl
new file mode 100644
index 0000000000..da82e97211
--- /dev/null
+++ b/lib/cosEvent/test/event_test_PushS_impl.erl
@@ -0,0 +1,41 @@
+%%------------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%------------------------------------------------------------------------
+%% Description: a very simple implementation of Push Supplier interface
+%%------------------------------------------------------------------------
+
+-module(event_test_PushS_impl).
+
+-export([init/1, terminate/2, disconnect_push_supplier/1, do_push/2]).
+
+init(Proxy) ->
+ {ok, Proxy}.
+
+terminate(_From, _Reason) ->
+ ok.
+
+disconnect_push_supplier(Proxy) ->
+ io:format("event_test_PullC terminates~n",[]),
+ {stop, normal, ok, Proxy}.
+
+do_push(Proxy, Event) ->
+ {reply, 'CosEventComm_PushConsumer':push(Proxy, Event), Proxy}.
+
diff --git a/lib/cosEvent/test/event_test_server.idl b/lib/cosEvent/test/event_test_server.idl
new file mode 100644
index 0000000000..1719401ccd
--- /dev/null
+++ b/lib/cosEvent/test/event_test_server.idl
@@ -0,0 +1,47 @@
+//
+// %CopyrightBegin%
+//
+// Copyright Ericsson AB 2001-2010. All Rights Reserved.
+//
+// The contents of this file are subject to the Erlang Public License,
+// Version 1.1, (the "License"); you may not use this file except in
+// compliance with the License. You should have received a copy of the
+// Erlang Public License along with this software. If not, it can be
+// retrieved online at http://www.erlang.org/.
+//
+// Software distributed under the License is distributed on an "AS IS"
+// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+// the License for the specific language governing rights and limitations
+// under the License.
+//
+// %CopyrightEnd%
+//
+
+#ifndef _EVENT_TEST_SERVER_IDL
+#define _EVENT_TEST_SERVER_IDL
+
+#include <../src/CosEventComm.idl>
+
+module event_test {
+
+ interface PushC : CosEventComm::PushConsumer {
+ typedef sequence<any> AnySeq;
+ AnySeq get_data();
+ };
+ interface PullC : CosEventComm::PullConsumer {
+ any do_pull();
+ any do_try_pull(out boolean has_event);
+ };
+
+ interface PushS : CosEventComm::PushSupplier {
+ void do_push(in any Event);
+ };
+ interface PullS : CosEventComm::PullSupplier {
+ void add_event(in any Event);
+ };
+
+};
+
+#endif
+
+
diff --git a/lib/cosEvent/test/generated_SUITE.erl b/lib/cosEvent/test/generated_SUITE.erl
new file mode 100644
index 0000000000..2d75b18451
--- /dev/null
+++ b/lib/cosEvent/test/generated_SUITE.erl
@@ -0,0 +1,487 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : generated_SUITE.erl
+%% Purpose :
+%%-----------------------------------------------------------------
+
+-module(generated_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(nomatch(Not, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ Not ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS);
+ _ ->
+ AcTuAlReS
+ end
+ end()).
+
+
+-define(checktc(_Op),
+ fun(TC) ->
+ case orber_tc:check_tc(TC) of
+ false ->
+ io:format("###### ERROR ERROR ######~n~p - ~p~n", [Op, TC]),
+ ?line exit(TC);
+ true ->
+ true
+ end
+ end).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["This suite is for testing IC generated files"];
+all(suite) ->
+ ['CosEventChannelAdmin_AlreadyConnected', 'CosEventChannelAdmin_TypeError',
+ 'CosEventComm_Disconnected',
+ 'CosEventChannelAdmin_ConsumerAdmin', 'CosEventChannelAdmin_EventChannel',
+ 'CosEventChannelAdmin_ProxyPullConsumer', 'CosEventChannelAdmin_ProxyPullSupplier',
+ 'CosEventChannelAdmin_ProxyPushConsumer', 'CosEventChannelAdmin_ProxyPushSupplier',
+ 'CosEventChannelAdmin_SupplierAdmin', oe_CosEventComm_CAdmin,
+ oe_CosEventComm_Channel, oe_CosEventComm_Event, oe_CosEventComm_PullerS,
+ oe_CosEventComm_PusherS, 'CosEventComm_PullConsumer',
+ 'CosEventComm_PullSupplier', 'CosEventComm_PushConsumer',
+ 'CosEventComm_PushSupplier'].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventChannelAdmin_AlreadyConnected'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventChannelAdmin_AlreadyConnected'(doc) -> [""];
+'CosEventChannelAdmin_AlreadyConnected'(suite) -> [];
+'CosEventChannelAdmin_AlreadyConnected'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventChannelAdmin_AlreadyConnected':tc())),
+ ?match("IDL:omg.org/CosEventChannelAdmin/AlreadyConnected:1.0",
+ 'CosEventChannelAdmin_AlreadyConnected':id()),
+ ?match("CosEventChannelAdmin_AlreadyConnected",
+ 'CosEventChannelAdmin_AlreadyConnected':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventChannelAdmin_TypeError'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventChannelAdmin_TypeError'(doc) -> [""];
+'CosEventChannelAdmin_TypeError'(suite) -> [];
+'CosEventChannelAdmin_TypeError'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventChannelAdmin_TypeError':tc())),
+ ?match("IDL:omg.org/CosEventChannelAdmin/TypeError:1.0",
+ 'CosEventChannelAdmin_TypeError':id()),
+ ?match("CosEventChannelAdmin_TypeError",
+ 'CosEventChannelAdmin_TypeError':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventComm_Disconnected'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventComm_Disconnected'(doc) -> [""];
+'CosEventComm_Disconnected'(suite) -> [];
+'CosEventComm_Disconnected'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventComm_Disconnected':tc())),
+ ?match("IDL:omg.org/CosEventComm/Disconnected:1.0",
+ 'CosEventComm_Disconnected':id()),
+ ?match("CosEventComm_Disconnected", 'CosEventComm_Disconnected':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventChannelAdmin_ConsumerAdmin'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventChannelAdmin_ConsumerAdmin'(doc) -> [""];
+'CosEventChannelAdmin_ConsumerAdmin'(suite) -> [];
+'CosEventChannelAdmin_ConsumerAdmin'(_) ->
+ ?nomatch(undefined, 'CosEventChannelAdmin_ConsumerAdmin':oe_tc(obtain_push_supplier)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_ConsumerAdmin':oe_tc(obtain_pull_supplier)),
+ ?match(undefined, 'CosEventChannelAdmin_ConsumerAdmin':oe_tc(undefined)),
+ ?match([_|_], 'CosEventChannelAdmin_ConsumerAdmin':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin:1.0",
+ 'CosEventChannelAdmin_ConsumerAdmin':typeID()),
+ check_tc('CosEventChannelAdmin_ConsumerAdmin':oe_get_interface()),
+ ?match(true, 'CosEventChannelAdmin_ConsumerAdmin':oe_is_a('CosEventChannelAdmin_ConsumerAdmin':typeID())),
+ ?match(false, 'CosEventChannelAdmin_ConsumerAdmin':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventChannelAdmin_EventChannel'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventChannelAdmin_EventChannel'(doc) -> [""];
+'CosEventChannelAdmin_EventChannel'(suite) -> [];
+'CosEventChannelAdmin_EventChannel'(_) ->
+ ?nomatch(undefined, 'CosEventChannelAdmin_EventChannel':oe_tc(for_consumers)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_EventChannel':oe_tc(for_suppliers)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_EventChannel':oe_tc(destroy)),
+ ?match(undefined, 'CosEventChannelAdmin_EventChannel':oe_tc(undefined)),
+ ?match([_|_], 'CosEventChannelAdmin_EventChannel':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventChannelAdmin/EventChannel:1.0",
+ 'CosEventChannelAdmin_EventChannel':typeID()),
+ check_tc('CosEventChannelAdmin_EventChannel':oe_get_interface()),
+ ?match(true, 'CosEventChannelAdmin_EventChannel':oe_is_a('CosEventChannelAdmin_EventChannel':typeID())),
+ ?match(false, 'CosEventChannelAdmin_EventChannel':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventChannelAdmin_ProxyPullConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventChannelAdmin_ProxyPullConsumer'(doc) -> [""];
+'CosEventChannelAdmin_ProxyPullConsumer'(suite) -> [];
+'CosEventChannelAdmin_ProxyPullConsumer'(_) ->
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPullConsumer':oe_tc(connect_pull_supplier)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPullConsumer':oe_tc(disconnect_pull_consumer)),
+ ?match(undefined, 'CosEventChannelAdmin_ProxyPullConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosEventChannelAdmin_ProxyPullConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer:1.0",
+ 'CosEventChannelAdmin_ProxyPullConsumer':typeID()),
+ check_tc('CosEventChannelAdmin_ProxyPullConsumer':oe_get_interface()),
+ ?match(true, 'CosEventChannelAdmin_ProxyPullConsumer':oe_is_a('CosEventChannelAdmin_ProxyPullConsumer':typeID())),
+ ?match(true, 'CosEventChannelAdmin_ProxyPullConsumer':oe_is_a('CosEventComm_PullConsumer':typeID())),
+ ?match(false, 'CosEventChannelAdmin_ProxyPullConsumer':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventChannelAdmin_ProxyPullSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventChannelAdmin_ProxyPullSupplier'(doc) -> [""];
+'CosEventChannelAdmin_ProxyPullSupplier'(suite) -> [];
+'CosEventChannelAdmin_ProxyPullSupplier'(_) ->
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPullSupplier':oe_tc(connect_pull_consumer)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPullSupplier':oe_tc(pull)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPullSupplier':oe_tc(try_pull)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPullSupplier':oe_tc(disconnect_pull_supplier)),
+ ?match(undefined, 'CosEventChannelAdmin_ProxyPullSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosEventChannelAdmin_ProxyPullSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier:1.0",
+ 'CosEventChannelAdmin_ProxyPullSupplier':typeID()),
+ check_tc('CosEventChannelAdmin_ProxyPullSupplier':oe_get_interface()),
+ ?match(true, 'CosEventChannelAdmin_ProxyPullSupplier':oe_is_a('CosEventChannelAdmin_ProxyPullSupplier':typeID())),
+ ?match(true, 'CosEventChannelAdmin_ProxyPullSupplier':oe_is_a('CosEventComm_PullSupplier':typeID())),
+ ?match(false, 'CosEventChannelAdmin_ProxyPullSupplier':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventChannelAdmin_ProxyPushConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventChannelAdmin_ProxyPushConsumer'(doc) -> [""];
+'CosEventChannelAdmin_ProxyPushConsumer'(suite) -> [];
+'CosEventChannelAdmin_ProxyPushConsumer'(_) ->
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPushConsumer':oe_tc(connect_push_supplier)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPushConsumer':oe_tc(push)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPushConsumer':oe_tc(disconnect_push_consumer)),
+ ?match(undefined, 'CosEventChannelAdmin_ProxyPushConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosEventChannelAdmin_ProxyPushConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0",
+ 'CosEventChannelAdmin_ProxyPushConsumer':typeID()),
+ check_tc('CosEventChannelAdmin_ProxyPushConsumer':oe_get_interface()),
+ ?match(true, 'CosEventChannelAdmin_ProxyPushConsumer':oe_is_a('CosEventChannelAdmin_ProxyPushConsumer':typeID())),
+ ?match(true, 'CosEventChannelAdmin_ProxyPushConsumer':oe_is_a('CosEventComm_PushConsumer':typeID())),
+ ?match(false, 'CosEventChannelAdmin_ProxyPushConsumer':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventChannelAdmin_ProxyPushSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventChannelAdmin_ProxyPushSupplier'(doc) -> [""];
+'CosEventChannelAdmin_ProxyPushSupplier'(suite) -> [];
+'CosEventChannelAdmin_ProxyPushSupplier'(_) ->
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPushSupplier':oe_tc(connect_push_consumer)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_ProxyPushSupplier':oe_tc(disconnect_push_supplier)),
+ ?match(undefined, 'CosEventChannelAdmin_ProxyPushSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosEventChannelAdmin_ProxyPushSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier:1.0",
+ 'CosEventChannelAdmin_ProxyPushSupplier':typeID()),
+ check_tc('CosEventChannelAdmin_ProxyPushSupplier':oe_get_interface()),
+ ?match(true, 'CosEventChannelAdmin_ProxyPushSupplier':oe_is_a('CosEventChannelAdmin_ProxyPushSupplier':typeID())),
+ ?match(true, 'CosEventChannelAdmin_ProxyPushSupplier':oe_is_a('CosEventComm_PushSupplier':typeID())),
+ ?match(false, 'CosEventChannelAdmin_ProxyPushSupplier':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventChannelAdmin_SupplierAdmin'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventChannelAdmin_SupplierAdmin'(doc) -> [""];
+'CosEventChannelAdmin_SupplierAdmin'(suite) -> [];
+'CosEventChannelAdmin_SupplierAdmin'(_) ->
+ ?nomatch(undefined, 'CosEventChannelAdmin_SupplierAdmin':oe_tc(obtain_push_consumer)),
+ ?nomatch(undefined, 'CosEventChannelAdmin_SupplierAdmin':oe_tc(obtain_pull_consumer)),
+ ?match(undefined, 'CosEventChannelAdmin_SupplierAdmin':oe_tc(undefined)),
+ ?match([_|_], 'CosEventChannelAdmin_SupplierAdmin':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventChannelAdmin/SupplierAdmin:1.0",
+ 'CosEventChannelAdmin_SupplierAdmin':typeID()),
+ check_tc('CosEventChannelAdmin_SupplierAdmin':oe_get_interface()),
+ ?match(true, 'CosEventChannelAdmin_SupplierAdmin':oe_is_a('CosEventChannelAdmin_SupplierAdmin':typeID())),
+ ?match(false, 'CosEventChannelAdmin_SupplierAdmin':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'oe_CosEventComm_CAdmin'
+%% Description:
+%%-----------------------------------------------------------------
+'oe_CosEventComm_CAdmin'(doc) -> [""];
+'oe_CosEventComm_CAdmin'(suite) -> [];
+'oe_CosEventComm_CAdmin'(_) ->
+ ?nomatch(undefined, 'oe_CosEventComm_CAdmin':oe_tc(obtain_push_supplier)),
+ ?nomatch(undefined, 'oe_CosEventComm_CAdmin':oe_tc(obtain_pull_supplier)),
+ ?nomatch(undefined, 'oe_CosEventComm_CAdmin':oe_tc(send)),
+ ?nomatch(undefined, 'oe_CosEventComm_CAdmin':oe_tc(send_sync)),
+ ?match(undefined, 'oe_CosEventComm_CAdmin':oe_tc(undefined)),
+ ?match([_|_], 'oe_CosEventComm_CAdmin':oe_get_interface()),
+ ?match("IDL:oe_CosEventComm/CAdmin:1.0",
+ 'oe_CosEventComm_CAdmin':typeID()),
+ check_tc('oe_CosEventComm_CAdmin':oe_get_interface()),
+ ?match(true, 'oe_CosEventComm_CAdmin':oe_is_a('oe_CosEventComm_CAdmin':typeID())),
+ ?match(true, 'oe_CosEventComm_CAdmin':oe_is_a('CosEventChannelAdmin_ConsumerAdmin':typeID())),
+ ?match(true, 'oe_CosEventComm_CAdmin':oe_is_a('oe_CosEventComm_Event':typeID())),
+ ?match(false, 'oe_CosEventComm_CAdmin':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'oe_CosEventComm_Channel'
+%% Description:
+%%-----------------------------------------------------------------
+'oe_CosEventComm_Channel'(doc) -> [""];
+'oe_CosEventComm_Channel'(suite) -> [];
+'oe_CosEventComm_Channel'(_) ->
+ ?nomatch(undefined, 'oe_CosEventComm_Channel':oe_tc(for_consumers)),
+ ?nomatch(undefined, 'oe_CosEventComm_Channel':oe_tc(for_suppliers)),
+ ?nomatch(undefined, 'oe_CosEventComm_Channel':oe_tc(destroy)),
+ ?nomatch(undefined, 'oe_CosEventComm_Channel':oe_tc(send)),
+ ?nomatch(undefined, 'oe_CosEventComm_Channel':oe_tc(send_sync)),
+ ?match(undefined, 'oe_CosEventComm_Channel':oe_tc(undefined)),
+ ?match([_|_], 'oe_CosEventComm_Channel':oe_get_interface()),
+ ?match("IDL:oe_CosEventComm/Channel:1.0",
+ 'oe_CosEventComm_Channel':typeID()),
+ check_tc('oe_CosEventComm_Channel':oe_get_interface()),
+ ?match(true, 'oe_CosEventComm_Channel':oe_is_a('oe_CosEventComm_Channel':typeID())),
+ ?match(true, 'oe_CosEventComm_Channel':oe_is_a('CosEventChannelAdmin_EventChannel':typeID())),
+ ?match(true, 'oe_CosEventComm_Channel':oe_is_a('oe_CosEventComm_Event':typeID())),
+ ?match(false, 'oe_CosEventComm_Channel':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'oe_CosEventComm_Event'
+%% Description:
+%%-----------------------------------------------------------------
+'oe_CosEventComm_Event'(doc) -> [""];
+'oe_CosEventComm_Event'(suite) -> [];
+'oe_CosEventComm_Event'(_) ->
+ ?nomatch(undefined, 'oe_CosEventComm_Event':oe_tc(send)),
+ ?nomatch(undefined, 'oe_CosEventComm_Event':oe_tc(send_sync)),
+ ?match(undefined, 'oe_CosEventComm_Event':oe_tc(undefined)),
+ ?match([_|_], 'oe_CosEventComm_Event':oe_get_interface()),
+ ?match("IDL:oe_CosEventComm/Event:1.0",
+ 'oe_CosEventComm_Event':typeID()),
+ check_tc('oe_CosEventComm_Event':oe_get_interface()),
+ ?match(true, 'oe_CosEventComm_Event':oe_is_a('oe_CosEventComm_Event':typeID())),
+ ?match(false, 'oe_CosEventComm_Event':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'oe_CosEventComm_PullerS'
+%% Description:
+%%-----------------------------------------------------------------
+'oe_CosEventComm_PullerS'(doc) -> [""];
+'oe_CosEventComm_PullerS'(suite) -> [];
+'oe_CosEventComm_PullerS'(_) ->
+ ?nomatch(undefined, 'oe_CosEventComm_PullerS':oe_tc(connect_pull_consumer)),
+ ?nomatch(undefined, 'oe_CosEventComm_PullerS':oe_tc(pull)),
+ ?nomatch(undefined, 'oe_CosEventComm_PullerS':oe_tc(try_pull)),
+ ?nomatch(undefined, 'oe_CosEventComm_PullerS':oe_tc(disconnect_pull_supplier)),
+ ?nomatch(undefined, 'oe_CosEventComm_PullerS':oe_tc(send)),
+ ?nomatch(undefined, 'oe_CosEventComm_PullerS':oe_tc(send_sync)),
+ ?match(undefined, 'oe_CosEventComm_PullerS':oe_tc(undefined)),
+ ?match([_|_], 'oe_CosEventComm_PullerS':oe_get_interface()),
+ ?match("IDL:oe_CosEventComm/PullerS:1.0",
+ 'oe_CosEventComm_PullerS':typeID()),
+ check_tc('oe_CosEventComm_PullerS':oe_get_interface()),
+ ?match(true, 'oe_CosEventComm_PullerS':oe_is_a('oe_CosEventComm_PullerS':typeID())),
+ ?match(true, 'oe_CosEventComm_PullerS':oe_is_a('CosEventChannelAdmin_ProxyPullSupplier':typeID())),
+ ?match(true, 'oe_CosEventComm_PullerS':oe_is_a('CosEventComm_PullSupplier':typeID())),
+ ?match(true, 'oe_CosEventComm_PullerS':oe_is_a('oe_CosEventComm_Event':typeID())),
+ ?match(false, 'oe_CosEventComm_PullerS':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'oe_CosEventComm_PusherS'
+%% Description:
+%%-----------------------------------------------------------------
+'oe_CosEventComm_PusherS'(doc) -> [""];
+'oe_CosEventComm_PusherS'(suite) -> [];
+'oe_CosEventComm_PusherS'(_) ->
+ ?nomatch(undefined, 'oe_CosEventComm_PusherS':oe_tc(connect_push_consumer)),
+ ?nomatch(undefined, 'oe_CosEventComm_PusherS':oe_tc(disconnect_push_supplier)),
+ ?nomatch(undefined, 'oe_CosEventComm_PusherS':oe_tc(send)),
+ ?nomatch(undefined, 'oe_CosEventComm_PusherS':oe_tc(send_sync)),
+ ?match(undefined, 'oe_CosEventComm_PusherS':oe_tc(undefined)),
+ ?match([_|_], 'oe_CosEventComm_PusherS':oe_get_interface()),
+ ?match("IDL:oe_CosEventComm/PusherS:1.0",
+ 'oe_CosEventComm_PusherS':typeID()),
+ check_tc('oe_CosEventComm_PusherS':oe_get_interface()),
+ ?match(true, 'oe_CosEventComm_PusherS':oe_is_a('oe_CosEventComm_PusherS':typeID())),
+ ?match(true, 'oe_CosEventComm_PusherS':oe_is_a('CosEventChannelAdmin_ProxyPushSupplier':typeID())),
+ ?match(true, 'oe_CosEventComm_PusherS':oe_is_a('CosEventComm_PushSupplier':typeID())),
+ ?match(true, 'oe_CosEventComm_PusherS':oe_is_a('oe_CosEventComm_Event':typeID())),
+ ?match(false, 'oe_CosEventComm_PusherS':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventComm_PullConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventComm_PullConsumer'(doc) -> [""];
+'CosEventComm_PullConsumer'(suite) -> [];
+'CosEventComm_PullConsumer'(_) ->
+ ?nomatch(undefined, 'CosEventComm_PullConsumer':oe_tc(disconnect_pull_consumer)),
+ ?match(undefined, 'CosEventComm_PullConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosEventComm_PullConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventComm/PullConsumer:1.0",
+ 'CosEventComm_PullConsumer':typeID()),
+ check_tc('CosEventComm_PullConsumer':oe_get_interface()),
+ ?match(true, 'CosEventComm_PullConsumer':oe_is_a('CosEventComm_PullConsumer':typeID())),
+ ?match(false, 'CosEventComm_PullConsumer':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventComm_PullSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventComm_PullSupplier'(doc) -> [""];
+'CosEventComm_PullSupplier'(suite) -> [];
+'CosEventComm_PullSupplier'(_) ->
+ ?nomatch(undefined, 'CosEventComm_PullSupplier':oe_tc(pull)),
+ ?nomatch(undefined, 'CosEventComm_PullSupplier':oe_tc(try_pull)),
+ ?nomatch(undefined, 'CosEventComm_PullSupplier':oe_tc(disconnect_pull_supplier)),
+ ?match(undefined, 'CosEventComm_PullSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosEventComm_PullSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventComm/PullSupplier:1.0",
+ 'CosEventComm_PullSupplier':typeID()),
+ check_tc('CosEventComm_PullSupplier':oe_get_interface()),
+ ?match(true, 'CosEventComm_PullSupplier':oe_is_a('CosEventComm_PullSupplier':typeID())),
+ ?match(false, 'CosEventComm_PullSupplier':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventComm_PushConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventComm_PushConsumer'(doc) -> [""];
+'CosEventComm_PushConsumer'(suite) -> [];
+'CosEventComm_PushConsumer'(_) ->
+ ?nomatch(undefined, 'CosEventComm_PushConsumer':oe_tc(push)),
+ ?nomatch(undefined, 'CosEventComm_PushConsumer':oe_tc(disconnect_push_consumer)),
+ ?match(undefined, 'CosEventComm_PushConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosEventComm_PushConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventComm/PushConsumer:1.0",
+ 'CosEventComm_PushConsumer':typeID()),
+ check_tc('CosEventComm_PushConsumer':oe_get_interface()),
+ ?match(true, 'CosEventComm_PushConsumer':oe_is_a('CosEventComm_PushConsumer':typeID())),
+ ?match(false, 'CosEventComm_PushConsumer':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventComm_PushSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventComm_PushSupplier'(doc) -> [""];
+'CosEventComm_PushSupplier'(suite) -> [];
+'CosEventComm_PushSupplier'(_) ->
+ ?nomatch(undefined, 'CosEventComm_PushSupplier':oe_tc(disconnect_push_supplier)),
+ ?match(undefined, 'CosEventComm_PushSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosEventComm_PushSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventComm/PushSupplier:1.0",
+ 'CosEventComm_PushSupplier':typeID()),
+ check_tc('CosEventComm_PushSupplier':oe_get_interface()),
+ ?match(true, 'CosEventComm_PushSupplier':oe_is_a('CosEventComm_PushSupplier':typeID())),
+ ?match(false, 'CosEventComm_PushSupplier':oe_is_a("wrong")),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% MISC functions
+%%-----------------------------------------------------------------
+check_tc([]) ->
+ ok;
+check_tc([{Op, {RetType, InParameters, OutParameters}}|T]) ->
+ io:format("checked - ~s~n", [Op]),
+ lists:all(?checktc(Op), [RetType|InParameters]),
+ lists:all(?checktc(Op), OutParameters),
+ check_tc(T).
+
+
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/subdir/subsubdir/.gitignore b/lib/cosEvent/test/idl_output/.gitignore
index e69de29bb2..e69de29bb2 100644
--- a/lib/asn1/test/asn1_bin_SUITE_data/subdir/subsubdir/.gitignore
+++ b/lib/cosEvent/test/idl_output/.gitignore
diff --git a/lib/cosEvent/vsn.mk b/lib/cosEvent/vsn.mk
index 8915903bbe..9f326b39b6 100644
--- a/lib/cosEvent/vsn.mk
+++ b/lib/cosEvent/vsn.mk
@@ -1,7 +1,9 @@
-COSEVENT_VSN = 2.1.8
+COSEVENT_VSN = 2.1.9
-TICKETS = OTP-8355 \
+TICKETS = OTP-8543
+
+TICKETS_2.1.8 = OTP-8355 \
OTP-8409
TICKETS_2.1.7 = OTP-8201
diff --git a/lib/cosEventDomain/doc/src/notes.xml b/lib/cosEventDomain/doc/src/notes.xml
index 0ad42948af..deb1985c86 100644
--- a/lib/cosEventDomain/doc/src/notes.xml
+++ b/lib/cosEventDomain/doc/src/notes.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2001</year><year>2009</year>
+ <year>2001</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>cosEventDomain Release Notes</title>
@@ -32,6 +32,22 @@
</header>
<section>
+ <title>cosEventDomain 1.1.9</title>
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>
+ Test suites published.</p>
+ <p>
+ Own Id: OTP-8543 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+
+ </section>
+
+ <section>
<title>cosEventDomain 1.1.8</title>
<section>
diff --git a/lib/cosEventDomain/test/Makefile b/lib/cosEventDomain/test/Makefile
new file mode 100644
index 0000000000..9893b05b8c
--- /dev/null
+++ b/lib/cosEventDomain/test/Makefile
@@ -0,0 +1,104 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2001-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include ../vsn.mk
+VSN=$(COSEVENTDOMAIN_VSN)
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/cosEventDomain_test
+
+# ----------------------------------------------------
+# Target Specs
+# ----------------------------------------------------
+TEST_SPEC_FILE = cosEventDomain.spec
+
+
+MODULES = \
+ event_domain_SUITE \
+ generated_SUITE
+
+ERL_FILES = $(MODULES:%=%.erl)
+
+HRL_FILES =
+
+SUITE_TARGET_FILES = $(MODULES:%=%.$(EMULATOR))
+
+TARGET_FILES = \
+ $(SUITE_TARGET_FILES)
+
+# ----------------------------------------------------
+# PROGRAMS
+# ----------------------------------------------------
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+ERL_IDL_FLAGS += -pa $(ERL_TOP)/lib/orber/ebin -pa $(ERL_TOP)/lib/ic/ebin
+
+ERL_COMPILE_FLAGS += \
+ $(ERL_IDL_FLAGS) \
+ -pa $(ERL_TOP)/lib/test_server/ebin \
+ -pa $(ERL_TOP)/lib/cosEventDomain/ebin \
+ -pa $(ERL_TOP)/lib/cosEventDomain/include \
+ -pa $(ERL_TOP)/lib/cosNotification/ebin \
+ -pa $(ERL_TOP)/lib/cosNotification/include \
+ -I$(ERL_TOP)/lib/cosEventDomain/include \
+ -I$(ERL_TOP)/lib/cosNotification/include \
+ -I$(ERL_TOP)/lib/cosNotification/ebin \
+ -I$(ERL_TOP)/lib/test_server/include
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+tests debug opt: $(TARGET_FILES)
+
+clean:
+ rm -f $(TARGET_FILES)
+ rm -f errs core *~
+
+
+docs:
+
+# ----------------------------------------------------
+# Special Targets
+# ----------------------------------------------------
+
+# ----------------------------------------------------
+# Release Targets
+# ----------------------------------------------------
+# We don't copy generated intermediate erlang and hrl files
+
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_spec:
+
+release_docs_spec:
+
+release_tests_spec: tests
+ $(INSTALL_DIR) $(RELSYSDIR)
+ $(INSTALL_DATA) $(TEST_SPEC_FILE) \
+ $(ERL_FILES) $(RELSYSDIR)
+ $(INSTALL_DATA) $(SUITE_TARGET_FILES) $(RELSYSDIR)
+
diff --git a/lib/cosEventDomain/test/cosEventDomain.spec b/lib/cosEventDomain/test/cosEventDomain.spec
new file mode 100644
index 0000000000..0d3e307071
--- /dev/null
+++ b/lib/cosEventDomain/test/cosEventDomain.spec
@@ -0,0 +1,19 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+{topcase, {dir, "../cosEventDomain_test"}}.
diff --git a/lib/cosEventDomain/test/event_domain_SUITE.erl b/lib/cosEventDomain/test/event_domain_SUITE.erl
new file mode 100644
index 0000000000..ddf0af3489
--- /dev/null
+++ b/lib/cosEventDomain/test/event_domain_SUITE.erl
@@ -0,0 +1,456 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+
+-module(event_domain_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("cosNotification/include/CosNotifyChannelAdmin.hrl").
+-include_lib("cosNotification/include/CosNotification.hrl").
+
+-include_lib("cosEventDomain/include/CosEventDomainAdmin.hrl").
+-include_lib("cosEventDomain/src/cosEventDomainApp.hrl").
+
+%%-----------------------------------------------------------------
+%% Macros
+%%-----------------------------------------------------------------
+
+-define(default_timeout, ?t:minutes(5)).
+
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, event_domain_api/1, event_domain_factory_api/1,
+ cases/0, init_all/1, finish_all/1,
+ init_per_testcase/2, fin_per_testcase/2, app_test/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+
+all(doc) -> ["API tests for the cosEventDomain interfaces", ""];
+all(suite) -> {req,
+ [mnesia, orber, cosNotification],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [event_domain_api, event_domain_factory_api, app_test].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) when is_list(Config) ->
+ mnesia:delete_schema([node()]),
+ mnesia:create_schema([node()]),
+ ok = corba:orb_init([{flags, 16#02},
+ {orber_debug_level, 10}]),
+ orber:install([node()]),
+ application:start(mnesia),
+ application:start(orber),
+ cosEventApp:install(),
+ cosEventApp:start(),
+ cosNotificationApp:install(),
+ cosNotificationApp:start(),
+ cosEventDomainApp:install(),
+ cosEventDomainApp:start(),
+ Config.
+
+finish_all(Config) when is_list(Config) ->
+ cosEventDomainApp:stop(),
+ cosEventDomainApp:uninstall(),
+ cosNotificationApp:stop(),
+ cosNotificationApp:uninstall(),
+ cosEventApp:stop(),
+ cosEventApp:uninstall(),
+ application:stop(orber),
+ application:stop(mnesia),
+ mnesia:delete_schema([node()]),
+ Config.
+
+%%-----------------------------------------------------------------
+%% Tests app file
+%%-----------------------------------------------------------------
+app_test(doc) -> [];
+app_test(suite) -> [];
+app_test(_Config) ->
+ ok=test_server:app_test(cosEventDomain),
+ ok.
+
+
+event_domain_api(doc) -> ["Testing the CosEventDomain Domain API", ""];
+event_domain_api(suite) -> [];
+event_domain_api(_Config) ->
+
+ %% We will setup a cluster looking like:
+ %% 7-8--->
+ %% /
+ %% 2 - 4 6->
+ %% \ /
+ %% 5---9-1-3
+
+ %% 2-4
+ %% 4-1
+ %% 1-3
+ %% 3-6
+ %% 5-9
+ %% 9-1
+ %% 4-7
+ %% 7-8
+
+
+ ChFac = ?match({_,key,_,_,_,_},
+ cosNotificationApp:start_global_factory([{pullInterval,1}])),
+ {Ch0,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(ChFac, [], [])),
+ Fac = ?match({_,key,_,_,_,_},
+ cosEventDomainApp:start_factory()),
+ {ED, _} = ?match({{_,key,_,_,_,_}, _},
+ 'CosEventDomainAdmin_EventDomainFactory':create_event_domain(Fac, [], [])),
+ ID0 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch0),
+ ?match(Ch0, 'CosEventDomainAdmin_EventDomain':get_channel(ED, ID0)),
+ ?match([0], 'CosEventDomainAdmin_EventDomain':get_all_channels(ED)),
+ ?match({'EXCEPTION',{'CosNotifyChannelAdmin_ChannelNotFound',_}},
+ 'CosEventDomainAdmin_EventDomain':get_channel(ED, 100)),
+ ?match({'EXCEPTION',{'CosNotifyChannelAdmin_ChannelNotFound',_}},
+ 'CosEventDomainAdmin_EventDomain':remove_channel(ED, 100)),
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':remove_channel(ED, 0)),
+ ?match([], 'CosEventDomainAdmin_EventDomain':get_all_channels(ED)),
+ ?match({'EXCEPTION',{'CosNotifyChannelAdmin_ChannelNotFound',_}},
+ 'CosEventDomainAdmin_EventDomain':remove_channel(ED, 0)),
+
+ %% Create a new event channel.
+ {Ch1,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(ChFac, [], [])),
+ {Ch2,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(ChFac, [], [])),
+ {Ch3,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(ChFac, [], [])),
+ {Ch4,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(ChFac, [], [])),
+ {Ch5,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(ChFac, [], [])),
+ {Ch6,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(ChFac, [], [])),
+ {Ch7,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(ChFac, [], [])),
+ {Ch8,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(ChFac, [], [])),
+ {Ch9,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(ChFac, [], [])),
+
+ ID1 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch1),
+ ID2 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch2),
+ ID3 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch3),
+ ID4 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch4),
+ ID5 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch5),
+ ID6 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch6),
+ ID7 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch7),
+ ID8 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch8),
+ ID9 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch9),
+ ?match([_,_,_,_,_,_,_,_,_],
+ 'CosEventDomainAdmin_EventDomain':get_all_channels(ED)),
+
+ ?match([], 'CosEventDomainAdmin_EventDomain':get_all_connections(ED)),
+ C1 = #'CosEventDomainAdmin_Connection'{supplier_id=ID2,
+ consumer_id=ID4,
+ ctype='STRUCTURED_EVENT',
+ notification_style='Pull'},
+ C2 = #'CosEventDomainAdmin_Connection'{supplier_id=ID4,
+ consumer_id=ID1,
+ ctype='ANY_EVENT',
+ notification_style='Push'},
+ C3 = #'CosEventDomainAdmin_Connection'{supplier_id=ID1,
+ consumer_id=ID3,
+ ctype='ANY_EVENT',
+ notification_style='Pull'},
+ C4 = #'CosEventDomainAdmin_Connection'{supplier_id=ID3,
+ consumer_id=ID6,
+ ctype='STRUCTURED_EVENT',
+ notification_style='Push'},
+ C5 = #'CosEventDomainAdmin_Connection'{supplier_id=ID5,
+ consumer_id=ID9,
+ ctype='ANY_EVENT',
+ notification_style='Pull'},
+ C6 = #'CosEventDomainAdmin_Connection'{supplier_id=ID9,
+ consumer_id=ID1,
+ ctype='ANY_EVENT',
+ notification_style='Push'},
+ C7 = #'CosEventDomainAdmin_Connection'{supplier_id=ID4,
+ consumer_id=ID7,
+ ctype='STRUCTURED_EVENT',
+ notification_style='Pull'},
+ C8 = #'CosEventDomainAdmin_Connection'{supplier_id=ID7,
+ consumer_id=ID8,
+ ctype='ANY_EVENT',
+ notification_style='Push'},
+ C9 = #'CosEventDomainAdmin_Connection'{supplier_id=ID8,
+ consumer_id=ID4,
+ ctype='ANY_EVENT',
+ notification_style='Pull'},
+ C10 = #'CosEventDomainAdmin_Connection'{supplier_id=ID5,
+ consumer_id=ID4,
+ ctype='ANY_EVENT',
+ notification_style='Pull'},
+ C11 = #'CosEventDomainAdmin_Connection'{supplier_id=ID4,
+ consumer_id=ID6,
+ ctype='ANY_EVENT',
+ notification_style='Pull'},
+ C12 = #'CosEventDomainAdmin_Connection'{supplier_id=ID8,
+ consumer_id=ID6,
+ ctype='ANY_EVENT',
+ notification_style='Pull'},
+
+ CID1 = 'CosEventDomainAdmin_EventDomain':add_connection(ED, C1),
+ ?match([CID1], 'CosEventDomainAdmin_EventDomain':get_all_connections(ED)),
+ _CID2 = 'CosEventDomainAdmin_EventDomain':add_connection(ED, C2),
+ ?match([_,_],
+ 'CosEventDomainAdmin_EventDomain':get_all_connections(ED)),
+ _CID3 = 'CosEventDomainAdmin_EventDomain':add_connection(ED, C3),
+ ?match([_,_,_],
+ 'CosEventDomainAdmin_EventDomain':get_all_connections(ED)),
+ _CID4 = 'CosEventDomainAdmin_EventDomain':add_connection(ED, C4),
+ ?match([_,_,_,_],
+ 'CosEventDomainAdmin_EventDomain':get_all_connections(ED)),
+ _CID5 = 'CosEventDomainAdmin_EventDomain':add_connection(ED, C5),
+ ?match([_,_,_,_,_],
+ 'CosEventDomainAdmin_EventDomain':get_all_connections(ED)),
+ _CID6 = 'CosEventDomainAdmin_EventDomain':add_connection(ED, C6),
+ ?match([_,_,_,_,_,_],
+ 'CosEventDomainAdmin_EventDomain':get_all_connections(ED)),
+ CID7 = 'CosEventDomainAdmin_EventDomain':add_connection(ED, C7),
+ ?match([_,_,_,_,_,_,_],
+ 'CosEventDomainAdmin_EventDomain':get_all_connections(ED)),
+ _CID8 = 'CosEventDomainAdmin_EventDomain':add_connection(ED, C8),
+ ?match([_,_,_,_,_,_,_,_],
+ 'CosEventDomainAdmin_EventDomain':get_all_connections(ED)),
+
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_AlreadyExists', _}},
+ 'CosEventDomainAdmin_EventDomain':add_connection(ED, C8)),
+ %% No cycles should exist.
+ ?match([], 'CosEventDomainAdmin_EventDomain':get_cycles(ED)),
+
+ ?match([_, _], 'CosEventDomainAdmin_EventDomain':get_qos(ED)),
+ AllowCyclic = #'CosNotification_Property'{name=?CycleDetection,
+ value=any:create(orber_tc:short(),
+ ?AuthorizeCycles)},
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosEventDomainAdmin_EventDomain':set_qos(ED, [AllowCyclic])),
+ ForbidCyclic = #'CosNotification_Property'{name=?CycleDetection,
+ value=any:create(orber_tc:short(),
+ ?ForbidCycles)},
+ %% The same as before; must work.
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':set_qos(ED, [ForbidCyclic])),
+
+ AllowDiamonds = #'CosNotification_Property'{name=?DiamondDetection,
+ value=any:create(orber_tc:short(),
+ ?AuthorizeDiamonds)},
+ %% Since no diamonds allowed before this is always ok.
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':set_qos(ED, [AllowDiamonds])),
+
+ ?match([_, _], 'CosEventDomainAdmin_EventDomain':get_qos(ED)),
+
+ ForbidDiamonds = #'CosNotification_Property'{name=?DiamondDetection,
+ value=any:create(orber_tc:short(),
+ ?ForbidDiamonds)},
+ %% No diamonds created before. Hence, will work.
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':set_qos(ED, [ForbidDiamonds])),
+
+ ?match([_, _], 'CosEventDomainAdmin_EventDomain':get_qos(ED)),
+
+ ?match({ok, [_]}, 'CosEventDomainAdmin_EventDomain':validate_qos(ED,
+ [ForbidDiamonds,
+ ForbidCyclic])),
+ %% No diamonds exists, hence, this is ok.
+ ?match({ok, [_]}, 'CosEventDomainAdmin_EventDomain':validate_qos(ED,
+ [AllowDiamonds,
+ ForbidCyclic])),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosEventDomainAdmin_EventDomain':validate_qos(ED, [ForbidDiamonds,
+ AllowCyclic])),
+
+ %% Since the ED is started is asyclic we may not succeed with this invokation.
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_CycleCreationForbidden',_,_}},
+ 'CosEventDomainAdmin_EventDomain':add_connection(ED, C9)),
+ ?match([], 'CosEventDomainAdmin_EventDomain':get_offer_channels(ED, ID2)),
+
+ ?match([2], 'CosEventDomainAdmin_EventDomain':get_offer_channels(ED, ID4)),
+ ?match([_,_,_], 'CosEventDomainAdmin_EventDomain':get_offer_channels(ED, ID8)),
+ ?match({'EXCEPTION',{'CosNotifyChannelAdmin_ChannelNotFound',_}},
+ 'CosEventDomainAdmin_EventDomain':get_offer_channels(ED, 100)),
+ ?match([], 'CosEventDomainAdmin_EventDomain':get_subscription_channels(ED, ID8)),
+ ?match([_,_,_,_,_],
+ 'CosEventDomainAdmin_EventDomain':get_subscription_channels(ED, ID4)),
+ ?match([_,_,_,_,_,_],
+ 'CosEventDomainAdmin_EventDomain':get_subscription_channels(ED, ID2)),
+ ?match({'EXCEPTION',{'CosNotifyChannelAdmin_ChannelNotFound',_}},
+ 'CosEventDomainAdmin_EventDomain':get_subscription_channels(ED, 100)),
+ Nil = corba:create_nil_objref(),
+
+ P2=?match({_,key,_,_,_,_},
+ 'CosEventDomainAdmin_EventDomain':connect_push_supplier_with_id(ED, Nil, ID2)),
+ P7=?match({_,key,_,_,_,_},
+ 'CosEventDomainAdmin_EventDomain':connect_push_supplier_with_id(ED, Nil, ID7)),
+ P8=?match({_,key,_,_,_,_},
+ 'CosEventDomainAdmin_EventDomain':connect_pull_consumer_with_id(ED, Nil, ID8)),
+ P6=?match({_,key,_,_,_,_},
+ 'CosEventDomainAdmin_EventDomain':connect_pull_consumer_with_id(ED, Nil, ID6)),
+ E1 = #any{typecode=tk_long, value=1},
+ E2 = #any{typecode=tk_long, value=2},
+
+ ?match(ok, 'CosNotifyChannelAdmin_ProxyPushConsumer':push(P2, E1)),
+ ?match(E1, 'CosNotifyChannelAdmin_ProxyPullSupplier':pull(P8)),
+ ?match(E1, 'CosNotifyChannelAdmin_ProxyPullSupplier':pull(P6)),
+ ?match(ok, 'CosNotifyChannelAdmin_ProxyPushConsumer':push(P7, E2)),
+ ?match(E2, 'CosNotifyChannelAdmin_ProxyPullSupplier':pull(P8)),
+ timer:sleep(10000),
+ ?match({_,false}, 'CosNotifyChannelAdmin_ProxyPullSupplier':try_pull(P6)),
+
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':remove_connection(ED, CID7)),
+
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_ConnectionNotFound',_}},
+ 'CosEventDomainAdmin_EventDomain':remove_connection(ED, CID7)),
+
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_ConnectionNotFound',_}},
+ 'CosEventDomainAdmin_EventDomain':remove_connection(ED, 100)),
+
+ ?match([], 'CosEventDomainAdmin_EventDomain':get_offer_channels(ED, ID7)),
+ ?match([2], 'CosEventDomainAdmin_EventDomain':get_offer_channels(ED, ID4)),
+
+ ?match([8], 'CosEventDomainAdmin_EventDomain':get_subscription_channels(ED, ID7)),
+ ?match([_,_,_], 'CosEventDomainAdmin_EventDomain':get_subscription_channels(ED, ID4)),
+
+ CID10 = ?match(8, 'CosEventDomainAdmin_EventDomain':add_connection(ED, C7)),
+
+ %% Now we'll check diamond management.
+ %% Currently it should not be possible to create a diamond (due to QoS-setting).
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_DiamondCreationForbidden',_,_}},
+ 'CosEventDomainAdmin_EventDomain':add_connection(ED, C11)),
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_DiamondCreationForbidden',_,_}},
+ 'CosEventDomainAdmin_EventDomain':add_connection(ED, C10)),
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_DiamondCreationForbidden',_,_}},
+ 'CosEventDomainAdmin_EventDomain':add_connection(ED, C12)),
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':set_qos(ED, [AllowDiamonds])),
+
+ CID11 = ?match(9, 'CosEventDomainAdmin_EventDomain':add_connection(ED, C10)),
+ ?match([_,_,_,_,_,_,_,_,_],
+ 'CosEventDomainAdmin_EventDomain':get_all_connections(ED)),
+ ?match([_], 'CosEventDomainAdmin_EventDomain':get_diamonds(ED)),
+
+ CID12 = ?match(10, 'CosEventDomainAdmin_EventDomain':add_connection(ED, C11)),
+ ?match([_, _, _], 'CosEventDomainAdmin_EventDomain':get_diamonds(ED)),
+
+ CID13 = ?match(11, 'CosEventDomainAdmin_EventDomain':add_connection(ED, C12)),
+
+ ?match([_, _, _], 'CosEventDomainAdmin_EventDomain':get_diamonds(ED)),
+
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosEventDomainAdmin_EventDomain':set_qos(ED, [ForbidDiamonds])),
+
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':remove_connection(ED, CID10)),
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':remove_connection(ED, CID11)),
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':remove_connection(ED, CID12)),
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':remove_connection(ED, CID13)),
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':set_qos(ED, [ForbidDiamonds])),
+ ?match([_, _], 'CosEventDomainAdmin_EventDomain':get_qos(ED)),
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_DiamondCreationForbidden',_,_}},
+ 'CosEventDomainAdmin_EventDomain':add_connection(ED, C10)),
+
+ ?match(ok, 'CosEventDomainAdmin_EventDomain':destroy(ED)),
+
+ ok.
+
+event_domain_factory_api(doc) -> ["Testing the CosEventDomain Factory API", ""];
+event_domain_factory_api(suite) -> [];
+event_domain_factory_api(_Config) ->
+
+ Cyclic = #'CosNotification_Property'{name=?CycleDetection,
+ value=any:create(orber_tc:short(),
+ ?ForbidCycles)},
+
+ BadProp = #'CosNotification_Property'{name="Wrong",
+ value=any:create(orber_tc:short(),
+ ?ForbidCycles)},
+
+ BadQoSVal = #'CosNotification_Property'{name=?CycleDetection,
+ value=any:create(orber_tc:short(),
+ 10)},
+
+ Fac = ?match({_,key,_,_,_,_},
+ cosEventDomainApp:start_factory()),
+ ?match([], 'CosEventDomainAdmin_EventDomainFactory':get_all_domains(Fac)),
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_DomainNotFound',_}},
+ 'CosEventDomainAdmin_EventDomainFactory':get_event_domain(Fac, 0)),
+ {ED,_} = 'CosEventDomainAdmin_EventDomainFactory':create_event_domain(Fac, [Cyclic], []),
+ ?match([0], 'CosEventDomainAdmin_EventDomainFactory':get_all_domains(Fac)),
+ ED = 'CosEventDomainAdmin_EventDomainFactory':get_event_domain(Fac, 0),
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_DomainNotFound',_}},
+ 'CosEventDomainAdmin_EventDomainFactory':get_event_domain(Fac, 1)),
+ corba:dispose(ED),
+ timer:sleep(3000),
+ ?match([], 'CosEventDomainAdmin_EventDomainFactory':get_all_domains(Fac)),
+ ?match({'EXCEPTION',{'CosEventDomainAdmin_DomainNotFound',_}},
+ 'CosEventDomainAdmin_EventDomainFactory':get_event_domain(Fac, 0)),
+ {ED2,_} = ?match({{_,key,_,_,_,_}, _},
+ 'CosEventDomainAdmin_EventDomainFactory':create_event_domain(Fac, [], [])),
+ ?match([1], 'CosEventDomainAdmin_EventDomainFactory':get_all_domains(Fac)),
+ ?match(ED2, 'CosEventDomainAdmin_EventDomainFactory':get_event_domain(Fac, 1)),
+ corba:dispose(ED2),
+
+ ?match({'EXCEPTION', {'CosNotification_UnsupportedQoS',_,_}},
+ 'CosEventDomainAdmin_EventDomainFactory':create_event_domain(Fac, [BadProp], [])),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedAdmin',_,_}},
+ 'CosEventDomainAdmin_EventDomainFactory':create_event_domain(Fac, [], [BadProp])),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosEventDomainAdmin_EventDomainFactory':create_event_domain(Fac, [BadQoSVal], [])),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedAdmin',_,_}},
+ 'CosEventDomainAdmin_EventDomainFactory':create_event_domain(Fac, [], [BadQoSVal])),
+
+ corba:dispose(Fac),
+ ok.
diff --git a/lib/cosEventDomain/test/generated_SUITE.erl b/lib/cosEventDomain/test/generated_SUITE.erl
new file mode 100644
index 0000000000..6c6996ca79
--- /dev/null
+++ b/lib/cosEventDomain/test/generated_SUITE.erl
@@ -0,0 +1,390 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : generated_SUITE.erl
+%% Purpose :
+%%-----------------------------------------------------------------
+
+-module(generated_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(nomatch(Not, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ Not ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS);
+ _ ->
+ AcTuAlReS
+ end
+ end()).
+
+
+-define(checktc(_Op),
+ fun(TC) ->
+ case orber_tc:check_tc(TC) of
+ false ->
+ io:format("###### ERROR ERROR ######~n~p - ~p~n", [Op, TC]),
+ ?line exit(TC);
+ true ->
+ true
+ end
+ end).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["This suite is for testing IC generated files"];
+all(suite) ->
+ ['CosEventDomainAdmin', 'CosEventDomainAdmin_DiamondSeq',
+ 'CosEventDomainAdmin_AlreadyExists', 'CosEventDomainAdmin_DomainIDSeq',
+ 'CosEventDomainAdmin_Connection', 'CosEventDomainAdmin_ConnectionIDSeq',
+ 'CosEventDomainAdmin_ConnectionNotFound', 'CosEventDomainAdmin_CycleCreationForbidden',
+ 'CosEventDomainAdmin_CycleSeq', 'CosEventDomainAdmin_DiamondCreationForbidden',
+ 'CosEventDomainAdmin_DomainNotFound', 'CosEventDomainAdmin_MemberIDSeq',
+ 'CosEventDomainAdmin_RouteSeq', 'CosEventDomainAdmin_EventDomainFactory',
+ 'CosEventDomainAdmin_EventDomain'].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin'(doc) -> ["CosEventDomainAdmin"];
+'CosEventDomainAdmin'(suite) -> [];
+'CosEventDomainAdmin'(_) ->
+ ?match("CycleDetection", 'CosEventDomainAdmin':'CycleDetection'()),
+ ?match(0, 'CosEventDomainAdmin':'AuthorizeCycles'()),
+ ?match(1, 'CosEventDomainAdmin':'ForbidCycles'()),
+ ?match("DiamondDetection", 'CosEventDomainAdmin':'DiamondDetection'()),
+ ?match(0, 'CosEventDomainAdmin':'AuthorizeDiamonds'()),
+ ?match(1, 'CosEventDomainAdmin':'ForbidDiamonds'()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_DiamondSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_DiamondSeq'(doc) -> ["CosEventDomainAdmin_DiamondSeq"];
+'CosEventDomainAdmin_DiamondSeq'(suite) -> [];
+'CosEventDomainAdmin_DiamondSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_DiamondSeq':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/DiamondSeq:1.0",
+ 'CosEventDomainAdmin_DiamondSeq':id()),
+ ?match("CosEventDomainAdmin_DiamondSeq",
+ 'CosEventDomainAdmin_DiamondSeq':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_AlreadyExists'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_AlreadyExists'(doc) -> ["CosEventDomainAdmin_AlreadyExists"];
+'CosEventDomainAdmin_AlreadyExists'(suite) -> [];
+'CosEventDomainAdmin_AlreadyExists'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_AlreadyExists':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/AlreadyExists:1.0",
+ 'CosEventDomainAdmin_AlreadyExists':id()),
+ ?match("CosEventDomainAdmin_AlreadyExists",
+ 'CosEventDomainAdmin_AlreadyExists':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_DomainIDSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_DomainIDSeq'(doc) -> ["CosEventDomainAdmin_DomainIDSeq"];
+'CosEventDomainAdmin_DomainIDSeq'(suite) -> [];
+'CosEventDomainAdmin_DomainIDSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_DomainIDSeq':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/DomainIDSeq:1.0",
+ 'CosEventDomainAdmin_DomainIDSeq':id()),
+ ?match("CosEventDomainAdmin_DomainIDSeq",
+ 'CosEventDomainAdmin_DomainIDSeq':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_Connection'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_Connection'(doc) -> ["CosEventDomainAdmin_Connection"];
+'CosEventDomainAdmin_Connection'(suite) -> [];
+'CosEventDomainAdmin_Connection'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_Connection':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/Connection:1.0",
+ 'CosEventDomainAdmin_Connection':id()),
+ ?match("CosEventDomainAdmin_Connection",
+ 'CosEventDomainAdmin_Connection':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_ConnectionIDSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_ConnectionIDSeq'(doc) -> ["CosEventDomainAdmin_ConnectionIDSeq"];
+'CosEventDomainAdmin_ConnectionIDSeq'(suite) -> [];
+'CosEventDomainAdmin_ConnectionIDSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_ConnectionIDSeq':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/ConnectionIDSeq:1.0",
+ 'CosEventDomainAdmin_ConnectionIDSeq':id()),
+ ?match("CosEventDomainAdmin_ConnectionIDSeq",
+ 'CosEventDomainAdmin_ConnectionIDSeq':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_ConnectionNotFound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_ConnectionNotFound'(doc) -> ["CosEventDomainAdmin_ConnectionNotFound"];
+'CosEventDomainAdmin_ConnectionNotFound'(suite) -> [];
+'CosEventDomainAdmin_ConnectionNotFound'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_ConnectionNotFound':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/ConnectionNotFound:1.0",
+ 'CosEventDomainAdmin_ConnectionNotFound':id()),
+ ?match("CosEventDomainAdmin_ConnectionNotFound",
+ 'CosEventDomainAdmin_ConnectionNotFound':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_CycleCreationForbidden'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_CycleCreationForbidden'(doc) -> ["CosEventDomainAdmin_CycleCreationForbidden"];
+'CosEventDomainAdmin_CycleCreationForbidden'(suite) -> [];
+'CosEventDomainAdmin_CycleCreationForbidden'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_CycleCreationForbidden':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/CycleCreationForbidden:1.0",
+ 'CosEventDomainAdmin_CycleCreationForbidden':id()),
+ ?match("CosEventDomainAdmin_CycleCreationForbidden",
+ 'CosEventDomainAdmin_CycleCreationForbidden':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_CycleSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_CycleSeq'(doc) -> ["CosEventDomainAdmin_CycleSeq"];
+'CosEventDomainAdmin_CycleSeq'(suite) -> [];
+'CosEventDomainAdmin_CycleSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_CycleSeq':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/CycleSeq:1.0",
+ 'CosEventDomainAdmin_CycleSeq':id()),
+ ?match("CosEventDomainAdmin_CycleSeq",
+ 'CosEventDomainAdmin_CycleSeq':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_DiamondCreationForbidden'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_DiamondCreationForbidden'(doc) -> ["CosEventDomainAdmin_DiamondCreationForbidden"];
+'CosEventDomainAdmin_DiamondCreationForbidden'(suite) -> [];
+'CosEventDomainAdmin_DiamondCreationForbidden'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_DiamondCreationForbidden':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/DiamondCreationForbidden:1.0",
+ 'CosEventDomainAdmin_DiamondCreationForbidden':id()),
+ ?match("CosEventDomainAdmin_DiamondCreationForbidden",
+ 'CosEventDomainAdmin_DiamondCreationForbidden':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_DomainNotFound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_DomainNotFound'(doc) -> ["CosEventDomainAdmin_DomainNotFound"];
+'CosEventDomainAdmin_DomainNotFound'(suite) -> [];
+'CosEventDomainAdmin_DomainNotFound'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_DomainNotFound':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/DomainNotFound:1.0",
+ 'CosEventDomainAdmin_DomainNotFound':id()),
+ ?match("CosEventDomainAdmin_DomainNotFound",
+ 'CosEventDomainAdmin_DomainNotFound':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_MemberIDSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_MemberIDSeq'(doc) -> ["CosEventDomainAdmin_MemberIDSeq"];
+'CosEventDomainAdmin_MemberIDSeq'(suite) -> [];
+'CosEventDomainAdmin_MemberIDSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_MemberIDSeq':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/MemberIDSeq:1.0",
+ 'CosEventDomainAdmin_MemberIDSeq':id()),
+ ?match("CosEventDomainAdmin_MemberIDSeq",
+ 'CosEventDomainAdmin_MemberIDSeq':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_RouteSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_RouteSeq'(doc) -> ["CosEventDomainAdmin_RouteSeq"];
+'CosEventDomainAdmin_RouteSeq'(suite) -> [];
+'CosEventDomainAdmin_RouteSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosEventDomainAdmin_RouteSeq':tc())),
+ ?match("IDL:omg.org/CosEventDomainAdmin/RouteSeq:1.0",
+ 'CosEventDomainAdmin_RouteSeq':id()),
+ ?match("CosEventDomainAdmin_RouteSeq",
+ 'CosEventDomainAdmin_RouteSeq':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_EventDomainFactory'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_EventDomainFactory'(doc) -> ["CosEventDomainAdmin_EventDomainFactory"];
+'CosEventDomainAdmin_EventDomainFactory'(suite) -> [];
+'CosEventDomainAdmin_EventDomainFactory'(_) ->
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomainFactory':oe_tc(create_event_domain)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomainFactory':oe_tc(get_all_domains)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomainFactory':oe_tc(get_event_domain)),
+ ?match(undefined, 'CosEventDomainAdmin_EventDomainFactory':oe_tc(undefined)),
+ ?match([_|_], 'CosEventDomainAdmin_EventDomainFactory':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventDomainAdmin/EventDomainFactory:1.0",
+ 'CosEventDomainAdmin_EventDomainFactory':typeID()),
+ check_tc('CosEventDomainAdmin_EventDomainFactory':oe_get_interface()),
+ ?match(true, 'CosEventDomainAdmin_EventDomainFactory':oe_is_a('CosEventDomainAdmin_EventDomainFactory':typeID())),
+ ?match(false, 'CosEventDomainAdmin_EventDomainFactory':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosEventDomainAdmin_EventDomain'
+%% Description:
+%%-----------------------------------------------------------------
+'CosEventDomainAdmin_EventDomain'(doc) -> ["CosEventDomainAdmin_EventDomain"];
+'CosEventDomainAdmin_EventDomain'(suite) -> [];
+'CosEventDomainAdmin_EventDomain'(_) ->
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(add_channel)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(get_all_channels)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(get_channel)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(remove_channel)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(add_connection)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(get_all_connections)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(get_connection)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(remove_connection)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(get_offer_channels)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(get_subscription_channels)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(destroy)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(get_cycles)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(get_diamonds)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(set_default_consumer_channel)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(set_default_supplier_channel)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_push_consumer)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_pull_consumer)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_push_supplier)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_pull_supplier)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_structured_push_consumer)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_structured_pull_consumer)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_structured_push_supplier)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_structured_pull_supplier)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_sequence_push_consumer)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_sequence_pull_consumer)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_sequence_push_supplier)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_sequence_pull_supplier)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_push_consumer_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_pull_consumer_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_push_supplier_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_pull_supplier_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_structured_push_consumer_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_structured_pull_consumer_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_structured_push_supplier_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_structured_pull_supplier_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_sequence_push_consumer_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_sequence_pull_consumer_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_sequence_push_supplier_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(connect_sequence_pull_supplier_with_id)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(get_admin)),
+ ?nomatch(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(set_admin)),
+ ?match(undefined, 'CosEventDomainAdmin_EventDomain':oe_tc(undefined)),
+ ?match([_|_], 'CosEventDomainAdmin_EventDomain':oe_get_interface()),
+ ?match("IDL:omg.org/CosEventDomainAdmin/EventDomain:1.0",
+ 'CosEventDomainAdmin_EventDomain':typeID()),
+ check_tc('CosEventDomainAdmin_EventDomain':oe_get_interface()),
+ ?match(true, 'CosEventDomainAdmin_EventDomain':oe_is_a('CosEventDomainAdmin_EventDomain':typeID())),
+ ?match(true, 'CosEventDomainAdmin_EventDomain':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosEventDomainAdmin_EventDomain':oe_is_a('CosNotification_AdminPropertiesAdmin':typeID())),
+ ?match(false, 'CosEventDomainAdmin_EventDomain':oe_is_a("wrong")),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% MISC functions
+%%-----------------------------------------------------------------
+check_tc([]) ->
+ ok;
+check_tc([{Op, {RetType, InParameters, OutParameters}}|T]) ->
+ io:format("checked - ~s~n", [Op]),
+ lists:all(?checktc(Op), [RetType|InParameters]),
+ lists:all(?checktc(Op), OutParameters),
+ check_tc(T).
+
+
diff --git a/lib/cosEventDomain/vsn.mk b/lib/cosEventDomain/vsn.mk
index 483b130819..dceee34181 100644
--- a/lib/cosEventDomain/vsn.mk
+++ b/lib/cosEventDomain/vsn.mk
@@ -1,7 +1,9 @@
-COSEVENTDOMAIN_VSN = 1.1.8
+COSEVENTDOMAIN_VSN = 1.1.9
-TICKETS = OTP-8353 \
+TICKETS = OTP-8543
+
+TICKETS_1.1.8 = OTP-8353 \
OTP-8355
TICKETS_1.1.7 = OTP-8201
diff --git a/lib/cosNotification/doc/src/notes.xml b/lib/cosNotification/doc/src/notes.xml
index 29879e95fb..de5a3e5f4c 100644
--- a/lib/cosNotification/doc/src/notes.xml
+++ b/lib/cosNotification/doc/src/notes.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2000</year><year>2009</year>
+ <year>2000</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>cosNotification Release Notes</title>
@@ -32,6 +32,31 @@
</header>
<section>
+ <title>cosNotification 1.1.14</title>
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>
+ Test suites published.</p>
+ <p>
+ Own Id: OTP-8543 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Added missing trailing bracket to define in hrl-file.</p>
+ <p>Own id: OTP-8489 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosNotification 1.1.13</title>
<section>
diff --git a/lib/cosNotification/src/CosNotification_Definitions.hrl b/lib/cosNotification/src/CosNotification_Definitions.hrl
index 755b07cd5d..8325b5aa5e 100644
--- a/lib/cosNotification/src/CosNotification_Definitions.hrl
+++ b/lib/cosNotification/src/CosNotification_Definitions.hrl
@@ -1,20 +1,20 @@
%%----------------------------------------------------------------------
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -162,7 +162,7 @@
low_val=any:create(orber_tc:long(), ?not_MinConsumerEvents),
high_val=any:create(orber_tc:long(), ?not_MaxConsumerEvents)
}}
-].
+]).
diff --git a/lib/cosNotification/test/Makefile b/lib/cosNotification/test/Makefile
new file mode 100644
index 0000000000..df8f9e919b
--- /dev/null
+++ b/lib/cosNotification/test/Makefile
@@ -0,0 +1,190 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 1999-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include ../vsn.mk
+VSN=$(COSNOTIFICATION_VSN)
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/cosNotification_test
+
+# ----------------------------------------------------
+# Target Specs
+# ----------------------------------------------------
+TEST_SPEC_FILE = cosNotification.spec
+
+
+IDL_FILES =
+
+IDLOUTDIR = idl_output
+
+MODULES = \
+ notification_SUITE \
+ grammar_SUITE \
+ eventDB_SUITE \
+ generated_SUITE \
+ notify_test_impl
+
+GEN_MODULES = \
+ oe_notify_test_server \
+ notify_test_data \
+ notify_test_computer \
+ notify_test_studies \
+ notify_test_ShortArray \
+ notify_test_uni1 \
+ notify_test_uni2 \
+ notify_test_X \
+ notify_test_K \
+ notify_test_SeqPushC \
+ notify_test_StrPushC \
+ notify_test_AnyPushC \
+ notify_test_SeqPullC \
+ notify_test_StrPullC \
+ notify_test_AnyPullC \
+ notify_test_SeqPushS \
+ notify_test_StrPushS \
+ notify_test_AnyPushS \
+ notify_test_SeqPullS \
+ notify_test_StrPullS \
+ notify_test_AnyPullS \
+ notify_test_funcs
+
+GEN_HRL_FILES = \
+ oe_notify_test_server.hrl \
+ notify_test_SeqPushC.hrl \
+ notify_test_StrPushC.hrl \
+ notify_test_AnyPushC.hrl \
+ notify_test_SeqPullC.hrl \
+ notify_test_StrPullC.hrl \
+ notify_test_AnyPullC.hrl \
+ notify_test_SeqPushS.hrl \
+ notify_test_StrPushS.hrl \
+ notify_test_AnyPushS.hrl \
+ notify_test_SeqPullS.hrl \
+ notify_test_StrPullS.hrl \
+ notify_test_AnyPullS.hrl \
+ notify_test.hrl \
+ notify_test_funcs.hrl
+
+ERL_FILES = $(MODULES:%=%.erl)
+
+HRL_FILES =
+
+GEN_FILES = \
+ $(GEN_HRL_FILES:%=$(IDLOUTDIR)/%) \
+ $(GEN_MODULES:%=$(IDLOUTDIR)/%.erl)
+
+GEN_TARGET_FILES = $(GEN_MODULES:%=$(IDLOUTDIR)/%.$(EMULATOR))
+
+SUITE_TARGET_FILES = $(MODULES:%=%.$(EMULATOR))
+
+TARGET_FILES = \
+ $(GEN_TARGET_FILES) \
+ $(SUITE_TARGET_FILES)
+
+
+# ----------------------------------------------------
+# PROGRAMS
+# ----------------------------------------------------
+LOCAL_CLASSPATH = $(ERL_TOP)lib/cosNotification/priv:$(ERL_TOP)lib/cosNotification/test
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+ERL_IDL_FLAGS += \
+ -pa $(ERL_TOP)/lib/cosNotification/ebin \
+ -pa $(ERL_TOP)/lib/cosNotification/src \
+ -pa $(ERL_TOP)/lib/cosTime/ebin \
+ -pa $(ERL_TOP)/lib/cosTime/include \
+ -pa $(ERL_TOP)/lib/orber/ebin \
+ -pa $(ERL_TOP)/lib/ic/ebin \
+ -pa $(ERL_TOP)/lib/cosNotification/include \
+ -I$(ERL_TOP)/lib/cosEvent/src \
+ -I$(ERL_TOP)/lib/cosNotification/include \
+
+ERL_COMPILE_FLAGS += \
+ $(ERL_IDL_FLAGS) \
+ -pa $(ERL_TOP)/lib/orber/include \
+ -pa $(ERL_TOP)/internal_tools/test_server/ebin \
+ -pa $(ERL_TOP)/lib/cosNotification/ebin \
+ -pa $(ERL_TOP)/lib/cosNotification/test/idl_output \
+ -pa $(ERL_TOP)/lib/cosTime/ebin \
+ -pa $(ERL_TOP)/lib/cosTime/include \
+ -pa $(ERL_TOP)/lib/cosNotification/include \
+ -pa $(ERL_TOP)/lib/ic/ebin \
+ -I$(ERL_TOP)/lib/cosTime/ebin \
+ -I$(ERL_TOP)/lib/cosTime/include \
+ -I$(ERL_TOP)/lib/orber/include \
+ -I$(ERL_TOP)/lib/cosNotification/src \
+ -I$(ERL_TOP)/lib/cosNotification/include \
+ -I$(ERL_TOP)/lib/cosNotification \
+ -I$(ERL_TOP)/lib/cosNotification/test/$(IDLOUTDIR) \
+ -I$(ERL_TOP)/lib/test_server/include
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+
+
+tests debug opt: $(TARGET_FILES)
+
+clean:
+ rm -f idl_output/*
+ rm -f $(TARGET_FILES)
+ rm -f errs core *~
+
+docs:
+
+# ----------------------------------------------------
+# Special Targets
+# ----------------------------------------------------
+
+TGT_TEST = \
+ $(GEN_HRL_FILES:%=$(IDLOUTDIR)/%) \
+ $(GEN_MODULES:%=$(IDLOUTDIR)/%.erl)
+
+$(TGT_TEST): notify_test_server.idl
+ erlc $(ERL_COMPILE_FLAGS) -o$(IDLOUTDIR) \
+ +'{cfgfile,"notify_test_server.cfg"}' notify_test_server.idl
+
+# ----------------------------------------------------
+# Release Targets
+# ----------------------------------------------------
+# We don't copy generated intermediate erlang and hrl files
+
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_spec:
+
+release_docs_spec:
+
+release_tests_spec: tests
+ $(INSTALL_DIR) $(RELSYSDIR)
+ $(INSTALL_DATA) $(IDL_FILES) $(TEST_SPEC_FILE) \
+ $(ERL_FILES) $(RELSYSDIR)
+ $(INSTALL_DIR) $(RELSYSDIR)/$(IDLOUTDIR)
+ $(INSTALL_DATA) $(GEN_TARGET_FILES) $(GEN_FILES) \
+ $(RELSYSDIR)/$(IDLOUTDIR)
+ $(INSTALL_DATA) $(SUITE_TARGET_FILES) $(RELSYSDIR)
+
diff --git a/lib/cosNotification/test/cosNotification.spec b/lib/cosNotification/test/cosNotification.spec
new file mode 100644
index 0000000000..8df89e7908
--- /dev/null
+++ b/lib/cosNotification/test/cosNotification.spec
@@ -0,0 +1,19 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+{topcase, {dir, "../cosNotification_test"}}.
diff --git a/lib/cosNotification/test/eventDB_SUITE.erl b/lib/cosNotification/test/eventDB_SUITE.erl
new file mode 100644
index 0000000000..9ddfb3d902
--- /dev/null
+++ b/lib/cosNotification/test/eventDB_SUITE.erl
@@ -0,0 +1,902 @@
+%%--------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%--------------------------------------------------------------------
+%% File : eventDB_SUITE.erl
+%% Purpose :
+%%--------------------------------------------------------------------
+
+-module(eventDB_SUITE).
+%%--------------- INCLUDES -----------------------------------
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/include/ifr_types.hrl").
+%% cosEvent files.
+-include_lib("cosEvent/include/CosEventChannelAdmin.hrl").
+%% cosTime files.
+-include_lib("cosTime/include/TimeBase.hrl").
+%% Application files
+-include_lib("cosNotification/include/CosNotification.hrl").
+-include_lib("cosNotification/include/CosNotifyChannelAdmin.hrl").
+-include_lib("cosNotification/include/CosNotifyComm.hrl").
+-include_lib("cosNotification/include/CosNotifyFilter.hrl").
+
+-include_lib("cosNotification/src/CosNotification_Definitions.hrl").
+
+-include("idl_output/notify_test.hrl").
+
+-include("test_server.hrl").
+
+%%--------------- DEFINES ------------------------------------
+-define(default_timeout, ?t:minutes(20)).
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+
+-define(EVENT1, ?not_CreateSE("","event1","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), 0)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=900000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=900000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="Timeout",
+ value=any:create(orber_tc:unsigned_long_long(), 900000000)}],
+ [], any:create(orber_tc:null(), null))).
+-define(EVENT2, ?not_CreateSE("","event2","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), 0)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=800000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=800000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="Timeout",
+ value=any:create(orber_tc:unsigned_long_long(), 800000000)}],
+ [], any:create(orber_tc:null(), null))).
+-define(EVENT3, ?not_CreateSE("","event3","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), 0)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=700000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=700000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="Timeout",
+ value=any:create(orber_tc:unsigned_long_long(), 700000000)}],
+ [], any:create(orber_tc:null(), null))).
+-define(EVENT4, ?not_CreateSE("","event4","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), 2)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=300000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=300000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="Timeout",
+ value=any:create(orber_tc:unsigned_long_long(), 300000000)}],
+ [], any:create(orber_tc:null(), null))).
+-define(EVENT5, ?not_CreateSE("","event5","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), 2)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=200000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=200000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="Timeout",
+ value=any:create(orber_tc:unsigned_long_long(), 200000000)}],
+ [], any:create(orber_tc:null(), null))).
+-define(EVENT6, ?not_CreateSE("","event6","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), 0)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=500000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=500000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="Timeout",
+ value=any:create(orber_tc:unsigned_long_long(), 500000000)}],
+ [], any:create(orber_tc:null(), null))).
+-define(EVENT7, ?not_CreateSE("","event7","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), -1)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=400000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=400000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="Timeout",
+ value=any:create(orber_tc:unsigned_long_long(), 400000000)}],
+ [], any:create(orber_tc:null(), null))).
+-define(EVENT8, ?not_CreateSE("","event8","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), -1)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=600000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=600000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="Timeout",
+ value=any:create(orber_tc:unsigned_long_long(), 600000000)}],
+ [], any:create(orber_tc:null(), null))).
+-define(EVENT9, ?not_CreateSE("","event9","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), 0)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=100000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(),
+ #'TimeBase_UtcT'
+ {time=100000000,
+ inacclo=0, inacchi=0, tdf=2})},
+ #'CosNotification_Property'
+ {name="Timeout",
+ value=any:create(orber_tc:unsigned_long_long(), 100000000)}],
+ [], any:create(orber_tc:null(), null))).
+
+-define(EVENTS, [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT4, ?EVENT5, ?EVENT6, ?EVENT7,
+ ?EVENT8, ?EVENT9]).
+
+
+-define(PRIOORDER, [?EVENT4, ?EVENT5, ?EVENT1, ?EVENT2, ?EVENT3, ?EVENT6, ?EVENT9,
+ ?EVENT7, ?EVENT8]).
+
+-define(FIFOORDER, ?EVENTS).
+
+-define(DEADLINEORDER, [?EVENT9, ?EVENT5, ?EVENT4, ?EVENT7, ?EVENT6, ?EVENT8, ?EVENT3,
+ ?EVENT2, ?EVENT1]).
+
+-define(NO_OF_EVENTS, 9).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1, reorder_api/1, lookup_api/1,
+ discard_api/1, max_events_api/1, gc_api/1, auto_gc_api/1,
+ start_stop_time_api/1, mapping_filter_api/1, persisten_event_api/1,
+ init_per_testcase/2, fin_per_testcase/2]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for the cosNotification interfaces", ""];
+all(suite) -> {req,
+ [mnesia, orber],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [persisten_event_api, start_stop_time_api, mapping_filter_api,
+ max_events_api, discard_api, reorder_api, lookup_api, gc_api,
+ auto_gc_api].
+
+
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ orber:jump_start(),
+ cosTime:install_time(),
+ cosTime:start(),
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ cosTime:stop(),
+ cosTime:uninstall_time(),
+ orber:jump_stop(),
+ Config.
+
+
+%%-----------------------------------------------------------------
+%% cosNotification_eventDB lookup API tests
+%%-----------------------------------------------------------------
+mapping_filter_api(doc) -> ["The event DB is used to store events which cannot be",
+ "delivered at once. This case is supposed to test",
+ "that the events are delivered in the correct order",
+ "if a MappingFilter have benn associated.",
+ ""];
+mapping_filter_api(suite) -> [];
+mapping_filter_api(_Config) ->
+ InitQoS = ?not_CreateInitQoS(),
+ InitQoS2 = ?not_SetMaxEventsPerConsumer(InitQoS,100),
+ InitQoS3 = ?not_SetStartTimeSupported(InitQoS2, false),
+ InitQoS4 = ?not_SetStopTimeSupported(InitQoS3, true),
+ QoS = ?not_SetDiscardPolicy(InitQoS4, ?not_AnyOrder),
+
+ PriorityQoS = ?not_SetOrderPolicy(QoS, ?not_PriorityOrder),
+ DeadlineQoS = ?not_SetOrderPolicy(QoS, ?not_DeadlineOrder),
+
+ %% "Calculate" data once:
+ %% NOTE! Even though the an Event do not match any of the constarints the
+ %% default value will be used. Hence, the events will not be stored in the
+ %% way described in the definitions above. For example, when using deadline order
+ %% all the events will be stored in FIFO order since the usag of a MappingFilter
+ %% all evnts will have the same deadline (except event6).
+ Events = ?EVENTS,
+ PrioOrder = [?EVENT6, ?EVENT1, ?EVENT2, ?EVENT3, ?EVENT4, ?EVENT5, ?EVENT7,
+ ?EVENT8, ?EVENT9],
+ DeadlineOrder = [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT4, ?EVENT5, ?EVENT7, ?EVENT8,
+ ?EVENT9],
+
+
+ FiFac = 'CosNotifyFilter_FilterFactory':oe_create(),
+ ?match({_,key,_,_,_,_}, FiFac),
+
+ PrioFilter = 'CosNotifyFilter_FilterFactory':
+ create_mapping_filter(FiFac, "EXTENDED_TCL", any:create(orber_tc:short(), 0)),
+ DLFilter = 'CosNotifyFilter_FilterFactory':
+ create_mapping_filter(FiFac, "EXTENDED_TCL", any:create(orber_tc:unsigned_long_long(), 1000000000)),
+
+ ?match([_],
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(PrioFilter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "",
+ type_name = "event6"}],
+ constraint_expr = "2==2"},
+ result_to_set = any:create(orber_tc:short(), 10)}])),
+ ?match([_],
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(DLFilter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "",
+ type_name = "event6"}],
+ constraint_expr = "2==2"},
+ result_to_set = any:create(orber_tc:unsigned_long_long(), 200000000)}])),
+
+
+ do_lookup(PriorityQoS, Events, PrioOrder, "Priority Order", undefined, PrioFilter, 0),
+ do_lookup(DeadlineQoS, Events, DeadlineOrder, "Deadline Order", DLFilter, undefined, 23000),
+ ok.
+
+do_lookup(QoS, Events, Return, Txt, DLFilter, PrioFilter, Timeout) ->
+ io:format("#################### ~s ###################~n", [Txt]),
+ Ref = cosNotification_eventDB:create_db(QoS, 60, 50, undefined),
+ create_loop(Events, Ref, DLFilter, PrioFilter),
+ timer:sleep(Timeout),
+ ?match({Return,_}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+ cosNotification_eventDB:destroy_db(Ref).
+
+%%-----------------------------------------------------------------
+%% cosNotification_eventDB discard API tests
+%%-----------------------------------------------------------------
+discard_api(doc) -> ["The event DB is used to store events which cannot be",
+ "delivered at once. If MaxEvents limit is reached there",
+ "different ways we can discard the. This case will test",
+ "all permutations of order and discard policies.",
+ ""];
+discard_api(suite) -> [];
+discard_api(_Config) ->
+ InitQoS1 = ?not_CreateInitQoS(),
+ InitQoS2 = ?not_SetPriority(InitQoS1, 10),
+ InitQoS3 = ?not_SetStartTimeSupported(InitQoS2, false),
+ QoS = ?not_SetMaxEventsPerConsumer(InitQoS3, 5),
+ %% The different order policies. To each order we must apply every possible
+ %% discard policy to each order policy setting. We also have to test and
+ %% change the policies for each setting.
+ AnyQoS = ?not_SetOrderPolicy(QoS, ?not_AnyOrder),
+ PriorityQoS = ?not_SetOrderPolicy(QoS, ?not_PriorityOrder),
+ FifoQoS = ?not_SetOrderPolicy(QoS, ?not_FifoOrder),
+ DeadlineQoS = ?not_SetOrderPolicy(QoS, ?not_DeadlineOrder),
+
+ Events = ?EVENTS,
+
+ %% Test using Any discard policy
+ do_discard(Events, ?not_SetDiscardPolicy(AnyQoS, ?not_AnyOrder),
+ [?EVENT4, ?EVENT5, ?EVENT1, ?EVENT2, ?EVENT3],
+ "Discard and Order eq. Any"),
+ do_discard(Events, ?not_SetDiscardPolicy(PriorityQoS, ?not_AnyOrder),
+ [?EVENT4, ?EVENT5, ?EVENT1, ?EVENT2, ?EVENT3],
+ "Discard Any and Order Priority"),
+ do_discard(Events, ?not_SetDiscardPolicy(FifoQoS, ?not_AnyOrder),
+ [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT4, ?EVENT5],
+ "Discard Any and Order Fifo"),
+ do_discard(Events, ?not_SetDiscardPolicy(DeadlineQoS, ?not_AnyOrder),
+ [?EVENT5, ?EVENT4, ?EVENT3, ?EVENT2, ?EVENT1],
+ "Discard Any and Order Deadline"),
+
+ %% Test using RejectNewEvents discard policy
+ do_discard(Events, ?not_SetDiscardPolicy(AnyQoS, ?not_RejectNewEvents),
+ [?EVENT4, ?EVENT5, ?EVENT1, ?EVENT2, ?EVENT3],
+ "Discard RejectNewEvents and Order Any"),
+ do_discard(Events, ?not_SetDiscardPolicy(PriorityQoS, ?not_RejectNewEvents),
+ [?EVENT4, ?EVENT5, ?EVENT1, ?EVENT2, ?EVENT3],
+ "Discard RejectNewEvents and Order Priority"),
+ do_discard(Events, ?not_SetDiscardPolicy(FifoQoS, ?not_RejectNewEvents),
+ [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT4, ?EVENT5],
+ "Discard RejectNewEvents and Order Fifo"),
+ do_discard(Events, ?not_SetDiscardPolicy(DeadlineQoS, ?not_RejectNewEvents),
+ [?EVENT5, ?EVENT4, ?EVENT3, ?EVENT2, ?EVENT1],
+ "Discard RejectNewEvents and Order Deadline"),
+
+ %% Test using Lifo discard policy
+ do_discard(Events, ?not_SetDiscardPolicy(AnyQoS, ?not_LifoOrder),
+ [?EVENT4, ?EVENT5, ?EVENT1, ?EVENT2, ?EVENT3],
+ "Discard Lifo and Order Any"),
+ do_discard(Events, ?not_SetDiscardPolicy(PriorityQoS, ?not_LifoOrder),
+ [?EVENT4, ?EVENT5, ?EVENT1, ?EVENT2, ?EVENT3],
+ "Discard Lifo and Order Priority"),
+ do_discard(Events, ?not_SetDiscardPolicy(FifoQoS, ?not_LifoOrder),
+ [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT4, ?EVENT5],
+ "Discard Lifo and Order Fifo"),
+ do_discard(Events, ?not_SetDiscardPolicy(DeadlineQoS, ?not_LifoOrder),
+ [?EVENT5, ?EVENT4, ?EVENT3, ?EVENT2, ?EVENT1],
+ "Discard Lifo and Order Deadline"),
+
+ %% Test using Fifo discard policy
+ do_discard(Events, ?not_SetDiscardPolicy(AnyQoS, ?not_FifoOrder),
+ [?EVENT5, ?EVENT6, ?EVENT9, ?EVENT7, ?EVENT8],
+ "Discard Fifo and Order Any"),
+ do_discard(Events, ?not_SetDiscardPolicy(PriorityQoS, ?not_FifoOrder),
+ [?EVENT5, ?EVENT6, ?EVENT9, ?EVENT7, ?EVENT8],
+ "Discard Fifo and Order Priority"),
+ do_discard(Events, ?not_SetDiscardPolicy(FifoQoS, ?not_FifoOrder),
+ [?EVENT5, ?EVENT6, ?EVENT7, ?EVENT8, ?EVENT9],
+ "Discard Fifo and Order Fifo"),
+ do_discard(Events, ?not_SetDiscardPolicy(DeadlineQoS, ?not_FifoOrder),
+ [?EVENT9, ?EVENT5, ?EVENT7, ?EVENT6, ?EVENT8],
+ "Discard Fifo and Order Deadline"),
+
+ %% Test using Priority discard policy
+ do_discard(Events, ?not_SetDiscardPolicy(AnyQoS, ?not_PriorityOrder),
+ [?EVENT4, ?EVENT5, ?EVENT1, ?EVENT2, ?EVENT3],
+ "Discard Priority and Order Any"),
+ do_discard(Events, ?not_SetDiscardPolicy(PriorityQoS, ?not_PriorityOrder),
+ [?EVENT4, ?EVENT5, ?EVENT1, ?EVENT2, ?EVENT3],
+ "Discard Priority and Order Priority"),
+ do_discard(Events, ?not_SetDiscardPolicy(FifoQoS, ?not_PriorityOrder),
+ [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT4, ?EVENT5],
+ "Discard Priority and Order Fifo"),
+ do_discard(Events, ?not_SetDiscardPolicy(DeadlineQoS, ?not_PriorityOrder),
+ [?EVENT5, ?EVENT4, ?EVENT3, ?EVENT2, ?EVENT1],
+ "Discard Priority and Order Deadline"),
+
+ %% Test using Deadline discard policy
+ do_discard(Events, ?not_SetDiscardPolicy(AnyQoS, ?not_DeadlineOrder),
+ [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT6, ?EVENT8],
+ "Discard Deadline and Order Any"),
+ do_discard(Events, ?not_SetDiscardPolicy(PriorityQoS, ?not_DeadlineOrder),
+ [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT6, ?EVENT8],
+ "Discard Deadline and Order Priority"),
+ do_discard(Events, ?not_SetDiscardPolicy(FifoQoS, ?not_DeadlineOrder),
+ [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT6, ?EVENT8],
+ "Discard Deadline and Order Fifo"),
+ do_discard(Events, ?not_SetDiscardPolicy(DeadlineQoS, ?not_DeadlineOrder),
+ [?EVENT6, ?EVENT8, ?EVENT3, ?EVENT2, ?EVENT1],
+ "Discard Deadline and Order Deadline"),
+
+ ok.
+
+do_discard(Events, QoS, Reply, Txt) ->
+ io:format("################# ~s #################~n", [Txt]),
+ Ref = cosNotification_eventDB:create_db(QoS, 60, 50, undefined),
+ create_loop(Events, Ref),
+ ?match({Reply,_}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+ cosNotification_eventDB:destroy_db(Ref).
+
+
+%%-----------------------------------------------------------------
+%% cosNotification_eventDB lookup API tests
+%%-----------------------------------------------------------------
+lookup_api(doc) -> ["The event DB is used to store events which cannot be",
+ "delivered at once. This case is supposed to test",
+ "that the events are delivered in the correct order.",
+ ""];
+lookup_api(suite) -> [];
+lookup_api(_Config) ->
+ InitQoS = ?not_CreateInitQoS(),
+ InitQoS2 = ?not_SetMaxEventsPerConsumer(InitQoS,100),
+ InitQoS3 = ?not_SetStartTimeSupported(InitQoS2, false),
+ QoS = ?not_SetDiscardPolicy(InitQoS3, ?not_AnyOrder),
+
+ AnyQoS = ?not_SetOrderPolicy(QoS, ?not_AnyOrder),
+ PriorityQoS = ?not_SetOrderPolicy(QoS, ?not_PriorityOrder),
+ FifoQoS = ?not_SetOrderPolicy(QoS, ?not_FifoOrder),
+ DeadlineQoS = ?not_SetOrderPolicy(QoS, ?not_DeadlineOrder),
+
+ %% "Calculate" data once:
+ Events = ?EVENTS,
+ PrioOrder = ?PRIOORDER,
+ FifoOrder = ?FIFOORDER,
+ DeadlineOrder = ?DEADLINEORDER,
+
+ do_lookup(PriorityQoS, Events, PrioOrder, "Priority Order"),
+ do_lookup(FifoQoS, Events, FifoOrder, "Fifo Order"),
+ do_lookup(DeadlineQoS, Events, DeadlineOrder, "Deadline Order"),
+ do_lookup(AnyQoS, Events, PrioOrder, "Any Order"),
+ ok.
+
+do_lookup(QoS, Events, Return, Txt) ->
+ io:format("#################### ~s ###################~n", [Txt]),
+ Ref = cosNotification_eventDB:create_db(QoS, 60, 50, undefined),
+ create_loop(Events, Ref),
+ ?match({Return,_}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+ cosNotification_eventDB:destroy_db(Ref).
+
+
+%%-----------------------------------------------------------------
+%% cosNotification_eventDB max events API tests
+%%-----------------------------------------------------------------
+max_events_api(doc) -> ["The event DB is used to store events which cannot be",
+ "delivered at once. If the MaxEvents QoS is updated we must be",
+ "able to reduce the amount of stored events.",
+ ""];
+max_events_api(suite) -> [];
+max_events_api(_Config) ->
+
+ QoS1 = ?not_CreateInitQoS(),
+ QoS2 = ?not_SetOrderPolicy(QoS1, ?not_FifoOrder),
+ QoS3 = ?not_SetDiscardPolicy(QoS2, ?not_RejectNewEvents),
+ QoS4 = ?not_SetStartTimeSupported(QoS3, false),
+ QoS_NO_OF_EVENTS = ?not_SetMaxEventsPerConsumer(QoS4, ?NO_OF_EVENTS),
+ QoS_5_EVENTS = ?not_SetMaxEventsPerConsumer(QoS4, 5),
+
+ Events = ?EVENTS,
+ Events5 = [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT4, ?EVENT5],
+
+ %% Initiate DB and 'NO_OF_EVENTS' events.
+ Ref1 = cosNotification_eventDB:create_db(QoS_NO_OF_EVENTS, 60, 50, undefined),
+ create_loop(Events, Ref1),
+
+ %% Reduce the limit to 5 and extract all and see if it's ok.
+ Ref2 = cosNotification_eventDB:update(Ref1, QoS_5_EVENTS),
+ ?match({Events5, true}, cosNotification_eventDB:get_events(Ref2, ?NO_OF_EVENTS)),
+
+ %% Add 'NO_OF_EVENTS' events. Since the only allow 5 events the DB will only
+ %% contain 5 events.
+ create_loop(Events, Ref2),
+ Ref3 = cosNotification_eventDB:update(Ref2, QoS_NO_OF_EVENTS),
+
+ ?match({Events5, true}, cosNotification_eventDB:get_events(Ref3, ?NO_OF_EVENTS)),
+ create_loop(Events, Ref3),
+ ?match({Events, true}, cosNotification_eventDB:get_events(Ref3, ?NO_OF_EVENTS)),
+ cosNotification_eventDB:destroy_db(Ref3),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% cosNotification_eventDB persisten events API tests
+%%-----------------------------------------------------------------
+persisten_event_api(doc) -> ["The event DB is used to store events which cannot be",
+ "delivered at once.",
+ ""];
+persisten_event_api(suite) -> [];
+persisten_event_api(_Config) ->
+
+ QoS1 = ?not_CreateInitQoS(),
+ QoS2 = ?not_SetOrderPolicy(QoS1, ?not_FifoOrder),
+ QoS3 = ?not_SetDiscardPolicy(QoS2, ?not_RejectNewEvents),
+ QoS4 = ?not_SetStartTimeSupported(QoS3, false),
+ QoS = ?not_SetMaxEventsPerConsumer(QoS4, ?NO_OF_EVENTS),
+
+ Event1 = ?EVENT1,
+
+ Ref = cosNotification_eventDB:create_db(QoS, 60, 50, undefined),
+ %% Clean DB, should be empty
+ ?match(0, cosNotification_eventDB:status(Ref, eventCounter)),
+ cosNotification_eventDB:add_event(Ref, Event1),
+ ?match(1, cosNotification_eventDB:status(Ref, eventCounter)),
+ %% Get event without removing it. Should still be one event stored
+ ?match({[Event1], _, _}, cosNotification_eventDB:get_events(Ref, 2, false)),
+ ?match(1, cosNotification_eventDB:status(Ref, eventCounter)),
+ {_, _, Keys} =
+ ?match({Event1, _, _}, cosNotification_eventDB:get_event(Ref, false)),
+ ?match(1, cosNotification_eventDB:status(Ref, eventCounter)),
+ %% Clear the events and check that the DB is empty.
+ cosNotification_eventDB:delete_events(Keys),
+ ?match(0, cosNotification_eventDB:status(Ref, eventCounter)),
+ ?match({[], _, []}, cosNotification_eventDB:get_event(Ref, false)),
+ ?match({[], _, []}, cosNotification_eventDB:get_events(Ref, 2, false)),
+
+ cosNotification_eventDB:destroy_db(Ref),
+ ok.
+
+%%-----------------------------------------------------------------
+%% cosNotification_eventDB gc API tests
+%%-----------------------------------------------------------------
+gc_api(doc) -> ["The event DB is used to store events which cannot be",
+ "delivered at once. If Deadline defined the events that",
+ "are older must be discarded.",
+ ""];
+gc_api(suite) -> [];
+gc_api(_Config) ->
+
+ QoS1 = ?not_CreateInitQoS(),
+ QoS2 = ?not_SetOrderPolicy(QoS1, ?not_FifoOrder),
+ QoS3 = ?not_SetDiscardPolicy(QoS2, ?not_RejectNewEvents),
+ QoS4 = ?not_SetStartTimeSupported(QoS3, false),
+ QoS_NO_OF_EVENTS = ?not_SetMaxEventsPerConsumer(QoS4, ?NO_OF_EVENTS),
+
+ Events = ?EVENTS,
+ Events6 = [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT4, ?EVENT6, ?EVENT7, ?EVENT8],
+ %% Initiate DB and 'NO_OF_EVENTS' events.
+ Ref = cosNotification_eventDB:create_db(QoS_NO_OF_EVENTS, 60, 50, undefined),
+ create_loop(Events, Ref),
+
+ %% Sleep so some events will get 'old'.
+ timer:sleep(23000),
+
+ %% Reduce the limit to 5 and extract all and see if it's ok.
+ cosNotification_eventDB:gc_events(Ref, high),
+
+ %% Since gc is done by another process we must wait so it will have a chance
+ %% to complete the job.
+ timer:sleep(2000),
+
+ ?match({Events6, true}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+
+ create_loop(Events, Ref),
+ timer:sleep(23000),
+ ?match({Events6, true}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+ cosNotification_eventDB:destroy_db(Ref),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% cosNotification_eventDB gc API tests
+%%-----------------------------------------------------------------
+auto_gc_api(doc) -> ["The event DB is used to store events which cannot be",
+ "delivered at once. If Deadline defined the events that",
+ "are older must be discarded.",
+ ""];
+auto_gc_api(suite) -> [];
+auto_gc_api(_Config) ->
+
+ QoS1 = ?not_CreateInitQoS(),
+ QoS2 = ?not_SetOrderPolicy(QoS1, ?not_FifoOrder),
+ QoS3 = ?not_SetDiscardPolicy(QoS2, ?not_RejectNewEvents),
+ QoS4 = ?not_SetStopTimeSupported(QoS3, true),
+ QoS5 = ?not_SetStartTimeSupported(QoS4, false),
+ QoS_NO_OF_EVENTS = ?not_SetMaxEventsPerConsumer(QoS5, ?NO_OF_EVENTS),
+
+ Events6 = [?EVENT1, ?EVENT2, ?EVENT3, ?EVENT7, ?EVENT8, ?EVENT9],
+ %% Initiate DB
+ Ref = cosNotification_eventDB:create_db(QoS_NO_OF_EVENTS, 50, 50, undefined),
+ create_loop([?EVENT1, ?EVENT2, ?EVENT3, ?EVENT4, ?EVENT6], Ref),
+
+ %% Sleep so some events will get 'old'.
+ timer:sleep(60000),
+ create_loop([?EVENT7, ?EVENT8, ?EVENT9], Ref),
+
+ %% Since gc is done by another process we must wait so it will have a chance
+ %% to complete the job.
+ timer:sleep(2000),
+
+ ?match({Events6, true}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+
+ cosNotification_eventDB:destroy_db(Ref),
+
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% cosNotification_eventDB start- and stop-time API tests
+%%-----------------------------------------------------------------
+start_stop_time_api(doc) -> ["The event DB is used to store events which cannot be",
+ "delivered at once. If Deadline defined the events that",
+ "are older must be discarded.",
+ ""];
+start_stop_time_api(suite) -> [];
+start_stop_time_api(_Config) ->
+
+ QoS1 = ?not_CreateInitQoS(),
+ QoS2 = ?not_SetOrderPolicy(QoS1, ?not_FifoOrder),
+ QoS3 = ?not_SetDiscardPolicy(QoS2, ?not_RejectNewEvents),
+ QoS4 = ?not_SetStopTimeSupported(QoS3, true),
+ QoS5 = ?not_SetStartTimeSupported(QoS4, true),
+ QoS_NO_OF_EVENTS = ?not_SetMaxEventsPerConsumer(QoS5, ?NO_OF_EVENTS),
+
+ %% Initiate DB
+ TimeService = cosTime:start_time_service(2, 0),
+ Ref = cosNotification_eventDB:create_db(QoS_NO_OF_EVENTS, 50, 50, TimeService),
+
+ T1 = 'CosTime_UTO':'_get_utc_time'('CosTime_UTO':
+ absolute_time('CosTime_TimeService':
+ new_universal_time(TimeService,
+ 100000000, 0, 2))),
+ T2 = 'CosTime_UTO':'_get_utc_time'('CosTime_UTO':
+ absolute_time('CosTime_TimeService':
+ new_universal_time(TimeService,
+ 200000000, 0, 2))),
+ T3 = 'CosTime_UTO':'_get_utc_time'('CosTime_UTO':
+ absolute_time('CosTime_TimeService':
+ new_universal_time(TimeService,
+ 300000000, 0, 2))),
+ T4 = 'CosTime_UTO':'_get_utc_time'('CosTime_UTO':
+ absolute_time('CosTime_TimeService':
+ new_universal_time(TimeService,
+ 400000000, 0, 2))),
+ %% Delivered after 10 seconds discarded after 20.
+ EVENT1 = ?not_CreateSE("","event1","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), 1)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(), T1)},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(), T2)}],
+ [], any:create(orber_tc:null(), null)),
+
+ %% Delivered after 30 seconds discarded after 10, i.e., always discarded.
+ EVENT2 = ?not_CreateSE("","event2","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), 3)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(), T3)},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(), T1)}],
+ [], any:create(orber_tc:null(), null)),
+
+ %% Delivered after 20 seconds discarded after 40
+ EVENT3 = ?not_CreateSE("","event3","",
+ [#'CosNotification_Property'
+ {name="Priority",
+ value=any:create(orber_tc:short(), 2)},
+ #'CosNotification_Property'
+ {name="StartTime",
+ value=any:create('TimeBase_UtcT':tc(), T2)},
+ #'CosNotification_Property'
+ {name="StopTime",
+ value=any:create('TimeBase_UtcT':tc(), T4)}],
+ [], any:create(orber_tc:null(), null)),
+
+
+
+
+ create_loop([EVENT1, EVENT2, EVENT3], Ref),
+
+ ?match({[], false}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+
+ %% Sleep so some events will get 'old'.
+ timer:sleep(12000),
+
+ ?match({[EVENT1], true}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+
+ ?match({[], false}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+
+ timer:sleep(10000),
+
+ ?match({[EVENT3], true}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+
+ timer:sleep(20000),
+
+ %% See if EVENT2 really have been discarded.
+ ?match({[], false}, cosNotification_eventDB:get_events(Ref, ?NO_OF_EVENTS)),
+
+ cosNotification_eventDB:destroy_db(Ref),
+
+ cosTime:stop_time_service(TimeService),
+
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% cosNotification_eventDB order API tests
+%%-----------------------------------------------------------------
+reorder_api(doc) -> ["The event DB is used to store events which cannot be",
+ "delivered at once. If the QoS is updated we must be",
+ "able to change the ordering of events as the discard",
+ "and order policies tells us.",
+ ""];
+reorder_api(suite) -> [];
+reorder_api(_Config) ->
+ %% We need to test switching between:
+ %% * Priority -> Fifo
+ %% * Priority -> Deadline
+ %% * Fifo -> Priority
+ %% * Fifo -> Deadline
+ %% * Deadline -> Priority
+ %% * Deadline -> Fifo
+ QoS = ?not_CreateInitQoS(),
+ QoS2 = ?not_SetMaxEventsPerConsumer(QoS,100),
+ QoS3 = ?not_SetPriority(QoS2, 10),
+ QoS4 = ?not_SetStartTimeSupported(QoS3, false),
+ QoS5 = ?not_SetOrderPolicy(QoS4, ?not_AnyOrder),
+
+
+ %% Test all order policies using Any order discard policy.
+ reorder_helper(?not_SetDiscardPolicy(QoS5, ?not_AnyOrder), "Discard Any"),
+ reorder_helper(?not_SetDiscardPolicy(QoS5, ?not_PriorityOrder), "Discard Priority"),
+ reorder_helper(?not_SetDiscardPolicy(QoS5, ?not_DeadlineOrder), "Discard Deadline"),
+ reorder_helper(?not_SetDiscardPolicy(QoS5, ?not_FifoOrder), "Discard Fifo"),
+ reorder_helper(?not_SetDiscardPolicy(QoS5, ?not_LifoOrder), "Discard Lifo"),
+ reorder_helper(?not_SetDiscardPolicy(QoS5, ?not_RejectNewEvents), "Reject New Events"),
+
+ ok.
+
+
+reorder_helper(QoS, Txt) ->
+ io:format("$$$$$$$$$$$$$$$$$$$$ ~s $$$$$$$$$$$$$$$$$$$~n", [Txt]),
+ %% Create a DB with the above settings.
+ Ref = cosNotification_eventDB:create_db(QoS, 60, 50, undefined),
+
+ Events = ?EVENTS,
+ PrioOrder = ?PRIOORDER,
+ FifoOrder = ?FIFOORDER,
+ DeadlineOrder = ?DEADLINEORDER,
+
+ %% Test all order policies using Any order discard policy.
+ Ref2 = do_reorder(Ref, Events, ?not_SetOrderPolicy(QoS, ?not_FifoOrder),
+ FifoOrder, "Priority -> Fifo"),
+ Ref3 = do_reorder(Ref2, Events, ?not_SetOrderPolicy(QoS, ?not_PriorityOrder),
+ PrioOrder, "Fifo -> Priority"),
+ Ref4 = do_reorder(Ref3, Events, ?not_SetOrderPolicy(QoS, ?not_DeadlineOrder),
+ DeadlineOrder, "Priority -> Deadline"),
+
+ Ref5 = do_reorder(Ref4, Events, ?not_SetOrderPolicy(QoS, ?not_PriorityOrder),
+ PrioOrder, "Deadline -> Priority"),
+
+ Ref6 = do_reorder(Ref5, Events, ?not_SetOrderPolicy(QoS, ?not_FifoOrder),
+ FifoOrder, "Priority -> Fifo"),
+
+ Ref7 = do_reorder(Ref6, Events, ?not_SetOrderPolicy(QoS, ?not_DeadlineOrder),
+ DeadlineOrder, "Fifo -> Deadline"),
+
+ Ref8 = do_reorder(Ref7, Events, ?not_SetOrderPolicy(QoS, ?not_FifoOrder),
+ FifoOrder, "Deadline -> Fifo"),
+ cosNotification_eventDB:destroy_db(Ref8),
+ ok.
+
+
+
+do_reorder(Ref, Events, QoS, Reply, Txt) ->
+ create_loop(Events, Ref),
+ io:format("################# ~s #################~n", [Txt]),
+ NewRef = cosNotification_eventDB:update(Ref, QoS),
+ ?match({Reply,_}, cosNotification_eventDB:get_events(NewRef, ?NO_OF_EVENTS)),
+ NewRef.
+
+%%-----------------------------------------------------------------
+%% Internal functions
+%%-----------------------------------------------------------------
+%% This functions takes as argument a list of structured events.
+create_loop([], _Ref) ->
+ ok;
+create_loop([H|T], Ref) ->
+ catch cosNotification_eventDB:add_event(Ref, H),
+ create_loop(T, Ref).
+
+create_loop([], _Ref, _Life, _Prio) ->
+ ok;
+create_loop([H|T], Ref, Life, Prio) ->
+ catch cosNotification_eventDB:add_event(Ref, H, Life, Prio),
+ create_loop(T, Ref, Life, Prio).
+
+%%-------------------- End of Module ------------------------------
diff --git a/lib/cosNotification/test/generated_SUITE.erl b/lib/cosNotification/test/generated_SUITE.erl
new file mode 100644
index 0000000000..34b84041f0
--- /dev/null
+++ b/lib/cosNotification/test/generated_SUITE.erl
@@ -0,0 +1,2042 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : generated_SUITE.erl
+%% Purpose :
+%%-----------------------------------------------------------------
+
+-module(generated_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(nomatch(Not, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ Not ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS);
+ _ ->
+ AcTuAlReS
+ end
+ end()).
+
+
+-define(checktc(_Op),
+ fun(TC) ->
+ case orber_tc:check_tc(TC) of
+ false ->
+ io:format("###### ERROR ERROR ######~n~p - ~p~n", [Op, TC]),
+ ?line exit(TC);
+ true ->
+ true
+ end
+ end).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["This suite is for testing IC generated files"];
+all(suite) ->
+ ['CosNotification', 'CosNotification_AdminPropertiesAdmin',
+ 'CosNotification_EventHeader', 'CosNotification_EventType',
+ 'CosNotification_FixedEventHeader', 'CosNotification_NamedPropertyRange',
+ 'CosNotification_Property', 'CosNotification_PropertyError',
+ 'CosNotification_PropertyRange', 'CosNotification_QoSAdmin',
+ 'CosNotification_StructuredEvent', 'CosNotification_UnsupportedAdmin',
+ 'CosNotification_UnsupportedQoS', 'CosNotification_EventBatch',
+ 'CosNotification_EventTypeSeq', 'CosNotification_NamedPropertyRangeSeq',
+ 'CosNotification_PropertyErrorSeq', 'CosNotifyChannelAdmin_AdminLimit',
+ 'CosNotifyChannelAdmin_AdminNotFound', 'CosNotifyChannelAdmin_ChannelNotFound',
+ 'CosNotifyChannelAdmin_ConnectionAlreadyActive', 'CosNotifyChannelAdmin_ConnectionAlreadyInactive',
+ 'CosNotifyChannelAdmin_NotConnected', 'CosNotifyChannelAdmin_AdminIDSeq',
+ 'CosNotifyChannelAdmin_ChannelIDSeq', 'CosNotifyChannelAdmin_ProxyIDSeq',
+ 'CosNotifyFilter_CallbackNotFound', 'CosNotifyFilter_ConstraintExp',
+ 'CosNotifyFilter_ConstraintInfo', 'CosNotifyFilter_ConstraintNotFound',
+ 'CosNotifyFilter_DuplicateConstraintID', 'CosNotifyFilter_FilterNotFound',
+ 'CosNotifyFilter_InvalidConstraint', 'CosNotifyFilter_InvalidGrammar',
+ 'CosNotifyFilter_InvalidValue', 'CosNotifyFilter_MappingConstraintInfo',
+ 'CosNotifyFilter_MappingConstraintPair', 'CosNotifyFilter_UnsupportedFilterableData',
+ 'CosNotifyFilter_CallbackIDSeq', 'CosNotifyFilter_ConstraintExpSeq',
+ 'CosNotifyFilter_ConstraintIDSeq', 'CosNotifyFilter_ConstraintInfoSeq',
+ 'CosNotifyFilter_FilterIDSeq', 'CosNotifyFilter_MappingConstraintInfoSeq',
+ 'CosNotifyFilter_MappingConstraintPairSeq', 'CosNotifyComm_InvalidEventType',
+ 'CosNotifyChannelAdmin_ConsumerAdmin', 'CosNotifyChannelAdmin_EventChannel',
+ 'CosNotifyChannelAdmin_EventChannelFactory', 'CosNotifyChannelAdmin_ProxyConsumer',
+ 'CosNotifyChannelAdmin_ProxyNotFound', 'CosNotifyChannelAdmin_ProxyPullConsumer',
+ 'CosNotifyChannelAdmin_ProxyPullSupplier', 'CosNotifyChannelAdmin_ProxyPushConsumer',
+ 'CosNotifyChannelAdmin_ProxyPushSupplier', 'CosNotifyChannelAdmin_ProxySupplier',
+ 'CosNotifyChannelAdmin_SequenceProxyPullConsumer', 'CosNotifyChannelAdmin_SequenceProxyPullSupplier',
+ 'CosNotifyChannelAdmin_SequenceProxyPushConsumer', 'CosNotifyChannelAdmin_SequenceProxyPushSupplier',
+ 'CosNotifyChannelAdmin_StructuredProxyPullConsumer', 'CosNotifyChannelAdmin_StructuredProxyPullSupplier',
+ 'CosNotifyChannelAdmin_StructuredProxyPushConsumer', 'CosNotifyChannelAdmin_StructuredProxyPushSupplier',
+ 'CosNotifyChannelAdmin_SupplierAdmin', 'CosNotifyFilter_Filter',
+ 'CosNotifyFilter_FilterAdmin', 'CosNotifyFilter_FilterFactory',
+ 'CosNotifyFilter_MappingFilter', 'CosNotifyComm_NotifyPublish',
+ 'CosNotifyComm_NotifySubscribe', 'CosNotifyComm_PullConsumer',
+ 'CosNotifyComm_PullSupplier', 'CosNotifyComm_PushConsumer',
+ 'CosNotifyComm_PushSupplier', 'CosNotifyComm_SequencePullConsumer',
+ 'CosNotifyComm_SequencePullSupplier', 'CosNotifyComm_SequencePushConsumer',
+ 'CosNotifyComm_SequencePushSupplier', 'CosNotifyComm_StructuredPullConsumer',
+ 'CosNotifyComm_StructuredPullSupplier', 'CosNotifyComm_StructuredPushConsumer',
+ 'CosNotifyComm_StructuredPushSupplier', 'oe_CosNotificationComm_Event',
+ 'CosNotification_PropertySeq'].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification'(doc) -> ["CosNotification"];
+'CosNotification'(suite) -> [];
+'CosNotification'(_) ->
+ ?match("EventReliability", 'CosNotification':'EventReliability'()),
+ ?match(0, 'CosNotification':'BestEffort'()),
+ ?match(1, 'CosNotification':'Persistent'()),
+ ?match("ConnectionReliability", 'CosNotification':'ConnectionReliability'()),
+ ?match("Priority", 'CosNotification':'Priority'()),
+ ?match(-32767, 'CosNotification':'LowestPriority'()),
+ ?match(32767, 'CosNotification':'HighestPriority'()),
+ ?match(0, 'CosNotification':'DefaultPriority'()),
+ ?match("StartTime", 'CosNotification':'StartTime'()),
+ ?match("StopTime", 'CosNotification':'StopTime'()),
+ ?match("Timeout", 'CosNotification':'Timeout'()),
+ ?match("OrderPolicy", 'CosNotification':'OrderPolicy'()),
+ ?match(0, 'CosNotification':'AnyOrder'()),
+ ?match(1, 'CosNotification':'FifoOrder'()),
+ ?match(2, 'CosNotification':'PriorityOrder'()),
+ ?match(3, 'CosNotification':'DeadlineOrder'()),
+ ?match("DiscardPolicy", 'CosNotification':'DiscardPolicy'()),
+ ?match(4, 'CosNotification':'LifoOrder'()),
+ ?match(5, 'CosNotification':'RejectNewEvents'()),
+ ?match("MaximumBatchSize", 'CosNotification':'MaximumBatchSize'()),
+ ?match("PacingInterval", 'CosNotification':'PacingInterval'()),
+ ?match("StartTimeSupported", 'CosNotification':'StartTimeSupported'()),
+ ?match("StopTimeSupported", 'CosNotification':'StopTimeSupported'()),
+ ?match("MaxEventsPerConsumer", 'CosNotification':'MaxEventsPerConsumer'()),
+ ?match("MaxQueueLength", 'CosNotification':'MaxQueueLength'()),
+ ?match("MaxConsumers", 'CosNotification':'MaxConsumers'()),
+ ?match("MaxSuppliers", 'CosNotification':'MaxSuppliers'()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_EventHeader'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_EventHeader'(doc) -> ["CosNotification_EventHeader"];
+'CosNotification_EventHeader'(suite) -> [];
+'CosNotification_EventHeader'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_EventHeader':tc())),
+ ?match("IDL:omg.org/CosNotification/EventHeader:1.0",
+ 'CosNotification_EventHeader':id()),
+ ?match("CosNotification_EventHeader",
+ 'CosNotification_EventHeader':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_EventType'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_EventType'(doc) -> ["CosNotification_EventType"];
+'CosNotification_EventType'(suite) -> [];
+'CosNotification_EventType'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_EventType':tc())),
+ ?match("IDL:omg.org/CosNotification/EventType:1.0",
+ 'CosNotification_EventType':id()),
+ ?match("CosNotification_EventType",
+ 'CosNotification_EventType':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_FixedEventHeader'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_FixedEventHeader'(doc) -> ["CosNotification_FixedEventHeader"];
+'CosNotification_FixedEventHeader'(suite) -> [];
+'CosNotification_FixedEventHeader'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_FixedEventHeader':tc())),
+ ?match("IDL:omg.org/CosNotification/FixedEventHeader:1.0",
+ 'CosNotification_FixedEventHeader':id()),
+ ?match("CosNotification_FixedEventHeader",
+ 'CosNotification_FixedEventHeader':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_NamedPropertyRange'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_NamedPropertyRange'(doc) -> ["CosNotification_NamedPropertyRange"];
+'CosNotification_NamedPropertyRange'(suite) -> [];
+'CosNotification_NamedPropertyRange'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_NamedPropertyRange':tc())),
+ ?match("IDL:omg.org/CosNotification/NamedPropertyRange:1.0",
+ 'CosNotification_NamedPropertyRange':id()),
+ ?match("CosNotification_NamedPropertyRange",
+ 'CosNotification_NamedPropertyRange':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_Property'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_Property'(doc) -> ["CosNotification_Property"];
+'CosNotification_Property'(suite) -> [];
+'CosNotification_Property'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_Property':tc())),
+ ?match("IDL:omg.org/CosNotification/Property:1.0",
+ 'CosNotification_Property':id()),
+ ?match("CosNotification_Property",
+ 'CosNotification_Property':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_PropertyError'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_PropertyError'(doc) -> ["CosNotification_PropertyError"];
+'CosNotification_PropertyError'(suite) -> [];
+'CosNotification_PropertyError'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_PropertyError':tc())),
+ ?match("IDL:omg.org/CosNotification/PropertyError:1.0",
+ 'CosNotification_PropertyError':id()),
+ ?match("CosNotification_PropertyError",
+ 'CosNotification_PropertyError':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_PropertyRange'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_PropertyRange'(doc) -> [""];
+'CosNotification_PropertyRange'(suite) -> [];
+'CosNotification_PropertyRange'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_PropertyRange':tc())),
+ ?match("IDL:omg.org/CosNotification/PropertyRange:1.0",
+ 'CosNotification_PropertyRange':id()),
+ ?match("CosNotification_PropertyRange",
+ 'CosNotification_PropertyRange':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_StructuredEvent'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_StructuredEvent'(doc) -> ["CosNotification_StructuredEvent"];
+'CosNotification_StructuredEvent'(suite) -> [];
+'CosNotification_StructuredEvent'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_StructuredEvent':tc())),
+ ?match("IDL:omg.org/CosNotification/StructuredEvent:1.0",
+ 'CosNotification_StructuredEvent':id()),
+ ?match("CosNotification_StructuredEvent",
+ 'CosNotification_StructuredEvent':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_UnsupportedAdmin'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_UnsupportedAdmin'(doc) -> ["CosNotification_UnsupportedAdmin"];
+'CosNotification_UnsupportedAdmin'(suite) -> [];
+'CosNotification_UnsupportedAdmin'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_UnsupportedAdmin':tc())),
+ ?match("IDL:omg.org/CosNotification/UnsupportedAdmin:1.0",
+ 'CosNotification_UnsupportedAdmin':id()),
+ ?match("CosNotification_UnsupportedAdmin",
+ 'CosNotification_UnsupportedAdmin':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_UnsupportedQoS'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_UnsupportedQoS'(doc) -> ["CosNotification_UnsupportedQoS"];
+'CosNotification_UnsupportedQoS'(suite) -> [];
+'CosNotification_UnsupportedQoS'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_UnsupportedQoS':tc())),
+ ?match("IDL:omg.org/CosNotification/UnsupportedQoS:1.0",
+ 'CosNotification_UnsupportedQoS':id()),
+ ?match("CosNotification_UnsupportedQoS",
+ 'CosNotification_UnsupportedQoS':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_EventBatch'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_EventBatch'(doc) -> ["CosNotification_EventBatch"];
+'CosNotification_EventBatch'(suite) -> [];
+'CosNotification_EventBatch'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_EventBatch':tc())),
+ ?match("IDL:omg.org/CosNotification/EventBatch:1.0",
+ 'CosNotification_EventBatch':id()),
+ ?match("CosNotification_EventBatch",
+ 'CosNotification_EventBatch':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_EventTypeSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_EventTypeSeq'(doc) -> ["CosNotification_EventTypeSeq"];
+'CosNotification_EventTypeSeq'(suite) -> [];
+'CosNotification_EventTypeSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_EventTypeSeq':tc())),
+ ?match("IDL:omg.org/CosNotification/EventTypeSeq:1.0",
+ 'CosNotification_EventTypeSeq':id()),
+ ?match("CosNotification_EventTypeSeq",
+ 'CosNotification_EventTypeSeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_NamedPropertyRangeSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_NamedPropertyRangeSeq'(doc) -> ["CosNotification_NamedPropertyRangeSeq"];
+'CosNotification_NamedPropertyRangeSeq'(suite) -> [];
+'CosNotification_NamedPropertyRangeSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_NamedPropertyRangeSeq':tc())),
+ ?match("IDL:omg.org/CosNotification/NamedPropertyRangeSeq:1.0",
+ 'CosNotification_NamedPropertyRangeSeq':id()),
+ ?match("CosNotification_NamedPropertyRangeSeq",
+ 'CosNotification_NamedPropertyRangeSeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_PropertyErrorSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_PropertyErrorSeq'(doc) -> ["CosNotification_PropertyErrorSeq"];
+'CosNotification_PropertyErrorSeq'(suite) -> [];
+'CosNotification_PropertyErrorSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_PropertyErrorSeq':tc())),
+ ?match("IDL:omg.org/CosNotification/PropertyErrorSeq:1.0",
+ 'CosNotification_PropertyErrorSeq':id()),
+ ?match("CosNotification_PropertyErrorSeq",
+ 'CosNotification_PropertyErrorSeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_PropertySeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_PropertySeq'(doc) -> ["CosNotification_PropertySeq"];
+'CosNotification_PropertySeq'(suite) -> [];
+'CosNotification_PropertySeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotification_PropertySeq':tc())),
+ ?match("IDL:omg.org/CosNotification/PropertySeq:1.0",
+ 'CosNotification_PropertySeq':id()),
+ ?match("CosNotification_PropertySeq",
+ 'CosNotification_PropertySeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_AdminLimit'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_AdminLimit'(doc) -> ["CosNotifyChannelAdmin_AdminLimit"];
+'CosNotifyChannelAdmin_AdminLimit'(suite) -> [];
+'CosNotifyChannelAdmin_AdminLimit'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_AdminLimit':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/AdminLimit:1.0",
+ 'CosNotifyChannelAdmin_AdminLimit':id()),
+ ?match("CosNotifyChannelAdmin_AdminLimit",
+ 'CosNotifyChannelAdmin_AdminLimit':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_AdminLimitExceeded'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_AdminLimitExceeded'(doc) -> ["CosNotifyChannelAdmin_AdminLimitExceeded"];
+'CosNotifyChannelAdmin_AdminLimitExceeded'(suite) -> [];
+'CosNotifyChannelAdmin_AdminLimitExceeded'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_AdminLimitExceeded':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/AdminLimitExceeded:1.0",
+ 'CosNotifyChannelAdmin_AdminLimitExceeded':id()),
+ ?match("CosNotifyChannelAdmin_AdminLimitExceeded",
+ 'CosNotifyChannelAdmin_AdminLimitExceeded':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_AdminNotFound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_AdminNotFound'(doc) -> ["CosNotifyChannelAdmin_AdminNotFound"];
+'CosNotifyChannelAdmin_AdminNotFound'(suite) -> [];
+'CosNotifyChannelAdmin_AdminNotFound'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_AdminNotFound':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/AdminNotFound:1.0",
+ 'CosNotifyChannelAdmin_AdminNotFound':id()),
+ ?match("CosNotifyChannelAdmin_AdminNotFound",
+ 'CosNotifyChannelAdmin_AdminNotFound':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ChannelNotFound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ChannelNotFound'(doc) -> ["CosNotifyChannelAdmin_ChannelNotFound"];
+'CosNotifyChannelAdmin_ChannelNotFound'(suite) -> [];
+'CosNotifyChannelAdmin_ChannelNotFound'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_ChannelNotFound':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ChannelNotFound:1.0",
+ 'CosNotifyChannelAdmin_ChannelNotFound':id()),
+ ?match("CosNotifyChannelAdmin_ChannelNotFound",
+ 'CosNotifyChannelAdmin_ChannelNotFound':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ConnectionAlreadyActive'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ConnectionAlreadyActive'(doc) -> ["CosNotifyChannelAdmin_ConnectionAlreadyActive"];
+'CosNotifyChannelAdmin_ConnectionAlreadyActive'(suite) -> [];
+'CosNotifyChannelAdmin_ConnectionAlreadyActive'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_ConnectionAlreadyActive':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ConnectionAlreadyActive:1.0",
+ 'CosNotifyChannelAdmin_ConnectionAlreadyActive':id()),
+ ?match("CosNotifyChannelAdmin_ConnectionAlreadyActive",
+ 'CosNotifyChannelAdmin_ConnectionAlreadyActive':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ConnectionAlreadyInactive'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ConnectionAlreadyInactive'(doc) -> ["CosNotifyChannelAdmin_ConnectionAlreadyInactive"];
+'CosNotifyChannelAdmin_ConnectionAlreadyInactive'(suite) -> [];
+'CosNotifyChannelAdmin_ConnectionAlreadyInactive'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_ConnectionAlreadyInactive':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ConnectionAlreadyInactive:1.0",
+ 'CosNotifyChannelAdmin_ConnectionAlreadyInactive':id()),
+ ?match("CosNotifyChannelAdmin_ConnectionAlreadyInactive",
+ 'CosNotifyChannelAdmin_ConnectionAlreadyInactive':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_NotConnected'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_NotConnected'(doc) -> ["CosNotifyChannelAdmin_NotConnected"];
+'CosNotifyChannelAdmin_NotConnected'(suite) -> [];
+'CosNotifyChannelAdmin_NotConnected'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_NotConnected':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/NotConnected:1.0",
+ 'CosNotifyChannelAdmin_NotConnected':id()),
+ ?match("CosNotifyChannelAdmin_NotConnected",
+ 'CosNotifyChannelAdmin_NotConnected':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_AdminIDSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_AdminIDSeq'(doc) -> ["CosNotifyChannelAdmin_AdminIDSeq"];
+'CosNotifyChannelAdmin_AdminIDSeq'(suite) -> [];
+'CosNotifyChannelAdmin_AdminIDSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_AdminIDSeq':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/AdminIDSeq:1.0",
+ 'CosNotifyChannelAdmin_AdminIDSeq':id()),
+ ?match("CosNotifyChannelAdmin_AdminIDSeq",
+ 'CosNotifyChannelAdmin_AdminIDSeq':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ChannelIDSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ChannelIDSeq'(doc) -> ["CosNotifyChannelAdmin_ChannelIDSeq"];
+'CosNotifyChannelAdmin_ChannelIDSeq'(suite) -> [];
+'CosNotifyChannelAdmin_ChannelIDSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_ChannelIDSeq':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ChannelIDSeq:1.0",
+ 'CosNotifyChannelAdmin_ChannelIDSeq':id()),
+ ?match("CosNotifyChannelAdmin_ChannelIDSeq",
+ 'CosNotifyChannelAdmin_ChannelIDSeq':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ProxyIDSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ProxyIDSeq'(doc) -> ["CosNotifyChannelAdmin_ProxyIDSeq"];
+'CosNotifyChannelAdmin_ProxyIDSeq'(suite) -> [];
+'CosNotifyChannelAdmin_ProxyIDSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_ProxyIDSeq':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ProxyIDSeq:1.0",
+ 'CosNotifyChannelAdmin_ProxyIDSeq':id()),
+ ?match("CosNotifyChannelAdmin_ProxyIDSeq",
+ 'CosNotifyChannelAdmin_ProxyIDSeq':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_CallbackNotFound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_CallbackNotFound'(doc) -> ["CosNotifyFilter_CallbackNotFound"];
+'CosNotifyFilter_CallbackNotFound'(suite) -> [];
+'CosNotifyFilter_CallbackNotFound'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_CallbackNotFound':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/CallbackNotFound:1.0",
+ 'CosNotifyFilter_CallbackNotFound':id()),
+ ?match("CosNotifyFilter_CallbackNotFound",
+ 'CosNotifyFilter_CallbackNotFound':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_ConstraintExp'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_ConstraintExp'(doc) -> ["CosNotifyFilter_ConstraintExp"];
+'CosNotifyFilter_ConstraintExp'(suite) -> [];
+'CosNotifyFilter_ConstraintExp'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_ConstraintExp':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/ConstraintExp:1.0",
+ 'CosNotifyFilter_ConstraintExp':id()),
+ ?match("CosNotifyFilter_ConstraintExp",
+ 'CosNotifyFilter_ConstraintExp':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_ConstraintInfo'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_ConstraintInfo'(doc) -> ["CosNotifyFilter_ConstraintInfo"];
+'CosNotifyFilter_ConstraintInfo'(suite) -> [];
+'CosNotifyFilter_ConstraintInfo'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_ConstraintInfo':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/ConstraintInfo:1.0",
+ 'CosNotifyFilter_ConstraintInfo':id()),
+ ?match("CosNotifyFilter_ConstraintInfo",
+ 'CosNotifyFilter_ConstraintInfo':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_ConstraintNotFound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_ConstraintNotFound'(doc) -> ["CosNotifyFilter_ConstraintNotFound"];
+'CosNotifyFilter_ConstraintNotFound'(suite) -> [];
+'CosNotifyFilter_ConstraintNotFound'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_ConstraintNotFound':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/ConstraintNotFound:1.0",
+ 'CosNotifyFilter_ConstraintNotFound':id()),
+ ?match("CosNotifyFilter_ConstraintNotFound",
+ 'CosNotifyFilter_ConstraintNotFound':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_DuplicateConstraintID'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_DuplicateConstraintID'(doc) -> ["CosNotifyFilter_DuplicateConstraintID"];
+'CosNotifyFilter_DuplicateConstraintID'(suite) -> [];
+'CosNotifyFilter_DuplicateConstraintID'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_DuplicateConstraintID':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/DuplicateConstraintID:1.0",
+ 'CosNotifyFilter_DuplicateConstraintID':id()),
+ ?match("CosNotifyFilter_DuplicateConstraintID",
+ 'CosNotifyFilter_DuplicateConstraintID':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_FilterNotFound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_FilterNotFound'(doc) -> ["CosNotifyFilter_FilterNotFound"];
+'CosNotifyFilter_FilterNotFound'(suite) -> [];
+'CosNotifyFilter_FilterNotFound'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_FilterNotFound':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/FilterNotFound:1.0",
+ 'CosNotifyFilter_FilterNotFound':id()),
+ ?match("CosNotifyFilter_FilterNotFound",
+ 'CosNotifyFilter_FilterNotFound':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_InvalidConstraint'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_InvalidConstraint'(doc) -> ["CosNotifyFilter_InvalidConstraint"];
+'CosNotifyFilter_InvalidConstraint'(suite) -> [];
+'CosNotifyFilter_InvalidConstraint'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_InvalidConstraint':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/InvalidConstraint:1.0",
+ 'CosNotifyFilter_InvalidConstraint':id()),
+ ?match("CosNotifyFilter_InvalidConstraint",
+ 'CosNotifyFilter_InvalidConstraint':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_InvalidGrammar'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_InvalidGrammar'(doc) -> ["CosNotifyFilter_InvalidGrammar"];
+'CosNotifyFilter_InvalidGrammar'(suite) -> [];
+'CosNotifyFilter_InvalidGrammar'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_InvalidGrammar':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/InvalidGrammar:1.0",
+ 'CosNotifyFilter_InvalidGrammar':id()),
+ ?match("CosNotifyFilter_InvalidGrammar",
+ 'CosNotifyFilter_InvalidGrammar':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_InvalidValue'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_InvalidValue'(doc) -> ["CosNotifyFilter_InvalidValue"];
+'CosNotifyFilter_InvalidValue'(suite) -> [];
+'CosNotifyFilter_InvalidValue'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_InvalidValue':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/InvalidValue:1.0",
+ 'CosNotifyFilter_InvalidValue':id()),
+ ?match("CosNotifyFilter_InvalidValue",
+ 'CosNotifyFilter_InvalidValue':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_MappingConstraintInfo'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_MappingConstraintInfo'(doc) -> ["CosNotifyFilter_MappingConstraintInfo"];
+'CosNotifyFilter_MappingConstraintInfo'(suite) -> [];
+'CosNotifyFilter_MappingConstraintInfo'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_MappingConstraintInfo':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/MappingConstraintInfo:1.0",
+ 'CosNotifyFilter_MappingConstraintInfo':id()),
+ ?match("CosNotifyFilter_MappingConstraintInfo",
+ 'CosNotifyFilter_MappingConstraintInfo':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_MappingConstraintPair'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_MappingConstraintPair'(doc) -> ["CosNotifyFilter_MappingConstraintPair"];
+'CosNotifyFilter_MappingConstraintPair'(suite) -> [];
+'CosNotifyFilter_MappingConstraintPair'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_MappingConstraintPair':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/MappingConstraintPair:1.0",
+ 'CosNotifyFilter_MappingConstraintPair':id()),
+ ?match("CosNotifyFilter_MappingConstraintPair",
+ 'CosNotifyFilter_MappingConstraintPair':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_UnsupportedFilterableData'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_UnsupportedFilterableData'(doc) -> ["CosNotifyFilter_UnsupportedFilterableData"];
+'CosNotifyFilter_UnsupportedFilterableData'(suite) -> [];
+'CosNotifyFilter_UnsupportedFilterableData'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_UnsupportedFilterableData':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/UnsupportedFilterableData:1.0",
+ 'CosNotifyFilter_UnsupportedFilterableData':id()),
+ ?match("CosNotifyFilter_UnsupportedFilterableData",
+ 'CosNotifyFilter_UnsupportedFilterableData':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_CallbackIDSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_CallbackIDSeq'(doc) -> ["CosNotifyFilter_CallbackIDSeq"];
+'CosNotifyFilter_CallbackIDSeq'(suite) -> [];
+'CosNotifyFilter_CallbackIDSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_CallbackIDSeq':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/CallbackIDSeq:1.0",
+ 'CosNotifyFilter_CallbackIDSeq':id()),
+ ?match("CosNotifyFilter_CallbackIDSeq",
+ 'CosNotifyFilter_CallbackIDSeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_ConstraintExpSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_ConstraintExpSeq'(doc) -> ["CosNotifyFilter_ConstraintExpSeq"];
+'CosNotifyFilter_ConstraintExpSeq'(suite) -> [];
+'CosNotifyFilter_ConstraintExpSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_ConstraintExpSeq':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/ConstraintExpSeq:1.0",
+ 'CosNotifyFilter_ConstraintExpSeq':id()),
+ ?match("CosNotifyFilter_ConstraintExpSeq",
+ 'CosNotifyFilter_ConstraintExpSeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_ConstraintIDSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_ConstraintIDSeq'(doc) -> ["CosNotifyFilter_ConstraintIDSeq"];
+'CosNotifyFilter_ConstraintIDSeq'(suite) -> [];
+'CosNotifyFilter_ConstraintIDSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_ConstraintIDSeq':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/ConstraintIDSeq:1.0",
+ 'CosNotifyFilter_ConstraintIDSeq':id()),
+ ?match("CosNotifyFilter_ConstraintIDSeq",
+ 'CosNotifyFilter_ConstraintIDSeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_ConstraintInfoSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_ConstraintInfoSeq'(doc) -> ["CosNotifyFilter_ConstraintInfoSeq"];
+'CosNotifyFilter_ConstraintInfoSeq'(suite) -> [];
+'CosNotifyFilter_ConstraintInfoSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_ConstraintInfoSeq':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/ConstraintInfoSeq:1.0",
+ 'CosNotifyFilter_ConstraintInfoSeq':id()),
+ ?match("CosNotifyFilter_ConstraintInfoSeq",
+ 'CosNotifyFilter_ConstraintInfoSeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_FilterIDSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_FilterIDSeq'(doc) -> ["CosNotifyFilter_FilterIDSeq"];
+'CosNotifyFilter_FilterIDSeq'(suite) -> [];
+'CosNotifyFilter_FilterIDSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_FilterIDSeq':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/FilterIDSeq:1.0",
+ 'CosNotifyFilter_FilterIDSeq':id()),
+ ?match("CosNotifyFilter_FilterIDSeq",
+ 'CosNotifyFilter_FilterIDSeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_MappingConstraintInfoSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_MappingConstraintInfoSeq'(doc) -> ["CosNotifyFilter_MappingConstraintInfoSeq"];
+'CosNotifyFilter_MappingConstraintInfoSeq'(suite) -> [];
+'CosNotifyFilter_MappingConstraintInfoSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_MappingConstraintInfoSeq':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/MappingConstraintInfoSeq:1.0",
+ 'CosNotifyFilter_MappingConstraintInfoSeq':id()),
+ ?match("CosNotifyFilter_MappingConstraintInfoSeq",
+ 'CosNotifyFilter_MappingConstraintInfoSeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_MappingConstraintPairSeq'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_MappingConstraintPairSeq'(doc) -> ["CosNotifyFilter_MappingConstraintPairSeq"];
+'CosNotifyFilter_MappingConstraintPairSeq'(suite) -> [];
+'CosNotifyFilter_MappingConstraintPairSeq'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyFilter_MappingConstraintPairSeq':tc())),
+ ?match("IDL:omg.org/CosNotifyFilter/MappingConstraintPairSeq:1.0",
+ 'CosNotifyFilter_MappingConstraintPairSeq':id()),
+ ?match("CosNotifyFilter_MappingConstraintPairSeq",
+ 'CosNotifyFilter_MappingConstraintPairSeq':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_InvalidEventType'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_InvalidEventType'(doc) -> ["CosNotifyComm_InvalidEventType"];
+'CosNotifyComm_InvalidEventType'(suite) -> [];
+'CosNotifyComm_InvalidEventType'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyComm_InvalidEventType':tc())),
+ ?match("IDL:omg.org/CosNotifyComm/InvalidEventType:1.0",
+ 'CosNotifyComm_InvalidEventType':id()),
+ ?match("CosNotifyComm_InvalidEventType",
+ 'CosNotifyComm_InvalidEventType':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ProxyNotFound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ProxyNotFound'(doc) -> ["CosNotifyChannelAdmin_ProxyNotFound"];
+'CosNotifyChannelAdmin_ProxyNotFound'(suite) -> [];
+'CosNotifyChannelAdmin_ProxyNotFound'(_) ->
+ ?match(true, orber_tc:check_tc('CosNotifyChannelAdmin_ProxyNotFound':tc())),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ProxyNotFound:1.0",
+ 'CosNotifyChannelAdmin_ProxyNotFound':id()),
+ ?match("CosNotifyChannelAdmin_ProxyNotFound",
+ 'CosNotifyChannelAdmin_ProxyNotFound':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_AdminPropertiesAdmin'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_AdminPropertiesAdmin'(doc) -> ["CosNotification_AdminPropertiesAdmin"];
+'CosNotification_AdminPropertiesAdmin'(suite) -> [];
+'CosNotification_AdminPropertiesAdmin'(_) ->
+ ?nomatch(undefined, 'CosNotification_AdminPropertiesAdmin':oe_tc(get_admin)),
+ ?nomatch(undefined, 'CosNotification_AdminPropertiesAdmin':oe_tc(set_admin)),
+ ?match(undefined, 'CosNotification_AdminPropertiesAdmin':oe_tc(undefined)),
+ ?match([_|_], 'CosNotification_AdminPropertiesAdmin':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotification/AdminPropertiesAdmin:1.0",
+ 'CosNotification_AdminPropertiesAdmin':typeID()),
+ check_tc('CosNotification_AdminPropertiesAdmin':oe_get_interface()),
+ ?match(true, 'CosNotification_AdminPropertiesAdmin':oe_is_a('CosNotification_AdminPropertiesAdmin':typeID())),
+ ?match(false, 'CosNotification_AdminPropertiesAdmin':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotification_QoSAdmin'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotification_QoSAdmin'(doc) -> ["CosNotification_QoSAdmin"];
+'CosNotification_QoSAdmin'(suite) -> [];
+'CosNotification_QoSAdmin'(_) ->
+ ?nomatch(undefined, 'CosNotification_QoSAdmin':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotification_QoSAdmin':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotification_QoSAdmin':oe_tc(validate_qos)),
+ ?match(undefined, 'CosNotification_QoSAdmin':oe_tc(undefined)),
+ ?match([_|_], 'CosNotification_QoSAdmin':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotification/QoSAdmin:1.0",
+ 'CosNotification_QoSAdmin':typeID()),
+ check_tc('CosNotification_QoSAdmin':oe_get_interface()),
+ ?match(true, 'CosNotification_QoSAdmin':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(false, 'CosNotification_QoSAdmin':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ConsumerAdmin'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ConsumerAdmin'(doc) -> ["CosNotifyChannelAdmin_ConsumerAdmin"];
+'CosNotifyChannelAdmin_ConsumerAdmin'(suite) -> [];
+'CosNotifyChannelAdmin_ConsumerAdmin'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc('_get_MyID')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc('_get_MyChannel')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc('_get_MyOperator')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc('_get_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc('_set_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc('_get_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc('_set_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc('_get_pull_suppliers')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc('_get_push_suppliers')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(get_proxy_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(obtain_notification_pull_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(obtain_notification_push_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(destroy)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(subscription_change)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(obtain_push_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(obtain_pull_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(callSeq)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(callAny)),
+ ?match(undefined, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_ConsumerAdmin':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ConsumerAdmin:1.0",
+ 'CosNotifyChannelAdmin_ConsumerAdmin':typeID()),
+ check_tc('CosNotifyChannelAdmin_ConsumerAdmin':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_is_a('CosNotifyChannelAdmin_ConsumerAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_is_a('CosEventChannelAdmin_ConsumerAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_is_a('oe_CosNotificationComm_Event':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_ConsumerAdmin':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_EventChannel'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_EventChannel'(doc) -> ["CosNotifyChannelAdmin_EventChannel"];
+'CosNotifyChannelAdmin_EventChannel'(suite) -> [];
+'CosNotifyChannelAdmin_EventChannel'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc('_get_MyFactory')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc('_get_default_consumer_admin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc('_get_default_supplier_admin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc('_get_default_filter_factory')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(new_for_consumers)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(new_for_suppliers)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(get_consumeradmin)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(get_supplieradmin)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(get_all_consumeradmins)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(get_all_supplieradmins)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(get_admin)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(set_admin)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(for_consumers)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(for_suppliers)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(destroy)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(callSeq)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(callAny)),
+ ?match(undefined, 'CosNotifyChannelAdmin_EventChannel':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_EventChannel':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/EventChannel:1.0",
+ 'CosNotifyChannelAdmin_EventChannel':typeID()),
+ check_tc('CosNotifyChannelAdmin_EventChannel':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_EventChannel':oe_is_a('CosNotifyChannelAdmin_EventChannel':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_EventChannel':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_EventChannel':oe_is_a('CosNotification_AdminPropertiesAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_EventChannel':oe_is_a('CosEventChannelAdmin_EventChannel':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_EventChannel':oe_is_a('oe_CosNotificationComm_Event':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_EventChannel':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_EventChannelFactory'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_EventChannelFactory'(doc) -> ["CosNotifyChannelAdmin_EventChannelFactory"];
+'CosNotifyChannelAdmin_EventChannelFactory'(suite) -> [];
+'CosNotifyChannelAdmin_EventChannelFactory'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannelFactory':oe_tc(create_channel)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannelFactory':oe_tc(get_all_channels)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_EventChannelFactory':oe_tc(get_event_channel)),
+ ?match(undefined, 'CosNotifyChannelAdmin_EventChannelFactory':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_EventChannelFactory':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/EventChannelFactory:1.0",
+ 'CosNotifyChannelAdmin_EventChannelFactory':typeID()),
+ check_tc('CosNotifyChannelAdmin_EventChannelFactory':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_EventChannelFactory':oe_is_a('CosNotifyChannelAdmin_EventChannelFactory':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_EventChannelFactory':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ProxyConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ProxyConsumer'(doc) -> ["CosNotifyChannelAdmin_ProxyConsumer"];
+'CosNotifyChannelAdmin_ProxyConsumer'(suite) -> [];
+'CosNotifyChannelAdmin_ProxyConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(obtain_subscription_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(remove_all_filters)),
+ ?match(undefined, 'CosNotifyChannelAdmin_ProxyConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_ProxyConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ProxyConsumer:1.0",
+ 'CosNotifyChannelAdmin_ProxyConsumer':typeID()),
+ check_tc('CosNotifyChannelAdmin_ProxyConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyConsumer':oe_is_a('CosNotifyChannelAdmin_ProxyConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyConsumer':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyConsumer':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_ProxyConsumer':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ProxyPullConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ProxyPullConsumer'(doc) -> ["CosNotifyChannelAdmin_ProxyPullConsumer"];
+'CosNotifyChannelAdmin_ProxyPullConsumer'(suite) -> [];
+'CosNotifyChannelAdmin_ProxyPullConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(connect_any_pull_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(suspend_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(resume_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(obtain_subscription_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(offer_change)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(disconnect_pull_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(connect_pull_supplier)),
+ ?match(undefined, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ProxyPullConsumer:1.0",
+ 'CosNotifyChannelAdmin_ProxyPullConsumer':typeID()),
+ check_tc('CosNotifyChannelAdmin_ProxyPullConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_is_a('CosNotifyChannelAdmin_ProxyPullConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_is_a('CosNotifyChannelAdmin_ProxyConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_is_a('CosNotifyComm_PullConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_is_a('CosEventComm_PullConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_is_a('CosEventChannelAdmin_ProxyPullConsumer':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_ProxyPullConsumer':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ProxyPullSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ProxyPullSupplier'(doc) -> ["CosNotifyChannelAdmin_ProxyPullSupplier"];
+'CosNotifyChannelAdmin_ProxyPullSupplier'(suite) -> [];
+'CosNotifyChannelAdmin_ProxyPullSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc('_get_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc('_set_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc('_get_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc('_set_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(obtain_offered_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(subscription_change)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(pull)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(try_pull)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(disconnect_pull_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(connect_pull_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(callSeq)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(callAny)),
+ ?match(undefined, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ProxyPullSupplier:1.0",
+ 'CosNotifyChannelAdmin_ProxyPullSupplier':typeID()),
+ check_tc('CosNotifyChannelAdmin_ProxyPullSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_is_a('CosNotifyChannelAdmin_ProxyPullSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_is_a('CosNotifyChannelAdmin_ProxySupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_is_a('CosNotifyComm_PullSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_is_a('CosEventComm_PullSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_is_a('CosEventChannelAdmin_ProxyPullSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_is_a('oe_CosNotificationComm_Event':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_ProxyPullSupplier':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ProxyPushConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ProxyPushConsumer'(doc) -> ["CosNotifyChannelAdmin_ProxyPushConsumer"];
+'CosNotifyChannelAdmin_ProxyPushConsumer'(suite) -> [];
+'CosNotifyChannelAdmin_ProxyPushConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(connect_any_push_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(obtain_subscription_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(offer_change)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(push)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(disconnect_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(connect_push_supplier)),
+ ?match(undefined, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ProxyPushConsumer:1.0",
+ 'CosNotifyChannelAdmin_ProxyPushConsumer':typeID()),
+ check_tc('CosNotifyChannelAdmin_ProxyPushConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_is_a('CosNotifyChannelAdmin_ProxyPushConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_is_a('CosNotifyChannelAdmin_ProxyConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_is_a('CosNotifyComm_PushConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_is_a('CosEventComm_PushConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_is_a('CosEventChannelAdmin_ProxyPushConsumer':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_ProxyPushConsumer':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ProxyPushSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ProxyPushSupplier'(doc) -> ["CosNotifyChannelAdmin_ProxyPushSupplier"];
+'CosNotifyChannelAdmin_ProxyPushSupplier'(suite) -> [];
+'CosNotifyChannelAdmin_ProxyPushSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(connect_any_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(suspend_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(resume_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc('_get_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc('_set_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc('_get_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc('_set_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(obtain_offered_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(subscription_change)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(disconnect_push_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(connect_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(callSeq)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(callAny)),
+ ?match(undefined, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ProxyPushSupplier:1.0",
+ 'CosNotifyChannelAdmin_ProxyPushSupplier':typeID()),
+ check_tc('CosNotifyChannelAdmin_ProxyPushSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_is_a('CosNotifyChannelAdmin_ProxyPushSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_is_a('CosNotifyChannelAdmin_ProxySupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_is_a('CosNotifyComm_PushSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_is_a('CosEventComm_PushSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_is_a('CosEventChannelAdmin_ProxyPushSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_is_a('oe_CosNotificationComm_Event':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_ProxyPushSupplier':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_ProxySupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_ProxySupplier'(doc) -> ["CosNotifyChannelAdmin_ProxySupplier"];
+'CosNotifyChannelAdmin_ProxySupplier'(suite) -> [];
+'CosNotifyChannelAdmin_ProxySupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc('_get_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc('_set_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc('_get_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc('_set_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(obtain_offered_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(remove_all_filters)),
+ ?match(undefined, 'CosNotifyChannelAdmin_ProxySupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_ProxySupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/ProxySupplier:1.0",
+ 'CosNotifyChannelAdmin_ProxySupplier':typeID()),
+ check_tc('CosNotifyChannelAdmin_ProxySupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_ProxySupplier':oe_is_a('CosNotifyChannelAdmin_ProxySupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxySupplier':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_ProxySupplier':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_ProxySupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_SequenceProxyPullConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_SequenceProxyPullConsumer'(doc) -> ["CosNotifyChannelAdmin_SequenceProxyPullConsumer"];
+'CosNotifyChannelAdmin_SequenceProxyPullConsumer'(suite) -> [];
+'CosNotifyChannelAdmin_SequenceProxyPullConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(connect_sequence_pull_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(suspend_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(resume_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(obtain_subscription_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(disconnect_sequence_pull_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(offer_change)),
+ ?match(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/SequenceProxyPullConsumer:1.0",
+ 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':typeID()),
+ check_tc('CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_is_a('CosNotifyChannelAdmin_SequenceProxyPullConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_is_a('CosNotifyChannelAdmin_ProxyConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_is_a('CosNotifyComm_SequencePullConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_SequenceProxyPullSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_SequenceProxyPullSupplier'(doc) -> ["CosNotifyChannelAdmin_SequenceProxyPullSupplier"];
+'CosNotifyChannelAdmin_SequenceProxyPullSupplier'(suite) -> [];
+'CosNotifyChannelAdmin_SequenceProxyPullSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(connect_sequence_pull_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc('_get_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc('_set_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc('_get_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc('_set_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(obtain_offered_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(pull_structured_events)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(try_pull_structured_events)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(disconnect_sequence_pull_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(subscription_change)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(callSeq)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(callAny)),
+ ?match(undefined, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/SequenceProxyPullSupplier:1.0",
+ 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':typeID()),
+ check_tc('CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_is_a('CosNotifyChannelAdmin_SequenceProxyPullSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_is_a('CosNotifyChannelAdmin_ProxySupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_is_a('CosNotifyComm_SequencePullSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_is_a('oe_CosNotificationComm_Event':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_SequenceProxyPushConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_SequenceProxyPushConsumer'(doc) -> ["CosNotifyChannelAdmin_SequenceProxyPushConsumer"];
+'CosNotifyChannelAdmin_SequenceProxyPushConsumer'(suite) -> [];
+'CosNotifyChannelAdmin_SequenceProxyPushConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(connect_sequence_push_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(obtain_subscription_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(push_structured_events)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(disconnect_sequence_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(offer_change)),
+ ?match(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/SequenceProxyPushConsumer:1.0",
+ 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':typeID()),
+ check_tc('CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_is_a('CosNotifyChannelAdmin_SequenceProxyPushConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_is_a('CosNotifyChannelAdmin_ProxyConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_is_a('CosNotifyComm_SequencePushConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_SequenceProxyPushSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_SequenceProxyPushSupplier'(doc) -> ["CosNotifyChannelAdmin_SequenceProxyPushSupplier"];
+'CosNotifyChannelAdmin_SequenceProxyPushSupplier'(suite) -> [];
+'CosNotifyChannelAdmin_SequenceProxyPushSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(connect_sequence_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(suspend_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(resume_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc('_get_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc('_set_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc('_get_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc('_set_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(obtain_offered_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(disconnect_sequence_push_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(subscription_change)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(callSeq)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(callAny)),
+ ?match(undefined, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/SequenceProxyPushSupplier:1.0",
+ 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':typeID()),
+ check_tc('CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_is_a('CosNotifyChannelAdmin_SequenceProxyPushSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_is_a('CosNotifyChannelAdmin_ProxySupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_is_a('CosNotifyComm_SequencePushSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_is_a('oe_CosNotificationComm_Event':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_StructuredProxyPullConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_StructuredProxyPullConsumer'(doc) -> ["CosNotifyChannelAdmin_StructuredProxyPullConsumer"];
+'CosNotifyChannelAdmin_StructuredProxyPullConsumer'(suite) -> [];
+'CosNotifyChannelAdmin_StructuredProxyPullConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(connect_structured_pull_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(suspend_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(resume_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(obtain_subscription_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(disconnect_structured_pull_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(offer_change)),
+ ?match(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/StructuredProxyPullConsumer:1.0",
+ 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':typeID()),
+ check_tc('CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_is_a('CosNotifyChannelAdmin_StructuredProxyPullConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_is_a('CosNotifyChannelAdmin_ProxyConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_is_a('CosNotifyComm_StructuredPullConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_StructuredProxyPullSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_StructuredProxyPullSupplier'(doc) -> ["CosNotifyChannelAdmin_StructuredProxyPullSupplier"];
+'CosNotifyChannelAdmin_StructuredProxyPullSupplier'(suite) -> [];
+'CosNotifyChannelAdmin_StructuredProxyPullSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(connect_structured_pull_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc('_get_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc('_set_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc('_get_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc('_set_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(obtain_offered_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(pull_structured_event)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(try_pull_structured_event)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(disconnect_structured_pull_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(subscription_change)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(callSeq)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(callAny)),
+ ?match(undefined, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/StructuredProxyPullSupplier:1.0",
+ 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':typeID()),
+ check_tc('CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_is_a('CosNotifyChannelAdmin_StructuredProxyPullSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_is_a('CosNotifyChannelAdmin_ProxySupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_is_a('CosNotifyComm_StructuredPullSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_is_a('oe_CosNotificationComm_Event':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_StructuredProxyPushConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_StructuredProxyPushConsumer'(doc) -> ["CosNotifyChannelAdmin_StructuredProxyPushConsumer"];
+'CosNotifyChannelAdmin_StructuredProxyPushConsumer'(suite) -> [];
+'CosNotifyChannelAdmin_StructuredProxyPushConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(connect_structured_push_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(obtain_subscription_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(push_structured_event)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(disconnect_structured_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(offer_change)),
+ ?match(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/StructuredProxyPushConsumer:1.0",
+ 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':typeID()),
+ check_tc('CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_is_a('CosNotifyChannelAdmin_StructuredProxyPushConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_is_a('CosNotifyChannelAdmin_ProxyConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_is_a('CosNotifyComm_StructuredPushConsumer':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_StructuredProxyPushSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_StructuredProxyPushSupplier'(doc) -> ["CosNotifyChannelAdmin_StructuredProxyPushSupplier"];
+'CosNotifyChannelAdmin_StructuredProxyPushSupplier'(suite) -> [];
+'CosNotifyChannelAdmin_StructuredProxyPushSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(connect_structured_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(suspend_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(resume_connection)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc('_get_MyType')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc('_get_MyAdmin')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc('_get_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc('_set_priority_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc('_get_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc('_set_lifetime_filter')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(obtain_offered_types)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(validate_event_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(disconnect_structured_push_supplier)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(subscription_change)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(callSeq)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(callAny)),
+ ?match(undefined, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/StructuredProxyPushSupplier:1.0",
+ 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':typeID()),
+ check_tc('CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_is_a('CosNotifyChannelAdmin_StructuredProxyPushSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_is_a('CosNotifyChannelAdmin_ProxySupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_is_a('CosNotifyComm_StructuredPushSupplier':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_is_a('oe_CosNotificationComm_Event':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyChannelAdmin_SupplierAdmin'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyChannelAdmin_SupplierAdmin'(doc) -> ["CosNotifyChannelAdmin_SupplierAdmin"];
+'CosNotifyChannelAdmin_SupplierAdmin'(suite) -> [];
+'CosNotifyChannelAdmin_SupplierAdmin'(_) ->
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc('_get_MyID')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc('_get_MyChannel')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc('_get_MyOperator')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc('_get_pull_consumers')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc('_get_push_consumers')),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(get_proxy_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(obtain_notification_pull_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(obtain_notification_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(destroy)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(get_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(set_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(validate_qos)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(offer_change)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(remove_all_filters)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(obtain_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(obtain_pull_consumer)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(callSeq)),
+ ?nomatch(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(callAny)),
+ ?match(undefined, 'CosNotifyChannelAdmin_SupplierAdmin':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyChannelAdmin_SupplierAdmin':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyChannelAdmin/SupplierAdmin:1.0",
+ 'CosNotifyChannelAdmin_SupplierAdmin':typeID()),
+ check_tc('CosNotifyChannelAdmin_SupplierAdmin':oe_get_interface()),
+ ?match(true, 'CosNotifyChannelAdmin_SupplierAdmin':oe_is_a('CosNotifyChannelAdmin_SupplierAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SupplierAdmin':oe_is_a('CosNotification_QoSAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SupplierAdmin':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SupplierAdmin':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SupplierAdmin':oe_is_a('CosEventChannelAdmin_SupplierAdmin':typeID())),
+ ?match(true, 'CosNotifyChannelAdmin_SupplierAdmin':oe_is_a('oe_CosNotificationComm_Event':typeID())),
+ ?match(false, 'CosNotifyChannelAdmin_SupplierAdmin':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_Filter'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_Filter'(doc) -> ["CosNotifyFilter_Filter"];
+'CosNotifyFilter_Filter'(suite) -> [];
+'CosNotifyFilter_Filter'(_) ->
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc('_get_constraint_grammar')),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(add_constraints)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(modify_constraints)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(get_constraints)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(get_all_constraints)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(remove_all_constraints)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(destroy)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(match)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(match_structured)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(match_typed)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(attach_callback)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(detach_callback)),
+ ?nomatch(undefined, 'CosNotifyFilter_Filter':oe_tc(get_callbacks)),
+ ?match(undefined, 'CosNotifyFilter_Filter':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyFilter_Filter':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyFilter/Filter:1.0",
+ 'CosNotifyFilter_Filter':typeID()),
+ check_tc('CosNotifyFilter_Filter':oe_get_interface()),
+ ?match(true, 'CosNotifyFilter_Filter':oe_is_a('CosNotifyFilter_Filter':typeID())),
+ ?match(false, 'CosNotifyFilter_Filter':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_FilterAdmin'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_FilterAdmin'(doc) -> ["CosNotifyFilter_FilterAdmin"];
+'CosNotifyFilter_FilterAdmin'(suite) -> [];
+'CosNotifyFilter_FilterAdmin'(_) ->
+ ?nomatch(undefined, 'CosNotifyFilter_FilterAdmin':oe_tc(add_filter)),
+ ?nomatch(undefined, 'CosNotifyFilter_FilterAdmin':oe_tc(remove_filter)),
+ ?nomatch(undefined, 'CosNotifyFilter_FilterAdmin':oe_tc(get_filter)),
+ ?nomatch(undefined, 'CosNotifyFilter_FilterAdmin':oe_tc(get_all_filters)),
+ ?nomatch(undefined, 'CosNotifyFilter_FilterAdmin':oe_tc(remove_all_filters)),
+ ?match(undefined, 'CosNotifyFilter_FilterAdmin':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyFilter_FilterAdmin':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyFilter/FilterAdmin:1.0",
+ 'CosNotifyFilter_FilterAdmin':typeID()),
+ check_tc('CosNotifyFilter_FilterAdmin':oe_get_interface()),
+ ?match(true, 'CosNotifyFilter_FilterAdmin':oe_is_a('CosNotifyFilter_FilterAdmin':typeID())),
+ ?match(false, 'CosNotifyFilter_FilterAdmin':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_FilterFactory'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_FilterFactory'(doc) -> ["CosNotifyFilter_FilterFactory"];
+'CosNotifyFilter_FilterFactory'(suite) -> [];
+'CosNotifyFilter_FilterFactory'(_) ->
+ ?nomatch(undefined, 'CosNotifyFilter_FilterFactory':oe_tc(create_filter)),
+ ?nomatch(undefined, 'CosNotifyFilter_FilterFactory':oe_tc(create_mapping_filter)),
+ ?match(undefined, 'CosNotifyFilter_FilterFactory':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyFilter_FilterFactory':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyFilter/FilterFactory:1.0",
+ 'CosNotifyFilter_FilterFactory':typeID()),
+ check_tc('CosNotifyFilter_FilterFactory':oe_get_interface()),
+ ?match(true, 'CosNotifyFilter_FilterFactory':oe_is_a('CosNotifyFilter_FilterFactory':typeID())),
+ ?match(false, 'CosNotifyFilter_FilterFactory':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyFilter_MappingFilter'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyFilter_MappingFilter'(doc) -> ["CosNotifyFilter_MappingFilter"];
+'CosNotifyFilter_MappingFilter'(suite) -> [];
+'CosNotifyFilter_MappingFilter'(_) ->
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc('_get_constraint_grammar')),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc('_get_value_type')),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc('_get_default_value')),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc(add_mapping_constraints)),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc(modify_mapping_constraints)),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc(get_mapping_constraints)),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc(get_all_mapping_constraints)),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc(remove_all_mapping_constraints)),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc(destroy)),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc(match)),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc(match_structured)),
+ ?nomatch(undefined, 'CosNotifyFilter_MappingFilter':oe_tc(match_typed)),
+ ?match(undefined, 'CosNotifyFilter_MappingFilter':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyFilter_MappingFilter':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyFilter/MappingFilter:1.0",
+ 'CosNotifyFilter_MappingFilter':typeID()),
+ check_tc('CosNotifyFilter_MappingFilter':oe_get_interface()),
+ ?match(true, 'CosNotifyFilter_MappingFilter':oe_is_a('CosNotifyFilter_MappingFilter':typeID())),
+ ?match(false, 'CosNotifyFilter_MappingFilter':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_NotifyPublish'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_NotifyPublish'(doc) -> ["CosNotifyComm_NotifyPublish"];
+'CosNotifyComm_NotifyPublish'(suite) -> [];
+'CosNotifyComm_NotifyPublish'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_NotifyPublish':oe_tc(offer_change)),
+ ?match(undefined, 'CosNotifyComm_NotifyPublish':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_NotifyPublish':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/NotifyPublish:1.0",
+ 'CosNotifyComm_NotifyPublish':typeID()),
+ check_tc('CosNotifyComm_NotifyPublish':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_NotifyPublish':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(false, 'CosNotifyComm_NotifyPublish':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_NotifySubscribe'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_NotifySubscribe'(doc) -> ["CosNotifyComm_NotifySubscribe"];
+'CosNotifyComm_NotifySubscribe'(suite) -> [];
+'CosNotifyComm_NotifySubscribe'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_NotifySubscribe':oe_tc(subscription_change)),
+ ?match(undefined, 'CosNotifyComm_NotifySubscribe':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_NotifySubscribe':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/NotifySubscribe:1.0",
+ 'CosNotifyComm_NotifySubscribe':typeID()),
+ check_tc('CosNotifyComm_NotifySubscribe':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_NotifySubscribe':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(false, 'CosNotifyComm_NotifySubscribe':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_PullConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_PullConsumer'(doc) -> ["CosNotifyComm_PullConsumer"];
+'CosNotifyComm_PullConsumer'(suite) -> [];
+'CosNotifyComm_PullConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_PullConsumer':oe_tc(offer_change)),
+ ?nomatch(undefined, 'CosNotifyComm_PullConsumer':oe_tc(disconnect_pull_consumer)),
+ ?match(undefined, 'CosNotifyComm_PullConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_PullConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/PullConsumer:1.0",
+ 'CosNotifyComm_PullConsumer':typeID()),
+ check_tc('CosNotifyComm_PullConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_PullConsumer':oe_is_a('CosNotifyComm_PullConsumer':typeID())),
+ ?match(true, 'CosNotifyComm_PullConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(true, 'CosNotifyComm_PullConsumer':oe_is_a('CosEventComm_PullConsumer':typeID())),
+ ?match(false, 'CosNotifyComm_PullConsumer':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_PullSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_PullSupplier'(doc) -> ["CosNotifyComm_PullSupplier"];
+'CosNotifyComm_PullSupplier'(suite) -> [];
+'CosNotifyComm_PullSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_PullSupplier':oe_tc(subscription_change)),
+ ?nomatch(undefined, 'CosNotifyComm_PullSupplier':oe_tc(pull)),
+ ?nomatch(undefined, 'CosNotifyComm_PullSupplier':oe_tc(try_pull)),
+ ?nomatch(undefined, 'CosNotifyComm_PullSupplier':oe_tc(disconnect_pull_supplier)),
+ ?match(undefined, 'CosNotifyComm_PullSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_PullSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/PullSupplier:1.0",
+ 'CosNotifyComm_PullSupplier':typeID()),
+ check_tc('CosNotifyComm_PullSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_PullSupplier':oe_is_a('CosNotifyComm_PullSupplier':typeID())),
+ ?match(true, 'CosNotifyComm_PullSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(true, 'CosNotifyComm_PullSupplier':oe_is_a('CosEventComm_PullSupplier':typeID())),
+ ?match(false, 'CosNotifyComm_PullSupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_PushConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_PushConsumer'(doc) -> ["CosNotifyComm_PushConsumer"];
+'CosNotifyComm_PushConsumer'(suite) -> [];
+'CosNotifyComm_PushConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_PushConsumer':oe_tc(offer_change)),
+ ?nomatch(undefined, 'CosNotifyComm_PushConsumer':oe_tc(push)),
+ ?nomatch(undefined, 'CosNotifyComm_PushConsumer':oe_tc(disconnect_push_consumer)),
+ ?match(undefined, 'CosNotifyComm_PushConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_PushConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/PushConsumer:1.0",
+ 'CosNotifyComm_PushConsumer':typeID()),
+ check_tc('CosNotifyComm_PushConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_PushConsumer':oe_is_a('CosNotifyComm_PushConsumer':typeID())),
+ ?match(true, 'CosNotifyComm_PushConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(true, 'CosNotifyComm_PushConsumer':oe_is_a('CosEventComm_PushConsumer':typeID())),
+ ?match(false, 'CosNotifyComm_PushConsumer':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_PushSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_PushSupplier'(doc) -> ["CosNotifyComm_PushSupplier"];
+'CosNotifyComm_PushSupplier'(suite) -> [];
+'CosNotifyComm_PushSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_PushSupplier':oe_tc(subscription_change)),
+ ?nomatch(undefined, 'CosNotifyComm_PushSupplier':oe_tc(disconnect_push_supplier)),
+ ?match(undefined, 'CosNotifyComm_PushSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_PushSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/PushSupplier:1.0",
+ 'CosNotifyComm_PushSupplier':typeID()),
+ check_tc('CosNotifyComm_PushSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_PushSupplier':oe_is_a('CosNotifyComm_PushSupplier':typeID())),
+ ?match(true, 'CosNotifyComm_PushSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(true, 'CosNotifyComm_PushSupplier':oe_is_a('CosEventComm_PushSupplier':typeID())),
+ ?match(false, 'CosNotifyComm_PushSupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_SequencePullConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_SequencePullConsumer'(doc) -> ["CosNotifyComm_SequencePullConsumer"];
+'CosNotifyComm_SequencePullConsumer'(suite) -> [];
+'CosNotifyComm_SequencePullConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_SequencePullConsumer':oe_tc(disconnect_sequence_pull_consumer)),
+ ?nomatch(undefined, 'CosNotifyComm_SequencePullConsumer':oe_tc(offer_change)),
+ ?match(undefined, 'CosNotifyComm_SequencePullConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_SequencePullConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/SequencePullConsumer:1.0",
+ 'CosNotifyComm_SequencePullConsumer':typeID()),
+ check_tc('CosNotifyComm_SequencePullConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_SequencePullConsumer':oe_is_a('CosNotifyComm_SequencePullConsumer':typeID())),
+ ?match(true, 'CosNotifyComm_SequencePullConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(false, 'CosNotifyComm_SequencePullConsumer':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_SequencePullSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_SequencePullSupplier'(doc) -> ["CosNotifyComm_SequencePullSupplier"];
+'CosNotifyComm_SequencePullSupplier'(suite) -> [];
+'CosNotifyComm_SequencePullSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_SequencePullSupplier':oe_tc(pull_structured_events)),
+ ?nomatch(undefined, 'CosNotifyComm_SequencePullSupplier':oe_tc(try_pull_structured_events)),
+ ?nomatch(undefined, 'CosNotifyComm_SequencePullSupplier':oe_tc(disconnect_sequence_pull_supplier)),
+ ?nomatch(undefined, 'CosNotifyComm_SequencePullSupplier':oe_tc(subscription_change)),
+ ?match(undefined, 'CosNotifyComm_SequencePullSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_SequencePullSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/SequencePullSupplier:1.0",
+ 'CosNotifyComm_SequencePullSupplier':typeID()),
+ check_tc('CosNotifyComm_SequencePullSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_SequencePullSupplier':oe_is_a('CosNotifyComm_SequencePullSupplier':typeID())),
+ ?match(true, 'CosNotifyComm_SequencePullSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(false, 'CosNotifyComm_SequencePullSupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_SequencePushConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_SequencePushConsumer'(doc) -> ["CosNotifyComm_SequencePushConsumer"];
+'CosNotifyComm_SequencePushConsumer'(suite) -> [];
+'CosNotifyComm_SequencePushConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_SequencePushConsumer':oe_tc(push_structured_events)),
+ ?nomatch(undefined, 'CosNotifyComm_SequencePushConsumer':oe_tc(disconnect_sequence_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyComm_SequencePushConsumer':oe_tc(offer_change)),
+ ?match(undefined, 'CosNotifyComm_SequencePushConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_SequencePushConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/SequencePushConsumer:1.0",
+ 'CosNotifyComm_SequencePushConsumer':typeID()),
+ check_tc('CosNotifyComm_SequencePushConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_SequencePushConsumer':oe_is_a('CosNotifyComm_SequencePushConsumer':typeID())),
+ ?match(true, 'CosNotifyComm_SequencePushConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(false, 'CosNotifyComm_SequencePushConsumer':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_SequencePushSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_SequencePushSupplier'(doc) -> ["CosNotifyComm_SequencePushSupplier"];
+'CosNotifyComm_SequencePushSupplier'(suite) -> [];
+'CosNotifyComm_SequencePushSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_SequencePushSupplier':oe_tc(disconnect_sequence_push_supplier)),
+ ?nomatch(undefined, 'CosNotifyComm_SequencePushSupplier':oe_tc(subscription_change)),
+ ?match(undefined, 'CosNotifyComm_SequencePushSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_SequencePushSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/SequencePushSupplier:1.0",
+ 'CosNotifyComm_SequencePushSupplier':typeID()),
+ check_tc('CosNotifyComm_SequencePushSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_SequencePushSupplier':oe_is_a('CosNotifyComm_SequencePushSupplier':typeID())),
+ ?match(true, 'CosNotifyComm_SequencePushSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(false, 'CosNotifyComm_SequencePushSupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_StructuredPullConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_StructuredPullConsumer'(doc) -> ["CosNotifyComm_StructuredPullConsumer"];
+'CosNotifyComm_StructuredPullConsumer'(suite) -> [];
+'CosNotifyComm_StructuredPullConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPullConsumer':oe_tc(disconnect_structured_pull_consumer)),
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPullConsumer':oe_tc(offer_change)),
+ ?match(undefined, 'CosNotifyComm_StructuredPullConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_StructuredPullConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/StructuredPullConsumer:1.0",
+ 'CosNotifyComm_StructuredPullConsumer':typeID()),
+ check_tc('CosNotifyComm_StructuredPullConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_StructuredPullConsumer':oe_is_a('CosNotifyComm_StructuredPullConsumer':typeID())),
+ ?match(true, 'CosNotifyComm_StructuredPullConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(false, 'CosNotifyComm_StructuredPullConsumer':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_StructuredPullSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_StructuredPullSupplier'(doc) -> ["CosNotifyComm_StructuredPullSupplier"];
+'CosNotifyComm_StructuredPullSupplier'(suite) -> [];
+'CosNotifyComm_StructuredPullSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPullSupplier':oe_tc(pull_structured_event)),
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPullSupplier':oe_tc(try_pull_structured_event)),
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPullSupplier':oe_tc(disconnect_structured_pull_supplier)),
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPullSupplier':oe_tc(subscription_change)),
+ ?match(undefined, 'CosNotifyComm_StructuredPullSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_StructuredPullSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/StructuredPullSupplier:1.0",
+ 'CosNotifyComm_StructuredPullSupplier':typeID()),
+ check_tc('CosNotifyComm_StructuredPullSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_StructuredPullSupplier':oe_is_a('CosNotifyComm_StructuredPullSupplier':typeID())),
+ ?match(true, 'CosNotifyComm_StructuredPullSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(false, 'CosNotifyComm_StructuredPullSupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_StructuredPushConsumer'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_StructuredPushConsumer'(doc) -> ["CosNotifyComm_StructuredPushConsumer"];
+'CosNotifyComm_StructuredPushConsumer'(suite) -> [];
+'CosNotifyComm_StructuredPushConsumer'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPushConsumer':oe_tc(push_structured_event)),
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPushConsumer':oe_tc(disconnect_structured_push_consumer)),
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPushConsumer':oe_tc(offer_change)),
+ ?match(undefined, 'CosNotifyComm_StructuredPushConsumer':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_StructuredPushConsumer':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/StructuredPushConsumer:1.0",
+ 'CosNotifyComm_StructuredPushConsumer':typeID()),
+ check_tc('CosNotifyComm_StructuredPushConsumer':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_StructuredPushConsumer':oe_is_a('CosNotifyComm_StructuredPushConsumer':typeID())),
+ ?match(true, 'CosNotifyComm_StructuredPushConsumer':oe_is_a('CosNotifyComm_NotifyPublish':typeID())),
+ ?match(false, 'CosNotifyComm_StructuredPushConsumer':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNotifyComm_StructuredPushSupplier'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNotifyComm_StructuredPushSupplier'(doc) -> ["CosNotifyComm_StructuredPushSupplier"];
+'CosNotifyComm_StructuredPushSupplier'(suite) -> [];
+'CosNotifyComm_StructuredPushSupplier'(_) ->
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPushSupplier':oe_tc(disconnect_structured_push_supplier)),
+ ?nomatch(undefined, 'CosNotifyComm_StructuredPushSupplier':oe_tc(subscription_change)),
+ ?match(undefined, 'CosNotifyComm_StructuredPushSupplier':oe_tc(undefined)),
+ ?match([_|_], 'CosNotifyComm_StructuredPushSupplier':oe_get_interface()),
+ ?match("IDL:omg.org/CosNotifyComm/StructuredPushSupplier:1.0",
+ 'CosNotifyComm_StructuredPushSupplier':typeID()),
+ check_tc('CosNotifyComm_StructuredPushSupplier':oe_get_interface()),
+ ?match(true, 'CosNotifyComm_StructuredPushSupplier':oe_is_a('CosNotifyComm_StructuredPushSupplier':typeID())),
+ ?match(true, 'CosNotifyComm_StructuredPushSupplier':oe_is_a('CosNotifyComm_NotifySubscribe':typeID())),
+ ?match(false, 'CosNotifyComm_StructuredPushSupplier':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'oe_CosNotificationComm_Event'
+%% Description:
+%%-----------------------------------------------------------------
+'oe_CosNotificationComm_Event'(doc) -> ["oe_CosNotificationComm_Event"];
+'oe_CosNotificationComm_Event'(suite) -> [];
+'oe_CosNotificationComm_Event'(_) ->
+ ?nomatch(undefined, 'oe_CosNotificationComm_Event':oe_tc(callSeq)),
+ ?nomatch(undefined, 'oe_CosNotificationComm_Event':oe_tc(callAny)),
+ ?match(undefined, 'oe_CosNotificationComm_Event':oe_tc(undefined)),
+ ?match([_|_], 'oe_CosNotificationComm_Event':oe_get_interface()),
+ ?match("IDL:oe_CosNotificationComm/Event:1.0",
+ 'oe_CosNotificationComm_Event':typeID()),
+ check_tc('oe_CosNotificationComm_Event':oe_get_interface()),
+ ?match(true, 'oe_CosNotificationComm_Event':oe_is_a('oe_CosNotificationComm_Event':typeID())),
+ ?match(false, 'oe_CosNotificationComm_Event':oe_is_a("wrong")),
+ ok.
+
+
+
+
+%%-----------------------------------------------------------------
+%% MISC functions
+%%-----------------------------------------------------------------
+check_tc([]) ->
+ ok;
+check_tc([{Op, {RetType, InParameters, OutParameters}}|T]) ->
+ io:format("checked - ~s~n", [Op]),
+ lists:all(?checktc(Op), [RetType|InParameters]),
+ lists:all(?checktc(Op), OutParameters),
+ check_tc(T).
+
+
diff --git a/lib/cosNotification/test/grammar_SUITE.erl b/lib/cosNotification/test/grammar_SUITE.erl
new file mode 100644
index 0000000000..30aec89e5f
--- /dev/null
+++ b/lib/cosNotification/test/grammar_SUITE.erl
@@ -0,0 +1,1094 @@
+%%--------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%--------------------------------------------------------------------
+%% File : grammar_SUITE.erl
+%% Purpose : Testing the CosNotification BNF grammar.
+%%--------------------------------------------------------------------
+
+-module(grammar_SUITE).
+
+
+
+%%--------------- INCLUDES -----------------------------------
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/include/ifr_types.hrl").
+%% cosEvent files.
+-include_lib("cosEvent/include/CosEventChannelAdmin.hrl").
+%% Application files
+-include_lib("cosNotification/include/CosNotification.hrl").
+-include_lib("cosNotification/include/CosNotifyChannelAdmin.hrl").
+-include_lib("cosNotification/include/CosNotifyComm.hrl").
+-include_lib("cosNotification/include/CosNotifyFilter.hrl").
+
+-include_lib("cosNotification/src/CosNotification_Definitions.hrl").
+
+-include("idl_output/notify_test.hrl").
+
+-include("test_server.hrl").
+
+%%--------------- DEFINES ------------------------------------
+-define(default_timeout, ?t:minutes(20)).
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1,
+ union_api/1, enum_api/1, simple_types_api/1,
+ components_api/1, positional_api/1, variable_api/1,
+ init_per_testcase/2, fin_per_testcase/2]).
+
+-import(cosNotification_Filter, [create_filter/1, eval/2]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for the cosNotification interfaces", ""];
+all(suite) -> {req,
+ [],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [variable_api, union_api, enum_api, simple_types_api, components_api,
+ positional_api].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Config.
+
+
+%%-----------------------------------------------------------------
+%% simple types grammar tests
+%%-----------------------------------------------------------------
+simple_types_api(doc) -> ["CosNotification simple types grammar tests", ""];
+simple_types_api(suite) -> [];
+simple_types_api(_Config) ->
+ %% Will always be true, no matter what kind of event we receive.
+ {ok,T1} = ?match({ok, _}, create_filter("2==2 and 3<4")),
+ ?match(true, eval(T1, ?not_CreateSE("DomainName","TypeName","EventName",
+ [],[], any:create(orber_tc:null(), null)))),
+
+ %% Will always be true, no matter what kind of event we receive.
+ {ok,T2} = ?match({ok, _}, create_filter("")),
+ ?match(true, eval(T2, ?not_CreateSE("DomainName","TypeName","EventName",
+ [],[], any:create(orber_tc:null(), null)))),
+
+ %% Check if $variable works
+ {ok,T3} = ?match({ok, _}, create_filter("$city == \'Berlin\'")),
+ ?match(true, eval(T3, ?not_CreateSE("DomainName","TypeName","EventName",
+ [#'CosNotification_Property'{name="city",
+ value=any:create(orber_tc:string(0), "Berlin")}],
+ [], any:create(orber_tc:null(), null)))),
+ ?match(false, eval(T3, ?not_CreateSE("DomainName","TypeName", "EventName",
+ [#'CosNotification_Property'{name="city",
+ value=any:create(orber_tc:string(0), "Dallas")}],
+
+ [], any:create(orber_tc:null(), null)))),
+
+
+ {ok,T4} = ?match({ok, _}, create_filter("$zip == 44")),
+ ?match(true, eval(T4, ?not_CreateSE("DomainName","TypeName", "EventName",
+ [#'CosNotification_Property'{name="zip",
+ value=any:create(orber_tc:short(), 44)}],
+
+ [], any:create(orber_tc:null(), null)))),
+ ?match(true, eval(T4, ?not_CreateSE("DomainName","TypeName", "EventName",
+ [],[],
+ any:create('CosNotification_Property':tc(),
+ #'CosNotification_Property'
+ {name="zip",
+ value=any:create(orber_tc:short(),
+ 44)})))),
+ ?match(false, eval(T4, ?not_CreateSE("DomainName","TypeName", "EventName",
+ [#'CosNotification_Property'{name="zip",
+ value=any:create(orber_tc:short(), 33)}],
+
+ [], any:create(orber_tc:null(), null)))),
+
+ %% Will always be true, no matter what kind of event we receive.
+ {ok,T5} = ?match({ok, _}, create_filter("\'oo'\~\'foobar\'")),
+ ?match(true, eval(T5, ?not_CreateSE("DomainName","TypeName","EventName",
+ [],[], any:create(orber_tc:null(), null)))),
+ %% Will always be false, no matter what kind of event we receive.
+ {ok,T6} = ?match({ok, _}, create_filter("\'o1'\~\'foobar\'")),
+ ?match(false, eval(T6, ?not_CreateSE("DomainName","TypeName","EventName",
+ [],[], any:create(orber_tc:null(), null)))),
+
+ %% Can we apply the ~ operation as above using a variable
+ {ok,T7} = ?match({ok, _}, create_filter("$str~\'foobar\'")),
+ ?match(true, eval(T7, ?not_CreateSE("DomainName","TypeName","EventName",
+ [#'CosNotification_Property'{name="str",
+ value=any:create(orber_tc:string(0), "oo")}],
+ [], any:create(orber_tc:null(), null)))),
+ ?match(false, eval(T7, ?not_CreateSE("DomainName","TypeName","EventName",
+ [#'CosNotification_Property'{name="str",
+ value=any:create(orber_tc:string(0), "ok")}],
+ [], any:create(orber_tc:null(), null)))),
+
+
+
+ {ok,_T8} = ?match({ok, _}, create_filter("$\\zip == 44444")),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% enum grammar tests
+%%-----------------------------------------------------------------
+enum_api(doc) -> ["CosNotification enum grammar tests", ""];
+enum_api(suite) -> [];
+enum_api(_Config) ->
+ %% Accept events whose 'in' enum is set to the value 'HOUSE' or 'CAR'.
+ {ok,T1} = ?match({ok, _}, create_filter("$.\\in == HOUSE or $.\\in == CAR")),
+
+ ?match(true, eval(T1, any:create(orber_tc:alias("IFRId","in",tk_any),
+ any:create({tk_enum, "IFRId", "in", ["HOUSE", "CAR"]},
+ 'HOUSE')))),
+ ?match(false, eval(T1, any:create(orber_tc:alias("IFRId","in",tk_any),
+ any:create({tk_enum, "IFRId", "in", ["HOUSE", "CAR"]},
+ 'GARAGE')))),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Union grammar tests
+%%-----------------------------------------------------------------
+union_api(doc) -> ["CosNotification union grammar tests", ""];
+union_api(suite) -> [];
+union_api(_Config) ->
+ {ok,T1} = ?match({ok, _}, create_filter("exist $.uni1._d and $.uni1._d == 1 and $.uni1.(1) == 10")),
+ {ok,T2} = ?match({ok, _}, create_filter("default $.uni1._d and $.uni1.() == 10")),
+ {ok,T3} = ?match({ok, _}, create_filter("default $.uni1._d and $.uni1.(999) == 10")),
+ ?match(true, eval(T1, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",[],[],
+ any:create(orber_tc:alias("IDL:notify_test/namedAny:1.0",
+ "uni1",
+ tk_any),
+ any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 1,
+ value=10}))))),
+ ?match(true, eval(T2, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",[],[],
+ any:create(orber_tc:alias("IDL:notify_test/namedAny:1.0",
+ "uni1",
+ tk_any),
+ any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 100,
+ value=10}))))),
+ ?match(true, eval(T3, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",[],[],
+ any:create(orber_tc:alias("IDL:notify_test/namedAny:1.0",
+ "uni1",
+ tk_any),
+ any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 100,
+ value=10}))))),
+ ?match(true, eval(T1, any:create(orber_tc:alias("IDL:notify_test/namedAny:1.0",
+ "uni1",
+ tk_any),
+ any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 1,
+ value=10})))),
+ ?match(false, eval(T2, any:create(orber_tc:alias("IDL:notify_test/namedAny:1.0",
+ "uni1",
+ tk_any),
+ any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 1,
+ value=10})))),
+ ?match(false, eval(T3, any:create(orber_tc:alias("IDL:notify_test/namedAny:1.0",
+ "uni1",
+ tk_any),
+ any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 1,
+ value=10})))),
+ ?match(true, eval(T1, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",[],[],
+ any:create(notify_test_studies:tc(), #notify_test_studies
+ {uni1 = #notify_test_uni1{label= 1, value=10},
+ gpa = 90,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 60)}],
+ monthly_attendance = {0,1,2,10}})))),
+ ?match(false, eval(T2, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",[],[],
+ any:create(notify_test_studies:tc(), #notify_test_studies
+ {uni1 = #notify_test_uni1{label= 1, value=10},
+ gpa = 90,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 60)}],
+ monthly_attendance = {0,1,2,10}})))),
+ ?match(false, eval(T3, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",[],[],
+ any:create(notify_test_studies:tc(), #notify_test_studies
+ {uni1 = #notify_test_uni1{label= 1, value=10},
+ gpa = 90,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 60)}],
+ monthly_attendance = {0,1,2,10}})))),
+ ?match(true, eval(T1, any:create(notify_test_studies:tc(), #notify_test_studies
+ {uni1 = #notify_test_uni1{label= 1, value=10},
+ gpa = 90,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 60)}],
+ monthly_attendance = {0,1,2,10}}))),
+ ?match(false, eval(T2, any:create(notify_test_studies:tc(), #notify_test_studies
+ {uni1 = #notify_test_uni1{label= 1, value=10},
+ gpa = 90,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 60)}],
+ monthly_attendance = {0,1,2,10}}))),
+ ?match(false, eval(T3, any:create(notify_test_studies:tc(), #notify_test_studies
+ {uni1 = #notify_test_uni1{label= 1, value=10},
+ gpa = 90,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 60)}],
+ monthly_attendance = {0,1,2,10}}))),
+
+ {ok,T4} = ?match({ok, _}, create_filter("exist $.alias.uni1._d and $.alias.uni1._d == 1 and $.alias.uni1.(1) == 10")),
+ ?match(true, eval(T4, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",[],[],
+ any:create(orber_tc:alias(notify_test_studies:id(),
+ "alias",
+ notify_test_studies:tc()),
+ #notify_test_studies
+ {uni1 = #notify_test_uni1{label= 1, value=10},
+ gpa = 90, tests = [],
+ monthly_attendance = {0,1,2,10}})))),
+ ?match(true, eval(T4, any:create(orber_tc:alias(notify_test_studies:id(),
+ "alias",
+ notify_test_studies:tc()),
+ #notify_test_studies
+ {uni1 = #notify_test_uni1{label= 1, value=10},
+ gpa = 90, tests = [],
+ monthly_attendance = {0,1,2,10}}))),
+ %% Accept events with a default union discriminator set to the value 2.
+ {ok,T5} = ?match({ok, _}, create_filter("default $._d and $.defvalue == 2")),
+ ?match(true, eval(T5, any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 100, value=2}))),
+ %% label not default.
+ ?match(false, eval(T5, any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 2, value=2}))),
+ %% Default does not exist (nor the component defvalue)
+ ?match(false, eval(T5, any:create(notify_test_uni2:tc(),
+ #notify_test_uni2{label= 100, value=2}))),
+ %% Both wrong
+ ?match(false, eval(T5, any:create(notify_test_uni2:tc(),
+ #notify_test_uni2{label= 2, value=2}))),
+
+ {ok,T6} = ?match({ok, _}, create_filter("default $._d and $.(-8) == 2")),
+ ?match(true, eval(T6, any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 100, value=2}))),
+ %% label not default.
+ ?match(false, eval(T6, any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 2, value=2}))),
+ %% Default does not exist (nor the component defvalue)
+ ?match(false, eval(T6, any:create(notify_test_uni2:tc(),
+ #notify_test_uni2{label= 100, value=2}))),
+ %% Both wrong
+ ?match(false, eval(T6, any:create(notify_test_uni2:tc(),
+ #notify_test_uni2{label= 2, value=2}))),
+ %% the same as the above, but we try to access a label that is not default
+ {ok,T7} = ?match({ok, _}, create_filter("default $._d and $.(2) == 2")),
+ ?match({error, _}, eval(T7, any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 100, value=2}))),
+
+ %% Must be a default-union with its 'defvalue' set to 2.
+ {ok,T8} = ?match({ok, _}, create_filter("default $._d and $.('defvalue') == 2")),
+ ?match(true, eval(T8, any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 100, value=2}))),
+ %% label not default.
+ ?match(false, eval(T8, any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 2, value=2}))),
+ %% Default does not exist (nor the component defvalue)
+ ?match(false, eval(T8, any:create(notify_test_uni2:tc(),
+ #notify_test_uni2{label= 100, value=2}))),
+ %% Both wrong
+ ?match(false, eval(T8, any:create(notify_test_uni2:tc(),
+ #notify_test_uni2{label= 2, value=2}))),
+
+ %% Must be a default-union with its value set to 2.
+ {ok,T9} = ?match({ok, _}, create_filter("default $._d and $.(+100) == 2")),
+ ?match(true, eval(T9, any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 100, value=2}))),
+ %% label not default.
+ ?match(false, eval(T9, any:create(notify_test_uni1:tc(),
+ #notify_test_uni1{label= 2, value=2}))),
+ %% Default does not exist (nor the component defvalue)
+ ?match(false, eval(T9, any:create(notify_test_uni2:tc(),
+ #notify_test_uni2{label= 100, value=2}))),
+ %% Both wrong
+ ?match(false, eval(T9, any:create(notify_test_uni2:tc(),
+ #notify_test_uni2{label= 2, value=2}))),
+
+ %% So far, we have only tested to access the union itself. No will use more
+ %% complex union members.
+ %% T10 and T11 is "equal"
+ {ok,T10} = ?match({ok, _}, create_filter("$.M < 54")),
+ {ok,T11} = ?match({ok, _}, create_filter("$.(5) < 54")),
+ ?match(false, eval(T10, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 5, value=54}))),
+ ?match(false, eval(T11, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 5, value=54}))),
+ ?match(true, eval(T10, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 5, value=50}))),
+ ?match(true, eval(T11, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 5, value=50}))),
+ ?match({error,_}, eval(T10, any:create(notify_test_K:tc(),
+ #notify_test_K{label= -1, value=50}))),
+ ?match({error,_}, eval(T11, any:create(notify_test_K:tc(),
+ #notify_test_K{label= -1, value=50}))),
+
+ %% T12 and T13 is "equal"
+ {ok,T12} = ?match({ok, _}, create_filter("$.L.C < 128")),
+ {ok,T13} = ?match({ok, _}, create_filter("$.(3).2 < 128")),
+ ?match(true, eval(T12, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 3, value=
+ #notify_test_X{'A' = 1,
+ 'B' = "string",
+ 'C' = 120}}))),
+ ?match(true, eval(T13, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 3, value=
+ #notify_test_X{'A' = 1,
+ 'B' = "string",
+ 'C' = 120}}))),
+ ?match(false, eval(T12, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 3, value=
+ #notify_test_X{'A' = 1,
+ 'B' = "string",
+ 'C' = 200}}))),
+ ?match(false, eval(T13, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 3, value=
+ #notify_test_X{'A' = 1,
+ 'B' = "string",
+ 'C' = 200}}))),
+
+ %% Test if 'putty' is a substring of K
+ {ok,T15} = ?match({ok, _}, create_filter("'putty' ~ $.(2)")),
+ {ok,T16} = ?match({ok, _}, create_filter("'putty' ~ $.K")),
+ ?match(true, eval(T15, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "isputtyok"}))),
+ ?match(true, eval(T16, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "isputtyok"}))),
+ ?match(false, eval(T15, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "notputtok"}))),
+ ?match(false, eval(T16, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "notputtok"}))),
+
+ {ok,_T17} = ?match({ok, _}, create_filter("'putty' ~ $.(3).1")),
+ {ok,_T18} = ?match({ok, _}, create_filter("'putty' ~ $.L.B")),
+ ?match(true, eval(T12, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 3, value=
+ #notify_test_X{'A' = 1,
+ 'B' = "isputtyok",
+ 'C' = 120}}))),
+ ?match(true, eval(T13, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 3, value=
+ #notify_test_X{'A' = 1,
+ 'B' = "isputtyok",
+ 'C' = 120}}))),
+ ?match(false, eval(T12, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 3, value=
+ #notify_test_X{'A' = 1,
+ 'B' = "notputtok",
+ 'C' = 200}}))),
+ ?match(false, eval(T13, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 3, value=
+ #notify_test_X{'A' = 1,
+ 'B' = "notputtok",
+ 'C' = 200}}))),
+
+ %% Please observe that the switch 0 and 2 is defined to be equivalent.
+ {ok,T19} = ?match({ok, _}, create_filter("$._d == 2 and $.(0) != 'hoob'")),
+ {ok,T20} = ?match({ok, _}, create_filter("$._d == 2 and $.(2) != 'hoob'")),
+ ?match(true, eval(T19, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "nothoob"}))),
+ ?match(true, eval(T20, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "nothoob"}))),
+ ?match(false, eval(T19, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "hoob"}))),
+ ?match(false, eval(T20, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "hoob"}))),
+
+ ?match(false, eval(T19, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 5, value= 55}))),
+ ?match(false, eval(T20, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 5, value= 55}))),
+
+ ?match(false, eval(T19, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 100, value= "nothoob"}))),
+ ?match(false, eval(T20, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 100, value= "nothoob"}))),
+
+ {ok,T21} = ?match({ok, _}, create_filter("exist $.K")),
+ {ok,T22} = ?match({ok, _}, create_filter("exist $.(0) or exist $.(2)")),
+ ?match(true, eval(T21, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 0, value= "hoob"}))),
+ ?match(true, eval(T22, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 0, value= "hoob"}))),
+ ?match(true, eval(T21, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "hoob"}))),
+ ?match(true, eval(T22, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "hoob"}))),
+ ?match(false, eval(T21, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 5, value= 55}))),
+ ?match(false, eval(T22, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 5, value= 55}))),
+
+
+ %% Please observe that the switch 0 and 2 is defined to be equivalent.
+ {ok,T23} = ?match({ok, _}, create_filter("exist $.(2)")),
+ {ok,T24} = ?match({ok, _}, create_filter("exist $.(0)")),
+ ?match(true, eval(T23, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "hoob"}))),
+ ?match(false, eval(T24, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 2, value= "hoob"}))),
+ ?match(false, eval(T23, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 0, value= "hoob"}))),
+ ?match(true, eval(T24, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 0, value= "hoob"}))),
+ ?match(false, eval(T23, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 5, value= 55}))),
+ ?match(false, eval(T24, any:create(notify_test_K:tc(),
+ #notify_test_K{label= 5, value= 55}))),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Variables grammar tests
+%%-----------------------------------------------------------------
+variable_api(doc) -> ["CosNotification variables grammar tests", ""];
+variable_api(suite) -> [];
+variable_api(_Config) ->
+ %% Accept all "CommunicationsAlarm" events
+ {ok,T0} = ?match({ok, _}, create_filter("$type_name == 'CommunicationsAlarm'")),
+
+ ?match(true, eval(T0, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",[],[],
+ any:create(orber_tc:null(), null)))),
+ ?match(false, eval(T0, ?not_CreateSE("DomainName","CommunicationsOK",
+ "EventName", [],[],
+ any:create(orber_tc:null(), null)))),
+ ?match(true, eval(T0, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName", [],[],
+ any:create(orber_tc:alias("IFRId", "type_name",
+ orber_tc:string(0)),
+ "CommunicationsOK")))),
+
+ ?match(true, eval(T0, any:create(orber_tc:alias("IFRId", "type_name",
+ orber_tc:string(0)),
+ "CommunicationsAlarm"))),
+ ?match(false, eval(T0, any:create(orber_tc:alias("IFRId", "type_name",
+ orber_tc:string(0)),
+ "CommunicationsOK"))),
+
+
+ %% Accept all "CommunicationsAlarm" events but no "lost_packet" messages.
+ {ok,T1} = ?match({ok, _}, create_filter("$type_name == 'CommunicationsAlarm' and not ($event_name == 'lost_packet')")),
+
+ ?match(true, eval(T1, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",[],[],
+ any:create(orber_tc:null(), null)))),
+ ?match(false, eval(T1, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet", [],[],
+ any:create(orber_tc:null(), null)))),
+ ?match(true,
+ eval(T1, any:create(orber_tc:sequence('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="type_name",
+ value=any:create(orber_tc:string(0), "CommunicationsAlarm")},
+ #'CosNotification_Property'{name="event_name",
+ value=any:create(orber_tc:string(0), "EventName")}]))),
+ ?match(false,
+ eval(T1, any:create(orber_tc:sequence('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="type_name",
+ value=any:create(orber_tc:string(0), "CommunicationsAlarm")},
+ #'CosNotification_Property'{name="event_name",
+ value=any:create(orber_tc:string(0), "lost_packet")}]))),
+
+
+ %% Accept "CommunicationsAlarm" events with priorities ranging from 1 to 5.
+ {ok,T2} = ?match({ok, _}, create_filter("$type_name == 'CommunicationsAlarm' and $priority >= 1 and $priority <= 5")),
+ ?match(true, eval(T2, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 2)}],
+ [], any:create(orber_tc:null(), null)))),
+ ?match(false, eval(T2, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 20)}],
+ [], any:create(orber_tc:null(), null)))),
+
+ %% Select "MOVIE" events featuring at least 3 of the Marx Brothers.
+ {ok,T3} = ?match({ok, _}, create_filter("$type_name == 'MOVIE' and (('groucho' in $starlist) + ('chico' in $starlist) + ('harpo' in $starlist) + ('zeppo' in $starlist) + ('gummo' in $starlist)) > 2")),
+ ?match(true, eval(T3, ?not_CreateSE("DomainName","MOVIE",
+ "EventName",
+ [#'CosNotification_Property'{name="starlist",
+ value=any:create(orber_tc:sequence(orber_tc:string(0),0),
+ ["groucho", "harpo", "sam", "gummo"])}],
+ [], any:create(orber_tc:null(), null)))),
+ ?match(false, eval(T3, ?not_CreateSE("DomainName","MOVIE",
+ "EventName",
+ [#'CosNotification_Property'{name="starlist",
+ value=any:create(orber_tc:sequence(orber_tc:string(0),0),
+ ["frodo", "bilbo", "sam", "gummo"])}],
+ [], any:create(orber_tc:null(), null)))),
+ %% Accept students that took all 3 tests and had an average score of at least 80%.
+ {ok,T4} = ?match({ok, _}, create_filter("$test._length == 3 and ($test[0].score + $test[1].score + $test[2].score)/3 >=80")),
+ ?match(true, eval(T4, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'{name="test",
+ value=any:create(orber_tc:array(notify_test_data:tc(),0),
+ {#notify_test_data{score=75},
+ #notify_test_data{score=80},
+ #notify_test_data{score=85}})}],
+ any:create(orber_tc:null(), null)))),
+ ?match(false, eval(T4, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'{name="test",
+ value=any:create(orber_tc:array(notify_test_data:tc(),0),
+ {#notify_test_data{score=75},
+ #notify_test_data{score=80},
+ #notify_test_data{score=80}})}],
+ any:create(orber_tc:null(), null)))),
+ ?match(false, eval(T4, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'{name="test",
+ value=any:create(orber_tc:array(notify_test_data:tc(),0),
+ {#notify_test_data{score=75},
+ #notify_test_data{score=85}})}],
+ any:create(orber_tc:null(), null)))),
+ %% Select processes that exceed a certain usage threshold.
+ {ok,T5} = ?match({ok, _}, create_filter("$memsize / 5.5 + $cputime * 1275.0 + $filesize * 1.25 > 500000.0")),
+ ?match(true, eval(T5, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'{name="memsize",
+ value=any:create(orber_tc:float(), 5.5)},
+ #'CosNotification_Property'{name="cputime",
+ value=any:create(orber_tc:float(), 0.00078431137)},
+ #'CosNotification_Property'{name="filesize",
+ value=any:create(orber_tc:float(), 500000)}],
+ any:create(orber_tc:null(), null)))),
+ ?match(false, eval(T5, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'{name="memsize",
+ value=any:create(orber_tc:float(), 5.5)},
+ #'CosNotification_Property'{name="cputime",
+ value=any:create(orber_tc:float(), 0.00078431137)},
+ #'CosNotification_Property'{name="filesize",
+ value=any:create(orber_tc:float(), 500)}],
+ any:create(orber_tc:null(), null)))),
+ ?match({error, _}, eval(T5, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'{name="memsize",
+ value=any:create(orber_tc:float(), 5.5)},
+ #'CosNotification_Property'{name="filesize",
+ value=any:create(orber_tc:float(), 500)}],
+ any:create(orber_tc:null(), null)))),
+
+ ?match(true, eval(T5, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [], [],
+ any:create(orber_tc:sequence('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="memsize",
+ value=any:create(orber_tc:float(), 5.5)},
+ #'CosNotification_Property'{name="cputime",
+ value=any:create(orber_tc:float(), 0.00078431137)},
+ #'CosNotification_Property'{name="filesize",
+ value=any:create(orber_tc:float(), 500000)}])))),
+ ?match(false, eval(T5, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [], [],
+ any:create(orber_tc:sequence('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="memsize",
+ value=any:create(orber_tc:float(), 5.5)},
+ #'CosNotification_Property'{name="cputime",
+ value=any:create(orber_tc:float(), 0.00078431137)},
+ #'CosNotification_Property'{name="filesize",
+ value=any:create(orber_tc:float(), 500)}])))),
+ ?match({error, _}, eval(T5, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [], [],
+ any:create(orber_tc:sequence('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="memsize",
+ value=any:create(orber_tc:float(), 5.5)},
+ #'CosNotification_Property'{name="filesize",
+ value=any:create(orber_tc:float(), 500)}])))),
+
+ ?match(true, eval(T5, any:create(orber_tc:sequence('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="memsize",
+ value=any:create(orber_tc:float(), 5.5)},
+ #'CosNotification_Property'{name="cputime",
+ value=any:create(orber_tc:float(), 0.00078431137)},
+ #'CosNotification_Property'{name="filesize",
+ value=any:create(orber_tc:float(), 500000)}]))),
+ ?match(false, eval(T5, any:create(orber_tc:sequence('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="memsize",
+ value=any:create(orber_tc:float(), 5.5)},
+ #'CosNotification_Property'{name="cputime",
+ value=any:create(orber_tc:float(), 0.00078431137)},
+ #'CosNotification_Property'{name="filesize",
+ value=any:create(orber_tc:float(), 500)}]))),
+ ?match({error, _}, eval(T5, any:create(orber_tc:sequence('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="memsize",
+ value=any:create(orber_tc:float(), 5.5)},
+ #'CosNotification_Property'{name="filesize",
+ value=any:create(orber_tc:float(), 500)}]))),
+
+ %% Accept events where a threshold has the unscoped type name 'data'.
+ {ok,T6} = ?match({ok, _}, create_filter("exist $threshold._type_id and $threshold._type_id == 'data'")),
+ ?match(true, eval(T6, any:create(orber_tc:alias(notify_test_data:id(),
+ "threshold",
+ notify_test_data:tc()),
+ #notify_test_data{score = 10, name = "Erlang"}))),
+
+
+
+ ?match(true, eval(T6, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'
+ {name="threshold",
+ value=any:create(notify_test_data:tc(),
+ #notify_test_data
+ {score = 10,
+ name = "Erlang"})}],
+ any:create(orber_tc:null(), null)))),
+
+
+ ?match(true, eval(T6, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'
+ {name="NotThreshold",
+ value=any:create(notify_test_data:tc(),
+ #notify_test_data
+ {score = 10,
+ name = "Erlang"})}],
+ any:create(orber_tc:alias(notify_test_data:id(),
+ "threshold",
+ notify_test_data:tc()),
+ #notify_test_data{score = 10, name = "Erlang"})))),
+
+
+
+ %% Accept events with a serviceUser property of the correct standard type.
+ {ok,T7} = ?match({ok, _}, create_filter("$violation(TestData)._repos_id == 'IDL:notify_test/data:1.0'")),
+ ?match(true, eval(T7, ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'
+ {name="violation",
+ value=any:create(orber_tc:array('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'
+ {name="TestData",
+ value=any:create(notify_test_data:tc(),
+ #notify_test_data
+ {score=100,
+ name="perfect score"})}])}],
+ any:create(orber_tc:null(), null)))),
+
+ {ok,T8} = ?match({ok, _}, create_filter("$type_name == 'CommunicationsAlarm' and $event_name == 'lost_packet' and $priority < 2")),
+ %% All correct
+ Event1 = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+ %% Priority to high
+ Event2 = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 2)}],
+ [], any:create(orber_tc:null(), null)),
+ %% Misspell event_name, i.e., lost_packets instead of lost_packet
+ Event3 = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packets",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+ %% Another type_name
+ Event4 = ?not_CreateSE("DomainName","TemperatureAlarm",
+ "lost_packets",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+
+ ?match(true, eval(T8, Event1)),
+ ?match(false, eval(T8, Event2)),
+ ?match(false, eval(T8, Event3)),
+ ?match(false, eval(T8, Event4)),
+
+ {ok,T9} = ?match({ok, _}, create_filter("$gpa < 80 or $tests(midterm) > $tests(final) or $monthly_attendance[3] < 10")),
+
+ %% midterm > final yields true, the others false
+ Event5 = ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'
+ {name="tests",
+ value=any:create(orber_tc:array('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="midterm",
+ value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'{name="final",
+ value=any:create(orber_tc:short(), 60)}])},
+ #'CosNotification_Property'{name="monthly_attendance",
+ value=any:create(orber_tc:array(orber_tc:short(), 0),
+ {0,1,2,10})},
+ #'CosNotification_Property'{name="gpa",
+ value=any:create(orber_tc:short(), 90)}],
+ any:create(orber_tc:null(), null)),
+
+ %% monthly_attendance[3] < 10 yields true, the others false
+ Event6 = ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'{name="tests",
+ value=any:create(orber_tc:array('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="midterm",
+ value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'{name="final",
+ value=any:create(orber_tc:short(), 80)}])},
+ #'CosNotification_Property'{name="monthly_attendance",
+ value=any:create(orber_tc:array(orber_tc:short(), 0),
+ {0,1,2,9})},
+ #'CosNotification_Property'{name="gpa",
+ value=any:create(orber_tc:short(), 90)}],
+ any:create(orber_tc:null(), null)),
+
+ %% gpa < 80 true, rest false.
+ Event7 = ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'{name="tests",
+ value=any:create(orber_tc:array('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="midterm",
+ value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'{name="final",
+ value=any:create(orber_tc:short(), 80)}])},
+ #'CosNotification_Property'{name="monthly_attendance",
+ value=any:create(orber_tc:array(orber_tc:short(), 0),
+ {0,1,2,10})},
+ #'CosNotification_Property'{name="gpa",
+ value=any:create(orber_tc:short(), 70)}],
+ any:create(orber_tc:null(), null)),
+
+ %% All false
+ Event8 = ?not_CreateSE("DomainName","TypeName",
+ "EventName", [],
+ [#'CosNotification_Property'{name="tests",
+ value=any:create(orber_tc:array('CosNotification_Property':tc(),0),
+ [#'CosNotification_Property'{name="midterm",
+ value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'{name="final",
+ value=any:create(orber_tc:short(), 80)}])},
+ #'CosNotification_Property'{name="monthly_attendance",
+ value=any:create(orber_tc:array(orber_tc:short(), 0),
+ {0,1,2,10})},
+ #'CosNotification_Property'{name="gpa",
+ value=any:create(orber_tc:short(), 80)}],
+ any:create(orber_tc:null(), null)),
+
+ ?match(true, eval(T9, Event5)),
+ ?match(true, eval(T9, Event6)),
+ ?match(true, eval(T9, Event7)),
+ ?match(false, eval(T9, Event8)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Misc grammar tests
+%%-----------------------------------------------------------------
+positional_api(doc) -> ["CosNotification positional notation grammar tests", ""];
+positional_api(suite) -> [];
+positional_api(_Config) ->
+ {ok,T1} = ?match({ok, _}, create_filter("$.3 < 80 or $.1(midterm) > $.1(final) or $.2[3] < 10")),
+
+ %% midterm > final yields true, the others false
+ Event1 = any:create(notify_test_studies:tc(), #notify_test_studies
+ {gpa = 90,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 60)}],
+ monthly_attendance = {0,1,2,10}}),
+ %% monthly_attendance[3] < 10 yields true, the others false
+ Event2 = any:create(notify_test_studies:tc(), #notify_test_studies
+ {gpa = 90,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 80)}],
+ monthly_attendance = {0,1,2,9}}),
+ %% gpa < 80 true, rest false.
+ Event3 = any:create(notify_test_studies:tc(), #notify_test_studies
+ {gpa = 70,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 80)}],
+ monthly_attendance = {0,1,2,10}}),
+ %% All false
+ Event4 = any:create(notify_test_studies:tc(), #notify_test_studies
+ {gpa = 80,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 80)}],
+ monthly_attendance = {0,1,2,10}}),
+
+ ?match(true, eval(T1, Event1)),
+ ?match(true, eval(T1, Event2)),
+ ?match(true, eval(T1, Event3)),
+ ?match(false, eval(T1, Event4)),
+
+ {ok,T2} = ?match({ok, _}, create_filter("$.0.0.0.1 == 'CommunicationsAlarm'")),
+
+ Event5 = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet", [], [],
+ any:create(orber_tc:null(), null)),
+
+ ?match(true, eval(T2, Event5)),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Components grammar tests
+%%-----------------------------------------------------------------
+components_api(doc) -> ["CosNotification components grammar tests", ""];
+components_api(suite) -> [];
+components_api(_Config) ->
+ {ok,T1} = ?match({ok, _}, create_filter("$ == 2")),
+ ?match(true, eval(T1, ?not_CreateSE("DomainName","TypeName","EventName",
+ [],[], any:create(orber_tc:short(), 2)))),
+ ?match(true, eval(T1, any:create(orber_tc:short(), 2))),
+ ?match(false, eval(T1, ?not_CreateSE("DomainName","TypeName","EventName",
+ [],[], any:create(orber_tc:short(), 3)))),
+ ?match(false, eval(T1, any:create(orber_tc:short(), 3))),
+
+ %% Select "MOVIE" events featuring at least 3 of the Marx Brothers.
+ {ok,T2} = ?match({ok, _}, create_filter("$type_name == 'MOVIE' and (('groucho' in $.starlist) + ('chico' in $.starlist) + ('harpo' in $.starlist) + ('zeppo' in $.starlist) + ('gummo' in $.starlist)) > 2")),
+ ?match(true, eval(T2, ?not_CreateSE("DomainName","MOVIE", "EventName", [], [],
+ any:create(orber_tc:alias("IFRId","starlist",tk_any),
+ any:create(orber_tc:sequence(orber_tc:string(0),0),
+ ["groucho", "harpo", "sam", "gummo"]))))),
+ ?match(false, eval(T2, ?not_CreateSE("DomainName","MOVIE", "EventName", [], [],
+ any:create(orber_tc:alias("IFRId","starlist",tk_any),
+ any:create(orber_tc:sequence(orber_tc:string(0),0),
+ ["frodo", "bilbo", "sam", "gummo"]))))),
+
+ %% Accept only recent events (e.g., generated within the last 15 minutes or so).
+ {ok,_T3} = ?match({ok, _}, create_filter("$origination_timestamp.high + 2 < $curtime.high")),
+
+
+ %% Accept students that took all 3 tests and had an average score of at least 80%.
+ {ok,T4} = ?match({ok, _}, create_filter("$.test._length == 3 and ($.test[0].score + $.test[1].score + $.test[2].score)/3 >=80")),
+ ?match(true, eval(T4, ?not_CreateSE("DomainName","TypeName", "EventName", [], [],
+ any:create(orber_tc:alias("IFRId","test",tk_any),
+ any:create(orber_tc:array(notify_test_data:tc(),0),
+ {#notify_test_data{score=75},
+ #notify_test_data{score=80},
+ #notify_test_data{score=85}}))))),
+ ?match(false, eval(T4, ?not_CreateSE("DomainName","TypeName", "EventName", [], [],
+ any:create(orber_tc:alias("IFRId","test",tk_any),
+ any:create(orber_tc:array(notify_test_data:tc(),0),
+ {#notify_test_data{score=75},
+ #notify_test_data{score=80},
+ #notify_test_data{score=80}}))))),
+ ?match(false, eval(T4, ?not_CreateSE("DomainName","TypeName", "EventName", [], [],
+ any:create(orber_tc:alias("IFRId","test",tk_any),
+ any:create(orber_tc:array(notify_test_data:tc(),0),
+ {#notify_test_data{score=75},
+ #notify_test_data{score=80}}))))),
+
+ %% Select processes that exceed a certain usage threshold.
+ {ok,T5} = ?match({ok, _}, create_filter("$.memsize / 5.5 + $.cputime * 1275.0 + $.filesize * 1.25 > 500000.0")),
+ ?match(true, eval(T5, ?not_CreateSE("DomainName","TypeName", "EventName", [], [],
+ any:create(notify_test_computer:tc(),
+ #notify_test_computer
+ {memsize=5.5,
+ cputime = 0.00078431137,
+ filesize = 500000})))),
+ ?match(false, eval(T5, ?not_CreateSE("DomainName","TypeName", "EventName", [], [],
+ any:create(notify_test_computer:tc(),
+ #notify_test_computer
+ {memsize=5.5,
+ cputime = 0.00078431137,
+ filesize = 500})))),
+ ?match({error,_}, eval(T5, ?not_CreateSE("DomainName","TypeName", "EventName", [], [],
+ any:create(notify_test_computer:tc(),
+ #notify_test_computer
+ {memsize=5.5,
+ cputime = 0.00078431137})))),
+
+ %% Accept only Notification Service structured events.
+ {ok,T6} = ?match({ok, _}, create_filter("$._repos_id == 'IDL:omg.org/CosNotification/StructuredEvent:1.0'")),
+ ?match(true, eval(T6, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "EventName",
+ [], [], any:create(orber_tc:null(), null)))),
+
+
+
+ %% Accept only those events that have a specified security "rights list".
+ {ok,T7} = ?match({ok, _}, create_filter("exist $.header.variable_header(required_rights)")),
+ ?match(false, eval(T7, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)))),
+ ?match(true, eval(T7, ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet",
+ [#'CosNotification_Property'{name="required_rights",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)))),
+
+
+ {ok,T8} = ?match({ok, _}, create_filter("$.header.fixed_header.event_type.type_name == 'CommunicationsAlarm' and $.header.fixed_header.event_name == 'lost_packet' and $.header.variable_header(priority) < 2")),
+ %% All correct
+ Event1 = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+ %% Priority to high
+ Event2 = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 2)}],
+ [], any:create(orber_tc:null(), null)),
+ %% Misspell event_name, i.e., lost_packets instead of lost_packet
+ Event3 = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packets",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+ %% Another type_name
+ Event4 = ?not_CreateSE("DomainName","TemperatureAlarm",
+ "lost_packets",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+
+ ?match(true, eval(T8, Event1)),
+ ?match(false, eval(T8, Event2)),
+ ?match(false, eval(T8, Event3)),
+ ?match(false, eval(T8, Event4)),
+
+
+ {ok,T9} = ?match({ok, _}, create_filter("$.gpa < 80 or $.tests(midterm) > $.tests(final) or $.monthly_attendance[3] < 10")),
+
+ %% midterm > final yields true, the others false
+ Event5 = ?not_CreateSE("DomainName","TypeName",
+ "EventName", [], [],
+ any:create(notify_test_studies:tc(), #notify_test_studies
+ {gpa = 90,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 60)}],
+ monthly_attendance = {0,1,2,10}})),
+ %% monthly_attendance[3] < 10 yields true, the others false
+ Event6 = ?not_CreateSE("DomainName","TypeName",
+ "EventName", [], [],
+ any:create(notify_test_studies:tc(), #notify_test_studies
+ {gpa = 90,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 80)}],
+ monthly_attendance = {0,1,2,9}})),
+ %% gpa < 80 true, rest false.
+ Event7 = ?not_CreateSE("DomainName","TypeName",
+ "EventName", [], [],
+ any:create(notify_test_studies:tc(), #notify_test_studies
+ {gpa = 70,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 80)}],
+ monthly_attendance = {0,1,2,10}})),
+ %% All false
+ Event8 = ?not_CreateSE("DomainName","TypeName",
+ "EventName", [], [],
+ any:create(notify_test_studies:tc(), #notify_test_studies
+ {gpa = 80,
+ tests = [#'CosNotification_Property'
+ {name="midterm", value=any:create(orber_tc:short(), 70)},
+ #'CosNotification_Property'
+ {name="final", value=any:create(orber_tc:short(), 80)}],
+ monthly_attendance = {0,1,2,10}})),
+
+ ?match(true, eval(T9, Event5)),
+ ?match(true, eval(T9, Event6)),
+ ?match(true, eval(T9, Event7)),
+ ?match(false, eval(T9, Event8)),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Internal functions
+%%-----------------------------------------------------------------
+
+%%-------------------- End of Module ------------------------------
diff --git a/lib/cosNotification/test/notification_SUITE.erl b/lib/cosNotification/test/notification_SUITE.erl
new file mode 100644
index 0000000000..e2c560e4de
--- /dev/null
+++ b/lib/cosNotification/test/notification_SUITE.erl
@@ -0,0 +1,2185 @@
+%%--------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%--------------------------------------------------------------------
+%% File : notification_SUITE.erl
+%% Purpose :
+%%--------------------------------------------------------------------
+
+-module(notification_SUITE).
+
+%%--------------- INCLUDES -----------------------------------
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/include/ifr_types.hrl").
+%% cosEvent files.
+-include_lib("cosEvent/include/CosEventChannelAdmin.hrl").
+%% Application files
+-include_lib("cosNotification/include/CosNotification.hrl").
+-include_lib("cosNotification/include/CosNotifyChannelAdmin.hrl").
+-include_lib("cosNotification/include/CosNotifyComm.hrl").
+-include_lib("cosNotification/include/CosNotifyFilter.hrl").
+
+-include_lib("cosNotification/src/CosNotification_Definitions.hrl").
+
+-include("idl_output/notify_test.hrl").
+
+-include("test_server.hrl").
+
+%%--------------- DEFINES ------------------------------------
+-define(default_timeout, ?t:minutes(20)).
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(defaultQoS,
+ [#'CosNotification_Property'{name='CosNotification':'MaximumBatchSize'(),
+ value=any:create(orber_tc:long(), 100)},
+ #'CosNotification_Property'{name='CosNotification':'PacingInterval'(),
+ value=any:create(orber_tc:unsigned_long_long(),
+ 20000000)},
+ #'CosNotification_Property'{name='CosNotification':'OrderPolicy'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'AnyOrder'())},
+ #'CosNotification_Property'{name='CosNotification':'EventReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'BestEffort'())},
+ #'CosNotification_Property'{name='CosNotification':'ConnectionReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'BestEffort'())},
+ #'CosNotification_Property'{name='CosNotification':'DiscardPolicy'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'AnyOrder'())},
+ #'CosNotification_Property'{name='CosNotification':'StartTimeSupported'(),
+ value=any:create(orber_tc:boolean(), false)},
+ #'CosNotification_Property'{name='CosNotification':'StopTimeSupported'(),
+ value=any:create(orber_tc:boolean(), false)},
+ #'CosNotification_Property'{name='CosNotification':'Priority'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'DefaultPriority'())}]).
+-define(defaultQoS2,
+ [#'CosNotification_Property'{name='CosNotification':'MaximumBatchSize'(),
+ value=any:create(orber_tc:long(), 1)},
+ #'CosNotification_Property'{name='CosNotification':'PacingInterval'(),
+ value=any:create(orber_tc:unsigned_long_long(),
+ 0)},
+ #'CosNotification_Property'{name='CosNotification':'OrderPolicy'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'AnyOrder'())},
+ #'CosNotification_Property'{name='CosNotification':'EventReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'BestEffort'())},
+ #'CosNotification_Property'{name='CosNotification':'ConnectionReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'BestEffort'())},
+ #'CosNotification_Property'{name='CosNotification':'DiscardPolicy'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'AnyOrder'())},
+ #'CosNotification_Property'{name='CosNotification':'StartTimeSupported'(),
+ value=any:create(orber_tc:boolean(), false)},
+ #'CosNotification_Property'{name='CosNotification':'StopTimeSupported'(),
+ value=any:create(orber_tc:boolean(), false)},
+ #'CosNotification_Property'{name='CosNotification':'Priority'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'DefaultPriority'())}]).
+-define(defaultAdm,
+ [#'CosNotification_Property'{name='CosNotification':'MaxQueueLength'(),
+ value=any:create(orber_tc:long(), 100)},
+ #'CosNotification_Property'{name='CosNotification':'MaxConsumers'(),
+ value=any:create(orber_tc:long(), 100)},
+ #'CosNotification_Property'{name='CosNotification':'MaxSuppliers'(),
+ value=any:create(orber_tc:long(), 100)}]).
+
+-define(FAC_OPT, []).
+
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1, qos_api/1, adm_api/1,
+ cosevent_api/1, filter_adm_api/1, events_api/1, events2_api/1,
+ event_qos_api/1, filter_api/1, mapping_filter_api/1, subscription_api/1,
+ init_per_testcase/2, fin_per_testcase/2, persistent_max_events_api/1,
+ persistent_timeout_events_api/1, persistent_recover_events_api/1,
+ app_test/1]).
+
+-export([terminated/1]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for the cosNotification interfaces", ""];
+all(suite) -> {req,
+ [mnesia, orber],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [persistent_max_events_api, persistent_timeout_events_api,
+ persistent_recover_events_api, mapping_filter_api, filter_api, filter_adm_api,
+ event_qos_api, qos_api, adm_api, cosevent_api, subscription_api,
+ events_api, events2_api, app_test].
+
+
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ok = corba:orb_init([{flags, 16#02}, {orber_debug_level, 10}]),
+ orber:jump_start(),
+ cosNotificationApp:install_event(),
+ cosNotificationApp:install(),
+ 'oe_notify_test_server':'oe_register'(),
+ cosNotificationApp:start(),
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ cosNotificationApp:stop(),
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ 'oe_notify_test_server':'oe_unregister'(),
+ cosNotificationApp:uninstall(),
+ cosNotificationApp:uninstall_event(),
+ orber:jump_stop(),
+ Config.
+
+
+%%-----------------------------------------------------------------
+%% Tests app file
+%%-----------------------------------------------------------------
+app_test(doc) -> [];
+app_test(suite) -> [];
+app_test(_Config) ->
+ ok=test_server:app_test(cosNotification),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Persistent events max limit
+%%-----------------------------------------------------------------
+persistent_max_events_api(doc) -> ["CosNotification QoS EventReliability Persistent",
+ ""];
+persistent_max_events_api(suite) -> [];
+persistent_max_events_api(_Config) ->
+ QoSPersistent =
+ [#'CosNotification_Property'{name='CosNotification':'ConnectionReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'Persistent'())}],
+ QoSEventPersistent =
+ [#'CosNotification_Property'{name='CosNotification':'EventReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'Persistent'())}],
+ application:set_env(cosNotification, notify, ?MODULE),
+ application:set_env(cosNotification, max_events, 2),
+ application:set_env(cosNotification, timeout_events, 300000),
+ application:set_env(cosNotification, interval_events, 10000),
+ %% Initialize the application.
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+ {Ch, _Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS2, ?defaultAdm)),
+ ?match({_,key,_,_,_,_}, Ch),
+
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSEventPersistent)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSPersistent)),
+
+ %% Create the Admin objects
+ {AdminSupplier, _ASID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_suppliers(Ch,'AND_OP')),
+ {AdminConsumer, _ACID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch,'AND_OP')),
+
+ %% Create Proxies and clients
+ {SequenceProxyPushSupplier,_ID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_push_supplier(AdminConsumer, 'SEQUENCE_EVENT')),
+ PushSeqC=?match({_,key,_,_,_,_}, 'notify_test_SeqPushC':oe_create(['PUSH_SEQUENCE',SequenceProxyPushSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':connect_sequence_push_consumer(SequenceProxyPushSupplier, PushSeqC)),
+
+ {SequenceProxyPushConsumer,_ID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_push_consumer(AdminSupplier, 'SEQUENCE_EVENT')),
+ PushSeqS=?match({_,key,_,_,_,_}, 'notify_test_SeqPushS':oe_create(['PUSH_SEQUENCE',SequenceProxyPushConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':connect_sequence_push_supplier(SequenceProxyPushConsumer, PushSeqS)),
+
+ %% Create a couple of Events to test with.
+ Event = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+
+ ?match(ok, 'notify_test_SeqPushC':doAction(PushSeqC, {action, action})),
+
+ %% Push and check the state.
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushConsumer':push_structured_events(SequenceProxyPushConsumer, [Event])),
+ ?match([], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+ ?match(false, corba_object:non_existent(SequenceProxyPushSupplier)),
+
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushConsumer':push_structured_events(SequenceProxyPushConsumer, [Event])),
+ ?match([], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+ ?match(false, corba_object:non_existent(SequenceProxyPushSupplier)),
+ %% Now we've reached the limit. This call will terminate the proxy.
+ %% We cannot check for data at this point since the broken connection
+ %% will result in that the client terminates.
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushConsumer':push_structured_events(SequenceProxyPushConsumer, [Event])),
+ timer:sleep(5000),
+ ?match(true, corba_object:non_existent(SequenceProxyPushSupplier)),
+ ?match(true, corba_object:non_existent(PushSeqC)),
+
+
+ catch corba:dispose(SequenceProxyPushConsumer),
+ catch corba:dispose(SequenceProxyPushSupplier),
+ catch corba:dispose(AdminConsumer),
+ catch corba:dispose(AdminSupplier),
+ catch corba:dispose(Ch),
+ catch cosNotificationApp:stop_factory(Fac),
+ catch corba:dispose(PushSeqS),
+ catch corba:dispose(PushSeqC),
+ application:set_env(cosNotification, notify, undefined),
+ application:set_env(cosNotification, max_events, undefined),
+ application:set_env(cosNotification, timeout_events, undefined),
+ application:set_env(cosNotification, interval_events, undefined),
+ ok.
+
+terminated(Items) ->
+ io:format("Proxy terminated due to: ~p~n", [Items]).
+
+%%-----------------------------------------------------------------
+%% Persistent events timeout
+%%-----------------------------------------------------------------
+persistent_timeout_events_api(doc) ->
+ ["CosNotification QoS EventReliability Persistent",
+ ""];
+persistent_timeout_events_api(suite) -> [];
+persistent_timeout_events_api(_Config) ->
+ QoSPersistent =
+ [#'CosNotification_Property'{name='CosNotification':'ConnectionReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'Persistent'())}],
+ QoSEventPersistent =
+ [#'CosNotification_Property'{name='CosNotification':'EventReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'Persistent'())}],
+ application:set_env(cosNotification, notify, ?MODULE),
+ application:set_env(cosNotification, max_events, 1000),
+ application:set_env(cosNotification, timeout_events, 4000),
+ application:set_env(cosNotification, interval_events, 1000),
+ %% Initialize the application.
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+ {Ch, _Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS2, ?defaultAdm)),
+ ?match({_,key,_,_,_,_}, Ch),
+
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSEventPersistent)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSPersistent)),
+
+ %% Create the Admin objects
+ {AdminSupplier, _ASID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_suppliers(Ch,'AND_OP')),
+ {AdminConsumer, _ACID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch,'AND_OP')),
+
+ %% Create Proxies and clients
+ {SequenceProxyPushSupplier,_ID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_push_supplier(AdminConsumer, 'SEQUENCE_EVENT')),
+ PushSeqC=?match({_,key,_,_,_,_}, 'notify_test_SeqPushC':oe_create(['PUSH_SEQUENCE',SequenceProxyPushSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':connect_sequence_push_consumer(SequenceProxyPushSupplier, PushSeqC)),
+
+ {SequenceProxyPushConsumer,_ID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_push_consumer(AdminSupplier, 'SEQUENCE_EVENT')),
+ PushSeqS=?match({_,key,_,_,_,_}, 'notify_test_SeqPushS':oe_create(['PUSH_SEQUENCE',SequenceProxyPushConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':connect_sequence_push_supplier(SequenceProxyPushConsumer, PushSeqS)),
+
+ %% Create a couple of Events to test with.
+ Event = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+
+ ?match(ok, 'notify_test_SeqPushC':doAction(PushSeqC, {action, action})),
+
+ %% Push and check the state.
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushConsumer':push_structured_events(SequenceProxyPushConsumer, [Event])),
+ ?match([], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+ ?match(false, corba_object:non_existent(SequenceProxyPushSupplier)),
+
+ %% Now we've reached the limit. This call will terminate the proxy.
+ %% We cannot check for data at this point since the broken connection
+ %% will result in that the client terminates.
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushConsumer':push_structured_events(SequenceProxyPushConsumer, [Event])),
+ timer:sleep(10000),
+ ?match(true, corba_object:non_existent(SequenceProxyPushSupplier)),
+ ?match(true, corba_object:non_existent(PushSeqC)),
+
+
+ catch corba:dispose(SequenceProxyPushConsumer),
+ catch corba:dispose(SequenceProxyPushSupplier),
+ catch corba:dispose(AdminConsumer),
+ catch corba:dispose(AdminSupplier),
+ catch corba:dispose(Ch),
+ catch cosNotificationApp:stop_factory(Fac),
+ catch corba:dispose(PushSeqS),
+ catch corba:dispose(PushSeqC),
+ application:set_env(cosNotification, notify, undefined),
+ application:set_env(cosNotification, max_events, undefined),
+ application:set_env(cosNotification, timeout_events, undefined),
+ application:set_env(cosNotification, interval_events, undefined),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Persistent events max limit
+%%-----------------------------------------------------------------
+persistent_recover_events_api(doc) ->
+ ["CosNotification QoS EventReliability Persistent",
+ ""];
+persistent_recover_events_api(suite) -> [];
+persistent_recover_events_api(_Config) ->
+ QoSPersistent =
+ [#'CosNotification_Property'{name='CosNotification':'ConnectionReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'Persistent'())}],
+ QoSEventPersistent =
+ [#'CosNotification_Property'{name='CosNotification':'EventReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'Persistent'())}],
+ application:set_env(cosNotification, notify, ?MODULE),
+ application:set_env(cosNotification, max_events, 1000),
+ application:set_env(cosNotification, timeout_events, 100000),
+ application:set_env(cosNotification, interval_events, 1000),
+ %% Initialize the application.
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+ {Ch, _Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS2, ?defaultAdm)),
+ ?match({_,key,_,_,_,_}, Ch),
+
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSEventPersistent)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSPersistent)),
+
+ %% Create the Admin objects
+ {AdminSupplier, _ASID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_suppliers(Ch,'AND_OP')),
+ {AdminConsumer, _ACID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch,'AND_OP')),
+
+ %% Create Proxies and clients
+ {SequenceProxyPushSupplier,_ID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_push_supplier(AdminConsumer, 'SEQUENCE_EVENT')),
+ PushSeqC=?match({_,key,_,_,_,_}, 'notify_test_SeqPushC':oe_create(['PUSH_SEQUENCE',SequenceProxyPushSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':connect_sequence_push_consumer(SequenceProxyPushSupplier, PushSeqC)),
+
+ {SequenceProxyPushConsumer,_ID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_push_consumer(AdminSupplier, 'SEQUENCE_EVENT')),
+ PushSeqS=?match({_,key,_,_,_,_}, 'notify_test_SeqPushS':oe_create(['PUSH_SEQUENCE',SequenceProxyPushConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':connect_sequence_push_supplier(SequenceProxyPushConsumer, PushSeqS)),
+
+ %% Create a couple of Events to test with.
+ Event = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+
+ ?match(ok, 'notify_test_SeqPushC':doAction(PushSeqC, {action, action})),
+
+ %% Push and check the state.
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushConsumer':push_structured_events(SequenceProxyPushConsumer, [Event])),
+ ?match([], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+ ?match(false, corba_object:non_existent(SequenceProxyPushSupplier)),
+ %% Allow the proxy to try a few times and then change the client behavior
+ timer:sleep(4000),
+ ?match(ok, 'notify_test_SeqPushC':doAction(PushSeqC, {action, undefined})),
+ %% Wait some time so that the proxy timeout has kicked in.
+ timer:sleep(4000),
+
+ %% Now the communication should work again.
+ ?match([Event], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+ ?match(false, corba_object:non_existent(SequenceProxyPushSupplier)),
+
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushConsumer':push_structured_events(SequenceProxyPushConsumer, [Event])),
+ timer:sleep(4000),
+ ?match([Event], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ catch corba:dispose(SequenceProxyPushConsumer),
+ catch corba:dispose(SequenceProxyPushSupplier),
+ catch corba:dispose(AdminConsumer),
+ catch corba:dispose(AdminSupplier),
+ catch corba:dispose(Ch),
+ catch cosNotificationApp:stop_factory(Fac),
+ catch corba:dispose(PushSeqS),
+ catch corba:dispose(PushSeqC),
+ application:set_env(cosNotification, notify, undefined),
+ application:set_env(cosNotification, max_events, undefined),
+ application:set_env(cosNotification, timeout_events, undefined),
+ application:set_env(cosNotification, interval_events, undefined),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% CosNotifyFilter::Filter API tests
+%%-----------------------------------------------------------------
+mapping_filter_api(doc) -> ["CosNotifyFilter::MappingFilter API tests.", ""];
+mapping_filter_api(suite) -> [];
+mapping_filter_api(_Config) ->
+ FiFac = 'CosNotifyFilter_FilterFactory':oe_create(),
+ ?match({_,key,_,_,_,_}, FiFac),
+
+ Filter = 'CosNotifyFilter_FilterFactory':create_mapping_filter(FiFac,
+ "EXTENDED_TCL",
+ any:create(orber_tc:short(), 10)),
+ ?match({_,key,_,_,_,_}, Filter),
+
+ ?match("EXTENDED_TCL", 'CosNotifyFilter_MappingFilter':'_get_constraint_grammar'(Filter)),
+
+ %% Test before we add any constarints.
+ ?match([], 'CosNotifyFilter_MappingFilter':get_all_mapping_constraints(Filter)),
+ ?match({'EXCEPTION', {'CosNotifyFilter_ConstraintNotFound', _, 1}},
+ 'CosNotifyFilter_MappingFilter':get_mapping_constraints(Filter, [1])),
+ ?match(ok, 'CosNotifyFilter_MappingFilter':remove_all_mapping_constraints(Filter)),
+
+ %% Try adding an incorrect constraint_expr
+ ?match({'EXCEPTION',{'CosNotifyFilter_InvalidConstraint',_,_}},
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(Filter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "name",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<"},
+ result_to_set = any:create(orber_tc:short(), 10)}])),
+ %% Try adding two correct constraint_expr
+ ?line[{_,_,CID1,_},{_,_,CID2,_}]=
+ ?match([{'CosNotifyFilter_MappingConstraintInfo',_,_,_}, {'CosNotifyFilter_MappingConstraintInfo',_,_,_}],
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(Filter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "name",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<4"},
+ result_to_set = any:create(orber_tc:short(), 10)},
+ #'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "name2",
+ type_name = "type2"}],
+ constraint_expr = "$.test._length == 3 and ($.test[0].score + $.test[1].score + $.test[2].score)/3 >=80"},
+ result_to_set = any:create(orber_tc:short(), 10)}])),
+
+ ?match([{'CosNotifyFilter_MappingConstraintInfo',_,CID2,_}, {'CosNotifyFilter_MappingConstraintInfo',_,CID1,_}],
+ 'CosNotifyFilter_MappingFilter':get_all_mapping_constraints(Filter)),
+ ?match([{'CosNotifyFilter_MappingConstraintInfo',_,CID1,_}],
+ 'CosNotifyFilter_MappingFilter':get_mapping_constraints(Filter, [CID1])),
+ ?match(ok, 'CosNotifyFilter_MappingFilter':remove_all_mapping_constraints(Filter)),
+ ?match([], 'CosNotifyFilter_MappingFilter':get_all_mapping_constraints(Filter)),
+
+ %% Try adding a constraint_expr with using invalid value, i.e., not short.
+ ?match({'EXCEPTION',{'CosNotifyFilter_InvalidValue',_,_,_}},
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(Filter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "name",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<8"},
+ result_to_set = any:create(orber_tc:long(), 10)}])),
+
+ %% Try adding one correct and one incorrect constraint_expr
+ ?match({'EXCEPTION',{'CosNotifyFilter_InvalidConstraint',_,_}},
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(Filter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "name",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<"},
+ result_to_set = any:create(orber_tc:short(), 10)},
+ #'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "name2",
+ type_name = "type2"}],
+ constraint_expr = "$.test._length == 3 and ($.test[0].score + $.test[1].score + $.test[2].score)/3 >=80"},
+ result_to_set = any:create(orber_tc:short(), 10)}])),
+
+ %% Following testcases test different domain_name and type_name, e.g.,
+ %% wildcards etc.
+ [{_,ConInfoData,CID3,_}] =
+ ?match([{'CosNotifyFilter_MappingConstraintInfo',_,_,_}],
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(Filter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "domain",
+ type_name = ""},
+ #'CosNotification_EventType'
+ {domain_name = "*",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<4"},
+ result_to_set = any:create(orber_tc:short(), 10)}])),
+
+ %% Try removing a constraint
+ ?match(ok, 'CosNotifyFilter_MappingFilter':modify_mapping_constraints(Filter,[CID3],[])),
+ ?match([], 'CosNotifyFilter_MappingFilter':get_all_mapping_constraints(Filter)),
+
+ %% Add e new constraint
+ [{_,_,CID4,_}] =
+ ?match([{'CosNotifyFilter_MappingConstraintInfo',_,_,_}],
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(Filter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "domain1",
+ type_name = ""},
+ #'CosNotification_EventType'
+ {domain_name = "domain2",
+ type_name = "*"}],
+ constraint_expr = "2==2 and 3<4"},
+ result_to_set = any:create(orber_tc:short(), 10)}])),
+
+ %% Try to update the constraint associated with CID4 to equal CID3.
+ ?match(ok, 'CosNotifyFilter_MappingFilter':modify_mapping_constraints(Filter,[],
+ [#'CosNotifyFilter_MappingConstraintInfo'
+ {constraint_expression=
+ #'CosNotifyFilter_ConstraintExp'
+ {event_types =[#'CosNotification_EventType'
+ {domain_name = "domain",
+ type_name = ""},
+ #'CosNotification_EventType'
+ {domain_name = "*",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<4"},
+ constraint_id=CID4,
+ value = any:create(orber_tc:short(), 10)}])),
+
+ ?match([{_,ConInfoData,CID4,_}], 'CosNotifyFilter_MappingFilter':get_all_mapping_constraints(Filter)),
+
+ ?match({'EXCEPTION', {'CosNotifyFilter_ConstraintNotFound', _, CID3}},
+ 'CosNotifyFilter_MappingFilter':get_mapping_constraints(Filter, [CID3])),
+ ?match(ok, 'CosNotifyFilter_MappingFilter':remove_all_mapping_constraints(Filter)),
+ ?match([], 'CosNotifyFilter_MappingFilter':get_all_mapping_constraints(Filter)),
+
+ ?match([{'CosNotifyFilter_MappingConstraintInfo',_,_,_}],
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(Filter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "",
+ type_name = "type1"},
+ #'CosNotification_EventType'
+ {domain_name = "*",
+ type_name = "type2"}],
+ constraint_expr = "2==2 and 3<4"},
+ result_to_set = any:create(orber_tc:short(), 10)}])),
+
+ ?match([{'CosNotifyFilter_MappingConstraintInfo',_,_,_}],
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(Filter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "domain1",
+ type_name = "type1"},
+ #'CosNotification_EventType'
+ {domain_name = "domain2",
+ type_name = "type2"}],
+ constraint_expr = "2==2 and 3<4"},
+ result_to_set = any:create(orber_tc:short(), 10)}])),
+
+ ?match([{'CosNotifyFilter_MappingConstraintInfo',_,_,_}],
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(Filter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "dom*",
+ type_name = "type1"},
+ #'CosNotification_EventType'
+ {domain_name = "domain2",
+ type_name = "typ*"}],
+ constraint_expr = "2==2 and 3<4"},
+ result_to_set = any:create(orber_tc:short(), 10)}])),
+
+ ?match([{'CosNotifyFilter_MappingConstraintInfo',_,_,_}],
+ 'CosNotifyFilter_MappingFilter':add_mapping_constraints(Filter,
+ [#'CosNotifyFilter_MappingConstraintPair'
+ {constraint_expression = #'CosNotifyFilter_ConstraintExp'
+ {event_types = [#'CosNotification_EventType'
+ {domain_name = "dom*1",
+ type_name = "type1"},
+ #'CosNotification_EventType'
+ {domain_name = "domain2",
+ type_name = "typ*2"}],
+ constraint_expr = "2==2 and 3<4"},
+ result_to_set = any:create(orber_tc:short(), 10)}])),
+
+ catch corba:dispose(FiFac),
+ catch corba:dispose(Filter),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% CosNotifyFilter::Filter API tests
+%%-----------------------------------------------------------------
+filter_api(doc) -> ["CosNotifyFilter::Filter API tests.", ""];
+filter_api(suite) -> [];
+filter_api(_Config) ->
+ Fac = cosNotificationApp:start_global_factory(?FAC_OPT),
+ ?match({_,key,_,_,_,_}, Fac),
+ {Ch, _Id1} = 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS, ?defaultAdm),
+ AC= 'CosNotifyChannelAdmin_EventChannel':for_consumers(Ch),
+
+ FiFac = 'CosNotifyFilter_FilterFactory':oe_create(),
+ ?match({_,key,_,_,_,_}, FiFac),
+
+ Filter = 'CosNotifyFilter_FilterFactory':create_filter(FiFac,"EXTENDED_TCL"),
+ ?match({_,key,_,_,_,_}, Filter),
+
+ ?match("EXTENDED_TCL", 'CosNotifyFilter_Filter':'_get_constraint_grammar'(Filter)),
+
+ %% Test Callback management.
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}},
+ 'CosNotifyFilter_Filter':attach_callback(Filter, Ch)),
+ ?match([], 'CosNotifyFilter_Filter':get_callbacks(Filter)),
+ ?match({'EXCEPTION',{'CosNotifyFilter_CallbackNotFound',_}},
+ 'CosNotifyFilter_Filter':detach_callback(Filter, 0)),
+ ID='CosNotifyFilter_Filter':attach_callback(Filter, AC),
+ ?match([ID], 'CosNotifyFilter_Filter':get_callbacks(Filter)),
+ ?match(ok, 'CosNotifyFilter_Filter':detach_callback(Filter, ID)),
+ ?match([], 'CosNotifyFilter_Filter':get_callbacks(Filter)),
+
+ %% This callback is just attached so we can test that we can call notify_subscribe.
+ _ID2='CosNotifyFilter_Filter':attach_callback(Filter, AC),
+
+ %% Test before we add any constarints.
+ ?match([], 'CosNotifyFilter_Filter':get_all_constraints(Filter)),
+ ?match({'EXCEPTION', {'CosNotifyFilter_ConstraintNotFound', _, 1}},
+ 'CosNotifyFilter_Filter':get_constraints(Filter, [1])),
+ ?match(ok, 'CosNotifyFilter_Filter':remove_all_constraints(Filter)),
+
+ %% Try adding an incorrect constraint_expr
+ ?match({'EXCEPTION',{'CosNotifyFilter_InvalidConstraint',_,_}},
+ 'CosNotifyFilter_Filter':add_constraints(Filter,
+ [#'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "name",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<"}])),
+ %% Try adding two correct constraint_expr
+ ?line[{_,_,CID1},{_,_,CID2}]=
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,_}, {'CosNotifyFilter_ConstraintInfo',_,_}],
+ 'CosNotifyFilter_Filter':add_constraints(Filter,
+ [#'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "name",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<4"},
+ #'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "name2",
+ type_name = "type2"}],
+ constraint_expr = "$.test._length == 3 and ($.test[0].score + $.test[1].score + $.test[2].score)/3 >=80"}])),
+
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,CID2}, {'CosNotifyFilter_ConstraintInfo',_,CID1}],
+ 'CosNotifyFilter_Filter':get_all_constraints(Filter)),
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,CID1}],
+ 'CosNotifyFilter_Filter':get_constraints(Filter, [CID1])),
+ ?match(ok, 'CosNotifyFilter_Filter':remove_all_constraints(Filter)),
+ ?match([], 'CosNotifyFilter_Filter':get_all_constraints(Filter)),
+
+ %% Try adding one correct and one incorrect constraint_expr
+ ?match({'EXCEPTION',{'CosNotifyFilter_InvalidConstraint',_,_}},
+ 'CosNotifyFilter_Filter':add_constraints(Filter,
+ [#'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "name",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<"},
+ #'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "name2",
+ type_name = "type2"}],
+ constraint_expr = "$.test._length == 3 and ($.test[0].score + $.test[1].score + $.test[2].score)/3 >=80"}])),
+
+ %% Following testcases test different domain_name and type_name, e.g.,
+ %% wildcards etc.
+ [{_,ConInfoData,CID3}] =
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,_}],
+ 'CosNotifyFilter_Filter':add_constraints(Filter,
+ [#'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "domain",
+ type_name = ""},
+ #'CosNotification_EventType'{
+ domain_name = "*",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<4"}])),
+
+ %% Try removing a constraint
+ ?match(ok, 'CosNotifyFilter_Filter':modify_constraints(Filter,[CID3],[])),
+ ?match([], 'CosNotifyFilter_Filter':get_all_constraints(Filter)),
+
+ %% Add e new constraint
+ [{_,_,CID4}] =
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,_}],
+ 'CosNotifyFilter_Filter':add_constraints(Filter,
+ [#'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "domain1",
+ type_name = ""},
+ #'CosNotification_EventType'{
+ domain_name = "domain2",
+ type_name = "*"}],
+ constraint_expr = "2==2 and 3<4"}])),
+
+ %% Try to update the constraint associated with CID4 to equal CID3.
+ ?match(ok, 'CosNotifyFilter_Filter':modify_constraints(Filter,[],
+ [#'CosNotifyFilter_ConstraintInfo'{constraint_expression=
+ #'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "domain",
+ type_name = ""},
+ #'CosNotification_EventType'{
+ domain_name = "*",
+ type_name = "type"}],
+ constraint_expr = "2==2 and 3<4"},
+ constraint_id=CID4}])),
+
+ ?match([{_,ConInfoData,CID4}], 'CosNotifyFilter_Filter':get_all_constraints(Filter)),
+
+ ?match({'EXCEPTION', {'CosNotifyFilter_ConstraintNotFound', _, CID3}},
+ 'CosNotifyFilter_Filter':get_constraints(Filter, [CID3])),
+ ?match(ok, 'CosNotifyFilter_Filter':remove_all_constraints(Filter)),
+ ?match([], 'CosNotifyFilter_Filter':get_all_constraints(Filter)),
+
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,_}],
+ 'CosNotifyFilter_Filter':add_constraints(Filter,
+ [#'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "",
+ type_name = "type1"},
+ #'CosNotification_EventType'{
+ domain_name = "*",
+ type_name = "type2"}],
+ constraint_expr = "2==2 and 3<4"}])),
+
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,_}],
+ 'CosNotifyFilter_Filter':add_constraints(Filter,
+ [#'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "domain1",
+ type_name = "type1"},
+ #'CosNotification_EventType'{
+ domain_name = "domain2",
+ type_name = "type2"}],
+ constraint_expr = "2==2 and 3<4"}])),
+
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,_}],
+ 'CosNotifyFilter_Filter':add_constraints(Filter,
+ [#'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "dom*",
+ type_name = "type1"},
+ #'CosNotification_EventType'{
+ domain_name = "domain2",
+ type_name = "typ*"}],
+ constraint_expr = "2==2 and 3<4"}])),
+
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,_}],
+ 'CosNotifyFilter_Filter':add_constraints(Filter,
+ [#'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "dom*1",
+ type_name = "type1"},
+ #'CosNotification_EventType'{
+ domain_name = "domain2",
+ type_name = "typ*2"}],
+ constraint_expr = "2==2 and 3<4"}])),
+
+ catch corba:dispose(FiFac),
+ catch corba:dispose(Filter),
+ catch corba:dispose(AC),
+ catch corba:dispose(Ch),
+ catch corba:dispose(Fac),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Subscription handling API tests
+%%-----------------------------------------------------------------
+subscription_api(doc) -> ["CosNotification subscription handling", ""];
+subscription_api(suite) -> [];
+subscription_api(_Config) ->
+ %% Initialize the application.
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+ {Ch, _Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS, ?defaultAdm)),
+ ?match({_,key,_,_,_,_}, Ch),
+
+ %% Create the Admin objects
+ {AdminSupplier, _ASID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_suppliers(Ch,'OR_OP')),
+ {AdminConsumer, _ACID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch,'OR_OP')),
+
+ %% Create Suppliers Proxies
+ {StructuredProxyPullSupplier,_}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_pull_supplier(AdminConsumer, 'STRUCTURED_EVENT')),
+ {StructuredProxyPushSupplier,_}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_push_supplier(AdminConsumer, 'STRUCTURED_EVENT')),
+
+ %% Now we must create a Client for each proxy and connect them.
+ PushStrC=?match({_,key,_,_,_,_}, 'notify_test_StrPushC':oe_create(['PUSH_STRUCTURED',StructuredProxyPushSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':connect_structured_push_consumer(StructuredProxyPushSupplier, PushStrC)),
+ PullStrC=?match({_,key,_,_,_,_}, 'notify_test_StrPullC':oe_create(['PULL_STRUCTURED',StructuredProxyPullSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':connect_structured_pull_consumer(StructuredProxyPullSupplier, PullStrC)),
+
+ %% Create Consumers Proxies
+ {StructuredProxyPullConsumer,_}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_pull_consumer(AdminSupplier, 'STRUCTURED_EVENT')),
+ {StructuredProxyPushConsumer,_}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_push_consumer(AdminSupplier, 'STRUCTURED_EVENT')),
+
+ %% Now we must create a Client for each proxy and connect them.
+ PushStrS=?match({_,key,_,_,_,_}, 'notify_test_StrPushS':oe_create(['PUSH_STRUCTURED',StructuredProxyPushConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':connect_structured_push_supplier(StructuredProxyPushConsumer, PushStrS)),
+
+ PullStrS=?match({_,key,_,_,_,_}, 'notify_test_StrPullS':oe_create(['PULL_STRUCTURED',StructuredProxyPullConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':connect_structured_pull_supplier(StructuredProxyPullConsumer, PullStrS)),
+
+ ES1=[#'CosNotification_EventType'{domain_name = "name1", type_name = "type1"},
+ #'CosNotification_EventType'{domain_name = "name2", type_name = "type2"}],
+ ES2=[#'CosNotification_EventType'{domain_name = "name3", type_name = "type3"},
+ #'CosNotification_EventType'{domain_name = "name4", type_name = "type4"}],
+
+ %% Initially it should have no associated types. Test that and set that
+ %% all updates should be forwarded to client.
+ ?match([], 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':
+ obtain_subscription_types(StructuredProxyPushConsumer,
+ 'ALL_NOW_UPDATES_ON')),
+ ?match([], 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':
+ obtain_subscription_types(StructuredProxyPullConsumer,
+ 'ALL_NOW_UPDATES_ON')),
+
+ %% Update the offered types.
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':
+ offer_change(StructuredProxyPushConsumer, ES1, [])),
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':
+ offer_change(StructuredProxyPullConsumer, ES1, [])),
+
+ %% To be sure, wait a couple of seconds.
+ timer:sleep(5000),
+ ?match([{'CosNotification_EventType',_,_},
+ {'CosNotification_EventType',_,_}],
+ 'notify_test_StrPushC':doAction(PushStrS, return_data)),
+ ?match([{'CosNotification_EventType',_,_},
+ {'CosNotification_EventType',_,_}],
+ 'notify_test_StrPullC':doAction(PullStrS, return_data)),
+
+ %% Update the offered types. Remove ES1 and add ES2.
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':
+ offer_change(StructuredProxyPushConsumer, ES2, ES1)),
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':
+ offer_change(StructuredProxyPullConsumer, ES2, ES1)),
+
+ %% To be sure, wait a couple of seconds.
+ timer:sleep(5000),
+ ?match([{'CosNotification_EventType',_,_},
+ {'CosNotification_EventType',_,_}],
+ 'notify_test_StrPushC':doAction(PushStrS, return_data)),
+ ?match([{'CosNotification_EventType',_,_},
+ {'CosNotification_EventType',_,_}],
+ 'notify_test_StrPullC':doAction(PullStrS, return_data)),
+
+ %% Now, the objects should only contain 'ES2'. Test it.
+ ?match([{'CosNotification_EventType',_,_},
+ {'CosNotification_EventType',_,_}],
+ 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':
+ obtain_subscription_types(StructuredProxyPushConsumer,
+ 'ALL_NOW_UPDATES_ON')),
+ ?match([{'CosNotification_EventType',_,_},
+ {'CosNotification_EventType',_,_}],
+ 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':
+ obtain_subscription_types(StructuredProxyPullConsumer,
+ 'ALL_NOW_UPDATES_ON')),
+
+ %% Now we will use wildcards, empty strings and test if they really
+ %% are ignored if so requested.
+ ES3=[#'CosNotification_EventType'{domain_name = "name1", type_name = "*"},
+ #'CosNotification_EventType'{domain_name = "*", type_name = "type2"}],
+ ES4=[#'CosNotification_EventType'{domain_name = "name1", type_name = "*"},
+ #'CosNotification_EventType'{domain_name = "name2", type_name = ""}],
+ ES5=[#'CosNotification_EventType'{domain_name = "na*", type_name = "type1"}],
+ ES6=[#'CosNotification_EventType'{domain_name = "n*1", type_name = "type1"}],
+ ES7=[#'CosNotification_EventType'{domain_name = "*1", type_name = "type1"}],
+ ES8=[#'CosNotification_EventType'{domain_name = "n*m*1", type_name = "type1"}],
+ ES9=[#'CosNotification_EventType'{domain_name = "n**1", type_name = "type1"}],
+ ES10=[#'CosNotification_EventType'{domain_name = "nam*1", type_name = "type1"}],
+
+ Event1 = ?not_CreateSE("name1","type1",
+ "event_name",
+ [#'CosNotification_Property'{name="property_name",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+ Event2 = ?not_CreateSE("name2","type1",
+ "event_name",
+ [#'CosNotification_Property'{name="property_name",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+ Event3 = ?not_CreateSE("mame1","type1",
+ "event_name",
+ [#'CosNotification_Property'{name="property_name",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+ Event4 = ?not_CreateSE("naame1","type1",
+ "event_name",
+ [#'CosNotification_Property'{name="property_name",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+ Event5 = ?not_CreateSE("nname1","type1",
+ "event_name",
+ [#'CosNotification_Property'{name="property_name",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+ Event6 = ?not_CreateSE("name12","type1",
+ "event_name",
+ [#'CosNotification_Property'{name="property_name",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':
+ subscription_change(StructuredProxyPullSupplier, ES3, [])),
+
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event1)),
+
+ ?match(Event1, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':
+ subscription_change(StructuredProxyPullSupplier, ES4, ES3)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event1)),
+ ?match(Event1, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':
+ subscription_change(StructuredProxyPullSupplier, ES5, ES4)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event1)),
+ ?match(Event1, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':
+ subscription_change(StructuredProxyPullSupplier, ES6, ES5)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event1)),
+ ?match(Event1, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':
+ subscription_change(StructuredProxyPullSupplier, ES7, ES6)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event1)),
+ ?match(Event1, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':
+ subscription_change(StructuredProxyPullSupplier, ES8, ES7)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event1)),
+ ?match(Event1, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':
+ subscription_change(StructuredProxyPullSupplier, ES9, ES8)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event1)),
+ ?match(Event1, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event2)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event3)),
+
+ timer:sleep(5000),
+ ?match({_NilStrEvent,false}, 'notify_test_StrPullC':doAction(PullStrC, try_pull_str)),
+
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':
+ subscription_change(StructuredProxyPullSupplier, ES10, ES9)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event1)),
+ ?match(Event1, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event4)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event5)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event6)),
+
+ timer:sleep(5000),
+ ?match({_NilStrEvent,false}, 'notify_test_StrPullC':doAction(PullStrC, try_pull_str)),
+
+
+ catch corba:dispose(StructuredProxyPushConsumer),
+ catch corba:dispose(StructuredProxyPullConsumer),
+ catch corba:dispose(StructuredProxyPushSupplier),
+ catch corba:dispose(StructuredProxyPullSupplier),
+ catch corba:dispose(AdminConsumer),
+ catch corba:dispose(AdminSupplier),
+ catch corba:dispose(Ch),
+ catch cosNotificationApp:stop_factory(Fac),
+
+ timer:sleep(5000),
+ ?match(true, corba_object:non_existent(PullStrS)),
+ ?match(true, corba_object:non_existent(PushStrS)),
+ ?match(true, corba_object:non_existent(PullStrC)),
+ ?match(true, corba_object:non_existent(PushStrC)),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Filter admin API tests
+%%-----------------------------------------------------------------
+filter_adm_api(doc) -> ["CosNotification filter admin tests", ""];
+filter_adm_api(suite) -> [];
+filter_adm_api(_Config) ->
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+ {Ch, _Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS, ?defaultAdm)),
+ ?match({_,key,_,_,_,_}, Ch),
+
+ FiFac = 'CosNotifyFilter_FilterFactory':oe_create(),
+ ?match({_,key,_,_,_,_}, FiFac),
+
+ Filter = 'CosNotifyFilter_FilterFactory':create_filter(FiFac,"EXTENDED_TCL"),
+ ?match({_,key,_,_,_,_}, Filter),
+
+ AC=?match({_,key,_,_,_,_},
+ 'CosNotifyChannelAdmin_EventChannel':for_consumers(Ch)),
+ filter_tests('CosNotifyChannelAdmin_ConsumerAdmin', AC, Filter, Ch),
+
+ AS=?match({_,key,_,_,_,_},
+ 'CosNotifyChannelAdmin_EventChannel':for_suppliers(Ch)),
+ filter_tests('CosNotifyChannelAdmin_SupplierAdmin', AS, Filter, Ch),
+
+ PushS=?match({_,key,_,_,_,_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_push_supplier(AC)),
+ filter_tests('CosNotifyChannelAdmin_ProxyPushSupplier', PushS, Filter, Ch),
+
+ PullS=?match({_,key,_,_,_,_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_pull_supplier(AC)),
+ filter_tests('CosNotifyChannelAdmin_ProxyPullSupplier', PullS, Filter, Ch),
+
+ PushC=?match({_,key,_,_,_,_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_push_consumer(AS)),
+ filter_tests('CosNotifyChannelAdmin_ProxyPushConsumer', PushC, Filter, Ch),
+
+ PullC=?match({_,key,_,_,_,_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_pull_consumer(AS)),
+ filter_tests('CosNotifyChannelAdmin_ProxyPullConsumer', PullC, Filter, Ch),
+
+ catch corba:dispose(FiFac),
+ catch corba:dispose(Filter),
+ catch corba:dispose(PushS),
+ catch corba:dispose(PullS),
+ catch corba:dispose(PushC),
+ catch corba:dispose(PullC),
+ catch corba:dispose(AC),
+ catch corba:dispose(AS),
+ catch corba:dispose(Ch),
+ catch cosNotificationApp:stop_factory(Fac),
+ ok.
+
+filter_tests(Mod, Obj, Filter, Ch) ->
+ io:format("############ TESTING MODULE ~p FILTER ############~n", [Mod]),
+ %% No filter added.
+ ?match([], Mod:get_all_filters(Obj)),
+ ?match(ok, Mod:remove_all_filters(Obj)),
+ ?match({'EXCEPTION',{'CosNotifyFilter_FilterNotFound',_}},
+ Mod:get_filter(Obj, 0)),
+ %% Try add a Filter which is not a filter.
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}}, Mod:add_filter(Obj, Ch)),
+ %% Try to remove a single filter.
+ ?match({'EXCEPTION',{'CosNotifyFilter_FilterNotFound',_}},
+ Mod:remove_filter(Obj, 0)),
+ ID = Mod:add_filter(Obj, Filter),
+ ?match([ID], Mod:get_all_filters(Obj)),
+ ?match(Filter, Mod:get_filter(Obj, ID)),
+ ?match(ok, Mod:remove_filter(Obj, ID)),
+ ?match([], Mod:get_all_filters(Obj)),
+ ID2 = Mod:add_filter(Obj, Filter),
+ ?match([ID2], Mod:get_all_filters(Obj)),
+ ?match(ok, Mod:remove_all_filters(Obj)),
+ ?match([], Mod:get_all_filters(Obj)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Creating different event pushing and pulling API tests
+%%-----------------------------------------------------------------
+events_api(doc) -> ["CosNotification event pushing and pulling tests", ""];
+events_api(suite) -> [];
+events_api(_Config) ->
+ %% Initialize the application.
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+ {Ch, Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS, ?defaultAdm)),
+ ?match({_,key,_,_,_,_}, Ch),
+ events_api_helper(Fac, Ch, Id1).
+
+events2_api(doc) -> ["CosNotification event pushing and pulling tests II", ""];
+events2_api(suite) -> [];
+events2_api(_Config) ->
+ %% Initialize the application.
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+ {Ch, Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS2, ?defaultAdm)),
+ ?match({_,key,_,_,_,_}, Ch),
+ events_api_helper(Fac, Ch, Id1).
+
+events_api_helper(Fac, Ch, _Id1) ->
+ %% Now we will set up a test environment, with the following structure:
+ %%
+ %% Channel
+ %% / \
+ %% Supplier Adm Consumer Adm
+ %% / \
+ %% 1 proxy of each possible type
+ %% To each proxy we will connect a test client
+ %% The events will flow in ===>> direction.
+ %%
+ %% For the supplier Admins this include:
+ %% - ProxyPushConsumer
+ %% - SequenceProxyPushConsumer
+ %% - StructuredProxyPushConsumer
+ %% - ProxyPullConsumer
+ %% - SequenceProxyPullConsumer
+ %% - StructuredProxyPullConsumer
+ %%
+ %% For the consumer Admins this include:
+ %% - ProxyPushSupplier
+ %% - SequenceProxyPushSupplier
+ %% - StructuredProxyPushSupplier
+ %% - ProxyPullSupplier
+ %% - SequenceProxyPullSupplier
+ %% - StructuredProxyPullSupplier
+ %%
+ %%
+ %% We will not use any Filters to begin with, just want to make sure we can
+ %% deliver events from all start- to end-points.
+
+ %% Create the Admin objects
+ {AdminSupplier, _ASID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_suppliers(Ch,'AND_OP')),
+ {AdminConsumer, _ACID}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch,'AND_OP')),
+
+ %% Create Suppliers Proxies
+ {ProxyPullSupplier,_ID1}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_pull_supplier(AdminConsumer, 'ANY_EVENT')),
+ {StructuredProxyPullSupplier,_ID2}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_pull_supplier(AdminConsumer, 'STRUCTURED_EVENT')),
+ {SequenceProxyPullSupplier,_ID3}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_pull_supplier(AdminConsumer, 'SEQUENCE_EVENT')),
+
+ {ProxyPushSupplier,_I4D}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_push_supplier(AdminConsumer, 'ANY_EVENT')),
+ {StructuredProxyPushSupplier,_ID5}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_push_supplier(AdminConsumer, 'STRUCTURED_EVENT')),
+ {SequenceProxyPushSupplier,_ID6}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_push_supplier(AdminConsumer, 'SEQUENCE_EVENT')),
+
+ %% Now we must create a Client for each proxy and connect them.
+ PushAnyC=?match({_,key,_,_,_,_}, 'notify_test_AnyPushC':oe_create(['PUSH_ANY', ProxyPushSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_ProxyPushSupplier':connect_any_push_consumer(ProxyPushSupplier, PushAnyC)),
+
+ PushStrC=?match({_,key,_,_,_,_}, 'notify_test_StrPushC':oe_create(['PUSH_STRUCTURED',StructuredProxyPushSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPushSupplier':connect_structured_push_consumer(StructuredProxyPushSupplier, PushStrC)),
+
+ PushSeqC=?match({_,key,_,_,_,_}, 'notify_test_SeqPushC':oe_create(['PUSH_SEQUENCE',SequenceProxyPushSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_SequenceProxyPushSupplier':connect_sequence_push_consumer(SequenceProxyPushSupplier, PushSeqC)),
+
+ PullAnyC=?match({_,key,_,_,_,_}, 'notify_test_AnyPullC':oe_create(['PULL_ANY', ProxyPullSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_ProxyPullSupplier':connect_any_pull_consumer(ProxyPullSupplier, PullAnyC)),
+
+ PullStrC=?match({_,key,_,_,_,_}, 'notify_test_StrPullC':oe_create(['PULL_STRUCTURED',StructuredProxyPullSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullSupplier':connect_structured_pull_consumer(StructuredProxyPullSupplier, PullStrC)),
+
+ PullSeqC=?match({_,key,_,_,_,_}, 'notify_test_SeqPullC':oe_create(['PULL_SEQUENCE',SequenceProxyPullSupplier],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_SequenceProxyPullSupplier':connect_sequence_pull_consumer(SequenceProxyPullSupplier, PullSeqC)),
+
+
+ %% Create Consumers Proxies
+ {ProxyPullConsumer,_ID7}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_pull_consumer(AdminSupplier, 'ANY_EVENT')),
+ {StructuredProxyPullConsumer,_ID8}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_pull_consumer(AdminSupplier, 'STRUCTURED_EVENT')),
+ {SequenceProxyPullConsumer,_ID9}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_pull_consumer(AdminSupplier, 'SEQUENCE_EVENT')),
+
+ {ProxyPushConsumer,_ID10}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_push_consumer(AdminSupplier, 'ANY_EVENT')),
+ {StructuredProxyPushConsumer,_ID11}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_push_consumer(AdminSupplier, 'STRUCTURED_EVENT')),
+ {SequenceProxyPushConsumer,_ID12}=?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_push_consumer(AdminSupplier, 'SEQUENCE_EVENT')),
+
+ %% Now we must create a Client for each proxy and connect them.
+ PushAnyS=?match({_,key,_,_,_,_}, 'notify_test_AnyPushS':oe_create(['PUSH_ANY', ProxyPushConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_ProxyPushConsumer':connect_any_push_supplier(ProxyPushConsumer, PushAnyS)),
+
+ PushStrS=?match({_,key,_,_,_,_}, 'notify_test_StrPushS':oe_create(['PUSH_STRUCTURED',StructuredProxyPushConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':connect_structured_push_supplier(StructuredProxyPushConsumer, PushStrS)),
+
+ PushSeqS=?match({_,key,_,_,_,_}, 'notify_test_SeqPushS':oe_create(['PUSH_SEQUENCE',SequenceProxyPushConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_SequenceProxyPushConsumer':connect_sequence_push_supplier(SequenceProxyPushConsumer, PushSeqS)),
+
+ PullAnyS=?match({_,key,_,_,_,_}, 'notify_test_AnyPullS':oe_create(['PULL_ANY', ProxyPullConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_ProxyPullConsumer':connect_any_pull_supplier(ProxyPullConsumer, PullAnyS)),
+
+ PullStrS=?match({_,key,_,_,_,_}, 'notify_test_StrPullS':oe_create(['PULL_STRUCTURED',StructuredProxyPullConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPullConsumer':connect_structured_pull_supplier(StructuredProxyPullConsumer, PullStrS)),
+
+ PullSeqS=?match({_,key,_,_,_,_}, 'notify_test_SeqPullS':oe_create(['PULL_SEQUENCE',SequenceProxyPullConsumer],
+ [{local_typecheck, false}])),
+ ?match(ok, 'CosNotifyChannelAdmin_SequenceProxyPullConsumer':connect_sequence_pull_supplier(SequenceProxyPullConsumer, PullSeqS)),
+
+
+ %% Create a couple of Events to test with.
+ Event = ?not_CreateSE("DomainName","CommunicationsAlarm",
+ "lost_packet",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 1)}],
+ [], any:create(orber_tc:null(), null)),
+
+ Event2 = ?not_CreateSE("DomainName","TemperatureAlarm",
+ "over_heated",
+ [#'CosNotification_Property'{name="priority",
+ value=any:create(orber_tc:short(), 10)}],
+ [], any:create(orber_tc:null(), null)),
+
+
+ AnyEvent = any:create(orber_tc:long(), 100),
+
+ StrEvent = ?not_CreateSE("","%ANY","",[],[],AnyEvent),
+ NilAnyEvent = any:create(orber_tc:null(), null),
+ NilStrEvent = ?not_CreateSE("","","",[],[],NilAnyEvent),
+
+ ConvertedStr = any:create('CosNotification_StructuredEvent':tc(), Event),
+
+ io:format("###################### PUSH STRUCTURED ########################"),
+
+ %% Test with pushing a structured event.
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, Event)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+
+ %% Check if the Clients have received and stored the events.
+ ?match([{any,_,Event}], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([Event], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([Event], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match({any,_,Event}, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(Event, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([Event], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,1})),
+
+ io:format("###################### PUSH SEQUENCE ########################"),
+
+ %% Create an Event Sequence and push it.
+ EventSeq = [Event, Event2],
+
+ %% Test with pushing a event sequence.
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushConsumer':push_structured_events(SequenceProxyPushConsumer, EventSeq)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match({any,_,Event}, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(Event, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([Event,Event2], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,2})),
+ ?match({any,_,Event2}, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(Event2, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+
+ %% Check if the Push Clients have received and stored the events.
+ ?match([{any,_,Event}, {any,_,Event2}], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([Event, Event2], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([Event, Event2], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ io:format("###################### PUSH ANY ########################"),
+
+ %% Test with pushing an any event.
+ ?match(ok,'CosEventChannelAdmin_ProxyPushConsumer':push(ProxyPushConsumer, AnyEvent)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+
+ %% Check if the Clients have received and stored the events.
+ ?match([AnyEvent], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([StrEvent], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([StrEvent], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match(AnyEvent, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(StrEvent, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([StrEvent], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,10})),
+
+
+
+ io:format("###################### PUSH CONVERTED ANY #############"),
+
+ %% Test with pushing a structured event.
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, StrEvent)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+
+ %% Check if the Clients have received and stored the events.
+ ?match([AnyEvent], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([StrEvent], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([StrEvent], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match(AnyEvent, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(StrEvent, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([StrEvent], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,1})),
+
+
+ io:format("###################### PUSH CONVERTED STRUCTURED ########"),
+
+ %% Test with pushing an any event.
+ ?match(ok,'CosEventChannelAdmin_ProxyPushConsumer':push(ProxyPushConsumer, ConvertedStr)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+
+ %% Check if the Clients have received and stored the events.
+ ?match([ConvertedStr], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([Event], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([Event], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match(ConvertedStr, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(Event, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([Event], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,10})),
+
+
+ io:format("###################### TRY PULL ########################"),
+
+ %% Now we will push an any event after a delay. This means that try_pull-functions,
+ %% since it's not blocking, will return, [], NilAny or NilStructured events and
+ %% the Boolean false.
+ spawn(notify_test_impl, delay, [ProxyPushConsumer, AnyEvent, 20000,
+ 'CosEventChannelAdmin_ProxyPushConsumer',push]),
+ ?match([], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match({NilAnyEvent,false}, 'notify_test_AnyPullC':doAction(PullAnyC, try_pull_any)),
+ ?match({NilStrEvent,false}, 'notify_test_StrPullC':doAction(PullStrC, try_pull_str)),
+ ?match({[],false}, 'notify_test_SeqPullC':doAction(PullSeqC, {try_pull_seq,10})),
+
+
+ %% Instruct the Clients to pull the events and check if they match.
+ %% Pull is blocking so in the print-out we should see that nothing
+ %% is returned until the pushed event reaches the end proxies.
+ ?match(AnyEvent, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(StrEvent, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([StrEvent], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,1})),
+
+ %% To make sure there are no other circumstanses which lead to a delay we
+ %% hold for some time.
+ timer:sleep(5000),
+ %% Check if the Clients have received and stored the events.
+ ?match([AnyEvent], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([StrEvent], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([StrEvent], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ %% Test with pushing a event sequence but only pull sequences of length 1.
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushConsumer':push_structured_events(SequenceProxyPushConsumer, EventSeq)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+ %% Pull 1 event at a time.
+ ?match([Event], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,1})),
+ ?match([Event2], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,1})),
+
+ %% Following cases already tested; done for clean up.
+ ?match({any,_,Event}, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(Event, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match({any,_,Event2}, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(Event2, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([{any,_,Event}, {any,_,Event2}], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([Event, Event2], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([Event, Event2], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+ %% clean up done
+
+
+ io:format("###################### PROXY PULLER ########################"),
+
+ %% Now we will just add Events to a cleint and wait for the Notification service
+ %% to pull the events and forward them to the consumer clients.
+ ?match(ok, 'notify_test_SeqPushC':doAction(PullAnyS, {set_data, [AnyEvent]})),
+
+
+ %% Instruct the Clients to pull the events and check if they match.
+ %% Pull is blocking so in the print-out we should see that nothing
+ %% is returned until the pushed event reaches the end proxies.
+ ?match(AnyEvent, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(StrEvent, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([StrEvent], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,10})),
+
+ %% To make sure there are no other circumstanses which lead to a delay we
+ %% hold for some time.
+ timer:sleep(5000),
+ %% Check if the Clients have received and stored the events.
+ ?match([AnyEvent], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([StrEvent], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([StrEvent], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ io:format("###################### SUSPENDED CONNECTION ################"),
+
+
+ %% Suspend the connections
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushSupplier':suspend_connection(SequenceProxyPushSupplier)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushSupplier':suspend_connection(StructuredProxyPushSupplier)),
+
+ %% Test with pushing a event sequence.
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushConsumer':push_structured_events(SequenceProxyPushConsumer, EventSeq)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match({any,_,Event}, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(Event, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([Event,Event2], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,2})),
+ ?match({any,_,Event2}, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(Event2, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+
+ %% Check if the Any Client have received and stored the events.
+ ?match([{any,_,Event}, {any,_,Event2}], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+
+ %% Check if the other Clients have received any events. Error if have.
+ ?match([], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ ?match(ok,'CosNotifyChannelAdmin_SequenceProxyPushSupplier':resume_connection(SequenceProxyPushSupplier)),
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushSupplier':resume_connection(StructuredProxyPushSupplier)),
+
+ %% To be sure the test case don't fail due to time-race, sleep.
+ timer:sleep(5000),
+
+ ?match([Event, Event2], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([Event, Event2], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+
+ io:format("###################### FILTER EVENTS #######################"),
+
+ %% Now we will add filters and see if the system behaves correctly.
+ FiFac = 'CosNotifyFilter_FilterFactory':oe_create(),
+ Filter = 'CosNotifyFilter_FilterFactory':create_filter(FiFac,"EXTENDED_TCL"),
+ %% Add constraints to the Filter
+ ?line[{_,_,CID1},{_,_,CID2}]=
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,_}, {'CosNotifyFilter_ConstraintInfo',_,_}],
+ 'CosNotifyFilter_Filter':add_constraints(Filter,
+ [#'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "Spare*",
+ type_name = "MOVIE"}],
+ constraint_expr = "$type_name == 'MOVIE' and (('groucho' in $starlist) + ('chico' in $starlist) + ('harpo' in $starlist) + ('zeppo' in $starlist) + ('gummo' in $starlist)) > 2"},
+ #'CosNotifyFilter_ConstraintExp'{event_types =
+ [#'CosNotification_EventType'{
+ domain_name = "*",
+ type_name = "TestResults"}],
+ constraint_expr = "$test._length == 3 and ($test[0].score + $test[1].score + $test[2].score)/3 >=80"}])),
+
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,CID2}, {'CosNotifyFilter_ConstraintInfo',_,CID1}],
+ 'CosNotifyFilter_Filter':get_all_constraints(Filter)),
+ ?match([{'CosNotifyFilter_ConstraintInfo',_,CID1}],
+ 'CosNotifyFilter_Filter':get_constraints(Filter, [CID1])),
+
+ %% Associate the Filter with different objects.
+ %% Since we use the same filter for both objects the events will never reach the admin.
+ _FilterID = 'CosNotifyChannelAdmin_ConsumerAdmin':add_filter(AdminConsumer, Filter),
+
+ _FilterID2 = 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':add_filter(StructuredProxyPushConsumer, Filter),
+ event_filtering(FiFac, Filter, AdminConsumer, StructuredProxyPushConsumer, PushAnyC,
+ PushStrC, PushSeqC, PullAnyC, PullStrC, PullSeqC),
+ %% Remove the proxy filter so we can check if the events are filtered correctly by the admin.
+ ?match(ok, 'CosNotifyChannelAdmin_StructuredProxyPushConsumer':remove_all_filters(StructuredProxyPushConsumer)),
+ event_filtering(FiFac, Filter, AdminConsumer, StructuredProxyPushConsumer, PushAnyC,
+ PushStrC, PushSeqC, PullAnyC, PullStrC, PullSeqC),
+
+
+ catch corba:dispose(Filter),
+ catch corba:dispose(FiFac),
+ catch corba:dispose(SequenceProxyPushConsumer),
+ catch corba:dispose(StructuredProxyPushConsumer),
+ catch corba:dispose(ProxyPushConsumer),
+ catch corba:dispose(SequenceProxyPullConsumer),
+ catch corba:dispose(StructuredProxyPullConsumer),
+ catch corba:dispose(ProxyPullConsumer),
+ catch corba:dispose(SequenceProxyPushSupplier),
+ catch corba:dispose(StructuredProxyPushSupplier),
+ catch corba:dispose(ProxyPushSupplier),
+ catch corba:dispose(SequenceProxyPullSupplier),
+ catch corba:dispose(StructuredProxyPullSupplier),
+ catch corba:dispose(ProxyPullSupplier),
+ catch corba:dispose(AdminConsumer),
+ catch corba:dispose(AdminSupplier),
+ catch corba:dispose(Ch),
+ catch cosNotificationApp:stop_factory(Fac),
+ %% The Clients should have terminated by now. Check if it is so.
+ timer:sleep(5000),
+ ?match(true, corba_object:non_existent(PullSeqS)),
+ ?match(true, corba_object:non_existent(PullStrS)),
+ ?match(true, corba_object:non_existent(PullAnyS)),
+ ?match(true, corba_object:non_existent(PushSeqS)),
+ ?match(true, corba_object:non_existent(PushStrS)),
+ ?match(true, corba_object:non_existent(PushAnyS)),
+ ?match(true, corba_object:non_existent(PullSeqC)),
+ ?match(true, corba_object:non_existent(PullStrC)),
+ ?match(true, corba_object:non_existent(PullAnyC)),
+ ?match(true, corba_object:non_existent(PushSeqC)),
+ ?match(true, corba_object:non_existent(PushStrC)),
+ ?match(true, corba_object:non_existent(PushAnyC)),
+ ok.
+
+event_filtering(_FiFac, _Filter, _AdminConsumer, StructuredProxyPushConsumer, PushAnyC, PushStrC, PushSeqC, PullAnyC, PullStrC, PullSeqC) ->
+ NilAnyEvent = any:create(orber_tc:null(), null),
+ NilStrEvent = ?not_CreateSE("","","",[],[],NilAnyEvent),
+
+ TrueEvent1 = ?not_CreateSE("SpareTime","MOVIE",
+ "EventName",
+ [#'CosNotification_Property'{name="starlist",
+ value=any:create(orber_tc:sequence(orber_tc:string(0),0),
+ ["groucho", "harpo", "sam", "gummo"])}],
+ [], any:create(orber_tc:null(), null)),
+ TrueEvent2 = ?not_CreateSE("Studies","TestResults",
+ "EventName", [],
+ [#'CosNotification_Property'{name="test",
+ value=any:create(orber_tc:array(notify_test_data:tc(),3),
+ {#notify_test_data{score=75,
+ name="name"},
+ #notify_test_data{score=80,
+ name="name"},
+ #notify_test_data{score=85,
+ name="name"}})}],
+ any:create(orber_tc:null(), null)),
+
+ FalseEvent1 = ?not_CreateSE("SpareTime","MOVIE",
+ "EventName",
+ [#'CosNotification_Property'{name="starlist",
+ value=any:create(orber_tc:sequence(orber_tc:string(0),0),
+ ["frodo", "bilbo", "sam", "gummo"])}],
+ [], any:create(orber_tc:null(), null)),
+ FalseEvent2 = ?not_CreateSE("Studies","TestResults",
+ "EventName", [],
+ [#'CosNotification_Property'{name="test",
+ value=any:create(orber_tc:array(notify_test_data:tc(),3),
+ {#notify_test_data{score=75,
+ name="name"},
+ #notify_test_data{score=80,
+ name="name"},
+ #notify_test_data{score=80,
+ name="name"}})}],
+ any:create(orber_tc:null(), null)),
+ %% Test with pushing the first structured event that should not be filtered away.
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, TrueEvent1)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+
+ %% Check if the Clients have received and stored the events.
+ ?match([{any,_,TrueEvent1}], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([TrueEvent1], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([TrueEvent1], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match({any,_,TrueEvent1}, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(TrueEvent1, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([TrueEvent1], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,1})),
+
+ %% Test with pushing the second structured event that should not be filtered away.
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, TrueEvent2)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+
+ %% Check if the Clients have received and stored the events.
+ ?match([{any,_,TrueEvent2}], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([TrueEvent2], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([TrueEvent2], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match({any,_,TrueEvent2}, 'notify_test_AnyPullC':doAction(PullAnyC, pull_any)),
+ ?match(TrueEvent2, 'notify_test_StrPullC':doAction(PullStrC, pull_str)),
+ ?match([TrueEvent2], 'notify_test_SeqPullC':doAction(PullSeqC, {pull_seq,1})),
+
+ %% Test with pushing the first structured event that should be filtered away.
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, FalseEvent1)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+
+ %% Check if the Clients have received and stored the events.
+ ?match([], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match({NilAnyEvent,false}, 'notify_test_AnyPullC':doAction(PullAnyC, try_pull_any)),
+ ?match({NilStrEvent,false}, 'notify_test_StrPullC':doAction(PullStrC, try_pull_str)),
+ ?match({[],false}, 'notify_test_SeqPullC':doAction(PullSeqC, {try_pull_seq,10})),
+
+ %% Test with pushing the second structured event that should be filtered away.
+ ?match(ok,'CosNotifyChannelAdmin_StructuredProxyPushConsumer':push_structured_event(StructuredProxyPushConsumer, FalseEvent2)),
+
+ %% Wait for a while so we are sure that all events have been delivered as far
+ %% as the Notification service can automatically.
+ timer:sleep(5000),
+
+ %% Check if the Clients have received and stored the events.
+ ?match([], 'notify_test_AnyPushC':doAction(PushAnyC, return_data)),
+ ?match([], 'notify_test_StrPushC':doAction(PushStrC, return_data)),
+ ?match([], 'notify_test_SeqPushC':doAction(PushSeqC, return_data)),
+
+ %% Instruct the Clients to pull the events and check if they match.
+ ?match({NilAnyEvent,false}, 'notify_test_AnyPullC':doAction(PullAnyC, try_pull_any)),
+ ?match({NilStrEvent,false}, 'notify_test_StrPullC':doAction(PullStrC, try_pull_str)),
+ ?match({[],false}, 'notify_test_SeqPullC':doAction(PullSeqC, {try_pull_seq,10})).
+
+
+
+%%-----------------------------------------------------------------
+%% Creating different cosEvent API tests
+%%-----------------------------------------------------------------
+cosevent_api(doc) -> ["CosNotification Objects tested with CosEvent API", ""];
+cosevent_api(suite) -> [];
+cosevent_api(_Config) ->
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+ {Ch, _Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS, ?defaultAdm)),
+ ?match({_,key,_,_,_,_}, Ch),
+ AC=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_EventChannel':for_consumers(Ch)),
+ AS=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_EventChannel':for_suppliers(Ch)),
+
+ PushS=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_ConsumerAdmin':obtain_push_supplier(AC)),
+ PullS=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_ConsumerAdmin':obtain_pull_supplier(AC)),
+
+ PushC=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_SupplierAdmin':obtain_push_consumer(AS)),
+ PullC=?match({_,key,_,_,_,_},
+ 'CosEventChannelAdmin_SupplierAdmin':obtain_pull_consumer(AS)),
+
+ PushAnyC=?match({_,key,_,_,_,_},
+ 'notify_test_AnyPushC':oe_create(['PUSH_ANY', PushC],
+ [{local_typecheck, false}])),
+ PushStrC=?match({_,key,_,_,_,_},
+ 'notify_test_StrPushC':oe_create(['PUSH_STRUCTURED',false],
+ [{local_typecheck, false}])),
+ PushSeqC=?match({_,key,_,_,_,_},
+ 'notify_test_SeqPushC':oe_create(['PUSH_SEQUENCE',false],
+ [{local_typecheck, false}])),
+
+ PullAnyC=?match({_,key,_,_,_,_},
+ 'notify_test_AnyPullC':oe_create(['PULL_ANY', PullC],
+ [{local_typecheck, false}])),
+ PullStrC=?match({_,key,_,_,_,_},
+ 'notify_test_StrPullC':oe_create(['PULL_STRUCTURED',false],
+ [{local_typecheck, false}])),
+ PullSeqC=?match({_,key,_,_,_,_},
+ 'notify_test_SeqPullC':oe_create(['PULL_SEQUENCE',false],
+ [{local_typecheck, false}])),
+
+ PushAnyS=?match({_,key,_,_,_,_},
+ 'notify_test_AnyPushS':oe_create(['PUSH_ANY', PushC],
+ [{local_typecheck, false}])),
+ PushStrS=?match({_,key,_,_,_,_},
+ 'notify_test_StrPushS':oe_create(['PUSH_STRUCTURED',false],
+ [{local_typecheck, false}])),
+ PushSeqS=?match({_,key,_,_,_,_},
+ 'notify_test_SeqPushS':oe_create(['PUSH_SEQUENCE',false],
+ [{local_typecheck, false}])),
+
+ PullAnyS=?match({_,key,_,_,_,_},
+ 'notify_test_AnyPullS':oe_create(['PULL_ANY', PullS],
+ [{local_typecheck, false}])),
+ PullStrS=?match({_,key,_,_,_,_},
+ 'notify_test_StrPullS':oe_create(['PULL_STRUCTURED',false],
+ [{local_typecheck, false}])),
+ PullSeqS=?match({_,key,_,_,_,_},
+ 'notify_test_SeqPullS':oe_create(['PULL_SEQUENCE',false],
+ [{local_typecheck, false}])),
+
+ %% In the OMG specification Proxies do not inherrit from CosEvent. Must use
+ %% Notify interface.
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}},
+ 'CosEventChannelAdmin_ProxyPullConsumer':connect_pull_supplier(PullC, PushStrS)),
+
+ ?match(ok,
+ 'CosEventChannelAdmin_ProxyPushSupplier':connect_push_consumer(PushS, PushAnyC)),
+ ?match(ok,
+ 'CosEventChannelAdmin_ProxyPullSupplier':connect_pull_consumer(PullS, PullAnyC)),
+
+ ?match(ok,
+ 'CosEventChannelAdmin_ProxyPushConsumer':connect_push_supplier(PushC, PushAnyS)),
+ ?match(ok,
+ 'CosEventChannelAdmin_ProxyPullConsumer':connect_pull_supplier(PullC, PullAnyS)),
+
+ ?match({'EXCEPTION',{'CosEventChannelAdmin_AlreadyConnected',_}},
+ 'CosEventChannelAdmin_ProxyPullConsumer':connect_pull_supplier(PullC, PullAnyS)),
+
+ ?match({'EXCEPTION',{'CosEventChannelAdmin_AlreadyConnected',_}},
+ 'CosNotifyChannelAdmin_ProxyPullConsumer':connect_pull_supplier(PullC, PullAnyS)),
+
+ ?match(true, corba_object:is_a(PushS, "IDL:omg.org/CosNotifyChannelAdmin/ProxyPushSupplier:1.0")),
+ ?match(true, corba_object:is_a(PushS, "IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier:1.0")),
+
+ catch corba:dispose(PushStrC),
+ catch corba:dispose(PushSeqC),
+ catch corba:dispose(PullStrC),
+ catch corba:dispose(PullSeqC),
+ catch corba:dispose(PushStrS),
+ catch corba:dispose(PushSeqS),
+ catch corba:dispose(PullStrS),
+ catch corba:dispose(PullSeqS),
+ catch corba:dispose(PushS),
+ catch corba:dispose(PullS),
+ catch corba:dispose(PushC),
+ catch corba:dispose(PullC),
+ catch corba:dispose(AC),
+ catch corba:dispose(AS),
+ catch corba:dispose(Ch),
+ catch cosNotificationApp:stop_factory(Fac),
+
+ %% The Clients should have terminated by now. Check if it is so.
+ timer:sleep(5000),
+ ?match(true, corba_object:non_existent(PullAnyS)),
+ ?match(true, corba_object:non_existent(PushAnyS)),
+ ?match(true, corba_object:non_existent(PullAnyC)),
+ ?match(true, corba_object:non_existent(PushAnyC)),
+
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% AdminPropertiesAdmin API tests
+%%-----------------------------------------------------------------
+adm_api(doc) -> ["CosNotification AdminPropertiesAdmin tests", ""];
+adm_api(suite) -> [];
+adm_api(_Config) ->
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+
+ %% We need a few AdminProp:s to "play" with.
+ MQ0 = [#'CosNotification_Property'{name='CosNotification':'MaxQueueLength'(),
+ value=any:create(orber_tc:long(), 0)}],
+ MC0 = [#'CosNotification_Property'{name='CosNotification':'MaxConsumers'(),
+ value=any:create(orber_tc:long(), 0)}],
+ MS0 = [#'CosNotification_Property'{name='CosNotification':'MaxSuppliers'(),
+ value=any:create(orber_tc:long(), 0)}],
+ MQError1 = [#'CosNotification_Property'{name='CosNotification':'MaxQueueLength'(),
+ value=any:create(orber_tc:'float'(), 1.5)}],
+ MQError2 = [#'CosNotification_Property'{name='CosNotification':'MaxQueueLength'(),
+ value=any:create(orber_tc:long(), -1)}],
+
+ {Ch, _Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS, ?defaultAdm)),
+ ?match({_,key,_,_,_,_}, Ch),
+
+ %% Set new admin
+ ?match(ok, 'CosNotification_AdminPropertiesAdmin':set_admin(Ch, MQ0)),
+ %% It should be a list of three items. If we support more admin:s this
+ %% must be updated.
+ ?match([_,_,_], 'CosNotification_AdminPropertiesAdmin':get_admin(Ch)),
+
+ %% Try to set admin with an uncorrect value, i.e., not integer >= 0.
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedAdmin',_,_}},
+ 'CosNotification_AdminPropertiesAdmin':set_admin(Ch, MQError1)),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedAdmin',_,_}},
+ 'CosNotification_AdminPropertiesAdmin':set_admin(Ch, MQError2)),
+
+ %% Try setting the other two admins and chech if the value is correct.
+ ?match(ok, 'CosNotification_AdminPropertiesAdmin':set_admin(Ch, MC0)),
+ ?match([_,_,_], 'CosNotification_AdminPropertiesAdmin':get_admin(Ch)),
+
+ ?match(ok, 'CosNotification_AdminPropertiesAdmin':set_admin(Ch, MS0)),
+ ?match([_,_,_], 'CosNotification_AdminPropertiesAdmin':get_admin(Ch)),
+
+ catch corba:dispose(Ch),
+ catch cosNotificationApp:stop_factory(Fac),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% QoSAdm API tests
+%%-----------------------------------------------------------------
+qos_api(doc) -> ["CosNotification QoSAdmin tests", ""];
+qos_api(suite) -> [];
+qos_api(_Config) ->
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+
+ {Ch, _Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS, ?defaultAdm)),
+ ?match({_,key,_,_,_,_}, Ch),
+
+
+ QoSPersistent = [#'CosNotification_Property'{name='CosNotification':'ConnectionReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'Persistent'())}],
+ QoSBestEffort = [#'CosNotification_Property'{name='CosNotification':'ConnectionReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'BestEffort'())}],
+
+ QoSEventPersistent = [#'CosNotification_Property'{name='CosNotification':'EventReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'Persistent'())}],
+ QoSEventBestEffort = [#'CosNotification_Property'{name='CosNotification':'EventReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'BestEffort'())}],
+
+ QoSOKMaxBatchSize = [#'CosNotification_Property'{name='CosNotification':'MaximumBatchSize'(),
+ value=any:create(orber_tc:long(), 200)}],
+ QoSToHighMaxBatchSize = [#'CosNotification_Property'{name='CosNotification':'MaximumBatchSize'(),
+ value=any:create(orber_tc:long(), 100000000)}],
+
+ QoSToLowMaxBatchSize = [#'CosNotification_Property'{name='CosNotification':'MaximumBatchSize'(),
+ value=any:create(orber_tc:long(), -1)}],
+
+ QoSOKStopTimeSupp = [#'CosNotification_Property'{name='CosNotification':'StopTimeSupported'(),
+ value=any:create(orber_tc:boolean(), true)}],
+ QoSWrongStopTimeSupp = [#'CosNotification_Property'{name="StopTimeSupp",
+ value=any:create(orber_tc:boolean(), true)}],
+
+ QoSOKStartTimeSupp = [#'CosNotification_Property'{name='CosNotification':'StartTimeSupported'(),
+ value=any:create(orber_tc:boolean(), true)}],
+ QoSWrongStartTimeSupp = [#'CosNotification_Property'{name="StartTimeSupp",
+ value=any:create(orber_tc:boolean(), true)}],
+ QoSOKTimout = [#'CosNotification_Property'{name='CosNotification':'Timeout'(),
+ value=any:create(orber_tc:unsigned_long_long(), 100)}],
+
+
+ %% The most complex QoS to set is ConnectionReliability, and the reason for this
+ %% is that we cannot set the Channel to offer best effort while its children
+ %% offer persistent. A child may only offer Persistent if its parent do, which
+ %% is why we must check the following:
+ %%
+ %% # Persistent Change to Best Effort
+ %% _____
+ %% | | (1) -> Check if children BE
+ %% |Chann| (2) ok <-
+ %% -----
+ %% |
+ %% _____
+ %% | | (3) -> Check if children BE
+ %% |Admin| (4) Check if parent Pers. <-
+ %% -----
+ %% |
+ %% _____
+ %% | | (5) -> ok
+ %% |Proxy| (6) Check if parent Pers. <-
+ %% -----
+ %% NOTE: a parent always exists but we may change the QoS before creating any
+ %% childrens. The cases (2) and (5) is always ok, i.e., no need to confirm
+ %% with parent or children.
+
+ %% We only have a channel. At the moment we can set ConnectionReliability
+ %% without asking anyone.
+ Q1='CosNotification_QoSAdmin':get_qos(Ch),
+ ?match({ok, _}, 'CosNotification_QoSAdmin':validate_qos(Ch, QoSBestEffort)),
+
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSPersistent)),
+ %% Match if no problems occur if we try to set QoS as is.
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSPersistent)),
+
+ %% Check validate.
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSEventPersistent)),
+ ?match({ok, _}, 'CosNotification_QoSAdmin':validate_qos(Ch, QoSOKTimout)),
+ ?match({ok, _}, 'CosNotification_QoSAdmin':validate_qos(Ch, QoSEventBestEffort)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSEventBestEffort)),
+ ?match({ok, _}, 'CosNotification_QoSAdmin':validate_qos(Ch, QoSOKTimout)),
+
+ Q2='CosNotification_QoSAdmin':get_qos(Ch),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSBestEffort)),
+ ?match(Q1, 'CosNotification_QoSAdmin':get_qos(Ch)),
+
+ %% Now we add an Admin object. An Admin object cannot switch ConnectionReliability
+ %% to BestEffort without checking with its children or Persistent without
+ %% confirming this with its Parent. At the moment, however, we only have a parent.
+ {CAdm, Id2} = 'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch, 'AND_OP'),
+ ?match(Q1,'CosNotification_QoSAdmin':get_qos(CAdm)),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(CAdm, QoSPersistent)),
+ ?match(Q1, 'CosNotification_QoSAdmin':get_qos(CAdm)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(CAdm, QoSBestEffort)),
+ ?match(Q1, 'CosNotification_QoSAdmin':get_qos(CAdm)),
+
+ %% Check if we can extract the Admin from the channel correctly.
+ ?match([0,Id2],'CosNotifyChannelAdmin_EventChannel':get_all_consumeradmins(Ch)),
+ ?match(CAdm,'CosNotifyChannelAdmin_EventChannel':get_consumeradmin(Ch, Id2)),
+ ?match(Ch, 'CosNotifyChannelAdmin_ConsumerAdmin':'_get_MyChannel'(CAdm)),
+ ?match(Id2, 'CosNotifyChannelAdmin_ConsumerAdmin':'_get_MyID'(CAdm)),
+
+ %% Change the channel to provide Persistent service. Now we can set the
+ %% Admin service to Persistent to. (4)
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSPersistent)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(CAdm, QoSPersistent)),
+ ?match(Q2, 'CosNotification_QoSAdmin':get_qos(CAdm)),
+
+ %% Since the Admin object now provide Persistent the Channel cannot switch
+ %% to BestEffort. (1)
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(Ch, QoSBestEffort)),
+ %% Should still match Persistent.
+ ?match(Q2, 'CosNotification_QoSAdmin':get_qos(Ch)),
+ {PSup, _Id3} = 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_push_supplier(CAdm, 'ANY_EVENT'),
+ ?match(Q2, 'CosNotification_QoSAdmin':get_qos(CAdm)),
+ ?match('PUSH_ANY', 'CosNotifyChannelAdmin_ProxyPushConsumer':'_get_MyType'(PSup)),
+ ?match(CAdm, 'CosNotifyChannelAdmin_ProxyPushConsumer':'_get_MyAdmin'(PSup)),
+ ?match(Q2, 'CosNotification_QoSAdmin':get_qos(PSup)),
+
+ %% At this point they all offer persistent connection, which means we have
+ %% to start with the proxy if we want to change to Best Effort. Hence,
+ %% the following two cases will fail.
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(Ch, QoSBestEffort)),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(CAdm, QoSBestEffort)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(PSup, QoSBestEffort)),
+ %% Still not possible to change channel to Best Effort.
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(Ch, QoSBestEffort)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(CAdm, QoSBestEffort)),
+ %% Now we change the channel to Best Effort.
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSBestEffort)),
+
+ %% Test if really are Best Effort
+ ?match(Q1, 'CosNotification_QoSAdmin':get_qos(Ch)),
+ ?match(Q1, 'CosNotification_QoSAdmin':get_qos(CAdm)),
+ ?match(Q1, 'CosNotification_QoSAdmin':get_qos(PSup)),
+
+ %% Testing MaximumBatchSize (The highest value is defined in
+ %% CosNotification_Common.erl
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSOKMaxBatchSize)),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(Ch, QoSToHighMaxBatchSize)),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(Ch, QoSToLowMaxBatchSize)),
+
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSOKStartTimeSupp)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSOKStopTimeSupp)),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(Ch, QoSWrongStartTimeSupp)),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(Ch, QoSWrongStopTimeSupp)),
+
+ catch corba:dispose(CAdm),
+ catch corba:dispose(PSup),
+ catch corba:dispose(Ch),
+ cosNotificationApp:stop_factory(Fac),
+ ok.
+
+%%-----------------------------------------------------------------
+%% QoSAdm API tests
+%%-----------------------------------------------------------------
+event_qos_api(doc) -> ["CosNotification QoSAdmin tests", ""];
+event_qos_api(suite) -> [];
+event_qos_api(_Config) ->
+ Fac = (catch cosNotificationApp:start_global_factory(?FAC_OPT)),
+ ?match({_,key,_,_,_,_}, Fac),
+
+ %% Create some objects to test with. We start with default settings.
+ {Ch, _Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, ?defaultQoS, ?defaultAdm)),
+ {CAdm, _Id2} = 'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch, 'AND_OP'),
+ {PSup, _Id3} = 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_push_supplier(CAdm, 'ANY_EVENT'),
+
+ %% Try setting an unsupported QoS.
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name="Unsupported QoS",
+ value=any:create(orber_tc:short(), 1)}])),
+ %% Try setting min and max priority.
+ ?match({ok, _}, 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_Priority,
+ value=any:create(orber_tc:short(),
+ ?not_LowestPriority)},
+ #'CosNotification_Property'{name=?not_Priority,
+ value=any:create(orber_tc:short(),
+ ?not_HighestPriority)}])),
+ %% Try setting priority values which are 1 to high and 1 to low respectively.
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_Priority,
+ value=any:create(orber_tc:short(),
+ ?not_LowestPriority-1)},
+ #'CosNotification_Property'{name=?not_Priority,
+ value=any:create(orber_tc:short(),
+ ?not_HighestPriority+1)}])),
+ %% Try setting start- and stop-time (false default). Note the value associated
+ %% with this property is not really a short but that is not what we are testing
+ %% here so...
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_StartTime,
+ value=any:create(orber_tc:short(), 0)}])),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_StopTime,
+ value=any:create(orber_tc:short(), 0)}])),
+ %% Allow StopTime
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(PSup, [#'CosNotification_Property'{name='CosNotification':'StopTimeSupported'(),
+ value=any:create(orber_tc:boolean(), true)}])),
+ ?match({ok,_},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_StopTime,
+ value=any:create(orber_tc:short(), 0)}])),
+ %% Allow StartTime
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(PSup, [#'CosNotification_Property'{name='CosNotification':'StartTimeSupported'(),
+ value=any:create(orber_tc:boolean(), true)}])),
+ ?match({ok,_},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_StopTime,
+ value=any:create(orber_tc:short(), 0)},
+ #'CosNotification_Property'{name=?not_StartTime,
+ value=any:create(orber_tc:short(), 0)}])),
+
+ %% We must reset StopTime since we cannot guarantee that an event will be delivered
+ %% if risk beeing discarded due to a delay.
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(PSup, [#'CosNotification_Property'{name='CosNotification':'StopTimeSupported'(),
+ value=any:create(orber_tc:boolean(), false)}])),
+ %% Does it accept Best Effort EventReliability? Must always be true.
+ ?match({ok,_},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_EventReliability,
+ value=any:create(orber_tc:short(), ?not_BestEffort)}])),
+ %% Default is Best Effort; test if we can set Persistent EventReliability.
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_EventReliability,
+ value=any:create(orber_tc:short(), ?not_Persistent)}])),
+
+ %% Set Persistent
+ QoSPersistent = [#'CosNotification_Property'{name='CosNotification':'ConnectionReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'Persistent'())}],
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSPersistent)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(CAdm, QoSPersistent)),
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(PSup, QoSPersistent)),
+
+ %% Does it accept Best Effort EventReliability? Must always be true.
+ ?match({ok, _},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_EventReliability,
+ value=any:create(orber_tc:short(), ?not_BestEffort)}])),
+ %% Test if we can use Persistent EventReliability.
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_EventReliability,
+ value=any:create(orber_tc:short(), ?not_Persistent)}])),
+ QoSEventPersistent = [#'CosNotification_Property'{name='CosNotification':'EventReliability'(),
+ value=any:create(orber_tc:short(),
+ 'CosNotification':'Persistent'())}],
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(Ch, QoSEventPersistent)),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(CAdm, QoSEventPersistent)),
+ ?match({'EXCEPTION',{'CosNotification_UnsupportedQoS',_,_}},
+ 'CosNotification_QoSAdmin':set_qos(PSup, QoSEventPersistent)),
+
+ ?match(ok, 'CosNotification_QoSAdmin':set_qos(PSup, [#'CosNotification_Property'{name='CosNotification':'StopTimeSupported'(),
+ value=any:create(orber_tc:boolean(), true)}])),
+ ?match({ok,_},
+ 'CosNotifyChannelAdmin_ProxyConsumer':
+ validate_event_qos(PSup,
+ [#'CosNotification_Property'{name=?not_StopTime,
+ value=any:create(orber_tc:short(), 0)},
+ #'CosNotification_Property'{name=?not_StartTime,
+ value=any:create(orber_tc:short(), 0)}])),
+ catch corba:dispose(CAdm),
+ catch corba:dispose(PSup),
+ catch corba:dispose(Ch),
+ cosNotificationApp:stop_factory(Fac),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Internal functions
+%%-----------------------------------------------------------------
+
+%%-------------------- End of Module ------------------------------
diff --git a/lib/cosNotification/test/notify_test_impl.erl b/lib/cosNotification/test/notify_test_impl.erl
new file mode 100644
index 0000000000..483610befd
--- /dev/null
+++ b/lib/cosNotification/test/notify_test_impl.erl
@@ -0,0 +1,299 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%----------------------------------------------------------------------
+%% File : notify_test_impl.erl
+%%----------------------------------------------------------------------
+
+-module(notify_test_impl).
+
+-include_lib("orber/include/corba.hrl").
+-include("idl_output/notify_test.hrl").
+
+%%--------------- specified functions ------------------------
+-export([stop_normal/2,
+ stop_brutal/2,
+ print/2,
+ doAction/3,
+ delay/5,
+ %% Exports from CosNotifyComm::StructuredPushConsumer
+ push_structured_event/3, disconnect_structured_push_consumer/2,
+ %% Exports from "CosNotifyComm::SequencePushConsumer"
+ push_structured_events/3, disconnect_sequence_push_consumer/2,
+ %% Exports from CosEventComm::PushConsumer
+ push/3, disconnect_push_consumer/2,
+ %% Exports from CosNotifyComm::NotifyPublish
+ disconnect_sequence_pull_consumer/2,
+ %% Exports from CosNotifyComm::StructuredPullConsumer
+ disconnect_structured_pull_consumer/2,
+ %% Exports from CosEventComm::PullConsumer
+ disconnect_pull_consumer/2,
+ %% Exports from CosNotifyComm::SequencePushSupplier
+ disconnect_sequence_push_supplier/2,
+ %% Exports from CosNotifyComm::StructuredPushSupplier
+ disconnect_structured_push_supplier/2,
+ %% Exports from CosEventComm::PushSupplier
+ disconnect_push_supplier/2,
+ %% Exports from CosNotifyComm::SequencePullSupplier
+ pull_structured_events/3,
+ try_pull_structured_events/3,
+ disconnect_sequence_pull_supplier/2,
+ %% Exports from CosNotifyComm::StructuredPullSupplier
+ pull_structured_event/2,
+ try_pull_structured_event/2,
+ disconnect_structured_pull_supplier/2,
+ %% Exports from CosEventComm::PullSupplier
+ pull/2,
+ try_pull/2,
+ disconnect_pull_supplier/2,
+ %% Exports from CosNotifyComm::SequencePullConsumer
+ offer_change/4,
+ %% Exports from CosNotifyComm::NotifySubscribe
+ subscription_change/4]).
+
+%%--------------- gen_server specific ------------------------
+-export([init/1, terminate/2]).
+-export([handle_call/3, handle_cast/2, handle_info/2, code_change/3]).
+%% Data structures
+-record(state, {myType, proxy, data, action}).
+
+%%--------------- LOCAL DATA ---------------------------------
+
+%%------------------------------------------------------------
+%% function : init, terminate
+%%------------------------------------------------------------
+init([MyType, Proxy]) ->
+ process_flag(trap_exit,true),
+ {ok, #state{myType=MyType, proxy=Proxy, data=[]}}.
+
+terminate(Reason, State) ->
+ io:format("notify_test:terminate(~p ~p)~n",[Reason, State#state.myType]),
+ ok.
+
+code_change(_OldVsn, State, _Extra) ->
+ {ok, State}.
+handle_call(_,_, State) ->
+ {noreply, State}.
+handle_cast(_, State) ->
+ {noreply, State}.
+handle_info(_Info, State) ->
+ {noreply, State}.
+
+%%--------------- SERVER FUNCTIONS ---------------------------
+
+print(Self, State) ->
+ io:format("notify_test:print(~p ~p)~n",[Self, State]),
+ {reply, ok, State}.
+
+doAction(_Self, State, {set_data, Data}) ->
+ io:format("notify_test:doAction(add_data) ~p~n",[Data]),
+ {reply, ok, State#state{data=Data}};
+doAction(_Self, State, {add_data, Data}) ->
+ io:format("notify_test:doAction(add_data) ~p~n",[Data]),
+ {reply, ok, State#state{data=State#state.data++Data}};
+doAction(_Self, State, return_data) ->
+ io:format("notify_test:doAction(return_data)~n",[]),
+ {reply, State#state.data, State#state{data=[]}};
+doAction(_Self, State, clear_data) ->
+ io:format("notify_test:doAction(return_data)~n",[]),
+ {reply, ok, State#state{data=[]}};
+doAction(_Self, State, pull_any) ->
+ io:format("notify_test:doAction(pull_any)~n",[]),
+ Event='CosNotifyChannelAdmin_ProxyPullSupplier':pull(State#state.proxy),
+ {reply, Event, State};
+doAction(_Self, State, {pull_seq, Max}) ->
+ io:format("notify_test:doAction(pull_sequence)~n",[]),
+ Event='CosNotifyChannelAdmin_SequenceProxyPullSupplier':pull_structured_events(State#state.proxy, Max),
+ {reply, Event, State};
+doAction(_Self, State, pull_str) ->
+ Event='CosNotifyChannelAdmin_StructuredProxyPullSupplier':pull_structured_event(State#state.proxy),
+ io:format("notify_test:doAction(pull_structured)~n",[]),
+ {reply, Event, State};
+doAction(_Self, State, try_pull_any) ->
+ io:format("notify_test:doAction(try_pull_any)~n",[]),
+ Event='CosNotifyChannelAdmin_ProxyPullSupplier':try_pull(State#state.proxy),
+ {reply, Event, State};
+doAction(_Self, State, {try_pull_seq, Max}) ->
+ io:format("notify_test:doAction(try_pull_sequence)~n",[]),
+ Event='CosNotifyChannelAdmin_SequenceProxyPullSupplier':try_pull_structured_events(State#state.proxy, Max),
+ {reply, Event, State};
+doAction(_Self, State, try_pull_str) ->
+ Event='CosNotifyChannelAdmin_StructuredProxyPullSupplier':try_pull_structured_event(State#state.proxy),
+ io:format("notify_test:doAction(try_pull_structured)~n",[]),
+ {reply, Event, State};
+doAction(_Self, State, {action, Action}) ->
+ io:format("notify_test:doAction(~p)~n",[Action]),
+ {reply, ok, State#state{action = Action}};
+
+doAction(_, State, _) ->
+ {reply, nop, State}.
+
+stop_normal(_Self, State) ->
+ {stop, normal, ok, State}.
+
+stop_brutal(_Self, _State) ->
+ exit("killed_brutal").
+
+
+
+%%--------------- CosNotifyComm::NotifyPublish --------
+offer_change(_Self, State, Added, Removed) ->
+ ND=loop(Removed, State#state.data),
+ ND2=Added++ND,
+ {reply, ok, State#state{data=ND2}}.
+
+loop([],Data) ->
+ Data;
+loop([H|T], Data) ->
+ ND=lists:delete(H,Data),
+ loop(T, ND).
+
+%%--------------- CosNotifyComm::NotifySubscribe --------
+subscription_change(_Self, State, Added, Removed) ->
+ ND=loop(Removed, State#state.data),
+ ND2=Added++ND,
+ {reply, ok, State#state{data=ND2}}.
+
+%%--------------- CosNotifyComm::SequencePushConsumer --------
+push_structured_events(_Self, #state{action = undefined} = State, Event) ->
+ io:format("notify_test:push_structured_events(~p)~n",[Event]),
+ {reply, ok, State#state{data=State#state.data++Event}};
+push_structured_events(_Self, #state{action = Action} = State, Event) ->
+ io:format("notify_test:push_structured_events(~p)~nAction: ~p~n",
+ [Event, Action]),
+ corba:raise(#'INTERNAL'{completion_status=?COMPLETED_NO}),
+ {reply, ok, State#state{data=State#state.data++Event}}.
+disconnect_sequence_push_consumer(_Self, State) ->
+ io:format("disconnect_sequence_push_consumer~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosNotifyComm::StructuredPushConsumer --------
+push_structured_event(_Self, State, Event) ->
+ io:format("notify_test:push_structured_event(~p)~n",[Event]),
+ {reply, ok, State#state{data=State#state.data++[Event]}}.
+disconnect_structured_push_consumer(_Self, State) ->
+ io:format("disconnect_structured_push_consumer~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosEventComm::PushConsumer --------
+push(_Self, State, Event) ->
+ io:format("notify_test:push(~p)~n",[Event]),
+ {reply, ok, State#state{data=State#state.data++[Event]}}.
+disconnect_push_consumer(_Self, State) ->
+ io:format("disconnect_push_consumer~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosNotifyComm::SequencePullConsumer --------
+disconnect_sequence_pull_consumer(_Self, State) ->
+ io:format("disconnect_sequence_pull_consumer~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosNotifyComm::StructuredPullConsumer --------
+disconnect_structured_pull_consumer(_Self, State) ->
+ io:format("disconnect_structured_pull_consumer~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosEventComm::PullConsumer --------
+disconnect_pull_consumer(_Self, State) ->
+ io:format("disconnect_pull_consumer~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosNotifyComm::SequencePushSupplier --------
+disconnect_sequence_push_supplier(_Self, State) ->
+ io:format("disconnect_sequence_push_supplier~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosNotifyComm::StructuredPushSupplier --------
+disconnect_structured_push_supplier(_Self, State) ->
+ io:format("disconnect_structured_push_supplier~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosEventComm::PushSupplier --------
+disconnect_push_supplier(_Self, State) ->
+ io:format("disconnect_push_supplier~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosNotifyComm::SequencePullSupplier --------
+pull_structured_events(_Self, State, _Max) ->
+ io:format("notify_test:pullstructured_events()~n",[]),
+ {reply, ok, State}.
+try_pull_structured_events(_Self, State, Max) ->
+ io:format("notify_test:try_pull_structured_events()~n",[]),
+ case State#state.data of
+ [] ->
+ {reply, {[],false}, State};
+ List ->
+ R = split(List,Max),
+ {reply, {lists:sublist(List, Max), true}, State#state{data=R}}
+ end.
+
+split([],_) ->
+ [];
+split(R,0) ->
+ R;
+split([_H|T],Max) ->
+ split(T, Max-1).
+
+disconnect_sequence_pull_supplier(_Self, State) ->
+ io:format("disconnect_sequence_pull_supplier~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosNotifyComm::StructuredPullSupplier --------
+pull_structured_event(_Self, State) ->
+ io:format("notify_test:pull_structured_event()~n",[]),
+ {reply, ok, State}.
+try_pull_structured_event(_Self, State) ->
+ io:format("notify_test:try_pull_structured_event()~n",[]),
+ case State#state.data of
+ [] ->
+ {reply, {[],false}, State};
+ [H|T] ->
+ {reply, {H, true}, State#state{data=T}}
+ end.
+disconnect_structured_pull_supplier(_Self, State) ->
+ io:format("disconnect_structured_pull_supplier~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- CosEventComm::PullSupplier --------
+pull(_Self, State) ->
+ io:format("notify_test:pull()~n",[]),
+ {reply, 'CosEventComm_PullSupplier':pull(State#state.proxy), State}.
+try_pull(_Self, State) ->
+ io:format("notify_test:try_pull()~n",[]),
+ case State#state.data of
+ [] ->
+ {reply, {[],false}, State};
+ [H|T] ->
+ {reply, {H, true}, State#state{data=T}}
+ end.
+disconnect_pull_supplier(_Self, State) ->
+ io:format("disconnect_pull_supplier~n",[]),
+ {stop, normal, ok, State}.
+
+%%--------------- LOCAL FUNCTIONS ----------------------------
+
+delay(Obj, Event, Time, Mod, F) ->
+ io:format("notify_test:delay(~p) TIME: ~p~n",[Event, now()]),
+ timer:sleep(Time),
+ Mod:F(Obj, Event),
+ io:format("notify_test:delay() DONE: ~p~n",[now()]),
+ ok.
+
+%%--------------- END OF MODULE ------------------------------
+
diff --git a/lib/cosNotification/test/notify_test_server.cfg b/lib/cosNotification/test/notify_test_server.cfg
new file mode 100644
index 0000000000..8621327b57
--- /dev/null
+++ b/lib/cosNotification/test/notify_test_server.cfg
@@ -0,0 +1,54 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+{this, "notify_test::SeqPushC"}.
+{{handle_info, "notify_test::SeqPushC"}, true}.
+{{impl, "notify_test::SeqPushC"}, "notify_test_impl"}.
+{this, "notify_test::StrPushC"}.
+{{handle_info, "notify_test::StrPushC"}, true}.
+{{impl, "notify_test::StrPushC"}, "notify_test_impl"}.
+{this, "notify_test::AnyPushC"}.
+{{handle_info, "notify_test::AnyPushC"}, true}.
+{{impl, "notify_test::AnyPushC"}, "notify_test_impl"}.
+{this, "notify_test::SeqPullC"}.
+{{handle_info, "notify_test::SeqPullC"}, true}.
+{{impl, "notify_test::SeqPullC"}, "notify_test_impl"}.
+{this, "notify_test::StrPullC"}.
+{{handle_info, "notify_test::StrPullC"}, true}.
+{{impl, "notify_test::StrPullC"}, "notify_test_impl"}.
+{this, "notify_test::AnyPullC"}.
+{{handle_info, "notify_test::AnyPullC"}, true}.
+{{impl, "notify_test::AnyPullC"}, "notify_test_impl"}.
+{this, "notify_test::SeqPushS"}.
+{{handle_info, "notify_test::SeqPushS"}, true}.
+{{impl, "notify_test::SeqPushS"}, "notify_test_impl"}.
+{this, "notify_test::StrPushS"}.
+{{handle_info, "notify_test::StrPushS"}, true}.
+{{impl, "notify_test::StrPushS"}, "notify_test_impl"}.
+{this, "notify_test::AnyPushS"}.
+{{handle_info, "notify_test::AnyPushS"}, true}.
+{{impl, "notify_test::AnyPushS"}, "notify_test_impl"}.
+{this, "notify_test::SeqPullS"}.
+{{handle_info, "notify_test::SeqPullS"}, true}.
+{{impl, "notify_test::SeqPullS"}, "notify_test_impl"}.
+{this, "notify_test::StrPullS"}.
+{{handle_info, "notify_test::StrPullS"}, true}.
+{{impl, "notify_test::StrPullS"}, "notify_test_impl"}.
+{this, "notify_test::AnyPullS"}.
+{{handle_info, "notify_test::AnyPullS"}, true}.
+{{impl, "notify_test::AnyPullS"}, "notify_test_impl"}.
diff --git a/lib/cosNotification/test/notify_test_server.idl b/lib/cosNotification/test/notify_test_server.idl
new file mode 100644
index 0000000000..4dc0202890
--- /dev/null
+++ b/lib/cosNotification/test/notify_test_server.idl
@@ -0,0 +1,113 @@
+//
+// %CopyrightBegin%
+//
+// Copyright Ericsson AB 1999-2010. All Rights Reserved.
+//
+// The contents of this file are subject to the Erlang Public License,
+// Version 1.1, (the "License"); you may not use this file except in
+// compliance with the License. You should have received a copy of the
+// Erlang Public License along with this software. If not, it can be
+// retrieved online at http://www.erlang.org/.
+//
+// Software distributed under the License is distributed on an "AS IS"
+// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+// the License for the specific language governing rights and limitations
+// under the License.
+//
+// %CopyrightEnd%
+//
+
+#ifndef _NOTIFY_TEST_SERVER_IDL
+#define _NOTIFY_TEST_SERVER_IDL
+
+#include <CosNotification.idl>
+#include <CosNotifyComm.idl>
+
+module notify_test {
+
+ enum action {PULL_SEQ, PULL_STR, PULL_ANY, PUSH_SEQ, PUSH_STR, PUSH_ANY};
+
+ struct data {
+ short score;
+ string name;
+ };
+
+ struct computer {
+ float memsize;
+ float cputime;
+ float filesize;
+ };
+
+ struct X {
+ long A;
+ string B;
+ short C;
+ };
+
+
+ union K switch(short) {
+ case -1: short neg;
+ case 0:
+ case 2: string K;
+ case 3: X L;
+ case 5: long M;
+ default: short N;
+ };
+
+ union uni1 switch(long) {
+ case 1:
+ case 2: long lo;
+ case 3: short sh;
+ default: short defvalue;
+ };
+
+ union uni2 switch(long) {
+ case 1:
+ case 2: long lo;
+ case 3: short sh;
+ };
+
+ typedef any namedAny;
+ typedef short ShortArray[4];
+ struct studies {
+ uni1 uni1;
+ CosNotification::PropertySeq tests;
+ ShortArray monthly_attendance;
+ short gpa;
+ };
+
+ interface funcs {
+ void print();
+ void doAction(in action Act);
+ };
+
+ // interface server
+ interface SeqPushC : funcs, CosNotifyComm::SequencePushConsumer {
+ };
+ interface StrPushC : funcs, CosNotifyComm::StructuredPushConsumer {
+ };
+ interface AnyPushC : funcs, CosEventComm::PushConsumer {
+ };
+ interface SeqPullC : funcs, CosNotifyComm::SequencePullConsumer {
+ };
+ interface StrPullC : funcs, CosNotifyComm::StructuredPullConsumer {
+ };
+ interface AnyPullC : funcs, CosEventComm::PullConsumer {
+ };
+
+ interface SeqPushS : funcs, CosNotifyComm::SequencePushSupplier {
+ };
+ interface StrPushS : funcs, CosNotifyComm::StructuredPushSupplier {
+ };
+ interface AnyPushS : funcs, CosEventComm::PushSupplier {
+ };
+ interface SeqPullS : funcs, CosNotifyComm::SequencePullSupplier {
+ };
+ interface StrPullS : funcs, CosNotifyComm::StructuredPullSupplier {
+ };
+ interface AnyPullS : funcs, CosEventComm::PullSupplier {
+ };
+
+};
+
+#endif
diff --git a/lib/cosNotification/vsn.mk b/lib/cosNotification/vsn.mk
index fed10ee195..a19facffd5 100644
--- a/lib/cosNotification/vsn.mk
+++ b/lib/cosNotification/vsn.mk
@@ -1,6 +1,9 @@
-COSNOTIFICATION_VSN = 1.1.13
+COSNOTIFICATION_VSN = 1.1.14
-TICKETS = OTP-8353 \
+TICKETS = OTP-8489 \
+ OTP-8543
+
+TICKETS_1.1.13 = OTP-8353 \
OTP-8354 \
OTP-8355
diff --git a/lib/cosProperty/doc/src/notes.xml b/lib/cosProperty/doc/src/notes.xml
index e80c90849f..11e6205ee9 100644
--- a/lib/cosProperty/doc/src/notes.xml
+++ b/lib/cosProperty/doc/src/notes.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2000</year><year>2009</year>
+ <year>2000</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>cosProperty Release Notes</title>
@@ -32,6 +32,22 @@
</header>
<section>
+ <title>cosProperty 1.1.12</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>
+ Test suites published.</p>
+ <p>
+ Own Id: OTP-8543 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosProperty 1.1.11</title>
<section>
diff --git a/lib/cosProperty/test/Makefile b/lib/cosProperty/test/Makefile
new file mode 100644
index 0000000000..ac0f4e298d
--- /dev/null
+++ b/lib/cosProperty/test/Makefile
@@ -0,0 +1,129 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2000-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include ../vsn.mk
+VSN=$(COSPROPERTY_VSN)
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/cosProperty_test
+
+# ----------------------------------------------------
+# Target Specs
+# ----------------------------------------------------
+TEST_SPEC_FILE = cosProperty.spec
+
+
+IDL_FILES =
+
+IDLOUTDIR = idl_output
+
+MODULES = \
+ property_SUITE \
+ generated_SUITE
+
+GEN_MODULES = \
+
+GEN_HRL_FILES = \
+
+ERL_FILES = $(MODULES:%=%.erl)
+
+HRL_FILES =
+
+GEN_FILES = \
+ $(GEN_HRL_FILES:%=$(IDLOUTDIR)/%) \
+ $(GEN_MODULES:%=$(IDLOUTDIR)/%.erl)
+
+GEN_TARGET_FILES = $(GEN_MODULES:%=$(IDLOUTDIR)/%.$(EMULATOR))
+
+SUITE_TARGET_FILES = $(MODULES:%=%.$(EMULATOR))
+
+TARGET_FILES = \
+ $(GEN_TARGET_FILES) \
+ $(SUITE_TARGET_FILES)
+
+
+# ----------------------------------------------------
+# PROGRAMS
+# ----------------------------------------------------
+LOCAL_CLASSPATH = $(ERL_TOP)lib/cosProperty/priv:$(ERL_TOP)lib/cosProperty/test
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+ERL_IDL_FLAGS += -pa $(ERL_TOP)/lib/cosProperty/ebin \
+ -pa $(ERL_TOP)/lib/cosProperty/src \
+ -pa $(ERL_TOP)/lib/orber/ebin \
+ -pa $(ERL_TOP)/lib/ic/ebin
+
+ERL_COMPILE_FLAGS += \
+ $(ERL_IDL_FLAGS) \
+ -pa $(ERL_TOP)/lib/orber/include \
+ -pa $(ERL_TOP)/internal_tools/test_server/ebin \
+ -pa $(ERL_TOP)/lib/cosProperty/ebin \
+ -pa $(ERL_TOP)/lib/cosProperty/test/idl_output \
+ -I$(ERL_TOP)/lib/orber/include \
+ -I$(ERL_TOP)/lib/cosProperty/src \
+ -I$(ERL_TOP)/lib/cosProperty \
+ -I$(ERL_TOP)/lib/cosProperty/test/$(IDLOUTDIR) \
+ -I$(ERL_TOP)/lib/test_server/include
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+
+
+tests debug opt: $(TARGET_FILES)
+
+clean:
+ rm -f idl_output/*
+ rm -f $(TARGET_FILES)
+ rm -f errs core *~
+
+docs:
+
+# ----------------------------------------------------
+# Special Targets
+# ----------------------------------------------------
+
+# ----------------------------------------------------
+# Release Targets
+# ----------------------------------------------------
+# We don't copy generated intermediate erlang and hrl files
+
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_spec:
+
+release_docs_spec:
+
+release_tests_spec: tests
+ $(INSTALL_DIR) $(RELSYSDIR)
+ $(INSTALL_DATA) $(IDL_FILES) $(TEST_SPEC_FILE) \
+ $(ERL_FILES) $(RELSYSDIR)
+ $(INSTALL_DATA) $(SUITE_TARGET_FILES) $(RELSYSDIR)
+# $(INSTALL_DIR) $(RELSYSDIR)/$(IDLOUTDIR)
+# $(INSTALL_DATA) $(GEN_TARGET_FILES) $(GEN_FILES) \
+# $(RELSYSDIR)/$(IDLOUTDIR)
+
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/b_SeqIn.erl b/lib/cosProperty/test/cosProperty.spec
index a416322b8c..d3e0001eef 100644
--- a/lib/asn1/test/asn1_bin_SUITE_data/b_SeqIn.erl
+++ b/lib/cosProperty/test/cosProperty.spec
@@ -1,29 +1,20 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
-%% %CopyrightEnd%
%%
+%% %CopyrightEnd%
%%
+{topcase, {dir, "../cosProperty_test"}}.
--module(b_SeqIn).
-
--export([record_name/0]).
-
--include("Seq.hrl").
-
-record_name()->
- Rec = #b_SeqIn{boolIn=true,intIn=12},
- element(1,Rec).
diff --git a/lib/cosProperty/test/generated_SUITE.erl b/lib/cosProperty/test/generated_SUITE.erl
new file mode 100644
index 0000000000..80a7953949
--- /dev/null
+++ b/lib/cosProperty/test/generated_SUITE.erl
@@ -0,0 +1,571 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : generated_SUITE.erl
+%% Purpose :
+%%-----------------------------------------------------------------
+
+-module(generated_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(nomatch(Not, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ Not ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS);
+ _ ->
+ AcTuAlReS
+ end
+ end()).
+
+
+-define(checktc(_Op),
+ fun(TC) ->
+ case orber_tc:check_tc(TC) of
+ false ->
+ io:format("###### ERROR ERROR ######~n~p - ~p~n", [Op, TC]),
+ ?line exit(TC);
+ true ->
+ true
+ end
+ end).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["This suite is for testing IC generated files"];
+all(suite) ->
+ ['CosPropertyService_ConflictingProperty', 'CosPropertyService_ConstraintNotSupported',
+ 'CosPropertyService_FixedProperty', 'CosPropertyService_InvalidPropertyName',
+ 'CosPropertyService_MultipleExceptions', 'CosPropertyService_Properties',
+ 'CosPropertyService_Property', 'CosPropertyService_PropertyDef',
+ 'CosPropertyService_PropertyDefs', 'CosPropertyService_PropertyException',
+ 'CosPropertyService_PropertyExceptions', 'CosPropertyService_PropertyMode',
+ 'CosPropertyService_PropertyModes', 'CosPropertyService_PropertyNames',
+ 'CosPropertyService_PropertyNotFound', 'CosPropertyService_PropertyTypes',
+ 'CosPropertyService_ReadOnlyProperty', 'CosPropertyService_UnsupportedMode',
+ 'CosPropertyService_UnsupportedProperty', 'CosPropertyService_UnsupportedTypeCode',
+ 'CosPropertyService_PropertyNamesIterator', 'CosPropertyService_PropertiesIterator',
+ 'CosPropertyService_PropertySet', 'CosPropertyService_PropertySetDef',
+ 'CosPropertyService_PropertySetDefFactory', 'CosPropertyService_PropertySetFactory'].
+
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_ConflictingProperty'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_ConflictingProperty'(doc) -> ["CosPropertyService_ConflictingProperty"];
+'CosPropertyService_ConflictingProperty'(suite) -> [];
+'CosPropertyService_ConflictingProperty'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_ConflictingProperty':tc())),
+ ?match("IDL:omg.org/CosPropertyService/ConflictingProperty:1.0",
+ 'CosPropertyService_ConflictingProperty':id()),
+ ?match("CosPropertyService_ConflictingProperty",
+ 'CosPropertyService_ConflictingProperty':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_ConstraintNotSupported'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_ConstraintNotSupported'(doc) -> ["CosPropertyService_ConstraintNotSupported"];
+'CosPropertyService_ConstraintNotSupported'(suite) -> [];
+'CosPropertyService_ConstraintNotSupported'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_ConstraintNotSupported':tc())),
+ ?match("IDL:omg.org/CosPropertyService/ConstraintNotSupported:1.0",
+ 'CosPropertyService_ConstraintNotSupported':id()),
+ ?match("CosPropertyService_ConstraintNotSupported",
+ 'CosPropertyService_ConstraintNotSupported':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_FixedProperty'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_FixedProperty'(doc) -> ["CosPropertyService_FixedProperty"];
+'CosPropertyService_FixedProperty'(suite) -> [];
+'CosPropertyService_FixedProperty'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_FixedProperty':tc())),
+ ?match("IDL:omg.org/CosPropertyService/FixedProperty:1.0",
+ 'CosPropertyService_FixedProperty':id()),
+ ?match("CosPropertyService_FixedProperty",
+ 'CosPropertyService_FixedProperty':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_InvalidPropertyName'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_InvalidPropertyName'(doc) -> ["CosPropertyService_InvalidPropertyName"];
+'CosPropertyService_InvalidPropertyName'(suite) -> [];
+'CosPropertyService_InvalidPropertyName'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_InvalidPropertyName':tc())),
+ ?match("IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0",
+ 'CosPropertyService_InvalidPropertyName':id()),
+ ?match("CosPropertyService_InvalidPropertyName",
+ 'CosPropertyService_InvalidPropertyName':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_MultipleExceptions'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_MultipleExceptions'(doc) -> ["CosPropertyService_MultipleExceptions"];
+'CosPropertyService_MultipleExceptions'(suite) -> [];
+'CosPropertyService_MultipleExceptions'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_MultipleExceptions':tc())),
+ ?match("IDL:omg.org/CosPropertyService/MultipleExceptions:1.0",
+ 'CosPropertyService_MultipleExceptions':id()),
+ ?match("CosPropertyService_MultipleExceptions",
+ 'CosPropertyService_MultipleExceptions':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_Properties'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_Properties'(doc) -> ["CosPropertyService_Properties"];
+'CosPropertyService_Properties'(suite) -> [];
+'CosPropertyService_Properties'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_Properties':tc())),
+ ?match("IDL:omg.org/CosPropertyService/Properties:1.0",
+ 'CosPropertyService_Properties':id()),
+ ?match("CosPropertyService_Properties",
+ 'CosPropertyService_Properties':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_Property'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_Property'(doc) -> ["CosPropertyService_Property"];
+'CosPropertyService_Property'(suite) -> [];
+'CosPropertyService_Property'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_Property':tc())),
+ ?match("IDL:omg.org/CosPropertyService/Property:1.0",
+ 'CosPropertyService_Property':id()),
+ ?match("CosPropertyService_Property",
+ 'CosPropertyService_Property':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertyDef'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertyDef'(doc) -> ["CosPropertyService_PropertyDef"];
+'CosPropertyService_PropertyDef'(suite) -> [];
+'CosPropertyService_PropertyDef'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_PropertyDef':tc())),
+ ?match("IDL:omg.org/CosPropertyService/PropertyDef:1.0",
+ 'CosPropertyService_PropertyDef':id()),
+ ?match("CosPropertyService_PropertyDef",
+ 'CosPropertyService_PropertyDef':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertyDefs'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertyDefs'(doc) -> ["CosPropertyService_PropertyDefs"];
+'CosPropertyService_PropertyDefs'(suite) -> [];
+'CosPropertyService_PropertyDefs'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_PropertyDefs':tc())),
+ ?match("IDL:omg.org/CosPropertyService/PropertyDefs:1.0",
+ 'CosPropertyService_PropertyDefs':id()),
+ ?match("CosPropertyService_PropertyDefs",
+ 'CosPropertyService_PropertyDefs':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertyException'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertyException'(doc) -> ["CosPropertyService_PropertyException"];
+'CosPropertyService_PropertyException'(suite) -> [];
+'CosPropertyService_PropertyException'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_PropertyException':tc())),
+ ?match("IDL:omg.org/CosPropertyService/PropertyException:1.0",
+ 'CosPropertyService_PropertyException':id()),
+ ?match("CosPropertyService_PropertyException",
+ 'CosPropertyService_PropertyException':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertyExceptions'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertyExceptions'(doc) -> ["CosPropertyService_PropertyExceptions"];
+'CosPropertyService_PropertyExceptions'(suite) -> [];
+'CosPropertyService_PropertyExceptions'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_PropertyExceptions':tc())),
+ ?match("IDL:omg.org/CosPropertyService/PropertyExceptions:1.0",
+ 'CosPropertyService_PropertyExceptions':id()),
+ ?match("CosPropertyService_PropertyExceptions",
+ 'CosPropertyService_PropertyExceptions':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertyMode'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertyMode'(doc) -> ["CosPropertyService_PropertyMode"];
+'CosPropertyService_PropertyMode'(suite) -> [];
+'CosPropertyService_PropertyMode'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_PropertyMode':tc())),
+ ?match("IDL:omg.org/CosPropertyService/PropertyMode:1.0",
+ 'CosPropertyService_PropertyMode':id()),
+ ?match("CosPropertyService_PropertyMode",
+ 'CosPropertyService_PropertyMode':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertyModes'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertyModes'(doc) -> ["CosPropertyService_PropertyModes"];
+'CosPropertyService_PropertyModes'(suite) -> [];
+'CosPropertyService_PropertyModes'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_PropertyModes':tc())),
+ ?match("IDL:omg.org/CosPropertyService/PropertyModes:1.0",
+ 'CosPropertyService_PropertyModes':id()),
+ ?match("CosPropertyService_PropertyModes",
+ 'CosPropertyService_PropertyModes':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertyNames'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertyNames'(doc) -> ["CosPropertyService_PropertyNames"];
+'CosPropertyService_PropertyNames'(suite) -> [];
+'CosPropertyService_PropertyNames'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_PropertyNames':tc())),
+ ?match("IDL:omg.org/CosPropertyService/PropertyNames:1.0",
+ 'CosPropertyService_PropertyNames':id()),
+ ?match("CosPropertyService_PropertyNames",
+ 'CosPropertyService_PropertyNames':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertyNotFound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertyNotFound'(doc) -> ["CosPropertyService_PropertyNotFound"];
+'CosPropertyService_PropertyNotFound'(suite) -> [];
+'CosPropertyService_PropertyNotFound'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_PropertyNotFound':tc())),
+ ?match("IDL:omg.org/CosPropertyService/PropertyNotFound:1.0",
+ 'CosPropertyService_PropertyNotFound':id()),
+ ?match("CosPropertyService_PropertyNotFound",
+ 'CosPropertyService_PropertyNotFound':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertyTypes'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertyTypes'(doc) -> ["CosPropertyService_PropertyTypes"];
+'CosPropertyService_PropertyTypes'(suite) -> [];
+'CosPropertyService_PropertyTypes'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_PropertyTypes':tc())),
+ ?match("IDL:omg.org/CosPropertyService/PropertyTypes:1.0",
+ 'CosPropertyService_PropertyTypes':id()),
+ ?match("CosPropertyService_PropertyTypes",
+ 'CosPropertyService_PropertyTypes':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_ReadOnlyProperty'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_ReadOnlyProperty'(doc) -> ["CosPropertyService_ReadOnlyProperty"];
+'CosPropertyService_ReadOnlyProperty'(suite) -> [];
+'CosPropertyService_ReadOnlyProperty'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_ReadOnlyProperty':tc())),
+ ?match("IDL:omg.org/CosPropertyService/ReadOnlyProperty:1.0",
+ 'CosPropertyService_ReadOnlyProperty':id()),
+ ?match("CosPropertyService_ReadOnlyProperty",
+ 'CosPropertyService_ReadOnlyProperty':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_UnsupportedMode'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_UnsupportedMode'(doc) -> ["CosPropertyService_UnsupportedMode"];
+'CosPropertyService_UnsupportedMode'(suite) -> [];
+'CosPropertyService_UnsupportedMode'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_UnsupportedMode':tc())),
+ ?match("IDL:omg.org/CosPropertyService/UnsupportedMode:1.0",
+ 'CosPropertyService_UnsupportedMode':id()),
+ ?match("CosPropertyService_UnsupportedMode",
+ 'CosPropertyService_UnsupportedMode':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_UnsupportedProperty'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_UnsupportedProperty'(doc) -> ["CosPropertyService_UnsupportedProperty"];
+'CosPropertyService_UnsupportedProperty'(suite) -> [];
+'CosPropertyService_UnsupportedProperty'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_UnsupportedProperty':tc())),
+ ?match("IDL:omg.org/CosPropertyService/UnsupportedProperty:1.0",
+ 'CosPropertyService_UnsupportedProperty':id()),
+ ?match("CosPropertyService_UnsupportedProperty",
+ 'CosPropertyService_UnsupportedProperty':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_UnsupportedTypeCode'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_UnsupportedTypeCode'(doc) -> ["CosPropertyService_UnsupportedTypeCode"];
+'CosPropertyService_UnsupportedTypeCode'(suite) -> [];
+'CosPropertyService_UnsupportedTypeCode'(_) ->
+ ?match(true, orber_tc:check_tc('CosPropertyService_UnsupportedTypeCode':tc())),
+ ?match("IDL:omg.org/CosPropertyService/UnsupportedTypeCode:1.0",
+ 'CosPropertyService_UnsupportedTypeCode':id()),
+ ?match("CosPropertyService_UnsupportedTypeCode",
+ 'CosPropertyService_UnsupportedTypeCode':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertyNamesIterator'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertyNamesIterator'(doc) -> ["CosPropertyService_PropertyNamesIterator"];
+'CosPropertyService_PropertyNamesIterator'(suite) -> [];
+'CosPropertyService_PropertyNamesIterator'(_) ->
+ ?nomatch(undefined, 'CosPropertyService_PropertyNamesIterator':oe_tc(reset)),
+ ?nomatch(undefined, 'CosPropertyService_PropertyNamesIterator':oe_tc(next_one)),
+ ?nomatch(undefined, 'CosPropertyService_PropertyNamesIterator':oe_tc(next_n)),
+ ?nomatch(undefined, 'CosPropertyService_PropertyNamesIterator':oe_tc(destroy)),
+ ?match(undefined, 'CosPropertyService_PropertyNamesIterator':oe_tc(undefined)),
+ ?match([_|_], 'CosPropertyService_PropertyNamesIterator':oe_get_interface()),
+ ?match("IDL:omg.org/CosPropertyService/PropertyNamesIterator:1.0",
+ 'CosPropertyService_PropertyNamesIterator':typeID()),
+ check_tc('CosPropertyService_PropertyNamesIterator':oe_get_interface()),
+ ?match(true, 'CosPropertyService_PropertyNamesIterator':oe_is_a('CosPropertyService_PropertyNamesIterator':typeID())),
+ ?match(false, 'CosPropertyService_PropertyNamesIterator':oe_is_a("wrong")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertiesIterator'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertiesIterator'(doc) -> ["CosPropertyService_PropertiesIterator"];
+'CosPropertyService_PropertiesIterator'(suite) -> [];
+'CosPropertyService_PropertiesIterator'(_) ->
+ ?nomatch(undefined, 'CosPropertyService_PropertiesIterator':oe_tc(reset)),
+ ?nomatch(undefined, 'CosPropertyService_PropertiesIterator':oe_tc(next_one)),
+ ?nomatch(undefined, 'CosPropertyService_PropertiesIterator':oe_tc(next_n)),
+ ?nomatch(undefined, 'CosPropertyService_PropertiesIterator':oe_tc(destroy)),
+ ?match(undefined, 'CosPropertyService_PropertiesIterator':oe_tc(undefined)),
+ ?match([_|_], 'CosPropertyService_PropertiesIterator':oe_get_interface()),
+ ?match("IDL:omg.org/CosPropertyService/PropertiesIterator:1.0",
+ 'CosPropertyService_PropertiesIterator':typeID()),
+ check_tc('CosPropertyService_PropertiesIterator':oe_get_interface()),
+ ?match(true, 'CosPropertyService_PropertiesIterator':oe_is_a('CosPropertyService_PropertiesIterator':typeID())),
+ ?match(false, 'CosPropertyService_PropertiesIterator':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertySet'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertySet'(doc) -> ["CosPropertyService_PropertySet"];
+'CosPropertyService_PropertySet'(suite) -> [];
+'CosPropertyService_PropertySet'(_) ->
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(define_property)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(define_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(get_number_of_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(get_all_property_names)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(get_property_value)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(get_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(get_all_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(delete_property)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(delete_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(delete_all_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySet':oe_tc(is_property_defined)),
+ ?match(undefined, 'CosPropertyService_PropertySet':oe_tc(undefined)),
+ ?match([_|_], 'CosPropertyService_PropertySet':oe_get_interface()),
+ ?match("IDL:omg.org/CosPropertyService/PropertySet:1.0",
+ 'CosPropertyService_PropertySet':typeID()),
+ check_tc('CosPropertyService_PropertySet':oe_get_interface()),
+ ?match(true, 'CosPropertyService_PropertySet':oe_is_a('CosPropertyService_PropertySet':typeID())),
+ ?match(false, 'CosPropertyService_PropertySet':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertySetDef'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertySetDef'(doc) -> ["CosPropertyService_PropertySetDef"];
+'CosPropertyService_PropertySetDef'(suite) -> [];
+'CosPropertyService_PropertySetDef'(_) ->
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(get_allowed_property_types)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(get_allowed_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(define_property_with_mode)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(define_properties_with_modes)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(get_property_mode)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(get_property_modes)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(set_property_mode)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(set_property_modes)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(define_property)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(define_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(get_number_of_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(get_all_property_names)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(get_property_value)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(get_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(get_all_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(delete_property)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(delete_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(delete_all_properties)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDef':oe_tc(is_property_defined)),
+ ?match(undefined, 'CosPropertyService_PropertySetDef':oe_tc(undefined)),
+ ?match([_|_], 'CosPropertyService_PropertySetDef':oe_get_interface()),
+ ?match("IDL:omg.org/CosPropertyService/PropertySetDef:1.0",
+ 'CosPropertyService_PropertySetDef':typeID()),
+ check_tc('CosPropertyService_PropertySetDef':oe_get_interface()),
+ ?match(true, 'CosPropertyService_PropertySetDef':oe_is_a('CosPropertyService_PropertySetDef':typeID())),
+ ?match(true, 'CosPropertyService_PropertySetDef':oe_is_a('CosPropertyService_PropertySet':typeID())),
+ ?match(false, 'CosPropertyService_PropertySetDef':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertySetDefFactory'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertySetDefFactory'(doc) -> ["CosPropertyService_PropertySetDefFactory"];
+'CosPropertyService_PropertySetDefFactory'(suite) -> [];
+'CosPropertyService_PropertySetDefFactory'(_) ->
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDefFactory':oe_tc(create_propertysetdef)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDefFactory':oe_tc(create_constrained_propertysetdef)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetDefFactory':oe_tc(create_initial_propertysetdef)),
+ ?match(undefined, 'CosPropertyService_PropertySetDefFactory':oe_tc(undefined)),
+ ?match([_|_], 'CosPropertyService_PropertySetDefFactory':oe_get_interface()),
+ ?match("IDL:omg.org/CosPropertyService/PropertySetDefFactory:1.0",
+ 'CosPropertyService_PropertySetDefFactory':typeID()),
+ check_tc('CosPropertyService_PropertySetDefFactory':oe_get_interface()),
+ ?match(true, 'CosPropertyService_PropertySetDefFactory':oe_is_a('CosPropertyService_PropertySetDefFactory':typeID())),
+ ?match(false, 'CosPropertyService_PropertySetDefFactory':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosPropertyService_PropertySetFactory'
+%% Description:
+%%-----------------------------------------------------------------
+'CosPropertyService_PropertySetFactory'(doc) -> ["CosPropertyService_PropertySetFactory"];
+'CosPropertyService_PropertySetFactory'(suite) -> [];
+'CosPropertyService_PropertySetFactory'(_) ->
+ ?nomatch(undefined, 'CosPropertyService_PropertySetFactory':oe_tc(create_propertyset)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetFactory':oe_tc(create_constrained_propertyset)),
+ ?nomatch(undefined, 'CosPropertyService_PropertySetFactory':oe_tc(create_initial_propertyset)),
+ ?match(undefined, 'CosPropertyService_PropertySetFactory':oe_tc(undefined)),
+ ?match([_|_], 'CosPropertyService_PropertySetFactory':oe_get_interface()),
+ ?match("IDL:omg.org/CosPropertyService/PropertySetFactory:1.0",
+ 'CosPropertyService_PropertySetFactory':typeID()),
+ check_tc('CosPropertyService_PropertySetFactory':oe_get_interface()),
+ ?match(true, 'CosPropertyService_PropertySetFactory':oe_is_a('CosPropertyService_PropertySetFactory':typeID())),
+ ?match(false, 'CosPropertyService_PropertySetFactory':oe_is_a("wrong")),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% MISC functions
+%%-----------------------------------------------------------------
+check_tc([]) ->
+ ok;
+check_tc([{Op, {RetType, InParameters, OutParameters}}|T]) ->
+ io:format("checked - ~s~n", [Op]),
+ lists:all(?checktc(Op), [RetType|InParameters]),
+ lists:all(?checktc(Op), OutParameters),
+ check_tc(T).
+
+
diff --git a/lib/cosProperty/test/property_SUITE.erl b/lib/cosProperty/test/property_SUITE.erl
new file mode 100644
index 0000000000..8fed3128ef
--- /dev/null
+++ b/lib/cosProperty/test/property_SUITE.erl
@@ -0,0 +1,747 @@
+%%----------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%----------------------------------------------------------------------
+%% File : property_SUITE.erl
+%% Description :
+%%
+%%----------------------------------------------------------------------
+-module(property_SUITE).
+
+
+%%--------------- INCLUDES -----------------------------------
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+-include_lib("cosProperty/src/cosProperty.hrl").
+-include_lib("cosProperty/include/CosPropertyService.hrl").
+
+-include("test_server.hrl").
+
+%%--------------- DEFINES ------------------------------------
+-define(default_timeout, ?t:minutes(20)).
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ exit(AcTuAlReS)
+ end
+ end()).
+
+-define(match_inverse(NotExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ NotExpectedRes ->
+ io:format("###### ERROR ERROR ######~n ~p~n",
+ [AcTuAlReS]),
+ exit(AcTuAlReS);
+ _ ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS
+ end
+ end()).
+
+
+-define(val1, #any{typecode=tk_short, value=1}).
+-define(val2, #any{typecode=tk_short, value=2}).
+-define(val3, #any{typecode=tk_short, value=3}).
+-define(val4, #any{typecode=tk_short, value=4}).
+-define(val5, #any{typecode=tk_long, value=5}).
+-define(badval, #any{typecode=tk_shirt, value=5}).
+
+-define(id1, "id1").
+-define(id2, "id2").
+-define(id3, "id3").
+-define(id4, "id4").
+-define(id5, "id5").
+-define(badid, "").
+
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+%% Fixed exports
+-export([all/1, cases/0, init_all/1, finish_all/1,
+ init_per_testcase/2, fin_per_testcase/2]).
+%% Test cases
+-export([create_setdef_api/1, create_set_api/1, define_with_mode_api/1,
+ define_api/1, names_iterator_api/1, properties_iterator_api/1,
+ app_test/1]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for the cosProperty interfaces", ""];
+all(suite) -> {req,
+ [mnesia, orber],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [create_setdef_api, create_set_api, define_with_mode_api, define_api,
+ names_iterator_api, properties_iterator_api, app_test].
+
+
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ orber:jump_start(),
+ cosProperty:install(),
+ cosProperty:install_db(),
+ ?line ?match(ok, application:start(cosProperty)),
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ application:stop(cosProperty),
+ cosProperty:uninstall_db(),
+ cosProperty:uninstall(),
+ orber:jump_stop(),
+ Config.
+
+%%-----------------------------------------------------------------
+%% Tests app file
+%%-----------------------------------------------------------------
+app_test(doc) -> [];
+app_test(suite) -> [];
+app_test(_Config) ->
+ ok=test_server:app_test(cosProperty),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% CosPropertyService_PropertySetDefFactory API tests
+%%-----------------------------------------------------------------
+create_setdef_api(doc) -> ["CosPropertyService_PropertySetDefFactory API tests.",
+ ""];
+create_setdef_api(suite) -> [];
+create_setdef_api(_Config) ->
+
+ ValidDefs = [#'CosPropertyService_PropertyDef'
+ {property_name = ?id1,
+ property_value = ?val1,
+ property_mode = normal},
+ #'CosPropertyService_PropertyDef'
+ {property_name = ?id2,
+ property_value = ?val2,
+ property_mode = normal}],
+ InvalidDefs = [#'CosPropertyService_PropertyDef'
+ {property_name = ?id1,
+ property_value = ?val1,
+ property_mode = normal},
+ #'CosPropertyService_PropertyDef'
+ {property_name = ?badid,
+ property_value = ?badval,
+ property_mode = normal}],
+
+ Fac = ?match({_,pseudo,_,_,_,_}, cosProperty:start_SetDefFactory()),
+
+ Obj1 = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetDefFactory':
+ create_propertysetdef(Fac)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+ corba:dispose(Obj1),
+
+
+ Obj2 = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetDefFactory':
+ create_constrained_propertysetdef(Fac, [tk_short], ValidDefs)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+ corba:dispose(Obj2),
+
+ %% Both arguments correct but 'ValidDefs' contain other TC:s than
+ %% tk_null.
+ ?match({'EXCEPTION', _}, 'CosPropertyService_PropertySetDefFactory':
+ create_constrained_propertysetdef(Fac, [tk_null], ValidDefs)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+
+ ?match({'EXCEPTION', _}, 'CosPropertyService_PropertySetDefFactory':
+ create_constrained_propertysetdef(Fac, [tk_null], InvalidDefs)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+
+ %% The allowed TC not supported.
+ ?match({'EXCEPTION', _}, 'CosPropertyService_PropertySetDefFactory':
+ create_constrained_propertysetdef(Fac, [tk_noll], ValidDefs)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+
+ Obj4 = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetDefFactory':
+ create_initial_propertysetdef(Fac, ValidDefs)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+ corba:dispose(Obj4),
+
+ ?match({'EXCEPTION', _}, 'CosPropertyService_PropertySetDefFactory':
+ create_initial_propertysetdef(Fac, InvalidDefs)),
+
+ ?match(ok, cosProperty:stop_SetDefFactory(Fac)),
+
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% CosPropertyService_PropertySetFactory API tests
+%%-----------------------------------------------------------------
+create_set_api(doc) -> ["CosPropertyService_PropertySetFactory API tests.",
+ ""];
+create_set_api(suite) -> [];
+create_set_api(_Config) ->
+ Valid = [#'CosPropertyService_Property'
+ {property_name = ?id1,
+ property_value = ?val1},
+ #'CosPropertyService_Property'
+ {property_name = ?id2,
+ property_value = ?val2}],
+ Invalid = [#'CosPropertyService_Property'
+ {property_name = ?id1,
+ property_value = ?val1},
+ #'CosPropertyService_Property'
+ {property_name = ?badid,
+ property_value = ?badval}],
+
+ Fac = ?match({_,pseudo,_,_,_,_}, cosProperty:start_SetFactory()),
+ Obj1 = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetFactory':
+ create_propertyset(Fac)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+ corba:dispose(Obj1),
+
+
+ Obj2 = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetFactory':
+ create_constrained_propertyset(Fac, [tk_short], Valid)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+ corba:dispose(Obj2),
+
+ %% Both arguments correct but 'Valid' contain other TC:s than
+ %% tk_null.
+ ?match({'EXCEPTION', _}, 'CosPropertyService_PropertySetFactory':
+ create_constrained_propertyset(Fac, [tk_null], Valid)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+
+ ?match({'EXCEPTION', _}, 'CosPropertyService_PropertySetFactory':
+ create_constrained_propertyset(Fac, [tk_null], Invalid)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+
+ %% The allowed TC not supported.
+ ?match({'EXCEPTION', _}, 'CosPropertyService_PropertySetFactory':
+ create_constrained_propertyset(Fac, [tk_noll], Valid)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+
+ Obj4 = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetFactory':
+ create_initial_propertyset(Fac, Valid)),
+ 'CosPropertyService_PropertySetDef_impl':dump(),
+ corba:dispose(Obj4),
+
+ ?match({'EXCEPTION', _}, 'CosPropertyService_PropertySetFactory':
+ create_initial_propertyset(Fac, Invalid)),
+ ?match(ok, cosProperty:stop_SetFactory(Fac)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% CosPropertyService_PropertySetDef API tests
+%%-----------------------------------------------------------------
+define_api(doc) -> ["CosPropertyService_PropertySet API tests.",
+ ""];
+define_api(suite) -> [];
+define_api(_Config) ->
+ ValidDefs = [#'CosPropertyService_Property'
+ {property_name = ?id1,
+ property_value = ?val1},
+ #'CosPropertyService_Property'
+ {property_name = ?id2,
+ property_value = ?val2},
+ #'CosPropertyService_Property'
+ {property_name = ?id3,
+ property_value = ?val3}],
+
+ Fac = ?match({_,pseudo,_,_,_,_}, cosProperty:start_SetFactory()),
+
+ io:format("@@@@ Testing PropertySet returned by the factory operation create_propertyset/1 @@@@", []),
+ Obj = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetFactory':
+ create_propertyset(Fac)),
+ ?match(ok, 'CosPropertyService_PropertySet':define_property(Obj, ?id1, ?val1)),
+ ?match(ok, 'CosPropertyService_PropertySet':define_property(Obj, ?id1, ?val1)),
+
+ ?match(1, 'CosPropertyService_PropertySet':get_number_of_properties(Obj)),
+ ?match(ok, 'CosPropertyService_PropertySet':
+ define_properties(Obj, [#'CosPropertyService_Property'{property_name = ?id2,
+ property_value = ?val2},
+ #'CosPropertyService_Property'{property_name = ?id3,
+ property_value = ?val3}])),
+
+ ?match(3, 'CosPropertyService_PropertySet':get_number_of_properties(Obj)),
+
+ ?match({true, [_]}, 'CosPropertyService_PropertySet':get_properties(Obj, [?id1])),
+ ?match({true, [_, _, _]}, 'CosPropertyService_PropertySet':get_properties(Obj, [?id1, ?id2, ?id3])),
+ ?match({false,[_, _, _]}, 'CosPropertyService_PropertySet':get_properties(Obj, [?id1, "wrong", ?id3])),
+
+ ?match(?val2, 'CosPropertyService_PropertySet':get_property_value(Obj, ?id2)),
+ ?match(ok, 'CosPropertyService_PropertySet':delete_property(Obj, ?id1)),
+
+ ?match(2, 'CosPropertyService_PropertySet':get_number_of_properties(Obj)),
+
+ ?match(ok, 'CosPropertyService_PropertySet':define_property(Obj, ?id1, ?val1)),
+ ?match(ok, 'CosPropertyService_PropertySet':define_property(Obj, ?id2, ?val2)),
+ ?match(ok, 'CosPropertyService_PropertySet':define_property(Obj, ?id3, ?val3)),
+
+ ?match(true, 'CosPropertyService_PropertySet':delete_all_properties(Obj)),
+ ?match(0, 'CosPropertyService_PropertySet':get_number_of_properties(Obj)),
+
+ ?match(ok, 'CosPropertyService_PropertySet':
+ define_properties(Obj, [#'CosPropertyService_Property'{property_name = ?id1,
+ property_value = ?val1},
+ #'CosPropertyService_Property'{property_name = ?id2,
+ property_value = ?val2},
+ #'CosPropertyService_Property'{property_name = ?id3,
+ property_value = ?val3}])),
+
+ ?match(3, 'CosPropertyService_PropertySet':get_number_of_properties(Obj)),
+ ?match(?val2, 'CosPropertyService_PropertySet':get_property_value(Obj, ?id2)),
+
+ ?match({'EXCEPTION',{'CosPropertyService_PropertyNotFound',_}},
+ 'CosPropertyService_PropertySet':get_property_value(Obj, "wrongID")),
+ ?match({'EXCEPTION',{'CosPropertyService_InvalidPropertyName',_}},
+ 'CosPropertyService_PropertySet':get_property_value(Obj, "")),
+ ?match({'EXCEPTION',{'CosPropertyService_InvalidPropertyName',_}},
+ 'CosPropertyService_PropertySet':is_property_defined(Obj, "")),
+ ?match(false, 'CosPropertyService_PropertySet':is_property_defined(Obj, "wrongID")),
+ ?match(true, 'CosPropertyService_PropertySet':is_property_defined(Obj, ?id1)),
+
+ %% This function is not supported by PropertySet.
+ ?match({'EXCEPTION',{'NO_IMPLEMENT',_,_,_}},
+ 'CosPropertyService_PropertySetDef':get_property_modes(Obj, [?id1, ?id2, ?id3])),
+
+ ?match({'EXCEPTION',{'CosPropertyService_MultipleExceptions',_,_}},
+ 'CosPropertyService_PropertySet':delete_properties(Obj, [?id1, ?id2, ?id3, "wrongID"])),
+ ?match(0, 'CosPropertyService_PropertySet':get_number_of_properties(Obj)),
+ corba:dispose(Obj),
+
+ io:format("@@@@ Testing PropertySet returned by the factory operation create_constrained_propertyset/3 @@@@", []),
+ Obj2 = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetFactory':
+ create_constrained_propertyset(Fac, [tk_short], ValidDefs)),
+
+ ?match(0, 'CosPropertyService_PropertySet':get_number_of_properties(Obj2)),
+ ?match({'EXCEPTION', {'CosPropertyService_UnsupportedProperty',_}},
+ 'CosPropertyService_PropertySet':define_property(Obj2, ?id4, ?val4)),
+ ?match({'EXCEPTION', {'CosPropertyService_UnsupportedTypeCode',_}},
+ 'CosPropertyService_PropertySet':define_property(Obj2, ?id1, ?val5)),
+ ?match(ok, 'CosPropertyService_PropertySet':define_property(Obj2, ?id1, ?val1)),
+ ?match(1, 'CosPropertyService_PropertySet':get_number_of_properties(Obj2)),
+ ?match({'EXCEPTION',{'CosPropertyService_MultipleExceptions',_,_}},
+ 'CosPropertyService_PropertySet':
+ define_properties(Obj2, [#'CosPropertyService_Property'{property_name = ?id2,
+ property_value = ?val2},
+ #'CosPropertyService_Property'{property_name = ?id3,
+ property_value = ?val3},
+ #'CosPropertyService_Property'{property_name = "wrongId",
+ property_value = ?val2}])),
+ ?match(ok,'CosPropertyService_PropertySet':
+ define_properties(Obj2, [#'CosPropertyService_Property'{property_name = ?id2,
+ property_value = ?val2},
+ #'CosPropertyService_Property'{property_name = ?id3,
+ property_value = ?val3}])),
+ ?match(3, 'CosPropertyService_PropertySet':get_number_of_properties(Obj2)),
+ ?match({'EXCEPTION',{'CosPropertyService_PropertyNotFound',_}},
+ 'CosPropertyService_PropertySet':get_property_value(Obj2, "wrongID")),
+ ?match(?val2, 'CosPropertyService_PropertySet':get_property_value(Obj2, ?id2)),
+ ?match({'EXCEPTION',{'CosPropertyService_InvalidPropertyName',_}},
+ 'CosPropertyService_PropertySet':get_property_value(Obj2, "")),
+ ?match({'EXCEPTION',{'CosPropertyService_InvalidPropertyName',_}},
+ 'CosPropertyService_PropertySet':is_property_defined(Obj2, "")),
+ ?match(false, 'CosPropertyService_PropertySet':is_property_defined(Obj2, "wrongID")),
+ ?match(true, 'CosPropertyService_PropertySet':is_property_defined(Obj2, ?id1)),
+
+
+ ?match({'EXCEPTION',{'CosPropertyService_PropertyNotFound',_}},
+ 'CosPropertyService_PropertySet':delete_property(Obj2, "wrongID")),
+ ?match(3, 'CosPropertyService_PropertySet':get_number_of_properties(Obj2)),
+ ?match(ok, 'CosPropertyService_PropertySet':delete_property(Obj2, ?id1)),
+ ?match(2, 'CosPropertyService_PropertySet':get_number_of_properties(Obj2)),
+
+ ?match(ok, 'CosPropertyService_PropertySet':delete_properties(Obj2, [?id2])),
+ ?match(1, 'CosPropertyService_PropertySet':get_number_of_properties(Obj2)),
+
+ ?match({'EXCEPTION',{'CosPropertyService_MultipleExceptions',_,_}},
+ 'CosPropertyService_PropertySet':delete_properties(Obj2, [?id3, "wrongID"])),
+ ?match(0, 'CosPropertyService_PropertySet':get_number_of_properties(Obj2)),
+ corba:dispose(Obj2),
+
+ io:format("@@@@ Testing PropertySet returned by the factory operation create_initial_propertyset/2 @@@@", []),
+ Obj3 = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetFactory':
+ create_initial_propertyset(Fac, ValidDefs)),
+ ?match(3, 'CosPropertyService_PropertySet':get_number_of_properties(Obj3)),
+
+ ?match(ok, 'CosPropertyService_PropertySet':define_property(Obj3, ?id4, ?val4)),
+ ?match(4, 'CosPropertyService_PropertySet':get_number_of_properties(Obj3)),
+
+ ?match(ok,'CosPropertyService_PropertySet':
+ define_properties(Obj3, [#'CosPropertyService_Property'{property_name = ?id5,
+ property_value = ?val5}])),
+
+ ?match(5, 'CosPropertyService_PropertySet':get_number_of_properties(Obj3)),
+
+ ?match({'EXCEPTION',{'CosPropertyService_PropertyNotFound',_}},
+ 'CosPropertyService_PropertySet':get_property_value(Obj3, "wrongID")),
+ ?match(?val2, 'CosPropertyService_PropertySet':get_property_value(Obj3, ?id2)),
+ ?match({'EXCEPTION',{'CosPropertyService_InvalidPropertyName',_}},
+ 'CosPropertyService_PropertySet':get_property_value(Obj3, "")),
+ ?match({'EXCEPTION',{'CosPropertyService_InvalidPropertyName',_}},
+ 'CosPropertyService_PropertySet':is_property_defined(Obj3, "")),
+ ?match(false, 'CosPropertyService_PropertySet':is_property_defined(Obj3, "wrongID")),
+ ?match(true, 'CosPropertyService_PropertySet':is_property_defined(Obj3, ?id1)),
+
+ ?match({'EXCEPTION',{'CosPropertyService_PropertyNotFound',_}},
+ 'CosPropertyService_PropertySet':delete_property(Obj3, "wrongId")),
+ ?match(ok, 'CosPropertyService_PropertySet':delete_property(Obj3, ?id5)),
+ ?match(4, 'CosPropertyService_PropertySet':get_number_of_properties(Obj3)),
+
+ ?match({'EXCEPTION',{'CosPropertyService_MultipleExceptions',_,_}},
+ 'CosPropertyService_PropertySet':delete_properties(Obj3, [?id1, ?id2, ?id3, "wrongID"])),
+ ?match(1, 'CosPropertyService_PropertySet':get_number_of_properties(Obj3)),
+
+ ?match(true, 'CosPropertyService_PropertySet':delete_all_properties(Obj3)),
+ ?match(0, 'CosPropertyService_PropertySet':get_number_of_properties(Obj3)),
+
+ corba:dispose(Obj3),
+ ?match(ok, cosProperty:stop_SetFactory(Fac)),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% CosPropertyService_PropertySetDef API tests
+%%-----------------------------------------------------------------
+define_with_mode_api(doc) -> ["CosPropertyService_PropertySetDef API tests.",
+ ""];
+define_with_mode_api(suite) -> [];
+define_with_mode_api(_Config) ->
+ ValidDefs = [#'CosPropertyService_PropertyDef'
+ {property_name = ?id1,
+ property_value = ?val1,
+ property_mode = normal},
+ #'CosPropertyService_PropertyDef'
+ {property_name = ?id2,
+ property_value = ?val2,
+ property_mode = normal},
+ #'CosPropertyService_PropertyDef'
+ {property_name = ?id3,
+ property_value = ?val3,
+ property_mode = normal}],
+
+ Fac = ?match({_,pseudo,_,_,_,_}, cosProperty:start_SetDefFactory()),
+
+ io:format("@@@@ Testing PropertySetDef returned by the factory operation create_propertysetdef/1 @@@@", []),
+ Obj = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetDefFactory':
+ create_propertysetdef(Fac)),
+
+ %% Initally no prop's created and no restrictions at all
+ ?match(0, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj)),
+ ?match({ok, []}, 'CosPropertyService_PropertySetDef':get_allowed_property_types(Obj)),
+ ?match({ok, []}, 'CosPropertyService_PropertySetDef':get_allowed_properties(Obj)),
+
+ %% Add two properties.
+ ?match(ok, 'CosPropertyService_PropertySetDef':define_property_with_mode(Obj, ?id4, ?val4, read_only)),
+ ?match(ok, 'CosPropertyService_PropertySetDef':define_property_with_mode(Obj, ?id5, ?val5, normal)),
+ %% Try to add the same property again (shouldn't add another since using the sam Id).
+ ?match(ok, 'CosPropertyService_PropertySetDef':define_property_with_mode(Obj, ?id5, ?val5, normal)),
+
+ %% Try to add another identical proprty with wrong TC.
+ ?match({'EXCEPTION',{'CosPropertyService_ConflictingProperty',_}},
+ 'CosPropertyService_PropertySetDef':define_property_with_mode(Obj, ?id5, ?val4, normal)),
+
+
+ %% Should be two now.
+ ?match(2, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj)),
+
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj, ?id4)),
+ ?match(normal, 'CosPropertyService_PropertySetDef':get_property_mode(Obj, ?id5)),
+ ?match(ok, 'CosPropertyService_PropertySetDef':
+ define_properties_with_modes(Obj,
+ [#'CosPropertyService_PropertyDef'{property_name = ?id1,
+ property_value = ?val1,
+ property_mode = normal},
+ #'CosPropertyService_PropertyDef'{property_name = ?id2,
+ property_value = ?val2,
+ property_mode = normal},
+ #'CosPropertyService_PropertyDef'{property_name = ?id3,
+ property_value = ?val3,
+ property_mode = normal}])),
+ %% Should be five now.
+ ?match(5, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj)),
+ ?match({true, [_,_]}, 'CosPropertyService_PropertySetDef':get_property_modes(Obj, [?id1, ?id3])),
+ ?match({false, [_,_,_]}, 'CosPropertyService_PropertySetDef':get_property_modes(Obj, [?id1, ?id3, "wrongID"])),
+
+ ?match(ok, 'CosPropertyService_PropertySetDef':set_property_mode(Obj, ?id1, read_only)),
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj, ?id1)),
+
+ ?match({'EXCEPTION',{'CosPropertyService_PropertyNotFound',_}},
+ 'CosPropertyService_PropertySetDef':set_property_mode(Obj, "wrongID", read_only)),
+
+ ?match({'EXCEPTION',{'CosPropertyService_MultipleExceptions',_,_}},
+ 'CosPropertyService_PropertySetDef':
+ set_property_modes(Obj,
+ [#'CosPropertyService_PropertyMode'{property_name = ?id2,
+ property_mode = read_only},
+ #'CosPropertyService_PropertyMode'{property_name = ?id3,
+ property_mode = read_only},
+ #'CosPropertyService_PropertyMode'{property_name = "wrongID",
+ property_mode = read_only}])),
+ ?match(normal, 'CosPropertyService_PropertySetDef':get_property_mode(Obj, ?id2)),
+ ?match(ok,
+ 'CosPropertyService_PropertySetDef':
+ set_property_modes(Obj,
+ [#'CosPropertyService_PropertyMode'{property_name = ?id2,
+ property_mode = read_only},
+ #'CosPropertyService_PropertyMode'{property_name = ?id3,
+ property_mode = read_only}])),
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj, ?id2)),
+
+ corba:dispose(Obj),
+
+
+ io:format("@@@@ Testing PropertySetDef returned by the factory operation create_constrained_propertysetdef/3 @@@@", []),
+ Obj2 = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetDefFactory':
+ create_constrained_propertysetdef(Fac, [tk_short], ValidDefs)),
+
+ %% Initally no prop's created and the restrictions that only Properties eq. to ValidDefs
+ %% may be handled.
+ ?match(0, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj2)),
+ ?match({ok, [tk_short]}, 'CosPropertyService_PropertySetDef':get_allowed_property_types(Obj2)),
+ %% We cannot be sure in which order it's returned. Hmm, that's not really true but it
+ %% may change in the future.
+ ?match({ok, [_,_,_]}, 'CosPropertyService_PropertySetDef':get_allowed_properties(Obj2)),
+ %% Try to add a Property with and Id not eq. to ?id1, ?id2 or ?id3; must fail.
+ ?match({'EXCEPTION', {'CosPropertyService_UnsupportedProperty',_}},
+ 'CosPropertyService_PropertySetDef':define_property_with_mode(Obj2, ?id4, ?val4, read_only)),
+ %% To be sure that nothing was updated.
+ ?match(0, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj2)),
+ %% Add a valid Property.
+ ?match(ok, 'CosPropertyService_PropertySetDef':define_property_with_mode(Obj2, ?id1, ?val1, normal)),
+ ?match(1, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj2)),
+ %% Add a sequence of 1 valid and one invalid Prop's
+ ?match({'EXCEPTION', {'CosPropertyService_MultipleExceptions',_,_}},
+ 'CosPropertyService_PropertySetDef':
+ define_properties_with_modes(Obj2,
+ [#'CosPropertyService_PropertyDef'{property_name = ?id2,
+ property_value = ?val2,
+ property_mode = normal},
+ #'CosPropertyService_PropertyDef'{property_name = "wrongID",
+ property_value = ?val2,
+ property_mode = normal}])),
+ %% One should be added.
+ ?match(1, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj2)),
+ ?match(ok, 'CosPropertyService_PropertySetDef':
+ define_properties_with_modes(Obj2,
+ [#'CosPropertyService_PropertyDef'{property_name = ?id3,
+ property_value = ?val3,
+ property_mode = normal}])),
+ %% Add a sequence of 1 valid Prop.
+ ?match(2, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj2)),
+ ?match(normal, 'CosPropertyService_PropertySetDef':get_property_mode(Obj2, ?id1)),
+ ?match(normal, 'CosPropertyService_PropertySetDef':get_property_mode(Obj2, ?id3)),
+
+
+ ?match({true, [_,_]}, 'CosPropertyService_PropertySetDef':get_property_modes(Obj2, [?id1, ?id3])),
+ ?match({false, [_,_,_]}, 'CosPropertyService_PropertySetDef':get_property_modes(Obj2, [?id1, ?id3, "wrongID"])),
+
+ ?match(ok, 'CosPropertyService_PropertySetDef':set_property_mode(Obj2, ?id1, read_only)),
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj2, ?id1)),
+ ?match(ok, 'CosPropertyService_PropertySetDef':
+ set_property_modes(Obj2,
+ [#'CosPropertyService_PropertyMode'{property_name = ?id1,
+ property_mode = read_only},
+ #'CosPropertyService_PropertyMode'{property_name = ?id3,
+ property_mode = read_only}])),
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj2, ?id1)),
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj2, ?id3)),
+ ?match({'EXCEPTION',{'CosPropertyService_MultipleExceptions',_,_}},
+ 'CosPropertyService_PropertySetDef':
+ set_property_modes(Obj2,
+ [#'CosPropertyService_PropertyMode'{property_name = ?id1,
+ property_mode = normal},
+ #'CosPropertyService_PropertyMode'{property_name = ?id3,
+ property_mode = normal},
+ #'CosPropertyService_PropertyMode'{property_name = "wrongID",
+ property_mode = normal}])),
+
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj2, ?id1)),
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj2, ?id3)),
+ corba:dispose(Obj2),
+
+ io:format("@@@@ Testing PropertySetDef returned by the factory operation create_initial_propertysetdef/2 @@@@", []),
+ Obj3 = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetDefFactory':
+ create_initial_propertysetdef(Fac, ValidDefs)),
+
+ %% Initally the supplied prop's are created and no restrictions.
+ ?match(3, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj3)),
+ ?match({ok, []}, 'CosPropertyService_PropertySetDef':get_allowed_property_types(Obj3)),
+ ?match({ok, []}, 'CosPropertyService_PropertySetDef':get_allowed_properties(Obj3)),
+
+ %% Add a new properties an test if they have been inserted.
+ ?match(ok, 'CosPropertyService_PropertySetDef':define_property_with_mode(Obj3, ?id4, ?val4, read_only)),
+ ?match(4, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj3)),
+ ?match(ok, 'CosPropertyService_PropertySetDef':define_property_with_mode(Obj3, ?id5, ?val5, read_only)),
+ ?match(5, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj3)),
+
+ %% Lookup each Property's mode.
+ ?match(normal, 'CosPropertyService_PropertySetDef':get_property_mode(Obj3, ?id1)),
+ ?match(normal, 'CosPropertyService_PropertySetDef':get_property_mode(Obj3, ?id2)),
+ ?match(normal, 'CosPropertyService_PropertySetDef':get_property_mode(Obj3, ?id3)),
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj3, ?id4)),
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj3, ?id5)),
+
+ ?match({true, [_,_,_,_,_]},
+ 'CosPropertyService_PropertySetDef':get_property_modes(Obj3, [?id1, ?id2, ?id3, ?id4, ?id5])),
+ ?match({false, [_,_]},
+ 'CosPropertyService_PropertySetDef':get_property_modes(Obj3, [?id1, "wrongID"])),
+ ?match(ok, 'CosPropertyService_PropertySetDef':set_property_mode(Obj3, ?id4, normal)),
+ ?match(normal, 'CosPropertyService_PropertySetDef':get_property_mode(Obj3, ?id4)),
+
+ ?match(ok, 'CosPropertyService_PropertySetDef':
+ set_property_modes(Obj3,
+ [#'CosPropertyService_PropertyMode'{property_name = ?id1,
+ property_mode = read_only},
+ #'CosPropertyService_PropertyMode'{property_name = ?id2,
+ property_mode = read_only}])),
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj3, ?id1)),
+ ?match(read_only, 'CosPropertyService_PropertySetDef':get_property_mode(Obj3, ?id2)),
+ ?match({'EXCEPTION',{'CosPropertyService_MultipleExceptions',_,_}},
+ 'CosPropertyService_PropertySetDef':
+ set_property_modes(Obj3,
+ [#'CosPropertyService_PropertyMode'{property_name = ?id3,
+ property_mode = read_only},
+ #'CosPropertyService_PropertyMode'{property_name = ?id4,
+ property_mode = read_only},
+ #'CosPropertyService_PropertyMode'{property_name = "wrongID",
+ property_mode = read_only}])),
+
+ ?match(normal, 'CosPropertyService_PropertySetDef':get_property_mode(Obj3, ?id3)),
+ ?match(normal, 'CosPropertyService_PropertySetDef':get_property_mode(Obj3, ?id4)),
+
+ corba:dispose(Obj3),
+
+ ?match(ok, cosProperty:stop_SetDefFactory(Fac)),
+
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% CosPropertyService_PropertyNamesIterator API tests
+%%-----------------------------------------------------------------
+names_iterator_api(doc) -> ["CosPropertyService_PropertyNamesIterator API tests.",
+ ""];
+names_iterator_api(suite) -> [];
+names_iterator_api(_Config) ->
+ Fac = ?match({_,pseudo,_,_,_,_}, cosProperty:start_SetFactory()),
+ Obj = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetFactory':
+ create_propertyset(Fac)),
+ ?match(ok, 'CosPropertyService_PropertySet':
+ define_properties(Obj, [#'CosPropertyService_Property'{property_name = ?id1,
+ property_value = ?val1},
+ #'CosPropertyService_Property'{property_name = ?id2,
+ property_value = ?val2},
+ #'CosPropertyService_Property'{property_name = ?id3,
+ property_value = ?val3}])),
+
+ ?match(3, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj)),
+ {_, _,ItObj} = ?match({ok, [], _}, 'CosPropertyService_PropertySetDef':get_all_property_names(Obj, 0)),
+ ?match({false, [_,_,_]}, 'CosPropertyService_PropertyNamesIterator':next_n(ItObj,3)),
+ ?match(ok, 'CosPropertyService_PropertyNamesIterator':reset(ItObj)),
+ ?match({false, [_,_,_]}, 'CosPropertyService_PropertyNamesIterator':next_n(ItObj,4)),
+ ?match(ok, 'CosPropertyService_PropertyNamesIterator':reset(ItObj)),
+ ?match({true, [_]}, 'CosPropertyService_PropertyNamesIterator':next_n(ItObj,1)),
+ ?match({true, _}, 'CosPropertyService_PropertyNamesIterator':next_one(ItObj)),
+ ?match({true, _}, 'CosPropertyService_PropertyNamesIterator':next_one(ItObj)),
+ ?match({false, _}, 'CosPropertyService_PropertyNamesIterator':next_one(ItObj)),
+ ?match(ok, 'CosPropertyService_PropertyNamesIterator':destroy(ItObj)),
+
+ corba:dispose(Obj),
+ ok.
+
+%%-----------------------------------------------------------------
+%% CosPropertyService_PropertiesIterator API tests
+%%-----------------------------------------------------------------
+properties_iterator_api(doc) -> ["CosPropertyService_PropertiesIterator API tests.",
+ ""];
+properties_iterator_api(suite) -> [];
+properties_iterator_api(_Config) ->
+ Fac = ?match({_,pseudo,_,_,_,_}, cosProperty:start_SetFactory()),
+ Obj = ?match({_,pseudo,_,_,_,_}, 'CosPropertyService_PropertySetFactory':
+ create_propertyset(Fac)),
+
+ ?match(ok, 'CosPropertyService_PropertySet':
+ define_properties(Obj, [#'CosPropertyService_Property'{property_name = ?id1,
+ property_value = ?val1},
+ #'CosPropertyService_Property'{property_name = ?id2,
+ property_value = ?val2},
+ #'CosPropertyService_Property'{property_name = ?id3,
+ property_value = ?val3}])),
+
+ ?match(3, 'CosPropertyService_PropertySetDef':get_number_of_properties(Obj)),
+ {_, _,ItObj} = ?match({ok, [], _},
+ 'CosPropertyService_PropertySetDef':get_all_properties(Obj, 0)),
+ ?match({false, [_,_,_]}, 'CosPropertyService_PropertiesIterator':next_n(ItObj,3)),
+ ?match(ok, 'CosPropertyService_PropertiesIterator':reset(ItObj)),
+ ?match({false, [_,_,_]}, 'CosPropertyService_PropertiesIterator':next_n(ItObj,4)),
+ ?match(ok, 'CosPropertyService_PropertiesIterator':reset(ItObj)),
+ ?match({true, [_]}, 'CosPropertyService_PropertiesIterator':next_n(ItObj,1)),
+ ?match({true, {'CosPropertyService_Property',_,_}},
+ 'CosPropertyService_PropertiesIterator':next_one(ItObj)),
+ ?match({true, {'CosPropertyService_Property',_,_}},
+ 'CosPropertyService_PropertiesIterator':next_one(ItObj)),
+ ?match({false, {'CosPropertyService_Property',_,_}},
+ 'CosPropertyService_PropertiesIterator':next_one(ItObj)),
+ ?match(ok, 'CosPropertyService_PropertiesIterator':destroy(ItObj)),
+ corba:dispose(Obj),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% END OF MODULE
+%%-----------------------------------------------------------------
diff --git a/lib/cosProperty/vsn.mk b/lib/cosProperty/vsn.mk
index c221e6fa4a..3d594a8329 100644
--- a/lib/cosProperty/vsn.mk
+++ b/lib/cosProperty/vsn.mk
@@ -1,6 +1,8 @@
-COSPROPERTY_VSN = 1.1.11
+COSPROPERTY_VSN = 1.1.12
-TICKETS = OTP-8355
+TICKETS = OTP-8543
+
+TICKETS_1.1.11 = OTP-8355
TICKETS_1.1.10 = OTP-8201
diff --git a/lib/cosTime/doc/src/notes.xml b/lib/cosTime/doc/src/notes.xml
index 9f23a8633c..40ebf42753 100644
--- a/lib/cosTime/doc/src/notes.xml
+++ b/lib/cosTime/doc/src/notes.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2000</year><year>2009</year>
+ <year>2000</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>cosTime Release Notes</title>
@@ -33,6 +33,22 @@
</header>
<section>
+ <title>cosTime 1.1.9</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>
+ Test suites published.</p>
+ <p>
+ Own Id: OTP-8543 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosTime 1.1.8</title>
<section>
diff --git a/lib/cosTime/test/Makefile b/lib/cosTime/test/Makefile
new file mode 100644
index 0000000000..fde5c4facc
--- /dev/null
+++ b/lib/cosTime/test/Makefile
@@ -0,0 +1,135 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2000-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include ../vsn.mk
+VSN=$(COSTIME_VSN)
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/cosTime_test
+
+# ----------------------------------------------------
+# Target Specs
+# ----------------------------------------------------
+TEST_SPEC_FILE = cosTime.spec
+
+
+IDL_FILES =
+
+IDLOUTDIR = idl_output
+
+MODULES = \
+ time_SUITE \
+ generated_SUITE
+
+GEN_MODULES = \
+
+GEN_HRL_FILES = \
+
+ERL_FILES = $(MODULES:%=%.erl)
+
+HRL_FILES =
+
+GEN_FILES = \
+ $(GEN_HRL_FILES:%=$(IDLOUTDIR)/%) \
+ $(GEN_MODULES:%=$(IDLOUTDIR)/%.erl)
+
+GEN_TARGET_FILES = $(GEN_MODULES:%=$(IDLOUTDIR)/%.$(EMULATOR))
+
+SUITE_TARGET_FILES = $(MODULES:%=%.$(EMULATOR))
+
+TARGET_FILES = \
+ $(GEN_TARGET_FILES) \
+ $(SUITE_TARGET_FILES)
+
+
+# ----------------------------------------------------
+# PROGRAMS
+# ----------------------------------------------------
+LOCAL_CLASSPATH = $(ERL_TOP)lib/cosTime/priv:$(ERL_TOP)lib/cosTime/test
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+ERL_IDL_FLAGS += -pa $(ERL_TOP)/lib/cosTime/ebin \
+ -pa $(ERL_TOP)/lib/cosTime/src \
+ -pa $(ERL_TOP)/lib/cosTime/include \
+ -pa $(ERL_TOP)/lib/cosNotification/ebin \
+ -pa $(ERL_TOP)/lib/orber/ebin \
+ -pa $(ERL_TOP)/lib/ic/ebin
+
+ERL_COMPILE_FLAGS += \
+ $(ERL_IDL_FLAGS) \
+ -pa $(ERL_TOP)/lib/orber/include \
+ -pa $(ERL_TOP)/lib/cosNotification/include \
+ -pa $(ERL_TOP)/internal_tools/test_server/ebin \
+ -pa $(ERL_TOP)/lib/cosTime/ebin \
+ -pa $(ERL_TOP)/lib/cosTime/include \
+ -pa $(ERL_TOP)/lib/cosTime/test/idl_output \
+ -I$(ERL_TOP)/lib/orber/include \
+ -I$(ERL_TOP)/lib/cosNotification/include \
+ -I$(ERL_TOP)/lib/cosTime/src \
+ -I$(ERL_TOP)/lib/cosTime/include \
+ -I$(ERL_TOP)/lib/cosTime \
+ -I$(ERL_TOP)/lib/cosTime/test/$(IDLOUTDIR) \
+ -I$(ERL_TOP)/lib/test_server/include
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+
+
+tests debug opt: $(TARGET_FILES)
+
+clean:
+ rm -f idl_output/*
+ rm -f $(TARGET_FILES)
+ rm -f errs core *~
+
+docs:
+
+# ----------------------------------------------------
+# Special Targets
+# ----------------------------------------------------
+
+# ----------------------------------------------------
+# Release Targets
+# ----------------------------------------------------
+# We don't copy generated intermediate erlang and hrl files
+
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_spec:
+
+release_docs_spec:
+
+release_tests_spec: tests
+ $(INSTALL_DIR) $(RELSYSDIR)
+ $(INSTALL_DATA) $(IDL_FILES) $(TEST_SPEC_FILE) \
+ $(ERL_FILES) $(RELSYSDIR)
+ $(INSTALL_DATA) $(SUITE_TARGET_FILES) $(RELSYSDIR)
+# $(INSTALL_DIR) $(RELSYSDIR)/$(IDLOUTDIR)
+# $(INSTALL_DATA) $(GEN_TARGET_FILES) $(GEN_FILES) \
+# $(RELSYSDIR)/$(IDLOUTDIR)
+
diff --git a/lib/cosTime/test/cosTime.spec b/lib/cosTime/test/cosTime.spec
new file mode 100644
index 0000000000..3f50946043
--- /dev/null
+++ b/lib/cosTime/test/cosTime.spec
@@ -0,0 +1,19 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+{topcase, {dir, "../cosTime_test"}}.
diff --git a/lib/cosTime/test/generated_SUITE.erl b/lib/cosTime/test/generated_SUITE.erl
new file mode 100644
index 0000000000..3a2153528f
--- /dev/null
+++ b/lib/cosTime/test/generated_SUITE.erl
@@ -0,0 +1,288 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : generated_SUITE.erl
+%% Purpose :
+%%-----------------------------------------------------------------
+
+-module(generated_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(nomatch(Not, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ Not ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS);
+ _ ->
+ AcTuAlReS
+ end
+ end()).
+
+
+-define(checktc(_Op),
+ fun(TC) ->
+ case orber_tc:check_tc(TC) of
+ false ->
+ io:format("###### ERROR ERROR ######~n~p - ~p~n", [Op, TC]),
+ ?line exit(TC);
+ true ->
+ true
+ end
+ end).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["This suite is for testing IC generated files"];
+all(suite) ->
+ ['TimeBase_IntervalT', 'TimeBase_UtcT', 'CosTime_TimeUnavailable',
+ 'CosTimerEvent_TimerEventT', 'CosTime_TIO', 'CosTime_TimeService',
+ 'CosTime_UTO', 'CosTimerEvent_TimerEventHandler',
+ 'CosTimerEvent_TimerEventService'].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'TimeBase_IntervalT'
+%% Description:
+%%-----------------------------------------------------------------
+'TimeBase_IntervalT'(doc) -> ["TimeBase_IntervalT"];
+'TimeBase_IntervalT'(suite) -> [];
+'TimeBase_IntervalT'(_) ->
+ ?match(true, orber_tc:check_tc('TimeBase_IntervalT':tc())),
+ ?match("IDL:omg.org/TimeBase/IntervalT:1.0",
+ 'TimeBase_IntervalT':id()),
+ ?match("TimeBase_IntervalT",
+ 'TimeBase_IntervalT':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'TimeBase_UtcT'
+%% Description:
+%%-----------------------------------------------------------------
+'TimeBase_UtcT'(doc) -> ["TimeBase_UtcT"];
+'TimeBase_UtcT'(suite) -> [];
+'TimeBase_UtcT'(_) ->
+ ?match(true, orber_tc:check_tc('TimeBase_UtcT':tc())),
+ ?match("IDL:omg.org/TimeBase/UtcT:1.0",
+ 'TimeBase_UtcT':id()),
+ ?match("TimeBase_UtcT",
+ 'TimeBase_UtcT':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTime_TimeUnavailable'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTime_TimeUnavailable'(doc) -> ["CosTime_TimeUnavailable"];
+'CosTime_TimeUnavailable'(suite) -> [];
+'CosTime_TimeUnavailable'(_) ->
+ ?match(true, orber_tc:check_tc('CosTime_TimeUnavailable':tc())),
+ ?match("IDL:omg.org/CosTime/TimeUnavailable:1.0",
+ 'CosTime_TimeUnavailable':id()),
+ ?match("CosTime_TimeUnavailable",
+ 'CosTime_TimeUnavailable':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTimerEvent_TimerEventT'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTimerEvent_TimerEventT'(doc) -> ["CosTimerEvent_TimerEventT"];
+'CosTimerEvent_TimerEventT'(suite) -> [];
+'CosTimerEvent_TimerEventT'(_) ->
+ ?match(true, orber_tc:check_tc('CosTimerEvent_TimerEventT':tc())),
+ ?match("IDL:omg.org/CosTimerEvent/TimerEventT:1.0",
+ 'CosTimerEvent_TimerEventT':id()),
+ ?match("CosTimerEvent_TimerEventT",
+ 'CosTimerEvent_TimerEventT':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTime_TIO'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTime_TIO'(doc) -> ["CosTime_TIO"];
+'CosTime_TIO'(suite) -> [];
+'CosTime_TIO'(_) ->
+ ?nomatch(undefined, 'CosTime_TIO':oe_tc('_get_time_interval')),
+ ?nomatch(undefined, 'CosTime_TIO':oe_tc(spans)),
+ ?nomatch(undefined, 'CosTime_TIO':oe_tc(overlaps)),
+ ?nomatch(undefined, 'CosTime_TIO':oe_tc(time)),
+ ?match(undefined, 'CosTime_TIO':oe_tc(undefined)),
+ ?match([_|_], 'CosTime_TIO':oe_get_interface()),
+ ?match("IDL:omg.org/CosTime/TIO:1.0", 'CosTime_TIO':typeID()),
+ check_tc('CosTime_TIO':oe_get_interface()),
+ ?match(true, 'CosTime_TIO':oe_is_a('CosTime_TIO':typeID())),
+ ?match(false, 'CosTime_TIO':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTime_TimeService'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTime_TimeService'(doc) -> ["CosTime_TimeService"];
+'CosTime_TimeService'(suite) -> [];
+'CosTime_TimeService'(_) ->
+ ?nomatch(undefined, 'CosTime_TimeService':oe_tc(universal_time)),
+ ?nomatch(undefined, 'CosTime_TimeService':oe_tc(secure_universal_time)),
+ ?nomatch(undefined, 'CosTime_TimeService':oe_tc(new_universal_time)),
+ ?nomatch(undefined, 'CosTime_TimeService':oe_tc(uto_from_utc)),
+ ?nomatch(undefined, 'CosTime_TimeService':oe_tc(new_interval)),
+ ?match(undefined, 'CosTime_TimeService':oe_tc(undefined)),
+ ?match([_|_], 'CosTime_TimeService':oe_get_interface()),
+ ?match("IDL:omg.org/CosTime/TimeService:1.0",
+ 'CosTime_TimeService':typeID()),
+ check_tc('CosTime_TimeService':oe_get_interface()),
+ ?match(true, 'CosTime_TimeService':oe_is_a('CosTime_TimeService':typeID())),
+ ?match(false, 'CosTime_TimeService':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTime_UTO'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTime_UTO'(doc) -> ["CosTime_UTO"];
+'CosTime_UTO'(suite) -> [];
+'CosTime_UTO'(_) ->
+ ?nomatch(undefined, 'CosTime_UTO':oe_tc('_get_time')),
+ ?nomatch(undefined, 'CosTime_UTO':oe_tc('_get_inaccuracy')),
+ ?nomatch(undefined, 'CosTime_UTO':oe_tc('_get_tdf')),
+ ?nomatch(undefined, 'CosTime_UTO':oe_tc('_get_utc_time')),
+ ?nomatch(undefined, 'CosTime_UTO':oe_tc(absolute_time)),
+ ?nomatch(undefined, 'CosTime_UTO':oe_tc(compare_time)),
+ ?nomatch(undefined, 'CosTime_UTO':oe_tc(time_to_interval)),
+ ?nomatch(undefined, 'CosTime_UTO':oe_tc(interval)),
+ ?match(undefined, 'CosTime_UTO':oe_tc(undefined)),
+ ?match([_|_], 'CosTime_UTO':oe_get_interface()),
+ ?match("IDL:omg.org/CosTime/UTO:1.0", 'CosTime_UTO':typeID()),
+ check_tc('CosTime_UTO':oe_get_interface()),
+ ?match(true, 'CosTime_UTO':oe_is_a('CosTime_UTO':typeID())),
+ ?match(false, 'CosTime_UTO':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTimerEvent_TimerEventHandler'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTimerEvent_TimerEventHandler'(doc) -> ["CosTimerEvent_TimerEventHandler"];
+'CosTimerEvent_TimerEventHandler'(suite) -> [];
+'CosTimerEvent_TimerEventHandler'(_) ->
+ ?nomatch(undefined, 'CosTimerEvent_TimerEventHandler':oe_tc('_get_status')),
+ ?nomatch(undefined, 'CosTimerEvent_TimerEventHandler':oe_tc(time_set)),
+ ?nomatch(undefined, 'CosTimerEvent_TimerEventHandler':oe_tc(set_timer)),
+ ?nomatch(undefined, 'CosTimerEvent_TimerEventHandler':oe_tc(cancel_timer)),
+ ?nomatch(undefined, 'CosTimerEvent_TimerEventHandler':oe_tc(set_data)),
+ ?match(undefined, 'CosTimerEvent_TimerEventHandler':oe_tc(undefined)),
+ ?match([_|_], 'CosTimerEvent_TimerEventHandler':oe_get_interface()),
+ ?match("IDL:omg.org/CosTimerEvent/TimerEventHandler:1.0",
+ 'CosTimerEvent_TimerEventHandler':typeID()),
+ check_tc('CosTimerEvent_TimerEventHandler':oe_get_interface()),
+ ?match(true, 'CosTimerEvent_TimerEventHandler':oe_is_a('CosTimerEvent_TimerEventHandler':typeID())),
+ ?match(false, 'CosTimerEvent_TimerEventHandler':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTimerEvent_TimerEventService'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTimerEvent_TimerEventService'(doc) -> ["CosTimerEvent_TimerEventService"];
+'CosTimerEvent_TimerEventService'(suite) -> [];
+'CosTimerEvent_TimerEventService'(_) ->
+ ?nomatch(undefined, 'CosTimerEvent_TimerEventService':oe_tc(register)),
+ ?nomatch(undefined, 'CosTimerEvent_TimerEventService':oe_tc(unregister)),
+ ?nomatch(undefined, 'CosTimerEvent_TimerEventService':oe_tc(event_time)),
+ ?match(undefined, 'CosTimerEvent_TimerEventService':oe_tc(undefined)),
+ ?match([_|_], 'CosTimerEvent_TimerEventService':oe_get_interface()),
+ ?match("IDL:omg.org/CosTimerEvent/TimerEventService:1.0",
+ 'CosTimerEvent_TimerEventService':typeID()),
+ check_tc('CosTimerEvent_TimerEventService':oe_get_interface()),
+ ?match(true, 'CosTimerEvent_TimerEventService':oe_is_a('CosTimerEvent_TimerEventService':typeID())),
+ ?match(false, 'CosTimerEvent_TimerEventService':oe_is_a("wrong")),
+ ok.
+
+
+
+
+%%-----------------------------------------------------------------
+%% MISC functions
+%%-----------------------------------------------------------------
+check_tc([]) ->
+ ok;
+check_tc([{Op, {RetType, InParameters, OutParameters}}|T]) ->
+ io:format("checked - ~s~n", [Op]),
+ lists:all(?checktc(Op), [RetType|InParameters]),
+ lists:all(?checktc(Op), OutParameters),
+ check_tc(T).
+
+
diff --git a/lib/cosTime/test/time_SUITE.erl b/lib/cosTime/test/time_SUITE.erl
new file mode 100644
index 0000000000..bb00395885
--- /dev/null
+++ b/lib/cosTime/test/time_SUITE.erl
@@ -0,0 +1,295 @@
+%%--------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%----------------------------------------------------------------------
+%% File : time_SUITE.erl
+%% Purpose :
+%%----------------------------------------------------------------------
+
+-module(time_SUITE).
+
+
+%%--------------- INCLUDES -----------------------------------
+-include("../src/cosTimeApp.hrl").
+
+-include("test_server.hrl").
+
+%%--------------- DEFINES ------------------------------------
+-define(default_timeout, ?t:minutes(20)).
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ exit(AcTuAlReS)
+ end
+ end()).
+
+-define(match_inverse(NotExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ NotExpectedRes ->
+ io:format("###### ERROR ERROR ######~n ~p~n",
+ [AcTuAlReS]),
+ exit(AcTuAlReS);
+ _ ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS
+ end
+ end()).
+
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1, time_api/1, timerevent_api/1,
+ init_per_testcase/2, fin_per_testcase/2,
+ app_test/1]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for the cosTime interfaces", ""];
+all(suite) -> {req,
+ [mnesia, orber],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [time_api, timerevent_api, app_test].
+
+
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ mnesia:delete_schema([node()]),
+ mnesia:create_schema([node()]),
+ orber:install([node()]),
+ application:start(mnesia),
+ application:start(orber),
+ cosNotificationApp:install_event(),
+ cosNotificationApp:install(),
+ cosTime:install_time(),
+ cosTime:install_timerevent(),
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ cosTime:uninstall_time(),
+ cosTime:uninstall_timerevent(),
+ cosNotificationApp:uninstall(),
+ cosNotificationApp:uninstall_event(),
+ application:stop(orber),
+ application:stop(mnesia),
+ mnesia:delete_schema([node()]),
+ Config.
+
+%%-----------------------------------------------------------------
+%% Tests app file
+%%-----------------------------------------------------------------
+app_test(doc) -> [];
+app_test(suite) -> [];
+app_test(_Config) ->
+ ok=test_server:app_test(cosTime),
+ ok.
+
+%%-----------------------------------------------------------------
+%% CosTime API tests
+%%-----------------------------------------------------------------
+time_api(doc) -> ["CosTime API tests.", ""];
+time_api(suite) -> [];
+time_api(_Config) ->
+ ?line ?match(ok, application:start(cosTime)),
+ TS=cosTime:start_time_service(0, 500),
+ Time=calendar:datetime_to_gregorian_seconds({{1582,1,1},{0,0,0}}),
+ Inaccuracy = 1000,
+ Tdf =1,
+ Utc = #'TimeBase_UtcT'{time=Time, inacclo = ?low_TimeT(Inaccuracy),
+ inacchi = ?high_TimeT(Inaccuracy), tdf = Tdf},
+ ?line UTO1='CosTime_TimeService':new_universal_time(TS, Time, Inaccuracy, Tdf),
+ ?line UTO2='CosTime_TimeService':uto_from_utc(TS, Utc),
+ ?line ?match(Time, 'CosTime_UTO':'_get_time'(UTO1)),
+ ?line ?match(Inaccuracy, 'CosTime_UTO':'_get_inaccuracy'(UTO1)),
+ ?line ?match(Tdf, 'CosTime_UTO':'_get_tdf'(UTO1)),
+ ?line ?match(Utc, 'CosTime_UTO':'_get_utc_time'(UTO1)),
+
+ ?line ?match(Time, 'CosTime_UTO':'_get_time'(UTO2)),
+ ?line ?match(Inaccuracy, 'CosTime_UTO':'_get_inaccuracy'(UTO2)),
+ ?line ?match(Tdf, 'CosTime_UTO':'_get_tdf'(UTO2)),
+ ?line ?match(Utc, 'CosTime_UTO':'_get_utc_time'(UTO2)),
+
+ TIO1='CosTime_TimeService':new_interval(TS, 2, 5),
+ _TIO2='CosTime_TimeService':new_interval(TS, 3, 6),
+ TIO3='CosTime_TimeService':new_interval(TS, 1, 3),
+ TIO4='CosTime_TimeService':new_interval(TS, 3, 4),
+ TIO5='CosTime_TimeService':new_interval(TS, 7, 8),
+ TIO6='CosTime_TimeService':new_interval(TS, 2, 6),
+ TIO7='CosTime_TimeService':new_interval(TS, 3, 7),
+
+ ?line {_,TIO8} = ?match({'OTContained', _}, 'CosTime_TIO':overlaps(TIO1, TIO6)),
+ ?line {_,TIO9} = ?match({'OTContainer', _}, 'CosTime_TIO':overlaps(TIO1, TIO1)),
+ ?line {_,TIO10} = ?match({'OTContainer', _}, 'CosTime_TIO':overlaps(TIO1, TIO4)),
+ ?line {_,TIO11} = ?match({'OTOverlap', _}, 'CosTime_TIO':overlaps(TIO1, TIO3)),
+ ?line {_,TIO12} = ?match({'OTOverlap', _}, 'CosTime_TIO':overlaps(TIO1, TIO7)),
+ ?line {_,TIO13} = ?match({'OTNoOverlap', _}, 'CosTime_TIO':overlaps(TIO1, TIO5)),
+
+ ?line ?match({'TimeBase_IntervalT',2,5},'CosTime_TIO':'_get_time_interval'(TIO8)),
+ ?line ?match({'TimeBase_IntervalT',2,5},'CosTime_TIO':'_get_time_interval'(TIO9)),
+ ?line ?match({'TimeBase_IntervalT',3,4},'CosTime_TIO':'_get_time_interval'(TIO10)),
+ ?line ?match({'TimeBase_IntervalT',2,3},'CosTime_TIO':'_get_time_interval'(TIO11)),
+ ?line ?match({'TimeBase_IntervalT',3,5},'CosTime_TIO':'_get_time_interval'(TIO12)),
+ ?line ?match({'TimeBase_IntervalT',5,7},'CosTime_TIO':'_get_time_interval'(TIO13)),
+
+ ?line UTO3='CosTime_TimeService':new_universal_time(TS, 4, 2, 0), %% 2-6
+ ?line UTO4='CosTime_TimeService':new_universal_time(TS, 2, 1, 0), %% 1-3
+ ?line UTO5='CosTime_TimeService':new_universal_time(TS, 3, 0, 0), %% 3-3
+ ?line UTO6='CosTime_TimeService':new_universal_time(TS, 9, 1, 0), %% 8-10
+ ?line UTO7='CosTime_TimeService':new_universal_time(TS, 4, 3, 0), %% 1-7
+ ?line UTO8='CosTime_TimeService':new_universal_time(TS, 5, 2, 0), %% 3-7
+
+ ?line {_,TIO14} = ?match({'OTContained', _}, 'CosTime_TIO':spans(TIO1, UTO7)),
+ ?line {_,TIO15} = ?match({'OTContainer', _}, 'CosTime_TIO':spans(TIO1, UTO5)),
+ ?line {_,TIO16} = ?match({'OTOverlap', _}, 'CosTime_TIO':spans(TIO1, UTO4)),
+ ?line {_,TIO17} = ?match({'OTOverlap', _}, 'CosTime_TIO':spans(TIO1, UTO8)),
+ ?line {_,TIO18} = ?match({'OTNoOverlap', _}, 'CosTime_TIO':spans(TIO1, UTO6)),
+ ?line {_,TIO19} = ?match({'OTContained', _}, 'CosTime_TIO':spans(TIO1, UTO3)),
+
+ ?line ?match({'TimeBase_IntervalT',2,5},'CosTime_TIO':'_get_time_interval'(TIO14)),
+ ?line ?match({'TimeBase_IntervalT',3,3},'CosTime_TIO':'_get_time_interval'(TIO15)),
+ ?line ?match({'TimeBase_IntervalT',2,3},'CosTime_TIO':'_get_time_interval'(TIO16)),
+ ?line ?match({'TimeBase_IntervalT',3,5},'CosTime_TIO':'_get_time_interval'(TIO17)),
+ ?line ?match({'TimeBase_IntervalT',5,8},'CosTime_TIO':'_get_time_interval'(TIO18)),
+ ?line ?match({'TimeBase_IntervalT',2,5},'CosTime_TIO':'_get_time_interval'(TIO19)),
+
+
+ cosTime:stop_time_service(TS),
+ application:stop(cosTime),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% CosTimerEvent API tests
+%%-----------------------------------------------------------------
+timerevent_api(doc) -> ["CosTimerEvent API tests.", ""];
+timerevent_api(suite) -> [];
+timerevent_api(_Config) ->
+ %% Init cosTime apps.
+ ?line ?match(ok, application:start(cosTime)),
+ ?line TS=cosTime:start_time_service(0, 500),
+ ?line TES=cosTime:start_timerevent_service(TS),
+
+ %%----- Initialize the cosNotification application. -----
+ ?line cosNotificationApp:start(),
+ ?line Fac = (catch cosNotificationApp:start_factory([])),
+ ?line {Ch, _Id1} = (catch 'CosNotifyChannelAdmin_EventChannelFactory':create_channel(Fac, [], [])),
+ %% Create the Admin objects
+ ?line {AdminSupplier, _ASID}= ?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_suppliers(Ch,'OR_OP')),
+ ?line {AdminConsumer, _ACID}= ?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch,'OR_OP')),
+
+ %% Create a push consumer TimerEventService will push events to.
+ ?line {ProxyPushConsumer,_ID10}= ?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_SupplierAdmin':obtain_notification_push_consumer(AdminSupplier, 'ANY_EVENT')),
+
+ %% Create a pull suppliers so we can check we actually got the event.
+ ?line {ProxyPullSupplier,_ID1} = ?match({{_,key,_,_,_,_},_},
+ 'CosNotifyChannelAdmin_ConsumerAdmin':obtain_notification_pull_supplier(AdminConsumer, 'ANY_EVENT')),
+
+ AnyEvent = any:create(orber_tc:long(), 100),
+ ?line UTO=?match({_,pseudo,_,_,_,_}, 'CosTime_TimeService':new_universal_time(TS, 10*10000000,1,1)),
+ ?line EH=?match({_,key,_,_,_,_}, 'CosTimerEvent_TimerEventService':register(TES, ProxyPushConsumer, AnyEvent)),
+
+ ?line ?match('ESTimeCleared','CosTimerEvent_TimerEventHandler':'_get_status'(EH)),
+ ?line ?match({false,_},'CosTimerEvent_TimerEventHandler':time_set(EH)),
+ ?line ?match(ok,'CosTimerEvent_TimerEventHandler':set_timer(EH, 'TTRelative', UTO)),
+ ?line ?match({true,_},'CosTimerEvent_TimerEventHandler':time_set(EH)),
+ ?line ?match('ESTimeSet','CosTimerEvent_TimerEventHandler':'_get_status'(EH)),
+
+ ?line ?match({{any,tk_null,null}, false},
+ 'CosNotifyChannelAdmin_ProxyPullSupplier':try_pull(ProxyPullSupplier)),
+
+ ?line ?match(AnyEvent, 'CosNotifyChannelAdmin_ProxyPullSupplier':pull(ProxyPullSupplier)),
+ ?line ?match('ESTriggered','CosTimerEvent_TimerEventHandler':'_get_status'(EH)),
+
+ %% It's allowed to send an UTO with time eq. to 0 if the server is TTRelative.
+ %% When TTAbsolute BAD_PARAM is raised.
+ ?line UTO2=?match({_,pseudo,_,_,_,_}, 'CosTime_TimeService':new_universal_time(TS, 0,1,1)),
+ ?line ?match({'EXCEPTION',_},'CosTimerEvent_TimerEventHandler':set_timer(EH, 'TTAbsolute', UTO2)),
+ ?line ?match(ok,'CosTimerEvent_TimerEventHandler':set_timer(EH, 'TTRelative', UTO2)),
+ ?line ?match(AnyEvent, 'CosNotifyChannelAdmin_ProxyPullSupplier':pull(ProxyPullSupplier)),
+
+ %% TTPeriodic is defined to be relative, i.e., we can use the tactic as above.
+ ?line ?match(ok,'CosTimerEvent_TimerEventHandler':set_timer(EH, 'TTPeriodic', UTO2)),
+
+ %% Sleep for UTO*2+4 secs. At this point the Timer should have delivered 2 events.
+ timer:sleep(24000),
+ %% Cancel the timer so no more events will be delivered.
+ ?line ?match(true,'CosTimerEvent_TimerEventHandler':cancel_timer(EH)),
+
+ ?line ?match({AnyEvent, true}, 'CosNotifyChannelAdmin_ProxyPullSupplier':try_pull(ProxyPullSupplier)),
+ ?line ?match({AnyEvent, true}, 'CosNotifyChannelAdmin_ProxyPullSupplier':try_pull(ProxyPullSupplier)),
+ ?line ?match({{any,tk_null,null}, false},
+ 'CosNotifyChannelAdmin_ProxyPullSupplier':try_pull(ProxyPullSupplier)),
+
+
+
+ %% Clean up.
+ cosNotificationApp:stop(),
+ cosTime:stop_timerevent_service(TES),
+ cosTime:stop_time_service(TS),
+ application:stop(cosTime),
+ ok.
+
+
diff --git a/lib/cosTime/vsn.mk b/lib/cosTime/vsn.mk
index db51bf39b9..9d8057e8db 100644
--- a/lib/cosTime/vsn.mk
+++ b/lib/cosTime/vsn.mk
@@ -1,6 +1,8 @@
-COSTIME_VSN = 1.1.8
+COSTIME_VSN = 1.1.9
-TICKETS = OTP-8355
+TICKETS = OTP-8543
+
+TICKETS_1.1.8 = OTP-8355
TICKETS_1.1.7 = OTP-8201
diff --git a/lib/cosTransactions/doc/src/ch_example.xml b/lib/cosTransactions/doc/src/ch_example.xml
index 65350166f0..026bfc467e 100644
--- a/lib/cosTransactions/doc/src/ch_example.xml
+++ b/lib/cosTransactions/doc/src/ch_example.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>1999</year><year>2009</year>
+ <year>1999</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>cosTransactions Examples</title>
@@ -83,7 +83,9 @@ module ownResourceImpl {
<item><c>commit_one_phase/1</c> - if possible, the Resource should commit all changes made as part of the transaction.
This operation can only be used if the Resource is the only child of its parent. </item>
<item><c>forget/1</c> - this operation informs the Resource that it is safe to forget any
- <term id="Heuristic decisions"><termdef>Heuristic decisions is a unilateral decision by a participant to commit or rollback without receiving the true outcome of the transaction from its parents coordinator.</termdef></term>and the knowledge of the transaction.</item>
+ <term id="Heuristic decisions"><termdef>Heuristic decisions is a unilateral decision by a participant to commit
+ or rollback without receiving the true outcome of the transaction from its parent's coordinator.</termdef></term>
+ and the knowledge of the transaction.</item>
<item><c>ownFunctions</c> - all application specific operations.</item>
</list>
<p>If the participant wants to be notified when a subtransaction commits, we must also implement the following operations
diff --git a/lib/cosTransactions/doc/src/notes.xml b/lib/cosTransactions/doc/src/notes.xml
index 41a754b034..7586e3c13f 100644
--- a/lib/cosTransactions/doc/src/notes.xml
+++ b/lib/cosTransactions/doc/src/notes.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>1999</year><year>2009</year>
+ <year>1999</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>cosTransactions Release Notes</title>
@@ -33,6 +33,30 @@
</header>
<section>
+ <title>cosTransactions 1.2.10</title>
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>
+ Test suites published.</p>
+ <p>
+ Own Id: OTP-8543 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Added missing trailing bracket to define in hrl-file.</p>
+ <p>Own id: OTP-8489 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>cosTransactions 1.2.9</title>
<section>
diff --git a/lib/cosTransactions/src/ETraP_Common.hrl b/lib/cosTransactions/src/ETraP_Common.hrl
index 5082282efb..97e88244a3 100644
--- a/lib/cosTransactions/src/ETraP_Common.hrl
+++ b/lib/cosTransactions/src/ETraP_Common.hrl
@@ -1,20 +1,20 @@
%%--------------------------------------------------------------------
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -313,7 +313,7 @@ error_logger:error_msg("============ CosTransactions ==============~n"
Context#context{self = ID}).
-define(tr_set_parents(Context, Parents),
- Context#context{parents = Parents).
+ Context#context{parents = Parents}).
-define(tr_add_parent(Context, Parent),
Context#context{parents = [Parent] ++ Context#context.parents}).
diff --git a/lib/cosTransactions/test/Makefile b/lib/cosTransactions/test/Makefile
new file mode 100644
index 0000000000..8b1264d404
--- /dev/null
+++ b/lib/cosTransactions/test/Makefile
@@ -0,0 +1,150 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 1999-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+#ifeq ($(TYPE),debug)
+#ERL_COMPILE_FLAGS += -Ddebug -W
+#endif
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include ../vsn.mk
+VSN=$(COSTRANSACTIONS_VSN)
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/cosTransactions_test
+
+# ----------------------------------------------------
+# Target Specs
+# ----------------------------------------------------
+TEST_SPEC_FILE = cosTransactions.spec
+
+
+IDL_FILES = \
+ etrap_test.idl
+
+IDLOUTDIR = idl_output
+
+MODULES = \
+ transactions_SUITE \
+ etrap_test_server_impl \
+ etrap_test_lib \
+ generated_SUITE
+
+GEN_MODULES = \
+ oe_etrap_test \
+ etrap_test_server
+
+GEN_HRL_FILES = \
+ oe_etrap_test.hrl \
+ etrap_test_server.hrl
+
+ERL_FILES = $(MODULES:%=%.erl)
+
+HRL_FILES = \
+ etrap_test_lib.hrl
+
+GEN_FILES = \
+ $(GEN_HRL_FILES:%=$(IDLOUTDIR)/%) \
+ $(GEN_MODULES:%=$(IDLOUTDIR)/%.erl)
+
+GEN_TARGET_FILES = $(GEN_MODULES:%=$(IDLOUTDIR)/%.$(EMULATOR))
+
+SUITE_TARGET_FILES = $(MODULES:%=%.$(EMULATOR))
+
+TARGET_FILES = \
+ $(GEN_TARGET_FILES) \
+ $(SUITE_TARGET_FILES)
+
+
+# ----------------------------------------------------
+# PROGRAMS
+# ----------------------------------------------------
+LOCAL_CLASSPATH = $(ERL_TOP)/lib/cosTransactions/priv:$(ERL_TOP)/lib/cosTransactions/test
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+ERL_IDL_FLAGS += -pa $(ERL_TOP)/lib/cosTransactions/ebin\
+ -pa $(ERL_TOP)/lib/orber/ebin \
+ -pa $(ERL_TOP)/lib/ic/ebin
+
+ERL_COMPILE_FLAGS += \
+ $(ERL_IDL_FLAGS) \
+ -pa $(ERL_TOP)/lib/orber/include \
+ -pa $(ERL_TOP)/lib/test_server/ebin \
+ -pa $(ERL_TOP)/lib/cosTransactions/ebin \
+ -pa $(ERL_TOP)/lib/cosTransactions/test/idl_output \
+ -I$(ERL_TOP)/lib/orber/include \
+ -I$(ERL_TOP)/lib/cosTransactions \
+ -I$(ERL_TOP)/lib/cosTransactions/test/$(IDLOUTDIR) \
+ -I$(ERL_TOP)/lib/test_server/include
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+
+
+tests debug opt: $(TARGET_FILES)
+
+clean:
+ rm -f idl_output/*
+ rm -f $(TARGET_FILES)
+ rm -f errs core *~
+
+#debug:
+# @${MAKE} TYPE=debug
+
+docs:
+
+# ----------------------------------------------------
+# Special Targets
+# ----------------------------------------------------
+
+TGT_TEST = \
+ $(GEN_HRL_FILES:%=$(IDLOUTDIR)/%) \
+ $(GEN_MODULES:%=$(IDLOUTDIR)/%.erl)
+
+$(TGT_TEST): etrap_test.idl
+ erlc $(ERL_IDL_FLAGS) -o$(IDLOUTDIR) \
+ +'{cfgfile,"etrap_test.cfg"}' etrap_test.idl
+
+# ----------------------------------------------------
+# Release Targets
+# ----------------------------------------------------
+# We don't copy generated intermediate erlang and hrl files
+
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_spec:
+
+release_docs_spec:
+
+release_tests_spec: tests
+ $(INSTALL_DIR) $(RELSYSDIR)
+ $(INSTALL_DATA) $(IDL_FILES) $(TEST_SPEC_FILE) \
+ $(ERL_FILES) $(HRL_FILES) $(RELSYSDIR)
+ $(INSTALL_DATA) $(SUITE_TARGET_FILES) $(RELSYSDIR)
+ $(INSTALL_DIR) $(RELSYSDIR)/$(IDLOUTDIR)
+ $(INSTALL_DATA) $(GEN_TARGET_FILES) $(GEN_FILES) \
+ $(RELSYSDIR)/$(IDLOUTDIR)
+
diff --git a/lib/cosTransactions/test/cosTransactions.spec b/lib/cosTransactions/test/cosTransactions.spec
new file mode 100644
index 0000000000..8ad9259964
--- /dev/null
+++ b/lib/cosTransactions/test/cosTransactions.spec
@@ -0,0 +1,19 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+{topcase, {dir, "../cosTransactions_test"}}.
diff --git a/lib/cosTransactions/test/etrap_test.cfg b/lib/cosTransactions/test/etrap_test.cfg
new file mode 100644
index 0000000000..4f2b9e125d
--- /dev/null
+++ b/lib/cosTransactions/test/etrap_test.cfg
@@ -0,0 +1,20 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+{this, "etrap_test::server"}.
+{{handle_info, "etrap_test::server"}, true}.
diff --git a/lib/cosTransactions/test/etrap_test.idl b/lib/cosTransactions/test/etrap_test.idl
new file mode 100644
index 0000000000..7573cc1a36
--- /dev/null
+++ b/lib/cosTransactions/test/etrap_test.idl
@@ -0,0 +1,38 @@
+//
+// %CopyrightBegin%
+//
+// Copyright Ericsson AB 1999-2010. All Rights Reserved.
+//
+// The contents of this file are subject to the Erlang Public License,
+// Version 1.1, (the "License"); you may not use this file except in
+// compliance with the License. You should have received a copy of the
+// Erlang Public License along with this software. If not, it can be
+// retrieved online at http://www.erlang.org/.
+//
+// Software distributed under the License is distributed on an "AS IS"
+// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+// the License for the specific language governing rights and limitations
+// under the License.
+//
+// %CopyrightEnd%
+//
+
+#ifndef _TEST_IDL
+#define _TEST_IDL
+#include <../src/CosTransactions.idl>
+module etrap_test {
+
+ // interface server
+ interface server :
+ CosTransactions::Coordinator, CosTransactions::SubtransactionAwareResource,
+ CosTransactions::RecoveryCoordinator, CosTransactions::Control {
+ };
+// interface Server :
+// CosTransactions::Coordinator, CosTransactions::SubtransactionAwareResource,
+// CosTransactions::RecoveryCoordinator, CosTransactions::Control,
+// CosTransactions::Synchronization {
+// };
+
+}; // End of test Module
+
+#endif
diff --git a/lib/cosTransactions/test/etrap_test_lib.erl b/lib/cosTransactions/test/etrap_test_lib.erl
new file mode 100644
index 0000000000..913a94510f
--- /dev/null
+++ b/lib/cosTransactions/test/etrap_test_lib.erl
@@ -0,0 +1,125 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(etrap_test_lib).
+
+%%--------------- INCLUDES ---------------------------------------------
+-include("etrap_test_lib.hrl").
+-include_lib("cosTransactions/src/ETraP_Common.hrl").
+
+%%--------------- EXPORTS ----------------------------------------------
+-export([scratch_debug_fun/0,
+ activate_debug_fun/5,
+ update_debug_info/1,
+ deactivate_debug_fun/3,
+ eval_debug_fun/4,
+ set_debug_context/4]).
+
+%%--------------- CONSTANTS/DEFINITIONS --------------------------------
+-define(DEBUG_TAB, etrap_debug).
+-record(debug_info, {id, function, type, file, line}).
+
+%%--------------- DEBUG FUNCTIONS --------------------------------------
+%% Managing conditional debug functions
+%%
+%% The main idea with the debug_fun's is to allow test programs
+%% to control the internal behaviour of CosTransactions.
+%%
+%% First should calls to ?eval_debug_fun be inserted at well
+%% defined places in CosTransaction's code. E.g. in critical situations
+%% of startup, transaction commit, backups etc.
+%%
+%% Then compile CosTransactions with the compiler option 'debug'.
+%%
+%% In test programs ?activate_debug_fun should be called
+%% in order to bind a fun to the debug identifier stated
+%% in the call to ?eval_debug_fun.
+
+scratch_debug_fun() ->
+ catch ets:delete(?DEBUG_TAB),
+ ets:new(?DEBUG_TAB,
+ [set, public, named_table, {keypos, 2}]).
+
+activate_debug_fun(FunId, Fun, Type, File, Line) ->
+ io:format("Activiating ~p RETRIES: ~p WAIT: ~p~n",
+ [FunId, ?tr_max_retries, ?tr_comm_failure_wait]),
+ Info = #debug_info{id = FunId,
+ function = Fun,
+ type = Type,
+ file = File,
+ line = Line},
+ update_debug_info(Info).
+
+update_debug_info(Info) ->
+ case catch ets:insert(?DEBUG_TAB, Info) of
+ {'EXIT', _} ->
+ scratch_debug_fun(),
+ ets:insert(?DEBUG_TAB, Info);
+ _ ->
+ ok
+ end,
+ ok.
+
+deactivate_debug_fun(FunId, _File, _Line) ->
+ catch ets:delete(?DEBUG_TAB, FunId),
+ ok.
+
+eval_debug_fun(FunId, Env, File, Line) ->
+ case catch ets:lookup(?DEBUG_TAB, FunId) of
+ [] ->
+ ok;
+ [Info] ->
+ Fun = Info#debug_info.function,
+ case Info#debug_info.type of
+ transient ->
+ deactivate_debug_fun(FunId, File, Line);
+ _->
+ ok
+ end,
+ io:format("Running debug fun ~p:~p (LINE: ~p)~n", [File, FunId, Line]),
+ Fun(Env);
+ {'EXIT', _R} ->
+ ok
+ end.
+
+
+set_debug_context([], [], _, _)-> ok;
+set_debug_context([], _, _, _)->
+ ets:delete(?DEBUG_TAB),
+ exit("failed transactions_SUITE. Bad configuration.");
+set_debug_context(_, [], _, _)->
+ ets:delete(?DEBUG_TAB),
+ exit("failed transactions_SUITE Bad configuration.");
+set_debug_context([RHead|RTail], [CHead|CTail], File, Line)->
+ write_context(RHead, CHead, File, Line),
+ set_debug_context(RTail, CTail, File, Line).
+
+write_context(_Resource, [], _, _)-> ok;
+write_context(Resource, [{Func, Fun, Type}|PTail], File, Line)->
+ etrap_test_lib:activate_debug_fun({Resource, Func},
+ Fun, Type,
+ File, Line),
+ write_context(Resource, PTail, File, Line);
+write_context(_,_, _, _) ->
+ ets:delete(?DEBUG_TAB),
+ exit("failed transactions_SUITE. Bad configuration.").
+
+
+%%--------------- END OF MODULE ----------------------------------------
diff --git a/lib/cosTransactions/test/etrap_test_lib.hrl b/lib/cosTransactions/test/etrap_test_lib.hrl
new file mode 100644
index 0000000000..d488bf9d12
--- /dev/null
+++ b/lib/cosTransactions/test/etrap_test_lib.hrl
@@ -0,0 +1,100 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-ifndef(ETRAP_TEST_LIB_HRL).
+-define(ETRAP_TEST_LIB_HRL, true).
+
+-define(match(ExpectedRes, Expr, Msg),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("~n------ CORRECT RESULT ------~n~p~n~p~n",
+ [AcTuAlReS, Msg]),
+ ok;
+ _ ->
+ io:format("~n###### ERROR ERROR ######~n~p~n~p~n",
+ [AcTuAlReS, Msg]),
+ exit(AcTuAlReS)
+ end
+ end()).
+
+-define(match_inverse(NotExpectedRes, Expr, Msg),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ NotExpectedRes ->
+ io:format("~n###### ERROR ERROR ######~n ~p~n~p~n",
+ [AcTuAlReS, Msg]),
+ exit(AcTuAlReS);
+ _ ->
+ io:format("~n------ CORRECT RESULT ------~n~p~n~p~n",
+ [AcTuAlReS, Msg]),
+ ok
+ end
+ end()).
+
+
+-define(crash_and_recover, fun(_Env)-> exit(crash_and_burn) end).
+
+-define(crash_no_recovery, fun(Env)-> throw({stop,normal,{Env,state}}) end).
+
+-define(delay(Time), fun(_Id) -> timer:sleep(Time*1000) end).
+
+-define(TIMEOUT, 4).
+-define(SUP_TEST(Env, Name),
+ ['etrap_test_server', Env,
+ [{sup_child, true}, {persistent, true},
+ {regname, {global, Name}}]]).
+
+-define(no_context, [[],[],[], []]).
+-define(nop, []).
+-define(delay_transient(Tag, Ti),
+ [{Tag, ?delay(Ti), transient}]).
+-define(crash_transient(Tag),
+ [{Tag, ?crash_and_recover, transient}]).
+-define(crash_permanent(Tag),
+ [{Tag, ?crash_no_recovery, permanent}]).
+
+%%-----------------------------------------------------------
+%% Definition of 'Resource' action.
+%% function action reply
+%%-----------------------------------------------------------
+%% raise #'CosTransactions_HeuristicMixed' {}
+-define(rollback_mix, [{rollback, exc, ?tr_mixed}]).
+-define(commit_mix, [{commit, exc, ?tr_mixed}]).
+-define(prepare_mix, [{prepare, exc, ?tr_mixed}]).
+%% raise #'CosTransactions_HeuristicRollback' {}
+-define(rollback_rb, [{rollback, exc, ?tr_rollback}]).
+-define(commit_rb, [{commit, exc, ?tr_rollback}]).
+%% raise #'CosTransactions_HeuristicCommit' {}
+-define(rollback_cm, [{rollback, exc, ?tr_commit}]).
+-define(commit_cm, [{commit, exc, ?tr_commit}]).
+%% delay reply
+-define(rollback_delay, [{rollback, delay, ?TIMEOUT*2}]).
+-define(commit_delay, [{commit, delay, ?TIMEOUT*2}]).
+-define(prepare_delay, [{prepare, delay, ?TIMEOUT*2}]).
+%% other reply than default
+-define(prepare_commit, [{prepare, reply, 'VoteCommit'}]).
+-define(prepare_rollback, [{prepare, stop_reply, 'VoteRollback'}]).
+
+-endif.
+
+%%-------------- EOF ---------------------------------------------------
diff --git a/lib/cosTransactions/test/etrap_test_server_impl.erl b/lib/cosTransactions/test/etrap_test_server_impl.erl
new file mode 100644
index 0000000000..69c823f3ca
--- /dev/null
+++ b/lib/cosTransactions/test/etrap_test_server_impl.erl
@@ -0,0 +1,210 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+-module(etrap_test_server_impl).
+
+%%--------------- INCLUDES -----------------------------------
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/include/ifr_types.hrl").
+%% Local
+-include_lib("cosTransactions/src/ETraP_Common.hrl").
+-include_lib("cosTransactions/include/CosTransactions.hrl").
+%%--------------- IMPORTS-------------------------------------
+%%--------------- EXPORTS-------------------------------------
+-export([prepare/2,
+ rollback/2,
+ commit/2,
+ commit_one_phase/2,
+ forget/2,
+% before_completion/2,
+% after_completion/3,
+ commit_subtransaction/3,
+ rollback_subtransaction/2]).
+
+
+%%--------------- gen_server specific ------------------------
+-export([init/1, terminate/2]).
+-export([handle_call/3, handle_cast/2, handle_info/2, code_change/3]).
+
+%%------------------------------------------------------------
+%% function : init, terminate
+%%------------------------------------------------------------
+init(State) ->
+ process_flag(trap_exit,true),
+ io:format("etrap_test_server:init ~p~n", [State]),
+ ?debug_print("STARTING etrap_test_server( ~p )~n", [State]),
+ {ok, State}.
+
+terminate(Reason, _State) ->
+ io:format("etrap_test_server:terminate ~p~n", [Reason]),
+ ?debug_print("STOPREASON etrap_test_server( ~p )~n", [Reason]),
+ ok.
+
+code_change(_OldVsn, State, _Extra) ->
+ {ok, State}.
+handle_call(_,_, State) ->
+ {noreply, State}.
+handle_cast(_, State) ->
+ {noreply, State}.
+handle_info(_Info, State) ->
+ {noreply, State}.
+
+%%-- Inherit from CosTransactions::SubtransactionAwareResource --
+prepare(_Self, State) ->
+ case ?is_debug_compiled of
+ true ->
+ io:format("etrap_test_server:prepare ~p~n", [State]);
+ _->
+ ok
+ end,
+% ?debug_print("etrap_test_server:prepare ~p~n", [State]),
+ action(prepare, State, {reply, 'VoteCommit', State}).
+
+rollback(_Self, State) ->
+ case ?is_debug_compiled of
+ true ->
+ io:format("etrap_test_server:rollback ~p~n", [State]);
+ _->
+ ok
+ end,
+% ?debug_print("etrap_test_server:rollback ~p~n", [State]),
+ case sync_test(State) of
+ true ->
+ action(rollback, State, {reply, ok, State});
+ _->
+ action(rollback, State, {stop, normal, ok, State})
+ end.
+
+commit(_Self, State) ->
+ case ?is_debug_compiled of
+ true ->
+ io:format("etrap_test_server:commit ~p~n", [State]);
+ _->
+ ok
+ end,
+% ?debug_print("etrap_test_server:commit ~p~n", [State]),
+ case sync_test(State) of
+ true ->
+ action(commit, State, {reply, ok, State});
+ _->
+ action(commit, State, {stop, normal, ok, State})
+ end.
+
+commit_one_phase(_Self, State) ->
+ case ?is_debug_compiled of
+ true ->
+ io:format("etrap_test_server:commit_one_phase ~p~n", [State]);
+ _->
+ ok
+ end,
+% ?debug_print("etrap_test_server:commit_one_phase ~p~n", [State]),
+ case sync_test(State) of
+ true ->
+ {reply, ok, State};
+ _->
+ {stop, normal, ok, State}
+ end.
+
+forget(_Self, State) ->
+ case ?is_debug_compiled of
+ true ->
+ io:format("etrap_test_server:forget ~p~n", [State]);
+ _->
+ ok
+ end,
+% ?debug_print("etrap_test_server:forget ~p~n", [State]),
+ case sync_test(State) of
+ true ->
+ {reply, ok, State};
+ _->
+ {stop, normal, ok, State}
+ end.
+
+commit_subtransaction(_Self, State, Parent) ->
+ case ?is_debug_compiled of
+ true ->
+ io:format("etrap_test_server:commit_subtransaction( ~p )~n", [Parent]);
+ _->
+ ok
+ end,
+% ?debug_print("etrap_test_server:commit_subtransaction( ~p )~n", [Parent]),
+ {reply, ok, State}.
+rollback_subtransaction(_Self, State) ->
+ case ?is_debug_compiled of
+ true ->
+ io:format("etrap_test_server:rollback_subtransaction()~n", []);
+ _->
+ ok
+ end,
+% ?debug_print("etrap_test_server:rollback_subtransaction()~n", []),
+ {reply, ok, State}.
+
+%before_completion(_Self, State) ->
+% case ?is_debug_compiled of
+% true ->
+% io:format("etrap_test_server:before_completion()~n", []);
+% _->
+% ok
+% end,
+%% ?debug_print("etrap_test_server:before_completion()~n", []),
+% {reply, ok, State}.
+%after_completion(_Self, State, Status) ->
+% case ?is_debug_compiled of
+% true ->
+% io:format("etrap_test_server:after_completion( ~p )~n", [Status]);
+% _->
+% ok
+% end,
+%% ?debug_print("etrap_test_server:after_completion( ~p )~n", [Status]),
+% {stop, normal, ok, State}.
+
+%%--------------- LOCAL FUNCTIONS ----------------------------
+action(Key, State, Default) ->
+ case catch lists:keysearch(Key, 1, State) of
+ {value,{Key, stop_reply, R}} ->
+ case sync_test(State) of
+ true ->
+ {reply, R, State};
+ _->
+ {stop, normal, R, State}
+ end;
+ {value,{Key, reply, R}} ->
+ {reply, R, State};
+ {value,{Key, exc, E}} ->
+ corba:raise(E);
+ {value,{Key, delay, Time}} ->
+ timer:sleep(Time*1000),
+ Default;
+ {value,{Key,Value}} ->
+ Value;
+ _ ->
+ Default
+ end.
+
+sync_test(State) ->
+ case catch lists:keysearch(sync, 1, State) of
+ {value,{sync, true}} ->
+ true;
+ _ ->
+ false
+ end.
+
+
+%%--------------- END OF MODULE ------------------------------
+
diff --git a/lib/cosTransactions/test/generated_SUITE.erl b/lib/cosTransactions/test/generated_SUITE.erl
new file mode 100644
index 0000000000..cc54eb168e
--- /dev/null
+++ b/lib/cosTransactions/test/generated_SUITE.erl
@@ -0,0 +1,564 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : generated_SUITE.erl
+%% Purpose :
+%% Created : 27 Jan 2004
+%%-----------------------------------------------------------------
+
+-module(generated_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(nomatch(Not, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ Not ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS);
+ _ ->
+ AcTuAlReS
+ end
+ end()).
+
+
+-define(checktc(_Op),
+ fun(TC) ->
+ case orber_tc:check_tc(TC) of
+ false ->
+ io:format("###### ERROR ERROR ######~n~p - ~p~n", [Op, TC]),
+ ?line exit(TC);
+ true ->
+ true
+ end
+ end).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["This suite is for testing IC generated files"];
+all(suite) ->
+ ['CosTransactions_Control', 'CosTransactions_Coordinator',
+ 'CosTransactions_HeuristicCommit', 'CosTransactions_HeuristicHazard',
+ 'CosTransactions_HeuristicMixed', 'CosTransactions_HeuristicRollback',
+ 'CosTransactions_Inactive', 'CosTransactions_InvalidControl',
+ 'CosTransactions_NoTransaction', 'CosTransactions_NotPrepared',
+ 'CosTransactions_NotSubtransaction', 'CosTransactions_RecoveryCoordinator',
+ 'CosTransactions_Resource', 'CosTransactions_SubtransactionAwareResource',
+ 'CosTransactions_SubtransactionsUnavailable', 'CosTransactions_Terminator',
+ 'CosTransactions_TransactionFactory', 'CosTransactions_Unavailable',
+ 'CosTransactions_SynchronizationUnavailable', 'CosTransactions_TransIdentity',
+ 'CosTransactions_PropagationContext', 'CosTransactions_otid_t',
+ 'CosTransactions_WrongTransaction', 'ETraP_Server'].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_HeuristicCommit'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_HeuristicCommit'(doc) -> ["CosTransactions_HeuristicCommit"];
+'CosTransactions_HeuristicCommit'(suite) -> [];
+'CosTransactions_HeuristicCommit'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_HeuristicCommit':tc())),
+ ?match("IDL:omg.org/CosTransactions/HeuristicCommit:1.0",
+ 'CosTransactions_HeuristicCommit':id()),
+ ?match("CosTransactions_HeuristicCommit",
+ 'CosTransactions_HeuristicCommit':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_HeuristicHazard'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_HeuristicHazard'(doc) -> ["CosTransactions_HeuristicHazard"];
+'CosTransactions_HeuristicHazard'(suite) -> [];
+'CosTransactions_HeuristicHazard'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_HeuristicHazard':tc())),
+ ?match("IDL:omg.org/CosTransactions/HeuristicHazard:1.0",
+ 'CosTransactions_HeuristicHazard':id()),
+ ?match("CosTransactions_HeuristicHazard",
+ 'CosTransactions_HeuristicHazard':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_HeuristicMixed'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_HeuristicMixed'(doc) -> ["CosTransactions_HeuristicMixed"];
+'CosTransactions_HeuristicMixed'(suite) -> [];
+'CosTransactions_HeuristicMixed'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_HeuristicMixed':tc())),
+ ?match("IDL:omg.org/CosTransactions/HeuristicMixed:1.0",
+ 'CosTransactions_HeuristicMixed':id()),
+ ?match("CosTransactions_HeuristicMixed",
+ 'CosTransactions_HeuristicMixed':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_HeuristicRollback'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_HeuristicRollback'(doc) -> ["CosTransactions_HeuristicRollback"];
+'CosTransactions_HeuristicRollback'(suite) -> [];
+'CosTransactions_HeuristicRollback'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_HeuristicRollback':tc())),
+ ?match("IDL:omg.org/CosTransactions/HeuristicRollback:1.0",
+ 'CosTransactions_HeuristicRollback':id()),
+ ?match("CosTransactions_HeuristicRollback",
+ 'CosTransactions_HeuristicRollback':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_Inactive'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_Inactive'(doc) -> ["CosTransactions_Inactive"];
+'CosTransactions_Inactive'(suite) -> [];
+'CosTransactions_Inactive'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_Inactive':tc())),
+ ?match("IDL:omg.org/CosTransactions/Inactive:1.0",
+ 'CosTransactions_Inactive':id()),
+ ?match("CosTransactions_Inactive",
+ 'CosTransactions_Inactive':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_InvalidControl'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_InvalidControl'(doc) -> ["CosTransactions_InvalidControl"];
+'CosTransactions_InvalidControl'(suite) -> [];
+'CosTransactions_InvalidControl'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_InvalidControl':tc())),
+ ?match("IDL:omg.org/CosTransactions/InvalidControl:1.0",
+ 'CosTransactions_InvalidControl':id()),
+ ?match("CosTransactions_InvalidControl",
+ 'CosTransactions_InvalidControl':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_NoTransaction'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_NoTransaction'(doc) -> ["CosTransactions_NoTransaction"];
+'CosTransactions_NoTransaction'(suite) -> [];
+'CosTransactions_NoTransaction'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_NoTransaction':tc())),
+ ?match("IDL:omg.org/CosTransactions/NoTransaction:1.0",
+ 'CosTransactions_NoTransaction':id()),
+ ?match("CosTransactions_NoTransaction",
+ 'CosTransactions_NoTransaction':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_NotPrepared'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_NotPrepared'(doc) -> ["CosTransactions_NotPrepared"];
+'CosTransactions_NotPrepared'(suite) -> [];
+'CosTransactions_NotPrepared'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_NotPrepared':tc())),
+ ?match("IDL:omg.org/CosTransactions/NotPrepared:1.0",
+ 'CosTransactions_NotPrepared':id()),
+ ?match("CosTransactions_NotPrepared",
+ 'CosTransactions_NotPrepared':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_NotSubtransaction'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_NotSubtransaction'(doc) -> ["CosTransactions_NotSubtransaction"];
+'CosTransactions_NotSubtransaction'(suite) -> [];
+'CosTransactions_NotSubtransaction'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_NotSubtransaction':tc())),
+ ?match("IDL:omg.org/CosTransactions/NotSubtransaction:1.0",
+ 'CosTransactions_NotSubtransaction':id()),
+ ?match("CosTransactions_NotSubtransaction",
+ 'CosTransactions_NotSubtransaction':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_SubtransactionsUnavailable'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_SubtransactionsUnavailable'(doc) -> ["CosTransactions_SubtransactionsUnavailable"];
+'CosTransactions_SubtransactionsUnavailable'(suite) -> [];
+'CosTransactions_SubtransactionsUnavailable'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_SubtransactionsUnavailable':tc())),
+ ?match("IDL:omg.org/CosTransactions/SubtransactionsUnavailable:1.0",
+ 'CosTransactions_SubtransactionsUnavailable':id()),
+ ?match("CosTransactions_SubtransactionsUnavailable",
+ 'CosTransactions_SubtransactionsUnavailable':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_Unavailable'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_Unavailable'(doc) -> ["CosTransactions_Unavailable"];
+'CosTransactions_Unavailable'(suite) -> [];
+'CosTransactions_Unavailable'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_Unavailable':tc())),
+ ?match("IDL:omg.org/CosTransactions/Unavailable:1.0",
+ 'CosTransactions_Unavailable':id()),
+ ?match("CosTransactions_Unavailable",
+ 'CosTransactions_Unavailable':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_SynchronizationUnavailable'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_SynchronizationUnavailable'(doc) -> ["CosTransactions_SynchronizationUnavailable"];
+'CosTransactions_SynchronizationUnavailable'(suite) -> [];
+'CosTransactions_SynchronizationUnavailable'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_SynchronizationUnavailable':tc())),
+ ?match("IDL:omg.org/CosTransactions/SynchronizationUnavailable:1.0",
+ 'CosTransactions_SynchronizationUnavailable':id()),
+ ?match("CosTransactions_SynchronizationUnavailable",
+ 'CosTransactions_SynchronizationUnavailable':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_TransIdentity'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_TransIdentity'(doc) -> ["CosTransactions_TransIdentity"];
+'CosTransactions_TransIdentity'(suite) -> [];
+'CosTransactions_TransIdentity'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_TransIdentity':tc())),
+ ?match("IDL:omg.org/CosTransactions/TransIdentity:1.0",
+ 'CosTransactions_TransIdentity':id()),
+ ?match("CosTransactions_TransIdentity",
+ 'CosTransactions_TransIdentity':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_PropagationContext'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_PropagationContext'(doc) -> ["CosTransactions_PropagationContext"];
+'CosTransactions_PropagationContext'(suite) -> [];
+'CosTransactions_PropagationContext'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_PropagationContext':tc())),
+ ?match("IDL:omg.org/CosTransactions/PropagationContext:1.0",
+ 'CosTransactions_PropagationContext':id()),
+ ?match("CosTransactions_PropagationContext",
+ 'CosTransactions_PropagationContext':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_otid_t'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_otid_t'(doc) -> ["CosTransactions_otid_t"];
+'CosTransactions_otid_t'(suite) -> [];
+'CosTransactions_otid_t'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_otid_t':tc())),
+ ?match("IDL:omg.org/CosTransactions/otid_t:1.0",
+ 'CosTransactions_otid_t':id()),
+ ?match("CosTransactions_otid_t",
+ 'CosTransactions_otid_t':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_WrongTransaction'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_WrongTransaction'(doc) -> ["CosTransactions_WrongTransaction"];
+'CosTransactions_WrongTransaction'(suite) -> [];
+'CosTransactions_WrongTransaction'(_) ->
+ ?match(true, orber_tc:check_tc('CosTransactions_WrongTransaction':tc())),
+ ?match("IDL:omg.org/CosTransactions/WrongTransaction:1.0",
+ 'CosTransactions_WrongTransaction':id()),
+ ?match("CosTransactions_WrongTransaction",
+ 'CosTransactions_WrongTransaction':name()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_Control'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_Control'(doc) -> ["CosTransactions_Control"];
+'CosTransactions_Control'(suite) -> [];
+'CosTransactions_Control'(_) ->
+ ?nomatch(undefined, 'CosTransactions_Control':oe_tc(get_terminator)),
+ ?nomatch(undefined, 'CosTransactions_Control':oe_tc(get_coordinator)),
+ ?match(undefined, 'CosTransactions_Control':oe_tc(undefined)),
+ ?match([_|_], 'CosTransactions_Control':oe_get_interface()),
+ ?match("IDL:omg.org/CosTransactions/Control:1.0",
+ 'CosTransactions_Control':typeID()),
+ check_tc('CosTransactions_Control':oe_get_interface()),
+ ?match(true, 'CosTransactions_Control':oe_is_a('CosTransactions_Control':typeID())),
+ ?match(false, 'CosTransactions_Control':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_Coordinator'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_Coordinator'(doc) -> ["CosTransactions_Coordinator"];
+'CosTransactions_Coordinator'(suite) -> [];
+'CosTransactions_Coordinator'(_) ->
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_status)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_parent_status)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_top_level_status)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_same_transaction)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_related_transaction)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_ancestor_transaction)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_descendant_transaction)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(is_top_level_transaction)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(hash_transaction)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(hash_top_level_tran)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(register_resource)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(register_subtran_aware)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(rollback_only)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_transaction_name)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(create_subtransaction)),
+ ?nomatch(undefined, 'CosTransactions_Coordinator':oe_tc(get_txcontext)),
+ ?match(undefined, 'CosTransactions_Coordinator':oe_tc(undefined)),
+ ?match([_|_], 'CosTransactions_Coordinator':oe_get_interface()),
+ ?match("IDL:omg.org/CosTransactions/Coordinator:1.0",
+ 'CosTransactions_Coordinator':typeID()),
+ check_tc('CosTransactions_Coordinator':oe_get_interface()),
+ ?match(true, 'CosTransactions_Coordinator':oe_is_a('CosTransactions_Coordinator':typeID())),
+ ?match(false, 'CosTransactions_Coordinator':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_RecoveryCoordinator'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_RecoveryCoordinator'(doc) -> ["CosTransactions_RecoveryCoordinator"];
+'CosTransactions_RecoveryCoordinator'(suite) -> [];
+'CosTransactions_RecoveryCoordinator'(_) ->
+ ?nomatch(undefined, 'CosTransactions_RecoveryCoordinator':oe_tc(replay_completion)),
+ ?match(undefined, 'CosTransactions_RecoveryCoordinator':oe_tc(undefined)),
+ ?match([_|_], 'CosTransactions_RecoveryCoordinator':oe_get_interface()),
+ ?match("IDL:omg.org/CosTransactions/RecoveryCoordinator:1.0",
+ 'CosTransactions_RecoveryCoordinator':typeID()),
+ check_tc('CosTransactions_RecoveryCoordinator':oe_get_interface()),
+ ?match(true, 'CosTransactions_RecoveryCoordinator':oe_is_a('CosTransactions_RecoveryCoordinator':typeID())),
+ ?match(false, 'CosTransactions_RecoveryCoordinator':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_Resource'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_Resource'(doc) -> ["CosTransactions_Resource"];
+'CosTransactions_Resource'(suite) -> [];
+'CosTransactions_Resource'(_) ->
+ ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(prepare)),
+ ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(rollback)),
+ ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(commit)),
+ ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(commit_one_phase)),
+ ?nomatch(undefined, 'CosTransactions_Resource':oe_tc(forget)),
+ ?match(undefined, 'CosTransactions_Resource':oe_tc(undefined)),
+ ?match([_|_], 'CosTransactions_Resource':oe_get_interface()),
+ ?match("IDL:omg.org/CosTransactions/Resource:1.0",
+ 'CosTransactions_Resource':typeID()),
+ check_tc('CosTransactions_Resource':oe_get_interface()),
+ ?match(true, 'CosTransactions_Resource':oe_is_a('CosTransactions_Resource':typeID())),
+ ?match(false, 'CosTransactions_Resource':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_SubtransactionAwareResource'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_SubtransactionAwareResource'(doc) -> ["CosTransactions_SubtransactionAwareResource"];
+'CosTransactions_SubtransactionAwareResource'(suite) -> [];
+'CosTransactions_SubtransactionAwareResource'(_) ->
+ ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(commit_subtransaction)),
+ ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(rollback_subtransaction)),
+ ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(prepare)),
+ ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(rollback)),
+ ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(commit)),
+ ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(commit_one_phase)),
+ ?nomatch(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(forget)),
+ ?match(undefined, 'CosTransactions_SubtransactionAwareResource':oe_tc(undefined)),
+ ?match([_|_], 'CosTransactions_SubtransactionAwareResource':oe_get_interface()),
+ ?match("IDL:omg.org/CosTransactions/SubtransactionAwareResource:1.0",
+ 'CosTransactions_SubtransactionAwareResource':typeID()),
+ check_tc('CosTransactions_SubtransactionAwareResource':oe_get_interface()),
+ ?match(true, 'CosTransactions_SubtransactionAwareResource':oe_is_a('CosTransactions_SubtransactionAwareResource':typeID())),
+ ?match(true, 'CosTransactions_SubtransactionAwareResource':oe_is_a('CosTransactions_Resource':typeID())),
+ ?match(false, 'CosTransactions_SubtransactionAwareResource':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_Terminator'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_Terminator'(doc) -> ["CosTransactions_Terminator"];
+'CosTransactions_Terminator'(suite) -> [];
+'CosTransactions_Terminator'(_) ->
+ ?nomatch(undefined, 'CosTransactions_Terminator':oe_tc(commit)),
+ ?nomatch(undefined, 'CosTransactions_Terminator':oe_tc(rollback)),
+ ?match(undefined, 'CosTransactions_Terminator':oe_tc(undefined)),
+ ?match([_|_], 'CosTransactions_Terminator':oe_get_interface()),
+ ?match("IDL:omg.org/CosTransactions/Terminator:1.0",
+ 'CosTransactions_Terminator':typeID()),
+ check_tc('CosTransactions_Terminator':oe_get_interface()),
+ ?match(true, 'CosTransactions_Terminator':oe_is_a('CosTransactions_Terminator':typeID())),
+ ?match(false, 'CosTransactions_Terminator':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosTransactions_TransactionFactory'
+%% Description:
+%%-----------------------------------------------------------------
+'CosTransactions_TransactionFactory'(doc) -> ["CosTransactions_TransactionFactory"];
+'CosTransactions_TransactionFactory'(suite) -> [];
+'CosTransactions_TransactionFactory'(_) ->
+ ?nomatch(undefined, 'CosTransactions_TransactionFactory':oe_tc(create)),
+ ?nomatch(undefined, 'CosTransactions_TransactionFactory':oe_tc(recreate)),
+ ?match(undefined, 'CosTransactions_TransactionFactory':oe_tc(undefined)),
+ ?match([_|_], 'CosTransactions_TransactionFactory':oe_get_interface()),
+ ?match("IDL:omg.org/CosTransactions/TransactionFactory:1.0",
+ 'CosTransactions_TransactionFactory':typeID()),
+ check_tc('CosTransactions_TransactionFactory':oe_get_interface()),
+ ?match(true, 'CosTransactions_TransactionFactory':oe_is_a('CosTransactions_TransactionFactory':typeID())),
+ ?match(false, 'CosTransactions_TransactionFactory':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'ETraP_Server'
+%% Description:
+%%-----------------------------------------------------------------
+'ETraP_Server'(doc) -> ["ETraP_Server"];
+'ETraP_Server'(suite) -> [];
+'ETraP_Server'(_) ->
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(get_status)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(get_parent_status)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(get_top_level_status)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(is_same_transaction)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(is_related_transaction)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(is_ancestor_transaction)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(is_descendant_transaction)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(is_top_level_transaction)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(hash_transaction)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(hash_top_level_tran)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(register_resource)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(register_subtran_aware)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(rollback_only)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(get_transaction_name)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(create_subtransaction)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(get_txcontext)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(prepare)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(rollback)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(commit)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(commit_one_phase)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(forget)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(replay_completion)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(get_terminator)),
+ ?nomatch(undefined, 'ETraP_Server':oe_tc(get_coordinator)),
+ ?match(undefined, 'ETraP_Server':oe_tc(undefined)),
+ ?match([_|_], 'ETraP_Server':oe_get_interface()),
+ ?match("IDL:omg.org/ETraP/Server:1.0",
+ 'ETraP_Server':typeID()),
+ check_tc('ETraP_Server':oe_get_interface()),
+ ?match(true, 'ETraP_Server':oe_is_a('ETraP_Server':typeID())),
+ ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_Coordinator':typeID())),
+ ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_Resource':typeID())),
+ ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_RecoveryCoordinator':typeID())),
+ ?match(true, 'ETraP_Server':oe_is_a('CosTransactions_Control':typeID())),
+ ?match(false, 'ETraP_Server':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% MISC functions
+%%-----------------------------------------------------------------
+check_tc([]) ->
+ ok;
+check_tc([{Op, {RetType, InParameters, OutParameters}}|T]) ->
+ io:format("checked - ~s~n", [Op]),
+ lists:all(?checktc(Op), [RetType|InParameters]),
+ lists:all(?checktc(Op), OutParameters),
+ check_tc(T).
+
+
diff --git a/lib/cosTransactions/test/transactions_SUITE.erl b/lib/cosTransactions/test/transactions_SUITE.erl
new file mode 100644
index 0000000000..8385d5a0fb
--- /dev/null
+++ b/lib/cosTransactions/test/transactions_SUITE.erl
@@ -0,0 +1,395 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+-module(transactions_SUITE).
+
+%%--------------- INCLUDES -----------------------------------
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/include/ifr_types.hrl").
+
+%% Local
+-include_lib("cosTransactions/src/ETraP_Common.hrl").
+-include_lib("cosTransactions/include/CosTransactions.hrl").
+-include("etrap_test_lib.hrl").
+
+-include("test_server.hrl").
+
+-define(default_timeout, ?t:minutes(20)).
+
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1, resource_api/1, etrap_api/1,
+ init_per_testcase/2, fin_per_testcase/2, app_test/1]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for the cosTransactions interfaces", ""];
+all(suite) -> {req,
+ [mnesia, orber],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [etrap_api, resource_api, app_test].
+
+
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ 'oe_CosTransactions':'oe_register'(),
+ 'oe_etrap_test':'oe_register'(),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ 'oe_etrap_test':'oe_unregister'(),
+ 'oe_CosTransactions':'oe_unregister'(),
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ mnesia:delete_schema([node()]),
+ mnesia:create_schema([node()]),
+ orber:install([node()]),
+ application:start(mnesia),
+ application:start(orber),
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ application:stop(orber),
+ application:stop(mnesia),
+ mnesia:delete_schema([node()]),
+ Config.
+
+%%-----------------------------------------------------------------
+%% Tests app file
+%%-----------------------------------------------------------------
+app_test(doc) -> [];
+app_test(suite) -> [];
+app_test(_Config) ->
+ ok=test_server:app_test(cosTransactions),
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests
+%%-----------------------------------------------------------------
+etrap_api(doc) -> ["ETraP_Server tests", ""];
+etrap_api(suite) -> [];
+etrap_api(_Config) ->
+ ?line ?match(ok, application:start(cosTransactions),
+ "Starting the cosTransactions application"),
+ ?line TrFac = cosTransactions:start_factory(),
+ %% Start a new transaction:
+ %% RootCoord
+ %% / \
+ %% SubCoord1 SubCoord2
+ Control = 'CosTransactions_TransactionFactory':create(TrFac, 0),
+ Term = 'CosTransactions_Control':get_terminator(Control),
+ Coord = 'CosTransactions_Control':get_coordinator(Control),
+ SubCont1 = 'CosTransactions_Coordinator':create_subtransaction(Coord),
+ SubCont2 = 'CosTransactions_Coordinator':create_subtransaction(Coord),
+ SubCoord1 = 'CosTransactions_Control':get_coordinator(SubCont1),
+ SubCoord2 = 'CosTransactions_Control':get_coordinator(SubCont2),
+
+
+ %%------ Test CosTransactions::Coordinator ------
+ ?line ?match(true,
+ 'CosTransactions_Coordinator':is_same_transaction(Coord, Coord),
+ "'CosTransactions_Coordinator':is_same_transaction"),
+ ?line ?match(false,
+ 'CosTransactions_Coordinator':is_same_transaction(Coord, SubCoord1),
+ "'CosTransactions_Coordinator':is_same_transaction"),
+ ?line ?match(true,
+ 'CosTransactions_Coordinator':is_descendant_transaction(Coord, Coord),
+ "'CosTransactions_Coordinator':is_descendant_transaction"),
+ ?line ?match(false,
+ 'CosTransactions_Coordinator':is_descendant_transaction(Coord, SubCoord1),
+ "'CosTransactions_Coordinator':is_descendant_transaction"),
+ ?line ?match(true,
+ 'CosTransactions_Coordinator':is_descendant_transaction(SubCoord1, Coord),
+ "'CosTransactions_Coordinator':is_descendant_transaction"),
+ ?line ?match(false,
+ 'CosTransactions_Coordinator':is_descendant_transaction(SubCoord1, SubCoord2),
+ "'CosTransactions_Coordinator':is_descendant_transaction"),
+ ?line ?match(true,
+ 'CosTransactions_Coordinator':is_top_level_transaction(Coord),
+ "'CosTransactions_Coordinator':is_top_level_transaction"),
+ ?line ?match(false,
+ 'CosTransactions_Coordinator':is_top_level_transaction(SubCoord2),
+ "'CosTransactions_Coordinator':is_top_level_transaction"),
+
+ RootHash = 'CosTransactions_Coordinator':hash_transaction(Coord),
+ RepeatHash= 'CosTransactions_Coordinator':hash_transaction(Coord),
+ RootHash2 = 'CosTransactions_Coordinator':hash_top_level_tran(SubCoord1),
+ RootHash3 = 'CosTransactions_Coordinator':hash_top_level_tran(Coord),
+ _SubHash = 'CosTransactions_Coordinator':hash_transaction(SubCoord2),
+ ?line ?match(RootHash, RepeatHash,
+ "'CosTransactions_Coordinator':hash_transaction"),
+ ?line ?match(RootHash, RootHash2,
+ "'CosTransactions_Coordinator':hash_top_level_tran"),
+ ?line ?match(RootHash, RootHash3,
+ "'CosTransactions_Coordinator':hash_top_level_tran"),
+% ?line ?match_inverse(RootHash, SubHash,
+% "'CosTransactions_Coordinator':hash_transaction"),
+
+ ?line ?match('StatusActive',
+ 'CosTransactions_Coordinator':get_status(Coord),
+ "'CosTransactions_Coordinator':get_status"),
+ ?line ?match('StatusActive',
+ 'CosTransactions_Coordinator':get_status(SubCoord1),
+ "'CosTransactions_Coordinator':get_status"),
+ ?line ?match('StatusActive',
+ 'CosTransactions_Coordinator':get_parent_status(Coord),
+ "'CosTransactions_Coordinator':get_parent_status"),
+ ?line ?match('StatusActive',
+ 'CosTransactions_Coordinator':get_parent_status(SubCoord1),
+ "'CosTransactions_Coordinator':get_parent_status"),
+ ?line ?match('StatusActive',
+ 'CosTransactions_Coordinator':get_top_level_status(Coord),
+ "'CosTransactions_Coordinator':get_top_level_status"),
+ ?line ?match('StatusActive',
+ 'CosTransactions_Coordinator':get_top_level_status(SubCoord1),
+ "'CosTransactions_Coordinator':get_top_level_status"),
+
+ %% Create a CosTransactions::Resource to experiments with.
+ %% Start a new transaction:
+ %% RootCoord
+ %% / \
+ %% SubCoord1 SubCoord2
+ %% /
+ %% Resource
+ N1 = 'ETraP_Common':create_name("test"),
+ O1 = etrap_test_server:oe_create(?nop, {global, N1}),
+ _RC1 = 'CosTransactions_Coordinator':register_resource(SubCoord1, O1),
+% 'CosTransactions_Coordinator':register_synchronization(SubCoord1, O1),
+
+ ?line ?match('VoteCommit',
+ 'CosTransactions_Resource':prepare(SubCoord1),
+ "'CosTransactions_Coordinator':prepare"),
+ %% The Transaction are no longer in 'StatusActive' state. No new
+ %% "members" allowed.
+ ?line ?match('StatusPrepared',
+ 'CosTransactions_Coordinator':get_status(SubCoord1),
+ "'CosTransactions_Coordinator':get_status"),
+% ?line ?match({'EXCEPTION', ?tr_inactive},
+% 'CosTransactions_Coordinator':register_synchronization(SubCoord1, O1),
+% "'CosTransactions_Coordinator':register_synchronization"),
+ ?line ?match({'EXCEPTION', ?tr_inactive},
+ 'CosTransactions_Coordinator':register_resource(SubCoord1, O1),
+ "'CosTransactions_Coordinator':register_resource"),
+ ?line ?match({'EXCEPTION', ?tr_inactive},
+ 'CosTransactions_Coordinator':create_subtransaction(SubCoord1),
+ "'CosTransactions_Coordinator':create_subtransaction"),
+
+ catch corba:dispose(SubCoord1),
+ catch corba:dispose(SubCoord2),
+ catch corba:dispose(SubCont1),
+ catch corba:dispose(SubCont2),
+ catch corba:dispose(Term),
+ catch corba:dispose(Control),
+ catch corba:dispose(Coord),
+ catch corba:dispose(O1),
+
+ ?line cosTransactions:stop_factory(TrFac),
+ ?line application:stop(cosTransactions),
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests
+%%-----------------------------------------------------------------
+resource_api(doc) -> ["cosTransactions API tests", ""];
+resource_api(suite) -> [];
+resource_api(_Config) ->
+ ?line ?match(ok, application:start(cosTransactions),
+ "Starting the cosTransactions application"),
+ ?line TrFac = cosTransactions:start_factory([{typecheck, true}]),
+
+ ?line ?match({'EXCEPTION', #'TRANSACTION_ROLLEDBACK'{completion_status=?COMPLETED_YES}},
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?prepare_rollback}),
+ "TESTCASE #1: Prepare rollback Resource 4"),
+ ?line ?match({'EXCEPTION', ?tr_mixed},
+ run(TrFac, 0, {?nop, ?nop, ?commit_mix, ?nop}),
+ "TESTCASE #2: Heuristic Mixed exception Resource 3"),
+ ?line ?match(ok,
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?nop}),
+ "TESTCASE #3: Normal completion. No errors."),
+ ?line ?match(ok,
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?commit_cm}),
+ "TESTCASE #4: Heuristic Commit Exception Resource 4"),
+ ?line ?match({'EXCEPTION', #'TRANSACTION_ROLLEDBACK'{completion_status=?COMPLETED_YES}},
+ run(TrFac, 0, {?nop, ?rollback_rb, ?nop, ?prepare_rollback}),
+ "TESTCASE #5: Heuristic Rollbac Resource 2, Resource 4 reply 'VoteRollback'"),
+ ?line ?match({'EXCEPTION', #'TRANSACTION_ROLLEDBACK'{completion_status=?COMPLETED_YES}},
+ run(TrFac, 0, {?nop, ?nop, ?prepare_rollback, ?rollback_rb}),
+ "TESTCASE #6: Heuristic Rollbac Resource 4, Resource 3 reply 'VoteRollback'"),
+ ?line ?match(ok,
+ run(TrFac, 0, {?nop, ?nop, ?commit_delay, ?nop}),
+ "TESTCASE #7: Resource 3 delay during commit. No timeout."),
+ ?line ?match(ok,
+ run(TrFac, 0, {?nop, ?nop, ?prepare_delay, ?nop}),
+ "TESTCASE #8: Resource 3 delay during prepare. No timeout."),
+ ?line ?match(ok,
+ run(TrFac, ?TIMEOUT, {?nop, ?commit_delay, ?nop, ?nop}),
+ "TESTCASE #9: Resource 3 delay during commit. Timeout."),
+ ?line ?match({'EXCEPTION', #'TRANSACTION_ROLLEDBACK'{completion_status=?COMPLETED_YES}},
+ run(TrFac, ?TIMEOUT, {?nop, ?prepare_delay, ?nop, ?nop}),
+ "TESTCASE #10: Resource 3 delay during prepare. Timeout."),
+ case ?is_debug_compiled of
+ true ->
+ %% Testing the Coordinators (root and sub).
+ ?line ?match(ok,
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?nop, [?nop, ?nop,?crash_transient(commit), ?nop]}),
+ "TESTCASE #11: SubCoord 3 crash transient during commit."),
+ ?line ?match({'EXCEPTION', #'TRANSACTION_ROLLEDBACK'{}},
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?nop, [?nop, ?nop,?crash_transient(send_prepare), ?nop]}),
+ "TESTCASE #12: SubCoord 3 crash transient during send prepare."),
+ ?line ?match({'EXCEPTION', ?tr_hazard},
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?nop, [?nop, ?nop,?crash_permanent(commit), ?nop]}),
+ "TESTCASE #13: SubCoord 3 crash permanent during commit."),
+ ?line ?match({'EXCEPTION', #'TRANSACTION_ROLLEDBACK'{}},
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?nop, [?nop, ?nop,?crash_permanent(send_prepare), ?nop]}),
+ "TESTCASE #14: SubCoord 3 crash permanent during prepare."),
+ ?line ?match({'EXCEPTION', #'TRANSACTION_ROLLEDBACK'{}},
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?nop, [?nop, ?crash_transient(send_prepare), ?crash_transient(commit), ?nop]}),
+ "TESTCASE #15: SubCoord 2 crash transient during prepare. SubCoord 3 crash transient during commit"),
+ ?line ?match({'EXCEPTION', #'TRANSACTION_ROLLEDBACK'{completion_status=?COMPLETED_YES}},
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?nop, [?crash_transient(send_prepare), ?nop, ?nop, ?nop]}),
+ "TESTCASE #16: RootCoord crash transient during send prepare."),
+ ?line ?match({'EXCEPTION', #'TRANSACTION_ROLLEDBACK'{}},
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?nop, [?nop, ?crash_transient(prepare1), ?nop, ?nop]}),
+ "TESTCASE #17: SubCoord 1 crash transient during prepare1."),
+ ?line ?match({'EXCEPTION', ?tr_mixed},
+ run(TrFac, 0, {?nop, ?prepare_mix, ?nop, ?nop, [?nop, ?nop, ?crash_transient(prepare2), ?nop]}),
+ "TESTCASE #18: SubCoord 3 crash transient during prepare2. Resource 2 raise Heuristic Mixed during prepare"),
+ ?line ?match({'EXCEPTION', ?tr_mixed},
+ run(TrFac, 0, {?nop, ?commit_mix, ?nop, ?nop, [?nop, ?nop, ?crash_transient(commit2), ?nop]}),
+ "TESTCASE #19: Resource 2 raise Heurist mixed during commit. SubCoord crash transient commit2"),
+ ?line ?match({'EXCEPTION', ?tr_mixed},
+ run(TrFac, 0, {?nop, ?rollback_cm, ?nop, ?prepare_rollback, [?nop, ?crash_transient(rollback2), ?nop, ?nop]}),
+ "TESTCASE #20: Resource 2 raise Heuristic Commit during rollback. Resource 4 'VoteRollback'. SubCoord 2 crash transient rollback2."),
+ ?line ?match({'EXCEPTION', ?tr_mixed},
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?commit_mix, [?nop, ?nop, ?crash_transient(send_forget1), ?nop]}),
+ "TESTCASE #21: Resource 4 raise Heuristic Mixed during commit. SubCoord 2 crash transient send_forget1."),
+ ?line ?match({'EXCEPTION', ?tr_mixed},
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?commit_mix, [?crash_transient(send_forget1), ?nop, ?nop, ?nop]}),
+ "TESTCASE #22: Resource 4 raise Heuristic Mixed during commit. Root Coord crash transient send_forget1."),
+ ?line ?match({'EXCEPTION', ?tr_mixed},
+ run(TrFac, 0, {?nop, ?nop, ?nop, ?commit_mix, [?crash_transient(send_forget3), ?nop, ?crash_transient(send_forget1), ?nop]}),
+ "TESTCASE #23: Resource 4 raise Heuristic Mixed during commit. Root Coord crash transient send_forget3. SubCoord 3 crash transient send_forget1."),
+ ?line ?match({'EXCEPTION', #'TRANSACTION_ROLLEDBACK'{completion_status=?COMPLETED_YES}},
+ run(TrFac, ?TIMEOUT, {?nop, ?nop, ?nop, ?nop, [?delay_transient(root_delay, ?TIMEOUT*2), ?nop, ?nop, ?nop]}),
+ "TESTCASE #24: Delay RootCoord. Timeout."),
+ %% Testing the Terminator.
+ ?line ?match({'EXCEPTION', ?tr_mixed},
+ run(TrFac, ?TIMEOUT, {?nop, ?prepare_mix, ?nop, ?nop, [?nop, ?nop, ?nop, ?crash_transient(commit_heuristic1)]}),
+ "TESTCASE #25: Terminator crash transient after received and logged Heuristic mix."),
+ ?line ?match(ok,
+ run(TrFac, ?TIMEOUT, {?nop, ?nop, ?nop, ?nop, [?nop, ?nop, ?nop, ?crash_transient(commit_ok2)]}),
+ "TESTCASE #26: Terminator crash transient after received and logged 'ok'.");
+ _ ->
+ ok
+ end,
+
+ ?line cosTransactions:stop_factory(TrFac),
+ ?line application:stop(cosTransactions),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Internal functions
+%%-----------------------------------------------------------------
+
+run(TrFac, Time, Spec) ->
+ Control = 'CosTransactions_TransactionFactory':create(TrFac, Time),
+ Term = 'CosTransactions_Control':get_terminator(Control),
+ Coord = 'CosTransactions_Control':get_coordinator(Control),
+ SubCont1 = 'CosTransactions_Coordinator':create_subtransaction(Coord),
+ SubCont2 = 'CosTransactions_Coordinator':create_subtransaction(Coord),
+ SubCoord1 = 'CosTransactions_Control':get_coordinator(SubCont1),
+ SubCoord2 = 'CosTransactions_Control':get_coordinator(SubCont2),
+ %% Start resources/participants.
+ {O1, O2, O3, O4, Ctx} = start_resources(Spec),
+
+ %% Get generated names to use for debugging.
+ CoordN = 'CosTransactions_Coordinator':get_transaction_name(Coord),
+ SubC1N = 'CosTransactions_Coordinator':get_transaction_name(SubCoord1),
+ SubC2N = 'CosTransactions_Coordinator':get_transaction_name(SubCoord2),
+
+ ?set_debug_context([CoordN, SubC1N, SubC2N, Term], Ctx),
+
+ %% Register the resources as participants.
+ _RC1 = 'CosTransactions_Coordinator':register_resource(SubCoord1, O1),
+ _RC2 = 'CosTransactions_Coordinator':register_resource(SubCoord1, O2),
+ _RC3 = 'CosTransactions_Coordinator':register_resource(SubCoord2, O3),
+ _RC4 = 'CosTransactions_Coordinator':register_resource(SubCoord2, O4),
+
+ 'CosTransactions_Coordinator':register_subtran_aware(SubCoord1, O4),
+% 'CosTransactions_Coordinator':register_synchronization(SubCoord1, O2),
+
+% Reply = (catch 'CosTransactions_Terminator':commit(Term, true)),
+ Reply = (catch 'ETraP_Common':send_stubborn('CosTransactions_Terminator',
+ commit, [Term, true],
+ ?tr_max_retries,
+ ?tr_comm_failure_wait)),
+
+ catch corba:dispose(SubCoord1),
+ catch corba:dispose(SubCoord2),
+ catch corba:dispose(SubCont1),
+ catch corba:dispose(SubCont2),
+ catch corba:dispose(Term),
+ catch corba:dispose(Control),
+ catch corba:dispose(Coord),
+ catch corba:dispose(O1),
+ catch corba:dispose(O2),
+ catch corba:dispose(O3),
+ catch corba:dispose(O4),
+ Reply.
+
+
+
+start_resources({A1, A2, A3, A4})->
+ start_resources({A1, A2, A3, A4, ?no_context});
+start_resources({A1, A2, A3, A4, Ctx})->
+ N1 = 'ETraP_Common':create_name("test"),
+ N2 = 'ETraP_Common':create_name("test"),
+ N3 = 'ETraP_Common':create_name("test"),
+ N4 = 'ETraP_Common':create_name("test"),
+ {_,_,O1} = supervisor:start_child(?SUPERVISOR_NAME, ?SUP_TEST(A1, N1)),
+ {_,_,O2} = supervisor:start_child(?SUPERVISOR_NAME, ?SUP_TEST(A2, N2)),
+% {_,_,O2} = supervisor:start_child(?SUPERVISOR_NAME, ?SUP_TEST([{sync,true}|A2], N2)),
+ {_,_,O3} = supervisor:start_child(?SUPERVISOR_NAME, ?SUP_TEST(A3, N3)),
+ {_,_,O4} = supervisor:start_child(?SUPERVISOR_NAME, ?SUP_TEST(A4, N4)),
+ {O1, O2, O3, O4, Ctx}.
diff --git a/lib/cosTransactions/vsn.mk b/lib/cosTransactions/vsn.mk
index 81e360ac2f..34775be7e4 100644
--- a/lib/cosTransactions/vsn.mk
+++ b/lib/cosTransactions/vsn.mk
@@ -1,6 +1,9 @@
-COSTRANSACTIONS_VSN = 1.2.9
+COSTRANSACTIONS_VSN = 1.2.10
-TICKETS = OTP-8355
+TICKETS = OTP-8489 \
+ OTP-8543
+
+TICKETS_1.2.9 = OTP-8355
TICKETS_1.2.8 = OTP-8201
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
index 18040a3b26..e728db18eb 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
@@ -68,13 +68,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/crypto-$(VSN)
# ----------------------------------------------------
# Misc Macros
# ----------------------------------------------------
-OBJS = $(OBJDIR)/crypto_drv.o
-DRV_MAKEFILE = $(PRIVDIR)/Makefile
+OBJS = $(OBJDIR)/crypto.o
+NIF_MAKEFILE = $(PRIVDIR)/Makefile
ifeq ($(findstring win32,$(TARGET)), win32)
-DYN_DRIVER = $(LIBDIR)/crypto_drv.dll
+NIF_LIB = $(LIBDIR)/crypto.dll
else
-DYN_DRIVER = $(LIBDIR)/crypto_drv.so
+NIF_LIB = $(LIBDIR)/crypto.so
endif
ifeq ($(HOST_OS),)
@@ -94,7 +94,7 @@ endif
# Targets
# ----------------------------------------------------
-debug opt valgrind: $(OBJDIR) $(LIBDIR) $(DYN_DRIVER)
+debug opt valgrind: $(OBJDIR) $(LIBDIR) $(NIF_LIB)
$(OBJDIR):
-@mkdir -p $(OBJDIR)
@@ -106,16 +106,16 @@ $(OBJDIR)/%.o: %.c
$(INSTALL_DIR) $(OBJDIR)
$(CC) -c -o $@ $(ALL_CFLAGS) $<
-$(LIBDIR)/crypto_drv.so: $(OBJS)
+$(LIBDIR)/crypto.so: $(OBJS)
$(INSTALL_DIR) $(LIBDIR)
$(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) $(CRYPTO_LINK_LIB)
-$(LIBDIR)/crypto_drv.dll: $(OBJS)
+$(LIBDIR)/crypto.dll: $(OBJS)
$(INSTALL_DIR) $(LIBDIR)
$(LD) $(LDFLAGS) -o $@ $(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) $(OBJS) -llibeay32
clean:
- rm -f $(DYN_DRIVER) $(OBJS)
+ rm -f $(NIF_LIB) $(OBJS)
rm -f core *~
docs:
@@ -128,9 +128,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) $(RELSYSDIR)/priv/obj
$(INSTALL_DIR) $(RELSYSDIR)/priv/lib
- $(INSTALL_DATA) $(DRV_MAKEFILE) $(RELSYSDIR)/priv/obj
+ $(INSTALL_DATA) $(NIF_MAKEFILE) $(RELSYSDIR)/priv/obj
$(INSTALL_PROGRAM) $(OBJS) $(RELSYSDIR)/priv/obj
- $(INSTALL_PROGRAM) $(DYN_DRIVER) $(RELSYSDIR)/priv/lib
+ $(INSTALL_PROGRAM) $(NIF_LIB) $(RELSYSDIR)/priv/lib
release_docs_spec:
diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c
new file mode 100644
index 0000000000..a71df1d7fd
--- /dev/null
+++ b/lib/crypto/c_src/crypto.c
@@ -0,0 +1,1531 @@
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2010. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
+ * Version 1.1, (the "License"); you may not use this file except in
+ * compliance with the License. You should have received a copy of the
+ * Erlang Public License along with this software. If not, it can be
+ * retrieved online at http://www.erlang.org/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * %CopyrightEnd%
+ */
+
+/*
+ * Purpose: Dynamically loadable NIF library for cryptography.
+ * Based on OpenSSL.
+ */
+
+#ifdef __WIN32__
+ #include <windows.h>
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "erl_nif.h"
+
+#define OPENSSL_THREAD_DEFINES
+#include <openssl/opensslconf.h>
+
+#include <openssl/crypto.h>
+#include <openssl/des.h>
+/* #include <openssl/idea.h> This is not supported on the openssl OTP requires */
+#include <openssl/dsa.h>
+#include <openssl/rsa.h>
+#include <openssl/aes.h>
+#include <openssl/md5.h>
+#include <openssl/md4.h>
+#include <openssl/sha.h>
+#include <openssl/bn.h>
+#include <openssl/objects.h>
+#include <openssl/rc4.h>
+#include <openssl/rc2.h>
+#include <openssl/blowfish.h>
+#include <openssl/rand.h>
+
+#ifdef VALGRIND
+ # include <valgrind/memcheck.h>
+
+/* libcrypto mixes supplied buffer contents into its entropy pool,
+ which makes valgrind complain about the use of uninitialized data.
+ We use this valgrind "request" to make sure that no such seemingly
+ undefined data is returned.
+*/
+ # define ERL_VALGRIND_MAKE_MEM_DEFINED(ptr,size) \
+ VALGRIND_MAKE_MEM_DEFINED(ptr,size)
+
+ # define ERL_VALGRIND_ASSERT_MEM_DEFINED(ptr,size) \
+ ((void) ((VALGRIND_CHECK_MEM_IS_DEFINED(ptr,size) == 0) ? 1 : \
+ (fprintf(stderr,"\r\n####### VALGRIND_ASSSERT(%p,%d) failed at %s:%d\r\n",\
+ (ptr),(size), __FILE__, __LINE__), abort(), 0)))
+#else
+ # define ERL_VALGRIND_MAKE_MEM_DEFINED(ptr,size)
+ # define ERL_VALGRIND_ASSERT_MEM_DEFINED(ptr,size)
+#endif
+
+#ifdef DEBUG
+ # define ASSERT(e) \
+ ((void) ((e) ? 1 : (fprintf(stderr,"Assert '%s' failed at %s:%d\n",\
+ #e, __FILE__, __LINE__), abort(), 0)))
+#else
+ # define ASSERT(e) ((void) 1)
+#endif
+
+#ifdef __GNUC__
+ # define INLINE __inline__
+#elif defined(__WIN32__)
+ # define INLINE __forceinline
+#else
+ # define INLINE
+#endif
+
+
+#define get_int32(s) ((((unsigned char*) (s))[0] << 24) | \
+ (((unsigned char*) (s))[1] << 16) | \
+ (((unsigned char*) (s))[2] << 8) | \
+ (((unsigned char*) (s))[3]))
+
+#define put_int32(s,i) \
+{ (s)[0] = (char)(((i) >> 24) & 0xff);\
+ (s)[1] = (char)(((i) >> 16) & 0xff);\
+ (s)[2] = (char)(((i) >> 8) & 0xff);\
+ (s)[3] = (char)((i) & 0xff);\
+}
+
+/* NIF interface declarations */
+static int load(ErlNifEnv* env, void** priv_data, ERL_NIF_TERM load_info);
+static int reload(ErlNifEnv* env, void** priv_data, ERL_NIF_TERM load_info);
+static int upgrade(ErlNifEnv* env, void** priv_data, void** old_priv_data, ERL_NIF_TERM load_info);
+static void unload(ErlNifEnv* env, void* priv_data);
+
+/* The NIFs: */
+static ERL_NIF_TERM info_lib(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM md5(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM md5_init(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM md5_update(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM md5_final(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM sha(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM sha_init(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM sha_update(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM sha_final(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM md4(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM md4_init(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM md4_update(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM md4_final(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM md5_mac_n(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM sha_mac_n(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM des_cbc_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM des_ecb_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM des_ede3_cbc_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM aes_cfb_128_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rand_bytes_1(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rand_bytes_3(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rand_uniform_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM mod_exp_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM dss_verify(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rsa_verify(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM aes_cbc_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM exor(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rc4_encrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rc4_set_key(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rc4_encrypt_with_state(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rc2_40_cbc_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rsa_sign_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM dss_sign_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rsa_public_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM rsa_private_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM dh_generate_parameters_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM dh_check(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM dh_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM dh_compute_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM bf_cfb64_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM bf_cbc_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM bf_ecb_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+static ERL_NIF_TERM blowfish_ofb64_encrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
+
+
+/* openssl callbacks */
+#ifdef OPENSSL_THREADS
+static void locking_function(int mode, int n, const char *file, int line);
+static unsigned long id_function(void);
+static struct CRYPTO_dynlock_value* dyn_create_function(const char *file,
+ int line);
+static void dyn_lock_function(int mode, struct CRYPTO_dynlock_value* ptr,
+ const char *file, int line);
+static void dyn_destroy_function(struct CRYPTO_dynlock_value *ptr,
+ const char *file, int line);
+#endif /* OPENSSL_THREADS */
+
+/* helpers */
+static void hmac_md5(unsigned char *key, int klen,
+ unsigned char *dbuf, int dlen,
+ unsigned char *hmacbuf);
+static void hmac_sha1(unsigned char *key, int klen,
+ unsigned char *dbuf, int dlen,
+ unsigned char *hmacbuf);
+
+static int library_refc = 0; /* number of users of this dynamic library */
+
+static ErlNifFunc nif_funcs[] = {
+ {"info_lib", 0, info_lib},
+ {"md5", 1, md5},
+ {"md5_init", 0, md5_init},
+ {"md5_update", 2, md5_update},
+ {"md5_final", 1, md5_final},
+ {"sha", 1, sha},
+ {"sha_init", 0, sha_init},
+ {"sha_update", 2, sha_update},
+ {"sha_final", 1, sha_final},
+ {"md4", 1, md4},
+ {"md4_init", 0, md4_init},
+ {"md4_update", 2, md4_update},
+ {"md4_final", 1, md4_final},
+ {"md5_mac_n", 3, md5_mac_n},
+ {"sha_mac_n", 3, sha_mac_n},
+ {"des_cbc_crypt", 4, des_cbc_crypt},
+ {"des_ecb_crypt", 3, des_ecb_crypt},
+ {"des_ede3_cbc_crypt", 6, des_ede3_cbc_crypt},
+ {"aes_cfb_128_crypt", 4, aes_cfb_128_crypt},
+ {"rand_bytes", 1, rand_bytes_1},
+ {"rand_bytes", 3, rand_bytes_3},
+ {"rand_uniform_nif", 2, rand_uniform_nif},
+ {"mod_exp_nif", 3, mod_exp_nif},
+ {"dss_verify", 3, dss_verify},
+ {"rsa_verify", 4, rsa_verify},
+ {"aes_cbc_crypt", 4, aes_cbc_crypt},
+ {"exor", 2, exor},
+ {"rc4_encrypt", 2, rc4_encrypt},
+ {"rc4_set_key", 1, rc4_set_key},
+ {"rc4_encrypt_with_state", 2, rc4_encrypt_with_state},
+ {"rc2_40_cbc_crypt", 4, rc2_40_cbc_crypt},
+ {"rsa_sign_nif", 3, rsa_sign_nif},
+ {"dss_sign_nif", 2, dss_sign_nif},
+ {"rsa_public_crypt", 4, rsa_public_crypt},
+ {"rsa_private_crypt", 4, rsa_private_crypt},
+ {"dh_generate_parameters_nif", 2, dh_generate_parameters_nif},
+ {"dh_check", 1, dh_check},
+ {"dh_generate_key_nif", 2, dh_generate_key_nif},
+ {"dh_compute_key_nif", 3, dh_compute_key_nif},
+ {"bf_cfb64_crypt", 4, bf_cfb64_crypt},
+ {"bf_cbc_crypt", 4, bf_cbc_crypt},
+ {"bf_ecb_crypt", 3, bf_ecb_crypt},
+ {"blowfish_ofb64_encrypt", 3, blowfish_ofb64_encrypt}
+};
+
+ERL_NIF_INIT(crypto,nif_funcs,load,reload,upgrade,unload)
+
+
+#define MD5_CTX_LEN (sizeof(MD5_CTX))
+#define MD5_LEN 16
+#define MD5_LEN_96 12
+#define MD4_CTX_LEN (sizeof(MD4_CTX))
+#define MD4_LEN 16
+#define SHA_CTX_LEN (sizeof(SHA_CTX))
+#define SHA_LEN 20
+#define SHA_LEN_96 12
+#define HMAC_INT_LEN 64
+
+#define HMAC_IPAD 0x36
+#define HMAC_OPAD 0x5c
+
+
+static ErlNifRWLock** lock_vec = NULL; /* Static locks used by openssl */
+static ERL_NIF_TERM atom_true;
+static ERL_NIF_TERM atom_false;
+static ERL_NIF_TERM atom_sha;
+static ERL_NIF_TERM atom_md5;
+static ERL_NIF_TERM atom_error;
+static ERL_NIF_TERM atom_rsa_pkcs1_padding;
+static ERL_NIF_TERM atom_rsa_pkcs1_oaep_padding;
+static ERL_NIF_TERM atom_rsa_no_padding;
+static ERL_NIF_TERM atom_undefined;
+
+static ERL_NIF_TERM atom_ok;
+static ERL_NIF_TERM atom_not_prime;
+static ERL_NIF_TERM atom_not_strong_prime;
+static ERL_NIF_TERM atom_unable_to_check_generator;
+static ERL_NIF_TERM atom_not_suitable_generator;
+static ERL_NIF_TERM atom_check_failed;
+static ERL_NIF_TERM atom_unknown;
+
+
+static int is_ok_load_info(ErlNifEnv* env, ERL_NIF_TERM load_info)
+{
+ int i;
+ return enif_get_int(env,load_info,&i) && i == 101;
+}
+static void* crypto_alloc(size_t size)
+{
+ return enif_alloc(NULL, size);
+}
+static void* crypto_realloc(void* ptr, size_t size)
+{
+ return enif_realloc(NULL, ptr, size);
+}
+static void crypto_free(void* ptr)
+{
+ enif_free(NULL, ptr);
+}
+
+static int load(ErlNifEnv* env, void** priv_data, ERL_NIF_TERM load_info)
+{
+ ErlNifSysInfo sys_info;
+ CRYPTO_set_mem_functions(crypto_alloc, crypto_realloc, crypto_free);
+
+ if (!is_ok_load_info(env, load_info)) {
+ return -1;
+ }
+
+#ifdef OPENSSL_THREADS
+ enif_system_info(&sys_info, sizeof(sys_info));
+
+ if (sys_info.scheduler_threads > 1) {
+ int i;
+ lock_vec = enif_alloc(env,CRYPTO_num_locks()*sizeof(*lock_vec));
+ if (lock_vec==NULL) return -1;
+ memset(lock_vec,0,CRYPTO_num_locks()*sizeof(*lock_vec));
+
+ for (i=CRYPTO_num_locks()-1; i>=0; --i) {
+ lock_vec[i] = enif_rwlock_create("crypto_stat");
+ if (lock_vec[i]==NULL) return -1;
+ }
+ CRYPTO_set_locking_callback(locking_function);
+ CRYPTO_set_id_callback(id_function);
+ CRYPTO_set_dynlock_create_callback(dyn_create_function);
+ CRYPTO_set_dynlock_lock_callback(dyn_lock_function);
+ CRYPTO_set_dynlock_destroy_callback(dyn_destroy_function);
+ }
+ /* else no need for locks */
+#endif /* OPENSSL_THREADS */
+
+ atom_true = enif_make_atom(env,"true");
+ atom_false = enif_make_atom(env,"false");
+ atom_sha = enif_make_atom(env,"sha");
+ atom_md5 = enif_make_atom(env,"md5");
+ atom_error = enif_make_atom(env,"error");
+ atom_rsa_pkcs1_padding = enif_make_atom(env,"rsa_pkcs1_padding");
+ atom_rsa_pkcs1_oaep_padding = enif_make_atom(env,"rsa_pkcs1_oaep_padding");
+ atom_rsa_no_padding = enif_make_atom(env,"rsa_no_padding");
+ atom_undefined = enif_make_atom(env,"undefined");
+ atom_ok = enif_make_atom(env,"ok");
+ atom_not_prime = enif_make_atom(env,"not_prime");
+ atom_not_strong_prime = enif_make_atom(env,"not_strong_prime");
+ atom_unable_to_check_generator = enif_make_atom(env,"unable_to_check_generator");
+ atom_not_suitable_generator = enif_make_atom(env,"not_suitable_generator");
+ atom_check_failed = enif_make_atom(env,"check_failed");
+ atom_unknown = enif_make_atom(env,"unknown");
+
+ *priv_data = NULL;
+ library_refc++;
+ return 0;
+}
+
+static int reload(ErlNifEnv* env, void** priv_data, ERL_NIF_TERM load_info)
+{
+ if (*priv_data != NULL) {
+ return -1; /* Don't know how to do that */
+ }
+ if (library_refc == 0) {
+ /* No support for real library upgrade. The tricky thing is to know
+ when to (re)set the callbacks for allocation and locking. */
+ return -2;
+ }
+ if (!is_ok_load_info(env, load_info)) {
+ return -1;
+ }
+ return 0;
+}
+
+static int upgrade(ErlNifEnv* env, void** priv_data, void** old_priv_data,
+ ERL_NIF_TERM load_info)
+{
+ int i;
+ if (*old_priv_data != NULL) {
+ return -1; /* Don't know how to do that */
+ }
+ i = reload(env,priv_data,load_info);
+ if (i != 0) {
+ return i;
+ }
+ library_refc++;
+ return 0;
+}
+
+static void unload(ErlNifEnv* env, void* priv_data)
+{
+ if (--library_refc <= 0) {
+ CRYPTO_cleanup_all_ex_data();
+
+ if (lock_vec != NULL) {
+ int i;
+ for (i=CRYPTO_num_locks()-1; i>=0; --i) {
+ if (lock_vec[i] != NULL) {
+ enif_rwlock_destroy(lock_vec[i]);
+ }
+ }
+ enif_free(env,lock_vec);
+ }
+ }
+ /*else NIF library still used by other (new) module code */
+}
+
+static ERL_NIF_TERM info_lib(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{
+ /* [{<<"OpenSSL">>,9470143,<<"OpenSSL 0.9.8k 25 Mar 2009">>}] */
+
+ static const char libname[] = "OpenSSL";
+ unsigned name_sz = strlen(libname);
+ const char* ver = SSLeay_version(SSLEAY_VERSION);
+ unsigned ver_sz = strlen(ver);
+ ERL_NIF_TERM name_term, ver_term;
+
+ memcpy(enif_make_new_binary(env, name_sz, &name_term), libname, name_sz);
+ memcpy(enif_make_new_binary(env, ver_sz, &ver_term), ver, ver_sz);
+
+ return enif_make_list1(env, enif_make_tuple3(env, name_term,
+ enif_make_int(env, SSLeay()),
+ ver_term));
+}
+
+static ERL_NIF_TERM md5(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Data) */
+ ErlNifBinary ibin;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &ibin)) {
+ return enif_make_badarg(env);
+ }
+ MD5((unsigned char *) ibin.data, ibin.size,
+ enif_make_new_binary(env,MD5_LEN, &ret));
+ return ret;
+}
+static ERL_NIF_TERM md5_init(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* () */
+ ERL_NIF_TERM ret;
+ MD5_Init((MD5_CTX *) enif_make_new_binary(env, MD5_CTX_LEN, &ret));
+ return ret;
+}
+static ERL_NIF_TERM md5_update(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Context, Data) */
+ MD5_CTX* new_ctx;
+ ErlNifBinary ctx_bin, data_bin;
+ ERL_NIF_TERM ret;
+ if (!enif_inspect_binary(env, argv[0], &ctx_bin)
+ || ctx_bin.size != MD5_CTX_LEN
+ || !enif_inspect_iolist_as_binary(env, argv[1], &data_bin)) {
+ return enif_make_badarg(env);
+ }
+ new_ctx = (MD5_CTX*) enif_make_new_binary(env,MD5_CTX_LEN, &ret);
+ memcpy(new_ctx, ctx_bin.data, MD5_CTX_LEN);
+ MD5_Update(new_ctx, data_bin.data, data_bin.size);
+ return ret;
+}
+static ERL_NIF_TERM md5_final(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Context) */
+ ErlNifBinary ctx_bin;
+ MD5_CTX ctx_clone;
+ ERL_NIF_TERM ret;
+ if (!enif_inspect_binary(env, argv[0], &ctx_bin) || ctx_bin.size != MD5_CTX_LEN) {
+ return enif_make_badarg(env);
+ }
+ memcpy(&ctx_clone, ctx_bin.data, MD5_CTX_LEN); /* writable */
+ MD5_Final(enif_make_new_binary(env, MD5_LEN, &ret), &ctx_clone);
+ return ret;
+}
+
+static ERL_NIF_TERM sha(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Data) */
+ ErlNifBinary ibin;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &ibin)) {
+ return enif_make_badarg(env);
+ }
+ SHA1((unsigned char *) ibin.data, ibin.size,
+ enif_make_new_binary(env,SHA_LEN, &ret));
+ return ret;
+}
+static ERL_NIF_TERM sha_init(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* () */
+ ERL_NIF_TERM ret;
+ SHA1_Init((SHA_CTX *) enif_make_new_binary(env, SHA_CTX_LEN, &ret));
+ return ret;
+}
+static ERL_NIF_TERM sha_update(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Context, Data) */
+ SHA_CTX* new_ctx;
+ ErlNifBinary ctx_bin, data_bin;
+ ERL_NIF_TERM ret;
+ if (!enif_inspect_binary(env, argv[0], &ctx_bin) || ctx_bin.size != SHA_CTX_LEN
+ || !enif_inspect_iolist_as_binary(env, argv[1], &data_bin)) {
+ return enif_make_badarg(env);
+ }
+ new_ctx = (SHA_CTX*) enif_make_new_binary(env,SHA_CTX_LEN, &ret);
+ memcpy(new_ctx, ctx_bin.data, SHA_CTX_LEN);
+ SHA1_Update(new_ctx, data_bin.data, data_bin.size);
+ return ret;
+}
+static ERL_NIF_TERM sha_final(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Context) */
+ ErlNifBinary ctx_bin;
+ SHA_CTX ctx_clone;
+ ERL_NIF_TERM ret;
+ if (!enif_inspect_binary(env, argv[0], &ctx_bin) || ctx_bin.size != SHA_CTX_LEN) {
+ return enif_make_badarg(env);
+ }
+ memcpy(&ctx_clone, ctx_bin.data, SHA_CTX_LEN); /* writable */
+ SHA1_Final(enif_make_new_binary(env, SHA_LEN, &ret), &ctx_clone);
+ return ret;
+}
+
+static ERL_NIF_TERM md4(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Data) */
+ ErlNifBinary ibin;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &ibin)) {
+ return enif_make_badarg(env);
+ }
+ MD4((unsigned char *) ibin.data, ibin.size,
+ enif_make_new_binary(env,MD4_LEN, &ret));
+ return ret;
+}
+static ERL_NIF_TERM md4_init(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* () */
+ ERL_NIF_TERM ret;
+ MD4_Init((MD4_CTX *) enif_make_new_binary(env, MD4_CTX_LEN, &ret));
+ return ret;
+}
+static ERL_NIF_TERM md4_update(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Context, Data) */
+ MD4_CTX* new_ctx;
+ ErlNifBinary ctx_bin, data_bin;
+ ERL_NIF_TERM ret;
+ if (!enif_inspect_binary(env, argv[0], &ctx_bin) || ctx_bin.size != MD4_CTX_LEN
+ || !enif_inspect_iolist_as_binary(env, argv[1], &data_bin)) {
+ return enif_make_badarg(env);
+ }
+ new_ctx = (MD4_CTX*) enif_make_new_binary(env,MD4_CTX_LEN, &ret);
+ memcpy(new_ctx, ctx_bin.data, MD4_CTX_LEN);
+ MD4_Update(new_ctx, data_bin.data, data_bin.size);
+ return ret;
+}
+static ERL_NIF_TERM md4_final(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Context) */
+ ErlNifBinary ctx_bin;
+ MD4_CTX ctx_clone;
+ ERL_NIF_TERM ret;
+ if (!enif_inspect_binary(env, argv[0], &ctx_bin) || ctx_bin.size != MD4_CTX_LEN) {
+ return enif_make_badarg(env);
+ }
+ memcpy(&ctx_clone, ctx_bin.data, MD4_CTX_LEN); /* writable */
+ MD4_Final(enif_make_new_binary(env, MD4_LEN, &ret), &ctx_clone);
+ return ret;
+}
+
+static ERL_NIF_TERM md5_mac_n(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, Data, MacSize) */
+ unsigned char hmacbuf[SHA_DIGEST_LENGTH];
+ ErlNifBinary key, data;
+ unsigned mac_sz;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key)
+ || !enif_inspect_iolist_as_binary(env, argv[1], &data)
+ || !enif_get_uint(env,argv[2],&mac_sz) || mac_sz > MD5_LEN) {
+ return enif_make_badarg(env);
+ }
+ hmac_md5(key.data, key.size, data.data, data.size, hmacbuf);
+ memcpy(enif_make_new_binary(env, mac_sz, &ret), hmacbuf, mac_sz);
+ return ret;
+}
+
+static ERL_NIF_TERM sha_mac_n(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, Data, MacSize) */
+ unsigned char hmacbuf[SHA_DIGEST_LENGTH];
+ ErlNifBinary key, data;
+ unsigned mac_sz;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key)
+ || !enif_inspect_iolist_as_binary(env, argv[1], &data)
+ || !enif_get_uint(env,argv[2],&mac_sz) || mac_sz > SHA_LEN) {
+ return enif_make_badarg(env);
+ }
+ hmac_sha1(key.data, key.size, data.data, data.size, hmacbuf);
+ memcpy(enif_make_new_binary(env, mac_sz, &ret),
+ hmacbuf, mac_sz);
+ return ret;
+}
+
+static ERL_NIF_TERM des_cbc_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, Ivec, Text, IsEncrypt) */
+ ErlNifBinary key, ivec, text;
+ DES_key_schedule schedule;
+ DES_cblock ivec_clone; /* writable copy */
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key) || key.size != 8
+ || !enif_inspect_binary(env, argv[1], &ivec) || ivec.size != 8
+ || !enif_inspect_iolist_as_binary(env, argv[2], &text)
+ || text.size % 8 != 0) {
+ return enif_make_badarg(env);
+ }
+ memcpy(&ivec_clone, ivec.data, 8);
+ DES_set_key((const_DES_cblock*)key.data, &schedule);
+ DES_ncbc_encrypt(text.data, enif_make_new_binary(env, text.size, &ret),
+ text.size, &schedule, &ivec_clone, (argv[3] == atom_true));
+ return ret;
+}
+
+static ERL_NIF_TERM des_ecb_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, Text/Cipher, IsEncrypt) */
+ ErlNifBinary key, text;
+ DES_key_schedule schedule;
+ ERL_NIF_TERM ret;
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key) || key.size != 8 ||
+ !enif_inspect_iolist_as_binary(env, argv[1], &text) || text.size != 8) {
+ return enif_make_badarg(env);
+ }
+ DES_set_key((const_DES_cblock*)key.data, &schedule);
+ DES_ecb_encrypt((const_DES_cblock*)text.data,
+ (DES_cblock*)enif_make_new_binary(env, 8, &ret),
+ &schedule, (argv[2] == atom_true));
+ return ret;
+}
+
+static ERL_NIF_TERM des_ede3_cbc_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key1, Key2, Key3, IVec, Text/Cipher, IsEncrypt) */
+ ErlNifBinary key1, key2, key3, ivec, text;
+ DES_key_schedule schedule1, schedule2, schedule3;
+ DES_cblock ivec_clone; /* writable copy */
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key1) || key1.size != 8
+ || !enif_inspect_iolist_as_binary(env, argv[1], &key2) || key2.size != 8
+ || !enif_inspect_iolist_as_binary(env, argv[2], &key3) || key3.size != 8
+ || !enif_inspect_binary(env, argv[3], &ivec) || ivec.size != 8
+ || !enif_inspect_iolist_as_binary(env, argv[4], &text)
+ || text.size % 8 != 0) {
+ return enif_make_badarg(env);
+ }
+
+ memcpy(&ivec_clone, ivec.data, 8);
+ DES_set_key((const_DES_cblock*)key1.data, &schedule1);
+ DES_set_key((const_DES_cblock*)key2.data, &schedule2);
+ DES_set_key((const_DES_cblock*)key3.data, &schedule3);
+ DES_ede3_cbc_encrypt(text.data, enif_make_new_binary(env,text.size,&ret),
+ text.size, &schedule1, &schedule2, &schedule3,
+ &ivec_clone, (argv[5] == atom_true));
+ return ret;
+}
+
+static ERL_NIF_TERM aes_cfb_128_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, IVec, Data, IsEncrypt) */
+ ErlNifBinary key, ivec, text;
+ AES_KEY aes_key;
+ unsigned char ivec_clone[16]; /* writable copy */
+ int new_ivlen = 0;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key) || key.size != 16
+ || !enif_inspect_binary(env, argv[1], &ivec) || ivec.size != 16
+ || !enif_inspect_iolist_as_binary(env, argv[2], &text)
+ || text.size % 16 != 0) {
+ return enif_make_badarg(env);
+ }
+
+ memcpy(ivec_clone, ivec.data, 16);
+ AES_set_encrypt_key(key.data, 128, &aes_key);
+ AES_cfb128_encrypt((unsigned char *) text.data,
+ enif_make_new_binary(env, text.size, &ret),
+ text.size, &aes_key, ivec_clone, &new_ivlen,
+ (argv[3] == atom_true));
+ return ret;
+}
+
+static ERL_NIF_TERM rand_bytes_1(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Bytes) */
+ unsigned bytes;
+ unsigned char* data;
+ ERL_NIF_TERM ret;
+ if (!enif_get_uint(env, argv[0], &bytes)) {
+ return enif_make_badarg(env);
+ }
+ data = enif_make_new_binary(env, bytes, &ret);
+ RAND_pseudo_bytes(data, bytes);
+ ERL_VALGRIND_MAKE_MEM_DEFINED(data, bytes);
+ return ret;
+}
+static ERL_NIF_TERM rand_bytes_3(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Bytes, TopMask, BottomMask) */
+ unsigned bytes;
+ unsigned char* data;
+ unsigned top_mask, bot_mask;
+ ERL_NIF_TERM ret;
+ if (!enif_get_uint(env, argv[0], &bytes)
+ || !enif_get_uint(env, argv[1], &top_mask)
+ || !enif_get_uint(env, argv[2], &bot_mask)) {
+ return enif_make_badarg(env);
+ }
+ data = enif_make_new_binary(env, bytes, &ret);
+ RAND_pseudo_bytes(data, bytes);
+ ERL_VALGRIND_MAKE_MEM_DEFINED(data, bytes);
+ if (bytes > 0) {
+ data[bytes-1] |= top_mask;
+ data[0] |= bot_mask;
+ }
+ return ret;
+}
+
+static int get_bn_from_mpint(ErlNifEnv* env, ERL_NIF_TERM term, BIGNUM** bnp)
+{
+ ErlNifBinary bin;
+ int sz;
+ if (!enif_inspect_binary(env,term,&bin)) {
+ return 0;
+ }
+ ERL_VALGRIND_ASSERT_MEM_DEFINED(bin.data, bin.size);
+ sz = bin.size - 4;
+ if (sz < 0 || get_int32(bin.data) != sz) {
+ return 0;
+ }
+ *bnp = BN_bin2bn(bin.data+4, sz, NULL);
+ return 1;
+}
+
+static ERL_NIF_TERM rand_uniform_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Lo,Hi) */
+ BIGNUM *bn_from, *bn_to, *bn_rand;
+ unsigned char* data;
+ unsigned dlen;
+ ERL_NIF_TERM ret;
+ if (!get_bn_from_mpint(env, argv[0], &bn_from)
+ || !get_bn_from_mpint(env, argv[1], &bn_rand)) {
+ return enif_make_badarg(env);
+ }
+
+ bn_to = BN_new();
+ BN_sub(bn_to, bn_rand, bn_from);
+ BN_pseudo_rand_range(bn_rand, bn_to);
+ BN_add(bn_rand, bn_rand, bn_from);
+ dlen = BN_num_bytes(bn_rand);
+ data = enif_make_new_binary(env, dlen+4, &ret);
+ put_int32(data, dlen);
+ BN_bn2bin(bn_rand, data+4);
+ ERL_VALGRIND_MAKE_MEM_DEFINED(data+4, dlen);
+ BN_free(bn_rand);
+ BN_free(bn_from);
+ BN_free(bn_to);
+ return ret;
+}
+
+static ERL_NIF_TERM mod_exp_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Base,Exponent,Modulo) */
+ BIGNUM *bn_base=NULL, *bn_exponent=NULL, *bn_modulo, *bn_result;
+ BN_CTX *bn_ctx;
+ unsigned char* ptr;
+ unsigned dlen;
+ ERL_NIF_TERM ret;
+
+ if (!get_bn_from_mpint(env, argv[0], &bn_base)
+ || !get_bn_from_mpint(env, argv[1], &bn_exponent)
+ || !get_bn_from_mpint(env, argv[2], &bn_modulo)) {
+
+ if (bn_base) BN_free(bn_base);
+ if (bn_exponent) BN_free(bn_exponent);
+ return enif_make_badarg(env);
+ }
+ bn_result = BN_new();
+ bn_ctx = BN_CTX_new();
+ BN_mod_exp(bn_result, bn_base, bn_exponent, bn_modulo, bn_ctx);
+ dlen = BN_num_bytes(bn_result);
+ ptr = enif_make_new_binary(env, dlen+4, &ret);
+ put_int32(ptr, dlen);
+ BN_bn2bin(bn_result, ptr+4);
+ BN_free(bn_result);
+ BN_CTX_free(bn_ctx);
+ BN_free(bn_modulo);
+ BN_free(bn_exponent);
+ BN_free(bn_base);
+ return ret;
+}
+
+static int inspect_mpint(ErlNifEnv* env, ERL_NIF_TERM term, ErlNifBinary* bin)
+{
+ return enif_inspect_binary(env, term, bin) &&
+ bin->size >= 4 && get_int32(bin->data) == bin->size-4;
+}
+
+static ERL_NIF_TERM dss_verify(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Data,Signature,Key=[P, Q, G, Y]) */
+ ErlNifBinary data_bin, sign_bin;
+ BIGNUM *dsa_p, *dsa_q, *dsa_g, *dsa_y;
+ unsigned char hmacbuf[SHA_DIGEST_LENGTH];
+ ERL_NIF_TERM head, tail;
+ DSA *dsa;
+ int i;
+
+ if (!inspect_mpint(env,argv[0],&data_bin)
+ || !inspect_mpint(env,argv[1],&sign_bin)
+ || !enif_get_list_cell(env, argv[2], &head, &tail)
+ || !get_bn_from_mpint(env, head, &dsa_p)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &dsa_q)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &dsa_g)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &dsa_y)
+ || !enif_is_empty_list(env,tail)) {
+
+ return enif_make_badarg(env);
+ }
+ SHA1(data_bin.data+4, data_bin.size-4, hmacbuf);
+
+ dsa = DSA_new();
+ dsa->p = dsa_p;
+ dsa->q = dsa_q;
+ dsa->g = dsa_g;
+ dsa->priv_key = NULL;
+ dsa->pub_key = dsa_y;
+ i = DSA_verify(0, hmacbuf, SHA_DIGEST_LENGTH,
+ sign_bin.data+4, sign_bin.size-4, dsa);
+ DSA_free(dsa);
+ return(i > 0) ? atom_true : atom_false;
+}
+
+static ERL_NIF_TERM rsa_verify(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Type, Data, Signature, Key=[E,N]) */
+ ErlNifBinary data_bin, sign_bin;
+ unsigned char hmacbuf[SHA_DIGEST_LENGTH];
+ ERL_NIF_TERM head, tail, ret;
+ int i, is_sha;
+ RSA* rsa = RSA_new();
+
+ if (argv[0] == atom_sha) is_sha = 1;
+ else if (argv[0] == atom_md5) is_sha = 0;
+ else goto badarg;
+
+ if (!inspect_mpint(env, argv[1], &data_bin)
+ || !inspect_mpint(env, argv[2], &sign_bin)
+ || !enif_get_list_cell(env, argv[3], &head, &tail)
+ || !get_bn_from_mpint(env, head, &rsa->e)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &rsa->n)
+ || !enif_is_empty_list(env, tail)) {
+ badarg:
+ ret = enif_make_badarg(env);
+ }
+ else {
+ if (is_sha) {
+ SHA1(data_bin.data+4, data_bin.size-4, hmacbuf);
+ i = RSA_verify(NID_sha1, hmacbuf, SHA_DIGEST_LENGTH,
+ sign_bin.data+4, sign_bin.size-4, rsa);
+ }
+ else {
+ MD5(data_bin.data+4, data_bin.size-4, hmacbuf);
+ i = RSA_verify(NID_md5, hmacbuf, MD5_DIGEST_LENGTH,
+ sign_bin.data+4, sign_bin.size-4, rsa);
+ }
+ ret = (i==1 ? atom_true : atom_false);
+ }
+ RSA_free(rsa);
+ return ret;
+}
+
+static ERL_NIF_TERM aes_cbc_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, IVec, Data, IsEncrypt) */
+ ErlNifBinary key_bin, ivec_bin, data_bin;
+ AES_KEY aes_key;
+ unsigned char ivec[16];
+ int i;
+ unsigned char* ret_ptr;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key_bin)
+ || (key_bin.size != 16 && key_bin.size != 32)
+ || !enif_inspect_binary(env, argv[1], &ivec_bin)
+ || ivec_bin.size != 16
+ || !enif_inspect_iolist_as_binary(env, argv[2], &data_bin)
+ || data_bin.size % 16 != 0) {
+
+ return enif_make_badarg(env);
+ }
+
+ if (argv[3] == atom_true) {
+ i = AES_ENCRYPT;
+ AES_set_encrypt_key(key_bin.data, key_bin.size*8, &aes_key);
+ }
+ else {
+ i = AES_DECRYPT;
+ AES_set_decrypt_key(key_bin.data, key_bin.size*8, &aes_key);
+ }
+
+ ret_ptr = enif_make_new_binary(env, data_bin.size, &ret);
+ memcpy(ivec, ivec_bin.data, 16); /* writable copy */
+ AES_cbc_encrypt(data_bin.data, ret_ptr, data_bin.size, &aes_key, ivec, i);
+ return ret;
+}
+
+static ERL_NIF_TERM exor(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Data1, Data2) */
+ ErlNifBinary d1, d2;
+ unsigned char* ret_ptr;
+ int i;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env,argv[0], &d1)
+ || !enif_inspect_iolist_as_binary(env,argv[1], &d2)
+ || d1.size != d2.size) {
+ return enif_make_badarg(env);
+ }
+ ret_ptr = enif_make_new_binary(env, d1.size, &ret);
+
+ for (i=0; i<d1.size; i++) {
+ ret_ptr[i] = d1.data[i] ^ d2.data[i];
+ }
+ return ret;
+}
+
+static ERL_NIF_TERM rc4_encrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, Data) */
+ ErlNifBinary key, data;
+ RC4_KEY rc4_key;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env,argv[0], &key)
+ || !enif_inspect_iolist_as_binary(env,argv[1], &data)) {
+ return enif_make_badarg(env);
+ }
+ RC4_set_key(&rc4_key, key.size, key.data);
+ RC4(&rc4_key, data.size, data.data,
+ enif_make_new_binary(env, data.size, &ret));
+ return ret;
+}
+
+static ERL_NIF_TERM rc4_set_key(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key) */
+ ErlNifBinary key;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env,argv[0], &key)) {
+ return enif_make_badarg(env);
+ }
+ RC4_set_key((RC4_KEY*)enif_make_new_binary(env, sizeof(RC4_KEY), &ret),
+ key.size, key.data);
+ return ret;
+}
+
+static ERL_NIF_TERM rc4_encrypt_with_state(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (State, Data) */
+
+ ErlNifBinary state, data;
+ RC4_KEY* rc4_key;
+ ERL_NIF_TERM new_state, new_data;
+
+ if (!enif_inspect_iolist_as_binary(env,argv[0], &state)
+ || state.size != sizeof(RC4_KEY)
+ || !enif_inspect_iolist_as_binary(env,argv[1], &data)) {
+ return enif_make_badarg(env);
+ }
+ rc4_key = (RC4_KEY*)enif_make_new_binary(env, sizeof(RC4_KEY), &new_state);
+ memcpy(rc4_key, state.data, sizeof(RC4_KEY));
+ RC4(rc4_key, data.size, data.data,
+ enif_make_new_binary(env, data.size, &new_data));
+
+ return enif_make_tuple2(env,argv[0],new_data);
+}
+
+static ERL_NIF_TERM rc2_40_cbc_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key,IVec,Data,IsEncrypt) */
+ ErlNifBinary key_bin, ivec_bin, data_bin;
+ RC2_KEY rc2_key;
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key_bin)
+ || key_bin.size != 5
+ || !enif_inspect_binary(env, argv[1], &ivec_bin)
+ || ivec_bin.size != 8
+ || !enif_inspect_iolist_as_binary(env, argv[2], &data_bin)) {
+
+ return enif_make_badarg(env);
+ }
+
+ RC2_set_key(&rc2_key, 5, key_bin.data, 40);
+ RC2_cbc_encrypt(data_bin.data,
+ enif_make_new_binary(env, data_bin.size, &ret),
+ data_bin.size, &rc2_key,
+ ivec_bin.data,
+ (argv[3] == atom_true));
+
+ return ret;
+}
+
+static ERL_NIF_TERM rsa_sign_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Type,Data,Key=[E,N,D]) */
+ ErlNifBinary data_bin, ret_bin;
+ ERL_NIF_TERM head, tail;
+ unsigned char hmacbuf[SHA_DIGEST_LENGTH];
+ unsigned rsa_s_len;
+ RSA *rsa = RSA_new();
+ int i, is_sha;
+
+ if (argv[0] == atom_sha) is_sha = 1;
+ else if (argv[0] == atom_md5) is_sha = 0;
+ else goto badarg;
+
+ if (!inspect_mpint(env,argv[1],&data_bin)
+ || !enif_get_list_cell(env, argv[2], &head, &tail)
+ || !get_bn_from_mpint(env, head, &rsa->e)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &rsa->n)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &rsa->d)
+ || !enif_is_empty_list(env,tail)) {
+ badarg:
+ RSA_free(rsa);
+ return enif_make_badarg(env);
+ }
+ enif_alloc_binary(env, RSA_size(rsa), &ret_bin);
+ if (is_sha) {
+ SHA1(data_bin.data+4, data_bin.size-4, hmacbuf);
+ ERL_VALGRIND_ASSERT_MEM_DEFINED(hmacbuf, SHA_DIGEST_LENGTH);
+ i = RSA_sign(NID_sha1, hmacbuf, SHA_DIGEST_LENGTH,
+ ret_bin.data, &rsa_s_len, rsa);
+ }
+ else {
+ MD5(data_bin.data+4, data_bin.size-4, hmacbuf);
+ ERL_VALGRIND_ASSERT_MEM_DEFINED(hmacbuf, MD5_DIGEST_LENGTH);
+ i = RSA_sign(NID_md5, hmacbuf,MD5_DIGEST_LENGTH,
+ ret_bin.data, &rsa_s_len, rsa);
+ }
+ RSA_free(rsa);
+ if (i) {
+ ERL_VALGRIND_MAKE_MEM_DEFINED(ret_bin.data, rsa_s_len);
+ if (rsa_s_len != data_bin.size) {
+ enif_realloc_binary(env, &ret_bin, rsa_s_len);
+ ERL_VALGRIND_ASSERT_MEM_DEFINED(ret_bin.data, rsa_s_len);
+ }
+ return enif_make_binary(env,&ret_bin);
+ }
+ else {
+ enif_release_binary(env, &ret_bin);
+ return atom_error;
+ }
+}
+
+static ERL_NIF_TERM dss_sign_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Data,Key=[P,Q,G,PrivKey]) */
+ ErlNifBinary data_bin, ret_bin;
+ ERL_NIF_TERM head, tail;
+ unsigned char hmacbuf[SHA_DIGEST_LENGTH];
+ unsigned int dsa_s_len;
+ DSA* dsa = DSA_new();
+ int i;
+
+ dsa->pub_key = NULL;
+ if (!inspect_mpint(env, argv[0], &data_bin)
+ || !enif_get_list_cell(env, argv[1], &head, &tail)
+ || !get_bn_from_mpint(env, head, &dsa->p)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &dsa->q)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &dsa->g)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &dsa->priv_key)
+ || !enif_is_empty_list(env,tail)) {
+
+ DSA_free(dsa);
+ return enif_make_badarg(env);
+ }
+
+ SHA1(data_bin.data+4, data_bin.size-4, hmacbuf);
+
+ enif_alloc_binary(env, DSA_size(dsa), &ret_bin);
+ i = DSA_sign(NID_sha1, hmacbuf, SHA_DIGEST_LENGTH,
+ ret_bin.data, &dsa_s_len, dsa);
+ DSA_free(dsa);
+ if (i) {
+ if (dsa_s_len != ret_bin.size) {
+ enif_realloc_binary(env, &ret_bin, dsa_s_len);
+ }
+ return enif_make_binary(env, &ret_bin);
+ }
+ else {
+ return atom_error;
+ }
+}
+
+static int rsa_pad(ERL_NIF_TERM term, int* padding)
+{
+ if (term == atom_rsa_pkcs1_padding) {
+ *padding = RSA_PKCS1_PADDING;
+ }
+ else if (term == atom_rsa_pkcs1_oaep_padding) {
+ *padding = RSA_PKCS1_OAEP_PADDING;
+ }
+ else if (term == atom_rsa_no_padding) {
+ *padding = RSA_NO_PADDING;
+ }
+ else {
+ return 0;
+ }
+ return 1;
+}
+
+static ERL_NIF_TERM rsa_public_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Data, PublKey=[E,N], Padding, IsEncrypt) */
+ ErlNifBinary data_bin, ret_bin;
+ ERL_NIF_TERM head, tail;
+ int padding, i;
+ RSA* rsa = RSA_new();
+
+ if (!enif_inspect_binary(env, argv[0], &data_bin)
+ || !enif_get_list_cell(env, argv[1], &head, &tail)
+ || !get_bn_from_mpint(env, head, &rsa->e)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &rsa->n)
+ || !enif_is_empty_list(env,tail)
+ || !rsa_pad(argv[2], &padding)) {
+
+ RSA_free(rsa);
+ return enif_make_badarg(env);
+ }
+
+ enif_alloc_binary(env, RSA_size(rsa), &ret_bin);
+
+ if (argv[3] == atom_true) {
+ ERL_VALGRIND_ASSERT_MEM_DEFINED(buf+i,data_len);
+ i = RSA_public_encrypt(data_bin.size, data_bin.data,
+ ret_bin.data, rsa, padding);
+ if (i > 0) {
+ ERL_VALGRIND_MAKE_MEM_DEFINED(ret_bin.data, i);
+ }
+ }
+ else {
+ i = RSA_public_decrypt(data_bin.size, data_bin.data,
+ ret_bin.data, rsa, padding);
+ if (i > 0) {
+ ERL_VALGRIND_MAKE_MEM_DEFINED(ret_bin.data, i);
+ enif_realloc_binary(env, &ret_bin, i);
+ }
+ }
+ RSA_free(rsa);
+ if (i > 0) {
+ return enif_make_binary(env,&ret_bin);
+ }
+ else {
+ return atom_error;
+ }
+}
+
+static ERL_NIF_TERM rsa_private_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Data, PublKey=[E,N,D], Padding, IsEncrypt) */
+ ErlNifBinary data_bin, ret_bin;
+ ERL_NIF_TERM head, tail;
+ int padding, i;
+ RSA* rsa = RSA_new();
+
+ if (!enif_inspect_binary(env, argv[0], &data_bin)
+ || !enif_get_list_cell(env, argv[1], &head, &tail)
+ || !get_bn_from_mpint(env, head, &rsa->e)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &rsa->n)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &rsa->d)
+ || !enif_is_empty_list(env,tail)
+ || !rsa_pad(argv[2], &padding)) {
+
+ RSA_free(rsa);
+ return enif_make_badarg(env);
+ }
+
+ enif_alloc_binary(env, RSA_size(rsa), &ret_bin);
+
+ if (argv[3] == atom_true) {
+ ERL_VALGRIND_ASSERT_MEM_DEFINED(buf+i,data_len);
+ i = RSA_private_encrypt(data_bin.size, data_bin.data,
+ ret_bin.data, rsa, padding);
+ if (i > 0) {
+ ERL_VALGRIND_MAKE_MEM_DEFINED(ret_bin.data, i);
+ }
+ }
+ else {
+ i = RSA_private_decrypt(data_bin.size, data_bin.data,
+ ret_bin.data, rsa, padding);
+ if (i > 0) {
+ ERL_VALGRIND_MAKE_MEM_DEFINED(ret_bin.data, i);
+ enif_realloc_binary(env, &ret_bin, i);
+ }
+ }
+ RSA_free(rsa);
+ if (i > 0) {
+ return enif_make_binary(env,&ret_bin);
+ }
+ else {
+ return atom_error;
+ }
+}
+
+static ERL_NIF_TERM dh_generate_parameters_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (PrimeLen, Generator) */
+ int prime_len, generator;
+ DH* dh_params;
+ int p_len, g_len;
+ unsigned char *p_ptr, *g_ptr;
+ ERL_NIF_TERM ret_p, ret_g;
+
+ if (!enif_get_int(env, argv[0], &prime_len)
+ || !enif_get_int(env, argv[1], &generator)) {
+
+ return enif_make_badarg(env);
+ }
+ dh_params = DH_generate_parameters(prime_len, generator, NULL, NULL);
+ if (dh_params == NULL) {
+ return atom_error;
+ }
+ p_len = BN_num_bytes(dh_params->p);
+ g_len = BN_num_bytes(dh_params->g);
+ p_ptr = enif_make_new_binary(env, p_len+4, &ret_p);
+ g_ptr = enif_make_new_binary(env, g_len+4, &ret_g);
+ put_int32(p_ptr, p_len);
+ put_int32(g_ptr, g_len);
+ BN_bn2bin(dh_params->p, p_ptr+4);
+ BN_bn2bin(dh_params->g, g_ptr+4);
+ ERL_VALGRIND_MAKE_MEM_DEFINED(p_ptr+4, p_len);
+ ERL_VALGRIND_MAKE_MEM_DEFINED(g_ptr+4, g_len);
+ DH_free(dh_params);
+ return enif_make_list2(env, ret_p, ret_g);
+}
+
+static ERL_NIF_TERM dh_check(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* ([PrimeLen, Generator]) */
+ DH* dh_params = DH_new();
+ int i;
+ ERL_NIF_TERM ret, head, tail;
+
+ if (!enif_get_list_cell(env, argv[0], &head, &tail)
+ || !get_bn_from_mpint(env, head, &dh_params->p)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &dh_params->g)
+ || !enif_is_empty_list(env,tail)) {
+
+ DH_free(dh_params);
+ return enif_make_badarg(env);
+ }
+ if (DH_check(dh_params, &i)) {
+ if (i == 0) ret = atom_ok;
+ else if (i & DH_CHECK_P_NOT_PRIME) ret = atom_not_prime;
+ else if (i & DH_CHECK_P_NOT_SAFE_PRIME) ret = atom_not_strong_prime;
+ else if (i & DH_UNABLE_TO_CHECK_GENERATOR) ret = atom_unable_to_check_generator;
+ else if (i & DH_NOT_SUITABLE_GENERATOR) ret = atom_not_suitable_generator;
+ else ret = enif_make_tuple2(env, atom_unknown, enif_make_uint(env, i));
+ }
+ else { /* Check Failed */
+ ret = enif_make_tuple2(env, atom_error, atom_check_failed);
+ }
+ DH_free(dh_params);
+ return ret;
+}
+
+static ERL_NIF_TERM dh_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (PrivKey, DHParams=[P,G]) */
+ DH* dh_params = DH_new();
+ int pub_len, prv_len;
+ unsigned char *pub_ptr, *prv_ptr;
+ ERL_NIF_TERM ret, ret_pub, ret_prv, head, tail;
+
+ if (!(get_bn_from_mpint(env, argv[0], &dh_params->priv_key)
+ || argv[0] == atom_undefined)
+ || !enif_get_list_cell(env, argv[1], &head, &tail)
+ || !get_bn_from_mpint(env, head, &dh_params->p)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &dh_params->g)
+ || !enif_is_empty_list(env, tail)) {
+
+ return enif_make_badarg(env);
+ }
+
+ if (DH_generate_key(dh_params)) {
+ pub_len = BN_num_bytes(dh_params->pub_key);
+ prv_len = BN_num_bytes(dh_params->priv_key);
+ pub_ptr = enif_make_new_binary(env, pub_len+4, &ret_pub);
+ prv_ptr = enif_make_new_binary(env, prv_len+4, &ret_prv);
+ put_int32(pub_ptr, pub_len);
+ put_int32(prv_ptr, prv_len);
+ BN_bn2bin(dh_params->pub_key, pub_ptr+4);
+ BN_bn2bin(dh_params->priv_key, prv_ptr+4);
+ ERL_VALGRIND_MAKE_MEM_DEFINED(pub_ptr+4, pub_len);
+ ERL_VALGRIND_MAKE_MEM_DEFINED(prv_ptr+4, prv_len);
+ ret = enif_make_tuple2(env, ret_pub, ret_prv);
+ }
+ else {
+ ret = atom_error;
+ }
+ DH_free(dh_params);
+ return ret;
+}
+
+static ERL_NIF_TERM dh_compute_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (OthersPublicKey, MyPrivateKey, DHParams=[P,G]) */
+ DH* dh_params = DH_new();
+ BIGNUM* pubkey;
+ int i;
+ ErlNifBinary ret_bin;
+ ERL_NIF_TERM ret, head, tail;
+
+ if (!get_bn_from_mpint(env, argv[0], &pubkey)
+ || !get_bn_from_mpint(env, argv[1], &dh_params->priv_key)
+ || !enif_get_list_cell(env, argv[2], &head, &tail)
+ || !get_bn_from_mpint(env, head, &dh_params->p)
+ || !enif_get_list_cell(env, tail, &head, &tail)
+ || !get_bn_from_mpint(env, head, &dh_params->g)
+ || !enif_is_empty_list(env, tail)) {
+
+ ret = enif_make_badarg(env);
+ }
+ else {
+ enif_alloc_binary(env, DH_size(dh_params), &ret_bin);
+ i = DH_compute_key(ret_bin.data, pubkey, dh_params);
+ if (i > 0) {
+ if (i != ret_bin.size) {
+ enif_realloc_binary(env, &ret_bin, i);
+ }
+ ret = enif_make_binary(env, &ret_bin);
+ }
+ else {
+ ret = atom_error;
+ }
+ }
+ DH_free(dh_params);
+ return ret;
+}
+
+static ERL_NIF_TERM bf_cfb64_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, Ivec, Data, IsEncrypt) */
+ ErlNifBinary key_bin, ivec_bin, data_bin;
+ BF_KEY bf_key; /* blowfish key 8 */
+ unsigned char bf_tkey[8]; /* blowfish ivec */
+ int bf_n = 0; /* blowfish ivec pos */
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key_bin)
+ || !enif_inspect_binary(env, argv[1], &ivec_bin)
+ || ivec_bin.size != 8
+ || !enif_inspect_iolist_as_binary(env, argv[2], &data_bin)) {
+ return enif_make_badarg(env);
+ }
+
+ BF_set_key(&bf_key, key_bin.size, key_bin.data);
+ memcpy(bf_tkey, ivec_bin.data, 8);
+ BF_cfb64_encrypt(data_bin.data, enif_make_new_binary(env,data_bin.size,&ret),
+ data_bin.size, &bf_key, bf_tkey, &bf_n,
+ (argv[3] == atom_true ? BF_ENCRYPT : BF_DECRYPT));
+ return ret;
+}
+
+static ERL_NIF_TERM bf_cbc_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, Ivec, Data, IsEncrypt) */
+ ErlNifBinary key_bin, ivec_bin, data_bin;
+ BF_KEY bf_key; /* blowfish key 8 */
+ unsigned char bf_tkey[8]; /* blowfish ivec */
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key_bin)
+ || !enif_inspect_binary(env, argv[1], &ivec_bin)
+ || ivec_bin.size != 8
+ || !enif_inspect_iolist_as_binary(env, argv[2], &data_bin)
+ || data_bin.size % 8 != 0) {
+ return enif_make_badarg(env);
+ }
+
+ BF_set_key(&bf_key, key_bin.size, key_bin.data);
+ memcpy(bf_tkey, ivec_bin.data, 8);
+ BF_cbc_encrypt(data_bin.data, enif_make_new_binary(env,data_bin.size,&ret),
+ data_bin.size, &bf_key, bf_tkey,
+ (argv[3] == atom_true ? BF_ENCRYPT : BF_DECRYPT));
+ return ret;
+}
+
+static ERL_NIF_TERM bf_ecb_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, Data, IsEncrypt) */
+ ErlNifBinary key_bin, data_bin;
+ BF_KEY bf_key; /* blowfish key 8 */
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key_bin)
+ || !enif_inspect_iolist_as_binary(env, argv[1], &data_bin)
+ || data_bin.size < 8) {
+ return enif_make_badarg(env);
+ }
+ BF_set_key(&bf_key, key_bin.size, key_bin.data);
+ BF_ecb_encrypt(data_bin.data, enif_make_new_binary(env,data_bin.size,&ret),
+ &bf_key, (argv[2] == atom_true ? BF_ENCRYPT : BF_DECRYPT));
+ return ret;
+}
+
+static ERL_NIF_TERM blowfish_ofb64_encrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{/* (Key, IVec, Data) */
+ ErlNifBinary key_bin, ivec_bin, data_bin;
+ BF_KEY bf_key; /* blowfish key 8 */
+ unsigned char bf_tkey[8]; /* blowfish ivec */
+ int bf_n = 0; /* blowfish ivec pos */
+ ERL_NIF_TERM ret;
+
+ if (!enif_inspect_iolist_as_binary(env, argv[0], &key_bin)
+ || !enif_inspect_binary(env, argv[1], &ivec_bin)
+ || ivec_bin.size != 8
+ || !enif_inspect_iolist_as_binary(env, argv[2], &data_bin)) {
+ return enif_make_badarg(env);
+ }
+
+ BF_set_key(&bf_key, key_bin.size, key_bin.data);
+ memcpy(bf_tkey, ivec_bin.data, 8);
+ BF_ofb64_encrypt(data_bin.data, enif_make_new_binary(env,data_bin.size,&ret),
+ data_bin.size, &bf_key, bf_tkey, &bf_n);
+ return ret;
+}
+
+
+
+#ifdef OPENSSL_THREADS /* vvvvvvvvvvvvvvv OPENSSL_THREADS vvvvvvvvvvvvvvvv */
+
+static INLINE void locking(int mode, ErlNifRWLock* lock)
+{
+ switch (mode) {
+ case CRYPTO_LOCK|CRYPTO_READ:
+ enif_rwlock_rlock(lock);
+ break;
+ case CRYPTO_LOCK|CRYPTO_WRITE:
+ enif_rwlock_rwlock(lock);
+ break;
+ case CRYPTO_UNLOCK|CRYPTO_READ:
+ enif_rwlock_runlock(lock);
+ break;
+ case CRYPTO_UNLOCK|CRYPTO_WRITE:
+ enif_rwlock_rwunlock(lock);
+ break;
+ default:
+ ASSERT(!"Invalid lock mode");
+ }
+}
+
+/* Callback from openssl for static locking
+ */
+static void locking_function(int mode, int n, const char *file, int line)
+{
+ ASSERT(n>=0 && n<CRYPTO_num_locks());
+
+ locking(mode, lock_vec[n]);
+}
+
+/* Callback from openssl for thread id
+ */
+static unsigned long id_function(void)
+{
+ return(unsigned long) enif_thread_self();
+}
+
+/* Callbacks for dynamic locking, not used by current openssl version (0.9.8)
+ */
+static struct CRYPTO_dynlock_value* dyn_create_function(const char *file, int line) {
+ return(struct CRYPTO_dynlock_value*) enif_rwlock_create("crypto_dyn");
+}
+static void dyn_lock_function(int mode, struct CRYPTO_dynlock_value* ptr,const char *file, int line)
+{
+ locking(mode, (ErlNifRWLock*)ptr);
+}
+static void dyn_destroy_function(struct CRYPTO_dynlock_value *ptr, const char *file, int line)
+{
+ enif_rwlock_destroy((ErlNifRWLock*)ptr);
+}
+
+#endif /* ^^^^^^^^^^^^^^^^^^^^^^ OPENSSL_THREADS ^^^^^^^^^^^^^^^^^^^^^^ */
+
+/* HMAC */
+
+static void hmac_md5(unsigned char *key, int klen, unsigned char *dbuf, int dlen,
+ unsigned char *hmacbuf)
+{
+ MD5_CTX ctx;
+ char ipad[HMAC_INT_LEN];
+ char opad[HMAC_INT_LEN];
+ unsigned char nkey[MD5_LEN];
+ int i;
+
+ /* Change key if longer than 64 bytes */
+ if (klen > HMAC_INT_LEN) {
+ MD5(key, klen, nkey);
+ key = nkey;
+ klen = MD5_LEN;
+ }
+
+ memset(ipad, '\0', sizeof(ipad));
+ memset(opad, '\0', sizeof(opad));
+ memcpy(ipad, key, klen);
+ memcpy(opad, key, klen);
+
+ for (i = 0; i < HMAC_INT_LEN; i++) {
+ ipad[i] ^= HMAC_IPAD;
+ opad[i] ^= HMAC_OPAD;
+ }
+
+ /* inner MD5 */
+ MD5_Init(&ctx);
+ MD5_Update(&ctx, ipad, HMAC_INT_LEN);
+ MD5_Update(&ctx, dbuf, dlen);
+ MD5_Final((unsigned char *) hmacbuf, &ctx);
+ /* outer MD5 */
+ MD5_Init(&ctx);
+ MD5_Update(&ctx, opad, HMAC_INT_LEN);
+ MD5_Update(&ctx, hmacbuf, MD5_LEN);
+ MD5_Final((unsigned char *) hmacbuf, &ctx);
+}
+
+static void hmac_sha1(unsigned char *key, int klen,
+ unsigned char *dbuf, int dlen,
+ unsigned char *hmacbuf)
+{
+ SHA_CTX ctx;
+ char ipad[HMAC_INT_LEN];
+ char opad[HMAC_INT_LEN];
+ unsigned char nkey[SHA_LEN];
+ int i;
+
+ /* Change key if longer than 64 bytes */
+ if (klen > HMAC_INT_LEN) {
+ SHA1(key, klen, nkey);
+ key = nkey;
+ klen = SHA_LEN;
+ }
+
+ memset(ipad, '\0', sizeof(ipad));
+ memset(opad, '\0', sizeof(opad));
+ memcpy(ipad, key, klen);
+ memcpy(opad, key, klen);
+
+ for (i = 0; i < HMAC_INT_LEN; i++) {
+ ipad[i] ^= HMAC_IPAD;
+ opad[i] ^= HMAC_OPAD;
+ }
+
+ /* inner SHA */
+ SHA1_Init(&ctx);
+ SHA1_Update(&ctx, ipad, HMAC_INT_LEN);
+ SHA1_Update(&ctx, dbuf, dlen);
+ SHA1_Final((unsigned char *) hmacbuf, &ctx);
+ /* outer SHA */
+ SHA1_Init(&ctx);
+ SHA1_Update(&ctx, opad, HMAC_INT_LEN);
+ SHA1_Update(&ctx, hmacbuf, SHA_LEN);
+ SHA1_Final((unsigned char *) hmacbuf, &ctx);
+}
+
diff --git a/lib/crypto/c_src/crypto_drv.c b/lib/crypto/c_src/crypto_drv.c
deleted file mode 100644
index 5b6d750dde..0000000000
--- a/lib/crypto/c_src/crypto_drv.c
+++ /dev/null
@@ -1,1799 +0,0 @@
-/*
- * %CopyrightBegin%
- *
- * Copyright Ericsson AB 1999-2009. All Rights Reserved.
- *
- * The contents of this file are subject to the Erlang Public License,
- * Version 1.1, (the "License"); you may not use this file except in
- * compliance with the License. You should have received a copy of the
- * Erlang Public License along with this software. If not, it can be
- * retrieved online at http://www.erlang.org/.
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and limitations
- * under the License.
- *
- * %CopyrightEnd%
- */
-
-/*
- * Purpose: Dynamically loadable driver for cryptography libraries.
- * Based on OpenSSL.
- */
-
-#ifdef __WIN32__
-#include <windows.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "erl_driver.h"
-
-#define OPENSSL_THREAD_DEFINES
-#include <openssl/opensslconf.h>
-#ifndef OPENSSL_THREADS
-# ifdef __GNUC__
-# warning No thread support by openssl. Driver will use coarse grain locking.
-# endif
-#endif
-
-#include <openssl/crypto.h>
-#include <openssl/des.h>
-/* #include <openssl/idea.h> This is not supported on the openssl OTP requires */
-#include <openssl/dsa.h>
-#include <openssl/rsa.h>
-#include <openssl/aes.h>
-#include <openssl/md5.h>
-#include <openssl/md4.h>
-#include <openssl/sha.h>
-#include <openssl/bn.h>
-#include <openssl/objects.h>
-#include <openssl/rc4.h>
-#include <openssl/rc2.h>
-#include <openssl/blowfish.h>
-#include <openssl/rand.h>
-
-#ifdef VALGRIND
-# include <valgrind/memcheck.h>
-
-/* libcrypto mixes supplied buffer contents into its entropy pool,
- which makes valgrind complain about the use of uninitialized data.
- We use this valgrind "request" to make sure that no such seemingly
- undefined data escapes the driver.
-*/
-# define ERL_VALGRIND_MAKE_MEM_DEFINED(ptr,size) \
- VALGRIND_MAKE_MEM_DEFINED(ptr,size)
-
-# define ERL_VALGRIND_ASSERT_MEM_DEFINED(ptr,size) \
- ((void) ((VALGRIND_CHECK_MEM_IS_DEFINED(ptr,size) == 0) ? 1 : \
- (fprintf(stderr,"\r\n####### VALGRIND_ASSSERT(%p,%d) failed at %s:%d\r\n",\
- (ptr),(size), __FILE__, __LINE__), abort(), 0)))
-#else
-# define ERL_VALGRIND_MAKE_MEM_DEFINED(ptr,size)
-# define ERL_VALGRIND_ASSERT_MEM_DEFINED(ptr,size)
-#endif
-
-#ifdef DEBUG
-# define ASSERT(e) \
- ((void) ((e) ? 1 : (fprintf(stderr,"Assert '%s' failed at %s:%d\n",\
- #e, __FILE__, __LINE__), abort(), 0)))
-#else
-# define ASSERT(e) ((void) 1)
-#endif
-
-#ifdef __GNUC__
-# define INLINE __inline__
-#elif defined(__WIN32__)
-# define INLINE __forceinline
-#else
-# define INLINE
-#endif
-
-
-#define get_int32(s) ((((unsigned char*) (s))[0] << 24) | \
- (((unsigned char*) (s))[1] << 16) | \
- (((unsigned char*) (s))[2] << 8) | \
- (((unsigned char*) (s))[3]))
-
-#define put_int32(s,i) \
-{ (s)[0] = (char)(((i) >> 24) & 0xff);\
- (s)[1] = (char)(((i) >> 16) & 0xff);\
- (s)[2] = (char)(((i) >> 8) & 0xff);\
- (s)[3] = (char)((i) & 0xff);\
-}
-
-/* Driver interface declarations */
-static int init(void);
-static void finish(void);
-static ErlDrvData start(ErlDrvPort port, char *command);
-static void stop(ErlDrvData drv_data);
-static int crypto_control(ErlDrvData drv_data, unsigned int command, char *buf,
- int len, char **rbuf, int rlen);
-
-/* openssl callbacks */
-#ifdef OPENSSL_THREADS
-static void locking_function(int mode, int n, const char *file, int line);
-static unsigned long id_function(void);
-static struct CRYPTO_dynlock_value* dyn_create_function(const char *file,
- int line);
-static void dyn_lock_function(int mode, struct CRYPTO_dynlock_value* ptr,
- const char *file, int line);
-static void dyn_destroy_function(struct CRYPTO_dynlock_value *ptr,
- const char *file, int line);
-#endif /* OPENSSL_THREADS */
-
-/* helpers */
-static void hmac_md5(char *key, int klen, char *dbuf, int dlen,
- char *hmacbuf);
-static void hmac_sha1(char *key, int klen, char *dbuf, int dlen,
- char *hmacbuf);
-
-static ErlDrvEntry crypto_driver_entry = {
- init,
- start,
- stop,
- NULL, /* output */
- NULL, /* ready_input */
- NULL, /* ready_output */
- "crypto_drv",
- finish,
- NULL, /* handle */
- crypto_control,
- NULL, /* timeout */
- NULL, /* outputv */
-
- NULL, /* ready_async */
- NULL, /* flush */
- NULL, /* call */
- NULL, /* event */
- ERL_DRV_EXTENDED_MARKER,
- ERL_DRV_EXTENDED_MAJOR_VERSION,
- ERL_DRV_EXTENDED_MINOR_VERSION,
-#ifdef OPENSSL_THREADS
- ERL_DRV_FLAG_USE_PORT_LOCKING,
-#else
- 0,
-#endif
- NULL, /* handle2 */
- NULL /* process_exit */
-};
-
-
-/* Keep the following definitions in alignment with the FUNC_LIST
- * in crypto.erl.
- */
-
-#define DRV_INFO 0
-#define DRV_MD5 1
-#define DRV_MD5_INIT 2
-#define DRV_MD5_UPDATE 3
-#define DRV_MD5_FINAL 4
-#define DRV_SHA 5
-#define DRV_SHA_INIT 6
-#define DRV_SHA_UPDATE 7
-#define DRV_SHA_FINAL 8
-#define DRV_MD5_MAC 9
-#define DRV_MD5_MAC_96 10
-#define DRV_SHA_MAC 11
-#define DRV_SHA_MAC_96 12
-#define DRV_CBC_DES_ENCRYPT 13
-#define DRV_CBC_DES_DECRYPT 14
-#define DRV_EDE3_CBC_DES_ENCRYPT 15
-#define DRV_EDE3_CBC_DES_DECRYPT 16
-#define DRV_AES_CFB_128_ENCRYPT 17
-#define DRV_AES_CFB_128_DECRYPT 18
-#define DRV_RAND_BYTES 19
-#define DRV_RAND_UNIFORM 20
-#define DRV_MOD_EXP 21
-#define DRV_DSS_VERIFY 22
-#define DRV_RSA_VERIFY_SHA 23
-/* #define DRV_RSA_VERIFY_MD5 35 */
-#define DRV_CBC_AES128_ENCRYPT 24
-#define DRV_CBC_AES128_DECRYPT 25
-#define DRV_XOR 26
-#define DRV_RC4_ENCRYPT 27 /* no decrypt needed; symmetric */
-#define DRV_RC4_SETKEY 28
-#define DRV_RC4_ENCRYPT_WITH_STATE 29
-#define DRV_CBC_RC2_40_ENCRYPT 30
-#define DRV_CBC_RC2_40_DECRYPT 31
-#define DRV_CBC_AES256_ENCRYPT 32
-#define DRV_CBC_AES256_DECRYPT 33
-#define DRV_INFO_LIB 34
-/* #define DRV_RSA_VERIFY_SHA 23 */
-#define DRV_RSA_VERIFY_MD5 35
-#define DRV_RSA_SIGN_SHA 36
-#define DRV_RSA_SIGN_MD5 37
-#define DRV_DSS_SIGN 38
-#define DRV_RSA_PUBLIC_ENCRYPT 39
-#define DRV_RSA_PRIVATE_DECRYPT 40
-#define DRV_RSA_PRIVATE_ENCRYPT 41
-#define DRV_RSA_PUBLIC_DECRYPT 42
-#define DRV_DH_GENERATE_PARAMS 43
-#define DRV_DH_CHECK 44
-#define DRV_DH_GENERATE_KEY 45
-#define DRV_DH_COMPUTE_KEY 46
-#define DRV_MD4 47
-#define DRV_MD4_INIT 48
-#define DRV_MD4_UPDATE 49
-#define DRV_MD4_FINAL 50
-
-#define SSL_VERSION_0_9_8 0
-#if SSL_VERSION_0_9_8
-#define DRV_SHA256 51
-#define DRV_SHA256_INIT 52
-#define DRV_SHA256_UPDATE 53
-#define DRV_SHA256_FINAL 54
-#define DRV_SHA512 55
-#define DRV_SHA512_INIT 56
-#define DRV_SHA512_UPDATE 57
-#define DRV_SHA512_FINAL 58
-#endif
-
-#define DRV_BF_CFB64_ENCRYPT 59
-#define DRV_BF_CFB64_DECRYPT 60
-#define DRV_BF_ECB_ENCRYPT 61
-#define DRV_BF_ECB_DECRYPT 62
-#define DRV_BF_OFB64_ENCRYPT 63
-#define DRV_BF_CBC_ENCRYPT 64
-#define DRV_BF_CBC_DECRYPT 65
-
-/* #define DRV_CBC_IDEA_ENCRYPT 34 */
-/* #define DRV_CBC_IDEA_DECRYPT 35 */
-
-/* Not DRV_DH_GENERATE_PARAMS DRV_DH_CHECK
- * Calc RSA_VERIFY_* and RSA_SIGN once */
-#define NUM_CRYPTO_FUNCS 46
-
-#define MD5_CTX_LEN (sizeof(MD5_CTX))
-#define MD5_LEN 16
-#define MD5_LEN_96 12
-#define MD4_CTX_LEN (sizeof(MD4_CTX))
-#define MD4_LEN 16
-#define SHA_CTX_LEN (sizeof(SHA_CTX))
-#define SHA_LEN 20
-#define SHA_LEN_96 12
-#define HMAC_INT_LEN 64
-
-#define HMAC_IPAD 0x36
-#define HMAC_OPAD 0x5c
-
-#if SSL_VERSION_0_9_8
-#define SHA256_CTX_LEN (sizeof(SHA256_CTX))
-#define SHA256_LEN 32
-
-#define SHA512_CTX_LEN (sizeof(SHA512_CTX))
-#define SHA512_LEN 64
-#endif
-
-/* INITIALIZATION AFTER LOADING */
-
-/*
- * This is the init function called after this driver has been loaded.
- * It must *not* be declared static. Must return the address to
- * the driver entry.
- */
-
-#if !defined(__WIN32__)
-DRIVER_INIT(crypto_drv);
-#endif
-
-DRIVER_INIT(crypto_drv)
-{
- return &crypto_driver_entry;
-}
-
-static ErlDrvRWLock** lock_vec = NULL; /* Static locks used by openssl */
-
-/* DRIVER INTERFACE */
-
-static int init(void)
-{
- ErlDrvSysInfo sys_info;
- int i;
-
- CRYPTO_set_mem_functions(driver_alloc, driver_realloc, driver_free);
-
-#ifdef OPENSSL_THREADS
- driver_system_info(&sys_info, sizeof(sys_info));
-
- if(sys_info.scheduler_threads > 1) {
- lock_vec = driver_alloc(CRYPTO_num_locks()*sizeof(*lock_vec));
- if (lock_vec==NULL) return -1;
- memset(lock_vec,0,CRYPTO_num_locks()*sizeof(*lock_vec));
-
- for(i=CRYPTO_num_locks()-1; i>=0; --i) {
- lock_vec[i] = erl_drv_rwlock_create("crypto_drv_stat");
- if (lock_vec[i]==NULL) return -1;
- }
- CRYPTO_set_locking_callback(locking_function);
- CRYPTO_set_id_callback(id_function);
- CRYPTO_set_dynlock_create_callback(dyn_create_function);
- CRYPTO_set_dynlock_lock_callback(dyn_lock_function);
- CRYPTO_set_dynlock_destroy_callback(dyn_destroy_function);
- }
- /* else no need for locks */
-#endif /* OPENSSL_THREADS */
-
- return 0;
-}
-
-static void finish(void)
-{
- /* Moved here from crypto_control() as it's not thread safe */
- CRYPTO_cleanup_all_ex_data();
-
- if(lock_vec != NULL) {
- int i;
- for(i=CRYPTO_num_locks()-1; i>=0; --i) {
- if (lock_vec[i] != NULL) {
- erl_drv_rwlock_destroy(lock_vec[i]);
- }
- }
- driver_free(lock_vec);
- }
-}
-
-static ErlDrvData start(ErlDrvPort port, char *command)
-{
- set_port_control_flags(port, PORT_CONTROL_FLAG_BINARY);
- return 0; /* not used */
-}
-
-static void stop(ErlDrvData drv_data)
-{
- return;
-}
-
-/* Helper functions for 'crypto_control'
-*/
-static INLINE unsigned char* return_binary(char **rbuf, int rlen, int len)
-{
- if (len <= rlen) {
- return (unsigned char *) *rbuf;
- }
- else {
- ErlDrvBinary* bin;
- *rbuf = (char*) (bin = driver_alloc_binary(len));
- return (bin==NULL) ? NULL : (unsigned char *) bin->orig_bytes;
- }
-}
-
-static INLINE unsigned char* return_binary_shrink(char **rbuf, int rlen, unsigned char* data, int len)
-{
- if ((char *) data == *rbuf) { /* default buffer */
- ASSERT(len <= rlen);
- return (unsigned char *) data;
- }
- else {
- ErlDrvBinary* bin = (ErlDrvBinary*) *rbuf;
- *rbuf = (char*) (bin=driver_realloc_binary(bin, len));
- return (bin==NULL) ? NULL : (unsigned char *) bin->orig_bytes;
- }
-}
-
-/* Nowadays (R13) it does matter what value control returns
- * as it may return data in default buffer.
- */
-static int crypto_control(ErlDrvData drv_data, unsigned int command, char *buf,
- int len, char **rbuf, int rlen)
-{
- int klen, dlen, macsize, from_len, to_len, i;
- int base_len, exponent_len, modulo_len;
- int data_len, dsa_p_len, dsa_q_len;
- int dsa_s_len, dsa_g_len, dsa_y_len;
- int rsa_e_len, rsa_n_len, rsa_d_len, padding;
- int or_mask;
- int prime_len, generator;
- int privkey_len, pubkey_len, dh_p_len, dh_g_len;
- unsigned int rsa_s_len, j;
- char *key, *key2, *dbuf;
- unsigned char *p;
- const_DES_cblock *des_key, *des_key2, *des_key3;
- const unsigned char *des_dbuf;
- BIGNUM *bn_from, *bn_to, *bn_rand, *bn_result;
- BIGNUM *bn_base, *bn_exponent, *bn_modulo;
- BIGNUM *dsa_p, *dsa_q, *dsa_g, *dsa_y;
- BIGNUM *rsa_n, *rsa_e, *rsa_d;
- BIGNUM *dh_p, *dh_g, *privkey, *pubkey;
- DES_cblock *des_ivec;
- unsigned char* bin;
- DES_key_schedule schedule, schedule2, schedule3;
- DH *dh_params;
-/* IDEA_KEY_SCHEDULE idea, idea2; */
- char hmacbuf[SHA_DIGEST_LENGTH];
- unsigned char *rsa_s, *dsa_s;
- /* char hmacbuf[SHA_LEN]; */
-#if SSL_VERSION_0_9_8
- SHA256_CTX sha256_ctx;
- SHA512_CTX sha512_ctx;
-#endif
- MD5_CTX md5_ctx;
- MD4_CTX md4_ctx;
- SHA_CTX sha_ctx;
- int new_ivlen = 0;
- BN_CTX *bn_ctx;
- DSA *dsa;
- RSA *rsa;
- AES_KEY aes_key;
- RC4_KEY rc4_key;
- RC2_KEY rc2_key;
-
- switch(command) {
-
- case DRV_INFO:
- bin = return_binary(rbuf,rlen,NUM_CRYPTO_FUNCS);
- if (bin==NULL) return -1;
-
- for (i = 0; i < NUM_CRYPTO_FUNCS; i++) {
- bin[i] = i + 1;
- }
- return NUM_CRYPTO_FUNCS;
-
- case DRV_MD5:
- bin = return_binary(rbuf,rlen,MD5_LEN);
- if (bin==NULL) return -1;
- MD5((unsigned char *) buf, len, bin);
- return MD5_LEN;
-
- case DRV_MD5_INIT:
- bin = return_binary(rbuf,rlen,MD5_CTX_LEN);
- if (bin==NULL) return -1;
- MD5_Init((MD5_CTX *)bin);
- return MD5_CTX_LEN;
-
- case DRV_MD5_UPDATE:
- if (len < MD5_CTX_LEN)
- return -1;
- bin = return_binary(rbuf,rlen,MD5_CTX_LEN);
- if (bin==NULL) return -1;
- memcpy(bin, buf, MD5_CTX_LEN);
- MD5_Update((MD5_CTX *)bin, buf + MD5_CTX_LEN,
- len - MD5_CTX_LEN);
- return MD5_CTX_LEN;
-
- case DRV_MD5_FINAL:
- if (len != MD5_CTX_LEN)
- return -1;
- memcpy(&md5_ctx, buf, MD5_CTX_LEN); /* XXX Use buf only? */
- bin = return_binary(rbuf,rlen,MD5_LEN);
- if (bin==NULL) return -1;
- MD5_Final(bin, &md5_ctx);
- return MD5_LEN;
-
- case DRV_SHA:
- bin = return_binary(rbuf,rlen,SHA_LEN);
- if (bin==NULL) return -1;
- SHA1((unsigned char *) buf, len, bin);
- return SHA_LEN;
-
- case DRV_SHA_INIT:
- bin = return_binary(rbuf,rlen,SHA_CTX_LEN);
- if (bin==NULL) return -1;
- SHA1_Init((SHA_CTX*)bin);
- return SHA_CTX_LEN;
-
- case DRV_SHA_UPDATE:
- if (len < SHA_CTX_LEN)
- return -1;
- bin = return_binary(rbuf,rlen,SHA_CTX_LEN);
- if (bin==NULL) return -1;
- memcpy(bin, buf, SHA_CTX_LEN);
- SHA1_Update((SHA_CTX*)bin, buf + SHA_CTX_LEN, len - SHA_CTX_LEN);
- return SHA_CTX_LEN;
-
- case DRV_SHA_FINAL:
- if (len != SHA_CTX_LEN)
- return -1;
- memcpy(&sha_ctx, buf, SHA_CTX_LEN); /* XXX Use buf only? */
- bin = return_binary(rbuf,rlen,SHA_LEN);
- if (bin==NULL) return -1;
- SHA1_Final(bin, &sha_ctx);
- return SHA_LEN;
-
- case DRV_MD5_MAC:
- case DRV_MD5_MAC_96:
- /* buf = klen[4] key data */
- klen = get_int32(buf);
- key = buf + 4;
- dlen = len - klen - 4;
- dbuf = key + klen;
- hmac_md5(key, klen, dbuf, dlen, hmacbuf);
- macsize = (command == DRV_MD5_MAC) ? MD5_LEN : MD5_LEN_96;
- bin = return_binary(rbuf,rlen,macsize);
- if (bin==NULL) return -1;
- memcpy(bin, hmacbuf, macsize);
- return macsize;
-
- case DRV_SHA_MAC:
- case DRV_SHA_MAC_96:
- /* buf = klen[4] key data */
- klen = get_int32(buf);
- key = buf + 4;
- dlen = len - klen - 4;
- dbuf = key + klen;
- hmac_sha1(key, klen, dbuf, dlen, hmacbuf);
- macsize = (command == DRV_SHA_MAC) ? SHA_LEN : SHA_LEN_96;
- bin = return_binary(rbuf,rlen,macsize);
- if (bin==NULL) return -1;
- memcpy(bin, (unsigned char *) hmacbuf, macsize);
- return macsize;
-
- case DRV_CBC_DES_ENCRYPT:
- case DRV_CBC_DES_DECRYPT:
- /* buf = key[8] ivec[8] data */
- dlen = len - 16;
- if (dlen < 0)
- return -1;
- if (dlen % 8 != 0)
- return -1;
- des_key = (const_DES_cblock*) buf;
- des_ivec = (DES_cblock*)(buf + 8);
- des_dbuf = (unsigned char *) (buf + 16);
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- DES_set_key(des_key, &schedule);
- DES_ncbc_encrypt(des_dbuf, bin, dlen, &schedule, des_ivec,
- (command == DRV_CBC_DES_ENCRYPT));
- return dlen;
-
- case DRV_BF_ECB_ENCRYPT:
- case DRV_BF_ECB_DECRYPT:
- {
- /* buf = klen[4] key data */
- int bf_direction;
- const unsigned char *ukey;
- const unsigned char *bf_dbuf; /* blowfish input data */
- BF_KEY bf_key; /* blowfish key 8 */
-
- klen = get_int32(buf);
- ukey = (unsigned char *) buf + 4;
- bf_dbuf = ukey + klen;
- dlen = len - 4 - klen;
- if (dlen < 0) return -1;
- BF_set_key(&bf_key, klen, ukey);
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- bf_direction = command == DRV_BF_ECB_ENCRYPT ? BF_ENCRYPT : BF_DECRYPT;
- BF_ecb_encrypt(bf_dbuf, bin, &bf_key, bf_direction);
- return dlen;
- }
-
- case DRV_BF_CBC_ENCRYPT:
- case DRV_BF_CBC_DECRYPT:
- {
- /* buf = klen[4] key ivec[8] data */
- unsigned char *ukey;
- unsigned char* ivec;
- unsigned char bf_tkey[8]; /* blowfish ivec */
- int bf_direction;
- const unsigned char *bf_dbuf; /* blowfish input data */
- BF_KEY bf_key; /* blowfish key 8 */
-
- klen = get_int32(buf);
- ukey = (unsigned char *)buf + 4;
- ivec = ukey + klen;
- bf_dbuf = ivec + 8;
- dlen = len - 4 - klen - 8;
- if (dlen < 0) return -1;
- BF_set_key(&bf_key, klen, ukey);
- memcpy(bf_tkey, ivec, 8);
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- bf_direction = command == DRV_BF_CBC_ENCRYPT ? BF_ENCRYPT : BF_DECRYPT;
- BF_cbc_encrypt(bf_dbuf, bin, dlen, &bf_key, bf_tkey, bf_direction);
- return dlen;
- }
-
- case DRV_BF_OFB64_ENCRYPT:
- {
- /* buf = klen[4] key ivec[8] data */
- unsigned char *ukey;
- unsigned char* ivec;
- unsigned char bf_tkey[8]; /* blowfish ivec */
- int bf_n; /* blowfish ivec pos */
- const unsigned char *bf_dbuf; /* blowfish input data */
- BF_KEY bf_key; /* blowfish key 8 */
-
- klen = get_int32(buf);
- ukey = (unsigned char *)buf + 4;
- ivec = ukey + klen;
- bf_dbuf = ivec + 8;
- dlen = len - 4 - klen - 8;
- if (dlen < 0) return -1;
- BF_set_key(&bf_key, klen, ukey);
- memcpy(bf_tkey, ivec, 8);
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- bf_n = 0;
- BF_ofb64_encrypt(bf_dbuf, bin, dlen, &bf_key, bf_tkey, &bf_n);
- return dlen;
- }
-
- case DRV_BF_CFB64_ENCRYPT:
- case DRV_BF_CFB64_DECRYPT:
- {
- /* buf = klen[4] key ivec[8] data */
- unsigned char* ivec;
- unsigned char bf_tkey[8]; /* blowfish ivec */
- int bf_n; /* blowfish ivec pos */
- int bf_direction;
- const unsigned char *bf_dbuf; /* blowfish input data */
- BF_KEY bf_key; /* blowfish key 8 */
-
- klen = get_int32(buf);
- key = buf + 4;
- ivec = (unsigned char *) (key + klen);
- bf_dbuf = ivec + 8;
- dlen = len - 4 - klen - 8;
- if (dlen < 0) return -1;
- BF_set_key(&bf_key, klen, (unsigned char *) key);
- memcpy(bf_tkey, ivec, 8);
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- bf_direction = command == DRV_BF_CFB64_ENCRYPT ? BF_ENCRYPT : BF_DECRYPT;
- bf_n = 0;
- BF_cfb64_encrypt(bf_dbuf, bin, dlen, &bf_key, bf_tkey, &bf_n, bf_direction);
- return dlen;
- }
-
-/* case DRV_CBC_IDEA_ENCRYPT: */
-/* case DRV_CBC_IDEA_DECRYPT: */
- /* buf = key[16] ivec[8] data */
-/* dlen = len - 24; */
-/* if (dlen < 0) */
-/* return -1; */
-/* if (dlen % 8 != 0) */
-/* return -1; */
-/* bin = return_binary(rbuf,rlen,dlen); */
-/* idea_set_encrypt_key(buf, &idea); */
-/* if (command == DRV_CBC_IDEA_DECRYPT) { */
-/* idea_set_decrypt_key(&idea, &idea2); */
-/* memcpy(&idea, &idea2, sizeof(idea)); */
-/* } */
-/* idea_cbc_encrypt(buf + 24, bin, dlen, &idea, buf + 8, */
-/* (command == DRV_CBC_IDEA_ENCRYPT)); */
-/* return dlen; */
-
- case DRV_CBC_RC2_40_ENCRYPT:
- case DRV_CBC_RC2_40_DECRYPT:
- /* buf = key[5] ivec[8] data */
- dlen = len - 13;
- if (dlen < 0)
- return -1;
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- RC2_set_key(&rc2_key, 5, (unsigned char *) buf, 40);
- RC2_cbc_encrypt((unsigned char *) (buf + 13), bin, dlen, &rc2_key,
- (unsigned char *) (buf + 5),
- (command == DRV_CBC_RC2_40_ENCRYPT));
- return dlen;
-
- case DRV_EDE3_CBC_DES_ENCRYPT:
- case DRV_EDE3_CBC_DES_DECRYPT:
- dlen = len - 32;
- if (dlen < 0)
- return -1;
- des_key = (const_DES_cblock*) buf;
- des_key2 = (const_DES_cblock*) (buf + 8);
- des_key3 = (const_DES_cblock*) (buf + 16);
- des_ivec = (DES_cblock*) (buf + 24);
- des_dbuf = (unsigned char *) (buf + 32);
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- DES_set_key(des_key, &schedule);
- DES_set_key(des_key2, &schedule2);
- DES_set_key(des_key3, &schedule3);
- DES_ede3_cbc_encrypt(des_dbuf, bin, dlen, &schedule,
- &schedule2, &schedule3, des_ivec,
- (command == DRV_EDE3_CBC_DES_ENCRYPT));
- return dlen;
-
- case DRV_AES_CFB_128_ENCRYPT:
- case DRV_AES_CFB_128_DECRYPT:
- /* buf = key[16] ivec[16] data */
- dlen = len - 32;
- if (dlen < 0)
- return -1;
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- AES_set_encrypt_key((unsigned char *) buf, 128, &aes_key);
- AES_cfb128_encrypt((unsigned char *) (buf+32), bin, dlen, &aes_key,
- (unsigned char *) (buf+16), &new_ivlen,
- (command == DRV_AES_CFB_128_ENCRYPT));
- return dlen;
-
- case DRV_RC4_ENCRYPT:
- /* buf = klen[4] key data */
- klen = get_int32(buf);
- key = buf + 4;
- dlen = len - klen - 4;
- dbuf = key + klen;
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- RC4_set_key(&rc4_key, klen, (unsigned char *) key);
- RC4(&rc4_key, dlen, (unsigned char *) dbuf, bin);
- return dlen;
-
- case DRV_RC4_SETKEY:
- /* buf = key */
- dlen = sizeof(rc4_key);
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- RC4_set_key(&rc4_key, len, (unsigned char *) buf);
- memcpy(bin, &rc4_key, dlen);
- return dlen;
-
- case DRV_RC4_ENCRYPT_WITH_STATE:
- /* buf = statelength[4] state data, return statelength[4] state data */
- klen = get_int32(buf);
- key = buf + 4;
- dlen = len - klen - 4;
- dbuf = key + klen;
- bin = return_binary(rbuf,rlen,len);
- if (bin==NULL) return -1;
- memcpy(&rc4_key, key, klen);
- RC4(&rc4_key, dlen, (unsigned char *) dbuf, bin + klen + 4);
- memcpy(bin, buf, 4);
- memcpy(bin + 4, &rc4_key, klen);
- return len;
-
- case DRV_RAND_BYTES:
- /* buf = <<rlen:32/integer,topmask:8/integer,bottommask:8/integer>> */
-
- if (len != 6)
- return -1;
- dlen = get_int32(buf);
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- RAND_pseudo_bytes(bin,dlen);
- ERL_VALGRIND_MAKE_MEM_DEFINED(bin, dlen);
- or_mask = ((unsigned char*)buf)[4];
- bin[dlen-1] |= or_mask; /* topmask */
- or_mask = ((unsigned char*)buf)[5];
- bin[0] |= or_mask; /* bottommask */
- return dlen;
-
- case DRV_RAND_UNIFORM:
- /* buf = <<from_len:32/integer,bn_from:from_len/binary, *
- * to_len:32/integer,bn_to:to_len/binary>> */
- if (len < 8)
- return -1;
- from_len = get_int32(buf);
- if (len < (8 + from_len))
- return -1;
- to_len = get_int32(buf + 4 + from_len);
- if (len != (8 + from_len + to_len))
- return -1;
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf, 4 + from_len + 4 + to_len);
- bn_from = BN_new();
- BN_bin2bn((unsigned char *)(buf + 4), from_len, bn_from);
- bn_rand = BN_new();
- BN_bin2bn((unsigned char *)(buf + 8 + from_len), to_len, bn_rand);
- bn_to = BN_new();
- BN_sub(bn_to, bn_rand, bn_from);
- BN_pseudo_rand_range(bn_rand, bn_to);
- BN_add(bn_rand, bn_rand, bn_from);
- dlen = BN_num_bytes(bn_rand);
- bin = return_binary(rbuf,rlen,dlen + 4);
- if (bin==NULL) return -1;
- put_int32(bin, dlen);
- BN_bn2bin(bn_rand,(unsigned char*)(bin + 4));
- ERL_VALGRIND_MAKE_MEM_DEFINED(bin+4, dlen);
- BN_free(bn_rand);
- BN_free(bn_from);
- BN_free(bn_to);
- return dlen + 4;
-
- case DRV_MOD_EXP:
- /* buf = <<base_len:32/integer,base/binary, *
- * exponent_len:32/integer,exponent/binary, *
- * modulo_len:32/integer, modulo/binary>> */
- if (len < 12)
- return -1;
- base_len = get_int32(buf);
- if (len < (12 + base_len))
- return -1;
- exponent_len = get_int32(buf + 4 + base_len);
- if (len < (12 + base_len + exponent_len))
- return -1;
- modulo_len = get_int32(buf + 8 + base_len + exponent_len);
- if (len != (12 + base_len + exponent_len + modulo_len))
- return -1;
- bn_base = BN_new();
- BN_bin2bn((unsigned char *)(buf + 4),
- base_len, bn_base);
- bn_exponent = BN_new();
- BN_bin2bn((unsigned char *)(buf + 8 + base_len),
- exponent_len, bn_exponent);
- bn_modulo = BN_new();
- BN_bin2bn((unsigned char *)(buf + 12 + base_len + exponent_len),
- modulo_len, bn_modulo);
- bn_result = BN_new();
- bn_ctx = BN_CTX_new();
- BN_mod_exp(bn_result, bn_base, bn_exponent,
- bn_modulo, bn_ctx);
- dlen = BN_num_bytes(bn_result);
- bin = return_binary(rbuf,rlen,dlen + 4);
- if (bin==NULL) return -1;
- put_int32(bin, dlen);
- BN_bn2bin(bn_result,(unsigned char*)(bin + 4));
- BN_free(bn_result);
- BN_free(bn_modulo);
- BN_free(bn_exponent);
- BN_free(bn_base);
- BN_CTX_free(bn_ctx);
- return dlen + 4;
-
- case DRV_DSS_VERIFY:
- /* buf = <<data_len:32/integer, data:data_len/binary,
- * dsa_s_len:32/integer, dsa_s:dsa_s_len/binary,
- * dsa_p_len:32/integer, dsa_p:dsa_p_len/binary,
- * dsa_q_len:32/integer, dsa_q:dsa_q_len/binary,
- * dsa_g_len:32/integer, dsa_g:dsa_g_len/binary,
- * dsa_y_len:32/integer, dsa_y:dsa_y_len/binary>> */
- i = 0;
- j = 0;
- if (len < 24)
- return -1;
- data_len = get_int32(buf + i + j);
- j += data_len; i += 4;
- if (len < (24 + j))
- return -1;
- dsa_s_len = get_int32(buf + i + j);
- j += dsa_s_len; i += 4;
- if (len < (24 + j))
- return -1;
- dsa_p_len = get_int32(buf + i + j);
- j += dsa_p_len; i += 4;
- if (len < (24 + j))
- return -1;
- dsa_q_len = get_int32(buf + i + j);
- j += dsa_q_len; i += 4;
- if (len < (24 + j))
- return -1;
- dsa_g_len = get_int32(buf + i + j);
- j += dsa_g_len; i += 4;
- if (len < (24 + j))
- return -1;
- dsa_y_len = get_int32(buf + i + j);
- j += dsa_y_len;
- if (len != (24 + j))
- return -1;
- i = 4;
- SHA1((unsigned char *) (buf + i), data_len, (unsigned char *) hmacbuf);
- i += data_len + 4;
- dsa_s = (unsigned char *)(buf + i);
- i += (dsa_s_len + 4);
- dsa_p = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dsa_p_len, dsa_p);
- i += (dsa_p_len + 4);
- dsa_q = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dsa_q_len, dsa_q);
- i += (dsa_q_len + 4);
- dsa_g = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dsa_g_len, dsa_g);
- i += (dsa_g_len + 4);
- dsa_y = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dsa_y_len, dsa_y);
- dsa = DSA_new();
- dsa->p = dsa_p;
- dsa->q = dsa_q;
- dsa->g = dsa_g;
- dsa->priv_key = NULL;
- dsa->pub_key = dsa_y;
- i = DSA_verify(0, (unsigned char *) hmacbuf, SHA_DIGEST_LENGTH,
- dsa_s, dsa_s_len, dsa);
- bin = return_binary(rbuf,rlen,1);
- if (bin==NULL) return -1;
-
- DSA_free(dsa);
- bin[0] = (i > 0) ? 1 : 0;
- return 1;
-
- case DRV_DSS_SIGN:
- /* buf = <<data_len:32/integer, data:data_len/binary,
- * dsa_p_len:32/integer, dsa_p:dsa_p_len/binary,
- * dsa_q_len:32/integer, dsa_q:dsa_q_len/binary,
- * dsa_g_len:32/integer, dsa_g:dsa_g_len/binary,
- * dsa_y_len:32/integer, dsa_y:dsa_y_len/binary,
- * dsa_x_len:32/integer, dsa_s:dsa_x_len/binary>> */
- i = 0;
- j = 0;
- if (len < 20)
- return -1;
- data_len = get_int32(buf + i + j);
- j += data_len; i += 4;
- if (len < (20 + j))
- return -1;
- dsa_p_len = get_int32(buf + i + j);
- j += dsa_p_len; i += 4;
- if (len < (20 + j))
- return -1;
- dsa_q_len = get_int32(buf + i + j);
- j += dsa_q_len; i += 4;
- if (len < (20 + j))
- return -1;
- dsa_g_len = get_int32(buf + i + j);
- j += dsa_g_len; i += 4;
- if (len < (20 + j))
- return -1;
- dsa_y_len = get_int32(buf + i + j);
- j += dsa_y_len;
- if (len < (20 + j))
- return -1;
- if (len != (20 + j))
- return -1;
-
- i = 4;
- SHA1((unsigned char *) (buf + i), data_len, (unsigned char *) hmacbuf);
- i += data_len + 4;
- dsa_p = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dsa_p_len, dsa_p);
- i += (dsa_p_len + 4);
- dsa_q = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dsa_q_len, dsa_q);
- i += (dsa_q_len + 4);
- dsa_g = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dsa_g_len, dsa_g);
- i += (dsa_g_len + 4);
- dsa_y = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dsa_y_len, dsa_y);
- /* i += (dsa_y_len + 4); */
-
- dsa = DSA_new();
- dsa->p = dsa_p;
- dsa->q = dsa_q;
- dsa->g = dsa_g;
- dsa->priv_key = dsa_y;
- dsa->pub_key = NULL;
- dlen = DSA_size(dsa);
- bin = return_binary(rbuf,rlen, dlen+1);
- if (bin==NULL) return -1;
- i = DSA_sign(NID_sha1,
- (unsigned char *) hmacbuf,SHA_DIGEST_LENGTH,
- (unsigned char *) &bin[1],
- (unsigned int *) &dsa_s_len, dsa);
- DSA_free(dsa);
- if (i) {
- if (dsa_s_len != dlen) {
- bin = return_binary_shrink(rbuf,rlen,bin,dsa_s_len+1);
- }
- bin[0] = 1;
- return dsa_s_len + 1;
- }
- else {
- bin[0] = 0;
- return 1;
- }
-
- case DRV_RSA_VERIFY_MD5:
- case DRV_RSA_VERIFY_SHA:
- /* buf = <<data_len:32/integer, data:data_len/binary,
- * rsa_s_len:32/integer, rsa_s:rsa_s_len/binary,
- * rsa_e_len:32/integer, rsa_e:rsa_e_len/binary,
- * rsa_n_len:32/integer, rsa_n:rsa_n_len/binary>> */
- i = 0;
- j = 0;
- if (len < 16)
- return -1;
- data_len = get_int32(buf + i + j);
- j += data_len; i += 4;
- if (len < (16 + j))
- return -1;
- rsa_s_len = get_int32(buf + i + j);
- j += rsa_s_len; i += 4;
- if (len < (16 + j))
- return -1;
- rsa_e_len = get_int32(buf + i + j);
- j += rsa_e_len; i += 4;
- if (len < (16 + j))
- return -1;
- rsa_n_len = get_int32(buf + i + j);
- j += rsa_n_len; i += 4;
- if (len != (16 + j))
- return -1;
- i = 4;
- i += (data_len + 4);
- rsa_s = (unsigned char *)(buf + i);
- i += (rsa_s_len + 4);
- rsa_e = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), rsa_e_len, rsa_e);
- i += (rsa_e_len + 4);
- rsa_n = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), rsa_n_len, rsa_n);
- rsa = RSA_new();
- rsa->n = rsa_n;
- rsa->e = rsa_e;
- i = 4;
- if(command == DRV_RSA_VERIFY_SHA) {
- SHA1((unsigned char *) (buf + i), data_len,
- (unsigned char *) hmacbuf);
- i = RSA_verify(NID_sha1, (unsigned char *) hmacbuf, SHA_DIGEST_LENGTH,
- rsa_s, rsa_s_len, rsa);
- } else {
- MD5((unsigned char *) (buf + i), data_len, (unsigned char *) hmacbuf);
- i = RSA_verify(NID_md5, (unsigned char *) hmacbuf, MD5_DIGEST_LENGTH,
- rsa_s, rsa_s_len, rsa);
- }
-
- bin = return_binary(rbuf,rlen,1);
- if (bin==NULL) return -1;
- bin[0] = (char)(i & 0xff);
- RSA_free(rsa);
- return 1;
-
- case DRV_RSA_SIGN_MD5:
- case DRV_RSA_SIGN_SHA:
- /* buf = <<data_len:32/integer, data:data_len/binary,
- * rsa_e_len:32/integer, rsa_e:rsa_e_len/binary,
- * rsa_n_len:32/integer, rsa_n:rsa_n_len/binary,
- * rsa_d_len:32/integer, rsa_d:rsa_d_len/binary>> */
-
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf,len);
-
- i = 0;
- j = 0;
-
- if (len < 16)
- return -1;
- data_len = get_int32(buf + i + j);
- j += data_len; i += 4;
- if (len < (16 + j))
- return -1;
- rsa_e_len = get_int32(buf + i + j);
- j += rsa_e_len; i += 4;
- if (len < (16 + j))
- return -1;
- rsa_n_len = get_int32(buf + i + j);
- j += rsa_n_len; i += 4;
- if (len < (16 + j))
- return -1;
- rsa_d_len = get_int32(buf + i + j);
- j += rsa_d_len; i += 4;
- if (len != (16 + j))
- return -1;
-
- i = 4;
- i += (data_len + 4);
- rsa_e = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), rsa_e_len, rsa_e);
- i += (rsa_e_len + 4);
- rsa_n = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), rsa_n_len, rsa_n);
- i += (rsa_n_len + 4);
- rsa_d = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), rsa_d_len, rsa_d);
- i += (rsa_d_len + 4);
-
- rsa = RSA_new();
- rsa->e = rsa_e;
- rsa->n = rsa_n;
- rsa->d = rsa_d;
-
- dlen = RSA_size(rsa);
- bin = return_binary(rbuf,rlen,dlen+1);
- if (bin==NULL) return -1;
- i = 4;
- if (command == DRV_RSA_SIGN_MD5) {
- MD5((unsigned char *) (buf + i), data_len, (unsigned char *) hmacbuf);
- ERL_VALGRIND_ASSERT_MEM_DEFINED(hmacbuf, MD5_DIGEST_LENGTH);
- i = RSA_sign(NID_md5,
- (unsigned char *) hmacbuf,MD5_DIGEST_LENGTH,
- (unsigned char *) &bin[1],
- &rsa_s_len, rsa);
- } else {
- SHA1((unsigned char *) (buf + i), data_len,
- (unsigned char *) hmacbuf);
- ERL_VALGRIND_ASSERT_MEM_DEFINED(hmacbuf, SHA_DIGEST_LENGTH);
- i = RSA_sign(NID_sha1,
- (unsigned char *) hmacbuf,SHA_DIGEST_LENGTH,
- (unsigned char *) &bin[1],
- &rsa_s_len, rsa);
- }
- RSA_free(rsa);
- if (i) {
- ERL_VALGRIND_MAKE_MEM_DEFINED(bin+1, rsa_s_len);
- if (rsa_s_len != dlen) {
- bin = return_binary_shrink(rbuf,rlen,bin,rsa_s_len+1);
- ERL_VALGRIND_ASSERT_MEM_DEFINED(bin+1, rsa_s_len);
- }
- bin[0] = 1;
- return rsa_s_len + 1;
- }
- else {
- bin[0] = 0;
- return 1;
- }
-
- case DRV_RSA_PRIVATE_DECRYPT:
- case DRV_RSA_PRIVATE_ENCRYPT:
- /* buf = <<data_len:32/integer, data:data_len/binary,
- * rsa_e_len:32/integer, rsa_e:rsa_e_len/binary,
- * rsa_n_len:32/integer, rsa_n:rsa_n_len/binary,
- * rsa_d_len:32/integer, rsa_d:rsa_d_len/binary,
- * pad:8/integer >> */
-
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf,len);
- i = 0;
- j = 0;
-
- if (len < 17)
- return -1;
- data_len = get_int32(buf + i + j);
- j += data_len; i += 4;
- if (len < (17 + j))
- return -1;
- rsa_e_len = get_int32(buf + i + j);
- j += rsa_e_len; i += 4;
- if (len < (17 + j))
- return -1;
- rsa_n_len = get_int32(buf + i + j);
- j += rsa_n_len; i += 4;
- if (len < (17 + j))
- return -1;
- rsa_d_len = get_int32(buf + i + j);
- j += rsa_d_len; i += 4;
- padding = *(unsigned char *) (buf+i+j);
- if (len != (17 + j))
- return -1;
-
- i = 4;
- i += (data_len + 4);
- rsa_e = BN_new();
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf+i,rsa_e_len);
- BN_bin2bn((unsigned char *)(buf + i), rsa_e_len, rsa_e);
- i += (rsa_e_len + 4);
- rsa_n = BN_new();
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf+i,rsa_n_len);
- BN_bin2bn((unsigned char *)(buf + i), rsa_n_len, rsa_n);
- i += (rsa_n_len + 4);
- rsa_d = BN_new();
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf+i,rsa_d_len);
- BN_bin2bn((unsigned char *)(buf + i), rsa_d_len, rsa_d);
- i += (rsa_d_len + 4);
-
- switch(padding) {
- case 0:
- padding = RSA_NO_PADDING;
- break;
- case 1:
- padding = RSA_PKCS1_PADDING;
- break;
- case 2:
- padding = RSA_PKCS1_OAEP_PADDING;
- break;
- case 3:
- padding = RSA_SSLV23_PADDING;
- break;
- default:
- return -1;
- }
-
- rsa = RSA_new();
- rsa->e = rsa_e;
- rsa->n = rsa_n;
- rsa->d = rsa_d;
-
- dlen = RSA_size(rsa) + 1;
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- i = 4;
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf+i,data_len);
- if(command == DRV_RSA_PRIVATE_DECRYPT) {
- i = RSA_private_decrypt(data_len, (unsigned char *) (buf+i),
- (unsigned char *) &bin[1],
- rsa, padding);
- if(i > 0) {
- ERL_VALGRIND_MAKE_MEM_DEFINED(&bin[1],i);
- bin = return_binary_shrink(rbuf,rlen, bin, i+1);
- if (bin==NULL) return -1;
- }
- } else {
- i = RSA_private_encrypt(data_len, (unsigned char *) (buf+i),
- (unsigned char *) &bin[1],
- rsa, padding);
- if(i > 0) {
- ERL_VALGRIND_MAKE_MEM_DEFINED(&bin[1],i);
- }
- }
- RSA_free(rsa);
- if(i > 0) {
- bin[0] = 1;
- return i + 1;
- } else {
- bin[0] = 0;
- return 1;
- }
- break;
-
- case DRV_RSA_PUBLIC_ENCRYPT:
- case DRV_RSA_PUBLIC_DECRYPT:
- /* buf = <<data_len:32/integer, data:data_len/binary,
- * rsa_e_len:32/integer, rsa_e:rsa_e_len/binary,
- * rsa_n_len:32/integer, rsa_n:rsa_n_len/binary,
- * pad:8/integer >> */
-
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf,len);
- i = 0;
- j = 0;
-
- if (len < 13)
- return -1;
- data_len = get_int32(buf + i + j);
- j += data_len; i += 4;
- if (len < (13 + j))
- return -1;
- rsa_e_len = get_int32(buf + i + j);
- j += rsa_e_len; i += 4;
- if (len < (13 + j))
- return -1;
- rsa_n_len = get_int32(buf + i + j);
- j += rsa_n_len; i += 4;
- if (len < (13 + j))
- return -1;
- padding = *(unsigned char *) (buf + i + j);
- if (len != (13 + j))
- return -1;
-
- i = 4;
- i += (data_len + 4);
- rsa_e = BN_new();
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf+i,rsa_e_len);
- BN_bin2bn((unsigned char *)(buf + i), rsa_e_len, rsa_e);
- i += (rsa_e_len + 4);
- rsa_n = BN_new();
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf+i,rsa_n_len);
- BN_bin2bn((unsigned char *)(buf + i), rsa_n_len, rsa_n);
- i += (rsa_n_len + 4);
-
- switch(padding) {
- case 0:
- padding = RSA_NO_PADDING;
- break;
- case 1:
- padding = RSA_PKCS1_PADDING;
- break;
- case 2:
- padding = RSA_PKCS1_OAEP_PADDING;
- break;
- case 3:
- padding = RSA_SSLV23_PADDING;
- break;
- default:
- return -1;
- }
-
- rsa = RSA_new();
- rsa->e = rsa_e;
- rsa->n = rsa_n;
-
- dlen = RSA_size(rsa) + 1;
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- i = 4;
- if(command == DRV_RSA_PUBLIC_ENCRYPT) {
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf+i,data_len);
- i = RSA_public_encrypt(data_len, (unsigned char *) (buf+i),
- (unsigned char *) &bin[1],
- rsa, padding);
- if (i > 0) {
- ERL_VALGRIND_MAKE_MEM_DEFINED(bin+1, i);
- }
- } else {
- i = RSA_public_decrypt(data_len, (unsigned char *) (buf+i),
- (unsigned char *) &bin[1],
- rsa, padding);
- if(i > 0) {
- ERL_VALGRIND_MAKE_MEM_DEFINED(bin+1, i);
- bin = return_binary_shrink(rbuf,rlen,bin, i+1);
- if (bin==NULL) return -1;
- }
- }
-
- RSA_free(rsa);
- if(i > 0) {
- bin[0] = 1;
- return i + 1;
- } else {
-/* ERR_load_crypto_strings(); */
-/* fprintf(stderr, "%d: %s \r\n", __LINE__, ERR_reason_error_string(ERR_get_error())); */
- bin[0] = 0;
- return 1;
- }
- break;
-
- case DRV_CBC_AES128_ENCRYPT:
- case DRV_CBC_AES256_ENCRYPT:
- case DRV_CBC_AES128_DECRYPT:
- case DRV_CBC_AES256_DECRYPT:
- /* buf = key[klen] ivec[klen] data */
- if (command == DRV_CBC_AES256_ENCRYPT || command == DRV_CBC_AES256_DECRYPT)
- klen = 32;
- else
- klen = 16;
- dlen = len - klen - 16;
- if (dlen < 0)
- return -1;
- if (dlen % 16 != 0)
- return -1;
- if (command == DRV_CBC_AES128_ENCRYPT || command == DRV_CBC_AES256_ENCRYPT) {
- i = AES_ENCRYPT;
- AES_set_encrypt_key((unsigned char *) buf, klen*8, &aes_key);
- } else {
- i = AES_DECRYPT;
- AES_set_decrypt_key((unsigned char *) buf, klen*8, &aes_key);
- }
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- AES_cbc_encrypt((unsigned char *) (buf + klen+16),
- (unsigned char *) bin,
- dlen,
- &aes_key,
- (unsigned char *) (buf + klen),
- i);
- return dlen;
-
-/* case DRV_CBC_AES128_DECRYPT: */
-/* case DRV_CBC_AES256_DECRYPT: */
-/* /\* buf = key[klen] ivec[16] data *\/ */
-/* if (command == DRV_CBC_AES256_DECRYPT) */
-/* klen = 32; */
-/* else */
-/* klen = 16; */
-/* dlen = len - klen - 16; */
-/* if (dlen < 0) */
-/* return -1; */
-/* *rbuf = (char *)(bin = driver_alloc_binary(dlen)); */
-/* AES_set_decrypt_key((unsigned char *) buf, klen*8, &aes_key); */
-/* AES_cbc_encrypt((unsigned char *) (buf + klen+16), */
-/* (unsigned char *) bin->orig_bytes, */
-/* dlen, */
-/* &aes_key, */
-/* (unsigned char *) (buf + klen), */
-/* AES_DECRYPT); */
-/* return dlen; */
-/* break; */
-
- case DRV_XOR:
- /* buf = data1, data2 with same size */
- dlen = len / 2;
- if (len != dlen * 2)
- return -1;
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- p = bin,
- dbuf = buf + dlen;
- for (key = buf, key2 = dbuf; key != dbuf; ++key, ++key2, ++p)
- *p = *key ^ *key2;
- return dlen;
-
- case DRV_DH_GENERATE_PARAMS:
- /* buf = <<PrimeLen:32 Generator:32>> */
- if (len != 8)
- return -1;
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf,len);
- prime_len = get_int32(buf);
- generator = get_int32(buf+4);
- dh_params = DH_generate_parameters(prime_len, generator, NULL, NULL);
-
- if(dh_params) {
- dh_p_len = BN_num_bytes(dh_params->p);
- dh_g_len = BN_num_bytes(dh_params->g);
- dlen = 1 + 4 + 4 + dh_g_len + dh_p_len;
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- bin[0] = 1;
- put_int32(bin+1, dh_p_len);
- BN_bn2bin(dh_params->p, bin+5);
- ERL_VALGRIND_MAKE_MEM_DEFINED(bin+5,dh_p_len);
- put_int32(bin+5+dh_p_len, dh_g_len);
- BN_bn2bin(dh_params->g, bin+5+dh_p_len+4);
- ERL_VALGRIND_MAKE_MEM_DEFINED(bin+5+dh_p_len+4,dh_g_len);
- } else {
- dlen = 1;
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- bin[0] = 0;
- }
- DH_free(dh_params);
- return dlen;
-
- case DRV_DH_CHECK:
- /* buf = <<dh_p_len:32/integer, dh_p:dh_p_len/binary,
- * dh_g_len:32/integer, dh_g:dh_g_len/binary>> */
- i = 0;
- j = 0;
- if(len < 8) return -1;
- dh_p_len = get_int32(buf + i + j);
- j += dh_p_len; i += 4;
- if (len < (8 + j)) return -1;
- dh_g_len = get_int32(buf + i + j);
- j += dh_g_len; i += 4;
- if(len != (8+j)) return -1;
- i=4;
- dh_p = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dh_p_len, dh_p);
- i += (dh_p_len + 4);
- dh_g = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dh_g_len, dh_g);
- /* i += (dsa_g_len + 4); */
-
- dh_params = DH_new();
- dh_params->p = dh_p;
- dh_params->g = dh_g;
-
- i=0;
- bin = return_binary(rbuf,rlen,4);
- if (bin==NULL) return -1;
- if(DH_check(dh_params, &i)) {
- put_int32(bin, i);
- } else {
- /* Check Failed */
- put_int32(bin, -1);
- }
- DH_free(dh_params);
- return 4;
-
- case DRV_DH_GENERATE_KEY:
- /* buf = <<key_len:32, key:key_len/binary, *
- * dh_p_len:32/integer, dh_p:dh_p_len/binary, *
- * dh_g_len:32/integer, dh_g:dh_g_len/binary>> */
- ERL_VALGRIND_ASSERT_MEM_DEFINED(buf,len);
- i = 0;
- j = 0;
- if(len < 12) return -1;
- base_len = get_int32(buf + i + j);
- j += base_len; i += 4;
- if (len < (12 + j)) return -1;
- dh_p_len = get_int32(buf + i + j);
- j += dh_p_len; i += 4;
- if (len < (12 + j)) return -1;
- dh_g_len = get_int32(buf + i + j);
- j += dh_g_len; i += 4;
- if(len != (12 + j)) return -1;
- i=4;
- i += (base_len + 4);
- dh_p = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dh_p_len, dh_p);
- i += (dh_p_len + 4);
- dh_g = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dh_g_len, dh_g);
- /* i += (dsa_g_len + 4); */
-
- dh_params = DH_new();
- dh_params->p = dh_p;
- dh_params->g = dh_g;
- if(base_len > 0) {
- dh_params->priv_key = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), base_len,
- dh_params->priv_key);
- }
- i=0;
- if(DH_generate_key(dh_params)) {
- privkey_len = BN_num_bytes(dh_params->priv_key);
- pubkey_len = BN_num_bytes(dh_params->pub_key);
- dlen = 1 + 4 + 4 + pubkey_len + privkey_len;
- bin = return_binary(rbuf,rlen, dlen);
- if (bin==NULL) return -1;
- bin[0] = 1;
- put_int32(bin+1, pubkey_len);
- BN_bn2bin(dh_params->pub_key, bin+5);
- ERL_VALGRIND_MAKE_MEM_DEFINED(bin+5, pubkey_len);
- put_int32(bin+5+pubkey_len, privkey_len);
- BN_bn2bin(dh_params->priv_key, bin+5+pubkey_len+4);
- ERL_VALGRIND_MAKE_MEM_DEFINED(bin+5+pubkey_len+4, privkey_len);
- } else {
- dlen = 1;
- bin = return_binary(rbuf,rlen,dlen);
- if (bin==NULL) return -1;
- bin[0] = 0;
- }
- DH_free(dh_params);
- return dlen;
-
- case DRV_DH_COMPUTE_KEY:
- /* buf = <<pubkey_len:32, pubkey:pubkey_len/binary, *
- * privkey_len:32, privkey:privkey_len/binary, *
- * dh_p_len:32/integer, dh_p:dh_p_len/binary, *
- * dh_g_len:32/integer, dh_g:dh_g_len/binary>> */
- i = 0;
- j = 0;
- if(len < 16) return -1;
- pubkey_len = get_int32(buf + i + j);
- j += pubkey_len; i += 4;
- if (len < (16 + j)) return -1;
- privkey_len = get_int32(buf + i + j);
- j += privkey_len; i += 4;
- if (len < (16 + j)) return -1;
- dh_p_len = get_int32(buf + i + j);
- j += dh_p_len; i += 4;
- if (len < (16 + j)) return -1;
- dh_g_len = get_int32(buf + i + j);
- j += dh_g_len; i += 4;
- if(len != (16 + j)) return -1;
- i=4;
- pubkey = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), pubkey_len, pubkey);
- i += (pubkey_len + 4);
- privkey = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), privkey_len, privkey);
- i += (privkey_len + 4);
- dh_p = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dh_p_len, dh_p);
- i += (dh_p_len + 4);
- dh_g = BN_new();
- BN_bin2bn((unsigned char *)(buf + i), dh_g_len, dh_g);
- /* i += (dsa_g_len + 4); */
-
- dh_params = DH_new();
- dh_params->p = dh_p;
- dh_params->g = dh_g;
- dh_params->priv_key = privkey;
-
- klen = DH_size(dh_params);
- bin = return_binary(rbuf,rlen,1+klen);
- if (bin==NULL) return -1;
- i = DH_compute_key(&bin[1], pubkey, dh_params);
- DH_free(dh_params);
- if (i > 0) {
- if (i != klen) {
- bin = return_binary_shrink(rbuf,rlen,bin,1+i);
- }
- bin[0] = 1;
- return i + 1;
- }
- else {
- bin[0] = 0;
- return 1;
- }
-
- case DRV_MD4:
- bin = return_binary(rbuf,rlen,MD4_LEN);
- MD4((unsigned char *)buf, len, (unsigned char *)bin);
- return MD4_LEN;
-
- case DRV_MD4_INIT:
- bin = return_binary(rbuf,rlen,MD4_CTX_LEN);
- MD4_Init((MD4_CTX *) bin);
- return MD4_CTX_LEN;
-
- case DRV_MD4_UPDATE:
- if (len < MD4_CTX_LEN)
- return -1;
- bin = return_binary(rbuf,rlen,MD4_CTX_LEN);
- memcpy(bin, buf, MD4_CTX_LEN);
- MD4_Update((MD4_CTX *) bin, buf + MD4_CTX_LEN, len - MD4_CTX_LEN);
- return MD4_CTX_LEN;
-
- case DRV_MD4_FINAL:
- if (len != MD4_CTX_LEN)
- return -1;
- memcpy(&md4_ctx, buf, MD4_CTX_LEN); /* XXX Use buf only? */
- bin = return_binary(rbuf,rlen,MD4_LEN);
- MD4_Final((unsigned char *)bin, &md4_ctx);
- return MD4_LEN;
-
-#if SSL_VERSION_0_9_8
- case DRV_SHA256:
- bin = return_binary(rbuf,rlen,SHA256_LEN);
- SHA256(buf, len, bin);
- return SHA256_LEN;
-
- case DRV_SHA256_INIT:
- bin = return_binary(rbuf,rlen,SHA256_CTX_LEN);
- SHA256_Init((SHA256_CTX *)bin);
- return SHA256_CTX_LEN;
-
- case DRV_SHA256_UPDATE:
- if (len < SHA256_CTX_LEN)
- return -1;
- bin = return_binary(rbuf,rlen,SHA256_CTX_LEN);
- memcpy(bin, buf, SHA256_CTX_LEN);
- SHA256_Update((SHA256_CTX *)bin, buf + SHA256_CTX_LEN,
- len - SHA256_CTX_LEN);
- return SHA256_CTX_LEN;
-
- case DRV_SHA256_FINAL:
- if (len != SHA256_CTX_LEN)
- return -1;
- memcpy(&sha256_ctx, buf, SHA256_CTX_LEN); /* XXX Use buf only? */
- bin = return_binary(rbuf,rlen,SHA256_LEN);
- SHA256_Final(bin, &sha256_ctx);
- return SHA256_LEN;
-
- case DRV_SHA512:
- bin = return_binary(rbuf,rlen,SHA512_LEN);
- SHA512(buf, len, bin);
- return SHA512_LEN;
-
- case DRV_SHA512_INIT:
- bin = return_binary(rbuf,rlen,SHA512_CTX_LEN);
- SHA512_Init((SHA512_CTX *)bin);
- return SHA512_CTX_LEN;
-
- case DRV_SHA512_UPDATE:
- if (len < SHA512_CTX_LEN)
- return -1;
- bin = return_binary(rbuf,rlen,SHA512_CTX_LEN);
- memcpy(bin, buf, SHA512_CTX_LEN);
- SHA512_Update((SHA512_CTX *)bin, buf + SHA512_CTX_LEN,
- len - SHA512_CTX_LEN);
- return SHA512_CTX_LEN;
-
- case DRV_SHA512_FINAL:
- if (len != SHA512_CTX_LEN)
- return -1;
- memcpy(&sha512_ctx, buf, SHA512_CTX_LEN); /* XXX Use buf only? */
- bin = return_binary(rbuf,rlen,SHA512_LEN));
- SHA512_Final(bin, &sha512_ctx);
- return SHA512_LEN;
-#endif
-
- case DRV_INFO_LIB:
- {/* <<DrvVer:8, NameSize:8, Name:NameSize/binary, VerNum:32, VerStr/binary>> */
- static const char libname[] = "OpenSSL";
- unsigned name_sz = strlen(libname);
- const char* ver = SSLeay_version(SSLEAY_VERSION);
- unsigned ver_sz = strlen(ver);
- dlen = 1+1+name_sz+4+ver_sz;
- bin = return_binary(rbuf, rlen, dlen);
- if (bin==NULL) return -1;
- p = bin;
- *p++ = 0; /* "driver version" for future use */
- *p++ = name_sz;
- memcpy(p, libname, name_sz);
- p += name_sz;
- put_int32(p,SSLeay()); /* OPENSSL_VERSION_NUMBER */
- p += 4;
- memcpy(p, ver, ver_sz);
- }
- return dlen;
-
- default:
- break;
- }
- return -1;
-}
-
-
-#ifdef OPENSSL_THREADS /* vvvvvvvvvvvvvvv OPENSSL_THREADS vvvvvvvvvvvvvvvv */
-
-static INLINE void locking(int mode, ErlDrvRWLock* lock)
-{
- switch(mode) {
- case CRYPTO_LOCK|CRYPTO_READ:
- erl_drv_rwlock_rlock(lock);
- break;
- case CRYPTO_LOCK|CRYPTO_WRITE:
- erl_drv_rwlock_rwlock(lock);
- break;
- case CRYPTO_UNLOCK|CRYPTO_READ:
- erl_drv_rwlock_runlock(lock);
- break;
- case CRYPTO_UNLOCK|CRYPTO_WRITE:
- erl_drv_rwlock_rwunlock(lock);
- break;
- default:
- ASSERT(!"Invalid lock mode");
- }
-}
-
-/* Callback from openssl for static locking
- */
-static void locking_function(int mode, int n, const char *file, int line)
-{
- ASSERT(n>=0 && n<CRYPTO_num_locks());
-
- locking(mode, lock_vec[n]);
-}
-
-/* Callback from openssl for thread id
- */
-static unsigned long id_function(void)
-{
- return (unsigned long) erl_drv_thread_self();
-}
-
-/* Callbacks for dynamic locking, not used by current openssl version (0.9.8)
- */
-static struct CRYPTO_dynlock_value* dyn_create_function(const char *file, int line)
-{
- return (struct CRYPTO_dynlock_value*) erl_drv_rwlock_create("crypto_drv_dyn");
-}
-static void dyn_lock_function(int mode, struct CRYPTO_dynlock_value* ptr,const char *file, int line)
-{
- locking(mode, (ErlDrvRWLock*)ptr);
-}
-static void dyn_destroy_function(struct CRYPTO_dynlock_value *ptr, const char *file, int line)
-{
- erl_drv_rwlock_destroy((ErlDrvRWLock*)ptr);
-}
-
-#endif /* ^^^^^^^^^^^^^^^^^^^^^^ OPENSSL_THREADS ^^^^^^^^^^^^^^^^^^^^^^ */
-
-/* HMAC */
-
-static void hmac_md5(char *key, int klen, char *dbuf, int dlen, char *hmacbuf)
-{
- MD5_CTX ctx;
- char ipad[HMAC_INT_LEN];
- char opad[HMAC_INT_LEN];
- unsigned char nkey[MD5_LEN];
- int i;
-
- /* Change key if longer than 64 bytes */
- if (klen > HMAC_INT_LEN) {
- MD5_CTX kctx;
-
- MD5_Init(&kctx);
- MD5_Update(&kctx, key, klen);
- MD5_Final(nkey, &kctx);
- key = (char *) nkey;
- klen = MD5_LEN;
- }
-
- memset(ipad, '\0', sizeof(ipad));
- memset(opad, '\0', sizeof(opad));
- memcpy(ipad, key, klen);
- memcpy(opad, key, klen);
-
- for (i = 0; i < HMAC_INT_LEN; i++) {
- ipad[i] ^= HMAC_IPAD;
- opad[i] ^= HMAC_OPAD;
- }
-
- /* inner MD5 */
- MD5_Init(&ctx);
- MD5_Update(&ctx, ipad, HMAC_INT_LEN);
- MD5_Update(&ctx, dbuf, dlen);
- MD5_Final((unsigned char *) hmacbuf, &ctx);
- /* outer MD5 */
- MD5_Init(&ctx);
- MD5_Update(&ctx, opad, HMAC_INT_LEN);
- MD5_Update(&ctx, hmacbuf, MD5_LEN);
- MD5_Final((unsigned char *) hmacbuf, &ctx);
-}
-
-static void hmac_sha1(char *key, int klen, char *dbuf, int dlen,
- char *hmacbuf)
-{
- SHA_CTX ctx;
- char ipad[HMAC_INT_LEN];
- char opad[HMAC_INT_LEN];
- unsigned char nkey[SHA_LEN];
- int i;
-
- /* Change key if longer than 64 bytes */
- if (klen > HMAC_INT_LEN) {
- SHA_CTX kctx;
-
- SHA1_Init(&kctx);
- SHA1_Update(&kctx, key, klen);
- SHA1_Final(nkey, &kctx);
- key = (char *) nkey;
- klen = SHA_LEN;
- }
-
- memset(ipad, '\0', sizeof(ipad));
- memset(opad, '\0', sizeof(opad));
- memcpy(ipad, key, klen);
- memcpy(opad, key, klen);
-
- for (i = 0; i < HMAC_INT_LEN; i++) {
- ipad[i] ^= HMAC_IPAD;
- opad[i] ^= HMAC_OPAD;
- }
-
- /* inner SHA */
- SHA1_Init(&ctx);
- SHA1_Update(&ctx, ipad, HMAC_INT_LEN);
- SHA1_Update(&ctx, dbuf, dlen);
- SHA1_Final((unsigned char *) hmacbuf, &ctx);
- /* outer SHA */
- SHA1_Init(&ctx);
- SHA1_Update(&ctx, opad, HMAC_INT_LEN);
- SHA1_Update(&ctx, hmacbuf, SHA_LEN);
- SHA1_Final((unsigned char *) hmacbuf, &ctx);
-}
diff --git a/lib/crypto/doc/src/crypto.xml b/lib/crypto/doc/src/crypto.xml
index cfc6996332..256eab3e3c 100644
--- a/lib/crypto/doc/src/crypto.xml
+++ b/lib/crypto/doc/src/crypto.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1999</year><year>2009</year>
+ <year>1999</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>crypto</title>
@@ -35,6 +35,9 @@
<p>References:</p>
<list type="bulleted">
<item>
+ <p>md4: The MD4 Message Digest Algorithm (RFC 1320)</p>
+ </item>
+ <item>
<p>md5: The MD5 Message Digest Algorithm (RFC 1321)</p>
</item>
<item>
@@ -115,6 +118,52 @@ Mpint() = <![CDATA[<<ByteLen:32/integer-big, Bytes:ByteLen/binary>>]]>
</desc>
</func>
<func>
+ <name>md4(Data) -> Digest</name>
+ <fsummary>Compute an <c>MD4</c>message digest from <c>Data</c></fsummary>
+ <type>
+ <v>Data = iolist() | binary()</v>
+ <v>Digest = binary()</v>
+ </type>
+ <desc>
+ <p>Computes an <c>MD4</c> message digest from <c>Data</c>, where
+ the length of the digest is 128 bits (16 bytes).</p>
+ </desc>
+ </func>
+ <func>
+ <name>md4_init() -> Context</name>
+ <fsummary>Creates an MD4 context</fsummary>
+ <type>
+ <v>Context = binary()</v>
+ </type>
+ <desc>
+ <p>Creates an MD4 context, to be used in subsequent calls to
+ <c>md4_update/2</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>md4_update(Context, Data) -> NewContext</name>
+ <fsummary>Update an MD4 <c>Context</c>with <c>Data</c>, and return a <c>NewContext</c></fsummary>
+ <type>
+ <v>Data = iolist() | binary()</v>
+ <v>Context = NewContext = binary()</v>
+ </type>
+ <desc>
+ <p>Updates an MD4 <c>Context</c> with <c>Data</c>, and returns
+ a <c>NewContext</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>md4_final(Context) -> Digest</name>
+ <fsummary>Finish the update of an MD4 <c>Context</c>and return the computed <c>MD4</c>message digest</fsummary>
+ <type>
+ <v>Context = Digest = binary()</v>
+ </type>
+ <desc>
+ <p>Finishes the update of an MD4 <c>Context</c> and returns
+ the computed <c>MD4</c> message digest.</p>
+ </desc>
+ </func>
+ <func>
<name>md5(Data) -> Digest</name>
<fsummary>Compute an <c>MD5</c>message digest from <c>Data</c></fsummary>
<type>
@@ -339,6 +388,33 @@ Mpint() = <![CDATA[<<ByteLen:32/integer-big, Bytes:ByteLen/binary>>]]>
</func>
<func>
+ <name>des_ecb_encrypt(Key, Text) -> Cipher</name>
+ <fsummary>Encrypt <c>Text</c>according to DES in ECB mode</fsummary>
+ <type>
+ <v>Key = Text = iolist() | binary()</v>
+ <v>Cipher = binary()</v>
+ </type>
+ <desc>
+ <p>Encrypts <c>Text</c> according to DES in ECB mode.
+ <c>Key</c> is the DES key. The lengths of <c>Key</c> and
+ <c>Text</c> must be 64 bits (8 bytes).</p>
+ </desc>
+ </func>
+ <func>
+ <name>des_ecb_decrypt(Key, Cipher) -> Text</name>
+ <fsummary>Decrypt <c>Cipher</c>according to DES in ECB mode</fsummary>
+ <type>
+ <v>Key = Cipher = iolist() | binary()</v>
+ <v>Text = binary()</v>
+ </type>
+ <desc>
+ <p>Decrypts <c>Cipher</c> according to DES in ECB mode.
+ <c>Key</c> is the DES key. The lengths of <c>Key</c> and
+ <c>Cipher</c> must be 64 bits (8 bytes).</p>
+ </desc>
+ </func>
+
+ <func>
<name>blowfish_ecb_encrypt(Key, Text) -> Cipher</name>
<fsummary>Encrypt the first 64 bits of <c>Text</c> using Blowfish in ECB mode</fsummary>
<type>
diff --git a/lib/crypto/priv/Makefile b/lib/crypto/priv/Makefile
index b8acdacc00..0989f14c94 100644
--- a/lib/crypto/priv/Makefile
+++ b/lib/crypto/priv/Makefile
@@ -18,21 +18,21 @@
# ----------------------------------------------------
# THIS MAKEFILE SERVES AS AN EXAMPLE OF
-# HOW TO RELINK THE CRYPTO DRIVER
+# HOW TO RELINK THE CRYPTO NIF LIBRARY
# ----------------------------------------------------
# ----------------------------------------------------
-# Variables for linking a .so driver on unix.
+# Variables for linking a .so library on unix.
# Note: These may differ between systems.
# ----------------------------------------------------
SO_LD = gcc
SO_LDFLAGS = -G
SO_SSL_LIBDIR = /usr/local/lib
-SO_DRIVER = $(LIBDIR)/$(DRIVER_NAME).so
+SO_NIFLIB = $(LIBDIR)/$(LIB_NAME).so
# ----------------------------------------------------
-# Variables for linking a win32 .dll driver.
+# Variables for linking a win32 .dll library.
# Note: These may differ between systems.
# ----------------------------------------------------
@@ -42,9 +42,9 @@ DLL_LIBDIR = "c:\\OpenSSL\\lib\\VC"
DLL_LIBS = libeay32.lib MSVCRT.LIB kernel32.lib \
advapi32.lib gdi32.lib user32.lib \
comctl32.lib comdlg32.lib shell32.lib
-DLL_DRIVER = $(LIBDIR)/$(DRIVER_NAME).dll
-DLL_EXP = $(LIBDIR)/$(DRIVER_NAME).exp
-DLL_LIB = $(LIBDIR)/$(DRIVER_NAME).lib
+DLL_NIFLIB = $(LIBDIR)/$(LIB_NAME).dll
+DLL_EXP = $(LIBDIR)/$(LIB_NAME).exp
+DLL_LIB = $(LIBDIR)/$(LIB_NAME).lib
# ----------------------------------------------------
# Common variables
@@ -52,27 +52,27 @@ DLL_LIB = $(LIBDIR)/$(DRIVER_NAME).lib
OBJDIR = ./
LIBDIR = ../lib
-DRIVER_NAME = crypto_drv
-OBJS = $(OBJDIR)/crypto_drv.o
+LIB_NAME = crypto
+OBJS = $(OBJDIR)/crypto.o
# ----------------------------------------------------
# Targets
# ----------------------------------------------------
-$(SO_DRIVER): $(OBJS)
+$(SO_NIFLIB): $(OBJS)
$(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) -Wl,-R$(SO_SSL_LIBDIR) \
-o $@ $^ -lcrypto
-$(DLL_DRIVER): $(OBJS)
+$(DLL_NIFLIB): $(OBJS)
$(DLL_LD) $(DLL_LDFLAGS) -out:$@ -libpath:$(DLL_LIBDIR) $(OBJS) \
$(DLL_LIBS)
-so: $(SO_DRIVER)
+so: $(SO_NIFLIB)
-dll: $(DLL_DRIVER)
+dll: $(DLL_NIFLIB)
clean:
- rm -f $(SO_DRIVER) $(DLL_DRIVER)
+ rm -f $(SO_NIFLIB) $(DLL_NIFLIB)
rm -f $(DLL_EXP) $(DLL_LIB)
rm -f core *~
diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile
index 51092d16a5..0e886ce8bf 100644
--- a/lib/crypto/src/Makefile
+++ b/lib/crypto/src/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1999-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1999-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
include $(ERL_TOP)/make/target.mk
@@ -57,7 +57,7 @@ APPUP_TARGET= $(EBIN)/$(APPUP_FILE)
# ----------------------------------------------------
# FLAGS
# ----------------------------------------------------
-ERL_COMPILE_FLAGS += +warn_obsolete_guard
+ERL_COMPILE_FLAGS += +warn_obsolete_guard -DCRYPTO_VSN=\"$(VSN)\"
# ----------------------------------------------------
# Targets
diff --git a/lib/crypto/src/crypto.erl b/lib/crypto/src/crypto.erl
index fa33bad2e0..5b1ce96caf 100644
--- a/lib/crypto/src/crypto.erl
+++ b/lib/crypto/src/crypto.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -21,7 +21,7 @@
-module(crypto).
--export([start/0, stop/0, info/0, info_lib/0]).
+-export([start/0, stop/0, info/0, info_lib/0, version/0]).
-export([md4/1, md4_init/0, md4_update/2, md4_final/1]).
-export([md5/1, md5_init/0, md5_update/2, md5_final/1]).
-export([sha/1, sha_init/0, sha_update/2, sha_final/1]).
@@ -29,6 +29,7 @@
%-export([sha512/1, sha512_init/0, sha512_update/2, sha512_final/1]).
-export([md5_mac/2, md5_mac_96/2, sha_mac/2, sha_mac_96/2]).
-export([des_cbc_encrypt/3, des_cbc_decrypt/3, des_cbc_ivec/1]).
+-export([des_ecb_encrypt/2, des_ecb_decrypt/2]).
-export([des3_cbc_encrypt/5, des3_cbc_decrypt/5]).
-export([blowfish_ecb_encrypt/2, blowfish_ecb_decrypt/2]).
-export([blowfish_cbc_encrypt/3, blowfish_cbc_decrypt/3]).
@@ -53,79 +54,6 @@
-export([dh_generate_parameters/2, dh_check/1]). %% Testing see below
--define(INFO, 0).
--define(MD5, 1).
--define(MD5_INIT, 2).
--define(MD5_UPDATE, 3).
--define(MD5_FINAL, 4).
--define(SHA, 5).
--define(SHA_INIT, 6).
--define(SHA_UPDATE, 7).
--define(SHA_FINAL, 8).
--define(MD5_MAC, 9).
--define(MD5_MAC_96, 10).
--define(SHA_MAC, 11).
--define(SHA_MAC_96, 12).
--define(DES_CBC_ENCRYPT, 13).
--define(DES_CBC_DECRYPT, 14).
--define(DES_EDE3_CBC_ENCRYPT, 15).
--define(DES_EDE3_CBC_DECRYPT, 16).
--define(AES_CFB_128_ENCRYPT, 17).
--define(AES_CFB_128_DECRYPT, 18).
--define(RAND_BYTES, 19).
--define(RAND_UNIFORM, 20).
--define(MOD_EXP, 21).
--define(DSS_VERIFY, 22).
--define(RSA_VERIFY_SHA, 23).
-%-define(RSA_VERIFY_MD5, 35).
--define(AES_CBC_128_ENCRYPT, 24).
--define(AES_CBC_128_DECRYPT, 25).
--define(XOR, 26).
--define(RC4_ENCRYPT, 27).
--define(RC4_SET_KEY, 28).
--define(RC4_ENCRYPT_WITH_STATE, 29).
--define(RC2_40_CBC_ENCRYPT, 30).
--define(RC2_40_CBC_DECRYPT, 31).
--define(AES_CBC_256_ENCRYPT, 32).
--define(AES_CBC_256_DECRYPT, 33).
--define(INFO_LIB,34).
-%-define(RSA_VERIFY_SHA, 23).
--define(RSA_VERIFY_MD5, 35).
--define(RSA_SIGN_SHA, 36).
--define(RSA_SIGN_MD5, 37).
--define(DSS_SIGN, 38).
--define(RSA_PUBLIC_ENCRYPT, 39).
--define(RSA_PRIVATE_DECRYPT, 40).
--define(RSA_PRIVATE_ENCRYPT, 41).
--define(RSA_PUBLIC_DECRYPT, 42).
--define(DH_GENERATE_PARAMS, 43).
--define(DH_CHECK, 44).
--define(DH_GENERATE_KEY, 45).
--define(DH_COMPUTE_KEY, 46).
--define(MD4, 47).
--define(MD4_INIT, 48).
--define(MD4_UPDATE, 49).
--define(MD4_FINAL, 50).
-
-%% -define(SHA256, 51).
-%% -define(SHA256_INIT, 52).
-%% -define(SHA256_UPDATE, 53).
-%% -define(SHA256_FINAL, 54).
-%% -define(SHA512, 55).
-%% -define(SHA512_INIT, 56).
-%% -define(SHA512_UPDATE, 57).
-%% -define(SHA512_FINAL, 58).
-
--define(BF_CFB64_ENCRYPT, 59).
--define(BF_CFB64_DECRYPT, 60).
--define(BF_ECB_ENCRYPT, 61).
--define(BF_ECB_DECRYPT, 62).
--define(BF_OFB64_ENCRYPT, 63).
--define(BF_CBC_ENCRYPT, 64).
--define(BF_CBC_DECRYPT, 65).
-
-%% -define(IDEA_CBC_ENCRYPT, 34).
-%% -define(IDEA_CBC_DECRYPT, 35).
-define(FUNC_LIST, [md4, md4_init, md4_update, md4_final,
md5, md5_init, md5_update, md5_final,
@@ -135,6 +63,7 @@
md5_mac, md5_mac_96,
sha_mac, sha_mac_96,
des_cbc_encrypt, des_cbc_decrypt,
+ des_ecb_encrypt, des_ecb_decrypt,
des_ede3_cbc_encrypt, des_ede3_cbc_decrypt,
aes_cfb_128_encrypt, aes_cfb_128_decrypt,
rand_bytes,
@@ -153,6 +82,44 @@
aes_cbc_256_encrypt, aes_cbc_256_decrypt,
info_lib]).
+-define(nif_stub,nif_stub_error(?LINE)).
+
+-on_load(on_load/0).
+
+-define(CRYPTO_NIF_VSN,101).
+
+on_load() ->
+ LibName = "crypto",
+ PrivDir = code:priv_dir(crypto),
+ Lib1 = filename:join([PrivDir, "lib", LibName]),
+ Status = case erlang:load_nif(Lib1, ?CRYPTO_NIF_VSN) of
+ ok -> ok;
+ {error, {load_failed, _}}=Error1 ->
+ LibDir2 =
+ filename:join([PrivDir, "lib",
+ erlang:system_info(system_architecture)]),
+ Candidate =
+ filelib:wildcard(filename:join([LibDir2,LibName ++ "*" ])),
+ case Candidate of
+ [] -> Error1;
+ _ ->
+ Lib2 = filename:join([LibDir2, LibName]),
+ erlang:load_nif(Lib2, ?CRYPTO_NIF_VSN)
+ end;
+ Error1 -> Error1
+ end,
+ case Status of
+ ok -> ok;
+ {error, {E, Str}} ->
+ error_logger:error_msg("Unable to load crypto library. Failed with error:~n\"~p, ~s\"~n"
+ "OpenSSL might not be installed on this system.~n",[E,Str]),
+ Status
+ end.
+
+
+nif_stub_error(Line) ->
+ erlang:error({nif_not_loaded,module,?MODULE,line,Line}).
+
start() ->
application:start(crypto).
@@ -160,15 +127,15 @@ stop() ->
application:stop(crypto).
info() ->
- lists:map(fun(I) ->
- lists:nth(I, ?FUNC_LIST)
- end, binary_to_list(control(?INFO, []))).
+ ?FUNC_LIST.
-info_lib() ->
- <<_DrvVer:8, NameSize:8, Name:NameSize/binary,
- VerNum:32, VerStr/binary>> = control(?INFO_LIB,[]),
- [{Name,VerNum,VerStr}].
+info_lib() -> ?nif_stub.
+%% Crypto app version history:
+%% (no version): Driver implementation
+%% 2.0 : NIF implementation, requires OTP R14
+version() -> ?CRYPTO_VSN.
+
%% Below Key and Data are binaries or IO-lists. IVec is a binary.
%% Output is always a binary. Context is a binary.
@@ -179,73 +146,27 @@ info_lib() ->
%%
%% MD5
%%
-md5(Data) ->
- control(?MD5, Data).
-
-md5_init() ->
- control(?MD5_INIT, []).
-
-md5_update(Context, Data) ->
- control(?MD5_UPDATE, [Context, Data]).
-
-md5_final(Context) ->
- control(?MD5_FINAL, Context).
+md5(_Data) -> ?nif_stub.
+md5_init() -> ?nif_stub.
+md5_update(_Context, _Data) -> ?nif_stub.
+md5_final(_Context) -> ?nif_stub.
%%
%% MD4
%%
-md4(Data) ->
- control(?MD4, Data).
-
-md4_init() ->
- control(?MD4_INIT, []).
-
-md4_update(Context, Data) ->
- control(?MD4_UPDATE, [Context, Data]).
-
-md4_final(Context) ->
- control(?MD4_FINAL, Context).
+md4(_Data) -> ?nif_stub.
+md4_init() -> ?nif_stub.
+md4_update(_Context, _Data) -> ?nif_stub.
+md4_final(_Context) -> ?nif_stub.
%%
%% SHA
%%
-sha(Data) ->
- control(?SHA, Data).
-
-sha_init() ->
- control(?SHA_INIT, []).
-
-sha_update(Context, Data) ->
- control(?SHA_UPDATE, [Context, Data]).
-
-sha_final(Context) ->
- control(?SHA_FINAL, Context).
-
-%% sha256 and sha512 requires openssl-0.9.8 removed for now
-
-%% sha256(Data) ->
-%% control(?SHA256, Data).
-
-%% sha256_init() ->
-%% control(?SHA256_INIT, []).
+sha(_Data) -> ?nif_stub.
+sha_init() -> ?nif_stub.
+sha_update(_Context, _Data) -> ?nif_stub.
+sha_final(_Context) -> ?nif_stub.
-%% sha256_update(Context, Data) ->
-%% control(?SHA256_UPDATE, [Context, Data]).
-
-%% sha256_final(Context) ->
-%% control(?SHA256_FINAL, Context).
-
-%% sha512(Data) ->
-%% control(?SHA512, Data).
-
-%% sha512_init() ->
-%% control(?SHA512_INIT, []).
-
-%% sha512_update(Context, Data) ->
-%% control(?SHA512_UPDATE, [Context, Data]).
-
-%% sha512_final(Context) ->
-%% control(?SHA512_FINAL, Context).
%%
%% MESSAGE AUTHENTICATION CODES
@@ -255,20 +176,24 @@ sha_final(Context) ->
%% MD5_MAC
%%
md5_mac(Key, Data) ->
- control_bin(?MD5_MAC, Key, Data).
+ md5_mac_n(Key,Data,16).
md5_mac_96(Key, Data) ->
- control_bin(?MD5_MAC_96, Key, Data).
+ md5_mac_n(Key,Data,12).
+md5_mac_n(_Key,_Data,_MacSz) -> ?nif_stub.
+
%%
%% SHA_MAC
%%
sha_mac(Key, Data) ->
- control_bin(?SHA_MAC, Key, Data).
+ sha_mac_n(Key,Data,20).
sha_mac_96(Key, Data) ->
- control_bin(?SHA_MAC_96, Key, Data).
+ sha_mac_n(Key,Data,12).
+sha_mac_n(_Key,_Data,_MacSz) -> ?nif_stub.
+
%%
%% CRYPTO FUNCTIONS
%%
@@ -277,10 +202,12 @@ sha_mac_96(Key, Data) ->
%% DES - in cipher block chaining mode (CBC)
%%
des_cbc_encrypt(Key, IVec, Data) ->
- control(?DES_CBC_ENCRYPT, [Key, IVec, Data]).
+ des_cbc_crypt(Key, IVec, Data, true).
des_cbc_decrypt(Key, IVec, Data) ->
- control(?DES_CBC_DECRYPT, [Key, IVec, Data]).
+ des_cbc_crypt(Key, IVec, Data, false).
+
+des_cbc_crypt(_Key, _IVec, _Data, _IsEncrypt) -> ?nif_stub.
%%
%% dec_cbc_ivec(Data) -> binary()
@@ -295,76 +222,78 @@ des_cbc_ivec(Data) when is_list(Data) ->
des_cbc_ivec(list_to_binary(Data)).
%%
+%% DES - in electronic codebook mode (ECB)
+%%
+des_ecb_encrypt(Key, Data) ->
+ des_ecb_crypt(Key, Data, true).
+des_ecb_decrypt(Key, Data) ->
+ des_ecb_crypt(Key, Data, false).
+des_ecb_crypt(_Key, _Data, _IsEncrypt) -> ?nif_stub.
+
+%%
%% DES3 - in cipher block chaining mode (CBC)
%%
des3_cbc_encrypt(Key1, Key2, Key3, IVec, Data) ->
des_ede3_cbc_encrypt(Key1, Key2, Key3, IVec, Data).
des_ede3_cbc_encrypt(Key1, Key2, Key3, IVec, Data) ->
- %%io:format("des_ede3_cbc_encrypt: size(Data)=~p\n", [size(list_to_binary([Data]))]),
- control(?DES_EDE3_CBC_ENCRYPT, [Key1, Key2, Key3, IVec, Data]).
+ des_ede3_cbc_crypt(Key1, Key2, Key3, IVec, Data, true).
des3_cbc_decrypt(Key1, Key2, Key3, IVec, Data) ->
des_ede3_cbc_decrypt(Key1, Key2, Key3, IVec, Data).
des_ede3_cbc_decrypt(Key1, Key2, Key3, IVec, Data) ->
- control(?DES_EDE3_CBC_DECRYPT, [Key1, Key2, Key3, IVec, Data]).
+ des_ede3_cbc_crypt(Key1, Key2, Key3, IVec, Data, false).
+
+des_ede3_cbc_crypt(_Key1, _Key2, _Key3, _IVec, _Data, _IsEncrypt) -> ?nif_stub.
%%
%% Blowfish
%%
-blowfish_ecb_encrypt(Key, Data) when byte_size(Data) >= 8 ->
- control_bin(?BF_ECB_ENCRYPT, Key, list_to_binary([Data])).
+blowfish_ecb_encrypt(Key, Data) ->
+ bf_ecb_crypt(Key,Data, true).
+
+blowfish_ecb_decrypt(Key, Data) ->
+ bf_ecb_crypt(Key,Data, false).
+
+bf_ecb_crypt(_Key,_Data,_IsEncrypt) -> ?nif_stub.
+
+blowfish_cbc_encrypt(Key, IVec, Data) ->
+ bf_cbc_crypt(Key,IVec,Data,true).
-blowfish_ecb_decrypt(Key, Data) when byte_size(Data) >= 8 ->
- control_bin(?BF_ECB_DECRYPT, Key, list_to_binary([Data])).
+blowfish_cbc_decrypt(Key, IVec, Data) ->
+ bf_cbc_crypt(Key,IVec,Data,false).
-blowfish_cbc_encrypt(Key, IVec, Data) when byte_size(Data) rem 8 =:= 0 ->
- control_bin(?BF_CBC_ENCRYPT, Key, list_to_binary([IVec, Data])).
+bf_cbc_crypt(_Key,_IVec,_Data,_IsEncrypt) -> ?nif_stub.
-blowfish_cbc_decrypt(Key, IVec, Data) when byte_size(Data) rem 8 =:= 0 ->
- control_bin(?BF_CBC_DECRYPT, Key, list_to_binary([IVec, Data])).
+blowfish_cfb64_encrypt(Key, IVec, Data) ->
+ bf_cfb64_crypt(Key, IVec, Data, true).
-blowfish_cfb64_encrypt(Key, IVec, Data) when byte_size(IVec) =:= 8 ->
- control_bin(?BF_CFB64_ENCRYPT, Key, list_to_binary([IVec, Data])).
+blowfish_cfb64_decrypt(Key, IVec, Data) ->
+ bf_cfb64_crypt(Key, IVec, Data, false).
-blowfish_cfb64_decrypt(Key, IVec, Data) when byte_size(IVec) =:= 8 ->
- control_bin(?BF_CFB64_DECRYPT, Key, list_to_binary([IVec, Data])).
+bf_cfb64_crypt(_Key, _IVec, _Data, _IsEncrypt) -> ?nif_stub.
-blowfish_ofb64_encrypt(Key, IVec, Data) when byte_size(IVec) =:= 8 ->
- control_bin(?BF_OFB64_ENCRYPT, Key, list_to_binary([IVec, Data])).
+blowfish_ofb64_encrypt(_Key, _IVec, _Data) -> ?nif_stub.
%%
%% AES in cipher feedback mode (CFB)
%%
aes_cfb_128_encrypt(Key, IVec, Data) ->
- control(?AES_CFB_128_ENCRYPT, [Key, IVec, Data]).
+ aes_cfb_128_crypt(Key, IVec, Data, true).
aes_cfb_128_decrypt(Key, IVec, Data) ->
- control(?AES_CFB_128_DECRYPT, [Key, IVec, Data]).
+ aes_cfb_128_crypt(Key, IVec, Data, false).
-
-%% %%
-%% %% IDEA - in cipher block chaining mode (CBC)
-%% %%
-%% idea_cbc_encrypt(Key, IVec, Data) ->
-%% control(?IDEA_CBC_ENCRYPT, [Key, IVec, Data]).
-
-%% idea_cbc_decrypt(Key, IVec, Data) ->
-%% control(?IDEA_CBC_DECRYPT, [Key, IVec, Data]).
+aes_cfb_128_crypt(_Key, _IVec, _Data, _IsEncrypt) -> ?nif_stub.
%%
%% RAND - pseudo random numbers using RN_ functions in crypto lib
%%
-
-rand_bytes(Bytes) ->
- rand_bytes(Bytes, 0, 0).
-rand_bytes(Bytes, Topmask, Bottommask) ->
- control(?RAND_BYTES,[<<Bytes:32/integer,
- Topmask:8/integer,
- Bottommask:8/integer>>]).
+rand_bytes(_Bytes) -> ?nif_stub.
+rand_bytes(_Bytes, _Topmask, _Bottommask) -> ?nif_stub.
rand_uniform(From,To) when is_binary(From), is_binary(To) ->
- case control(?RAND_UNIFORM,[From,To]) of
+ case rand_uniform_nif(From,To) of
<<Len:32/integer, MSB, Rest/binary>> when MSB > 127 ->
<<(Len + 1):32/integer, 0, MSB, Rest/binary>>;
Whatever ->
@@ -380,6 +309,8 @@ rand_uniform(From,To) when is_integer(From),is_integer(To) ->
Other
end.
+rand_uniform_nif(_From,_To) -> ?nif_stub.
+
%%
%% mod_exp - utility for rsa generation
%%
@@ -388,55 +319,51 @@ mod_exp(Base, Exponent, Modulo)
erlint(mod_exp(mpint(Base), mpint(Exponent), mpint(Modulo)));
mod_exp(Base, Exponent, Modulo) ->
- case control(?MOD_EXP,[Base,Exponent,Modulo]) of
+ case mod_exp_nif(Base,Exponent,Modulo) of
<<Len:32/integer, MSB, Rest/binary>> when MSB > 127 ->
<<(Len + 1):32/integer, 0, MSB, Rest/binary>>;
Whatever ->
Whatever
end.
+mod_exp_nif(_Base,_Exp,_Mod) -> ?nif_stub.
+
%%
%% DSS, RSA - verify
%%
%% Key = [P,Q,G,Y] P,Q,G=DSSParams Y=PublicKey
-dss_verify(Data,Signature,Key) ->
- control(?DSS_VERIFY, [Data,Signature,Key]) == <<1>>.
+dss_verify(_Data,_Signature,_Key) -> ?nif_stub.
% Key = [E,N] E=PublicExponent N=PublicModulus
rsa_verify(Data,Signature,Key) ->
rsa_verify(sha, Data,Signature,Key).
-rsa_verify(Type,Data,Signature,Key) ->
- control(rsa_verify_digest_type(Type), [Data,Signature,Key]) == <<1>>.
+rsa_verify(_Type,_Data,_Signature,_Key) -> ?nif_stub.
-rsa_verify_digest_type(md5) -> ?RSA_VERIFY_MD5;
-rsa_verify_digest_type(sha) -> ?RSA_VERIFY_SHA;
-rsa_verify_digest_type(Bad) -> erlang:error(badarg, [Bad]).
%%
%% DSS, RSA - sign
%%
%% Key = [P,Q,G,X] P,Q,G=DSSParams X=PrivateKey
dss_sign(Data, Key) ->
- <<Ret:8, Signature/binary>> = control(?DSS_SIGN, [Data,Key]),
- case Ret of
- 1 -> Signature;
- 0 -> erlang:error(badkey, [Data, Key])
+ case dss_sign_nif(Data,Key) of
+ error -> erlang:error(badkey, [Data, Key]);
+ Sign -> Sign
end.
+dss_sign_nif(_Data,_Key) -> ?nif_stub.
+
%% Key = [E,N,D] E=PublicExponent N=PublicModulus D=PrivateExponent
rsa_sign(Data,Key) ->
rsa_sign(sha, Data, Key).
rsa_sign(Type, Data, Key) ->
- <<Ret:8, Signature/binary>> = control(rsa_sign_digest_type(Type), [Data,Key]),
- case Ret of
- 1 -> Signature;
- 0 -> erlang:error(badkey, [Type,Data,Key])
+ case rsa_sign_nif(Type,Data,Key) of
+ error -> erlang:error(badkey, [Type,Data,Key]);
+ Sign -> Sign
end.
-rsa_sign_digest_type(md5) -> ?RSA_SIGN_MD5;
-rsa_sign_digest_type(sha) -> ?RSA_SIGN_SHA;
-rsa_sign_digest_type(Bad) -> erlang:error(badarg, [Bad]).
+rsa_sign_nif(_Type,_Data,_Key) -> ?nif_stub.
+
%%
%% rsa_public_encrypt
@@ -444,48 +371,39 @@ rsa_sign_digest_type(Bad) -> erlang:error(badarg, [Bad]).
%% Binary, Key = [E,N]
rsa_public_encrypt(BinMesg, Key, Padding) ->
- Size = iolist_size(BinMesg),
- <<Ret:8, Signature/binary>> =
- control(?RSA_PUBLIC_ENCRYPT, [<<Size:32>>,BinMesg,Key,rsa_pad(Padding)]),
- case Ret of
- 1 -> Signature;
- 0 -> erlang:error(encrypt_failed, [BinMesg,Key, Padding])
- end.
+ case rsa_public_crypt(BinMesg, Key, Padding, true) of
+ error ->
+ erlang:error(encrypt_failed, [BinMesg,Key, Padding]);
+ Sign -> Sign
+ end.
+
+rsa_public_crypt(_BinMsg, _Key, _Padding, _IsEncrypt) -> ?nif_stub.
%% Binary, Key = [E,N,D]
rsa_private_decrypt(BinMesg, Key, Padding) ->
- Size = iolist_size(BinMesg),
- <<Ret:8, Signature/binary>> =
- control(?RSA_PRIVATE_DECRYPT, [<<Size:32>>,BinMesg,Key,rsa_pad(Padding)]),
- case Ret of
- 1 -> Signature;
- 0 -> erlang:error(decrypt_failed, [BinMesg,Key, Padding])
- end.
-
-rsa_pad(rsa_pkcs1_padding) -> 1;
-rsa_pad(rsa_pkcs1_oaep_padding) -> 2;
-%% rsa_pad(rsa_sslv23_padding) -> 3;
-rsa_pad(rsa_no_padding) -> 0;
-rsa_pad(Bad) -> erlang:error(badarg, [Bad]).
+ case rsa_private_crypt(BinMesg, Key, Padding, false) of
+ error ->
+ erlang:error(decrypt_failed, [BinMesg,Key, Padding]);
+ Sign -> Sign
+ end.
+
+rsa_private_crypt(_BinMsg, _Key, _Padding, _IsEncrypt) -> ?nif_stub.
+
%% Binary, Key = [E,N,D]
rsa_private_encrypt(BinMesg, Key, Padding) ->
- Size = iolist_size(BinMesg),
- <<Ret:8, Signature/binary>> =
- control(?RSA_PRIVATE_ENCRYPT, [<<Size:32>>,BinMesg,Key,rsa_pad(Padding)]),
- case Ret of
- 1 -> Signature;
- 0 -> erlang:error(encrypt_failed, [BinMesg,Key, Padding])
- end.
+ case rsa_private_crypt(BinMesg, Key, Padding, true) of
+ error ->
+ erlang:error(encrypt_failed, [BinMesg,Key, Padding]);
+ Sign -> Sign
+ end.
%% Binary, Key = [E,N]
rsa_public_decrypt(BinMesg, Key, Padding) ->
- Size = iolist_size(BinMesg),
- <<Ret:8, Signature/binary>> =
- control(?RSA_PUBLIC_DECRYPT, [<<Size:32>>,BinMesg,Key,rsa_pad(Padding)]),
- case Ret of
- 1 -> Signature;
- 0 -> erlang:error(decrypt_failed, [BinMesg,Key, Padding])
+ case rsa_public_crypt(BinMesg, Key, Padding, false) of
+ error ->
+ erlang:error(decrypt_failed, [BinMesg,Key, Padding]);
+ Sign -> Sign
end.
%%
@@ -493,16 +411,18 @@ rsa_public_decrypt(BinMesg, Key, Padding) ->
%%
aes_cbc_128_encrypt(Key, IVec, Data) ->
- control(?AES_CBC_128_ENCRYPT, [Key, IVec, Data]).
+ aes_cbc_crypt(Key, IVec, Data, true).
aes_cbc_128_decrypt(Key, IVec, Data) ->
- control(?AES_CBC_128_DECRYPT, [Key, IVec, Data]).
+ aes_cbc_crypt(Key, IVec, Data, false).
aes_cbc_256_encrypt(Key, IVec, Data) ->
- control(?AES_CBC_256_ENCRYPT, [Key, IVec, Data]).
+ aes_cbc_crypt(Key, IVec, Data, true).
aes_cbc_256_decrypt(Key, IVec, Data) ->
- control(?AES_CBC_256_DECRYPT, [Key, IVec, Data]).
+ aes_cbc_crypt(Key, IVec, Data, false).
+
+aes_cbc_crypt(_Key, _IVec, _Data, _IsEncrypt) -> ?nif_stub.
%%
%% aes_cbc_ivec(Data) -> binary()
@@ -523,31 +443,25 @@ aes_cbc_ivec(Data) when is_list(Data) ->
%% NB doesn't check that they are the same size, just concatenates
%% them and sends them to the driver
%%
-exor(A, B) ->
- control(?XOR, [A, B]).
+exor(_A, _B) -> ?nif_stub.
%%
%% RC4 - symmetric stream cipher
%%
-rc4_encrypt(Key, Data) ->
- control_bin(?RC4_ENCRYPT, Key, Data).
-
-rc4_set_key(Key) ->
- control(?RC4_SET_KEY, Key).
-
-rc4_encrypt_with_state(State, Data) ->
- <<Sz:32/integer-big-unsigned, S:Sz/binary, D/binary>> =
- control_bin(?RC4_ENCRYPT_WITH_STATE, State, Data),
- {S, D}.
+rc4_encrypt(_Key, _Data) -> ?nif_stub.
+rc4_set_key(_Key) -> ?nif_stub.
+rc4_encrypt_with_state(_State, _Data) -> ?nif_stub.
%%
%% RC2 - 40 bits block cipher
%%
rc2_40_cbc_encrypt(Key, IVec, Data) ->
- control(?RC2_40_CBC_ENCRYPT, [Key, IVec, Data]).
+ rc2_40_cbc_crypt(Key,IVec,Data,true).
rc2_40_cbc_decrypt(Key, IVec, Data) ->
- control(?RC2_40_CBC_DECRYPT, [Key, IVec, Data]).
+ rc2_40_cbc_crypt(Key,IVec,Data,false).
+
+rc2_40_cbc_crypt(_Key, _IVec, _Data, _IsEncrypt) -> ?nif_stub.
%%
%% DH Diffie-Hellman functions
@@ -562,87 +476,44 @@ rc2_40_cbc_decrypt(Key, IVec, Data) ->
%%
%% usage: dh_generate_parameters(1024, 2 or 5) ->
%% [Prime=mpint(), SharedGenerator=mpint()]
-dh_generate_parameters(PrimeLen, Generator)
- when is_integer(PrimeLen), is_integer(Generator) ->
- case control(?DH_GENERATE_PARAMS, <<PrimeLen:32, Generator:32>>) of
- <<0:8, _/binary>> ->
- erlang:error(generation_failed, [PrimeLen,Generator]);
- <<1:8, PLen0:32, _:PLen0/binary, GLen0:32,_:GLen0/binary>> = Bin ->
- PLen = PLen0+4,
- GLen = GLen0+4,
- <<_:8, PBin:PLen/binary,GBin:GLen/binary>> = Bin,
- [PBin, GBin]
- end.
+dh_generate_parameters(PrimeLen, Generator) ->
+ case dh_generate_parameters_nif(PrimeLen, Generator) of
+ error -> erlang:error(generation_failed, [PrimeLen,Generator]);
+ Ret -> Ret
+ end.
+
+dh_generate_parameters_nif(_PrimeLen, _Generator) -> ?nif_stub.
%% Checks that the DHParameters are ok.
%% DHParameters = [P (Prime)= mpint(), G(Generator) = mpint()]
-dh_check(DHParameters) ->
- case control(?DH_CHECK, DHParameters) of
- <<0:32>> -> ok;
- <<_:24,_:1,_:1,_:1,1:1>> -> not_prime;
- <<_:24,_:1,_:1,1:1,0:1>> -> not_strong_prime;
- <<_:24,_:1,1:1,0:1,0:1>> -> unable_to_check_generator;
- <<_:24,1:1,0:1,0:1,0:1>> -> not_suitable_generator;
- <<16#FFFF:32>> -> {error, check_failed};
- <<X:32>> -> {unknown, X}
- end.
+dh_check([_Prime,_Gen]) -> ?nif_stub.
%% DHParameters = [P (Prime)= mpint(), G(Generator) = mpint()]
%% PrivKey = mpint()
dh_generate_key(DHParameters) ->
- dh_generate_key(<<0:32>>, DHParameters).
+ dh_generate_key(undefined, DHParameters).
dh_generate_key(PrivateKey, DHParameters) ->
- case control(?DH_GENERATE_KEY, [PrivateKey, DHParameters]) of
- <<0:8, _/binary>> ->
- erlang:error(generation_failed, [PrivateKey,DHParameters]);
- Bin = <<1:8, PubLen0:32, _:PubLen0/binary, PrivLen0:32, _:PrivLen0/binary>> ->
- PubLen = PubLen0+4,
- PrivLen = PrivLen0+4,
- <<_:8, PubBin:PubLen/binary,PrivBin:PrivLen/binary>> = Bin,
- {PubBin, PrivBin}
+ case dh_generate_key_nif(PrivateKey, DHParameters) of
+ error -> erlang:error(generation_failed, [PrivateKey,DHParameters]);
+ Res -> Res
end.
+dh_generate_key_nif(_PrivateKey, _DHParameters) -> ?nif_stub.
+
%% DHParameters = [P (Prime)= mpint(), G(Generator) = mpint()]
%% MyPrivKey, OthersPublicKey = mpint()
dh_compute_key(OthersPublicKey, MyPrivateKey, DHParameters) ->
- case control(?DH_COMPUTE_KEY, [OthersPublicKey, MyPrivateKey, DHParameters]) of
- <<0:8, _/binary>> ->
- erlang:error(computation_failed, [OthersPublicKey,MyPrivateKey,DHParameters]);
- <<1:8, Binary/binary>> -> Binary
+ case dh_compute_key_nif(OthersPublicKey,MyPrivateKey,DHParameters) of
+ error -> erlang:error(computation_failed, [OthersPublicKey,MyPrivateKey,DHParameters]);
+ Ret -> Ret
end.
+dh_compute_key_nif(_OthersPublicKey, _MyPrivateKey, _DHParameters) -> ?nif_stub.
+
%%
%% LOCAL FUNCTIONS
%%
-control_bin(Cmd, Key, Data) ->
- Sz = iolist_size(Key),
- control(Cmd, [<<Sz:32/integer-unsigned>>, Key, Data]).
-
-control(Cmd, Data) ->
- Port = crypto_server:client_port(),
- erlang:port_control(Port, Cmd, Data).
-
-
-%% sizehdr(N) ->
-%% [(N bsr 24) band 255,
-%% (N bsr 16) band 255,
-%% (N bsr 8) band 255,
-%% N band 255].
-
-%% Flat length of IOlist (or binary)
-%% flen(L) when binary(L) ->
-%% size(L);
-%% flen(L) ->
-%% flen(L, 0).
-
-%% flen([H| T], N) when list(H) ->
-%% flen(H, flen(T, N));
-%% flen([H| T], N) when binary(H) ->
-%% flen(T, N + size(H));
-%% flen([H| T], N) when integer(H), 0 =< H, H =< 255 ->
-%% flen(T, N + 1);
-%% flen([], N) ->
-%% N.
+
%% large integer in a binary with 32bit length
%% MP representaion (SSH2)
diff --git a/lib/crypto/src/crypto_server.erl b/lib/crypto/src/crypto_server.erl
index 0b1e5c9b02..89650a9f06 100644
--- a/lib/crypto/src/crypto_server.erl
+++ b/lib/crypto/src/crypto_server.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -23,14 +23,12 @@
-behaviour(gen_server).
--export([start_link/0,client_port/0]).
+-export([start_link/0]).
%% Internal exports, call-back functions.
-export([init/1,handle_call/3,handle_cast/2,handle_info/2,code_change/3,
terminate/2]).
-%% Measurements shows that inlining port_names/0 is worth doing.
--compile({inline,[{port_names,0}]}).
%%% --------------------------------------------------------
%%% Interface Functions.
@@ -40,66 +38,8 @@ start_link() ->
gen_server:start_link({local, crypto_server}, crypto_server, [], []).
init([]) ->
- process_flag(trap_exit, true),
- erl_ddll:start(),
- PrivDir = code:priv_dir(crypto),
- LibDir1 = filename:join([PrivDir, "lib"]),
- {Status, LibDir} =
- case erl_ddll:load_driver(LibDir1, crypto_drv) of
- ok -> {ok,LibDir1};
- {error,Error1} ->
- LibDir2 =
- filename:join(LibDir1,
- erlang:system_info(system_architecture)),
- Candidate =
- filelib:wildcard(filename:join([LibDir2,"crypto_drv*"])),
- case Candidate of
- [] ->
- {{error,Error1},LibDir1};
- _ ->
- case erl_ddll:load_driver(LibDir2, crypto_drv) of
- ok ->
- {ok,LibDir2};
- {error, Error2} ->
- {{error,Error2},LibDir2}
- end
- end
- end,
- case Status of
- ok ->
- Cmd = "crypto_drv elibcrypto " ++
- filename:join([LibDir, "elibcrypto"]),
- open_ports(Cmd,size(port_names()));
- {error, E} ->
- Str = erl_ddll:format_error(E),
- error_logger:error_msg("Unable to load crypto_drv. Failed with error:~n\"~s\"~nOpenSSL might not be installed on this system.~n",[Str]),
- {stop,nodriver}
- end.
-
-open_ports(_,0) ->
- {ok, []};
-open_ports(Cmd,N) ->
- Port = open_port({spawn, Cmd}, []),
- %% check that driver is loaded, linked and working
- %% since crypto_drv links towards libcrypto, this is a good thing
- %% since libcrypto is known to be bad with backwards compatibility
- case catch port_control(Port, 0, []) of
- {'EXIT', _} ->
- {stop, nodriver};
- _ ->
- register(element(N,port_names()), Port),
- open_ports(Cmd,N-1)
- end.
-
-port_names() ->
- { crypto_drv01, crypto_drv02, crypto_drv03, crypto_drv04,
- crypto_drv05, crypto_drv06, crypto_drv07, crypto_drv08,
- crypto_drv09, crypto_drv10, crypto_drv11, crypto_drv12,
- crypto_drv13, crypto_drv14, crypto_drv15, crypto_drv16 }.
-
-client_port() ->
- element(erlang:system_info(scheduler_id) rem size(port_names()) + 1,
- port_names()).
+ {ok,[]}.
+
%%% --------------------------------------------------------
@@ -112,11 +52,6 @@ handle_call(_, _, State) ->
handle_cast(_, State) ->
{noreply, State}.
-handle_info({'EXIT', Pid, _Reason}, State) when is_pid(Pid) ->
- {noreply, State};
-
-handle_info({'EXIT', Port, Reason}, State) when is_port(Port) ->
- {stop, {port_died, Reason}, State};
handle_info(_, State) ->
{noreply, State}.
@@ -124,13 +59,8 @@ code_change(_OldVsn, State, _Extra) ->
{ok, State}.
terminate(_Reason, _State) ->
- close_ports(size(port_names())).
+ [].
-close_ports(0) ->
- ok;
-close_ports(N) ->
- element(N,port_names()) ! {self(), close},
- close_ports(N-1).
diff --git a/lib/crypto/test/blowfish_SUITE.erl b/lib/crypto/test/blowfish_SUITE.erl
index d4cc167ea9..d117e7cc3d 100644
--- a/lib/crypto/test/blowfish_SUITE.erl
+++ b/lib/crypto/test/blowfish_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -116,7 +116,8 @@ all(suite) ->
ecb_test(KeyBytes, ClearBytes, CipherBytes) ->
{Key, Clear, Cipher} =
{to_bin(KeyBytes), to_bin(ClearBytes), to_bin(CipherBytes)},
- crypto:blowfish_ecb_encrypt(Key, Clear) =:= Cipher.
+ ?line m(crypto:blowfish_ecb_encrypt(Key, Clear), Cipher),
+ true.
ecb(doc) ->
"Test that ECB mode is OK";
@@ -208,3 +209,5 @@ to_bin([], Acc) ->
iolist_to_binary(lists:reverse(Acc));
to_bin([C1, C2 | Rest], Acc) ->
to_bin(Rest, [(dehex(C1) bsl 4) bor dehex(C2) | Acc]).
+
+m(X,X) -> ok.
diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl
index 290ef19160..08d7a0ce99 100644
--- a/lib/crypto/test/crypto_SUITE.erl
+++ b/lib/crypto/test/crypto_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(crypto_SUITE).
@@ -40,6 +40,7 @@
md5_mac_io/1,
des_cbc/1,
des_cbc_iter/1,
+ des_ecb/1,
aes_cfb/1,
aes_cbc/1,
aes_cbc_iter/1,
@@ -78,6 +79,7 @@ all(suite) ->
aes_cbc,
aes_cbc_iter,
des_cbc_iter,
+ des_ecb,
rand_uniform_test,
rsa_verify_test,
dsa_verify_test,
@@ -117,7 +119,7 @@ link_test(Config) when is_list(Config) ->
link_test_1() ->
?line CryptoPriv = code:priv_dir(crypto),
- ?line Wc = filename:join([CryptoPriv,"lib","crypto_drv.*"]),
+ ?line Wc = filename:join([CryptoPriv,"lib","crypto.*"]),
?line case filelib:wildcard(Wc) of
[] -> {skip,"Didn't find the crypto driver"};
[Drv] -> link_test_2(Drv)
@@ -439,12 +441,34 @@ des_cbc_iter(Config) when is_list(Config) ->
?line Cipher1 = crypto:des_cbc_encrypt(Key, IVec, Plain1),
?line IVec2 = crypto:des_cbc_ivec(Cipher1),
?line Cipher2 = crypto:des_cbc_encrypt(Key, IVec2, Plain2),
- ?line Cipher = concat_binary([Cipher1, Cipher2]),
+ ?line Cipher = list_to_binary([Cipher1, Cipher2]),
?line m(Cipher, hexstr2bin("e5c7cdde872bf27c43e934008c389c"
"0f683788499a7c05f6")).
%%
%%
+des_ecb(doc) ->
+ "Encrypt and decrypt according to ECB DES and check the result. "
+ "Example are from FIPS-81.";
+des_ecb(suite) ->
+ [];
+des_ecb(Config) when is_list(Config) ->
+ ?line Key = hexstr2bin("0123456789abcdef"),
+ ?line Cipher1 = crypto:des_ecb_encrypt(Key, "Now is t"),
+ ?line m(Cipher1, hexstr2bin("3fa40e8a984d4815")),
+ ?line Cipher2 = crypto:des_ecb_encrypt(Key, "he time "),
+ ?line m(Cipher2, hexstr2bin("6a271787ab8883f9")),
+ ?line Cipher3 = crypto:des_ecb_encrypt(Key, "for all "),
+ ?line m(Cipher3, hexstr2bin("893d51ec4b563b53")),
+ ?line Cipher4 = crypto:des_ecb_decrypt(Key, hexstr2bin("3fa40e8a984d4815")),
+ ?line m(Cipher4, <<"Now is t">>),
+ ?line Cipher5 = crypto:des_ecb_decrypt(Key, hexstr2bin("6a271787ab8883f9")),
+ ?line m(Cipher5, <<"he time ">>),
+ ?line Cipher6 = crypto:des_ecb_decrypt(Key, hexstr2bin("893d51ec4b563b53")),
+ ?line m(Cipher6, <<"for all ">>).
+
+%%
+%%
aes_cfb(doc) ->
"Encrypt and decrypt according to AES CFB 128 bit and check "
"the result. Example are from NIST SP 800-38A.";
@@ -819,16 +843,16 @@ dsa_sign_test(Config) when is_list(Config) ->
ParamG = 18320614775012672475365915366944922415598782131828709277168615511695849821411624805195787607930033958243224786899641459701930253094446221381818858674389863050420226114787005820357372837321561754462061849169568607689530279303056075793886577588606958623645901271866346406773590024901668622321064384483571751669,
Params = [crypto:mpint(ParamP), crypto:mpint(ParamQ), crypto:mpint(ParamG)],
- ?line Sig1 = crypto:dss_sign(sized_binary(Msg), [Params, crypto:mpint(PrivKey)]),
+ ?line Sig1 = crypto:dss_sign(sized_binary(Msg), Params ++ [crypto:mpint(PrivKey)]),
?line m(crypto:dss_verify(sized_binary(Msg), sized_binary(Sig1),
- [Params, crypto:mpint(PubKey)]), true),
+ Params ++ [crypto:mpint(PubKey)]), true),
?line m(crypto:dss_verify(sized_binary(one_bit_wrong(Msg)), sized_binary(Sig1),
- [Params, crypto:mpint(PubKey)]), false),
+ Params ++ [crypto:mpint(PubKey)]), false),
?line m(crypto:dss_verify(sized_binary(Msg), sized_binary(one_bit_wrong(Sig1)),
- [Params, crypto:mpint(PubKey)]), false),
+ Params ++ [crypto:mpint(PubKey)]), false),
%%?line Bad = crypto:dss_sign(sized_binary(Msg), [Params, crypto:mpint(PubKey)]),
diff --git a/lib/crypto/vsn.mk b/lib/crypto/vsn.mk
index 68eecfe759..d04736fc2b 100644
--- a/lib/crypto/vsn.mk
+++ b/lib/crypto/vsn.mk
@@ -1 +1 @@
-CRYPTO_VSN = 1.6.4
+CRYPTO_VSN = 2.0
diff --git a/lib/dialyzer/doc/manual.txt b/lib/dialyzer/doc/manual.txt
index dac61b74b1..470ddd6c73 100644
--- a/lib/dialyzer/doc/manual.txt
+++ b/lib/dialyzer/doc/manual.txt
@@ -297,7 +297,7 @@ Option :: {files, [Filename :: string()]}
| {include_dirs, [DirName :: string()]}
| {output_file, FileName :: string()}
| {output_plt, FileName :: string()}
- | {analysis_type, 'success_typings' | 'plt_add' |
+ | {analysis_type, 'succ_typings' | 'plt_add' |
'plt_build' | 'plt_check' | 'plt_remove'}
| {warnings, [WarnOpts]}
diff --git a/lib/dialyzer/doc/src/dialyzer.xml b/lib/dialyzer/doc/src/dialyzer.xml
index 7f983a2c0d..1ec2ce830a 100644
--- a/lib/dialyzer/doc/src/dialyzer.xml
+++ b/lib/dialyzer/doc/src/dialyzer.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2006</year><year>2009</year>
+ <year>2006</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>dialyzer</title>
@@ -206,7 +206,7 @@ Option : {files, [Filename : string()]}
| {include_dirs, [DirName : string()]}
| {output_file, FileName : string()}
| {output_plt, FileName :: string()}
- | {analysis_type, 'success_typings' | 'plt_add' | 'plt_build' | 'plt_check' | 'plt_remove'}
+ | {analysis_type, 'succ_typings' | 'plt_add' | 'plt_build' | 'plt_check' | 'plt_remove'}
| {warnings, [WarnOpts]}
| {get_warnings, bool()}
diff --git a/lib/dialyzer/src/dialyzer_dataflow.erl b/lib/dialyzer/src/dialyzer_dataflow.erl
index a57d9a96c6..1ccfaaa52f 100644
--- a/lib/dialyzer/src/dialyzer_dataflow.erl
+++ b/lib/dialyzer/src/dialyzer_dataflow.erl
@@ -2290,11 +2290,11 @@ handle_guard_or(Guard, Map, Env, Eval, State) ->
end;
neg ->
{Map1, Type1} = bind_guard(Arg1, Map, Env, neg, State),
- case t_is_atom(true, Type1) of
+ case t_is_atom(false, Type1) of
false -> throw({fail, none});
true ->
{Map2, Type2} = bind_guard(Arg2, Map1, Env, neg, State),
- case t_is_atom(true, Type2) of
+ case t_is_atom(false, Type2) of
false -> throw({fail, none});
true -> {Map2, t_atom(false)}
end
diff --git a/lib/erl_interface/doc/src/ei.xml b/lib/erl_interface/doc/src/ei.xml
index 2f65a8c375..9083ae02b0 100644
--- a/lib/erl_interface/doc/src/ei.xml
+++ b/lib/erl_interface/doc/src/ei.xml
@@ -4,7 +4,7 @@
<cref>
<header>
<copyright>
- <year>2001</year><year>2009</year>
+ <year>2001</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>ei</title>
@@ -333,7 +333,7 @@ ei_encode_tuple_header(buf, &amp;i, 0);
<desc>
<p>This function encodes a list header, with a specified
arity. The next <c><![CDATA[arity+1]]></c> terms are the elements
- (actually it's <c><![CDATA[arity]]></c> cons cells) and the tail of the
+ (actually its <c><![CDATA[arity]]></c> cons cells) and the tail of the
list. Lists and tuples are encoded recursively, so that a
list may contain another list or tuple.</p>
<p>E.g. to encode the list <c><![CDATA[[c, d, [e | f]]]]></c>:</p>
diff --git a/lib/erl_interface/doc/src/erl_call.xml b/lib/erl_interface/doc/src/erl_call.xml
index 2d88e7616a..c597e11481 100644
--- a/lib/erl_interface/doc/src/erl_call.xml
+++ b/lib/erl_interface/doc/src/erl_call.xml
@@ -4,7 +4,7 @@
<comref>
<header>
<copyright>
- <year>1996</year><year>2009</year>
+ <year>1996</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>erl_call</title>
@@ -61,7 +61,7 @@
<item>
<p>(<em>optional</em>): Applies the specified function
and returns the result. <c><![CDATA[Mod]]></c> must be specified, however
- <em>[]</em> is assumed for unspecified <c><![CDATA[Fun]]></c> and <c><![CDATA[Args]]></c>. <c><![CDATA[Args]]></c> should
+ <c>start</c> and <c>[]</c> are assumed for unspecified <c><![CDATA[Fun]]></c> and <c><![CDATA[Args]]></c>, respectively. <c><![CDATA[Args]]></c> should
be in the same format as for <c><![CDATA[erlang:apply/3]]></c>. Note
that this flag takes exactly one argument, so quoting
may be necessary in order to group <c><![CDATA[Mod]]></c>, <c><![CDATA[Fun]]></c>
diff --git a/lib/erl_interface/test/ei_tmo_SUITE_data/ei_tmo_test.c b/lib/erl_interface/test/ei_tmo_SUITE_data/ei_tmo_test.c
index 2cc9af975d..db90b1810e 100644
--- a/lib/erl_interface/test/ei_tmo_SUITE_data/ei_tmo_test.c
+++ b/lib/erl_interface/test/ei_tmo_SUITE_data/ei_tmo_test.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2003-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2003-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -65,7 +65,7 @@ static void debugf_open(int number)
{
char filename[1024];
sprintf(filename,"ei_tmo_test%d.debug",number);
-#if !defined(VXWORKS) && !defined(__WIN32__) && !defined(_OSE_)
+#if !defined(VXWORKS) && !defined(__WIN32__)
close(2);
#endif
debugfile = fopen(filename,"a");
diff --git a/lib/hipe/arm/hipe_arm_pp.erl b/lib/hipe/arm/hipe_arm_pp.erl
index 7ce8421994..c4dde31188 100644
--- a/lib/hipe/arm/hipe_arm_pp.erl
+++ b/lib/hipe/arm/hipe_arm_pp.erl
@@ -1,20 +1,20 @@
%% -*- erlang-indent-level: 2 -*-
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -246,6 +246,11 @@ stop_suffix(StOp) ->
'strb' -> "b"
end.
+imm8m_decode(Value, 0) ->
+ Value;
+imm8m_decode(Value, Rot) ->
+ (Value bsr (2 * Rot)) bor (Value bsl (2 * (16 - Rot))).
+
pp_temp(Dev, Temp=#arm_temp{reg=Reg, type=Type}) ->
case hipe_arm:temp_is_precoloured(Temp) of
true ->
@@ -292,7 +297,7 @@ pp_am1(Dev, Am1) ->
io:format(Dev, "#~w", [Imm5])
end;
{Imm8,Imm4} ->
- io:format(Dev, "#~w, 2*~w", [Imm8,Imm4])
+ io:format(Dev, "#~s", [to_hex(imm8m_decode(Imm8, Imm4))])
end.
pp_am2(Dev, #am2{src=Src,sign=Sign,offset=Am2Offset}) ->
diff --git a/lib/hipe/cerl/erl_bif_types.erl b/lib/hipe/cerl/erl_bif_types.erl
index 38342870e5..be3073c0e6 100644
--- a/lib/hipe/cerl/erl_bif_types.erl
+++ b/lib/hipe/cerl/erl_bif_types.erl
@@ -851,6 +851,9 @@ type(erlang, hd, 1, Xs) ->
type(erlang, integer_to_list, 1, Xs) ->
strict(arg_types(erlang, integer_to_list, 1), Xs,
fun (_) -> t_string() end);
+type(erlang, integer_to_list, 2, Xs) ->
+ strict(arg_types(erlang, integer_to_list, 2), Xs,
+ fun (_) -> t_string() end);
type(erlang, info, 1, Xs) -> type(erlang, system_info, 1, Xs); % alias
type(erlang, iolist_size, 1, Xs) ->
strict(arg_types(erlang, iolist_size, 1), Xs,
@@ -1056,15 +1059,26 @@ type(erlang, list_to_float, 1, Xs) ->
type(erlang, list_to_integer, 1, Xs) ->
strict(arg_types(erlang, list_to_integer, 1), Xs,
fun (_) -> t_integer() end);
+type(erlang, list_to_integer, 2, Xs) ->
+ strict(arg_types(erlang, list_to_integer, 2), Xs,
+ fun (_) -> t_integer() end);
type(erlang, list_to_pid, 1, Xs) ->
strict(arg_types(erlang, list_to_pid, 1), Xs, fun (_) -> t_pid() end);
type(erlang, list_to_tuple, 1, Xs) ->
strict(arg_types(erlang, list_to_tuple, 1), Xs, fun (_) -> t_tuple() end);
-type(erlang, loaded, 0, _) ->
- t_list(t_atom());
type(erlang, load_module, 2, Xs) ->
strict(arg_types(erlang, load_module, 2), Xs,
fun ([Mod,_Bin]) -> t_code_load_return(Mod) end);
+type(erlang, load_nif, 2, Xs) ->
+ strict(arg_types(erlang, load_nif, 2), Xs,
+ fun (_) ->
+ Reason = t_atoms(['load_failed', 'bad_lib', 'load',
+ 'reload', 'upgrade', 'old_code']),
+ RsnPair = t_tuple([Reason, t_string()]),
+ t_sup(t_atom('ok'), t_tuple([t_atom('error'), RsnPair]))
+ end);
+type(erlang, loaded, 0, _) ->
+ t_list(t_atom());
type(erlang, localtime, 0, Xs) ->
type(erlang, universaltime, 0, Xs); % same
type(erlang, localtime_to_universaltime, 1, Xs) ->
@@ -3498,6 +3512,8 @@ arg_types(erlang, iolist_size, 1) ->
[t_sup(t_iolist(), t_binary())];
arg_types(erlang, integer_to_list, 1) ->
[t_integer()];
+arg_types(erlang, integer_to_list, 2) ->
+ [t_integer(), t_from_range(2, 36)];
arg_types(erlang, is_alive, 0) ->
[];
arg_types(erlang, is_atom, 1) ->
@@ -3558,14 +3574,18 @@ arg_types(erlang, list_to_float, 1) ->
[t_list(t_byte())];
arg_types(erlang, list_to_integer, 1) ->
[t_list(t_byte())];
+arg_types(erlang, list_to_integer, 2) ->
+ [t_list(t_byte()), t_from_range(2, 36)];
arg_types(erlang, list_to_pid, 1) ->
[t_string()];
arg_types(erlang, list_to_tuple, 1) ->
[t_list()];
-arg_types(erlang, loaded, 0) ->
- [];
arg_types(erlang, load_module, 2) ->
[t_atom(), t_binary()];
+arg_types(erlang, load_nif, 2) ->
+ [t_string(), t_any()];
+arg_types(erlang, loaded, 0) ->
+ [];
arg_types(erlang, localtime, 0) ->
[];
arg_types(erlang, localtime_to_universaltime, 1) ->
@@ -4534,7 +4554,7 @@ t_decode_packet_option() ->
t_tuple([t_atom('line_length'), t_non_neg_integer()])]).
t_decode_packet_type() ->
- t_sup(t_inet_setoption_packettype(), t_atom('httph')).
+ t_sup([t_inet_setoption_packettype(), t_atom('httph'), t_atom('httph_bin')]).
t_dist_exit() ->
t_sup([t_atom('kill'), t_atom('noconnection'), t_atom('normal')]).
diff --git a/lib/hipe/cerl/erl_types.erl b/lib/hipe/cerl/erl_types.erl
index b4d80d359a..f3b91b3953 100644
--- a/lib/hipe/cerl/erl_types.erl
+++ b/lib/hipe/cerl/erl_types.erl
@@ -322,7 +322,7 @@
-define(nil, #c{tag=?nil_tag}).
-define(nonempty_list(Types, Term),?list(Types, Term, ?nonempty_qual)).
-define(number(Set, Qualifier), #c{tag=?number_tag, elements=Set,
- qualifier=Qualifier}.
+ qualifier=Qualifier}).
-define(opaque(Optypes), #c{tag=?opaque_tag, elements=Optypes}).
-define(product(Types), #c{tag=?product_tag, elements=Types}).
-define(remote(RemTypes), #c{tag=?remote_tag, elements=RemTypes}).
diff --git a/lib/hipe/icode/hipe_beam_to_icode.erl b/lib/hipe/icode/hipe_beam_to_icode.erl
index 3923e98673..b9679fbb12 100644
--- a/lib/hipe/icode/hipe_beam_to_icode.erl
+++ b/lib/hipe/icode/hipe_beam_to_icode.erl
@@ -1,20 +1,20 @@
%% -*- erlang-indent-level: 2 -*-
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%=======================================================================
@@ -22,8 +22,6 @@
%% Author : Kostis Sagonas
%% Description : Translates symbolic BEAM code to Icode
%%=======================================================================
-%% $Id$
-%%=======================================================================
%% @doc
%% This file translates symbolic BEAM code to Icode which is HiPE's
%% intermediate code representation. Either the code of an entire
@@ -431,6 +429,11 @@ trans_fun([{wait_timeout,{_,Lbl},Reg}|Instructions], Env) ->
SuspTmout = hipe_icode:mk_if(suspend_msg_timeout,[],
map_label(Lbl),hipe_icode:label_name(DoneLbl)),
Movs ++ [SetTmout, SuspTmout, DoneLbl | trans_fun(Instructions,Env1)];
+%%--- recv_mark/1 & recv_set/1 --- XXX: Handle better??
+trans_fun([{recv_mark,{f,_}}|Instructions], Env) ->
+ trans_fun(Instructions,Env);
+trans_fun([{recv_set,{f,_}}|Instructions], Env) ->
+ trans_fun(Instructions,Env);
%%--------------------------------------------------------------------
%%--- Translation of arithmetics {bif,ArithOp, ...} ---
%%--------------------------------------------------------------------
diff --git a/lib/hipe/icode/hipe_icode.erl b/lib/hipe/icode/hipe_icode.erl
index a4614d7237..3e211bf385 100644
--- a/lib/hipe/icode/hipe_icode.erl
+++ b/lib/hipe/icode/hipe_icode.erl
@@ -1,20 +1,20 @@
%% -*- erlang-indent-level: 2 -*-
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1578,27 +1578,19 @@ redirect_jmp(Jmp, ToOld, ToNew) ->
_ -> Jmp
end
end,
- simplify_branch(NewI).
-
-%%
-%% @doc Turns a branch into a goto if it has only one successor and it
-%% is safe to do so.
-%%
-
--spec simplify_branch(icode_instr()) -> icode_instr().
-
-simplify_branch(I) ->
- case ordsets:from_list(successors(I)) of
+ %% Turn a branch into a goto if it has only one successor and it is
+ %% safe to do so.
+ case ordsets:from_list(successors(NewI)) of
[Label] ->
Goto = mk_goto(Label),
- case I of
- #icode_type{} -> Goto;
+ case NewI of
#icode_if{} -> Goto;
#icode_switch_tuple_arity{} -> Goto;
#icode_switch_val{} -> Goto;
- _ -> I
+ #icode_type{} -> Goto;
+ _ -> NewI
end;
- _ -> I
+ _ -> NewI
end.
%%
diff --git a/lib/ic/doc/src/Makefile b/lib/ic/doc/src/Makefile
index fb82531dfa..8eda436a24 100644
--- a/lib/ic/doc/src/Makefile
+++ b/lib/ic/doc/src/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1998-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1998-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
#
diff --git a/lib/ic/doc/src/ch_c_mapping.xml b/lib/ic/doc/src/ch_c_mapping.xml
index f5a921bfd2..23a9361c2c 100644
--- a/lib/ic/doc/src/ch_c_mapping.xml
+++ b/lib/ic/doc/src/ch_c_mapping.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>1998</year><year>2009</year>
+ <year>1998</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>IDL to C mapping</title>
@@ -804,7 +804,7 @@ CORBA_Environment* oe_env)
octets</p>
</item>
</list>
- <p>The erlang binary IDL type is defined in <c>erlang.idl</c>, while it's
+ <p>The erlang binary IDL type is defined in <c>erlang.idl</c>, while its
C definition is located in the <c>ic.h</c> header file, both in the
<c><![CDATA[IC-< vsn >/include]]></c> directory.
The user will have to include the file <c>erlang.idl</c> in order to use the
diff --git a/lib/inets/doc/src/http_server.xml b/lib/inets/doc/src/http_server.xml
index 547617e2e3..01e0b47d37 100644
--- a/lib/inets/doc/src/http_server.xml
+++ b/lib/inets/doc/src/http_server.xml
@@ -357,7 +357,7 @@ UserName:Password
<p>The mod_cgi module makes it possible to execute CGI scripts
in the server. A file that matches the definition of a
ScriptAlias config directive is treated as a CGI script. A CGI
- script is executed by the server and it's output is returned to
+ script is executed by the server and its output is returned to
the client. </p>
<p>The CGI Script response comprises a message-header and a
message-body, separated by a blank line. The message-header
diff --git a/lib/inets/doc/src/httpc.xml b/lib/inets/doc/src/httpc.xml
index ca93190f61..7430a62b1b 100644
--- a/lib/inets/doc/src/httpc.xml
+++ b/lib/inets/doc/src/httpc.xml
@@ -191,7 +191,8 @@ ssl_options() = {verify, code()} |
<v>Result = {status_line(), headers(), body()} |
{status_code(), body()} | request_id() </v>
<v>Profile = profile() </v>
- <v>Reason = term() </v>
+ <v>Reason = {connect_failed, term()} |
+ {send_failed, term()} | term() </v>
</type>
<desc>
diff --git a/lib/inets/doc/src/httpd_util.xml b/lib/inets/doc/src/httpd_util.xml
index 642e5213b0..6ac2b13c72 100644
--- a/lib/inets/doc/src/httpd_util.xml
+++ b/lib/inets/doc/src/httpd_util.xml
@@ -63,7 +63,7 @@
<v>Etag = string()</v>
</type>
<desc>
- <p><c>create_etag/1</c> calculates the Etag for a file, from it's
+ <p><c>create_etag/1</c> calculates the Etag for a file, from its
size and time for last modification. fileinfo is a record defined
in <c>kernel/include/file.hrl</c></p>
@@ -78,7 +78,7 @@
<v>HexValue = DecValue = string()</v>
</type>
<desc>
- <p>Converts the hexadecimal value <c>HexValue</c> into it's
+ <p>Converts the hexadecimal value <c>HexValue</c> into its
decimal equivalent (<c>DecValue</c>).</p>
<marker id="day"></marker>
diff --git a/lib/inets/doc/src/mod_security.xml b/lib/inets/doc/src/mod_security.xml
index 5f9f88071e..2a871d29d8 100644
--- a/lib/inets/doc/src/mod_security.xml
+++ b/lib/inets/doc/src/mod_security.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1998</year><year>2009</year>
+ <year>1998</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>mod_security</title>
@@ -117,11 +117,14 @@
<section>
<marker id="callback_module"></marker>
<title>The SecurityCallbackModule</title>
- <p>The SecurityCallbackModule is a user written module that can receive events from
- the mod_security Erlang Webserver API module. This module only exports one function,
- <seealso marker="#callback_module_event">event/4</seealso>, which is described below.
+ <p>The SecurityCallbackModule is a user written module that can receive
+ events from the mod_security Erlang Webserver API module.
+ This module only exports the function(s),
+ <seealso marker="#callback_module_event">event/4,5</seealso>,
+ which are described below.
</p>
</section>
+
<funcs>
<func>
<name>event(What, Port, Dir, Data) -> ignored</name>
@@ -131,7 +134,7 @@
<v>What = atom()</v>
<v>Port = integer()</v>
<v>Address = {A,B,C,D} | string() &lt;v>Dir = string()</v>
- <v>What = [Info]</v>
+ <v>Data = [Info]</v>
<v>Info = {Name, Value}</v>
</type>
<desc>
diff --git a/lib/inets/doc/src/notes.xml b/lib/inets/doc/src/notes.xml
index 0c524f00d1..3216b0c2cd 100644
--- a/lib/inets/doc/src/notes.xml
+++ b/lib/inets/doc/src/notes.xml
@@ -32,6 +32,122 @@
<file>notes.xml</file>
</header>
+ <section><title>Inets 5.3.2</title>
+
+ <section><title>Improvements and New Features</title>
+ <p>-</p>
+
+<!--
+ <list>
+ <item>
+ <p>[httpc] - Allow users to pass socket options to the transport
+ module when making requests. </p>
+ <p>See the <c>socket_opts</c> option in the
+ <seealso marker="httpc#request2">request/4</seealso> or
+ <seealso marker="httpc#set_options">set_options/1,2</seealso>
+ for more info, </p>
+ <p>Own Id: OTP-8352</p>
+ </item>
+
+ </list>
+-->
+ </section>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+
+<!--
+ <p>-</p>
+-->
+
+ <list>
+ <item>
+ <p>[httpc] - Memory leak plugged.
+ The profile manager never cleaned up in its handler database.
+ This meant that with each new request handler, another entry
+ was created that was never deleted. Eventually the request
+ id counter (used as a key) would wrap, but the machine would
+ most likely run out of memory before that happened.</p>
+ <p>Own Id: OTP-8542</p>
+ <p>Lev Walkin</p>
+ </item>
+
+ <item>
+ <p>[httpc] - https requests with default port (443) not handled
+ properly. </p>
+ <p>Own Id: OTP-8607</p>
+ <p>jebu ittiachen</p>
+ </item>
+
+ </list>
+ </section>
+
+ </section> <!-- 5.3.2 -->
+
+
+ <section><title>Inets 5.3.1</title>
+
+ <section><title>Improvements and New Features</title>
+ <p>-</p>
+
+<!--
+ <list>
+ <item>
+ <p>[httpc] - Allow users to pass socket options to the transport
+ module when making requests. </p>
+ <p>See the <c>socket_opts</c> option in the
+ <seealso marker="httpc#request2">request/4</seealso> or
+ <seealso marker="httpc#set_options">set_options/1,2</seealso>
+ for more info, </p>
+ <p>Own Id: OTP-8352</p>
+ </item>
+
+ </list>
+-->
+ </section>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+
+<!--
+ <p>-</p>
+-->
+
+ <list>
+ <item>
+ <p>[httpc] - Badly formated error reason for errors occuring
+ during initial connect to a server.
+ Also, the possible error reasons was
+ not properly documented.</p>
+ <p>Own Id: OTP-8508</p>
+ <p>Aux Id: seq11407</p>
+ </item>
+
+ <item>
+ <p>[httpd] - Issues with ESI erl_script_timeout. </p>
+ <p>
+ <list type="bulleted">
+ <item>
+ <p>The <c>erl_script_timeout</c> config option is ducumented
+ as a number of seconds. But when parsing the config, in the
+ new format (not a config file), it was handled as if in
+ number of milliseconds. </p>
+ </item>
+ <item>
+ <p>When the erl-script-timeout time was exceeded, the server
+ incorrectly marked the answer as sent, thereby leaving
+ client hanging (with an incomplete answer).
+ This has been changed, so that now the socket will be
+ closed. </p>
+ </item>
+ </list>
+ </p>
+ <p>Own Id: OTP-8509</p>
+ </item>
+ </list>
+ </section>
+
+ </section> <!-- 5.3.1 -->
+
+
<section><title>Inets 5.3</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/inets/src/http_client/httpc.erl b/lib/inets/src/http_client/httpc.erl
index 5205605e0a..6deeab6948 100644
--- a/lib/inets/src/http_client/httpc.erl
+++ b/lib/inets/src/http_client/httpc.erl
@@ -432,7 +432,7 @@ handle_request(Method, Url,
Options = request_options(Options0),
Sync = proplists:get_value(sync, Options),
Stream = proplists:get_value(stream, Options),
- Host2 = header_host(Host, Port),
+ Host2 = header_host(Scheme, Host, Port),
HeadersRecord = header_record(NewHeaders, Host2, HTTPOptions),
Receiver = proplists:get_value(receiver, Options),
SocketOpts = proplists:get_value(socket_opts, Options),
@@ -895,9 +895,11 @@ bad_option(Option, BadValue) ->
throw({error, {bad_option, Option, BadValue}}).
-header_host(Host, 80 = _Port) ->
+header_host(https, Host, 443 = _Port) ->
Host;
-header_host(Host, Port) ->
+header_host(http, Host, 80 = _Port) ->
+ Host;
+header_host(_Scheme, Host, Port) ->
Host ++ ":" ++ integer_to_list(Port).
diff --git a/lib/inets/src/http_client/httpc_handler.erl b/lib/inets/src/http_client/httpc_handler.erl
index 31585537d4..5e79d874fb 100644
--- a/lib/inets/src/http_client/httpc_handler.erl
+++ b/lib/inets/src/http_client/httpc_handler.erl
@@ -280,7 +280,7 @@ handle_call({connect_and_send, #request{address = Address0,
{ok, NewState} ->
{reply, ok, NewState};
{stop, Error, NewState} ->
- {stop, Error, Error, NewState}
+ {stop, normal, Error, NewState}
end
end;
@@ -675,6 +675,24 @@ handle_info({'EXIT', _, _}, State) ->
%%--------------------------------------------------------------------
%% Init error there is no socket to be closed.
+terminate(normal,
+ #state{request = Request,
+ session = {send_failed, AReason} = Reason} = State) ->
+ ?hcrd("terminate", [{send_reason, AReason}, {request, Request}]),
+ maybe_send_answer(Request,
+ httpc_response:error(Request, Reason),
+ State),
+ ok;
+
+terminate(normal,
+ #state{request = Request,
+ session = {connect_failed, AReason} = Reason} = State) ->
+ ?hcrd("terminate", [{connect_reason, AReason}, {request, Request}]),
+ maybe_send_answer(Request,
+ httpc_response:error(Request, Reason),
+ State),
+ ok;
+
terminate(normal, #state{session = undefined}) ->
ok;
@@ -886,18 +904,17 @@ connect_and_send_first_request(Address,
NewState = activate_request_timeout(TmpState),
{ok, NewState};
- {error, Reason} ->
+ {error, Reason} = Error ->
?hcrv("failed sending request", [{reason, Reason}]),
- Error = {error, {send_failed,
- httpc_response:error(Request, Reason)}},
- {stop, Error, State#state{request = Request}}
+ {stop, Error,
+ State#state{session = {send_failed, Reason},
+ request = Request}}
end;
- {error, Reason} ->
+ {error, Reason} = Error ->
?hcri("connect failed", [{reason, Reason}]),
- Error = {error, {connect_failed,
- httpc_response:error(Request, Reason)}},
- {stop, Error, State#state{request = Request}}
+ {stop, Error, State#state{session = {connect_failed, Reason},
+ request = Request}}
end.
@@ -1407,14 +1424,16 @@ try_to_enable_pipeline_or_keep_alive(
State#state{status = close}
end.
-answer_request(Request, Msg, #state{timers = Timers} = State) ->
+answer_request(#request{id = RequestId, from = From} = Request, Msg,
+ #state{timers = Timers, profile_name = ProfileName} = State) ->
?hcrt("answer request", [{request, Request}]),
- httpc_response:send(Request#request.from, Msg),
+ httpc_response:send(From, Msg),
RequestTimers = Timers#timers.request_timers,
TimerRef =
- proplists:get_value(Request#request.id, RequestTimers, undefined),
- Timer = {Request#request.id, TimerRef},
+ proplists:get_value(RequestId, RequestTimers, undefined),
+ Timer = {RequestId, TimerRef},
cancel_timer(TimerRef, {timeout, Request#request.id}),
+ httpc_manager:request_done(RequestId, ProfileName),
State#state{request = Request#request{from = answer_sent},
timers =
Timers#timers{request_timers =
diff --git a/lib/inets/src/http_client/httpc_manager.erl b/lib/inets/src/http_client/httpc_manager.erl
index f3cd81f4a7..b278077a66 100644
--- a/lib/inets/src/http_client/httpc_manager.erl
+++ b/lib/inets/src/http_client/httpc_manager.erl
@@ -30,6 +30,7 @@
request/2,
cancel_request/2,
request_canceled/2,
+ request_done/2,
retry_request/2,
redirect_request/2,
insert_session/2,
@@ -171,6 +172,18 @@ request_canceled(RequestId, ProfileName) ->
%%--------------------------------------------------------------------
+%% Function: request_done(RequestId, ProfileName) -> ok
+%% RequestId - ref()
+%% ProfileName = atom()
+%%
+%% Description: Inform tha manager that a request has been completed.
+%%--------------------------------------------------------------------
+
+request_done(RequestId, ProfileName) ->
+ cast(ProfileName, {request_done, RequestId}).
+
+
+%%--------------------------------------------------------------------
%% Function: insert_session(Session, ProfileName) -> _
%% Session - #tcp_session{}
%% ProfileName - atom()
@@ -486,6 +499,11 @@ handle_cast({request_canceled, RequestId}, State) ->
{noreply, State}
end;
+handle_cast({request_done, RequestId}, State) ->
+ ?hcrv("request done", [{request_id, RequestId}]),
+ ets:delete(State#state.handler_db, RequestId),
+ {noreply, State};
+
handle_cast({set_options, Options}, State = #state{options = OldOptions}) ->
?hcrv("set options", [{options, Options}, {old_options, OldOptions}]),
NewOptions =
diff --git a/lib/inets/src/http_server/httpd_conf.erl b/lib/inets/src/http_server/httpd_conf.erl
index 3e498d1db7..5ca2e47eb5 100644
--- a/lib/inets/src/http_server/httpd_conf.erl
+++ b/lib/inets/src/http_server/httpd_conf.erl
@@ -354,7 +354,7 @@ load("DocumentRoot " ++ DocumentRoot,[]) ->
{ok, Directory} ->
{ok, [], {document_root,string:strip(Directory,right,$/)}};
{error, _} ->
- {error, ?NICE(clean(DocumentRoot)++"is an invalid DocumentRoot")}
+ {error, ?NICE(clean(DocumentRoot)++" is an invalid DocumentRoot")}
end;
load("DefaultType " ++ DefaultType, []) ->
{ok, [], {default_type,clean(DefaultType)}};
diff --git a/lib/inets/src/http_server/mod_esi.erl b/lib/inets/src/http_server/mod_esi.erl
index 484d4b3fb4..cb33544540 100644
--- a/lib/inets/src/http_server/mod_esi.erl
+++ b/lib/inets/src/http_server/mod_esi.erl
@@ -33,6 +33,7 @@
-define(VMODULE,"ESI").
-define(DEFAULT_ERL_TIMEOUT,15000).
+
%%%=========================================================================
%%% API
%%%=========================================================================
@@ -52,6 +53,7 @@ deliver(SessionID, Data) when is_pid(SessionID) ->
deliver(_SessionID, _Data) ->
{error, bad_sessionID}.
+
%%%=========================================================================
%%% CALLBACK API
%%%=========================================================================
@@ -74,6 +76,8 @@ do(ModData) ->
{proceed, ModData#mod.data}
end
end.
+
+
%%--------------------------------------------------------------------------
%% load(Line, Context) -> eof | ok | {ok, NewContext} |
%% {ok, NewContext, Directive} |
@@ -127,6 +131,7 @@ load("ErlScriptNoCache " ++ CacheArg, [])->
" is an invalid ErlScriptNoCache directive")}
end.
+
%%--------------------------------------------------------------------------
%% store(Directive, DirectiveList) -> {ok, NewDirective} |
%% {ok, [NewDirective]} |
@@ -163,16 +168,18 @@ store({eval_script_alias, {Name, Modules}} = Conf, _)
store({erl_script_alias, Value}, _) ->
{error, {wrong_type, {erl_script_alias, Value}}};
-store({erl_script_timeout, Value} = Conf, _)
- when is_integer(Value), Value >= 0 ->
- {ok, Conf};
+store({erl_script_timeout, TimeoutSec}, _)
+ when is_integer(TimeoutSec) andalso (TimeoutSec >= 0) ->
+ {ok, {erl_script_timeout, TimeoutSec * 1000}};
store({erl_script_timeout, Value}, _) ->
{error, {wrong_type, {erl_script_timeout, Value}}};
-store({erl_script_nocache, Value} = Conf, _) when Value == true;
- Value == false ->
+store({erl_script_nocache, Value} = Conf, _)
+ when (Value =:= true) orelse (Value =:= false) ->
{ok, Conf};
store({erl_script_nocache, Value}, _) ->
{error, {wrong_type, {erl_script_nocache, Value}}}.
+
+
%%%========================================================================
%%% Internal functions
%%%========================================================================
@@ -227,7 +234,7 @@ alias_match_str(Alias, eval_script_alias) ->
%%------------------------ Erl mechanism --------------------------------
erl(#mod{method = Method} = ModData, ESIBody, Modules)
- when Method == "GET"; Method == "HEAD"->
+ when (Method =:= "GET") orelse (Method =:= "HEAD") ->
case httpd_util:split(ESIBody,":|%3A|/",2) of
{ok, [ModuleName, FuncAndInput]} ->
case httpd_util:split(FuncAndInput,"[\?/]",2) of
@@ -347,7 +354,7 @@ erl_scheme_webpage_chunk(Mod, Func, Env, Input, ModData) ->
Pid = spawn_link(
fun() ->
case catch Mod:Func(Self, Env, Input) of
- {'EXIT',{undef,_}} ->
+ {'EXIT', {undef,_}} ->
%% Will force fallback on the old API
exit(erl_scheme_webpage_chunk_undefined);
_ ->
@@ -430,11 +437,12 @@ handle_body(Pid, ModData, Body, Timeout, Size, IsDisableChunkedSend) ->
{proceed, [{response, {already_sent, 200, Size}} |
ModData#mod.data]};
{'EXIT', Pid, Reason} when is_pid(Pid) ->
+ httpd_response:send_final_chunk(ModData, IsDisableChunkedSend),
exit({mod_esi_linked_process_died, Pid, Reason})
after Timeout ->
process_flag(trap_exit,false),
- {proceed,[{response, {already_sent, 200, Size}} |
- ModData#mod.data]}
+ httpd_response:send_final_chunk(ModData, IsDisableChunkedSend),
+ exit({mod_esi_linked_process_timeout, Pid})
end.
erl_script_timeout(Db) ->
diff --git a/lib/inets/src/inets_app/inets.appup.src b/lib/inets/src/inets_app/inets.appup.src
index 2efa7ccb60..dfdfb41373 100644
--- a/lib/inets/src/inets_app/inets.appup.src
+++ b/lib/inets/src/inets_app/inets.appup.src
@@ -18,6 +18,21 @@
{"%VSN%",
[
+ {"5.3.1",
+ [
+ {load_module, httpc, soft_purge, soft_purge, []},
+ {update, httpc_handler, soft, soft_purge, soft_purge, [httpc_manager]},
+ {update, httpc_manager, soft, soft_purge, soft_purge, []}
+ ]
+ },
+ {"5.3",
+ [
+ {load_module, httpc, soft_purge, soft_purge, []},
+ {update, httpc_handler, soft, soft_purge, soft_purge, [httpc_manager]},
+ {update, httpc_manager, soft, soft_purge, soft_purge, []},
+ {load_module, mod_esi, soft_purge, soft_purge, []}
+ ]
+ },
{"5.2",
[
{restart_application, inets}
@@ -35,6 +50,21 @@
}
],
[
+ {"5.3.1",
+ [
+ {load_module, httpc, soft_purge, soft_purge, []},
+ {update, httpc_handler, soft, soft_purge, soft_purge, [httpc_manager]},
+ {update, httpc_manager, soft, soft_purge, soft_purge, []}
+ ]
+ },
+ {"5.3",
+ [
+ {load_module, httpc, soft_purge, soft_purge, []},
+ {update, httpc_handler, soft, soft_purge, soft_purge, [httpc_manager]},
+ {update, httpc_manager, soft, soft_purge, soft_purge, []},
+ {load_module, mod_esi, soft_purge, soft_purge, []}
+ ]
+ },
{"5.2",
[
{restart_application, inets}
diff --git a/lib/inets/vsn.mk b/lib/inets/vsn.mk
index 23de8906e7..7776bef0a5 100644
--- a/lib/inets/vsn.mk
+++ b/lib/inets/vsn.mk
@@ -18,11 +18,17 @@
# %CopyrightEnd%
APPLICATION = inets
-INETS_VSN = 5.3
+INETS_VSN = 5.3.2
PRE_VSN =
APP_VSN = "$(APPLICATION)-$(INETS_VSN)$(PRE_VSN)"
-TICKETS = \
+TICKETS = OTP-8542 OTP-8607
+
+TICKETS_5_3_1 = \
+ OTP-8508 \
+ OTP-8509
+
+TICKETS_5_3 = \
OTP-8016 \
OTP-8056 \
OTP-8103 \
diff --git a/lib/kernel/doc/src/application.xml b/lib/kernel/doc/src/application.xml
index 08ef0b1e52..47d578a339 100644
--- a/lib/kernel/doc/src/application.xml
+++ b/lib/kernel/doc/src/application.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1996</year><year>2009</year>
+ <year>1996</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>application</title>
@@ -503,7 +503,7 @@ Nodes = [cp1@cave, {cp2@cave, cp3@cave}]</code>
the tree.</p>
<p><c>StartType</c> defines the type of start:</p>
<list type="bulleted">
- <item><c>normal</c> if its a normal startup.</item>
+ <item><c>normal</c> if it's a normal startup.</item>
<item><c>normal</c> also if the application is distributed and
started at the current node due to a failover from another
node, and the application specification key <c>start_phases == undefined</c>.</item>
diff --git a/lib/kernel/doc/src/erl_ddll.xml b/lib/kernel/doc/src/erl_ddll.xml
index 75dca8a85d..4e65bf46f8 100644
--- a/lib/kernel/doc/src/erl_ddll.xml
+++ b/lib/kernel/doc/src/erl_ddll.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1997</year><year>2009</year>
+ <year>1997</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>erl_ddll</title>
@@ -730,7 +730,7 @@
extension suffix, i.e. <c>.so</c>). The name by which
the driver identifies itself must also be consistent
with this <c>Name</c> parameter, much as a beam-file's
- module name much correspond to it's filename.</p>
+ module name much correspond to its filename.</p>
</item>
<tag><em>OptionList</em></tag>
<item>
@@ -742,8 +742,8 @@
<tag><em>{driver_options, DriverOptionsList}</em></tag>
<item>
<p>This option is to provide options that will change
- it's general behavior and will "stick" to the driver
- throughout it's lifespan.</p>
+ its general behavior and will "stick" to the driver
+ throughout its lifespan.</p>
<p>The driver options for a given driver name need
always to be consistent, <em>even when the driver is reloaded</em>, meaning that they are as much a part
of the driver as the actual name.</p>
diff --git a/lib/kernel/doc/src/file.xml b/lib/kernel/doc/src/file.xml
index f9f5443f68..50f9722a1c 100644
--- a/lib/kernel/doc/src/file.xml
+++ b/lib/kernel/doc/src/file.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1996</year><year>2009</year>
+ <year>1996</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>file</title>
@@ -75,6 +75,19 @@ time() = {{Year, Month, Day}, {Hour, Minute, Second}}
</desc>
</func>
<func>
+ <name>change_mode(Filename, Mode) -> ok | {error, Reason}</name>
+ <fsummary>Change permissions of a file</fsummary>
+ <type>
+ <v>Filename = name()</v>
+ <v>Mode = int()</v>
+ <v>Reason = ext_posix()</v>
+ </type>
+ <desc>
+ <p>Changes permissions of a file. See
+ <seealso marker="#write_file_info/2">write_file_info/2</seealso>.</p>
+ </desc>
+ </func>
+ <func>
<name>change_owner(Filename, Uid) -> ok | {error, Reason}</name>
<fsummary>Change owner of a file</fsummary>
<type>
diff --git a/lib/kernel/doc/src/inet.xml b/lib/kernel/doc/src/inet.xml
index f502b30c8d..2ae230152c 100644
--- a/lib/kernel/doc/src/inet.xml
+++ b/lib/kernel/doc/src/inet.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1997</year><year>2009</year>
+ <year>1997</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>inet</title>
@@ -221,7 +221,7 @@ fe80::204:acff:fe17:bf38
</desc>
</func>
<func>
- <name>getopts(Socket, Options) -> OptionValues | {error, posix()}</name>
+ <name>getopts(Socket, Options) -> {ok, OptionValues} | {error, posix()}</name>
<fsummary>Get one or more options for a socket</fsummary>
<type>
<v>Socket = term()</v>
diff --git a/lib/kernel/doc/src/notes.xml b/lib/kernel/doc/src/notes.xml
index 7bb6aea40e..9c3f6524ae 100644
--- a/lib/kernel/doc/src/notes.xml
+++ b/lib/kernel/doc/src/notes.xml
@@ -30,6 +30,22 @@
</header>
<p>This document describes the changes made to the Kernel application.</p>
+<section><title>Kernel 2.13.5.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ A race condition in <c>os:cmd/1</c> could cause the
+ caller to get stuck in <c>os:cmd/1</c> forever.</p>
+ <p>
+ Own Id: OTP-8502</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Kernel 2.13.5</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/kernel/include/file.hrl b/lib/kernel/include/file.hrl
index c1de4d764d..3889bce393 100644
--- a/lib/kernel/include/file.hrl
+++ b/lib/kernel/include/file.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -21,29 +21,18 @@
-define(FILE_HRL_, 1).
%%--------------------------------------------------------------------------
-%%-type namelist() :: [char() | atom() | namelist()].
--type namelist() :: [_]. %% XXX: GROSS OVERAPPROXIMATION -- FIX ME
--type name() :: string() | atom() | namelist().
--type posix() :: atom().
-
--type date() :: {pos_integer(), pos_integer(), pos_integer()}.
--type time() :: {non_neg_integer(), non_neg_integer(), non_neg_integer()}.
--type date_time() :: {date(), time()}.
-
-%%--------------------------------------------------------------------------
-
-record(file_info,
{size :: non_neg_integer(), % Size of file in bytes.
type :: 'device' | 'directory' | 'other' | 'regular' | 'symlink',
access :: 'read' | 'write' | 'read_write' | 'none',
- atime :: date_time(), % The local time the file was last read:
- % {{Year, Mon, Day}, {Hour, Min, Sec}}.
- mtime :: date_time(), % The local time the file was last written.
- ctime :: date_time(), % The interpretation of this time field
- % is dependent on operating system.
- % On Unix it is the last time the file or
- % or the inode was changed. On Windows,
- % it is the creation time.
+ atime :: file:date_time(), % The local time the file was last read:
+ % {{Year, Mon, Day}, {Hour, Min, Sec}}.
+ mtime :: file:date_time(), % The local time the file was last written.
+ ctime :: file:date_time(), % The interpretation of this time field
+ % is dependent on operating system.
+ % On Unix it is the last time the file
+ % or the inode was changed. On Windows,
+ % it is the creation time.
mode :: integer(), % File permissions. On Windows,
% the owner permissions will be
% duplicated for group and user.
@@ -61,10 +50,8 @@
-record(file_descriptor,
- {module :: module(), % Module that handles this kind of file
+ {module :: module(), % Module that handles this kind of file
data :: term()}). % Module dependent data
--type fd() :: pid() | #file_descriptor{}.
-
%%--------------------------------------------------------------------------
-endif.
diff --git a/lib/kernel/src/application_controller.erl b/lib/kernel/src/application_controller.erl
index 7c1f059875..42f527f400 100644
--- a/lib/kernel/src/application_controller.erl
+++ b/lib/kernel/src/application_controller.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(application_controller).
@@ -40,7 +40,7 @@
-export([test_change_apps/2]).
-import(lists, [zf/2, map/2, foreach/2, foldl/3,
- keysearch/3, keydelete/3, keyreplace/4]).
+ keyfind/3, keydelete/3, keyreplace/4]).
-include("application_master.hrl").
@@ -128,8 +128,13 @@
%% AppName = atom()
%% Application = App | AppName
%%-----------------------------------------------------------------
+
+-type appname() :: atom().
+
-record(state, {loading = [], starting = [], start_p_false = [], running = [],
control = [], started = [], start_req = [], conf_data}).
+-type state() :: #state{}.
+
%%-----------------------------------------------------------------
%% loading = [{AppName, From}] - Load not yet finished
%% starting = [{AppName, RestartType, Type, From}] - Start not
@@ -519,7 +524,9 @@ init(Init, Kernel) ->
end.
-%% Check the syntax of the .config file [{ApplicationName, [{Parameter, Value}]}].
+%% Check the syntax of the .config file
+%% [{ApplicationName, [{Parameter, Value}]}].
+
check_conf_data([]) ->
ok;
check_conf_data(ConfData) when is_list(ConfData) ->
@@ -563,8 +570,8 @@ check_para_kernel([]) ->
ok;
check_para_kernel([{distributed, Apps} | ParaList]) when is_list(Apps) ->
case check_distributed(Apps) of
- {error, ErrorMsg} ->
- {error, ErrorMsg};
+ {error, _ErrorMsg} = Error ->
+ Error;
_ ->
check_para_kernel(ParaList)
end;
@@ -604,6 +611,19 @@ check_para([Else | _ParaList], AppName) ->
lists:flatten(io_lib:format("~p",[Else]))}.
+-type calls() :: 'info' | 'prep_config_change' | 'which_applications'
+ | {'config_change' | 'control_application' |
+ 'load_application' | 'start_type' | 'stop_application' |
+ 'unload_application', term()}
+ | {'change_application_data', _, _}
+ | {'permit_application', atom() | {'application',atom(),_},_}
+ | {'start_application', _, _}
+ | {'unset_env', _, _}
+ | {'set_env', _, _, _}.
+
+-spec handle_call(calls(), {pid(), term()}, state()) ->
+ {'noreply', state()} | {'reply', term(), state()}.
+
handle_call({load_application, Application}, From, S) ->
case catch do_load_application(Application, S) of
{ok, NewS} ->
@@ -615,9 +635,9 @@ handle_call({load_application, Application}, From, S) ->
false ->
{reply, ok, NewS}
end;
- {error, Error} ->
- {reply, {error, Error}, S};
- {'EXIT',R} ->
+ {error, _} = Error ->
+ {reply, Error, S};
+ {'EXIT', R} ->
{reply, {error, R}, S}
end;
@@ -642,7 +662,7 @@ handle_call({start_application, AppName, RestartType}, From, S) ->
%% Incase of erroneous variables do not start the application,
%% if the application is permanent crash the node.
%% Check if the application is already starting.
- case lists:keysearch(AppName, 1, Start_req) of
+ case lists:keyfind(AppName, 1, Start_req) of
false ->
case catch check_start_cond(AppName, RestartType, Started, Running) of
{ok, Appl} ->
@@ -671,13 +691,12 @@ handle_call({start_application, AppName, RestartType}, From, S) ->
{reply, ok, SS}
end
end;
- {error, R} ->
- {reply, {error, R}, S}
+ {error, _R} = Error ->
+ {reply, Error, S}
end;
- {value, {AppName, _FromX}} ->
+ {AppName, _FromX} ->
SS = S#state{start_req = [{AppName, From} | Start_req]},
{noreply, SS}
-
end;
handle_call({permit_application, AppName, Bool}, From, S) ->
@@ -751,11 +770,11 @@ handle_call({permit_application, AppName, Bool}, From, S) ->
{noreply, SS};
%%==========================
- %% unpermit the applicaition
+ %% unpermit the application
%%==========================
%% running
{false, _, _, _, _, {value, {_AppName, Id}}} ->
- {value, {_AppName2, Type}} = keysearch(AppName, 1, Started),
+ {_AppName2, Type} = lists:keyfind(AppName, 1, Started),
stop_appl(AppName, Id, Type),
NRunning = keydelete(AppName, 1, Running),
{reply, ok, S#state{running = NRunning}};
@@ -785,9 +804,9 @@ handle_call({permit_application, AppName, Bool}, From, S) ->
handle_call({stop_application, AppName}, _From, S) ->
#state{running = Running, started = Started} = S,
- case keysearch(AppName, 1, Running) of
- {value, {_AppName, Id}} ->
- {value, {_AppName2, Type}} = keysearch(AppName, 1, Started),
+ case lists:keyfind(AppName, 1, Running) of
+ {_AppName, Id} ->
+ {_AppName2, Type} = lists:keyfind(AppName, 1, Started),
stop_appl(AppName, Id, Type),
NRunning = keydelete(AppName, 1, Running),
NStarted = keydelete(AppName, 1, Started),
@@ -813,8 +832,8 @@ handle_call({change_application_data, Applications, Config}, _From, S) ->
end,
[]),
case catch do_change_apps(Applications, Config, OldAppls) of
- {error, R} ->
- {reply, {error, R}, S};
+ {error, _} = Error ->
+ {reply, Error, S};
{'EXIT', R} ->
{reply, {error, R}, S};
NewAppls ->
@@ -868,10 +887,10 @@ handle_call({control_application, AppName}, {Pid, _Tag}, S) ->
handle_call({start_type, AppName}, _From, S) ->
Starting = S#state.starting,
- StartType = case keysearch(AppName, 1, Starting) of
+ StartType = case lists:keyfind(AppName, 1, Starting) of
false ->
local;
- {value, {_AppName, _RestartType, Type, _F}} ->
+ {_AppName, _RestartType, Type, _F} ->
Type
end,
{reply, StartType, S};
@@ -885,6 +904,9 @@ handle_call(info, _From, S) ->
{starting, S#state.starting}],
{reply, Reply, S}.
+-spec handle_cast({'application_started', appname(), _}, state()) ->
+ {'noreply', state()} | {'stop', string(), state()}.
+
handle_cast({application_started, AppName, Res}, S) ->
handle_application_started(AppName, Res, S).
@@ -892,7 +914,7 @@ handle_application_started(AppName, Res, S) ->
#state{starting = Starting, running = Running, started = Started,
start_req = Start_req} = S,
Start_reqN = reply_to_requester(AppName, Start_req, Res),
- {value, {_AppName, RestartType, _Type, _From}} = keysearch(AppName, 1, Starting),
+ {_AppName, RestartType, _Type, _From} = lists:keyfind(AppName, 1, Starting),
case Res of
{ok, Id} ->
case AppName of
@@ -907,7 +929,6 @@ handle_application_started(AppName, Res, S) ->
running = NRunning,
started = NStarted,
start_req = Start_reqN},
-
%% The permission may have been changed during start
Perm = application:get_env(kernel, permissions),
case {Perm, Id} of
@@ -918,10 +939,10 @@ handle_application_started(AppName, Res, S) ->
case lists:member({AppName, false}, Perms) of
true ->
#state{running = StopRunning, started = StopStarted} = NewS,
- case keysearch(AppName, 1, StopRunning) of
- {value, {_AppName, Id}} ->
- {value, {_AppName2, Type}} =
- keysearch(AppName, 1, StopStarted),
+ case lists:keyfind(AppName, 1, StopRunning) of
+ {_AppName, Id} ->
+ {_AppName2, Type} =
+ lists:keyfind(AppName, 1, StopStarted),
stop_appl(AppName, Id, Type),
NStopRunning = keydelete(AppName, 1, StopRunning),
cntrl(AppName, NewS, {ac_application_stopped, AppName}),
@@ -936,12 +957,8 @@ handle_application_started(AppName, Res, S) ->
_ ->
{noreply, NewS}
end;
-
-
-
-
- {error, R} when RestartType =:= temporary ->
- notify_cntrl_started(AppName, undefined, S, {error, R}),
+ {error, R} = Error when RestartType =:= temporary ->
+ notify_cntrl_started(AppName, undefined, S, Error),
info_exited(AppName, R, RestartType),
{noreply, S#state{starting = keydelete(AppName, 1, Starting),
start_req = Start_reqN}};
@@ -966,8 +983,8 @@ handle_application_started(AppName, Res, S) ->
Reason = {application_start_failure, AppName, R},
{stop, to_string(Reason), S}
end;
- {error, R} -> %% permanent
- notify_cntrl_started(AppName, undefined, S, {error, R}),
+ {error, R} = Error -> %% permanent
+ notify_cntrl_started(AppName, undefined, S, Error),
info_exited(AppName, R, RestartType),
Reason = {application_start_failure, AppName, R},
{stop, to_string(Reason), S};
@@ -977,6 +994,9 @@ handle_application_started(AppName, Res, S) ->
{stop, to_string(Reason), S}
end.
+-spec handle_info(term(), state()) ->
+ {'noreply', state()} | {'stop', string(), state()}.
+
handle_info({ac_load_application_reply, AppName, Res}, S) ->
case keysearchdelete(AppName, 1, S#state.loading) of
{value, {_AppName, From}, Loading} ->
@@ -994,12 +1014,12 @@ handle_info({ac_load_application_reply, AppName, Res}, S) ->
handle_info({ac_start_application_reply, AppName, Res}, S) ->
Start_req = S#state.start_req,
- case keysearch(AppName, 1, Starting = S#state.starting) of
- {value, {_AppName, RestartType, Type, From}} ->
+ case lists:keyfind(AppName, 1, Starting = S#state.starting) of
+ {_AppName, RestartType, Type, From} ->
case Res of
start_it ->
{true, Appl} = get_loaded(AppName),
- spawn_starter(From, Appl, S, Type),
+ spawn_starter(From, Appl, S, Type),
{noreply, S};
{started, Node} ->
handle_application_started(AppName,
@@ -1013,23 +1033,19 @@ handle_info({ac_start_application_reply, AppName, Res}, S) ->
S#state{starting = keydelete(AppName, 1, Starting),
started = [{AppName, RestartType} | Started],
start_req = Start_reqN}};
- {takeover, Node} ->
+ {takeover, _Node} = Takeover ->
{true, Appl} = get_loaded(AppName),
- spawn_starter(From, Appl, S, {takeover, Node}),
+ spawn_starter(From, Appl, S, Takeover),
NewStarting1 = keydelete(AppName, 1, Starting),
- NewStarting = [{AppName, RestartType, {takeover, Node}, From} | NewStarting1],
+ NewStarting = [{AppName, RestartType, Takeover, From} | NewStarting1],
{noreply, S#state{starting = NewStarting}};
- {error, Reason} when RestartType =:= permanent ->
- Start_reqN =
- reply_to_requester(AppName, Start_req,
- {error, Reason}),
+ {error, Reason} = Error when RestartType =:= permanent ->
+ Start_reqN = reply_to_requester(AppName, Start_req, Error),
{stop, to_string(Reason), S#state{start_req = Start_reqN}};
- {error, Reason} ->
- Start_reqN =
- reply_to_requester(AppName, Start_req,
- {error, Reason}),
+ {error, _Reason} = Error ->
+ Start_reqN = reply_to_requester(AppName, Start_req, Error),
{noreply, S#state{starting =
- keydelete(AppName, 1, Starting),
+ keydelete(AppName, 1, Starting),
start_req = Start_reqN}}
end;
false ->
@@ -1040,8 +1056,8 @@ handle_info({ac_change_application_req, AppName, Msg}, S) ->
Running = S#state.running,
Started = S#state.started,
Starting = S#state.starting,
- case {keysearch(AppName, 1, Running), keysearch(AppName, 1, Started)} of
- {{value, {AppName, Id}}, {value, {_AppName2, Type}}} ->
+ case {keyfind(AppName, 1, Running), keyfind(AppName, 1, Started)} of
+ {{AppName, Id}, {_AppName2, Type}} ->
case Msg of
{started, Node} ->
stop_appl(AppName, Id, Type),
@@ -1134,17 +1150,17 @@ handle_info({'EXIT', Pid, Reason}, S) ->
ets:match_delete(ac_tab, {{application_master, '_'}, Pid}),
NRunning = keydelete(Pid, 2, S#state.running),
NewS = S#state{running = NRunning},
- case keysearch(Pid, 2, S#state.running) of
- {value, {AppName, _AmPid}} ->
+ case lists:keyfind(Pid, 2, S#state.running) of
+ {AppName, _AmPid} ->
cntrl(AppName, S, {ac_application_stopped, AppName}),
- case keysearch(AppName, 1, S#state.started) of
- {value, {_AppName, temporary}} ->
+ case lists:keyfind(AppName, 1, S#state.started) of
+ {_AppName, temporary} ->
info_exited(AppName, Reason, temporary),
{noreply, NewS};
- {value, {_AppName, transient}} when Reason =:= normal ->
+ {_AppName, transient} when Reason =:= normal ->
info_exited(AppName, Reason, transient),
{noreply, NewS};
- {value, {_AppName, Type}} ->
+ {_AppName, Type} ->
info_exited(AppName, Reason, Type),
{stop, to_string({application_terminated, AppName, Reason}), NewS}
end;
@@ -1155,6 +1171,8 @@ handle_info({'EXIT', Pid, Reason}, S) ->
handle_info(_, S) ->
{noreply, S}.
+-spec terminate(term(), state()) -> 'ok'.
+
terminate(Reason, S) ->
case application:get_env(kernel, shutdown_func) of
{ok, {M, F}} ->
@@ -1170,8 +1188,10 @@ terminate(Reason, S) ->
(_) -> ok
end,
S#state.running),
- ets:delete(ac_tab).
+ true = ets:delete(ac_tab),
+ ok.
+-spec code_change(term(), state(), term()) -> {'ok', state()}.
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
@@ -1181,8 +1201,8 @@ code_change(_OldVsn, State, _Extra) ->
%%% Internal functions
%%%-----------------------------------------------------------------
cntrl(AppName, #state{control = Control}, Msg) ->
- case keysearch(AppName, 1, Control) of
- {value, {_AppName, Pid}} ->
+ case lists:keyfind(AppName, 1, Control) of
+ {_AppName, Pid} ->
Pid ! Msg,
true;
false ->
@@ -1282,8 +1302,8 @@ check_start_cond(AppName, RestartType, Started, Running) ->
end.
do_start(AppName, RT, Type, From, S) ->
- RestartType = case keysearch(AppName, 1, S#state.started) of
- {value, {_AppName2, OldRT}} ->
+ RestartType = case lists:keyfind(AppName, 1, S#state.started) of
+ {_AppName2, OldRT} ->
get_restart_type(RT, OldRT);
false ->
RT
@@ -1295,12 +1315,12 @@ do_start(AppName, RT, Type, From, S) ->
{true, Appl} = get_loaded(AppName),
Start_req = S#state.start_req,
spawn_starter(undefined, Appl, S, Type),
- Starting = case keysearch(AppName, 1, S#state.starting) of
+ Starting = case lists:keymember(AppName, 1, S#state.starting) of
false ->
%% UW: don't know if this is necessary
[{AppName, RestartType, Type, From} |
S#state.starting];
- _ ->
+ true ->
S#state.starting
end,
S#state{starting = Starting,
@@ -1340,10 +1360,10 @@ start_appl(Appl, S, Type) ->
end
end, Appl#appl.apps),
case application_master:start_link(ApplData, Type) of
- {ok, Pid} ->
- {ok, Pid};
- {error, Reason} ->
- throw({error, Reason})
+ {ok, _Pid} = Ok ->
+ Ok;
+ {error, _Reason} = Error ->
+ throw(Error)
end
end.
@@ -1435,15 +1455,15 @@ prim_parse(Tokens, Acc) ->
case erl_parse:parse_term(Tokens2 ++ [Dot]) of
{ok, Term} ->
prim_parse(Rest, [Term | Acc]);
- {error, Reason} ->
- {error, Reason}
+ {error, _R} = Error ->
+ Error
end;
{Tokens2, []} ->
case erl_parse:parse_term(Tokens2) of
{ok, Term} ->
{ok, lists:reverse([Term | Acc])};
- {error, Reason} ->
- {error, Reason}
+ {error, _R} = Error ->
+ Error
end
end.
@@ -1456,7 +1476,7 @@ make_appl_i({application, Name, Opts}) when is_atom(Name), is_list(Opts) ->
Apps = get_opt(applications, Opts, []),
Mod =
case get_opt(mod, Opts, []) of
- {M,A} when is_atom(M) -> {M,A};
+ {M,_A}=MA when is_atom(M) -> MA;
[] -> [];
Other -> throw({error, {badstartspec, Other}})
end,
@@ -1465,8 +1485,8 @@ make_appl_i({application, Name, Opts}) when is_atom(Name), is_list(Opts) ->
MaxP = get_opt(maxP, Opts, infinity),
MaxT = get_opt(maxT, Opts, infinity),
IncApps = get_opt(included_applications, Opts, []),
- {#appl_data{name = Name, regs = Regs, mod = Mod, phases = Phases, mods = Mods,
- inc_apps = IncApps, maxP = MaxP, maxT = MaxT},
+ {#appl_data{name = Name, regs = Regs, mod = Mod, phases = Phases,
+ mods = Mods, inc_apps = IncApps, maxP = MaxP, maxT = MaxT},
Env, IncApps, Descr, Id, Vsn, Apps};
make_appl_i({application, Name, Opts}) when is_list(Opts) ->
throw({error,{invalid_name,Name}});
@@ -1545,12 +1565,12 @@ do_change_appl({ok, {ApplData, Env, IncApps, Descr, Id, Vsn, Apps}},
vsn=Vsn,
inc_apps=IncApps,
apps=Apps};
-do_change_appl({error, R}, _Appl, _ConfData) ->
- throw({error, R}).
+do_change_appl({error, _R} = Error, _Appl, _ConfData) ->
+ throw(Error).
get_opt(Key, List, Default) ->
- case keysearch(Key, 1, List) of
- {value, {_Key, Val}} -> Val;
+ case lists:keyfind(Key, 1, List) of
+ {_Key, Val} -> Val;
_ -> Default
end.
@@ -1584,8 +1604,8 @@ make_term(Str) ->
end.
get_env_i(Name, #state{conf_data = ConfData}) when is_list(ConfData) ->
- case keysearch(Name, 1, ConfData) of
- {value, {_Name, Env}} -> Env;
+ case lists:keyfind(Name, 1, ConfData) of
+ {_Name, Env} -> Env;
_ -> []
end;
get_env_i(_Name, _) -> [].
@@ -1605,9 +1625,6 @@ merge_env([{App, AppEnv1} | T], Env2, Res) ->
merge_env([], Env2, Res) ->
Env2 ++ Res.
-
-
-
%% Merges envs for an application. Env2 overrides Env1
merge_app_env(Env1, Env2) ->
merge_app_env(Env1, Env2, []).
@@ -1671,13 +1688,12 @@ do_config_change([], _EnvBefore, Errors) ->
{error, Errors};
do_config_change([{App, _Id} | Apps], EnvBefore, Errors) ->
AppEnvNow = lists:sort(application:get_all_env(App)),
- AppEnvBefore = case lists:keysearch(App, 1, EnvBefore) of
+ AppEnvBefore = case lists:keyfind(App, 1, EnvBefore) of
false ->
[];
- {value, {App, AppEnvBeforeT}} ->
+ {App, AppEnvBeforeT} ->
lists:sort(AppEnvBeforeT)
end,
-
Res =
case AppEnvNow of
AppEnvBefore ->
@@ -1697,12 +1713,12 @@ do_config_change([{App, _Id} | Apps], EnvBefore, Errors) ->
%% if the cb-function is not defined
{'EXIT', {undef, _}} ->
ok;
- {error, Error} ->
- {error, Error};
+ {error, _} = Error ->
+ Error;
Else ->
{error, Else}
end;
- {ok,[]} ->
+ {ok, []} ->
{error, {module_not_defined, App}};
undefined ->
{error, {application_not_found, App}}
@@ -1716,9 +1732,7 @@ do_config_change([{App, _Id} | Apps], EnvBefore, Errors) ->
{error, NewError} ->
do_config_change(Apps, EnvBefore,[NewError | Errors])
end.
-
-
-
+
%%-----------------------------------------------------------------
%% Check if the configuration is changed in anyway.
@@ -1732,21 +1746,17 @@ do_config_diff([], AppEnvBefore, {Changed, New}) ->
do_config_diff(AppEnvNow, [], {Changed, New}) ->
{Changed, AppEnvNow++New, []};
do_config_diff([{Env, Value} | AppEnvNow], AppEnvBefore, {Changed, New}) ->
- case lists:keysearch(Env, 1, AppEnvBefore) of
- {value, {Env, Value}} ->
+ case lists:keyfind(Env, 1, AppEnvBefore) of
+ {Env, Value} ->
do_config_diff(AppEnvNow, lists:keydelete(Env,1,AppEnvBefore), {Changed, New});
- {value, {Env, _OtherValue}} ->
+ {Env, _OtherValue} ->
do_config_diff(AppEnvNow, lists:keydelete(Env,1,AppEnvBefore),
{[{Env, Value} | Changed], New});
false ->
do_config_diff(AppEnvNow, AppEnvBefore, {Changed, [{Env, Value}|New]})
end.
-
-
-
-
%%-----------------------------------------------------------------
%% Read the .config files.
%%-----------------------------------------------------------------
@@ -1901,14 +1911,13 @@ reply_to_requester(AppName, Start_req, Res) ->
%% Update the environment variable permission for an application.
%%-----------------------------------------------------------------
update_permissions(AppName, Bool) ->
- case ets:lookup(ac_tab, {env, kernel, permissions}) of
+ T = {env, kernel, permissions},
+ case ets:lookup(ac_tab, T) of
[] ->
- ets:insert(ac_tab, {{env, kernel, permissions},
- [{AppName, Bool}]});
+ ets:insert(ac_tab, {T, [{AppName, Bool}]});
[{_, Perm}] ->
Perm2 = lists:keydelete(AppName, 1, Perm),
- ets:insert(ac_tab, {{env, kernel, permissions},
- [{AppName, Bool}| Perm2]})
+ ets:insert(ac_tab, {T, [{AppName, Bool}|Perm2]})
end.
%%-----------------------------------------------------------------
@@ -1937,6 +1946,9 @@ test_make_apps([A|Apps], Res) ->
%% Exit reason needs to be a printable string
%% (and of length <200, but init now does the chopping).
%%-----------------------------------------------------------------
+
+-spec to_string(term()) -> string().
+
to_string(Term) ->
case io_lib:printable_list(Term) of
true ->
diff --git a/lib/kernel/src/application_starter.erl b/lib/kernel/src/application_starter.erl
index 8d839e4662..564366f304 100644
--- a/lib/kernel/src/application_starter.erl
+++ b/lib/kernel/src/application_starter.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1998-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% ----------------------------------------------------------------------
@@ -42,8 +42,8 @@ start([], _Type, _Apps) ->
ok;
start([{Phase,_PhaseArgs}|Phases], Type, Apps) ->
case start_apps(Phase, Type, Apps) of
- {error, Error} ->
- {error, Error};
+ {error, _} = Error ->
+ Error;
_ ->
start(Phases, Type, Apps)
end.
@@ -56,8 +56,8 @@ start_apps(_Phase, _Type, []) ->
ok;
start_apps(Phase, Type, [App | Apps]) ->
case catch run_start_phase(Phase, Type, App) of
- {error, Error} ->
- {error, Error};
+ {error, _} = Error ->
+ Error;
_ ->
start_apps(Phase, Type, Apps)
end.
@@ -91,10 +91,10 @@ run_the_phase(Phase, Type, App, Mod) ->
{ok, Sp} ->
Sp
end,
- case lists:keysearch(Phase, 1, Start_phases) of
+ case lists:keyfind(Phase, 1, Start_phases) of
false ->
ok;
- {value, {Phase, PhaseArgs}} ->
+ {Phase, PhaseArgs} ->
case catch Mod:start_phase(Phase, Type, PhaseArgs) of
ok ->
ok;
diff --git a/lib/kernel/src/auth.erl b/lib/kernel/src/auth.erl
index 62c0bef0cc..7fe30ae828 100644
--- a/lib/kernel/src/auth.erl
+++ b/lib/kernel/src/auth.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(auth).
@@ -37,10 +37,12 @@
-define(COOKIE_ETS_PROTECTION, protected).
+-type cookie() :: atom().
-record(state, {
- our_cookie, %% Our own cookie
- other_cookies %% The send-cookies of other nodes
+ our_cookie :: cookie(), %% Our own cookie
+ other_cookies :: ets:tab() %% The send-cookies of other nodes
}).
+-type state() :: #state{}.
-include("../include/file.hrl").
@@ -61,24 +63,24 @@ is_auth(Node) ->
pang -> no
end.
--spec cookie() -> atom().
+-spec cookie() -> cookie().
cookie() ->
get_cookie().
--spec cookie(Cookies :: [atom(),...] | atom()) -> 'true'.
+-spec cookie(Cookies :: [cookie(),...] | cookie()) -> 'true'.
cookie([Cookie]) ->
set_cookie(Cookie);
cookie(Cookie) ->
set_cookie(Cookie).
--spec node_cookie(Cookies :: [atom(),...]) -> 'yes' | 'no'.
+-spec node_cookie(Cookies :: [node() | cookie(),...]) -> 'yes' | 'no'.
node_cookie([Node, Cookie]) ->
node_cookie(Node, Cookie).
--spec node_cookie(Node :: node(), Cookie :: atom()) -> 'yes' | 'no'.
+-spec node_cookie(Node :: node(), Cookie :: cookie()) -> 'yes' | 'no'.
node_cookie(Node, Cookie) ->
set_cookie(Node, Cookie),
@@ -86,24 +88,24 @@ node_cookie(Node, Cookie) ->
%%--"New" interface-----------------------------------------------------
--spec get_cookie() -> atom().
+-spec get_cookie() -> 'nocookie' | cookie().
get_cookie() ->
get_cookie(node()).
--spec get_cookie(Node :: node()) -> atom().
+-spec get_cookie(Node :: node()) -> 'nocookie' | cookie().
get_cookie(_Node) when node() =:= nonode@nohost ->
nocookie;
get_cookie(Node) ->
gen_server:call(auth, {get_cookie, Node}).
--spec set_cookie(Cookie :: atom()) -> 'true'.
+-spec set_cookie(Cookie :: cookie()) -> 'true'.
set_cookie(Cookie) ->
set_cookie(node(), Cookie).
--spec set_cookie(Node :: node(), Cookie :: atom()) -> 'true'.
+-spec set_cookie(Node :: node(), Cookie :: cookie()) -> 'true'.
set_cookie(_Node, _Cookie) when node() =:= nonode@nohost ->
erlang:error(distribution_not_started);
@@ -117,11 +119,13 @@ sync_cookie() ->
-spec print(Node :: node(), Format :: string(), Args :: [_]) -> 'ok'.
-print(Node,Format,Args) ->
- (catch gen_server:cast({auth,Node},{print,Format,Args})).
+print(Node, Format, Args) ->
+ (catch gen_server:cast({auth, Node}, {print, Format, Args})).
%%--gen_server callbacks------------------------------------------------
+-spec init([]) -> {'ok', state()}.
+
init([]) ->
process_flag(trap_exit, true),
{ok, init_cookie()}.
@@ -130,6 +134,11 @@ init([]) ->
%% The net kernel will let all message to the auth server
%% through as is
+-type calls() :: 'echo' | 'sync_cookie' | {'set_cookie', node(), term()}.
+
+-spec handle_call(calls(), {pid(), term()}, state()) ->
+ {'reply', 'hello' | 'true' | 'nocookie' | cookie(), state()}.
+
handle_call({get_cookie, Node}, {_From,_Tag}, State) when Node =:= node() ->
{reply, State#state.our_cookie, State};
handle_call({get_cookie, Node}, {_From,_Tag}, State) ->
@@ -145,7 +154,7 @@ handle_call({set_cookie, Node, Cookie}, {_From,_Tag}, State)
%%
%% Happens when the distribution is brought up and
-%% Someone wight have set up the cookie for our new nodename.
+%% someone might have set up the cookie for our new node name.
%%
handle_call({set_cookie, Node, Cookie}, {_From,_Tag}, State) ->
@@ -153,9 +162,9 @@ handle_call({set_cookie, Node, Cookie}, {_From,_Tag}, State) ->
{reply, true, State};
handle_call(sync_cookie, _From, State) ->
- case ets:lookup(State#state.other_cookies,node()) of
+ case ets:lookup(State#state.other_cookies, node()) of
[{_N,C}] ->
- ets:delete(State#state.other_cookies,node()),
+ ets:delete(State#state.other_cookies, node()),
{reply, true, State#state{our_cookie = C}};
[] ->
{reply, true, State}
@@ -164,13 +173,22 @@ handle_call(sync_cookie, _From, State) ->
handle_call(echo, _From, O) ->
{reply, hello, O}.
+%%
+%% handle_cast/2
+%%
+
+-spec handle_cast({'print', string(), [term()]}, state()) ->
+ {'noreply', state()}.
+
handle_cast({print,What,Args}, O) ->
%% always allow print outs
- error_logger:error_msg(What,Args),
+ error_logger:error_msg(What, Args),
{noreply, O}.
%% A series of bad messages that may come (from older distribution versions).
+-spec handle_info(term(), state()) -> {'noreply', state()}.
+
handle_info({From,badcookie,net_kernel,{From,spawn,_M,_F,_A,_Gleader}}, O) ->
auth:print(node(From) ,"~n** Unauthorized spawn attempt to ~w **~n",
[node()]),
@@ -188,10 +206,10 @@ handle_info({_From,badcookie,ddd_server,_Mess}, O) ->
{noreply, O};
handle_info({From,badcookie,rex,_Msg}, O) ->
auth:print(getnode(From),
- "~n** Unauthorized rpc attempt to ~w **~n",[node()]),
+ "~n** Unauthorized rpc attempt to ~w **~n", [node()]),
disconnect_node(node(From)),
{noreply, O};
-%% These two messages has to do with the old auth:is_auth() call (net_adm:ping)
+%% These two messages have to do with the old auth:is_auth() call (net_adm:ping)
handle_info({From,badcookie,net_kernel,{'$gen_call',{From,Tag},{is_auth,_Node}}}, O) -> %% ho ho
From ! {Tag, no},
{noreply, O};
@@ -215,12 +233,16 @@ handle_info({From,badcookie,Name,Mess}, Opened) ->
end
end,
{noreply, Opened};
-handle_info(_, O)-> % Ignore anything else especially EXIT signals
+handle_info(_, O) -> % Ignore anything else especially EXIT signals
{noreply, O}.
+-spec code_change(term(), state(), term()) -> {'ok', state()}.
+
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
+-spec terminate(term(), state()) -> 'ok'.
+
terminate(_Reason, _State) ->
ok.
@@ -260,7 +282,7 @@ init_cookie() ->
end;
_Other ->
#state{our_cookie = nocookie,
- other_cookies = ets:new(cookies,[?COOKIE_ETS_PROTECTION])}
+ other_cookies = ets:new(cookies, [?COOKIE_ETS_PROTECTION])}
end.
read_cookie() ->
diff --git a/lib/kernel/src/code.erl b/lib/kernel/src/code.erl
index ffe58ae7a9..affa5fc0fd 100644
--- a/lib/kernel/src/code.erl
+++ b/lib/kernel/src/code.erl
@@ -425,8 +425,8 @@ where_is_file(Path, File) when is_list(Path), is_list(File) ->
FileInfo :: #file_info{})
-> 'ok' | {'error', atom()}.
-set_primary_archive(ArchiveFile0, ArchiveBin, FileInfo)
- when is_list(ArchiveFile0), is_binary(ArchiveBin), is_record(FileInfo, file_info) ->
+set_primary_archive(ArchiveFile0, ArchiveBin, #file_info{} = FileInfo)
+ when is_list(ArchiveFile0), is_binary(ArchiveBin) ->
ArchiveFile = filename:absname(ArchiveFile0),
case call({set_primary_archive, ArchiveFile, ArchiveBin, FileInfo}) of
{ok, []} ->
@@ -473,7 +473,7 @@ decorate([], _) -> [];
decorate([File|Tail], Dir) ->
[{Dir, File} | decorate(Tail, Dir)].
-filter(_Ext, Dir, {error,_}) ->
+filter(_Ext, Dir, error) ->
io:format("** Bad path can't read ~s~n", [Dir]), [];
filter(Ext, _, {ok,Files}) ->
filter2(Ext, length(Ext), Files).
diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl
index 7aeddb73d1..4a1fc7df34 100644
--- a/lib/kernel/src/code_server.erl
+++ b/lib/kernel/src/code_server.erl
@@ -32,14 +32,15 @@
-import(lists, [foreach/2]).
--record(state,{supervisor,
- root,
- path,
- moddb,
- namedb,
- cache = no_cache,
- mode=interactive,
- on_load = []}).
+-record(state, {supervisor,
+ root,
+ path,
+ moddb,
+ namedb,
+ cache = no_cache,
+ mode = interactive,
+ on_load = []}).
+-type state() :: #state{}.
start_link(Args) ->
Ref = make_ref(),
@@ -65,8 +66,8 @@ init(Ref, Parent, [Root,Mode0]) ->
Mode =
case Mode0 of
- minimal -> interactive;
- _ -> Mode0
+ minimal -> interactive;
+ _ -> Mode0
end,
IPath =
@@ -74,7 +75,7 @@ init(Ref, Parent, [Root,Mode0]) ->
interactive ->
LibDir = filename:append(Root, "lib"),
{ok,Dirs} = erl_prim_loader:list_dir(LibDir),
- {Paths,_Libs} = make_path(LibDir,Dirs),
+ {Paths,_Libs} = make_path(LibDir, Dirs),
UserLibPaths = get_user_lib_dirs(),
["."] ++ UserLibPaths ++ Paths;
_ ->
@@ -97,7 +98,7 @@ init(Ref, Parent, [Root,Mode0]) ->
end,
Parent ! {Ref,{ok,self()}},
- loop(State#state{supervisor=Parent}).
+ loop(State#state{supervisor = Parent}).
get_user_lib_dirs() ->
case os:getenv("ERL_LIBS") of
@@ -169,8 +170,8 @@ loop(#state{supervisor=Supervisor}=State0) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% System upgrade
-handle_system_msg(SysState,Msg,From,Parent,Misc) ->
- case do_sys_cmd(SysState,Msg,Parent, Misc) of
+handle_system_msg(SysState, Msg, From, Parent, Misc) ->
+ case do_sys_cmd(SysState, Msg, Parent, Misc) of
{suspended, Reply, NMisc} ->
gen_reply(From, Reply),
suspend_loop(suspended, Parent, NMisc);
@@ -207,7 +208,7 @@ do_sys_cmd(SysState, {debug, _What}, _Parent, Misc) ->
do_sys_cmd(suspended, {change_code, Module, Vsn, Extra}, _Parent, Misc0) ->
{Res, Misc} =
case catch ?MODULE:system_code_change(Misc0, Module, Vsn, Extra) of
- {ok, Misc1} -> {ok, Misc1};
+ {ok, _} = Ok -> Ok;
Else -> {{error, Else}, Misc0}
end,
{suspended, Res, Misc};
@@ -218,9 +219,10 @@ system_continue(_Parent, _Debug, State) ->
loop(State).
system_terminate(_Reason, _Parent, _Debug, _State) ->
-% error_msg("~p terminating: ~p~n ",[?MODULE,Reason]),
+ %% error_msg("~p terminating: ~p~n ", [?MODULE, Reason]),
exit(shutdown).
+-spec system_code_change(state(), module(), term(), term()) -> {'ok', state()}.
system_code_change(State, _Module, _OldVsn, _Extra) ->
{ok, State}.
@@ -240,7 +242,7 @@ handle_call({stick_mod,Mod}, {_From,_Tag}, S) ->
handle_call({unstick_mod,Mod}, {_From,_Tag}, S) ->
{reply,stick_mod(Mod, false, S),S};
-handle_call({dir,Dir},{_From,_Tag}, S) ->
+handle_call({dir,Dir}, {_From,_Tag}, S) ->
Root = S#state.root,
Resp = do_dir(Root,Dir,S#state.namedb),
{reply,Resp,S};
@@ -253,43 +255,47 @@ handle_call({load_file,Mod}, Caller, St) ->
load_file(Mod, Caller, St)
end;
-handle_call({add_path,Where,Dir0}, {_From,_Tag}, S=#state{cache=Cache0}) ->
+handle_call({add_path,Where,Dir0}, {_From,_Tag},
+ #state{cache=Cache0,namedb=Namedb,path=Path0}=S) ->
case Cache0 of
no_cache ->
- {Resp,Path} = add_path(Where, Dir0, S#state.path, S#state.namedb),
+ {Resp,Path} = add_path(Where, Dir0, Path0, Namedb),
{reply,Resp,S#state{path=Path}};
_ ->
Dir = absname(Dir0), %% Cache always expands the path
- {Resp,Path} = add_path(Where, Dir, S#state.path, S#state.namedb),
- Cache=update_cache([Dir],Where,Cache0),
+ {Resp,Path} = add_path(Where, Dir, Path0, Namedb),
+ Cache = update_cache([Dir], Where, Cache0),
{reply,Resp,S#state{path=Path,cache=Cache}}
end;
-handle_call({add_paths,Where,Dirs0}, {_From,_Tag}, S=#state{cache=Cache0}) ->
+handle_call({add_paths,Where,Dirs0}, {_From,_Tag},
+ #state{cache=Cache0,namedb=Namedb,path=Path0}=S) ->
case Cache0 of
no_cache ->
- {Resp,Path} = add_paths(Where,Dirs0,S#state.path,S#state.namedb),
- {reply,Resp, S#state{path=Path}};
+ {Resp,Path} = add_paths(Where, Dirs0, Path0, Namedb),
+ {reply,Resp,S#state{path=Path}};
_ ->
%% Cache always expands the path
Dirs = [absname(Dir) || Dir <- Dirs0],
- {Resp,Path} = add_paths(Where, Dirs, S#state.path, S#state.namedb),
+ {Resp,Path} = add_paths(Where, Dirs, Path0, Namedb),
Cache=update_cache(Dirs,Where,Cache0),
{reply,Resp,S#state{cache=Cache,path=Path}}
end;
-handle_call({set_path,PathList}, {_From,_Tag}, S) ->
- Path = S#state.path,
- {Resp, NewPath,NewDb} = set_path(PathList, Path, S#state.namedb),
- {reply,Resp,rehash_cache(S#state{path = NewPath, namedb=NewDb})};
+handle_call({set_path,PathList}, {_From,_Tag},
+ #state{path=Path0,namedb=Namedb}=S) ->
+ {Resp,Path,NewDb} = set_path(PathList, Path0, Namedb),
+ {reply,Resp,rehash_cache(S#state{path=Path,namedb=NewDb})};
-handle_call({del_path,Name}, {_From,_Tag}, S) ->
- {Resp,Path} = del_path(Name,S#state.path,S#state.namedb),
- {reply,Resp,rehash_cache(S#state{path = Path})};
+handle_call({del_path,Name}, {_From,_Tag},
+ #state{path=Path0,namedb=Namedb}=S) ->
+ {Resp,Path} = del_path(Name, Path0, Namedb),
+ {reply,Resp,rehash_cache(S#state{path=Path})};
-handle_call({replace_path,Name,Dir}, {_From,_Tag}, S) ->
- {Resp,Path} = replace_path(Name,Dir,S#state.path,S#state.namedb),
- {reply,Resp,rehash_cache(S#state{path = Path})};
+handle_call({replace_path,Name,Dir}, {_From,_Tag},
+ #state{path=Path0,namedb=Namedb}=S) ->
+ {Resp,Path} = replace_path(Name, Dir, Path0, Namedb),
+ {reply,Resp,rehash_cache(S#state{path=Path})};
handle_call(rehash, {_From,_Tag}, S0) ->
S = create_cache(S0),
@@ -311,12 +317,12 @@ handle_call({load_binary,Mod,File,Bin}, Caller, S) ->
do_load_binary(Mod, File, Bin, Caller, S);
handle_call({load_native_partial,Mod,Bin}, {_From,_Tag}, S) ->
- Result = (catch hipe_unified_loader:load(Mod,Bin)),
+ Result = (catch hipe_unified_loader:load(Mod, Bin)),
Status = hipe_result_to_status(Result),
{reply,Status,S};
handle_call({load_native_sticky,Mod,Bin,WholeModule}, {_From,_Tag}, S) ->
- Result = (catch hipe_unified_loader:load_module(Mod,Bin,WholeModule)),
+ Result = (catch hipe_unified_loader:load_module(Mod, Bin, WholeModule)),
Status = hipe_result_to_status(Result),
{reply,Status,S};
@@ -388,8 +394,8 @@ handle_call({set_primary_archive, File, ArchiveBin, FileInfo}, {_From,_Tag}, S=#
case erl_prim_loader:set_primary_archive(File, ArchiveBin, FileInfo) of
{ok, Files} ->
{reply, {ok, Mode, Files}, S};
- {error, Reason} ->
- {reply, {error, Reason}, S}
+ {error, _Reason} = Error ->
+ {reply, Error, S}
end;
handle_call({is_cached,File}, {_From,_Tag}, S=#state{cache=Cache}) ->
@@ -469,8 +475,8 @@ locate_mods([], _, _, Cache, Path) ->
filter_mods([File|Rest], Where, Exts, Dir, Cache) ->
Ext = filename:extension(File),
Root = list_to_atom(filename:rootname(File, Ext)),
- case lists:keysearch(Ext, 2, Exts) of
- {value,{Type,_}} ->
+ case lists:keyfind(Ext, 2, Exts) of
+ {Type, _} ->
Key = {Type,Root},
case Where of
first ->
@@ -487,7 +493,6 @@ filter_mods([File|Rest], Where, Exts, Dir, Cache) ->
ok
end,
filter_mods(Rest, Where, Exts, Dir, Cache);
-
filter_mods([], _, _, _, Cache) ->
Cache.
@@ -498,27 +503,27 @@ filter_mods([], _, _, _, Cache) ->
%%
%% Create the initial path.
%%
-make_path(BundleDir,Bundles0) ->
+make_path(BundleDir, Bundles0) ->
Bundles = choose_bundles(Bundles0),
- make_path(BundleDir,Bundles,[],[]).
+ make_path(BundleDir, Bundles, [], []).
choose_bundles(Bundles) ->
ArchiveExt = archive_extension(),
- Bs = lists:sort([create_bundle(B,ArchiveExt) || B <- Bundles]),
+ Bs = lists:sort([create_bundle(B, ArchiveExt) || B <- Bundles]),
[FullName || {_Name,_NumVsn,FullName} <-
choose(lists:reverse(Bs), [], ArchiveExt)].
-create_bundle(FullName,ArchiveExt) ->
- BaseName = filename:basename(FullName,ArchiveExt),
+create_bundle(FullName, ArchiveExt) ->
+ BaseName = filename:basename(FullName, ArchiveExt),
case split(BaseName, "-") of
- Toks when length(Toks) > 1 ->
+ [_, _|_] = Toks ->
VsnStr = lists:last(Toks),
case vsn_to_num(VsnStr) of
{ok, VsnNum} ->
- Name = join(lists:sublist(Toks,length(Toks)-1),"-"),
+ Name = join(lists:sublist(Toks, length(Toks)-1),"-"),
{Name,VsnNum,FullName};
false ->
- {FullName, [0], FullName}
+ {FullName,[0],FullName}
end;
_ ->
{FullName,[0],FullName}
@@ -569,8 +574,8 @@ join([], _) ->
[].
choose([{Name,NumVsn,NewFullName}=New|Bs], Acc, ArchiveExt) ->
- case lists:keysearch(Name,1,Acc) of
- {value, {_, NV, OldFullName}} when NV =:= NumVsn ->
+ case lists:keyfind(Name, 1, Acc) of
+ {_, NV, OldFullName} when NV =:= NumVsn ->
case filename:extension(OldFullName) =:= ArchiveExt of
false ->
choose(Bs,Acc, ArchiveExt);
@@ -578,7 +583,7 @@ choose([{Name,NumVsn,NewFullName}=New|Bs], Acc, ArchiveExt) ->
Acc2 = lists:keystore(Name, 1, Acc, New),
choose(Bs,Acc2, ArchiveExt)
end;
- {value, {_, _, _}} ->
+ {_, _, _} ->
choose(Bs,Acc, ArchiveExt);
false ->
choose(Bs,[{Name,NumVsn,NewFullName}|Acc], ArchiveExt)
@@ -602,8 +607,8 @@ make_path(BundleDir,[Bundle|Tail],Res,Bs) ->
Ebin2 = filename:join([filename:dirname(Dir), Base ++ Ext, Base, "ebin"]),
Ebins =
case split(Base, "-") of
- Toks when length(Toks) > 1 ->
- AppName = join(lists:sublist(Toks,length(Toks)-1),"-"),
+ [_, _|_] = Toks ->
+ AppName = join(lists:sublist(Toks, length(Toks)-1),"-"),
Ebin3 = filename:join([filename:dirname(Dir), Base ++ Ext, AppName, "ebin"]),
[Ebin3, Ebin2, Dir];
_ ->
@@ -835,30 +840,25 @@ add_path(_,_,Path,_) ->
%% then the table is created :-)
%%
do_add(first,Dir,Path,NameDb) ->
- update(Dir,NameDb),
+ update(Dir, NameDb),
[Dir|lists:delete(Dir,Path)];
do_add(last,Dir,Path,NameDb) ->
case lists:member(Dir,Path) of
true ->
Path;
false ->
- maybe_update(Dir,NameDb),
+ maybe_update(Dir, NameDb),
Path ++ [Dir]
end.
%% Do not update if the same name already exists !
-maybe_update(Dir,NameDb) ->
- case lookup_name(get_name(Dir),NameDb) of
- false -> update(Dir,NameDb);
- _ -> false
- end.
+maybe_update(Dir, NameDb) ->
+ (lookup_name(get_name(Dir), NameDb) =:= false) andalso update(Dir, NameDb).
update(_Dir, false) ->
- ok;
-update(Dir,NameDb) ->
- replace_name(Dir,NameDb).
-
-
+ true;
+update(Dir, NameDb) ->
+ replace_name(Dir, NameDb).
%%
%% Set a completely new path.
@@ -946,8 +946,8 @@ all_archive_subdirs(AppDir) ->
Base = filename:basename(AppDir),
Dirs =
case split(Base, "-") of
- Toks when length(Toks) > 1 ->
- Base2 = join(lists:sublist(Toks,length(Toks)-1),"-"),
+ [_, _|_] = Toks ->
+ Base2 = join(lists:sublist(Toks, length(Toks)-1), "-"),
[Base2, Base];
_ ->
[Base]
@@ -1060,7 +1060,6 @@ check_pars(Name,Dir) ->
{error,bad_name}
end.
-
del_ebin(Dir) ->
case filename:basename(Dir) of
"ebin" ->
@@ -1079,8 +1078,6 @@ del_ebin(Dir) ->
Dir
end.
-
-
replace_name(Dir, Db) ->
case get_name(Dir) of
Dir ->
@@ -1187,15 +1184,7 @@ get_mods([File|Tail], Extension) ->
get_mods([], _) -> [].
is_sticky(Mod, Db) ->
- case erlang:module_loaded(Mod) of
- true ->
- case ets:lookup(Db, {sticky,Mod}) of
- [] -> false;
- _ -> true
- end;
- false ->
- false
- end.
+ erlang:module_loaded(Mod) andalso (ets:lookup(Db, {sticky, Mod}) =/= []).
add_paths(Where,[Dir|Tail],Path,NameDb) ->
{_,NPath} = add_path(Where,Dir,Path,NameDb),
@@ -1203,7 +1192,6 @@ add_paths(Where,[Dir|Tail],Path,NameDb) ->
add_paths(_,_,Path,_) ->
{ok,Path}.
-
do_load_binary(Module, File, Binary, Caller, St) ->
case modp(Module) andalso modp(File) andalso is_binary(Binary) of
true ->
@@ -1220,7 +1208,6 @@ modp(Atom) when is_atom(Atom) -> true;
modp(List) when is_list(List) -> int_list(List);
modp(_) -> false.
-
load_abs(File, Mod0, Caller, St) ->
Ext = objfile_extension(),
FileName0 = lists:concat([File, Ext]),
@@ -1263,20 +1250,20 @@ try_load_module_1(File, Mod, Bin, Caller, #state{moddb=Db}=St) ->
{reply,{error,sticky_directory},St};
false ->
case catch load_native_code(Mod, Bin) of
- {module,Mod} ->
+ {module,Mod} = Module ->
ets:insert(Db, {Mod,File}),
- {reply,{module,Mod},St};
+ {reply,Module,St};
no_native ->
case erlang:load_module(Mod, Bin) of
- {module,Mod} ->
+ {module,Mod} = Module ->
ets:insert(Db, {Mod,File}),
post_beam_load(Mod),
- {reply,{module,Mod},St};
+ {reply,Module,St};
{error,on_load} ->
handle_on_load(Mod, File, Caller, St);
- {error,What} ->
+ {error,What} = Error ->
error_msg("Loading of ~s failed: ~p\n", [File, What]),
- {reply,{error,What},St}
+ {reply,Error,St}
end;
Error ->
error_msg("Native loading of ~s failed: ~p\n",
diff --git a/lib/kernel/src/disk_log.hrl b/lib/kernel/src/disk_log.hrl
index b0849145ca..9a94d4d3b9 100644
--- a/lib/kernel/src/disk_log.hrl
+++ b/lib/kernel/src/disk_log.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -44,17 +44,11 @@
-define(OPENED, <<6,7,8,9>>).
-define(CLOSED, <<99,88,77,11>>).
-%% Needed for the definition of fd()
+%% Needed for the definition of #file_info{}
%% Must use include_lib() so that we always can be sure to find
%% file.hrl. A relative path will not work in an installed system.
-include_lib("kernel/include/file.hrl").
-%% Ugly workaround. If we are building the bootstrap compiler,
-%% file.hrl does not define the fd() type.
--ifndef(FILE_HRL_).
--type fd() :: pid() | #file_descriptor{}.
--endif.
-
%%------------------------------------------------------------------------
%% Types -- alphabetically
%%------------------------------------------------------------------------
@@ -94,7 +88,7 @@
options = [] :: dlog_options()}).
-record(cache, %% Cache for logged terms (per file descriptor).
- {fd :: fd(), %% File descriptor.
+ {fd :: file:fd(), %% File descriptor.
sz = 0 :: non_neg_integer(), %% Number of bytes in the cache.
c = [] :: iodata()} %% The cache.
).
diff --git a/lib/kernel/src/disk_log_1.erl b/lib/kernel/src/disk_log_1.erl
index 7103417149..8ccdb88d12 100644
--- a/lib/kernel/src/disk_log_1.erl
+++ b/lib/kernel/src/disk_log_1.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(disk_log_1).
@@ -1529,7 +1529,7 @@ write_cache(Fd, FileName, C) ->
Error -> {catch file_error(FileName, Error), #cache{fd = Fd}}
end.
--spec write_cache_close(fd(), file:filename(), iodata()) -> #cache{}. % | throw(Error)
+-spec write_cache_close(file:fd(), file:filename(), iodata()) -> #cache{}. % | throw(Error)
write_cache_close(Fd, _FileName, []) ->
#cache{fd = Fd};
@@ -1539,12 +1539,12 @@ write_cache_close(Fd, FileName, C) ->
Error -> file_error_close(Fd, FileName, Error)
end.
--spec file_error(file:filename(), {'error', atom()}) -> no_return().
+-spec file_error(file:filename(), {'error', file:posix()}) -> no_return().
file_error(FileName, {error, Error}) ->
throw({error, {file_error, FileName, Error}}).
--spec file_error_close(fd(), file:filename(), {'error', atom()}) -> no_return().
+-spec file_error_close(file:fd(), file:filename(), {'error', file:posix()}) -> no_return().
file_error_close(Fd, FileName, {error, Error}) ->
file:close(Fd),
diff --git a/lib/kernel/src/erl_boot_server.erl b/lib/kernel/src/erl_boot_server.erl
index 702b2feac9..b4c5f5e27c 100644
--- a/lib/kernel/src/erl_boot_server.erl
+++ b/lib/kernel/src/erl_boot_server.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% A simple boot_server at a CP.
@@ -53,6 +53,7 @@
bootp :: pid(), %% boot process
prim_state %% state for efile code loader
}).
+-type state() :: #state{}.
-define(single_addr_mask, {255, 255, 255, 255}).
@@ -165,6 +166,8 @@ member_address(_, []) ->
%% call-back functions.
%% ------------------------------------------------------------
+-spec init([atom()]) -> {'ok', state()}.
+
init(Slaves) ->
{ok, U} = gen_udp:open(?EBOOT_PORT, []),
{ok, L} = gen_tcp:listen(0, [binary,{packet,4}]),
@@ -176,15 +179,18 @@ init(Slaves) ->
Pid ! {Ref, L},
%% We trap exit inorder to restart boot_init and udp_port
process_flag(trap_exit, true),
- {ok, #state {priority = 0,
- version = erlang:system_info(version),
- udp_sock = U,
- udp_port = UPort,
- listen_sock = L,
- listen_port = Port,
- slaves = ordsets:from_list(Slaves),
- bootp = Pid
- }}.
+ {ok, #state{priority = 0,
+ version = erlang:system_info(version),
+ udp_sock = U,
+ udp_port = UPort,
+ listen_sock = L,
+ listen_port = Port,
+ slaves = ordsets:from_list(Slaves),
+ bootp = Pid
+ }}.
+
+-spec handle_call('which' | {'add',atom()} | {'delete',atom()}, _, state()) ->
+ {'reply', 'ok' | [atom()], state()}.
handle_call({add,Address}, _, S0) ->
Slaves = ordsets:add_element(Address, S0#state.slaves),
@@ -197,9 +203,13 @@ handle_call({delete,Address}, _, S0) ->
handle_call(which, _, S0) ->
{reply, ordsets:to_list(S0#state.slaves), S0}.
+-spec handle_cast(term(), [atom()]) -> {'noreply', [atom()]}.
+
handle_cast(_, Slaves) ->
{noreply, Slaves}.
+-spec handle_info(term(), state()) -> {'noreply', state()}.
+
handle_info({udp, U, IP, Port, Data}, S0) ->
Token = ?EBOOT_REQUEST ++ S0#state.version,
Valid = member_address(IP, ordsets:to_list(S0#state.slaves)),
@@ -230,9 +240,13 @@ handle_info({udp, U, IP, Port, Data}, S0) ->
handle_info(_Info, S0) ->
{noreply,S0}.
+-spec terminate(term(), state()) -> 'ok'.
+
terminate(_Reason, _S0) ->
ok.
+-spec code_change(term(), state(), term()) -> {'ok', state()}.
+
code_change(_Vsn, State, _Extra) ->
{ok, State}.
@@ -242,6 +256,8 @@ code_change(_Vsn, State, _Extra) ->
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec boot_init(reference()) -> no_return().
+
boot_init(Tag) ->
receive
{Tag, Listen} ->
diff --git a/lib/kernel/src/erl_epmd.erl b/lib/kernel/src/erl_epmd.erl
index e4b371836b..4a22637304 100644
--- a/lib/kernel/src/erl_epmd.erl
+++ b/lib/kernel/src/erl_epmd.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1998-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(erl_epmd).
@@ -40,6 +40,7 @@
-import(lists, [reverse/1]).
-record(state, {socket, port_no = -1, name = ""}).
+-type state() :: #state{}.
-include("inet_int.hrl").
-include("erl_epmd.hrl").
@@ -111,11 +112,18 @@ register_node(Name, PortNo) ->
%%% Callback functions from gen_server
%%%----------------------------------------------------------------------
+-spec init(_) -> {'ok', state()}.
+
init(_) ->
{ok, #state{socket = -1}}.
%%----------------------------------------------------------------------
+-type calls() :: 'client_info_req' | 'stop' | {'register', term(), term()}.
+
+-spec handle_call(calls(), term(), state()) ->
+ {'reply', term(), state()} | {'stop', 'shutdown', 'ok', state()}.
+
handle_call({register, Name, PortNo}, _From, State) ->
case State#state.socket of
P when P < 0 ->
@@ -133,19 +141,23 @@ handle_call({register, Name, PortNo}, _From, State) ->
end;
handle_call(client_info_req, _From, State) ->
- Reply = {ok,{r4,State#state.name,State#state.port_no}},
- {reply,Reply,State};
+ Reply = {ok,{r4,State#state.name,State#state.port_no}},
+ {reply, Reply, State};
handle_call(stop, _From, State) ->
{stop, shutdown, ok, State}.
%%----------------------------------------------------------------------
+-spec handle_cast(term(), state()) -> {'noreply', state()}.
+
handle_cast(_, State) ->
{noreply, State}.
%%----------------------------------------------------------------------
+-spec handle_info(term(), state()) -> {'noreply', state()}.
+
handle_info({tcp_closed, Socket}, State) when State#state.socket =:= Socket ->
{noreply, State#state{socket = -1}};
handle_info(_, State) ->
@@ -153,6 +165,8 @@ handle_info(_, State) ->
%%----------------------------------------------------------------------
+-spec terminate(term(), state()) -> 'ok'.
+
terminate(_, #state{socket = Socket}) when Socket > 0 ->
close(Socket),
ok;
@@ -161,6 +175,8 @@ terminate(_, _) ->
%%----------------------------------------------------------------------
+-spec code_change(term(), state(), term()) -> {'ok', state()}.
+
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
diff --git a/lib/kernel/src/error_handler.erl b/lib/kernel/src/error_handler.erl
index 5f2507fc08..17dd02acd4 100644
--- a/lib/kernel/src/error_handler.erl
+++ b/lib/kernel/src/error_handler.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(error_handler).
@@ -117,13 +117,13 @@ stub_function(Mod, Func, Args) ->
check_inheritance(Module, Args) ->
Attrs = erlang:get_module_info(Module, attributes),
- case lists:keysearch(extends, 1, Attrs) of
- {value,{extends,[Base]}} when is_atom(Base), Base =/= Module ->
+ case lists:keyfind(extends, 1, Attrs) of
+ {extends, [Base]} when is_atom(Base), Base =/= Module ->
%% This is just a heuristic for detecting abstract modules
%% with inheritance so they can be handled; it would be
%% much better to do it in the emulator runtime
- case lists:keysearch(abstract, 1, Attrs) of
- {value,{abstract,[true]}} ->
+ case lists:keyfind(abstract, 1, Attrs) of
+ {abstract, [true]} ->
case lists:reverse(Args) of
[M|Rs] when tuple_size(M) > 1,
element(1,M) =:= Module,
diff --git a/lib/kernel/src/file.erl b/lib/kernel/src/file.erl
index a42771dfb6..46ffa9d708 100644
--- a/lib/kernel/src/file.erl
+++ b/lib/kernel/src/file.erl
@@ -74,15 +74,22 @@
%% data types
-type filename() :: string().
-type file_info() :: #file_info{}.
--type io_device() :: pid() | #file_descriptor{}.
+-type fd() :: #file_descriptor{}.
+-type io_device() :: pid() | fd().
-type location() :: integer() | {'bof', integer()} | {'cur', integer()}
| {'eof', integer()} | 'bof' | 'cur' | 'eof'.
-type mode() :: 'read' | 'write' | 'append' | 'raw' | 'binary' |
{'delayed_write', non_neg_integer(), non_neg_integer()} |
'delayed_write' | {'read_ahead', pos_integer()} |
'read_ahead' | 'compressed'.
+-type name() :: string() | atom() | [name()].
+-type posix() :: atom().
-type bindings() :: any().
+-type date() :: {pos_integer(), pos_integer(), pos_integer()}.
+-type time() :: {non_neg_integer(), non_neg_integer(), non_neg_integer()}.
+-type date_time() :: {date(), time()}.
+
%%%-----------------------------------------------------------------
%%% General functions
diff --git a/lib/kernel/src/file_io_server.erl b/lib/kernel/src/file_io_server.erl
index 37e803c493..3ac35a209d 100644
--- a/lib/kernel/src/file_io_server.erl
+++ b/lib/kernel/src/file_io_server.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(file_io_server).
@@ -106,21 +106,21 @@ do_start(Spawn, Owner, FileName, ModeList) ->
parse_options(List) ->
parse_options(expand_encoding(List), list, latin1, []).
-parse_options([],list,Uni,Acc) ->
+parse_options([], list, Uni, Acc) ->
{list,Uni,[binary|lists:reverse(Acc)]};
-parse_options([],binary,Uni,Acc) ->
+parse_options([], binary, Uni, Acc) ->
{binary,Uni,lists:reverse(Acc)};
-parse_options([{encoding, Encoding}|T],RMode,_,Acc) ->
+parse_options([{encoding, Encoding}|T], RMode, _, Acc) ->
case valid_enc(Encoding) of
{ok, ExpandedEnc} ->
- parse_options(T,RMode,ExpandedEnc,Acc);
- {error,Reason} ->
- {error,Reason}
+ parse_options(T, RMode, ExpandedEnc, Acc);
+ {error,_Reason} = Error ->
+ Error
end;
-parse_options([binary|T],_,Uni,Acc) ->
- parse_options(T,binary,Uni,[binary|Acc]);
-parse_options([H|T],R,U,Acc) ->
- parse_options(T,R,U,[H|Acc]).
+parse_options([binary|T], _, Uni, Acc) ->
+ parse_options(T, binary, Uni, [binary|Acc]);
+parse_options([H|T], R, U, Acc) ->
+ parse_options(T, R, U, [H|Acc]).
expand_encoding([]) ->
[];
@@ -153,7 +153,6 @@ valid_enc(_Other) ->
{error,badarg}.
-
server_loop(#state{mref = Mref} = State) ->
receive
{file_request, From, ReplyAs, Request} when is_pid(From) ->
@@ -326,7 +325,6 @@ io_request(Unknown,
{error,{error,Reason},State}.
-
%% Process a list of requests as long as the results are ok.
io_request_loop([], Result) ->
@@ -342,7 +340,6 @@ io_request_loop([Request|Tail],
io_request_loop(Tail, io_request(Request, State)).
-
%% I/O request put_chars
%%
put_chars(Chars, latin1, #state{handle=Handle, unic=latin1}=State) ->
@@ -653,20 +650,14 @@ do_setopts(Opts, State) ->
end.
getopts(#state{read_mode=RM, unic=Unic} = State) ->
- Bin = {binary, case RM of
- binary ->
- true;
- _ ->
- false
- end},
+ Bin = {binary, RM =:= binary},
Uni = {encoding, Unic},
{reply,[Bin,Uni],State}.
-
%% Concatenate two binaries and convert the result to list or binary
-cat(B1, B2, binary,latin1,latin1) ->
+cat(B1, B2, binary, latin1, latin1) ->
list_to_binary([B1,B2]);
-cat(B1, B2, binary,InEncoding,OutEncoding) ->
+cat(B1, B2, binary, InEncoding, OutEncoding) ->
case unicode:characters_to_binary([B1,B2],InEncoding,OutEncoding) of
Good when is_binary(Good) ->
Good;
diff --git a/lib/kernel/src/file_server.erl b/lib/kernel/src/file_server.erl
index 74f2fb94a9..64c61ba3ac 100644
--- a/lib/kernel/src/file_server.erl
+++ b/lib/kernel/src/file_server.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -62,6 +62,8 @@ stop() ->
%%% Callback functions from gen_server
%%%----------------------------------------------------------------------
+-type state() :: port(). % Internal type
+
%%----------------------------------------------------------------------
%% Func: init/1
%% Returns: {ok, State} |
@@ -69,6 +71,9 @@ stop() ->
%% ignore |
%% {stop, Reason}
%%----------------------------------------------------------------------
+
+-spec init([]) -> {'ok', state()} | {'stop', term()}.
+
init([]) ->
process_flag(trap_exit, true),
case ?PRIM_FILE:start() of
@@ -88,6 +93,12 @@ init([]) ->
%% {stop, Reason, Reply, State} | (terminate/2 is called)
%% {stop, Reason, State} (terminate/2 is called)
%%----------------------------------------------------------------------
+
+-spec handle_call(term(), term(), state()) ->
+ {'noreply', state()} |
+ {'reply', 'eof' | 'ok' | {'error', term()} | {'ok', term()}, state()} |
+ {'stop', 'normal', 'stopped', state()}.
+
handle_call({open, Name, ModeList}, {Pid, _Tag} = _From, Handle)
when is_list(ModeList) ->
Child = ?FILE_IO_SERVER:start_link(Pid, Name, ModeList),
@@ -190,6 +201,9 @@ handle_call(Request, From, Handle) ->
%% {noreply, State, Timeout} |
%% {stop, Reason, State} (terminate/2 is called)
%%----------------------------------------------------------------------
+
+-spec handle_cast(term(), state()) -> {'noreply', state()}.
+
handle_cast(Msg, State) ->
error_logger:error_msg("handle_cast(~p, _)", [Msg]),
{noreply, State}.
@@ -201,6 +215,9 @@ handle_cast(Msg, State) ->
%% {stop, Reason, State} (terminate/2 is called)
%%----------------------------------------------------------------------
+-spec handle_info(term(), state()) ->
+ {'noreply', state()} | {'stop', 'normal', state()}.
+
handle_info({'EXIT', Pid, _Reason}, Handle) when is_pid(Pid) ->
ets:delete(?FILE_IO_SERVER_TABLE, Pid),
{noreply, Handle};
@@ -219,6 +236,9 @@ handle_info(Info, State) ->
%% Purpose: Shutdown the server
%% Returns: any (ignored by gen_server)
%%----------------------------------------------------------------------
+
+-spec terminate(term(), state()) -> 'ok'.
+
terminate(_Reason, Handle) ->
?PRIM_FILE:stop(Handle).
@@ -227,6 +247,9 @@ terminate(_Reason, Handle) ->
%% Purpose: Convert process state when code is changed
%% Returns: {ok, NewState}
%%----------------------------------------------------------------------
+
+-spec code_change(term(), state(), term()) -> {'ok', state()}.
+
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
diff --git a/lib/kernel/src/global.erl b/lib/kernel/src/global.erl
index cc0402da73..081e7e2f93 100644
--- a/lib/kernel/src/global.erl
+++ b/lib/kernel/src/global.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(global).
@@ -112,7 +112,7 @@
resolvers = [],
syncers = [] :: [pid()],
node_name = node() :: node(),
- the_locker, the_deleter, the_registrar, trace,
+ the_locker, the_registrar, trace,
global_lock_down = false
}).
@@ -153,6 +153,8 @@
%%% It can be removed later as can the deleter process.
%%% An extra process calling erlang:monitor() is sometimes created.
%%% The new_nodes messages has been augmented with the global lock id.
+%%%
+%%% R14A (OTP-8527): The deleter process has been removed.
start() ->
gen_server:start({local, global_name_server}, ?MODULE, [], []).
@@ -418,7 +420,6 @@ init([]) ->
S = #state{the_locker = start_the_locker(DoTrace),
trace = T0,
- the_deleter = start_the_deleter(self()),
the_registrar = start_the_registrar()},
S1 = trace_message(S, {init, node()}, []),
@@ -763,13 +764,16 @@ handle_cast({in_sync, Node, _IsKnown}, S) ->
%% Called when Pid on other node crashed
handle_cast({async_del_name, _Name, _Pid}, S) ->
- %% Sent from the_deleter at some node in the partition but node().
+ %% Sent from the_deleter at some node in the partition but node() (-R13B)
%% The DOWN message deletes the name.
+ %% R14A nodes and later do not send async_del_name messages.
{noreply, S};
handle_cast({async_del_lock, _ResourceId, _Pid}, S) ->
- %% Sent from global_name_server at some node in the partition but node().
+ %% Sent from global_name_server at some node in the partition but
+ %% node(). (-R13B)
%% The DOWN message deletes the lock.
+ %% R14A nodes and later do not send async_del_lock messages.
{noreply, S};
handle_cast(Request, S) ->
@@ -778,8 +782,6 @@ handle_cast(Request, S) ->
"handle_cast(~p, _)\n", [Request]),
{noreply, S}.
-handle_info({'EXIT', Deleter, _Reason}=Exit, #state{the_deleter=Deleter}=S) ->
- {stop, {deleter_died,Exit}, S#state{the_deleter=undefined}};
handle_info({'EXIT', Locker, _Reason}=Exit, #state{the_locker=Locker}=S) ->
{stop, {locker_died,Exit}, S#state{the_locker=undefined}};
handle_info({'EXIT', Registrar, _}=Exit, #state{the_registrar=Registrar}=S) ->
@@ -1348,30 +1350,13 @@ lock_still_set(PidOrNode, ExtraInfo, S) ->
[{?GLOBAL_RID, _LockReqId, PidRefs}] when is_pid(PidOrNode) ->
%% Name registration.
lists:keymember(PidOrNode, 1, PidRefs);
- [{?GLOBAL_RID, LockReqId, PidRefs}] when is_atom(PidOrNode) ->
- case extra_info(lock, ExtraInfo) of
- {?GLOBAL_RID, LockId} -> % R11B-4 or later
- LockReqId =:= LockId;
- undefined ->
- lock_still_set_old(PidOrNode, LockReqId, PidRefs)
- end;
+ [{?GLOBAL_RID, LockReqId, _PidRefs}] when is_atom(PidOrNode) ->
+ {?GLOBAL_RID, LockId} = extra_info(lock, ExtraInfo),
+ LockReqId =:= LockId;
[] ->
- %% If the global lock was not removed by a DOWN message
- %% then we have a node that do not monitor locking pids
- %% (pre R11B-3), or an R11B-3 node (which does not ensure
- %% that {new_nodes, ...} arrives before {del_lock, ...}).
not S#state.global_lock_down
end.
-%%% The following is probably overkill. It is possible that this node
-%%% has been locked again, but it is a rare occasion.
-lock_still_set_old(_Node, ReqId, _PidRefs) when is_pid(ReqId) ->
- %% Cannot do better than return true.
- true;
-lock_still_set_old(Node, ReqId, PidRefs) when is_list(ReqId) ->
- %% Connection, version > 4, but before R11B-4.
- [P || {P, _RPid, _Ref} <- PidRefs, node(P) =:= Node] =/= [].
-
extra_info(Tag, ExtraInfo) ->
%% ExtraInfo used to be a list of nodes (vsn 2).
case catch lists:keyfind(Tag, 1, ExtraInfo) of
@@ -1382,36 +1367,18 @@ extra_info(Tag, ExtraInfo) ->
end.
del_name(Ref, S) ->
- NameL = [{Name, Pid} ||
+ NameL = [Name ||
{_, Name} <- ets:lookup(global_pid_names, Ref),
- {_, Pid, _Method, _RPid, Ref1} <-
+ {_, _Pid, _Method, _RPid, Ref1} <-
ets:lookup(global_names, Name),
Ref1 =:= Ref],
- ?trace({async_del_name, self(), NameL, Ref}),
case NameL of
- [{Name, Pid}] ->
- _ = del_names(Name, Pid, S),
+ [Name] ->
delete_global_name2(Name, S);
[] ->
S
end.
-%% Send {async_del_name, ...} to old nodes (pre R11B-3).
-del_names(Name, Pid, S) ->
- Send = case ets:lookup(global_names_ext, Name) of
- [{Name, Pid, RegNode}] ->
- RegNode =:= node();
- [] ->
- node(Pid) =:= node()
- end,
- if
- Send ->
- ?trace({del_names, {pid,Pid}, {name,Name}}),
- S#state.the_deleter ! {delete_name, self(), Name, Pid};
- true ->
- ok
- end.
-
%% Keeps the entry in global_names for whereis_name/1.
delete_global_name_keep_pid(Name, S) ->
case ets:lookup(global_names, Name) of
@@ -1986,7 +1953,6 @@ pid_is_locking(Pid, PidRefs) ->
delete_lock(Ref, S0) ->
Locks = pid_locks(Ref),
- del_locks(Locks, Ref, S0#state.known),
F = fun({ResourceId, LockRequesterId, PidRefs}, S) ->
{Pid, _RPid, Ref} = lists:keyfind(Ref, 3, PidRefs),
remove_lock(ResourceId, LockRequesterId, Pid, PidRefs, true,S)
@@ -2003,20 +1969,6 @@ pid_locks(Ref) ->
rpid_is_locking(Ref, PidRefs) ->
lists:keyfind(Ref, 3, PidRefs) =/= false.
-%% Send {async_del_lock, ...} to old nodes (pre R11B-3).
-del_locks([{ResourceId, _LockReqId, PidRefs} | Tail], Ref, KnownNodes) ->
- {Pid, _RPid, Ref} = lists:keyfind(Ref, 3, PidRefs),
- case node(Pid) =:= node() of
- true ->
- gen_server:abcast(KnownNodes, global_name_server,
- {async_del_lock, ResourceId, Pid});
- false ->
- ok
- end,
- del_locks(Tail, Ref, KnownNodes);
-del_locks([], _Ref, _KnownNodes) ->
- ok.
-
handle_nodedown(Node, S) ->
%% DOWN signals from monitors have removed locks and registered names.
#state{known = Known, synced = Syncs} = S,
@@ -2147,51 +2099,6 @@ get_own_nodes() ->
OkTup
end.
-%%-----------------------------------------------------------------
-%% The deleter process is a satellite process to global_name_server
-%% that does background batch deleting of names when a process
-%% that had globally registered names dies. It is started by and
-%% linked to global_name_server.
-%%-----------------------------------------------------------------
-
-start_the_deleter(Global) ->
- spawn_link(fun() -> loop_the_deleter(Global) end).
-
-loop_the_deleter(Global) ->
- Deletions = collect_deletions(Global, []),
- ?trace({loop_the_deleter, self(), {deletions,Deletions},
- {names,get_names()}}),
- %% trans_all_known is called rather than trans/3 with nodes() as
- %% third argument. The reason is that known gets updated by
- %% new_nodes when the lock is still set. nodes() on the other hand
- %% could be updated later (if in_sync is received after the lock
- %% is gone). It is not likely that in_sync would be received after
- %% the lock has been taken here, but using trans_all_known makes it
- %% even less likely.
- trans_all_known(
- fun(Known) ->
- lists:map(
- fun({Name,Pid}) ->
- gen_server:abcast(Known, global_name_server,
- {async_del_name, Name, Pid})
- end, Deletions)
- end),
- loop_the_deleter(Global).
-
-collect_deletions(Global, Deletions) ->
- receive
- {delete_name, Global, Name, Pid} ->
- collect_deletions(Global, [{Name,Pid} | Deletions]);
- Other ->
- unexpected_message(Other, deleter),
- collect_deletions(Global, Deletions)
- after case Deletions of
- [] -> infinity;
- _ -> 0
- end ->
- lists:reverse(Deletions)
- end.
-
%% The registrar is a helper process that registers and unregisters
%% names. Since it never dies it assures that names are registered and
%% unregistered on all known nodes. It is started by and linked to
diff --git a/lib/kernel/src/group.erl b/lib/kernel/src/group.erl
index a45ba34eae..f92c6f7208 100644
--- a/lib/kernel/src/group.erl
+++ b/lib/kernel/src/group.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(group).
@@ -477,15 +477,15 @@ get_line(Chars, Pbs, Drv, Encoding) ->
get_line1(edlin:edit_line(Chars, Cont), Drv, new_stack(get(line_buffer)),
Encoding).
-get_line1({done,Line,Rest,Rs}, Drv, _Ls, _Encoding) ->
+get_line1({done,Line,Rest,Rs}, Drv, Ls, _Encoding) ->
send_drv_reqs(Drv, Rs),
- put(line_buffer, [Line|lists:delete(Line, get(line_buffer))]),
+ save_line_buffer(Line, get_lines(Ls)),
{done,Line,Rest};
get_line1({undefined,{_A,Mode,Char},Cs,Cont,Rs}, Drv, Ls0, Encoding)
when ((Mode =:= none) and (Char =:= $\^P))
or ((Mode =:= meta_left_sq_bracket) and (Char =:= $A)) ->
send_drv_reqs(Drv, Rs),
- case up_stack(Ls0) of
+ case up_stack(save_line(Ls0, edlin:current_line(Cont))) of
{none,_Ls} ->
send_drv(Drv, beep),
get_line1(edlin:edit_line(Cs, Cont), Drv, Ls0, Encoding);
@@ -498,14 +498,14 @@ get_line1({undefined,{_A,Mode,Char},Cs,Cont,Rs}, Drv, Ls0, Encoding)
Drv,
Ls, Encoding)
end;
-get_line1({undefined,{_A,Mode,Char},_Cs,Cont,Rs}, Drv, Ls0, Encoding)
+get_line1({undefined,{_A,Mode,Char},Cs,Cont,Rs}, Drv, Ls0, Encoding)
when ((Mode =:= none) and (Char =:= $\^N))
or ((Mode =:= meta_left_sq_bracket) and (Char =:= $B)) ->
send_drv_reqs(Drv, Rs),
- case down_stack(Ls0) of
- {none,Ls} ->
- send_drv_reqs(Drv, edlin:erase_line(Cont)),
- get_line1(edlin:start(edlin:prompt(Cont)), Drv, Ls, Encoding);
+ case down_stack(save_line(Ls0, edlin:current_line(Cont))) of
+ {none,_Ls} ->
+ send_drv(Drv, beep),
+ get_line1(edlin:edit_line(Cs, Cont), Drv, Ls0, Encoding);
{Lcs,Ls} ->
send_drv_reqs(Drv, edlin:erase_line(Cont)),
{more_chars,Ncont,Nrs} = edlin:start(edlin:prompt(Cont)),
@@ -627,6 +627,28 @@ down_stack({stack,U,{},[]}) ->
down_stack({stack,U,C,D}) ->
down_stack({stack,[C|U],{},D}).
+save_line({stack, U, {}, []}, Line) ->
+ {stack, U, {}, [Line]};
+save_line({stack, U, _L, D}, Line) ->
+ {stack, U, Line, D}.
+
+get_lines({stack, U, {}, []}) ->
+ U;
+get_lines({stack, U, {}, D}) ->
+ tl(lists:reverse(D, U));
+get_lines({stack, U, L, D}) ->
+ get_lines({stack, U, {}, [L|D]}).
+
+save_line_buffer("\n", Lines) ->
+ save_line_buffer(Lines);
+save_line_buffer(Line, [Line|_Lines]=Lines) ->
+ save_line_buffer(Lines);
+save_line_buffer(Line, Lines) ->
+ save_line_buffer([Line|Lines]).
+
+save_line_buffer(Lines) ->
+ put(line_buffer, Lines).
+
%% This is get_line without line editing (except for backspace) and
%% without echo.
get_password_line(Chars, Drv) ->
diff --git a/lib/kernel/src/heart.erl b/lib/kernel/src/heart.erl
index bad0950fca..e78acfc7a6 100644
--- a/lib/kernel/src/heart.erl
+++ b/lib/kernel/src/heart.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(heart).
@@ -61,8 +61,8 @@ start() ->
wait_for_init_ack(From) ->
receive
- {ok, From} ->
- {ok, From};
+ {ok, From} = Ok ->
+ Ok;
{no_heart, From} ->
ignore;
{Error, From} ->
@@ -119,8 +119,7 @@ wait() ->
start_portprogram() ->
check_start_heart(),
- HeartCmd = "heart -pid " ++ os:getpid() ++ " " ++
- get_heart_timeouts(),
+ HeartCmd = "heart -pid " ++ os:getpid() ++ " " ++ get_heart_timeouts(),
try open_port({spawn, HeartCmd}, [{packet, 2}]) of
Port when is_port(Port) ->
case wait_ack(Port) of
@@ -175,7 +174,7 @@ wait_ack(Port) ->
loop(Parent, Port, Cmd) ->
send_heart_beat(Port),
receive
- {From, set_cmd, NewCmd} when is_list(NewCmd), length(NewCmd) < 2047 ->
+ {From, set_cmd, NewCmd} when length(NewCmd) < 2047 ->
send_heart_cmd(Port, NewCmd),
wait_ack(Port),
From ! {heart, ok},
diff --git a/lib/kernel/src/inet6_tcp_dist.erl b/lib/kernel/src/inet6_tcp_dist.erl
index 34cf582af7..fab00bbb9f 100644
--- a/lib/kernel/src/inet6_tcp_dist.erl
+++ b/lib/kernel/src/inet6_tcp_dist.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(inet6_tcp_dist).
@@ -87,7 +87,7 @@ accept(Listen) ->
accept_loop(Kernel, Listen) ->
case inet6_tcp:accept(Listen) of
{ok, Socket} ->
- Kernel ! {accept,self(),Socket,inet,tcp},
+ Kernel ! {accept,self(),Socket,inet6,tcp},
controller(Kernel, Socket),
accept_loop(Kernel, Listen);
Error ->
@@ -236,8 +236,8 @@ do_setup(Kernel, Node, Type, MyNode, LongOrShortNames,SetupTime) ->
timer = Timer,
this_flags = 0,
other_version = Version,
- f_send = fun inet_tcp:send/2,
- f_recv = fun inet_tcp:recv/3,
+ f_send = fun inet6_tcp:send/2,
+ f_recv = fun inet6_tcp:recv/3,
f_setopts_pre_nodeup =
fun(S) ->
inet:setopts
@@ -262,7 +262,7 @@ do_setup(Kernel, Node, Type, MyNode, LongOrShortNames,SetupTime) ->
address = {Ip,TcpPort},
host = Address,
protocol = tcp,
- family = inet}
+ family = inet6}
end,
mf_tick = fun ?MODULE:tick/1,
mf_getstat = fun ?MODULE:getstat/1,
@@ -302,12 +302,17 @@ splitnode(Node, LongOrShortNames) ->
Host = lists:append(Tail),
case split_node(Host, $., []) of
[_] when LongOrShortNames =:= longnames ->
- error_msg("** System running to use "
- "fully qualified "
- "hostnames **~n"
- "** Hostname ~s is illegal **~n",
- [Host]),
- ?shutdown(Node);
+ case inet_parse:ipv6strict_address(Host) of
+ {ok, _} ->
+ [Name, Host];
+ _ ->
+ error_msg("** System running to use "
+ "fully qualified "
+ "hostnames **~n"
+ "** Hostname ~s is illegal **~n",
+ [Host]),
+ ?shutdown(Node)
+ end;
L when length(L) > 1, LongOrShortNames =:= shortnames ->
error_msg("** System NOT running to use fully qualified "
"hostnames **~n"
diff --git a/lib/kernel/src/inet_db.erl b/lib/kernel/src/inet_db.erl
index a05b380855..d4749b9756 100644
--- a/lib/kernel/src/inet_db.erl
+++ b/lib/kernel/src/inet_db.erl
@@ -88,6 +88,7 @@
hosts_file_byaddr, %% hosts table from system file
cache_timer %% timer reference for refresh
}).
+-type state() :: #state{}.
-include("inet.hrl").
-include("inet_int.hrl").
@@ -101,14 +102,14 @@
start() ->
case gen_server:start({local, inet_db}, inet_db, [], []) of
- {ok,Pid} -> inet_config:init(), {ok,Pid};
+ {ok, _Pid}=Ok -> inet_config:init(), Ok;
Error -> Error
end.
start_link() ->
case gen_server:start_link({local, inet_db}, inet_db, [], []) of
- {ok,Pid} -> inet_config:init(), {ok,Pid};
+ {ok, _Pid}=Ok -> inet_config:init(), Ok;
Error -> Error
end.
@@ -139,7 +140,6 @@ add_hosts(File) ->
Error -> Error
end.
-
add_host(IP, Names) -> call({add_host, IP, Names}).
del_host(IP) -> call({del_host, IP}).
@@ -481,10 +481,7 @@ res_check_option_absfile(F) ->
res_check_list([], _Fun) -> true;
res_check_list([H|T], Fun) ->
- case Fun(H) of
- true -> res_check_list(T, Fun);
- false -> false
- end;
+ Fun(H) andalso res_check_list(T, Fun);
res_check_list(_, _Fun) -> false.
res_check_ns({{A,B,C,D,E,F,G,H}, Port})
@@ -496,12 +493,12 @@ res_check_ns(_) -> false.
res_check_search("") -> true;
res_check_search(Dom) -> inet_parse:visible_string(Dom).
-socks_option(server) -> db_get(socks5_server);
-socks_option(port) -> db_get(socks5_port);
-socks_option(methods) -> db_get(socks5_methods);
-socks_option(noproxy) -> db_get(socks5_noproxy).
+socks_option(server) -> db_get(socks5_server);
+socks_option(port) -> db_get(socks5_port);
+socks_option(methods) -> db_get(socks5_methods);
+socks_option(noproxy) -> db_get(socks5_noproxy).
-gethostname() -> db_get(hostname).
+gethostname() -> db_get(hostname).
res_update_conf() ->
res_update(res_resolv_conf, res_resolv_conf_tm, res_resolv_conf_info,
@@ -590,15 +587,13 @@ getbyname(Name, Type) ->
getbysearch(Name, Dot, [Dom | Ds], Type, _) ->
case hostent_by_domain(Name ++ Dot ++ Dom, Type) of
- {ok, HEnt} -> {ok, HEnt};
- Error ->
- getbysearch(Name, Dot, Ds, Type, Error)
+ {ok, _HEnt}=Ok -> Ok;
+ Error -> getbysearch(Name, Dot, Ds, Type, Error)
end;
getbysearch(_Name, _Dot, [], _Type, Error) ->
Error.
-
%%
%% get_searchlist
%%
@@ -609,7 +604,6 @@ get_searchlist() ->
end.
-
make_hostent(Name, Addrs, Aliases, ?S_A) ->
#hostent {
h_name = Name,
@@ -844,6 +838,9 @@ lookup_socket(Socket) when is_port(Socket) ->
%% node_auth Ls - Default authenication
%% node_crypt Ls - Default encryption
%%
+
+-spec init([]) -> {'ok', state()}.
+
init([]) ->
process_flag(trap_exit, true),
Db = ets:new(inet_db, [public, named_table]),
@@ -897,6 +894,10 @@ reset_db(Db) ->
%% {stop, Reason, Reply, State} | (terminate/2 is called)
%% {stop, Reason, Reply, State} (terminate/2 is called)
%%----------------------------------------------------------------------
+
+-spec handle_call(term(), {pid(), term()}, state()) ->
+ {'reply', term(), state()} | {'stop', 'normal', 'ok', state()}.
+
handle_call(Request, From, #state{db=Db}=State) ->
case Request of
{load_hosts_file,IPNmAs} when is_list(IPNmAs) ->
@@ -1138,13 +1139,15 @@ handle_call(Request, From, #state{db=Db}=State) ->
{reply, error, State}
end.
-
%%----------------------------------------------------------------------
%% Func: handle_cast/2
%% Returns: {noreply, State} |
%% {noreply, State, Timeout} |
%% {stop, Reason, State} (terminate/2 is called)
%%----------------------------------------------------------------------
+
+-spec handle_cast(term(), state()) -> {'noreply', state()}.
+
handle_cast(_Msg, State) ->
{noreply, State}.
@@ -1154,6 +1157,9 @@ handle_cast(_Msg, State) ->
%% {noreply, State, Timeout} |
%% {stop, Reason, State} (terminate/2 is called)
%%----------------------------------------------------------------------
+
+-spec handle_info(term(), state()) -> {'noreply', state()}.
+
handle_info(refresh_timeout, State) ->
do_refresh_cache(State#state.cache),
{noreply, State#state{cache_timer = init_timer()}};
@@ -1166,6 +1172,9 @@ handle_info(_Info, State) ->
%% Purpose: Shutdown the server
%% Returns: any (ignored by gen_server)
%%----------------------------------------------------------------------
+
+-spec terminate(term(), state()) -> 'ok'.
+
terminate(_Reason, State) ->
stop_timer(State#state.cache_timer),
ok.
@@ -1342,16 +1351,15 @@ do_add_rr(RR, Db, State) ->
TM = times(),
case alloc_entry(Db, CacheDb, TM) of
true ->
- cache_rr(Db, CacheDb, RR#dns_rr { tm = TM,
- cnt = TM });
+ cache_rr(Db, CacheDb, RR#dns_rr{tm = TM, cnt = TM});
_ ->
false
end.
cache_rr(_Db, Cache, RR) ->
%% delete possible old entry
- ets:match_delete(Cache, RR#dns_rr { cnt = '_', tm = '_', ttl = '_',
- bm = '_', func = '_'}),
+ ets:match_delete(Cache, RR#dns_rr{cnt = '_', tm = '_', ttl = '_',
+ bm = '_', func = '_'}),
ets:insert(Cache, RR).
times() ->
@@ -1361,9 +1369,9 @@ times() ->
%% lookup and remove old entries
do_lookup_rr(Domain, Class, Type) ->
- match_rr(#dns_rr { domain = tolower(Domain), class = Class,type = Type,
- cnt = '_', tm = '_', ttl = '_',
- bm = '_', func = '_', data = '_'}).
+ match_rr(#dns_rr{domain = tolower(Domain), class = Class,type = Type,
+ cnt = '_', tm = '_', ttl = '_',
+ bm = '_', func = '_', data = '_'}).
match_rr(RR) ->
filter_rr(ets:match_object(inet_cache, RR), times()).
@@ -1414,7 +1422,7 @@ dn_in_addr_arpa(A,B,C,D) ->
integer_to_list(A) ++ ".in-addr.arpa".
dnib(X) ->
- [ hex(X), $., hex(X bsr 4), $., hex(X bsr 8), $., hex(X bsr 12), $.].
+ [hex(X), $., hex(X bsr 4), $., hex(X bsr 8), $., hex(X bsr 12), $.].
hex(X) ->
X4 = (X band 16#f),
@@ -1509,12 +1517,7 @@ alloc_entry(CacheDb, OldSize, TM, N) ->
delete_n_oldest(CacheDb, TM, OldestTM, N) ->
DelTM = trunc((TM - OldestTM) * 0.3) + OldestTM,
- case delete_older(CacheDb, DelTM, N) of
- 0 ->
- false;
- _ ->
- true
- end.
+ delete_older(CacheDb, DelTM, N) =/= 0.
%% Delete entries with latest access time older than TM.
%% Delete max N number of entries.
diff --git a/lib/kernel/src/inet_gethost_native.erl b/lib/kernel/src/inet_gethost_native.erl
index fabe9bf8b3..db3e44ce6f 100644
--- a/lib/kernel/src/inet_gethost_native.erl
+++ b/lib/kernel/src/inet_gethost_native.erl
@@ -106,8 +106,11 @@
pool_size = 4, % Number of C processes in pool.
statistics % Statistics record (records error causes).
}).
+-type state() :: #state{}.
%% The supervisor bridge code
+-spec init([]) -> {'ok', pid(), pid()} | {'error', term()}.
+
init([]) -> % Called by supervisor_bridge:start_link
Ref = make_ref(),
SaveTE = process_flag(trap_exit,true),
@@ -151,11 +154,13 @@ run_once() ->
{Port, {data, <<1:32, BinReply/binary>>}} ->
Pid ! {R, {ok, BinReply}}
after Timeout ->
- Pid ! {R,{error,timeout}}
+ Pid ! {R, {error, timeout}}
end.
-terminate(_Reason,Pid) ->
- (catch exit(Pid,kill)),
+-spec terminate(term(), pid()) -> 'ok'.
+
+terminate(_Reason, Pid) ->
+ (catch exit(Pid, kill)),
ok.
%%-----------------------------------------------------------------------
@@ -337,14 +342,14 @@ pick_client(State,RID,Clid) ->
{last, SoleClient}; % Note, not removed, the caller
% should cleanup request data
CList ->
- case lists:keysearch(Clid,1,CList) of
- {value, Client} ->
+ case lists:keyfind(Clid,1,CList) of
+ false ->
+ false;
+ Client ->
NCList = lists:keydelete(Clid,1,CList),
ets:insert(State#state.requests,
R#request{clients = NCList}),
- {more, Client};
- false ->
- false
+ {more, Client}
end
end
end.
@@ -382,8 +387,7 @@ restart_port(#state{port = Port, requests = Requests}) ->
end,
Requests),
NewPort.
-
-
+
do_open_port(Poolsize, ExtraArgs) ->
try
@@ -431,6 +435,7 @@ system_continue(_Parent, _, State) ->
system_terminate(Reason, _Parent, _, _State) ->
exit(Reason).
+-spec system_code_change(state(), module(), term(), term()) -> {'ok', state()}.
system_code_change(State, _Module, _OldVsn, _Extra) ->
{ok, State}. %% Nothing to do in this version.
diff --git a/lib/kernel/src/kernel_config.erl b/lib/kernel/src/kernel_config.erl
index e5e9a0498d..b1daf655c9 100644
--- a/lib/kernel/src/kernel_config.erl
+++ b/lib/kernel/src/kernel_config.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(kernel_config).
@@ -40,6 +40,9 @@ start_link() -> gen_server:start_link(kernel_config, [], []).
%%-----------------------------------------------------------------
%% Callback functions from gen_server
%%-----------------------------------------------------------------
+
+-spec init([]) -> {'ok', []} | {'stop', term()}.
+
init([]) ->
process_flag(trap_exit, true),
case sync_nodes() of
@@ -59,18 +62,28 @@ init([]) ->
{stop, Error}
end.
+-spec handle_info(term(), State) -> {'noreply', State}.
+
handle_info(_, State) ->
{noreply, State}.
+-spec terminate(term(), term()) -> 'ok'.
+
terminate(_Reason, _State) ->
ok.
+-spec handle_call(term(), term(), State) -> {'reply', 'ok', State}.
+
handle_call('__not_used', _From, State) ->
{reply, ok, State}.
+-spec handle_cast(term(), State) -> {'noreply', State}.
+
handle_cast('__not_used', State) ->
{noreply, State}.
+-spec code_change(term(), State, term()) -> {'ok', State}.
+
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
@@ -79,9 +92,9 @@ code_change(_OldVsn, State, _Extra) ->
%%-----------------------------------------------------------------
sync_nodes() ->
case catch get_sync_data() of
- {error, Reason} ->
+ {error, Reason} = Error ->
error_logger:format("~p", [Reason]),
- {error, Reason};
+ Error;
{infinity, MandatoryNodes, OptionalNodes} ->
case wait_nodes(MandatoryNodes, OptionalNodes) of
ok ->
diff --git a/lib/kernel/src/os.erl b/lib/kernel/src/os.erl
index 196e6cdeb2..d0b498edc9 100644
--- a/lib/kernel/src/os.erl
+++ b/lib/kernel/src/os.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(os).
@@ -169,6 +169,7 @@ unix_cmd(Cmd) ->
%% $1 parameter for easy identification of the resident shell.
%%
-define(SHELL, "/bin/sh -s unix:cmd 2>&1").
+-define(PORT_CREATOR_NAME, os_cmd_port_creator).
%%
%% Serializing open_port through a process to avoid smp lock contention
@@ -176,18 +177,37 @@ unix_cmd(Cmd) ->
%%
-spec start_port() -> port().
start_port() ->
- {Ref,Client} = {make_ref(),self()},
- try (os_cmd_port_creator ! {Ref,Client})
- catch
- error:_ -> spawn(fun() -> start_port_srv({Ref,Client}) end)
- end,
+ Ref = make_ref(),
+ Request = {Ref,self()},
+ {Pid, Mon} = case whereis(?PORT_CREATOR_NAME) of
+ undefined ->
+ spawn_monitor(fun() ->
+ start_port_srv(Request)
+ end);
+ P ->
+ P ! Request,
+ M = erlang:monitor(process, P),
+ {P, M}
+ end,
receive
- {Ref,Port} when is_port(Port) -> Port;
- {Ref,Error} -> exit(Error)
+ {Ref, Port} when is_port(Port) ->
+ erlang:demonitor(Mon, [flush]),
+ Port;
+ {Ref, Error} ->
+ erlang:demonitor(Mon, [flush]),
+ exit(Error);
+ {'DOWN', Mon, process, Pid, _Reason} ->
+ start_port()
end.
start_port_srv(Request) ->
- StayAlive = try register(os_cmd_port_creator, self())
+ %% We don't want a group leader of some random application. Use
+ %% kernel_sup's group leader.
+ {group_leader, GL} = process_info(whereis(kernel_sup),
+ group_leader),
+ true = group_leader(GL, self()),
+ process_flag(trap_exit, true),
+ StayAlive = try register(?PORT_CREATOR_NAME, self())
catch
error:_ -> false
end,
@@ -196,7 +216,7 @@ start_port_srv(Request) ->
start_port_srv_loop({Ref,Client}, StayAlive) ->
Reply = try open_port({spawn, ?SHELL},[stream]) of
Port when is_port(Port) ->
- port_connect(Port, Client),
+ (catch port_connect(Port, Client)),
unlink(Port),
Port
catch
@@ -205,10 +225,19 @@ start_port_srv_loop({Ref,Client}, StayAlive) ->
end,
Client ! {Ref,Reply},
case StayAlive of
- true -> start_port_srv_loop(receive Msg -> Msg end, true);
+ true -> start_port_srv_loop(get_open_port_request(), true);
false -> exiting
end.
+get_open_port_request() ->
+ receive
+ {Ref, Client} = Request when is_reference(Ref),
+ is_pid(Client) ->
+ Request;
+ _Junk ->
+ get_open_port_request()
+ end.
+
%%
%% unix_get_data(Port) -> Result
%%
diff --git a/lib/kernel/src/rpc.erl b/lib/kernel/src/rpc.erl
index d69f2a12ad..e09acb5024 100644
--- a/lib/kernel/src/rpc.erl
+++ b/lib/kernel/src/rpc.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(rpc).
@@ -56,7 +56,7 @@
-export([safe_multi_server_call/2,safe_multi_server_call/3]).
%% gen_server exports
--export([init/1,handle_call/3,handle_cast/2,handle_info/2,
+-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
%% Internals
@@ -64,13 +64,23 @@
%%------------------------------------------------------------------------
+-type state() :: gb_tree().
+
+%%------------------------------------------------------------------------
+
%% Remote execution and broadcasting facility
+-spec start() -> {'ok', pid()} | 'ignore' | {'error', term()}.
+
start() ->
- gen_server:start({local,?NAME},?MODULE,[],[]).
+ gen_server:start({local,?NAME}, ?MODULE, [], []).
+
+-spec start_link() -> {'ok', pid()} | 'ignore' | {'error', term()}.
start_link() ->
- gen_server:start_link({local,?NAME},?MODULE,[],[]).
+ gen_server:start_link({local,?NAME}, ?MODULE, [], []).
+
+-spec stop() -> term().
stop() ->
stop(?NAME).
@@ -78,11 +88,17 @@ stop() ->
stop(Rpc) ->
gen_server:call(Rpc, stop, infinity).
--spec init([]) -> {'ok', gb_tree()}.
+-spec init([]) -> {'ok', state()}.
+
init([]) ->
process_flag(trap_exit, true),
{ok, gb_trees:empty()}.
+-spec handle_call(term(), term(), state()) ->
+ {'noreply', state()} |
+ {'reply', term(), state()} |
+ {'stop', 'normal', 'stopped', state()}.
+
handle_call({call, Mod, Fun, Args, Gleader}, To, S) ->
handle_call_call(Mod, Fun, Args, Gleader, To, S);
handle_call({block_call, Mod, Fun, Args, Gleader}, _To, S) ->
@@ -102,17 +118,18 @@ handle_call(stop, _To, S) ->
handle_call(_, _To, S) ->
{noreply, S}. % Ignore !
+-spec handle_cast(term(), state()) -> {'noreply', state()}.
handle_cast({cast, Mod, Fun, Args, Gleader}, S) ->
- spawn(
- fun() ->
- set_group_leader(Gleader),
- apply(Mod, Fun, Args)
- end),
- {noreply, S};
+ spawn(fun() ->
+ set_group_leader(Gleader),
+ apply(Mod, Fun, Args)
+ end),
+ {noreply, S};
handle_cast(_, S) ->
{noreply, S}. % Ignore !
+-spec handle_info(term(), state()) -> {'noreply', state()}.
handle_info({'DOWN', _, process, Caller, Reason}, S) ->
case gb_trees:lookup(Caller, S) of
@@ -145,7 +162,7 @@ handle_info({From, {sbcast, Name, Msg}}, S) ->
_ ->
From ! {?NAME, node(), node()}
end,
- {noreply,S};
+ {noreply, S};
handle_info({From, {send, Name, Msg}}, S) ->
case catch Name ! {From, Msg} of %% use catch to get the printout
{'EXIT', _} ->
@@ -153,16 +170,20 @@ handle_info({From, {send, Name, Msg}}, S) ->
_ ->
ok %% It's up to Name to respond !!!!!
end,
- {noreply,S};
+ {noreply, S};
handle_info({From, {call,Mod,Fun,Args,Gleader}}, S) ->
%% Special for hidden C node's, uugh ...
handle_call_call(Mod, Fun, Args, Gleader, {From,?NAME}, S);
handle_info(_, S) ->
- {noreply,S}.
+ {noreply, S}.
+
+-spec terminate(term(), state()) -> 'ok'.
terminate(_, _S) ->
ok.
+-spec code_change(term(), state(), term()) -> {'ok', state()}.
+
code_change(_, S, _) ->
{ok, S}.
@@ -209,7 +230,7 @@ proxy_user() ->
case whereis(rex_proxy_user) of
Pid when is_pid(Pid) -> Pid;
undefined ->
- Pid = spawn(fun()-> proxy_user_loop() end),
+ Pid = spawn(fun() -> proxy_user_loop() end),
try register(rex_proxy_user,Pid) of
true -> Pid
catch error:_ -> % spawn race, kill and try again
@@ -226,6 +247,8 @@ proxy_user_loop() ->
undefined -> proxy_user_loop()
end.
+-spec proxy_user_flush() -> no_return().
+
proxy_user_flush() ->
%% Forward all received messages to 'user'
receive Msg ->
diff --git a/lib/kernel/src/standard_error.erl b/lib/kernel/src/standard_error.erl
index 73901d9896..e41dcd01fc 100644
--- a/lib/kernel/src/standard_error.erl
+++ b/lib/kernel/src/standard_error.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(standard_error).
@@ -24,8 +24,6 @@
-define(NAME, standard_error).
-define(PROCNAME_SUP, standard_error_sup).
-%% Internal exports
--export([server/1, server/2]).
%% Defines for control ops
-define(CTRL_OP_GET_WINSIZE,100).
@@ -33,13 +31,19 @@
%%
%% The basic server and start-up.
%%
+-spec start_link() -> 'ignore' | {'error',term()} | {'ok',pid()}.
+
start_link() ->
supervisor_bridge:start_link({local, ?PROCNAME_SUP}, ?MODULE, []).
+-spec terminate(term(), pid()) -> 'ok'.
+
terminate(_Reason,Pid) ->
(catch exit(Pid,kill)),
ok.
+-spec init([]) -> {'error','no_stderror'} | {'ok',pid(),pid()}.
+
init([]) ->
case (catch start_port([out,binary])) of
Pid when is_pid(Pid) ->
@@ -48,18 +52,11 @@ init([]) ->
{error,no_stderror}
end.
-
start_port(PortSettings) ->
- Id = spawn(?MODULE,server,[{fd,2,2},PortSettings]),
- register(?NAME,Id),
+ Id = spawn(fun () -> server({fd,2,2}, PortSettings) end),
+ register(?NAME, Id),
Id.
-
-server(Pid) when is_pid(Pid) ->
- process_flag(trap_exit, true),
- link(Pid),
- run(Pid).
-
server(PortName,PortSettings) ->
process_flag(trap_exit, true),
Port = open_port(PortName,PortSettings),
@@ -82,17 +79,15 @@ server_loop(Port) ->
server_loop(Port)
end.
-
get_fd_geometry(Port) ->
case (catch port_control(Port,?CTRL_OP_GET_WINSIZE,[])) of
- List when is_list(List), length(List) =:= 8 ->
+ List when length(List) =:= 8 ->
<<W:32/native,H:32/native>> = list_to_binary(List),
{W,H};
_ ->
error
end.
-
%% NewSaveBuffer = io_request(Request, FromPid, ReplyAs, Port, SaveBuffer)
do_io_request(Req, From, ReplyAs, Port) ->
@@ -221,12 +216,7 @@ do_setopts(Opts, _Port) ->
{ok,ok}.
getopts(_Port) ->
- Uni = {unicode, case get(unicode) of
- true ->
- true;
- _ ->
- false
- end},
+ Uni = {unicode, get(unicode) =:= true},
{ok,[Uni]}.
wrap_characters_to_binary(Chars,From,To) ->
diff --git a/lib/kernel/src/user.erl b/lib/kernel/src/user.erl
index 17dc5a56a2..88f32df20b 100644
--- a/lib/kernel/src/user.erl
+++ b/lib/kernel/src/user.erl
@@ -26,9 +26,6 @@
-define(NAME, user).
-%% Internal exports
--export([server/1, server/2]).
-
%% Defines for control ops
-define(CTRL_OP_GET_WINSIZE,100).
@@ -43,7 +40,7 @@ start([Mod,Fun|Args]) ->
%% Mod,Fun,Args should return a pid. That process is supposed to act
%% as the io port.
Pid = apply(Mod, Fun, Args), % This better work!
- Id = spawn(?MODULE, server, [Pid]),
+ Id = spawn(fun() -> server(Pid) end),
register(?NAME, Id),
Id.
@@ -52,8 +49,8 @@ start_out() ->
start_port([out,binary]).
start_port(PortSettings) ->
- Id = spawn(?MODULE,server,[{fd,0,1},PortSettings]),
- register(?NAME,Id),
+ Id = spawn(fun() -> server({fd,0,1}, PortSettings) end),
+ register(?NAME, Id),
Id.
%% Return the pid of the shell process.
@@ -72,7 +69,6 @@ interfaces(User) ->
[]
end.
-
server(Pid) when is_pid(Pid) ->
process_flag(trap_exit, true),
link(Pid),
@@ -104,7 +100,7 @@ catch_loop(Port, Shell, Q) ->
new_shell ->
exit(Shell, kill),
catch_loop(Port, start_new_shell());
- {unknown_exit,{Shell,Reason},_} -> % shell has exited
+ {unknown_exit,{Shell,Reason},_} -> % shell has exited
case Reason of
normal ->
put_chars("*** ", Port, []);
@@ -172,7 +168,7 @@ server_loop(Port, Q) ->
get_fd_geometry(Port) ->
case (catch port_control(Port,?CTRL_OP_GET_WINSIZE,[])) of
- List when is_list(List), length(List) =:= 8 ->
+ List when length(List) =:= 8 ->
<<W:32/native,H:32/native>> = list_to_binary(List),
{W,H};
_ ->
@@ -373,12 +369,7 @@ do_setopts(Opts, _Port, Q) ->
end.
getopts(_Port,Q) ->
- Bin = {binary, case get(read_mode) of
- binary ->
- true;
- _ ->
- false
- end},
+ Bin = {binary, get(read_mode) =:= binary},
Uni = {encoding, case get(unicode) of
true ->
unicode;
diff --git a/lib/kernel/src/wrap_log_reader.erl b/lib/kernel/src/wrap_log_reader.erl
index 5030d3aed5..fabaa07752 100644
--- a/lib/kernel/src/wrap_log_reader.erl
+++ b/lib/kernel/src/wrap_log_reader.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1998-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -37,7 +37,7 @@
cont :: dlog_cont(), % disk_log's continuation record
file :: file:filename(), % file name without extension
file_no :: non_neg_integer(), % current file number
- mod_time :: date_time(), % modification time of current file
+ mod_time :: file:date_time(), % modification time of current file
first_no :: non_neg_integer() | 'one' % first read file number
}).
diff --git a/lib/kernel/test/code_SUITE.erl b/lib/kernel/test/code_SUITE.erl
index 37b9200942..08b6477c9d 100644
--- a/lib/kernel/test/code_SUITE.erl
+++ b/lib/kernel/test/code_SUITE.erl
@@ -543,8 +543,8 @@ add_del_path(Config) when is_list(Config) ->
?line code:del_path(Dir2),
?line PrivDir1 = code:priv_dir(dummy_app),
ok.
-
-
+
+
clash(Config) when is_list(Config) ->
DDir = ?config(data_dir,Config)++"clash/",
P = code:get_path(),
@@ -555,11 +555,11 @@ clash(Config) when is_list(Config) ->
?line true = code:del_path("."),
?line true = code:add_path(DDir++"foobar-0.1/ebin"),
?line true = code:add_path(DDir++"zork-0.8/ebin"),
- ?line test_server:capture_start(),
- ?line code:clash(),
- ?line test_server:capture_stop(),
- ?line OKMsg = test_server:capture_get(),
- ?line lists:prefix("** Found 0 name clashes in code paths", OKMsg),
+ test_server:capture_start(),
+ ?line ok = code:clash(),
+ test_server:capture_stop(),
+ ?line [OKMsg|_] = test_server:capture_get(),
+ ?line true = lists:prefix("** Found 0 name clashes", OKMsg),
?line true = code:set_path(P),
%% test clashing entries
@@ -568,13 +568,29 @@ clash(Config) when is_list(Config) ->
?line true = code:del_path("."),
?line true = code:add_path(DDir++"foobar-0.1/ebin"),
?line true = code:add_path(DDir++"foobar-0.1.ez/foobar-0.1/ebin"),
- ?line test_server:capture_start(),
- ?line code:clash(),
- ?line test_server:capture_stop(),
- ?line [ErrMsg1|_] = test_server:capture_get(),
- ?line {match, [" hides "]} = re:run(ErrMsg1, "\\*\\* .*( hides ).*",
+ test_server:capture_start(),
+ ?line ok = code:clash(),
+ test_server:capture_stop(),
+ ?line [ClashMsg|_] = test_server:capture_get(),
+ ?line {match, [" hides "]} = re:run(ClashMsg, "\\*\\* .*( hides ).*",
[{capture,all_but_first,list}]),
?line true = code:set_path(P),
+
+ %% test "Bad path can't read"
+
+ %% remove "." to prevent clash with test-server path
+ Priv = ?config(priv_dir, Config),
+ ?line true = code:del_path("."),
+ TmpEzFile = Priv++"foobar-0.tmp.ez",
+ ?line {ok, _} = file:copy(DDir++"foobar-0.1.ez", TmpEzFile),
+ ?line true = code:add_path(TmpEzFile++"/foobar-0.1/ebin"),
+ ?line ok = file:delete(TmpEzFile),
+ test_server:capture_start(),
+ ?line ok = code:clash(),
+ test_server:capture_stop(),
+ ?line [BadPathMsg|_] = test_server:capture_get(),
+ ?line true = lists:prefix("** Bad path can't read", BadPathMsg),
+ ?line true = code:set_path(P),
ok.
ext_mod_dep(suite) ->
diff --git a/lib/kernel/test/disk_log_SUITE.erl b/lib/kernel/test/disk_log_SUITE.erl
index ade9644c15..1bfe76f5ea 100644
--- a/lib/kernel/test/disk_log_SUITE.erl
+++ b/lib/kernel/test/disk_log_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(disk_log_SUITE).
@@ -384,7 +384,7 @@ halt_misc(Conf) when is_list(Conf) ->
?line {error, {read_only_mode, a}} =
disk_log:change_header(a, {head,header}),
?line {error, {read_only_mode, a}} =
- disk_log:change_size(a, inifinity),
+ disk_log:change_size(a, infinity),
?line ok = disk_log:close(a),
?line ok = file:delete(File).
@@ -1574,7 +1574,7 @@ block_blocked(Conf) when is_list(Conf) ->
?line "The blocked disk" ++ _ = format_error(Error1),
?line {error, {blocked_log, halt}} = disk_log:sync(halt),
?line {error, {blocked_log, halt}} = disk_log:truncate(halt),
- ?line {error, {blocked_log, halt}} = disk_log:change_size(halt, inifinity),
+ ?line {error, {blocked_log, halt}} = disk_log:change_size(halt, infinity),
?line {error, {blocked_log, halt}} =
disk_log:change_notify(halt, self(), false),
?line {error, {blocked_log, halt}} =
@@ -2423,6 +2423,9 @@ get_reply() ->
sync_do(Pid, Req) ->
Pid ! {self(), Req},
receive
+ Reply when Req =:= terminate ->
+ timer:sleep(500),
+ Reply;
Reply ->
Reply
end.
@@ -3165,7 +3168,7 @@ many_users(Conf) when is_list(Conf) ->
?line true = lists:duplicate(NoClients, ok) == C1,
?line true = length(T1) == N*NoClients,
?line {C2, T2} = many(Fun1, NoClients, N, halt, internal, 1000, Dir),
- ?line true = lists:duplicate(NoClients, {error, {full,'log.LOG'}}) == C2,
+ ?line true = lists:duplicate(NoClients, {error, {full,"log.LOG"}}) == C2,
?line true = length(T2) > 0,
?line {C3, T3} = many(Fun2, NoClients, N, wrap, internal,
{300*NoClients,20}, Dir),
@@ -3174,7 +3177,7 @@ many_users(Conf) when is_list(Conf) ->
ok.
many(Fun, NoClients, N, Type, Format, Size, Dir) ->
- Name = 'log.LOG',
+ Name = "log.LOG",
File = filename:join(Dir, Name),
del_files(Size, File),
?line Q = qlen(),
@@ -4328,11 +4331,9 @@ dist_terminate(Conf) when is_list(Conf) ->
?line 0 = sync_do(Pid1, users),
?line 0 = sync_do(Pid2, users),
?line sync_do(Pid1, terminate),
- ?line timer:sleep(500),
?line [_] = sync_do(Pid2, owners),
?line 0 = sync_do(Pid2, users),
?line sync_do(Pid2, terminate),
- ?line timer:sleep(500),
?line {error, no_such_log} = disk_log:info(n),
%% Users terminate (no link...).
diff --git a/lib/kernel/test/file_SUITE.erl b/lib/kernel/test/file_SUITE.erl
index d01e1f1fcf..1d170790a3 100644
--- a/lib/kernel/test/file_SUITE.erl
+++ b/lib/kernel/test/file_SUITE.erl
@@ -270,7 +270,10 @@ make_del_dir(Config) when is_list(Config) ->
%% Try deleting some bad directories
%% Deleting the parent directory to the current, sounds dangerous, huh?
%% Don't worry ;-) the parent directory should never be empty, right?
- ?line {error, eexist} = ?FILE_MODULE:del_dir('..'),
+ case ?FILE_MODULE:del_dir('..') of
+ {error, eexist} -> ok;
+ {error, einval} -> ok %FreeBSD
+ end,
?line {error, enoent} = ?FILE_MODULE:del_dir(""),
?line {error, badarg} = ?FILE_MODULE:del_dir([3,2,1,{}]),
diff --git a/lib/kernel/test/global_SUITE.erl b/lib/kernel/test/global_SUITE.erl
index a8c68985e2..7a84ad5e75 100644
--- a/lib/kernel/test/global_SUITE.erl
+++ b/lib/kernel/test/global_SUITE.erl
@@ -1,25 +1,23 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(global_SUITE).
--compile(r11). % some code is run from r11-nodes
-
%-define(line_trace, 1).
-export([all/1,
@@ -2616,19 +2614,6 @@ proc(Parent) ->
name_exit(suite) -> [];
name_exit(doc) -> ["OTP-5563. Registered process dies."];
name_exit(Config) when is_list(Config) ->
- case ?t:is_release_available("r11b") of
- true ->
- StartOldFun =
- fun() ->
- {ok, N1} = start_node_rel(n_1, r11b, Config),
- {ok, N2} = start_node_rel(n_2, this, Config),
- [N1, N2]
- end,
- ?t:format("Test of r11~n"),
- do_name_exit(StartOldFun, old, Config);
- false ->
- ok
- end,
StartFun = fun() ->
{ok, N1} = start_node_rel(n_1, this, Config),
{ok, N2} = start_node_rel(n_2, this, Config),
@@ -2855,14 +2840,7 @@ many_nodes(Config) when is_list(Config) ->
N_nodes = quite_a_few_nodes(32),
{node_rel(1, N_nodes, this), N_nodes};
{unix, _} ->
- case ?t:is_release_available("r11b") of
- true ->
- This = node_rel(1, 16, this),
- R11B = node_rel(17, 32, r11b),
- {This ++ R11B, 32};
- false ->
- {node_rel(1, 32, this), 32}
- end;
+ {node_rel(1, 32, this), 32};
_ ->
{node_rel(1, 32, this), 32}
end,
@@ -3864,12 +3842,7 @@ start_node_rel(Name0, Rel, Config) ->
RelList ->
{RelList, ""}
end,
- Env = case Rel of
- r11b ->
- [{env, [{"ERL_R11B_FLAGS", []}]}];
- _ ->
- []
- end,
+ Env = [],
Pa = filename:dirname(code:which(?MODULE)),
Res = test_server:start_node(Name, peer,
[{args,
diff --git a/lib/kernel/test/inet_sockopt_SUITE_data/sockopt_helper.c b/lib/kernel/test/inet_sockopt_SUITE_data/sockopt_helper.c
index fb3c622909..f24c93edf5 100644
--- a/lib/kernel/test/inet_sockopt_SUITE_data/sockopt_helper.c
+++ b/lib/kernel/test/inet_sockopt_SUITE_data/sockopt_helper.c
@@ -1,4 +1,4 @@
-#if defined(VXWORKS) || defined(__OSE__)
+#if defined(VXWORKS)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/lib/kernel/test/os_SUITE.erl b/lib/kernel/test/os_SUITE.erl
index 1673b33010..6a3534b094 100644
--- a/lib/kernel/test/os_SUITE.erl
+++ b/lib/kernel/test/os_SUITE.erl
@@ -20,13 +20,13 @@
-export([all/1]).
-export([space_in_cwd/1, quoting/1, space_in_name/1, bad_command/1,
- find_executable/1, unix_comment_in_command/1]).
+ find_executable/1, unix_comment_in_command/1, evil/1]).
-include("test_server.hrl").
all(suite) ->
[space_in_cwd, quoting, space_in_name, bad_command, find_executable,
- unix_comment_in_command].
+ unix_comment_in_command, evil].
space_in_cwd(doc) ->
"Test that executing a command in a current working directory "
@@ -186,6 +186,48 @@ unix_comment_in_command(Config) when is_list(Config) ->
?line test_server:timetrap_cancel(Dog),
ok.
+-define(EVIL_PROCS, 100).
+-define(EVIL_LOOPS, 100).
+-define(PORT_CREATOR, os_cmd_port_creator).
+evil(Config) when is_list(Config) ->
+ Dog = test_server:timetrap(test_server:minutes(5)),
+ Parent = self(),
+ Ps = lists:map(fun (N) ->
+ spawn_link(fun () ->
+ evil_loop(Parent, ?EVIL_LOOPS,N)
+ end)
+ end, lists:seq(1, ?EVIL_PROCS)),
+ Devil = spawn(fun () -> devil(hd(Ps), hd(lists:reverse(Ps))) end),
+ lists:foreach(fun (P) -> receive {P, done} -> ok end end, Ps),
+ exit(Devil, kill),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+devil(P1, P2) ->
+ erlang:display({?PORT_CREATOR, whereis(?PORT_CREATOR)}),
+ (catch ?PORT_CREATOR ! lists:seq(1,1000000)),
+ (catch ?PORT_CREATOR ! lists:seq(1,666)),
+ (catch ?PORT_CREATOR ! grrrrrrrrrrrrrrrr),
+ (catch ?PORT_CREATOR ! {'EXIT', P1, buhuuu}),
+ (catch ?PORT_CREATOR ! {'EXIT', hd(erlang:ports()), buhuuu}),
+ (catch ?PORT_CREATOR ! {'EXIT', P2, arggggggg}),
+ receive after 500 -> ok end,
+ (catch exit(whereis(?PORT_CREATOR), kill)),
+ (catch ?PORT_CREATOR ! ">8|"),
+ receive after 500 -> ok end,
+ (catch exit(whereis(?PORT_CREATOR), diiiiiiiiiiiiiiiiiiiie)),
+ receive after 100 -> ok end,
+ devil(P1, P2).
+
+evil_loop(Parent, Loops, N) ->
+ Res = integer_to_list(N),
+ evil_loop(Parent, Loops, Res, "echo " ++ Res).
+
+evil_loop(Parent, 0, _Res, _Cmd) ->
+ Parent ! {self(), done};
+evil_loop(Parent, Loops, Res, Cmd) ->
+ comp(Res, os:cmd(Cmd)),
+ evil_loop(Parent, Loops-1, Res, Cmd).
comp(Expected, Got) ->
case strip_nl(Got) of
diff --git a/lib/kernel/test/prim_file_SUITE.erl b/lib/kernel/test/prim_file_SUITE.erl
index 860aeecbf4..6badbb5090 100644
--- a/lib/kernel/test/prim_file_SUITE.erl
+++ b/lib/kernel/test/prim_file_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(prim_file_SUITE).
@@ -243,7 +243,10 @@ make_del_dir(Config, Handle, Suffix) ->
%% Try deleting some bad directories
%% Deleting the parent directory to the current, sounds dangerous, huh?
%% Don't worry ;-) the parent directory should never be empty, right?
- ?line {error, eexist} = ?PRIM_FILE_call(del_dir, Handle, [".."]),
+ case ?PRIM_FILE_call(del_dir, Handle, [".."]) of
+ {error, eexist} -> ok;
+ {error, einval} -> ok %FreeBSD
+ end,
?line {error, enoent} = ?PRIM_FILE_call(del_dir, Handle, [""]),
?line {error, badarg} = ?PRIM_FILE_call(del_dir, Handle, [[3,2,1,{}]]),
diff --git a/lib/kernel/vsn.mk b/lib/kernel/vsn.mk
index 5b4369740d..64a358f114 100644
--- a/lib/kernel/vsn.mk
+++ b/lib/kernel/vsn.mk
@@ -1,20 +1,20 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1997-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1997-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
-KERNEL_VSN = 2.13.5
+KERNEL_VSN = 2.14
diff --git a/lib/megaco/doc/src/megaco_mib.xml b/lib/megaco/doc/src/megaco_mib.xml
index 3c0a549590..f1abe08fb5 100644
--- a/lib/megaco/doc/src/megaco_mib.xml
+++ b/lib/megaco/doc/src/megaco_mib.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2002</year><year>2009</year>
+ <year>2002</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Megaco mib</title>
@@ -50,15 +50,15 @@
lightweight. I.e. the statistic counters are handled
separately by different entities of the application. For
instance our two transport module(s) (see <seealso marker="megaco_tcp#stats">megaco_tcp</seealso> and <seealso marker="megaco_udp#stats">megaco_udp</seealso>) maintain their
- own counters and the application engine (see <seealso marker="megaco#stats">megaco</seealso>) maintain it's own
+ own counters and the application engine (see <seealso marker="megaco#stats">megaco</seealso>) maintain its own
counters.</p>
<p>This also means that if a user implement their own transport
- service then it has to maintain it's own statistics.</p>
+ service then it has to maintain its own statistics.</p>
</section>
<section>
<title>Distribution</title>
- <p>Each megaco application maintains it's own set of counters. So
+ <p>Each megaco application maintains its own set of counters. So
in a large (distributed) MG/MGC it could be necessary to
collect the statistics from several nodes (each) running the
megaco application (only one of them with the transport).</p>
diff --git a/lib/megaco/doc/src/megaco_run.xml b/lib/megaco/doc/src/megaco_run.xml
index 3afc638bcf..9ed589b079 100644
--- a/lib/megaco/doc/src/megaco_run.xml
+++ b/lib/megaco/doc/src/megaco_run.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2000</year><year>2009</year>
+ <year>2000</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Running the stack</title>
@@ -365,7 +365,7 @@
then the specified max message size (see the
<seealso marker="megaco#user_info">max_pdu_size</seealso> option).
Finally, if segmentation is decided, then each action reply
- will make up it's own (segment) message.</p>
+ will make up its own (segment) message.</p>
</item>
</list>
</section>
diff --git a/lib/megaco/doc/src/megaco_user.xml b/lib/megaco/doc/src/megaco_user.xml
index 37942007bc..7332fa684d 100644
--- a/lib/megaco/doc/src/megaco_user.xml
+++ b/lib/megaco/doc/src/megaco_user.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2000</year><year>2009</year>
+ <year>2000</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>megaco_user</title>
@@ -471,7 +471,7 @@ protocol_version() = integer() ]]></code>
<v>transaction_result() = action_reps()</v>
<v>segment_result() = {segment_no(), last_segment(), action_reps()}</v>
<v>action_reps() = [action_reply()]</v>
- <v>failure() = {error, reason()}</v>
+ <v>failure() = {error, reason()} | {error, ReplyNo, reason()}</v>
<v>reason() = transaction_reason() | segment_reason() | user_cancel_reason() | send_reason() | other_reason()</v>
<v>transaction_reason() = error_desc()</v>
<v>segment_reason() = {segment_no(), last_segment(), error_desc()}</v>
@@ -486,6 +486,7 @@ protocol_version() = integer() ]]></code>
<v>send_failed_reason() = {send_message_failed, reason_for_send_failure()}</v>
<v>reason_for_send_failure() = term()</v>
<v>ReplyData = reply_data()</v>
+ <v>ReplyNo = integer() > 0</v>
<v>reply_data() = term()</v>
<v>Extra = term()</v>
</type>
@@ -669,7 +670,7 @@ protocol_version() = integer() ]]></code>
<p>Invoked when a unexpected message is received</p>
<p>If a reply to a request is not received in time, the
megaco stack removes all info about the request from
- it's tables. If a reply should arrive after this has been
+ its tables. If a reply should arrive after this has been
done the app has no way of knowing where to send this message.
The message is delivered to the "user" by calling this
function on the local node (the node which has the link).</p>
diff --git a/lib/megaco/doc/src/notes.xml b/lib/megaco/doc/src/notes.xml
index 65bf0345f5..ab17dd50ca 100644
--- a/lib/megaco/doc/src/notes.xml
+++ b/lib/megaco/doc/src/notes.xml
@@ -36,6 +36,51 @@
section is the version number of Megaco.</p>
<section>
+ <title>Megaco 3.14.1</title>
+
+ <p>Version 3.14.1 supports code replacement in runtime from/to
+ version 3.14, 3.13, 3.12 and 3.11.3.</p>
+
+ <section>
+ <title>Improvements and new features</title>
+
+<!--
+ <p>-</p>
+-->
+
+ <list type="bulleted">
+ <item>
+ <p>A minor compiler related performance improvement. </p>
+ <p>Own Id: OTP-8561</p>
+ </item>
+
+ </list>
+
+ </section>
+
+ <section>
+ <title>Fixed bugs and malfunctions</title>
+<!--
+ <p>-</p>
+-->
+
+ <list type="bulleted">
+ <item>
+ <p>Fix shared libraries installation. </p>
+ <p>The flex shared lib(s) were incorrectly installed as data
+ files. </p>
+ <p>Peter Lemenkov</p>
+ <p>Own Id: OTP-8627</p>
+ </item>
+
+ </list>
+
+ </section>
+
+ </section> <!-- 3.14.1 -->
+
+
+ <section>
<title>Megaco 3.14</title>
<p>Version 3.14 supports code replacement in runtime from/to
diff --git a/lib/megaco/doc/src/notes_history.xml b/lib/megaco/doc/src/notes_history.xml
index 97aa4c66a5..640b62230f 100644
--- a/lib/megaco/doc/src/notes_history.xml
+++ b/lib/megaco/doc/src/notes_history.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2006</year><year>2009</year>
+ <year>2006</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Megaco Release Notes history</title>
@@ -2764,7 +2764,7 @@
<p>Added a new configuration parameter, threaded.
This tells the megaco app, that all
transaction requests in a message should be executed
- in parallel (e.g. each in it's own process).
+ in parallel (e.g. each in its own process).
<br></br>See the
<seealso marker="megaco#user_info">threaded</seealso> parameter
of the user_info function (also conn_info).</p>
@@ -2911,7 +2911,7 @@
<title>Improvements and new features</title>
<list type="bulleted">
<item>
- <p>This is just a code up-/downgrade cleanup release. I.e. It's the
+ <p>This is just a code up-/downgrade cleanup release. I.e. it's the
same as version 1.2 minus the ugly stuff needed to handle up-/downgrade
from/to version 1.1.2, 1.1.1 and 1.1.0.</p>
</item>
diff --git a/lib/megaco/src/app/megaco.appup.src b/lib/megaco/src/app/megaco.appup.src
index 4f781478ef..5df31f2923 100644
--- a/lib/megaco/src/app/megaco.appup.src
+++ b/lib/megaco/src/app/megaco.appup.src
@@ -124,10 +124,18 @@
%% |
%% v
%% 3.14
+%% |
+%% v
+%% 3.14.1
%%
%%
{"%VSN%",
[
+ {"3.14",
+ [
+ {update, megaco_config, soft, soft_purge, soft_purge, []}
+ ]
+ },
{"3.13",
[
{load_module, megaco_messenger, soft_purge, soft_purge, []},
@@ -163,6 +171,11 @@
}
],
[
+ {"3.14",
+ [
+ {update, megaco_config, soft, soft_purge, soft_purge, []}
+ ]
+ },
{"3.13",
[
{load_module, megaco_messenger, soft_purge, soft_purge, []},
diff --git a/lib/megaco/src/engine/megaco_config.erl b/lib/megaco/src/engine/megaco_config.erl
index 1c7a141be7..0445f10838 100644
--- a/lib/megaco/src/engine/megaco_config.erl
+++ b/lib/megaco/src/engine/megaco_config.erl
@@ -224,149 +224,278 @@ update_user_info(UserMid, orig_pending_limit, Val) ->
update_user_info(UserMid, Item, Val) ->
call({update_user_info, UserMid, Item, Val}).
-conn_info(CH, Item)
- when is_record(CH, megaco_conn_handle) andalso (Item /= cancel) ->
- case Item of
- conn_handle ->
- CH;
- mid ->
- CH#megaco_conn_handle.local_mid;
- local_mid ->
- CH#megaco_conn_handle.local_mid;
- remote_mid ->
- CH#megaco_conn_handle.remote_mid;
- conn_data ->
- case lookup_local_conn(CH) of
- [] ->
- exit({no_such_connection, CH});
- [ConnData] ->
- ConnData
- end;
- _ ->
- case lookup_local_conn(CH) of
- [] ->
- exit({no_such_connection, CH});
- [ConnData] ->
- conn_info(ConnData, Item)
- end
+
+conn_info(Data, Item) ->
+ %% The purpose of this is a compiler optimization...
+ %% Args are processed from left to right.
+ do_conn_info(Item, Data).
+
+do_conn_info(mid = _Item, #megaco_conn_handle{local_mid = Mid}) ->
+ Mid;
+do_conn_info(local_mid = _Item, #megaco_conn_handle{local_mid = LMid}) ->
+ LMid;
+do_conn_info(remote_mid = _Item, #megaco_conn_handle{remote_mid = RMid}) ->
+ RMid;
+do_conn_info(conn_handle = _Item, CH) when is_record(CH, megaco_conn_handle) ->
+ CH;
+do_conn_info(conn_data = _Item, CH) when is_record(CH, megaco_conn_handle) ->
+ case lookup_local_conn(CH) of
+ [] ->
+ exit({no_such_connection, CH});
+ [ConnData] ->
+ ConnData
+ end;
+do_conn_info(Item, CH) when is_record(CH, megaco_conn_handle) ->
+ case lookup_local_conn(CH) of
+ [] ->
+ exit({no_such_connection, CH});
+ [ConnData] ->
+ do_conn_info(Item, ConnData)
end;
-conn_info(#conn_data{conn_handle = CH}, cancel) ->
+
+do_conn_info(cancel = _Item, #conn_data{conn_handle = CH}) ->
+ %% To minimise raise-condition propabillity,
+ %% we always look in the table instead of
+ %% in the record for this one
+ ets:lookup_element(megaco_local_conn, CH, #conn_data.cancel);
+do_conn_info(cancel = _Item, CH) when is_record(CH, megaco_conn_handle) ->
%% To minimise raise-condition propabillity,
%% we always look in the table instead of
%% in the record for this one
ets:lookup_element(megaco_local_conn, CH, #conn_data.cancel);
-conn_info(CD, Item) when is_record(CD, conn_data) ->
- case Item of
- all ->
- Tags0 = record_info(fields, conn_data),
- Tags1 = replace(serial, trans_id, Tags0),
- Tags = [mid, local_mid, remote_mid] ++
- replace(max_serial, max_trans_id, Tags1),
- [{Tag, conn_info(CD,Tag)} || Tag <- Tags,
- Tag /= conn_data,
- Tag /= trans_sender,
- Tag /= cancel];
- conn_data -> CD;
- conn_handle -> CD#conn_data.conn_handle;
- mid -> (CD#conn_data.conn_handle)#megaco_conn_handle.local_mid;
- local_mid -> (CD#conn_data.conn_handle)#megaco_conn_handle.local_mid;
- remote_mid -> (CD#conn_data.conn_handle)#megaco_conn_handle.remote_mid;
- trans_id -> CH = CD#conn_data.conn_handle,
- LocalMid = CH#megaco_conn_handle.local_mid,
- Item2 = {LocalMid, trans_id_counter},
- case (catch ets:lookup(megaco_config, Item2)) of
- {'EXIT', _} ->
- undefined_serial;
- [] ->
- user_info(LocalMid, min_trans_id);
- [{_, Serial}] ->
- Max = CD#conn_data.max_serial,
- if
- ((Max =:= infinity) andalso
- is_integer(Serial) andalso
- (Serial < 4294967295)) ->
- Serial + 1;
- (Max =:= infinity) andalso
- is_integer(Serial) andalso
- (Serial =:= 4294967295) ->
- user_info(LocalMid,
- min_trans_id);
- Serial < Max ->
- Serial + 1;
- Serial =:= Max ->
- user_info(LocalMid,
- min_trans_id);
- Serial =:= 4294967295 ->
- user_info(LocalMid,
- min_trans_id);
- true ->
- undefined_serial
- end
- end;
- max_trans_id -> CD#conn_data.max_serial;
- request_timer -> CD#conn_data.request_timer;
- long_request_timer -> CD#conn_data.long_request_timer;
-
- auto_ack -> CD#conn_data.auto_ack;
-
- trans_ack -> CD#conn_data.trans_ack;
- trans_ack_maxcount -> CD#conn_data.trans_ack_maxcount;
-
- trans_req -> CD#conn_data.trans_req;
- trans_req_maxcount -> CD#conn_data.trans_req_maxcount;
- trans_req_maxsize -> CD#conn_data.trans_req_maxsize;
-
- trans_timer -> CD#conn_data.trans_timer;
-
- pending_timer -> CD#conn_data.pending_timer;
- orig_pending_limit -> CD#conn_data.sent_pending_limit;
- sent_pending_limit -> CD#conn_data.sent_pending_limit;
- recv_pending_limit -> CD#conn_data.recv_pending_limit;
- reply_timer -> CD#conn_data.reply_timer;
- control_pid -> CD#conn_data.control_pid;
- monitor_ref -> CD#conn_data.monitor_ref;
- send_mod -> CD#conn_data.send_mod;
- send_handle -> CD#conn_data.send_handle;
- encoding_mod -> CD#conn_data.encoding_mod;
- encoding_config -> CD#conn_data.encoding_config;
- protocol_version -> CD#conn_data.protocol_version;
- auth_data -> CD#conn_data.auth_data;
- user_mod -> CD#conn_data.user_mod;
- user_args -> CD#conn_data.user_args;
- reply_action -> CD#conn_data.reply_action;
- reply_data -> CD#conn_data.reply_data;
- threaded -> CD#conn_data.threaded;
- strict_version -> CD#conn_data.strict_version;
- long_request_resend -> CD#conn_data.long_request_resend;
- call_proxy_gc_timeout -> CD#conn_data.call_proxy_gc_timeout;
- cancel -> CD#conn_data.cancel;
- resend_indication -> CD#conn_data.resend_indication;
- segment_reply_ind -> CD#conn_data.segment_reply_ind;
- segment_recv_acc -> CD#conn_data.segment_recv_acc;
- segment_recv_timer -> CD#conn_data.segment_recv_timer;
- segment_send -> CD#conn_data.segment_send;
- segment_send_timer -> CD#conn_data.segment_send_timer;
- max_pdu_size -> CD#conn_data.max_pdu_size;
- request_keep_alive_timeout -> CD#conn_data.request_keep_alive_timeout;
- receive_handle ->
- LocalMid = (CD#conn_data.conn_handle)#megaco_conn_handle.local_mid,
- #megaco_receive_handle{local_mid = LocalMid,
- encoding_mod = CD#conn_data.encoding_mod,
- encoding_config = CD#conn_data.encoding_config,
- send_mod = CD#conn_data.send_mod};
- _ ->
- exit({no_such_item, Item})
+do_conn_info(all = _Item,
+ #conn_data{conn_handle = CH,
+ serial = TransId,
+ max_serial = MaxTransId,
+ request_timer = ReqTmr,
+ long_request_timer = LongReqTmr,
+ auto_ack = AutoAck,
+ trans_ack = TransAck,
+ trans_ack_maxcount = TransAckMaxCount,
+ trans_req = TransReq,
+ trans_req_maxcount = TransReqMaxCount,
+ trans_req_maxsize = TransReqMaxSz,
+ trans_timer = TransTmr,
+ %% trans_sender,
+ pending_timer = PendingTmr,
+ sent_pending_limit = SentPendingLimit,
+ recv_pending_limit = RecvPendingLimit,
+ reply_timer = ReplyTmr,
+ control_pid = CtrlPid,
+ monitor_ref = MonRef,
+ send_mod = SendMod,
+ send_handle = SendHandle,
+ encoding_mod = EncodingMod,
+ encoding_config = EncodingConf,
+ protocol_version = ProtoVersion,
+ auth_data = AuthData,
+ user_mod = UserMod,
+ user_args = UserArgs,
+ reply_action = ReplyAction,
+ reply_data = ReplyData,
+ threaded = Threaded,
+ strict_version = StrictVersion,
+ long_request_resend = LongReqResend,
+ call_proxy_gc_timeout = CallProxyGCTimeout,
+ %% cancel,
+ resend_indication = ResendInd,
+ segment_reply_ind = SegReplyInd,
+ segment_recv_acc = SegRecvAcc,
+ segment_recv_timer = SegRecvTmr,
+ segment_send = SegSend,
+ segment_send_timer = SegSendTmr,
+ max_pdu_size = MaxPduSz,
+ request_keep_alive_timeout = RequestKeepAliveTmr}) ->
+ [{conn_handle, CH},
+ {trans_id, TransId},
+ {max_trans_id, MaxTransId},
+ {request_timer, ReqTmr},
+ {long_request_timer, LongReqTmr},
+ {mid, CH#megaco_conn_handle.local_mid},
+ {local_mid, CH#megaco_conn_handle.local_mid},
+ {remote_mid, CH#megaco_conn_handle.remote_mid},
+ {auto_ack, AutoAck},
+ {trans_ack, TransAck},
+ {trans_ack_maxcount, TransAckMaxCount},
+ {trans_req, TransReq},
+ {trans_req_maxcount, TransReqMaxCount},
+ {trans_req_maxsize, TransReqMaxSz},
+ {trans_timer, TransTmr},
+ {pending_timer, PendingTmr},
+ {sent_pending_limit, SentPendingLimit},
+ {recv_pending_limit, RecvPendingLimit},
+ {reply_timer, ReplyTmr},
+ {control_pid, CtrlPid},
+ {monitor_ref, MonRef},
+ {send_mod, SendMod},
+ {send_handle, SendHandle},
+ {encoding_mod, EncodingMod},
+ {encoding_config, EncodingConf},
+ {protocol_version, ProtoVersion},
+ {auth_data, AuthData},
+ {user_mod, UserMod},
+ {user_args, UserArgs},
+ {reply_action, ReplyAction},
+ {reply_data, ReplyData},
+ {threaded, Threaded},
+ {strict_version, StrictVersion},
+ {long_request_resend, LongReqResend},
+ {call_proxy_gc_timeout, CallProxyGCTimeout},
+ {resend_indication, ResendInd},
+ {segment_reply_ind, SegReplyInd},
+ {segment_recv_acc, SegRecvAcc},
+ {segment_recv_timer, SegRecvTmr},
+ {segment_send, SegSend},
+ {segment_send_timer, SegSendTmr},
+ {max_pdu_size, MaxPduSz},
+ {request_keep_alive_timeout, RequestKeepAliveTmr}];
+
+do_conn_info(conn_data = _Item, CD) ->
+ CD;
+do_conn_info(conn_handle = _Item, #conn_data{conn_handle = Val}) ->
+ Val;
+do_conn_info(mid = _Item,
+ #conn_data{conn_handle = #megaco_conn_handle{local_mid = Val}}) ->
+ Val;
+do_conn_info(local_mid = _Item,
+ #conn_data{conn_handle = #megaco_conn_handle{local_mid = Val}}) ->
+ Val;
+do_conn_info(remote_mid = _Item,
+ #conn_data{conn_handle = #megaco_conn_handle{remote_mid = Val}}) ->
+ Val;
+do_conn_info(trans_id = _Item,
+ #conn_data{conn_handle = #megaco_conn_handle{local_mid = LMid},
+ max_serial = Max}) ->
+ Item2 = {LMid, trans_id_counter},
+ case (catch ets:lookup(megaco_config, Item2)) of
+ {'EXIT', _} ->
+ undefined_serial;
+ [] ->
+ user_info(LMid, min_trans_id);
+ [{_, Serial}] ->
+ if
+ ((Max =:= infinity) andalso
+ is_integer(Serial) andalso
+ (Serial < 4294967295)) ->
+ Serial + 1;
+ ((Max =:= infinity) andalso
+ is_integer(Serial) andalso
+ (Serial =:= 4294967295)) ->
+ user_info(LMid, min_trans_id);
+ Serial < Max ->
+ Serial + 1;
+ Serial =:= Max ->
+ user_info(LMid, min_trans_id);
+ Serial =:= 4294967295 ->
+ user_info(LMid, min_trans_id);
+ true ->
+ undefined_serial
+ end
end;
-conn_info(BadHandle, _Item) ->
- {error, {no_such_connection, BadHandle}}.
-
-replace(_, _, []) ->
- [];
-replace(Item, WithItem, [Item|List]) ->
- [WithItem|List];
-replace(Item, WithItem, [OtherItem|List]) ->
- [OtherItem | replace(Item, WithItem, List)].
+do_conn_info(max_trans_id = _Item, #conn_data{max_serial = Val}) ->
+ Val;
+do_conn_info(request_timer = _Item, #conn_data{request_timer = Val}) ->
+ Val;
+do_conn_info(long_request_timer = _Item, #conn_data{long_request_timer = Val}) ->
+ Val;
+do_conn_info(auto_ack = _Item, #conn_data{auto_ack = Val}) ->
+ Val;
+do_conn_info(trans_ack = _Item, #conn_data{trans_ack = Val}) ->
+ Val;
+do_conn_info(trans_ack_maxcount = _Item, #conn_data{trans_ack_maxcount = Val}) ->
+ Val;
+do_conn_info(trans_req = _Item, #conn_data{trans_req = Val}) ->
+ Val;
+do_conn_info(trans_req_maxcount = _Item, #conn_data{trans_req_maxcount = Val}) ->
+ Val;
+do_conn_info(trans_req_maxsize = _Item, #conn_data{trans_req_maxsize = Val}) ->
+ Val;
+do_conn_info(trans_timer = _Item, #conn_data{trans_timer = Val}) ->
+ Val;
+do_conn_info(pending_timer = _Item, #conn_data{pending_timer = Val}) ->
+ Val;
+do_conn_info(orig_pending_limit = _Item, #conn_data{sent_pending_limit = Val}) ->
+ Val;
+do_conn_info(sent_pending_limit = _Item, #conn_data{sent_pending_limit = Val}) ->
+ Val;
+do_conn_info(recv_pending_limit = _Item, #conn_data{recv_pending_limit = Val}) ->
+ Val;
+do_conn_info(reply_timer = _Item, #conn_data{reply_timer = Val}) ->
+ Val;
+do_conn_info(control_pid = _Item, #conn_data{control_pid = Val}) ->
+ Val;
+do_conn_info(send_mod = _Item, #conn_data{send_mod = Val}) ->
+ Val;
+do_conn_info(send_handle = _Item, #conn_data{send_handle = Val}) ->
+ Val;
+do_conn_info(encoding_mod = _Item, #conn_data{encoding_mod = Val}) ->
+ Val;
+do_conn_info(encoding_config = _Item, #conn_data{encoding_config = Val}) ->
+ Val;
+do_conn_info(protocol_version = _Item, #conn_data{protocol_version = Val}) ->
+ Val;
+do_conn_info(auth_data = _Item, #conn_data{auth_data = Val}) ->
+ Val;
+do_conn_info(user_mod = _Item, #conn_data{user_mod = Val}) ->
+ Val;
+do_conn_info(user_args = _Item, #conn_data{user_args = Val}) ->
+ Val;
+do_conn_info(reply_action = _Item, #conn_data{reply_action = Val}) ->
+ Val;
+do_conn_info(reply_data = _Item, #conn_data{reply_data = Val}) ->
+ Val;
+do_conn_info(threaded = _Item, #conn_data{threaded = Val}) ->
+ Val;
+do_conn_info(strict_version = _Item, #conn_data{strict_version = Val}) ->
+ Val;
+do_conn_info(long_request_resend = _Item,
+ #conn_data{long_request_resend = Val}) ->
+ Val;
+do_conn_info(call_proxy_gc_timeout = _Item,
+ #conn_data{call_proxy_gc_timeout = Val}) ->
+ Val;
+do_conn_info(resend_indication = _Item, #conn_data{resend_indication = Val}) ->
+ Val;
+do_conn_info(segment_reply_ind = _Item, #conn_data{segment_reply_ind = Val}) ->
+ Val;
+do_conn_info(segment_recv_acc = _Item, #conn_data{segment_recv_acc = Val}) ->
+ Val;
+do_conn_info(segment_recv_timer = _Item,
+ #conn_data{segment_recv_timer = Val}) ->
+ Val;
+do_conn_info(segment_send = _Item, #conn_data{segment_send = Val}) ->
+ Val;
+do_conn_info(segment_send_timer = _Item,
+ #conn_data{segment_send_timer = Val}) ->
+ Val;
+do_conn_info(max_pdu_size = _Item, #conn_data{max_pdu_size = Val}) ->
+ Val;
+do_conn_info(request_keep_alive_timeout = _Item,
+ #conn_data{request_keep_alive_timeout = Val}) ->
+ Val;
+do_conn_info(receive_handle = _Item,
+ #conn_data{conn_handle = #megaco_conn_handle{local_mid = LMid},
+ encoding_mod = EM,
+ encoding_config = EC,
+ send_mod = SM}) ->
+ #megaco_receive_handle{local_mid = LMid,
+ encoding_mod = EM,
+ encoding_config = EC,
+ send_mod = SM};
+do_conn_info(Item, Data)
+ when is_record(Data, conn_data) orelse is_record(Data, megaco_conn_handle) ->
+ exit({no_such_item, Item});
+do_conn_info(_Item, BadData) ->
+ {error, {no_such_connection, BadData}}.
+
+
+%% replace(_, _, []) ->
+%% [];
+%% replace(Item, WithItem, [Item|List]) ->
+%% [WithItem|List];
+%% replace(Item, WithItem, [OtherItem|List]) ->
+%% [OtherItem | replace(Item, WithItem, List)].
update_conn_info(#conn_data{conn_handle = CH}, Item, Val) ->
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
index 6ce9b34617..5af651d89b 100644
--- a/lib/megaco/src/flex/Makefile.in
+++ b/lib/megaco/src/flex/Makefile.in
@@ -280,7 +280,7 @@ release_spec: opt
$(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin
ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true)
$(INSTALL_DATA) $(FLEX_FILES) $(C_TARGETS) $(RELSYSDIR)/src/flex
- $(INSTALL_DATA) $(SOLIBS) $(RELSYSDIR)/priv/lib
+ $(INSTALL_PROGRAM) $(SOLIBS) $(RELSYSDIR)/priv/lib
endif
diff --git a/lib/megaco/test/megaco_app_test.erl b/lib/megaco/test/megaco_app_test.erl
index 8e2148c236..597ec26338 100644
--- a/lib/megaco/test/megaco_app_test.erl
+++ b/lib/megaco/test/megaco_app_test.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -87,6 +87,10 @@ is_app(App) ->
case file:consult(File) of
{ok, [{application, App, AppFile}]} ->
{ok, AppFile};
+ {error, {LineNo, Mod, Code}} ->
+ IoList = lists:concat([File, ":", LineNo, ": ",
+ Mod:format_error(Code)]),
+ {error, list_to_atom(lists:flatten(IoList))};
Error ->
{error, {invalid_format, Error}}
end.
diff --git a/lib/megaco/test/megaco_config_test.erl b/lib/megaco/test/megaco_config_test.erl
index 453c1b8964..9ab1a7d90d 100644
--- a/lib/megaco/test/megaco_config_test.erl
+++ b/lib/megaco/test/megaco_config_test.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -106,166 +106,197 @@ config(Config) when is_list(Config) ->
Evil = 400,
End = 500,
+ InitialCmd =
+ fun(No, Desc, Cmd, VerifyVal) ->
+ initial_command(Initial + No, Desc, Cmd, VerifyVal)
+ end,
+
+ VerifyCmd =
+ fun(M, No, Key, V) ->
+ verify_user_default_command(M, Verify + No, Key, V)
+ end,
+
+ NiceCmd =
+ fun(M, No, Key, Val) ->
+ nice_user_update_command(M, Nice + No, Key, Val)
+ end,
+
+ EvilCmd =
+ fun(M, No, Key, Val) ->
+ evil_user_update_command(M, Evil + No, Key, Val)
+ end,
+
+ %% End commands
+ ExitCmd =
+ fun(No, Desc, Cmd) ->
+ exit_command(End + No, Desc, Cmd)
+ end,
+ ErrorCmd =
+ fun(No, Desc, Cmd, MainReason, TS) ->
+ error_command(End + No, Desc, Cmd, MainReason, TS)
+ end,
+ PlainCmd =
+ fun(No, Desc, Cmd, V) ->
+ command(End + No, Desc, Cmd, V)
+ end,
+
Commands =
[
%% Initial commands
- initial_command( Initial + 0,
- "enable trace",
- fun() -> megaco:enable_trace(100, io) end, ok),
- initial_command( Initial + 1,
- "start",
- fun() -> megaco:start() end, ok),
- initial_command( Initial + 2,
- "Verify no active requests",
- fun() -> megaco:system_info(n_active_requests) end,
- 0),
- initial_command( Initial + 3,
- "Verify no active replies",
- fun() -> megaco:system_info(n_active_replies) end,
- 0),
- initial_command( Initial + 4,
- "Verify no active connections",
- fun() ->
- megaco:system_info(n_active_connections)
- end,
- 0),
- initial_command( Initial + 5,
- "Verify no connections",
- fun() -> megaco:system_info(connections) end, []),
- initial_command( Initial + 6,
- "Verify no users",
- fun() -> megaco:system_info(users) end, []),
- initial_command( Initial + 7,
- "Start user",
- fun() -> megaco:start_user(Mid, []) end, ok),
-
+ InitialCmd(0,
+ "enable trace",
+ fun() -> megaco:enable_trace(100, io) end,
+ ok),
+ InitialCmd(1,
+ "start",
+ fun() -> megaco:start() end,
+ ok),
+ InitialCmd(2,
+ "Verify no active requests",
+ fun() -> megaco:system_info(n_active_requests) end,
+ 0),
+ InitialCmd(3,
+ "Verify no active replies",
+ fun() -> megaco:system_info(n_active_replies) end,
+ 0),
+ InitialCmd(4,
+ "Verify no active connections",
+ fun() -> megaco:system_info(n_active_connections) end,
+ 0),
+ InitialCmd(5,
+ "Verify no connections",
+ fun() -> megaco:system_info(connections) end,
+ []),
+ InitialCmd(6,
+ "Verify no users",
+ fun() -> megaco:system_info(users) end,
+ []),
+ InitialCmd(7,
+ "Start user",
+ fun() -> megaco:start_user(Mid, []) end,
+ ok),
+
%% Verify user defaults
- verify_user_default_command(Mid, Verify + 1, connections, []),
- verify_user_default_command(Mid, Verify + 2, min_trans_id, 1),
- verify_user_default_command(Mid, Verify + 3, max_trans_id, infinity),
- verify_user_default_command(Mid, Verify + 4, request_timer,
- #megaco_incr_timer{}),
- verify_user_default_command(Mid, Verify + 5, long_request_timer, timer:seconds(60)),
- verify_user_default_command(Mid, Verify + 6, auto_ack, false),
- verify_user_default_command(Mid, Verify + 7, pending_timer, 30000),
- verify_user_default_command(Mid, Verify + 8, reply_timer, 30000),
- verify_user_default_command(Mid, Verify + 9, send_mod, megaco_tcp),
- verify_user_default_command(Mid, Verify + 10, encoding_mod,
- megaco_pretty_text_encoder),
- verify_user_default_command(Mid, Verify + 11, encoding_config, []),
- verify_user_default_command(Mid, Verify + 12, protocol_version, 1),
- verify_user_default_command(Mid, Verify + 13, reply_data, undefined),
- verify_user_default_command(Mid, Verify + 14, receive_handle,
- fun(H) when is_record(H, megaco_receive_handle) -> {ok, H};
- (R) -> {error, R}
- end),
+ VerifyCmd(Mid, 1, connections, []),
+ VerifyCmd(Mid, 2, min_trans_id, 1),
+ VerifyCmd(Mid, 3, max_trans_id, infinity),
+ VerifyCmd(Mid, 4, request_timer, #megaco_incr_timer{}),
+ VerifyCmd(Mid, 5, long_request_timer, timer:seconds(60)),
+ VerifyCmd(Mid, 6, auto_ack, false),
+ VerifyCmd(Mid, 7, pending_timer, 30000),
+ VerifyCmd(Mid, 8, reply_timer, 30000),
+ VerifyCmd(Mid, 9, send_mod, megaco_tcp),
+ VerifyCmd(Mid, 10, encoding_mod, megaco_pretty_text_encoder),
+ VerifyCmd(Mid, 11, encoding_config, []),
+ VerifyCmd(Mid, 12, protocol_version, 1),
+ VerifyCmd(Mid, 13, reply_data, undefined),
+ VerifyCmd(Mid, 14, receive_handle,
+ fun(H) when is_record(H, megaco_receive_handle) ->
+ {ok, H};
+ (R) ->
+ {error, R}
+ end),
%% Nice update
- nice_user_update_command(Mid, Nice + 1, min_trans_id, Int),
- nice_user_update_command(Mid, Nice + 2, max_trans_id, Int),
- nice_user_update_command(Mid, Nice + 3, max_trans_id, infinity),
- nice_user_update_command(Mid, Nice + 4, request_timer, Int),
- nice_user_update_command(Mid, Nice + 5, request_timer, infinity),
- nice_user_update_command(Mid, Nice + 6, request_timer, IT),
- nice_user_update_command(Mid, Nice + 7, long_request_timer, Int),
- nice_user_update_command(Mid, Nice + 8, long_request_timer, infinity),
- nice_user_update_command(Mid, Nice + 9, long_request_timer, IT),
- nice_user_update_command(Mid, Nice + 10, auto_ack, true),
- nice_user_update_command(Mid, Nice + 11, auto_ack, false),
- nice_user_update_command(Mid, Nice + 12, pending_timer, Int),
- nice_user_update_command(Mid, Nice + 13, pending_timer, infinity),
- nice_user_update_command(Mid, Nice + 14, pending_timer, IT),
- nice_user_update_command(Mid, Nice + 15, reply_timer, Int),
- nice_user_update_command(Mid, Nice + 16, reply_timer, infinity),
- nice_user_update_command(Mid, Nice + 17, reply_timer, IT),
- nice_user_update_command(Mid, Nice + 18, send_mod, an_atom),
- nice_user_update_command(Mid, Nice + 19, encoding_mod, an_atom),
- nice_user_update_command(Mid, Nice + 20, encoding_config, []),
- nice_user_update_command(Mid, Nice + 21, protocol_version, Int),
- nice_user_update_command(Mid, Nice + 23, reply_data, IT),
- nice_user_update_command(Mid, Nice + 23, resend_indication, true),
- nice_user_update_command(Mid, Nice + 24, resend_indication, false),
- nice_user_update_command(Mid, Nice + 25, resend_indication, flag),
+ NiceCmd(Mid, 1, min_trans_id, Int),
+ NiceCmd(Mid, 2, max_trans_id, Int),
+ NiceCmd(Mid, 3, max_trans_id, infinity),
+ NiceCmd(Mid, 4, request_timer, Int),
+ NiceCmd(Mid, 5, request_timer, infinity),
+ NiceCmd(Mid, 6, request_timer, IT),
+ NiceCmd(Mid, 7, long_request_timer, Int),
+ NiceCmd(Mid, 8, long_request_timer, infinity),
+ NiceCmd(Mid, 9, long_request_timer, IT),
+ NiceCmd(Mid, 10, auto_ack, true),
+ NiceCmd(Mid, 11, auto_ack, false),
+ NiceCmd(Mid, 12, pending_timer, Int),
+ NiceCmd(Mid, 13, pending_timer, infinity),
+ NiceCmd(Mid, 14, pending_timer, IT),
+ NiceCmd(Mid, 15, reply_timer, Int),
+ NiceCmd(Mid, 16, reply_timer, infinity),
+ NiceCmd(Mid, 17, reply_timer, IT),
+ NiceCmd(Mid, 18, send_mod, an_atom),
+ NiceCmd(Mid, 19, encoding_mod, an_atom),
+ NiceCmd(Mid, 20, encoding_config, []),
+ NiceCmd(Mid, 21, protocol_version, Int),
+ NiceCmd(Mid, 23, reply_data, IT),
+ NiceCmd(Mid, 23, resend_indication, true),
+ NiceCmd(Mid, 24, resend_indication, false),
+ NiceCmd(Mid, 25, resend_indication, flag),
%% Evil update
- evil_user_update_command(Mid, Evil + 1, min_trans_id, NonInt),
- evil_user_update_command(Mid, Evil + 2, max_trans_id, NonInt),
- evil_user_update_command(Mid, Evil + 3, max_trans_id, non_infinity),
- evil_user_update_command(Mid, Evil + 4, request_timer, NonInt),
- evil_user_update_command(Mid, Evil + 5, request_timer, non_infinity),
- evil_user_update_command(Mid, Evil + 6, request_timer, IT2),
- evil_user_update_command(Mid, Evil + 7, request_timer, IT3),
- evil_user_update_command(Mid, Evil + 8, request_timer, IT4),
- evil_user_update_command(Mid, Evil + 9, request_timer, IT5),
- evil_user_update_command(Mid, Evil + 10, long_request_timer, NonInt),
- evil_user_update_command(Mid, Evil + 11, long_request_timer, non_infinity),
- evil_user_update_command(Mid, Evil + 12, long_request_timer, IT2),
- evil_user_update_command(Mid, Evil + 13, long_request_timer, IT3),
- evil_user_update_command(Mid, Evil + 14, long_request_timer, IT4),
- evil_user_update_command(Mid, Evil + 15, long_request_timer, IT5),
- evil_user_update_command(Mid, Evil + 16, auto_ack, non_bool),
- evil_user_update_command(Mid, Evil + 17, pending_timer, NonInt),
- evil_user_update_command(Mid, Evil + 18, pending_timer, non_infinity),
- evil_user_update_command(Mid, Evil + 19, pending_timer, IT2),
- evil_user_update_command(Mid, Evil + 20, pending_timer, IT3),
- evil_user_update_command(Mid, Evil + 21, pending_timer, IT4),
- evil_user_update_command(Mid, Evil + 22, pending_timer, IT5),
- evil_user_update_command(Mid, Evil + 23, reply_timer, NonInt),
- evil_user_update_command(Mid, Evil + 24, reply_timer, non_infinity),
- evil_user_update_command(Mid, Evil + 25, reply_timer, IT2),
- evil_user_update_command(Mid, Evil + 26, reply_timer, IT3),
- evil_user_update_command(Mid, Evil + 27, reply_timer, IT4),
- evil_user_update_command(Mid, Evil + 28, reply_timer, IT5),
- evil_user_update_command(Mid, Evil + 29, send_mod, {non_atom}),
- evil_user_update_command(Mid, Evil + 30, encoding_mod, {non_atom}),
- evil_user_update_command(Mid, Evil + 31, encoding_config, non_list),
- evil_user_update_command(Mid, Evil + 32, protocol_version, NonInt),
- evil_user_update_command(Mid, Evil + 33, resend_indication, flagg),
-
-
- exit_command(End + 1,
- "Verify non-existing system info",
- fun() -> megaco:system_info(non_exist) end),
- exit_command(End + 2,
- "Verify non-existing user user info",
- fun() -> megaco:user_info(non_exist, trans_id) end),
- exit_command(End + 3, "Verify non-existing user info",
- fun() -> megaco:user_info(Mid, non_exist) end),
-
- error_command(End + 4,
- "Try updating user info for non-existing user",
- fun() ->
- megaco:update_user_info(non_exist, trans_id, 1)
- end,
- no_such_user, 2),
- error_command(End + 11,
- "Try updating non-existing user info",
- fun() ->
- megaco:update_user_info(Mid, trans_id, 4711)
- end,
- bad_user_val, 4),
- error_command(End + 12,
- "Try start already started user",
- fun() ->
- megaco:start_user(Mid, [])
- end,
- user_already_exists, 2),
-
- command(End + 13, "Verify started users",
- fun() -> megaco:system_info(users) end, [Mid]),
- command(End + 14, "Stop user", fun() -> megaco:stop_user(Mid) end, ok),
- command(End + 15, "Verify started users",
- fun() -> megaco:system_info(users) end, []),
- error_command(End + 16, "Try stop not started user",
- fun() -> megaco:stop_user(Mid) end, no_such_user, 2),
- error_command(End + 17, "Try start megaco (it's already started)",
- fun() -> megaco:start() end, already_started, 2),
- command(End + 18, "Stop megaco", fun() -> megaco:stop() end, ok),
- error_command(End + 19, "Try stop megaco (it's not running)",
- fun() -> megaco:stop() end, not_started, 2)
+ EvilCmd(Mid, 1, min_trans_id, NonInt),
+ EvilCmd(Mid, 2, max_trans_id, NonInt),
+ EvilCmd(Mid, 3, max_trans_id, non_infinity),
+ EvilCmd(Mid, 4, request_timer, NonInt),
+ EvilCmd(Mid, 5, request_timer, non_infinity),
+ EvilCmd(Mid, 6, request_timer, IT2),
+ EvilCmd(Mid, 7, request_timer, IT3),
+ EvilCmd(Mid, 8, request_timer, IT4),
+ EvilCmd(Mid, 9, request_timer, IT5),
+ EvilCmd(Mid, 10, long_request_timer, NonInt),
+ EvilCmd(Mid, 11, long_request_timer, non_infinity),
+ EvilCmd(Mid, 12, long_request_timer, IT2),
+ EvilCmd(Mid, 13, long_request_timer, IT3),
+ EvilCmd(Mid, 14, long_request_timer, IT4),
+ EvilCmd(Mid, 15, long_request_timer, IT5),
+ EvilCmd(Mid, 16, auto_ack, non_bool),
+ EvilCmd(Mid, 17, pending_timer, NonInt),
+ EvilCmd(Mid, 18, pending_timer, non_infinity),
+ EvilCmd(Mid, 19, pending_timer, IT2),
+ EvilCmd(Mid, 20, pending_timer, IT3),
+ EvilCmd(Mid, 21, pending_timer, IT4),
+ EvilCmd(Mid, 22, pending_timer, IT5),
+ EvilCmd(Mid, 23, reply_timer, NonInt),
+ EvilCmd(Mid, 24, reply_timer, non_infinity),
+ EvilCmd(Mid, 25, reply_timer, IT2),
+ EvilCmd(Mid, 26, reply_timer, IT3),
+ EvilCmd(Mid, 27, reply_timer, IT4),
+ EvilCmd(Mid, 28, reply_timer, IT5),
+ EvilCmd(Mid, 29, send_mod, {non_atom}),
+ EvilCmd(Mid, 30, encoding_mod, {non_atom}),
+ EvilCmd(Mid, 31, encoding_config, non_list),
+ EvilCmd(Mid, 32, protocol_version, NonInt),
+ EvilCmd(Mid, 33, resend_indication, flagg),
+
+
+ %% End
+ ExitCmd(1, "Verify non-existing system info",
+ fun() -> megaco:system_info(non_exist) end),
+ ExitCmd(2, "Verify non-existing user user info",
+ fun() -> megaco:user_info(non_exist, trans_id) end),
+ ExitCmd(3, "Verify non-existing user info",
+ fun() -> megaco:user_info(Mid, non_exist) end),
+
+ ErrorCmd(4, "Try updating user info for non-existing user",
+ fun() ->
+ megaco:update_user_info(non_exist, trans_id, 1)
+ end,
+ no_such_user, 2),
+ ErrorCmd(11, "Try updating non-existing user info",
+ fun() ->
+ megaco:update_user_info(Mid, trans_id, 4711)
+ end,
+ bad_user_val, 4),
+ ErrorCmd(12, "Try start already started user",
+ fun() -> megaco:start_user(Mid, []) end,
+ user_already_exists, 2),
+
+ PlainCmd(13, "Verify started users",
+ fun() -> megaco:system_info(users) end, [Mid]),
+ PlainCmd(14, "Stop user", fun() -> megaco:stop_user(Mid) end, ok),
+ PlainCmd(15, "Verify started users",
+ fun() -> megaco:system_info(users) end, []),
+ ErrorCmd(16, "Try stop not started user",
+ fun() -> megaco:stop_user(Mid) end, no_such_user, 2),
+ ErrorCmd(17, "Try start megaco (it's already started)",
+ fun() -> megaco:start() end, already_started, 2),
+ PlainCmd(18, "Stop megaco", fun() -> megaco:stop() end, ok),
+ ErrorCmd(19, "Try stop megaco (it's not running)",
+ fun() -> megaco:stop() end, not_started, 2)
],
@@ -279,7 +310,7 @@ exec([#command{id = No,
desc = Desc,
cmd = Cmd,
verify = Verify}|Commands]) ->
- io:format("Executing command ~2w: ~s: ", [No, Desc]),
+ io:format("Executing command ~3w: ~s: ", [No, Desc]),
case (catch Verify((catch Cmd()))) of
{ok, OK} ->
io:format("ok => ~p~n", [OK]),
@@ -320,7 +351,7 @@ nice_user_update_command(Mid, No, Key, Val) ->
evil_user_update_command(Mid, No, Key, Val) ->
- Desc = lists:flatten(io_lib:format("Evil: Update ~w", [Key])),
+ Desc = lists:flatten(io_lib:format("Evil - Update ~w", [Key])),
Cmd = fun() ->
case (catch megaco:user_info(Mid, Key)) of
{'EXIT', R} ->
@@ -371,14 +402,19 @@ error_command(No, Desc, Cmd, MainReason, TS) when is_function(Cmd) ->
end,
command(No, Desc, Cmd, Verify).
-command(No, Desc, Cmd, Verify) when is_integer(No) and is_list(Desc) and
- is_function(Cmd) and is_function(Verify) ->
+command(No, Desc, Cmd, Verify)
+ when (is_integer(No) andalso
+ is_list(Desc) andalso
+ is_function(Cmd) andalso
+ is_function(Verify)) ->
#command{id = No,
desc = Desc,
cmd = Cmd,
verify = Verify};
-command(No, Desc, Cmd, VerifyVal) when is_integer(No) and is_list(Desc) and
- is_function(Cmd) ->
+command(No, Desc, Cmd, VerifyVal)
+ when (is_integer(No) andalso
+ is_list(Desc) andalso
+ is_function(Cmd)) ->
Verify = fun(Val) ->
case Val of
VerifyVal ->
@@ -881,6 +917,12 @@ otp_8167(Config) when is_list(Config) ->
p("connect ok: CD = ~n~p", [CD]),
CH = CD#conn_data.conn_handle,
+ p("get value for item cancel from connection: ~p", [CH]),
+ false = megaco_config:conn_info(CH, cancel),
+
+ p("get value for item cancel from connection data", []),
+ false = megaco_config:conn_info(CD, cancel),
+
p("get value for item call_proxy_gc_timeout for connection: ~p", [CH]),
10101 = megaco_config:conn_info(CH, call_proxy_gc_timeout),
diff --git a/lib/megaco/vsn.mk b/lib/megaco/vsn.mk
index 19eca6d309..cf5957460d 100644
--- a/lib/megaco/vsn.mk
+++ b/lib/megaco/vsn.mk
@@ -18,11 +18,13 @@
# %CopyrightEnd%
APPLICATION = megaco
-MEGACO_VSN = 3.14
+MEGACO_VSN = 3.14.1
PRE_VSN =
APP_VSN = "$(APPLICATION)-$(MEGACO_VSN)$(PRE_VSN)"
-TICKETS = OTP-8317 OTP-8323 OTP-8328 OTP-8362 OTP-8403
+TICKETS = OTP-8561 OTP-8627
+
+TICKETS_3_14 = OTP-8317 OTP-8323 OTP-8328 OTP-8362 OTP-8403
TICKETS_3_13 = OTP-8205 OTP-8239 OTP-8249
diff --git a/lib/mnesia/doc/src/Mnesia_chap5.xmlsrc b/lib/mnesia/doc/src/Mnesia_chap5.xmlsrc
index 3ec0aa37f5..1c7e3662e1 100644
--- a/lib/mnesia/doc/src/Mnesia_chap5.xmlsrc
+++ b/lib/mnesia/doc/src/Mnesia_chap5.xmlsrc
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>1997</year><year>2009</year>
+ <year>1997</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Miscellaneous Mnesia Features</title>
@@ -885,16 +885,16 @@ ok
<item>Removes the subscription on events of type
<c>Event-Category</c></item>
</taglist>
- <p><c>Event-Category</c> may either be the atom <c>system</c>, or
+ <p><c>Event-Category</c> may either be the atom <c>system</c>, the atom <c>activity</c>, or
one of the tuples <c>{table, Tab, simple}</c>, <c>{table, Tab, detailed}</c>. The old event-category <c>{table, Tab}</c> is the same
event-category as <c>{table, Tab, simple}</c>.
The subscribe functions activate a subscription
of events. The events are delivered as messages to the process
evaluating the <c>mnesia:subscribe/1</c> function. The syntax of
- system events is <c>{mnesia_system_event, Event}</c> and
- <c>{mnesia_table_event, Event}</c> for table events. What system
- events and table events means is described below.
- </p>
+ system events is <c>{mnesia_system_event, Event}</c>,
+ <c>{mnesia_activity_event, Event}</c> for activity events, and
+ <c>{mnesia_table_event, Event}</c> for table events. What the various
+ event types mean is described below.</p>
<p>All system events are subscribed by Mnesia's
gen_event handler. The default gen_event handler is
<c>mnesia_event</c>. But it may be changed by using the application
@@ -1039,8 +1039,26 @@ ok
</section>
<section>
+ <title>Activity Events</title>
+ <p>Currently, there is only one type of activity event:</p>
+ <taglist>
+ <tag><c>{complete, ActivityID}</c></tag>
+ <item>
+ <p>This event occurs when a transaction that caused a modification to the database
+ has completed. It is useful for determining when a set of table events
+ (see below) caused by a given activity have all been sent. Once the this event
+ has been received, it is guaranteed that no further table events with the same
+ ActivityID will be received. Note that this event may still be received even
+ if no table events with a corresponding ActivityID were received, depending on
+ the tables to which the receiving process is subscribed.</p>
+ <p>Dirty operations always only contain one update and thus no activity event is sent.</p>
+ </item>
+ </taglist>
+ </section>
+
+ <section>
<title>Table Events</title>
- <p>Another category of events are table events, which are
+ <p>The final category of events are table events, which are
events related to table updates. There are two types of table
events simple and detailed.
</p>
diff --git a/lib/mnesia/doc/src/mnesia.xml b/lib/mnesia/doc/src/mnesia.xml
index d76471d922..5d3bcf830e 100644
--- a/lib/mnesia/doc/src/mnesia.xml
+++ b/lib/mnesia/doc/src/mnesia.xml
@@ -1135,7 +1135,7 @@ mnesia:create_table(person,
</list>
<p>If two processes perform <c>mnesia:dirty_update_counter/3</c>
simultaneously, both updates will take effect without the
- risk of loosing one of the updates. The new value
+ risk of losing one of the updates. The new value
<c>NewVal</c> of the counter is returned.</p>
<p>If <c>Key</c> don't exits, a new record is created with the value
<c>Incr</c> if it is larger than 0, otherwise it is set to 0.</p>
diff --git a/lib/mnesia/src/mnesia_monitor.erl b/lib/mnesia/src/mnesia_monitor.erl
index 5df5df4969..5bd93d6b9b 100644
--- a/lib/mnesia/src/mnesia_monitor.erl
+++ b/lib/mnesia/src/mnesia_monitor.erl
@@ -256,6 +256,7 @@ init([Parent]) ->
?ets_new_table(mnesia_gvar, [set, public, named_table]),
?ets_new_table(mnesia_stats, [set, public, named_table]),
set(subscribers, []),
+ set(activity_subscribers, []),
mnesia_lib:verbose("~p starting: ~p~n", [?MODULE, self()]),
Version = mnesia:system_info(version),
set(version, Version),
diff --git a/lib/mnesia/src/mnesia_subscr.erl b/lib/mnesia/src/mnesia_subscr.erl
index afd1704dec..93d4a86f7f 100644
--- a/lib/mnesia/src/mnesia_subscr.erl
+++ b/lib/mnesia/src/mnesia_subscr.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -30,7 +30,8 @@
subscribers/0,
report_table_event/4,
report_table_event/5,
- report_table_event/6
+ report_table_event/6,
+ report_activity/1
]).
%% gen_server callbacks
@@ -91,6 +92,8 @@ set_debug_level(Level, OldEnv) ->
subscribe(ClientPid, system) ->
change_subscr(activate, ClientPid, system);
+subscribe(ClientPid, activity) ->
+ change_subscr(activate, ClientPid, activity);
subscribe(ClientPid, {table, Tab}) ->
change_subscr(activate, ClientPid, {table, Tab, simple});
subscribe(ClientPid, {table, Tab, simple}) ->
@@ -102,6 +105,8 @@ subscribe(_ClientPid, What) ->
unsubscribe(ClientPid, system) ->
change_subscr(deactivate, ClientPid, system);
+unsubscribe(ClientPid, activity) ->
+ change_subscr(deactivate, ClientPid, activity);
unsubscribe(ClientPid, {table, Tab}) ->
change_subscr(deactivate, ClientPid, {table, Tab, simple});
unsubscribe(ClientPid, {table, Tab, simple}) ->
@@ -120,6 +125,15 @@ change_subscr(Kind, ClientPid, What) ->
subscribers() ->
[whereis(mnesia_event) | mnesia_lib:val(subscribers)].
+report_activity({dirty, _pid}) ->
+ ok;
+report_activity(Tid) ->
+ case ?catch_val(activity_subscribers) of
+ {'EXIT', _} -> ok;
+ Subscribers ->
+ deliver(Subscribers, {mnesia_activity_event, {complete, Tid}})
+ end.
+
report_table_event(Tab, Tid, Obj, Op) ->
case ?catch_val({Tab, commit_work}) of
{'EXIT', _} -> ok;
@@ -300,6 +314,9 @@ code_change(_OldVsn, State, _Extra) ->
do_change({activate, ClientPid, system}, SubscrTab) when is_pid(ClientPid) ->
Var = subscribers,
activate(ClientPid, system, Var, subscribers(), SubscrTab);
+do_change({activate, ClientPid, activity}, SubscrTab) when is_pid(ClientPid) ->
+ Var = activity_subscribers,
+ activate(ClientPid, activity, Var, mnesia_lib:val(Var), SubscrTab);
do_change({activate, ClientPid, {table, Tab, How}}, SubscrTab) when is_pid(ClientPid) ->
case ?catch_val({Tab, where_to_read}) of
Node when Node == node() ->
@@ -313,6 +330,9 @@ do_change({activate, ClientPid, {table, Tab, How}}, SubscrTab) when is_pid(Clien
do_change({deactivate, ClientPid, system}, SubscrTab) ->
Var = subscribers,
deactivate(ClientPid, system, Var, SubscrTab);
+do_change({deactivate, ClientPid, activity}, SubscrTab) ->
+ Var = activity_subscribers,
+ deactivate(ClientPid, activity, Var, SubscrTab);
do_change({deactivate, ClientPid, {table, Tab, How}}, SubscrTab) ->
Var = {Tab, commit_work},
deactivate(ClientPid, {table, Tab, How}, Var, SubscrTab);
@@ -345,7 +365,7 @@ do_change(_, _) ->
activate(ClientPid, What, Var, OldSubscribers, SubscrTab) ->
Old =
- if Var == subscribers ->
+ if Var == subscribers orelse Var == activity_subscribers ->
OldSubscribers;
true ->
case lists:keysearch(subscribers, 1, OldSubscribers) of
@@ -379,6 +399,9 @@ activate(ClientPid, What, Var, OldSubscribers, SubscrTab) ->
add_subscr(subscribers, _What, Pid) ->
mnesia_lib:add(subscribers, Pid),
{ok, node()};
+add_subscr(activity_subscribers, _What, Pid) ->
+ mnesia_lib:add(activity_subscribers, Pid),
+ {ok, node()};
add_subscr({Tab, commit_work}, What, Pid) ->
Commit = mnesia_lib:val({Tab, commit_work}),
case lists:keysearch(subscribers, 1, Commit) of
@@ -427,6 +450,8 @@ deactivate(ClientPid, What, Var, SubscrTab) ->
del_subscr(subscribers, _What, Pid) ->
mnesia_lib:del(subscribers, Pid);
+del_subscr(activity_subscribers, _What, Pid) ->
+ mnesia_lib:del(activity_subscribers, Pid);
del_subscr({Tab, commit_work}, What, Pid) ->
Commit = mnesia_lib:val({Tab, commit_work}),
case lists:keysearch(subscribers, 1, Commit) of
@@ -473,6 +498,8 @@ do_handle_exit([{ClientPid, What} | Tail]) ->
case What of
system ->
del_subscr(subscribers, What, ClientPid);
+ activity ->
+ del_subscr(activity_subscribers, What, ClientPid);
{_, Tab, _Level} ->
del_subscr({Tab, commit_work}, What, ClientPid)
end,
diff --git a/lib/mnesia/src/mnesia_tm.erl b/lib/mnesia/src/mnesia_tm.erl
index d42109c3da..f3ffac5493 100644
--- a/lib/mnesia/src/mnesia_tm.erl
+++ b/lib/mnesia/src/mnesia_tm.erl
@@ -1733,7 +1733,9 @@ do_commit(Tid, C, DumperMode) ->
R = do_snmp(Tid, C#commit.snmp),
R2 = do_update(Tid, ram_copies, C#commit.ram_copies, R),
R3 = do_update(Tid, disc_copies, C#commit.disc_copies, R2),
- do_update(Tid, disc_only_copies, C#commit.disc_only_copies, R3).
+ R4 = do_update(Tid, disc_only_copies, C#commit.disc_only_copies, R3),
+ mnesia_subscr:report_activity(Tid),
+ R4.
%% Update the items
do_update(Tid, Storage, [Op | Ops], OldRes) ->
diff --git a/lib/observer/test/Makefile b/lib/observer/test/Makefile
new file mode 100644
index 0000000000..6f1430b00a
--- /dev/null
+++ b/lib/observer/test/Makefile
@@ -0,0 +1,90 @@
+# ``The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved via the world wide web at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# The Initial Developer of the Original Code is Ericsson Utvecklings AB.
+# Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
+# AB. All Rights Reserved.''
+#
+# $Id$
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+MODULES = \
+ observer_SUITE \
+ crashdump_viewer_SUITE \
+ etop_SUITE \
+ ttb_SUITE \
+ crashdump_helper
+
+ERL_FILES= $(MODULES:%=%.erl)
+
+TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
+INSTALL_PROGS= $(TARGET_FILES)
+
+EMAKEFILE=Emakefile
+COVERFILE=observer.cover
+
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/observer_test
+
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+ERL_MAKE_FLAGS += -pa $(ERL_TOP)/lib/test_server/ebin
+ERL_COMPILE_FLAGS += -I$(ERL_TOP)/lib/test_server/include
+
+EBIN = .
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+.PHONY: make_emakefile
+
+make_emakefile:
+ $(ERL_TOP)/make/make_emakefile $(ERL_COMPILE_FLAGS) -o$(EBIN) \
+ $(MODULES) >> $(EMAKEFILE)
+
+tests debug opt: make_emakefile
+ cd $(ERL_TOP)/lib/test_server/src && \
+ $(MAKE) ../ebin/test_server_line.beam
+ erl $(ERL_MAKE_FLAGS) -make
+
+clean:
+ rm -f $(EMAKEFILE)
+ rm -f $(TARGET_FILES)
+ rm -f core
+
+docs:
+
+# ----------------------------------------------------
+# Special targets
+# ----------------------------------------------------
+
+# ----------------------------------------------------
+# Release Target
+# ----------------------------------------------------
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_spec: opt
+
+release_tests_spec: make_emakefile
+ $(INSTALL_DIR) $(RELSYSDIR)
+ $(INSTALL_DATA) observer.spec observer.dynspec $(EMAKEFILE) \
+ $(COVERFILE) $(ERL_FILES) \
+ $(RELSYSDIR)
+ @tar cf - *_SUITE_data | (cd $(RELSYSDIR); tar xf -)
+
+release_docs_spec:
+
+
diff --git a/lib/observer/test/crashdump_helper.erl b/lib/observer/test/crashdump_helper.erl
new file mode 100644
index 0000000000..43b3db738f
--- /dev/null
+++ b/lib/observer/test/crashdump_helper.erl
@@ -0,0 +1,61 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+-module(crashdump_helper).
+-export([n1_proc/2,remote_proc/2]).
+-compile(r11).
+-include("test_server.hrl").
+
+n1_proc(N2,Creator) ->
+ spawn(fun() -> n1_proc(Creator,N2,x,[]) end).
+n1_proc(Creator,N2,P2,L) when P2==x;length(L)<2->
+ receive
+ {N2,P} ->
+ n1_proc(Creator,N2,P,L);
+ P ->
+ n1_proc(Creator,N2,P2,[P|L])
+ end;
+n1_proc(Creator,_N2,P2,_L) ->
+ register(aaaaaaaa,self()),
+ process_flag(save_calls,3),
+ ets:new(cdv_test_ordset_table,[ordered_set]),
+ erlang:send_after(1000000,self(),cdv_test_timer_message),
+ Port = hd(erlang:ports()),
+ Fun = fun() -> ok end,
+ Ref = make_ref(),
+ Pid = self(),
+ Bin = list_to_binary(lists:seq(1, 255)),
+ SubBin = element(1, split_binary(element(2, split_binary(Bin, 8)), 17)),
+ DictionaryValue = {"list",atom,42,54.654,math:pow(2,1023),{},
+ Port,Fun,Ref,Pid,
+ Bin,SubBin,83974938738373873,-38748762783736367},
+ put(dictionary_key,DictionaryValue),
+ spawn(fun() -> register(aaaaaaab,self()),
+ receive after infinity -> ok end
+ end),
+ link(P2),
+ Creator ! {self(),done},
+ receive after infinity -> ok end.
+
+remote_proc(P1,Creator) ->
+ spawn(fun() ->
+ P1 ! {node(),self()},
+ Creator ! {self(),done},
+ receive after infinity -> ok end
+ end).
diff --git a/lib/observer/test/crashdump_viewer_SUITE.erl b/lib/observer/test/crashdump_viewer_SUITE.erl
new file mode 100644
index 0000000000..fcf383dc2e
--- /dev/null
+++ b/lib/observer/test/crashdump_viewer_SUITE.erl
@@ -0,0 +1,723 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+-module(crashdump_viewer_SUITE).
+
+%% Test functions
+-export([all/1,translate/1,start/1,fini/1,load_file/1,
+ non_existing/1,not_a_crashdump/1,old_crashdump/1]).
+-export([init_per_suite/1, end_per_suite/1]).
+-export([init_per_testcase/2, end_per_testcase/2]).
+
+-include("test_server.hrl").
+-include("test_server_line.hrl").
+-include_lib("kernel/include/file.hrl").
+
+-include_lib("stdlib/include/ms_transform.hrl").
+
+-define(default_timeout, ?t:minutes(30)).
+-define(sl_alloc_vsns,[r9b]).
+
+init_per_testcase(_Case, Config) ->
+ DataDir = ?config(data_dir,Config),
+ Fs = filelib:wildcard(filename:join(DataDir,"*translated*")),
+ lists:foreach(fun(F) -> file:delete(F) end,Fs),
+ catch crashdump_viewer:stop(),
+ Dog = ?t:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+end_per_testcase(_Case, Config) ->
+ Dog=?config(watchdog, Config),
+ ?t:timetrap_cancel(Dog),
+ ok.
+
+all(suite) ->
+ [translate,{conf,start,[load_file,non_existing,not_a_crashdump,
+ old_crashdump],fini}].
+
+init_per_suite(doc) ->
+ ["Create a lot of crashdumps which can be used in the testcases below"];
+init_per_suite(Config) when is_list(Config) ->
+ Dog = ?t:timetrap(?default_timeout),
+ application:start(inets), % will be using the http client later
+ http:set_options([{ipv6,disabled}]),
+ DataDir = ?config(data_dir,Config),
+ Rels = [R || R <- [r12b,r13b], ?t:is_release_available(R)] ++ [current],
+ io:format("Creating crash dumps for the following releases: ~p", [Rels]),
+ AllDumps = create_dumps(DataDir,Rels),
+ ?t:timetrap_cancel(Dog),
+ [{dumps,AllDumps}|Config].
+
+translate(suite) ->
+ [];
+translate(doc) ->
+ ["Test that crash dumps from OTP R9B can be translated"];
+translate(Config) when is_list(Config) ->
+ DataDir = ?config(data_dir,Config),
+ OutFile = filename:join(DataDir,"translated"),
+
+ R9BFiles = filelib:wildcard(filename:join(DataDir,"r9b_dump.*")),
+ AllFiles = R9BFiles,
+ lists:foreach(
+ fun(File) ->
+ io:format("Translating file: ~s~n",[File]),
+ ok = crashdump_translate:old2new(File,OutFile),
+ check_result(File,OutFile)
+ end,
+ AllFiles),
+ ok.
+
+start(suite) ->
+ [];
+start(doc) ->
+ ["Test start and stop of the Crashdump Viewer"];
+start(Config) when is_list(Config) ->
+ %% Set a much shorter timeout here... We don't have all the time in world.
+ AngryDog = ?t:timetrap(?t:seconds(30)),
+ Port = start_cdv(),
+ true = is_pid(whereis(crashdump_viewer_server)),
+ true = is_pid(whereis(web_tool)),
+ Html = contents(Port,"start_page"),
+ "Welcome to the Web BasedErlang Crash Dump Analyser" = strip(Html),
+ ok = crashdump_viewer:stop(),
+ timer:sleep(10), % give some time to stop
+ undefined = whereis(crashdump_viewer_server),
+ undefined = whereis(web_tool),
+ Url = cdv_url(Port,"start_page"),
+ {error,_} = http:request(get,{Url,[]},[],[]),
+% exit(whereis(httpc_manager),kill),
+ ?t:timetrap_cancel(AngryDog),
+ ok.
+
+fini(Config) when is_list(Config) ->
+ ok.
+
+load_file(suite) ->
+ [];
+load_file(doc) ->
+ ["Load files into the tool and view all pages"];
+load_file(Config) when is_list(Config) ->
+ case ?t:is_debug() of
+ true ->
+ {skip,"Debug-compiled emulator -- far too slow"};
+ false ->
+ load_file_1(Config)
+ end.
+
+
+load_file_1(Config) ->
+ DataDir = ?config(data_dir,Config),
+ Port = start_cdv(),
+
+ AllFiles = filelib:wildcard(filename:join(DataDir,"r*_dump.*")),
+ lists:foreach(
+ fun(File) ->
+ browse_file(Port,File),
+ special(Port,File)
+ end,
+ AllFiles),
+ ok = crashdump_viewer:stop().
+
+non_existing(suite) ->
+ [];
+non_existing(doc) ->
+ ["Try to load nonexisting file"];
+non_existing(Config) when is_list(Config) ->
+ Port = start_cdv(),
+ Url = "http://localhost:"++Port++"/cdv_erl/crashdump_viewer/read_file",
+ Html = request_sync(post,{Url,[],[],"path=nonexistingfile"}),
+ "Please wait..." = title(Html),
+ "An error occured:nonexistingfile is not an Erlang crash dump" =
+ strip(wait(10,Port,"redirect")),
+ ok = crashdump_viewer:stop().
+
+old_crashdump(doc) ->
+ ["Try to load nonexisting file"];
+old_crashdump(Config) when is_list(Config) ->
+ Port = start_cdv(),
+ DataDir = ?config(data_dir, Config),
+ OldCrashDump = filename:join(DataDir, "old_format.dump"),
+ Url = "http://localhost:"++Port++"/cdv_erl/crashdump_viewer/read_file",
+ Html = request_sync(post,{Url,[],[],"path="++OldCrashDump}),
+ "Please wait..." = title(Html),
+ Str = "An error occured:The crashdump "++OldCrashDump++
+ " is in the pre-R10B format, which is no longer supported.",
+ Str = strip(wait(10,Port,"redirect")),
+ ok = crashdump_viewer:stop().
+
+
+not_a_crashdump(suite) ->
+ [];
+not_a_crashdump(doc) ->
+ ["Try to load a file which is not an erlang crashdump"];
+not_a_crashdump(Config) when is_list(Config) ->
+ Port = start_cdv(),
+ NoCrashdump = code:which(?MODULE),
+ Url = "http://localhost:"++Port++"/cdv_erl/crashdump_viewer/read_file",
+ Html = request_sync(post,{Url,[],[],"path="++NoCrashdump}),
+ "Please wait..." = title(Html),
+ Str = "An error occured:"++NoCrashdump++" is not an Erlang crash dump",
+ Str = strip(wait(10,Port,"redirect")),
+ ok = crashdump_viewer:stop(),
+% exit(whereis(httpc_manager),kill),
+ ok.
+
+
+
+end_per_suite(doc) ->
+ ["Remove generated crashdumps"];
+end_per_suite(Config) when is_list(Config) ->
+ Dumps = ?config(dumps,Config),
+ lists:foreach(fun(CD) -> ok = file:delete(CD) end,Dumps),
+ lists:keydelete(dumps,1,Config).
+
+
+%%%-----------------------------------------------------------------
+%%% Internal
+start_cdv() ->
+ ?t:capture_start(),
+ ok = crashdump_viewer:start(),
+ "WebTool is available at http://localhost:" ++ Where =
+ lists:flatten(?t:capture_get()),
+ ?t:capture_stop(),
+ [Port|_] = string:tokens(Where,"/"),
+ Port.
+
+
+check_result(File,OutFile) ->
+ {ok,#file_info{size=FS}} = file:read_file_info(File),
+ {ok,#file_info{size=OFS}} = file:read_file_info(OutFile),
+ Rel =
+ if OFS > 0 -> FS/OFS;
+ true -> 1.25
+ end,
+ if Rel>0.75, Rel<1.25 -> ok;
+ true -> ?t:fail({unreasonable_size,File,FS,OFS})
+ end,
+ {ok,Fd} = file:open(OutFile,[read]),
+ "=erl_crash_dump:0.0\n" = io:get_line(Fd,''),
+ case is_truncated(File) of
+ true ->
+ ok;
+ false ->
+ {ok,_} = file:position(Fd,{eof,-5}),
+ case io:get_line(Fd,'') of
+ "=end\n" -> ok;
+ Other -> ?t:fail({truncated,File,Other})
+ end
+ end,
+ ok = file:close(Fd).
+
+
+%% Read a page and check that the page title matches Title
+contents(Port,Link) ->
+ Url = cdv_url(Port,Link),
+ request_sync(get,{Url,[]}).
+
+cdv_url(Port,Link) ->
+ "http://localhost:" ++ Port ++ "/cdv_erl/crashdump_viewer/" ++ Link.
+
+request_sync(Method,HTTPReqCont) ->
+ case http:request(Method,
+ HTTPReqCont,
+ [{timeout,30000}],
+ [{full_result, false}]) of
+ {ok,{200,Html}} ->
+ Html;
+ {ok,{Code,Html}} ->
+ io:format("~s\n", [Html]),
+ io:format("Received ~w from http:request(...) with\nMethod=~w\n"
+ "HTTPReqCont=~p\n",
+ [Code,Method,HTTPReqCont]),
+ ?t:fail();
+ Other ->
+ io:format(
+ "Received ~w from http:request(...) with\nMethod=~w\n"
+ "HTTPReqCont=~p\n",
+ [Other,Method,HTTPReqCont]),
+ ?t:fail()
+ end.
+
+
+
+
+strip([$<|Html]) ->
+ strip(drop_tag(Html));
+strip([$\n|Html]) ->
+ strip(Html);
+strip([X|Html]) ->
+ [X|strip(Html)];
+strip([]) ->
+ [].
+drop_tag([$>|Html]) ->
+ Html;
+drop_tag([_|Html]) ->
+ drop_tag(Html).
+
+title(Port,Link,Title) ->
+ Html = contents(Port,Link),
+ Title = title(Html).
+
+wait(0,_Port,Link) ->
+ ?t:fail({wait,Link,timeout});
+wait(Time,Port,Link) ->
+ Html = contents(Port,Link),
+ case title(Html) of
+ "Please wait..." ->
+ timer:sleep(1000),
+ wait(Time-1,Port,Link);
+ _Title ->
+ Html
+ end.
+
+title([$<,$T,$I,$T,$L,$E,$>|Html]) ->
+ title_end(Html);
+title([_|Html]) ->
+ title(Html);
+title([]) ->
+ [].
+
+title_end([$<,$/,$T,$I,$T,$L,$E,$>|_]) ->
+ [];
+title_end([X|Html]) ->
+ [X|title_end(Html)].
+
+
+%%%-----------------------------------------------------------------
+%%% General check of what is displayed for a dump
+browse_file(Port,File) ->
+ io:format("Browsing file: ~s~n",[File]),
+
+ %% The page where a filename can be entered
+ title(Port,"read_file_frame","Read File"),
+
+ %% Load a file
+ Url = "http://localhost:"++Port++"/cdv_erl/crashdump_viewer/read_file",
+ Html = request_sync(post,{Url,[],[],"path="++File}),
+ "Please wait..." = title(Html),
+ "Crashdump Viewer Start Page" = title(wait(10,Port,"start_page")),
+
+ %% The frame with the initial information for a dump
+ title(Port,"initial_info_frame","General Information"),
+
+ %% Topmost frame of the page
+ FilenameFrame = contents(Port,"filename_frame"),
+ Match = "FilenameCrashdump currently viewed:" ++ File,
+ true = lists:prefix(Match,strip(FilenameFrame)),
+
+ %% Toggle a menu item and check that it explodes/collapses
+ title(Port,"menu_frame","Menu"),
+ exploded = toggle_menu(Port),
+ collapsed = toggle_menu(Port),
+
+ %% Open each page in menu and check that correct title is shown
+ title(Port,"general_info","General Information"),
+ title(Port,"processes","Process Information"),
+ title(Port,"sort_procs?sort=state","Process Information"),
+ title(Port,"sort_procs?sort=state","Process Information"),
+ title(Port,"sort_procs?sort=pid","Process Information"),
+ title(Port,"sort_procs?sort=pid","Process Information"),
+ title(Port,"sort_procs?sort=msg_q_len","Process Information"),
+ title(Port,"sort_procs?sort=msg_q_len","Process Information"),
+ title(Port,"sort_procs?sort=reds","Process Information"),
+ title(Port,"sort_procs?sort=reds","Process Information"),
+ title(Port,"sort_procs?sort=mem","Process Information"),
+ title(Port,"sort_procs?sort=mem","Process Information"),
+ title(Port,"sort_procs?sort=name","Process Information"),
+ title(Port,"sort_procs?sort=name","Process Information"),
+ title(Port,"sort_procs?sort=init_func","Process Information"),
+ title(Port,"sort_procs?sort=init_func","Process Information"),
+ title(Port,"ports","Port Information"),
+ title(Port,"ets_tables","ETS Table Information"),
+ title(Port,"timers","Timer Information"),
+ title(Port,"fun_table","Fun Information"),
+ title(Port,"atoms","Atoms"),
+ title(Port,"dist_info","Distribution Information"),
+ title(Port,"loaded_modules","Loaded Modules Information"),
+ title(Port,"hash_tables","Hash Table Information"),
+ title(Port,"index_tables","Index Table Information"),
+ title(Port,"memory","Memory Information"),
+ title(Port,"allocated_areas","Information about allocated areas"),
+ title(Port,"allocator_info","Allocator Information"),
+
+ case is_truncated(File) of
+ true ->
+ ok;
+ _ ->
+ proc_details(Port),
+ port_details(Port),
+ title(Port,"loaded_mod_details?mod=kernel","kernel")
+ end,
+
+ ok.
+
+
+special(Port,File) ->
+ case filename:extension(File) of
+ ".full_dist" ->
+ contents(Port,"processes"),
+ AllProcs = contents(Port,"sort_procs?sort=name"),
+
+ %% I registered a process as aaaaaaaa in the full_dist dumps
+ %% to make sure it will be the first in the list when sorted
+ %% on names. There are some special data here, s� I'll thoroughly
+ %% read the process details for this process. Other processes
+ %% are just briefly traversed.
+ {Pid,Rest1} = get_first_process(AllProcs),
+
+ ProcDetails = contents(Port,"proc_details?pid=" ++ Pid),
+ ProcTitle = "Process " ++ Pid,
+ ProcTitle = title(ProcDetails),
+ title(Port,"ets_tables?pid="++Pid,"ETS Tables for Process "++Pid),
+ title(Port,"timers?pid="++Pid,"Timers for Process "++Pid),
+
+ case filename:basename(File) of
+ "r10b_dump.full_dist" ->
+ [MsgQueueLink,DictLink,StackDumpLink] =
+ expand_memory_links(ProcDetails),
+ MsgQueue = contents(Port,MsgQueueLink),
+ "MsgQueue" = title(MsgQueue),
+ title(Port,DictLink,"Dictionary"),
+ title(Port,StackDumpLink,"StackDump"),
+
+ ExpandBinaryLink = expand_binary_link(MsgQueue),
+ title(Port,ExpandBinaryLink,"Expanded binary"),
+ lookat_all_pids(Port,Rest1);
+ _ ->
+ ok
+ end;
+ ".250atoms" ->
+ Html1 = contents(Port,"atoms"),
+ NextLink1 = next_link(Html1),
+ "Atoms" = title(Html1),
+ Html2 = contents(Port,NextLink1),
+ NextLink2 = next_link(Html2),
+ "Atoms" = title(Html2),
+ Html3 = contents(Port,NextLink2),
+ "" = next_link(Html3),
+ "Atoms" = title(Html3);
+ _ ->
+ ok
+ end,
+ case filename:basename(File) of
+ "r10b_dump." ++ _ ->
+ lookat_all_pids(Port,contents(Port,"processes"));
+ "r11b_dump." ++ _ ->
+ lookat_all_pids(Port,contents(Port,"processes"));
+ _ ->
+ ok
+ end,
+ ok.
+
+
+lookat_all_pids(Port,Pids) ->
+ case get_first_process(Pids) of
+ {Pid,Rest} ->
+ ProcDetails = contents(Port,"proc_details?pid=" ++ Pid),
+ ProcTitle = "Process " ++ Pid,
+ ProcTitle = title(ProcDetails),
+ title(Port,"ets_tables?pid="++Pid,"ETS Tables for Process "++Pid),
+ title(Port,"timers?pid="++Pid,"Timers for Process "++Pid),
+
+ MemoryLinks = expand_memory_links(ProcDetails),
+ lists:foreach(
+ fun(Link) ->
+ Cont = contents(Port,Link),
+ true = lists:member(title(Cont),
+ ["MsgQueue",
+ "Dictionary",
+ "StackDump"])
+ end,
+ MemoryLinks),
+ lookat_all_pids(Port,Rest);
+ false ->
+ ok
+ end.
+
+
+get_first_process([]) ->
+ false;
+get_first_process(Html) ->
+ case Html of
+ "<TD><A HREF=\"./proc_details?pid=" ++ Rest ->
+ {string:sub_word(Rest,1,$"),Rest};
+ [_H|T] ->
+ get_first_process(T)
+ end.
+
+expand_memory_links(Html) ->
+ case Html of
+ "<B>MsgQueue</B></TD><TD COLSPAN=3><A HREF=\"./" ++ Rest ->
+ [string:sub_word(Rest,1,$")|expand_memory_links(Rest)];
+ "<B>Dictionary</B></TD><TD COLSPAN=3><A HREF=\"./" ++ Rest ->
+ [string:sub_word(Rest,1,$")|expand_memory_links(Rest)];
+ "<B>StackDump</B></TD><TD COLSPAN=3><A HREF=\"./" ++ Rest ->
+ [string:sub_word(Rest,1,$")];
+ [_H|T] ->
+ expand_memory_links(T);
+ [] ->
+ []
+ end.
+
+expand_binary_link(Html) ->
+ case Html of
+ "<A HREF=\"./expand_binary?pos=" ++ Rest ->
+ "expand_binary?pos=" ++ string:sub_word(Rest,1,$");
+ [_H|T] ->
+ expand_binary_link(T)
+ end.
+
+
+next_link(Html) ->
+ case Html of
+ "<A HREF=\"./next?pos=" ++ Rest ->
+ "next?pos=" ++ string:sub_word(Rest,1,$");
+ [_H|T] ->
+ next_link(T);
+ [] ->
+ []
+ end.
+
+
+
+toggle_menu(Port) ->
+ Html = contents(Port,"toggle?index=10"),
+ check_toggle(Html).
+
+check_toggle(Html) ->
+ case Html of
+ "<A HREF=\"./toggle?index=10\"><IMG SRC=\"/crashdump_viewer/collapsd.gif\"" ++ _ ->
+ collapsed;
+ "<A HREF=\"./toggle?index=10\"><IMG SRC=\"/crashdump_viewer/exploded.gif\"" ++ _ ->
+ exploded;
+ [_H|T] ->
+ check_toggle(T)
+ end.
+
+
+proc_details(Port) ->
+ ProcDetails = contents(Port,"proc_details?pid=<0.0.0>"),
+ "Process <0.0.0>" = title(ProcDetails),
+
+ ExpandLink = expand_link(ProcDetails),
+ title(Port,ExpandLink,"StackDump"),
+
+ Unknown = contents(Port,"proc_details?pid=<0.9999.0>"),
+ "Could not find process: <0.9999.0>" = title(Unknown).
+
+expand_link(Html) ->
+ case Html of
+ "<B>StackDump</B></TD><TD COLSPAN=3><A HREF=\"./" ++ Rest ->
+ string:sub_word(Rest,1,$");
+ [_H|T] ->
+ expand_link(T)
+ end.
+
+
+port_details(Port) ->
+ Port1 = contents(Port,"ports?port=Port<0.1>"),
+ "#Port<0.1>" = title(Port1),
+
+ Port0 = contents(Port,"ports?port=Port<0.0>"),
+ "Could not find port: #Port<0.0>" = title(Port0).
+
+is_truncated(File) ->
+ case filename:extension(filename:rootname(File)) of
+ ".trunc" -> true;
+ _ -> false
+ end.
+
+
+%%%-----------------------------------------------------------------
+%%%
+create_dumps(DataDir,Rels) ->
+ create_dumps(DataDir,Rels,[]).
+create_dumps(DataDir,[Rel|Rels],Acc) ->
+ Fun = fun() -> do_create_dumps(DataDir,Rel) end,
+ Pa = filename:dirname(code:which(?MODULE)),
+ {SlAllocDumps,Dumps,DosDump} =
+ ?t:run_on_shielded_node(Fun, compat_rel(Rel) ++ "-pa " ++ Pa),
+ create_dumps(DataDir,Rels,SlAllocDumps ++ Dumps ++ Acc ++ DosDump);
+create_dumps(_DataDir,[],Acc) ->
+ Acc.
+
+do_create_dumps(DataDir,Rel) ->
+ SlAllocDumps =
+ case lists:member(Rel,?sl_alloc_vsns) of
+ true ->
+ [dump_with_args(DataDir,Rel,"no_sl_alloc","+Se false"),
+ dump_with_args(DataDir,Rel,"sl_alloc_1","+Se true +Sr 1"),
+ dump_with_args(DataDir,Rel,"sl_alloc_2","+Se true +Sr 2")];
+ false ->
+ []
+ end,
+ CD1 = full_dist_dump(DataDir,Rel),
+ CD2 = dump_with_args(DataDir,Rel,"port_is_unix_fd","-oldshell"),
+ DosDump =
+ case os:type() of
+ {unix,sunos} -> dos_dump(DataDir,Rel,CD1);
+ _ -> []
+ end,
+ case Rel of
+ current ->
+ CD3 = dump_with_args(DataDir,Rel,"instr","+Mim true"),
+ {SlAllocDumps, [CD1,CD2,CD3], DosDump};
+ _ ->
+ {SlAllocDumps, [CD1,CD2], DosDump}
+ end.
+
+
+%% Create a dump which has two visible nodes, one hidden and one
+%% not connected node, and with monitors and links between nodes.
+full_dist_dump(DataDir,Rel) ->
+ Opt = rel_opt(Rel),
+ Pz = "-pz " ++ filename:dirname(code:which(?MODULE)),
+ PzOpt = [{args,Pz}],
+ {ok,N1} = ?t:start_node(n1,peer,Opt ++ PzOpt),
+ {ok,N2} = ?t:start_node(n2,peer,Opt ++ PzOpt),
+ {ok,N3} = ?t:start_node(n3,peer,Opt ++ PzOpt),
+ {ok,N4} = ?t:start_node(n4,peer,Opt ++ [{args,"-hidden " ++ Pz}]),
+ Creator = self(),
+
+ HelperMod = crashdump_helper,
+
+ P1 = rpc:call(N1,HelperMod,n1_proc,[N2,Creator]),
+ P2 = rpc:call(N2,HelperMod,remote_proc,[P1,Creator]),
+ P3 = rpc:call(N3,HelperMod,remote_proc,[P1,Creator]),
+ P4 = rpc:call(N4,HelperMod,remote_proc,[P1,Creator]),
+
+ get_response(P2),
+ get_response(P3),
+ get_response(P4),
+ get_response(P1),
+
+ L = lists:seq(0,255),
+ BigMsg = {message,list_to_binary(L),L},
+ Port = hd(erlang:ports()),
+ {aaaaaaaa,N1} ! {short,message,1,2.5,"hello world",Port,{}},
+ {aaaaaaaa,N1} ! BigMsg,
+
+ ?t:stop_node(N3),
+ DumpName = "full_dist",
+ CD = dump(N1,DataDir,Rel,DumpName),
+
+ ?t:stop_node(N2),
+ ?t:stop_node(N4),
+ CD.
+
+get_response(P) ->
+ receive {P,done} -> ok
+ after 3000 -> ?t:fail({get_response_timeout,P,node(P)})
+ end.
+
+
+dump_with_args(DataDir,Rel,DumpName,Args) ->
+ RelOpt = rel_opt(Rel),
+ Opt = RelOpt ++ [{args,Args}],
+ {ok,N1} = ?t:start_node(n1,peer,Opt),
+ CD = dump(N1,DataDir,Rel,DumpName),
+ ?t:stop_node(n1),
+ CD.
+
+
+
+dump(Node,DataDir,Rel,DumpName) ->
+ rpc:call(Node,erlang,halt,[DumpName]),
+ Crashdump0 = filename:join(filename:dirname(code:which(?t)),
+ "erl_crash_dump.n1"),
+ Crashdump1 = filename:join(DataDir, dump_prefix(Rel)++DumpName),
+ ok = rename(Crashdump0,Crashdump1),
+ Crashdump1.
+
+rename(From,To) ->
+ ok = check_complete(From),
+ case file:rename(From,To) of
+ {error,exdev} ->
+ {ok,_} = file:copy(From,To),
+ ok = file:delete(From);
+ ok ->
+ ok
+ end.
+
+check_complete(File) ->
+ check_complete1(File,5).
+
+check_complete1(_File,0) ->
+ {error,enoent};
+check_complete1(File,N) ->
+ case file:read_file_info(File) of
+ {error,enoent} ->
+ timer:sleep(500),
+ check_complete1(File,N-1);
+ {ok,#file_info{size=Size}} ->
+ check_complete2(File,Size)
+ end.
+
+check_complete2(File,Size) ->
+ timer:sleep(500),
+ case file:read_file_info(File) of
+ {ok,#file_info{size=Size}} ->
+ ok;
+ {ok,#file_info{size=OtherSize}} ->
+ check_complete2(File,OtherSize)
+ end.
+
+dos_dump(DataDir,Rel,Dump) ->
+ DosDumpName = filename:join(DataDir,dump_prefix(Rel)++"dos"),
+ Cmd = "unix2dos " ++ Dump ++ " > " ++ DosDumpName,
+ Port = open_port({spawn,Cmd},[exit_status]),
+ receive
+ {Port,{exit_status,0}} ->
+ [DosDumpName];
+ {Port,{exit_status,_Error}} ->
+ ?t:comment("Couldn't run \'unix2dos\'"),
+ []
+ end.
+
+rel_opt(Rel) ->
+ case Rel of
+ r9b -> [{erl,[{release,"r9b_patched"}]}];
+ r9c -> [{erl,[{release,"r9c_patched"}]}];
+ r10b -> [{erl,[{release,"r10b_patched"}]}];
+ r11b -> [{erl,[{release,"r11b_patched"}]}];
+ r12b -> [{erl,[{release,"r12b_patched"}]}];
+ r13b -> [{erl,[{release,"r13b_patched"}]}];
+ current -> []
+ end.
+
+dump_prefix(Rel) ->
+ case Rel of
+ r9b -> "r9b_dump.";
+ r9c -> "r9c_dump.";
+ r10b -> "r10b_dump.";
+ r11b -> "r11b_dump.";
+ r12b -> "r12b_dump.";
+ r13b -> "r13b_dump.";
+ current -> "r14b_dump."
+ end.
+
+compat_rel(Rel) ->
+ case Rel of
+ r9b -> "+R9 ";
+ r9c -> "+R9 ";
+ r10b -> "+R10 ";
+ r11b -> "+R11 ";
+ r12b -> "+R12 ";
+ r13b -> "+R13 ";
+ current -> ""
+ end.
diff --git a/lib/observer/test/crashdump_viewer_SUITE_data/old_format.dump b/lib/observer/test/crashdump_viewer_SUITE_data/old_format.dump
new file mode 100644
index 0000000000..2c8944fa9d
--- /dev/null
+++ b/lib/observer/test/crashdump_viewer_SUITE_data/old_format.dump
@@ -0,0 +1,3991 @@
+<Erlang crash dump>
+Mon Feb 17 10:48:12 2003
+
+Slogan: saf
+
+
+Erlang (BEAM) emulator version 5.0.2.23
+Compiled on Wed Dec 4 11:11:21 2002
+
+Process Information
+--------------------------------------------------
+<0.0.0> Waiting. Registered as: init
+Spawned as: otp_ring0:start/2
+Message buffer data: 4 words
+Link list: [<0.5.0>,<0.4.0>,<0.2.0>]
+Reductions 3125 stack+heap 610 old_heap_sz=233
+Heap unused=417 OldHeap unused=233
+Stack dump:
+program counter = 0x31a2cc (init:loop/1 + 20)
+cp = 0xfcec8 (<terminate process normally>)
+arity = 0
+
+3169f8 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) {state,[{'-root',[<<53 bytes>>]},{'-progname',[<<3 bytes>>]},{'-home',[<<10 bytes>>]}],[],[],[{application_controller,<0.5.0>},{error_logger,<0.4.0>},{erl_prim_loader,<0.2.0>}],<0.1.0>,{started,started},{"OTP APN 181 01","R7B01"},[]}
+--------------------------------------------------
+<0.2.0> Waiting. Registered as: erl_prim_loader
+Spawned as: erl_prim_loader:start_it/4
+Message buffer data: 0 words
+Link list: [<0.0.0>,#Port<0.2>]
+Reductions 13587 stack+heap 610 old_heap_sz=610
+Heap unused=358 OldHeap unused=610
+Stack dump:
+program counter = 0x32963c (erl_prim_loader:loop/3 + 52)
+cp = 0xfcec8 (<terminate process normally>)
+arity = 0
+
+4289dc Return addr 0xFCEC8 (<terminate process normally>)
+y(0) ["/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/kernel-2.6.3.15/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/stdlib-1.9.4.4/ebin"]
+y(1) <0.1.0>
+y(2) {state,[],none,get_from_port_efile,stop_port,exit_port,#Port<0.2>,infinity,dummy_in_handler}
+y(3) infinity
+--------------------------------------------------
+<0.4.0> Waiting. Registered as: error_logger
+Spawned as: proc_lib:init_p/5
+Message buffer data: 0 words
+Link list: [<0.19.0>,<0.0.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_event,<0.1.0>,<0.1.0>,{local,error_logger},[],[],[]]}},{'$ancestors',[<0.1.0>]}]
+Reductions 1462 stack+heap 1597 old_heap_sz=0
+Heap unused=1180 OldHeap unused=0
+Stack dump:
+program counter = 0x33f0c0 (gen_event:loop/4 + 40)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+334244 Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) [{handler,error_logger,false,[],false},{handler,error_logger_tty_h,false,{<0.19.0>,error_logger},false}]
+y(2) error_logger
+y(3) <0.1.0>
+
+334258 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_event,<0.1.0>,<0.1.0>,{local,error_logger},[],[],[]]
+--------------------------------------------------
+<0.5.0> Waiting. Registered as: application_controller
+Spawned as: proc_lib:init_p/5
+Message buffer data: 4 words
+Link list: [<0.7.0>,<0.0.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.1.0>,<0.1.0>,{local,application_controller},application_controller,{application,kernel,[{description,"ERTS CXC 138 10"},{vsn,"2.6.3.15"},{id,[]},{modules,[application,application_controller,application_master,application_starter,auth,code,code_aux,code_server,code_server_int,dist_util,erl_boot_server,erl_distribution,erl_open_port,erl_prim_loader,erl_reply,erlang,error_handler,error_logger,file,global,global_group,global_search,group,heart,inet6_tcp,inet6_tcp_dist,inet6_udp,inet_config,inet_hosts,inet_gethost_native,inet_tcp_dist,otp_pre_init,init,kernel,kernel_config,net,net_adm,net_kernel,os,ram_file,rpc,user,user_drv,user_sup,disk_log,disk_log_1,disk_log_server,disk_log_sup,dist_ac,erl_atom_cache,erl_ddll,erl_epmd,erl_external,erts_debug,fixtable_server,gen_tcp,gen_udp,prim_inet,inet,inet_db,inet_dns,inet_parse,inet_res,inet_tcp,inet_udp,pg2,seq_trace,socks5,socks5_auth,socks5_tcp,socks5_udp,wrap_log_reader,otp_ring0]},{registered,[application_controller,erl_reply,auth,boot_server,code_server,disk_log_server,disk_log_sup,erl_prim_loader,error_logger,file_server,fixtable_server,global_group,global_name_server,heart,init,kernel_config,kernel_sup,net_kernel,net_sup,rex,user,os_server,ddll_server,erl_epmd,inet_db,pg2]},{applications,[]},{included_applications,[]},{env,[{error_logger,tty}]},{start_phases,undefined},{maxT,infinity},{maxP,infinity},{mod,{kernel,[]}}]},[]]}},{'$ancestors',[<0.1.0>]}]
+Reductions 527 stack+heap 1597 old_heap_sz=0
+Heap unused=833 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+3ed70c Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) application_controller
+y(3) {state,[],[],[],[{stdlib,undefined},{kernel,<0.7.0>}],[],[{stdlib,permanent},{kernel,permanent}],[],[]}
+y(4) application_controller
+y(5) <0.1.0>
+
+3ed728 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.1.0>,<0.1.0>,{local,application_controller},application_controller,{application,kernel,[{description,"ERTS CXC 138 10"},{vsn,"2.6.3.15"},{id,[]},{modules,[application,application_controller,application_master,application_starter,auth,code,code_aux,code_server,code_server_int,dist_util,erl_boot_server,erl_distribution,erl_open_port,erl_prim_loader,erl_reply,erlang,error_handler,error_logger,file,global,global_group,global_search,group,heart,inet6_tcp,inet6_tcp_dist,inet6_udp,inet_config,inet_hosts,inet_gethost_native,inet_tcp_dist,otp_pre_init,init,kernel,kernel_config,net,net_adm,net_kernel,os,ram_file,rpc,user,user_drv,user_sup,disk_log,disk_log_1,disk_log_server,disk_log_sup,dist_ac,erl_atom_cache,erl_ddll,erl_epmd,erl_external,erts_debug,fixtable_server,gen_tcp,gen_udp,prim_inet,inet,inet_db,inet_dns,inet_parse,inet_res,inet_tcp,inet_udp,pg2,seq_trace,socks5,socks5_auth,socks5_tcp,socks5_udp,wrap_log_reader,otp_ring0]},{registered,[application_controller,erl_reply,auth,boot_server,code_server,disk_log_server,disk_log_sup,erl_prim_loader,error_logger,file_server,fixtable_server,global_group,global_name_server,heart,init,kernel_config,kernel_sup,net_kernel,net_sup,rex,user,os_server,ddll_server,erl_epmd,inet_db,pg2]},{applications,[]},{included_applications,[]},{env,[{error_logger,tty}]},{start_phases,undefined},{maxT,infinity},{maxP,infinity},{mod,{kernel,[]}}]},[]]
+--------------------------------------------------
+<0.7.0> Waiting.
+Spawned as: proc_lib:init_p/5
+Message buffer data: 0 words
+Link list: [<0.8.0>,<0.5.0>]
+Dictionary: [{'$initial_call',{application_master,init,[<0.5.0>,<0.6.0>,{appl_data,kernel,[application_controller,erl_reply,auth,boot_server,code_server,disk_log_server,disk_log_sup,erl_prim_loader,error_logger,file_server,fixtable_server,global_group,global_name_server,heart,init,kernel_config,kernel_sup,net_kernel,net_sup,rex,user,os_server,ddll_server,erl_epmd,inet_db,pg2],undefined,{kernel,[]},[application,application_controller,application_master,application_starter,auth,code,code_aux,code_server,code_server_int,dist_util,erl_boot_server,erl_distribution,erl_open_port,erl_prim_loader,erl_reply,erlang,error_handler,error_logger,file,global,global_group,global_search,group,heart,inet6_tcp,inet6_tcp_dist,inet6_udp,inet_config,inet_hosts,inet_gethost_native,inet_tcp_dist,otp_pre_init,init,kernel,kernel_config,net,net_adm,net_kernel,os,ram_file,rpc,user,user_drv,user_sup,disk_log,disk_log_1,disk_log_server,disk_log_sup,dist_ac,erl_atom_cache,erl_ddll,erl_epmd,erl_external,erts_debug,fixtable_server,gen_tcp,gen_udp,prim_inet,inet,inet_db,inet_dns,inet_parse,inet_res,inet_tcp,inet_udp,pg2,seq_trace,socks5,socks5_auth,socks5_tcp,socks5_udp,wrap_log_reader,otp_ring0],[],infinity,infinity},normal]}},{'$ancestors',[<0.6.0>]}]
+Reductions 45 stack+heap 377 old_heap_sz=377
+Heap unused=306 OldHeap unused=377
+Stack dump:
+program counter = 0x339ee0 (application_master:main_loop/2 + 28)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+347174 Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) {state,<0.8.0>,{appl_data,kernel,[application_controller,erl_reply,auth,boot_server,code_server,disk_log_server,disk_log_sup,erl_prim_loader,error_logger,file_server,fixtable_server,global_group,global_name_server,heart,init,kernel_config,kernel_sup,net_kernel,net_sup,rex,user,os_server,ddll_server,erl_epmd,inet_db,pg2],undefined,{kernel,[]},[application,application_controller,application_master,application_starter,auth,code,code_aux,code_server,code_server_int,dist_util,erl_boot_server,erl_distribution,erl_open_port,erl_prim_loader,erl_reply,erlang,error_handler,error_logger,file,global,global_group,global_search,group,heart,inet6_tcp,inet6_tcp_dist,inet6_udp,inet_config,inet_hosts,inet_gethost_native,inet_tcp_dist,otp_pre_init,init,kernel,kernel_config,net,net_adm,net_kernel,os,ram_file,rpc,user,user_drv,user_sup,disk_log,disk_log_1,disk_log_server,disk_log_sup,dist_ac,erl_atom_cache,erl_ddll,erl_epmd,erl_external,erts_debug,fixtable_server,gen_tcp,gen_udp,prim_inet,inet,inet_db,inet_dns,inet_parse,inet_res,inet_tcp,inet_udp,pg2,seq_trace,socks5,socks5_auth,socks5_tcp,socks5_udp,wrap_log_reader,otp_ring0],[],infinity,infinity},[],0,<0.0.0>}
+y(1) <0.5.0>
+
+347180 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) application_master
+y(2) init
+y(3) [<0.5.0>,<0.6.0>,{appl_data,kernel,[application_controller,erl_reply,auth,boot_server,code_server,disk_log_server,disk_log_sup,erl_prim_loader,error_logger,file_server,fixtable_server,global_group,global_name_server,heart,init,kernel_config,kernel_sup,net_kernel,net_sup,rex,user,os_server,ddll_server,erl_epmd,inet_db,pg2],undefined,{kernel,[]},[application,application_controller,application_master,application_starter,auth,code,code_aux,code_server,code_server_int,dist_util,erl_boot_server,erl_distribution,erl_open_port,erl_prim_loader,erl_reply,erlang,error_handler,error_logger,file,global,global_group,global_search,group,heart,inet6_tcp,inet6_tcp_dist,inet6_udp,inet_config,inet_hosts,inet_gethost_native,inet_tcp_dist,otp_pre_init,init,kernel,kernel_config,net,net_adm,net_kernel,os,ram_file,rpc,user,user_drv,user_sup,disk_log,disk_log_1,disk_log_server,disk_log_sup,dist_ac,erl_atom_cache,erl_ddll,erl_epmd,erl_external,erts_debug,fixtable_server,gen_tcp,gen_udp,prim_inet,inet,inet_db,inet_dns,inet_parse,inet_res,inet_tcp,inet_udp,pg2,seq_trace,socks5,socks5_auth,socks5_tcp,socks5_udp,wrap_log_reader,otp_ring0],[],infinity,infinity},normal]
+--------------------------------------------------
+<0.8.0> Waiting.
+Spawned as: application_master:start_it/4
+Message buffer data: 0 words
+Link list: [<0.9.0>,<0.7.0>]
+Reductions 113 stack+heap 233 old_heap_sz=377
+Heap unused=59 OldHeap unused=377
+Stack dump:
+program counter = 0x33b324 (application_master:loop_it/4 + 40)
+cp = 0xfcec8 (<terminate process normally>)
+arity = 0
+
+330c30 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) {state,tty}
+y(1) kernel
+y(2) <0.9.0>
+y(3) <0.7.0>
+--------------------------------------------------
+<0.9.0> Waiting. Registered as: kernel_sup
+Spawned as: proc_lib:init_p/5
+Message buffer data: 306 words
+Link list: [<0.22.0>,<0.21.0>,<0.17.0>,<0.16.0>,<0.15.0>,<0.14.0>,<0.13.0>,<0.11.0>,<0.10.0>,<0.8.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.8.0>,<0.8.0>,{local,kernel_sup},supervisor,{{local,kernel_sup},kernel,[]},[]]}},{'$ancestors',[<0.8.0>]}]
+Reductions 7060 stack+heap 1597 old_heap_sz=0
+Heap unused=209 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+3a6384 Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) supervisor
+y(3) {state,{local,kernel_sup},one_for_all,[{child,<0.22.0>,kernel_safe_sup,{supervisor,start_link,[{local,kernel_safe_sup},kernel,safe]},permanent,infinity,supervisor,[kernel]},{child,<0.21.0>,kernel_config,{kernel_config,start_link,[]},permanent,2000,worker,[kernel_config]},{child,<0.17.0>,user,{user_sup,start,[]},temporary,2000,supervisor,[user_sup]},{child,<0.16.0>,code_server,{code,start_link,[]},permanent,2000,worker,[code]},{child,<0.15.0>,file_server,{file,start_link,[]},permanent,2000,worker,[file]},{child,<0.14.0>,global_group,{global_group,start_link,[]},permanent,2000,worker,[global_group]},{child,undefined,net_sup,{erl_distribution,start_link,[]},permanent,infinity,supervisor,[erl_distribution]},{child,<0.13.0>,inet_db,{inet_db,start_link,[]},permanent,2000,worker,[inet_db]},{child,<0.11.0>,global_name_server,{global,start_link,[]},permanent,2000,worker,[global]},{child,<0.10.0>,rex,{rpc,start_link,[]},permanent,2000,worker,[rpc]}],[],0,1,[],kernel,[]}
+y(4) kernel_sup
+y(5) <0.8.0>
+
+3a63a0 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.8.0>,<0.8.0>,{local,kernel_sup},supervisor,{{local,kernel_sup},kernel,[]},[]]
+--------------------------------------------------
+<0.10.0> Waiting. Registered as: rex
+Spawned as: proc_lib:init_p/5
+Message buffer data: 0 words
+Link list: [<0.9.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.9.0>,<0.9.0>,{local,rex},rpc,[],[]]}},{'$ancestors',[kernel_sup,<0.8.0>]}]
+Reductions 31 stack+heap 233 old_heap_sz=0
+Heap unused=147 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+38e734 Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) rpc
+y(3) []
+y(4) rex
+y(5) <0.9.0>
+
+38e750 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.9.0>,<0.9.0>,{local,rex},rpc,[],[]]
+--------------------------------------------------
+<0.11.0> Waiting. Registered as: global_name_server
+Spawned as: proc_lib:init_p/5
+Message buffer data: 0 words
+Link list: [<0.12.0>,<0.9.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.9.0>,<0.9.0>,{local,global_name_server},global,[],[]]}},{'$ancestors',[kernel_sup,<0.8.0>]}]
+Reductions 44 stack+heap 233 old_heap_sz=0
+Heap unused=100 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+39abec Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) global
+y(3) {state,true,[],[],[],[],'nonode@nohost',<0.12.0>}
+y(4) global_name_server
+y(5) <0.9.0>
+
+39ac08 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.9.0>,<0.9.0>,{local,global_name_server},global,[],[]]
+--------------------------------------------------
+<0.12.0> Waiting.
+Spawned as: global:init_the_locker/1
+Message buffer data: 0 words
+Link list: [<0.11.0>]
+Reductions 3 stack+heap 233 old_heap_sz=0
+Heap unused=215 OldHeap unused=0
+Stack dump:
+program counter = 0x3abf20 (global:loop_the_locker/2 + 112)
+cp = 0x3abd50 (global:init_the_locker/1 + 112)
+arity = 0
+
+31766c Return addr 0x3ABD50 (global:init_the_locker/1 + 112)
+y(0) []
+y(1) []
+y(2) []
+y(3) []
+y(4) []
+y(5) []
+y(6) infinity
+y(7) {multi,undefined,[]}
+y(8) <0.11.0>
+
+317694 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) []
+--------------------------------------------------
+<0.13.0> Waiting. Registered as: inet_db
+Spawned as: proc_lib:init_p/5
+Message buffer data: 0 words
+Link list: [<0.9.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.9.0>,<0.9.0>,{local,inet_db},inet_db,[],[]]}},{'$ancestors',[kernel_sup,<0.8.0>]}]
+Reductions 420 stack+heap 233 old_heap_sz=0
+Heap unused=119 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+336e04 Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) inet_db
+y(3) {state,inet_db,inet_cache,inet_hosts,#Ref<0.0.0.6>}
+y(4) inet_db
+y(5) <0.9.0>
+
+336e20 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.9.0>,<0.9.0>,{local,inet_db},inet_db,[],[]]
+--------------------------------------------------
+<0.14.0> Waiting. Registered as: global_group
+Spawned as: proc_lib:init_p/5
+Message buffer data: 0 words
+Link list: [<0.9.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.9.0>,<0.9.0>,{local,global_group},global_group,[],[]]}},{registered_names,[undefined]},{'$ancestors',[kernel_sup,<0.8.0>]},{send,[undefined]},{whereis_name,[undefined]}]
+Reductions 71 stack+heap 233 old_heap_sz=0
+Heap unused=80 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+3eb47c Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) global_group
+y(3) {state,no_conf,true,[],[],[],[],[],'nonode@nohost',[],normal,normal}
+y(4) global_group
+y(5) <0.9.0>
+
+3eb498 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.9.0>,<0.9.0>,{local,global_group},global_group,[],[]]
+--------------------------------------------------
+<0.15.0> Waiting. Registered as: file_server
+Spawned as: proc_lib:init_p/5
+Message buffer data: 208 words
+Link list: [#Port<0.4>,<0.9.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.9.0>,<0.9.0>,{local,file_server},file,[],[]]}},{'$ancestors',[kernel_sup,<0.8.0>]}]
+Reductions 43458 stack+heap 6765 old_heap_sz=0
+Heap unused=2485 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+3de984 Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) file
+y(3) #Port<0.4>
+y(4) file_server
+y(5) <0.9.0>
+
+3de9a0 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.9.0>,<0.9.0>,{local,file_server},file,[],[]]
+--------------------------------------------------
+<0.16.0> Waiting. Registered as: code_server
+Spawned as: proc_lib:init_p/5
+Message buffer data: 508 words
+Link list: [<0.9.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.9.0>,<0.9.0>,{local,code_server},code_server,["/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched",interactive],[]]}},{'$ancestors',[kernel_sup,<0.8.0>]}]
+Reductions 71231 stack+heap 17711 old_heap_sz=0
+Heap unused=8909 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+45128c Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) code_server
+y(3) {state,"/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched",[".","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/kernel-2.6.3.15/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/stdlib-1.9.4.4/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/tv-2.0.3/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/tools-1.6.3.1/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/toolbar-1.0.4/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/ssl-2.3.2/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/snmp-3.3.7/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/sasl-1.9.2/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/runtime_tools-1.1.6/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/pman-2.4/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/parsetools-1.1/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/os_mon-1.4.2/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/orber-3.4.1/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/odbc-0.8.2/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/observer-0.9.1/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/mnesia_session-1.1.4/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/mnesia-3.10.7/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/mnemosyne-1.2.5/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/mesh-1.1.0/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/megaco-1.0.4/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/jinterface-1.2.1","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/inets-2.6.5/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/ic-4.2/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/gs-1.3.8/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/eva-2.0.2.1/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/etk-0.9.3/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/erl_interface-3.2.9","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/debugger-1.5.3/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/crypto-1.1.2/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/cosTransactions-1.2/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/cosTime-1.1/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/cosNotification-1.1/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/cosEvent-2.1/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/compiler-3.0.1.2/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/comet-1.1","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/asn1-1.3.1.4/ebin","/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched/lib/appmon-2.0.1/ebin","/home/siri/erlang","/ldisk/siri/tools/distel-3.1/ebin"],9,10,[],interactive}
+y(4) code_server
+y(5) <0.9.0>
+
+4512a8 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.9.0>,<0.9.0>,{local,code_server},code_server,["/usr/local/otp/releases/otp_beam_sunos5_r7b01_patched",interactive],[]]
+--------------------------------------------------
+<0.17.0> Waiting.
+Spawned as: proc_lib:init_p/5
+Message buffer data: 156 words
+Link list: [<0.19.0>,<0.9.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.9.0>,<0.9.0>,supervisor_bridge,[user_sup,[],self],[]]}},{'$ancestors',[kernel_sup,<0.8.0>]}]
+Reductions 80 stack+heap 233 old_heap_sz=0
+Heap unused=44 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+3cf014 Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) supervisor_bridge
+y(3) {state,user_sup,<0.19.0>,<0.19.0>,{<0.17.0>,user_sup}}
+y(4) <0.17.0>
+y(5) <0.9.0>
+
+3cf030 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.9.0>,<0.9.0>,supervisor_bridge,[user_sup,[],self],[]]
+--------------------------------------------------
+<0.18.0> Waiting.
+Spawned as: user_drv:server/2
+Message buffer data: 0 words
+Link list: [<0.20.0>,<0.19.0>,#Port<0.5>]
+Dictionary: [{eof,false}]
+Reductions 473 stack+heap 377 old_heap_sz=377
+Heap unused=178 OldHeap unused=377
+Stack dump:
+program counter = 0x39ec48 (user_drv:server_loop/5 + 44)
+cp = 0xfcec8 (<terminate process normally>)
+arity = 0
+
+32db5c Return addr 0xFCEC8 (<terminate process normally>)
+y(0) {3,2,<0.20.0>,[{1,<0.19.0>,{}},{2,<0.20.0>,{shell,start,[]}}]}
+y(1) <0.19.0>
+y(2) <0.20.0>
+y(3) #Port<0.5>
+y(4) #Port<0.5>
+--------------------------------------------------
+<0.19.0> Waiting. Registered as: user
+Spawned as: group:server/2
+Message buffer data: 0 words
+Link list: [<0.4.0>,<0.17.0>,<0.18.0>]
+Dictionary: [{line_buffer,[]},{kill_buffer,[]}]
+Reductions 968 stack+heap 987 old_heap_sz=610
+Heap unused=497 OldHeap unused=610
+Stack dump:
+program counter = 0x368db0 (group:server_loop/3 + 32)
+cp = 0xfcec8 (<terminate process normally>)
+arity = 0
+
+420ecc Return addr 0xFCEC8 (<terminate process normally>)
+y(0) []
+y(1) undefined
+y(2) <0.18.0>
+--------------------------------------------------
+<0.20.0> Waiting.
+Spawned as: group:server/2
+Message buffer data: 0 words
+Link list: [<0.23.0>,<0.18.0>]
+Dictionary: [{line_buffer,["halt(\"saf\").\n","\n"]},{shell,<0.23.0>},{kill_buffer,[]}]
+Reductions 1643 stack+heap 377 old_heap_sz=233
+Heap unused=268 OldHeap unused=233
+Stack dump:
+program counter = 0x368db0 (group:server_loop/3 + 32)
+cp = 0xfcec8 (<terminate process normally>)
+arity = 0
+
+3edd1c Return addr 0xFCEC8 (<terminate process normally>)
+y(0) []
+y(1) <0.23.0>
+y(2) <0.18.0>
+--------------------------------------------------
+<0.21.0> Waiting.
+Spawned as: proc_lib:init_p/5
+Message buffer data: 0 words
+Link list: [<0.9.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.9.0>,<0.9.0>,kernel_config,[],[]]}},{'$ancestors',[kernel_sup,<0.8.0>]}]
+Reductions 39 stack+heap 233 old_heap_sz=0
+Heap unused=78 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+3683a4 Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) kernel_config
+y(3) []
+y(4) <0.21.0>
+y(5) <0.9.0>
+
+3683c0 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.9.0>,<0.9.0>,kernel_config,[],[]]
+--------------------------------------------------
+<0.22.0> Waiting. Registered as: kernel_safe_sup
+Spawned as: proc_lib:init_p/5
+Message buffer data: 0 words
+Link list: [<0.9.0>]
+Dictionary: [{'$initial_call',{gen,init_it,[gen_server,<0.9.0>,<0.9.0>,{local,kernel_safe_sup},supervisor,{{local,kernel_safe_sup},kernel,safe},[]]}},{'$ancestors',[kernel_sup,<0.8.0>]}]
+Reductions 60 stack+heap 233 old_heap_sz=0
+Heap unused=82 OldHeap unused=0
+Stack dump:
+program counter = 0x34ff24 (gen_server:loop/6 + 52)
+cp = 0x33480c (proc_lib:init_p/5 + 164)
+arity = 0
+
+32fae4 Return addr 0x33480C (proc_lib:init_p/5 + 164)
+y(0) []
+y(1) infinity
+y(2) supervisor
+y(3) {state,{local,kernel_safe_sup},one_for_one,[],[],4,3600,[],kernel,safe}
+y(4) kernel_safe_sup
+y(5) <0.9.0>
+
+32fb00 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) Catch 0x33480C (proc_lib:init_p/5 + 164)
+y(1) gen
+y(2) init_it
+y(3) [gen_server,<0.9.0>,<0.9.0>,{local,kernel_safe_sup},supervisor,{{local,kernel_safe_sup},kernel,safe},[]]
+--------------------------------------------------
+<0.23.0> Waiting.
+Spawned as: shell:server/1
+Message buffer data: 31 words
+Link list: [<0.27.0>,<0.20.0>]
+Dictionary: []
+Reductions 111 stack+heap 233 old_heap_sz=0
+Heap unused=173 OldHeap unused=0
+Stack dump:
+program counter = 0x41ae64 (shell:shell_rep/3 + 36)
+cp = 0x419728 (shell:server_loop/4 + 1016)
+arity = 0
+
+39e014 Return addr 0x419728 (shell:server_loop/4 + 1016)
+y(0) []
+y(1) []
+y(2) []
+y(3) <0.27.0>
+
+39e028 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) []
+y(1) 1
+y(2) [{call,3,{atom,3,halt},[{string,3,"saf"}]}]
+y(3) []
+y(4) []
+y(5) []
+--------------------------------------------------
+<0.27.0> Running.
+Spawned as: shell:evaluator/3
+Last scheduled in for: erlang:halt/1
+Message buffer data: 0 words
+Link list: [<0.23.0>]
+Reductions 24 stack+heap 233 old_heap_sz=0
+Heap unused=120 OldHeap unused=0
+Stack dump:
+program counter = 0x119c54 (unknown function)
+cp = 0x422188 (erl_eval:expr/3 + 1112)
+
+399a48 Return addr 0x421C74 (erl_eval:exprs/4 + 52)
+y(0) []
+y(1) []
+y(2) []
+y(3) []
+
+399a5c Return addr 0x41B3D0 (shell:eval_loop/2 + 240)
+y(0) []
+y(1) {eval,{shell,local_func},[<0.23.0>]}
+
+399a68 Return addr 0xFCEC8 (<terminate process normally>)
+y(0) []
+y(1) []
+y(2) []
+y(3) <0.23.0>
+--------------------------------------------------
+
+Zombie Process Information
+Processes kept: 0
+--------------------------------------------------
+
+Port Information
+--------------------------------------------------
+<1>
+Connected: #Port<0.0>
+Port controls linked-in driver: async
+--------------------------------------------------
+<2>
+Connected: <0.2.0>
+Links: <0.2.0>
+Port controls linked-in driver: efile
+--------------------------------------------------
+<4>
+Connected: <0.15.0>
+Links: <0.15.0>
+Port controls linked-in driver: efile
+--------------------------------------------------
+<5>
+Connected: <0.18.0>
+Links: <0.18.0>
+Port controls linked-in driver: tty_sl -c -e
+--------------------------------------------------
+
+Internal Table Information
+--------------------------------------------------
+Hash Table(atom_tab), size(2411), used(1777), objs(3269), depth(8)
+Index Table(atom_tab), size(3300), limit(1048576), used(3270), rate(100)
+Atom space 33915/65544
+Hash Table(module_code), size(97), used(49), objs(61), depth(3)
+Index Table(module_code), size(70), limit(65536), used(61), rate(10)
+Hash Table(export_list), size(1201), used(895), objs(1558), depth(6)
+Index Table(export_list), size(1600), limit(65536), used(1558), rate(100)
+Hash Table(process_reg), size(23), used(12), objs(13), depth(2)
+Mmap chunks 0
+Mmap size 0/0
+Allocated binary 37252
+Allocated by process_desc 11040
+Allocated by table_desc 1120
+Allocated by link_desc 2880
+Allocated by atom_desc 78720
+Allocated by export_desc 62400
+Allocated by module_desc 3200
+Allocated by preg_desc 320
+--------------------------------------------------
+
+ETS tables
+--------------------------------------------------
+In slot 9
+Table 9(with name)code
+Owner <0.16.0>
+Buckets: 256
+Table's got 220 objects
+Table's got 11372 words of active data
+
+In slot 10
+Table 10(with name)code_names
+Owner <0.16.0>
+Buckets: 256
+Table's got 39 objects
+Table's got 5947 words of active data
+
+In slot 264
+Table file_io_servers(with name)file_io_servers
+Owner <0.15.0>
+Buckets: 256
+Table's got 0 objects
+Table's got 0 words of active data
+
+In slot 875
+Table inet_hosts(with name)inet_hosts
+Owner <0.13.0>
+Buckets: 256
+Table's got 4 objects
+Table's got 112 words of active data
+
+In slot 899
+Table inet_db(with name)inet_db
+Owner <0.13.0>
+Buckets: 256
+Table's got 20 objects
+Table's got 234 words of active data
+
+In slot 1202
+Table ac_tab(with name)ac_tab
+Owner <0.5.0>
+Buckets: 256
+Table's got 6 objects
+Table's got 508 words of active data
+
+In slot 1607
+Table global_names(with name)global_names
+Owner <0.11.0>
+Buckets: 256
+Table's got 0 objects
+Table's got 0 words of active data
+
+In slot 1619
+Table global_locks(with name)global_locks
+Owner <0.11.0>
+Buckets: 256
+Table's got 0 objects
+Table's got 0 words of active data
+
+In slot 1620
+Table global_names_ext(with name)global_names_ext
+Owner <0.11.0>
+Buckets: 256
+Table's got 0 objects
+Table's got 0 words of active data
+
+In slot 1842
+Table inet_cache(with name)inet_cache
+Owner <0.13.0>
+Buckets: 256
+Table's got 0 objects
+Table's got 0 words of active data
+
+
+Timers
+--------------------------------------------------
+message=refresh_timeout, pid=<0.13.0>, time left 3593292 ms
+--------------------------------------------------
+
+Distribution Information
+Not alive
+
+Loaded Modules Information
+--------------------------------------------------
+otp_ring0 448
+init 28000
+prim_inet 34800
+erl_prim_loader 14187
+erlang 5751
+error_handler 1691
+heart 6093
+error_logger 6347
+gen_event 17687
+gen 7142
+proc_lib 10250
+application_controller 54728
+gen_server 16422
+sys 11562
+lists 19762
+application 2515
+application_master 10640
+kernel 7059
+supervisor 21159
+rpc 11856
+global 41295
+inet_db 36752
+inet_config 11809
+inet_udp 2471
+inet 26666
+inet_parse 21970
+os 5922
+filename 16858
+inet_hosts 3811
+erl_distribution 2524
+global_group 32620
+net_kernel 35168
+file 30538
+erl_open_port 3319
+code 7146
+ets 15083
+fixtable_server 10283
+code_server 24117
+code_server_int 2053
+code_aux 1704
+string 7538
+user_sup 2503
+supervisor_bridge 2587
+user_drv 12046
+group 8588
+io_lib 8661
+edlin 17419
+io_lib_format 12167
+shell 12096
+kernel_config 3254
+error_logger_tty_h 6287
+erl_eval 26214
+orddict 4878
+c 23302
+io 6522
+erl_scan 15973
+erl_parse 132363
+user_default 1034
+io_lib_pretty 6503
+erl_internal 3634
+
+Totals. Current code = 933777 Old code = 0
+--------------------------------------------------
+
+Atoms
+--------------------------------------------------
+false
+true
+'_'
+'nonode@nohost'
+fun
+infinity
+timeout
+normal
+call
+return
+'DOWN'
+'EXIT'
+all
+allocated
+allocated_areas
+allocator
+and
+andthen
+arity
+attributes
+backtrace
+backtrace_depth
+badarg
+badarith
+badarity
+badcookie
+badfile
+badmatch
+badsig
+badfun
+bag
+band
+binary
+bnot
+bor
+bxor
+bsl
+bsr
+caller
+case_clause
+catchlevel
+cd
+clear
+close
+closed
+command
+compile
+compressed
+connect
+connected
+const
+context_switches
+cpu_timestamp
+current_function
+data
+debug_flags
+dexit
+depth
+dgroup_leader
+dictionary
+disable_trace
+display_items
+dist
+'/'
+div
+dlink
+dmonitor_node
+dmonitor_p
+'$$'
+'$_'
+'$dictionary'
+dsend
+dsend_nosuspend
+dunlink
+duplicate_bag
+elib_malloc
+emulator
+enable_trace
+env
+eof
+eol
+'=:='
+'=='
+erlang
+error
+error_handler
+error_logger
+exit_status
+existing
+exiting
+exports
+fd
+fix_alloc
+flags
+fullsweep_after
+fullsweep_if_old_binaries
+function
+functions
+function_clause
+garbage_collection
+gc_end
+gc_start
+'>='
+generational
+get_seq_token
+get_tcw
+getenv
+getting_linked
+getting_unlinked
+global
+'>'
+heap_block_size
+heap_size
+heap_sizes
+hidden
+hide
+high
+id
+if_clause
+imports
+in
+index
+initial_call
+input
+internal_error
+instruction_counts
+invalid
+is_seq_trace
+io
+keep_zombies
+keypos
+kill
+killed
+known
+label
+last_calls
+'=<'
+line
+links
+local
+low
+'<'
+machine
+match_spec
+max
+maximum
+max_tables
+max_processes
+mbuf_size
+memory
+message
+message_queue_len
+messages
+min_heap_size
+'-'
+module
+module_info
+monitored_by
+monitors
+more
+name
+named_table
+'=/='
+'/='
+net_kernel
+new
+nocatch
+noconnect
+noconnection
+nocookie
+node
+nodedown
+noeol
+nofile
+noproc
+not
+not_purged
+notalive
+nouse_stdio
+objects
+old_heap_block_size
+old_heap_size
+on_load
+or
+ordered_set
+orelse
+os_type
+os_version
+out
+output
+owner
+packet
+'+'
+pid
+port
+print
+priority
+private
+process
+process_count
+process_limit
+process_dump
+procs
+protected
+protection
+public
+purify
+quantify
+receive
+recent_size
+reductions
+register
+registered_name
+rem
+return_from
+return_to
+return_trace
+run_queue
+runnable
+running
+runtime
+save_calls
+see_zombies
+sequential_tracer
+sequential_trace_token
+serial
+set
+set_on_first_link
+set_on_first_spawn
+set_on_link
+set_on_spawn
+set_seq_token
+set_tcw
+silent
+size
+sl_alloc
+stack_size
+start
+status
+stderr_to_stdout
+stop
+stream
+suspend
+suspended
+system_limit
+system_version
+'SYSTEM'
+table
+this
+thread_pool_size
+timeout_value
+'*'
+timestamp
+trace
+trace_ts
+traced
+trace_control_word
+tracer
+trap_exit
+type
+undef
+undefined
+undefined_function
+undefined_lambda
+unregister
+ultrasparc_read_pic1
+ultrasparc_read_tick1
+ultrasparc_read_pic2
+ultrasparc_read_tick2
+ultrasparc_set_pcr
+use_mmap_table
+use_stdio
+used
+uniq
+value
+version
+visible
+waiting
+wall_clock
+xor
+abs
+append
+apply
+atom_to_list
+binary_to_list
+binary_to_term
+check_process_code
+concat_binary
+date
+delete_module
+display
+display_string
+display_nl
+element
+erase
+exit
+float
+float_to_list
+fun_info
+function_exported
+garbage_collect
+get
+get_keys
+group_leader
+halt
+hash
+phash
+hd
+info
+integer_to_list
+is_alive
+length
+link
+list_to_atom
+list_to_binary
+list_to_float
+list_to_integer
+list_to_pid
+list_to_tuple
+load_module
+loaded
+localtime
+localtime_to_universaltime
+make_ref
+md5
+md5_init
+md5_update
+md5_final
+module_loaded
+monitor_node
+nodes
+now
+open_port_prim
+pid_to_list
+port_info
+ports
+pre_loaded
+process_flag
+process_info
+processes
+purge_module
+put
+registered
+round
+self
+send
+send_nosuspend
+setelement
+spawn
+spawn_link
+split_binary
+statistics
+subtract
+term_to_binary
+throw
+time
+tl
+trunc
+tuple_to_list
+universaltime
+universaltime_to_localtime
+unlink
+whereis
+spawn_opt
+setnode
+dist_exit
+dist_unlink
+dist_link
+port_command
+port_control
+port_close
+port_connect
+trace_pattern
+trace_info
+suspend_process
+resume_process
+yield
+bump_reductions
+math
+cos
+cosh
+sin
+sinh
+tan
+tanh
+acos
+acosh
+asin
+asinh
+atan
+atanh
+erf
+erfc
+exp
+log
+log10
+sqrt
+atan2
+pow
+old_binary_to_term
+start_timer
+send_after
+cancel_timer
+read_timer
+make_tuple
+append_element
+seq_trace
+seq_trace_info
+seq_trace_print
+system_flag
+system_info
+ref_to_list
+port_to_list
+fun_to_list
+monitor
+demonitor
+process_display
+is_process_alive
+fault
+is_builtin
+is_atom
+is_list
+is_tuple
+is_constant
+is_float
+is_integer
+is_number
+is_pid
+is_port
+is_reference
+is_binary
+is_function
+is_record
+match_spec_test
+'$put'
+'$get'
+'$get_keys'
+'$erase'
+ets
+db_delete
+delete
+first
+fixtable
+lookup
+lookup_element
+db_info
+last
+match
+match_delete
+db_match_object
+next
+prev
+insert
+rename
+slot
+update_counter
+select
+match_spec_compile
+match_spec_run
+os
+putenv
+getpid
+lists
+member
+reverse
+keymember
+keysearch
+vector
+from_list
+to_list
+erts_debug
+disassemble
+make_fun
+'$end_of_table'
+ok
+tcp
+tcp_closed
+tcp_error
+udp
+udp_closed
+udp_error
+inet_async
+inet_reply
+empty_out_q
+otp_ring0
+boot
+init
+run
+fatal
+'does not export'
+'/1'
+get_arguments
+get_plain_arguments
+get_argument
+script_id
+bs2as
+bs2ss
+get_args
+get_flag
+get_flags
+get_status
+fetch_loaded
+ensure_loaded
+make_permanent
+request
+restart
+reboot
+prepare_run_args
+s
+b2a
+b2s
+map
+values_to_atoms_again
+flags_to_atoms_again
+starting
+state
+to_string
+things_to_string
+halt_string
+crash
+boot_loop
+progress
+started
+'init terminating in do_boot'
+garb_boot_loop
+new_kernelpid
+ignore
+'could not start kernel pid'
+loop
+not_allowed
+handle_msg
+new_state
+do_handle_msg
+notfound
+user
+'-boot'
+'-config'
+set_flag
+stopping
+do_stop
+clear_system
+stop_heart
+shutdown
+shutdown_pids
+get_heart
+heart
+shutdown_kernel_pid
+shutdown_loop
+shutdown_timeout
+resend
+kill_all_pids
+alive_processes
+filter
+get_pids
+kill_em
+kill_all_ports
+unload
+do_unload
+sub
+del
+terminate
+'Kernel pid terminated'
+kernel_pid
+sleep
+start_prim_loader
+erl_prim_loader
+set_path
+'can not start loader'
+add_to_kernel
+prim_load_flags
+'-loader'
+'-hosts'
+none
+'-id'
+'-path'
+do_boot
+'-root'
+'-mode'
+'-init_debug'
+'-boot_var'
+bootfile
+path_flags
+'-pa'
+'-pz'
+get_boot
+not_found
+'can not get bootfile'
+'bootfile format error'
+get_file
+script
+eval_script
+kernel_load_completed
+embedded
+path
+primLoad
+preLoaded
+kernelProcess
+debug
+load_modules
+fix_path
+add_var
+extract_var
+get_var_value
+get_var_val
+start_in_kernel
+start_em
+start_it
+load_mod
+shutdown_timer
+'-shutdown_time'
+timer
+flush_timout
+parse_boot_args
+arg
+end_args
+start_arg
+start_arg2
+flag
+check
+get_flag_list
+get_flag_args
+to_strings
+get_argument1
+set_argument
+concat
+search
+extension
+'-values_to_atoms_again/1-fun-0-'
+'-boot/1-fun-0-'
+'-bs2ss/1-fun-0-'
+'-bs2as/1-fun-0-'
+'can not load'
+'unexpected command in bootfile'
+prim_inet
+open
+inet6
+inet
+einval
+fdopen
+open1
+fdopen1
+open0
+dgram
+udp_inet
+tcp_inet
+subs_empty_out_q
+close_pend_loop
+send_pend
+bind
+connect0
+async_connect
+accept
+accept0
+accept_opts
+keepalive
+nodelay
+active
+async_accept
+listen
+sendto
+recv
+recv0
+async_recv
+recvfrom
+recvfrom0
+peername
+setpeername
+sockname
+setsockname
+setopt
+setopts
+getopt
+getopts
+getiflist
+ifget
+ifset
+subscribe
+getstat
+getfd
+getindex
+gettype
+getstatus
+gethostname
+getservbyname
+getservbyname1
+getservbyport
+getservbyport1
+unrecv
+detach
+attach
+is_sockopt_val
+enc_opt
+send_timeout
+bit8
+low_watermark
+high_watermark
+exit_on_close
+deliver
+mode
+header
+buffer
+drop_membership
+add_membership
+multicast_loop
+multicast_ttl
+multicast_if
+recbuf
+sndbuf
+broadcast
+linger
+dontroute
+reuseaddr
+dec_opt
+type_opt
+tpkt
+fcgi
+cdr
+asn1
+sunrm
+raw
+enum
+off
+on
+once
+term
+list
+ip
+bool
+int
+uint
+type_value
+bitenumlist
+ether
+enc_value
+loopback
+any
+dec_value
+borlist
+enum_vals
+enum_names
+enum_val
+enum_name
+encode_opt_val
+enc_opt_val
+encode_opts
+enc_opts
+decode_opt_val
+dec_opt_val
+type_ifopt
+netmask
+addr
+broadaddr
+dstaddr
+mtu
+hwaddr
+multicast
+no_pointtopoint
+pointtopoint
+no_broadcast
+down
+up
+enc_ifopt
+dec_ifopt
+decode_ifopts
+encode_ifopts
+encode_ifopt_val
+encode_subs
+enc_subs
+decode_subs
+dec_subs
+encode_stats
+enc_stats
+send_oct
+recv_oct
+send_avg
+send_max
+send_cnt
+recv_dvi
+recv_avg
+recv_max
+recv_cnt
+decode_stats
+dec_stats
+dec_status
+bound
+connecting
+accepting
+listening
+busy
+enc_time
+encode_ifname
+build_iflist
+rev
+ip_to_bytes
+ip4_to_bytes
+ip6_to_bytes
+get_ip
+get_ip4
+get_ip6
+ctl_cmd
+internal
+get_from_port_inet
+stop_port
+inet_exit_port
+dummy_in_handler
+efile
+get_from_port_efile
+exit_port
+get_from_port
+init_ack
+get_path
+handle_input
+get_from_port1
+'prim_load port died'
+die
+port_died
+get_from_port_efile1
+find_master
+connect_master
+ebusy
+find_loop
+find_collect
+noport
+badrecord
+inet_in_handler
+get_from_port_inet1
+tcp_options
+tcp_timeout
+udp_options
+ll_tcp_connect
+ll_udp_open
+ll_open_set_bind
+ll_close
+port_error
+absolute_filename
+win32
+send_all
+keysort
+keyins
+to_strs
+ipv4_list
+einal
+ipv4_address
+ipv4_addr
+'-progname'
+'-home'
+'no -loader flag'
+'no -hosts flag'
+'no -id flag'
+'no -path flag'
+'no -boot flag'
+preloaded
+application
+application_controller
+application_master
+application_starter
+auth
+code
+code_aux
+code_server
+code_server_int
+dist_util
+erl_boot_server
+erl_distribution
+erl_open_port
+erl_reply
+file
+global_group
+global_search
+group
+inet6_tcp
+inet6_tcp_dist
+inet6_udp
+inet_config
+inet_hosts
+inet_gethost_native
+inet_tcp_dist
+otp_pre_init
+kernel
+kernel_config
+net
+net_adm
+ram_file
+rpc
+user_drv
+user_sup
+disk_log
+disk_log_1
+disk_log_server
+disk_log_sup
+dist_ac
+erl_atom_cache
+erl_ddll
+erl_epmd
+erl_external
+fixtable_server
+gen_tcp
+gen_udp
+inet_db
+inet_dns
+inet_parse
+inet_res
+inet_tcp
+inet_udp
+pg2
+socks5
+socks5_auth
+socks5_tcp
+socks5_udp
+wrap_log_reader
+beam_lib
+bplus_tree
+c
+calendar
+dets
+dict
+digraph
+digraph_utils
+edlin
+epp
+eval_bits
+erl_bits
+erl_compile
+erl_eval
+erl_id_trans
+erl_internal
+erl_lint
+erl_parse
+erl_posix_msg
+erl_pp
+erl_scan
+erl_tar
+error_logger_file_h
+error_logger_tty_h
+filelib
+filename
+gen
+gen_event
+gen_fsm
+gen_server
+io_lib
+io_lib_format
+io_lib_fread
+io_lib_pretty
+lib
+log_mf_h
+orddict
+ordsets
+otp_internal
+pg
+pool
+proc_lib
+queue
+random
+regexp
+sets
+shell
+shell_default
+slave
+string
+supervisor
+supervisor_bridge
+sys
+unix
+win32reg
+modules_loaded
+start_link
+description
+vsn
+modules
+boot_server
+file_server
+global_name_server
+kernel_sup
+net_sup
+rex
+os_server
+ddll_server
+applications
+included_applications
+tty
+start_phases
+maxT
+maxP
+mod
+init_kernel_started
+load
+stdlib
+timer_server
+rsh_starter
+take_over_monitor
+pool_master
+applications_loaded
+start_boot
+permanent
+erlangrc
+'no -mode flag'
+'no -init_debug flag'
+sunos
+open_port
+crasher
+'** Can not start ~w:~w,~w on ~w **~n'
+error_msg
+disconnect_node
+disconnect
+sand
+sor
+sxor
+snot
+sgt
+sge
+slt
+sle
+seq
+seqeq
+sneq
+sneqeq
+ignored
+set_cookie
+get_cookie
+'-fun_info/1-fun-0-'
+interpret
+eval
+stub_function
+wait_for_init_ack
+no_heart
+start_error
+set_cmd
+clear_cmd
+cycle
+wait
+start_portprogram
+port_problem
+get_heart_timeouts
+check_start_heart
+bad_heart_flag
+wait_ack
+bad_cmd
+port_terminated
+no_reboot_shutdown
+do_cycle_port_program
+stop_error
+send_heart_beat
+send_heart_cmd
+send_shutdown
+report_problem
+root
+progname
+home
+format
+error_report
+std_error
+info_report
+std_info
+info_msg
+error_info
+notify
+swap_handler
+logfile
+swap
+add_report_handler
+add_handler
+delete_report_handler
+delete_handler
+simple_logger
+which_handlers
+allready_have_logfile
+no_log_file
+go_back
+handle_event
+handle_info
+handle_call
+bad_query
+lost_messages
+handle_event2
+tag_event
+add_node
+display2
+nice
+nice_tuple
+is_string
+nolink
+init_it
+debug_options
+add_sup_handler
+sync_notify
+swap_sup_handler
+call1
+system
+handle_system_msg
+print_event
+handle_debug
+get_modules
+terminate_server
+do_unlink
+foreach
+handle_exit
+terminate_supervised
+system_continue
+system_terminate
+system_code_change
+zf
+server_add_handler
+handler
+server_add_sup_handler
+server_delete_handler
+module_not_found
+server_swap_handler
+s_s_h
+split_and_terminate
+swapped
+server_notify
+no
+server_update
+remove_handler
+remove
+do_swap
+new_handler
+split
+server_call
+bad_module
+replace
+server_call_update
+do_terminate
+report_terminate
+gen_event_EXIT
+report_error
+stop_handlers
+the_handlers
+list_to_set
+set_to_list
+format_status
+items
+'-get_modules/1-fun-0-'
+'-the_handlers/1-fun-0-'
+'-system_code_change/4-fun-0-'
+code_change
+'-terminate_supervised/4-fun-0-'
+parent_terminated
+'-do_unlink/2-fun-0-'
+already_started
+do_spawn
+init_it2
+do_call
+wait_resp_mon
+wait_resp
+reply
+where
+whereis_name
+name_register
+register_name
+yes
+spawn_opts
+opt
+init_p
+ensure_link
+'$ancestors'
+'$initial_call'
+exit_p
+sync_wait
+ack
+flush
+init_call
+translate_initial_call
+trans_init
+crash_report
+my_info
+get_ancestors
+ancestors
+get_cleaned_dictionary
+clean_dict
+get_dictionary
+linked_info
+make_neighbour_reports1
+neighbour
+make_neighbour_report
+get_initial_call
+max_neighbours
+neighbours
+visit
+adjacents
+no_trap
+get_process_info
+translate_process_info
+get_my_name
+proc_info
+badrpc
+format_own
+format_link
+format_report
+format_rep
+load_application
+unload_application
+start_application
+start_boot_application
+bad_environment_value
+already_loaded
+flatten
+stop_application
+which_applications
+loaded_applications
+ac_tab
+control_application
+change_application_data
+prep_config_change
+config_change
+get_pid_env
+'$1'
+get_env
+get_pid_all_env
+get_all_env
+'$2'
+get_pid_key
+get_key
+appl
+get_pid_all_key
+get_all_key
+start_type
+get_master
+get_application
+get_application_module
+appl_data
+permit_application
+set_env
+'invalid configuration file'
+'load error'
+check_conf_data
+'configuration must be a list ended by <dot><whitespace>'
+check_para_kernel
+distributed
+check_distributed
+check_para
+keydelete
+ac_application_stopped
+not_started
+ac_load_application_req
+noreply
+ac_application_unloaded
+not_loaded
+distributed_application
+only_loaded
+ac_start_application_req
+permissions
+start_p_false
+loading
+handle_cast
+application_started
+handle_application_started
+temporary
+transient
+ac_start_application_reply
+ac_change_application_req
+ac_load_application_reply
+takeover
+failover
+not_running
+stop_it
+ac_application_not_run
+keyreplace
+cntrl
+notify_cntrl_started
+ac_application_run
+del_cntrl
+get_loaded
+do_load_application
+foldl
+check_start_cond
+do_start
+spawn_starter
+init_starter
+cast
+start_appl
+stop_appl
+stopped
+keysearchdelete
+ksd
+keyreplaceadd
+validRestartType
+invalid_restart_type
+nd
+get_restart_type
+get_appl_name
+bad_application
+make_appl
+path_consult
+format_error
+make_appl_i
+badstartspec
+invalid_name
+invalid_options
+do_change_apps
+do_change_appl
+get_opt
+get_cmd_env
+conv
+make_term
+dot
+parse_term
+get_env_i
+merge_env
+merge_app_env
+get_env_key
+add_env
+del_env
+check_user
+do_prep_config_change
+do_config_change
+sort
+module_not_defined
+application_not_found
+do_config_diff
+check_conf
+config
+load_file
+tokens
+done
+nth
+'['
+']'
+parse_file
+open_file
+get_new_appl
+change_appl
+info_started
+started_at
+info_exited
+exited
+reply_to_requester
+update_permissions
+test_change_apps
+test_do_change_appl
+test_make_apps
+'-reply_to_requester/3-fun-0-'
+'-check_conf/0-fun-0-'
+basename
+dirname
+join
+config_error
+'-do_config_diff/3-fun-0-'
+'-add_env/2-fun-0-'
+'-get_cmd_env/1-fun-0-'
+'-do_change_apps/3-fun-0-'
+'-start_appl/3-fun-0-'
+'-check_start_cond/4-fun-0-'
+'-unload/2-fun-0-'
+'-load/2-fun-0-'
+'-terminate/2-fun-0-'
+'-handle_call/3-fun-2-'
+'-handle_call/3-fun-1-'
+'-handle_call/3-fun-0-'
+'-get_application_module/1-fun-1-'
+'-get_application_module/1-fun-0-'
+'-get_all_env/1-fun-0-'
+'-loaded_applications/0-fun-0-'
+'$gen_call'
+do_cast
+'$gen_cast'
+abcast
+multi_call
+send_nodes
+start_monitor
+unmonitor
+rec_nodes
+rec_nodes_rest
+bad_return_value
+dispatch
+handle_common_reply
+print_log
+dbg_options
+generic_debug
+dbg_opts
+get_debug
+resume
+change_code
+log_to_file
+no_debug
+install
+send_system_msg
+mfa
+suspend_loop
+do_cmd
+unknown_system_msg
+debug_cmd
+write
+unknown_debug
+do_change_code
+standard_io
+init_stat
+get_stat
+messages_out
+messages_in
+current_time
+start_time
+no_statistics
+stat
+trim
+sublist
+install_debug
+remove_debug
+close_log_file
+'-print_log/1-fun-0-'
+nthtail
+prefix
+suffix
+sum
+duplicate
+min
+sublist_2
+split2
+init_merge_lists
+mergeit
+rmergeit
+combine
+merge
+merge2
+rmerge
+rmerge2
+thing_to_list
+flat_length
+flatlength
+keydelete3
+keyreplace3
+keysort2
+samkeyrun
+keymerge
+keymap
+fsplit_1
+fsplit_1_1
+fsplit_2
+fmergel
+rfmergel
+fmerge2_1
+fmerge2_2
+rfmerge2_1
+rfmerge2_2
+flatmap
+foldr
+mapfoldl
+mapfoldr
+takewhile
+dropwhile
+splitwith
+'-filter/3-fun-0-'
+'-map/3-fun-0-'
+'-filter/2-fun-0-'
+'-concat/1-fun-0-'
+takeover_application
+permit
+permit_only_loaded_application
+spawn_request
+here_i_am
+get_child
+init_loop
+io_request
+main_loop
+terminate_loop
+bad_keys
+start_it_old
+start_it_new
+start_the_app
+start_supervisor
+bad_return
+loop_it
+prep_stop
+shutdown_error
+get_child_i
+terminate_child_i
+terminate_child
+kill_children
+kill_all_procs
+set_timer
+exit_after
+'-kill_all_procs/0-fun-1-'
+'-kill_all_procs/0-fun-0-'
+'-kill_children/1-fun-0-'
+get_error_logger_type
+swap_error_logger
+args
+safe
+one_for_one
+one_for_all
+worker
+kernel_safe_sup
+config_zombies
+get_code_args
+nostick
+start_dist_ac
+start_ddll
+start_boot_server
+get_boot_args
+boot_server_slaves
+start_disk_log
+start_pg2
+do_distribution_change
+distribution_changed
+distribution_not_changed
+is_dist_changed
+do_global_groups_change
+global_groups_changed
+global_groups_added
+global_groups_removed
+is_gg_changed
+global_groups
+bad_config
+start_child
+restart_child
+delete_child
+which_children
+check_childspecs
+simple_one_for_one
+supervisor_data
+init_children
+start_spec
+init_dynamic
+bad_start_spec
+start_children
+do_start_child
+child
+do_start_child_i
+check_flags
+bad_flags
+update_childspec
+update_childspec1
+update_chsp
+handle_start_child
+already_present
+do_restart
+child_terminated
+reached_max_restart_intensity
+rest_for_one
+terminate_children
+brutal_kill
+state_del_child
+del_child
+split_child
+replace_child
+do_replace_child
+remove_child
+init_state
+init_state1
+invalid_type
+validStrategy
+invalid_strategy
+validIntensity
+invalid_intensity
+validPeriod
+invalid_period
+supname
+check_startspec
+duplicate_child_name
+check_childspec
+invalid_child_spec
+validChildType
+invalid_child_type
+validName
+validFunc
+invalid_mfa
+validShutdown
+invalid_shutdown
+validMods
+dynamic
+invalid_modules
+add_restart
+inPeriod
+difference
+offender
+reason
+errorContext
+supervisor_report
+extract_child
+child_type
+restart_type
+report_progress
+'-validMods/1-fun-0-'
+invalid_module
+'-update_chsp/2-fun-0-'
+block_call
+sbcast
+nonexisting_name
+set_group_leader
+rpc_check
+eval_everywhere
+multicall
+multi_server_call
+safe_multi_server_call
+async_call
+infinite
+nb_yield
+do_yield
+promise_reply
+parallel_eval
+map_nodes
+pmap
+build_args
+pinfo
+'-parallel_eval/1-fun-0-'
+'-async_call/4-fun-0-'
+'-multicall/4-fun-0-'
+'-handle_cast/2-fun-0-'
+sync
+safe_whereis_name
+node_disconnected
+random_exit_name
+unregister_name
+re_register_name
+registered_names
+global_names
+tab2list
+register_name_external
+unregister_name_external
+set_lock
+lock_on_nodes
+del_lock
+check_replies
+trans
+aborted
+trans_all_known
+get_known
+global_locks
+global_names_ext
+connect_all
+unregister_ext
+register_ext
+get_known_v2
+get_protocol_version
+get_names_ext
+new_nodes
+lock_is_set
+in_sync
+async_del_name
+async_del_lock
+sync_tag_my
+prot_vsn
+wait_lock
+pre_connect
+sync_tag_his
+init_connect
+resolved
+exchange
+nodeup
+test_vsn_tag_nodeup
+locker
+save_ops
+his_the_locker
+his_locker
+his_locker_new
+do_whereis
+resend_pre_connect
+ins_name
+ins_name_ext
+handle_set_lock
+before_or_false
+index_or_false
+is_lock_set
+handle_del_lock
+do_ops
+do_ops_ext
+start_the_locker
+init_the_locker
+multi
+locker_exited
+remove_node
+find_node_tag
+loop_the_locker
+cancel
+lock_set
+start_locker
+init_locker
+loop_locker
+lock
+d_lock
+try_again_locker
+cancel_locker
+exchange_names
+resolve_it
+minmax
+random_notify_name
+global_name_conflict
+notify_all_name
+cnode
+dolink
+dolink_ext
+dounlink
+is_pid_used
+check_exit
+del_names
+del_name
+del_locks
+continue
+del_locks2
+do_node_down
+do_node_down_names
+do_node_down_names_ext
+do_node_down_locks
+do_node_down_locks2
+get_names
+random_sleep
+random_seed
+seed
+uniform
+dec
+send_again
+change_our_node_name
+start_sync
+sync_init
+sync_loop
+synced
+check_sync_nodes
+get_own_nodes
+get_own_nodes_with_errors
+cs
+'-sync_loop/2-fun-0-'
+'-sync_init/2-fun-0-'
+'-del_name/2-fun-0-'
+'-do_ops_ext/2-fun-0-'
+'-do_ops/1-fun-0-'
+'-resolved/5-fun-1-'
+'-resolved/5-fun-0-'
+'-unregister_name_external/1-fun-0-'
+'-register_name_external/3-fun-0-'
+'-registered_names/0-fun-0-'
+'-re_register_name/3-fun-0-'
+'-unregister_name/1-fun-0-'
+'-register_name/3-fun-0-'
+reset
+add_resolv
+resolv
+add_hosts
+hosts
+add_host
+del_host
+clear_hosts
+add_ns
+ins_ns
+del_ns
+add_alt_ns
+ins_alt_ns
+del_alt_ns
+add_search
+ins_search
+del_search
+set_hostname
+set_domain
+set_lookup
+set_recurse
+set_timeout
+set_retry
+set_inet6
+set_usevc
+set_socks_server
+set_socks_port
+add_socks_methods
+del_socks_methods
+add_socks_noproxy
+del_socks_noproxy
+set_cache_size
+set_cache_refresh
+clear_cache
+set_tcp_module
+tcp_module
+set_udp_module
+udp_module
+add_rc
+consult
+add_rc_bin
+add_rc_list
+add_rc_list_int
+translate_lookup
+yp
+dns
+native
+nisplus
+nis
+get_rc
+cache_refresh
+cache_size
+host
+socks5_noproxy
+socks5_methods
+socks5_port
+socks5_server
+usevc
+retry
+alt_nameserver
+nameserver
+domain
+res_domain
+res_ns
+res_alt_ns
+cache_refresh_interval
+res_timeout
+res_retry
+rety
+res_usevc
+res_inet6
+res_search
+get_rc_noproxy
+get_rc_ns
+res_option
+recurse
+next_id
+res_recurse
+res_lookup
+res_id
+socks_option
+server
+noproxy
+methods
+hostname
+db_get
+add_rr
+dns_rr
+del_rr
+res_cache_answer
+getbyname
+dots
+getbysearch
+make_hostent
+aaaa
+a
+hostent
+hostent_by_domain
+nxdomain
+lookup_type
+lookup_cname
+cname
+lookup_ptr
+ptr
+lookup_rr
+res_hostent_by_domain
+res_lookup_type
+gethostbyaddr
+res_gethostbyaddr
+ent_gethostbyaddr
+dnip
+formerr
+dnt
+register_socket
+unregister_socket
+socket
+lookup_socket
+inet_cache
+reset_db
+visible_string
+refresh_timeout
+do_add_rr
+cache_rr
+times
+do_lookup_rr
+match_rr
+match_object
+filter_rr
+lower_rr
+tolower
+arpa_addr_in_dn
+int_ip6_dn
+dig
+dn_ip6_int
+dn_in_addr_arpa
+dnib
+hex
+init_timer
+stop_timer
+do_refresh_cache
+alloc_entry
+delete_n_oldest
+delete_older
+'-delete_older/5-fun-0-'
+'-do_refresh_cache/4-fun-0-'
+'-res_lookup_type/3-fun-0-'
+'-lookup_ptr/1-fun-0-'
+'-lookup_cname/1-fun-0-'
+'-lookup_type/2-fun-0-'
+'-res_cache_answer/1-fun-0-'
+'-add_rc_list_int/1-fun-1-'
+badopt
+'-add_rc_list_int/1-fun-0-'
+'-add_hosts/1-fun-0-'
+unix_sv
+linux
+freebsd
+'bsd/os'
+host_conf_linux
+gethostbyname
+host_conf_freebsd
+host_conf_bsdos
+nsswitch_conf
+vxworks
+no_ERLRESCONF
+standalone_host
+handle_native_lookup
+is_native
+wins
+add_dns_lookup
+inet_dns_when_nis
+set_search_dom
+load_resolv
+chars
+load_hosts
+win32_load_from_registry
+read
+nt
+windows
+change_key
+win32_load1
+expand
+win32_split_line
+split_line
+win32_get_strings
+not_string
+vxworks_load_hosts
+cmd
+hosts_vxworks
+check_hostShow
+next_line
+load_rc
+load_inetrc
+which_file
+cwd
+inetrc_dir
+warning
+inet_warnings
+parse_inetrc
+parse_inetrc_skip_line
+more_chars
+'scan_.inetrc'
+'parse_.inetrc'
+'-vxworks_load_hosts/0-fun-0-'
+'-win32_load1/3-fun-1-'
+'-win32_load1/3-fun-0-'
+address
+'-load_hosts/2-fun-0-'
+'-set_hostname/1-fun-0-'
+getserv
+getaddr
+getaddr_tm
+udp_close
+controlling_process
+udp_controlling_process
+optuniquify
+getif
+withsocket
+pushf
+popf
+gethostbyname_tm
+gethostbyaddr_tm
+getll
+getaddrs
+options
+stats
+connect_options
+connect_opts
+con_opt
+ifaddr
+con_add
+listen_options
+backlog
+listen_opts
+list_opt
+list_add
+udp_opts
+udp_opt
+udp_add
+add_opt
+translate_ip
+getaddrs_tm
+ipv6_address
+bytes_to_ip6
+i
+foreign_address
+local_address
+sent
+ii
+smax
+info_lines
+i_line
+h_line
+h_field
+hh_field
+upper
+fmt_status
+fmt_addr
+enotconn
+ntoa
+fmt_port
+tcp_sockets
+udp_sockets
+port_list
+exbadseq
+exbadport
+tcp_close
+tcp_controlling_process
+not_owner
+tcp_sync_input
+udp_sync_input
+'-port_list/1-fun-0-'
+'-h_line/1-fun-0-'
+'-i_line/3-fun-0-'
+'-info_lines/3-fun-0-'
+'-ii/3-fun-2-'
+'-ii/3-fun-1-'
+'-ii/3-fun-0-'
+'-gethostname/0-fun-0-'
+'-getif/1-fun-0-'
+'-getif/0-fun-0-'
+'-ifset/2-fun-0-'
+'-ifget/2-fun-0-'
+'-getiflist/0-fun-0-'
+services
+noname
+delete_options
+protocols
+netmasks
+networks
+parse_fd
+skip
+parse_cs
+get_line
+read_line
+''
+collect_line
+cur
+position
+port_proto
+is_vis1
+is_dom1
+is_dom_ldh
+is_dom2
+ipv6_addr1
+ipv6_addr2
+ipv6_addr3
+x4
+tox
+tod
+mkaddr
+ds4
+zero
+dig_to_dec
+dig_to_hex
+shex
+split_mid
+split_end
+split_comma
+split_mid_comma
+'-networks/2-fun-0-'
+'-netmasks/2-fun-0-'
+'-protocols/2-fun-0-'
+'-nsswitch_conf/2-fun-0-'
+'-host_conf_bsdos/2-fun-0-'
+'-host_conf_freebsd/2-fun-0-'
+'-host_conf_linux/2-fun-0-'
+'-resolv/2-fun-0-'
+'-hosts_vxworks/1-fun-0-'
+'-hosts/2-fun-0-'
+'-rpc/2-fun-0-'
+'-services/2-fun-0-'
+find_executable
+pathtype
+relative
+find_executable1
+verify_executable
+read_file_info
+file_info
+split_path
+get_cwd
+reverse_element
+extensions
+unix_cmd
+unix_cmd1
+start_port
+unix_get_data
+eot
+mk_cmd
+validate
+validate1
+get_data
+absname
+absolute
+volumerelative
+absname_vr
+absname_pretty
+device
+basename1
+skip_prefix
+not_device
+skip_prefix1
+join1
+maybe_remove_dirsep
+unix_pathtype
+win32_pathtype
+rootname
+rootname2
+vxworks_split
+unix_split
+win32_split
+nativename
+win32_nativename
+separators
+find_src
+source_search_rules
+try
+which
+filter_options
+outdir
+export_all
+fast
+d
+parse_transform
+get_source_file
+source_file
+source_by_rules
+source_file_not_found
+try_rule
+readable_file
+regular
+read_write
+make_abs_path
+major_os_type
+vxworks_first
+vxworks_first2
+find_name
+'-find_name/3-fun-1-'
+'-find_name/3-fun-0-'
+no_epmd
+epmd_module
+protocol_childspecs
+start_p
+sname
+shortnames
+lname
+longnames
+ticktime
+net_ticktime
+net_sup_dynamic
+monitor_nodes
+not_boolean
+own_nodes
+ng_add_check
+registered_names_test
+send_test
+whereis_name_test
+global_group_not_runnig
+no_conf
+publish_type
+'invalid global_groups definition'
+test3844zty
+whereis_test
+illegal_function_call
+names_test
+names
+agreed
+not_agreed
+global_group_check
+monitoring
+other_groups
+no_contact
+sync_error
+synced_nodes
+own_group_nodes
+own_group_name
+illegal_message
+registered_names_res
+find_name_res
+send_res
+conf_check
+config_ok
+cont
+config_scan
+original
+no_name
+'node defined twice'
+grp_tuple
+sync_check_node
+ping
+pong
+pang
+sync_check_init
+sync_check
+no_global_group_configuration
+delete_all
+send_monitor
+safesend
+not_own_group
+safesend_nc
+check_exit_reg
+not_found_ignored
+check_exit_send
+check_exit_where
+kill_global_group_check
+disconnect_nodes
+force_nodedown
+publish_arg
+own_group
+no_group
+publish_on_nodes
+update_publish_nodes
+'-force_nodedown/1-fun-0-'
+'-disconnect_nodes/1-fun-0-'
+'-sync_check_init/8-fun-0-'
+'-init/1-fun-0-'
+kernel_apply
+allow
+node_info
+nodes_info
+verbose
+set_net_ticktime
+new_ticktime
+get_net_ticktime
+ticktime_res
+hidden_connect
+publish_on_node
+connect_node
+hidden_connect_node
+sys_dist
+barred_connection
+dist_auto_connect
+never
+ticker
+tick
+bad_cookie
+not_implemented
+is_auth
+pending
+up_pending
+tick_change
+ongoing_change_to
+unchanged
+longer
+shorter
+change_initiated
+do_spawn_link
+no_network
+remark_pending
+set_monitors
+is_pending
+remarked
+bad_request
+accept_pending
+connection
+already_pending
+inserted
+do_nodeup
+pend_nodeup
+registered_send
+accept_connection
+controller
+unsupported_protocol
+transition_period_end
+aux_tick
+do_handle_exit
+remove_conn_pid
+listen_exit
+accept_exit
+conn_own_exit
+nodeup_exit
+monitor_exit
+pending_own_exit
+ticker_exit
+get_conn
+pending_nodedown
+up_pending_nodedown
+up_nodedown
+mark_sys_dist_nodedown
+do_disconnect
+disconnect_pid
+get_nodes
+to_integer
+ticker_loop
+start_aux_ticker
+aux_ticker
+aux_ticker1
+bye
+send_list
+setup
+bad_node
+net_address
+select_mod
+unsupported_address_type
+get_proto_mod
+lookup_pend
+del_pend
+init_node
+create_name
+create_hostpart
+short
+long
+proto_dist
+childspecs
+start_protos
+duplicate_name
+sync_cookie
+std_monitors
+connecttime
+net_setuptime
+get_node_info
+invalid_key
+get_nodes_info
+reply_waiting
+reply_waiting1
+all_atoms
+restart_ticker
+print_info
+display_info
+fmt_address
+fetch
+nformat
+getnode
+'-print_info/0-fun-0-'
+'-create_hostpart/2-fun-0-'
+'-init_node/2-fun-0-'
+'-handle_info/2-fun-1-'
+'-handle_info/2-fun-0-'
+'-terminate/2-fun-2-'
+'-terminate/2-fun-1-'
+nodistribution
+pid2name
+file_io_servers
+set_cwd
+make_dir
+del_dir
+read_link_info
+read_link
+write_file_info
+list_dir
+read_file
+make_link
+make_symlink
+write_file
+unused
+rawopen
+raw_read_file_info
+raw_write_file_info
+get_chars
+enomem
+pread
+put_chars
+pwrite
+truncate
+new_bindings
+path_eval
+consult_stream
+eval_stream
+parse_erl_exprs
+exprs
+path_open
+enoent
+path_open1
+change_mode
+change_owner
+change_group
+change_time
+master
+start_slave
+'can not get remote filer '
+start_relay
+relay
+'Port controlling ~w terminated in file_server'
+do_read_file
+do_write_file
+fm_op
+list_dir_op
+collect_files
+write_file_info_op
+info_to_list
+int_to_bytes
+date_to_bytes
+file_loop
+file_request
+get_until
+requests
+io_requests
+position_file
+get_until1
+ll_raw_open
+ll_open
+emfile
+ll_write
+ll_pwrite
+ll_sync
+ll_read
+ll_pread
+ll_lseek
+ll_truncate
+ll_command
+mkport
+file_name2
+check_binary
+open_mode
+new_open_mode
+translate_old_mode
+character
+this_is_an_error
+file_position
+bof
+get_response
+bad_response_from_port
+transform_ints
+file_type
+symlink
+directory
+other
+file_access
+i32
+getints
+check_and_call
+check_args
+io_reply
+file_reply
+wait_file_reply
+terminated
+delete_env_var
+change_env_var
+single_os_type
+uc_lc_equal
+uc_lc_match
+strict_match
+precedes
+uc_lc_precedes
+make_binary
+add_nul_chars
+transform_settings
+transform_one
+objfile_extension
+load_abs
+load_binary
+purge
+soft_purge
+is_loaded
+get_object_code
+all_loaded
+root_dir
+dir
+lib_dir
+compiler_dir
+uc_dir
+priv_dir
+stick_dir
+unstick_dir
+add_path
+add_pathz
+add_patha
+add_paths
+add_pathsz
+add_pathsa
+del_path
+replace_path
+rel_loaded_p
+interpreted
+delete_interpret
+delete_int
+interpret_binary
+add_uc
+stick
+interactive
+do_stick_dirs
+do_s
+get_mode
+which2
+non_existing
+clash
+build
+decorate
+filter2
+has_ext
+do_foldl
+do_foldr
+table_closed
+safe_fixtable
+erlang_db_match_object
+local_info
+safe_fixed
+do_filter
+tab2file
+badtab
+log_terms
+get_objs
+file2tab
+read_only
+repaired
+init_file2tab
+chunk
+fill_tab
+file2tab_error
+old_file2tab
+mk_tab
+insert_all
+mem
+tabs
+prinfo
+prinfo2
+is_reg
+hform
+pad_right
+'EOT (q)uit (p)Digits (k)ill /Regexp -->'
+'(c)ontinue (q)uit (p)Digits (k)ill /Regexp -->'
+choice
+re
+quit
+nonl
+right
+strip
+print_number
+do_display
+do_display_items
+do_display_item
+substr
+re_search
+re_display
+print_re_num
+re_match
+check_fixtable_access
+'-hform/6-fun-0-'
+'-i/0-fun-0-'
+fixit
+releaseit
+do_fixtable
+server_init
+fixtable_server_sup
+call_unchecked
+fixtable_processes
+fixtable_owners
+fixtable_tables
+handle_request
+handle_request2
+caller_dead
+badrequest
+insert_owner
+wipe_table_owner
+wipe_table
+wipe_process
+'-wipe_process/4-fun-0-'
+'-wipe_table/4-fun-0-'
+'-handle_request2/5-fun-0-'
+del_interpret
+do_purge
+to_atom
+add_interpret
+load_interpret
+do_ensure
+do_delete
+init_db
+fix
+init_insert
+add_module
+make_path
+choose_bundles
+cr_b
+vsn_to_num
+is_vsn
+is_numstr
+choose
+add_loader_path
+pa
+pz
+exclude_pa_pz
+excl
+strip_path
+add
+add1
+add_pa_pz
+get_arg
+exclude
+get_name
+get_name1
+get_name2
+check_path
+bad_directory
+bad_path
+do_add
+maybe_update
+update
+normalize
+init_namedb
+code_names
+insert_name
+bad_name
+del_path1
+insert_old_shadowed
+replace_path1
+check_pars
+del_ebin
+replace_name
+delete_name
+delete_name_dir
+lookup_name
+do_dir
+'bad request to code'
+stick_library
+unstick_library
+putem
+sticky
+eraseem
+get_mods
+do_load_binary
+modp
+try_load_module
+sticky_directory
+int_list
+mod_to_bin
+do_soft_purge
+ints
+all_l
+strip_mod_info
+'-exclude/2-fun-0-'
+'-is_numstr/1-fun-0-'
+'-is_vsn/1-fun-0-'
+'-vsn_to_num/1-fun-0-'
+'-choose_bundles/1-fun-1-'
+'-choose_bundles/1-fun-0-'
+tell_interpreter
+no_interpreter
+delete_modules
+len
+equal
+chr
+rchr
+str
+rstr
+span
+cspan
+substr1
+tokens1
+tokens2
+copies
+words
+both
+w_count
+left
+sub_word
+s_word
+strip_left
+strip_right
+strip_right_1
+l_pad
+r_pad
+centre
+sub_string
+re_sh_to_awk
+sh_to_awk
+re_parse
+parse
+nomatch
+re_sub
+re_gsub
+gsub
+re_split
+beam_opcodes
+beam_dict
+beam_asm
+beam_listing
+beam_flatten
+beam_type
+beam_jump
+beam_block
+beam_bs
+v3_codegen
+v3_life
+v3_kernel_pp
+v3_kernel
+core_pp
+core_lint
+core_parse
+core_scan
+corec
+core_lib
+sys_core_inline
+sys_core_fold
+v3_core_opt
+v3_core
+sys_pre_expand
+sys_pre_attributes
+nouser
+'Cannot get remote user'
+relay1
+start_user
+wait_for_user_p
+get_user
+x
+noinput
+noinp_shell
+oldshell
+sys_xerl
+start_out
+badcall
+terminate_pid
+'tty_sl -c -e'
+server1
+server_loop
+port_bytes
+switch_loop
+switch_cmd
+'?'
+atom
+k
+r
+j
+h
+q
+integer
+interrupt
+get_node
+unknown_group
+list_commands
+beep
+edit_line
+get_line_timeout
+blink
+delete_chars
+move_rel
+insert_chars
+put_int16
+gr_new
+gr_get_num
+gr_get_num1
+gr_add_cur
+gr_set_cur
+gr_set_num
+gr_set_num1
+gr_del_pid
+gr_del_pid1
+gr_cur_pid
+gr_list
+line_buffer
+start_shell
+start_shell1
+exit_shell
+deep_char_list
+send_drv
+send_drv_reqs
+interrupted
+get_line1
+erase_line
+prompt
+edit_line1
+redraw_line
+new_stack
+stack
+up_stack
+down_stack
+prompt_bytes
+scan
+reserved_word
+fwrite
+fread
+indentation
+fwrite_g
+write_tail
+write_port
+write_ref
+write_bin_tail
+write_binary
+bin_to_list_max
+write_vector
+write_vector_contents
+write_atom
+quote_atom
+name_chars
+name_char
+write_string
+write_string1
+string_char
+write_char
+char_list
+printable_list
+nl
+collect_chars
+collect_chars1
+collect_line1
+kill_buffer
+edit
+meta
+ctlx
+new_line
+tab
+whitespace_only
+prefix_arg
+ctlu
+key_map
+yank
+transpose_char
+kill_line
+forward_delete_char
+forward_char
+end_of_line
+beginning_of_line
+backward_delete_char
+backward_char
+auto_blink
+yank_pop
+transpose_word
+kill_word
+forward_word
+backward_word
+backward_kill_word
+do_op
+over_word
+over_non_word
+word_char
+over_white
+over_paren
+over_paren_auto
+erase_inp
+redraw
+length_before
+length_after
+expand_module_name
+expand_function_name
+print_matches
+col_print
+field_width
+match1
+longest_common_head
+same_head
+all_tails
+collect
+collect_cseq
+precision
+field_value
+pad_char
+collect_cc
+pcount
+decr_pc
+control
+fwrite_e
+float_e
+float_man
+float_exp
+fwrite_f
+float_f
+float_data
+char
+newline
+adjust_error
+adjust
+user_default
+no_control_g
+get_command
+get_command1
+expand_hist
+expand_exprs
+expand_expr
+if
+catch
+tuple
+block
+lc
+case
+remote
+record_field
+cons
+record
+record_index
+op
+v
+e
+expand_cs
+clause
+expand_fields
+expand_quals
+generate
+no_command
+expr
+add_cmd
+get_cmd
+del_cmd
+shell_cmd
+shell_rep
+shell_req
+start_eval
+evaluator
+eval_loop
+local_func
+init_dict
+f
+b
+var
+del_binding
+bindings
+expr_list
+list_bindings
+'-get_command/4-fun-0-'
+go
+sync_nodes
+wait_nodes
+mandatory_nodes_down
+check_up
+get_sync_data
+get_sync_timeout
+sync_nodes_timeout
+get_sync_mandatory_nodes
+sync_nodes_mandatory
+get_sync_optional_nodes
+sync_nodes_optional
+'-wait_nodes/2-fun-0-'
+install_prev
+write_events
+write_events1
+write_event
+string_p
+string_p1
+write_time
+t
+t1
+month
+arg_list
+nil
+field
+bif
+bin
+clauses
+unbound
+expr_grp
+eval_lc
+eval_lc1
+is_guard_test
+eval_fun
+'-inside-a-shell-fun-'
+eval_op
+'--'
+'++'
+'!'
+if_clauses
+case_clauses
+receive_clauses
+merge_queue
+recv_all
+match_clause
+guard
+guard1
+guard0
+guard_test
+type_test
+reference
+number
+constant
+string_to_conses
+match_bits
+match_tuple
+match_list
+match_list1
+dict_to_list
+binding
+find
+add_binding
+store
+add_bindings
+merge_bindings
+is_constant_expr
+eval_expr
+partial_eval
+ev_expr
+ret_expr
+'-ev_expr/1-fun-0-'
+'-merge_bindings/2-fun-0-'
+'-add_bindings/2-fun-0-'
+'-match1/3-fun-1-'
+'-match1/3-fun-0-'
+'-eval_lc1/4-fun-0-'
+'-expr/3-fun-21-'
+'-expr/3-fun-20-'
+'-expr/3-fun-19-'
+'-expr/3-fun-18-'
+'-expr/3-fun-17-'
+'-expr/3-fun-16-'
+'-expr/3-fun-15-'
+'-expr/3-fun-14-'
+'-expr/3-fun-13-'
+'-expr/3-fun-12-'
+'-expr/3-fun-11-'
+'-expr/3-fun-10-'
+'-expr/3-fun-9-'
+'-expr/3-fun-8-'
+'-expr/3-fun-7-'
+'-expr/3-fun-6-'
+'-expr/3-fun-5-'
+'-expr/3-fun-4-'
+'-expr/3-fun-3-'
+'-expr/3-fun-2-'
+'-expr/3-fun-1-'
+'-expr/3-fun-0-'
+guard_expr
+argument_limit
+undef_record
+badexpr
+':'
+'.'
+bad_filter
+is_key
+fetch_keys
+append_list
+fold
+list_to_dict
+'-from_list/1-fun-0-'
+help
+report_warnings
+report_errors
+machine_load
+output_generated
+check_load
+lc_batch
+'@o'
+'@i'
+'@d'
+split_def
+nc
+ni
+l
+zi
+i1
+mfa_string
+iformat
+all_procs
+palive
+pzombie
+bt
+m
+relative_name
+strip_cwd
+mformat
+f_p_e
+bi
+print_object_file
+get_compile_time
+compiletime
+notime
+get_compile_options
+compiler_options
+get_src_file
+get_compile_info
+print_exports
+split_print_exports
+print_time
+nregs
+regs
+all_regs
+print_node_regs
+display_name_info
+pwhereis
+pline
+rformat
+pwd
+ls
+ls_print
+lengths
+w
+get_proc_mem
+get_non_proc_mem
+atom_table
+module_table
+export_table
+register_table
+loaded_code
+static
+process_desc
+proc_bin_desc
+link_desc
+atom_desc
+export_desc
+module_desc
+preg_desc
+plist_desc
+fixed_deletion_desc
+bif_timer_rec_desc
+atom_space
+get_mem
+get_ets_mem
+total
+atom_used
+get_proc_mem_if_needed
+get_allocated_areas_if_needed
+get_ets_mem_if_needed
+'-get_proc_mem/0-fun-0-'
+'-print_node_regs/1-fun-0-'
+'-all_regs/0-fun-0-'
+'-nregs/0-fun-0-'
+'-m/0-fun-1-'
+'-m/0-fun-0-'
+'-all_procs/0-fun-0-'
+'-i1/1-fun-0-'
+'-i/1-fun-1-'
+'-i/1-fun-0-'
+'-alive_processes/0-fun-0-'
+'-lc_batch/1-fun-0-'
+'-lc/1-fun-0-'
+scan_erl_seq
+parse_erl_seq
+parse_exprs
+to_tuple
+o_request
+conv_reason
+scan_erl_exprs
+scan_erl_form
+parse_erl_form
+parse_form
+arguments
+default_input
+default_output
+wait_io_mon_reply
+fix_error_start_line
+string_pre_scan
+is_end
+string_thing
+base
+illegal
+pre_scan
+'\''
+'"'
+'%'
+pre_string
+pre_string_error
+pre_char
+pre_escape
+pre_comment
+pre_dot
+pre_error
+scan1
+'||'
+':-'
+'->'
+'>>'
+'<='
+'<<'
+'<-'
+scan_atom
+scan_variable
+scan_name
+scan_string
+scan_char
+scan_escape
+escape_char
+scan_number
+scan_integer
+scan_after_int
+scan_based_int
+scan_after_fraction
+scan_exponent
+scan_exponent1
+scan_dot
+scan_error
+begin
+when
+query
+of
+end
+let
+after
+'('
+')'
+mkop
+build_attribute
+import
+export
+attribute
+farity_list
+record_tuple
+record_fields
+build_function
+build_rule
+rule
+build_fun
+check_clauses
+mapl
+normalise
+normalise_list
+abstract
+abstract_string
+abstract_list
+'{'
+'}'
+tokens_tail
+','
+'|'
+tokens_tuple
+inop_prec
+'#'
+'='
+preop_prec
+func_prec
+max_prec
+parse_and_scan
+return_error
+yeccpars1
+'$end'
+yeccerror
+yecctoken2string
+'~w'
+reserved_symbol
+'~s'
+yeccpars2
+bit_type
+lc_expr
+bit_type_list
+lc_exprs
+';'
+function_clauses
+bin_elements
+default
+cr_clauses
+fun_clauses
+rule_clauses
+expr_700
+strings
+rule_clause
+record_expr
+fun_clause
+cr_clause
+bin_element
+expr_800
+expr_100
+tail
+expr_200
+expr_500
+expr_300
+fun_expr
+function_call
+rule_body
+opt_bit_type_list
+opt_bit_size_expr
+clause_guard
+clause_body
+bit_expr
+expr_600
+receive_expr
+list_comprehension
+case_expr
+query_expr
+if_expr
+expr_max
+argument_list
+form
+clause_args
+prefix_op
+mult_op
+list_op
+comp_op
+bit_size_expr
+attr_val
+atomic
+add_op
+expr_400
+yeccgoto
+'-abstract/2-fun-0-'
+'-abstract/1-fun-0-'
+'-normalise/1-fun-0-'
+'-check_clauses/3-fun-0-'
+missing_in_goto_table
+parser
+missing_state_in_action_table
+uh
+mk
+make
+tt
+gl
+get_loopdata
+distel
+print_tag_tuple
+print_tail
+write_length
+write_length_list
+nl_indent
+guard_bif
+arith_op
+bool_op
+send_op
+op_type
+comp
+arith
+behaviour_info
+obsolete
+
+<End of Erlang crash dump>
diff --git a/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.100atoms b/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.100atoms
new file mode 100644
index 0000000000..921c27bd0e
--- /dev/null
+++ b/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.100atoms
@@ -0,0 +1,13135 @@
+=erl_crash_dump:0.1
+Wed Apr 21 13:22:44 2004
+Slogan: eheap_alloc: Cannot allocate 785672 bytes of memory (of type "heap").
+System version: Erlang (BEAM) emulator version 5.4 [source] [hipe] [threads:0]
+Compiled: Thu Dec 18 14:07:45 2003
+Atoms: 5614
+=memory
+total: 653336887
+processes: 1768396
+processes_used: 1765460
+system: 651568491
+atom: 244837
+atom_used: 237116
+binary: 648618369
+code: 2158413
+ets: 225620
+=hash_table:atom_tab
+size: 4813
+used: 3304
+objs: 5614
+depth: 7
+=index_table:atom_tab
+size: 5700
+limit: 1048576
+used: 5614
+rate: 100
+=hash_table:module_code
+size: 97
+used: 69
+objs: 107
+depth: 5
+=index_table:module_code
+size: 110
+limit: 65536
+used: 107
+rate: 10
+=hash_table:export_list
+size: 2411
+used: 1674
+objs: 2843
+depth: 6
+=index_table:export_list
+size: 2900
+limit: 65536
+used: 2843
+rate: 100
+=hash_table:process_reg
+size: 47
+used: 16
+objs: 23
+depth: 3
+=hash_table:fun_table
+size: 397
+used: 261
+objs: 400
+depth: 4
+=hash_table:node_table
+size: 11
+used: 1
+objs: 1
+depth: 1
+=hash_table:dist_table
+size: 11
+used: 1
+objs: 1
+depth: 1
+=allocated_areas
+processes: 1765460 1768396
+ets: 225620
+sys_misc: 24634
+static: 295033
+atom_space: 65544 57967
+binary: 648618369
+atom_table: 42141
+module_table: 920
+export_table: 21336
+register_table: 252
+fun_table: 1650
+module_refs: 1024
+loaded_code: 1968915
+dist_table: 159
+node_table: 131
+bits_bufs_size: 19
+bif_timer: 13392
+link_lh: 0
+dist_buf: 0
+proc: 15080 13576
+atom_entry: 137152 137008
+export_entry: 138448 137632
+module_entry: 4872 4352
+reg_proc: 1000 592
+link_nh: 2464 2080
+link_sh: 832 192
+proc_list: 24 24
+fun_entry: 22584 22584
+db_tab: 1632 1632
+=allocator:sys_alloc
+option e: true
+option m: libc
+=allocator:temp_alloc
+versions: 0.9 2.1
+option e: true
+option sbct: 524288
+option asbcst: 4145152
+option rsbcst: 90
+option rsbcmt: 80
+option mmbcs: 65536
+option mmsbc: 256
+option mmmbc: 10
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option as: af
+mbcs blocks: 0 9 9
+mbcs blocks size: 0 35376 35376
+mbcs carriers: 1 1 1
+mbcs mseg carriers: 0
+mbcs sys_alloc carriers: 1
+mbcs carriers size: 65568 65568 65568
+mbcs mseg carriers size: 0
+mbcs sys_alloc carriers size: 65568
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+temp_alloc calls: 6155
+temp_free calls: 6155
+temp_realloc calls: 29
+mseg_alloc calls: 0
+mseg_dealloc calls: 0
+mseg_realloc calls: 0
+sys_alloc calls: 1
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:sl_alloc
+option e: false
+=allocator:std_alloc
+option e: false
+=allocator:ll_alloc
+versions: 0.9 2.1
+option e: true
+option sbct: 4294967295
+option asbcst: 0
+option rsbcst: 0
+option rsbcmt: 0
+option mmbcs: 2097152
+option mmsbc: 0
+option mmmbc: 0
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option as: aobf
+mbcs blocks: 592 592 592
+mbcs blocks size: 2838520 2863304 2863304
+mbcs carriers: 2 2 2
+mbcs mseg carriers: 0
+mbcs sys_alloc carriers: 2
+mbcs carriers size: 3145760 3145760 3145760
+mbcs mseg carriers size: 0
+mbcs sys_alloc carriers size: 3145760
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+ll_alloc calls: 592
+ll_free calls: 0
+ll_realloc calls: 235
+mseg_alloc calls: 0
+mseg_dealloc calls: 0
+mseg_realloc calls: 0
+sys_alloc calls: 2
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:eheap_alloc
+versions: 2.1 2.1
+option e: true
+option sbct: 524288
+option asbcst: 4145152
+option rsbcst: 50
+option rsbcmt: 80
+option mmbcs: 524288
+option mmsbc: 256
+option mmmbc: 10
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option mbsd: 3
+option as: gf
+mbcs blocks: 56 102 102
+mbcs blocks size: 833280 1638920 1638920
+mbcs carriers: 2 3 3
+mbcs mseg carriers: 1
+mbcs sys_alloc carriers: 1
+mbcs carriers size: 1998880 3047456 3047456
+mbcs mseg carriers size: 1474560
+mbcs sys_alloc carriers size: 524320
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+eheap_alloc calls: 6971
+eheap_free calls: 6914
+eheap_realloc calls: 461
+mseg_alloc calls: 16
+mseg_dealloc calls: 14
+mseg_realloc calls: 0
+sys_alloc calls: 3
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:binary_alloc
+option e: false
+=allocator:ets_alloc
+option e: false
+=allocator:fix_alloc
+option e: true
+proc: 15080 13576
+atom_entry: 137152 137008
+export_entry: 138448 137632
+module_entry: 4872 4352
+reg_proc: 1000 592
+link_nh: 2464 2080
+link_sh: 832 192
+proc_list: 24 24
+fun_entry: 22584 22584
+db_tab: 1632 1632
+=allocator:mseg_alloc
+version: 0.9
+option amcbf: 4194304
+option rmcbf: 20
+option mcs: 5
+option cci: 1000
+cached_segments: 0
+cache_hits: 13
+segments: 2
+segments_watermark: 2
+mseg_alloc calls: 16
+mseg_dealloc calls: 14
+mseg_realloc calls: 0
+mseg_create calls: 4
+mseg_destroy calls: 1
+mseg_clear_cache calls: 6
+mseg_check_cache calls: 2
+=allocator:alloc_util
+option mmc: 1024
+option ycs: 1048576
+=allocator:instr
+option m: false
+option s: false
+option t: false
+=proc:<0.0.0>
+State: Waiting
+Name: init
+Spawned as: otp_ring0:start/2
+Spawned by: []
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.5.0>,<0.4.0>,<0.2.0>]
+Reductions: 3851
+Stack+heap: 377
+OldHeap: 610
+Heap unused: 53
+OldHeap unused: 610
+Program counter: 0x1f496c (init:loop/1 + 20)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.2.0>
+State: Waiting
+Name: erl_prim_loader
+Spawned as: erlang:apply/2
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.0.0>,#Port<0.2>]
+Reductions: 201036
+Stack+heap: 987
+OldHeap: 987
+Heap unused: 923
+OldHeap unused: 987
+Program counter: 0x20cc94 (erl_prim_loader:loop/3 + 52)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.4.0>
+State: Waiting
+Name: error_logger
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.21.0>,<0.0.0>]
+Reductions: 296
+Stack+heap: 6765
+OldHeap: 0
+Heap unused: 851
+OldHeap unused: 0
+Program counter: 0x21f5b8 (gen_event:loop/4 + 40)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.5.0>
+State: Waiting
+Name: application_controller
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.7.0>,<0.0.0>]
+Reductions: 1508
+Stack+heap: 1597
+OldHeap: 0
+Heap unused: 835
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.7.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.6.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.8.0>,<0.5.0>]
+Reductions: 23
+Stack+heap: 377
+OldHeap: 0
+Heap unused: 79
+OldHeap unused: 0
+Program counter: 0x248d04 (application_master:main_loop/2 + 28)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.8.0>
+State: Waiting
+Spawned as: application_master:start_it/4
+Spawned by: <0.7.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>,<0.7.0>]
+Reductions: 91
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 177
+OldHeap unused: 0
+Program counter: 0x24a26c (application_master:loop_it/4 + 40)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.9.0>
+State: Waiting
+Name: kernel_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.8.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.24.0>,<0.23.0>,<0.19.0>,<0.18.0>,<0.17.0>,<0.16.0>,<0.15.0>,<0.14.0>,<0.11.0>,<0.10.0>,<0.8.0>]
+Reductions: 7402
+Stack+heap: 610
+OldHeap: 987
+Heap unused: 311
+OldHeap unused: 987
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.10.0>
+State: Waiting
+Name: rex
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 44
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 144
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.11.0>
+State: Waiting
+Name: global_name_server
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.13.0>,<0.12.0>,<0.9.0>]
+Reductions: 47
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 98
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.12.0>
+State: Waiting
+Spawned as: global:init_the_locker/1
+Spawned by: <0.11.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.11.0>]
+Reductions: 3
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 227
+OldHeap unused: 0
+Program counter: 0x261340 (global:loop_the_locker/2 + 92)
+CP: 0x261184 (global:init_the_locker/1 + 112)
+arity = 0
+=proc:<0.13.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.11.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.11.0>]
+Reductions: 4
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 221
+OldHeap unused: 0
+Program counter: 0x265288 (global:collect_deletions/2 + 76)
+CP: 0x2651ac (global:loop_the_deleter/1 + 36)
+arity = 0
+=proc:<0.14.0>
+State: Waiting
+Name: inet_db
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 376
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 30
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.15.0>
+State: Waiting
+Name: global_group
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 71
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 92
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.16.0>
+State: Waiting
+Name: file_server_2
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 119
+Link list: [{from,<0.17.0>,#Ref<0.0.0.22>},#Port<0.4>,<0.9.0>]
+Reductions: 83605
+Stack+heap: 4181
+OldHeap: 4181
+Heap unused: 1720
+OldHeap unused: 4181
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.17.0>
+State: Waiting
+Name: file_server
+Spawned as: erlang:apply/2
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{to,<0.16.0>,#Ref<0.0.0.22>},<0.9.0>]
+Reductions: 12
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 207
+OldHeap unused: 0
+Program counter: 0x2a18e8 (old_file_server:relay_loop/3 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.18.0>
+State: Waiting
+Name: code_server
+Spawned as: erlang:apply/2
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 108900
+Stack+heap: 6765
+OldHeap: 6765
+Heap unused: 4389
+OldHeap unused: 6765
+Program counter: 0x2a6e64 (code_server:loop/1 + 64)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.19.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.21.0>,<0.9.0>]
+Reductions: 74
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 180
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.20.0>
+State: Waiting
+Spawned as: user_drv:server/2
+Spawned by: <0.19.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.22.0>,<0.21.0>,#Port<0.72>]
+Reductions: 596
+Stack+heap: 233
+OldHeap: 377
+Heap unused: 214
+OldHeap unused: 377
+Program counter: 0x2ca4e0 (user_drv:server_loop/5 + 56)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.21.0>
+State: Waiting
+Name: user
+Spawned as: group:server/2
+Spawned by: <0.20.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.4.0>,<0.19.0>,<0.20.0>]
+Reductions: 26
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 202
+OldHeap unused: 0
+Program counter: 0x2cd9d8 (group:server_loop/3 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.22.0>
+State: Waiting
+Spawned as: group:server/2
+Spawned by: <0.20.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{from,<0.49.0>,#Ref<0.0.0.307>},<0.25.0>,<0.20.0>]
+Reductions: 1244
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 40
+OldHeap unused: 233
+Program counter: 0x2cf238 (group:get_line1/3 + 1652)
+CP: 0x2cf230 (group:get_line1/3 + 1644)
+arity = 0
+=proc:<0.23.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 45
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 63
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.24.0>
+State: Waiting
+Name: kernel_safe_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.31.0>,<0.9.0>]
+Reductions: 133
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 198
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.25.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.22.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.49.0>,<0.27.0>,<0.22.0>]
+Reductions: 161
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 169
+OldHeap unused: 0
+Program counter: 0x2e0d00 (shell:get_command1/4 + 40)
+CP: 0x2e06fc (shell:server_loop/6 + 140)
+arity = 0
+=proc:<0.27.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.25.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.25.0>]
+Reductions: 506
+Stack+heap: 4181
+OldHeap: 0
+Heap unused: 1131
+OldHeap unused: 0
+Program counter: 0x2e2bbc (shell:eval_loop/2 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.31.0>
+State: Waiting
+Name: inet_gethost_native_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.24.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.32.0>,<0.24.0>]
+Reductions: 49
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 87
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.32.0>
+State: Waiting
+Name: inet_gethost_native
+Spawned as: inet_gethost_native:server_init/2
+Spawned by: <0.31.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 118
+Link list: [#Port<0.105>,<0.31.0>]
+Reductions: 65
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 13
+OldHeap unused: 0
+Program counter: 0x4ad840 (inet_gethost_native:main_loop/1 + 20)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.33.0>
+State: Waiting
+Name: web_tool
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.27.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.41.0>]
+Reductions: 131773
+Stack+heap: 6765
+OldHeap: 6765
+Heap unused: 2941
+OldHeap unused: 6765
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.41.0>
+State: Waiting
+Name: websup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.33.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.48.0>,<0.33.0>]
+Reductions: 118
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 205
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.43.0>
+State: Waiting
+Name: httpd_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.33.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.46.0>,<0.45.0>,<0.44.0>]
+Reductions: 1220
+Stack+heap: 6765
+OldHeap: 0
+Heap unused: 277
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.44.0>
+State: Waiting
+Name: httpd_acc_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.47.0>,<0.43.0>]
+Reductions: 147
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 77
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.45.0>
+State: Waiting
+Name: httpd_misc_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.43.0>]
+Reductions: 52
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 80
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.46.0>
+State: Waiting
+Name: httpd__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.43.0>]
+Reductions: 2905
+Stack+heap: 6765
+OldHeap: 10946
+Heap unused: 138
+OldHeap unused: 10946
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.47.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.44.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [#Port<0.161>,#Port<0.141>,<0.44.0>]
+Reductions: 874
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 190
+OldHeap unused: 233
+Program counter: 0x1fe798 (prim_inet:accept0/2 + 96)
+CP: 0x1feb04 (prim_inet:async_accept/2 + 380)
+arity = 0
+=proc:<0.48.0>
+State: Waiting
+Name: crashdump_viewer_server
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.41.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.56.0>,<0.41.0>]
+Reductions: 1913
+Stack+heap: 987
+OldHeap: 987
+Heap unused: 524
+OldHeap unused: 987
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.49.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.25.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{to,<0.22.0>,#Ref<0.0.0.307>},<0.25.0>]
+Reductions: 15
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 190
+OldHeap unused: 0
+Program counter: 0x301d58 (io:wait_io_mon_reply/2 + 28)
+CP: 0x30174c (io:parse_erl_exprs/3 + 92)
+arity = 0
+=proc:<0.56.0>
+State: Garbing
+Spawned as: erlang:apply/2
+Last scheduled in for: erlang:garbage_collect/0
+Spawned by: <0.48.0>
+Started: Wed Apr 21 13:22:27 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 121
+Link list: [#Port<0.158>,#Port<0.157>,<0.48.0>]
+Reductions: 2420470
+Stack+heap: 121393
+OldHeap: 0
+Heap unused: 22172
+OldHeap unused: 0
+New heap start: FE5768E0
+New heap top: FE5D7734
+Stack top: FE5ED130
+Stack end: FE5ED1A4
+Old heap start: 0
+Old heap top: 0
+Old heap end: 0
+Program counter: 0x1a4980 (unknown function)
+CP: 0x20710c (prim_file:read/2 + 436)
+=port:#Port<0.1>
+Slot: 1
+Connected: #Port<0.0>
+Port controls linked-in driver: async
+=port:#Port<0.2>
+Slot: 2
+Connected: <0.2.0>
+Links: <0.2.0>
+Port controls linked-in driver: efile
+=port:#Port<0.4>
+Slot: 4
+Connected: <0.16.0>
+Links: <0.16.0>
+Port controls linked-in driver: efile
+=port:#Port<0.72>
+Slot: 72
+Connected: <0.20.0>
+Links: <0.20.0>
+Port controls linked-in driver: tty_sl -c -e
+=port:#Port<0.105>
+Slot: 105
+Connected: <0.32.0>
+Links: <0.32.0>
+Port controls external process: inet_gethost 4
+=port:#Port<0.141>
+Slot: 141
+Connected: <0.47.0>
+Links: <0.47.0>
+Port controls linked-in driver: tcp_inet
+=port:#Port<0.157>
+Slot: 157
+Connected: <0.56.0>
+Links: <0.56.0>
+Port controls linked-in driver: efile
+=port:#Port<0.158>
+Slot: 158
+Connected: <0.56.0>
+Links: <0.56.0>
+Port controls linked-in driver: efile
+=port:#Port<0.161>
+Slot: 161
+Connected: <0.47.0>
+Links: <0.47.0>
+Port controls linked-in driver: tcp_inet
+=ets:<0.18.0>
+Slot: 9
+Table: 9
+Name: code
+Buckets: 256
+Objects: 289
+Words: 14108
+=ets:<0.18.0>
+Slot: 10
+Table: 10
+Name: code_names
+Buckets: 256
+Objects: 47
+Words: 4334
+=ets:<0.32.0>
+Slot: 11
+Table: 11
+Name: ign_requests
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.32.0>
+Slot: 12
+Table: 12
+Name: ign_req_index
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.33.0>
+Slot: 13
+Table: 13
+Name: app_data
+Buckets: 256
+Objects: 7
+Words: 952
+=ets:<0.46.0>
+Slot: 15
+Table: 15
+Name: httpd_mime__127_0_0_1__8888
+Buckets: 256
+Objects: 105
+Words: 5742
+=ets:<0.11.0>
+Slot: 84
+Table: global_names
+Name: global_names
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.11.0>
+Slot: 95
+Table: global_locks
+Name: global_locks
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.11.0>
+Slot: 96
+Table: global_names_ext
+Name: global_names_ext
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.14.0>
+Slot: 316
+Table: inet_cache
+Name: inet_cache
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 340
+Table: cdv_menu_table
+Name: cdv_menu_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 341
+Table: cdv_dump_index_table
+Name: cdv_dump_index_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 342
+Table: cdv_decode_heap_table
+Name: cdv_decode_heap_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.16.0>
+Slot: 780
+Table: file_io_servers
+Name: file_io_servers
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.46.0>
+Slot: 984
+Table: httpd_conf__127_0_0_1__8888
+Name: httpd_conf__127_0_0_1__8888
+Buckets: 256
+Objects: 17
+Words: 1176
+=ets:<0.14.0>
+Slot: 1342
+Table: inet_hosts
+Name: inet_hosts
+Buckets: 256
+Objects: 4
+Words: 421
+=ets:<0.14.0>
+Slot: 1362
+Table: inet_db
+Name: inet_db
+Buckets: 256
+Objects: 20
+Words: 671
+=ets:<0.5.0>
+Slot: 1655
+Table: ac_tab
+Name: ac_tab
+Buckets: 256
+Objects: 6
+Words: 843
+=timer:<0.14.0>
+Message: refresh_timeout
+Time left: 3565692 ms
+=node:'nonode@nohost'
+=no_distribution
+=loaded_modules
+Current code: 1968915
+Old code: 0
+=mod:otp_ring0
+Current size: 489
+=mod:init
+Current size: 30110
+=mod:prim_inet
+Current size: 35532
+=mod:prim_file
+Current size: 24965
+=mod:erl_prim_loader
+Current size: 19607
+=mod:erlang
+Current size: 11137
+=mod:error_handler
+Current size: 2389
+Current attributes: 836C00000001680264000376736E6C000000016E100030769A34345F26EF6D3433254FF2AE576A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161216802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6572726F725F68616E646C65722E65726C6A
+=mod:heart
+Current size: 6687
+Current attributes: 836C00000001680264000376736E6C000000016E10003094F7BECF345494DDBB4D7186E694186A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261086802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F68656172742E65726C6A
+=mod:error_logger
+Current size: 7051
+Current attributes: 836C00000001680264000376736E6C000000016E10004E3347F841DEAE2EB6A74389E6E127146A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161246802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6572726F725F6C6F676765722E65726C6A
+=mod:gen_event
+Current size: 18288
+Current attributes: 836C00000001680264000376736E6C000000016E1000336F22DF1EA75E0EA4AE65D3B8C34F946A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61346802640006736F757263656B00302F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E5F6576656E742E65726C6A
+=mod:gen
+Current size: 7129
+Current attributes: 836C00000001680264000376736E6C000000016E10007BE6AEB66EF48D8B33323C89C9936A526A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61316802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E2E65726C6A
+=mod:proc_lib
+Current size: 11658
+Current attributes: 836C00000001680264000376736E6C000000016E10005C589A8C9BD2E1F2E895E765CAE983406A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E612D6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F70726F635F6C69622E65726C6A
+=mod:application_controller
+Current size: 55249
+Current attributes: 836C00000002680264000376736E6C000000016E10003372E1AB0410565065FA086086A721316A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061246802640006736F757263656B003D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E5F636F6E74726F6C6C65722E65726C6A
+=mod:gen_server
+Current size: 18728
+Current attributes: 836C00000001680264000376736E6C000000016E10004C5E93533036DAC7698FC4112F59CF236A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61396802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E5F7365727665722E65726C6A
+=mod:sys
+Current size: 11589
+Current attributes: 836C00000001680264000376736E6C000000016E1000E12B0E8267551204BD5924BAB9629ADF6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61176802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7379732E65726C6A
+=mod:lists
+Current size: 18638
+Current attributes: 836C00000002680264000376736E6C000000016E10001E95B32C30E4CDAF0BDD1ABA58CBB5F36A680264000A646570726563617465646C0000000B68026400066B65796D617061046802640003616C6C61036802640003616E79610368026400036D617061036802640007666C61746D617061036802640005666F6C646C61046802640005666F6C64726104680264000666696C746572610368026400086D6170666F6C646C610468026400086D6170666F6C647261046802640007666F726561636861036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61116802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6C697374732E65726C6A
+=mod:application
+Current size: 2666
+Current attributes: 836C00000001680264000376736E6C000000016E1000C0C5A7B67B306300FEFF9D91AA50ECB36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6130611F6802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E2E65726C6A
+=mod:application_master
+Current size: 10912
+Current attributes: 836C00000001680264000376736E6C000000016E1000360420F5CEB80AD7DD51B3A8A0E2AFA26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061266802640006736F757263656B00392F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E5F6D61737465722E65726C6A
+=mod:kernel
+Current size: 7639
+Current attributes: 836C00000002680264000376736E6C000000016E10004D418ACCB0F948D4D3CA6B9A81B462746A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261336802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6B65726E656C2E65726C6A
+=mod:supervisor
+Current size: 24469
+Current attributes: 836C00000002680264000376736E6C000000016E1000979F65727577135484BE0892A35087CC6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61126802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F73757065727669736F722E65726C6A
+=mod:rpc
+Current size: 14539
+Current attributes: 836C00000002680264000376736E6C000000016E10008C5D6242D36B3201E3B11E82D5E1581E6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6133610F6802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F7270632E65726C6A
+=mod:gb_trees
+Current size: 8274
+Current attributes: 836C00000001680264000376736E6C000000016E1000094BEFDE7B866EF2CB6FCD895AC2EE056A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D612B6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67625F74726565732E65726C6A
+=mod:global
+Current size: 40753
+Current attributes: 836C00000002680264000376736E6C000000016E10001D02C89BDE6CB2052F099894683C14CA6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161386802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F676C6F62616C2E65726C6A
+=mod:inet_db
+Current size: 34555
+Current attributes: 836C00000001680264000376736E6C000000016E1000C1CF6A6F2E83D4EBC23D2CCECBF376226A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132611A6802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F64622E65726C6A
+=mod:inet_config
+Current size: 13575
+Current attributes: 836C00000001680264000376736E6C000000016E1000650F6571C03BC9C16BB7973A747565066A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261166802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F636F6E6669672E65726C6A
+=mod:os
+Current size: 5997
+Current attributes: 836C00000001680264000376736E6C000000016E100017144CD766A604A9DFBA0B58C8FCA78B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361056802640006736F757263656B00292F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6F732E65726C6A
+=mod:inet_udp
+Current size: 2451
+Current attributes: 836C00000001680264000376736E6C000000016E1000ACB163E87A687A6683B50B331C6E289B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261306802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F7564702E65726C6A
+=mod:inet
+Current size: 28288
+Current attributes: 836C00000001680264000376736E6C000000016E10009B9AD400F0BAF6AAF17A4788A4EFF11E6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132610C6802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65742E65726C6A
+=mod:inet_parse
+Current size: 21928
+Current attributes: 836C00000001680264000376736E6C000000016E1000E0E65454C096847749930EDC1C53C80B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261266802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F70617273652E65726C6A
+=mod:filename
+Current size: 17411
+Current attributes: 836C00000001680264000376736E6C000000016E100068085214F459D51A3E08819BF8D7698A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61296802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F66696C656E616D652E65726C6A
+=mod:inet_hosts
+Current size: 3745
+Current attributes: 836C00000001680264000376736E6C000000016E1000E7430304E86230057150DEE5D279881F6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261226802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F686F7374732E65726C6A
+=mod:erl_distribution
+Current size: 2512
+Current attributes: 836C00000002680264000376736E6C000000016E1000CDE49D63ACA767E0D49679657E99D2046A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161186802640006736F757263656B00372F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F65726C5F646973747269627574696F6E2E65726C6A
+=mod:global_group
+Current size: 30960
+Current attributes: 836C00000002680264000376736E6C000000016E10008ECE759E5920988CA3ACFF34B32F86736A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131613B6802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F676C6F62616C5F67726F75702E65726C6A
+=mod:net_kernel
+Current size: 37648
+Current attributes: 836C00000002680264000376736E6C000000016E1000967CE7DE41F9B39906CCCF3225E6E5286A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361026802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6E65745F6B65726E656C2E65726C6A
+=mod:file_server
+Current size: 8372
+Current attributes: 836C00000002680264000376736E6C000000016E1000EF90906EC6204204AC0A77C4A25B65236A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612D6802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C655F7365727665722E65726C6A
+=mod:old_file_server
+Current size: 3074
+Current attributes: 836C00000001680264000376736E6C000000016E1000C802085DD76D4EFBA6A8F528FECB94B36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612F6802640006736F757263656B00362F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6F6C645F66696C655F7365727665722E65726C6A
+=mod:code
+Current size: 7419
+Current attributes: 836C00000001680264000376736E6C000000016E1000AE618E3041C8E3807A3719CD5140DF5E6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6130612E6802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64652E65726C6A
+=mod:code_server
+Current size: 30811
+Current attributes: 836C00000001680264000376736E6C000000016E0F00BFB96248C2CA8601B4CB7F543F52E26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061346802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64655F7365727665722E65726C6A
+=mod:code_aux
+Current size: 1736
+Current attributes: 836C00000001680264000376736E6C000000016E10007A90DB53FCCECD52504F20E7A3B6BAE26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061316802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64655F6175782E65726C6A
+=mod:packages
+Current size: 3119
+Current attributes: 836C00000001680264000376736E6C000000016E1000044DC8EEB65F178AE23EF2465E1954496A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361076802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F7061636B616765732E65726C6A
+=mod:hipe_unified_loader
+Current size: 37330
+Current attributes: 836C00000001680264000376736E6C000000016E1000DABD57945702E56F4B3AA7B7B19C1D166A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361326802640006736F757263656B003A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F686970655F756E69666965645F6C6F616465722E65726C6A
+=mod:hipe_sparc_loader
+Current size: 1821
+Current attributes: 836C00000001680264000376736E6C000000016E1000582BC55E9FADFF879C2C45D25A6CB7E56A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F6D61696E6802640001696B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F72746C6802640001696B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F737061726364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6133612B6802640006736F757263656B00382F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F686970655F73706172635F6C6F616465722E65726C6A
+=mod:ets
+Current size: 16577
+Current attributes: 836C00000002680264000376736E6C000000016E100033D982AC91129E5FC35E0AC3337A4EB56A680264000A646570726563617465646C0000000168026400086669787461626C6561026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D611C6802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6574732E65726C6A
+=mod:lists_sort
+Current size: 38692
+Current attributes: 836C00000001680264000376736E6C000000016E1000E17EC92FA9AA3199DD71701C215044616A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000B68026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736802640006696E6C696E656C0000000468026400096D65726765335F3132610768026400096D65726765335F32316107680264000A726D65726765335F31326107680264000A726D65726765335F323161076A6802640006696E6C696E656C00000004680264000A756D65726765335F31326108680264000A756D65726765335F32316108680264000C72756D65726765335F3132616107680264000C72756D65726765335F31326261086A6802640006696E6C696E656C00000004680264000C6B65796D65726765335F3132610C680264000C6B65796D65726765335F3231610C680264000D726B65796D65726765335F3132610C680264000D726B65796D65726765335F3231610C6A6802640006696E6C696E656C00000006680264000D756B65796D65726765335F3132610D680264000D756B65796D65726765335F3231610D680264000F72756B65796D65726765335F313261610B680264000F72756B65796D65726765335F323161610D680264000F72756B65796D65726765335F313262610D680264000F72756B65796D65726765335F323162610C6A6A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61166802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6C697374735F736F72742E65726C6A
+=mod:user_sup
+Current size: 2355
+Current attributes: 836C00000002680264000376736E6C000000016E100074BA860804CB4D60D6908C705E6544BD6A68026400096265686176696F75726C0000000164001173757065727669736F725F6272696467656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361246802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F757365725F7375702E65726C6A
+=mod:supervisor_bridge
+Current size: 2944
+Current attributes: 836C00000002680264000376736E6C000000016E10001590DDC10CF8A9D09763CDB7479678ED6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61156802640006736F757263656B00382F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F73757065727669736F725F6272696467652E65726C6A
+=mod:user_drv
+Current size: 14630
+Current attributes: 836C00000001680264000376736E6C000000016E1000F29F3B193A1EB1ADA9975D97E51BF0E86A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361216802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F757365725F6472762E65726C6A
+=mod:group
+Current size: 10165
+Current attributes: 836C00000001680264000376736E6C000000016E1000F6427D0DA330BBFAD5D4C19058516FF36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261066802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F67726F75702E65726C6A
+=mod:io_lib
+Current size: 12601
+Current attributes: 836C00000002680264000376736E6C000000016E10004160DD78F37EE7C72F7C5B6A751DB7F56A680264000A646570726563617465646C0000000468026400047363616E610168026400047363616E610268026400047363616E6103680264000D72657365727665645F776F726461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61036802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69622E65726C6A
+=mod:edlin
+Current size: 18178
+Current attributes: 836C00000001680264000376736E6C000000016E100035D752FCBA8ED7F4D26990EF3E6A1A526A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C61016802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65646C696E2E65726C6A
+=mod:io_lib_format
+Current size: 16189
+Current attributes: 836C00000001680264000376736E6C000000016E10004F382F327C456F83F33C3D5EBFBD87906A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61066802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69625F666F726D61742E65726C6A
+=mod:kernel_config
+Current size: 3295
+Current attributes: 836C00000002680264000376736E6C000000016E100077B8EE6C9E95FBBE5DB0371F6DB235226A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261356802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6B65726E656C5F636F6E6669672E65726C6A
+=mod:shell
+Current size: 22571
+Current attributes: 836C00000001680264000376736E6C000000016E10007D1354325618EB98A5BD4E8F41E6A0226A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61016802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7368656C6C2E65726C6A
+=mod:error_logger_tty_h
+Current size: 7773
+Current attributes: 836C00000002680264000376736E6C000000016E10001502D55D6C1777F07E2E05CDD91D16986A68026400096265686176696F75726C0000000164000967656E5F6576656E746A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61196802640006736F757263656B00392F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6572726F725F6C6F676765725F7474795F682E65726C6A
+=mod:erl_eval
+Current size: 33481
+Current attributes: 836C00000002680264000376736E6C000000016E1000D06903753C86BBC49A5CBD789CCB09B66A680264000A646570726563617465646C00000004680264000373657161026802640003736571610368026400086172675F6C697374610268026400086172675F6C69737461036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C610D6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F6576616C2E65726C6A
+=mod:orddict
+Current size: 4872
+Current attributes: 836C00000002680264000376736E6C000000016E100078DCF69F3949D79BC54168266A3ABF566A680264000A646570726563617465646C00000002680264000C646963745F746F5F6C6973746101680264000C6C6973745F746F5F6469637461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61236802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F7264646963742E65726C6A
+=mod:c
+Current size: 19555
+Current attributes: 836C00000001680264000376736E6C000000016E10003FACCF5DE16ABBC988ABF0811980C33B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61136802640006736F757263656B00282F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F632E65726C6A
+=mod:io
+Current size: 7417
+Current attributes: 836C00000002680264000376736E6C000000016E1000E2F2A6094B3C3D945865225D0620E7546A680264000A646570726563617465646C00000007680264000B70617273655F65787072736102680264000C7363616E5F65726C5F7365716101680264000C7363616E5F65726C5F7365716102680264000C7363616E5F65726C5F7365716103680264000D70617273655F65726C5F7365716101680264000D70617273655F65726C5F7365716102680264000D70617273655F65726C5F73657161036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61006802640006736F757263656B00292F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F2E65726C6A
+=mod:file
+Current size: 20795
+Current attributes: 836C00000002680264000376736E6C000000016E1000D291AF77EE8B08B792B7FE99274504506A680264000A646570726563617465646C00000001680264000966696C655F696E666F61016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161276802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C652E65726C6A
+=mod:file_io_server
+Current size: 12071
+Current attributes: 836C00000001680264000376736E6C000000016E1000A5A8C4E2B2646855AD5C617CB216CB966A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612A6802640006736F757263656B00352F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C655F696F5F7365727665722E65726C6A
+=mod:erl_scan
+Current size: 21891
+Current attributes: 836C00000001680264000376736E6C000000016E100094F386F0C378B258E5D9CEADD4F03B6A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61116802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F7363616E2E65726C6A
+=mod:erl_parse
+Current size: 161233
+Current attributes: 836C00000001680264000376736E6C000000016E10000E8CBC32C293BFC1FBC721CE918062236A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000968026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F76617273640006696E6C696E656802640004686970656C000000016802640008726567616C6C6F6364000B6C696E6561725F7363616E6A6A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61076802640006736F757263656B00302F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F70617273652E65726C6A
+=mod:erl_lint
+Current size: 73159
+Current attributes: 836C00000001680264000376736E6C000000016E1000D1D2A7D6DDFD1195CB180993C76FD2CD6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C61156802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F6C696E742E65726C6A
+=mod:ordsets
+Current size: 3257
+Current attributes: 836C00000002680264000376736E6C000000016E1000FD39D8FD846511128F5670BA28600F676A680264000A646570726563617465646C0000000468026400076E65775F7365746100680264000B7365745F746F5F6C6973746101680264000B6C6973745F746F5F7365746101680264000673756273657461026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61256802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F7264736574732E65726C6A
+=mod:dict
+Current size: 15637
+Current attributes: 836C00000002680264000376736E6C000000016E1000BC846E7EF85045A5D76190CE9B1AE97C6A680264000A646570726563617465646C00000002680264000C646963745F746F5F6C6973746101680264000C6C6973745F746F5F6469637461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61356802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F646963742E65726C6A
+=mod:otp_internal
+Current size: 7133
+Current attributes: 836C00000001680264000376736E6C000000016E1000DC494F64DE590AFC4919DFEB0EB026B66A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61206802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F74705F696E7465726E616C2E65726C6A
+=mod:user_default
+Current size: 1261
+Current attributes: 836C00000002680264000376736E6C000000016E1000505078ACD9B84D514FC6DA2BE249E6756A6802640006617574686F726C0000000164001765656973686E6E406565692E6572696373736F6E2E73656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000368026400036377646B00112F686F6D652F736972692F65726C616E6768026400066F75746469726B00112F686F6D652F736972692F65726C616E676400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461036116610D612C61126802640006736F757263656B00222F686F6D652F736972692F65726C616E672F757365725F64656661756C742E65726C6A
+=mod:tt
+Current size: 2959
+Current attributes: 836C00000002680264000376736E6C000000016E10001D71FD5A55D3BCBF06BFEDF2426C3C386A6802640006617574686F726C0000000164001765656973686E6E406565692E6572696373736F6E2E73656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000368026400036377646B00112F686F6D652F736972692F65726C616E6768026400066F75746469726B00112F686F6D652F736972692F65726C616E676400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461036116610D612B610C6802640006736F757263656B00182F686F6D652F736972692F65726C616E672F74742E65726C6A
+=mod:distel
+Current size: 18214
+Current attributes: 836C00000002680264000376736E6C000000016E1000CC9C9EF141459249C1CCA00993B2E29A6A6802640006617574686F726C000000016400116C756B6540626C75657461696C2E636F6D6A6A
+Current compilation info: 836C0000000368026400076F7074696F6E736C0000000664000276336400107761726E5F756E757365645F7661727364000A64656275675F696E666F68026400066F75746469726B00046562696E68026400036377646B001C2F6C6469736B2F736972692F746F6F6C732F64697374656C2D332E3164000A6578706F72745F616C6C6A680264000776657273696F6E6B0003342E31680264000474696D65680662000007D2610B6114610B610361336A
+=mod:crashdump_viewer
+Current size: 125756
+Current attributes: 836C00000001680264000376736E6C000000016E10002DC5D9D96190A2D5F27FAC3FA3D5C7956A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F76617273680264000F70617273655F7472616E73666F726D64000C6D735F7472616E73666F726D6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461146108611B61366802640006736F757263656B00362F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7669657765722E65726C6A
+=mod:webtool
+Current size: 29229
+Current attributes: 836C00000002680264000376736E6C000000016E10008AEEF06B60527A3390CBC2C98083CC0A6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00202F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F73726368026400066F75746469726B00282F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F2E2E2F6562696E64000A64656275675F696E666F6400107761726E5F756E757365645F76617273680264000F70617273655F7472616E73666F726D64000C6D735F7472616E73666F726D6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104610661086106612D6802640006736F757263656B002C2F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F776562746F6F6C2E65726C6A
+=mod:gen_tcp
+Current size: 3574
+Current attributes: 836C00000001680264000376736E6C000000016E1000C965E4EAFDAA94D7F21EDCBE30B21E7B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161316802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F67656E5F7463702E65726C6A
+=mod:inet_tcp
+Current size: 2743
+Current attributes: 836C00000001680264000376736E6C000000016E1000C4AFE0B49768E4CF78B2C42EA1D3DB7F6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132612B6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F7463702E65726C6A
+=mod:inet_gethost_native
+Current size: 15611
+Current attributes: 836C00000002680264000376736E6C000000016E10005D8CD4277D0BD2425B9C26036AE314506A68026400096265686176696F75726C0000000164001173757065727669736F725F6272696467656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261206802640006736F757263656B003A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F676574686F73745F6E61746976652E65726C6A
+=mod:filelib
+Current size: 7202
+Current attributes: 836C00000001680264000376736E6C000000016E10007B42AA23FF99DF2CD9D586635B77556A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61266802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F66696C656C69622E65726C6A
+=mod:httpd_util
+Current size: 24068
+Current attributes: 836C00000002680264000376736E6C000000016E10008D99E096221B88D542E52CB9C8377F6D6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128613B6802640006736F757263656B00312F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F7574696C2E65726C6A
+=mod:webtool_sup
+Current size: 695
+Current attributes: 836C00000002680264000376736E6C000000016E1000FA5449E12816CF3AD0A3085BB26CDB9B6A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000468026400036377646B00202F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F73726368026400066F75746469726B00282F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F2E2E2F6562696E64000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461066108610761236802640006736F757263656B00302F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F776562746F6F6C5F7375702E65726C6A
+=mod:httpd_conf
+Current size: 33659
+Current attributes: 836C00000002680264000376736E6C000000016E1000E3198FBDC73BC48CB7D0C1C762B8F1AB6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861116802640006736F757263656B00312F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F636F6E662E65726C6A
+=mod:regexp
+Current size: 13698
+Current attributes: 836C00000001680264000376736E6C000000016E10009DD44F3D02F8328BE3ABF4DDA89E0CAE6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61376802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7265676578702E65726C6A
+=mod:string
+Current size: 7740
+Current attributes: 836C00000002680264000376736E6C000000016E10005521DDF38903D46D7C53DB864266F7456A680264000A646570726563617465646C00000007680264000C72655F73685F746F5F61776B6101680264000872655F70617273656101680264000872655F6D617463686102680264000672655F7375626103680264000772655F677375626103680264000872655F73706C697461026802640005696E64657861026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F610F6802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F737472696E672E65726C6A
+=mod:httpd
+Current size: 7563
+Current attributes: 836C00000002680264000376736E6C000000016E1000BFD190D951EB3CAD2CC72ADEF20886906A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861036802640006736F757263656B002C2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470642E65726C6A
+=mod:httpd_sup
+Current size: 4068
+Current attributes: 836C00000003680264000376736E6C000000016E10007FA5C790118F18F3D20A2BFAF0229F0A6A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861366802640006736F757263656B00302F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F7375702E65726C6A
+=mod:httpd_acceptor_sup
+Current size: 2161
+Current attributes: 836C00000003680264000376736E6C000000016E10003E6F9289B64C13F1EC8A1184BACF055F6A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128610C6802640006736F757263656B00392F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6163636570746F725F7375702E65726C6A
+=mod:httpd_verbosity
+Current size: 2672
+Current attributes: 836C00000002680264000376736E6C000000016E100018B6F407D391872421748F87877DAAF36A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961036802640006736F757263656B00362F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F766572626F736974792E65726C6A
+=mod:timer
+Current size: 8223
+Current attributes: 836C00000001680264000376736E6C000000016E10001D0D64DB1B923D1B3B9497655C43B4AD6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F611A6802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F74696D65722E65726C6A
+=mod:httpd_misc_sup
+Current size: 2066
+Current attributes: 836C00000003680264000376736E6C000000016E100092342F38AC16C074DDC21532FBFB52C26A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128611F6802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6D6973635F7375702E65726C6A
+=mod:httpd_manager
+Current size: 28916
+Current attributes: 836C00000003680264000376736E6C000000016E100013F7A1E6A4B6407A0A1892A794EE10A36A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128611B6802640006736F757263656B00342F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6D616E616765722E65726C6A
+=mod:mod_alias
+Current size: 6720
+Current attributes: 836C00000002680264000376736E6C000000016E10002F35C36060B4AC45474440381D146AB96A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961106802640006736F757263656B00302F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F616C6961732E65726C6A
+=mod:mod_auth
+Current size: 25168
+Current attributes: 836C00000002680264000376736E6C000000016E100083F3CA0C7A3E7B5E19A635A7F916595D6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961166802640006736F757263656B002F2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F617574682E65726C6A
+=mod:mod_esi
+Current size: 22534
+Current attributes: 836C00000002680264000376736E6C000000016E1000513E3FF733E1E6592B86CB55B9C14E086A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61026802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6573692E65726C6A
+=mod:mod_actions
+Current size: 3625
+Current attributes: 836C00000002680264000376736E6C000000016E10008E5437921662830490CA76DFF88548966A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066129610C6802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F616374696F6E732E65726C6A
+=mod:mod_cgi
+Current size: 25891
+Current attributes: 836C00000002680264000376736E6C000000016E1000F91D405488188F1BD25110B4ED9EE8786A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961306802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6367692E65726C6A
+=mod:mod_include
+Current size: 34923
+Current attributes: 836C00000002680264000376736E6C000000016E1000B9CCE88D63DD6AC49D5DF533C46B97D56A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61176802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F696E636C7564652E65726C6A
+=mod:mod_dir
+Current size: 13488
+Current attributes: 836C00000002680264000376736E6C000000016E1000EF620CB4B5DE5586ED681347496DA1C86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961356802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6469722E65726C6A
+=mod:mod_get
+Current size: 4672
+Current attributes: 836C00000002680264000376736E6C000000016E1000AD2730B6BE6AF875A500AF4857C4D7F86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61076802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6765742E65726C6A
+=mod:mod_head
+Current size: 3074
+Current attributes: 836C00000002680264000376736E6C000000016E1000CAF803B9FA6A28D4153BC109B00D7DF96A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A610B6802640006736F757263656B002F2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F686561642E65726C6A
+=mod:mod_log
+Current size: 8546
+Current attributes: 836C00000002680264000376736E6C000000016E1000F9664B54861260DEA081249379219AF86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A611B6802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6C6F672E65726C6A
+=mod:mod_disk_log
+Current size: 15160
+Current attributes: 836C00000002680264000376736E6C000000016E1000DDA1E88A9C423A2866B56425DF36F5C66A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961396802640006736F757263656B00332F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6469736B5F6C6F672E65726C6A
+=mod:httpd_socket
+Current size: 7426
+Current attributes: 836C00000002680264000376736E6C000000016E1000B831219096661E4D2E200A07C4A9A7776A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861326802640006736F757263656B00332F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F736F636B65742E65726C6A
+=mod:httpd_acceptor
+Current size: 4472
+Current attributes: 836C00000002680264000376736E6C000000016E1000A501686DF4E4053E7D978E0CA162BEC56A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861076802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6163636570746F722E65726C6A
+=mod:io_lib_pretty
+Current size: 8171
+Current attributes: 836C00000001680264000376736E6C000000016E1000CD397E11D2D380D02A4BC6EE309B98CB6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E610C6802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69625F7072657474792E65726C6A
+=mod:httpd_request_handler
+Current size: 26393
+Current attributes: 836C00000002680264000376736E6C000000016E100021C280A5EB5B9CCD00A2C418A341202A6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861296802640006736F757263656B003C2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F726571756573745F68616E646C65722E65726C6A
+=mod:calendar
+Current size: 7158
+Current attributes: 836C00000002680264000376736E6C000000016E10008C44498546709037F8D72DA4AF8B7FB76A680264000A646570726563617465646C00000001680264001C6C6F63616C5F74696D655F746F5F756E6976657273616C5F74696D6561016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61166802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F63616C656E6461722E65726C6A
+=mod:httpd_parse
+Current size: 9977
+Current attributes: 836C00000002680264000376736E6C000000016E1000174653BAA652261FEB44FFDED99E50B76A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861246802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F70617273652E65726C6A
+=mod:httpd_response
+Current size: 13535
+Current attributes: 836C00000002680264000376736E6C000000016E1000785B247D894BA08A40D814EF11F848976A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128612D6802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F726573706F6E73652E65726C6A
+=mod:crashdump_viewer_html
+Current size: 68343
+Current attributes: 836C00000001680264000376736E6C000000016E1000AE414770FDB0806C5583FF8D6D71DC766A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461146108611C61026802640006736F757263656B003B2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7669657765725F68746D6C2E65726C6A
+=mod:crashdump_translate
+Current size: 89840
+Current attributes: 836C00000001680264000376736E6C000000016E100038F332287181E933A76CEF4799BDB6416A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000668026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461046115610B611661106802640006736F757263656B00392F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7472616E736C6174652E65726C6A
+=fun
+Module: crashdump_viewer_html
+Uniq: 9122590
+Index: 0
+Address: 526308
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 77168418
+Index: 14
+Address: 26541c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 88083515
+Index: 9
+Address: 284c30
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 36747896
+Index: 4
+Address: 26df84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 80395734
+Index: 8
+Address: 265838
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 103184573
+Index: 5
+Address: 2fa59c
+Native_address: bce80
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 88265811
+Index: 24
+Address: 34f6a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 9644262
+Index: 2
+Address: 292cec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 100885585
+Index: 0
+Address: 29eb2c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 128335479
+Index: 6
+Address: 26de84
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_prim_loader
+Uniq: 42988083
+Index: 1
+Address: 210c14
+Native_address: bcf04
+Refc: 1
+=fun
+Module: dict
+Uniq: 7105125
+Index: 7
+Address: 354f84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 29030584
+Index: 8
+Address: 234978
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 29214351
+Index: 2
+Address: 285660
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 5158633
+Index: 4
+Address: 274034
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 74624950
+Index: 25
+Address: 34f63c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 6477018
+Index: 3
+Address: 2adb6c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 117885138
+Index: 7
+Address: 2ffff8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 47566924
+Index: 6
+Address: 354fb8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 114637756
+Index: 12
+Address: 313c60
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 121316204
+Index: 31
+Address: 313a68
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61363639
+Index: 12
+Address: 2ad6a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 116208699
+Index: 3
+Address: 274094
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 113750737
+Index: 0
+Address: 292d54
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 12853672
+Index: 0
+Address: 222e74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108046357
+Index: 12
+Address: 4ab0b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 111569299
+Index: 47
+Address: 34e80c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 20108653
+Index: 15
+Address: 2f9f94
+Native_address: bcea4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 45252965
+Index: 15
+Address: 313c0c
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 12437425
+Index: 9
+Address: 4ab3e0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 30942993
+Index: 22
+Address: 34f6ec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 93430337
+Index: 3
+Address: 33b100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 6604883
+Index: 2
+Address: 33b16c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 36867745
+Index: 5
+Address: 255e28
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 90563105
+Index: 1
+Address: 285708
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 18519297
+Index: 7
+Address: 26ddfc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 8058975
+Index: 16
+Address: 4a36b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 30694569
+Index: 7
+Address: 27d018
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 76933943
+Index: 0
+Address: 2741b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 9033258
+Index: 6
+Address: 4a4690
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 74851752
+Index: 5
+Address: 4a4798
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global
+Uniq: 50855382
+Index: 4
+Address: 2659a8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 39211582
+Index: 52
+Address: 34e504
+Native_address: bceec
+Refc: 1
+=fun
+Module: file_server
+Uniq: 77665472
+Index: 0
+Address: 2a0dec
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 57487277
+Index: 8
+Address: 2fa3c4
+Native_address: bce94
+Refc: 1
+=fun
+Module: webtool
+Uniq: 87386575
+Index: 11
+Address: 4ab1c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 58991950
+Index: 8
+Address: 4a4338
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 118859163
+Index: 17
+Address: 4a34d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 38265609
+Index: 12
+Address: 354dec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 56903339
+Index: 1
+Address: 2527c4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_hosts
+Uniq: 129504763
+Index: 0
+Address: 28aae8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 44817307
+Index: 10
+Address: 354e3c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 52856894
+Index: 41
+Address: 34eb70
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 22623360
+Index: 23
+Address: 34f5d4
+Native_address: bceec
+Refc: 1
+=fun
+Module: orddict
+Uniq: 34963136
+Index: 0
+Address: 2fbbbc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erlang
+Uniq: 24496633
+Index: 0
+Address: 213744
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 99313855
+Index: 27
+Address: 2f9914
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 99137703
+Index: 3
+Address: 4b5dfc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 124043500
+Index: 3
+Address: 222b84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 102650878
+Index: 22
+Address: 313b48
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 13333720
+Index: 12
+Address: 34fb2c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global_group
+Uniq: 133457
+Index: 5
+Address: 292a80
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 64640983
+Index: 4
+Address: 29e944
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 7580218
+Index: 2
+Address: 255f08
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 131850870
+Index: 59
+Address: 34e6b8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 56617403
+Index: 10
+Address: 284b40
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108680306
+Index: 4
+Address: 4ab5e0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 90880071
+Index: 2
+Address: 26e150
+Native_address: bcefc
+Refc: 1
+=fun
+Module: file_io_server
+Uniq: 23980778
+Index: 0
+Address: 30ac30
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 12006418
+Index: 19
+Address: 2f9d54
+Native_address: bce80
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 81701030
+Index: 8
+Address: 526228
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 71013875
+Index: 1
+Address: 4a4ddc
+Native_address: bcf04
+Refc: 1
+=fun
+Module: distel
+Uniq: 87740845
+Index: 2
+Address: 35c0e0
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 90782401
+Index: 17
+Address: 2f9e8c
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 133882676
+Index: 6
+Address: 2e52ac
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 105698088
+Index: 3
+Address: 2855b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 58370899
+Index: 0
+Address: 27d370
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 15274536
+Index: 25
+Address: 2f9a94
+Native_address: bcef4
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 94349557
+Index: 0
+Address: 252844
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 33328185
+Index: 1
+Address: 33b1d8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 86971387
+Index: 16
+Address: 313db0
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 53364473
+Index: 38
+Address: 34ee84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 128145687
+Index: 0
+Address: 4ab944
+Native_address: bcee4
+Refc: 1
+=fun
+Module: c
+Uniq: 98651404
+Index: 10
+Address: 2fff20
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 78224618
+Index: 0
+Address: 313dcc
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 40779085
+Index: 11
+Address: 2e50c8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: c
+Uniq: 93517350
+Index: 4
+Address: 300090
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 58551291
+Index: 0
+Address: 234f14
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 10055518
+Index: 17
+Address: 526170
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 15795706
+Index: 19
+Address: 313bd4
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 31129467
+Index: 13
+Address: 313c44
+Native_address: bced4
+Refc: 1
+=fun
+Module: old_file_server
+Uniq: 115635393
+Index: 0
+Address: 2a1a4c
+Native_address: bcf04
+Refc: 2
+=fun
+Module: erl_eval
+Uniq: 65839696
+Index: 22
+Address: 2f9c00
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 69275064
+Index: 28
+Address: 313aa0
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 55938066
+Index: 11
+Address: 354d6c
+Native_address: bceec
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 22323433
+Index: 3
+Address: 252688
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 129726129
+Index: 29
+Address: 313abc
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 84346832
+Index: 0
+Address: 3550fc
+Native_address: bceec
+Refc: 1
+=fun
+Module: shell
+Uniq: 102096820
+Index: 7
+Address: 2e5290
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 70385762
+Index: 11
+Address: 27cf44
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_cgi
+Uniq: 1483038
+Index: 0
+Address: 4ec2e8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 3664813
+Index: 1
+Address: 3550b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet
+Uniq: 131143671
+Index: 6
+Address: 27d08c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 46286977
+Index: 2
+Address: 2740b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_esi
+Uniq: 49099432
+Index: 0
+Address: 4e522c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_master
+Uniq: 95764905
+Index: 2
+Address: 24aaa8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: packages
+Uniq: 62890926
+Index: 0
+Address: 2ae814
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 41564771
+Index: 35
+Address: 3139f8
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 95490768
+Index: 0
+Address: 4a4dc0
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 121559432
+Index: 3
+Address: 313d78
+Native_address: bced4
+Refc: 1
+=fun
+Module: httpd_conf
+Uniq: 21152662
+Index: 0
+Address: 4be5a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 41630916
+Index: 5
+Address: 29e914
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 19747201
+Index: 5
+Address: 313d24
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 100584837
+Index: 36
+Address: 34f0f4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 64635712
+Index: 15
+Address: 34f94c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 46398361
+Index: 3
+Address: 29e9a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 86699817
+Index: 27
+Address: 313b2c
+Native_address: bced4
+Refc: 1
+=fun
+Module: distel
+Uniq: 40869731
+Index: 0
+Address: 35c12c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet
+Uniq: 83701641
+Index: 1
+Address: 27d33c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_auth
+Uniq: 85845790
+Index: 0
+Address: 4dfd84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 101292714
+Index: 9
+Address: 2e519c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 134173702
+Index: 1
+Address: 265b68
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 92433687
+Index: 6
+Address: 2ad9f4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 62315241
+Index: 8
+Address: 354f38
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 11615541
+Index: 12
+Address: 265530
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 11160090
+Index: 2
+Address: 2b6bb4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 12116524
+Index: 15
+Address: 2342c4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 61620901
+Index: 2
+Address: 4fc670
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 23665189
+Index: 12
+Address: 4a3b94
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 43844413
+Index: 0
+Address: 300100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 100514258
+Index: 6
+Address: 313d08
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 54271286
+Index: 17
+Address: 34f8a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 47017252
+Index: 3
+Address: 26dfa0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 1228304
+Index: 7
+Address: 4a45a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 127131470
+Index: 10
+Address: 2655a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: file_server
+Uniq: 22638227
+Index: 1
+Address: 2a0e20
+Native_address: bcf04
+Refc: 1
+=fun
+Module: code_server
+Uniq: 112704920
+Index: 15
+Address: 2ad488
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 88302875
+Index: 2
+Address: 2fa76c
+Native_address: bceb4
+Refc: 1
+=fun
+Module: inet_hosts
+Uniq: 85808984
+Index: 1
+Address: 28ab18
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 106391799
+Index: 0
+Address: 33b22c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 25830519
+Index: 5
+Address: 27d0c0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 110491036
+Index: 1
+Address: 2e5398
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 13128736
+Index: 5
+Address: 52627c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 84644982
+Index: 21
+Address: 313b9c
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 120577486
+Index: 3
+Address: 34fffc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 4504456
+Index: 44
+Address: 34e938
+Native_address: bceec
+Refc: 1
+=fun
+Module: mod_disk_log
+Uniq: 28754183
+Index: 0
+Address: 500140
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 88043334
+Index: 14
+Address: 313c28
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61592373
+Index: 0
+Address: 2adc28
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 74468346
+Index: 26
+Address: 313ad8
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 69896253
+Index: 21
+Address: 2f9c40
+Native_address: bce80
+Refc: 1
+=fun
+Module: global_group
+Uniq: 59656873
+Index: 4
+Address: 292ac0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 103891261
+Index: 2
+Address: 4a4d70
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 89619733
+Index: 0
+Address: 4b5e64
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 133201466
+Index: 10
+Address: 2e5180
+Native_address: bceec
+Refc: 1
+=fun
+Module: webtool
+Uniq: 32159369
+Index: 2
+Address: 4ab820
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 76861396
+Index: 2
+Address: 2adbb0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 48206487
+Index: 0
+Address: 4fc6f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 118996551
+Index: 28
+Address: 34f384
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 12593774
+Index: 50
+Address: 34e60c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_request_handler
+Uniq: 48542841
+Index: 1
+Address: 50e88c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 56178490
+Index: 9
+Address: 4a420c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: distel
+Uniq: 88212576
+Index: 4
+Address: 35bf44
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 79562132
+Index: 29
+Address: 34f368
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 129524917
+Index: 32
+Address: 34f2c0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54029891
+Index: 23
+Address: 2f9af0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 108872092
+Index: 4
+Address: 27d0f0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 40905124
+Index: 6
+Address: 234ac0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 50124876
+Index: 10
+Address: 2ad760
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 791358
+Index: 48
+Address: 34e7b0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 18404828
+Index: 24
+Address: 313af4
+Native_address: bced4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 13278653
+Index: 1
+Address: 4b5e48
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 110307423
+Index: 13
+Address: 284a7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 99592247
+Index: 0
+Address: 256118
+Native_address: bcf04
+Refc: 1
+=fun
+Module: global
+Uniq: 99918211
+Index: 2
+Address: 265af4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 71442319
+Index: 27
+Address: 34f510
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 7612785
+Index: 13
+Address: 2fa0fc
+Native_address: bce80
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 56095795
+Index: 15
+Address: 4a38a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 23626796
+Index: 25
+Address: 313b10
+Native_address: bced4
+Refc: 1
+=fun
+Module: file_server
+Uniq: 126074974
+Index: 2
+Address: 2a0cac
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 104278122
+Index: 1
+Address: 274154
+Native_address: bcefc
+Refc: 1
+=fun
+Module: sys
+Uniq: 90854051
+Index: 0
+Address: 240344
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 113334594
+Index: 2
+Address: 313d5c
+Native_address: bced4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 8832142
+Index: 7
+Address: 284e30
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 9159706
+Index: 42
+Address: 34eb54
+Native_address: bceec
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 123946665
+Index: 8
+Address: 26e494
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 3149789
+Index: 1
+Address: 5262d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 48288621
+Index: 11
+Address: 2ffed8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 8953292
+Index: 20
+Address: 4a4d54
+Native_address: bcee4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 9632158
+Index: 4
+Address: 34ff88
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 31111567
+Index: 7
+Address: 29e8c8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 85307443
+Index: 10
+Address: 2fa29c
+Native_address: bcec4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 104417191
+Index: 7
+Address: 313cd0
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 43625777
+Index: 5
+Address: 354fec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 92698798
+Index: 3
+Address: 4ab780
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 39074546
+Index: 6
+Address: 2fa54c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 71451126
+Index: 5
+Address: 234b98
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 122084387
+Index: 6
+Address: 300038
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 9625924
+Index: 14
+Address: 284a60
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 128777368
+Index: 11
+Address: 313c7c
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 10203723
+Index: 7
+Address: 4ab4f8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 35032400
+Index: 10
+Address: 313c98
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 17252586
+Index: 34
+Address: 313a14
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 7177165
+Index: 11
+Address: 2ad734
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 115778175
+Index: 3
+Address: 4a4930
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 96440880
+Index: 51
+Address: 34e590
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 68275407
+Index: 0
+Address: 2b7340
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 88854488
+Index: 16
+Address: 2f9f04
+Native_address: bcebc
+Refc: 1
+=fun
+Module: global
+Uniq: 26353848
+Index: 13
+Address: 2654e8
+Native_address: bcf04
+Refc: 3
+=fun
+Module: global
+Uniq: 93414722
+Index: 11
+Address: 265568
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 11194189
+Index: 60
+Address: 34fe0c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: c
+Uniq: 125189992
+Index: 8
+Address: 2fffdc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 112472016
+Index: 2
+Address: 355088
+Native_address: bceec
+Refc: 1
+=fun
+Module: shell
+Uniq: 104426442
+Index: 5
+Address: 2e52e0
+Native_address: bceec
+Refc: 1
+=fun
+Module: global
+Uniq: 17426458
+Index: 0
+Address: 265bc4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 81191039
+Index: 5
+Address: 2ada48
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 71765042
+Index: 5
+Address: 284f74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 85855821
+Index: 2
+Address: 1fa298
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 70586122
+Index: 10
+Address: 4a3fe4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 87067911
+Index: 49
+Address: 34e708
+Native_address: bcef4
+Refc: 1
+=fun
+Module: distel
+Uniq: 63126735
+Index: 1
+Address: 35c0fc
+Native_address: bcf04
+Refc: 1
+=fun
+Module: c
+Uniq: 58270309
+Index: 1
+Address: 3000e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: ets
+Uniq: 80538457
+Index: 1
+Address: 2bc1a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 69827241
+Index: 9
+Address: 34fd70
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 103968752
+Index: 3
+Address: 355054
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 117175573
+Index: 21
+Address: 34f728
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 57865450
+Index: 2
+Address: 2e537c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 14705965
+Index: 20
+Address: 313b80
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 85360931
+Index: 6
+Address: 4ab56c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: kernel_config
+Uniq: 41755598
+Index: 0
+Address: 2d9e20
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 7110547
+Index: 37
+Address: 34ef14
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 28091577
+Index: 16
+Address: 234244
+Native_address: bcef4
+Refc: 2
+=fun
+Module: code_server
+Uniq: 96448152
+Index: 14
+Address: 2ad4e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 40177568
+Index: 13
+Address: 4a39a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 31948320
+Index: 58
+Address: 34dfdc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global
+Uniq: 54153760
+Index: 7
+Address: 265854
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 60156260
+Index: 3
+Address: 5262b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 1010616
+Index: 2
+Address: 350064
+Native_address: bcef4
+Refc: 1
+=fun
+Module: init
+Uniq: 96784459
+Index: 1
+Address: 1fa2b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 48691771
+Index: 18
+Address: 313bb8
+Native_address: bced4
+Refc: 1
+=fun
+Module: global
+Uniq: 26895060
+Index: 9
+Address: 265710
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 109625093
+Index: 7
+Address: 2ad8fc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 59436171
+Index: 1
+Address: 3500dc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 92768306
+Index: 9
+Address: 354f04
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 106430008
+Index: 3
+Address: 292b38
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 79749196
+Index: 6
+Address: 1fa01c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 6014929
+Index: 9
+Address: 2fa324
+Native_address: bceac
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 57051922
+Index: 7
+Address: 234a28
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 77043468
+Index: 6
+Address: 29e8e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 36176045
+Index: 9
+Address: 52620c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 35862809
+Index: 3
+Address: 255edc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 113649451
+Index: 4
+Address: 2850a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 67943969
+Index: 5
+Address: 2658f4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 109003032
+Index: 16
+Address: 5260d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 104711447
+Index: 13
+Address: 525f5c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 107666872
+Index: 9
+Address: 27cfb0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 89410000
+Index: 10
+Address: 5261f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 47356870
+Index: 11
+Address: 284ab4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 17873449
+Index: 56
+Address: 34e1e8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 8839441
+Index: 33
+Address: 34f25c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 82513204
+Index: 2
+Address: 222c18
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_master
+Uniq: 5973059
+Index: 0
+Address: 24ab7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_gethost_native
+Uniq: 127832132
+Index: 0
+Address: 4b065c
+Native_address: bcefc
+Refc: 2
+=fun
+Module: crashdump_viewer_html
+Uniq: 39322658
+Index: 14
+Address: 525f40
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_server
+Uniq: 100284021
+Index: 0
+Address: 23d288
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 17430070
+Index: 12
+Address: 284a98
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 97509773
+Index: 3
+Address: 1fa27c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: distel
+Uniq: 32364818
+Index: 3
+Address: 35c050
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 58576084
+Index: 32
+Address: 313a4c
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 38384851
+Index: 14
+Address: 4a3988
+Native_address: bceec
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 14139883
+Index: 4
+Address: 234d78
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 122590256
+Index: 0
+Address: 2fa8b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 14705629
+Index: 11
+Address: 2fa22c
+Native_address: bcedc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 9273769
+Index: 4
+Address: 2fa684
+Native_address: bcee4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 87950142
+Index: 11
+Address: 5261d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 54913678
+Index: 1
+Address: 4fc6b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 28370334
+Index: 0
+Address: 26e4b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 24927227
+Index: 40
+Address: 34ed4c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 105437500
+Index: 33
+Address: 313a30
+Native_address: bced4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 10921695
+Index: 1
+Address: 234eac
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 112431564
+Index: 55
+Address: 34e22c
+Native_address: bceec
+Refc: 1
+=fun
+Module: webtool
+Uniq: 129460863
+Index: 5
+Address: 4ab5c4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 89001648
+Index: 3
+Address: 27d2ec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 36199507
+Index: 8
+Address: 27cfe4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 35620771
+Index: 2
+Address: 5262ec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 83214871
+Index: 18
+Address: 2f9e34
+Native_address: bceec
+Refc: 1
+=fun
+Module: code_server
+Uniq: 122455383
+Index: 1
+Address: 2adc0c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 22389488
+Index: 31
+Address: 34f1b8
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 41869059
+Index: 12
+Address: 2fa1d4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 18130505
+Index: 45
+Address: 34e904
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 107414126
+Index: 1
+Address: 2b706c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 116638945
+Index: 28
+Address: 2f98f8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 48465762
+Index: 9
+Address: 2348c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_request_handler
+Uniq: 87633852
+Index: 0
+Address: 50e97c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 28213098
+Index: 8
+Address: 4ab42c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 123630574
+Index: 4
+Address: 222b58
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 127425508
+Index: 13
+Address: 354eb4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 95048118
+Index: 16
+Address: 2ad46c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 108661978
+Index: 19
+Address: 34f75c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 21272619
+Index: 13
+Address: 34fad8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 29943747
+Index: 17
+Address: 313bf0
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 120240397
+Index: 4
+Address: 313d94
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 124060676
+Index: 0
+Address: 350124
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 100975346
+Index: 6
+Address: 526260
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61421476
+Index: 4
+Address: 2ada9c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 45197232
+Index: 7
+Address: 34fe5c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 3151900
+Index: 15
+Address: 525f24
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 77509245
+Index: 2
+Address: 4b5e2c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 94110229
+Index: 8
+Address: 2ad7e4
+Native_address: bcef4
+Refc: 3
+=fun
+Module: rpc
+Uniq: 101217130
+Index: 1
+Address: 2560c4
+Native_address: bcf04
+Refc: 1
+=fun
+Module: lists
+Uniq: 103647452
+Index: 0
+Address: 244b7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 37841211
+Index: 9
+Address: 2ad77c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 40109251
+Index: 54
+Address: 34e2b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: init
+Uniq: 98012300
+Index: 0
+Address: 1fa2d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 73604759
+Index: 10
+Address: 4ab270
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 12042434
+Index: 1
+Address: 313d40
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 127137775
+Index: 4
+Address: 2e531c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet
+Uniq: 45498037
+Index: 12
+Address: 27cec0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 122441107
+Index: 34
+Address: 34f1d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 70933889
+Index: 46
+Address: 34e8d0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet
+Uniq: 69850797
+Index: 2
+Address: 27d308
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 103965539
+Index: 13
+Address: 234684
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 29979659
+Index: 30
+Address: 313a84
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 17148721
+Index: 20
+Address: 34f778
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_response
+Uniq: 100673049
+Index: 0
+Address: 5165dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_gethost_native
+Uniq: 10508176
+Index: 1
+Address: 4b04dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32476064
+Index: 57
+Address: 34e1c4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 74835078
+Index: 9
+Address: 313cec
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 60689814
+Index: 19
+Address: 4a3b78
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 39269715
+Index: 5
+Address: 34ff14
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 112923172
+Index: 0
+Address: 2e5404
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 43010824
+Index: 14
+Address: 2fa03c
+Native_address: bce8c
+Refc: 1
+=fun
+Module: global
+Uniq: 82495254
+Index: 3
+Address: 265ac8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 48568081
+Index: 8
+Address: 2e5220
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 77236637
+Index: 7
+Address: 1fa000
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 109386574
+Index: 1
+Address: 2fa804
+Native_address: bce9c
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 42613220
+Index: 14
+Address: 34f980
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 67093144
+Index: 23
+Address: 313b64
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 86833790
+Index: 11
+Address: 34fbe8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 6344855
+Index: 1
+Address: 29eabc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 5149749
+Index: 35
+Address: 34f220
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 93451769
+Index: 5
+Address: 1fa120
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 117428568
+Index: 11
+Address: 234758
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 15225890
+Index: 4
+Address: 526298
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 120760477
+Index: 2
+Address: 234cdc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 88561919
+Index: 3
+Address: 3000ac
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 108931174
+Index: 8
+Address: 313cb4
+Native_address: bced4
+Refc: 1
+=fun
+Module: rpc
+Uniq: 122901192
+Index: 4
+Address: 255e44
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32985930
+Index: 10
+Address: 34fc40
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global_group
+Uniq: 97968498
+Index: 1
+Address: 292b7c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 45671671
+Index: 18
+Address: 4a32d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 117968056
+Index: 3
+Address: 2fa6ec
+Native_address: bcecc
+Refc: 1
+=fun
+Module: init
+Uniq: 108717591
+Index: 4
+Address: 1fa194
+Native_address: bcf04
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 15091954
+Index: 2
+Address: 2526dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 65707495
+Index: 6
+Address: 2658a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 34473969
+Index: 17
+Address: 2ad450
+Native_address: bcef4
+Refc: 2
+=fun
+Module: crashdump_viewer_html
+Uniq: 124296602
+Index: 7
+Address: 526244
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 23074707
+Index: 15
+Address: 265460
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 25972856
+Index: 10
+Address: 27cf74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 43110452
+Index: 24
+Address: 2f9ad4
+Native_address: bceec
+Refc: 1
+=fun
+Module: code_server
+Uniq: 106445918
+Index: 13
+Address: 2ad660
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 116071286
+Index: 12
+Address: 5261b8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 130814477
+Index: 8
+Address: 284cfc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 121017037
+Index: 39
+Address: 34ed80
+Native_address: bcef4
+Refc: 1
+=fun
+Module: ets
+Uniq: 104895267
+Index: 0
+Address: 2bc1bc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 104682437
+Index: 11
+Address: 4a3de0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 70248777
+Index: 30
+Address: 34f30c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 13274975
+Index: 5
+Address: 300074
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 98442771
+Index: 53
+Address: 34e2d0
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 69829006
+Index: 7
+Address: 2fa47c
+Native_address: bce80
+Refc: 1
+=fun
+Module: old_file_server
+Uniq: 36444943
+Index: 1
+Address: 2a1a80
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 58719455
+Index: 26
+Address: 34f5f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: timer
+Uniq: 42505885
+Index: 0
+Address: 4cd62c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54682479
+Index: 20
+Address: 2f9d08
+Native_address: bcf04
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 86070332
+Index: 1
+Address: 222d7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 54728136
+Index: 9
+Address: 2fff68
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 16474219
+Index: 3
+Address: 234c60
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 108831556
+Index: 10
+Address: 234810
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 72053761
+Index: 16
+Address: 34f8ec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 65127616
+Index: 2
+Address: 29ea04
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 126167637
+Index: 14
+Address: 234640
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 113704917
+Index: 0
+Address: 285788
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_disk_log
+Uniq: 75279647
+Index: 1
+Address: 500100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 119218247
+Index: 5
+Address: 26df68
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 85690044
+Index: 4
+Address: 4b5d6c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 53075592
+Index: 1
+Address: 26e16c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 39490182
+Index: 2
+Address: 3000c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 75189006
+Index: 12
+Address: 234714
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 14980808
+Index: 43
+Address: 34eb38
+Native_address: bceec
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 16463468
+Index: 4
+Address: 4a4914
+Native_address: bcee4
+Refc: 1
+=fun
+Module: dict
+Uniq: 99965326
+Index: 4
+Address: 355020
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 36900786
+Index: 6
+Address: 284f3c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 45447147
+Index: 18
+Address: 34f794
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32353825
+Index: 6
+Address: 34fe78
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 134052338
+Index: 8
+Address: 34fdc0
+Native_address: bceec
+Refc: 1
+=fun
+Module: application_master
+Uniq: 23840924
+Index: 1
+Address: 24aae0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108282500
+Index: 1
+Address: 4ab918
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_prim_loader
+Uniq: 31081110
+Index: 0
+Address: 210c68
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54275742
+Index: 26
+Address: 2f9a4c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 45083091
+Index: 3
+Address: 2e5350
+Native_address: bcf04
+Refc: 3
+=proc_stack:<0.0.0>
+3a48bc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H371264
+=proc_heap:<0.0.0>
+371264:t9:A5:state,H3710D8,N,N,H3710F4,P<0.1.0>,H37128C,H3710FC,N
+3710FC:t2:H371138,H371140
+371140:lI80|H371194
+371194:lI49|H3711E0
+3711E0:lI48|H371204
+371204:lI66|N
+371138:lI79|H37118C
+37118C:lI84|H3711D8
+3711D8:lI80|H3711FC
+3711FC:lI32|H37120C
+37120C:lI32|H371214
+371214:lI65|H37121C
+37121C:lI80|H371224
+371224:lI78|H37122C
+37122C:lI32|H371234
+371234:lI49|H37123C
+37123C:lI56|H371244
+371244:lI49|H37124C
+37124C:lI32|H371254
+371254:lI48|H37125C
+37125C:lI49|N
+37128C:t2:A7:started,A7:started
+3710F4:lH371124|H371130
+371124:t2:A16:application_controller,P<0.5.0>
+371130:lH371178|H371184
+371178:t2:AC:error_logger,P<0.4.0>
+371184:lH3711CC|N
+3711CC:t2:AF:erl_prim_loader,P<0.2.0>
+3710D8:lH3710E0|H3710EC
+3710E0:t2:A5:-root,H371108
+371108:lH371148|N
+371148:Yh13:2F636C656172636173652F6F74702F65727473
+3710EC:lH371110|H37111C
+371110:t2:A9:-progname,H371164
+371164:lH37119C|N
+37119C:Yh1D:2F636C656172636173652F6F74702F657274732F62696E2F6365726C20
+37111C:lH37116C|N
+37116C:t2:A5:-home,H3711C4
+3711C4:lH3711E8|N
+3711E8:YhA:2F686F6D652F73697269
+=proc_stack:<0.2.0>
+38eca8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H367D20
+y1:P<0.1.0>
+y2:H367D28
+y3:A8:infinity
+=proc_heap:<0.2.0>
+367D20:lH367D48|H367D50
+367D48:lI47|H367D58
+367D58:lI99|H367D68
+367D68:lI108|H367D78
+367D78:lI101|H367D88
+367D88:lI97|H367D98
+367D98:lI114|H367DA8
+367DA8:lI99|H367DB8
+367DB8:lI97|H367DC8
+367DC8:lI115|H367DD8
+367DD8:lI101|H367DE8
+367DE8:lI47|H367DF8
+367DF8:lI111|H367E08
+367E08:lI116|H367E18
+367E18:lI112|H367E28
+367E28:lI47|H367E38
+367E38:lI101|H367E48
+367E48:lI114|H367E58
+367E58:lI116|H367E68
+367E68:lI115|H367E78
+367E78:lI47|H367E88
+367E88:lI108|H367E98
+367E98:lI105|H367EA8
+367EA8:lI98|H367EB8
+367EB8:lI47|H367EC8
+367EC8:lI107|H367ED8
+367ED8:lI101|H367EE8
+367EE8:lI114|H367EF8
+367EF8:lI110|H367F08
+367F08:lI101|H367F18
+367F18:lI108|H367F28
+367F28:lI47|H367F38
+367F38:lI101|H367F48
+367F48:lI98|H367F58
+367F58:lI105|H367F68
+367F68:lI110|N
+367D50:lH367D60|N
+367D60:lI47|H367D70
+367D70:lI99|H367D80
+367D80:lI108|H367D90
+367D90:lI101|H367DA0
+367DA0:lI97|H367DB0
+367DB0:lI114|H367DC0
+367DC0:lI99|H367DD0
+367DD0:lI97|H367DE0
+367DE0:lI115|H367DF0
+367DF0:lI101|H367E00
+367E00:lI47|H367E10
+367E10:lI111|H367E20
+367E20:lI116|H367E30
+367E30:lI112|H367E40
+367E40:lI47|H367E50
+367E50:lI101|H367E60
+367E60:lI114|H367E70
+367E70:lI116|H367E80
+367E80:lI115|H367E90
+367E90:lI47|H367EA0
+367EA0:lI108|H367EB0
+367EB0:lI105|H367EC0
+367EC0:lI98|H367ED0
+367ED0:lI47|H367EE0
+367EE0:lI115|H367EF0
+367EF0:lI116|H367F00
+367F00:lI100|H367F10
+367F10:lI108|H367F20
+367F20:lI105|H367F30
+367F30:lI98|H367F40
+367F40:lI47|H367F50
+367F50:lI101|H367F60
+367F60:lI98|H367F70
+367F70:lI105|H367F78
+367F78:lI110|N
+367D28:t7:A5:state,A5:efile,N,A4:none,p<0.2>,A8:infinity,A5:false
+=proc_dictionary:<0.4.0>
+H3AC588
+H3AC594
+=proc_stack:<0.4.0>
+3b2f14:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:H3B21E8
+y2:AC:error_logger
+y3:P<0.1.0>
+3b2f28:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3AC5A8
+=proc_heap:<0.4.0>
+3B21E8:lH3B2144|H3B21E0
+3B2144:t5:A7:handler,AC:error_logger,A5:false,N,A5:false
+3B21E0:lH3B21BC|N
+3B21BC:t5:A7:handler,A12:error_logger_tty_h,A5:false,H3AC610,A5:false
+3AC610:t2:P<0.21.0>,AC:error_logger
+3AC5A8:lA9:gen_event|H3AC5E8
+3AC5E8:lP<0.1.0>|H3AC608
+3AC608:lP<0.1.0>|H3AC61C
+3AC61C:lH3AC624|H3AC630
+3AC624:t2:A5:local,AC:error_logger
+3AC630:lN|H3AC638
+3AC638:lN|H3AC640
+3AC640:lN|N
+3AC588:t2:AD:$initial_call,H3AC5B0
+3AC5B0:t3:A3:gen,A7:init_it,H3AC5A8
+3AC594:t2:AA:$ancestors,H3AC5C0
+3AC5C0:lP<0.1.0>|N
+=proc_dictionary:<0.5.0>
+H372E4C
+H372E58
+=proc_stack:<0.5.0>
+374704:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A16:application_controller
+y3:H3739F4
+y4:A16:application_controller
+y5:P<0.1.0>
+374720:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H372ED0
+=proc_heap:<0.5.0>
+3739F4:t9:A5:state,N,N,N,H373914,N,H373928,N,N
+373928:lH37391C|H372F54
+37391C:t2:A6:stdlib,A9:permanent
+372F54:lH372F90|N
+372F90:t2:A6:kernel,A9:permanent
+373914:lH373908|H372F4C
+373908:t2:A6:stdlib,A9:undefined
+372F4C:lH372F84|N
+372F84:t2:A6:kernel,P<0.7.0>
+372ED0:lAA:gen_server|H372F5C
+372F5C:lP<0.1.0>|H372F9C
+372F9C:lP<0.1.0>|H372FC4
+372FC4:lH372FEC|H372FF8
+372FEC:t2:A5:local,A16:application_controller
+372FF8:lA16:application_controller|H373018
+373018:lH373038|H373048
+373038:t3:AB:application,A6:kernel,H373060
+373060:lH373078|H373084
+373078:t2:AB:description,H37309C
+37309C:lI69|H3730C8
+3730C8:lI82|H3730FC
+3730FC:lI84|H373130
+373130:lI83|H37316C
+37316C:lI32|H3731A8
+3731A8:lI32|H3731E4
+3731E4:lI67|H373220
+373220:lI88|H37325C
+37325C:lI67|H37329C
+37329C:lI32|H3732D0
+3732D0:lI49|H3732FC
+3732FC:lI51|H373328
+373328:lI56|H373348
+373348:lI32|H373368
+373368:lI49|H373388
+373388:lI48|N
+373084:lH3730A4|H3730B0
+3730A4:t2:A3:vsn,H3730D0
+3730D0:lI50|H373104
+373104:lI46|H373138
+373138:lI57|N
+3730B0:lH3730D8|H3730E4
+3730D8:t2:A2:id,N
+3730E4:lH37310C|H373118
+37310C:t2:A7:modules,H373140
+373140:lAB:application|H373174
+373174:lA16:application_controller|H3731B0
+3731B0:lA12:application_master|H3731EC
+3731EC:lA13:application_starter|H373228
+373228:lA4:auth|H373264
+373264:lA4:code|H3732A4
+3732A4:lA8:code_aux|H3732D8
+3732D8:lA8:packages|H373304
+373304:lAB:code_server|H373330
+373330:lA9:dist_util|H373350
+373350:lAF:erl_boot_server|H373370
+373370:lA10:erl_distribution|H373390
+373390:lAF:erl_prim_loader|H3733A8
+3733A8:lA9:erl_reply|H3733C0
+3733C0:lA6:erlang|H3733D8
+3733D8:lAD:error_handler|H3733F0
+3733F0:lAC:error_logger|H373408
+373408:lA4:file|H373420
+373420:lAB:file_server|H373438
+373438:lAF:old_file_server|H373450
+373450:lAE:file_io_server|H373468
+373468:lA9:prim_file|H373480
+373480:lA6:global|H373498
+373498:lAC:global_group|H3734B0
+3734B0:lAD:global_search|H3734C8
+3734C8:lA5:group|H3734E0
+3734E0:lA5:heart|H3734F8
+3734F8:lA13:hipe_unified_loader|H373510
+373510:lA11:hipe_sparc_loader|H373520
+373520:lAF:hipe_x86_loader|H373530
+373530:lA9:inet6_tcp|H373540
+373540:lAE:inet6_tcp_dist|H373550
+373550:lA9:inet6_udp|H373560
+373560:lAB:inet_config|H373570
+373570:lAA:inet_hosts|H373580
+373580:lA13:inet_gethost_native|H373590
+373590:lAD:inet_tcp_dist|H3735A0
+3735A0:lA4:init|H3735B0
+3735B0:lA6:kernel|H3735C0
+3735C0:lAD:kernel_config|H3735D0
+3735D0:lA3:net|H3735E0
+3735E0:lA7:net_adm|H3735F0
+3735F0:lAA:net_kernel|H373600
+373600:lA2:os|H373610
+373610:lA8:ram_file|H373620
+373620:lA3:rpc|H373630
+373630:lA4:user|H373640
+373640:lA8:user_drv|H373650
+373650:lA8:user_sup|H373660
+373660:lA8:disk_log|H373670
+373670:lAA:disk_log_1|H373680
+373680:lAF:disk_log_server|H373690
+373690:lAC:disk_log_sup|H3736A0
+3736A0:lA7:dist_ac|H3736B0
+3736B0:lA8:erl_ddll|H3736C0
+3736C0:lA8:erl_epmd|H3736D0
+3736D0:lAA:erts_debug|H3736E0
+3736E0:lA7:gen_tcp|H3736F0
+3736F0:lA7:gen_udp|H373700
+373700:lA9:prim_inet|H373708
+373708:lA4:inet|H373710
+373710:lA7:inet_db|H373718
+373718:lA8:inet_dns|H373720
+373720:lAA:inet_parse|H373728
+373728:lA8:inet_res|H373730
+373730:lA8:inet_tcp|H373738
+373738:lA8:inet_udp|H373740
+373740:lA3:pg2|H373748
+373748:lA9:seq_trace|H373750
+373750:lA6:socks5|H373758
+373758:lAB:socks5_auth|H373760
+373760:lAA:socks5_tcp|H373768
+373768:lAA:socks5_udp|H373770
+373770:lAF:wrap_log_reader|H373778
+373778:lA4:zlib|H373780
+373780:lA9:otp_ring0|N
+373118:lH373148|H373154
+373148:t2:AA:registered,H37317C
+37317C:lA16:application_controller|H3731B8
+3731B8:lA9:erl_reply|H3731F4
+3731F4:lA4:auth|H373230
+373230:lAB:boot_server|H37326C
+37326C:lAB:code_server|H3732AC
+3732AC:lAF:disk_log_server|H3732E0
+3732E0:lAC:disk_log_sup|H37330C
+37330C:lAF:erl_prim_loader|H373338
+373338:lAC:error_logger|H373358
+373358:lAB:file_server|H373378
+373378:lAD:file_server_2|H373398
+373398:lAF:fixtable_server|H3733B0
+3733B0:lAC:global_group|H3733C8
+3733C8:lA12:global_name_server|H3733E0
+3733E0:lA5:heart|H3733F8
+3733F8:lA4:init|H373410
+373410:lAD:kernel_config|H373428
+373428:lAA:kernel_sup|H373440
+373440:lAA:net_kernel|H373458
+373458:lA7:net_sup|H373470
+373470:lA3:rex|H373488
+373488:lA4:user|H3734A0
+3734A0:lA9:os_server|H3734B8
+3734B8:lAB:ddll_server|H3734D0
+3734D0:lA8:erl_epmd|H3734E8
+3734E8:lA7:inet_db|H373500
+373500:lA3:pg2|N
+373154:lH373184|H373190
+373184:t2:AC:applications,N
+373190:lH3731C0|H3731CC
+3731C0:t2:A15:included_applications,N
+3731CC:lH3731FC|H373208
+3731FC:t2:A3:env,H373238
+373238:lH373274|N
+373274:t2:AC:error_logger,A3:tty
+373208:lH373240|H37324C
+373240:t2:AC:start_phases,A9:undefined
+37324C:lH373280|H37328C
+373280:t2:A4:maxT,A8:infinity
+37328C:lH3732B4|H3732C0
+3732B4:t2:A4:maxP,A8:infinity
+3732C0:lH3732E8|N
+3732E8:t2:A3:mod,H373314
+373314:t2:A6:kernel,N
+373048:lN|N
+372E4C:t2:AD:$initial_call,H372EE4
+372EE4:t3:A3:gen,A7:init_it,H372ED0
+372E58:t2:AA:$ancestors,H372EF4
+372EF4:lP<0.1.0>|N
+=proc_dictionary:<0.7.0>
+H369B78
+H369B5C
+=proc_stack:<0.7.0>
+369d64:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:H369C2C
+y1:P<0.5.0>
+369d70:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A12:application_master
+y2:A4:init
+y3:H369B2C
+=proc_heap:<0.7.0>
+369C2C:t6:A5:state,P<0.8.0>,H3697B0,N,I0,P<0.0.0>
+3697B0:t9:A9:appl_data,A6:kernel,H369B14,A9:undefined,H3697D8,H369A3C,N,A8:infinity,A8:infinity
+369A3C:lAB:application|H369A34
+369A34:lA16:application_controller|H369A2C
+369A2C:lA12:application_master|H369A24
+369A24:lA13:application_starter|H369A1C
+369A1C:lA4:auth|H369A14
+369A14:lA4:code|H369A0C
+369A0C:lA8:code_aux|H369A04
+369A04:lA8:packages|H3699FC
+3699FC:lAB:code_server|H3699F4
+3699F4:lA9:dist_util|H3699EC
+3699EC:lAF:erl_boot_server|H3699E4
+3699E4:lA10:erl_distribution|H3699DC
+3699DC:lAF:erl_prim_loader|H3699D4
+3699D4:lA9:erl_reply|H3699CC
+3699CC:lA6:erlang|H3699C4
+3699C4:lAD:error_handler|H3699BC
+3699BC:lAC:error_logger|H3699B4
+3699B4:lA4:file|H3699AC
+3699AC:lAB:file_server|H3699A4
+3699A4:lAF:old_file_server|H36999C
+36999C:lAE:file_io_server|H369994
+369994:lA9:prim_file|H36998C
+36998C:lA6:global|H369984
+369984:lAC:global_group|H36997C
+36997C:lAD:global_search|H369974
+369974:lA5:group|H36996C
+36996C:lA5:heart|H369964
+369964:lA13:hipe_unified_loader|H36995C
+36995C:lA11:hipe_sparc_loader|H369954
+369954:lAF:hipe_x86_loader|H36994C
+36994C:lA9:inet6_tcp|H369944
+369944:lAE:inet6_tcp_dist|H36993C
+36993C:lA9:inet6_udp|H369934
+369934:lAB:inet_config|H36992C
+36992C:lAA:inet_hosts|H369924
+369924:lA13:inet_gethost_native|H36991C
+36991C:lAD:inet_tcp_dist|H369914
+369914:lA4:init|H36990C
+36990C:lA6:kernel|H369904
+369904:lAD:kernel_config|H3698FC
+3698FC:lA3:net|H3698F4
+3698F4:lA7:net_adm|H3698EC
+3698EC:lAA:net_kernel|H3698E4
+3698E4:lA2:os|H3698DC
+3698DC:lA8:ram_file|H3698D4
+3698D4:lA3:rpc|H3698CC
+3698CC:lA4:user|H3698C4
+3698C4:lA8:user_drv|H3698BC
+3698BC:lA8:user_sup|H3698B4
+3698B4:lA8:disk_log|H3698AC
+3698AC:lAA:disk_log_1|H3698A4
+3698A4:lAF:disk_log_server|H36989C
+36989C:lAC:disk_log_sup|H369894
+369894:lA7:dist_ac|H36988C
+36988C:lA8:erl_ddll|H369884
+369884:lA8:erl_epmd|H36987C
+36987C:lAA:erts_debug|H369874
+369874:lA7:gen_tcp|H36986C
+36986C:lA7:gen_udp|H369864
+369864:lA9:prim_inet|H36985C
+36985C:lA4:inet|H369854
+369854:lA7:inet_db|H36984C
+36984C:lA8:inet_dns|H369844
+369844:lAA:inet_parse|H36983C
+36983C:lA8:inet_res|H369834
+369834:lA8:inet_tcp|H36982C
+36982C:lA8:inet_udp|H369824
+369824:lA3:pg2|H36981C
+36981C:lA9:seq_trace|H369814
+369814:lA6:socks5|H36980C
+36980C:lAB:socks5_auth|H369804
+369804:lAA:socks5_tcp|H3697FC
+3697FC:lAA:socks5_udp|H3697F4
+3697F4:lAF:wrap_log_reader|H3697EC
+3697EC:lA4:zlib|H3697E4
+3697E4:lA9:otp_ring0|N
+3697D8:t2:A6:kernel,N
+369B14:lA16:application_controller|H369B0C
+369B0C:lA9:erl_reply|H369B04
+369B04:lA4:auth|H369AFC
+369AFC:lAB:boot_server|H369AF4
+369AF4:lAB:code_server|H369AEC
+369AEC:lAF:disk_log_server|H369AE4
+369AE4:lAC:disk_log_sup|H369ADC
+369ADC:lAF:erl_prim_loader|H369AD4
+369AD4:lAC:error_logger|H369ACC
+369ACC:lAB:file_server|H369AC4
+369AC4:lAD:file_server_2|H369ABC
+369ABC:lAF:fixtable_server|H369AB4
+369AB4:lAC:global_group|H369AAC
+369AAC:lA12:global_name_server|H369AA4
+369AA4:lA5:heart|H369A9C
+369A9C:lA4:init|H369A94
+369A94:lAD:kernel_config|H369A8C
+369A8C:lAA:kernel_sup|H369A84
+369A84:lAA:net_kernel|H369A7C
+369A7C:lA7:net_sup|H369A74
+369A74:lA3:rex|H369A6C
+369A6C:lA4:user|H369A64
+369A64:lA9:os_server|H369A5C
+369A5C:lAB:ddll_server|H369A54
+369A54:lA8:erl_epmd|H369A4C
+369A4C:lA7:inet_db|H369A44
+369A44:lA3:pg2|N
+369B2C:lP<0.5.0>|H369B24
+369B24:lP<0.6.0>|H3697A8
+3697A8:lH3697B0|H369B1C
+369B1C:lA6:normal|N
+369B78:t2:AD:$initial_call,H369B68
+369B68:t3:A12:application_master,A4:init,H369B2C
+369B5C:t2:AA:$ancestors,H369B54
+369B54:lP<0.6.0>|N
+=proc_stack:<0.8.0>
+384ec0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H384BDC
+y1:A6:kernel
+y2:P<0.9.0>
+y3:P<0.7.0>
+=proc_heap:<0.8.0>
+384BDC:t2:A5:state,A3:tty
+=proc_dictionary:<0.9.0>
+H376850
+H37685C
+=proc_stack:<0.9.0>
+36bde8:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36B8E8
+y4:AA:kernel_sup
+y5:P<0.8.0>
+36be04:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3768D4
+=proc_heap:<0.9.0>
+36B8E8:tA:A5:state,H376868,AB:one_for_all,H36B8D4,N,I0,I1,N,A6:kernel,N
+36B8D4:lH36B8B0|H36B6E8
+36B8B0:t8:A5:child,P<0.24.0>,AF:kernel_safe_sup,H376BF0,A9:permanent,A8:infinity,AA:supervisor,H376C00
+376C00:lA6:kernel|N
+376BF0:t3:AA:supervisor,AA:start_link,H376C08
+376C08:lH376C10|H376C1C
+376C10:t2:A5:local,AF:kernel_safe_sup
+376C1C:lA6:kernel|H376C24
+376C24:lA4:safe|N
+36B6E8:lH36B6C4|H36B490
+36B6C4:t8:A5:child,P<0.23.0>,AD:kernel_config,H376BB4,A9:permanent,I2000,A6:worker,H376BC4
+376BC4:lAD:kernel_config|N
+376BB4:t3:AD:kernel_config,AA:start_link,N
+36B490:lH36B498|H36B4BC
+36B498:t8:A5:child,P<0.19.0>,A4:user,H376B70,A9:temporary,I2000,AA:supervisor,H376B80
+376B80:lA8:user_sup|N
+376B70:t3:A8:user_sup,A5:start,N
+36B4BC:lH36B4C4|H376CB0
+36B4C4:t8:A5:child,P<0.18.0>,AB:code_server,H376B0C,A9:permanent,I2000,A6:worker,H376B1C
+376B1C:lA4:code|N
+376B0C:t3:A4:code,AA:start_link,N
+376CB0:lH376CB8|H376CDC
+376CB8:t8:A5:child,P<0.17.0>,AB:file_server,H376AB8,A9:permanent,I2000,A6:worker,H376AC8
+376AC8:lAF:old_file_server|N
+376AB8:t3:AF:old_file_server,AA:start_link,N
+376CDC:lH376CE4|H376C2C
+376CE4:t8:A5:child,P<0.16.0>,AD:file_server_2,H376A58,A9:permanent,I2000,A6:worker,H376A68
+376A68:lA4:file|H376AB0
+376AB0:lAB:file_server|H376B04
+376B04:lAE:file_io_server|H376B68
+376B68:lA9:prim_file|N
+376A58:t3:AB:file_server,AA:start_link,N
+376C2C:lH376C34|H376C58
+376C34:t8:A5:child,P<0.15.0>,AC:global_group,H3769F4,A9:permanent,I2000,A6:worker,H376A04
+376A04:lAC:global_group|N
+3769F4:t3:AC:global_group,AA:start_link,N
+376C58:lH376C60|H376C84
+376C60:t8:A5:child,A9:undefined,A7:net_sup,H37696C,A9:permanent,A8:infinity,AA:supervisor,H37697C
+37697C:lA10:erl_distribution|N
+37696C:t3:A10:erl_distribution,AA:start_link,N
+376C84:lH376C8C|H3768A0
+376C8C:t8:A5:child,P<0.14.0>,A7:inet_db,H3768F4,A9:permanent,I2000,A6:worker,H376904
+376904:lA7:inet_db|N
+3768F4:t3:A7:inet_db,AA:start_link,N
+3768A0:lH376938|H37695C
+376938:t8:A5:child,P<0.11.0>,A12:global_name_server,H3769B0,A9:permanent,I2000,A6:worker,H3769C0
+3769C0:lA6:global|N
+3769B0:t3:A6:global,AA:start_link,N
+37695C:lH3769C8|N
+3769C8:t8:A5:child,P<0.10.0>,A3:rex,H376A38,A9:permanent,I2000,A6:worker,H376A48
+376A48:lA3:rpc|N
+376A38:t3:A3:rpc,AA:start_link,N
+376868:t2:A5:local,AA:kernel_sup
+3768D4:lAA:gen_server|H376964
+376964:lP<0.8.0>|H3769EC
+3769EC:lP<0.8.0>|H376A50
+376A50:lH376A9C|H376AA8
+376A9C:t2:A5:local,AA:kernel_sup
+376AA8:lAA:supervisor|H376AFC
+376AFC:lH376B50|H376B60
+376B50:t3:H376868,A6:kernel,N
+376B60:lN|N
+376850:t2:AD:$initial_call,H3768DC
+3768DC:t3:A3:gen,A7:init_it,H3768D4
+37685C:t2:AA:$ancestors,H3768EC
+3768EC:lP<0.8.0>|N
+=proc_dictionary:<0.10.0>
+H367A10
+H3679F4
+=proc_stack:<0.10.0>
+367cec:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A3:rpc
+y3:H367AA8
+y4:A3:rex
+y5:P<0.9.0>
+367d08:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3679C4
+=proc_heap:<0.10.0>
+367AA8:t2:I0,A3:nil
+3679C4:lAA:gen_server|H3679BC
+3679BC:lP<0.9.0>|H3679B4
+3679B4:lP<0.9.0>|H367988
+367988:lH367990|H3679AC
+367990:t2:A5:local,A3:rex
+3679AC:lA3:rpc|H3679A4
+3679A4:lN|H36799C
+36799C:lN|N
+367A10:t2:AD:$initial_call,H367A00
+367A00:t3:A3:gen,A7:init_it,H3679C4
+3679F4:t2:AA:$ancestors,H3679EC
+3679EC:lAA:kernel_sup|H3679CC
+3679CC:lP<0.8.0>|N
+=proc_dictionary:<0.11.0>
+H36ADD8
+H36ADBC
+=proc_stack:<0.11.0>
+36b0b4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A6:global
+y3:H36AF0C
+y4:A12:global_name_server
+y5:P<0.9.0>
+36b0d0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36AD8C
+=proc_heap:<0.11.0>
+36AF0C:t9:A5:state,A4:true,N,N,N,N,AD:nonode@nohost,P<0.12.0>,P<0.13.0>
+36AD8C:lAA:gen_server|H36AD84
+36AD84:lP<0.9.0>|H36AD7C
+36AD7C:lP<0.9.0>|H36AD50
+36AD50:lH36AD58|H36AD74
+36AD58:t2:A5:local,A12:global_name_server
+36AD74:lA6:global|H36AD6C
+36AD6C:lN|H36AD64
+36AD64:lN|N
+36ADD8:t2:AD:$initial_call,H36ADC8
+36ADC8:t3:A3:gen,A7:init_it,H36AD8C
+36ADBC:t2:AA:$ancestors,H36ADB4
+36ADB4:lAA:kernel_sup|H36AD94
+36AD94:lP<0.8.0>|N
+=proc_stack:<0.12.0>
+36921c:SReturn addr 0x261184 (global:init_the_locker/1 + 112)
+y0:N
+y1:N
+y2:N
+y3:N
+y4:N
+y5:N
+y6:A8:infinity
+y7:H368EB0
+y8:P<0.11.0>
+369244:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+=proc_heap:<0.12.0>
+368EB0:t3:A5:multi,A9:undefined,N
+=proc_stack:<0.13.0>
+3695d0:SReturn addr 0x2651AC (global:loop_the_deleter/1 + 36)
+y0:A8:infinity
+y1:N
+y2:P<0.11.0>
+3695e0:SReturn addr 0x2654F8 (global:'-start_the_deleter/1-fun-0-'/1 + 20)
+y0:N
+y1:N
+y2:P<0.11.0>
+3695f0:SReturn addr 0x156F90 (<terminate process normally>)
+=proc_heap:<0.13.0>
+=proc_dictionary:<0.14.0>
+H36A998
+H36A9A4
+=proc_stack:<0.14.0>
+372e0c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A7:inet_db
+y3:H36A9B0
+y4:A7:inet_db
+y5:P<0.9.0>
+372e28:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36A9C8
+=proc_heap:<0.14.0>
+36A9B0:t5:A5:state,A7:inet_db,AA:inet_cache,AA:inet_hosts,H36A9E8
+36A9E8:E21:8372000364000D6E6F6E6F6465406E6F686F737400000000060000000000000000
+36A9C8:lAA:gen_server|H36A9F8
+36A9F8:lP<0.9.0>|H36AA08
+36AA08:lP<0.9.0>|H36AA10
+36AA10:lH36AA18|H36AA24
+36AA18:t2:A5:local,A7:inet_db
+36AA24:lA7:inet_db|H36AA2C
+36AA2C:lN|H36AA34
+36AA34:lN|N
+36A998:t2:AD:$initial_call,H36A9D0
+36A9D0:t3:A3:gen,A7:init_it,H36A9C8
+36A9A4:t2:AA:$ancestors,H36A9E0
+36A9E0:lAA:kernel_sup|H36AA00
+36AA00:lP<0.8.0>|N
+=proc_dictionary:<0.15.0>
+H372788
+H3727F8
+H37276C
+H37280C
+H372820
+=proc_stack:<0.15.0>
+372a64:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AC:global_group
+y3:H3728C8
+y4:AC:global_group
+y5:P<0.9.0>
+372a80:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37273C
+=proc_heap:<0.15.0>
+3728C8:tC:A5:state,A7:no_conf,A4:true,N,N,N,N,N,AD:nonode@nohost,N,A6:normal,A6:normal
+37273C:lAA:gen_server|H372734
+372734:lP<0.9.0>|H37272C
+37272C:lP<0.9.0>|H372700
+372700:lH372708|H372724
+372708:t2:A5:local,AC:global_group
+372724:lAC:global_group|H37271C
+37271C:lN|H372714
+372714:lN|N
+372788:t2:AD:$initial_call,H372778
+372778:t3:A3:gen,A7:init_it,H37273C
+3727F8:t2:A10:registered_names,H3727F0
+3727F0:lA9:undefined|N
+37276C:t2:AA:$ancestors,H372764
+372764:lAA:kernel_sup|H372744
+372744:lP<0.8.0>|N
+37280C:t2:A4:send,H372804
+372804:lA9:undefined|N
+372820:t2:AC:whereis_name,H372818
+372818:lA9:undefined|N
+=proc_dictionary:<0.16.0>
+H37B918
+H37B924
+=proc_stack:<0.16.0>
+3d303c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AB:file_server
+y3:p<0.4>
+y4:AD:file_server_2
+y5:P<0.9.0>
+3d3058:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37B930
+=proc_heap:<0.16.0>
+37B930:lAA:gen_server|H37B950
+37B950:lP<0.9.0>|H37B960
+37B960:lP<0.9.0>|H37B968
+37B968:lH37B970|H37B97C
+37B970:t2:A5:local,AD:file_server_2
+37B97C:lAB:file_server|H37B984
+37B984:lN|H37B98C
+37B98C:lN|N
+37B918:t2:AD:$initial_call,H37B938
+37B938:t3:A3:gen,A7:init_it,H37B930
+37B924:t2:AA:$ancestors,H37B948
+37B948:lAA:kernel_sup|H37B958
+37B958:lP<0.8.0>|N
+=proc_stack:<0.17.0>
+3763cc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H376084
+y1:P<0.16.0>
+y2:P<0.9.0>
+=proc_heap:<0.17.0>
+376084:E21:8372000364000D6E6F6E6F6465406E6F686F737400000000160000000000000000
+=proc_stack:<0.18.0>
+3b98e8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H38AE84
+y1:P<0.9.0>
+=proc_heap:<0.18.0>
+38AE84:t8:A5:state,P<0.9.0>,H3873BC,H38AEB8,I9,I10,A8:no_cache,AB:interactive
+38AEB8:lH3873D4|H38AEE0
+3873D4:lI46|N
+38AEE0:lH3873EC|H38AF10
+3873EC:lI47|H387404
+387404:lI99|H387424
+387424:lI108|H38744C
+38744C:lI101|H38747C
+38747C:lI97|H3874B4
+3874B4:lI114|H3874F4
+3874F4:lI99|H38753C
+38753C:lI97|H38758C
+38758C:lI115|H3875E4
+3875E4:lI101|H387644
+387644:lI47|H3876AC
+3876AC:lI111|H38771C
+38771C:lI116|H387794
+387794:lI112|H387814
+387814:lI47|H38789C
+38789C:lI101|H38792C
+38792C:lI114|H3879BC
+3879BC:lI116|H387A54
+387A54:lI115|H387AF4
+387AF4:lI47|H387B9C
+387B9C:lI108|H387C4C
+387C4C:lI105|H387D04
+387D04:lI98|H387DC4
+387DC4:lI47|H387E8C
+387E8C:lI107|H387F5C
+387F5C:lI101|H388034
+388034:lI114|H388114
+388114:lI110|H3881FC
+3881FC:lI101|H3882EC
+3882EC:lI108|H3883E4
+3883E4:lI47|H3884E4
+3884E4:lI101|H3885EC
+3885EC:lI98|H3886FC
+3886FC:lI105|H388814
+388814:lI110|N
+38AF10:lH38740C|H38AF48
+38740C:lI47|H38742C
+38742C:lI99|H387454
+387454:lI108|H387484
+387484:lI101|H3874BC
+3874BC:lI97|H3874FC
+3874FC:lI114|H387544
+387544:lI99|H387594
+387594:lI97|H3875EC
+3875EC:lI115|H38764C
+38764C:lI101|H3876B4
+3876B4:lI47|H387724
+387724:lI111|H38779C
+38779C:lI116|H38781C
+38781C:lI112|H3878A4
+3878A4:lI47|H387934
+387934:lI101|H3879C4
+3879C4:lI114|H387A5C
+387A5C:lI116|H387AFC
+387AFC:lI115|H387BA4
+387BA4:lI47|H387C54
+387C54:lI108|H387D0C
+387D0C:lI105|H387DCC
+387DCC:lI98|H387E94
+387E94:lI47|H387F64
+387F64:lI115|H38803C
+38803C:lI116|H38811C
+38811C:lI100|H388204
+388204:lI108|H3882F4
+3882F4:lI105|H3883EC
+3883EC:lI98|H3884EC
+3884EC:lI47|H3885F4
+3885F4:lI101|H388704
+388704:lI98|H38881C
+38881C:lI105|H38892C
+38892C:lI110|N
+38AF48:lH387434|H38AF70
+387434:lI47|H38745C
+38745C:lI99|H38748C
+38748C:lI108|H3874C4
+3874C4:lI101|H387504
+387504:lI97|H38754C
+38754C:lI114|H38759C
+38759C:lI99|H3875F4
+3875F4:lI97|H387654
+387654:lI115|H3876BC
+3876BC:lI101|H38772C
+38772C:lI47|H3877A4
+3877A4:lI111|H387824
+387824:lI116|H3878AC
+3878AC:lI112|H38793C
+38793C:lI47|H3879CC
+3879CC:lI101|H387A64
+387A64:lI114|H387B04
+387B04:lI116|H387BAC
+387BAC:lI115|H387C5C
+387C5C:lI47|H387D14
+387D14:lI108|H387DD4
+387DD4:lI105|H387E9C
+387E9C:lI98|H387F6C
+387F6C:lI47|H388044
+388044:lI119|H388124
+388124:lI101|H38820C
+38820C:lI98|H3882FC
+3882FC:lI116|H3883F4
+3883F4:lI111|H3884F4
+3884F4:lI111|H3885FC
+3885FC:lI108|H38870C
+38870C:lI47|H388824
+388824:lI101|H388934
+388934:lI98|H388A44
+388A44:lI105|H388B54
+388B54:lI110|N
+38AF70:lH387464|H38AF98
+387464:lI47|H387494
+387494:lI99|H3874CC
+3874CC:lI108|H38750C
+38750C:lI101|H387554
+387554:lI97|H3875A4
+3875A4:lI114|H3875FC
+3875FC:lI99|H38765C
+38765C:lI97|H3876C4
+3876C4:lI115|H387734
+387734:lI101|H3877AC
+3877AC:lI47|H38782C
+38782C:lI111|H3878B4
+3878B4:lI116|H387944
+387944:lI112|H3879D4
+3879D4:lI47|H387A6C
+387A6C:lI101|H387B0C
+387B0C:lI114|H387BB4
+387BB4:lI116|H387C64
+387C64:lI115|H387D1C
+387D1C:lI47|H387DDC
+387DDC:lI108|H387EA4
+387EA4:lI105|H387F74
+387F74:lI98|H38804C
+38804C:lI47|H38812C
+38812C:lI116|H388214
+388214:lI118|H388304
+388304:lI47|H3883FC
+3883FC:lI101|H3884FC
+3884FC:lI98|H388604
+388604:lI105|H388714
+388714:lI110|N
+38AF98:lH38749C|H38AFC0
+38749C:lI47|H3874D4
+3874D4:lI99|H387514
+387514:lI108|H38755C
+38755C:lI101|H3875AC
+3875AC:lI97|H387604
+387604:lI114|H387664
+387664:lI99|H3876CC
+3876CC:lI97|H38773C
+38773C:lI115|H3877B4
+3877B4:lI101|H387834
+387834:lI47|H3878BC
+3878BC:lI111|H38794C
+38794C:lI116|H3879DC
+3879DC:lI112|H387A74
+387A74:lI47|H387B14
+387B14:lI101|H387BBC
+387BBC:lI114|H387C6C
+387C6C:lI116|H387D24
+387D24:lI115|H387DE4
+387DE4:lI47|H387EAC
+387EAC:lI108|H387F7C
+387F7C:lI105|H388054
+388054:lI98|H388134
+388134:lI47|H38821C
+38821C:lI116|H38830C
+38830C:lI115|H388404
+388404:lI112|H388504
+388504:lI47|H38860C
+38860C:lI101|H38871C
+38871C:lI98|H38882C
+38882C:lI105|H38893C
+38893C:lI110|N
+38AFC0:lH3874DC|H38AFE8
+3874DC:lI47|H38751C
+38751C:lI99|H387564
+387564:lI108|H3875B4
+3875B4:lI101|H38760C
+38760C:lI97|H38766C
+38766C:lI114|H3876D4
+3876D4:lI99|H387744
+387744:lI97|H3877BC
+3877BC:lI115|H38783C
+38783C:lI101|H3878C4
+3878C4:lI47|H387954
+387954:lI111|H3879E4
+3879E4:lI116|H387A7C
+387A7C:lI112|H387B1C
+387B1C:lI47|H387BC4
+387BC4:lI101|H387C74
+387C74:lI114|H387D2C
+387D2C:lI116|H387DEC
+387DEC:lI115|H387EB4
+387EB4:lI47|H387F84
+387F84:lI108|H38805C
+38805C:lI105|H38813C
+38813C:lI98|H388224
+388224:lI47|H388314
+388314:lI116|H38840C
+38840C:lI111|H38850C
+38850C:lI111|H388614
+388614:lI108|H388724
+388724:lI115|H388834
+388834:lI47|H388944
+388944:lI101|H388A4C
+388A4C:lI98|H388B5C
+388B5C:lI105|H388C6C
+388C6C:lI110|N
+38AFE8:lH387524|H38B008
+387524:lI47|H38756C
+38756C:lI99|H3875BC
+3875BC:lI108|H387614
+387614:lI101|H387674
+387674:lI97|H3876DC
+3876DC:lI114|H38774C
+38774C:lI99|H3877C4
+3877C4:lI97|H387844
+387844:lI115|H3878CC
+3878CC:lI101|H38795C
+38795C:lI47|H3879EC
+3879EC:lI111|H387A84
+387A84:lI116|H387B24
+387B24:lI112|H387BCC
+387BCC:lI47|H387C7C
+387C7C:lI101|H387D34
+387D34:lI114|H387DF4
+387DF4:lI116|H387EBC
+387EBC:lI115|H387F8C
+387F8C:lI47|H388064
+388064:lI108|H388144
+388144:lI105|H38822C
+38822C:lI98|H38831C
+38831C:lI47|H388414
+388414:lI116|H388514
+388514:lI111|H38861C
+38861C:lI111|H38872C
+38872C:lI108|H38883C
+38883C:lI98|H38894C
+38894C:lI97|H388A54
+388A54:lI114|H388B64
+388B64:lI47|H388C74
+388C74:lI101|H388D84
+388D84:lI98|H388E9C
+388E9C:lI105|H388FB4
+388FB4:lI110|N
+38B008:lH387574|H38B018
+387574:lI47|H3875C4
+3875C4:lI99|H38761C
+38761C:lI108|H38767C
+38767C:lI101|H3876E4
+3876E4:lI97|H387754
+387754:lI114|H3877CC
+3877CC:lI99|H38784C
+38784C:lI97|H3878D4
+3878D4:lI115|H387964
+387964:lI101|H3879F4
+3879F4:lI47|H387A8C
+387A8C:lI111|H387B2C
+387B2C:lI116|H387BD4
+387BD4:lI112|H387C84
+387C84:lI47|H387D3C
+387D3C:lI101|H387DFC
+387DFC:lI114|H387EC4
+387EC4:lI116|H387F94
+387F94:lI115|H38806C
+38806C:lI47|H38814C
+38814C:lI108|H388234
+388234:lI105|H388324
+388324:lI98|H38841C
+38841C:lI47|H38851C
+38851C:lI116|H388624
+388624:lI101|H388734
+388734:lI115|H388844
+388844:lI116|H388954
+388954:lI95|H388A5C
+388A5C:lI115|H388B6C
+388B6C:lI101|H388C7C
+388C7C:lI114|H388D8C
+388D8C:lI118|H388EA4
+388EA4:lI101|H388FBC
+388FBC:lI114|H3890D4
+3890D4:lI47|H3891EC
+3891EC:lI101|H3892FC
+3892FC:lI98|H38940C
+38940C:lI105|H38951C
+38951C:lI110|N
+38B018:lH3875CC|H38AE7C
+3875CC:lI47|H387624
+387624:lI99|H387684
+387684:lI108|H3876EC
+3876EC:lI101|H38775C
+38775C:lI97|H3877D4
+3877D4:lI114|H387854
+387854:lI99|H3878DC
+3878DC:lI97|H38796C
+38796C:lI115|H3879FC
+3879FC:lI101|H387A94
+387A94:lI47|H387B34
+387B34:lI111|H387BDC
+387BDC:lI116|H387C8C
+387C8C:lI112|H387D44
+387D44:lI47|H387E04
+387E04:lI101|H387ECC
+387ECC:lI114|H387F9C
+387F9C:lI116|H388074
+388074:lI115|H388154
+388154:lI47|H38823C
+38823C:lI108|H38832C
+38832C:lI105|H388424
+388424:lI98|H388524
+388524:lI47|H38862C
+38862C:lI115|H38873C
+38873C:lI115|H38884C
+38884C:lI108|H38895C
+38895C:lI47|H388A64
+388A64:lI101|H388B74
+388B74:lI98|H388C84
+388C84:lI105|H388D94
+388D94:lI110|N
+38AE7C:lH38762C|H38AEB0
+38762C:lI47|H38768C
+38768C:lI99|H3876F4
+3876F4:lI108|H387764
+387764:lI101|H3877DC
+3877DC:lI97|H38785C
+38785C:lI114|H3878E4
+3878E4:lI99|H387974
+387974:lI97|H387A04
+387A04:lI115|H387A9C
+387A9C:lI101|H387B3C
+387B3C:lI47|H387BE4
+387BE4:lI111|H387C94
+387C94:lI116|H387D4C
+387D4C:lI112|H387E0C
+387E0C:lI47|H387ED4
+387ED4:lI101|H387FA4
+387FA4:lI114|H38807C
+38807C:lI116|H38815C
+38815C:lI115|H388244
+388244:lI47|H388334
+388334:lI108|H38842C
+38842C:lI105|H38852C
+38852C:lI98|H388634
+388634:lI47|H388744
+388744:lI115|H388854
+388854:lI110|H388964
+388964:lI109|H388A6C
+388A6C:lI112|H388B7C
+388B7C:lI47|H388C8C
+388C8C:lI101|H388D9C
+388D9C:lI98|H388EAC
+388EAC:lI105|H388FC4
+388FC4:lI110|N
+38AEB0:lH387694|H38AED8
+387694:lI47|H3876FC
+3876FC:lI99|H38776C
+38776C:lI108|H3877E4
+3877E4:lI101|H387864
+387864:lI97|H3878EC
+3878EC:lI114|H38797C
+38797C:lI99|H387A0C
+387A0C:lI97|H387AA4
+387AA4:lI115|H387B44
+387B44:lI101|H387BEC
+387BEC:lI47|H387C9C
+387C9C:lI111|H387D54
+387D54:lI116|H387E14
+387E14:lI112|H387EDC
+387EDC:lI47|H387FAC
+387FAC:lI101|H388084
+388084:lI114|H388164
+388164:lI116|H38824C
+38824C:lI115|H38833C
+38833C:lI47|H388434
+388434:lI108|H388534
+388534:lI105|H38863C
+38863C:lI98|H38874C
+38874C:lI47|H38885C
+38885C:lI115|H38896C
+38896C:lI97|H388A74
+388A74:lI115|H388B84
+388B84:lI108|H388C94
+388C94:lI47|H388DA4
+388DA4:lI101|H388EB4
+388EB4:lI98|H388FCC
+388FCC:lI105|H3890DC
+3890DC:lI110|N
+38AED8:lH387704|H38AF08
+387704:lI47|H387774
+387774:lI99|H3877EC
+3877EC:lI108|H38786C
+38786C:lI101|H3878F4
+3878F4:lI97|H387984
+387984:lI114|H387A14
+387A14:lI99|H387AAC
+387AAC:lI97|H387B4C
+387B4C:lI115|H387BF4
+387BF4:lI101|H387CA4
+387CA4:lI47|H387D5C
+387D5C:lI111|H387E1C
+387E1C:lI116|H387EE4
+387EE4:lI112|H387FB4
+387FB4:lI47|H38808C
+38808C:lI101|H38816C
+38816C:lI114|H388254
+388254:lI116|H388344
+388344:lI115|H38843C
+38843C:lI47|H38853C
+38853C:lI108|H388644
+388644:lI105|H388754
+388754:lI98|H388864
+388864:lI47|H388974
+388974:lI114|H388A7C
+388A7C:lI117|H388B8C
+388B8C:lI110|H388C9C
+388C9C:lI116|H388DAC
+388DAC:lI105|H388EBC
+388EBC:lI109|H388FD4
+388FD4:lI101|H3890E4
+3890E4:lI95|H3891F4
+3891F4:lI116|H389304
+389304:lI111|H389414
+389414:lI111|H389524
+389524:lI108|H389624
+389624:lI115|H38971C
+38971C:lI47|H389814
+389814:lI101|H38990C
+38990C:lI98|H389A04
+389A04:lI105|H389AE4
+389AE4:lI110|N
+38AF08:lH38777C|H38AF40
+38777C:lI47|H3877F4
+3877F4:lI99|H387874
+387874:lI108|H3878FC
+3878FC:lI101|H38798C
+38798C:lI97|H387A1C
+387A1C:lI114|H387AB4
+387AB4:lI99|H387B54
+387B54:lI97|H387BFC
+387BFC:lI115|H387CAC
+387CAC:lI101|H387D64
+387D64:lI47|H387E24
+387E24:lI111|H387EEC
+387EEC:lI116|H387FBC
+387FBC:lI112|H388094
+388094:lI47|H388174
+388174:lI101|H38825C
+38825C:lI114|H38834C
+38834C:lI116|H388444
+388444:lI115|H388544
+388544:lI47|H38864C
+38864C:lI108|H38875C
+38875C:lI105|H38886C
+38886C:lI98|H38897C
+38897C:lI47|H388A84
+388A84:lI114|H388B94
+388B94:lI115|H388CA4
+388CA4:lI104|H388DB4
+388DB4:lI101|H388EC4
+388EC4:lI108|H388FDC
+388FDC:lI108|H3890EC
+3890EC:lI47|H3891FC
+3891FC:lI101|H38930C
+38930C:lI98|H38941C
+38941C:lI105|H38952C
+38952C:lI110|N
+38AF40:lH3877FC|H38AF68
+3877FC:lI47|H38787C
+38787C:lI99|H387904
+387904:lI108|H387994
+387994:lI101|H387A24
+387A24:lI97|H387ABC
+387ABC:lI114|H387B5C
+387B5C:lI99|H387C04
+387C04:lI97|H387CB4
+387CB4:lI115|H387D6C
+387D6C:lI101|H387E2C
+387E2C:lI47|H387EF4
+387EF4:lI111|H387FC4
+387FC4:lI116|H38809C
+38809C:lI112|H38817C
+38817C:lI47|H388264
+388264:lI101|H388354
+388354:lI114|H38844C
+38844C:lI116|H38854C
+38854C:lI115|H388654
+388654:lI47|H388764
+388764:lI108|H388874
+388874:lI105|H388984
+388984:lI98|H388A8C
+388A8C:lI47|H388B9C
+388B9C:lI112|H388CAC
+388CAC:lI109|H388DBC
+388DBC:lI97|H388ECC
+388ECC:lI110|H388FE4
+388FE4:lI47|H3890F4
+3890F4:lI101|H389204
+389204:lI98|H389314
+389314:lI105|H389424
+389424:lI110|N
+38AF68:lH387884|H38AF90
+387884:lI47|H38790C
+38790C:lI99|H38799C
+38799C:lI108|H387A2C
+387A2C:lI101|H387AC4
+387AC4:lI97|H387B64
+387B64:lI114|H387C0C
+387C0C:lI99|H387CBC
+387CBC:lI97|H387D74
+387D74:lI115|H387E34
+387E34:lI101|H387EFC
+387EFC:lI47|H387FCC
+387FCC:lI111|H3880A4
+3880A4:lI116|H388184
+388184:lI112|H38826C
+38826C:lI47|H38835C
+38835C:lI101|H388454
+388454:lI114|H388554
+388554:lI116|H38865C
+38865C:lI115|H38876C
+38876C:lI47|H38887C
+38887C:lI108|H38898C
+38898C:lI105|H388A94
+388A94:lI98|H388BA4
+388BA4:lI47|H388CB4
+388CB4:lI112|H388DC4
+388DC4:lI97|H388ED4
+388ED4:lI114|H388FEC
+388FEC:lI115|H3890FC
+3890FC:lI101|H38920C
+38920C:lI116|H38931C
+38931C:lI111|H38942C
+38942C:lI111|H389534
+389534:lI108|H38962C
+38962C:lI115|H389724
+389724:lI47|H38981C
+38981C:lI101|H389914
+389914:lI98|H389A0C
+389A0C:lI105|H389AEC
+389AEC:lI110|N
+38AF90:lH387914|H38AFB8
+387914:lI47|H3879A4
+3879A4:lI99|H387A34
+387A34:lI108|H387ACC
+387ACC:lI101|H387B6C
+387B6C:lI97|H387C14
+387C14:lI114|H387CC4
+387CC4:lI99|H387D7C
+387D7C:lI97|H387E3C
+387E3C:lI115|H387F04
+387F04:lI101|H387FD4
+387FD4:lI47|H3880AC
+3880AC:lI111|H38818C
+38818C:lI116|H388274
+388274:lI112|H388364
+388364:lI47|H38845C
+38845C:lI101|H38855C
+38855C:lI114|H388664
+388664:lI116|H388774
+388774:lI115|H388884
+388884:lI47|H388994
+388994:lI108|H388A9C
+388A9C:lI105|H388BAC
+388BAC:lI98|H388CBC
+388CBC:lI47|H388DCC
+388DCC:lI111|H388EDC
+388EDC:lI116|H388FF4
+388FF4:lI112|H389104
+389104:lI95|H389214
+389214:lI109|H389324
+389324:lI105|H389434
+389434:lI98|H38953C
+38953C:lI115|H389634
+389634:lI47|H38972C
+38972C:lI101|H389824
+389824:lI98|H38991C
+38991C:lI105|H389A14
+389A14:lI110|N
+38AFB8:lH3879AC|H38AFE0
+3879AC:lI47|H387A3C
+387A3C:lI99|H387AD4
+387AD4:lI108|H387B74
+387B74:lI101|H387C1C
+387C1C:lI97|H387CCC
+387CCC:lI114|H387D84
+387D84:lI99|H387E44
+387E44:lI97|H387F0C
+387F0C:lI115|H387FDC
+387FDC:lI101|H3880B4
+3880B4:lI47|H388194
+388194:lI111|H38827C
+38827C:lI116|H38836C
+38836C:lI112|H388464
+388464:lI47|H388564
+388564:lI101|H38866C
+38866C:lI114|H38877C
+38877C:lI116|H38888C
+38888C:lI115|H38899C
+38899C:lI47|H388AA4
+388AA4:lI108|H388BB4
+388BB4:lI105|H388CC4
+388CC4:lI98|H388DD4
+388DD4:lI47|H388EE4
+388EE4:lI111|H388FFC
+388FFC:lI115|H38910C
+38910C:lI95|H38921C
+38921C:lI109|H38932C
+38932C:lI111|H38943C
+38943C:lI110|H389544
+389544:lI47|H38963C
+38963C:lI101|H389734
+389734:lI98|H38982C
+38982C:lI105|H389924
+389924:lI110|N
+38AFE0:lH387A44|H38B000
+387A44:lI47|H387ADC
+387ADC:lI99|H387B7C
+387B7C:lI108|H387C24
+387C24:lI101|H387CD4
+387CD4:lI97|H387D8C
+387D8C:lI114|H387E4C
+387E4C:lI99|H387F14
+387F14:lI97|H387FE4
+387FE4:lI115|H3880BC
+3880BC:lI101|H38819C
+38819C:lI47|H388284
+388284:lI111|H388374
+388374:lI116|H38846C
+38846C:lI112|H38856C
+38856C:lI47|H388674
+388674:lI101|H388784
+388784:lI114|H388894
+388894:lI116|H3889A4
+3889A4:lI115|H388AAC
+388AAC:lI47|H388BBC
+388BBC:lI108|H388CCC
+388CCC:lI105|H388DDC
+388DDC:lI98|H388EEC
+388EEC:lI47|H389004
+389004:lI111|H389114
+389114:lI114|H389224
+389224:lI98|H389334
+389334:lI101|H389444
+389444:lI114|H38954C
+38954C:lI47|H389644
+389644:lI101|H38973C
+38973C:lI98|H389834
+389834:lI105|H38992C
+38992C:lI110|N
+38B000:lH387AE4|H38B010
+387AE4:lI47|H387B84
+387B84:lI99|H387C2C
+387C2C:lI108|H387CDC
+387CDC:lI101|H387D94
+387D94:lI97|H387E54
+387E54:lI114|H387F1C
+387F1C:lI99|H387FEC
+387FEC:lI97|H3880C4
+3880C4:lI115|H3881A4
+3881A4:lI101|H38828C
+38828C:lI47|H38837C
+38837C:lI111|H388474
+388474:lI116|H388574
+388574:lI112|H38867C
+38867C:lI47|H38878C
+38878C:lI101|H38889C
+38889C:lI114|H3889AC
+3889AC:lI116|H388AB4
+388AB4:lI115|H388BC4
+388BC4:lI47|H388CD4
+388CD4:lI108|H388DE4
+388DE4:lI105|H388EF4
+388EF4:lI98|H38900C
+38900C:lI47|H38911C
+38911C:lI111|H38922C
+38922C:lI100|H38933C
+38933C:lI98|H38944C
+38944C:lI99|H389554
+389554:lI47|H38964C
+38964C:lI101|H389744
+389744:lI98|H38983C
+38983C:lI105|H389934
+389934:lI110|N
+38B010:lH387B8C|H38B020
+387B8C:lI47|H387C34
+387C34:lI99|H387CE4
+387CE4:lI108|H387D9C
+387D9C:lI101|H387E5C
+387E5C:lI97|H387F24
+387F24:lI114|H387FF4
+387FF4:lI99|H3880CC
+3880CC:lI97|H3881AC
+3881AC:lI115|H388294
+388294:lI101|H388384
+388384:lI47|H38847C
+38847C:lI111|H38857C
+38857C:lI116|H388684
+388684:lI112|H388794
+388794:lI47|H3888A4
+3888A4:lI101|H3889B4
+3889B4:lI114|H388ABC
+388ABC:lI116|H388BCC
+388BCC:lI115|H388CDC
+388CDC:lI47|H388DEC
+388DEC:lI108|H388EFC
+388EFC:lI105|H389014
+389014:lI98|H389124
+389124:lI47|H389234
+389234:lI111|H389344
+389344:lI98|H389454
+389454:lI115|H38955C
+38955C:lI101|H389654
+389654:lI114|H38974C
+38974C:lI118|H389844
+389844:lI101|H38993C
+38993C:lI114|H389A1C
+389A1C:lI47|H389AF4
+389AF4:lI101|H389BBC
+389BBC:lI98|H389C84
+389C84:lI105|H389D4C
+389D4C:lI110|N
+38B020:lH387C3C|H38B028
+387C3C:lI47|H387CEC
+387CEC:lI99|H387DA4
+387DA4:lI108|H387E64
+387E64:lI101|H387F2C
+387F2C:lI97|H387FFC
+387FFC:lI114|H3880D4
+3880D4:lI99|H3881B4
+3881B4:lI97|H38829C
+38829C:lI115|H38838C
+38838C:lI101|H388484
+388484:lI47|H388584
+388584:lI111|H38868C
+38868C:lI116|H38879C
+38879C:lI112|H3888AC
+3888AC:lI47|H3889BC
+3889BC:lI101|H388AC4
+388AC4:lI114|H388BD4
+388BD4:lI116|H388CE4
+388CE4:lI115|H388DF4
+388DF4:lI47|H388F04
+388F04:lI108|H38901C
+38901C:lI105|H38912C
+38912C:lI98|H38923C
+38923C:lI47|H38934C
+38934C:lI109|H38945C
+38945C:lI110|H389564
+389564:lI101|H38965C
+38965C:lI115|H389754
+389754:lI105|H38984C
+38984C:lI97|H389944
+389944:lI95|H389A24
+389A24:lI115|H389AFC
+389AFC:lI101|H389BC4
+389BC4:lI115|H389C8C
+389C8C:lI115|H389D54
+389D54:lI105|H389E14
+389E14:lI111|H389ECC
+389ECC:lI110|H389F7C
+389F7C:lI47|H38A01C
+38A01C:lI101|H38A0AC
+38A0AC:lI98|H38A12C
+38A12C:lI105|H38A19C
+38A19C:lI110|N
+38B028:lH387CF4|H38B030
+387CF4:lI47|H387DAC
+387DAC:lI99|H387E6C
+387E6C:lI108|H387F34
+387F34:lI101|H388004
+388004:lI97|H3880DC
+3880DC:lI114|H3881BC
+3881BC:lI99|H3882A4
+3882A4:lI97|H388394
+388394:lI115|H38848C
+38848C:lI101|H38858C
+38858C:lI47|H388694
+388694:lI111|H3887A4
+3887A4:lI116|H3888B4
+3888B4:lI112|H3889C4
+3889C4:lI47|H388ACC
+388ACC:lI101|H388BDC
+388BDC:lI114|H388CEC
+388CEC:lI116|H388DFC
+388DFC:lI115|H388F0C
+388F0C:lI47|H389024
+389024:lI108|H389134
+389134:lI105|H389244
+389244:lI98|H389354
+389354:lI47|H389464
+389464:lI109|H38956C
+38956C:lI110|H389664
+389664:lI101|H38975C
+38975C:lI115|H389854
+389854:lI105|H38994C
+38994C:lI97|H389A2C
+389A2C:lI47|H389B04
+389B04:lI101|H389BCC
+389BCC:lI98|H389C94
+389C94:lI105|H389D5C
+389D5C:lI110|N
+38B030:lH387DB4|H38B038
+387DB4:lI47|H387E74
+387E74:lI99|H387F3C
+387F3C:lI108|H38800C
+38800C:lI101|H3880E4
+3880E4:lI97|H3881C4
+3881C4:lI114|H3882AC
+3882AC:lI99|H38839C
+38839C:lI97|H388494
+388494:lI115|H388594
+388594:lI101|H38869C
+38869C:lI47|H3887AC
+3887AC:lI111|H3888BC
+3888BC:lI116|H3889CC
+3889CC:lI112|H388AD4
+388AD4:lI47|H388BE4
+388BE4:lI101|H388CF4
+388CF4:lI114|H388E04
+388E04:lI116|H388F14
+388F14:lI115|H38902C
+38902C:lI47|H38913C
+38913C:lI108|H38924C
+38924C:lI105|H38935C
+38935C:lI98|H38946C
+38946C:lI47|H389574
+389574:lI109|H38966C
+38966C:lI110|H389764
+389764:lI101|H38985C
+38985C:lI109|H389954
+389954:lI111|H389A34
+389A34:lI115|H389B0C
+389B0C:lI121|H389BD4
+389BD4:lI110|H389C9C
+389C9C:lI101|H389D64
+389D64:lI47|H389E1C
+389E1C:lI101|H389ED4
+389ED4:lI98|H389F84
+389F84:lI105|H38A024
+38A024:lI110|N
+38B038:lH387E7C|H38B040
+387E7C:lI47|H387F44
+387F44:lI99|H388014
+388014:lI108|H3880EC
+3880EC:lI101|H3881CC
+3881CC:lI97|H3882B4
+3882B4:lI114|H3883A4
+3883A4:lI99|H38849C
+38849C:lI97|H38859C
+38859C:lI115|H3886A4
+3886A4:lI101|H3887B4
+3887B4:lI47|H3888C4
+3888C4:lI111|H3889D4
+3889D4:lI116|H388ADC
+388ADC:lI112|H388BEC
+388BEC:lI47|H388CFC
+388CFC:lI101|H388E0C
+388E0C:lI114|H388F1C
+388F1C:lI116|H389034
+389034:lI115|H389144
+389144:lI47|H389254
+389254:lI108|H389364
+389364:lI105|H389474
+389474:lI98|H38957C
+38957C:lI47|H389674
+389674:lI109|H38976C
+38976C:lI101|H389864
+389864:lI103|H38995C
+38995C:lI97|H389A3C
+389A3C:lI99|H389B14
+389B14:lI111|H389BDC
+389BDC:lI47|H389CA4
+389CA4:lI101|H389D6C
+389D6C:lI98|H389E24
+389E24:lI105|H389EDC
+389EDC:lI110|N
+38B040:lH387F4C|H38B048
+387F4C:lI47|H38801C
+38801C:lI99|H3880F4
+3880F4:lI108|H3881D4
+3881D4:lI101|H3882BC
+3882BC:lI97|H3883AC
+3883AC:lI114|H3884A4
+3884A4:lI99|H3885A4
+3885A4:lI97|H3886AC
+3886AC:lI115|H3887BC
+3887BC:lI101|H3888CC
+3888CC:lI47|H3889DC
+3889DC:lI111|H388AE4
+388AE4:lI116|H388BF4
+388BF4:lI112|H388D04
+388D04:lI47|H388E14
+388E14:lI101|H388F24
+388F24:lI114|H38903C
+38903C:lI116|H38914C
+38914C:lI115|H38925C
+38925C:lI47|H38936C
+38936C:lI108|H38947C
+38947C:lI105|H389584
+389584:lI98|H38967C
+38967C:lI47|H389774
+389774:lI106|H38986C
+38986C:lI105|H389964
+389964:lI110|H389A44
+389A44:lI116|H389B1C
+389B1C:lI101|H389BE4
+389BE4:lI114|H389CAC
+389CAC:lI102|H389D74
+389D74:lI97|H389E2C
+389E2C:lI99|H389EE4
+389EE4:lI101|N
+38B048:lH388024|H38B050
+388024:lI47|H3880FC
+3880FC:lI99|H3881DC
+3881DC:lI108|H3882C4
+3882C4:lI101|H3883B4
+3883B4:lI97|H3884AC
+3884AC:lI114|H3885AC
+3885AC:lI99|H3886B4
+3886B4:lI97|H3887C4
+3887C4:lI115|H3888D4
+3888D4:lI101|H3889E4
+3889E4:lI47|H388AEC
+388AEC:lI111|H388BFC
+388BFC:lI116|H388D0C
+388D0C:lI112|H388E1C
+388E1C:lI47|H388F2C
+388F2C:lI101|H389044
+389044:lI114|H389154
+389154:lI116|H389264
+389264:lI115|H389374
+389374:lI47|H389484
+389484:lI108|H38958C
+38958C:lI105|H389684
+389684:lI98|H38977C
+38977C:lI47|H389874
+389874:lI105|H38996C
+38996C:lI110|H389A4C
+389A4C:lI101|H389B24
+389B24:lI116|H389BEC
+389BEC:lI115|H389CB4
+389CB4:lI47|H389D7C
+389D7C:lI101|H389E34
+389E34:lI98|H389EEC
+389EEC:lI105|H389F8C
+389F8C:lI110|N
+38B050:lH388104|H38B058
+388104:lI47|H3881E4
+3881E4:lI99|H3882CC
+3882CC:lI108|H3883BC
+3883BC:lI101|H3884B4
+3884B4:lI97|H3885B4
+3885B4:lI114|H3886BC
+3886BC:lI99|H3887CC
+3887CC:lI97|H3888DC
+3888DC:lI115|H3889EC
+3889EC:lI101|H388AF4
+388AF4:lI47|H388C04
+388C04:lI111|H388D14
+388D14:lI116|H388E24
+388E24:lI112|H388F34
+388F34:lI47|H38904C
+38904C:lI101|H38915C
+38915C:lI114|H38926C
+38926C:lI116|H38937C
+38937C:lI115|H38948C
+38948C:lI47|H389594
+389594:lI108|H38968C
+38968C:lI105|H389784
+389784:lI98|H38987C
+38987C:lI47|H389974
+389974:lI105|H389A54
+389A54:lI99|H389B2C
+389B2C:lI47|H389BF4
+389BF4:lI101|H389CBC
+389CBC:lI98|H389D84
+389D84:lI105|H389E3C
+389E3C:lI110|N
+38B058:lH3881EC|H38B060
+3881EC:lI47|H3882D4
+3882D4:lI99|H3883C4
+3883C4:lI108|H3884BC
+3884BC:lI101|H3885BC
+3885BC:lI97|H3886C4
+3886C4:lI114|H3887D4
+3887D4:lI99|H3888E4
+3888E4:lI97|H3889F4
+3889F4:lI115|H388AFC
+388AFC:lI101|H388C0C
+388C0C:lI47|H388D1C
+388D1C:lI111|H388E2C
+388E2C:lI116|H388F3C
+388F3C:lI112|H389054
+389054:lI47|H389164
+389164:lI101|H389274
+389274:lI114|H389384
+389384:lI116|H389494
+389494:lI115|H38959C
+38959C:lI47|H389694
+389694:lI108|H38978C
+38978C:lI105|H389884
+389884:lI98|H38997C
+38997C:lI47|H389A5C
+389A5C:lI104|H389B34
+389B34:lI105|H389BFC
+389BFC:lI112|H389CC4
+389CC4:lI101|H389D8C
+389D8C:lI47|H389E44
+389E44:lI101|H389EF4
+389EF4:lI98|H389F94
+389F94:lI105|H38A02C
+38A02C:lI110|N
+38B060:lH3882DC|H38B068
+3882DC:lI47|H3883CC
+3883CC:lI99|H3884C4
+3884C4:lI108|H3885C4
+3885C4:lI101|H3886CC
+3886CC:lI97|H3887DC
+3887DC:lI114|H3888EC
+3888EC:lI99|H3889FC
+3889FC:lI97|H388B04
+388B04:lI115|H388C14
+388C14:lI101|H388D24
+388D24:lI47|H388E34
+388E34:lI111|H388F44
+388F44:lI116|H38905C
+38905C:lI112|H38916C
+38916C:lI47|H38927C
+38927C:lI101|H38938C
+38938C:lI114|H38949C
+38949C:lI116|H3895A4
+3895A4:lI115|H38969C
+38969C:lI47|H389794
+389794:lI108|H38988C
+38988C:lI105|H389984
+389984:lI98|H389A64
+389A64:lI47|H389B3C
+389B3C:lI103|H389C04
+389C04:lI115|H389CCC
+389CCC:lI47|H389D94
+389D94:lI101|H389E4C
+389E4C:lI98|H389EFC
+389EFC:lI105|H389F9C
+389F9C:lI110|N
+38B068:lH3883D4|H38B070
+3883D4:lI47|H3884CC
+3884CC:lI99|H3885CC
+3885CC:lI108|H3886D4
+3886D4:lI101|H3887E4
+3887E4:lI97|H3888F4
+3888F4:lI114|H388A04
+388A04:lI99|H388B0C
+388B0C:lI97|H388C1C
+388C1C:lI115|H388D2C
+388D2C:lI101|H388E3C
+388E3C:lI47|H388F4C
+388F4C:lI111|H389064
+389064:lI116|H389174
+389174:lI112|H389284
+389284:lI47|H389394
+389394:lI101|H3894A4
+3894A4:lI114|H3895AC
+3895AC:lI116|H3896A4
+3896A4:lI115|H38979C
+38979C:lI47|H389894
+389894:lI108|H38998C
+38998C:lI105|H389A6C
+389A6C:lI98|H389B44
+389B44:lI47|H389C0C
+389C0C:lI101|H389CD4
+389CD4:lI118|H389D9C
+389D9C:lI97|H389E54
+389E54:lI47|H389F04
+389F04:lI101|H389FA4
+389FA4:lI98|H38A034
+38A034:lI105|H38A0B4
+38A0B4:lI110|N
+38B070:lH3884D4|H38B078
+3884D4:lI47|H3885D4
+3885D4:lI99|H3886DC
+3886DC:lI108|H3887EC
+3887EC:lI101|H3888FC
+3888FC:lI97|H388A0C
+388A0C:lI114|H388B14
+388B14:lI99|H388C24
+388C24:lI97|H388D34
+388D34:lI115|H388E44
+388E44:lI101|H388F54
+388F54:lI47|H38906C
+38906C:lI111|H38917C
+38917C:lI116|H38928C
+38928C:lI112|H38939C
+38939C:lI47|H3894AC
+3894AC:lI101|H3895B4
+3895B4:lI114|H3896AC
+3896AC:lI116|H3897A4
+3897A4:lI115|H38989C
+38989C:lI47|H389994
+389994:lI108|H389A74
+389A74:lI105|H389B4C
+389B4C:lI98|H389C14
+389C14:lI47|H389CDC
+389CDC:lI101|H389DA4
+389DA4:lI116|H389E5C
+389E5C:lI47|H389F0C
+389F0C:lI101|H389FAC
+389FAC:lI98|H38A03C
+38A03C:lI105|H38A0BC
+38A0BC:lI110|N
+38B078:lH3885DC|H38B080
+3885DC:lI47|H3886E4
+3886E4:lI99|H3887F4
+3887F4:lI108|H388904
+388904:lI101|H388A14
+388A14:lI97|H388B1C
+388B1C:lI114|H388C2C
+388C2C:lI99|H388D3C
+388D3C:lI97|H388E4C
+388E4C:lI115|H388F5C
+388F5C:lI101|H389074
+389074:lI47|H389184
+389184:lI111|H389294
+389294:lI116|H3893A4
+3893A4:lI112|H3894B4
+3894B4:lI47|H3895BC
+3895BC:lI101|H3896B4
+3896B4:lI114|H3897AC
+3897AC:lI116|H3898A4
+3898A4:lI115|H38999C
+38999C:lI47|H389A7C
+389A7C:lI108|H389B54
+389B54:lI105|H389C1C
+389C1C:lI98|H389CE4
+389CE4:lI47|H389DAC
+389DAC:lI101|H389E64
+389E64:lI114|H389F14
+389F14:lI108|H389FB4
+389FB4:lI95|H38A044
+38A044:lI105|H38A0C4
+38A0C4:lI110|H38A134
+38A134:lI116|H38A1A4
+38A1A4:lI101|H38A20C
+38A20C:lI114|H38A274
+38A274:lI102|H38A2DC
+38A2DC:lI97|H38A344
+38A344:lI99|H38A3AC
+38A3AC:lI101|N
+38B080:lH3886EC|H38B088
+3886EC:lI47|H3887FC
+3887FC:lI99|H38890C
+38890C:lI108|H388A1C
+388A1C:lI101|H388B24
+388B24:lI97|H388C34
+388C34:lI114|H388D44
+388D44:lI99|H388E54
+388E54:lI97|H388F64
+388F64:lI115|H38907C
+38907C:lI101|H38918C
+38918C:lI47|H38929C
+38929C:lI111|H3893AC
+3893AC:lI116|H3894BC
+3894BC:lI112|H3895C4
+3895C4:lI47|H3896BC
+3896BC:lI101|H3897B4
+3897B4:lI114|H3898AC
+3898AC:lI116|H3899A4
+3899A4:lI115|H389A84
+389A84:lI47|H389B5C
+389B5C:lI108|H389C24
+389C24:lI105|H389CEC
+389CEC:lI98|H389DB4
+389DB4:lI47|H389E6C
+389E6C:lI100|H389F1C
+389F1C:lI101|H389FBC
+389FBC:lI98|H38A04C
+38A04C:lI117|H38A0CC
+38A0CC:lI103|H38A13C
+38A13C:lI103|H38A1AC
+38A1AC:lI101|H38A214
+38A214:lI114|H38A27C
+38A27C:lI47|H38A2E4
+38A2E4:lI101|H38A34C
+38A34C:lI98|H38A3B4
+38A3B4:lI105|H38A414
+38A414:lI110|N
+38B088:lH388804|H38B090
+388804:lI47|H388914
+388914:lI99|H388A24
+388A24:lI108|H388B2C
+388B2C:lI101|H388C3C
+388C3C:lI97|H388D4C
+388D4C:lI114|H388E5C
+388E5C:lI99|H388F6C
+388F6C:lI97|H389084
+389084:lI115|H389194
+389194:lI101|H3892A4
+3892A4:lI47|H3893B4
+3893B4:lI111|H3894C4
+3894C4:lI116|H3895CC
+3895CC:lI112|H3896C4
+3896C4:lI47|H3897BC
+3897BC:lI101|H3898B4
+3898B4:lI114|H3899AC
+3899AC:lI116|H389A8C
+389A8C:lI115|H389B64
+389B64:lI47|H389C2C
+389C2C:lI108|H389CF4
+389CF4:lI105|H389DBC
+389DBC:lI98|H389E74
+389E74:lI47|H389F24
+389F24:lI99|H389FC4
+389FC4:lI114|H38A054
+38A054:lI121|H38A0D4
+38A0D4:lI112|H38A144
+38A144:lI116|H38A1B4
+38A1B4:lI111|H38A21C
+38A21C:lI47|H38A284
+38A284:lI101|H38A2EC
+38A2EC:lI98|H38A354
+38A354:lI105|H38A3BC
+38A3BC:lI110|N
+38B090:lH38891C|H38B098
+38891C:lI47|H388A2C
+388A2C:lI99|H388B34
+388B34:lI108|H388C44
+388C44:lI101|H388D54
+388D54:lI97|H388E64
+388E64:lI114|H388F74
+388F74:lI99|H38908C
+38908C:lI97|H38919C
+38919C:lI115|H3892AC
+3892AC:lI101|H3893BC
+3893BC:lI47|H3894CC
+3894CC:lI111|H3895D4
+3895D4:lI116|H3896CC
+3896CC:lI112|H3897C4
+3897C4:lI47|H3898BC
+3898BC:lI101|H3899B4
+3899B4:lI114|H389A94
+389A94:lI116|H389B6C
+389B6C:lI115|H389C34
+389C34:lI47|H389CFC
+389CFC:lI108|H389DC4
+389DC4:lI105|H389E7C
+389E7C:lI98|H389F2C
+389F2C:lI47|H389FCC
+389FCC:lI99|H38A05C
+38A05C:lI111|H38A0DC
+38A0DC:lI115|H38A14C
+38A14C:lI84|H38A1BC
+38A1BC:lI114|H38A224
+38A224:lI97|H38A28C
+38A28C:lI110|H38A2F4
+38A2F4:lI115|H38A35C
+38A35C:lI97|H38A3C4
+38A3C4:lI99|H38A41C
+38A41C:lI116|H38A46C
+38A46C:lI105|H38A4BC
+38A4BC:lI111|H38A50C
+38A50C:lI110|H38A554
+38A554:lI115|H38A59C
+38A59C:lI47|H38A5E4
+38A5E4:lI101|H38A62C
+38A62C:lI98|H38A66C
+38A66C:lI105|H38A6A4
+38A6A4:lI110|N
+38B098:lH388A34|H38B0A0
+388A34:lI47|H388B3C
+388B3C:lI99|H388C4C
+388C4C:lI108|H388D5C
+388D5C:lI101|H388E6C
+388E6C:lI97|H388F7C
+388F7C:lI114|H389094
+389094:lI99|H3891A4
+3891A4:lI97|H3892B4
+3892B4:lI115|H3893C4
+3893C4:lI101|H3894D4
+3894D4:lI47|H3895DC
+3895DC:lI111|H3896D4
+3896D4:lI116|H3897CC
+3897CC:lI112|H3898C4
+3898C4:lI47|H3899BC
+3899BC:lI101|H389A9C
+389A9C:lI114|H389B74
+389B74:lI116|H389C3C
+389C3C:lI115|H389D04
+389D04:lI47|H389DCC
+389DCC:lI108|H389E84
+389E84:lI105|H389F34
+389F34:lI98|H389FD4
+389FD4:lI47|H38A064
+38A064:lI99|H38A0E4
+38A0E4:lI111|H38A154
+38A154:lI115|H38A1C4
+38A1C4:lI84|H38A22C
+38A22C:lI105|H38A294
+38A294:lI109|H38A2FC
+38A2FC:lI101|H38A364
+38A364:lI47|H38A3CC
+38A3CC:lI101|H38A424
+38A424:lI98|H38A474
+38A474:lI105|H38A4C4
+38A4C4:lI110|N
+38B0A0:lH388B44|H38B0A8
+388B44:lI47|H388C54
+388C54:lI99|H388D64
+388D64:lI108|H388E74
+388E74:lI101|H388F84
+388F84:lI97|H38909C
+38909C:lI114|H3891AC
+3891AC:lI99|H3892BC
+3892BC:lI97|H3893CC
+3893CC:lI115|H3894DC
+3894DC:lI101|H3895E4
+3895E4:lI47|H3896DC
+3896DC:lI111|H3897D4
+3897D4:lI116|H3898CC
+3898CC:lI112|H3899C4
+3899C4:lI47|H389AA4
+389AA4:lI101|H389B7C
+389B7C:lI114|H389C44
+389C44:lI116|H389D0C
+389D0C:lI115|H389DD4
+389DD4:lI47|H389E8C
+389E8C:lI108|H389F3C
+389F3C:lI105|H389FDC
+389FDC:lI98|H38A06C
+38A06C:lI47|H38A0EC
+38A0EC:lI99|H38A15C
+38A15C:lI111|H38A1CC
+38A1CC:lI115|H38A234
+38A234:lI80|H38A29C
+38A29C:lI114|H38A304
+38A304:lI111|H38A36C
+38A36C:lI112|H38A3D4
+38A3D4:lI101|H38A42C
+38A42C:lI114|H38A47C
+38A47C:lI116|H38A4CC
+38A4CC:lI121|H38A514
+38A514:lI47|H38A55C
+38A55C:lI101|H38A5A4
+38A5A4:lI98|H38A5EC
+38A5EC:lI105|H38A634
+38A634:lI110|N
+38B0A8:lH388C5C|H38B0B0
+388C5C:lI47|H388D6C
+388D6C:lI99|H388E7C
+388E7C:lI108|H388F8C
+388F8C:lI101|H3890A4
+3890A4:lI97|H3891B4
+3891B4:lI114|H3892C4
+3892C4:lI99|H3893D4
+3893D4:lI97|H3894E4
+3894E4:lI115|H3895EC
+3895EC:lI101|H3896E4
+3896E4:lI47|H3897DC
+3897DC:lI111|H3898D4
+3898D4:lI116|H3899CC
+3899CC:lI112|H389AAC
+389AAC:lI47|H389B84
+389B84:lI101|H389C4C
+389C4C:lI114|H389D14
+389D14:lI116|H389DDC
+389DDC:lI115|H389E94
+389E94:lI47|H389F44
+389F44:lI108|H389FE4
+389FE4:lI105|H38A074
+38A074:lI98|H38A0F4
+38A0F4:lI47|H38A164
+38A164:lI99|H38A1D4
+38A1D4:lI111|H38A23C
+38A23C:lI115|H38A2A4
+38A2A4:lI78|H38A30C
+38A30C:lI111|H38A374
+38A374:lI116|H38A3DC
+38A3DC:lI105|H38A434
+38A434:lI102|H38A484
+38A484:lI105|H38A4D4
+38A4D4:lI99|H38A51C
+38A51C:lI97|H38A564
+38A564:lI116|H38A5AC
+38A5AC:lI105|H38A5F4
+38A5F4:lI111|H38A63C
+38A63C:lI110|H38A674
+38A674:lI47|H38A6AC
+38A6AC:lI101|H38A6D4
+38A6D4:lI98|H38A6EC
+38A6EC:lI105|H38A704
+38A704:lI110|N
+38B0B0:lH388D74|H38B0B8
+388D74:lI47|H388E84
+388E84:lI99|H388F94
+388F94:lI108|H3890AC
+3890AC:lI101|H3891BC
+3891BC:lI97|H3892CC
+3892CC:lI114|H3893DC
+3893DC:lI99|H3894EC
+3894EC:lI97|H3895F4
+3895F4:lI115|H3896EC
+3896EC:lI101|H3897E4
+3897E4:lI47|H3898DC
+3898DC:lI111|H3899D4
+3899D4:lI116|H389AB4
+389AB4:lI112|H389B8C
+389B8C:lI47|H389C54
+389C54:lI101|H389D1C
+389D1C:lI114|H389DE4
+389DE4:lI116|H389E9C
+389E9C:lI115|H389F4C
+389F4C:lI47|H389FEC
+389FEC:lI108|H38A07C
+38A07C:lI105|H38A0FC
+38A0FC:lI98|H38A16C
+38A16C:lI47|H38A1DC
+38A1DC:lI99|H38A244
+38A244:lI111|H38A2AC
+38A2AC:lI115|H38A314
+38A314:lI70|H38A37C
+38A37C:lI105|H38A3E4
+38A3E4:lI108|H38A43C
+38A43C:lI101|H38A48C
+38A48C:lI84|H38A4DC
+38A4DC:lI114|H38A524
+38A524:lI97|H38A56C
+38A56C:lI110|H38A5B4
+38A5B4:lI115|H38A5FC
+38A5FC:lI102|H38A644
+38A644:lI101|H38A67C
+38A67C:lI114|H38A6B4
+38A6B4:lI47|H38A6DC
+38A6DC:lI101|H38A6F4
+38A6F4:lI98|H38A70C
+38A70C:lI105|H38A71C
+38A71C:lI110|N
+38B0B8:lH388E8C|H38B0C0
+388E8C:lI47|H388F9C
+388F9C:lI99|H3890B4
+3890B4:lI108|H3891C4
+3891C4:lI101|H3892D4
+3892D4:lI97|H3893E4
+3893E4:lI114|H3894F4
+3894F4:lI99|H3895FC
+3895FC:lI97|H3896F4
+3896F4:lI115|H3897EC
+3897EC:lI101|H3898E4
+3898E4:lI47|H3899DC
+3899DC:lI111|H389ABC
+389ABC:lI116|H389B94
+389B94:lI112|H389C5C
+389C5C:lI47|H389D24
+389D24:lI101|H389DEC
+389DEC:lI114|H389EA4
+389EA4:lI116|H389F54
+389F54:lI115|H389FF4
+389FF4:lI47|H38A084
+38A084:lI108|H38A104
+38A104:lI105|H38A174
+38A174:lI98|H38A1E4
+38A1E4:lI47|H38A24C
+38A24C:lI99|H38A2B4
+38A2B4:lI111|H38A31C
+38A31C:lI115|H38A384
+38A384:lI69|H38A3EC
+38A3EC:lI118|H38A444
+38A444:lI101|H38A494
+38A494:lI110|H38A4E4
+38A4E4:lI116|H38A52C
+38A52C:lI68|H38A574
+38A574:lI111|H38A5BC
+38A5BC:lI109|H38A604
+38A604:lI97|H38A64C
+38A64C:lI105|H38A684
+38A684:lI110|H38A6BC
+38A6BC:lI47|H38A6E4
+38A6E4:lI101|H38A6FC
+38A6FC:lI98|H38A714
+38A714:lI105|H38A724
+38A724:lI110|N
+38B0C0:lH388FA4|H38B0C8
+388FA4:lI47|H3890BC
+3890BC:lI99|H3891CC
+3891CC:lI108|H3892DC
+3892DC:lI101|H3893EC
+3893EC:lI97|H3894FC
+3894FC:lI114|H389604
+389604:lI99|H3896FC
+3896FC:lI97|H3897F4
+3897F4:lI115|H3898EC
+3898EC:lI101|H3899E4
+3899E4:lI47|H389AC4
+389AC4:lI111|H389B9C
+389B9C:lI116|H389C64
+389C64:lI112|H389D2C
+389D2C:lI47|H389DF4
+389DF4:lI101|H389EAC
+389EAC:lI114|H389F5C
+389F5C:lI116|H389FFC
+389FFC:lI115|H38A08C
+38A08C:lI47|H38A10C
+38A10C:lI108|H38A17C
+38A17C:lI105|H38A1EC
+38A1EC:lI98|H38A254
+38A254:lI47|H38A2BC
+38A2BC:lI99|H38A324
+38A324:lI111|H38A38C
+38A38C:lI115|H38A3F4
+38A3F4:lI69|H38A44C
+38A44C:lI118|H38A49C
+38A49C:lI101|H38A4EC
+38A4EC:lI110|H38A534
+38A534:lI116|H38A57C
+38A57C:lI47|H38A5C4
+38A5C4:lI101|H38A60C
+38A60C:lI98|H38A654
+38A654:lI105|H38A68C
+38A68C:lI110|N
+38B0C8:lH3890C4|H38B0D0
+3890C4:lI47|H3891D4
+3891D4:lI99|H3892E4
+3892E4:lI108|H3893F4
+3893F4:lI101|H389504
+389504:lI97|H38960C
+38960C:lI114|H389704
+389704:lI99|H3897FC
+3897FC:lI97|H3898F4
+3898F4:lI115|H3899EC
+3899EC:lI101|H389ACC
+389ACC:lI47|H389BA4
+389BA4:lI111|H389C6C
+389C6C:lI116|H389D34
+389D34:lI112|H389DFC
+389DFC:lI47|H389EB4
+389EB4:lI101|H389F64
+389F64:lI114|H38A004
+38A004:lI116|H38A094
+38A094:lI115|H38A114
+38A114:lI47|H38A184
+38A184:lI108|H38A1F4
+38A1F4:lI105|H38A25C
+38A25C:lI98|H38A2C4
+38A2C4:lI47|H38A32C
+38A32C:lI99|H38A394
+38A394:lI111|H38A3FC
+38A3FC:lI109|H38A454
+38A454:lI112|H38A4A4
+38A4A4:lI105|H38A4F4
+38A4F4:lI108|H38A53C
+38A53C:lI101|H38A584
+38A584:lI114|H38A5CC
+38A5CC:lI47|H38A614
+38A614:lI101|H38A65C
+38A65C:lI98|H38A694
+38A694:lI105|H38A6C4
+38A6C4:lI110|N
+38B0D0:lH3891DC|H38B0D8
+3891DC:lI47|H3892EC
+3892EC:lI99|H3893FC
+3893FC:lI108|H38950C
+38950C:lI101|H389614
+389614:lI97|H38970C
+38970C:lI114|H389804
+389804:lI99|H3898FC
+3898FC:lI97|H3899F4
+3899F4:lI115|H389AD4
+389AD4:lI101|H389BAC
+389BAC:lI47|H389C74
+389C74:lI111|H389D3C
+389D3C:lI116|H389E04
+389E04:lI112|H389EBC
+389EBC:lI47|H389F6C
+389F6C:lI101|H38A00C
+38A00C:lI114|H38A09C
+38A09C:lI116|H38A11C
+38A11C:lI115|H38A18C
+38A18C:lI47|H38A1FC
+38A1FC:lI108|H38A264
+38A264:lI105|H38A2CC
+38A2CC:lI98|H38A334
+38A334:lI47|H38A39C
+38A39C:lI97|H38A404
+38A404:lI115|H38A45C
+38A45C:lI110|H38A4AC
+38A4AC:lI49|H38A4FC
+38A4FC:lI47|H38A544
+38A544:lI101|H38A58C
+38A58C:lI98|H38A5D4
+38A5D4:lI105|H38A61C
+38A61C:lI110|N
+38B0D8:lH3892F4|H38B0E0
+3892F4:lI47|H389404
+389404:lI99|H389514
+389514:lI108|H38961C
+38961C:lI101|H389714
+389714:lI97|H38980C
+38980C:lI114|H389904
+389904:lI99|H3899FC
+3899FC:lI97|H389ADC
+389ADC:lI115|H389BB4
+389BB4:lI101|H389C7C
+389C7C:lI47|H389D44
+389D44:lI111|H389E0C
+389E0C:lI116|H389EC4
+389EC4:lI112|H389F74
+389F74:lI47|H38A014
+38A014:lI101|H38A0A4
+38A0A4:lI114|H38A124
+38A124:lI116|H38A194
+38A194:lI115|H38A204
+38A204:lI47|H38A26C
+38A26C:lI108|H38A2D4
+38A2D4:lI105|H38A33C
+38A33C:lI98|H38A3A4
+38A3A4:lI47|H38A40C
+38A40C:lI97|H38A464
+38A464:lI112|H38A4B4
+38A4B4:lI112|H38A504
+38A504:lI109|H38A54C
+38A54C:lI111|H38A594
+38A594:lI110|H38A5DC
+38A5DC:lI47|H38A624
+38A624:lI101|H38A664
+38A664:lI98|H38A69C
+38A69C:lI105|H38A6CC
+38A6CC:lI110|N
+38B0E0:lH38AA88|H38B0E8
+38AA88:lI47|H38AA90
+38AA90:lI104|H38AA98
+38AA98:lI111|H38AAA0
+38AAA0:lI109|H38AAA8
+38AAA8:lI101|H38AAB0
+38AAB0:lI47|H38AAB8
+38AAB8:lI115|H38AAC0
+38AAC0:lI105|H38AAC8
+38AAC8:lI114|H38AAD0
+38AAD0:lI105|H38AAD8
+38AAD8:lI47|H38AAE0
+38AAE0:lI101|H38AAE8
+38AAE8:lI114|H38AAF0
+38AAF0:lI108|H38AAF8
+38AAF8:lI97|H38AB00
+38AB00:lI110|H38AB08
+38AB08:lI103|N
+38B0E8:lH38AB1C|H38B0F0
+38AB1C:lI47|H38AB2C
+38AB2C:lI104|H38AB4C
+38AB4C:lI111|H38AB74
+38AB74:lI109|H38ABA4
+38ABA4:lI101|H38ABC4
+38ABC4:lI47|H38ABE4
+38ABE4:lI115|H38AC04
+38AC04:lI105|H38AC24
+38AC24:lI114|H38AC3C
+38AC3C:lI105|H38AC44
+38AC44:lI47|H38AC4C
+38AC4C:lI116|H38AC54
+38AC54:lI111|H38AC5C
+38AC5C:lI111|H38AC64
+38AC64:lI108|H38AC6C
+38AC6C:lI115|H38AC74
+38AC74:lI47|H38AC7C
+38AC7C:lI100|H38AC84
+38AC84:lI105|H38AC8C
+38AC8C:lI115|H38AC94
+38AC94:lI116|H38AC9C
+38AC9C:lI101|H38ACA4
+38ACA4:lI108|H38ACAC
+38ACAC:lI47|H38ACB4
+38ACB4:lI101|H38ACBC
+38ACBC:lI98|H38ACC4
+38ACC4:lI105|H38ACCC
+38ACCC:lI110|N
+38B0F0:lH38B0F8|N
+38B0F8:lI47|H38B100
+38B100:lI104|H38B108
+38B108:lI111|H38B110
+38B110:lI109|H38B118
+38B118:lI101|H38B120
+38B120:lI47|H38B128
+38B128:lI115|H38B130
+38B130:lI105|H38B138
+38B138:lI114|H38B140
+38B140:lI105|H38B148
+38B148:lI47|H38B150
+38B150:lI79|H38B158
+38B158:lI84|H38B160
+38B160:lI80|H38B168
+38B168:lI47|H38B170
+38B170:lI103|H38B178
+38B178:lI112|H38B180
+38B180:lI114|H38B188
+38B188:lI115|H38B190
+38B190:lI95|H38B198
+38B198:lI116|H38B1A0
+38B1A0:lI114|H38B1A8
+38B1A8:lI97|H38B1B0
+38B1B0:lI99|H38B1B8
+38B1B8:lI101|H38B1C0
+38B1C0:lI47|H38B1C8
+38B1C8:lI106|H38B1D0
+38B1D0:lI97|H38B1D8
+38B1D8:lI110|N
+3873BC:lI47|H3873CC
+3873CC:lI99|H3873E4
+3873E4:lI108|H3873FC
+3873FC:lI101|H38741C
+38741C:lI97|H387444
+387444:lI114|H387474
+387474:lI99|H3874AC
+3874AC:lI97|H3874EC
+3874EC:lI115|H387534
+387534:lI101|H387584
+387584:lI47|H3875DC
+3875DC:lI111|H38763C
+38763C:lI116|H3876A4
+3876A4:lI112|H387714
+387714:lI47|H38778C
+38778C:lI101|H38780C
+38780C:lI114|H387894
+387894:lI116|H387924
+387924:lI115|N
+=proc_dictionary:<0.19.0>
+H370244
+H370250
+=proc_stack:<0.19.0>
+36b45c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A11:supervisor_bridge
+y3:H36B17C
+y4:P<0.19.0>
+y5:P<0.9.0>
+36b478:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37025C
+=proc_heap:<0.19.0>
+36B17C:t5:A5:state,A8:user_sup,P<0.21.0>,P<0.21.0>,H370238
+370238:t2:P<0.19.0>,A8:user_sup
+37025C:lAA:gen_server|H37027C
+37027C:lP<0.9.0>|H37028C
+37028C:lP<0.9.0>|H370294
+370294:lA11:supervisor_bridge|H37029C
+37029C:lH3702A4|H3702AC
+3702A4:lA8:user_sup|H3702B4
+3702B4:lN|H3702BC
+3702BC:lA4:self|N
+3702AC:lN|N
+370244:t2:AD:$initial_call,H370264
+370264:t3:A3:gen,A7:init_it,H37025C
+370250:t2:AA:$ancestors,H370274
+370274:lAA:kernel_sup|H370284
+370284:lP<0.8.0>|N
+=proc_dictionary:<0.20.0>
+H36F8A8
+=proc_stack:<0.20.0>
+36a714:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:H36F8C4
+y3:P<0.21.0>
+y4:P<0.22.0>
+y5:p<0.72>
+y6:p<0.72>
+=proc_heap:<0.20.0>
+36F8C4:t4:I3,I2,P<0.22.0>,H36F8F0
+36F8F0:lH36F900|H36F910
+36F900:t3:I1,P<0.21.0>,H36F920
+36F920:t0:
+36F910:lH36F924|N
+36F924:t3:I2,P<0.22.0>,H36F93C
+36F93C:t3:A5:shell,A5:start,N
+36F8A8:t2:A3:eof,A5:false
+=proc_dictionary:<0.21.0>
+H3709DC
+H3709D0
+H3709F8
+=proc_stack:<0.21.0>
+370d1c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:A9:undefined
+y2:P<0.20.0>
+=proc_heap:<0.21.0>
+3709DC:t2:AB:line_buffer,N
+3709D0:t2:AB:kill_buffer,N
+3709F8:t2:A9:read_mode,A4:list
+=proc_dictionary:<0.22.0>
+H370D44
+H370D60
+H370D7C
+H370D38
+=proc_stack:<0.22.0>
+374a88:SReturn addr 0x2CE718 (group:get_chars_loop/7 + 80)
+y0:N
+y1:N
+y2:A8:infinity
+y3:H374A00
+y4:P<0.20.0>
+y5:H374A28
+374aa4:SReturn addr 0x2CDC18 (group:io_request/5 + 48)
+y0:H37499C
+y1:A6:io_lib
+y2:A9:get_until
+y3:H3748B8
+y4:P<0.20.0>
+y5:A5:start
+374ac0:SReturn addr 0x2CDB2C (group:server_loop/3 + 372)
+y0:P<0.49.0>
+y1:P<0.22.0>
+374acc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:P<0.25.0>
+y2:P<0.20.0>
+=proc_heap:<0.22.0>
+374A00:t4:A4:line,H37499C,H3749A4,A4:none
+3749A4:t2:N,N
+37499C:lI50|H374994
+374994:lI62|H37498C
+37498C:lI32|N
+374A28:t4:A5:stack,H370D58,H374A24,N
+374A24:t0:
+370D58:lH370D74|N
+370D74:lI99|H370D88
+370D88:lI114|H370D90
+370D90:lI97|H370D98
+370D98:lI115|H370DA0
+370DA0:lI104|H370DA8
+370DA8:lI100|H370DB0
+370DB0:lI117|H370DB8
+370DB8:lI109|H370DC0
+370DC0:lI112|H370DC8
+370DC8:lI95|H370DD0
+370DD0:lI118|H370DD8
+370DD8:lI105|H370DE0
+370DE0:lI101|H370DE8
+370DE8:lI119|H370DF0
+370DF0:lI101|H370DF8
+370DF8:lI114|H370E00
+370E00:lI58|H370E08
+370E08:lI115|H370E10
+370E10:lI116|H370E18
+370E18:lI97|H370E20
+370E20:lI114|H370E28
+370E28:lI116|H370E30
+370E30:lI40|H370E38
+370E38:lI41|H370E40
+370E40:lI46|H370E48
+370E48:lI10|N
+3748B8:t3:A8:erl_scan,A6:tokens,H3748B0
+3748B0:lI1|N
+370D44:t2:AB:line_buffer,H370D58
+370D60:t2:A5:shell,P<0.25.0>
+370D7C:t2:AB:kill_buffer,N
+370D38:t2:A9:read_mode,A4:list
+=proc_dictionary:<0.23.0>
+H376464
+H376448
+=proc_stack:<0.23.0>
+376754:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AD:kernel_config
+y3:N
+y4:P<0.23.0>
+y5:P<0.9.0>
+376770:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H376418
+=proc_heap:<0.23.0>
+376418:lAA:gen_server|H376410
+376410:lP<0.9.0>|H376408
+376408:lP<0.9.0>|H376400
+376400:lAD:kernel_config|H3763F8
+3763F8:lN|H3763F0
+3763F0:lN|N
+376464:t2:AD:$initial_call,H376454
+376454:t3:A3:gen,A7:init_it,H376418
+376448:t2:AA:$ancestors,H376440
+376440:lAA:kernel_sup|H376420
+376420:lP<0.8.0>|N
+=proc_dictionary:<0.24.0>
+H3705E0
+H3705EC
+=proc_stack:<0.24.0>
+36f38c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36F018
+y4:AF:kernel_safe_sup
+y5:P<0.9.0>
+36f3a8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37063C
+=proc_heap:<0.24.0>
+36F018:tA:A5:state,H370644,AB:one_for_one,H36F044,N,I4,I3600,N,A6:kernel,A4:safe
+36F044:lH36F04C|N
+36F04C:t8:A5:child,P<0.31.0>,A17:inet_gethost_native_sup,H370650,A9:temporary,I1000,A6:worker,H370660
+370660:lA13:inet_gethost_native|N
+370650:t3:A13:inet_gethost_native,AA:start_link,N
+370644:t2:A5:local,AF:kernel_safe_sup
+37063C:lAA:gen_server|H3706AC
+3706AC:lP<0.9.0>|H3706BC
+3706BC:lP<0.9.0>|H3706C4
+3706C4:lH3706CC|H3706D8
+3706CC:t2:A5:local,AF:kernel_safe_sup
+3706D8:lAA:supervisor|H3706E0
+3706E0:lH3706E8|H3706F8
+3706E8:t3:H370644,A6:kernel,A4:safe
+3706F8:lN|N
+3705E0:t2:AD:$initial_call,H370668
+370668:t3:A3:gen,A7:init_it,H37063C
+3705EC:t2:AA:$ancestors,H370678
+370678:lAA:kernel_sup|H3706B4
+3706B4:lP<0.8.0>|N
+=proc_dictionary:<0.25.0>
+H36E304
+H36E31C
+=proc_stack:<0.25.0>
+36e610:SReturn addr 0x2E06FC (shell:server_loop/6 + 140)
+y0:N
+y1:N
+y2:P<0.27.0>
+y3:P<0.49.0>
+36e624:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:I2
+y3:I1
+y4:N
+y5:N
+y6:N
+y7:I20
+y8:I20
+=proc_heap:<0.25.0>
+36E304:t2:H36E2F8,H36E2A8
+36E2A8:lH36E2B0|N
+36E2B0:t4:A4:call,I1,H36E2C4,N
+36E2C4:t4:A6:remote,I1,H36E2D8,H36E2E8
+36E2E8:t3:A4:atom,I1,A5:start
+36E2D8:t3:A4:atom,I1,A10:crashdump_viewer
+36E2F8:t2:A7:command,I1
+36E31C:t2:H36E310,A2:ok
+36E310:t2:A6:result,I1
+=proc_stack:<0.27.0>
+3bda3c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:P<0.25.0>
+=proc_heap:<0.27.0>
+=proc_dictionary:<0.31.0>
+H36DA24
+H36DA08
+=proc_stack:<0.31.0>
+36dcd4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A11:supervisor_bridge
+y3:H36DB68
+y4:A17:inet_gethost_native_sup
+y5:P<0.24.0>
+36dcf0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36D9D0
+=proc_heap:<0.31.0>
+36DB68:t5:A5:state,A13:inet_gethost_native,P<0.32.0>,P<0.32.0>,H36D994
+36D994:t2:A5:local,A17:inet_gethost_native_sup
+36D9D0:lAA:gen_server|H36D9C8
+36D9C8:lP<0.24.0>|H36D9C0
+36D9C0:lP<0.24.0>|H36D970
+36D970:lH36D980|H36D9B8
+36D980:t2:A5:local,A17:inet_gethost_native_sup
+36D9B8:lA11:supervisor_bridge|H36D978
+36D978:lH36D9A8|H36D9B0
+36D9A8:lA13:inet_gethost_native|H36D9A0
+36D9A0:lN|H36D98C
+36D98C:lH36D994|N
+36D9B0:lN|N
+36DA24:t2:AD:$initial_call,H36DA14
+36DA14:t3:A3:gen,A7:init_it,H36D9D0
+36DA08:t2:AA:$ancestors,H36DA00
+36DA00:lAF:kernel_safe_sup|H36D9E0
+36D9E0:lAA:kernel_sup|H36D9D8
+36D9D8:lP<0.8.0>|N
+=proc_dictionary:<0.32.0>
+H36CFD4
+H36D0BC
+=proc_stack:<0.32.0>
+36d12c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H36CF18
+=proc_heap:<0.32.0>
+36CF18:t8:A5:state,p<0.105>,I8000,I11,I12,P<0.31.0>,I4,H36CEF0
+36CEF0:t9:AA:statistics,I0,I0,I0,I0,I0,I0,I0,I0
+36CFD4:t2:A3:rid,I1
+36D0BC:t2:AC:num_requests,I0
+=proc_dictionary:<0.33.0>
+H3905C4
+H3905D0
+=proc_stack:<0.33.0>
+3ceee4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A7:webtool
+y3:H3C8570
+y4:A8:web_tool
+y5:P<0.33.0>
+3cef00:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3905FC
+=proc_heap:<0.33.0>
+3C8570:t6:A5:state,H3905EC,I13,P<0.41.0>,H3905F4,H3C85D4
+3C85D4:lA10:crashdump_viewer|N
+3905F4:lH390650|H39065C
+390650:t2:A4:port,I8888
+39065C:lH3906C8|H3906D4
+3906C8:t2:AC:bind_address,H390760
+390760:t4:I127,I0,I0,I1
+3906D4:lH390774|H390780
+390774:t2:AB:server_name,H39082C
+39082C:lI108|H390908
+390908:lI111|H3909DC
+3909DC:lI99|H390AC0
+390AC0:lI97|H390B98
+390B98:lI108|H390C78
+390C78:lI104|H390D58
+390D58:lI111|H390E2C
+390E2C:lI115|H390F10
+390F10:lI116|N
+390780:lH390834|H390840
+390834:t2:AE:max_header_siz,I1024
+390840:lH390910|H39091C
+390910:t2:A11:max_header_action,A8:reply414
+39091C:lH3909E4|H3909F0
+3909E4:t2:A8:com_type,A7:ip_comm
+3909F0:lH390AC8|H390AD4
+390AC8:t2:A7:modules,H390BA0
+390BA0:lA9:mod_alias|H390C80
+390C80:lA8:mod_auth|H390D60
+390D60:lA7:mod_esi|H390E34
+390E34:lAB:mod_actions|H390F18
+390F18:lA7:mod_cgi|H390FF4
+390FF4:lAB:mod_include|H3910D8
+3910D8:lA7:mod_dir|H3911B4
+3911B4:lA7:mod_get|H3912A0
+3912A0:lA8:mod_head|H39139C
+39139C:lA7:mod_log|H3914A0
+3914A0:lAC:mod_disk_log|N
+390AD4:lH390BA8|H390BB4
+390BA8:t2:AF:directory_index,H390C88
+390C88:lH390D68|N
+390D68:lI105|H390E3C
+390E3C:lI110|H390F20
+390F20:lI100|H390FFC
+390FFC:lI101|H3910E0
+3910E0:lI120|H3911BC
+3911BC:lI46|H3912A8
+3912A8:lI104|H3913A4
+3913A4:lI116|H3914A8
+3914A8:lI109|H39159C
+39159C:lI108|N
+390BB4:lH390C90|N
+390C90:t2:AC:default_type,H390D70
+390D70:lI116|H390E44
+390E44:lI101|H390F28
+390F28:lI120|H391004
+391004:lI116|H3910E8
+3910E8:lI47|H3911C4
+3911C4:lI112|H3912B0
+3912B0:lI108|H3913AC
+3913AC:lI97|H3914B0
+3914B0:lI105|H3915A4
+3915A4:lI110|N
+3905EC:lI47|H390648
+390648:lI99|H3906C0
+3906C0:lI108|H390758
+390758:lI101|H390824
+390824:lI97|H390900
+390900:lI114|H3909D4
+3909D4:lI99|H390AB8
+390AB8:lI97|H390B90
+390B90:lI115|H390C70
+390C70:lI101|H390D50
+390D50:lI47|H390E24
+390E24:lI111|H390F08
+390F08:lI116|H390FEC
+390FEC:lI112|H3910D0
+3910D0:lI47|H3911AC
+3911AC:lI101|H391298
+391298:lI114|H391394
+391394:lI116|H391498
+391498:lI115|H391594
+391594:lI47|H391680
+391680:lI108|H39175C
+39175C:lI105|H391840
+391840:lI98|H391924
+391924:lI47|H3919F8
+3919F8:lI119|H391AC4
+391AC4:lI101|H391B90
+391B90:lI98|H391C54
+391C54:lI116|H391D18
+391D18:lI111|H391DD4
+391DD4:lI111|H391E90
+391E90:lI108|H391F5C
+391F5C:lI47|H392030
+392030:lI112|H3920EC
+3920EC:lI114|H3921A8
+3921A8:lI105|H392264
+392264:lI118|N
+3905FC:lAA:gen_server|H390664
+390664:lP<0.27.0>|H3906DC
+3906DC:lA4:self|H390788
+390788:lH390848|H390854
+390848:t2:A5:local,A8:web_tool
+390854:lA7:webtool|H390924
+390924:lH3909F8|H390A04
+3909F8:t2:H3905EC,H3905F4
+390A04:lN|N
+3905C4:t2:AD:$initial_call,H390614
+390614:t3:A3:gen,A7:init_it,H3905FC
+3905D0:t2:AA:$ancestors,H390624
+390624:lP<0.27.0>|N
+=proc_dictionary:<0.41.0>
+H36DF0C
+H36DF18
+=proc_stack:<0.41.0>
+36eda4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36EA3C
+y4:A6:websup
+y5:P<0.33.0>
+36edc0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36DF24
+=proc_heap:<0.41.0>
+36EA3C:tA:A5:state,H36DF2C,AB:one_for_one,H36EA68,N,I100,I10,N,AB:webtool_sup,N
+36EA68:lH36EA70|N
+36EA70:t8:A5:child,P<0.48.0>,H36DF38,H36DF44,A9:permanent,I100,A6:worker,H36DF54
+36DF54:lA10:crashdump_viewer|N
+36DF44:t3:A10:crashdump_viewer,AA:start_link,N
+36DF38:t2:A5:local,A17:crashdump_viewer_server
+36DF2C:t2:A5:local,A6:websup
+36DF24:lAA:gen_server|H36DF84
+36DF84:lP<0.33.0>|H36DF94
+36DF94:lP<0.33.0>|H36DF9C
+36DF9C:lH36DFA4|H36DFB0
+36DFA4:t2:A5:local,A6:websup
+36DFB0:lAA:supervisor|H36DFB8
+36DFB8:lH36DFC0|H36DFD0
+36DFC0:t3:H36DF2C,AB:webtool_sup,N
+36DFD0:lN|N
+36DF0C:t2:AD:$initial_call,H36DF6C
+36DF6C:t3:A3:gen,A7:init_it,H36DF24
+36DF18:t2:AA:$ancestors,H36DF7C
+36DF7C:lA8:web_tool|H36DF8C
+36DF8C:lP<0.27.0>|N
+=proc_dictionary:<0.43.0>
+H39D940
+H39D94C
+=proc_stack:<0.43.0>
+3a42ac:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H3A3E34
+y4:A1A:httpd_sup__127_0_0_1__8888
+y5:P<0.33.0>
+3a42c8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H39D9CC
+=proc_heap:<0.43.0>
+3A3E34:tA:A5:state,H39D960,AB:one_for_one,H3A3E20,N,I0,I1,N,A9:httpd_sup,H39DA88
+39DA88:lA9:undefined|H39DB18
+39DB18:lH39DB50|H39DB58
+39DB50:lH39DB88|H39DB94
+39DB88:t2:AB:server_root,H39DBD0
+39DBD0:lI47|H39DC0C
+39DC0C:lI99|H39DC50
+39DC50:lI108|H39DC84
+39DC84:lI101|H39DCC4
+39DCC4:lI97|H39DD28
+39DD28:lI114|H39DD90
+39DD90:lI99|H39DE00
+39DE00:lI97|H39DE78
+39DE78:lI115|H39DF00
+39DF00:lI101|H39DF90
+39DF90:lI47|H39E038
+39E038:lI111|H39E0E8
+39E0E8:lI116|H39E1AC
+39E1AC:lI112|H39E288
+39E288:lI47|H39E37C
+39E37C:lI101|H39E478
+39E478:lI114|H39E580
+39E580:lI116|H39E69C
+39E69C:lI115|H39E7B0
+39E7B0:lI47|H39E8C4
+39E8C4:lI108|H39E9D8
+39E9D8:lI105|H39EACC
+39EACC:lI98|H39EBC0
+39EBC0:lI47|H39ECB4
+39ECB4:lI119|H39EDA8
+39EDA8:lI101|H39EE7C
+39EE7C:lI98|H39EF50
+39EF50:lI116|H39F02C
+39F02C:lI111|H39F110
+39F110:lI111|H39F1E4
+39F1E4:lI108|H39F2B0
+39F2B0:lI47|H39F36C
+39F36C:lI112|H39F430
+39F430:lI114|H39F4FC
+39F4FC:lI105|H39F5C0
+39F5C0:lI118|H39F694
+39F694:lI47|H39F768
+39F768:lI114|H39F83C
+39F83C:lI111|H39F920
+39F920:lI111|H39F9FC
+39F9FC:lI116|N
+39DB94:lH39DBD8|H39DBE4
+39DBD8:t2:AD:document_root,H39DC14
+39DC14:lI47|H39DC58
+39DC58:lI99|H39DC8C
+39DC8C:lI108|H39DCCC
+39DCCC:lI101|H39DD30
+39DD30:lI97|H39DD98
+39DD98:lI114|H39DE08
+39DE08:lI99|H39DE80
+39DE80:lI97|H39DF08
+39DF08:lI115|H39DF98
+39DF98:lI101|H39E040
+39E040:lI47|H39E0F0
+39E0F0:lI111|H39E1B4
+39E1B4:lI116|H39E290
+39E290:lI112|H39E384
+39E384:lI47|H39E480
+39E480:lI101|H39E588
+39E588:lI114|H39E6A4
+39E6A4:lI116|H39E7B8
+39E7B8:lI115|H39E8CC
+39E8CC:lI47|H39E9E0
+39E9E0:lI108|H39EAD4
+39EAD4:lI105|H39EBC8
+39EBC8:lI98|H39ECBC
+39ECBC:lI47|H39EDB0
+39EDB0:lI119|H39EE84
+39EE84:lI101|H39EF58
+39EF58:lI98|H39F034
+39F034:lI116|H39F118
+39F118:lI111|H39F1EC
+39F1EC:lI111|H39F2B8
+39F2B8:lI108|H39F374
+39F374:lI47|H39F438
+39F438:lI112|H39F504
+39F504:lI114|H39F5C8
+39F5C8:lI105|H39F69C
+39F69C:lI118|H39F770
+39F770:lI47|H39F844
+39F844:lI114|H39F928
+39F928:lI111|H39FA04
+39FA04:lI111|H39FAD8
+39FAD8:lI116|H39FBB4
+39FBB4:lI47|H39FC80
+39FC80:lI100|H39FD44
+39FD44:lI111|H39FE10
+39FE10:lI99|N
+39DBE4:lH39DC1C|H39DC28
+39DC1C:t2:AA:mime_types,H39DC60
+39DC60:lH39DC94|H39DCA0
+39DC94:t2:H39DCD4,H39DCDC
+39DCDC:lI120|H39DD40
+39DD40:lI45|H39DDA8
+39DDA8:lI119|H39DE10
+39DE10:lI111|H39DE88
+39DE88:lI114|H39DF10
+39DF10:lI108|H39DFA0
+39DFA0:lI100|H39E048
+39E048:lI47|H39E0F8
+39E0F8:lI120|H39E1BC
+39E1BC:lI45|H39E298
+39E298:lI118|H39E38C
+39E38C:lI114|H39E488
+39E488:lI109|H39E590
+39E590:lI108|N
+39DCD4:lI119|H39DD38
+39DD38:lI114|H39DDA0
+39DDA0:lI108|N
+39DCA0:lH39DCE4|H39DCF0
+39DCE4:t2:H39DD48,H39DD50
+39DD50:lI120|H39DDB8
+39DDB8:lI45|H39DE20
+39DE20:lI119|H39DE98
+39DE98:lI111|H39DF18
+39DF18:lI114|H39DFA8
+39DFA8:lI108|H39E050
+39E050:lI100|H39E100
+39E100:lI47|H39E1C4
+39E1C4:lI120|H39E2A0
+39E2A0:lI45|H39E394
+39E394:lI118|H39E490
+39E490:lI114|H39E598
+39E598:lI109|H39E6AC
+39E6AC:lI108|N
+39DD48:lI118|H39DDB0
+39DDB0:lI114|H39DE18
+39DE18:lI109|H39DE90
+39DE90:lI108|N
+39DCF0:lH39DD58|H39DD64
+39DD58:t2:H39DDC0,H39DDC8
+39DDC8:lI120|H39DE30
+39DE30:lI45|H39DEA8
+39DEA8:lI99|H39DF20
+39DF20:lI111|H39DFB0
+39DFB0:lI110|H39E058
+39E058:lI102|H39E108
+39E108:lI101|H39E1CC
+39E1CC:lI114|H39E2A8
+39E2A8:lI101|H39E39C
+39E39C:lI110|H39E498
+39E498:lI99|H39E5A0
+39E5A0:lI101|H39E6B4
+39E6B4:lI47|H39E7C0
+39E7C0:lI120|H39E8D4
+39E8D4:lI45|H39E9E8
+39E9E8:lI99|H39EADC
+39EADC:lI111|H39EBD0
+39EBD0:lI111|H39ECC4
+39ECC4:lI108|H39EDB8
+39EDB8:lI116|H39EE8C
+39EE8C:lI97|H39EF60
+39EF60:lI108|H39F03C
+39F03C:lI107|N
+39DDC0:lI105|H39DE28
+39DE28:lI99|H39DEA0
+39DEA0:lI101|N
+39DD64:lH39DDD0|H39DDDC
+39DDD0:t2:H39DE38,H39DE40
+39DE40:lI118|H39DEB8
+39DEB8:lI105|H39DF30
+39DF30:lI100|H39DFC0
+39DFC0:lI101|H39E068
+39E068:lI111|H39E110
+39E110:lI47|H39E1D4
+39E1D4:lI120|H39E2B0
+39E2B0:lI45|H39E3A4
+39E3A4:lI115|H39E4A0
+39E4A0:lI103|H39E5A8
+39E5A8:lI105|H39E6BC
+39E6BC:lI45|H39E7C8
+39E7C8:lI109|H39E8DC
+39E8DC:lI111|H39E9F0
+39E9F0:lI118|H39EAE4
+39EAE4:lI105|H39EBD8
+39EBD8:lI101|N
+39DE38:lI109|H39DEB0
+39DEB0:lI111|H39DF28
+39DF28:lI118|H39DFB8
+39DFB8:lI105|H39E060
+39E060:lI101|N
+39DDDC:lH39DE48|H39DE54
+39DE48:t2:H39DEC0,H39DEC8
+39DEC8:lI118|H39DF40
+39DF40:lI105|H39DFD0
+39DFD0:lI100|H39E070
+39E070:lI101|H39E118
+39E118:lI111|H39E1DC
+39E1DC:lI47|H39E2B8
+39E2B8:lI120|H39E3AC
+39E3AC:lI45|H39E4A8
+39E4A8:lI109|H39E5B0
+39E5B0:lI115|H39E6C4
+39E6C4:lI118|H39E7D0
+39E7D0:lI105|H39E8E4
+39E8E4:lI100|H39E9F8
+39E9F8:lI101|H39EAEC
+39EAEC:lI111|N
+39DEC0:lI97|H39DF38
+39DF38:lI118|H39DFC8
+39DFC8:lI105|N
+39DE54:lH39DED0|H39DEDC
+39DED0:t2:H39DF48,H39DF50
+39DF50:lI118|H39DFE0
+39DFE0:lI105|H39E078
+39E078:lI100|H39E120
+39E120:lI101|H39E1E4
+39E1E4:lI111|H39E2C0
+39E2C0:lI47|H39E3B4
+39E3B4:lI113|H39E4B0
+39E4B0:lI117|H39E5B8
+39E5B8:lI105|H39E6CC
+39E6CC:lI99|H39E7D8
+39E7D8:lI107|H39E8EC
+39E8EC:lI116|H39EA00
+39EA00:lI105|H39EAF4
+39EAF4:lI109|H39EBE0
+39EBE0:lI101|N
+39DF48:lI113|H39DFD8
+39DFD8:lI116|N
+39DEDC:lH39DF58|H39DF64
+39DF58:t2:H39DFE8,H39DFF0
+39DFF0:lI118|H39E088
+39E088:lI105|H39E130
+39E130:lI100|H39E1EC
+39E1EC:lI101|H39E2C8
+39E2C8:lI111|H39E3BC
+39E3BC:lI47|H39E4B8
+39E4B8:lI113|H39E5C0
+39E5C0:lI117|H39E6D4
+39E6D4:lI105|H39E7E0
+39E7E0:lI99|H39E8F4
+39E8F4:lI107|H39EA08
+39EA08:lI116|H39EAFC
+39EAFC:lI105|H39EBE8
+39EBE8:lI109|H39ECCC
+39ECCC:lI101|N
+39DFE8:lI109|H39E080
+39E080:lI111|H39E128
+39E128:lI118|N
+39DF64:lH39DFF8|H39E004
+39DFF8:t2:H39E090,H39E098
+39E098:lI118|H39E140
+39E140:lI105|H39E1FC
+39E1FC:lI100|H39E2D8
+39E2D8:lI101|H39E3C4
+39E3C4:lI111|H39E4C0
+39E4C0:lI47|H39E5C8
+39E5C8:lI109|H39E6DC
+39E6DC:lI112|H39E7E8
+39E7E8:lI101|H39E8FC
+39E8FC:lI103|N
+39E090:lI109|H39E138
+39E138:lI112|H39E1F4
+39E1F4:lI101|H39E2D0
+39E2D0:lI103|N
+39E004:lH39E0A0|H39E0AC
+39E0A0:t2:H39E148,H39E150
+39E150:lI118|H39E20C
+39E20C:lI105|H39E2E8
+39E2E8:lI100|H39E3CC
+39E3CC:lI101|H39E4C8
+39E4C8:lI111|H39E5D0
+39E5D0:lI47|H39E6E4
+39E6E4:lI109|H39E7F0
+39E7F0:lI112|H39E904
+39E904:lI101|H39EA10
+39EA10:lI103|N
+39E148:lI109|H39E204
+39E204:lI112|H39E2E0
+39E2E0:lI103|N
+39E0AC:lH39E158|H39E164
+39E158:t2:H39E214,H39E21C
+39E21C:lI118|H39E2F8
+39E2F8:lI105|H39E3DC
+39E3DC:lI100|H39E4D0
+39E4D0:lI101|H39E5D8
+39E5D8:lI111|H39E6EC
+39E6EC:lI47|H39E7F8
+39E7F8:lI109|H39E90C
+39E90C:lI112|H39EA18
+39EA18:lI101|H39EB04
+39EB04:lI103|N
+39E214:lI109|H39E2F0
+39E2F0:lI112|H39E3D4
+39E3D4:lI101|N
+39E164:lH39E224|H39E230
+39E224:t2:H39E300,H39E308
+39E308:lI116|H39E3EC
+39E3EC:lI101|H39E4E0
+39E4E0:lI120|H39E5E8
+39E5E8:lI116|H39E6F4
+39E6F4:lI47|H39E800
+39E800:lI120|H39E914
+39E914:lI45|H39EA20
+39EA20:lI115|H39EB0C
+39EB0C:lI103|H39EBF0
+39EBF0:lI109|H39ECD4
+39ECD4:lI108|N
+39E300:lI115|H39E3E4
+39E3E4:lI103|H39E4D8
+39E4D8:lI109|H39E5E0
+39E5E0:lI108|N
+39E230:lH39E310|H39E31C
+39E310:t2:H39E3F4,H39E3FC
+39E3FC:lI116|H39E4F0
+39E4F0:lI101|H39E5F8
+39E5F8:lI120|H39E6FC
+39E6FC:lI116|H39E808
+39E808:lI47|H39E91C
+39E91C:lI120|H39EA28
+39EA28:lI45|H39EB14
+39EB14:lI115|H39EBF8
+39EBF8:lI103|H39ECDC
+39ECDC:lI109|H39EDC0
+39EDC0:lI108|N
+39E3F4:lI115|H39E4E8
+39E4E8:lI103|H39E5F0
+39E5F0:lI109|N
+39E31C:lH39E404|H39E410
+39E404:t2:H39E4F8,H39E500
+39E500:lI116|H39E608
+39E608:lI101|H39E70C
+39E70C:lI120|H39E810
+39E810:lI116|H39E924
+39E924:lI47|H39EA30
+39EA30:lI120|H39EB1C
+39EB1C:lI45|H39EC00
+39EC00:lI115|H39ECE4
+39ECE4:lI101|H39EDC8
+39EDC8:lI116|H39EE94
+39EE94:lI101|H39EF68
+39EF68:lI120|H39F044
+39F044:lI116|N
+39E4F8:lI101|H39E600
+39E600:lI116|H39E704
+39E704:lI120|N
+39E410:lH39E508|H39E514
+39E508:t2:H39E610,H39E618
+39E618:lI116|H39E71C
+39E71C:lI101|H39E820
+39E820:lI120|H39E92C
+39E92C:lI116|H39EA38
+39EA38:lI47|H39EB24
+39EB24:lI116|H39EC08
+39EC08:lI97|H39ECEC
+39ECEC:lI98|H39EDD0
+39EDD0:lI45|H39EE9C
+39EE9C:lI115|H39EF70
+39EF70:lI101|H39F04C
+39F04C:lI112|H39F120
+39F120:lI97|H39F1F4
+39F1F4:lI114|H39F2C0
+39F2C0:lI97|H39F37C
+39F37C:lI116|H39F440
+39F440:lI101|H39F50C
+39F50C:lI100|H39F5D0
+39F5D0:lI45|H39F6A4
+39F6A4:lI118|H39F778
+39F778:lI97|H39F84C
+39F84C:lI108|H39F930
+39F930:lI117|H39FA0C
+39FA0C:lI101|H39FAE0
+39FAE0:lI115|N
+39E610:lI116|H39E714
+39E714:lI115|H39E818
+39E818:lI118|N
+39E514:lH39E620|H39E62C
+39E620:t2:H39E724,H39E72C
+39E72C:lI116|H39E830
+39E830:lI101|H39E93C
+39E93C:lI120|H39EA40
+39EA40:lI116|H39EB2C
+39EB2C:lI47|H39EC10
+39EC10:lI114|H39ECF4
+39ECF4:lI105|H39EDD8
+39EDD8:lI99|H39EEA4
+39EEA4:lI104|H39EF78
+39EF78:lI116|H39F054
+39F054:lI101|H39F128
+39F128:lI120|H39F1FC
+39F1FC:lI116|N
+39E724:lI114|H39E828
+39E828:lI116|H39E934
+39E934:lI120|N
+39E62C:lH39E734|H39E740
+39E734:t2:H39E838,H39E840
+39E840:lI116|H39E94C
+39E94C:lI101|H39EA50
+39EA50:lI120|H39EB34
+39EB34:lI116|H39EC18
+39EC18:lI47|H39ECFC
+39ECFC:lI112|H39EDE0
+39EDE0:lI108|H39EEAC
+39EEAC:lI97|H39EF80
+39EF80:lI105|H39F05C
+39F05C:lI110|N
+39E838:lI116|H39E944
+39E944:lI120|H39EA48
+39EA48:lI116|N
+39E740:lH39E848|H39E854
+39E848:t2:H39E954,H39E95C
+39E95C:lI116|H39EA60
+39EA60:lI101|H39EB44
+39EB44:lI120|H39EC28
+39EC28:lI116|H39ED0C
+39ED0C:lI47|H39EDE8
+39EDE8:lI120|H39EEB4
+39EEB4:lI45|H39EF88
+39EF88:lI115|H39F064
+39F064:lI101|H39F130
+39F130:lI114|H39F204
+39F204:lI118|H39F2C8
+39F2C8:lI101|H39F384
+39F384:lI114|H39F448
+39F448:lI45|H39F514
+39F514:lI112|H39F5D8
+39F5D8:lI97|H39F6AC
+39F6AC:lI114|H39F780
+39F780:lI115|H39F854
+39F854:lI101|H39F938
+39F938:lI100|H39FA14
+39FA14:lI45|H39FAE8
+39FAE8:lI104|H39FBBC
+39FBBC:lI116|H39FC88
+39FC88:lI109|H39FD4C
+39FD4C:lI108|N
+39E954:lI115|H39EA58
+39EA58:lI104|H39EB3C
+39EB3C:lI116|H39EC20
+39EC20:lI109|H39ED04
+39ED04:lI108|N
+39E854:lH39E964|H39E970
+39E964:t2:H39EA68,H39EA70
+39EA70:lI116|H39EB54
+39EB54:lI101|H39EC38
+39EC38:lI120|H39ED1C
+39ED1C:lI116|H39EDF0
+39EDF0:lI47|H39EEBC
+39EEBC:lI104|H39EF90
+39EF90:lI116|H39F06C
+39F06C:lI109|H39F138
+39F138:lI108|N
+39EA68:lI104|H39EB4C
+39EB4C:lI116|H39EC30
+39EC30:lI109|H39ED14
+39ED14:lI108|N
+39E970:lH39EA78|H39EA84
+39EA78:t2:H39EB5C,H39EB64
+39EB64:lI116|H39EC48
+39EC48:lI101|H39ED2C
+39ED2C:lI120|H39EDF8
+39EDF8:lI116|H39EEC4
+39EEC4:lI47|H39EF98
+39EF98:lI104|H39F074
+39F074:lI116|H39F140
+39F140:lI109|H39F20C
+39F20C:lI108|N
+39EB5C:lI104|H39EC40
+39EC40:lI116|H39ED24
+39ED24:lI109|N
+39EA84:lH39EB6C|H39EB78
+39EB6C:t2:H39EC50,H39EC58
+39EC58:lI105|H39ED3C
+39ED3C:lI109|H39EE08
+39EE08:lI97|H39EECC
+39EECC:lI103|H39EFA0
+39EFA0:lI101|H39F07C
+39F07C:lI47|H39F148
+39F148:lI120|H39F214
+39F214:lI45|H39F2D0
+39F2D0:lI120|H39F38C
+39F38C:lI119|H39F450
+39F450:lI105|H39F51C
+39F51C:lI110|H39F5E0
+39F5E0:lI100|H39F6B4
+39F6B4:lI111|H39F788
+39F788:lI119|H39F85C
+39F85C:lI100|H39F940
+39F940:lI117|H39FA1C
+39FA1C:lI109|H39FAF0
+39FAF0:lI112|N
+39EC50:lI120|H39ED34
+39ED34:lI119|H39EE00
+39EE00:lI100|N
+39EB78:lH39EC60|H39EC6C
+39EC60:t2:H39ED44,H39ED4C
+39ED4C:lI105|H39EE18
+39EE18:lI109|H39EEDC
+39EEDC:lI97|H39EFA8
+39EFA8:lI103|H39F084
+39F084:lI101|H39F150
+39F150:lI47|H39F21C
+39F21C:lI120|H39F2D8
+39F2D8:lI45|H39F394
+39F394:lI120|H39F458
+39F458:lI112|H39F524
+39F524:lI105|H39F5E8
+39F5E8:lI120|H39F6BC
+39F6BC:lI109|H39F790
+39F790:lI97|H39F864
+39F864:lI112|N
+39ED44:lI120|H39EE10
+39EE10:lI112|H39EED4
+39EED4:lI109|N
+39EC6C:lH39ED54|H39ED60
+39ED54:t2:H39EE20,H39EE28
+39EE28:lI105|H39EEEC
+39EEEC:lI109|H39EFB8
+39EFB8:lI97|H39F08C
+39F08C:lI103|H39F158
+39F158:lI101|H39F224
+39F224:lI47|H39F2E0
+39F2E0:lI120|H39F39C
+39F39C:lI45|H39F460
+39F460:lI120|H39F52C
+39F52C:lI98|H39F5F0
+39F5F0:lI105|H39F6C4
+39F6C4:lI116|H39F798
+39F798:lI109|H39F86C
+39F86C:lI97|H39F948
+39F948:lI112|N
+39EE20:lI120|H39EEE4
+39EEE4:lI98|H39EFB0
+39EFB0:lI109|N
+39ED60:lH39EE30|H39EE3C
+39EE30:t2:H39EEF4,H39EEFC
+39EEFC:lI105|H39EFC8
+39EFC8:lI109|H39F09C
+39F09C:lI97|H39F160
+39F160:lI103|H39F22C
+39F22C:lI101|H39F2E8
+39F2E8:lI47|H39F3A4
+39F3A4:lI120|H39F468
+39F468:lI45|H39F534
+39F534:lI114|H39F5F8
+39F5F8:lI103|H39F6CC
+39F6CC:lI98|N
+39EEF4:lI114|H39EFC0
+39EFC0:lI103|H39F094
+39F094:lI98|N
+39EE3C:lH39EF04|H39EF10
+39EF04:t2:H39EFD0,H39EFD8
+39EFD8:lI105|H39F0AC
+39F0AC:lI109|H39F170
+39F170:lI97|H39F234
+39F234:lI103|H39F2F0
+39F2F0:lI101|H39F3AC
+39F3AC:lI47|H39F470
+39F470:lI120|H39F53C
+39F53C:lI45|H39F600
+39F600:lI112|H39F6D4
+39F6D4:lI111|H39F7A0
+39F7A0:lI114|H39F874
+39F874:lI116|H39F950
+39F950:lI97|H39FA24
+39FA24:lI98|H39FAF8
+39FAF8:lI108|H39FBC4
+39FBC4:lI101|H39FC90
+39FC90:lI45|H39FD54
+39FD54:lI112|H39FE18
+39FE18:lI105|H39FECC
+39FECC:lI120|H39FF88
+39FF88:lI109|H3A003C
+3A003C:lI97|H3A00E8
+3A00E8:lI112|N
+39EFD0:lI112|H39F0A4
+39F0A4:lI112|H39F168
+39F168:lI109|N
+39EF10:lH39EFE0|H39EFEC
+39EFE0:t2:H39F0B4,H39F0BC
+39F0BC:lI105|H39F180
+39F180:lI109|H39F244
+39F244:lI97|H39F2F8
+39F2F8:lI103|H39F3B4
+39F3B4:lI101|H39F478
+39F478:lI47|H39F544
+39F544:lI120|H39F608
+39F608:lI45|H39F6DC
+39F6DC:lI112|H39F7A8
+39F7A8:lI111|H39F87C
+39F87C:lI114|H39F958
+39F958:lI116|H39FA2C
+39FA2C:lI97|H39FB00
+39FB00:lI98|H39FBCC
+39FBCC:lI108|H39FC98
+39FC98:lI101|H39FD5C
+39FD5C:lI45|H39FE20
+39FE20:lI103|H39FED4
+39FED4:lI114|H39FF90
+39FF90:lI97|H3A0044
+3A0044:lI121|H3A00F0
+3A00F0:lI109|H3A0194
+3A0194:lI97|H3A0248
+3A0248:lI112|N
+39F0B4:lI112|H39F178
+39F178:lI103|H39F23C
+39F23C:lI109|N
+39EFEC:lH39F0C4|H39F0D0
+39F0C4:t2:H39F188,H39F190
+39F190:lI105|H39F254
+39F254:lI109|H39F308
+39F308:lI97|H39F3BC
+39F3BC:lI103|H39F480
+39F480:lI101|H39F54C
+39F54C:lI47|H39F610
+39F610:lI120|H39F6E4
+39F6E4:lI45|H39F7B0
+39F7B0:lI112|H39F884
+39F884:lI111|H39F960
+39F960:lI114|H39FA34
+39FA34:lI116|H39FB08
+39FB08:lI97|H39FBD4
+39FBD4:lI98|H39FCA0
+39FCA0:lI108|H39FD64
+39FD64:lI101|H39FE28
+39FE28:lI45|H39FEDC
+39FEDC:lI98|H39FF98
+39FF98:lI105|H3A004C
+3A004C:lI116|H3A00F8
+3A00F8:lI109|H3A019C
+3A019C:lI97|H3A0250
+3A0250:lI112|N
+39F188:lI112|H39F24C
+39F24C:lI98|H39F300
+39F300:lI109|N
+39F0D0:lH39F198|H39F1A4
+39F198:t2:H39F25C,H39F264
+39F264:lI105|H39F318
+39F318:lI109|H39F3CC
+39F3CC:lI97|H39F488
+39F488:lI103|H39F554
+39F554:lI101|H39F618
+39F618:lI47|H39F6EC
+39F6EC:lI120|H39F7B8
+39F7B8:lI45|H39F88C
+39F88C:lI112|H39F968
+39F968:lI111|H39FA3C
+39FA3C:lI114|H39FB10
+39FB10:lI116|H39FBDC
+39FBDC:lI97|H39FCA8
+39FCA8:lI98|H39FD6C
+39FD6C:lI108|H39FE30
+39FE30:lI101|H39FEE4
+39FEE4:lI45|H39FFA0
+39FFA0:lI97|H3A0054
+3A0054:lI110|H3A0100
+3A0100:lI121|H3A01A4
+3A01A4:lI109|H3A0258
+3A0258:lI97|H3A0304
+3A0304:lI112|N
+39F25C:lI112|H39F310
+39F310:lI110|H39F3C4
+39F3C4:lI109|N
+39F1A4:lH39F26C|H39F278
+39F26C:t2:H39F320,H39F328
+39F328:lI105|H39F3DC
+39F3DC:lI109|H39F498
+39F498:lI97|H39F55C
+39F55C:lI103|H39F620
+39F620:lI101|H39F6F4
+39F6F4:lI47|H39F7C0
+39F7C0:lI120|H39F894
+39F894:lI45|H39F970
+39F970:lI99|H39FA44
+39FA44:lI109|H39FB18
+39FB18:lI117|H39FBE4
+39FBE4:lI45|H39FCB0
+39FCB0:lI114|H39FD74
+39FD74:lI97|H39FE38
+39FE38:lI115|H39FEEC
+39FEEC:lI116|H39FFA8
+39FFA8:lI101|H3A005C
+3A005C:lI114|N
+39F320:lI114|H39F3D4
+39F3D4:lI97|H39F490
+39F490:lI115|N
+39F278:lH39F330|H39F33C
+39F330:t2:H39F3E4,H39F3EC
+39F3EC:lI105|H39F4A8
+39F4A8:lI109|H39F56C
+39F56C:lI97|H39F630
+39F630:lI103|H39F6FC
+39F6FC:lI101|H39F7C8
+39F7C8:lI47|H39F89C
+39F89C:lI116|H39F978
+39F978:lI105|H39FA4C
+39FA4C:lI102|H39FB20
+39FB20:lI102|N
+39F3E4:lI116|H39F4A0
+39F4A0:lI105|H39F564
+39F564:lI102|H39F628
+39F628:lI102|N
+39F33C:lH39F3F4|H39F400
+39F3F4:t2:H39F4B0,H39F4B8
+39F4B8:lI105|H39F57C
+39F57C:lI109|H39F640
+39F640:lI97|H39F704
+39F704:lI103|H39F7D0
+39F7D0:lI101|H39F8A4
+39F8A4:lI47|H39F980
+39F980:lI116|H39FA54
+39FA54:lI105|H39FB28
+39FB28:lI102|H39FBEC
+39FBEC:lI102|N
+39F4B0:lI116|H39F574
+39F574:lI105|H39F638
+39F638:lI102|N
+39F400:lH39F4C0|H39F4CC
+39F4C0:t2:H39F584,H39F58C
+39F58C:lI105|H39F650
+39F650:lI109|H39F714
+39F714:lI97|H39F7D8
+39F7D8:lI103|H39F8AC
+39F8AC:lI101|H39F988
+39F988:lI47|H39FA5C
+39FA5C:lI112|H39FB30
+39FB30:lI110|H39FBF4
+39FBF4:lI103|N
+39F584:lI112|H39F648
+39F648:lI110|H39F70C
+39F70C:lI103|N
+39F4CC:lH39F594|H39F5A0
+39F594:t2:H39F658,H39F660
+39F660:lI105|H39F724
+39F724:lI109|H39F7E8
+39F7E8:lI97|H39F8BC
+39F8BC:lI103|H39F990
+39F990:lI101|H39FA64
+39FA64:lI47|H39FB38
+39FB38:lI106|H39FBFC
+39FBFC:lI112|H39FCB8
+39FCB8:lI101|H39FD7C
+39FD7C:lI103|N
+39F658:lI106|H39F71C
+39F71C:lI112|H39F7E0
+39F7E0:lI101|H39F8B4
+39F8B4:lI103|N
+39F5A0:lH39F668|H39F674
+39F668:t2:H39F72C,H39F734
+39F734:lI105|H39F7F8
+39F7F8:lI109|H39F8CC
+39F8CC:lI97|H39F998
+39F998:lI103|H39FA6C
+39FA6C:lI101|H39FB40
+39FB40:lI47|H39FC04
+39FC04:lI106|H39FCC0
+39FCC0:lI112|H39FD84
+39FD84:lI101|H39FE40
+39FE40:lI103|N
+39F72C:lI106|H39F7F0
+39F7F0:lI112|H39F8C4
+39F8C4:lI103|N
+39F674:lH39F73C|H39F748
+39F73C:t2:H39F800,H39F808
+39F808:lI105|H39F8DC
+39F8DC:lI109|H39F9A8
+39F9A8:lI97|H39FA74
+39FA74:lI103|H39FB48
+39FB48:lI101|H39FC0C
+39FC0C:lI47|H39FCC8
+39FCC8:lI106|H39FD8C
+39FD8C:lI112|H39FE48
+39FE48:lI101|H39FEF4
+39FEF4:lI103|N
+39F800:lI106|H39F8D4
+39F8D4:lI112|H39F9A0
+39F9A0:lI101|N
+39F748:lH39F810|H39F81C
+39F810:t2:H39F8E4,H39F8EC
+39F8EC:lI105|H39F9B8
+39F9B8:lI109|H39FA84
+39FA84:lI97|H39FB50
+39FB50:lI103|H39FC14
+39FC14:lI101|H39FCD0
+39FCD0:lI47|H39FD94
+39FD94:lI105|H39FE50
+39FE50:lI101|H39FEFC
+39FEFC:lI102|N
+39F8E4:lI105|H39F9B0
+39F9B0:lI101|H39FA7C
+39FA7C:lI102|N
+39F81C:lH39F8F4|H39F900
+39F8F4:t2:H39F9C0,H39F9C8
+39F9C8:lI105|H39FA94
+39FA94:lI109|H39FB60
+39FB60:lI97|H39FC1C
+39FC1C:lI103|H39FCD8
+39FCD8:lI101|H39FD9C
+39FD9C:lI47|H39FE58
+39FE58:lI103|H39FF04
+39FF04:lI105|H39FFB0
+39FFB0:lI102|N
+39F9C0:lI103|H39FA8C
+39FA8C:lI105|H39FB58
+39FB58:lI102|N
+39F900:lH39F9D0|H39F9DC
+39F9D0:t2:H39FA9C,H39FAA4
+39FAA4:lI99|H39FB70
+39FB70:lI104|H39FC2C
+39FC2C:lI101|H39FCE0
+39FCE0:lI109|H39FDA4
+39FDA4:lI105|H39FE60
+39FE60:lI99|H39FF0C
+39FF0C:lI97|H39FFB8
+39FFB8:lI108|H3A0064
+3A0064:lI47|H3A0108
+3A0108:lI120|H3A01AC
+3A01AC:lI45|H3A0260
+3A0260:lI112|H3A030C
+3A030C:lI100|H3A03B8
+3A03B8:lI98|N
+39FA9C:lI112|H39FB68
+39FB68:lI100|H39FC24
+39FC24:lI98|N
+39F9DC:lH39FAAC|H39FAB8
+39FAAC:t2:H39FB78,H39FB80
+39FB80:lI99|H39FC3C
+39FC3C:lI104|H39FCF0
+39FCF0:lI101|H39FDAC
+39FDAC:lI109|H39FE68
+39FE68:lI105|H39FF14
+39FF14:lI99|H39FFC0
+39FFC0:lI97|H3A006C
+3A006C:lI108|H3A0110
+3A0110:lI47|H3A01B4
+3A01B4:lI120|H3A0268
+3A0268:lI45|H3A0314
+3A0314:lI112|H3A03C0
+3A03C0:lI100|H3A0454
+3A0454:lI98|N
+39FB78:lI120|H39FC34
+39FC34:lI121|H39FCE8
+39FCE8:lI122|N
+39FAB8:lH39FB88|H39FB94
+39FB88:t2:H39FC44,H39FC4C
+39FC4C:lI97|H39FD00
+39FD00:lI117|H39FDBC
+39FDBC:lI100|H39FE70
+39FE70:lI105|H39FF1C
+39FF1C:lI111|H39FFC8
+39FFC8:lI47|H3A0074
+3A0074:lI120|H3A0118
+3A0118:lI45|H3A01BC
+3A01BC:lI119|H3A0270
+3A0270:lI97|H3A031C
+3A031C:lI118|N
+39FC44:lI119|H39FCF8
+39FCF8:lI97|H39FDB4
+39FDB4:lI118|N
+39FB94:lH39FC54|H39FC60
+39FC54:t2:H39FD08,H39FD10
+39FD10:lI97|H39FDCC
+39FDCC:lI117|H39FE78
+39FE78:lI100|H39FF24
+39FF24:lI105|H39FFD0
+39FFD0:lI111|H3A007C
+3A007C:lI47|H3A0120
+3A0120:lI120|H3A01C4
+3A01C4:lI45|H3A0278
+3A0278:lI114|H3A0324
+3A0324:lI101|H3A03C8
+3A03C8:lI97|H3A045C
+3A045C:lI108|H3A04F8
+3A04F8:lI97|H3A059C
+3A059C:lI117|H3A0648
+3A0648:lI100|H3A06F4
+3A06F4:lI105|H3A07A0
+3A07A0:lI111|N
+39FD08:lI114|H39FDC4
+39FDC4:lI97|N
+39FC60:lH39FD18|H39FD24
+39FD18:t2:H39FDD4,H39FDDC
+39FDDC:lI97|H39FE88
+39FE88:lI117|H39FF34
+39FF34:lI100|H39FFD8
+39FFD8:lI105|H3A0084
+3A0084:lI111|H3A0128
+3A0128:lI47|H3A01CC
+3A01CC:lI120|H3A0280
+3A0280:lI45|H3A032C
+3A032C:lI112|H3A03D0
+3A03D0:lI110|H3A0464
+3A0464:lI45|H3A0500
+3A0500:lI114|H3A05A4
+3A05A4:lI101|H3A0650
+3A0650:lI97|H3A06FC
+3A06FC:lI108|H3A07A8
+3A07A8:lI97|H3A0844
+3A0844:lI117|H3A08D0
+3A08D0:lI100|H3A0964
+3A0964:lI105|H3A09F8
+3A09F8:lI111|H3A0A94
+3A0A94:lI45|H3A0B40
+3A0B40:lI112|H3A0BEC
+3A0BEC:lI108|H3A0CA8
+3A0CA8:lI117|H3A0D64
+3A0D64:lI103|H3A0E18
+3A0E18:lI105|H3A0ECC
+3A0ECC:lI110|N
+39FDD4:lI114|H39FE80
+39FE80:lI112|H39FF2C
+39FF2C:lI109|N
+39FD24:lH39FDE4|H39FDF0
+39FDE4:t2:H39FE90,H39FE98
+39FE98:lI97|H39FF44
+39FF44:lI117|H39FFE8
+39FFE8:lI100|H3A008C
+3A008C:lI105|H3A0130
+3A0130:lI111|H3A01D4
+3A01D4:lI47|H3A0288
+3A0288:lI120|H3A0334
+3A0334:lI45|H3A03D8
+3A03D8:lI112|H3A046C
+3A046C:lI110|H3A0508
+3A0508:lI45|H3A05AC
+3A05AC:lI114|H3A0658
+3A0658:lI101|H3A0704
+3A0704:lI97|H3A07B0
+3A07B0:lI108|H3A084C
+3A084C:lI97|H3A08D8
+3A08D8:lI117|H3A096C
+3A096C:lI100|H3A0A00
+3A0A00:lI105|H3A0A9C
+3A0A9C:lI111|N
+39FE90:lI114|H39FF3C
+39FF3C:lI97|H39FFE0
+39FFE0:lI109|N
+39FDF0:lH39FEA0|H39FEAC
+39FEA0:t2:H39FF4C,H39FF54
+39FF54:lI97|H39FFF8
+39FFF8:lI117|H3A009C
+3A009C:lI100|H3A0138
+3A0138:lI105|H3A01DC
+3A01DC:lI111|H3A0290
+3A0290:lI47|H3A033C
+3A033C:lI120|H3A03E0
+3A03E0:lI45|H3A0474
+3A0474:lI97|H3A0510
+3A0510:lI105|H3A05B4
+3A05B4:lI102|H3A0660
+3A0660:lI102|N
+39FF4C:lI97|H39FFF0
+39FFF0:lI105|H3A0094
+3A0094:lI102|N
+39FEAC:lH39FF5C|H39FF68
+39FF5C:t2:H3A0000,H3A0008
+3A0008:lI97|H3A00AC
+3A00AC:lI117|H3A0148
+3A0148:lI100|H3A01EC
+3A01EC:lI105|H3A0298
+3A0298:lI111|H3A0344
+3A0344:lI47|H3A03E8
+3A03E8:lI120|H3A047C
+3A047C:lI45|H3A0518
+3A0518:lI97|H3A05BC
+3A05BC:lI105|H3A0668
+3A0668:lI102|H3A070C
+3A070C:lI102|N
+3A0000:lI97|H3A00A4
+3A00A4:lI105|H3A0140
+3A0140:lI102|H3A01E4
+3A01E4:lI102|N
+39FF68:lH3A0010|H3A001C
+3A0010:t2:H3A00B4,H3A00BC
+3A00BC:lI97|H3A0158
+3A0158:lI117|H3A01FC
+3A01FC:lI100|H3A02A8
+3A02A8:lI105|H3A034C
+3A034C:lI111|H3A03F0
+3A03F0:lI47|H3A0484
+3A0484:lI120|H3A0520
+3A0520:lI45|H3A05C4
+3A05C4:lI97|H3A0670
+3A0670:lI105|H3A0714
+3A0714:lI102|H3A07B8
+3A07B8:lI102|N
+3A00B4:lI97|H3A0150
+3A0150:lI105|H3A01F4
+3A01F4:lI102|H3A02A0
+3A02A0:lI99|N
+3A001C:lH3A00C4|H3A00D0
+3A00C4:t2:H3A0160,H3A0168
+3A0168:lI97|H3A020C
+3A020C:lI117|H3A02B8
+3A02B8:lI100|H3A035C
+3A035C:lI105|H3A03F8
+3A03F8:lI111|H3A048C
+3A048C:lI47|H3A0528
+3A0528:lI109|H3A05CC
+3A05CC:lI112|H3A0678
+3A0678:lI101|H3A071C
+3A071C:lI103|N
+3A0160:lI109|H3A0204
+3A0204:lI112|H3A02B0
+3A02B0:lI103|H3A0354
+3A0354:lI97|N
+3A00D0:lH3A0170|H3A017C
+3A0170:t2:H3A0214,H3A021C
+3A021C:lI97|H3A02C8
+3A02C8:lI117|H3A036C
+3A036C:lI100|H3A0400
+3A0400:lI105|H3A0494
+3A0494:lI111|H3A0530
+3A0530:lI47|H3A05D4
+3A05D4:lI109|H3A0680
+3A0680:lI112|H3A0724
+3A0724:lI101|H3A07C0
+3A07C0:lI103|N
+3A0214:lI109|H3A02C0
+3A02C0:lI112|H3A0364
+3A0364:lI50|N
+3A017C:lH3A0224|H3A0230
+3A0224:t2:H3A02D0,H3A02D8
+3A02D8:lI97|H3A037C
+3A037C:lI117|H3A0408
+3A0408:lI100|H3A049C
+3A049C:lI105|H3A0538
+3A0538:lI111|H3A05DC
+3A05DC:lI47|H3A0688
+3A0688:lI98|H3A072C
+3A072C:lI97|H3A07C8
+3A07C8:lI115|H3A0854
+3A0854:lI105|H3A08E0
+3A08E0:lI99|N
+3A02D0:lI97|H3A0374
+3A0374:lI117|N
+3A0230:lH3A02E0|H3A02EC
+3A02E0:t2:H3A0384,H3A038C
+3A038C:lI97|H3A0418
+3A0418:lI117|H3A04AC
+3A04AC:lI100|H3A0540
+3A0540:lI105|H3A05E4
+3A05E4:lI111|H3A0690
+3A0690:lI47|H3A0734
+3A0734:lI98|H3A07D0
+3A07D0:lI97|H3A085C
+3A085C:lI115|H3A08E8
+3A08E8:lI105|H3A0974
+3A0974:lI99|N
+3A0384:lI115|H3A0410
+3A0410:lI110|H3A04A4
+3A04A4:lI100|N
+3A02EC:lH3A0394|H3A03A0
+3A0394:t2:H3A0420,H3A0428
+3A0428:lI97|H3A04BC
+3A04BC:lI112|H3A0550
+3A0550:lI112|H3A05EC
+3A05EC:lI108|H3A0698
+3A0698:lI105|H3A073C
+3A073C:lI99|H3A07D8
+3A07D8:lI97|H3A0864
+3A0864:lI116|H3A08F0
+3A08F0:lI105|H3A097C
+3A097C:lI111|H3A0A08
+3A0A08:lI110|H3A0AA4
+3A0AA4:lI47|H3A0B48
+3A0B48:lI122|H3A0BF4
+3A0BF4:lI105|H3A0CB0
+3A0CB0:lI112|N
+3A0420:lI122|H3A04B4
+3A04B4:lI105|H3A0548
+3A0548:lI112|N
+3A03A0:lH3A0430|H3A043C
+3A0430:t2:H3A04C4,H3A04CC
+3A04CC:lI97|H3A0560
+3A0560:lI112|H3A05FC
+3A05FC:lI112|H3A06A0
+3A06A0:lI108|H3A0744
+3A0744:lI105|H3A07E0
+3A07E0:lI99|H3A086C
+3A086C:lI97|H3A08F8
+3A08F8:lI116|H3A0984
+3A0984:lI105|H3A0A10
+3A0A10:lI111|H3A0AAC
+3A0AAC:lI110|H3A0B50
+3A0B50:lI47|H3A0BFC
+3A0BFC:lI120|H3A0CB8
+3A0CB8:lI45|H3A0D6C
+3A0D6C:lI119|H3A0E20
+3A0E20:lI97|H3A0ED4
+3A0ED4:lI105|H3A0F90
+3A0F90:lI115|H3A105C
+3A105C:lI45|H3A1130
+3A1130:lI115|H3A1204
+3A1204:lI111|H3A12D0
+3A12D0:lI117|H3A13A4
+3A13A4:lI114|H3A1480
+3A1480:lI99|H3A1564
+3A1564:lI101|N
+3A04C4:lI115|H3A0558
+3A0558:lI114|H3A05F4
+3A05F4:lI99|N
+3A043C:lH3A04D4|H3A04E0
+3A04D4:t2:H3A0568,H3A0570
+3A0570:lI97|H3A060C
+3A060C:lI112|H3A06B0
+3A06B0:lI112|H3A0754
+3A0754:lI108|H3A07F0
+3A07F0:lI105|H3A0874
+3A0874:lI99|H3A0900
+3A0900:lI97|H3A098C
+3A098C:lI116|H3A0A18
+3A0A18:lI105|H3A0AB4
+3A0AB4:lI111|H3A0B58
+3A0B58:lI110|H3A0C04
+3A0C04:lI47|H3A0CC0
+3A0CC0:lI120|H3A0D74
+3A0D74:lI45|H3A0E28
+3A0E28:lI117|H3A0EDC
+3A0EDC:lI115|H3A0F98
+3A0F98:lI116|H3A1064
+3A1064:lI97|H3A1138
+3A1138:lI114|N
+3A0568:lI117|H3A0604
+3A0604:lI115|H3A06A8
+3A06A8:lI116|H3A074C
+3A074C:lI97|H3A07E8
+3A07E8:lI114|N
+3A04E0:lH3A0578|H3A0584
+3A0578:t2:H3A0614,H3A061C
+3A061C:lI97|H3A06C0
+3A06C0:lI112|H3A075C
+3A075C:lI112|H3A07F8
+3A07F8:lI108|H3A087C
+3A087C:lI105|H3A0908
+3A0908:lI99|H3A0994
+3A0994:lI97|H3A0A20
+3A0A20:lI116|H3A0ABC
+3A0ABC:lI105|H3A0B60
+3A0B60:lI111|H3A0C0C
+3A0C0C:lI110|H3A0CC8
+3A0CC8:lI47|H3A0D7C
+3A0D7C:lI120|H3A0E30
+3A0E30:lI45|H3A0EE4
+3A0EE4:lI116|H3A0FA0
+3A0FA0:lI114|H3A106C
+3A106C:lI111|H3A1140
+3A1140:lI102|H3A120C
+3A120C:lI102|H3A12D8
+3A12D8:lI45|H3A13AC
+3A13AC:lI109|H3A1488
+3A1488:lI115|N
+3A0614:lI109|H3A06B8
+3A06B8:lI115|N
+3A0584:lH3A0624|H3A0630
+3A0624:t2:H3A06C8,H3A06D0
+3A06D0:lI97|H3A076C
+3A076C:lI112|H3A0800
+3A0800:lI112|H3A0884
+3A0884:lI108|H3A0910
+3A0910:lI105|H3A099C
+3A099C:lI99|H3A0A28
+3A0A28:lI97|H3A0AC4
+3A0AC4:lI116|H3A0B68
+3A0B68:lI105|H3A0C14
+3A0C14:lI111|H3A0CD0
+3A0CD0:lI110|H3A0D84
+3A0D84:lI47|H3A0E38
+3A0E38:lI120|H3A0EEC
+3A0EEC:lI45|H3A0FA8
+3A0FA8:lI116|H3A1074
+3A1074:lI114|H3A1148
+3A1148:lI111|H3A1214
+3A1214:lI102|H3A12E0
+3A12E0:lI102|H3A13B4
+3A13B4:lI45|H3A1490
+3A1490:lI109|H3A156C
+3A156C:lI101|N
+3A06C8:lI109|H3A0764
+3A0764:lI101|N
+3A0630:lH3A06D8|H3A06E4
+3A06D8:t2:H3A0774,H3A077C
+3A077C:lI97|H3A0810
+3A0810:lI112|H3A0894
+3A0894:lI112|H3A0918
+3A0918:lI108|H3A09A4
+3A09A4:lI105|H3A0A30
+3A0A30:lI99|H3A0ACC
+3A0ACC:lI97|H3A0B70
+3A0B70:lI116|H3A0C1C
+3A0C1C:lI105|H3A0CD8
+3A0CD8:lI111|H3A0D8C
+3A0D8C:lI110|H3A0E40
+3A0E40:lI47|H3A0EF4
+3A0EF4:lI120|H3A0FB0
+3A0FB0:lI45|H3A107C
+3A107C:lI116|H3A1150
+3A1150:lI114|H3A121C
+3A121C:lI111|H3A12E8
+3A12E8:lI102|H3A13BC
+3A13BC:lI102|H3A1498
+3A1498:lI45|H3A1574
+3A1574:lI109|H3A1648
+3A1648:lI97|H3A171C
+3A171C:lI110|N
+3A0774:lI109|H3A0808
+3A0808:lI97|H3A088C
+3A088C:lI110|N
+3A06E4:lH3A0784|H3A0790
+3A0784:t2:H3A0818,H3A0820
+3A0820:lI97|H3A089C
+3A089C:lI112|H3A0920
+3A0920:lI112|H3A09AC
+3A09AC:lI108|H3A0A38
+3A0A38:lI105|H3A0AD4
+3A0AD4:lI99|H3A0B78
+3A0B78:lI97|H3A0C24
+3A0C24:lI116|H3A0CE0
+3A0CE0:lI105|H3A0D94
+3A0D94:lI111|H3A0E48
+3A0E48:lI110|H3A0EFC
+3A0EFC:lI47|H3A0FB8
+3A0FB8:lI120|H3A1084
+3A1084:lI45|H3A1158
+3A1158:lI116|H3A1224
+3A1224:lI114|H3A12F0
+3A12F0:lI111|H3A13C4
+3A13C4:lI102|H3A14A0
+3A14A0:lI102|N
+3A0818:lI116|N
+3A0790:lH3A0828|H3A0834
+3A0828:t2:H3A08A4,H3A08AC
+3A08AC:lI97|H3A0930
+3A0930:lI112|H3A09B4
+3A09B4:lI112|H3A0A40
+3A0A40:lI108|H3A0ADC
+3A0ADC:lI105|H3A0B80
+3A0B80:lI99|H3A0C2C
+3A0C2C:lI97|H3A0CE8
+3A0CE8:lI116|H3A0D9C
+3A0D9C:lI105|H3A0E50
+3A0E50:lI111|H3A0F04
+3A0F04:lI110|H3A0FC0
+3A0FC0:lI47|H3A108C
+3A108C:lI120|H3A1160
+3A1160:lI45|H3A122C
+3A122C:lI116|H3A12F8
+3A12F8:lI114|H3A13CC
+3A13CC:lI111|H3A14A8
+3A14A8:lI102|H3A157C
+3A157C:lI102|N
+3A08A4:lI116|H3A0928
+3A0928:lI114|N
+3A0834:lH3A08B4|H3A08C0
+3A08B4:t2:H3A0938,H3A0940
+3A0940:lI97|H3A09C4
+3A09C4:lI112|H3A0A50
+3A0A50:lI112|H3A0AEC
+3A0AEC:lI108|H3A0B88
+3A0B88:lI105|H3A0C34
+3A0C34:lI99|H3A0CF0
+3A0CF0:lI97|H3A0DA4
+3A0DA4:lI116|H3A0E58
+3A0E58:lI105|H3A0F0C
+3A0F0C:lI111|H3A0FC8
+3A0FC8:lI110|H3A1094
+3A1094:lI47|H3A1168
+3A1168:lI120|H3A1234
+3A1234:lI45|H3A1300
+3A1300:lI116|H3A13D4
+3A13D4:lI114|H3A14B0
+3A14B0:lI111|H3A1584
+3A1584:lI102|H3A1650
+3A1650:lI102|N
+3A0938:lI114|H3A09BC
+3A09BC:lI111|H3A0A48
+3A0A48:lI102|H3A0AE4
+3A0AE4:lI102|N
+3A08C0:lH3A0948|H3A0954
+3A0948:t2:H3A09CC,H3A09D4
+3A09D4:lI97|H3A0A60
+3A0A60:lI112|H3A0AFC
+3A0AFC:lI112|H3A0B98
+3A0B98:lI108|H3A0C44
+3A0C44:lI105|H3A0D00
+3A0D00:lI99|H3A0DB4
+3A0DB4:lI97|H3A0E60
+3A0E60:lI116|H3A0F14
+3A0F14:lI105|H3A0FD0
+3A0FD0:lI111|H3A109C
+3A109C:lI110|H3A1170
+3A1170:lI47|H3A123C
+3A123C:lI120|H3A1308
+3A1308:lI45|H3A13DC
+3A13DC:lI116|H3A14B8
+3A14B8:lI101|H3A158C
+3A158C:lI120|H3A1658
+3A1658:lI105|H3A1724
+3A1724:lI110|H3A17E8
+3A17E8:lI102|H3A18AC
+3A18AC:lI111|N
+3A09CC:lI116|H3A0A58
+3A0A58:lI101|H3A0AF4
+3A0AF4:lI120|H3A0B90
+3A0B90:lI105|H3A0C3C
+3A0C3C:lI110|H3A0CF8
+3A0CF8:lI102|H3A0DAC
+3A0DAC:lI111|N
+3A0954:lH3A09DC|H3A09E8
+3A09DC:t2:H3A0A68,H3A0A70
+3A0A70:lI97|H3A0B0C
+3A0B0C:lI112|H3A0BA8
+3A0BA8:lI112|H3A0C54
+3A0C54:lI108|H3A0D08
+3A0D08:lI105|H3A0DBC
+3A0DBC:lI99|H3A0E68
+3A0E68:lI97|H3A0F1C
+3A0F1C:lI116|H3A0FD8
+3A0FD8:lI105|H3A10A4
+3A10A4:lI111|H3A1178
+3A1178:lI110|H3A1244
+3A1244:lI47|H3A1310
+3A1310:lI120|H3A13E4
+3A13E4:lI45|H3A14C0
+3A14C0:lI116|H3A1594
+3A1594:lI101|H3A1660
+3A1660:lI120|H3A172C
+3A172C:lI105|H3A17F0
+3A17F0:lI110|H3A18B4
+3A18B4:lI102|H3A1970
+3A1970:lI111|N
+3A0A68:lI116|H3A0B04
+3A0B04:lI101|H3A0BA0
+3A0BA0:lI120|H3A0C4C
+3A0C4C:lI105|N
+3A09E8:lH3A0A78|H3A0A84
+3A0A78:t2:H3A0B14,H3A0B1C
+3A0B1C:lI97|H3A0BB8
+3A0BB8:lI112|H3A0C64
+3A0C64:lI112|H3A0D10
+3A0D10:lI108|H3A0DC4
+3A0DC4:lI105|H3A0E70
+3A0E70:lI99|H3A0F24
+3A0F24:lI97|H3A0FE0
+3A0FE0:lI116|H3A10AC
+3A10AC:lI105|H3A1180
+3A1180:lI111|H3A124C
+3A124C:lI110|H3A1318
+3A1318:lI47|H3A13EC
+3A13EC:lI120|H3A14C8
+3A14C8:lI45|H3A159C
+3A159C:lI116|H3A1668
+3A1668:lI101|H3A1734
+3A1734:lI120|N
+3A0B14:lI116|H3A0BB0
+3A0BB0:lI101|H3A0C5C
+3A0C5C:lI120|N
+3A0A84:lH3A0B24|H3A0B30
+3A0B24:t2:H3A0BC0,H3A0BC8
+3A0BC8:lI97|H3A0C74
+3A0C74:lI112|H3A0D20
+3A0D20:lI112|H3A0DCC
+3A0DCC:lI108|H3A0E78
+3A0E78:lI105|H3A0F2C
+3A0F2C:lI99|H3A0FE8
+3A0FE8:lI97|H3A10B4
+3A10B4:lI116|H3A1188
+3A1188:lI105|H3A1254
+3A1254:lI111|H3A1320
+3A1320:lI110|H3A13F4
+3A13F4:lI47|H3A14D0
+3A14D0:lI120|H3A15A4
+3A15A4:lI45|H3A1670
+3A1670:lI116|H3A173C
+3A173C:lI99|H3A17F8
+3A17F8:lI108|N
+3A0BC0:lI116|H3A0C6C
+3A0C6C:lI99|H3A0D18
+3A0D18:lI108|N
+3A0B30:lH3A0BD0|H3A0BDC
+3A0BD0:t2:H3A0C7C,H3A0C84
+3A0C84:lI97|H3A0D30
+3A0D30:lI112|H3A0DDC
+3A0DDC:lI112|H3A0E80
+3A0E80:lI108|H3A0F34
+3A0F34:lI105|H3A0FF0
+3A0FF0:lI99|H3A10BC
+3A10BC:lI97|H3A1190
+3A1190:lI116|H3A125C
+3A125C:lI105|H3A1328
+3A1328:lI111|H3A13FC
+3A13FC:lI110|H3A14D8
+3A14D8:lI47|H3A15AC
+3A15AC:lI120|H3A1678
+3A1678:lI45|H3A1744
+3A1744:lI116|H3A1800
+3A1800:lI97|H3A18BC
+3A18BC:lI114|N
+3A0C7C:lI116|H3A0D28
+3A0D28:lI97|H3A0DD4
+3A0DD4:lI114|N
+3A0BDC:lH3A0C8C|H3A0C98
+3A0C8C:t2:H3A0D38,H3A0D40
+3A0D40:lI97|H3A0DEC
+3A0DEC:lI112|H3A0E90
+3A0E90:lI112|H3A0F44
+3A0F44:lI108|H3A1000
+3A1000:lI105|H3A10CC
+3A10CC:lI99|H3A1198
+3A1198:lI97|H3A1264
+3A1264:lI116|H3A1330
+3A1330:lI105|H3A1404
+3A1404:lI111|H3A14E0
+3A14E0:lI110|H3A15B4
+3A15B4:lI47|H3A1680
+3A1680:lI120|H3A174C
+3A174C:lI45|H3A1808
+3A1808:lI115|H3A18C4
+3A18C4:lI118|H3A1978
+3A1978:lI52|H3A1A2C
+3A1A2C:lI99|H3A1AE0
+3A1AE0:lI114|H3A1BA4
+3A1BA4:lI99|N
+3A0D38:lI115|H3A0DE4
+3A0DE4:lI118|H3A0E88
+3A0E88:lI52|H3A0F3C
+3A0F3C:lI99|H3A0FF8
+3A0FF8:lI114|H3A10C4
+3A10C4:lI99|N
+3A0C98:lH3A0D48|H3A0D54
+3A0D48:t2:H3A0DF4,H3A0DFC
+3A0DFC:lI97|H3A0EA0
+3A0EA0:lI112|H3A0F54
+3A0F54:lI112|H3A1010
+3A1010:lI108|H3A10DC
+3A10DC:lI105|H3A11A8
+3A11A8:lI99|H3A1274
+3A1274:lI97|H3A1338
+3A1338:lI116|H3A140C
+3A140C:lI105|H3A14E8
+3A14E8:lI111|H3A15BC
+3A15BC:lI110|H3A1688
+3A1688:lI47|H3A1754
+3A1754:lI120|H3A1810
+3A1810:lI45|H3A18CC
+3A18CC:lI115|H3A1980
+3A1980:lI118|H3A1A34
+3A1A34:lI52|H3A1AE8
+3A1AE8:lI99|H3A1BAC
+3A1BAC:lI112|H3A1C78
+3A1C78:lI105|H3A1D3C
+3A1D3C:lI111|N
+3A0DF4:lI115|H3A0E98
+3A0E98:lI118|H3A0F4C
+3A0F4C:lI52|H3A1008
+3A1008:lI99|H3A10D4
+3A10D4:lI112|H3A11A0
+3A11A0:lI105|H3A126C
+3A126C:lI111|N
+3A0D54:lH3A0E04|H3A0E10
+3A0E04:t2:H3A0EA8,H3A0EB0
+3A0EB0:lI97|H3A0F64
+3A0F64:lI112|H3A1020
+3A1020:lI112|H3A10E4
+3A10E4:lI108|H3A11B0
+3A11B0:lI105|H3A127C
+3A127C:lI99|H3A1340
+3A1340:lI97|H3A1414
+3A1414:lI116|H3A14F0
+3A14F0:lI105|H3A15C4
+3A15C4:lI111|H3A1690
+3A1690:lI110|H3A175C
+3A175C:lI47|H3A1818
+3A1818:lI120|H3A18D4
+3A18D4:lI45|H3A1988
+3A1988:lI115|H3A1A3C
+3A1A3C:lI116|H3A1AF0
+3A1AF0:lI117|H3A1BB4
+3A1BB4:lI102|H3A1C80
+3A1C80:lI102|H3A1D44
+3A1D44:lI105|H3A1E00
+3A1E00:lI116|N
+3A0EA8:lI115|H3A0F5C
+3A0F5C:lI105|H3A1018
+3A1018:lI116|N
+3A0E10:lH3A0EB8|H3A0EC4
+3A0EB8:t2:H3A0F6C,H3A0F74
+3A0F74:lI97|H3A1030
+3A1030:lI112|H3A10F4
+3A10F4:lI112|H3A11C0
+3A11C0:lI108|H3A1284
+3A1284:lI105|H3A1348
+3A1348:lI99|H3A141C
+3A141C:lI97|H3A14F8
+3A14F8:lI116|H3A15CC
+3A15CC:lI105|H3A1698
+3A1698:lI111|H3A1764
+3A1764:lI110|H3A1820
+3A1820:lI47|H3A18DC
+3A18DC:lI120|H3A1990
+3A1990:lI45|H3A1A44
+3A1A44:lI115|H3A1AF8
+3A1AF8:lI104|H3A1BBC
+3A1BBC:lI97|H3A1C88
+3A1C88:lI114|N
+3A0F6C:lI115|H3A1028
+3A1028:lI104|H3A10EC
+3A10EC:lI97|H3A11B8
+3A11B8:lI114|N
+3A0EC4:lH3A0F7C|H3A0F88
+3A0F7C:t2:H3A1038,H3A1040
+3A1040:lI97|H3A1104
+3A1104:lI112|H3A11C8
+3A11C8:lI112|H3A128C
+3A128C:lI108|H3A1350
+3A1350:lI105|H3A1424
+3A1424:lI99|H3A1500
+3A1500:lI97|H3A15D4
+3A15D4:lI116|H3A16A0
+3A16A0:lI105|H3A176C
+3A176C:lI111|H3A1828
+3A1828:lI110|H3A18E4
+3A18E4:lI47|H3A1998
+3A1998:lI120|H3A1A4C
+3A1A4C:lI45|H3A1B00
+3A1B00:lI115|H3A1BC4
+3A1BC4:lI104|N
+3A1038:lI115|H3A10FC
+3A10FC:lI104|N
+3A0F88:lH3A1048|H3A1054
+3A1048:t2:H3A110C,H3A1114
+3A1114:lI97|H3A11D8
+3A11D8:lI112|H3A1294
+3A1294:lI112|H3A1358
+3A1358:lI108|H3A142C
+3A142C:lI105|H3A1508
+3A1508:lI99|H3A15DC
+3A15DC:lI97|H3A16A8
+3A16A8:lI116|H3A1774
+3A1774:lI105|H3A1830
+3A1830:lI111|H3A18EC
+3A18EC:lI110|H3A19A0
+3A19A0:lI47|H3A1A54
+3A1A54:lI120|H3A1B08
+3A1B08:lI45|H3A1BCC
+3A1BCC:lI110|H3A1C90
+3A1C90:lI101|H3A1D4C
+3A1D4C:lI116|H3A1E08
+3A1E08:lI99|H3A1EC4
+3A1EC4:lI100|H3A1F88
+3A1F88:lI102|N
+3A110C:lI110|H3A11D0
+3A11D0:lI99|N
+3A1054:lH3A111C|H3A1128
+3A111C:t2:H3A11E0,H3A11E8
+3A11E8:lI97|H3A12A4
+3A12A4:lI112|H3A1368
+3A1368:lI112|H3A1434
+3A1434:lI108|H3A1510
+3A1510:lI105|H3A15E4
+3A15E4:lI99|H3A16B0
+3A16B0:lI97|H3A177C
+3A177C:lI116|H3A1838
+3A1838:lI105|H3A18F4
+3A18F4:lI111|H3A19A8
+3A19A8:lI110|H3A1A5C
+3A1A5C:lI47|H3A1B10
+3A1B10:lI120|H3A1BD4
+3A1BD4:lI45|H3A1C98
+3A1C98:lI110|H3A1D54
+3A1D54:lI101|H3A1E10
+3A1E10:lI116|H3A1ECC
+3A1ECC:lI99|H3A1F90
+3A1F90:lI100|H3A2044
+3A2044:lI102|N
+3A11E0:lI99|H3A129C
+3A129C:lI100|H3A1360
+3A1360:lI102|N
+3A1128:lH3A11F0|H3A11FC
+3A11F0:t2:H3A12AC,H3A12B4
+3A12B4:lI97|H3A1378
+3A1378:lI112|H3A1444
+3A1444:lI112|H3A1518
+3A1518:lI108|H3A15EC
+3A15EC:lI105|H3A16B8
+3A16B8:lI99|H3A1784
+3A1784:lI97|H3A1840
+3A1840:lI116|H3A18FC
+3A18FC:lI105|H3A19B0
+3A19B0:lI111|H3A1A64
+3A1A64:lI110|H3A1B18
+3A1B18:lI47|H3A1BDC
+3A1BDC:lI120|H3A1CA0
+3A1CA0:lI45|H3A1D5C
+3A1D5C:lI109|H3A1E18
+3A1E18:lI105|H3A1ED4
+3A1ED4:lI102|N
+3A12AC:lI109|H3A1370
+3A1370:lI105|H3A143C
+3A143C:lI102|N
+3A11FC:lH3A12BC|H3A12C8
+3A12BC:t2:H3A1380,H3A1388
+3A1388:lI97|H3A1454
+3A1454:lI112|H3A1528
+3A1528:lI112|H3A15FC
+3A15FC:lI108|H3A16C8
+3A16C8:lI105|H3A178C
+3A178C:lI99|H3A1848
+3A1848:lI97|H3A1904
+3A1904:lI116|H3A19B8
+3A19B8:lI105|H3A1A6C
+3A1A6C:lI111|H3A1B20
+3A1B20:lI110|H3A1BE4
+3A1BE4:lI47|H3A1CA8
+3A1CA8:lI120|H3A1D64
+3A1D64:lI45|H3A1E20
+3A1E20:lI108|H3A1EDC
+3A1EDC:lI97|H3A1F98
+3A1F98:lI116|H3A204C
+3A204C:lI101|H3A2108
+3A2108:lI120|N
+3A1380:lI108|H3A144C
+3A144C:lI97|H3A1520
+3A1520:lI116|H3A15F4
+3A15F4:lI101|H3A16C0
+3A16C0:lI120|N
+3A12C8:lH3A1390|H3A139C
+3A1390:t2:H3A145C,H3A1464
+3A1464:lI97|H3A1538
+3A1538:lI112|H3A160C
+3A160C:lI112|H3A16D0
+3A16D0:lI108|H3A1794
+3A1794:lI105|H3A1850
+3A1850:lI99|H3A190C
+3A190C:lI97|H3A19C0
+3A19C0:lI116|H3A1A74
+3A1A74:lI105|H3A1B28
+3A1B28:lI111|H3A1BEC
+3A1BEC:lI110|H3A1CB0
+3A1CB0:lI47|H3A1D6C
+3A1D6C:lI120|H3A1E28
+3A1E28:lI45|H3A1EE4
+3A1EE4:lI107|H3A1FA0
+3A1FA0:lI111|H3A2054
+3A2054:lI97|H3A2110
+3A2110:lI110|N
+3A145C:lI115|H3A1530
+3A1530:lI107|H3A1604
+3A1604:lI112|N
+3A139C:lH3A146C|H3A1478
+3A146C:t2:H3A1540,H3A1548
+3A1548:lI97|H3A161C
+3A161C:lI112|H3A16E0
+3A16E0:lI112|H3A179C
+3A179C:lI108|H3A1858
+3A1858:lI105|H3A1914
+3A1914:lI99|H3A19C8
+3A19C8:lI97|H3A1A7C
+3A1A7C:lI116|H3A1B30
+3A1B30:lI105|H3A1BF4
+3A1BF4:lI111|H3A1CB8
+3A1CB8:lI110|H3A1D74
+3A1D74:lI47|H3A1E30
+3A1E30:lI120|H3A1EEC
+3A1EEC:lI45|H3A1FA8
+3A1FA8:lI107|H3A205C
+3A205C:lI111|H3A2118
+3A2118:lI97|H3A21CC
+3A21CC:lI110|N
+3A1540:lI115|H3A1614
+3A1614:lI107|H3A16D8
+3A16D8:lI100|N
+3A1478:lH3A1550|H3A155C
+3A1550:t2:H3A1624,H3A162C
+3A162C:lI97|H3A16F0
+3A16F0:lI112|H3A17AC
+3A17AC:lI112|H3A1860
+3A1860:lI108|H3A191C
+3A191C:lI105|H3A19D0
+3A19D0:lI99|H3A1A84
+3A1A84:lI97|H3A1B38
+3A1B38:lI116|H3A1BFC
+3A1BFC:lI105|H3A1CC0
+3A1CC0:lI111|H3A1D7C
+3A1D7C:lI110|H3A1E38
+3A1E38:lI47|H3A1EF4
+3A1EF4:lI120|H3A1FB0
+3A1FB0:lI45|H3A2064
+3A2064:lI107|H3A2120
+3A2120:lI111|H3A21D4
+3A21D4:lI97|H3A2288
+3A2288:lI110|N
+3A1624:lI115|H3A16E8
+3A16E8:lI107|H3A17A4
+3A17A4:lI116|N
+3A155C:lH3A1634|H3A1640
+3A1634:t2:H3A16F8,H3A1700
+3A1700:lI97|H3A17BC
+3A17BC:lI112|H3A1870
+3A1870:lI112|H3A1924
+3A1924:lI108|H3A19D8
+3A19D8:lI105|H3A1A8C
+3A1A8C:lI99|H3A1B40
+3A1B40:lI97|H3A1C04
+3A1C04:lI116|H3A1CC8
+3A1CC8:lI105|H3A1D84
+3A1D84:lI111|H3A1E40
+3A1E40:lI110|H3A1EFC
+3A1EFC:lI47|H3A1FB8
+3A1FB8:lI120|H3A206C
+3A206C:lI45|H3A2128
+3A2128:lI107|H3A21DC
+3A21DC:lI111|H3A2290
+3A2290:lI97|H3A234C
+3A234C:lI110|N
+3A16F8:lI115|H3A17B4
+3A17B4:lI107|H3A1868
+3A1868:lI109|N
+3A1640:lH3A1708|H3A1714
+3A1708:t2:H3A17C4,H3A17CC
+3A17CC:lI97|H3A1880
+3A1880:lI112|H3A1934
+3A1934:lI112|H3A19E0
+3A19E0:lI108|H3A1A94
+3A1A94:lI105|H3A1B48
+3A1B48:lI99|H3A1C0C
+3A1C0C:lI97|H3A1CD0
+3A1CD0:lI116|H3A1D8C
+3A1D8C:lI105|H3A1E48
+3A1E48:lI111|H3A1F04
+3A1F04:lI110|H3A1FC0
+3A1FC0:lI47|H3A2074
+3A2074:lI120|H3A2130
+3A2130:lI45|H3A21E4
+3A21E4:lI104|H3A2298
+3A2298:lI116|H3A2354
+3A2354:lI116|H3A2410
+3A2410:lI112|H3A24C4
+3A24C4:lI100|H3A2580
+3A2580:lI45|H3A263C
+3A263C:lI99|H3A2700
+3A2700:lI103|H3A27BC
+3A27BC:lI105|N
+3A17C4:lI99|H3A1878
+3A1878:lI103|H3A192C
+3A192C:lI105|N
+3A1714:lH3A17D4|H3A17E0
+3A17D4:t2:H3A1888,H3A1890
+3A1890:lI97|H3A1944
+3A1944:lI112|H3A19F0
+3A19F0:lI112|H3A1A9C
+3A1A9C:lI108|H3A1B50
+3A1B50:lI105|H3A1C14
+3A1C14:lI99|H3A1CD8
+3A1CD8:lI97|H3A1D94
+3A1D94:lI116|H3A1E50
+3A1E50:lI105|H3A1F0C
+3A1F0C:lI111|H3A1FC8
+3A1FC8:lI110|H3A207C
+3A207C:lI47|H3A2138
+3A2138:lI120|H3A21EC
+3A21EC:lI45|H3A22A0
+3A22A0:lI104|H3A235C
+3A235C:lI100|H3A2418
+3A2418:lI102|N
+3A1888:lI104|H3A193C
+3A193C:lI100|H3A19E8
+3A19E8:lI102|N
+3A17E0:lH3A1898|H3A18A4
+3A1898:t2:H3A194C,H3A1954
+3A1954:lI97|H3A1A00
+3A1A00:lI112|H3A1AA4
+3A1AA4:lI112|H3A1B58
+3A1B58:lI108|H3A1C1C
+3A1C1C:lI105|H3A1CE0
+3A1CE0:lI99|H3A1D9C
+3A1D9C:lI97|H3A1E58
+3A1E58:lI116|H3A1F14
+3A1F14:lI105|H3A1FD0
+3A1FD0:lI111|H3A2084
+3A2084:lI110|H3A2140
+3A2140:lI47|H3A21F4
+3A21F4:lI120|H3A22A8
+3A22A8:lI45|H3A2364
+3A2364:lI103|H3A2420
+3A2420:lI122|H3A24CC
+3A24CC:lI105|H3A2588
+3A2588:lI112|N
+3A194C:lI103|H3A19F8
+3A19F8:lI122|N
+3A18A4:lH3A195C|H3A1968
+3A195C:t2:H3A1A08,H3A1A10
+3A1A10:lI97|H3A1AB4
+3A1AB4:lI112|H3A1B68
+3A1B68:lI112|H3A1C2C
+3A1C2C:lI108|H3A1CE8
+3A1CE8:lI105|H3A1DA4
+3A1DA4:lI99|H3A1E60
+3A1E60:lI97|H3A1F1C
+3A1F1C:lI116|H3A1FD8
+3A1FD8:lI105|H3A208C
+3A208C:lI111|H3A2148
+3A2148:lI110|H3A21FC
+3A21FC:lI47|H3A22B0
+3A22B0:lI120|H3A236C
+3A236C:lI45|H3A2428
+3A2428:lI103|H3A24D4
+3A24D4:lI116|H3A2590
+3A2590:lI97|H3A2644
+3A2644:lI114|N
+3A1A08:lI103|H3A1AAC
+3A1AAC:lI116|H3A1B60
+3A1B60:lI97|H3A1C24
+3A1C24:lI114|N
+3A1968:lH3A1A18|H3A1A24
+3A1A18:t2:H3A1ABC,H3A1AC4
+3A1AC4:lI97|H3A1B78
+3A1B78:lI112|H3A1C3C
+3A1C3C:lI112|H3A1CF0
+3A1CF0:lI108|H3A1DAC
+3A1DAC:lI105|H3A1E68
+3A1E68:lI99|H3A1F24
+3A1F24:lI97|H3A1FE0
+3A1FE0:lI116|H3A2094
+3A2094:lI105|H3A2150
+3A2150:lI111|H3A2204
+3A2204:lI110|H3A22B8
+3A22B8:lI47|H3A2374
+3A2374:lI120|H3A2430
+3A2430:lI45|H3A24DC
+3A24DC:lI100|H3A2598
+3A2598:lI118|H3A264C
+3A264C:lI105|N
+3A1ABC:lI100|H3A1B70
+3A1B70:lI118|H3A1C34
+3A1C34:lI105|N
+3A1A24:lH3A1ACC|H3A1AD8
+3A1ACC:t2:H3A1B80,H3A1B88
+3A1B88:lI97|H3A1C4C
+3A1C4C:lI112|H3A1D00
+3A1D00:lI112|H3A1DB4
+3A1DB4:lI108|H3A1E70
+3A1E70:lI105|H3A1F2C
+3A1F2C:lI99|H3A1FE8
+3A1FE8:lI97|H3A209C
+3A209C:lI116|H3A2158
+3A2158:lI105|H3A220C
+3A220C:lI111|H3A22C0
+3A22C0:lI110|H3A237C
+3A237C:lI47|H3A2438
+3A2438:lI120|H3A24E4
+3A24E4:lI45|H3A25A0
+3A25A0:lI100|H3A2654
+3A2654:lI105|H3A2708
+3A2708:lI114|H3A27C4
+3A27C4:lI101|H3A2880
+3A2880:lI99|H3A2944
+3A2944:lI116|H3A2A10
+3A2A10:lI111|H3A2ADC
+3A2ADC:lI114|N
+3A1B80:lI100|H3A1C44
+3A1C44:lI99|H3A1CF8
+3A1CF8:lI114|N
+3A1AD8:lH3A1B90|H3A1B9C
+3A1B90:t2:H3A1C54,H3A1C5C
+3A1C5C:lI97|H3A1D10
+3A1D10:lI112|H3A1DC4
+3A1DC4:lI112|H3A1E78
+3A1E78:lI108|H3A1F34
+3A1F34:lI105|H3A1FF0
+3A1FF0:lI99|H3A20A4
+3A20A4:lI97|H3A2160
+3A2160:lI116|H3A2214
+3A2214:lI105|H3A22C8
+3A22C8:lI111|H3A2384
+3A2384:lI110|H3A2440
+3A2440:lI47|H3A24EC
+3A24EC:lI120|H3A25A8
+3A25A8:lI45|H3A265C
+3A265C:lI100|H3A2710
+3A2710:lI105|H3A27CC
+3A27CC:lI114|H3A2888
+3A2888:lI101|H3A294C
+3A294C:lI99|H3A2A18
+3A2A18:lI116|H3A2AE4
+3A2AE4:lI111|H3A2BB0
+3A2BB0:lI114|N
+3A1C54:lI100|H3A1D08
+3A1D08:lI105|H3A1DBC
+3A1DBC:lI114|N
+3A1B9C:lH3A1C64|H3A1C70
+3A1C64:t2:H3A1D18,H3A1D20
+3A1D20:lI97|H3A1DD4
+3A1DD4:lI112|H3A1E88
+3A1E88:lI112|H3A1F3C
+3A1F3C:lI108|H3A1FF8
+3A1FF8:lI105|H3A20AC
+3A20AC:lI99|H3A2168
+3A2168:lI97|H3A221C
+3A221C:lI116|H3A22D0
+3A22D0:lI105|H3A238C
+3A238C:lI111|H3A2448
+3A2448:lI110|H3A24F4
+3A24F4:lI47|H3A25B0
+3A25B0:lI120|H3A2664
+3A2664:lI45|H3A2718
+3A2718:lI100|H3A27D4
+3A27D4:lI105|H3A2890
+3A2890:lI114|H3A2954
+3A2954:lI101|H3A2A20
+3A2A20:lI99|H3A2AEC
+3A2AEC:lI116|H3A2BB8
+3A2BB8:lI111|H3A2C74
+3A2C74:lI114|N
+3A1D18:lI100|H3A1DCC
+3A1DCC:lI120|H3A1E80
+3A1E80:lI114|N
+3A1C70:lH3A1D28|H3A1D34
+3A1D28:t2:H3A1DDC,H3A1DE4
+3A1DE4:lI97|H3A1E98
+3A1E98:lI112|H3A1F4C
+3A1F4C:lI112|H3A2000
+3A2000:lI108|H3A20B4
+3A20B4:lI105|H3A2170
+3A2170:lI99|H3A2224
+3A2224:lI97|H3A22D8
+3A22D8:lI116|H3A2394
+3A2394:lI105|H3A2450
+3A2450:lI111|H3A24FC
+3A24FC:lI110|H3A25B8
+3A25B8:lI47|H3A266C
+3A266C:lI120|H3A2720
+3A2720:lI45|H3A27DC
+3A27DC:lI99|H3A2898
+3A2898:lI115|H3A295C
+3A295C:lI104|N
+3A1DDC:lI99|H3A1E90
+3A1E90:lI115|H3A1F44
+3A1F44:lI104|N
+3A1D34:lH3A1DEC|H3A1DF8
+3A1DEC:t2:H3A1EA0,H3A1EA8
+3A1EA8:lI97|H3A1F5C
+3A1F5C:lI112|H3A2010
+3A2010:lI112|H3A20C4
+3A20C4:lI108|H3A2178
+3A2178:lI105|H3A222C
+3A222C:lI99|H3A22E0
+3A22E0:lI97|H3A239C
+3A239C:lI116|H3A2458
+3A2458:lI105|H3A2504
+3A2504:lI111|H3A25C0
+3A25C0:lI110|H3A2674
+3A2674:lI47|H3A2728
+3A2728:lI120|H3A27E4
+3A27E4:lI45|H3A28A0
+3A28A0:lI99|H3A2964
+3A2964:lI112|H3A2A28
+3A2A28:lI105|H3A2AF4
+3A2AF4:lI111|N
+3A1EA0:lI99|H3A1F54
+3A1F54:lI112|H3A2008
+3A2008:lI105|H3A20BC
+3A20BC:lI111|N
+3A1DF8:lH3A1EB0|H3A1EBC
+3A1EB0:t2:H3A1F64,H3A1F6C
+3A1F6C:lI97|H3A2018
+3A2018:lI112|H3A20CC
+3A20CC:lI112|H3A2180
+3A2180:lI108|H3A2234
+3A2234:lI105|H3A22E8
+3A22E8:lI99|H3A23A4
+3A23A4:lI97|H3A2460
+3A2460:lI116|H3A250C
+3A250C:lI105|H3A25C8
+3A25C8:lI111|H3A267C
+3A267C:lI110|H3A2730
+3A2730:lI47|H3A27EC
+3A27EC:lI120|H3A28A8
+3A28A8:lI45|H3A296C
+3A296C:lI99|H3A2A30
+3A2A30:lI111|H3A2AFC
+3A2AFC:lI109|H3A2BC0
+3A2BC0:lI112|H3A2C7C
+3A2C7C:lI114|H3A2D2C
+3A2D2C:lI101|H3A2DD4
+3A2DD4:lI115|H3A2E6C
+3A2E6C:lI115|N
+3A1F64:lI90|N
+3A1EBC:lH3A1F74|H3A1F80
+3A1F74:t2:H3A2020,H3A2028
+3A2028:lI97|H3A20DC
+3A20DC:lI112|H3A2190
+3A2190:lI112|H3A223C
+3A223C:lI108|H3A22F0
+3A22F0:lI105|H3A23AC
+3A23AC:lI99|H3A2468
+3A2468:lI97|H3A2514
+3A2514:lI116|H3A25D0
+3A25D0:lI105|H3A2684
+3A2684:lI111|H3A2738
+3A2738:lI110|H3A27F4
+3A27F4:lI47|H3A28B0
+3A28B0:lI120|H3A2974
+3A2974:lI45|H3A2A38
+3A2A38:lI99|H3A2B04
+3A2B04:lI100|H3A2BC8
+3A2BC8:lI108|H3A2C84
+3A2C84:lI105|H3A2D34
+3A2D34:lI110|H3A2DDC
+3A2DDC:lI107|N
+3A2020:lI118|H3A20D4
+3A20D4:lI99|H3A2188
+3A2188:lI100|N
+3A1F80:lH3A2030|H3A203C
+3A2030:t2:H3A20E4,H3A20EC
+3A20EC:lI97|H3A21A0
+3A21A0:lI112|H3A224C
+3A224C:lI112|H3A2300
+3A2300:lI108|H3A23BC
+3A23BC:lI105|H3A2470
+3A2470:lI99|H3A251C
+3A251C:lI97|H3A25D8
+3A25D8:lI116|H3A268C
+3A268C:lI105|H3A2740
+3A2740:lI111|H3A27FC
+3A27FC:lI110|H3A28B8
+3A28B8:lI47|H3A297C
+3A297C:lI120|H3A2A40
+3A2A40:lI45|H3A2B0C
+3A2B0C:lI98|H3A2BD0
+3A2BD0:lI99|H3A2C8C
+3A2C8C:lI112|H3A2D3C
+3A2D3C:lI105|H3A2DE4
+3A2DE4:lI111|N
+3A20E4:lI98|H3A2198
+3A2198:lI99|H3A2244
+3A2244:lI112|H3A22F8
+3A22F8:lI105|H3A23B4
+3A23B4:lI111|N
+3A203C:lH3A20F4|H3A2100
+3A20F4:t2:H3A21A8,H3A21B0
+3A21B0:lI97|H3A225C
+3A225C:lI112|H3A2310
+3A2310:lI112|H3A23C4
+3A23C4:lI108|H3A2478
+3A2478:lI105|H3A2524
+3A2524:lI99|H3A25E0
+3A25E0:lI97|H3A2694
+3A2694:lI116|H3A2748
+3A2748:lI105|H3A2804
+3A2804:lI111|H3A28C0
+3A28C0:lI110|H3A2984
+3A2984:lI47|H3A2A48
+3A2A48:lI114|H3A2B14
+3A2B14:lI116|H3A2BD8
+3A2BD8:lI102|N
+3A21A8:lI114|H3A2254
+3A2254:lI116|H3A2308
+3A2308:lI102|N
+3A2100:lH3A21B8|H3A21C4
+3A21B8:t2:H3A2264,H3A226C
+3A226C:lI97|H3A2320
+3A2320:lI112|H3A23D4
+3A23D4:lI112|H3A2480
+3A2480:lI108|H3A252C
+3A252C:lI105|H3A25E8
+3A25E8:lI99|H3A269C
+3A269C:lI97|H3A2750
+3A2750:lI116|H3A280C
+3A280C:lI105|H3A28C8
+3A28C8:lI111|H3A298C
+3A298C:lI110|H3A2A50
+3A2A50:lI47|H3A2B1C
+3A2B1C:lI112|H3A2BE0
+3A2BE0:lI111|H3A2C94
+3A2C94:lI119|H3A2D44
+3A2D44:lI101|H3A2DEC
+3A2DEC:lI114|H3A2E74
+3A2E74:lI112|H3A2EEC
+3A2EEC:lI111|H3A2F64
+3A2F64:lI105|H3A2FD4
+3A2FD4:lI110|H3A303C
+3A303C:lI116|N
+3A2264:lI112|H3A2318
+3A2318:lI112|H3A23CC
+3A23CC:lI116|N
+3A21C4:lH3A2274|H3A2280
+3A2274:t2:H3A2328,H3A2330
+3A2330:lI97|H3A23E4
+3A23E4:lI112|H3A2488
+3A2488:lI112|H3A2534
+3A2534:lI108|H3A25F0
+3A25F0:lI105|H3A26A4
+3A26A4:lI99|H3A2758
+3A2758:lI97|H3A2814
+3A2814:lI116|H3A28D0
+3A28D0:lI105|H3A2994
+3A2994:lI111|H3A2A58
+3A2A58:lI110|H3A2B24
+3A2B24:lI47|H3A2BE8
+3A2BE8:lI112|H3A2C9C
+3A2C9C:lI111|H3A2D4C
+3A2D4C:lI115|H3A2DF4
+3A2DF4:lI116|H3A2E7C
+3A2E7C:lI115|H3A2EF4
+3A2EF4:lI99|H3A2F6C
+3A2F6C:lI114|H3A2FDC
+3A2FDC:lI105|H3A3044
+3A3044:lI112|H3A30A4
+3A30A4:lI116|N
+3A2328:lI97|H3A23DC
+3A23DC:lI105|N
+3A2280:lH3A2338|H3A2344
+3A2338:t2:H3A23EC,H3A23F4
+3A23F4:lI97|H3A2498
+3A2498:lI112|H3A2544
+3A2544:lI112|H3A25F8
+3A25F8:lI108|H3A26AC
+3A26AC:lI105|H3A2760
+3A2760:lI99|H3A281C
+3A281C:lI97|H3A28D8
+3A28D8:lI116|H3A299C
+3A299C:lI105|H3A2A60
+3A2A60:lI111|H3A2B2C
+3A2B2C:lI110|H3A2BF0
+3A2BF0:lI47|H3A2CA4
+3A2CA4:lI112|H3A2D54
+3A2D54:lI111|H3A2DFC
+3A2DFC:lI115|H3A2E84
+3A2E84:lI116|H3A2EFC
+3A2EFC:lI115|H3A2F74
+3A2F74:lI99|H3A2FE4
+3A2FE4:lI114|H3A304C
+3A304C:lI105|H3A30AC
+3A30AC:lI112|H3A3104
+3A3104:lI116|N
+3A23EC:lI101|H3A2490
+3A2490:lI112|H3A253C
+3A253C:lI115|N
+3A2344:lH3A23FC|H3A2408
+3A23FC:t2:H3A24A0,H3A24A8
+3A24A8:lI97|H3A2554
+3A2554:lI112|H3A2600
+3A2600:lI112|H3A26B4
+3A26B4:lI108|H3A2768
+3A2768:lI105|H3A2824
+3A2824:lI99|H3A28E0
+3A28E0:lI97|H3A29A4
+3A29A4:lI116|H3A2A68
+3A2A68:lI105|H3A2B34
+3A2B34:lI111|H3A2BF8
+3A2BF8:lI110|H3A2CAC
+3A2CAC:lI47|H3A2D5C
+3A2D5C:lI112|H3A2E04
+3A2E04:lI111|H3A2E8C
+3A2E8C:lI115|H3A2F04
+3A2F04:lI116|H3A2F7C
+3A2F7C:lI115|H3A2FEC
+3A2FEC:lI99|H3A3054
+3A3054:lI114|H3A30B4
+3A30B4:lI105|H3A310C
+3A310C:lI112|H3A315C
+3A315C:lI116|N
+3A24A0:lI112|H3A254C
+3A254C:lI115|N
+3A2408:lH3A24B0|H3A24BC
+3A24B0:t2:H3A255C,H3A2564
+3A2564:lI97|H3A2610
+3A2610:lI112|H3A26C4
+3A26C4:lI112|H3A2770
+3A2770:lI108|H3A282C
+3A282C:lI105|H3A28E8
+3A28E8:lI99|H3A29AC
+3A29AC:lI97|H3A2A70
+3A2A70:lI116|H3A2B3C
+3A2B3C:lI105|H3A2C00
+3A2C00:lI111|H3A2CB4
+3A2CB4:lI110|H3A2D64
+3A2D64:lI47|H3A2E0C
+3A2E0C:lI112|H3A2E94
+3A2E94:lI100|H3A2F0C
+3A2F0C:lI102|N
+3A255C:lI112|H3A2608
+3A2608:lI100|H3A26BC
+3A26BC:lI102|N
+3A24BC:lH3A256C|H3A2578
+3A256C:t2:H3A2618,H3A2620
+3A2620:lI97|H3A26D4
+3A26D4:lI112|H3A2780
+3A2780:lI112|H3A2834
+3A2834:lI108|H3A28F0
+3A28F0:lI105|H3A29B4
+3A29B4:lI99|H3A2A78
+3A2A78:lI97|H3A2B44
+3A2B44:lI116|H3A2C08
+3A2C08:lI105|H3A2CBC
+3A2CBC:lI111|H3A2D6C
+3A2D6C:lI110|H3A2E14
+3A2E14:lI47|H3A2E9C
+3A2E9C:lI111|H3A2F14
+3A2F14:lI100|H3A2F84
+3A2F84:lI97|N
+3A2618:lI111|H3A26CC
+3A26CC:lI100|H3A2778
+3A2778:lI97|N
+3A2578:lH3A2628|H3A2634
+3A2628:t2:H3A26DC,H3A26E4
+3A26E4:lI97|H3A2790
+3A2790:lI112|H3A2844
+3A2844:lI112|H3A28F8
+3A28F8:lI108|H3A29BC
+3A29BC:lI105|H3A2A80
+3A2A80:lI99|H3A2B4C
+3A2B4C:lI97|H3A2C10
+3A2C10:lI116|H3A2CC4
+3A2CC4:lI105|H3A2D74
+3A2D74:lI111|H3A2E1C
+3A2E1C:lI110|H3A2EA4
+3A2EA4:lI47|H3A2F1C
+3A2F1C:lI111|H3A2F8C
+3A2F8C:lI99|H3A2FF4
+3A2FF4:lI116|H3A305C
+3A305C:lI101|H3A30BC
+3A30BC:lI116|H3A3114
+3A3114:lI45|H3A3164
+3A3164:lI115|H3A31AC
+3A31AC:lI116|H3A31F4
+3A31F4:lI114|H3A323C
+3A323C:lI101|H3A3284
+3A3284:lI97|H3A32CC
+3A32CC:lI109|N
+3A26DC:lI98|H3A2788
+3A2788:lI105|H3A283C
+3A283C:lI110|N
+3A2634:lH3A26EC|H3A26F8
+3A26EC:t2:H3A2798,H3A27A0
+3A27A0:lI97|H3A2854
+3A2854:lI112|H3A2908
+3A2908:lI112|H3A29C4
+3A29C4:lI108|H3A2A88
+3A2A88:lI105|H3A2B54
+3A2B54:lI99|H3A2C18
+3A2C18:lI97|H3A2CCC
+3A2CCC:lI116|H3A2D7C
+3A2D7C:lI105|H3A2E24
+3A2E24:lI111|H3A2EAC
+3A2EAC:lI110|H3A2F24
+3A2F24:lI47|H3A2F94
+3A2F94:lI111|H3A2FFC
+3A2FFC:lI99|H3A3064
+3A3064:lI116|H3A30C4
+3A30C4:lI101|H3A311C
+3A311C:lI116|H3A316C
+3A316C:lI45|H3A31B4
+3A31B4:lI115|H3A31FC
+3A31FC:lI116|H3A3244
+3A3244:lI114|H3A328C
+3A328C:lI101|H3A32D4
+3A32D4:lI97|H3A3314
+3A3314:lI109|N
+3A2798:lI100|H3A284C
+3A284C:lI109|H3A2900
+3A2900:lI115|N
+3A26F8:lH3A27A8|H3A27B4
+3A27A8:t2:H3A285C,H3A2864
+3A2864:lI97|H3A2918
+3A2918:lI112|H3A29D4
+3A29D4:lI112|H3A2A90
+3A2A90:lI108|H3A2B5C
+3A2B5C:lI105|H3A2C20
+3A2C20:lI99|H3A2CD4
+3A2CD4:lI97|H3A2D84
+3A2D84:lI116|H3A2E2C
+3A2E2C:lI105|H3A2EB4
+3A2EB4:lI111|H3A2F2C
+3A2F2C:lI110|H3A2F9C
+3A2F9C:lI47|H3A3004
+3A3004:lI111|H3A306C
+3A306C:lI99|H3A30CC
+3A30CC:lI116|H3A3124
+3A3124:lI101|H3A3174
+3A3174:lI116|H3A31BC
+3A31BC:lI45|H3A3204
+3A3204:lI115|H3A324C
+3A324C:lI116|H3A3294
+3A3294:lI114|H3A32DC
+3A32DC:lI101|H3A331C
+3A331C:lI97|H3A334C
+3A334C:lI109|N
+3A285C:lI108|H3A2910
+3A2910:lI104|H3A29CC
+3A29CC:lI97|N
+3A27B4:lH3A286C|H3A2878
+3A286C:t2:H3A2920,H3A2928
+3A2928:lI97|H3A29E4
+3A29E4:lI112|H3A2AA0
+3A2AA0:lI112|H3A2B64
+3A2B64:lI108|H3A2C28
+3A2C28:lI105|H3A2CDC
+3A2CDC:lI99|H3A2D8C
+3A2D8C:lI97|H3A2E34
+3A2E34:lI116|H3A2EBC
+3A2EBC:lI105|H3A2F34
+3A2F34:lI111|H3A2FA4
+3A2FA4:lI110|H3A300C
+3A300C:lI47|H3A3074
+3A3074:lI111|H3A30D4
+3A30D4:lI99|H3A312C
+3A312C:lI116|H3A317C
+3A317C:lI101|H3A31C4
+3A31C4:lI116|H3A320C
+3A320C:lI45|H3A3254
+3A3254:lI115|H3A329C
+3A329C:lI116|H3A32E4
+3A32E4:lI114|H3A3324
+3A3324:lI101|H3A3354
+3A3354:lI97|H3A337C
+3A337C:lI109|N
+3A2920:lI108|H3A29DC
+3A29DC:lI122|H3A2A98
+3A2A98:lI104|N
+3A2878:lH3A2930|H3A293C
+3A2930:t2:H3A29EC,H3A29F4
+3A29F4:lI97|H3A2AB0
+3A2AB0:lI112|H3A2B74
+3A2B74:lI112|H3A2C30
+3A2C30:lI108|H3A2CE4
+3A2CE4:lI105|H3A2D94
+3A2D94:lI99|H3A2E3C
+3A2E3C:lI97|H3A2EC4
+3A2EC4:lI116|H3A2F3C
+3A2F3C:lI105|H3A2FAC
+3A2FAC:lI111|H3A3014
+3A3014:lI110|H3A307C
+3A307C:lI47|H3A30DC
+3A30DC:lI111|H3A3134
+3A3134:lI99|H3A3184
+3A3184:lI116|H3A31CC
+3A31CC:lI101|H3A3214
+3A3214:lI116|H3A325C
+3A325C:lI45|H3A32A4
+3A32A4:lI115|H3A32EC
+3A32EC:lI116|H3A332C
+3A332C:lI114|H3A335C
+3A335C:lI101|H3A3384
+3A3384:lI97|H3A33A4
+3A33A4:lI109|N
+3A29EC:lI101|H3A2AA8
+3A2AA8:lI120|H3A2B6C
+3A2B6C:lI101|N
+3A293C:lH3A29FC|H3A2A08
+3A29FC:t2:H3A2AB8,H3A2AC0
+3A2AC0:lI97|H3A2B84
+3A2B84:lI112|H3A2C40
+3A2C40:lI112|H3A2CF4
+3A2CF4:lI108|H3A2DA4
+3A2DA4:lI105|H3A2E44
+3A2E44:lI99|H3A2ECC
+3A2ECC:lI97|H3A2F44
+3A2F44:lI116|H3A2FB4
+3A2FB4:lI105|H3A301C
+3A301C:lI111|H3A3084
+3A3084:lI110|H3A30E4
+3A30E4:lI47|H3A313C
+3A313C:lI111|H3A318C
+3A318C:lI99|H3A31D4
+3A31D4:lI116|H3A321C
+3A321C:lI101|H3A3264
+3A3264:lI116|H3A32AC
+3A32AC:lI45|H3A32F4
+3A32F4:lI115|H3A3334
+3A3334:lI116|H3A3364
+3A3364:lI114|H3A338C
+3A338C:lI101|H3A33AC
+3A33AC:lI97|H3A33C4
+3A33C4:lI109|N
+3A2AB8:lI99|H3A2B7C
+3A2B7C:lI108|H3A2C38
+3A2C38:lI97|H3A2CEC
+3A2CEC:lI115|H3A2D9C
+3A2D9C:lI115|N
+3A2A08:lH3A2AC8|H3A2AD4
+3A2AC8:t2:H3A2B8C,H3A2B94
+3A2B94:lI97|H3A2C50
+3A2C50:lI112|H3A2D04
+3A2D04:lI112|H3A2DAC
+3A2DAC:lI108|H3A2E4C
+3A2E4C:lI105|H3A2ED4
+3A2ED4:lI99|H3A2F4C
+3A2F4C:lI97|H3A2FBC
+3A2FBC:lI116|H3A3024
+3A3024:lI105|H3A308C
+3A308C:lI111|H3A30EC
+3A30EC:lI110|H3A3144
+3A3144:lI47|H3A3194
+3A3194:lI109|H3A31DC
+3A31DC:lI115|H3A3224
+3A3224:lI119|H3A326C
+3A326C:lI111|H3A32B4
+3A32B4:lI114|H3A32FC
+3A32FC:lI100|N
+3A2B8C:lI100|H3A2C48
+3A2C48:lI111|H3A2CFC
+3A2CFC:lI99|N
+3A2AD4:lH3A2B9C|H3A2BA8
+3A2B9C:t2:H3A2C58,H3A2C60
+3A2C60:lI97|H3A2D14
+3A2D14:lI112|H3A2DBC
+3A2DBC:lI112|H3A2E54
+3A2E54:lI108|H3A2EDC
+3A2EDC:lI105|H3A2F54
+3A2F54:lI99|H3A2FC4
+3A2FC4:lI97|H3A302C
+3A302C:lI116|H3A3094
+3A3094:lI105|H3A30F4
+3A30F4:lI111|H3A314C
+3A314C:lI110|H3A319C
+3A319C:lI47|H3A31E4
+3A31E4:lI109|H3A322C
+3A322C:lI97|H3A3274
+3A3274:lI99|H3A32BC
+3A32BC:lI45|H3A3304
+3A3304:lI99|H3A333C
+3A333C:lI111|H3A336C
+3A336C:lI109|H3A3394
+3A3394:lI112|H3A33B4
+3A33B4:lI97|H3A33CC
+3A33CC:lI99|H3A33DC
+3A33DC:lI116|H3A33EC
+3A33EC:lI112|H3A33FC
+3A33FC:lI114|H3A340C
+3A340C:lI111|N
+3A2C58:lI99|H3A2D0C
+3A2D0C:lI112|H3A2DB4
+3A2DB4:lI116|N
+3A2BA8:lH3A2C68|N
+3A2C68:t2:H3A2D1C,H3A2D24
+3A2D24:lI97|H3A2DCC
+3A2DCC:lI112|H3A2E64
+3A2E64:lI112|H3A2EE4
+3A2EE4:lI108|H3A2F5C
+3A2F5C:lI105|H3A2FCC
+3A2FCC:lI99|H3A3034
+3A3034:lI97|H3A309C
+3A309C:lI116|H3A30FC
+3A30FC:lI105|H3A3154
+3A3154:lI111|H3A31A4
+3A31A4:lI110|H3A31EC
+3A31EC:lI47|H3A3234
+3A3234:lI109|H3A327C
+3A327C:lI97|H3A32C4
+3A32C4:lI99|H3A330C
+3A330C:lI45|H3A3344
+3A3344:lI98|H3A3374
+3A3374:lI105|H3A339C
+3A339C:lI110|H3A33BC
+3A33BC:lI104|H3A33D4
+3A33D4:lI101|H3A33E4
+3A33E4:lI120|H3A33F4
+3A33F4:lI52|H3A3404
+3A3404:lI48|N
+3A2D1C:lI104|H3A2DC4
+3A2DC4:lI113|H3A2E5C
+3A2E5C:lI120|N
+39DC28:lH39DC68|H39DC74
+39DC68:t2:A4:port,I8888
+39DC74:lH39DCA8|H39DCB4
+39DCA8:t2:AC:bind_address,H39DCF8
+39DCF8:t4:I127,I0,I0,I1
+39DCB4:lH39DD0C|H39DD18
+39DD0C:t2:AB:server_name,H39DD6C
+39DD6C:lI108|H39DDE4
+39DDE4:lI111|H39DE5C
+39DE5C:lI99|H39DEE4
+39DEE4:lI97|H39DF6C
+39DF6C:lI108|H39E00C
+39E00C:lI104|H39E0B4
+39E0B4:lI111|H39E16C
+39E16C:lI115|H39E238
+39E238:lI116|N
+39DD18:lH39DD74|H39DD80
+39DD74:t2:AE:max_header_siz,I1024
+39DD80:lH39DDEC|H39DDF8
+39DDEC:t2:A11:max_header_action,A8:reply414
+39DDF8:lH39DE64|H39DE70
+39DE64:t2:A8:com_type,A7:ip_comm
+39DE70:lH39DEEC|H39DEF8
+39DEEC:t2:A7:modules,H39DF74
+39DF74:lA9:mod_alias|H39E014
+39E014:lA8:mod_auth|H39E0BC
+39E0BC:lA7:mod_esi|H39E174
+39E174:lAB:mod_actions|H39E240
+39E240:lA7:mod_cgi|H39E324
+39E324:lAB:mod_include|H39E418
+39E418:lA7:mod_dir|H39E51C
+39E51C:lA7:mod_get|H39E634
+39E634:lA8:mod_head|H39E748
+39E748:lA7:mod_log|H39E85C
+39E85C:lAC:mod_disk_log|N
+39DEF8:lH39DF7C|H39DF88
+39DF7C:t2:AF:directory_index,H39E01C
+39E01C:lH39E0C4|N
+39E0C4:lI105|H39E17C
+39E17C:lI110|H39E248
+39E248:lI100|H39E32C
+39E32C:lI101|H39E420
+39E420:lI120|H39E524
+39E524:lI46|H39E63C
+39E63C:lI104|H39E750
+39E750:lI116|H39E864
+39E864:lI109|H39E978
+39E978:lI108|N
+39DF88:lH39E024|H39E030
+39E024:t2:AC:default_type,H39E0CC
+39E0CC:lI116|H39E184
+39E184:lI101|H39E250
+39E250:lI120|H39E334
+39E334:lI116|H39E428
+39E428:lI47|H39E52C
+39E52C:lI112|H39E644
+39E644:lI108|H39E758
+39E758:lI97|H39E86C
+39E86C:lI105|H39E980
+39E980:lI110|N
+39E030:lH39E0D4|H39E0E0
+39E0D4:t2:A10:erl_script_alias,H39E18C
+39E18C:t2:H39E258,H39E260
+39E260:lH39E344|N
+39E344:lI119|H39E438
+39E438:lI101|H39E53C
+39E53C:lI98|H39E654
+39E654:lI116|H39E768
+39E768:lI111|H39E87C
+39E87C:lI111|H39E990
+39E990:lI108|N
+39E258:lI47|H39E33C
+39E33C:lI119|H39E430
+39E430:lI101|H39E534
+39E534:lI98|H39E64C
+39E64C:lI116|H39E760
+39E760:lI111|H39E874
+39E874:lI111|H39E988
+39E988:lI108|N
+39E0E0:lH39E198|H39E1A4
+39E198:t2:A5:alias,H39E268
+39E268:t2:H39E34C,H39E354
+39E354:lI47|H39E448
+39E448:lI99|H39E54C
+39E54C:lI108|H39E664
+39E664:lI101|H39E778
+39E778:lI97|H39E88C
+39E88C:lI114|H39E9A0
+39E9A0:lI99|H39EA94
+39EA94:lI97|H39EB88
+39EB88:lI115|H39EC7C
+39EC7C:lI101|H39ED70
+39ED70:lI47|H39EE4C
+39EE4C:lI111|H39EF20
+39EF20:lI116|H39EFFC
+39EFFC:lI112|H39F0E0
+39F0E0:lI47|H39F1B4
+39F1B4:lI101|H39F288
+39F288:lI114|H39F344
+39F344:lI116|H39F408
+39F408:lI115|H39F4D4
+39F4D4:lI47|H39F5A8
+39F5A8:lI108|H39F67C
+39F67C:lI105|H39F750
+39F750:lI98|H39F824
+39F824:lI47|H39F908
+39F908:lI111|H39F9E4
+39F9E4:lI98|H39FAC0
+39FAC0:lI115|H39FB9C
+39FB9C:lI101|H39FC68
+39FC68:lI114|H39FD2C
+39FD2C:lI118|H39FDF8
+39FDF8:lI101|H39FEB4
+39FEB4:lI114|H39FF70
+39FF70:lI47|H3A0024
+3A0024:lI112|H3A00D8
+3A00D8:lI114|H3A0184
+3A0184:lI105|H3A0238
+3A0238:lI118|H3A02F4
+3A02F4:lI47|H3A03A8
+3A03A8:lI99|H3A0444
+3A0444:lI114|H3A04E8
+3A04E8:lI97|H3A058C
+3A058C:lI115|H3A0638
+3A0638:lI104|H3A06EC
+3A06EC:lI100|H3A0798
+3A0798:lI117|H3A083C
+3A083C:lI109|H3A08C8
+3A08C8:lI112|H3A095C
+3A095C:lI95|H3A09F0
+3A09F0:lI118|H3A0A8C
+3A0A8C:lI105|H3A0B38
+3A0B38:lI101|H3A0BE4
+3A0BE4:lI119|H3A0CA0
+3A0CA0:lI101|H3A0D5C
+3A0D5C:lI114|N
+39E34C:lI47|H39E440
+39E440:lI99|H39E544
+39E544:lI114|H39E65C
+39E65C:lI97|H39E770
+39E770:lI115|H39E884
+39E884:lI104|H39E998
+39E998:lI100|H39EA8C
+39EA8C:lI117|H39EB80
+39EB80:lI109|H39EC74
+39EC74:lI112|H39ED68
+39ED68:lI95|H39EE44
+39EE44:lI118|H39EF18
+39EF18:lI105|H39EFF4
+39EFF4:lI101|H39F0D8
+39F0D8:lI119|H39F1AC
+39F1AC:lI101|H39F280
+39F280:lI114|N
+39E1A4:lH39E274|H39E280
+39E274:t2:A5:alias,H39E35C
+39E35C:t2:H39E450,H39E458
+39E458:lI47|H39E55C
+39E55C:lI99|H39E674
+39E674:lI108|H39E788
+39E788:lI101|H39E89C
+39E89C:lI97|H39E9B0
+39E9B0:lI114|H39EAA4
+39EAA4:lI99|H39EB98
+39EB98:lI97|H39EC8C
+39EC8C:lI115|H39ED80
+39ED80:lI101|H39EE5C
+39EE5C:lI47|H39EF30
+39EF30:lI111|H39F00C
+39F00C:lI116|H39F0F0
+39F0F0:lI112|H39F1C4
+39F1C4:lI47|H39F298
+39F298:lI101|H39F354
+39F354:lI114|H39F418
+39F418:lI116|H39F4E4
+39F4E4:lI115|H39F5B0
+39F5B0:lI47|H39F684
+39F684:lI101|H39F758
+39F758:lI114|H39F82C
+39F82C:lI116|H39F910
+39F910:lI115|H39F9EC
+39F9EC:lI47|H39FAC8
+39FAC8:lI100|H39FBA4
+39FBA4:lI111|H39FC70
+39FC70:lI99|H39FD34
+39FD34:lI47|H39FE00
+39FE00:lI104|H39FEBC
+39FEBC:lI116|H39FF78
+39FF78:lI109|H3A002C
+3A002C:lI108|N
+39E450:lI47|H39E554
+39E554:lI99|H39E66C
+39E66C:lI114|H39E780
+39E780:lI97|H39E894
+39E894:lI115|H39E9A8
+39E9A8:lI104|H39EA9C
+39EA9C:lI100|H39EB90
+39EB90:lI117|H39EC84
+39EC84:lI109|H39ED78
+39ED78:lI112|H39EE54
+39EE54:lI95|H39EF28
+39EF28:lI101|H39F004
+39F004:lI114|H39F0E8
+39F0E8:lI116|H39F1BC
+39F1BC:lI115|H39F290
+39F290:lI95|H39F34C
+39F34C:lI100|H39F410
+39F410:lI111|H39F4DC
+39F4DC:lI99|N
+39E280:lH39E368|H39E374
+39E368:t2:A5:alias,H39E460
+39E460:t2:H39E564,H39E56C
+39E56C:lI47|H39E684
+39E684:lI99|H39E798
+39E798:lI108|H39E8AC
+39E8AC:lI101|H39E9C0
+39E9C0:lI97|H39EAB4
+39EAB4:lI114|H39EBA8
+39EBA8:lI99|H39EC9C
+39EC9C:lI97|H39ED90
+39ED90:lI115|H39EE6C
+39EE6C:lI101|H39EF40
+39EF40:lI47|H39F01C
+39F01C:lI111|H39F100
+39F100:lI116|H39F1D4
+39F1D4:lI112|H39F2A0
+39F2A0:lI47|H39F35C
+39F35C:lI101|H39F420
+39F420:lI114|H39F4EC
+39F4EC:lI116|H39F5B8
+39F5B8:lI115|H39F68C
+39F68C:lI47|H39F760
+39F760:lI108|H39F834
+39F834:lI105|H39F918
+39F918:lI98|H39F9F4
+39F9F4:lI47|H39FAD0
+39FAD0:lI111|H39FBAC
+39FBAC:lI98|H39FC78
+39FC78:lI115|H39FD3C
+39FD3C:lI101|H39FE08
+39FE08:lI114|H39FEC4
+39FEC4:lI118|H39FF80
+39FF80:lI101|H3A0034
+3A0034:lI114|H3A00E0
+3A00E0:lI47|H3A018C
+3A018C:lI100|H3A0240
+3A0240:lI111|H3A02FC
+3A02FC:lI99|H3A03B0
+3A03B0:lI47|H3A044C
+3A044C:lI104|H3A04F0
+3A04F0:lI116|H3A0594
+3A0594:lI109|H3A0640
+3A0640:lI108|N
+39E564:lI47|H39E67C
+39E67C:lI99|H39E790
+39E790:lI114|H39E8A4
+39E8A4:lI97|H39E9B8
+39E9B8:lI115|H39EAAC
+39EAAC:lI104|H39EBA0
+39EBA0:lI100|H39EC94
+39EC94:lI117|H39ED88
+39ED88:lI109|H39EE64
+39EE64:lI112|H39EF38
+39EF38:lI95|H39F014
+39F014:lI100|H39F0F8
+39F0F8:lI111|H39F1CC
+39F1CC:lI99|N
+39E374:lH39E46C|N
+39E46C:t2:A10:erl_script_alias,H39E574
+39E574:t2:H39E68C,H39E694
+39E694:lH39E7A8|N
+39E7A8:lI99|H39E8BC
+39E8BC:lI114|H39E9D0
+39E9D0:lI97|H39EAC4
+39EAC4:lI115|H39EBB8
+39EBB8:lI104|H39ECAC
+39ECAC:lI100|H39EDA0
+39EDA0:lI117|H39EE74
+39EE74:lI109|H39EF48
+39EF48:lI112|H39F024
+39F024:lI95|H39F108
+39F108:lI118|H39F1DC
+39F1DC:lI105|H39F2A8
+39F2A8:lI101|H39F364
+39F364:lI119|H39F428
+39F428:lI101|H39F4F4
+39F4F4:lI114|N
+39E68C:lI47|H39E7A0
+39E7A0:lI99|H39E8B4
+39E8B4:lI100|H39E9C8
+39E9C8:lI118|H39EABC
+39EABC:lI95|H39EBB0
+39EBB0:lI101|H39ECA4
+39ECA4:lI114|H39ED98
+39ED98:lI108|N
+39DB58:lN|H39DB9C
+39DB9C:lH39D9FC|H39DBEC
+39D9FC:t4:I127,I0,I0,I1
+39DBEC:lI8888|N
+3A3E20:lH3A3DFC|H3A3704
+3A3DFC:t8:A5:child,P<0.46.0>,H39DAC8,H39DAD8,A9:permanent,I2000,A6:worker,H39DAE8
+39DAE8:lAD:httpd_manager|H39DB38
+39DB38:lAA:gen_server|N
+39DAD8:t3:AD:httpd_manager,AA:start_link,H39DB30
+39DB30:lA9:undefined|H39DB78
+39DB78:lH39DB50|H39DBC0
+39DBC0:lN|N
+39DAC8:t3:AD:httpd_manager,H39D9FC,I8888
+3A3704:lH3A36E0|H39D998
+3A36E0:t8:A5:child,P<0.45.0>,H39DA18,H39DA28,A9:permanent,I2000,AA:supervisor,H39DA38
+39DA38:lAE:httpd_misc_sup|H39DAC0
+39DAC0:lAA:supervisor|N
+39DA28:t3:AE:httpd_misc_sup,A5:start,H39D958
+39D958:lH39D9FC|H39DA10
+39DA10:lI8888|H39DAB8
+39DAB8:lA7:silence|N
+39DA18:t3:AE:httpd_misc_sup,H39D9FC,I8888
+39D998:lH39DA64|N
+39DA64:t8:A5:child,P<0.44.0>,H39DAF0,H39DB00,A9:permanent,I2000,AA:supervisor,H39DB10
+39DB10:lA12:httpd_acceptor_sup|H39DB48
+39DB48:lAA:supervisor|N
+39DB00:t3:A12:httpd_acceptor_sup,A5:start,H39DB40
+39DB40:lH39D9FC|H39DB80
+39DB80:lI8888|H39DBC8
+39DBC8:lA7:silence|N
+39DAF0:t3:A12:httpd_acceptor_sup,H39D9FC,I8888
+39D960:t2:A5:local,A1A:httpd_sup__127_0_0_1__8888
+39D9CC:lAA:gen_server|H39DA90
+39DA90:lP<0.33.0>|H39DB20
+39DB20:lP<0.33.0>|H39DB60
+39DB60:lH39DBA4|H39DBB0
+39DBA4:t2:A5:local,A1A:httpd_sup__127_0_0_1__8888
+39DBB0:lAA:supervisor|H39DBF4
+39DBF4:lH39DC30|H39DC40
+39DC30:t3:H39D960,A9:httpd_sup,H39DA88
+39DC40:lN|N
+39D940:t2:AD:$initial_call,H39D9E4
+39D9E4:t3:A3:gen,A7:init_it,H39D9CC
+39D94C:t2:AA:$ancestors,H39D9F4
+39D9F4:lA8:web_tool|H39DAB0
+39DAB0:lP<0.27.0>|N
+=proc_dictionary:<0.44.0>
+H3756A8
+H3756B4
+H3756C0
+H3756CC
+=proc_stack:<0.44.0>
+36c194:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36C030
+y4:A1E:httpd_acc_sup__127_0_0_1__8888
+y5:P<0.43.0>
+36c1b0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H375710
+=proc_heap:<0.44.0>
+36C030:tA:A5:state,H3756D8,AB:one_for_one,H36C028,N,I500,I100,N,A12:httpd_acceptor_sup,H375730
+375730:lA7:silence|N
+36C028:lH36C004|N
+36C004:t8:A5:child,P<0.47.0>,H36BE80,H36BE90,A9:permanent,I1000,A6:worker,H36BEA0
+36BEA0:lAE:httpd_acceptor|N
+36BE90:t3:AE:httpd_acceptor,AA:start_link,H36BEE8
+36BEE8:lP<0.46.0>|H36BEF0
+36BEF0:lA7:ip_comm|H36BEF8
+36BEF8:lH36BF00|H36BF14
+36BF00:t4:I127,I0,I0,I1
+36BF14:lI8888|H36BF1C
+36BF1C:lA1B:httpd_conf__127_0_0_1__8888|H36BF24
+36BF24:lA7:silence|N
+36BE80:t3:AE:httpd_acceptor,H36BED4,I8888
+36BED4:t4:I127,I0,I0,I1
+3756D8:t2:A5:local,A1E:httpd_acc_sup__127_0_0_1__8888
+375710:lAA:gen_server|H375738
+375738:lP<0.43.0>|H375748
+375748:lP<0.43.0>|H375758
+375758:lH375760|H37576C
+375760:t2:A5:local,A1E:httpd_acc_sup__127_0_0_1__8888
+37576C:lAA:supervisor|H375774
+375774:lH37577C|H37578C
+37577C:t3:H3756D8,A12:httpd_acceptor_sup,H375730
+37578C:lN|N
+3756A8:t2:AD:$initial_call,H375718
+375718:t3:A3:gen,A7:init_it,H375710
+3756B4:t2:A9:verbosity,A7:silence
+3756C0:t2:AA:$ancestors,H375728
+375728:lA1A:httpd_sup__127_0_0_1__8888|H375740
+375740:lA8:web_tool|H375750
+375750:lP<0.27.0>|N
+3756CC:t2:A5:sname,A7:acc_sup
+=proc_dictionary:<0.45.0>
+H36F484
+H36F4F4
+H36F468
+H36F500
+=proc_stack:<0.45.0>
+36f734:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36F5D0
+y4:A1F:httpd_misc_sup__127_0_0_1__8888
+y5:P<0.43.0>
+36f750:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36F430
+=proc_heap:<0.45.0>
+36F5D0:tA:A5:state,H36F3FC,AB:one_for_one,N,N,I0,I1,N,AE:httpd_misc_sup,H36F408
+36F408:lA7:silence|N
+36F3FC:t2:A5:local,A1F:httpd_misc_sup__127_0_0_1__8888
+36F430:lAA:gen_server|H36F428
+36F428:lP<0.43.0>|H36F420
+36F420:lP<0.43.0>|H36F3D0
+36F3D0:lH36F3E0|H36F418
+36F3E0:t2:A5:local,A1F:httpd_misc_sup__127_0_0_1__8888
+36F418:lAA:supervisor|H36F3D8
+36F3D8:lH36F3EC|H36F410
+36F3EC:t3:H36F3FC,AE:httpd_misc_sup,H36F408
+36F410:lN|N
+36F484:t2:AD:$initial_call,H36F474
+36F474:t3:A3:gen,A7:init_it,H36F430
+36F4F4:t2:A9:verbosity,A7:silence
+36F468:t2:AA:$ancestors,H36F460
+36F460:lA1A:httpd_sup__127_0_0_1__8888|H36F440
+36F440:lA8:web_tool|H36F438
+36F438:lP<0.27.0>|N
+36F500:t2:A5:sname,A8:misc_sup
+=proc_dictionary:<0.46.0>
+H3BDA50
+H3BDA5C
+H3BDAC8
+H3BDB28
+H3BDB9C
+H3BDC00
+H3BDADC
+H3BDB3C
+=proc_stack:<0.46.0>
+39d8f4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AD:httpd_manager
+y3:H39D5A4
+y4:A16:httpd__127_0_0_1__8888
+y5:P<0.43.0>
+39d910:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3BDAB0
+=proc_heap:<0.46.0>
+39D5A4:t9:A5:state,A7:ip_comm,A9:undefined,A1B:httpd_conf__127_0_0_1__8888,N,A9:unblocked,A9:undefined,A9:undefined,H39D430
+39D430:lH39BF40|H39D428
+39BF40:t2:A8:max_conn,I1
+39D428:lH39BC80|H39D420
+39BC80:t2:AF:last_heavy_load,A5:never
+39D420:lH39D414|N
+39D414:t2:AF:last_connection,H39D408
+39D408:t2:H39D3E8,H39D3F8
+39D3F8:t3:I11,I22,I34
+39D3E8:t3:I2004,I4,I21
+3BDAB0:lAA:gen_server|H3BDB20
+3BDB20:lP<0.43.0>|H3BDB94
+3BDB94:lP<0.43.0>|H3BDBF8
+3BDBF8:lH3BDC48|H3BDC54
+3BDC48:t2:A5:local,A16:httpd__127_0_0_1__8888
+3BDC54:lAD:httpd_manager|H3BDCAC
+3BDCAC:lH3BDD14|H3BDD1C
+3BDD14:lA9:undefined|H3BDD9C
+3BDD9C:lH3BDA84|H3BDE2C
+3BDA84:lH3BDAF0|H3BDAFC
+3BDAF0:t2:AB:server_root,H3BDB48
+3BDB48:lI47|H3BDBB0
+3BDBB0:lI99|H3BDC0C
+3BDC0C:lI108|H3BDC64
+3BDC64:lI101|H3BDCBC
+3BDCBC:lI97|H3BDD2C
+3BDD2C:lI114|H3BDDA4
+3BDDA4:lI99|H3BDE34
+3BDE34:lI97|H3BDED4
+3BDED4:lI115|H3BDF90
+3BDF90:lI101|H3BE054
+3BE054:lI47|H3BE128
+3BE128:lI111|H3BE204
+3BE204:lI116|H3BE2EC
+3BE2EC:lI112|H3BE3E0
+3BE3E0:lI47|H3BE4E4
+3BE4E4:lI101|H3BE5E8
+3BE5E8:lI114|H3BE6EC
+3BE6EC:lI116|H3BE7E0
+3BE7E0:lI115|H3BE8CC
+3BE8CC:lI47|H3BE9B8
+3BE9B8:lI108|H3BEAAC
+3BEAAC:lI105|H3BEB98
+3BEB98:lI98|H3BEC84
+3BEC84:lI47|H3BED70
+3BED70:lI119|H3BEE5C
+3BEE5C:lI101|H3BEF30
+3BEF30:lI98|H3BEFFC
+3BEFFC:lI116|H3BF0C8
+3BF0C8:lI111|H3BF19C
+3BF19C:lI111|H3BF260
+3BF260:lI108|H3BF314
+3BF314:lI47|H3BF3C0
+3BF3C0:lI112|H3BF474
+3BF474:lI114|H3BF530
+3BF530:lI105|H3BF5F4
+3BF5F4:lI118|H3BF6C8
+3BF6C8:lI47|H3BF79C
+3BF79C:lI114|H3BF870
+3BF870:lI111|H3BF954
+3BF954:lI111|H3BFA30
+3BFA30:lI116|N
+3BDAFC:lH3BDB50|H3BDB5C
+3BDB50:t2:AD:document_root,H3BDBB8
+3BDBB8:lI47|H3BDC14
+3BDC14:lI99|H3BDC6C
+3BDC6C:lI108|H3BDCC4
+3BDCC4:lI101|H3BDD34
+3BDD34:lI97|H3BDDAC
+3BDDAC:lI114|H3BDE3C
+3BDE3C:lI99|H3BDEDC
+3BDEDC:lI97|H3BDF98
+3BDF98:lI115|H3BE05C
+3BE05C:lI101|H3BE130
+3BE130:lI47|H3BE20C
+3BE20C:lI111|H3BE2F4
+3BE2F4:lI116|H3BE3E8
+3BE3E8:lI112|H3BE4EC
+3BE4EC:lI47|H3BE5F0
+3BE5F0:lI101|H3BE6F4
+3BE6F4:lI114|H3BE7E8
+3BE7E8:lI116|H3BE8D4
+3BE8D4:lI115|H3BE9C0
+3BE9C0:lI47|H3BEAB4
+3BEAB4:lI108|H3BEBA0
+3BEBA0:lI105|H3BEC8C
+3BEC8C:lI98|H3BED78
+3BED78:lI47|H3BEE64
+3BEE64:lI119|H3BEF38
+3BEF38:lI101|H3BF004
+3BF004:lI98|H3BF0D0
+3BF0D0:lI116|H3BF1A4
+3BF1A4:lI111|H3BF268
+3BF268:lI111|H3BF31C
+3BF31C:lI108|H3BF3C8
+3BF3C8:lI47|H3BF47C
+3BF47C:lI112|H3BF538
+3BF538:lI114|H3BF5FC
+3BF5FC:lI105|H3BF6D0
+3BF6D0:lI118|H3BF7A4
+3BF7A4:lI47|H3BF878
+3BF878:lI114|H3BF95C
+3BF95C:lI111|H3BFA38
+3BFA38:lI111|H3BFB0C
+3BFB0C:lI116|H3BFBE8
+3BFBE8:lI47|H3BFCB4
+3BFCB4:lI100|H3BFD78
+3BFD78:lI111|H3BFE3C
+3BFE3C:lI99|N
+3BDB5C:lH3BDBC0|H3BDBCC
+3BDBC0:t2:AA:mime_types,H3BDC1C
+3BDC1C:lH3BDC74|H3BDC80
+3BDC74:t2:H3BDCCC,H3BDCD4
+3BDCD4:lI120|H3BDD44
+3BDD44:lI45|H3BDDBC
+3BDDBC:lI119|H3BDE44
+3BDE44:lI111|H3BDEE4
+3BDEE4:lI114|H3BDFA0
+3BDFA0:lI108|H3BE064
+3BE064:lI100|H3BE138
+3BE138:lI47|H3BE214
+3BE214:lI120|H3BE2FC
+3BE2FC:lI45|H3BE3F0
+3BE3F0:lI118|H3BE4F4
+3BE4F4:lI114|H3BE5F8
+3BE5F8:lI109|H3BE6FC
+3BE6FC:lI108|N
+3BDCCC:lI119|H3BDD3C
+3BDD3C:lI114|H3BDDB4
+3BDDB4:lI108|N
+3BDC80:lH3BDCDC|H3BDCE8
+3BDCDC:t2:H3BDD4C,H3BDD54
+3BDD54:lI120|H3BDDCC
+3BDDCC:lI45|H3BDE54
+3BDE54:lI119|H3BDEF4
+3BDEF4:lI111|H3BDFA8
+3BDFA8:lI114|H3BE06C
+3BE06C:lI108|H3BE140
+3BE140:lI100|H3BE21C
+3BE21C:lI47|H3BE304
+3BE304:lI120|H3BE3F8
+3BE3F8:lI45|H3BE4FC
+3BE4FC:lI118|H3BE600
+3BE600:lI114|H3BE704
+3BE704:lI109|H3BE7F0
+3BE7F0:lI108|N
+3BDD4C:lI118|H3BDDC4
+3BDDC4:lI114|H3BDE4C
+3BDE4C:lI109|H3BDEEC
+3BDEEC:lI108|N
+3BDCE8:lH3BDD5C|H3BDD68
+3BDD5C:t2:H3BDDD4,H3BDDDC
+3BDDDC:lI120|H3BDE64
+3BDE64:lI45|H3BDF04
+3BDF04:lI99|H3BDFB0
+3BDFB0:lI111|H3BE074
+3BE074:lI110|H3BE148
+3BE148:lI102|H3BE224
+3BE224:lI101|H3BE30C
+3BE30C:lI114|H3BE400
+3BE400:lI101|H3BE504
+3BE504:lI110|H3BE608
+3BE608:lI99|H3BE70C
+3BE70C:lI101|H3BE7F8
+3BE7F8:lI47|H3BE8DC
+3BE8DC:lI120|H3BE9C8
+3BE9C8:lI45|H3BEABC
+3BEABC:lI99|H3BEBA8
+3BEBA8:lI111|H3BEC94
+3BEC94:lI111|H3BED80
+3BED80:lI108|H3BEE6C
+3BEE6C:lI116|H3BEF40
+3BEF40:lI97|H3BF00C
+3BF00C:lI108|H3BF0D8
+3BF0D8:lI107|N
+3BDDD4:lI105|H3BDE5C
+3BDE5C:lI99|H3BDEFC
+3BDEFC:lI101|N
+3BDD68:lH3BDDE4|H3BDDF0
+3BDDE4:t2:H3BDE6C,H3BDE74
+3BDE74:lI118|H3BDF14
+3BDF14:lI105|H3BDFC0
+3BDFC0:lI100|H3BE084
+3BE084:lI101|H3BE158
+3BE158:lI111|H3BE22C
+3BE22C:lI47|H3BE314
+3BE314:lI120|H3BE408
+3BE408:lI45|H3BE50C
+3BE50C:lI115|H3BE610
+3BE610:lI103|H3BE714
+3BE714:lI105|H3BE800
+3BE800:lI45|H3BE8E4
+3BE8E4:lI109|H3BE9D0
+3BE9D0:lI111|H3BEAC4
+3BEAC4:lI118|H3BEBB0
+3BEBB0:lI105|H3BEC9C
+3BEC9C:lI101|N
+3BDE6C:lI109|H3BDF0C
+3BDF0C:lI111|H3BDFB8
+3BDFB8:lI118|H3BE07C
+3BE07C:lI105|H3BE150
+3BE150:lI101|N
+3BDDF0:lH3BDE7C|H3BDE88
+3BDE7C:t2:H3BDF1C,H3BDF24
+3BDF24:lI118|H3BDFD0
+3BDFD0:lI105|H3BE094
+3BE094:lI100|H3BE160
+3BE160:lI101|H3BE234
+3BE234:lI111|H3BE31C
+3BE31C:lI47|H3BE410
+3BE410:lI120|H3BE514
+3BE514:lI45|H3BE618
+3BE618:lI109|H3BE71C
+3BE71C:lI115|H3BE808
+3BE808:lI118|H3BE8EC
+3BE8EC:lI105|H3BE9D8
+3BE9D8:lI100|H3BEACC
+3BEACC:lI101|H3BEBB8
+3BEBB8:lI111|N
+3BDF1C:lI97|H3BDFC8
+3BDFC8:lI118|H3BE08C
+3BE08C:lI105|N
+3BDE88:lH3BDF2C|H3BDF38
+3BDF2C:t2:H3BDFD8,H3BDFE0
+3BDFE0:lI118|H3BE0A4
+3BE0A4:lI105|H3BE168
+3BE168:lI100|H3BE23C
+3BE23C:lI101|H3BE324
+3BE324:lI111|H3BE418
+3BE418:lI47|H3BE51C
+3BE51C:lI113|H3BE620
+3BE620:lI117|H3BE724
+3BE724:lI105|H3BE810
+3BE810:lI99|H3BE8F4
+3BE8F4:lI107|H3BE9E0
+3BE9E0:lI116|H3BEAD4
+3BEAD4:lI105|H3BEBC0
+3BEBC0:lI109|H3BECA4
+3BECA4:lI101|N
+3BDFD8:lI113|H3BE09C
+3BE09C:lI116|N
+3BDF38:lH3BDFE8|H3BDFF4
+3BDFE8:t2:H3BE0AC,H3BE0B4
+3BE0B4:lI118|H3BE178
+3BE178:lI105|H3BE24C
+3BE24C:lI100|H3BE32C
+3BE32C:lI101|H3BE420
+3BE420:lI111|H3BE524
+3BE524:lI47|H3BE628
+3BE628:lI113|H3BE72C
+3BE72C:lI117|H3BE818
+3BE818:lI105|H3BE8FC
+3BE8FC:lI99|H3BE9E8
+3BE9E8:lI107|H3BEADC
+3BEADC:lI116|H3BEBC8
+3BEBC8:lI105|H3BECAC
+3BECAC:lI109|H3BED88
+3BED88:lI101|N
+3BE0AC:lI109|H3BE170
+3BE170:lI111|H3BE244
+3BE244:lI118|N
+3BDFF4:lH3BE0BC|H3BE0C8
+3BE0BC:t2:H3BE180,H3BE188
+3BE188:lI118|H3BE25C
+3BE25C:lI105|H3BE33C
+3BE33C:lI100|H3BE430
+3BE430:lI101|H3BE52C
+3BE52C:lI111|H3BE630
+3BE630:lI47|H3BE734
+3BE734:lI109|H3BE820
+3BE820:lI112|H3BE904
+3BE904:lI101|H3BE9F0
+3BE9F0:lI103|N
+3BE180:lI109|H3BE254
+3BE254:lI112|H3BE334
+3BE334:lI101|H3BE428
+3BE428:lI103|N
+3BE0C8:lH3BE190|H3BE19C
+3BE190:t2:H3BE264,H3BE26C
+3BE26C:lI118|H3BE34C
+3BE34C:lI105|H3BE440
+3BE440:lI100|H3BE534
+3BE534:lI101|H3BE638
+3BE638:lI111|H3BE73C
+3BE73C:lI47|H3BE828
+3BE828:lI109|H3BE90C
+3BE90C:lI112|H3BE9F8
+3BE9F8:lI101|H3BEAE4
+3BEAE4:lI103|N
+3BE264:lI109|H3BE344
+3BE344:lI112|H3BE438
+3BE438:lI103|N
+3BE19C:lH3BE274|H3BE280
+3BE274:t2:H3BE354,H3BE35C
+3BE35C:lI118|H3BE450
+3BE450:lI105|H3BE544
+3BE544:lI100|H3BE640
+3BE640:lI101|H3BE744
+3BE744:lI111|H3BE830
+3BE830:lI47|H3BE914
+3BE914:lI109|H3BEA00
+3BEA00:lI112|H3BEAEC
+3BEAEC:lI101|H3BEBD0
+3BEBD0:lI103|N
+3BE354:lI109|H3BE448
+3BE448:lI112|H3BE53C
+3BE53C:lI101|N
+3BE280:lH3BE364|H3BE370
+3BE364:t2:H3BE458,H3BE460
+3BE460:lI116|H3BE554
+3BE554:lI101|H3BE650
+3BE650:lI120|H3BE754
+3BE754:lI116|H3BE838
+3BE838:lI47|H3BE91C
+3BE91C:lI120|H3BEA08
+3BEA08:lI45|H3BEAF4
+3BEAF4:lI115|H3BEBD8
+3BEBD8:lI103|H3BECB4
+3BECB4:lI109|H3BED90
+3BED90:lI108|N
+3BE458:lI115|H3BE54C
+3BE54C:lI103|H3BE648
+3BE648:lI109|H3BE74C
+3BE74C:lI108|N
+3BE370:lH3BE468|H3BE474
+3BE468:t2:H3BE55C,H3BE564
+3BE564:lI116|H3BE660
+3BE660:lI101|H3BE764
+3BE764:lI120|H3BE840
+3BE840:lI116|H3BE924
+3BE924:lI47|H3BEA10
+3BEA10:lI120|H3BEAFC
+3BEAFC:lI45|H3BEBE0
+3BEBE0:lI115|H3BECBC
+3BECBC:lI103|H3BED98
+3BED98:lI109|H3BEE74
+3BEE74:lI108|N
+3BE55C:lI115|H3BE658
+3BE658:lI103|H3BE75C
+3BE75C:lI109|N
+3BE474:lH3BE56C|H3BE578
+3BE56C:t2:H3BE668,H3BE670
+3BE670:lI116|H3BE774
+3BE774:lI101|H3BE850
+3BE850:lI120|H3BE92C
+3BE92C:lI116|H3BEA18
+3BEA18:lI47|H3BEB04
+3BEB04:lI120|H3BEBE8
+3BEBE8:lI45|H3BECC4
+3BECC4:lI115|H3BEDA0
+3BEDA0:lI101|H3BEE7C
+3BEE7C:lI116|H3BEF48
+3BEF48:lI101|H3BF014
+3BF014:lI120|H3BF0E0
+3BF0E0:lI116|N
+3BE668:lI101|H3BE76C
+3BE76C:lI116|H3BE848
+3BE848:lI120|N
+3BE578:lH3BE678|H3BE684
+3BE678:t2:H3BE77C,H3BE784
+3BE784:lI116|H3BE860
+3BE860:lI101|H3BE93C
+3BE93C:lI120|H3BEA20
+3BEA20:lI116|H3BEB0C
+3BEB0C:lI47|H3BEBF0
+3BEBF0:lI116|H3BECCC
+3BECCC:lI97|H3BEDA8
+3BEDA8:lI98|H3BEE84
+3BEE84:lI45|H3BEF50
+3BEF50:lI115|H3BF01C
+3BF01C:lI101|H3BF0E8
+3BF0E8:lI112|H3BF1AC
+3BF1AC:lI97|H3BF270
+3BF270:lI114|H3BF324
+3BF324:lI97|H3BF3D0
+3BF3D0:lI116|H3BF484
+3BF484:lI101|H3BF540
+3BF540:lI100|H3BF604
+3BF604:lI45|H3BF6D8
+3BF6D8:lI118|H3BF7AC
+3BF7AC:lI97|H3BF880
+3BF880:lI108|H3BF964
+3BF964:lI117|H3BFA40
+3BFA40:lI101|H3BFB14
+3BFB14:lI115|N
+3BE77C:lI116|H3BE858
+3BE858:lI115|H3BE934
+3BE934:lI118|N
+3BE684:lH3BE78C|H3BE798
+3BE78C:t2:H3BE868,H3BE870
+3BE870:lI116|H3BE94C
+3BE94C:lI101|H3BEA30
+3BEA30:lI120|H3BEB14
+3BEB14:lI116|H3BEBF8
+3BEBF8:lI47|H3BECD4
+3BECD4:lI114|H3BEDB0
+3BEDB0:lI105|H3BEE8C
+3BEE8C:lI99|H3BEF58
+3BEF58:lI104|H3BF024
+3BF024:lI116|H3BF0F0
+3BF0F0:lI101|H3BF1B4
+3BF1B4:lI120|H3BF278
+3BF278:lI116|N
+3BE868:lI114|H3BE944
+3BE944:lI116|H3BEA28
+3BEA28:lI120|N
+3BE798:lH3BE878|H3BE884
+3BE878:t2:H3BE954,H3BE95C
+3BE95C:lI116|H3BEA40
+3BEA40:lI101|H3BEB24
+3BEB24:lI120|H3BEC00
+3BEC00:lI116|H3BECDC
+3BECDC:lI47|H3BEDB8
+3BEDB8:lI112|H3BEE94
+3BEE94:lI108|H3BEF60
+3BEF60:lI97|H3BF02C
+3BF02C:lI105|H3BF0F8
+3BF0F8:lI110|N
+3BE954:lI116|H3BEA38
+3BEA38:lI120|H3BEB1C
+3BEB1C:lI116|N
+3BE884:lH3BE964|H3BE970
+3BE964:t2:H3BEA48,H3BEA50
+3BEA50:lI116|H3BEB34
+3BEB34:lI101|H3BEC10
+3BEC10:lI120|H3BECEC
+3BECEC:lI116|H3BEDC8
+3BEDC8:lI47|H3BEE9C
+3BEE9C:lI120|H3BEF68
+3BEF68:lI45|H3BF034
+3BF034:lI115|H3BF100
+3BF100:lI101|H3BF1BC
+3BF1BC:lI114|H3BF280
+3BF280:lI118|H3BF32C
+3BF32C:lI101|H3BF3D8
+3BF3D8:lI114|H3BF48C
+3BF48C:lI45|H3BF548
+3BF548:lI112|H3BF60C
+3BF60C:lI97|H3BF6E0
+3BF6E0:lI114|H3BF7B4
+3BF7B4:lI115|H3BF888
+3BF888:lI101|H3BF96C
+3BF96C:lI100|H3BFA48
+3BFA48:lI45|H3BFB1C
+3BFB1C:lI104|H3BFBF0
+3BFBF0:lI116|H3BFCBC
+3BFCBC:lI109|H3BFD80
+3BFD80:lI108|N
+3BEA48:lI115|H3BEB2C
+3BEB2C:lI104|H3BEC08
+3BEC08:lI116|H3BECE4
+3BECE4:lI109|H3BEDC0
+3BEDC0:lI108|N
+3BE970:lH3BEA58|H3BEA64
+3BEA58:t2:H3BEB3C,H3BEB44
+3BEB44:lI116|H3BEC20
+3BEC20:lI101|H3BECFC
+3BECFC:lI120|H3BEDD8
+3BEDD8:lI116|H3BEEA4
+3BEEA4:lI47|H3BEF70
+3BEF70:lI104|H3BF03C
+3BF03C:lI116|H3BF108
+3BF108:lI109|H3BF1C4
+3BF1C4:lI108|N
+3BEB3C:lI104|H3BEC18
+3BEC18:lI116|H3BECF4
+3BECF4:lI109|H3BEDD0
+3BEDD0:lI108|N
+3BEA64:lH3BEB4C|H3BEB58
+3BEB4C:t2:H3BEC28,H3BEC30
+3BEC30:lI116|H3BED0C
+3BED0C:lI101|H3BEDE8
+3BEDE8:lI120|H3BEEAC
+3BEEAC:lI116|H3BEF78
+3BEF78:lI47|H3BF044
+3BF044:lI104|H3BF110
+3BF110:lI116|H3BF1CC
+3BF1CC:lI109|H3BF288
+3BF288:lI108|N
+3BEC28:lI104|H3BED04
+3BED04:lI116|H3BEDE0
+3BEDE0:lI109|N
+3BEB58:lH3BEC38|H3BEC44
+3BEC38:t2:H3BED14,H3BED1C
+3BED1C:lI105|H3BEDF8
+3BEDF8:lI109|H3BEEBC
+3BEEBC:lI97|H3BEF80
+3BEF80:lI103|H3BF04C
+3BF04C:lI101|H3BF118
+3BF118:lI47|H3BF1D4
+3BF1D4:lI120|H3BF290
+3BF290:lI45|H3BF334
+3BF334:lI120|H3BF3E0
+3BF3E0:lI119|H3BF494
+3BF494:lI105|H3BF550
+3BF550:lI110|H3BF614
+3BF614:lI100|H3BF6E8
+3BF6E8:lI111|H3BF7BC
+3BF7BC:lI119|H3BF890
+3BF890:lI100|H3BF974
+3BF974:lI117|H3BFA50
+3BFA50:lI109|H3BFB24
+3BFB24:lI112|N
+3BED14:lI120|H3BEDF0
+3BEDF0:lI119|H3BEEB4
+3BEEB4:lI100|N
+3BEC44:lH3BED24|H3BED30
+3BED24:t2:H3BEE00,H3BEE08
+3BEE08:lI105|H3BEECC
+3BEECC:lI109|H3BEF90
+3BEF90:lI97|H3BF054
+3BF054:lI103|H3BF120
+3BF120:lI101|H3BF1DC
+3BF1DC:lI47|H3BF298
+3BF298:lI120|H3BF33C
+3BF33C:lI45|H3BF3E8
+3BF3E8:lI120|H3BF49C
+3BF49C:lI112|H3BF558
+3BF558:lI105|H3BF61C
+3BF61C:lI120|H3BF6F0
+3BF6F0:lI109|H3BF7C4
+3BF7C4:lI97|H3BF898
+3BF898:lI112|N
+3BEE00:lI120|H3BEEC4
+3BEEC4:lI112|H3BEF88
+3BEF88:lI109|N
+3BED30:lH3BEE10|H3BEE1C
+3BEE10:t2:H3BEED4,H3BEEDC
+3BEEDC:lI105|H3BEFA0
+3BEFA0:lI109|H3BF064
+3BF064:lI97|H3BF128
+3BF128:lI103|H3BF1E4
+3BF1E4:lI101|H3BF2A0
+3BF2A0:lI47|H3BF344
+3BF344:lI120|H3BF3F0
+3BF3F0:lI45|H3BF4A4
+3BF4A4:lI120|H3BF560
+3BF560:lI98|H3BF624
+3BF624:lI105|H3BF6F8
+3BF6F8:lI116|H3BF7CC
+3BF7CC:lI109|H3BF8A0
+3BF8A0:lI97|H3BF97C
+3BF97C:lI112|N
+3BEED4:lI120|H3BEF98
+3BEF98:lI98|H3BF05C
+3BF05C:lI109|N
+3BEE1C:lH3BEEE4|H3BEEF0
+3BEEE4:t2:H3BEFA8,H3BEFB0
+3BEFB0:lI105|H3BF074
+3BF074:lI109|H3BF138
+3BF138:lI97|H3BF1EC
+3BF1EC:lI103|H3BF2A8
+3BF2A8:lI101|H3BF34C
+3BF34C:lI47|H3BF3F8
+3BF3F8:lI120|H3BF4AC
+3BF4AC:lI45|H3BF568
+3BF568:lI114|H3BF62C
+3BF62C:lI103|H3BF700
+3BF700:lI98|N
+3BEFA8:lI114|H3BF06C
+3BF06C:lI103|H3BF130
+3BF130:lI98|N
+3BEEF0:lH3BEFB8|H3BEFC4
+3BEFB8:t2:H3BF07C,H3BF084
+3BF084:lI105|H3BF148
+3BF148:lI109|H3BF1FC
+3BF1FC:lI97|H3BF2B0
+3BF2B0:lI103|H3BF354
+3BF354:lI101|H3BF400
+3BF400:lI47|H3BF4B4
+3BF4B4:lI120|H3BF570
+3BF570:lI45|H3BF634
+3BF634:lI112|H3BF708
+3BF708:lI111|H3BF7D4
+3BF7D4:lI114|H3BF8A8
+3BF8A8:lI116|H3BF984
+3BF984:lI97|H3BFA58
+3BFA58:lI98|H3BFB2C
+3BFB2C:lI108|H3BFBF8
+3BFBF8:lI101|H3BFCC4
+3BFCC4:lI45|H3BFD88
+3BFD88:lI112|H3BFE44
+3BFE44:lI105|H3BFEF0
+3BFEF0:lI120|H3BFFA4
+3BFFA4:lI109|H3C0050
+3C0050:lI97|H3C00FC
+3C00FC:lI112|N
+3BF07C:lI112|H3BF140
+3BF140:lI112|H3BF1F4
+3BF1F4:lI109|N
+3BEFC4:lH3BF08C|H3BF098
+3BF08C:t2:H3BF150,H3BF158
+3BF158:lI105|H3BF20C
+3BF20C:lI109|H3BF2C0
+3BF2C0:lI97|H3BF35C
+3BF35C:lI103|H3BF408
+3BF408:lI101|H3BF4BC
+3BF4BC:lI47|H3BF578
+3BF578:lI120|H3BF63C
+3BF63C:lI45|H3BF710
+3BF710:lI112|H3BF7DC
+3BF7DC:lI111|H3BF8B0
+3BF8B0:lI114|H3BF98C
+3BF98C:lI116|H3BFA60
+3BFA60:lI97|H3BFB34
+3BFB34:lI98|H3BFC00
+3BFC00:lI108|H3BFCCC
+3BFCCC:lI101|H3BFD90
+3BFD90:lI45|H3BFE4C
+3BFE4C:lI103|H3BFEF8
+3BFEF8:lI114|H3BFFAC
+3BFFAC:lI97|H3C0058
+3C0058:lI121|H3C0104
+3C0104:lI109|H3C01A8
+3C01A8:lI97|H3C025C
+3C025C:lI112|N
+3BF150:lI112|H3BF204
+3BF204:lI103|H3BF2B8
+3BF2B8:lI109|N
+3BF098:lH3BF160|H3BF16C
+3BF160:t2:H3BF214,H3BF21C
+3BF21C:lI105|H3BF2D0
+3BF2D0:lI109|H3BF36C
+3BF36C:lI97|H3BF410
+3BF410:lI103|H3BF4C4
+3BF4C4:lI101|H3BF580
+3BF580:lI47|H3BF644
+3BF644:lI120|H3BF718
+3BF718:lI45|H3BF7E4
+3BF7E4:lI112|H3BF8B8
+3BF8B8:lI111|H3BF994
+3BF994:lI114|H3BFA68
+3BFA68:lI116|H3BFB3C
+3BFB3C:lI97|H3BFC08
+3BFC08:lI98|H3BFCD4
+3BFCD4:lI108|H3BFD98
+3BFD98:lI101|H3BFE54
+3BFE54:lI45|H3BFF00
+3BFF00:lI98|H3BFFB4
+3BFFB4:lI105|H3C0060
+3C0060:lI116|H3C010C
+3C010C:lI109|H3C01B0
+3C01B0:lI97|H3C0264
+3C0264:lI112|N
+3BF214:lI112|H3BF2C8
+3BF2C8:lI98|H3BF364
+3BF364:lI109|N
+3BF16C:lH3BF224|H3BF230
+3BF224:t2:H3BF2D8,H3BF2E0
+3BF2E0:lI105|H3BF37C
+3BF37C:lI109|H3BF420
+3BF420:lI97|H3BF4CC
+3BF4CC:lI103|H3BF588
+3BF588:lI101|H3BF64C
+3BF64C:lI47|H3BF720
+3BF720:lI120|H3BF7EC
+3BF7EC:lI45|H3BF8C0
+3BF8C0:lI112|H3BF99C
+3BF99C:lI111|H3BFA70
+3BFA70:lI114|H3BFB44
+3BFB44:lI116|H3BFC10
+3BFC10:lI97|H3BFCDC
+3BFCDC:lI98|H3BFDA0
+3BFDA0:lI108|H3BFE5C
+3BFE5C:lI101|H3BFF08
+3BFF08:lI45|H3BFFBC
+3BFFBC:lI97|H3C0068
+3C0068:lI110|H3C0114
+3C0114:lI121|H3C01B8
+3C01B8:lI109|H3C026C
+3C026C:lI97|H3C0318
+3C0318:lI112|N
+3BF2D8:lI112|H3BF374
+3BF374:lI110|H3BF418
+3BF418:lI109|N
+3BF230:lH3BF2E8|H3BF2F4
+3BF2E8:t2:H3BF384,H3BF38C
+3BF38C:lI105|H3BF430
+3BF430:lI109|H3BF4DC
+3BF4DC:lI97|H3BF590
+3BF590:lI103|H3BF654
+3BF654:lI101|H3BF728
+3BF728:lI47|H3BF7F4
+3BF7F4:lI120|H3BF8C8
+3BF8C8:lI45|H3BF9A4
+3BF9A4:lI99|H3BFA78
+3BFA78:lI109|H3BFB4C
+3BFB4C:lI117|H3BFC18
+3BFC18:lI45|H3BFCE4
+3BFCE4:lI114|H3BFDA8
+3BFDA8:lI97|H3BFE64
+3BFE64:lI115|H3BFF10
+3BFF10:lI116|H3BFFC4
+3BFFC4:lI101|H3C0070
+3C0070:lI114|N
+3BF384:lI114|H3BF428
+3BF428:lI97|H3BF4D4
+3BF4D4:lI115|N
+3BF2F4:lH3BF394|H3BF3A0
+3BF394:t2:H3BF438,H3BF440
+3BF440:lI105|H3BF4EC
+3BF4EC:lI109|H3BF5A0
+3BF5A0:lI97|H3BF664
+3BF664:lI103|H3BF730
+3BF730:lI101|H3BF7FC
+3BF7FC:lI47|H3BF8D0
+3BF8D0:lI116|H3BF9AC
+3BF9AC:lI105|H3BFA80
+3BFA80:lI102|H3BFB54
+3BFB54:lI102|N
+3BF438:lI116|H3BF4E4
+3BF4E4:lI105|H3BF598
+3BF598:lI102|H3BF65C
+3BF65C:lI102|N
+3BF3A0:lH3BF448|H3BF454
+3BF448:t2:H3BF4F4,H3BF4FC
+3BF4FC:lI105|H3BF5B0
+3BF5B0:lI109|H3BF674
+3BF674:lI97|H3BF738
+3BF738:lI103|H3BF804
+3BF804:lI101|H3BF8D8
+3BF8D8:lI47|H3BF9B4
+3BF9B4:lI116|H3BFA88
+3BFA88:lI105|H3BFB5C
+3BFB5C:lI102|H3BFC20
+3BFC20:lI102|N
+3BF4F4:lI116|H3BF5A8
+3BF5A8:lI105|H3BF66C
+3BF66C:lI102|N
+3BF454:lH3BF504|H3BF510
+3BF504:t2:H3BF5B8,H3BF5C0
+3BF5C0:lI105|H3BF684
+3BF684:lI109|H3BF748
+3BF748:lI97|H3BF80C
+3BF80C:lI103|H3BF8E0
+3BF8E0:lI101|H3BF9BC
+3BF9BC:lI47|H3BFA90
+3BFA90:lI112|H3BFB64
+3BFB64:lI110|H3BFC28
+3BFC28:lI103|N
+3BF5B8:lI112|H3BF67C
+3BF67C:lI110|H3BF740
+3BF740:lI103|N
+3BF510:lH3BF5C8|H3BF5D4
+3BF5C8:t2:H3BF68C,H3BF694
+3BF694:lI105|H3BF758
+3BF758:lI109|H3BF81C
+3BF81C:lI97|H3BF8F0
+3BF8F0:lI103|H3BF9C4
+3BF9C4:lI101|H3BFA98
+3BFA98:lI47|H3BFB6C
+3BFB6C:lI106|H3BFC30
+3BFC30:lI112|H3BFCEC
+3BFCEC:lI101|H3BFDB0
+3BFDB0:lI103|N
+3BF68C:lI106|H3BF750
+3BF750:lI112|H3BF814
+3BF814:lI101|H3BF8E8
+3BF8E8:lI103|N
+3BF5D4:lH3BF69C|H3BF6A8
+3BF69C:t2:H3BF760,H3BF768
+3BF768:lI105|H3BF82C
+3BF82C:lI109|H3BF900
+3BF900:lI97|H3BF9CC
+3BF9CC:lI103|H3BFAA0
+3BFAA0:lI101|H3BFB74
+3BFB74:lI47|H3BFC38
+3BFC38:lI106|H3BFCF4
+3BFCF4:lI112|H3BFDB8
+3BFDB8:lI101|H3BFE6C
+3BFE6C:lI103|N
+3BF760:lI106|H3BF824
+3BF824:lI112|H3BF8F8
+3BF8F8:lI103|N
+3BF6A8:lH3BF770|H3BF77C
+3BF770:t2:H3BF834,H3BF83C
+3BF83C:lI105|H3BF910
+3BF910:lI109|H3BF9DC
+3BF9DC:lI97|H3BFAA8
+3BFAA8:lI103|H3BFB7C
+3BFB7C:lI101|H3BFC40
+3BFC40:lI47|H3BFCFC
+3BFCFC:lI106|H3BFDC0
+3BFDC0:lI112|H3BFE74
+3BFE74:lI101|H3BFF18
+3BFF18:lI103|N
+3BF834:lI106|H3BF908
+3BF908:lI112|H3BF9D4
+3BF9D4:lI101|N
+3BF77C:lH3BF844|H3BF850
+3BF844:t2:H3BF918,H3BF920
+3BF920:lI105|H3BF9EC
+3BF9EC:lI109|H3BFAB8
+3BFAB8:lI97|H3BFB84
+3BFB84:lI103|H3BFC48
+3BFC48:lI101|H3BFD04
+3BFD04:lI47|H3BFDC8
+3BFDC8:lI105|H3BFE7C
+3BFE7C:lI101|H3BFF20
+3BFF20:lI102|N
+3BF918:lI105|H3BF9E4
+3BF9E4:lI101|H3BFAB0
+3BFAB0:lI102|N
+3BF850:lH3BF928|H3BF934
+3BF928:t2:H3BF9F4,H3BF9FC
+3BF9FC:lI105|H3BFAC8
+3BFAC8:lI109|H3BFB94
+3BFB94:lI97|H3BFC50
+3BFC50:lI103|H3BFD0C
+3BFD0C:lI101|H3BFDD0
+3BFDD0:lI47|H3BFE84
+3BFE84:lI103|H3BFF28
+3BFF28:lI105|H3BFFCC
+3BFFCC:lI102|N
+3BF9F4:lI103|H3BFAC0
+3BFAC0:lI105|H3BFB8C
+3BFB8C:lI102|N
+3BF934:lH3BFA04|H3BFA10
+3BFA04:t2:H3BFAD0,H3BFAD8
+3BFAD8:lI99|H3BFBA4
+3BFBA4:lI104|H3BFC60
+3BFC60:lI101|H3BFD14
+3BFD14:lI109|H3BFDD8
+3BFDD8:lI105|H3BFE8C
+3BFE8C:lI99|H3BFF30
+3BFF30:lI97|H3BFFD4
+3BFFD4:lI108|H3C0078
+3C0078:lI47|H3C011C
+3C011C:lI120|H3C01C0
+3C01C0:lI45|H3C0274
+3C0274:lI112|H3C0320
+3C0320:lI100|H3C03CC
+3C03CC:lI98|N
+3BFAD0:lI112|H3BFB9C
+3BFB9C:lI100|H3BFC58
+3BFC58:lI98|N
+3BFA10:lH3BFAE0|H3BFAEC
+3BFAE0:t2:H3BFBAC,H3BFBB4
+3BFBB4:lI99|H3BFC70
+3BFC70:lI104|H3BFD24
+3BFD24:lI101|H3BFDE0
+3BFDE0:lI109|H3BFE94
+3BFE94:lI105|H3BFF38
+3BFF38:lI99|H3BFFDC
+3BFFDC:lI97|H3C0080
+3C0080:lI108|H3C0124
+3C0124:lI47|H3C01C8
+3C01C8:lI120|H3C027C
+3C027C:lI45|H3C0328
+3C0328:lI112|H3C03D4
+3C03D4:lI100|H3C0460
+3C0460:lI98|N
+3BFBAC:lI120|H3BFC68
+3BFC68:lI121|H3BFD1C
+3BFD1C:lI122|N
+3BFAEC:lH3BFBBC|H3BFBC8
+3BFBBC:t2:H3BFC78,H3BFC80
+3BFC80:lI97|H3BFD34
+3BFD34:lI117|H3BFDF0
+3BFDF0:lI100|H3BFE9C
+3BFE9C:lI105|H3BFF40
+3BFF40:lI111|H3BFFE4
+3BFFE4:lI47|H3C0088
+3C0088:lI120|H3C012C
+3C012C:lI45|H3C01D0
+3C01D0:lI119|H3C0284
+3C0284:lI97|H3C0330
+3C0330:lI118|N
+3BFC78:lI119|H3BFD2C
+3BFD2C:lI97|H3BFDE8
+3BFDE8:lI118|N
+3BFBC8:lH3BFC88|H3BFC94
+3BFC88:t2:H3BFD3C,H3BFD44
+3BFD44:lI97|H3BFE00
+3BFE00:lI117|H3BFEA4
+3BFEA4:lI100|H3BFF48
+3BFF48:lI105|H3BFFEC
+3BFFEC:lI111|H3C0090
+3C0090:lI47|H3C0134
+3C0134:lI120|H3C01D8
+3C01D8:lI45|H3C028C
+3C028C:lI114|H3C0338
+3C0338:lI101|H3C03DC
+3C03DC:lI97|H3C0468
+3C0468:lI108|H3C04FC
+3C04FC:lI97|H3C0598
+3C0598:lI117|H3C063C
+3C063C:lI100|H3C06E8
+3C06E8:lI105|H3C0794
+3C0794:lI111|N
+3BFD3C:lI114|H3BFDF8
+3BFDF8:lI97|N
+3BFC94:lH3BFD4C|H3BFD58
+3BFD4C:t2:H3BFE08,H3BFE10
+3BFE10:lI97|H3BFEB4
+3BFEB4:lI117|H3BFF58
+3BFF58:lI100|H3BFFF4
+3BFFF4:lI105|H3C0098
+3C0098:lI111|H3C013C
+3C013C:lI47|H3C01E0
+3C01E0:lI120|H3C0294
+3C0294:lI45|H3C0340
+3C0340:lI112|H3C03E4
+3C03E4:lI110|H3C0470
+3C0470:lI45|H3C0504
+3C0504:lI114|H3C05A0
+3C05A0:lI101|H3C0644
+3C0644:lI97|H3C06F0
+3C06F0:lI108|H3C079C
+3C079C:lI97|H3C0838
+3C0838:lI117|H3C08C4
+3C08C4:lI100|H3C0958
+3C0958:lI105|H3C09EC
+3C09EC:lI111|H3C0A88
+3C0A88:lI45|H3C0B2C
+3C0B2C:lI112|H3C0BD0
+3C0BD0:lI108|H3C0C84
+3C0C84:lI117|H3C0D38
+3C0D38:lI103|H3C0DEC
+3C0DEC:lI105|H3C0EA0
+3C0EA0:lI110|N
+3BFE08:lI114|H3BFEAC
+3BFEAC:lI112|H3BFF50
+3BFF50:lI109|N
+3BFD58:lH3BFE18|H3BFE24
+3BFE18:t2:H3BFEBC,H3BFEC4
+3BFEC4:lI97|H3BFF68
+3BFF68:lI117|H3C0004
+3C0004:lI100|H3C00A0
+3C00A0:lI105|H3C0144
+3C0144:lI111|H3C01E8
+3C01E8:lI47|H3C029C
+3C029C:lI120|H3C0348
+3C0348:lI45|H3C03EC
+3C03EC:lI112|H3C0478
+3C0478:lI110|H3C050C
+3C050C:lI45|H3C05A8
+3C05A8:lI114|H3C064C
+3C064C:lI101|H3C06F8
+3C06F8:lI97|H3C07A4
+3C07A4:lI108|H3C0840
+3C0840:lI97|H3C08CC
+3C08CC:lI117|H3C0960
+3C0960:lI100|H3C09F4
+3C09F4:lI105|H3C0A90
+3C0A90:lI111|N
+3BFEBC:lI114|H3BFF60
+3BFF60:lI97|H3BFFFC
+3BFFFC:lI109|N
+3BFE24:lH3BFECC|H3BFED8
+3BFECC:t2:H3BFF70,H3BFF78
+3BFF78:lI97|H3C0014
+3C0014:lI117|H3C00B0
+3C00B0:lI100|H3C014C
+3C014C:lI105|H3C01F0
+3C01F0:lI111|H3C02A4
+3C02A4:lI47|H3C0350
+3C0350:lI120|H3C03F4
+3C03F4:lI45|H3C0480
+3C0480:lI97|H3C0514
+3C0514:lI105|H3C05B0
+3C05B0:lI102|H3C0654
+3C0654:lI102|N
+3BFF70:lI97|H3C000C
+3C000C:lI105|H3C00A8
+3C00A8:lI102|N
+3BFED8:lH3BFF80|H3BFF8C
+3BFF80:t2:H3C001C,H3C0024
+3C0024:lI97|H3C00C0
+3C00C0:lI117|H3C015C
+3C015C:lI100|H3C0200
+3C0200:lI105|H3C02AC
+3C02AC:lI111|H3C0358
+3C0358:lI47|H3C03FC
+3C03FC:lI120|H3C0488
+3C0488:lI45|H3C051C
+3C051C:lI97|H3C05B8
+3C05B8:lI105|H3C065C
+3C065C:lI102|H3C0700
+3C0700:lI102|N
+3C001C:lI97|H3C00B8
+3C00B8:lI105|H3C0154
+3C0154:lI102|H3C01F8
+3C01F8:lI102|N
+3BFF8C:lH3C002C|H3C0038
+3C002C:t2:H3C00C8,H3C00D0
+3C00D0:lI97|H3C016C
+3C016C:lI117|H3C0210
+3C0210:lI100|H3C02BC
+3C02BC:lI105|H3C0360
+3C0360:lI111|H3C0404
+3C0404:lI47|H3C0490
+3C0490:lI120|H3C0524
+3C0524:lI45|H3C05C0
+3C05C0:lI97|H3C0664
+3C0664:lI105|H3C0708
+3C0708:lI102|H3C07AC
+3C07AC:lI102|N
+3C00C8:lI97|H3C0164
+3C0164:lI105|H3C0208
+3C0208:lI102|H3C02B4
+3C02B4:lI99|N
+3C0038:lH3C00D8|H3C00E4
+3C00D8:t2:H3C0174,H3C017C
+3C017C:lI97|H3C0220
+3C0220:lI117|H3C02CC
+3C02CC:lI100|H3C0370
+3C0370:lI105|H3C040C
+3C040C:lI111|H3C0498
+3C0498:lI47|H3C052C
+3C052C:lI109|H3C05C8
+3C05C8:lI112|H3C066C
+3C066C:lI101|H3C0710
+3C0710:lI103|N
+3C0174:lI109|H3C0218
+3C0218:lI112|H3C02C4
+3C02C4:lI103|H3C0368
+3C0368:lI97|N
+3C00E4:lH3C0184|H3C0190
+3C0184:t2:H3C0228,H3C0230
+3C0230:lI97|H3C02DC
+3C02DC:lI117|H3C0380
+3C0380:lI100|H3C0414
+3C0414:lI105|H3C04A0
+3C04A0:lI111|H3C0534
+3C0534:lI47|H3C05D0
+3C05D0:lI109|H3C0674
+3C0674:lI112|H3C0718
+3C0718:lI101|H3C07B4
+3C07B4:lI103|N
+3C0228:lI109|H3C02D4
+3C02D4:lI112|H3C0378
+3C0378:lI50|N
+3C0190:lH3C0238|H3C0244
+3C0238:t2:H3C02E4,H3C02EC
+3C02EC:lI97|H3C0390
+3C0390:lI117|H3C041C
+3C041C:lI100|H3C04A8
+3C04A8:lI105|H3C053C
+3C053C:lI111|H3C05D8
+3C05D8:lI47|H3C067C
+3C067C:lI98|H3C0720
+3C0720:lI97|H3C07BC
+3C07BC:lI115|H3C0848
+3C0848:lI105|H3C08D4
+3C08D4:lI99|N
+3C02E4:lI97|H3C0388
+3C0388:lI117|N
+3C0244:lH3C02F4|H3C0300
+3C02F4:t2:H3C0398,H3C03A0
+3C03A0:lI97|H3C042C
+3C042C:lI117|H3C04B8
+3C04B8:lI100|H3C0544
+3C0544:lI105|H3C05E0
+3C05E0:lI111|H3C0684
+3C0684:lI47|H3C0728
+3C0728:lI98|H3C07C4
+3C07C4:lI97|H3C0850
+3C0850:lI115|H3C08DC
+3C08DC:lI105|H3C0968
+3C0968:lI99|N
+3C0398:lI115|H3C0424
+3C0424:lI110|H3C04B0
+3C04B0:lI100|N
+3C0300:lH3C03A8|H3C03B4
+3C03A8:t2:H3C0434,H3C043C
+3C043C:lI97|H3C04C8
+3C04C8:lI112|H3C0554
+3C0554:lI112|H3C05E8
+3C05E8:lI108|H3C068C
+3C068C:lI105|H3C0730
+3C0730:lI99|H3C07CC
+3C07CC:lI97|H3C0858
+3C0858:lI116|H3C08E4
+3C08E4:lI105|H3C0970
+3C0970:lI111|H3C09FC
+3C09FC:lI110|H3C0A98
+3C0A98:lI47|H3C0B34
+3C0B34:lI122|H3C0BD8
+3C0BD8:lI105|H3C0C8C
+3C0C8C:lI112|N
+3C0434:lI122|H3C04C0
+3C04C0:lI105|H3C054C
+3C054C:lI112|N
+3C03B4:lH3C0444|H3C0450
+3C0444:t2:H3C04D0,H3C04D8
+3C04D8:lI97|H3C0564
+3C0564:lI112|H3C05F8
+3C05F8:lI112|H3C0694
+3C0694:lI108|H3C0738
+3C0738:lI105|H3C07D4
+3C07D4:lI99|H3C0860
+3C0860:lI97|H3C08EC
+3C08EC:lI116|H3C0978
+3C0978:lI105|H3C0A04
+3C0A04:lI111|H3C0AA0
+3C0AA0:lI110|H3C0B3C
+3C0B3C:lI47|H3C0BE0
+3C0BE0:lI120|H3C0C94
+3C0C94:lI45|H3C0D40
+3C0D40:lI119|H3C0DF4
+3C0DF4:lI97|H3C0EA8
+3C0EA8:lI105|H3C0F64
+3C0F64:lI115|H3C1030
+3C1030:lI45|H3C1104
+3C1104:lI115|H3C11D8
+3C11D8:lI111|H3C12A4
+3C12A4:lI117|H3C1378
+3C1378:lI114|H3C1454
+3C1454:lI99|H3C1538
+3C1538:lI101|N
+3C04D0:lI115|H3C055C
+3C055C:lI114|H3C05F0
+3C05F0:lI99|N
+3C0450:lH3C04E0|H3C04EC
+3C04E0:t2:H3C056C,H3C0574
+3C0574:lI97|H3C0608
+3C0608:lI112|H3C06A4
+3C06A4:lI112|H3C0748
+3C0748:lI108|H3C07E4
+3C07E4:lI105|H3C0868
+3C0868:lI99|H3C08F4
+3C08F4:lI97|H3C0980
+3C0980:lI116|H3C0A0C
+3C0A0C:lI105|H3C0AA8
+3C0AA8:lI111|H3C0B44
+3C0B44:lI110|H3C0BE8
+3C0BE8:lI47|H3C0C9C
+3C0C9C:lI120|H3C0D48
+3C0D48:lI45|H3C0DFC
+3C0DFC:lI117|H3C0EB0
+3C0EB0:lI115|H3C0F6C
+3C0F6C:lI116|H3C1038
+3C1038:lI97|H3C110C
+3C110C:lI114|N
+3C056C:lI117|H3C0600
+3C0600:lI115|H3C069C
+3C069C:lI116|H3C0740
+3C0740:lI97|H3C07DC
+3C07DC:lI114|N
+3C04EC:lH3C057C|H3C0588
+3C057C:t2:H3C0610,H3C0618
+3C0618:lI97|H3C06B4
+3C06B4:lI112|H3C0750
+3C0750:lI112|H3C07EC
+3C07EC:lI108|H3C0870
+3C0870:lI105|H3C08FC
+3C08FC:lI99|H3C0988
+3C0988:lI97|H3C0A14
+3C0A14:lI116|H3C0AB0
+3C0AB0:lI105|H3C0B4C
+3C0B4C:lI111|H3C0BF0
+3C0BF0:lI110|H3C0CA4
+3C0CA4:lI47|H3C0D50
+3C0D50:lI120|H3C0E04
+3C0E04:lI45|H3C0EB8
+3C0EB8:lI116|H3C0F74
+3C0F74:lI114|H3C1040
+3C1040:lI111|H3C1114
+3C1114:lI102|H3C11E0
+3C11E0:lI102|H3C12AC
+3C12AC:lI45|H3C1380
+3C1380:lI109|H3C145C
+3C145C:lI115|N
+3C0610:lI109|H3C06AC
+3C06AC:lI115|N
+3C0588:lH3C0620|H3C062C
+3C0620:t2:H3C06BC,H3C06C4
+3C06C4:lI97|H3C0760
+3C0760:lI112|H3C07F4
+3C07F4:lI112|H3C0878
+3C0878:lI108|H3C0904
+3C0904:lI105|H3C0990
+3C0990:lI99|H3C0A1C
+3C0A1C:lI97|H3C0AB8
+3C0AB8:lI116|H3C0B54
+3C0B54:lI105|H3C0BF8
+3C0BF8:lI111|H3C0CAC
+3C0CAC:lI110|H3C0D58
+3C0D58:lI47|H3C0E0C
+3C0E0C:lI120|H3C0EC0
+3C0EC0:lI45|H3C0F7C
+3C0F7C:lI116|H3C1048
+3C1048:lI114|H3C111C
+3C111C:lI111|H3C11E8
+3C11E8:lI102|H3C12B4
+3C12B4:lI102|H3C1388
+3C1388:lI45|H3C1464
+3C1464:lI109|H3C1540
+3C1540:lI101|N
+3C06BC:lI109|H3C0758
+3C0758:lI101|N
+3C062C:lH3C06CC|H3C06D8
+3C06CC:t2:H3C0768,H3C0770
+3C0770:lI97|H3C0804
+3C0804:lI112|H3C0888
+3C0888:lI112|H3C090C
+3C090C:lI108|H3C0998
+3C0998:lI105|H3C0A24
+3C0A24:lI99|H3C0AC0
+3C0AC0:lI97|H3C0B5C
+3C0B5C:lI116|H3C0C00
+3C0C00:lI105|H3C0CB4
+3C0CB4:lI111|H3C0D60
+3C0D60:lI110|H3C0E14
+3C0E14:lI47|H3C0EC8
+3C0EC8:lI120|H3C0F84
+3C0F84:lI45|H3C1050
+3C1050:lI116|H3C1124
+3C1124:lI114|H3C11F0
+3C11F0:lI111|H3C12BC
+3C12BC:lI102|H3C1390
+3C1390:lI102|H3C146C
+3C146C:lI45|H3C1548
+3C1548:lI109|H3C161C
+3C161C:lI97|H3C16F0
+3C16F0:lI110|N
+3C0768:lI109|H3C07FC
+3C07FC:lI97|H3C0880
+3C0880:lI110|N
+3C06D8:lH3C0778|H3C0784
+3C0778:t2:H3C080C,H3C0814
+3C0814:lI97|H3C0890
+3C0890:lI112|H3C0914
+3C0914:lI112|H3C09A0
+3C09A0:lI108|H3C0A2C
+3C0A2C:lI105|H3C0AC8
+3C0AC8:lI99|H3C0B64
+3C0B64:lI97|H3C0C08
+3C0C08:lI116|H3C0CBC
+3C0CBC:lI105|H3C0D68
+3C0D68:lI111|H3C0E1C
+3C0E1C:lI110|H3C0ED0
+3C0ED0:lI47|H3C0F8C
+3C0F8C:lI120|H3C1058
+3C1058:lI45|H3C112C
+3C112C:lI116|H3C11F8
+3C11F8:lI114|H3C12C4
+3C12C4:lI111|H3C1398
+3C1398:lI102|H3C1474
+3C1474:lI102|N
+3C080C:lI116|N
+3C0784:lH3C081C|H3C0828
+3C081C:t2:H3C0898,H3C08A0
+3C08A0:lI97|H3C0924
+3C0924:lI112|H3C09A8
+3C09A8:lI112|H3C0A34
+3C0A34:lI108|H3C0AD0
+3C0AD0:lI105|H3C0B6C
+3C0B6C:lI99|H3C0C10
+3C0C10:lI97|H3C0CC4
+3C0CC4:lI116|H3C0D70
+3C0D70:lI105|H3C0E24
+3C0E24:lI111|H3C0ED8
+3C0ED8:lI110|H3C0F94
+3C0F94:lI47|H3C1060
+3C1060:lI120|H3C1134
+3C1134:lI45|H3C1200
+3C1200:lI116|H3C12CC
+3C12CC:lI114|H3C13A0
+3C13A0:lI111|H3C147C
+3C147C:lI102|H3C1550
+3C1550:lI102|N
+3C0898:lI116|H3C091C
+3C091C:lI114|N
+3C0828:lH3C08A8|H3C08B4
+3C08A8:t2:H3C092C,H3C0934
+3C0934:lI97|H3C09B8
+3C09B8:lI112|H3C0A44
+3C0A44:lI112|H3C0AE0
+3C0AE0:lI108|H3C0B74
+3C0B74:lI105|H3C0C18
+3C0C18:lI99|H3C0CCC
+3C0CCC:lI97|H3C0D78
+3C0D78:lI116|H3C0E2C
+3C0E2C:lI105|H3C0EE0
+3C0EE0:lI111|H3C0F9C
+3C0F9C:lI110|H3C1068
+3C1068:lI47|H3C113C
+3C113C:lI120|H3C1208
+3C1208:lI45|H3C12D4
+3C12D4:lI116|H3C13A8
+3C13A8:lI114|H3C1484
+3C1484:lI111|H3C1558
+3C1558:lI102|H3C1624
+3C1624:lI102|N
+3C092C:lI114|H3C09B0
+3C09B0:lI111|H3C0A3C
+3C0A3C:lI102|H3C0AD8
+3C0AD8:lI102|N
+3C08B4:lH3C093C|H3C0948
+3C093C:t2:H3C09C0,H3C09C8
+3C09C8:lI97|H3C0A54
+3C0A54:lI112|H3C0AF0
+3C0AF0:lI112|H3C0B84
+3C0B84:lI108|H3C0C28
+3C0C28:lI105|H3C0CDC
+3C0CDC:lI99|H3C0D88
+3C0D88:lI97|H3C0E34
+3C0E34:lI116|H3C0EE8
+3C0EE8:lI105|H3C0FA4
+3C0FA4:lI111|H3C1070
+3C1070:lI110|H3C1144
+3C1144:lI47|H3C1210
+3C1210:lI120|H3C12DC
+3C12DC:lI45|H3C13B0
+3C13B0:lI116|H3C148C
+3C148C:lI101|H3C1560
+3C1560:lI120|H3C162C
+3C162C:lI105|H3C16F8
+3C16F8:lI110|H3C17BC
+3C17BC:lI102|H3C1880
+3C1880:lI111|N
+3C09C0:lI116|H3C0A4C
+3C0A4C:lI101|H3C0AE8
+3C0AE8:lI120|H3C0B7C
+3C0B7C:lI105|H3C0C20
+3C0C20:lI110|H3C0CD4
+3C0CD4:lI102|H3C0D80
+3C0D80:lI111|N
+3C0948:lH3C09D0|H3C09DC
+3C09D0:t2:H3C0A5C,H3C0A64
+3C0A64:lI97|H3C0B00
+3C0B00:lI112|H3C0B94
+3C0B94:lI112|H3C0C38
+3C0C38:lI108|H3C0CE4
+3C0CE4:lI105|H3C0D90
+3C0D90:lI99|H3C0E3C
+3C0E3C:lI97|H3C0EF0
+3C0EF0:lI116|H3C0FAC
+3C0FAC:lI105|H3C1078
+3C1078:lI111|H3C114C
+3C114C:lI110|H3C1218
+3C1218:lI47|H3C12E4
+3C12E4:lI120|H3C13B8
+3C13B8:lI45|H3C1494
+3C1494:lI116|H3C1568
+3C1568:lI101|H3C1634
+3C1634:lI120|H3C1700
+3C1700:lI105|H3C17C4
+3C17C4:lI110|H3C1888
+3C1888:lI102|H3C1944
+3C1944:lI111|N
+3C0A5C:lI116|H3C0AF8
+3C0AF8:lI101|H3C0B8C
+3C0B8C:lI120|H3C0C30
+3C0C30:lI105|N
+3C09DC:lH3C0A6C|H3C0A78
+3C0A6C:t2:H3C0B08,H3C0B10
+3C0B10:lI97|H3C0BA4
+3C0BA4:lI112|H3C0C48
+3C0C48:lI112|H3C0CEC
+3C0CEC:lI108|H3C0D98
+3C0D98:lI105|H3C0E44
+3C0E44:lI99|H3C0EF8
+3C0EF8:lI97|H3C0FB4
+3C0FB4:lI116|H3C1080
+3C1080:lI105|H3C1154
+3C1154:lI111|H3C1220
+3C1220:lI110|H3C12EC
+3C12EC:lI47|H3C13C0
+3C13C0:lI120|H3C149C
+3C149C:lI45|H3C1570
+3C1570:lI116|H3C163C
+3C163C:lI101|H3C1708
+3C1708:lI120|N
+3C0B08:lI116|H3C0B9C
+3C0B9C:lI101|H3C0C40
+3C0C40:lI120|N
+3C0A78:lH3C0B18|H3C0B24
+3C0B18:t2:H3C0BAC,H3C0BB4
+3C0BB4:lI97|H3C0C58
+3C0C58:lI112|H3C0CFC
+3C0CFC:lI112|H3C0DA0
+3C0DA0:lI108|H3C0E4C
+3C0E4C:lI105|H3C0F00
+3C0F00:lI99|H3C0FBC
+3C0FBC:lI97|H3C1088
+3C1088:lI116|H3C115C
+3C115C:lI105|H3C1228
+3C1228:lI111|H3C12F4
+3C12F4:lI110|H3C13C8
+3C13C8:lI47|H3C14A4
+3C14A4:lI120|H3C1578
+3C1578:lI45|H3C1644
+3C1644:lI116|H3C1710
+3C1710:lI99|H3C17CC
+3C17CC:lI108|N
+3C0BAC:lI116|H3C0C50
+3C0C50:lI99|H3C0CF4
+3C0CF4:lI108|N
+3C0B24:lH3C0BBC|H3C0BC8
+3C0BBC:t2:H3C0C60,H3C0C68
+3C0C68:lI97|H3C0D0C
+3C0D0C:lI112|H3C0DB0
+3C0DB0:lI112|H3C0E54
+3C0E54:lI108|H3C0F08
+3C0F08:lI105|H3C0FC4
+3C0FC4:lI99|H3C1090
+3C1090:lI97|H3C1164
+3C1164:lI116|H3C1230
+3C1230:lI105|H3C12FC
+3C12FC:lI111|H3C13D0
+3C13D0:lI110|H3C14AC
+3C14AC:lI47|H3C1580
+3C1580:lI120|H3C164C
+3C164C:lI45|H3C1718
+3C1718:lI116|H3C17D4
+3C17D4:lI97|H3C1890
+3C1890:lI114|N
+3C0C60:lI116|H3C0D04
+3C0D04:lI97|H3C0DA8
+3C0DA8:lI114|N
+3C0BC8:lH3C0C70|H3C0C7C
+3C0C70:t2:H3C0D14,H3C0D1C
+3C0D1C:lI97|H3C0DC0
+3C0DC0:lI112|H3C0E64
+3C0E64:lI112|H3C0F18
+3C0F18:lI108|H3C0FD4
+3C0FD4:lI105|H3C10A0
+3C10A0:lI99|H3C116C
+3C116C:lI97|H3C1238
+3C1238:lI116|H3C1304
+3C1304:lI105|H3C13D8
+3C13D8:lI111|H3C14B4
+3C14B4:lI110|H3C1588
+3C1588:lI47|H3C1654
+3C1654:lI120|H3C1720
+3C1720:lI45|H3C17DC
+3C17DC:lI115|H3C1898
+3C1898:lI118|H3C194C
+3C194C:lI52|H3C1A00
+3C1A00:lI99|H3C1AB4
+3C1AB4:lI114|H3C1B78
+3C1B78:lI99|N
+3C0D14:lI115|H3C0DB8
+3C0DB8:lI118|H3C0E5C
+3C0E5C:lI52|H3C0F10
+3C0F10:lI99|H3C0FCC
+3C0FCC:lI114|H3C1098
+3C1098:lI99|N
+3C0C7C:lH3C0D24|H3C0D30
+3C0D24:t2:H3C0DC8,H3C0DD0
+3C0DD0:lI97|H3C0E74
+3C0E74:lI112|H3C0F28
+3C0F28:lI112|H3C0FE4
+3C0FE4:lI108|H3C10B0
+3C10B0:lI105|H3C117C
+3C117C:lI99|H3C1248
+3C1248:lI97|H3C130C
+3C130C:lI116|H3C13E0
+3C13E0:lI105|H3C14BC
+3C14BC:lI111|H3C1590
+3C1590:lI110|H3C165C
+3C165C:lI47|H3C1728
+3C1728:lI120|H3C17E4
+3C17E4:lI45|H3C18A0
+3C18A0:lI115|H3C1954
+3C1954:lI118|H3C1A08
+3C1A08:lI52|H3C1ABC
+3C1ABC:lI99|H3C1B80
+3C1B80:lI112|H3C1C4C
+3C1C4C:lI105|H3C1D10
+3C1D10:lI111|N
+3C0DC8:lI115|H3C0E6C
+3C0E6C:lI118|H3C0F20
+3C0F20:lI52|H3C0FDC
+3C0FDC:lI99|H3C10A8
+3C10A8:lI112|H3C1174
+3C1174:lI105|H3C1240
+3C1240:lI111|N
+3C0D30:lH3C0DD8|H3C0DE4
+3C0DD8:t2:H3C0E7C,H3C0E84
+3C0E84:lI97|H3C0F38
+3C0F38:lI112|H3C0FF4
+3C0FF4:lI112|H3C10B8
+3C10B8:lI108|H3C1184
+3C1184:lI105|H3C1250
+3C1250:lI99|H3C1314
+3C1314:lI97|H3C13E8
+3C13E8:lI116|H3C14C4
+3C14C4:lI105|H3C1598
+3C1598:lI111|H3C1664
+3C1664:lI110|H3C1730
+3C1730:lI47|H3C17EC
+3C17EC:lI120|H3C18A8
+3C18A8:lI45|H3C195C
+3C195C:lI115|H3C1A10
+3C1A10:lI116|H3C1AC4
+3C1AC4:lI117|H3C1B88
+3C1B88:lI102|H3C1C54
+3C1C54:lI102|H3C1D18
+3C1D18:lI105|H3C1DD4
+3C1DD4:lI116|N
+3C0E7C:lI115|H3C0F30
+3C0F30:lI105|H3C0FEC
+3C0FEC:lI116|N
+3C0DE4:lH3C0E8C|H3C0E98
+3C0E8C:t2:H3C0F40,H3C0F48
+3C0F48:lI97|H3C1004
+3C1004:lI112|H3C10C8
+3C10C8:lI112|H3C1194
+3C1194:lI108|H3C1258
+3C1258:lI105|H3C131C
+3C131C:lI99|H3C13F0
+3C13F0:lI97|H3C14CC
+3C14CC:lI116|H3C15A0
+3C15A0:lI105|H3C166C
+3C166C:lI111|H3C1738
+3C1738:lI110|H3C17F4
+3C17F4:lI47|H3C18B0
+3C18B0:lI120|H3C1964
+3C1964:lI45|H3C1A18
+3C1A18:lI115|H3C1ACC
+3C1ACC:lI104|H3C1B90
+3C1B90:lI97|H3C1C5C
+3C1C5C:lI114|N
+3C0F40:lI115|H3C0FFC
+3C0FFC:lI104|H3C10C0
+3C10C0:lI97|H3C118C
+3C118C:lI114|N
+3C0E98:lH3C0F50|H3C0F5C
+3C0F50:t2:H3C100C,H3C1014
+3C1014:lI97|H3C10D8
+3C10D8:lI112|H3C119C
+3C119C:lI112|H3C1260
+3C1260:lI108|H3C1324
+3C1324:lI105|H3C13F8
+3C13F8:lI99|H3C14D4
+3C14D4:lI97|H3C15A8
+3C15A8:lI116|H3C1674
+3C1674:lI105|H3C1740
+3C1740:lI111|H3C17FC
+3C17FC:lI110|H3C18B8
+3C18B8:lI47|H3C196C
+3C196C:lI120|H3C1A20
+3C1A20:lI45|H3C1AD4
+3C1AD4:lI115|H3C1B98
+3C1B98:lI104|N
+3C100C:lI115|H3C10D0
+3C10D0:lI104|N
+3C0F5C:lH3C101C|H3C1028
+3C101C:t2:H3C10E0,H3C10E8
+3C10E8:lI97|H3C11AC
+3C11AC:lI112|H3C1268
+3C1268:lI112|H3C132C
+3C132C:lI108|H3C1400
+3C1400:lI105|H3C14DC
+3C14DC:lI99|H3C15B0
+3C15B0:lI97|H3C167C
+3C167C:lI116|H3C1748
+3C1748:lI105|H3C1804
+3C1804:lI111|H3C18C0
+3C18C0:lI110|H3C1974
+3C1974:lI47|H3C1A28
+3C1A28:lI120|H3C1ADC
+3C1ADC:lI45|H3C1BA0
+3C1BA0:lI110|H3C1C64
+3C1C64:lI101|H3C1D20
+3C1D20:lI116|H3C1DDC
+3C1DDC:lI99|H3C1E98
+3C1E98:lI100|H3C1F5C
+3C1F5C:lI102|N
+3C10E0:lI110|H3C11A4
+3C11A4:lI99|N
+3C1028:lH3C10F0|H3C10FC
+3C10F0:t2:H3C11B4,H3C11BC
+3C11BC:lI97|H3C1278
+3C1278:lI112|H3C133C
+3C133C:lI112|H3C1408
+3C1408:lI108|H3C14E4
+3C14E4:lI105|H3C15B8
+3C15B8:lI99|H3C1684
+3C1684:lI97|H3C1750
+3C1750:lI116|H3C180C
+3C180C:lI105|H3C18C8
+3C18C8:lI111|H3C197C
+3C197C:lI110|H3C1A30
+3C1A30:lI47|H3C1AE4
+3C1AE4:lI120|H3C1BA8
+3C1BA8:lI45|H3C1C6C
+3C1C6C:lI110|H3C1D28
+3C1D28:lI101|H3C1DE4
+3C1DE4:lI116|H3C1EA0
+3C1EA0:lI99|H3C1F64
+3C1F64:lI100|H3C2018
+3C2018:lI102|N
+3C11B4:lI99|H3C1270
+3C1270:lI100|H3C1334
+3C1334:lI102|N
+3C10FC:lH3C11C4|H3C11D0
+3C11C4:t2:H3C1280,H3C1288
+3C1288:lI97|H3C134C
+3C134C:lI112|H3C1418
+3C1418:lI112|H3C14EC
+3C14EC:lI108|H3C15C0
+3C15C0:lI105|H3C168C
+3C168C:lI99|H3C1758
+3C1758:lI97|H3C1814
+3C1814:lI116|H3C18D0
+3C18D0:lI105|H3C1984
+3C1984:lI111|H3C1A38
+3C1A38:lI110|H3C1AEC
+3C1AEC:lI47|H3C1BB0
+3C1BB0:lI120|H3C1C74
+3C1C74:lI45|H3C1D30
+3C1D30:lI109|H3C1DEC
+3C1DEC:lI105|H3C1EA8
+3C1EA8:lI102|N
+3C1280:lI109|H3C1344
+3C1344:lI105|H3C1410
+3C1410:lI102|N
+3C11D0:lH3C1290|H3C129C
+3C1290:t2:H3C1354,H3C135C
+3C135C:lI97|H3C1428
+3C1428:lI112|H3C14FC
+3C14FC:lI112|H3C15D0
+3C15D0:lI108|H3C169C
+3C169C:lI105|H3C1760
+3C1760:lI99|H3C181C
+3C181C:lI97|H3C18D8
+3C18D8:lI116|H3C198C
+3C198C:lI105|H3C1A40
+3C1A40:lI111|H3C1AF4
+3C1AF4:lI110|H3C1BB8
+3C1BB8:lI47|H3C1C7C
+3C1C7C:lI120|H3C1D38
+3C1D38:lI45|H3C1DF4
+3C1DF4:lI108|H3C1EB0
+3C1EB0:lI97|H3C1F6C
+3C1F6C:lI116|H3C2020
+3C2020:lI101|H3C20DC
+3C20DC:lI120|N
+3C1354:lI108|H3C1420
+3C1420:lI97|H3C14F4
+3C14F4:lI116|H3C15C8
+3C15C8:lI101|H3C1694
+3C1694:lI120|N
+3C129C:lH3C1364|H3C1370
+3C1364:t2:H3C1430,H3C1438
+3C1438:lI97|H3C150C
+3C150C:lI112|H3C15E0
+3C15E0:lI112|H3C16A4
+3C16A4:lI108|H3C1768
+3C1768:lI105|H3C1824
+3C1824:lI99|H3C18E0
+3C18E0:lI97|H3C1994
+3C1994:lI116|H3C1A48
+3C1A48:lI105|H3C1AFC
+3C1AFC:lI111|H3C1BC0
+3C1BC0:lI110|H3C1C84
+3C1C84:lI47|H3C1D40
+3C1D40:lI120|H3C1DFC
+3C1DFC:lI45|H3C1EB8
+3C1EB8:lI107|H3C1F74
+3C1F74:lI111|H3C2028
+3C2028:lI97|H3C20E4
+3C20E4:lI110|N
+3C1430:lI115|H3C1504
+3C1504:lI107|H3C15D8
+3C15D8:lI112|N
+3C1370:lH3C1440|H3C144C
+3C1440:t2:H3C1514,H3C151C
+3C151C:lI97|H3C15F0
+3C15F0:lI112|H3C16B4
+3C16B4:lI112|H3C1770
+3C1770:lI108|H3C182C
+3C182C:lI105|H3C18E8
+3C18E8:lI99|H3C199C
+3C199C:lI97|H3C1A50
+3C1A50:lI116|H3C1B04
+3C1B04:lI105|H3C1BC8
+3C1BC8:lI111|H3C1C8C
+3C1C8C:lI110|H3C1D48
+3C1D48:lI47|H3C1E04
+3C1E04:lI120|H3C1EC0
+3C1EC0:lI45|H3C1F7C
+3C1F7C:lI107|H3C2030
+3C2030:lI111|H3C20EC
+3C20EC:lI97|H3C21A0
+3C21A0:lI110|N
+3C1514:lI115|H3C15E8
+3C15E8:lI107|H3C16AC
+3C16AC:lI100|N
+3C144C:lH3C1524|H3C1530
+3C1524:t2:H3C15F8,H3C1600
+3C1600:lI97|H3C16C4
+3C16C4:lI112|H3C1780
+3C1780:lI112|H3C1834
+3C1834:lI108|H3C18F0
+3C18F0:lI105|H3C19A4
+3C19A4:lI99|H3C1A58
+3C1A58:lI97|H3C1B0C
+3C1B0C:lI116|H3C1BD0
+3C1BD0:lI105|H3C1C94
+3C1C94:lI111|H3C1D50
+3C1D50:lI110|H3C1E0C
+3C1E0C:lI47|H3C1EC8
+3C1EC8:lI120|H3C1F84
+3C1F84:lI45|H3C2038
+3C2038:lI107|H3C20F4
+3C20F4:lI111|H3C21A8
+3C21A8:lI97|H3C225C
+3C225C:lI110|N
+3C15F8:lI115|H3C16BC
+3C16BC:lI107|H3C1778
+3C1778:lI116|N
+3C1530:lH3C1608|H3C1614
+3C1608:t2:H3C16CC,H3C16D4
+3C16D4:lI97|H3C1790
+3C1790:lI112|H3C1844
+3C1844:lI112|H3C18F8
+3C18F8:lI108|H3C19AC
+3C19AC:lI105|H3C1A60
+3C1A60:lI99|H3C1B14
+3C1B14:lI97|H3C1BD8
+3C1BD8:lI116|H3C1C9C
+3C1C9C:lI105|H3C1D58
+3C1D58:lI111|H3C1E14
+3C1E14:lI110|H3C1ED0
+3C1ED0:lI47|H3C1F8C
+3C1F8C:lI120|H3C2040
+3C2040:lI45|H3C20FC
+3C20FC:lI107|H3C21B0
+3C21B0:lI111|H3C2264
+3C2264:lI97|H3C2320
+3C2320:lI110|N
+3C16CC:lI115|H3C1788
+3C1788:lI107|H3C183C
+3C183C:lI109|N
+3C1614:lH3C16DC|H3C16E8
+3C16DC:t2:H3C1798,H3C17A0
+3C17A0:lI97|H3C1854
+3C1854:lI112|H3C1908
+3C1908:lI112|H3C19B4
+3C19B4:lI108|H3C1A68
+3C1A68:lI105|H3C1B1C
+3C1B1C:lI99|H3C1BE0
+3C1BE0:lI97|H3C1CA4
+3C1CA4:lI116|H3C1D60
+3C1D60:lI105|H3C1E1C
+3C1E1C:lI111|H3C1ED8
+3C1ED8:lI110|H3C1F94
+3C1F94:lI47|H3C2048
+3C2048:lI120|H3C2104
+3C2104:lI45|H3C21B8
+3C21B8:lI104|H3C226C
+3C226C:lI116|H3C2328
+3C2328:lI116|H3C23E4
+3C23E4:lI112|H3C2498
+3C2498:lI100|H3C2554
+3C2554:lI45|H3C2610
+3C2610:lI99|H3C26D4
+3C26D4:lI103|H3C2790
+3C2790:lI105|N
+3C1798:lI99|H3C184C
+3C184C:lI103|H3C1900
+3C1900:lI105|N
+3C16E8:lH3C17A8|H3C17B4
+3C17A8:t2:H3C185C,H3C1864
+3C1864:lI97|H3C1918
+3C1918:lI112|H3C19C4
+3C19C4:lI112|H3C1A70
+3C1A70:lI108|H3C1B24
+3C1B24:lI105|H3C1BE8
+3C1BE8:lI99|H3C1CAC
+3C1CAC:lI97|H3C1D68
+3C1D68:lI116|H3C1E24
+3C1E24:lI105|H3C1EE0
+3C1EE0:lI111|H3C1F9C
+3C1F9C:lI110|H3C2050
+3C2050:lI47|H3C210C
+3C210C:lI120|H3C21C0
+3C21C0:lI45|H3C2274
+3C2274:lI104|H3C2330
+3C2330:lI100|H3C23EC
+3C23EC:lI102|N
+3C185C:lI104|H3C1910
+3C1910:lI100|H3C19BC
+3C19BC:lI102|N
+3C17B4:lH3C186C|H3C1878
+3C186C:t2:H3C1920,H3C1928
+3C1928:lI97|H3C19D4
+3C19D4:lI112|H3C1A78
+3C1A78:lI112|H3C1B2C
+3C1B2C:lI108|H3C1BF0
+3C1BF0:lI105|H3C1CB4
+3C1CB4:lI99|H3C1D70
+3C1D70:lI97|H3C1E2C
+3C1E2C:lI116|H3C1EE8
+3C1EE8:lI105|H3C1FA4
+3C1FA4:lI111|H3C2058
+3C2058:lI110|H3C2114
+3C2114:lI47|H3C21C8
+3C21C8:lI120|H3C227C
+3C227C:lI45|H3C2338
+3C2338:lI103|H3C23F4
+3C23F4:lI122|H3C24A0
+3C24A0:lI105|H3C255C
+3C255C:lI112|N
+3C1920:lI103|H3C19CC
+3C19CC:lI122|N
+3C1878:lH3C1930|H3C193C
+3C1930:t2:H3C19DC,H3C19E4
+3C19E4:lI97|H3C1A88
+3C1A88:lI112|H3C1B3C
+3C1B3C:lI112|H3C1C00
+3C1C00:lI108|H3C1CBC
+3C1CBC:lI105|H3C1D78
+3C1D78:lI99|H3C1E34
+3C1E34:lI97|H3C1EF0
+3C1EF0:lI116|H3C1FAC
+3C1FAC:lI105|H3C2060
+3C2060:lI111|H3C211C
+3C211C:lI110|H3C21D0
+3C21D0:lI47|H3C2284
+3C2284:lI120|H3C2340
+3C2340:lI45|H3C23FC
+3C23FC:lI103|H3C24A8
+3C24A8:lI116|H3C2564
+3C2564:lI97|H3C2618
+3C2618:lI114|N
+3C19DC:lI103|H3C1A80
+3C1A80:lI116|H3C1B34
+3C1B34:lI97|H3C1BF8
+3C1BF8:lI114|N
+3C193C:lH3C19EC|H3C19F8
+3C19EC:t2:H3C1A90,H3C1A98
+3C1A98:lI97|H3C1B4C
+3C1B4C:lI112|H3C1C10
+3C1C10:lI112|H3C1CC4
+3C1CC4:lI108|H3C1D80
+3C1D80:lI105|H3C1E3C
+3C1E3C:lI99|H3C1EF8
+3C1EF8:lI97|H3C1FB4
+3C1FB4:lI116|H3C2068
+3C2068:lI105|H3C2124
+3C2124:lI111|H3C21D8
+3C21D8:lI110|H3C228C
+3C228C:lI47|H3C2348
+3C2348:lI120|H3C2404
+3C2404:lI45|H3C24B0
+3C24B0:lI100|H3C256C
+3C256C:lI118|H3C2620
+3C2620:lI105|N
+3C1A90:lI100|H3C1B44
+3C1B44:lI118|H3C1C08
+3C1C08:lI105|N
+3C19F8:lH3C1AA0|H3C1AAC
+3C1AA0:t2:H3C1B54,H3C1B5C
+3C1B5C:lI97|H3C1C20
+3C1C20:lI112|H3C1CD4
+3C1CD4:lI112|H3C1D88
+3C1D88:lI108|H3C1E44
+3C1E44:lI105|H3C1F00
+3C1F00:lI99|H3C1FBC
+3C1FBC:lI97|H3C2070
+3C2070:lI116|H3C212C
+3C212C:lI105|H3C21E0
+3C21E0:lI111|H3C2294
+3C2294:lI110|H3C2350
+3C2350:lI47|H3C240C
+3C240C:lI120|H3C24B8
+3C24B8:lI45|H3C2574
+3C2574:lI100|H3C2628
+3C2628:lI105|H3C26DC
+3C26DC:lI114|H3C2798
+3C2798:lI101|H3C2854
+3C2854:lI99|H3C2918
+3C2918:lI116|H3C29E4
+3C29E4:lI111|H3C2AB0
+3C2AB0:lI114|N
+3C1B54:lI100|H3C1C18
+3C1C18:lI99|H3C1CCC
+3C1CCC:lI114|N
+3C1AAC:lH3C1B64|H3C1B70
+3C1B64:t2:H3C1C28,H3C1C30
+3C1C30:lI97|H3C1CE4
+3C1CE4:lI112|H3C1D98
+3C1D98:lI112|H3C1E4C
+3C1E4C:lI108|H3C1F08
+3C1F08:lI105|H3C1FC4
+3C1FC4:lI99|H3C2078
+3C2078:lI97|H3C2134
+3C2134:lI116|H3C21E8
+3C21E8:lI105|H3C229C
+3C229C:lI111|H3C2358
+3C2358:lI110|H3C2414
+3C2414:lI47|H3C24C0
+3C24C0:lI120|H3C257C
+3C257C:lI45|H3C2630
+3C2630:lI100|H3C26E4
+3C26E4:lI105|H3C27A0
+3C27A0:lI114|H3C285C
+3C285C:lI101|H3C2920
+3C2920:lI99|H3C29EC
+3C29EC:lI116|H3C2AB8
+3C2AB8:lI111|H3C2B84
+3C2B84:lI114|N
+3C1C28:lI100|H3C1CDC
+3C1CDC:lI105|H3C1D90
+3C1D90:lI114|N
+3C1B70:lH3C1C38|H3C1C44
+3C1C38:t2:H3C1CEC,H3C1CF4
+3C1CF4:lI97|H3C1DA8
+3C1DA8:lI112|H3C1E5C
+3C1E5C:lI112|H3C1F10
+3C1F10:lI108|H3C1FCC
+3C1FCC:lI105|H3C2080
+3C2080:lI99|H3C213C
+3C213C:lI97|H3C21F0
+3C21F0:lI116|H3C22A4
+3C22A4:lI105|H3C2360
+3C2360:lI111|H3C241C
+3C241C:lI110|H3C24C8
+3C24C8:lI47|H3C2584
+3C2584:lI120|H3C2638
+3C2638:lI45|H3C26EC
+3C26EC:lI100|H3C27A8
+3C27A8:lI105|H3C2864
+3C2864:lI114|H3C2928
+3C2928:lI101|H3C29F4
+3C29F4:lI99|H3C2AC0
+3C2AC0:lI116|H3C2B8C
+3C2B8C:lI111|H3C2C48
+3C2C48:lI114|N
+3C1CEC:lI100|H3C1DA0
+3C1DA0:lI120|H3C1E54
+3C1E54:lI114|N
+3C1C44:lH3C1CFC|H3C1D08
+3C1CFC:t2:H3C1DB0,H3C1DB8
+3C1DB8:lI97|H3C1E6C
+3C1E6C:lI112|H3C1F20
+3C1F20:lI112|H3C1FD4
+3C1FD4:lI108|H3C2088
+3C2088:lI105|H3C2144
+3C2144:lI99|H3C21F8
+3C21F8:lI97|H3C22AC
+3C22AC:lI116|H3C2368
+3C2368:lI105|H3C2424
+3C2424:lI111|H3C24D0
+3C24D0:lI110|H3C258C
+3C258C:lI47|H3C2640
+3C2640:lI120|H3C26F4
+3C26F4:lI45|H3C27B0
+3C27B0:lI99|H3C286C
+3C286C:lI115|H3C2930
+3C2930:lI104|N
+3C1DB0:lI99|H3C1E64
+3C1E64:lI115|H3C1F18
+3C1F18:lI104|N
+3C1D08:lH3C1DC0|H3C1DCC
+3C1DC0:t2:H3C1E74,H3C1E7C
+3C1E7C:lI97|H3C1F30
+3C1F30:lI112|H3C1FE4
+3C1FE4:lI112|H3C2098
+3C2098:lI108|H3C214C
+3C214C:lI105|H3C2200
+3C2200:lI99|H3C22B4
+3C22B4:lI97|H3C2370
+3C2370:lI116|H3C242C
+3C242C:lI105|H3C24D8
+3C24D8:lI111|H3C2594
+3C2594:lI110|H3C2648
+3C2648:lI47|H3C26FC
+3C26FC:lI120|H3C27B8
+3C27B8:lI45|H3C2874
+3C2874:lI99|H3C2938
+3C2938:lI112|H3C29FC
+3C29FC:lI105|H3C2AC8
+3C2AC8:lI111|N
+3C1E74:lI99|H3C1F28
+3C1F28:lI112|H3C1FDC
+3C1FDC:lI105|H3C2090
+3C2090:lI111|N
+3C1DCC:lH3C1E84|H3C1E90
+3C1E84:t2:H3C1F38,H3C1F40
+3C1F40:lI97|H3C1FEC
+3C1FEC:lI112|H3C20A0
+3C20A0:lI112|H3C2154
+3C2154:lI108|H3C2208
+3C2208:lI105|H3C22BC
+3C22BC:lI99|H3C2378
+3C2378:lI97|H3C2434
+3C2434:lI116|H3C24E0
+3C24E0:lI105|H3C259C
+3C259C:lI111|H3C2650
+3C2650:lI110|H3C2704
+3C2704:lI47|H3C27C0
+3C27C0:lI120|H3C287C
+3C287C:lI45|H3C2940
+3C2940:lI99|H3C2A04
+3C2A04:lI111|H3C2AD0
+3C2AD0:lI109|H3C2B94
+3C2B94:lI112|H3C2C50
+3C2C50:lI114|H3C2D00
+3C2D00:lI101|H3C2DA8
+3C2DA8:lI115|H3C2E40
+3C2E40:lI115|N
+3C1F38:lI90|N
+3C1E90:lH3C1F48|H3C1F54
+3C1F48:t2:H3C1FF4,H3C1FFC
+3C1FFC:lI97|H3C20B0
+3C20B0:lI112|H3C2164
+3C2164:lI112|H3C2210
+3C2210:lI108|H3C22C4
+3C22C4:lI105|H3C2380
+3C2380:lI99|H3C243C
+3C243C:lI97|H3C24E8
+3C24E8:lI116|H3C25A4
+3C25A4:lI105|H3C2658
+3C2658:lI111|H3C270C
+3C270C:lI110|H3C27C8
+3C27C8:lI47|H3C2884
+3C2884:lI120|H3C2948
+3C2948:lI45|H3C2A0C
+3C2A0C:lI99|H3C2AD8
+3C2AD8:lI100|H3C2B9C
+3C2B9C:lI108|H3C2C58
+3C2C58:lI105|H3C2D08
+3C2D08:lI110|H3C2DB0
+3C2DB0:lI107|N
+3C1FF4:lI118|H3C20A8
+3C20A8:lI99|H3C215C
+3C215C:lI100|N
+3C1F54:lH3C2004|H3C2010
+3C2004:t2:H3C20B8,H3C20C0
+3C20C0:lI97|H3C2174
+3C2174:lI112|H3C2220
+3C2220:lI112|H3C22D4
+3C22D4:lI108|H3C2390
+3C2390:lI105|H3C2444
+3C2444:lI99|H3C24F0
+3C24F0:lI97|H3C25AC
+3C25AC:lI116|H3C2660
+3C2660:lI105|H3C2714
+3C2714:lI111|H3C27D0
+3C27D0:lI110|H3C288C
+3C288C:lI47|H3C2950
+3C2950:lI120|H3C2A14
+3C2A14:lI45|H3C2AE0
+3C2AE0:lI98|H3C2BA4
+3C2BA4:lI99|H3C2C60
+3C2C60:lI112|H3C2D10
+3C2D10:lI105|H3C2DB8
+3C2DB8:lI111|N
+3C20B8:lI98|H3C216C
+3C216C:lI99|H3C2218
+3C2218:lI112|H3C22CC
+3C22CC:lI105|H3C2388
+3C2388:lI111|N
+3C2010:lH3C20C8|H3C20D4
+3C20C8:t2:H3C217C,H3C2184
+3C2184:lI97|H3C2230
+3C2230:lI112|H3C22E4
+3C22E4:lI112|H3C2398
+3C2398:lI108|H3C244C
+3C244C:lI105|H3C24F8
+3C24F8:lI99|H3C25B4
+3C25B4:lI97|H3C2668
+3C2668:lI116|H3C271C
+3C271C:lI105|H3C27D8
+3C27D8:lI111|H3C2894
+3C2894:lI110|H3C2958
+3C2958:lI47|H3C2A1C
+3C2A1C:lI114|H3C2AE8
+3C2AE8:lI116|H3C2BAC
+3C2BAC:lI102|N
+3C217C:lI114|H3C2228
+3C2228:lI116|H3C22DC
+3C22DC:lI102|N
+3C20D4:lH3C218C|H3C2198
+3C218C:t2:H3C2238,H3C2240
+3C2240:lI97|H3C22F4
+3C22F4:lI112|H3C23A8
+3C23A8:lI112|H3C2454
+3C2454:lI108|H3C2500
+3C2500:lI105|H3C25BC
+3C25BC:lI99|H3C2670
+3C2670:lI97|H3C2724
+3C2724:lI116|H3C27E0
+3C27E0:lI105|H3C289C
+3C289C:lI111|H3C2960
+3C2960:lI110|H3C2A24
+3C2A24:lI47|H3C2AF0
+3C2AF0:lI112|H3C2BB4
+3C2BB4:lI111|H3C2C68
+3C2C68:lI119|H3C2D18
+3C2D18:lI101|H3C2DC0
+3C2DC0:lI114|H3C2E48
+3C2E48:lI112|H3C2EC0
+3C2EC0:lI111|H3C2F38
+3C2F38:lI105|H3C2FA8
+3C2FA8:lI110|H3C3010
+3C3010:lI116|N
+3C2238:lI112|H3C22EC
+3C22EC:lI112|H3C23A0
+3C23A0:lI116|N
+3C2198:lH3C2248|H3C2254
+3C2248:t2:H3C22FC,H3C2304
+3C2304:lI97|H3C23B8
+3C23B8:lI112|H3C245C
+3C245C:lI112|H3C2508
+3C2508:lI108|H3C25C4
+3C25C4:lI105|H3C2678
+3C2678:lI99|H3C272C
+3C272C:lI97|H3C27E8
+3C27E8:lI116|H3C28A4
+3C28A4:lI105|H3C2968
+3C2968:lI111|H3C2A2C
+3C2A2C:lI110|H3C2AF8
+3C2AF8:lI47|H3C2BBC
+3C2BBC:lI112|H3C2C70
+3C2C70:lI111|H3C2D20
+3C2D20:lI115|H3C2DC8
+3C2DC8:lI116|H3C2E50
+3C2E50:lI115|H3C2EC8
+3C2EC8:lI99|H3C2F40
+3C2F40:lI114|H3C2FB0
+3C2FB0:lI105|H3C3018
+3C3018:lI112|H3C3078
+3C3078:lI116|N
+3C22FC:lI97|H3C23B0
+3C23B0:lI105|N
+3C2254:lH3C230C|H3C2318
+3C230C:t2:H3C23C0,H3C23C8
+3C23C8:lI97|H3C246C
+3C246C:lI112|H3C2518
+3C2518:lI112|H3C25CC
+3C25CC:lI108|H3C2680
+3C2680:lI105|H3C2734
+3C2734:lI99|H3C27F0
+3C27F0:lI97|H3C28AC
+3C28AC:lI116|H3C2970
+3C2970:lI105|H3C2A34
+3C2A34:lI111|H3C2B00
+3C2B00:lI110|H3C2BC4
+3C2BC4:lI47|H3C2C78
+3C2C78:lI112|H3C2D28
+3C2D28:lI111|H3C2DD0
+3C2DD0:lI115|H3C2E58
+3C2E58:lI116|H3C2ED0
+3C2ED0:lI115|H3C2F48
+3C2F48:lI99|H3C2FB8
+3C2FB8:lI114|H3C3020
+3C3020:lI105|H3C3080
+3C3080:lI112|H3C30D8
+3C30D8:lI116|N
+3C23C0:lI101|H3C2464
+3C2464:lI112|H3C2510
+3C2510:lI115|N
+3C2318:lH3C23D0|H3C23DC
+3C23D0:t2:H3C2474,H3C247C
+3C247C:lI97|H3C2528
+3C2528:lI112|H3C25D4
+3C25D4:lI112|H3C2688
+3C2688:lI108|H3C273C
+3C273C:lI105|H3C27F8
+3C27F8:lI99|H3C28B4
+3C28B4:lI97|H3C2978
+3C2978:lI116|H3C2A3C
+3C2A3C:lI105|H3C2B08
+3C2B08:lI111|H3C2BCC
+3C2BCC:lI110|H3C2C80
+3C2C80:lI47|H3C2D30
+3C2D30:lI112|H3C2DD8
+3C2DD8:lI111|H3C2E60
+3C2E60:lI115|H3C2ED8
+3C2ED8:lI116|H3C2F50
+3C2F50:lI115|H3C2FC0
+3C2FC0:lI99|H3C3028
+3C3028:lI114|H3C3088
+3C3088:lI105|H3C30E0
+3C30E0:lI112|H3C3130
+3C3130:lI116|N
+3C2474:lI112|H3C2520
+3C2520:lI115|N
+3C23DC:lH3C2484|H3C2490
+3C2484:t2:H3C2530,H3C2538
+3C2538:lI97|H3C25E4
+3C25E4:lI112|H3C2698
+3C2698:lI112|H3C2744
+3C2744:lI108|H3C2800
+3C2800:lI105|H3C28BC
+3C28BC:lI99|H3C2980
+3C2980:lI97|H3C2A44
+3C2A44:lI116|H3C2B10
+3C2B10:lI105|H3C2BD4
+3C2BD4:lI111|H3C2C88
+3C2C88:lI110|H3C2D38
+3C2D38:lI47|H3C2DE0
+3C2DE0:lI112|H3C2E68
+3C2E68:lI100|H3C2EE0
+3C2EE0:lI102|N
+3C2530:lI112|H3C25DC
+3C25DC:lI100|H3C2690
+3C2690:lI102|N
+3C2490:lH3C2540|H3C254C
+3C2540:t2:H3C25EC,H3C25F4
+3C25F4:lI97|H3C26A8
+3C26A8:lI112|H3C2754
+3C2754:lI112|H3C2808
+3C2808:lI108|H3C28C4
+3C28C4:lI105|H3C2988
+3C2988:lI99|H3C2A4C
+3C2A4C:lI97|H3C2B18
+3C2B18:lI116|H3C2BDC
+3C2BDC:lI105|H3C2C90
+3C2C90:lI111|H3C2D40
+3C2D40:lI110|H3C2DE8
+3C2DE8:lI47|H3C2E70
+3C2E70:lI111|H3C2EE8
+3C2EE8:lI100|H3C2F58
+3C2F58:lI97|N
+3C25EC:lI111|H3C26A0
+3C26A0:lI100|H3C274C
+3C274C:lI97|N
+3C254C:lH3C25FC|H3C2608
+3C25FC:t2:H3C26B0,H3C26B8
+3C26B8:lI97|H3C2764
+3C2764:lI112|H3C2818
+3C2818:lI112|H3C28CC
+3C28CC:lI108|H3C2990
+3C2990:lI105|H3C2A54
+3C2A54:lI99|H3C2B20
+3C2B20:lI97|H3C2BE4
+3C2BE4:lI116|H3C2C98
+3C2C98:lI105|H3C2D48
+3C2D48:lI111|H3C2DF0
+3C2DF0:lI110|H3C2E78
+3C2E78:lI47|H3C2EF0
+3C2EF0:lI111|H3C2F60
+3C2F60:lI99|H3C2FC8
+3C2FC8:lI116|H3C3030
+3C3030:lI101|H3C3090
+3C3090:lI116|H3C30E8
+3C30E8:lI45|H3C3138
+3C3138:lI115|H3C3180
+3C3180:lI116|H3C31C8
+3C31C8:lI114|H3C3210
+3C3210:lI101|H3C3258
+3C3258:lI97|H3C32A0
+3C32A0:lI109|N
+3C26B0:lI98|H3C275C
+3C275C:lI105|H3C2810
+3C2810:lI110|N
+3C2608:lH3C26C0|H3C26CC
+3C26C0:t2:H3C276C,H3C2774
+3C2774:lI97|H3C2828
+3C2828:lI112|H3C28DC
+3C28DC:lI112|H3C2998
+3C2998:lI108|H3C2A5C
+3C2A5C:lI105|H3C2B28
+3C2B28:lI99|H3C2BEC
+3C2BEC:lI97|H3C2CA0
+3C2CA0:lI116|H3C2D50
+3C2D50:lI105|H3C2DF8
+3C2DF8:lI111|H3C2E80
+3C2E80:lI110|H3C2EF8
+3C2EF8:lI47|H3C2F68
+3C2F68:lI111|H3C2FD0
+3C2FD0:lI99|H3C3038
+3C3038:lI116|H3C3098
+3C3098:lI101|H3C30F0
+3C30F0:lI116|H3C3140
+3C3140:lI45|H3C3188
+3C3188:lI115|H3C31D0
+3C31D0:lI116|H3C3218
+3C3218:lI114|H3C3260
+3C3260:lI101|H3C32A8
+3C32A8:lI97|H3C32E8
+3C32E8:lI109|N
+3C276C:lI100|H3C2820
+3C2820:lI109|H3C28D4
+3C28D4:lI115|N
+3C26CC:lH3C277C|H3C2788
+3C277C:t2:H3C2830,H3C2838
+3C2838:lI97|H3C28EC
+3C28EC:lI112|H3C29A8
+3C29A8:lI112|H3C2A64
+3C2A64:lI108|H3C2B30
+3C2B30:lI105|H3C2BF4
+3C2BF4:lI99|H3C2CA8
+3C2CA8:lI97|H3C2D58
+3C2D58:lI116|H3C2E00
+3C2E00:lI105|H3C2E88
+3C2E88:lI111|H3C2F00
+3C2F00:lI110|H3C2F70
+3C2F70:lI47|H3C2FD8
+3C2FD8:lI111|H3C3040
+3C3040:lI99|H3C30A0
+3C30A0:lI116|H3C30F8
+3C30F8:lI101|H3C3148
+3C3148:lI116|H3C3190
+3C3190:lI45|H3C31D8
+3C31D8:lI115|H3C3220
+3C3220:lI116|H3C3268
+3C3268:lI114|H3C32B0
+3C32B0:lI101|H3C32F0
+3C32F0:lI97|H3C3320
+3C3320:lI109|N
+3C2830:lI108|H3C28E4
+3C28E4:lI104|H3C29A0
+3C29A0:lI97|N
+3C2788:lH3C2840|H3C284C
+3C2840:t2:H3C28F4,H3C28FC
+3C28FC:lI97|H3C29B8
+3C29B8:lI112|H3C2A74
+3C2A74:lI112|H3C2B38
+3C2B38:lI108|H3C2BFC
+3C2BFC:lI105|H3C2CB0
+3C2CB0:lI99|H3C2D60
+3C2D60:lI97|H3C2E08
+3C2E08:lI116|H3C2E90
+3C2E90:lI105|H3C2F08
+3C2F08:lI111|H3C2F78
+3C2F78:lI110|H3C2FE0
+3C2FE0:lI47|H3C3048
+3C3048:lI111|H3C30A8
+3C30A8:lI99|H3C3100
+3C3100:lI116|H3C3150
+3C3150:lI101|H3C3198
+3C3198:lI116|H3C31E0
+3C31E0:lI45|H3C3228
+3C3228:lI115|H3C3270
+3C3270:lI116|H3C32B8
+3C32B8:lI114|H3C32F8
+3C32F8:lI101|H3C3328
+3C3328:lI97|H3C3350
+3C3350:lI109|N
+3C28F4:lI108|H3C29B0
+3C29B0:lI122|H3C2A6C
+3C2A6C:lI104|N
+3C284C:lH3C2904|H3C2910
+3C2904:t2:H3C29C0,H3C29C8
+3C29C8:lI97|H3C2A84
+3C2A84:lI112|H3C2B48
+3C2B48:lI112|H3C2C04
+3C2C04:lI108|H3C2CB8
+3C2CB8:lI105|H3C2D68
+3C2D68:lI99|H3C2E10
+3C2E10:lI97|H3C2E98
+3C2E98:lI116|H3C2F10
+3C2F10:lI105|H3C2F80
+3C2F80:lI111|H3C2FE8
+3C2FE8:lI110|H3C3050
+3C3050:lI47|H3C30B0
+3C30B0:lI111|H3C3108
+3C3108:lI99|H3C3158
+3C3158:lI116|H3C31A0
+3C31A0:lI101|H3C31E8
+3C31E8:lI116|H3C3230
+3C3230:lI45|H3C3278
+3C3278:lI115|H3C32C0
+3C32C0:lI116|H3C3300
+3C3300:lI114|H3C3330
+3C3330:lI101|H3C3358
+3C3358:lI97|H3C3378
+3C3378:lI109|N
+3C29C0:lI101|H3C2A7C
+3C2A7C:lI120|H3C2B40
+3C2B40:lI101|N
+3C2910:lH3C29D0|H3C29DC
+3C29D0:t2:H3C2A8C,H3C2A94
+3C2A94:lI97|H3C2B58
+3C2B58:lI112|H3C2C14
+3C2C14:lI112|H3C2CC8
+3C2CC8:lI108|H3C2D78
+3C2D78:lI105|H3C2E18
+3C2E18:lI99|H3C2EA0
+3C2EA0:lI97|H3C2F18
+3C2F18:lI116|H3C2F88
+3C2F88:lI105|H3C2FF0
+3C2FF0:lI111|H3C3058
+3C3058:lI110|H3C30B8
+3C30B8:lI47|H3C3110
+3C3110:lI111|H3C3160
+3C3160:lI99|H3C31A8
+3C31A8:lI116|H3C31F0
+3C31F0:lI101|H3C3238
+3C3238:lI116|H3C3280
+3C3280:lI45|H3C32C8
+3C32C8:lI115|H3C3308
+3C3308:lI116|H3C3338
+3C3338:lI114|H3C3360
+3C3360:lI101|H3C3380
+3C3380:lI97|H3C3398
+3C3398:lI109|N
+3C2A8C:lI99|H3C2B50
+3C2B50:lI108|H3C2C0C
+3C2C0C:lI97|H3C2CC0
+3C2CC0:lI115|H3C2D70
+3C2D70:lI115|N
+3C29DC:lH3C2A9C|H3C2AA8
+3C2A9C:t2:H3C2B60,H3C2B68
+3C2B68:lI97|H3C2C24
+3C2C24:lI112|H3C2CD8
+3C2CD8:lI112|H3C2D80
+3C2D80:lI108|H3C2E20
+3C2E20:lI105|H3C2EA8
+3C2EA8:lI99|H3C2F20
+3C2F20:lI97|H3C2F90
+3C2F90:lI116|H3C2FF8
+3C2FF8:lI105|H3C3060
+3C3060:lI111|H3C30C0
+3C30C0:lI110|H3C3118
+3C3118:lI47|H3C3168
+3C3168:lI109|H3C31B0
+3C31B0:lI115|H3C31F8
+3C31F8:lI119|H3C3240
+3C3240:lI111|H3C3288
+3C3288:lI114|H3C32D0
+3C32D0:lI100|N
+3C2B60:lI100|H3C2C1C
+3C2C1C:lI111|H3C2CD0
+3C2CD0:lI99|N
+3C2AA8:lH3C2B70|H3C2B7C
+3C2B70:t2:H3C2C2C,H3C2C34
+3C2C34:lI97|H3C2CE8
+3C2CE8:lI112|H3C2D90
+3C2D90:lI112|H3C2E28
+3C2E28:lI108|H3C2EB0
+3C2EB0:lI105|H3C2F28
+3C2F28:lI99|H3C2F98
+3C2F98:lI97|H3C3000
+3C3000:lI116|H3C3068
+3C3068:lI105|H3C30C8
+3C30C8:lI111|H3C3120
+3C3120:lI110|H3C3170
+3C3170:lI47|H3C31B8
+3C31B8:lI109|H3C3200
+3C3200:lI97|H3C3248
+3C3248:lI99|H3C3290
+3C3290:lI45|H3C32D8
+3C32D8:lI99|H3C3310
+3C3310:lI111|H3C3340
+3C3340:lI109|H3C3368
+3C3368:lI112|H3C3388
+3C3388:lI97|H3C33A0
+3C33A0:lI99|H3C33B0
+3C33B0:lI116|H3C33C0
+3C33C0:lI112|H3C33D0
+3C33D0:lI114|H3C33E0
+3C33E0:lI111|N
+3C2C2C:lI99|H3C2CE0
+3C2CE0:lI112|H3C2D88
+3C2D88:lI116|N
+3C2B7C:lH3C2C3C|N
+3C2C3C:t2:H3C2CF0,H3C2CF8
+3C2CF8:lI97|H3C2DA0
+3C2DA0:lI112|H3C2E38
+3C2E38:lI112|H3C2EB8
+3C2EB8:lI108|H3C2F30
+3C2F30:lI105|H3C2FA0
+3C2FA0:lI99|H3C3008
+3C3008:lI97|H3C3070
+3C3070:lI116|H3C30D0
+3C30D0:lI105|H3C3128
+3C3128:lI111|H3C3178
+3C3178:lI110|H3C31C0
+3C31C0:lI47|H3C3208
+3C3208:lI109|H3C3250
+3C3250:lI97|H3C3298
+3C3298:lI99|H3C32E0
+3C32E0:lI45|H3C3318
+3C3318:lI98|H3C3348
+3C3348:lI105|H3C3370
+3C3370:lI110|H3C3390
+3C3390:lI104|H3C33A8
+3C33A8:lI101|H3C33B8
+3C33B8:lI120|H3C33C8
+3C33C8:lI52|H3C33D8
+3C33D8:lI48|N
+3C2CF0:lI104|H3C2D98
+3C2D98:lI113|H3C2E30
+3C2E30:lI120|N
+3BDBCC:lH3BDA78|H3BDA8C
+3BDA78:t2:A4:port,I8888
+3BDA8C:lH3BDB04|H3BDB10
+3BDB04:t2:AC:bind_address,H3BDB64
+3BDB64:t4:I127,I0,I0,I1
+3BDB10:lH3BDB78|H3BDB84
+3BDB78:t2:AB:server_name,H3BDBD4
+3BDBD4:lI108|H3BDC24
+3BDC24:lI111|H3BDC88
+3BDC88:lI99|H3BDCF0
+3BDCF0:lI97|H3BDD70
+3BDD70:lI108|H3BDDF8
+3BDDF8:lI104|H3BDE90
+3BDE90:lI111|H3BDF40
+3BDF40:lI115|H3BDFFC
+3BDFFC:lI116|N
+3BDB84:lH3BDBDC|H3BDBE8
+3BDBDC:t2:AE:max_header_siz,I1024
+3BDBE8:lH3BDC2C|H3BDC38
+3BDC2C:t2:A11:max_header_action,A8:reply414
+3BDC38:lH3BDC90|H3BDC9C
+3BDC90:t2:A8:com_type,A7:ip_comm
+3BDC9C:lH3BDCF8|H3BDD04
+3BDCF8:t2:A7:modules,H3BDD78
+3BDD78:lA9:mod_alias|H3BDE00
+3BDE00:lA8:mod_auth|H3BDE98
+3BDE98:lA7:mod_esi|H3BDF48
+3BDF48:lAB:mod_actions|H3BE004
+3BE004:lA7:mod_cgi|H3BE0D0
+3BE0D0:lAB:mod_include|H3BE1A4
+3BE1A4:lA7:mod_dir|H3BE288
+3BE288:lA7:mod_get|H3BE378
+3BE378:lA8:mod_head|H3BE47C
+3BE47C:lA7:mod_log|H3BE580
+3BE580:lAC:mod_disk_log|N
+3BDD04:lH3BDD80|H3BDD8C
+3BDD80:t2:AF:directory_index,H3BDE08
+3BDE08:lH3BDEA0|N
+3BDEA0:lI105|H3BDF50
+3BDF50:lI110|H3BE00C
+3BE00C:lI100|H3BE0D8
+3BE0D8:lI101|H3BE1AC
+3BE1AC:lI120|H3BE290
+3BE290:lI46|H3BE380
+3BE380:lI104|H3BE484
+3BE484:lI116|H3BE588
+3BE588:lI109|H3BE68C
+3BE68C:lI108|N
+3BDD8C:lH3BDE10|H3BDE1C
+3BDE10:t2:AC:default_type,H3BDEA8
+3BDEA8:lI116|H3BDF58
+3BDF58:lI101|H3BE014
+3BE014:lI120|H3BE0E0
+3BE0E0:lI116|H3BE1B4
+3BE1B4:lI47|H3BE298
+3BE298:lI112|H3BE388
+3BE388:lI108|H3BE48C
+3BE48C:lI97|H3BE590
+3BE590:lI105|H3BE694
+3BE694:lI110|N
+3BDE1C:lH3BDEB0|H3BDEBC
+3BDEB0:t2:A10:erl_script_alias,H3BDF60
+3BDF60:t2:H3BE01C,H3BE024
+3BE024:lH3BE0F0|N
+3BE0F0:lI119|H3BE1C4
+3BE1C4:lI101|H3BE2A8
+3BE2A8:lI98|H3BE398
+3BE398:lI116|H3BE49C
+3BE49C:lI111|H3BE5A0
+3BE5A0:lI111|H3BE6A4
+3BE6A4:lI108|N
+3BE01C:lI47|H3BE0E8
+3BE0E8:lI119|H3BE1BC
+3BE1BC:lI101|H3BE2A0
+3BE2A0:lI98|H3BE390
+3BE390:lI116|H3BE494
+3BE494:lI111|H3BE598
+3BE598:lI111|H3BE69C
+3BE69C:lI108|N
+3BDEBC:lH3BDF6C|H3BDF78
+3BDF6C:t2:A5:alias,H3BE02C
+3BE02C:t2:H3BE0F8,H3BE100
+3BE100:lI47|H3BE1D4
+3BE1D4:lI99|H3BE2B8
+3BE2B8:lI108|H3BE3A8
+3BE3A8:lI101|H3BE4AC
+3BE4AC:lI97|H3BE5B0
+3BE5B0:lI114|H3BE6B4
+3BE6B4:lI99|H3BE7A8
+3BE7A8:lI97|H3BE894
+3BE894:lI115|H3BE980
+3BE980:lI101|H3BEA74
+3BEA74:lI47|H3BEB68
+3BEB68:lI111|H3BEC54
+3BEC54:lI116|H3BED40
+3BED40:lI112|H3BEE2C
+3BEE2C:lI47|H3BEF00
+3BEF00:lI101|H3BEFD4
+3BEFD4:lI114|H3BF0A0
+3BF0A0:lI116|H3BF174
+3BF174:lI115|H3BF238
+3BF238:lI47|H3BF2FC
+3BF2FC:lI108|H3BF3A8
+3BF3A8:lI105|H3BF45C
+3BF45C:lI98|H3BF518
+3BF518:lI47|H3BF5DC
+3BF5DC:lI111|H3BF6B0
+3BF6B0:lI98|H3BF784
+3BF784:lI115|H3BF858
+3BF858:lI101|H3BF93C
+3BF93C:lI114|H3BFA18
+3BFA18:lI118|H3BFAF4
+3BFAF4:lI101|H3BFBD0
+3BFBD0:lI114|H3BFC9C
+3BFC9C:lI47|H3BFD60
+3BFD60:lI112|H3BFE2C
+3BFE2C:lI114|H3BFEE0
+3BFEE0:lI105|H3BFF94
+3BFF94:lI118|H3C0040
+3C0040:lI47|H3C00EC
+3C00EC:lI99|H3C0198
+3C0198:lI114|H3C024C
+3C024C:lI97|H3C0308
+3C0308:lI115|H3C03BC
+3C03BC:lI104|H3C0458
+3C0458:lI100|H3C04F4
+3C04F4:lI117|H3C0590
+3C0590:lI109|H3C0634
+3C0634:lI112|H3C06E0
+3C06E0:lI95|H3C078C
+3C078C:lI118|H3C0830
+3C0830:lI105|H3C08BC
+3C08BC:lI101|H3C0950
+3C0950:lI119|H3C09E4
+3C09E4:lI101|H3C0A80
+3C0A80:lI114|N
+3BE0F8:lI47|H3BE1CC
+3BE1CC:lI99|H3BE2B0
+3BE2B0:lI114|H3BE3A0
+3BE3A0:lI97|H3BE4A4
+3BE4A4:lI115|H3BE5A8
+3BE5A8:lI104|H3BE6AC
+3BE6AC:lI100|H3BE7A0
+3BE7A0:lI117|H3BE88C
+3BE88C:lI109|H3BE978
+3BE978:lI112|H3BEA6C
+3BEA6C:lI95|H3BEB60
+3BEB60:lI118|H3BEC4C
+3BEC4C:lI105|H3BED38
+3BED38:lI101|H3BEE24
+3BEE24:lI119|H3BEEF8
+3BEEF8:lI101|H3BEFCC
+3BEFCC:lI114|N
+3BDF78:lH3BE038|H3BE044
+3BE038:t2:A5:alias,H3BE108
+3BE108:t2:H3BE1DC,H3BE1E4
+3BE1E4:lI47|H3BE2C8
+3BE2C8:lI99|H3BE3B8
+3BE3B8:lI108|H3BE4BC
+3BE4BC:lI101|H3BE5C0
+3BE5C0:lI97|H3BE6C4
+3BE6C4:lI114|H3BE7B8
+3BE7B8:lI99|H3BE8A4
+3BE8A4:lI97|H3BE990
+3BE990:lI115|H3BEA84
+3BEA84:lI101|H3BEB78
+3BEB78:lI47|H3BEC64
+3BEC64:lI111|H3BED50
+3BED50:lI116|H3BEE3C
+3BEE3C:lI112|H3BEF10
+3BEF10:lI47|H3BEFE4
+3BEFE4:lI101|H3BF0B0
+3BF0B0:lI114|H3BF184
+3BF184:lI116|H3BF248
+3BF248:lI115|H3BF304
+3BF304:lI47|H3BF3B0
+3BF3B0:lI101|H3BF464
+3BF464:lI114|H3BF520
+3BF520:lI116|H3BF5E4
+3BF5E4:lI115|H3BF6B8
+3BF6B8:lI47|H3BF78C
+3BF78C:lI100|H3BF860
+3BF860:lI111|H3BF944
+3BF944:lI99|H3BFA20
+3BFA20:lI47|H3BFAFC
+3BFAFC:lI104|H3BFBD8
+3BFBD8:lI116|H3BFCA4
+3BFCA4:lI109|H3BFD68
+3BFD68:lI108|N
+3BE1DC:lI47|H3BE2C0
+3BE2C0:lI99|H3BE3B0
+3BE3B0:lI114|H3BE4B4
+3BE4B4:lI97|H3BE5B8
+3BE5B8:lI115|H3BE6BC
+3BE6BC:lI104|H3BE7B0
+3BE7B0:lI100|H3BE89C
+3BE89C:lI117|H3BE988
+3BE988:lI109|H3BEA7C
+3BEA7C:lI112|H3BEB70
+3BEB70:lI95|H3BEC5C
+3BEC5C:lI101|H3BED48
+3BED48:lI114|H3BEE34
+3BEE34:lI116|H3BEF08
+3BEF08:lI115|H3BEFDC
+3BEFDC:lI95|H3BF0A8
+3BF0A8:lI100|H3BF17C
+3BF17C:lI111|H3BF240
+3BF240:lI99|N
+3BE044:lH3BE114|H3BE120
+3BE114:t2:A5:alias,H3BE1EC
+3BE1EC:t2:H3BE2D0,H3BE2D8
+3BE2D8:lI47|H3BE3C8
+3BE3C8:lI99|H3BE4CC
+3BE4CC:lI108|H3BE5D0
+3BE5D0:lI101|H3BE6D4
+3BE6D4:lI97|H3BE7C8
+3BE7C8:lI114|H3BE8B4
+3BE8B4:lI99|H3BE9A0
+3BE9A0:lI97|H3BEA94
+3BEA94:lI115|H3BEB88
+3BEB88:lI101|H3BEC74
+3BEC74:lI47|H3BED60
+3BED60:lI111|H3BEE4C
+3BEE4C:lI116|H3BEF20
+3BEF20:lI112|H3BEFEC
+3BEFEC:lI47|H3BF0B8
+3BF0B8:lI101|H3BF18C
+3BF18C:lI114|H3BF250
+3BF250:lI116|H3BF30C
+3BF30C:lI115|H3BF3B8
+3BF3B8:lI47|H3BF46C
+3BF46C:lI108|H3BF528
+3BF528:lI105|H3BF5EC
+3BF5EC:lI98|H3BF6C0
+3BF6C0:lI47|H3BF794
+3BF794:lI111|H3BF868
+3BF868:lI98|H3BF94C
+3BF94C:lI115|H3BFA28
+3BFA28:lI101|H3BFB04
+3BFB04:lI114|H3BFBE0
+3BFBE0:lI118|H3BFCAC
+3BFCAC:lI101|H3BFD70
+3BFD70:lI114|H3BFE34
+3BFE34:lI47|H3BFEE8
+3BFEE8:lI100|H3BFF9C
+3BFF9C:lI111|H3C0048
+3C0048:lI99|H3C00F4
+3C00F4:lI47|H3C01A0
+3C01A0:lI104|H3C0254
+3C0254:lI116|H3C0310
+3C0310:lI109|H3C03C4
+3C03C4:lI108|N
+3BE2D0:lI47|H3BE3C0
+3BE3C0:lI99|H3BE4C4
+3BE4C4:lI114|H3BE5C8
+3BE5C8:lI97|H3BE6CC
+3BE6CC:lI115|H3BE7C0
+3BE7C0:lI104|H3BE8AC
+3BE8AC:lI100|H3BE998
+3BE998:lI117|H3BEA8C
+3BEA8C:lI109|H3BEB80
+3BEB80:lI112|H3BEC6C
+3BEC6C:lI95|H3BED58
+3BED58:lI100|H3BEE44
+3BEE44:lI111|H3BEF18
+3BEF18:lI99|N
+3BE120:lH3BE1F8|N
+3BE1F8:t2:A10:erl_script_alias,H3BE2E0
+3BE2E0:t2:H3BE3D0,H3BE3D8
+3BE3D8:lH3BE4DC|N
+3BE4DC:lI99|H3BE5E0
+3BE5E0:lI114|H3BE6E4
+3BE6E4:lI97|H3BE7D8
+3BE7D8:lI115|H3BE8C4
+3BE8C4:lI104|H3BE9B0
+3BE9B0:lI100|H3BEAA4
+3BEAA4:lI117|H3BEB90
+3BEB90:lI109|H3BEC7C
+3BEC7C:lI112|H3BED68
+3BED68:lI95|H3BEE54
+3BEE54:lI118|H3BEF28
+3BEF28:lI105|H3BEFF4
+3BEFF4:lI101|H3BF0C0
+3BF0C0:lI119|H3BF194
+3BF194:lI101|H3BF258
+3BF258:lI114|N
+3BE3D0:lI47|H3BE4D4
+3BE4D4:lI99|H3BE5D8
+3BE5D8:lI100|H3BE6DC
+3BE6DC:lI118|H3BE7D0
+3BE7D0:lI95|H3BE8BC
+3BE8BC:lI101|H3BE9A8
+3BE9A8:lI114|H3BEA9C
+3BEA9C:lI108|N
+3BDE2C:lH3BDA9C|H3BDECC
+3BDA9C:t4:I127,I0,I0,I1
+3BDECC:lI8888|H3BDF88
+3BDF88:lN|N
+3BDD1C:lN|N
+3BDA50:t2:AD:$initial_call,H3BDAB8
+3BDAB8:t3:A3:gen,A7:init_it,H3BDAB0
+3BDA5C:t2:A9:verbosity,A7:silence
+3BDAC8:t2:AE:auth_verbosity,A7:silence
+3BDB28:t2:A12:security_verbosity,A7:silence
+3BDB9C:t2:A12:acceptor_verbosity,A7:silence
+3BDC00:t2:AA:$ancestors,H3BDC5C
+3BDC5C:lA1A:httpd_sup__127_0_0_1__8888|H3BDCB4
+3BDCB4:lA8:web_tool|H3BDD24
+3BDD24:lP<0.27.0>|N
+3BDADC:t2:A19:request_handler_verbosity,A7:silence
+3BDB3C:t2:A5:sname,A3:man
+=proc_dictionary:<0.47.0>
+H36E688
+H36E694
+H36E6A0
+H36E6AC
+=proc_stack:<0.47.0>
+36c520:SReturn addr 0x362C9C (inet_tcp:accept/2 + 20)
+y0:I5
+y1:p<0.161>
+y2:p<0.141>
+36c530:SReturn addr 0x500C5C (httpd_socket:accept/3 + 280)
+y0:N
+36c538:SReturn addr 0x502BFC (httpd_acceptor:acceptor/4 + 164)
+y0:N
+36c540:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:SCatch 0x502BFC (httpd_acceptor:acceptor/4 + 164)
+y1:P<0.46.0>
+y2:A7:ip_comm
+y3:p<0.141>
+y4:A1B:httpd_conf__127_0_0_1__8888
+36c558:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:AE:httpd_acceptor
+y2:A8:acceptor
+y3:H36E6C8
+=proc_heap:<0.47.0>
+36E6C8:lP<0.44.0>|H36E724
+36E724:lP<0.46.0>|H36E748
+36E748:lA7:ip_comm|H36E760
+36E760:lH36E6D0|H36E778
+36E6D0:t4:I127,I0,I0,I1
+36E778:lI8888|H36E788
+36E788:lA1B:httpd_conf__127_0_0_1__8888|H36E798
+36E798:lA7:silence|N
+36E688:t2:AD:$initial_call,H36E6F0
+36E6F0:t3:AE:httpd_acceptor,A8:acceptor,H36E6C8
+36E694:t2:A9:verbosity,A7:silence
+36E6A0:t2:AA:$ancestors,H36E700
+36E700:lA1E:httpd_acc_sup__127_0_0_1__8888|H36E72C
+36E72C:lA1A:httpd_sup__127_0_0_1__8888|H36E750
+36E750:lA8:web_tool|H36E768
+36E768:lP<0.27.0>|N
+36E6AC:t2:A5:sname,A3:acc
+=proc_dictionary:<0.48.0>
+H385E48
+H385E54
+=proc_stack:<0.48.0>
+3ac1bc:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A10:crashdump_viewer
+y3:H3AB280
+y4:A17:crashdump_viewer_server
+y5:P<0.41.0>
+3ac1d8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H385E90
+=proc_heap:<0.48.0>
+3AB280:t8:A5:state,A9:undefined,A9:undefined,A9:undefined,A5:false,I4,A9:undefined,P<0.56.0>
+385E90:lAA:gen_server|H385ED8
+385ED8:lP<0.41.0>|H385F10
+385F10:lP<0.41.0>|H385F58
+385F58:lH385FA8|H385FB4
+385FA8:t2:A5:local,A17:crashdump_viewer_server
+385FB4:lA10:crashdump_viewer|H386014
+386014:lN|H38606C
+38606C:lN|N
+385E48:t2:AD:$initial_call,H385EB0
+385EB0:t3:A3:gen,A7:init_it,H385E90
+385E54:t2:AA:$ancestors,H385EC0
+385EC0:lA6:websup|H385F08
+385F08:lA8:web_tool|H385F50
+385F50:lP<0.27.0>|N
+=proc_stack:<0.49.0>
+36a114:SReturn addr 0x30174C (io:parse_erl_exprs/3 + 92)
+y0:H369E10
+y1:P<0.22.0>
+36a120:SReturn addr 0x2E5360 (shell:'-get_command/4-fun-0-'/1 + 20)
+y0:N
+36a128:SReturn addr 0x156F90 (<terminate process normally>)
+=proc_heap:<0.49.0>
+369E10:E21:8372000364000D6E6F6E6F6465406E6F686F737400000001330000000000000000
+=atoms
+http_cache_control
+copy_word
+drop_line
+copy_line
+write_rest_of_line
+drop_to_empty_line
+read_to_empty_line_reverse
+set_pos
+read_line_backwards
+jumped
+jump_to_empty_line_or_eof
+get_pos
+translate_atoms
+translate_fun
+translate_funs
+translate_loaded_modules2
+translate_loaded_modules_totals
+translate_loaded_modules
+translate_links
+get_all_creations
+translate_node_info2
+translate_node_info
+translate_dist_info2
+translate_dist_info
+get_msg
+translate_timers
+translate_ets
+translate_ets_tables
+do_translate_sl_alloc_r7_r8
+translate_sl_alloc_r7_r8
+translate_sl_alloc_line
+do_translate_sl_alloc
+translate_sl_alloc
+translate_memory_and_allocated_area_r9b
+translate_allocated_areas
+translate_internal_table_line
+translate_index_table
+translate_hash_table
+translate_internal_tables
+translate_ports
+write_last_calls
+write_msg_q_stuff
+translate_process
+translate_processes
+erts_vsn
+translate_summary
+'Send'
+erl_crash_dump
+internal_tables
+mods
+zombies
+http_content_length
+http_content_type
+'-procs_summary_body/5-fun-0-'
+'-expanded_memory_body/2-fun-0-'
+'-expanded_memory_body/2-fun-1-'
+'-expanded_memory_body/2-fun-2-'
+'-ports_body/3-fun-0-'
+'-ets_tables_body/4-fun-0-'
+'-internal_ets_tables_table/1-fun-0-'
+'-timers_body/3-fun-0-'
+'-make_nodes_table/2-fun-0-'
+'-loaded_mods_body/5-fun-0-'
+'-funs_body/3-fun-0-'
+'-memory_body/3-fun-0-'
+'-allocated_areas_body/3-fun-0-'
+'-allocator_info_body/3-fun-0-'
+'-allocator_info_body/3-fun-1-'
+'-allocator_info_body/3-fun-2-'
+'-hash_tables_body/3-fun-0-'
+'-index_tables_body/3-fun-0-'
+enter_write_file
+replace_insrt
+'$insrt'
+special
+initial
+pretty_format
+heading
+to_gt_noreverse
+to_gt
+href_proc_port
+br
+font
+h2
+h1
+img
+href
+pre
+em
+td
+th
+tr
+frame
+frameset
+html_header
+index_tables_table
+index_tables_body
+hash_tables_table
+hash_tables_body
+allocator_info_body \ No newline at end of file
diff --git a/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.250atoms b/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.250atoms
new file mode 100644
index 0000000000..ce3e5d8228
--- /dev/null
+++ b/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.250atoms
@@ -0,0 +1,13285 @@
+=erl_crash_dump:0.1
+Wed Apr 21 13:22:44 2004
+Slogan: eheap_alloc: Cannot allocate 785672 bytes of memory (of type "heap").
+System version: Erlang (BEAM) emulator version 5.4 [source] [hipe] [threads:0]
+Compiled: Thu Dec 18 14:07:45 2003
+Atoms: 5614
+=memory
+total: 653336887
+processes: 1768396
+processes_used: 1765460
+system: 651568491
+atom: 244837
+atom_used: 237116
+binary: 648618369
+code: 2158413
+ets: 225620
+=hash_table:atom_tab
+size: 4813
+used: 3304
+objs: 5614
+depth: 7
+=index_table:atom_tab
+size: 5700
+limit: 1048576
+used: 5614
+rate: 100
+=hash_table:module_code
+size: 97
+used: 69
+objs: 107
+depth: 5
+=index_table:module_code
+size: 110
+limit: 65536
+used: 107
+rate: 10
+=hash_table:export_list
+size: 2411
+used: 1674
+objs: 2843
+depth: 6
+=index_table:export_list
+size: 2900
+limit: 65536
+used: 2843
+rate: 100
+=hash_table:process_reg
+size: 47
+used: 16
+objs: 23
+depth: 3
+=hash_table:fun_table
+size: 397
+used: 261
+objs: 400
+depth: 4
+=hash_table:node_table
+size: 11
+used: 1
+objs: 1
+depth: 1
+=hash_table:dist_table
+size: 11
+used: 1
+objs: 1
+depth: 1
+=allocated_areas
+processes: 1765460 1768396
+ets: 225620
+sys_misc: 24634
+static: 295033
+atom_space: 65544 57967
+binary: 648618369
+atom_table: 42141
+module_table: 920
+export_table: 21336
+register_table: 252
+fun_table: 1650
+module_refs: 1024
+loaded_code: 1968915
+dist_table: 159
+node_table: 131
+bits_bufs_size: 19
+bif_timer: 13392
+link_lh: 0
+dist_buf: 0
+proc: 15080 13576
+atom_entry: 137152 137008
+export_entry: 138448 137632
+module_entry: 4872 4352
+reg_proc: 1000 592
+link_nh: 2464 2080
+link_sh: 832 192
+proc_list: 24 24
+fun_entry: 22584 22584
+db_tab: 1632 1632
+=allocator:sys_alloc
+option e: true
+option m: libc
+=allocator:temp_alloc
+versions: 0.9 2.1
+option e: true
+option sbct: 524288
+option asbcst: 4145152
+option rsbcst: 90
+option rsbcmt: 80
+option mmbcs: 65536
+option mmsbc: 256
+option mmmbc: 10
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option as: af
+mbcs blocks: 0 9 9
+mbcs blocks size: 0 35376 35376
+mbcs carriers: 1 1 1
+mbcs mseg carriers: 0
+mbcs sys_alloc carriers: 1
+mbcs carriers size: 65568 65568 65568
+mbcs mseg carriers size: 0
+mbcs sys_alloc carriers size: 65568
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+temp_alloc calls: 6155
+temp_free calls: 6155
+temp_realloc calls: 29
+mseg_alloc calls: 0
+mseg_dealloc calls: 0
+mseg_realloc calls: 0
+sys_alloc calls: 1
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:sl_alloc
+option e: false
+=allocator:std_alloc
+option e: false
+=allocator:ll_alloc
+versions: 0.9 2.1
+option e: true
+option sbct: 4294967295
+option asbcst: 0
+option rsbcst: 0
+option rsbcmt: 0
+option mmbcs: 2097152
+option mmsbc: 0
+option mmmbc: 0
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option as: aobf
+mbcs blocks: 592 592 592
+mbcs blocks size: 2838520 2863304 2863304
+mbcs carriers: 2 2 2
+mbcs mseg carriers: 0
+mbcs sys_alloc carriers: 2
+mbcs carriers size: 3145760 3145760 3145760
+mbcs mseg carriers size: 0
+mbcs sys_alloc carriers size: 3145760
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+ll_alloc calls: 592
+ll_free calls: 0
+ll_realloc calls: 235
+mseg_alloc calls: 0
+mseg_dealloc calls: 0
+mseg_realloc calls: 0
+sys_alloc calls: 2
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:eheap_alloc
+versions: 2.1 2.1
+option e: true
+option sbct: 524288
+option asbcst: 4145152
+option rsbcst: 50
+option rsbcmt: 80
+option mmbcs: 524288
+option mmsbc: 256
+option mmmbc: 10
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option mbsd: 3
+option as: gf
+mbcs blocks: 56 102 102
+mbcs blocks size: 833280 1638920 1638920
+mbcs carriers: 2 3 3
+mbcs mseg carriers: 1
+mbcs sys_alloc carriers: 1
+mbcs carriers size: 1998880 3047456 3047456
+mbcs mseg carriers size: 1474560
+mbcs sys_alloc carriers size: 524320
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+eheap_alloc calls: 6971
+eheap_free calls: 6914
+eheap_realloc calls: 461
+mseg_alloc calls: 16
+mseg_dealloc calls: 14
+mseg_realloc calls: 0
+sys_alloc calls: 3
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:binary_alloc
+option e: false
+=allocator:ets_alloc
+option e: false
+=allocator:fix_alloc
+option e: true
+proc: 15080 13576
+atom_entry: 137152 137008
+export_entry: 138448 137632
+module_entry: 4872 4352
+reg_proc: 1000 592
+link_nh: 2464 2080
+link_sh: 832 192
+proc_list: 24 24
+fun_entry: 22584 22584
+db_tab: 1632 1632
+=allocator:mseg_alloc
+version: 0.9
+option amcbf: 4194304
+option rmcbf: 20
+option mcs: 5
+option cci: 1000
+cached_segments: 0
+cache_hits: 13
+segments: 2
+segments_watermark: 2
+mseg_alloc calls: 16
+mseg_dealloc calls: 14
+mseg_realloc calls: 0
+mseg_create calls: 4
+mseg_destroy calls: 1
+mseg_clear_cache calls: 6
+mseg_check_cache calls: 2
+=allocator:alloc_util
+option mmc: 1024
+option ycs: 1048576
+=allocator:instr
+option m: false
+option s: false
+option t: false
+=proc:<0.0.0>
+State: Waiting
+Name: init
+Spawned as: otp_ring0:start/2
+Spawned by: []
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.5.0>,<0.4.0>,<0.2.0>]
+Reductions: 3851
+Stack+heap: 377
+OldHeap: 610
+Heap unused: 53
+OldHeap unused: 610
+Program counter: 0x1f496c (init:loop/1 + 20)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.2.0>
+State: Waiting
+Name: erl_prim_loader
+Spawned as: erlang:apply/2
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.0.0>,#Port<0.2>]
+Reductions: 201036
+Stack+heap: 987
+OldHeap: 987
+Heap unused: 923
+OldHeap unused: 987
+Program counter: 0x20cc94 (erl_prim_loader:loop/3 + 52)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.4.0>
+State: Waiting
+Name: error_logger
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.21.0>,<0.0.0>]
+Reductions: 296
+Stack+heap: 6765
+OldHeap: 0
+Heap unused: 851
+OldHeap unused: 0
+Program counter: 0x21f5b8 (gen_event:loop/4 + 40)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.5.0>
+State: Waiting
+Name: application_controller
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.7.0>,<0.0.0>]
+Reductions: 1508
+Stack+heap: 1597
+OldHeap: 0
+Heap unused: 835
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.7.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.6.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.8.0>,<0.5.0>]
+Reductions: 23
+Stack+heap: 377
+OldHeap: 0
+Heap unused: 79
+OldHeap unused: 0
+Program counter: 0x248d04 (application_master:main_loop/2 + 28)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.8.0>
+State: Waiting
+Spawned as: application_master:start_it/4
+Spawned by: <0.7.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>,<0.7.0>]
+Reductions: 91
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 177
+OldHeap unused: 0
+Program counter: 0x24a26c (application_master:loop_it/4 + 40)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.9.0>
+State: Waiting
+Name: kernel_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.8.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.24.0>,<0.23.0>,<0.19.0>,<0.18.0>,<0.17.0>,<0.16.0>,<0.15.0>,<0.14.0>,<0.11.0>,<0.10.0>,<0.8.0>]
+Reductions: 7402
+Stack+heap: 610
+OldHeap: 987
+Heap unused: 311
+OldHeap unused: 987
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.10.0>
+State: Waiting
+Name: rex
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 44
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 144
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.11.0>
+State: Waiting
+Name: global_name_server
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.13.0>,<0.12.0>,<0.9.0>]
+Reductions: 47
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 98
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.12.0>
+State: Waiting
+Spawned as: global:init_the_locker/1
+Spawned by: <0.11.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.11.0>]
+Reductions: 3
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 227
+OldHeap unused: 0
+Program counter: 0x261340 (global:loop_the_locker/2 + 92)
+CP: 0x261184 (global:init_the_locker/1 + 112)
+arity = 0
+=proc:<0.13.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.11.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.11.0>]
+Reductions: 4
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 221
+OldHeap unused: 0
+Program counter: 0x265288 (global:collect_deletions/2 + 76)
+CP: 0x2651ac (global:loop_the_deleter/1 + 36)
+arity = 0
+=proc:<0.14.0>
+State: Waiting
+Name: inet_db
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 376
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 30
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.15.0>
+State: Waiting
+Name: global_group
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 71
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 92
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.16.0>
+State: Waiting
+Name: file_server_2
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 119
+Link list: [{from,<0.17.0>,#Ref<0.0.0.22>},#Port<0.4>,<0.9.0>]
+Reductions: 83605
+Stack+heap: 4181
+OldHeap: 4181
+Heap unused: 1720
+OldHeap unused: 4181
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.17.0>
+State: Waiting
+Name: file_server
+Spawned as: erlang:apply/2
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{to,<0.16.0>,#Ref<0.0.0.22>},<0.9.0>]
+Reductions: 12
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 207
+OldHeap unused: 0
+Program counter: 0x2a18e8 (old_file_server:relay_loop/3 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.18.0>
+State: Waiting
+Name: code_server
+Spawned as: erlang:apply/2
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 108900
+Stack+heap: 6765
+OldHeap: 6765
+Heap unused: 4389
+OldHeap unused: 6765
+Program counter: 0x2a6e64 (code_server:loop/1 + 64)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.19.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.21.0>,<0.9.0>]
+Reductions: 74
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 180
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.20.0>
+State: Waiting
+Spawned as: user_drv:server/2
+Spawned by: <0.19.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.22.0>,<0.21.0>,#Port<0.72>]
+Reductions: 596
+Stack+heap: 233
+OldHeap: 377
+Heap unused: 214
+OldHeap unused: 377
+Program counter: 0x2ca4e0 (user_drv:server_loop/5 + 56)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.21.0>
+State: Waiting
+Name: user
+Spawned as: group:server/2
+Spawned by: <0.20.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.4.0>,<0.19.0>,<0.20.0>]
+Reductions: 26
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 202
+OldHeap unused: 0
+Program counter: 0x2cd9d8 (group:server_loop/3 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.22.0>
+State: Waiting
+Spawned as: group:server/2
+Spawned by: <0.20.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{from,<0.49.0>,#Ref<0.0.0.307>},<0.25.0>,<0.20.0>]
+Reductions: 1244
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 40
+OldHeap unused: 233
+Program counter: 0x2cf238 (group:get_line1/3 + 1652)
+CP: 0x2cf230 (group:get_line1/3 + 1644)
+arity = 0
+=proc:<0.23.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 45
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 63
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.24.0>
+State: Waiting
+Name: kernel_safe_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.31.0>,<0.9.0>]
+Reductions: 133
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 198
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.25.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.22.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.49.0>,<0.27.0>,<0.22.0>]
+Reductions: 161
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 169
+OldHeap unused: 0
+Program counter: 0x2e0d00 (shell:get_command1/4 + 40)
+CP: 0x2e06fc (shell:server_loop/6 + 140)
+arity = 0
+=proc:<0.27.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.25.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.25.0>]
+Reductions: 506
+Stack+heap: 4181
+OldHeap: 0
+Heap unused: 1131
+OldHeap unused: 0
+Program counter: 0x2e2bbc (shell:eval_loop/2 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.31.0>
+State: Waiting
+Name: inet_gethost_native_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.24.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.32.0>,<0.24.0>]
+Reductions: 49
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 87
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.32.0>
+State: Waiting
+Name: inet_gethost_native
+Spawned as: inet_gethost_native:server_init/2
+Spawned by: <0.31.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 118
+Link list: [#Port<0.105>,<0.31.0>]
+Reductions: 65
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 13
+OldHeap unused: 0
+Program counter: 0x4ad840 (inet_gethost_native:main_loop/1 + 20)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.33.0>
+State: Waiting
+Name: web_tool
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.27.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.41.0>]
+Reductions: 131773
+Stack+heap: 6765
+OldHeap: 6765
+Heap unused: 2941
+OldHeap unused: 6765
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.41.0>
+State: Waiting
+Name: websup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.33.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.48.0>,<0.33.0>]
+Reductions: 118
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 205
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.43.0>
+State: Waiting
+Name: httpd_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.33.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.46.0>,<0.45.0>,<0.44.0>]
+Reductions: 1220
+Stack+heap: 6765
+OldHeap: 0
+Heap unused: 277
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.44.0>
+State: Waiting
+Name: httpd_acc_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.47.0>,<0.43.0>]
+Reductions: 147
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 77
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.45.0>
+State: Waiting
+Name: httpd_misc_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.43.0>]
+Reductions: 52
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 80
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.46.0>
+State: Waiting
+Name: httpd__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.43.0>]
+Reductions: 2905
+Stack+heap: 6765
+OldHeap: 10946
+Heap unused: 138
+OldHeap unused: 10946
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.47.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.44.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [#Port<0.161>,#Port<0.141>,<0.44.0>]
+Reductions: 874
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 190
+OldHeap unused: 233
+Program counter: 0x1fe798 (prim_inet:accept0/2 + 96)
+CP: 0x1feb04 (prim_inet:async_accept/2 + 380)
+arity = 0
+=proc:<0.48.0>
+State: Waiting
+Name: crashdump_viewer_server
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.41.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.56.0>,<0.41.0>]
+Reductions: 1913
+Stack+heap: 987
+OldHeap: 987
+Heap unused: 524
+OldHeap unused: 987
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.49.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.25.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{to,<0.22.0>,#Ref<0.0.0.307>},<0.25.0>]
+Reductions: 15
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 190
+OldHeap unused: 0
+Program counter: 0x301d58 (io:wait_io_mon_reply/2 + 28)
+CP: 0x30174c (io:parse_erl_exprs/3 + 92)
+arity = 0
+=proc:<0.56.0>
+State: Garbing
+Spawned as: erlang:apply/2
+Last scheduled in for: erlang:garbage_collect/0
+Spawned by: <0.48.0>
+Started: Wed Apr 21 13:22:27 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 121
+Link list: [#Port<0.158>,#Port<0.157>,<0.48.0>]
+Reductions: 2420470
+Stack+heap: 121393
+OldHeap: 0
+Heap unused: 22172
+OldHeap unused: 0
+New heap start: FE5768E0
+New heap top: FE5D7734
+Stack top: FE5ED130
+Stack end: FE5ED1A4
+Old heap start: 0
+Old heap top: 0
+Old heap end: 0
+Program counter: 0x1a4980 (unknown function)
+CP: 0x20710c (prim_file:read/2 + 436)
+=port:#Port<0.1>
+Slot: 1
+Connected: #Port<0.0>
+Port controls linked-in driver: async
+=port:#Port<0.2>
+Slot: 2
+Connected: <0.2.0>
+Links: <0.2.0>
+Port controls linked-in driver: efile
+=port:#Port<0.4>
+Slot: 4
+Connected: <0.16.0>
+Links: <0.16.0>
+Port controls linked-in driver: efile
+=port:#Port<0.72>
+Slot: 72
+Connected: <0.20.0>
+Links: <0.20.0>
+Port controls linked-in driver: tty_sl -c -e
+=port:#Port<0.105>
+Slot: 105
+Connected: <0.32.0>
+Links: <0.32.0>
+Port controls external process: inet_gethost 4
+=port:#Port<0.141>
+Slot: 141
+Connected: <0.47.0>
+Links: <0.47.0>
+Port controls linked-in driver: tcp_inet
+=port:#Port<0.157>
+Slot: 157
+Connected: <0.56.0>
+Links: <0.56.0>
+Port controls linked-in driver: efile
+=port:#Port<0.158>
+Slot: 158
+Connected: <0.56.0>
+Links: <0.56.0>
+Port controls linked-in driver: efile
+=port:#Port<0.161>
+Slot: 161
+Connected: <0.47.0>
+Links: <0.47.0>
+Port controls linked-in driver: tcp_inet
+=ets:<0.18.0>
+Slot: 9
+Table: 9
+Name: code
+Buckets: 256
+Objects: 289
+Words: 14108
+=ets:<0.18.0>
+Slot: 10
+Table: 10
+Name: code_names
+Buckets: 256
+Objects: 47
+Words: 4334
+=ets:<0.32.0>
+Slot: 11
+Table: 11
+Name: ign_requests
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.32.0>
+Slot: 12
+Table: 12
+Name: ign_req_index
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.33.0>
+Slot: 13
+Table: 13
+Name: app_data
+Buckets: 256
+Objects: 7
+Words: 952
+=ets:<0.46.0>
+Slot: 15
+Table: 15
+Name: httpd_mime__127_0_0_1__8888
+Buckets: 256
+Objects: 105
+Words: 5742
+=ets:<0.11.0>
+Slot: 84
+Table: global_names
+Name: global_names
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.11.0>
+Slot: 95
+Table: global_locks
+Name: global_locks
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.11.0>
+Slot: 96
+Table: global_names_ext
+Name: global_names_ext
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.14.0>
+Slot: 316
+Table: inet_cache
+Name: inet_cache
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 340
+Table: cdv_menu_table
+Name: cdv_menu_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 341
+Table: cdv_dump_index_table
+Name: cdv_dump_index_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 342
+Table: cdv_decode_heap_table
+Name: cdv_decode_heap_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.16.0>
+Slot: 780
+Table: file_io_servers
+Name: file_io_servers
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.46.0>
+Slot: 984
+Table: httpd_conf__127_0_0_1__8888
+Name: httpd_conf__127_0_0_1__8888
+Buckets: 256
+Objects: 17
+Words: 1176
+=ets:<0.14.0>
+Slot: 1342
+Table: inet_hosts
+Name: inet_hosts
+Buckets: 256
+Objects: 4
+Words: 421
+=ets:<0.14.0>
+Slot: 1362
+Table: inet_db
+Name: inet_db
+Buckets: 256
+Objects: 20
+Words: 671
+=ets:<0.5.0>
+Slot: 1655
+Table: ac_tab
+Name: ac_tab
+Buckets: 256
+Objects: 6
+Words: 843
+=timer:<0.14.0>
+Message: refresh_timeout
+Time left: 3565692 ms
+=node:'nonode@nohost'
+=no_distribution
+=loaded_modules
+Current code: 1968915
+Old code: 0
+=mod:otp_ring0
+Current size: 489
+=mod:init
+Current size: 30110
+=mod:prim_inet
+Current size: 35532
+=mod:prim_file
+Current size: 24965
+=mod:erl_prim_loader
+Current size: 19607
+=mod:erlang
+Current size: 11137
+=mod:error_handler
+Current size: 2389
+Current attributes: 836C00000001680264000376736E6C000000016E100030769A34345F26EF6D3433254FF2AE576A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161216802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6572726F725F68616E646C65722E65726C6A
+=mod:heart
+Current size: 6687
+Current attributes: 836C00000001680264000376736E6C000000016E10003094F7BECF345494DDBB4D7186E694186A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261086802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F68656172742E65726C6A
+=mod:error_logger
+Current size: 7051
+Current attributes: 836C00000001680264000376736E6C000000016E10004E3347F841DEAE2EB6A74389E6E127146A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161246802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6572726F725F6C6F676765722E65726C6A
+=mod:gen_event
+Current size: 18288
+Current attributes: 836C00000001680264000376736E6C000000016E1000336F22DF1EA75E0EA4AE65D3B8C34F946A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61346802640006736F757263656B00302F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E5F6576656E742E65726C6A
+=mod:gen
+Current size: 7129
+Current attributes: 836C00000001680264000376736E6C000000016E10007BE6AEB66EF48D8B33323C89C9936A526A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61316802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E2E65726C6A
+=mod:proc_lib
+Current size: 11658
+Current attributes: 836C00000001680264000376736E6C000000016E10005C589A8C9BD2E1F2E895E765CAE983406A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E612D6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F70726F635F6C69622E65726C6A
+=mod:application_controller
+Current size: 55249
+Current attributes: 836C00000002680264000376736E6C000000016E10003372E1AB0410565065FA086086A721316A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061246802640006736F757263656B003D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E5F636F6E74726F6C6C65722E65726C6A
+=mod:gen_server
+Current size: 18728
+Current attributes: 836C00000001680264000376736E6C000000016E10004C5E93533036DAC7698FC4112F59CF236A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61396802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E5F7365727665722E65726C6A
+=mod:sys
+Current size: 11589
+Current attributes: 836C00000001680264000376736E6C000000016E1000E12B0E8267551204BD5924BAB9629ADF6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61176802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7379732E65726C6A
+=mod:lists
+Current size: 18638
+Current attributes: 836C00000002680264000376736E6C000000016E10001E95B32C30E4CDAF0BDD1ABA58CBB5F36A680264000A646570726563617465646C0000000B68026400066B65796D617061046802640003616C6C61036802640003616E79610368026400036D617061036802640007666C61746D617061036802640005666F6C646C61046802640005666F6C64726104680264000666696C746572610368026400086D6170666F6C646C610468026400086D6170666F6C647261046802640007666F726561636861036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61116802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6C697374732E65726C6A
+=mod:application
+Current size: 2666
+Current attributes: 836C00000001680264000376736E6C000000016E1000C0C5A7B67B306300FEFF9D91AA50ECB36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6130611F6802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E2E65726C6A
+=mod:application_master
+Current size: 10912
+Current attributes: 836C00000001680264000376736E6C000000016E1000360420F5CEB80AD7DD51B3A8A0E2AFA26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061266802640006736F757263656B00392F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E5F6D61737465722E65726C6A
+=mod:kernel
+Current size: 7639
+Current attributes: 836C00000002680264000376736E6C000000016E10004D418ACCB0F948D4D3CA6B9A81B462746A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261336802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6B65726E656C2E65726C6A
+=mod:supervisor
+Current size: 24469
+Current attributes: 836C00000002680264000376736E6C000000016E1000979F65727577135484BE0892A35087CC6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61126802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F73757065727669736F722E65726C6A
+=mod:rpc
+Current size: 14539
+Current attributes: 836C00000002680264000376736E6C000000016E10008C5D6242D36B3201E3B11E82D5E1581E6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6133610F6802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F7270632E65726C6A
+=mod:gb_trees
+Current size: 8274
+Current attributes: 836C00000001680264000376736E6C000000016E1000094BEFDE7B866EF2CB6FCD895AC2EE056A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D612B6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67625F74726565732E65726C6A
+=mod:global
+Current size: 40753
+Current attributes: 836C00000002680264000376736E6C000000016E10001D02C89BDE6CB2052F099894683C14CA6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161386802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F676C6F62616C2E65726C6A
+=mod:inet_db
+Current size: 34555
+Current attributes: 836C00000001680264000376736E6C000000016E1000C1CF6A6F2E83D4EBC23D2CCECBF376226A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132611A6802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F64622E65726C6A
+=mod:inet_config
+Current size: 13575
+Current attributes: 836C00000001680264000376736E6C000000016E1000650F6571C03BC9C16BB7973A747565066A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261166802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F636F6E6669672E65726C6A
+=mod:os
+Current size: 5997
+Current attributes: 836C00000001680264000376736E6C000000016E100017144CD766A604A9DFBA0B58C8FCA78B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361056802640006736F757263656B00292F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6F732E65726C6A
+=mod:inet_udp
+Current size: 2451
+Current attributes: 836C00000001680264000376736E6C000000016E1000ACB163E87A687A6683B50B331C6E289B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261306802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F7564702E65726C6A
+=mod:inet
+Current size: 28288
+Current attributes: 836C00000001680264000376736E6C000000016E10009B9AD400F0BAF6AAF17A4788A4EFF11E6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132610C6802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65742E65726C6A
+=mod:inet_parse
+Current size: 21928
+Current attributes: 836C00000001680264000376736E6C000000016E1000E0E65454C096847749930EDC1C53C80B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261266802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F70617273652E65726C6A
+=mod:filename
+Current size: 17411
+Current attributes: 836C00000001680264000376736E6C000000016E100068085214F459D51A3E08819BF8D7698A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61296802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F66696C656E616D652E65726C6A
+=mod:inet_hosts
+Current size: 3745
+Current attributes: 836C00000001680264000376736E6C000000016E1000E7430304E86230057150DEE5D279881F6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261226802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F686F7374732E65726C6A
+=mod:erl_distribution
+Current size: 2512
+Current attributes: 836C00000002680264000376736E6C000000016E1000CDE49D63ACA767E0D49679657E99D2046A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161186802640006736F757263656B00372F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F65726C5F646973747269627574696F6E2E65726C6A
+=mod:global_group
+Current size: 30960
+Current attributes: 836C00000002680264000376736E6C000000016E10008ECE759E5920988CA3ACFF34B32F86736A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131613B6802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F676C6F62616C5F67726F75702E65726C6A
+=mod:net_kernel
+Current size: 37648
+Current attributes: 836C00000002680264000376736E6C000000016E1000967CE7DE41F9B39906CCCF3225E6E5286A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361026802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6E65745F6B65726E656C2E65726C6A
+=mod:file_server
+Current size: 8372
+Current attributes: 836C00000002680264000376736E6C000000016E1000EF90906EC6204204AC0A77C4A25B65236A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612D6802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C655F7365727665722E65726C6A
+=mod:old_file_server
+Current size: 3074
+Current attributes: 836C00000001680264000376736E6C000000016E1000C802085DD76D4EFBA6A8F528FECB94B36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612F6802640006736F757263656B00362F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6F6C645F66696C655F7365727665722E65726C6A
+=mod:code
+Current size: 7419
+Current attributes: 836C00000001680264000376736E6C000000016E1000AE618E3041C8E3807A3719CD5140DF5E6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6130612E6802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64652E65726C6A
+=mod:code_server
+Current size: 30811
+Current attributes: 836C00000001680264000376736E6C000000016E0F00BFB96248C2CA8601B4CB7F543F52E26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061346802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64655F7365727665722E65726C6A
+=mod:code_aux
+Current size: 1736
+Current attributes: 836C00000001680264000376736E6C000000016E10007A90DB53FCCECD52504F20E7A3B6BAE26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061316802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64655F6175782E65726C6A
+=mod:packages
+Current size: 3119
+Current attributes: 836C00000001680264000376736E6C000000016E1000044DC8EEB65F178AE23EF2465E1954496A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361076802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F7061636B616765732E65726C6A
+=mod:hipe_unified_loader
+Current size: 37330
+Current attributes: 836C00000001680264000376736E6C000000016E1000DABD57945702E56F4B3AA7B7B19C1D166A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361326802640006736F757263656B003A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F686970655F756E69666965645F6C6F616465722E65726C6A
+=mod:hipe_sparc_loader
+Current size: 1821
+Current attributes: 836C00000001680264000376736E6C000000016E1000582BC55E9FADFF879C2C45D25A6CB7E56A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F6D61696E6802640001696B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F72746C6802640001696B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F737061726364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6133612B6802640006736F757263656B00382F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F686970655F73706172635F6C6F616465722E65726C6A
+=mod:ets
+Current size: 16577
+Current attributes: 836C00000002680264000376736E6C000000016E100033D982AC91129E5FC35E0AC3337A4EB56A680264000A646570726563617465646C0000000168026400086669787461626C6561026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D611C6802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6574732E65726C6A
+=mod:lists_sort
+Current size: 38692
+Current attributes: 836C00000001680264000376736E6C000000016E1000E17EC92FA9AA3199DD71701C215044616A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000B68026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736802640006696E6C696E656C0000000468026400096D65726765335F3132610768026400096D65726765335F32316107680264000A726D65726765335F31326107680264000A726D65726765335F323161076A6802640006696E6C696E656C00000004680264000A756D65726765335F31326108680264000A756D65726765335F32316108680264000C72756D65726765335F3132616107680264000C72756D65726765335F31326261086A6802640006696E6C696E656C00000004680264000C6B65796D65726765335F3132610C680264000C6B65796D65726765335F3231610C680264000D726B65796D65726765335F3132610C680264000D726B65796D65726765335F3231610C6A6802640006696E6C696E656C00000006680264000D756B65796D65726765335F3132610D680264000D756B65796D65726765335F3231610D680264000F72756B65796D65726765335F313261610B680264000F72756B65796D65726765335F323161610D680264000F72756B65796D65726765335F313262610D680264000F72756B65796D65726765335F323162610C6A6A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61166802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6C697374735F736F72742E65726C6A
+=mod:user_sup
+Current size: 2355
+Current attributes: 836C00000002680264000376736E6C000000016E100074BA860804CB4D60D6908C705E6544BD6A68026400096265686176696F75726C0000000164001173757065727669736F725F6272696467656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361246802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F757365725F7375702E65726C6A
+=mod:supervisor_bridge
+Current size: 2944
+Current attributes: 836C00000002680264000376736E6C000000016E10001590DDC10CF8A9D09763CDB7479678ED6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61156802640006736F757263656B00382F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F73757065727669736F725F6272696467652E65726C6A
+=mod:user_drv
+Current size: 14630
+Current attributes: 836C00000001680264000376736E6C000000016E1000F29F3B193A1EB1ADA9975D97E51BF0E86A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361216802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F757365725F6472762E65726C6A
+=mod:group
+Current size: 10165
+Current attributes: 836C00000001680264000376736E6C000000016E1000F6427D0DA330BBFAD5D4C19058516FF36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261066802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F67726F75702E65726C6A
+=mod:io_lib
+Current size: 12601
+Current attributes: 836C00000002680264000376736E6C000000016E10004160DD78F37EE7C72F7C5B6A751DB7F56A680264000A646570726563617465646C0000000468026400047363616E610168026400047363616E610268026400047363616E6103680264000D72657365727665645F776F726461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61036802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69622E65726C6A
+=mod:edlin
+Current size: 18178
+Current attributes: 836C00000001680264000376736E6C000000016E100035D752FCBA8ED7F4D26990EF3E6A1A526A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C61016802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65646C696E2E65726C6A
+=mod:io_lib_format
+Current size: 16189
+Current attributes: 836C00000001680264000376736E6C000000016E10004F382F327C456F83F33C3D5EBFBD87906A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61066802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69625F666F726D61742E65726C6A
+=mod:kernel_config
+Current size: 3295
+Current attributes: 836C00000002680264000376736E6C000000016E100077B8EE6C9E95FBBE5DB0371F6DB235226A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261356802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6B65726E656C5F636F6E6669672E65726C6A
+=mod:shell
+Current size: 22571
+Current attributes: 836C00000001680264000376736E6C000000016E10007D1354325618EB98A5BD4E8F41E6A0226A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61016802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7368656C6C2E65726C6A
+=mod:error_logger_tty_h
+Current size: 7773
+Current attributes: 836C00000002680264000376736E6C000000016E10001502D55D6C1777F07E2E05CDD91D16986A68026400096265686176696F75726C0000000164000967656E5F6576656E746A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61196802640006736F757263656B00392F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6572726F725F6C6F676765725F7474795F682E65726C6A
+=mod:erl_eval
+Current size: 33481
+Current attributes: 836C00000002680264000376736E6C000000016E1000D06903753C86BBC49A5CBD789CCB09B66A680264000A646570726563617465646C00000004680264000373657161026802640003736571610368026400086172675F6C697374610268026400086172675F6C69737461036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C610D6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F6576616C2E65726C6A
+=mod:orddict
+Current size: 4872
+Current attributes: 836C00000002680264000376736E6C000000016E100078DCF69F3949D79BC54168266A3ABF566A680264000A646570726563617465646C00000002680264000C646963745F746F5F6C6973746101680264000C6C6973745F746F5F6469637461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61236802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F7264646963742E65726C6A
+=mod:c
+Current size: 19555
+Current attributes: 836C00000001680264000376736E6C000000016E10003FACCF5DE16ABBC988ABF0811980C33B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61136802640006736F757263656B00282F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F632E65726C6A
+=mod:io
+Current size: 7417
+Current attributes: 836C00000002680264000376736E6C000000016E1000E2F2A6094B3C3D945865225D0620E7546A680264000A646570726563617465646C00000007680264000B70617273655F65787072736102680264000C7363616E5F65726C5F7365716101680264000C7363616E5F65726C5F7365716102680264000C7363616E5F65726C5F7365716103680264000D70617273655F65726C5F7365716101680264000D70617273655F65726C5F7365716102680264000D70617273655F65726C5F73657161036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61006802640006736F757263656B00292F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F2E65726C6A
+=mod:file
+Current size: 20795
+Current attributes: 836C00000002680264000376736E6C000000016E1000D291AF77EE8B08B792B7FE99274504506A680264000A646570726563617465646C00000001680264000966696C655F696E666F61016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161276802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C652E65726C6A
+=mod:file_io_server
+Current size: 12071
+Current attributes: 836C00000001680264000376736E6C000000016E1000A5A8C4E2B2646855AD5C617CB216CB966A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612A6802640006736F757263656B00352F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C655F696F5F7365727665722E65726C6A
+=mod:erl_scan
+Current size: 21891
+Current attributes: 836C00000001680264000376736E6C000000016E100094F386F0C378B258E5D9CEADD4F03B6A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61116802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F7363616E2E65726C6A
+=mod:erl_parse
+Current size: 161233
+Current attributes: 836C00000001680264000376736E6C000000016E10000E8CBC32C293BFC1FBC721CE918062236A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000968026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F76617273640006696E6C696E656802640004686970656C000000016802640008726567616C6C6F6364000B6C696E6561725F7363616E6A6A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61076802640006736F757263656B00302F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F70617273652E65726C6A
+=mod:erl_lint
+Current size: 73159
+Current attributes: 836C00000001680264000376736E6C000000016E1000D1D2A7D6DDFD1195CB180993C76FD2CD6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C61156802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F6C696E742E65726C6A
+=mod:ordsets
+Current size: 3257
+Current attributes: 836C00000002680264000376736E6C000000016E1000FD39D8FD846511128F5670BA28600F676A680264000A646570726563617465646C0000000468026400076E65775F7365746100680264000B7365745F746F5F6C6973746101680264000B6C6973745F746F5F7365746101680264000673756273657461026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61256802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F7264736574732E65726C6A
+=mod:dict
+Current size: 15637
+Current attributes: 836C00000002680264000376736E6C000000016E1000BC846E7EF85045A5D76190CE9B1AE97C6A680264000A646570726563617465646C00000002680264000C646963745F746F5F6C6973746101680264000C6C6973745F746F5F6469637461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61356802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F646963742E65726C6A
+=mod:otp_internal
+Current size: 7133
+Current attributes: 836C00000001680264000376736E6C000000016E1000DC494F64DE590AFC4919DFEB0EB026B66A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61206802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F74705F696E7465726E616C2E65726C6A
+=mod:user_default
+Current size: 1261
+Current attributes: 836C00000002680264000376736E6C000000016E1000505078ACD9B84D514FC6DA2BE249E6756A6802640006617574686F726C0000000164001765656973686E6E406565692E6572696373736F6E2E73656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000368026400036377646B00112F686F6D652F736972692F65726C616E6768026400066F75746469726B00112F686F6D652F736972692F65726C616E676400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461036116610D612C61126802640006736F757263656B00222F686F6D652F736972692F65726C616E672F757365725F64656661756C742E65726C6A
+=mod:tt
+Current size: 2959
+Current attributes: 836C00000002680264000376736E6C000000016E10001D71FD5A55D3BCBF06BFEDF2426C3C386A6802640006617574686F726C0000000164001765656973686E6E406565692E6572696373736F6E2E73656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000368026400036377646B00112F686F6D652F736972692F65726C616E6768026400066F75746469726B00112F686F6D652F736972692F65726C616E676400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461036116610D612B610C6802640006736F757263656B00182F686F6D652F736972692F65726C616E672F74742E65726C6A
+=mod:distel
+Current size: 18214
+Current attributes: 836C00000002680264000376736E6C000000016E1000CC9C9EF141459249C1CCA00993B2E29A6A6802640006617574686F726C000000016400116C756B6540626C75657461696C2E636F6D6A6A
+Current compilation info: 836C0000000368026400076F7074696F6E736C0000000664000276336400107761726E5F756E757365645F7661727364000A64656275675F696E666F68026400066F75746469726B00046562696E68026400036377646B001C2F6C6469736B2F736972692F746F6F6C732F64697374656C2D332E3164000A6578706F72745F616C6C6A680264000776657273696F6E6B0003342E31680264000474696D65680662000007D2610B6114610B610361336A
+=mod:crashdump_viewer
+Current size: 125756
+Current attributes: 836C00000001680264000376736E6C000000016E10002DC5D9D96190A2D5F27FAC3FA3D5C7956A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F76617273680264000F70617273655F7472616E73666F726D64000C6D735F7472616E73666F726D6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461146108611B61366802640006736F757263656B00362F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7669657765722E65726C6A
+=mod:webtool
+Current size: 29229
+Current attributes: 836C00000002680264000376736E6C000000016E10008AEEF06B60527A3390CBC2C98083CC0A6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00202F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F73726368026400066F75746469726B00282F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F2E2E2F6562696E64000A64656275675F696E666F6400107761726E5F756E757365645F76617273680264000F70617273655F7472616E73666F726D64000C6D735F7472616E73666F726D6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104610661086106612D6802640006736F757263656B002C2F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F776562746F6F6C2E65726C6A
+=mod:gen_tcp
+Current size: 3574
+Current attributes: 836C00000001680264000376736E6C000000016E1000C965E4EAFDAA94D7F21EDCBE30B21E7B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161316802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F67656E5F7463702E65726C6A
+=mod:inet_tcp
+Current size: 2743
+Current attributes: 836C00000001680264000376736E6C000000016E1000C4AFE0B49768E4CF78B2C42EA1D3DB7F6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132612B6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F7463702E65726C6A
+=mod:inet_gethost_native
+Current size: 15611
+Current attributes: 836C00000002680264000376736E6C000000016E10005D8CD4277D0BD2425B9C26036AE314506A68026400096265686176696F75726C0000000164001173757065727669736F725F6272696467656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261206802640006736F757263656B003A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F676574686F73745F6E61746976652E65726C6A
+=mod:filelib
+Current size: 7202
+Current attributes: 836C00000001680264000376736E6C000000016E10007B42AA23FF99DF2CD9D586635B77556A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61266802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F66696C656C69622E65726C6A
+=mod:httpd_util
+Current size: 24068
+Current attributes: 836C00000002680264000376736E6C000000016E10008D99E096221B88D542E52CB9C8377F6D6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128613B6802640006736F757263656B00312F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F7574696C2E65726C6A
+=mod:webtool_sup
+Current size: 695
+Current attributes: 836C00000002680264000376736E6C000000016E1000FA5449E12816CF3AD0A3085BB26CDB9B6A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000468026400036377646B00202F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F73726368026400066F75746469726B00282F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F2E2E2F6562696E64000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461066108610761236802640006736F757263656B00302F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F776562746F6F6C5F7375702E65726C6A
+=mod:httpd_conf
+Current size: 33659
+Current attributes: 836C00000002680264000376736E6C000000016E1000E3198FBDC73BC48CB7D0C1C762B8F1AB6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861116802640006736F757263656B00312F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F636F6E662E65726C6A
+=mod:regexp
+Current size: 13698
+Current attributes: 836C00000001680264000376736E6C000000016E10009DD44F3D02F8328BE3ABF4DDA89E0CAE6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61376802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7265676578702E65726C6A
+=mod:string
+Current size: 7740
+Current attributes: 836C00000002680264000376736E6C000000016E10005521DDF38903D46D7C53DB864266F7456A680264000A646570726563617465646C00000007680264000C72655F73685F746F5F61776B6101680264000872655F70617273656101680264000872655F6D617463686102680264000672655F7375626103680264000772655F677375626103680264000872655F73706C697461026802640005696E64657861026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F610F6802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F737472696E672E65726C6A
+=mod:httpd
+Current size: 7563
+Current attributes: 836C00000002680264000376736E6C000000016E1000BFD190D951EB3CAD2CC72ADEF20886906A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861036802640006736F757263656B002C2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470642E65726C6A
+=mod:httpd_sup
+Current size: 4068
+Current attributes: 836C00000003680264000376736E6C000000016E10007FA5C790118F18F3D20A2BFAF0229F0A6A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861366802640006736F757263656B00302F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F7375702E65726C6A
+=mod:httpd_acceptor_sup
+Current size: 2161
+Current attributes: 836C00000003680264000376736E6C000000016E10003E6F9289B64C13F1EC8A1184BACF055F6A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128610C6802640006736F757263656B00392F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6163636570746F725F7375702E65726C6A
+=mod:httpd_verbosity
+Current size: 2672
+Current attributes: 836C00000002680264000376736E6C000000016E100018B6F407D391872421748F87877DAAF36A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961036802640006736F757263656B00362F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F766572626F736974792E65726C6A
+=mod:timer
+Current size: 8223
+Current attributes: 836C00000001680264000376736E6C000000016E10001D0D64DB1B923D1B3B9497655C43B4AD6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F611A6802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F74696D65722E65726C6A
+=mod:httpd_misc_sup
+Current size: 2066
+Current attributes: 836C00000003680264000376736E6C000000016E100092342F38AC16C074DDC21532FBFB52C26A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128611F6802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6D6973635F7375702E65726C6A
+=mod:httpd_manager
+Current size: 28916
+Current attributes: 836C00000003680264000376736E6C000000016E100013F7A1E6A4B6407A0A1892A794EE10A36A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128611B6802640006736F757263656B00342F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6D616E616765722E65726C6A
+=mod:mod_alias
+Current size: 6720
+Current attributes: 836C00000002680264000376736E6C000000016E10002F35C36060B4AC45474440381D146AB96A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961106802640006736F757263656B00302F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F616C6961732E65726C6A
+=mod:mod_auth
+Current size: 25168
+Current attributes: 836C00000002680264000376736E6C000000016E100083F3CA0C7A3E7B5E19A635A7F916595D6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961166802640006736F757263656B002F2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F617574682E65726C6A
+=mod:mod_esi
+Current size: 22534
+Current attributes: 836C00000002680264000376736E6C000000016E1000513E3FF733E1E6592B86CB55B9C14E086A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61026802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6573692E65726C6A
+=mod:mod_actions
+Current size: 3625
+Current attributes: 836C00000002680264000376736E6C000000016E10008E5437921662830490CA76DFF88548966A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066129610C6802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F616374696F6E732E65726C6A
+=mod:mod_cgi
+Current size: 25891
+Current attributes: 836C00000002680264000376736E6C000000016E1000F91D405488188F1BD25110B4ED9EE8786A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961306802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6367692E65726C6A
+=mod:mod_include
+Current size: 34923
+Current attributes: 836C00000002680264000376736E6C000000016E1000B9CCE88D63DD6AC49D5DF533C46B97D56A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61176802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F696E636C7564652E65726C6A
+=mod:mod_dir
+Current size: 13488
+Current attributes: 836C00000002680264000376736E6C000000016E1000EF620CB4B5DE5586ED681347496DA1C86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961356802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6469722E65726C6A
+=mod:mod_get
+Current size: 4672
+Current attributes: 836C00000002680264000376736E6C000000016E1000AD2730B6BE6AF875A500AF4857C4D7F86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61076802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6765742E65726C6A
+=mod:mod_head
+Current size: 3074
+Current attributes: 836C00000002680264000376736E6C000000016E1000CAF803B9FA6A28D4153BC109B00D7DF96A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A610B6802640006736F757263656B002F2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F686561642E65726C6A
+=mod:mod_log
+Current size: 8546
+Current attributes: 836C00000002680264000376736E6C000000016E1000F9664B54861260DEA081249379219AF86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A611B6802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6C6F672E65726C6A
+=mod:mod_disk_log
+Current size: 15160
+Current attributes: 836C00000002680264000376736E6C000000016E1000DDA1E88A9C423A2866B56425DF36F5C66A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961396802640006736F757263656B00332F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6469736B5F6C6F672E65726C6A
+=mod:httpd_socket
+Current size: 7426
+Current attributes: 836C00000002680264000376736E6C000000016E1000B831219096661E4D2E200A07C4A9A7776A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861326802640006736F757263656B00332F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F736F636B65742E65726C6A
+=mod:httpd_acceptor
+Current size: 4472
+Current attributes: 836C00000002680264000376736E6C000000016E1000A501686DF4E4053E7D978E0CA162BEC56A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861076802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6163636570746F722E65726C6A
+=mod:io_lib_pretty
+Current size: 8171
+Current attributes: 836C00000001680264000376736E6C000000016E1000CD397E11D2D380D02A4BC6EE309B98CB6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E610C6802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69625F7072657474792E65726C6A
+=mod:httpd_request_handler
+Current size: 26393
+Current attributes: 836C00000002680264000376736E6C000000016E100021C280A5EB5B9CCD00A2C418A341202A6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861296802640006736F757263656B003C2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F726571756573745F68616E646C65722E65726C6A
+=mod:calendar
+Current size: 7158
+Current attributes: 836C00000002680264000376736E6C000000016E10008C44498546709037F8D72DA4AF8B7FB76A680264000A646570726563617465646C00000001680264001C6C6F63616C5F74696D655F746F5F756E6976657273616C5F74696D6561016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61166802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F63616C656E6461722E65726C6A
+=mod:httpd_parse
+Current size: 9977
+Current attributes: 836C00000002680264000376736E6C000000016E1000174653BAA652261FEB44FFDED99E50B76A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861246802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F70617273652E65726C6A
+=mod:httpd_response
+Current size: 13535
+Current attributes: 836C00000002680264000376736E6C000000016E1000785B247D894BA08A40D814EF11F848976A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128612D6802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F726573706F6E73652E65726C6A
+=mod:crashdump_viewer_html
+Current size: 68343
+Current attributes: 836C00000001680264000376736E6C000000016E1000AE414770FDB0806C5583FF8D6D71DC766A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461146108611C61026802640006736F757263656B003B2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7669657765725F68746D6C2E65726C6A
+=mod:crashdump_translate
+Current size: 89840
+Current attributes: 836C00000001680264000376736E6C000000016E100038F332287181E933A76CEF4799BDB6416A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000668026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461046115610B611661106802640006736F757263656B00392F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7472616E736C6174652E65726C6A
+=fun
+Module: crashdump_viewer_html
+Uniq: 9122590
+Index: 0
+Address: 526308
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 77168418
+Index: 14
+Address: 26541c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 88083515
+Index: 9
+Address: 284c30
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 36747896
+Index: 4
+Address: 26df84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 80395734
+Index: 8
+Address: 265838
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 103184573
+Index: 5
+Address: 2fa59c
+Native_address: bce80
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 88265811
+Index: 24
+Address: 34f6a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 9644262
+Index: 2
+Address: 292cec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 100885585
+Index: 0
+Address: 29eb2c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 128335479
+Index: 6
+Address: 26de84
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_prim_loader
+Uniq: 42988083
+Index: 1
+Address: 210c14
+Native_address: bcf04
+Refc: 1
+=fun
+Module: dict
+Uniq: 7105125
+Index: 7
+Address: 354f84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 29030584
+Index: 8
+Address: 234978
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 29214351
+Index: 2
+Address: 285660
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 5158633
+Index: 4
+Address: 274034
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 74624950
+Index: 25
+Address: 34f63c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 6477018
+Index: 3
+Address: 2adb6c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 117885138
+Index: 7
+Address: 2ffff8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 47566924
+Index: 6
+Address: 354fb8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 114637756
+Index: 12
+Address: 313c60
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 121316204
+Index: 31
+Address: 313a68
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61363639
+Index: 12
+Address: 2ad6a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 116208699
+Index: 3
+Address: 274094
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 113750737
+Index: 0
+Address: 292d54
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 12853672
+Index: 0
+Address: 222e74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108046357
+Index: 12
+Address: 4ab0b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 111569299
+Index: 47
+Address: 34e80c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 20108653
+Index: 15
+Address: 2f9f94
+Native_address: bcea4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 45252965
+Index: 15
+Address: 313c0c
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 12437425
+Index: 9
+Address: 4ab3e0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 30942993
+Index: 22
+Address: 34f6ec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 93430337
+Index: 3
+Address: 33b100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 6604883
+Index: 2
+Address: 33b16c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 36867745
+Index: 5
+Address: 255e28
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 90563105
+Index: 1
+Address: 285708
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 18519297
+Index: 7
+Address: 26ddfc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 8058975
+Index: 16
+Address: 4a36b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 30694569
+Index: 7
+Address: 27d018
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 76933943
+Index: 0
+Address: 2741b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 9033258
+Index: 6
+Address: 4a4690
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 74851752
+Index: 5
+Address: 4a4798
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global
+Uniq: 50855382
+Index: 4
+Address: 2659a8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 39211582
+Index: 52
+Address: 34e504
+Native_address: bceec
+Refc: 1
+=fun
+Module: file_server
+Uniq: 77665472
+Index: 0
+Address: 2a0dec
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 57487277
+Index: 8
+Address: 2fa3c4
+Native_address: bce94
+Refc: 1
+=fun
+Module: webtool
+Uniq: 87386575
+Index: 11
+Address: 4ab1c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 58991950
+Index: 8
+Address: 4a4338
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 118859163
+Index: 17
+Address: 4a34d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 38265609
+Index: 12
+Address: 354dec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 56903339
+Index: 1
+Address: 2527c4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_hosts
+Uniq: 129504763
+Index: 0
+Address: 28aae8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 44817307
+Index: 10
+Address: 354e3c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 52856894
+Index: 41
+Address: 34eb70
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 22623360
+Index: 23
+Address: 34f5d4
+Native_address: bceec
+Refc: 1
+=fun
+Module: orddict
+Uniq: 34963136
+Index: 0
+Address: 2fbbbc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erlang
+Uniq: 24496633
+Index: 0
+Address: 213744
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 99313855
+Index: 27
+Address: 2f9914
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 99137703
+Index: 3
+Address: 4b5dfc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 124043500
+Index: 3
+Address: 222b84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 102650878
+Index: 22
+Address: 313b48
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 13333720
+Index: 12
+Address: 34fb2c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global_group
+Uniq: 133457
+Index: 5
+Address: 292a80
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 64640983
+Index: 4
+Address: 29e944
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 7580218
+Index: 2
+Address: 255f08
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 131850870
+Index: 59
+Address: 34e6b8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 56617403
+Index: 10
+Address: 284b40
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108680306
+Index: 4
+Address: 4ab5e0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 90880071
+Index: 2
+Address: 26e150
+Native_address: bcefc
+Refc: 1
+=fun
+Module: file_io_server
+Uniq: 23980778
+Index: 0
+Address: 30ac30
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 12006418
+Index: 19
+Address: 2f9d54
+Native_address: bce80
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 81701030
+Index: 8
+Address: 526228
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 71013875
+Index: 1
+Address: 4a4ddc
+Native_address: bcf04
+Refc: 1
+=fun
+Module: distel
+Uniq: 87740845
+Index: 2
+Address: 35c0e0
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 90782401
+Index: 17
+Address: 2f9e8c
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 133882676
+Index: 6
+Address: 2e52ac
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 105698088
+Index: 3
+Address: 2855b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 58370899
+Index: 0
+Address: 27d370
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 15274536
+Index: 25
+Address: 2f9a94
+Native_address: bcef4
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 94349557
+Index: 0
+Address: 252844
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 33328185
+Index: 1
+Address: 33b1d8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 86971387
+Index: 16
+Address: 313db0
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 53364473
+Index: 38
+Address: 34ee84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 128145687
+Index: 0
+Address: 4ab944
+Native_address: bcee4
+Refc: 1
+=fun
+Module: c
+Uniq: 98651404
+Index: 10
+Address: 2fff20
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 78224618
+Index: 0
+Address: 313dcc
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 40779085
+Index: 11
+Address: 2e50c8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: c
+Uniq: 93517350
+Index: 4
+Address: 300090
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 58551291
+Index: 0
+Address: 234f14
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 10055518
+Index: 17
+Address: 526170
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 15795706
+Index: 19
+Address: 313bd4
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 31129467
+Index: 13
+Address: 313c44
+Native_address: bced4
+Refc: 1
+=fun
+Module: old_file_server
+Uniq: 115635393
+Index: 0
+Address: 2a1a4c
+Native_address: bcf04
+Refc: 2
+=fun
+Module: erl_eval
+Uniq: 65839696
+Index: 22
+Address: 2f9c00
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 69275064
+Index: 28
+Address: 313aa0
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 55938066
+Index: 11
+Address: 354d6c
+Native_address: bceec
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 22323433
+Index: 3
+Address: 252688
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 129726129
+Index: 29
+Address: 313abc
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 84346832
+Index: 0
+Address: 3550fc
+Native_address: bceec
+Refc: 1
+=fun
+Module: shell
+Uniq: 102096820
+Index: 7
+Address: 2e5290
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 70385762
+Index: 11
+Address: 27cf44
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_cgi
+Uniq: 1483038
+Index: 0
+Address: 4ec2e8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 3664813
+Index: 1
+Address: 3550b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet
+Uniq: 131143671
+Index: 6
+Address: 27d08c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 46286977
+Index: 2
+Address: 2740b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_esi
+Uniq: 49099432
+Index: 0
+Address: 4e522c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_master
+Uniq: 95764905
+Index: 2
+Address: 24aaa8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: packages
+Uniq: 62890926
+Index: 0
+Address: 2ae814
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 41564771
+Index: 35
+Address: 3139f8
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 95490768
+Index: 0
+Address: 4a4dc0
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 121559432
+Index: 3
+Address: 313d78
+Native_address: bced4
+Refc: 1
+=fun
+Module: httpd_conf
+Uniq: 21152662
+Index: 0
+Address: 4be5a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 41630916
+Index: 5
+Address: 29e914
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 19747201
+Index: 5
+Address: 313d24
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 100584837
+Index: 36
+Address: 34f0f4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 64635712
+Index: 15
+Address: 34f94c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 46398361
+Index: 3
+Address: 29e9a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 86699817
+Index: 27
+Address: 313b2c
+Native_address: bced4
+Refc: 1
+=fun
+Module: distel
+Uniq: 40869731
+Index: 0
+Address: 35c12c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet
+Uniq: 83701641
+Index: 1
+Address: 27d33c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_auth
+Uniq: 85845790
+Index: 0
+Address: 4dfd84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 101292714
+Index: 9
+Address: 2e519c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 134173702
+Index: 1
+Address: 265b68
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 92433687
+Index: 6
+Address: 2ad9f4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 62315241
+Index: 8
+Address: 354f38
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 11615541
+Index: 12
+Address: 265530
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 11160090
+Index: 2
+Address: 2b6bb4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 12116524
+Index: 15
+Address: 2342c4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 61620901
+Index: 2
+Address: 4fc670
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 23665189
+Index: 12
+Address: 4a3b94
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 43844413
+Index: 0
+Address: 300100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 100514258
+Index: 6
+Address: 313d08
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 54271286
+Index: 17
+Address: 34f8a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 47017252
+Index: 3
+Address: 26dfa0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 1228304
+Index: 7
+Address: 4a45a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 127131470
+Index: 10
+Address: 2655a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: file_server
+Uniq: 22638227
+Index: 1
+Address: 2a0e20
+Native_address: bcf04
+Refc: 1
+=fun
+Module: code_server
+Uniq: 112704920
+Index: 15
+Address: 2ad488
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 88302875
+Index: 2
+Address: 2fa76c
+Native_address: bceb4
+Refc: 1
+=fun
+Module: inet_hosts
+Uniq: 85808984
+Index: 1
+Address: 28ab18
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 106391799
+Index: 0
+Address: 33b22c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 25830519
+Index: 5
+Address: 27d0c0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 110491036
+Index: 1
+Address: 2e5398
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 13128736
+Index: 5
+Address: 52627c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 84644982
+Index: 21
+Address: 313b9c
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 120577486
+Index: 3
+Address: 34fffc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 4504456
+Index: 44
+Address: 34e938
+Native_address: bceec
+Refc: 1
+=fun
+Module: mod_disk_log
+Uniq: 28754183
+Index: 0
+Address: 500140
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 88043334
+Index: 14
+Address: 313c28
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61592373
+Index: 0
+Address: 2adc28
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 74468346
+Index: 26
+Address: 313ad8
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 69896253
+Index: 21
+Address: 2f9c40
+Native_address: bce80
+Refc: 1
+=fun
+Module: global_group
+Uniq: 59656873
+Index: 4
+Address: 292ac0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 103891261
+Index: 2
+Address: 4a4d70
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 89619733
+Index: 0
+Address: 4b5e64
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 133201466
+Index: 10
+Address: 2e5180
+Native_address: bceec
+Refc: 1
+=fun
+Module: webtool
+Uniq: 32159369
+Index: 2
+Address: 4ab820
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 76861396
+Index: 2
+Address: 2adbb0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 48206487
+Index: 0
+Address: 4fc6f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 118996551
+Index: 28
+Address: 34f384
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 12593774
+Index: 50
+Address: 34e60c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_request_handler
+Uniq: 48542841
+Index: 1
+Address: 50e88c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 56178490
+Index: 9
+Address: 4a420c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: distel
+Uniq: 88212576
+Index: 4
+Address: 35bf44
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 79562132
+Index: 29
+Address: 34f368
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 129524917
+Index: 32
+Address: 34f2c0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54029891
+Index: 23
+Address: 2f9af0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 108872092
+Index: 4
+Address: 27d0f0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 40905124
+Index: 6
+Address: 234ac0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 50124876
+Index: 10
+Address: 2ad760
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 791358
+Index: 48
+Address: 34e7b0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 18404828
+Index: 24
+Address: 313af4
+Native_address: bced4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 13278653
+Index: 1
+Address: 4b5e48
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 110307423
+Index: 13
+Address: 284a7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 99592247
+Index: 0
+Address: 256118
+Native_address: bcf04
+Refc: 1
+=fun
+Module: global
+Uniq: 99918211
+Index: 2
+Address: 265af4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 71442319
+Index: 27
+Address: 34f510
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 7612785
+Index: 13
+Address: 2fa0fc
+Native_address: bce80
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 56095795
+Index: 15
+Address: 4a38a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 23626796
+Index: 25
+Address: 313b10
+Native_address: bced4
+Refc: 1
+=fun
+Module: file_server
+Uniq: 126074974
+Index: 2
+Address: 2a0cac
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 104278122
+Index: 1
+Address: 274154
+Native_address: bcefc
+Refc: 1
+=fun
+Module: sys
+Uniq: 90854051
+Index: 0
+Address: 240344
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 113334594
+Index: 2
+Address: 313d5c
+Native_address: bced4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 8832142
+Index: 7
+Address: 284e30
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 9159706
+Index: 42
+Address: 34eb54
+Native_address: bceec
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 123946665
+Index: 8
+Address: 26e494
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 3149789
+Index: 1
+Address: 5262d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 48288621
+Index: 11
+Address: 2ffed8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 8953292
+Index: 20
+Address: 4a4d54
+Native_address: bcee4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 9632158
+Index: 4
+Address: 34ff88
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 31111567
+Index: 7
+Address: 29e8c8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 85307443
+Index: 10
+Address: 2fa29c
+Native_address: bcec4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 104417191
+Index: 7
+Address: 313cd0
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 43625777
+Index: 5
+Address: 354fec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 92698798
+Index: 3
+Address: 4ab780
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 39074546
+Index: 6
+Address: 2fa54c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 71451126
+Index: 5
+Address: 234b98
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 122084387
+Index: 6
+Address: 300038
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 9625924
+Index: 14
+Address: 284a60
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 128777368
+Index: 11
+Address: 313c7c
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 10203723
+Index: 7
+Address: 4ab4f8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 35032400
+Index: 10
+Address: 313c98
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 17252586
+Index: 34
+Address: 313a14
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 7177165
+Index: 11
+Address: 2ad734
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 115778175
+Index: 3
+Address: 4a4930
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 96440880
+Index: 51
+Address: 34e590
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 68275407
+Index: 0
+Address: 2b7340
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 88854488
+Index: 16
+Address: 2f9f04
+Native_address: bcebc
+Refc: 1
+=fun
+Module: global
+Uniq: 26353848
+Index: 13
+Address: 2654e8
+Native_address: bcf04
+Refc: 3
+=fun
+Module: global
+Uniq: 93414722
+Index: 11
+Address: 265568
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 11194189
+Index: 60
+Address: 34fe0c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: c
+Uniq: 125189992
+Index: 8
+Address: 2fffdc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 112472016
+Index: 2
+Address: 355088
+Native_address: bceec
+Refc: 1
+=fun
+Module: shell
+Uniq: 104426442
+Index: 5
+Address: 2e52e0
+Native_address: bceec
+Refc: 1
+=fun
+Module: global
+Uniq: 17426458
+Index: 0
+Address: 265bc4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 81191039
+Index: 5
+Address: 2ada48
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 71765042
+Index: 5
+Address: 284f74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 85855821
+Index: 2
+Address: 1fa298
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 70586122
+Index: 10
+Address: 4a3fe4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 87067911
+Index: 49
+Address: 34e708
+Native_address: bcef4
+Refc: 1
+=fun
+Module: distel
+Uniq: 63126735
+Index: 1
+Address: 35c0fc
+Native_address: bcf04
+Refc: 1
+=fun
+Module: c
+Uniq: 58270309
+Index: 1
+Address: 3000e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: ets
+Uniq: 80538457
+Index: 1
+Address: 2bc1a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 69827241
+Index: 9
+Address: 34fd70
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 103968752
+Index: 3
+Address: 355054
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 117175573
+Index: 21
+Address: 34f728
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 57865450
+Index: 2
+Address: 2e537c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 14705965
+Index: 20
+Address: 313b80
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 85360931
+Index: 6
+Address: 4ab56c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: kernel_config
+Uniq: 41755598
+Index: 0
+Address: 2d9e20
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 7110547
+Index: 37
+Address: 34ef14
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 28091577
+Index: 16
+Address: 234244
+Native_address: bcef4
+Refc: 2
+=fun
+Module: code_server
+Uniq: 96448152
+Index: 14
+Address: 2ad4e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 40177568
+Index: 13
+Address: 4a39a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 31948320
+Index: 58
+Address: 34dfdc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global
+Uniq: 54153760
+Index: 7
+Address: 265854
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 60156260
+Index: 3
+Address: 5262b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 1010616
+Index: 2
+Address: 350064
+Native_address: bcef4
+Refc: 1
+=fun
+Module: init
+Uniq: 96784459
+Index: 1
+Address: 1fa2b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 48691771
+Index: 18
+Address: 313bb8
+Native_address: bced4
+Refc: 1
+=fun
+Module: global
+Uniq: 26895060
+Index: 9
+Address: 265710
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 109625093
+Index: 7
+Address: 2ad8fc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 59436171
+Index: 1
+Address: 3500dc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 92768306
+Index: 9
+Address: 354f04
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 106430008
+Index: 3
+Address: 292b38
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 79749196
+Index: 6
+Address: 1fa01c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 6014929
+Index: 9
+Address: 2fa324
+Native_address: bceac
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 57051922
+Index: 7
+Address: 234a28
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 77043468
+Index: 6
+Address: 29e8e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 36176045
+Index: 9
+Address: 52620c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 35862809
+Index: 3
+Address: 255edc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 113649451
+Index: 4
+Address: 2850a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 67943969
+Index: 5
+Address: 2658f4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 109003032
+Index: 16
+Address: 5260d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 104711447
+Index: 13
+Address: 525f5c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 107666872
+Index: 9
+Address: 27cfb0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 89410000
+Index: 10
+Address: 5261f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 47356870
+Index: 11
+Address: 284ab4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 17873449
+Index: 56
+Address: 34e1e8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 8839441
+Index: 33
+Address: 34f25c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 82513204
+Index: 2
+Address: 222c18
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_master
+Uniq: 5973059
+Index: 0
+Address: 24ab7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_gethost_native
+Uniq: 127832132
+Index: 0
+Address: 4b065c
+Native_address: bcefc
+Refc: 2
+=fun
+Module: crashdump_viewer_html
+Uniq: 39322658
+Index: 14
+Address: 525f40
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_server
+Uniq: 100284021
+Index: 0
+Address: 23d288
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 17430070
+Index: 12
+Address: 284a98
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 97509773
+Index: 3
+Address: 1fa27c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: distel
+Uniq: 32364818
+Index: 3
+Address: 35c050
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 58576084
+Index: 32
+Address: 313a4c
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 38384851
+Index: 14
+Address: 4a3988
+Native_address: bceec
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 14139883
+Index: 4
+Address: 234d78
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 122590256
+Index: 0
+Address: 2fa8b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 14705629
+Index: 11
+Address: 2fa22c
+Native_address: bcedc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 9273769
+Index: 4
+Address: 2fa684
+Native_address: bcee4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 87950142
+Index: 11
+Address: 5261d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 54913678
+Index: 1
+Address: 4fc6b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 28370334
+Index: 0
+Address: 26e4b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 24927227
+Index: 40
+Address: 34ed4c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 105437500
+Index: 33
+Address: 313a30
+Native_address: bced4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 10921695
+Index: 1
+Address: 234eac
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 112431564
+Index: 55
+Address: 34e22c
+Native_address: bceec
+Refc: 1
+=fun
+Module: webtool
+Uniq: 129460863
+Index: 5
+Address: 4ab5c4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 89001648
+Index: 3
+Address: 27d2ec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 36199507
+Index: 8
+Address: 27cfe4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 35620771
+Index: 2
+Address: 5262ec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 83214871
+Index: 18
+Address: 2f9e34
+Native_address: bceec
+Refc: 1
+=fun
+Module: code_server
+Uniq: 122455383
+Index: 1
+Address: 2adc0c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 22389488
+Index: 31
+Address: 34f1b8
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 41869059
+Index: 12
+Address: 2fa1d4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 18130505
+Index: 45
+Address: 34e904
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 107414126
+Index: 1
+Address: 2b706c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 116638945
+Index: 28
+Address: 2f98f8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 48465762
+Index: 9
+Address: 2348c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_request_handler
+Uniq: 87633852
+Index: 0
+Address: 50e97c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 28213098
+Index: 8
+Address: 4ab42c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 123630574
+Index: 4
+Address: 222b58
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 127425508
+Index: 13
+Address: 354eb4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 95048118
+Index: 16
+Address: 2ad46c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 108661978
+Index: 19
+Address: 34f75c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 21272619
+Index: 13
+Address: 34fad8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 29943747
+Index: 17
+Address: 313bf0
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 120240397
+Index: 4
+Address: 313d94
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 124060676
+Index: 0
+Address: 350124
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 100975346
+Index: 6
+Address: 526260
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61421476
+Index: 4
+Address: 2ada9c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 45197232
+Index: 7
+Address: 34fe5c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 3151900
+Index: 15
+Address: 525f24
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 77509245
+Index: 2
+Address: 4b5e2c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 94110229
+Index: 8
+Address: 2ad7e4
+Native_address: bcef4
+Refc: 3
+=fun
+Module: rpc
+Uniq: 101217130
+Index: 1
+Address: 2560c4
+Native_address: bcf04
+Refc: 1
+=fun
+Module: lists
+Uniq: 103647452
+Index: 0
+Address: 244b7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 37841211
+Index: 9
+Address: 2ad77c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 40109251
+Index: 54
+Address: 34e2b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: init
+Uniq: 98012300
+Index: 0
+Address: 1fa2d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 73604759
+Index: 10
+Address: 4ab270
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 12042434
+Index: 1
+Address: 313d40
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 127137775
+Index: 4
+Address: 2e531c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet
+Uniq: 45498037
+Index: 12
+Address: 27cec0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 122441107
+Index: 34
+Address: 34f1d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 70933889
+Index: 46
+Address: 34e8d0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet
+Uniq: 69850797
+Index: 2
+Address: 27d308
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 103965539
+Index: 13
+Address: 234684
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 29979659
+Index: 30
+Address: 313a84
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 17148721
+Index: 20
+Address: 34f778
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_response
+Uniq: 100673049
+Index: 0
+Address: 5165dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_gethost_native
+Uniq: 10508176
+Index: 1
+Address: 4b04dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32476064
+Index: 57
+Address: 34e1c4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 74835078
+Index: 9
+Address: 313cec
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 60689814
+Index: 19
+Address: 4a3b78
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 39269715
+Index: 5
+Address: 34ff14
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 112923172
+Index: 0
+Address: 2e5404
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 43010824
+Index: 14
+Address: 2fa03c
+Native_address: bce8c
+Refc: 1
+=fun
+Module: global
+Uniq: 82495254
+Index: 3
+Address: 265ac8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 48568081
+Index: 8
+Address: 2e5220
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 77236637
+Index: 7
+Address: 1fa000
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 109386574
+Index: 1
+Address: 2fa804
+Native_address: bce9c
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 42613220
+Index: 14
+Address: 34f980
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 67093144
+Index: 23
+Address: 313b64
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 86833790
+Index: 11
+Address: 34fbe8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 6344855
+Index: 1
+Address: 29eabc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 5149749
+Index: 35
+Address: 34f220
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 93451769
+Index: 5
+Address: 1fa120
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 117428568
+Index: 11
+Address: 234758
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 15225890
+Index: 4
+Address: 526298
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 120760477
+Index: 2
+Address: 234cdc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 88561919
+Index: 3
+Address: 3000ac
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 108931174
+Index: 8
+Address: 313cb4
+Native_address: bced4
+Refc: 1
+=fun
+Module: rpc
+Uniq: 122901192
+Index: 4
+Address: 255e44
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32985930
+Index: 10
+Address: 34fc40
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global_group
+Uniq: 97968498
+Index: 1
+Address: 292b7c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 45671671
+Index: 18
+Address: 4a32d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 117968056
+Index: 3
+Address: 2fa6ec
+Native_address: bcecc
+Refc: 1
+=fun
+Module: init
+Uniq: 108717591
+Index: 4
+Address: 1fa194
+Native_address: bcf04
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 15091954
+Index: 2
+Address: 2526dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 65707495
+Index: 6
+Address: 2658a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 34473969
+Index: 17
+Address: 2ad450
+Native_address: bcef4
+Refc: 2
+=fun
+Module: crashdump_viewer_html
+Uniq: 124296602
+Index: 7
+Address: 526244
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 23074707
+Index: 15
+Address: 265460
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 25972856
+Index: 10
+Address: 27cf74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 43110452
+Index: 24
+Address: 2f9ad4
+Native_address: bceec
+Refc: 1
+=fun
+Module: code_server
+Uniq: 106445918
+Index: 13
+Address: 2ad660
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 116071286
+Index: 12
+Address: 5261b8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 130814477
+Index: 8
+Address: 284cfc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 121017037
+Index: 39
+Address: 34ed80
+Native_address: bcef4
+Refc: 1
+=fun
+Module: ets
+Uniq: 104895267
+Index: 0
+Address: 2bc1bc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 104682437
+Index: 11
+Address: 4a3de0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 70248777
+Index: 30
+Address: 34f30c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 13274975
+Index: 5
+Address: 300074
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 98442771
+Index: 53
+Address: 34e2d0
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 69829006
+Index: 7
+Address: 2fa47c
+Native_address: bce80
+Refc: 1
+=fun
+Module: old_file_server
+Uniq: 36444943
+Index: 1
+Address: 2a1a80
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 58719455
+Index: 26
+Address: 34f5f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: timer
+Uniq: 42505885
+Index: 0
+Address: 4cd62c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54682479
+Index: 20
+Address: 2f9d08
+Native_address: bcf04
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 86070332
+Index: 1
+Address: 222d7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 54728136
+Index: 9
+Address: 2fff68
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 16474219
+Index: 3
+Address: 234c60
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 108831556
+Index: 10
+Address: 234810
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 72053761
+Index: 16
+Address: 34f8ec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 65127616
+Index: 2
+Address: 29ea04
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 126167637
+Index: 14
+Address: 234640
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 113704917
+Index: 0
+Address: 285788
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_disk_log
+Uniq: 75279647
+Index: 1
+Address: 500100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 119218247
+Index: 5
+Address: 26df68
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 85690044
+Index: 4
+Address: 4b5d6c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 53075592
+Index: 1
+Address: 26e16c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 39490182
+Index: 2
+Address: 3000c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 75189006
+Index: 12
+Address: 234714
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 14980808
+Index: 43
+Address: 34eb38
+Native_address: bceec
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 16463468
+Index: 4
+Address: 4a4914
+Native_address: bcee4
+Refc: 1
+=fun
+Module: dict
+Uniq: 99965326
+Index: 4
+Address: 355020
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 36900786
+Index: 6
+Address: 284f3c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 45447147
+Index: 18
+Address: 34f794
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32353825
+Index: 6
+Address: 34fe78
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 134052338
+Index: 8
+Address: 34fdc0
+Native_address: bceec
+Refc: 1
+=fun
+Module: application_master
+Uniq: 23840924
+Index: 1
+Address: 24aae0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108282500
+Index: 1
+Address: 4ab918
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_prim_loader
+Uniq: 31081110
+Index: 0
+Address: 210c68
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54275742
+Index: 26
+Address: 2f9a4c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 45083091
+Index: 3
+Address: 2e5350
+Native_address: bcf04
+Refc: 3
+=proc_stack:<0.0.0>
+3a48bc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H371264
+=proc_heap:<0.0.0>
+371264:t9:A5:state,H3710D8,N,N,H3710F4,P<0.1.0>,H37128C,H3710FC,N
+3710FC:t2:H371138,H371140
+371140:lI80|H371194
+371194:lI49|H3711E0
+3711E0:lI48|H371204
+371204:lI66|N
+371138:lI79|H37118C
+37118C:lI84|H3711D8
+3711D8:lI80|H3711FC
+3711FC:lI32|H37120C
+37120C:lI32|H371214
+371214:lI65|H37121C
+37121C:lI80|H371224
+371224:lI78|H37122C
+37122C:lI32|H371234
+371234:lI49|H37123C
+37123C:lI56|H371244
+371244:lI49|H37124C
+37124C:lI32|H371254
+371254:lI48|H37125C
+37125C:lI49|N
+37128C:t2:A7:started,A7:started
+3710F4:lH371124|H371130
+371124:t2:A16:application_controller,P<0.5.0>
+371130:lH371178|H371184
+371178:t2:AC:error_logger,P<0.4.0>
+371184:lH3711CC|N
+3711CC:t2:AF:erl_prim_loader,P<0.2.0>
+3710D8:lH3710E0|H3710EC
+3710E0:t2:A5:-root,H371108
+371108:lH371148|N
+371148:Yh13:2F636C656172636173652F6F74702F65727473
+3710EC:lH371110|H37111C
+371110:t2:A9:-progname,H371164
+371164:lH37119C|N
+37119C:Yh1D:2F636C656172636173652F6F74702F657274732F62696E2F6365726C20
+37111C:lH37116C|N
+37116C:t2:A5:-home,H3711C4
+3711C4:lH3711E8|N
+3711E8:YhA:2F686F6D652F73697269
+=proc_stack:<0.2.0>
+38eca8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H367D20
+y1:P<0.1.0>
+y2:H367D28
+y3:A8:infinity
+=proc_heap:<0.2.0>
+367D20:lH367D48|H367D50
+367D48:lI47|H367D58
+367D58:lI99|H367D68
+367D68:lI108|H367D78
+367D78:lI101|H367D88
+367D88:lI97|H367D98
+367D98:lI114|H367DA8
+367DA8:lI99|H367DB8
+367DB8:lI97|H367DC8
+367DC8:lI115|H367DD8
+367DD8:lI101|H367DE8
+367DE8:lI47|H367DF8
+367DF8:lI111|H367E08
+367E08:lI116|H367E18
+367E18:lI112|H367E28
+367E28:lI47|H367E38
+367E38:lI101|H367E48
+367E48:lI114|H367E58
+367E58:lI116|H367E68
+367E68:lI115|H367E78
+367E78:lI47|H367E88
+367E88:lI108|H367E98
+367E98:lI105|H367EA8
+367EA8:lI98|H367EB8
+367EB8:lI47|H367EC8
+367EC8:lI107|H367ED8
+367ED8:lI101|H367EE8
+367EE8:lI114|H367EF8
+367EF8:lI110|H367F08
+367F08:lI101|H367F18
+367F18:lI108|H367F28
+367F28:lI47|H367F38
+367F38:lI101|H367F48
+367F48:lI98|H367F58
+367F58:lI105|H367F68
+367F68:lI110|N
+367D50:lH367D60|N
+367D60:lI47|H367D70
+367D70:lI99|H367D80
+367D80:lI108|H367D90
+367D90:lI101|H367DA0
+367DA0:lI97|H367DB0
+367DB0:lI114|H367DC0
+367DC0:lI99|H367DD0
+367DD0:lI97|H367DE0
+367DE0:lI115|H367DF0
+367DF0:lI101|H367E00
+367E00:lI47|H367E10
+367E10:lI111|H367E20
+367E20:lI116|H367E30
+367E30:lI112|H367E40
+367E40:lI47|H367E50
+367E50:lI101|H367E60
+367E60:lI114|H367E70
+367E70:lI116|H367E80
+367E80:lI115|H367E90
+367E90:lI47|H367EA0
+367EA0:lI108|H367EB0
+367EB0:lI105|H367EC0
+367EC0:lI98|H367ED0
+367ED0:lI47|H367EE0
+367EE0:lI115|H367EF0
+367EF0:lI116|H367F00
+367F00:lI100|H367F10
+367F10:lI108|H367F20
+367F20:lI105|H367F30
+367F30:lI98|H367F40
+367F40:lI47|H367F50
+367F50:lI101|H367F60
+367F60:lI98|H367F70
+367F70:lI105|H367F78
+367F78:lI110|N
+367D28:t7:A5:state,A5:efile,N,A4:none,p<0.2>,A8:infinity,A5:false
+=proc_dictionary:<0.4.0>
+H3AC588
+H3AC594
+=proc_stack:<0.4.0>
+3b2f14:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:H3B21E8
+y2:AC:error_logger
+y3:P<0.1.0>
+3b2f28:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3AC5A8
+=proc_heap:<0.4.0>
+3B21E8:lH3B2144|H3B21E0
+3B2144:t5:A7:handler,AC:error_logger,A5:false,N,A5:false
+3B21E0:lH3B21BC|N
+3B21BC:t5:A7:handler,A12:error_logger_tty_h,A5:false,H3AC610,A5:false
+3AC610:t2:P<0.21.0>,AC:error_logger
+3AC5A8:lA9:gen_event|H3AC5E8
+3AC5E8:lP<0.1.0>|H3AC608
+3AC608:lP<0.1.0>|H3AC61C
+3AC61C:lH3AC624|H3AC630
+3AC624:t2:A5:local,AC:error_logger
+3AC630:lN|H3AC638
+3AC638:lN|H3AC640
+3AC640:lN|N
+3AC588:t2:AD:$initial_call,H3AC5B0
+3AC5B0:t3:A3:gen,A7:init_it,H3AC5A8
+3AC594:t2:AA:$ancestors,H3AC5C0
+3AC5C0:lP<0.1.0>|N
+=proc_dictionary:<0.5.0>
+H372E4C
+H372E58
+=proc_stack:<0.5.0>
+374704:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A16:application_controller
+y3:H3739F4
+y4:A16:application_controller
+y5:P<0.1.0>
+374720:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H372ED0
+=proc_heap:<0.5.0>
+3739F4:t9:A5:state,N,N,N,H373914,N,H373928,N,N
+373928:lH37391C|H372F54
+37391C:t2:A6:stdlib,A9:permanent
+372F54:lH372F90|N
+372F90:t2:A6:kernel,A9:permanent
+373914:lH373908|H372F4C
+373908:t2:A6:stdlib,A9:undefined
+372F4C:lH372F84|N
+372F84:t2:A6:kernel,P<0.7.0>
+372ED0:lAA:gen_server|H372F5C
+372F5C:lP<0.1.0>|H372F9C
+372F9C:lP<0.1.0>|H372FC4
+372FC4:lH372FEC|H372FF8
+372FEC:t2:A5:local,A16:application_controller
+372FF8:lA16:application_controller|H373018
+373018:lH373038|H373048
+373038:t3:AB:application,A6:kernel,H373060
+373060:lH373078|H373084
+373078:t2:AB:description,H37309C
+37309C:lI69|H3730C8
+3730C8:lI82|H3730FC
+3730FC:lI84|H373130
+373130:lI83|H37316C
+37316C:lI32|H3731A8
+3731A8:lI32|H3731E4
+3731E4:lI67|H373220
+373220:lI88|H37325C
+37325C:lI67|H37329C
+37329C:lI32|H3732D0
+3732D0:lI49|H3732FC
+3732FC:lI51|H373328
+373328:lI56|H373348
+373348:lI32|H373368
+373368:lI49|H373388
+373388:lI48|N
+373084:lH3730A4|H3730B0
+3730A4:t2:A3:vsn,H3730D0
+3730D0:lI50|H373104
+373104:lI46|H373138
+373138:lI57|N
+3730B0:lH3730D8|H3730E4
+3730D8:t2:A2:id,N
+3730E4:lH37310C|H373118
+37310C:t2:A7:modules,H373140
+373140:lAB:application|H373174
+373174:lA16:application_controller|H3731B0
+3731B0:lA12:application_master|H3731EC
+3731EC:lA13:application_starter|H373228
+373228:lA4:auth|H373264
+373264:lA4:code|H3732A4
+3732A4:lA8:code_aux|H3732D8
+3732D8:lA8:packages|H373304
+373304:lAB:code_server|H373330
+373330:lA9:dist_util|H373350
+373350:lAF:erl_boot_server|H373370
+373370:lA10:erl_distribution|H373390
+373390:lAF:erl_prim_loader|H3733A8
+3733A8:lA9:erl_reply|H3733C0
+3733C0:lA6:erlang|H3733D8
+3733D8:lAD:error_handler|H3733F0
+3733F0:lAC:error_logger|H373408
+373408:lA4:file|H373420
+373420:lAB:file_server|H373438
+373438:lAF:old_file_server|H373450
+373450:lAE:file_io_server|H373468
+373468:lA9:prim_file|H373480
+373480:lA6:global|H373498
+373498:lAC:global_group|H3734B0
+3734B0:lAD:global_search|H3734C8
+3734C8:lA5:group|H3734E0
+3734E0:lA5:heart|H3734F8
+3734F8:lA13:hipe_unified_loader|H373510
+373510:lA11:hipe_sparc_loader|H373520
+373520:lAF:hipe_x86_loader|H373530
+373530:lA9:inet6_tcp|H373540
+373540:lAE:inet6_tcp_dist|H373550
+373550:lA9:inet6_udp|H373560
+373560:lAB:inet_config|H373570
+373570:lAA:inet_hosts|H373580
+373580:lA13:inet_gethost_native|H373590
+373590:lAD:inet_tcp_dist|H3735A0
+3735A0:lA4:init|H3735B0
+3735B0:lA6:kernel|H3735C0
+3735C0:lAD:kernel_config|H3735D0
+3735D0:lA3:net|H3735E0
+3735E0:lA7:net_adm|H3735F0
+3735F0:lAA:net_kernel|H373600
+373600:lA2:os|H373610
+373610:lA8:ram_file|H373620
+373620:lA3:rpc|H373630
+373630:lA4:user|H373640
+373640:lA8:user_drv|H373650
+373650:lA8:user_sup|H373660
+373660:lA8:disk_log|H373670
+373670:lAA:disk_log_1|H373680
+373680:lAF:disk_log_server|H373690
+373690:lAC:disk_log_sup|H3736A0
+3736A0:lA7:dist_ac|H3736B0
+3736B0:lA8:erl_ddll|H3736C0
+3736C0:lA8:erl_epmd|H3736D0
+3736D0:lAA:erts_debug|H3736E0
+3736E0:lA7:gen_tcp|H3736F0
+3736F0:lA7:gen_udp|H373700
+373700:lA9:prim_inet|H373708
+373708:lA4:inet|H373710
+373710:lA7:inet_db|H373718
+373718:lA8:inet_dns|H373720
+373720:lAA:inet_parse|H373728
+373728:lA8:inet_res|H373730
+373730:lA8:inet_tcp|H373738
+373738:lA8:inet_udp|H373740
+373740:lA3:pg2|H373748
+373748:lA9:seq_trace|H373750
+373750:lA6:socks5|H373758
+373758:lAB:socks5_auth|H373760
+373760:lAA:socks5_tcp|H373768
+373768:lAA:socks5_udp|H373770
+373770:lAF:wrap_log_reader|H373778
+373778:lA4:zlib|H373780
+373780:lA9:otp_ring0|N
+373118:lH373148|H373154
+373148:t2:AA:registered,H37317C
+37317C:lA16:application_controller|H3731B8
+3731B8:lA9:erl_reply|H3731F4
+3731F4:lA4:auth|H373230
+373230:lAB:boot_server|H37326C
+37326C:lAB:code_server|H3732AC
+3732AC:lAF:disk_log_server|H3732E0
+3732E0:lAC:disk_log_sup|H37330C
+37330C:lAF:erl_prim_loader|H373338
+373338:lAC:error_logger|H373358
+373358:lAB:file_server|H373378
+373378:lAD:file_server_2|H373398
+373398:lAF:fixtable_server|H3733B0
+3733B0:lAC:global_group|H3733C8
+3733C8:lA12:global_name_server|H3733E0
+3733E0:lA5:heart|H3733F8
+3733F8:lA4:init|H373410
+373410:lAD:kernel_config|H373428
+373428:lAA:kernel_sup|H373440
+373440:lAA:net_kernel|H373458
+373458:lA7:net_sup|H373470
+373470:lA3:rex|H373488
+373488:lA4:user|H3734A0
+3734A0:lA9:os_server|H3734B8
+3734B8:lAB:ddll_server|H3734D0
+3734D0:lA8:erl_epmd|H3734E8
+3734E8:lA7:inet_db|H373500
+373500:lA3:pg2|N
+373154:lH373184|H373190
+373184:t2:AC:applications,N
+373190:lH3731C0|H3731CC
+3731C0:t2:A15:included_applications,N
+3731CC:lH3731FC|H373208
+3731FC:t2:A3:env,H373238
+373238:lH373274|N
+373274:t2:AC:error_logger,A3:tty
+373208:lH373240|H37324C
+373240:t2:AC:start_phases,A9:undefined
+37324C:lH373280|H37328C
+373280:t2:A4:maxT,A8:infinity
+37328C:lH3732B4|H3732C0
+3732B4:t2:A4:maxP,A8:infinity
+3732C0:lH3732E8|N
+3732E8:t2:A3:mod,H373314
+373314:t2:A6:kernel,N
+373048:lN|N
+372E4C:t2:AD:$initial_call,H372EE4
+372EE4:t3:A3:gen,A7:init_it,H372ED0
+372E58:t2:AA:$ancestors,H372EF4
+372EF4:lP<0.1.0>|N
+=proc_dictionary:<0.7.0>
+H369B78
+H369B5C
+=proc_stack:<0.7.0>
+369d64:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:H369C2C
+y1:P<0.5.0>
+369d70:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A12:application_master
+y2:A4:init
+y3:H369B2C
+=proc_heap:<0.7.0>
+369C2C:t6:A5:state,P<0.8.0>,H3697B0,N,I0,P<0.0.0>
+3697B0:t9:A9:appl_data,A6:kernel,H369B14,A9:undefined,H3697D8,H369A3C,N,A8:infinity,A8:infinity
+369A3C:lAB:application|H369A34
+369A34:lA16:application_controller|H369A2C
+369A2C:lA12:application_master|H369A24
+369A24:lA13:application_starter|H369A1C
+369A1C:lA4:auth|H369A14
+369A14:lA4:code|H369A0C
+369A0C:lA8:code_aux|H369A04
+369A04:lA8:packages|H3699FC
+3699FC:lAB:code_server|H3699F4
+3699F4:lA9:dist_util|H3699EC
+3699EC:lAF:erl_boot_server|H3699E4
+3699E4:lA10:erl_distribution|H3699DC
+3699DC:lAF:erl_prim_loader|H3699D4
+3699D4:lA9:erl_reply|H3699CC
+3699CC:lA6:erlang|H3699C4
+3699C4:lAD:error_handler|H3699BC
+3699BC:lAC:error_logger|H3699B4
+3699B4:lA4:file|H3699AC
+3699AC:lAB:file_server|H3699A4
+3699A4:lAF:old_file_server|H36999C
+36999C:lAE:file_io_server|H369994
+369994:lA9:prim_file|H36998C
+36998C:lA6:global|H369984
+369984:lAC:global_group|H36997C
+36997C:lAD:global_search|H369974
+369974:lA5:group|H36996C
+36996C:lA5:heart|H369964
+369964:lA13:hipe_unified_loader|H36995C
+36995C:lA11:hipe_sparc_loader|H369954
+369954:lAF:hipe_x86_loader|H36994C
+36994C:lA9:inet6_tcp|H369944
+369944:lAE:inet6_tcp_dist|H36993C
+36993C:lA9:inet6_udp|H369934
+369934:lAB:inet_config|H36992C
+36992C:lAA:inet_hosts|H369924
+369924:lA13:inet_gethost_native|H36991C
+36991C:lAD:inet_tcp_dist|H369914
+369914:lA4:init|H36990C
+36990C:lA6:kernel|H369904
+369904:lAD:kernel_config|H3698FC
+3698FC:lA3:net|H3698F4
+3698F4:lA7:net_adm|H3698EC
+3698EC:lAA:net_kernel|H3698E4
+3698E4:lA2:os|H3698DC
+3698DC:lA8:ram_file|H3698D4
+3698D4:lA3:rpc|H3698CC
+3698CC:lA4:user|H3698C4
+3698C4:lA8:user_drv|H3698BC
+3698BC:lA8:user_sup|H3698B4
+3698B4:lA8:disk_log|H3698AC
+3698AC:lAA:disk_log_1|H3698A4
+3698A4:lAF:disk_log_server|H36989C
+36989C:lAC:disk_log_sup|H369894
+369894:lA7:dist_ac|H36988C
+36988C:lA8:erl_ddll|H369884
+369884:lA8:erl_epmd|H36987C
+36987C:lAA:erts_debug|H369874
+369874:lA7:gen_tcp|H36986C
+36986C:lA7:gen_udp|H369864
+369864:lA9:prim_inet|H36985C
+36985C:lA4:inet|H369854
+369854:lA7:inet_db|H36984C
+36984C:lA8:inet_dns|H369844
+369844:lAA:inet_parse|H36983C
+36983C:lA8:inet_res|H369834
+369834:lA8:inet_tcp|H36982C
+36982C:lA8:inet_udp|H369824
+369824:lA3:pg2|H36981C
+36981C:lA9:seq_trace|H369814
+369814:lA6:socks5|H36980C
+36980C:lAB:socks5_auth|H369804
+369804:lAA:socks5_tcp|H3697FC
+3697FC:lAA:socks5_udp|H3697F4
+3697F4:lAF:wrap_log_reader|H3697EC
+3697EC:lA4:zlib|H3697E4
+3697E4:lA9:otp_ring0|N
+3697D8:t2:A6:kernel,N
+369B14:lA16:application_controller|H369B0C
+369B0C:lA9:erl_reply|H369B04
+369B04:lA4:auth|H369AFC
+369AFC:lAB:boot_server|H369AF4
+369AF4:lAB:code_server|H369AEC
+369AEC:lAF:disk_log_server|H369AE4
+369AE4:lAC:disk_log_sup|H369ADC
+369ADC:lAF:erl_prim_loader|H369AD4
+369AD4:lAC:error_logger|H369ACC
+369ACC:lAB:file_server|H369AC4
+369AC4:lAD:file_server_2|H369ABC
+369ABC:lAF:fixtable_server|H369AB4
+369AB4:lAC:global_group|H369AAC
+369AAC:lA12:global_name_server|H369AA4
+369AA4:lA5:heart|H369A9C
+369A9C:lA4:init|H369A94
+369A94:lAD:kernel_config|H369A8C
+369A8C:lAA:kernel_sup|H369A84
+369A84:lAA:net_kernel|H369A7C
+369A7C:lA7:net_sup|H369A74
+369A74:lA3:rex|H369A6C
+369A6C:lA4:user|H369A64
+369A64:lA9:os_server|H369A5C
+369A5C:lAB:ddll_server|H369A54
+369A54:lA8:erl_epmd|H369A4C
+369A4C:lA7:inet_db|H369A44
+369A44:lA3:pg2|N
+369B2C:lP<0.5.0>|H369B24
+369B24:lP<0.6.0>|H3697A8
+3697A8:lH3697B0|H369B1C
+369B1C:lA6:normal|N
+369B78:t2:AD:$initial_call,H369B68
+369B68:t3:A12:application_master,A4:init,H369B2C
+369B5C:t2:AA:$ancestors,H369B54
+369B54:lP<0.6.0>|N
+=proc_stack:<0.8.0>
+384ec0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H384BDC
+y1:A6:kernel
+y2:P<0.9.0>
+y3:P<0.7.0>
+=proc_heap:<0.8.0>
+384BDC:t2:A5:state,A3:tty
+=proc_dictionary:<0.9.0>
+H376850
+H37685C
+=proc_stack:<0.9.0>
+36bde8:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36B8E8
+y4:AA:kernel_sup
+y5:P<0.8.0>
+36be04:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3768D4
+=proc_heap:<0.9.0>
+36B8E8:tA:A5:state,H376868,AB:one_for_all,H36B8D4,N,I0,I1,N,A6:kernel,N
+36B8D4:lH36B8B0|H36B6E8
+36B8B0:t8:A5:child,P<0.24.0>,AF:kernel_safe_sup,H376BF0,A9:permanent,A8:infinity,AA:supervisor,H376C00
+376C00:lA6:kernel|N
+376BF0:t3:AA:supervisor,AA:start_link,H376C08
+376C08:lH376C10|H376C1C
+376C10:t2:A5:local,AF:kernel_safe_sup
+376C1C:lA6:kernel|H376C24
+376C24:lA4:safe|N
+36B6E8:lH36B6C4|H36B490
+36B6C4:t8:A5:child,P<0.23.0>,AD:kernel_config,H376BB4,A9:permanent,I2000,A6:worker,H376BC4
+376BC4:lAD:kernel_config|N
+376BB4:t3:AD:kernel_config,AA:start_link,N
+36B490:lH36B498|H36B4BC
+36B498:t8:A5:child,P<0.19.0>,A4:user,H376B70,A9:temporary,I2000,AA:supervisor,H376B80
+376B80:lA8:user_sup|N
+376B70:t3:A8:user_sup,A5:start,N
+36B4BC:lH36B4C4|H376CB0
+36B4C4:t8:A5:child,P<0.18.0>,AB:code_server,H376B0C,A9:permanent,I2000,A6:worker,H376B1C
+376B1C:lA4:code|N
+376B0C:t3:A4:code,AA:start_link,N
+376CB0:lH376CB8|H376CDC
+376CB8:t8:A5:child,P<0.17.0>,AB:file_server,H376AB8,A9:permanent,I2000,A6:worker,H376AC8
+376AC8:lAF:old_file_server|N
+376AB8:t3:AF:old_file_server,AA:start_link,N
+376CDC:lH376CE4|H376C2C
+376CE4:t8:A5:child,P<0.16.0>,AD:file_server_2,H376A58,A9:permanent,I2000,A6:worker,H376A68
+376A68:lA4:file|H376AB0
+376AB0:lAB:file_server|H376B04
+376B04:lAE:file_io_server|H376B68
+376B68:lA9:prim_file|N
+376A58:t3:AB:file_server,AA:start_link,N
+376C2C:lH376C34|H376C58
+376C34:t8:A5:child,P<0.15.0>,AC:global_group,H3769F4,A9:permanent,I2000,A6:worker,H376A04
+376A04:lAC:global_group|N
+3769F4:t3:AC:global_group,AA:start_link,N
+376C58:lH376C60|H376C84
+376C60:t8:A5:child,A9:undefined,A7:net_sup,H37696C,A9:permanent,A8:infinity,AA:supervisor,H37697C
+37697C:lA10:erl_distribution|N
+37696C:t3:A10:erl_distribution,AA:start_link,N
+376C84:lH376C8C|H3768A0
+376C8C:t8:A5:child,P<0.14.0>,A7:inet_db,H3768F4,A9:permanent,I2000,A6:worker,H376904
+376904:lA7:inet_db|N
+3768F4:t3:A7:inet_db,AA:start_link,N
+3768A0:lH376938|H37695C
+376938:t8:A5:child,P<0.11.0>,A12:global_name_server,H3769B0,A9:permanent,I2000,A6:worker,H3769C0
+3769C0:lA6:global|N
+3769B0:t3:A6:global,AA:start_link,N
+37695C:lH3769C8|N
+3769C8:t8:A5:child,P<0.10.0>,A3:rex,H376A38,A9:permanent,I2000,A6:worker,H376A48
+376A48:lA3:rpc|N
+376A38:t3:A3:rpc,AA:start_link,N
+376868:t2:A5:local,AA:kernel_sup
+3768D4:lAA:gen_server|H376964
+376964:lP<0.8.0>|H3769EC
+3769EC:lP<0.8.0>|H376A50
+376A50:lH376A9C|H376AA8
+376A9C:t2:A5:local,AA:kernel_sup
+376AA8:lAA:supervisor|H376AFC
+376AFC:lH376B50|H376B60
+376B50:t3:H376868,A6:kernel,N
+376B60:lN|N
+376850:t2:AD:$initial_call,H3768DC
+3768DC:t3:A3:gen,A7:init_it,H3768D4
+37685C:t2:AA:$ancestors,H3768EC
+3768EC:lP<0.8.0>|N
+=proc_dictionary:<0.10.0>
+H367A10
+H3679F4
+=proc_stack:<0.10.0>
+367cec:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A3:rpc
+y3:H367AA8
+y4:A3:rex
+y5:P<0.9.0>
+367d08:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3679C4
+=proc_heap:<0.10.0>
+367AA8:t2:I0,A3:nil
+3679C4:lAA:gen_server|H3679BC
+3679BC:lP<0.9.0>|H3679B4
+3679B4:lP<0.9.0>|H367988
+367988:lH367990|H3679AC
+367990:t2:A5:local,A3:rex
+3679AC:lA3:rpc|H3679A4
+3679A4:lN|H36799C
+36799C:lN|N
+367A10:t2:AD:$initial_call,H367A00
+367A00:t3:A3:gen,A7:init_it,H3679C4
+3679F4:t2:AA:$ancestors,H3679EC
+3679EC:lAA:kernel_sup|H3679CC
+3679CC:lP<0.8.0>|N
+=proc_dictionary:<0.11.0>
+H36ADD8
+H36ADBC
+=proc_stack:<0.11.0>
+36b0b4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A6:global
+y3:H36AF0C
+y4:A12:global_name_server
+y5:P<0.9.0>
+36b0d0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36AD8C
+=proc_heap:<0.11.0>
+36AF0C:t9:A5:state,A4:true,N,N,N,N,AD:nonode@nohost,P<0.12.0>,P<0.13.0>
+36AD8C:lAA:gen_server|H36AD84
+36AD84:lP<0.9.0>|H36AD7C
+36AD7C:lP<0.9.0>|H36AD50
+36AD50:lH36AD58|H36AD74
+36AD58:t2:A5:local,A12:global_name_server
+36AD74:lA6:global|H36AD6C
+36AD6C:lN|H36AD64
+36AD64:lN|N
+36ADD8:t2:AD:$initial_call,H36ADC8
+36ADC8:t3:A3:gen,A7:init_it,H36AD8C
+36ADBC:t2:AA:$ancestors,H36ADB4
+36ADB4:lAA:kernel_sup|H36AD94
+36AD94:lP<0.8.0>|N
+=proc_stack:<0.12.0>
+36921c:SReturn addr 0x261184 (global:init_the_locker/1 + 112)
+y0:N
+y1:N
+y2:N
+y3:N
+y4:N
+y5:N
+y6:A8:infinity
+y7:H368EB0
+y8:P<0.11.0>
+369244:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+=proc_heap:<0.12.0>
+368EB0:t3:A5:multi,A9:undefined,N
+=proc_stack:<0.13.0>
+3695d0:SReturn addr 0x2651AC (global:loop_the_deleter/1 + 36)
+y0:A8:infinity
+y1:N
+y2:P<0.11.0>
+3695e0:SReturn addr 0x2654F8 (global:'-start_the_deleter/1-fun-0-'/1 + 20)
+y0:N
+y1:N
+y2:P<0.11.0>
+3695f0:SReturn addr 0x156F90 (<terminate process normally>)
+=proc_heap:<0.13.0>
+=proc_dictionary:<0.14.0>
+H36A998
+H36A9A4
+=proc_stack:<0.14.0>
+372e0c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A7:inet_db
+y3:H36A9B0
+y4:A7:inet_db
+y5:P<0.9.0>
+372e28:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36A9C8
+=proc_heap:<0.14.0>
+36A9B0:t5:A5:state,A7:inet_db,AA:inet_cache,AA:inet_hosts,H36A9E8
+36A9E8:E21:8372000364000D6E6F6E6F6465406E6F686F737400000000060000000000000000
+36A9C8:lAA:gen_server|H36A9F8
+36A9F8:lP<0.9.0>|H36AA08
+36AA08:lP<0.9.0>|H36AA10
+36AA10:lH36AA18|H36AA24
+36AA18:t2:A5:local,A7:inet_db
+36AA24:lA7:inet_db|H36AA2C
+36AA2C:lN|H36AA34
+36AA34:lN|N
+36A998:t2:AD:$initial_call,H36A9D0
+36A9D0:t3:A3:gen,A7:init_it,H36A9C8
+36A9A4:t2:AA:$ancestors,H36A9E0
+36A9E0:lAA:kernel_sup|H36AA00
+36AA00:lP<0.8.0>|N
+=proc_dictionary:<0.15.0>
+H372788
+H3727F8
+H37276C
+H37280C
+H372820
+=proc_stack:<0.15.0>
+372a64:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AC:global_group
+y3:H3728C8
+y4:AC:global_group
+y5:P<0.9.0>
+372a80:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37273C
+=proc_heap:<0.15.0>
+3728C8:tC:A5:state,A7:no_conf,A4:true,N,N,N,N,N,AD:nonode@nohost,N,A6:normal,A6:normal
+37273C:lAA:gen_server|H372734
+372734:lP<0.9.0>|H37272C
+37272C:lP<0.9.0>|H372700
+372700:lH372708|H372724
+372708:t2:A5:local,AC:global_group
+372724:lAC:global_group|H37271C
+37271C:lN|H372714
+372714:lN|N
+372788:t2:AD:$initial_call,H372778
+372778:t3:A3:gen,A7:init_it,H37273C
+3727F8:t2:A10:registered_names,H3727F0
+3727F0:lA9:undefined|N
+37276C:t2:AA:$ancestors,H372764
+372764:lAA:kernel_sup|H372744
+372744:lP<0.8.0>|N
+37280C:t2:A4:send,H372804
+372804:lA9:undefined|N
+372820:t2:AC:whereis_name,H372818
+372818:lA9:undefined|N
+=proc_dictionary:<0.16.0>
+H37B918
+H37B924
+=proc_stack:<0.16.0>
+3d303c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AB:file_server
+y3:p<0.4>
+y4:AD:file_server_2
+y5:P<0.9.0>
+3d3058:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37B930
+=proc_heap:<0.16.0>
+37B930:lAA:gen_server|H37B950
+37B950:lP<0.9.0>|H37B960
+37B960:lP<0.9.0>|H37B968
+37B968:lH37B970|H37B97C
+37B970:t2:A5:local,AD:file_server_2
+37B97C:lAB:file_server|H37B984
+37B984:lN|H37B98C
+37B98C:lN|N
+37B918:t2:AD:$initial_call,H37B938
+37B938:t3:A3:gen,A7:init_it,H37B930
+37B924:t2:AA:$ancestors,H37B948
+37B948:lAA:kernel_sup|H37B958
+37B958:lP<0.8.0>|N
+=proc_stack:<0.17.0>
+3763cc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H376084
+y1:P<0.16.0>
+y2:P<0.9.0>
+=proc_heap:<0.17.0>
+376084:E21:8372000364000D6E6F6E6F6465406E6F686F737400000000160000000000000000
+=proc_stack:<0.18.0>
+3b98e8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H38AE84
+y1:P<0.9.0>
+=proc_heap:<0.18.0>
+38AE84:t8:A5:state,P<0.9.0>,H3873BC,H38AEB8,I9,I10,A8:no_cache,AB:interactive
+38AEB8:lH3873D4|H38AEE0
+3873D4:lI46|N
+38AEE0:lH3873EC|H38AF10
+3873EC:lI47|H387404
+387404:lI99|H387424
+387424:lI108|H38744C
+38744C:lI101|H38747C
+38747C:lI97|H3874B4
+3874B4:lI114|H3874F4
+3874F4:lI99|H38753C
+38753C:lI97|H38758C
+38758C:lI115|H3875E4
+3875E4:lI101|H387644
+387644:lI47|H3876AC
+3876AC:lI111|H38771C
+38771C:lI116|H387794
+387794:lI112|H387814
+387814:lI47|H38789C
+38789C:lI101|H38792C
+38792C:lI114|H3879BC
+3879BC:lI116|H387A54
+387A54:lI115|H387AF4
+387AF4:lI47|H387B9C
+387B9C:lI108|H387C4C
+387C4C:lI105|H387D04
+387D04:lI98|H387DC4
+387DC4:lI47|H387E8C
+387E8C:lI107|H387F5C
+387F5C:lI101|H388034
+388034:lI114|H388114
+388114:lI110|H3881FC
+3881FC:lI101|H3882EC
+3882EC:lI108|H3883E4
+3883E4:lI47|H3884E4
+3884E4:lI101|H3885EC
+3885EC:lI98|H3886FC
+3886FC:lI105|H388814
+388814:lI110|N
+38AF10:lH38740C|H38AF48
+38740C:lI47|H38742C
+38742C:lI99|H387454
+387454:lI108|H387484
+387484:lI101|H3874BC
+3874BC:lI97|H3874FC
+3874FC:lI114|H387544
+387544:lI99|H387594
+387594:lI97|H3875EC
+3875EC:lI115|H38764C
+38764C:lI101|H3876B4
+3876B4:lI47|H387724
+387724:lI111|H38779C
+38779C:lI116|H38781C
+38781C:lI112|H3878A4
+3878A4:lI47|H387934
+387934:lI101|H3879C4
+3879C4:lI114|H387A5C
+387A5C:lI116|H387AFC
+387AFC:lI115|H387BA4
+387BA4:lI47|H387C54
+387C54:lI108|H387D0C
+387D0C:lI105|H387DCC
+387DCC:lI98|H387E94
+387E94:lI47|H387F64
+387F64:lI115|H38803C
+38803C:lI116|H38811C
+38811C:lI100|H388204
+388204:lI108|H3882F4
+3882F4:lI105|H3883EC
+3883EC:lI98|H3884EC
+3884EC:lI47|H3885F4
+3885F4:lI101|H388704
+388704:lI98|H38881C
+38881C:lI105|H38892C
+38892C:lI110|N
+38AF48:lH387434|H38AF70
+387434:lI47|H38745C
+38745C:lI99|H38748C
+38748C:lI108|H3874C4
+3874C4:lI101|H387504
+387504:lI97|H38754C
+38754C:lI114|H38759C
+38759C:lI99|H3875F4
+3875F4:lI97|H387654
+387654:lI115|H3876BC
+3876BC:lI101|H38772C
+38772C:lI47|H3877A4
+3877A4:lI111|H387824
+387824:lI116|H3878AC
+3878AC:lI112|H38793C
+38793C:lI47|H3879CC
+3879CC:lI101|H387A64
+387A64:lI114|H387B04
+387B04:lI116|H387BAC
+387BAC:lI115|H387C5C
+387C5C:lI47|H387D14
+387D14:lI108|H387DD4
+387DD4:lI105|H387E9C
+387E9C:lI98|H387F6C
+387F6C:lI47|H388044
+388044:lI119|H388124
+388124:lI101|H38820C
+38820C:lI98|H3882FC
+3882FC:lI116|H3883F4
+3883F4:lI111|H3884F4
+3884F4:lI111|H3885FC
+3885FC:lI108|H38870C
+38870C:lI47|H388824
+388824:lI101|H388934
+388934:lI98|H388A44
+388A44:lI105|H388B54
+388B54:lI110|N
+38AF70:lH387464|H38AF98
+387464:lI47|H387494
+387494:lI99|H3874CC
+3874CC:lI108|H38750C
+38750C:lI101|H387554
+387554:lI97|H3875A4
+3875A4:lI114|H3875FC
+3875FC:lI99|H38765C
+38765C:lI97|H3876C4
+3876C4:lI115|H387734
+387734:lI101|H3877AC
+3877AC:lI47|H38782C
+38782C:lI111|H3878B4
+3878B4:lI116|H387944
+387944:lI112|H3879D4
+3879D4:lI47|H387A6C
+387A6C:lI101|H387B0C
+387B0C:lI114|H387BB4
+387BB4:lI116|H387C64
+387C64:lI115|H387D1C
+387D1C:lI47|H387DDC
+387DDC:lI108|H387EA4
+387EA4:lI105|H387F74
+387F74:lI98|H38804C
+38804C:lI47|H38812C
+38812C:lI116|H388214
+388214:lI118|H388304
+388304:lI47|H3883FC
+3883FC:lI101|H3884FC
+3884FC:lI98|H388604
+388604:lI105|H388714
+388714:lI110|N
+38AF98:lH38749C|H38AFC0
+38749C:lI47|H3874D4
+3874D4:lI99|H387514
+387514:lI108|H38755C
+38755C:lI101|H3875AC
+3875AC:lI97|H387604
+387604:lI114|H387664
+387664:lI99|H3876CC
+3876CC:lI97|H38773C
+38773C:lI115|H3877B4
+3877B4:lI101|H387834
+387834:lI47|H3878BC
+3878BC:lI111|H38794C
+38794C:lI116|H3879DC
+3879DC:lI112|H387A74
+387A74:lI47|H387B14
+387B14:lI101|H387BBC
+387BBC:lI114|H387C6C
+387C6C:lI116|H387D24
+387D24:lI115|H387DE4
+387DE4:lI47|H387EAC
+387EAC:lI108|H387F7C
+387F7C:lI105|H388054
+388054:lI98|H388134
+388134:lI47|H38821C
+38821C:lI116|H38830C
+38830C:lI115|H388404
+388404:lI112|H388504
+388504:lI47|H38860C
+38860C:lI101|H38871C
+38871C:lI98|H38882C
+38882C:lI105|H38893C
+38893C:lI110|N
+38AFC0:lH3874DC|H38AFE8
+3874DC:lI47|H38751C
+38751C:lI99|H387564
+387564:lI108|H3875B4
+3875B4:lI101|H38760C
+38760C:lI97|H38766C
+38766C:lI114|H3876D4
+3876D4:lI99|H387744
+387744:lI97|H3877BC
+3877BC:lI115|H38783C
+38783C:lI101|H3878C4
+3878C4:lI47|H387954
+387954:lI111|H3879E4
+3879E4:lI116|H387A7C
+387A7C:lI112|H387B1C
+387B1C:lI47|H387BC4
+387BC4:lI101|H387C74
+387C74:lI114|H387D2C
+387D2C:lI116|H387DEC
+387DEC:lI115|H387EB4
+387EB4:lI47|H387F84
+387F84:lI108|H38805C
+38805C:lI105|H38813C
+38813C:lI98|H388224
+388224:lI47|H388314
+388314:lI116|H38840C
+38840C:lI111|H38850C
+38850C:lI111|H388614
+388614:lI108|H388724
+388724:lI115|H388834
+388834:lI47|H388944
+388944:lI101|H388A4C
+388A4C:lI98|H388B5C
+388B5C:lI105|H388C6C
+388C6C:lI110|N
+38AFE8:lH387524|H38B008
+387524:lI47|H38756C
+38756C:lI99|H3875BC
+3875BC:lI108|H387614
+387614:lI101|H387674
+387674:lI97|H3876DC
+3876DC:lI114|H38774C
+38774C:lI99|H3877C4
+3877C4:lI97|H387844
+387844:lI115|H3878CC
+3878CC:lI101|H38795C
+38795C:lI47|H3879EC
+3879EC:lI111|H387A84
+387A84:lI116|H387B24
+387B24:lI112|H387BCC
+387BCC:lI47|H387C7C
+387C7C:lI101|H387D34
+387D34:lI114|H387DF4
+387DF4:lI116|H387EBC
+387EBC:lI115|H387F8C
+387F8C:lI47|H388064
+388064:lI108|H388144
+388144:lI105|H38822C
+38822C:lI98|H38831C
+38831C:lI47|H388414
+388414:lI116|H388514
+388514:lI111|H38861C
+38861C:lI111|H38872C
+38872C:lI108|H38883C
+38883C:lI98|H38894C
+38894C:lI97|H388A54
+388A54:lI114|H388B64
+388B64:lI47|H388C74
+388C74:lI101|H388D84
+388D84:lI98|H388E9C
+388E9C:lI105|H388FB4
+388FB4:lI110|N
+38B008:lH387574|H38B018
+387574:lI47|H3875C4
+3875C4:lI99|H38761C
+38761C:lI108|H38767C
+38767C:lI101|H3876E4
+3876E4:lI97|H387754
+387754:lI114|H3877CC
+3877CC:lI99|H38784C
+38784C:lI97|H3878D4
+3878D4:lI115|H387964
+387964:lI101|H3879F4
+3879F4:lI47|H387A8C
+387A8C:lI111|H387B2C
+387B2C:lI116|H387BD4
+387BD4:lI112|H387C84
+387C84:lI47|H387D3C
+387D3C:lI101|H387DFC
+387DFC:lI114|H387EC4
+387EC4:lI116|H387F94
+387F94:lI115|H38806C
+38806C:lI47|H38814C
+38814C:lI108|H388234
+388234:lI105|H388324
+388324:lI98|H38841C
+38841C:lI47|H38851C
+38851C:lI116|H388624
+388624:lI101|H388734
+388734:lI115|H388844
+388844:lI116|H388954
+388954:lI95|H388A5C
+388A5C:lI115|H388B6C
+388B6C:lI101|H388C7C
+388C7C:lI114|H388D8C
+388D8C:lI118|H388EA4
+388EA4:lI101|H388FBC
+388FBC:lI114|H3890D4
+3890D4:lI47|H3891EC
+3891EC:lI101|H3892FC
+3892FC:lI98|H38940C
+38940C:lI105|H38951C
+38951C:lI110|N
+38B018:lH3875CC|H38AE7C
+3875CC:lI47|H387624
+387624:lI99|H387684
+387684:lI108|H3876EC
+3876EC:lI101|H38775C
+38775C:lI97|H3877D4
+3877D4:lI114|H387854
+387854:lI99|H3878DC
+3878DC:lI97|H38796C
+38796C:lI115|H3879FC
+3879FC:lI101|H387A94
+387A94:lI47|H387B34
+387B34:lI111|H387BDC
+387BDC:lI116|H387C8C
+387C8C:lI112|H387D44
+387D44:lI47|H387E04
+387E04:lI101|H387ECC
+387ECC:lI114|H387F9C
+387F9C:lI116|H388074
+388074:lI115|H388154
+388154:lI47|H38823C
+38823C:lI108|H38832C
+38832C:lI105|H388424
+388424:lI98|H388524
+388524:lI47|H38862C
+38862C:lI115|H38873C
+38873C:lI115|H38884C
+38884C:lI108|H38895C
+38895C:lI47|H388A64
+388A64:lI101|H388B74
+388B74:lI98|H388C84
+388C84:lI105|H388D94
+388D94:lI110|N
+38AE7C:lH38762C|H38AEB0
+38762C:lI47|H38768C
+38768C:lI99|H3876F4
+3876F4:lI108|H387764
+387764:lI101|H3877DC
+3877DC:lI97|H38785C
+38785C:lI114|H3878E4
+3878E4:lI99|H387974
+387974:lI97|H387A04
+387A04:lI115|H387A9C
+387A9C:lI101|H387B3C
+387B3C:lI47|H387BE4
+387BE4:lI111|H387C94
+387C94:lI116|H387D4C
+387D4C:lI112|H387E0C
+387E0C:lI47|H387ED4
+387ED4:lI101|H387FA4
+387FA4:lI114|H38807C
+38807C:lI116|H38815C
+38815C:lI115|H388244
+388244:lI47|H388334
+388334:lI108|H38842C
+38842C:lI105|H38852C
+38852C:lI98|H388634
+388634:lI47|H388744
+388744:lI115|H388854
+388854:lI110|H388964
+388964:lI109|H388A6C
+388A6C:lI112|H388B7C
+388B7C:lI47|H388C8C
+388C8C:lI101|H388D9C
+388D9C:lI98|H388EAC
+388EAC:lI105|H388FC4
+388FC4:lI110|N
+38AEB0:lH387694|H38AED8
+387694:lI47|H3876FC
+3876FC:lI99|H38776C
+38776C:lI108|H3877E4
+3877E4:lI101|H387864
+387864:lI97|H3878EC
+3878EC:lI114|H38797C
+38797C:lI99|H387A0C
+387A0C:lI97|H387AA4
+387AA4:lI115|H387B44
+387B44:lI101|H387BEC
+387BEC:lI47|H387C9C
+387C9C:lI111|H387D54
+387D54:lI116|H387E14
+387E14:lI112|H387EDC
+387EDC:lI47|H387FAC
+387FAC:lI101|H388084
+388084:lI114|H388164
+388164:lI116|H38824C
+38824C:lI115|H38833C
+38833C:lI47|H388434
+388434:lI108|H388534
+388534:lI105|H38863C
+38863C:lI98|H38874C
+38874C:lI47|H38885C
+38885C:lI115|H38896C
+38896C:lI97|H388A74
+388A74:lI115|H388B84
+388B84:lI108|H388C94
+388C94:lI47|H388DA4
+388DA4:lI101|H388EB4
+388EB4:lI98|H388FCC
+388FCC:lI105|H3890DC
+3890DC:lI110|N
+38AED8:lH387704|H38AF08
+387704:lI47|H387774
+387774:lI99|H3877EC
+3877EC:lI108|H38786C
+38786C:lI101|H3878F4
+3878F4:lI97|H387984
+387984:lI114|H387A14
+387A14:lI99|H387AAC
+387AAC:lI97|H387B4C
+387B4C:lI115|H387BF4
+387BF4:lI101|H387CA4
+387CA4:lI47|H387D5C
+387D5C:lI111|H387E1C
+387E1C:lI116|H387EE4
+387EE4:lI112|H387FB4
+387FB4:lI47|H38808C
+38808C:lI101|H38816C
+38816C:lI114|H388254
+388254:lI116|H388344
+388344:lI115|H38843C
+38843C:lI47|H38853C
+38853C:lI108|H388644
+388644:lI105|H388754
+388754:lI98|H388864
+388864:lI47|H388974
+388974:lI114|H388A7C
+388A7C:lI117|H388B8C
+388B8C:lI110|H388C9C
+388C9C:lI116|H388DAC
+388DAC:lI105|H388EBC
+388EBC:lI109|H388FD4
+388FD4:lI101|H3890E4
+3890E4:lI95|H3891F4
+3891F4:lI116|H389304
+389304:lI111|H389414
+389414:lI111|H389524
+389524:lI108|H389624
+389624:lI115|H38971C
+38971C:lI47|H389814
+389814:lI101|H38990C
+38990C:lI98|H389A04
+389A04:lI105|H389AE4
+389AE4:lI110|N
+38AF08:lH38777C|H38AF40
+38777C:lI47|H3877F4
+3877F4:lI99|H387874
+387874:lI108|H3878FC
+3878FC:lI101|H38798C
+38798C:lI97|H387A1C
+387A1C:lI114|H387AB4
+387AB4:lI99|H387B54
+387B54:lI97|H387BFC
+387BFC:lI115|H387CAC
+387CAC:lI101|H387D64
+387D64:lI47|H387E24
+387E24:lI111|H387EEC
+387EEC:lI116|H387FBC
+387FBC:lI112|H388094
+388094:lI47|H388174
+388174:lI101|H38825C
+38825C:lI114|H38834C
+38834C:lI116|H388444
+388444:lI115|H388544
+388544:lI47|H38864C
+38864C:lI108|H38875C
+38875C:lI105|H38886C
+38886C:lI98|H38897C
+38897C:lI47|H388A84
+388A84:lI114|H388B94
+388B94:lI115|H388CA4
+388CA4:lI104|H388DB4
+388DB4:lI101|H388EC4
+388EC4:lI108|H388FDC
+388FDC:lI108|H3890EC
+3890EC:lI47|H3891FC
+3891FC:lI101|H38930C
+38930C:lI98|H38941C
+38941C:lI105|H38952C
+38952C:lI110|N
+38AF40:lH3877FC|H38AF68
+3877FC:lI47|H38787C
+38787C:lI99|H387904
+387904:lI108|H387994
+387994:lI101|H387A24
+387A24:lI97|H387ABC
+387ABC:lI114|H387B5C
+387B5C:lI99|H387C04
+387C04:lI97|H387CB4
+387CB4:lI115|H387D6C
+387D6C:lI101|H387E2C
+387E2C:lI47|H387EF4
+387EF4:lI111|H387FC4
+387FC4:lI116|H38809C
+38809C:lI112|H38817C
+38817C:lI47|H388264
+388264:lI101|H388354
+388354:lI114|H38844C
+38844C:lI116|H38854C
+38854C:lI115|H388654
+388654:lI47|H388764
+388764:lI108|H388874
+388874:lI105|H388984
+388984:lI98|H388A8C
+388A8C:lI47|H388B9C
+388B9C:lI112|H388CAC
+388CAC:lI109|H388DBC
+388DBC:lI97|H388ECC
+388ECC:lI110|H388FE4
+388FE4:lI47|H3890F4
+3890F4:lI101|H389204
+389204:lI98|H389314
+389314:lI105|H389424
+389424:lI110|N
+38AF68:lH387884|H38AF90
+387884:lI47|H38790C
+38790C:lI99|H38799C
+38799C:lI108|H387A2C
+387A2C:lI101|H387AC4
+387AC4:lI97|H387B64
+387B64:lI114|H387C0C
+387C0C:lI99|H387CBC
+387CBC:lI97|H387D74
+387D74:lI115|H387E34
+387E34:lI101|H387EFC
+387EFC:lI47|H387FCC
+387FCC:lI111|H3880A4
+3880A4:lI116|H388184
+388184:lI112|H38826C
+38826C:lI47|H38835C
+38835C:lI101|H388454
+388454:lI114|H388554
+388554:lI116|H38865C
+38865C:lI115|H38876C
+38876C:lI47|H38887C
+38887C:lI108|H38898C
+38898C:lI105|H388A94
+388A94:lI98|H388BA4
+388BA4:lI47|H388CB4
+388CB4:lI112|H388DC4
+388DC4:lI97|H388ED4
+388ED4:lI114|H388FEC
+388FEC:lI115|H3890FC
+3890FC:lI101|H38920C
+38920C:lI116|H38931C
+38931C:lI111|H38942C
+38942C:lI111|H389534
+389534:lI108|H38962C
+38962C:lI115|H389724
+389724:lI47|H38981C
+38981C:lI101|H389914
+389914:lI98|H389A0C
+389A0C:lI105|H389AEC
+389AEC:lI110|N
+38AF90:lH387914|H38AFB8
+387914:lI47|H3879A4
+3879A4:lI99|H387A34
+387A34:lI108|H387ACC
+387ACC:lI101|H387B6C
+387B6C:lI97|H387C14
+387C14:lI114|H387CC4
+387CC4:lI99|H387D7C
+387D7C:lI97|H387E3C
+387E3C:lI115|H387F04
+387F04:lI101|H387FD4
+387FD4:lI47|H3880AC
+3880AC:lI111|H38818C
+38818C:lI116|H388274
+388274:lI112|H388364
+388364:lI47|H38845C
+38845C:lI101|H38855C
+38855C:lI114|H388664
+388664:lI116|H388774
+388774:lI115|H388884
+388884:lI47|H388994
+388994:lI108|H388A9C
+388A9C:lI105|H388BAC
+388BAC:lI98|H388CBC
+388CBC:lI47|H388DCC
+388DCC:lI111|H388EDC
+388EDC:lI116|H388FF4
+388FF4:lI112|H389104
+389104:lI95|H389214
+389214:lI109|H389324
+389324:lI105|H389434
+389434:lI98|H38953C
+38953C:lI115|H389634
+389634:lI47|H38972C
+38972C:lI101|H389824
+389824:lI98|H38991C
+38991C:lI105|H389A14
+389A14:lI110|N
+38AFB8:lH3879AC|H38AFE0
+3879AC:lI47|H387A3C
+387A3C:lI99|H387AD4
+387AD4:lI108|H387B74
+387B74:lI101|H387C1C
+387C1C:lI97|H387CCC
+387CCC:lI114|H387D84
+387D84:lI99|H387E44
+387E44:lI97|H387F0C
+387F0C:lI115|H387FDC
+387FDC:lI101|H3880B4
+3880B4:lI47|H388194
+388194:lI111|H38827C
+38827C:lI116|H38836C
+38836C:lI112|H388464
+388464:lI47|H388564
+388564:lI101|H38866C
+38866C:lI114|H38877C
+38877C:lI116|H38888C
+38888C:lI115|H38899C
+38899C:lI47|H388AA4
+388AA4:lI108|H388BB4
+388BB4:lI105|H388CC4
+388CC4:lI98|H388DD4
+388DD4:lI47|H388EE4
+388EE4:lI111|H388FFC
+388FFC:lI115|H38910C
+38910C:lI95|H38921C
+38921C:lI109|H38932C
+38932C:lI111|H38943C
+38943C:lI110|H389544
+389544:lI47|H38963C
+38963C:lI101|H389734
+389734:lI98|H38982C
+38982C:lI105|H389924
+389924:lI110|N
+38AFE0:lH387A44|H38B000
+387A44:lI47|H387ADC
+387ADC:lI99|H387B7C
+387B7C:lI108|H387C24
+387C24:lI101|H387CD4
+387CD4:lI97|H387D8C
+387D8C:lI114|H387E4C
+387E4C:lI99|H387F14
+387F14:lI97|H387FE4
+387FE4:lI115|H3880BC
+3880BC:lI101|H38819C
+38819C:lI47|H388284
+388284:lI111|H388374
+388374:lI116|H38846C
+38846C:lI112|H38856C
+38856C:lI47|H388674
+388674:lI101|H388784
+388784:lI114|H388894
+388894:lI116|H3889A4
+3889A4:lI115|H388AAC
+388AAC:lI47|H388BBC
+388BBC:lI108|H388CCC
+388CCC:lI105|H388DDC
+388DDC:lI98|H388EEC
+388EEC:lI47|H389004
+389004:lI111|H389114
+389114:lI114|H389224
+389224:lI98|H389334
+389334:lI101|H389444
+389444:lI114|H38954C
+38954C:lI47|H389644
+389644:lI101|H38973C
+38973C:lI98|H389834
+389834:lI105|H38992C
+38992C:lI110|N
+38B000:lH387AE4|H38B010
+387AE4:lI47|H387B84
+387B84:lI99|H387C2C
+387C2C:lI108|H387CDC
+387CDC:lI101|H387D94
+387D94:lI97|H387E54
+387E54:lI114|H387F1C
+387F1C:lI99|H387FEC
+387FEC:lI97|H3880C4
+3880C4:lI115|H3881A4
+3881A4:lI101|H38828C
+38828C:lI47|H38837C
+38837C:lI111|H388474
+388474:lI116|H388574
+388574:lI112|H38867C
+38867C:lI47|H38878C
+38878C:lI101|H38889C
+38889C:lI114|H3889AC
+3889AC:lI116|H388AB4
+388AB4:lI115|H388BC4
+388BC4:lI47|H388CD4
+388CD4:lI108|H388DE4
+388DE4:lI105|H388EF4
+388EF4:lI98|H38900C
+38900C:lI47|H38911C
+38911C:lI111|H38922C
+38922C:lI100|H38933C
+38933C:lI98|H38944C
+38944C:lI99|H389554
+389554:lI47|H38964C
+38964C:lI101|H389744
+389744:lI98|H38983C
+38983C:lI105|H389934
+389934:lI110|N
+38B010:lH387B8C|H38B020
+387B8C:lI47|H387C34
+387C34:lI99|H387CE4
+387CE4:lI108|H387D9C
+387D9C:lI101|H387E5C
+387E5C:lI97|H387F24
+387F24:lI114|H387FF4
+387FF4:lI99|H3880CC
+3880CC:lI97|H3881AC
+3881AC:lI115|H388294
+388294:lI101|H388384
+388384:lI47|H38847C
+38847C:lI111|H38857C
+38857C:lI116|H388684
+388684:lI112|H388794
+388794:lI47|H3888A4
+3888A4:lI101|H3889B4
+3889B4:lI114|H388ABC
+388ABC:lI116|H388BCC
+388BCC:lI115|H388CDC
+388CDC:lI47|H388DEC
+388DEC:lI108|H388EFC
+388EFC:lI105|H389014
+389014:lI98|H389124
+389124:lI47|H389234
+389234:lI111|H389344
+389344:lI98|H389454
+389454:lI115|H38955C
+38955C:lI101|H389654
+389654:lI114|H38974C
+38974C:lI118|H389844
+389844:lI101|H38993C
+38993C:lI114|H389A1C
+389A1C:lI47|H389AF4
+389AF4:lI101|H389BBC
+389BBC:lI98|H389C84
+389C84:lI105|H389D4C
+389D4C:lI110|N
+38B020:lH387C3C|H38B028
+387C3C:lI47|H387CEC
+387CEC:lI99|H387DA4
+387DA4:lI108|H387E64
+387E64:lI101|H387F2C
+387F2C:lI97|H387FFC
+387FFC:lI114|H3880D4
+3880D4:lI99|H3881B4
+3881B4:lI97|H38829C
+38829C:lI115|H38838C
+38838C:lI101|H388484
+388484:lI47|H388584
+388584:lI111|H38868C
+38868C:lI116|H38879C
+38879C:lI112|H3888AC
+3888AC:lI47|H3889BC
+3889BC:lI101|H388AC4
+388AC4:lI114|H388BD4
+388BD4:lI116|H388CE4
+388CE4:lI115|H388DF4
+388DF4:lI47|H388F04
+388F04:lI108|H38901C
+38901C:lI105|H38912C
+38912C:lI98|H38923C
+38923C:lI47|H38934C
+38934C:lI109|H38945C
+38945C:lI110|H389564
+389564:lI101|H38965C
+38965C:lI115|H389754
+389754:lI105|H38984C
+38984C:lI97|H389944
+389944:lI95|H389A24
+389A24:lI115|H389AFC
+389AFC:lI101|H389BC4
+389BC4:lI115|H389C8C
+389C8C:lI115|H389D54
+389D54:lI105|H389E14
+389E14:lI111|H389ECC
+389ECC:lI110|H389F7C
+389F7C:lI47|H38A01C
+38A01C:lI101|H38A0AC
+38A0AC:lI98|H38A12C
+38A12C:lI105|H38A19C
+38A19C:lI110|N
+38B028:lH387CF4|H38B030
+387CF4:lI47|H387DAC
+387DAC:lI99|H387E6C
+387E6C:lI108|H387F34
+387F34:lI101|H388004
+388004:lI97|H3880DC
+3880DC:lI114|H3881BC
+3881BC:lI99|H3882A4
+3882A4:lI97|H388394
+388394:lI115|H38848C
+38848C:lI101|H38858C
+38858C:lI47|H388694
+388694:lI111|H3887A4
+3887A4:lI116|H3888B4
+3888B4:lI112|H3889C4
+3889C4:lI47|H388ACC
+388ACC:lI101|H388BDC
+388BDC:lI114|H388CEC
+388CEC:lI116|H388DFC
+388DFC:lI115|H388F0C
+388F0C:lI47|H389024
+389024:lI108|H389134
+389134:lI105|H389244
+389244:lI98|H389354
+389354:lI47|H389464
+389464:lI109|H38956C
+38956C:lI110|H389664
+389664:lI101|H38975C
+38975C:lI115|H389854
+389854:lI105|H38994C
+38994C:lI97|H389A2C
+389A2C:lI47|H389B04
+389B04:lI101|H389BCC
+389BCC:lI98|H389C94
+389C94:lI105|H389D5C
+389D5C:lI110|N
+38B030:lH387DB4|H38B038
+387DB4:lI47|H387E74
+387E74:lI99|H387F3C
+387F3C:lI108|H38800C
+38800C:lI101|H3880E4
+3880E4:lI97|H3881C4
+3881C4:lI114|H3882AC
+3882AC:lI99|H38839C
+38839C:lI97|H388494
+388494:lI115|H388594
+388594:lI101|H38869C
+38869C:lI47|H3887AC
+3887AC:lI111|H3888BC
+3888BC:lI116|H3889CC
+3889CC:lI112|H388AD4
+388AD4:lI47|H388BE4
+388BE4:lI101|H388CF4
+388CF4:lI114|H388E04
+388E04:lI116|H388F14
+388F14:lI115|H38902C
+38902C:lI47|H38913C
+38913C:lI108|H38924C
+38924C:lI105|H38935C
+38935C:lI98|H38946C
+38946C:lI47|H389574
+389574:lI109|H38966C
+38966C:lI110|H389764
+389764:lI101|H38985C
+38985C:lI109|H389954
+389954:lI111|H389A34
+389A34:lI115|H389B0C
+389B0C:lI121|H389BD4
+389BD4:lI110|H389C9C
+389C9C:lI101|H389D64
+389D64:lI47|H389E1C
+389E1C:lI101|H389ED4
+389ED4:lI98|H389F84
+389F84:lI105|H38A024
+38A024:lI110|N
+38B038:lH387E7C|H38B040
+387E7C:lI47|H387F44
+387F44:lI99|H388014
+388014:lI108|H3880EC
+3880EC:lI101|H3881CC
+3881CC:lI97|H3882B4
+3882B4:lI114|H3883A4
+3883A4:lI99|H38849C
+38849C:lI97|H38859C
+38859C:lI115|H3886A4
+3886A4:lI101|H3887B4
+3887B4:lI47|H3888C4
+3888C4:lI111|H3889D4
+3889D4:lI116|H388ADC
+388ADC:lI112|H388BEC
+388BEC:lI47|H388CFC
+388CFC:lI101|H388E0C
+388E0C:lI114|H388F1C
+388F1C:lI116|H389034
+389034:lI115|H389144
+389144:lI47|H389254
+389254:lI108|H389364
+389364:lI105|H389474
+389474:lI98|H38957C
+38957C:lI47|H389674
+389674:lI109|H38976C
+38976C:lI101|H389864
+389864:lI103|H38995C
+38995C:lI97|H389A3C
+389A3C:lI99|H389B14
+389B14:lI111|H389BDC
+389BDC:lI47|H389CA4
+389CA4:lI101|H389D6C
+389D6C:lI98|H389E24
+389E24:lI105|H389EDC
+389EDC:lI110|N
+38B040:lH387F4C|H38B048
+387F4C:lI47|H38801C
+38801C:lI99|H3880F4
+3880F4:lI108|H3881D4
+3881D4:lI101|H3882BC
+3882BC:lI97|H3883AC
+3883AC:lI114|H3884A4
+3884A4:lI99|H3885A4
+3885A4:lI97|H3886AC
+3886AC:lI115|H3887BC
+3887BC:lI101|H3888CC
+3888CC:lI47|H3889DC
+3889DC:lI111|H388AE4
+388AE4:lI116|H388BF4
+388BF4:lI112|H388D04
+388D04:lI47|H388E14
+388E14:lI101|H388F24
+388F24:lI114|H38903C
+38903C:lI116|H38914C
+38914C:lI115|H38925C
+38925C:lI47|H38936C
+38936C:lI108|H38947C
+38947C:lI105|H389584
+389584:lI98|H38967C
+38967C:lI47|H389774
+389774:lI106|H38986C
+38986C:lI105|H389964
+389964:lI110|H389A44
+389A44:lI116|H389B1C
+389B1C:lI101|H389BE4
+389BE4:lI114|H389CAC
+389CAC:lI102|H389D74
+389D74:lI97|H389E2C
+389E2C:lI99|H389EE4
+389EE4:lI101|N
+38B048:lH388024|H38B050
+388024:lI47|H3880FC
+3880FC:lI99|H3881DC
+3881DC:lI108|H3882C4
+3882C4:lI101|H3883B4
+3883B4:lI97|H3884AC
+3884AC:lI114|H3885AC
+3885AC:lI99|H3886B4
+3886B4:lI97|H3887C4
+3887C4:lI115|H3888D4
+3888D4:lI101|H3889E4
+3889E4:lI47|H388AEC
+388AEC:lI111|H388BFC
+388BFC:lI116|H388D0C
+388D0C:lI112|H388E1C
+388E1C:lI47|H388F2C
+388F2C:lI101|H389044
+389044:lI114|H389154
+389154:lI116|H389264
+389264:lI115|H389374
+389374:lI47|H389484
+389484:lI108|H38958C
+38958C:lI105|H389684
+389684:lI98|H38977C
+38977C:lI47|H389874
+389874:lI105|H38996C
+38996C:lI110|H389A4C
+389A4C:lI101|H389B24
+389B24:lI116|H389BEC
+389BEC:lI115|H389CB4
+389CB4:lI47|H389D7C
+389D7C:lI101|H389E34
+389E34:lI98|H389EEC
+389EEC:lI105|H389F8C
+389F8C:lI110|N
+38B050:lH388104|H38B058
+388104:lI47|H3881E4
+3881E4:lI99|H3882CC
+3882CC:lI108|H3883BC
+3883BC:lI101|H3884B4
+3884B4:lI97|H3885B4
+3885B4:lI114|H3886BC
+3886BC:lI99|H3887CC
+3887CC:lI97|H3888DC
+3888DC:lI115|H3889EC
+3889EC:lI101|H388AF4
+388AF4:lI47|H388C04
+388C04:lI111|H388D14
+388D14:lI116|H388E24
+388E24:lI112|H388F34
+388F34:lI47|H38904C
+38904C:lI101|H38915C
+38915C:lI114|H38926C
+38926C:lI116|H38937C
+38937C:lI115|H38948C
+38948C:lI47|H389594
+389594:lI108|H38968C
+38968C:lI105|H389784
+389784:lI98|H38987C
+38987C:lI47|H389974
+389974:lI105|H389A54
+389A54:lI99|H389B2C
+389B2C:lI47|H389BF4
+389BF4:lI101|H389CBC
+389CBC:lI98|H389D84
+389D84:lI105|H389E3C
+389E3C:lI110|N
+38B058:lH3881EC|H38B060
+3881EC:lI47|H3882D4
+3882D4:lI99|H3883C4
+3883C4:lI108|H3884BC
+3884BC:lI101|H3885BC
+3885BC:lI97|H3886C4
+3886C4:lI114|H3887D4
+3887D4:lI99|H3888E4
+3888E4:lI97|H3889F4
+3889F4:lI115|H388AFC
+388AFC:lI101|H388C0C
+388C0C:lI47|H388D1C
+388D1C:lI111|H388E2C
+388E2C:lI116|H388F3C
+388F3C:lI112|H389054
+389054:lI47|H389164
+389164:lI101|H389274
+389274:lI114|H389384
+389384:lI116|H389494
+389494:lI115|H38959C
+38959C:lI47|H389694
+389694:lI108|H38978C
+38978C:lI105|H389884
+389884:lI98|H38997C
+38997C:lI47|H389A5C
+389A5C:lI104|H389B34
+389B34:lI105|H389BFC
+389BFC:lI112|H389CC4
+389CC4:lI101|H389D8C
+389D8C:lI47|H389E44
+389E44:lI101|H389EF4
+389EF4:lI98|H389F94
+389F94:lI105|H38A02C
+38A02C:lI110|N
+38B060:lH3882DC|H38B068
+3882DC:lI47|H3883CC
+3883CC:lI99|H3884C4
+3884C4:lI108|H3885C4
+3885C4:lI101|H3886CC
+3886CC:lI97|H3887DC
+3887DC:lI114|H3888EC
+3888EC:lI99|H3889FC
+3889FC:lI97|H388B04
+388B04:lI115|H388C14
+388C14:lI101|H388D24
+388D24:lI47|H388E34
+388E34:lI111|H388F44
+388F44:lI116|H38905C
+38905C:lI112|H38916C
+38916C:lI47|H38927C
+38927C:lI101|H38938C
+38938C:lI114|H38949C
+38949C:lI116|H3895A4
+3895A4:lI115|H38969C
+38969C:lI47|H389794
+389794:lI108|H38988C
+38988C:lI105|H389984
+389984:lI98|H389A64
+389A64:lI47|H389B3C
+389B3C:lI103|H389C04
+389C04:lI115|H389CCC
+389CCC:lI47|H389D94
+389D94:lI101|H389E4C
+389E4C:lI98|H389EFC
+389EFC:lI105|H389F9C
+389F9C:lI110|N
+38B068:lH3883D4|H38B070
+3883D4:lI47|H3884CC
+3884CC:lI99|H3885CC
+3885CC:lI108|H3886D4
+3886D4:lI101|H3887E4
+3887E4:lI97|H3888F4
+3888F4:lI114|H388A04
+388A04:lI99|H388B0C
+388B0C:lI97|H388C1C
+388C1C:lI115|H388D2C
+388D2C:lI101|H388E3C
+388E3C:lI47|H388F4C
+388F4C:lI111|H389064
+389064:lI116|H389174
+389174:lI112|H389284
+389284:lI47|H389394
+389394:lI101|H3894A4
+3894A4:lI114|H3895AC
+3895AC:lI116|H3896A4
+3896A4:lI115|H38979C
+38979C:lI47|H389894
+389894:lI108|H38998C
+38998C:lI105|H389A6C
+389A6C:lI98|H389B44
+389B44:lI47|H389C0C
+389C0C:lI101|H389CD4
+389CD4:lI118|H389D9C
+389D9C:lI97|H389E54
+389E54:lI47|H389F04
+389F04:lI101|H389FA4
+389FA4:lI98|H38A034
+38A034:lI105|H38A0B4
+38A0B4:lI110|N
+38B070:lH3884D4|H38B078
+3884D4:lI47|H3885D4
+3885D4:lI99|H3886DC
+3886DC:lI108|H3887EC
+3887EC:lI101|H3888FC
+3888FC:lI97|H388A0C
+388A0C:lI114|H388B14
+388B14:lI99|H388C24
+388C24:lI97|H388D34
+388D34:lI115|H388E44
+388E44:lI101|H388F54
+388F54:lI47|H38906C
+38906C:lI111|H38917C
+38917C:lI116|H38928C
+38928C:lI112|H38939C
+38939C:lI47|H3894AC
+3894AC:lI101|H3895B4
+3895B4:lI114|H3896AC
+3896AC:lI116|H3897A4
+3897A4:lI115|H38989C
+38989C:lI47|H389994
+389994:lI108|H389A74
+389A74:lI105|H389B4C
+389B4C:lI98|H389C14
+389C14:lI47|H389CDC
+389CDC:lI101|H389DA4
+389DA4:lI116|H389E5C
+389E5C:lI47|H389F0C
+389F0C:lI101|H389FAC
+389FAC:lI98|H38A03C
+38A03C:lI105|H38A0BC
+38A0BC:lI110|N
+38B078:lH3885DC|H38B080
+3885DC:lI47|H3886E4
+3886E4:lI99|H3887F4
+3887F4:lI108|H388904
+388904:lI101|H388A14
+388A14:lI97|H388B1C
+388B1C:lI114|H388C2C
+388C2C:lI99|H388D3C
+388D3C:lI97|H388E4C
+388E4C:lI115|H388F5C
+388F5C:lI101|H389074
+389074:lI47|H389184
+389184:lI111|H389294
+389294:lI116|H3893A4
+3893A4:lI112|H3894B4
+3894B4:lI47|H3895BC
+3895BC:lI101|H3896B4
+3896B4:lI114|H3897AC
+3897AC:lI116|H3898A4
+3898A4:lI115|H38999C
+38999C:lI47|H389A7C
+389A7C:lI108|H389B54
+389B54:lI105|H389C1C
+389C1C:lI98|H389CE4
+389CE4:lI47|H389DAC
+389DAC:lI101|H389E64
+389E64:lI114|H389F14
+389F14:lI108|H389FB4
+389FB4:lI95|H38A044
+38A044:lI105|H38A0C4
+38A0C4:lI110|H38A134
+38A134:lI116|H38A1A4
+38A1A4:lI101|H38A20C
+38A20C:lI114|H38A274
+38A274:lI102|H38A2DC
+38A2DC:lI97|H38A344
+38A344:lI99|H38A3AC
+38A3AC:lI101|N
+38B080:lH3886EC|H38B088
+3886EC:lI47|H3887FC
+3887FC:lI99|H38890C
+38890C:lI108|H388A1C
+388A1C:lI101|H388B24
+388B24:lI97|H388C34
+388C34:lI114|H388D44
+388D44:lI99|H388E54
+388E54:lI97|H388F64
+388F64:lI115|H38907C
+38907C:lI101|H38918C
+38918C:lI47|H38929C
+38929C:lI111|H3893AC
+3893AC:lI116|H3894BC
+3894BC:lI112|H3895C4
+3895C4:lI47|H3896BC
+3896BC:lI101|H3897B4
+3897B4:lI114|H3898AC
+3898AC:lI116|H3899A4
+3899A4:lI115|H389A84
+389A84:lI47|H389B5C
+389B5C:lI108|H389C24
+389C24:lI105|H389CEC
+389CEC:lI98|H389DB4
+389DB4:lI47|H389E6C
+389E6C:lI100|H389F1C
+389F1C:lI101|H389FBC
+389FBC:lI98|H38A04C
+38A04C:lI117|H38A0CC
+38A0CC:lI103|H38A13C
+38A13C:lI103|H38A1AC
+38A1AC:lI101|H38A214
+38A214:lI114|H38A27C
+38A27C:lI47|H38A2E4
+38A2E4:lI101|H38A34C
+38A34C:lI98|H38A3B4
+38A3B4:lI105|H38A414
+38A414:lI110|N
+38B088:lH388804|H38B090
+388804:lI47|H388914
+388914:lI99|H388A24
+388A24:lI108|H388B2C
+388B2C:lI101|H388C3C
+388C3C:lI97|H388D4C
+388D4C:lI114|H388E5C
+388E5C:lI99|H388F6C
+388F6C:lI97|H389084
+389084:lI115|H389194
+389194:lI101|H3892A4
+3892A4:lI47|H3893B4
+3893B4:lI111|H3894C4
+3894C4:lI116|H3895CC
+3895CC:lI112|H3896C4
+3896C4:lI47|H3897BC
+3897BC:lI101|H3898B4
+3898B4:lI114|H3899AC
+3899AC:lI116|H389A8C
+389A8C:lI115|H389B64
+389B64:lI47|H389C2C
+389C2C:lI108|H389CF4
+389CF4:lI105|H389DBC
+389DBC:lI98|H389E74
+389E74:lI47|H389F24
+389F24:lI99|H389FC4
+389FC4:lI114|H38A054
+38A054:lI121|H38A0D4
+38A0D4:lI112|H38A144
+38A144:lI116|H38A1B4
+38A1B4:lI111|H38A21C
+38A21C:lI47|H38A284
+38A284:lI101|H38A2EC
+38A2EC:lI98|H38A354
+38A354:lI105|H38A3BC
+38A3BC:lI110|N
+38B090:lH38891C|H38B098
+38891C:lI47|H388A2C
+388A2C:lI99|H388B34
+388B34:lI108|H388C44
+388C44:lI101|H388D54
+388D54:lI97|H388E64
+388E64:lI114|H388F74
+388F74:lI99|H38908C
+38908C:lI97|H38919C
+38919C:lI115|H3892AC
+3892AC:lI101|H3893BC
+3893BC:lI47|H3894CC
+3894CC:lI111|H3895D4
+3895D4:lI116|H3896CC
+3896CC:lI112|H3897C4
+3897C4:lI47|H3898BC
+3898BC:lI101|H3899B4
+3899B4:lI114|H389A94
+389A94:lI116|H389B6C
+389B6C:lI115|H389C34
+389C34:lI47|H389CFC
+389CFC:lI108|H389DC4
+389DC4:lI105|H389E7C
+389E7C:lI98|H389F2C
+389F2C:lI47|H389FCC
+389FCC:lI99|H38A05C
+38A05C:lI111|H38A0DC
+38A0DC:lI115|H38A14C
+38A14C:lI84|H38A1BC
+38A1BC:lI114|H38A224
+38A224:lI97|H38A28C
+38A28C:lI110|H38A2F4
+38A2F4:lI115|H38A35C
+38A35C:lI97|H38A3C4
+38A3C4:lI99|H38A41C
+38A41C:lI116|H38A46C
+38A46C:lI105|H38A4BC
+38A4BC:lI111|H38A50C
+38A50C:lI110|H38A554
+38A554:lI115|H38A59C
+38A59C:lI47|H38A5E4
+38A5E4:lI101|H38A62C
+38A62C:lI98|H38A66C
+38A66C:lI105|H38A6A4
+38A6A4:lI110|N
+38B098:lH388A34|H38B0A0
+388A34:lI47|H388B3C
+388B3C:lI99|H388C4C
+388C4C:lI108|H388D5C
+388D5C:lI101|H388E6C
+388E6C:lI97|H388F7C
+388F7C:lI114|H389094
+389094:lI99|H3891A4
+3891A4:lI97|H3892B4
+3892B4:lI115|H3893C4
+3893C4:lI101|H3894D4
+3894D4:lI47|H3895DC
+3895DC:lI111|H3896D4
+3896D4:lI116|H3897CC
+3897CC:lI112|H3898C4
+3898C4:lI47|H3899BC
+3899BC:lI101|H389A9C
+389A9C:lI114|H389B74
+389B74:lI116|H389C3C
+389C3C:lI115|H389D04
+389D04:lI47|H389DCC
+389DCC:lI108|H389E84
+389E84:lI105|H389F34
+389F34:lI98|H389FD4
+389FD4:lI47|H38A064
+38A064:lI99|H38A0E4
+38A0E4:lI111|H38A154
+38A154:lI115|H38A1C4
+38A1C4:lI84|H38A22C
+38A22C:lI105|H38A294
+38A294:lI109|H38A2FC
+38A2FC:lI101|H38A364
+38A364:lI47|H38A3CC
+38A3CC:lI101|H38A424
+38A424:lI98|H38A474
+38A474:lI105|H38A4C4
+38A4C4:lI110|N
+38B0A0:lH388B44|H38B0A8
+388B44:lI47|H388C54
+388C54:lI99|H388D64
+388D64:lI108|H388E74
+388E74:lI101|H388F84
+388F84:lI97|H38909C
+38909C:lI114|H3891AC
+3891AC:lI99|H3892BC
+3892BC:lI97|H3893CC
+3893CC:lI115|H3894DC
+3894DC:lI101|H3895E4
+3895E4:lI47|H3896DC
+3896DC:lI111|H3897D4
+3897D4:lI116|H3898CC
+3898CC:lI112|H3899C4
+3899C4:lI47|H389AA4
+389AA4:lI101|H389B7C
+389B7C:lI114|H389C44
+389C44:lI116|H389D0C
+389D0C:lI115|H389DD4
+389DD4:lI47|H389E8C
+389E8C:lI108|H389F3C
+389F3C:lI105|H389FDC
+389FDC:lI98|H38A06C
+38A06C:lI47|H38A0EC
+38A0EC:lI99|H38A15C
+38A15C:lI111|H38A1CC
+38A1CC:lI115|H38A234
+38A234:lI80|H38A29C
+38A29C:lI114|H38A304
+38A304:lI111|H38A36C
+38A36C:lI112|H38A3D4
+38A3D4:lI101|H38A42C
+38A42C:lI114|H38A47C
+38A47C:lI116|H38A4CC
+38A4CC:lI121|H38A514
+38A514:lI47|H38A55C
+38A55C:lI101|H38A5A4
+38A5A4:lI98|H38A5EC
+38A5EC:lI105|H38A634
+38A634:lI110|N
+38B0A8:lH388C5C|H38B0B0
+388C5C:lI47|H388D6C
+388D6C:lI99|H388E7C
+388E7C:lI108|H388F8C
+388F8C:lI101|H3890A4
+3890A4:lI97|H3891B4
+3891B4:lI114|H3892C4
+3892C4:lI99|H3893D4
+3893D4:lI97|H3894E4
+3894E4:lI115|H3895EC
+3895EC:lI101|H3896E4
+3896E4:lI47|H3897DC
+3897DC:lI111|H3898D4
+3898D4:lI116|H3899CC
+3899CC:lI112|H389AAC
+389AAC:lI47|H389B84
+389B84:lI101|H389C4C
+389C4C:lI114|H389D14
+389D14:lI116|H389DDC
+389DDC:lI115|H389E94
+389E94:lI47|H389F44
+389F44:lI108|H389FE4
+389FE4:lI105|H38A074
+38A074:lI98|H38A0F4
+38A0F4:lI47|H38A164
+38A164:lI99|H38A1D4
+38A1D4:lI111|H38A23C
+38A23C:lI115|H38A2A4
+38A2A4:lI78|H38A30C
+38A30C:lI111|H38A374
+38A374:lI116|H38A3DC
+38A3DC:lI105|H38A434
+38A434:lI102|H38A484
+38A484:lI105|H38A4D4
+38A4D4:lI99|H38A51C
+38A51C:lI97|H38A564
+38A564:lI116|H38A5AC
+38A5AC:lI105|H38A5F4
+38A5F4:lI111|H38A63C
+38A63C:lI110|H38A674
+38A674:lI47|H38A6AC
+38A6AC:lI101|H38A6D4
+38A6D4:lI98|H38A6EC
+38A6EC:lI105|H38A704
+38A704:lI110|N
+38B0B0:lH388D74|H38B0B8
+388D74:lI47|H388E84
+388E84:lI99|H388F94
+388F94:lI108|H3890AC
+3890AC:lI101|H3891BC
+3891BC:lI97|H3892CC
+3892CC:lI114|H3893DC
+3893DC:lI99|H3894EC
+3894EC:lI97|H3895F4
+3895F4:lI115|H3896EC
+3896EC:lI101|H3897E4
+3897E4:lI47|H3898DC
+3898DC:lI111|H3899D4
+3899D4:lI116|H389AB4
+389AB4:lI112|H389B8C
+389B8C:lI47|H389C54
+389C54:lI101|H389D1C
+389D1C:lI114|H389DE4
+389DE4:lI116|H389E9C
+389E9C:lI115|H389F4C
+389F4C:lI47|H389FEC
+389FEC:lI108|H38A07C
+38A07C:lI105|H38A0FC
+38A0FC:lI98|H38A16C
+38A16C:lI47|H38A1DC
+38A1DC:lI99|H38A244
+38A244:lI111|H38A2AC
+38A2AC:lI115|H38A314
+38A314:lI70|H38A37C
+38A37C:lI105|H38A3E4
+38A3E4:lI108|H38A43C
+38A43C:lI101|H38A48C
+38A48C:lI84|H38A4DC
+38A4DC:lI114|H38A524
+38A524:lI97|H38A56C
+38A56C:lI110|H38A5B4
+38A5B4:lI115|H38A5FC
+38A5FC:lI102|H38A644
+38A644:lI101|H38A67C
+38A67C:lI114|H38A6B4
+38A6B4:lI47|H38A6DC
+38A6DC:lI101|H38A6F4
+38A6F4:lI98|H38A70C
+38A70C:lI105|H38A71C
+38A71C:lI110|N
+38B0B8:lH388E8C|H38B0C0
+388E8C:lI47|H388F9C
+388F9C:lI99|H3890B4
+3890B4:lI108|H3891C4
+3891C4:lI101|H3892D4
+3892D4:lI97|H3893E4
+3893E4:lI114|H3894F4
+3894F4:lI99|H3895FC
+3895FC:lI97|H3896F4
+3896F4:lI115|H3897EC
+3897EC:lI101|H3898E4
+3898E4:lI47|H3899DC
+3899DC:lI111|H389ABC
+389ABC:lI116|H389B94
+389B94:lI112|H389C5C
+389C5C:lI47|H389D24
+389D24:lI101|H389DEC
+389DEC:lI114|H389EA4
+389EA4:lI116|H389F54
+389F54:lI115|H389FF4
+389FF4:lI47|H38A084
+38A084:lI108|H38A104
+38A104:lI105|H38A174
+38A174:lI98|H38A1E4
+38A1E4:lI47|H38A24C
+38A24C:lI99|H38A2B4
+38A2B4:lI111|H38A31C
+38A31C:lI115|H38A384
+38A384:lI69|H38A3EC
+38A3EC:lI118|H38A444
+38A444:lI101|H38A494
+38A494:lI110|H38A4E4
+38A4E4:lI116|H38A52C
+38A52C:lI68|H38A574
+38A574:lI111|H38A5BC
+38A5BC:lI109|H38A604
+38A604:lI97|H38A64C
+38A64C:lI105|H38A684
+38A684:lI110|H38A6BC
+38A6BC:lI47|H38A6E4
+38A6E4:lI101|H38A6FC
+38A6FC:lI98|H38A714
+38A714:lI105|H38A724
+38A724:lI110|N
+38B0C0:lH388FA4|H38B0C8
+388FA4:lI47|H3890BC
+3890BC:lI99|H3891CC
+3891CC:lI108|H3892DC
+3892DC:lI101|H3893EC
+3893EC:lI97|H3894FC
+3894FC:lI114|H389604
+389604:lI99|H3896FC
+3896FC:lI97|H3897F4
+3897F4:lI115|H3898EC
+3898EC:lI101|H3899E4
+3899E4:lI47|H389AC4
+389AC4:lI111|H389B9C
+389B9C:lI116|H389C64
+389C64:lI112|H389D2C
+389D2C:lI47|H389DF4
+389DF4:lI101|H389EAC
+389EAC:lI114|H389F5C
+389F5C:lI116|H389FFC
+389FFC:lI115|H38A08C
+38A08C:lI47|H38A10C
+38A10C:lI108|H38A17C
+38A17C:lI105|H38A1EC
+38A1EC:lI98|H38A254
+38A254:lI47|H38A2BC
+38A2BC:lI99|H38A324
+38A324:lI111|H38A38C
+38A38C:lI115|H38A3F4
+38A3F4:lI69|H38A44C
+38A44C:lI118|H38A49C
+38A49C:lI101|H38A4EC
+38A4EC:lI110|H38A534
+38A534:lI116|H38A57C
+38A57C:lI47|H38A5C4
+38A5C4:lI101|H38A60C
+38A60C:lI98|H38A654
+38A654:lI105|H38A68C
+38A68C:lI110|N
+38B0C8:lH3890C4|H38B0D0
+3890C4:lI47|H3891D4
+3891D4:lI99|H3892E4
+3892E4:lI108|H3893F4
+3893F4:lI101|H389504
+389504:lI97|H38960C
+38960C:lI114|H389704
+389704:lI99|H3897FC
+3897FC:lI97|H3898F4
+3898F4:lI115|H3899EC
+3899EC:lI101|H389ACC
+389ACC:lI47|H389BA4
+389BA4:lI111|H389C6C
+389C6C:lI116|H389D34
+389D34:lI112|H389DFC
+389DFC:lI47|H389EB4
+389EB4:lI101|H389F64
+389F64:lI114|H38A004
+38A004:lI116|H38A094
+38A094:lI115|H38A114
+38A114:lI47|H38A184
+38A184:lI108|H38A1F4
+38A1F4:lI105|H38A25C
+38A25C:lI98|H38A2C4
+38A2C4:lI47|H38A32C
+38A32C:lI99|H38A394
+38A394:lI111|H38A3FC
+38A3FC:lI109|H38A454
+38A454:lI112|H38A4A4
+38A4A4:lI105|H38A4F4
+38A4F4:lI108|H38A53C
+38A53C:lI101|H38A584
+38A584:lI114|H38A5CC
+38A5CC:lI47|H38A614
+38A614:lI101|H38A65C
+38A65C:lI98|H38A694
+38A694:lI105|H38A6C4
+38A6C4:lI110|N
+38B0D0:lH3891DC|H38B0D8
+3891DC:lI47|H3892EC
+3892EC:lI99|H3893FC
+3893FC:lI108|H38950C
+38950C:lI101|H389614
+389614:lI97|H38970C
+38970C:lI114|H389804
+389804:lI99|H3898FC
+3898FC:lI97|H3899F4
+3899F4:lI115|H389AD4
+389AD4:lI101|H389BAC
+389BAC:lI47|H389C74
+389C74:lI111|H389D3C
+389D3C:lI116|H389E04
+389E04:lI112|H389EBC
+389EBC:lI47|H389F6C
+389F6C:lI101|H38A00C
+38A00C:lI114|H38A09C
+38A09C:lI116|H38A11C
+38A11C:lI115|H38A18C
+38A18C:lI47|H38A1FC
+38A1FC:lI108|H38A264
+38A264:lI105|H38A2CC
+38A2CC:lI98|H38A334
+38A334:lI47|H38A39C
+38A39C:lI97|H38A404
+38A404:lI115|H38A45C
+38A45C:lI110|H38A4AC
+38A4AC:lI49|H38A4FC
+38A4FC:lI47|H38A544
+38A544:lI101|H38A58C
+38A58C:lI98|H38A5D4
+38A5D4:lI105|H38A61C
+38A61C:lI110|N
+38B0D8:lH3892F4|H38B0E0
+3892F4:lI47|H389404
+389404:lI99|H389514
+389514:lI108|H38961C
+38961C:lI101|H389714
+389714:lI97|H38980C
+38980C:lI114|H389904
+389904:lI99|H3899FC
+3899FC:lI97|H389ADC
+389ADC:lI115|H389BB4
+389BB4:lI101|H389C7C
+389C7C:lI47|H389D44
+389D44:lI111|H389E0C
+389E0C:lI116|H389EC4
+389EC4:lI112|H389F74
+389F74:lI47|H38A014
+38A014:lI101|H38A0A4
+38A0A4:lI114|H38A124
+38A124:lI116|H38A194
+38A194:lI115|H38A204
+38A204:lI47|H38A26C
+38A26C:lI108|H38A2D4
+38A2D4:lI105|H38A33C
+38A33C:lI98|H38A3A4
+38A3A4:lI47|H38A40C
+38A40C:lI97|H38A464
+38A464:lI112|H38A4B4
+38A4B4:lI112|H38A504
+38A504:lI109|H38A54C
+38A54C:lI111|H38A594
+38A594:lI110|H38A5DC
+38A5DC:lI47|H38A624
+38A624:lI101|H38A664
+38A664:lI98|H38A69C
+38A69C:lI105|H38A6CC
+38A6CC:lI110|N
+38B0E0:lH38AA88|H38B0E8
+38AA88:lI47|H38AA90
+38AA90:lI104|H38AA98
+38AA98:lI111|H38AAA0
+38AAA0:lI109|H38AAA8
+38AAA8:lI101|H38AAB0
+38AAB0:lI47|H38AAB8
+38AAB8:lI115|H38AAC0
+38AAC0:lI105|H38AAC8
+38AAC8:lI114|H38AAD0
+38AAD0:lI105|H38AAD8
+38AAD8:lI47|H38AAE0
+38AAE0:lI101|H38AAE8
+38AAE8:lI114|H38AAF0
+38AAF0:lI108|H38AAF8
+38AAF8:lI97|H38AB00
+38AB00:lI110|H38AB08
+38AB08:lI103|N
+38B0E8:lH38AB1C|H38B0F0
+38AB1C:lI47|H38AB2C
+38AB2C:lI104|H38AB4C
+38AB4C:lI111|H38AB74
+38AB74:lI109|H38ABA4
+38ABA4:lI101|H38ABC4
+38ABC4:lI47|H38ABE4
+38ABE4:lI115|H38AC04
+38AC04:lI105|H38AC24
+38AC24:lI114|H38AC3C
+38AC3C:lI105|H38AC44
+38AC44:lI47|H38AC4C
+38AC4C:lI116|H38AC54
+38AC54:lI111|H38AC5C
+38AC5C:lI111|H38AC64
+38AC64:lI108|H38AC6C
+38AC6C:lI115|H38AC74
+38AC74:lI47|H38AC7C
+38AC7C:lI100|H38AC84
+38AC84:lI105|H38AC8C
+38AC8C:lI115|H38AC94
+38AC94:lI116|H38AC9C
+38AC9C:lI101|H38ACA4
+38ACA4:lI108|H38ACAC
+38ACAC:lI47|H38ACB4
+38ACB4:lI101|H38ACBC
+38ACBC:lI98|H38ACC4
+38ACC4:lI105|H38ACCC
+38ACCC:lI110|N
+38B0F0:lH38B0F8|N
+38B0F8:lI47|H38B100
+38B100:lI104|H38B108
+38B108:lI111|H38B110
+38B110:lI109|H38B118
+38B118:lI101|H38B120
+38B120:lI47|H38B128
+38B128:lI115|H38B130
+38B130:lI105|H38B138
+38B138:lI114|H38B140
+38B140:lI105|H38B148
+38B148:lI47|H38B150
+38B150:lI79|H38B158
+38B158:lI84|H38B160
+38B160:lI80|H38B168
+38B168:lI47|H38B170
+38B170:lI103|H38B178
+38B178:lI112|H38B180
+38B180:lI114|H38B188
+38B188:lI115|H38B190
+38B190:lI95|H38B198
+38B198:lI116|H38B1A0
+38B1A0:lI114|H38B1A8
+38B1A8:lI97|H38B1B0
+38B1B0:lI99|H38B1B8
+38B1B8:lI101|H38B1C0
+38B1C0:lI47|H38B1C8
+38B1C8:lI106|H38B1D0
+38B1D0:lI97|H38B1D8
+38B1D8:lI110|N
+3873BC:lI47|H3873CC
+3873CC:lI99|H3873E4
+3873E4:lI108|H3873FC
+3873FC:lI101|H38741C
+38741C:lI97|H387444
+387444:lI114|H387474
+387474:lI99|H3874AC
+3874AC:lI97|H3874EC
+3874EC:lI115|H387534
+387534:lI101|H387584
+387584:lI47|H3875DC
+3875DC:lI111|H38763C
+38763C:lI116|H3876A4
+3876A4:lI112|H387714
+387714:lI47|H38778C
+38778C:lI101|H38780C
+38780C:lI114|H387894
+387894:lI116|H387924
+387924:lI115|N
+=proc_dictionary:<0.19.0>
+H370244
+H370250
+=proc_stack:<0.19.0>
+36b45c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A11:supervisor_bridge
+y3:H36B17C
+y4:P<0.19.0>
+y5:P<0.9.0>
+36b478:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37025C
+=proc_heap:<0.19.0>
+36B17C:t5:A5:state,A8:user_sup,P<0.21.0>,P<0.21.0>,H370238
+370238:t2:P<0.19.0>,A8:user_sup
+37025C:lAA:gen_server|H37027C
+37027C:lP<0.9.0>|H37028C
+37028C:lP<0.9.0>|H370294
+370294:lA11:supervisor_bridge|H37029C
+37029C:lH3702A4|H3702AC
+3702A4:lA8:user_sup|H3702B4
+3702B4:lN|H3702BC
+3702BC:lA4:self|N
+3702AC:lN|N
+370244:t2:AD:$initial_call,H370264
+370264:t3:A3:gen,A7:init_it,H37025C
+370250:t2:AA:$ancestors,H370274
+370274:lAA:kernel_sup|H370284
+370284:lP<0.8.0>|N
+=proc_dictionary:<0.20.0>
+H36F8A8
+=proc_stack:<0.20.0>
+36a714:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:H36F8C4
+y3:P<0.21.0>
+y4:P<0.22.0>
+y5:p<0.72>
+y6:p<0.72>
+=proc_heap:<0.20.0>
+36F8C4:t4:I3,I2,P<0.22.0>,H36F8F0
+36F8F0:lH36F900|H36F910
+36F900:t3:I1,P<0.21.0>,H36F920
+36F920:t0:
+36F910:lH36F924|N
+36F924:t3:I2,P<0.22.0>,H36F93C
+36F93C:t3:A5:shell,A5:start,N
+36F8A8:t2:A3:eof,A5:false
+=proc_dictionary:<0.21.0>
+H3709DC
+H3709D0
+H3709F8
+=proc_stack:<0.21.0>
+370d1c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:A9:undefined
+y2:P<0.20.0>
+=proc_heap:<0.21.0>
+3709DC:t2:AB:line_buffer,N
+3709D0:t2:AB:kill_buffer,N
+3709F8:t2:A9:read_mode,A4:list
+=proc_dictionary:<0.22.0>
+H370D44
+H370D60
+H370D7C
+H370D38
+=proc_stack:<0.22.0>
+374a88:SReturn addr 0x2CE718 (group:get_chars_loop/7 + 80)
+y0:N
+y1:N
+y2:A8:infinity
+y3:H374A00
+y4:P<0.20.0>
+y5:H374A28
+374aa4:SReturn addr 0x2CDC18 (group:io_request/5 + 48)
+y0:H37499C
+y1:A6:io_lib
+y2:A9:get_until
+y3:H3748B8
+y4:P<0.20.0>
+y5:A5:start
+374ac0:SReturn addr 0x2CDB2C (group:server_loop/3 + 372)
+y0:P<0.49.0>
+y1:P<0.22.0>
+374acc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:P<0.25.0>
+y2:P<0.20.0>
+=proc_heap:<0.22.0>
+374A00:t4:A4:line,H37499C,H3749A4,A4:none
+3749A4:t2:N,N
+37499C:lI50|H374994
+374994:lI62|H37498C
+37498C:lI32|N
+374A28:t4:A5:stack,H370D58,H374A24,N
+374A24:t0:
+370D58:lH370D74|N
+370D74:lI99|H370D88
+370D88:lI114|H370D90
+370D90:lI97|H370D98
+370D98:lI115|H370DA0
+370DA0:lI104|H370DA8
+370DA8:lI100|H370DB0
+370DB0:lI117|H370DB8
+370DB8:lI109|H370DC0
+370DC0:lI112|H370DC8
+370DC8:lI95|H370DD0
+370DD0:lI118|H370DD8
+370DD8:lI105|H370DE0
+370DE0:lI101|H370DE8
+370DE8:lI119|H370DF0
+370DF0:lI101|H370DF8
+370DF8:lI114|H370E00
+370E00:lI58|H370E08
+370E08:lI115|H370E10
+370E10:lI116|H370E18
+370E18:lI97|H370E20
+370E20:lI114|H370E28
+370E28:lI116|H370E30
+370E30:lI40|H370E38
+370E38:lI41|H370E40
+370E40:lI46|H370E48
+370E48:lI10|N
+3748B8:t3:A8:erl_scan,A6:tokens,H3748B0
+3748B0:lI1|N
+370D44:t2:AB:line_buffer,H370D58
+370D60:t2:A5:shell,P<0.25.0>
+370D7C:t2:AB:kill_buffer,N
+370D38:t2:A9:read_mode,A4:list
+=proc_dictionary:<0.23.0>
+H376464
+H376448
+=proc_stack:<0.23.0>
+376754:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AD:kernel_config
+y3:N
+y4:P<0.23.0>
+y5:P<0.9.0>
+376770:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H376418
+=proc_heap:<0.23.0>
+376418:lAA:gen_server|H376410
+376410:lP<0.9.0>|H376408
+376408:lP<0.9.0>|H376400
+376400:lAD:kernel_config|H3763F8
+3763F8:lN|H3763F0
+3763F0:lN|N
+376464:t2:AD:$initial_call,H376454
+376454:t3:A3:gen,A7:init_it,H376418
+376448:t2:AA:$ancestors,H376440
+376440:lAA:kernel_sup|H376420
+376420:lP<0.8.0>|N
+=proc_dictionary:<0.24.0>
+H3705E0
+H3705EC
+=proc_stack:<0.24.0>
+36f38c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36F018
+y4:AF:kernel_safe_sup
+y5:P<0.9.0>
+36f3a8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37063C
+=proc_heap:<0.24.0>
+36F018:tA:A5:state,H370644,AB:one_for_one,H36F044,N,I4,I3600,N,A6:kernel,A4:safe
+36F044:lH36F04C|N
+36F04C:t8:A5:child,P<0.31.0>,A17:inet_gethost_native_sup,H370650,A9:temporary,I1000,A6:worker,H370660
+370660:lA13:inet_gethost_native|N
+370650:t3:A13:inet_gethost_native,AA:start_link,N
+370644:t2:A5:local,AF:kernel_safe_sup
+37063C:lAA:gen_server|H3706AC
+3706AC:lP<0.9.0>|H3706BC
+3706BC:lP<0.9.0>|H3706C4
+3706C4:lH3706CC|H3706D8
+3706CC:t2:A5:local,AF:kernel_safe_sup
+3706D8:lAA:supervisor|H3706E0
+3706E0:lH3706E8|H3706F8
+3706E8:t3:H370644,A6:kernel,A4:safe
+3706F8:lN|N
+3705E0:t2:AD:$initial_call,H370668
+370668:t3:A3:gen,A7:init_it,H37063C
+3705EC:t2:AA:$ancestors,H370678
+370678:lAA:kernel_sup|H3706B4
+3706B4:lP<0.8.0>|N
+=proc_dictionary:<0.25.0>
+H36E304
+H36E31C
+=proc_stack:<0.25.0>
+36e610:SReturn addr 0x2E06FC (shell:server_loop/6 + 140)
+y0:N
+y1:N
+y2:P<0.27.0>
+y3:P<0.49.0>
+36e624:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:I2
+y3:I1
+y4:N
+y5:N
+y6:N
+y7:I20
+y8:I20
+=proc_heap:<0.25.0>
+36E304:t2:H36E2F8,H36E2A8
+36E2A8:lH36E2B0|N
+36E2B0:t4:A4:call,I1,H36E2C4,N
+36E2C4:t4:A6:remote,I1,H36E2D8,H36E2E8
+36E2E8:t3:A4:atom,I1,A5:start
+36E2D8:t3:A4:atom,I1,A10:crashdump_viewer
+36E2F8:t2:A7:command,I1
+36E31C:t2:H36E310,A2:ok
+36E310:t2:A6:result,I1
+=proc_stack:<0.27.0>
+3bda3c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:P<0.25.0>
+=proc_heap:<0.27.0>
+=proc_dictionary:<0.31.0>
+H36DA24
+H36DA08
+=proc_stack:<0.31.0>
+36dcd4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A11:supervisor_bridge
+y3:H36DB68
+y4:A17:inet_gethost_native_sup
+y5:P<0.24.0>
+36dcf0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36D9D0
+=proc_heap:<0.31.0>
+36DB68:t5:A5:state,A13:inet_gethost_native,P<0.32.0>,P<0.32.0>,H36D994
+36D994:t2:A5:local,A17:inet_gethost_native_sup
+36D9D0:lAA:gen_server|H36D9C8
+36D9C8:lP<0.24.0>|H36D9C0
+36D9C0:lP<0.24.0>|H36D970
+36D970:lH36D980|H36D9B8
+36D980:t2:A5:local,A17:inet_gethost_native_sup
+36D9B8:lA11:supervisor_bridge|H36D978
+36D978:lH36D9A8|H36D9B0
+36D9A8:lA13:inet_gethost_native|H36D9A0
+36D9A0:lN|H36D98C
+36D98C:lH36D994|N
+36D9B0:lN|N
+36DA24:t2:AD:$initial_call,H36DA14
+36DA14:t3:A3:gen,A7:init_it,H36D9D0
+36DA08:t2:AA:$ancestors,H36DA00
+36DA00:lAF:kernel_safe_sup|H36D9E0
+36D9E0:lAA:kernel_sup|H36D9D8
+36D9D8:lP<0.8.0>|N
+=proc_dictionary:<0.32.0>
+H36CFD4
+H36D0BC
+=proc_stack:<0.32.0>
+36d12c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H36CF18
+=proc_heap:<0.32.0>
+36CF18:t8:A5:state,p<0.105>,I8000,I11,I12,P<0.31.0>,I4,H36CEF0
+36CEF0:t9:AA:statistics,I0,I0,I0,I0,I0,I0,I0,I0
+36CFD4:t2:A3:rid,I1
+36D0BC:t2:AC:num_requests,I0
+=proc_dictionary:<0.33.0>
+H3905C4
+H3905D0
+=proc_stack:<0.33.0>
+3ceee4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A7:webtool
+y3:H3C8570
+y4:A8:web_tool
+y5:P<0.33.0>
+3cef00:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3905FC
+=proc_heap:<0.33.0>
+3C8570:t6:A5:state,H3905EC,I13,P<0.41.0>,H3905F4,H3C85D4
+3C85D4:lA10:crashdump_viewer|N
+3905F4:lH390650|H39065C
+390650:t2:A4:port,I8888
+39065C:lH3906C8|H3906D4
+3906C8:t2:AC:bind_address,H390760
+390760:t4:I127,I0,I0,I1
+3906D4:lH390774|H390780
+390774:t2:AB:server_name,H39082C
+39082C:lI108|H390908
+390908:lI111|H3909DC
+3909DC:lI99|H390AC0
+390AC0:lI97|H390B98
+390B98:lI108|H390C78
+390C78:lI104|H390D58
+390D58:lI111|H390E2C
+390E2C:lI115|H390F10
+390F10:lI116|N
+390780:lH390834|H390840
+390834:t2:AE:max_header_siz,I1024
+390840:lH390910|H39091C
+390910:t2:A11:max_header_action,A8:reply414
+39091C:lH3909E4|H3909F0
+3909E4:t2:A8:com_type,A7:ip_comm
+3909F0:lH390AC8|H390AD4
+390AC8:t2:A7:modules,H390BA0
+390BA0:lA9:mod_alias|H390C80
+390C80:lA8:mod_auth|H390D60
+390D60:lA7:mod_esi|H390E34
+390E34:lAB:mod_actions|H390F18
+390F18:lA7:mod_cgi|H390FF4
+390FF4:lAB:mod_include|H3910D8
+3910D8:lA7:mod_dir|H3911B4
+3911B4:lA7:mod_get|H3912A0
+3912A0:lA8:mod_head|H39139C
+39139C:lA7:mod_log|H3914A0
+3914A0:lAC:mod_disk_log|N
+390AD4:lH390BA8|H390BB4
+390BA8:t2:AF:directory_index,H390C88
+390C88:lH390D68|N
+390D68:lI105|H390E3C
+390E3C:lI110|H390F20
+390F20:lI100|H390FFC
+390FFC:lI101|H3910E0
+3910E0:lI120|H3911BC
+3911BC:lI46|H3912A8
+3912A8:lI104|H3913A4
+3913A4:lI116|H3914A8
+3914A8:lI109|H39159C
+39159C:lI108|N
+390BB4:lH390C90|N
+390C90:t2:AC:default_type,H390D70
+390D70:lI116|H390E44
+390E44:lI101|H390F28
+390F28:lI120|H391004
+391004:lI116|H3910E8
+3910E8:lI47|H3911C4
+3911C4:lI112|H3912B0
+3912B0:lI108|H3913AC
+3913AC:lI97|H3914B0
+3914B0:lI105|H3915A4
+3915A4:lI110|N
+3905EC:lI47|H390648
+390648:lI99|H3906C0
+3906C0:lI108|H390758
+390758:lI101|H390824
+390824:lI97|H390900
+390900:lI114|H3909D4
+3909D4:lI99|H390AB8
+390AB8:lI97|H390B90
+390B90:lI115|H390C70
+390C70:lI101|H390D50
+390D50:lI47|H390E24
+390E24:lI111|H390F08
+390F08:lI116|H390FEC
+390FEC:lI112|H3910D0
+3910D0:lI47|H3911AC
+3911AC:lI101|H391298
+391298:lI114|H391394
+391394:lI116|H391498
+391498:lI115|H391594
+391594:lI47|H391680
+391680:lI108|H39175C
+39175C:lI105|H391840
+391840:lI98|H391924
+391924:lI47|H3919F8
+3919F8:lI119|H391AC4
+391AC4:lI101|H391B90
+391B90:lI98|H391C54
+391C54:lI116|H391D18
+391D18:lI111|H391DD4
+391DD4:lI111|H391E90
+391E90:lI108|H391F5C
+391F5C:lI47|H392030
+392030:lI112|H3920EC
+3920EC:lI114|H3921A8
+3921A8:lI105|H392264
+392264:lI118|N
+3905FC:lAA:gen_server|H390664
+390664:lP<0.27.0>|H3906DC
+3906DC:lA4:self|H390788
+390788:lH390848|H390854
+390848:t2:A5:local,A8:web_tool
+390854:lA7:webtool|H390924
+390924:lH3909F8|H390A04
+3909F8:t2:H3905EC,H3905F4
+390A04:lN|N
+3905C4:t2:AD:$initial_call,H390614
+390614:t3:A3:gen,A7:init_it,H3905FC
+3905D0:t2:AA:$ancestors,H390624
+390624:lP<0.27.0>|N
+=proc_dictionary:<0.41.0>
+H36DF0C
+H36DF18
+=proc_stack:<0.41.0>
+36eda4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36EA3C
+y4:A6:websup
+y5:P<0.33.0>
+36edc0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36DF24
+=proc_heap:<0.41.0>
+36EA3C:tA:A5:state,H36DF2C,AB:one_for_one,H36EA68,N,I100,I10,N,AB:webtool_sup,N
+36EA68:lH36EA70|N
+36EA70:t8:A5:child,P<0.48.0>,H36DF38,H36DF44,A9:permanent,I100,A6:worker,H36DF54
+36DF54:lA10:crashdump_viewer|N
+36DF44:t3:A10:crashdump_viewer,AA:start_link,N
+36DF38:t2:A5:local,A17:crashdump_viewer_server
+36DF2C:t2:A5:local,A6:websup
+36DF24:lAA:gen_server|H36DF84
+36DF84:lP<0.33.0>|H36DF94
+36DF94:lP<0.33.0>|H36DF9C
+36DF9C:lH36DFA4|H36DFB0
+36DFA4:t2:A5:local,A6:websup
+36DFB0:lAA:supervisor|H36DFB8
+36DFB8:lH36DFC0|H36DFD0
+36DFC0:t3:H36DF2C,AB:webtool_sup,N
+36DFD0:lN|N
+36DF0C:t2:AD:$initial_call,H36DF6C
+36DF6C:t3:A3:gen,A7:init_it,H36DF24
+36DF18:t2:AA:$ancestors,H36DF7C
+36DF7C:lA8:web_tool|H36DF8C
+36DF8C:lP<0.27.0>|N
+=proc_dictionary:<0.43.0>
+H39D940
+H39D94C
+=proc_stack:<0.43.0>
+3a42ac:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H3A3E34
+y4:A1A:httpd_sup__127_0_0_1__8888
+y5:P<0.33.0>
+3a42c8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H39D9CC
+=proc_heap:<0.43.0>
+3A3E34:tA:A5:state,H39D960,AB:one_for_one,H3A3E20,N,I0,I1,N,A9:httpd_sup,H39DA88
+39DA88:lA9:undefined|H39DB18
+39DB18:lH39DB50|H39DB58
+39DB50:lH39DB88|H39DB94
+39DB88:t2:AB:server_root,H39DBD0
+39DBD0:lI47|H39DC0C
+39DC0C:lI99|H39DC50
+39DC50:lI108|H39DC84
+39DC84:lI101|H39DCC4
+39DCC4:lI97|H39DD28
+39DD28:lI114|H39DD90
+39DD90:lI99|H39DE00
+39DE00:lI97|H39DE78
+39DE78:lI115|H39DF00
+39DF00:lI101|H39DF90
+39DF90:lI47|H39E038
+39E038:lI111|H39E0E8
+39E0E8:lI116|H39E1AC
+39E1AC:lI112|H39E288
+39E288:lI47|H39E37C
+39E37C:lI101|H39E478
+39E478:lI114|H39E580
+39E580:lI116|H39E69C
+39E69C:lI115|H39E7B0
+39E7B0:lI47|H39E8C4
+39E8C4:lI108|H39E9D8
+39E9D8:lI105|H39EACC
+39EACC:lI98|H39EBC0
+39EBC0:lI47|H39ECB4
+39ECB4:lI119|H39EDA8
+39EDA8:lI101|H39EE7C
+39EE7C:lI98|H39EF50
+39EF50:lI116|H39F02C
+39F02C:lI111|H39F110
+39F110:lI111|H39F1E4
+39F1E4:lI108|H39F2B0
+39F2B0:lI47|H39F36C
+39F36C:lI112|H39F430
+39F430:lI114|H39F4FC
+39F4FC:lI105|H39F5C0
+39F5C0:lI118|H39F694
+39F694:lI47|H39F768
+39F768:lI114|H39F83C
+39F83C:lI111|H39F920
+39F920:lI111|H39F9FC
+39F9FC:lI116|N
+39DB94:lH39DBD8|H39DBE4
+39DBD8:t2:AD:document_root,H39DC14
+39DC14:lI47|H39DC58
+39DC58:lI99|H39DC8C
+39DC8C:lI108|H39DCCC
+39DCCC:lI101|H39DD30
+39DD30:lI97|H39DD98
+39DD98:lI114|H39DE08
+39DE08:lI99|H39DE80
+39DE80:lI97|H39DF08
+39DF08:lI115|H39DF98
+39DF98:lI101|H39E040
+39E040:lI47|H39E0F0
+39E0F0:lI111|H39E1B4
+39E1B4:lI116|H39E290
+39E290:lI112|H39E384
+39E384:lI47|H39E480
+39E480:lI101|H39E588
+39E588:lI114|H39E6A4
+39E6A4:lI116|H39E7B8
+39E7B8:lI115|H39E8CC
+39E8CC:lI47|H39E9E0
+39E9E0:lI108|H39EAD4
+39EAD4:lI105|H39EBC8
+39EBC8:lI98|H39ECBC
+39ECBC:lI47|H39EDB0
+39EDB0:lI119|H39EE84
+39EE84:lI101|H39EF58
+39EF58:lI98|H39F034
+39F034:lI116|H39F118
+39F118:lI111|H39F1EC
+39F1EC:lI111|H39F2B8
+39F2B8:lI108|H39F374
+39F374:lI47|H39F438
+39F438:lI112|H39F504
+39F504:lI114|H39F5C8
+39F5C8:lI105|H39F69C
+39F69C:lI118|H39F770
+39F770:lI47|H39F844
+39F844:lI114|H39F928
+39F928:lI111|H39FA04
+39FA04:lI111|H39FAD8
+39FAD8:lI116|H39FBB4
+39FBB4:lI47|H39FC80
+39FC80:lI100|H39FD44
+39FD44:lI111|H39FE10
+39FE10:lI99|N
+39DBE4:lH39DC1C|H39DC28
+39DC1C:t2:AA:mime_types,H39DC60
+39DC60:lH39DC94|H39DCA0
+39DC94:t2:H39DCD4,H39DCDC
+39DCDC:lI120|H39DD40
+39DD40:lI45|H39DDA8
+39DDA8:lI119|H39DE10
+39DE10:lI111|H39DE88
+39DE88:lI114|H39DF10
+39DF10:lI108|H39DFA0
+39DFA0:lI100|H39E048
+39E048:lI47|H39E0F8
+39E0F8:lI120|H39E1BC
+39E1BC:lI45|H39E298
+39E298:lI118|H39E38C
+39E38C:lI114|H39E488
+39E488:lI109|H39E590
+39E590:lI108|N
+39DCD4:lI119|H39DD38
+39DD38:lI114|H39DDA0
+39DDA0:lI108|N
+39DCA0:lH39DCE4|H39DCF0
+39DCE4:t2:H39DD48,H39DD50
+39DD50:lI120|H39DDB8
+39DDB8:lI45|H39DE20
+39DE20:lI119|H39DE98
+39DE98:lI111|H39DF18
+39DF18:lI114|H39DFA8
+39DFA8:lI108|H39E050
+39E050:lI100|H39E100
+39E100:lI47|H39E1C4
+39E1C4:lI120|H39E2A0
+39E2A0:lI45|H39E394
+39E394:lI118|H39E490
+39E490:lI114|H39E598
+39E598:lI109|H39E6AC
+39E6AC:lI108|N
+39DD48:lI118|H39DDB0
+39DDB0:lI114|H39DE18
+39DE18:lI109|H39DE90
+39DE90:lI108|N
+39DCF0:lH39DD58|H39DD64
+39DD58:t2:H39DDC0,H39DDC8
+39DDC8:lI120|H39DE30
+39DE30:lI45|H39DEA8
+39DEA8:lI99|H39DF20
+39DF20:lI111|H39DFB0
+39DFB0:lI110|H39E058
+39E058:lI102|H39E108
+39E108:lI101|H39E1CC
+39E1CC:lI114|H39E2A8
+39E2A8:lI101|H39E39C
+39E39C:lI110|H39E498
+39E498:lI99|H39E5A0
+39E5A0:lI101|H39E6B4
+39E6B4:lI47|H39E7C0
+39E7C0:lI120|H39E8D4
+39E8D4:lI45|H39E9E8
+39E9E8:lI99|H39EADC
+39EADC:lI111|H39EBD0
+39EBD0:lI111|H39ECC4
+39ECC4:lI108|H39EDB8
+39EDB8:lI116|H39EE8C
+39EE8C:lI97|H39EF60
+39EF60:lI108|H39F03C
+39F03C:lI107|N
+39DDC0:lI105|H39DE28
+39DE28:lI99|H39DEA0
+39DEA0:lI101|N
+39DD64:lH39DDD0|H39DDDC
+39DDD0:t2:H39DE38,H39DE40
+39DE40:lI118|H39DEB8
+39DEB8:lI105|H39DF30
+39DF30:lI100|H39DFC0
+39DFC0:lI101|H39E068
+39E068:lI111|H39E110
+39E110:lI47|H39E1D4
+39E1D4:lI120|H39E2B0
+39E2B0:lI45|H39E3A4
+39E3A4:lI115|H39E4A0
+39E4A0:lI103|H39E5A8
+39E5A8:lI105|H39E6BC
+39E6BC:lI45|H39E7C8
+39E7C8:lI109|H39E8DC
+39E8DC:lI111|H39E9F0
+39E9F0:lI118|H39EAE4
+39EAE4:lI105|H39EBD8
+39EBD8:lI101|N
+39DE38:lI109|H39DEB0
+39DEB0:lI111|H39DF28
+39DF28:lI118|H39DFB8
+39DFB8:lI105|H39E060
+39E060:lI101|N
+39DDDC:lH39DE48|H39DE54
+39DE48:t2:H39DEC0,H39DEC8
+39DEC8:lI118|H39DF40
+39DF40:lI105|H39DFD0
+39DFD0:lI100|H39E070
+39E070:lI101|H39E118
+39E118:lI111|H39E1DC
+39E1DC:lI47|H39E2B8
+39E2B8:lI120|H39E3AC
+39E3AC:lI45|H39E4A8
+39E4A8:lI109|H39E5B0
+39E5B0:lI115|H39E6C4
+39E6C4:lI118|H39E7D0
+39E7D0:lI105|H39E8E4
+39E8E4:lI100|H39E9F8
+39E9F8:lI101|H39EAEC
+39EAEC:lI111|N
+39DEC0:lI97|H39DF38
+39DF38:lI118|H39DFC8
+39DFC8:lI105|N
+39DE54:lH39DED0|H39DEDC
+39DED0:t2:H39DF48,H39DF50
+39DF50:lI118|H39DFE0
+39DFE0:lI105|H39E078
+39E078:lI100|H39E120
+39E120:lI101|H39E1E4
+39E1E4:lI111|H39E2C0
+39E2C0:lI47|H39E3B4
+39E3B4:lI113|H39E4B0
+39E4B0:lI117|H39E5B8
+39E5B8:lI105|H39E6CC
+39E6CC:lI99|H39E7D8
+39E7D8:lI107|H39E8EC
+39E8EC:lI116|H39EA00
+39EA00:lI105|H39EAF4
+39EAF4:lI109|H39EBE0
+39EBE0:lI101|N
+39DF48:lI113|H39DFD8
+39DFD8:lI116|N
+39DEDC:lH39DF58|H39DF64
+39DF58:t2:H39DFE8,H39DFF0
+39DFF0:lI118|H39E088
+39E088:lI105|H39E130
+39E130:lI100|H39E1EC
+39E1EC:lI101|H39E2C8
+39E2C8:lI111|H39E3BC
+39E3BC:lI47|H39E4B8
+39E4B8:lI113|H39E5C0
+39E5C0:lI117|H39E6D4
+39E6D4:lI105|H39E7E0
+39E7E0:lI99|H39E8F4
+39E8F4:lI107|H39EA08
+39EA08:lI116|H39EAFC
+39EAFC:lI105|H39EBE8
+39EBE8:lI109|H39ECCC
+39ECCC:lI101|N
+39DFE8:lI109|H39E080
+39E080:lI111|H39E128
+39E128:lI118|N
+39DF64:lH39DFF8|H39E004
+39DFF8:t2:H39E090,H39E098
+39E098:lI118|H39E140
+39E140:lI105|H39E1FC
+39E1FC:lI100|H39E2D8
+39E2D8:lI101|H39E3C4
+39E3C4:lI111|H39E4C0
+39E4C0:lI47|H39E5C8
+39E5C8:lI109|H39E6DC
+39E6DC:lI112|H39E7E8
+39E7E8:lI101|H39E8FC
+39E8FC:lI103|N
+39E090:lI109|H39E138
+39E138:lI112|H39E1F4
+39E1F4:lI101|H39E2D0
+39E2D0:lI103|N
+39E004:lH39E0A0|H39E0AC
+39E0A0:t2:H39E148,H39E150
+39E150:lI118|H39E20C
+39E20C:lI105|H39E2E8
+39E2E8:lI100|H39E3CC
+39E3CC:lI101|H39E4C8
+39E4C8:lI111|H39E5D0
+39E5D0:lI47|H39E6E4
+39E6E4:lI109|H39E7F0
+39E7F0:lI112|H39E904
+39E904:lI101|H39EA10
+39EA10:lI103|N
+39E148:lI109|H39E204
+39E204:lI112|H39E2E0
+39E2E0:lI103|N
+39E0AC:lH39E158|H39E164
+39E158:t2:H39E214,H39E21C
+39E21C:lI118|H39E2F8
+39E2F8:lI105|H39E3DC
+39E3DC:lI100|H39E4D0
+39E4D0:lI101|H39E5D8
+39E5D8:lI111|H39E6EC
+39E6EC:lI47|H39E7F8
+39E7F8:lI109|H39E90C
+39E90C:lI112|H39EA18
+39EA18:lI101|H39EB04
+39EB04:lI103|N
+39E214:lI109|H39E2F0
+39E2F0:lI112|H39E3D4
+39E3D4:lI101|N
+39E164:lH39E224|H39E230
+39E224:t2:H39E300,H39E308
+39E308:lI116|H39E3EC
+39E3EC:lI101|H39E4E0
+39E4E0:lI120|H39E5E8
+39E5E8:lI116|H39E6F4
+39E6F4:lI47|H39E800
+39E800:lI120|H39E914
+39E914:lI45|H39EA20
+39EA20:lI115|H39EB0C
+39EB0C:lI103|H39EBF0
+39EBF0:lI109|H39ECD4
+39ECD4:lI108|N
+39E300:lI115|H39E3E4
+39E3E4:lI103|H39E4D8
+39E4D8:lI109|H39E5E0
+39E5E0:lI108|N
+39E230:lH39E310|H39E31C
+39E310:t2:H39E3F4,H39E3FC
+39E3FC:lI116|H39E4F0
+39E4F0:lI101|H39E5F8
+39E5F8:lI120|H39E6FC
+39E6FC:lI116|H39E808
+39E808:lI47|H39E91C
+39E91C:lI120|H39EA28
+39EA28:lI45|H39EB14
+39EB14:lI115|H39EBF8
+39EBF8:lI103|H39ECDC
+39ECDC:lI109|H39EDC0
+39EDC0:lI108|N
+39E3F4:lI115|H39E4E8
+39E4E8:lI103|H39E5F0
+39E5F0:lI109|N
+39E31C:lH39E404|H39E410
+39E404:t2:H39E4F8,H39E500
+39E500:lI116|H39E608
+39E608:lI101|H39E70C
+39E70C:lI120|H39E810
+39E810:lI116|H39E924
+39E924:lI47|H39EA30
+39EA30:lI120|H39EB1C
+39EB1C:lI45|H39EC00
+39EC00:lI115|H39ECE4
+39ECE4:lI101|H39EDC8
+39EDC8:lI116|H39EE94
+39EE94:lI101|H39EF68
+39EF68:lI120|H39F044
+39F044:lI116|N
+39E4F8:lI101|H39E600
+39E600:lI116|H39E704
+39E704:lI120|N
+39E410:lH39E508|H39E514
+39E508:t2:H39E610,H39E618
+39E618:lI116|H39E71C
+39E71C:lI101|H39E820
+39E820:lI120|H39E92C
+39E92C:lI116|H39EA38
+39EA38:lI47|H39EB24
+39EB24:lI116|H39EC08
+39EC08:lI97|H39ECEC
+39ECEC:lI98|H39EDD0
+39EDD0:lI45|H39EE9C
+39EE9C:lI115|H39EF70
+39EF70:lI101|H39F04C
+39F04C:lI112|H39F120
+39F120:lI97|H39F1F4
+39F1F4:lI114|H39F2C0
+39F2C0:lI97|H39F37C
+39F37C:lI116|H39F440
+39F440:lI101|H39F50C
+39F50C:lI100|H39F5D0
+39F5D0:lI45|H39F6A4
+39F6A4:lI118|H39F778
+39F778:lI97|H39F84C
+39F84C:lI108|H39F930
+39F930:lI117|H39FA0C
+39FA0C:lI101|H39FAE0
+39FAE0:lI115|N
+39E610:lI116|H39E714
+39E714:lI115|H39E818
+39E818:lI118|N
+39E514:lH39E620|H39E62C
+39E620:t2:H39E724,H39E72C
+39E72C:lI116|H39E830
+39E830:lI101|H39E93C
+39E93C:lI120|H39EA40
+39EA40:lI116|H39EB2C
+39EB2C:lI47|H39EC10
+39EC10:lI114|H39ECF4
+39ECF4:lI105|H39EDD8
+39EDD8:lI99|H39EEA4
+39EEA4:lI104|H39EF78
+39EF78:lI116|H39F054
+39F054:lI101|H39F128
+39F128:lI120|H39F1FC
+39F1FC:lI116|N
+39E724:lI114|H39E828
+39E828:lI116|H39E934
+39E934:lI120|N
+39E62C:lH39E734|H39E740
+39E734:t2:H39E838,H39E840
+39E840:lI116|H39E94C
+39E94C:lI101|H39EA50
+39EA50:lI120|H39EB34
+39EB34:lI116|H39EC18
+39EC18:lI47|H39ECFC
+39ECFC:lI112|H39EDE0
+39EDE0:lI108|H39EEAC
+39EEAC:lI97|H39EF80
+39EF80:lI105|H39F05C
+39F05C:lI110|N
+39E838:lI116|H39E944
+39E944:lI120|H39EA48
+39EA48:lI116|N
+39E740:lH39E848|H39E854
+39E848:t2:H39E954,H39E95C
+39E95C:lI116|H39EA60
+39EA60:lI101|H39EB44
+39EB44:lI120|H39EC28
+39EC28:lI116|H39ED0C
+39ED0C:lI47|H39EDE8
+39EDE8:lI120|H39EEB4
+39EEB4:lI45|H39EF88
+39EF88:lI115|H39F064
+39F064:lI101|H39F130
+39F130:lI114|H39F204
+39F204:lI118|H39F2C8
+39F2C8:lI101|H39F384
+39F384:lI114|H39F448
+39F448:lI45|H39F514
+39F514:lI112|H39F5D8
+39F5D8:lI97|H39F6AC
+39F6AC:lI114|H39F780
+39F780:lI115|H39F854
+39F854:lI101|H39F938
+39F938:lI100|H39FA14
+39FA14:lI45|H39FAE8
+39FAE8:lI104|H39FBBC
+39FBBC:lI116|H39FC88
+39FC88:lI109|H39FD4C
+39FD4C:lI108|N
+39E954:lI115|H39EA58
+39EA58:lI104|H39EB3C
+39EB3C:lI116|H39EC20
+39EC20:lI109|H39ED04
+39ED04:lI108|N
+39E854:lH39E964|H39E970
+39E964:t2:H39EA68,H39EA70
+39EA70:lI116|H39EB54
+39EB54:lI101|H39EC38
+39EC38:lI120|H39ED1C
+39ED1C:lI116|H39EDF0
+39EDF0:lI47|H39EEBC
+39EEBC:lI104|H39EF90
+39EF90:lI116|H39F06C
+39F06C:lI109|H39F138
+39F138:lI108|N
+39EA68:lI104|H39EB4C
+39EB4C:lI116|H39EC30
+39EC30:lI109|H39ED14
+39ED14:lI108|N
+39E970:lH39EA78|H39EA84
+39EA78:t2:H39EB5C,H39EB64
+39EB64:lI116|H39EC48
+39EC48:lI101|H39ED2C
+39ED2C:lI120|H39EDF8
+39EDF8:lI116|H39EEC4
+39EEC4:lI47|H39EF98
+39EF98:lI104|H39F074
+39F074:lI116|H39F140
+39F140:lI109|H39F20C
+39F20C:lI108|N
+39EB5C:lI104|H39EC40
+39EC40:lI116|H39ED24
+39ED24:lI109|N
+39EA84:lH39EB6C|H39EB78
+39EB6C:t2:H39EC50,H39EC58
+39EC58:lI105|H39ED3C
+39ED3C:lI109|H39EE08
+39EE08:lI97|H39EECC
+39EECC:lI103|H39EFA0
+39EFA0:lI101|H39F07C
+39F07C:lI47|H39F148
+39F148:lI120|H39F214
+39F214:lI45|H39F2D0
+39F2D0:lI120|H39F38C
+39F38C:lI119|H39F450
+39F450:lI105|H39F51C
+39F51C:lI110|H39F5E0
+39F5E0:lI100|H39F6B4
+39F6B4:lI111|H39F788
+39F788:lI119|H39F85C
+39F85C:lI100|H39F940
+39F940:lI117|H39FA1C
+39FA1C:lI109|H39FAF0
+39FAF0:lI112|N
+39EC50:lI120|H39ED34
+39ED34:lI119|H39EE00
+39EE00:lI100|N
+39EB78:lH39EC60|H39EC6C
+39EC60:t2:H39ED44,H39ED4C
+39ED4C:lI105|H39EE18
+39EE18:lI109|H39EEDC
+39EEDC:lI97|H39EFA8
+39EFA8:lI103|H39F084
+39F084:lI101|H39F150
+39F150:lI47|H39F21C
+39F21C:lI120|H39F2D8
+39F2D8:lI45|H39F394
+39F394:lI120|H39F458
+39F458:lI112|H39F524
+39F524:lI105|H39F5E8
+39F5E8:lI120|H39F6BC
+39F6BC:lI109|H39F790
+39F790:lI97|H39F864
+39F864:lI112|N
+39ED44:lI120|H39EE10
+39EE10:lI112|H39EED4
+39EED4:lI109|N
+39EC6C:lH39ED54|H39ED60
+39ED54:t2:H39EE20,H39EE28
+39EE28:lI105|H39EEEC
+39EEEC:lI109|H39EFB8
+39EFB8:lI97|H39F08C
+39F08C:lI103|H39F158
+39F158:lI101|H39F224
+39F224:lI47|H39F2E0
+39F2E0:lI120|H39F39C
+39F39C:lI45|H39F460
+39F460:lI120|H39F52C
+39F52C:lI98|H39F5F0
+39F5F0:lI105|H39F6C4
+39F6C4:lI116|H39F798
+39F798:lI109|H39F86C
+39F86C:lI97|H39F948
+39F948:lI112|N
+39EE20:lI120|H39EEE4
+39EEE4:lI98|H39EFB0
+39EFB0:lI109|N
+39ED60:lH39EE30|H39EE3C
+39EE30:t2:H39EEF4,H39EEFC
+39EEFC:lI105|H39EFC8
+39EFC8:lI109|H39F09C
+39F09C:lI97|H39F160
+39F160:lI103|H39F22C
+39F22C:lI101|H39F2E8
+39F2E8:lI47|H39F3A4
+39F3A4:lI120|H39F468
+39F468:lI45|H39F534
+39F534:lI114|H39F5F8
+39F5F8:lI103|H39F6CC
+39F6CC:lI98|N
+39EEF4:lI114|H39EFC0
+39EFC0:lI103|H39F094
+39F094:lI98|N
+39EE3C:lH39EF04|H39EF10
+39EF04:t2:H39EFD0,H39EFD8
+39EFD8:lI105|H39F0AC
+39F0AC:lI109|H39F170
+39F170:lI97|H39F234
+39F234:lI103|H39F2F0
+39F2F0:lI101|H39F3AC
+39F3AC:lI47|H39F470
+39F470:lI120|H39F53C
+39F53C:lI45|H39F600
+39F600:lI112|H39F6D4
+39F6D4:lI111|H39F7A0
+39F7A0:lI114|H39F874
+39F874:lI116|H39F950
+39F950:lI97|H39FA24
+39FA24:lI98|H39FAF8
+39FAF8:lI108|H39FBC4
+39FBC4:lI101|H39FC90
+39FC90:lI45|H39FD54
+39FD54:lI112|H39FE18
+39FE18:lI105|H39FECC
+39FECC:lI120|H39FF88
+39FF88:lI109|H3A003C
+3A003C:lI97|H3A00E8
+3A00E8:lI112|N
+39EFD0:lI112|H39F0A4
+39F0A4:lI112|H39F168
+39F168:lI109|N
+39EF10:lH39EFE0|H39EFEC
+39EFE0:t2:H39F0B4,H39F0BC
+39F0BC:lI105|H39F180
+39F180:lI109|H39F244
+39F244:lI97|H39F2F8
+39F2F8:lI103|H39F3B4
+39F3B4:lI101|H39F478
+39F478:lI47|H39F544
+39F544:lI120|H39F608
+39F608:lI45|H39F6DC
+39F6DC:lI112|H39F7A8
+39F7A8:lI111|H39F87C
+39F87C:lI114|H39F958
+39F958:lI116|H39FA2C
+39FA2C:lI97|H39FB00
+39FB00:lI98|H39FBCC
+39FBCC:lI108|H39FC98
+39FC98:lI101|H39FD5C
+39FD5C:lI45|H39FE20
+39FE20:lI103|H39FED4
+39FED4:lI114|H39FF90
+39FF90:lI97|H3A0044
+3A0044:lI121|H3A00F0
+3A00F0:lI109|H3A0194
+3A0194:lI97|H3A0248
+3A0248:lI112|N
+39F0B4:lI112|H39F178
+39F178:lI103|H39F23C
+39F23C:lI109|N
+39EFEC:lH39F0C4|H39F0D0
+39F0C4:t2:H39F188,H39F190
+39F190:lI105|H39F254
+39F254:lI109|H39F308
+39F308:lI97|H39F3BC
+39F3BC:lI103|H39F480
+39F480:lI101|H39F54C
+39F54C:lI47|H39F610
+39F610:lI120|H39F6E4
+39F6E4:lI45|H39F7B0
+39F7B0:lI112|H39F884
+39F884:lI111|H39F960
+39F960:lI114|H39FA34
+39FA34:lI116|H39FB08
+39FB08:lI97|H39FBD4
+39FBD4:lI98|H39FCA0
+39FCA0:lI108|H39FD64
+39FD64:lI101|H39FE28
+39FE28:lI45|H39FEDC
+39FEDC:lI98|H39FF98
+39FF98:lI105|H3A004C
+3A004C:lI116|H3A00F8
+3A00F8:lI109|H3A019C
+3A019C:lI97|H3A0250
+3A0250:lI112|N
+39F188:lI112|H39F24C
+39F24C:lI98|H39F300
+39F300:lI109|N
+39F0D0:lH39F198|H39F1A4
+39F198:t2:H39F25C,H39F264
+39F264:lI105|H39F318
+39F318:lI109|H39F3CC
+39F3CC:lI97|H39F488
+39F488:lI103|H39F554
+39F554:lI101|H39F618
+39F618:lI47|H39F6EC
+39F6EC:lI120|H39F7B8
+39F7B8:lI45|H39F88C
+39F88C:lI112|H39F968
+39F968:lI111|H39FA3C
+39FA3C:lI114|H39FB10
+39FB10:lI116|H39FBDC
+39FBDC:lI97|H39FCA8
+39FCA8:lI98|H39FD6C
+39FD6C:lI108|H39FE30
+39FE30:lI101|H39FEE4
+39FEE4:lI45|H39FFA0
+39FFA0:lI97|H3A0054
+3A0054:lI110|H3A0100
+3A0100:lI121|H3A01A4
+3A01A4:lI109|H3A0258
+3A0258:lI97|H3A0304
+3A0304:lI112|N
+39F25C:lI112|H39F310
+39F310:lI110|H39F3C4
+39F3C4:lI109|N
+39F1A4:lH39F26C|H39F278
+39F26C:t2:H39F320,H39F328
+39F328:lI105|H39F3DC
+39F3DC:lI109|H39F498
+39F498:lI97|H39F55C
+39F55C:lI103|H39F620
+39F620:lI101|H39F6F4
+39F6F4:lI47|H39F7C0
+39F7C0:lI120|H39F894
+39F894:lI45|H39F970
+39F970:lI99|H39FA44
+39FA44:lI109|H39FB18
+39FB18:lI117|H39FBE4
+39FBE4:lI45|H39FCB0
+39FCB0:lI114|H39FD74
+39FD74:lI97|H39FE38
+39FE38:lI115|H39FEEC
+39FEEC:lI116|H39FFA8
+39FFA8:lI101|H3A005C
+3A005C:lI114|N
+39F320:lI114|H39F3D4
+39F3D4:lI97|H39F490
+39F490:lI115|N
+39F278:lH39F330|H39F33C
+39F330:t2:H39F3E4,H39F3EC
+39F3EC:lI105|H39F4A8
+39F4A8:lI109|H39F56C
+39F56C:lI97|H39F630
+39F630:lI103|H39F6FC
+39F6FC:lI101|H39F7C8
+39F7C8:lI47|H39F89C
+39F89C:lI116|H39F978
+39F978:lI105|H39FA4C
+39FA4C:lI102|H39FB20
+39FB20:lI102|N
+39F3E4:lI116|H39F4A0
+39F4A0:lI105|H39F564
+39F564:lI102|H39F628
+39F628:lI102|N
+39F33C:lH39F3F4|H39F400
+39F3F4:t2:H39F4B0,H39F4B8
+39F4B8:lI105|H39F57C
+39F57C:lI109|H39F640
+39F640:lI97|H39F704
+39F704:lI103|H39F7D0
+39F7D0:lI101|H39F8A4
+39F8A4:lI47|H39F980
+39F980:lI116|H39FA54
+39FA54:lI105|H39FB28
+39FB28:lI102|H39FBEC
+39FBEC:lI102|N
+39F4B0:lI116|H39F574
+39F574:lI105|H39F638
+39F638:lI102|N
+39F400:lH39F4C0|H39F4CC
+39F4C0:t2:H39F584,H39F58C
+39F58C:lI105|H39F650
+39F650:lI109|H39F714
+39F714:lI97|H39F7D8
+39F7D8:lI103|H39F8AC
+39F8AC:lI101|H39F988
+39F988:lI47|H39FA5C
+39FA5C:lI112|H39FB30
+39FB30:lI110|H39FBF4
+39FBF4:lI103|N
+39F584:lI112|H39F648
+39F648:lI110|H39F70C
+39F70C:lI103|N
+39F4CC:lH39F594|H39F5A0
+39F594:t2:H39F658,H39F660
+39F660:lI105|H39F724
+39F724:lI109|H39F7E8
+39F7E8:lI97|H39F8BC
+39F8BC:lI103|H39F990
+39F990:lI101|H39FA64
+39FA64:lI47|H39FB38
+39FB38:lI106|H39FBFC
+39FBFC:lI112|H39FCB8
+39FCB8:lI101|H39FD7C
+39FD7C:lI103|N
+39F658:lI106|H39F71C
+39F71C:lI112|H39F7E0
+39F7E0:lI101|H39F8B4
+39F8B4:lI103|N
+39F5A0:lH39F668|H39F674
+39F668:t2:H39F72C,H39F734
+39F734:lI105|H39F7F8
+39F7F8:lI109|H39F8CC
+39F8CC:lI97|H39F998
+39F998:lI103|H39FA6C
+39FA6C:lI101|H39FB40
+39FB40:lI47|H39FC04
+39FC04:lI106|H39FCC0
+39FCC0:lI112|H39FD84
+39FD84:lI101|H39FE40
+39FE40:lI103|N
+39F72C:lI106|H39F7F0
+39F7F0:lI112|H39F8C4
+39F8C4:lI103|N
+39F674:lH39F73C|H39F748
+39F73C:t2:H39F800,H39F808
+39F808:lI105|H39F8DC
+39F8DC:lI109|H39F9A8
+39F9A8:lI97|H39FA74
+39FA74:lI103|H39FB48
+39FB48:lI101|H39FC0C
+39FC0C:lI47|H39FCC8
+39FCC8:lI106|H39FD8C
+39FD8C:lI112|H39FE48
+39FE48:lI101|H39FEF4
+39FEF4:lI103|N
+39F800:lI106|H39F8D4
+39F8D4:lI112|H39F9A0
+39F9A0:lI101|N
+39F748:lH39F810|H39F81C
+39F810:t2:H39F8E4,H39F8EC
+39F8EC:lI105|H39F9B8
+39F9B8:lI109|H39FA84
+39FA84:lI97|H39FB50
+39FB50:lI103|H39FC14
+39FC14:lI101|H39FCD0
+39FCD0:lI47|H39FD94
+39FD94:lI105|H39FE50
+39FE50:lI101|H39FEFC
+39FEFC:lI102|N
+39F8E4:lI105|H39F9B0
+39F9B0:lI101|H39FA7C
+39FA7C:lI102|N
+39F81C:lH39F8F4|H39F900
+39F8F4:t2:H39F9C0,H39F9C8
+39F9C8:lI105|H39FA94
+39FA94:lI109|H39FB60
+39FB60:lI97|H39FC1C
+39FC1C:lI103|H39FCD8
+39FCD8:lI101|H39FD9C
+39FD9C:lI47|H39FE58
+39FE58:lI103|H39FF04
+39FF04:lI105|H39FFB0
+39FFB0:lI102|N
+39F9C0:lI103|H39FA8C
+39FA8C:lI105|H39FB58
+39FB58:lI102|N
+39F900:lH39F9D0|H39F9DC
+39F9D0:t2:H39FA9C,H39FAA4
+39FAA4:lI99|H39FB70
+39FB70:lI104|H39FC2C
+39FC2C:lI101|H39FCE0
+39FCE0:lI109|H39FDA4
+39FDA4:lI105|H39FE60
+39FE60:lI99|H39FF0C
+39FF0C:lI97|H39FFB8
+39FFB8:lI108|H3A0064
+3A0064:lI47|H3A0108
+3A0108:lI120|H3A01AC
+3A01AC:lI45|H3A0260
+3A0260:lI112|H3A030C
+3A030C:lI100|H3A03B8
+3A03B8:lI98|N
+39FA9C:lI112|H39FB68
+39FB68:lI100|H39FC24
+39FC24:lI98|N
+39F9DC:lH39FAAC|H39FAB8
+39FAAC:t2:H39FB78,H39FB80
+39FB80:lI99|H39FC3C
+39FC3C:lI104|H39FCF0
+39FCF0:lI101|H39FDAC
+39FDAC:lI109|H39FE68
+39FE68:lI105|H39FF14
+39FF14:lI99|H39FFC0
+39FFC0:lI97|H3A006C
+3A006C:lI108|H3A0110
+3A0110:lI47|H3A01B4
+3A01B4:lI120|H3A0268
+3A0268:lI45|H3A0314
+3A0314:lI112|H3A03C0
+3A03C0:lI100|H3A0454
+3A0454:lI98|N
+39FB78:lI120|H39FC34
+39FC34:lI121|H39FCE8
+39FCE8:lI122|N
+39FAB8:lH39FB88|H39FB94
+39FB88:t2:H39FC44,H39FC4C
+39FC4C:lI97|H39FD00
+39FD00:lI117|H39FDBC
+39FDBC:lI100|H39FE70
+39FE70:lI105|H39FF1C
+39FF1C:lI111|H39FFC8
+39FFC8:lI47|H3A0074
+3A0074:lI120|H3A0118
+3A0118:lI45|H3A01BC
+3A01BC:lI119|H3A0270
+3A0270:lI97|H3A031C
+3A031C:lI118|N
+39FC44:lI119|H39FCF8
+39FCF8:lI97|H39FDB4
+39FDB4:lI118|N
+39FB94:lH39FC54|H39FC60
+39FC54:t2:H39FD08,H39FD10
+39FD10:lI97|H39FDCC
+39FDCC:lI117|H39FE78
+39FE78:lI100|H39FF24
+39FF24:lI105|H39FFD0
+39FFD0:lI111|H3A007C
+3A007C:lI47|H3A0120
+3A0120:lI120|H3A01C4
+3A01C4:lI45|H3A0278
+3A0278:lI114|H3A0324
+3A0324:lI101|H3A03C8
+3A03C8:lI97|H3A045C
+3A045C:lI108|H3A04F8
+3A04F8:lI97|H3A059C
+3A059C:lI117|H3A0648
+3A0648:lI100|H3A06F4
+3A06F4:lI105|H3A07A0
+3A07A0:lI111|N
+39FD08:lI114|H39FDC4
+39FDC4:lI97|N
+39FC60:lH39FD18|H39FD24
+39FD18:t2:H39FDD4,H39FDDC
+39FDDC:lI97|H39FE88
+39FE88:lI117|H39FF34
+39FF34:lI100|H39FFD8
+39FFD8:lI105|H3A0084
+3A0084:lI111|H3A0128
+3A0128:lI47|H3A01CC
+3A01CC:lI120|H3A0280
+3A0280:lI45|H3A032C
+3A032C:lI112|H3A03D0
+3A03D0:lI110|H3A0464
+3A0464:lI45|H3A0500
+3A0500:lI114|H3A05A4
+3A05A4:lI101|H3A0650
+3A0650:lI97|H3A06FC
+3A06FC:lI108|H3A07A8
+3A07A8:lI97|H3A0844
+3A0844:lI117|H3A08D0
+3A08D0:lI100|H3A0964
+3A0964:lI105|H3A09F8
+3A09F8:lI111|H3A0A94
+3A0A94:lI45|H3A0B40
+3A0B40:lI112|H3A0BEC
+3A0BEC:lI108|H3A0CA8
+3A0CA8:lI117|H3A0D64
+3A0D64:lI103|H3A0E18
+3A0E18:lI105|H3A0ECC
+3A0ECC:lI110|N
+39FDD4:lI114|H39FE80
+39FE80:lI112|H39FF2C
+39FF2C:lI109|N
+39FD24:lH39FDE4|H39FDF0
+39FDE4:t2:H39FE90,H39FE98
+39FE98:lI97|H39FF44
+39FF44:lI117|H39FFE8
+39FFE8:lI100|H3A008C
+3A008C:lI105|H3A0130
+3A0130:lI111|H3A01D4
+3A01D4:lI47|H3A0288
+3A0288:lI120|H3A0334
+3A0334:lI45|H3A03D8
+3A03D8:lI112|H3A046C
+3A046C:lI110|H3A0508
+3A0508:lI45|H3A05AC
+3A05AC:lI114|H3A0658
+3A0658:lI101|H3A0704
+3A0704:lI97|H3A07B0
+3A07B0:lI108|H3A084C
+3A084C:lI97|H3A08D8
+3A08D8:lI117|H3A096C
+3A096C:lI100|H3A0A00
+3A0A00:lI105|H3A0A9C
+3A0A9C:lI111|N
+39FE90:lI114|H39FF3C
+39FF3C:lI97|H39FFE0
+39FFE0:lI109|N
+39FDF0:lH39FEA0|H39FEAC
+39FEA0:t2:H39FF4C,H39FF54
+39FF54:lI97|H39FFF8
+39FFF8:lI117|H3A009C
+3A009C:lI100|H3A0138
+3A0138:lI105|H3A01DC
+3A01DC:lI111|H3A0290
+3A0290:lI47|H3A033C
+3A033C:lI120|H3A03E0
+3A03E0:lI45|H3A0474
+3A0474:lI97|H3A0510
+3A0510:lI105|H3A05B4
+3A05B4:lI102|H3A0660
+3A0660:lI102|N
+39FF4C:lI97|H39FFF0
+39FFF0:lI105|H3A0094
+3A0094:lI102|N
+39FEAC:lH39FF5C|H39FF68
+39FF5C:t2:H3A0000,H3A0008
+3A0008:lI97|H3A00AC
+3A00AC:lI117|H3A0148
+3A0148:lI100|H3A01EC
+3A01EC:lI105|H3A0298
+3A0298:lI111|H3A0344
+3A0344:lI47|H3A03E8
+3A03E8:lI120|H3A047C
+3A047C:lI45|H3A0518
+3A0518:lI97|H3A05BC
+3A05BC:lI105|H3A0668
+3A0668:lI102|H3A070C
+3A070C:lI102|N
+3A0000:lI97|H3A00A4
+3A00A4:lI105|H3A0140
+3A0140:lI102|H3A01E4
+3A01E4:lI102|N
+39FF68:lH3A0010|H3A001C
+3A0010:t2:H3A00B4,H3A00BC
+3A00BC:lI97|H3A0158
+3A0158:lI117|H3A01FC
+3A01FC:lI100|H3A02A8
+3A02A8:lI105|H3A034C
+3A034C:lI111|H3A03F0
+3A03F0:lI47|H3A0484
+3A0484:lI120|H3A0520
+3A0520:lI45|H3A05C4
+3A05C4:lI97|H3A0670
+3A0670:lI105|H3A0714
+3A0714:lI102|H3A07B8
+3A07B8:lI102|N
+3A00B4:lI97|H3A0150
+3A0150:lI105|H3A01F4
+3A01F4:lI102|H3A02A0
+3A02A0:lI99|N
+3A001C:lH3A00C4|H3A00D0
+3A00C4:t2:H3A0160,H3A0168
+3A0168:lI97|H3A020C
+3A020C:lI117|H3A02B8
+3A02B8:lI100|H3A035C
+3A035C:lI105|H3A03F8
+3A03F8:lI111|H3A048C
+3A048C:lI47|H3A0528
+3A0528:lI109|H3A05CC
+3A05CC:lI112|H3A0678
+3A0678:lI101|H3A071C
+3A071C:lI103|N
+3A0160:lI109|H3A0204
+3A0204:lI112|H3A02B0
+3A02B0:lI103|H3A0354
+3A0354:lI97|N
+3A00D0:lH3A0170|H3A017C
+3A0170:t2:H3A0214,H3A021C
+3A021C:lI97|H3A02C8
+3A02C8:lI117|H3A036C
+3A036C:lI100|H3A0400
+3A0400:lI105|H3A0494
+3A0494:lI111|H3A0530
+3A0530:lI47|H3A05D4
+3A05D4:lI109|H3A0680
+3A0680:lI112|H3A0724
+3A0724:lI101|H3A07C0
+3A07C0:lI103|N
+3A0214:lI109|H3A02C0
+3A02C0:lI112|H3A0364
+3A0364:lI50|N
+3A017C:lH3A0224|H3A0230
+3A0224:t2:H3A02D0,H3A02D8
+3A02D8:lI97|H3A037C
+3A037C:lI117|H3A0408
+3A0408:lI100|H3A049C
+3A049C:lI105|H3A0538
+3A0538:lI111|H3A05DC
+3A05DC:lI47|H3A0688
+3A0688:lI98|H3A072C
+3A072C:lI97|H3A07C8
+3A07C8:lI115|H3A0854
+3A0854:lI105|H3A08E0
+3A08E0:lI99|N
+3A02D0:lI97|H3A0374
+3A0374:lI117|N
+3A0230:lH3A02E0|H3A02EC
+3A02E0:t2:H3A0384,H3A038C
+3A038C:lI97|H3A0418
+3A0418:lI117|H3A04AC
+3A04AC:lI100|H3A0540
+3A0540:lI105|H3A05E4
+3A05E4:lI111|H3A0690
+3A0690:lI47|H3A0734
+3A0734:lI98|H3A07D0
+3A07D0:lI97|H3A085C
+3A085C:lI115|H3A08E8
+3A08E8:lI105|H3A0974
+3A0974:lI99|N
+3A0384:lI115|H3A0410
+3A0410:lI110|H3A04A4
+3A04A4:lI100|N
+3A02EC:lH3A0394|H3A03A0
+3A0394:t2:H3A0420,H3A0428
+3A0428:lI97|H3A04BC
+3A04BC:lI112|H3A0550
+3A0550:lI112|H3A05EC
+3A05EC:lI108|H3A0698
+3A0698:lI105|H3A073C
+3A073C:lI99|H3A07D8
+3A07D8:lI97|H3A0864
+3A0864:lI116|H3A08F0
+3A08F0:lI105|H3A097C
+3A097C:lI111|H3A0A08
+3A0A08:lI110|H3A0AA4
+3A0AA4:lI47|H3A0B48
+3A0B48:lI122|H3A0BF4
+3A0BF4:lI105|H3A0CB0
+3A0CB0:lI112|N
+3A0420:lI122|H3A04B4
+3A04B4:lI105|H3A0548
+3A0548:lI112|N
+3A03A0:lH3A0430|H3A043C
+3A0430:t2:H3A04C4,H3A04CC
+3A04CC:lI97|H3A0560
+3A0560:lI112|H3A05FC
+3A05FC:lI112|H3A06A0
+3A06A0:lI108|H3A0744
+3A0744:lI105|H3A07E0
+3A07E0:lI99|H3A086C
+3A086C:lI97|H3A08F8
+3A08F8:lI116|H3A0984
+3A0984:lI105|H3A0A10
+3A0A10:lI111|H3A0AAC
+3A0AAC:lI110|H3A0B50
+3A0B50:lI47|H3A0BFC
+3A0BFC:lI120|H3A0CB8
+3A0CB8:lI45|H3A0D6C
+3A0D6C:lI119|H3A0E20
+3A0E20:lI97|H3A0ED4
+3A0ED4:lI105|H3A0F90
+3A0F90:lI115|H3A105C
+3A105C:lI45|H3A1130
+3A1130:lI115|H3A1204
+3A1204:lI111|H3A12D0
+3A12D0:lI117|H3A13A4
+3A13A4:lI114|H3A1480
+3A1480:lI99|H3A1564
+3A1564:lI101|N
+3A04C4:lI115|H3A0558
+3A0558:lI114|H3A05F4
+3A05F4:lI99|N
+3A043C:lH3A04D4|H3A04E0
+3A04D4:t2:H3A0568,H3A0570
+3A0570:lI97|H3A060C
+3A060C:lI112|H3A06B0
+3A06B0:lI112|H3A0754
+3A0754:lI108|H3A07F0
+3A07F0:lI105|H3A0874
+3A0874:lI99|H3A0900
+3A0900:lI97|H3A098C
+3A098C:lI116|H3A0A18
+3A0A18:lI105|H3A0AB4
+3A0AB4:lI111|H3A0B58
+3A0B58:lI110|H3A0C04
+3A0C04:lI47|H3A0CC0
+3A0CC0:lI120|H3A0D74
+3A0D74:lI45|H3A0E28
+3A0E28:lI117|H3A0EDC
+3A0EDC:lI115|H3A0F98
+3A0F98:lI116|H3A1064
+3A1064:lI97|H3A1138
+3A1138:lI114|N
+3A0568:lI117|H3A0604
+3A0604:lI115|H3A06A8
+3A06A8:lI116|H3A074C
+3A074C:lI97|H3A07E8
+3A07E8:lI114|N
+3A04E0:lH3A0578|H3A0584
+3A0578:t2:H3A0614,H3A061C
+3A061C:lI97|H3A06C0
+3A06C0:lI112|H3A075C
+3A075C:lI112|H3A07F8
+3A07F8:lI108|H3A087C
+3A087C:lI105|H3A0908
+3A0908:lI99|H3A0994
+3A0994:lI97|H3A0A20
+3A0A20:lI116|H3A0ABC
+3A0ABC:lI105|H3A0B60
+3A0B60:lI111|H3A0C0C
+3A0C0C:lI110|H3A0CC8
+3A0CC8:lI47|H3A0D7C
+3A0D7C:lI120|H3A0E30
+3A0E30:lI45|H3A0EE4
+3A0EE4:lI116|H3A0FA0
+3A0FA0:lI114|H3A106C
+3A106C:lI111|H3A1140
+3A1140:lI102|H3A120C
+3A120C:lI102|H3A12D8
+3A12D8:lI45|H3A13AC
+3A13AC:lI109|H3A1488
+3A1488:lI115|N
+3A0614:lI109|H3A06B8
+3A06B8:lI115|N
+3A0584:lH3A0624|H3A0630
+3A0624:t2:H3A06C8,H3A06D0
+3A06D0:lI97|H3A076C
+3A076C:lI112|H3A0800
+3A0800:lI112|H3A0884
+3A0884:lI108|H3A0910
+3A0910:lI105|H3A099C
+3A099C:lI99|H3A0A28
+3A0A28:lI97|H3A0AC4
+3A0AC4:lI116|H3A0B68
+3A0B68:lI105|H3A0C14
+3A0C14:lI111|H3A0CD0
+3A0CD0:lI110|H3A0D84
+3A0D84:lI47|H3A0E38
+3A0E38:lI120|H3A0EEC
+3A0EEC:lI45|H3A0FA8
+3A0FA8:lI116|H3A1074
+3A1074:lI114|H3A1148
+3A1148:lI111|H3A1214
+3A1214:lI102|H3A12E0
+3A12E0:lI102|H3A13B4
+3A13B4:lI45|H3A1490
+3A1490:lI109|H3A156C
+3A156C:lI101|N
+3A06C8:lI109|H3A0764
+3A0764:lI101|N
+3A0630:lH3A06D8|H3A06E4
+3A06D8:t2:H3A0774,H3A077C
+3A077C:lI97|H3A0810
+3A0810:lI112|H3A0894
+3A0894:lI112|H3A0918
+3A0918:lI108|H3A09A4
+3A09A4:lI105|H3A0A30
+3A0A30:lI99|H3A0ACC
+3A0ACC:lI97|H3A0B70
+3A0B70:lI116|H3A0C1C
+3A0C1C:lI105|H3A0CD8
+3A0CD8:lI111|H3A0D8C
+3A0D8C:lI110|H3A0E40
+3A0E40:lI47|H3A0EF4
+3A0EF4:lI120|H3A0FB0
+3A0FB0:lI45|H3A107C
+3A107C:lI116|H3A1150
+3A1150:lI114|H3A121C
+3A121C:lI111|H3A12E8
+3A12E8:lI102|H3A13BC
+3A13BC:lI102|H3A1498
+3A1498:lI45|H3A1574
+3A1574:lI109|H3A1648
+3A1648:lI97|H3A171C
+3A171C:lI110|N
+3A0774:lI109|H3A0808
+3A0808:lI97|H3A088C
+3A088C:lI110|N
+3A06E4:lH3A0784|H3A0790
+3A0784:t2:H3A0818,H3A0820
+3A0820:lI97|H3A089C
+3A089C:lI112|H3A0920
+3A0920:lI112|H3A09AC
+3A09AC:lI108|H3A0A38
+3A0A38:lI105|H3A0AD4
+3A0AD4:lI99|H3A0B78
+3A0B78:lI97|H3A0C24
+3A0C24:lI116|H3A0CE0
+3A0CE0:lI105|H3A0D94
+3A0D94:lI111|H3A0E48
+3A0E48:lI110|H3A0EFC
+3A0EFC:lI47|H3A0FB8
+3A0FB8:lI120|H3A1084
+3A1084:lI45|H3A1158
+3A1158:lI116|H3A1224
+3A1224:lI114|H3A12F0
+3A12F0:lI111|H3A13C4
+3A13C4:lI102|H3A14A0
+3A14A0:lI102|N
+3A0818:lI116|N
+3A0790:lH3A0828|H3A0834
+3A0828:t2:H3A08A4,H3A08AC
+3A08AC:lI97|H3A0930
+3A0930:lI112|H3A09B4
+3A09B4:lI112|H3A0A40
+3A0A40:lI108|H3A0ADC
+3A0ADC:lI105|H3A0B80
+3A0B80:lI99|H3A0C2C
+3A0C2C:lI97|H3A0CE8
+3A0CE8:lI116|H3A0D9C
+3A0D9C:lI105|H3A0E50
+3A0E50:lI111|H3A0F04
+3A0F04:lI110|H3A0FC0
+3A0FC0:lI47|H3A108C
+3A108C:lI120|H3A1160
+3A1160:lI45|H3A122C
+3A122C:lI116|H3A12F8
+3A12F8:lI114|H3A13CC
+3A13CC:lI111|H3A14A8
+3A14A8:lI102|H3A157C
+3A157C:lI102|N
+3A08A4:lI116|H3A0928
+3A0928:lI114|N
+3A0834:lH3A08B4|H3A08C0
+3A08B4:t2:H3A0938,H3A0940
+3A0940:lI97|H3A09C4
+3A09C4:lI112|H3A0A50
+3A0A50:lI112|H3A0AEC
+3A0AEC:lI108|H3A0B88
+3A0B88:lI105|H3A0C34
+3A0C34:lI99|H3A0CF0
+3A0CF0:lI97|H3A0DA4
+3A0DA4:lI116|H3A0E58
+3A0E58:lI105|H3A0F0C
+3A0F0C:lI111|H3A0FC8
+3A0FC8:lI110|H3A1094
+3A1094:lI47|H3A1168
+3A1168:lI120|H3A1234
+3A1234:lI45|H3A1300
+3A1300:lI116|H3A13D4
+3A13D4:lI114|H3A14B0
+3A14B0:lI111|H3A1584
+3A1584:lI102|H3A1650
+3A1650:lI102|N
+3A0938:lI114|H3A09BC
+3A09BC:lI111|H3A0A48
+3A0A48:lI102|H3A0AE4
+3A0AE4:lI102|N
+3A08C0:lH3A0948|H3A0954
+3A0948:t2:H3A09CC,H3A09D4
+3A09D4:lI97|H3A0A60
+3A0A60:lI112|H3A0AFC
+3A0AFC:lI112|H3A0B98
+3A0B98:lI108|H3A0C44
+3A0C44:lI105|H3A0D00
+3A0D00:lI99|H3A0DB4
+3A0DB4:lI97|H3A0E60
+3A0E60:lI116|H3A0F14
+3A0F14:lI105|H3A0FD0
+3A0FD0:lI111|H3A109C
+3A109C:lI110|H3A1170
+3A1170:lI47|H3A123C
+3A123C:lI120|H3A1308
+3A1308:lI45|H3A13DC
+3A13DC:lI116|H3A14B8
+3A14B8:lI101|H3A158C
+3A158C:lI120|H3A1658
+3A1658:lI105|H3A1724
+3A1724:lI110|H3A17E8
+3A17E8:lI102|H3A18AC
+3A18AC:lI111|N
+3A09CC:lI116|H3A0A58
+3A0A58:lI101|H3A0AF4
+3A0AF4:lI120|H3A0B90
+3A0B90:lI105|H3A0C3C
+3A0C3C:lI110|H3A0CF8
+3A0CF8:lI102|H3A0DAC
+3A0DAC:lI111|N
+3A0954:lH3A09DC|H3A09E8
+3A09DC:t2:H3A0A68,H3A0A70
+3A0A70:lI97|H3A0B0C
+3A0B0C:lI112|H3A0BA8
+3A0BA8:lI112|H3A0C54
+3A0C54:lI108|H3A0D08
+3A0D08:lI105|H3A0DBC
+3A0DBC:lI99|H3A0E68
+3A0E68:lI97|H3A0F1C
+3A0F1C:lI116|H3A0FD8
+3A0FD8:lI105|H3A10A4
+3A10A4:lI111|H3A1178
+3A1178:lI110|H3A1244
+3A1244:lI47|H3A1310
+3A1310:lI120|H3A13E4
+3A13E4:lI45|H3A14C0
+3A14C0:lI116|H3A1594
+3A1594:lI101|H3A1660
+3A1660:lI120|H3A172C
+3A172C:lI105|H3A17F0
+3A17F0:lI110|H3A18B4
+3A18B4:lI102|H3A1970
+3A1970:lI111|N
+3A0A68:lI116|H3A0B04
+3A0B04:lI101|H3A0BA0
+3A0BA0:lI120|H3A0C4C
+3A0C4C:lI105|N
+3A09E8:lH3A0A78|H3A0A84
+3A0A78:t2:H3A0B14,H3A0B1C
+3A0B1C:lI97|H3A0BB8
+3A0BB8:lI112|H3A0C64
+3A0C64:lI112|H3A0D10
+3A0D10:lI108|H3A0DC4
+3A0DC4:lI105|H3A0E70
+3A0E70:lI99|H3A0F24
+3A0F24:lI97|H3A0FE0
+3A0FE0:lI116|H3A10AC
+3A10AC:lI105|H3A1180
+3A1180:lI111|H3A124C
+3A124C:lI110|H3A1318
+3A1318:lI47|H3A13EC
+3A13EC:lI120|H3A14C8
+3A14C8:lI45|H3A159C
+3A159C:lI116|H3A1668
+3A1668:lI101|H3A1734
+3A1734:lI120|N
+3A0B14:lI116|H3A0BB0
+3A0BB0:lI101|H3A0C5C
+3A0C5C:lI120|N
+3A0A84:lH3A0B24|H3A0B30
+3A0B24:t2:H3A0BC0,H3A0BC8
+3A0BC8:lI97|H3A0C74
+3A0C74:lI112|H3A0D20
+3A0D20:lI112|H3A0DCC
+3A0DCC:lI108|H3A0E78
+3A0E78:lI105|H3A0F2C
+3A0F2C:lI99|H3A0FE8
+3A0FE8:lI97|H3A10B4
+3A10B4:lI116|H3A1188
+3A1188:lI105|H3A1254
+3A1254:lI111|H3A1320
+3A1320:lI110|H3A13F4
+3A13F4:lI47|H3A14D0
+3A14D0:lI120|H3A15A4
+3A15A4:lI45|H3A1670
+3A1670:lI116|H3A173C
+3A173C:lI99|H3A17F8
+3A17F8:lI108|N
+3A0BC0:lI116|H3A0C6C
+3A0C6C:lI99|H3A0D18
+3A0D18:lI108|N
+3A0B30:lH3A0BD0|H3A0BDC
+3A0BD0:t2:H3A0C7C,H3A0C84
+3A0C84:lI97|H3A0D30
+3A0D30:lI112|H3A0DDC
+3A0DDC:lI112|H3A0E80
+3A0E80:lI108|H3A0F34
+3A0F34:lI105|H3A0FF0
+3A0FF0:lI99|H3A10BC
+3A10BC:lI97|H3A1190
+3A1190:lI116|H3A125C
+3A125C:lI105|H3A1328
+3A1328:lI111|H3A13FC
+3A13FC:lI110|H3A14D8
+3A14D8:lI47|H3A15AC
+3A15AC:lI120|H3A1678
+3A1678:lI45|H3A1744
+3A1744:lI116|H3A1800
+3A1800:lI97|H3A18BC
+3A18BC:lI114|N
+3A0C7C:lI116|H3A0D28
+3A0D28:lI97|H3A0DD4
+3A0DD4:lI114|N
+3A0BDC:lH3A0C8C|H3A0C98
+3A0C8C:t2:H3A0D38,H3A0D40
+3A0D40:lI97|H3A0DEC
+3A0DEC:lI112|H3A0E90
+3A0E90:lI112|H3A0F44
+3A0F44:lI108|H3A1000
+3A1000:lI105|H3A10CC
+3A10CC:lI99|H3A1198
+3A1198:lI97|H3A1264
+3A1264:lI116|H3A1330
+3A1330:lI105|H3A1404
+3A1404:lI111|H3A14E0
+3A14E0:lI110|H3A15B4
+3A15B4:lI47|H3A1680
+3A1680:lI120|H3A174C
+3A174C:lI45|H3A1808
+3A1808:lI115|H3A18C4
+3A18C4:lI118|H3A1978
+3A1978:lI52|H3A1A2C
+3A1A2C:lI99|H3A1AE0
+3A1AE0:lI114|H3A1BA4
+3A1BA4:lI99|N
+3A0D38:lI115|H3A0DE4
+3A0DE4:lI118|H3A0E88
+3A0E88:lI52|H3A0F3C
+3A0F3C:lI99|H3A0FF8
+3A0FF8:lI114|H3A10C4
+3A10C4:lI99|N
+3A0C98:lH3A0D48|H3A0D54
+3A0D48:t2:H3A0DF4,H3A0DFC
+3A0DFC:lI97|H3A0EA0
+3A0EA0:lI112|H3A0F54
+3A0F54:lI112|H3A1010
+3A1010:lI108|H3A10DC
+3A10DC:lI105|H3A11A8
+3A11A8:lI99|H3A1274
+3A1274:lI97|H3A1338
+3A1338:lI116|H3A140C
+3A140C:lI105|H3A14E8
+3A14E8:lI111|H3A15BC
+3A15BC:lI110|H3A1688
+3A1688:lI47|H3A1754
+3A1754:lI120|H3A1810
+3A1810:lI45|H3A18CC
+3A18CC:lI115|H3A1980
+3A1980:lI118|H3A1A34
+3A1A34:lI52|H3A1AE8
+3A1AE8:lI99|H3A1BAC
+3A1BAC:lI112|H3A1C78
+3A1C78:lI105|H3A1D3C
+3A1D3C:lI111|N
+3A0DF4:lI115|H3A0E98
+3A0E98:lI118|H3A0F4C
+3A0F4C:lI52|H3A1008
+3A1008:lI99|H3A10D4
+3A10D4:lI112|H3A11A0
+3A11A0:lI105|H3A126C
+3A126C:lI111|N
+3A0D54:lH3A0E04|H3A0E10
+3A0E04:t2:H3A0EA8,H3A0EB0
+3A0EB0:lI97|H3A0F64
+3A0F64:lI112|H3A1020
+3A1020:lI112|H3A10E4
+3A10E4:lI108|H3A11B0
+3A11B0:lI105|H3A127C
+3A127C:lI99|H3A1340
+3A1340:lI97|H3A1414
+3A1414:lI116|H3A14F0
+3A14F0:lI105|H3A15C4
+3A15C4:lI111|H3A1690
+3A1690:lI110|H3A175C
+3A175C:lI47|H3A1818
+3A1818:lI120|H3A18D4
+3A18D4:lI45|H3A1988
+3A1988:lI115|H3A1A3C
+3A1A3C:lI116|H3A1AF0
+3A1AF0:lI117|H3A1BB4
+3A1BB4:lI102|H3A1C80
+3A1C80:lI102|H3A1D44
+3A1D44:lI105|H3A1E00
+3A1E00:lI116|N
+3A0EA8:lI115|H3A0F5C
+3A0F5C:lI105|H3A1018
+3A1018:lI116|N
+3A0E10:lH3A0EB8|H3A0EC4
+3A0EB8:t2:H3A0F6C,H3A0F74
+3A0F74:lI97|H3A1030
+3A1030:lI112|H3A10F4
+3A10F4:lI112|H3A11C0
+3A11C0:lI108|H3A1284
+3A1284:lI105|H3A1348
+3A1348:lI99|H3A141C
+3A141C:lI97|H3A14F8
+3A14F8:lI116|H3A15CC
+3A15CC:lI105|H3A1698
+3A1698:lI111|H3A1764
+3A1764:lI110|H3A1820
+3A1820:lI47|H3A18DC
+3A18DC:lI120|H3A1990
+3A1990:lI45|H3A1A44
+3A1A44:lI115|H3A1AF8
+3A1AF8:lI104|H3A1BBC
+3A1BBC:lI97|H3A1C88
+3A1C88:lI114|N
+3A0F6C:lI115|H3A1028
+3A1028:lI104|H3A10EC
+3A10EC:lI97|H3A11B8
+3A11B8:lI114|N
+3A0EC4:lH3A0F7C|H3A0F88
+3A0F7C:t2:H3A1038,H3A1040
+3A1040:lI97|H3A1104
+3A1104:lI112|H3A11C8
+3A11C8:lI112|H3A128C
+3A128C:lI108|H3A1350
+3A1350:lI105|H3A1424
+3A1424:lI99|H3A1500
+3A1500:lI97|H3A15D4
+3A15D4:lI116|H3A16A0
+3A16A0:lI105|H3A176C
+3A176C:lI111|H3A1828
+3A1828:lI110|H3A18E4
+3A18E4:lI47|H3A1998
+3A1998:lI120|H3A1A4C
+3A1A4C:lI45|H3A1B00
+3A1B00:lI115|H3A1BC4
+3A1BC4:lI104|N
+3A1038:lI115|H3A10FC
+3A10FC:lI104|N
+3A0F88:lH3A1048|H3A1054
+3A1048:t2:H3A110C,H3A1114
+3A1114:lI97|H3A11D8
+3A11D8:lI112|H3A1294
+3A1294:lI112|H3A1358
+3A1358:lI108|H3A142C
+3A142C:lI105|H3A1508
+3A1508:lI99|H3A15DC
+3A15DC:lI97|H3A16A8
+3A16A8:lI116|H3A1774
+3A1774:lI105|H3A1830
+3A1830:lI111|H3A18EC
+3A18EC:lI110|H3A19A0
+3A19A0:lI47|H3A1A54
+3A1A54:lI120|H3A1B08
+3A1B08:lI45|H3A1BCC
+3A1BCC:lI110|H3A1C90
+3A1C90:lI101|H3A1D4C
+3A1D4C:lI116|H3A1E08
+3A1E08:lI99|H3A1EC4
+3A1EC4:lI100|H3A1F88
+3A1F88:lI102|N
+3A110C:lI110|H3A11D0
+3A11D0:lI99|N
+3A1054:lH3A111C|H3A1128
+3A111C:t2:H3A11E0,H3A11E8
+3A11E8:lI97|H3A12A4
+3A12A4:lI112|H3A1368
+3A1368:lI112|H3A1434
+3A1434:lI108|H3A1510
+3A1510:lI105|H3A15E4
+3A15E4:lI99|H3A16B0
+3A16B0:lI97|H3A177C
+3A177C:lI116|H3A1838
+3A1838:lI105|H3A18F4
+3A18F4:lI111|H3A19A8
+3A19A8:lI110|H3A1A5C
+3A1A5C:lI47|H3A1B10
+3A1B10:lI120|H3A1BD4
+3A1BD4:lI45|H3A1C98
+3A1C98:lI110|H3A1D54
+3A1D54:lI101|H3A1E10
+3A1E10:lI116|H3A1ECC
+3A1ECC:lI99|H3A1F90
+3A1F90:lI100|H3A2044
+3A2044:lI102|N
+3A11E0:lI99|H3A129C
+3A129C:lI100|H3A1360
+3A1360:lI102|N
+3A1128:lH3A11F0|H3A11FC
+3A11F0:t2:H3A12AC,H3A12B4
+3A12B4:lI97|H3A1378
+3A1378:lI112|H3A1444
+3A1444:lI112|H3A1518
+3A1518:lI108|H3A15EC
+3A15EC:lI105|H3A16B8
+3A16B8:lI99|H3A1784
+3A1784:lI97|H3A1840
+3A1840:lI116|H3A18FC
+3A18FC:lI105|H3A19B0
+3A19B0:lI111|H3A1A64
+3A1A64:lI110|H3A1B18
+3A1B18:lI47|H3A1BDC
+3A1BDC:lI120|H3A1CA0
+3A1CA0:lI45|H3A1D5C
+3A1D5C:lI109|H3A1E18
+3A1E18:lI105|H3A1ED4
+3A1ED4:lI102|N
+3A12AC:lI109|H3A1370
+3A1370:lI105|H3A143C
+3A143C:lI102|N
+3A11FC:lH3A12BC|H3A12C8
+3A12BC:t2:H3A1380,H3A1388
+3A1388:lI97|H3A1454
+3A1454:lI112|H3A1528
+3A1528:lI112|H3A15FC
+3A15FC:lI108|H3A16C8
+3A16C8:lI105|H3A178C
+3A178C:lI99|H3A1848
+3A1848:lI97|H3A1904
+3A1904:lI116|H3A19B8
+3A19B8:lI105|H3A1A6C
+3A1A6C:lI111|H3A1B20
+3A1B20:lI110|H3A1BE4
+3A1BE4:lI47|H3A1CA8
+3A1CA8:lI120|H3A1D64
+3A1D64:lI45|H3A1E20
+3A1E20:lI108|H3A1EDC
+3A1EDC:lI97|H3A1F98
+3A1F98:lI116|H3A204C
+3A204C:lI101|H3A2108
+3A2108:lI120|N
+3A1380:lI108|H3A144C
+3A144C:lI97|H3A1520
+3A1520:lI116|H3A15F4
+3A15F4:lI101|H3A16C0
+3A16C0:lI120|N
+3A12C8:lH3A1390|H3A139C
+3A1390:t2:H3A145C,H3A1464
+3A1464:lI97|H3A1538
+3A1538:lI112|H3A160C
+3A160C:lI112|H3A16D0
+3A16D0:lI108|H3A1794
+3A1794:lI105|H3A1850
+3A1850:lI99|H3A190C
+3A190C:lI97|H3A19C0
+3A19C0:lI116|H3A1A74
+3A1A74:lI105|H3A1B28
+3A1B28:lI111|H3A1BEC
+3A1BEC:lI110|H3A1CB0
+3A1CB0:lI47|H3A1D6C
+3A1D6C:lI120|H3A1E28
+3A1E28:lI45|H3A1EE4
+3A1EE4:lI107|H3A1FA0
+3A1FA0:lI111|H3A2054
+3A2054:lI97|H3A2110
+3A2110:lI110|N
+3A145C:lI115|H3A1530
+3A1530:lI107|H3A1604
+3A1604:lI112|N
+3A139C:lH3A146C|H3A1478
+3A146C:t2:H3A1540,H3A1548
+3A1548:lI97|H3A161C
+3A161C:lI112|H3A16E0
+3A16E0:lI112|H3A179C
+3A179C:lI108|H3A1858
+3A1858:lI105|H3A1914
+3A1914:lI99|H3A19C8
+3A19C8:lI97|H3A1A7C
+3A1A7C:lI116|H3A1B30
+3A1B30:lI105|H3A1BF4
+3A1BF4:lI111|H3A1CB8
+3A1CB8:lI110|H3A1D74
+3A1D74:lI47|H3A1E30
+3A1E30:lI120|H3A1EEC
+3A1EEC:lI45|H3A1FA8
+3A1FA8:lI107|H3A205C
+3A205C:lI111|H3A2118
+3A2118:lI97|H3A21CC
+3A21CC:lI110|N
+3A1540:lI115|H3A1614
+3A1614:lI107|H3A16D8
+3A16D8:lI100|N
+3A1478:lH3A1550|H3A155C
+3A1550:t2:H3A1624,H3A162C
+3A162C:lI97|H3A16F0
+3A16F0:lI112|H3A17AC
+3A17AC:lI112|H3A1860
+3A1860:lI108|H3A191C
+3A191C:lI105|H3A19D0
+3A19D0:lI99|H3A1A84
+3A1A84:lI97|H3A1B38
+3A1B38:lI116|H3A1BFC
+3A1BFC:lI105|H3A1CC0
+3A1CC0:lI111|H3A1D7C
+3A1D7C:lI110|H3A1E38
+3A1E38:lI47|H3A1EF4
+3A1EF4:lI120|H3A1FB0
+3A1FB0:lI45|H3A2064
+3A2064:lI107|H3A2120
+3A2120:lI111|H3A21D4
+3A21D4:lI97|H3A2288
+3A2288:lI110|N
+3A1624:lI115|H3A16E8
+3A16E8:lI107|H3A17A4
+3A17A4:lI116|N
+3A155C:lH3A1634|H3A1640
+3A1634:t2:H3A16F8,H3A1700
+3A1700:lI97|H3A17BC
+3A17BC:lI112|H3A1870
+3A1870:lI112|H3A1924
+3A1924:lI108|H3A19D8
+3A19D8:lI105|H3A1A8C
+3A1A8C:lI99|H3A1B40
+3A1B40:lI97|H3A1C04
+3A1C04:lI116|H3A1CC8
+3A1CC8:lI105|H3A1D84
+3A1D84:lI111|H3A1E40
+3A1E40:lI110|H3A1EFC
+3A1EFC:lI47|H3A1FB8
+3A1FB8:lI120|H3A206C
+3A206C:lI45|H3A2128
+3A2128:lI107|H3A21DC
+3A21DC:lI111|H3A2290
+3A2290:lI97|H3A234C
+3A234C:lI110|N
+3A16F8:lI115|H3A17B4
+3A17B4:lI107|H3A1868
+3A1868:lI109|N
+3A1640:lH3A1708|H3A1714
+3A1708:t2:H3A17C4,H3A17CC
+3A17CC:lI97|H3A1880
+3A1880:lI112|H3A1934
+3A1934:lI112|H3A19E0
+3A19E0:lI108|H3A1A94
+3A1A94:lI105|H3A1B48
+3A1B48:lI99|H3A1C0C
+3A1C0C:lI97|H3A1CD0
+3A1CD0:lI116|H3A1D8C
+3A1D8C:lI105|H3A1E48
+3A1E48:lI111|H3A1F04
+3A1F04:lI110|H3A1FC0
+3A1FC0:lI47|H3A2074
+3A2074:lI120|H3A2130
+3A2130:lI45|H3A21E4
+3A21E4:lI104|H3A2298
+3A2298:lI116|H3A2354
+3A2354:lI116|H3A2410
+3A2410:lI112|H3A24C4
+3A24C4:lI100|H3A2580
+3A2580:lI45|H3A263C
+3A263C:lI99|H3A2700
+3A2700:lI103|H3A27BC
+3A27BC:lI105|N
+3A17C4:lI99|H3A1878
+3A1878:lI103|H3A192C
+3A192C:lI105|N
+3A1714:lH3A17D4|H3A17E0
+3A17D4:t2:H3A1888,H3A1890
+3A1890:lI97|H3A1944
+3A1944:lI112|H3A19F0
+3A19F0:lI112|H3A1A9C
+3A1A9C:lI108|H3A1B50
+3A1B50:lI105|H3A1C14
+3A1C14:lI99|H3A1CD8
+3A1CD8:lI97|H3A1D94
+3A1D94:lI116|H3A1E50
+3A1E50:lI105|H3A1F0C
+3A1F0C:lI111|H3A1FC8
+3A1FC8:lI110|H3A207C
+3A207C:lI47|H3A2138
+3A2138:lI120|H3A21EC
+3A21EC:lI45|H3A22A0
+3A22A0:lI104|H3A235C
+3A235C:lI100|H3A2418
+3A2418:lI102|N
+3A1888:lI104|H3A193C
+3A193C:lI100|H3A19E8
+3A19E8:lI102|N
+3A17E0:lH3A1898|H3A18A4
+3A1898:t2:H3A194C,H3A1954
+3A1954:lI97|H3A1A00
+3A1A00:lI112|H3A1AA4
+3A1AA4:lI112|H3A1B58
+3A1B58:lI108|H3A1C1C
+3A1C1C:lI105|H3A1CE0
+3A1CE0:lI99|H3A1D9C
+3A1D9C:lI97|H3A1E58
+3A1E58:lI116|H3A1F14
+3A1F14:lI105|H3A1FD0
+3A1FD0:lI111|H3A2084
+3A2084:lI110|H3A2140
+3A2140:lI47|H3A21F4
+3A21F4:lI120|H3A22A8
+3A22A8:lI45|H3A2364
+3A2364:lI103|H3A2420
+3A2420:lI122|H3A24CC
+3A24CC:lI105|H3A2588
+3A2588:lI112|N
+3A194C:lI103|H3A19F8
+3A19F8:lI122|N
+3A18A4:lH3A195C|H3A1968
+3A195C:t2:H3A1A08,H3A1A10
+3A1A10:lI97|H3A1AB4
+3A1AB4:lI112|H3A1B68
+3A1B68:lI112|H3A1C2C
+3A1C2C:lI108|H3A1CE8
+3A1CE8:lI105|H3A1DA4
+3A1DA4:lI99|H3A1E60
+3A1E60:lI97|H3A1F1C
+3A1F1C:lI116|H3A1FD8
+3A1FD8:lI105|H3A208C
+3A208C:lI111|H3A2148
+3A2148:lI110|H3A21FC
+3A21FC:lI47|H3A22B0
+3A22B0:lI120|H3A236C
+3A236C:lI45|H3A2428
+3A2428:lI103|H3A24D4
+3A24D4:lI116|H3A2590
+3A2590:lI97|H3A2644
+3A2644:lI114|N
+3A1A08:lI103|H3A1AAC
+3A1AAC:lI116|H3A1B60
+3A1B60:lI97|H3A1C24
+3A1C24:lI114|N
+3A1968:lH3A1A18|H3A1A24
+3A1A18:t2:H3A1ABC,H3A1AC4
+3A1AC4:lI97|H3A1B78
+3A1B78:lI112|H3A1C3C
+3A1C3C:lI112|H3A1CF0
+3A1CF0:lI108|H3A1DAC
+3A1DAC:lI105|H3A1E68
+3A1E68:lI99|H3A1F24
+3A1F24:lI97|H3A1FE0
+3A1FE0:lI116|H3A2094
+3A2094:lI105|H3A2150
+3A2150:lI111|H3A2204
+3A2204:lI110|H3A22B8
+3A22B8:lI47|H3A2374
+3A2374:lI120|H3A2430
+3A2430:lI45|H3A24DC
+3A24DC:lI100|H3A2598
+3A2598:lI118|H3A264C
+3A264C:lI105|N
+3A1ABC:lI100|H3A1B70
+3A1B70:lI118|H3A1C34
+3A1C34:lI105|N
+3A1A24:lH3A1ACC|H3A1AD8
+3A1ACC:t2:H3A1B80,H3A1B88
+3A1B88:lI97|H3A1C4C
+3A1C4C:lI112|H3A1D00
+3A1D00:lI112|H3A1DB4
+3A1DB4:lI108|H3A1E70
+3A1E70:lI105|H3A1F2C
+3A1F2C:lI99|H3A1FE8
+3A1FE8:lI97|H3A209C
+3A209C:lI116|H3A2158
+3A2158:lI105|H3A220C
+3A220C:lI111|H3A22C0
+3A22C0:lI110|H3A237C
+3A237C:lI47|H3A2438
+3A2438:lI120|H3A24E4
+3A24E4:lI45|H3A25A0
+3A25A0:lI100|H3A2654
+3A2654:lI105|H3A2708
+3A2708:lI114|H3A27C4
+3A27C4:lI101|H3A2880
+3A2880:lI99|H3A2944
+3A2944:lI116|H3A2A10
+3A2A10:lI111|H3A2ADC
+3A2ADC:lI114|N
+3A1B80:lI100|H3A1C44
+3A1C44:lI99|H3A1CF8
+3A1CF8:lI114|N
+3A1AD8:lH3A1B90|H3A1B9C
+3A1B90:t2:H3A1C54,H3A1C5C
+3A1C5C:lI97|H3A1D10
+3A1D10:lI112|H3A1DC4
+3A1DC4:lI112|H3A1E78
+3A1E78:lI108|H3A1F34
+3A1F34:lI105|H3A1FF0
+3A1FF0:lI99|H3A20A4
+3A20A4:lI97|H3A2160
+3A2160:lI116|H3A2214
+3A2214:lI105|H3A22C8
+3A22C8:lI111|H3A2384
+3A2384:lI110|H3A2440
+3A2440:lI47|H3A24EC
+3A24EC:lI120|H3A25A8
+3A25A8:lI45|H3A265C
+3A265C:lI100|H3A2710
+3A2710:lI105|H3A27CC
+3A27CC:lI114|H3A2888
+3A2888:lI101|H3A294C
+3A294C:lI99|H3A2A18
+3A2A18:lI116|H3A2AE4
+3A2AE4:lI111|H3A2BB0
+3A2BB0:lI114|N
+3A1C54:lI100|H3A1D08
+3A1D08:lI105|H3A1DBC
+3A1DBC:lI114|N
+3A1B9C:lH3A1C64|H3A1C70
+3A1C64:t2:H3A1D18,H3A1D20
+3A1D20:lI97|H3A1DD4
+3A1DD4:lI112|H3A1E88
+3A1E88:lI112|H3A1F3C
+3A1F3C:lI108|H3A1FF8
+3A1FF8:lI105|H3A20AC
+3A20AC:lI99|H3A2168
+3A2168:lI97|H3A221C
+3A221C:lI116|H3A22D0
+3A22D0:lI105|H3A238C
+3A238C:lI111|H3A2448
+3A2448:lI110|H3A24F4
+3A24F4:lI47|H3A25B0
+3A25B0:lI120|H3A2664
+3A2664:lI45|H3A2718
+3A2718:lI100|H3A27D4
+3A27D4:lI105|H3A2890
+3A2890:lI114|H3A2954
+3A2954:lI101|H3A2A20
+3A2A20:lI99|H3A2AEC
+3A2AEC:lI116|H3A2BB8
+3A2BB8:lI111|H3A2C74
+3A2C74:lI114|N
+3A1D18:lI100|H3A1DCC
+3A1DCC:lI120|H3A1E80
+3A1E80:lI114|N
+3A1C70:lH3A1D28|H3A1D34
+3A1D28:t2:H3A1DDC,H3A1DE4
+3A1DE4:lI97|H3A1E98
+3A1E98:lI112|H3A1F4C
+3A1F4C:lI112|H3A2000
+3A2000:lI108|H3A20B4
+3A20B4:lI105|H3A2170
+3A2170:lI99|H3A2224
+3A2224:lI97|H3A22D8
+3A22D8:lI116|H3A2394
+3A2394:lI105|H3A2450
+3A2450:lI111|H3A24FC
+3A24FC:lI110|H3A25B8
+3A25B8:lI47|H3A266C
+3A266C:lI120|H3A2720
+3A2720:lI45|H3A27DC
+3A27DC:lI99|H3A2898
+3A2898:lI115|H3A295C
+3A295C:lI104|N
+3A1DDC:lI99|H3A1E90
+3A1E90:lI115|H3A1F44
+3A1F44:lI104|N
+3A1D34:lH3A1DEC|H3A1DF8
+3A1DEC:t2:H3A1EA0,H3A1EA8
+3A1EA8:lI97|H3A1F5C
+3A1F5C:lI112|H3A2010
+3A2010:lI112|H3A20C4
+3A20C4:lI108|H3A2178
+3A2178:lI105|H3A222C
+3A222C:lI99|H3A22E0
+3A22E0:lI97|H3A239C
+3A239C:lI116|H3A2458
+3A2458:lI105|H3A2504
+3A2504:lI111|H3A25C0
+3A25C0:lI110|H3A2674
+3A2674:lI47|H3A2728
+3A2728:lI120|H3A27E4
+3A27E4:lI45|H3A28A0
+3A28A0:lI99|H3A2964
+3A2964:lI112|H3A2A28
+3A2A28:lI105|H3A2AF4
+3A2AF4:lI111|N
+3A1EA0:lI99|H3A1F54
+3A1F54:lI112|H3A2008
+3A2008:lI105|H3A20BC
+3A20BC:lI111|N
+3A1DF8:lH3A1EB0|H3A1EBC
+3A1EB0:t2:H3A1F64,H3A1F6C
+3A1F6C:lI97|H3A2018
+3A2018:lI112|H3A20CC
+3A20CC:lI112|H3A2180
+3A2180:lI108|H3A2234
+3A2234:lI105|H3A22E8
+3A22E8:lI99|H3A23A4
+3A23A4:lI97|H3A2460
+3A2460:lI116|H3A250C
+3A250C:lI105|H3A25C8
+3A25C8:lI111|H3A267C
+3A267C:lI110|H3A2730
+3A2730:lI47|H3A27EC
+3A27EC:lI120|H3A28A8
+3A28A8:lI45|H3A296C
+3A296C:lI99|H3A2A30
+3A2A30:lI111|H3A2AFC
+3A2AFC:lI109|H3A2BC0
+3A2BC0:lI112|H3A2C7C
+3A2C7C:lI114|H3A2D2C
+3A2D2C:lI101|H3A2DD4
+3A2DD4:lI115|H3A2E6C
+3A2E6C:lI115|N
+3A1F64:lI90|N
+3A1EBC:lH3A1F74|H3A1F80
+3A1F74:t2:H3A2020,H3A2028
+3A2028:lI97|H3A20DC
+3A20DC:lI112|H3A2190
+3A2190:lI112|H3A223C
+3A223C:lI108|H3A22F0
+3A22F0:lI105|H3A23AC
+3A23AC:lI99|H3A2468
+3A2468:lI97|H3A2514
+3A2514:lI116|H3A25D0
+3A25D0:lI105|H3A2684
+3A2684:lI111|H3A2738
+3A2738:lI110|H3A27F4
+3A27F4:lI47|H3A28B0
+3A28B0:lI120|H3A2974
+3A2974:lI45|H3A2A38
+3A2A38:lI99|H3A2B04
+3A2B04:lI100|H3A2BC8
+3A2BC8:lI108|H3A2C84
+3A2C84:lI105|H3A2D34
+3A2D34:lI110|H3A2DDC
+3A2DDC:lI107|N
+3A2020:lI118|H3A20D4
+3A20D4:lI99|H3A2188
+3A2188:lI100|N
+3A1F80:lH3A2030|H3A203C
+3A2030:t2:H3A20E4,H3A20EC
+3A20EC:lI97|H3A21A0
+3A21A0:lI112|H3A224C
+3A224C:lI112|H3A2300
+3A2300:lI108|H3A23BC
+3A23BC:lI105|H3A2470
+3A2470:lI99|H3A251C
+3A251C:lI97|H3A25D8
+3A25D8:lI116|H3A268C
+3A268C:lI105|H3A2740
+3A2740:lI111|H3A27FC
+3A27FC:lI110|H3A28B8
+3A28B8:lI47|H3A297C
+3A297C:lI120|H3A2A40
+3A2A40:lI45|H3A2B0C
+3A2B0C:lI98|H3A2BD0
+3A2BD0:lI99|H3A2C8C
+3A2C8C:lI112|H3A2D3C
+3A2D3C:lI105|H3A2DE4
+3A2DE4:lI111|N
+3A20E4:lI98|H3A2198
+3A2198:lI99|H3A2244
+3A2244:lI112|H3A22F8
+3A22F8:lI105|H3A23B4
+3A23B4:lI111|N
+3A203C:lH3A20F4|H3A2100
+3A20F4:t2:H3A21A8,H3A21B0
+3A21B0:lI97|H3A225C
+3A225C:lI112|H3A2310
+3A2310:lI112|H3A23C4
+3A23C4:lI108|H3A2478
+3A2478:lI105|H3A2524
+3A2524:lI99|H3A25E0
+3A25E0:lI97|H3A2694
+3A2694:lI116|H3A2748
+3A2748:lI105|H3A2804
+3A2804:lI111|H3A28C0
+3A28C0:lI110|H3A2984
+3A2984:lI47|H3A2A48
+3A2A48:lI114|H3A2B14
+3A2B14:lI116|H3A2BD8
+3A2BD8:lI102|N
+3A21A8:lI114|H3A2254
+3A2254:lI116|H3A2308
+3A2308:lI102|N
+3A2100:lH3A21B8|H3A21C4
+3A21B8:t2:H3A2264,H3A226C
+3A226C:lI97|H3A2320
+3A2320:lI112|H3A23D4
+3A23D4:lI112|H3A2480
+3A2480:lI108|H3A252C
+3A252C:lI105|H3A25E8
+3A25E8:lI99|H3A269C
+3A269C:lI97|H3A2750
+3A2750:lI116|H3A280C
+3A280C:lI105|H3A28C8
+3A28C8:lI111|H3A298C
+3A298C:lI110|H3A2A50
+3A2A50:lI47|H3A2B1C
+3A2B1C:lI112|H3A2BE0
+3A2BE0:lI111|H3A2C94
+3A2C94:lI119|H3A2D44
+3A2D44:lI101|H3A2DEC
+3A2DEC:lI114|H3A2E74
+3A2E74:lI112|H3A2EEC
+3A2EEC:lI111|H3A2F64
+3A2F64:lI105|H3A2FD4
+3A2FD4:lI110|H3A303C
+3A303C:lI116|N
+3A2264:lI112|H3A2318
+3A2318:lI112|H3A23CC
+3A23CC:lI116|N
+3A21C4:lH3A2274|H3A2280
+3A2274:t2:H3A2328,H3A2330
+3A2330:lI97|H3A23E4
+3A23E4:lI112|H3A2488
+3A2488:lI112|H3A2534
+3A2534:lI108|H3A25F0
+3A25F0:lI105|H3A26A4
+3A26A4:lI99|H3A2758
+3A2758:lI97|H3A2814
+3A2814:lI116|H3A28D0
+3A28D0:lI105|H3A2994
+3A2994:lI111|H3A2A58
+3A2A58:lI110|H3A2B24
+3A2B24:lI47|H3A2BE8
+3A2BE8:lI112|H3A2C9C
+3A2C9C:lI111|H3A2D4C
+3A2D4C:lI115|H3A2DF4
+3A2DF4:lI116|H3A2E7C
+3A2E7C:lI115|H3A2EF4
+3A2EF4:lI99|H3A2F6C
+3A2F6C:lI114|H3A2FDC
+3A2FDC:lI105|H3A3044
+3A3044:lI112|H3A30A4
+3A30A4:lI116|N
+3A2328:lI97|H3A23DC
+3A23DC:lI105|N
+3A2280:lH3A2338|H3A2344
+3A2338:t2:H3A23EC,H3A23F4
+3A23F4:lI97|H3A2498
+3A2498:lI112|H3A2544
+3A2544:lI112|H3A25F8
+3A25F8:lI108|H3A26AC
+3A26AC:lI105|H3A2760
+3A2760:lI99|H3A281C
+3A281C:lI97|H3A28D8
+3A28D8:lI116|H3A299C
+3A299C:lI105|H3A2A60
+3A2A60:lI111|H3A2B2C
+3A2B2C:lI110|H3A2BF0
+3A2BF0:lI47|H3A2CA4
+3A2CA4:lI112|H3A2D54
+3A2D54:lI111|H3A2DFC
+3A2DFC:lI115|H3A2E84
+3A2E84:lI116|H3A2EFC
+3A2EFC:lI115|H3A2F74
+3A2F74:lI99|H3A2FE4
+3A2FE4:lI114|H3A304C
+3A304C:lI105|H3A30AC
+3A30AC:lI112|H3A3104
+3A3104:lI116|N
+3A23EC:lI101|H3A2490
+3A2490:lI112|H3A253C
+3A253C:lI115|N
+3A2344:lH3A23FC|H3A2408
+3A23FC:t2:H3A24A0,H3A24A8
+3A24A8:lI97|H3A2554
+3A2554:lI112|H3A2600
+3A2600:lI112|H3A26B4
+3A26B4:lI108|H3A2768
+3A2768:lI105|H3A2824
+3A2824:lI99|H3A28E0
+3A28E0:lI97|H3A29A4
+3A29A4:lI116|H3A2A68
+3A2A68:lI105|H3A2B34
+3A2B34:lI111|H3A2BF8
+3A2BF8:lI110|H3A2CAC
+3A2CAC:lI47|H3A2D5C
+3A2D5C:lI112|H3A2E04
+3A2E04:lI111|H3A2E8C
+3A2E8C:lI115|H3A2F04
+3A2F04:lI116|H3A2F7C
+3A2F7C:lI115|H3A2FEC
+3A2FEC:lI99|H3A3054
+3A3054:lI114|H3A30B4
+3A30B4:lI105|H3A310C
+3A310C:lI112|H3A315C
+3A315C:lI116|N
+3A24A0:lI112|H3A254C
+3A254C:lI115|N
+3A2408:lH3A24B0|H3A24BC
+3A24B0:t2:H3A255C,H3A2564
+3A2564:lI97|H3A2610
+3A2610:lI112|H3A26C4
+3A26C4:lI112|H3A2770
+3A2770:lI108|H3A282C
+3A282C:lI105|H3A28E8
+3A28E8:lI99|H3A29AC
+3A29AC:lI97|H3A2A70
+3A2A70:lI116|H3A2B3C
+3A2B3C:lI105|H3A2C00
+3A2C00:lI111|H3A2CB4
+3A2CB4:lI110|H3A2D64
+3A2D64:lI47|H3A2E0C
+3A2E0C:lI112|H3A2E94
+3A2E94:lI100|H3A2F0C
+3A2F0C:lI102|N
+3A255C:lI112|H3A2608
+3A2608:lI100|H3A26BC
+3A26BC:lI102|N
+3A24BC:lH3A256C|H3A2578
+3A256C:t2:H3A2618,H3A2620
+3A2620:lI97|H3A26D4
+3A26D4:lI112|H3A2780
+3A2780:lI112|H3A2834
+3A2834:lI108|H3A28F0
+3A28F0:lI105|H3A29B4
+3A29B4:lI99|H3A2A78
+3A2A78:lI97|H3A2B44
+3A2B44:lI116|H3A2C08
+3A2C08:lI105|H3A2CBC
+3A2CBC:lI111|H3A2D6C
+3A2D6C:lI110|H3A2E14
+3A2E14:lI47|H3A2E9C
+3A2E9C:lI111|H3A2F14
+3A2F14:lI100|H3A2F84
+3A2F84:lI97|N
+3A2618:lI111|H3A26CC
+3A26CC:lI100|H3A2778
+3A2778:lI97|N
+3A2578:lH3A2628|H3A2634
+3A2628:t2:H3A26DC,H3A26E4
+3A26E4:lI97|H3A2790
+3A2790:lI112|H3A2844
+3A2844:lI112|H3A28F8
+3A28F8:lI108|H3A29BC
+3A29BC:lI105|H3A2A80
+3A2A80:lI99|H3A2B4C
+3A2B4C:lI97|H3A2C10
+3A2C10:lI116|H3A2CC4
+3A2CC4:lI105|H3A2D74
+3A2D74:lI111|H3A2E1C
+3A2E1C:lI110|H3A2EA4
+3A2EA4:lI47|H3A2F1C
+3A2F1C:lI111|H3A2F8C
+3A2F8C:lI99|H3A2FF4
+3A2FF4:lI116|H3A305C
+3A305C:lI101|H3A30BC
+3A30BC:lI116|H3A3114
+3A3114:lI45|H3A3164
+3A3164:lI115|H3A31AC
+3A31AC:lI116|H3A31F4
+3A31F4:lI114|H3A323C
+3A323C:lI101|H3A3284
+3A3284:lI97|H3A32CC
+3A32CC:lI109|N
+3A26DC:lI98|H3A2788
+3A2788:lI105|H3A283C
+3A283C:lI110|N
+3A2634:lH3A26EC|H3A26F8
+3A26EC:t2:H3A2798,H3A27A0
+3A27A0:lI97|H3A2854
+3A2854:lI112|H3A2908
+3A2908:lI112|H3A29C4
+3A29C4:lI108|H3A2A88
+3A2A88:lI105|H3A2B54
+3A2B54:lI99|H3A2C18
+3A2C18:lI97|H3A2CCC
+3A2CCC:lI116|H3A2D7C
+3A2D7C:lI105|H3A2E24
+3A2E24:lI111|H3A2EAC
+3A2EAC:lI110|H3A2F24
+3A2F24:lI47|H3A2F94
+3A2F94:lI111|H3A2FFC
+3A2FFC:lI99|H3A3064
+3A3064:lI116|H3A30C4
+3A30C4:lI101|H3A311C
+3A311C:lI116|H3A316C
+3A316C:lI45|H3A31B4
+3A31B4:lI115|H3A31FC
+3A31FC:lI116|H3A3244
+3A3244:lI114|H3A328C
+3A328C:lI101|H3A32D4
+3A32D4:lI97|H3A3314
+3A3314:lI109|N
+3A2798:lI100|H3A284C
+3A284C:lI109|H3A2900
+3A2900:lI115|N
+3A26F8:lH3A27A8|H3A27B4
+3A27A8:t2:H3A285C,H3A2864
+3A2864:lI97|H3A2918
+3A2918:lI112|H3A29D4
+3A29D4:lI112|H3A2A90
+3A2A90:lI108|H3A2B5C
+3A2B5C:lI105|H3A2C20
+3A2C20:lI99|H3A2CD4
+3A2CD4:lI97|H3A2D84
+3A2D84:lI116|H3A2E2C
+3A2E2C:lI105|H3A2EB4
+3A2EB4:lI111|H3A2F2C
+3A2F2C:lI110|H3A2F9C
+3A2F9C:lI47|H3A3004
+3A3004:lI111|H3A306C
+3A306C:lI99|H3A30CC
+3A30CC:lI116|H3A3124
+3A3124:lI101|H3A3174
+3A3174:lI116|H3A31BC
+3A31BC:lI45|H3A3204
+3A3204:lI115|H3A324C
+3A324C:lI116|H3A3294
+3A3294:lI114|H3A32DC
+3A32DC:lI101|H3A331C
+3A331C:lI97|H3A334C
+3A334C:lI109|N
+3A285C:lI108|H3A2910
+3A2910:lI104|H3A29CC
+3A29CC:lI97|N
+3A27B4:lH3A286C|H3A2878
+3A286C:t2:H3A2920,H3A2928
+3A2928:lI97|H3A29E4
+3A29E4:lI112|H3A2AA0
+3A2AA0:lI112|H3A2B64
+3A2B64:lI108|H3A2C28
+3A2C28:lI105|H3A2CDC
+3A2CDC:lI99|H3A2D8C
+3A2D8C:lI97|H3A2E34
+3A2E34:lI116|H3A2EBC
+3A2EBC:lI105|H3A2F34
+3A2F34:lI111|H3A2FA4
+3A2FA4:lI110|H3A300C
+3A300C:lI47|H3A3074
+3A3074:lI111|H3A30D4
+3A30D4:lI99|H3A312C
+3A312C:lI116|H3A317C
+3A317C:lI101|H3A31C4
+3A31C4:lI116|H3A320C
+3A320C:lI45|H3A3254
+3A3254:lI115|H3A329C
+3A329C:lI116|H3A32E4
+3A32E4:lI114|H3A3324
+3A3324:lI101|H3A3354
+3A3354:lI97|H3A337C
+3A337C:lI109|N
+3A2920:lI108|H3A29DC
+3A29DC:lI122|H3A2A98
+3A2A98:lI104|N
+3A2878:lH3A2930|H3A293C
+3A2930:t2:H3A29EC,H3A29F4
+3A29F4:lI97|H3A2AB0
+3A2AB0:lI112|H3A2B74
+3A2B74:lI112|H3A2C30
+3A2C30:lI108|H3A2CE4
+3A2CE4:lI105|H3A2D94
+3A2D94:lI99|H3A2E3C
+3A2E3C:lI97|H3A2EC4
+3A2EC4:lI116|H3A2F3C
+3A2F3C:lI105|H3A2FAC
+3A2FAC:lI111|H3A3014
+3A3014:lI110|H3A307C
+3A307C:lI47|H3A30DC
+3A30DC:lI111|H3A3134
+3A3134:lI99|H3A3184
+3A3184:lI116|H3A31CC
+3A31CC:lI101|H3A3214
+3A3214:lI116|H3A325C
+3A325C:lI45|H3A32A4
+3A32A4:lI115|H3A32EC
+3A32EC:lI116|H3A332C
+3A332C:lI114|H3A335C
+3A335C:lI101|H3A3384
+3A3384:lI97|H3A33A4
+3A33A4:lI109|N
+3A29EC:lI101|H3A2AA8
+3A2AA8:lI120|H3A2B6C
+3A2B6C:lI101|N
+3A293C:lH3A29FC|H3A2A08
+3A29FC:t2:H3A2AB8,H3A2AC0
+3A2AC0:lI97|H3A2B84
+3A2B84:lI112|H3A2C40
+3A2C40:lI112|H3A2CF4
+3A2CF4:lI108|H3A2DA4
+3A2DA4:lI105|H3A2E44
+3A2E44:lI99|H3A2ECC
+3A2ECC:lI97|H3A2F44
+3A2F44:lI116|H3A2FB4
+3A2FB4:lI105|H3A301C
+3A301C:lI111|H3A3084
+3A3084:lI110|H3A30E4
+3A30E4:lI47|H3A313C
+3A313C:lI111|H3A318C
+3A318C:lI99|H3A31D4
+3A31D4:lI116|H3A321C
+3A321C:lI101|H3A3264
+3A3264:lI116|H3A32AC
+3A32AC:lI45|H3A32F4
+3A32F4:lI115|H3A3334
+3A3334:lI116|H3A3364
+3A3364:lI114|H3A338C
+3A338C:lI101|H3A33AC
+3A33AC:lI97|H3A33C4
+3A33C4:lI109|N
+3A2AB8:lI99|H3A2B7C
+3A2B7C:lI108|H3A2C38
+3A2C38:lI97|H3A2CEC
+3A2CEC:lI115|H3A2D9C
+3A2D9C:lI115|N
+3A2A08:lH3A2AC8|H3A2AD4
+3A2AC8:t2:H3A2B8C,H3A2B94
+3A2B94:lI97|H3A2C50
+3A2C50:lI112|H3A2D04
+3A2D04:lI112|H3A2DAC
+3A2DAC:lI108|H3A2E4C
+3A2E4C:lI105|H3A2ED4
+3A2ED4:lI99|H3A2F4C
+3A2F4C:lI97|H3A2FBC
+3A2FBC:lI116|H3A3024
+3A3024:lI105|H3A308C
+3A308C:lI111|H3A30EC
+3A30EC:lI110|H3A3144
+3A3144:lI47|H3A3194
+3A3194:lI109|H3A31DC
+3A31DC:lI115|H3A3224
+3A3224:lI119|H3A326C
+3A326C:lI111|H3A32B4
+3A32B4:lI114|H3A32FC
+3A32FC:lI100|N
+3A2B8C:lI100|H3A2C48
+3A2C48:lI111|H3A2CFC
+3A2CFC:lI99|N
+3A2AD4:lH3A2B9C|H3A2BA8
+3A2B9C:t2:H3A2C58,H3A2C60
+3A2C60:lI97|H3A2D14
+3A2D14:lI112|H3A2DBC
+3A2DBC:lI112|H3A2E54
+3A2E54:lI108|H3A2EDC
+3A2EDC:lI105|H3A2F54
+3A2F54:lI99|H3A2FC4
+3A2FC4:lI97|H3A302C
+3A302C:lI116|H3A3094
+3A3094:lI105|H3A30F4
+3A30F4:lI111|H3A314C
+3A314C:lI110|H3A319C
+3A319C:lI47|H3A31E4
+3A31E4:lI109|H3A322C
+3A322C:lI97|H3A3274
+3A3274:lI99|H3A32BC
+3A32BC:lI45|H3A3304
+3A3304:lI99|H3A333C
+3A333C:lI111|H3A336C
+3A336C:lI109|H3A3394
+3A3394:lI112|H3A33B4
+3A33B4:lI97|H3A33CC
+3A33CC:lI99|H3A33DC
+3A33DC:lI116|H3A33EC
+3A33EC:lI112|H3A33FC
+3A33FC:lI114|H3A340C
+3A340C:lI111|N
+3A2C58:lI99|H3A2D0C
+3A2D0C:lI112|H3A2DB4
+3A2DB4:lI116|N
+3A2BA8:lH3A2C68|N
+3A2C68:t2:H3A2D1C,H3A2D24
+3A2D24:lI97|H3A2DCC
+3A2DCC:lI112|H3A2E64
+3A2E64:lI112|H3A2EE4
+3A2EE4:lI108|H3A2F5C
+3A2F5C:lI105|H3A2FCC
+3A2FCC:lI99|H3A3034
+3A3034:lI97|H3A309C
+3A309C:lI116|H3A30FC
+3A30FC:lI105|H3A3154
+3A3154:lI111|H3A31A4
+3A31A4:lI110|H3A31EC
+3A31EC:lI47|H3A3234
+3A3234:lI109|H3A327C
+3A327C:lI97|H3A32C4
+3A32C4:lI99|H3A330C
+3A330C:lI45|H3A3344
+3A3344:lI98|H3A3374
+3A3374:lI105|H3A339C
+3A339C:lI110|H3A33BC
+3A33BC:lI104|H3A33D4
+3A33D4:lI101|H3A33E4
+3A33E4:lI120|H3A33F4
+3A33F4:lI52|H3A3404
+3A3404:lI48|N
+3A2D1C:lI104|H3A2DC4
+3A2DC4:lI113|H3A2E5C
+3A2E5C:lI120|N
+39DC28:lH39DC68|H39DC74
+39DC68:t2:A4:port,I8888
+39DC74:lH39DCA8|H39DCB4
+39DCA8:t2:AC:bind_address,H39DCF8
+39DCF8:t4:I127,I0,I0,I1
+39DCB4:lH39DD0C|H39DD18
+39DD0C:t2:AB:server_name,H39DD6C
+39DD6C:lI108|H39DDE4
+39DDE4:lI111|H39DE5C
+39DE5C:lI99|H39DEE4
+39DEE4:lI97|H39DF6C
+39DF6C:lI108|H39E00C
+39E00C:lI104|H39E0B4
+39E0B4:lI111|H39E16C
+39E16C:lI115|H39E238
+39E238:lI116|N
+39DD18:lH39DD74|H39DD80
+39DD74:t2:AE:max_header_siz,I1024
+39DD80:lH39DDEC|H39DDF8
+39DDEC:t2:A11:max_header_action,A8:reply414
+39DDF8:lH39DE64|H39DE70
+39DE64:t2:A8:com_type,A7:ip_comm
+39DE70:lH39DEEC|H39DEF8
+39DEEC:t2:A7:modules,H39DF74
+39DF74:lA9:mod_alias|H39E014
+39E014:lA8:mod_auth|H39E0BC
+39E0BC:lA7:mod_esi|H39E174
+39E174:lAB:mod_actions|H39E240
+39E240:lA7:mod_cgi|H39E324
+39E324:lAB:mod_include|H39E418
+39E418:lA7:mod_dir|H39E51C
+39E51C:lA7:mod_get|H39E634
+39E634:lA8:mod_head|H39E748
+39E748:lA7:mod_log|H39E85C
+39E85C:lAC:mod_disk_log|N
+39DEF8:lH39DF7C|H39DF88
+39DF7C:t2:AF:directory_index,H39E01C
+39E01C:lH39E0C4|N
+39E0C4:lI105|H39E17C
+39E17C:lI110|H39E248
+39E248:lI100|H39E32C
+39E32C:lI101|H39E420
+39E420:lI120|H39E524
+39E524:lI46|H39E63C
+39E63C:lI104|H39E750
+39E750:lI116|H39E864
+39E864:lI109|H39E978
+39E978:lI108|N
+39DF88:lH39E024|H39E030
+39E024:t2:AC:default_type,H39E0CC
+39E0CC:lI116|H39E184
+39E184:lI101|H39E250
+39E250:lI120|H39E334
+39E334:lI116|H39E428
+39E428:lI47|H39E52C
+39E52C:lI112|H39E644
+39E644:lI108|H39E758
+39E758:lI97|H39E86C
+39E86C:lI105|H39E980
+39E980:lI110|N
+39E030:lH39E0D4|H39E0E0
+39E0D4:t2:A10:erl_script_alias,H39E18C
+39E18C:t2:H39E258,H39E260
+39E260:lH39E344|N
+39E344:lI119|H39E438
+39E438:lI101|H39E53C
+39E53C:lI98|H39E654
+39E654:lI116|H39E768
+39E768:lI111|H39E87C
+39E87C:lI111|H39E990
+39E990:lI108|N
+39E258:lI47|H39E33C
+39E33C:lI119|H39E430
+39E430:lI101|H39E534
+39E534:lI98|H39E64C
+39E64C:lI116|H39E760
+39E760:lI111|H39E874
+39E874:lI111|H39E988
+39E988:lI108|N
+39E0E0:lH39E198|H39E1A4
+39E198:t2:A5:alias,H39E268
+39E268:t2:H39E34C,H39E354
+39E354:lI47|H39E448
+39E448:lI99|H39E54C
+39E54C:lI108|H39E664
+39E664:lI101|H39E778
+39E778:lI97|H39E88C
+39E88C:lI114|H39E9A0
+39E9A0:lI99|H39EA94
+39EA94:lI97|H39EB88
+39EB88:lI115|H39EC7C
+39EC7C:lI101|H39ED70
+39ED70:lI47|H39EE4C
+39EE4C:lI111|H39EF20
+39EF20:lI116|H39EFFC
+39EFFC:lI112|H39F0E0
+39F0E0:lI47|H39F1B4
+39F1B4:lI101|H39F288
+39F288:lI114|H39F344
+39F344:lI116|H39F408
+39F408:lI115|H39F4D4
+39F4D4:lI47|H39F5A8
+39F5A8:lI108|H39F67C
+39F67C:lI105|H39F750
+39F750:lI98|H39F824
+39F824:lI47|H39F908
+39F908:lI111|H39F9E4
+39F9E4:lI98|H39FAC0
+39FAC0:lI115|H39FB9C
+39FB9C:lI101|H39FC68
+39FC68:lI114|H39FD2C
+39FD2C:lI118|H39FDF8
+39FDF8:lI101|H39FEB4
+39FEB4:lI114|H39FF70
+39FF70:lI47|H3A0024
+3A0024:lI112|H3A00D8
+3A00D8:lI114|H3A0184
+3A0184:lI105|H3A0238
+3A0238:lI118|H3A02F4
+3A02F4:lI47|H3A03A8
+3A03A8:lI99|H3A0444
+3A0444:lI114|H3A04E8
+3A04E8:lI97|H3A058C
+3A058C:lI115|H3A0638
+3A0638:lI104|H3A06EC
+3A06EC:lI100|H3A0798
+3A0798:lI117|H3A083C
+3A083C:lI109|H3A08C8
+3A08C8:lI112|H3A095C
+3A095C:lI95|H3A09F0
+3A09F0:lI118|H3A0A8C
+3A0A8C:lI105|H3A0B38
+3A0B38:lI101|H3A0BE4
+3A0BE4:lI119|H3A0CA0
+3A0CA0:lI101|H3A0D5C
+3A0D5C:lI114|N
+39E34C:lI47|H39E440
+39E440:lI99|H39E544
+39E544:lI114|H39E65C
+39E65C:lI97|H39E770
+39E770:lI115|H39E884
+39E884:lI104|H39E998
+39E998:lI100|H39EA8C
+39EA8C:lI117|H39EB80
+39EB80:lI109|H39EC74
+39EC74:lI112|H39ED68
+39ED68:lI95|H39EE44
+39EE44:lI118|H39EF18
+39EF18:lI105|H39EFF4
+39EFF4:lI101|H39F0D8
+39F0D8:lI119|H39F1AC
+39F1AC:lI101|H39F280
+39F280:lI114|N
+39E1A4:lH39E274|H39E280
+39E274:t2:A5:alias,H39E35C
+39E35C:t2:H39E450,H39E458
+39E458:lI47|H39E55C
+39E55C:lI99|H39E674
+39E674:lI108|H39E788
+39E788:lI101|H39E89C
+39E89C:lI97|H39E9B0
+39E9B0:lI114|H39EAA4
+39EAA4:lI99|H39EB98
+39EB98:lI97|H39EC8C
+39EC8C:lI115|H39ED80
+39ED80:lI101|H39EE5C
+39EE5C:lI47|H39EF30
+39EF30:lI111|H39F00C
+39F00C:lI116|H39F0F0
+39F0F0:lI112|H39F1C4
+39F1C4:lI47|H39F298
+39F298:lI101|H39F354
+39F354:lI114|H39F418
+39F418:lI116|H39F4E4
+39F4E4:lI115|H39F5B0
+39F5B0:lI47|H39F684
+39F684:lI101|H39F758
+39F758:lI114|H39F82C
+39F82C:lI116|H39F910
+39F910:lI115|H39F9EC
+39F9EC:lI47|H39FAC8
+39FAC8:lI100|H39FBA4
+39FBA4:lI111|H39FC70
+39FC70:lI99|H39FD34
+39FD34:lI47|H39FE00
+39FE00:lI104|H39FEBC
+39FEBC:lI116|H39FF78
+39FF78:lI109|H3A002C
+3A002C:lI108|N
+39E450:lI47|H39E554
+39E554:lI99|H39E66C
+39E66C:lI114|H39E780
+39E780:lI97|H39E894
+39E894:lI115|H39E9A8
+39E9A8:lI104|H39EA9C
+39EA9C:lI100|H39EB90
+39EB90:lI117|H39EC84
+39EC84:lI109|H39ED78
+39ED78:lI112|H39EE54
+39EE54:lI95|H39EF28
+39EF28:lI101|H39F004
+39F004:lI114|H39F0E8
+39F0E8:lI116|H39F1BC
+39F1BC:lI115|H39F290
+39F290:lI95|H39F34C
+39F34C:lI100|H39F410
+39F410:lI111|H39F4DC
+39F4DC:lI99|N
+39E280:lH39E368|H39E374
+39E368:t2:A5:alias,H39E460
+39E460:t2:H39E564,H39E56C
+39E56C:lI47|H39E684
+39E684:lI99|H39E798
+39E798:lI108|H39E8AC
+39E8AC:lI101|H39E9C0
+39E9C0:lI97|H39EAB4
+39EAB4:lI114|H39EBA8
+39EBA8:lI99|H39EC9C
+39EC9C:lI97|H39ED90
+39ED90:lI115|H39EE6C
+39EE6C:lI101|H39EF40
+39EF40:lI47|H39F01C
+39F01C:lI111|H39F100
+39F100:lI116|H39F1D4
+39F1D4:lI112|H39F2A0
+39F2A0:lI47|H39F35C
+39F35C:lI101|H39F420
+39F420:lI114|H39F4EC
+39F4EC:lI116|H39F5B8
+39F5B8:lI115|H39F68C
+39F68C:lI47|H39F760
+39F760:lI108|H39F834
+39F834:lI105|H39F918
+39F918:lI98|H39F9F4
+39F9F4:lI47|H39FAD0
+39FAD0:lI111|H39FBAC
+39FBAC:lI98|H39FC78
+39FC78:lI115|H39FD3C
+39FD3C:lI101|H39FE08
+39FE08:lI114|H39FEC4
+39FEC4:lI118|H39FF80
+39FF80:lI101|H3A0034
+3A0034:lI114|H3A00E0
+3A00E0:lI47|H3A018C
+3A018C:lI100|H3A0240
+3A0240:lI111|H3A02FC
+3A02FC:lI99|H3A03B0
+3A03B0:lI47|H3A044C
+3A044C:lI104|H3A04F0
+3A04F0:lI116|H3A0594
+3A0594:lI109|H3A0640
+3A0640:lI108|N
+39E564:lI47|H39E67C
+39E67C:lI99|H39E790
+39E790:lI114|H39E8A4
+39E8A4:lI97|H39E9B8
+39E9B8:lI115|H39EAAC
+39EAAC:lI104|H39EBA0
+39EBA0:lI100|H39EC94
+39EC94:lI117|H39ED88
+39ED88:lI109|H39EE64
+39EE64:lI112|H39EF38
+39EF38:lI95|H39F014
+39F014:lI100|H39F0F8
+39F0F8:lI111|H39F1CC
+39F1CC:lI99|N
+39E374:lH39E46C|N
+39E46C:t2:A10:erl_script_alias,H39E574
+39E574:t2:H39E68C,H39E694
+39E694:lH39E7A8|N
+39E7A8:lI99|H39E8BC
+39E8BC:lI114|H39E9D0
+39E9D0:lI97|H39EAC4
+39EAC4:lI115|H39EBB8
+39EBB8:lI104|H39ECAC
+39ECAC:lI100|H39EDA0
+39EDA0:lI117|H39EE74
+39EE74:lI109|H39EF48
+39EF48:lI112|H39F024
+39F024:lI95|H39F108
+39F108:lI118|H39F1DC
+39F1DC:lI105|H39F2A8
+39F2A8:lI101|H39F364
+39F364:lI119|H39F428
+39F428:lI101|H39F4F4
+39F4F4:lI114|N
+39E68C:lI47|H39E7A0
+39E7A0:lI99|H39E8B4
+39E8B4:lI100|H39E9C8
+39E9C8:lI118|H39EABC
+39EABC:lI95|H39EBB0
+39EBB0:lI101|H39ECA4
+39ECA4:lI114|H39ED98
+39ED98:lI108|N
+39DB58:lN|H39DB9C
+39DB9C:lH39D9FC|H39DBEC
+39D9FC:t4:I127,I0,I0,I1
+39DBEC:lI8888|N
+3A3E20:lH3A3DFC|H3A3704
+3A3DFC:t8:A5:child,P<0.46.0>,H39DAC8,H39DAD8,A9:permanent,I2000,A6:worker,H39DAE8
+39DAE8:lAD:httpd_manager|H39DB38
+39DB38:lAA:gen_server|N
+39DAD8:t3:AD:httpd_manager,AA:start_link,H39DB30
+39DB30:lA9:undefined|H39DB78
+39DB78:lH39DB50|H39DBC0
+39DBC0:lN|N
+39DAC8:t3:AD:httpd_manager,H39D9FC,I8888
+3A3704:lH3A36E0|H39D998
+3A36E0:t8:A5:child,P<0.45.0>,H39DA18,H39DA28,A9:permanent,I2000,AA:supervisor,H39DA38
+39DA38:lAE:httpd_misc_sup|H39DAC0
+39DAC0:lAA:supervisor|N
+39DA28:t3:AE:httpd_misc_sup,A5:start,H39D958
+39D958:lH39D9FC|H39DA10
+39DA10:lI8888|H39DAB8
+39DAB8:lA7:silence|N
+39DA18:t3:AE:httpd_misc_sup,H39D9FC,I8888
+39D998:lH39DA64|N
+39DA64:t8:A5:child,P<0.44.0>,H39DAF0,H39DB00,A9:permanent,I2000,AA:supervisor,H39DB10
+39DB10:lA12:httpd_acceptor_sup|H39DB48
+39DB48:lAA:supervisor|N
+39DB00:t3:A12:httpd_acceptor_sup,A5:start,H39DB40
+39DB40:lH39D9FC|H39DB80
+39DB80:lI8888|H39DBC8
+39DBC8:lA7:silence|N
+39DAF0:t3:A12:httpd_acceptor_sup,H39D9FC,I8888
+39D960:t2:A5:local,A1A:httpd_sup__127_0_0_1__8888
+39D9CC:lAA:gen_server|H39DA90
+39DA90:lP<0.33.0>|H39DB20
+39DB20:lP<0.33.0>|H39DB60
+39DB60:lH39DBA4|H39DBB0
+39DBA4:t2:A5:local,A1A:httpd_sup__127_0_0_1__8888
+39DBB0:lAA:supervisor|H39DBF4
+39DBF4:lH39DC30|H39DC40
+39DC30:t3:H39D960,A9:httpd_sup,H39DA88
+39DC40:lN|N
+39D940:t2:AD:$initial_call,H39D9E4
+39D9E4:t3:A3:gen,A7:init_it,H39D9CC
+39D94C:t2:AA:$ancestors,H39D9F4
+39D9F4:lA8:web_tool|H39DAB0
+39DAB0:lP<0.27.0>|N
+=proc_dictionary:<0.44.0>
+H3756A8
+H3756B4
+H3756C0
+H3756CC
+=proc_stack:<0.44.0>
+36c194:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36C030
+y4:A1E:httpd_acc_sup__127_0_0_1__8888
+y5:P<0.43.0>
+36c1b0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H375710
+=proc_heap:<0.44.0>
+36C030:tA:A5:state,H3756D8,AB:one_for_one,H36C028,N,I500,I100,N,A12:httpd_acceptor_sup,H375730
+375730:lA7:silence|N
+36C028:lH36C004|N
+36C004:t8:A5:child,P<0.47.0>,H36BE80,H36BE90,A9:permanent,I1000,A6:worker,H36BEA0
+36BEA0:lAE:httpd_acceptor|N
+36BE90:t3:AE:httpd_acceptor,AA:start_link,H36BEE8
+36BEE8:lP<0.46.0>|H36BEF0
+36BEF0:lA7:ip_comm|H36BEF8
+36BEF8:lH36BF00|H36BF14
+36BF00:t4:I127,I0,I0,I1
+36BF14:lI8888|H36BF1C
+36BF1C:lA1B:httpd_conf__127_0_0_1__8888|H36BF24
+36BF24:lA7:silence|N
+36BE80:t3:AE:httpd_acceptor,H36BED4,I8888
+36BED4:t4:I127,I0,I0,I1
+3756D8:t2:A5:local,A1E:httpd_acc_sup__127_0_0_1__8888
+375710:lAA:gen_server|H375738
+375738:lP<0.43.0>|H375748
+375748:lP<0.43.0>|H375758
+375758:lH375760|H37576C
+375760:t2:A5:local,A1E:httpd_acc_sup__127_0_0_1__8888
+37576C:lAA:supervisor|H375774
+375774:lH37577C|H37578C
+37577C:t3:H3756D8,A12:httpd_acceptor_sup,H375730
+37578C:lN|N
+3756A8:t2:AD:$initial_call,H375718
+375718:t3:A3:gen,A7:init_it,H375710
+3756B4:t2:A9:verbosity,A7:silence
+3756C0:t2:AA:$ancestors,H375728
+375728:lA1A:httpd_sup__127_0_0_1__8888|H375740
+375740:lA8:web_tool|H375750
+375750:lP<0.27.0>|N
+3756CC:t2:A5:sname,A7:acc_sup
+=proc_dictionary:<0.45.0>
+H36F484
+H36F4F4
+H36F468
+H36F500
+=proc_stack:<0.45.0>
+36f734:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36F5D0
+y4:A1F:httpd_misc_sup__127_0_0_1__8888
+y5:P<0.43.0>
+36f750:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36F430
+=proc_heap:<0.45.0>
+36F5D0:tA:A5:state,H36F3FC,AB:one_for_one,N,N,I0,I1,N,AE:httpd_misc_sup,H36F408
+36F408:lA7:silence|N
+36F3FC:t2:A5:local,A1F:httpd_misc_sup__127_0_0_1__8888
+36F430:lAA:gen_server|H36F428
+36F428:lP<0.43.0>|H36F420
+36F420:lP<0.43.0>|H36F3D0
+36F3D0:lH36F3E0|H36F418
+36F3E0:t2:A5:local,A1F:httpd_misc_sup__127_0_0_1__8888
+36F418:lAA:supervisor|H36F3D8
+36F3D8:lH36F3EC|H36F410
+36F3EC:t3:H36F3FC,AE:httpd_misc_sup,H36F408
+36F410:lN|N
+36F484:t2:AD:$initial_call,H36F474
+36F474:t3:A3:gen,A7:init_it,H36F430
+36F4F4:t2:A9:verbosity,A7:silence
+36F468:t2:AA:$ancestors,H36F460
+36F460:lA1A:httpd_sup__127_0_0_1__8888|H36F440
+36F440:lA8:web_tool|H36F438
+36F438:lP<0.27.0>|N
+36F500:t2:A5:sname,A8:misc_sup
+=proc_dictionary:<0.46.0>
+H3BDA50
+H3BDA5C
+H3BDAC8
+H3BDB28
+H3BDB9C
+H3BDC00
+H3BDADC
+H3BDB3C
+=proc_stack:<0.46.0>
+39d8f4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AD:httpd_manager
+y3:H39D5A4
+y4:A16:httpd__127_0_0_1__8888
+y5:P<0.43.0>
+39d910:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3BDAB0
+=proc_heap:<0.46.0>
+39D5A4:t9:A5:state,A7:ip_comm,A9:undefined,A1B:httpd_conf__127_0_0_1__8888,N,A9:unblocked,A9:undefined,A9:undefined,H39D430
+39D430:lH39BF40|H39D428
+39BF40:t2:A8:max_conn,I1
+39D428:lH39BC80|H39D420
+39BC80:t2:AF:last_heavy_load,A5:never
+39D420:lH39D414|N
+39D414:t2:AF:last_connection,H39D408
+39D408:t2:H39D3E8,H39D3F8
+39D3F8:t3:I11,I22,I34
+39D3E8:t3:I2004,I4,I21
+3BDAB0:lAA:gen_server|H3BDB20
+3BDB20:lP<0.43.0>|H3BDB94
+3BDB94:lP<0.43.0>|H3BDBF8
+3BDBF8:lH3BDC48|H3BDC54
+3BDC48:t2:A5:local,A16:httpd__127_0_0_1__8888
+3BDC54:lAD:httpd_manager|H3BDCAC
+3BDCAC:lH3BDD14|H3BDD1C
+3BDD14:lA9:undefined|H3BDD9C
+3BDD9C:lH3BDA84|H3BDE2C
+3BDA84:lH3BDAF0|H3BDAFC
+3BDAF0:t2:AB:server_root,H3BDB48
+3BDB48:lI47|H3BDBB0
+3BDBB0:lI99|H3BDC0C
+3BDC0C:lI108|H3BDC64
+3BDC64:lI101|H3BDCBC
+3BDCBC:lI97|H3BDD2C
+3BDD2C:lI114|H3BDDA4
+3BDDA4:lI99|H3BDE34
+3BDE34:lI97|H3BDED4
+3BDED4:lI115|H3BDF90
+3BDF90:lI101|H3BE054
+3BE054:lI47|H3BE128
+3BE128:lI111|H3BE204
+3BE204:lI116|H3BE2EC
+3BE2EC:lI112|H3BE3E0
+3BE3E0:lI47|H3BE4E4
+3BE4E4:lI101|H3BE5E8
+3BE5E8:lI114|H3BE6EC
+3BE6EC:lI116|H3BE7E0
+3BE7E0:lI115|H3BE8CC
+3BE8CC:lI47|H3BE9B8
+3BE9B8:lI108|H3BEAAC
+3BEAAC:lI105|H3BEB98
+3BEB98:lI98|H3BEC84
+3BEC84:lI47|H3BED70
+3BED70:lI119|H3BEE5C
+3BEE5C:lI101|H3BEF30
+3BEF30:lI98|H3BEFFC
+3BEFFC:lI116|H3BF0C8
+3BF0C8:lI111|H3BF19C
+3BF19C:lI111|H3BF260
+3BF260:lI108|H3BF314
+3BF314:lI47|H3BF3C0
+3BF3C0:lI112|H3BF474
+3BF474:lI114|H3BF530
+3BF530:lI105|H3BF5F4
+3BF5F4:lI118|H3BF6C8
+3BF6C8:lI47|H3BF79C
+3BF79C:lI114|H3BF870
+3BF870:lI111|H3BF954
+3BF954:lI111|H3BFA30
+3BFA30:lI116|N
+3BDAFC:lH3BDB50|H3BDB5C
+3BDB50:t2:AD:document_root,H3BDBB8
+3BDBB8:lI47|H3BDC14
+3BDC14:lI99|H3BDC6C
+3BDC6C:lI108|H3BDCC4
+3BDCC4:lI101|H3BDD34
+3BDD34:lI97|H3BDDAC
+3BDDAC:lI114|H3BDE3C
+3BDE3C:lI99|H3BDEDC
+3BDEDC:lI97|H3BDF98
+3BDF98:lI115|H3BE05C
+3BE05C:lI101|H3BE130
+3BE130:lI47|H3BE20C
+3BE20C:lI111|H3BE2F4
+3BE2F4:lI116|H3BE3E8
+3BE3E8:lI112|H3BE4EC
+3BE4EC:lI47|H3BE5F0
+3BE5F0:lI101|H3BE6F4
+3BE6F4:lI114|H3BE7E8
+3BE7E8:lI116|H3BE8D4
+3BE8D4:lI115|H3BE9C0
+3BE9C0:lI47|H3BEAB4
+3BEAB4:lI108|H3BEBA0
+3BEBA0:lI105|H3BEC8C
+3BEC8C:lI98|H3BED78
+3BED78:lI47|H3BEE64
+3BEE64:lI119|H3BEF38
+3BEF38:lI101|H3BF004
+3BF004:lI98|H3BF0D0
+3BF0D0:lI116|H3BF1A4
+3BF1A4:lI111|H3BF268
+3BF268:lI111|H3BF31C
+3BF31C:lI108|H3BF3C8
+3BF3C8:lI47|H3BF47C
+3BF47C:lI112|H3BF538
+3BF538:lI114|H3BF5FC
+3BF5FC:lI105|H3BF6D0
+3BF6D0:lI118|H3BF7A4
+3BF7A4:lI47|H3BF878
+3BF878:lI114|H3BF95C
+3BF95C:lI111|H3BFA38
+3BFA38:lI111|H3BFB0C
+3BFB0C:lI116|H3BFBE8
+3BFBE8:lI47|H3BFCB4
+3BFCB4:lI100|H3BFD78
+3BFD78:lI111|H3BFE3C
+3BFE3C:lI99|N
+3BDB5C:lH3BDBC0|H3BDBCC
+3BDBC0:t2:AA:mime_types,H3BDC1C
+3BDC1C:lH3BDC74|H3BDC80
+3BDC74:t2:H3BDCCC,H3BDCD4
+3BDCD4:lI120|H3BDD44
+3BDD44:lI45|H3BDDBC
+3BDDBC:lI119|H3BDE44
+3BDE44:lI111|H3BDEE4
+3BDEE4:lI114|H3BDFA0
+3BDFA0:lI108|H3BE064
+3BE064:lI100|H3BE138
+3BE138:lI47|H3BE214
+3BE214:lI120|H3BE2FC
+3BE2FC:lI45|H3BE3F0
+3BE3F0:lI118|H3BE4F4
+3BE4F4:lI114|H3BE5F8
+3BE5F8:lI109|H3BE6FC
+3BE6FC:lI108|N
+3BDCCC:lI119|H3BDD3C
+3BDD3C:lI114|H3BDDB4
+3BDDB4:lI108|N
+3BDC80:lH3BDCDC|H3BDCE8
+3BDCDC:t2:H3BDD4C,H3BDD54
+3BDD54:lI120|H3BDDCC
+3BDDCC:lI45|H3BDE54
+3BDE54:lI119|H3BDEF4
+3BDEF4:lI111|H3BDFA8
+3BDFA8:lI114|H3BE06C
+3BE06C:lI108|H3BE140
+3BE140:lI100|H3BE21C
+3BE21C:lI47|H3BE304
+3BE304:lI120|H3BE3F8
+3BE3F8:lI45|H3BE4FC
+3BE4FC:lI118|H3BE600
+3BE600:lI114|H3BE704
+3BE704:lI109|H3BE7F0
+3BE7F0:lI108|N
+3BDD4C:lI118|H3BDDC4
+3BDDC4:lI114|H3BDE4C
+3BDE4C:lI109|H3BDEEC
+3BDEEC:lI108|N
+3BDCE8:lH3BDD5C|H3BDD68
+3BDD5C:t2:H3BDDD4,H3BDDDC
+3BDDDC:lI120|H3BDE64
+3BDE64:lI45|H3BDF04
+3BDF04:lI99|H3BDFB0
+3BDFB0:lI111|H3BE074
+3BE074:lI110|H3BE148
+3BE148:lI102|H3BE224
+3BE224:lI101|H3BE30C
+3BE30C:lI114|H3BE400
+3BE400:lI101|H3BE504
+3BE504:lI110|H3BE608
+3BE608:lI99|H3BE70C
+3BE70C:lI101|H3BE7F8
+3BE7F8:lI47|H3BE8DC
+3BE8DC:lI120|H3BE9C8
+3BE9C8:lI45|H3BEABC
+3BEABC:lI99|H3BEBA8
+3BEBA8:lI111|H3BEC94
+3BEC94:lI111|H3BED80
+3BED80:lI108|H3BEE6C
+3BEE6C:lI116|H3BEF40
+3BEF40:lI97|H3BF00C
+3BF00C:lI108|H3BF0D8
+3BF0D8:lI107|N
+3BDDD4:lI105|H3BDE5C
+3BDE5C:lI99|H3BDEFC
+3BDEFC:lI101|N
+3BDD68:lH3BDDE4|H3BDDF0
+3BDDE4:t2:H3BDE6C,H3BDE74
+3BDE74:lI118|H3BDF14
+3BDF14:lI105|H3BDFC0
+3BDFC0:lI100|H3BE084
+3BE084:lI101|H3BE158
+3BE158:lI111|H3BE22C
+3BE22C:lI47|H3BE314
+3BE314:lI120|H3BE408
+3BE408:lI45|H3BE50C
+3BE50C:lI115|H3BE610
+3BE610:lI103|H3BE714
+3BE714:lI105|H3BE800
+3BE800:lI45|H3BE8E4
+3BE8E4:lI109|H3BE9D0
+3BE9D0:lI111|H3BEAC4
+3BEAC4:lI118|H3BEBB0
+3BEBB0:lI105|H3BEC9C
+3BEC9C:lI101|N
+3BDE6C:lI109|H3BDF0C
+3BDF0C:lI111|H3BDFB8
+3BDFB8:lI118|H3BE07C
+3BE07C:lI105|H3BE150
+3BE150:lI101|N
+3BDDF0:lH3BDE7C|H3BDE88
+3BDE7C:t2:H3BDF1C,H3BDF24
+3BDF24:lI118|H3BDFD0
+3BDFD0:lI105|H3BE094
+3BE094:lI100|H3BE160
+3BE160:lI101|H3BE234
+3BE234:lI111|H3BE31C
+3BE31C:lI47|H3BE410
+3BE410:lI120|H3BE514
+3BE514:lI45|H3BE618
+3BE618:lI109|H3BE71C
+3BE71C:lI115|H3BE808
+3BE808:lI118|H3BE8EC
+3BE8EC:lI105|H3BE9D8
+3BE9D8:lI100|H3BEACC
+3BEACC:lI101|H3BEBB8
+3BEBB8:lI111|N
+3BDF1C:lI97|H3BDFC8
+3BDFC8:lI118|H3BE08C
+3BE08C:lI105|N
+3BDE88:lH3BDF2C|H3BDF38
+3BDF2C:t2:H3BDFD8,H3BDFE0
+3BDFE0:lI118|H3BE0A4
+3BE0A4:lI105|H3BE168
+3BE168:lI100|H3BE23C
+3BE23C:lI101|H3BE324
+3BE324:lI111|H3BE418
+3BE418:lI47|H3BE51C
+3BE51C:lI113|H3BE620
+3BE620:lI117|H3BE724
+3BE724:lI105|H3BE810
+3BE810:lI99|H3BE8F4
+3BE8F4:lI107|H3BE9E0
+3BE9E0:lI116|H3BEAD4
+3BEAD4:lI105|H3BEBC0
+3BEBC0:lI109|H3BECA4
+3BECA4:lI101|N
+3BDFD8:lI113|H3BE09C
+3BE09C:lI116|N
+3BDF38:lH3BDFE8|H3BDFF4
+3BDFE8:t2:H3BE0AC,H3BE0B4
+3BE0B4:lI118|H3BE178
+3BE178:lI105|H3BE24C
+3BE24C:lI100|H3BE32C
+3BE32C:lI101|H3BE420
+3BE420:lI111|H3BE524
+3BE524:lI47|H3BE628
+3BE628:lI113|H3BE72C
+3BE72C:lI117|H3BE818
+3BE818:lI105|H3BE8FC
+3BE8FC:lI99|H3BE9E8
+3BE9E8:lI107|H3BEADC
+3BEADC:lI116|H3BEBC8
+3BEBC8:lI105|H3BECAC
+3BECAC:lI109|H3BED88
+3BED88:lI101|N
+3BE0AC:lI109|H3BE170
+3BE170:lI111|H3BE244
+3BE244:lI118|N
+3BDFF4:lH3BE0BC|H3BE0C8
+3BE0BC:t2:H3BE180,H3BE188
+3BE188:lI118|H3BE25C
+3BE25C:lI105|H3BE33C
+3BE33C:lI100|H3BE430
+3BE430:lI101|H3BE52C
+3BE52C:lI111|H3BE630
+3BE630:lI47|H3BE734
+3BE734:lI109|H3BE820
+3BE820:lI112|H3BE904
+3BE904:lI101|H3BE9F0
+3BE9F0:lI103|N
+3BE180:lI109|H3BE254
+3BE254:lI112|H3BE334
+3BE334:lI101|H3BE428
+3BE428:lI103|N
+3BE0C8:lH3BE190|H3BE19C
+3BE190:t2:H3BE264,H3BE26C
+3BE26C:lI118|H3BE34C
+3BE34C:lI105|H3BE440
+3BE440:lI100|H3BE534
+3BE534:lI101|H3BE638
+3BE638:lI111|H3BE73C
+3BE73C:lI47|H3BE828
+3BE828:lI109|H3BE90C
+3BE90C:lI112|H3BE9F8
+3BE9F8:lI101|H3BEAE4
+3BEAE4:lI103|N
+3BE264:lI109|H3BE344
+3BE344:lI112|H3BE438
+3BE438:lI103|N
+3BE19C:lH3BE274|H3BE280
+3BE274:t2:H3BE354,H3BE35C
+3BE35C:lI118|H3BE450
+3BE450:lI105|H3BE544
+3BE544:lI100|H3BE640
+3BE640:lI101|H3BE744
+3BE744:lI111|H3BE830
+3BE830:lI47|H3BE914
+3BE914:lI109|H3BEA00
+3BEA00:lI112|H3BEAEC
+3BEAEC:lI101|H3BEBD0
+3BEBD0:lI103|N
+3BE354:lI109|H3BE448
+3BE448:lI112|H3BE53C
+3BE53C:lI101|N
+3BE280:lH3BE364|H3BE370
+3BE364:t2:H3BE458,H3BE460
+3BE460:lI116|H3BE554
+3BE554:lI101|H3BE650
+3BE650:lI120|H3BE754
+3BE754:lI116|H3BE838
+3BE838:lI47|H3BE91C
+3BE91C:lI120|H3BEA08
+3BEA08:lI45|H3BEAF4
+3BEAF4:lI115|H3BEBD8
+3BEBD8:lI103|H3BECB4
+3BECB4:lI109|H3BED90
+3BED90:lI108|N
+3BE458:lI115|H3BE54C
+3BE54C:lI103|H3BE648
+3BE648:lI109|H3BE74C
+3BE74C:lI108|N
+3BE370:lH3BE468|H3BE474
+3BE468:t2:H3BE55C,H3BE564
+3BE564:lI116|H3BE660
+3BE660:lI101|H3BE764
+3BE764:lI120|H3BE840
+3BE840:lI116|H3BE924
+3BE924:lI47|H3BEA10
+3BEA10:lI120|H3BEAFC
+3BEAFC:lI45|H3BEBE0
+3BEBE0:lI115|H3BECBC
+3BECBC:lI103|H3BED98
+3BED98:lI109|H3BEE74
+3BEE74:lI108|N
+3BE55C:lI115|H3BE658
+3BE658:lI103|H3BE75C
+3BE75C:lI109|N
+3BE474:lH3BE56C|H3BE578
+3BE56C:t2:H3BE668,H3BE670
+3BE670:lI116|H3BE774
+3BE774:lI101|H3BE850
+3BE850:lI120|H3BE92C
+3BE92C:lI116|H3BEA18
+3BEA18:lI47|H3BEB04
+3BEB04:lI120|H3BEBE8
+3BEBE8:lI45|H3BECC4
+3BECC4:lI115|H3BEDA0
+3BEDA0:lI101|H3BEE7C
+3BEE7C:lI116|H3BEF48
+3BEF48:lI101|H3BF014
+3BF014:lI120|H3BF0E0
+3BF0E0:lI116|N
+3BE668:lI101|H3BE76C
+3BE76C:lI116|H3BE848
+3BE848:lI120|N
+3BE578:lH3BE678|H3BE684
+3BE678:t2:H3BE77C,H3BE784
+3BE784:lI116|H3BE860
+3BE860:lI101|H3BE93C
+3BE93C:lI120|H3BEA20
+3BEA20:lI116|H3BEB0C
+3BEB0C:lI47|H3BEBF0
+3BEBF0:lI116|H3BECCC
+3BECCC:lI97|H3BEDA8
+3BEDA8:lI98|H3BEE84
+3BEE84:lI45|H3BEF50
+3BEF50:lI115|H3BF01C
+3BF01C:lI101|H3BF0E8
+3BF0E8:lI112|H3BF1AC
+3BF1AC:lI97|H3BF270
+3BF270:lI114|H3BF324
+3BF324:lI97|H3BF3D0
+3BF3D0:lI116|H3BF484
+3BF484:lI101|H3BF540
+3BF540:lI100|H3BF604
+3BF604:lI45|H3BF6D8
+3BF6D8:lI118|H3BF7AC
+3BF7AC:lI97|H3BF880
+3BF880:lI108|H3BF964
+3BF964:lI117|H3BFA40
+3BFA40:lI101|H3BFB14
+3BFB14:lI115|N
+3BE77C:lI116|H3BE858
+3BE858:lI115|H3BE934
+3BE934:lI118|N
+3BE684:lH3BE78C|H3BE798
+3BE78C:t2:H3BE868,H3BE870
+3BE870:lI116|H3BE94C
+3BE94C:lI101|H3BEA30
+3BEA30:lI120|H3BEB14
+3BEB14:lI116|H3BEBF8
+3BEBF8:lI47|H3BECD4
+3BECD4:lI114|H3BEDB0
+3BEDB0:lI105|H3BEE8C
+3BEE8C:lI99|H3BEF58
+3BEF58:lI104|H3BF024
+3BF024:lI116|H3BF0F0
+3BF0F0:lI101|H3BF1B4
+3BF1B4:lI120|H3BF278
+3BF278:lI116|N
+3BE868:lI114|H3BE944
+3BE944:lI116|H3BEA28
+3BEA28:lI120|N
+3BE798:lH3BE878|H3BE884
+3BE878:t2:H3BE954,H3BE95C
+3BE95C:lI116|H3BEA40
+3BEA40:lI101|H3BEB24
+3BEB24:lI120|H3BEC00
+3BEC00:lI116|H3BECDC
+3BECDC:lI47|H3BEDB8
+3BEDB8:lI112|H3BEE94
+3BEE94:lI108|H3BEF60
+3BEF60:lI97|H3BF02C
+3BF02C:lI105|H3BF0F8
+3BF0F8:lI110|N
+3BE954:lI116|H3BEA38
+3BEA38:lI120|H3BEB1C
+3BEB1C:lI116|N
+3BE884:lH3BE964|H3BE970
+3BE964:t2:H3BEA48,H3BEA50
+3BEA50:lI116|H3BEB34
+3BEB34:lI101|H3BEC10
+3BEC10:lI120|H3BECEC
+3BECEC:lI116|H3BEDC8
+3BEDC8:lI47|H3BEE9C
+3BEE9C:lI120|H3BEF68
+3BEF68:lI45|H3BF034
+3BF034:lI115|H3BF100
+3BF100:lI101|H3BF1BC
+3BF1BC:lI114|H3BF280
+3BF280:lI118|H3BF32C
+3BF32C:lI101|H3BF3D8
+3BF3D8:lI114|H3BF48C
+3BF48C:lI45|H3BF548
+3BF548:lI112|H3BF60C
+3BF60C:lI97|H3BF6E0
+3BF6E0:lI114|H3BF7B4
+3BF7B4:lI115|H3BF888
+3BF888:lI101|H3BF96C
+3BF96C:lI100|H3BFA48
+3BFA48:lI45|H3BFB1C
+3BFB1C:lI104|H3BFBF0
+3BFBF0:lI116|H3BFCBC
+3BFCBC:lI109|H3BFD80
+3BFD80:lI108|N
+3BEA48:lI115|H3BEB2C
+3BEB2C:lI104|H3BEC08
+3BEC08:lI116|H3BECE4
+3BECE4:lI109|H3BEDC0
+3BEDC0:lI108|N
+3BE970:lH3BEA58|H3BEA64
+3BEA58:t2:H3BEB3C,H3BEB44
+3BEB44:lI116|H3BEC20
+3BEC20:lI101|H3BECFC
+3BECFC:lI120|H3BEDD8
+3BEDD8:lI116|H3BEEA4
+3BEEA4:lI47|H3BEF70
+3BEF70:lI104|H3BF03C
+3BF03C:lI116|H3BF108
+3BF108:lI109|H3BF1C4
+3BF1C4:lI108|N
+3BEB3C:lI104|H3BEC18
+3BEC18:lI116|H3BECF4
+3BECF4:lI109|H3BEDD0
+3BEDD0:lI108|N
+3BEA64:lH3BEB4C|H3BEB58
+3BEB4C:t2:H3BEC28,H3BEC30
+3BEC30:lI116|H3BED0C
+3BED0C:lI101|H3BEDE8
+3BEDE8:lI120|H3BEEAC
+3BEEAC:lI116|H3BEF78
+3BEF78:lI47|H3BF044
+3BF044:lI104|H3BF110
+3BF110:lI116|H3BF1CC
+3BF1CC:lI109|H3BF288
+3BF288:lI108|N
+3BEC28:lI104|H3BED04
+3BED04:lI116|H3BEDE0
+3BEDE0:lI109|N
+3BEB58:lH3BEC38|H3BEC44
+3BEC38:t2:H3BED14,H3BED1C
+3BED1C:lI105|H3BEDF8
+3BEDF8:lI109|H3BEEBC
+3BEEBC:lI97|H3BEF80
+3BEF80:lI103|H3BF04C
+3BF04C:lI101|H3BF118
+3BF118:lI47|H3BF1D4
+3BF1D4:lI120|H3BF290
+3BF290:lI45|H3BF334
+3BF334:lI120|H3BF3E0
+3BF3E0:lI119|H3BF494
+3BF494:lI105|H3BF550
+3BF550:lI110|H3BF614
+3BF614:lI100|H3BF6E8
+3BF6E8:lI111|H3BF7BC
+3BF7BC:lI119|H3BF890
+3BF890:lI100|H3BF974
+3BF974:lI117|H3BFA50
+3BFA50:lI109|H3BFB24
+3BFB24:lI112|N
+3BED14:lI120|H3BEDF0
+3BEDF0:lI119|H3BEEB4
+3BEEB4:lI100|N
+3BEC44:lH3BED24|H3BED30
+3BED24:t2:H3BEE00,H3BEE08
+3BEE08:lI105|H3BEECC
+3BEECC:lI109|H3BEF90
+3BEF90:lI97|H3BF054
+3BF054:lI103|H3BF120
+3BF120:lI101|H3BF1DC
+3BF1DC:lI47|H3BF298
+3BF298:lI120|H3BF33C
+3BF33C:lI45|H3BF3E8
+3BF3E8:lI120|H3BF49C
+3BF49C:lI112|H3BF558
+3BF558:lI105|H3BF61C
+3BF61C:lI120|H3BF6F0
+3BF6F0:lI109|H3BF7C4
+3BF7C4:lI97|H3BF898
+3BF898:lI112|N
+3BEE00:lI120|H3BEEC4
+3BEEC4:lI112|H3BEF88
+3BEF88:lI109|N
+3BED30:lH3BEE10|H3BEE1C
+3BEE10:t2:H3BEED4,H3BEEDC
+3BEEDC:lI105|H3BEFA0
+3BEFA0:lI109|H3BF064
+3BF064:lI97|H3BF128
+3BF128:lI103|H3BF1E4
+3BF1E4:lI101|H3BF2A0
+3BF2A0:lI47|H3BF344
+3BF344:lI120|H3BF3F0
+3BF3F0:lI45|H3BF4A4
+3BF4A4:lI120|H3BF560
+3BF560:lI98|H3BF624
+3BF624:lI105|H3BF6F8
+3BF6F8:lI116|H3BF7CC
+3BF7CC:lI109|H3BF8A0
+3BF8A0:lI97|H3BF97C
+3BF97C:lI112|N
+3BEED4:lI120|H3BEF98
+3BEF98:lI98|H3BF05C
+3BF05C:lI109|N
+3BEE1C:lH3BEEE4|H3BEEF0
+3BEEE4:t2:H3BEFA8,H3BEFB0
+3BEFB0:lI105|H3BF074
+3BF074:lI109|H3BF138
+3BF138:lI97|H3BF1EC
+3BF1EC:lI103|H3BF2A8
+3BF2A8:lI101|H3BF34C
+3BF34C:lI47|H3BF3F8
+3BF3F8:lI120|H3BF4AC
+3BF4AC:lI45|H3BF568
+3BF568:lI114|H3BF62C
+3BF62C:lI103|H3BF700
+3BF700:lI98|N
+3BEFA8:lI114|H3BF06C
+3BF06C:lI103|H3BF130
+3BF130:lI98|N
+3BEEF0:lH3BEFB8|H3BEFC4
+3BEFB8:t2:H3BF07C,H3BF084
+3BF084:lI105|H3BF148
+3BF148:lI109|H3BF1FC
+3BF1FC:lI97|H3BF2B0
+3BF2B0:lI103|H3BF354
+3BF354:lI101|H3BF400
+3BF400:lI47|H3BF4B4
+3BF4B4:lI120|H3BF570
+3BF570:lI45|H3BF634
+3BF634:lI112|H3BF708
+3BF708:lI111|H3BF7D4
+3BF7D4:lI114|H3BF8A8
+3BF8A8:lI116|H3BF984
+3BF984:lI97|H3BFA58
+3BFA58:lI98|H3BFB2C
+3BFB2C:lI108|H3BFBF8
+3BFBF8:lI101|H3BFCC4
+3BFCC4:lI45|H3BFD88
+3BFD88:lI112|H3BFE44
+3BFE44:lI105|H3BFEF0
+3BFEF0:lI120|H3BFFA4
+3BFFA4:lI109|H3C0050
+3C0050:lI97|H3C00FC
+3C00FC:lI112|N
+3BF07C:lI112|H3BF140
+3BF140:lI112|H3BF1F4
+3BF1F4:lI109|N
+3BEFC4:lH3BF08C|H3BF098
+3BF08C:t2:H3BF150,H3BF158
+3BF158:lI105|H3BF20C
+3BF20C:lI109|H3BF2C0
+3BF2C0:lI97|H3BF35C
+3BF35C:lI103|H3BF408
+3BF408:lI101|H3BF4BC
+3BF4BC:lI47|H3BF578
+3BF578:lI120|H3BF63C
+3BF63C:lI45|H3BF710
+3BF710:lI112|H3BF7DC
+3BF7DC:lI111|H3BF8B0
+3BF8B0:lI114|H3BF98C
+3BF98C:lI116|H3BFA60
+3BFA60:lI97|H3BFB34
+3BFB34:lI98|H3BFC00
+3BFC00:lI108|H3BFCCC
+3BFCCC:lI101|H3BFD90
+3BFD90:lI45|H3BFE4C
+3BFE4C:lI103|H3BFEF8
+3BFEF8:lI114|H3BFFAC
+3BFFAC:lI97|H3C0058
+3C0058:lI121|H3C0104
+3C0104:lI109|H3C01A8
+3C01A8:lI97|H3C025C
+3C025C:lI112|N
+3BF150:lI112|H3BF204
+3BF204:lI103|H3BF2B8
+3BF2B8:lI109|N
+3BF098:lH3BF160|H3BF16C
+3BF160:t2:H3BF214,H3BF21C
+3BF21C:lI105|H3BF2D0
+3BF2D0:lI109|H3BF36C
+3BF36C:lI97|H3BF410
+3BF410:lI103|H3BF4C4
+3BF4C4:lI101|H3BF580
+3BF580:lI47|H3BF644
+3BF644:lI120|H3BF718
+3BF718:lI45|H3BF7E4
+3BF7E4:lI112|H3BF8B8
+3BF8B8:lI111|H3BF994
+3BF994:lI114|H3BFA68
+3BFA68:lI116|H3BFB3C
+3BFB3C:lI97|H3BFC08
+3BFC08:lI98|H3BFCD4
+3BFCD4:lI108|H3BFD98
+3BFD98:lI101|H3BFE54
+3BFE54:lI45|H3BFF00
+3BFF00:lI98|H3BFFB4
+3BFFB4:lI105|H3C0060
+3C0060:lI116|H3C010C
+3C010C:lI109|H3C01B0
+3C01B0:lI97|H3C0264
+3C0264:lI112|N
+3BF214:lI112|H3BF2C8
+3BF2C8:lI98|H3BF364
+3BF364:lI109|N
+3BF16C:lH3BF224|H3BF230
+3BF224:t2:H3BF2D8,H3BF2E0
+3BF2E0:lI105|H3BF37C
+3BF37C:lI109|H3BF420
+3BF420:lI97|H3BF4CC
+3BF4CC:lI103|H3BF588
+3BF588:lI101|H3BF64C
+3BF64C:lI47|H3BF720
+3BF720:lI120|H3BF7EC
+3BF7EC:lI45|H3BF8C0
+3BF8C0:lI112|H3BF99C
+3BF99C:lI111|H3BFA70
+3BFA70:lI114|H3BFB44
+3BFB44:lI116|H3BFC10
+3BFC10:lI97|H3BFCDC
+3BFCDC:lI98|H3BFDA0
+3BFDA0:lI108|H3BFE5C
+3BFE5C:lI101|H3BFF08
+3BFF08:lI45|H3BFFBC
+3BFFBC:lI97|H3C0068
+3C0068:lI110|H3C0114
+3C0114:lI121|H3C01B8
+3C01B8:lI109|H3C026C
+3C026C:lI97|H3C0318
+3C0318:lI112|N
+3BF2D8:lI112|H3BF374
+3BF374:lI110|H3BF418
+3BF418:lI109|N
+3BF230:lH3BF2E8|H3BF2F4
+3BF2E8:t2:H3BF384,H3BF38C
+3BF38C:lI105|H3BF430
+3BF430:lI109|H3BF4DC
+3BF4DC:lI97|H3BF590
+3BF590:lI103|H3BF654
+3BF654:lI101|H3BF728
+3BF728:lI47|H3BF7F4
+3BF7F4:lI120|H3BF8C8
+3BF8C8:lI45|H3BF9A4
+3BF9A4:lI99|H3BFA78
+3BFA78:lI109|H3BFB4C
+3BFB4C:lI117|H3BFC18
+3BFC18:lI45|H3BFCE4
+3BFCE4:lI114|H3BFDA8
+3BFDA8:lI97|H3BFE64
+3BFE64:lI115|H3BFF10
+3BFF10:lI116|H3BFFC4
+3BFFC4:lI101|H3C0070
+3C0070:lI114|N
+3BF384:lI114|H3BF428
+3BF428:lI97|H3BF4D4
+3BF4D4:lI115|N
+3BF2F4:lH3BF394|H3BF3A0
+3BF394:t2:H3BF438,H3BF440
+3BF440:lI105|H3BF4EC
+3BF4EC:lI109|H3BF5A0
+3BF5A0:lI97|H3BF664
+3BF664:lI103|H3BF730
+3BF730:lI101|H3BF7FC
+3BF7FC:lI47|H3BF8D0
+3BF8D0:lI116|H3BF9AC
+3BF9AC:lI105|H3BFA80
+3BFA80:lI102|H3BFB54
+3BFB54:lI102|N
+3BF438:lI116|H3BF4E4
+3BF4E4:lI105|H3BF598
+3BF598:lI102|H3BF65C
+3BF65C:lI102|N
+3BF3A0:lH3BF448|H3BF454
+3BF448:t2:H3BF4F4,H3BF4FC
+3BF4FC:lI105|H3BF5B0
+3BF5B0:lI109|H3BF674
+3BF674:lI97|H3BF738
+3BF738:lI103|H3BF804
+3BF804:lI101|H3BF8D8
+3BF8D8:lI47|H3BF9B4
+3BF9B4:lI116|H3BFA88
+3BFA88:lI105|H3BFB5C
+3BFB5C:lI102|H3BFC20
+3BFC20:lI102|N
+3BF4F4:lI116|H3BF5A8
+3BF5A8:lI105|H3BF66C
+3BF66C:lI102|N
+3BF454:lH3BF504|H3BF510
+3BF504:t2:H3BF5B8,H3BF5C0
+3BF5C0:lI105|H3BF684
+3BF684:lI109|H3BF748
+3BF748:lI97|H3BF80C
+3BF80C:lI103|H3BF8E0
+3BF8E0:lI101|H3BF9BC
+3BF9BC:lI47|H3BFA90
+3BFA90:lI112|H3BFB64
+3BFB64:lI110|H3BFC28
+3BFC28:lI103|N
+3BF5B8:lI112|H3BF67C
+3BF67C:lI110|H3BF740
+3BF740:lI103|N
+3BF510:lH3BF5C8|H3BF5D4
+3BF5C8:t2:H3BF68C,H3BF694
+3BF694:lI105|H3BF758
+3BF758:lI109|H3BF81C
+3BF81C:lI97|H3BF8F0
+3BF8F0:lI103|H3BF9C4
+3BF9C4:lI101|H3BFA98
+3BFA98:lI47|H3BFB6C
+3BFB6C:lI106|H3BFC30
+3BFC30:lI112|H3BFCEC
+3BFCEC:lI101|H3BFDB0
+3BFDB0:lI103|N
+3BF68C:lI106|H3BF750
+3BF750:lI112|H3BF814
+3BF814:lI101|H3BF8E8
+3BF8E8:lI103|N
+3BF5D4:lH3BF69C|H3BF6A8
+3BF69C:t2:H3BF760,H3BF768
+3BF768:lI105|H3BF82C
+3BF82C:lI109|H3BF900
+3BF900:lI97|H3BF9CC
+3BF9CC:lI103|H3BFAA0
+3BFAA0:lI101|H3BFB74
+3BFB74:lI47|H3BFC38
+3BFC38:lI106|H3BFCF4
+3BFCF4:lI112|H3BFDB8
+3BFDB8:lI101|H3BFE6C
+3BFE6C:lI103|N
+3BF760:lI106|H3BF824
+3BF824:lI112|H3BF8F8
+3BF8F8:lI103|N
+3BF6A8:lH3BF770|H3BF77C
+3BF770:t2:H3BF834,H3BF83C
+3BF83C:lI105|H3BF910
+3BF910:lI109|H3BF9DC
+3BF9DC:lI97|H3BFAA8
+3BFAA8:lI103|H3BFB7C
+3BFB7C:lI101|H3BFC40
+3BFC40:lI47|H3BFCFC
+3BFCFC:lI106|H3BFDC0
+3BFDC0:lI112|H3BFE74
+3BFE74:lI101|H3BFF18
+3BFF18:lI103|N
+3BF834:lI106|H3BF908
+3BF908:lI112|H3BF9D4
+3BF9D4:lI101|N
+3BF77C:lH3BF844|H3BF850
+3BF844:t2:H3BF918,H3BF920
+3BF920:lI105|H3BF9EC
+3BF9EC:lI109|H3BFAB8
+3BFAB8:lI97|H3BFB84
+3BFB84:lI103|H3BFC48
+3BFC48:lI101|H3BFD04
+3BFD04:lI47|H3BFDC8
+3BFDC8:lI105|H3BFE7C
+3BFE7C:lI101|H3BFF20
+3BFF20:lI102|N
+3BF918:lI105|H3BF9E4
+3BF9E4:lI101|H3BFAB0
+3BFAB0:lI102|N
+3BF850:lH3BF928|H3BF934
+3BF928:t2:H3BF9F4,H3BF9FC
+3BF9FC:lI105|H3BFAC8
+3BFAC8:lI109|H3BFB94
+3BFB94:lI97|H3BFC50
+3BFC50:lI103|H3BFD0C
+3BFD0C:lI101|H3BFDD0
+3BFDD0:lI47|H3BFE84
+3BFE84:lI103|H3BFF28
+3BFF28:lI105|H3BFFCC
+3BFFCC:lI102|N
+3BF9F4:lI103|H3BFAC0
+3BFAC0:lI105|H3BFB8C
+3BFB8C:lI102|N
+3BF934:lH3BFA04|H3BFA10
+3BFA04:t2:H3BFAD0,H3BFAD8
+3BFAD8:lI99|H3BFBA4
+3BFBA4:lI104|H3BFC60
+3BFC60:lI101|H3BFD14
+3BFD14:lI109|H3BFDD8
+3BFDD8:lI105|H3BFE8C
+3BFE8C:lI99|H3BFF30
+3BFF30:lI97|H3BFFD4
+3BFFD4:lI108|H3C0078
+3C0078:lI47|H3C011C
+3C011C:lI120|H3C01C0
+3C01C0:lI45|H3C0274
+3C0274:lI112|H3C0320
+3C0320:lI100|H3C03CC
+3C03CC:lI98|N
+3BFAD0:lI112|H3BFB9C
+3BFB9C:lI100|H3BFC58
+3BFC58:lI98|N
+3BFA10:lH3BFAE0|H3BFAEC
+3BFAE0:t2:H3BFBAC,H3BFBB4
+3BFBB4:lI99|H3BFC70
+3BFC70:lI104|H3BFD24
+3BFD24:lI101|H3BFDE0
+3BFDE0:lI109|H3BFE94
+3BFE94:lI105|H3BFF38
+3BFF38:lI99|H3BFFDC
+3BFFDC:lI97|H3C0080
+3C0080:lI108|H3C0124
+3C0124:lI47|H3C01C8
+3C01C8:lI120|H3C027C
+3C027C:lI45|H3C0328
+3C0328:lI112|H3C03D4
+3C03D4:lI100|H3C0460
+3C0460:lI98|N
+3BFBAC:lI120|H3BFC68
+3BFC68:lI121|H3BFD1C
+3BFD1C:lI122|N
+3BFAEC:lH3BFBBC|H3BFBC8
+3BFBBC:t2:H3BFC78,H3BFC80
+3BFC80:lI97|H3BFD34
+3BFD34:lI117|H3BFDF0
+3BFDF0:lI100|H3BFE9C
+3BFE9C:lI105|H3BFF40
+3BFF40:lI111|H3BFFE4
+3BFFE4:lI47|H3C0088
+3C0088:lI120|H3C012C
+3C012C:lI45|H3C01D0
+3C01D0:lI119|H3C0284
+3C0284:lI97|H3C0330
+3C0330:lI118|N
+3BFC78:lI119|H3BFD2C
+3BFD2C:lI97|H3BFDE8
+3BFDE8:lI118|N
+3BFBC8:lH3BFC88|H3BFC94
+3BFC88:t2:H3BFD3C,H3BFD44
+3BFD44:lI97|H3BFE00
+3BFE00:lI117|H3BFEA4
+3BFEA4:lI100|H3BFF48
+3BFF48:lI105|H3BFFEC
+3BFFEC:lI111|H3C0090
+3C0090:lI47|H3C0134
+3C0134:lI120|H3C01D8
+3C01D8:lI45|H3C028C
+3C028C:lI114|H3C0338
+3C0338:lI101|H3C03DC
+3C03DC:lI97|H3C0468
+3C0468:lI108|H3C04FC
+3C04FC:lI97|H3C0598
+3C0598:lI117|H3C063C
+3C063C:lI100|H3C06E8
+3C06E8:lI105|H3C0794
+3C0794:lI111|N
+3BFD3C:lI114|H3BFDF8
+3BFDF8:lI97|N
+3BFC94:lH3BFD4C|H3BFD58
+3BFD4C:t2:H3BFE08,H3BFE10
+3BFE10:lI97|H3BFEB4
+3BFEB4:lI117|H3BFF58
+3BFF58:lI100|H3BFFF4
+3BFFF4:lI105|H3C0098
+3C0098:lI111|H3C013C
+3C013C:lI47|H3C01E0
+3C01E0:lI120|H3C0294
+3C0294:lI45|H3C0340
+3C0340:lI112|H3C03E4
+3C03E4:lI110|H3C0470
+3C0470:lI45|H3C0504
+3C0504:lI114|H3C05A0
+3C05A0:lI101|H3C0644
+3C0644:lI97|H3C06F0
+3C06F0:lI108|H3C079C
+3C079C:lI97|H3C0838
+3C0838:lI117|H3C08C4
+3C08C4:lI100|H3C0958
+3C0958:lI105|H3C09EC
+3C09EC:lI111|H3C0A88
+3C0A88:lI45|H3C0B2C
+3C0B2C:lI112|H3C0BD0
+3C0BD0:lI108|H3C0C84
+3C0C84:lI117|H3C0D38
+3C0D38:lI103|H3C0DEC
+3C0DEC:lI105|H3C0EA0
+3C0EA0:lI110|N
+3BFE08:lI114|H3BFEAC
+3BFEAC:lI112|H3BFF50
+3BFF50:lI109|N
+3BFD58:lH3BFE18|H3BFE24
+3BFE18:t2:H3BFEBC,H3BFEC4
+3BFEC4:lI97|H3BFF68
+3BFF68:lI117|H3C0004
+3C0004:lI100|H3C00A0
+3C00A0:lI105|H3C0144
+3C0144:lI111|H3C01E8
+3C01E8:lI47|H3C029C
+3C029C:lI120|H3C0348
+3C0348:lI45|H3C03EC
+3C03EC:lI112|H3C0478
+3C0478:lI110|H3C050C
+3C050C:lI45|H3C05A8
+3C05A8:lI114|H3C064C
+3C064C:lI101|H3C06F8
+3C06F8:lI97|H3C07A4
+3C07A4:lI108|H3C0840
+3C0840:lI97|H3C08CC
+3C08CC:lI117|H3C0960
+3C0960:lI100|H3C09F4
+3C09F4:lI105|H3C0A90
+3C0A90:lI111|N
+3BFEBC:lI114|H3BFF60
+3BFF60:lI97|H3BFFFC
+3BFFFC:lI109|N
+3BFE24:lH3BFECC|H3BFED8
+3BFECC:t2:H3BFF70,H3BFF78
+3BFF78:lI97|H3C0014
+3C0014:lI117|H3C00B0
+3C00B0:lI100|H3C014C
+3C014C:lI105|H3C01F0
+3C01F0:lI111|H3C02A4
+3C02A4:lI47|H3C0350
+3C0350:lI120|H3C03F4
+3C03F4:lI45|H3C0480
+3C0480:lI97|H3C0514
+3C0514:lI105|H3C05B0
+3C05B0:lI102|H3C0654
+3C0654:lI102|N
+3BFF70:lI97|H3C000C
+3C000C:lI105|H3C00A8
+3C00A8:lI102|N
+3BFED8:lH3BFF80|H3BFF8C
+3BFF80:t2:H3C001C,H3C0024
+3C0024:lI97|H3C00C0
+3C00C0:lI117|H3C015C
+3C015C:lI100|H3C0200
+3C0200:lI105|H3C02AC
+3C02AC:lI111|H3C0358
+3C0358:lI47|H3C03FC
+3C03FC:lI120|H3C0488
+3C0488:lI45|H3C051C
+3C051C:lI97|H3C05B8
+3C05B8:lI105|H3C065C
+3C065C:lI102|H3C0700
+3C0700:lI102|N
+3C001C:lI97|H3C00B8
+3C00B8:lI105|H3C0154
+3C0154:lI102|H3C01F8
+3C01F8:lI102|N
+3BFF8C:lH3C002C|H3C0038
+3C002C:t2:H3C00C8,H3C00D0
+3C00D0:lI97|H3C016C
+3C016C:lI117|H3C0210
+3C0210:lI100|H3C02BC
+3C02BC:lI105|H3C0360
+3C0360:lI111|H3C0404
+3C0404:lI47|H3C0490
+3C0490:lI120|H3C0524
+3C0524:lI45|H3C05C0
+3C05C0:lI97|H3C0664
+3C0664:lI105|H3C0708
+3C0708:lI102|H3C07AC
+3C07AC:lI102|N
+3C00C8:lI97|H3C0164
+3C0164:lI105|H3C0208
+3C0208:lI102|H3C02B4
+3C02B4:lI99|N
+3C0038:lH3C00D8|H3C00E4
+3C00D8:t2:H3C0174,H3C017C
+3C017C:lI97|H3C0220
+3C0220:lI117|H3C02CC
+3C02CC:lI100|H3C0370
+3C0370:lI105|H3C040C
+3C040C:lI111|H3C0498
+3C0498:lI47|H3C052C
+3C052C:lI109|H3C05C8
+3C05C8:lI112|H3C066C
+3C066C:lI101|H3C0710
+3C0710:lI103|N
+3C0174:lI109|H3C0218
+3C0218:lI112|H3C02C4
+3C02C4:lI103|H3C0368
+3C0368:lI97|N
+3C00E4:lH3C0184|H3C0190
+3C0184:t2:H3C0228,H3C0230
+3C0230:lI97|H3C02DC
+3C02DC:lI117|H3C0380
+3C0380:lI100|H3C0414
+3C0414:lI105|H3C04A0
+3C04A0:lI111|H3C0534
+3C0534:lI47|H3C05D0
+3C05D0:lI109|H3C0674
+3C0674:lI112|H3C0718
+3C0718:lI101|H3C07B4
+3C07B4:lI103|N
+3C0228:lI109|H3C02D4
+3C02D4:lI112|H3C0378
+3C0378:lI50|N
+3C0190:lH3C0238|H3C0244
+3C0238:t2:H3C02E4,H3C02EC
+3C02EC:lI97|H3C0390
+3C0390:lI117|H3C041C
+3C041C:lI100|H3C04A8
+3C04A8:lI105|H3C053C
+3C053C:lI111|H3C05D8
+3C05D8:lI47|H3C067C
+3C067C:lI98|H3C0720
+3C0720:lI97|H3C07BC
+3C07BC:lI115|H3C0848
+3C0848:lI105|H3C08D4
+3C08D4:lI99|N
+3C02E4:lI97|H3C0388
+3C0388:lI117|N
+3C0244:lH3C02F4|H3C0300
+3C02F4:t2:H3C0398,H3C03A0
+3C03A0:lI97|H3C042C
+3C042C:lI117|H3C04B8
+3C04B8:lI100|H3C0544
+3C0544:lI105|H3C05E0
+3C05E0:lI111|H3C0684
+3C0684:lI47|H3C0728
+3C0728:lI98|H3C07C4
+3C07C4:lI97|H3C0850
+3C0850:lI115|H3C08DC
+3C08DC:lI105|H3C0968
+3C0968:lI99|N
+3C0398:lI115|H3C0424
+3C0424:lI110|H3C04B0
+3C04B0:lI100|N
+3C0300:lH3C03A8|H3C03B4
+3C03A8:t2:H3C0434,H3C043C
+3C043C:lI97|H3C04C8
+3C04C8:lI112|H3C0554
+3C0554:lI112|H3C05E8
+3C05E8:lI108|H3C068C
+3C068C:lI105|H3C0730
+3C0730:lI99|H3C07CC
+3C07CC:lI97|H3C0858
+3C0858:lI116|H3C08E4
+3C08E4:lI105|H3C0970
+3C0970:lI111|H3C09FC
+3C09FC:lI110|H3C0A98
+3C0A98:lI47|H3C0B34
+3C0B34:lI122|H3C0BD8
+3C0BD8:lI105|H3C0C8C
+3C0C8C:lI112|N
+3C0434:lI122|H3C04C0
+3C04C0:lI105|H3C054C
+3C054C:lI112|N
+3C03B4:lH3C0444|H3C0450
+3C0444:t2:H3C04D0,H3C04D8
+3C04D8:lI97|H3C0564
+3C0564:lI112|H3C05F8
+3C05F8:lI112|H3C0694
+3C0694:lI108|H3C0738
+3C0738:lI105|H3C07D4
+3C07D4:lI99|H3C0860
+3C0860:lI97|H3C08EC
+3C08EC:lI116|H3C0978
+3C0978:lI105|H3C0A04
+3C0A04:lI111|H3C0AA0
+3C0AA0:lI110|H3C0B3C
+3C0B3C:lI47|H3C0BE0
+3C0BE0:lI120|H3C0C94
+3C0C94:lI45|H3C0D40
+3C0D40:lI119|H3C0DF4
+3C0DF4:lI97|H3C0EA8
+3C0EA8:lI105|H3C0F64
+3C0F64:lI115|H3C1030
+3C1030:lI45|H3C1104
+3C1104:lI115|H3C11D8
+3C11D8:lI111|H3C12A4
+3C12A4:lI117|H3C1378
+3C1378:lI114|H3C1454
+3C1454:lI99|H3C1538
+3C1538:lI101|N
+3C04D0:lI115|H3C055C
+3C055C:lI114|H3C05F0
+3C05F0:lI99|N
+3C0450:lH3C04E0|H3C04EC
+3C04E0:t2:H3C056C,H3C0574
+3C0574:lI97|H3C0608
+3C0608:lI112|H3C06A4
+3C06A4:lI112|H3C0748
+3C0748:lI108|H3C07E4
+3C07E4:lI105|H3C0868
+3C0868:lI99|H3C08F4
+3C08F4:lI97|H3C0980
+3C0980:lI116|H3C0A0C
+3C0A0C:lI105|H3C0AA8
+3C0AA8:lI111|H3C0B44
+3C0B44:lI110|H3C0BE8
+3C0BE8:lI47|H3C0C9C
+3C0C9C:lI120|H3C0D48
+3C0D48:lI45|H3C0DFC
+3C0DFC:lI117|H3C0EB0
+3C0EB0:lI115|H3C0F6C
+3C0F6C:lI116|H3C1038
+3C1038:lI97|H3C110C
+3C110C:lI114|N
+3C056C:lI117|H3C0600
+3C0600:lI115|H3C069C
+3C069C:lI116|H3C0740
+3C0740:lI97|H3C07DC
+3C07DC:lI114|N
+3C04EC:lH3C057C|H3C0588
+3C057C:t2:H3C0610,H3C0618
+3C0618:lI97|H3C06B4
+3C06B4:lI112|H3C0750
+3C0750:lI112|H3C07EC
+3C07EC:lI108|H3C0870
+3C0870:lI105|H3C08FC
+3C08FC:lI99|H3C0988
+3C0988:lI97|H3C0A14
+3C0A14:lI116|H3C0AB0
+3C0AB0:lI105|H3C0B4C
+3C0B4C:lI111|H3C0BF0
+3C0BF0:lI110|H3C0CA4
+3C0CA4:lI47|H3C0D50
+3C0D50:lI120|H3C0E04
+3C0E04:lI45|H3C0EB8
+3C0EB8:lI116|H3C0F74
+3C0F74:lI114|H3C1040
+3C1040:lI111|H3C1114
+3C1114:lI102|H3C11E0
+3C11E0:lI102|H3C12AC
+3C12AC:lI45|H3C1380
+3C1380:lI109|H3C145C
+3C145C:lI115|N
+3C0610:lI109|H3C06AC
+3C06AC:lI115|N
+3C0588:lH3C0620|H3C062C
+3C0620:t2:H3C06BC,H3C06C4
+3C06C4:lI97|H3C0760
+3C0760:lI112|H3C07F4
+3C07F4:lI112|H3C0878
+3C0878:lI108|H3C0904
+3C0904:lI105|H3C0990
+3C0990:lI99|H3C0A1C
+3C0A1C:lI97|H3C0AB8
+3C0AB8:lI116|H3C0B54
+3C0B54:lI105|H3C0BF8
+3C0BF8:lI111|H3C0CAC
+3C0CAC:lI110|H3C0D58
+3C0D58:lI47|H3C0E0C
+3C0E0C:lI120|H3C0EC0
+3C0EC0:lI45|H3C0F7C
+3C0F7C:lI116|H3C1048
+3C1048:lI114|H3C111C
+3C111C:lI111|H3C11E8
+3C11E8:lI102|H3C12B4
+3C12B4:lI102|H3C1388
+3C1388:lI45|H3C1464
+3C1464:lI109|H3C1540
+3C1540:lI101|N
+3C06BC:lI109|H3C0758
+3C0758:lI101|N
+3C062C:lH3C06CC|H3C06D8
+3C06CC:t2:H3C0768,H3C0770
+3C0770:lI97|H3C0804
+3C0804:lI112|H3C0888
+3C0888:lI112|H3C090C
+3C090C:lI108|H3C0998
+3C0998:lI105|H3C0A24
+3C0A24:lI99|H3C0AC0
+3C0AC0:lI97|H3C0B5C
+3C0B5C:lI116|H3C0C00
+3C0C00:lI105|H3C0CB4
+3C0CB4:lI111|H3C0D60
+3C0D60:lI110|H3C0E14
+3C0E14:lI47|H3C0EC8
+3C0EC8:lI120|H3C0F84
+3C0F84:lI45|H3C1050
+3C1050:lI116|H3C1124
+3C1124:lI114|H3C11F0
+3C11F0:lI111|H3C12BC
+3C12BC:lI102|H3C1390
+3C1390:lI102|H3C146C
+3C146C:lI45|H3C1548
+3C1548:lI109|H3C161C
+3C161C:lI97|H3C16F0
+3C16F0:lI110|N
+3C0768:lI109|H3C07FC
+3C07FC:lI97|H3C0880
+3C0880:lI110|N
+3C06D8:lH3C0778|H3C0784
+3C0778:t2:H3C080C,H3C0814
+3C0814:lI97|H3C0890
+3C0890:lI112|H3C0914
+3C0914:lI112|H3C09A0
+3C09A0:lI108|H3C0A2C
+3C0A2C:lI105|H3C0AC8
+3C0AC8:lI99|H3C0B64
+3C0B64:lI97|H3C0C08
+3C0C08:lI116|H3C0CBC
+3C0CBC:lI105|H3C0D68
+3C0D68:lI111|H3C0E1C
+3C0E1C:lI110|H3C0ED0
+3C0ED0:lI47|H3C0F8C
+3C0F8C:lI120|H3C1058
+3C1058:lI45|H3C112C
+3C112C:lI116|H3C11F8
+3C11F8:lI114|H3C12C4
+3C12C4:lI111|H3C1398
+3C1398:lI102|H3C1474
+3C1474:lI102|N
+3C080C:lI116|N
+3C0784:lH3C081C|H3C0828
+3C081C:t2:H3C0898,H3C08A0
+3C08A0:lI97|H3C0924
+3C0924:lI112|H3C09A8
+3C09A8:lI112|H3C0A34
+3C0A34:lI108|H3C0AD0
+3C0AD0:lI105|H3C0B6C
+3C0B6C:lI99|H3C0C10
+3C0C10:lI97|H3C0CC4
+3C0CC4:lI116|H3C0D70
+3C0D70:lI105|H3C0E24
+3C0E24:lI111|H3C0ED8
+3C0ED8:lI110|H3C0F94
+3C0F94:lI47|H3C1060
+3C1060:lI120|H3C1134
+3C1134:lI45|H3C1200
+3C1200:lI116|H3C12CC
+3C12CC:lI114|H3C13A0
+3C13A0:lI111|H3C147C
+3C147C:lI102|H3C1550
+3C1550:lI102|N
+3C0898:lI116|H3C091C
+3C091C:lI114|N
+3C0828:lH3C08A8|H3C08B4
+3C08A8:t2:H3C092C,H3C0934
+3C0934:lI97|H3C09B8
+3C09B8:lI112|H3C0A44
+3C0A44:lI112|H3C0AE0
+3C0AE0:lI108|H3C0B74
+3C0B74:lI105|H3C0C18
+3C0C18:lI99|H3C0CCC
+3C0CCC:lI97|H3C0D78
+3C0D78:lI116|H3C0E2C
+3C0E2C:lI105|H3C0EE0
+3C0EE0:lI111|H3C0F9C
+3C0F9C:lI110|H3C1068
+3C1068:lI47|H3C113C
+3C113C:lI120|H3C1208
+3C1208:lI45|H3C12D4
+3C12D4:lI116|H3C13A8
+3C13A8:lI114|H3C1484
+3C1484:lI111|H3C1558
+3C1558:lI102|H3C1624
+3C1624:lI102|N
+3C092C:lI114|H3C09B0
+3C09B0:lI111|H3C0A3C
+3C0A3C:lI102|H3C0AD8
+3C0AD8:lI102|N
+3C08B4:lH3C093C|H3C0948
+3C093C:t2:H3C09C0,H3C09C8
+3C09C8:lI97|H3C0A54
+3C0A54:lI112|H3C0AF0
+3C0AF0:lI112|H3C0B84
+3C0B84:lI108|H3C0C28
+3C0C28:lI105|H3C0CDC
+3C0CDC:lI99|H3C0D88
+3C0D88:lI97|H3C0E34
+3C0E34:lI116|H3C0EE8
+3C0EE8:lI105|H3C0FA4
+3C0FA4:lI111|H3C1070
+3C1070:lI110|H3C1144
+3C1144:lI47|H3C1210
+3C1210:lI120|H3C12DC
+3C12DC:lI45|H3C13B0
+3C13B0:lI116|H3C148C
+3C148C:lI101|H3C1560
+3C1560:lI120|H3C162C
+3C162C:lI105|H3C16F8
+3C16F8:lI110|H3C17BC
+3C17BC:lI102|H3C1880
+3C1880:lI111|N
+3C09C0:lI116|H3C0A4C
+3C0A4C:lI101|H3C0AE8
+3C0AE8:lI120|H3C0B7C
+3C0B7C:lI105|H3C0C20
+3C0C20:lI110|H3C0CD4
+3C0CD4:lI102|H3C0D80
+3C0D80:lI111|N
+3C0948:lH3C09D0|H3C09DC
+3C09D0:t2:H3C0A5C,H3C0A64
+3C0A64:lI97|H3C0B00
+3C0B00:lI112|H3C0B94
+3C0B94:lI112|H3C0C38
+3C0C38:lI108|H3C0CE4
+3C0CE4:lI105|H3C0D90
+3C0D90:lI99|H3C0E3C
+3C0E3C:lI97|H3C0EF0
+3C0EF0:lI116|H3C0FAC
+3C0FAC:lI105|H3C1078
+3C1078:lI111|H3C114C
+3C114C:lI110|H3C1218
+3C1218:lI47|H3C12E4
+3C12E4:lI120|H3C13B8
+3C13B8:lI45|H3C1494
+3C1494:lI116|H3C1568
+3C1568:lI101|H3C1634
+3C1634:lI120|H3C1700
+3C1700:lI105|H3C17C4
+3C17C4:lI110|H3C1888
+3C1888:lI102|H3C1944
+3C1944:lI111|N
+3C0A5C:lI116|H3C0AF8
+3C0AF8:lI101|H3C0B8C
+3C0B8C:lI120|H3C0C30
+3C0C30:lI105|N
+3C09DC:lH3C0A6C|H3C0A78
+3C0A6C:t2:H3C0B08,H3C0B10
+3C0B10:lI97|H3C0BA4
+3C0BA4:lI112|H3C0C48
+3C0C48:lI112|H3C0CEC
+3C0CEC:lI108|H3C0D98
+3C0D98:lI105|H3C0E44
+3C0E44:lI99|H3C0EF8
+3C0EF8:lI97|H3C0FB4
+3C0FB4:lI116|H3C1080
+3C1080:lI105|H3C1154
+3C1154:lI111|H3C1220
+3C1220:lI110|H3C12EC
+3C12EC:lI47|H3C13C0
+3C13C0:lI120|H3C149C
+3C149C:lI45|H3C1570
+3C1570:lI116|H3C163C
+3C163C:lI101|H3C1708
+3C1708:lI120|N
+3C0B08:lI116|H3C0B9C
+3C0B9C:lI101|H3C0C40
+3C0C40:lI120|N
+3C0A78:lH3C0B18|H3C0B24
+3C0B18:t2:H3C0BAC,H3C0BB4
+3C0BB4:lI97|H3C0C58
+3C0C58:lI112|H3C0CFC
+3C0CFC:lI112|H3C0DA0
+3C0DA0:lI108|H3C0E4C
+3C0E4C:lI105|H3C0F00
+3C0F00:lI99|H3C0FBC
+3C0FBC:lI97|H3C1088
+3C1088:lI116|H3C115C
+3C115C:lI105|H3C1228
+3C1228:lI111|H3C12F4
+3C12F4:lI110|H3C13C8
+3C13C8:lI47|H3C14A4
+3C14A4:lI120|H3C1578
+3C1578:lI45|H3C1644
+3C1644:lI116|H3C1710
+3C1710:lI99|H3C17CC
+3C17CC:lI108|N
+3C0BAC:lI116|H3C0C50
+3C0C50:lI99|H3C0CF4
+3C0CF4:lI108|N
+3C0B24:lH3C0BBC|H3C0BC8
+3C0BBC:t2:H3C0C60,H3C0C68
+3C0C68:lI97|H3C0D0C
+3C0D0C:lI112|H3C0DB0
+3C0DB0:lI112|H3C0E54
+3C0E54:lI108|H3C0F08
+3C0F08:lI105|H3C0FC4
+3C0FC4:lI99|H3C1090
+3C1090:lI97|H3C1164
+3C1164:lI116|H3C1230
+3C1230:lI105|H3C12FC
+3C12FC:lI111|H3C13D0
+3C13D0:lI110|H3C14AC
+3C14AC:lI47|H3C1580
+3C1580:lI120|H3C164C
+3C164C:lI45|H3C1718
+3C1718:lI116|H3C17D4
+3C17D4:lI97|H3C1890
+3C1890:lI114|N
+3C0C60:lI116|H3C0D04
+3C0D04:lI97|H3C0DA8
+3C0DA8:lI114|N
+3C0BC8:lH3C0C70|H3C0C7C
+3C0C70:t2:H3C0D14,H3C0D1C
+3C0D1C:lI97|H3C0DC0
+3C0DC0:lI112|H3C0E64
+3C0E64:lI112|H3C0F18
+3C0F18:lI108|H3C0FD4
+3C0FD4:lI105|H3C10A0
+3C10A0:lI99|H3C116C
+3C116C:lI97|H3C1238
+3C1238:lI116|H3C1304
+3C1304:lI105|H3C13D8
+3C13D8:lI111|H3C14B4
+3C14B4:lI110|H3C1588
+3C1588:lI47|H3C1654
+3C1654:lI120|H3C1720
+3C1720:lI45|H3C17DC
+3C17DC:lI115|H3C1898
+3C1898:lI118|H3C194C
+3C194C:lI52|H3C1A00
+3C1A00:lI99|H3C1AB4
+3C1AB4:lI114|H3C1B78
+3C1B78:lI99|N
+3C0D14:lI115|H3C0DB8
+3C0DB8:lI118|H3C0E5C
+3C0E5C:lI52|H3C0F10
+3C0F10:lI99|H3C0FCC
+3C0FCC:lI114|H3C1098
+3C1098:lI99|N
+3C0C7C:lH3C0D24|H3C0D30
+3C0D24:t2:H3C0DC8,H3C0DD0
+3C0DD0:lI97|H3C0E74
+3C0E74:lI112|H3C0F28
+3C0F28:lI112|H3C0FE4
+3C0FE4:lI108|H3C10B0
+3C10B0:lI105|H3C117C
+3C117C:lI99|H3C1248
+3C1248:lI97|H3C130C
+3C130C:lI116|H3C13E0
+3C13E0:lI105|H3C14BC
+3C14BC:lI111|H3C1590
+3C1590:lI110|H3C165C
+3C165C:lI47|H3C1728
+3C1728:lI120|H3C17E4
+3C17E4:lI45|H3C18A0
+3C18A0:lI115|H3C1954
+3C1954:lI118|H3C1A08
+3C1A08:lI52|H3C1ABC
+3C1ABC:lI99|H3C1B80
+3C1B80:lI112|H3C1C4C
+3C1C4C:lI105|H3C1D10
+3C1D10:lI111|N
+3C0DC8:lI115|H3C0E6C
+3C0E6C:lI118|H3C0F20
+3C0F20:lI52|H3C0FDC
+3C0FDC:lI99|H3C10A8
+3C10A8:lI112|H3C1174
+3C1174:lI105|H3C1240
+3C1240:lI111|N
+3C0D30:lH3C0DD8|H3C0DE4
+3C0DD8:t2:H3C0E7C,H3C0E84
+3C0E84:lI97|H3C0F38
+3C0F38:lI112|H3C0FF4
+3C0FF4:lI112|H3C10B8
+3C10B8:lI108|H3C1184
+3C1184:lI105|H3C1250
+3C1250:lI99|H3C1314
+3C1314:lI97|H3C13E8
+3C13E8:lI116|H3C14C4
+3C14C4:lI105|H3C1598
+3C1598:lI111|H3C1664
+3C1664:lI110|H3C1730
+3C1730:lI47|H3C17EC
+3C17EC:lI120|H3C18A8
+3C18A8:lI45|H3C195C
+3C195C:lI115|H3C1A10
+3C1A10:lI116|H3C1AC4
+3C1AC4:lI117|H3C1B88
+3C1B88:lI102|H3C1C54
+3C1C54:lI102|H3C1D18
+3C1D18:lI105|H3C1DD4
+3C1DD4:lI116|N
+3C0E7C:lI115|H3C0F30
+3C0F30:lI105|H3C0FEC
+3C0FEC:lI116|N
+3C0DE4:lH3C0E8C|H3C0E98
+3C0E8C:t2:H3C0F40,H3C0F48
+3C0F48:lI97|H3C1004
+3C1004:lI112|H3C10C8
+3C10C8:lI112|H3C1194
+3C1194:lI108|H3C1258
+3C1258:lI105|H3C131C
+3C131C:lI99|H3C13F0
+3C13F0:lI97|H3C14CC
+3C14CC:lI116|H3C15A0
+3C15A0:lI105|H3C166C
+3C166C:lI111|H3C1738
+3C1738:lI110|H3C17F4
+3C17F4:lI47|H3C18B0
+3C18B0:lI120|H3C1964
+3C1964:lI45|H3C1A18
+3C1A18:lI115|H3C1ACC
+3C1ACC:lI104|H3C1B90
+3C1B90:lI97|H3C1C5C
+3C1C5C:lI114|N
+3C0F40:lI115|H3C0FFC
+3C0FFC:lI104|H3C10C0
+3C10C0:lI97|H3C118C
+3C118C:lI114|N
+3C0E98:lH3C0F50|H3C0F5C
+3C0F50:t2:H3C100C,H3C1014
+3C1014:lI97|H3C10D8
+3C10D8:lI112|H3C119C
+3C119C:lI112|H3C1260
+3C1260:lI108|H3C1324
+3C1324:lI105|H3C13F8
+3C13F8:lI99|H3C14D4
+3C14D4:lI97|H3C15A8
+3C15A8:lI116|H3C1674
+3C1674:lI105|H3C1740
+3C1740:lI111|H3C17FC
+3C17FC:lI110|H3C18B8
+3C18B8:lI47|H3C196C
+3C196C:lI120|H3C1A20
+3C1A20:lI45|H3C1AD4
+3C1AD4:lI115|H3C1B98
+3C1B98:lI104|N
+3C100C:lI115|H3C10D0
+3C10D0:lI104|N
+3C0F5C:lH3C101C|H3C1028
+3C101C:t2:H3C10E0,H3C10E8
+3C10E8:lI97|H3C11AC
+3C11AC:lI112|H3C1268
+3C1268:lI112|H3C132C
+3C132C:lI108|H3C1400
+3C1400:lI105|H3C14DC
+3C14DC:lI99|H3C15B0
+3C15B0:lI97|H3C167C
+3C167C:lI116|H3C1748
+3C1748:lI105|H3C1804
+3C1804:lI111|H3C18C0
+3C18C0:lI110|H3C1974
+3C1974:lI47|H3C1A28
+3C1A28:lI120|H3C1ADC
+3C1ADC:lI45|H3C1BA0
+3C1BA0:lI110|H3C1C64
+3C1C64:lI101|H3C1D20
+3C1D20:lI116|H3C1DDC
+3C1DDC:lI99|H3C1E98
+3C1E98:lI100|H3C1F5C
+3C1F5C:lI102|N
+3C10E0:lI110|H3C11A4
+3C11A4:lI99|N
+3C1028:lH3C10F0|H3C10FC
+3C10F0:t2:H3C11B4,H3C11BC
+3C11BC:lI97|H3C1278
+3C1278:lI112|H3C133C
+3C133C:lI112|H3C1408
+3C1408:lI108|H3C14E4
+3C14E4:lI105|H3C15B8
+3C15B8:lI99|H3C1684
+3C1684:lI97|H3C1750
+3C1750:lI116|H3C180C
+3C180C:lI105|H3C18C8
+3C18C8:lI111|H3C197C
+3C197C:lI110|H3C1A30
+3C1A30:lI47|H3C1AE4
+3C1AE4:lI120|H3C1BA8
+3C1BA8:lI45|H3C1C6C
+3C1C6C:lI110|H3C1D28
+3C1D28:lI101|H3C1DE4
+3C1DE4:lI116|H3C1EA0
+3C1EA0:lI99|H3C1F64
+3C1F64:lI100|H3C2018
+3C2018:lI102|N
+3C11B4:lI99|H3C1270
+3C1270:lI100|H3C1334
+3C1334:lI102|N
+3C10FC:lH3C11C4|H3C11D0
+3C11C4:t2:H3C1280,H3C1288
+3C1288:lI97|H3C134C
+3C134C:lI112|H3C1418
+3C1418:lI112|H3C14EC
+3C14EC:lI108|H3C15C0
+3C15C0:lI105|H3C168C
+3C168C:lI99|H3C1758
+3C1758:lI97|H3C1814
+3C1814:lI116|H3C18D0
+3C18D0:lI105|H3C1984
+3C1984:lI111|H3C1A38
+3C1A38:lI110|H3C1AEC
+3C1AEC:lI47|H3C1BB0
+3C1BB0:lI120|H3C1C74
+3C1C74:lI45|H3C1D30
+3C1D30:lI109|H3C1DEC
+3C1DEC:lI105|H3C1EA8
+3C1EA8:lI102|N
+3C1280:lI109|H3C1344
+3C1344:lI105|H3C1410
+3C1410:lI102|N
+3C11D0:lH3C1290|H3C129C
+3C1290:t2:H3C1354,H3C135C
+3C135C:lI97|H3C1428
+3C1428:lI112|H3C14FC
+3C14FC:lI112|H3C15D0
+3C15D0:lI108|H3C169C
+3C169C:lI105|H3C1760
+3C1760:lI99|H3C181C
+3C181C:lI97|H3C18D8
+3C18D8:lI116|H3C198C
+3C198C:lI105|H3C1A40
+3C1A40:lI111|H3C1AF4
+3C1AF4:lI110|H3C1BB8
+3C1BB8:lI47|H3C1C7C
+3C1C7C:lI120|H3C1D38
+3C1D38:lI45|H3C1DF4
+3C1DF4:lI108|H3C1EB0
+3C1EB0:lI97|H3C1F6C
+3C1F6C:lI116|H3C2020
+3C2020:lI101|H3C20DC
+3C20DC:lI120|N
+3C1354:lI108|H3C1420
+3C1420:lI97|H3C14F4
+3C14F4:lI116|H3C15C8
+3C15C8:lI101|H3C1694
+3C1694:lI120|N
+3C129C:lH3C1364|H3C1370
+3C1364:t2:H3C1430,H3C1438
+3C1438:lI97|H3C150C
+3C150C:lI112|H3C15E0
+3C15E0:lI112|H3C16A4
+3C16A4:lI108|H3C1768
+3C1768:lI105|H3C1824
+3C1824:lI99|H3C18E0
+3C18E0:lI97|H3C1994
+3C1994:lI116|H3C1A48
+3C1A48:lI105|H3C1AFC
+3C1AFC:lI111|H3C1BC0
+3C1BC0:lI110|H3C1C84
+3C1C84:lI47|H3C1D40
+3C1D40:lI120|H3C1DFC
+3C1DFC:lI45|H3C1EB8
+3C1EB8:lI107|H3C1F74
+3C1F74:lI111|H3C2028
+3C2028:lI97|H3C20E4
+3C20E4:lI110|N
+3C1430:lI115|H3C1504
+3C1504:lI107|H3C15D8
+3C15D8:lI112|N
+3C1370:lH3C1440|H3C144C
+3C1440:t2:H3C1514,H3C151C
+3C151C:lI97|H3C15F0
+3C15F0:lI112|H3C16B4
+3C16B4:lI112|H3C1770
+3C1770:lI108|H3C182C
+3C182C:lI105|H3C18E8
+3C18E8:lI99|H3C199C
+3C199C:lI97|H3C1A50
+3C1A50:lI116|H3C1B04
+3C1B04:lI105|H3C1BC8
+3C1BC8:lI111|H3C1C8C
+3C1C8C:lI110|H3C1D48
+3C1D48:lI47|H3C1E04
+3C1E04:lI120|H3C1EC0
+3C1EC0:lI45|H3C1F7C
+3C1F7C:lI107|H3C2030
+3C2030:lI111|H3C20EC
+3C20EC:lI97|H3C21A0
+3C21A0:lI110|N
+3C1514:lI115|H3C15E8
+3C15E8:lI107|H3C16AC
+3C16AC:lI100|N
+3C144C:lH3C1524|H3C1530
+3C1524:t2:H3C15F8,H3C1600
+3C1600:lI97|H3C16C4
+3C16C4:lI112|H3C1780
+3C1780:lI112|H3C1834
+3C1834:lI108|H3C18F0
+3C18F0:lI105|H3C19A4
+3C19A4:lI99|H3C1A58
+3C1A58:lI97|H3C1B0C
+3C1B0C:lI116|H3C1BD0
+3C1BD0:lI105|H3C1C94
+3C1C94:lI111|H3C1D50
+3C1D50:lI110|H3C1E0C
+3C1E0C:lI47|H3C1EC8
+3C1EC8:lI120|H3C1F84
+3C1F84:lI45|H3C2038
+3C2038:lI107|H3C20F4
+3C20F4:lI111|H3C21A8
+3C21A8:lI97|H3C225C
+3C225C:lI110|N
+3C15F8:lI115|H3C16BC
+3C16BC:lI107|H3C1778
+3C1778:lI116|N
+3C1530:lH3C1608|H3C1614
+3C1608:t2:H3C16CC,H3C16D4
+3C16D4:lI97|H3C1790
+3C1790:lI112|H3C1844
+3C1844:lI112|H3C18F8
+3C18F8:lI108|H3C19AC
+3C19AC:lI105|H3C1A60
+3C1A60:lI99|H3C1B14
+3C1B14:lI97|H3C1BD8
+3C1BD8:lI116|H3C1C9C
+3C1C9C:lI105|H3C1D58
+3C1D58:lI111|H3C1E14
+3C1E14:lI110|H3C1ED0
+3C1ED0:lI47|H3C1F8C
+3C1F8C:lI120|H3C2040
+3C2040:lI45|H3C20FC
+3C20FC:lI107|H3C21B0
+3C21B0:lI111|H3C2264
+3C2264:lI97|H3C2320
+3C2320:lI110|N
+3C16CC:lI115|H3C1788
+3C1788:lI107|H3C183C
+3C183C:lI109|N
+3C1614:lH3C16DC|H3C16E8
+3C16DC:t2:H3C1798,H3C17A0
+3C17A0:lI97|H3C1854
+3C1854:lI112|H3C1908
+3C1908:lI112|H3C19B4
+3C19B4:lI108|H3C1A68
+3C1A68:lI105|H3C1B1C
+3C1B1C:lI99|H3C1BE0
+3C1BE0:lI97|H3C1CA4
+3C1CA4:lI116|H3C1D60
+3C1D60:lI105|H3C1E1C
+3C1E1C:lI111|H3C1ED8
+3C1ED8:lI110|H3C1F94
+3C1F94:lI47|H3C2048
+3C2048:lI120|H3C2104
+3C2104:lI45|H3C21B8
+3C21B8:lI104|H3C226C
+3C226C:lI116|H3C2328
+3C2328:lI116|H3C23E4
+3C23E4:lI112|H3C2498
+3C2498:lI100|H3C2554
+3C2554:lI45|H3C2610
+3C2610:lI99|H3C26D4
+3C26D4:lI103|H3C2790
+3C2790:lI105|N
+3C1798:lI99|H3C184C
+3C184C:lI103|H3C1900
+3C1900:lI105|N
+3C16E8:lH3C17A8|H3C17B4
+3C17A8:t2:H3C185C,H3C1864
+3C1864:lI97|H3C1918
+3C1918:lI112|H3C19C4
+3C19C4:lI112|H3C1A70
+3C1A70:lI108|H3C1B24
+3C1B24:lI105|H3C1BE8
+3C1BE8:lI99|H3C1CAC
+3C1CAC:lI97|H3C1D68
+3C1D68:lI116|H3C1E24
+3C1E24:lI105|H3C1EE0
+3C1EE0:lI111|H3C1F9C
+3C1F9C:lI110|H3C2050
+3C2050:lI47|H3C210C
+3C210C:lI120|H3C21C0
+3C21C0:lI45|H3C2274
+3C2274:lI104|H3C2330
+3C2330:lI100|H3C23EC
+3C23EC:lI102|N
+3C185C:lI104|H3C1910
+3C1910:lI100|H3C19BC
+3C19BC:lI102|N
+3C17B4:lH3C186C|H3C1878
+3C186C:t2:H3C1920,H3C1928
+3C1928:lI97|H3C19D4
+3C19D4:lI112|H3C1A78
+3C1A78:lI112|H3C1B2C
+3C1B2C:lI108|H3C1BF0
+3C1BF0:lI105|H3C1CB4
+3C1CB4:lI99|H3C1D70
+3C1D70:lI97|H3C1E2C
+3C1E2C:lI116|H3C1EE8
+3C1EE8:lI105|H3C1FA4
+3C1FA4:lI111|H3C2058
+3C2058:lI110|H3C2114
+3C2114:lI47|H3C21C8
+3C21C8:lI120|H3C227C
+3C227C:lI45|H3C2338
+3C2338:lI103|H3C23F4
+3C23F4:lI122|H3C24A0
+3C24A0:lI105|H3C255C
+3C255C:lI112|N
+3C1920:lI103|H3C19CC
+3C19CC:lI122|N
+3C1878:lH3C1930|H3C193C
+3C1930:t2:H3C19DC,H3C19E4
+3C19E4:lI97|H3C1A88
+3C1A88:lI112|H3C1B3C
+3C1B3C:lI112|H3C1C00
+3C1C00:lI108|H3C1CBC
+3C1CBC:lI105|H3C1D78
+3C1D78:lI99|H3C1E34
+3C1E34:lI97|H3C1EF0
+3C1EF0:lI116|H3C1FAC
+3C1FAC:lI105|H3C2060
+3C2060:lI111|H3C211C
+3C211C:lI110|H3C21D0
+3C21D0:lI47|H3C2284
+3C2284:lI120|H3C2340
+3C2340:lI45|H3C23FC
+3C23FC:lI103|H3C24A8
+3C24A8:lI116|H3C2564
+3C2564:lI97|H3C2618
+3C2618:lI114|N
+3C19DC:lI103|H3C1A80
+3C1A80:lI116|H3C1B34
+3C1B34:lI97|H3C1BF8
+3C1BF8:lI114|N
+3C193C:lH3C19EC|H3C19F8
+3C19EC:t2:H3C1A90,H3C1A98
+3C1A98:lI97|H3C1B4C
+3C1B4C:lI112|H3C1C10
+3C1C10:lI112|H3C1CC4
+3C1CC4:lI108|H3C1D80
+3C1D80:lI105|H3C1E3C
+3C1E3C:lI99|H3C1EF8
+3C1EF8:lI97|H3C1FB4
+3C1FB4:lI116|H3C2068
+3C2068:lI105|H3C2124
+3C2124:lI111|H3C21D8
+3C21D8:lI110|H3C228C
+3C228C:lI47|H3C2348
+3C2348:lI120|H3C2404
+3C2404:lI45|H3C24B0
+3C24B0:lI100|H3C256C
+3C256C:lI118|H3C2620
+3C2620:lI105|N
+3C1A90:lI100|H3C1B44
+3C1B44:lI118|H3C1C08
+3C1C08:lI105|N
+3C19F8:lH3C1AA0|H3C1AAC
+3C1AA0:t2:H3C1B54,H3C1B5C
+3C1B5C:lI97|H3C1C20
+3C1C20:lI112|H3C1CD4
+3C1CD4:lI112|H3C1D88
+3C1D88:lI108|H3C1E44
+3C1E44:lI105|H3C1F00
+3C1F00:lI99|H3C1FBC
+3C1FBC:lI97|H3C2070
+3C2070:lI116|H3C212C
+3C212C:lI105|H3C21E0
+3C21E0:lI111|H3C2294
+3C2294:lI110|H3C2350
+3C2350:lI47|H3C240C
+3C240C:lI120|H3C24B8
+3C24B8:lI45|H3C2574
+3C2574:lI100|H3C2628
+3C2628:lI105|H3C26DC
+3C26DC:lI114|H3C2798
+3C2798:lI101|H3C2854
+3C2854:lI99|H3C2918
+3C2918:lI116|H3C29E4
+3C29E4:lI111|H3C2AB0
+3C2AB0:lI114|N
+3C1B54:lI100|H3C1C18
+3C1C18:lI99|H3C1CCC
+3C1CCC:lI114|N
+3C1AAC:lH3C1B64|H3C1B70
+3C1B64:t2:H3C1C28,H3C1C30
+3C1C30:lI97|H3C1CE4
+3C1CE4:lI112|H3C1D98
+3C1D98:lI112|H3C1E4C
+3C1E4C:lI108|H3C1F08
+3C1F08:lI105|H3C1FC4
+3C1FC4:lI99|H3C2078
+3C2078:lI97|H3C2134
+3C2134:lI116|H3C21E8
+3C21E8:lI105|H3C229C
+3C229C:lI111|H3C2358
+3C2358:lI110|H3C2414
+3C2414:lI47|H3C24C0
+3C24C0:lI120|H3C257C
+3C257C:lI45|H3C2630
+3C2630:lI100|H3C26E4
+3C26E4:lI105|H3C27A0
+3C27A0:lI114|H3C285C
+3C285C:lI101|H3C2920
+3C2920:lI99|H3C29EC
+3C29EC:lI116|H3C2AB8
+3C2AB8:lI111|H3C2B84
+3C2B84:lI114|N
+3C1C28:lI100|H3C1CDC
+3C1CDC:lI105|H3C1D90
+3C1D90:lI114|N
+3C1B70:lH3C1C38|H3C1C44
+3C1C38:t2:H3C1CEC,H3C1CF4
+3C1CF4:lI97|H3C1DA8
+3C1DA8:lI112|H3C1E5C
+3C1E5C:lI112|H3C1F10
+3C1F10:lI108|H3C1FCC
+3C1FCC:lI105|H3C2080
+3C2080:lI99|H3C213C
+3C213C:lI97|H3C21F0
+3C21F0:lI116|H3C22A4
+3C22A4:lI105|H3C2360
+3C2360:lI111|H3C241C
+3C241C:lI110|H3C24C8
+3C24C8:lI47|H3C2584
+3C2584:lI120|H3C2638
+3C2638:lI45|H3C26EC
+3C26EC:lI100|H3C27A8
+3C27A8:lI105|H3C2864
+3C2864:lI114|H3C2928
+3C2928:lI101|H3C29F4
+3C29F4:lI99|H3C2AC0
+3C2AC0:lI116|H3C2B8C
+3C2B8C:lI111|H3C2C48
+3C2C48:lI114|N
+3C1CEC:lI100|H3C1DA0
+3C1DA0:lI120|H3C1E54
+3C1E54:lI114|N
+3C1C44:lH3C1CFC|H3C1D08
+3C1CFC:t2:H3C1DB0,H3C1DB8
+3C1DB8:lI97|H3C1E6C
+3C1E6C:lI112|H3C1F20
+3C1F20:lI112|H3C1FD4
+3C1FD4:lI108|H3C2088
+3C2088:lI105|H3C2144
+3C2144:lI99|H3C21F8
+3C21F8:lI97|H3C22AC
+3C22AC:lI116|H3C2368
+3C2368:lI105|H3C2424
+3C2424:lI111|H3C24D0
+3C24D0:lI110|H3C258C
+3C258C:lI47|H3C2640
+3C2640:lI120|H3C26F4
+3C26F4:lI45|H3C27B0
+3C27B0:lI99|H3C286C
+3C286C:lI115|H3C2930
+3C2930:lI104|N
+3C1DB0:lI99|H3C1E64
+3C1E64:lI115|H3C1F18
+3C1F18:lI104|N
+3C1D08:lH3C1DC0|H3C1DCC
+3C1DC0:t2:H3C1E74,H3C1E7C
+3C1E7C:lI97|H3C1F30
+3C1F30:lI112|H3C1FE4
+3C1FE4:lI112|H3C2098
+3C2098:lI108|H3C214C
+3C214C:lI105|H3C2200
+3C2200:lI99|H3C22B4
+3C22B4:lI97|H3C2370
+3C2370:lI116|H3C242C
+3C242C:lI105|H3C24D8
+3C24D8:lI111|H3C2594
+3C2594:lI110|H3C2648
+3C2648:lI47|H3C26FC
+3C26FC:lI120|H3C27B8
+3C27B8:lI45|H3C2874
+3C2874:lI99|H3C2938
+3C2938:lI112|H3C29FC
+3C29FC:lI105|H3C2AC8
+3C2AC8:lI111|N
+3C1E74:lI99|H3C1F28
+3C1F28:lI112|H3C1FDC
+3C1FDC:lI105|H3C2090
+3C2090:lI111|N
+3C1DCC:lH3C1E84|H3C1E90
+3C1E84:t2:H3C1F38,H3C1F40
+3C1F40:lI97|H3C1FEC
+3C1FEC:lI112|H3C20A0
+3C20A0:lI112|H3C2154
+3C2154:lI108|H3C2208
+3C2208:lI105|H3C22BC
+3C22BC:lI99|H3C2378
+3C2378:lI97|H3C2434
+3C2434:lI116|H3C24E0
+3C24E0:lI105|H3C259C
+3C259C:lI111|H3C2650
+3C2650:lI110|H3C2704
+3C2704:lI47|H3C27C0
+3C27C0:lI120|H3C287C
+3C287C:lI45|H3C2940
+3C2940:lI99|H3C2A04
+3C2A04:lI111|H3C2AD0
+3C2AD0:lI109|H3C2B94
+3C2B94:lI112|H3C2C50
+3C2C50:lI114|H3C2D00
+3C2D00:lI101|H3C2DA8
+3C2DA8:lI115|H3C2E40
+3C2E40:lI115|N
+3C1F38:lI90|N
+3C1E90:lH3C1F48|H3C1F54
+3C1F48:t2:H3C1FF4,H3C1FFC
+3C1FFC:lI97|H3C20B0
+3C20B0:lI112|H3C2164
+3C2164:lI112|H3C2210
+3C2210:lI108|H3C22C4
+3C22C4:lI105|H3C2380
+3C2380:lI99|H3C243C
+3C243C:lI97|H3C24E8
+3C24E8:lI116|H3C25A4
+3C25A4:lI105|H3C2658
+3C2658:lI111|H3C270C
+3C270C:lI110|H3C27C8
+3C27C8:lI47|H3C2884
+3C2884:lI120|H3C2948
+3C2948:lI45|H3C2A0C
+3C2A0C:lI99|H3C2AD8
+3C2AD8:lI100|H3C2B9C
+3C2B9C:lI108|H3C2C58
+3C2C58:lI105|H3C2D08
+3C2D08:lI110|H3C2DB0
+3C2DB0:lI107|N
+3C1FF4:lI118|H3C20A8
+3C20A8:lI99|H3C215C
+3C215C:lI100|N
+3C1F54:lH3C2004|H3C2010
+3C2004:t2:H3C20B8,H3C20C0
+3C20C0:lI97|H3C2174
+3C2174:lI112|H3C2220
+3C2220:lI112|H3C22D4
+3C22D4:lI108|H3C2390
+3C2390:lI105|H3C2444
+3C2444:lI99|H3C24F0
+3C24F0:lI97|H3C25AC
+3C25AC:lI116|H3C2660
+3C2660:lI105|H3C2714
+3C2714:lI111|H3C27D0
+3C27D0:lI110|H3C288C
+3C288C:lI47|H3C2950
+3C2950:lI120|H3C2A14
+3C2A14:lI45|H3C2AE0
+3C2AE0:lI98|H3C2BA4
+3C2BA4:lI99|H3C2C60
+3C2C60:lI112|H3C2D10
+3C2D10:lI105|H3C2DB8
+3C2DB8:lI111|N
+3C20B8:lI98|H3C216C
+3C216C:lI99|H3C2218
+3C2218:lI112|H3C22CC
+3C22CC:lI105|H3C2388
+3C2388:lI111|N
+3C2010:lH3C20C8|H3C20D4
+3C20C8:t2:H3C217C,H3C2184
+3C2184:lI97|H3C2230
+3C2230:lI112|H3C22E4
+3C22E4:lI112|H3C2398
+3C2398:lI108|H3C244C
+3C244C:lI105|H3C24F8
+3C24F8:lI99|H3C25B4
+3C25B4:lI97|H3C2668
+3C2668:lI116|H3C271C
+3C271C:lI105|H3C27D8
+3C27D8:lI111|H3C2894
+3C2894:lI110|H3C2958
+3C2958:lI47|H3C2A1C
+3C2A1C:lI114|H3C2AE8
+3C2AE8:lI116|H3C2BAC
+3C2BAC:lI102|N
+3C217C:lI114|H3C2228
+3C2228:lI116|H3C22DC
+3C22DC:lI102|N
+3C20D4:lH3C218C|H3C2198
+3C218C:t2:H3C2238,H3C2240
+3C2240:lI97|H3C22F4
+3C22F4:lI112|H3C23A8
+3C23A8:lI112|H3C2454
+3C2454:lI108|H3C2500
+3C2500:lI105|H3C25BC
+3C25BC:lI99|H3C2670
+3C2670:lI97|H3C2724
+3C2724:lI116|H3C27E0
+3C27E0:lI105|H3C289C
+3C289C:lI111|H3C2960
+3C2960:lI110|H3C2A24
+3C2A24:lI47|H3C2AF0
+3C2AF0:lI112|H3C2BB4
+3C2BB4:lI111|H3C2C68
+3C2C68:lI119|H3C2D18
+3C2D18:lI101|H3C2DC0
+3C2DC0:lI114|H3C2E48
+3C2E48:lI112|H3C2EC0
+3C2EC0:lI111|H3C2F38
+3C2F38:lI105|H3C2FA8
+3C2FA8:lI110|H3C3010
+3C3010:lI116|N
+3C2238:lI112|H3C22EC
+3C22EC:lI112|H3C23A0
+3C23A0:lI116|N
+3C2198:lH3C2248|H3C2254
+3C2248:t2:H3C22FC,H3C2304
+3C2304:lI97|H3C23B8
+3C23B8:lI112|H3C245C
+3C245C:lI112|H3C2508
+3C2508:lI108|H3C25C4
+3C25C4:lI105|H3C2678
+3C2678:lI99|H3C272C
+3C272C:lI97|H3C27E8
+3C27E8:lI116|H3C28A4
+3C28A4:lI105|H3C2968
+3C2968:lI111|H3C2A2C
+3C2A2C:lI110|H3C2AF8
+3C2AF8:lI47|H3C2BBC
+3C2BBC:lI112|H3C2C70
+3C2C70:lI111|H3C2D20
+3C2D20:lI115|H3C2DC8
+3C2DC8:lI116|H3C2E50
+3C2E50:lI115|H3C2EC8
+3C2EC8:lI99|H3C2F40
+3C2F40:lI114|H3C2FB0
+3C2FB0:lI105|H3C3018
+3C3018:lI112|H3C3078
+3C3078:lI116|N
+3C22FC:lI97|H3C23B0
+3C23B0:lI105|N
+3C2254:lH3C230C|H3C2318
+3C230C:t2:H3C23C0,H3C23C8
+3C23C8:lI97|H3C246C
+3C246C:lI112|H3C2518
+3C2518:lI112|H3C25CC
+3C25CC:lI108|H3C2680
+3C2680:lI105|H3C2734
+3C2734:lI99|H3C27F0
+3C27F0:lI97|H3C28AC
+3C28AC:lI116|H3C2970
+3C2970:lI105|H3C2A34
+3C2A34:lI111|H3C2B00
+3C2B00:lI110|H3C2BC4
+3C2BC4:lI47|H3C2C78
+3C2C78:lI112|H3C2D28
+3C2D28:lI111|H3C2DD0
+3C2DD0:lI115|H3C2E58
+3C2E58:lI116|H3C2ED0
+3C2ED0:lI115|H3C2F48
+3C2F48:lI99|H3C2FB8
+3C2FB8:lI114|H3C3020
+3C3020:lI105|H3C3080
+3C3080:lI112|H3C30D8
+3C30D8:lI116|N
+3C23C0:lI101|H3C2464
+3C2464:lI112|H3C2510
+3C2510:lI115|N
+3C2318:lH3C23D0|H3C23DC
+3C23D0:t2:H3C2474,H3C247C
+3C247C:lI97|H3C2528
+3C2528:lI112|H3C25D4
+3C25D4:lI112|H3C2688
+3C2688:lI108|H3C273C
+3C273C:lI105|H3C27F8
+3C27F8:lI99|H3C28B4
+3C28B4:lI97|H3C2978
+3C2978:lI116|H3C2A3C
+3C2A3C:lI105|H3C2B08
+3C2B08:lI111|H3C2BCC
+3C2BCC:lI110|H3C2C80
+3C2C80:lI47|H3C2D30
+3C2D30:lI112|H3C2DD8
+3C2DD8:lI111|H3C2E60
+3C2E60:lI115|H3C2ED8
+3C2ED8:lI116|H3C2F50
+3C2F50:lI115|H3C2FC0
+3C2FC0:lI99|H3C3028
+3C3028:lI114|H3C3088
+3C3088:lI105|H3C30E0
+3C30E0:lI112|H3C3130
+3C3130:lI116|N
+3C2474:lI112|H3C2520
+3C2520:lI115|N
+3C23DC:lH3C2484|H3C2490
+3C2484:t2:H3C2530,H3C2538
+3C2538:lI97|H3C25E4
+3C25E4:lI112|H3C2698
+3C2698:lI112|H3C2744
+3C2744:lI108|H3C2800
+3C2800:lI105|H3C28BC
+3C28BC:lI99|H3C2980
+3C2980:lI97|H3C2A44
+3C2A44:lI116|H3C2B10
+3C2B10:lI105|H3C2BD4
+3C2BD4:lI111|H3C2C88
+3C2C88:lI110|H3C2D38
+3C2D38:lI47|H3C2DE0
+3C2DE0:lI112|H3C2E68
+3C2E68:lI100|H3C2EE0
+3C2EE0:lI102|N
+3C2530:lI112|H3C25DC
+3C25DC:lI100|H3C2690
+3C2690:lI102|N
+3C2490:lH3C2540|H3C254C
+3C2540:t2:H3C25EC,H3C25F4
+3C25F4:lI97|H3C26A8
+3C26A8:lI112|H3C2754
+3C2754:lI112|H3C2808
+3C2808:lI108|H3C28C4
+3C28C4:lI105|H3C2988
+3C2988:lI99|H3C2A4C
+3C2A4C:lI97|H3C2B18
+3C2B18:lI116|H3C2BDC
+3C2BDC:lI105|H3C2C90
+3C2C90:lI111|H3C2D40
+3C2D40:lI110|H3C2DE8
+3C2DE8:lI47|H3C2E70
+3C2E70:lI111|H3C2EE8
+3C2EE8:lI100|H3C2F58
+3C2F58:lI97|N
+3C25EC:lI111|H3C26A0
+3C26A0:lI100|H3C274C
+3C274C:lI97|N
+3C254C:lH3C25FC|H3C2608
+3C25FC:t2:H3C26B0,H3C26B8
+3C26B8:lI97|H3C2764
+3C2764:lI112|H3C2818
+3C2818:lI112|H3C28CC
+3C28CC:lI108|H3C2990
+3C2990:lI105|H3C2A54
+3C2A54:lI99|H3C2B20
+3C2B20:lI97|H3C2BE4
+3C2BE4:lI116|H3C2C98
+3C2C98:lI105|H3C2D48
+3C2D48:lI111|H3C2DF0
+3C2DF0:lI110|H3C2E78
+3C2E78:lI47|H3C2EF0
+3C2EF0:lI111|H3C2F60
+3C2F60:lI99|H3C2FC8
+3C2FC8:lI116|H3C3030
+3C3030:lI101|H3C3090
+3C3090:lI116|H3C30E8
+3C30E8:lI45|H3C3138
+3C3138:lI115|H3C3180
+3C3180:lI116|H3C31C8
+3C31C8:lI114|H3C3210
+3C3210:lI101|H3C3258
+3C3258:lI97|H3C32A0
+3C32A0:lI109|N
+3C26B0:lI98|H3C275C
+3C275C:lI105|H3C2810
+3C2810:lI110|N
+3C2608:lH3C26C0|H3C26CC
+3C26C0:t2:H3C276C,H3C2774
+3C2774:lI97|H3C2828
+3C2828:lI112|H3C28DC
+3C28DC:lI112|H3C2998
+3C2998:lI108|H3C2A5C
+3C2A5C:lI105|H3C2B28
+3C2B28:lI99|H3C2BEC
+3C2BEC:lI97|H3C2CA0
+3C2CA0:lI116|H3C2D50
+3C2D50:lI105|H3C2DF8
+3C2DF8:lI111|H3C2E80
+3C2E80:lI110|H3C2EF8
+3C2EF8:lI47|H3C2F68
+3C2F68:lI111|H3C2FD0
+3C2FD0:lI99|H3C3038
+3C3038:lI116|H3C3098
+3C3098:lI101|H3C30F0
+3C30F0:lI116|H3C3140
+3C3140:lI45|H3C3188
+3C3188:lI115|H3C31D0
+3C31D0:lI116|H3C3218
+3C3218:lI114|H3C3260
+3C3260:lI101|H3C32A8
+3C32A8:lI97|H3C32E8
+3C32E8:lI109|N
+3C276C:lI100|H3C2820
+3C2820:lI109|H3C28D4
+3C28D4:lI115|N
+3C26CC:lH3C277C|H3C2788
+3C277C:t2:H3C2830,H3C2838
+3C2838:lI97|H3C28EC
+3C28EC:lI112|H3C29A8
+3C29A8:lI112|H3C2A64
+3C2A64:lI108|H3C2B30
+3C2B30:lI105|H3C2BF4
+3C2BF4:lI99|H3C2CA8
+3C2CA8:lI97|H3C2D58
+3C2D58:lI116|H3C2E00
+3C2E00:lI105|H3C2E88
+3C2E88:lI111|H3C2F00
+3C2F00:lI110|H3C2F70
+3C2F70:lI47|H3C2FD8
+3C2FD8:lI111|H3C3040
+3C3040:lI99|H3C30A0
+3C30A0:lI116|H3C30F8
+3C30F8:lI101|H3C3148
+3C3148:lI116|H3C3190
+3C3190:lI45|H3C31D8
+3C31D8:lI115|H3C3220
+3C3220:lI116|H3C3268
+3C3268:lI114|H3C32B0
+3C32B0:lI101|H3C32F0
+3C32F0:lI97|H3C3320
+3C3320:lI109|N
+3C2830:lI108|H3C28E4
+3C28E4:lI104|H3C29A0
+3C29A0:lI97|N
+3C2788:lH3C2840|H3C284C
+3C2840:t2:H3C28F4,H3C28FC
+3C28FC:lI97|H3C29B8
+3C29B8:lI112|H3C2A74
+3C2A74:lI112|H3C2B38
+3C2B38:lI108|H3C2BFC
+3C2BFC:lI105|H3C2CB0
+3C2CB0:lI99|H3C2D60
+3C2D60:lI97|H3C2E08
+3C2E08:lI116|H3C2E90
+3C2E90:lI105|H3C2F08
+3C2F08:lI111|H3C2F78
+3C2F78:lI110|H3C2FE0
+3C2FE0:lI47|H3C3048
+3C3048:lI111|H3C30A8
+3C30A8:lI99|H3C3100
+3C3100:lI116|H3C3150
+3C3150:lI101|H3C3198
+3C3198:lI116|H3C31E0
+3C31E0:lI45|H3C3228
+3C3228:lI115|H3C3270
+3C3270:lI116|H3C32B8
+3C32B8:lI114|H3C32F8
+3C32F8:lI101|H3C3328
+3C3328:lI97|H3C3350
+3C3350:lI109|N
+3C28F4:lI108|H3C29B0
+3C29B0:lI122|H3C2A6C
+3C2A6C:lI104|N
+3C284C:lH3C2904|H3C2910
+3C2904:t2:H3C29C0,H3C29C8
+3C29C8:lI97|H3C2A84
+3C2A84:lI112|H3C2B48
+3C2B48:lI112|H3C2C04
+3C2C04:lI108|H3C2CB8
+3C2CB8:lI105|H3C2D68
+3C2D68:lI99|H3C2E10
+3C2E10:lI97|H3C2E98
+3C2E98:lI116|H3C2F10
+3C2F10:lI105|H3C2F80
+3C2F80:lI111|H3C2FE8
+3C2FE8:lI110|H3C3050
+3C3050:lI47|H3C30B0
+3C30B0:lI111|H3C3108
+3C3108:lI99|H3C3158
+3C3158:lI116|H3C31A0
+3C31A0:lI101|H3C31E8
+3C31E8:lI116|H3C3230
+3C3230:lI45|H3C3278
+3C3278:lI115|H3C32C0
+3C32C0:lI116|H3C3300
+3C3300:lI114|H3C3330
+3C3330:lI101|H3C3358
+3C3358:lI97|H3C3378
+3C3378:lI109|N
+3C29C0:lI101|H3C2A7C
+3C2A7C:lI120|H3C2B40
+3C2B40:lI101|N
+3C2910:lH3C29D0|H3C29DC
+3C29D0:t2:H3C2A8C,H3C2A94
+3C2A94:lI97|H3C2B58
+3C2B58:lI112|H3C2C14
+3C2C14:lI112|H3C2CC8
+3C2CC8:lI108|H3C2D78
+3C2D78:lI105|H3C2E18
+3C2E18:lI99|H3C2EA0
+3C2EA0:lI97|H3C2F18
+3C2F18:lI116|H3C2F88
+3C2F88:lI105|H3C2FF0
+3C2FF0:lI111|H3C3058
+3C3058:lI110|H3C30B8
+3C30B8:lI47|H3C3110
+3C3110:lI111|H3C3160
+3C3160:lI99|H3C31A8
+3C31A8:lI116|H3C31F0
+3C31F0:lI101|H3C3238
+3C3238:lI116|H3C3280
+3C3280:lI45|H3C32C8
+3C32C8:lI115|H3C3308
+3C3308:lI116|H3C3338
+3C3338:lI114|H3C3360
+3C3360:lI101|H3C3380
+3C3380:lI97|H3C3398
+3C3398:lI109|N
+3C2A8C:lI99|H3C2B50
+3C2B50:lI108|H3C2C0C
+3C2C0C:lI97|H3C2CC0
+3C2CC0:lI115|H3C2D70
+3C2D70:lI115|N
+3C29DC:lH3C2A9C|H3C2AA8
+3C2A9C:t2:H3C2B60,H3C2B68
+3C2B68:lI97|H3C2C24
+3C2C24:lI112|H3C2CD8
+3C2CD8:lI112|H3C2D80
+3C2D80:lI108|H3C2E20
+3C2E20:lI105|H3C2EA8
+3C2EA8:lI99|H3C2F20
+3C2F20:lI97|H3C2F90
+3C2F90:lI116|H3C2FF8
+3C2FF8:lI105|H3C3060
+3C3060:lI111|H3C30C0
+3C30C0:lI110|H3C3118
+3C3118:lI47|H3C3168
+3C3168:lI109|H3C31B0
+3C31B0:lI115|H3C31F8
+3C31F8:lI119|H3C3240
+3C3240:lI111|H3C3288
+3C3288:lI114|H3C32D0
+3C32D0:lI100|N
+3C2B60:lI100|H3C2C1C
+3C2C1C:lI111|H3C2CD0
+3C2CD0:lI99|N
+3C2AA8:lH3C2B70|H3C2B7C
+3C2B70:t2:H3C2C2C,H3C2C34
+3C2C34:lI97|H3C2CE8
+3C2CE8:lI112|H3C2D90
+3C2D90:lI112|H3C2E28
+3C2E28:lI108|H3C2EB0
+3C2EB0:lI105|H3C2F28
+3C2F28:lI99|H3C2F98
+3C2F98:lI97|H3C3000
+3C3000:lI116|H3C3068
+3C3068:lI105|H3C30C8
+3C30C8:lI111|H3C3120
+3C3120:lI110|H3C3170
+3C3170:lI47|H3C31B8
+3C31B8:lI109|H3C3200
+3C3200:lI97|H3C3248
+3C3248:lI99|H3C3290
+3C3290:lI45|H3C32D8
+3C32D8:lI99|H3C3310
+3C3310:lI111|H3C3340
+3C3340:lI109|H3C3368
+3C3368:lI112|H3C3388
+3C3388:lI97|H3C33A0
+3C33A0:lI99|H3C33B0
+3C33B0:lI116|H3C33C0
+3C33C0:lI112|H3C33D0
+3C33D0:lI114|H3C33E0
+3C33E0:lI111|N
+3C2C2C:lI99|H3C2CE0
+3C2CE0:lI112|H3C2D88
+3C2D88:lI116|N
+3C2B7C:lH3C2C3C|N
+3C2C3C:t2:H3C2CF0,H3C2CF8
+3C2CF8:lI97|H3C2DA0
+3C2DA0:lI112|H3C2E38
+3C2E38:lI112|H3C2EB8
+3C2EB8:lI108|H3C2F30
+3C2F30:lI105|H3C2FA0
+3C2FA0:lI99|H3C3008
+3C3008:lI97|H3C3070
+3C3070:lI116|H3C30D0
+3C30D0:lI105|H3C3128
+3C3128:lI111|H3C3178
+3C3178:lI110|H3C31C0
+3C31C0:lI47|H3C3208
+3C3208:lI109|H3C3250
+3C3250:lI97|H3C3298
+3C3298:lI99|H3C32E0
+3C32E0:lI45|H3C3318
+3C3318:lI98|H3C3348
+3C3348:lI105|H3C3370
+3C3370:lI110|H3C3390
+3C3390:lI104|H3C33A8
+3C33A8:lI101|H3C33B8
+3C33B8:lI120|H3C33C8
+3C33C8:lI52|H3C33D8
+3C33D8:lI48|N
+3C2CF0:lI104|H3C2D98
+3C2D98:lI113|H3C2E30
+3C2E30:lI120|N
+3BDBCC:lH3BDA78|H3BDA8C
+3BDA78:t2:A4:port,I8888
+3BDA8C:lH3BDB04|H3BDB10
+3BDB04:t2:AC:bind_address,H3BDB64
+3BDB64:t4:I127,I0,I0,I1
+3BDB10:lH3BDB78|H3BDB84
+3BDB78:t2:AB:server_name,H3BDBD4
+3BDBD4:lI108|H3BDC24
+3BDC24:lI111|H3BDC88
+3BDC88:lI99|H3BDCF0
+3BDCF0:lI97|H3BDD70
+3BDD70:lI108|H3BDDF8
+3BDDF8:lI104|H3BDE90
+3BDE90:lI111|H3BDF40
+3BDF40:lI115|H3BDFFC
+3BDFFC:lI116|N
+3BDB84:lH3BDBDC|H3BDBE8
+3BDBDC:t2:AE:max_header_siz,I1024
+3BDBE8:lH3BDC2C|H3BDC38
+3BDC2C:t2:A11:max_header_action,A8:reply414
+3BDC38:lH3BDC90|H3BDC9C
+3BDC90:t2:A8:com_type,A7:ip_comm
+3BDC9C:lH3BDCF8|H3BDD04
+3BDCF8:t2:A7:modules,H3BDD78
+3BDD78:lA9:mod_alias|H3BDE00
+3BDE00:lA8:mod_auth|H3BDE98
+3BDE98:lA7:mod_esi|H3BDF48
+3BDF48:lAB:mod_actions|H3BE004
+3BE004:lA7:mod_cgi|H3BE0D0
+3BE0D0:lAB:mod_include|H3BE1A4
+3BE1A4:lA7:mod_dir|H3BE288
+3BE288:lA7:mod_get|H3BE378
+3BE378:lA8:mod_head|H3BE47C
+3BE47C:lA7:mod_log|H3BE580
+3BE580:lAC:mod_disk_log|N
+3BDD04:lH3BDD80|H3BDD8C
+3BDD80:t2:AF:directory_index,H3BDE08
+3BDE08:lH3BDEA0|N
+3BDEA0:lI105|H3BDF50
+3BDF50:lI110|H3BE00C
+3BE00C:lI100|H3BE0D8
+3BE0D8:lI101|H3BE1AC
+3BE1AC:lI120|H3BE290
+3BE290:lI46|H3BE380
+3BE380:lI104|H3BE484
+3BE484:lI116|H3BE588
+3BE588:lI109|H3BE68C
+3BE68C:lI108|N
+3BDD8C:lH3BDE10|H3BDE1C
+3BDE10:t2:AC:default_type,H3BDEA8
+3BDEA8:lI116|H3BDF58
+3BDF58:lI101|H3BE014
+3BE014:lI120|H3BE0E0
+3BE0E0:lI116|H3BE1B4
+3BE1B4:lI47|H3BE298
+3BE298:lI112|H3BE388
+3BE388:lI108|H3BE48C
+3BE48C:lI97|H3BE590
+3BE590:lI105|H3BE694
+3BE694:lI110|N
+3BDE1C:lH3BDEB0|H3BDEBC
+3BDEB0:t2:A10:erl_script_alias,H3BDF60
+3BDF60:t2:H3BE01C,H3BE024
+3BE024:lH3BE0F0|N
+3BE0F0:lI119|H3BE1C4
+3BE1C4:lI101|H3BE2A8
+3BE2A8:lI98|H3BE398
+3BE398:lI116|H3BE49C
+3BE49C:lI111|H3BE5A0
+3BE5A0:lI111|H3BE6A4
+3BE6A4:lI108|N
+3BE01C:lI47|H3BE0E8
+3BE0E8:lI119|H3BE1BC
+3BE1BC:lI101|H3BE2A0
+3BE2A0:lI98|H3BE390
+3BE390:lI116|H3BE494
+3BE494:lI111|H3BE598
+3BE598:lI111|H3BE69C
+3BE69C:lI108|N
+3BDEBC:lH3BDF6C|H3BDF78
+3BDF6C:t2:A5:alias,H3BE02C
+3BE02C:t2:H3BE0F8,H3BE100
+3BE100:lI47|H3BE1D4
+3BE1D4:lI99|H3BE2B8
+3BE2B8:lI108|H3BE3A8
+3BE3A8:lI101|H3BE4AC
+3BE4AC:lI97|H3BE5B0
+3BE5B0:lI114|H3BE6B4
+3BE6B4:lI99|H3BE7A8
+3BE7A8:lI97|H3BE894
+3BE894:lI115|H3BE980
+3BE980:lI101|H3BEA74
+3BEA74:lI47|H3BEB68
+3BEB68:lI111|H3BEC54
+3BEC54:lI116|H3BED40
+3BED40:lI112|H3BEE2C
+3BEE2C:lI47|H3BEF00
+3BEF00:lI101|H3BEFD4
+3BEFD4:lI114|H3BF0A0
+3BF0A0:lI116|H3BF174
+3BF174:lI115|H3BF238
+3BF238:lI47|H3BF2FC
+3BF2FC:lI108|H3BF3A8
+3BF3A8:lI105|H3BF45C
+3BF45C:lI98|H3BF518
+3BF518:lI47|H3BF5DC
+3BF5DC:lI111|H3BF6B0
+3BF6B0:lI98|H3BF784
+3BF784:lI115|H3BF858
+3BF858:lI101|H3BF93C
+3BF93C:lI114|H3BFA18
+3BFA18:lI118|H3BFAF4
+3BFAF4:lI101|H3BFBD0
+3BFBD0:lI114|H3BFC9C
+3BFC9C:lI47|H3BFD60
+3BFD60:lI112|H3BFE2C
+3BFE2C:lI114|H3BFEE0
+3BFEE0:lI105|H3BFF94
+3BFF94:lI118|H3C0040
+3C0040:lI47|H3C00EC
+3C00EC:lI99|H3C0198
+3C0198:lI114|H3C024C
+3C024C:lI97|H3C0308
+3C0308:lI115|H3C03BC
+3C03BC:lI104|H3C0458
+3C0458:lI100|H3C04F4
+3C04F4:lI117|H3C0590
+3C0590:lI109|H3C0634
+3C0634:lI112|H3C06E0
+3C06E0:lI95|H3C078C
+3C078C:lI118|H3C0830
+3C0830:lI105|H3C08BC
+3C08BC:lI101|H3C0950
+3C0950:lI119|H3C09E4
+3C09E4:lI101|H3C0A80
+3C0A80:lI114|N
+3BE0F8:lI47|H3BE1CC
+3BE1CC:lI99|H3BE2B0
+3BE2B0:lI114|H3BE3A0
+3BE3A0:lI97|H3BE4A4
+3BE4A4:lI115|H3BE5A8
+3BE5A8:lI104|H3BE6AC
+3BE6AC:lI100|H3BE7A0
+3BE7A0:lI117|H3BE88C
+3BE88C:lI109|H3BE978
+3BE978:lI112|H3BEA6C
+3BEA6C:lI95|H3BEB60
+3BEB60:lI118|H3BEC4C
+3BEC4C:lI105|H3BED38
+3BED38:lI101|H3BEE24
+3BEE24:lI119|H3BEEF8
+3BEEF8:lI101|H3BEFCC
+3BEFCC:lI114|N
+3BDF78:lH3BE038|H3BE044
+3BE038:t2:A5:alias,H3BE108
+3BE108:t2:H3BE1DC,H3BE1E4
+3BE1E4:lI47|H3BE2C8
+3BE2C8:lI99|H3BE3B8
+3BE3B8:lI108|H3BE4BC
+3BE4BC:lI101|H3BE5C0
+3BE5C0:lI97|H3BE6C4
+3BE6C4:lI114|H3BE7B8
+3BE7B8:lI99|H3BE8A4
+3BE8A4:lI97|H3BE990
+3BE990:lI115|H3BEA84
+3BEA84:lI101|H3BEB78
+3BEB78:lI47|H3BEC64
+3BEC64:lI111|H3BED50
+3BED50:lI116|H3BEE3C
+3BEE3C:lI112|H3BEF10
+3BEF10:lI47|H3BEFE4
+3BEFE4:lI101|H3BF0B0
+3BF0B0:lI114|H3BF184
+3BF184:lI116|H3BF248
+3BF248:lI115|H3BF304
+3BF304:lI47|H3BF3B0
+3BF3B0:lI101|H3BF464
+3BF464:lI114|H3BF520
+3BF520:lI116|H3BF5E4
+3BF5E4:lI115|H3BF6B8
+3BF6B8:lI47|H3BF78C
+3BF78C:lI100|H3BF860
+3BF860:lI111|H3BF944
+3BF944:lI99|H3BFA20
+3BFA20:lI47|H3BFAFC
+3BFAFC:lI104|H3BFBD8
+3BFBD8:lI116|H3BFCA4
+3BFCA4:lI109|H3BFD68
+3BFD68:lI108|N
+3BE1DC:lI47|H3BE2C0
+3BE2C0:lI99|H3BE3B0
+3BE3B0:lI114|H3BE4B4
+3BE4B4:lI97|H3BE5B8
+3BE5B8:lI115|H3BE6BC
+3BE6BC:lI104|H3BE7B0
+3BE7B0:lI100|H3BE89C
+3BE89C:lI117|H3BE988
+3BE988:lI109|H3BEA7C
+3BEA7C:lI112|H3BEB70
+3BEB70:lI95|H3BEC5C
+3BEC5C:lI101|H3BED48
+3BED48:lI114|H3BEE34
+3BEE34:lI116|H3BEF08
+3BEF08:lI115|H3BEFDC
+3BEFDC:lI95|H3BF0A8
+3BF0A8:lI100|H3BF17C
+3BF17C:lI111|H3BF240
+3BF240:lI99|N
+3BE044:lH3BE114|H3BE120
+3BE114:t2:A5:alias,H3BE1EC
+3BE1EC:t2:H3BE2D0,H3BE2D8
+3BE2D8:lI47|H3BE3C8
+3BE3C8:lI99|H3BE4CC
+3BE4CC:lI108|H3BE5D0
+3BE5D0:lI101|H3BE6D4
+3BE6D4:lI97|H3BE7C8
+3BE7C8:lI114|H3BE8B4
+3BE8B4:lI99|H3BE9A0
+3BE9A0:lI97|H3BEA94
+3BEA94:lI115|H3BEB88
+3BEB88:lI101|H3BEC74
+3BEC74:lI47|H3BED60
+3BED60:lI111|H3BEE4C
+3BEE4C:lI116|H3BEF20
+3BEF20:lI112|H3BEFEC
+3BEFEC:lI47|H3BF0B8
+3BF0B8:lI101|H3BF18C
+3BF18C:lI114|H3BF250
+3BF250:lI116|H3BF30C
+3BF30C:lI115|H3BF3B8
+3BF3B8:lI47|H3BF46C
+3BF46C:lI108|H3BF528
+3BF528:lI105|H3BF5EC
+3BF5EC:lI98|H3BF6C0
+3BF6C0:lI47|H3BF794
+3BF794:lI111|H3BF868
+3BF868:lI98|H3BF94C
+3BF94C:lI115|H3BFA28
+3BFA28:lI101|H3BFB04
+3BFB04:lI114|H3BFBE0
+3BFBE0:lI118|H3BFCAC
+3BFCAC:lI101|H3BFD70
+3BFD70:lI114|H3BFE34
+3BFE34:lI47|H3BFEE8
+3BFEE8:lI100|H3BFF9C
+3BFF9C:lI111|H3C0048
+3C0048:lI99|H3C00F4
+3C00F4:lI47|H3C01A0
+3C01A0:lI104|H3C0254
+3C0254:lI116|H3C0310
+3C0310:lI109|H3C03C4
+3C03C4:lI108|N
+3BE2D0:lI47|H3BE3C0
+3BE3C0:lI99|H3BE4C4
+3BE4C4:lI114|H3BE5C8
+3BE5C8:lI97|H3BE6CC
+3BE6CC:lI115|H3BE7C0
+3BE7C0:lI104|H3BE8AC
+3BE8AC:lI100|H3BE998
+3BE998:lI117|H3BEA8C
+3BEA8C:lI109|H3BEB80
+3BEB80:lI112|H3BEC6C
+3BEC6C:lI95|H3BED58
+3BED58:lI100|H3BEE44
+3BEE44:lI111|H3BEF18
+3BEF18:lI99|N
+3BE120:lH3BE1F8|N
+3BE1F8:t2:A10:erl_script_alias,H3BE2E0
+3BE2E0:t2:H3BE3D0,H3BE3D8
+3BE3D8:lH3BE4DC|N
+3BE4DC:lI99|H3BE5E0
+3BE5E0:lI114|H3BE6E4
+3BE6E4:lI97|H3BE7D8
+3BE7D8:lI115|H3BE8C4
+3BE8C4:lI104|H3BE9B0
+3BE9B0:lI100|H3BEAA4
+3BEAA4:lI117|H3BEB90
+3BEB90:lI109|H3BEC7C
+3BEC7C:lI112|H3BED68
+3BED68:lI95|H3BEE54
+3BEE54:lI118|H3BEF28
+3BEF28:lI105|H3BEFF4
+3BEFF4:lI101|H3BF0C0
+3BF0C0:lI119|H3BF194
+3BF194:lI101|H3BF258
+3BF258:lI114|N
+3BE3D0:lI47|H3BE4D4
+3BE4D4:lI99|H3BE5D8
+3BE5D8:lI100|H3BE6DC
+3BE6DC:lI118|H3BE7D0
+3BE7D0:lI95|H3BE8BC
+3BE8BC:lI101|H3BE9A8
+3BE9A8:lI114|H3BEA9C
+3BEA9C:lI108|N
+3BDE2C:lH3BDA9C|H3BDECC
+3BDA9C:t4:I127,I0,I0,I1
+3BDECC:lI8888|H3BDF88
+3BDF88:lN|N
+3BDD1C:lN|N
+3BDA50:t2:AD:$initial_call,H3BDAB8
+3BDAB8:t3:A3:gen,A7:init_it,H3BDAB0
+3BDA5C:t2:A9:verbosity,A7:silence
+3BDAC8:t2:AE:auth_verbosity,A7:silence
+3BDB28:t2:A12:security_verbosity,A7:silence
+3BDB9C:t2:A12:acceptor_verbosity,A7:silence
+3BDC00:t2:AA:$ancestors,H3BDC5C
+3BDC5C:lA1A:httpd_sup__127_0_0_1__8888|H3BDCB4
+3BDCB4:lA8:web_tool|H3BDD24
+3BDD24:lP<0.27.0>|N
+3BDADC:t2:A19:request_handler_verbosity,A7:silence
+3BDB3C:t2:A5:sname,A3:man
+=proc_dictionary:<0.47.0>
+H36E688
+H36E694
+H36E6A0
+H36E6AC
+=proc_stack:<0.47.0>
+36c520:SReturn addr 0x362C9C (inet_tcp:accept/2 + 20)
+y0:I5
+y1:p<0.161>
+y2:p<0.141>
+36c530:SReturn addr 0x500C5C (httpd_socket:accept/3 + 280)
+y0:N
+36c538:SReturn addr 0x502BFC (httpd_acceptor:acceptor/4 + 164)
+y0:N
+36c540:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:SCatch 0x502BFC (httpd_acceptor:acceptor/4 + 164)
+y1:P<0.46.0>
+y2:A7:ip_comm
+y3:p<0.141>
+y4:A1B:httpd_conf__127_0_0_1__8888
+36c558:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:AE:httpd_acceptor
+y2:A8:acceptor
+y3:H36E6C8
+=proc_heap:<0.47.0>
+36E6C8:lP<0.44.0>|H36E724
+36E724:lP<0.46.0>|H36E748
+36E748:lA7:ip_comm|H36E760
+36E760:lH36E6D0|H36E778
+36E6D0:t4:I127,I0,I0,I1
+36E778:lI8888|H36E788
+36E788:lA1B:httpd_conf__127_0_0_1__8888|H36E798
+36E798:lA7:silence|N
+36E688:t2:AD:$initial_call,H36E6F0
+36E6F0:t3:AE:httpd_acceptor,A8:acceptor,H36E6C8
+36E694:t2:A9:verbosity,A7:silence
+36E6A0:t2:AA:$ancestors,H36E700
+36E700:lA1E:httpd_acc_sup__127_0_0_1__8888|H36E72C
+36E72C:lA1A:httpd_sup__127_0_0_1__8888|H36E750
+36E750:lA8:web_tool|H36E768
+36E768:lP<0.27.0>|N
+36E6AC:t2:A5:sname,A3:acc
+=proc_dictionary:<0.48.0>
+H385E48
+H385E54
+=proc_stack:<0.48.0>
+3ac1bc:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A10:crashdump_viewer
+y3:H3AB280
+y4:A17:crashdump_viewer_server
+y5:P<0.41.0>
+3ac1d8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H385E90
+=proc_heap:<0.48.0>
+3AB280:t8:A5:state,A9:undefined,A9:undefined,A9:undefined,A5:false,I4,A9:undefined,P<0.56.0>
+385E90:lAA:gen_server|H385ED8
+385ED8:lP<0.41.0>|H385F10
+385F10:lP<0.41.0>|H385F58
+385F58:lH385FA8|H385FB4
+385FA8:t2:A5:local,A17:crashdump_viewer_server
+385FB4:lA10:crashdump_viewer|H386014
+386014:lN|H38606C
+38606C:lN|N
+385E48:t2:AD:$initial_call,H385EB0
+385EB0:t3:A3:gen,A7:init_it,H385E90
+385E54:t2:AA:$ancestors,H385EC0
+385EC0:lA6:websup|H385F08
+385F08:lA8:web_tool|H385F50
+385F50:lP<0.27.0>|N
+=proc_stack:<0.49.0>
+36a114:SReturn addr 0x30174C (io:parse_erl_exprs/3 + 92)
+y0:H369E10
+y1:P<0.22.0>
+36a120:SReturn addr 0x2E5360 (shell:'-get_command/4-fun-0-'/1 + 20)
+y0:N
+36a128:SReturn addr 0x156F90 (<terminate process normally>)
+=proc_heap:<0.49.0>
+369E10:E21:8372000364000D6E6F6E6F6465406E6F686F737400000001330000000000000000
+=atoms
+http_cache_control
+copy_word
+drop_line
+copy_line
+write_rest_of_line
+drop_to_empty_line
+read_to_empty_line_reverse
+set_pos
+read_line_backwards
+jumped
+jump_to_empty_line_or_eof
+get_pos
+translate_atoms
+translate_fun
+translate_funs
+translate_loaded_modules2
+translate_loaded_modules_totals
+translate_loaded_modules
+translate_links
+get_all_creations
+translate_node_info2
+translate_node_info
+translate_dist_info2
+translate_dist_info
+get_msg
+translate_timers
+translate_ets
+translate_ets_tables
+do_translate_sl_alloc_r7_r8
+translate_sl_alloc_r7_r8
+translate_sl_alloc_line
+do_translate_sl_alloc
+translate_sl_alloc
+translate_memory_and_allocated_area_r9b
+translate_allocated_areas
+translate_internal_table_line
+translate_index_table
+translate_hash_table
+translate_internal_tables
+translate_ports
+write_last_calls
+write_msg_q_stuff
+translate_process
+translate_processes
+erts_vsn
+translate_summary
+'Send'
+erl_crash_dump
+internal_tables
+mods
+zombies
+http_content_length
+http_content_type
+'-procs_summary_body/5-fun-0-'
+'-expanded_memory_body/2-fun-0-'
+'-expanded_memory_body/2-fun-1-'
+'-expanded_memory_body/2-fun-2-'
+'-ports_body/3-fun-0-'
+'-ets_tables_body/4-fun-0-'
+'-internal_ets_tables_table/1-fun-0-'
+'-timers_body/3-fun-0-'
+'-make_nodes_table/2-fun-0-'
+'-loaded_mods_body/5-fun-0-'
+'-funs_body/3-fun-0-'
+'-memory_body/3-fun-0-'
+'-allocated_areas_body/3-fun-0-'
+'-allocator_info_body/3-fun-0-'
+'-allocator_info_body/3-fun-1-'
+'-allocator_info_body/3-fun-2-'
+'-hash_tables_body/3-fun-0-'
+'-index_tables_body/3-fun-0-'
+enter_write_file
+replace_insrt
+'$insrt'
+special
+initial
+pretty_format
+heading
+to_gt_noreverse
+to_gt
+href_proc_port
+br
+font
+h2
+h1
+img
+href
+pre
+em
+td
+th
+tr
+frame
+frameset
+html_header
+index_tables_table
+index_tables_body
+hash_tables_table
+hash_tables_body
+allocator_info_body
+allocated_areas_table
+allocated_areas_body
+memory_table
+memory_body
+atoms_body
+funs_table
+funs_body
+loaded_mod_details_body
+loaded_mods_table
+loaded_mods_body
+format_extra_info
+format_links_and_monitors
+to_end_par
+break_lines_creation
+maybe_refcount
+nodes_table_row
+nodes_table_heading
+make_nodes_table
+nodes_body
+timers_table
+timers_body
+internal_ets_tables_table1
+internal_ets_tables_table
+ets_tables_table
+ets_tables_body
+ports_table
+ports_body
+expanded_binary_body
+dict_table
+stackdump_table
+msgq_table
+expanded_memory_body
+link_to_read_memory
+display_or_link_to_expand
+proc_details_body
+procs_summary_table
+summary_table_head
+procs_summary_body
+pretty_info_body
+info_body
+error_body
+general_info_body
+format_title
+format_picture
+format_item
+arentState
+format_items
+menu_body
+filename_body
+start_page_frameset
+get_translated_filename_frame_body
+read_file_frame_body
+welcome_body
+http_
+http_te
+http_connection
+http_if_modified_since
+http_referer
+http_accept_encoding
+http_accept
+http_host
+http_user_agent
+'-create_header1/3-fun-0-'
+send_response_old
+transform
+mapfilter
+create_header1
+accept_ranges
+cache_control
+pragma
+trailer
+etag
+retry_after
+content_encoding
+content_language
+content_location
+content_MD5
+content_range
+expires
+transfer_encoding
+get_connection
+bad_args
+send_header
+get_body
+traverse_modules
+formatAbsoluteURI
+removeServer
+formatRequestUri
+tagup_header
+verify_request
+split_lines
+find_content_type
+maybe_remove_nl
+get_persistens
+df
+dm
+dy
+year_day_to_date2
+year_day_to_date
+dty
+day_to_year
+valid_date1
+valid_date
+universal_time_to_local_time
+time_to_seconds
+seconds_to_time
+seconds_to_daystime
+now_to_local_time
+now_to_universal_time
+now_to_datetime
+last_day_of_the_month1
+last_day_of_the_month
+is_leap_year1
+is_leap_year
+gregorian_seconds_to_datetime
+gregorian_days_to_date
+date_to_gregorian_days
+'-parse_trailers/1-lc^0/1-0-'
+'-read_trailer_end/4-fun-0-'
+'-read_trailer_end/4-lc^0/1-0-'
+'-remove_newline/1-fun-0-'
+remove_newline
+close_sleep
+unknown_size
+send_read_status
+handle_read_error
+transfer_coding
+expect
+getTrailerField
+read_trailer
+get_chunk_size
+read_chunked_entity_body
+read_chunk_trailer
+read_trailer_end
+parse_trailers
+parse_chunk_trailer
+body_to_big
+parse_chunked_entity_body
+parse_chunk_size
+read_chunked_entity
+etimedout
+body_too_long
+unknown_coding
+chunked
+read_entity_body2
+no_expect_header
+http_1_0_expect_header
+read_entity_body
+header_too_long
+hsplit \ No newline at end of file
diff --git a/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.50atoms b/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.50atoms
new file mode 100644
index 0000000000..78e301a6c7
--- /dev/null
+++ b/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.50atoms
@@ -0,0 +1,13085 @@
+=erl_crash_dump:0.1
+Wed Apr 21 13:22:44 2004
+Slogan: eheap_alloc: Cannot allocate 785672 bytes of memory (of type "heap").
+System version: Erlang (BEAM) emulator version 5.4 [source] [hipe] [threads:0]
+Compiled: Thu Dec 18 14:07:45 2003
+Atoms: 5614
+=memory
+total: 653336887
+processes: 1768396
+processes_used: 1765460
+system: 651568491
+atom: 244837
+atom_used: 237116
+binary: 648618369
+code: 2158413
+ets: 225620
+=hash_table:atom_tab
+size: 4813
+used: 3304
+objs: 5614
+depth: 7
+=index_table:atom_tab
+size: 5700
+limit: 1048576
+used: 5614
+rate: 100
+=hash_table:module_code
+size: 97
+used: 69
+objs: 107
+depth: 5
+=index_table:module_code
+size: 110
+limit: 65536
+used: 107
+rate: 10
+=hash_table:export_list
+size: 2411
+used: 1674
+objs: 2843
+depth: 6
+=index_table:export_list
+size: 2900
+limit: 65536
+used: 2843
+rate: 100
+=hash_table:process_reg
+size: 47
+used: 16
+objs: 23
+depth: 3
+=hash_table:fun_table
+size: 397
+used: 261
+objs: 400
+depth: 4
+=hash_table:node_table
+size: 11
+used: 1
+objs: 1
+depth: 1
+=hash_table:dist_table
+size: 11
+used: 1
+objs: 1
+depth: 1
+=allocated_areas
+processes: 1765460 1768396
+ets: 225620
+sys_misc: 24634
+static: 295033
+atom_space: 65544 57967
+binary: 648618369
+atom_table: 42141
+module_table: 920
+export_table: 21336
+register_table: 252
+fun_table: 1650
+module_refs: 1024
+loaded_code: 1968915
+dist_table: 159
+node_table: 131
+bits_bufs_size: 19
+bif_timer: 13392
+link_lh: 0
+dist_buf: 0
+proc: 15080 13576
+atom_entry: 137152 137008
+export_entry: 138448 137632
+module_entry: 4872 4352
+reg_proc: 1000 592
+link_nh: 2464 2080
+link_sh: 832 192
+proc_list: 24 24
+fun_entry: 22584 22584
+db_tab: 1632 1632
+=allocator:sys_alloc
+option e: true
+option m: libc
+=allocator:temp_alloc
+versions: 0.9 2.1
+option e: true
+option sbct: 524288
+option asbcst: 4145152
+option rsbcst: 90
+option rsbcmt: 80
+option mmbcs: 65536
+option mmsbc: 256
+option mmmbc: 10
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option as: af
+mbcs blocks: 0 9 9
+mbcs blocks size: 0 35376 35376
+mbcs carriers: 1 1 1
+mbcs mseg carriers: 0
+mbcs sys_alloc carriers: 1
+mbcs carriers size: 65568 65568 65568
+mbcs mseg carriers size: 0
+mbcs sys_alloc carriers size: 65568
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+temp_alloc calls: 6155
+temp_free calls: 6155
+temp_realloc calls: 29
+mseg_alloc calls: 0
+mseg_dealloc calls: 0
+mseg_realloc calls: 0
+sys_alloc calls: 1
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:sl_alloc
+option e: false
+=allocator:std_alloc
+option e: false
+=allocator:ll_alloc
+versions: 0.9 2.1
+option e: true
+option sbct: 4294967295
+option asbcst: 0
+option rsbcst: 0
+option rsbcmt: 0
+option mmbcs: 2097152
+option mmsbc: 0
+option mmmbc: 0
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option as: aobf
+mbcs blocks: 592 592 592
+mbcs blocks size: 2838520 2863304 2863304
+mbcs carriers: 2 2 2
+mbcs mseg carriers: 0
+mbcs sys_alloc carriers: 2
+mbcs carriers size: 3145760 3145760 3145760
+mbcs mseg carriers size: 0
+mbcs sys_alloc carriers size: 3145760
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+ll_alloc calls: 592
+ll_free calls: 0
+ll_realloc calls: 235
+mseg_alloc calls: 0
+mseg_dealloc calls: 0
+mseg_realloc calls: 0
+sys_alloc calls: 2
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:eheap_alloc
+versions: 2.1 2.1
+option e: true
+option sbct: 524288
+option asbcst: 4145152
+option rsbcst: 50
+option rsbcmt: 80
+option mmbcs: 524288
+option mmsbc: 256
+option mmmbc: 10
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option mbsd: 3
+option as: gf
+mbcs blocks: 56 102 102
+mbcs blocks size: 833280 1638920 1638920
+mbcs carriers: 2 3 3
+mbcs mseg carriers: 1
+mbcs sys_alloc carriers: 1
+mbcs carriers size: 1998880 3047456 3047456
+mbcs mseg carriers size: 1474560
+mbcs sys_alloc carriers size: 524320
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+eheap_alloc calls: 6971
+eheap_free calls: 6914
+eheap_realloc calls: 461
+mseg_alloc calls: 16
+mseg_dealloc calls: 14
+mseg_realloc calls: 0
+sys_alloc calls: 3
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:binary_alloc
+option e: false
+=allocator:ets_alloc
+option e: false
+=allocator:fix_alloc
+option e: true
+proc: 15080 13576
+atom_entry: 137152 137008
+export_entry: 138448 137632
+module_entry: 4872 4352
+reg_proc: 1000 592
+link_nh: 2464 2080
+link_sh: 832 192
+proc_list: 24 24
+fun_entry: 22584 22584
+db_tab: 1632 1632
+=allocator:mseg_alloc
+version: 0.9
+option amcbf: 4194304
+option rmcbf: 20
+option mcs: 5
+option cci: 1000
+cached_segments: 0
+cache_hits: 13
+segments: 2
+segments_watermark: 2
+mseg_alloc calls: 16
+mseg_dealloc calls: 14
+mseg_realloc calls: 0
+mseg_create calls: 4
+mseg_destroy calls: 1
+mseg_clear_cache calls: 6
+mseg_check_cache calls: 2
+=allocator:alloc_util
+option mmc: 1024
+option ycs: 1048576
+=allocator:instr
+option m: false
+option s: false
+option t: false
+=proc:<0.0.0>
+State: Waiting
+Name: init
+Spawned as: otp_ring0:start/2
+Spawned by: []
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.5.0>,<0.4.0>,<0.2.0>]
+Reductions: 3851
+Stack+heap: 377
+OldHeap: 610
+Heap unused: 53
+OldHeap unused: 610
+Program counter: 0x1f496c (init:loop/1 + 20)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.2.0>
+State: Waiting
+Name: erl_prim_loader
+Spawned as: erlang:apply/2
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.0.0>,#Port<0.2>]
+Reductions: 201036
+Stack+heap: 987
+OldHeap: 987
+Heap unused: 923
+OldHeap unused: 987
+Program counter: 0x20cc94 (erl_prim_loader:loop/3 + 52)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.4.0>
+State: Waiting
+Name: error_logger
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.21.0>,<0.0.0>]
+Reductions: 296
+Stack+heap: 6765
+OldHeap: 0
+Heap unused: 851
+OldHeap unused: 0
+Program counter: 0x21f5b8 (gen_event:loop/4 + 40)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.5.0>
+State: Waiting
+Name: application_controller
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.7.0>,<0.0.0>]
+Reductions: 1508
+Stack+heap: 1597
+OldHeap: 0
+Heap unused: 835
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.7.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.6.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.8.0>,<0.5.0>]
+Reductions: 23
+Stack+heap: 377
+OldHeap: 0
+Heap unused: 79
+OldHeap unused: 0
+Program counter: 0x248d04 (application_master:main_loop/2 + 28)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.8.0>
+State: Waiting
+Spawned as: application_master:start_it/4
+Spawned by: <0.7.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>,<0.7.0>]
+Reductions: 91
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 177
+OldHeap unused: 0
+Program counter: 0x24a26c (application_master:loop_it/4 + 40)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.9.0>
+State: Waiting
+Name: kernel_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.8.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.24.0>,<0.23.0>,<0.19.0>,<0.18.0>,<0.17.0>,<0.16.0>,<0.15.0>,<0.14.0>,<0.11.0>,<0.10.0>,<0.8.0>]
+Reductions: 7402
+Stack+heap: 610
+OldHeap: 987
+Heap unused: 311
+OldHeap unused: 987
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.10.0>
+State: Waiting
+Name: rex
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 44
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 144
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.11.0>
+State: Waiting
+Name: global_name_server
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.13.0>,<0.12.0>,<0.9.0>]
+Reductions: 47
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 98
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.12.0>
+State: Waiting
+Spawned as: global:init_the_locker/1
+Spawned by: <0.11.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.11.0>]
+Reductions: 3
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 227
+OldHeap unused: 0
+Program counter: 0x261340 (global:loop_the_locker/2 + 92)
+CP: 0x261184 (global:init_the_locker/1 + 112)
+arity = 0
+=proc:<0.13.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.11.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.11.0>]
+Reductions: 4
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 221
+OldHeap unused: 0
+Program counter: 0x265288 (global:collect_deletions/2 + 76)
+CP: 0x2651ac (global:loop_the_deleter/1 + 36)
+arity = 0
+=proc:<0.14.0>
+State: Waiting
+Name: inet_db
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 376
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 30
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.15.0>
+State: Waiting
+Name: global_group
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 71
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 92
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.16.0>
+State: Waiting
+Name: file_server_2
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 119
+Link list: [{from,<0.17.0>,#Ref<0.0.0.22>},#Port<0.4>,<0.9.0>]
+Reductions: 83605
+Stack+heap: 4181
+OldHeap: 4181
+Heap unused: 1720
+OldHeap unused: 4181
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.17.0>
+State: Waiting
+Name: file_server
+Spawned as: erlang:apply/2
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{to,<0.16.0>,#Ref<0.0.0.22>},<0.9.0>]
+Reductions: 12
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 207
+OldHeap unused: 0
+Program counter: 0x2a18e8 (old_file_server:relay_loop/3 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.18.0>
+State: Waiting
+Name: code_server
+Spawned as: erlang:apply/2
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 108900
+Stack+heap: 6765
+OldHeap: 6765
+Heap unused: 4389
+OldHeap unused: 6765
+Program counter: 0x2a6e64 (code_server:loop/1 + 64)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.19.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.21.0>,<0.9.0>]
+Reductions: 74
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 180
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.20.0>
+State: Waiting
+Spawned as: user_drv:server/2
+Spawned by: <0.19.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.22.0>,<0.21.0>,#Port<0.72>]
+Reductions: 596
+Stack+heap: 233
+OldHeap: 377
+Heap unused: 214
+OldHeap unused: 377
+Program counter: 0x2ca4e0 (user_drv:server_loop/5 + 56)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.21.0>
+State: Waiting
+Name: user
+Spawned as: group:server/2
+Spawned by: <0.20.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.4.0>,<0.19.0>,<0.20.0>]
+Reductions: 26
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 202
+OldHeap unused: 0
+Program counter: 0x2cd9d8 (group:server_loop/3 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.22.0>
+State: Waiting
+Spawned as: group:server/2
+Spawned by: <0.20.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{from,<0.49.0>,#Ref<0.0.0.307>},<0.25.0>,<0.20.0>]
+Reductions: 1244
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 40
+OldHeap unused: 233
+Program counter: 0x2cf238 (group:get_line1/3 + 1652)
+CP: 0x2cf230 (group:get_line1/3 + 1644)
+arity = 0
+=proc:<0.23.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 45
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 63
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.24.0>
+State: Waiting
+Name: kernel_safe_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.31.0>,<0.9.0>]
+Reductions: 133
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 198
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.25.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.22.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.49.0>,<0.27.0>,<0.22.0>]
+Reductions: 161
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 169
+OldHeap unused: 0
+Program counter: 0x2e0d00 (shell:get_command1/4 + 40)
+CP: 0x2e06fc (shell:server_loop/6 + 140)
+arity = 0
+=proc:<0.27.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.25.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.25.0>]
+Reductions: 506
+Stack+heap: 4181
+OldHeap: 0
+Heap unused: 1131
+OldHeap unused: 0
+Program counter: 0x2e2bbc (shell:eval_loop/2 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.31.0>
+State: Waiting
+Name: inet_gethost_native_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.24.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.32.0>,<0.24.0>]
+Reductions: 49
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 87
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.32.0>
+State: Waiting
+Name: inet_gethost_native
+Spawned as: inet_gethost_native:server_init/2
+Spawned by: <0.31.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 118
+Link list: [#Port<0.105>,<0.31.0>]
+Reductions: 65
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 13
+OldHeap unused: 0
+Program counter: 0x4ad840 (inet_gethost_native:main_loop/1 + 20)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.33.0>
+State: Waiting
+Name: web_tool
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.27.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.41.0>]
+Reductions: 131773
+Stack+heap: 6765
+OldHeap: 6765
+Heap unused: 2941
+OldHeap unused: 6765
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.41.0>
+State: Waiting
+Name: websup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.33.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.48.0>,<0.33.0>]
+Reductions: 118
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 205
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.43.0>
+State: Waiting
+Name: httpd_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.33.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.46.0>,<0.45.0>,<0.44.0>]
+Reductions: 1220
+Stack+heap: 6765
+OldHeap: 0
+Heap unused: 277
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.44.0>
+State: Waiting
+Name: httpd_acc_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.47.0>,<0.43.0>]
+Reductions: 147
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 77
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.45.0>
+State: Waiting
+Name: httpd_misc_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.43.0>]
+Reductions: 52
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 80
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.46.0>
+State: Waiting
+Name: httpd__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.43.0>]
+Reductions: 2905
+Stack+heap: 6765
+OldHeap: 10946
+Heap unused: 138
+OldHeap unused: 10946
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.47.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.44.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [#Port<0.161>,#Port<0.141>,<0.44.0>]
+Reductions: 874
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 190
+OldHeap unused: 233
+Program counter: 0x1fe798 (prim_inet:accept0/2 + 96)
+CP: 0x1feb04 (prim_inet:async_accept/2 + 380)
+arity = 0
+=proc:<0.48.0>
+State: Waiting
+Name: crashdump_viewer_server
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.41.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.56.0>,<0.41.0>]
+Reductions: 1913
+Stack+heap: 987
+OldHeap: 987
+Heap unused: 524
+OldHeap unused: 987
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.49.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.25.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{to,<0.22.0>,#Ref<0.0.0.307>},<0.25.0>]
+Reductions: 15
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 190
+OldHeap unused: 0
+Program counter: 0x301d58 (io:wait_io_mon_reply/2 + 28)
+CP: 0x30174c (io:parse_erl_exprs/3 + 92)
+arity = 0
+=proc:<0.56.0>
+State: Garbing
+Spawned as: erlang:apply/2
+Last scheduled in for: erlang:garbage_collect/0
+Spawned by: <0.48.0>
+Started: Wed Apr 21 13:22:27 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 121
+Link list: [#Port<0.158>,#Port<0.157>,<0.48.0>]
+Reductions: 2420470
+Stack+heap: 121393
+OldHeap: 0
+Heap unused: 22172
+OldHeap unused: 0
+New heap start: FE5768E0
+New heap top: FE5D7734
+Stack top: FE5ED130
+Stack end: FE5ED1A4
+Old heap start: 0
+Old heap top: 0
+Old heap end: 0
+Program counter: 0x1a4980 (unknown function)
+CP: 0x20710c (prim_file:read/2 + 436)
+=port:#Port<0.1>
+Slot: 1
+Connected: #Port<0.0>
+Port controls linked-in driver: async
+=port:#Port<0.2>
+Slot: 2
+Connected: <0.2.0>
+Links: <0.2.0>
+Port controls linked-in driver: efile
+=port:#Port<0.4>
+Slot: 4
+Connected: <0.16.0>
+Links: <0.16.0>
+Port controls linked-in driver: efile
+=port:#Port<0.72>
+Slot: 72
+Connected: <0.20.0>
+Links: <0.20.0>
+Port controls linked-in driver: tty_sl -c -e
+=port:#Port<0.105>
+Slot: 105
+Connected: <0.32.0>
+Links: <0.32.0>
+Port controls external process: inet_gethost 4
+=port:#Port<0.141>
+Slot: 141
+Connected: <0.47.0>
+Links: <0.47.0>
+Port controls linked-in driver: tcp_inet
+=port:#Port<0.157>
+Slot: 157
+Connected: <0.56.0>
+Links: <0.56.0>
+Port controls linked-in driver: efile
+=port:#Port<0.158>
+Slot: 158
+Connected: <0.56.0>
+Links: <0.56.0>
+Port controls linked-in driver: efile
+=port:#Port<0.161>
+Slot: 161
+Connected: <0.47.0>
+Links: <0.47.0>
+Port controls linked-in driver: tcp_inet
+=ets:<0.18.0>
+Slot: 9
+Table: 9
+Name: code
+Buckets: 256
+Objects: 289
+Words: 14108
+=ets:<0.18.0>
+Slot: 10
+Table: 10
+Name: code_names
+Buckets: 256
+Objects: 47
+Words: 4334
+=ets:<0.32.0>
+Slot: 11
+Table: 11
+Name: ign_requests
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.32.0>
+Slot: 12
+Table: 12
+Name: ign_req_index
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.33.0>
+Slot: 13
+Table: 13
+Name: app_data
+Buckets: 256
+Objects: 7
+Words: 952
+=ets:<0.46.0>
+Slot: 15
+Table: 15
+Name: httpd_mime__127_0_0_1__8888
+Buckets: 256
+Objects: 105
+Words: 5742
+=ets:<0.11.0>
+Slot: 84
+Table: global_names
+Name: global_names
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.11.0>
+Slot: 95
+Table: global_locks
+Name: global_locks
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.11.0>
+Slot: 96
+Table: global_names_ext
+Name: global_names_ext
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.14.0>
+Slot: 316
+Table: inet_cache
+Name: inet_cache
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 340
+Table: cdv_menu_table
+Name: cdv_menu_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 341
+Table: cdv_dump_index_table
+Name: cdv_dump_index_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 342
+Table: cdv_decode_heap_table
+Name: cdv_decode_heap_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.16.0>
+Slot: 780
+Table: file_io_servers
+Name: file_io_servers
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.46.0>
+Slot: 984
+Table: httpd_conf__127_0_0_1__8888
+Name: httpd_conf__127_0_0_1__8888
+Buckets: 256
+Objects: 17
+Words: 1176
+=ets:<0.14.0>
+Slot: 1342
+Table: inet_hosts
+Name: inet_hosts
+Buckets: 256
+Objects: 4
+Words: 421
+=ets:<0.14.0>
+Slot: 1362
+Table: inet_db
+Name: inet_db
+Buckets: 256
+Objects: 20
+Words: 671
+=ets:<0.5.0>
+Slot: 1655
+Table: ac_tab
+Name: ac_tab
+Buckets: 256
+Objects: 6
+Words: 843
+=timer:<0.14.0>
+Message: refresh_timeout
+Time left: 3565692 ms
+=node:'nonode@nohost'
+=no_distribution
+=loaded_modules
+Current code: 1968915
+Old code: 0
+=mod:otp_ring0
+Current size: 489
+=mod:init
+Current size: 30110
+=mod:prim_inet
+Current size: 35532
+=mod:prim_file
+Current size: 24965
+=mod:erl_prim_loader
+Current size: 19607
+=mod:erlang
+Current size: 11137
+=mod:error_handler
+Current size: 2389
+Current attributes: 836C00000001680264000376736E6C000000016E100030769A34345F26EF6D3433254FF2AE576A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161216802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6572726F725F68616E646C65722E65726C6A
+=mod:heart
+Current size: 6687
+Current attributes: 836C00000001680264000376736E6C000000016E10003094F7BECF345494DDBB4D7186E694186A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261086802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F68656172742E65726C6A
+=mod:error_logger
+Current size: 7051
+Current attributes: 836C00000001680264000376736E6C000000016E10004E3347F841DEAE2EB6A74389E6E127146A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161246802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6572726F725F6C6F676765722E65726C6A
+=mod:gen_event
+Current size: 18288
+Current attributes: 836C00000001680264000376736E6C000000016E1000336F22DF1EA75E0EA4AE65D3B8C34F946A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61346802640006736F757263656B00302F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E5F6576656E742E65726C6A
+=mod:gen
+Current size: 7129
+Current attributes: 836C00000001680264000376736E6C000000016E10007BE6AEB66EF48D8B33323C89C9936A526A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61316802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E2E65726C6A
+=mod:proc_lib
+Current size: 11658
+Current attributes: 836C00000001680264000376736E6C000000016E10005C589A8C9BD2E1F2E895E765CAE983406A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E612D6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F70726F635F6C69622E65726C6A
+=mod:application_controller
+Current size: 55249
+Current attributes: 836C00000002680264000376736E6C000000016E10003372E1AB0410565065FA086086A721316A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061246802640006736F757263656B003D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E5F636F6E74726F6C6C65722E65726C6A
+=mod:gen_server
+Current size: 18728
+Current attributes: 836C00000001680264000376736E6C000000016E10004C5E93533036DAC7698FC4112F59CF236A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61396802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E5F7365727665722E65726C6A
+=mod:sys
+Current size: 11589
+Current attributes: 836C00000001680264000376736E6C000000016E1000E12B0E8267551204BD5924BAB9629ADF6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61176802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7379732E65726C6A
+=mod:lists
+Current size: 18638
+Current attributes: 836C00000002680264000376736E6C000000016E10001E95B32C30E4CDAF0BDD1ABA58CBB5F36A680264000A646570726563617465646C0000000B68026400066B65796D617061046802640003616C6C61036802640003616E79610368026400036D617061036802640007666C61746D617061036802640005666F6C646C61046802640005666F6C64726104680264000666696C746572610368026400086D6170666F6C646C610468026400086D6170666F6C647261046802640007666F726561636861036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61116802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6C697374732E65726C6A
+=mod:application
+Current size: 2666
+Current attributes: 836C00000001680264000376736E6C000000016E1000C0C5A7B67B306300FEFF9D91AA50ECB36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6130611F6802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E2E65726C6A
+=mod:application_master
+Current size: 10912
+Current attributes: 836C00000001680264000376736E6C000000016E1000360420F5CEB80AD7DD51B3A8A0E2AFA26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061266802640006736F757263656B00392F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E5F6D61737465722E65726C6A
+=mod:kernel
+Current size: 7639
+Current attributes: 836C00000002680264000376736E6C000000016E10004D418ACCB0F948D4D3CA6B9A81B462746A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261336802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6B65726E656C2E65726C6A
+=mod:supervisor
+Current size: 24469
+Current attributes: 836C00000002680264000376736E6C000000016E1000979F65727577135484BE0892A35087CC6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61126802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F73757065727669736F722E65726C6A
+=mod:rpc
+Current size: 14539
+Current attributes: 836C00000002680264000376736E6C000000016E10008C5D6242D36B3201E3B11E82D5E1581E6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6133610F6802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F7270632E65726C6A
+=mod:gb_trees
+Current size: 8274
+Current attributes: 836C00000001680264000376736E6C000000016E1000094BEFDE7B866EF2CB6FCD895AC2EE056A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D612B6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67625F74726565732E65726C6A
+=mod:global
+Current size: 40753
+Current attributes: 836C00000002680264000376736E6C000000016E10001D02C89BDE6CB2052F099894683C14CA6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161386802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F676C6F62616C2E65726C6A
+=mod:inet_db
+Current size: 34555
+Current attributes: 836C00000001680264000376736E6C000000016E1000C1CF6A6F2E83D4EBC23D2CCECBF376226A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132611A6802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F64622E65726C6A
+=mod:inet_config
+Current size: 13575
+Current attributes: 836C00000001680264000376736E6C000000016E1000650F6571C03BC9C16BB7973A747565066A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261166802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F636F6E6669672E65726C6A
+=mod:os
+Current size: 5997
+Current attributes: 836C00000001680264000376736E6C000000016E100017144CD766A604A9DFBA0B58C8FCA78B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361056802640006736F757263656B00292F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6F732E65726C6A
+=mod:inet_udp
+Current size: 2451
+Current attributes: 836C00000001680264000376736E6C000000016E1000ACB163E87A687A6683B50B331C6E289B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261306802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F7564702E65726C6A
+=mod:inet
+Current size: 28288
+Current attributes: 836C00000001680264000376736E6C000000016E10009B9AD400F0BAF6AAF17A4788A4EFF11E6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132610C6802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65742E65726C6A
+=mod:inet_parse
+Current size: 21928
+Current attributes: 836C00000001680264000376736E6C000000016E1000E0E65454C096847749930EDC1C53C80B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261266802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F70617273652E65726C6A
+=mod:filename
+Current size: 17411
+Current attributes: 836C00000001680264000376736E6C000000016E100068085214F459D51A3E08819BF8D7698A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61296802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F66696C656E616D652E65726C6A
+=mod:inet_hosts
+Current size: 3745
+Current attributes: 836C00000001680264000376736E6C000000016E1000E7430304E86230057150DEE5D279881F6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261226802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F686F7374732E65726C6A
+=mod:erl_distribution
+Current size: 2512
+Current attributes: 836C00000002680264000376736E6C000000016E1000CDE49D63ACA767E0D49679657E99D2046A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161186802640006736F757263656B00372F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F65726C5F646973747269627574696F6E2E65726C6A
+=mod:global_group
+Current size: 30960
+Current attributes: 836C00000002680264000376736E6C000000016E10008ECE759E5920988CA3ACFF34B32F86736A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131613B6802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F676C6F62616C5F67726F75702E65726C6A
+=mod:net_kernel
+Current size: 37648
+Current attributes: 836C00000002680264000376736E6C000000016E1000967CE7DE41F9B39906CCCF3225E6E5286A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361026802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6E65745F6B65726E656C2E65726C6A
+=mod:file_server
+Current size: 8372
+Current attributes: 836C00000002680264000376736E6C000000016E1000EF90906EC6204204AC0A77C4A25B65236A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612D6802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C655F7365727665722E65726C6A
+=mod:old_file_server
+Current size: 3074
+Current attributes: 836C00000001680264000376736E6C000000016E1000C802085DD76D4EFBA6A8F528FECB94B36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612F6802640006736F757263656B00362F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6F6C645F66696C655F7365727665722E65726C6A
+=mod:code
+Current size: 7419
+Current attributes: 836C00000001680264000376736E6C000000016E1000AE618E3041C8E3807A3719CD5140DF5E6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6130612E6802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64652E65726C6A
+=mod:code_server
+Current size: 30811
+Current attributes: 836C00000001680264000376736E6C000000016E0F00BFB96248C2CA8601B4CB7F543F52E26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061346802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64655F7365727665722E65726C6A
+=mod:code_aux
+Current size: 1736
+Current attributes: 836C00000001680264000376736E6C000000016E10007A90DB53FCCECD52504F20E7A3B6BAE26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061316802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64655F6175782E65726C6A
+=mod:packages
+Current size: 3119
+Current attributes: 836C00000001680264000376736E6C000000016E1000044DC8EEB65F178AE23EF2465E1954496A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361076802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F7061636B616765732E65726C6A
+=mod:hipe_unified_loader
+Current size: 37330
+Current attributes: 836C00000001680264000376736E6C000000016E1000DABD57945702E56F4B3AA7B7B19C1D166A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361326802640006736F757263656B003A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F686970655F756E69666965645F6C6F616465722E65726C6A
+=mod:hipe_sparc_loader
+Current size: 1821
+Current attributes: 836C00000001680264000376736E6C000000016E1000582BC55E9FADFF879C2C45D25A6CB7E56A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F6D61696E6802640001696B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F72746C6802640001696B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F737061726364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6133612B6802640006736F757263656B00382F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F686970655F73706172635F6C6F616465722E65726C6A
+=mod:ets
+Current size: 16577
+Current attributes: 836C00000002680264000376736E6C000000016E100033D982AC91129E5FC35E0AC3337A4EB56A680264000A646570726563617465646C0000000168026400086669787461626C6561026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D611C6802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6574732E65726C6A
+=mod:lists_sort
+Current size: 38692
+Current attributes: 836C00000001680264000376736E6C000000016E1000E17EC92FA9AA3199DD71701C215044616A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000B68026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736802640006696E6C696E656C0000000468026400096D65726765335F3132610768026400096D65726765335F32316107680264000A726D65726765335F31326107680264000A726D65726765335F323161076A6802640006696E6C696E656C00000004680264000A756D65726765335F31326108680264000A756D65726765335F32316108680264000C72756D65726765335F3132616107680264000C72756D65726765335F31326261086A6802640006696E6C696E656C00000004680264000C6B65796D65726765335F3132610C680264000C6B65796D65726765335F3231610C680264000D726B65796D65726765335F3132610C680264000D726B65796D65726765335F3231610C6A6802640006696E6C696E656C00000006680264000D756B65796D65726765335F3132610D680264000D756B65796D65726765335F3231610D680264000F72756B65796D65726765335F313261610B680264000F72756B65796D65726765335F323161610D680264000F72756B65796D65726765335F313262610D680264000F72756B65796D65726765335F323162610C6A6A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61166802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6C697374735F736F72742E65726C6A
+=mod:user_sup
+Current size: 2355
+Current attributes: 836C00000002680264000376736E6C000000016E100074BA860804CB4D60D6908C705E6544BD6A68026400096265686176696F75726C0000000164001173757065727669736F725F6272696467656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361246802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F757365725F7375702E65726C6A
+=mod:supervisor_bridge
+Current size: 2944
+Current attributes: 836C00000002680264000376736E6C000000016E10001590DDC10CF8A9D09763CDB7479678ED6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61156802640006736F757263656B00382F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F73757065727669736F725F6272696467652E65726C6A
+=mod:user_drv
+Current size: 14630
+Current attributes: 836C00000001680264000376736E6C000000016E1000F29F3B193A1EB1ADA9975D97E51BF0E86A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361216802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F757365725F6472762E65726C6A
+=mod:group
+Current size: 10165
+Current attributes: 836C00000001680264000376736E6C000000016E1000F6427D0DA330BBFAD5D4C19058516FF36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261066802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F67726F75702E65726C6A
+=mod:io_lib
+Current size: 12601
+Current attributes: 836C00000002680264000376736E6C000000016E10004160DD78F37EE7C72F7C5B6A751DB7F56A680264000A646570726563617465646C0000000468026400047363616E610168026400047363616E610268026400047363616E6103680264000D72657365727665645F776F726461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61036802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69622E65726C6A
+=mod:edlin
+Current size: 18178
+Current attributes: 836C00000001680264000376736E6C000000016E100035D752FCBA8ED7F4D26990EF3E6A1A526A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C61016802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65646C696E2E65726C6A
+=mod:io_lib_format
+Current size: 16189
+Current attributes: 836C00000001680264000376736E6C000000016E10004F382F327C456F83F33C3D5EBFBD87906A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61066802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69625F666F726D61742E65726C6A
+=mod:kernel_config
+Current size: 3295
+Current attributes: 836C00000002680264000376736E6C000000016E100077B8EE6C9E95FBBE5DB0371F6DB235226A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261356802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6B65726E656C5F636F6E6669672E65726C6A
+=mod:shell
+Current size: 22571
+Current attributes: 836C00000001680264000376736E6C000000016E10007D1354325618EB98A5BD4E8F41E6A0226A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61016802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7368656C6C2E65726C6A
+=mod:error_logger_tty_h
+Current size: 7773
+Current attributes: 836C00000002680264000376736E6C000000016E10001502D55D6C1777F07E2E05CDD91D16986A68026400096265686176696F75726C0000000164000967656E5F6576656E746A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61196802640006736F757263656B00392F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6572726F725F6C6F676765725F7474795F682E65726C6A
+=mod:erl_eval
+Current size: 33481
+Current attributes: 836C00000002680264000376736E6C000000016E1000D06903753C86BBC49A5CBD789CCB09B66A680264000A646570726563617465646C00000004680264000373657161026802640003736571610368026400086172675F6C697374610268026400086172675F6C69737461036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C610D6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F6576616C2E65726C6A
+=mod:orddict
+Current size: 4872
+Current attributes: 836C00000002680264000376736E6C000000016E100078DCF69F3949D79BC54168266A3ABF566A680264000A646570726563617465646C00000002680264000C646963745F746F5F6C6973746101680264000C6C6973745F746F5F6469637461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61236802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F7264646963742E65726C6A
+=mod:c
+Current size: 19555
+Current attributes: 836C00000001680264000376736E6C000000016E10003FACCF5DE16ABBC988ABF0811980C33B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61136802640006736F757263656B00282F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F632E65726C6A
+=mod:io
+Current size: 7417
+Current attributes: 836C00000002680264000376736E6C000000016E1000E2F2A6094B3C3D945865225D0620E7546A680264000A646570726563617465646C00000007680264000B70617273655F65787072736102680264000C7363616E5F65726C5F7365716101680264000C7363616E5F65726C5F7365716102680264000C7363616E5F65726C5F7365716103680264000D70617273655F65726C5F7365716101680264000D70617273655F65726C5F7365716102680264000D70617273655F65726C5F73657161036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61006802640006736F757263656B00292F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F2E65726C6A
+=mod:file
+Current size: 20795
+Current attributes: 836C00000002680264000376736E6C000000016E1000D291AF77EE8B08B792B7FE99274504506A680264000A646570726563617465646C00000001680264000966696C655F696E666F61016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161276802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C652E65726C6A
+=mod:file_io_server
+Current size: 12071
+Current attributes: 836C00000001680264000376736E6C000000016E1000A5A8C4E2B2646855AD5C617CB216CB966A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612A6802640006736F757263656B00352F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C655F696F5F7365727665722E65726C6A
+=mod:erl_scan
+Current size: 21891
+Current attributes: 836C00000001680264000376736E6C000000016E100094F386F0C378B258E5D9CEADD4F03B6A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61116802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F7363616E2E65726C6A
+=mod:erl_parse
+Current size: 161233
+Current attributes: 836C00000001680264000376736E6C000000016E10000E8CBC32C293BFC1FBC721CE918062236A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000968026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F76617273640006696E6C696E656802640004686970656C000000016802640008726567616C6C6F6364000B6C696E6561725F7363616E6A6A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61076802640006736F757263656B00302F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F70617273652E65726C6A
+=mod:erl_lint
+Current size: 73159
+Current attributes: 836C00000001680264000376736E6C000000016E1000D1D2A7D6DDFD1195CB180993C76FD2CD6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C61156802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F6C696E742E65726C6A
+=mod:ordsets
+Current size: 3257
+Current attributes: 836C00000002680264000376736E6C000000016E1000FD39D8FD846511128F5670BA28600F676A680264000A646570726563617465646C0000000468026400076E65775F7365746100680264000B7365745F746F5F6C6973746101680264000B6C6973745F746F5F7365746101680264000673756273657461026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61256802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F7264736574732E65726C6A
+=mod:dict
+Current size: 15637
+Current attributes: 836C00000002680264000376736E6C000000016E1000BC846E7EF85045A5D76190CE9B1AE97C6A680264000A646570726563617465646C00000002680264000C646963745F746F5F6C6973746101680264000C6C6973745F746F5F6469637461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61356802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F646963742E65726C6A
+=mod:otp_internal
+Current size: 7133
+Current attributes: 836C00000001680264000376736E6C000000016E1000DC494F64DE590AFC4919DFEB0EB026B66A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61206802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F74705F696E7465726E616C2E65726C6A
+=mod:user_default
+Current size: 1261
+Current attributes: 836C00000002680264000376736E6C000000016E1000505078ACD9B84D514FC6DA2BE249E6756A6802640006617574686F726C0000000164001765656973686E6E406565692E6572696373736F6E2E73656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000368026400036377646B00112F686F6D652F736972692F65726C616E6768026400066F75746469726B00112F686F6D652F736972692F65726C616E676400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461036116610D612C61126802640006736F757263656B00222F686F6D652F736972692F65726C616E672F757365725F64656661756C742E65726C6A
+=mod:tt
+Current size: 2959
+Current attributes: 836C00000002680264000376736E6C000000016E10001D71FD5A55D3BCBF06BFEDF2426C3C386A6802640006617574686F726C0000000164001765656973686E6E406565692E6572696373736F6E2E73656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000368026400036377646B00112F686F6D652F736972692F65726C616E6768026400066F75746469726B00112F686F6D652F736972692F65726C616E676400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461036116610D612B610C6802640006736F757263656B00182F686F6D652F736972692F65726C616E672F74742E65726C6A
+=mod:distel
+Current size: 18214
+Current attributes: 836C00000002680264000376736E6C000000016E1000CC9C9EF141459249C1CCA00993B2E29A6A6802640006617574686F726C000000016400116C756B6540626C75657461696C2E636F6D6A6A
+Current compilation info: 836C0000000368026400076F7074696F6E736C0000000664000276336400107761726E5F756E757365645F7661727364000A64656275675F696E666F68026400066F75746469726B00046562696E68026400036377646B001C2F6C6469736B2F736972692F746F6F6C732F64697374656C2D332E3164000A6578706F72745F616C6C6A680264000776657273696F6E6B0003342E31680264000474696D65680662000007D2610B6114610B610361336A
+=mod:crashdump_viewer
+Current size: 125756
+Current attributes: 836C00000001680264000376736E6C000000016E10002DC5D9D96190A2D5F27FAC3FA3D5C7956A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F76617273680264000F70617273655F7472616E73666F726D64000C6D735F7472616E73666F726D6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461146108611B61366802640006736F757263656B00362F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7669657765722E65726C6A
+=mod:webtool
+Current size: 29229
+Current attributes: 836C00000002680264000376736E6C000000016E10008AEEF06B60527A3390CBC2C98083CC0A6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00202F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F73726368026400066F75746469726B00282F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F2E2E2F6562696E64000A64656275675F696E666F6400107761726E5F756E757365645F76617273680264000F70617273655F7472616E73666F726D64000C6D735F7472616E73666F726D6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104610661086106612D6802640006736F757263656B002C2F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F776562746F6F6C2E65726C6A
+=mod:gen_tcp
+Current size: 3574
+Current attributes: 836C00000001680264000376736E6C000000016E1000C965E4EAFDAA94D7F21EDCBE30B21E7B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161316802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F67656E5F7463702E65726C6A
+=mod:inet_tcp
+Current size: 2743
+Current attributes: 836C00000001680264000376736E6C000000016E1000C4AFE0B49768E4CF78B2C42EA1D3DB7F6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132612B6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F7463702E65726C6A
+=mod:inet_gethost_native
+Current size: 15611
+Current attributes: 836C00000002680264000376736E6C000000016E10005D8CD4277D0BD2425B9C26036AE314506A68026400096265686176696F75726C0000000164001173757065727669736F725F6272696467656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261206802640006736F757263656B003A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F676574686F73745F6E61746976652E65726C6A
+=mod:filelib
+Current size: 7202
+Current attributes: 836C00000001680264000376736E6C000000016E10007B42AA23FF99DF2CD9D586635B77556A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61266802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F66696C656C69622E65726C6A
+=mod:httpd_util
+Current size: 24068
+Current attributes: 836C00000002680264000376736E6C000000016E10008D99E096221B88D542E52CB9C8377F6D6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128613B6802640006736F757263656B00312F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F7574696C2E65726C6A
+=mod:webtool_sup
+Current size: 695
+Current attributes: 836C00000002680264000376736E6C000000016E1000FA5449E12816CF3AD0A3085BB26CDB9B6A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000468026400036377646B00202F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F73726368026400066F75746469726B00282F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F2E2E2F6562696E64000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461066108610761236802640006736F757263656B00302F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F776562746F6F6C5F7375702E65726C6A
+=mod:httpd_conf
+Current size: 33659
+Current attributes: 836C00000002680264000376736E6C000000016E1000E3198FBDC73BC48CB7D0C1C762B8F1AB6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861116802640006736F757263656B00312F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F636F6E662E65726C6A
+=mod:regexp
+Current size: 13698
+Current attributes: 836C00000001680264000376736E6C000000016E10009DD44F3D02F8328BE3ABF4DDA89E0CAE6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61376802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7265676578702E65726C6A
+=mod:string
+Current size: 7740
+Current attributes: 836C00000002680264000376736E6C000000016E10005521DDF38903D46D7C53DB864266F7456A680264000A646570726563617465646C00000007680264000C72655F73685F746F5F61776B6101680264000872655F70617273656101680264000872655F6D617463686102680264000672655F7375626103680264000772655F677375626103680264000872655F73706C697461026802640005696E64657861026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F610F6802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F737472696E672E65726C6A
+=mod:httpd
+Current size: 7563
+Current attributes: 836C00000002680264000376736E6C000000016E1000BFD190D951EB3CAD2CC72ADEF20886906A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861036802640006736F757263656B002C2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470642E65726C6A
+=mod:httpd_sup
+Current size: 4068
+Current attributes: 836C00000003680264000376736E6C000000016E10007FA5C790118F18F3D20A2BFAF0229F0A6A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861366802640006736F757263656B00302F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F7375702E65726C6A
+=mod:httpd_acceptor_sup
+Current size: 2161
+Current attributes: 836C00000003680264000376736E6C000000016E10003E6F9289B64C13F1EC8A1184BACF055F6A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128610C6802640006736F757263656B00392F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6163636570746F725F7375702E65726C6A
+=mod:httpd_verbosity
+Current size: 2672
+Current attributes: 836C00000002680264000376736E6C000000016E100018B6F407D391872421748F87877DAAF36A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961036802640006736F757263656B00362F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F766572626F736974792E65726C6A
+=mod:timer
+Current size: 8223
+Current attributes: 836C00000001680264000376736E6C000000016E10001D0D64DB1B923D1B3B9497655C43B4AD6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F611A6802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F74696D65722E65726C6A
+=mod:httpd_misc_sup
+Current size: 2066
+Current attributes: 836C00000003680264000376736E6C000000016E100092342F38AC16C074DDC21532FBFB52C26A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128611F6802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6D6973635F7375702E65726C6A
+=mod:httpd_manager
+Current size: 28916
+Current attributes: 836C00000003680264000376736E6C000000016E100013F7A1E6A4B6407A0A1892A794EE10A36A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128611B6802640006736F757263656B00342F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6D616E616765722E65726C6A
+=mod:mod_alias
+Current size: 6720
+Current attributes: 836C00000002680264000376736E6C000000016E10002F35C36060B4AC45474440381D146AB96A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961106802640006736F757263656B00302F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F616C6961732E65726C6A
+=mod:mod_auth
+Current size: 25168
+Current attributes: 836C00000002680264000376736E6C000000016E100083F3CA0C7A3E7B5E19A635A7F916595D6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961166802640006736F757263656B002F2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F617574682E65726C6A
+=mod:mod_esi
+Current size: 22534
+Current attributes: 836C00000002680264000376736E6C000000016E1000513E3FF733E1E6592B86CB55B9C14E086A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61026802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6573692E65726C6A
+=mod:mod_actions
+Current size: 3625
+Current attributes: 836C00000002680264000376736E6C000000016E10008E5437921662830490CA76DFF88548966A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066129610C6802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F616374696F6E732E65726C6A
+=mod:mod_cgi
+Current size: 25891
+Current attributes: 836C00000002680264000376736E6C000000016E1000F91D405488188F1BD25110B4ED9EE8786A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961306802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6367692E65726C6A
+=mod:mod_include
+Current size: 34923
+Current attributes: 836C00000002680264000376736E6C000000016E1000B9CCE88D63DD6AC49D5DF533C46B97D56A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61176802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F696E636C7564652E65726C6A
+=mod:mod_dir
+Current size: 13488
+Current attributes: 836C00000002680264000376736E6C000000016E1000EF620CB4B5DE5586ED681347496DA1C86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961356802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6469722E65726C6A
+=mod:mod_get
+Current size: 4672
+Current attributes: 836C00000002680264000376736E6C000000016E1000AD2730B6BE6AF875A500AF4857C4D7F86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61076802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6765742E65726C6A
+=mod:mod_head
+Current size: 3074
+Current attributes: 836C00000002680264000376736E6C000000016E1000CAF803B9FA6A28D4153BC109B00D7DF96A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A610B6802640006736F757263656B002F2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F686561642E65726C6A
+=mod:mod_log
+Current size: 8546
+Current attributes: 836C00000002680264000376736E6C000000016E1000F9664B54861260DEA081249379219AF86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A611B6802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6C6F672E65726C6A
+=mod:mod_disk_log
+Current size: 15160
+Current attributes: 836C00000002680264000376736E6C000000016E1000DDA1E88A9C423A2866B56425DF36F5C66A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961396802640006736F757263656B00332F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6469736B5F6C6F672E65726C6A
+=mod:httpd_socket
+Current size: 7426
+Current attributes: 836C00000002680264000376736E6C000000016E1000B831219096661E4D2E200A07C4A9A7776A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861326802640006736F757263656B00332F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F736F636B65742E65726C6A
+=mod:httpd_acceptor
+Current size: 4472
+Current attributes: 836C00000002680264000376736E6C000000016E1000A501686DF4E4053E7D978E0CA162BEC56A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861076802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6163636570746F722E65726C6A
+=mod:io_lib_pretty
+Current size: 8171
+Current attributes: 836C00000001680264000376736E6C000000016E1000CD397E11D2D380D02A4BC6EE309B98CB6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E610C6802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69625F7072657474792E65726C6A
+=mod:httpd_request_handler
+Current size: 26393
+Current attributes: 836C00000002680264000376736E6C000000016E100021C280A5EB5B9CCD00A2C418A341202A6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861296802640006736F757263656B003C2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F726571756573745F68616E646C65722E65726C6A
+=mod:calendar
+Current size: 7158
+Current attributes: 836C00000002680264000376736E6C000000016E10008C44498546709037F8D72DA4AF8B7FB76A680264000A646570726563617465646C00000001680264001C6C6F63616C5F74696D655F746F5F756E6976657273616C5F74696D6561016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61166802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F63616C656E6461722E65726C6A
+=mod:httpd_parse
+Current size: 9977
+Current attributes: 836C00000002680264000376736E6C000000016E1000174653BAA652261FEB44FFDED99E50B76A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861246802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F70617273652E65726C6A
+=mod:httpd_response
+Current size: 13535
+Current attributes: 836C00000002680264000376736E6C000000016E1000785B247D894BA08A40D814EF11F848976A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128612D6802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F726573706F6E73652E65726C6A
+=mod:crashdump_viewer_html
+Current size: 68343
+Current attributes: 836C00000001680264000376736E6C000000016E1000AE414770FDB0806C5583FF8D6D71DC766A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461146108611C61026802640006736F757263656B003B2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7669657765725F68746D6C2E65726C6A
+=mod:crashdump_translate
+Current size: 89840
+Current attributes: 836C00000001680264000376736E6C000000016E100038F332287181E933A76CEF4799BDB6416A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000668026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461046115610B611661106802640006736F757263656B00392F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7472616E736C6174652E65726C6A
+=fun
+Module: crashdump_viewer_html
+Uniq: 9122590
+Index: 0
+Address: 526308
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 77168418
+Index: 14
+Address: 26541c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 88083515
+Index: 9
+Address: 284c30
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 36747896
+Index: 4
+Address: 26df84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 80395734
+Index: 8
+Address: 265838
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 103184573
+Index: 5
+Address: 2fa59c
+Native_address: bce80
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 88265811
+Index: 24
+Address: 34f6a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 9644262
+Index: 2
+Address: 292cec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 100885585
+Index: 0
+Address: 29eb2c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 128335479
+Index: 6
+Address: 26de84
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_prim_loader
+Uniq: 42988083
+Index: 1
+Address: 210c14
+Native_address: bcf04
+Refc: 1
+=fun
+Module: dict
+Uniq: 7105125
+Index: 7
+Address: 354f84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 29030584
+Index: 8
+Address: 234978
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 29214351
+Index: 2
+Address: 285660
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 5158633
+Index: 4
+Address: 274034
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 74624950
+Index: 25
+Address: 34f63c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 6477018
+Index: 3
+Address: 2adb6c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 117885138
+Index: 7
+Address: 2ffff8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 47566924
+Index: 6
+Address: 354fb8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 114637756
+Index: 12
+Address: 313c60
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 121316204
+Index: 31
+Address: 313a68
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61363639
+Index: 12
+Address: 2ad6a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 116208699
+Index: 3
+Address: 274094
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 113750737
+Index: 0
+Address: 292d54
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 12853672
+Index: 0
+Address: 222e74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108046357
+Index: 12
+Address: 4ab0b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 111569299
+Index: 47
+Address: 34e80c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 20108653
+Index: 15
+Address: 2f9f94
+Native_address: bcea4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 45252965
+Index: 15
+Address: 313c0c
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 12437425
+Index: 9
+Address: 4ab3e0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 30942993
+Index: 22
+Address: 34f6ec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 93430337
+Index: 3
+Address: 33b100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 6604883
+Index: 2
+Address: 33b16c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 36867745
+Index: 5
+Address: 255e28
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 90563105
+Index: 1
+Address: 285708
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 18519297
+Index: 7
+Address: 26ddfc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 8058975
+Index: 16
+Address: 4a36b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 30694569
+Index: 7
+Address: 27d018
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 76933943
+Index: 0
+Address: 2741b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 9033258
+Index: 6
+Address: 4a4690
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 74851752
+Index: 5
+Address: 4a4798
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global
+Uniq: 50855382
+Index: 4
+Address: 2659a8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 39211582
+Index: 52
+Address: 34e504
+Native_address: bceec
+Refc: 1
+=fun
+Module: file_server
+Uniq: 77665472
+Index: 0
+Address: 2a0dec
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 57487277
+Index: 8
+Address: 2fa3c4
+Native_address: bce94
+Refc: 1
+=fun
+Module: webtool
+Uniq: 87386575
+Index: 11
+Address: 4ab1c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 58991950
+Index: 8
+Address: 4a4338
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 118859163
+Index: 17
+Address: 4a34d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 38265609
+Index: 12
+Address: 354dec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 56903339
+Index: 1
+Address: 2527c4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_hosts
+Uniq: 129504763
+Index: 0
+Address: 28aae8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 44817307
+Index: 10
+Address: 354e3c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 52856894
+Index: 41
+Address: 34eb70
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 22623360
+Index: 23
+Address: 34f5d4
+Native_address: bceec
+Refc: 1
+=fun
+Module: orddict
+Uniq: 34963136
+Index: 0
+Address: 2fbbbc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erlang
+Uniq: 24496633
+Index: 0
+Address: 213744
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 99313855
+Index: 27
+Address: 2f9914
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 99137703
+Index: 3
+Address: 4b5dfc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 124043500
+Index: 3
+Address: 222b84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 102650878
+Index: 22
+Address: 313b48
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 13333720
+Index: 12
+Address: 34fb2c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global_group
+Uniq: 133457
+Index: 5
+Address: 292a80
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 64640983
+Index: 4
+Address: 29e944
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 7580218
+Index: 2
+Address: 255f08
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 131850870
+Index: 59
+Address: 34e6b8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 56617403
+Index: 10
+Address: 284b40
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108680306
+Index: 4
+Address: 4ab5e0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 90880071
+Index: 2
+Address: 26e150
+Native_address: bcefc
+Refc: 1
+=fun
+Module: file_io_server
+Uniq: 23980778
+Index: 0
+Address: 30ac30
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 12006418
+Index: 19
+Address: 2f9d54
+Native_address: bce80
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 81701030
+Index: 8
+Address: 526228
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 71013875
+Index: 1
+Address: 4a4ddc
+Native_address: bcf04
+Refc: 1
+=fun
+Module: distel
+Uniq: 87740845
+Index: 2
+Address: 35c0e0
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 90782401
+Index: 17
+Address: 2f9e8c
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 133882676
+Index: 6
+Address: 2e52ac
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 105698088
+Index: 3
+Address: 2855b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 58370899
+Index: 0
+Address: 27d370
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 15274536
+Index: 25
+Address: 2f9a94
+Native_address: bcef4
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 94349557
+Index: 0
+Address: 252844
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 33328185
+Index: 1
+Address: 33b1d8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 86971387
+Index: 16
+Address: 313db0
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 53364473
+Index: 38
+Address: 34ee84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 128145687
+Index: 0
+Address: 4ab944
+Native_address: bcee4
+Refc: 1
+=fun
+Module: c
+Uniq: 98651404
+Index: 10
+Address: 2fff20
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 78224618
+Index: 0
+Address: 313dcc
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 40779085
+Index: 11
+Address: 2e50c8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: c
+Uniq: 93517350
+Index: 4
+Address: 300090
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 58551291
+Index: 0
+Address: 234f14
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 10055518
+Index: 17
+Address: 526170
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 15795706
+Index: 19
+Address: 313bd4
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 31129467
+Index: 13
+Address: 313c44
+Native_address: bced4
+Refc: 1
+=fun
+Module: old_file_server
+Uniq: 115635393
+Index: 0
+Address: 2a1a4c
+Native_address: bcf04
+Refc: 2
+=fun
+Module: erl_eval
+Uniq: 65839696
+Index: 22
+Address: 2f9c00
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 69275064
+Index: 28
+Address: 313aa0
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 55938066
+Index: 11
+Address: 354d6c
+Native_address: bceec
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 22323433
+Index: 3
+Address: 252688
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 129726129
+Index: 29
+Address: 313abc
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 84346832
+Index: 0
+Address: 3550fc
+Native_address: bceec
+Refc: 1
+=fun
+Module: shell
+Uniq: 102096820
+Index: 7
+Address: 2e5290
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 70385762
+Index: 11
+Address: 27cf44
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_cgi
+Uniq: 1483038
+Index: 0
+Address: 4ec2e8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 3664813
+Index: 1
+Address: 3550b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet
+Uniq: 131143671
+Index: 6
+Address: 27d08c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 46286977
+Index: 2
+Address: 2740b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_esi
+Uniq: 49099432
+Index: 0
+Address: 4e522c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_master
+Uniq: 95764905
+Index: 2
+Address: 24aaa8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: packages
+Uniq: 62890926
+Index: 0
+Address: 2ae814
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 41564771
+Index: 35
+Address: 3139f8
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 95490768
+Index: 0
+Address: 4a4dc0
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 121559432
+Index: 3
+Address: 313d78
+Native_address: bced4
+Refc: 1
+=fun
+Module: httpd_conf
+Uniq: 21152662
+Index: 0
+Address: 4be5a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 41630916
+Index: 5
+Address: 29e914
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 19747201
+Index: 5
+Address: 313d24
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 100584837
+Index: 36
+Address: 34f0f4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 64635712
+Index: 15
+Address: 34f94c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 46398361
+Index: 3
+Address: 29e9a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 86699817
+Index: 27
+Address: 313b2c
+Native_address: bced4
+Refc: 1
+=fun
+Module: distel
+Uniq: 40869731
+Index: 0
+Address: 35c12c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet
+Uniq: 83701641
+Index: 1
+Address: 27d33c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_auth
+Uniq: 85845790
+Index: 0
+Address: 4dfd84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 101292714
+Index: 9
+Address: 2e519c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 134173702
+Index: 1
+Address: 265b68
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 92433687
+Index: 6
+Address: 2ad9f4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 62315241
+Index: 8
+Address: 354f38
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 11615541
+Index: 12
+Address: 265530
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 11160090
+Index: 2
+Address: 2b6bb4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 12116524
+Index: 15
+Address: 2342c4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 61620901
+Index: 2
+Address: 4fc670
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 23665189
+Index: 12
+Address: 4a3b94
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 43844413
+Index: 0
+Address: 300100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 100514258
+Index: 6
+Address: 313d08
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 54271286
+Index: 17
+Address: 34f8a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 47017252
+Index: 3
+Address: 26dfa0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 1228304
+Index: 7
+Address: 4a45a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 127131470
+Index: 10
+Address: 2655a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: file_server
+Uniq: 22638227
+Index: 1
+Address: 2a0e20
+Native_address: bcf04
+Refc: 1
+=fun
+Module: code_server
+Uniq: 112704920
+Index: 15
+Address: 2ad488
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 88302875
+Index: 2
+Address: 2fa76c
+Native_address: bceb4
+Refc: 1
+=fun
+Module: inet_hosts
+Uniq: 85808984
+Index: 1
+Address: 28ab18
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 106391799
+Index: 0
+Address: 33b22c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 25830519
+Index: 5
+Address: 27d0c0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 110491036
+Index: 1
+Address: 2e5398
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 13128736
+Index: 5
+Address: 52627c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 84644982
+Index: 21
+Address: 313b9c
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 120577486
+Index: 3
+Address: 34fffc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 4504456
+Index: 44
+Address: 34e938
+Native_address: bceec
+Refc: 1
+=fun
+Module: mod_disk_log
+Uniq: 28754183
+Index: 0
+Address: 500140
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 88043334
+Index: 14
+Address: 313c28
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61592373
+Index: 0
+Address: 2adc28
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 74468346
+Index: 26
+Address: 313ad8
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 69896253
+Index: 21
+Address: 2f9c40
+Native_address: bce80
+Refc: 1
+=fun
+Module: global_group
+Uniq: 59656873
+Index: 4
+Address: 292ac0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 103891261
+Index: 2
+Address: 4a4d70
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 89619733
+Index: 0
+Address: 4b5e64
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 133201466
+Index: 10
+Address: 2e5180
+Native_address: bceec
+Refc: 1
+=fun
+Module: webtool
+Uniq: 32159369
+Index: 2
+Address: 4ab820
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 76861396
+Index: 2
+Address: 2adbb0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 48206487
+Index: 0
+Address: 4fc6f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 118996551
+Index: 28
+Address: 34f384
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 12593774
+Index: 50
+Address: 34e60c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_request_handler
+Uniq: 48542841
+Index: 1
+Address: 50e88c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 56178490
+Index: 9
+Address: 4a420c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: distel
+Uniq: 88212576
+Index: 4
+Address: 35bf44
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 79562132
+Index: 29
+Address: 34f368
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 129524917
+Index: 32
+Address: 34f2c0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54029891
+Index: 23
+Address: 2f9af0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 108872092
+Index: 4
+Address: 27d0f0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 40905124
+Index: 6
+Address: 234ac0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 50124876
+Index: 10
+Address: 2ad760
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 791358
+Index: 48
+Address: 34e7b0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 18404828
+Index: 24
+Address: 313af4
+Native_address: bced4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 13278653
+Index: 1
+Address: 4b5e48
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 110307423
+Index: 13
+Address: 284a7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 99592247
+Index: 0
+Address: 256118
+Native_address: bcf04
+Refc: 1
+=fun
+Module: global
+Uniq: 99918211
+Index: 2
+Address: 265af4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 71442319
+Index: 27
+Address: 34f510
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 7612785
+Index: 13
+Address: 2fa0fc
+Native_address: bce80
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 56095795
+Index: 15
+Address: 4a38a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 23626796
+Index: 25
+Address: 313b10
+Native_address: bced4
+Refc: 1
+=fun
+Module: file_server
+Uniq: 126074974
+Index: 2
+Address: 2a0cac
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 104278122
+Index: 1
+Address: 274154
+Native_address: bcefc
+Refc: 1
+=fun
+Module: sys
+Uniq: 90854051
+Index: 0
+Address: 240344
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 113334594
+Index: 2
+Address: 313d5c
+Native_address: bced4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 8832142
+Index: 7
+Address: 284e30
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 9159706
+Index: 42
+Address: 34eb54
+Native_address: bceec
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 123946665
+Index: 8
+Address: 26e494
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 3149789
+Index: 1
+Address: 5262d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 48288621
+Index: 11
+Address: 2ffed8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 8953292
+Index: 20
+Address: 4a4d54
+Native_address: bcee4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 9632158
+Index: 4
+Address: 34ff88
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 31111567
+Index: 7
+Address: 29e8c8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 85307443
+Index: 10
+Address: 2fa29c
+Native_address: bcec4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 104417191
+Index: 7
+Address: 313cd0
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 43625777
+Index: 5
+Address: 354fec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 92698798
+Index: 3
+Address: 4ab780
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 39074546
+Index: 6
+Address: 2fa54c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 71451126
+Index: 5
+Address: 234b98
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 122084387
+Index: 6
+Address: 300038
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 9625924
+Index: 14
+Address: 284a60
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 128777368
+Index: 11
+Address: 313c7c
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 10203723
+Index: 7
+Address: 4ab4f8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 35032400
+Index: 10
+Address: 313c98
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 17252586
+Index: 34
+Address: 313a14
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 7177165
+Index: 11
+Address: 2ad734
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 115778175
+Index: 3
+Address: 4a4930
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 96440880
+Index: 51
+Address: 34e590
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 68275407
+Index: 0
+Address: 2b7340
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 88854488
+Index: 16
+Address: 2f9f04
+Native_address: bcebc
+Refc: 1
+=fun
+Module: global
+Uniq: 26353848
+Index: 13
+Address: 2654e8
+Native_address: bcf04
+Refc: 3
+=fun
+Module: global
+Uniq: 93414722
+Index: 11
+Address: 265568
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 11194189
+Index: 60
+Address: 34fe0c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: c
+Uniq: 125189992
+Index: 8
+Address: 2fffdc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 112472016
+Index: 2
+Address: 355088
+Native_address: bceec
+Refc: 1
+=fun
+Module: shell
+Uniq: 104426442
+Index: 5
+Address: 2e52e0
+Native_address: bceec
+Refc: 1
+=fun
+Module: global
+Uniq: 17426458
+Index: 0
+Address: 265bc4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 81191039
+Index: 5
+Address: 2ada48
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 71765042
+Index: 5
+Address: 284f74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 85855821
+Index: 2
+Address: 1fa298
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 70586122
+Index: 10
+Address: 4a3fe4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 87067911
+Index: 49
+Address: 34e708
+Native_address: bcef4
+Refc: 1
+=fun
+Module: distel
+Uniq: 63126735
+Index: 1
+Address: 35c0fc
+Native_address: bcf04
+Refc: 1
+=fun
+Module: c
+Uniq: 58270309
+Index: 1
+Address: 3000e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: ets
+Uniq: 80538457
+Index: 1
+Address: 2bc1a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 69827241
+Index: 9
+Address: 34fd70
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 103968752
+Index: 3
+Address: 355054
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 117175573
+Index: 21
+Address: 34f728
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 57865450
+Index: 2
+Address: 2e537c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 14705965
+Index: 20
+Address: 313b80
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 85360931
+Index: 6
+Address: 4ab56c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: kernel_config
+Uniq: 41755598
+Index: 0
+Address: 2d9e20
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 7110547
+Index: 37
+Address: 34ef14
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 28091577
+Index: 16
+Address: 234244
+Native_address: bcef4
+Refc: 2
+=fun
+Module: code_server
+Uniq: 96448152
+Index: 14
+Address: 2ad4e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 40177568
+Index: 13
+Address: 4a39a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 31948320
+Index: 58
+Address: 34dfdc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global
+Uniq: 54153760
+Index: 7
+Address: 265854
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 60156260
+Index: 3
+Address: 5262b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 1010616
+Index: 2
+Address: 350064
+Native_address: bcef4
+Refc: 1
+=fun
+Module: init
+Uniq: 96784459
+Index: 1
+Address: 1fa2b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 48691771
+Index: 18
+Address: 313bb8
+Native_address: bced4
+Refc: 1
+=fun
+Module: global
+Uniq: 26895060
+Index: 9
+Address: 265710
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 109625093
+Index: 7
+Address: 2ad8fc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 59436171
+Index: 1
+Address: 3500dc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 92768306
+Index: 9
+Address: 354f04
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 106430008
+Index: 3
+Address: 292b38
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 79749196
+Index: 6
+Address: 1fa01c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 6014929
+Index: 9
+Address: 2fa324
+Native_address: bceac
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 57051922
+Index: 7
+Address: 234a28
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 77043468
+Index: 6
+Address: 29e8e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 36176045
+Index: 9
+Address: 52620c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 35862809
+Index: 3
+Address: 255edc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 113649451
+Index: 4
+Address: 2850a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 67943969
+Index: 5
+Address: 2658f4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 109003032
+Index: 16
+Address: 5260d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 104711447
+Index: 13
+Address: 525f5c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 107666872
+Index: 9
+Address: 27cfb0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 89410000
+Index: 10
+Address: 5261f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 47356870
+Index: 11
+Address: 284ab4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 17873449
+Index: 56
+Address: 34e1e8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 8839441
+Index: 33
+Address: 34f25c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 82513204
+Index: 2
+Address: 222c18
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_master
+Uniq: 5973059
+Index: 0
+Address: 24ab7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_gethost_native
+Uniq: 127832132
+Index: 0
+Address: 4b065c
+Native_address: bcefc
+Refc: 2
+=fun
+Module: crashdump_viewer_html
+Uniq: 39322658
+Index: 14
+Address: 525f40
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_server
+Uniq: 100284021
+Index: 0
+Address: 23d288
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 17430070
+Index: 12
+Address: 284a98
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 97509773
+Index: 3
+Address: 1fa27c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: distel
+Uniq: 32364818
+Index: 3
+Address: 35c050
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 58576084
+Index: 32
+Address: 313a4c
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 38384851
+Index: 14
+Address: 4a3988
+Native_address: bceec
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 14139883
+Index: 4
+Address: 234d78
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 122590256
+Index: 0
+Address: 2fa8b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 14705629
+Index: 11
+Address: 2fa22c
+Native_address: bcedc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 9273769
+Index: 4
+Address: 2fa684
+Native_address: bcee4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 87950142
+Index: 11
+Address: 5261d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 54913678
+Index: 1
+Address: 4fc6b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 28370334
+Index: 0
+Address: 26e4b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 24927227
+Index: 40
+Address: 34ed4c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 105437500
+Index: 33
+Address: 313a30
+Native_address: bced4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 10921695
+Index: 1
+Address: 234eac
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 112431564
+Index: 55
+Address: 34e22c
+Native_address: bceec
+Refc: 1
+=fun
+Module: webtool
+Uniq: 129460863
+Index: 5
+Address: 4ab5c4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 89001648
+Index: 3
+Address: 27d2ec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 36199507
+Index: 8
+Address: 27cfe4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 35620771
+Index: 2
+Address: 5262ec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 83214871
+Index: 18
+Address: 2f9e34
+Native_address: bceec
+Refc: 1
+=fun
+Module: code_server
+Uniq: 122455383
+Index: 1
+Address: 2adc0c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 22389488
+Index: 31
+Address: 34f1b8
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 41869059
+Index: 12
+Address: 2fa1d4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 18130505
+Index: 45
+Address: 34e904
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 107414126
+Index: 1
+Address: 2b706c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 116638945
+Index: 28
+Address: 2f98f8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 48465762
+Index: 9
+Address: 2348c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_request_handler
+Uniq: 87633852
+Index: 0
+Address: 50e97c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 28213098
+Index: 8
+Address: 4ab42c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 123630574
+Index: 4
+Address: 222b58
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 127425508
+Index: 13
+Address: 354eb4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 95048118
+Index: 16
+Address: 2ad46c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 108661978
+Index: 19
+Address: 34f75c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 21272619
+Index: 13
+Address: 34fad8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 29943747
+Index: 17
+Address: 313bf0
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 120240397
+Index: 4
+Address: 313d94
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 124060676
+Index: 0
+Address: 350124
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 100975346
+Index: 6
+Address: 526260
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61421476
+Index: 4
+Address: 2ada9c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 45197232
+Index: 7
+Address: 34fe5c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 3151900
+Index: 15
+Address: 525f24
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 77509245
+Index: 2
+Address: 4b5e2c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 94110229
+Index: 8
+Address: 2ad7e4
+Native_address: bcef4
+Refc: 3
+=fun
+Module: rpc
+Uniq: 101217130
+Index: 1
+Address: 2560c4
+Native_address: bcf04
+Refc: 1
+=fun
+Module: lists
+Uniq: 103647452
+Index: 0
+Address: 244b7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 37841211
+Index: 9
+Address: 2ad77c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 40109251
+Index: 54
+Address: 34e2b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: init
+Uniq: 98012300
+Index: 0
+Address: 1fa2d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 73604759
+Index: 10
+Address: 4ab270
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 12042434
+Index: 1
+Address: 313d40
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 127137775
+Index: 4
+Address: 2e531c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet
+Uniq: 45498037
+Index: 12
+Address: 27cec0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 122441107
+Index: 34
+Address: 34f1d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 70933889
+Index: 46
+Address: 34e8d0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet
+Uniq: 69850797
+Index: 2
+Address: 27d308
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 103965539
+Index: 13
+Address: 234684
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 29979659
+Index: 30
+Address: 313a84
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 17148721
+Index: 20
+Address: 34f778
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_response
+Uniq: 100673049
+Index: 0
+Address: 5165dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_gethost_native
+Uniq: 10508176
+Index: 1
+Address: 4b04dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32476064
+Index: 57
+Address: 34e1c4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 74835078
+Index: 9
+Address: 313cec
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 60689814
+Index: 19
+Address: 4a3b78
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 39269715
+Index: 5
+Address: 34ff14
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 112923172
+Index: 0
+Address: 2e5404
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 43010824
+Index: 14
+Address: 2fa03c
+Native_address: bce8c
+Refc: 1
+=fun
+Module: global
+Uniq: 82495254
+Index: 3
+Address: 265ac8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 48568081
+Index: 8
+Address: 2e5220
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 77236637
+Index: 7
+Address: 1fa000
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 109386574
+Index: 1
+Address: 2fa804
+Native_address: bce9c
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 42613220
+Index: 14
+Address: 34f980
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 67093144
+Index: 23
+Address: 313b64
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 86833790
+Index: 11
+Address: 34fbe8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 6344855
+Index: 1
+Address: 29eabc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 5149749
+Index: 35
+Address: 34f220
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 93451769
+Index: 5
+Address: 1fa120
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 117428568
+Index: 11
+Address: 234758
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 15225890
+Index: 4
+Address: 526298
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 120760477
+Index: 2
+Address: 234cdc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 88561919
+Index: 3
+Address: 3000ac
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 108931174
+Index: 8
+Address: 313cb4
+Native_address: bced4
+Refc: 1
+=fun
+Module: rpc
+Uniq: 122901192
+Index: 4
+Address: 255e44
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32985930
+Index: 10
+Address: 34fc40
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global_group
+Uniq: 97968498
+Index: 1
+Address: 292b7c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 45671671
+Index: 18
+Address: 4a32d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 117968056
+Index: 3
+Address: 2fa6ec
+Native_address: bcecc
+Refc: 1
+=fun
+Module: init
+Uniq: 108717591
+Index: 4
+Address: 1fa194
+Native_address: bcf04
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 15091954
+Index: 2
+Address: 2526dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 65707495
+Index: 6
+Address: 2658a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 34473969
+Index: 17
+Address: 2ad450
+Native_address: bcef4
+Refc: 2
+=fun
+Module: crashdump_viewer_html
+Uniq: 124296602
+Index: 7
+Address: 526244
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 23074707
+Index: 15
+Address: 265460
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 25972856
+Index: 10
+Address: 27cf74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 43110452
+Index: 24
+Address: 2f9ad4
+Native_address: bceec
+Refc: 1
+=fun
+Module: code_server
+Uniq: 106445918
+Index: 13
+Address: 2ad660
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 116071286
+Index: 12
+Address: 5261b8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 130814477
+Index: 8
+Address: 284cfc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 121017037
+Index: 39
+Address: 34ed80
+Native_address: bcef4
+Refc: 1
+=fun
+Module: ets
+Uniq: 104895267
+Index: 0
+Address: 2bc1bc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 104682437
+Index: 11
+Address: 4a3de0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 70248777
+Index: 30
+Address: 34f30c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 13274975
+Index: 5
+Address: 300074
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 98442771
+Index: 53
+Address: 34e2d0
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 69829006
+Index: 7
+Address: 2fa47c
+Native_address: bce80
+Refc: 1
+=fun
+Module: old_file_server
+Uniq: 36444943
+Index: 1
+Address: 2a1a80
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 58719455
+Index: 26
+Address: 34f5f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: timer
+Uniq: 42505885
+Index: 0
+Address: 4cd62c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54682479
+Index: 20
+Address: 2f9d08
+Native_address: bcf04
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 86070332
+Index: 1
+Address: 222d7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 54728136
+Index: 9
+Address: 2fff68
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 16474219
+Index: 3
+Address: 234c60
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 108831556
+Index: 10
+Address: 234810
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 72053761
+Index: 16
+Address: 34f8ec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 65127616
+Index: 2
+Address: 29ea04
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 126167637
+Index: 14
+Address: 234640
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 113704917
+Index: 0
+Address: 285788
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_disk_log
+Uniq: 75279647
+Index: 1
+Address: 500100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 119218247
+Index: 5
+Address: 26df68
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 85690044
+Index: 4
+Address: 4b5d6c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 53075592
+Index: 1
+Address: 26e16c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 39490182
+Index: 2
+Address: 3000c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 75189006
+Index: 12
+Address: 234714
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 14980808
+Index: 43
+Address: 34eb38
+Native_address: bceec
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 16463468
+Index: 4
+Address: 4a4914
+Native_address: bcee4
+Refc: 1
+=fun
+Module: dict
+Uniq: 99965326
+Index: 4
+Address: 355020
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 36900786
+Index: 6
+Address: 284f3c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 45447147
+Index: 18
+Address: 34f794
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32353825
+Index: 6
+Address: 34fe78
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 134052338
+Index: 8
+Address: 34fdc0
+Native_address: bceec
+Refc: 1
+=fun
+Module: application_master
+Uniq: 23840924
+Index: 1
+Address: 24aae0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108282500
+Index: 1
+Address: 4ab918
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_prim_loader
+Uniq: 31081110
+Index: 0
+Address: 210c68
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54275742
+Index: 26
+Address: 2f9a4c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 45083091
+Index: 3
+Address: 2e5350
+Native_address: bcf04
+Refc: 3
+=proc_stack:<0.0.0>
+3a48bc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H371264
+=proc_heap:<0.0.0>
+371264:t9:A5:state,H3710D8,N,N,H3710F4,P<0.1.0>,H37128C,H3710FC,N
+3710FC:t2:H371138,H371140
+371140:lI80|H371194
+371194:lI49|H3711E0
+3711E0:lI48|H371204
+371204:lI66|N
+371138:lI79|H37118C
+37118C:lI84|H3711D8
+3711D8:lI80|H3711FC
+3711FC:lI32|H37120C
+37120C:lI32|H371214
+371214:lI65|H37121C
+37121C:lI80|H371224
+371224:lI78|H37122C
+37122C:lI32|H371234
+371234:lI49|H37123C
+37123C:lI56|H371244
+371244:lI49|H37124C
+37124C:lI32|H371254
+371254:lI48|H37125C
+37125C:lI49|N
+37128C:t2:A7:started,A7:started
+3710F4:lH371124|H371130
+371124:t2:A16:application_controller,P<0.5.0>
+371130:lH371178|H371184
+371178:t2:AC:error_logger,P<0.4.0>
+371184:lH3711CC|N
+3711CC:t2:AF:erl_prim_loader,P<0.2.0>
+3710D8:lH3710E0|H3710EC
+3710E0:t2:A5:-root,H371108
+371108:lH371148|N
+371148:Yh13:2F636C656172636173652F6F74702F65727473
+3710EC:lH371110|H37111C
+371110:t2:A9:-progname,H371164
+371164:lH37119C|N
+37119C:Yh1D:2F636C656172636173652F6F74702F657274732F62696E2F6365726C20
+37111C:lH37116C|N
+37116C:t2:A5:-home,H3711C4
+3711C4:lH3711E8|N
+3711E8:YhA:2F686F6D652F73697269
+=proc_stack:<0.2.0>
+38eca8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H367D20
+y1:P<0.1.0>
+y2:H367D28
+y3:A8:infinity
+=proc_heap:<0.2.0>
+367D20:lH367D48|H367D50
+367D48:lI47|H367D58
+367D58:lI99|H367D68
+367D68:lI108|H367D78
+367D78:lI101|H367D88
+367D88:lI97|H367D98
+367D98:lI114|H367DA8
+367DA8:lI99|H367DB8
+367DB8:lI97|H367DC8
+367DC8:lI115|H367DD8
+367DD8:lI101|H367DE8
+367DE8:lI47|H367DF8
+367DF8:lI111|H367E08
+367E08:lI116|H367E18
+367E18:lI112|H367E28
+367E28:lI47|H367E38
+367E38:lI101|H367E48
+367E48:lI114|H367E58
+367E58:lI116|H367E68
+367E68:lI115|H367E78
+367E78:lI47|H367E88
+367E88:lI108|H367E98
+367E98:lI105|H367EA8
+367EA8:lI98|H367EB8
+367EB8:lI47|H367EC8
+367EC8:lI107|H367ED8
+367ED8:lI101|H367EE8
+367EE8:lI114|H367EF8
+367EF8:lI110|H367F08
+367F08:lI101|H367F18
+367F18:lI108|H367F28
+367F28:lI47|H367F38
+367F38:lI101|H367F48
+367F48:lI98|H367F58
+367F58:lI105|H367F68
+367F68:lI110|N
+367D50:lH367D60|N
+367D60:lI47|H367D70
+367D70:lI99|H367D80
+367D80:lI108|H367D90
+367D90:lI101|H367DA0
+367DA0:lI97|H367DB0
+367DB0:lI114|H367DC0
+367DC0:lI99|H367DD0
+367DD0:lI97|H367DE0
+367DE0:lI115|H367DF0
+367DF0:lI101|H367E00
+367E00:lI47|H367E10
+367E10:lI111|H367E20
+367E20:lI116|H367E30
+367E30:lI112|H367E40
+367E40:lI47|H367E50
+367E50:lI101|H367E60
+367E60:lI114|H367E70
+367E70:lI116|H367E80
+367E80:lI115|H367E90
+367E90:lI47|H367EA0
+367EA0:lI108|H367EB0
+367EB0:lI105|H367EC0
+367EC0:lI98|H367ED0
+367ED0:lI47|H367EE0
+367EE0:lI115|H367EF0
+367EF0:lI116|H367F00
+367F00:lI100|H367F10
+367F10:lI108|H367F20
+367F20:lI105|H367F30
+367F30:lI98|H367F40
+367F40:lI47|H367F50
+367F50:lI101|H367F60
+367F60:lI98|H367F70
+367F70:lI105|H367F78
+367F78:lI110|N
+367D28:t7:A5:state,A5:efile,N,A4:none,p<0.2>,A8:infinity,A5:false
+=proc_dictionary:<0.4.0>
+H3AC588
+H3AC594
+=proc_stack:<0.4.0>
+3b2f14:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:H3B21E8
+y2:AC:error_logger
+y3:P<0.1.0>
+3b2f28:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3AC5A8
+=proc_heap:<0.4.0>
+3B21E8:lH3B2144|H3B21E0
+3B2144:t5:A7:handler,AC:error_logger,A5:false,N,A5:false
+3B21E0:lH3B21BC|N
+3B21BC:t5:A7:handler,A12:error_logger_tty_h,A5:false,H3AC610,A5:false
+3AC610:t2:P<0.21.0>,AC:error_logger
+3AC5A8:lA9:gen_event|H3AC5E8
+3AC5E8:lP<0.1.0>|H3AC608
+3AC608:lP<0.1.0>|H3AC61C
+3AC61C:lH3AC624|H3AC630
+3AC624:t2:A5:local,AC:error_logger
+3AC630:lN|H3AC638
+3AC638:lN|H3AC640
+3AC640:lN|N
+3AC588:t2:AD:$initial_call,H3AC5B0
+3AC5B0:t3:A3:gen,A7:init_it,H3AC5A8
+3AC594:t2:AA:$ancestors,H3AC5C0
+3AC5C0:lP<0.1.0>|N
+=proc_dictionary:<0.5.0>
+H372E4C
+H372E58
+=proc_stack:<0.5.0>
+374704:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A16:application_controller
+y3:H3739F4
+y4:A16:application_controller
+y5:P<0.1.0>
+374720:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H372ED0
+=proc_heap:<0.5.0>
+3739F4:t9:A5:state,N,N,N,H373914,N,H373928,N,N
+373928:lH37391C|H372F54
+37391C:t2:A6:stdlib,A9:permanent
+372F54:lH372F90|N
+372F90:t2:A6:kernel,A9:permanent
+373914:lH373908|H372F4C
+373908:t2:A6:stdlib,A9:undefined
+372F4C:lH372F84|N
+372F84:t2:A6:kernel,P<0.7.0>
+372ED0:lAA:gen_server|H372F5C
+372F5C:lP<0.1.0>|H372F9C
+372F9C:lP<0.1.0>|H372FC4
+372FC4:lH372FEC|H372FF8
+372FEC:t2:A5:local,A16:application_controller
+372FF8:lA16:application_controller|H373018
+373018:lH373038|H373048
+373038:t3:AB:application,A6:kernel,H373060
+373060:lH373078|H373084
+373078:t2:AB:description,H37309C
+37309C:lI69|H3730C8
+3730C8:lI82|H3730FC
+3730FC:lI84|H373130
+373130:lI83|H37316C
+37316C:lI32|H3731A8
+3731A8:lI32|H3731E4
+3731E4:lI67|H373220
+373220:lI88|H37325C
+37325C:lI67|H37329C
+37329C:lI32|H3732D0
+3732D0:lI49|H3732FC
+3732FC:lI51|H373328
+373328:lI56|H373348
+373348:lI32|H373368
+373368:lI49|H373388
+373388:lI48|N
+373084:lH3730A4|H3730B0
+3730A4:t2:A3:vsn,H3730D0
+3730D0:lI50|H373104
+373104:lI46|H373138
+373138:lI57|N
+3730B0:lH3730D8|H3730E4
+3730D8:t2:A2:id,N
+3730E4:lH37310C|H373118
+37310C:t2:A7:modules,H373140
+373140:lAB:application|H373174
+373174:lA16:application_controller|H3731B0
+3731B0:lA12:application_master|H3731EC
+3731EC:lA13:application_starter|H373228
+373228:lA4:auth|H373264
+373264:lA4:code|H3732A4
+3732A4:lA8:code_aux|H3732D8
+3732D8:lA8:packages|H373304
+373304:lAB:code_server|H373330
+373330:lA9:dist_util|H373350
+373350:lAF:erl_boot_server|H373370
+373370:lA10:erl_distribution|H373390
+373390:lAF:erl_prim_loader|H3733A8
+3733A8:lA9:erl_reply|H3733C0
+3733C0:lA6:erlang|H3733D8
+3733D8:lAD:error_handler|H3733F0
+3733F0:lAC:error_logger|H373408
+373408:lA4:file|H373420
+373420:lAB:file_server|H373438
+373438:lAF:old_file_server|H373450
+373450:lAE:file_io_server|H373468
+373468:lA9:prim_file|H373480
+373480:lA6:global|H373498
+373498:lAC:global_group|H3734B0
+3734B0:lAD:global_search|H3734C8
+3734C8:lA5:group|H3734E0
+3734E0:lA5:heart|H3734F8
+3734F8:lA13:hipe_unified_loader|H373510
+373510:lA11:hipe_sparc_loader|H373520
+373520:lAF:hipe_x86_loader|H373530
+373530:lA9:inet6_tcp|H373540
+373540:lAE:inet6_tcp_dist|H373550
+373550:lA9:inet6_udp|H373560
+373560:lAB:inet_config|H373570
+373570:lAA:inet_hosts|H373580
+373580:lA13:inet_gethost_native|H373590
+373590:lAD:inet_tcp_dist|H3735A0
+3735A0:lA4:init|H3735B0
+3735B0:lA6:kernel|H3735C0
+3735C0:lAD:kernel_config|H3735D0
+3735D0:lA3:net|H3735E0
+3735E0:lA7:net_adm|H3735F0
+3735F0:lAA:net_kernel|H373600
+373600:lA2:os|H373610
+373610:lA8:ram_file|H373620
+373620:lA3:rpc|H373630
+373630:lA4:user|H373640
+373640:lA8:user_drv|H373650
+373650:lA8:user_sup|H373660
+373660:lA8:disk_log|H373670
+373670:lAA:disk_log_1|H373680
+373680:lAF:disk_log_server|H373690
+373690:lAC:disk_log_sup|H3736A0
+3736A0:lA7:dist_ac|H3736B0
+3736B0:lA8:erl_ddll|H3736C0
+3736C0:lA8:erl_epmd|H3736D0
+3736D0:lAA:erts_debug|H3736E0
+3736E0:lA7:gen_tcp|H3736F0
+3736F0:lA7:gen_udp|H373700
+373700:lA9:prim_inet|H373708
+373708:lA4:inet|H373710
+373710:lA7:inet_db|H373718
+373718:lA8:inet_dns|H373720
+373720:lAA:inet_parse|H373728
+373728:lA8:inet_res|H373730
+373730:lA8:inet_tcp|H373738
+373738:lA8:inet_udp|H373740
+373740:lA3:pg2|H373748
+373748:lA9:seq_trace|H373750
+373750:lA6:socks5|H373758
+373758:lAB:socks5_auth|H373760
+373760:lAA:socks5_tcp|H373768
+373768:lAA:socks5_udp|H373770
+373770:lAF:wrap_log_reader|H373778
+373778:lA4:zlib|H373780
+373780:lA9:otp_ring0|N
+373118:lH373148|H373154
+373148:t2:AA:registered,H37317C
+37317C:lA16:application_controller|H3731B8
+3731B8:lA9:erl_reply|H3731F4
+3731F4:lA4:auth|H373230
+373230:lAB:boot_server|H37326C
+37326C:lAB:code_server|H3732AC
+3732AC:lAF:disk_log_server|H3732E0
+3732E0:lAC:disk_log_sup|H37330C
+37330C:lAF:erl_prim_loader|H373338
+373338:lAC:error_logger|H373358
+373358:lAB:file_server|H373378
+373378:lAD:file_server_2|H373398
+373398:lAF:fixtable_server|H3733B0
+3733B0:lAC:global_group|H3733C8
+3733C8:lA12:global_name_server|H3733E0
+3733E0:lA5:heart|H3733F8
+3733F8:lA4:init|H373410
+373410:lAD:kernel_config|H373428
+373428:lAA:kernel_sup|H373440
+373440:lAA:net_kernel|H373458
+373458:lA7:net_sup|H373470
+373470:lA3:rex|H373488
+373488:lA4:user|H3734A0
+3734A0:lA9:os_server|H3734B8
+3734B8:lAB:ddll_server|H3734D0
+3734D0:lA8:erl_epmd|H3734E8
+3734E8:lA7:inet_db|H373500
+373500:lA3:pg2|N
+373154:lH373184|H373190
+373184:t2:AC:applications,N
+373190:lH3731C0|H3731CC
+3731C0:t2:A15:included_applications,N
+3731CC:lH3731FC|H373208
+3731FC:t2:A3:env,H373238
+373238:lH373274|N
+373274:t2:AC:error_logger,A3:tty
+373208:lH373240|H37324C
+373240:t2:AC:start_phases,A9:undefined
+37324C:lH373280|H37328C
+373280:t2:A4:maxT,A8:infinity
+37328C:lH3732B4|H3732C0
+3732B4:t2:A4:maxP,A8:infinity
+3732C0:lH3732E8|N
+3732E8:t2:A3:mod,H373314
+373314:t2:A6:kernel,N
+373048:lN|N
+372E4C:t2:AD:$initial_call,H372EE4
+372EE4:t3:A3:gen,A7:init_it,H372ED0
+372E58:t2:AA:$ancestors,H372EF4
+372EF4:lP<0.1.0>|N
+=proc_dictionary:<0.7.0>
+H369B78
+H369B5C
+=proc_stack:<0.7.0>
+369d64:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:H369C2C
+y1:P<0.5.0>
+369d70:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A12:application_master
+y2:A4:init
+y3:H369B2C
+=proc_heap:<0.7.0>
+369C2C:t6:A5:state,P<0.8.0>,H3697B0,N,I0,P<0.0.0>
+3697B0:t9:A9:appl_data,A6:kernel,H369B14,A9:undefined,H3697D8,H369A3C,N,A8:infinity,A8:infinity
+369A3C:lAB:application|H369A34
+369A34:lA16:application_controller|H369A2C
+369A2C:lA12:application_master|H369A24
+369A24:lA13:application_starter|H369A1C
+369A1C:lA4:auth|H369A14
+369A14:lA4:code|H369A0C
+369A0C:lA8:code_aux|H369A04
+369A04:lA8:packages|H3699FC
+3699FC:lAB:code_server|H3699F4
+3699F4:lA9:dist_util|H3699EC
+3699EC:lAF:erl_boot_server|H3699E4
+3699E4:lA10:erl_distribution|H3699DC
+3699DC:lAF:erl_prim_loader|H3699D4
+3699D4:lA9:erl_reply|H3699CC
+3699CC:lA6:erlang|H3699C4
+3699C4:lAD:error_handler|H3699BC
+3699BC:lAC:error_logger|H3699B4
+3699B4:lA4:file|H3699AC
+3699AC:lAB:file_server|H3699A4
+3699A4:lAF:old_file_server|H36999C
+36999C:lAE:file_io_server|H369994
+369994:lA9:prim_file|H36998C
+36998C:lA6:global|H369984
+369984:lAC:global_group|H36997C
+36997C:lAD:global_search|H369974
+369974:lA5:group|H36996C
+36996C:lA5:heart|H369964
+369964:lA13:hipe_unified_loader|H36995C
+36995C:lA11:hipe_sparc_loader|H369954
+369954:lAF:hipe_x86_loader|H36994C
+36994C:lA9:inet6_tcp|H369944
+369944:lAE:inet6_tcp_dist|H36993C
+36993C:lA9:inet6_udp|H369934
+369934:lAB:inet_config|H36992C
+36992C:lAA:inet_hosts|H369924
+369924:lA13:inet_gethost_native|H36991C
+36991C:lAD:inet_tcp_dist|H369914
+369914:lA4:init|H36990C
+36990C:lA6:kernel|H369904
+369904:lAD:kernel_config|H3698FC
+3698FC:lA3:net|H3698F4
+3698F4:lA7:net_adm|H3698EC
+3698EC:lAA:net_kernel|H3698E4
+3698E4:lA2:os|H3698DC
+3698DC:lA8:ram_file|H3698D4
+3698D4:lA3:rpc|H3698CC
+3698CC:lA4:user|H3698C4
+3698C4:lA8:user_drv|H3698BC
+3698BC:lA8:user_sup|H3698B4
+3698B4:lA8:disk_log|H3698AC
+3698AC:lAA:disk_log_1|H3698A4
+3698A4:lAF:disk_log_server|H36989C
+36989C:lAC:disk_log_sup|H369894
+369894:lA7:dist_ac|H36988C
+36988C:lA8:erl_ddll|H369884
+369884:lA8:erl_epmd|H36987C
+36987C:lAA:erts_debug|H369874
+369874:lA7:gen_tcp|H36986C
+36986C:lA7:gen_udp|H369864
+369864:lA9:prim_inet|H36985C
+36985C:lA4:inet|H369854
+369854:lA7:inet_db|H36984C
+36984C:lA8:inet_dns|H369844
+369844:lAA:inet_parse|H36983C
+36983C:lA8:inet_res|H369834
+369834:lA8:inet_tcp|H36982C
+36982C:lA8:inet_udp|H369824
+369824:lA3:pg2|H36981C
+36981C:lA9:seq_trace|H369814
+369814:lA6:socks5|H36980C
+36980C:lAB:socks5_auth|H369804
+369804:lAA:socks5_tcp|H3697FC
+3697FC:lAA:socks5_udp|H3697F4
+3697F4:lAF:wrap_log_reader|H3697EC
+3697EC:lA4:zlib|H3697E4
+3697E4:lA9:otp_ring0|N
+3697D8:t2:A6:kernel,N
+369B14:lA16:application_controller|H369B0C
+369B0C:lA9:erl_reply|H369B04
+369B04:lA4:auth|H369AFC
+369AFC:lAB:boot_server|H369AF4
+369AF4:lAB:code_server|H369AEC
+369AEC:lAF:disk_log_server|H369AE4
+369AE4:lAC:disk_log_sup|H369ADC
+369ADC:lAF:erl_prim_loader|H369AD4
+369AD4:lAC:error_logger|H369ACC
+369ACC:lAB:file_server|H369AC4
+369AC4:lAD:file_server_2|H369ABC
+369ABC:lAF:fixtable_server|H369AB4
+369AB4:lAC:global_group|H369AAC
+369AAC:lA12:global_name_server|H369AA4
+369AA4:lA5:heart|H369A9C
+369A9C:lA4:init|H369A94
+369A94:lAD:kernel_config|H369A8C
+369A8C:lAA:kernel_sup|H369A84
+369A84:lAA:net_kernel|H369A7C
+369A7C:lA7:net_sup|H369A74
+369A74:lA3:rex|H369A6C
+369A6C:lA4:user|H369A64
+369A64:lA9:os_server|H369A5C
+369A5C:lAB:ddll_server|H369A54
+369A54:lA8:erl_epmd|H369A4C
+369A4C:lA7:inet_db|H369A44
+369A44:lA3:pg2|N
+369B2C:lP<0.5.0>|H369B24
+369B24:lP<0.6.0>|H3697A8
+3697A8:lH3697B0|H369B1C
+369B1C:lA6:normal|N
+369B78:t2:AD:$initial_call,H369B68
+369B68:t3:A12:application_master,A4:init,H369B2C
+369B5C:t2:AA:$ancestors,H369B54
+369B54:lP<0.6.0>|N
+=proc_stack:<0.8.0>
+384ec0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H384BDC
+y1:A6:kernel
+y2:P<0.9.0>
+y3:P<0.7.0>
+=proc_heap:<0.8.0>
+384BDC:t2:A5:state,A3:tty
+=proc_dictionary:<0.9.0>
+H376850
+H37685C
+=proc_stack:<0.9.0>
+36bde8:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36B8E8
+y4:AA:kernel_sup
+y5:P<0.8.0>
+36be04:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3768D4
+=proc_heap:<0.9.0>
+36B8E8:tA:A5:state,H376868,AB:one_for_all,H36B8D4,N,I0,I1,N,A6:kernel,N
+36B8D4:lH36B8B0|H36B6E8
+36B8B0:t8:A5:child,P<0.24.0>,AF:kernel_safe_sup,H376BF0,A9:permanent,A8:infinity,AA:supervisor,H376C00
+376C00:lA6:kernel|N
+376BF0:t3:AA:supervisor,AA:start_link,H376C08
+376C08:lH376C10|H376C1C
+376C10:t2:A5:local,AF:kernel_safe_sup
+376C1C:lA6:kernel|H376C24
+376C24:lA4:safe|N
+36B6E8:lH36B6C4|H36B490
+36B6C4:t8:A5:child,P<0.23.0>,AD:kernel_config,H376BB4,A9:permanent,I2000,A6:worker,H376BC4
+376BC4:lAD:kernel_config|N
+376BB4:t3:AD:kernel_config,AA:start_link,N
+36B490:lH36B498|H36B4BC
+36B498:t8:A5:child,P<0.19.0>,A4:user,H376B70,A9:temporary,I2000,AA:supervisor,H376B80
+376B80:lA8:user_sup|N
+376B70:t3:A8:user_sup,A5:start,N
+36B4BC:lH36B4C4|H376CB0
+36B4C4:t8:A5:child,P<0.18.0>,AB:code_server,H376B0C,A9:permanent,I2000,A6:worker,H376B1C
+376B1C:lA4:code|N
+376B0C:t3:A4:code,AA:start_link,N
+376CB0:lH376CB8|H376CDC
+376CB8:t8:A5:child,P<0.17.0>,AB:file_server,H376AB8,A9:permanent,I2000,A6:worker,H376AC8
+376AC8:lAF:old_file_server|N
+376AB8:t3:AF:old_file_server,AA:start_link,N
+376CDC:lH376CE4|H376C2C
+376CE4:t8:A5:child,P<0.16.0>,AD:file_server_2,H376A58,A9:permanent,I2000,A6:worker,H376A68
+376A68:lA4:file|H376AB0
+376AB0:lAB:file_server|H376B04
+376B04:lAE:file_io_server|H376B68
+376B68:lA9:prim_file|N
+376A58:t3:AB:file_server,AA:start_link,N
+376C2C:lH376C34|H376C58
+376C34:t8:A5:child,P<0.15.0>,AC:global_group,H3769F4,A9:permanent,I2000,A6:worker,H376A04
+376A04:lAC:global_group|N
+3769F4:t3:AC:global_group,AA:start_link,N
+376C58:lH376C60|H376C84
+376C60:t8:A5:child,A9:undefined,A7:net_sup,H37696C,A9:permanent,A8:infinity,AA:supervisor,H37697C
+37697C:lA10:erl_distribution|N
+37696C:t3:A10:erl_distribution,AA:start_link,N
+376C84:lH376C8C|H3768A0
+376C8C:t8:A5:child,P<0.14.0>,A7:inet_db,H3768F4,A9:permanent,I2000,A6:worker,H376904
+376904:lA7:inet_db|N
+3768F4:t3:A7:inet_db,AA:start_link,N
+3768A0:lH376938|H37695C
+376938:t8:A5:child,P<0.11.0>,A12:global_name_server,H3769B0,A9:permanent,I2000,A6:worker,H3769C0
+3769C0:lA6:global|N
+3769B0:t3:A6:global,AA:start_link,N
+37695C:lH3769C8|N
+3769C8:t8:A5:child,P<0.10.0>,A3:rex,H376A38,A9:permanent,I2000,A6:worker,H376A48
+376A48:lA3:rpc|N
+376A38:t3:A3:rpc,AA:start_link,N
+376868:t2:A5:local,AA:kernel_sup
+3768D4:lAA:gen_server|H376964
+376964:lP<0.8.0>|H3769EC
+3769EC:lP<0.8.0>|H376A50
+376A50:lH376A9C|H376AA8
+376A9C:t2:A5:local,AA:kernel_sup
+376AA8:lAA:supervisor|H376AFC
+376AFC:lH376B50|H376B60
+376B50:t3:H376868,A6:kernel,N
+376B60:lN|N
+376850:t2:AD:$initial_call,H3768DC
+3768DC:t3:A3:gen,A7:init_it,H3768D4
+37685C:t2:AA:$ancestors,H3768EC
+3768EC:lP<0.8.0>|N
+=proc_dictionary:<0.10.0>
+H367A10
+H3679F4
+=proc_stack:<0.10.0>
+367cec:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A3:rpc
+y3:H367AA8
+y4:A3:rex
+y5:P<0.9.0>
+367d08:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3679C4
+=proc_heap:<0.10.0>
+367AA8:t2:I0,A3:nil
+3679C4:lAA:gen_server|H3679BC
+3679BC:lP<0.9.0>|H3679B4
+3679B4:lP<0.9.0>|H367988
+367988:lH367990|H3679AC
+367990:t2:A5:local,A3:rex
+3679AC:lA3:rpc|H3679A4
+3679A4:lN|H36799C
+36799C:lN|N
+367A10:t2:AD:$initial_call,H367A00
+367A00:t3:A3:gen,A7:init_it,H3679C4
+3679F4:t2:AA:$ancestors,H3679EC
+3679EC:lAA:kernel_sup|H3679CC
+3679CC:lP<0.8.0>|N
+=proc_dictionary:<0.11.0>
+H36ADD8
+H36ADBC
+=proc_stack:<0.11.0>
+36b0b4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A6:global
+y3:H36AF0C
+y4:A12:global_name_server
+y5:P<0.9.0>
+36b0d0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36AD8C
+=proc_heap:<0.11.0>
+36AF0C:t9:A5:state,A4:true,N,N,N,N,AD:nonode@nohost,P<0.12.0>,P<0.13.0>
+36AD8C:lAA:gen_server|H36AD84
+36AD84:lP<0.9.0>|H36AD7C
+36AD7C:lP<0.9.0>|H36AD50
+36AD50:lH36AD58|H36AD74
+36AD58:t2:A5:local,A12:global_name_server
+36AD74:lA6:global|H36AD6C
+36AD6C:lN|H36AD64
+36AD64:lN|N
+36ADD8:t2:AD:$initial_call,H36ADC8
+36ADC8:t3:A3:gen,A7:init_it,H36AD8C
+36ADBC:t2:AA:$ancestors,H36ADB4
+36ADB4:lAA:kernel_sup|H36AD94
+36AD94:lP<0.8.0>|N
+=proc_stack:<0.12.0>
+36921c:SReturn addr 0x261184 (global:init_the_locker/1 + 112)
+y0:N
+y1:N
+y2:N
+y3:N
+y4:N
+y5:N
+y6:A8:infinity
+y7:H368EB0
+y8:P<0.11.0>
+369244:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+=proc_heap:<0.12.0>
+368EB0:t3:A5:multi,A9:undefined,N
+=proc_stack:<0.13.0>
+3695d0:SReturn addr 0x2651AC (global:loop_the_deleter/1 + 36)
+y0:A8:infinity
+y1:N
+y2:P<0.11.0>
+3695e0:SReturn addr 0x2654F8 (global:'-start_the_deleter/1-fun-0-'/1 + 20)
+y0:N
+y1:N
+y2:P<0.11.0>
+3695f0:SReturn addr 0x156F90 (<terminate process normally>)
+=proc_heap:<0.13.0>
+=proc_dictionary:<0.14.0>
+H36A998
+H36A9A4
+=proc_stack:<0.14.0>
+372e0c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A7:inet_db
+y3:H36A9B0
+y4:A7:inet_db
+y5:P<0.9.0>
+372e28:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36A9C8
+=proc_heap:<0.14.0>
+36A9B0:t5:A5:state,A7:inet_db,AA:inet_cache,AA:inet_hosts,H36A9E8
+36A9E8:E21:8372000364000D6E6F6E6F6465406E6F686F737400000000060000000000000000
+36A9C8:lAA:gen_server|H36A9F8
+36A9F8:lP<0.9.0>|H36AA08
+36AA08:lP<0.9.0>|H36AA10
+36AA10:lH36AA18|H36AA24
+36AA18:t2:A5:local,A7:inet_db
+36AA24:lA7:inet_db|H36AA2C
+36AA2C:lN|H36AA34
+36AA34:lN|N
+36A998:t2:AD:$initial_call,H36A9D0
+36A9D0:t3:A3:gen,A7:init_it,H36A9C8
+36A9A4:t2:AA:$ancestors,H36A9E0
+36A9E0:lAA:kernel_sup|H36AA00
+36AA00:lP<0.8.0>|N
+=proc_dictionary:<0.15.0>
+H372788
+H3727F8
+H37276C
+H37280C
+H372820
+=proc_stack:<0.15.0>
+372a64:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AC:global_group
+y3:H3728C8
+y4:AC:global_group
+y5:P<0.9.0>
+372a80:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37273C
+=proc_heap:<0.15.0>
+3728C8:tC:A5:state,A7:no_conf,A4:true,N,N,N,N,N,AD:nonode@nohost,N,A6:normal,A6:normal
+37273C:lAA:gen_server|H372734
+372734:lP<0.9.0>|H37272C
+37272C:lP<0.9.0>|H372700
+372700:lH372708|H372724
+372708:t2:A5:local,AC:global_group
+372724:lAC:global_group|H37271C
+37271C:lN|H372714
+372714:lN|N
+372788:t2:AD:$initial_call,H372778
+372778:t3:A3:gen,A7:init_it,H37273C
+3727F8:t2:A10:registered_names,H3727F0
+3727F0:lA9:undefined|N
+37276C:t2:AA:$ancestors,H372764
+372764:lAA:kernel_sup|H372744
+372744:lP<0.8.0>|N
+37280C:t2:A4:send,H372804
+372804:lA9:undefined|N
+372820:t2:AC:whereis_name,H372818
+372818:lA9:undefined|N
+=proc_dictionary:<0.16.0>
+H37B918
+H37B924
+=proc_stack:<0.16.0>
+3d303c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AB:file_server
+y3:p<0.4>
+y4:AD:file_server_2
+y5:P<0.9.0>
+3d3058:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37B930
+=proc_heap:<0.16.0>
+37B930:lAA:gen_server|H37B950
+37B950:lP<0.9.0>|H37B960
+37B960:lP<0.9.0>|H37B968
+37B968:lH37B970|H37B97C
+37B970:t2:A5:local,AD:file_server_2
+37B97C:lAB:file_server|H37B984
+37B984:lN|H37B98C
+37B98C:lN|N
+37B918:t2:AD:$initial_call,H37B938
+37B938:t3:A3:gen,A7:init_it,H37B930
+37B924:t2:AA:$ancestors,H37B948
+37B948:lAA:kernel_sup|H37B958
+37B958:lP<0.8.0>|N
+=proc_stack:<0.17.0>
+3763cc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H376084
+y1:P<0.16.0>
+y2:P<0.9.0>
+=proc_heap:<0.17.0>
+376084:E21:8372000364000D6E6F6E6F6465406E6F686F737400000000160000000000000000
+=proc_stack:<0.18.0>
+3b98e8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H38AE84
+y1:P<0.9.0>
+=proc_heap:<0.18.0>
+38AE84:t8:A5:state,P<0.9.0>,H3873BC,H38AEB8,I9,I10,A8:no_cache,AB:interactive
+38AEB8:lH3873D4|H38AEE0
+3873D4:lI46|N
+38AEE0:lH3873EC|H38AF10
+3873EC:lI47|H387404
+387404:lI99|H387424
+387424:lI108|H38744C
+38744C:lI101|H38747C
+38747C:lI97|H3874B4
+3874B4:lI114|H3874F4
+3874F4:lI99|H38753C
+38753C:lI97|H38758C
+38758C:lI115|H3875E4
+3875E4:lI101|H387644
+387644:lI47|H3876AC
+3876AC:lI111|H38771C
+38771C:lI116|H387794
+387794:lI112|H387814
+387814:lI47|H38789C
+38789C:lI101|H38792C
+38792C:lI114|H3879BC
+3879BC:lI116|H387A54
+387A54:lI115|H387AF4
+387AF4:lI47|H387B9C
+387B9C:lI108|H387C4C
+387C4C:lI105|H387D04
+387D04:lI98|H387DC4
+387DC4:lI47|H387E8C
+387E8C:lI107|H387F5C
+387F5C:lI101|H388034
+388034:lI114|H388114
+388114:lI110|H3881FC
+3881FC:lI101|H3882EC
+3882EC:lI108|H3883E4
+3883E4:lI47|H3884E4
+3884E4:lI101|H3885EC
+3885EC:lI98|H3886FC
+3886FC:lI105|H388814
+388814:lI110|N
+38AF10:lH38740C|H38AF48
+38740C:lI47|H38742C
+38742C:lI99|H387454
+387454:lI108|H387484
+387484:lI101|H3874BC
+3874BC:lI97|H3874FC
+3874FC:lI114|H387544
+387544:lI99|H387594
+387594:lI97|H3875EC
+3875EC:lI115|H38764C
+38764C:lI101|H3876B4
+3876B4:lI47|H387724
+387724:lI111|H38779C
+38779C:lI116|H38781C
+38781C:lI112|H3878A4
+3878A4:lI47|H387934
+387934:lI101|H3879C4
+3879C4:lI114|H387A5C
+387A5C:lI116|H387AFC
+387AFC:lI115|H387BA4
+387BA4:lI47|H387C54
+387C54:lI108|H387D0C
+387D0C:lI105|H387DCC
+387DCC:lI98|H387E94
+387E94:lI47|H387F64
+387F64:lI115|H38803C
+38803C:lI116|H38811C
+38811C:lI100|H388204
+388204:lI108|H3882F4
+3882F4:lI105|H3883EC
+3883EC:lI98|H3884EC
+3884EC:lI47|H3885F4
+3885F4:lI101|H388704
+388704:lI98|H38881C
+38881C:lI105|H38892C
+38892C:lI110|N
+38AF48:lH387434|H38AF70
+387434:lI47|H38745C
+38745C:lI99|H38748C
+38748C:lI108|H3874C4
+3874C4:lI101|H387504
+387504:lI97|H38754C
+38754C:lI114|H38759C
+38759C:lI99|H3875F4
+3875F4:lI97|H387654
+387654:lI115|H3876BC
+3876BC:lI101|H38772C
+38772C:lI47|H3877A4
+3877A4:lI111|H387824
+387824:lI116|H3878AC
+3878AC:lI112|H38793C
+38793C:lI47|H3879CC
+3879CC:lI101|H387A64
+387A64:lI114|H387B04
+387B04:lI116|H387BAC
+387BAC:lI115|H387C5C
+387C5C:lI47|H387D14
+387D14:lI108|H387DD4
+387DD4:lI105|H387E9C
+387E9C:lI98|H387F6C
+387F6C:lI47|H388044
+388044:lI119|H388124
+388124:lI101|H38820C
+38820C:lI98|H3882FC
+3882FC:lI116|H3883F4
+3883F4:lI111|H3884F4
+3884F4:lI111|H3885FC
+3885FC:lI108|H38870C
+38870C:lI47|H388824
+388824:lI101|H388934
+388934:lI98|H388A44
+388A44:lI105|H388B54
+388B54:lI110|N
+38AF70:lH387464|H38AF98
+387464:lI47|H387494
+387494:lI99|H3874CC
+3874CC:lI108|H38750C
+38750C:lI101|H387554
+387554:lI97|H3875A4
+3875A4:lI114|H3875FC
+3875FC:lI99|H38765C
+38765C:lI97|H3876C4
+3876C4:lI115|H387734
+387734:lI101|H3877AC
+3877AC:lI47|H38782C
+38782C:lI111|H3878B4
+3878B4:lI116|H387944
+387944:lI112|H3879D4
+3879D4:lI47|H387A6C
+387A6C:lI101|H387B0C
+387B0C:lI114|H387BB4
+387BB4:lI116|H387C64
+387C64:lI115|H387D1C
+387D1C:lI47|H387DDC
+387DDC:lI108|H387EA4
+387EA4:lI105|H387F74
+387F74:lI98|H38804C
+38804C:lI47|H38812C
+38812C:lI116|H388214
+388214:lI118|H388304
+388304:lI47|H3883FC
+3883FC:lI101|H3884FC
+3884FC:lI98|H388604
+388604:lI105|H388714
+388714:lI110|N
+38AF98:lH38749C|H38AFC0
+38749C:lI47|H3874D4
+3874D4:lI99|H387514
+387514:lI108|H38755C
+38755C:lI101|H3875AC
+3875AC:lI97|H387604
+387604:lI114|H387664
+387664:lI99|H3876CC
+3876CC:lI97|H38773C
+38773C:lI115|H3877B4
+3877B4:lI101|H387834
+387834:lI47|H3878BC
+3878BC:lI111|H38794C
+38794C:lI116|H3879DC
+3879DC:lI112|H387A74
+387A74:lI47|H387B14
+387B14:lI101|H387BBC
+387BBC:lI114|H387C6C
+387C6C:lI116|H387D24
+387D24:lI115|H387DE4
+387DE4:lI47|H387EAC
+387EAC:lI108|H387F7C
+387F7C:lI105|H388054
+388054:lI98|H388134
+388134:lI47|H38821C
+38821C:lI116|H38830C
+38830C:lI115|H388404
+388404:lI112|H388504
+388504:lI47|H38860C
+38860C:lI101|H38871C
+38871C:lI98|H38882C
+38882C:lI105|H38893C
+38893C:lI110|N
+38AFC0:lH3874DC|H38AFE8
+3874DC:lI47|H38751C
+38751C:lI99|H387564
+387564:lI108|H3875B4
+3875B4:lI101|H38760C
+38760C:lI97|H38766C
+38766C:lI114|H3876D4
+3876D4:lI99|H387744
+387744:lI97|H3877BC
+3877BC:lI115|H38783C
+38783C:lI101|H3878C4
+3878C4:lI47|H387954
+387954:lI111|H3879E4
+3879E4:lI116|H387A7C
+387A7C:lI112|H387B1C
+387B1C:lI47|H387BC4
+387BC4:lI101|H387C74
+387C74:lI114|H387D2C
+387D2C:lI116|H387DEC
+387DEC:lI115|H387EB4
+387EB4:lI47|H387F84
+387F84:lI108|H38805C
+38805C:lI105|H38813C
+38813C:lI98|H388224
+388224:lI47|H388314
+388314:lI116|H38840C
+38840C:lI111|H38850C
+38850C:lI111|H388614
+388614:lI108|H388724
+388724:lI115|H388834
+388834:lI47|H388944
+388944:lI101|H388A4C
+388A4C:lI98|H388B5C
+388B5C:lI105|H388C6C
+388C6C:lI110|N
+38AFE8:lH387524|H38B008
+387524:lI47|H38756C
+38756C:lI99|H3875BC
+3875BC:lI108|H387614
+387614:lI101|H387674
+387674:lI97|H3876DC
+3876DC:lI114|H38774C
+38774C:lI99|H3877C4
+3877C4:lI97|H387844
+387844:lI115|H3878CC
+3878CC:lI101|H38795C
+38795C:lI47|H3879EC
+3879EC:lI111|H387A84
+387A84:lI116|H387B24
+387B24:lI112|H387BCC
+387BCC:lI47|H387C7C
+387C7C:lI101|H387D34
+387D34:lI114|H387DF4
+387DF4:lI116|H387EBC
+387EBC:lI115|H387F8C
+387F8C:lI47|H388064
+388064:lI108|H388144
+388144:lI105|H38822C
+38822C:lI98|H38831C
+38831C:lI47|H388414
+388414:lI116|H388514
+388514:lI111|H38861C
+38861C:lI111|H38872C
+38872C:lI108|H38883C
+38883C:lI98|H38894C
+38894C:lI97|H388A54
+388A54:lI114|H388B64
+388B64:lI47|H388C74
+388C74:lI101|H388D84
+388D84:lI98|H388E9C
+388E9C:lI105|H388FB4
+388FB4:lI110|N
+38B008:lH387574|H38B018
+387574:lI47|H3875C4
+3875C4:lI99|H38761C
+38761C:lI108|H38767C
+38767C:lI101|H3876E4
+3876E4:lI97|H387754
+387754:lI114|H3877CC
+3877CC:lI99|H38784C
+38784C:lI97|H3878D4
+3878D4:lI115|H387964
+387964:lI101|H3879F4
+3879F4:lI47|H387A8C
+387A8C:lI111|H387B2C
+387B2C:lI116|H387BD4
+387BD4:lI112|H387C84
+387C84:lI47|H387D3C
+387D3C:lI101|H387DFC
+387DFC:lI114|H387EC4
+387EC4:lI116|H387F94
+387F94:lI115|H38806C
+38806C:lI47|H38814C
+38814C:lI108|H388234
+388234:lI105|H388324
+388324:lI98|H38841C
+38841C:lI47|H38851C
+38851C:lI116|H388624
+388624:lI101|H388734
+388734:lI115|H388844
+388844:lI116|H388954
+388954:lI95|H388A5C
+388A5C:lI115|H388B6C
+388B6C:lI101|H388C7C
+388C7C:lI114|H388D8C
+388D8C:lI118|H388EA4
+388EA4:lI101|H388FBC
+388FBC:lI114|H3890D4
+3890D4:lI47|H3891EC
+3891EC:lI101|H3892FC
+3892FC:lI98|H38940C
+38940C:lI105|H38951C
+38951C:lI110|N
+38B018:lH3875CC|H38AE7C
+3875CC:lI47|H387624
+387624:lI99|H387684
+387684:lI108|H3876EC
+3876EC:lI101|H38775C
+38775C:lI97|H3877D4
+3877D4:lI114|H387854
+387854:lI99|H3878DC
+3878DC:lI97|H38796C
+38796C:lI115|H3879FC
+3879FC:lI101|H387A94
+387A94:lI47|H387B34
+387B34:lI111|H387BDC
+387BDC:lI116|H387C8C
+387C8C:lI112|H387D44
+387D44:lI47|H387E04
+387E04:lI101|H387ECC
+387ECC:lI114|H387F9C
+387F9C:lI116|H388074
+388074:lI115|H388154
+388154:lI47|H38823C
+38823C:lI108|H38832C
+38832C:lI105|H388424
+388424:lI98|H388524
+388524:lI47|H38862C
+38862C:lI115|H38873C
+38873C:lI115|H38884C
+38884C:lI108|H38895C
+38895C:lI47|H388A64
+388A64:lI101|H388B74
+388B74:lI98|H388C84
+388C84:lI105|H388D94
+388D94:lI110|N
+38AE7C:lH38762C|H38AEB0
+38762C:lI47|H38768C
+38768C:lI99|H3876F4
+3876F4:lI108|H387764
+387764:lI101|H3877DC
+3877DC:lI97|H38785C
+38785C:lI114|H3878E4
+3878E4:lI99|H387974
+387974:lI97|H387A04
+387A04:lI115|H387A9C
+387A9C:lI101|H387B3C
+387B3C:lI47|H387BE4
+387BE4:lI111|H387C94
+387C94:lI116|H387D4C
+387D4C:lI112|H387E0C
+387E0C:lI47|H387ED4
+387ED4:lI101|H387FA4
+387FA4:lI114|H38807C
+38807C:lI116|H38815C
+38815C:lI115|H388244
+388244:lI47|H388334
+388334:lI108|H38842C
+38842C:lI105|H38852C
+38852C:lI98|H388634
+388634:lI47|H388744
+388744:lI115|H388854
+388854:lI110|H388964
+388964:lI109|H388A6C
+388A6C:lI112|H388B7C
+388B7C:lI47|H388C8C
+388C8C:lI101|H388D9C
+388D9C:lI98|H388EAC
+388EAC:lI105|H388FC4
+388FC4:lI110|N
+38AEB0:lH387694|H38AED8
+387694:lI47|H3876FC
+3876FC:lI99|H38776C
+38776C:lI108|H3877E4
+3877E4:lI101|H387864
+387864:lI97|H3878EC
+3878EC:lI114|H38797C
+38797C:lI99|H387A0C
+387A0C:lI97|H387AA4
+387AA4:lI115|H387B44
+387B44:lI101|H387BEC
+387BEC:lI47|H387C9C
+387C9C:lI111|H387D54
+387D54:lI116|H387E14
+387E14:lI112|H387EDC
+387EDC:lI47|H387FAC
+387FAC:lI101|H388084
+388084:lI114|H388164
+388164:lI116|H38824C
+38824C:lI115|H38833C
+38833C:lI47|H388434
+388434:lI108|H388534
+388534:lI105|H38863C
+38863C:lI98|H38874C
+38874C:lI47|H38885C
+38885C:lI115|H38896C
+38896C:lI97|H388A74
+388A74:lI115|H388B84
+388B84:lI108|H388C94
+388C94:lI47|H388DA4
+388DA4:lI101|H388EB4
+388EB4:lI98|H388FCC
+388FCC:lI105|H3890DC
+3890DC:lI110|N
+38AED8:lH387704|H38AF08
+387704:lI47|H387774
+387774:lI99|H3877EC
+3877EC:lI108|H38786C
+38786C:lI101|H3878F4
+3878F4:lI97|H387984
+387984:lI114|H387A14
+387A14:lI99|H387AAC
+387AAC:lI97|H387B4C
+387B4C:lI115|H387BF4
+387BF4:lI101|H387CA4
+387CA4:lI47|H387D5C
+387D5C:lI111|H387E1C
+387E1C:lI116|H387EE4
+387EE4:lI112|H387FB4
+387FB4:lI47|H38808C
+38808C:lI101|H38816C
+38816C:lI114|H388254
+388254:lI116|H388344
+388344:lI115|H38843C
+38843C:lI47|H38853C
+38853C:lI108|H388644
+388644:lI105|H388754
+388754:lI98|H388864
+388864:lI47|H388974
+388974:lI114|H388A7C
+388A7C:lI117|H388B8C
+388B8C:lI110|H388C9C
+388C9C:lI116|H388DAC
+388DAC:lI105|H388EBC
+388EBC:lI109|H388FD4
+388FD4:lI101|H3890E4
+3890E4:lI95|H3891F4
+3891F4:lI116|H389304
+389304:lI111|H389414
+389414:lI111|H389524
+389524:lI108|H389624
+389624:lI115|H38971C
+38971C:lI47|H389814
+389814:lI101|H38990C
+38990C:lI98|H389A04
+389A04:lI105|H389AE4
+389AE4:lI110|N
+38AF08:lH38777C|H38AF40
+38777C:lI47|H3877F4
+3877F4:lI99|H387874
+387874:lI108|H3878FC
+3878FC:lI101|H38798C
+38798C:lI97|H387A1C
+387A1C:lI114|H387AB4
+387AB4:lI99|H387B54
+387B54:lI97|H387BFC
+387BFC:lI115|H387CAC
+387CAC:lI101|H387D64
+387D64:lI47|H387E24
+387E24:lI111|H387EEC
+387EEC:lI116|H387FBC
+387FBC:lI112|H388094
+388094:lI47|H388174
+388174:lI101|H38825C
+38825C:lI114|H38834C
+38834C:lI116|H388444
+388444:lI115|H388544
+388544:lI47|H38864C
+38864C:lI108|H38875C
+38875C:lI105|H38886C
+38886C:lI98|H38897C
+38897C:lI47|H388A84
+388A84:lI114|H388B94
+388B94:lI115|H388CA4
+388CA4:lI104|H388DB4
+388DB4:lI101|H388EC4
+388EC4:lI108|H388FDC
+388FDC:lI108|H3890EC
+3890EC:lI47|H3891FC
+3891FC:lI101|H38930C
+38930C:lI98|H38941C
+38941C:lI105|H38952C
+38952C:lI110|N
+38AF40:lH3877FC|H38AF68
+3877FC:lI47|H38787C
+38787C:lI99|H387904
+387904:lI108|H387994
+387994:lI101|H387A24
+387A24:lI97|H387ABC
+387ABC:lI114|H387B5C
+387B5C:lI99|H387C04
+387C04:lI97|H387CB4
+387CB4:lI115|H387D6C
+387D6C:lI101|H387E2C
+387E2C:lI47|H387EF4
+387EF4:lI111|H387FC4
+387FC4:lI116|H38809C
+38809C:lI112|H38817C
+38817C:lI47|H388264
+388264:lI101|H388354
+388354:lI114|H38844C
+38844C:lI116|H38854C
+38854C:lI115|H388654
+388654:lI47|H388764
+388764:lI108|H388874
+388874:lI105|H388984
+388984:lI98|H388A8C
+388A8C:lI47|H388B9C
+388B9C:lI112|H388CAC
+388CAC:lI109|H388DBC
+388DBC:lI97|H388ECC
+388ECC:lI110|H388FE4
+388FE4:lI47|H3890F4
+3890F4:lI101|H389204
+389204:lI98|H389314
+389314:lI105|H389424
+389424:lI110|N
+38AF68:lH387884|H38AF90
+387884:lI47|H38790C
+38790C:lI99|H38799C
+38799C:lI108|H387A2C
+387A2C:lI101|H387AC4
+387AC4:lI97|H387B64
+387B64:lI114|H387C0C
+387C0C:lI99|H387CBC
+387CBC:lI97|H387D74
+387D74:lI115|H387E34
+387E34:lI101|H387EFC
+387EFC:lI47|H387FCC
+387FCC:lI111|H3880A4
+3880A4:lI116|H388184
+388184:lI112|H38826C
+38826C:lI47|H38835C
+38835C:lI101|H388454
+388454:lI114|H388554
+388554:lI116|H38865C
+38865C:lI115|H38876C
+38876C:lI47|H38887C
+38887C:lI108|H38898C
+38898C:lI105|H388A94
+388A94:lI98|H388BA4
+388BA4:lI47|H388CB4
+388CB4:lI112|H388DC4
+388DC4:lI97|H388ED4
+388ED4:lI114|H388FEC
+388FEC:lI115|H3890FC
+3890FC:lI101|H38920C
+38920C:lI116|H38931C
+38931C:lI111|H38942C
+38942C:lI111|H389534
+389534:lI108|H38962C
+38962C:lI115|H389724
+389724:lI47|H38981C
+38981C:lI101|H389914
+389914:lI98|H389A0C
+389A0C:lI105|H389AEC
+389AEC:lI110|N
+38AF90:lH387914|H38AFB8
+387914:lI47|H3879A4
+3879A4:lI99|H387A34
+387A34:lI108|H387ACC
+387ACC:lI101|H387B6C
+387B6C:lI97|H387C14
+387C14:lI114|H387CC4
+387CC4:lI99|H387D7C
+387D7C:lI97|H387E3C
+387E3C:lI115|H387F04
+387F04:lI101|H387FD4
+387FD4:lI47|H3880AC
+3880AC:lI111|H38818C
+38818C:lI116|H388274
+388274:lI112|H388364
+388364:lI47|H38845C
+38845C:lI101|H38855C
+38855C:lI114|H388664
+388664:lI116|H388774
+388774:lI115|H388884
+388884:lI47|H388994
+388994:lI108|H388A9C
+388A9C:lI105|H388BAC
+388BAC:lI98|H388CBC
+388CBC:lI47|H388DCC
+388DCC:lI111|H388EDC
+388EDC:lI116|H388FF4
+388FF4:lI112|H389104
+389104:lI95|H389214
+389214:lI109|H389324
+389324:lI105|H389434
+389434:lI98|H38953C
+38953C:lI115|H389634
+389634:lI47|H38972C
+38972C:lI101|H389824
+389824:lI98|H38991C
+38991C:lI105|H389A14
+389A14:lI110|N
+38AFB8:lH3879AC|H38AFE0
+3879AC:lI47|H387A3C
+387A3C:lI99|H387AD4
+387AD4:lI108|H387B74
+387B74:lI101|H387C1C
+387C1C:lI97|H387CCC
+387CCC:lI114|H387D84
+387D84:lI99|H387E44
+387E44:lI97|H387F0C
+387F0C:lI115|H387FDC
+387FDC:lI101|H3880B4
+3880B4:lI47|H388194
+388194:lI111|H38827C
+38827C:lI116|H38836C
+38836C:lI112|H388464
+388464:lI47|H388564
+388564:lI101|H38866C
+38866C:lI114|H38877C
+38877C:lI116|H38888C
+38888C:lI115|H38899C
+38899C:lI47|H388AA4
+388AA4:lI108|H388BB4
+388BB4:lI105|H388CC4
+388CC4:lI98|H388DD4
+388DD4:lI47|H388EE4
+388EE4:lI111|H388FFC
+388FFC:lI115|H38910C
+38910C:lI95|H38921C
+38921C:lI109|H38932C
+38932C:lI111|H38943C
+38943C:lI110|H389544
+389544:lI47|H38963C
+38963C:lI101|H389734
+389734:lI98|H38982C
+38982C:lI105|H389924
+389924:lI110|N
+38AFE0:lH387A44|H38B000
+387A44:lI47|H387ADC
+387ADC:lI99|H387B7C
+387B7C:lI108|H387C24
+387C24:lI101|H387CD4
+387CD4:lI97|H387D8C
+387D8C:lI114|H387E4C
+387E4C:lI99|H387F14
+387F14:lI97|H387FE4
+387FE4:lI115|H3880BC
+3880BC:lI101|H38819C
+38819C:lI47|H388284
+388284:lI111|H388374
+388374:lI116|H38846C
+38846C:lI112|H38856C
+38856C:lI47|H388674
+388674:lI101|H388784
+388784:lI114|H388894
+388894:lI116|H3889A4
+3889A4:lI115|H388AAC
+388AAC:lI47|H388BBC
+388BBC:lI108|H388CCC
+388CCC:lI105|H388DDC
+388DDC:lI98|H388EEC
+388EEC:lI47|H389004
+389004:lI111|H389114
+389114:lI114|H389224
+389224:lI98|H389334
+389334:lI101|H389444
+389444:lI114|H38954C
+38954C:lI47|H389644
+389644:lI101|H38973C
+38973C:lI98|H389834
+389834:lI105|H38992C
+38992C:lI110|N
+38B000:lH387AE4|H38B010
+387AE4:lI47|H387B84
+387B84:lI99|H387C2C
+387C2C:lI108|H387CDC
+387CDC:lI101|H387D94
+387D94:lI97|H387E54
+387E54:lI114|H387F1C
+387F1C:lI99|H387FEC
+387FEC:lI97|H3880C4
+3880C4:lI115|H3881A4
+3881A4:lI101|H38828C
+38828C:lI47|H38837C
+38837C:lI111|H388474
+388474:lI116|H388574
+388574:lI112|H38867C
+38867C:lI47|H38878C
+38878C:lI101|H38889C
+38889C:lI114|H3889AC
+3889AC:lI116|H388AB4
+388AB4:lI115|H388BC4
+388BC4:lI47|H388CD4
+388CD4:lI108|H388DE4
+388DE4:lI105|H388EF4
+388EF4:lI98|H38900C
+38900C:lI47|H38911C
+38911C:lI111|H38922C
+38922C:lI100|H38933C
+38933C:lI98|H38944C
+38944C:lI99|H389554
+389554:lI47|H38964C
+38964C:lI101|H389744
+389744:lI98|H38983C
+38983C:lI105|H389934
+389934:lI110|N
+38B010:lH387B8C|H38B020
+387B8C:lI47|H387C34
+387C34:lI99|H387CE4
+387CE4:lI108|H387D9C
+387D9C:lI101|H387E5C
+387E5C:lI97|H387F24
+387F24:lI114|H387FF4
+387FF4:lI99|H3880CC
+3880CC:lI97|H3881AC
+3881AC:lI115|H388294
+388294:lI101|H388384
+388384:lI47|H38847C
+38847C:lI111|H38857C
+38857C:lI116|H388684
+388684:lI112|H388794
+388794:lI47|H3888A4
+3888A4:lI101|H3889B4
+3889B4:lI114|H388ABC
+388ABC:lI116|H388BCC
+388BCC:lI115|H388CDC
+388CDC:lI47|H388DEC
+388DEC:lI108|H388EFC
+388EFC:lI105|H389014
+389014:lI98|H389124
+389124:lI47|H389234
+389234:lI111|H389344
+389344:lI98|H389454
+389454:lI115|H38955C
+38955C:lI101|H389654
+389654:lI114|H38974C
+38974C:lI118|H389844
+389844:lI101|H38993C
+38993C:lI114|H389A1C
+389A1C:lI47|H389AF4
+389AF4:lI101|H389BBC
+389BBC:lI98|H389C84
+389C84:lI105|H389D4C
+389D4C:lI110|N
+38B020:lH387C3C|H38B028
+387C3C:lI47|H387CEC
+387CEC:lI99|H387DA4
+387DA4:lI108|H387E64
+387E64:lI101|H387F2C
+387F2C:lI97|H387FFC
+387FFC:lI114|H3880D4
+3880D4:lI99|H3881B4
+3881B4:lI97|H38829C
+38829C:lI115|H38838C
+38838C:lI101|H388484
+388484:lI47|H388584
+388584:lI111|H38868C
+38868C:lI116|H38879C
+38879C:lI112|H3888AC
+3888AC:lI47|H3889BC
+3889BC:lI101|H388AC4
+388AC4:lI114|H388BD4
+388BD4:lI116|H388CE4
+388CE4:lI115|H388DF4
+388DF4:lI47|H388F04
+388F04:lI108|H38901C
+38901C:lI105|H38912C
+38912C:lI98|H38923C
+38923C:lI47|H38934C
+38934C:lI109|H38945C
+38945C:lI110|H389564
+389564:lI101|H38965C
+38965C:lI115|H389754
+389754:lI105|H38984C
+38984C:lI97|H389944
+389944:lI95|H389A24
+389A24:lI115|H389AFC
+389AFC:lI101|H389BC4
+389BC4:lI115|H389C8C
+389C8C:lI115|H389D54
+389D54:lI105|H389E14
+389E14:lI111|H389ECC
+389ECC:lI110|H389F7C
+389F7C:lI47|H38A01C
+38A01C:lI101|H38A0AC
+38A0AC:lI98|H38A12C
+38A12C:lI105|H38A19C
+38A19C:lI110|N
+38B028:lH387CF4|H38B030
+387CF4:lI47|H387DAC
+387DAC:lI99|H387E6C
+387E6C:lI108|H387F34
+387F34:lI101|H388004
+388004:lI97|H3880DC
+3880DC:lI114|H3881BC
+3881BC:lI99|H3882A4
+3882A4:lI97|H388394
+388394:lI115|H38848C
+38848C:lI101|H38858C
+38858C:lI47|H388694
+388694:lI111|H3887A4
+3887A4:lI116|H3888B4
+3888B4:lI112|H3889C4
+3889C4:lI47|H388ACC
+388ACC:lI101|H388BDC
+388BDC:lI114|H388CEC
+388CEC:lI116|H388DFC
+388DFC:lI115|H388F0C
+388F0C:lI47|H389024
+389024:lI108|H389134
+389134:lI105|H389244
+389244:lI98|H389354
+389354:lI47|H389464
+389464:lI109|H38956C
+38956C:lI110|H389664
+389664:lI101|H38975C
+38975C:lI115|H389854
+389854:lI105|H38994C
+38994C:lI97|H389A2C
+389A2C:lI47|H389B04
+389B04:lI101|H389BCC
+389BCC:lI98|H389C94
+389C94:lI105|H389D5C
+389D5C:lI110|N
+38B030:lH387DB4|H38B038
+387DB4:lI47|H387E74
+387E74:lI99|H387F3C
+387F3C:lI108|H38800C
+38800C:lI101|H3880E4
+3880E4:lI97|H3881C4
+3881C4:lI114|H3882AC
+3882AC:lI99|H38839C
+38839C:lI97|H388494
+388494:lI115|H388594
+388594:lI101|H38869C
+38869C:lI47|H3887AC
+3887AC:lI111|H3888BC
+3888BC:lI116|H3889CC
+3889CC:lI112|H388AD4
+388AD4:lI47|H388BE4
+388BE4:lI101|H388CF4
+388CF4:lI114|H388E04
+388E04:lI116|H388F14
+388F14:lI115|H38902C
+38902C:lI47|H38913C
+38913C:lI108|H38924C
+38924C:lI105|H38935C
+38935C:lI98|H38946C
+38946C:lI47|H389574
+389574:lI109|H38966C
+38966C:lI110|H389764
+389764:lI101|H38985C
+38985C:lI109|H389954
+389954:lI111|H389A34
+389A34:lI115|H389B0C
+389B0C:lI121|H389BD4
+389BD4:lI110|H389C9C
+389C9C:lI101|H389D64
+389D64:lI47|H389E1C
+389E1C:lI101|H389ED4
+389ED4:lI98|H389F84
+389F84:lI105|H38A024
+38A024:lI110|N
+38B038:lH387E7C|H38B040
+387E7C:lI47|H387F44
+387F44:lI99|H388014
+388014:lI108|H3880EC
+3880EC:lI101|H3881CC
+3881CC:lI97|H3882B4
+3882B4:lI114|H3883A4
+3883A4:lI99|H38849C
+38849C:lI97|H38859C
+38859C:lI115|H3886A4
+3886A4:lI101|H3887B4
+3887B4:lI47|H3888C4
+3888C4:lI111|H3889D4
+3889D4:lI116|H388ADC
+388ADC:lI112|H388BEC
+388BEC:lI47|H388CFC
+388CFC:lI101|H388E0C
+388E0C:lI114|H388F1C
+388F1C:lI116|H389034
+389034:lI115|H389144
+389144:lI47|H389254
+389254:lI108|H389364
+389364:lI105|H389474
+389474:lI98|H38957C
+38957C:lI47|H389674
+389674:lI109|H38976C
+38976C:lI101|H389864
+389864:lI103|H38995C
+38995C:lI97|H389A3C
+389A3C:lI99|H389B14
+389B14:lI111|H389BDC
+389BDC:lI47|H389CA4
+389CA4:lI101|H389D6C
+389D6C:lI98|H389E24
+389E24:lI105|H389EDC
+389EDC:lI110|N
+38B040:lH387F4C|H38B048
+387F4C:lI47|H38801C
+38801C:lI99|H3880F4
+3880F4:lI108|H3881D4
+3881D4:lI101|H3882BC
+3882BC:lI97|H3883AC
+3883AC:lI114|H3884A4
+3884A4:lI99|H3885A4
+3885A4:lI97|H3886AC
+3886AC:lI115|H3887BC
+3887BC:lI101|H3888CC
+3888CC:lI47|H3889DC
+3889DC:lI111|H388AE4
+388AE4:lI116|H388BF4
+388BF4:lI112|H388D04
+388D04:lI47|H388E14
+388E14:lI101|H388F24
+388F24:lI114|H38903C
+38903C:lI116|H38914C
+38914C:lI115|H38925C
+38925C:lI47|H38936C
+38936C:lI108|H38947C
+38947C:lI105|H389584
+389584:lI98|H38967C
+38967C:lI47|H389774
+389774:lI106|H38986C
+38986C:lI105|H389964
+389964:lI110|H389A44
+389A44:lI116|H389B1C
+389B1C:lI101|H389BE4
+389BE4:lI114|H389CAC
+389CAC:lI102|H389D74
+389D74:lI97|H389E2C
+389E2C:lI99|H389EE4
+389EE4:lI101|N
+38B048:lH388024|H38B050
+388024:lI47|H3880FC
+3880FC:lI99|H3881DC
+3881DC:lI108|H3882C4
+3882C4:lI101|H3883B4
+3883B4:lI97|H3884AC
+3884AC:lI114|H3885AC
+3885AC:lI99|H3886B4
+3886B4:lI97|H3887C4
+3887C4:lI115|H3888D4
+3888D4:lI101|H3889E4
+3889E4:lI47|H388AEC
+388AEC:lI111|H388BFC
+388BFC:lI116|H388D0C
+388D0C:lI112|H388E1C
+388E1C:lI47|H388F2C
+388F2C:lI101|H389044
+389044:lI114|H389154
+389154:lI116|H389264
+389264:lI115|H389374
+389374:lI47|H389484
+389484:lI108|H38958C
+38958C:lI105|H389684
+389684:lI98|H38977C
+38977C:lI47|H389874
+389874:lI105|H38996C
+38996C:lI110|H389A4C
+389A4C:lI101|H389B24
+389B24:lI116|H389BEC
+389BEC:lI115|H389CB4
+389CB4:lI47|H389D7C
+389D7C:lI101|H389E34
+389E34:lI98|H389EEC
+389EEC:lI105|H389F8C
+389F8C:lI110|N
+38B050:lH388104|H38B058
+388104:lI47|H3881E4
+3881E4:lI99|H3882CC
+3882CC:lI108|H3883BC
+3883BC:lI101|H3884B4
+3884B4:lI97|H3885B4
+3885B4:lI114|H3886BC
+3886BC:lI99|H3887CC
+3887CC:lI97|H3888DC
+3888DC:lI115|H3889EC
+3889EC:lI101|H388AF4
+388AF4:lI47|H388C04
+388C04:lI111|H388D14
+388D14:lI116|H388E24
+388E24:lI112|H388F34
+388F34:lI47|H38904C
+38904C:lI101|H38915C
+38915C:lI114|H38926C
+38926C:lI116|H38937C
+38937C:lI115|H38948C
+38948C:lI47|H389594
+389594:lI108|H38968C
+38968C:lI105|H389784
+389784:lI98|H38987C
+38987C:lI47|H389974
+389974:lI105|H389A54
+389A54:lI99|H389B2C
+389B2C:lI47|H389BF4
+389BF4:lI101|H389CBC
+389CBC:lI98|H389D84
+389D84:lI105|H389E3C
+389E3C:lI110|N
+38B058:lH3881EC|H38B060
+3881EC:lI47|H3882D4
+3882D4:lI99|H3883C4
+3883C4:lI108|H3884BC
+3884BC:lI101|H3885BC
+3885BC:lI97|H3886C4
+3886C4:lI114|H3887D4
+3887D4:lI99|H3888E4
+3888E4:lI97|H3889F4
+3889F4:lI115|H388AFC
+388AFC:lI101|H388C0C
+388C0C:lI47|H388D1C
+388D1C:lI111|H388E2C
+388E2C:lI116|H388F3C
+388F3C:lI112|H389054
+389054:lI47|H389164
+389164:lI101|H389274
+389274:lI114|H389384
+389384:lI116|H389494
+389494:lI115|H38959C
+38959C:lI47|H389694
+389694:lI108|H38978C
+38978C:lI105|H389884
+389884:lI98|H38997C
+38997C:lI47|H389A5C
+389A5C:lI104|H389B34
+389B34:lI105|H389BFC
+389BFC:lI112|H389CC4
+389CC4:lI101|H389D8C
+389D8C:lI47|H389E44
+389E44:lI101|H389EF4
+389EF4:lI98|H389F94
+389F94:lI105|H38A02C
+38A02C:lI110|N
+38B060:lH3882DC|H38B068
+3882DC:lI47|H3883CC
+3883CC:lI99|H3884C4
+3884C4:lI108|H3885C4
+3885C4:lI101|H3886CC
+3886CC:lI97|H3887DC
+3887DC:lI114|H3888EC
+3888EC:lI99|H3889FC
+3889FC:lI97|H388B04
+388B04:lI115|H388C14
+388C14:lI101|H388D24
+388D24:lI47|H388E34
+388E34:lI111|H388F44
+388F44:lI116|H38905C
+38905C:lI112|H38916C
+38916C:lI47|H38927C
+38927C:lI101|H38938C
+38938C:lI114|H38949C
+38949C:lI116|H3895A4
+3895A4:lI115|H38969C
+38969C:lI47|H389794
+389794:lI108|H38988C
+38988C:lI105|H389984
+389984:lI98|H389A64
+389A64:lI47|H389B3C
+389B3C:lI103|H389C04
+389C04:lI115|H389CCC
+389CCC:lI47|H389D94
+389D94:lI101|H389E4C
+389E4C:lI98|H389EFC
+389EFC:lI105|H389F9C
+389F9C:lI110|N
+38B068:lH3883D4|H38B070
+3883D4:lI47|H3884CC
+3884CC:lI99|H3885CC
+3885CC:lI108|H3886D4
+3886D4:lI101|H3887E4
+3887E4:lI97|H3888F4
+3888F4:lI114|H388A04
+388A04:lI99|H388B0C
+388B0C:lI97|H388C1C
+388C1C:lI115|H388D2C
+388D2C:lI101|H388E3C
+388E3C:lI47|H388F4C
+388F4C:lI111|H389064
+389064:lI116|H389174
+389174:lI112|H389284
+389284:lI47|H389394
+389394:lI101|H3894A4
+3894A4:lI114|H3895AC
+3895AC:lI116|H3896A4
+3896A4:lI115|H38979C
+38979C:lI47|H389894
+389894:lI108|H38998C
+38998C:lI105|H389A6C
+389A6C:lI98|H389B44
+389B44:lI47|H389C0C
+389C0C:lI101|H389CD4
+389CD4:lI118|H389D9C
+389D9C:lI97|H389E54
+389E54:lI47|H389F04
+389F04:lI101|H389FA4
+389FA4:lI98|H38A034
+38A034:lI105|H38A0B4
+38A0B4:lI110|N
+38B070:lH3884D4|H38B078
+3884D4:lI47|H3885D4
+3885D4:lI99|H3886DC
+3886DC:lI108|H3887EC
+3887EC:lI101|H3888FC
+3888FC:lI97|H388A0C
+388A0C:lI114|H388B14
+388B14:lI99|H388C24
+388C24:lI97|H388D34
+388D34:lI115|H388E44
+388E44:lI101|H388F54
+388F54:lI47|H38906C
+38906C:lI111|H38917C
+38917C:lI116|H38928C
+38928C:lI112|H38939C
+38939C:lI47|H3894AC
+3894AC:lI101|H3895B4
+3895B4:lI114|H3896AC
+3896AC:lI116|H3897A4
+3897A4:lI115|H38989C
+38989C:lI47|H389994
+389994:lI108|H389A74
+389A74:lI105|H389B4C
+389B4C:lI98|H389C14
+389C14:lI47|H389CDC
+389CDC:lI101|H389DA4
+389DA4:lI116|H389E5C
+389E5C:lI47|H389F0C
+389F0C:lI101|H389FAC
+389FAC:lI98|H38A03C
+38A03C:lI105|H38A0BC
+38A0BC:lI110|N
+38B078:lH3885DC|H38B080
+3885DC:lI47|H3886E4
+3886E4:lI99|H3887F4
+3887F4:lI108|H388904
+388904:lI101|H388A14
+388A14:lI97|H388B1C
+388B1C:lI114|H388C2C
+388C2C:lI99|H388D3C
+388D3C:lI97|H388E4C
+388E4C:lI115|H388F5C
+388F5C:lI101|H389074
+389074:lI47|H389184
+389184:lI111|H389294
+389294:lI116|H3893A4
+3893A4:lI112|H3894B4
+3894B4:lI47|H3895BC
+3895BC:lI101|H3896B4
+3896B4:lI114|H3897AC
+3897AC:lI116|H3898A4
+3898A4:lI115|H38999C
+38999C:lI47|H389A7C
+389A7C:lI108|H389B54
+389B54:lI105|H389C1C
+389C1C:lI98|H389CE4
+389CE4:lI47|H389DAC
+389DAC:lI101|H389E64
+389E64:lI114|H389F14
+389F14:lI108|H389FB4
+389FB4:lI95|H38A044
+38A044:lI105|H38A0C4
+38A0C4:lI110|H38A134
+38A134:lI116|H38A1A4
+38A1A4:lI101|H38A20C
+38A20C:lI114|H38A274
+38A274:lI102|H38A2DC
+38A2DC:lI97|H38A344
+38A344:lI99|H38A3AC
+38A3AC:lI101|N
+38B080:lH3886EC|H38B088
+3886EC:lI47|H3887FC
+3887FC:lI99|H38890C
+38890C:lI108|H388A1C
+388A1C:lI101|H388B24
+388B24:lI97|H388C34
+388C34:lI114|H388D44
+388D44:lI99|H388E54
+388E54:lI97|H388F64
+388F64:lI115|H38907C
+38907C:lI101|H38918C
+38918C:lI47|H38929C
+38929C:lI111|H3893AC
+3893AC:lI116|H3894BC
+3894BC:lI112|H3895C4
+3895C4:lI47|H3896BC
+3896BC:lI101|H3897B4
+3897B4:lI114|H3898AC
+3898AC:lI116|H3899A4
+3899A4:lI115|H389A84
+389A84:lI47|H389B5C
+389B5C:lI108|H389C24
+389C24:lI105|H389CEC
+389CEC:lI98|H389DB4
+389DB4:lI47|H389E6C
+389E6C:lI100|H389F1C
+389F1C:lI101|H389FBC
+389FBC:lI98|H38A04C
+38A04C:lI117|H38A0CC
+38A0CC:lI103|H38A13C
+38A13C:lI103|H38A1AC
+38A1AC:lI101|H38A214
+38A214:lI114|H38A27C
+38A27C:lI47|H38A2E4
+38A2E4:lI101|H38A34C
+38A34C:lI98|H38A3B4
+38A3B4:lI105|H38A414
+38A414:lI110|N
+38B088:lH388804|H38B090
+388804:lI47|H388914
+388914:lI99|H388A24
+388A24:lI108|H388B2C
+388B2C:lI101|H388C3C
+388C3C:lI97|H388D4C
+388D4C:lI114|H388E5C
+388E5C:lI99|H388F6C
+388F6C:lI97|H389084
+389084:lI115|H389194
+389194:lI101|H3892A4
+3892A4:lI47|H3893B4
+3893B4:lI111|H3894C4
+3894C4:lI116|H3895CC
+3895CC:lI112|H3896C4
+3896C4:lI47|H3897BC
+3897BC:lI101|H3898B4
+3898B4:lI114|H3899AC
+3899AC:lI116|H389A8C
+389A8C:lI115|H389B64
+389B64:lI47|H389C2C
+389C2C:lI108|H389CF4
+389CF4:lI105|H389DBC
+389DBC:lI98|H389E74
+389E74:lI47|H389F24
+389F24:lI99|H389FC4
+389FC4:lI114|H38A054
+38A054:lI121|H38A0D4
+38A0D4:lI112|H38A144
+38A144:lI116|H38A1B4
+38A1B4:lI111|H38A21C
+38A21C:lI47|H38A284
+38A284:lI101|H38A2EC
+38A2EC:lI98|H38A354
+38A354:lI105|H38A3BC
+38A3BC:lI110|N
+38B090:lH38891C|H38B098
+38891C:lI47|H388A2C
+388A2C:lI99|H388B34
+388B34:lI108|H388C44
+388C44:lI101|H388D54
+388D54:lI97|H388E64
+388E64:lI114|H388F74
+388F74:lI99|H38908C
+38908C:lI97|H38919C
+38919C:lI115|H3892AC
+3892AC:lI101|H3893BC
+3893BC:lI47|H3894CC
+3894CC:lI111|H3895D4
+3895D4:lI116|H3896CC
+3896CC:lI112|H3897C4
+3897C4:lI47|H3898BC
+3898BC:lI101|H3899B4
+3899B4:lI114|H389A94
+389A94:lI116|H389B6C
+389B6C:lI115|H389C34
+389C34:lI47|H389CFC
+389CFC:lI108|H389DC4
+389DC4:lI105|H389E7C
+389E7C:lI98|H389F2C
+389F2C:lI47|H389FCC
+389FCC:lI99|H38A05C
+38A05C:lI111|H38A0DC
+38A0DC:lI115|H38A14C
+38A14C:lI84|H38A1BC
+38A1BC:lI114|H38A224
+38A224:lI97|H38A28C
+38A28C:lI110|H38A2F4
+38A2F4:lI115|H38A35C
+38A35C:lI97|H38A3C4
+38A3C4:lI99|H38A41C
+38A41C:lI116|H38A46C
+38A46C:lI105|H38A4BC
+38A4BC:lI111|H38A50C
+38A50C:lI110|H38A554
+38A554:lI115|H38A59C
+38A59C:lI47|H38A5E4
+38A5E4:lI101|H38A62C
+38A62C:lI98|H38A66C
+38A66C:lI105|H38A6A4
+38A6A4:lI110|N
+38B098:lH388A34|H38B0A0
+388A34:lI47|H388B3C
+388B3C:lI99|H388C4C
+388C4C:lI108|H388D5C
+388D5C:lI101|H388E6C
+388E6C:lI97|H388F7C
+388F7C:lI114|H389094
+389094:lI99|H3891A4
+3891A4:lI97|H3892B4
+3892B4:lI115|H3893C4
+3893C4:lI101|H3894D4
+3894D4:lI47|H3895DC
+3895DC:lI111|H3896D4
+3896D4:lI116|H3897CC
+3897CC:lI112|H3898C4
+3898C4:lI47|H3899BC
+3899BC:lI101|H389A9C
+389A9C:lI114|H389B74
+389B74:lI116|H389C3C
+389C3C:lI115|H389D04
+389D04:lI47|H389DCC
+389DCC:lI108|H389E84
+389E84:lI105|H389F34
+389F34:lI98|H389FD4
+389FD4:lI47|H38A064
+38A064:lI99|H38A0E4
+38A0E4:lI111|H38A154
+38A154:lI115|H38A1C4
+38A1C4:lI84|H38A22C
+38A22C:lI105|H38A294
+38A294:lI109|H38A2FC
+38A2FC:lI101|H38A364
+38A364:lI47|H38A3CC
+38A3CC:lI101|H38A424
+38A424:lI98|H38A474
+38A474:lI105|H38A4C4
+38A4C4:lI110|N
+38B0A0:lH388B44|H38B0A8
+388B44:lI47|H388C54
+388C54:lI99|H388D64
+388D64:lI108|H388E74
+388E74:lI101|H388F84
+388F84:lI97|H38909C
+38909C:lI114|H3891AC
+3891AC:lI99|H3892BC
+3892BC:lI97|H3893CC
+3893CC:lI115|H3894DC
+3894DC:lI101|H3895E4
+3895E4:lI47|H3896DC
+3896DC:lI111|H3897D4
+3897D4:lI116|H3898CC
+3898CC:lI112|H3899C4
+3899C4:lI47|H389AA4
+389AA4:lI101|H389B7C
+389B7C:lI114|H389C44
+389C44:lI116|H389D0C
+389D0C:lI115|H389DD4
+389DD4:lI47|H389E8C
+389E8C:lI108|H389F3C
+389F3C:lI105|H389FDC
+389FDC:lI98|H38A06C
+38A06C:lI47|H38A0EC
+38A0EC:lI99|H38A15C
+38A15C:lI111|H38A1CC
+38A1CC:lI115|H38A234
+38A234:lI80|H38A29C
+38A29C:lI114|H38A304
+38A304:lI111|H38A36C
+38A36C:lI112|H38A3D4
+38A3D4:lI101|H38A42C
+38A42C:lI114|H38A47C
+38A47C:lI116|H38A4CC
+38A4CC:lI121|H38A514
+38A514:lI47|H38A55C
+38A55C:lI101|H38A5A4
+38A5A4:lI98|H38A5EC
+38A5EC:lI105|H38A634
+38A634:lI110|N
+38B0A8:lH388C5C|H38B0B0
+388C5C:lI47|H388D6C
+388D6C:lI99|H388E7C
+388E7C:lI108|H388F8C
+388F8C:lI101|H3890A4
+3890A4:lI97|H3891B4
+3891B4:lI114|H3892C4
+3892C4:lI99|H3893D4
+3893D4:lI97|H3894E4
+3894E4:lI115|H3895EC
+3895EC:lI101|H3896E4
+3896E4:lI47|H3897DC
+3897DC:lI111|H3898D4
+3898D4:lI116|H3899CC
+3899CC:lI112|H389AAC
+389AAC:lI47|H389B84
+389B84:lI101|H389C4C
+389C4C:lI114|H389D14
+389D14:lI116|H389DDC
+389DDC:lI115|H389E94
+389E94:lI47|H389F44
+389F44:lI108|H389FE4
+389FE4:lI105|H38A074
+38A074:lI98|H38A0F4
+38A0F4:lI47|H38A164
+38A164:lI99|H38A1D4
+38A1D4:lI111|H38A23C
+38A23C:lI115|H38A2A4
+38A2A4:lI78|H38A30C
+38A30C:lI111|H38A374
+38A374:lI116|H38A3DC
+38A3DC:lI105|H38A434
+38A434:lI102|H38A484
+38A484:lI105|H38A4D4
+38A4D4:lI99|H38A51C
+38A51C:lI97|H38A564
+38A564:lI116|H38A5AC
+38A5AC:lI105|H38A5F4
+38A5F4:lI111|H38A63C
+38A63C:lI110|H38A674
+38A674:lI47|H38A6AC
+38A6AC:lI101|H38A6D4
+38A6D4:lI98|H38A6EC
+38A6EC:lI105|H38A704
+38A704:lI110|N
+38B0B0:lH388D74|H38B0B8
+388D74:lI47|H388E84
+388E84:lI99|H388F94
+388F94:lI108|H3890AC
+3890AC:lI101|H3891BC
+3891BC:lI97|H3892CC
+3892CC:lI114|H3893DC
+3893DC:lI99|H3894EC
+3894EC:lI97|H3895F4
+3895F4:lI115|H3896EC
+3896EC:lI101|H3897E4
+3897E4:lI47|H3898DC
+3898DC:lI111|H3899D4
+3899D4:lI116|H389AB4
+389AB4:lI112|H389B8C
+389B8C:lI47|H389C54
+389C54:lI101|H389D1C
+389D1C:lI114|H389DE4
+389DE4:lI116|H389E9C
+389E9C:lI115|H389F4C
+389F4C:lI47|H389FEC
+389FEC:lI108|H38A07C
+38A07C:lI105|H38A0FC
+38A0FC:lI98|H38A16C
+38A16C:lI47|H38A1DC
+38A1DC:lI99|H38A244
+38A244:lI111|H38A2AC
+38A2AC:lI115|H38A314
+38A314:lI70|H38A37C
+38A37C:lI105|H38A3E4
+38A3E4:lI108|H38A43C
+38A43C:lI101|H38A48C
+38A48C:lI84|H38A4DC
+38A4DC:lI114|H38A524
+38A524:lI97|H38A56C
+38A56C:lI110|H38A5B4
+38A5B4:lI115|H38A5FC
+38A5FC:lI102|H38A644
+38A644:lI101|H38A67C
+38A67C:lI114|H38A6B4
+38A6B4:lI47|H38A6DC
+38A6DC:lI101|H38A6F4
+38A6F4:lI98|H38A70C
+38A70C:lI105|H38A71C
+38A71C:lI110|N
+38B0B8:lH388E8C|H38B0C0
+388E8C:lI47|H388F9C
+388F9C:lI99|H3890B4
+3890B4:lI108|H3891C4
+3891C4:lI101|H3892D4
+3892D4:lI97|H3893E4
+3893E4:lI114|H3894F4
+3894F4:lI99|H3895FC
+3895FC:lI97|H3896F4
+3896F4:lI115|H3897EC
+3897EC:lI101|H3898E4
+3898E4:lI47|H3899DC
+3899DC:lI111|H389ABC
+389ABC:lI116|H389B94
+389B94:lI112|H389C5C
+389C5C:lI47|H389D24
+389D24:lI101|H389DEC
+389DEC:lI114|H389EA4
+389EA4:lI116|H389F54
+389F54:lI115|H389FF4
+389FF4:lI47|H38A084
+38A084:lI108|H38A104
+38A104:lI105|H38A174
+38A174:lI98|H38A1E4
+38A1E4:lI47|H38A24C
+38A24C:lI99|H38A2B4
+38A2B4:lI111|H38A31C
+38A31C:lI115|H38A384
+38A384:lI69|H38A3EC
+38A3EC:lI118|H38A444
+38A444:lI101|H38A494
+38A494:lI110|H38A4E4
+38A4E4:lI116|H38A52C
+38A52C:lI68|H38A574
+38A574:lI111|H38A5BC
+38A5BC:lI109|H38A604
+38A604:lI97|H38A64C
+38A64C:lI105|H38A684
+38A684:lI110|H38A6BC
+38A6BC:lI47|H38A6E4
+38A6E4:lI101|H38A6FC
+38A6FC:lI98|H38A714
+38A714:lI105|H38A724
+38A724:lI110|N
+38B0C0:lH388FA4|H38B0C8
+388FA4:lI47|H3890BC
+3890BC:lI99|H3891CC
+3891CC:lI108|H3892DC
+3892DC:lI101|H3893EC
+3893EC:lI97|H3894FC
+3894FC:lI114|H389604
+389604:lI99|H3896FC
+3896FC:lI97|H3897F4
+3897F4:lI115|H3898EC
+3898EC:lI101|H3899E4
+3899E4:lI47|H389AC4
+389AC4:lI111|H389B9C
+389B9C:lI116|H389C64
+389C64:lI112|H389D2C
+389D2C:lI47|H389DF4
+389DF4:lI101|H389EAC
+389EAC:lI114|H389F5C
+389F5C:lI116|H389FFC
+389FFC:lI115|H38A08C
+38A08C:lI47|H38A10C
+38A10C:lI108|H38A17C
+38A17C:lI105|H38A1EC
+38A1EC:lI98|H38A254
+38A254:lI47|H38A2BC
+38A2BC:lI99|H38A324
+38A324:lI111|H38A38C
+38A38C:lI115|H38A3F4
+38A3F4:lI69|H38A44C
+38A44C:lI118|H38A49C
+38A49C:lI101|H38A4EC
+38A4EC:lI110|H38A534
+38A534:lI116|H38A57C
+38A57C:lI47|H38A5C4
+38A5C4:lI101|H38A60C
+38A60C:lI98|H38A654
+38A654:lI105|H38A68C
+38A68C:lI110|N
+38B0C8:lH3890C4|H38B0D0
+3890C4:lI47|H3891D4
+3891D4:lI99|H3892E4
+3892E4:lI108|H3893F4
+3893F4:lI101|H389504
+389504:lI97|H38960C
+38960C:lI114|H389704
+389704:lI99|H3897FC
+3897FC:lI97|H3898F4
+3898F4:lI115|H3899EC
+3899EC:lI101|H389ACC
+389ACC:lI47|H389BA4
+389BA4:lI111|H389C6C
+389C6C:lI116|H389D34
+389D34:lI112|H389DFC
+389DFC:lI47|H389EB4
+389EB4:lI101|H389F64
+389F64:lI114|H38A004
+38A004:lI116|H38A094
+38A094:lI115|H38A114
+38A114:lI47|H38A184
+38A184:lI108|H38A1F4
+38A1F4:lI105|H38A25C
+38A25C:lI98|H38A2C4
+38A2C4:lI47|H38A32C
+38A32C:lI99|H38A394
+38A394:lI111|H38A3FC
+38A3FC:lI109|H38A454
+38A454:lI112|H38A4A4
+38A4A4:lI105|H38A4F4
+38A4F4:lI108|H38A53C
+38A53C:lI101|H38A584
+38A584:lI114|H38A5CC
+38A5CC:lI47|H38A614
+38A614:lI101|H38A65C
+38A65C:lI98|H38A694
+38A694:lI105|H38A6C4
+38A6C4:lI110|N
+38B0D0:lH3891DC|H38B0D8
+3891DC:lI47|H3892EC
+3892EC:lI99|H3893FC
+3893FC:lI108|H38950C
+38950C:lI101|H389614
+389614:lI97|H38970C
+38970C:lI114|H389804
+389804:lI99|H3898FC
+3898FC:lI97|H3899F4
+3899F4:lI115|H389AD4
+389AD4:lI101|H389BAC
+389BAC:lI47|H389C74
+389C74:lI111|H389D3C
+389D3C:lI116|H389E04
+389E04:lI112|H389EBC
+389EBC:lI47|H389F6C
+389F6C:lI101|H38A00C
+38A00C:lI114|H38A09C
+38A09C:lI116|H38A11C
+38A11C:lI115|H38A18C
+38A18C:lI47|H38A1FC
+38A1FC:lI108|H38A264
+38A264:lI105|H38A2CC
+38A2CC:lI98|H38A334
+38A334:lI47|H38A39C
+38A39C:lI97|H38A404
+38A404:lI115|H38A45C
+38A45C:lI110|H38A4AC
+38A4AC:lI49|H38A4FC
+38A4FC:lI47|H38A544
+38A544:lI101|H38A58C
+38A58C:lI98|H38A5D4
+38A5D4:lI105|H38A61C
+38A61C:lI110|N
+38B0D8:lH3892F4|H38B0E0
+3892F4:lI47|H389404
+389404:lI99|H389514
+389514:lI108|H38961C
+38961C:lI101|H389714
+389714:lI97|H38980C
+38980C:lI114|H389904
+389904:lI99|H3899FC
+3899FC:lI97|H389ADC
+389ADC:lI115|H389BB4
+389BB4:lI101|H389C7C
+389C7C:lI47|H389D44
+389D44:lI111|H389E0C
+389E0C:lI116|H389EC4
+389EC4:lI112|H389F74
+389F74:lI47|H38A014
+38A014:lI101|H38A0A4
+38A0A4:lI114|H38A124
+38A124:lI116|H38A194
+38A194:lI115|H38A204
+38A204:lI47|H38A26C
+38A26C:lI108|H38A2D4
+38A2D4:lI105|H38A33C
+38A33C:lI98|H38A3A4
+38A3A4:lI47|H38A40C
+38A40C:lI97|H38A464
+38A464:lI112|H38A4B4
+38A4B4:lI112|H38A504
+38A504:lI109|H38A54C
+38A54C:lI111|H38A594
+38A594:lI110|H38A5DC
+38A5DC:lI47|H38A624
+38A624:lI101|H38A664
+38A664:lI98|H38A69C
+38A69C:lI105|H38A6CC
+38A6CC:lI110|N
+38B0E0:lH38AA88|H38B0E8
+38AA88:lI47|H38AA90
+38AA90:lI104|H38AA98
+38AA98:lI111|H38AAA0
+38AAA0:lI109|H38AAA8
+38AAA8:lI101|H38AAB0
+38AAB0:lI47|H38AAB8
+38AAB8:lI115|H38AAC0
+38AAC0:lI105|H38AAC8
+38AAC8:lI114|H38AAD0
+38AAD0:lI105|H38AAD8
+38AAD8:lI47|H38AAE0
+38AAE0:lI101|H38AAE8
+38AAE8:lI114|H38AAF0
+38AAF0:lI108|H38AAF8
+38AAF8:lI97|H38AB00
+38AB00:lI110|H38AB08
+38AB08:lI103|N
+38B0E8:lH38AB1C|H38B0F0
+38AB1C:lI47|H38AB2C
+38AB2C:lI104|H38AB4C
+38AB4C:lI111|H38AB74
+38AB74:lI109|H38ABA4
+38ABA4:lI101|H38ABC4
+38ABC4:lI47|H38ABE4
+38ABE4:lI115|H38AC04
+38AC04:lI105|H38AC24
+38AC24:lI114|H38AC3C
+38AC3C:lI105|H38AC44
+38AC44:lI47|H38AC4C
+38AC4C:lI116|H38AC54
+38AC54:lI111|H38AC5C
+38AC5C:lI111|H38AC64
+38AC64:lI108|H38AC6C
+38AC6C:lI115|H38AC74
+38AC74:lI47|H38AC7C
+38AC7C:lI100|H38AC84
+38AC84:lI105|H38AC8C
+38AC8C:lI115|H38AC94
+38AC94:lI116|H38AC9C
+38AC9C:lI101|H38ACA4
+38ACA4:lI108|H38ACAC
+38ACAC:lI47|H38ACB4
+38ACB4:lI101|H38ACBC
+38ACBC:lI98|H38ACC4
+38ACC4:lI105|H38ACCC
+38ACCC:lI110|N
+38B0F0:lH38B0F8|N
+38B0F8:lI47|H38B100
+38B100:lI104|H38B108
+38B108:lI111|H38B110
+38B110:lI109|H38B118
+38B118:lI101|H38B120
+38B120:lI47|H38B128
+38B128:lI115|H38B130
+38B130:lI105|H38B138
+38B138:lI114|H38B140
+38B140:lI105|H38B148
+38B148:lI47|H38B150
+38B150:lI79|H38B158
+38B158:lI84|H38B160
+38B160:lI80|H38B168
+38B168:lI47|H38B170
+38B170:lI103|H38B178
+38B178:lI112|H38B180
+38B180:lI114|H38B188
+38B188:lI115|H38B190
+38B190:lI95|H38B198
+38B198:lI116|H38B1A0
+38B1A0:lI114|H38B1A8
+38B1A8:lI97|H38B1B0
+38B1B0:lI99|H38B1B8
+38B1B8:lI101|H38B1C0
+38B1C0:lI47|H38B1C8
+38B1C8:lI106|H38B1D0
+38B1D0:lI97|H38B1D8
+38B1D8:lI110|N
+3873BC:lI47|H3873CC
+3873CC:lI99|H3873E4
+3873E4:lI108|H3873FC
+3873FC:lI101|H38741C
+38741C:lI97|H387444
+387444:lI114|H387474
+387474:lI99|H3874AC
+3874AC:lI97|H3874EC
+3874EC:lI115|H387534
+387534:lI101|H387584
+387584:lI47|H3875DC
+3875DC:lI111|H38763C
+38763C:lI116|H3876A4
+3876A4:lI112|H387714
+387714:lI47|H38778C
+38778C:lI101|H38780C
+38780C:lI114|H387894
+387894:lI116|H387924
+387924:lI115|N
+=proc_dictionary:<0.19.0>
+H370244
+H370250
+=proc_stack:<0.19.0>
+36b45c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A11:supervisor_bridge
+y3:H36B17C
+y4:P<0.19.0>
+y5:P<0.9.0>
+36b478:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37025C
+=proc_heap:<0.19.0>
+36B17C:t5:A5:state,A8:user_sup,P<0.21.0>,P<0.21.0>,H370238
+370238:t2:P<0.19.0>,A8:user_sup
+37025C:lAA:gen_server|H37027C
+37027C:lP<0.9.0>|H37028C
+37028C:lP<0.9.0>|H370294
+370294:lA11:supervisor_bridge|H37029C
+37029C:lH3702A4|H3702AC
+3702A4:lA8:user_sup|H3702B4
+3702B4:lN|H3702BC
+3702BC:lA4:self|N
+3702AC:lN|N
+370244:t2:AD:$initial_call,H370264
+370264:t3:A3:gen,A7:init_it,H37025C
+370250:t2:AA:$ancestors,H370274
+370274:lAA:kernel_sup|H370284
+370284:lP<0.8.0>|N
+=proc_dictionary:<0.20.0>
+H36F8A8
+=proc_stack:<0.20.0>
+36a714:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:H36F8C4
+y3:P<0.21.0>
+y4:P<0.22.0>
+y5:p<0.72>
+y6:p<0.72>
+=proc_heap:<0.20.0>
+36F8C4:t4:I3,I2,P<0.22.0>,H36F8F0
+36F8F0:lH36F900|H36F910
+36F900:t3:I1,P<0.21.0>,H36F920
+36F920:t0:
+36F910:lH36F924|N
+36F924:t3:I2,P<0.22.0>,H36F93C
+36F93C:t3:A5:shell,A5:start,N
+36F8A8:t2:A3:eof,A5:false
+=proc_dictionary:<0.21.0>
+H3709DC
+H3709D0
+H3709F8
+=proc_stack:<0.21.0>
+370d1c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:A9:undefined
+y2:P<0.20.0>
+=proc_heap:<0.21.0>
+3709DC:t2:AB:line_buffer,N
+3709D0:t2:AB:kill_buffer,N
+3709F8:t2:A9:read_mode,A4:list
+=proc_dictionary:<0.22.0>
+H370D44
+H370D60
+H370D7C
+H370D38
+=proc_stack:<0.22.0>
+374a88:SReturn addr 0x2CE718 (group:get_chars_loop/7 + 80)
+y0:N
+y1:N
+y2:A8:infinity
+y3:H374A00
+y4:P<0.20.0>
+y5:H374A28
+374aa4:SReturn addr 0x2CDC18 (group:io_request/5 + 48)
+y0:H37499C
+y1:A6:io_lib
+y2:A9:get_until
+y3:H3748B8
+y4:P<0.20.0>
+y5:A5:start
+374ac0:SReturn addr 0x2CDB2C (group:server_loop/3 + 372)
+y0:P<0.49.0>
+y1:P<0.22.0>
+374acc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:P<0.25.0>
+y2:P<0.20.0>
+=proc_heap:<0.22.0>
+374A00:t4:A4:line,H37499C,H3749A4,A4:none
+3749A4:t2:N,N
+37499C:lI50|H374994
+374994:lI62|H37498C
+37498C:lI32|N
+374A28:t4:A5:stack,H370D58,H374A24,N
+374A24:t0:
+370D58:lH370D74|N
+370D74:lI99|H370D88
+370D88:lI114|H370D90
+370D90:lI97|H370D98
+370D98:lI115|H370DA0
+370DA0:lI104|H370DA8
+370DA8:lI100|H370DB0
+370DB0:lI117|H370DB8
+370DB8:lI109|H370DC0
+370DC0:lI112|H370DC8
+370DC8:lI95|H370DD0
+370DD0:lI118|H370DD8
+370DD8:lI105|H370DE0
+370DE0:lI101|H370DE8
+370DE8:lI119|H370DF0
+370DF0:lI101|H370DF8
+370DF8:lI114|H370E00
+370E00:lI58|H370E08
+370E08:lI115|H370E10
+370E10:lI116|H370E18
+370E18:lI97|H370E20
+370E20:lI114|H370E28
+370E28:lI116|H370E30
+370E30:lI40|H370E38
+370E38:lI41|H370E40
+370E40:lI46|H370E48
+370E48:lI10|N
+3748B8:t3:A8:erl_scan,A6:tokens,H3748B0
+3748B0:lI1|N
+370D44:t2:AB:line_buffer,H370D58
+370D60:t2:A5:shell,P<0.25.0>
+370D7C:t2:AB:kill_buffer,N
+370D38:t2:A9:read_mode,A4:list
+=proc_dictionary:<0.23.0>
+H376464
+H376448
+=proc_stack:<0.23.0>
+376754:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AD:kernel_config
+y3:N
+y4:P<0.23.0>
+y5:P<0.9.0>
+376770:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H376418
+=proc_heap:<0.23.0>
+376418:lAA:gen_server|H376410
+376410:lP<0.9.0>|H376408
+376408:lP<0.9.0>|H376400
+376400:lAD:kernel_config|H3763F8
+3763F8:lN|H3763F0
+3763F0:lN|N
+376464:t2:AD:$initial_call,H376454
+376454:t3:A3:gen,A7:init_it,H376418
+376448:t2:AA:$ancestors,H376440
+376440:lAA:kernel_sup|H376420
+376420:lP<0.8.0>|N
+=proc_dictionary:<0.24.0>
+H3705E0
+H3705EC
+=proc_stack:<0.24.0>
+36f38c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36F018
+y4:AF:kernel_safe_sup
+y5:P<0.9.0>
+36f3a8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37063C
+=proc_heap:<0.24.0>
+36F018:tA:A5:state,H370644,AB:one_for_one,H36F044,N,I4,I3600,N,A6:kernel,A4:safe
+36F044:lH36F04C|N
+36F04C:t8:A5:child,P<0.31.0>,A17:inet_gethost_native_sup,H370650,A9:temporary,I1000,A6:worker,H370660
+370660:lA13:inet_gethost_native|N
+370650:t3:A13:inet_gethost_native,AA:start_link,N
+370644:t2:A5:local,AF:kernel_safe_sup
+37063C:lAA:gen_server|H3706AC
+3706AC:lP<0.9.0>|H3706BC
+3706BC:lP<0.9.0>|H3706C4
+3706C4:lH3706CC|H3706D8
+3706CC:t2:A5:local,AF:kernel_safe_sup
+3706D8:lAA:supervisor|H3706E0
+3706E0:lH3706E8|H3706F8
+3706E8:t3:H370644,A6:kernel,A4:safe
+3706F8:lN|N
+3705E0:t2:AD:$initial_call,H370668
+370668:t3:A3:gen,A7:init_it,H37063C
+3705EC:t2:AA:$ancestors,H370678
+370678:lAA:kernel_sup|H3706B4
+3706B4:lP<0.8.0>|N
+=proc_dictionary:<0.25.0>
+H36E304
+H36E31C
+=proc_stack:<0.25.0>
+36e610:SReturn addr 0x2E06FC (shell:server_loop/6 + 140)
+y0:N
+y1:N
+y2:P<0.27.0>
+y3:P<0.49.0>
+36e624:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:I2
+y3:I1
+y4:N
+y5:N
+y6:N
+y7:I20
+y8:I20
+=proc_heap:<0.25.0>
+36E304:t2:H36E2F8,H36E2A8
+36E2A8:lH36E2B0|N
+36E2B0:t4:A4:call,I1,H36E2C4,N
+36E2C4:t4:A6:remote,I1,H36E2D8,H36E2E8
+36E2E8:t3:A4:atom,I1,A5:start
+36E2D8:t3:A4:atom,I1,A10:crashdump_viewer
+36E2F8:t2:A7:command,I1
+36E31C:t2:H36E310,A2:ok
+36E310:t2:A6:result,I1
+=proc_stack:<0.27.0>
+3bda3c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:P<0.25.0>
+=proc_heap:<0.27.0>
+=proc_dictionary:<0.31.0>
+H36DA24
+H36DA08
+=proc_stack:<0.31.0>
+36dcd4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A11:supervisor_bridge
+y3:H36DB68
+y4:A17:inet_gethost_native_sup
+y5:P<0.24.0>
+36dcf0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36D9D0
+=proc_heap:<0.31.0>
+36DB68:t5:A5:state,A13:inet_gethost_native,P<0.32.0>,P<0.32.0>,H36D994
+36D994:t2:A5:local,A17:inet_gethost_native_sup
+36D9D0:lAA:gen_server|H36D9C8
+36D9C8:lP<0.24.0>|H36D9C0
+36D9C0:lP<0.24.0>|H36D970
+36D970:lH36D980|H36D9B8
+36D980:t2:A5:local,A17:inet_gethost_native_sup
+36D9B8:lA11:supervisor_bridge|H36D978
+36D978:lH36D9A8|H36D9B0
+36D9A8:lA13:inet_gethost_native|H36D9A0
+36D9A0:lN|H36D98C
+36D98C:lH36D994|N
+36D9B0:lN|N
+36DA24:t2:AD:$initial_call,H36DA14
+36DA14:t3:A3:gen,A7:init_it,H36D9D0
+36DA08:t2:AA:$ancestors,H36DA00
+36DA00:lAF:kernel_safe_sup|H36D9E0
+36D9E0:lAA:kernel_sup|H36D9D8
+36D9D8:lP<0.8.0>|N
+=proc_dictionary:<0.32.0>
+H36CFD4
+H36D0BC
+=proc_stack:<0.32.0>
+36d12c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H36CF18
+=proc_heap:<0.32.0>
+36CF18:t8:A5:state,p<0.105>,I8000,I11,I12,P<0.31.0>,I4,H36CEF0
+36CEF0:t9:AA:statistics,I0,I0,I0,I0,I0,I0,I0,I0
+36CFD4:t2:A3:rid,I1
+36D0BC:t2:AC:num_requests,I0
+=proc_dictionary:<0.33.0>
+H3905C4
+H3905D0
+=proc_stack:<0.33.0>
+3ceee4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A7:webtool
+y3:H3C8570
+y4:A8:web_tool
+y5:P<0.33.0>
+3cef00:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3905FC
+=proc_heap:<0.33.0>
+3C8570:t6:A5:state,H3905EC,I13,P<0.41.0>,H3905F4,H3C85D4
+3C85D4:lA10:crashdump_viewer|N
+3905F4:lH390650|H39065C
+390650:t2:A4:port,I8888
+39065C:lH3906C8|H3906D4
+3906C8:t2:AC:bind_address,H390760
+390760:t4:I127,I0,I0,I1
+3906D4:lH390774|H390780
+390774:t2:AB:server_name,H39082C
+39082C:lI108|H390908
+390908:lI111|H3909DC
+3909DC:lI99|H390AC0
+390AC0:lI97|H390B98
+390B98:lI108|H390C78
+390C78:lI104|H390D58
+390D58:lI111|H390E2C
+390E2C:lI115|H390F10
+390F10:lI116|N
+390780:lH390834|H390840
+390834:t2:AE:max_header_siz,I1024
+390840:lH390910|H39091C
+390910:t2:A11:max_header_action,A8:reply414
+39091C:lH3909E4|H3909F0
+3909E4:t2:A8:com_type,A7:ip_comm
+3909F0:lH390AC8|H390AD4
+390AC8:t2:A7:modules,H390BA0
+390BA0:lA9:mod_alias|H390C80
+390C80:lA8:mod_auth|H390D60
+390D60:lA7:mod_esi|H390E34
+390E34:lAB:mod_actions|H390F18
+390F18:lA7:mod_cgi|H390FF4
+390FF4:lAB:mod_include|H3910D8
+3910D8:lA7:mod_dir|H3911B4
+3911B4:lA7:mod_get|H3912A0
+3912A0:lA8:mod_head|H39139C
+39139C:lA7:mod_log|H3914A0
+3914A0:lAC:mod_disk_log|N
+390AD4:lH390BA8|H390BB4
+390BA8:t2:AF:directory_index,H390C88
+390C88:lH390D68|N
+390D68:lI105|H390E3C
+390E3C:lI110|H390F20
+390F20:lI100|H390FFC
+390FFC:lI101|H3910E0
+3910E0:lI120|H3911BC
+3911BC:lI46|H3912A8
+3912A8:lI104|H3913A4
+3913A4:lI116|H3914A8
+3914A8:lI109|H39159C
+39159C:lI108|N
+390BB4:lH390C90|N
+390C90:t2:AC:default_type,H390D70
+390D70:lI116|H390E44
+390E44:lI101|H390F28
+390F28:lI120|H391004
+391004:lI116|H3910E8
+3910E8:lI47|H3911C4
+3911C4:lI112|H3912B0
+3912B0:lI108|H3913AC
+3913AC:lI97|H3914B0
+3914B0:lI105|H3915A4
+3915A4:lI110|N
+3905EC:lI47|H390648
+390648:lI99|H3906C0
+3906C0:lI108|H390758
+390758:lI101|H390824
+390824:lI97|H390900
+390900:lI114|H3909D4
+3909D4:lI99|H390AB8
+390AB8:lI97|H390B90
+390B90:lI115|H390C70
+390C70:lI101|H390D50
+390D50:lI47|H390E24
+390E24:lI111|H390F08
+390F08:lI116|H390FEC
+390FEC:lI112|H3910D0
+3910D0:lI47|H3911AC
+3911AC:lI101|H391298
+391298:lI114|H391394
+391394:lI116|H391498
+391498:lI115|H391594
+391594:lI47|H391680
+391680:lI108|H39175C
+39175C:lI105|H391840
+391840:lI98|H391924
+391924:lI47|H3919F8
+3919F8:lI119|H391AC4
+391AC4:lI101|H391B90
+391B90:lI98|H391C54
+391C54:lI116|H391D18
+391D18:lI111|H391DD4
+391DD4:lI111|H391E90
+391E90:lI108|H391F5C
+391F5C:lI47|H392030
+392030:lI112|H3920EC
+3920EC:lI114|H3921A8
+3921A8:lI105|H392264
+392264:lI118|N
+3905FC:lAA:gen_server|H390664
+390664:lP<0.27.0>|H3906DC
+3906DC:lA4:self|H390788
+390788:lH390848|H390854
+390848:t2:A5:local,A8:web_tool
+390854:lA7:webtool|H390924
+390924:lH3909F8|H390A04
+3909F8:t2:H3905EC,H3905F4
+390A04:lN|N
+3905C4:t2:AD:$initial_call,H390614
+390614:t3:A3:gen,A7:init_it,H3905FC
+3905D0:t2:AA:$ancestors,H390624
+390624:lP<0.27.0>|N
+=proc_dictionary:<0.41.0>
+H36DF0C
+H36DF18
+=proc_stack:<0.41.0>
+36eda4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36EA3C
+y4:A6:websup
+y5:P<0.33.0>
+36edc0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36DF24
+=proc_heap:<0.41.0>
+36EA3C:tA:A5:state,H36DF2C,AB:one_for_one,H36EA68,N,I100,I10,N,AB:webtool_sup,N
+36EA68:lH36EA70|N
+36EA70:t8:A5:child,P<0.48.0>,H36DF38,H36DF44,A9:permanent,I100,A6:worker,H36DF54
+36DF54:lA10:crashdump_viewer|N
+36DF44:t3:A10:crashdump_viewer,AA:start_link,N
+36DF38:t2:A5:local,A17:crashdump_viewer_server
+36DF2C:t2:A5:local,A6:websup
+36DF24:lAA:gen_server|H36DF84
+36DF84:lP<0.33.0>|H36DF94
+36DF94:lP<0.33.0>|H36DF9C
+36DF9C:lH36DFA4|H36DFB0
+36DFA4:t2:A5:local,A6:websup
+36DFB0:lAA:supervisor|H36DFB8
+36DFB8:lH36DFC0|H36DFD0
+36DFC0:t3:H36DF2C,AB:webtool_sup,N
+36DFD0:lN|N
+36DF0C:t2:AD:$initial_call,H36DF6C
+36DF6C:t3:A3:gen,A7:init_it,H36DF24
+36DF18:t2:AA:$ancestors,H36DF7C
+36DF7C:lA8:web_tool|H36DF8C
+36DF8C:lP<0.27.0>|N
+=proc_dictionary:<0.43.0>
+H39D940
+H39D94C
+=proc_stack:<0.43.0>
+3a42ac:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H3A3E34
+y4:A1A:httpd_sup__127_0_0_1__8888
+y5:P<0.33.0>
+3a42c8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H39D9CC
+=proc_heap:<0.43.0>
+3A3E34:tA:A5:state,H39D960,AB:one_for_one,H3A3E20,N,I0,I1,N,A9:httpd_sup,H39DA88
+39DA88:lA9:undefined|H39DB18
+39DB18:lH39DB50|H39DB58
+39DB50:lH39DB88|H39DB94
+39DB88:t2:AB:server_root,H39DBD0
+39DBD0:lI47|H39DC0C
+39DC0C:lI99|H39DC50
+39DC50:lI108|H39DC84
+39DC84:lI101|H39DCC4
+39DCC4:lI97|H39DD28
+39DD28:lI114|H39DD90
+39DD90:lI99|H39DE00
+39DE00:lI97|H39DE78
+39DE78:lI115|H39DF00
+39DF00:lI101|H39DF90
+39DF90:lI47|H39E038
+39E038:lI111|H39E0E8
+39E0E8:lI116|H39E1AC
+39E1AC:lI112|H39E288
+39E288:lI47|H39E37C
+39E37C:lI101|H39E478
+39E478:lI114|H39E580
+39E580:lI116|H39E69C
+39E69C:lI115|H39E7B0
+39E7B0:lI47|H39E8C4
+39E8C4:lI108|H39E9D8
+39E9D8:lI105|H39EACC
+39EACC:lI98|H39EBC0
+39EBC0:lI47|H39ECB4
+39ECB4:lI119|H39EDA8
+39EDA8:lI101|H39EE7C
+39EE7C:lI98|H39EF50
+39EF50:lI116|H39F02C
+39F02C:lI111|H39F110
+39F110:lI111|H39F1E4
+39F1E4:lI108|H39F2B0
+39F2B0:lI47|H39F36C
+39F36C:lI112|H39F430
+39F430:lI114|H39F4FC
+39F4FC:lI105|H39F5C0
+39F5C0:lI118|H39F694
+39F694:lI47|H39F768
+39F768:lI114|H39F83C
+39F83C:lI111|H39F920
+39F920:lI111|H39F9FC
+39F9FC:lI116|N
+39DB94:lH39DBD8|H39DBE4
+39DBD8:t2:AD:document_root,H39DC14
+39DC14:lI47|H39DC58
+39DC58:lI99|H39DC8C
+39DC8C:lI108|H39DCCC
+39DCCC:lI101|H39DD30
+39DD30:lI97|H39DD98
+39DD98:lI114|H39DE08
+39DE08:lI99|H39DE80
+39DE80:lI97|H39DF08
+39DF08:lI115|H39DF98
+39DF98:lI101|H39E040
+39E040:lI47|H39E0F0
+39E0F0:lI111|H39E1B4
+39E1B4:lI116|H39E290
+39E290:lI112|H39E384
+39E384:lI47|H39E480
+39E480:lI101|H39E588
+39E588:lI114|H39E6A4
+39E6A4:lI116|H39E7B8
+39E7B8:lI115|H39E8CC
+39E8CC:lI47|H39E9E0
+39E9E0:lI108|H39EAD4
+39EAD4:lI105|H39EBC8
+39EBC8:lI98|H39ECBC
+39ECBC:lI47|H39EDB0
+39EDB0:lI119|H39EE84
+39EE84:lI101|H39EF58
+39EF58:lI98|H39F034
+39F034:lI116|H39F118
+39F118:lI111|H39F1EC
+39F1EC:lI111|H39F2B8
+39F2B8:lI108|H39F374
+39F374:lI47|H39F438
+39F438:lI112|H39F504
+39F504:lI114|H39F5C8
+39F5C8:lI105|H39F69C
+39F69C:lI118|H39F770
+39F770:lI47|H39F844
+39F844:lI114|H39F928
+39F928:lI111|H39FA04
+39FA04:lI111|H39FAD8
+39FAD8:lI116|H39FBB4
+39FBB4:lI47|H39FC80
+39FC80:lI100|H39FD44
+39FD44:lI111|H39FE10
+39FE10:lI99|N
+39DBE4:lH39DC1C|H39DC28
+39DC1C:t2:AA:mime_types,H39DC60
+39DC60:lH39DC94|H39DCA0
+39DC94:t2:H39DCD4,H39DCDC
+39DCDC:lI120|H39DD40
+39DD40:lI45|H39DDA8
+39DDA8:lI119|H39DE10
+39DE10:lI111|H39DE88
+39DE88:lI114|H39DF10
+39DF10:lI108|H39DFA0
+39DFA0:lI100|H39E048
+39E048:lI47|H39E0F8
+39E0F8:lI120|H39E1BC
+39E1BC:lI45|H39E298
+39E298:lI118|H39E38C
+39E38C:lI114|H39E488
+39E488:lI109|H39E590
+39E590:lI108|N
+39DCD4:lI119|H39DD38
+39DD38:lI114|H39DDA0
+39DDA0:lI108|N
+39DCA0:lH39DCE4|H39DCF0
+39DCE4:t2:H39DD48,H39DD50
+39DD50:lI120|H39DDB8
+39DDB8:lI45|H39DE20
+39DE20:lI119|H39DE98
+39DE98:lI111|H39DF18
+39DF18:lI114|H39DFA8
+39DFA8:lI108|H39E050
+39E050:lI100|H39E100
+39E100:lI47|H39E1C4
+39E1C4:lI120|H39E2A0
+39E2A0:lI45|H39E394
+39E394:lI118|H39E490
+39E490:lI114|H39E598
+39E598:lI109|H39E6AC
+39E6AC:lI108|N
+39DD48:lI118|H39DDB0
+39DDB0:lI114|H39DE18
+39DE18:lI109|H39DE90
+39DE90:lI108|N
+39DCF0:lH39DD58|H39DD64
+39DD58:t2:H39DDC0,H39DDC8
+39DDC8:lI120|H39DE30
+39DE30:lI45|H39DEA8
+39DEA8:lI99|H39DF20
+39DF20:lI111|H39DFB0
+39DFB0:lI110|H39E058
+39E058:lI102|H39E108
+39E108:lI101|H39E1CC
+39E1CC:lI114|H39E2A8
+39E2A8:lI101|H39E39C
+39E39C:lI110|H39E498
+39E498:lI99|H39E5A0
+39E5A0:lI101|H39E6B4
+39E6B4:lI47|H39E7C0
+39E7C0:lI120|H39E8D4
+39E8D4:lI45|H39E9E8
+39E9E8:lI99|H39EADC
+39EADC:lI111|H39EBD0
+39EBD0:lI111|H39ECC4
+39ECC4:lI108|H39EDB8
+39EDB8:lI116|H39EE8C
+39EE8C:lI97|H39EF60
+39EF60:lI108|H39F03C
+39F03C:lI107|N
+39DDC0:lI105|H39DE28
+39DE28:lI99|H39DEA0
+39DEA0:lI101|N
+39DD64:lH39DDD0|H39DDDC
+39DDD0:t2:H39DE38,H39DE40
+39DE40:lI118|H39DEB8
+39DEB8:lI105|H39DF30
+39DF30:lI100|H39DFC0
+39DFC0:lI101|H39E068
+39E068:lI111|H39E110
+39E110:lI47|H39E1D4
+39E1D4:lI120|H39E2B0
+39E2B0:lI45|H39E3A4
+39E3A4:lI115|H39E4A0
+39E4A0:lI103|H39E5A8
+39E5A8:lI105|H39E6BC
+39E6BC:lI45|H39E7C8
+39E7C8:lI109|H39E8DC
+39E8DC:lI111|H39E9F0
+39E9F0:lI118|H39EAE4
+39EAE4:lI105|H39EBD8
+39EBD8:lI101|N
+39DE38:lI109|H39DEB0
+39DEB0:lI111|H39DF28
+39DF28:lI118|H39DFB8
+39DFB8:lI105|H39E060
+39E060:lI101|N
+39DDDC:lH39DE48|H39DE54
+39DE48:t2:H39DEC0,H39DEC8
+39DEC8:lI118|H39DF40
+39DF40:lI105|H39DFD0
+39DFD0:lI100|H39E070
+39E070:lI101|H39E118
+39E118:lI111|H39E1DC
+39E1DC:lI47|H39E2B8
+39E2B8:lI120|H39E3AC
+39E3AC:lI45|H39E4A8
+39E4A8:lI109|H39E5B0
+39E5B0:lI115|H39E6C4
+39E6C4:lI118|H39E7D0
+39E7D0:lI105|H39E8E4
+39E8E4:lI100|H39E9F8
+39E9F8:lI101|H39EAEC
+39EAEC:lI111|N
+39DEC0:lI97|H39DF38
+39DF38:lI118|H39DFC8
+39DFC8:lI105|N
+39DE54:lH39DED0|H39DEDC
+39DED0:t2:H39DF48,H39DF50
+39DF50:lI118|H39DFE0
+39DFE0:lI105|H39E078
+39E078:lI100|H39E120
+39E120:lI101|H39E1E4
+39E1E4:lI111|H39E2C0
+39E2C0:lI47|H39E3B4
+39E3B4:lI113|H39E4B0
+39E4B0:lI117|H39E5B8
+39E5B8:lI105|H39E6CC
+39E6CC:lI99|H39E7D8
+39E7D8:lI107|H39E8EC
+39E8EC:lI116|H39EA00
+39EA00:lI105|H39EAF4
+39EAF4:lI109|H39EBE0
+39EBE0:lI101|N
+39DF48:lI113|H39DFD8
+39DFD8:lI116|N
+39DEDC:lH39DF58|H39DF64
+39DF58:t2:H39DFE8,H39DFF0
+39DFF0:lI118|H39E088
+39E088:lI105|H39E130
+39E130:lI100|H39E1EC
+39E1EC:lI101|H39E2C8
+39E2C8:lI111|H39E3BC
+39E3BC:lI47|H39E4B8
+39E4B8:lI113|H39E5C0
+39E5C0:lI117|H39E6D4
+39E6D4:lI105|H39E7E0
+39E7E0:lI99|H39E8F4
+39E8F4:lI107|H39EA08
+39EA08:lI116|H39EAFC
+39EAFC:lI105|H39EBE8
+39EBE8:lI109|H39ECCC
+39ECCC:lI101|N
+39DFE8:lI109|H39E080
+39E080:lI111|H39E128
+39E128:lI118|N
+39DF64:lH39DFF8|H39E004
+39DFF8:t2:H39E090,H39E098
+39E098:lI118|H39E140
+39E140:lI105|H39E1FC
+39E1FC:lI100|H39E2D8
+39E2D8:lI101|H39E3C4
+39E3C4:lI111|H39E4C0
+39E4C0:lI47|H39E5C8
+39E5C8:lI109|H39E6DC
+39E6DC:lI112|H39E7E8
+39E7E8:lI101|H39E8FC
+39E8FC:lI103|N
+39E090:lI109|H39E138
+39E138:lI112|H39E1F4
+39E1F4:lI101|H39E2D0
+39E2D0:lI103|N
+39E004:lH39E0A0|H39E0AC
+39E0A0:t2:H39E148,H39E150
+39E150:lI118|H39E20C
+39E20C:lI105|H39E2E8
+39E2E8:lI100|H39E3CC
+39E3CC:lI101|H39E4C8
+39E4C8:lI111|H39E5D0
+39E5D0:lI47|H39E6E4
+39E6E4:lI109|H39E7F0
+39E7F0:lI112|H39E904
+39E904:lI101|H39EA10
+39EA10:lI103|N
+39E148:lI109|H39E204
+39E204:lI112|H39E2E0
+39E2E0:lI103|N
+39E0AC:lH39E158|H39E164
+39E158:t2:H39E214,H39E21C
+39E21C:lI118|H39E2F8
+39E2F8:lI105|H39E3DC
+39E3DC:lI100|H39E4D0
+39E4D0:lI101|H39E5D8
+39E5D8:lI111|H39E6EC
+39E6EC:lI47|H39E7F8
+39E7F8:lI109|H39E90C
+39E90C:lI112|H39EA18
+39EA18:lI101|H39EB04
+39EB04:lI103|N
+39E214:lI109|H39E2F0
+39E2F0:lI112|H39E3D4
+39E3D4:lI101|N
+39E164:lH39E224|H39E230
+39E224:t2:H39E300,H39E308
+39E308:lI116|H39E3EC
+39E3EC:lI101|H39E4E0
+39E4E0:lI120|H39E5E8
+39E5E8:lI116|H39E6F4
+39E6F4:lI47|H39E800
+39E800:lI120|H39E914
+39E914:lI45|H39EA20
+39EA20:lI115|H39EB0C
+39EB0C:lI103|H39EBF0
+39EBF0:lI109|H39ECD4
+39ECD4:lI108|N
+39E300:lI115|H39E3E4
+39E3E4:lI103|H39E4D8
+39E4D8:lI109|H39E5E0
+39E5E0:lI108|N
+39E230:lH39E310|H39E31C
+39E310:t2:H39E3F4,H39E3FC
+39E3FC:lI116|H39E4F0
+39E4F0:lI101|H39E5F8
+39E5F8:lI120|H39E6FC
+39E6FC:lI116|H39E808
+39E808:lI47|H39E91C
+39E91C:lI120|H39EA28
+39EA28:lI45|H39EB14
+39EB14:lI115|H39EBF8
+39EBF8:lI103|H39ECDC
+39ECDC:lI109|H39EDC0
+39EDC0:lI108|N
+39E3F4:lI115|H39E4E8
+39E4E8:lI103|H39E5F0
+39E5F0:lI109|N
+39E31C:lH39E404|H39E410
+39E404:t2:H39E4F8,H39E500
+39E500:lI116|H39E608
+39E608:lI101|H39E70C
+39E70C:lI120|H39E810
+39E810:lI116|H39E924
+39E924:lI47|H39EA30
+39EA30:lI120|H39EB1C
+39EB1C:lI45|H39EC00
+39EC00:lI115|H39ECE4
+39ECE4:lI101|H39EDC8
+39EDC8:lI116|H39EE94
+39EE94:lI101|H39EF68
+39EF68:lI120|H39F044
+39F044:lI116|N
+39E4F8:lI101|H39E600
+39E600:lI116|H39E704
+39E704:lI120|N
+39E410:lH39E508|H39E514
+39E508:t2:H39E610,H39E618
+39E618:lI116|H39E71C
+39E71C:lI101|H39E820
+39E820:lI120|H39E92C
+39E92C:lI116|H39EA38
+39EA38:lI47|H39EB24
+39EB24:lI116|H39EC08
+39EC08:lI97|H39ECEC
+39ECEC:lI98|H39EDD0
+39EDD0:lI45|H39EE9C
+39EE9C:lI115|H39EF70
+39EF70:lI101|H39F04C
+39F04C:lI112|H39F120
+39F120:lI97|H39F1F4
+39F1F4:lI114|H39F2C0
+39F2C0:lI97|H39F37C
+39F37C:lI116|H39F440
+39F440:lI101|H39F50C
+39F50C:lI100|H39F5D0
+39F5D0:lI45|H39F6A4
+39F6A4:lI118|H39F778
+39F778:lI97|H39F84C
+39F84C:lI108|H39F930
+39F930:lI117|H39FA0C
+39FA0C:lI101|H39FAE0
+39FAE0:lI115|N
+39E610:lI116|H39E714
+39E714:lI115|H39E818
+39E818:lI118|N
+39E514:lH39E620|H39E62C
+39E620:t2:H39E724,H39E72C
+39E72C:lI116|H39E830
+39E830:lI101|H39E93C
+39E93C:lI120|H39EA40
+39EA40:lI116|H39EB2C
+39EB2C:lI47|H39EC10
+39EC10:lI114|H39ECF4
+39ECF4:lI105|H39EDD8
+39EDD8:lI99|H39EEA4
+39EEA4:lI104|H39EF78
+39EF78:lI116|H39F054
+39F054:lI101|H39F128
+39F128:lI120|H39F1FC
+39F1FC:lI116|N
+39E724:lI114|H39E828
+39E828:lI116|H39E934
+39E934:lI120|N
+39E62C:lH39E734|H39E740
+39E734:t2:H39E838,H39E840
+39E840:lI116|H39E94C
+39E94C:lI101|H39EA50
+39EA50:lI120|H39EB34
+39EB34:lI116|H39EC18
+39EC18:lI47|H39ECFC
+39ECFC:lI112|H39EDE0
+39EDE0:lI108|H39EEAC
+39EEAC:lI97|H39EF80
+39EF80:lI105|H39F05C
+39F05C:lI110|N
+39E838:lI116|H39E944
+39E944:lI120|H39EA48
+39EA48:lI116|N
+39E740:lH39E848|H39E854
+39E848:t2:H39E954,H39E95C
+39E95C:lI116|H39EA60
+39EA60:lI101|H39EB44
+39EB44:lI120|H39EC28
+39EC28:lI116|H39ED0C
+39ED0C:lI47|H39EDE8
+39EDE8:lI120|H39EEB4
+39EEB4:lI45|H39EF88
+39EF88:lI115|H39F064
+39F064:lI101|H39F130
+39F130:lI114|H39F204
+39F204:lI118|H39F2C8
+39F2C8:lI101|H39F384
+39F384:lI114|H39F448
+39F448:lI45|H39F514
+39F514:lI112|H39F5D8
+39F5D8:lI97|H39F6AC
+39F6AC:lI114|H39F780
+39F780:lI115|H39F854
+39F854:lI101|H39F938
+39F938:lI100|H39FA14
+39FA14:lI45|H39FAE8
+39FAE8:lI104|H39FBBC
+39FBBC:lI116|H39FC88
+39FC88:lI109|H39FD4C
+39FD4C:lI108|N
+39E954:lI115|H39EA58
+39EA58:lI104|H39EB3C
+39EB3C:lI116|H39EC20
+39EC20:lI109|H39ED04
+39ED04:lI108|N
+39E854:lH39E964|H39E970
+39E964:t2:H39EA68,H39EA70
+39EA70:lI116|H39EB54
+39EB54:lI101|H39EC38
+39EC38:lI120|H39ED1C
+39ED1C:lI116|H39EDF0
+39EDF0:lI47|H39EEBC
+39EEBC:lI104|H39EF90
+39EF90:lI116|H39F06C
+39F06C:lI109|H39F138
+39F138:lI108|N
+39EA68:lI104|H39EB4C
+39EB4C:lI116|H39EC30
+39EC30:lI109|H39ED14
+39ED14:lI108|N
+39E970:lH39EA78|H39EA84
+39EA78:t2:H39EB5C,H39EB64
+39EB64:lI116|H39EC48
+39EC48:lI101|H39ED2C
+39ED2C:lI120|H39EDF8
+39EDF8:lI116|H39EEC4
+39EEC4:lI47|H39EF98
+39EF98:lI104|H39F074
+39F074:lI116|H39F140
+39F140:lI109|H39F20C
+39F20C:lI108|N
+39EB5C:lI104|H39EC40
+39EC40:lI116|H39ED24
+39ED24:lI109|N
+39EA84:lH39EB6C|H39EB78
+39EB6C:t2:H39EC50,H39EC58
+39EC58:lI105|H39ED3C
+39ED3C:lI109|H39EE08
+39EE08:lI97|H39EECC
+39EECC:lI103|H39EFA0
+39EFA0:lI101|H39F07C
+39F07C:lI47|H39F148
+39F148:lI120|H39F214
+39F214:lI45|H39F2D0
+39F2D0:lI120|H39F38C
+39F38C:lI119|H39F450
+39F450:lI105|H39F51C
+39F51C:lI110|H39F5E0
+39F5E0:lI100|H39F6B4
+39F6B4:lI111|H39F788
+39F788:lI119|H39F85C
+39F85C:lI100|H39F940
+39F940:lI117|H39FA1C
+39FA1C:lI109|H39FAF0
+39FAF0:lI112|N
+39EC50:lI120|H39ED34
+39ED34:lI119|H39EE00
+39EE00:lI100|N
+39EB78:lH39EC60|H39EC6C
+39EC60:t2:H39ED44,H39ED4C
+39ED4C:lI105|H39EE18
+39EE18:lI109|H39EEDC
+39EEDC:lI97|H39EFA8
+39EFA8:lI103|H39F084
+39F084:lI101|H39F150
+39F150:lI47|H39F21C
+39F21C:lI120|H39F2D8
+39F2D8:lI45|H39F394
+39F394:lI120|H39F458
+39F458:lI112|H39F524
+39F524:lI105|H39F5E8
+39F5E8:lI120|H39F6BC
+39F6BC:lI109|H39F790
+39F790:lI97|H39F864
+39F864:lI112|N
+39ED44:lI120|H39EE10
+39EE10:lI112|H39EED4
+39EED4:lI109|N
+39EC6C:lH39ED54|H39ED60
+39ED54:t2:H39EE20,H39EE28
+39EE28:lI105|H39EEEC
+39EEEC:lI109|H39EFB8
+39EFB8:lI97|H39F08C
+39F08C:lI103|H39F158
+39F158:lI101|H39F224
+39F224:lI47|H39F2E0
+39F2E0:lI120|H39F39C
+39F39C:lI45|H39F460
+39F460:lI120|H39F52C
+39F52C:lI98|H39F5F0
+39F5F0:lI105|H39F6C4
+39F6C4:lI116|H39F798
+39F798:lI109|H39F86C
+39F86C:lI97|H39F948
+39F948:lI112|N
+39EE20:lI120|H39EEE4
+39EEE4:lI98|H39EFB0
+39EFB0:lI109|N
+39ED60:lH39EE30|H39EE3C
+39EE30:t2:H39EEF4,H39EEFC
+39EEFC:lI105|H39EFC8
+39EFC8:lI109|H39F09C
+39F09C:lI97|H39F160
+39F160:lI103|H39F22C
+39F22C:lI101|H39F2E8
+39F2E8:lI47|H39F3A4
+39F3A4:lI120|H39F468
+39F468:lI45|H39F534
+39F534:lI114|H39F5F8
+39F5F8:lI103|H39F6CC
+39F6CC:lI98|N
+39EEF4:lI114|H39EFC0
+39EFC0:lI103|H39F094
+39F094:lI98|N
+39EE3C:lH39EF04|H39EF10
+39EF04:t2:H39EFD0,H39EFD8
+39EFD8:lI105|H39F0AC
+39F0AC:lI109|H39F170
+39F170:lI97|H39F234
+39F234:lI103|H39F2F0
+39F2F0:lI101|H39F3AC
+39F3AC:lI47|H39F470
+39F470:lI120|H39F53C
+39F53C:lI45|H39F600
+39F600:lI112|H39F6D4
+39F6D4:lI111|H39F7A0
+39F7A0:lI114|H39F874
+39F874:lI116|H39F950
+39F950:lI97|H39FA24
+39FA24:lI98|H39FAF8
+39FAF8:lI108|H39FBC4
+39FBC4:lI101|H39FC90
+39FC90:lI45|H39FD54
+39FD54:lI112|H39FE18
+39FE18:lI105|H39FECC
+39FECC:lI120|H39FF88
+39FF88:lI109|H3A003C
+3A003C:lI97|H3A00E8
+3A00E8:lI112|N
+39EFD0:lI112|H39F0A4
+39F0A4:lI112|H39F168
+39F168:lI109|N
+39EF10:lH39EFE0|H39EFEC
+39EFE0:t2:H39F0B4,H39F0BC
+39F0BC:lI105|H39F180
+39F180:lI109|H39F244
+39F244:lI97|H39F2F8
+39F2F8:lI103|H39F3B4
+39F3B4:lI101|H39F478
+39F478:lI47|H39F544
+39F544:lI120|H39F608
+39F608:lI45|H39F6DC
+39F6DC:lI112|H39F7A8
+39F7A8:lI111|H39F87C
+39F87C:lI114|H39F958
+39F958:lI116|H39FA2C
+39FA2C:lI97|H39FB00
+39FB00:lI98|H39FBCC
+39FBCC:lI108|H39FC98
+39FC98:lI101|H39FD5C
+39FD5C:lI45|H39FE20
+39FE20:lI103|H39FED4
+39FED4:lI114|H39FF90
+39FF90:lI97|H3A0044
+3A0044:lI121|H3A00F0
+3A00F0:lI109|H3A0194
+3A0194:lI97|H3A0248
+3A0248:lI112|N
+39F0B4:lI112|H39F178
+39F178:lI103|H39F23C
+39F23C:lI109|N
+39EFEC:lH39F0C4|H39F0D0
+39F0C4:t2:H39F188,H39F190
+39F190:lI105|H39F254
+39F254:lI109|H39F308
+39F308:lI97|H39F3BC
+39F3BC:lI103|H39F480
+39F480:lI101|H39F54C
+39F54C:lI47|H39F610
+39F610:lI120|H39F6E4
+39F6E4:lI45|H39F7B0
+39F7B0:lI112|H39F884
+39F884:lI111|H39F960
+39F960:lI114|H39FA34
+39FA34:lI116|H39FB08
+39FB08:lI97|H39FBD4
+39FBD4:lI98|H39FCA0
+39FCA0:lI108|H39FD64
+39FD64:lI101|H39FE28
+39FE28:lI45|H39FEDC
+39FEDC:lI98|H39FF98
+39FF98:lI105|H3A004C
+3A004C:lI116|H3A00F8
+3A00F8:lI109|H3A019C
+3A019C:lI97|H3A0250
+3A0250:lI112|N
+39F188:lI112|H39F24C
+39F24C:lI98|H39F300
+39F300:lI109|N
+39F0D0:lH39F198|H39F1A4
+39F198:t2:H39F25C,H39F264
+39F264:lI105|H39F318
+39F318:lI109|H39F3CC
+39F3CC:lI97|H39F488
+39F488:lI103|H39F554
+39F554:lI101|H39F618
+39F618:lI47|H39F6EC
+39F6EC:lI120|H39F7B8
+39F7B8:lI45|H39F88C
+39F88C:lI112|H39F968
+39F968:lI111|H39FA3C
+39FA3C:lI114|H39FB10
+39FB10:lI116|H39FBDC
+39FBDC:lI97|H39FCA8
+39FCA8:lI98|H39FD6C
+39FD6C:lI108|H39FE30
+39FE30:lI101|H39FEE4
+39FEE4:lI45|H39FFA0
+39FFA0:lI97|H3A0054
+3A0054:lI110|H3A0100
+3A0100:lI121|H3A01A4
+3A01A4:lI109|H3A0258
+3A0258:lI97|H3A0304
+3A0304:lI112|N
+39F25C:lI112|H39F310
+39F310:lI110|H39F3C4
+39F3C4:lI109|N
+39F1A4:lH39F26C|H39F278
+39F26C:t2:H39F320,H39F328
+39F328:lI105|H39F3DC
+39F3DC:lI109|H39F498
+39F498:lI97|H39F55C
+39F55C:lI103|H39F620
+39F620:lI101|H39F6F4
+39F6F4:lI47|H39F7C0
+39F7C0:lI120|H39F894
+39F894:lI45|H39F970
+39F970:lI99|H39FA44
+39FA44:lI109|H39FB18
+39FB18:lI117|H39FBE4
+39FBE4:lI45|H39FCB0
+39FCB0:lI114|H39FD74
+39FD74:lI97|H39FE38
+39FE38:lI115|H39FEEC
+39FEEC:lI116|H39FFA8
+39FFA8:lI101|H3A005C
+3A005C:lI114|N
+39F320:lI114|H39F3D4
+39F3D4:lI97|H39F490
+39F490:lI115|N
+39F278:lH39F330|H39F33C
+39F330:t2:H39F3E4,H39F3EC
+39F3EC:lI105|H39F4A8
+39F4A8:lI109|H39F56C
+39F56C:lI97|H39F630
+39F630:lI103|H39F6FC
+39F6FC:lI101|H39F7C8
+39F7C8:lI47|H39F89C
+39F89C:lI116|H39F978
+39F978:lI105|H39FA4C
+39FA4C:lI102|H39FB20
+39FB20:lI102|N
+39F3E4:lI116|H39F4A0
+39F4A0:lI105|H39F564
+39F564:lI102|H39F628
+39F628:lI102|N
+39F33C:lH39F3F4|H39F400
+39F3F4:t2:H39F4B0,H39F4B8
+39F4B8:lI105|H39F57C
+39F57C:lI109|H39F640
+39F640:lI97|H39F704
+39F704:lI103|H39F7D0
+39F7D0:lI101|H39F8A4
+39F8A4:lI47|H39F980
+39F980:lI116|H39FA54
+39FA54:lI105|H39FB28
+39FB28:lI102|H39FBEC
+39FBEC:lI102|N
+39F4B0:lI116|H39F574
+39F574:lI105|H39F638
+39F638:lI102|N
+39F400:lH39F4C0|H39F4CC
+39F4C0:t2:H39F584,H39F58C
+39F58C:lI105|H39F650
+39F650:lI109|H39F714
+39F714:lI97|H39F7D8
+39F7D8:lI103|H39F8AC
+39F8AC:lI101|H39F988
+39F988:lI47|H39FA5C
+39FA5C:lI112|H39FB30
+39FB30:lI110|H39FBF4
+39FBF4:lI103|N
+39F584:lI112|H39F648
+39F648:lI110|H39F70C
+39F70C:lI103|N
+39F4CC:lH39F594|H39F5A0
+39F594:t2:H39F658,H39F660
+39F660:lI105|H39F724
+39F724:lI109|H39F7E8
+39F7E8:lI97|H39F8BC
+39F8BC:lI103|H39F990
+39F990:lI101|H39FA64
+39FA64:lI47|H39FB38
+39FB38:lI106|H39FBFC
+39FBFC:lI112|H39FCB8
+39FCB8:lI101|H39FD7C
+39FD7C:lI103|N
+39F658:lI106|H39F71C
+39F71C:lI112|H39F7E0
+39F7E0:lI101|H39F8B4
+39F8B4:lI103|N
+39F5A0:lH39F668|H39F674
+39F668:t2:H39F72C,H39F734
+39F734:lI105|H39F7F8
+39F7F8:lI109|H39F8CC
+39F8CC:lI97|H39F998
+39F998:lI103|H39FA6C
+39FA6C:lI101|H39FB40
+39FB40:lI47|H39FC04
+39FC04:lI106|H39FCC0
+39FCC0:lI112|H39FD84
+39FD84:lI101|H39FE40
+39FE40:lI103|N
+39F72C:lI106|H39F7F0
+39F7F0:lI112|H39F8C4
+39F8C4:lI103|N
+39F674:lH39F73C|H39F748
+39F73C:t2:H39F800,H39F808
+39F808:lI105|H39F8DC
+39F8DC:lI109|H39F9A8
+39F9A8:lI97|H39FA74
+39FA74:lI103|H39FB48
+39FB48:lI101|H39FC0C
+39FC0C:lI47|H39FCC8
+39FCC8:lI106|H39FD8C
+39FD8C:lI112|H39FE48
+39FE48:lI101|H39FEF4
+39FEF4:lI103|N
+39F800:lI106|H39F8D4
+39F8D4:lI112|H39F9A0
+39F9A0:lI101|N
+39F748:lH39F810|H39F81C
+39F810:t2:H39F8E4,H39F8EC
+39F8EC:lI105|H39F9B8
+39F9B8:lI109|H39FA84
+39FA84:lI97|H39FB50
+39FB50:lI103|H39FC14
+39FC14:lI101|H39FCD0
+39FCD0:lI47|H39FD94
+39FD94:lI105|H39FE50
+39FE50:lI101|H39FEFC
+39FEFC:lI102|N
+39F8E4:lI105|H39F9B0
+39F9B0:lI101|H39FA7C
+39FA7C:lI102|N
+39F81C:lH39F8F4|H39F900
+39F8F4:t2:H39F9C0,H39F9C8
+39F9C8:lI105|H39FA94
+39FA94:lI109|H39FB60
+39FB60:lI97|H39FC1C
+39FC1C:lI103|H39FCD8
+39FCD8:lI101|H39FD9C
+39FD9C:lI47|H39FE58
+39FE58:lI103|H39FF04
+39FF04:lI105|H39FFB0
+39FFB0:lI102|N
+39F9C0:lI103|H39FA8C
+39FA8C:lI105|H39FB58
+39FB58:lI102|N
+39F900:lH39F9D0|H39F9DC
+39F9D0:t2:H39FA9C,H39FAA4
+39FAA4:lI99|H39FB70
+39FB70:lI104|H39FC2C
+39FC2C:lI101|H39FCE0
+39FCE0:lI109|H39FDA4
+39FDA4:lI105|H39FE60
+39FE60:lI99|H39FF0C
+39FF0C:lI97|H39FFB8
+39FFB8:lI108|H3A0064
+3A0064:lI47|H3A0108
+3A0108:lI120|H3A01AC
+3A01AC:lI45|H3A0260
+3A0260:lI112|H3A030C
+3A030C:lI100|H3A03B8
+3A03B8:lI98|N
+39FA9C:lI112|H39FB68
+39FB68:lI100|H39FC24
+39FC24:lI98|N
+39F9DC:lH39FAAC|H39FAB8
+39FAAC:t2:H39FB78,H39FB80
+39FB80:lI99|H39FC3C
+39FC3C:lI104|H39FCF0
+39FCF0:lI101|H39FDAC
+39FDAC:lI109|H39FE68
+39FE68:lI105|H39FF14
+39FF14:lI99|H39FFC0
+39FFC0:lI97|H3A006C
+3A006C:lI108|H3A0110
+3A0110:lI47|H3A01B4
+3A01B4:lI120|H3A0268
+3A0268:lI45|H3A0314
+3A0314:lI112|H3A03C0
+3A03C0:lI100|H3A0454
+3A0454:lI98|N
+39FB78:lI120|H39FC34
+39FC34:lI121|H39FCE8
+39FCE8:lI122|N
+39FAB8:lH39FB88|H39FB94
+39FB88:t2:H39FC44,H39FC4C
+39FC4C:lI97|H39FD00
+39FD00:lI117|H39FDBC
+39FDBC:lI100|H39FE70
+39FE70:lI105|H39FF1C
+39FF1C:lI111|H39FFC8
+39FFC8:lI47|H3A0074
+3A0074:lI120|H3A0118
+3A0118:lI45|H3A01BC
+3A01BC:lI119|H3A0270
+3A0270:lI97|H3A031C
+3A031C:lI118|N
+39FC44:lI119|H39FCF8
+39FCF8:lI97|H39FDB4
+39FDB4:lI118|N
+39FB94:lH39FC54|H39FC60
+39FC54:t2:H39FD08,H39FD10
+39FD10:lI97|H39FDCC
+39FDCC:lI117|H39FE78
+39FE78:lI100|H39FF24
+39FF24:lI105|H39FFD0
+39FFD0:lI111|H3A007C
+3A007C:lI47|H3A0120
+3A0120:lI120|H3A01C4
+3A01C4:lI45|H3A0278
+3A0278:lI114|H3A0324
+3A0324:lI101|H3A03C8
+3A03C8:lI97|H3A045C
+3A045C:lI108|H3A04F8
+3A04F8:lI97|H3A059C
+3A059C:lI117|H3A0648
+3A0648:lI100|H3A06F4
+3A06F4:lI105|H3A07A0
+3A07A0:lI111|N
+39FD08:lI114|H39FDC4
+39FDC4:lI97|N
+39FC60:lH39FD18|H39FD24
+39FD18:t2:H39FDD4,H39FDDC
+39FDDC:lI97|H39FE88
+39FE88:lI117|H39FF34
+39FF34:lI100|H39FFD8
+39FFD8:lI105|H3A0084
+3A0084:lI111|H3A0128
+3A0128:lI47|H3A01CC
+3A01CC:lI120|H3A0280
+3A0280:lI45|H3A032C
+3A032C:lI112|H3A03D0
+3A03D0:lI110|H3A0464
+3A0464:lI45|H3A0500
+3A0500:lI114|H3A05A4
+3A05A4:lI101|H3A0650
+3A0650:lI97|H3A06FC
+3A06FC:lI108|H3A07A8
+3A07A8:lI97|H3A0844
+3A0844:lI117|H3A08D0
+3A08D0:lI100|H3A0964
+3A0964:lI105|H3A09F8
+3A09F8:lI111|H3A0A94
+3A0A94:lI45|H3A0B40
+3A0B40:lI112|H3A0BEC
+3A0BEC:lI108|H3A0CA8
+3A0CA8:lI117|H3A0D64
+3A0D64:lI103|H3A0E18
+3A0E18:lI105|H3A0ECC
+3A0ECC:lI110|N
+39FDD4:lI114|H39FE80
+39FE80:lI112|H39FF2C
+39FF2C:lI109|N
+39FD24:lH39FDE4|H39FDF0
+39FDE4:t2:H39FE90,H39FE98
+39FE98:lI97|H39FF44
+39FF44:lI117|H39FFE8
+39FFE8:lI100|H3A008C
+3A008C:lI105|H3A0130
+3A0130:lI111|H3A01D4
+3A01D4:lI47|H3A0288
+3A0288:lI120|H3A0334
+3A0334:lI45|H3A03D8
+3A03D8:lI112|H3A046C
+3A046C:lI110|H3A0508
+3A0508:lI45|H3A05AC
+3A05AC:lI114|H3A0658
+3A0658:lI101|H3A0704
+3A0704:lI97|H3A07B0
+3A07B0:lI108|H3A084C
+3A084C:lI97|H3A08D8
+3A08D8:lI117|H3A096C
+3A096C:lI100|H3A0A00
+3A0A00:lI105|H3A0A9C
+3A0A9C:lI111|N
+39FE90:lI114|H39FF3C
+39FF3C:lI97|H39FFE0
+39FFE0:lI109|N
+39FDF0:lH39FEA0|H39FEAC
+39FEA0:t2:H39FF4C,H39FF54
+39FF54:lI97|H39FFF8
+39FFF8:lI117|H3A009C
+3A009C:lI100|H3A0138
+3A0138:lI105|H3A01DC
+3A01DC:lI111|H3A0290
+3A0290:lI47|H3A033C
+3A033C:lI120|H3A03E0
+3A03E0:lI45|H3A0474
+3A0474:lI97|H3A0510
+3A0510:lI105|H3A05B4
+3A05B4:lI102|H3A0660
+3A0660:lI102|N
+39FF4C:lI97|H39FFF0
+39FFF0:lI105|H3A0094
+3A0094:lI102|N
+39FEAC:lH39FF5C|H39FF68
+39FF5C:t2:H3A0000,H3A0008
+3A0008:lI97|H3A00AC
+3A00AC:lI117|H3A0148
+3A0148:lI100|H3A01EC
+3A01EC:lI105|H3A0298
+3A0298:lI111|H3A0344
+3A0344:lI47|H3A03E8
+3A03E8:lI120|H3A047C
+3A047C:lI45|H3A0518
+3A0518:lI97|H3A05BC
+3A05BC:lI105|H3A0668
+3A0668:lI102|H3A070C
+3A070C:lI102|N
+3A0000:lI97|H3A00A4
+3A00A4:lI105|H3A0140
+3A0140:lI102|H3A01E4
+3A01E4:lI102|N
+39FF68:lH3A0010|H3A001C
+3A0010:t2:H3A00B4,H3A00BC
+3A00BC:lI97|H3A0158
+3A0158:lI117|H3A01FC
+3A01FC:lI100|H3A02A8
+3A02A8:lI105|H3A034C
+3A034C:lI111|H3A03F0
+3A03F0:lI47|H3A0484
+3A0484:lI120|H3A0520
+3A0520:lI45|H3A05C4
+3A05C4:lI97|H3A0670
+3A0670:lI105|H3A0714
+3A0714:lI102|H3A07B8
+3A07B8:lI102|N
+3A00B4:lI97|H3A0150
+3A0150:lI105|H3A01F4
+3A01F4:lI102|H3A02A0
+3A02A0:lI99|N
+3A001C:lH3A00C4|H3A00D0
+3A00C4:t2:H3A0160,H3A0168
+3A0168:lI97|H3A020C
+3A020C:lI117|H3A02B8
+3A02B8:lI100|H3A035C
+3A035C:lI105|H3A03F8
+3A03F8:lI111|H3A048C
+3A048C:lI47|H3A0528
+3A0528:lI109|H3A05CC
+3A05CC:lI112|H3A0678
+3A0678:lI101|H3A071C
+3A071C:lI103|N
+3A0160:lI109|H3A0204
+3A0204:lI112|H3A02B0
+3A02B0:lI103|H3A0354
+3A0354:lI97|N
+3A00D0:lH3A0170|H3A017C
+3A0170:t2:H3A0214,H3A021C
+3A021C:lI97|H3A02C8
+3A02C8:lI117|H3A036C
+3A036C:lI100|H3A0400
+3A0400:lI105|H3A0494
+3A0494:lI111|H3A0530
+3A0530:lI47|H3A05D4
+3A05D4:lI109|H3A0680
+3A0680:lI112|H3A0724
+3A0724:lI101|H3A07C0
+3A07C0:lI103|N
+3A0214:lI109|H3A02C0
+3A02C0:lI112|H3A0364
+3A0364:lI50|N
+3A017C:lH3A0224|H3A0230
+3A0224:t2:H3A02D0,H3A02D8
+3A02D8:lI97|H3A037C
+3A037C:lI117|H3A0408
+3A0408:lI100|H3A049C
+3A049C:lI105|H3A0538
+3A0538:lI111|H3A05DC
+3A05DC:lI47|H3A0688
+3A0688:lI98|H3A072C
+3A072C:lI97|H3A07C8
+3A07C8:lI115|H3A0854
+3A0854:lI105|H3A08E0
+3A08E0:lI99|N
+3A02D0:lI97|H3A0374
+3A0374:lI117|N
+3A0230:lH3A02E0|H3A02EC
+3A02E0:t2:H3A0384,H3A038C
+3A038C:lI97|H3A0418
+3A0418:lI117|H3A04AC
+3A04AC:lI100|H3A0540
+3A0540:lI105|H3A05E4
+3A05E4:lI111|H3A0690
+3A0690:lI47|H3A0734
+3A0734:lI98|H3A07D0
+3A07D0:lI97|H3A085C
+3A085C:lI115|H3A08E8
+3A08E8:lI105|H3A0974
+3A0974:lI99|N
+3A0384:lI115|H3A0410
+3A0410:lI110|H3A04A4
+3A04A4:lI100|N
+3A02EC:lH3A0394|H3A03A0
+3A0394:t2:H3A0420,H3A0428
+3A0428:lI97|H3A04BC
+3A04BC:lI112|H3A0550
+3A0550:lI112|H3A05EC
+3A05EC:lI108|H3A0698
+3A0698:lI105|H3A073C
+3A073C:lI99|H3A07D8
+3A07D8:lI97|H3A0864
+3A0864:lI116|H3A08F0
+3A08F0:lI105|H3A097C
+3A097C:lI111|H3A0A08
+3A0A08:lI110|H3A0AA4
+3A0AA4:lI47|H3A0B48
+3A0B48:lI122|H3A0BF4
+3A0BF4:lI105|H3A0CB0
+3A0CB0:lI112|N
+3A0420:lI122|H3A04B4
+3A04B4:lI105|H3A0548
+3A0548:lI112|N
+3A03A0:lH3A0430|H3A043C
+3A0430:t2:H3A04C4,H3A04CC
+3A04CC:lI97|H3A0560
+3A0560:lI112|H3A05FC
+3A05FC:lI112|H3A06A0
+3A06A0:lI108|H3A0744
+3A0744:lI105|H3A07E0
+3A07E0:lI99|H3A086C
+3A086C:lI97|H3A08F8
+3A08F8:lI116|H3A0984
+3A0984:lI105|H3A0A10
+3A0A10:lI111|H3A0AAC
+3A0AAC:lI110|H3A0B50
+3A0B50:lI47|H3A0BFC
+3A0BFC:lI120|H3A0CB8
+3A0CB8:lI45|H3A0D6C
+3A0D6C:lI119|H3A0E20
+3A0E20:lI97|H3A0ED4
+3A0ED4:lI105|H3A0F90
+3A0F90:lI115|H3A105C
+3A105C:lI45|H3A1130
+3A1130:lI115|H3A1204
+3A1204:lI111|H3A12D0
+3A12D0:lI117|H3A13A4
+3A13A4:lI114|H3A1480
+3A1480:lI99|H3A1564
+3A1564:lI101|N
+3A04C4:lI115|H3A0558
+3A0558:lI114|H3A05F4
+3A05F4:lI99|N
+3A043C:lH3A04D4|H3A04E0
+3A04D4:t2:H3A0568,H3A0570
+3A0570:lI97|H3A060C
+3A060C:lI112|H3A06B0
+3A06B0:lI112|H3A0754
+3A0754:lI108|H3A07F0
+3A07F0:lI105|H3A0874
+3A0874:lI99|H3A0900
+3A0900:lI97|H3A098C
+3A098C:lI116|H3A0A18
+3A0A18:lI105|H3A0AB4
+3A0AB4:lI111|H3A0B58
+3A0B58:lI110|H3A0C04
+3A0C04:lI47|H3A0CC0
+3A0CC0:lI120|H3A0D74
+3A0D74:lI45|H3A0E28
+3A0E28:lI117|H3A0EDC
+3A0EDC:lI115|H3A0F98
+3A0F98:lI116|H3A1064
+3A1064:lI97|H3A1138
+3A1138:lI114|N
+3A0568:lI117|H3A0604
+3A0604:lI115|H3A06A8
+3A06A8:lI116|H3A074C
+3A074C:lI97|H3A07E8
+3A07E8:lI114|N
+3A04E0:lH3A0578|H3A0584
+3A0578:t2:H3A0614,H3A061C
+3A061C:lI97|H3A06C0
+3A06C0:lI112|H3A075C
+3A075C:lI112|H3A07F8
+3A07F8:lI108|H3A087C
+3A087C:lI105|H3A0908
+3A0908:lI99|H3A0994
+3A0994:lI97|H3A0A20
+3A0A20:lI116|H3A0ABC
+3A0ABC:lI105|H3A0B60
+3A0B60:lI111|H3A0C0C
+3A0C0C:lI110|H3A0CC8
+3A0CC8:lI47|H3A0D7C
+3A0D7C:lI120|H3A0E30
+3A0E30:lI45|H3A0EE4
+3A0EE4:lI116|H3A0FA0
+3A0FA0:lI114|H3A106C
+3A106C:lI111|H3A1140
+3A1140:lI102|H3A120C
+3A120C:lI102|H3A12D8
+3A12D8:lI45|H3A13AC
+3A13AC:lI109|H3A1488
+3A1488:lI115|N
+3A0614:lI109|H3A06B8
+3A06B8:lI115|N
+3A0584:lH3A0624|H3A0630
+3A0624:t2:H3A06C8,H3A06D0
+3A06D0:lI97|H3A076C
+3A076C:lI112|H3A0800
+3A0800:lI112|H3A0884
+3A0884:lI108|H3A0910
+3A0910:lI105|H3A099C
+3A099C:lI99|H3A0A28
+3A0A28:lI97|H3A0AC4
+3A0AC4:lI116|H3A0B68
+3A0B68:lI105|H3A0C14
+3A0C14:lI111|H3A0CD0
+3A0CD0:lI110|H3A0D84
+3A0D84:lI47|H3A0E38
+3A0E38:lI120|H3A0EEC
+3A0EEC:lI45|H3A0FA8
+3A0FA8:lI116|H3A1074
+3A1074:lI114|H3A1148
+3A1148:lI111|H3A1214
+3A1214:lI102|H3A12E0
+3A12E0:lI102|H3A13B4
+3A13B4:lI45|H3A1490
+3A1490:lI109|H3A156C
+3A156C:lI101|N
+3A06C8:lI109|H3A0764
+3A0764:lI101|N
+3A0630:lH3A06D8|H3A06E4
+3A06D8:t2:H3A0774,H3A077C
+3A077C:lI97|H3A0810
+3A0810:lI112|H3A0894
+3A0894:lI112|H3A0918
+3A0918:lI108|H3A09A4
+3A09A4:lI105|H3A0A30
+3A0A30:lI99|H3A0ACC
+3A0ACC:lI97|H3A0B70
+3A0B70:lI116|H3A0C1C
+3A0C1C:lI105|H3A0CD8
+3A0CD8:lI111|H3A0D8C
+3A0D8C:lI110|H3A0E40
+3A0E40:lI47|H3A0EF4
+3A0EF4:lI120|H3A0FB0
+3A0FB0:lI45|H3A107C
+3A107C:lI116|H3A1150
+3A1150:lI114|H3A121C
+3A121C:lI111|H3A12E8
+3A12E8:lI102|H3A13BC
+3A13BC:lI102|H3A1498
+3A1498:lI45|H3A1574
+3A1574:lI109|H3A1648
+3A1648:lI97|H3A171C
+3A171C:lI110|N
+3A0774:lI109|H3A0808
+3A0808:lI97|H3A088C
+3A088C:lI110|N
+3A06E4:lH3A0784|H3A0790
+3A0784:t2:H3A0818,H3A0820
+3A0820:lI97|H3A089C
+3A089C:lI112|H3A0920
+3A0920:lI112|H3A09AC
+3A09AC:lI108|H3A0A38
+3A0A38:lI105|H3A0AD4
+3A0AD4:lI99|H3A0B78
+3A0B78:lI97|H3A0C24
+3A0C24:lI116|H3A0CE0
+3A0CE0:lI105|H3A0D94
+3A0D94:lI111|H3A0E48
+3A0E48:lI110|H3A0EFC
+3A0EFC:lI47|H3A0FB8
+3A0FB8:lI120|H3A1084
+3A1084:lI45|H3A1158
+3A1158:lI116|H3A1224
+3A1224:lI114|H3A12F0
+3A12F0:lI111|H3A13C4
+3A13C4:lI102|H3A14A0
+3A14A0:lI102|N
+3A0818:lI116|N
+3A0790:lH3A0828|H3A0834
+3A0828:t2:H3A08A4,H3A08AC
+3A08AC:lI97|H3A0930
+3A0930:lI112|H3A09B4
+3A09B4:lI112|H3A0A40
+3A0A40:lI108|H3A0ADC
+3A0ADC:lI105|H3A0B80
+3A0B80:lI99|H3A0C2C
+3A0C2C:lI97|H3A0CE8
+3A0CE8:lI116|H3A0D9C
+3A0D9C:lI105|H3A0E50
+3A0E50:lI111|H3A0F04
+3A0F04:lI110|H3A0FC0
+3A0FC0:lI47|H3A108C
+3A108C:lI120|H3A1160
+3A1160:lI45|H3A122C
+3A122C:lI116|H3A12F8
+3A12F8:lI114|H3A13CC
+3A13CC:lI111|H3A14A8
+3A14A8:lI102|H3A157C
+3A157C:lI102|N
+3A08A4:lI116|H3A0928
+3A0928:lI114|N
+3A0834:lH3A08B4|H3A08C0
+3A08B4:t2:H3A0938,H3A0940
+3A0940:lI97|H3A09C4
+3A09C4:lI112|H3A0A50
+3A0A50:lI112|H3A0AEC
+3A0AEC:lI108|H3A0B88
+3A0B88:lI105|H3A0C34
+3A0C34:lI99|H3A0CF0
+3A0CF0:lI97|H3A0DA4
+3A0DA4:lI116|H3A0E58
+3A0E58:lI105|H3A0F0C
+3A0F0C:lI111|H3A0FC8
+3A0FC8:lI110|H3A1094
+3A1094:lI47|H3A1168
+3A1168:lI120|H3A1234
+3A1234:lI45|H3A1300
+3A1300:lI116|H3A13D4
+3A13D4:lI114|H3A14B0
+3A14B0:lI111|H3A1584
+3A1584:lI102|H3A1650
+3A1650:lI102|N
+3A0938:lI114|H3A09BC
+3A09BC:lI111|H3A0A48
+3A0A48:lI102|H3A0AE4
+3A0AE4:lI102|N
+3A08C0:lH3A0948|H3A0954
+3A0948:t2:H3A09CC,H3A09D4
+3A09D4:lI97|H3A0A60
+3A0A60:lI112|H3A0AFC
+3A0AFC:lI112|H3A0B98
+3A0B98:lI108|H3A0C44
+3A0C44:lI105|H3A0D00
+3A0D00:lI99|H3A0DB4
+3A0DB4:lI97|H3A0E60
+3A0E60:lI116|H3A0F14
+3A0F14:lI105|H3A0FD0
+3A0FD0:lI111|H3A109C
+3A109C:lI110|H3A1170
+3A1170:lI47|H3A123C
+3A123C:lI120|H3A1308
+3A1308:lI45|H3A13DC
+3A13DC:lI116|H3A14B8
+3A14B8:lI101|H3A158C
+3A158C:lI120|H3A1658
+3A1658:lI105|H3A1724
+3A1724:lI110|H3A17E8
+3A17E8:lI102|H3A18AC
+3A18AC:lI111|N
+3A09CC:lI116|H3A0A58
+3A0A58:lI101|H3A0AF4
+3A0AF4:lI120|H3A0B90
+3A0B90:lI105|H3A0C3C
+3A0C3C:lI110|H3A0CF8
+3A0CF8:lI102|H3A0DAC
+3A0DAC:lI111|N
+3A0954:lH3A09DC|H3A09E8
+3A09DC:t2:H3A0A68,H3A0A70
+3A0A70:lI97|H3A0B0C
+3A0B0C:lI112|H3A0BA8
+3A0BA8:lI112|H3A0C54
+3A0C54:lI108|H3A0D08
+3A0D08:lI105|H3A0DBC
+3A0DBC:lI99|H3A0E68
+3A0E68:lI97|H3A0F1C
+3A0F1C:lI116|H3A0FD8
+3A0FD8:lI105|H3A10A4
+3A10A4:lI111|H3A1178
+3A1178:lI110|H3A1244
+3A1244:lI47|H3A1310
+3A1310:lI120|H3A13E4
+3A13E4:lI45|H3A14C0
+3A14C0:lI116|H3A1594
+3A1594:lI101|H3A1660
+3A1660:lI120|H3A172C
+3A172C:lI105|H3A17F0
+3A17F0:lI110|H3A18B4
+3A18B4:lI102|H3A1970
+3A1970:lI111|N
+3A0A68:lI116|H3A0B04
+3A0B04:lI101|H3A0BA0
+3A0BA0:lI120|H3A0C4C
+3A0C4C:lI105|N
+3A09E8:lH3A0A78|H3A0A84
+3A0A78:t2:H3A0B14,H3A0B1C
+3A0B1C:lI97|H3A0BB8
+3A0BB8:lI112|H3A0C64
+3A0C64:lI112|H3A0D10
+3A0D10:lI108|H3A0DC4
+3A0DC4:lI105|H3A0E70
+3A0E70:lI99|H3A0F24
+3A0F24:lI97|H3A0FE0
+3A0FE0:lI116|H3A10AC
+3A10AC:lI105|H3A1180
+3A1180:lI111|H3A124C
+3A124C:lI110|H3A1318
+3A1318:lI47|H3A13EC
+3A13EC:lI120|H3A14C8
+3A14C8:lI45|H3A159C
+3A159C:lI116|H3A1668
+3A1668:lI101|H3A1734
+3A1734:lI120|N
+3A0B14:lI116|H3A0BB0
+3A0BB0:lI101|H3A0C5C
+3A0C5C:lI120|N
+3A0A84:lH3A0B24|H3A0B30
+3A0B24:t2:H3A0BC0,H3A0BC8
+3A0BC8:lI97|H3A0C74
+3A0C74:lI112|H3A0D20
+3A0D20:lI112|H3A0DCC
+3A0DCC:lI108|H3A0E78
+3A0E78:lI105|H3A0F2C
+3A0F2C:lI99|H3A0FE8
+3A0FE8:lI97|H3A10B4
+3A10B4:lI116|H3A1188
+3A1188:lI105|H3A1254
+3A1254:lI111|H3A1320
+3A1320:lI110|H3A13F4
+3A13F4:lI47|H3A14D0
+3A14D0:lI120|H3A15A4
+3A15A4:lI45|H3A1670
+3A1670:lI116|H3A173C
+3A173C:lI99|H3A17F8
+3A17F8:lI108|N
+3A0BC0:lI116|H3A0C6C
+3A0C6C:lI99|H3A0D18
+3A0D18:lI108|N
+3A0B30:lH3A0BD0|H3A0BDC
+3A0BD0:t2:H3A0C7C,H3A0C84
+3A0C84:lI97|H3A0D30
+3A0D30:lI112|H3A0DDC
+3A0DDC:lI112|H3A0E80
+3A0E80:lI108|H3A0F34
+3A0F34:lI105|H3A0FF0
+3A0FF0:lI99|H3A10BC
+3A10BC:lI97|H3A1190
+3A1190:lI116|H3A125C
+3A125C:lI105|H3A1328
+3A1328:lI111|H3A13FC
+3A13FC:lI110|H3A14D8
+3A14D8:lI47|H3A15AC
+3A15AC:lI120|H3A1678
+3A1678:lI45|H3A1744
+3A1744:lI116|H3A1800
+3A1800:lI97|H3A18BC
+3A18BC:lI114|N
+3A0C7C:lI116|H3A0D28
+3A0D28:lI97|H3A0DD4
+3A0DD4:lI114|N
+3A0BDC:lH3A0C8C|H3A0C98
+3A0C8C:t2:H3A0D38,H3A0D40
+3A0D40:lI97|H3A0DEC
+3A0DEC:lI112|H3A0E90
+3A0E90:lI112|H3A0F44
+3A0F44:lI108|H3A1000
+3A1000:lI105|H3A10CC
+3A10CC:lI99|H3A1198
+3A1198:lI97|H3A1264
+3A1264:lI116|H3A1330
+3A1330:lI105|H3A1404
+3A1404:lI111|H3A14E0
+3A14E0:lI110|H3A15B4
+3A15B4:lI47|H3A1680
+3A1680:lI120|H3A174C
+3A174C:lI45|H3A1808
+3A1808:lI115|H3A18C4
+3A18C4:lI118|H3A1978
+3A1978:lI52|H3A1A2C
+3A1A2C:lI99|H3A1AE0
+3A1AE0:lI114|H3A1BA4
+3A1BA4:lI99|N
+3A0D38:lI115|H3A0DE4
+3A0DE4:lI118|H3A0E88
+3A0E88:lI52|H3A0F3C
+3A0F3C:lI99|H3A0FF8
+3A0FF8:lI114|H3A10C4
+3A10C4:lI99|N
+3A0C98:lH3A0D48|H3A0D54
+3A0D48:t2:H3A0DF4,H3A0DFC
+3A0DFC:lI97|H3A0EA0
+3A0EA0:lI112|H3A0F54
+3A0F54:lI112|H3A1010
+3A1010:lI108|H3A10DC
+3A10DC:lI105|H3A11A8
+3A11A8:lI99|H3A1274
+3A1274:lI97|H3A1338
+3A1338:lI116|H3A140C
+3A140C:lI105|H3A14E8
+3A14E8:lI111|H3A15BC
+3A15BC:lI110|H3A1688
+3A1688:lI47|H3A1754
+3A1754:lI120|H3A1810
+3A1810:lI45|H3A18CC
+3A18CC:lI115|H3A1980
+3A1980:lI118|H3A1A34
+3A1A34:lI52|H3A1AE8
+3A1AE8:lI99|H3A1BAC
+3A1BAC:lI112|H3A1C78
+3A1C78:lI105|H3A1D3C
+3A1D3C:lI111|N
+3A0DF4:lI115|H3A0E98
+3A0E98:lI118|H3A0F4C
+3A0F4C:lI52|H3A1008
+3A1008:lI99|H3A10D4
+3A10D4:lI112|H3A11A0
+3A11A0:lI105|H3A126C
+3A126C:lI111|N
+3A0D54:lH3A0E04|H3A0E10
+3A0E04:t2:H3A0EA8,H3A0EB0
+3A0EB0:lI97|H3A0F64
+3A0F64:lI112|H3A1020
+3A1020:lI112|H3A10E4
+3A10E4:lI108|H3A11B0
+3A11B0:lI105|H3A127C
+3A127C:lI99|H3A1340
+3A1340:lI97|H3A1414
+3A1414:lI116|H3A14F0
+3A14F0:lI105|H3A15C4
+3A15C4:lI111|H3A1690
+3A1690:lI110|H3A175C
+3A175C:lI47|H3A1818
+3A1818:lI120|H3A18D4
+3A18D4:lI45|H3A1988
+3A1988:lI115|H3A1A3C
+3A1A3C:lI116|H3A1AF0
+3A1AF0:lI117|H3A1BB4
+3A1BB4:lI102|H3A1C80
+3A1C80:lI102|H3A1D44
+3A1D44:lI105|H3A1E00
+3A1E00:lI116|N
+3A0EA8:lI115|H3A0F5C
+3A0F5C:lI105|H3A1018
+3A1018:lI116|N
+3A0E10:lH3A0EB8|H3A0EC4
+3A0EB8:t2:H3A0F6C,H3A0F74
+3A0F74:lI97|H3A1030
+3A1030:lI112|H3A10F4
+3A10F4:lI112|H3A11C0
+3A11C0:lI108|H3A1284
+3A1284:lI105|H3A1348
+3A1348:lI99|H3A141C
+3A141C:lI97|H3A14F8
+3A14F8:lI116|H3A15CC
+3A15CC:lI105|H3A1698
+3A1698:lI111|H3A1764
+3A1764:lI110|H3A1820
+3A1820:lI47|H3A18DC
+3A18DC:lI120|H3A1990
+3A1990:lI45|H3A1A44
+3A1A44:lI115|H3A1AF8
+3A1AF8:lI104|H3A1BBC
+3A1BBC:lI97|H3A1C88
+3A1C88:lI114|N
+3A0F6C:lI115|H3A1028
+3A1028:lI104|H3A10EC
+3A10EC:lI97|H3A11B8
+3A11B8:lI114|N
+3A0EC4:lH3A0F7C|H3A0F88
+3A0F7C:t2:H3A1038,H3A1040
+3A1040:lI97|H3A1104
+3A1104:lI112|H3A11C8
+3A11C8:lI112|H3A128C
+3A128C:lI108|H3A1350
+3A1350:lI105|H3A1424
+3A1424:lI99|H3A1500
+3A1500:lI97|H3A15D4
+3A15D4:lI116|H3A16A0
+3A16A0:lI105|H3A176C
+3A176C:lI111|H3A1828
+3A1828:lI110|H3A18E4
+3A18E4:lI47|H3A1998
+3A1998:lI120|H3A1A4C
+3A1A4C:lI45|H3A1B00
+3A1B00:lI115|H3A1BC4
+3A1BC4:lI104|N
+3A1038:lI115|H3A10FC
+3A10FC:lI104|N
+3A0F88:lH3A1048|H3A1054
+3A1048:t2:H3A110C,H3A1114
+3A1114:lI97|H3A11D8
+3A11D8:lI112|H3A1294
+3A1294:lI112|H3A1358
+3A1358:lI108|H3A142C
+3A142C:lI105|H3A1508
+3A1508:lI99|H3A15DC
+3A15DC:lI97|H3A16A8
+3A16A8:lI116|H3A1774
+3A1774:lI105|H3A1830
+3A1830:lI111|H3A18EC
+3A18EC:lI110|H3A19A0
+3A19A0:lI47|H3A1A54
+3A1A54:lI120|H3A1B08
+3A1B08:lI45|H3A1BCC
+3A1BCC:lI110|H3A1C90
+3A1C90:lI101|H3A1D4C
+3A1D4C:lI116|H3A1E08
+3A1E08:lI99|H3A1EC4
+3A1EC4:lI100|H3A1F88
+3A1F88:lI102|N
+3A110C:lI110|H3A11D0
+3A11D0:lI99|N
+3A1054:lH3A111C|H3A1128
+3A111C:t2:H3A11E0,H3A11E8
+3A11E8:lI97|H3A12A4
+3A12A4:lI112|H3A1368
+3A1368:lI112|H3A1434
+3A1434:lI108|H3A1510
+3A1510:lI105|H3A15E4
+3A15E4:lI99|H3A16B0
+3A16B0:lI97|H3A177C
+3A177C:lI116|H3A1838
+3A1838:lI105|H3A18F4
+3A18F4:lI111|H3A19A8
+3A19A8:lI110|H3A1A5C
+3A1A5C:lI47|H3A1B10
+3A1B10:lI120|H3A1BD4
+3A1BD4:lI45|H3A1C98
+3A1C98:lI110|H3A1D54
+3A1D54:lI101|H3A1E10
+3A1E10:lI116|H3A1ECC
+3A1ECC:lI99|H3A1F90
+3A1F90:lI100|H3A2044
+3A2044:lI102|N
+3A11E0:lI99|H3A129C
+3A129C:lI100|H3A1360
+3A1360:lI102|N
+3A1128:lH3A11F0|H3A11FC
+3A11F0:t2:H3A12AC,H3A12B4
+3A12B4:lI97|H3A1378
+3A1378:lI112|H3A1444
+3A1444:lI112|H3A1518
+3A1518:lI108|H3A15EC
+3A15EC:lI105|H3A16B8
+3A16B8:lI99|H3A1784
+3A1784:lI97|H3A1840
+3A1840:lI116|H3A18FC
+3A18FC:lI105|H3A19B0
+3A19B0:lI111|H3A1A64
+3A1A64:lI110|H3A1B18
+3A1B18:lI47|H3A1BDC
+3A1BDC:lI120|H3A1CA0
+3A1CA0:lI45|H3A1D5C
+3A1D5C:lI109|H3A1E18
+3A1E18:lI105|H3A1ED4
+3A1ED4:lI102|N
+3A12AC:lI109|H3A1370
+3A1370:lI105|H3A143C
+3A143C:lI102|N
+3A11FC:lH3A12BC|H3A12C8
+3A12BC:t2:H3A1380,H3A1388
+3A1388:lI97|H3A1454
+3A1454:lI112|H3A1528
+3A1528:lI112|H3A15FC
+3A15FC:lI108|H3A16C8
+3A16C8:lI105|H3A178C
+3A178C:lI99|H3A1848
+3A1848:lI97|H3A1904
+3A1904:lI116|H3A19B8
+3A19B8:lI105|H3A1A6C
+3A1A6C:lI111|H3A1B20
+3A1B20:lI110|H3A1BE4
+3A1BE4:lI47|H3A1CA8
+3A1CA8:lI120|H3A1D64
+3A1D64:lI45|H3A1E20
+3A1E20:lI108|H3A1EDC
+3A1EDC:lI97|H3A1F98
+3A1F98:lI116|H3A204C
+3A204C:lI101|H3A2108
+3A2108:lI120|N
+3A1380:lI108|H3A144C
+3A144C:lI97|H3A1520
+3A1520:lI116|H3A15F4
+3A15F4:lI101|H3A16C0
+3A16C0:lI120|N
+3A12C8:lH3A1390|H3A139C
+3A1390:t2:H3A145C,H3A1464
+3A1464:lI97|H3A1538
+3A1538:lI112|H3A160C
+3A160C:lI112|H3A16D0
+3A16D0:lI108|H3A1794
+3A1794:lI105|H3A1850
+3A1850:lI99|H3A190C
+3A190C:lI97|H3A19C0
+3A19C0:lI116|H3A1A74
+3A1A74:lI105|H3A1B28
+3A1B28:lI111|H3A1BEC
+3A1BEC:lI110|H3A1CB0
+3A1CB0:lI47|H3A1D6C
+3A1D6C:lI120|H3A1E28
+3A1E28:lI45|H3A1EE4
+3A1EE4:lI107|H3A1FA0
+3A1FA0:lI111|H3A2054
+3A2054:lI97|H3A2110
+3A2110:lI110|N
+3A145C:lI115|H3A1530
+3A1530:lI107|H3A1604
+3A1604:lI112|N
+3A139C:lH3A146C|H3A1478
+3A146C:t2:H3A1540,H3A1548
+3A1548:lI97|H3A161C
+3A161C:lI112|H3A16E0
+3A16E0:lI112|H3A179C
+3A179C:lI108|H3A1858
+3A1858:lI105|H3A1914
+3A1914:lI99|H3A19C8
+3A19C8:lI97|H3A1A7C
+3A1A7C:lI116|H3A1B30
+3A1B30:lI105|H3A1BF4
+3A1BF4:lI111|H3A1CB8
+3A1CB8:lI110|H3A1D74
+3A1D74:lI47|H3A1E30
+3A1E30:lI120|H3A1EEC
+3A1EEC:lI45|H3A1FA8
+3A1FA8:lI107|H3A205C
+3A205C:lI111|H3A2118
+3A2118:lI97|H3A21CC
+3A21CC:lI110|N
+3A1540:lI115|H3A1614
+3A1614:lI107|H3A16D8
+3A16D8:lI100|N
+3A1478:lH3A1550|H3A155C
+3A1550:t2:H3A1624,H3A162C
+3A162C:lI97|H3A16F0
+3A16F0:lI112|H3A17AC
+3A17AC:lI112|H3A1860
+3A1860:lI108|H3A191C
+3A191C:lI105|H3A19D0
+3A19D0:lI99|H3A1A84
+3A1A84:lI97|H3A1B38
+3A1B38:lI116|H3A1BFC
+3A1BFC:lI105|H3A1CC0
+3A1CC0:lI111|H3A1D7C
+3A1D7C:lI110|H3A1E38
+3A1E38:lI47|H3A1EF4
+3A1EF4:lI120|H3A1FB0
+3A1FB0:lI45|H3A2064
+3A2064:lI107|H3A2120
+3A2120:lI111|H3A21D4
+3A21D4:lI97|H3A2288
+3A2288:lI110|N
+3A1624:lI115|H3A16E8
+3A16E8:lI107|H3A17A4
+3A17A4:lI116|N
+3A155C:lH3A1634|H3A1640
+3A1634:t2:H3A16F8,H3A1700
+3A1700:lI97|H3A17BC
+3A17BC:lI112|H3A1870
+3A1870:lI112|H3A1924
+3A1924:lI108|H3A19D8
+3A19D8:lI105|H3A1A8C
+3A1A8C:lI99|H3A1B40
+3A1B40:lI97|H3A1C04
+3A1C04:lI116|H3A1CC8
+3A1CC8:lI105|H3A1D84
+3A1D84:lI111|H3A1E40
+3A1E40:lI110|H3A1EFC
+3A1EFC:lI47|H3A1FB8
+3A1FB8:lI120|H3A206C
+3A206C:lI45|H3A2128
+3A2128:lI107|H3A21DC
+3A21DC:lI111|H3A2290
+3A2290:lI97|H3A234C
+3A234C:lI110|N
+3A16F8:lI115|H3A17B4
+3A17B4:lI107|H3A1868
+3A1868:lI109|N
+3A1640:lH3A1708|H3A1714
+3A1708:t2:H3A17C4,H3A17CC
+3A17CC:lI97|H3A1880
+3A1880:lI112|H3A1934
+3A1934:lI112|H3A19E0
+3A19E0:lI108|H3A1A94
+3A1A94:lI105|H3A1B48
+3A1B48:lI99|H3A1C0C
+3A1C0C:lI97|H3A1CD0
+3A1CD0:lI116|H3A1D8C
+3A1D8C:lI105|H3A1E48
+3A1E48:lI111|H3A1F04
+3A1F04:lI110|H3A1FC0
+3A1FC0:lI47|H3A2074
+3A2074:lI120|H3A2130
+3A2130:lI45|H3A21E4
+3A21E4:lI104|H3A2298
+3A2298:lI116|H3A2354
+3A2354:lI116|H3A2410
+3A2410:lI112|H3A24C4
+3A24C4:lI100|H3A2580
+3A2580:lI45|H3A263C
+3A263C:lI99|H3A2700
+3A2700:lI103|H3A27BC
+3A27BC:lI105|N
+3A17C4:lI99|H3A1878
+3A1878:lI103|H3A192C
+3A192C:lI105|N
+3A1714:lH3A17D4|H3A17E0
+3A17D4:t2:H3A1888,H3A1890
+3A1890:lI97|H3A1944
+3A1944:lI112|H3A19F0
+3A19F0:lI112|H3A1A9C
+3A1A9C:lI108|H3A1B50
+3A1B50:lI105|H3A1C14
+3A1C14:lI99|H3A1CD8
+3A1CD8:lI97|H3A1D94
+3A1D94:lI116|H3A1E50
+3A1E50:lI105|H3A1F0C
+3A1F0C:lI111|H3A1FC8
+3A1FC8:lI110|H3A207C
+3A207C:lI47|H3A2138
+3A2138:lI120|H3A21EC
+3A21EC:lI45|H3A22A0
+3A22A0:lI104|H3A235C
+3A235C:lI100|H3A2418
+3A2418:lI102|N
+3A1888:lI104|H3A193C
+3A193C:lI100|H3A19E8
+3A19E8:lI102|N
+3A17E0:lH3A1898|H3A18A4
+3A1898:t2:H3A194C,H3A1954
+3A1954:lI97|H3A1A00
+3A1A00:lI112|H3A1AA4
+3A1AA4:lI112|H3A1B58
+3A1B58:lI108|H3A1C1C
+3A1C1C:lI105|H3A1CE0
+3A1CE0:lI99|H3A1D9C
+3A1D9C:lI97|H3A1E58
+3A1E58:lI116|H3A1F14
+3A1F14:lI105|H3A1FD0
+3A1FD0:lI111|H3A2084
+3A2084:lI110|H3A2140
+3A2140:lI47|H3A21F4
+3A21F4:lI120|H3A22A8
+3A22A8:lI45|H3A2364
+3A2364:lI103|H3A2420
+3A2420:lI122|H3A24CC
+3A24CC:lI105|H3A2588
+3A2588:lI112|N
+3A194C:lI103|H3A19F8
+3A19F8:lI122|N
+3A18A4:lH3A195C|H3A1968
+3A195C:t2:H3A1A08,H3A1A10
+3A1A10:lI97|H3A1AB4
+3A1AB4:lI112|H3A1B68
+3A1B68:lI112|H3A1C2C
+3A1C2C:lI108|H3A1CE8
+3A1CE8:lI105|H3A1DA4
+3A1DA4:lI99|H3A1E60
+3A1E60:lI97|H3A1F1C
+3A1F1C:lI116|H3A1FD8
+3A1FD8:lI105|H3A208C
+3A208C:lI111|H3A2148
+3A2148:lI110|H3A21FC
+3A21FC:lI47|H3A22B0
+3A22B0:lI120|H3A236C
+3A236C:lI45|H3A2428
+3A2428:lI103|H3A24D4
+3A24D4:lI116|H3A2590
+3A2590:lI97|H3A2644
+3A2644:lI114|N
+3A1A08:lI103|H3A1AAC
+3A1AAC:lI116|H3A1B60
+3A1B60:lI97|H3A1C24
+3A1C24:lI114|N
+3A1968:lH3A1A18|H3A1A24
+3A1A18:t2:H3A1ABC,H3A1AC4
+3A1AC4:lI97|H3A1B78
+3A1B78:lI112|H3A1C3C
+3A1C3C:lI112|H3A1CF0
+3A1CF0:lI108|H3A1DAC
+3A1DAC:lI105|H3A1E68
+3A1E68:lI99|H3A1F24
+3A1F24:lI97|H3A1FE0
+3A1FE0:lI116|H3A2094
+3A2094:lI105|H3A2150
+3A2150:lI111|H3A2204
+3A2204:lI110|H3A22B8
+3A22B8:lI47|H3A2374
+3A2374:lI120|H3A2430
+3A2430:lI45|H3A24DC
+3A24DC:lI100|H3A2598
+3A2598:lI118|H3A264C
+3A264C:lI105|N
+3A1ABC:lI100|H3A1B70
+3A1B70:lI118|H3A1C34
+3A1C34:lI105|N
+3A1A24:lH3A1ACC|H3A1AD8
+3A1ACC:t2:H3A1B80,H3A1B88
+3A1B88:lI97|H3A1C4C
+3A1C4C:lI112|H3A1D00
+3A1D00:lI112|H3A1DB4
+3A1DB4:lI108|H3A1E70
+3A1E70:lI105|H3A1F2C
+3A1F2C:lI99|H3A1FE8
+3A1FE8:lI97|H3A209C
+3A209C:lI116|H3A2158
+3A2158:lI105|H3A220C
+3A220C:lI111|H3A22C0
+3A22C0:lI110|H3A237C
+3A237C:lI47|H3A2438
+3A2438:lI120|H3A24E4
+3A24E4:lI45|H3A25A0
+3A25A0:lI100|H3A2654
+3A2654:lI105|H3A2708
+3A2708:lI114|H3A27C4
+3A27C4:lI101|H3A2880
+3A2880:lI99|H3A2944
+3A2944:lI116|H3A2A10
+3A2A10:lI111|H3A2ADC
+3A2ADC:lI114|N
+3A1B80:lI100|H3A1C44
+3A1C44:lI99|H3A1CF8
+3A1CF8:lI114|N
+3A1AD8:lH3A1B90|H3A1B9C
+3A1B90:t2:H3A1C54,H3A1C5C
+3A1C5C:lI97|H3A1D10
+3A1D10:lI112|H3A1DC4
+3A1DC4:lI112|H3A1E78
+3A1E78:lI108|H3A1F34
+3A1F34:lI105|H3A1FF0
+3A1FF0:lI99|H3A20A4
+3A20A4:lI97|H3A2160
+3A2160:lI116|H3A2214
+3A2214:lI105|H3A22C8
+3A22C8:lI111|H3A2384
+3A2384:lI110|H3A2440
+3A2440:lI47|H3A24EC
+3A24EC:lI120|H3A25A8
+3A25A8:lI45|H3A265C
+3A265C:lI100|H3A2710
+3A2710:lI105|H3A27CC
+3A27CC:lI114|H3A2888
+3A2888:lI101|H3A294C
+3A294C:lI99|H3A2A18
+3A2A18:lI116|H3A2AE4
+3A2AE4:lI111|H3A2BB0
+3A2BB0:lI114|N
+3A1C54:lI100|H3A1D08
+3A1D08:lI105|H3A1DBC
+3A1DBC:lI114|N
+3A1B9C:lH3A1C64|H3A1C70
+3A1C64:t2:H3A1D18,H3A1D20
+3A1D20:lI97|H3A1DD4
+3A1DD4:lI112|H3A1E88
+3A1E88:lI112|H3A1F3C
+3A1F3C:lI108|H3A1FF8
+3A1FF8:lI105|H3A20AC
+3A20AC:lI99|H3A2168
+3A2168:lI97|H3A221C
+3A221C:lI116|H3A22D0
+3A22D0:lI105|H3A238C
+3A238C:lI111|H3A2448
+3A2448:lI110|H3A24F4
+3A24F4:lI47|H3A25B0
+3A25B0:lI120|H3A2664
+3A2664:lI45|H3A2718
+3A2718:lI100|H3A27D4
+3A27D4:lI105|H3A2890
+3A2890:lI114|H3A2954
+3A2954:lI101|H3A2A20
+3A2A20:lI99|H3A2AEC
+3A2AEC:lI116|H3A2BB8
+3A2BB8:lI111|H3A2C74
+3A2C74:lI114|N
+3A1D18:lI100|H3A1DCC
+3A1DCC:lI120|H3A1E80
+3A1E80:lI114|N
+3A1C70:lH3A1D28|H3A1D34
+3A1D28:t2:H3A1DDC,H3A1DE4
+3A1DE4:lI97|H3A1E98
+3A1E98:lI112|H3A1F4C
+3A1F4C:lI112|H3A2000
+3A2000:lI108|H3A20B4
+3A20B4:lI105|H3A2170
+3A2170:lI99|H3A2224
+3A2224:lI97|H3A22D8
+3A22D8:lI116|H3A2394
+3A2394:lI105|H3A2450
+3A2450:lI111|H3A24FC
+3A24FC:lI110|H3A25B8
+3A25B8:lI47|H3A266C
+3A266C:lI120|H3A2720
+3A2720:lI45|H3A27DC
+3A27DC:lI99|H3A2898
+3A2898:lI115|H3A295C
+3A295C:lI104|N
+3A1DDC:lI99|H3A1E90
+3A1E90:lI115|H3A1F44
+3A1F44:lI104|N
+3A1D34:lH3A1DEC|H3A1DF8
+3A1DEC:t2:H3A1EA0,H3A1EA8
+3A1EA8:lI97|H3A1F5C
+3A1F5C:lI112|H3A2010
+3A2010:lI112|H3A20C4
+3A20C4:lI108|H3A2178
+3A2178:lI105|H3A222C
+3A222C:lI99|H3A22E0
+3A22E0:lI97|H3A239C
+3A239C:lI116|H3A2458
+3A2458:lI105|H3A2504
+3A2504:lI111|H3A25C0
+3A25C0:lI110|H3A2674
+3A2674:lI47|H3A2728
+3A2728:lI120|H3A27E4
+3A27E4:lI45|H3A28A0
+3A28A0:lI99|H3A2964
+3A2964:lI112|H3A2A28
+3A2A28:lI105|H3A2AF4
+3A2AF4:lI111|N
+3A1EA0:lI99|H3A1F54
+3A1F54:lI112|H3A2008
+3A2008:lI105|H3A20BC
+3A20BC:lI111|N
+3A1DF8:lH3A1EB0|H3A1EBC
+3A1EB0:t2:H3A1F64,H3A1F6C
+3A1F6C:lI97|H3A2018
+3A2018:lI112|H3A20CC
+3A20CC:lI112|H3A2180
+3A2180:lI108|H3A2234
+3A2234:lI105|H3A22E8
+3A22E8:lI99|H3A23A4
+3A23A4:lI97|H3A2460
+3A2460:lI116|H3A250C
+3A250C:lI105|H3A25C8
+3A25C8:lI111|H3A267C
+3A267C:lI110|H3A2730
+3A2730:lI47|H3A27EC
+3A27EC:lI120|H3A28A8
+3A28A8:lI45|H3A296C
+3A296C:lI99|H3A2A30
+3A2A30:lI111|H3A2AFC
+3A2AFC:lI109|H3A2BC0
+3A2BC0:lI112|H3A2C7C
+3A2C7C:lI114|H3A2D2C
+3A2D2C:lI101|H3A2DD4
+3A2DD4:lI115|H3A2E6C
+3A2E6C:lI115|N
+3A1F64:lI90|N
+3A1EBC:lH3A1F74|H3A1F80
+3A1F74:t2:H3A2020,H3A2028
+3A2028:lI97|H3A20DC
+3A20DC:lI112|H3A2190
+3A2190:lI112|H3A223C
+3A223C:lI108|H3A22F0
+3A22F0:lI105|H3A23AC
+3A23AC:lI99|H3A2468
+3A2468:lI97|H3A2514
+3A2514:lI116|H3A25D0
+3A25D0:lI105|H3A2684
+3A2684:lI111|H3A2738
+3A2738:lI110|H3A27F4
+3A27F4:lI47|H3A28B0
+3A28B0:lI120|H3A2974
+3A2974:lI45|H3A2A38
+3A2A38:lI99|H3A2B04
+3A2B04:lI100|H3A2BC8
+3A2BC8:lI108|H3A2C84
+3A2C84:lI105|H3A2D34
+3A2D34:lI110|H3A2DDC
+3A2DDC:lI107|N
+3A2020:lI118|H3A20D4
+3A20D4:lI99|H3A2188
+3A2188:lI100|N
+3A1F80:lH3A2030|H3A203C
+3A2030:t2:H3A20E4,H3A20EC
+3A20EC:lI97|H3A21A0
+3A21A0:lI112|H3A224C
+3A224C:lI112|H3A2300
+3A2300:lI108|H3A23BC
+3A23BC:lI105|H3A2470
+3A2470:lI99|H3A251C
+3A251C:lI97|H3A25D8
+3A25D8:lI116|H3A268C
+3A268C:lI105|H3A2740
+3A2740:lI111|H3A27FC
+3A27FC:lI110|H3A28B8
+3A28B8:lI47|H3A297C
+3A297C:lI120|H3A2A40
+3A2A40:lI45|H3A2B0C
+3A2B0C:lI98|H3A2BD0
+3A2BD0:lI99|H3A2C8C
+3A2C8C:lI112|H3A2D3C
+3A2D3C:lI105|H3A2DE4
+3A2DE4:lI111|N
+3A20E4:lI98|H3A2198
+3A2198:lI99|H3A2244
+3A2244:lI112|H3A22F8
+3A22F8:lI105|H3A23B4
+3A23B4:lI111|N
+3A203C:lH3A20F4|H3A2100
+3A20F4:t2:H3A21A8,H3A21B0
+3A21B0:lI97|H3A225C
+3A225C:lI112|H3A2310
+3A2310:lI112|H3A23C4
+3A23C4:lI108|H3A2478
+3A2478:lI105|H3A2524
+3A2524:lI99|H3A25E0
+3A25E0:lI97|H3A2694
+3A2694:lI116|H3A2748
+3A2748:lI105|H3A2804
+3A2804:lI111|H3A28C0
+3A28C0:lI110|H3A2984
+3A2984:lI47|H3A2A48
+3A2A48:lI114|H3A2B14
+3A2B14:lI116|H3A2BD8
+3A2BD8:lI102|N
+3A21A8:lI114|H3A2254
+3A2254:lI116|H3A2308
+3A2308:lI102|N
+3A2100:lH3A21B8|H3A21C4
+3A21B8:t2:H3A2264,H3A226C
+3A226C:lI97|H3A2320
+3A2320:lI112|H3A23D4
+3A23D4:lI112|H3A2480
+3A2480:lI108|H3A252C
+3A252C:lI105|H3A25E8
+3A25E8:lI99|H3A269C
+3A269C:lI97|H3A2750
+3A2750:lI116|H3A280C
+3A280C:lI105|H3A28C8
+3A28C8:lI111|H3A298C
+3A298C:lI110|H3A2A50
+3A2A50:lI47|H3A2B1C
+3A2B1C:lI112|H3A2BE0
+3A2BE0:lI111|H3A2C94
+3A2C94:lI119|H3A2D44
+3A2D44:lI101|H3A2DEC
+3A2DEC:lI114|H3A2E74
+3A2E74:lI112|H3A2EEC
+3A2EEC:lI111|H3A2F64
+3A2F64:lI105|H3A2FD4
+3A2FD4:lI110|H3A303C
+3A303C:lI116|N
+3A2264:lI112|H3A2318
+3A2318:lI112|H3A23CC
+3A23CC:lI116|N
+3A21C4:lH3A2274|H3A2280
+3A2274:t2:H3A2328,H3A2330
+3A2330:lI97|H3A23E4
+3A23E4:lI112|H3A2488
+3A2488:lI112|H3A2534
+3A2534:lI108|H3A25F0
+3A25F0:lI105|H3A26A4
+3A26A4:lI99|H3A2758
+3A2758:lI97|H3A2814
+3A2814:lI116|H3A28D0
+3A28D0:lI105|H3A2994
+3A2994:lI111|H3A2A58
+3A2A58:lI110|H3A2B24
+3A2B24:lI47|H3A2BE8
+3A2BE8:lI112|H3A2C9C
+3A2C9C:lI111|H3A2D4C
+3A2D4C:lI115|H3A2DF4
+3A2DF4:lI116|H3A2E7C
+3A2E7C:lI115|H3A2EF4
+3A2EF4:lI99|H3A2F6C
+3A2F6C:lI114|H3A2FDC
+3A2FDC:lI105|H3A3044
+3A3044:lI112|H3A30A4
+3A30A4:lI116|N
+3A2328:lI97|H3A23DC
+3A23DC:lI105|N
+3A2280:lH3A2338|H3A2344
+3A2338:t2:H3A23EC,H3A23F4
+3A23F4:lI97|H3A2498
+3A2498:lI112|H3A2544
+3A2544:lI112|H3A25F8
+3A25F8:lI108|H3A26AC
+3A26AC:lI105|H3A2760
+3A2760:lI99|H3A281C
+3A281C:lI97|H3A28D8
+3A28D8:lI116|H3A299C
+3A299C:lI105|H3A2A60
+3A2A60:lI111|H3A2B2C
+3A2B2C:lI110|H3A2BF0
+3A2BF0:lI47|H3A2CA4
+3A2CA4:lI112|H3A2D54
+3A2D54:lI111|H3A2DFC
+3A2DFC:lI115|H3A2E84
+3A2E84:lI116|H3A2EFC
+3A2EFC:lI115|H3A2F74
+3A2F74:lI99|H3A2FE4
+3A2FE4:lI114|H3A304C
+3A304C:lI105|H3A30AC
+3A30AC:lI112|H3A3104
+3A3104:lI116|N
+3A23EC:lI101|H3A2490
+3A2490:lI112|H3A253C
+3A253C:lI115|N
+3A2344:lH3A23FC|H3A2408
+3A23FC:t2:H3A24A0,H3A24A8
+3A24A8:lI97|H3A2554
+3A2554:lI112|H3A2600
+3A2600:lI112|H3A26B4
+3A26B4:lI108|H3A2768
+3A2768:lI105|H3A2824
+3A2824:lI99|H3A28E0
+3A28E0:lI97|H3A29A4
+3A29A4:lI116|H3A2A68
+3A2A68:lI105|H3A2B34
+3A2B34:lI111|H3A2BF8
+3A2BF8:lI110|H3A2CAC
+3A2CAC:lI47|H3A2D5C
+3A2D5C:lI112|H3A2E04
+3A2E04:lI111|H3A2E8C
+3A2E8C:lI115|H3A2F04
+3A2F04:lI116|H3A2F7C
+3A2F7C:lI115|H3A2FEC
+3A2FEC:lI99|H3A3054
+3A3054:lI114|H3A30B4
+3A30B4:lI105|H3A310C
+3A310C:lI112|H3A315C
+3A315C:lI116|N
+3A24A0:lI112|H3A254C
+3A254C:lI115|N
+3A2408:lH3A24B0|H3A24BC
+3A24B0:t2:H3A255C,H3A2564
+3A2564:lI97|H3A2610
+3A2610:lI112|H3A26C4
+3A26C4:lI112|H3A2770
+3A2770:lI108|H3A282C
+3A282C:lI105|H3A28E8
+3A28E8:lI99|H3A29AC
+3A29AC:lI97|H3A2A70
+3A2A70:lI116|H3A2B3C
+3A2B3C:lI105|H3A2C00
+3A2C00:lI111|H3A2CB4
+3A2CB4:lI110|H3A2D64
+3A2D64:lI47|H3A2E0C
+3A2E0C:lI112|H3A2E94
+3A2E94:lI100|H3A2F0C
+3A2F0C:lI102|N
+3A255C:lI112|H3A2608
+3A2608:lI100|H3A26BC
+3A26BC:lI102|N
+3A24BC:lH3A256C|H3A2578
+3A256C:t2:H3A2618,H3A2620
+3A2620:lI97|H3A26D4
+3A26D4:lI112|H3A2780
+3A2780:lI112|H3A2834
+3A2834:lI108|H3A28F0
+3A28F0:lI105|H3A29B4
+3A29B4:lI99|H3A2A78
+3A2A78:lI97|H3A2B44
+3A2B44:lI116|H3A2C08
+3A2C08:lI105|H3A2CBC
+3A2CBC:lI111|H3A2D6C
+3A2D6C:lI110|H3A2E14
+3A2E14:lI47|H3A2E9C
+3A2E9C:lI111|H3A2F14
+3A2F14:lI100|H3A2F84
+3A2F84:lI97|N
+3A2618:lI111|H3A26CC
+3A26CC:lI100|H3A2778
+3A2778:lI97|N
+3A2578:lH3A2628|H3A2634
+3A2628:t2:H3A26DC,H3A26E4
+3A26E4:lI97|H3A2790
+3A2790:lI112|H3A2844
+3A2844:lI112|H3A28F8
+3A28F8:lI108|H3A29BC
+3A29BC:lI105|H3A2A80
+3A2A80:lI99|H3A2B4C
+3A2B4C:lI97|H3A2C10
+3A2C10:lI116|H3A2CC4
+3A2CC4:lI105|H3A2D74
+3A2D74:lI111|H3A2E1C
+3A2E1C:lI110|H3A2EA4
+3A2EA4:lI47|H3A2F1C
+3A2F1C:lI111|H3A2F8C
+3A2F8C:lI99|H3A2FF4
+3A2FF4:lI116|H3A305C
+3A305C:lI101|H3A30BC
+3A30BC:lI116|H3A3114
+3A3114:lI45|H3A3164
+3A3164:lI115|H3A31AC
+3A31AC:lI116|H3A31F4
+3A31F4:lI114|H3A323C
+3A323C:lI101|H3A3284
+3A3284:lI97|H3A32CC
+3A32CC:lI109|N
+3A26DC:lI98|H3A2788
+3A2788:lI105|H3A283C
+3A283C:lI110|N
+3A2634:lH3A26EC|H3A26F8
+3A26EC:t2:H3A2798,H3A27A0
+3A27A0:lI97|H3A2854
+3A2854:lI112|H3A2908
+3A2908:lI112|H3A29C4
+3A29C4:lI108|H3A2A88
+3A2A88:lI105|H3A2B54
+3A2B54:lI99|H3A2C18
+3A2C18:lI97|H3A2CCC
+3A2CCC:lI116|H3A2D7C
+3A2D7C:lI105|H3A2E24
+3A2E24:lI111|H3A2EAC
+3A2EAC:lI110|H3A2F24
+3A2F24:lI47|H3A2F94
+3A2F94:lI111|H3A2FFC
+3A2FFC:lI99|H3A3064
+3A3064:lI116|H3A30C4
+3A30C4:lI101|H3A311C
+3A311C:lI116|H3A316C
+3A316C:lI45|H3A31B4
+3A31B4:lI115|H3A31FC
+3A31FC:lI116|H3A3244
+3A3244:lI114|H3A328C
+3A328C:lI101|H3A32D4
+3A32D4:lI97|H3A3314
+3A3314:lI109|N
+3A2798:lI100|H3A284C
+3A284C:lI109|H3A2900
+3A2900:lI115|N
+3A26F8:lH3A27A8|H3A27B4
+3A27A8:t2:H3A285C,H3A2864
+3A2864:lI97|H3A2918
+3A2918:lI112|H3A29D4
+3A29D4:lI112|H3A2A90
+3A2A90:lI108|H3A2B5C
+3A2B5C:lI105|H3A2C20
+3A2C20:lI99|H3A2CD4
+3A2CD4:lI97|H3A2D84
+3A2D84:lI116|H3A2E2C
+3A2E2C:lI105|H3A2EB4
+3A2EB4:lI111|H3A2F2C
+3A2F2C:lI110|H3A2F9C
+3A2F9C:lI47|H3A3004
+3A3004:lI111|H3A306C
+3A306C:lI99|H3A30CC
+3A30CC:lI116|H3A3124
+3A3124:lI101|H3A3174
+3A3174:lI116|H3A31BC
+3A31BC:lI45|H3A3204
+3A3204:lI115|H3A324C
+3A324C:lI116|H3A3294
+3A3294:lI114|H3A32DC
+3A32DC:lI101|H3A331C
+3A331C:lI97|H3A334C
+3A334C:lI109|N
+3A285C:lI108|H3A2910
+3A2910:lI104|H3A29CC
+3A29CC:lI97|N
+3A27B4:lH3A286C|H3A2878
+3A286C:t2:H3A2920,H3A2928
+3A2928:lI97|H3A29E4
+3A29E4:lI112|H3A2AA0
+3A2AA0:lI112|H3A2B64
+3A2B64:lI108|H3A2C28
+3A2C28:lI105|H3A2CDC
+3A2CDC:lI99|H3A2D8C
+3A2D8C:lI97|H3A2E34
+3A2E34:lI116|H3A2EBC
+3A2EBC:lI105|H3A2F34
+3A2F34:lI111|H3A2FA4
+3A2FA4:lI110|H3A300C
+3A300C:lI47|H3A3074
+3A3074:lI111|H3A30D4
+3A30D4:lI99|H3A312C
+3A312C:lI116|H3A317C
+3A317C:lI101|H3A31C4
+3A31C4:lI116|H3A320C
+3A320C:lI45|H3A3254
+3A3254:lI115|H3A329C
+3A329C:lI116|H3A32E4
+3A32E4:lI114|H3A3324
+3A3324:lI101|H3A3354
+3A3354:lI97|H3A337C
+3A337C:lI109|N
+3A2920:lI108|H3A29DC
+3A29DC:lI122|H3A2A98
+3A2A98:lI104|N
+3A2878:lH3A2930|H3A293C
+3A2930:t2:H3A29EC,H3A29F4
+3A29F4:lI97|H3A2AB0
+3A2AB0:lI112|H3A2B74
+3A2B74:lI112|H3A2C30
+3A2C30:lI108|H3A2CE4
+3A2CE4:lI105|H3A2D94
+3A2D94:lI99|H3A2E3C
+3A2E3C:lI97|H3A2EC4
+3A2EC4:lI116|H3A2F3C
+3A2F3C:lI105|H3A2FAC
+3A2FAC:lI111|H3A3014
+3A3014:lI110|H3A307C
+3A307C:lI47|H3A30DC
+3A30DC:lI111|H3A3134
+3A3134:lI99|H3A3184
+3A3184:lI116|H3A31CC
+3A31CC:lI101|H3A3214
+3A3214:lI116|H3A325C
+3A325C:lI45|H3A32A4
+3A32A4:lI115|H3A32EC
+3A32EC:lI116|H3A332C
+3A332C:lI114|H3A335C
+3A335C:lI101|H3A3384
+3A3384:lI97|H3A33A4
+3A33A4:lI109|N
+3A29EC:lI101|H3A2AA8
+3A2AA8:lI120|H3A2B6C
+3A2B6C:lI101|N
+3A293C:lH3A29FC|H3A2A08
+3A29FC:t2:H3A2AB8,H3A2AC0
+3A2AC0:lI97|H3A2B84
+3A2B84:lI112|H3A2C40
+3A2C40:lI112|H3A2CF4
+3A2CF4:lI108|H3A2DA4
+3A2DA4:lI105|H3A2E44
+3A2E44:lI99|H3A2ECC
+3A2ECC:lI97|H3A2F44
+3A2F44:lI116|H3A2FB4
+3A2FB4:lI105|H3A301C
+3A301C:lI111|H3A3084
+3A3084:lI110|H3A30E4
+3A30E4:lI47|H3A313C
+3A313C:lI111|H3A318C
+3A318C:lI99|H3A31D4
+3A31D4:lI116|H3A321C
+3A321C:lI101|H3A3264
+3A3264:lI116|H3A32AC
+3A32AC:lI45|H3A32F4
+3A32F4:lI115|H3A3334
+3A3334:lI116|H3A3364
+3A3364:lI114|H3A338C
+3A338C:lI101|H3A33AC
+3A33AC:lI97|H3A33C4
+3A33C4:lI109|N
+3A2AB8:lI99|H3A2B7C
+3A2B7C:lI108|H3A2C38
+3A2C38:lI97|H3A2CEC
+3A2CEC:lI115|H3A2D9C
+3A2D9C:lI115|N
+3A2A08:lH3A2AC8|H3A2AD4
+3A2AC8:t2:H3A2B8C,H3A2B94
+3A2B94:lI97|H3A2C50
+3A2C50:lI112|H3A2D04
+3A2D04:lI112|H3A2DAC
+3A2DAC:lI108|H3A2E4C
+3A2E4C:lI105|H3A2ED4
+3A2ED4:lI99|H3A2F4C
+3A2F4C:lI97|H3A2FBC
+3A2FBC:lI116|H3A3024
+3A3024:lI105|H3A308C
+3A308C:lI111|H3A30EC
+3A30EC:lI110|H3A3144
+3A3144:lI47|H3A3194
+3A3194:lI109|H3A31DC
+3A31DC:lI115|H3A3224
+3A3224:lI119|H3A326C
+3A326C:lI111|H3A32B4
+3A32B4:lI114|H3A32FC
+3A32FC:lI100|N
+3A2B8C:lI100|H3A2C48
+3A2C48:lI111|H3A2CFC
+3A2CFC:lI99|N
+3A2AD4:lH3A2B9C|H3A2BA8
+3A2B9C:t2:H3A2C58,H3A2C60
+3A2C60:lI97|H3A2D14
+3A2D14:lI112|H3A2DBC
+3A2DBC:lI112|H3A2E54
+3A2E54:lI108|H3A2EDC
+3A2EDC:lI105|H3A2F54
+3A2F54:lI99|H3A2FC4
+3A2FC4:lI97|H3A302C
+3A302C:lI116|H3A3094
+3A3094:lI105|H3A30F4
+3A30F4:lI111|H3A314C
+3A314C:lI110|H3A319C
+3A319C:lI47|H3A31E4
+3A31E4:lI109|H3A322C
+3A322C:lI97|H3A3274
+3A3274:lI99|H3A32BC
+3A32BC:lI45|H3A3304
+3A3304:lI99|H3A333C
+3A333C:lI111|H3A336C
+3A336C:lI109|H3A3394
+3A3394:lI112|H3A33B4
+3A33B4:lI97|H3A33CC
+3A33CC:lI99|H3A33DC
+3A33DC:lI116|H3A33EC
+3A33EC:lI112|H3A33FC
+3A33FC:lI114|H3A340C
+3A340C:lI111|N
+3A2C58:lI99|H3A2D0C
+3A2D0C:lI112|H3A2DB4
+3A2DB4:lI116|N
+3A2BA8:lH3A2C68|N
+3A2C68:t2:H3A2D1C,H3A2D24
+3A2D24:lI97|H3A2DCC
+3A2DCC:lI112|H3A2E64
+3A2E64:lI112|H3A2EE4
+3A2EE4:lI108|H3A2F5C
+3A2F5C:lI105|H3A2FCC
+3A2FCC:lI99|H3A3034
+3A3034:lI97|H3A309C
+3A309C:lI116|H3A30FC
+3A30FC:lI105|H3A3154
+3A3154:lI111|H3A31A4
+3A31A4:lI110|H3A31EC
+3A31EC:lI47|H3A3234
+3A3234:lI109|H3A327C
+3A327C:lI97|H3A32C4
+3A32C4:lI99|H3A330C
+3A330C:lI45|H3A3344
+3A3344:lI98|H3A3374
+3A3374:lI105|H3A339C
+3A339C:lI110|H3A33BC
+3A33BC:lI104|H3A33D4
+3A33D4:lI101|H3A33E4
+3A33E4:lI120|H3A33F4
+3A33F4:lI52|H3A3404
+3A3404:lI48|N
+3A2D1C:lI104|H3A2DC4
+3A2DC4:lI113|H3A2E5C
+3A2E5C:lI120|N
+39DC28:lH39DC68|H39DC74
+39DC68:t2:A4:port,I8888
+39DC74:lH39DCA8|H39DCB4
+39DCA8:t2:AC:bind_address,H39DCF8
+39DCF8:t4:I127,I0,I0,I1
+39DCB4:lH39DD0C|H39DD18
+39DD0C:t2:AB:server_name,H39DD6C
+39DD6C:lI108|H39DDE4
+39DDE4:lI111|H39DE5C
+39DE5C:lI99|H39DEE4
+39DEE4:lI97|H39DF6C
+39DF6C:lI108|H39E00C
+39E00C:lI104|H39E0B4
+39E0B4:lI111|H39E16C
+39E16C:lI115|H39E238
+39E238:lI116|N
+39DD18:lH39DD74|H39DD80
+39DD74:t2:AE:max_header_siz,I1024
+39DD80:lH39DDEC|H39DDF8
+39DDEC:t2:A11:max_header_action,A8:reply414
+39DDF8:lH39DE64|H39DE70
+39DE64:t2:A8:com_type,A7:ip_comm
+39DE70:lH39DEEC|H39DEF8
+39DEEC:t2:A7:modules,H39DF74
+39DF74:lA9:mod_alias|H39E014
+39E014:lA8:mod_auth|H39E0BC
+39E0BC:lA7:mod_esi|H39E174
+39E174:lAB:mod_actions|H39E240
+39E240:lA7:mod_cgi|H39E324
+39E324:lAB:mod_include|H39E418
+39E418:lA7:mod_dir|H39E51C
+39E51C:lA7:mod_get|H39E634
+39E634:lA8:mod_head|H39E748
+39E748:lA7:mod_log|H39E85C
+39E85C:lAC:mod_disk_log|N
+39DEF8:lH39DF7C|H39DF88
+39DF7C:t2:AF:directory_index,H39E01C
+39E01C:lH39E0C4|N
+39E0C4:lI105|H39E17C
+39E17C:lI110|H39E248
+39E248:lI100|H39E32C
+39E32C:lI101|H39E420
+39E420:lI120|H39E524
+39E524:lI46|H39E63C
+39E63C:lI104|H39E750
+39E750:lI116|H39E864
+39E864:lI109|H39E978
+39E978:lI108|N
+39DF88:lH39E024|H39E030
+39E024:t2:AC:default_type,H39E0CC
+39E0CC:lI116|H39E184
+39E184:lI101|H39E250
+39E250:lI120|H39E334
+39E334:lI116|H39E428
+39E428:lI47|H39E52C
+39E52C:lI112|H39E644
+39E644:lI108|H39E758
+39E758:lI97|H39E86C
+39E86C:lI105|H39E980
+39E980:lI110|N
+39E030:lH39E0D4|H39E0E0
+39E0D4:t2:A10:erl_script_alias,H39E18C
+39E18C:t2:H39E258,H39E260
+39E260:lH39E344|N
+39E344:lI119|H39E438
+39E438:lI101|H39E53C
+39E53C:lI98|H39E654
+39E654:lI116|H39E768
+39E768:lI111|H39E87C
+39E87C:lI111|H39E990
+39E990:lI108|N
+39E258:lI47|H39E33C
+39E33C:lI119|H39E430
+39E430:lI101|H39E534
+39E534:lI98|H39E64C
+39E64C:lI116|H39E760
+39E760:lI111|H39E874
+39E874:lI111|H39E988
+39E988:lI108|N
+39E0E0:lH39E198|H39E1A4
+39E198:t2:A5:alias,H39E268
+39E268:t2:H39E34C,H39E354
+39E354:lI47|H39E448
+39E448:lI99|H39E54C
+39E54C:lI108|H39E664
+39E664:lI101|H39E778
+39E778:lI97|H39E88C
+39E88C:lI114|H39E9A0
+39E9A0:lI99|H39EA94
+39EA94:lI97|H39EB88
+39EB88:lI115|H39EC7C
+39EC7C:lI101|H39ED70
+39ED70:lI47|H39EE4C
+39EE4C:lI111|H39EF20
+39EF20:lI116|H39EFFC
+39EFFC:lI112|H39F0E0
+39F0E0:lI47|H39F1B4
+39F1B4:lI101|H39F288
+39F288:lI114|H39F344
+39F344:lI116|H39F408
+39F408:lI115|H39F4D4
+39F4D4:lI47|H39F5A8
+39F5A8:lI108|H39F67C
+39F67C:lI105|H39F750
+39F750:lI98|H39F824
+39F824:lI47|H39F908
+39F908:lI111|H39F9E4
+39F9E4:lI98|H39FAC0
+39FAC0:lI115|H39FB9C
+39FB9C:lI101|H39FC68
+39FC68:lI114|H39FD2C
+39FD2C:lI118|H39FDF8
+39FDF8:lI101|H39FEB4
+39FEB4:lI114|H39FF70
+39FF70:lI47|H3A0024
+3A0024:lI112|H3A00D8
+3A00D8:lI114|H3A0184
+3A0184:lI105|H3A0238
+3A0238:lI118|H3A02F4
+3A02F4:lI47|H3A03A8
+3A03A8:lI99|H3A0444
+3A0444:lI114|H3A04E8
+3A04E8:lI97|H3A058C
+3A058C:lI115|H3A0638
+3A0638:lI104|H3A06EC
+3A06EC:lI100|H3A0798
+3A0798:lI117|H3A083C
+3A083C:lI109|H3A08C8
+3A08C8:lI112|H3A095C
+3A095C:lI95|H3A09F0
+3A09F0:lI118|H3A0A8C
+3A0A8C:lI105|H3A0B38
+3A0B38:lI101|H3A0BE4
+3A0BE4:lI119|H3A0CA0
+3A0CA0:lI101|H3A0D5C
+3A0D5C:lI114|N
+39E34C:lI47|H39E440
+39E440:lI99|H39E544
+39E544:lI114|H39E65C
+39E65C:lI97|H39E770
+39E770:lI115|H39E884
+39E884:lI104|H39E998
+39E998:lI100|H39EA8C
+39EA8C:lI117|H39EB80
+39EB80:lI109|H39EC74
+39EC74:lI112|H39ED68
+39ED68:lI95|H39EE44
+39EE44:lI118|H39EF18
+39EF18:lI105|H39EFF4
+39EFF4:lI101|H39F0D8
+39F0D8:lI119|H39F1AC
+39F1AC:lI101|H39F280
+39F280:lI114|N
+39E1A4:lH39E274|H39E280
+39E274:t2:A5:alias,H39E35C
+39E35C:t2:H39E450,H39E458
+39E458:lI47|H39E55C
+39E55C:lI99|H39E674
+39E674:lI108|H39E788
+39E788:lI101|H39E89C
+39E89C:lI97|H39E9B0
+39E9B0:lI114|H39EAA4
+39EAA4:lI99|H39EB98
+39EB98:lI97|H39EC8C
+39EC8C:lI115|H39ED80
+39ED80:lI101|H39EE5C
+39EE5C:lI47|H39EF30
+39EF30:lI111|H39F00C
+39F00C:lI116|H39F0F0
+39F0F0:lI112|H39F1C4
+39F1C4:lI47|H39F298
+39F298:lI101|H39F354
+39F354:lI114|H39F418
+39F418:lI116|H39F4E4
+39F4E4:lI115|H39F5B0
+39F5B0:lI47|H39F684
+39F684:lI101|H39F758
+39F758:lI114|H39F82C
+39F82C:lI116|H39F910
+39F910:lI115|H39F9EC
+39F9EC:lI47|H39FAC8
+39FAC8:lI100|H39FBA4
+39FBA4:lI111|H39FC70
+39FC70:lI99|H39FD34
+39FD34:lI47|H39FE00
+39FE00:lI104|H39FEBC
+39FEBC:lI116|H39FF78
+39FF78:lI109|H3A002C
+3A002C:lI108|N
+39E450:lI47|H39E554
+39E554:lI99|H39E66C
+39E66C:lI114|H39E780
+39E780:lI97|H39E894
+39E894:lI115|H39E9A8
+39E9A8:lI104|H39EA9C
+39EA9C:lI100|H39EB90
+39EB90:lI117|H39EC84
+39EC84:lI109|H39ED78
+39ED78:lI112|H39EE54
+39EE54:lI95|H39EF28
+39EF28:lI101|H39F004
+39F004:lI114|H39F0E8
+39F0E8:lI116|H39F1BC
+39F1BC:lI115|H39F290
+39F290:lI95|H39F34C
+39F34C:lI100|H39F410
+39F410:lI111|H39F4DC
+39F4DC:lI99|N
+39E280:lH39E368|H39E374
+39E368:t2:A5:alias,H39E460
+39E460:t2:H39E564,H39E56C
+39E56C:lI47|H39E684
+39E684:lI99|H39E798
+39E798:lI108|H39E8AC
+39E8AC:lI101|H39E9C0
+39E9C0:lI97|H39EAB4
+39EAB4:lI114|H39EBA8
+39EBA8:lI99|H39EC9C
+39EC9C:lI97|H39ED90
+39ED90:lI115|H39EE6C
+39EE6C:lI101|H39EF40
+39EF40:lI47|H39F01C
+39F01C:lI111|H39F100
+39F100:lI116|H39F1D4
+39F1D4:lI112|H39F2A0
+39F2A0:lI47|H39F35C
+39F35C:lI101|H39F420
+39F420:lI114|H39F4EC
+39F4EC:lI116|H39F5B8
+39F5B8:lI115|H39F68C
+39F68C:lI47|H39F760
+39F760:lI108|H39F834
+39F834:lI105|H39F918
+39F918:lI98|H39F9F4
+39F9F4:lI47|H39FAD0
+39FAD0:lI111|H39FBAC
+39FBAC:lI98|H39FC78
+39FC78:lI115|H39FD3C
+39FD3C:lI101|H39FE08
+39FE08:lI114|H39FEC4
+39FEC4:lI118|H39FF80
+39FF80:lI101|H3A0034
+3A0034:lI114|H3A00E0
+3A00E0:lI47|H3A018C
+3A018C:lI100|H3A0240
+3A0240:lI111|H3A02FC
+3A02FC:lI99|H3A03B0
+3A03B0:lI47|H3A044C
+3A044C:lI104|H3A04F0
+3A04F0:lI116|H3A0594
+3A0594:lI109|H3A0640
+3A0640:lI108|N
+39E564:lI47|H39E67C
+39E67C:lI99|H39E790
+39E790:lI114|H39E8A4
+39E8A4:lI97|H39E9B8
+39E9B8:lI115|H39EAAC
+39EAAC:lI104|H39EBA0
+39EBA0:lI100|H39EC94
+39EC94:lI117|H39ED88
+39ED88:lI109|H39EE64
+39EE64:lI112|H39EF38
+39EF38:lI95|H39F014
+39F014:lI100|H39F0F8
+39F0F8:lI111|H39F1CC
+39F1CC:lI99|N
+39E374:lH39E46C|N
+39E46C:t2:A10:erl_script_alias,H39E574
+39E574:t2:H39E68C,H39E694
+39E694:lH39E7A8|N
+39E7A8:lI99|H39E8BC
+39E8BC:lI114|H39E9D0
+39E9D0:lI97|H39EAC4
+39EAC4:lI115|H39EBB8
+39EBB8:lI104|H39ECAC
+39ECAC:lI100|H39EDA0
+39EDA0:lI117|H39EE74
+39EE74:lI109|H39EF48
+39EF48:lI112|H39F024
+39F024:lI95|H39F108
+39F108:lI118|H39F1DC
+39F1DC:lI105|H39F2A8
+39F2A8:lI101|H39F364
+39F364:lI119|H39F428
+39F428:lI101|H39F4F4
+39F4F4:lI114|N
+39E68C:lI47|H39E7A0
+39E7A0:lI99|H39E8B4
+39E8B4:lI100|H39E9C8
+39E9C8:lI118|H39EABC
+39EABC:lI95|H39EBB0
+39EBB0:lI101|H39ECA4
+39ECA4:lI114|H39ED98
+39ED98:lI108|N
+39DB58:lN|H39DB9C
+39DB9C:lH39D9FC|H39DBEC
+39D9FC:t4:I127,I0,I0,I1
+39DBEC:lI8888|N
+3A3E20:lH3A3DFC|H3A3704
+3A3DFC:t8:A5:child,P<0.46.0>,H39DAC8,H39DAD8,A9:permanent,I2000,A6:worker,H39DAE8
+39DAE8:lAD:httpd_manager|H39DB38
+39DB38:lAA:gen_server|N
+39DAD8:t3:AD:httpd_manager,AA:start_link,H39DB30
+39DB30:lA9:undefined|H39DB78
+39DB78:lH39DB50|H39DBC0
+39DBC0:lN|N
+39DAC8:t3:AD:httpd_manager,H39D9FC,I8888
+3A3704:lH3A36E0|H39D998
+3A36E0:t8:A5:child,P<0.45.0>,H39DA18,H39DA28,A9:permanent,I2000,AA:supervisor,H39DA38
+39DA38:lAE:httpd_misc_sup|H39DAC0
+39DAC0:lAA:supervisor|N
+39DA28:t3:AE:httpd_misc_sup,A5:start,H39D958
+39D958:lH39D9FC|H39DA10
+39DA10:lI8888|H39DAB8
+39DAB8:lA7:silence|N
+39DA18:t3:AE:httpd_misc_sup,H39D9FC,I8888
+39D998:lH39DA64|N
+39DA64:t8:A5:child,P<0.44.0>,H39DAF0,H39DB00,A9:permanent,I2000,AA:supervisor,H39DB10
+39DB10:lA12:httpd_acceptor_sup|H39DB48
+39DB48:lAA:supervisor|N
+39DB00:t3:A12:httpd_acceptor_sup,A5:start,H39DB40
+39DB40:lH39D9FC|H39DB80
+39DB80:lI8888|H39DBC8
+39DBC8:lA7:silence|N
+39DAF0:t3:A12:httpd_acceptor_sup,H39D9FC,I8888
+39D960:t2:A5:local,A1A:httpd_sup__127_0_0_1__8888
+39D9CC:lAA:gen_server|H39DA90
+39DA90:lP<0.33.0>|H39DB20
+39DB20:lP<0.33.0>|H39DB60
+39DB60:lH39DBA4|H39DBB0
+39DBA4:t2:A5:local,A1A:httpd_sup__127_0_0_1__8888
+39DBB0:lAA:supervisor|H39DBF4
+39DBF4:lH39DC30|H39DC40
+39DC30:t3:H39D960,A9:httpd_sup,H39DA88
+39DC40:lN|N
+39D940:t2:AD:$initial_call,H39D9E4
+39D9E4:t3:A3:gen,A7:init_it,H39D9CC
+39D94C:t2:AA:$ancestors,H39D9F4
+39D9F4:lA8:web_tool|H39DAB0
+39DAB0:lP<0.27.0>|N
+=proc_dictionary:<0.44.0>
+H3756A8
+H3756B4
+H3756C0
+H3756CC
+=proc_stack:<0.44.0>
+36c194:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36C030
+y4:A1E:httpd_acc_sup__127_0_0_1__8888
+y5:P<0.43.0>
+36c1b0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H375710
+=proc_heap:<0.44.0>
+36C030:tA:A5:state,H3756D8,AB:one_for_one,H36C028,N,I500,I100,N,A12:httpd_acceptor_sup,H375730
+375730:lA7:silence|N
+36C028:lH36C004|N
+36C004:t8:A5:child,P<0.47.0>,H36BE80,H36BE90,A9:permanent,I1000,A6:worker,H36BEA0
+36BEA0:lAE:httpd_acceptor|N
+36BE90:t3:AE:httpd_acceptor,AA:start_link,H36BEE8
+36BEE8:lP<0.46.0>|H36BEF0
+36BEF0:lA7:ip_comm|H36BEF8
+36BEF8:lH36BF00|H36BF14
+36BF00:t4:I127,I0,I0,I1
+36BF14:lI8888|H36BF1C
+36BF1C:lA1B:httpd_conf__127_0_0_1__8888|H36BF24
+36BF24:lA7:silence|N
+36BE80:t3:AE:httpd_acceptor,H36BED4,I8888
+36BED4:t4:I127,I0,I0,I1
+3756D8:t2:A5:local,A1E:httpd_acc_sup__127_0_0_1__8888
+375710:lAA:gen_server|H375738
+375738:lP<0.43.0>|H375748
+375748:lP<0.43.0>|H375758
+375758:lH375760|H37576C
+375760:t2:A5:local,A1E:httpd_acc_sup__127_0_0_1__8888
+37576C:lAA:supervisor|H375774
+375774:lH37577C|H37578C
+37577C:t3:H3756D8,A12:httpd_acceptor_sup,H375730
+37578C:lN|N
+3756A8:t2:AD:$initial_call,H375718
+375718:t3:A3:gen,A7:init_it,H375710
+3756B4:t2:A9:verbosity,A7:silence
+3756C0:t2:AA:$ancestors,H375728
+375728:lA1A:httpd_sup__127_0_0_1__8888|H375740
+375740:lA8:web_tool|H375750
+375750:lP<0.27.0>|N
+3756CC:t2:A5:sname,A7:acc_sup
+=proc_dictionary:<0.45.0>
+H36F484
+H36F4F4
+H36F468
+H36F500
+=proc_stack:<0.45.0>
+36f734:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36F5D0
+y4:A1F:httpd_misc_sup__127_0_0_1__8888
+y5:P<0.43.0>
+36f750:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36F430
+=proc_heap:<0.45.0>
+36F5D0:tA:A5:state,H36F3FC,AB:one_for_one,N,N,I0,I1,N,AE:httpd_misc_sup,H36F408
+36F408:lA7:silence|N
+36F3FC:t2:A5:local,A1F:httpd_misc_sup__127_0_0_1__8888
+36F430:lAA:gen_server|H36F428
+36F428:lP<0.43.0>|H36F420
+36F420:lP<0.43.0>|H36F3D0
+36F3D0:lH36F3E0|H36F418
+36F3E0:t2:A5:local,A1F:httpd_misc_sup__127_0_0_1__8888
+36F418:lAA:supervisor|H36F3D8
+36F3D8:lH36F3EC|H36F410
+36F3EC:t3:H36F3FC,AE:httpd_misc_sup,H36F408
+36F410:lN|N
+36F484:t2:AD:$initial_call,H36F474
+36F474:t3:A3:gen,A7:init_it,H36F430
+36F4F4:t2:A9:verbosity,A7:silence
+36F468:t2:AA:$ancestors,H36F460
+36F460:lA1A:httpd_sup__127_0_0_1__8888|H36F440
+36F440:lA8:web_tool|H36F438
+36F438:lP<0.27.0>|N
+36F500:t2:A5:sname,A8:misc_sup
+=proc_dictionary:<0.46.0>
+H3BDA50
+H3BDA5C
+H3BDAC8
+H3BDB28
+H3BDB9C
+H3BDC00
+H3BDADC
+H3BDB3C
+=proc_stack:<0.46.0>
+39d8f4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AD:httpd_manager
+y3:H39D5A4
+y4:A16:httpd__127_0_0_1__8888
+y5:P<0.43.0>
+39d910:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3BDAB0
+=proc_heap:<0.46.0>
+39D5A4:t9:A5:state,A7:ip_comm,A9:undefined,A1B:httpd_conf__127_0_0_1__8888,N,A9:unblocked,A9:undefined,A9:undefined,H39D430
+39D430:lH39BF40|H39D428
+39BF40:t2:A8:max_conn,I1
+39D428:lH39BC80|H39D420
+39BC80:t2:AF:last_heavy_load,A5:never
+39D420:lH39D414|N
+39D414:t2:AF:last_connection,H39D408
+39D408:t2:H39D3E8,H39D3F8
+39D3F8:t3:I11,I22,I34
+39D3E8:t3:I2004,I4,I21
+3BDAB0:lAA:gen_server|H3BDB20
+3BDB20:lP<0.43.0>|H3BDB94
+3BDB94:lP<0.43.0>|H3BDBF8
+3BDBF8:lH3BDC48|H3BDC54
+3BDC48:t2:A5:local,A16:httpd__127_0_0_1__8888
+3BDC54:lAD:httpd_manager|H3BDCAC
+3BDCAC:lH3BDD14|H3BDD1C
+3BDD14:lA9:undefined|H3BDD9C
+3BDD9C:lH3BDA84|H3BDE2C
+3BDA84:lH3BDAF0|H3BDAFC
+3BDAF0:t2:AB:server_root,H3BDB48
+3BDB48:lI47|H3BDBB0
+3BDBB0:lI99|H3BDC0C
+3BDC0C:lI108|H3BDC64
+3BDC64:lI101|H3BDCBC
+3BDCBC:lI97|H3BDD2C
+3BDD2C:lI114|H3BDDA4
+3BDDA4:lI99|H3BDE34
+3BDE34:lI97|H3BDED4
+3BDED4:lI115|H3BDF90
+3BDF90:lI101|H3BE054
+3BE054:lI47|H3BE128
+3BE128:lI111|H3BE204
+3BE204:lI116|H3BE2EC
+3BE2EC:lI112|H3BE3E0
+3BE3E0:lI47|H3BE4E4
+3BE4E4:lI101|H3BE5E8
+3BE5E8:lI114|H3BE6EC
+3BE6EC:lI116|H3BE7E0
+3BE7E0:lI115|H3BE8CC
+3BE8CC:lI47|H3BE9B8
+3BE9B8:lI108|H3BEAAC
+3BEAAC:lI105|H3BEB98
+3BEB98:lI98|H3BEC84
+3BEC84:lI47|H3BED70
+3BED70:lI119|H3BEE5C
+3BEE5C:lI101|H3BEF30
+3BEF30:lI98|H3BEFFC
+3BEFFC:lI116|H3BF0C8
+3BF0C8:lI111|H3BF19C
+3BF19C:lI111|H3BF260
+3BF260:lI108|H3BF314
+3BF314:lI47|H3BF3C0
+3BF3C0:lI112|H3BF474
+3BF474:lI114|H3BF530
+3BF530:lI105|H3BF5F4
+3BF5F4:lI118|H3BF6C8
+3BF6C8:lI47|H3BF79C
+3BF79C:lI114|H3BF870
+3BF870:lI111|H3BF954
+3BF954:lI111|H3BFA30
+3BFA30:lI116|N
+3BDAFC:lH3BDB50|H3BDB5C
+3BDB50:t2:AD:document_root,H3BDBB8
+3BDBB8:lI47|H3BDC14
+3BDC14:lI99|H3BDC6C
+3BDC6C:lI108|H3BDCC4
+3BDCC4:lI101|H3BDD34
+3BDD34:lI97|H3BDDAC
+3BDDAC:lI114|H3BDE3C
+3BDE3C:lI99|H3BDEDC
+3BDEDC:lI97|H3BDF98
+3BDF98:lI115|H3BE05C
+3BE05C:lI101|H3BE130
+3BE130:lI47|H3BE20C
+3BE20C:lI111|H3BE2F4
+3BE2F4:lI116|H3BE3E8
+3BE3E8:lI112|H3BE4EC
+3BE4EC:lI47|H3BE5F0
+3BE5F0:lI101|H3BE6F4
+3BE6F4:lI114|H3BE7E8
+3BE7E8:lI116|H3BE8D4
+3BE8D4:lI115|H3BE9C0
+3BE9C0:lI47|H3BEAB4
+3BEAB4:lI108|H3BEBA0
+3BEBA0:lI105|H3BEC8C
+3BEC8C:lI98|H3BED78
+3BED78:lI47|H3BEE64
+3BEE64:lI119|H3BEF38
+3BEF38:lI101|H3BF004
+3BF004:lI98|H3BF0D0
+3BF0D0:lI116|H3BF1A4
+3BF1A4:lI111|H3BF268
+3BF268:lI111|H3BF31C
+3BF31C:lI108|H3BF3C8
+3BF3C8:lI47|H3BF47C
+3BF47C:lI112|H3BF538
+3BF538:lI114|H3BF5FC
+3BF5FC:lI105|H3BF6D0
+3BF6D0:lI118|H3BF7A4
+3BF7A4:lI47|H3BF878
+3BF878:lI114|H3BF95C
+3BF95C:lI111|H3BFA38
+3BFA38:lI111|H3BFB0C
+3BFB0C:lI116|H3BFBE8
+3BFBE8:lI47|H3BFCB4
+3BFCB4:lI100|H3BFD78
+3BFD78:lI111|H3BFE3C
+3BFE3C:lI99|N
+3BDB5C:lH3BDBC0|H3BDBCC
+3BDBC0:t2:AA:mime_types,H3BDC1C
+3BDC1C:lH3BDC74|H3BDC80
+3BDC74:t2:H3BDCCC,H3BDCD4
+3BDCD4:lI120|H3BDD44
+3BDD44:lI45|H3BDDBC
+3BDDBC:lI119|H3BDE44
+3BDE44:lI111|H3BDEE4
+3BDEE4:lI114|H3BDFA0
+3BDFA0:lI108|H3BE064
+3BE064:lI100|H3BE138
+3BE138:lI47|H3BE214
+3BE214:lI120|H3BE2FC
+3BE2FC:lI45|H3BE3F0
+3BE3F0:lI118|H3BE4F4
+3BE4F4:lI114|H3BE5F8
+3BE5F8:lI109|H3BE6FC
+3BE6FC:lI108|N
+3BDCCC:lI119|H3BDD3C
+3BDD3C:lI114|H3BDDB4
+3BDDB4:lI108|N
+3BDC80:lH3BDCDC|H3BDCE8
+3BDCDC:t2:H3BDD4C,H3BDD54
+3BDD54:lI120|H3BDDCC
+3BDDCC:lI45|H3BDE54
+3BDE54:lI119|H3BDEF4
+3BDEF4:lI111|H3BDFA8
+3BDFA8:lI114|H3BE06C
+3BE06C:lI108|H3BE140
+3BE140:lI100|H3BE21C
+3BE21C:lI47|H3BE304
+3BE304:lI120|H3BE3F8
+3BE3F8:lI45|H3BE4FC
+3BE4FC:lI118|H3BE600
+3BE600:lI114|H3BE704
+3BE704:lI109|H3BE7F0
+3BE7F0:lI108|N
+3BDD4C:lI118|H3BDDC4
+3BDDC4:lI114|H3BDE4C
+3BDE4C:lI109|H3BDEEC
+3BDEEC:lI108|N
+3BDCE8:lH3BDD5C|H3BDD68
+3BDD5C:t2:H3BDDD4,H3BDDDC
+3BDDDC:lI120|H3BDE64
+3BDE64:lI45|H3BDF04
+3BDF04:lI99|H3BDFB0
+3BDFB0:lI111|H3BE074
+3BE074:lI110|H3BE148
+3BE148:lI102|H3BE224
+3BE224:lI101|H3BE30C
+3BE30C:lI114|H3BE400
+3BE400:lI101|H3BE504
+3BE504:lI110|H3BE608
+3BE608:lI99|H3BE70C
+3BE70C:lI101|H3BE7F8
+3BE7F8:lI47|H3BE8DC
+3BE8DC:lI120|H3BE9C8
+3BE9C8:lI45|H3BEABC
+3BEABC:lI99|H3BEBA8
+3BEBA8:lI111|H3BEC94
+3BEC94:lI111|H3BED80
+3BED80:lI108|H3BEE6C
+3BEE6C:lI116|H3BEF40
+3BEF40:lI97|H3BF00C
+3BF00C:lI108|H3BF0D8
+3BF0D8:lI107|N
+3BDDD4:lI105|H3BDE5C
+3BDE5C:lI99|H3BDEFC
+3BDEFC:lI101|N
+3BDD68:lH3BDDE4|H3BDDF0
+3BDDE4:t2:H3BDE6C,H3BDE74
+3BDE74:lI118|H3BDF14
+3BDF14:lI105|H3BDFC0
+3BDFC0:lI100|H3BE084
+3BE084:lI101|H3BE158
+3BE158:lI111|H3BE22C
+3BE22C:lI47|H3BE314
+3BE314:lI120|H3BE408
+3BE408:lI45|H3BE50C
+3BE50C:lI115|H3BE610
+3BE610:lI103|H3BE714
+3BE714:lI105|H3BE800
+3BE800:lI45|H3BE8E4
+3BE8E4:lI109|H3BE9D0
+3BE9D0:lI111|H3BEAC4
+3BEAC4:lI118|H3BEBB0
+3BEBB0:lI105|H3BEC9C
+3BEC9C:lI101|N
+3BDE6C:lI109|H3BDF0C
+3BDF0C:lI111|H3BDFB8
+3BDFB8:lI118|H3BE07C
+3BE07C:lI105|H3BE150
+3BE150:lI101|N
+3BDDF0:lH3BDE7C|H3BDE88
+3BDE7C:t2:H3BDF1C,H3BDF24
+3BDF24:lI118|H3BDFD0
+3BDFD0:lI105|H3BE094
+3BE094:lI100|H3BE160
+3BE160:lI101|H3BE234
+3BE234:lI111|H3BE31C
+3BE31C:lI47|H3BE410
+3BE410:lI120|H3BE514
+3BE514:lI45|H3BE618
+3BE618:lI109|H3BE71C
+3BE71C:lI115|H3BE808
+3BE808:lI118|H3BE8EC
+3BE8EC:lI105|H3BE9D8
+3BE9D8:lI100|H3BEACC
+3BEACC:lI101|H3BEBB8
+3BEBB8:lI111|N
+3BDF1C:lI97|H3BDFC8
+3BDFC8:lI118|H3BE08C
+3BE08C:lI105|N
+3BDE88:lH3BDF2C|H3BDF38
+3BDF2C:t2:H3BDFD8,H3BDFE0
+3BDFE0:lI118|H3BE0A4
+3BE0A4:lI105|H3BE168
+3BE168:lI100|H3BE23C
+3BE23C:lI101|H3BE324
+3BE324:lI111|H3BE418
+3BE418:lI47|H3BE51C
+3BE51C:lI113|H3BE620
+3BE620:lI117|H3BE724
+3BE724:lI105|H3BE810
+3BE810:lI99|H3BE8F4
+3BE8F4:lI107|H3BE9E0
+3BE9E0:lI116|H3BEAD4
+3BEAD4:lI105|H3BEBC0
+3BEBC0:lI109|H3BECA4
+3BECA4:lI101|N
+3BDFD8:lI113|H3BE09C
+3BE09C:lI116|N
+3BDF38:lH3BDFE8|H3BDFF4
+3BDFE8:t2:H3BE0AC,H3BE0B4
+3BE0B4:lI118|H3BE178
+3BE178:lI105|H3BE24C
+3BE24C:lI100|H3BE32C
+3BE32C:lI101|H3BE420
+3BE420:lI111|H3BE524
+3BE524:lI47|H3BE628
+3BE628:lI113|H3BE72C
+3BE72C:lI117|H3BE818
+3BE818:lI105|H3BE8FC
+3BE8FC:lI99|H3BE9E8
+3BE9E8:lI107|H3BEADC
+3BEADC:lI116|H3BEBC8
+3BEBC8:lI105|H3BECAC
+3BECAC:lI109|H3BED88
+3BED88:lI101|N
+3BE0AC:lI109|H3BE170
+3BE170:lI111|H3BE244
+3BE244:lI118|N
+3BDFF4:lH3BE0BC|H3BE0C8
+3BE0BC:t2:H3BE180,H3BE188
+3BE188:lI118|H3BE25C
+3BE25C:lI105|H3BE33C
+3BE33C:lI100|H3BE430
+3BE430:lI101|H3BE52C
+3BE52C:lI111|H3BE630
+3BE630:lI47|H3BE734
+3BE734:lI109|H3BE820
+3BE820:lI112|H3BE904
+3BE904:lI101|H3BE9F0
+3BE9F0:lI103|N
+3BE180:lI109|H3BE254
+3BE254:lI112|H3BE334
+3BE334:lI101|H3BE428
+3BE428:lI103|N
+3BE0C8:lH3BE190|H3BE19C
+3BE190:t2:H3BE264,H3BE26C
+3BE26C:lI118|H3BE34C
+3BE34C:lI105|H3BE440
+3BE440:lI100|H3BE534
+3BE534:lI101|H3BE638
+3BE638:lI111|H3BE73C
+3BE73C:lI47|H3BE828
+3BE828:lI109|H3BE90C
+3BE90C:lI112|H3BE9F8
+3BE9F8:lI101|H3BEAE4
+3BEAE4:lI103|N
+3BE264:lI109|H3BE344
+3BE344:lI112|H3BE438
+3BE438:lI103|N
+3BE19C:lH3BE274|H3BE280
+3BE274:t2:H3BE354,H3BE35C
+3BE35C:lI118|H3BE450
+3BE450:lI105|H3BE544
+3BE544:lI100|H3BE640
+3BE640:lI101|H3BE744
+3BE744:lI111|H3BE830
+3BE830:lI47|H3BE914
+3BE914:lI109|H3BEA00
+3BEA00:lI112|H3BEAEC
+3BEAEC:lI101|H3BEBD0
+3BEBD0:lI103|N
+3BE354:lI109|H3BE448
+3BE448:lI112|H3BE53C
+3BE53C:lI101|N
+3BE280:lH3BE364|H3BE370
+3BE364:t2:H3BE458,H3BE460
+3BE460:lI116|H3BE554
+3BE554:lI101|H3BE650
+3BE650:lI120|H3BE754
+3BE754:lI116|H3BE838
+3BE838:lI47|H3BE91C
+3BE91C:lI120|H3BEA08
+3BEA08:lI45|H3BEAF4
+3BEAF4:lI115|H3BEBD8
+3BEBD8:lI103|H3BECB4
+3BECB4:lI109|H3BED90
+3BED90:lI108|N
+3BE458:lI115|H3BE54C
+3BE54C:lI103|H3BE648
+3BE648:lI109|H3BE74C
+3BE74C:lI108|N
+3BE370:lH3BE468|H3BE474
+3BE468:t2:H3BE55C,H3BE564
+3BE564:lI116|H3BE660
+3BE660:lI101|H3BE764
+3BE764:lI120|H3BE840
+3BE840:lI116|H3BE924
+3BE924:lI47|H3BEA10
+3BEA10:lI120|H3BEAFC
+3BEAFC:lI45|H3BEBE0
+3BEBE0:lI115|H3BECBC
+3BECBC:lI103|H3BED98
+3BED98:lI109|H3BEE74
+3BEE74:lI108|N
+3BE55C:lI115|H3BE658
+3BE658:lI103|H3BE75C
+3BE75C:lI109|N
+3BE474:lH3BE56C|H3BE578
+3BE56C:t2:H3BE668,H3BE670
+3BE670:lI116|H3BE774
+3BE774:lI101|H3BE850
+3BE850:lI120|H3BE92C
+3BE92C:lI116|H3BEA18
+3BEA18:lI47|H3BEB04
+3BEB04:lI120|H3BEBE8
+3BEBE8:lI45|H3BECC4
+3BECC4:lI115|H3BEDA0
+3BEDA0:lI101|H3BEE7C
+3BEE7C:lI116|H3BEF48
+3BEF48:lI101|H3BF014
+3BF014:lI120|H3BF0E0
+3BF0E0:lI116|N
+3BE668:lI101|H3BE76C
+3BE76C:lI116|H3BE848
+3BE848:lI120|N
+3BE578:lH3BE678|H3BE684
+3BE678:t2:H3BE77C,H3BE784
+3BE784:lI116|H3BE860
+3BE860:lI101|H3BE93C
+3BE93C:lI120|H3BEA20
+3BEA20:lI116|H3BEB0C
+3BEB0C:lI47|H3BEBF0
+3BEBF0:lI116|H3BECCC
+3BECCC:lI97|H3BEDA8
+3BEDA8:lI98|H3BEE84
+3BEE84:lI45|H3BEF50
+3BEF50:lI115|H3BF01C
+3BF01C:lI101|H3BF0E8
+3BF0E8:lI112|H3BF1AC
+3BF1AC:lI97|H3BF270
+3BF270:lI114|H3BF324
+3BF324:lI97|H3BF3D0
+3BF3D0:lI116|H3BF484
+3BF484:lI101|H3BF540
+3BF540:lI100|H3BF604
+3BF604:lI45|H3BF6D8
+3BF6D8:lI118|H3BF7AC
+3BF7AC:lI97|H3BF880
+3BF880:lI108|H3BF964
+3BF964:lI117|H3BFA40
+3BFA40:lI101|H3BFB14
+3BFB14:lI115|N
+3BE77C:lI116|H3BE858
+3BE858:lI115|H3BE934
+3BE934:lI118|N
+3BE684:lH3BE78C|H3BE798
+3BE78C:t2:H3BE868,H3BE870
+3BE870:lI116|H3BE94C
+3BE94C:lI101|H3BEA30
+3BEA30:lI120|H3BEB14
+3BEB14:lI116|H3BEBF8
+3BEBF8:lI47|H3BECD4
+3BECD4:lI114|H3BEDB0
+3BEDB0:lI105|H3BEE8C
+3BEE8C:lI99|H3BEF58
+3BEF58:lI104|H3BF024
+3BF024:lI116|H3BF0F0
+3BF0F0:lI101|H3BF1B4
+3BF1B4:lI120|H3BF278
+3BF278:lI116|N
+3BE868:lI114|H3BE944
+3BE944:lI116|H3BEA28
+3BEA28:lI120|N
+3BE798:lH3BE878|H3BE884
+3BE878:t2:H3BE954,H3BE95C
+3BE95C:lI116|H3BEA40
+3BEA40:lI101|H3BEB24
+3BEB24:lI120|H3BEC00
+3BEC00:lI116|H3BECDC
+3BECDC:lI47|H3BEDB8
+3BEDB8:lI112|H3BEE94
+3BEE94:lI108|H3BEF60
+3BEF60:lI97|H3BF02C
+3BF02C:lI105|H3BF0F8
+3BF0F8:lI110|N
+3BE954:lI116|H3BEA38
+3BEA38:lI120|H3BEB1C
+3BEB1C:lI116|N
+3BE884:lH3BE964|H3BE970
+3BE964:t2:H3BEA48,H3BEA50
+3BEA50:lI116|H3BEB34
+3BEB34:lI101|H3BEC10
+3BEC10:lI120|H3BECEC
+3BECEC:lI116|H3BEDC8
+3BEDC8:lI47|H3BEE9C
+3BEE9C:lI120|H3BEF68
+3BEF68:lI45|H3BF034
+3BF034:lI115|H3BF100
+3BF100:lI101|H3BF1BC
+3BF1BC:lI114|H3BF280
+3BF280:lI118|H3BF32C
+3BF32C:lI101|H3BF3D8
+3BF3D8:lI114|H3BF48C
+3BF48C:lI45|H3BF548
+3BF548:lI112|H3BF60C
+3BF60C:lI97|H3BF6E0
+3BF6E0:lI114|H3BF7B4
+3BF7B4:lI115|H3BF888
+3BF888:lI101|H3BF96C
+3BF96C:lI100|H3BFA48
+3BFA48:lI45|H3BFB1C
+3BFB1C:lI104|H3BFBF0
+3BFBF0:lI116|H3BFCBC
+3BFCBC:lI109|H3BFD80
+3BFD80:lI108|N
+3BEA48:lI115|H3BEB2C
+3BEB2C:lI104|H3BEC08
+3BEC08:lI116|H3BECE4
+3BECE4:lI109|H3BEDC0
+3BEDC0:lI108|N
+3BE970:lH3BEA58|H3BEA64
+3BEA58:t2:H3BEB3C,H3BEB44
+3BEB44:lI116|H3BEC20
+3BEC20:lI101|H3BECFC
+3BECFC:lI120|H3BEDD8
+3BEDD8:lI116|H3BEEA4
+3BEEA4:lI47|H3BEF70
+3BEF70:lI104|H3BF03C
+3BF03C:lI116|H3BF108
+3BF108:lI109|H3BF1C4
+3BF1C4:lI108|N
+3BEB3C:lI104|H3BEC18
+3BEC18:lI116|H3BECF4
+3BECF4:lI109|H3BEDD0
+3BEDD0:lI108|N
+3BEA64:lH3BEB4C|H3BEB58
+3BEB4C:t2:H3BEC28,H3BEC30
+3BEC30:lI116|H3BED0C
+3BED0C:lI101|H3BEDE8
+3BEDE8:lI120|H3BEEAC
+3BEEAC:lI116|H3BEF78
+3BEF78:lI47|H3BF044
+3BF044:lI104|H3BF110
+3BF110:lI116|H3BF1CC
+3BF1CC:lI109|H3BF288
+3BF288:lI108|N
+3BEC28:lI104|H3BED04
+3BED04:lI116|H3BEDE0
+3BEDE0:lI109|N
+3BEB58:lH3BEC38|H3BEC44
+3BEC38:t2:H3BED14,H3BED1C
+3BED1C:lI105|H3BEDF8
+3BEDF8:lI109|H3BEEBC
+3BEEBC:lI97|H3BEF80
+3BEF80:lI103|H3BF04C
+3BF04C:lI101|H3BF118
+3BF118:lI47|H3BF1D4
+3BF1D4:lI120|H3BF290
+3BF290:lI45|H3BF334
+3BF334:lI120|H3BF3E0
+3BF3E0:lI119|H3BF494
+3BF494:lI105|H3BF550
+3BF550:lI110|H3BF614
+3BF614:lI100|H3BF6E8
+3BF6E8:lI111|H3BF7BC
+3BF7BC:lI119|H3BF890
+3BF890:lI100|H3BF974
+3BF974:lI117|H3BFA50
+3BFA50:lI109|H3BFB24
+3BFB24:lI112|N
+3BED14:lI120|H3BEDF0
+3BEDF0:lI119|H3BEEB4
+3BEEB4:lI100|N
+3BEC44:lH3BED24|H3BED30
+3BED24:t2:H3BEE00,H3BEE08
+3BEE08:lI105|H3BEECC
+3BEECC:lI109|H3BEF90
+3BEF90:lI97|H3BF054
+3BF054:lI103|H3BF120
+3BF120:lI101|H3BF1DC
+3BF1DC:lI47|H3BF298
+3BF298:lI120|H3BF33C
+3BF33C:lI45|H3BF3E8
+3BF3E8:lI120|H3BF49C
+3BF49C:lI112|H3BF558
+3BF558:lI105|H3BF61C
+3BF61C:lI120|H3BF6F0
+3BF6F0:lI109|H3BF7C4
+3BF7C4:lI97|H3BF898
+3BF898:lI112|N
+3BEE00:lI120|H3BEEC4
+3BEEC4:lI112|H3BEF88
+3BEF88:lI109|N
+3BED30:lH3BEE10|H3BEE1C
+3BEE10:t2:H3BEED4,H3BEEDC
+3BEEDC:lI105|H3BEFA0
+3BEFA0:lI109|H3BF064
+3BF064:lI97|H3BF128
+3BF128:lI103|H3BF1E4
+3BF1E4:lI101|H3BF2A0
+3BF2A0:lI47|H3BF344
+3BF344:lI120|H3BF3F0
+3BF3F0:lI45|H3BF4A4
+3BF4A4:lI120|H3BF560
+3BF560:lI98|H3BF624
+3BF624:lI105|H3BF6F8
+3BF6F8:lI116|H3BF7CC
+3BF7CC:lI109|H3BF8A0
+3BF8A0:lI97|H3BF97C
+3BF97C:lI112|N
+3BEED4:lI120|H3BEF98
+3BEF98:lI98|H3BF05C
+3BF05C:lI109|N
+3BEE1C:lH3BEEE4|H3BEEF0
+3BEEE4:t2:H3BEFA8,H3BEFB0
+3BEFB0:lI105|H3BF074
+3BF074:lI109|H3BF138
+3BF138:lI97|H3BF1EC
+3BF1EC:lI103|H3BF2A8
+3BF2A8:lI101|H3BF34C
+3BF34C:lI47|H3BF3F8
+3BF3F8:lI120|H3BF4AC
+3BF4AC:lI45|H3BF568
+3BF568:lI114|H3BF62C
+3BF62C:lI103|H3BF700
+3BF700:lI98|N
+3BEFA8:lI114|H3BF06C
+3BF06C:lI103|H3BF130
+3BF130:lI98|N
+3BEEF0:lH3BEFB8|H3BEFC4
+3BEFB8:t2:H3BF07C,H3BF084
+3BF084:lI105|H3BF148
+3BF148:lI109|H3BF1FC
+3BF1FC:lI97|H3BF2B0
+3BF2B0:lI103|H3BF354
+3BF354:lI101|H3BF400
+3BF400:lI47|H3BF4B4
+3BF4B4:lI120|H3BF570
+3BF570:lI45|H3BF634
+3BF634:lI112|H3BF708
+3BF708:lI111|H3BF7D4
+3BF7D4:lI114|H3BF8A8
+3BF8A8:lI116|H3BF984
+3BF984:lI97|H3BFA58
+3BFA58:lI98|H3BFB2C
+3BFB2C:lI108|H3BFBF8
+3BFBF8:lI101|H3BFCC4
+3BFCC4:lI45|H3BFD88
+3BFD88:lI112|H3BFE44
+3BFE44:lI105|H3BFEF0
+3BFEF0:lI120|H3BFFA4
+3BFFA4:lI109|H3C0050
+3C0050:lI97|H3C00FC
+3C00FC:lI112|N
+3BF07C:lI112|H3BF140
+3BF140:lI112|H3BF1F4
+3BF1F4:lI109|N
+3BEFC4:lH3BF08C|H3BF098
+3BF08C:t2:H3BF150,H3BF158
+3BF158:lI105|H3BF20C
+3BF20C:lI109|H3BF2C0
+3BF2C0:lI97|H3BF35C
+3BF35C:lI103|H3BF408
+3BF408:lI101|H3BF4BC
+3BF4BC:lI47|H3BF578
+3BF578:lI120|H3BF63C
+3BF63C:lI45|H3BF710
+3BF710:lI112|H3BF7DC
+3BF7DC:lI111|H3BF8B0
+3BF8B0:lI114|H3BF98C
+3BF98C:lI116|H3BFA60
+3BFA60:lI97|H3BFB34
+3BFB34:lI98|H3BFC00
+3BFC00:lI108|H3BFCCC
+3BFCCC:lI101|H3BFD90
+3BFD90:lI45|H3BFE4C
+3BFE4C:lI103|H3BFEF8
+3BFEF8:lI114|H3BFFAC
+3BFFAC:lI97|H3C0058
+3C0058:lI121|H3C0104
+3C0104:lI109|H3C01A8
+3C01A8:lI97|H3C025C
+3C025C:lI112|N
+3BF150:lI112|H3BF204
+3BF204:lI103|H3BF2B8
+3BF2B8:lI109|N
+3BF098:lH3BF160|H3BF16C
+3BF160:t2:H3BF214,H3BF21C
+3BF21C:lI105|H3BF2D0
+3BF2D0:lI109|H3BF36C
+3BF36C:lI97|H3BF410
+3BF410:lI103|H3BF4C4
+3BF4C4:lI101|H3BF580
+3BF580:lI47|H3BF644
+3BF644:lI120|H3BF718
+3BF718:lI45|H3BF7E4
+3BF7E4:lI112|H3BF8B8
+3BF8B8:lI111|H3BF994
+3BF994:lI114|H3BFA68
+3BFA68:lI116|H3BFB3C
+3BFB3C:lI97|H3BFC08
+3BFC08:lI98|H3BFCD4
+3BFCD4:lI108|H3BFD98
+3BFD98:lI101|H3BFE54
+3BFE54:lI45|H3BFF00
+3BFF00:lI98|H3BFFB4
+3BFFB4:lI105|H3C0060
+3C0060:lI116|H3C010C
+3C010C:lI109|H3C01B0
+3C01B0:lI97|H3C0264
+3C0264:lI112|N
+3BF214:lI112|H3BF2C8
+3BF2C8:lI98|H3BF364
+3BF364:lI109|N
+3BF16C:lH3BF224|H3BF230
+3BF224:t2:H3BF2D8,H3BF2E0
+3BF2E0:lI105|H3BF37C
+3BF37C:lI109|H3BF420
+3BF420:lI97|H3BF4CC
+3BF4CC:lI103|H3BF588
+3BF588:lI101|H3BF64C
+3BF64C:lI47|H3BF720
+3BF720:lI120|H3BF7EC
+3BF7EC:lI45|H3BF8C0
+3BF8C0:lI112|H3BF99C
+3BF99C:lI111|H3BFA70
+3BFA70:lI114|H3BFB44
+3BFB44:lI116|H3BFC10
+3BFC10:lI97|H3BFCDC
+3BFCDC:lI98|H3BFDA0
+3BFDA0:lI108|H3BFE5C
+3BFE5C:lI101|H3BFF08
+3BFF08:lI45|H3BFFBC
+3BFFBC:lI97|H3C0068
+3C0068:lI110|H3C0114
+3C0114:lI121|H3C01B8
+3C01B8:lI109|H3C026C
+3C026C:lI97|H3C0318
+3C0318:lI112|N
+3BF2D8:lI112|H3BF374
+3BF374:lI110|H3BF418
+3BF418:lI109|N
+3BF230:lH3BF2E8|H3BF2F4
+3BF2E8:t2:H3BF384,H3BF38C
+3BF38C:lI105|H3BF430
+3BF430:lI109|H3BF4DC
+3BF4DC:lI97|H3BF590
+3BF590:lI103|H3BF654
+3BF654:lI101|H3BF728
+3BF728:lI47|H3BF7F4
+3BF7F4:lI120|H3BF8C8
+3BF8C8:lI45|H3BF9A4
+3BF9A4:lI99|H3BFA78
+3BFA78:lI109|H3BFB4C
+3BFB4C:lI117|H3BFC18
+3BFC18:lI45|H3BFCE4
+3BFCE4:lI114|H3BFDA8
+3BFDA8:lI97|H3BFE64
+3BFE64:lI115|H3BFF10
+3BFF10:lI116|H3BFFC4
+3BFFC4:lI101|H3C0070
+3C0070:lI114|N
+3BF384:lI114|H3BF428
+3BF428:lI97|H3BF4D4
+3BF4D4:lI115|N
+3BF2F4:lH3BF394|H3BF3A0
+3BF394:t2:H3BF438,H3BF440
+3BF440:lI105|H3BF4EC
+3BF4EC:lI109|H3BF5A0
+3BF5A0:lI97|H3BF664
+3BF664:lI103|H3BF730
+3BF730:lI101|H3BF7FC
+3BF7FC:lI47|H3BF8D0
+3BF8D0:lI116|H3BF9AC
+3BF9AC:lI105|H3BFA80
+3BFA80:lI102|H3BFB54
+3BFB54:lI102|N
+3BF438:lI116|H3BF4E4
+3BF4E4:lI105|H3BF598
+3BF598:lI102|H3BF65C
+3BF65C:lI102|N
+3BF3A0:lH3BF448|H3BF454
+3BF448:t2:H3BF4F4,H3BF4FC
+3BF4FC:lI105|H3BF5B0
+3BF5B0:lI109|H3BF674
+3BF674:lI97|H3BF738
+3BF738:lI103|H3BF804
+3BF804:lI101|H3BF8D8
+3BF8D8:lI47|H3BF9B4
+3BF9B4:lI116|H3BFA88
+3BFA88:lI105|H3BFB5C
+3BFB5C:lI102|H3BFC20
+3BFC20:lI102|N
+3BF4F4:lI116|H3BF5A8
+3BF5A8:lI105|H3BF66C
+3BF66C:lI102|N
+3BF454:lH3BF504|H3BF510
+3BF504:t2:H3BF5B8,H3BF5C0
+3BF5C0:lI105|H3BF684
+3BF684:lI109|H3BF748
+3BF748:lI97|H3BF80C
+3BF80C:lI103|H3BF8E0
+3BF8E0:lI101|H3BF9BC
+3BF9BC:lI47|H3BFA90
+3BFA90:lI112|H3BFB64
+3BFB64:lI110|H3BFC28
+3BFC28:lI103|N
+3BF5B8:lI112|H3BF67C
+3BF67C:lI110|H3BF740
+3BF740:lI103|N
+3BF510:lH3BF5C8|H3BF5D4
+3BF5C8:t2:H3BF68C,H3BF694
+3BF694:lI105|H3BF758
+3BF758:lI109|H3BF81C
+3BF81C:lI97|H3BF8F0
+3BF8F0:lI103|H3BF9C4
+3BF9C4:lI101|H3BFA98
+3BFA98:lI47|H3BFB6C
+3BFB6C:lI106|H3BFC30
+3BFC30:lI112|H3BFCEC
+3BFCEC:lI101|H3BFDB0
+3BFDB0:lI103|N
+3BF68C:lI106|H3BF750
+3BF750:lI112|H3BF814
+3BF814:lI101|H3BF8E8
+3BF8E8:lI103|N
+3BF5D4:lH3BF69C|H3BF6A8
+3BF69C:t2:H3BF760,H3BF768
+3BF768:lI105|H3BF82C
+3BF82C:lI109|H3BF900
+3BF900:lI97|H3BF9CC
+3BF9CC:lI103|H3BFAA0
+3BFAA0:lI101|H3BFB74
+3BFB74:lI47|H3BFC38
+3BFC38:lI106|H3BFCF4
+3BFCF4:lI112|H3BFDB8
+3BFDB8:lI101|H3BFE6C
+3BFE6C:lI103|N
+3BF760:lI106|H3BF824
+3BF824:lI112|H3BF8F8
+3BF8F8:lI103|N
+3BF6A8:lH3BF770|H3BF77C
+3BF770:t2:H3BF834,H3BF83C
+3BF83C:lI105|H3BF910
+3BF910:lI109|H3BF9DC
+3BF9DC:lI97|H3BFAA8
+3BFAA8:lI103|H3BFB7C
+3BFB7C:lI101|H3BFC40
+3BFC40:lI47|H3BFCFC
+3BFCFC:lI106|H3BFDC0
+3BFDC0:lI112|H3BFE74
+3BFE74:lI101|H3BFF18
+3BFF18:lI103|N
+3BF834:lI106|H3BF908
+3BF908:lI112|H3BF9D4
+3BF9D4:lI101|N
+3BF77C:lH3BF844|H3BF850
+3BF844:t2:H3BF918,H3BF920
+3BF920:lI105|H3BF9EC
+3BF9EC:lI109|H3BFAB8
+3BFAB8:lI97|H3BFB84
+3BFB84:lI103|H3BFC48
+3BFC48:lI101|H3BFD04
+3BFD04:lI47|H3BFDC8
+3BFDC8:lI105|H3BFE7C
+3BFE7C:lI101|H3BFF20
+3BFF20:lI102|N
+3BF918:lI105|H3BF9E4
+3BF9E4:lI101|H3BFAB0
+3BFAB0:lI102|N
+3BF850:lH3BF928|H3BF934
+3BF928:t2:H3BF9F4,H3BF9FC
+3BF9FC:lI105|H3BFAC8
+3BFAC8:lI109|H3BFB94
+3BFB94:lI97|H3BFC50
+3BFC50:lI103|H3BFD0C
+3BFD0C:lI101|H3BFDD0
+3BFDD0:lI47|H3BFE84
+3BFE84:lI103|H3BFF28
+3BFF28:lI105|H3BFFCC
+3BFFCC:lI102|N
+3BF9F4:lI103|H3BFAC0
+3BFAC0:lI105|H3BFB8C
+3BFB8C:lI102|N
+3BF934:lH3BFA04|H3BFA10
+3BFA04:t2:H3BFAD0,H3BFAD8
+3BFAD8:lI99|H3BFBA4
+3BFBA4:lI104|H3BFC60
+3BFC60:lI101|H3BFD14
+3BFD14:lI109|H3BFDD8
+3BFDD8:lI105|H3BFE8C
+3BFE8C:lI99|H3BFF30
+3BFF30:lI97|H3BFFD4
+3BFFD4:lI108|H3C0078
+3C0078:lI47|H3C011C
+3C011C:lI120|H3C01C0
+3C01C0:lI45|H3C0274
+3C0274:lI112|H3C0320
+3C0320:lI100|H3C03CC
+3C03CC:lI98|N
+3BFAD0:lI112|H3BFB9C
+3BFB9C:lI100|H3BFC58
+3BFC58:lI98|N
+3BFA10:lH3BFAE0|H3BFAEC
+3BFAE0:t2:H3BFBAC,H3BFBB4
+3BFBB4:lI99|H3BFC70
+3BFC70:lI104|H3BFD24
+3BFD24:lI101|H3BFDE0
+3BFDE0:lI109|H3BFE94
+3BFE94:lI105|H3BFF38
+3BFF38:lI99|H3BFFDC
+3BFFDC:lI97|H3C0080
+3C0080:lI108|H3C0124
+3C0124:lI47|H3C01C8
+3C01C8:lI120|H3C027C
+3C027C:lI45|H3C0328
+3C0328:lI112|H3C03D4
+3C03D4:lI100|H3C0460
+3C0460:lI98|N
+3BFBAC:lI120|H3BFC68
+3BFC68:lI121|H3BFD1C
+3BFD1C:lI122|N
+3BFAEC:lH3BFBBC|H3BFBC8
+3BFBBC:t2:H3BFC78,H3BFC80
+3BFC80:lI97|H3BFD34
+3BFD34:lI117|H3BFDF0
+3BFDF0:lI100|H3BFE9C
+3BFE9C:lI105|H3BFF40
+3BFF40:lI111|H3BFFE4
+3BFFE4:lI47|H3C0088
+3C0088:lI120|H3C012C
+3C012C:lI45|H3C01D0
+3C01D0:lI119|H3C0284
+3C0284:lI97|H3C0330
+3C0330:lI118|N
+3BFC78:lI119|H3BFD2C
+3BFD2C:lI97|H3BFDE8
+3BFDE8:lI118|N
+3BFBC8:lH3BFC88|H3BFC94
+3BFC88:t2:H3BFD3C,H3BFD44
+3BFD44:lI97|H3BFE00
+3BFE00:lI117|H3BFEA4
+3BFEA4:lI100|H3BFF48
+3BFF48:lI105|H3BFFEC
+3BFFEC:lI111|H3C0090
+3C0090:lI47|H3C0134
+3C0134:lI120|H3C01D8
+3C01D8:lI45|H3C028C
+3C028C:lI114|H3C0338
+3C0338:lI101|H3C03DC
+3C03DC:lI97|H3C0468
+3C0468:lI108|H3C04FC
+3C04FC:lI97|H3C0598
+3C0598:lI117|H3C063C
+3C063C:lI100|H3C06E8
+3C06E8:lI105|H3C0794
+3C0794:lI111|N
+3BFD3C:lI114|H3BFDF8
+3BFDF8:lI97|N
+3BFC94:lH3BFD4C|H3BFD58
+3BFD4C:t2:H3BFE08,H3BFE10
+3BFE10:lI97|H3BFEB4
+3BFEB4:lI117|H3BFF58
+3BFF58:lI100|H3BFFF4
+3BFFF4:lI105|H3C0098
+3C0098:lI111|H3C013C
+3C013C:lI47|H3C01E0
+3C01E0:lI120|H3C0294
+3C0294:lI45|H3C0340
+3C0340:lI112|H3C03E4
+3C03E4:lI110|H3C0470
+3C0470:lI45|H3C0504
+3C0504:lI114|H3C05A0
+3C05A0:lI101|H3C0644
+3C0644:lI97|H3C06F0
+3C06F0:lI108|H3C079C
+3C079C:lI97|H3C0838
+3C0838:lI117|H3C08C4
+3C08C4:lI100|H3C0958
+3C0958:lI105|H3C09EC
+3C09EC:lI111|H3C0A88
+3C0A88:lI45|H3C0B2C
+3C0B2C:lI112|H3C0BD0
+3C0BD0:lI108|H3C0C84
+3C0C84:lI117|H3C0D38
+3C0D38:lI103|H3C0DEC
+3C0DEC:lI105|H3C0EA0
+3C0EA0:lI110|N
+3BFE08:lI114|H3BFEAC
+3BFEAC:lI112|H3BFF50
+3BFF50:lI109|N
+3BFD58:lH3BFE18|H3BFE24
+3BFE18:t2:H3BFEBC,H3BFEC4
+3BFEC4:lI97|H3BFF68
+3BFF68:lI117|H3C0004
+3C0004:lI100|H3C00A0
+3C00A0:lI105|H3C0144
+3C0144:lI111|H3C01E8
+3C01E8:lI47|H3C029C
+3C029C:lI120|H3C0348
+3C0348:lI45|H3C03EC
+3C03EC:lI112|H3C0478
+3C0478:lI110|H3C050C
+3C050C:lI45|H3C05A8
+3C05A8:lI114|H3C064C
+3C064C:lI101|H3C06F8
+3C06F8:lI97|H3C07A4
+3C07A4:lI108|H3C0840
+3C0840:lI97|H3C08CC
+3C08CC:lI117|H3C0960
+3C0960:lI100|H3C09F4
+3C09F4:lI105|H3C0A90
+3C0A90:lI111|N
+3BFEBC:lI114|H3BFF60
+3BFF60:lI97|H3BFFFC
+3BFFFC:lI109|N
+3BFE24:lH3BFECC|H3BFED8
+3BFECC:t2:H3BFF70,H3BFF78
+3BFF78:lI97|H3C0014
+3C0014:lI117|H3C00B0
+3C00B0:lI100|H3C014C
+3C014C:lI105|H3C01F0
+3C01F0:lI111|H3C02A4
+3C02A4:lI47|H3C0350
+3C0350:lI120|H3C03F4
+3C03F4:lI45|H3C0480
+3C0480:lI97|H3C0514
+3C0514:lI105|H3C05B0
+3C05B0:lI102|H3C0654
+3C0654:lI102|N
+3BFF70:lI97|H3C000C
+3C000C:lI105|H3C00A8
+3C00A8:lI102|N
+3BFED8:lH3BFF80|H3BFF8C
+3BFF80:t2:H3C001C,H3C0024
+3C0024:lI97|H3C00C0
+3C00C0:lI117|H3C015C
+3C015C:lI100|H3C0200
+3C0200:lI105|H3C02AC
+3C02AC:lI111|H3C0358
+3C0358:lI47|H3C03FC
+3C03FC:lI120|H3C0488
+3C0488:lI45|H3C051C
+3C051C:lI97|H3C05B8
+3C05B8:lI105|H3C065C
+3C065C:lI102|H3C0700
+3C0700:lI102|N
+3C001C:lI97|H3C00B8
+3C00B8:lI105|H3C0154
+3C0154:lI102|H3C01F8
+3C01F8:lI102|N
+3BFF8C:lH3C002C|H3C0038
+3C002C:t2:H3C00C8,H3C00D0
+3C00D0:lI97|H3C016C
+3C016C:lI117|H3C0210
+3C0210:lI100|H3C02BC
+3C02BC:lI105|H3C0360
+3C0360:lI111|H3C0404
+3C0404:lI47|H3C0490
+3C0490:lI120|H3C0524
+3C0524:lI45|H3C05C0
+3C05C0:lI97|H3C0664
+3C0664:lI105|H3C0708
+3C0708:lI102|H3C07AC
+3C07AC:lI102|N
+3C00C8:lI97|H3C0164
+3C0164:lI105|H3C0208
+3C0208:lI102|H3C02B4
+3C02B4:lI99|N
+3C0038:lH3C00D8|H3C00E4
+3C00D8:t2:H3C0174,H3C017C
+3C017C:lI97|H3C0220
+3C0220:lI117|H3C02CC
+3C02CC:lI100|H3C0370
+3C0370:lI105|H3C040C
+3C040C:lI111|H3C0498
+3C0498:lI47|H3C052C
+3C052C:lI109|H3C05C8
+3C05C8:lI112|H3C066C
+3C066C:lI101|H3C0710
+3C0710:lI103|N
+3C0174:lI109|H3C0218
+3C0218:lI112|H3C02C4
+3C02C4:lI103|H3C0368
+3C0368:lI97|N
+3C00E4:lH3C0184|H3C0190
+3C0184:t2:H3C0228,H3C0230
+3C0230:lI97|H3C02DC
+3C02DC:lI117|H3C0380
+3C0380:lI100|H3C0414
+3C0414:lI105|H3C04A0
+3C04A0:lI111|H3C0534
+3C0534:lI47|H3C05D0
+3C05D0:lI109|H3C0674
+3C0674:lI112|H3C0718
+3C0718:lI101|H3C07B4
+3C07B4:lI103|N
+3C0228:lI109|H3C02D4
+3C02D4:lI112|H3C0378
+3C0378:lI50|N
+3C0190:lH3C0238|H3C0244
+3C0238:t2:H3C02E4,H3C02EC
+3C02EC:lI97|H3C0390
+3C0390:lI117|H3C041C
+3C041C:lI100|H3C04A8
+3C04A8:lI105|H3C053C
+3C053C:lI111|H3C05D8
+3C05D8:lI47|H3C067C
+3C067C:lI98|H3C0720
+3C0720:lI97|H3C07BC
+3C07BC:lI115|H3C0848
+3C0848:lI105|H3C08D4
+3C08D4:lI99|N
+3C02E4:lI97|H3C0388
+3C0388:lI117|N
+3C0244:lH3C02F4|H3C0300
+3C02F4:t2:H3C0398,H3C03A0
+3C03A0:lI97|H3C042C
+3C042C:lI117|H3C04B8
+3C04B8:lI100|H3C0544
+3C0544:lI105|H3C05E0
+3C05E0:lI111|H3C0684
+3C0684:lI47|H3C0728
+3C0728:lI98|H3C07C4
+3C07C4:lI97|H3C0850
+3C0850:lI115|H3C08DC
+3C08DC:lI105|H3C0968
+3C0968:lI99|N
+3C0398:lI115|H3C0424
+3C0424:lI110|H3C04B0
+3C04B0:lI100|N
+3C0300:lH3C03A8|H3C03B4
+3C03A8:t2:H3C0434,H3C043C
+3C043C:lI97|H3C04C8
+3C04C8:lI112|H3C0554
+3C0554:lI112|H3C05E8
+3C05E8:lI108|H3C068C
+3C068C:lI105|H3C0730
+3C0730:lI99|H3C07CC
+3C07CC:lI97|H3C0858
+3C0858:lI116|H3C08E4
+3C08E4:lI105|H3C0970
+3C0970:lI111|H3C09FC
+3C09FC:lI110|H3C0A98
+3C0A98:lI47|H3C0B34
+3C0B34:lI122|H3C0BD8
+3C0BD8:lI105|H3C0C8C
+3C0C8C:lI112|N
+3C0434:lI122|H3C04C0
+3C04C0:lI105|H3C054C
+3C054C:lI112|N
+3C03B4:lH3C0444|H3C0450
+3C0444:t2:H3C04D0,H3C04D8
+3C04D8:lI97|H3C0564
+3C0564:lI112|H3C05F8
+3C05F8:lI112|H3C0694
+3C0694:lI108|H3C0738
+3C0738:lI105|H3C07D4
+3C07D4:lI99|H3C0860
+3C0860:lI97|H3C08EC
+3C08EC:lI116|H3C0978
+3C0978:lI105|H3C0A04
+3C0A04:lI111|H3C0AA0
+3C0AA0:lI110|H3C0B3C
+3C0B3C:lI47|H3C0BE0
+3C0BE0:lI120|H3C0C94
+3C0C94:lI45|H3C0D40
+3C0D40:lI119|H3C0DF4
+3C0DF4:lI97|H3C0EA8
+3C0EA8:lI105|H3C0F64
+3C0F64:lI115|H3C1030
+3C1030:lI45|H3C1104
+3C1104:lI115|H3C11D8
+3C11D8:lI111|H3C12A4
+3C12A4:lI117|H3C1378
+3C1378:lI114|H3C1454
+3C1454:lI99|H3C1538
+3C1538:lI101|N
+3C04D0:lI115|H3C055C
+3C055C:lI114|H3C05F0
+3C05F0:lI99|N
+3C0450:lH3C04E0|H3C04EC
+3C04E0:t2:H3C056C,H3C0574
+3C0574:lI97|H3C0608
+3C0608:lI112|H3C06A4
+3C06A4:lI112|H3C0748
+3C0748:lI108|H3C07E4
+3C07E4:lI105|H3C0868
+3C0868:lI99|H3C08F4
+3C08F4:lI97|H3C0980
+3C0980:lI116|H3C0A0C
+3C0A0C:lI105|H3C0AA8
+3C0AA8:lI111|H3C0B44
+3C0B44:lI110|H3C0BE8
+3C0BE8:lI47|H3C0C9C
+3C0C9C:lI120|H3C0D48
+3C0D48:lI45|H3C0DFC
+3C0DFC:lI117|H3C0EB0
+3C0EB0:lI115|H3C0F6C
+3C0F6C:lI116|H3C1038
+3C1038:lI97|H3C110C
+3C110C:lI114|N
+3C056C:lI117|H3C0600
+3C0600:lI115|H3C069C
+3C069C:lI116|H3C0740
+3C0740:lI97|H3C07DC
+3C07DC:lI114|N
+3C04EC:lH3C057C|H3C0588
+3C057C:t2:H3C0610,H3C0618
+3C0618:lI97|H3C06B4
+3C06B4:lI112|H3C0750
+3C0750:lI112|H3C07EC
+3C07EC:lI108|H3C0870
+3C0870:lI105|H3C08FC
+3C08FC:lI99|H3C0988
+3C0988:lI97|H3C0A14
+3C0A14:lI116|H3C0AB0
+3C0AB0:lI105|H3C0B4C
+3C0B4C:lI111|H3C0BF0
+3C0BF0:lI110|H3C0CA4
+3C0CA4:lI47|H3C0D50
+3C0D50:lI120|H3C0E04
+3C0E04:lI45|H3C0EB8
+3C0EB8:lI116|H3C0F74
+3C0F74:lI114|H3C1040
+3C1040:lI111|H3C1114
+3C1114:lI102|H3C11E0
+3C11E0:lI102|H3C12AC
+3C12AC:lI45|H3C1380
+3C1380:lI109|H3C145C
+3C145C:lI115|N
+3C0610:lI109|H3C06AC
+3C06AC:lI115|N
+3C0588:lH3C0620|H3C062C
+3C0620:t2:H3C06BC,H3C06C4
+3C06C4:lI97|H3C0760
+3C0760:lI112|H3C07F4
+3C07F4:lI112|H3C0878
+3C0878:lI108|H3C0904
+3C0904:lI105|H3C0990
+3C0990:lI99|H3C0A1C
+3C0A1C:lI97|H3C0AB8
+3C0AB8:lI116|H3C0B54
+3C0B54:lI105|H3C0BF8
+3C0BF8:lI111|H3C0CAC
+3C0CAC:lI110|H3C0D58
+3C0D58:lI47|H3C0E0C
+3C0E0C:lI120|H3C0EC0
+3C0EC0:lI45|H3C0F7C
+3C0F7C:lI116|H3C1048
+3C1048:lI114|H3C111C
+3C111C:lI111|H3C11E8
+3C11E8:lI102|H3C12B4
+3C12B4:lI102|H3C1388
+3C1388:lI45|H3C1464
+3C1464:lI109|H3C1540
+3C1540:lI101|N
+3C06BC:lI109|H3C0758
+3C0758:lI101|N
+3C062C:lH3C06CC|H3C06D8
+3C06CC:t2:H3C0768,H3C0770
+3C0770:lI97|H3C0804
+3C0804:lI112|H3C0888
+3C0888:lI112|H3C090C
+3C090C:lI108|H3C0998
+3C0998:lI105|H3C0A24
+3C0A24:lI99|H3C0AC0
+3C0AC0:lI97|H3C0B5C
+3C0B5C:lI116|H3C0C00
+3C0C00:lI105|H3C0CB4
+3C0CB4:lI111|H3C0D60
+3C0D60:lI110|H3C0E14
+3C0E14:lI47|H3C0EC8
+3C0EC8:lI120|H3C0F84
+3C0F84:lI45|H3C1050
+3C1050:lI116|H3C1124
+3C1124:lI114|H3C11F0
+3C11F0:lI111|H3C12BC
+3C12BC:lI102|H3C1390
+3C1390:lI102|H3C146C
+3C146C:lI45|H3C1548
+3C1548:lI109|H3C161C
+3C161C:lI97|H3C16F0
+3C16F0:lI110|N
+3C0768:lI109|H3C07FC
+3C07FC:lI97|H3C0880
+3C0880:lI110|N
+3C06D8:lH3C0778|H3C0784
+3C0778:t2:H3C080C,H3C0814
+3C0814:lI97|H3C0890
+3C0890:lI112|H3C0914
+3C0914:lI112|H3C09A0
+3C09A0:lI108|H3C0A2C
+3C0A2C:lI105|H3C0AC8
+3C0AC8:lI99|H3C0B64
+3C0B64:lI97|H3C0C08
+3C0C08:lI116|H3C0CBC
+3C0CBC:lI105|H3C0D68
+3C0D68:lI111|H3C0E1C
+3C0E1C:lI110|H3C0ED0
+3C0ED0:lI47|H3C0F8C
+3C0F8C:lI120|H3C1058
+3C1058:lI45|H3C112C
+3C112C:lI116|H3C11F8
+3C11F8:lI114|H3C12C4
+3C12C4:lI111|H3C1398
+3C1398:lI102|H3C1474
+3C1474:lI102|N
+3C080C:lI116|N
+3C0784:lH3C081C|H3C0828
+3C081C:t2:H3C0898,H3C08A0
+3C08A0:lI97|H3C0924
+3C0924:lI112|H3C09A8
+3C09A8:lI112|H3C0A34
+3C0A34:lI108|H3C0AD0
+3C0AD0:lI105|H3C0B6C
+3C0B6C:lI99|H3C0C10
+3C0C10:lI97|H3C0CC4
+3C0CC4:lI116|H3C0D70
+3C0D70:lI105|H3C0E24
+3C0E24:lI111|H3C0ED8
+3C0ED8:lI110|H3C0F94
+3C0F94:lI47|H3C1060
+3C1060:lI120|H3C1134
+3C1134:lI45|H3C1200
+3C1200:lI116|H3C12CC
+3C12CC:lI114|H3C13A0
+3C13A0:lI111|H3C147C
+3C147C:lI102|H3C1550
+3C1550:lI102|N
+3C0898:lI116|H3C091C
+3C091C:lI114|N
+3C0828:lH3C08A8|H3C08B4
+3C08A8:t2:H3C092C,H3C0934
+3C0934:lI97|H3C09B8
+3C09B8:lI112|H3C0A44
+3C0A44:lI112|H3C0AE0
+3C0AE0:lI108|H3C0B74
+3C0B74:lI105|H3C0C18
+3C0C18:lI99|H3C0CCC
+3C0CCC:lI97|H3C0D78
+3C0D78:lI116|H3C0E2C
+3C0E2C:lI105|H3C0EE0
+3C0EE0:lI111|H3C0F9C
+3C0F9C:lI110|H3C1068
+3C1068:lI47|H3C113C
+3C113C:lI120|H3C1208
+3C1208:lI45|H3C12D4
+3C12D4:lI116|H3C13A8
+3C13A8:lI114|H3C1484
+3C1484:lI111|H3C1558
+3C1558:lI102|H3C1624
+3C1624:lI102|N
+3C092C:lI114|H3C09B0
+3C09B0:lI111|H3C0A3C
+3C0A3C:lI102|H3C0AD8
+3C0AD8:lI102|N
+3C08B4:lH3C093C|H3C0948
+3C093C:t2:H3C09C0,H3C09C8
+3C09C8:lI97|H3C0A54
+3C0A54:lI112|H3C0AF0
+3C0AF0:lI112|H3C0B84
+3C0B84:lI108|H3C0C28
+3C0C28:lI105|H3C0CDC
+3C0CDC:lI99|H3C0D88
+3C0D88:lI97|H3C0E34
+3C0E34:lI116|H3C0EE8
+3C0EE8:lI105|H3C0FA4
+3C0FA4:lI111|H3C1070
+3C1070:lI110|H3C1144
+3C1144:lI47|H3C1210
+3C1210:lI120|H3C12DC
+3C12DC:lI45|H3C13B0
+3C13B0:lI116|H3C148C
+3C148C:lI101|H3C1560
+3C1560:lI120|H3C162C
+3C162C:lI105|H3C16F8
+3C16F8:lI110|H3C17BC
+3C17BC:lI102|H3C1880
+3C1880:lI111|N
+3C09C0:lI116|H3C0A4C
+3C0A4C:lI101|H3C0AE8
+3C0AE8:lI120|H3C0B7C
+3C0B7C:lI105|H3C0C20
+3C0C20:lI110|H3C0CD4
+3C0CD4:lI102|H3C0D80
+3C0D80:lI111|N
+3C0948:lH3C09D0|H3C09DC
+3C09D0:t2:H3C0A5C,H3C0A64
+3C0A64:lI97|H3C0B00
+3C0B00:lI112|H3C0B94
+3C0B94:lI112|H3C0C38
+3C0C38:lI108|H3C0CE4
+3C0CE4:lI105|H3C0D90
+3C0D90:lI99|H3C0E3C
+3C0E3C:lI97|H3C0EF0
+3C0EF0:lI116|H3C0FAC
+3C0FAC:lI105|H3C1078
+3C1078:lI111|H3C114C
+3C114C:lI110|H3C1218
+3C1218:lI47|H3C12E4
+3C12E4:lI120|H3C13B8
+3C13B8:lI45|H3C1494
+3C1494:lI116|H3C1568
+3C1568:lI101|H3C1634
+3C1634:lI120|H3C1700
+3C1700:lI105|H3C17C4
+3C17C4:lI110|H3C1888
+3C1888:lI102|H3C1944
+3C1944:lI111|N
+3C0A5C:lI116|H3C0AF8
+3C0AF8:lI101|H3C0B8C
+3C0B8C:lI120|H3C0C30
+3C0C30:lI105|N
+3C09DC:lH3C0A6C|H3C0A78
+3C0A6C:t2:H3C0B08,H3C0B10
+3C0B10:lI97|H3C0BA4
+3C0BA4:lI112|H3C0C48
+3C0C48:lI112|H3C0CEC
+3C0CEC:lI108|H3C0D98
+3C0D98:lI105|H3C0E44
+3C0E44:lI99|H3C0EF8
+3C0EF8:lI97|H3C0FB4
+3C0FB4:lI116|H3C1080
+3C1080:lI105|H3C1154
+3C1154:lI111|H3C1220
+3C1220:lI110|H3C12EC
+3C12EC:lI47|H3C13C0
+3C13C0:lI120|H3C149C
+3C149C:lI45|H3C1570
+3C1570:lI116|H3C163C
+3C163C:lI101|H3C1708
+3C1708:lI120|N
+3C0B08:lI116|H3C0B9C
+3C0B9C:lI101|H3C0C40
+3C0C40:lI120|N
+3C0A78:lH3C0B18|H3C0B24
+3C0B18:t2:H3C0BAC,H3C0BB4
+3C0BB4:lI97|H3C0C58
+3C0C58:lI112|H3C0CFC
+3C0CFC:lI112|H3C0DA0
+3C0DA0:lI108|H3C0E4C
+3C0E4C:lI105|H3C0F00
+3C0F00:lI99|H3C0FBC
+3C0FBC:lI97|H3C1088
+3C1088:lI116|H3C115C
+3C115C:lI105|H3C1228
+3C1228:lI111|H3C12F4
+3C12F4:lI110|H3C13C8
+3C13C8:lI47|H3C14A4
+3C14A4:lI120|H3C1578
+3C1578:lI45|H3C1644
+3C1644:lI116|H3C1710
+3C1710:lI99|H3C17CC
+3C17CC:lI108|N
+3C0BAC:lI116|H3C0C50
+3C0C50:lI99|H3C0CF4
+3C0CF4:lI108|N
+3C0B24:lH3C0BBC|H3C0BC8
+3C0BBC:t2:H3C0C60,H3C0C68
+3C0C68:lI97|H3C0D0C
+3C0D0C:lI112|H3C0DB0
+3C0DB0:lI112|H3C0E54
+3C0E54:lI108|H3C0F08
+3C0F08:lI105|H3C0FC4
+3C0FC4:lI99|H3C1090
+3C1090:lI97|H3C1164
+3C1164:lI116|H3C1230
+3C1230:lI105|H3C12FC
+3C12FC:lI111|H3C13D0
+3C13D0:lI110|H3C14AC
+3C14AC:lI47|H3C1580
+3C1580:lI120|H3C164C
+3C164C:lI45|H3C1718
+3C1718:lI116|H3C17D4
+3C17D4:lI97|H3C1890
+3C1890:lI114|N
+3C0C60:lI116|H3C0D04
+3C0D04:lI97|H3C0DA8
+3C0DA8:lI114|N
+3C0BC8:lH3C0C70|H3C0C7C
+3C0C70:t2:H3C0D14,H3C0D1C
+3C0D1C:lI97|H3C0DC0
+3C0DC0:lI112|H3C0E64
+3C0E64:lI112|H3C0F18
+3C0F18:lI108|H3C0FD4
+3C0FD4:lI105|H3C10A0
+3C10A0:lI99|H3C116C
+3C116C:lI97|H3C1238
+3C1238:lI116|H3C1304
+3C1304:lI105|H3C13D8
+3C13D8:lI111|H3C14B4
+3C14B4:lI110|H3C1588
+3C1588:lI47|H3C1654
+3C1654:lI120|H3C1720
+3C1720:lI45|H3C17DC
+3C17DC:lI115|H3C1898
+3C1898:lI118|H3C194C
+3C194C:lI52|H3C1A00
+3C1A00:lI99|H3C1AB4
+3C1AB4:lI114|H3C1B78
+3C1B78:lI99|N
+3C0D14:lI115|H3C0DB8
+3C0DB8:lI118|H3C0E5C
+3C0E5C:lI52|H3C0F10
+3C0F10:lI99|H3C0FCC
+3C0FCC:lI114|H3C1098
+3C1098:lI99|N
+3C0C7C:lH3C0D24|H3C0D30
+3C0D24:t2:H3C0DC8,H3C0DD0
+3C0DD0:lI97|H3C0E74
+3C0E74:lI112|H3C0F28
+3C0F28:lI112|H3C0FE4
+3C0FE4:lI108|H3C10B0
+3C10B0:lI105|H3C117C
+3C117C:lI99|H3C1248
+3C1248:lI97|H3C130C
+3C130C:lI116|H3C13E0
+3C13E0:lI105|H3C14BC
+3C14BC:lI111|H3C1590
+3C1590:lI110|H3C165C
+3C165C:lI47|H3C1728
+3C1728:lI120|H3C17E4
+3C17E4:lI45|H3C18A0
+3C18A0:lI115|H3C1954
+3C1954:lI118|H3C1A08
+3C1A08:lI52|H3C1ABC
+3C1ABC:lI99|H3C1B80
+3C1B80:lI112|H3C1C4C
+3C1C4C:lI105|H3C1D10
+3C1D10:lI111|N
+3C0DC8:lI115|H3C0E6C
+3C0E6C:lI118|H3C0F20
+3C0F20:lI52|H3C0FDC
+3C0FDC:lI99|H3C10A8
+3C10A8:lI112|H3C1174
+3C1174:lI105|H3C1240
+3C1240:lI111|N
+3C0D30:lH3C0DD8|H3C0DE4
+3C0DD8:t2:H3C0E7C,H3C0E84
+3C0E84:lI97|H3C0F38
+3C0F38:lI112|H3C0FF4
+3C0FF4:lI112|H3C10B8
+3C10B8:lI108|H3C1184
+3C1184:lI105|H3C1250
+3C1250:lI99|H3C1314
+3C1314:lI97|H3C13E8
+3C13E8:lI116|H3C14C4
+3C14C4:lI105|H3C1598
+3C1598:lI111|H3C1664
+3C1664:lI110|H3C1730
+3C1730:lI47|H3C17EC
+3C17EC:lI120|H3C18A8
+3C18A8:lI45|H3C195C
+3C195C:lI115|H3C1A10
+3C1A10:lI116|H3C1AC4
+3C1AC4:lI117|H3C1B88
+3C1B88:lI102|H3C1C54
+3C1C54:lI102|H3C1D18
+3C1D18:lI105|H3C1DD4
+3C1DD4:lI116|N
+3C0E7C:lI115|H3C0F30
+3C0F30:lI105|H3C0FEC
+3C0FEC:lI116|N
+3C0DE4:lH3C0E8C|H3C0E98
+3C0E8C:t2:H3C0F40,H3C0F48
+3C0F48:lI97|H3C1004
+3C1004:lI112|H3C10C8
+3C10C8:lI112|H3C1194
+3C1194:lI108|H3C1258
+3C1258:lI105|H3C131C
+3C131C:lI99|H3C13F0
+3C13F0:lI97|H3C14CC
+3C14CC:lI116|H3C15A0
+3C15A0:lI105|H3C166C
+3C166C:lI111|H3C1738
+3C1738:lI110|H3C17F4
+3C17F4:lI47|H3C18B0
+3C18B0:lI120|H3C1964
+3C1964:lI45|H3C1A18
+3C1A18:lI115|H3C1ACC
+3C1ACC:lI104|H3C1B90
+3C1B90:lI97|H3C1C5C
+3C1C5C:lI114|N
+3C0F40:lI115|H3C0FFC
+3C0FFC:lI104|H3C10C0
+3C10C0:lI97|H3C118C
+3C118C:lI114|N
+3C0E98:lH3C0F50|H3C0F5C
+3C0F50:t2:H3C100C,H3C1014
+3C1014:lI97|H3C10D8
+3C10D8:lI112|H3C119C
+3C119C:lI112|H3C1260
+3C1260:lI108|H3C1324
+3C1324:lI105|H3C13F8
+3C13F8:lI99|H3C14D4
+3C14D4:lI97|H3C15A8
+3C15A8:lI116|H3C1674
+3C1674:lI105|H3C1740
+3C1740:lI111|H3C17FC
+3C17FC:lI110|H3C18B8
+3C18B8:lI47|H3C196C
+3C196C:lI120|H3C1A20
+3C1A20:lI45|H3C1AD4
+3C1AD4:lI115|H3C1B98
+3C1B98:lI104|N
+3C100C:lI115|H3C10D0
+3C10D0:lI104|N
+3C0F5C:lH3C101C|H3C1028
+3C101C:t2:H3C10E0,H3C10E8
+3C10E8:lI97|H3C11AC
+3C11AC:lI112|H3C1268
+3C1268:lI112|H3C132C
+3C132C:lI108|H3C1400
+3C1400:lI105|H3C14DC
+3C14DC:lI99|H3C15B0
+3C15B0:lI97|H3C167C
+3C167C:lI116|H3C1748
+3C1748:lI105|H3C1804
+3C1804:lI111|H3C18C0
+3C18C0:lI110|H3C1974
+3C1974:lI47|H3C1A28
+3C1A28:lI120|H3C1ADC
+3C1ADC:lI45|H3C1BA0
+3C1BA0:lI110|H3C1C64
+3C1C64:lI101|H3C1D20
+3C1D20:lI116|H3C1DDC
+3C1DDC:lI99|H3C1E98
+3C1E98:lI100|H3C1F5C
+3C1F5C:lI102|N
+3C10E0:lI110|H3C11A4
+3C11A4:lI99|N
+3C1028:lH3C10F0|H3C10FC
+3C10F0:t2:H3C11B4,H3C11BC
+3C11BC:lI97|H3C1278
+3C1278:lI112|H3C133C
+3C133C:lI112|H3C1408
+3C1408:lI108|H3C14E4
+3C14E4:lI105|H3C15B8
+3C15B8:lI99|H3C1684
+3C1684:lI97|H3C1750
+3C1750:lI116|H3C180C
+3C180C:lI105|H3C18C8
+3C18C8:lI111|H3C197C
+3C197C:lI110|H3C1A30
+3C1A30:lI47|H3C1AE4
+3C1AE4:lI120|H3C1BA8
+3C1BA8:lI45|H3C1C6C
+3C1C6C:lI110|H3C1D28
+3C1D28:lI101|H3C1DE4
+3C1DE4:lI116|H3C1EA0
+3C1EA0:lI99|H3C1F64
+3C1F64:lI100|H3C2018
+3C2018:lI102|N
+3C11B4:lI99|H3C1270
+3C1270:lI100|H3C1334
+3C1334:lI102|N
+3C10FC:lH3C11C4|H3C11D0
+3C11C4:t2:H3C1280,H3C1288
+3C1288:lI97|H3C134C
+3C134C:lI112|H3C1418
+3C1418:lI112|H3C14EC
+3C14EC:lI108|H3C15C0
+3C15C0:lI105|H3C168C
+3C168C:lI99|H3C1758
+3C1758:lI97|H3C1814
+3C1814:lI116|H3C18D0
+3C18D0:lI105|H3C1984
+3C1984:lI111|H3C1A38
+3C1A38:lI110|H3C1AEC
+3C1AEC:lI47|H3C1BB0
+3C1BB0:lI120|H3C1C74
+3C1C74:lI45|H3C1D30
+3C1D30:lI109|H3C1DEC
+3C1DEC:lI105|H3C1EA8
+3C1EA8:lI102|N
+3C1280:lI109|H3C1344
+3C1344:lI105|H3C1410
+3C1410:lI102|N
+3C11D0:lH3C1290|H3C129C
+3C1290:t2:H3C1354,H3C135C
+3C135C:lI97|H3C1428
+3C1428:lI112|H3C14FC
+3C14FC:lI112|H3C15D0
+3C15D0:lI108|H3C169C
+3C169C:lI105|H3C1760
+3C1760:lI99|H3C181C
+3C181C:lI97|H3C18D8
+3C18D8:lI116|H3C198C
+3C198C:lI105|H3C1A40
+3C1A40:lI111|H3C1AF4
+3C1AF4:lI110|H3C1BB8
+3C1BB8:lI47|H3C1C7C
+3C1C7C:lI120|H3C1D38
+3C1D38:lI45|H3C1DF4
+3C1DF4:lI108|H3C1EB0
+3C1EB0:lI97|H3C1F6C
+3C1F6C:lI116|H3C2020
+3C2020:lI101|H3C20DC
+3C20DC:lI120|N
+3C1354:lI108|H3C1420
+3C1420:lI97|H3C14F4
+3C14F4:lI116|H3C15C8
+3C15C8:lI101|H3C1694
+3C1694:lI120|N
+3C129C:lH3C1364|H3C1370
+3C1364:t2:H3C1430,H3C1438
+3C1438:lI97|H3C150C
+3C150C:lI112|H3C15E0
+3C15E0:lI112|H3C16A4
+3C16A4:lI108|H3C1768
+3C1768:lI105|H3C1824
+3C1824:lI99|H3C18E0
+3C18E0:lI97|H3C1994
+3C1994:lI116|H3C1A48
+3C1A48:lI105|H3C1AFC
+3C1AFC:lI111|H3C1BC0
+3C1BC0:lI110|H3C1C84
+3C1C84:lI47|H3C1D40
+3C1D40:lI120|H3C1DFC
+3C1DFC:lI45|H3C1EB8
+3C1EB8:lI107|H3C1F74
+3C1F74:lI111|H3C2028
+3C2028:lI97|H3C20E4
+3C20E4:lI110|N
+3C1430:lI115|H3C1504
+3C1504:lI107|H3C15D8
+3C15D8:lI112|N
+3C1370:lH3C1440|H3C144C
+3C1440:t2:H3C1514,H3C151C
+3C151C:lI97|H3C15F0
+3C15F0:lI112|H3C16B4
+3C16B4:lI112|H3C1770
+3C1770:lI108|H3C182C
+3C182C:lI105|H3C18E8
+3C18E8:lI99|H3C199C
+3C199C:lI97|H3C1A50
+3C1A50:lI116|H3C1B04
+3C1B04:lI105|H3C1BC8
+3C1BC8:lI111|H3C1C8C
+3C1C8C:lI110|H3C1D48
+3C1D48:lI47|H3C1E04
+3C1E04:lI120|H3C1EC0
+3C1EC0:lI45|H3C1F7C
+3C1F7C:lI107|H3C2030
+3C2030:lI111|H3C20EC
+3C20EC:lI97|H3C21A0
+3C21A0:lI110|N
+3C1514:lI115|H3C15E8
+3C15E8:lI107|H3C16AC
+3C16AC:lI100|N
+3C144C:lH3C1524|H3C1530
+3C1524:t2:H3C15F8,H3C1600
+3C1600:lI97|H3C16C4
+3C16C4:lI112|H3C1780
+3C1780:lI112|H3C1834
+3C1834:lI108|H3C18F0
+3C18F0:lI105|H3C19A4
+3C19A4:lI99|H3C1A58
+3C1A58:lI97|H3C1B0C
+3C1B0C:lI116|H3C1BD0
+3C1BD0:lI105|H3C1C94
+3C1C94:lI111|H3C1D50
+3C1D50:lI110|H3C1E0C
+3C1E0C:lI47|H3C1EC8
+3C1EC8:lI120|H3C1F84
+3C1F84:lI45|H3C2038
+3C2038:lI107|H3C20F4
+3C20F4:lI111|H3C21A8
+3C21A8:lI97|H3C225C
+3C225C:lI110|N
+3C15F8:lI115|H3C16BC
+3C16BC:lI107|H3C1778
+3C1778:lI116|N
+3C1530:lH3C1608|H3C1614
+3C1608:t2:H3C16CC,H3C16D4
+3C16D4:lI97|H3C1790
+3C1790:lI112|H3C1844
+3C1844:lI112|H3C18F8
+3C18F8:lI108|H3C19AC
+3C19AC:lI105|H3C1A60
+3C1A60:lI99|H3C1B14
+3C1B14:lI97|H3C1BD8
+3C1BD8:lI116|H3C1C9C
+3C1C9C:lI105|H3C1D58
+3C1D58:lI111|H3C1E14
+3C1E14:lI110|H3C1ED0
+3C1ED0:lI47|H3C1F8C
+3C1F8C:lI120|H3C2040
+3C2040:lI45|H3C20FC
+3C20FC:lI107|H3C21B0
+3C21B0:lI111|H3C2264
+3C2264:lI97|H3C2320
+3C2320:lI110|N
+3C16CC:lI115|H3C1788
+3C1788:lI107|H3C183C
+3C183C:lI109|N
+3C1614:lH3C16DC|H3C16E8
+3C16DC:t2:H3C1798,H3C17A0
+3C17A0:lI97|H3C1854
+3C1854:lI112|H3C1908
+3C1908:lI112|H3C19B4
+3C19B4:lI108|H3C1A68
+3C1A68:lI105|H3C1B1C
+3C1B1C:lI99|H3C1BE0
+3C1BE0:lI97|H3C1CA4
+3C1CA4:lI116|H3C1D60
+3C1D60:lI105|H3C1E1C
+3C1E1C:lI111|H3C1ED8
+3C1ED8:lI110|H3C1F94
+3C1F94:lI47|H3C2048
+3C2048:lI120|H3C2104
+3C2104:lI45|H3C21B8
+3C21B8:lI104|H3C226C
+3C226C:lI116|H3C2328
+3C2328:lI116|H3C23E4
+3C23E4:lI112|H3C2498
+3C2498:lI100|H3C2554
+3C2554:lI45|H3C2610
+3C2610:lI99|H3C26D4
+3C26D4:lI103|H3C2790
+3C2790:lI105|N
+3C1798:lI99|H3C184C
+3C184C:lI103|H3C1900
+3C1900:lI105|N
+3C16E8:lH3C17A8|H3C17B4
+3C17A8:t2:H3C185C,H3C1864
+3C1864:lI97|H3C1918
+3C1918:lI112|H3C19C4
+3C19C4:lI112|H3C1A70
+3C1A70:lI108|H3C1B24
+3C1B24:lI105|H3C1BE8
+3C1BE8:lI99|H3C1CAC
+3C1CAC:lI97|H3C1D68
+3C1D68:lI116|H3C1E24
+3C1E24:lI105|H3C1EE0
+3C1EE0:lI111|H3C1F9C
+3C1F9C:lI110|H3C2050
+3C2050:lI47|H3C210C
+3C210C:lI120|H3C21C0
+3C21C0:lI45|H3C2274
+3C2274:lI104|H3C2330
+3C2330:lI100|H3C23EC
+3C23EC:lI102|N
+3C185C:lI104|H3C1910
+3C1910:lI100|H3C19BC
+3C19BC:lI102|N
+3C17B4:lH3C186C|H3C1878
+3C186C:t2:H3C1920,H3C1928
+3C1928:lI97|H3C19D4
+3C19D4:lI112|H3C1A78
+3C1A78:lI112|H3C1B2C
+3C1B2C:lI108|H3C1BF0
+3C1BF0:lI105|H3C1CB4
+3C1CB4:lI99|H3C1D70
+3C1D70:lI97|H3C1E2C
+3C1E2C:lI116|H3C1EE8
+3C1EE8:lI105|H3C1FA4
+3C1FA4:lI111|H3C2058
+3C2058:lI110|H3C2114
+3C2114:lI47|H3C21C8
+3C21C8:lI120|H3C227C
+3C227C:lI45|H3C2338
+3C2338:lI103|H3C23F4
+3C23F4:lI122|H3C24A0
+3C24A0:lI105|H3C255C
+3C255C:lI112|N
+3C1920:lI103|H3C19CC
+3C19CC:lI122|N
+3C1878:lH3C1930|H3C193C
+3C1930:t2:H3C19DC,H3C19E4
+3C19E4:lI97|H3C1A88
+3C1A88:lI112|H3C1B3C
+3C1B3C:lI112|H3C1C00
+3C1C00:lI108|H3C1CBC
+3C1CBC:lI105|H3C1D78
+3C1D78:lI99|H3C1E34
+3C1E34:lI97|H3C1EF0
+3C1EF0:lI116|H3C1FAC
+3C1FAC:lI105|H3C2060
+3C2060:lI111|H3C211C
+3C211C:lI110|H3C21D0
+3C21D0:lI47|H3C2284
+3C2284:lI120|H3C2340
+3C2340:lI45|H3C23FC
+3C23FC:lI103|H3C24A8
+3C24A8:lI116|H3C2564
+3C2564:lI97|H3C2618
+3C2618:lI114|N
+3C19DC:lI103|H3C1A80
+3C1A80:lI116|H3C1B34
+3C1B34:lI97|H3C1BF8
+3C1BF8:lI114|N
+3C193C:lH3C19EC|H3C19F8
+3C19EC:t2:H3C1A90,H3C1A98
+3C1A98:lI97|H3C1B4C
+3C1B4C:lI112|H3C1C10
+3C1C10:lI112|H3C1CC4
+3C1CC4:lI108|H3C1D80
+3C1D80:lI105|H3C1E3C
+3C1E3C:lI99|H3C1EF8
+3C1EF8:lI97|H3C1FB4
+3C1FB4:lI116|H3C2068
+3C2068:lI105|H3C2124
+3C2124:lI111|H3C21D8
+3C21D8:lI110|H3C228C
+3C228C:lI47|H3C2348
+3C2348:lI120|H3C2404
+3C2404:lI45|H3C24B0
+3C24B0:lI100|H3C256C
+3C256C:lI118|H3C2620
+3C2620:lI105|N
+3C1A90:lI100|H3C1B44
+3C1B44:lI118|H3C1C08
+3C1C08:lI105|N
+3C19F8:lH3C1AA0|H3C1AAC
+3C1AA0:t2:H3C1B54,H3C1B5C
+3C1B5C:lI97|H3C1C20
+3C1C20:lI112|H3C1CD4
+3C1CD4:lI112|H3C1D88
+3C1D88:lI108|H3C1E44
+3C1E44:lI105|H3C1F00
+3C1F00:lI99|H3C1FBC
+3C1FBC:lI97|H3C2070
+3C2070:lI116|H3C212C
+3C212C:lI105|H3C21E0
+3C21E0:lI111|H3C2294
+3C2294:lI110|H3C2350
+3C2350:lI47|H3C240C
+3C240C:lI120|H3C24B8
+3C24B8:lI45|H3C2574
+3C2574:lI100|H3C2628
+3C2628:lI105|H3C26DC
+3C26DC:lI114|H3C2798
+3C2798:lI101|H3C2854
+3C2854:lI99|H3C2918
+3C2918:lI116|H3C29E4
+3C29E4:lI111|H3C2AB0
+3C2AB0:lI114|N
+3C1B54:lI100|H3C1C18
+3C1C18:lI99|H3C1CCC
+3C1CCC:lI114|N
+3C1AAC:lH3C1B64|H3C1B70
+3C1B64:t2:H3C1C28,H3C1C30
+3C1C30:lI97|H3C1CE4
+3C1CE4:lI112|H3C1D98
+3C1D98:lI112|H3C1E4C
+3C1E4C:lI108|H3C1F08
+3C1F08:lI105|H3C1FC4
+3C1FC4:lI99|H3C2078
+3C2078:lI97|H3C2134
+3C2134:lI116|H3C21E8
+3C21E8:lI105|H3C229C
+3C229C:lI111|H3C2358
+3C2358:lI110|H3C2414
+3C2414:lI47|H3C24C0
+3C24C0:lI120|H3C257C
+3C257C:lI45|H3C2630
+3C2630:lI100|H3C26E4
+3C26E4:lI105|H3C27A0
+3C27A0:lI114|H3C285C
+3C285C:lI101|H3C2920
+3C2920:lI99|H3C29EC
+3C29EC:lI116|H3C2AB8
+3C2AB8:lI111|H3C2B84
+3C2B84:lI114|N
+3C1C28:lI100|H3C1CDC
+3C1CDC:lI105|H3C1D90
+3C1D90:lI114|N
+3C1B70:lH3C1C38|H3C1C44
+3C1C38:t2:H3C1CEC,H3C1CF4
+3C1CF4:lI97|H3C1DA8
+3C1DA8:lI112|H3C1E5C
+3C1E5C:lI112|H3C1F10
+3C1F10:lI108|H3C1FCC
+3C1FCC:lI105|H3C2080
+3C2080:lI99|H3C213C
+3C213C:lI97|H3C21F0
+3C21F0:lI116|H3C22A4
+3C22A4:lI105|H3C2360
+3C2360:lI111|H3C241C
+3C241C:lI110|H3C24C8
+3C24C8:lI47|H3C2584
+3C2584:lI120|H3C2638
+3C2638:lI45|H3C26EC
+3C26EC:lI100|H3C27A8
+3C27A8:lI105|H3C2864
+3C2864:lI114|H3C2928
+3C2928:lI101|H3C29F4
+3C29F4:lI99|H3C2AC0
+3C2AC0:lI116|H3C2B8C
+3C2B8C:lI111|H3C2C48
+3C2C48:lI114|N
+3C1CEC:lI100|H3C1DA0
+3C1DA0:lI120|H3C1E54
+3C1E54:lI114|N
+3C1C44:lH3C1CFC|H3C1D08
+3C1CFC:t2:H3C1DB0,H3C1DB8
+3C1DB8:lI97|H3C1E6C
+3C1E6C:lI112|H3C1F20
+3C1F20:lI112|H3C1FD4
+3C1FD4:lI108|H3C2088
+3C2088:lI105|H3C2144
+3C2144:lI99|H3C21F8
+3C21F8:lI97|H3C22AC
+3C22AC:lI116|H3C2368
+3C2368:lI105|H3C2424
+3C2424:lI111|H3C24D0
+3C24D0:lI110|H3C258C
+3C258C:lI47|H3C2640
+3C2640:lI120|H3C26F4
+3C26F4:lI45|H3C27B0
+3C27B0:lI99|H3C286C
+3C286C:lI115|H3C2930
+3C2930:lI104|N
+3C1DB0:lI99|H3C1E64
+3C1E64:lI115|H3C1F18
+3C1F18:lI104|N
+3C1D08:lH3C1DC0|H3C1DCC
+3C1DC0:t2:H3C1E74,H3C1E7C
+3C1E7C:lI97|H3C1F30
+3C1F30:lI112|H3C1FE4
+3C1FE4:lI112|H3C2098
+3C2098:lI108|H3C214C
+3C214C:lI105|H3C2200
+3C2200:lI99|H3C22B4
+3C22B4:lI97|H3C2370
+3C2370:lI116|H3C242C
+3C242C:lI105|H3C24D8
+3C24D8:lI111|H3C2594
+3C2594:lI110|H3C2648
+3C2648:lI47|H3C26FC
+3C26FC:lI120|H3C27B8
+3C27B8:lI45|H3C2874
+3C2874:lI99|H3C2938
+3C2938:lI112|H3C29FC
+3C29FC:lI105|H3C2AC8
+3C2AC8:lI111|N
+3C1E74:lI99|H3C1F28
+3C1F28:lI112|H3C1FDC
+3C1FDC:lI105|H3C2090
+3C2090:lI111|N
+3C1DCC:lH3C1E84|H3C1E90
+3C1E84:t2:H3C1F38,H3C1F40
+3C1F40:lI97|H3C1FEC
+3C1FEC:lI112|H3C20A0
+3C20A0:lI112|H3C2154
+3C2154:lI108|H3C2208
+3C2208:lI105|H3C22BC
+3C22BC:lI99|H3C2378
+3C2378:lI97|H3C2434
+3C2434:lI116|H3C24E0
+3C24E0:lI105|H3C259C
+3C259C:lI111|H3C2650
+3C2650:lI110|H3C2704
+3C2704:lI47|H3C27C0
+3C27C0:lI120|H3C287C
+3C287C:lI45|H3C2940
+3C2940:lI99|H3C2A04
+3C2A04:lI111|H3C2AD0
+3C2AD0:lI109|H3C2B94
+3C2B94:lI112|H3C2C50
+3C2C50:lI114|H3C2D00
+3C2D00:lI101|H3C2DA8
+3C2DA8:lI115|H3C2E40
+3C2E40:lI115|N
+3C1F38:lI90|N
+3C1E90:lH3C1F48|H3C1F54
+3C1F48:t2:H3C1FF4,H3C1FFC
+3C1FFC:lI97|H3C20B0
+3C20B0:lI112|H3C2164
+3C2164:lI112|H3C2210
+3C2210:lI108|H3C22C4
+3C22C4:lI105|H3C2380
+3C2380:lI99|H3C243C
+3C243C:lI97|H3C24E8
+3C24E8:lI116|H3C25A4
+3C25A4:lI105|H3C2658
+3C2658:lI111|H3C270C
+3C270C:lI110|H3C27C8
+3C27C8:lI47|H3C2884
+3C2884:lI120|H3C2948
+3C2948:lI45|H3C2A0C
+3C2A0C:lI99|H3C2AD8
+3C2AD8:lI100|H3C2B9C
+3C2B9C:lI108|H3C2C58
+3C2C58:lI105|H3C2D08
+3C2D08:lI110|H3C2DB0
+3C2DB0:lI107|N
+3C1FF4:lI118|H3C20A8
+3C20A8:lI99|H3C215C
+3C215C:lI100|N
+3C1F54:lH3C2004|H3C2010
+3C2004:t2:H3C20B8,H3C20C0
+3C20C0:lI97|H3C2174
+3C2174:lI112|H3C2220
+3C2220:lI112|H3C22D4
+3C22D4:lI108|H3C2390
+3C2390:lI105|H3C2444
+3C2444:lI99|H3C24F0
+3C24F0:lI97|H3C25AC
+3C25AC:lI116|H3C2660
+3C2660:lI105|H3C2714
+3C2714:lI111|H3C27D0
+3C27D0:lI110|H3C288C
+3C288C:lI47|H3C2950
+3C2950:lI120|H3C2A14
+3C2A14:lI45|H3C2AE0
+3C2AE0:lI98|H3C2BA4
+3C2BA4:lI99|H3C2C60
+3C2C60:lI112|H3C2D10
+3C2D10:lI105|H3C2DB8
+3C2DB8:lI111|N
+3C20B8:lI98|H3C216C
+3C216C:lI99|H3C2218
+3C2218:lI112|H3C22CC
+3C22CC:lI105|H3C2388
+3C2388:lI111|N
+3C2010:lH3C20C8|H3C20D4
+3C20C8:t2:H3C217C,H3C2184
+3C2184:lI97|H3C2230
+3C2230:lI112|H3C22E4
+3C22E4:lI112|H3C2398
+3C2398:lI108|H3C244C
+3C244C:lI105|H3C24F8
+3C24F8:lI99|H3C25B4
+3C25B4:lI97|H3C2668
+3C2668:lI116|H3C271C
+3C271C:lI105|H3C27D8
+3C27D8:lI111|H3C2894
+3C2894:lI110|H3C2958
+3C2958:lI47|H3C2A1C
+3C2A1C:lI114|H3C2AE8
+3C2AE8:lI116|H3C2BAC
+3C2BAC:lI102|N
+3C217C:lI114|H3C2228
+3C2228:lI116|H3C22DC
+3C22DC:lI102|N
+3C20D4:lH3C218C|H3C2198
+3C218C:t2:H3C2238,H3C2240
+3C2240:lI97|H3C22F4
+3C22F4:lI112|H3C23A8
+3C23A8:lI112|H3C2454
+3C2454:lI108|H3C2500
+3C2500:lI105|H3C25BC
+3C25BC:lI99|H3C2670
+3C2670:lI97|H3C2724
+3C2724:lI116|H3C27E0
+3C27E0:lI105|H3C289C
+3C289C:lI111|H3C2960
+3C2960:lI110|H3C2A24
+3C2A24:lI47|H3C2AF0
+3C2AF0:lI112|H3C2BB4
+3C2BB4:lI111|H3C2C68
+3C2C68:lI119|H3C2D18
+3C2D18:lI101|H3C2DC0
+3C2DC0:lI114|H3C2E48
+3C2E48:lI112|H3C2EC0
+3C2EC0:lI111|H3C2F38
+3C2F38:lI105|H3C2FA8
+3C2FA8:lI110|H3C3010
+3C3010:lI116|N
+3C2238:lI112|H3C22EC
+3C22EC:lI112|H3C23A0
+3C23A0:lI116|N
+3C2198:lH3C2248|H3C2254
+3C2248:t2:H3C22FC,H3C2304
+3C2304:lI97|H3C23B8
+3C23B8:lI112|H3C245C
+3C245C:lI112|H3C2508
+3C2508:lI108|H3C25C4
+3C25C4:lI105|H3C2678
+3C2678:lI99|H3C272C
+3C272C:lI97|H3C27E8
+3C27E8:lI116|H3C28A4
+3C28A4:lI105|H3C2968
+3C2968:lI111|H3C2A2C
+3C2A2C:lI110|H3C2AF8
+3C2AF8:lI47|H3C2BBC
+3C2BBC:lI112|H3C2C70
+3C2C70:lI111|H3C2D20
+3C2D20:lI115|H3C2DC8
+3C2DC8:lI116|H3C2E50
+3C2E50:lI115|H3C2EC8
+3C2EC8:lI99|H3C2F40
+3C2F40:lI114|H3C2FB0
+3C2FB0:lI105|H3C3018
+3C3018:lI112|H3C3078
+3C3078:lI116|N
+3C22FC:lI97|H3C23B0
+3C23B0:lI105|N
+3C2254:lH3C230C|H3C2318
+3C230C:t2:H3C23C0,H3C23C8
+3C23C8:lI97|H3C246C
+3C246C:lI112|H3C2518
+3C2518:lI112|H3C25CC
+3C25CC:lI108|H3C2680
+3C2680:lI105|H3C2734
+3C2734:lI99|H3C27F0
+3C27F0:lI97|H3C28AC
+3C28AC:lI116|H3C2970
+3C2970:lI105|H3C2A34
+3C2A34:lI111|H3C2B00
+3C2B00:lI110|H3C2BC4
+3C2BC4:lI47|H3C2C78
+3C2C78:lI112|H3C2D28
+3C2D28:lI111|H3C2DD0
+3C2DD0:lI115|H3C2E58
+3C2E58:lI116|H3C2ED0
+3C2ED0:lI115|H3C2F48
+3C2F48:lI99|H3C2FB8
+3C2FB8:lI114|H3C3020
+3C3020:lI105|H3C3080
+3C3080:lI112|H3C30D8
+3C30D8:lI116|N
+3C23C0:lI101|H3C2464
+3C2464:lI112|H3C2510
+3C2510:lI115|N
+3C2318:lH3C23D0|H3C23DC
+3C23D0:t2:H3C2474,H3C247C
+3C247C:lI97|H3C2528
+3C2528:lI112|H3C25D4
+3C25D4:lI112|H3C2688
+3C2688:lI108|H3C273C
+3C273C:lI105|H3C27F8
+3C27F8:lI99|H3C28B4
+3C28B4:lI97|H3C2978
+3C2978:lI116|H3C2A3C
+3C2A3C:lI105|H3C2B08
+3C2B08:lI111|H3C2BCC
+3C2BCC:lI110|H3C2C80
+3C2C80:lI47|H3C2D30
+3C2D30:lI112|H3C2DD8
+3C2DD8:lI111|H3C2E60
+3C2E60:lI115|H3C2ED8
+3C2ED8:lI116|H3C2F50
+3C2F50:lI115|H3C2FC0
+3C2FC0:lI99|H3C3028
+3C3028:lI114|H3C3088
+3C3088:lI105|H3C30E0
+3C30E0:lI112|H3C3130
+3C3130:lI116|N
+3C2474:lI112|H3C2520
+3C2520:lI115|N
+3C23DC:lH3C2484|H3C2490
+3C2484:t2:H3C2530,H3C2538
+3C2538:lI97|H3C25E4
+3C25E4:lI112|H3C2698
+3C2698:lI112|H3C2744
+3C2744:lI108|H3C2800
+3C2800:lI105|H3C28BC
+3C28BC:lI99|H3C2980
+3C2980:lI97|H3C2A44
+3C2A44:lI116|H3C2B10
+3C2B10:lI105|H3C2BD4
+3C2BD4:lI111|H3C2C88
+3C2C88:lI110|H3C2D38
+3C2D38:lI47|H3C2DE0
+3C2DE0:lI112|H3C2E68
+3C2E68:lI100|H3C2EE0
+3C2EE0:lI102|N
+3C2530:lI112|H3C25DC
+3C25DC:lI100|H3C2690
+3C2690:lI102|N
+3C2490:lH3C2540|H3C254C
+3C2540:t2:H3C25EC,H3C25F4
+3C25F4:lI97|H3C26A8
+3C26A8:lI112|H3C2754
+3C2754:lI112|H3C2808
+3C2808:lI108|H3C28C4
+3C28C4:lI105|H3C2988
+3C2988:lI99|H3C2A4C
+3C2A4C:lI97|H3C2B18
+3C2B18:lI116|H3C2BDC
+3C2BDC:lI105|H3C2C90
+3C2C90:lI111|H3C2D40
+3C2D40:lI110|H3C2DE8
+3C2DE8:lI47|H3C2E70
+3C2E70:lI111|H3C2EE8
+3C2EE8:lI100|H3C2F58
+3C2F58:lI97|N
+3C25EC:lI111|H3C26A0
+3C26A0:lI100|H3C274C
+3C274C:lI97|N
+3C254C:lH3C25FC|H3C2608
+3C25FC:t2:H3C26B0,H3C26B8
+3C26B8:lI97|H3C2764
+3C2764:lI112|H3C2818
+3C2818:lI112|H3C28CC
+3C28CC:lI108|H3C2990
+3C2990:lI105|H3C2A54
+3C2A54:lI99|H3C2B20
+3C2B20:lI97|H3C2BE4
+3C2BE4:lI116|H3C2C98
+3C2C98:lI105|H3C2D48
+3C2D48:lI111|H3C2DF0
+3C2DF0:lI110|H3C2E78
+3C2E78:lI47|H3C2EF0
+3C2EF0:lI111|H3C2F60
+3C2F60:lI99|H3C2FC8
+3C2FC8:lI116|H3C3030
+3C3030:lI101|H3C3090
+3C3090:lI116|H3C30E8
+3C30E8:lI45|H3C3138
+3C3138:lI115|H3C3180
+3C3180:lI116|H3C31C8
+3C31C8:lI114|H3C3210
+3C3210:lI101|H3C3258
+3C3258:lI97|H3C32A0
+3C32A0:lI109|N
+3C26B0:lI98|H3C275C
+3C275C:lI105|H3C2810
+3C2810:lI110|N
+3C2608:lH3C26C0|H3C26CC
+3C26C0:t2:H3C276C,H3C2774
+3C2774:lI97|H3C2828
+3C2828:lI112|H3C28DC
+3C28DC:lI112|H3C2998
+3C2998:lI108|H3C2A5C
+3C2A5C:lI105|H3C2B28
+3C2B28:lI99|H3C2BEC
+3C2BEC:lI97|H3C2CA0
+3C2CA0:lI116|H3C2D50
+3C2D50:lI105|H3C2DF8
+3C2DF8:lI111|H3C2E80
+3C2E80:lI110|H3C2EF8
+3C2EF8:lI47|H3C2F68
+3C2F68:lI111|H3C2FD0
+3C2FD0:lI99|H3C3038
+3C3038:lI116|H3C3098
+3C3098:lI101|H3C30F0
+3C30F0:lI116|H3C3140
+3C3140:lI45|H3C3188
+3C3188:lI115|H3C31D0
+3C31D0:lI116|H3C3218
+3C3218:lI114|H3C3260
+3C3260:lI101|H3C32A8
+3C32A8:lI97|H3C32E8
+3C32E8:lI109|N
+3C276C:lI100|H3C2820
+3C2820:lI109|H3C28D4
+3C28D4:lI115|N
+3C26CC:lH3C277C|H3C2788
+3C277C:t2:H3C2830,H3C2838
+3C2838:lI97|H3C28EC
+3C28EC:lI112|H3C29A8
+3C29A8:lI112|H3C2A64
+3C2A64:lI108|H3C2B30
+3C2B30:lI105|H3C2BF4
+3C2BF4:lI99|H3C2CA8
+3C2CA8:lI97|H3C2D58
+3C2D58:lI116|H3C2E00
+3C2E00:lI105|H3C2E88
+3C2E88:lI111|H3C2F00
+3C2F00:lI110|H3C2F70
+3C2F70:lI47|H3C2FD8
+3C2FD8:lI111|H3C3040
+3C3040:lI99|H3C30A0
+3C30A0:lI116|H3C30F8
+3C30F8:lI101|H3C3148
+3C3148:lI116|H3C3190
+3C3190:lI45|H3C31D8
+3C31D8:lI115|H3C3220
+3C3220:lI116|H3C3268
+3C3268:lI114|H3C32B0
+3C32B0:lI101|H3C32F0
+3C32F0:lI97|H3C3320
+3C3320:lI109|N
+3C2830:lI108|H3C28E4
+3C28E4:lI104|H3C29A0
+3C29A0:lI97|N
+3C2788:lH3C2840|H3C284C
+3C2840:t2:H3C28F4,H3C28FC
+3C28FC:lI97|H3C29B8
+3C29B8:lI112|H3C2A74
+3C2A74:lI112|H3C2B38
+3C2B38:lI108|H3C2BFC
+3C2BFC:lI105|H3C2CB0
+3C2CB0:lI99|H3C2D60
+3C2D60:lI97|H3C2E08
+3C2E08:lI116|H3C2E90
+3C2E90:lI105|H3C2F08
+3C2F08:lI111|H3C2F78
+3C2F78:lI110|H3C2FE0
+3C2FE0:lI47|H3C3048
+3C3048:lI111|H3C30A8
+3C30A8:lI99|H3C3100
+3C3100:lI116|H3C3150
+3C3150:lI101|H3C3198
+3C3198:lI116|H3C31E0
+3C31E0:lI45|H3C3228
+3C3228:lI115|H3C3270
+3C3270:lI116|H3C32B8
+3C32B8:lI114|H3C32F8
+3C32F8:lI101|H3C3328
+3C3328:lI97|H3C3350
+3C3350:lI109|N
+3C28F4:lI108|H3C29B0
+3C29B0:lI122|H3C2A6C
+3C2A6C:lI104|N
+3C284C:lH3C2904|H3C2910
+3C2904:t2:H3C29C0,H3C29C8
+3C29C8:lI97|H3C2A84
+3C2A84:lI112|H3C2B48
+3C2B48:lI112|H3C2C04
+3C2C04:lI108|H3C2CB8
+3C2CB8:lI105|H3C2D68
+3C2D68:lI99|H3C2E10
+3C2E10:lI97|H3C2E98
+3C2E98:lI116|H3C2F10
+3C2F10:lI105|H3C2F80
+3C2F80:lI111|H3C2FE8
+3C2FE8:lI110|H3C3050
+3C3050:lI47|H3C30B0
+3C30B0:lI111|H3C3108
+3C3108:lI99|H3C3158
+3C3158:lI116|H3C31A0
+3C31A0:lI101|H3C31E8
+3C31E8:lI116|H3C3230
+3C3230:lI45|H3C3278
+3C3278:lI115|H3C32C0
+3C32C0:lI116|H3C3300
+3C3300:lI114|H3C3330
+3C3330:lI101|H3C3358
+3C3358:lI97|H3C3378
+3C3378:lI109|N
+3C29C0:lI101|H3C2A7C
+3C2A7C:lI120|H3C2B40
+3C2B40:lI101|N
+3C2910:lH3C29D0|H3C29DC
+3C29D0:t2:H3C2A8C,H3C2A94
+3C2A94:lI97|H3C2B58
+3C2B58:lI112|H3C2C14
+3C2C14:lI112|H3C2CC8
+3C2CC8:lI108|H3C2D78
+3C2D78:lI105|H3C2E18
+3C2E18:lI99|H3C2EA0
+3C2EA0:lI97|H3C2F18
+3C2F18:lI116|H3C2F88
+3C2F88:lI105|H3C2FF0
+3C2FF0:lI111|H3C3058
+3C3058:lI110|H3C30B8
+3C30B8:lI47|H3C3110
+3C3110:lI111|H3C3160
+3C3160:lI99|H3C31A8
+3C31A8:lI116|H3C31F0
+3C31F0:lI101|H3C3238
+3C3238:lI116|H3C3280
+3C3280:lI45|H3C32C8
+3C32C8:lI115|H3C3308
+3C3308:lI116|H3C3338
+3C3338:lI114|H3C3360
+3C3360:lI101|H3C3380
+3C3380:lI97|H3C3398
+3C3398:lI109|N
+3C2A8C:lI99|H3C2B50
+3C2B50:lI108|H3C2C0C
+3C2C0C:lI97|H3C2CC0
+3C2CC0:lI115|H3C2D70
+3C2D70:lI115|N
+3C29DC:lH3C2A9C|H3C2AA8
+3C2A9C:t2:H3C2B60,H3C2B68
+3C2B68:lI97|H3C2C24
+3C2C24:lI112|H3C2CD8
+3C2CD8:lI112|H3C2D80
+3C2D80:lI108|H3C2E20
+3C2E20:lI105|H3C2EA8
+3C2EA8:lI99|H3C2F20
+3C2F20:lI97|H3C2F90
+3C2F90:lI116|H3C2FF8
+3C2FF8:lI105|H3C3060
+3C3060:lI111|H3C30C0
+3C30C0:lI110|H3C3118
+3C3118:lI47|H3C3168
+3C3168:lI109|H3C31B0
+3C31B0:lI115|H3C31F8
+3C31F8:lI119|H3C3240
+3C3240:lI111|H3C3288
+3C3288:lI114|H3C32D0
+3C32D0:lI100|N
+3C2B60:lI100|H3C2C1C
+3C2C1C:lI111|H3C2CD0
+3C2CD0:lI99|N
+3C2AA8:lH3C2B70|H3C2B7C
+3C2B70:t2:H3C2C2C,H3C2C34
+3C2C34:lI97|H3C2CE8
+3C2CE8:lI112|H3C2D90
+3C2D90:lI112|H3C2E28
+3C2E28:lI108|H3C2EB0
+3C2EB0:lI105|H3C2F28
+3C2F28:lI99|H3C2F98
+3C2F98:lI97|H3C3000
+3C3000:lI116|H3C3068
+3C3068:lI105|H3C30C8
+3C30C8:lI111|H3C3120
+3C3120:lI110|H3C3170
+3C3170:lI47|H3C31B8
+3C31B8:lI109|H3C3200
+3C3200:lI97|H3C3248
+3C3248:lI99|H3C3290
+3C3290:lI45|H3C32D8
+3C32D8:lI99|H3C3310
+3C3310:lI111|H3C3340
+3C3340:lI109|H3C3368
+3C3368:lI112|H3C3388
+3C3388:lI97|H3C33A0
+3C33A0:lI99|H3C33B0
+3C33B0:lI116|H3C33C0
+3C33C0:lI112|H3C33D0
+3C33D0:lI114|H3C33E0
+3C33E0:lI111|N
+3C2C2C:lI99|H3C2CE0
+3C2CE0:lI112|H3C2D88
+3C2D88:lI116|N
+3C2B7C:lH3C2C3C|N
+3C2C3C:t2:H3C2CF0,H3C2CF8
+3C2CF8:lI97|H3C2DA0
+3C2DA0:lI112|H3C2E38
+3C2E38:lI112|H3C2EB8
+3C2EB8:lI108|H3C2F30
+3C2F30:lI105|H3C2FA0
+3C2FA0:lI99|H3C3008
+3C3008:lI97|H3C3070
+3C3070:lI116|H3C30D0
+3C30D0:lI105|H3C3128
+3C3128:lI111|H3C3178
+3C3178:lI110|H3C31C0
+3C31C0:lI47|H3C3208
+3C3208:lI109|H3C3250
+3C3250:lI97|H3C3298
+3C3298:lI99|H3C32E0
+3C32E0:lI45|H3C3318
+3C3318:lI98|H3C3348
+3C3348:lI105|H3C3370
+3C3370:lI110|H3C3390
+3C3390:lI104|H3C33A8
+3C33A8:lI101|H3C33B8
+3C33B8:lI120|H3C33C8
+3C33C8:lI52|H3C33D8
+3C33D8:lI48|N
+3C2CF0:lI104|H3C2D98
+3C2D98:lI113|H3C2E30
+3C2E30:lI120|N
+3BDBCC:lH3BDA78|H3BDA8C
+3BDA78:t2:A4:port,I8888
+3BDA8C:lH3BDB04|H3BDB10
+3BDB04:t2:AC:bind_address,H3BDB64
+3BDB64:t4:I127,I0,I0,I1
+3BDB10:lH3BDB78|H3BDB84
+3BDB78:t2:AB:server_name,H3BDBD4
+3BDBD4:lI108|H3BDC24
+3BDC24:lI111|H3BDC88
+3BDC88:lI99|H3BDCF0
+3BDCF0:lI97|H3BDD70
+3BDD70:lI108|H3BDDF8
+3BDDF8:lI104|H3BDE90
+3BDE90:lI111|H3BDF40
+3BDF40:lI115|H3BDFFC
+3BDFFC:lI116|N
+3BDB84:lH3BDBDC|H3BDBE8
+3BDBDC:t2:AE:max_header_siz,I1024
+3BDBE8:lH3BDC2C|H3BDC38
+3BDC2C:t2:A11:max_header_action,A8:reply414
+3BDC38:lH3BDC90|H3BDC9C
+3BDC90:t2:A8:com_type,A7:ip_comm
+3BDC9C:lH3BDCF8|H3BDD04
+3BDCF8:t2:A7:modules,H3BDD78
+3BDD78:lA9:mod_alias|H3BDE00
+3BDE00:lA8:mod_auth|H3BDE98
+3BDE98:lA7:mod_esi|H3BDF48
+3BDF48:lAB:mod_actions|H3BE004
+3BE004:lA7:mod_cgi|H3BE0D0
+3BE0D0:lAB:mod_include|H3BE1A4
+3BE1A4:lA7:mod_dir|H3BE288
+3BE288:lA7:mod_get|H3BE378
+3BE378:lA8:mod_head|H3BE47C
+3BE47C:lA7:mod_log|H3BE580
+3BE580:lAC:mod_disk_log|N
+3BDD04:lH3BDD80|H3BDD8C
+3BDD80:t2:AF:directory_index,H3BDE08
+3BDE08:lH3BDEA0|N
+3BDEA0:lI105|H3BDF50
+3BDF50:lI110|H3BE00C
+3BE00C:lI100|H3BE0D8
+3BE0D8:lI101|H3BE1AC
+3BE1AC:lI120|H3BE290
+3BE290:lI46|H3BE380
+3BE380:lI104|H3BE484
+3BE484:lI116|H3BE588
+3BE588:lI109|H3BE68C
+3BE68C:lI108|N
+3BDD8C:lH3BDE10|H3BDE1C
+3BDE10:t2:AC:default_type,H3BDEA8
+3BDEA8:lI116|H3BDF58
+3BDF58:lI101|H3BE014
+3BE014:lI120|H3BE0E0
+3BE0E0:lI116|H3BE1B4
+3BE1B4:lI47|H3BE298
+3BE298:lI112|H3BE388
+3BE388:lI108|H3BE48C
+3BE48C:lI97|H3BE590
+3BE590:lI105|H3BE694
+3BE694:lI110|N
+3BDE1C:lH3BDEB0|H3BDEBC
+3BDEB0:t2:A10:erl_script_alias,H3BDF60
+3BDF60:t2:H3BE01C,H3BE024
+3BE024:lH3BE0F0|N
+3BE0F0:lI119|H3BE1C4
+3BE1C4:lI101|H3BE2A8
+3BE2A8:lI98|H3BE398
+3BE398:lI116|H3BE49C
+3BE49C:lI111|H3BE5A0
+3BE5A0:lI111|H3BE6A4
+3BE6A4:lI108|N
+3BE01C:lI47|H3BE0E8
+3BE0E8:lI119|H3BE1BC
+3BE1BC:lI101|H3BE2A0
+3BE2A0:lI98|H3BE390
+3BE390:lI116|H3BE494
+3BE494:lI111|H3BE598
+3BE598:lI111|H3BE69C
+3BE69C:lI108|N
+3BDEBC:lH3BDF6C|H3BDF78
+3BDF6C:t2:A5:alias,H3BE02C
+3BE02C:t2:H3BE0F8,H3BE100
+3BE100:lI47|H3BE1D4
+3BE1D4:lI99|H3BE2B8
+3BE2B8:lI108|H3BE3A8
+3BE3A8:lI101|H3BE4AC
+3BE4AC:lI97|H3BE5B0
+3BE5B0:lI114|H3BE6B4
+3BE6B4:lI99|H3BE7A8
+3BE7A8:lI97|H3BE894
+3BE894:lI115|H3BE980
+3BE980:lI101|H3BEA74
+3BEA74:lI47|H3BEB68
+3BEB68:lI111|H3BEC54
+3BEC54:lI116|H3BED40
+3BED40:lI112|H3BEE2C
+3BEE2C:lI47|H3BEF00
+3BEF00:lI101|H3BEFD4
+3BEFD4:lI114|H3BF0A0
+3BF0A0:lI116|H3BF174
+3BF174:lI115|H3BF238
+3BF238:lI47|H3BF2FC
+3BF2FC:lI108|H3BF3A8
+3BF3A8:lI105|H3BF45C
+3BF45C:lI98|H3BF518
+3BF518:lI47|H3BF5DC
+3BF5DC:lI111|H3BF6B0
+3BF6B0:lI98|H3BF784
+3BF784:lI115|H3BF858
+3BF858:lI101|H3BF93C
+3BF93C:lI114|H3BFA18
+3BFA18:lI118|H3BFAF4
+3BFAF4:lI101|H3BFBD0
+3BFBD0:lI114|H3BFC9C
+3BFC9C:lI47|H3BFD60
+3BFD60:lI112|H3BFE2C
+3BFE2C:lI114|H3BFEE0
+3BFEE0:lI105|H3BFF94
+3BFF94:lI118|H3C0040
+3C0040:lI47|H3C00EC
+3C00EC:lI99|H3C0198
+3C0198:lI114|H3C024C
+3C024C:lI97|H3C0308
+3C0308:lI115|H3C03BC
+3C03BC:lI104|H3C0458
+3C0458:lI100|H3C04F4
+3C04F4:lI117|H3C0590
+3C0590:lI109|H3C0634
+3C0634:lI112|H3C06E0
+3C06E0:lI95|H3C078C
+3C078C:lI118|H3C0830
+3C0830:lI105|H3C08BC
+3C08BC:lI101|H3C0950
+3C0950:lI119|H3C09E4
+3C09E4:lI101|H3C0A80
+3C0A80:lI114|N
+3BE0F8:lI47|H3BE1CC
+3BE1CC:lI99|H3BE2B0
+3BE2B0:lI114|H3BE3A0
+3BE3A0:lI97|H3BE4A4
+3BE4A4:lI115|H3BE5A8
+3BE5A8:lI104|H3BE6AC
+3BE6AC:lI100|H3BE7A0
+3BE7A0:lI117|H3BE88C
+3BE88C:lI109|H3BE978
+3BE978:lI112|H3BEA6C
+3BEA6C:lI95|H3BEB60
+3BEB60:lI118|H3BEC4C
+3BEC4C:lI105|H3BED38
+3BED38:lI101|H3BEE24
+3BEE24:lI119|H3BEEF8
+3BEEF8:lI101|H3BEFCC
+3BEFCC:lI114|N
+3BDF78:lH3BE038|H3BE044
+3BE038:t2:A5:alias,H3BE108
+3BE108:t2:H3BE1DC,H3BE1E4
+3BE1E4:lI47|H3BE2C8
+3BE2C8:lI99|H3BE3B8
+3BE3B8:lI108|H3BE4BC
+3BE4BC:lI101|H3BE5C0
+3BE5C0:lI97|H3BE6C4
+3BE6C4:lI114|H3BE7B8
+3BE7B8:lI99|H3BE8A4
+3BE8A4:lI97|H3BE990
+3BE990:lI115|H3BEA84
+3BEA84:lI101|H3BEB78
+3BEB78:lI47|H3BEC64
+3BEC64:lI111|H3BED50
+3BED50:lI116|H3BEE3C
+3BEE3C:lI112|H3BEF10
+3BEF10:lI47|H3BEFE4
+3BEFE4:lI101|H3BF0B0
+3BF0B0:lI114|H3BF184
+3BF184:lI116|H3BF248
+3BF248:lI115|H3BF304
+3BF304:lI47|H3BF3B0
+3BF3B0:lI101|H3BF464
+3BF464:lI114|H3BF520
+3BF520:lI116|H3BF5E4
+3BF5E4:lI115|H3BF6B8
+3BF6B8:lI47|H3BF78C
+3BF78C:lI100|H3BF860
+3BF860:lI111|H3BF944
+3BF944:lI99|H3BFA20
+3BFA20:lI47|H3BFAFC
+3BFAFC:lI104|H3BFBD8
+3BFBD8:lI116|H3BFCA4
+3BFCA4:lI109|H3BFD68
+3BFD68:lI108|N
+3BE1DC:lI47|H3BE2C0
+3BE2C0:lI99|H3BE3B0
+3BE3B0:lI114|H3BE4B4
+3BE4B4:lI97|H3BE5B8
+3BE5B8:lI115|H3BE6BC
+3BE6BC:lI104|H3BE7B0
+3BE7B0:lI100|H3BE89C
+3BE89C:lI117|H3BE988
+3BE988:lI109|H3BEA7C
+3BEA7C:lI112|H3BEB70
+3BEB70:lI95|H3BEC5C
+3BEC5C:lI101|H3BED48
+3BED48:lI114|H3BEE34
+3BEE34:lI116|H3BEF08
+3BEF08:lI115|H3BEFDC
+3BEFDC:lI95|H3BF0A8
+3BF0A8:lI100|H3BF17C
+3BF17C:lI111|H3BF240
+3BF240:lI99|N
+3BE044:lH3BE114|H3BE120
+3BE114:t2:A5:alias,H3BE1EC
+3BE1EC:t2:H3BE2D0,H3BE2D8
+3BE2D8:lI47|H3BE3C8
+3BE3C8:lI99|H3BE4CC
+3BE4CC:lI108|H3BE5D0
+3BE5D0:lI101|H3BE6D4
+3BE6D4:lI97|H3BE7C8
+3BE7C8:lI114|H3BE8B4
+3BE8B4:lI99|H3BE9A0
+3BE9A0:lI97|H3BEA94
+3BEA94:lI115|H3BEB88
+3BEB88:lI101|H3BEC74
+3BEC74:lI47|H3BED60
+3BED60:lI111|H3BEE4C
+3BEE4C:lI116|H3BEF20
+3BEF20:lI112|H3BEFEC
+3BEFEC:lI47|H3BF0B8
+3BF0B8:lI101|H3BF18C
+3BF18C:lI114|H3BF250
+3BF250:lI116|H3BF30C
+3BF30C:lI115|H3BF3B8
+3BF3B8:lI47|H3BF46C
+3BF46C:lI108|H3BF528
+3BF528:lI105|H3BF5EC
+3BF5EC:lI98|H3BF6C0
+3BF6C0:lI47|H3BF794
+3BF794:lI111|H3BF868
+3BF868:lI98|H3BF94C
+3BF94C:lI115|H3BFA28
+3BFA28:lI101|H3BFB04
+3BFB04:lI114|H3BFBE0
+3BFBE0:lI118|H3BFCAC
+3BFCAC:lI101|H3BFD70
+3BFD70:lI114|H3BFE34
+3BFE34:lI47|H3BFEE8
+3BFEE8:lI100|H3BFF9C
+3BFF9C:lI111|H3C0048
+3C0048:lI99|H3C00F4
+3C00F4:lI47|H3C01A0
+3C01A0:lI104|H3C0254
+3C0254:lI116|H3C0310
+3C0310:lI109|H3C03C4
+3C03C4:lI108|N
+3BE2D0:lI47|H3BE3C0
+3BE3C0:lI99|H3BE4C4
+3BE4C4:lI114|H3BE5C8
+3BE5C8:lI97|H3BE6CC
+3BE6CC:lI115|H3BE7C0
+3BE7C0:lI104|H3BE8AC
+3BE8AC:lI100|H3BE998
+3BE998:lI117|H3BEA8C
+3BEA8C:lI109|H3BEB80
+3BEB80:lI112|H3BEC6C
+3BEC6C:lI95|H3BED58
+3BED58:lI100|H3BEE44
+3BEE44:lI111|H3BEF18
+3BEF18:lI99|N
+3BE120:lH3BE1F8|N
+3BE1F8:t2:A10:erl_script_alias,H3BE2E0
+3BE2E0:t2:H3BE3D0,H3BE3D8
+3BE3D8:lH3BE4DC|N
+3BE4DC:lI99|H3BE5E0
+3BE5E0:lI114|H3BE6E4
+3BE6E4:lI97|H3BE7D8
+3BE7D8:lI115|H3BE8C4
+3BE8C4:lI104|H3BE9B0
+3BE9B0:lI100|H3BEAA4
+3BEAA4:lI117|H3BEB90
+3BEB90:lI109|H3BEC7C
+3BEC7C:lI112|H3BED68
+3BED68:lI95|H3BEE54
+3BEE54:lI118|H3BEF28
+3BEF28:lI105|H3BEFF4
+3BEFF4:lI101|H3BF0C0
+3BF0C0:lI119|H3BF194
+3BF194:lI101|H3BF258
+3BF258:lI114|N
+3BE3D0:lI47|H3BE4D4
+3BE4D4:lI99|H3BE5D8
+3BE5D8:lI100|H3BE6DC
+3BE6DC:lI118|H3BE7D0
+3BE7D0:lI95|H3BE8BC
+3BE8BC:lI101|H3BE9A8
+3BE9A8:lI114|H3BEA9C
+3BEA9C:lI108|N
+3BDE2C:lH3BDA9C|H3BDECC
+3BDA9C:t4:I127,I0,I0,I1
+3BDECC:lI8888|H3BDF88
+3BDF88:lN|N
+3BDD1C:lN|N
+3BDA50:t2:AD:$initial_call,H3BDAB8
+3BDAB8:t3:A3:gen,A7:init_it,H3BDAB0
+3BDA5C:t2:A9:verbosity,A7:silence
+3BDAC8:t2:AE:auth_verbosity,A7:silence
+3BDB28:t2:A12:security_verbosity,A7:silence
+3BDB9C:t2:A12:acceptor_verbosity,A7:silence
+3BDC00:t2:AA:$ancestors,H3BDC5C
+3BDC5C:lA1A:httpd_sup__127_0_0_1__8888|H3BDCB4
+3BDCB4:lA8:web_tool|H3BDD24
+3BDD24:lP<0.27.0>|N
+3BDADC:t2:A19:request_handler_verbosity,A7:silence
+3BDB3C:t2:A5:sname,A3:man
+=proc_dictionary:<0.47.0>
+H36E688
+H36E694
+H36E6A0
+H36E6AC
+=proc_stack:<0.47.0>
+36c520:SReturn addr 0x362C9C (inet_tcp:accept/2 + 20)
+y0:I5
+y1:p<0.161>
+y2:p<0.141>
+36c530:SReturn addr 0x500C5C (httpd_socket:accept/3 + 280)
+y0:N
+36c538:SReturn addr 0x502BFC (httpd_acceptor:acceptor/4 + 164)
+y0:N
+36c540:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:SCatch 0x502BFC (httpd_acceptor:acceptor/4 + 164)
+y1:P<0.46.0>
+y2:A7:ip_comm
+y3:p<0.141>
+y4:A1B:httpd_conf__127_0_0_1__8888
+36c558:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:AE:httpd_acceptor
+y2:A8:acceptor
+y3:H36E6C8
+=proc_heap:<0.47.0>
+36E6C8:lP<0.44.0>|H36E724
+36E724:lP<0.46.0>|H36E748
+36E748:lA7:ip_comm|H36E760
+36E760:lH36E6D0|H36E778
+36E6D0:t4:I127,I0,I0,I1
+36E778:lI8888|H36E788
+36E788:lA1B:httpd_conf__127_0_0_1__8888|H36E798
+36E798:lA7:silence|N
+36E688:t2:AD:$initial_call,H36E6F0
+36E6F0:t3:AE:httpd_acceptor,A8:acceptor,H36E6C8
+36E694:t2:A9:verbosity,A7:silence
+36E6A0:t2:AA:$ancestors,H36E700
+36E700:lA1E:httpd_acc_sup__127_0_0_1__8888|H36E72C
+36E72C:lA1A:httpd_sup__127_0_0_1__8888|H36E750
+36E750:lA8:web_tool|H36E768
+36E768:lP<0.27.0>|N
+36E6AC:t2:A5:sname,A3:acc
+=proc_dictionary:<0.48.0>
+H385E48
+H385E54
+=proc_stack:<0.48.0>
+3ac1bc:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A10:crashdump_viewer
+y3:H3AB280
+y4:A17:crashdump_viewer_server
+y5:P<0.41.0>
+3ac1d8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H385E90
+=proc_heap:<0.48.0>
+3AB280:t8:A5:state,A9:undefined,A9:undefined,A9:undefined,A5:false,I4,A9:undefined,P<0.56.0>
+385E90:lAA:gen_server|H385ED8
+385ED8:lP<0.41.0>|H385F10
+385F10:lP<0.41.0>|H385F58
+385F58:lH385FA8|H385FB4
+385FA8:t2:A5:local,A17:crashdump_viewer_server
+385FB4:lA10:crashdump_viewer|H386014
+386014:lN|H38606C
+38606C:lN|N
+385E48:t2:AD:$initial_call,H385EB0
+385EB0:t3:A3:gen,A7:init_it,H385E90
+385E54:t2:AA:$ancestors,H385EC0
+385EC0:lA6:websup|H385F08
+385F08:lA8:web_tool|H385F50
+385F50:lP<0.27.0>|N
+=proc_stack:<0.49.0>
+36a114:SReturn addr 0x30174C (io:parse_erl_exprs/3 + 92)
+y0:H369E10
+y1:P<0.22.0>
+36a120:SReturn addr 0x2E5360 (shell:'-get_command/4-fun-0-'/1 + 20)
+y0:N
+36a128:SReturn addr 0x156F90 (<terminate process normally>)
+=proc_heap:<0.49.0>
+369E10:E21:8372000364000D6E6F6E6F6465406E6F686F737400000001330000000000000000
+=atoms
+http_cache_control
+copy_word
+drop_line
+copy_line
+write_rest_of_line
+drop_to_empty_line
+read_to_empty_line_reverse
+set_pos
+read_line_backwards
+jumped
+jump_to_empty_line_or_eof
+get_pos
+translate_atoms
+translate_fun
+translate_funs
+translate_loaded_modules2
+translate_loaded_modules_totals
+translate_loaded_modules
+translate_links
+get_all_creations
+translate_node_info2
+translate_node_info
+translate_dist_info2
+translate_dist_info
+get_msg
+translate_timers
+translate_ets
+translate_ets_tables
+do_translate_sl_alloc_r7_r8
+translate_sl_alloc_r7_r8
+translate_sl_alloc_line
+do_translate_sl_alloc
+translate_sl_alloc
+translate_memory_and_allocated_area_r9b
+translate_allocated_areas
+translate_internal_table_line
+translate_index_table
+translate_hash_table
+translate_internal_tables
+translate_ports
+write_last_calls
+write_msg_q_stuff
+translate_process
+translate_processes
+erts_vsn
+translate_summary
+'Send'
+erl_crash_dump
+internal_tables
+mods
diff --git a/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.noatoms b/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.noatoms
new file mode 100644
index 0000000000..9f20ef3e44
--- /dev/null
+++ b/lib/observer/test/crashdump_viewer_SUITE_data/r10b_dump.trunc.noatoms
@@ -0,0 +1,13035 @@
+=erl_crash_dump:0.1
+Wed Apr 21 13:22:44 2004
+Slogan: eheap_alloc: Cannot allocate 785672 bytes of memory (of type "heap").
+System version: Erlang (BEAM) emulator version 5.4 [source] [hipe] [threads:0]
+Compiled: Thu Dec 18 14:07:45 2003
+Atoms: 5614
+=memory
+total: 653336887
+processes: 1768396
+processes_used: 1765460
+system: 651568491
+atom: 244837
+atom_used: 237116
+binary: 648618369
+code: 2158413
+ets: 225620
+=hash_table:atom_tab
+size: 4813
+used: 3304
+objs: 5614
+depth: 7
+=index_table:atom_tab
+size: 5700
+limit: 1048576
+used: 5614
+rate: 100
+=hash_table:module_code
+size: 97
+used: 69
+objs: 107
+depth: 5
+=index_table:module_code
+size: 110
+limit: 65536
+used: 107
+rate: 10
+=hash_table:export_list
+size: 2411
+used: 1674
+objs: 2843
+depth: 6
+=index_table:export_list
+size: 2900
+limit: 65536
+used: 2843
+rate: 100
+=hash_table:process_reg
+size: 47
+used: 16
+objs: 23
+depth: 3
+=hash_table:fun_table
+size: 397
+used: 261
+objs: 400
+depth: 4
+=hash_table:node_table
+size: 11
+used: 1
+objs: 1
+depth: 1
+=hash_table:dist_table
+size: 11
+used: 1
+objs: 1
+depth: 1
+=allocated_areas
+processes: 1765460 1768396
+ets: 225620
+sys_misc: 24634
+static: 295033
+atom_space: 65544 57967
+binary: 648618369
+atom_table: 42141
+module_table: 920
+export_table: 21336
+register_table: 252
+fun_table: 1650
+module_refs: 1024
+loaded_code: 1968915
+dist_table: 159
+node_table: 131
+bits_bufs_size: 19
+bif_timer: 13392
+link_lh: 0
+dist_buf: 0
+proc: 15080 13576
+atom_entry: 137152 137008
+export_entry: 138448 137632
+module_entry: 4872 4352
+reg_proc: 1000 592
+link_nh: 2464 2080
+link_sh: 832 192
+proc_list: 24 24
+fun_entry: 22584 22584
+db_tab: 1632 1632
+=allocator:sys_alloc
+option e: true
+option m: libc
+=allocator:temp_alloc
+versions: 0.9 2.1
+option e: true
+option sbct: 524288
+option asbcst: 4145152
+option rsbcst: 90
+option rsbcmt: 80
+option mmbcs: 65536
+option mmsbc: 256
+option mmmbc: 10
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option as: af
+mbcs blocks: 0 9 9
+mbcs blocks size: 0 35376 35376
+mbcs carriers: 1 1 1
+mbcs mseg carriers: 0
+mbcs sys_alloc carriers: 1
+mbcs carriers size: 65568 65568 65568
+mbcs mseg carriers size: 0
+mbcs sys_alloc carriers size: 65568
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+temp_alloc calls: 6155
+temp_free calls: 6155
+temp_realloc calls: 29
+mseg_alloc calls: 0
+mseg_dealloc calls: 0
+mseg_realloc calls: 0
+sys_alloc calls: 1
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:sl_alloc
+option e: false
+=allocator:std_alloc
+option e: false
+=allocator:ll_alloc
+versions: 0.9 2.1
+option e: true
+option sbct: 4294967295
+option asbcst: 0
+option rsbcst: 0
+option rsbcmt: 0
+option mmbcs: 2097152
+option mmsbc: 0
+option mmmbc: 0
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option as: aobf
+mbcs blocks: 592 592 592
+mbcs blocks size: 2838520 2863304 2863304
+mbcs carriers: 2 2 2
+mbcs mseg carriers: 0
+mbcs sys_alloc carriers: 2
+mbcs carriers size: 3145760 3145760 3145760
+mbcs mseg carriers size: 0
+mbcs sys_alloc carriers size: 3145760
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+ll_alloc calls: 592
+ll_free calls: 0
+ll_realloc calls: 235
+mseg_alloc calls: 0
+mseg_dealloc calls: 0
+mseg_realloc calls: 0
+sys_alloc calls: 2
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:eheap_alloc
+versions: 2.1 2.1
+option e: true
+option sbct: 524288
+option asbcst: 4145152
+option rsbcst: 50
+option rsbcmt: 80
+option mmbcs: 524288
+option mmsbc: 256
+option mmmbc: 10
+option lmbcs: 5242880
+option smbcs: 1048576
+option mbcgs: 10
+option mbsd: 3
+option as: gf
+mbcs blocks: 56 102 102
+mbcs blocks size: 833280 1638920 1638920
+mbcs carriers: 2 3 3
+mbcs mseg carriers: 1
+mbcs sys_alloc carriers: 1
+mbcs carriers size: 1998880 3047456 3047456
+mbcs mseg carriers size: 1474560
+mbcs sys_alloc carriers size: 524320
+sbcs blocks: 0 0 0
+sbcs blocks size: 0 0 0
+sbcs carriers: 0 0 0
+sbcs mseg carriers: 0
+sbcs sys_alloc carriers: 0
+sbcs carriers size: 0 0 0
+sbcs mseg carriers size: 0
+sbcs sys_alloc carriers size: 0
+eheap_alloc calls: 6971
+eheap_free calls: 6914
+eheap_realloc calls: 461
+mseg_alloc calls: 16
+mseg_dealloc calls: 14
+mseg_realloc calls: 0
+sys_alloc calls: 3
+sys_free calls: 0
+sys_realloc calls: 0
+=allocator:binary_alloc
+option e: false
+=allocator:ets_alloc
+option e: false
+=allocator:fix_alloc
+option e: true
+proc: 15080 13576
+atom_entry: 137152 137008
+export_entry: 138448 137632
+module_entry: 4872 4352
+reg_proc: 1000 592
+link_nh: 2464 2080
+link_sh: 832 192
+proc_list: 24 24
+fun_entry: 22584 22584
+db_tab: 1632 1632
+=allocator:mseg_alloc
+version: 0.9
+option amcbf: 4194304
+option rmcbf: 20
+option mcs: 5
+option cci: 1000
+cached_segments: 0
+cache_hits: 13
+segments: 2
+segments_watermark: 2
+mseg_alloc calls: 16
+mseg_dealloc calls: 14
+mseg_realloc calls: 0
+mseg_create calls: 4
+mseg_destroy calls: 1
+mseg_clear_cache calls: 6
+mseg_check_cache calls: 2
+=allocator:alloc_util
+option mmc: 1024
+option ycs: 1048576
+=allocator:instr
+option m: false
+option s: false
+option t: false
+=proc:<0.0.0>
+State: Waiting
+Name: init
+Spawned as: otp_ring0:start/2
+Spawned by: []
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.5.0>,<0.4.0>,<0.2.0>]
+Reductions: 3851
+Stack+heap: 377
+OldHeap: 610
+Heap unused: 53
+OldHeap unused: 610
+Program counter: 0x1f496c (init:loop/1 + 20)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.2.0>
+State: Waiting
+Name: erl_prim_loader
+Spawned as: erlang:apply/2
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.0.0>,#Port<0.2>]
+Reductions: 201036
+Stack+heap: 987
+OldHeap: 987
+Heap unused: 923
+OldHeap unused: 987
+Program counter: 0x20cc94 (erl_prim_loader:loop/3 + 52)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.4.0>
+State: Waiting
+Name: error_logger
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.21.0>,<0.0.0>]
+Reductions: 296
+Stack+heap: 6765
+OldHeap: 0
+Heap unused: 851
+OldHeap unused: 0
+Program counter: 0x21f5b8 (gen_event:loop/4 + 40)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.5.0>
+State: Waiting
+Name: application_controller
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.1.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.7.0>,<0.0.0>]
+Reductions: 1508
+Stack+heap: 1597
+OldHeap: 0
+Heap unused: 835
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.7.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.6.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.8.0>,<0.5.0>]
+Reductions: 23
+Stack+heap: 377
+OldHeap: 0
+Heap unused: 79
+OldHeap unused: 0
+Program counter: 0x248d04 (application_master:main_loop/2 + 28)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.8.0>
+State: Waiting
+Spawned as: application_master:start_it/4
+Spawned by: <0.7.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>,<0.7.0>]
+Reductions: 91
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 177
+OldHeap unused: 0
+Program counter: 0x24a26c (application_master:loop_it/4 + 40)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.9.0>
+State: Waiting
+Name: kernel_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.8.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.24.0>,<0.23.0>,<0.19.0>,<0.18.0>,<0.17.0>,<0.16.0>,<0.15.0>,<0.14.0>,<0.11.0>,<0.10.0>,<0.8.0>]
+Reductions: 7402
+Stack+heap: 610
+OldHeap: 987
+Heap unused: 311
+OldHeap unused: 987
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.10.0>
+State: Waiting
+Name: rex
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 44
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 144
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.11.0>
+State: Waiting
+Name: global_name_server
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.13.0>,<0.12.0>,<0.9.0>]
+Reductions: 47
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 98
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.12.0>
+State: Waiting
+Spawned as: global:init_the_locker/1
+Spawned by: <0.11.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.11.0>]
+Reductions: 3
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 227
+OldHeap unused: 0
+Program counter: 0x261340 (global:loop_the_locker/2 + 92)
+CP: 0x261184 (global:init_the_locker/1 + 112)
+arity = 0
+=proc:<0.13.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.11.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.11.0>]
+Reductions: 4
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 221
+OldHeap unused: 0
+Program counter: 0x265288 (global:collect_deletions/2 + 76)
+CP: 0x2651ac (global:loop_the_deleter/1 + 36)
+arity = 0
+=proc:<0.14.0>
+State: Waiting
+Name: inet_db
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 376
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 30
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.15.0>
+State: Waiting
+Name: global_group
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 71
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 92
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.16.0>
+State: Waiting
+Name: file_server_2
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 119
+Link list: [{from,<0.17.0>,#Ref<0.0.0.22>},#Port<0.4>,<0.9.0>]
+Reductions: 83605
+Stack+heap: 4181
+OldHeap: 4181
+Heap unused: 1720
+OldHeap unused: 4181
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.17.0>
+State: Waiting
+Name: file_server
+Spawned as: erlang:apply/2
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{to,<0.16.0>,#Ref<0.0.0.22>},<0.9.0>]
+Reductions: 12
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 207
+OldHeap unused: 0
+Program counter: 0x2a18e8 (old_file_server:relay_loop/3 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.18.0>
+State: Waiting
+Name: code_server
+Spawned as: erlang:apply/2
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:07 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 108900
+Stack+heap: 6765
+OldHeap: 6765
+Heap unused: 4389
+OldHeap unused: 6765
+Program counter: 0x2a6e64 (code_server:loop/1 + 64)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.19.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.21.0>,<0.9.0>]
+Reductions: 74
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 180
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.20.0>
+State: Waiting
+Spawned as: user_drv:server/2
+Spawned by: <0.19.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.22.0>,<0.21.0>,#Port<0.72>]
+Reductions: 596
+Stack+heap: 233
+OldHeap: 377
+Heap unused: 214
+OldHeap unused: 377
+Program counter: 0x2ca4e0 (user_drv:server_loop/5 + 56)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.21.0>
+State: Waiting
+Name: user
+Spawned as: group:server/2
+Spawned by: <0.20.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.4.0>,<0.19.0>,<0.20.0>]
+Reductions: 26
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 202
+OldHeap unused: 0
+Program counter: 0x2cd9d8 (group:server_loop/3 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.22.0>
+State: Waiting
+Spawned as: group:server/2
+Spawned by: <0.20.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{from,<0.49.0>,#Ref<0.0.0.307>},<0.25.0>,<0.20.0>]
+Reductions: 1244
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 40
+OldHeap unused: 233
+Program counter: 0x2cf238 (group:get_line1/3 + 1652)
+CP: 0x2cf230 (group:get_line1/3 + 1644)
+arity = 0
+=proc:<0.23.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.9.0>]
+Reductions: 45
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 63
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.24.0>
+State: Waiting
+Name: kernel_safe_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.9.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.31.0>,<0.9.0>]
+Reductions: 133
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 198
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.25.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.22.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.49.0>,<0.27.0>,<0.22.0>]
+Reductions: 161
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 169
+OldHeap unused: 0
+Program counter: 0x2e0d00 (shell:get_command1/4 + 40)
+CP: 0x2e06fc (shell:server_loop/6 + 140)
+arity = 0
+=proc:<0.27.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.25.0>
+Started: Wed Apr 21 13:22:08 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.25.0>]
+Reductions: 506
+Stack+heap: 4181
+OldHeap: 0
+Heap unused: 1131
+OldHeap unused: 0
+Program counter: 0x2e2bbc (shell:eval_loop/2 + 32)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.31.0>
+State: Waiting
+Name: inet_gethost_native_sup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.24.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.32.0>,<0.24.0>]
+Reductions: 49
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 87
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.32.0>
+State: Waiting
+Name: inet_gethost_native
+Spawned as: inet_gethost_native:server_init/2
+Spawned by: <0.31.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 118
+Link list: [#Port<0.105>,<0.31.0>]
+Reductions: 65
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 13
+OldHeap unused: 0
+Program counter: 0x4ad840 (inet_gethost_native:main_loop/1 + 20)
+CP: 0x156f90 (<terminate process normally>)
+arity = 0
+=proc:<0.33.0>
+State: Waiting
+Name: web_tool
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.27.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.41.0>]
+Reductions: 131773
+Stack+heap: 6765
+OldHeap: 6765
+Heap unused: 2941
+OldHeap unused: 6765
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.41.0>
+State: Waiting
+Name: websup
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.33.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.48.0>,<0.33.0>]
+Reductions: 118
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 205
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.43.0>
+State: Waiting
+Name: httpd_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.33.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.46.0>,<0.45.0>,<0.44.0>]
+Reductions: 1220
+Stack+heap: 6765
+OldHeap: 0
+Heap unused: 277
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.44.0>
+State: Waiting
+Name: httpd_acc_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.47.0>,<0.43.0>]
+Reductions: 147
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 77
+OldHeap unused: 233
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.45.0>
+State: Waiting
+Name: httpd_misc_sup__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.43.0>]
+Reductions: 52
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 80
+OldHeap unused: 0
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.46.0>
+State: Waiting
+Name: httpd__127_0_0_1__8888
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.43.0>
+Started: Wed Apr 21 13:22:17 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.43.0>]
+Reductions: 2905
+Stack+heap: 6765
+OldHeap: 10946
+Heap unused: 138
+OldHeap unused: 10946
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.47.0>
+State: Waiting
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.44.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [#Port<0.161>,#Port<0.141>,<0.44.0>]
+Reductions: 874
+Stack+heap: 233
+OldHeap: 233
+Heap unused: 190
+OldHeap unused: 233
+Program counter: 0x1fe798 (prim_inet:accept0/2 + 96)
+CP: 0x1feb04 (prim_inet:async_accept/2 + 380)
+arity = 0
+=proc:<0.48.0>
+State: Waiting
+Name: crashdump_viewer_server
+Spawned as: proc_lib:init_p/5
+Spawned by: <0.41.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [<0.56.0>,<0.41.0>]
+Reductions: 1913
+Stack+heap: 987
+OldHeap: 987
+Heap unused: 524
+OldHeap unused: 987
+Program counter: 0x239d50 (gen_server:loop/6 + 52)
+CP: 0x225860 (proc_lib:init_p/5 + 164)
+arity = 0
+=proc:<0.49.0>
+State: Waiting
+Spawned as: erlang:apply/2
+Spawned by: <0.25.0>
+Started: Wed Apr 21 13:22:18 2004
+Message queue length: 0
+Number of heap fragments: 0
+Heap fragment data: 0
+Link list: [{to,<0.22.0>,#Ref<0.0.0.307>},<0.25.0>]
+Reductions: 15
+Stack+heap: 233
+OldHeap: 0
+Heap unused: 190
+OldHeap unused: 0
+Program counter: 0x301d58 (io:wait_io_mon_reply/2 + 28)
+CP: 0x30174c (io:parse_erl_exprs/3 + 92)
+arity = 0
+=proc:<0.56.0>
+State: Garbing
+Spawned as: erlang:apply/2
+Last scheduled in for: erlang:garbage_collect/0
+Spawned by: <0.48.0>
+Started: Wed Apr 21 13:22:27 2004
+Message queue length: 0
+Number of heap fragments: 1
+Heap fragment data: 121
+Link list: [#Port<0.158>,#Port<0.157>,<0.48.0>]
+Reductions: 2420470
+Stack+heap: 121393
+OldHeap: 0
+Heap unused: 22172
+OldHeap unused: 0
+New heap start: FE5768E0
+New heap top: FE5D7734
+Stack top: FE5ED130
+Stack end: FE5ED1A4
+Old heap start: 0
+Old heap top: 0
+Old heap end: 0
+Program counter: 0x1a4980 (unknown function)
+CP: 0x20710c (prim_file:read/2 + 436)
+=port:#Port<0.1>
+Slot: 1
+Connected: #Port<0.0>
+Port controls linked-in driver: async
+=port:#Port<0.2>
+Slot: 2
+Connected: <0.2.0>
+Links: <0.2.0>
+Port controls linked-in driver: efile
+=port:#Port<0.4>
+Slot: 4
+Connected: <0.16.0>
+Links: <0.16.0>
+Port controls linked-in driver: efile
+=port:#Port<0.72>
+Slot: 72
+Connected: <0.20.0>
+Links: <0.20.0>
+Port controls linked-in driver: tty_sl -c -e
+=port:#Port<0.105>
+Slot: 105
+Connected: <0.32.0>
+Links: <0.32.0>
+Port controls external process: inet_gethost 4
+=port:#Port<0.141>
+Slot: 141
+Connected: <0.47.0>
+Links: <0.47.0>
+Port controls linked-in driver: tcp_inet
+=port:#Port<0.157>
+Slot: 157
+Connected: <0.56.0>
+Links: <0.56.0>
+Port controls linked-in driver: efile
+=port:#Port<0.158>
+Slot: 158
+Connected: <0.56.0>
+Links: <0.56.0>
+Port controls linked-in driver: efile
+=port:#Port<0.161>
+Slot: 161
+Connected: <0.47.0>
+Links: <0.47.0>
+Port controls linked-in driver: tcp_inet
+=ets:<0.18.0>
+Slot: 9
+Table: 9
+Name: code
+Buckets: 256
+Objects: 289
+Words: 14108
+=ets:<0.18.0>
+Slot: 10
+Table: 10
+Name: code_names
+Buckets: 256
+Objects: 47
+Words: 4334
+=ets:<0.32.0>
+Slot: 11
+Table: 11
+Name: ign_requests
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.32.0>
+Slot: 12
+Table: 12
+Name: ign_req_index
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.33.0>
+Slot: 13
+Table: 13
+Name: app_data
+Buckets: 256
+Objects: 7
+Words: 952
+=ets:<0.46.0>
+Slot: 15
+Table: 15
+Name: httpd_mime__127_0_0_1__8888
+Buckets: 256
+Objects: 105
+Words: 5742
+=ets:<0.11.0>
+Slot: 84
+Table: global_names
+Name: global_names
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.11.0>
+Slot: 95
+Table: global_locks
+Name: global_locks
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.11.0>
+Slot: 96
+Table: global_names_ext
+Name: global_names_ext
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.14.0>
+Slot: 316
+Table: inet_cache
+Name: inet_cache
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 340
+Table: cdv_menu_table
+Name: cdv_menu_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 341
+Table: cdv_dump_index_table
+Name: cdv_dump_index_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.48.0>
+Slot: 342
+Table: cdv_decode_heap_table
+Name: cdv_decode_heap_table
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.16.0>
+Slot: 780
+Table: file_io_servers
+Name: file_io_servers
+Buckets: 256
+Objects: 0
+Words: 277
+=ets:<0.46.0>
+Slot: 984
+Table: httpd_conf__127_0_0_1__8888
+Name: httpd_conf__127_0_0_1__8888
+Buckets: 256
+Objects: 17
+Words: 1176
+=ets:<0.14.0>
+Slot: 1342
+Table: inet_hosts
+Name: inet_hosts
+Buckets: 256
+Objects: 4
+Words: 421
+=ets:<0.14.0>
+Slot: 1362
+Table: inet_db
+Name: inet_db
+Buckets: 256
+Objects: 20
+Words: 671
+=ets:<0.5.0>
+Slot: 1655
+Table: ac_tab
+Name: ac_tab
+Buckets: 256
+Objects: 6
+Words: 843
+=timer:<0.14.0>
+Message: refresh_timeout
+Time left: 3565692 ms
+=node:'nonode@nohost'
+=no_distribution
+=loaded_modules
+Current code: 1968915
+Old code: 0
+=mod:otp_ring0
+Current size: 489
+=mod:init
+Current size: 30110
+=mod:prim_inet
+Current size: 35532
+=mod:prim_file
+Current size: 24965
+=mod:erl_prim_loader
+Current size: 19607
+=mod:erlang
+Current size: 11137
+=mod:error_handler
+Current size: 2389
+Current attributes: 836C00000001680264000376736E6C000000016E100030769A34345F26EF6D3433254FF2AE576A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161216802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6572726F725F68616E646C65722E65726C6A
+=mod:heart
+Current size: 6687
+Current attributes: 836C00000001680264000376736E6C000000016E10003094F7BECF345494DDBB4D7186E694186A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261086802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F68656172742E65726C6A
+=mod:error_logger
+Current size: 7051
+Current attributes: 836C00000001680264000376736E6C000000016E10004E3347F841DEAE2EB6A74389E6E127146A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161246802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6572726F725F6C6F676765722E65726C6A
+=mod:gen_event
+Current size: 18288
+Current attributes: 836C00000001680264000376736E6C000000016E1000336F22DF1EA75E0EA4AE65D3B8C34F946A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61346802640006736F757263656B00302F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E5F6576656E742E65726C6A
+=mod:gen
+Current size: 7129
+Current attributes: 836C00000001680264000376736E6C000000016E10007BE6AEB66EF48D8B33323C89C9936A526A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61316802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E2E65726C6A
+=mod:proc_lib
+Current size: 11658
+Current attributes: 836C00000001680264000376736E6C000000016E10005C589A8C9BD2E1F2E895E765CAE983406A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E612D6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F70726F635F6C69622E65726C6A
+=mod:application_controller
+Current size: 55249
+Current attributes: 836C00000002680264000376736E6C000000016E10003372E1AB0410565065FA086086A721316A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061246802640006736F757263656B003D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E5F636F6E74726F6C6C65722E65726C6A
+=mod:gen_server
+Current size: 18728
+Current attributes: 836C00000001680264000376736E6C000000016E10004C5E93533036DAC7698FC4112F59CF236A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61396802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67656E5F7365727665722E65726C6A
+=mod:sys
+Current size: 11589
+Current attributes: 836C00000001680264000376736E6C000000016E1000E12B0E8267551204BD5924BAB9629ADF6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61176802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7379732E65726C6A
+=mod:lists
+Current size: 18638
+Current attributes: 836C00000002680264000376736E6C000000016E10001E95B32C30E4CDAF0BDD1ABA58CBB5F36A680264000A646570726563617465646C0000000B68026400066B65796D617061046802640003616C6C61036802640003616E79610368026400036D617061036802640007666C61746D617061036802640005666F6C646C61046802640005666F6C64726104680264000666696C746572610368026400086D6170666F6C646C610468026400086D6170666F6C647261046802640007666F726561636861036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61116802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6C697374732E65726C6A
+=mod:application
+Current size: 2666
+Current attributes: 836C00000001680264000376736E6C000000016E1000C0C5A7B67B306300FEFF9D91AA50ECB36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6130611F6802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E2E65726C6A
+=mod:application_master
+Current size: 10912
+Current attributes: 836C00000001680264000376736E6C000000016E1000360420F5CEB80AD7DD51B3A8A0E2AFA26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061266802640006736F757263656B00392F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6170706C69636174696F6E5F6D61737465722E65726C6A
+=mod:kernel
+Current size: 7639
+Current attributes: 836C00000002680264000376736E6C000000016E10004D418ACCB0F948D4D3CA6B9A81B462746A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261336802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6B65726E656C2E65726C6A
+=mod:supervisor
+Current size: 24469
+Current attributes: 836C00000002680264000376736E6C000000016E1000979F65727577135484BE0892A35087CC6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61126802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F73757065727669736F722E65726C6A
+=mod:rpc
+Current size: 14539
+Current attributes: 836C00000002680264000376736E6C000000016E10008C5D6242D36B3201E3B11E82D5E1581E6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6133610F6802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F7270632E65726C6A
+=mod:gb_trees
+Current size: 8274
+Current attributes: 836C00000001680264000376736E6C000000016E1000094BEFDE7B866EF2CB6FCD895AC2EE056A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D612B6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F67625F74726565732E65726C6A
+=mod:global
+Current size: 40753
+Current attributes: 836C00000002680264000376736E6C000000016E10001D02C89BDE6CB2052F099894683C14CA6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161386802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F676C6F62616C2E65726C6A
+=mod:inet_db
+Current size: 34555
+Current attributes: 836C00000001680264000376736E6C000000016E1000C1CF6A6F2E83D4EBC23D2CCECBF376226A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132611A6802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F64622E65726C6A
+=mod:inet_config
+Current size: 13575
+Current attributes: 836C00000001680264000376736E6C000000016E1000650F6571C03BC9C16BB7973A747565066A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261166802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F636F6E6669672E65726C6A
+=mod:os
+Current size: 5997
+Current attributes: 836C00000001680264000376736E6C000000016E100017144CD766A604A9DFBA0B58C8FCA78B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361056802640006736F757263656B00292F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6F732E65726C6A
+=mod:inet_udp
+Current size: 2451
+Current attributes: 836C00000001680264000376736E6C000000016E1000ACB163E87A687A6683B50B331C6E289B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261306802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F7564702E65726C6A
+=mod:inet
+Current size: 28288
+Current attributes: 836C00000001680264000376736E6C000000016E10009B9AD400F0BAF6AAF17A4788A4EFF11E6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132610C6802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65742E65726C6A
+=mod:inet_parse
+Current size: 21928
+Current attributes: 836C00000001680264000376736E6C000000016E1000E0E65454C096847749930EDC1C53C80B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261266802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F70617273652E65726C6A
+=mod:filename
+Current size: 17411
+Current attributes: 836C00000001680264000376736E6C000000016E100068085214F459D51A3E08819BF8D7698A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61296802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F66696C656E616D652E65726C6A
+=mod:inet_hosts
+Current size: 3745
+Current attributes: 836C00000001680264000376736E6C000000016E1000E7430304E86230057150DEE5D279881F6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261226802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F686F7374732E65726C6A
+=mod:erl_distribution
+Current size: 2512
+Current attributes: 836C00000002680264000376736E6C000000016E1000CDE49D63ACA767E0D49679657E99D2046A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161186802640006736F757263656B00372F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F65726C5F646973747269627574696F6E2E65726C6A
+=mod:global_group
+Current size: 30960
+Current attributes: 836C00000002680264000376736E6C000000016E10008ECE759E5920988CA3ACFF34B32F86736A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131613B6802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F676C6F62616C5F67726F75702E65726C6A
+=mod:net_kernel
+Current size: 37648
+Current attributes: 836C00000002680264000376736E6C000000016E1000967CE7DE41F9B39906CCCF3225E6E5286A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361026802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6E65745F6B65726E656C2E65726C6A
+=mod:file_server
+Current size: 8372
+Current attributes: 836C00000002680264000376736E6C000000016E1000EF90906EC6204204AC0A77C4A25B65236A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612D6802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C655F7365727665722E65726C6A
+=mod:old_file_server
+Current size: 3074
+Current attributes: 836C00000001680264000376736E6C000000016E1000C802085DD76D4EFBA6A8F528FECB94B36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612F6802640006736F757263656B00362F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6F6C645F66696C655F7365727665722E65726C6A
+=mod:code
+Current size: 7419
+Current attributes: 836C00000001680264000376736E6C000000016E1000AE618E3041C8E3807A3719CD5140DF5E6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6130612E6802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64652E65726C6A
+=mod:code_server
+Current size: 30811
+Current attributes: 836C00000001680264000376736E6C000000016E0F00BFB96248C2CA8601B4CB7F543F52E26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061346802640006736F757263656B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64655F7365727665722E65726C6A
+=mod:code_aux
+Current size: 1736
+Current attributes: 836C00000001680264000376736E6C000000016E10007A90DB53FCCECD52504F20E7A3B6BAE26A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613061316802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F636F64655F6175782E65726C6A
+=mod:packages
+Current size: 3119
+Current attributes: 836C00000001680264000376736E6C000000016E1000044DC8EEB65F178AE23EF2465E1954496A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361076802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F7061636B616765732E65726C6A
+=mod:hipe_unified_loader
+Current size: 37330
+Current attributes: 836C00000001680264000376736E6C000000016E1000DABD57945702E56F4B3AA7B7B19C1D166A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361326802640006736F757263656B003A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F686970655F756E69666965645F6C6F616465722E65726C6A
+=mod:hipe_sparc_loader
+Current size: 1821
+Current attributes: 836C00000001680264000376736E6C000000016E1000582BC55E9FADFF879C2C45D25A6CB7E56A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F6D61696E6802640001696B00312F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F72746C6802640001696B00332F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F2E2E2F686970652F737061726364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6133612B6802640006736F757263656B00382F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F686970655F73706172635F6C6F616465722E65726C6A
+=mod:ets
+Current size: 16577
+Current attributes: 836C00000002680264000376736E6C000000016E100033D982AC91129E5FC35E0AC3337A4EB56A680264000A646570726563617465646C0000000168026400086669787461626C6561026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D611C6802640006736F757263656B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6574732E65726C6A
+=mod:lists_sort
+Current size: 38692
+Current attributes: 836C00000001680264000376736E6C000000016E1000E17EC92FA9AA3199DD71701C215044616A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000B68026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736802640006696E6C696E656C0000000468026400096D65726765335F3132610768026400096D65726765335F32316107680264000A726D65726765335F31326107680264000A726D65726765335F323161076A6802640006696E6C696E656C00000004680264000A756D65726765335F31326108680264000A756D65726765335F32316108680264000C72756D65726765335F3132616107680264000C72756D65726765335F31326261086A6802640006696E6C696E656C00000004680264000C6B65796D65726765335F3132610C680264000C6B65796D65726765335F3231610C680264000D726B65796D65726765335F3132610C680264000D726B65796D65726765335F3231610C6A6802640006696E6C696E656C00000006680264000D756B65796D65726765335F3132610D680264000D756B65796D65726765335F3231610D680264000F72756B65796D65726765335F313261610B680264000F72756B65796D65726765335F323161610D680264000F72756B65796D65726765335F313262610D680264000F72756B65796D65726765335F323162610C6A6A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61166802640006736F757263656B00312F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6C697374735F736F72742E65726C6A
+=mod:user_sup
+Current size: 2355
+Current attributes: 836C00000002680264000376736E6C000000016E100074BA860804CB4D60D6908C705E6544BD6A68026400096265686176696F75726C0000000164001173757065727669736F725F6272696467656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361246802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F757365725F7375702E65726C6A
+=mod:supervisor_bridge
+Current size: 2944
+Current attributes: 836C00000002680264000376736E6C000000016E10001590DDC10CF8A9D09763CDB7479678ED6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61156802640006736F757263656B00382F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F73757065727669736F725F6272696467652E65726C6A
+=mod:user_drv
+Current size: 14630
+Current attributes: 836C00000001680264000376736E6C000000016E1000F29F3B193A1EB1ADA9975D97E51BF0E86A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613361216802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F757365725F6472762E65726C6A
+=mod:group
+Current size: 10165
+Current attributes: 836C00000001680264000376736E6C000000016E1000F6427D0DA330BBFAD5D4C19058516FF36A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261066802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F67726F75702E65726C6A
+=mod:io_lib
+Current size: 12601
+Current attributes: 836C00000002680264000376736E6C000000016E10004160DD78F37EE7C72F7C5B6A751DB7F56A680264000A646570726563617465646C0000000468026400047363616E610168026400047363616E610268026400047363616E6103680264000D72657365727665645F776F726461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61036802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69622E65726C6A
+=mod:edlin
+Current size: 18178
+Current attributes: 836C00000001680264000376736E6C000000016E100035D752FCBA8ED7F4D26990EF3E6A1A526A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C61016802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65646C696E2E65726C6A
+=mod:io_lib_format
+Current size: 16189
+Current attributes: 836C00000001680264000376736E6C000000016E10004F382F327C456F83F33C3D5EBFBD87906A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61066802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69625F666F726D61742E65726C6A
+=mod:kernel_config
+Current size: 3295
+Current attributes: 836C00000002680264000376736E6C000000016E100077B8EE6C9E95FBBE5DB0371F6DB235226A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261356802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F6B65726E656C5F636F6E6669672E65726C6A
+=mod:shell
+Current size: 22571
+Current attributes: 836C00000001680264000376736E6C000000016E10007D1354325618EB98A5BD4E8F41E6A0226A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F61016802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7368656C6C2E65726C6A
+=mod:error_logger_tty_h
+Current size: 7773
+Current attributes: 836C00000002680264000376736E6C000000016E10001502D55D6C1777F07E2E05CDD91D16986A68026400096265686176696F75726C0000000164000967656E5F6576656E746A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61196802640006736F757263656B00392F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6572726F725F6C6F676765725F7474795F682E65726C6A
+=mod:erl_eval
+Current size: 33481
+Current attributes: 836C00000002680264000376736E6C000000016E1000D06903753C86BBC49A5CBD789CCB09B66A680264000A646570726563617465646C00000004680264000373657161026802640003736571610368026400086172675F6C697374610268026400086172675F6C69737461036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C610D6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F6576616C2E65726C6A
+=mod:orddict
+Current size: 4872
+Current attributes: 836C00000002680264000376736E6C000000016E100078DCF69F3949D79BC54168266A3ABF566A680264000A646570726563617465646C00000002680264000C646963745F746F5F6C6973746101680264000C6C6973745F746F5F6469637461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61236802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F7264646963742E65726C6A
+=mod:c
+Current size: 19555
+Current attributes: 836C00000001680264000376736E6C000000016E10003FACCF5DE16ABBC988ABF0811980C33B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61136802640006736F757263656B00282F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F632E65726C6A
+=mod:io
+Current size: 7417
+Current attributes: 836C00000002680264000376736E6C000000016E1000E2F2A6094B3C3D945865225D0620E7546A680264000A646570726563617465646C00000007680264000B70617273655F65787072736102680264000C7363616E5F65726C5F7365716101680264000C7363616E5F65726C5F7365716102680264000C7363616E5F65726C5F7365716103680264000D70617273655F65726C5F7365716101680264000D70617273655F65726C5F7365716102680264000D70617273655F65726C5F73657161036A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61006802640006736F757263656B00292F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F2E65726C6A
+=mod:file
+Current size: 20795
+Current attributes: 836C00000002680264000376736E6C000000016E1000D291AF77EE8B08B792B7FE99274504506A680264000A646570726563617465646C00000001680264000966696C655F696E666F61016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161276802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C652E65726C6A
+=mod:file_io_server
+Current size: 12071
+Current attributes: 836C00000001680264000376736E6C000000016E1000A5A8C4E2B2646855AD5C617CB216CB966A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6131612A6802640006736F757263656B00352F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F66696C655F696F5F7365727665722E65726C6A
+=mod:erl_scan
+Current size: 21891
+Current attributes: 836C00000001680264000376736E6C000000016E100094F386F0C378B258E5D9CEADD4F03B6A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61116802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F7363616E2E65726C6A
+=mod:erl_parse
+Current size: 161233
+Current attributes: 836C00000001680264000376736E6C000000016E10000E8CBC32C293BFC1FBC721CE918062236A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000968026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F76617273640006696E6C696E656802640004686970656C000000016802640008726567616C6C6F6364000B6C696E6561725F7363616E6A6A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61076802640006736F757263656B00302F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F70617273652E65726C6A
+=mod:erl_lint
+Current size: 73159
+Current attributes: 836C00000001680264000376736E6C000000016E1000D1D2A7D6DDFD1195CB180993C76FD2CD6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612C61156802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F65726C5F6C696E742E65726C6A
+=mod:ordsets
+Current size: 3257
+Current attributes: 836C00000002680264000376736E6C000000016E1000FD39D8FD846511128F5670BA28600F676A680264000A646570726563617465646C0000000468026400076E65775F7365746100680264000B7365745F746F5F6C6973746101680264000B6C6973745F746F5F7365746101680264000673756273657461026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61256802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F7264736574732E65726C6A
+=mod:dict
+Current size: 15637
+Current attributes: 836C00000002680264000376736E6C000000016E1000BC846E7EF85045A5D76190CE9B1AE97C6A680264000A646570726563617465646C00000002680264000C646963745F746F5F6C6973746101680264000C6C6973745F746F5F6469637461016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61356802640006736F757263656B002B2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F646963742E65726C6A
+=mod:otp_internal
+Current size: 7133
+Current attributes: 836C00000001680264000376736E6C000000016E1000DC494F64DE590AFC4919DFEB0EB026B66A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61206802640006736F757263656B00332F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F6F74705F696E7465726E616C2E65726C6A
+=mod:user_default
+Current size: 1261
+Current attributes: 836C00000002680264000376736E6C000000016E1000505078ACD9B84D514FC6DA2BE249E6756A6802640006617574686F726C0000000164001765656973686E6E406565692E6572696373736F6E2E73656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000368026400036377646B00112F686F6D652F736972692F65726C616E6768026400066F75746469726B00112F686F6D652F736972692F65726C616E676400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461036116610D612C61126802640006736F757263656B00222F686F6D652F736972692F65726C616E672F757365725F64656661756C742E65726C6A
+=mod:tt
+Current size: 2959
+Current attributes: 836C00000002680264000376736E6C000000016E10001D71FD5A55D3BCBF06BFEDF2426C3C386A6802640006617574686F726C0000000164001765656973686E6E406565692E6572696373736F6E2E73656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000368026400036377646B00112F686F6D652F736972692F65726C616E6768026400066F75746469726B00112F686F6D652F736972692F65726C616E676400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461036116610D612B610C6802640006736F757263656B00182F686F6D652F736972692F65726C616E672F74742E65726C6A
+=mod:distel
+Current size: 18214
+Current attributes: 836C00000002680264000376736E6C000000016E1000CC9C9EF141459249C1CCA00993B2E29A6A6802640006617574686F726C000000016400116C756B6540626C75657461696C2E636F6D6A6A
+Current compilation info: 836C0000000368026400076F7074696F6E736C0000000664000276336400107761726E5F756E757365645F7661727364000A64656275675F696E666F68026400066F75746469726B00046562696E68026400036377646B001C2F6C6469736B2F736972692F746F6F6C732F64697374656C2D332E3164000A6578706F72745F616C6C6A680264000776657273696F6E6B0003342E31680264000474696D65680662000007D2610B6114610B610361336A
+=mod:crashdump_viewer
+Current size: 125756
+Current attributes: 836C00000001680264000376736E6C000000016E10002DC5D9D96190A2D5F27FAC3FA3D5C7956A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F76617273680264000F70617273655F7472616E73666F726D64000C6D735F7472616E73666F726D6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461146108611B61366802640006736F757263656B00362F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7669657765722E65726C6A
+=mod:webtool
+Current size: 29229
+Current attributes: 836C00000002680264000376736E6C000000016E10008AEEF06B60527A3390CBC2C98083CC0A6A68026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00202F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F73726368026400066F75746469726B00282F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F2E2E2F6562696E64000A64656275675F696E666F6400107761726E5F756E757365645F76617273680264000F70617273655F7472616E73666F726D64000C6D735F7472616E73666F726D6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104610661086106612D6802640006736F757263656B002C2F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F776562746F6F6C2E65726C6A
+=mod:gen_tcp
+Current size: 3574
+Current attributes: 836C00000001680264000376736E6C000000016E1000C965E4EAFDAA94D7F21EDCBE30B21E7B6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613161316802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F67656E5F7463702E65726C6A
+=mod:inet_tcp
+Current size: 2743
+Current attributes: 836C00000001680264000376736E6C000000016E1000C4AFE0B49768E4CF78B2C42EA1D3DB7F6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B6132612B6802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F7463702E65726C6A
+=mod:inet_gethost_native
+Current size: 15611
+Current attributes: 836C00000002680264000376736E6C000000016E10005D8CD4277D0BD2425B9C26036AE314506A68026400096265686176696F75726C0000000164001173757065727669736F725F6272696467656A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000568026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F2E2E2F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B613261206802640006736F757263656B003A2F636C656172636173652F6F74702F657274732F6C69622F6B65726E656C2F7372632F696E65745F676574686F73745F6E61746976652E65726C6A
+=mod:filelib
+Current size: 7202
+Current attributes: 836C00000001680264000376736E6C000000016E10007B42AA23FF99DF2CD9D586635B77556A6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612D61266802640006736F757263656B002E2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F66696C656C69622E65726C6A
+=mod:httpd_util
+Current size: 24068
+Current attributes: 836C00000002680264000376736E6C000000016E10008D99E096221B88D542E52CB9C8377F6D6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128613B6802640006736F757263656B00312F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F7574696C2E65726C6A
+=mod:webtool_sup
+Current size: 695
+Current attributes: 836C00000002680264000376736E6C000000016E1000FA5449E12816CF3AD0A3085BB26CDB9B6A68026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000468026400036377646B00202F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F73726368026400066F75746469726B00282F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F2E2E2F6562696E64000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461066108610761236802640006736F757263656B00302F636C656172636173652F6F74702F746F6F6C732F776562746F6F6C2F7372632F776562746F6F6C5F7375702E65726C6A
+=mod:httpd_conf
+Current size: 33659
+Current attributes: 836C00000002680264000376736E6C000000016E1000E3198FBDC73BC48CB7D0C1C762B8F1AB6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861116802640006736F757263656B00312F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F636F6E662E65726C6A
+=mod:regexp
+Current size: 13698
+Current attributes: 836C00000001680264000376736E6C000000016E10009DD44F3D02F8328BE3ABF4DDA89E0CAE6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E61376802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F7265676578702E65726C6A
+=mod:string
+Current size: 7740
+Current attributes: 836C00000002680264000376736E6C000000016E10005521DDF38903D46D7C53DB864266F7456A680264000A646570726563617465646C00000007680264000C72655F73685F746F5F61776B6101680264000872655F70617273656101680264000872655F6D617463686102680264000672655F7375626103680264000772655F677375626103680264000872655F73706C697461026802640005696E64657861026A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F610F6802640006736F757263656B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F737472696E672E65726C6A
+=mod:httpd
+Current size: 7563
+Current attributes: 836C00000002680264000376736E6C000000016E1000BFD190D951EB3CAD2CC72ADEF20886906A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861036802640006736F757263656B002C2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470642E65726C6A
+=mod:httpd_sup
+Current size: 4068
+Current attributes: 836C00000003680264000376736E6C000000016E10007FA5C790118F18F3D20A2BFAF0229F0A6A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861366802640006736F757263656B00302F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F7375702E65726C6A
+=mod:httpd_acceptor_sup
+Current size: 2161
+Current attributes: 836C00000003680264000376736E6C000000016E10003E6F9289B64C13F1EC8A1184BACF055F6A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128610C6802640006736F757263656B00392F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6163636570746F725F7375702E65726C6A
+=mod:httpd_verbosity
+Current size: 2672
+Current attributes: 836C00000002680264000376736E6C000000016E100018B6F407D391872421748F87877DAAF36A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961036802640006736F757263656B00362F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F766572626F736974792E65726C6A
+=mod:timer
+Current size: 8223
+Current attributes: 836C00000001680264000376736E6C000000016E10001D0D64DB1B923D1B3B9497655C43B4AD6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612F611A6802640006736F757263656B002C2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F74696D65722E65726C6A
+=mod:httpd_misc_sup
+Current size: 2066
+Current attributes: 836C00000003680264000376736E6C000000016E100092342F38AC16C074DDC21532FBFB52C26A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A73757065727669736F726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128611F6802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6D6973635F7375702E65726C6A
+=mod:httpd_manager
+Current size: 28916
+Current attributes: 836C00000003680264000376736E6C000000016E100013F7A1E6A4B6407A0A1892A794EE10A36A68026400076170705F76736E6B000B696E6574732D332E302E3768026400096265686176696F75726C0000000164000A67656E5F7365727665726A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128611B6802640006736F757263656B00342F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6D616E616765722E65726C6A
+=mod:mod_alias
+Current size: 6720
+Current attributes: 836C00000002680264000376736E6C000000016E10002F35C36060B4AC45474440381D146AB96A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961106802640006736F757263656B00302F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F616C6961732E65726C6A
+=mod:mod_auth
+Current size: 25168
+Current attributes: 836C00000002680264000376736E6C000000016E100083F3CA0C7A3E7B5E19A635A7F916595D6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961166802640006736F757263656B002F2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F617574682E65726C6A
+=mod:mod_esi
+Current size: 22534
+Current attributes: 836C00000002680264000376736E6C000000016E1000513E3FF733E1E6592B86CB55B9C14E086A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61026802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6573692E65726C6A
+=mod:mod_actions
+Current size: 3625
+Current attributes: 836C00000002680264000376736E6C000000016E10008E5437921662830490CA76DFF88548966A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066129610C6802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F616374696F6E732E65726C6A
+=mod:mod_cgi
+Current size: 25891
+Current attributes: 836C00000002680264000376736E6C000000016E1000F91D405488188F1BD25110B4ED9EE8786A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961306802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6367692E65726C6A
+=mod:mod_include
+Current size: 34923
+Current attributes: 836C00000002680264000376736E6C000000016E1000B9CCE88D63DD6AC49D5DF533C46B97D56A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61176802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F696E636C7564652E65726C6A
+=mod:mod_dir
+Current size: 13488
+Current attributes: 836C00000002680264000376736E6C000000016E1000EF620CB4B5DE5586ED681347496DA1C86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961356802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6469722E65726C6A
+=mod:mod_get
+Current size: 4672
+Current attributes: 836C00000002680264000376736E6C000000016E1000AD2730B6BE6AF875A500AF4857C4D7F86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A61076802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6765742E65726C6A
+=mod:mod_head
+Current size: 3074
+Current attributes: 836C00000002680264000376736E6C000000016E1000CAF803B9FA6A28D4153BC109B00D7DF96A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A610B6802640006736F757263656B002F2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F686561642E65726C6A
+=mod:mod_log
+Current size: 8546
+Current attributes: 836C00000002680264000376736E6C000000016E1000F9664B54861260DEA081249379219AF86A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612A611B6802640006736F757263656B002E2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6C6F672E65726C6A
+=mod:mod_disk_log
+Current size: 15160
+Current attributes: 836C00000002680264000376736E6C000000016E1000DDA1E88A9C423A2866B56425DF36F5C66A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612961396802640006736F757263656B00332F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F6D6F645F6469736B5F6C6F672E65726C6A
+=mod:httpd_socket
+Current size: 7426
+Current attributes: 836C00000002680264000376736E6C000000016E1000B831219096661E4D2E200A07C4A9A7776A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861326802640006736F757263656B00332F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F736F636B65742E65726C6A
+=mod:httpd_acceptor
+Current size: 4472
+Current attributes: 836C00000002680264000376736E6C000000016E1000A501686DF4E4053E7D978E0CA162BEC56A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861076802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F6163636570746F722E65726C6A
+=mod:io_lib_pretty
+Current size: 8171
+Current attributes: 836C00000001680264000376736E6C000000016E1000CD397E11D2D380D02A4BC6EE309B98CB6A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612E610C6802640006736F757263656B00342F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F696F5F6C69625F7072657474792E65726C6A
+=mod:httpd_request_handler
+Current size: 26393
+Current attributes: 836C00000002680264000376736E6C000000016E100021C280A5EB5B9CCD00A2C418A341202A6A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861296802640006736F757263656B003C2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F726571756573745F68616E646C65722E65726C6A
+=mod:calendar
+Current size: 7158
+Current attributes: 836C00000002680264000376736E6C000000016E10008C44498546709037F8D72DA4AF8B7FB76A680264000A646570726563617465646C00000001680264001C6C6F63616C5F74696D655F746F5F756E6976657273616C5F74696D6561016A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00222F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F6562696E6802640001696B002D2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F696E636C7564656802640001696B00372F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F2E2E2F2E2E2F6B65726E656C2F696E636C7564656400107761726E5F756E757365645F7661727364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E31680264000474696D65680662000007D3610C6112610B612B61166802640006736F757263656B002F2F636C656172636173652F6F74702F657274732F6C69622F7374646C69622F7372632F63616C656E6461722E65726C6A
+=mod:httpd_parse
+Current size: 9977
+Current attributes: 836C00000002680264000376736E6C000000016E1000174653BAA652261FEB44FFDED99E50B76A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461156106612861246802640006736F757263656B00322F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F70617273652E65726C6A
+=mod:httpd_response
+Current size: 13535
+Current attributes: 836C00000002680264000376736E6C000000016E1000785B247D894BA08A40D814EF11F848976A68026400076170705F76736E6B000B696E6574732D332E302E376A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000868036400016464001164656661756C745F766572626F7369747964000773696C656E636568036400016464000F5345525645525F534F4654574152456B000B696E6574732F332E302E3768026400036377646B00222F636C656172636173652F6F74702F6C69627261726965732F696E6574732F73726368026400066F75746469726B002A2F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F2E2E2F6562696E6804640009617474726962757465640006696E736572746400076170705F76736E6B000B696E6574732D332E302E37680264000F70617273655F7472616E73666F726D6400127379735F7072655F6174747269627574657364000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D46104611561066128612D6802640006736F757263656B00352F636C656172636173652F6F74702F6C69627261726965732F696E6574732F7372632F68747470645F726573706F6E73652E65726C6A
+=mod:crashdump_viewer_html
+Current size: 68343
+Current attributes: 836C00000001680264000376736E6C000000016E1000AE414770FDB0806C5583FF8D6D71DC766A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000768026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6400107761726E5F756E757365645F766172736A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D4610461146108611C61026802640006736F757263656B003B2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7669657765725F68746D6C2E65726C6A
+=mod:crashdump_translate
+Current size: 89840
+Current attributes: 836C00000001680264000376736E6C000000016E100038F332287181E933A76CEF4799BDB6416A6A
+Current compilation info: 836C0000000468026400076F7074696F6E736C0000000668026400036377646B00212F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F73726368026400066F75746469726B00292F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F6562696E6802640001696B002C2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F696E636C7564656802640001696B00322F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F65742F696E636C7564656802640001696B003F2F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F2E2E2F2E2E2F2E2E2F6C69627261726965732F65742F696E636C75646564000A64656275675F696E666F6A680264000776657273696F6E6B0005342E322E32680264000474696D65680662000007D461046115610B611661106802640006736F757263656B00392F636C656172636173652F6F74702F746F6F6C732F6F627365727665722F7372632F637261736864756D705F7472616E736C6174652E65726C6A
+=fun
+Module: crashdump_viewer_html
+Uniq: 9122590
+Index: 0
+Address: 526308
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 77168418
+Index: 14
+Address: 26541c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 88083515
+Index: 9
+Address: 284c30
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 36747896
+Index: 4
+Address: 26df84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 80395734
+Index: 8
+Address: 265838
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 103184573
+Index: 5
+Address: 2fa59c
+Native_address: bce80
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 88265811
+Index: 24
+Address: 34f6a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 9644262
+Index: 2
+Address: 292cec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 100885585
+Index: 0
+Address: 29eb2c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 128335479
+Index: 6
+Address: 26de84
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_prim_loader
+Uniq: 42988083
+Index: 1
+Address: 210c14
+Native_address: bcf04
+Refc: 1
+=fun
+Module: dict
+Uniq: 7105125
+Index: 7
+Address: 354f84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 29030584
+Index: 8
+Address: 234978
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 29214351
+Index: 2
+Address: 285660
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 5158633
+Index: 4
+Address: 274034
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 74624950
+Index: 25
+Address: 34f63c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 6477018
+Index: 3
+Address: 2adb6c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 117885138
+Index: 7
+Address: 2ffff8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 47566924
+Index: 6
+Address: 354fb8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 114637756
+Index: 12
+Address: 313c60
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 121316204
+Index: 31
+Address: 313a68
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61363639
+Index: 12
+Address: 2ad6a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 116208699
+Index: 3
+Address: 274094
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 113750737
+Index: 0
+Address: 292d54
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 12853672
+Index: 0
+Address: 222e74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108046357
+Index: 12
+Address: 4ab0b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 111569299
+Index: 47
+Address: 34e80c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 20108653
+Index: 15
+Address: 2f9f94
+Native_address: bcea4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 45252965
+Index: 15
+Address: 313c0c
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 12437425
+Index: 9
+Address: 4ab3e0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 30942993
+Index: 22
+Address: 34f6ec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 93430337
+Index: 3
+Address: 33b100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 6604883
+Index: 2
+Address: 33b16c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 36867745
+Index: 5
+Address: 255e28
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 90563105
+Index: 1
+Address: 285708
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 18519297
+Index: 7
+Address: 26ddfc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 8058975
+Index: 16
+Address: 4a36b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 30694569
+Index: 7
+Address: 27d018
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 76933943
+Index: 0
+Address: 2741b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 9033258
+Index: 6
+Address: 4a4690
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 74851752
+Index: 5
+Address: 4a4798
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global
+Uniq: 50855382
+Index: 4
+Address: 2659a8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 39211582
+Index: 52
+Address: 34e504
+Native_address: bceec
+Refc: 1
+=fun
+Module: file_server
+Uniq: 77665472
+Index: 0
+Address: 2a0dec
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 57487277
+Index: 8
+Address: 2fa3c4
+Native_address: bce94
+Refc: 1
+=fun
+Module: webtool
+Uniq: 87386575
+Index: 11
+Address: 4ab1c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 58991950
+Index: 8
+Address: 4a4338
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 118859163
+Index: 17
+Address: 4a34d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 38265609
+Index: 12
+Address: 354dec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 56903339
+Index: 1
+Address: 2527c4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_hosts
+Uniq: 129504763
+Index: 0
+Address: 28aae8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 44817307
+Index: 10
+Address: 354e3c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 52856894
+Index: 41
+Address: 34eb70
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 22623360
+Index: 23
+Address: 34f5d4
+Native_address: bceec
+Refc: 1
+=fun
+Module: orddict
+Uniq: 34963136
+Index: 0
+Address: 2fbbbc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erlang
+Uniq: 24496633
+Index: 0
+Address: 213744
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 99313855
+Index: 27
+Address: 2f9914
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 99137703
+Index: 3
+Address: 4b5dfc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 124043500
+Index: 3
+Address: 222b84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 102650878
+Index: 22
+Address: 313b48
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 13333720
+Index: 12
+Address: 34fb2c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global_group
+Uniq: 133457
+Index: 5
+Address: 292a80
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 64640983
+Index: 4
+Address: 29e944
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 7580218
+Index: 2
+Address: 255f08
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 131850870
+Index: 59
+Address: 34e6b8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 56617403
+Index: 10
+Address: 284b40
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108680306
+Index: 4
+Address: 4ab5e0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 90880071
+Index: 2
+Address: 26e150
+Native_address: bcefc
+Refc: 1
+=fun
+Module: file_io_server
+Uniq: 23980778
+Index: 0
+Address: 30ac30
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 12006418
+Index: 19
+Address: 2f9d54
+Native_address: bce80
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 81701030
+Index: 8
+Address: 526228
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 71013875
+Index: 1
+Address: 4a4ddc
+Native_address: bcf04
+Refc: 1
+=fun
+Module: distel
+Uniq: 87740845
+Index: 2
+Address: 35c0e0
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 90782401
+Index: 17
+Address: 2f9e8c
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 133882676
+Index: 6
+Address: 2e52ac
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 105698088
+Index: 3
+Address: 2855b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 58370899
+Index: 0
+Address: 27d370
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 15274536
+Index: 25
+Address: 2f9a94
+Native_address: bcef4
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 94349557
+Index: 0
+Address: 252844
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 33328185
+Index: 1
+Address: 33b1d8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 86971387
+Index: 16
+Address: 313db0
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 53364473
+Index: 38
+Address: 34ee84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 128145687
+Index: 0
+Address: 4ab944
+Native_address: bcee4
+Refc: 1
+=fun
+Module: c
+Uniq: 98651404
+Index: 10
+Address: 2fff20
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 78224618
+Index: 0
+Address: 313dcc
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 40779085
+Index: 11
+Address: 2e50c8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: c
+Uniq: 93517350
+Index: 4
+Address: 300090
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 58551291
+Index: 0
+Address: 234f14
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 10055518
+Index: 17
+Address: 526170
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 15795706
+Index: 19
+Address: 313bd4
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 31129467
+Index: 13
+Address: 313c44
+Native_address: bced4
+Refc: 1
+=fun
+Module: old_file_server
+Uniq: 115635393
+Index: 0
+Address: 2a1a4c
+Native_address: bcf04
+Refc: 2
+=fun
+Module: erl_eval
+Uniq: 65839696
+Index: 22
+Address: 2f9c00
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 69275064
+Index: 28
+Address: 313aa0
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 55938066
+Index: 11
+Address: 354d6c
+Native_address: bceec
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 22323433
+Index: 3
+Address: 252688
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 129726129
+Index: 29
+Address: 313abc
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 84346832
+Index: 0
+Address: 3550fc
+Native_address: bceec
+Refc: 1
+=fun
+Module: shell
+Uniq: 102096820
+Index: 7
+Address: 2e5290
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 70385762
+Index: 11
+Address: 27cf44
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_cgi
+Uniq: 1483038
+Index: 0
+Address: 4ec2e8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 3664813
+Index: 1
+Address: 3550b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet
+Uniq: 131143671
+Index: 6
+Address: 27d08c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 46286977
+Index: 2
+Address: 2740b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_esi
+Uniq: 49099432
+Index: 0
+Address: 4e522c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_master
+Uniq: 95764905
+Index: 2
+Address: 24aaa8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: packages
+Uniq: 62890926
+Index: 0
+Address: 2ae814
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 41564771
+Index: 35
+Address: 3139f8
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 95490768
+Index: 0
+Address: 4a4dc0
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 121559432
+Index: 3
+Address: 313d78
+Native_address: bced4
+Refc: 1
+=fun
+Module: httpd_conf
+Uniq: 21152662
+Index: 0
+Address: 4be5a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 41630916
+Index: 5
+Address: 29e914
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 19747201
+Index: 5
+Address: 313d24
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 100584837
+Index: 36
+Address: 34f0f4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 64635712
+Index: 15
+Address: 34f94c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 46398361
+Index: 3
+Address: 29e9a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 86699817
+Index: 27
+Address: 313b2c
+Native_address: bced4
+Refc: 1
+=fun
+Module: distel
+Uniq: 40869731
+Index: 0
+Address: 35c12c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet
+Uniq: 83701641
+Index: 1
+Address: 27d33c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_auth
+Uniq: 85845790
+Index: 0
+Address: 4dfd84
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 101292714
+Index: 9
+Address: 2e519c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 134173702
+Index: 1
+Address: 265b68
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 92433687
+Index: 6
+Address: 2ad9f4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 62315241
+Index: 8
+Address: 354f38
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 11615541
+Index: 12
+Address: 265530
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 11160090
+Index: 2
+Address: 2b6bb4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 12116524
+Index: 15
+Address: 2342c4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 61620901
+Index: 2
+Address: 4fc670
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 23665189
+Index: 12
+Address: 4a3b94
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 43844413
+Index: 0
+Address: 300100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 100514258
+Index: 6
+Address: 313d08
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 54271286
+Index: 17
+Address: 34f8a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 47017252
+Index: 3
+Address: 26dfa0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 1228304
+Index: 7
+Address: 4a45a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 127131470
+Index: 10
+Address: 2655a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: file_server
+Uniq: 22638227
+Index: 1
+Address: 2a0e20
+Native_address: bcf04
+Refc: 1
+=fun
+Module: code_server
+Uniq: 112704920
+Index: 15
+Address: 2ad488
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 88302875
+Index: 2
+Address: 2fa76c
+Native_address: bceb4
+Refc: 1
+=fun
+Module: inet_hosts
+Uniq: 85808984
+Index: 1
+Address: 28ab18
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_parse
+Uniq: 106391799
+Index: 0
+Address: 33b22c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 25830519
+Index: 5
+Address: 27d0c0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 110491036
+Index: 1
+Address: 2e5398
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 13128736
+Index: 5
+Address: 52627c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 84644982
+Index: 21
+Address: 313b9c
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 120577486
+Index: 3
+Address: 34fffc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 4504456
+Index: 44
+Address: 34e938
+Native_address: bceec
+Refc: 1
+=fun
+Module: mod_disk_log
+Uniq: 28754183
+Index: 0
+Address: 500140
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 88043334
+Index: 14
+Address: 313c28
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61592373
+Index: 0
+Address: 2adc28
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 74468346
+Index: 26
+Address: 313ad8
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 69896253
+Index: 21
+Address: 2f9c40
+Native_address: bce80
+Refc: 1
+=fun
+Module: global_group
+Uniq: 59656873
+Index: 4
+Address: 292ac0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 103891261
+Index: 2
+Address: 4a4d70
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 89619733
+Index: 0
+Address: 4b5e64
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 133201466
+Index: 10
+Address: 2e5180
+Native_address: bceec
+Refc: 1
+=fun
+Module: webtool
+Uniq: 32159369
+Index: 2
+Address: 4ab820
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 76861396
+Index: 2
+Address: 2adbb0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 48206487
+Index: 0
+Address: 4fc6f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 118996551
+Index: 28
+Address: 34f384
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 12593774
+Index: 50
+Address: 34e60c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_request_handler
+Uniq: 48542841
+Index: 1
+Address: 50e88c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 56178490
+Index: 9
+Address: 4a420c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: distel
+Uniq: 88212576
+Index: 4
+Address: 35bf44
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 79562132
+Index: 29
+Address: 34f368
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 129524917
+Index: 32
+Address: 34f2c0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54029891
+Index: 23
+Address: 2f9af0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 108872092
+Index: 4
+Address: 27d0f0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 40905124
+Index: 6
+Address: 234ac0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 50124876
+Index: 10
+Address: 2ad760
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 791358
+Index: 48
+Address: 34e7b0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 18404828
+Index: 24
+Address: 313af4
+Native_address: bced4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 13278653
+Index: 1
+Address: 4b5e48
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 110307423
+Index: 13
+Address: 284a7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 99592247
+Index: 0
+Address: 256118
+Native_address: bcf04
+Refc: 1
+=fun
+Module: global
+Uniq: 99918211
+Index: 2
+Address: 265af4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 71442319
+Index: 27
+Address: 34f510
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 7612785
+Index: 13
+Address: 2fa0fc
+Native_address: bce80
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 56095795
+Index: 15
+Address: 4a38a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 23626796
+Index: 25
+Address: 313b10
+Native_address: bced4
+Refc: 1
+=fun
+Module: file_server
+Uniq: 126074974
+Index: 2
+Address: 2a0cac
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_config
+Uniq: 104278122
+Index: 1
+Address: 274154
+Native_address: bcefc
+Refc: 1
+=fun
+Module: sys
+Uniq: 90854051
+Index: 0
+Address: 240344
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 113334594
+Index: 2
+Address: 313d5c
+Native_address: bced4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 8832142
+Index: 7
+Address: 284e30
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 9159706
+Index: 42
+Address: 34eb54
+Native_address: bceec
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 123946665
+Index: 8
+Address: 26e494
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 3149789
+Index: 1
+Address: 5262d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 48288621
+Index: 11
+Address: 2ffed8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 8953292
+Index: 20
+Address: 4a4d54
+Native_address: bcee4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 9632158
+Index: 4
+Address: 34ff88
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 31111567
+Index: 7
+Address: 29e8c8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 85307443
+Index: 10
+Address: 2fa29c
+Native_address: bcec4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 104417191
+Index: 7
+Address: 313cd0
+Native_address: bced4
+Refc: 1
+=fun
+Module: dict
+Uniq: 43625777
+Index: 5
+Address: 354fec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 92698798
+Index: 3
+Address: 4ab780
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 39074546
+Index: 6
+Address: 2fa54c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 71451126
+Index: 5
+Address: 234b98
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 122084387
+Index: 6
+Address: 300038
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 9625924
+Index: 14
+Address: 284a60
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 128777368
+Index: 11
+Address: 313c7c
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 10203723
+Index: 7
+Address: 4ab4f8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 35032400
+Index: 10
+Address: 313c98
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 17252586
+Index: 34
+Address: 313a14
+Native_address: bced4
+Refc: 1
+=fun
+Module: code_server
+Uniq: 7177165
+Index: 11
+Address: 2ad734
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 115778175
+Index: 3
+Address: 4a4930
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 96440880
+Index: 51
+Address: 34e590
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 68275407
+Index: 0
+Address: 2b7340
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 88854488
+Index: 16
+Address: 2f9f04
+Native_address: bcebc
+Refc: 1
+=fun
+Module: global
+Uniq: 26353848
+Index: 13
+Address: 2654e8
+Native_address: bcf04
+Refc: 3
+=fun
+Module: global
+Uniq: 93414722
+Index: 11
+Address: 265568
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 11194189
+Index: 60
+Address: 34fe0c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: c
+Uniq: 125189992
+Index: 8
+Address: 2fffdc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 112472016
+Index: 2
+Address: 355088
+Native_address: bceec
+Refc: 1
+=fun
+Module: shell
+Uniq: 104426442
+Index: 5
+Address: 2e52e0
+Native_address: bceec
+Refc: 1
+=fun
+Module: global
+Uniq: 17426458
+Index: 0
+Address: 265bc4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 81191039
+Index: 5
+Address: 2ada48
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 71765042
+Index: 5
+Address: 284f74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 85855821
+Index: 2
+Address: 1fa298
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 70586122
+Index: 10
+Address: 4a3fe4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 87067911
+Index: 49
+Address: 34e708
+Native_address: bcef4
+Refc: 1
+=fun
+Module: distel
+Uniq: 63126735
+Index: 1
+Address: 35c0fc
+Native_address: bcf04
+Refc: 1
+=fun
+Module: c
+Uniq: 58270309
+Index: 1
+Address: 3000e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: ets
+Uniq: 80538457
+Index: 1
+Address: 2bc1a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 69827241
+Index: 9
+Address: 34fd70
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 103968752
+Index: 3
+Address: 355054
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 117175573
+Index: 21
+Address: 34f728
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 57865450
+Index: 2
+Address: 2e537c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 14705965
+Index: 20
+Address: 313b80
+Native_address: bced4
+Refc: 1
+=fun
+Module: webtool
+Uniq: 85360931
+Index: 6
+Address: 4ab56c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: kernel_config
+Uniq: 41755598
+Index: 0
+Address: 2d9e20
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 7110547
+Index: 37
+Address: 34ef14
+Native_address: bcef4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 28091577
+Index: 16
+Address: 234244
+Native_address: bcef4
+Refc: 2
+=fun
+Module: code_server
+Uniq: 96448152
+Index: 14
+Address: 2ad4e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 40177568
+Index: 13
+Address: 4a39a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 31948320
+Index: 58
+Address: 34dfdc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global
+Uniq: 54153760
+Index: 7
+Address: 265854
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 60156260
+Index: 3
+Address: 5262b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 1010616
+Index: 2
+Address: 350064
+Native_address: bcef4
+Refc: 1
+=fun
+Module: init
+Uniq: 96784459
+Index: 1
+Address: 1fa2b4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 48691771
+Index: 18
+Address: 313bb8
+Native_address: bced4
+Refc: 1
+=fun
+Module: global
+Uniq: 26895060
+Index: 9
+Address: 265710
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 109625093
+Index: 7
+Address: 2ad8fc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 59436171
+Index: 1
+Address: 3500dc
+Native_address: bcef4
+Refc: 1
+=fun
+Module: dict
+Uniq: 92768306
+Index: 9
+Address: 354f04
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global_group
+Uniq: 106430008
+Index: 3
+Address: 292b38
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 79749196
+Index: 6
+Address: 1fa01c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 6014929
+Index: 9
+Address: 2fa324
+Native_address: bceac
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 57051922
+Index: 7
+Address: 234a28
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 77043468
+Index: 6
+Address: 29e8e4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 36176045
+Index: 9
+Address: 52620c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: rpc
+Uniq: 35862809
+Index: 3
+Address: 255edc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 113649451
+Index: 4
+Address: 2850a0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 67943969
+Index: 5
+Address: 2658f4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 109003032
+Index: 16
+Address: 5260d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 104711447
+Index: 13
+Address: 525f5c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 107666872
+Index: 9
+Address: 27cfb0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 89410000
+Index: 10
+Address: 5261f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 47356870
+Index: 11
+Address: 284ab4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 17873449
+Index: 56
+Address: 34e1e8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 8839441
+Index: 33
+Address: 34f25c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 82513204
+Index: 2
+Address: 222c18
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_master
+Uniq: 5973059
+Index: 0
+Address: 24ab7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_gethost_native
+Uniq: 127832132
+Index: 0
+Address: 4b065c
+Native_address: bcefc
+Refc: 2
+=fun
+Module: crashdump_viewer_html
+Uniq: 39322658
+Index: 14
+Address: 525f40
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_server
+Uniq: 100284021
+Index: 0
+Address: 23d288
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 17430070
+Index: 12
+Address: 284a98
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 97509773
+Index: 3
+Address: 1fa27c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: distel
+Uniq: 32364818
+Index: 3
+Address: 35c050
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 58576084
+Index: 32
+Address: 313a4c
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 38384851
+Index: 14
+Address: 4a3988
+Native_address: bceec
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 14139883
+Index: 4
+Address: 234d78
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 122590256
+Index: 0
+Address: 2fa8b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 14705629
+Index: 11
+Address: 2fa22c
+Native_address: bcedc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 9273769
+Index: 4
+Address: 2fa684
+Native_address: bcee4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 87950142
+Index: 11
+Address: 5261d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_log
+Uniq: 54913678
+Index: 1
+Address: 4fc6b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 28370334
+Index: 0
+Address: 26e4b0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 24927227
+Index: 40
+Address: 34ed4c
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 105437500
+Index: 33
+Address: 313a30
+Native_address: bced4
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 10921695
+Index: 1
+Address: 234eac
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 112431564
+Index: 55
+Address: 34e22c
+Native_address: bceec
+Refc: 1
+=fun
+Module: webtool
+Uniq: 129460863
+Index: 5
+Address: 4ab5c4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 89001648
+Index: 3
+Address: 27d2ec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 36199507
+Index: 8
+Address: 27cfe4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 35620771
+Index: 2
+Address: 5262ec
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 83214871
+Index: 18
+Address: 2f9e34
+Native_address: bceec
+Refc: 1
+=fun
+Module: code_server
+Uniq: 122455383
+Index: 1
+Address: 2adc0c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 22389488
+Index: 31
+Address: 34f1b8
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 41869059
+Index: 12
+Address: 2fa1d4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 18130505
+Index: 45
+Address: 34e904
+Native_address: bcefc
+Refc: 1
+=fun
+Module: hipe_unified_loader
+Uniq: 107414126
+Index: 1
+Address: 2b706c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 116638945
+Index: 28
+Address: 2f98f8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 48465762
+Index: 9
+Address: 2348c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_request_handler
+Uniq: 87633852
+Index: 0
+Address: 50e97c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 28213098
+Index: 8
+Address: 4ab42c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 123630574
+Index: 4
+Address: 222b58
+Native_address: bcefc
+Refc: 1
+=fun
+Module: dict
+Uniq: 127425508
+Index: 13
+Address: 354eb4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 95048118
+Index: 16
+Address: 2ad46c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 108661978
+Index: 19
+Address: 34f75c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 21272619
+Index: 13
+Address: 34fad8
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 29943747
+Index: 17
+Address: 313bf0
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 120240397
+Index: 4
+Address: 313d94
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 124060676
+Index: 0
+Address: 350124
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 100975346
+Index: 6
+Address: 526260
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 61421476
+Index: 4
+Address: 2ada9c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 45197232
+Index: 7
+Address: 34fe5c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 3151900
+Index: 15
+Address: 525f24
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 77509245
+Index: 2
+Address: 4b5e2c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 94110229
+Index: 8
+Address: 2ad7e4
+Native_address: bcef4
+Refc: 3
+=fun
+Module: rpc
+Uniq: 101217130
+Index: 1
+Address: 2560c4
+Native_address: bcf04
+Refc: 1
+=fun
+Module: lists
+Uniq: 103647452
+Index: 0
+Address: 244b7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 37841211
+Index: 9
+Address: 2ad77c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 40109251
+Index: 54
+Address: 34e2b4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: init
+Uniq: 98012300
+Index: 0
+Address: 1fa2d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 73604759
+Index: 10
+Address: 4ab270
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 12042434
+Index: 1
+Address: 313d40
+Native_address: bced4
+Refc: 1
+=fun
+Module: shell
+Uniq: 127137775
+Index: 4
+Address: 2e531c
+Native_address: bcf04
+Refc: 1
+=fun
+Module: inet
+Uniq: 45498037
+Index: 12
+Address: 27cec0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 122441107
+Index: 34
+Address: 34f1d4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 70933889
+Index: 46
+Address: 34e8d0
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet
+Uniq: 69850797
+Index: 2
+Address: 27d308
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 103965539
+Index: 13
+Address: 234684
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 29979659
+Index: 30
+Address: 313a84
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 17148721
+Index: 20
+Address: 34f778
+Native_address: bcefc
+Refc: 1
+=fun
+Module: httpd_response
+Uniq: 100673049
+Index: 0
+Address: 5165dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_gethost_native
+Uniq: 10508176
+Index: 1
+Address: 4b04dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32476064
+Index: 57
+Address: 34e1c4
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 74835078
+Index: 9
+Address: 313cec
+Native_address: bced4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 60689814
+Index: 19
+Address: 4a3b78
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 39269715
+Index: 5
+Address: 34ff14
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 112923172
+Index: 0
+Address: 2e5404
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 43010824
+Index: 14
+Address: 2fa03c
+Native_address: bce8c
+Refc: 1
+=fun
+Module: global
+Uniq: 82495254
+Index: 3
+Address: 265ac8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: shell
+Uniq: 48568081
+Index: 8
+Address: 2e5220
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 77236637
+Index: 7
+Address: 1fa000
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 109386574
+Index: 1
+Address: 2fa804
+Native_address: bce9c
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 42613220
+Index: 14
+Address: 34f980
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 67093144
+Index: 23
+Address: 313b64
+Native_address: bced4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 86833790
+Index: 11
+Address: 34fbe8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 6344855
+Index: 1
+Address: 29eabc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 5149749
+Index: 35
+Address: 34f220
+Native_address: bcefc
+Refc: 1
+=fun
+Module: init
+Uniq: 93451769
+Index: 5
+Address: 1fa120
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 117428568
+Index: 11
+Address: 234758
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 15225890
+Index: 4
+Address: 526298
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 120760477
+Index: 2
+Address: 234cdc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 88561919
+Index: 3
+Address: 3000ac
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_scan
+Uniq: 108931174
+Index: 8
+Address: 313cb4
+Native_address: bced4
+Refc: 1
+=fun
+Module: rpc
+Uniq: 122901192
+Index: 4
+Address: 255e44
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32985930
+Index: 10
+Address: 34fc40
+Native_address: bcef4
+Refc: 1
+=fun
+Module: global_group
+Uniq: 97968498
+Index: 1
+Address: 292b7c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 45671671
+Index: 18
+Address: 4a32d0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 117968056
+Index: 3
+Address: 2fa6ec
+Native_address: bcecc
+Refc: 1
+=fun
+Module: init
+Uniq: 108717591
+Index: 4
+Address: 1fa194
+Native_address: bcf04
+Refc: 1
+=fun
+Module: supervisor
+Uniq: 15091954
+Index: 2
+Address: 2526dc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 65707495
+Index: 6
+Address: 2658a4
+Native_address: bcefc
+Refc: 1
+=fun
+Module: code_server
+Uniq: 34473969
+Index: 17
+Address: 2ad450
+Native_address: bcef4
+Refc: 2
+=fun
+Module: crashdump_viewer_html
+Uniq: 124296602
+Index: 7
+Address: 526244
+Native_address: bcefc
+Refc: 1
+=fun
+Module: global
+Uniq: 23074707
+Index: 15
+Address: 265460
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet
+Uniq: 25972856
+Index: 10
+Address: 27cf74
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 43110452
+Index: 24
+Address: 2f9ad4
+Native_address: bceec
+Refc: 1
+=fun
+Module: code_server
+Uniq: 106445918
+Index: 13
+Address: 2ad660
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer_html
+Uniq: 116071286
+Index: 12
+Address: 5261b8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 130814477
+Index: 8
+Address: 284cfc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 121017037
+Index: 39
+Address: 34ed80
+Native_address: bcef4
+Refc: 1
+=fun
+Module: ets
+Uniq: 104895267
+Index: 0
+Address: 2bc1bc
+Native_address: bcefc
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 104682437
+Index: 11
+Address: 4a3de0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 70248777
+Index: 30
+Address: 34f30c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 13274975
+Index: 5
+Address: 300074
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 98442771
+Index: 53
+Address: 34e2d0
+Native_address: bceec
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 69829006
+Index: 7
+Address: 2fa47c
+Native_address: bce80
+Refc: 1
+=fun
+Module: old_file_server
+Uniq: 36444943
+Index: 1
+Address: 2a1a80
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 58719455
+Index: 26
+Address: 34f5f0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: timer
+Uniq: 42505885
+Index: 0
+Address: 4cd62c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54682479
+Index: 20
+Address: 2f9d08
+Native_address: bcf04
+Refc: 1
+=fun
+Module: gen_event
+Uniq: 86070332
+Index: 1
+Address: 222d7c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 54728136
+Index: 9
+Address: 2fff68
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 16474219
+Index: 3
+Address: 234c60
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 108831556
+Index: 10
+Address: 234810
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 72053761
+Index: 16
+Address: 34f8ec
+Native_address: bcef4
+Refc: 1
+=fun
+Module: net_kernel
+Uniq: 65127616
+Index: 2
+Address: 29ea04
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 126167637
+Index: 14
+Address: 234640
+Native_address: bcef4
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 113704917
+Index: 0
+Address: 285788
+Native_address: bcefc
+Refc: 1
+=fun
+Module: mod_disk_log
+Uniq: 75279647
+Index: 1
+Address: 500100
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 119218247
+Index: 5
+Address: 26df68
+Native_address: bcef4
+Refc: 1
+=fun
+Module: httpd_util
+Uniq: 85690044
+Index: 4
+Address: 4b5d6c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_db
+Uniq: 53075592
+Index: 1
+Address: 26e16c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: c
+Uniq: 39490182
+Index: 2
+Address: 3000c8
+Native_address: bcefc
+Refc: 1
+=fun
+Module: application_controller
+Uniq: 75189006
+Index: 12
+Address: 234714
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 14980808
+Index: 43
+Address: 34eb38
+Native_address: bceec
+Refc: 1
+=fun
+Module: crashdump_viewer
+Uniq: 16463468
+Index: 4
+Address: 4a4914
+Native_address: bcee4
+Refc: 1
+=fun
+Module: dict
+Uniq: 99965326
+Index: 4
+Address: 355020
+Native_address: bcefc
+Refc: 1
+=fun
+Module: inet_parse
+Uniq: 36900786
+Index: 6
+Address: 284f3c
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 45447147
+Index: 18
+Address: 34f794
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 32353825
+Index: 6
+Address: 34fe78
+Native_address: bcef4
+Refc: 1
+=fun
+Module: erl_lint
+Uniq: 134052338
+Index: 8
+Address: 34fdc0
+Native_address: bceec
+Refc: 1
+=fun
+Module: application_master
+Uniq: 23840924
+Index: 1
+Address: 24aae0
+Native_address: bcefc
+Refc: 1
+=fun
+Module: webtool
+Uniq: 108282500
+Index: 1
+Address: 4ab918
+Native_address: bcefc
+Refc: 1
+=fun
+Module: erl_prim_loader
+Uniq: 31081110
+Index: 0
+Address: 210c68
+Native_address: bcf04
+Refc: 1
+=fun
+Module: erl_eval
+Uniq: 54275742
+Index: 26
+Address: 2f9a4c
+Native_address: bcef4
+Refc: 1
+=fun
+Module: shell
+Uniq: 45083091
+Index: 3
+Address: 2e5350
+Native_address: bcf04
+Refc: 3
+=proc_stack:<0.0.0>
+3a48bc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H371264
+=proc_heap:<0.0.0>
+371264:t9:A5:state,H3710D8,N,N,H3710F4,P<0.1.0>,H37128C,H3710FC,N
+3710FC:t2:H371138,H371140
+371140:lI80|H371194
+371194:lI49|H3711E0
+3711E0:lI48|H371204
+371204:lI66|N
+371138:lI79|H37118C
+37118C:lI84|H3711D8
+3711D8:lI80|H3711FC
+3711FC:lI32|H37120C
+37120C:lI32|H371214
+371214:lI65|H37121C
+37121C:lI80|H371224
+371224:lI78|H37122C
+37122C:lI32|H371234
+371234:lI49|H37123C
+37123C:lI56|H371244
+371244:lI49|H37124C
+37124C:lI32|H371254
+371254:lI48|H37125C
+37125C:lI49|N
+37128C:t2:A7:started,A7:started
+3710F4:lH371124|H371130
+371124:t2:A16:application_controller,P<0.5.0>
+371130:lH371178|H371184
+371178:t2:AC:error_logger,P<0.4.0>
+371184:lH3711CC|N
+3711CC:t2:AF:erl_prim_loader,P<0.2.0>
+3710D8:lH3710E0|H3710EC
+3710E0:t2:A5:-root,H371108
+371108:lH371148|N
+371148:Yh13:2F636C656172636173652F6F74702F65727473
+3710EC:lH371110|H37111C
+371110:t2:A9:-progname,H371164
+371164:lH37119C|N
+37119C:Yh1D:2F636C656172636173652F6F74702F657274732F62696E2F6365726C20
+37111C:lH37116C|N
+37116C:t2:A5:-home,H3711C4
+3711C4:lH3711E8|N
+3711E8:YhA:2F686F6D652F73697269
+=proc_stack:<0.2.0>
+38eca8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H367D20
+y1:P<0.1.0>
+y2:H367D28
+y3:A8:infinity
+=proc_heap:<0.2.0>
+367D20:lH367D48|H367D50
+367D48:lI47|H367D58
+367D58:lI99|H367D68
+367D68:lI108|H367D78
+367D78:lI101|H367D88
+367D88:lI97|H367D98
+367D98:lI114|H367DA8
+367DA8:lI99|H367DB8
+367DB8:lI97|H367DC8
+367DC8:lI115|H367DD8
+367DD8:lI101|H367DE8
+367DE8:lI47|H367DF8
+367DF8:lI111|H367E08
+367E08:lI116|H367E18
+367E18:lI112|H367E28
+367E28:lI47|H367E38
+367E38:lI101|H367E48
+367E48:lI114|H367E58
+367E58:lI116|H367E68
+367E68:lI115|H367E78
+367E78:lI47|H367E88
+367E88:lI108|H367E98
+367E98:lI105|H367EA8
+367EA8:lI98|H367EB8
+367EB8:lI47|H367EC8
+367EC8:lI107|H367ED8
+367ED8:lI101|H367EE8
+367EE8:lI114|H367EF8
+367EF8:lI110|H367F08
+367F08:lI101|H367F18
+367F18:lI108|H367F28
+367F28:lI47|H367F38
+367F38:lI101|H367F48
+367F48:lI98|H367F58
+367F58:lI105|H367F68
+367F68:lI110|N
+367D50:lH367D60|N
+367D60:lI47|H367D70
+367D70:lI99|H367D80
+367D80:lI108|H367D90
+367D90:lI101|H367DA0
+367DA0:lI97|H367DB0
+367DB0:lI114|H367DC0
+367DC0:lI99|H367DD0
+367DD0:lI97|H367DE0
+367DE0:lI115|H367DF0
+367DF0:lI101|H367E00
+367E00:lI47|H367E10
+367E10:lI111|H367E20
+367E20:lI116|H367E30
+367E30:lI112|H367E40
+367E40:lI47|H367E50
+367E50:lI101|H367E60
+367E60:lI114|H367E70
+367E70:lI116|H367E80
+367E80:lI115|H367E90
+367E90:lI47|H367EA0
+367EA0:lI108|H367EB0
+367EB0:lI105|H367EC0
+367EC0:lI98|H367ED0
+367ED0:lI47|H367EE0
+367EE0:lI115|H367EF0
+367EF0:lI116|H367F00
+367F00:lI100|H367F10
+367F10:lI108|H367F20
+367F20:lI105|H367F30
+367F30:lI98|H367F40
+367F40:lI47|H367F50
+367F50:lI101|H367F60
+367F60:lI98|H367F70
+367F70:lI105|H367F78
+367F78:lI110|N
+367D28:t7:A5:state,A5:efile,N,A4:none,p<0.2>,A8:infinity,A5:false
+=proc_dictionary:<0.4.0>
+H3AC588
+H3AC594
+=proc_stack:<0.4.0>
+3b2f14:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:H3B21E8
+y2:AC:error_logger
+y3:P<0.1.0>
+3b2f28:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3AC5A8
+=proc_heap:<0.4.0>
+3B21E8:lH3B2144|H3B21E0
+3B2144:t5:A7:handler,AC:error_logger,A5:false,N,A5:false
+3B21E0:lH3B21BC|N
+3B21BC:t5:A7:handler,A12:error_logger_tty_h,A5:false,H3AC610,A5:false
+3AC610:t2:P<0.21.0>,AC:error_logger
+3AC5A8:lA9:gen_event|H3AC5E8
+3AC5E8:lP<0.1.0>|H3AC608
+3AC608:lP<0.1.0>|H3AC61C
+3AC61C:lH3AC624|H3AC630
+3AC624:t2:A5:local,AC:error_logger
+3AC630:lN|H3AC638
+3AC638:lN|H3AC640
+3AC640:lN|N
+3AC588:t2:AD:$initial_call,H3AC5B0
+3AC5B0:t3:A3:gen,A7:init_it,H3AC5A8
+3AC594:t2:AA:$ancestors,H3AC5C0
+3AC5C0:lP<0.1.0>|N
+=proc_dictionary:<0.5.0>
+H372E4C
+H372E58
+=proc_stack:<0.5.0>
+374704:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A16:application_controller
+y3:H3739F4
+y4:A16:application_controller
+y5:P<0.1.0>
+374720:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H372ED0
+=proc_heap:<0.5.0>
+3739F4:t9:A5:state,N,N,N,H373914,N,H373928,N,N
+373928:lH37391C|H372F54
+37391C:t2:A6:stdlib,A9:permanent
+372F54:lH372F90|N
+372F90:t2:A6:kernel,A9:permanent
+373914:lH373908|H372F4C
+373908:t2:A6:stdlib,A9:undefined
+372F4C:lH372F84|N
+372F84:t2:A6:kernel,P<0.7.0>
+372ED0:lAA:gen_server|H372F5C
+372F5C:lP<0.1.0>|H372F9C
+372F9C:lP<0.1.0>|H372FC4
+372FC4:lH372FEC|H372FF8
+372FEC:t2:A5:local,A16:application_controller
+372FF8:lA16:application_controller|H373018
+373018:lH373038|H373048
+373038:t3:AB:application,A6:kernel,H373060
+373060:lH373078|H373084
+373078:t2:AB:description,H37309C
+37309C:lI69|H3730C8
+3730C8:lI82|H3730FC
+3730FC:lI84|H373130
+373130:lI83|H37316C
+37316C:lI32|H3731A8
+3731A8:lI32|H3731E4
+3731E4:lI67|H373220
+373220:lI88|H37325C
+37325C:lI67|H37329C
+37329C:lI32|H3732D0
+3732D0:lI49|H3732FC
+3732FC:lI51|H373328
+373328:lI56|H373348
+373348:lI32|H373368
+373368:lI49|H373388
+373388:lI48|N
+373084:lH3730A4|H3730B0
+3730A4:t2:A3:vsn,H3730D0
+3730D0:lI50|H373104
+373104:lI46|H373138
+373138:lI57|N
+3730B0:lH3730D8|H3730E4
+3730D8:t2:A2:id,N
+3730E4:lH37310C|H373118
+37310C:t2:A7:modules,H373140
+373140:lAB:application|H373174
+373174:lA16:application_controller|H3731B0
+3731B0:lA12:application_master|H3731EC
+3731EC:lA13:application_starter|H373228
+373228:lA4:auth|H373264
+373264:lA4:code|H3732A4
+3732A4:lA8:code_aux|H3732D8
+3732D8:lA8:packages|H373304
+373304:lAB:code_server|H373330
+373330:lA9:dist_util|H373350
+373350:lAF:erl_boot_server|H373370
+373370:lA10:erl_distribution|H373390
+373390:lAF:erl_prim_loader|H3733A8
+3733A8:lA9:erl_reply|H3733C0
+3733C0:lA6:erlang|H3733D8
+3733D8:lAD:error_handler|H3733F0
+3733F0:lAC:error_logger|H373408
+373408:lA4:file|H373420
+373420:lAB:file_server|H373438
+373438:lAF:old_file_server|H373450
+373450:lAE:file_io_server|H373468
+373468:lA9:prim_file|H373480
+373480:lA6:global|H373498
+373498:lAC:global_group|H3734B0
+3734B0:lAD:global_search|H3734C8
+3734C8:lA5:group|H3734E0
+3734E0:lA5:heart|H3734F8
+3734F8:lA13:hipe_unified_loader|H373510
+373510:lA11:hipe_sparc_loader|H373520
+373520:lAF:hipe_x86_loader|H373530
+373530:lA9:inet6_tcp|H373540
+373540:lAE:inet6_tcp_dist|H373550
+373550:lA9:inet6_udp|H373560
+373560:lAB:inet_config|H373570
+373570:lAA:inet_hosts|H373580
+373580:lA13:inet_gethost_native|H373590
+373590:lAD:inet_tcp_dist|H3735A0
+3735A0:lA4:init|H3735B0
+3735B0:lA6:kernel|H3735C0
+3735C0:lAD:kernel_config|H3735D0
+3735D0:lA3:net|H3735E0
+3735E0:lA7:net_adm|H3735F0
+3735F0:lAA:net_kernel|H373600
+373600:lA2:os|H373610
+373610:lA8:ram_file|H373620
+373620:lA3:rpc|H373630
+373630:lA4:user|H373640
+373640:lA8:user_drv|H373650
+373650:lA8:user_sup|H373660
+373660:lA8:disk_log|H373670
+373670:lAA:disk_log_1|H373680
+373680:lAF:disk_log_server|H373690
+373690:lAC:disk_log_sup|H3736A0
+3736A0:lA7:dist_ac|H3736B0
+3736B0:lA8:erl_ddll|H3736C0
+3736C0:lA8:erl_epmd|H3736D0
+3736D0:lAA:erts_debug|H3736E0
+3736E0:lA7:gen_tcp|H3736F0
+3736F0:lA7:gen_udp|H373700
+373700:lA9:prim_inet|H373708
+373708:lA4:inet|H373710
+373710:lA7:inet_db|H373718
+373718:lA8:inet_dns|H373720
+373720:lAA:inet_parse|H373728
+373728:lA8:inet_res|H373730
+373730:lA8:inet_tcp|H373738
+373738:lA8:inet_udp|H373740
+373740:lA3:pg2|H373748
+373748:lA9:seq_trace|H373750
+373750:lA6:socks5|H373758
+373758:lAB:socks5_auth|H373760
+373760:lAA:socks5_tcp|H373768
+373768:lAA:socks5_udp|H373770
+373770:lAF:wrap_log_reader|H373778
+373778:lA4:zlib|H373780
+373780:lA9:otp_ring0|N
+373118:lH373148|H373154
+373148:t2:AA:registered,H37317C
+37317C:lA16:application_controller|H3731B8
+3731B8:lA9:erl_reply|H3731F4
+3731F4:lA4:auth|H373230
+373230:lAB:boot_server|H37326C
+37326C:lAB:code_server|H3732AC
+3732AC:lAF:disk_log_server|H3732E0
+3732E0:lAC:disk_log_sup|H37330C
+37330C:lAF:erl_prim_loader|H373338
+373338:lAC:error_logger|H373358
+373358:lAB:file_server|H373378
+373378:lAD:file_server_2|H373398
+373398:lAF:fixtable_server|H3733B0
+3733B0:lAC:global_group|H3733C8
+3733C8:lA12:global_name_server|H3733E0
+3733E0:lA5:heart|H3733F8
+3733F8:lA4:init|H373410
+373410:lAD:kernel_config|H373428
+373428:lAA:kernel_sup|H373440
+373440:lAA:net_kernel|H373458
+373458:lA7:net_sup|H373470
+373470:lA3:rex|H373488
+373488:lA4:user|H3734A0
+3734A0:lA9:os_server|H3734B8
+3734B8:lAB:ddll_server|H3734D0
+3734D0:lA8:erl_epmd|H3734E8
+3734E8:lA7:inet_db|H373500
+373500:lA3:pg2|N
+373154:lH373184|H373190
+373184:t2:AC:applications,N
+373190:lH3731C0|H3731CC
+3731C0:t2:A15:included_applications,N
+3731CC:lH3731FC|H373208
+3731FC:t2:A3:env,H373238
+373238:lH373274|N
+373274:t2:AC:error_logger,A3:tty
+373208:lH373240|H37324C
+373240:t2:AC:start_phases,A9:undefined
+37324C:lH373280|H37328C
+373280:t2:A4:maxT,A8:infinity
+37328C:lH3732B4|H3732C0
+3732B4:t2:A4:maxP,A8:infinity
+3732C0:lH3732E8|N
+3732E8:t2:A3:mod,H373314
+373314:t2:A6:kernel,N
+373048:lN|N
+372E4C:t2:AD:$initial_call,H372EE4
+372EE4:t3:A3:gen,A7:init_it,H372ED0
+372E58:t2:AA:$ancestors,H372EF4
+372EF4:lP<0.1.0>|N
+=proc_dictionary:<0.7.0>
+H369B78
+H369B5C
+=proc_stack:<0.7.0>
+369d64:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:H369C2C
+y1:P<0.5.0>
+369d70:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A12:application_master
+y2:A4:init
+y3:H369B2C
+=proc_heap:<0.7.0>
+369C2C:t6:A5:state,P<0.8.0>,H3697B0,N,I0,P<0.0.0>
+3697B0:t9:A9:appl_data,A6:kernel,H369B14,A9:undefined,H3697D8,H369A3C,N,A8:infinity,A8:infinity
+369A3C:lAB:application|H369A34
+369A34:lA16:application_controller|H369A2C
+369A2C:lA12:application_master|H369A24
+369A24:lA13:application_starter|H369A1C
+369A1C:lA4:auth|H369A14
+369A14:lA4:code|H369A0C
+369A0C:lA8:code_aux|H369A04
+369A04:lA8:packages|H3699FC
+3699FC:lAB:code_server|H3699F4
+3699F4:lA9:dist_util|H3699EC
+3699EC:lAF:erl_boot_server|H3699E4
+3699E4:lA10:erl_distribution|H3699DC
+3699DC:lAF:erl_prim_loader|H3699D4
+3699D4:lA9:erl_reply|H3699CC
+3699CC:lA6:erlang|H3699C4
+3699C4:lAD:error_handler|H3699BC
+3699BC:lAC:error_logger|H3699B4
+3699B4:lA4:file|H3699AC
+3699AC:lAB:file_server|H3699A4
+3699A4:lAF:old_file_server|H36999C
+36999C:lAE:file_io_server|H369994
+369994:lA9:prim_file|H36998C
+36998C:lA6:global|H369984
+369984:lAC:global_group|H36997C
+36997C:lAD:global_search|H369974
+369974:lA5:group|H36996C
+36996C:lA5:heart|H369964
+369964:lA13:hipe_unified_loader|H36995C
+36995C:lA11:hipe_sparc_loader|H369954
+369954:lAF:hipe_x86_loader|H36994C
+36994C:lA9:inet6_tcp|H369944
+369944:lAE:inet6_tcp_dist|H36993C
+36993C:lA9:inet6_udp|H369934
+369934:lAB:inet_config|H36992C
+36992C:lAA:inet_hosts|H369924
+369924:lA13:inet_gethost_native|H36991C
+36991C:lAD:inet_tcp_dist|H369914
+369914:lA4:init|H36990C
+36990C:lA6:kernel|H369904
+369904:lAD:kernel_config|H3698FC
+3698FC:lA3:net|H3698F4
+3698F4:lA7:net_adm|H3698EC
+3698EC:lAA:net_kernel|H3698E4
+3698E4:lA2:os|H3698DC
+3698DC:lA8:ram_file|H3698D4
+3698D4:lA3:rpc|H3698CC
+3698CC:lA4:user|H3698C4
+3698C4:lA8:user_drv|H3698BC
+3698BC:lA8:user_sup|H3698B4
+3698B4:lA8:disk_log|H3698AC
+3698AC:lAA:disk_log_1|H3698A4
+3698A4:lAF:disk_log_server|H36989C
+36989C:lAC:disk_log_sup|H369894
+369894:lA7:dist_ac|H36988C
+36988C:lA8:erl_ddll|H369884
+369884:lA8:erl_epmd|H36987C
+36987C:lAA:erts_debug|H369874
+369874:lA7:gen_tcp|H36986C
+36986C:lA7:gen_udp|H369864
+369864:lA9:prim_inet|H36985C
+36985C:lA4:inet|H369854
+369854:lA7:inet_db|H36984C
+36984C:lA8:inet_dns|H369844
+369844:lAA:inet_parse|H36983C
+36983C:lA8:inet_res|H369834
+369834:lA8:inet_tcp|H36982C
+36982C:lA8:inet_udp|H369824
+369824:lA3:pg2|H36981C
+36981C:lA9:seq_trace|H369814
+369814:lA6:socks5|H36980C
+36980C:lAB:socks5_auth|H369804
+369804:lAA:socks5_tcp|H3697FC
+3697FC:lAA:socks5_udp|H3697F4
+3697F4:lAF:wrap_log_reader|H3697EC
+3697EC:lA4:zlib|H3697E4
+3697E4:lA9:otp_ring0|N
+3697D8:t2:A6:kernel,N
+369B14:lA16:application_controller|H369B0C
+369B0C:lA9:erl_reply|H369B04
+369B04:lA4:auth|H369AFC
+369AFC:lAB:boot_server|H369AF4
+369AF4:lAB:code_server|H369AEC
+369AEC:lAF:disk_log_server|H369AE4
+369AE4:lAC:disk_log_sup|H369ADC
+369ADC:lAF:erl_prim_loader|H369AD4
+369AD4:lAC:error_logger|H369ACC
+369ACC:lAB:file_server|H369AC4
+369AC4:lAD:file_server_2|H369ABC
+369ABC:lAF:fixtable_server|H369AB4
+369AB4:lAC:global_group|H369AAC
+369AAC:lA12:global_name_server|H369AA4
+369AA4:lA5:heart|H369A9C
+369A9C:lA4:init|H369A94
+369A94:lAD:kernel_config|H369A8C
+369A8C:lAA:kernel_sup|H369A84
+369A84:lAA:net_kernel|H369A7C
+369A7C:lA7:net_sup|H369A74
+369A74:lA3:rex|H369A6C
+369A6C:lA4:user|H369A64
+369A64:lA9:os_server|H369A5C
+369A5C:lAB:ddll_server|H369A54
+369A54:lA8:erl_epmd|H369A4C
+369A4C:lA7:inet_db|H369A44
+369A44:lA3:pg2|N
+369B2C:lP<0.5.0>|H369B24
+369B24:lP<0.6.0>|H3697A8
+3697A8:lH3697B0|H369B1C
+369B1C:lA6:normal|N
+369B78:t2:AD:$initial_call,H369B68
+369B68:t3:A12:application_master,A4:init,H369B2C
+369B5C:t2:AA:$ancestors,H369B54
+369B54:lP<0.6.0>|N
+=proc_stack:<0.8.0>
+384ec0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H384BDC
+y1:A6:kernel
+y2:P<0.9.0>
+y3:P<0.7.0>
+=proc_heap:<0.8.0>
+384BDC:t2:A5:state,A3:tty
+=proc_dictionary:<0.9.0>
+H376850
+H37685C
+=proc_stack:<0.9.0>
+36bde8:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36B8E8
+y4:AA:kernel_sup
+y5:P<0.8.0>
+36be04:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3768D4
+=proc_heap:<0.9.0>
+36B8E8:tA:A5:state,H376868,AB:one_for_all,H36B8D4,N,I0,I1,N,A6:kernel,N
+36B8D4:lH36B8B0|H36B6E8
+36B8B0:t8:A5:child,P<0.24.0>,AF:kernel_safe_sup,H376BF0,A9:permanent,A8:infinity,AA:supervisor,H376C00
+376C00:lA6:kernel|N
+376BF0:t3:AA:supervisor,AA:start_link,H376C08
+376C08:lH376C10|H376C1C
+376C10:t2:A5:local,AF:kernel_safe_sup
+376C1C:lA6:kernel|H376C24
+376C24:lA4:safe|N
+36B6E8:lH36B6C4|H36B490
+36B6C4:t8:A5:child,P<0.23.0>,AD:kernel_config,H376BB4,A9:permanent,I2000,A6:worker,H376BC4
+376BC4:lAD:kernel_config|N
+376BB4:t3:AD:kernel_config,AA:start_link,N
+36B490:lH36B498|H36B4BC
+36B498:t8:A5:child,P<0.19.0>,A4:user,H376B70,A9:temporary,I2000,AA:supervisor,H376B80
+376B80:lA8:user_sup|N
+376B70:t3:A8:user_sup,A5:start,N
+36B4BC:lH36B4C4|H376CB0
+36B4C4:t8:A5:child,P<0.18.0>,AB:code_server,H376B0C,A9:permanent,I2000,A6:worker,H376B1C
+376B1C:lA4:code|N
+376B0C:t3:A4:code,AA:start_link,N
+376CB0:lH376CB8|H376CDC
+376CB8:t8:A5:child,P<0.17.0>,AB:file_server,H376AB8,A9:permanent,I2000,A6:worker,H376AC8
+376AC8:lAF:old_file_server|N
+376AB8:t3:AF:old_file_server,AA:start_link,N
+376CDC:lH376CE4|H376C2C
+376CE4:t8:A5:child,P<0.16.0>,AD:file_server_2,H376A58,A9:permanent,I2000,A6:worker,H376A68
+376A68:lA4:file|H376AB0
+376AB0:lAB:file_server|H376B04
+376B04:lAE:file_io_server|H376B68
+376B68:lA9:prim_file|N
+376A58:t3:AB:file_server,AA:start_link,N
+376C2C:lH376C34|H376C58
+376C34:t8:A5:child,P<0.15.0>,AC:global_group,H3769F4,A9:permanent,I2000,A6:worker,H376A04
+376A04:lAC:global_group|N
+3769F4:t3:AC:global_group,AA:start_link,N
+376C58:lH376C60|H376C84
+376C60:t8:A5:child,A9:undefined,A7:net_sup,H37696C,A9:permanent,A8:infinity,AA:supervisor,H37697C
+37697C:lA10:erl_distribution|N
+37696C:t3:A10:erl_distribution,AA:start_link,N
+376C84:lH376C8C|H3768A0
+376C8C:t8:A5:child,P<0.14.0>,A7:inet_db,H3768F4,A9:permanent,I2000,A6:worker,H376904
+376904:lA7:inet_db|N
+3768F4:t3:A7:inet_db,AA:start_link,N
+3768A0:lH376938|H37695C
+376938:t8:A5:child,P<0.11.0>,A12:global_name_server,H3769B0,A9:permanent,I2000,A6:worker,H3769C0
+3769C0:lA6:global|N
+3769B0:t3:A6:global,AA:start_link,N
+37695C:lH3769C8|N
+3769C8:t8:A5:child,P<0.10.0>,A3:rex,H376A38,A9:permanent,I2000,A6:worker,H376A48
+376A48:lA3:rpc|N
+376A38:t3:A3:rpc,AA:start_link,N
+376868:t2:A5:local,AA:kernel_sup
+3768D4:lAA:gen_server|H376964
+376964:lP<0.8.0>|H3769EC
+3769EC:lP<0.8.0>|H376A50
+376A50:lH376A9C|H376AA8
+376A9C:t2:A5:local,AA:kernel_sup
+376AA8:lAA:supervisor|H376AFC
+376AFC:lH376B50|H376B60
+376B50:t3:H376868,A6:kernel,N
+376B60:lN|N
+376850:t2:AD:$initial_call,H3768DC
+3768DC:t3:A3:gen,A7:init_it,H3768D4
+37685C:t2:AA:$ancestors,H3768EC
+3768EC:lP<0.8.0>|N
+=proc_dictionary:<0.10.0>
+H367A10
+H3679F4
+=proc_stack:<0.10.0>
+367cec:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A3:rpc
+y3:H367AA8
+y4:A3:rex
+y5:P<0.9.0>
+367d08:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3679C4
+=proc_heap:<0.10.0>
+367AA8:t2:I0,A3:nil
+3679C4:lAA:gen_server|H3679BC
+3679BC:lP<0.9.0>|H3679B4
+3679B4:lP<0.9.0>|H367988
+367988:lH367990|H3679AC
+367990:t2:A5:local,A3:rex
+3679AC:lA3:rpc|H3679A4
+3679A4:lN|H36799C
+36799C:lN|N
+367A10:t2:AD:$initial_call,H367A00
+367A00:t3:A3:gen,A7:init_it,H3679C4
+3679F4:t2:AA:$ancestors,H3679EC
+3679EC:lAA:kernel_sup|H3679CC
+3679CC:lP<0.8.0>|N
+=proc_dictionary:<0.11.0>
+H36ADD8
+H36ADBC
+=proc_stack:<0.11.0>
+36b0b4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A6:global
+y3:H36AF0C
+y4:A12:global_name_server
+y5:P<0.9.0>
+36b0d0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36AD8C
+=proc_heap:<0.11.0>
+36AF0C:t9:A5:state,A4:true,N,N,N,N,AD:nonode@nohost,P<0.12.0>,P<0.13.0>
+36AD8C:lAA:gen_server|H36AD84
+36AD84:lP<0.9.0>|H36AD7C
+36AD7C:lP<0.9.0>|H36AD50
+36AD50:lH36AD58|H36AD74
+36AD58:t2:A5:local,A12:global_name_server
+36AD74:lA6:global|H36AD6C
+36AD6C:lN|H36AD64
+36AD64:lN|N
+36ADD8:t2:AD:$initial_call,H36ADC8
+36ADC8:t3:A3:gen,A7:init_it,H36AD8C
+36ADBC:t2:AA:$ancestors,H36ADB4
+36ADB4:lAA:kernel_sup|H36AD94
+36AD94:lP<0.8.0>|N
+=proc_stack:<0.12.0>
+36921c:SReturn addr 0x261184 (global:init_the_locker/1 + 112)
+y0:N
+y1:N
+y2:N
+y3:N
+y4:N
+y5:N
+y6:A8:infinity
+y7:H368EB0
+y8:P<0.11.0>
+369244:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+=proc_heap:<0.12.0>
+368EB0:t3:A5:multi,A9:undefined,N
+=proc_stack:<0.13.0>
+3695d0:SReturn addr 0x2651AC (global:loop_the_deleter/1 + 36)
+y0:A8:infinity
+y1:N
+y2:P<0.11.0>
+3695e0:SReturn addr 0x2654F8 (global:'-start_the_deleter/1-fun-0-'/1 + 20)
+y0:N
+y1:N
+y2:P<0.11.0>
+3695f0:SReturn addr 0x156F90 (<terminate process normally>)
+=proc_heap:<0.13.0>
+=proc_dictionary:<0.14.0>
+H36A998
+H36A9A4
+=proc_stack:<0.14.0>
+372e0c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A7:inet_db
+y3:H36A9B0
+y4:A7:inet_db
+y5:P<0.9.0>
+372e28:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36A9C8
+=proc_heap:<0.14.0>
+36A9B0:t5:A5:state,A7:inet_db,AA:inet_cache,AA:inet_hosts,H36A9E8
+36A9E8:E21:8372000364000D6E6F6E6F6465406E6F686F737400000000060000000000000000
+36A9C8:lAA:gen_server|H36A9F8
+36A9F8:lP<0.9.0>|H36AA08
+36AA08:lP<0.9.0>|H36AA10
+36AA10:lH36AA18|H36AA24
+36AA18:t2:A5:local,A7:inet_db
+36AA24:lA7:inet_db|H36AA2C
+36AA2C:lN|H36AA34
+36AA34:lN|N
+36A998:t2:AD:$initial_call,H36A9D0
+36A9D0:t3:A3:gen,A7:init_it,H36A9C8
+36A9A4:t2:AA:$ancestors,H36A9E0
+36A9E0:lAA:kernel_sup|H36AA00
+36AA00:lP<0.8.0>|N
+=proc_dictionary:<0.15.0>
+H372788
+H3727F8
+H37276C
+H37280C
+H372820
+=proc_stack:<0.15.0>
+372a64:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AC:global_group
+y3:H3728C8
+y4:AC:global_group
+y5:P<0.9.0>
+372a80:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37273C
+=proc_heap:<0.15.0>
+3728C8:tC:A5:state,A7:no_conf,A4:true,N,N,N,N,N,AD:nonode@nohost,N,A6:normal,A6:normal
+37273C:lAA:gen_server|H372734
+372734:lP<0.9.0>|H37272C
+37272C:lP<0.9.0>|H372700
+372700:lH372708|H372724
+372708:t2:A5:local,AC:global_group
+372724:lAC:global_group|H37271C
+37271C:lN|H372714
+372714:lN|N
+372788:t2:AD:$initial_call,H372778
+372778:t3:A3:gen,A7:init_it,H37273C
+3727F8:t2:A10:registered_names,H3727F0
+3727F0:lA9:undefined|N
+37276C:t2:AA:$ancestors,H372764
+372764:lAA:kernel_sup|H372744
+372744:lP<0.8.0>|N
+37280C:t2:A4:send,H372804
+372804:lA9:undefined|N
+372820:t2:AC:whereis_name,H372818
+372818:lA9:undefined|N
+=proc_dictionary:<0.16.0>
+H37B918
+H37B924
+=proc_stack:<0.16.0>
+3d303c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AB:file_server
+y3:p<0.4>
+y4:AD:file_server_2
+y5:P<0.9.0>
+3d3058:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37B930
+=proc_heap:<0.16.0>
+37B930:lAA:gen_server|H37B950
+37B950:lP<0.9.0>|H37B960
+37B960:lP<0.9.0>|H37B968
+37B968:lH37B970|H37B97C
+37B970:t2:A5:local,AD:file_server_2
+37B97C:lAB:file_server|H37B984
+37B984:lN|H37B98C
+37B98C:lN|N
+37B918:t2:AD:$initial_call,H37B938
+37B938:t3:A3:gen,A7:init_it,H37B930
+37B924:t2:AA:$ancestors,H37B948
+37B948:lAA:kernel_sup|H37B958
+37B958:lP<0.8.0>|N
+=proc_stack:<0.17.0>
+3763cc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H376084
+y1:P<0.16.0>
+y2:P<0.9.0>
+=proc_heap:<0.17.0>
+376084:E21:8372000364000D6E6F6E6F6465406E6F686F737400000000160000000000000000
+=proc_stack:<0.18.0>
+3b98e8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H38AE84
+y1:P<0.9.0>
+=proc_heap:<0.18.0>
+38AE84:t8:A5:state,P<0.9.0>,H3873BC,H38AEB8,I9,I10,A8:no_cache,AB:interactive
+38AEB8:lH3873D4|H38AEE0
+3873D4:lI46|N
+38AEE0:lH3873EC|H38AF10
+3873EC:lI47|H387404
+387404:lI99|H387424
+387424:lI108|H38744C
+38744C:lI101|H38747C
+38747C:lI97|H3874B4
+3874B4:lI114|H3874F4
+3874F4:lI99|H38753C
+38753C:lI97|H38758C
+38758C:lI115|H3875E4
+3875E4:lI101|H387644
+387644:lI47|H3876AC
+3876AC:lI111|H38771C
+38771C:lI116|H387794
+387794:lI112|H387814
+387814:lI47|H38789C
+38789C:lI101|H38792C
+38792C:lI114|H3879BC
+3879BC:lI116|H387A54
+387A54:lI115|H387AF4
+387AF4:lI47|H387B9C
+387B9C:lI108|H387C4C
+387C4C:lI105|H387D04
+387D04:lI98|H387DC4
+387DC4:lI47|H387E8C
+387E8C:lI107|H387F5C
+387F5C:lI101|H388034
+388034:lI114|H388114
+388114:lI110|H3881FC
+3881FC:lI101|H3882EC
+3882EC:lI108|H3883E4
+3883E4:lI47|H3884E4
+3884E4:lI101|H3885EC
+3885EC:lI98|H3886FC
+3886FC:lI105|H388814
+388814:lI110|N
+38AF10:lH38740C|H38AF48
+38740C:lI47|H38742C
+38742C:lI99|H387454
+387454:lI108|H387484
+387484:lI101|H3874BC
+3874BC:lI97|H3874FC
+3874FC:lI114|H387544
+387544:lI99|H387594
+387594:lI97|H3875EC
+3875EC:lI115|H38764C
+38764C:lI101|H3876B4
+3876B4:lI47|H387724
+387724:lI111|H38779C
+38779C:lI116|H38781C
+38781C:lI112|H3878A4
+3878A4:lI47|H387934
+387934:lI101|H3879C4
+3879C4:lI114|H387A5C
+387A5C:lI116|H387AFC
+387AFC:lI115|H387BA4
+387BA4:lI47|H387C54
+387C54:lI108|H387D0C
+387D0C:lI105|H387DCC
+387DCC:lI98|H387E94
+387E94:lI47|H387F64
+387F64:lI115|H38803C
+38803C:lI116|H38811C
+38811C:lI100|H388204
+388204:lI108|H3882F4
+3882F4:lI105|H3883EC
+3883EC:lI98|H3884EC
+3884EC:lI47|H3885F4
+3885F4:lI101|H388704
+388704:lI98|H38881C
+38881C:lI105|H38892C
+38892C:lI110|N
+38AF48:lH387434|H38AF70
+387434:lI47|H38745C
+38745C:lI99|H38748C
+38748C:lI108|H3874C4
+3874C4:lI101|H387504
+387504:lI97|H38754C
+38754C:lI114|H38759C
+38759C:lI99|H3875F4
+3875F4:lI97|H387654
+387654:lI115|H3876BC
+3876BC:lI101|H38772C
+38772C:lI47|H3877A4
+3877A4:lI111|H387824
+387824:lI116|H3878AC
+3878AC:lI112|H38793C
+38793C:lI47|H3879CC
+3879CC:lI101|H387A64
+387A64:lI114|H387B04
+387B04:lI116|H387BAC
+387BAC:lI115|H387C5C
+387C5C:lI47|H387D14
+387D14:lI108|H387DD4
+387DD4:lI105|H387E9C
+387E9C:lI98|H387F6C
+387F6C:lI47|H388044
+388044:lI119|H388124
+388124:lI101|H38820C
+38820C:lI98|H3882FC
+3882FC:lI116|H3883F4
+3883F4:lI111|H3884F4
+3884F4:lI111|H3885FC
+3885FC:lI108|H38870C
+38870C:lI47|H388824
+388824:lI101|H388934
+388934:lI98|H388A44
+388A44:lI105|H388B54
+388B54:lI110|N
+38AF70:lH387464|H38AF98
+387464:lI47|H387494
+387494:lI99|H3874CC
+3874CC:lI108|H38750C
+38750C:lI101|H387554
+387554:lI97|H3875A4
+3875A4:lI114|H3875FC
+3875FC:lI99|H38765C
+38765C:lI97|H3876C4
+3876C4:lI115|H387734
+387734:lI101|H3877AC
+3877AC:lI47|H38782C
+38782C:lI111|H3878B4
+3878B4:lI116|H387944
+387944:lI112|H3879D4
+3879D4:lI47|H387A6C
+387A6C:lI101|H387B0C
+387B0C:lI114|H387BB4
+387BB4:lI116|H387C64
+387C64:lI115|H387D1C
+387D1C:lI47|H387DDC
+387DDC:lI108|H387EA4
+387EA4:lI105|H387F74
+387F74:lI98|H38804C
+38804C:lI47|H38812C
+38812C:lI116|H388214
+388214:lI118|H388304
+388304:lI47|H3883FC
+3883FC:lI101|H3884FC
+3884FC:lI98|H388604
+388604:lI105|H388714
+388714:lI110|N
+38AF98:lH38749C|H38AFC0
+38749C:lI47|H3874D4
+3874D4:lI99|H387514
+387514:lI108|H38755C
+38755C:lI101|H3875AC
+3875AC:lI97|H387604
+387604:lI114|H387664
+387664:lI99|H3876CC
+3876CC:lI97|H38773C
+38773C:lI115|H3877B4
+3877B4:lI101|H387834
+387834:lI47|H3878BC
+3878BC:lI111|H38794C
+38794C:lI116|H3879DC
+3879DC:lI112|H387A74
+387A74:lI47|H387B14
+387B14:lI101|H387BBC
+387BBC:lI114|H387C6C
+387C6C:lI116|H387D24
+387D24:lI115|H387DE4
+387DE4:lI47|H387EAC
+387EAC:lI108|H387F7C
+387F7C:lI105|H388054
+388054:lI98|H388134
+388134:lI47|H38821C
+38821C:lI116|H38830C
+38830C:lI115|H388404
+388404:lI112|H388504
+388504:lI47|H38860C
+38860C:lI101|H38871C
+38871C:lI98|H38882C
+38882C:lI105|H38893C
+38893C:lI110|N
+38AFC0:lH3874DC|H38AFE8
+3874DC:lI47|H38751C
+38751C:lI99|H387564
+387564:lI108|H3875B4
+3875B4:lI101|H38760C
+38760C:lI97|H38766C
+38766C:lI114|H3876D4
+3876D4:lI99|H387744
+387744:lI97|H3877BC
+3877BC:lI115|H38783C
+38783C:lI101|H3878C4
+3878C4:lI47|H387954
+387954:lI111|H3879E4
+3879E4:lI116|H387A7C
+387A7C:lI112|H387B1C
+387B1C:lI47|H387BC4
+387BC4:lI101|H387C74
+387C74:lI114|H387D2C
+387D2C:lI116|H387DEC
+387DEC:lI115|H387EB4
+387EB4:lI47|H387F84
+387F84:lI108|H38805C
+38805C:lI105|H38813C
+38813C:lI98|H388224
+388224:lI47|H388314
+388314:lI116|H38840C
+38840C:lI111|H38850C
+38850C:lI111|H388614
+388614:lI108|H388724
+388724:lI115|H388834
+388834:lI47|H388944
+388944:lI101|H388A4C
+388A4C:lI98|H388B5C
+388B5C:lI105|H388C6C
+388C6C:lI110|N
+38AFE8:lH387524|H38B008
+387524:lI47|H38756C
+38756C:lI99|H3875BC
+3875BC:lI108|H387614
+387614:lI101|H387674
+387674:lI97|H3876DC
+3876DC:lI114|H38774C
+38774C:lI99|H3877C4
+3877C4:lI97|H387844
+387844:lI115|H3878CC
+3878CC:lI101|H38795C
+38795C:lI47|H3879EC
+3879EC:lI111|H387A84
+387A84:lI116|H387B24
+387B24:lI112|H387BCC
+387BCC:lI47|H387C7C
+387C7C:lI101|H387D34
+387D34:lI114|H387DF4
+387DF4:lI116|H387EBC
+387EBC:lI115|H387F8C
+387F8C:lI47|H388064
+388064:lI108|H388144
+388144:lI105|H38822C
+38822C:lI98|H38831C
+38831C:lI47|H388414
+388414:lI116|H388514
+388514:lI111|H38861C
+38861C:lI111|H38872C
+38872C:lI108|H38883C
+38883C:lI98|H38894C
+38894C:lI97|H388A54
+388A54:lI114|H388B64
+388B64:lI47|H388C74
+388C74:lI101|H388D84
+388D84:lI98|H388E9C
+388E9C:lI105|H388FB4
+388FB4:lI110|N
+38B008:lH387574|H38B018
+387574:lI47|H3875C4
+3875C4:lI99|H38761C
+38761C:lI108|H38767C
+38767C:lI101|H3876E4
+3876E4:lI97|H387754
+387754:lI114|H3877CC
+3877CC:lI99|H38784C
+38784C:lI97|H3878D4
+3878D4:lI115|H387964
+387964:lI101|H3879F4
+3879F4:lI47|H387A8C
+387A8C:lI111|H387B2C
+387B2C:lI116|H387BD4
+387BD4:lI112|H387C84
+387C84:lI47|H387D3C
+387D3C:lI101|H387DFC
+387DFC:lI114|H387EC4
+387EC4:lI116|H387F94
+387F94:lI115|H38806C
+38806C:lI47|H38814C
+38814C:lI108|H388234
+388234:lI105|H388324
+388324:lI98|H38841C
+38841C:lI47|H38851C
+38851C:lI116|H388624
+388624:lI101|H388734
+388734:lI115|H388844
+388844:lI116|H388954
+388954:lI95|H388A5C
+388A5C:lI115|H388B6C
+388B6C:lI101|H388C7C
+388C7C:lI114|H388D8C
+388D8C:lI118|H388EA4
+388EA4:lI101|H388FBC
+388FBC:lI114|H3890D4
+3890D4:lI47|H3891EC
+3891EC:lI101|H3892FC
+3892FC:lI98|H38940C
+38940C:lI105|H38951C
+38951C:lI110|N
+38B018:lH3875CC|H38AE7C
+3875CC:lI47|H387624
+387624:lI99|H387684
+387684:lI108|H3876EC
+3876EC:lI101|H38775C
+38775C:lI97|H3877D4
+3877D4:lI114|H387854
+387854:lI99|H3878DC
+3878DC:lI97|H38796C
+38796C:lI115|H3879FC
+3879FC:lI101|H387A94
+387A94:lI47|H387B34
+387B34:lI111|H387BDC
+387BDC:lI116|H387C8C
+387C8C:lI112|H387D44
+387D44:lI47|H387E04
+387E04:lI101|H387ECC
+387ECC:lI114|H387F9C
+387F9C:lI116|H388074
+388074:lI115|H388154
+388154:lI47|H38823C
+38823C:lI108|H38832C
+38832C:lI105|H388424
+388424:lI98|H388524
+388524:lI47|H38862C
+38862C:lI115|H38873C
+38873C:lI115|H38884C
+38884C:lI108|H38895C
+38895C:lI47|H388A64
+388A64:lI101|H388B74
+388B74:lI98|H388C84
+388C84:lI105|H388D94
+388D94:lI110|N
+38AE7C:lH38762C|H38AEB0
+38762C:lI47|H38768C
+38768C:lI99|H3876F4
+3876F4:lI108|H387764
+387764:lI101|H3877DC
+3877DC:lI97|H38785C
+38785C:lI114|H3878E4
+3878E4:lI99|H387974
+387974:lI97|H387A04
+387A04:lI115|H387A9C
+387A9C:lI101|H387B3C
+387B3C:lI47|H387BE4
+387BE4:lI111|H387C94
+387C94:lI116|H387D4C
+387D4C:lI112|H387E0C
+387E0C:lI47|H387ED4
+387ED4:lI101|H387FA4
+387FA4:lI114|H38807C
+38807C:lI116|H38815C
+38815C:lI115|H388244
+388244:lI47|H388334
+388334:lI108|H38842C
+38842C:lI105|H38852C
+38852C:lI98|H388634
+388634:lI47|H388744
+388744:lI115|H388854
+388854:lI110|H388964
+388964:lI109|H388A6C
+388A6C:lI112|H388B7C
+388B7C:lI47|H388C8C
+388C8C:lI101|H388D9C
+388D9C:lI98|H388EAC
+388EAC:lI105|H388FC4
+388FC4:lI110|N
+38AEB0:lH387694|H38AED8
+387694:lI47|H3876FC
+3876FC:lI99|H38776C
+38776C:lI108|H3877E4
+3877E4:lI101|H387864
+387864:lI97|H3878EC
+3878EC:lI114|H38797C
+38797C:lI99|H387A0C
+387A0C:lI97|H387AA4
+387AA4:lI115|H387B44
+387B44:lI101|H387BEC
+387BEC:lI47|H387C9C
+387C9C:lI111|H387D54
+387D54:lI116|H387E14
+387E14:lI112|H387EDC
+387EDC:lI47|H387FAC
+387FAC:lI101|H388084
+388084:lI114|H388164
+388164:lI116|H38824C
+38824C:lI115|H38833C
+38833C:lI47|H388434
+388434:lI108|H388534
+388534:lI105|H38863C
+38863C:lI98|H38874C
+38874C:lI47|H38885C
+38885C:lI115|H38896C
+38896C:lI97|H388A74
+388A74:lI115|H388B84
+388B84:lI108|H388C94
+388C94:lI47|H388DA4
+388DA4:lI101|H388EB4
+388EB4:lI98|H388FCC
+388FCC:lI105|H3890DC
+3890DC:lI110|N
+38AED8:lH387704|H38AF08
+387704:lI47|H387774
+387774:lI99|H3877EC
+3877EC:lI108|H38786C
+38786C:lI101|H3878F4
+3878F4:lI97|H387984
+387984:lI114|H387A14
+387A14:lI99|H387AAC
+387AAC:lI97|H387B4C
+387B4C:lI115|H387BF4
+387BF4:lI101|H387CA4
+387CA4:lI47|H387D5C
+387D5C:lI111|H387E1C
+387E1C:lI116|H387EE4
+387EE4:lI112|H387FB4
+387FB4:lI47|H38808C
+38808C:lI101|H38816C
+38816C:lI114|H388254
+388254:lI116|H388344
+388344:lI115|H38843C
+38843C:lI47|H38853C
+38853C:lI108|H388644
+388644:lI105|H388754
+388754:lI98|H388864
+388864:lI47|H388974
+388974:lI114|H388A7C
+388A7C:lI117|H388B8C
+388B8C:lI110|H388C9C
+388C9C:lI116|H388DAC
+388DAC:lI105|H388EBC
+388EBC:lI109|H388FD4
+388FD4:lI101|H3890E4
+3890E4:lI95|H3891F4
+3891F4:lI116|H389304
+389304:lI111|H389414
+389414:lI111|H389524
+389524:lI108|H389624
+389624:lI115|H38971C
+38971C:lI47|H389814
+389814:lI101|H38990C
+38990C:lI98|H389A04
+389A04:lI105|H389AE4
+389AE4:lI110|N
+38AF08:lH38777C|H38AF40
+38777C:lI47|H3877F4
+3877F4:lI99|H387874
+387874:lI108|H3878FC
+3878FC:lI101|H38798C
+38798C:lI97|H387A1C
+387A1C:lI114|H387AB4
+387AB4:lI99|H387B54
+387B54:lI97|H387BFC
+387BFC:lI115|H387CAC
+387CAC:lI101|H387D64
+387D64:lI47|H387E24
+387E24:lI111|H387EEC
+387EEC:lI116|H387FBC
+387FBC:lI112|H388094
+388094:lI47|H388174
+388174:lI101|H38825C
+38825C:lI114|H38834C
+38834C:lI116|H388444
+388444:lI115|H388544
+388544:lI47|H38864C
+38864C:lI108|H38875C
+38875C:lI105|H38886C
+38886C:lI98|H38897C
+38897C:lI47|H388A84
+388A84:lI114|H388B94
+388B94:lI115|H388CA4
+388CA4:lI104|H388DB4
+388DB4:lI101|H388EC4
+388EC4:lI108|H388FDC
+388FDC:lI108|H3890EC
+3890EC:lI47|H3891FC
+3891FC:lI101|H38930C
+38930C:lI98|H38941C
+38941C:lI105|H38952C
+38952C:lI110|N
+38AF40:lH3877FC|H38AF68
+3877FC:lI47|H38787C
+38787C:lI99|H387904
+387904:lI108|H387994
+387994:lI101|H387A24
+387A24:lI97|H387ABC
+387ABC:lI114|H387B5C
+387B5C:lI99|H387C04
+387C04:lI97|H387CB4
+387CB4:lI115|H387D6C
+387D6C:lI101|H387E2C
+387E2C:lI47|H387EF4
+387EF4:lI111|H387FC4
+387FC4:lI116|H38809C
+38809C:lI112|H38817C
+38817C:lI47|H388264
+388264:lI101|H388354
+388354:lI114|H38844C
+38844C:lI116|H38854C
+38854C:lI115|H388654
+388654:lI47|H388764
+388764:lI108|H388874
+388874:lI105|H388984
+388984:lI98|H388A8C
+388A8C:lI47|H388B9C
+388B9C:lI112|H388CAC
+388CAC:lI109|H388DBC
+388DBC:lI97|H388ECC
+388ECC:lI110|H388FE4
+388FE4:lI47|H3890F4
+3890F4:lI101|H389204
+389204:lI98|H389314
+389314:lI105|H389424
+389424:lI110|N
+38AF68:lH387884|H38AF90
+387884:lI47|H38790C
+38790C:lI99|H38799C
+38799C:lI108|H387A2C
+387A2C:lI101|H387AC4
+387AC4:lI97|H387B64
+387B64:lI114|H387C0C
+387C0C:lI99|H387CBC
+387CBC:lI97|H387D74
+387D74:lI115|H387E34
+387E34:lI101|H387EFC
+387EFC:lI47|H387FCC
+387FCC:lI111|H3880A4
+3880A4:lI116|H388184
+388184:lI112|H38826C
+38826C:lI47|H38835C
+38835C:lI101|H388454
+388454:lI114|H388554
+388554:lI116|H38865C
+38865C:lI115|H38876C
+38876C:lI47|H38887C
+38887C:lI108|H38898C
+38898C:lI105|H388A94
+388A94:lI98|H388BA4
+388BA4:lI47|H388CB4
+388CB4:lI112|H388DC4
+388DC4:lI97|H388ED4
+388ED4:lI114|H388FEC
+388FEC:lI115|H3890FC
+3890FC:lI101|H38920C
+38920C:lI116|H38931C
+38931C:lI111|H38942C
+38942C:lI111|H389534
+389534:lI108|H38962C
+38962C:lI115|H389724
+389724:lI47|H38981C
+38981C:lI101|H389914
+389914:lI98|H389A0C
+389A0C:lI105|H389AEC
+389AEC:lI110|N
+38AF90:lH387914|H38AFB8
+387914:lI47|H3879A4
+3879A4:lI99|H387A34
+387A34:lI108|H387ACC
+387ACC:lI101|H387B6C
+387B6C:lI97|H387C14
+387C14:lI114|H387CC4
+387CC4:lI99|H387D7C
+387D7C:lI97|H387E3C
+387E3C:lI115|H387F04
+387F04:lI101|H387FD4
+387FD4:lI47|H3880AC
+3880AC:lI111|H38818C
+38818C:lI116|H388274
+388274:lI112|H388364
+388364:lI47|H38845C
+38845C:lI101|H38855C
+38855C:lI114|H388664
+388664:lI116|H388774
+388774:lI115|H388884
+388884:lI47|H388994
+388994:lI108|H388A9C
+388A9C:lI105|H388BAC
+388BAC:lI98|H388CBC
+388CBC:lI47|H388DCC
+388DCC:lI111|H388EDC
+388EDC:lI116|H388FF4
+388FF4:lI112|H389104
+389104:lI95|H389214
+389214:lI109|H389324
+389324:lI105|H389434
+389434:lI98|H38953C
+38953C:lI115|H389634
+389634:lI47|H38972C
+38972C:lI101|H389824
+389824:lI98|H38991C
+38991C:lI105|H389A14
+389A14:lI110|N
+38AFB8:lH3879AC|H38AFE0
+3879AC:lI47|H387A3C
+387A3C:lI99|H387AD4
+387AD4:lI108|H387B74
+387B74:lI101|H387C1C
+387C1C:lI97|H387CCC
+387CCC:lI114|H387D84
+387D84:lI99|H387E44
+387E44:lI97|H387F0C
+387F0C:lI115|H387FDC
+387FDC:lI101|H3880B4
+3880B4:lI47|H388194
+388194:lI111|H38827C
+38827C:lI116|H38836C
+38836C:lI112|H388464
+388464:lI47|H388564
+388564:lI101|H38866C
+38866C:lI114|H38877C
+38877C:lI116|H38888C
+38888C:lI115|H38899C
+38899C:lI47|H388AA4
+388AA4:lI108|H388BB4
+388BB4:lI105|H388CC4
+388CC4:lI98|H388DD4
+388DD4:lI47|H388EE4
+388EE4:lI111|H388FFC
+388FFC:lI115|H38910C
+38910C:lI95|H38921C
+38921C:lI109|H38932C
+38932C:lI111|H38943C
+38943C:lI110|H389544
+389544:lI47|H38963C
+38963C:lI101|H389734
+389734:lI98|H38982C
+38982C:lI105|H389924
+389924:lI110|N
+38AFE0:lH387A44|H38B000
+387A44:lI47|H387ADC
+387ADC:lI99|H387B7C
+387B7C:lI108|H387C24
+387C24:lI101|H387CD4
+387CD4:lI97|H387D8C
+387D8C:lI114|H387E4C
+387E4C:lI99|H387F14
+387F14:lI97|H387FE4
+387FE4:lI115|H3880BC
+3880BC:lI101|H38819C
+38819C:lI47|H388284
+388284:lI111|H388374
+388374:lI116|H38846C
+38846C:lI112|H38856C
+38856C:lI47|H388674
+388674:lI101|H388784
+388784:lI114|H388894
+388894:lI116|H3889A4
+3889A4:lI115|H388AAC
+388AAC:lI47|H388BBC
+388BBC:lI108|H388CCC
+388CCC:lI105|H388DDC
+388DDC:lI98|H388EEC
+388EEC:lI47|H389004
+389004:lI111|H389114
+389114:lI114|H389224
+389224:lI98|H389334
+389334:lI101|H389444
+389444:lI114|H38954C
+38954C:lI47|H389644
+389644:lI101|H38973C
+38973C:lI98|H389834
+389834:lI105|H38992C
+38992C:lI110|N
+38B000:lH387AE4|H38B010
+387AE4:lI47|H387B84
+387B84:lI99|H387C2C
+387C2C:lI108|H387CDC
+387CDC:lI101|H387D94
+387D94:lI97|H387E54
+387E54:lI114|H387F1C
+387F1C:lI99|H387FEC
+387FEC:lI97|H3880C4
+3880C4:lI115|H3881A4
+3881A4:lI101|H38828C
+38828C:lI47|H38837C
+38837C:lI111|H388474
+388474:lI116|H388574
+388574:lI112|H38867C
+38867C:lI47|H38878C
+38878C:lI101|H38889C
+38889C:lI114|H3889AC
+3889AC:lI116|H388AB4
+388AB4:lI115|H388BC4
+388BC4:lI47|H388CD4
+388CD4:lI108|H388DE4
+388DE4:lI105|H388EF4
+388EF4:lI98|H38900C
+38900C:lI47|H38911C
+38911C:lI111|H38922C
+38922C:lI100|H38933C
+38933C:lI98|H38944C
+38944C:lI99|H389554
+389554:lI47|H38964C
+38964C:lI101|H389744
+389744:lI98|H38983C
+38983C:lI105|H389934
+389934:lI110|N
+38B010:lH387B8C|H38B020
+387B8C:lI47|H387C34
+387C34:lI99|H387CE4
+387CE4:lI108|H387D9C
+387D9C:lI101|H387E5C
+387E5C:lI97|H387F24
+387F24:lI114|H387FF4
+387FF4:lI99|H3880CC
+3880CC:lI97|H3881AC
+3881AC:lI115|H388294
+388294:lI101|H388384
+388384:lI47|H38847C
+38847C:lI111|H38857C
+38857C:lI116|H388684
+388684:lI112|H388794
+388794:lI47|H3888A4
+3888A4:lI101|H3889B4
+3889B4:lI114|H388ABC
+388ABC:lI116|H388BCC
+388BCC:lI115|H388CDC
+388CDC:lI47|H388DEC
+388DEC:lI108|H388EFC
+388EFC:lI105|H389014
+389014:lI98|H389124
+389124:lI47|H389234
+389234:lI111|H389344
+389344:lI98|H389454
+389454:lI115|H38955C
+38955C:lI101|H389654
+389654:lI114|H38974C
+38974C:lI118|H389844
+389844:lI101|H38993C
+38993C:lI114|H389A1C
+389A1C:lI47|H389AF4
+389AF4:lI101|H389BBC
+389BBC:lI98|H389C84
+389C84:lI105|H389D4C
+389D4C:lI110|N
+38B020:lH387C3C|H38B028
+387C3C:lI47|H387CEC
+387CEC:lI99|H387DA4
+387DA4:lI108|H387E64
+387E64:lI101|H387F2C
+387F2C:lI97|H387FFC
+387FFC:lI114|H3880D4
+3880D4:lI99|H3881B4
+3881B4:lI97|H38829C
+38829C:lI115|H38838C
+38838C:lI101|H388484
+388484:lI47|H388584
+388584:lI111|H38868C
+38868C:lI116|H38879C
+38879C:lI112|H3888AC
+3888AC:lI47|H3889BC
+3889BC:lI101|H388AC4
+388AC4:lI114|H388BD4
+388BD4:lI116|H388CE4
+388CE4:lI115|H388DF4
+388DF4:lI47|H388F04
+388F04:lI108|H38901C
+38901C:lI105|H38912C
+38912C:lI98|H38923C
+38923C:lI47|H38934C
+38934C:lI109|H38945C
+38945C:lI110|H389564
+389564:lI101|H38965C
+38965C:lI115|H389754
+389754:lI105|H38984C
+38984C:lI97|H389944
+389944:lI95|H389A24
+389A24:lI115|H389AFC
+389AFC:lI101|H389BC4
+389BC4:lI115|H389C8C
+389C8C:lI115|H389D54
+389D54:lI105|H389E14
+389E14:lI111|H389ECC
+389ECC:lI110|H389F7C
+389F7C:lI47|H38A01C
+38A01C:lI101|H38A0AC
+38A0AC:lI98|H38A12C
+38A12C:lI105|H38A19C
+38A19C:lI110|N
+38B028:lH387CF4|H38B030
+387CF4:lI47|H387DAC
+387DAC:lI99|H387E6C
+387E6C:lI108|H387F34
+387F34:lI101|H388004
+388004:lI97|H3880DC
+3880DC:lI114|H3881BC
+3881BC:lI99|H3882A4
+3882A4:lI97|H388394
+388394:lI115|H38848C
+38848C:lI101|H38858C
+38858C:lI47|H388694
+388694:lI111|H3887A4
+3887A4:lI116|H3888B4
+3888B4:lI112|H3889C4
+3889C4:lI47|H388ACC
+388ACC:lI101|H388BDC
+388BDC:lI114|H388CEC
+388CEC:lI116|H388DFC
+388DFC:lI115|H388F0C
+388F0C:lI47|H389024
+389024:lI108|H389134
+389134:lI105|H389244
+389244:lI98|H389354
+389354:lI47|H389464
+389464:lI109|H38956C
+38956C:lI110|H389664
+389664:lI101|H38975C
+38975C:lI115|H389854
+389854:lI105|H38994C
+38994C:lI97|H389A2C
+389A2C:lI47|H389B04
+389B04:lI101|H389BCC
+389BCC:lI98|H389C94
+389C94:lI105|H389D5C
+389D5C:lI110|N
+38B030:lH387DB4|H38B038
+387DB4:lI47|H387E74
+387E74:lI99|H387F3C
+387F3C:lI108|H38800C
+38800C:lI101|H3880E4
+3880E4:lI97|H3881C4
+3881C4:lI114|H3882AC
+3882AC:lI99|H38839C
+38839C:lI97|H388494
+388494:lI115|H388594
+388594:lI101|H38869C
+38869C:lI47|H3887AC
+3887AC:lI111|H3888BC
+3888BC:lI116|H3889CC
+3889CC:lI112|H388AD4
+388AD4:lI47|H388BE4
+388BE4:lI101|H388CF4
+388CF4:lI114|H388E04
+388E04:lI116|H388F14
+388F14:lI115|H38902C
+38902C:lI47|H38913C
+38913C:lI108|H38924C
+38924C:lI105|H38935C
+38935C:lI98|H38946C
+38946C:lI47|H389574
+389574:lI109|H38966C
+38966C:lI110|H389764
+389764:lI101|H38985C
+38985C:lI109|H389954
+389954:lI111|H389A34
+389A34:lI115|H389B0C
+389B0C:lI121|H389BD4
+389BD4:lI110|H389C9C
+389C9C:lI101|H389D64
+389D64:lI47|H389E1C
+389E1C:lI101|H389ED4
+389ED4:lI98|H389F84
+389F84:lI105|H38A024
+38A024:lI110|N
+38B038:lH387E7C|H38B040
+387E7C:lI47|H387F44
+387F44:lI99|H388014
+388014:lI108|H3880EC
+3880EC:lI101|H3881CC
+3881CC:lI97|H3882B4
+3882B4:lI114|H3883A4
+3883A4:lI99|H38849C
+38849C:lI97|H38859C
+38859C:lI115|H3886A4
+3886A4:lI101|H3887B4
+3887B4:lI47|H3888C4
+3888C4:lI111|H3889D4
+3889D4:lI116|H388ADC
+388ADC:lI112|H388BEC
+388BEC:lI47|H388CFC
+388CFC:lI101|H388E0C
+388E0C:lI114|H388F1C
+388F1C:lI116|H389034
+389034:lI115|H389144
+389144:lI47|H389254
+389254:lI108|H389364
+389364:lI105|H389474
+389474:lI98|H38957C
+38957C:lI47|H389674
+389674:lI109|H38976C
+38976C:lI101|H389864
+389864:lI103|H38995C
+38995C:lI97|H389A3C
+389A3C:lI99|H389B14
+389B14:lI111|H389BDC
+389BDC:lI47|H389CA4
+389CA4:lI101|H389D6C
+389D6C:lI98|H389E24
+389E24:lI105|H389EDC
+389EDC:lI110|N
+38B040:lH387F4C|H38B048
+387F4C:lI47|H38801C
+38801C:lI99|H3880F4
+3880F4:lI108|H3881D4
+3881D4:lI101|H3882BC
+3882BC:lI97|H3883AC
+3883AC:lI114|H3884A4
+3884A4:lI99|H3885A4
+3885A4:lI97|H3886AC
+3886AC:lI115|H3887BC
+3887BC:lI101|H3888CC
+3888CC:lI47|H3889DC
+3889DC:lI111|H388AE4
+388AE4:lI116|H388BF4
+388BF4:lI112|H388D04
+388D04:lI47|H388E14
+388E14:lI101|H388F24
+388F24:lI114|H38903C
+38903C:lI116|H38914C
+38914C:lI115|H38925C
+38925C:lI47|H38936C
+38936C:lI108|H38947C
+38947C:lI105|H389584
+389584:lI98|H38967C
+38967C:lI47|H389774
+389774:lI106|H38986C
+38986C:lI105|H389964
+389964:lI110|H389A44
+389A44:lI116|H389B1C
+389B1C:lI101|H389BE4
+389BE4:lI114|H389CAC
+389CAC:lI102|H389D74
+389D74:lI97|H389E2C
+389E2C:lI99|H389EE4
+389EE4:lI101|N
+38B048:lH388024|H38B050
+388024:lI47|H3880FC
+3880FC:lI99|H3881DC
+3881DC:lI108|H3882C4
+3882C4:lI101|H3883B4
+3883B4:lI97|H3884AC
+3884AC:lI114|H3885AC
+3885AC:lI99|H3886B4
+3886B4:lI97|H3887C4
+3887C4:lI115|H3888D4
+3888D4:lI101|H3889E4
+3889E4:lI47|H388AEC
+388AEC:lI111|H388BFC
+388BFC:lI116|H388D0C
+388D0C:lI112|H388E1C
+388E1C:lI47|H388F2C
+388F2C:lI101|H389044
+389044:lI114|H389154
+389154:lI116|H389264
+389264:lI115|H389374
+389374:lI47|H389484
+389484:lI108|H38958C
+38958C:lI105|H389684
+389684:lI98|H38977C
+38977C:lI47|H389874
+389874:lI105|H38996C
+38996C:lI110|H389A4C
+389A4C:lI101|H389B24
+389B24:lI116|H389BEC
+389BEC:lI115|H389CB4
+389CB4:lI47|H389D7C
+389D7C:lI101|H389E34
+389E34:lI98|H389EEC
+389EEC:lI105|H389F8C
+389F8C:lI110|N
+38B050:lH388104|H38B058
+388104:lI47|H3881E4
+3881E4:lI99|H3882CC
+3882CC:lI108|H3883BC
+3883BC:lI101|H3884B4
+3884B4:lI97|H3885B4
+3885B4:lI114|H3886BC
+3886BC:lI99|H3887CC
+3887CC:lI97|H3888DC
+3888DC:lI115|H3889EC
+3889EC:lI101|H388AF4
+388AF4:lI47|H388C04
+388C04:lI111|H388D14
+388D14:lI116|H388E24
+388E24:lI112|H388F34
+388F34:lI47|H38904C
+38904C:lI101|H38915C
+38915C:lI114|H38926C
+38926C:lI116|H38937C
+38937C:lI115|H38948C
+38948C:lI47|H389594
+389594:lI108|H38968C
+38968C:lI105|H389784
+389784:lI98|H38987C
+38987C:lI47|H389974
+389974:lI105|H389A54
+389A54:lI99|H389B2C
+389B2C:lI47|H389BF4
+389BF4:lI101|H389CBC
+389CBC:lI98|H389D84
+389D84:lI105|H389E3C
+389E3C:lI110|N
+38B058:lH3881EC|H38B060
+3881EC:lI47|H3882D4
+3882D4:lI99|H3883C4
+3883C4:lI108|H3884BC
+3884BC:lI101|H3885BC
+3885BC:lI97|H3886C4
+3886C4:lI114|H3887D4
+3887D4:lI99|H3888E4
+3888E4:lI97|H3889F4
+3889F4:lI115|H388AFC
+388AFC:lI101|H388C0C
+388C0C:lI47|H388D1C
+388D1C:lI111|H388E2C
+388E2C:lI116|H388F3C
+388F3C:lI112|H389054
+389054:lI47|H389164
+389164:lI101|H389274
+389274:lI114|H389384
+389384:lI116|H389494
+389494:lI115|H38959C
+38959C:lI47|H389694
+389694:lI108|H38978C
+38978C:lI105|H389884
+389884:lI98|H38997C
+38997C:lI47|H389A5C
+389A5C:lI104|H389B34
+389B34:lI105|H389BFC
+389BFC:lI112|H389CC4
+389CC4:lI101|H389D8C
+389D8C:lI47|H389E44
+389E44:lI101|H389EF4
+389EF4:lI98|H389F94
+389F94:lI105|H38A02C
+38A02C:lI110|N
+38B060:lH3882DC|H38B068
+3882DC:lI47|H3883CC
+3883CC:lI99|H3884C4
+3884C4:lI108|H3885C4
+3885C4:lI101|H3886CC
+3886CC:lI97|H3887DC
+3887DC:lI114|H3888EC
+3888EC:lI99|H3889FC
+3889FC:lI97|H388B04
+388B04:lI115|H388C14
+388C14:lI101|H388D24
+388D24:lI47|H388E34
+388E34:lI111|H388F44
+388F44:lI116|H38905C
+38905C:lI112|H38916C
+38916C:lI47|H38927C
+38927C:lI101|H38938C
+38938C:lI114|H38949C
+38949C:lI116|H3895A4
+3895A4:lI115|H38969C
+38969C:lI47|H389794
+389794:lI108|H38988C
+38988C:lI105|H389984
+389984:lI98|H389A64
+389A64:lI47|H389B3C
+389B3C:lI103|H389C04
+389C04:lI115|H389CCC
+389CCC:lI47|H389D94
+389D94:lI101|H389E4C
+389E4C:lI98|H389EFC
+389EFC:lI105|H389F9C
+389F9C:lI110|N
+38B068:lH3883D4|H38B070
+3883D4:lI47|H3884CC
+3884CC:lI99|H3885CC
+3885CC:lI108|H3886D4
+3886D4:lI101|H3887E4
+3887E4:lI97|H3888F4
+3888F4:lI114|H388A04
+388A04:lI99|H388B0C
+388B0C:lI97|H388C1C
+388C1C:lI115|H388D2C
+388D2C:lI101|H388E3C
+388E3C:lI47|H388F4C
+388F4C:lI111|H389064
+389064:lI116|H389174
+389174:lI112|H389284
+389284:lI47|H389394
+389394:lI101|H3894A4
+3894A4:lI114|H3895AC
+3895AC:lI116|H3896A4
+3896A4:lI115|H38979C
+38979C:lI47|H389894
+389894:lI108|H38998C
+38998C:lI105|H389A6C
+389A6C:lI98|H389B44
+389B44:lI47|H389C0C
+389C0C:lI101|H389CD4
+389CD4:lI118|H389D9C
+389D9C:lI97|H389E54
+389E54:lI47|H389F04
+389F04:lI101|H389FA4
+389FA4:lI98|H38A034
+38A034:lI105|H38A0B4
+38A0B4:lI110|N
+38B070:lH3884D4|H38B078
+3884D4:lI47|H3885D4
+3885D4:lI99|H3886DC
+3886DC:lI108|H3887EC
+3887EC:lI101|H3888FC
+3888FC:lI97|H388A0C
+388A0C:lI114|H388B14
+388B14:lI99|H388C24
+388C24:lI97|H388D34
+388D34:lI115|H388E44
+388E44:lI101|H388F54
+388F54:lI47|H38906C
+38906C:lI111|H38917C
+38917C:lI116|H38928C
+38928C:lI112|H38939C
+38939C:lI47|H3894AC
+3894AC:lI101|H3895B4
+3895B4:lI114|H3896AC
+3896AC:lI116|H3897A4
+3897A4:lI115|H38989C
+38989C:lI47|H389994
+389994:lI108|H389A74
+389A74:lI105|H389B4C
+389B4C:lI98|H389C14
+389C14:lI47|H389CDC
+389CDC:lI101|H389DA4
+389DA4:lI116|H389E5C
+389E5C:lI47|H389F0C
+389F0C:lI101|H389FAC
+389FAC:lI98|H38A03C
+38A03C:lI105|H38A0BC
+38A0BC:lI110|N
+38B078:lH3885DC|H38B080
+3885DC:lI47|H3886E4
+3886E4:lI99|H3887F4
+3887F4:lI108|H388904
+388904:lI101|H388A14
+388A14:lI97|H388B1C
+388B1C:lI114|H388C2C
+388C2C:lI99|H388D3C
+388D3C:lI97|H388E4C
+388E4C:lI115|H388F5C
+388F5C:lI101|H389074
+389074:lI47|H389184
+389184:lI111|H389294
+389294:lI116|H3893A4
+3893A4:lI112|H3894B4
+3894B4:lI47|H3895BC
+3895BC:lI101|H3896B4
+3896B4:lI114|H3897AC
+3897AC:lI116|H3898A4
+3898A4:lI115|H38999C
+38999C:lI47|H389A7C
+389A7C:lI108|H389B54
+389B54:lI105|H389C1C
+389C1C:lI98|H389CE4
+389CE4:lI47|H389DAC
+389DAC:lI101|H389E64
+389E64:lI114|H389F14
+389F14:lI108|H389FB4
+389FB4:lI95|H38A044
+38A044:lI105|H38A0C4
+38A0C4:lI110|H38A134
+38A134:lI116|H38A1A4
+38A1A4:lI101|H38A20C
+38A20C:lI114|H38A274
+38A274:lI102|H38A2DC
+38A2DC:lI97|H38A344
+38A344:lI99|H38A3AC
+38A3AC:lI101|N
+38B080:lH3886EC|H38B088
+3886EC:lI47|H3887FC
+3887FC:lI99|H38890C
+38890C:lI108|H388A1C
+388A1C:lI101|H388B24
+388B24:lI97|H388C34
+388C34:lI114|H388D44
+388D44:lI99|H388E54
+388E54:lI97|H388F64
+388F64:lI115|H38907C
+38907C:lI101|H38918C
+38918C:lI47|H38929C
+38929C:lI111|H3893AC
+3893AC:lI116|H3894BC
+3894BC:lI112|H3895C4
+3895C4:lI47|H3896BC
+3896BC:lI101|H3897B4
+3897B4:lI114|H3898AC
+3898AC:lI116|H3899A4
+3899A4:lI115|H389A84
+389A84:lI47|H389B5C
+389B5C:lI108|H389C24
+389C24:lI105|H389CEC
+389CEC:lI98|H389DB4
+389DB4:lI47|H389E6C
+389E6C:lI100|H389F1C
+389F1C:lI101|H389FBC
+389FBC:lI98|H38A04C
+38A04C:lI117|H38A0CC
+38A0CC:lI103|H38A13C
+38A13C:lI103|H38A1AC
+38A1AC:lI101|H38A214
+38A214:lI114|H38A27C
+38A27C:lI47|H38A2E4
+38A2E4:lI101|H38A34C
+38A34C:lI98|H38A3B4
+38A3B4:lI105|H38A414
+38A414:lI110|N
+38B088:lH388804|H38B090
+388804:lI47|H388914
+388914:lI99|H388A24
+388A24:lI108|H388B2C
+388B2C:lI101|H388C3C
+388C3C:lI97|H388D4C
+388D4C:lI114|H388E5C
+388E5C:lI99|H388F6C
+388F6C:lI97|H389084
+389084:lI115|H389194
+389194:lI101|H3892A4
+3892A4:lI47|H3893B4
+3893B4:lI111|H3894C4
+3894C4:lI116|H3895CC
+3895CC:lI112|H3896C4
+3896C4:lI47|H3897BC
+3897BC:lI101|H3898B4
+3898B4:lI114|H3899AC
+3899AC:lI116|H389A8C
+389A8C:lI115|H389B64
+389B64:lI47|H389C2C
+389C2C:lI108|H389CF4
+389CF4:lI105|H389DBC
+389DBC:lI98|H389E74
+389E74:lI47|H389F24
+389F24:lI99|H389FC4
+389FC4:lI114|H38A054
+38A054:lI121|H38A0D4
+38A0D4:lI112|H38A144
+38A144:lI116|H38A1B4
+38A1B4:lI111|H38A21C
+38A21C:lI47|H38A284
+38A284:lI101|H38A2EC
+38A2EC:lI98|H38A354
+38A354:lI105|H38A3BC
+38A3BC:lI110|N
+38B090:lH38891C|H38B098
+38891C:lI47|H388A2C
+388A2C:lI99|H388B34
+388B34:lI108|H388C44
+388C44:lI101|H388D54
+388D54:lI97|H388E64
+388E64:lI114|H388F74
+388F74:lI99|H38908C
+38908C:lI97|H38919C
+38919C:lI115|H3892AC
+3892AC:lI101|H3893BC
+3893BC:lI47|H3894CC
+3894CC:lI111|H3895D4
+3895D4:lI116|H3896CC
+3896CC:lI112|H3897C4
+3897C4:lI47|H3898BC
+3898BC:lI101|H3899B4
+3899B4:lI114|H389A94
+389A94:lI116|H389B6C
+389B6C:lI115|H389C34
+389C34:lI47|H389CFC
+389CFC:lI108|H389DC4
+389DC4:lI105|H389E7C
+389E7C:lI98|H389F2C
+389F2C:lI47|H389FCC
+389FCC:lI99|H38A05C
+38A05C:lI111|H38A0DC
+38A0DC:lI115|H38A14C
+38A14C:lI84|H38A1BC
+38A1BC:lI114|H38A224
+38A224:lI97|H38A28C
+38A28C:lI110|H38A2F4
+38A2F4:lI115|H38A35C
+38A35C:lI97|H38A3C4
+38A3C4:lI99|H38A41C
+38A41C:lI116|H38A46C
+38A46C:lI105|H38A4BC
+38A4BC:lI111|H38A50C
+38A50C:lI110|H38A554
+38A554:lI115|H38A59C
+38A59C:lI47|H38A5E4
+38A5E4:lI101|H38A62C
+38A62C:lI98|H38A66C
+38A66C:lI105|H38A6A4
+38A6A4:lI110|N
+38B098:lH388A34|H38B0A0
+388A34:lI47|H388B3C
+388B3C:lI99|H388C4C
+388C4C:lI108|H388D5C
+388D5C:lI101|H388E6C
+388E6C:lI97|H388F7C
+388F7C:lI114|H389094
+389094:lI99|H3891A4
+3891A4:lI97|H3892B4
+3892B4:lI115|H3893C4
+3893C4:lI101|H3894D4
+3894D4:lI47|H3895DC
+3895DC:lI111|H3896D4
+3896D4:lI116|H3897CC
+3897CC:lI112|H3898C4
+3898C4:lI47|H3899BC
+3899BC:lI101|H389A9C
+389A9C:lI114|H389B74
+389B74:lI116|H389C3C
+389C3C:lI115|H389D04
+389D04:lI47|H389DCC
+389DCC:lI108|H389E84
+389E84:lI105|H389F34
+389F34:lI98|H389FD4
+389FD4:lI47|H38A064
+38A064:lI99|H38A0E4
+38A0E4:lI111|H38A154
+38A154:lI115|H38A1C4
+38A1C4:lI84|H38A22C
+38A22C:lI105|H38A294
+38A294:lI109|H38A2FC
+38A2FC:lI101|H38A364
+38A364:lI47|H38A3CC
+38A3CC:lI101|H38A424
+38A424:lI98|H38A474
+38A474:lI105|H38A4C4
+38A4C4:lI110|N
+38B0A0:lH388B44|H38B0A8
+388B44:lI47|H388C54
+388C54:lI99|H388D64
+388D64:lI108|H388E74
+388E74:lI101|H388F84
+388F84:lI97|H38909C
+38909C:lI114|H3891AC
+3891AC:lI99|H3892BC
+3892BC:lI97|H3893CC
+3893CC:lI115|H3894DC
+3894DC:lI101|H3895E4
+3895E4:lI47|H3896DC
+3896DC:lI111|H3897D4
+3897D4:lI116|H3898CC
+3898CC:lI112|H3899C4
+3899C4:lI47|H389AA4
+389AA4:lI101|H389B7C
+389B7C:lI114|H389C44
+389C44:lI116|H389D0C
+389D0C:lI115|H389DD4
+389DD4:lI47|H389E8C
+389E8C:lI108|H389F3C
+389F3C:lI105|H389FDC
+389FDC:lI98|H38A06C
+38A06C:lI47|H38A0EC
+38A0EC:lI99|H38A15C
+38A15C:lI111|H38A1CC
+38A1CC:lI115|H38A234
+38A234:lI80|H38A29C
+38A29C:lI114|H38A304
+38A304:lI111|H38A36C
+38A36C:lI112|H38A3D4
+38A3D4:lI101|H38A42C
+38A42C:lI114|H38A47C
+38A47C:lI116|H38A4CC
+38A4CC:lI121|H38A514
+38A514:lI47|H38A55C
+38A55C:lI101|H38A5A4
+38A5A4:lI98|H38A5EC
+38A5EC:lI105|H38A634
+38A634:lI110|N
+38B0A8:lH388C5C|H38B0B0
+388C5C:lI47|H388D6C
+388D6C:lI99|H388E7C
+388E7C:lI108|H388F8C
+388F8C:lI101|H3890A4
+3890A4:lI97|H3891B4
+3891B4:lI114|H3892C4
+3892C4:lI99|H3893D4
+3893D4:lI97|H3894E4
+3894E4:lI115|H3895EC
+3895EC:lI101|H3896E4
+3896E4:lI47|H3897DC
+3897DC:lI111|H3898D4
+3898D4:lI116|H3899CC
+3899CC:lI112|H389AAC
+389AAC:lI47|H389B84
+389B84:lI101|H389C4C
+389C4C:lI114|H389D14
+389D14:lI116|H389DDC
+389DDC:lI115|H389E94
+389E94:lI47|H389F44
+389F44:lI108|H389FE4
+389FE4:lI105|H38A074
+38A074:lI98|H38A0F4
+38A0F4:lI47|H38A164
+38A164:lI99|H38A1D4
+38A1D4:lI111|H38A23C
+38A23C:lI115|H38A2A4
+38A2A4:lI78|H38A30C
+38A30C:lI111|H38A374
+38A374:lI116|H38A3DC
+38A3DC:lI105|H38A434
+38A434:lI102|H38A484
+38A484:lI105|H38A4D4
+38A4D4:lI99|H38A51C
+38A51C:lI97|H38A564
+38A564:lI116|H38A5AC
+38A5AC:lI105|H38A5F4
+38A5F4:lI111|H38A63C
+38A63C:lI110|H38A674
+38A674:lI47|H38A6AC
+38A6AC:lI101|H38A6D4
+38A6D4:lI98|H38A6EC
+38A6EC:lI105|H38A704
+38A704:lI110|N
+38B0B0:lH388D74|H38B0B8
+388D74:lI47|H388E84
+388E84:lI99|H388F94
+388F94:lI108|H3890AC
+3890AC:lI101|H3891BC
+3891BC:lI97|H3892CC
+3892CC:lI114|H3893DC
+3893DC:lI99|H3894EC
+3894EC:lI97|H3895F4
+3895F4:lI115|H3896EC
+3896EC:lI101|H3897E4
+3897E4:lI47|H3898DC
+3898DC:lI111|H3899D4
+3899D4:lI116|H389AB4
+389AB4:lI112|H389B8C
+389B8C:lI47|H389C54
+389C54:lI101|H389D1C
+389D1C:lI114|H389DE4
+389DE4:lI116|H389E9C
+389E9C:lI115|H389F4C
+389F4C:lI47|H389FEC
+389FEC:lI108|H38A07C
+38A07C:lI105|H38A0FC
+38A0FC:lI98|H38A16C
+38A16C:lI47|H38A1DC
+38A1DC:lI99|H38A244
+38A244:lI111|H38A2AC
+38A2AC:lI115|H38A314
+38A314:lI70|H38A37C
+38A37C:lI105|H38A3E4
+38A3E4:lI108|H38A43C
+38A43C:lI101|H38A48C
+38A48C:lI84|H38A4DC
+38A4DC:lI114|H38A524
+38A524:lI97|H38A56C
+38A56C:lI110|H38A5B4
+38A5B4:lI115|H38A5FC
+38A5FC:lI102|H38A644
+38A644:lI101|H38A67C
+38A67C:lI114|H38A6B4
+38A6B4:lI47|H38A6DC
+38A6DC:lI101|H38A6F4
+38A6F4:lI98|H38A70C
+38A70C:lI105|H38A71C
+38A71C:lI110|N
+38B0B8:lH388E8C|H38B0C0
+388E8C:lI47|H388F9C
+388F9C:lI99|H3890B4
+3890B4:lI108|H3891C4
+3891C4:lI101|H3892D4
+3892D4:lI97|H3893E4
+3893E4:lI114|H3894F4
+3894F4:lI99|H3895FC
+3895FC:lI97|H3896F4
+3896F4:lI115|H3897EC
+3897EC:lI101|H3898E4
+3898E4:lI47|H3899DC
+3899DC:lI111|H389ABC
+389ABC:lI116|H389B94
+389B94:lI112|H389C5C
+389C5C:lI47|H389D24
+389D24:lI101|H389DEC
+389DEC:lI114|H389EA4
+389EA4:lI116|H389F54
+389F54:lI115|H389FF4
+389FF4:lI47|H38A084
+38A084:lI108|H38A104
+38A104:lI105|H38A174
+38A174:lI98|H38A1E4
+38A1E4:lI47|H38A24C
+38A24C:lI99|H38A2B4
+38A2B4:lI111|H38A31C
+38A31C:lI115|H38A384
+38A384:lI69|H38A3EC
+38A3EC:lI118|H38A444
+38A444:lI101|H38A494
+38A494:lI110|H38A4E4
+38A4E4:lI116|H38A52C
+38A52C:lI68|H38A574
+38A574:lI111|H38A5BC
+38A5BC:lI109|H38A604
+38A604:lI97|H38A64C
+38A64C:lI105|H38A684
+38A684:lI110|H38A6BC
+38A6BC:lI47|H38A6E4
+38A6E4:lI101|H38A6FC
+38A6FC:lI98|H38A714
+38A714:lI105|H38A724
+38A724:lI110|N
+38B0C0:lH388FA4|H38B0C8
+388FA4:lI47|H3890BC
+3890BC:lI99|H3891CC
+3891CC:lI108|H3892DC
+3892DC:lI101|H3893EC
+3893EC:lI97|H3894FC
+3894FC:lI114|H389604
+389604:lI99|H3896FC
+3896FC:lI97|H3897F4
+3897F4:lI115|H3898EC
+3898EC:lI101|H3899E4
+3899E4:lI47|H389AC4
+389AC4:lI111|H389B9C
+389B9C:lI116|H389C64
+389C64:lI112|H389D2C
+389D2C:lI47|H389DF4
+389DF4:lI101|H389EAC
+389EAC:lI114|H389F5C
+389F5C:lI116|H389FFC
+389FFC:lI115|H38A08C
+38A08C:lI47|H38A10C
+38A10C:lI108|H38A17C
+38A17C:lI105|H38A1EC
+38A1EC:lI98|H38A254
+38A254:lI47|H38A2BC
+38A2BC:lI99|H38A324
+38A324:lI111|H38A38C
+38A38C:lI115|H38A3F4
+38A3F4:lI69|H38A44C
+38A44C:lI118|H38A49C
+38A49C:lI101|H38A4EC
+38A4EC:lI110|H38A534
+38A534:lI116|H38A57C
+38A57C:lI47|H38A5C4
+38A5C4:lI101|H38A60C
+38A60C:lI98|H38A654
+38A654:lI105|H38A68C
+38A68C:lI110|N
+38B0C8:lH3890C4|H38B0D0
+3890C4:lI47|H3891D4
+3891D4:lI99|H3892E4
+3892E4:lI108|H3893F4
+3893F4:lI101|H389504
+389504:lI97|H38960C
+38960C:lI114|H389704
+389704:lI99|H3897FC
+3897FC:lI97|H3898F4
+3898F4:lI115|H3899EC
+3899EC:lI101|H389ACC
+389ACC:lI47|H389BA4
+389BA4:lI111|H389C6C
+389C6C:lI116|H389D34
+389D34:lI112|H389DFC
+389DFC:lI47|H389EB4
+389EB4:lI101|H389F64
+389F64:lI114|H38A004
+38A004:lI116|H38A094
+38A094:lI115|H38A114
+38A114:lI47|H38A184
+38A184:lI108|H38A1F4
+38A1F4:lI105|H38A25C
+38A25C:lI98|H38A2C4
+38A2C4:lI47|H38A32C
+38A32C:lI99|H38A394
+38A394:lI111|H38A3FC
+38A3FC:lI109|H38A454
+38A454:lI112|H38A4A4
+38A4A4:lI105|H38A4F4
+38A4F4:lI108|H38A53C
+38A53C:lI101|H38A584
+38A584:lI114|H38A5CC
+38A5CC:lI47|H38A614
+38A614:lI101|H38A65C
+38A65C:lI98|H38A694
+38A694:lI105|H38A6C4
+38A6C4:lI110|N
+38B0D0:lH3891DC|H38B0D8
+3891DC:lI47|H3892EC
+3892EC:lI99|H3893FC
+3893FC:lI108|H38950C
+38950C:lI101|H389614
+389614:lI97|H38970C
+38970C:lI114|H389804
+389804:lI99|H3898FC
+3898FC:lI97|H3899F4
+3899F4:lI115|H389AD4
+389AD4:lI101|H389BAC
+389BAC:lI47|H389C74
+389C74:lI111|H389D3C
+389D3C:lI116|H389E04
+389E04:lI112|H389EBC
+389EBC:lI47|H389F6C
+389F6C:lI101|H38A00C
+38A00C:lI114|H38A09C
+38A09C:lI116|H38A11C
+38A11C:lI115|H38A18C
+38A18C:lI47|H38A1FC
+38A1FC:lI108|H38A264
+38A264:lI105|H38A2CC
+38A2CC:lI98|H38A334
+38A334:lI47|H38A39C
+38A39C:lI97|H38A404
+38A404:lI115|H38A45C
+38A45C:lI110|H38A4AC
+38A4AC:lI49|H38A4FC
+38A4FC:lI47|H38A544
+38A544:lI101|H38A58C
+38A58C:lI98|H38A5D4
+38A5D4:lI105|H38A61C
+38A61C:lI110|N
+38B0D8:lH3892F4|H38B0E0
+3892F4:lI47|H389404
+389404:lI99|H389514
+389514:lI108|H38961C
+38961C:lI101|H389714
+389714:lI97|H38980C
+38980C:lI114|H389904
+389904:lI99|H3899FC
+3899FC:lI97|H389ADC
+389ADC:lI115|H389BB4
+389BB4:lI101|H389C7C
+389C7C:lI47|H389D44
+389D44:lI111|H389E0C
+389E0C:lI116|H389EC4
+389EC4:lI112|H389F74
+389F74:lI47|H38A014
+38A014:lI101|H38A0A4
+38A0A4:lI114|H38A124
+38A124:lI116|H38A194
+38A194:lI115|H38A204
+38A204:lI47|H38A26C
+38A26C:lI108|H38A2D4
+38A2D4:lI105|H38A33C
+38A33C:lI98|H38A3A4
+38A3A4:lI47|H38A40C
+38A40C:lI97|H38A464
+38A464:lI112|H38A4B4
+38A4B4:lI112|H38A504
+38A504:lI109|H38A54C
+38A54C:lI111|H38A594
+38A594:lI110|H38A5DC
+38A5DC:lI47|H38A624
+38A624:lI101|H38A664
+38A664:lI98|H38A69C
+38A69C:lI105|H38A6CC
+38A6CC:lI110|N
+38B0E0:lH38AA88|H38B0E8
+38AA88:lI47|H38AA90
+38AA90:lI104|H38AA98
+38AA98:lI111|H38AAA0
+38AAA0:lI109|H38AAA8
+38AAA8:lI101|H38AAB0
+38AAB0:lI47|H38AAB8
+38AAB8:lI115|H38AAC0
+38AAC0:lI105|H38AAC8
+38AAC8:lI114|H38AAD0
+38AAD0:lI105|H38AAD8
+38AAD8:lI47|H38AAE0
+38AAE0:lI101|H38AAE8
+38AAE8:lI114|H38AAF0
+38AAF0:lI108|H38AAF8
+38AAF8:lI97|H38AB00
+38AB00:lI110|H38AB08
+38AB08:lI103|N
+38B0E8:lH38AB1C|H38B0F0
+38AB1C:lI47|H38AB2C
+38AB2C:lI104|H38AB4C
+38AB4C:lI111|H38AB74
+38AB74:lI109|H38ABA4
+38ABA4:lI101|H38ABC4
+38ABC4:lI47|H38ABE4
+38ABE4:lI115|H38AC04
+38AC04:lI105|H38AC24
+38AC24:lI114|H38AC3C
+38AC3C:lI105|H38AC44
+38AC44:lI47|H38AC4C
+38AC4C:lI116|H38AC54
+38AC54:lI111|H38AC5C
+38AC5C:lI111|H38AC64
+38AC64:lI108|H38AC6C
+38AC6C:lI115|H38AC74
+38AC74:lI47|H38AC7C
+38AC7C:lI100|H38AC84
+38AC84:lI105|H38AC8C
+38AC8C:lI115|H38AC94
+38AC94:lI116|H38AC9C
+38AC9C:lI101|H38ACA4
+38ACA4:lI108|H38ACAC
+38ACAC:lI47|H38ACB4
+38ACB4:lI101|H38ACBC
+38ACBC:lI98|H38ACC4
+38ACC4:lI105|H38ACCC
+38ACCC:lI110|N
+38B0F0:lH38B0F8|N
+38B0F8:lI47|H38B100
+38B100:lI104|H38B108
+38B108:lI111|H38B110
+38B110:lI109|H38B118
+38B118:lI101|H38B120
+38B120:lI47|H38B128
+38B128:lI115|H38B130
+38B130:lI105|H38B138
+38B138:lI114|H38B140
+38B140:lI105|H38B148
+38B148:lI47|H38B150
+38B150:lI79|H38B158
+38B158:lI84|H38B160
+38B160:lI80|H38B168
+38B168:lI47|H38B170
+38B170:lI103|H38B178
+38B178:lI112|H38B180
+38B180:lI114|H38B188
+38B188:lI115|H38B190
+38B190:lI95|H38B198
+38B198:lI116|H38B1A0
+38B1A0:lI114|H38B1A8
+38B1A8:lI97|H38B1B0
+38B1B0:lI99|H38B1B8
+38B1B8:lI101|H38B1C0
+38B1C0:lI47|H38B1C8
+38B1C8:lI106|H38B1D0
+38B1D0:lI97|H38B1D8
+38B1D8:lI110|N
+3873BC:lI47|H3873CC
+3873CC:lI99|H3873E4
+3873E4:lI108|H3873FC
+3873FC:lI101|H38741C
+38741C:lI97|H387444
+387444:lI114|H387474
+387474:lI99|H3874AC
+3874AC:lI97|H3874EC
+3874EC:lI115|H387534
+387534:lI101|H387584
+387584:lI47|H3875DC
+3875DC:lI111|H38763C
+38763C:lI116|H3876A4
+3876A4:lI112|H387714
+387714:lI47|H38778C
+38778C:lI101|H38780C
+38780C:lI114|H387894
+387894:lI116|H387924
+387924:lI115|N
+=proc_dictionary:<0.19.0>
+H370244
+H370250
+=proc_stack:<0.19.0>
+36b45c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A11:supervisor_bridge
+y3:H36B17C
+y4:P<0.19.0>
+y5:P<0.9.0>
+36b478:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37025C
+=proc_heap:<0.19.0>
+36B17C:t5:A5:state,A8:user_sup,P<0.21.0>,P<0.21.0>,H370238
+370238:t2:P<0.19.0>,A8:user_sup
+37025C:lAA:gen_server|H37027C
+37027C:lP<0.9.0>|H37028C
+37028C:lP<0.9.0>|H370294
+370294:lA11:supervisor_bridge|H37029C
+37029C:lH3702A4|H3702AC
+3702A4:lA8:user_sup|H3702B4
+3702B4:lN|H3702BC
+3702BC:lA4:self|N
+3702AC:lN|N
+370244:t2:AD:$initial_call,H370264
+370264:t3:A3:gen,A7:init_it,H37025C
+370250:t2:AA:$ancestors,H370274
+370274:lAA:kernel_sup|H370284
+370284:lP<0.8.0>|N
+=proc_dictionary:<0.20.0>
+H36F8A8
+=proc_stack:<0.20.0>
+36a714:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:H36F8C4
+y3:P<0.21.0>
+y4:P<0.22.0>
+y5:p<0.72>
+y6:p<0.72>
+=proc_heap:<0.20.0>
+36F8C4:t4:I3,I2,P<0.22.0>,H36F8F0
+36F8F0:lH36F900|H36F910
+36F900:t3:I1,P<0.21.0>,H36F920
+36F920:t0:
+36F910:lH36F924|N
+36F924:t3:I2,P<0.22.0>,H36F93C
+36F93C:t3:A5:shell,A5:start,N
+36F8A8:t2:A3:eof,A5:false
+=proc_dictionary:<0.21.0>
+H3709DC
+H3709D0
+H3709F8
+=proc_stack:<0.21.0>
+370d1c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:A9:undefined
+y2:P<0.20.0>
+=proc_heap:<0.21.0>
+3709DC:t2:AB:line_buffer,N
+3709D0:t2:AB:kill_buffer,N
+3709F8:t2:A9:read_mode,A4:list
+=proc_dictionary:<0.22.0>
+H370D44
+H370D60
+H370D7C
+H370D38
+=proc_stack:<0.22.0>
+374a88:SReturn addr 0x2CE718 (group:get_chars_loop/7 + 80)
+y0:N
+y1:N
+y2:A8:infinity
+y3:H374A00
+y4:P<0.20.0>
+y5:H374A28
+374aa4:SReturn addr 0x2CDC18 (group:io_request/5 + 48)
+y0:H37499C
+y1:A6:io_lib
+y2:A9:get_until
+y3:H3748B8
+y4:P<0.20.0>
+y5:A5:start
+374ac0:SReturn addr 0x2CDB2C (group:server_loop/3 + 372)
+y0:P<0.49.0>
+y1:P<0.22.0>
+374acc:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:P<0.25.0>
+y2:P<0.20.0>
+=proc_heap:<0.22.0>
+374A00:t4:A4:line,H37499C,H3749A4,A4:none
+3749A4:t2:N,N
+37499C:lI50|H374994
+374994:lI62|H37498C
+37498C:lI32|N
+374A28:t4:A5:stack,H370D58,H374A24,N
+374A24:t0:
+370D58:lH370D74|N
+370D74:lI99|H370D88
+370D88:lI114|H370D90
+370D90:lI97|H370D98
+370D98:lI115|H370DA0
+370DA0:lI104|H370DA8
+370DA8:lI100|H370DB0
+370DB0:lI117|H370DB8
+370DB8:lI109|H370DC0
+370DC0:lI112|H370DC8
+370DC8:lI95|H370DD0
+370DD0:lI118|H370DD8
+370DD8:lI105|H370DE0
+370DE0:lI101|H370DE8
+370DE8:lI119|H370DF0
+370DF0:lI101|H370DF8
+370DF8:lI114|H370E00
+370E00:lI58|H370E08
+370E08:lI115|H370E10
+370E10:lI116|H370E18
+370E18:lI97|H370E20
+370E20:lI114|H370E28
+370E28:lI116|H370E30
+370E30:lI40|H370E38
+370E38:lI41|H370E40
+370E40:lI46|H370E48
+370E48:lI10|N
+3748B8:t3:A8:erl_scan,A6:tokens,H3748B0
+3748B0:lI1|N
+370D44:t2:AB:line_buffer,H370D58
+370D60:t2:A5:shell,P<0.25.0>
+370D7C:t2:AB:kill_buffer,N
+370D38:t2:A9:read_mode,A4:list
+=proc_dictionary:<0.23.0>
+H376464
+H376448
+=proc_stack:<0.23.0>
+376754:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AD:kernel_config
+y3:N
+y4:P<0.23.0>
+y5:P<0.9.0>
+376770:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H376418
+=proc_heap:<0.23.0>
+376418:lAA:gen_server|H376410
+376410:lP<0.9.0>|H376408
+376408:lP<0.9.0>|H376400
+376400:lAD:kernel_config|H3763F8
+3763F8:lN|H3763F0
+3763F0:lN|N
+376464:t2:AD:$initial_call,H376454
+376454:t3:A3:gen,A7:init_it,H376418
+376448:t2:AA:$ancestors,H376440
+376440:lAA:kernel_sup|H376420
+376420:lP<0.8.0>|N
+=proc_dictionary:<0.24.0>
+H3705E0
+H3705EC
+=proc_stack:<0.24.0>
+36f38c:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36F018
+y4:AF:kernel_safe_sup
+y5:P<0.9.0>
+36f3a8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H37063C
+=proc_heap:<0.24.0>
+36F018:tA:A5:state,H370644,AB:one_for_one,H36F044,N,I4,I3600,N,A6:kernel,A4:safe
+36F044:lH36F04C|N
+36F04C:t8:A5:child,P<0.31.0>,A17:inet_gethost_native_sup,H370650,A9:temporary,I1000,A6:worker,H370660
+370660:lA13:inet_gethost_native|N
+370650:t3:A13:inet_gethost_native,AA:start_link,N
+370644:t2:A5:local,AF:kernel_safe_sup
+37063C:lAA:gen_server|H3706AC
+3706AC:lP<0.9.0>|H3706BC
+3706BC:lP<0.9.0>|H3706C4
+3706C4:lH3706CC|H3706D8
+3706CC:t2:A5:local,AF:kernel_safe_sup
+3706D8:lAA:supervisor|H3706E0
+3706E0:lH3706E8|H3706F8
+3706E8:t3:H370644,A6:kernel,A4:safe
+3706F8:lN|N
+3705E0:t2:AD:$initial_call,H370668
+370668:t3:A3:gen,A7:init_it,H37063C
+3705EC:t2:AA:$ancestors,H370678
+370678:lAA:kernel_sup|H3706B4
+3706B4:lP<0.8.0>|N
+=proc_dictionary:<0.25.0>
+H36E304
+H36E31C
+=proc_stack:<0.25.0>
+36e610:SReturn addr 0x2E06FC (shell:server_loop/6 + 140)
+y0:N
+y1:N
+y2:P<0.27.0>
+y3:P<0.49.0>
+36e624:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:I2
+y3:I1
+y4:N
+y5:N
+y6:N
+y7:I20
+y8:I20
+=proc_heap:<0.25.0>
+36E304:t2:H36E2F8,H36E2A8
+36E2A8:lH36E2B0|N
+36E2B0:t4:A4:call,I1,H36E2C4,N
+36E2C4:t4:A6:remote,I1,H36E2D8,H36E2E8
+36E2E8:t3:A4:atom,I1,A5:start
+36E2D8:t3:A4:atom,I1,A10:crashdump_viewer
+36E2F8:t2:A7:command,I1
+36E31C:t2:H36E310,A2:ok
+36E310:t2:A6:result,I1
+=proc_stack:<0.27.0>
+3bda3c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:N
+y1:N
+y2:P<0.25.0>
+=proc_heap:<0.27.0>
+=proc_dictionary:<0.31.0>
+H36DA24
+H36DA08
+=proc_stack:<0.31.0>
+36dcd4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A11:supervisor_bridge
+y3:H36DB68
+y4:A17:inet_gethost_native_sup
+y5:P<0.24.0>
+36dcf0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36D9D0
+=proc_heap:<0.31.0>
+36DB68:t5:A5:state,A13:inet_gethost_native,P<0.32.0>,P<0.32.0>,H36D994
+36D994:t2:A5:local,A17:inet_gethost_native_sup
+36D9D0:lAA:gen_server|H36D9C8
+36D9C8:lP<0.24.0>|H36D9C0
+36D9C0:lP<0.24.0>|H36D970
+36D970:lH36D980|H36D9B8
+36D980:t2:A5:local,A17:inet_gethost_native_sup
+36D9B8:lA11:supervisor_bridge|H36D978
+36D978:lH36D9A8|H36D9B0
+36D9A8:lA13:inet_gethost_native|H36D9A0
+36D9A0:lN|H36D98C
+36D98C:lH36D994|N
+36D9B0:lN|N
+36DA24:t2:AD:$initial_call,H36DA14
+36DA14:t3:A3:gen,A7:init_it,H36D9D0
+36DA08:t2:AA:$ancestors,H36DA00
+36DA00:lAF:kernel_safe_sup|H36D9E0
+36D9E0:lAA:kernel_sup|H36D9D8
+36D9D8:lP<0.8.0>|N
+=proc_dictionary:<0.32.0>
+H36CFD4
+H36D0BC
+=proc_stack:<0.32.0>
+36d12c:SReturn addr 0x156F90 (<terminate process normally>)
+y0:H36CF18
+=proc_heap:<0.32.0>
+36CF18:t8:A5:state,p<0.105>,I8000,I11,I12,P<0.31.0>,I4,H36CEF0
+36CEF0:t9:AA:statistics,I0,I0,I0,I0,I0,I0,I0,I0
+36CFD4:t2:A3:rid,I1
+36D0BC:t2:AC:num_requests,I0
+=proc_dictionary:<0.33.0>
+H3905C4
+H3905D0
+=proc_stack:<0.33.0>
+3ceee4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A7:webtool
+y3:H3C8570
+y4:A8:web_tool
+y5:P<0.33.0>
+3cef00:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3905FC
+=proc_heap:<0.33.0>
+3C8570:t6:A5:state,H3905EC,I13,P<0.41.0>,H3905F4,H3C85D4
+3C85D4:lA10:crashdump_viewer|N
+3905F4:lH390650|H39065C
+390650:t2:A4:port,I8888
+39065C:lH3906C8|H3906D4
+3906C8:t2:AC:bind_address,H390760
+390760:t4:I127,I0,I0,I1
+3906D4:lH390774|H390780
+390774:t2:AB:server_name,H39082C
+39082C:lI108|H390908
+390908:lI111|H3909DC
+3909DC:lI99|H390AC0
+390AC0:lI97|H390B98
+390B98:lI108|H390C78
+390C78:lI104|H390D58
+390D58:lI111|H390E2C
+390E2C:lI115|H390F10
+390F10:lI116|N
+390780:lH390834|H390840
+390834:t2:AE:max_header_siz,I1024
+390840:lH390910|H39091C
+390910:t2:A11:max_header_action,A8:reply414
+39091C:lH3909E4|H3909F0
+3909E4:t2:A8:com_type,A7:ip_comm
+3909F0:lH390AC8|H390AD4
+390AC8:t2:A7:modules,H390BA0
+390BA0:lA9:mod_alias|H390C80
+390C80:lA8:mod_auth|H390D60
+390D60:lA7:mod_esi|H390E34
+390E34:lAB:mod_actions|H390F18
+390F18:lA7:mod_cgi|H390FF4
+390FF4:lAB:mod_include|H3910D8
+3910D8:lA7:mod_dir|H3911B4
+3911B4:lA7:mod_get|H3912A0
+3912A0:lA8:mod_head|H39139C
+39139C:lA7:mod_log|H3914A0
+3914A0:lAC:mod_disk_log|N
+390AD4:lH390BA8|H390BB4
+390BA8:t2:AF:directory_index,H390C88
+390C88:lH390D68|N
+390D68:lI105|H390E3C
+390E3C:lI110|H390F20
+390F20:lI100|H390FFC
+390FFC:lI101|H3910E0
+3910E0:lI120|H3911BC
+3911BC:lI46|H3912A8
+3912A8:lI104|H3913A4
+3913A4:lI116|H3914A8
+3914A8:lI109|H39159C
+39159C:lI108|N
+390BB4:lH390C90|N
+390C90:t2:AC:default_type,H390D70
+390D70:lI116|H390E44
+390E44:lI101|H390F28
+390F28:lI120|H391004
+391004:lI116|H3910E8
+3910E8:lI47|H3911C4
+3911C4:lI112|H3912B0
+3912B0:lI108|H3913AC
+3913AC:lI97|H3914B0
+3914B0:lI105|H3915A4
+3915A4:lI110|N
+3905EC:lI47|H390648
+390648:lI99|H3906C0
+3906C0:lI108|H390758
+390758:lI101|H390824
+390824:lI97|H390900
+390900:lI114|H3909D4
+3909D4:lI99|H390AB8
+390AB8:lI97|H390B90
+390B90:lI115|H390C70
+390C70:lI101|H390D50
+390D50:lI47|H390E24
+390E24:lI111|H390F08
+390F08:lI116|H390FEC
+390FEC:lI112|H3910D0
+3910D0:lI47|H3911AC
+3911AC:lI101|H391298
+391298:lI114|H391394
+391394:lI116|H391498
+391498:lI115|H391594
+391594:lI47|H391680
+391680:lI108|H39175C
+39175C:lI105|H391840
+391840:lI98|H391924
+391924:lI47|H3919F8
+3919F8:lI119|H391AC4
+391AC4:lI101|H391B90
+391B90:lI98|H391C54
+391C54:lI116|H391D18
+391D18:lI111|H391DD4
+391DD4:lI111|H391E90
+391E90:lI108|H391F5C
+391F5C:lI47|H392030
+392030:lI112|H3920EC
+3920EC:lI114|H3921A8
+3921A8:lI105|H392264
+392264:lI118|N
+3905FC:lAA:gen_server|H390664
+390664:lP<0.27.0>|H3906DC
+3906DC:lA4:self|H390788
+390788:lH390848|H390854
+390848:t2:A5:local,A8:web_tool
+390854:lA7:webtool|H390924
+390924:lH3909F8|H390A04
+3909F8:t2:H3905EC,H3905F4
+390A04:lN|N
+3905C4:t2:AD:$initial_call,H390614
+390614:t3:A3:gen,A7:init_it,H3905FC
+3905D0:t2:AA:$ancestors,H390624
+390624:lP<0.27.0>|N
+=proc_dictionary:<0.41.0>
+H36DF0C
+H36DF18
+=proc_stack:<0.41.0>
+36eda4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36EA3C
+y4:A6:websup
+y5:P<0.33.0>
+36edc0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36DF24
+=proc_heap:<0.41.0>
+36EA3C:tA:A5:state,H36DF2C,AB:one_for_one,H36EA68,N,I100,I10,N,AB:webtool_sup,N
+36EA68:lH36EA70|N
+36EA70:t8:A5:child,P<0.48.0>,H36DF38,H36DF44,A9:permanent,I100,A6:worker,H36DF54
+36DF54:lA10:crashdump_viewer|N
+36DF44:t3:A10:crashdump_viewer,AA:start_link,N
+36DF38:t2:A5:local,A17:crashdump_viewer_server
+36DF2C:t2:A5:local,A6:websup
+36DF24:lAA:gen_server|H36DF84
+36DF84:lP<0.33.0>|H36DF94
+36DF94:lP<0.33.0>|H36DF9C
+36DF9C:lH36DFA4|H36DFB0
+36DFA4:t2:A5:local,A6:websup
+36DFB0:lAA:supervisor|H36DFB8
+36DFB8:lH36DFC0|H36DFD0
+36DFC0:t3:H36DF2C,AB:webtool_sup,N
+36DFD0:lN|N
+36DF0C:t2:AD:$initial_call,H36DF6C
+36DF6C:t3:A3:gen,A7:init_it,H36DF24
+36DF18:t2:AA:$ancestors,H36DF7C
+36DF7C:lA8:web_tool|H36DF8C
+36DF8C:lP<0.27.0>|N
+=proc_dictionary:<0.43.0>
+H39D940
+H39D94C
+=proc_stack:<0.43.0>
+3a42ac:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H3A3E34
+y4:A1A:httpd_sup__127_0_0_1__8888
+y5:P<0.33.0>
+3a42c8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H39D9CC
+=proc_heap:<0.43.0>
+3A3E34:tA:A5:state,H39D960,AB:one_for_one,H3A3E20,N,I0,I1,N,A9:httpd_sup,H39DA88
+39DA88:lA9:undefined|H39DB18
+39DB18:lH39DB50|H39DB58
+39DB50:lH39DB88|H39DB94
+39DB88:t2:AB:server_root,H39DBD0
+39DBD0:lI47|H39DC0C
+39DC0C:lI99|H39DC50
+39DC50:lI108|H39DC84
+39DC84:lI101|H39DCC4
+39DCC4:lI97|H39DD28
+39DD28:lI114|H39DD90
+39DD90:lI99|H39DE00
+39DE00:lI97|H39DE78
+39DE78:lI115|H39DF00
+39DF00:lI101|H39DF90
+39DF90:lI47|H39E038
+39E038:lI111|H39E0E8
+39E0E8:lI116|H39E1AC
+39E1AC:lI112|H39E288
+39E288:lI47|H39E37C
+39E37C:lI101|H39E478
+39E478:lI114|H39E580
+39E580:lI116|H39E69C
+39E69C:lI115|H39E7B0
+39E7B0:lI47|H39E8C4
+39E8C4:lI108|H39E9D8
+39E9D8:lI105|H39EACC
+39EACC:lI98|H39EBC0
+39EBC0:lI47|H39ECB4
+39ECB4:lI119|H39EDA8
+39EDA8:lI101|H39EE7C
+39EE7C:lI98|H39EF50
+39EF50:lI116|H39F02C
+39F02C:lI111|H39F110
+39F110:lI111|H39F1E4
+39F1E4:lI108|H39F2B0
+39F2B0:lI47|H39F36C
+39F36C:lI112|H39F430
+39F430:lI114|H39F4FC
+39F4FC:lI105|H39F5C0
+39F5C0:lI118|H39F694
+39F694:lI47|H39F768
+39F768:lI114|H39F83C
+39F83C:lI111|H39F920
+39F920:lI111|H39F9FC
+39F9FC:lI116|N
+39DB94:lH39DBD8|H39DBE4
+39DBD8:t2:AD:document_root,H39DC14
+39DC14:lI47|H39DC58
+39DC58:lI99|H39DC8C
+39DC8C:lI108|H39DCCC
+39DCCC:lI101|H39DD30
+39DD30:lI97|H39DD98
+39DD98:lI114|H39DE08
+39DE08:lI99|H39DE80
+39DE80:lI97|H39DF08
+39DF08:lI115|H39DF98
+39DF98:lI101|H39E040
+39E040:lI47|H39E0F0
+39E0F0:lI111|H39E1B4
+39E1B4:lI116|H39E290
+39E290:lI112|H39E384
+39E384:lI47|H39E480
+39E480:lI101|H39E588
+39E588:lI114|H39E6A4
+39E6A4:lI116|H39E7B8
+39E7B8:lI115|H39E8CC
+39E8CC:lI47|H39E9E0
+39E9E0:lI108|H39EAD4
+39EAD4:lI105|H39EBC8
+39EBC8:lI98|H39ECBC
+39ECBC:lI47|H39EDB0
+39EDB0:lI119|H39EE84
+39EE84:lI101|H39EF58
+39EF58:lI98|H39F034
+39F034:lI116|H39F118
+39F118:lI111|H39F1EC
+39F1EC:lI111|H39F2B8
+39F2B8:lI108|H39F374
+39F374:lI47|H39F438
+39F438:lI112|H39F504
+39F504:lI114|H39F5C8
+39F5C8:lI105|H39F69C
+39F69C:lI118|H39F770
+39F770:lI47|H39F844
+39F844:lI114|H39F928
+39F928:lI111|H39FA04
+39FA04:lI111|H39FAD8
+39FAD8:lI116|H39FBB4
+39FBB4:lI47|H39FC80
+39FC80:lI100|H39FD44
+39FD44:lI111|H39FE10
+39FE10:lI99|N
+39DBE4:lH39DC1C|H39DC28
+39DC1C:t2:AA:mime_types,H39DC60
+39DC60:lH39DC94|H39DCA0
+39DC94:t2:H39DCD4,H39DCDC
+39DCDC:lI120|H39DD40
+39DD40:lI45|H39DDA8
+39DDA8:lI119|H39DE10
+39DE10:lI111|H39DE88
+39DE88:lI114|H39DF10
+39DF10:lI108|H39DFA0
+39DFA0:lI100|H39E048
+39E048:lI47|H39E0F8
+39E0F8:lI120|H39E1BC
+39E1BC:lI45|H39E298
+39E298:lI118|H39E38C
+39E38C:lI114|H39E488
+39E488:lI109|H39E590
+39E590:lI108|N
+39DCD4:lI119|H39DD38
+39DD38:lI114|H39DDA0
+39DDA0:lI108|N
+39DCA0:lH39DCE4|H39DCF0
+39DCE4:t2:H39DD48,H39DD50
+39DD50:lI120|H39DDB8
+39DDB8:lI45|H39DE20
+39DE20:lI119|H39DE98
+39DE98:lI111|H39DF18
+39DF18:lI114|H39DFA8
+39DFA8:lI108|H39E050
+39E050:lI100|H39E100
+39E100:lI47|H39E1C4
+39E1C4:lI120|H39E2A0
+39E2A0:lI45|H39E394
+39E394:lI118|H39E490
+39E490:lI114|H39E598
+39E598:lI109|H39E6AC
+39E6AC:lI108|N
+39DD48:lI118|H39DDB0
+39DDB0:lI114|H39DE18
+39DE18:lI109|H39DE90
+39DE90:lI108|N
+39DCF0:lH39DD58|H39DD64
+39DD58:t2:H39DDC0,H39DDC8
+39DDC8:lI120|H39DE30
+39DE30:lI45|H39DEA8
+39DEA8:lI99|H39DF20
+39DF20:lI111|H39DFB0
+39DFB0:lI110|H39E058
+39E058:lI102|H39E108
+39E108:lI101|H39E1CC
+39E1CC:lI114|H39E2A8
+39E2A8:lI101|H39E39C
+39E39C:lI110|H39E498
+39E498:lI99|H39E5A0
+39E5A0:lI101|H39E6B4
+39E6B4:lI47|H39E7C0
+39E7C0:lI120|H39E8D4
+39E8D4:lI45|H39E9E8
+39E9E8:lI99|H39EADC
+39EADC:lI111|H39EBD0
+39EBD0:lI111|H39ECC4
+39ECC4:lI108|H39EDB8
+39EDB8:lI116|H39EE8C
+39EE8C:lI97|H39EF60
+39EF60:lI108|H39F03C
+39F03C:lI107|N
+39DDC0:lI105|H39DE28
+39DE28:lI99|H39DEA0
+39DEA0:lI101|N
+39DD64:lH39DDD0|H39DDDC
+39DDD0:t2:H39DE38,H39DE40
+39DE40:lI118|H39DEB8
+39DEB8:lI105|H39DF30
+39DF30:lI100|H39DFC0
+39DFC0:lI101|H39E068
+39E068:lI111|H39E110
+39E110:lI47|H39E1D4
+39E1D4:lI120|H39E2B0
+39E2B0:lI45|H39E3A4
+39E3A4:lI115|H39E4A0
+39E4A0:lI103|H39E5A8
+39E5A8:lI105|H39E6BC
+39E6BC:lI45|H39E7C8
+39E7C8:lI109|H39E8DC
+39E8DC:lI111|H39E9F0
+39E9F0:lI118|H39EAE4
+39EAE4:lI105|H39EBD8
+39EBD8:lI101|N
+39DE38:lI109|H39DEB0
+39DEB0:lI111|H39DF28
+39DF28:lI118|H39DFB8
+39DFB8:lI105|H39E060
+39E060:lI101|N
+39DDDC:lH39DE48|H39DE54
+39DE48:t2:H39DEC0,H39DEC8
+39DEC8:lI118|H39DF40
+39DF40:lI105|H39DFD0
+39DFD0:lI100|H39E070
+39E070:lI101|H39E118
+39E118:lI111|H39E1DC
+39E1DC:lI47|H39E2B8
+39E2B8:lI120|H39E3AC
+39E3AC:lI45|H39E4A8
+39E4A8:lI109|H39E5B0
+39E5B0:lI115|H39E6C4
+39E6C4:lI118|H39E7D0
+39E7D0:lI105|H39E8E4
+39E8E4:lI100|H39E9F8
+39E9F8:lI101|H39EAEC
+39EAEC:lI111|N
+39DEC0:lI97|H39DF38
+39DF38:lI118|H39DFC8
+39DFC8:lI105|N
+39DE54:lH39DED0|H39DEDC
+39DED0:t2:H39DF48,H39DF50
+39DF50:lI118|H39DFE0
+39DFE0:lI105|H39E078
+39E078:lI100|H39E120
+39E120:lI101|H39E1E4
+39E1E4:lI111|H39E2C0
+39E2C0:lI47|H39E3B4
+39E3B4:lI113|H39E4B0
+39E4B0:lI117|H39E5B8
+39E5B8:lI105|H39E6CC
+39E6CC:lI99|H39E7D8
+39E7D8:lI107|H39E8EC
+39E8EC:lI116|H39EA00
+39EA00:lI105|H39EAF4
+39EAF4:lI109|H39EBE0
+39EBE0:lI101|N
+39DF48:lI113|H39DFD8
+39DFD8:lI116|N
+39DEDC:lH39DF58|H39DF64
+39DF58:t2:H39DFE8,H39DFF0
+39DFF0:lI118|H39E088
+39E088:lI105|H39E130
+39E130:lI100|H39E1EC
+39E1EC:lI101|H39E2C8
+39E2C8:lI111|H39E3BC
+39E3BC:lI47|H39E4B8
+39E4B8:lI113|H39E5C0
+39E5C0:lI117|H39E6D4
+39E6D4:lI105|H39E7E0
+39E7E0:lI99|H39E8F4
+39E8F4:lI107|H39EA08
+39EA08:lI116|H39EAFC
+39EAFC:lI105|H39EBE8
+39EBE8:lI109|H39ECCC
+39ECCC:lI101|N
+39DFE8:lI109|H39E080
+39E080:lI111|H39E128
+39E128:lI118|N
+39DF64:lH39DFF8|H39E004
+39DFF8:t2:H39E090,H39E098
+39E098:lI118|H39E140
+39E140:lI105|H39E1FC
+39E1FC:lI100|H39E2D8
+39E2D8:lI101|H39E3C4
+39E3C4:lI111|H39E4C0
+39E4C0:lI47|H39E5C8
+39E5C8:lI109|H39E6DC
+39E6DC:lI112|H39E7E8
+39E7E8:lI101|H39E8FC
+39E8FC:lI103|N
+39E090:lI109|H39E138
+39E138:lI112|H39E1F4
+39E1F4:lI101|H39E2D0
+39E2D0:lI103|N
+39E004:lH39E0A0|H39E0AC
+39E0A0:t2:H39E148,H39E150
+39E150:lI118|H39E20C
+39E20C:lI105|H39E2E8
+39E2E8:lI100|H39E3CC
+39E3CC:lI101|H39E4C8
+39E4C8:lI111|H39E5D0
+39E5D0:lI47|H39E6E4
+39E6E4:lI109|H39E7F0
+39E7F0:lI112|H39E904
+39E904:lI101|H39EA10
+39EA10:lI103|N
+39E148:lI109|H39E204
+39E204:lI112|H39E2E0
+39E2E0:lI103|N
+39E0AC:lH39E158|H39E164
+39E158:t2:H39E214,H39E21C
+39E21C:lI118|H39E2F8
+39E2F8:lI105|H39E3DC
+39E3DC:lI100|H39E4D0
+39E4D0:lI101|H39E5D8
+39E5D8:lI111|H39E6EC
+39E6EC:lI47|H39E7F8
+39E7F8:lI109|H39E90C
+39E90C:lI112|H39EA18
+39EA18:lI101|H39EB04
+39EB04:lI103|N
+39E214:lI109|H39E2F0
+39E2F0:lI112|H39E3D4
+39E3D4:lI101|N
+39E164:lH39E224|H39E230
+39E224:t2:H39E300,H39E308
+39E308:lI116|H39E3EC
+39E3EC:lI101|H39E4E0
+39E4E0:lI120|H39E5E8
+39E5E8:lI116|H39E6F4
+39E6F4:lI47|H39E800
+39E800:lI120|H39E914
+39E914:lI45|H39EA20
+39EA20:lI115|H39EB0C
+39EB0C:lI103|H39EBF0
+39EBF0:lI109|H39ECD4
+39ECD4:lI108|N
+39E300:lI115|H39E3E4
+39E3E4:lI103|H39E4D8
+39E4D8:lI109|H39E5E0
+39E5E0:lI108|N
+39E230:lH39E310|H39E31C
+39E310:t2:H39E3F4,H39E3FC
+39E3FC:lI116|H39E4F0
+39E4F0:lI101|H39E5F8
+39E5F8:lI120|H39E6FC
+39E6FC:lI116|H39E808
+39E808:lI47|H39E91C
+39E91C:lI120|H39EA28
+39EA28:lI45|H39EB14
+39EB14:lI115|H39EBF8
+39EBF8:lI103|H39ECDC
+39ECDC:lI109|H39EDC0
+39EDC0:lI108|N
+39E3F4:lI115|H39E4E8
+39E4E8:lI103|H39E5F0
+39E5F0:lI109|N
+39E31C:lH39E404|H39E410
+39E404:t2:H39E4F8,H39E500
+39E500:lI116|H39E608
+39E608:lI101|H39E70C
+39E70C:lI120|H39E810
+39E810:lI116|H39E924
+39E924:lI47|H39EA30
+39EA30:lI120|H39EB1C
+39EB1C:lI45|H39EC00
+39EC00:lI115|H39ECE4
+39ECE4:lI101|H39EDC8
+39EDC8:lI116|H39EE94
+39EE94:lI101|H39EF68
+39EF68:lI120|H39F044
+39F044:lI116|N
+39E4F8:lI101|H39E600
+39E600:lI116|H39E704
+39E704:lI120|N
+39E410:lH39E508|H39E514
+39E508:t2:H39E610,H39E618
+39E618:lI116|H39E71C
+39E71C:lI101|H39E820
+39E820:lI120|H39E92C
+39E92C:lI116|H39EA38
+39EA38:lI47|H39EB24
+39EB24:lI116|H39EC08
+39EC08:lI97|H39ECEC
+39ECEC:lI98|H39EDD0
+39EDD0:lI45|H39EE9C
+39EE9C:lI115|H39EF70
+39EF70:lI101|H39F04C
+39F04C:lI112|H39F120
+39F120:lI97|H39F1F4
+39F1F4:lI114|H39F2C0
+39F2C0:lI97|H39F37C
+39F37C:lI116|H39F440
+39F440:lI101|H39F50C
+39F50C:lI100|H39F5D0
+39F5D0:lI45|H39F6A4
+39F6A4:lI118|H39F778
+39F778:lI97|H39F84C
+39F84C:lI108|H39F930
+39F930:lI117|H39FA0C
+39FA0C:lI101|H39FAE0
+39FAE0:lI115|N
+39E610:lI116|H39E714
+39E714:lI115|H39E818
+39E818:lI118|N
+39E514:lH39E620|H39E62C
+39E620:t2:H39E724,H39E72C
+39E72C:lI116|H39E830
+39E830:lI101|H39E93C
+39E93C:lI120|H39EA40
+39EA40:lI116|H39EB2C
+39EB2C:lI47|H39EC10
+39EC10:lI114|H39ECF4
+39ECF4:lI105|H39EDD8
+39EDD8:lI99|H39EEA4
+39EEA4:lI104|H39EF78
+39EF78:lI116|H39F054
+39F054:lI101|H39F128
+39F128:lI120|H39F1FC
+39F1FC:lI116|N
+39E724:lI114|H39E828
+39E828:lI116|H39E934
+39E934:lI120|N
+39E62C:lH39E734|H39E740
+39E734:t2:H39E838,H39E840
+39E840:lI116|H39E94C
+39E94C:lI101|H39EA50
+39EA50:lI120|H39EB34
+39EB34:lI116|H39EC18
+39EC18:lI47|H39ECFC
+39ECFC:lI112|H39EDE0
+39EDE0:lI108|H39EEAC
+39EEAC:lI97|H39EF80
+39EF80:lI105|H39F05C
+39F05C:lI110|N
+39E838:lI116|H39E944
+39E944:lI120|H39EA48
+39EA48:lI116|N
+39E740:lH39E848|H39E854
+39E848:t2:H39E954,H39E95C
+39E95C:lI116|H39EA60
+39EA60:lI101|H39EB44
+39EB44:lI120|H39EC28
+39EC28:lI116|H39ED0C
+39ED0C:lI47|H39EDE8
+39EDE8:lI120|H39EEB4
+39EEB4:lI45|H39EF88
+39EF88:lI115|H39F064
+39F064:lI101|H39F130
+39F130:lI114|H39F204
+39F204:lI118|H39F2C8
+39F2C8:lI101|H39F384
+39F384:lI114|H39F448
+39F448:lI45|H39F514
+39F514:lI112|H39F5D8
+39F5D8:lI97|H39F6AC
+39F6AC:lI114|H39F780
+39F780:lI115|H39F854
+39F854:lI101|H39F938
+39F938:lI100|H39FA14
+39FA14:lI45|H39FAE8
+39FAE8:lI104|H39FBBC
+39FBBC:lI116|H39FC88
+39FC88:lI109|H39FD4C
+39FD4C:lI108|N
+39E954:lI115|H39EA58
+39EA58:lI104|H39EB3C
+39EB3C:lI116|H39EC20
+39EC20:lI109|H39ED04
+39ED04:lI108|N
+39E854:lH39E964|H39E970
+39E964:t2:H39EA68,H39EA70
+39EA70:lI116|H39EB54
+39EB54:lI101|H39EC38
+39EC38:lI120|H39ED1C
+39ED1C:lI116|H39EDF0
+39EDF0:lI47|H39EEBC
+39EEBC:lI104|H39EF90
+39EF90:lI116|H39F06C
+39F06C:lI109|H39F138
+39F138:lI108|N
+39EA68:lI104|H39EB4C
+39EB4C:lI116|H39EC30
+39EC30:lI109|H39ED14
+39ED14:lI108|N
+39E970:lH39EA78|H39EA84
+39EA78:t2:H39EB5C,H39EB64
+39EB64:lI116|H39EC48
+39EC48:lI101|H39ED2C
+39ED2C:lI120|H39EDF8
+39EDF8:lI116|H39EEC4
+39EEC4:lI47|H39EF98
+39EF98:lI104|H39F074
+39F074:lI116|H39F140
+39F140:lI109|H39F20C
+39F20C:lI108|N
+39EB5C:lI104|H39EC40
+39EC40:lI116|H39ED24
+39ED24:lI109|N
+39EA84:lH39EB6C|H39EB78
+39EB6C:t2:H39EC50,H39EC58
+39EC58:lI105|H39ED3C
+39ED3C:lI109|H39EE08
+39EE08:lI97|H39EECC
+39EECC:lI103|H39EFA0
+39EFA0:lI101|H39F07C
+39F07C:lI47|H39F148
+39F148:lI120|H39F214
+39F214:lI45|H39F2D0
+39F2D0:lI120|H39F38C
+39F38C:lI119|H39F450
+39F450:lI105|H39F51C
+39F51C:lI110|H39F5E0
+39F5E0:lI100|H39F6B4
+39F6B4:lI111|H39F788
+39F788:lI119|H39F85C
+39F85C:lI100|H39F940
+39F940:lI117|H39FA1C
+39FA1C:lI109|H39FAF0
+39FAF0:lI112|N
+39EC50:lI120|H39ED34
+39ED34:lI119|H39EE00
+39EE00:lI100|N
+39EB78:lH39EC60|H39EC6C
+39EC60:t2:H39ED44,H39ED4C
+39ED4C:lI105|H39EE18
+39EE18:lI109|H39EEDC
+39EEDC:lI97|H39EFA8
+39EFA8:lI103|H39F084
+39F084:lI101|H39F150
+39F150:lI47|H39F21C
+39F21C:lI120|H39F2D8
+39F2D8:lI45|H39F394
+39F394:lI120|H39F458
+39F458:lI112|H39F524
+39F524:lI105|H39F5E8
+39F5E8:lI120|H39F6BC
+39F6BC:lI109|H39F790
+39F790:lI97|H39F864
+39F864:lI112|N
+39ED44:lI120|H39EE10
+39EE10:lI112|H39EED4
+39EED4:lI109|N
+39EC6C:lH39ED54|H39ED60
+39ED54:t2:H39EE20,H39EE28
+39EE28:lI105|H39EEEC
+39EEEC:lI109|H39EFB8
+39EFB8:lI97|H39F08C
+39F08C:lI103|H39F158
+39F158:lI101|H39F224
+39F224:lI47|H39F2E0
+39F2E0:lI120|H39F39C
+39F39C:lI45|H39F460
+39F460:lI120|H39F52C
+39F52C:lI98|H39F5F0
+39F5F0:lI105|H39F6C4
+39F6C4:lI116|H39F798
+39F798:lI109|H39F86C
+39F86C:lI97|H39F948
+39F948:lI112|N
+39EE20:lI120|H39EEE4
+39EEE4:lI98|H39EFB0
+39EFB0:lI109|N
+39ED60:lH39EE30|H39EE3C
+39EE30:t2:H39EEF4,H39EEFC
+39EEFC:lI105|H39EFC8
+39EFC8:lI109|H39F09C
+39F09C:lI97|H39F160
+39F160:lI103|H39F22C
+39F22C:lI101|H39F2E8
+39F2E8:lI47|H39F3A4
+39F3A4:lI120|H39F468
+39F468:lI45|H39F534
+39F534:lI114|H39F5F8
+39F5F8:lI103|H39F6CC
+39F6CC:lI98|N
+39EEF4:lI114|H39EFC0
+39EFC0:lI103|H39F094
+39F094:lI98|N
+39EE3C:lH39EF04|H39EF10
+39EF04:t2:H39EFD0,H39EFD8
+39EFD8:lI105|H39F0AC
+39F0AC:lI109|H39F170
+39F170:lI97|H39F234
+39F234:lI103|H39F2F0
+39F2F0:lI101|H39F3AC
+39F3AC:lI47|H39F470
+39F470:lI120|H39F53C
+39F53C:lI45|H39F600
+39F600:lI112|H39F6D4
+39F6D4:lI111|H39F7A0
+39F7A0:lI114|H39F874
+39F874:lI116|H39F950
+39F950:lI97|H39FA24
+39FA24:lI98|H39FAF8
+39FAF8:lI108|H39FBC4
+39FBC4:lI101|H39FC90
+39FC90:lI45|H39FD54
+39FD54:lI112|H39FE18
+39FE18:lI105|H39FECC
+39FECC:lI120|H39FF88
+39FF88:lI109|H3A003C
+3A003C:lI97|H3A00E8
+3A00E8:lI112|N
+39EFD0:lI112|H39F0A4
+39F0A4:lI112|H39F168
+39F168:lI109|N
+39EF10:lH39EFE0|H39EFEC
+39EFE0:t2:H39F0B4,H39F0BC
+39F0BC:lI105|H39F180
+39F180:lI109|H39F244
+39F244:lI97|H39F2F8
+39F2F8:lI103|H39F3B4
+39F3B4:lI101|H39F478
+39F478:lI47|H39F544
+39F544:lI120|H39F608
+39F608:lI45|H39F6DC
+39F6DC:lI112|H39F7A8
+39F7A8:lI111|H39F87C
+39F87C:lI114|H39F958
+39F958:lI116|H39FA2C
+39FA2C:lI97|H39FB00
+39FB00:lI98|H39FBCC
+39FBCC:lI108|H39FC98
+39FC98:lI101|H39FD5C
+39FD5C:lI45|H39FE20
+39FE20:lI103|H39FED4
+39FED4:lI114|H39FF90
+39FF90:lI97|H3A0044
+3A0044:lI121|H3A00F0
+3A00F0:lI109|H3A0194
+3A0194:lI97|H3A0248
+3A0248:lI112|N
+39F0B4:lI112|H39F178
+39F178:lI103|H39F23C
+39F23C:lI109|N
+39EFEC:lH39F0C4|H39F0D0
+39F0C4:t2:H39F188,H39F190
+39F190:lI105|H39F254
+39F254:lI109|H39F308
+39F308:lI97|H39F3BC
+39F3BC:lI103|H39F480
+39F480:lI101|H39F54C
+39F54C:lI47|H39F610
+39F610:lI120|H39F6E4
+39F6E4:lI45|H39F7B0
+39F7B0:lI112|H39F884
+39F884:lI111|H39F960
+39F960:lI114|H39FA34
+39FA34:lI116|H39FB08
+39FB08:lI97|H39FBD4
+39FBD4:lI98|H39FCA0
+39FCA0:lI108|H39FD64
+39FD64:lI101|H39FE28
+39FE28:lI45|H39FEDC
+39FEDC:lI98|H39FF98
+39FF98:lI105|H3A004C
+3A004C:lI116|H3A00F8
+3A00F8:lI109|H3A019C
+3A019C:lI97|H3A0250
+3A0250:lI112|N
+39F188:lI112|H39F24C
+39F24C:lI98|H39F300
+39F300:lI109|N
+39F0D0:lH39F198|H39F1A4
+39F198:t2:H39F25C,H39F264
+39F264:lI105|H39F318
+39F318:lI109|H39F3CC
+39F3CC:lI97|H39F488
+39F488:lI103|H39F554
+39F554:lI101|H39F618
+39F618:lI47|H39F6EC
+39F6EC:lI120|H39F7B8
+39F7B8:lI45|H39F88C
+39F88C:lI112|H39F968
+39F968:lI111|H39FA3C
+39FA3C:lI114|H39FB10
+39FB10:lI116|H39FBDC
+39FBDC:lI97|H39FCA8
+39FCA8:lI98|H39FD6C
+39FD6C:lI108|H39FE30
+39FE30:lI101|H39FEE4
+39FEE4:lI45|H39FFA0
+39FFA0:lI97|H3A0054
+3A0054:lI110|H3A0100
+3A0100:lI121|H3A01A4
+3A01A4:lI109|H3A0258
+3A0258:lI97|H3A0304
+3A0304:lI112|N
+39F25C:lI112|H39F310
+39F310:lI110|H39F3C4
+39F3C4:lI109|N
+39F1A4:lH39F26C|H39F278
+39F26C:t2:H39F320,H39F328
+39F328:lI105|H39F3DC
+39F3DC:lI109|H39F498
+39F498:lI97|H39F55C
+39F55C:lI103|H39F620
+39F620:lI101|H39F6F4
+39F6F4:lI47|H39F7C0
+39F7C0:lI120|H39F894
+39F894:lI45|H39F970
+39F970:lI99|H39FA44
+39FA44:lI109|H39FB18
+39FB18:lI117|H39FBE4
+39FBE4:lI45|H39FCB0
+39FCB0:lI114|H39FD74
+39FD74:lI97|H39FE38
+39FE38:lI115|H39FEEC
+39FEEC:lI116|H39FFA8
+39FFA8:lI101|H3A005C
+3A005C:lI114|N
+39F320:lI114|H39F3D4
+39F3D4:lI97|H39F490
+39F490:lI115|N
+39F278:lH39F330|H39F33C
+39F330:t2:H39F3E4,H39F3EC
+39F3EC:lI105|H39F4A8
+39F4A8:lI109|H39F56C
+39F56C:lI97|H39F630
+39F630:lI103|H39F6FC
+39F6FC:lI101|H39F7C8
+39F7C8:lI47|H39F89C
+39F89C:lI116|H39F978
+39F978:lI105|H39FA4C
+39FA4C:lI102|H39FB20
+39FB20:lI102|N
+39F3E4:lI116|H39F4A0
+39F4A0:lI105|H39F564
+39F564:lI102|H39F628
+39F628:lI102|N
+39F33C:lH39F3F4|H39F400
+39F3F4:t2:H39F4B0,H39F4B8
+39F4B8:lI105|H39F57C
+39F57C:lI109|H39F640
+39F640:lI97|H39F704
+39F704:lI103|H39F7D0
+39F7D0:lI101|H39F8A4
+39F8A4:lI47|H39F980
+39F980:lI116|H39FA54
+39FA54:lI105|H39FB28
+39FB28:lI102|H39FBEC
+39FBEC:lI102|N
+39F4B0:lI116|H39F574
+39F574:lI105|H39F638
+39F638:lI102|N
+39F400:lH39F4C0|H39F4CC
+39F4C0:t2:H39F584,H39F58C
+39F58C:lI105|H39F650
+39F650:lI109|H39F714
+39F714:lI97|H39F7D8
+39F7D8:lI103|H39F8AC
+39F8AC:lI101|H39F988
+39F988:lI47|H39FA5C
+39FA5C:lI112|H39FB30
+39FB30:lI110|H39FBF4
+39FBF4:lI103|N
+39F584:lI112|H39F648
+39F648:lI110|H39F70C
+39F70C:lI103|N
+39F4CC:lH39F594|H39F5A0
+39F594:t2:H39F658,H39F660
+39F660:lI105|H39F724
+39F724:lI109|H39F7E8
+39F7E8:lI97|H39F8BC
+39F8BC:lI103|H39F990
+39F990:lI101|H39FA64
+39FA64:lI47|H39FB38
+39FB38:lI106|H39FBFC
+39FBFC:lI112|H39FCB8
+39FCB8:lI101|H39FD7C
+39FD7C:lI103|N
+39F658:lI106|H39F71C
+39F71C:lI112|H39F7E0
+39F7E0:lI101|H39F8B4
+39F8B4:lI103|N
+39F5A0:lH39F668|H39F674
+39F668:t2:H39F72C,H39F734
+39F734:lI105|H39F7F8
+39F7F8:lI109|H39F8CC
+39F8CC:lI97|H39F998
+39F998:lI103|H39FA6C
+39FA6C:lI101|H39FB40
+39FB40:lI47|H39FC04
+39FC04:lI106|H39FCC0
+39FCC0:lI112|H39FD84
+39FD84:lI101|H39FE40
+39FE40:lI103|N
+39F72C:lI106|H39F7F0
+39F7F0:lI112|H39F8C4
+39F8C4:lI103|N
+39F674:lH39F73C|H39F748
+39F73C:t2:H39F800,H39F808
+39F808:lI105|H39F8DC
+39F8DC:lI109|H39F9A8
+39F9A8:lI97|H39FA74
+39FA74:lI103|H39FB48
+39FB48:lI101|H39FC0C
+39FC0C:lI47|H39FCC8
+39FCC8:lI106|H39FD8C
+39FD8C:lI112|H39FE48
+39FE48:lI101|H39FEF4
+39FEF4:lI103|N
+39F800:lI106|H39F8D4
+39F8D4:lI112|H39F9A0
+39F9A0:lI101|N
+39F748:lH39F810|H39F81C
+39F810:t2:H39F8E4,H39F8EC
+39F8EC:lI105|H39F9B8
+39F9B8:lI109|H39FA84
+39FA84:lI97|H39FB50
+39FB50:lI103|H39FC14
+39FC14:lI101|H39FCD0
+39FCD0:lI47|H39FD94
+39FD94:lI105|H39FE50
+39FE50:lI101|H39FEFC
+39FEFC:lI102|N
+39F8E4:lI105|H39F9B0
+39F9B0:lI101|H39FA7C
+39FA7C:lI102|N
+39F81C:lH39F8F4|H39F900
+39F8F4:t2:H39F9C0,H39F9C8
+39F9C8:lI105|H39FA94
+39FA94:lI109|H39FB60
+39FB60:lI97|H39FC1C
+39FC1C:lI103|H39FCD8
+39FCD8:lI101|H39FD9C
+39FD9C:lI47|H39FE58
+39FE58:lI103|H39FF04
+39FF04:lI105|H39FFB0
+39FFB0:lI102|N
+39F9C0:lI103|H39FA8C
+39FA8C:lI105|H39FB58
+39FB58:lI102|N
+39F900:lH39F9D0|H39F9DC
+39F9D0:t2:H39FA9C,H39FAA4
+39FAA4:lI99|H39FB70
+39FB70:lI104|H39FC2C
+39FC2C:lI101|H39FCE0
+39FCE0:lI109|H39FDA4
+39FDA4:lI105|H39FE60
+39FE60:lI99|H39FF0C
+39FF0C:lI97|H39FFB8
+39FFB8:lI108|H3A0064
+3A0064:lI47|H3A0108
+3A0108:lI120|H3A01AC
+3A01AC:lI45|H3A0260
+3A0260:lI112|H3A030C
+3A030C:lI100|H3A03B8
+3A03B8:lI98|N
+39FA9C:lI112|H39FB68
+39FB68:lI100|H39FC24
+39FC24:lI98|N
+39F9DC:lH39FAAC|H39FAB8
+39FAAC:t2:H39FB78,H39FB80
+39FB80:lI99|H39FC3C
+39FC3C:lI104|H39FCF0
+39FCF0:lI101|H39FDAC
+39FDAC:lI109|H39FE68
+39FE68:lI105|H39FF14
+39FF14:lI99|H39FFC0
+39FFC0:lI97|H3A006C
+3A006C:lI108|H3A0110
+3A0110:lI47|H3A01B4
+3A01B4:lI120|H3A0268
+3A0268:lI45|H3A0314
+3A0314:lI112|H3A03C0
+3A03C0:lI100|H3A0454
+3A0454:lI98|N
+39FB78:lI120|H39FC34
+39FC34:lI121|H39FCE8
+39FCE8:lI122|N
+39FAB8:lH39FB88|H39FB94
+39FB88:t2:H39FC44,H39FC4C
+39FC4C:lI97|H39FD00
+39FD00:lI117|H39FDBC
+39FDBC:lI100|H39FE70
+39FE70:lI105|H39FF1C
+39FF1C:lI111|H39FFC8
+39FFC8:lI47|H3A0074
+3A0074:lI120|H3A0118
+3A0118:lI45|H3A01BC
+3A01BC:lI119|H3A0270
+3A0270:lI97|H3A031C
+3A031C:lI118|N
+39FC44:lI119|H39FCF8
+39FCF8:lI97|H39FDB4
+39FDB4:lI118|N
+39FB94:lH39FC54|H39FC60
+39FC54:t2:H39FD08,H39FD10
+39FD10:lI97|H39FDCC
+39FDCC:lI117|H39FE78
+39FE78:lI100|H39FF24
+39FF24:lI105|H39FFD0
+39FFD0:lI111|H3A007C
+3A007C:lI47|H3A0120
+3A0120:lI120|H3A01C4
+3A01C4:lI45|H3A0278
+3A0278:lI114|H3A0324
+3A0324:lI101|H3A03C8
+3A03C8:lI97|H3A045C
+3A045C:lI108|H3A04F8
+3A04F8:lI97|H3A059C
+3A059C:lI117|H3A0648
+3A0648:lI100|H3A06F4
+3A06F4:lI105|H3A07A0
+3A07A0:lI111|N
+39FD08:lI114|H39FDC4
+39FDC4:lI97|N
+39FC60:lH39FD18|H39FD24
+39FD18:t2:H39FDD4,H39FDDC
+39FDDC:lI97|H39FE88
+39FE88:lI117|H39FF34
+39FF34:lI100|H39FFD8
+39FFD8:lI105|H3A0084
+3A0084:lI111|H3A0128
+3A0128:lI47|H3A01CC
+3A01CC:lI120|H3A0280
+3A0280:lI45|H3A032C
+3A032C:lI112|H3A03D0
+3A03D0:lI110|H3A0464
+3A0464:lI45|H3A0500
+3A0500:lI114|H3A05A4
+3A05A4:lI101|H3A0650
+3A0650:lI97|H3A06FC
+3A06FC:lI108|H3A07A8
+3A07A8:lI97|H3A0844
+3A0844:lI117|H3A08D0
+3A08D0:lI100|H3A0964
+3A0964:lI105|H3A09F8
+3A09F8:lI111|H3A0A94
+3A0A94:lI45|H3A0B40
+3A0B40:lI112|H3A0BEC
+3A0BEC:lI108|H3A0CA8
+3A0CA8:lI117|H3A0D64
+3A0D64:lI103|H3A0E18
+3A0E18:lI105|H3A0ECC
+3A0ECC:lI110|N
+39FDD4:lI114|H39FE80
+39FE80:lI112|H39FF2C
+39FF2C:lI109|N
+39FD24:lH39FDE4|H39FDF0
+39FDE4:t2:H39FE90,H39FE98
+39FE98:lI97|H39FF44
+39FF44:lI117|H39FFE8
+39FFE8:lI100|H3A008C
+3A008C:lI105|H3A0130
+3A0130:lI111|H3A01D4
+3A01D4:lI47|H3A0288
+3A0288:lI120|H3A0334
+3A0334:lI45|H3A03D8
+3A03D8:lI112|H3A046C
+3A046C:lI110|H3A0508
+3A0508:lI45|H3A05AC
+3A05AC:lI114|H3A0658
+3A0658:lI101|H3A0704
+3A0704:lI97|H3A07B0
+3A07B0:lI108|H3A084C
+3A084C:lI97|H3A08D8
+3A08D8:lI117|H3A096C
+3A096C:lI100|H3A0A00
+3A0A00:lI105|H3A0A9C
+3A0A9C:lI111|N
+39FE90:lI114|H39FF3C
+39FF3C:lI97|H39FFE0
+39FFE0:lI109|N
+39FDF0:lH39FEA0|H39FEAC
+39FEA0:t2:H39FF4C,H39FF54
+39FF54:lI97|H39FFF8
+39FFF8:lI117|H3A009C
+3A009C:lI100|H3A0138
+3A0138:lI105|H3A01DC
+3A01DC:lI111|H3A0290
+3A0290:lI47|H3A033C
+3A033C:lI120|H3A03E0
+3A03E0:lI45|H3A0474
+3A0474:lI97|H3A0510
+3A0510:lI105|H3A05B4
+3A05B4:lI102|H3A0660
+3A0660:lI102|N
+39FF4C:lI97|H39FFF0
+39FFF0:lI105|H3A0094
+3A0094:lI102|N
+39FEAC:lH39FF5C|H39FF68
+39FF5C:t2:H3A0000,H3A0008
+3A0008:lI97|H3A00AC
+3A00AC:lI117|H3A0148
+3A0148:lI100|H3A01EC
+3A01EC:lI105|H3A0298
+3A0298:lI111|H3A0344
+3A0344:lI47|H3A03E8
+3A03E8:lI120|H3A047C
+3A047C:lI45|H3A0518
+3A0518:lI97|H3A05BC
+3A05BC:lI105|H3A0668
+3A0668:lI102|H3A070C
+3A070C:lI102|N
+3A0000:lI97|H3A00A4
+3A00A4:lI105|H3A0140
+3A0140:lI102|H3A01E4
+3A01E4:lI102|N
+39FF68:lH3A0010|H3A001C
+3A0010:t2:H3A00B4,H3A00BC
+3A00BC:lI97|H3A0158
+3A0158:lI117|H3A01FC
+3A01FC:lI100|H3A02A8
+3A02A8:lI105|H3A034C
+3A034C:lI111|H3A03F0
+3A03F0:lI47|H3A0484
+3A0484:lI120|H3A0520
+3A0520:lI45|H3A05C4
+3A05C4:lI97|H3A0670
+3A0670:lI105|H3A0714
+3A0714:lI102|H3A07B8
+3A07B8:lI102|N
+3A00B4:lI97|H3A0150
+3A0150:lI105|H3A01F4
+3A01F4:lI102|H3A02A0
+3A02A0:lI99|N
+3A001C:lH3A00C4|H3A00D0
+3A00C4:t2:H3A0160,H3A0168
+3A0168:lI97|H3A020C
+3A020C:lI117|H3A02B8
+3A02B8:lI100|H3A035C
+3A035C:lI105|H3A03F8
+3A03F8:lI111|H3A048C
+3A048C:lI47|H3A0528
+3A0528:lI109|H3A05CC
+3A05CC:lI112|H3A0678
+3A0678:lI101|H3A071C
+3A071C:lI103|N
+3A0160:lI109|H3A0204
+3A0204:lI112|H3A02B0
+3A02B0:lI103|H3A0354
+3A0354:lI97|N
+3A00D0:lH3A0170|H3A017C
+3A0170:t2:H3A0214,H3A021C
+3A021C:lI97|H3A02C8
+3A02C8:lI117|H3A036C
+3A036C:lI100|H3A0400
+3A0400:lI105|H3A0494
+3A0494:lI111|H3A0530
+3A0530:lI47|H3A05D4
+3A05D4:lI109|H3A0680
+3A0680:lI112|H3A0724
+3A0724:lI101|H3A07C0
+3A07C0:lI103|N
+3A0214:lI109|H3A02C0
+3A02C0:lI112|H3A0364
+3A0364:lI50|N
+3A017C:lH3A0224|H3A0230
+3A0224:t2:H3A02D0,H3A02D8
+3A02D8:lI97|H3A037C
+3A037C:lI117|H3A0408
+3A0408:lI100|H3A049C
+3A049C:lI105|H3A0538
+3A0538:lI111|H3A05DC
+3A05DC:lI47|H3A0688
+3A0688:lI98|H3A072C
+3A072C:lI97|H3A07C8
+3A07C8:lI115|H3A0854
+3A0854:lI105|H3A08E0
+3A08E0:lI99|N
+3A02D0:lI97|H3A0374
+3A0374:lI117|N
+3A0230:lH3A02E0|H3A02EC
+3A02E0:t2:H3A0384,H3A038C
+3A038C:lI97|H3A0418
+3A0418:lI117|H3A04AC
+3A04AC:lI100|H3A0540
+3A0540:lI105|H3A05E4
+3A05E4:lI111|H3A0690
+3A0690:lI47|H3A0734
+3A0734:lI98|H3A07D0
+3A07D0:lI97|H3A085C
+3A085C:lI115|H3A08E8
+3A08E8:lI105|H3A0974
+3A0974:lI99|N
+3A0384:lI115|H3A0410
+3A0410:lI110|H3A04A4
+3A04A4:lI100|N
+3A02EC:lH3A0394|H3A03A0
+3A0394:t2:H3A0420,H3A0428
+3A0428:lI97|H3A04BC
+3A04BC:lI112|H3A0550
+3A0550:lI112|H3A05EC
+3A05EC:lI108|H3A0698
+3A0698:lI105|H3A073C
+3A073C:lI99|H3A07D8
+3A07D8:lI97|H3A0864
+3A0864:lI116|H3A08F0
+3A08F0:lI105|H3A097C
+3A097C:lI111|H3A0A08
+3A0A08:lI110|H3A0AA4
+3A0AA4:lI47|H3A0B48
+3A0B48:lI122|H3A0BF4
+3A0BF4:lI105|H3A0CB0
+3A0CB0:lI112|N
+3A0420:lI122|H3A04B4
+3A04B4:lI105|H3A0548
+3A0548:lI112|N
+3A03A0:lH3A0430|H3A043C
+3A0430:t2:H3A04C4,H3A04CC
+3A04CC:lI97|H3A0560
+3A0560:lI112|H3A05FC
+3A05FC:lI112|H3A06A0
+3A06A0:lI108|H3A0744
+3A0744:lI105|H3A07E0
+3A07E0:lI99|H3A086C
+3A086C:lI97|H3A08F8
+3A08F8:lI116|H3A0984
+3A0984:lI105|H3A0A10
+3A0A10:lI111|H3A0AAC
+3A0AAC:lI110|H3A0B50
+3A0B50:lI47|H3A0BFC
+3A0BFC:lI120|H3A0CB8
+3A0CB8:lI45|H3A0D6C
+3A0D6C:lI119|H3A0E20
+3A0E20:lI97|H3A0ED4
+3A0ED4:lI105|H3A0F90
+3A0F90:lI115|H3A105C
+3A105C:lI45|H3A1130
+3A1130:lI115|H3A1204
+3A1204:lI111|H3A12D0
+3A12D0:lI117|H3A13A4
+3A13A4:lI114|H3A1480
+3A1480:lI99|H3A1564
+3A1564:lI101|N
+3A04C4:lI115|H3A0558
+3A0558:lI114|H3A05F4
+3A05F4:lI99|N
+3A043C:lH3A04D4|H3A04E0
+3A04D4:t2:H3A0568,H3A0570
+3A0570:lI97|H3A060C
+3A060C:lI112|H3A06B0
+3A06B0:lI112|H3A0754
+3A0754:lI108|H3A07F0
+3A07F0:lI105|H3A0874
+3A0874:lI99|H3A0900
+3A0900:lI97|H3A098C
+3A098C:lI116|H3A0A18
+3A0A18:lI105|H3A0AB4
+3A0AB4:lI111|H3A0B58
+3A0B58:lI110|H3A0C04
+3A0C04:lI47|H3A0CC0
+3A0CC0:lI120|H3A0D74
+3A0D74:lI45|H3A0E28
+3A0E28:lI117|H3A0EDC
+3A0EDC:lI115|H3A0F98
+3A0F98:lI116|H3A1064
+3A1064:lI97|H3A1138
+3A1138:lI114|N
+3A0568:lI117|H3A0604
+3A0604:lI115|H3A06A8
+3A06A8:lI116|H3A074C
+3A074C:lI97|H3A07E8
+3A07E8:lI114|N
+3A04E0:lH3A0578|H3A0584
+3A0578:t2:H3A0614,H3A061C
+3A061C:lI97|H3A06C0
+3A06C0:lI112|H3A075C
+3A075C:lI112|H3A07F8
+3A07F8:lI108|H3A087C
+3A087C:lI105|H3A0908
+3A0908:lI99|H3A0994
+3A0994:lI97|H3A0A20
+3A0A20:lI116|H3A0ABC
+3A0ABC:lI105|H3A0B60
+3A0B60:lI111|H3A0C0C
+3A0C0C:lI110|H3A0CC8
+3A0CC8:lI47|H3A0D7C
+3A0D7C:lI120|H3A0E30
+3A0E30:lI45|H3A0EE4
+3A0EE4:lI116|H3A0FA0
+3A0FA0:lI114|H3A106C
+3A106C:lI111|H3A1140
+3A1140:lI102|H3A120C
+3A120C:lI102|H3A12D8
+3A12D8:lI45|H3A13AC
+3A13AC:lI109|H3A1488
+3A1488:lI115|N
+3A0614:lI109|H3A06B8
+3A06B8:lI115|N
+3A0584:lH3A0624|H3A0630
+3A0624:t2:H3A06C8,H3A06D0
+3A06D0:lI97|H3A076C
+3A076C:lI112|H3A0800
+3A0800:lI112|H3A0884
+3A0884:lI108|H3A0910
+3A0910:lI105|H3A099C
+3A099C:lI99|H3A0A28
+3A0A28:lI97|H3A0AC4
+3A0AC4:lI116|H3A0B68
+3A0B68:lI105|H3A0C14
+3A0C14:lI111|H3A0CD0
+3A0CD0:lI110|H3A0D84
+3A0D84:lI47|H3A0E38
+3A0E38:lI120|H3A0EEC
+3A0EEC:lI45|H3A0FA8
+3A0FA8:lI116|H3A1074
+3A1074:lI114|H3A1148
+3A1148:lI111|H3A1214
+3A1214:lI102|H3A12E0
+3A12E0:lI102|H3A13B4
+3A13B4:lI45|H3A1490
+3A1490:lI109|H3A156C
+3A156C:lI101|N
+3A06C8:lI109|H3A0764
+3A0764:lI101|N
+3A0630:lH3A06D8|H3A06E4
+3A06D8:t2:H3A0774,H3A077C
+3A077C:lI97|H3A0810
+3A0810:lI112|H3A0894
+3A0894:lI112|H3A0918
+3A0918:lI108|H3A09A4
+3A09A4:lI105|H3A0A30
+3A0A30:lI99|H3A0ACC
+3A0ACC:lI97|H3A0B70
+3A0B70:lI116|H3A0C1C
+3A0C1C:lI105|H3A0CD8
+3A0CD8:lI111|H3A0D8C
+3A0D8C:lI110|H3A0E40
+3A0E40:lI47|H3A0EF4
+3A0EF4:lI120|H3A0FB0
+3A0FB0:lI45|H3A107C
+3A107C:lI116|H3A1150
+3A1150:lI114|H3A121C
+3A121C:lI111|H3A12E8
+3A12E8:lI102|H3A13BC
+3A13BC:lI102|H3A1498
+3A1498:lI45|H3A1574
+3A1574:lI109|H3A1648
+3A1648:lI97|H3A171C
+3A171C:lI110|N
+3A0774:lI109|H3A0808
+3A0808:lI97|H3A088C
+3A088C:lI110|N
+3A06E4:lH3A0784|H3A0790
+3A0784:t2:H3A0818,H3A0820
+3A0820:lI97|H3A089C
+3A089C:lI112|H3A0920
+3A0920:lI112|H3A09AC
+3A09AC:lI108|H3A0A38
+3A0A38:lI105|H3A0AD4
+3A0AD4:lI99|H3A0B78
+3A0B78:lI97|H3A0C24
+3A0C24:lI116|H3A0CE0
+3A0CE0:lI105|H3A0D94
+3A0D94:lI111|H3A0E48
+3A0E48:lI110|H3A0EFC
+3A0EFC:lI47|H3A0FB8
+3A0FB8:lI120|H3A1084
+3A1084:lI45|H3A1158
+3A1158:lI116|H3A1224
+3A1224:lI114|H3A12F0
+3A12F0:lI111|H3A13C4
+3A13C4:lI102|H3A14A0
+3A14A0:lI102|N
+3A0818:lI116|N
+3A0790:lH3A0828|H3A0834
+3A0828:t2:H3A08A4,H3A08AC
+3A08AC:lI97|H3A0930
+3A0930:lI112|H3A09B4
+3A09B4:lI112|H3A0A40
+3A0A40:lI108|H3A0ADC
+3A0ADC:lI105|H3A0B80
+3A0B80:lI99|H3A0C2C
+3A0C2C:lI97|H3A0CE8
+3A0CE8:lI116|H3A0D9C
+3A0D9C:lI105|H3A0E50
+3A0E50:lI111|H3A0F04
+3A0F04:lI110|H3A0FC0
+3A0FC0:lI47|H3A108C
+3A108C:lI120|H3A1160
+3A1160:lI45|H3A122C
+3A122C:lI116|H3A12F8
+3A12F8:lI114|H3A13CC
+3A13CC:lI111|H3A14A8
+3A14A8:lI102|H3A157C
+3A157C:lI102|N
+3A08A4:lI116|H3A0928
+3A0928:lI114|N
+3A0834:lH3A08B4|H3A08C0
+3A08B4:t2:H3A0938,H3A0940
+3A0940:lI97|H3A09C4
+3A09C4:lI112|H3A0A50
+3A0A50:lI112|H3A0AEC
+3A0AEC:lI108|H3A0B88
+3A0B88:lI105|H3A0C34
+3A0C34:lI99|H3A0CF0
+3A0CF0:lI97|H3A0DA4
+3A0DA4:lI116|H3A0E58
+3A0E58:lI105|H3A0F0C
+3A0F0C:lI111|H3A0FC8
+3A0FC8:lI110|H3A1094
+3A1094:lI47|H3A1168
+3A1168:lI120|H3A1234
+3A1234:lI45|H3A1300
+3A1300:lI116|H3A13D4
+3A13D4:lI114|H3A14B0
+3A14B0:lI111|H3A1584
+3A1584:lI102|H3A1650
+3A1650:lI102|N
+3A0938:lI114|H3A09BC
+3A09BC:lI111|H3A0A48
+3A0A48:lI102|H3A0AE4
+3A0AE4:lI102|N
+3A08C0:lH3A0948|H3A0954
+3A0948:t2:H3A09CC,H3A09D4
+3A09D4:lI97|H3A0A60
+3A0A60:lI112|H3A0AFC
+3A0AFC:lI112|H3A0B98
+3A0B98:lI108|H3A0C44
+3A0C44:lI105|H3A0D00
+3A0D00:lI99|H3A0DB4
+3A0DB4:lI97|H3A0E60
+3A0E60:lI116|H3A0F14
+3A0F14:lI105|H3A0FD0
+3A0FD0:lI111|H3A109C
+3A109C:lI110|H3A1170
+3A1170:lI47|H3A123C
+3A123C:lI120|H3A1308
+3A1308:lI45|H3A13DC
+3A13DC:lI116|H3A14B8
+3A14B8:lI101|H3A158C
+3A158C:lI120|H3A1658
+3A1658:lI105|H3A1724
+3A1724:lI110|H3A17E8
+3A17E8:lI102|H3A18AC
+3A18AC:lI111|N
+3A09CC:lI116|H3A0A58
+3A0A58:lI101|H3A0AF4
+3A0AF4:lI120|H3A0B90
+3A0B90:lI105|H3A0C3C
+3A0C3C:lI110|H3A0CF8
+3A0CF8:lI102|H3A0DAC
+3A0DAC:lI111|N
+3A0954:lH3A09DC|H3A09E8
+3A09DC:t2:H3A0A68,H3A0A70
+3A0A70:lI97|H3A0B0C
+3A0B0C:lI112|H3A0BA8
+3A0BA8:lI112|H3A0C54
+3A0C54:lI108|H3A0D08
+3A0D08:lI105|H3A0DBC
+3A0DBC:lI99|H3A0E68
+3A0E68:lI97|H3A0F1C
+3A0F1C:lI116|H3A0FD8
+3A0FD8:lI105|H3A10A4
+3A10A4:lI111|H3A1178
+3A1178:lI110|H3A1244
+3A1244:lI47|H3A1310
+3A1310:lI120|H3A13E4
+3A13E4:lI45|H3A14C0
+3A14C0:lI116|H3A1594
+3A1594:lI101|H3A1660
+3A1660:lI120|H3A172C
+3A172C:lI105|H3A17F0
+3A17F0:lI110|H3A18B4
+3A18B4:lI102|H3A1970
+3A1970:lI111|N
+3A0A68:lI116|H3A0B04
+3A0B04:lI101|H3A0BA0
+3A0BA0:lI120|H3A0C4C
+3A0C4C:lI105|N
+3A09E8:lH3A0A78|H3A0A84
+3A0A78:t2:H3A0B14,H3A0B1C
+3A0B1C:lI97|H3A0BB8
+3A0BB8:lI112|H3A0C64
+3A0C64:lI112|H3A0D10
+3A0D10:lI108|H3A0DC4
+3A0DC4:lI105|H3A0E70
+3A0E70:lI99|H3A0F24
+3A0F24:lI97|H3A0FE0
+3A0FE0:lI116|H3A10AC
+3A10AC:lI105|H3A1180
+3A1180:lI111|H3A124C
+3A124C:lI110|H3A1318
+3A1318:lI47|H3A13EC
+3A13EC:lI120|H3A14C8
+3A14C8:lI45|H3A159C
+3A159C:lI116|H3A1668
+3A1668:lI101|H3A1734
+3A1734:lI120|N
+3A0B14:lI116|H3A0BB0
+3A0BB0:lI101|H3A0C5C
+3A0C5C:lI120|N
+3A0A84:lH3A0B24|H3A0B30
+3A0B24:t2:H3A0BC0,H3A0BC8
+3A0BC8:lI97|H3A0C74
+3A0C74:lI112|H3A0D20
+3A0D20:lI112|H3A0DCC
+3A0DCC:lI108|H3A0E78
+3A0E78:lI105|H3A0F2C
+3A0F2C:lI99|H3A0FE8
+3A0FE8:lI97|H3A10B4
+3A10B4:lI116|H3A1188
+3A1188:lI105|H3A1254
+3A1254:lI111|H3A1320
+3A1320:lI110|H3A13F4
+3A13F4:lI47|H3A14D0
+3A14D0:lI120|H3A15A4
+3A15A4:lI45|H3A1670
+3A1670:lI116|H3A173C
+3A173C:lI99|H3A17F8
+3A17F8:lI108|N
+3A0BC0:lI116|H3A0C6C
+3A0C6C:lI99|H3A0D18
+3A0D18:lI108|N
+3A0B30:lH3A0BD0|H3A0BDC
+3A0BD0:t2:H3A0C7C,H3A0C84
+3A0C84:lI97|H3A0D30
+3A0D30:lI112|H3A0DDC
+3A0DDC:lI112|H3A0E80
+3A0E80:lI108|H3A0F34
+3A0F34:lI105|H3A0FF0
+3A0FF0:lI99|H3A10BC
+3A10BC:lI97|H3A1190
+3A1190:lI116|H3A125C
+3A125C:lI105|H3A1328
+3A1328:lI111|H3A13FC
+3A13FC:lI110|H3A14D8
+3A14D8:lI47|H3A15AC
+3A15AC:lI120|H3A1678
+3A1678:lI45|H3A1744
+3A1744:lI116|H3A1800
+3A1800:lI97|H3A18BC
+3A18BC:lI114|N
+3A0C7C:lI116|H3A0D28
+3A0D28:lI97|H3A0DD4
+3A0DD4:lI114|N
+3A0BDC:lH3A0C8C|H3A0C98
+3A0C8C:t2:H3A0D38,H3A0D40
+3A0D40:lI97|H3A0DEC
+3A0DEC:lI112|H3A0E90
+3A0E90:lI112|H3A0F44
+3A0F44:lI108|H3A1000
+3A1000:lI105|H3A10CC
+3A10CC:lI99|H3A1198
+3A1198:lI97|H3A1264
+3A1264:lI116|H3A1330
+3A1330:lI105|H3A1404
+3A1404:lI111|H3A14E0
+3A14E0:lI110|H3A15B4
+3A15B4:lI47|H3A1680
+3A1680:lI120|H3A174C
+3A174C:lI45|H3A1808
+3A1808:lI115|H3A18C4
+3A18C4:lI118|H3A1978
+3A1978:lI52|H3A1A2C
+3A1A2C:lI99|H3A1AE0
+3A1AE0:lI114|H3A1BA4
+3A1BA4:lI99|N
+3A0D38:lI115|H3A0DE4
+3A0DE4:lI118|H3A0E88
+3A0E88:lI52|H3A0F3C
+3A0F3C:lI99|H3A0FF8
+3A0FF8:lI114|H3A10C4
+3A10C4:lI99|N
+3A0C98:lH3A0D48|H3A0D54
+3A0D48:t2:H3A0DF4,H3A0DFC
+3A0DFC:lI97|H3A0EA0
+3A0EA0:lI112|H3A0F54
+3A0F54:lI112|H3A1010
+3A1010:lI108|H3A10DC
+3A10DC:lI105|H3A11A8
+3A11A8:lI99|H3A1274
+3A1274:lI97|H3A1338
+3A1338:lI116|H3A140C
+3A140C:lI105|H3A14E8
+3A14E8:lI111|H3A15BC
+3A15BC:lI110|H3A1688
+3A1688:lI47|H3A1754
+3A1754:lI120|H3A1810
+3A1810:lI45|H3A18CC
+3A18CC:lI115|H3A1980
+3A1980:lI118|H3A1A34
+3A1A34:lI52|H3A1AE8
+3A1AE8:lI99|H3A1BAC
+3A1BAC:lI112|H3A1C78
+3A1C78:lI105|H3A1D3C
+3A1D3C:lI111|N
+3A0DF4:lI115|H3A0E98
+3A0E98:lI118|H3A0F4C
+3A0F4C:lI52|H3A1008
+3A1008:lI99|H3A10D4
+3A10D4:lI112|H3A11A0
+3A11A0:lI105|H3A126C
+3A126C:lI111|N
+3A0D54:lH3A0E04|H3A0E10
+3A0E04:t2:H3A0EA8,H3A0EB0
+3A0EB0:lI97|H3A0F64
+3A0F64:lI112|H3A1020
+3A1020:lI112|H3A10E4
+3A10E4:lI108|H3A11B0
+3A11B0:lI105|H3A127C
+3A127C:lI99|H3A1340
+3A1340:lI97|H3A1414
+3A1414:lI116|H3A14F0
+3A14F0:lI105|H3A15C4
+3A15C4:lI111|H3A1690
+3A1690:lI110|H3A175C
+3A175C:lI47|H3A1818
+3A1818:lI120|H3A18D4
+3A18D4:lI45|H3A1988
+3A1988:lI115|H3A1A3C
+3A1A3C:lI116|H3A1AF0
+3A1AF0:lI117|H3A1BB4
+3A1BB4:lI102|H3A1C80
+3A1C80:lI102|H3A1D44
+3A1D44:lI105|H3A1E00
+3A1E00:lI116|N
+3A0EA8:lI115|H3A0F5C
+3A0F5C:lI105|H3A1018
+3A1018:lI116|N
+3A0E10:lH3A0EB8|H3A0EC4
+3A0EB8:t2:H3A0F6C,H3A0F74
+3A0F74:lI97|H3A1030
+3A1030:lI112|H3A10F4
+3A10F4:lI112|H3A11C0
+3A11C0:lI108|H3A1284
+3A1284:lI105|H3A1348
+3A1348:lI99|H3A141C
+3A141C:lI97|H3A14F8
+3A14F8:lI116|H3A15CC
+3A15CC:lI105|H3A1698
+3A1698:lI111|H3A1764
+3A1764:lI110|H3A1820
+3A1820:lI47|H3A18DC
+3A18DC:lI120|H3A1990
+3A1990:lI45|H3A1A44
+3A1A44:lI115|H3A1AF8
+3A1AF8:lI104|H3A1BBC
+3A1BBC:lI97|H3A1C88
+3A1C88:lI114|N
+3A0F6C:lI115|H3A1028
+3A1028:lI104|H3A10EC
+3A10EC:lI97|H3A11B8
+3A11B8:lI114|N
+3A0EC4:lH3A0F7C|H3A0F88
+3A0F7C:t2:H3A1038,H3A1040
+3A1040:lI97|H3A1104
+3A1104:lI112|H3A11C8
+3A11C8:lI112|H3A128C
+3A128C:lI108|H3A1350
+3A1350:lI105|H3A1424
+3A1424:lI99|H3A1500
+3A1500:lI97|H3A15D4
+3A15D4:lI116|H3A16A0
+3A16A0:lI105|H3A176C
+3A176C:lI111|H3A1828
+3A1828:lI110|H3A18E4
+3A18E4:lI47|H3A1998
+3A1998:lI120|H3A1A4C
+3A1A4C:lI45|H3A1B00
+3A1B00:lI115|H3A1BC4
+3A1BC4:lI104|N
+3A1038:lI115|H3A10FC
+3A10FC:lI104|N
+3A0F88:lH3A1048|H3A1054
+3A1048:t2:H3A110C,H3A1114
+3A1114:lI97|H3A11D8
+3A11D8:lI112|H3A1294
+3A1294:lI112|H3A1358
+3A1358:lI108|H3A142C
+3A142C:lI105|H3A1508
+3A1508:lI99|H3A15DC
+3A15DC:lI97|H3A16A8
+3A16A8:lI116|H3A1774
+3A1774:lI105|H3A1830
+3A1830:lI111|H3A18EC
+3A18EC:lI110|H3A19A0
+3A19A0:lI47|H3A1A54
+3A1A54:lI120|H3A1B08
+3A1B08:lI45|H3A1BCC
+3A1BCC:lI110|H3A1C90
+3A1C90:lI101|H3A1D4C
+3A1D4C:lI116|H3A1E08
+3A1E08:lI99|H3A1EC4
+3A1EC4:lI100|H3A1F88
+3A1F88:lI102|N
+3A110C:lI110|H3A11D0
+3A11D0:lI99|N
+3A1054:lH3A111C|H3A1128
+3A111C:t2:H3A11E0,H3A11E8
+3A11E8:lI97|H3A12A4
+3A12A4:lI112|H3A1368
+3A1368:lI112|H3A1434
+3A1434:lI108|H3A1510
+3A1510:lI105|H3A15E4
+3A15E4:lI99|H3A16B0
+3A16B0:lI97|H3A177C
+3A177C:lI116|H3A1838
+3A1838:lI105|H3A18F4
+3A18F4:lI111|H3A19A8
+3A19A8:lI110|H3A1A5C
+3A1A5C:lI47|H3A1B10
+3A1B10:lI120|H3A1BD4
+3A1BD4:lI45|H3A1C98
+3A1C98:lI110|H3A1D54
+3A1D54:lI101|H3A1E10
+3A1E10:lI116|H3A1ECC
+3A1ECC:lI99|H3A1F90
+3A1F90:lI100|H3A2044
+3A2044:lI102|N
+3A11E0:lI99|H3A129C
+3A129C:lI100|H3A1360
+3A1360:lI102|N
+3A1128:lH3A11F0|H3A11FC
+3A11F0:t2:H3A12AC,H3A12B4
+3A12B4:lI97|H3A1378
+3A1378:lI112|H3A1444
+3A1444:lI112|H3A1518
+3A1518:lI108|H3A15EC
+3A15EC:lI105|H3A16B8
+3A16B8:lI99|H3A1784
+3A1784:lI97|H3A1840
+3A1840:lI116|H3A18FC
+3A18FC:lI105|H3A19B0
+3A19B0:lI111|H3A1A64
+3A1A64:lI110|H3A1B18
+3A1B18:lI47|H3A1BDC
+3A1BDC:lI120|H3A1CA0
+3A1CA0:lI45|H3A1D5C
+3A1D5C:lI109|H3A1E18
+3A1E18:lI105|H3A1ED4
+3A1ED4:lI102|N
+3A12AC:lI109|H3A1370
+3A1370:lI105|H3A143C
+3A143C:lI102|N
+3A11FC:lH3A12BC|H3A12C8
+3A12BC:t2:H3A1380,H3A1388
+3A1388:lI97|H3A1454
+3A1454:lI112|H3A1528
+3A1528:lI112|H3A15FC
+3A15FC:lI108|H3A16C8
+3A16C8:lI105|H3A178C
+3A178C:lI99|H3A1848
+3A1848:lI97|H3A1904
+3A1904:lI116|H3A19B8
+3A19B8:lI105|H3A1A6C
+3A1A6C:lI111|H3A1B20
+3A1B20:lI110|H3A1BE4
+3A1BE4:lI47|H3A1CA8
+3A1CA8:lI120|H3A1D64
+3A1D64:lI45|H3A1E20
+3A1E20:lI108|H3A1EDC
+3A1EDC:lI97|H3A1F98
+3A1F98:lI116|H3A204C
+3A204C:lI101|H3A2108
+3A2108:lI120|N
+3A1380:lI108|H3A144C
+3A144C:lI97|H3A1520
+3A1520:lI116|H3A15F4
+3A15F4:lI101|H3A16C0
+3A16C0:lI120|N
+3A12C8:lH3A1390|H3A139C
+3A1390:t2:H3A145C,H3A1464
+3A1464:lI97|H3A1538
+3A1538:lI112|H3A160C
+3A160C:lI112|H3A16D0
+3A16D0:lI108|H3A1794
+3A1794:lI105|H3A1850
+3A1850:lI99|H3A190C
+3A190C:lI97|H3A19C0
+3A19C0:lI116|H3A1A74
+3A1A74:lI105|H3A1B28
+3A1B28:lI111|H3A1BEC
+3A1BEC:lI110|H3A1CB0
+3A1CB0:lI47|H3A1D6C
+3A1D6C:lI120|H3A1E28
+3A1E28:lI45|H3A1EE4
+3A1EE4:lI107|H3A1FA0
+3A1FA0:lI111|H3A2054
+3A2054:lI97|H3A2110
+3A2110:lI110|N
+3A145C:lI115|H3A1530
+3A1530:lI107|H3A1604
+3A1604:lI112|N
+3A139C:lH3A146C|H3A1478
+3A146C:t2:H3A1540,H3A1548
+3A1548:lI97|H3A161C
+3A161C:lI112|H3A16E0
+3A16E0:lI112|H3A179C
+3A179C:lI108|H3A1858
+3A1858:lI105|H3A1914
+3A1914:lI99|H3A19C8
+3A19C8:lI97|H3A1A7C
+3A1A7C:lI116|H3A1B30
+3A1B30:lI105|H3A1BF4
+3A1BF4:lI111|H3A1CB8
+3A1CB8:lI110|H3A1D74
+3A1D74:lI47|H3A1E30
+3A1E30:lI120|H3A1EEC
+3A1EEC:lI45|H3A1FA8
+3A1FA8:lI107|H3A205C
+3A205C:lI111|H3A2118
+3A2118:lI97|H3A21CC
+3A21CC:lI110|N
+3A1540:lI115|H3A1614
+3A1614:lI107|H3A16D8
+3A16D8:lI100|N
+3A1478:lH3A1550|H3A155C
+3A1550:t2:H3A1624,H3A162C
+3A162C:lI97|H3A16F0
+3A16F0:lI112|H3A17AC
+3A17AC:lI112|H3A1860
+3A1860:lI108|H3A191C
+3A191C:lI105|H3A19D0
+3A19D0:lI99|H3A1A84
+3A1A84:lI97|H3A1B38
+3A1B38:lI116|H3A1BFC
+3A1BFC:lI105|H3A1CC0
+3A1CC0:lI111|H3A1D7C
+3A1D7C:lI110|H3A1E38
+3A1E38:lI47|H3A1EF4
+3A1EF4:lI120|H3A1FB0
+3A1FB0:lI45|H3A2064
+3A2064:lI107|H3A2120
+3A2120:lI111|H3A21D4
+3A21D4:lI97|H3A2288
+3A2288:lI110|N
+3A1624:lI115|H3A16E8
+3A16E8:lI107|H3A17A4
+3A17A4:lI116|N
+3A155C:lH3A1634|H3A1640
+3A1634:t2:H3A16F8,H3A1700
+3A1700:lI97|H3A17BC
+3A17BC:lI112|H3A1870
+3A1870:lI112|H3A1924
+3A1924:lI108|H3A19D8
+3A19D8:lI105|H3A1A8C
+3A1A8C:lI99|H3A1B40
+3A1B40:lI97|H3A1C04
+3A1C04:lI116|H3A1CC8
+3A1CC8:lI105|H3A1D84
+3A1D84:lI111|H3A1E40
+3A1E40:lI110|H3A1EFC
+3A1EFC:lI47|H3A1FB8
+3A1FB8:lI120|H3A206C
+3A206C:lI45|H3A2128
+3A2128:lI107|H3A21DC
+3A21DC:lI111|H3A2290
+3A2290:lI97|H3A234C
+3A234C:lI110|N
+3A16F8:lI115|H3A17B4
+3A17B4:lI107|H3A1868
+3A1868:lI109|N
+3A1640:lH3A1708|H3A1714
+3A1708:t2:H3A17C4,H3A17CC
+3A17CC:lI97|H3A1880
+3A1880:lI112|H3A1934
+3A1934:lI112|H3A19E0
+3A19E0:lI108|H3A1A94
+3A1A94:lI105|H3A1B48
+3A1B48:lI99|H3A1C0C
+3A1C0C:lI97|H3A1CD0
+3A1CD0:lI116|H3A1D8C
+3A1D8C:lI105|H3A1E48
+3A1E48:lI111|H3A1F04
+3A1F04:lI110|H3A1FC0
+3A1FC0:lI47|H3A2074
+3A2074:lI120|H3A2130
+3A2130:lI45|H3A21E4
+3A21E4:lI104|H3A2298
+3A2298:lI116|H3A2354
+3A2354:lI116|H3A2410
+3A2410:lI112|H3A24C4
+3A24C4:lI100|H3A2580
+3A2580:lI45|H3A263C
+3A263C:lI99|H3A2700
+3A2700:lI103|H3A27BC
+3A27BC:lI105|N
+3A17C4:lI99|H3A1878
+3A1878:lI103|H3A192C
+3A192C:lI105|N
+3A1714:lH3A17D4|H3A17E0
+3A17D4:t2:H3A1888,H3A1890
+3A1890:lI97|H3A1944
+3A1944:lI112|H3A19F0
+3A19F0:lI112|H3A1A9C
+3A1A9C:lI108|H3A1B50
+3A1B50:lI105|H3A1C14
+3A1C14:lI99|H3A1CD8
+3A1CD8:lI97|H3A1D94
+3A1D94:lI116|H3A1E50
+3A1E50:lI105|H3A1F0C
+3A1F0C:lI111|H3A1FC8
+3A1FC8:lI110|H3A207C
+3A207C:lI47|H3A2138
+3A2138:lI120|H3A21EC
+3A21EC:lI45|H3A22A0
+3A22A0:lI104|H3A235C
+3A235C:lI100|H3A2418
+3A2418:lI102|N
+3A1888:lI104|H3A193C
+3A193C:lI100|H3A19E8
+3A19E8:lI102|N
+3A17E0:lH3A1898|H3A18A4
+3A1898:t2:H3A194C,H3A1954
+3A1954:lI97|H3A1A00
+3A1A00:lI112|H3A1AA4
+3A1AA4:lI112|H3A1B58
+3A1B58:lI108|H3A1C1C
+3A1C1C:lI105|H3A1CE0
+3A1CE0:lI99|H3A1D9C
+3A1D9C:lI97|H3A1E58
+3A1E58:lI116|H3A1F14
+3A1F14:lI105|H3A1FD0
+3A1FD0:lI111|H3A2084
+3A2084:lI110|H3A2140
+3A2140:lI47|H3A21F4
+3A21F4:lI120|H3A22A8
+3A22A8:lI45|H3A2364
+3A2364:lI103|H3A2420
+3A2420:lI122|H3A24CC
+3A24CC:lI105|H3A2588
+3A2588:lI112|N
+3A194C:lI103|H3A19F8
+3A19F8:lI122|N
+3A18A4:lH3A195C|H3A1968
+3A195C:t2:H3A1A08,H3A1A10
+3A1A10:lI97|H3A1AB4
+3A1AB4:lI112|H3A1B68
+3A1B68:lI112|H3A1C2C
+3A1C2C:lI108|H3A1CE8
+3A1CE8:lI105|H3A1DA4
+3A1DA4:lI99|H3A1E60
+3A1E60:lI97|H3A1F1C
+3A1F1C:lI116|H3A1FD8
+3A1FD8:lI105|H3A208C
+3A208C:lI111|H3A2148
+3A2148:lI110|H3A21FC
+3A21FC:lI47|H3A22B0
+3A22B0:lI120|H3A236C
+3A236C:lI45|H3A2428
+3A2428:lI103|H3A24D4
+3A24D4:lI116|H3A2590
+3A2590:lI97|H3A2644
+3A2644:lI114|N
+3A1A08:lI103|H3A1AAC
+3A1AAC:lI116|H3A1B60
+3A1B60:lI97|H3A1C24
+3A1C24:lI114|N
+3A1968:lH3A1A18|H3A1A24
+3A1A18:t2:H3A1ABC,H3A1AC4
+3A1AC4:lI97|H3A1B78
+3A1B78:lI112|H3A1C3C
+3A1C3C:lI112|H3A1CF0
+3A1CF0:lI108|H3A1DAC
+3A1DAC:lI105|H3A1E68
+3A1E68:lI99|H3A1F24
+3A1F24:lI97|H3A1FE0
+3A1FE0:lI116|H3A2094
+3A2094:lI105|H3A2150
+3A2150:lI111|H3A2204
+3A2204:lI110|H3A22B8
+3A22B8:lI47|H3A2374
+3A2374:lI120|H3A2430
+3A2430:lI45|H3A24DC
+3A24DC:lI100|H3A2598
+3A2598:lI118|H3A264C
+3A264C:lI105|N
+3A1ABC:lI100|H3A1B70
+3A1B70:lI118|H3A1C34
+3A1C34:lI105|N
+3A1A24:lH3A1ACC|H3A1AD8
+3A1ACC:t2:H3A1B80,H3A1B88
+3A1B88:lI97|H3A1C4C
+3A1C4C:lI112|H3A1D00
+3A1D00:lI112|H3A1DB4
+3A1DB4:lI108|H3A1E70
+3A1E70:lI105|H3A1F2C
+3A1F2C:lI99|H3A1FE8
+3A1FE8:lI97|H3A209C
+3A209C:lI116|H3A2158
+3A2158:lI105|H3A220C
+3A220C:lI111|H3A22C0
+3A22C0:lI110|H3A237C
+3A237C:lI47|H3A2438
+3A2438:lI120|H3A24E4
+3A24E4:lI45|H3A25A0
+3A25A0:lI100|H3A2654
+3A2654:lI105|H3A2708
+3A2708:lI114|H3A27C4
+3A27C4:lI101|H3A2880
+3A2880:lI99|H3A2944
+3A2944:lI116|H3A2A10
+3A2A10:lI111|H3A2ADC
+3A2ADC:lI114|N
+3A1B80:lI100|H3A1C44
+3A1C44:lI99|H3A1CF8
+3A1CF8:lI114|N
+3A1AD8:lH3A1B90|H3A1B9C
+3A1B90:t2:H3A1C54,H3A1C5C
+3A1C5C:lI97|H3A1D10
+3A1D10:lI112|H3A1DC4
+3A1DC4:lI112|H3A1E78
+3A1E78:lI108|H3A1F34
+3A1F34:lI105|H3A1FF0
+3A1FF0:lI99|H3A20A4
+3A20A4:lI97|H3A2160
+3A2160:lI116|H3A2214
+3A2214:lI105|H3A22C8
+3A22C8:lI111|H3A2384
+3A2384:lI110|H3A2440
+3A2440:lI47|H3A24EC
+3A24EC:lI120|H3A25A8
+3A25A8:lI45|H3A265C
+3A265C:lI100|H3A2710
+3A2710:lI105|H3A27CC
+3A27CC:lI114|H3A2888
+3A2888:lI101|H3A294C
+3A294C:lI99|H3A2A18
+3A2A18:lI116|H3A2AE4
+3A2AE4:lI111|H3A2BB0
+3A2BB0:lI114|N
+3A1C54:lI100|H3A1D08
+3A1D08:lI105|H3A1DBC
+3A1DBC:lI114|N
+3A1B9C:lH3A1C64|H3A1C70
+3A1C64:t2:H3A1D18,H3A1D20
+3A1D20:lI97|H3A1DD4
+3A1DD4:lI112|H3A1E88
+3A1E88:lI112|H3A1F3C
+3A1F3C:lI108|H3A1FF8
+3A1FF8:lI105|H3A20AC
+3A20AC:lI99|H3A2168
+3A2168:lI97|H3A221C
+3A221C:lI116|H3A22D0
+3A22D0:lI105|H3A238C
+3A238C:lI111|H3A2448
+3A2448:lI110|H3A24F4
+3A24F4:lI47|H3A25B0
+3A25B0:lI120|H3A2664
+3A2664:lI45|H3A2718
+3A2718:lI100|H3A27D4
+3A27D4:lI105|H3A2890
+3A2890:lI114|H3A2954
+3A2954:lI101|H3A2A20
+3A2A20:lI99|H3A2AEC
+3A2AEC:lI116|H3A2BB8
+3A2BB8:lI111|H3A2C74
+3A2C74:lI114|N
+3A1D18:lI100|H3A1DCC
+3A1DCC:lI120|H3A1E80
+3A1E80:lI114|N
+3A1C70:lH3A1D28|H3A1D34
+3A1D28:t2:H3A1DDC,H3A1DE4
+3A1DE4:lI97|H3A1E98
+3A1E98:lI112|H3A1F4C
+3A1F4C:lI112|H3A2000
+3A2000:lI108|H3A20B4
+3A20B4:lI105|H3A2170
+3A2170:lI99|H3A2224
+3A2224:lI97|H3A22D8
+3A22D8:lI116|H3A2394
+3A2394:lI105|H3A2450
+3A2450:lI111|H3A24FC
+3A24FC:lI110|H3A25B8
+3A25B8:lI47|H3A266C
+3A266C:lI120|H3A2720
+3A2720:lI45|H3A27DC
+3A27DC:lI99|H3A2898
+3A2898:lI115|H3A295C
+3A295C:lI104|N
+3A1DDC:lI99|H3A1E90
+3A1E90:lI115|H3A1F44
+3A1F44:lI104|N
+3A1D34:lH3A1DEC|H3A1DF8
+3A1DEC:t2:H3A1EA0,H3A1EA8
+3A1EA8:lI97|H3A1F5C
+3A1F5C:lI112|H3A2010
+3A2010:lI112|H3A20C4
+3A20C4:lI108|H3A2178
+3A2178:lI105|H3A222C
+3A222C:lI99|H3A22E0
+3A22E0:lI97|H3A239C
+3A239C:lI116|H3A2458
+3A2458:lI105|H3A2504
+3A2504:lI111|H3A25C0
+3A25C0:lI110|H3A2674
+3A2674:lI47|H3A2728
+3A2728:lI120|H3A27E4
+3A27E4:lI45|H3A28A0
+3A28A0:lI99|H3A2964
+3A2964:lI112|H3A2A28
+3A2A28:lI105|H3A2AF4
+3A2AF4:lI111|N
+3A1EA0:lI99|H3A1F54
+3A1F54:lI112|H3A2008
+3A2008:lI105|H3A20BC
+3A20BC:lI111|N
+3A1DF8:lH3A1EB0|H3A1EBC
+3A1EB0:t2:H3A1F64,H3A1F6C
+3A1F6C:lI97|H3A2018
+3A2018:lI112|H3A20CC
+3A20CC:lI112|H3A2180
+3A2180:lI108|H3A2234
+3A2234:lI105|H3A22E8
+3A22E8:lI99|H3A23A4
+3A23A4:lI97|H3A2460
+3A2460:lI116|H3A250C
+3A250C:lI105|H3A25C8
+3A25C8:lI111|H3A267C
+3A267C:lI110|H3A2730
+3A2730:lI47|H3A27EC
+3A27EC:lI120|H3A28A8
+3A28A8:lI45|H3A296C
+3A296C:lI99|H3A2A30
+3A2A30:lI111|H3A2AFC
+3A2AFC:lI109|H3A2BC0
+3A2BC0:lI112|H3A2C7C
+3A2C7C:lI114|H3A2D2C
+3A2D2C:lI101|H3A2DD4
+3A2DD4:lI115|H3A2E6C
+3A2E6C:lI115|N
+3A1F64:lI90|N
+3A1EBC:lH3A1F74|H3A1F80
+3A1F74:t2:H3A2020,H3A2028
+3A2028:lI97|H3A20DC
+3A20DC:lI112|H3A2190
+3A2190:lI112|H3A223C
+3A223C:lI108|H3A22F0
+3A22F0:lI105|H3A23AC
+3A23AC:lI99|H3A2468
+3A2468:lI97|H3A2514
+3A2514:lI116|H3A25D0
+3A25D0:lI105|H3A2684
+3A2684:lI111|H3A2738
+3A2738:lI110|H3A27F4
+3A27F4:lI47|H3A28B0
+3A28B0:lI120|H3A2974
+3A2974:lI45|H3A2A38
+3A2A38:lI99|H3A2B04
+3A2B04:lI100|H3A2BC8
+3A2BC8:lI108|H3A2C84
+3A2C84:lI105|H3A2D34
+3A2D34:lI110|H3A2DDC
+3A2DDC:lI107|N
+3A2020:lI118|H3A20D4
+3A20D4:lI99|H3A2188
+3A2188:lI100|N
+3A1F80:lH3A2030|H3A203C
+3A2030:t2:H3A20E4,H3A20EC
+3A20EC:lI97|H3A21A0
+3A21A0:lI112|H3A224C
+3A224C:lI112|H3A2300
+3A2300:lI108|H3A23BC
+3A23BC:lI105|H3A2470
+3A2470:lI99|H3A251C
+3A251C:lI97|H3A25D8
+3A25D8:lI116|H3A268C
+3A268C:lI105|H3A2740
+3A2740:lI111|H3A27FC
+3A27FC:lI110|H3A28B8
+3A28B8:lI47|H3A297C
+3A297C:lI120|H3A2A40
+3A2A40:lI45|H3A2B0C
+3A2B0C:lI98|H3A2BD0
+3A2BD0:lI99|H3A2C8C
+3A2C8C:lI112|H3A2D3C
+3A2D3C:lI105|H3A2DE4
+3A2DE4:lI111|N
+3A20E4:lI98|H3A2198
+3A2198:lI99|H3A2244
+3A2244:lI112|H3A22F8
+3A22F8:lI105|H3A23B4
+3A23B4:lI111|N
+3A203C:lH3A20F4|H3A2100
+3A20F4:t2:H3A21A8,H3A21B0
+3A21B0:lI97|H3A225C
+3A225C:lI112|H3A2310
+3A2310:lI112|H3A23C4
+3A23C4:lI108|H3A2478
+3A2478:lI105|H3A2524
+3A2524:lI99|H3A25E0
+3A25E0:lI97|H3A2694
+3A2694:lI116|H3A2748
+3A2748:lI105|H3A2804
+3A2804:lI111|H3A28C0
+3A28C0:lI110|H3A2984
+3A2984:lI47|H3A2A48
+3A2A48:lI114|H3A2B14
+3A2B14:lI116|H3A2BD8
+3A2BD8:lI102|N
+3A21A8:lI114|H3A2254
+3A2254:lI116|H3A2308
+3A2308:lI102|N
+3A2100:lH3A21B8|H3A21C4
+3A21B8:t2:H3A2264,H3A226C
+3A226C:lI97|H3A2320
+3A2320:lI112|H3A23D4
+3A23D4:lI112|H3A2480
+3A2480:lI108|H3A252C
+3A252C:lI105|H3A25E8
+3A25E8:lI99|H3A269C
+3A269C:lI97|H3A2750
+3A2750:lI116|H3A280C
+3A280C:lI105|H3A28C8
+3A28C8:lI111|H3A298C
+3A298C:lI110|H3A2A50
+3A2A50:lI47|H3A2B1C
+3A2B1C:lI112|H3A2BE0
+3A2BE0:lI111|H3A2C94
+3A2C94:lI119|H3A2D44
+3A2D44:lI101|H3A2DEC
+3A2DEC:lI114|H3A2E74
+3A2E74:lI112|H3A2EEC
+3A2EEC:lI111|H3A2F64
+3A2F64:lI105|H3A2FD4
+3A2FD4:lI110|H3A303C
+3A303C:lI116|N
+3A2264:lI112|H3A2318
+3A2318:lI112|H3A23CC
+3A23CC:lI116|N
+3A21C4:lH3A2274|H3A2280
+3A2274:t2:H3A2328,H3A2330
+3A2330:lI97|H3A23E4
+3A23E4:lI112|H3A2488
+3A2488:lI112|H3A2534
+3A2534:lI108|H3A25F0
+3A25F0:lI105|H3A26A4
+3A26A4:lI99|H3A2758
+3A2758:lI97|H3A2814
+3A2814:lI116|H3A28D0
+3A28D0:lI105|H3A2994
+3A2994:lI111|H3A2A58
+3A2A58:lI110|H3A2B24
+3A2B24:lI47|H3A2BE8
+3A2BE8:lI112|H3A2C9C
+3A2C9C:lI111|H3A2D4C
+3A2D4C:lI115|H3A2DF4
+3A2DF4:lI116|H3A2E7C
+3A2E7C:lI115|H3A2EF4
+3A2EF4:lI99|H3A2F6C
+3A2F6C:lI114|H3A2FDC
+3A2FDC:lI105|H3A3044
+3A3044:lI112|H3A30A4
+3A30A4:lI116|N
+3A2328:lI97|H3A23DC
+3A23DC:lI105|N
+3A2280:lH3A2338|H3A2344
+3A2338:t2:H3A23EC,H3A23F4
+3A23F4:lI97|H3A2498
+3A2498:lI112|H3A2544
+3A2544:lI112|H3A25F8
+3A25F8:lI108|H3A26AC
+3A26AC:lI105|H3A2760
+3A2760:lI99|H3A281C
+3A281C:lI97|H3A28D8
+3A28D8:lI116|H3A299C
+3A299C:lI105|H3A2A60
+3A2A60:lI111|H3A2B2C
+3A2B2C:lI110|H3A2BF0
+3A2BF0:lI47|H3A2CA4
+3A2CA4:lI112|H3A2D54
+3A2D54:lI111|H3A2DFC
+3A2DFC:lI115|H3A2E84
+3A2E84:lI116|H3A2EFC
+3A2EFC:lI115|H3A2F74
+3A2F74:lI99|H3A2FE4
+3A2FE4:lI114|H3A304C
+3A304C:lI105|H3A30AC
+3A30AC:lI112|H3A3104
+3A3104:lI116|N
+3A23EC:lI101|H3A2490
+3A2490:lI112|H3A253C
+3A253C:lI115|N
+3A2344:lH3A23FC|H3A2408
+3A23FC:t2:H3A24A0,H3A24A8
+3A24A8:lI97|H3A2554
+3A2554:lI112|H3A2600
+3A2600:lI112|H3A26B4
+3A26B4:lI108|H3A2768
+3A2768:lI105|H3A2824
+3A2824:lI99|H3A28E0
+3A28E0:lI97|H3A29A4
+3A29A4:lI116|H3A2A68
+3A2A68:lI105|H3A2B34
+3A2B34:lI111|H3A2BF8
+3A2BF8:lI110|H3A2CAC
+3A2CAC:lI47|H3A2D5C
+3A2D5C:lI112|H3A2E04
+3A2E04:lI111|H3A2E8C
+3A2E8C:lI115|H3A2F04
+3A2F04:lI116|H3A2F7C
+3A2F7C:lI115|H3A2FEC
+3A2FEC:lI99|H3A3054
+3A3054:lI114|H3A30B4
+3A30B4:lI105|H3A310C
+3A310C:lI112|H3A315C
+3A315C:lI116|N
+3A24A0:lI112|H3A254C
+3A254C:lI115|N
+3A2408:lH3A24B0|H3A24BC
+3A24B0:t2:H3A255C,H3A2564
+3A2564:lI97|H3A2610
+3A2610:lI112|H3A26C4
+3A26C4:lI112|H3A2770
+3A2770:lI108|H3A282C
+3A282C:lI105|H3A28E8
+3A28E8:lI99|H3A29AC
+3A29AC:lI97|H3A2A70
+3A2A70:lI116|H3A2B3C
+3A2B3C:lI105|H3A2C00
+3A2C00:lI111|H3A2CB4
+3A2CB4:lI110|H3A2D64
+3A2D64:lI47|H3A2E0C
+3A2E0C:lI112|H3A2E94
+3A2E94:lI100|H3A2F0C
+3A2F0C:lI102|N
+3A255C:lI112|H3A2608
+3A2608:lI100|H3A26BC
+3A26BC:lI102|N
+3A24BC:lH3A256C|H3A2578
+3A256C:t2:H3A2618,H3A2620
+3A2620:lI97|H3A26D4
+3A26D4:lI112|H3A2780
+3A2780:lI112|H3A2834
+3A2834:lI108|H3A28F0
+3A28F0:lI105|H3A29B4
+3A29B4:lI99|H3A2A78
+3A2A78:lI97|H3A2B44
+3A2B44:lI116|H3A2C08
+3A2C08:lI105|H3A2CBC
+3A2CBC:lI111|H3A2D6C
+3A2D6C:lI110|H3A2E14
+3A2E14:lI47|H3A2E9C
+3A2E9C:lI111|H3A2F14
+3A2F14:lI100|H3A2F84
+3A2F84:lI97|N
+3A2618:lI111|H3A26CC
+3A26CC:lI100|H3A2778
+3A2778:lI97|N
+3A2578:lH3A2628|H3A2634
+3A2628:t2:H3A26DC,H3A26E4
+3A26E4:lI97|H3A2790
+3A2790:lI112|H3A2844
+3A2844:lI112|H3A28F8
+3A28F8:lI108|H3A29BC
+3A29BC:lI105|H3A2A80
+3A2A80:lI99|H3A2B4C
+3A2B4C:lI97|H3A2C10
+3A2C10:lI116|H3A2CC4
+3A2CC4:lI105|H3A2D74
+3A2D74:lI111|H3A2E1C
+3A2E1C:lI110|H3A2EA4
+3A2EA4:lI47|H3A2F1C
+3A2F1C:lI111|H3A2F8C
+3A2F8C:lI99|H3A2FF4
+3A2FF4:lI116|H3A305C
+3A305C:lI101|H3A30BC
+3A30BC:lI116|H3A3114
+3A3114:lI45|H3A3164
+3A3164:lI115|H3A31AC
+3A31AC:lI116|H3A31F4
+3A31F4:lI114|H3A323C
+3A323C:lI101|H3A3284
+3A3284:lI97|H3A32CC
+3A32CC:lI109|N
+3A26DC:lI98|H3A2788
+3A2788:lI105|H3A283C
+3A283C:lI110|N
+3A2634:lH3A26EC|H3A26F8
+3A26EC:t2:H3A2798,H3A27A0
+3A27A0:lI97|H3A2854
+3A2854:lI112|H3A2908
+3A2908:lI112|H3A29C4
+3A29C4:lI108|H3A2A88
+3A2A88:lI105|H3A2B54
+3A2B54:lI99|H3A2C18
+3A2C18:lI97|H3A2CCC
+3A2CCC:lI116|H3A2D7C
+3A2D7C:lI105|H3A2E24
+3A2E24:lI111|H3A2EAC
+3A2EAC:lI110|H3A2F24
+3A2F24:lI47|H3A2F94
+3A2F94:lI111|H3A2FFC
+3A2FFC:lI99|H3A3064
+3A3064:lI116|H3A30C4
+3A30C4:lI101|H3A311C
+3A311C:lI116|H3A316C
+3A316C:lI45|H3A31B4
+3A31B4:lI115|H3A31FC
+3A31FC:lI116|H3A3244
+3A3244:lI114|H3A328C
+3A328C:lI101|H3A32D4
+3A32D4:lI97|H3A3314
+3A3314:lI109|N
+3A2798:lI100|H3A284C
+3A284C:lI109|H3A2900
+3A2900:lI115|N
+3A26F8:lH3A27A8|H3A27B4
+3A27A8:t2:H3A285C,H3A2864
+3A2864:lI97|H3A2918
+3A2918:lI112|H3A29D4
+3A29D4:lI112|H3A2A90
+3A2A90:lI108|H3A2B5C
+3A2B5C:lI105|H3A2C20
+3A2C20:lI99|H3A2CD4
+3A2CD4:lI97|H3A2D84
+3A2D84:lI116|H3A2E2C
+3A2E2C:lI105|H3A2EB4
+3A2EB4:lI111|H3A2F2C
+3A2F2C:lI110|H3A2F9C
+3A2F9C:lI47|H3A3004
+3A3004:lI111|H3A306C
+3A306C:lI99|H3A30CC
+3A30CC:lI116|H3A3124
+3A3124:lI101|H3A3174
+3A3174:lI116|H3A31BC
+3A31BC:lI45|H3A3204
+3A3204:lI115|H3A324C
+3A324C:lI116|H3A3294
+3A3294:lI114|H3A32DC
+3A32DC:lI101|H3A331C
+3A331C:lI97|H3A334C
+3A334C:lI109|N
+3A285C:lI108|H3A2910
+3A2910:lI104|H3A29CC
+3A29CC:lI97|N
+3A27B4:lH3A286C|H3A2878
+3A286C:t2:H3A2920,H3A2928
+3A2928:lI97|H3A29E4
+3A29E4:lI112|H3A2AA0
+3A2AA0:lI112|H3A2B64
+3A2B64:lI108|H3A2C28
+3A2C28:lI105|H3A2CDC
+3A2CDC:lI99|H3A2D8C
+3A2D8C:lI97|H3A2E34
+3A2E34:lI116|H3A2EBC
+3A2EBC:lI105|H3A2F34
+3A2F34:lI111|H3A2FA4
+3A2FA4:lI110|H3A300C
+3A300C:lI47|H3A3074
+3A3074:lI111|H3A30D4
+3A30D4:lI99|H3A312C
+3A312C:lI116|H3A317C
+3A317C:lI101|H3A31C4
+3A31C4:lI116|H3A320C
+3A320C:lI45|H3A3254
+3A3254:lI115|H3A329C
+3A329C:lI116|H3A32E4
+3A32E4:lI114|H3A3324
+3A3324:lI101|H3A3354
+3A3354:lI97|H3A337C
+3A337C:lI109|N
+3A2920:lI108|H3A29DC
+3A29DC:lI122|H3A2A98
+3A2A98:lI104|N
+3A2878:lH3A2930|H3A293C
+3A2930:t2:H3A29EC,H3A29F4
+3A29F4:lI97|H3A2AB0
+3A2AB0:lI112|H3A2B74
+3A2B74:lI112|H3A2C30
+3A2C30:lI108|H3A2CE4
+3A2CE4:lI105|H3A2D94
+3A2D94:lI99|H3A2E3C
+3A2E3C:lI97|H3A2EC4
+3A2EC4:lI116|H3A2F3C
+3A2F3C:lI105|H3A2FAC
+3A2FAC:lI111|H3A3014
+3A3014:lI110|H3A307C
+3A307C:lI47|H3A30DC
+3A30DC:lI111|H3A3134
+3A3134:lI99|H3A3184
+3A3184:lI116|H3A31CC
+3A31CC:lI101|H3A3214
+3A3214:lI116|H3A325C
+3A325C:lI45|H3A32A4
+3A32A4:lI115|H3A32EC
+3A32EC:lI116|H3A332C
+3A332C:lI114|H3A335C
+3A335C:lI101|H3A3384
+3A3384:lI97|H3A33A4
+3A33A4:lI109|N
+3A29EC:lI101|H3A2AA8
+3A2AA8:lI120|H3A2B6C
+3A2B6C:lI101|N
+3A293C:lH3A29FC|H3A2A08
+3A29FC:t2:H3A2AB8,H3A2AC0
+3A2AC0:lI97|H3A2B84
+3A2B84:lI112|H3A2C40
+3A2C40:lI112|H3A2CF4
+3A2CF4:lI108|H3A2DA4
+3A2DA4:lI105|H3A2E44
+3A2E44:lI99|H3A2ECC
+3A2ECC:lI97|H3A2F44
+3A2F44:lI116|H3A2FB4
+3A2FB4:lI105|H3A301C
+3A301C:lI111|H3A3084
+3A3084:lI110|H3A30E4
+3A30E4:lI47|H3A313C
+3A313C:lI111|H3A318C
+3A318C:lI99|H3A31D4
+3A31D4:lI116|H3A321C
+3A321C:lI101|H3A3264
+3A3264:lI116|H3A32AC
+3A32AC:lI45|H3A32F4
+3A32F4:lI115|H3A3334
+3A3334:lI116|H3A3364
+3A3364:lI114|H3A338C
+3A338C:lI101|H3A33AC
+3A33AC:lI97|H3A33C4
+3A33C4:lI109|N
+3A2AB8:lI99|H3A2B7C
+3A2B7C:lI108|H3A2C38
+3A2C38:lI97|H3A2CEC
+3A2CEC:lI115|H3A2D9C
+3A2D9C:lI115|N
+3A2A08:lH3A2AC8|H3A2AD4
+3A2AC8:t2:H3A2B8C,H3A2B94
+3A2B94:lI97|H3A2C50
+3A2C50:lI112|H3A2D04
+3A2D04:lI112|H3A2DAC
+3A2DAC:lI108|H3A2E4C
+3A2E4C:lI105|H3A2ED4
+3A2ED4:lI99|H3A2F4C
+3A2F4C:lI97|H3A2FBC
+3A2FBC:lI116|H3A3024
+3A3024:lI105|H3A308C
+3A308C:lI111|H3A30EC
+3A30EC:lI110|H3A3144
+3A3144:lI47|H3A3194
+3A3194:lI109|H3A31DC
+3A31DC:lI115|H3A3224
+3A3224:lI119|H3A326C
+3A326C:lI111|H3A32B4
+3A32B4:lI114|H3A32FC
+3A32FC:lI100|N
+3A2B8C:lI100|H3A2C48
+3A2C48:lI111|H3A2CFC
+3A2CFC:lI99|N
+3A2AD4:lH3A2B9C|H3A2BA8
+3A2B9C:t2:H3A2C58,H3A2C60
+3A2C60:lI97|H3A2D14
+3A2D14:lI112|H3A2DBC
+3A2DBC:lI112|H3A2E54
+3A2E54:lI108|H3A2EDC
+3A2EDC:lI105|H3A2F54
+3A2F54:lI99|H3A2FC4
+3A2FC4:lI97|H3A302C
+3A302C:lI116|H3A3094
+3A3094:lI105|H3A30F4
+3A30F4:lI111|H3A314C
+3A314C:lI110|H3A319C
+3A319C:lI47|H3A31E4
+3A31E4:lI109|H3A322C
+3A322C:lI97|H3A3274
+3A3274:lI99|H3A32BC
+3A32BC:lI45|H3A3304
+3A3304:lI99|H3A333C
+3A333C:lI111|H3A336C
+3A336C:lI109|H3A3394
+3A3394:lI112|H3A33B4
+3A33B4:lI97|H3A33CC
+3A33CC:lI99|H3A33DC
+3A33DC:lI116|H3A33EC
+3A33EC:lI112|H3A33FC
+3A33FC:lI114|H3A340C
+3A340C:lI111|N
+3A2C58:lI99|H3A2D0C
+3A2D0C:lI112|H3A2DB4
+3A2DB4:lI116|N
+3A2BA8:lH3A2C68|N
+3A2C68:t2:H3A2D1C,H3A2D24
+3A2D24:lI97|H3A2DCC
+3A2DCC:lI112|H3A2E64
+3A2E64:lI112|H3A2EE4
+3A2EE4:lI108|H3A2F5C
+3A2F5C:lI105|H3A2FCC
+3A2FCC:lI99|H3A3034
+3A3034:lI97|H3A309C
+3A309C:lI116|H3A30FC
+3A30FC:lI105|H3A3154
+3A3154:lI111|H3A31A4
+3A31A4:lI110|H3A31EC
+3A31EC:lI47|H3A3234
+3A3234:lI109|H3A327C
+3A327C:lI97|H3A32C4
+3A32C4:lI99|H3A330C
+3A330C:lI45|H3A3344
+3A3344:lI98|H3A3374
+3A3374:lI105|H3A339C
+3A339C:lI110|H3A33BC
+3A33BC:lI104|H3A33D4
+3A33D4:lI101|H3A33E4
+3A33E4:lI120|H3A33F4
+3A33F4:lI52|H3A3404
+3A3404:lI48|N
+3A2D1C:lI104|H3A2DC4
+3A2DC4:lI113|H3A2E5C
+3A2E5C:lI120|N
+39DC28:lH39DC68|H39DC74
+39DC68:t2:A4:port,I8888
+39DC74:lH39DCA8|H39DCB4
+39DCA8:t2:AC:bind_address,H39DCF8
+39DCF8:t4:I127,I0,I0,I1
+39DCB4:lH39DD0C|H39DD18
+39DD0C:t2:AB:server_name,H39DD6C
+39DD6C:lI108|H39DDE4
+39DDE4:lI111|H39DE5C
+39DE5C:lI99|H39DEE4
+39DEE4:lI97|H39DF6C
+39DF6C:lI108|H39E00C
+39E00C:lI104|H39E0B4
+39E0B4:lI111|H39E16C
+39E16C:lI115|H39E238
+39E238:lI116|N
+39DD18:lH39DD74|H39DD80
+39DD74:t2:AE:max_header_siz,I1024
+39DD80:lH39DDEC|H39DDF8
+39DDEC:t2:A11:max_header_action,A8:reply414
+39DDF8:lH39DE64|H39DE70
+39DE64:t2:A8:com_type,A7:ip_comm
+39DE70:lH39DEEC|H39DEF8
+39DEEC:t2:A7:modules,H39DF74
+39DF74:lA9:mod_alias|H39E014
+39E014:lA8:mod_auth|H39E0BC
+39E0BC:lA7:mod_esi|H39E174
+39E174:lAB:mod_actions|H39E240
+39E240:lA7:mod_cgi|H39E324
+39E324:lAB:mod_include|H39E418
+39E418:lA7:mod_dir|H39E51C
+39E51C:lA7:mod_get|H39E634
+39E634:lA8:mod_head|H39E748
+39E748:lA7:mod_log|H39E85C
+39E85C:lAC:mod_disk_log|N
+39DEF8:lH39DF7C|H39DF88
+39DF7C:t2:AF:directory_index,H39E01C
+39E01C:lH39E0C4|N
+39E0C4:lI105|H39E17C
+39E17C:lI110|H39E248
+39E248:lI100|H39E32C
+39E32C:lI101|H39E420
+39E420:lI120|H39E524
+39E524:lI46|H39E63C
+39E63C:lI104|H39E750
+39E750:lI116|H39E864
+39E864:lI109|H39E978
+39E978:lI108|N
+39DF88:lH39E024|H39E030
+39E024:t2:AC:default_type,H39E0CC
+39E0CC:lI116|H39E184
+39E184:lI101|H39E250
+39E250:lI120|H39E334
+39E334:lI116|H39E428
+39E428:lI47|H39E52C
+39E52C:lI112|H39E644
+39E644:lI108|H39E758
+39E758:lI97|H39E86C
+39E86C:lI105|H39E980
+39E980:lI110|N
+39E030:lH39E0D4|H39E0E0
+39E0D4:t2:A10:erl_script_alias,H39E18C
+39E18C:t2:H39E258,H39E260
+39E260:lH39E344|N
+39E344:lI119|H39E438
+39E438:lI101|H39E53C
+39E53C:lI98|H39E654
+39E654:lI116|H39E768
+39E768:lI111|H39E87C
+39E87C:lI111|H39E990
+39E990:lI108|N
+39E258:lI47|H39E33C
+39E33C:lI119|H39E430
+39E430:lI101|H39E534
+39E534:lI98|H39E64C
+39E64C:lI116|H39E760
+39E760:lI111|H39E874
+39E874:lI111|H39E988
+39E988:lI108|N
+39E0E0:lH39E198|H39E1A4
+39E198:t2:A5:alias,H39E268
+39E268:t2:H39E34C,H39E354
+39E354:lI47|H39E448
+39E448:lI99|H39E54C
+39E54C:lI108|H39E664
+39E664:lI101|H39E778
+39E778:lI97|H39E88C
+39E88C:lI114|H39E9A0
+39E9A0:lI99|H39EA94
+39EA94:lI97|H39EB88
+39EB88:lI115|H39EC7C
+39EC7C:lI101|H39ED70
+39ED70:lI47|H39EE4C
+39EE4C:lI111|H39EF20
+39EF20:lI116|H39EFFC
+39EFFC:lI112|H39F0E0
+39F0E0:lI47|H39F1B4
+39F1B4:lI101|H39F288
+39F288:lI114|H39F344
+39F344:lI116|H39F408
+39F408:lI115|H39F4D4
+39F4D4:lI47|H39F5A8
+39F5A8:lI108|H39F67C
+39F67C:lI105|H39F750
+39F750:lI98|H39F824
+39F824:lI47|H39F908
+39F908:lI111|H39F9E4
+39F9E4:lI98|H39FAC0
+39FAC0:lI115|H39FB9C
+39FB9C:lI101|H39FC68
+39FC68:lI114|H39FD2C
+39FD2C:lI118|H39FDF8
+39FDF8:lI101|H39FEB4
+39FEB4:lI114|H39FF70
+39FF70:lI47|H3A0024
+3A0024:lI112|H3A00D8
+3A00D8:lI114|H3A0184
+3A0184:lI105|H3A0238
+3A0238:lI118|H3A02F4
+3A02F4:lI47|H3A03A8
+3A03A8:lI99|H3A0444
+3A0444:lI114|H3A04E8
+3A04E8:lI97|H3A058C
+3A058C:lI115|H3A0638
+3A0638:lI104|H3A06EC
+3A06EC:lI100|H3A0798
+3A0798:lI117|H3A083C
+3A083C:lI109|H3A08C8
+3A08C8:lI112|H3A095C
+3A095C:lI95|H3A09F0
+3A09F0:lI118|H3A0A8C
+3A0A8C:lI105|H3A0B38
+3A0B38:lI101|H3A0BE4
+3A0BE4:lI119|H3A0CA0
+3A0CA0:lI101|H3A0D5C
+3A0D5C:lI114|N
+39E34C:lI47|H39E440
+39E440:lI99|H39E544
+39E544:lI114|H39E65C
+39E65C:lI97|H39E770
+39E770:lI115|H39E884
+39E884:lI104|H39E998
+39E998:lI100|H39EA8C
+39EA8C:lI117|H39EB80
+39EB80:lI109|H39EC74
+39EC74:lI112|H39ED68
+39ED68:lI95|H39EE44
+39EE44:lI118|H39EF18
+39EF18:lI105|H39EFF4
+39EFF4:lI101|H39F0D8
+39F0D8:lI119|H39F1AC
+39F1AC:lI101|H39F280
+39F280:lI114|N
+39E1A4:lH39E274|H39E280
+39E274:t2:A5:alias,H39E35C
+39E35C:t2:H39E450,H39E458
+39E458:lI47|H39E55C
+39E55C:lI99|H39E674
+39E674:lI108|H39E788
+39E788:lI101|H39E89C
+39E89C:lI97|H39E9B0
+39E9B0:lI114|H39EAA4
+39EAA4:lI99|H39EB98
+39EB98:lI97|H39EC8C
+39EC8C:lI115|H39ED80
+39ED80:lI101|H39EE5C
+39EE5C:lI47|H39EF30
+39EF30:lI111|H39F00C
+39F00C:lI116|H39F0F0
+39F0F0:lI112|H39F1C4
+39F1C4:lI47|H39F298
+39F298:lI101|H39F354
+39F354:lI114|H39F418
+39F418:lI116|H39F4E4
+39F4E4:lI115|H39F5B0
+39F5B0:lI47|H39F684
+39F684:lI101|H39F758
+39F758:lI114|H39F82C
+39F82C:lI116|H39F910
+39F910:lI115|H39F9EC
+39F9EC:lI47|H39FAC8
+39FAC8:lI100|H39FBA4
+39FBA4:lI111|H39FC70
+39FC70:lI99|H39FD34
+39FD34:lI47|H39FE00
+39FE00:lI104|H39FEBC
+39FEBC:lI116|H39FF78
+39FF78:lI109|H3A002C
+3A002C:lI108|N
+39E450:lI47|H39E554
+39E554:lI99|H39E66C
+39E66C:lI114|H39E780
+39E780:lI97|H39E894
+39E894:lI115|H39E9A8
+39E9A8:lI104|H39EA9C
+39EA9C:lI100|H39EB90
+39EB90:lI117|H39EC84
+39EC84:lI109|H39ED78
+39ED78:lI112|H39EE54
+39EE54:lI95|H39EF28
+39EF28:lI101|H39F004
+39F004:lI114|H39F0E8
+39F0E8:lI116|H39F1BC
+39F1BC:lI115|H39F290
+39F290:lI95|H39F34C
+39F34C:lI100|H39F410
+39F410:lI111|H39F4DC
+39F4DC:lI99|N
+39E280:lH39E368|H39E374
+39E368:t2:A5:alias,H39E460
+39E460:t2:H39E564,H39E56C
+39E56C:lI47|H39E684
+39E684:lI99|H39E798
+39E798:lI108|H39E8AC
+39E8AC:lI101|H39E9C0
+39E9C0:lI97|H39EAB4
+39EAB4:lI114|H39EBA8
+39EBA8:lI99|H39EC9C
+39EC9C:lI97|H39ED90
+39ED90:lI115|H39EE6C
+39EE6C:lI101|H39EF40
+39EF40:lI47|H39F01C
+39F01C:lI111|H39F100
+39F100:lI116|H39F1D4
+39F1D4:lI112|H39F2A0
+39F2A0:lI47|H39F35C
+39F35C:lI101|H39F420
+39F420:lI114|H39F4EC
+39F4EC:lI116|H39F5B8
+39F5B8:lI115|H39F68C
+39F68C:lI47|H39F760
+39F760:lI108|H39F834
+39F834:lI105|H39F918
+39F918:lI98|H39F9F4
+39F9F4:lI47|H39FAD0
+39FAD0:lI111|H39FBAC
+39FBAC:lI98|H39FC78
+39FC78:lI115|H39FD3C
+39FD3C:lI101|H39FE08
+39FE08:lI114|H39FEC4
+39FEC4:lI118|H39FF80
+39FF80:lI101|H3A0034
+3A0034:lI114|H3A00E0
+3A00E0:lI47|H3A018C
+3A018C:lI100|H3A0240
+3A0240:lI111|H3A02FC
+3A02FC:lI99|H3A03B0
+3A03B0:lI47|H3A044C
+3A044C:lI104|H3A04F0
+3A04F0:lI116|H3A0594
+3A0594:lI109|H3A0640
+3A0640:lI108|N
+39E564:lI47|H39E67C
+39E67C:lI99|H39E790
+39E790:lI114|H39E8A4
+39E8A4:lI97|H39E9B8
+39E9B8:lI115|H39EAAC
+39EAAC:lI104|H39EBA0
+39EBA0:lI100|H39EC94
+39EC94:lI117|H39ED88
+39ED88:lI109|H39EE64
+39EE64:lI112|H39EF38
+39EF38:lI95|H39F014
+39F014:lI100|H39F0F8
+39F0F8:lI111|H39F1CC
+39F1CC:lI99|N
+39E374:lH39E46C|N
+39E46C:t2:A10:erl_script_alias,H39E574
+39E574:t2:H39E68C,H39E694
+39E694:lH39E7A8|N
+39E7A8:lI99|H39E8BC
+39E8BC:lI114|H39E9D0
+39E9D0:lI97|H39EAC4
+39EAC4:lI115|H39EBB8
+39EBB8:lI104|H39ECAC
+39ECAC:lI100|H39EDA0
+39EDA0:lI117|H39EE74
+39EE74:lI109|H39EF48
+39EF48:lI112|H39F024
+39F024:lI95|H39F108
+39F108:lI118|H39F1DC
+39F1DC:lI105|H39F2A8
+39F2A8:lI101|H39F364
+39F364:lI119|H39F428
+39F428:lI101|H39F4F4
+39F4F4:lI114|N
+39E68C:lI47|H39E7A0
+39E7A0:lI99|H39E8B4
+39E8B4:lI100|H39E9C8
+39E9C8:lI118|H39EABC
+39EABC:lI95|H39EBB0
+39EBB0:lI101|H39ECA4
+39ECA4:lI114|H39ED98
+39ED98:lI108|N
+39DB58:lN|H39DB9C
+39DB9C:lH39D9FC|H39DBEC
+39D9FC:t4:I127,I0,I0,I1
+39DBEC:lI8888|N
+3A3E20:lH3A3DFC|H3A3704
+3A3DFC:t8:A5:child,P<0.46.0>,H39DAC8,H39DAD8,A9:permanent,I2000,A6:worker,H39DAE8
+39DAE8:lAD:httpd_manager|H39DB38
+39DB38:lAA:gen_server|N
+39DAD8:t3:AD:httpd_manager,AA:start_link,H39DB30
+39DB30:lA9:undefined|H39DB78
+39DB78:lH39DB50|H39DBC0
+39DBC0:lN|N
+39DAC8:t3:AD:httpd_manager,H39D9FC,I8888
+3A3704:lH3A36E0|H39D998
+3A36E0:t8:A5:child,P<0.45.0>,H39DA18,H39DA28,A9:permanent,I2000,AA:supervisor,H39DA38
+39DA38:lAE:httpd_misc_sup|H39DAC0
+39DAC0:lAA:supervisor|N
+39DA28:t3:AE:httpd_misc_sup,A5:start,H39D958
+39D958:lH39D9FC|H39DA10
+39DA10:lI8888|H39DAB8
+39DAB8:lA7:silence|N
+39DA18:t3:AE:httpd_misc_sup,H39D9FC,I8888
+39D998:lH39DA64|N
+39DA64:t8:A5:child,P<0.44.0>,H39DAF0,H39DB00,A9:permanent,I2000,AA:supervisor,H39DB10
+39DB10:lA12:httpd_acceptor_sup|H39DB48
+39DB48:lAA:supervisor|N
+39DB00:t3:A12:httpd_acceptor_sup,A5:start,H39DB40
+39DB40:lH39D9FC|H39DB80
+39DB80:lI8888|H39DBC8
+39DBC8:lA7:silence|N
+39DAF0:t3:A12:httpd_acceptor_sup,H39D9FC,I8888
+39D960:t2:A5:local,A1A:httpd_sup__127_0_0_1__8888
+39D9CC:lAA:gen_server|H39DA90
+39DA90:lP<0.33.0>|H39DB20
+39DB20:lP<0.33.0>|H39DB60
+39DB60:lH39DBA4|H39DBB0
+39DBA4:t2:A5:local,A1A:httpd_sup__127_0_0_1__8888
+39DBB0:lAA:supervisor|H39DBF4
+39DBF4:lH39DC30|H39DC40
+39DC30:t3:H39D960,A9:httpd_sup,H39DA88
+39DC40:lN|N
+39D940:t2:AD:$initial_call,H39D9E4
+39D9E4:t3:A3:gen,A7:init_it,H39D9CC
+39D94C:t2:AA:$ancestors,H39D9F4
+39D9F4:lA8:web_tool|H39DAB0
+39DAB0:lP<0.27.0>|N
+=proc_dictionary:<0.44.0>
+H3756A8
+H3756B4
+H3756C0
+H3756CC
+=proc_stack:<0.44.0>
+36c194:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36C030
+y4:A1E:httpd_acc_sup__127_0_0_1__8888
+y5:P<0.43.0>
+36c1b0:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H375710
+=proc_heap:<0.44.0>
+36C030:tA:A5:state,H3756D8,AB:one_for_one,H36C028,N,I500,I100,N,A12:httpd_acceptor_sup,H375730
+375730:lA7:silence|N
+36C028:lH36C004|N
+36C004:t8:A5:child,P<0.47.0>,H36BE80,H36BE90,A9:permanent,I1000,A6:worker,H36BEA0
+36BEA0:lAE:httpd_acceptor|N
+36BE90:t3:AE:httpd_acceptor,AA:start_link,H36BEE8
+36BEE8:lP<0.46.0>|H36BEF0
+36BEF0:lA7:ip_comm|H36BEF8
+36BEF8:lH36BF00|H36BF14
+36BF00:t4:I127,I0,I0,I1
+36BF14:lI8888|H36BF1C
+36BF1C:lA1B:httpd_conf__127_0_0_1__8888|H36BF24
+36BF24:lA7:silence|N
+36BE80:t3:AE:httpd_acceptor,H36BED4,I8888
+36BED4:t4:I127,I0,I0,I1
+3756D8:t2:A5:local,A1E:httpd_acc_sup__127_0_0_1__8888
+375710:lAA:gen_server|H375738
+375738:lP<0.43.0>|H375748
+375748:lP<0.43.0>|H375758
+375758:lH375760|H37576C
+375760:t2:A5:local,A1E:httpd_acc_sup__127_0_0_1__8888
+37576C:lAA:supervisor|H375774
+375774:lH37577C|H37578C
+37577C:t3:H3756D8,A12:httpd_acceptor_sup,H375730
+37578C:lN|N
+3756A8:t2:AD:$initial_call,H375718
+375718:t3:A3:gen,A7:init_it,H375710
+3756B4:t2:A9:verbosity,A7:silence
+3756C0:t2:AA:$ancestors,H375728
+375728:lA1A:httpd_sup__127_0_0_1__8888|H375740
+375740:lA8:web_tool|H375750
+375750:lP<0.27.0>|N
+3756CC:t2:A5:sname,A7:acc_sup
+=proc_dictionary:<0.45.0>
+H36F484
+H36F4F4
+H36F468
+H36F500
+=proc_stack:<0.45.0>
+36f734:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AA:supervisor
+y3:H36F5D0
+y4:A1F:httpd_misc_sup__127_0_0_1__8888
+y5:P<0.43.0>
+36f750:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H36F430
+=proc_heap:<0.45.0>
+36F5D0:tA:A5:state,H36F3FC,AB:one_for_one,N,N,I0,I1,N,AE:httpd_misc_sup,H36F408
+36F408:lA7:silence|N
+36F3FC:t2:A5:local,A1F:httpd_misc_sup__127_0_0_1__8888
+36F430:lAA:gen_server|H36F428
+36F428:lP<0.43.0>|H36F420
+36F420:lP<0.43.0>|H36F3D0
+36F3D0:lH36F3E0|H36F418
+36F3E0:t2:A5:local,A1F:httpd_misc_sup__127_0_0_1__8888
+36F418:lAA:supervisor|H36F3D8
+36F3D8:lH36F3EC|H36F410
+36F3EC:t3:H36F3FC,AE:httpd_misc_sup,H36F408
+36F410:lN|N
+36F484:t2:AD:$initial_call,H36F474
+36F474:t3:A3:gen,A7:init_it,H36F430
+36F4F4:t2:A9:verbosity,A7:silence
+36F468:t2:AA:$ancestors,H36F460
+36F460:lA1A:httpd_sup__127_0_0_1__8888|H36F440
+36F440:lA8:web_tool|H36F438
+36F438:lP<0.27.0>|N
+36F500:t2:A5:sname,A8:misc_sup
+=proc_dictionary:<0.46.0>
+H3BDA50
+H3BDA5C
+H3BDAC8
+H3BDB28
+H3BDB9C
+H3BDC00
+H3BDADC
+H3BDB3C
+=proc_stack:<0.46.0>
+39d8f4:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:AD:httpd_manager
+y3:H39D5A4
+y4:A16:httpd__127_0_0_1__8888
+y5:P<0.43.0>
+39d910:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H3BDAB0
+=proc_heap:<0.46.0>
+39D5A4:t9:A5:state,A7:ip_comm,A9:undefined,A1B:httpd_conf__127_0_0_1__8888,N,A9:unblocked,A9:undefined,A9:undefined,H39D430
+39D430:lH39BF40|H39D428
+39BF40:t2:A8:max_conn,I1
+39D428:lH39BC80|H39D420
+39BC80:t2:AF:last_heavy_load,A5:never
+39D420:lH39D414|N
+39D414:t2:AF:last_connection,H39D408
+39D408:t2:H39D3E8,H39D3F8
+39D3F8:t3:I11,I22,I34
+39D3E8:t3:I2004,I4,I21
+3BDAB0:lAA:gen_server|H3BDB20
+3BDB20:lP<0.43.0>|H3BDB94
+3BDB94:lP<0.43.0>|H3BDBF8
+3BDBF8:lH3BDC48|H3BDC54
+3BDC48:t2:A5:local,A16:httpd__127_0_0_1__8888
+3BDC54:lAD:httpd_manager|H3BDCAC
+3BDCAC:lH3BDD14|H3BDD1C
+3BDD14:lA9:undefined|H3BDD9C
+3BDD9C:lH3BDA84|H3BDE2C
+3BDA84:lH3BDAF0|H3BDAFC
+3BDAF0:t2:AB:server_root,H3BDB48
+3BDB48:lI47|H3BDBB0
+3BDBB0:lI99|H3BDC0C
+3BDC0C:lI108|H3BDC64
+3BDC64:lI101|H3BDCBC
+3BDCBC:lI97|H3BDD2C
+3BDD2C:lI114|H3BDDA4
+3BDDA4:lI99|H3BDE34
+3BDE34:lI97|H3BDED4
+3BDED4:lI115|H3BDF90
+3BDF90:lI101|H3BE054
+3BE054:lI47|H3BE128
+3BE128:lI111|H3BE204
+3BE204:lI116|H3BE2EC
+3BE2EC:lI112|H3BE3E0
+3BE3E0:lI47|H3BE4E4
+3BE4E4:lI101|H3BE5E8
+3BE5E8:lI114|H3BE6EC
+3BE6EC:lI116|H3BE7E0
+3BE7E0:lI115|H3BE8CC
+3BE8CC:lI47|H3BE9B8
+3BE9B8:lI108|H3BEAAC
+3BEAAC:lI105|H3BEB98
+3BEB98:lI98|H3BEC84
+3BEC84:lI47|H3BED70
+3BED70:lI119|H3BEE5C
+3BEE5C:lI101|H3BEF30
+3BEF30:lI98|H3BEFFC
+3BEFFC:lI116|H3BF0C8
+3BF0C8:lI111|H3BF19C
+3BF19C:lI111|H3BF260
+3BF260:lI108|H3BF314
+3BF314:lI47|H3BF3C0
+3BF3C0:lI112|H3BF474
+3BF474:lI114|H3BF530
+3BF530:lI105|H3BF5F4
+3BF5F4:lI118|H3BF6C8
+3BF6C8:lI47|H3BF79C
+3BF79C:lI114|H3BF870
+3BF870:lI111|H3BF954
+3BF954:lI111|H3BFA30
+3BFA30:lI116|N
+3BDAFC:lH3BDB50|H3BDB5C
+3BDB50:t2:AD:document_root,H3BDBB8
+3BDBB8:lI47|H3BDC14
+3BDC14:lI99|H3BDC6C
+3BDC6C:lI108|H3BDCC4
+3BDCC4:lI101|H3BDD34
+3BDD34:lI97|H3BDDAC
+3BDDAC:lI114|H3BDE3C
+3BDE3C:lI99|H3BDEDC
+3BDEDC:lI97|H3BDF98
+3BDF98:lI115|H3BE05C
+3BE05C:lI101|H3BE130
+3BE130:lI47|H3BE20C
+3BE20C:lI111|H3BE2F4
+3BE2F4:lI116|H3BE3E8
+3BE3E8:lI112|H3BE4EC
+3BE4EC:lI47|H3BE5F0
+3BE5F0:lI101|H3BE6F4
+3BE6F4:lI114|H3BE7E8
+3BE7E8:lI116|H3BE8D4
+3BE8D4:lI115|H3BE9C0
+3BE9C0:lI47|H3BEAB4
+3BEAB4:lI108|H3BEBA0
+3BEBA0:lI105|H3BEC8C
+3BEC8C:lI98|H3BED78
+3BED78:lI47|H3BEE64
+3BEE64:lI119|H3BEF38
+3BEF38:lI101|H3BF004
+3BF004:lI98|H3BF0D0
+3BF0D0:lI116|H3BF1A4
+3BF1A4:lI111|H3BF268
+3BF268:lI111|H3BF31C
+3BF31C:lI108|H3BF3C8
+3BF3C8:lI47|H3BF47C
+3BF47C:lI112|H3BF538
+3BF538:lI114|H3BF5FC
+3BF5FC:lI105|H3BF6D0
+3BF6D0:lI118|H3BF7A4
+3BF7A4:lI47|H3BF878
+3BF878:lI114|H3BF95C
+3BF95C:lI111|H3BFA38
+3BFA38:lI111|H3BFB0C
+3BFB0C:lI116|H3BFBE8
+3BFBE8:lI47|H3BFCB4
+3BFCB4:lI100|H3BFD78
+3BFD78:lI111|H3BFE3C
+3BFE3C:lI99|N
+3BDB5C:lH3BDBC0|H3BDBCC
+3BDBC0:t2:AA:mime_types,H3BDC1C
+3BDC1C:lH3BDC74|H3BDC80
+3BDC74:t2:H3BDCCC,H3BDCD4
+3BDCD4:lI120|H3BDD44
+3BDD44:lI45|H3BDDBC
+3BDDBC:lI119|H3BDE44
+3BDE44:lI111|H3BDEE4
+3BDEE4:lI114|H3BDFA0
+3BDFA0:lI108|H3BE064
+3BE064:lI100|H3BE138
+3BE138:lI47|H3BE214
+3BE214:lI120|H3BE2FC
+3BE2FC:lI45|H3BE3F0
+3BE3F0:lI118|H3BE4F4
+3BE4F4:lI114|H3BE5F8
+3BE5F8:lI109|H3BE6FC
+3BE6FC:lI108|N
+3BDCCC:lI119|H3BDD3C
+3BDD3C:lI114|H3BDDB4
+3BDDB4:lI108|N
+3BDC80:lH3BDCDC|H3BDCE8
+3BDCDC:t2:H3BDD4C,H3BDD54
+3BDD54:lI120|H3BDDCC
+3BDDCC:lI45|H3BDE54
+3BDE54:lI119|H3BDEF4
+3BDEF4:lI111|H3BDFA8
+3BDFA8:lI114|H3BE06C
+3BE06C:lI108|H3BE140
+3BE140:lI100|H3BE21C
+3BE21C:lI47|H3BE304
+3BE304:lI120|H3BE3F8
+3BE3F8:lI45|H3BE4FC
+3BE4FC:lI118|H3BE600
+3BE600:lI114|H3BE704
+3BE704:lI109|H3BE7F0
+3BE7F0:lI108|N
+3BDD4C:lI118|H3BDDC4
+3BDDC4:lI114|H3BDE4C
+3BDE4C:lI109|H3BDEEC
+3BDEEC:lI108|N
+3BDCE8:lH3BDD5C|H3BDD68
+3BDD5C:t2:H3BDDD4,H3BDDDC
+3BDDDC:lI120|H3BDE64
+3BDE64:lI45|H3BDF04
+3BDF04:lI99|H3BDFB0
+3BDFB0:lI111|H3BE074
+3BE074:lI110|H3BE148
+3BE148:lI102|H3BE224
+3BE224:lI101|H3BE30C
+3BE30C:lI114|H3BE400
+3BE400:lI101|H3BE504
+3BE504:lI110|H3BE608
+3BE608:lI99|H3BE70C
+3BE70C:lI101|H3BE7F8
+3BE7F8:lI47|H3BE8DC
+3BE8DC:lI120|H3BE9C8
+3BE9C8:lI45|H3BEABC
+3BEABC:lI99|H3BEBA8
+3BEBA8:lI111|H3BEC94
+3BEC94:lI111|H3BED80
+3BED80:lI108|H3BEE6C
+3BEE6C:lI116|H3BEF40
+3BEF40:lI97|H3BF00C
+3BF00C:lI108|H3BF0D8
+3BF0D8:lI107|N
+3BDDD4:lI105|H3BDE5C
+3BDE5C:lI99|H3BDEFC
+3BDEFC:lI101|N
+3BDD68:lH3BDDE4|H3BDDF0
+3BDDE4:t2:H3BDE6C,H3BDE74
+3BDE74:lI118|H3BDF14
+3BDF14:lI105|H3BDFC0
+3BDFC0:lI100|H3BE084
+3BE084:lI101|H3BE158
+3BE158:lI111|H3BE22C
+3BE22C:lI47|H3BE314
+3BE314:lI120|H3BE408
+3BE408:lI45|H3BE50C
+3BE50C:lI115|H3BE610
+3BE610:lI103|H3BE714
+3BE714:lI105|H3BE800
+3BE800:lI45|H3BE8E4
+3BE8E4:lI109|H3BE9D0
+3BE9D0:lI111|H3BEAC4
+3BEAC4:lI118|H3BEBB0
+3BEBB0:lI105|H3BEC9C
+3BEC9C:lI101|N
+3BDE6C:lI109|H3BDF0C
+3BDF0C:lI111|H3BDFB8
+3BDFB8:lI118|H3BE07C
+3BE07C:lI105|H3BE150
+3BE150:lI101|N
+3BDDF0:lH3BDE7C|H3BDE88
+3BDE7C:t2:H3BDF1C,H3BDF24
+3BDF24:lI118|H3BDFD0
+3BDFD0:lI105|H3BE094
+3BE094:lI100|H3BE160
+3BE160:lI101|H3BE234
+3BE234:lI111|H3BE31C
+3BE31C:lI47|H3BE410
+3BE410:lI120|H3BE514
+3BE514:lI45|H3BE618
+3BE618:lI109|H3BE71C
+3BE71C:lI115|H3BE808
+3BE808:lI118|H3BE8EC
+3BE8EC:lI105|H3BE9D8
+3BE9D8:lI100|H3BEACC
+3BEACC:lI101|H3BEBB8
+3BEBB8:lI111|N
+3BDF1C:lI97|H3BDFC8
+3BDFC8:lI118|H3BE08C
+3BE08C:lI105|N
+3BDE88:lH3BDF2C|H3BDF38
+3BDF2C:t2:H3BDFD8,H3BDFE0
+3BDFE0:lI118|H3BE0A4
+3BE0A4:lI105|H3BE168
+3BE168:lI100|H3BE23C
+3BE23C:lI101|H3BE324
+3BE324:lI111|H3BE418
+3BE418:lI47|H3BE51C
+3BE51C:lI113|H3BE620
+3BE620:lI117|H3BE724
+3BE724:lI105|H3BE810
+3BE810:lI99|H3BE8F4
+3BE8F4:lI107|H3BE9E0
+3BE9E0:lI116|H3BEAD4
+3BEAD4:lI105|H3BEBC0
+3BEBC0:lI109|H3BECA4
+3BECA4:lI101|N
+3BDFD8:lI113|H3BE09C
+3BE09C:lI116|N
+3BDF38:lH3BDFE8|H3BDFF4
+3BDFE8:t2:H3BE0AC,H3BE0B4
+3BE0B4:lI118|H3BE178
+3BE178:lI105|H3BE24C
+3BE24C:lI100|H3BE32C
+3BE32C:lI101|H3BE420
+3BE420:lI111|H3BE524
+3BE524:lI47|H3BE628
+3BE628:lI113|H3BE72C
+3BE72C:lI117|H3BE818
+3BE818:lI105|H3BE8FC
+3BE8FC:lI99|H3BE9E8
+3BE9E8:lI107|H3BEADC
+3BEADC:lI116|H3BEBC8
+3BEBC8:lI105|H3BECAC
+3BECAC:lI109|H3BED88
+3BED88:lI101|N
+3BE0AC:lI109|H3BE170
+3BE170:lI111|H3BE244
+3BE244:lI118|N
+3BDFF4:lH3BE0BC|H3BE0C8
+3BE0BC:t2:H3BE180,H3BE188
+3BE188:lI118|H3BE25C
+3BE25C:lI105|H3BE33C
+3BE33C:lI100|H3BE430
+3BE430:lI101|H3BE52C
+3BE52C:lI111|H3BE630
+3BE630:lI47|H3BE734
+3BE734:lI109|H3BE820
+3BE820:lI112|H3BE904
+3BE904:lI101|H3BE9F0
+3BE9F0:lI103|N
+3BE180:lI109|H3BE254
+3BE254:lI112|H3BE334
+3BE334:lI101|H3BE428
+3BE428:lI103|N
+3BE0C8:lH3BE190|H3BE19C
+3BE190:t2:H3BE264,H3BE26C
+3BE26C:lI118|H3BE34C
+3BE34C:lI105|H3BE440
+3BE440:lI100|H3BE534
+3BE534:lI101|H3BE638
+3BE638:lI111|H3BE73C
+3BE73C:lI47|H3BE828
+3BE828:lI109|H3BE90C
+3BE90C:lI112|H3BE9F8
+3BE9F8:lI101|H3BEAE4
+3BEAE4:lI103|N
+3BE264:lI109|H3BE344
+3BE344:lI112|H3BE438
+3BE438:lI103|N
+3BE19C:lH3BE274|H3BE280
+3BE274:t2:H3BE354,H3BE35C
+3BE35C:lI118|H3BE450
+3BE450:lI105|H3BE544
+3BE544:lI100|H3BE640
+3BE640:lI101|H3BE744
+3BE744:lI111|H3BE830
+3BE830:lI47|H3BE914
+3BE914:lI109|H3BEA00
+3BEA00:lI112|H3BEAEC
+3BEAEC:lI101|H3BEBD0
+3BEBD0:lI103|N
+3BE354:lI109|H3BE448
+3BE448:lI112|H3BE53C
+3BE53C:lI101|N
+3BE280:lH3BE364|H3BE370
+3BE364:t2:H3BE458,H3BE460
+3BE460:lI116|H3BE554
+3BE554:lI101|H3BE650
+3BE650:lI120|H3BE754
+3BE754:lI116|H3BE838
+3BE838:lI47|H3BE91C
+3BE91C:lI120|H3BEA08
+3BEA08:lI45|H3BEAF4
+3BEAF4:lI115|H3BEBD8
+3BEBD8:lI103|H3BECB4
+3BECB4:lI109|H3BED90
+3BED90:lI108|N
+3BE458:lI115|H3BE54C
+3BE54C:lI103|H3BE648
+3BE648:lI109|H3BE74C
+3BE74C:lI108|N
+3BE370:lH3BE468|H3BE474
+3BE468:t2:H3BE55C,H3BE564
+3BE564:lI116|H3BE660
+3BE660:lI101|H3BE764
+3BE764:lI120|H3BE840
+3BE840:lI116|H3BE924
+3BE924:lI47|H3BEA10
+3BEA10:lI120|H3BEAFC
+3BEAFC:lI45|H3BEBE0
+3BEBE0:lI115|H3BECBC
+3BECBC:lI103|H3BED98
+3BED98:lI109|H3BEE74
+3BEE74:lI108|N
+3BE55C:lI115|H3BE658
+3BE658:lI103|H3BE75C
+3BE75C:lI109|N
+3BE474:lH3BE56C|H3BE578
+3BE56C:t2:H3BE668,H3BE670
+3BE670:lI116|H3BE774
+3BE774:lI101|H3BE850
+3BE850:lI120|H3BE92C
+3BE92C:lI116|H3BEA18
+3BEA18:lI47|H3BEB04
+3BEB04:lI120|H3BEBE8
+3BEBE8:lI45|H3BECC4
+3BECC4:lI115|H3BEDA0
+3BEDA0:lI101|H3BEE7C
+3BEE7C:lI116|H3BEF48
+3BEF48:lI101|H3BF014
+3BF014:lI120|H3BF0E0
+3BF0E0:lI116|N
+3BE668:lI101|H3BE76C
+3BE76C:lI116|H3BE848
+3BE848:lI120|N
+3BE578:lH3BE678|H3BE684
+3BE678:t2:H3BE77C,H3BE784
+3BE784:lI116|H3BE860
+3BE860:lI101|H3BE93C
+3BE93C:lI120|H3BEA20
+3BEA20:lI116|H3BEB0C
+3BEB0C:lI47|H3BEBF0
+3BEBF0:lI116|H3BECCC
+3BECCC:lI97|H3BEDA8
+3BEDA8:lI98|H3BEE84
+3BEE84:lI45|H3BEF50
+3BEF50:lI115|H3BF01C
+3BF01C:lI101|H3BF0E8
+3BF0E8:lI112|H3BF1AC
+3BF1AC:lI97|H3BF270
+3BF270:lI114|H3BF324
+3BF324:lI97|H3BF3D0
+3BF3D0:lI116|H3BF484
+3BF484:lI101|H3BF540
+3BF540:lI100|H3BF604
+3BF604:lI45|H3BF6D8
+3BF6D8:lI118|H3BF7AC
+3BF7AC:lI97|H3BF880
+3BF880:lI108|H3BF964
+3BF964:lI117|H3BFA40
+3BFA40:lI101|H3BFB14
+3BFB14:lI115|N
+3BE77C:lI116|H3BE858
+3BE858:lI115|H3BE934
+3BE934:lI118|N
+3BE684:lH3BE78C|H3BE798
+3BE78C:t2:H3BE868,H3BE870
+3BE870:lI116|H3BE94C
+3BE94C:lI101|H3BEA30
+3BEA30:lI120|H3BEB14
+3BEB14:lI116|H3BEBF8
+3BEBF8:lI47|H3BECD4
+3BECD4:lI114|H3BEDB0
+3BEDB0:lI105|H3BEE8C
+3BEE8C:lI99|H3BEF58
+3BEF58:lI104|H3BF024
+3BF024:lI116|H3BF0F0
+3BF0F0:lI101|H3BF1B4
+3BF1B4:lI120|H3BF278
+3BF278:lI116|N
+3BE868:lI114|H3BE944
+3BE944:lI116|H3BEA28
+3BEA28:lI120|N
+3BE798:lH3BE878|H3BE884
+3BE878:t2:H3BE954,H3BE95C
+3BE95C:lI116|H3BEA40
+3BEA40:lI101|H3BEB24
+3BEB24:lI120|H3BEC00
+3BEC00:lI116|H3BECDC
+3BECDC:lI47|H3BEDB8
+3BEDB8:lI112|H3BEE94
+3BEE94:lI108|H3BEF60
+3BEF60:lI97|H3BF02C
+3BF02C:lI105|H3BF0F8
+3BF0F8:lI110|N
+3BE954:lI116|H3BEA38
+3BEA38:lI120|H3BEB1C
+3BEB1C:lI116|N
+3BE884:lH3BE964|H3BE970
+3BE964:t2:H3BEA48,H3BEA50
+3BEA50:lI116|H3BEB34
+3BEB34:lI101|H3BEC10
+3BEC10:lI120|H3BECEC
+3BECEC:lI116|H3BEDC8
+3BEDC8:lI47|H3BEE9C
+3BEE9C:lI120|H3BEF68
+3BEF68:lI45|H3BF034
+3BF034:lI115|H3BF100
+3BF100:lI101|H3BF1BC
+3BF1BC:lI114|H3BF280
+3BF280:lI118|H3BF32C
+3BF32C:lI101|H3BF3D8
+3BF3D8:lI114|H3BF48C
+3BF48C:lI45|H3BF548
+3BF548:lI112|H3BF60C
+3BF60C:lI97|H3BF6E0
+3BF6E0:lI114|H3BF7B4
+3BF7B4:lI115|H3BF888
+3BF888:lI101|H3BF96C
+3BF96C:lI100|H3BFA48
+3BFA48:lI45|H3BFB1C
+3BFB1C:lI104|H3BFBF0
+3BFBF0:lI116|H3BFCBC
+3BFCBC:lI109|H3BFD80
+3BFD80:lI108|N
+3BEA48:lI115|H3BEB2C
+3BEB2C:lI104|H3BEC08
+3BEC08:lI116|H3BECE4
+3BECE4:lI109|H3BEDC0
+3BEDC0:lI108|N
+3BE970:lH3BEA58|H3BEA64
+3BEA58:t2:H3BEB3C,H3BEB44
+3BEB44:lI116|H3BEC20
+3BEC20:lI101|H3BECFC
+3BECFC:lI120|H3BEDD8
+3BEDD8:lI116|H3BEEA4
+3BEEA4:lI47|H3BEF70
+3BEF70:lI104|H3BF03C
+3BF03C:lI116|H3BF108
+3BF108:lI109|H3BF1C4
+3BF1C4:lI108|N
+3BEB3C:lI104|H3BEC18
+3BEC18:lI116|H3BECF4
+3BECF4:lI109|H3BEDD0
+3BEDD0:lI108|N
+3BEA64:lH3BEB4C|H3BEB58
+3BEB4C:t2:H3BEC28,H3BEC30
+3BEC30:lI116|H3BED0C
+3BED0C:lI101|H3BEDE8
+3BEDE8:lI120|H3BEEAC
+3BEEAC:lI116|H3BEF78
+3BEF78:lI47|H3BF044
+3BF044:lI104|H3BF110
+3BF110:lI116|H3BF1CC
+3BF1CC:lI109|H3BF288
+3BF288:lI108|N
+3BEC28:lI104|H3BED04
+3BED04:lI116|H3BEDE0
+3BEDE0:lI109|N
+3BEB58:lH3BEC38|H3BEC44
+3BEC38:t2:H3BED14,H3BED1C
+3BED1C:lI105|H3BEDF8
+3BEDF8:lI109|H3BEEBC
+3BEEBC:lI97|H3BEF80
+3BEF80:lI103|H3BF04C
+3BF04C:lI101|H3BF118
+3BF118:lI47|H3BF1D4
+3BF1D4:lI120|H3BF290
+3BF290:lI45|H3BF334
+3BF334:lI120|H3BF3E0
+3BF3E0:lI119|H3BF494
+3BF494:lI105|H3BF550
+3BF550:lI110|H3BF614
+3BF614:lI100|H3BF6E8
+3BF6E8:lI111|H3BF7BC
+3BF7BC:lI119|H3BF890
+3BF890:lI100|H3BF974
+3BF974:lI117|H3BFA50
+3BFA50:lI109|H3BFB24
+3BFB24:lI112|N
+3BED14:lI120|H3BEDF0
+3BEDF0:lI119|H3BEEB4
+3BEEB4:lI100|N
+3BEC44:lH3BED24|H3BED30
+3BED24:t2:H3BEE00,H3BEE08
+3BEE08:lI105|H3BEECC
+3BEECC:lI109|H3BEF90
+3BEF90:lI97|H3BF054
+3BF054:lI103|H3BF120
+3BF120:lI101|H3BF1DC
+3BF1DC:lI47|H3BF298
+3BF298:lI120|H3BF33C
+3BF33C:lI45|H3BF3E8
+3BF3E8:lI120|H3BF49C
+3BF49C:lI112|H3BF558
+3BF558:lI105|H3BF61C
+3BF61C:lI120|H3BF6F0
+3BF6F0:lI109|H3BF7C4
+3BF7C4:lI97|H3BF898
+3BF898:lI112|N
+3BEE00:lI120|H3BEEC4
+3BEEC4:lI112|H3BEF88
+3BEF88:lI109|N
+3BED30:lH3BEE10|H3BEE1C
+3BEE10:t2:H3BEED4,H3BEEDC
+3BEEDC:lI105|H3BEFA0
+3BEFA0:lI109|H3BF064
+3BF064:lI97|H3BF128
+3BF128:lI103|H3BF1E4
+3BF1E4:lI101|H3BF2A0
+3BF2A0:lI47|H3BF344
+3BF344:lI120|H3BF3F0
+3BF3F0:lI45|H3BF4A4
+3BF4A4:lI120|H3BF560
+3BF560:lI98|H3BF624
+3BF624:lI105|H3BF6F8
+3BF6F8:lI116|H3BF7CC
+3BF7CC:lI109|H3BF8A0
+3BF8A0:lI97|H3BF97C
+3BF97C:lI112|N
+3BEED4:lI120|H3BEF98
+3BEF98:lI98|H3BF05C
+3BF05C:lI109|N
+3BEE1C:lH3BEEE4|H3BEEF0
+3BEEE4:t2:H3BEFA8,H3BEFB0
+3BEFB0:lI105|H3BF074
+3BF074:lI109|H3BF138
+3BF138:lI97|H3BF1EC
+3BF1EC:lI103|H3BF2A8
+3BF2A8:lI101|H3BF34C
+3BF34C:lI47|H3BF3F8
+3BF3F8:lI120|H3BF4AC
+3BF4AC:lI45|H3BF568
+3BF568:lI114|H3BF62C
+3BF62C:lI103|H3BF700
+3BF700:lI98|N
+3BEFA8:lI114|H3BF06C
+3BF06C:lI103|H3BF130
+3BF130:lI98|N
+3BEEF0:lH3BEFB8|H3BEFC4
+3BEFB8:t2:H3BF07C,H3BF084
+3BF084:lI105|H3BF148
+3BF148:lI109|H3BF1FC
+3BF1FC:lI97|H3BF2B0
+3BF2B0:lI103|H3BF354
+3BF354:lI101|H3BF400
+3BF400:lI47|H3BF4B4
+3BF4B4:lI120|H3BF570
+3BF570:lI45|H3BF634
+3BF634:lI112|H3BF708
+3BF708:lI111|H3BF7D4
+3BF7D4:lI114|H3BF8A8
+3BF8A8:lI116|H3BF984
+3BF984:lI97|H3BFA58
+3BFA58:lI98|H3BFB2C
+3BFB2C:lI108|H3BFBF8
+3BFBF8:lI101|H3BFCC4
+3BFCC4:lI45|H3BFD88
+3BFD88:lI112|H3BFE44
+3BFE44:lI105|H3BFEF0
+3BFEF0:lI120|H3BFFA4
+3BFFA4:lI109|H3C0050
+3C0050:lI97|H3C00FC
+3C00FC:lI112|N
+3BF07C:lI112|H3BF140
+3BF140:lI112|H3BF1F4
+3BF1F4:lI109|N
+3BEFC4:lH3BF08C|H3BF098
+3BF08C:t2:H3BF150,H3BF158
+3BF158:lI105|H3BF20C
+3BF20C:lI109|H3BF2C0
+3BF2C0:lI97|H3BF35C
+3BF35C:lI103|H3BF408
+3BF408:lI101|H3BF4BC
+3BF4BC:lI47|H3BF578
+3BF578:lI120|H3BF63C
+3BF63C:lI45|H3BF710
+3BF710:lI112|H3BF7DC
+3BF7DC:lI111|H3BF8B0
+3BF8B0:lI114|H3BF98C
+3BF98C:lI116|H3BFA60
+3BFA60:lI97|H3BFB34
+3BFB34:lI98|H3BFC00
+3BFC00:lI108|H3BFCCC
+3BFCCC:lI101|H3BFD90
+3BFD90:lI45|H3BFE4C
+3BFE4C:lI103|H3BFEF8
+3BFEF8:lI114|H3BFFAC
+3BFFAC:lI97|H3C0058
+3C0058:lI121|H3C0104
+3C0104:lI109|H3C01A8
+3C01A8:lI97|H3C025C
+3C025C:lI112|N
+3BF150:lI112|H3BF204
+3BF204:lI103|H3BF2B8
+3BF2B8:lI109|N
+3BF098:lH3BF160|H3BF16C
+3BF160:t2:H3BF214,H3BF21C
+3BF21C:lI105|H3BF2D0
+3BF2D0:lI109|H3BF36C
+3BF36C:lI97|H3BF410
+3BF410:lI103|H3BF4C4
+3BF4C4:lI101|H3BF580
+3BF580:lI47|H3BF644
+3BF644:lI120|H3BF718
+3BF718:lI45|H3BF7E4
+3BF7E4:lI112|H3BF8B8
+3BF8B8:lI111|H3BF994
+3BF994:lI114|H3BFA68
+3BFA68:lI116|H3BFB3C
+3BFB3C:lI97|H3BFC08
+3BFC08:lI98|H3BFCD4
+3BFCD4:lI108|H3BFD98
+3BFD98:lI101|H3BFE54
+3BFE54:lI45|H3BFF00
+3BFF00:lI98|H3BFFB4
+3BFFB4:lI105|H3C0060
+3C0060:lI116|H3C010C
+3C010C:lI109|H3C01B0
+3C01B0:lI97|H3C0264
+3C0264:lI112|N
+3BF214:lI112|H3BF2C8
+3BF2C8:lI98|H3BF364
+3BF364:lI109|N
+3BF16C:lH3BF224|H3BF230
+3BF224:t2:H3BF2D8,H3BF2E0
+3BF2E0:lI105|H3BF37C
+3BF37C:lI109|H3BF420
+3BF420:lI97|H3BF4CC
+3BF4CC:lI103|H3BF588
+3BF588:lI101|H3BF64C
+3BF64C:lI47|H3BF720
+3BF720:lI120|H3BF7EC
+3BF7EC:lI45|H3BF8C0
+3BF8C0:lI112|H3BF99C
+3BF99C:lI111|H3BFA70
+3BFA70:lI114|H3BFB44
+3BFB44:lI116|H3BFC10
+3BFC10:lI97|H3BFCDC
+3BFCDC:lI98|H3BFDA0
+3BFDA0:lI108|H3BFE5C
+3BFE5C:lI101|H3BFF08
+3BFF08:lI45|H3BFFBC
+3BFFBC:lI97|H3C0068
+3C0068:lI110|H3C0114
+3C0114:lI121|H3C01B8
+3C01B8:lI109|H3C026C
+3C026C:lI97|H3C0318
+3C0318:lI112|N
+3BF2D8:lI112|H3BF374
+3BF374:lI110|H3BF418
+3BF418:lI109|N
+3BF230:lH3BF2E8|H3BF2F4
+3BF2E8:t2:H3BF384,H3BF38C
+3BF38C:lI105|H3BF430
+3BF430:lI109|H3BF4DC
+3BF4DC:lI97|H3BF590
+3BF590:lI103|H3BF654
+3BF654:lI101|H3BF728
+3BF728:lI47|H3BF7F4
+3BF7F4:lI120|H3BF8C8
+3BF8C8:lI45|H3BF9A4
+3BF9A4:lI99|H3BFA78
+3BFA78:lI109|H3BFB4C
+3BFB4C:lI117|H3BFC18
+3BFC18:lI45|H3BFCE4
+3BFCE4:lI114|H3BFDA8
+3BFDA8:lI97|H3BFE64
+3BFE64:lI115|H3BFF10
+3BFF10:lI116|H3BFFC4
+3BFFC4:lI101|H3C0070
+3C0070:lI114|N
+3BF384:lI114|H3BF428
+3BF428:lI97|H3BF4D4
+3BF4D4:lI115|N
+3BF2F4:lH3BF394|H3BF3A0
+3BF394:t2:H3BF438,H3BF440
+3BF440:lI105|H3BF4EC
+3BF4EC:lI109|H3BF5A0
+3BF5A0:lI97|H3BF664
+3BF664:lI103|H3BF730
+3BF730:lI101|H3BF7FC
+3BF7FC:lI47|H3BF8D0
+3BF8D0:lI116|H3BF9AC
+3BF9AC:lI105|H3BFA80
+3BFA80:lI102|H3BFB54
+3BFB54:lI102|N
+3BF438:lI116|H3BF4E4
+3BF4E4:lI105|H3BF598
+3BF598:lI102|H3BF65C
+3BF65C:lI102|N
+3BF3A0:lH3BF448|H3BF454
+3BF448:t2:H3BF4F4,H3BF4FC
+3BF4FC:lI105|H3BF5B0
+3BF5B0:lI109|H3BF674
+3BF674:lI97|H3BF738
+3BF738:lI103|H3BF804
+3BF804:lI101|H3BF8D8
+3BF8D8:lI47|H3BF9B4
+3BF9B4:lI116|H3BFA88
+3BFA88:lI105|H3BFB5C
+3BFB5C:lI102|H3BFC20
+3BFC20:lI102|N
+3BF4F4:lI116|H3BF5A8
+3BF5A8:lI105|H3BF66C
+3BF66C:lI102|N
+3BF454:lH3BF504|H3BF510
+3BF504:t2:H3BF5B8,H3BF5C0
+3BF5C0:lI105|H3BF684
+3BF684:lI109|H3BF748
+3BF748:lI97|H3BF80C
+3BF80C:lI103|H3BF8E0
+3BF8E0:lI101|H3BF9BC
+3BF9BC:lI47|H3BFA90
+3BFA90:lI112|H3BFB64
+3BFB64:lI110|H3BFC28
+3BFC28:lI103|N
+3BF5B8:lI112|H3BF67C
+3BF67C:lI110|H3BF740
+3BF740:lI103|N
+3BF510:lH3BF5C8|H3BF5D4
+3BF5C8:t2:H3BF68C,H3BF694
+3BF694:lI105|H3BF758
+3BF758:lI109|H3BF81C
+3BF81C:lI97|H3BF8F0
+3BF8F0:lI103|H3BF9C4
+3BF9C4:lI101|H3BFA98
+3BFA98:lI47|H3BFB6C
+3BFB6C:lI106|H3BFC30
+3BFC30:lI112|H3BFCEC
+3BFCEC:lI101|H3BFDB0
+3BFDB0:lI103|N
+3BF68C:lI106|H3BF750
+3BF750:lI112|H3BF814
+3BF814:lI101|H3BF8E8
+3BF8E8:lI103|N
+3BF5D4:lH3BF69C|H3BF6A8
+3BF69C:t2:H3BF760,H3BF768
+3BF768:lI105|H3BF82C
+3BF82C:lI109|H3BF900
+3BF900:lI97|H3BF9CC
+3BF9CC:lI103|H3BFAA0
+3BFAA0:lI101|H3BFB74
+3BFB74:lI47|H3BFC38
+3BFC38:lI106|H3BFCF4
+3BFCF4:lI112|H3BFDB8
+3BFDB8:lI101|H3BFE6C
+3BFE6C:lI103|N
+3BF760:lI106|H3BF824
+3BF824:lI112|H3BF8F8
+3BF8F8:lI103|N
+3BF6A8:lH3BF770|H3BF77C
+3BF770:t2:H3BF834,H3BF83C
+3BF83C:lI105|H3BF910
+3BF910:lI109|H3BF9DC
+3BF9DC:lI97|H3BFAA8
+3BFAA8:lI103|H3BFB7C
+3BFB7C:lI101|H3BFC40
+3BFC40:lI47|H3BFCFC
+3BFCFC:lI106|H3BFDC0
+3BFDC0:lI112|H3BFE74
+3BFE74:lI101|H3BFF18
+3BFF18:lI103|N
+3BF834:lI106|H3BF908
+3BF908:lI112|H3BF9D4
+3BF9D4:lI101|N
+3BF77C:lH3BF844|H3BF850
+3BF844:t2:H3BF918,H3BF920
+3BF920:lI105|H3BF9EC
+3BF9EC:lI109|H3BFAB8
+3BFAB8:lI97|H3BFB84
+3BFB84:lI103|H3BFC48
+3BFC48:lI101|H3BFD04
+3BFD04:lI47|H3BFDC8
+3BFDC8:lI105|H3BFE7C
+3BFE7C:lI101|H3BFF20
+3BFF20:lI102|N
+3BF918:lI105|H3BF9E4
+3BF9E4:lI101|H3BFAB0
+3BFAB0:lI102|N
+3BF850:lH3BF928|H3BF934
+3BF928:t2:H3BF9F4,H3BF9FC
+3BF9FC:lI105|H3BFAC8
+3BFAC8:lI109|H3BFB94
+3BFB94:lI97|H3BFC50
+3BFC50:lI103|H3BFD0C
+3BFD0C:lI101|H3BFDD0
+3BFDD0:lI47|H3BFE84
+3BFE84:lI103|H3BFF28
+3BFF28:lI105|H3BFFCC
+3BFFCC:lI102|N
+3BF9F4:lI103|H3BFAC0
+3BFAC0:lI105|H3BFB8C
+3BFB8C:lI102|N
+3BF934:lH3BFA04|H3BFA10
+3BFA04:t2:H3BFAD0,H3BFAD8
+3BFAD8:lI99|H3BFBA4
+3BFBA4:lI104|H3BFC60
+3BFC60:lI101|H3BFD14
+3BFD14:lI109|H3BFDD8
+3BFDD8:lI105|H3BFE8C
+3BFE8C:lI99|H3BFF30
+3BFF30:lI97|H3BFFD4
+3BFFD4:lI108|H3C0078
+3C0078:lI47|H3C011C
+3C011C:lI120|H3C01C0
+3C01C0:lI45|H3C0274
+3C0274:lI112|H3C0320
+3C0320:lI100|H3C03CC
+3C03CC:lI98|N
+3BFAD0:lI112|H3BFB9C
+3BFB9C:lI100|H3BFC58
+3BFC58:lI98|N
+3BFA10:lH3BFAE0|H3BFAEC
+3BFAE0:t2:H3BFBAC,H3BFBB4
+3BFBB4:lI99|H3BFC70
+3BFC70:lI104|H3BFD24
+3BFD24:lI101|H3BFDE0
+3BFDE0:lI109|H3BFE94
+3BFE94:lI105|H3BFF38
+3BFF38:lI99|H3BFFDC
+3BFFDC:lI97|H3C0080
+3C0080:lI108|H3C0124
+3C0124:lI47|H3C01C8
+3C01C8:lI120|H3C027C
+3C027C:lI45|H3C0328
+3C0328:lI112|H3C03D4
+3C03D4:lI100|H3C0460
+3C0460:lI98|N
+3BFBAC:lI120|H3BFC68
+3BFC68:lI121|H3BFD1C
+3BFD1C:lI122|N
+3BFAEC:lH3BFBBC|H3BFBC8
+3BFBBC:t2:H3BFC78,H3BFC80
+3BFC80:lI97|H3BFD34
+3BFD34:lI117|H3BFDF0
+3BFDF0:lI100|H3BFE9C
+3BFE9C:lI105|H3BFF40
+3BFF40:lI111|H3BFFE4
+3BFFE4:lI47|H3C0088
+3C0088:lI120|H3C012C
+3C012C:lI45|H3C01D0
+3C01D0:lI119|H3C0284
+3C0284:lI97|H3C0330
+3C0330:lI118|N
+3BFC78:lI119|H3BFD2C
+3BFD2C:lI97|H3BFDE8
+3BFDE8:lI118|N
+3BFBC8:lH3BFC88|H3BFC94
+3BFC88:t2:H3BFD3C,H3BFD44
+3BFD44:lI97|H3BFE00
+3BFE00:lI117|H3BFEA4
+3BFEA4:lI100|H3BFF48
+3BFF48:lI105|H3BFFEC
+3BFFEC:lI111|H3C0090
+3C0090:lI47|H3C0134
+3C0134:lI120|H3C01D8
+3C01D8:lI45|H3C028C
+3C028C:lI114|H3C0338
+3C0338:lI101|H3C03DC
+3C03DC:lI97|H3C0468
+3C0468:lI108|H3C04FC
+3C04FC:lI97|H3C0598
+3C0598:lI117|H3C063C
+3C063C:lI100|H3C06E8
+3C06E8:lI105|H3C0794
+3C0794:lI111|N
+3BFD3C:lI114|H3BFDF8
+3BFDF8:lI97|N
+3BFC94:lH3BFD4C|H3BFD58
+3BFD4C:t2:H3BFE08,H3BFE10
+3BFE10:lI97|H3BFEB4
+3BFEB4:lI117|H3BFF58
+3BFF58:lI100|H3BFFF4
+3BFFF4:lI105|H3C0098
+3C0098:lI111|H3C013C
+3C013C:lI47|H3C01E0
+3C01E0:lI120|H3C0294
+3C0294:lI45|H3C0340
+3C0340:lI112|H3C03E4
+3C03E4:lI110|H3C0470
+3C0470:lI45|H3C0504
+3C0504:lI114|H3C05A0
+3C05A0:lI101|H3C0644
+3C0644:lI97|H3C06F0
+3C06F0:lI108|H3C079C
+3C079C:lI97|H3C0838
+3C0838:lI117|H3C08C4
+3C08C4:lI100|H3C0958
+3C0958:lI105|H3C09EC
+3C09EC:lI111|H3C0A88
+3C0A88:lI45|H3C0B2C
+3C0B2C:lI112|H3C0BD0
+3C0BD0:lI108|H3C0C84
+3C0C84:lI117|H3C0D38
+3C0D38:lI103|H3C0DEC
+3C0DEC:lI105|H3C0EA0
+3C0EA0:lI110|N
+3BFE08:lI114|H3BFEAC
+3BFEAC:lI112|H3BFF50
+3BFF50:lI109|N
+3BFD58:lH3BFE18|H3BFE24
+3BFE18:t2:H3BFEBC,H3BFEC4
+3BFEC4:lI97|H3BFF68
+3BFF68:lI117|H3C0004
+3C0004:lI100|H3C00A0
+3C00A0:lI105|H3C0144
+3C0144:lI111|H3C01E8
+3C01E8:lI47|H3C029C
+3C029C:lI120|H3C0348
+3C0348:lI45|H3C03EC
+3C03EC:lI112|H3C0478
+3C0478:lI110|H3C050C
+3C050C:lI45|H3C05A8
+3C05A8:lI114|H3C064C
+3C064C:lI101|H3C06F8
+3C06F8:lI97|H3C07A4
+3C07A4:lI108|H3C0840
+3C0840:lI97|H3C08CC
+3C08CC:lI117|H3C0960
+3C0960:lI100|H3C09F4
+3C09F4:lI105|H3C0A90
+3C0A90:lI111|N
+3BFEBC:lI114|H3BFF60
+3BFF60:lI97|H3BFFFC
+3BFFFC:lI109|N
+3BFE24:lH3BFECC|H3BFED8
+3BFECC:t2:H3BFF70,H3BFF78
+3BFF78:lI97|H3C0014
+3C0014:lI117|H3C00B0
+3C00B0:lI100|H3C014C
+3C014C:lI105|H3C01F0
+3C01F0:lI111|H3C02A4
+3C02A4:lI47|H3C0350
+3C0350:lI120|H3C03F4
+3C03F4:lI45|H3C0480
+3C0480:lI97|H3C0514
+3C0514:lI105|H3C05B0
+3C05B0:lI102|H3C0654
+3C0654:lI102|N
+3BFF70:lI97|H3C000C
+3C000C:lI105|H3C00A8
+3C00A8:lI102|N
+3BFED8:lH3BFF80|H3BFF8C
+3BFF80:t2:H3C001C,H3C0024
+3C0024:lI97|H3C00C0
+3C00C0:lI117|H3C015C
+3C015C:lI100|H3C0200
+3C0200:lI105|H3C02AC
+3C02AC:lI111|H3C0358
+3C0358:lI47|H3C03FC
+3C03FC:lI120|H3C0488
+3C0488:lI45|H3C051C
+3C051C:lI97|H3C05B8
+3C05B8:lI105|H3C065C
+3C065C:lI102|H3C0700
+3C0700:lI102|N
+3C001C:lI97|H3C00B8
+3C00B8:lI105|H3C0154
+3C0154:lI102|H3C01F8
+3C01F8:lI102|N
+3BFF8C:lH3C002C|H3C0038
+3C002C:t2:H3C00C8,H3C00D0
+3C00D0:lI97|H3C016C
+3C016C:lI117|H3C0210
+3C0210:lI100|H3C02BC
+3C02BC:lI105|H3C0360
+3C0360:lI111|H3C0404
+3C0404:lI47|H3C0490
+3C0490:lI120|H3C0524
+3C0524:lI45|H3C05C0
+3C05C0:lI97|H3C0664
+3C0664:lI105|H3C0708
+3C0708:lI102|H3C07AC
+3C07AC:lI102|N
+3C00C8:lI97|H3C0164
+3C0164:lI105|H3C0208
+3C0208:lI102|H3C02B4
+3C02B4:lI99|N
+3C0038:lH3C00D8|H3C00E4
+3C00D8:t2:H3C0174,H3C017C
+3C017C:lI97|H3C0220
+3C0220:lI117|H3C02CC
+3C02CC:lI100|H3C0370
+3C0370:lI105|H3C040C
+3C040C:lI111|H3C0498
+3C0498:lI47|H3C052C
+3C052C:lI109|H3C05C8
+3C05C8:lI112|H3C066C
+3C066C:lI101|H3C0710
+3C0710:lI103|N
+3C0174:lI109|H3C0218
+3C0218:lI112|H3C02C4
+3C02C4:lI103|H3C0368
+3C0368:lI97|N
+3C00E4:lH3C0184|H3C0190
+3C0184:t2:H3C0228,H3C0230
+3C0230:lI97|H3C02DC
+3C02DC:lI117|H3C0380
+3C0380:lI100|H3C0414
+3C0414:lI105|H3C04A0
+3C04A0:lI111|H3C0534
+3C0534:lI47|H3C05D0
+3C05D0:lI109|H3C0674
+3C0674:lI112|H3C0718
+3C0718:lI101|H3C07B4
+3C07B4:lI103|N
+3C0228:lI109|H3C02D4
+3C02D4:lI112|H3C0378
+3C0378:lI50|N
+3C0190:lH3C0238|H3C0244
+3C0238:t2:H3C02E4,H3C02EC
+3C02EC:lI97|H3C0390
+3C0390:lI117|H3C041C
+3C041C:lI100|H3C04A8
+3C04A8:lI105|H3C053C
+3C053C:lI111|H3C05D8
+3C05D8:lI47|H3C067C
+3C067C:lI98|H3C0720
+3C0720:lI97|H3C07BC
+3C07BC:lI115|H3C0848
+3C0848:lI105|H3C08D4
+3C08D4:lI99|N
+3C02E4:lI97|H3C0388
+3C0388:lI117|N
+3C0244:lH3C02F4|H3C0300
+3C02F4:t2:H3C0398,H3C03A0
+3C03A0:lI97|H3C042C
+3C042C:lI117|H3C04B8
+3C04B8:lI100|H3C0544
+3C0544:lI105|H3C05E0
+3C05E0:lI111|H3C0684
+3C0684:lI47|H3C0728
+3C0728:lI98|H3C07C4
+3C07C4:lI97|H3C0850
+3C0850:lI115|H3C08DC
+3C08DC:lI105|H3C0968
+3C0968:lI99|N
+3C0398:lI115|H3C0424
+3C0424:lI110|H3C04B0
+3C04B0:lI100|N
+3C0300:lH3C03A8|H3C03B4
+3C03A8:t2:H3C0434,H3C043C
+3C043C:lI97|H3C04C8
+3C04C8:lI112|H3C0554
+3C0554:lI112|H3C05E8
+3C05E8:lI108|H3C068C
+3C068C:lI105|H3C0730
+3C0730:lI99|H3C07CC
+3C07CC:lI97|H3C0858
+3C0858:lI116|H3C08E4
+3C08E4:lI105|H3C0970
+3C0970:lI111|H3C09FC
+3C09FC:lI110|H3C0A98
+3C0A98:lI47|H3C0B34
+3C0B34:lI122|H3C0BD8
+3C0BD8:lI105|H3C0C8C
+3C0C8C:lI112|N
+3C0434:lI122|H3C04C0
+3C04C0:lI105|H3C054C
+3C054C:lI112|N
+3C03B4:lH3C0444|H3C0450
+3C0444:t2:H3C04D0,H3C04D8
+3C04D8:lI97|H3C0564
+3C0564:lI112|H3C05F8
+3C05F8:lI112|H3C0694
+3C0694:lI108|H3C0738
+3C0738:lI105|H3C07D4
+3C07D4:lI99|H3C0860
+3C0860:lI97|H3C08EC
+3C08EC:lI116|H3C0978
+3C0978:lI105|H3C0A04
+3C0A04:lI111|H3C0AA0
+3C0AA0:lI110|H3C0B3C
+3C0B3C:lI47|H3C0BE0
+3C0BE0:lI120|H3C0C94
+3C0C94:lI45|H3C0D40
+3C0D40:lI119|H3C0DF4
+3C0DF4:lI97|H3C0EA8
+3C0EA8:lI105|H3C0F64
+3C0F64:lI115|H3C1030
+3C1030:lI45|H3C1104
+3C1104:lI115|H3C11D8
+3C11D8:lI111|H3C12A4
+3C12A4:lI117|H3C1378
+3C1378:lI114|H3C1454
+3C1454:lI99|H3C1538
+3C1538:lI101|N
+3C04D0:lI115|H3C055C
+3C055C:lI114|H3C05F0
+3C05F0:lI99|N
+3C0450:lH3C04E0|H3C04EC
+3C04E0:t2:H3C056C,H3C0574
+3C0574:lI97|H3C0608
+3C0608:lI112|H3C06A4
+3C06A4:lI112|H3C0748
+3C0748:lI108|H3C07E4
+3C07E4:lI105|H3C0868
+3C0868:lI99|H3C08F4
+3C08F4:lI97|H3C0980
+3C0980:lI116|H3C0A0C
+3C0A0C:lI105|H3C0AA8
+3C0AA8:lI111|H3C0B44
+3C0B44:lI110|H3C0BE8
+3C0BE8:lI47|H3C0C9C
+3C0C9C:lI120|H3C0D48
+3C0D48:lI45|H3C0DFC
+3C0DFC:lI117|H3C0EB0
+3C0EB0:lI115|H3C0F6C
+3C0F6C:lI116|H3C1038
+3C1038:lI97|H3C110C
+3C110C:lI114|N
+3C056C:lI117|H3C0600
+3C0600:lI115|H3C069C
+3C069C:lI116|H3C0740
+3C0740:lI97|H3C07DC
+3C07DC:lI114|N
+3C04EC:lH3C057C|H3C0588
+3C057C:t2:H3C0610,H3C0618
+3C0618:lI97|H3C06B4
+3C06B4:lI112|H3C0750
+3C0750:lI112|H3C07EC
+3C07EC:lI108|H3C0870
+3C0870:lI105|H3C08FC
+3C08FC:lI99|H3C0988
+3C0988:lI97|H3C0A14
+3C0A14:lI116|H3C0AB0
+3C0AB0:lI105|H3C0B4C
+3C0B4C:lI111|H3C0BF0
+3C0BF0:lI110|H3C0CA4
+3C0CA4:lI47|H3C0D50
+3C0D50:lI120|H3C0E04
+3C0E04:lI45|H3C0EB8
+3C0EB8:lI116|H3C0F74
+3C0F74:lI114|H3C1040
+3C1040:lI111|H3C1114
+3C1114:lI102|H3C11E0
+3C11E0:lI102|H3C12AC
+3C12AC:lI45|H3C1380
+3C1380:lI109|H3C145C
+3C145C:lI115|N
+3C0610:lI109|H3C06AC
+3C06AC:lI115|N
+3C0588:lH3C0620|H3C062C
+3C0620:t2:H3C06BC,H3C06C4
+3C06C4:lI97|H3C0760
+3C0760:lI112|H3C07F4
+3C07F4:lI112|H3C0878
+3C0878:lI108|H3C0904
+3C0904:lI105|H3C0990
+3C0990:lI99|H3C0A1C
+3C0A1C:lI97|H3C0AB8
+3C0AB8:lI116|H3C0B54
+3C0B54:lI105|H3C0BF8
+3C0BF8:lI111|H3C0CAC
+3C0CAC:lI110|H3C0D58
+3C0D58:lI47|H3C0E0C
+3C0E0C:lI120|H3C0EC0
+3C0EC0:lI45|H3C0F7C
+3C0F7C:lI116|H3C1048
+3C1048:lI114|H3C111C
+3C111C:lI111|H3C11E8
+3C11E8:lI102|H3C12B4
+3C12B4:lI102|H3C1388
+3C1388:lI45|H3C1464
+3C1464:lI109|H3C1540
+3C1540:lI101|N
+3C06BC:lI109|H3C0758
+3C0758:lI101|N
+3C062C:lH3C06CC|H3C06D8
+3C06CC:t2:H3C0768,H3C0770
+3C0770:lI97|H3C0804
+3C0804:lI112|H3C0888
+3C0888:lI112|H3C090C
+3C090C:lI108|H3C0998
+3C0998:lI105|H3C0A24
+3C0A24:lI99|H3C0AC0
+3C0AC0:lI97|H3C0B5C
+3C0B5C:lI116|H3C0C00
+3C0C00:lI105|H3C0CB4
+3C0CB4:lI111|H3C0D60
+3C0D60:lI110|H3C0E14
+3C0E14:lI47|H3C0EC8
+3C0EC8:lI120|H3C0F84
+3C0F84:lI45|H3C1050
+3C1050:lI116|H3C1124
+3C1124:lI114|H3C11F0
+3C11F0:lI111|H3C12BC
+3C12BC:lI102|H3C1390
+3C1390:lI102|H3C146C
+3C146C:lI45|H3C1548
+3C1548:lI109|H3C161C
+3C161C:lI97|H3C16F0
+3C16F0:lI110|N
+3C0768:lI109|H3C07FC
+3C07FC:lI97|H3C0880
+3C0880:lI110|N
+3C06D8:lH3C0778|H3C0784
+3C0778:t2:H3C080C,H3C0814
+3C0814:lI97|H3C0890
+3C0890:lI112|H3C0914
+3C0914:lI112|H3C09A0
+3C09A0:lI108|H3C0A2C
+3C0A2C:lI105|H3C0AC8
+3C0AC8:lI99|H3C0B64
+3C0B64:lI97|H3C0C08
+3C0C08:lI116|H3C0CBC
+3C0CBC:lI105|H3C0D68
+3C0D68:lI111|H3C0E1C
+3C0E1C:lI110|H3C0ED0
+3C0ED0:lI47|H3C0F8C
+3C0F8C:lI120|H3C1058
+3C1058:lI45|H3C112C
+3C112C:lI116|H3C11F8
+3C11F8:lI114|H3C12C4
+3C12C4:lI111|H3C1398
+3C1398:lI102|H3C1474
+3C1474:lI102|N
+3C080C:lI116|N
+3C0784:lH3C081C|H3C0828
+3C081C:t2:H3C0898,H3C08A0
+3C08A0:lI97|H3C0924
+3C0924:lI112|H3C09A8
+3C09A8:lI112|H3C0A34
+3C0A34:lI108|H3C0AD0
+3C0AD0:lI105|H3C0B6C
+3C0B6C:lI99|H3C0C10
+3C0C10:lI97|H3C0CC4
+3C0CC4:lI116|H3C0D70
+3C0D70:lI105|H3C0E24
+3C0E24:lI111|H3C0ED8
+3C0ED8:lI110|H3C0F94
+3C0F94:lI47|H3C1060
+3C1060:lI120|H3C1134
+3C1134:lI45|H3C1200
+3C1200:lI116|H3C12CC
+3C12CC:lI114|H3C13A0
+3C13A0:lI111|H3C147C
+3C147C:lI102|H3C1550
+3C1550:lI102|N
+3C0898:lI116|H3C091C
+3C091C:lI114|N
+3C0828:lH3C08A8|H3C08B4
+3C08A8:t2:H3C092C,H3C0934
+3C0934:lI97|H3C09B8
+3C09B8:lI112|H3C0A44
+3C0A44:lI112|H3C0AE0
+3C0AE0:lI108|H3C0B74
+3C0B74:lI105|H3C0C18
+3C0C18:lI99|H3C0CCC
+3C0CCC:lI97|H3C0D78
+3C0D78:lI116|H3C0E2C
+3C0E2C:lI105|H3C0EE0
+3C0EE0:lI111|H3C0F9C
+3C0F9C:lI110|H3C1068
+3C1068:lI47|H3C113C
+3C113C:lI120|H3C1208
+3C1208:lI45|H3C12D4
+3C12D4:lI116|H3C13A8
+3C13A8:lI114|H3C1484
+3C1484:lI111|H3C1558
+3C1558:lI102|H3C1624
+3C1624:lI102|N
+3C092C:lI114|H3C09B0
+3C09B0:lI111|H3C0A3C
+3C0A3C:lI102|H3C0AD8
+3C0AD8:lI102|N
+3C08B4:lH3C093C|H3C0948
+3C093C:t2:H3C09C0,H3C09C8
+3C09C8:lI97|H3C0A54
+3C0A54:lI112|H3C0AF0
+3C0AF0:lI112|H3C0B84
+3C0B84:lI108|H3C0C28
+3C0C28:lI105|H3C0CDC
+3C0CDC:lI99|H3C0D88
+3C0D88:lI97|H3C0E34
+3C0E34:lI116|H3C0EE8
+3C0EE8:lI105|H3C0FA4
+3C0FA4:lI111|H3C1070
+3C1070:lI110|H3C1144
+3C1144:lI47|H3C1210
+3C1210:lI120|H3C12DC
+3C12DC:lI45|H3C13B0
+3C13B0:lI116|H3C148C
+3C148C:lI101|H3C1560
+3C1560:lI120|H3C162C
+3C162C:lI105|H3C16F8
+3C16F8:lI110|H3C17BC
+3C17BC:lI102|H3C1880
+3C1880:lI111|N
+3C09C0:lI116|H3C0A4C
+3C0A4C:lI101|H3C0AE8
+3C0AE8:lI120|H3C0B7C
+3C0B7C:lI105|H3C0C20
+3C0C20:lI110|H3C0CD4
+3C0CD4:lI102|H3C0D80
+3C0D80:lI111|N
+3C0948:lH3C09D0|H3C09DC
+3C09D0:t2:H3C0A5C,H3C0A64
+3C0A64:lI97|H3C0B00
+3C0B00:lI112|H3C0B94
+3C0B94:lI112|H3C0C38
+3C0C38:lI108|H3C0CE4
+3C0CE4:lI105|H3C0D90
+3C0D90:lI99|H3C0E3C
+3C0E3C:lI97|H3C0EF0
+3C0EF0:lI116|H3C0FAC
+3C0FAC:lI105|H3C1078
+3C1078:lI111|H3C114C
+3C114C:lI110|H3C1218
+3C1218:lI47|H3C12E4
+3C12E4:lI120|H3C13B8
+3C13B8:lI45|H3C1494
+3C1494:lI116|H3C1568
+3C1568:lI101|H3C1634
+3C1634:lI120|H3C1700
+3C1700:lI105|H3C17C4
+3C17C4:lI110|H3C1888
+3C1888:lI102|H3C1944
+3C1944:lI111|N
+3C0A5C:lI116|H3C0AF8
+3C0AF8:lI101|H3C0B8C
+3C0B8C:lI120|H3C0C30
+3C0C30:lI105|N
+3C09DC:lH3C0A6C|H3C0A78
+3C0A6C:t2:H3C0B08,H3C0B10
+3C0B10:lI97|H3C0BA4
+3C0BA4:lI112|H3C0C48
+3C0C48:lI112|H3C0CEC
+3C0CEC:lI108|H3C0D98
+3C0D98:lI105|H3C0E44
+3C0E44:lI99|H3C0EF8
+3C0EF8:lI97|H3C0FB4
+3C0FB4:lI116|H3C1080
+3C1080:lI105|H3C1154
+3C1154:lI111|H3C1220
+3C1220:lI110|H3C12EC
+3C12EC:lI47|H3C13C0
+3C13C0:lI120|H3C149C
+3C149C:lI45|H3C1570
+3C1570:lI116|H3C163C
+3C163C:lI101|H3C1708
+3C1708:lI120|N
+3C0B08:lI116|H3C0B9C
+3C0B9C:lI101|H3C0C40
+3C0C40:lI120|N
+3C0A78:lH3C0B18|H3C0B24
+3C0B18:t2:H3C0BAC,H3C0BB4
+3C0BB4:lI97|H3C0C58
+3C0C58:lI112|H3C0CFC
+3C0CFC:lI112|H3C0DA0
+3C0DA0:lI108|H3C0E4C
+3C0E4C:lI105|H3C0F00
+3C0F00:lI99|H3C0FBC
+3C0FBC:lI97|H3C1088
+3C1088:lI116|H3C115C
+3C115C:lI105|H3C1228
+3C1228:lI111|H3C12F4
+3C12F4:lI110|H3C13C8
+3C13C8:lI47|H3C14A4
+3C14A4:lI120|H3C1578
+3C1578:lI45|H3C1644
+3C1644:lI116|H3C1710
+3C1710:lI99|H3C17CC
+3C17CC:lI108|N
+3C0BAC:lI116|H3C0C50
+3C0C50:lI99|H3C0CF4
+3C0CF4:lI108|N
+3C0B24:lH3C0BBC|H3C0BC8
+3C0BBC:t2:H3C0C60,H3C0C68
+3C0C68:lI97|H3C0D0C
+3C0D0C:lI112|H3C0DB0
+3C0DB0:lI112|H3C0E54
+3C0E54:lI108|H3C0F08
+3C0F08:lI105|H3C0FC4
+3C0FC4:lI99|H3C1090
+3C1090:lI97|H3C1164
+3C1164:lI116|H3C1230
+3C1230:lI105|H3C12FC
+3C12FC:lI111|H3C13D0
+3C13D0:lI110|H3C14AC
+3C14AC:lI47|H3C1580
+3C1580:lI120|H3C164C
+3C164C:lI45|H3C1718
+3C1718:lI116|H3C17D4
+3C17D4:lI97|H3C1890
+3C1890:lI114|N
+3C0C60:lI116|H3C0D04
+3C0D04:lI97|H3C0DA8
+3C0DA8:lI114|N
+3C0BC8:lH3C0C70|H3C0C7C
+3C0C70:t2:H3C0D14,H3C0D1C
+3C0D1C:lI97|H3C0DC0
+3C0DC0:lI112|H3C0E64
+3C0E64:lI112|H3C0F18
+3C0F18:lI108|H3C0FD4
+3C0FD4:lI105|H3C10A0
+3C10A0:lI99|H3C116C
+3C116C:lI97|H3C1238
+3C1238:lI116|H3C1304
+3C1304:lI105|H3C13D8
+3C13D8:lI111|H3C14B4
+3C14B4:lI110|H3C1588
+3C1588:lI47|H3C1654
+3C1654:lI120|H3C1720
+3C1720:lI45|H3C17DC
+3C17DC:lI115|H3C1898
+3C1898:lI118|H3C194C
+3C194C:lI52|H3C1A00
+3C1A00:lI99|H3C1AB4
+3C1AB4:lI114|H3C1B78
+3C1B78:lI99|N
+3C0D14:lI115|H3C0DB8
+3C0DB8:lI118|H3C0E5C
+3C0E5C:lI52|H3C0F10
+3C0F10:lI99|H3C0FCC
+3C0FCC:lI114|H3C1098
+3C1098:lI99|N
+3C0C7C:lH3C0D24|H3C0D30
+3C0D24:t2:H3C0DC8,H3C0DD0
+3C0DD0:lI97|H3C0E74
+3C0E74:lI112|H3C0F28
+3C0F28:lI112|H3C0FE4
+3C0FE4:lI108|H3C10B0
+3C10B0:lI105|H3C117C
+3C117C:lI99|H3C1248
+3C1248:lI97|H3C130C
+3C130C:lI116|H3C13E0
+3C13E0:lI105|H3C14BC
+3C14BC:lI111|H3C1590
+3C1590:lI110|H3C165C
+3C165C:lI47|H3C1728
+3C1728:lI120|H3C17E4
+3C17E4:lI45|H3C18A0
+3C18A0:lI115|H3C1954
+3C1954:lI118|H3C1A08
+3C1A08:lI52|H3C1ABC
+3C1ABC:lI99|H3C1B80
+3C1B80:lI112|H3C1C4C
+3C1C4C:lI105|H3C1D10
+3C1D10:lI111|N
+3C0DC8:lI115|H3C0E6C
+3C0E6C:lI118|H3C0F20
+3C0F20:lI52|H3C0FDC
+3C0FDC:lI99|H3C10A8
+3C10A8:lI112|H3C1174
+3C1174:lI105|H3C1240
+3C1240:lI111|N
+3C0D30:lH3C0DD8|H3C0DE4
+3C0DD8:t2:H3C0E7C,H3C0E84
+3C0E84:lI97|H3C0F38
+3C0F38:lI112|H3C0FF4
+3C0FF4:lI112|H3C10B8
+3C10B8:lI108|H3C1184
+3C1184:lI105|H3C1250
+3C1250:lI99|H3C1314
+3C1314:lI97|H3C13E8
+3C13E8:lI116|H3C14C4
+3C14C4:lI105|H3C1598
+3C1598:lI111|H3C1664
+3C1664:lI110|H3C1730
+3C1730:lI47|H3C17EC
+3C17EC:lI120|H3C18A8
+3C18A8:lI45|H3C195C
+3C195C:lI115|H3C1A10
+3C1A10:lI116|H3C1AC4
+3C1AC4:lI117|H3C1B88
+3C1B88:lI102|H3C1C54
+3C1C54:lI102|H3C1D18
+3C1D18:lI105|H3C1DD4
+3C1DD4:lI116|N
+3C0E7C:lI115|H3C0F30
+3C0F30:lI105|H3C0FEC
+3C0FEC:lI116|N
+3C0DE4:lH3C0E8C|H3C0E98
+3C0E8C:t2:H3C0F40,H3C0F48
+3C0F48:lI97|H3C1004
+3C1004:lI112|H3C10C8
+3C10C8:lI112|H3C1194
+3C1194:lI108|H3C1258
+3C1258:lI105|H3C131C
+3C131C:lI99|H3C13F0
+3C13F0:lI97|H3C14CC
+3C14CC:lI116|H3C15A0
+3C15A0:lI105|H3C166C
+3C166C:lI111|H3C1738
+3C1738:lI110|H3C17F4
+3C17F4:lI47|H3C18B0
+3C18B0:lI120|H3C1964
+3C1964:lI45|H3C1A18
+3C1A18:lI115|H3C1ACC
+3C1ACC:lI104|H3C1B90
+3C1B90:lI97|H3C1C5C
+3C1C5C:lI114|N
+3C0F40:lI115|H3C0FFC
+3C0FFC:lI104|H3C10C0
+3C10C0:lI97|H3C118C
+3C118C:lI114|N
+3C0E98:lH3C0F50|H3C0F5C
+3C0F50:t2:H3C100C,H3C1014
+3C1014:lI97|H3C10D8
+3C10D8:lI112|H3C119C
+3C119C:lI112|H3C1260
+3C1260:lI108|H3C1324
+3C1324:lI105|H3C13F8
+3C13F8:lI99|H3C14D4
+3C14D4:lI97|H3C15A8
+3C15A8:lI116|H3C1674
+3C1674:lI105|H3C1740
+3C1740:lI111|H3C17FC
+3C17FC:lI110|H3C18B8
+3C18B8:lI47|H3C196C
+3C196C:lI120|H3C1A20
+3C1A20:lI45|H3C1AD4
+3C1AD4:lI115|H3C1B98
+3C1B98:lI104|N
+3C100C:lI115|H3C10D0
+3C10D0:lI104|N
+3C0F5C:lH3C101C|H3C1028
+3C101C:t2:H3C10E0,H3C10E8
+3C10E8:lI97|H3C11AC
+3C11AC:lI112|H3C1268
+3C1268:lI112|H3C132C
+3C132C:lI108|H3C1400
+3C1400:lI105|H3C14DC
+3C14DC:lI99|H3C15B0
+3C15B0:lI97|H3C167C
+3C167C:lI116|H3C1748
+3C1748:lI105|H3C1804
+3C1804:lI111|H3C18C0
+3C18C0:lI110|H3C1974
+3C1974:lI47|H3C1A28
+3C1A28:lI120|H3C1ADC
+3C1ADC:lI45|H3C1BA0
+3C1BA0:lI110|H3C1C64
+3C1C64:lI101|H3C1D20
+3C1D20:lI116|H3C1DDC
+3C1DDC:lI99|H3C1E98
+3C1E98:lI100|H3C1F5C
+3C1F5C:lI102|N
+3C10E0:lI110|H3C11A4
+3C11A4:lI99|N
+3C1028:lH3C10F0|H3C10FC
+3C10F0:t2:H3C11B4,H3C11BC
+3C11BC:lI97|H3C1278
+3C1278:lI112|H3C133C
+3C133C:lI112|H3C1408
+3C1408:lI108|H3C14E4
+3C14E4:lI105|H3C15B8
+3C15B8:lI99|H3C1684
+3C1684:lI97|H3C1750
+3C1750:lI116|H3C180C
+3C180C:lI105|H3C18C8
+3C18C8:lI111|H3C197C
+3C197C:lI110|H3C1A30
+3C1A30:lI47|H3C1AE4
+3C1AE4:lI120|H3C1BA8
+3C1BA8:lI45|H3C1C6C
+3C1C6C:lI110|H3C1D28
+3C1D28:lI101|H3C1DE4
+3C1DE4:lI116|H3C1EA0
+3C1EA0:lI99|H3C1F64
+3C1F64:lI100|H3C2018
+3C2018:lI102|N
+3C11B4:lI99|H3C1270
+3C1270:lI100|H3C1334
+3C1334:lI102|N
+3C10FC:lH3C11C4|H3C11D0
+3C11C4:t2:H3C1280,H3C1288
+3C1288:lI97|H3C134C
+3C134C:lI112|H3C1418
+3C1418:lI112|H3C14EC
+3C14EC:lI108|H3C15C0
+3C15C0:lI105|H3C168C
+3C168C:lI99|H3C1758
+3C1758:lI97|H3C1814
+3C1814:lI116|H3C18D0
+3C18D0:lI105|H3C1984
+3C1984:lI111|H3C1A38
+3C1A38:lI110|H3C1AEC
+3C1AEC:lI47|H3C1BB0
+3C1BB0:lI120|H3C1C74
+3C1C74:lI45|H3C1D30
+3C1D30:lI109|H3C1DEC
+3C1DEC:lI105|H3C1EA8
+3C1EA8:lI102|N
+3C1280:lI109|H3C1344
+3C1344:lI105|H3C1410
+3C1410:lI102|N
+3C11D0:lH3C1290|H3C129C
+3C1290:t2:H3C1354,H3C135C
+3C135C:lI97|H3C1428
+3C1428:lI112|H3C14FC
+3C14FC:lI112|H3C15D0
+3C15D0:lI108|H3C169C
+3C169C:lI105|H3C1760
+3C1760:lI99|H3C181C
+3C181C:lI97|H3C18D8
+3C18D8:lI116|H3C198C
+3C198C:lI105|H3C1A40
+3C1A40:lI111|H3C1AF4
+3C1AF4:lI110|H3C1BB8
+3C1BB8:lI47|H3C1C7C
+3C1C7C:lI120|H3C1D38
+3C1D38:lI45|H3C1DF4
+3C1DF4:lI108|H3C1EB0
+3C1EB0:lI97|H3C1F6C
+3C1F6C:lI116|H3C2020
+3C2020:lI101|H3C20DC
+3C20DC:lI120|N
+3C1354:lI108|H3C1420
+3C1420:lI97|H3C14F4
+3C14F4:lI116|H3C15C8
+3C15C8:lI101|H3C1694
+3C1694:lI120|N
+3C129C:lH3C1364|H3C1370
+3C1364:t2:H3C1430,H3C1438
+3C1438:lI97|H3C150C
+3C150C:lI112|H3C15E0
+3C15E0:lI112|H3C16A4
+3C16A4:lI108|H3C1768
+3C1768:lI105|H3C1824
+3C1824:lI99|H3C18E0
+3C18E0:lI97|H3C1994
+3C1994:lI116|H3C1A48
+3C1A48:lI105|H3C1AFC
+3C1AFC:lI111|H3C1BC0
+3C1BC0:lI110|H3C1C84
+3C1C84:lI47|H3C1D40
+3C1D40:lI120|H3C1DFC
+3C1DFC:lI45|H3C1EB8
+3C1EB8:lI107|H3C1F74
+3C1F74:lI111|H3C2028
+3C2028:lI97|H3C20E4
+3C20E4:lI110|N
+3C1430:lI115|H3C1504
+3C1504:lI107|H3C15D8
+3C15D8:lI112|N
+3C1370:lH3C1440|H3C144C
+3C1440:t2:H3C1514,H3C151C
+3C151C:lI97|H3C15F0
+3C15F0:lI112|H3C16B4
+3C16B4:lI112|H3C1770
+3C1770:lI108|H3C182C
+3C182C:lI105|H3C18E8
+3C18E8:lI99|H3C199C
+3C199C:lI97|H3C1A50
+3C1A50:lI116|H3C1B04
+3C1B04:lI105|H3C1BC8
+3C1BC8:lI111|H3C1C8C
+3C1C8C:lI110|H3C1D48
+3C1D48:lI47|H3C1E04
+3C1E04:lI120|H3C1EC0
+3C1EC0:lI45|H3C1F7C
+3C1F7C:lI107|H3C2030
+3C2030:lI111|H3C20EC
+3C20EC:lI97|H3C21A0
+3C21A0:lI110|N
+3C1514:lI115|H3C15E8
+3C15E8:lI107|H3C16AC
+3C16AC:lI100|N
+3C144C:lH3C1524|H3C1530
+3C1524:t2:H3C15F8,H3C1600
+3C1600:lI97|H3C16C4
+3C16C4:lI112|H3C1780
+3C1780:lI112|H3C1834
+3C1834:lI108|H3C18F0
+3C18F0:lI105|H3C19A4
+3C19A4:lI99|H3C1A58
+3C1A58:lI97|H3C1B0C
+3C1B0C:lI116|H3C1BD0
+3C1BD0:lI105|H3C1C94
+3C1C94:lI111|H3C1D50
+3C1D50:lI110|H3C1E0C
+3C1E0C:lI47|H3C1EC8
+3C1EC8:lI120|H3C1F84
+3C1F84:lI45|H3C2038
+3C2038:lI107|H3C20F4
+3C20F4:lI111|H3C21A8
+3C21A8:lI97|H3C225C
+3C225C:lI110|N
+3C15F8:lI115|H3C16BC
+3C16BC:lI107|H3C1778
+3C1778:lI116|N
+3C1530:lH3C1608|H3C1614
+3C1608:t2:H3C16CC,H3C16D4
+3C16D4:lI97|H3C1790
+3C1790:lI112|H3C1844
+3C1844:lI112|H3C18F8
+3C18F8:lI108|H3C19AC
+3C19AC:lI105|H3C1A60
+3C1A60:lI99|H3C1B14
+3C1B14:lI97|H3C1BD8
+3C1BD8:lI116|H3C1C9C
+3C1C9C:lI105|H3C1D58
+3C1D58:lI111|H3C1E14
+3C1E14:lI110|H3C1ED0
+3C1ED0:lI47|H3C1F8C
+3C1F8C:lI120|H3C2040
+3C2040:lI45|H3C20FC
+3C20FC:lI107|H3C21B0
+3C21B0:lI111|H3C2264
+3C2264:lI97|H3C2320
+3C2320:lI110|N
+3C16CC:lI115|H3C1788
+3C1788:lI107|H3C183C
+3C183C:lI109|N
+3C1614:lH3C16DC|H3C16E8
+3C16DC:t2:H3C1798,H3C17A0
+3C17A0:lI97|H3C1854
+3C1854:lI112|H3C1908
+3C1908:lI112|H3C19B4
+3C19B4:lI108|H3C1A68
+3C1A68:lI105|H3C1B1C
+3C1B1C:lI99|H3C1BE0
+3C1BE0:lI97|H3C1CA4
+3C1CA4:lI116|H3C1D60
+3C1D60:lI105|H3C1E1C
+3C1E1C:lI111|H3C1ED8
+3C1ED8:lI110|H3C1F94
+3C1F94:lI47|H3C2048
+3C2048:lI120|H3C2104
+3C2104:lI45|H3C21B8
+3C21B8:lI104|H3C226C
+3C226C:lI116|H3C2328
+3C2328:lI116|H3C23E4
+3C23E4:lI112|H3C2498
+3C2498:lI100|H3C2554
+3C2554:lI45|H3C2610
+3C2610:lI99|H3C26D4
+3C26D4:lI103|H3C2790
+3C2790:lI105|N
+3C1798:lI99|H3C184C
+3C184C:lI103|H3C1900
+3C1900:lI105|N
+3C16E8:lH3C17A8|H3C17B4
+3C17A8:t2:H3C185C,H3C1864
+3C1864:lI97|H3C1918
+3C1918:lI112|H3C19C4
+3C19C4:lI112|H3C1A70
+3C1A70:lI108|H3C1B24
+3C1B24:lI105|H3C1BE8
+3C1BE8:lI99|H3C1CAC
+3C1CAC:lI97|H3C1D68
+3C1D68:lI116|H3C1E24
+3C1E24:lI105|H3C1EE0
+3C1EE0:lI111|H3C1F9C
+3C1F9C:lI110|H3C2050
+3C2050:lI47|H3C210C
+3C210C:lI120|H3C21C0
+3C21C0:lI45|H3C2274
+3C2274:lI104|H3C2330
+3C2330:lI100|H3C23EC
+3C23EC:lI102|N
+3C185C:lI104|H3C1910
+3C1910:lI100|H3C19BC
+3C19BC:lI102|N
+3C17B4:lH3C186C|H3C1878
+3C186C:t2:H3C1920,H3C1928
+3C1928:lI97|H3C19D4
+3C19D4:lI112|H3C1A78
+3C1A78:lI112|H3C1B2C
+3C1B2C:lI108|H3C1BF0
+3C1BF0:lI105|H3C1CB4
+3C1CB4:lI99|H3C1D70
+3C1D70:lI97|H3C1E2C
+3C1E2C:lI116|H3C1EE8
+3C1EE8:lI105|H3C1FA4
+3C1FA4:lI111|H3C2058
+3C2058:lI110|H3C2114
+3C2114:lI47|H3C21C8
+3C21C8:lI120|H3C227C
+3C227C:lI45|H3C2338
+3C2338:lI103|H3C23F4
+3C23F4:lI122|H3C24A0
+3C24A0:lI105|H3C255C
+3C255C:lI112|N
+3C1920:lI103|H3C19CC
+3C19CC:lI122|N
+3C1878:lH3C1930|H3C193C
+3C1930:t2:H3C19DC,H3C19E4
+3C19E4:lI97|H3C1A88
+3C1A88:lI112|H3C1B3C
+3C1B3C:lI112|H3C1C00
+3C1C00:lI108|H3C1CBC
+3C1CBC:lI105|H3C1D78
+3C1D78:lI99|H3C1E34
+3C1E34:lI97|H3C1EF0
+3C1EF0:lI116|H3C1FAC
+3C1FAC:lI105|H3C2060
+3C2060:lI111|H3C211C
+3C211C:lI110|H3C21D0
+3C21D0:lI47|H3C2284
+3C2284:lI120|H3C2340
+3C2340:lI45|H3C23FC
+3C23FC:lI103|H3C24A8
+3C24A8:lI116|H3C2564
+3C2564:lI97|H3C2618
+3C2618:lI114|N
+3C19DC:lI103|H3C1A80
+3C1A80:lI116|H3C1B34
+3C1B34:lI97|H3C1BF8
+3C1BF8:lI114|N
+3C193C:lH3C19EC|H3C19F8
+3C19EC:t2:H3C1A90,H3C1A98
+3C1A98:lI97|H3C1B4C
+3C1B4C:lI112|H3C1C10
+3C1C10:lI112|H3C1CC4
+3C1CC4:lI108|H3C1D80
+3C1D80:lI105|H3C1E3C
+3C1E3C:lI99|H3C1EF8
+3C1EF8:lI97|H3C1FB4
+3C1FB4:lI116|H3C2068
+3C2068:lI105|H3C2124
+3C2124:lI111|H3C21D8
+3C21D8:lI110|H3C228C
+3C228C:lI47|H3C2348
+3C2348:lI120|H3C2404
+3C2404:lI45|H3C24B0
+3C24B0:lI100|H3C256C
+3C256C:lI118|H3C2620
+3C2620:lI105|N
+3C1A90:lI100|H3C1B44
+3C1B44:lI118|H3C1C08
+3C1C08:lI105|N
+3C19F8:lH3C1AA0|H3C1AAC
+3C1AA0:t2:H3C1B54,H3C1B5C
+3C1B5C:lI97|H3C1C20
+3C1C20:lI112|H3C1CD4
+3C1CD4:lI112|H3C1D88
+3C1D88:lI108|H3C1E44
+3C1E44:lI105|H3C1F00
+3C1F00:lI99|H3C1FBC
+3C1FBC:lI97|H3C2070
+3C2070:lI116|H3C212C
+3C212C:lI105|H3C21E0
+3C21E0:lI111|H3C2294
+3C2294:lI110|H3C2350
+3C2350:lI47|H3C240C
+3C240C:lI120|H3C24B8
+3C24B8:lI45|H3C2574
+3C2574:lI100|H3C2628
+3C2628:lI105|H3C26DC
+3C26DC:lI114|H3C2798
+3C2798:lI101|H3C2854
+3C2854:lI99|H3C2918
+3C2918:lI116|H3C29E4
+3C29E4:lI111|H3C2AB0
+3C2AB0:lI114|N
+3C1B54:lI100|H3C1C18
+3C1C18:lI99|H3C1CCC
+3C1CCC:lI114|N
+3C1AAC:lH3C1B64|H3C1B70
+3C1B64:t2:H3C1C28,H3C1C30
+3C1C30:lI97|H3C1CE4
+3C1CE4:lI112|H3C1D98
+3C1D98:lI112|H3C1E4C
+3C1E4C:lI108|H3C1F08
+3C1F08:lI105|H3C1FC4
+3C1FC4:lI99|H3C2078
+3C2078:lI97|H3C2134
+3C2134:lI116|H3C21E8
+3C21E8:lI105|H3C229C
+3C229C:lI111|H3C2358
+3C2358:lI110|H3C2414
+3C2414:lI47|H3C24C0
+3C24C0:lI120|H3C257C
+3C257C:lI45|H3C2630
+3C2630:lI100|H3C26E4
+3C26E4:lI105|H3C27A0
+3C27A0:lI114|H3C285C
+3C285C:lI101|H3C2920
+3C2920:lI99|H3C29EC
+3C29EC:lI116|H3C2AB8
+3C2AB8:lI111|H3C2B84
+3C2B84:lI114|N
+3C1C28:lI100|H3C1CDC
+3C1CDC:lI105|H3C1D90
+3C1D90:lI114|N
+3C1B70:lH3C1C38|H3C1C44
+3C1C38:t2:H3C1CEC,H3C1CF4
+3C1CF4:lI97|H3C1DA8
+3C1DA8:lI112|H3C1E5C
+3C1E5C:lI112|H3C1F10
+3C1F10:lI108|H3C1FCC
+3C1FCC:lI105|H3C2080
+3C2080:lI99|H3C213C
+3C213C:lI97|H3C21F0
+3C21F0:lI116|H3C22A4
+3C22A4:lI105|H3C2360
+3C2360:lI111|H3C241C
+3C241C:lI110|H3C24C8
+3C24C8:lI47|H3C2584
+3C2584:lI120|H3C2638
+3C2638:lI45|H3C26EC
+3C26EC:lI100|H3C27A8
+3C27A8:lI105|H3C2864
+3C2864:lI114|H3C2928
+3C2928:lI101|H3C29F4
+3C29F4:lI99|H3C2AC0
+3C2AC0:lI116|H3C2B8C
+3C2B8C:lI111|H3C2C48
+3C2C48:lI114|N
+3C1CEC:lI100|H3C1DA0
+3C1DA0:lI120|H3C1E54
+3C1E54:lI114|N
+3C1C44:lH3C1CFC|H3C1D08
+3C1CFC:t2:H3C1DB0,H3C1DB8
+3C1DB8:lI97|H3C1E6C
+3C1E6C:lI112|H3C1F20
+3C1F20:lI112|H3C1FD4
+3C1FD4:lI108|H3C2088
+3C2088:lI105|H3C2144
+3C2144:lI99|H3C21F8
+3C21F8:lI97|H3C22AC
+3C22AC:lI116|H3C2368
+3C2368:lI105|H3C2424
+3C2424:lI111|H3C24D0
+3C24D0:lI110|H3C258C
+3C258C:lI47|H3C2640
+3C2640:lI120|H3C26F4
+3C26F4:lI45|H3C27B0
+3C27B0:lI99|H3C286C
+3C286C:lI115|H3C2930
+3C2930:lI104|N
+3C1DB0:lI99|H3C1E64
+3C1E64:lI115|H3C1F18
+3C1F18:lI104|N
+3C1D08:lH3C1DC0|H3C1DCC
+3C1DC0:t2:H3C1E74,H3C1E7C
+3C1E7C:lI97|H3C1F30
+3C1F30:lI112|H3C1FE4
+3C1FE4:lI112|H3C2098
+3C2098:lI108|H3C214C
+3C214C:lI105|H3C2200
+3C2200:lI99|H3C22B4
+3C22B4:lI97|H3C2370
+3C2370:lI116|H3C242C
+3C242C:lI105|H3C24D8
+3C24D8:lI111|H3C2594
+3C2594:lI110|H3C2648
+3C2648:lI47|H3C26FC
+3C26FC:lI120|H3C27B8
+3C27B8:lI45|H3C2874
+3C2874:lI99|H3C2938
+3C2938:lI112|H3C29FC
+3C29FC:lI105|H3C2AC8
+3C2AC8:lI111|N
+3C1E74:lI99|H3C1F28
+3C1F28:lI112|H3C1FDC
+3C1FDC:lI105|H3C2090
+3C2090:lI111|N
+3C1DCC:lH3C1E84|H3C1E90
+3C1E84:t2:H3C1F38,H3C1F40
+3C1F40:lI97|H3C1FEC
+3C1FEC:lI112|H3C20A0
+3C20A0:lI112|H3C2154
+3C2154:lI108|H3C2208
+3C2208:lI105|H3C22BC
+3C22BC:lI99|H3C2378
+3C2378:lI97|H3C2434
+3C2434:lI116|H3C24E0
+3C24E0:lI105|H3C259C
+3C259C:lI111|H3C2650
+3C2650:lI110|H3C2704
+3C2704:lI47|H3C27C0
+3C27C0:lI120|H3C287C
+3C287C:lI45|H3C2940
+3C2940:lI99|H3C2A04
+3C2A04:lI111|H3C2AD0
+3C2AD0:lI109|H3C2B94
+3C2B94:lI112|H3C2C50
+3C2C50:lI114|H3C2D00
+3C2D00:lI101|H3C2DA8
+3C2DA8:lI115|H3C2E40
+3C2E40:lI115|N
+3C1F38:lI90|N
+3C1E90:lH3C1F48|H3C1F54
+3C1F48:t2:H3C1FF4,H3C1FFC
+3C1FFC:lI97|H3C20B0
+3C20B0:lI112|H3C2164
+3C2164:lI112|H3C2210
+3C2210:lI108|H3C22C4
+3C22C4:lI105|H3C2380
+3C2380:lI99|H3C243C
+3C243C:lI97|H3C24E8
+3C24E8:lI116|H3C25A4
+3C25A4:lI105|H3C2658
+3C2658:lI111|H3C270C
+3C270C:lI110|H3C27C8
+3C27C8:lI47|H3C2884
+3C2884:lI120|H3C2948
+3C2948:lI45|H3C2A0C
+3C2A0C:lI99|H3C2AD8
+3C2AD8:lI100|H3C2B9C
+3C2B9C:lI108|H3C2C58
+3C2C58:lI105|H3C2D08
+3C2D08:lI110|H3C2DB0
+3C2DB0:lI107|N
+3C1FF4:lI118|H3C20A8
+3C20A8:lI99|H3C215C
+3C215C:lI100|N
+3C1F54:lH3C2004|H3C2010
+3C2004:t2:H3C20B8,H3C20C0
+3C20C0:lI97|H3C2174
+3C2174:lI112|H3C2220
+3C2220:lI112|H3C22D4
+3C22D4:lI108|H3C2390
+3C2390:lI105|H3C2444
+3C2444:lI99|H3C24F0
+3C24F0:lI97|H3C25AC
+3C25AC:lI116|H3C2660
+3C2660:lI105|H3C2714
+3C2714:lI111|H3C27D0
+3C27D0:lI110|H3C288C
+3C288C:lI47|H3C2950
+3C2950:lI120|H3C2A14
+3C2A14:lI45|H3C2AE0
+3C2AE0:lI98|H3C2BA4
+3C2BA4:lI99|H3C2C60
+3C2C60:lI112|H3C2D10
+3C2D10:lI105|H3C2DB8
+3C2DB8:lI111|N
+3C20B8:lI98|H3C216C
+3C216C:lI99|H3C2218
+3C2218:lI112|H3C22CC
+3C22CC:lI105|H3C2388
+3C2388:lI111|N
+3C2010:lH3C20C8|H3C20D4
+3C20C8:t2:H3C217C,H3C2184
+3C2184:lI97|H3C2230
+3C2230:lI112|H3C22E4
+3C22E4:lI112|H3C2398
+3C2398:lI108|H3C244C
+3C244C:lI105|H3C24F8
+3C24F8:lI99|H3C25B4
+3C25B4:lI97|H3C2668
+3C2668:lI116|H3C271C
+3C271C:lI105|H3C27D8
+3C27D8:lI111|H3C2894
+3C2894:lI110|H3C2958
+3C2958:lI47|H3C2A1C
+3C2A1C:lI114|H3C2AE8
+3C2AE8:lI116|H3C2BAC
+3C2BAC:lI102|N
+3C217C:lI114|H3C2228
+3C2228:lI116|H3C22DC
+3C22DC:lI102|N
+3C20D4:lH3C218C|H3C2198
+3C218C:t2:H3C2238,H3C2240
+3C2240:lI97|H3C22F4
+3C22F4:lI112|H3C23A8
+3C23A8:lI112|H3C2454
+3C2454:lI108|H3C2500
+3C2500:lI105|H3C25BC
+3C25BC:lI99|H3C2670
+3C2670:lI97|H3C2724
+3C2724:lI116|H3C27E0
+3C27E0:lI105|H3C289C
+3C289C:lI111|H3C2960
+3C2960:lI110|H3C2A24
+3C2A24:lI47|H3C2AF0
+3C2AF0:lI112|H3C2BB4
+3C2BB4:lI111|H3C2C68
+3C2C68:lI119|H3C2D18
+3C2D18:lI101|H3C2DC0
+3C2DC0:lI114|H3C2E48
+3C2E48:lI112|H3C2EC0
+3C2EC0:lI111|H3C2F38
+3C2F38:lI105|H3C2FA8
+3C2FA8:lI110|H3C3010
+3C3010:lI116|N
+3C2238:lI112|H3C22EC
+3C22EC:lI112|H3C23A0
+3C23A0:lI116|N
+3C2198:lH3C2248|H3C2254
+3C2248:t2:H3C22FC,H3C2304
+3C2304:lI97|H3C23B8
+3C23B8:lI112|H3C245C
+3C245C:lI112|H3C2508
+3C2508:lI108|H3C25C4
+3C25C4:lI105|H3C2678
+3C2678:lI99|H3C272C
+3C272C:lI97|H3C27E8
+3C27E8:lI116|H3C28A4
+3C28A4:lI105|H3C2968
+3C2968:lI111|H3C2A2C
+3C2A2C:lI110|H3C2AF8
+3C2AF8:lI47|H3C2BBC
+3C2BBC:lI112|H3C2C70
+3C2C70:lI111|H3C2D20
+3C2D20:lI115|H3C2DC8
+3C2DC8:lI116|H3C2E50
+3C2E50:lI115|H3C2EC8
+3C2EC8:lI99|H3C2F40
+3C2F40:lI114|H3C2FB0
+3C2FB0:lI105|H3C3018
+3C3018:lI112|H3C3078
+3C3078:lI116|N
+3C22FC:lI97|H3C23B0
+3C23B0:lI105|N
+3C2254:lH3C230C|H3C2318
+3C230C:t2:H3C23C0,H3C23C8
+3C23C8:lI97|H3C246C
+3C246C:lI112|H3C2518
+3C2518:lI112|H3C25CC
+3C25CC:lI108|H3C2680
+3C2680:lI105|H3C2734
+3C2734:lI99|H3C27F0
+3C27F0:lI97|H3C28AC
+3C28AC:lI116|H3C2970
+3C2970:lI105|H3C2A34
+3C2A34:lI111|H3C2B00
+3C2B00:lI110|H3C2BC4
+3C2BC4:lI47|H3C2C78
+3C2C78:lI112|H3C2D28
+3C2D28:lI111|H3C2DD0
+3C2DD0:lI115|H3C2E58
+3C2E58:lI116|H3C2ED0
+3C2ED0:lI115|H3C2F48
+3C2F48:lI99|H3C2FB8
+3C2FB8:lI114|H3C3020
+3C3020:lI105|H3C3080
+3C3080:lI112|H3C30D8
+3C30D8:lI116|N
+3C23C0:lI101|H3C2464
+3C2464:lI112|H3C2510
+3C2510:lI115|N
+3C2318:lH3C23D0|H3C23DC
+3C23D0:t2:H3C2474,H3C247C
+3C247C:lI97|H3C2528
+3C2528:lI112|H3C25D4
+3C25D4:lI112|H3C2688
+3C2688:lI108|H3C273C
+3C273C:lI105|H3C27F8
+3C27F8:lI99|H3C28B4
+3C28B4:lI97|H3C2978
+3C2978:lI116|H3C2A3C
+3C2A3C:lI105|H3C2B08
+3C2B08:lI111|H3C2BCC
+3C2BCC:lI110|H3C2C80
+3C2C80:lI47|H3C2D30
+3C2D30:lI112|H3C2DD8
+3C2DD8:lI111|H3C2E60
+3C2E60:lI115|H3C2ED8
+3C2ED8:lI116|H3C2F50
+3C2F50:lI115|H3C2FC0
+3C2FC0:lI99|H3C3028
+3C3028:lI114|H3C3088
+3C3088:lI105|H3C30E0
+3C30E0:lI112|H3C3130
+3C3130:lI116|N
+3C2474:lI112|H3C2520
+3C2520:lI115|N
+3C23DC:lH3C2484|H3C2490
+3C2484:t2:H3C2530,H3C2538
+3C2538:lI97|H3C25E4
+3C25E4:lI112|H3C2698
+3C2698:lI112|H3C2744
+3C2744:lI108|H3C2800
+3C2800:lI105|H3C28BC
+3C28BC:lI99|H3C2980
+3C2980:lI97|H3C2A44
+3C2A44:lI116|H3C2B10
+3C2B10:lI105|H3C2BD4
+3C2BD4:lI111|H3C2C88
+3C2C88:lI110|H3C2D38
+3C2D38:lI47|H3C2DE0
+3C2DE0:lI112|H3C2E68
+3C2E68:lI100|H3C2EE0
+3C2EE0:lI102|N
+3C2530:lI112|H3C25DC
+3C25DC:lI100|H3C2690
+3C2690:lI102|N
+3C2490:lH3C2540|H3C254C
+3C2540:t2:H3C25EC,H3C25F4
+3C25F4:lI97|H3C26A8
+3C26A8:lI112|H3C2754
+3C2754:lI112|H3C2808
+3C2808:lI108|H3C28C4
+3C28C4:lI105|H3C2988
+3C2988:lI99|H3C2A4C
+3C2A4C:lI97|H3C2B18
+3C2B18:lI116|H3C2BDC
+3C2BDC:lI105|H3C2C90
+3C2C90:lI111|H3C2D40
+3C2D40:lI110|H3C2DE8
+3C2DE8:lI47|H3C2E70
+3C2E70:lI111|H3C2EE8
+3C2EE8:lI100|H3C2F58
+3C2F58:lI97|N
+3C25EC:lI111|H3C26A0
+3C26A0:lI100|H3C274C
+3C274C:lI97|N
+3C254C:lH3C25FC|H3C2608
+3C25FC:t2:H3C26B0,H3C26B8
+3C26B8:lI97|H3C2764
+3C2764:lI112|H3C2818
+3C2818:lI112|H3C28CC
+3C28CC:lI108|H3C2990
+3C2990:lI105|H3C2A54
+3C2A54:lI99|H3C2B20
+3C2B20:lI97|H3C2BE4
+3C2BE4:lI116|H3C2C98
+3C2C98:lI105|H3C2D48
+3C2D48:lI111|H3C2DF0
+3C2DF0:lI110|H3C2E78
+3C2E78:lI47|H3C2EF0
+3C2EF0:lI111|H3C2F60
+3C2F60:lI99|H3C2FC8
+3C2FC8:lI116|H3C3030
+3C3030:lI101|H3C3090
+3C3090:lI116|H3C30E8
+3C30E8:lI45|H3C3138
+3C3138:lI115|H3C3180
+3C3180:lI116|H3C31C8
+3C31C8:lI114|H3C3210
+3C3210:lI101|H3C3258
+3C3258:lI97|H3C32A0
+3C32A0:lI109|N
+3C26B0:lI98|H3C275C
+3C275C:lI105|H3C2810
+3C2810:lI110|N
+3C2608:lH3C26C0|H3C26CC
+3C26C0:t2:H3C276C,H3C2774
+3C2774:lI97|H3C2828
+3C2828:lI112|H3C28DC
+3C28DC:lI112|H3C2998
+3C2998:lI108|H3C2A5C
+3C2A5C:lI105|H3C2B28
+3C2B28:lI99|H3C2BEC
+3C2BEC:lI97|H3C2CA0
+3C2CA0:lI116|H3C2D50
+3C2D50:lI105|H3C2DF8
+3C2DF8:lI111|H3C2E80
+3C2E80:lI110|H3C2EF8
+3C2EF8:lI47|H3C2F68
+3C2F68:lI111|H3C2FD0
+3C2FD0:lI99|H3C3038
+3C3038:lI116|H3C3098
+3C3098:lI101|H3C30F0
+3C30F0:lI116|H3C3140
+3C3140:lI45|H3C3188
+3C3188:lI115|H3C31D0
+3C31D0:lI116|H3C3218
+3C3218:lI114|H3C3260
+3C3260:lI101|H3C32A8
+3C32A8:lI97|H3C32E8
+3C32E8:lI109|N
+3C276C:lI100|H3C2820
+3C2820:lI109|H3C28D4
+3C28D4:lI115|N
+3C26CC:lH3C277C|H3C2788
+3C277C:t2:H3C2830,H3C2838
+3C2838:lI97|H3C28EC
+3C28EC:lI112|H3C29A8
+3C29A8:lI112|H3C2A64
+3C2A64:lI108|H3C2B30
+3C2B30:lI105|H3C2BF4
+3C2BF4:lI99|H3C2CA8
+3C2CA8:lI97|H3C2D58
+3C2D58:lI116|H3C2E00
+3C2E00:lI105|H3C2E88
+3C2E88:lI111|H3C2F00
+3C2F00:lI110|H3C2F70
+3C2F70:lI47|H3C2FD8
+3C2FD8:lI111|H3C3040
+3C3040:lI99|H3C30A0
+3C30A0:lI116|H3C30F8
+3C30F8:lI101|H3C3148
+3C3148:lI116|H3C3190
+3C3190:lI45|H3C31D8
+3C31D8:lI115|H3C3220
+3C3220:lI116|H3C3268
+3C3268:lI114|H3C32B0
+3C32B0:lI101|H3C32F0
+3C32F0:lI97|H3C3320
+3C3320:lI109|N
+3C2830:lI108|H3C28E4
+3C28E4:lI104|H3C29A0
+3C29A0:lI97|N
+3C2788:lH3C2840|H3C284C
+3C2840:t2:H3C28F4,H3C28FC
+3C28FC:lI97|H3C29B8
+3C29B8:lI112|H3C2A74
+3C2A74:lI112|H3C2B38
+3C2B38:lI108|H3C2BFC
+3C2BFC:lI105|H3C2CB0
+3C2CB0:lI99|H3C2D60
+3C2D60:lI97|H3C2E08
+3C2E08:lI116|H3C2E90
+3C2E90:lI105|H3C2F08
+3C2F08:lI111|H3C2F78
+3C2F78:lI110|H3C2FE0
+3C2FE0:lI47|H3C3048
+3C3048:lI111|H3C30A8
+3C30A8:lI99|H3C3100
+3C3100:lI116|H3C3150
+3C3150:lI101|H3C3198
+3C3198:lI116|H3C31E0
+3C31E0:lI45|H3C3228
+3C3228:lI115|H3C3270
+3C3270:lI116|H3C32B8
+3C32B8:lI114|H3C32F8
+3C32F8:lI101|H3C3328
+3C3328:lI97|H3C3350
+3C3350:lI109|N
+3C28F4:lI108|H3C29B0
+3C29B0:lI122|H3C2A6C
+3C2A6C:lI104|N
+3C284C:lH3C2904|H3C2910
+3C2904:t2:H3C29C0,H3C29C8
+3C29C8:lI97|H3C2A84
+3C2A84:lI112|H3C2B48
+3C2B48:lI112|H3C2C04
+3C2C04:lI108|H3C2CB8
+3C2CB8:lI105|H3C2D68
+3C2D68:lI99|H3C2E10
+3C2E10:lI97|H3C2E98
+3C2E98:lI116|H3C2F10
+3C2F10:lI105|H3C2F80
+3C2F80:lI111|H3C2FE8
+3C2FE8:lI110|H3C3050
+3C3050:lI47|H3C30B0
+3C30B0:lI111|H3C3108
+3C3108:lI99|H3C3158
+3C3158:lI116|H3C31A0
+3C31A0:lI101|H3C31E8
+3C31E8:lI116|H3C3230
+3C3230:lI45|H3C3278
+3C3278:lI115|H3C32C0
+3C32C0:lI116|H3C3300
+3C3300:lI114|H3C3330
+3C3330:lI101|H3C3358
+3C3358:lI97|H3C3378
+3C3378:lI109|N
+3C29C0:lI101|H3C2A7C
+3C2A7C:lI120|H3C2B40
+3C2B40:lI101|N
+3C2910:lH3C29D0|H3C29DC
+3C29D0:t2:H3C2A8C,H3C2A94
+3C2A94:lI97|H3C2B58
+3C2B58:lI112|H3C2C14
+3C2C14:lI112|H3C2CC8
+3C2CC8:lI108|H3C2D78
+3C2D78:lI105|H3C2E18
+3C2E18:lI99|H3C2EA0
+3C2EA0:lI97|H3C2F18
+3C2F18:lI116|H3C2F88
+3C2F88:lI105|H3C2FF0
+3C2FF0:lI111|H3C3058
+3C3058:lI110|H3C30B8
+3C30B8:lI47|H3C3110
+3C3110:lI111|H3C3160
+3C3160:lI99|H3C31A8
+3C31A8:lI116|H3C31F0
+3C31F0:lI101|H3C3238
+3C3238:lI116|H3C3280
+3C3280:lI45|H3C32C8
+3C32C8:lI115|H3C3308
+3C3308:lI116|H3C3338
+3C3338:lI114|H3C3360
+3C3360:lI101|H3C3380
+3C3380:lI97|H3C3398
+3C3398:lI109|N
+3C2A8C:lI99|H3C2B50
+3C2B50:lI108|H3C2C0C
+3C2C0C:lI97|H3C2CC0
+3C2CC0:lI115|H3C2D70
+3C2D70:lI115|N
+3C29DC:lH3C2A9C|H3C2AA8
+3C2A9C:t2:H3C2B60,H3C2B68
+3C2B68:lI97|H3C2C24
+3C2C24:lI112|H3C2CD8
+3C2CD8:lI112|H3C2D80
+3C2D80:lI108|H3C2E20
+3C2E20:lI105|H3C2EA8
+3C2EA8:lI99|H3C2F20
+3C2F20:lI97|H3C2F90
+3C2F90:lI116|H3C2FF8
+3C2FF8:lI105|H3C3060
+3C3060:lI111|H3C30C0
+3C30C0:lI110|H3C3118
+3C3118:lI47|H3C3168
+3C3168:lI109|H3C31B0
+3C31B0:lI115|H3C31F8
+3C31F8:lI119|H3C3240
+3C3240:lI111|H3C3288
+3C3288:lI114|H3C32D0
+3C32D0:lI100|N
+3C2B60:lI100|H3C2C1C
+3C2C1C:lI111|H3C2CD0
+3C2CD0:lI99|N
+3C2AA8:lH3C2B70|H3C2B7C
+3C2B70:t2:H3C2C2C,H3C2C34
+3C2C34:lI97|H3C2CE8
+3C2CE8:lI112|H3C2D90
+3C2D90:lI112|H3C2E28
+3C2E28:lI108|H3C2EB0
+3C2EB0:lI105|H3C2F28
+3C2F28:lI99|H3C2F98
+3C2F98:lI97|H3C3000
+3C3000:lI116|H3C3068
+3C3068:lI105|H3C30C8
+3C30C8:lI111|H3C3120
+3C3120:lI110|H3C3170
+3C3170:lI47|H3C31B8
+3C31B8:lI109|H3C3200
+3C3200:lI97|H3C3248
+3C3248:lI99|H3C3290
+3C3290:lI45|H3C32D8
+3C32D8:lI99|H3C3310
+3C3310:lI111|H3C3340
+3C3340:lI109|H3C3368
+3C3368:lI112|H3C3388
+3C3388:lI97|H3C33A0
+3C33A0:lI99|H3C33B0
+3C33B0:lI116|H3C33C0
+3C33C0:lI112|H3C33D0
+3C33D0:lI114|H3C33E0
+3C33E0:lI111|N
+3C2C2C:lI99|H3C2CE0
+3C2CE0:lI112|H3C2D88
+3C2D88:lI116|N
+3C2B7C:lH3C2C3C|N
+3C2C3C:t2:H3C2CF0,H3C2CF8
+3C2CF8:lI97|H3C2DA0
+3C2DA0:lI112|H3C2E38
+3C2E38:lI112|H3C2EB8
+3C2EB8:lI108|H3C2F30
+3C2F30:lI105|H3C2FA0
+3C2FA0:lI99|H3C3008
+3C3008:lI97|H3C3070
+3C3070:lI116|H3C30D0
+3C30D0:lI105|H3C3128
+3C3128:lI111|H3C3178
+3C3178:lI110|H3C31C0
+3C31C0:lI47|H3C3208
+3C3208:lI109|H3C3250
+3C3250:lI97|H3C3298
+3C3298:lI99|H3C32E0
+3C32E0:lI45|H3C3318
+3C3318:lI98|H3C3348
+3C3348:lI105|H3C3370
+3C3370:lI110|H3C3390
+3C3390:lI104|H3C33A8
+3C33A8:lI101|H3C33B8
+3C33B8:lI120|H3C33C8
+3C33C8:lI52|H3C33D8
+3C33D8:lI48|N
+3C2CF0:lI104|H3C2D98
+3C2D98:lI113|H3C2E30
+3C2E30:lI120|N
+3BDBCC:lH3BDA78|H3BDA8C
+3BDA78:t2:A4:port,I8888
+3BDA8C:lH3BDB04|H3BDB10
+3BDB04:t2:AC:bind_address,H3BDB64
+3BDB64:t4:I127,I0,I0,I1
+3BDB10:lH3BDB78|H3BDB84
+3BDB78:t2:AB:server_name,H3BDBD4
+3BDBD4:lI108|H3BDC24
+3BDC24:lI111|H3BDC88
+3BDC88:lI99|H3BDCF0
+3BDCF0:lI97|H3BDD70
+3BDD70:lI108|H3BDDF8
+3BDDF8:lI104|H3BDE90
+3BDE90:lI111|H3BDF40
+3BDF40:lI115|H3BDFFC
+3BDFFC:lI116|N
+3BDB84:lH3BDBDC|H3BDBE8
+3BDBDC:t2:AE:max_header_siz,I1024
+3BDBE8:lH3BDC2C|H3BDC38
+3BDC2C:t2:A11:max_header_action,A8:reply414
+3BDC38:lH3BDC90|H3BDC9C
+3BDC90:t2:A8:com_type,A7:ip_comm
+3BDC9C:lH3BDCF8|H3BDD04
+3BDCF8:t2:A7:modules,H3BDD78
+3BDD78:lA9:mod_alias|H3BDE00
+3BDE00:lA8:mod_auth|H3BDE98
+3BDE98:lA7:mod_esi|H3BDF48
+3BDF48:lAB:mod_actions|H3BE004
+3BE004:lA7:mod_cgi|H3BE0D0
+3BE0D0:lAB:mod_include|H3BE1A4
+3BE1A4:lA7:mod_dir|H3BE288
+3BE288:lA7:mod_get|H3BE378
+3BE378:lA8:mod_head|H3BE47C
+3BE47C:lA7:mod_log|H3BE580
+3BE580:lAC:mod_disk_log|N
+3BDD04:lH3BDD80|H3BDD8C
+3BDD80:t2:AF:directory_index,H3BDE08
+3BDE08:lH3BDEA0|N
+3BDEA0:lI105|H3BDF50
+3BDF50:lI110|H3BE00C
+3BE00C:lI100|H3BE0D8
+3BE0D8:lI101|H3BE1AC
+3BE1AC:lI120|H3BE290
+3BE290:lI46|H3BE380
+3BE380:lI104|H3BE484
+3BE484:lI116|H3BE588
+3BE588:lI109|H3BE68C
+3BE68C:lI108|N
+3BDD8C:lH3BDE10|H3BDE1C
+3BDE10:t2:AC:default_type,H3BDEA8
+3BDEA8:lI116|H3BDF58
+3BDF58:lI101|H3BE014
+3BE014:lI120|H3BE0E0
+3BE0E0:lI116|H3BE1B4
+3BE1B4:lI47|H3BE298
+3BE298:lI112|H3BE388
+3BE388:lI108|H3BE48C
+3BE48C:lI97|H3BE590
+3BE590:lI105|H3BE694
+3BE694:lI110|N
+3BDE1C:lH3BDEB0|H3BDEBC
+3BDEB0:t2:A10:erl_script_alias,H3BDF60
+3BDF60:t2:H3BE01C,H3BE024
+3BE024:lH3BE0F0|N
+3BE0F0:lI119|H3BE1C4
+3BE1C4:lI101|H3BE2A8
+3BE2A8:lI98|H3BE398
+3BE398:lI116|H3BE49C
+3BE49C:lI111|H3BE5A0
+3BE5A0:lI111|H3BE6A4
+3BE6A4:lI108|N
+3BE01C:lI47|H3BE0E8
+3BE0E8:lI119|H3BE1BC
+3BE1BC:lI101|H3BE2A0
+3BE2A0:lI98|H3BE390
+3BE390:lI116|H3BE494
+3BE494:lI111|H3BE598
+3BE598:lI111|H3BE69C
+3BE69C:lI108|N
+3BDEBC:lH3BDF6C|H3BDF78
+3BDF6C:t2:A5:alias,H3BE02C
+3BE02C:t2:H3BE0F8,H3BE100
+3BE100:lI47|H3BE1D4
+3BE1D4:lI99|H3BE2B8
+3BE2B8:lI108|H3BE3A8
+3BE3A8:lI101|H3BE4AC
+3BE4AC:lI97|H3BE5B0
+3BE5B0:lI114|H3BE6B4
+3BE6B4:lI99|H3BE7A8
+3BE7A8:lI97|H3BE894
+3BE894:lI115|H3BE980
+3BE980:lI101|H3BEA74
+3BEA74:lI47|H3BEB68
+3BEB68:lI111|H3BEC54
+3BEC54:lI116|H3BED40
+3BED40:lI112|H3BEE2C
+3BEE2C:lI47|H3BEF00
+3BEF00:lI101|H3BEFD4
+3BEFD4:lI114|H3BF0A0
+3BF0A0:lI116|H3BF174
+3BF174:lI115|H3BF238
+3BF238:lI47|H3BF2FC
+3BF2FC:lI108|H3BF3A8
+3BF3A8:lI105|H3BF45C
+3BF45C:lI98|H3BF518
+3BF518:lI47|H3BF5DC
+3BF5DC:lI111|H3BF6B0
+3BF6B0:lI98|H3BF784
+3BF784:lI115|H3BF858
+3BF858:lI101|H3BF93C
+3BF93C:lI114|H3BFA18
+3BFA18:lI118|H3BFAF4
+3BFAF4:lI101|H3BFBD0
+3BFBD0:lI114|H3BFC9C
+3BFC9C:lI47|H3BFD60
+3BFD60:lI112|H3BFE2C
+3BFE2C:lI114|H3BFEE0
+3BFEE0:lI105|H3BFF94
+3BFF94:lI118|H3C0040
+3C0040:lI47|H3C00EC
+3C00EC:lI99|H3C0198
+3C0198:lI114|H3C024C
+3C024C:lI97|H3C0308
+3C0308:lI115|H3C03BC
+3C03BC:lI104|H3C0458
+3C0458:lI100|H3C04F4
+3C04F4:lI117|H3C0590
+3C0590:lI109|H3C0634
+3C0634:lI112|H3C06E0
+3C06E0:lI95|H3C078C
+3C078C:lI118|H3C0830
+3C0830:lI105|H3C08BC
+3C08BC:lI101|H3C0950
+3C0950:lI119|H3C09E4
+3C09E4:lI101|H3C0A80
+3C0A80:lI114|N
+3BE0F8:lI47|H3BE1CC
+3BE1CC:lI99|H3BE2B0
+3BE2B0:lI114|H3BE3A0
+3BE3A0:lI97|H3BE4A4
+3BE4A4:lI115|H3BE5A8
+3BE5A8:lI104|H3BE6AC
+3BE6AC:lI100|H3BE7A0
+3BE7A0:lI117|H3BE88C
+3BE88C:lI109|H3BE978
+3BE978:lI112|H3BEA6C
+3BEA6C:lI95|H3BEB60
+3BEB60:lI118|H3BEC4C
+3BEC4C:lI105|H3BED38
+3BED38:lI101|H3BEE24
+3BEE24:lI119|H3BEEF8
+3BEEF8:lI101|H3BEFCC
+3BEFCC:lI114|N
+3BDF78:lH3BE038|H3BE044
+3BE038:t2:A5:alias,H3BE108
+3BE108:t2:H3BE1DC,H3BE1E4
+3BE1E4:lI47|H3BE2C8
+3BE2C8:lI99|H3BE3B8
+3BE3B8:lI108|H3BE4BC
+3BE4BC:lI101|H3BE5C0
+3BE5C0:lI97|H3BE6C4
+3BE6C4:lI114|H3BE7B8
+3BE7B8:lI99|H3BE8A4
+3BE8A4:lI97|H3BE990
+3BE990:lI115|H3BEA84
+3BEA84:lI101|H3BEB78
+3BEB78:lI47|H3BEC64
+3BEC64:lI111|H3BED50
+3BED50:lI116|H3BEE3C
+3BEE3C:lI112|H3BEF10
+3BEF10:lI47|H3BEFE4
+3BEFE4:lI101|H3BF0B0
+3BF0B0:lI114|H3BF184
+3BF184:lI116|H3BF248
+3BF248:lI115|H3BF304
+3BF304:lI47|H3BF3B0
+3BF3B0:lI101|H3BF464
+3BF464:lI114|H3BF520
+3BF520:lI116|H3BF5E4
+3BF5E4:lI115|H3BF6B8
+3BF6B8:lI47|H3BF78C
+3BF78C:lI100|H3BF860
+3BF860:lI111|H3BF944
+3BF944:lI99|H3BFA20
+3BFA20:lI47|H3BFAFC
+3BFAFC:lI104|H3BFBD8
+3BFBD8:lI116|H3BFCA4
+3BFCA4:lI109|H3BFD68
+3BFD68:lI108|N
+3BE1DC:lI47|H3BE2C0
+3BE2C0:lI99|H3BE3B0
+3BE3B0:lI114|H3BE4B4
+3BE4B4:lI97|H3BE5B8
+3BE5B8:lI115|H3BE6BC
+3BE6BC:lI104|H3BE7B0
+3BE7B0:lI100|H3BE89C
+3BE89C:lI117|H3BE988
+3BE988:lI109|H3BEA7C
+3BEA7C:lI112|H3BEB70
+3BEB70:lI95|H3BEC5C
+3BEC5C:lI101|H3BED48
+3BED48:lI114|H3BEE34
+3BEE34:lI116|H3BEF08
+3BEF08:lI115|H3BEFDC
+3BEFDC:lI95|H3BF0A8
+3BF0A8:lI100|H3BF17C
+3BF17C:lI111|H3BF240
+3BF240:lI99|N
+3BE044:lH3BE114|H3BE120
+3BE114:t2:A5:alias,H3BE1EC
+3BE1EC:t2:H3BE2D0,H3BE2D8
+3BE2D8:lI47|H3BE3C8
+3BE3C8:lI99|H3BE4CC
+3BE4CC:lI108|H3BE5D0
+3BE5D0:lI101|H3BE6D4
+3BE6D4:lI97|H3BE7C8
+3BE7C8:lI114|H3BE8B4
+3BE8B4:lI99|H3BE9A0
+3BE9A0:lI97|H3BEA94
+3BEA94:lI115|H3BEB88
+3BEB88:lI101|H3BEC74
+3BEC74:lI47|H3BED60
+3BED60:lI111|H3BEE4C
+3BEE4C:lI116|H3BEF20
+3BEF20:lI112|H3BEFEC
+3BEFEC:lI47|H3BF0B8
+3BF0B8:lI101|H3BF18C
+3BF18C:lI114|H3BF250
+3BF250:lI116|H3BF30C
+3BF30C:lI115|H3BF3B8
+3BF3B8:lI47|H3BF46C
+3BF46C:lI108|H3BF528
+3BF528:lI105|H3BF5EC
+3BF5EC:lI98|H3BF6C0
+3BF6C0:lI47|H3BF794
+3BF794:lI111|H3BF868
+3BF868:lI98|H3BF94C
+3BF94C:lI115|H3BFA28
+3BFA28:lI101|H3BFB04
+3BFB04:lI114|H3BFBE0
+3BFBE0:lI118|H3BFCAC
+3BFCAC:lI101|H3BFD70
+3BFD70:lI114|H3BFE34
+3BFE34:lI47|H3BFEE8
+3BFEE8:lI100|H3BFF9C
+3BFF9C:lI111|H3C0048
+3C0048:lI99|H3C00F4
+3C00F4:lI47|H3C01A0
+3C01A0:lI104|H3C0254
+3C0254:lI116|H3C0310
+3C0310:lI109|H3C03C4
+3C03C4:lI108|N
+3BE2D0:lI47|H3BE3C0
+3BE3C0:lI99|H3BE4C4
+3BE4C4:lI114|H3BE5C8
+3BE5C8:lI97|H3BE6CC
+3BE6CC:lI115|H3BE7C0
+3BE7C0:lI104|H3BE8AC
+3BE8AC:lI100|H3BE998
+3BE998:lI117|H3BEA8C
+3BEA8C:lI109|H3BEB80
+3BEB80:lI112|H3BEC6C
+3BEC6C:lI95|H3BED58
+3BED58:lI100|H3BEE44
+3BEE44:lI111|H3BEF18
+3BEF18:lI99|N
+3BE120:lH3BE1F8|N
+3BE1F8:t2:A10:erl_script_alias,H3BE2E0
+3BE2E0:t2:H3BE3D0,H3BE3D8
+3BE3D8:lH3BE4DC|N
+3BE4DC:lI99|H3BE5E0
+3BE5E0:lI114|H3BE6E4
+3BE6E4:lI97|H3BE7D8
+3BE7D8:lI115|H3BE8C4
+3BE8C4:lI104|H3BE9B0
+3BE9B0:lI100|H3BEAA4
+3BEAA4:lI117|H3BEB90
+3BEB90:lI109|H3BEC7C
+3BEC7C:lI112|H3BED68
+3BED68:lI95|H3BEE54
+3BEE54:lI118|H3BEF28
+3BEF28:lI105|H3BEFF4
+3BEFF4:lI101|H3BF0C0
+3BF0C0:lI119|H3BF194
+3BF194:lI101|H3BF258
+3BF258:lI114|N
+3BE3D0:lI47|H3BE4D4
+3BE4D4:lI99|H3BE5D8
+3BE5D8:lI100|H3BE6DC
+3BE6DC:lI118|H3BE7D0
+3BE7D0:lI95|H3BE8BC
+3BE8BC:lI101|H3BE9A8
+3BE9A8:lI114|H3BEA9C
+3BEA9C:lI108|N
+3BDE2C:lH3BDA9C|H3BDECC
+3BDA9C:t4:I127,I0,I0,I1
+3BDECC:lI8888|H3BDF88
+3BDF88:lN|N
+3BDD1C:lN|N
+3BDA50:t2:AD:$initial_call,H3BDAB8
+3BDAB8:t3:A3:gen,A7:init_it,H3BDAB0
+3BDA5C:t2:A9:verbosity,A7:silence
+3BDAC8:t2:AE:auth_verbosity,A7:silence
+3BDB28:t2:A12:security_verbosity,A7:silence
+3BDB9C:t2:A12:acceptor_verbosity,A7:silence
+3BDC00:t2:AA:$ancestors,H3BDC5C
+3BDC5C:lA1A:httpd_sup__127_0_0_1__8888|H3BDCB4
+3BDCB4:lA8:web_tool|H3BDD24
+3BDD24:lP<0.27.0>|N
+3BDADC:t2:A19:request_handler_verbosity,A7:silence
+3BDB3C:t2:A5:sname,A3:man
+=proc_dictionary:<0.47.0>
+H36E688
+H36E694
+H36E6A0
+H36E6AC
+=proc_stack:<0.47.0>
+36c520:SReturn addr 0x362C9C (inet_tcp:accept/2 + 20)
+y0:I5
+y1:p<0.161>
+y2:p<0.141>
+36c530:SReturn addr 0x500C5C (httpd_socket:accept/3 + 280)
+y0:N
+36c538:SReturn addr 0x502BFC (httpd_acceptor:acceptor/4 + 164)
+y0:N
+36c540:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:SCatch 0x502BFC (httpd_acceptor:acceptor/4 + 164)
+y1:P<0.46.0>
+y2:A7:ip_comm
+y3:p<0.141>
+y4:A1B:httpd_conf__127_0_0_1__8888
+36c558:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:AE:httpd_acceptor
+y2:A8:acceptor
+y3:H36E6C8
+=proc_heap:<0.47.0>
+36E6C8:lP<0.44.0>|H36E724
+36E724:lP<0.46.0>|H36E748
+36E748:lA7:ip_comm|H36E760
+36E760:lH36E6D0|H36E778
+36E6D0:t4:I127,I0,I0,I1
+36E778:lI8888|H36E788
+36E788:lA1B:httpd_conf__127_0_0_1__8888|H36E798
+36E798:lA7:silence|N
+36E688:t2:AD:$initial_call,H36E6F0
+36E6F0:t3:AE:httpd_acceptor,A8:acceptor,H36E6C8
+36E694:t2:A9:verbosity,A7:silence
+36E6A0:t2:AA:$ancestors,H36E700
+36E700:lA1E:httpd_acc_sup__127_0_0_1__8888|H36E72C
+36E72C:lA1A:httpd_sup__127_0_0_1__8888|H36E750
+36E750:lA8:web_tool|H36E768
+36E768:lP<0.27.0>|N
+36E6AC:t2:A5:sname,A3:acc
+=proc_dictionary:<0.48.0>
+H385E48
+H385E54
+=proc_stack:<0.48.0>
+3ac1bc:SReturn addr 0x225860 (proc_lib:init_p/5 + 164)
+y0:N
+y1:A8:infinity
+y2:A10:crashdump_viewer
+y3:H3AB280
+y4:A17:crashdump_viewer_server
+y5:P<0.41.0>
+3ac1d8:SReturn addr 0x156F90 (<terminate process normally>)
+y0:SCatch 0x225860 (proc_lib:init_p/5 + 164)
+y1:A3:gen
+y2:A7:init_it
+y3:H385E90
+=proc_heap:<0.48.0>
+3AB280:t8:A5:state,A9:undefined,A9:undefined,A9:undefined,A5:false,I4,A9:undefined,P<0.56.0>
+385E90:lAA:gen_server|H385ED8
+385ED8:lP<0.41.0>|H385F10
+385F10:lP<0.41.0>|H385F58
+385F58:lH385FA8|H385FB4
+385FA8:t2:A5:local,A17:crashdump_viewer_server
+385FB4:lA10:crashdump_viewer|H386014
+386014:lN|H38606C
+38606C:lN|N
+385E48:t2:AD:$initial_call,H385EB0
+385EB0:t3:A3:gen,A7:init_it,H385E90
+385E54:t2:AA:$ancestors,H385EC0
+385EC0:lA6:websup|H385F08
+385F08:lA8:web_tool|H385F50
+385F50:lP<0.27.0>|N
+=proc_stack:<0.49.0>
+36a114:SReturn addr 0x30174C (io:parse_erl_exprs/3 + 92)
+y0:H369E10
+y1:P<0.22.0>
+36a120:SReturn addr 0x2E5360 (shell:'-get_command/4-fun-0-'/1 + 20)
+y0:N
+36a128:SReturn addr 0x156F90 (<terminate process normally>)
+=proc_heap:<0.49.0>
+369E10:E21:8372000364000D6E6F6E6F6465406E6F686F737400000001330000000000000000
+=atoms
diff --git a/lib/observer/test/etop_SUITE.erl b/lib/observer/test/etop_SUITE.erl
new file mode 100644
index 0000000000..54f4a78e69
--- /dev/null
+++ b/lib/observer/test/etop_SUITE.erl
@@ -0,0 +1,94 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+-module(etop_SUITE).
+
+%% Test functions
+-export([all/1,text/1,text_tracing_off/1]).
+-export([init_per_testcase/2, fin_per_testcase/2]).
+
+-include("test_server.hrl").
+
+-define(default_timeout, ?t:minutes(1)).
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+fin_per_testcase(_Case, Config) ->
+ Dog=?config(watchdog, Config),
+ ?t:timetrap_cancel(Dog),
+ ok.
+
+all(suite) -> [text,text_tracing_off].
+
+text(suite) ->
+ [];
+text(doc) ->
+ ["Start etop with text presentation"];
+text(Config) when is_list(Config) ->
+ ?line {ok,Node} = ?t:start_node(node2,peer,[]),
+
+ %% Must spawn this process, else the test case will never end.
+ ?line spawn_link(etop,start,[[{node,Node},{output,text},{interval,3}]]),
+ ?line timer:sleep(4000),
+ ?line etop:config(interval,2),
+ ?line timer:sleep(3000),
+ ?line etop:config(lines,5),
+ ?line timer:sleep(3000),
+ ?line etop:config(accumulate,true),
+ ?line timer:sleep(3000),
+ ?line etop:config(sort,reductions),
+ ?line timer:sleep(3000),
+ ?line etop:config(sort,memory),
+ ?line timer:sleep(3000),
+ ?line etop:config(sort,msg_q),
+ ?line timer:sleep(3000),
+ ?line etop:stop(),
+ ?line ?t:stop_node(Node),
+ ok.
+
+text_tracing_off(suite) ->
+ [];
+text_tracing_off(doc) ->
+ ["Start etop with text presentation, and tracing turned off"];
+text_tracing_off(Config) when is_list(Config) ->
+ ?line {ok,Node} = ?t:start_node(node2,peer,[]),
+
+ %% Must spawn this process, else the test case will never end.
+ ?line spawn_link(etop,start,[[{node,Node},
+ {output,text},
+ {interval,3},
+ {tracing,off}]]),
+ ?line timer:sleep(4000),
+ ?line etop:config(interval,2),
+ ?line timer:sleep(3000),
+ ?line etop:config(lines,5),
+ ?line timer:sleep(3000),
+ ?line etop:config(accumulate,true),
+ ?line timer:sleep(3000),
+ ?line etop:config(sort,memory),
+ ?line timer:sleep(3000),
+ ?line etop:config(sort,msg_q),
+ ?line timer:sleep(3000),
+ ?line etop:config(sort,runtime), % this should not crash, but has no effect
+ ?line timer:sleep(3000),
+ ?line etop:stop(),
+ ?line ?t:stop_node(Node),
+ ok.
+
diff --git a/lib/observer/test/observer.cover b/lib/observer/test/observer.cover
new file mode 100644
index 0000000000..47770ba839
--- /dev/null
+++ b/lib/observer/test/observer.cover
@@ -0,0 +1,2 @@
+{exclude,[multitrace]}.
+{include,[observer_backend]}.
diff --git a/lib/observer/test/observer.dynspec b/lib/observer/test/observer.dynspec
new file mode 100644
index 0000000000..66794dfa11
--- /dev/null
+++ b/lib/observer/test/observer.dynspec
@@ -0,0 +1,11 @@
+%% -*- erlang -*-
+%% You can test this file using this command.
+%% file:script("observer.dynspec", [{'Os',"Unix"}]).
+
+case erlang:system_info(modified_timing_level) of
+ undefined ->
+ [];
+ _ ->
+ Reason = "Return trace limitation for spawn BIFs when +T is used",
+ [{skip,{ttb_SUITE,Reason}}]
+end.
diff --git a/lib/observer/test/observer.spec b/lib/observer/test/observer.spec
new file mode 100644
index 0000000000..801eb80607
--- /dev/null
+++ b/lib/observer/test/observer.spec
@@ -0,0 +1,2 @@
+{topcase, {dir, "../observer_test"}}.
+
diff --git a/lib/observer/test/observer_SUITE.erl b/lib/observer/test/observer_SUITE.erl
new file mode 100644
index 0000000000..3e9522c7a4
--- /dev/null
+++ b/lib/observer/test/observer_SUITE.erl
@@ -0,0 +1,51 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2006-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+-module(observer_SUITE).
+-include("test_server.hrl").
+
+%% Test server specific exports
+-export([all/1]).
+-export([init_per_testcase/2, end_per_testcase/2]).
+
+%% Test cases
+-export([app_file/1]).
+
+%% Default timetrap timeout (set in init_per_testcase)
+-define(default_timeout, ?t:minutes(1)).
+
+init_per_testcase(_Case, Config) ->
+ Dog = ?t:timetrap(?default_timeout),
+ [{watchdog, Dog} | Config].
+
+end_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ ?t:timetrap_cancel(Dog),
+ ok.
+
+all(suite) ->
+ [app_file].
+
+app_file(suite) ->
+ [];
+app_file(doc) ->
+ ["Testing .app file"];
+app_file(Config) when is_list(Config) ->
+ ?line ok = ?t:app_test(os_mon),
+ ok.
diff --git a/lib/observer/test/ttb_SUITE.erl b/lib/observer/test/ttb_SUITE.erl
new file mode 100644
index 0000000000..6da5e36b29
--- /dev/null
+++ b/lib/observer/test/ttb_SUITE.erl
@@ -0,0 +1,775 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+-module(ttb_SUITE).
+
+-compile(export_all).
+%% Test functions
+-export([all/1,file/1,file_no_pi/1,file_fetch/1,wrap/1,wrap_merge/1,
+ wrap_merge_fetch_format/1,write_config1/1,write_config2/1,
+ write_config3/1,history/1,write_trace_info/1,seq_trace/1,
+ diskless/1,otp_4967_1/1,otp_4967_2/1]).
+-export([init_per_testcase/2, fin_per_testcase/2]).
+-export([foo/0]).
+
+-include("test_server.hrl").
+
+-define(default_timeout, ?t:minutes(1)).
+
+init_per_testcase(_Case, Config) ->
+ ttb:stop(),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+fin_per_testcase(_Case, Config) ->
+ Dog=?config(watchdog, Config),
+ ?t:timetrap_cancel(Dog),
+ ok.
+
+all(suite) -> [file,file_no_pi,file_fetch,wrap,wrap_merge,
+ wrap_merge_fetch_format,write_config1,write_config2,
+ write_config3,history,write_trace_info,seq_trace,diskless,
+ otp_4967_1,otp_4967_2].
+
+file(suite) ->
+ [];
+file(doc) ->
+ ["Start tracing on multiple nodes, single file"];
+file(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"file"),
+ ?line {ok,[Node]} =
+ ttb:tracer(Node,[{file, File},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{S,[{matched,Node,_}]}]} = ttb:p(S,call),
+ ?line {ok,[OtherNode]} =
+ ttb:tracer([Node,OtherNode],[{file, File},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{all,[{matched,_,_},{matched,_,_}]}]} = ttb:p(all,call),
+ ?line {ok,[]} = ttb:tracer([Node,OtherNode],
+ [{file, File},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:tp(?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ttb:stop(),
+ ?line ?t:stop_node(OtherNode),
+ ?line ok = ttb:format(filename:join(Privdir,atom_to_list(Node)++"-file")),
+ ?line ok = ttb:format(filename:join(Privdir,
+ atom_to_list(OtherNode)++"-file")),
+
+ ?line [{trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ end_of_trace,
+ {trace,{_,_,OtherNode},call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+ ok.
+
+file_no_pi(suite) ->
+ [];
+file_no_pi(doc) ->
+ ["Start tracing on multiple nodes, single file, no process information"];
+file_no_pi(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"file"),
+ ?line {ok,[_,_]} =
+ ttb:tracer([Node,OtherNode],[{file, File},
+ {handler,{fun myhandler/4, S}},
+ {process_info,false}]),
+ ?line {ok,[{all,[{matched,_,_},{matched,_,_}]}]} = ttb:p(all,call),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:tp(?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ttb:stop(),
+ ?line ?t:stop_node(OtherNode),
+ ?line ok = ttb:format(filename:join(Privdir,atom_to_list(Node)++"-file")),
+ ?line ok = ttb:format(filename:join(Privdir,
+ atom_to_list(OtherNode)++"-file")),
+
+ ?line [{trace,LocalProc,call,{?MODULE,foo,[]}},
+ end_of_trace,
+ {trace,RemoteProc,call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+ ?line true = is_pid(LocalProc),
+ ?line true = is_pid(RemoteProc),
+ ok.
+
+file_fetch(suite) ->
+ [];
+file_fetch(doc) ->
+ ["stop with the fetch option, i.e. collect all files when ttb is stopped"];
+file_fetch(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+ ?line Privdir=?config(priv_dir, Config),
+ ?line ThisDir = filename:join(Privdir,this),
+ ?line ok = file:make_dir(ThisDir),
+ ?line OtherDir = filename:join(Privdir,other),
+ ?line ok = file:make_dir(OtherDir),
+ ?line ThisFile = filename:join(ThisDir,"file_fetch"),
+ ?line OtherFile = filename:join(OtherDir,"file_fetch"),
+
+ %% I'm setting priv_dir as cwd, so ttb_upload directory is created there
+ %% and not in any other strange place!
+ ?line {ok,Cwd} = file:get_cwd(),
+ ?line ok = file:set_cwd(Privdir),
+
+ ?line {ok,[Node]} =
+ ttb:tracer(Node,[{file, ThisFile},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[OtherNode]} =
+ ttb:tracer([OtherNode],[{file, OtherFile},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{all,[{matched,_,_},{matched,_,_}]}]} = ttb:p(all,call),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:tp(?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ?t:capture_start(),
+ ?line ttb:stop([fetch]),
+ ?line ?t:capture_stop(),
+ ?line [StoreString] = ?t:capture_get(),
+ ?line UploadDir =
+ lists:last(string:tokens(lists:flatten(StoreString),"$ \n")),
+ ?line ?t:stop_node(OtherNode),
+
+ %% check that files are no longer in original directories...
+ ?line ok = check_gone(ThisDir,atom_to_list(Node)++"-file_fetch"),
+ ?line ok = check_gone(ThisDir,atom_to_list(Node)++"-file_fetch.ti"),
+% ?line false = lists:member(TrcLog,ThisList),
+% ?line false = lists:member(TIFile,ThisList),
+
+ ?line {ok,OtherList} = file:list_dir(OtherDir),
+ ?line false = lists:member(atom_to_list(OtherNode)++"-file_fetch",OtherList),
+ ?line false = lists:member(atom_to_list(OtherNode)++"-file_fetch.ti",
+ OtherList),
+
+ %% but instead in ttb_upload directory, where they can be formatted
+ ?line ok = ttb:format(filename:join(UploadDir,
+ atom_to_list(Node)++"-file_fetch")),
+ ?line ok = ttb:format(filename:join(UploadDir,
+ atom_to_list(OtherNode)++"-file_fetch")),
+
+ ?line [{trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ end_of_trace,
+ {trace,{_,_,OtherNode},call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+
+ ?line ok = file:set_cwd(Cwd),
+ ok.
+
+wrap(suite) ->
+ [];
+wrap(doc) ->
+ ["Start tracing on multiple nodes, wrap files"];
+wrap(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"wrap"),
+ ?line {ok,[_,_]} =
+ ttb:tracer([Node,OtherNode],[{file, {wrap,File,200,3}},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{all,[{matched,_,_},{matched,_,_}]}]} = ttb:p(all,call),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:tp(?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ttb:stop(),
+ ?line ?t:stop_node(OtherNode),
+ ?line ok = ttb:format(filename:join(Privdir,
+ atom_to_list(Node)++"-wrap.*.wrp")),
+ ?line [{trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ {trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ {trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+ ?line ok = ttb:format(filename:join(Privdir,
+ atom_to_list(OtherNode)++"-wrap.*.wrp")),
+ ?line [{trace,{_,_,OtherNode},call,{?MODULE,foo,[]}},
+ {trace,{_,_,OtherNode},call,{?MODULE,foo,[]}},
+ {trace,{_,_,OtherNode},call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+
+ %% Check that merge does not crash even if the timestamp flag is not on.
+ ?line ok = ttb:format(
+ [filename:join(Privdir,
+ atom_to_list(Node)++"-wrap.*.wrp"),
+ filename:join(Privdir,
+ atom_to_list(OtherNode)++"-wrap.*.wrp")]),
+ ?line [{trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ {trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ {trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ end_of_trace,
+ {trace,{_,_,OtherNode},call,{?MODULE,foo,[]}},
+ {trace,{_,_,OtherNode},call,{?MODULE,foo,[]}},
+ {trace,{_,_,OtherNode},call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+ ok.
+
+wrap_merge(suite) ->
+ [];
+wrap_merge(doc) ->
+ ["Start tracing on multiple nodes, wrap files, merge logs from both nodes"];
+wrap_merge(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"wrap_merge"),
+ ?line {ok,[_,_]} =
+ ttb:tracer([Node,OtherNode],[{file, {wrap,File,200,3}},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{all,[{matched,_,_},{matched,_,_}]}]}=ttb:p(all,[call,timestamp]),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:tp(?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ttb:stop(),
+ ?line ?t:stop_node(OtherNode),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,
+ atom_to_list(Node)++"-wrap_merge.*.wrp"),
+ filename:join(Privdir,
+ atom_to_list(OtherNode)++"-wrap_merge.*.wrp")]),
+ ?line [{trace_ts,{S,_,Node},call,{?MODULE,foo,[]},_},
+ {trace_ts,_,call,{?MODULE,foo,[]},_},
+ {trace_ts,{S,_,Node},call,{?MODULE,foo,[]},_},
+ {trace_ts,_,call,{?MODULE,foo,[]},_},
+ {trace_ts,{S,_,Node},call,{?MODULE,foo,[]},_},
+ end_of_trace,
+ {trace_ts,{_,_,OtherNode},call,{?MODULE,foo,[]},_},
+ end_of_trace] = flush(),
+ ok.
+
+
+wrap_merge_fetch_format(suite) ->
+ [];
+wrap_merge_fetch_format(doc) ->
+ ["Start tracing on multiple nodes, wrap files, fetch and format at stop"];
+wrap_merge_fetch_format(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"wrap_merge_fetch_format"),
+
+ %% I'm setting priv_dir as cwd, so ttb_upload directory is created there
+ %% and not in any other strange place!
+ ?line {ok,Cwd} = file:get_cwd(),
+ ?line ok = file:set_cwd(Privdir),
+
+ ?line {ok,[_,_]} =
+ ttb:tracer([Node,OtherNode],[{file, {wrap,File,200,3}},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{all,[{matched,_,_},{matched,_,_}]}]}=ttb:p(all,[call,timestamp]),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:tp(?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ttb:stop([format]),
+ ?line ?t:stop_node(OtherNode),
+ ?line [{trace_ts,{S,_,Node},call,{?MODULE,foo,[]},_},
+ {trace_ts,{_,_,OtherNode},call,{?MODULE,foo,[]},_},
+ {trace_ts,{S,_,Node},call,{?MODULE,foo,[]},_},
+ {trace_ts,{_,_,OtherNode},call,{?MODULE,foo,[]},_},
+ {trace_ts,{S,_,Node},call,{?MODULE,foo,[]},_},
+ end_of_trace,
+ {trace_ts,{_,_,OtherNode},call,{?MODULE,foo,[]},_},
+ end_of_trace] = flush(),
+
+ ?line ok = file:set_cwd(Cwd),
+ ok.
+
+
+write_config1(suite) ->
+ [];
+write_config1(doc) ->
+ ["Write config given commands"];
+write_config1(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"write_config1"),
+ ?line ok = ttb:write_config(File,
+ [{ttb,tracer,[[Node,OtherNode],
+ [{file, File},
+ {handler,{fun myhandler/4,S}}]]},
+ {ttb,p,[all,call]},
+ {ttb,tp,[?MODULE,foo,[]]}]),
+ ?line [_,_,_] = ttb:list_config(File),
+ ?line ok = ttb:run_config(File),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ttb:stop(),
+ ?line ?t:stop_node(OtherNode),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,
+ atom_to_list(Node)++"-write_config1"),
+ filename:join(Privdir,
+ atom_to_list(OtherNode)++"-write_config1")]),
+ ?line [{trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ end_of_trace,
+ {trace,Other,call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+
+ case metatest(Other,OtherNode,Privdir,"-write_config1.ti") of
+ {error,Reason} ->
+ timer:sleep(5000),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,
+ atom_to_list(Node)++"-write_config1"),
+ filename:join(Privdir,
+ atom_to_list(OtherNode)++
+ "-write_config1")]),
+ ?line io:format("\nTrying again: ~p\n",[flush()]),
+ ?line ?t:fail(Reason);
+ ok ->
+ ok
+ end,
+ ok.
+
+write_config2(suite) ->
+ [];
+write_config2(doc) ->
+ ["Write config from history (all)"];
+write_config2(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"write_config2"),
+ ?line {ok,[_,_]} =
+ ttb:tracer([Node,OtherNode],[{file, File},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{all,[{matched,_,_},{matched,_,_}]}]} = ttb:p(all,call),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:tp(?MODULE,foo,[]),
+ ?line ok = ttb:write_config(File,all),
+ ?line ttb:stop(),
+ ?line [_,_,_] = ttb:list_config(File),
+ ?line ok = ttb:run_config(File),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ttb:stop(),
+ ?line ?t:stop_node(OtherNode),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,
+ atom_to_list(Node)++"-write_config2"),
+ filename:join(Privdir,
+ atom_to_list(OtherNode)++"-write_config2")]),
+ ?line [{trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ end_of_trace,
+ {trace,Other,call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+
+ case metatest(Other,OtherNode,Privdir,"-write_config2.ti") of
+ {error,Reason} ->
+ timer:sleep(5000),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,
+ atom_to_list(Node)++"-write_config2"),
+ filename:join(Privdir,
+ atom_to_list(OtherNode)++
+ "-write_config2")]),
+ ?line io:format("\nTrying again: ~p\n",[flush()]),
+ ?line ?t:fail(Reason);
+ ok ->
+ ok
+ end,
+ ok.
+
+write_config3(suite) ->
+ [];
+write_config3(doc) ->
+ ["Write config from history (selected and append)"];
+write_config3(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"write_config3"),
+ ?line {ok,[_,_]} =
+ ttb:tracer([Node,OtherNode],[{file, File},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{all,[{matched,_,_},{matched,_,_}]}]} = ttb:p(all,call),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:tp(?MODULE,foo,[]),
+ ?line ok = ttb:write_config(File,[1,2]),
+ ?line ttb:stop(),
+ ?line [_,_] = ttb:list_config(File),
+ ?line ok = ttb:run_config(File),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ttb:stop(),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,
+ atom_to_list(Node)++"-write_config3"),
+ filename:join(Privdir,
+ atom_to_list(OtherNode)++"-write_config3")]),
+ ?line [] = flush(), %foo is not traced
+
+ ?line ok = ttb:write_config(File,[{ttb,tp,[?MODULE,foo,[]]}],
+ [append]),
+ ?line [_,_,_] = ttb:list_config(File),
+ ?line ok = ttb:run_config(File),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ttb:stop(),
+ ?line ?t:stop_node(OtherNode),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,
+ atom_to_list(Node)++"-write_config3"),
+ filename:join(Privdir,
+ atom_to_list(OtherNode)++"-write_config3")]),
+ ?line [{trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ end_of_trace,
+ {trace,Other,call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+
+ case metatest(Other,OtherNode,Privdir,"-write_config3.ti") of
+ {error,Reason} ->
+ timer:sleep(5000),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,
+ atom_to_list(Node)++"-write_config3"),
+ filename:join(Privdir,
+ atom_to_list(OtherNode)++
+ "-write_config3")]),
+ ?line io:format("\nTrying again: ~p\n",[flush()]),
+ ?line ?t:fail(Reason);
+ ok ->
+ ok
+ end,
+ ok.
+
+
+history(suite) ->
+ [];
+history(doc) ->
+ ["List history and execute entry from history"];
+history(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+
+ ?line Nodes = [Node,OtherNode],
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"history"),
+ ?line StartOpts = [{file, File},
+ {handler,{fun myhandler/4, S}}],
+ ?line {ok,[_,_]} = ttb:tracer(Nodes,StartOpts),
+ ?line {ok,[{all,[{matched,_,_},{matched,_,_}]}]} = ttb:p(all,call),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:tp(?MODULE,foo,[]),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:ctp(?MODULE,foo),
+ ?line [{1,{ttb,tracer,[Nodes,StartOpts]}},
+ {2,{ttb,p,[all,call]}},
+ {3,{ttb,tp,[?MODULE,foo,[]]}},
+ {4,{ttb,ctp,[?MODULE,foo]}}] = ttb:list_history(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ok = ttb:run_history(3),
+ ?line ?MODULE:foo(),
+ ?line ok = ttb:run_history([3,4]),
+ ?line ?MODULE:foo(),
+ ?line ttb:stop(),
+ ?line ?t:stop_node(OtherNode),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,atom_to_list(Node)++"-history"),
+ filename:join(Privdir,atom_to_list(OtherNode)++"-history")]),
+ ?line [{trace,{S,_,Node},call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+ ok.
+
+
+
+write_trace_info(suite) ->
+ [];
+write_trace_info(doc) ->
+ ["Write trace info and give handler explicitly in format command"];
+write_trace_info(Config) when is_list(Config) ->
+ ?line Node = node(),
+ ?line {ok,OtherNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"write_trace_info"),
+ ?line {ok,[_,_]} =
+ ttb:tracer([Node,OtherNode],[{file, File},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{all,[{matched,_,_},{matched,_,_}]}]} = ttb:p(all,call),
+ ?line {ok,[{matched,_,1},{matched,_,1}]} = ttb:tp(?MODULE,foo,[]),
+ ?line ok = ttb:write_trace_info(mytraceinfo,fun() -> node() end),
+ ?line ?MODULE:foo(),
+ ?line rpc:call(OtherNode,?MODULE,foo,[]),
+ ?line ttb:stop(),
+ ?line ?t:stop_node(OtherNode),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,atom_to_list(Node)++"-write_trace_info"),
+ filename:join(Privdir,
+ atom_to_list(OtherNode)++"-write_trace_info")],
+ [{handler,{fun otherhandler/4,S}}]),
+ ?line [{{trace,{S,_,Node},call,{?MODULE,foo,[]}},[Node]},
+ {end_of_trace,[Node]},
+ {{trace,{_,_,OtherNode},call,{?MODULE,foo,[]}},[OtherNode]},
+ {end_of_trace,[OtherNode]}] = flush(),
+
+ ok.
+
+
+seq_trace(suite) ->
+ [];
+seq_trace(doc) ->
+ ["Test sequential tracing"];
+seq_trace(Config) when is_list(Config) ->
+ ?line S = self(),
+
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"seq_trace"),
+ ?line {ok,[Node]} = ttb:tracer(node(),[{file,File},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{new,[{matched,Node,0}]}]} = ttb:p(new,call),
+ ?line {ok,[{matched,Node,1},{saved,1}]} =
+ ttb:tpl(?MODULE,seq,0,ttb:seq_trigger_ms(send)),
+
+ ?line Start = spawn(fun() -> seq() end),
+ ?line timer:sleep(300),
+ ?line ttb:stop(),
+ ?line ok = ttb:format(
+ [filename:join(Privdir,atom_to_list(Node)++"-seq_trace")]),
+ ?line [{trace,StartProc,call,{?MODULE,seq,[]}},
+ {seq_trace,0,{send,{0,1},StartProc,P1Proc,{Start,P2}}},
+ {seq_trace,0,{send,{1,2},P1Proc,P2Proc,{P1,Start}}},
+ {seq_trace,0,{send,{2,3},P2Proc,StartProc,{P2,P1}}},
+ end_of_trace] = flush(),
+
+ %% Additional test for metatrace
+ case StartProc of
+ {Start,_,_} -> ok;
+ Pid when is_pid(Pid) ->
+ io:format("\n\nProcinfo was pid: ~p.\n"
+ "Should have been {Pid,Name,Node}\n",
+ [Pid]),
+ io:format("Trace information file:\n~p\n",
+ [ttb:dump_ti(
+ filename:join(Privdir,
+ atom_to_list(Node)++"-seq_trace.ti"))]),
+ ?t:fail("metatrace failed for startproc")
+ end,
+ case P1Proc of
+ {P1,_,_} -> ok;
+ P1 when is_pid(P1) ->
+ io:format("\n\nProcinfo was pid: ~p.\n"
+ "Should have been {Pid,Name,Node}\n",
+ [P1]),
+ io:format("Trace information file:\n~p\n",
+ [ttb:dump_ti(
+ filename:join(Privdir,
+ atom_to_list(Node)++"-seq_trace.ti"))]),
+ ?t:fail("metatrace failed for P1")
+ end,
+ case P2Proc of
+ {P2,_,_} -> ok;
+ P2 when is_pid(P2) ->
+ io:format("\n\nProcinfo was pid: ~p.\n"
+ "Should have been {Pid,Name,Node}\n",
+ [P2]),
+ io:format("Trace information file:\n~p\n",
+ [ttb:dump_ti(
+ filename:join(Privdir,
+ atom_to_list(Node)++"-seq_trace.ti"))]),
+ ?t:fail("metatrace failed for P2")
+ end,
+ ok.
+
+
+diskless(suite) ->
+ [];
+diskless(doc) ->
+ ["Start tracing on diskless remote node"];
+diskless(Config) when is_list(Config) ->
+ ?line {ok,RemoteNode} = ?t:start_node(node2,slave,[]),
+ ?line c:nl(?MODULE),
+ ?line S = self(),
+ ?line Privdir=?config(priv_dir, Config),
+ ?line File = filename:join(Privdir,"diskless"),
+ ?line {ok,[RemoteNode]} =
+ ttb:tracer([RemoteNode],[{file, {local, File}},
+ {handler,{fun myhandler/4, S}}]),
+ ?line {ok,[{all,[{matched,RemoteNode,_}]}]} = ttb:p(all,call),
+ ?line {ok,[{matched,RemoteNode,1}]} = ttb:tp(?MODULE,foo,[]),
+
+ ?line rpc:call(RemoteNode,?MODULE,foo,[]),
+ ?line timer:sleep(500), % needed for the IP port to flush
+ ?line ttb:stop(),
+ ?line ?t:stop_node(RemoteNode),
+ ?line ok = ttb:format(filename:join(Privdir,
+ atom_to_list(RemoteNode)++"-diskless")),
+
+ ?line [{trace,{_,_,RemoteNode},call,{?MODULE,foo,[]}},
+ end_of_trace] = flush(),
+ ok.
+
+
+otp_4967_1(suite) ->
+ [];
+otp_4967_1(doc) ->
+ ["OTP-4967: clear flag"];
+otp_4967_1(Config) when is_list(Config) ->
+ ?line {ok,[Node]} = ttb:tracer(),
+ ?line {ok,[{all,[{matched,Node,_}]}]} = ttb:p(all,call),
+ ?line {ok,[{all,[{matched,Node,_}]}]} = ttb:p(all,clear),
+ ?line stopped = ttb:stop(),
+ ok.
+
+
+otp_4967_2(suite) ->
+ [];
+otp_4967_2(doc) ->
+ ["OTP-4967: Trace message sent to {Name, Node}"];
+otp_4967_2(Config) when is_list(Config) ->
+ io:format("1: ~p",[now()]),
+ ?line Privdir = ?config(priv_dir,Config),
+ io:format("2: ~p",[now()]),
+ ?line File = filename:join(Privdir,"otp_4967"),
+ io:format("3: ~p",[now()]),
+ ?line S = self(),
+ io:format("4: ~p",[now()]),
+ ?line {ok,[Node]} =
+ ttb:tracer(node(),[{file, File},
+ {handler,{fun myhandler/4, S}}]),
+
+ io:format("5: ~p",[now()]),
+ %% Test that delayed registration of a process works.
+ receive after 200 -> ok end,
+ ?line register(otp_4967,self()),
+ io:format("6: ~p",[now()]),
+ ?line {ok,[{S,[{matched,Node,1}]}]} = ttb:p(self(),s),
+ io:format("7: ~p",[now()]),
+ ?line {otp_4967,node()} ! heihopp,
+ io:format("8: ~p",[now()]),
+ ?line stopped = ttb:stop([format]),
+ io:format("9: ~p",[now()]),
+ ?line Msgs = flush(),
+ io:format("10: ~p",[now()]),
+ ?line io:format("Messages received: \n~p\n",[Msgs]),
+ io:format("11: ~p",[now()]),
+ ?line true = lists:member(heihopp,Msgs), % the heihopp message itself
+ io:format("13: ~p",[now()]),
+ ?line {value,{trace,_,send,heihopp,{_,otp_4967,Node}}} =
+ lists:keysearch(heihopp,4,Msgs), % trace trace of the heihopp message
+ io:format("14: ~p",[now()]),
+ ?line end_of_trace = lists:last(Msgs), % end of the trace
+ ok.
+
+
+
+
+myhandler(_Fd,Trace,_,Relay) ->
+ Relay ! Trace,
+ Relay.
+
+otherhandler(_Fd,Trace,TI,Relay) ->
+ {value,{mytraceinfo,I}} = lists:keysearch(mytraceinfo,1,TI),
+ Relay ! {Trace,I},
+ Relay.
+
+flush() ->
+ flush([]).
+flush(Acc) ->
+ receive
+ X ->
+ flush(Acc ++ [X])
+ after 1000 ->
+ Acc
+ end.
+
+foo() ->
+ %% Sync between nodes is not always exact, so here is a litle timeout to
+ %% make sure traces come i correct sequence when merging.
+ %% In the real world there is no way to avoid this kind of trouble
+ timer:sleep(100),
+ foo_called.
+
+
+seq() ->
+ Fun = fun() -> timer:sleep(100),
+ receive {From,To} -> To ! {self(),From} end
+ end,
+ P1 = spawn(Fun),
+ P2 = spawn(Fun),
+ P1 ! {self(),P2},
+ receive {P2,P1} -> ok end,
+ {P1,P2}.
+
+%% Additional test for metatrace which might fail on OtherNode
+metatest(Proc,Node,Privdir,Filename) ->
+ case Proc of
+ {_,_,Node} -> ok;
+ Pid when is_pid(Pid) ->
+ io:format("\n\nProcinfo was pid: ~p.\n"
+ "Should have been {Pid,Name,Node}\n",
+ [Pid]),
+ io:format("Trace information file:\n~p\n",
+ [ttb:dump_ti(
+ filename:join(Privdir,atom_to_list(Node)++Filename))]),
+% ?t:fail("metatrace failed on "++atom_to_list(Node))
+ {error,"metatrace failed on "++atom_to_list(Node)}
+ end.
+
+check_gone(Dir,File) ->
+ ?line {ok,List} = file:list_dir(Dir),
+ ?line case lists:member(File,List) of
+ true ->
+ timer:sleep(2000),
+ {ok,NewList} = file:list_dir(Dir),
+ case lists:member(File,NewList) of
+ true ->
+ io:format("~p: ~p~n",
+ [Dir,NewList]),
+ ?t:fail(File ++ " not removed from original place");
+ false ->
+ io:format("gone after 2 sec....~n",[]),
+ ok
+ end;
+ false ->
+ ok
+ end.
diff --git a/lib/odbc/AUTHORS b/lib/odbc/AUTHORS
index d1ed32bde1..38f72244ef 100644
--- a/lib/odbc/AUTHORS
+++ b/lib/odbc/AUTHORS
@@ -5,4 +5,6 @@ Original Authors:
Contributors:
Scott Lystig Fritchie - input/output variables for stored procedures
[email protected] - Some 64 bits adjustments \ No newline at end of file
[email protected] - Some 64 bits adjustments
+Juhani R�nkimies - SQL_WCHAR and SQL_WVARCHAR support
+Juhani R�nkimies - TIMESTAMP support \ No newline at end of file
diff --git a/lib/odbc/c_src/odbcserver.c b/lib/odbc/c_src/odbcserver.c
index aaaea20a10..c9627e9d05 100644
--- a/lib/odbc/c_src/odbcserver.c
+++ b/lib/odbc/c_src/odbcserver.c
@@ -59,7 +59,7 @@
they are converted to string values.
[?OPEN_CONNECTION, C_AutoCommitMode, C_TraceDriver, C_SrollableCursors,
- C_TupelRow, ConnectionStr]
+ C_TupelRow, BinaryStrings, ConnectionStr]
[?CLOSE_CONNECTION]
[?COMMIT_TRANSACTION, CommitMode]
[?QUERY, SQLQuery]
@@ -76,6 +76,7 @@
C_TraceDriver - ?ON | ?OFF
C_SrollableCursors - ?ON | ?OFF
C_TupelRow - - ?ON | ?OFF
+ BinaryStrings - ?ON | ?OFF
ConnectionStr - String
CommitMode - ?COMMIT | ?ROLLBACK
SQLQuery - String
@@ -88,7 +89,8 @@
InOrOut = [ERL_ODBC_IN | ERL_ODBC_OUT | ERL_ODBC_INOUT]
Datatype - USER_INT | USER_SMALL_INT | {USER_DECIMAL, Precision, Scale} |
{USER_NMERIC, Precision, Scale} | {USER_CHAR, Max} | {USER_VARCHAR, Max} |
- {USER_FLOAT, Precision} | USER_REAL | USER_DOUBLE
+ {USER_WVARCHAR, Max} | {USER_FLOAT, Precision} | USER_REAL | USER_DOUBLE |
+ USER_TIMESTAMP
Scale - integer
Precision - integer
Max - integer
@@ -173,7 +175,7 @@ static void encode_column_dyn(db_column column, int column_nr,
db_state *state);
static void encode_data_type(SQLINTEGER sql_type, SQLINTEGER size,
SQLSMALLINT decimal_digits, db_state *state);
-static Boolean decode_params(byte *buffer, int *index, param_array **params,
+static Boolean decode_params(db_state *state, byte *buffer, int *index, param_array **params,
int i, int j);
/*------------- Erlang port communication functions ----------------------*/
@@ -378,7 +380,7 @@ DWORD WINAPI database_handler(const char *port)
shutdown(socket, 2);
close_socket(socket);
clean_socket_lib();
- DO_EXIT(EXIT_SUCCESS);
+ /* Exit will be done by suervisor thread */
}
/* Description: Calls the appropriate function to handle the database
@@ -433,26 +435,33 @@ static db_result_msg db_connect(byte *args, db_state *state)
diagnos diagnos;
byte *connStrIn;
int erl_auto_commit_mode, erl_trace_driver,
- use_srollable_cursors, tuple_row_state;
+ use_srollable_cursors, tuple_row_state, binary_strings;
erl_auto_commit_mode = args[0];
erl_trace_driver = args[1];
use_srollable_cursors = args[2];
tuple_row_state = args[3];
- connStrIn = args + 4 * sizeof(byte);
+ binary_strings = args[4];
+ connStrIn = args + 5 * sizeof(byte);
if(tuple_row_state == ON) {
- tuple_row(state) = TRUE;
+ tuple_row(state) = TRUE;
} else {
- tuple_row(state) = FALSE;
+ tuple_row(state) = FALSE;
}
-
+
+ if(binary_strings == ON) {
+ binary_strings(state) = TRUE;
+ } else {
+ binary_strings(state) = FALSE;
+ }
+
if(use_srollable_cursors == ON) {
- use_srollable_cursors(state) = TRUE;
+ use_srollable_cursors(state) = TRUE;
} else {
- use_srollable_cursors(state) = FALSE;
+ use_srollable_cursors(state) = FALSE;
}
-
+
init_driver(erl_auto_commit_mode, erl_trace_driver, state);
connlen = (SQLSMALLINT)strlen((const char*)connStrIn);
@@ -1072,6 +1081,7 @@ static db_result_msg encode_out_params(db_state *state,
int j = 0;
param_array column;
db_result_msg msg;
+ TIMESTAMP_STRUCT* ts;
msg = encode_empty_message();
ei_x_encode_tuple_header(&dynamic_buffer(state), 3);
@@ -1101,9 +1111,34 @@ static db_result_msg encode_out_params(db_state *state,
} else {
void* values = retrive_param_values(&column);
switch(column.type.c) {
+ case SQL_C_TYPE_TIMESTAMP:
+ ts = (TIMESTAMP_STRUCT*) values;
+ ei_x_encode_tuple_header(&dynamic_buffer(state), 2);
+ ei_x_encode_tuple_header(&dynamic_buffer(state), 3);
+ ei_x_encode_long(&dynamic_buffer(state), (long)(ts->year));
+ ei_x_encode_long(&dynamic_buffer(state), (long)(ts->month));
+ ei_x_encode_long(&dynamic_buffer(state), (long)(ts->day));
+ ei_x_encode_tuple_header(&dynamic_buffer(state), 3);
+ ei_x_encode_long(&dynamic_buffer(state), (long)(ts->hour));
+ ei_x_encode_long(&dynamic_buffer(state), (long)(ts->minute));
+ ei_x_encode_long(&dynamic_buffer(state), (long)(ts->second));
+ break;
case SQL_C_CHAR:
- ei_x_encode_string(&dynamic_buffer(state), ((char*)values)+j*column.type.len);
- break;
+ if binary_strings(state) {
+ ei_x_encode_binary(&dynamic_buffer(state),
+ ((char*)values)+j*column.type.len,
+ (column.type.strlen_or_indptr_array[j]));
+ }
+ else {
+ ei_x_encode_string(&dynamic_buffer(state),
+ ((char*)values)+j*column.type.len);
+ }
+ break;
+ case SQL_C_WCHAR:
+ ei_x_encode_binary(&dynamic_buffer(state),
+ ((char*)values)+j*column.type.len,
+ (column.type.strlen_or_indptr_array[j]));
+ break;
case SQL_C_SLONG:
ei_x_encode_long(&dynamic_buffer(state), ((long*)values)[j]);
break;
@@ -1359,13 +1394,35 @@ static db_result_msg encode_row_count(SQLINTEGER num_of_rows,
static void encode_column_dyn(db_column column, int column_nr,
db_state *state)
{
+ TIMESTAMP_STRUCT* ts;
if (column.type.len == 0 ||
column.type.strlen_or_indptr == SQL_NULL_DATA) {
ei_x_encode_atom(&dynamic_buffer(state), "null");
} else {
switch(column.type.c) {
+ case SQL_C_TYPE_TIMESTAMP:
+ ts = (TIMESTAMP_STRUCT*)column.buffer;
+ ei_x_encode_tuple_header(&dynamic_buffer(state), 2);
+ ei_x_encode_tuple_header(&dynamic_buffer(state), 3);
+ ei_x_encode_ulong(&dynamic_buffer(state), ts->year);
+ ei_x_encode_ulong(&dynamic_buffer(state), ts->month);
+ ei_x_encode_ulong(&dynamic_buffer(state), ts->day);
+ ei_x_encode_tuple_header(&dynamic_buffer(state), 3);
+ ei_x_encode_ulong(&dynamic_buffer(state), ts->hour);
+ ei_x_encode_ulong(&dynamic_buffer(state), ts->minute);
+ ei_x_encode_ulong(&dynamic_buffer(state), ts->second);
+ break;
case SQL_C_CHAR:
- ei_x_encode_string(&dynamic_buffer(state), column.buffer);
+ if binary_strings(state) {
+ ei_x_encode_binary(&dynamic_buffer(state),
+ column.buffer,column.type.strlen_or_indptr);
+ } else {
+ ei_x_encode_string(&dynamic_buffer(state), column.buffer);
+ }
+ break;
+ case SQL_C_WCHAR:
+ ei_x_encode_binary(&dynamic_buffer(state),
+ column.buffer,column.type.strlen_or_indptr);
break;
case SQL_C_SLONG:
ei_x_encode_long(&dynamic_buffer(state),
@@ -1379,9 +1436,14 @@ static void encode_column_dyn(db_column column, int column_nr,
ei_x_encode_atom(&dynamic_buffer(state),
column.buffer[0]?"true":"false");
break;
- case SQL_C_BINARY:
+ case SQL_C_BINARY:
column = retrive_binary_data(column, column_nr, state);
- ei_x_encode_string(&dynamic_buffer(state), (void *)column.buffer);
+ if binary_strings(state) {
+ ei_x_encode_binary(&dynamic_buffer(state),
+ column.buffer,column.type.strlen_or_indptr);
+ } else {
+ ei_x_encode_string(&dynamic_buffer(state), (void *)column.buffer);
+ }
break;
default:
ei_x_encode_atom(&dynamic_buffer(state), "error");
@@ -1404,6 +1466,16 @@ static void encode_data_type(SQLINTEGER sql_type, SQLINTEGER size,
ei_x_encode_atom(&dynamic_buffer(state), "sql_varchar");
ei_x_encode_long(&dynamic_buffer(state), size);
break;
+ case SQL_WCHAR:
+ ei_x_encode_tuple_header(&dynamic_buffer(state), 2);
+ ei_x_encode_atom(&dynamic_buffer(state), "sql_wchar");
+ ei_x_encode_long(&dynamic_buffer(state), size);
+ break;
+ case SQL_WVARCHAR:
+ ei_x_encode_tuple_header(&dynamic_buffer(state), 2);
+ ei_x_encode_atom(&dynamic_buffer(state), "sql_wvarchar");
+ ei_x_encode_long(&dynamic_buffer(state), size);
+ break;
case SQL_NUMERIC:
ei_x_encode_tuple_header(&dynamic_buffer(state), 3);
ei_x_encode_atom(&dynamic_buffer(state), "sql_numeric");
@@ -1446,7 +1518,7 @@ static void encode_data_type(SQLINTEGER sql_type, SQLINTEGER size,
ei_x_encode_atom(&dynamic_buffer(state), "SQL_TYPE_TIME");
break;
case SQL_TYPE_TIMESTAMP:
- ei_x_encode_atom(&dynamic_buffer(state), "SQL_TYPE_TIMESTAMP");
+ ei_x_encode_atom(&dynamic_buffer(state), "sql_timestamp");
break;
case SQL_BIGINT:
ei_x_encode_atom(&dynamic_buffer(state), "SQL_BIGINT");
@@ -1492,67 +1564,96 @@ static void encode_data_type(SQLINTEGER sql_type, SQLINTEGER size,
}
}
-static Boolean decode_params(byte *buffer, int *index, param_array **params,
+static Boolean decode_params(db_state *state, byte *buffer, int *index, param_array **params,
int i, int j)
{
int erl_type, size;
long bin_size, l64;
+ long val;
param_array* param;
-
+ TIMESTAMP_STRUCT* ts;
+
ei_get_type(buffer, index, &erl_type, &size);
param = &(*params)[i];
switch (param->type.c) {
case SQL_C_CHAR:
- if(erl_type != ERL_STRING_EXT) {
- return FALSE;
- }
-
- ei_decode_string(buffer, index, &(param->values.string[param->offset]));
- param->offset += param->type.len;
- param->type.strlen_or_indptr_array[j] = SQL_NTS;
- break;
-
+ if (binary_strings(state)) {
+ ei_decode_binary(buffer, index,
+ &(param->values.string[param->offset]), &bin_size);
+ param->offset += param->type.len;
+ param->type.strlen_or_indptr_array[j] = SQL_NTS;
+ } else {
+ if(erl_type != ERL_STRING_EXT) {
+ return FALSE;
+ }
+ ei_decode_string(buffer, index, &(param->values.string[param->offset]));
+ param->offset += param->type.len;
+ param->type.strlen_or_indptr_array[j] = SQL_NTS;
+ }
+ break;
+ case SQL_C_WCHAR:
+ ei_decode_binary(buffer, index, &(param->values.string[param->offset]), &bin_size);
+ param->offset += param->type.len;
+ param->type.strlen_or_indptr_array[j] = SQL_NTS;
+ break;
+ case SQL_C_TYPE_TIMESTAMP:
+ ts = (TIMESTAMP_STRUCT*) param->values.string;
+ ei_decode_tuple_header(buffer, index, &val);
+ ei_decode_long(buffer, index, &val);
+ ts[j].year = (SQLUSMALLINT)val;
+ ei_decode_long(buffer, index, &val);
+ ts[j].month = (SQLUSMALLINT)val;
+ ei_decode_long(buffer, index, &val);
+ ts[j].day = (SQLUSMALLINT)val;
+ ei_decode_long(buffer, index, &val);
+ ts[j].hour = (SQLUSMALLINT)val;
+ ei_decode_long(buffer, index, &val);
+ ts[j].minute = (SQLUSMALLINT)val;
+ ei_decode_long(buffer, index, &val);
+ ts[j].second = (SQLUSMALLINT)val;
+ ts[j].fraction = (SQLINTEGER)0;
+ break;
case SQL_C_SLONG:
- if(!((erl_type == ERL_SMALL_INTEGER_EXT) ||
- (erl_type == ERL_INTEGER_EXT) ||
- (erl_type == ERL_SMALL_BIG_EXT) ||
- (erl_type == ERL_LARGE_BIG_EXT))) {
- return FALSE;
- }
-
- if(ei_decode_long(buffer, index, &l64)) {
- return FALSE;
- }
-
- /* For 64-bit platforms we downcast 8-byte long
- * to 4-byte SQLINTEGER, checking for overflow */
-
- if(l64>INT_MAX || l64<INT_MIN) {
- return FALSE;
- }
+ if(!((erl_type == ERL_SMALL_INTEGER_EXT) ||
+ (erl_type == ERL_INTEGER_EXT) ||
+ (erl_type == ERL_SMALL_BIG_EXT) ||
+ (erl_type == ERL_LARGE_BIG_EXT))) {
+ return FALSE;
+ }
+
+ if(ei_decode_long(buffer, index, &l64)) {
+ return FALSE;
+ }
+
+ /* For 64-bit platforms we downcast 8-byte long
+ * to 4-byte SQLINTEGER, checking for overflow */
+
+ if(l64>INT_MAX || l64<INT_MIN) {
+ return FALSE;
+ }
param->values.integer[j]=(SQLINTEGER)l64;
break;
-
+
case SQL_C_DOUBLE:
- if((erl_type != ERL_FLOAT_EXT)) {
- return FALSE;
- }
- ei_decode_double(buffer, index, &(param->values.floating[j]));
- break;
-
+ if((erl_type != ERL_FLOAT_EXT)) {
+ return FALSE;
+ }
+ ei_decode_double(buffer, index, &(param->values.floating[j]));
+ break;
+
case SQL_C_BIT:
if((erl_type != ERL_ATOM_EXT)) {
- return FALSE;
+ return FALSE;
}
ei_decode_boolean(buffer, index, &(param->values.bool[j]));
break;
-
+
default:
- return FALSE;
+ return FALSE;
}
-
+
return TRUE;
}
@@ -1932,7 +2033,7 @@ static void init_driver(int erl_auto_commit_mode, int erl_trace_driver,
db_state *state)
{
- int auto_commit_mode, trace_driver, use_srollable_cursors;
+ int auto_commit_mode, trace_driver;
if(erl_auto_commit_mode == ON) {
auto_commit_mode = SQL_AUTOCOMMIT_ON;
@@ -1958,18 +2059,19 @@ static void init_driver(int erl_auto_commit_mode, int erl_trace_driver,
environment_handle(state),
&connection_handle(state))))
DO_EXIT(EXIT_ALLOC);
+ /* By default Erlang handles all timeouts */
if(!sql_success(SQLSetConnectAttr(connection_handle(state),
SQL_ATTR_CONNECTION_TIMEOUT,
(SQLPOINTER)TIME_OUT, 0)))
- DO_EXIT(EXIT_CONNECTION);
+ DO_EXIT(EXIT_CONNECTION);
if(!sql_success(SQLSetConnectAttr(connection_handle(state),
SQL_ATTR_AUTOCOMMIT,
(SQLPOINTER)auto_commit_mode, 0)))
- DO_EXIT(EXIT_CONNECTION);
+ DO_EXIT(EXIT_CONNECTION);
if(!sql_success(SQLSetConnectAttr(connection_handle(state),
SQL_ATTR_TRACE,
(SQLPOINTER)trace_driver, 0)))
- DO_EXIT(EXIT_CONNECTION);
+ DO_EXIT(EXIT_CONNECTION);
}
static void init_param_column(param_array *params, byte *buffer, int *index,
@@ -2053,6 +2155,32 @@ static void init_param_column(param_array *params, byte *buffer, int *index,
sizeof(byte)* params->type.len);
break;
+ case USER_WCHAR:
+ case USER_WVARCHAR:
+ if(user_type == USER_WCHAR) {
+ params->type.sql = SQL_WCHAR;
+ } else {
+ params->type.sql = SQL_WVARCHAR;
+ }
+ ei_decode_long(buffer, index, &length);
+ /* Max string length + string terminator */
+ params->type.len = (length+1)*sizeof(SQLWCHAR);
+ params->type.c = SQL_C_WCHAR;
+ params->type.col_size = (SQLUINTEGER)length;
+ params->type.strlen_or_indptr_array =
+ (SQLLEN*)safe_malloc(num_param_values * sizeof(SQLINTEGER));
+ params->values.string =
+ (byte *)safe_malloc(num_param_values * sizeof(byte) * params->type.len);
+
+ break;
+ case USER_TIMESTAMP:
+ params->type.sql = SQL_TYPE_TIMESTAMP;
+ params->type.len = sizeof(TIMESTAMP_STRUCT);
+ params->type.c = SQL_C_TYPE_TIMESTAMP;
+ params->type.col_size = (SQLUINTEGER)19;//;sizeof(TIMESTAMP_STRUCT);
+ params->values.string =
+ (TIMESTAMP_STRUCT *)safe_malloc(num_param_values * params->type.len);
+ break;
case USER_FLOAT:
params->type.sql = SQL_FLOAT;
params->type.c = SQL_C_DOUBLE;
@@ -2190,11 +2318,17 @@ static db_result_msg map_sql_2_c_column(db_column* column)
case SQL_LONGVARCHAR:
case SQL_VARBINARY:
case SQL_LONGVARBINARY:
- column -> type.len = (column -> type.col_size) +
- /* Make place for NULL termination */
- sizeof(byte);
- column -> type.c = SQL_C_CHAR;
- column -> type.strlen_or_indptr = SQL_NTS;
+ column -> type.len = (column -> type.col_size) +
+ /* Make place for NULL termination */
+ sizeof(byte);
+ column -> type.c = SQL_C_CHAR;
+ column -> type.strlen_or_indptr = SQL_NTS;
+ break;
+ case SQL_WCHAR:
+ case SQL_WVARCHAR:
+ column -> type.len = (column -> type.col_size + 1)*sizeof(SQLWCHAR);
+ column -> type.c = SQL_C_WCHAR;
+ column -> type.strlen_or_indptr = SQL_NTS;
break;
case SQL_NUMERIC:
case SQL_DECIMAL:
@@ -2218,12 +2352,16 @@ static db_result_msg map_sql_2_c_column(db_column* column)
break;
case SQL_TYPE_DATE:
case SQL_TYPE_TIME:
- case SQL_TYPE_TIMESTAMP:
column -> type.len = (column -> type.col_size) +
sizeof(byte);
column -> type.c = SQL_C_CHAR;
column -> type.strlen_or_indptr = SQL_NTS;
break;
+ case SQL_TYPE_TIMESTAMP:
+ column -> type.len = sizeof(TIMESTAMP_STRUCT);
+ column -> type.c = SQL_C_TYPE_TIMESTAMP;
+ column -> type.strlen_or_indptr = (SQLINTEGER)NULL;
+ break;
case SQL_BIGINT:
column -> type.len = DEC_NUM_LENGTH;
column -> type.c = SQL_C_CHAR;
@@ -2280,7 +2418,7 @@ static param_array * bind_parameter_arrays(byte *buffer, int *index,
}
for (j = 0; j < num_param_values; j++) {
- if(!decode_params(buffer, index, &params, i, j)) {
+ if(!decode_params(state, buffer, index, &params, i, j)) {
/* An input parameter was not of the expected type */
free_params(&params, i);
return params;
@@ -2309,7 +2447,9 @@ static void * retrive_param_values(param_array *Param)
{
switch(Param->type.c) {
case SQL_C_CHAR:
- return (void *)Param->values.string;
+ case SQL_C_WCHAR:
+ case SQL_C_TYPE_TIMESTAMP:
+ return (void *)Param->values.string;
case SQL_C_SLONG:
return (void *)Param->values.integer;
case SQL_C_DOUBLE:
diff --git a/lib/odbc/c_src/odbcserver.h b/lib/odbc/c_src/odbcserver.h
index ccd694a985..e6d8df1f58 100644
--- a/lib/odbc/c_src/odbcserver.h
+++ b/lib/odbc/c_src/odbcserver.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2002-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2002-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*
@@ -111,6 +111,9 @@
#define USER_DOUBLE 9
#define USER_BOOLEAN 10
#define USER_TINY_INT 11
+#define USER_WCHAR 12
+#define USER_WVARCHAR 13
+#define USER_TIMESTAMP 14
/*------------------------ TYPDEFS ----------------------------------*/
@@ -170,6 +173,7 @@ typedef struct {
Boolean associated_result_set;
Boolean use_srollable_cursors;
Boolean tuple_row;
+ Boolean binary_strings;
Boolean exists_more_result_sets;
Boolean param_query;
Boolean out_params;
@@ -188,6 +192,7 @@ typedef enum {
#define associated_result_set(db_state) (db_state -> associated_result_set)
#define use_srollable_cursors(db_state) (db_state -> use_srollable_cursors)
#define tuple_row(db_state) (db_state -> tuple_row)
+#define binary_strings(db_state) (db_state -> binary_strings)
#define exists_more_result_sets(db_state) (db_state -> exists_more_result_sets)
#define param_query(db_state) (db_state -> param_query)
#define out_params(db_state) (db_state -> out_params)
diff --git a/lib/odbc/configure.in b/lib/odbc/configure.in
index 24e286c290..94e8a214d4 100644
--- a/lib/odbc/configure.in
+++ b/lib/odbc/configure.in
@@ -1,3 +1,21 @@
+dnl
+dnl %CopyrightBegin%
+dnl
+dnl Copyright Ericsson AB 2005-2010. All Rights Reserved.
+dnl
+dnl The contents of this file are subject to the Erlang Public License,
+dnl Version 1.1, (the "License"); you may not use this file except in
+dnl compliance with the License. You should have received a copy of the
+dnl Erlang Public License along with this software. If not, it can be
+dnl retrieved online at http://www.erlang.org/.
+dnl
+dnl Software distributed under the License is distributed on an "AS IS"
+dnl basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+dnl the License for the specific language governing rights and limitations
+dnl under the License.
+dnl
+dnl %CopyrightEnd%
+dnl
dnl define([AC_CACHE_LOAD], )dnl
dnl define([AC_CACHE_SAVE], )dnl
@@ -25,6 +43,11 @@ else
host_os=win32
fi
+AC_ARG_WITH(odbc,
+[ --with-odbc=PATH specify location of ODBC include and lib
+ --with-odbc use ODBC (default)
+ --without-odbc don't use ODBC])
+
if test "$with_odbc" = "no"; then
rm -f "$ERL_TOP/lib/odbc/SKIP"
@@ -116,7 +139,7 @@ AC_SUBST(TARGET_FLAGS)
case $host_os in
darwin*)
TARGET_FLAGS="-DUNIX"
- if test ! -d "$with_odbc" || test "$with_odbc" = "yes" ; then
+ if test ! -d "$with_odbc" || test "$with_odbc" = "yes"; then
ODBC_LIB= -L"/usr/lib"
ODBC_INCLUDE="-I/usr/lib/include"
else
@@ -129,7 +152,7 @@ AC_SUBST(TARGET_FLAGS)
win32|cygwin)
TARGET_FLAGS="-DWIN32"
AC_CHECK_LIB(ws2_32, main)
- if test ! -d "$with_odbc"; then
+ if test ! -d "$with_odbc" || test "$with_odbc" = "yes"; then
ODBC_LIB=""
ODBC_INCLUDE=""
else
@@ -147,7 +170,7 @@ AC_SUBST(TARGET_FLAGS)
echo "$msg" > "$ERL_TOP/lib/odbc/SKIP"
odbc_lib_link_success=wont_try
;;
- no- )
+ no-yes | no- )
AC_CHECK_SIZEOF(void *)
AC_MSG_CHECKING([for odbc in standard locations])
for rdir in /usr/local/odbc /usr/local /usr/odbc \
@@ -177,7 +200,7 @@ AC_SUBST(TARGET_FLAGS)
fi
;;
- no-*)
+ *)
ODBC_LIB=-L"$with_odbc/lib"
ODBC_INCLUDE="-I$with_odbc/include"
AC_CHECK_LIB(odbc, SQLAllocHandle,[ODBC_LIB="$ODBC_LIB -lodbc"; odbc_lib_link_success=yes])
diff --git a/lib/odbc/doc/src/databases.xml b/lib/odbc/doc/src/databases.xml
index c06327e11d..9776736909 100644
--- a/lib/odbc/doc/src/databases.xml
+++ b/lib/odbc/doc/src/databases.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2002</year><year>2009</year>
+ <year>2002</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Databases</title>
@@ -99,7 +99,7 @@
<p>Note that when the value of the data to input is a string, it
has to be quoted with <c>'</c>. Example: </p>
<code type="none">
-\011odbc:sql_query(Ref, "INSERT INTO EMPLOYEE VALUES(1, 'Jane', 'Doe', 'F')").
+odbc:sql_query(Ref, "INSERT INTO EMPLOYEE VALUES(1, 'Jane', 'Doe', 'F')").
</code>
</note>
<p>You may also input data using <seealso marker="odbc#param_query">param_query/[3,4]</seealso> and then
@@ -117,7 +117,11 @@
</row>
<row>
<cell align="left" valign="middle">SQL_CHAR(size)</cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">SQL_WCHAR(size) </cell>
+ <cell align="left" valign="middle">Unicode binary encoded as UTF16 little endian.</cell>
</row>
<row>
<cell align="left" valign="middle">SQL_NUMERIC(p,s) <br></br>
@@ -171,7 +175,11 @@ when p >= 16 </cell>
</row>
<row>
<cell align="left" valign="middle">SQL_VARCHAR(size) </cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
+ </row>
+ <row>
+ <cell align="left" valign="middle">SQL_WVARCHAR(size) </cell>
+ <cell align="left" valign="middle">Unicode binary encoded as UTF16 little endian.</cell>
</row>
<tcaption>Mapping of ODBC data types to the Erlang data types returned to the Erlang application.</tcaption>
</table>
@@ -190,23 +198,23 @@ when p >= 16 </cell>
</row>
<row>
<cell align="left" valign="middle">SQL_TYPE_TIMESTAMP </cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle"> {{YY, MM, DD}, {HH, MM, SS}} </cell>
</row>
<row>
<cell align="left" valign="middle">SQL_LONGVARCHAR </cell>
- <cell align="left" valign="middle">String</cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
</row>
<row>
<cell align="left" valign="middle">SQL_BINARY</cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
</row>
<row>
<cell align="left" valign="middle">SQL_VARBINARY</cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
</row>
<row>
<cell align="left" valign="middle">SQL_LONGVARBINARY</cell>
- <cell align="left" valign="middle">String </cell>
+ <cell align="left" valign="middle">String | Binary (configurable)</cell>
</row>
<row>
<cell align="left" valign="middle">SQL_TINYINT </cell>
@@ -254,8 +262,8 @@ when p >= 16 </cell>
customers of that department. </p>
<code type="none">
CREATE PROCEDURE DepartmentInfo (@DepartmentID INT) AS
-\011SELECT * FROM Employee WHERE department = @DepartmentID
-\011SELECT * FROM Customers WHERE department = @DepartmentID
+ SELECT * FROM Employee WHERE department = @DepartmentID
+ SELECT * FROM Customers WHERE department = @DepartmentID
</code>
</section>
diff --git a/lib/odbc/doc/src/error_handling.xml b/lib/odbc/doc/src/error_handling.xml
index 26ad7f9848..c30acc5fdc 100644
--- a/lib/odbc/doc/src/error_handling.xml
+++ b/lib/odbc/doc/src/error_handling.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2003</year><year>2009</year>
+ <year>2003</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Error handling</title>
@@ -126,15 +126,7 @@
c-process will exit. If the c-process crashes/exits it will
bring the erlang-process down too and vice versa i.e. the
connection is terminated.</p>
- <note>
- <p>The function connect/2 will start the odbc application if
- that is not already done. In this case a supervisor information
- log will be produced stating that the odbc application was started
- as a temporary application. It is really the responsibility of the
- application that uses the API too make sure it is started in the
- desired way.</p>
- </note>
-
+
<section>
<title>Error types</title>
<p>The types of errors that may occur can be divide into the
diff --git a/lib/odbc/doc/src/getting_started.xml b/lib/odbc/doc/src/getting_started.xml
index 864c3a7b65..d543ef64d6 100644
--- a/lib/odbc/doc/src/getting_started.xml
+++ b/lib/odbc/doc/src/getting_started.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2002</year><year>2009</year>
+ <year>2002</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Getting started</title>
@@ -108,15 +108,15 @@
to insert many rows in one go. </p>
<code type="none">
6 > odbc:param_query(Ref,"INSERT INTO EMPLOYEE (NR, FIRSTNAME, "
-\011 "LASTNAME, GENDER) VALUES(?, ?, ?, ?)",
-\011 [{sql_integer,[2,3,4,5,6,7,8]},
-\011 {{sql_varchar, 20},
+ "LASTNAME, GENDER) VALUES(?, ?, ?, ?)",
+ [{sql_integer,[2,3,4,5,6,7,8]},
+ {{sql_varchar, 20},
["John", "Monica", "Ross", "Rachel",
"Piper", "Prue", "Louise"]},
-\011 {{sql_varchar, 20},
+ {{sql_varchar, 20},
["Doe","Geller","Geller", "Green",
"Halliwell", "Halliwell", "Lane"]},
-\011 {{sql_char, 1}, ["M","F","M","F","F","F","F"]}]).
+ {{sql_char, 1}, ["M","F","M","F","F","F","F"]}]).
{updated, 7}
</code>
<p>Fetch all data in the table employee </p>
diff --git a/lib/odbc/doc/src/notes.xml b/lib/odbc/doc/src/notes.xml
index 99584efec9..09d78c3248 100644
--- a/lib/odbc/doc/src/notes.xml
+++ b/lib/odbc/doc/src/notes.xml
@@ -20,7 +20,7 @@
under the License.
</legalnotice>
-
+
<title>ODBC Release Notes</title>
<prepared>otp_appnotes</prepared>
<docno>nil</docno>
@@ -31,21 +31,50 @@
<p>This document describes the changes made to the odbc application.
</p>
- <section><title>ODBC 2.10.7</title>
+ <section><title>ODBC 2.10.8</title>
- <section><title>Fixed Bugs and Malfunctions</title>
+ <section><title>Improvements and New Features</title>
<list>
<item>
<p>
- The odbc application can now be compiled on FreeBSD.
- (Thanks to Kenji Rikitake.)</p>
+ ODBC now handles the types SQL_WCHAR and SQL_WVARCHAR.
+ Thanks to Juhani R�nkimies. ODBC also has a new
+ connection option to return all strings as binaries and
+ also expect strings to be binaries in the param_query
+ function. These changes provides some unicode support.</p>
<p>
- Own Id: OTP-8444</p>
+ Own Id: OTP-7452</p>
+ </item>
+ <item>
+ <p>
+ Now supports SQL_TYPE_TIMESTAMP on the format {{YY, MM,
+ DD}, {HH, MM, SS}}. Thanks to Juhani R�nkimies.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-8511</p>
</item>
</list>
</section>
+</section>
+
+ <section><title>ODBC 2.10.7</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ The odbc application can now be compiled on FreeBSD.
+ (Thanks to Kenji Rikitake.)</p>
+ <p>
+ Own Id: OTP-8444</p>
+ </item>
+ </list>
+ </section>
+
+
<section><title>Improvements and New Features</title>
<list>
<item>
diff --git a/lib/odbc/doc/src/odbc.xml b/lib/odbc/doc/src/odbc.xml
index 450531c81c..70d8cfbe22 100644
--- a/lib/odbc/doc/src/odbc.xml
+++ b/lib/odbc/doc/src/odbc.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1999</year><year>2009</year>
+ <year>1999</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>odbc</title>
@@ -101,7 +101,7 @@
odbc_data_type() = sql_integer | sql_smallint | sql_tinyint |
{sql_decimal, precision(), scale()} |
{sql_numeric, precision(), scale()} |
- {sql_char, size()} | {sql_varchar, size()} | {sql_float, precision()} |
+ {sql_char, size()} | {sql_wchar, size()} | {sql_varchar, size()} | {sql_wvarchar, size()}| {sql_float, precision()} |
{sql_float, precision()} | sql_real | sql_double | sql_bit | atom()
</code>
<code type="none">
@@ -141,16 +141,9 @@
<d>An example of a connection string:<c>"DSN=sql-server;UID=aladdin;PWD=sesame"</c>where DSN is your ODBC Data Source Name, UID is a database user id and PWD is the password for that user. These are usually the attributes required in the connection string, but some drivers have other driver specific attributes, for example<c>"DSN=Oracle8;DBQ=gandalf;UID=aladdin;PWD=sesame"</c>where DBQ is your TNSNAMES.ORA entry name e.g. some Oracle specific configuration attribute.</d>
<v>Options = [] | [option()]</v>
<d>All options has default values. </d>
- <v>option() = {auto_commit, auto_commit_mode()} | {timeout, milliseconds()} | {tuple_row, tuple_mode()} | {scrollable_cursors, use_scrollable_cursors()} | {trace_driver, trace_mode()} </v>
- <d>The default timeout is infinity </d>
- <v>auto_commit_mode() = on | off </v>
- <d>Default is on.</d>
- <v>tuple_mode() = on | off </v>
- <d>Default is on. The option is deprecated and should not be used in new code.</d>
- <v>use_scrollable_cursors() = on | off </v>
- <d>Default is on.</d>
- <v>trace_mode() = on | off </v>
- <d>Default is off.</d>
+ <v>option() = {auto_commit, on | off} | {timeout, milliseconds()}
+ | {binary_strings, on | off} | {tuple_row, on | off} | {scrollable_cursors, on | off} |
+ {trace_driver, on | off} </v>
<v>Ref = connection_reference() - should be used to access the connection. </v>
<v>Reason = port_program_executable_not_found | common_reason()</v>
</type>
@@ -161,21 +154,36 @@
to handle the connection. These processes will terminate if
the process that created the connection dies or if you call
disconnect/1.</p>
- <p>If automatic commit mode is turned on, each query will be
+
+ <p>If automatic commit mode is turned on, each query will be
considered as an individual transaction and will be
automatically committed after it has been executed. If you want
more than one query to be part of the same transaction the automatic
commit mode should be turned off. Then you will have to call
commit/3 explicitly to end a transaction. </p>
+
+ <p>The default timeout is infinity </p>
+
+ <p> >If the option binary_strings is turned on all strings
+ will be returned as binaries and strings inputed to
+ param_query will be expected to be binaries. The user needs
+ to ensure that the binary is in an encoding that the
+ database expects. By default this option is turned off.</p>
+
<p>As default result sets are returned as a lists of
tuples. The <c>TupleMode</c> option still exists to keep some
degree of backwards compatibility. If the option is set to
off, result sets will be returned as a lists of lists
instead of a lists of tuples.</p>
+
<p>Scrollable cursors are nice but causes some overhead. For
some connections speed might be more important than flexible
data access and then you can disable scrollable cursor for a
- connection, limiting the API but gaining speed</p>
+ connection, limiting the API but gaining speed.</p>
+
+ <note><p>Turning the scrollable_cursors option off is noted
+ to make old odbc-drivers able to connect that will otherwhise fail.</p></note>
+
<p>If trace mode is turned on this tells the ODBC driver to
write a trace log to the file SQL.LOG that is placed in the
current directory of the erlang emulator. This information
@@ -183,6 +191,7 @@
erlang ODBC application, and it might be relevant for you to
send this file to our support. Otherwise you will probably
not have much use of this.</p>
+
<note>
<p>For more information about the <c>ConnectStr</c> see
description of the function SQLDriverConnect in [1].</p>
@@ -302,7 +311,7 @@
capital letters, alas it is not currently supported by the
param_query function. Too know which Erlang data type
corresponds to an ODBC data type see the Erlang to ODBC
- data type<seealso marker="databases#type">mapping</seealso> in the User's Guide.</p>
+ data type <seealso marker="databases#type">mapping</seealso> in the User's Guide.</p>
</note>
</desc>
</func>
diff --git a/lib/odbc/src/odbc.erl b/lib/odbc/src/odbc.erl
index 8178accf6d..eb27a471ec 100644
--- a/lib/odbc/src/odbc.erl
+++ b/lib/odbc/src/odbc.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -186,7 +186,7 @@ sql_query(ConnectionReference, SQLQuery, infinity) when
call(ConnectionReference, {sql_query, ODBCCmd}, infinity);
sql_query(ConnectionReference, SQLQuery, TimeOut)
- when is_pid(ConnectionReference),is_list(SQLQuery),integer(TimeOut),TimeOut>0 ->
+ when is_pid(ConnectionReference),is_list(SQLQuery),is_integer(TimeOut),TimeOut>0 ->
ODBCCmd = [?QUERY, SQLQuery],
call(ConnectionReference, {sql_query, ODBCCmd}, TimeOut).
@@ -397,7 +397,7 @@ describe_table(ConnectionReference, Table, infinity) when
call(ConnectionReference, {describe_table, ODBCCmd}, infinity);
describe_table(ConnectionReference, Table, TimeOut)
- when is_pid(ConnectionReference),is_list(Table),integer(TimeOut),TimeOut>0 ->
+ when is_pid(ConnectionReference),is_list(Table),is_integer(TimeOut),TimeOut>0 ->
ODBCCmd = [?DESCRIBE, "SELECT * FROM " ++ Table],
call(ConnectionReference, {describe_table, ODBCCmd}, TimeOut).
%%%=========================================================================
@@ -801,9 +801,11 @@ connect(ConnectionReferense, ConnectionStr, Options) ->
connection_config(scrollable_cursors, Options),
{C_TupleRow, _} =
connection_config(tuple_row, Options),
+ {BinaryStrings, _} = connection_config(binary_strings, Options),
+
ODBCCmd =
[?OPEN_CONNECTION, C_AutoCommitMode, C_TraceDriver,
- C_SrollableCursors, C_TupleRow, ConnectionStr],
+ C_SrollableCursors, C_TupleRow, BinaryStrings, ConnectionStr],
%% Send request, to open a database connection, to the control process.
case call(ConnectionReferense,
@@ -848,7 +850,9 @@ connection_default(trace_driver) ->
{?OFF, off};
connection_default(scrollable_cursors) ->
- {?ON, on}.
+ {?ON, on};
+connection_default(binary_strings) ->
+ {?OFF, off}.
%%-------------------------------------------------------------------------
call(ConnectionReference, Msg, Timeout) ->
@@ -858,7 +862,7 @@ call(ConnectionReference, Msg, Timeout) ->
case Result of
%% Normal case, the result from the port-program has directly
%% been forwarded to the client
- Binary when binary(Binary) ->
+ Binary when is_binary(Binary) ->
decode(Binary);
timeout ->
exit(timeout);
@@ -908,21 +912,17 @@ fix_params({{sql_numeric, Precision, 0}, InOut,
fix_params({{sql_numeric, Precision, Scale}, InOut, Values}) ->
{?USER_NUMERIC, Precision, Scale, fix_inout(InOut), Values};
fix_params({{sql_char, Max}, InOut, Values}) ->
- NewValues =
- case (catch
- lists:map(fun(Str) -> Str ++ [?STR_TERMINATOR] end, Values)) of
- Result ->
- Result
- end,
+ NewValues = string_terminate(Values),
{?USER_CHAR, Max, fix_inout(InOut), NewValues};
fix_params({{sql_varchar, Max}, InOut, Values}) ->
- NewValues =
- case (catch
- lists:map(fun(Str) -> Str ++ [?STR_TERMINATOR] end, Values)) of
- Result ->
- Result
- end,
+ NewValues = string_terminate(Values),
{?USER_VARCHAR, Max, fix_inout(InOut), NewValues};
+fix_params({{sql_wchar, Max}, InOut, Values}) ->
+ NewValues = string_terminate(Values),
+ {?USER_WCHAR, Max, fix_inout(InOut), NewValues};
+fix_params({{sql_wvarchar, Max}, InOut, Values}) ->
+ NewValues = string_terminate(Values),
+ {?USER_WVARCHAR, Max, fix_inout(InOut), NewValues};
fix_params({{sql_float, Precision}, InOut, Values}) ->
{?USER_FLOAT, Precision, fix_inout(InOut), Values};
fix_params({sql_real, InOut, Values}) ->
@@ -931,6 +931,16 @@ fix_params({sql_double, InOut, Values}) ->
{?USER_DOUBLE, fix_inout(InOut), Values};
fix_params({sql_bit, InOut, Values}) ->
{?USER_BOOLEAN, fix_inout(InOut), Values};
+fix_params({'sql_timestamp', InOut, Values}) ->
+ NewValues =
+ case (catch
+ lists:map(fun({{Year,Month,Day},{Hour,Minute,Second}}) ->
+ {Year,Month,Day,Hour,Minute,Second}
+ end, Values)) of
+ Result ->
+ Result
+ end,
+ {?USER_TIMESTAMP, fix_inout(InOut), NewValues};
%% default is IN %%%
fix_params({Type, Values}) ->
fix_params({Type, in, Values}).
@@ -941,3 +951,16 @@ fix_inout(out) ->
?OUT;
fix_inout(inout) ->
?INOUT.
+
+string_terminate([Value| _ ] = Values) when is_list(Value)->
+ case (catch
+ lists:map(fun(Str) -> Str ++ [?STR_TERMINATOR] end, Values)) of
+ Result ->
+ Result
+ end;
+string_terminate([Value| _ ] = Values) when is_binary(Value)->
+ case (catch
+ lists:map(fun(B) -> <<B/binary,0:16>> end, Values)) of
+ Result ->
+ Result
+ end.
diff --git a/lib/odbc/src/odbc_internal.hrl b/lib/odbc/src/odbc_internal.hrl
index 144e3cd176..aa60120f9a 100644
--- a/lib/odbc/src/odbc_internal.hrl
+++ b/lib/odbc/src/odbc_internal.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -69,6 +69,9 @@
-define(USER_DOUBLE, 9).
-define(USER_BOOLEAN, 10).
-define(USER_TINY_INT, 11).
+-define(USER_WCHAR, 12).
+-define(USER_WVARCHAR, 13).
+-define(USER_TIMESTAMP, 14).
%% INPUT & OUTPUT TYPE
-define(IN, 0).
diff --git a/lib/odbc/vsn.mk b/lib/odbc/vsn.mk
index 92540d90f8..d813466437 100644
--- a/lib/odbc/vsn.mk
+++ b/lib/odbc/vsn.mk
@@ -1,10 +1,11 @@
-ODBC_VSN = 2.10.7
+ODBC_VSN = 2.10.8
+
+TICKETS = OTP-7452 OTP-8511
TICKETS_2.10.6 = \
OTP-8250 \
OTP-8291
-
TICKETS_2.10.5 = \
OTP-7978
diff --git a/lib/orber/doc/src/notes.xml b/lib/orber/doc/src/notes.xml
index d388cc42a8..1013d370e4 100644
--- a/lib/orber/doc/src/notes.xml
+++ b/lib/orber/doc/src/notes.xml
@@ -33,6 +33,30 @@
</header>
<section>
+ <title>Orber 3.6.16</title>
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>
+ Test suites published.</p>
+ <p>
+ Own Id: OTP-8543 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Added missing trailing bracket to define in hrl-file.</p>
+ <p>Own id: OTP-8489 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
<title>Orber 3.6.15</title>
<section>
diff --git a/lib/orber/include/ifr_types.hrl b/lib/orber/include/ifr_types.hrl
index d982850e98..144ec7f8a1 100644
--- a/lib/orber/include/ifr_types.hrl
+++ b/lib/orber/include/ifr_types.hrl
@@ -1,20 +1,20 @@
%%--------------------------------------------------------------------
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -54,7 +54,7 @@
id = Obj#Object_type.id,
defined_in = Obj#Object_type.defined_in,
version = Obj#Object_type.version,
- type = Obj#Object_type.type}.
+ type = Obj#Object_type.type}).
-record(exceptiondescription, {name, id, defined_in, version, type}).
diff --git a/lib/orber/test/Makefile b/lib/orber/test/Makefile
new file mode 100644
index 0000000000..4601e84d2c
--- /dev/null
+++ b/lib/orber/test/Makefile
@@ -0,0 +1,228 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 1997-2010. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include ../vsn.mk
+VSN=$(ORBER_VSN)
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/orber_test
+
+# ----------------------------------------------------
+# Target Specs
+# ----------------------------------------------------
+TEST_SPEC_FILE = orber.spec
+
+
+IDL_FILES = \
+ orber_test.idl \
+ iiop_test.idl \
+ orber_test_server.idl
+
+IDLOUTDIR = idl_output
+
+MODULES = \
+ cdrcoding_11_SUITE \
+ cdrcoding_10_SUITE \
+ cdrcoding_12_SUITE \
+ cdrlib_SUITE \
+ corba_SUITE \
+ iop_ior_11_SUITE \
+ iop_ior_10_SUITE \
+ iop_ior_12_SUITE \
+ iiop_module_do_test_impl \
+ iiop_module_test_impl \
+ lname_SUITE \
+ naming_context_SUITE \
+ orber_SUITE \
+ orber_test_server_impl \
+ orber_test_timeout_server_impl \
+ orber_test_lib \
+ csiv2_SUITE \
+ multi_ORB_SUITE \
+ data_types_SUITE \
+ tc_SUITE \
+ generated_SUITE \
+ orber_web_SUITE \
+ interceptors_SUITE \
+ orber_acl_SUITE \
+ orber_firewall_ipv4_in_SUITE \
+ orber_firewall_ipv6_in_SUITE \
+ orber_firewall_ipv4_out_SUITE \
+ orber_firewall_ipv6_out_SUITE \
+ orber_nat_SUITE
+
+GEN_MOD_ORBER = \
+ oe_orber_test \
+ Module_Except1 \
+ Module_Except2 \
+ Module_Except3 \
+ Module_Except4 \
+ Module_HEADER \
+ Module_I1 \
+ Module_I2 \
+ Module_Struct0 \
+ Module_Struct1 \
+ Module_Struct2 \
+ Module_Union \
+ Module_Union1 \
+ Module_Union2
+
+GEN_HRL_ORBER = \
+ oe_orber_test.hrl \
+ Module.hrl \
+ Module_I1.hrl \
+ Module_I2.hrl
+
+GEN_MOD_IIOP = \
+ oe_iiop_test \
+ iiop_module_Except1 \
+ iiop_module_Struct1 \
+ iiop_module_Union1 \
+ iiop_module_do_test \
+ iiop_module_test \
+ iiop_module_test_retval
+
+GEN_HRL_IIOP = \
+ oe_iiop_test.hrl \
+ iiop_module.hrl \
+ iiop_module_do_test.hrl \
+ iiop_module_test.hrl
+
+GEN_MOD_TEST_SERVER = \
+ oe_orber_test_server \
+ orber_test_server \
+ orber_test_server_ComplexUserDefinedException \
+ orber_test_server_UserDefinedException \
+ orber_test_server_struc \
+ orber_test_server_uni \
+ orber_test_server_uni_d \
+ orber_test_timeout_server \
+ orber_parent_inherrit
+
+GEN_HRL_TEST_SERVER = \
+ oe_orber_test_server.hrl \
+ orber_test_server.hrl \
+ orber_test_timeout_server.hrl
+
+GEN_MODULES = $(GEN_MOD_ORBER) $(GEN_MOD_IIOP) \
+ $(GEN_MOD_TEST_SERVER)
+
+ERL_FILES = $(MODULES:%=%.erl)
+
+HRL_FILES =
+
+GEN_HRL_FILES = $(GEN_HRL_ORBER) $(GEN_HRL_IIOP) \
+ $(GEN_HRL_TEST_SERVER)
+
+GEN_FILES = \
+ $(GEN_HRL_FILES:%=$(IDLOUTDIR)/%) \
+ $(GEN_MODULES:%=$(IDLOUTDIR)/%.erl)
+
+GEN_TARGET_FILES = $(GEN_MODULES:%=$(IDLOUTDIR)/%.$(EMULATOR))
+
+SUITE_TARGET_FILES = $(MODULES:%=%.$(EMULATOR))
+
+TARGET_FILES = \
+ $(GEN_TARGET_FILES) \
+ $(SUITE_TARGET_FILES)
+
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+ERL_IDL_FLAGS += -pa $(ERL_TOP)/lib/orber/ebin -pa $(ERL_TOP)/lib/ic/ebin
+
+ERL_COMPILE_FLAGS += $(ERL_IDL_FLAGS) \
+ -pa $(ERL_TOP)/lib/test_server/ebin \
+ -pa $(ERL_TOP)/lib/ic/ebin \
+ -pa $(ERL_TOP)/lib/orber/ebin \
+ -I$(ERL_TOP)/lib/orber \
+ -I$(ERL_TOP)/lib/orber/test/$(IDLOUTDIR) \
+ -I$(ERL_TOP)/lib/test_server/include
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+tests debug opt: $(TARGET_FILES)
+
+clean:
+ rm -f idl_output/*
+ rm -f $(TARGET_FILES)
+ rm -f errs core *~
+
+
+docs:
+
+# ----------------------------------------------------
+# Special Targets
+# ----------------------------------------------------
+
+#
+# Each IDL file produces many target files so no pattern
+# rule can be used.
+#
+TGT_ORBER = \
+ $(GEN_HRL_ORBER:%=$(IDLOUTDIR)/%) \
+ $(GEN_MOD_ORBER:%=$(IDLOUTDIR)/%.erl)
+TGT_IIOP = \
+ $(GEN_HRL_IIOP:%=$(IDLOUTDIR)/%) \
+ $(GEN_MOD_IIOP:%=$(IDLOUTDIR)/%.erl)
+
+TGT_TEST_SERVER = \
+ $(GEN_HRL_TEST_SERVER:%=$(IDLOUTDIR)/%) \
+ $(GEN_MOD_TEST_SERVER:%=$(IDLOUTDIR)/%.erl)
+
+$(TGT_ORBER): orber_test.idl
+ erlc $(ERL_IDL_FLAGS) -o$(IDLOUTDIR) orber_test.idl
+
+$(TGT_IIOP): iiop_test.idl
+ erlc $(ERL_IDL_FLAGS) -o$(IDLOUTDIR) \
+ +'{preproc_flags,"-I../COSS/CosNaming"}' iiop_test.idl
+
+$(TGT_TEST_SERVER): orber_test_server.idl
+ erlc $(ERL_IDL_FLAGS) -o$(IDLOUTDIR) \
+ +'{cfgfile,"orber_test_server.cfg"}' orber_test_server.idl
+
+# ----------------------------------------------------
+# Release Targets
+# ----------------------------------------------------
+# We don't copy generated intermediate erlang and hrl files
+
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_spec:
+
+release_docs_spec:
+
+release_tests_spec: tests
+ $(INSTALL_DIR) $(RELSYSDIR)
+ $(INSTALL_DATA) $(IDL_FILES) $(TEST_SPEC_FILE) \
+ $(ERL_FILES) $(RELSYSDIR)
+ $(INSTALL_DATA) $(SUITE_TARGET_FILES) $(RELSYSDIR)
+ chmod -f -R u+w $(RELSYSDIR)
+ $(INSTALL_DIR) $(RELSYSDIR)/$(IDLOUTDIR)
+ $(INSTALL_DATA) $(GEN_TARGET_FILES) $(GEN_FILES) \
+ $(RELSYSDIR)/$(IDLOUTDIR)
+
diff --git a/lib/orber/test/cdrcoding_10_SUITE.erl b/lib/orber/test/cdrcoding_10_SUITE.erl
new file mode 100644
index 0000000000..d5d030538f
--- /dev/null
+++ b/lib/orber/test/cdrcoding_10_SUITE.erl
@@ -0,0 +1,616 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for the CDR encode/decode functions
+%%
+%%-----------------------------------------------------------------
+-module(cdrcoding_10_SUITE).
+
+
+-include("idl_output/Module.hrl").
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+-define(default_timeout, ?t:minutes(20)).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Description", "more description"];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [types, reply, cancel_request, close_connection, message_error].
+%% request, locate_request, locate_reply].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) when is_list(Config) ->
+ orber:jump_start(0),
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) when is_list(Config) ->
+ orber:jump_stop(),
+ Config.
+
+%%-----------------------------------------------------------------
+%% Test Case: type encoding tests
+%% Description: Just testing the complex types, the others are
+%% tested in the cdrlib SUITE.
+%%-----------------------------------------------------------------
+types(doc) -> ["Description", "more description"];
+types(suite) -> [do_register, null_type, void_type, principal_type,
+ objref_type, struct_type, union_type, string_type,
+ array_type, any_type, typecode_type, alias_type,
+ exception_type, do_unregister].
+%types(Config) when list(Config) ->
+% 'oe_orber_test':'oe_register'(),
+% null_type(),
+% void_type(),
+% principal_type(),
+% objref_type(),
+% struct_type(),
+% union_type(),
+% string_type(),
+% array_type(),
+% any_type(),
+% typecode_type(),
+% alias_type(),
+% exception_type(),
+% 'oe_orber_test':'oe_unregister'(),
+% ok.
+
+do_register(doc) -> [];
+do_register(suite) -> [];
+do_register(Config) when is_list(Config) ->
+ io:format("Pwd: ~p, mod: ~p~n",[c:pwd(), c:m('oe_orber_test')]),
+ 'oe_orber_test':'oe_register'(),
+ ok.
+do_unregister(doc) -> [];
+do_unregister(suite) -> [];
+do_unregister(Config) when is_list(Config) ->
+ 'oe_orber_test':'oe_unregister'(),
+ ok.
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: null
+%%-----------------------------------------------------------------
+null_type(doc) -> [];
+null_type(suite) -> [];
+null_type(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 0}}, 'tk_null', 'null'),
+ ?line {'null', <<>>, _} = cdr_decode:dec_type('tk_null', {1, 0}, B, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: void
+%%-----------------------------------------------------------------
+void_type(doc) -> [];
+void_type(suite) -> [];
+void_type(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 0}}, 'tk_void', 'ok'),
+ ?line {'ok', <<>>, _} = cdr_decode:dec_type('tk_void', {1, 0}, B, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: principal
+%%-----------------------------------------------------------------
+principal_type(doc) -> [];
+principal_type(suite) -> [];
+principal_type(Config) when is_list(Config) ->
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, 'tk_Principal', "principal"),
+ ?line {"principal", <<>>, _} = cdr_decode:dec_type('tk_Principal', {1, 0}, B0, 0, big),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, 'tk_Principal', ""),
+ ?line {"", <<>>, _} = cdr_decode:dec_type('tk_Principal', {1, 0}, B1, 0, big),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, 'tk_Principal', "principal"),
+ ?line {"principal", <<>>, _} =
+ cdr_decode:dec_type('tk_Principal', {1, 0}, B2, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: object reference
+%%-----------------------------------------------------------------
+version() -> #'IIOP_Version'{major=1,minor=0}.
+
+objref(0) ->
+ PB = #'IIOP_ProfileBody_1_0'{iiop_version=version(),
+ host="my.hostname.org",
+ port=4040,
+ object_key="ExternalKey: which is an arbitary octet sequence"},
+ TP = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB},
+ #'IOP_IOR'{type_id="IDL:Module/Interface:1.0", profiles=[TP]};
+objref(1) ->
+ K = corba_fake_mk_objkey("IDL:Module/Interface:1.0", key,
+ list_to_pid("<0.100.0>")),
+ PB = #'IIOP_ProfileBody_1_0'{iiop_version=version(),
+ host="my.hostname.org",
+ port=4040,
+ object_key=K},
+ TP = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB},
+ #'IOP_IOR'{type_id="IDL:Module/Interface:1.0", profiles=[TP]};
+objref(2) ->
+ K = corba_fake_mk_objkey("IDL:Module/Interface:1.0", registered,
+ list_to_atom("orber_nameservice")),
+ PB = #'IIOP_ProfileBody_1_0'{iiop_version=version(),
+ host="my.hostname.org",
+ port=4040,
+ object_key=K},
+ TP = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB},
+ #'IOP_IOR'{type_id="IDL:Module/Interface:1.0", profiles=[TP]}.
+
+objref_type(doc) -> [];
+objref_type(suite) -> [];
+objref_type(Config) when is_list(Config) ->
+ T = {'tk_objref', "IDL:Module/Interface:1.0", "Interface"},
+ Objref0 = objref(0),
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T, Objref0),
+ ?line {Objref0, <<>>, _} = cdr_decode:dec_type(T, {1, 0}, B0, 0, big),
+ Objref1 = objref(1),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T, Objref1),
+ ?line {Objref1, <<>>, _} = cdr_decode:dec_type(T, {1, 0}, B1, 0, big),
+ Objref2 = objref(2),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T, Objref2),
+ ?line {Objref2, <<>>, _} = cdr_decode:dec_type(T, {1, 0}, B2, 0, big),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: struct
+%%-----------------------------------------------------------------
+struct_type(doc) -> [];
+struct_type(suite) -> [];
+struct_type(Config) when is_list(Config) ->
+ T0 = {'tk_struct',"IDL:Module/Struct0:1.0", "Module_Struct0",
+ [{"long", 'tk_long'}, {"short", 'tk_short'}, {"character", 'tk_char'}]},
+ S0 = #'Module_Struct0'{l=-4711, s=17, c=$a},
+ ?line B0 = cdr_encode:enc_type({1, 0}, T0, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type(T0, {1, 0}, B0, 0, big),
+
+ T1 = {'tk_struct', "IDL:Module/Struct1:1.0", "Module_Struct1",
+ [{"string", {'tk_string', 0}}, {"ushort", 'tk_ushort'}, {"ulong", 'tk_ulong'}]},
+ S1 = #'Module_Struct1'{s="Hi !!!!", us=17, ul=4711},
+ ?line B1 = cdr_encode:enc_type({1, 0}, T1, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T1, {1, 0}, B1, 0, big),
+
+ T2 = {'tk_struct', "IDL:Module/Struct2:1.0", "Module_Struct2",
+ [{"long_sequence", {'tk_sequence', 'tk_long', 0}},
+ {"enum", {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum", ["horse", "pig", "cow"]}},
+ {"octet", 'tk_octet'}]},
+ S2 = #'Module_Struct2'{long_sequence=[4711, 350000, 0, -3030, -600000], e=cow, o=$X},
+ ?line B2 = cdr_encode:enc_type({1, 0}, T2, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type(T2, {1, 0}, B2, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: union
+%%-----------------------------------------------------------------
+union_type(doc) -> [];
+union_type(suite) -> [];
+union_type(Config) when is_list(Config) ->
+ T0 = {'tk_union', "IDL:Module/Union:1.0", "Union", 'tk_short', 2,
+ [{0, "First", 'tk_short'},
+ {1, "Second", {'tk_string', 0}},
+ {2, "Third", 'tk_char'}]},
+ S0 = #'Module_Union'{label=1, value="Foo Bar !"},
+ ?line B0 = cdr_encode:enc_type({1, 0}, T0, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type(T0, {1, 0}, B0, 0, big),
+ S1 = #'Module_Union'{label=0, value=-17},
+ ?line B1 = cdr_encode:enc_type({1, 0}, T0, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T0, {1, 0}, B1, 0, big),
+ S2 = #'Module_Union'{label=2, value=$X},
+ ?line B2 = cdr_encode:enc_type({1, 0}, T0, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type(T0, {1, 0}, B2, 0, big),
+ T1 = {'tk_union', "IDL:Module/Union1:1.0", "Union1",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana", "apple"]}}]},
+ S3 = #'Module_Union1'{label=pig, value=["Foo", "Bar", "!"]},
+ ?line B3 = cdr_encode:enc_type({1, 0}, T1, S3),
+ ?line {S3, <<>>, _} = cdr_decode:dec_type(T1, {1, 0}, B3, 0, big),
+ S4 = #'Module_Union1'{label=cow, value=apple},
+ ?line B4 = cdr_encode:enc_type({1, 0}, T1, S4),
+ ?line {S4, <<>>, _} = cdr_decode:dec_type(T1, {1, 0}, B4, 0, big),
+ S5 = #'Module_Union1'{label=horse, value=17},
+ ?line B5 = cdr_encode:enc_type({1, 0}, T1, S5),
+ ?line {S5, <<>>, _} = cdr_decode:dec_type(T1, {1, 0}, B5, 0, big),
+ T2 = {'tk_union', "IDL:Module/Union2:1.0", "Union2",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", {'tk_array', 'tk_long', 3}},
+ {"pig", "Second",
+ {'tk_union', "IDL:Module/Union:1.0", "Union", 'tk_short', 2,
+ [{0, "First", 'tk_short'},
+ {1, "Second", {'tk_string', 0}},
+ {2, "Third", 'tk_char'}]}},
+ {"cow", "Third", {'tk_union', "IDL:Module/Union1:1.0", "Union1",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence',
+ {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum',
+ "IDL:Module/Enum1:1.0",
+ "Module_Enum1",
+ ["orange", "banana",
+ "apple"]}}]}}]},
+ S6 = #'Module_Union2'{label=pig, value=#'Module_Union'{label=0, value=-17}},
+ ?line B6 = cdr_encode:enc_type({1, 0}, T2, S6),
+ ?line {S6, <<>>, _} = cdr_decode:dec_type(T2, {1, 0}, B6, 0, big),
+ S7 = #'Module_Union2'{label=cow, value=#'Module_Union1'{label=pig,
+ value=["Foo", "Bar", "!"]}},
+ ?line B7 = cdr_encode:enc_type({1, 0}, T2, S7),
+ ?line {S7, <<>>, _} = cdr_decode:dec_type(T2, {1, 0}, B7, 0, big),
+ S8 = #'Module_Union2'{label=horse, value={-17, 1234567890, -987654321}},
+ ?line B8 = cdr_encode:enc_type({1, 0}, T2, S8),
+ ?line {S8, <<>>, _} = cdr_decode:dec_type(T2, {1, 0}, B8, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: string
+%%-----------------------------------------------------------------
+string_type(doc) -> [];
+string_type(suite) -> [];
+string_type(Config) when is_list(Config) ->
+ S0 = "Foo Bar ???",
+ ?line B0 = cdr_encode:enc_type({1, 0}, {'tk_string', 0}, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 0}, B0, 0, big),
+ S1 = "Yes, Foo Bar !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! more than 5000 characters",
+ ?line B1 = cdr_encode:enc_type({1, 0}, {'tk_string', 0}, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 0}, B1, 0, big),
+ S2 = "",
+ ?line B2 = cdr_encode:enc_type({1, 0}, {'tk_string', 0}, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 0}, B2, 0, big),
+ S3 = "\0",
+ ?line B3 = cdr_encode:enc_type({1, 0}, {'tk_string', 0}, S3),
+ ?line {S3, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 0}, B3, 0, big),
+ S4 = "~n",
+ ?line B4 = cdr_encode:enc_type({1, 0}, {'tk_string', 0}, S4),
+ ?line {S4, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 0}, B4, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: array
+%%-----------------------------------------------------------------
+array_type(doc) -> [];
+array_type(suite) -> [];
+array_type(Config) when is_list(Config) ->
+ T0 = {'tk_array', 'tk_long', 5},
+ S0 = {-100, 0, 30000, -900100900, 123456789},
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T0, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type(T0, {1, 0}, B0, 0, big),
+ T1 = {'tk_array', {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum", ["horse", "pig", "cow"]}, 2},
+ S1 = {pig, cow},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T1, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T1, {1, 0}, B1, 0, big),
+ T2 = {'tk_array', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana", "apple"]}}]}, 2},
+ S2 = {#'Module_Union'{label=cow, value=banana}, #'Module_Union'{label=pig, value=["This", "is", "a", "test", ""]}},
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T2, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type(T2, {1, 0}, B2, 0, big),
+ T3 = {'tk_array', {'tk_objref', "IDL:Module/Interface:1.0", "Interface"}, 3},
+ S3 = {objref(0), objref(1), objref(2)},
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T3, S3),
+ ?line {S3, <<>>, _} = cdr_decode:dec_type(T3, {1, 0}, B3, 0, big),
+ ok.
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: TypeCode
+%%-----------------------------------------------------------------
+any_type(doc) -> [];
+any_type(suite) -> [];
+any_type(Config) when is_list(Config) ->
+ T = 'tk_any',
+ TC = {'tk_struct', "IDL:Module/Struct2:1.0", "Module_Struct2",
+ [{"long_sequence", {'tk_sequence', 'tk_long', 0}},
+ {"enum", {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}},
+ {"octet", 'tk_octet'}]},
+ S = #'Module_Struct2'{long_sequence=[4711, 350000, 0, -3030, -600000],
+ e=cow, o=$X},
+ Any = #any{typecode=TC,value=S},
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T,Any),
+ ?line {Any, <<>>, _} = cdr_decode:dec_type(T, {1, 0}, B, 0, big),
+ TC1 = {'tk_array', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}, 1,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana",
+ "apple"]}}]},2},
+ S1 = {#'Module_Union'{label=cow, value=banana}, #'Module_Union'{label=pig, value=["This", "is", "a", "test", ""]}},
+ Any1 = #any{typecode=TC1,value=S1},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T,Any1),
+ ?line {Any1, <<>>, _} = cdr_decode:dec_type(T, {1, 0}, B1, 0, big),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: TypeCode
+%%-----------------------------------------------------------------
+typecode_type(doc) -> [];
+typecode_type(suite) -> [];
+typecode_type(Config) when is_list(Config) ->
+ T = 'tk_TypeCode',
+ TC = {'tk_array', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}, 1,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana",
+ "apple"]}}]}, 10},
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T,TC),
+ ?line {TC, <<>>, _} = cdr_decode:dec_type(T, {1, 0}, B, 0, big),
+ TC1 = {'tk_union', "IDL:Module/Union2:1.0", "Union2",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, 2,
+ [{"horse", "First", 'tk_long'},
+ {"pig", "Second",
+ {'tk_union', "IDL:Module/Union:1.0", "Union", 'tk_short', 2,
+ [{0, "First", 'tk_short'},
+ {1, "Second", {'tk_string', 0}},
+ {2, "Third", 'tk_char'}]}},
+ {"cow", "Third", {'tk_union', "IDL:Module/Union1:1.0", "Union1",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, 2,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence',
+ {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum',
+ "IDL:Module/Enum1:1.0",
+ "Module_Enum1",
+ ["orange", "banana",
+ "apple"]}}]}}]},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T, TC1),
+ ?line {TC1, <<>>, _} = cdr_decode:dec_type(T, {1, 0}, B1, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: TypeCode
+%%-----------------------------------------------------------------
+alias_type(doc) -> [];
+alias_type(suite) -> [];
+alias_type(Config) when is_list(Config) ->
+ T = {'tk_alias', "IDL:Module/Alias:1.0", "Alias",
+ {'tk_struct', "IDL:Module/Struct2:1.0", "Module_Struct2",
+ [{"long_sequence", {'tk_sequence', 'tk_long', 0}},
+ {"enum", {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}},
+ {"octet", 'tk_octet'}]}},
+ S = #'Module_Struct2'{long_sequence=[4711, 350000, 0, -3030, -600000],
+ e=cow, o=$X},
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T,S),
+ ?line {S, <<>>, _} = cdr_decode:dec_type(T, {1, 0}, B, 0, big),
+ T1 = {'tk_alias', "IDL:Module/Alias1:1.0", "Alias1",
+ {'tk_sequence', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}, 2,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana",
+ "apple"]}}]},0}},
+ S1 = [#'Module_Union'{label=cow, value=banana}, #'Module_Union'{label=pig, value=["This", "is", "a", "test", ""]}],
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T1, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T1, {1, 0}, B1, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: exception
+%%-----------------------------------------------------------------
+exception_type(doc) -> [];
+exception_type(suite) -> [];
+exception_type(Config) when is_list(Config) ->
+ system_exceptions(),
+ user_exceptions(),
+ ok.
+
+system_exceptions() ->
+ E = #'UNKNOWN'{completion_status=?COMPLETED_YES},
+ {system_exception, T, E} = orber_exceptions:get_def(E),
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T,E),
+ ?line {E, _} = cdr_decode:dec_system_exception({1, 0}, B, 0, big),
+ E1 = #'INV_OBJREF'{completion_status=?COMPLETED_NO},
+ {system_exception, T1, E1} = orber_exceptions:get_def(E1),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T1,E1),
+ ?line {E1, _} = cdr_decode:dec_system_exception({1, 0}, B1, 0, big),
+ E2 = #'BAD_OPERATION'{completion_status=?COMPLETED_NO},
+ {system_exception, T2, E2} = orber_exceptions:get_def(E2),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T2,E2),
+ ?line {E2, _} = cdr_decode:dec_system_exception({1, 0}, B2, 0, big),
+ E3 = #'INTF_REPOS'{completion_status=?COMPLETED_MAYBE},
+ {system_exception, T3, E3} = orber_exceptions:get_def(E3),
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T3,E3),
+ ?line {E3, _} = cdr_decode:dec_system_exception({1, 0}, B3, 0, big),
+ ok.
+
+user_exceptions() ->
+ E = #'Module_Except1'{rest_of_name=["I","am","testing","exceptions"], why="Error"},
+ {user_exception, T, E} = orber_exceptions:get_def(E),
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T, E),
+ ?line {E, _} = cdr_decode:dec_user_exception({1, 0}, B, 0, big),
+ E1 = #'Module_Except2'{e=banana,
+ s=#'Module_Struct2'{long_sequence=[12,-4040,
+ 1234567898],
+ e=horse,
+ o=$a}},
+ {user_exception, T1, E1} = orber_exceptions:get_def(E1),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T1, E1),
+ ?line {E1, _} = cdr_decode:dec_user_exception({1, 0}, B1, 0, big),
+ E2 = #'Module_Except3'{u=#'Module_Union1'{label=pig,value=["high","and","low"]},s=1313, o=objref(0)},
+ {user_exception, T2, E2} = orber_exceptions:get_def(E2),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T2, E2),
+ ?line {E2, _} = cdr_decode:dec_user_exception({1, 0}, B2, 0, big),
+ E3 = #'Module_Except4'{},
+ {user_exception, T3, E3} = orber_exceptions:get_def(E3),
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 0}}, T3, E3),
+ ?line {E3, _} = cdr_decode:dec_user_exception({1, 0}, B3, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: request encoding test
+%% Description: Precondition the stack must be started so the
+%% objectkey is valid.
+%%-----------------------------------------------------------------
+%request(suite) -> [];
+%request(_) ->
+% exit(not_implemented).
+
+%%-----------------------------------------------------------------
+%% Test Case: reply encoding test
+%% Description:
+%%-----------------------------------------------------------------
+reply(doc) -> ["Description", "more description"];
+reply(suite) -> [];
+reply(Config) when is_list(Config) ->
+ R = #reply_header{service_context=[], request_id=1,
+ reply_status='no_exception'},
+ ?line B = cdr_encode:enc_reply(
+ #giop_env{version = {1, 0}, request_id = 1,
+ reply_status = 'no_exception',
+ tc = {'tk_long', [], [{'tk_sequence',
+ {'tk_string', 0}, 0}]},
+ result = 1200, parameters = [["foo","Bar"]],
+ ctx = []}),
+ ?line {R, 1200, [["foo","Bar"]]} =
+ cdr_decode:dec_message({'tk_long', [], [{'tk_sequence', {'tk_string', 0},0}]},
+ B),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: cancel_request encoding test
+%% Description:
+%%-----------------------------------------------------------------
+cancel_request(doc) -> ["Description", "more description"];
+cancel_request(suite) -> [];
+cancel_request(Config) when is_list(Config) ->
+ R = #cancel_request_header{request_id=1},
+ ?line B = cdr_encode:enc_cancel_request(#giop_env{version = {1, 0},
+ request_id = 1}),
+ ?line R = cdr_decode:dec_message([], B),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: locate_request encoding test
+%% Description:
+%%-----------------------------------------------------------------
+locate_request(doc) -> ["Description", "more description"];
+locate_request(suite) -> [];
+locate_request(Config) when is_list(Config) ->
+ io:format("Function not imlpemented yet"),
+ exit(not_implemented).
+
+%%-----------------------------------------------------------------
+%% Test Case: locate_reply encoding test
+%% Description:
+%%-----------------------------------------------------------------
+locate_reply(doc) -> ["Description", "more description"];
+locate_reply(suite) -> [];
+locate_reply(Config) when is_list(Config) ->
+ io:format("Function not imlpemented yet"),
+ exit(not_implemented).
+
+%%-----------------------------------------------------------------
+%% Test Case: close_connection encoding test
+%% Description:
+%%-----------------------------------------------------------------
+close_connection(doc) -> ["Description", "more description"];
+close_connection(suite) -> [];
+close_connection(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_close_connection(#giop_env{version = {1, 0}}),
+ ?line 'close_connection' = cdr_decode:dec_message([], B),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: message_error encoding test
+%% Description:
+%%-----------------------------------------------------------------
+message_error(doc) -> ["Description", "more description"];
+message_error(suite) -> [];
+message_error(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_message_error(#giop_env{version = {1, 0}}),
+ ?line 'message_error' = cdr_decode:dec_message([], B),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% Internal functions
+%%-----------------------------------------------------------------
+corba_fake_mk_objkey(Id, 'key', Pid) when is_pid(Pid) ->
+ Key = make_objkey(),
+ {list_to_binary(Id), 'key', Key, term_to_binary(undefined),
+ term_to_binary(undefined), term_to_binary(undefined)};
+corba_fake_mk_objkey(Id, 'key', RegName) when is_atom(RegName) ->
+ Key = term_to_binary(RegName),
+ {list_to_binary(Id), 'key', Key, term_to_binary(undefined),
+ term_to_binary(undefined), term_to_binary(undefined)};
+corba_fake_mk_objkey(Id, 'registered', RegName) when is_atom(RegName) ->
+ {list_to_binary(Id), 'registered', RegName, term_to_binary(undefined),
+ term_to_binary(undefined), term_to_binary(undefined)}.
+
+make_objkey() ->
+ term_to_binary({now(), node()}).
diff --git a/lib/orber/test/cdrcoding_11_SUITE.erl b/lib/orber/test/cdrcoding_11_SUITE.erl
new file mode 100644
index 0000000000..d62fe6eb3a
--- /dev/null
+++ b/lib/orber/test/cdrcoding_11_SUITE.erl
@@ -0,0 +1,615 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for the CDR encode/decode functions
+%%
+%%-----------------------------------------------------------------
+-module(cdrcoding_11_SUITE).
+
+
+-include("idl_output/Module.hrl").
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+-define(default_timeout, ?t:minutes(5)).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Description", "more description"];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [types, reply, cancel_request, close_connection, message_error].
+%% request, locate_request, locate_reply].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) when is_list(Config) ->
+ orber:jump_start(0),
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) when is_list(Config) ->
+ orber:jump_stop(),
+ Config.
+
+%%-----------------------------------------------------------------
+%% Test Case: type encoding tests
+%% Description: Just testing the complex types, the others are
+%% tested in the cdrlib SUITE.
+%%-----------------------------------------------------------------
+types(doc) -> ["Description", "more description"];
+types(suite) -> [do_register, null_type, void_type, principal_type,
+ objref_type, struct_type, union_type, string_type,
+ array_type, any_type, typecode_type, alias_type,
+ exception_type, do_unregister].
+%types(Config) when list(Config) ->
+% 'oe_orber_test':'oe_register'(),
+% null_type(),
+% void_type(),
+% principal_type(),
+% objref_type(),
+% struct_type(),
+% union_type(),
+% string_type(),
+% array_type(),
+% any_type(),
+% typecode_type(),
+% alias_type(),
+% exception_type(),
+% 'oe_orber_test':'oe_unregister'(),
+% ok.
+
+do_register(doc) -> [];
+do_register(suite) -> [];
+do_register(Config) when is_list(Config) ->
+ 'oe_orber_test':'oe_register'(),
+ ok.
+do_unregister(doc) -> [];
+do_unregister(suite) -> [];
+do_unregister(Config) when is_list(Config) ->
+ 'oe_orber_test':'oe_unregister'(),
+ ok.
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: null
+%%-----------------------------------------------------------------
+null_type(doc) -> [];
+null_type(suite) -> [];
+null_type(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 1}}, 'tk_null', 'null'),
+ ?line {'null', <<>>, _} = cdr_decode:dec_type('tk_null', {1, 1}, B, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: void
+%%-----------------------------------------------------------------
+void_type(doc) -> [];
+void_type(suite) -> [];
+void_type(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 1}}, 'tk_void', 'ok'),
+ ?line {'ok', <<>>, _} = cdr_decode:dec_type('tk_void', {1, 1}, B, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: principal
+%%-----------------------------------------------------------------
+principal_type(doc) -> [];
+principal_type(suite) -> [];
+principal_type(Config) when is_list(Config) ->
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, 'tk_Principal', "principal"),
+ ?line {"principal", <<>>, _} = cdr_decode:dec_type('tk_Principal', {1, 1}, B0, 0, big),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, 'tk_Principal', ""),
+ ?line {"", <<>>, _} = cdr_decode:dec_type('tk_Principal', {1, 1}, B1, 0, big),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, 'tk_Principal', "principal"),
+ ?line {"principal", <<>>, _} =
+ cdr_decode:dec_type('tk_Principal', {1, 1}, B2, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: object reference
+%%-----------------------------------------------------------------
+version() -> #'IIOP_Version'{major=1,minor=1}.
+
+objref(0) ->
+ PB = #'IIOP_ProfileBody_1_1'{iiop_version=version(),
+ host="my.hostname.org",
+ port=4040,
+ object_key="ExternalKey: which is an arbitary octet sequence",
+ components=[]},
+ TP = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB},
+ #'IOP_IOR'{type_id="IDL:Module/Interface:1.0", profiles=[TP]};
+objref(1) ->
+ K = corba_fake_mk_objkey("IDL:Module/Interface:1.0", key,
+ list_to_pid("<0.100.0>")),
+ PB = #'IIOP_ProfileBody_1_1'{iiop_version=version(),
+ host="my.hostname.org",
+ port=4040,
+ object_key=K, components=[]},
+ TP = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB},
+ #'IOP_IOR'{type_id="IDL:Module/Interface:1.0", profiles=[TP]};
+objref(2) ->
+ K = corba_fake_mk_objkey("IDL:Module/Interface:1.0", registered,
+ list_to_atom("orber_nameservice")),
+ PB = #'IIOP_ProfileBody_1_1'{iiop_version=version(),
+ host="my.hostname.org",
+ port=4040,
+ object_key=K, components=[]},
+ TP = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB},
+ #'IOP_IOR'{type_id="IDL:Module/Interface:1.0", profiles=[TP]}.
+
+objref_type(doc) -> [];
+objref_type(suite) -> [];
+objref_type(Config) when is_list(Config) ->
+ T = {'tk_objref', "IDL:Module/Interface:1.0", "Interface"},
+ Objref0 = objref(0),
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T, Objref0),
+ ?line {Objref0, <<>>, _} = cdr_decode:dec_type(T, {1, 1}, B0, 0, big),
+ Objref1 = objref(1),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T, Objref1),
+ ?line {Objref1, <<>>, _} = cdr_decode:dec_type(T, {1, 1}, B1, 0, big),
+ Objref2 = objref(2),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T, Objref2),
+ ?line {Objref2, <<>>, _} = cdr_decode:dec_type(T, {1, 1}, B2, 0, big),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: struct
+%%-----------------------------------------------------------------
+struct_type(doc) -> [];
+struct_type(suite) -> [];
+struct_type(Config) when is_list(Config) ->
+ T0 = {'tk_struct',"IDL:Module/Struct0:1.0", "Module_Struct0",
+ [{"long", 'tk_long'}, {"short", 'tk_short'}, {"character", 'tk_char'}]},
+ S0 = #'Module_Struct0'{l=-4711, s=17, c=$a},
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T0, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type(T0, {1, 1}, B0, 0, big),
+
+ T1 = {'tk_struct', "IDL:Module/Struct1:1.0", "Module_Struct1",
+ [{"string", {'tk_string', 0}}, {"ushort", 'tk_ushort'}, {"ulong", 'tk_ulong'}]},
+ S1 = #'Module_Struct1'{s="Hi !!!!", us=17, ul=4711},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T1, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T1, {1, 1}, B1, 0, big),
+
+ T2 = {'tk_struct', "IDL:Module/Struct2:1.0", "Module_Struct2",
+ [{"long_sequence", {'tk_sequence', 'tk_long', 0}},
+ {"enum", {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum", ["horse", "pig", "cow"]}},
+ {"octet", 'tk_octet'}]},
+ S2 = #'Module_Struct2'{long_sequence=[4711, 350000, 0, -3030, -600000], e=cow, o=$X},
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T2, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type(T2, {1, 1}, B2, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: union
+%%-----------------------------------------------------------------
+union_type(doc) -> [];
+union_type(suite) -> [];
+union_type(Config) when is_list(Config) ->
+ T0 = {'tk_union', "IDL:Module/Union:1.0", "Union", 'tk_short', 2,
+ [{0, "First", 'tk_short'},
+ {1, "Second", {'tk_string', 0}},
+ {2, "Third", 'tk_char'}]},
+ S0 = #'Module_Union'{label=1, value="Foo Bar !"},
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T0, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type(T0, {1, 1}, B0, 0, big),
+ S1 = #'Module_Union'{label=0, value=-17},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T0, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T0, {1, 1}, B1, 0, big),
+ S2 = #'Module_Union'{label=2, value=$X},
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T0, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type(T0, {1, 1}, B2, 0, big),
+ T1 = {'tk_union', "IDL:Module/Union1:1.0", "Union1",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana", "apple"]}}]},
+ S3 = #'Module_Union1'{label=pig, value=["Foo", "Bar", "!"]},
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T1, S3),
+ ?line {S3, <<>>, _} = cdr_decode:dec_type(T1, {1, 1}, B3, 0, big),
+ S4 = #'Module_Union1'{label=cow, value=apple},
+ ?line B4 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T1, S4),
+ ?line {S4, <<>>, _} = cdr_decode:dec_type(T1, {1, 1}, B4, 0, big),
+ S5 = #'Module_Union1'{label=horse, value=17},
+ ?line B5 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T1, S5),
+ ?line {S5, <<>>, _} = cdr_decode:dec_type(T1, {1, 1}, B5, 0, big),
+ T2 = {'tk_union', "IDL:Module/Union2:1.0", "Union2",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", {'tk_array', 'tk_long', 3}},
+ {"pig", "Second",
+ {'tk_union', "IDL:Module/Union:1.0", "Union", 'tk_short', 2,
+ [{0, "First", 'tk_short'},
+ {1, "Second", {'tk_string', 0}},
+ {2, "Third", 'tk_char'}]}},
+ {"cow", "Third", {'tk_union', "IDL:Module/Union1:1.0", "Union1",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence',
+ {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum',
+ "IDL:Module/Enum1:1.0",
+ "Module_Enum1",
+ ["orange", "banana",
+ "apple"]}}]}}]},
+ S6 = #'Module_Union2'{label=pig, value=#'Module_Union'{label=0, value=-17}},
+ ?line B6 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T2, S6),
+ ?line {S6, <<>>, _} = cdr_decode:dec_type(T2, {1, 1}, B6, 0, big),
+ S7 = #'Module_Union2'{label=cow, value=#'Module_Union1'{label=pig,
+ value=["Foo", "Bar", "!"]}},
+ ?line B7 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T2, S7),
+ ?line {S7, <<>>, _} = cdr_decode:dec_type(T2, {1, 1}, B7, 0, big),
+ S8 = #'Module_Union2'{label=horse, value={-17, 1234567890, -987654321}},
+ ?line B8 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T2, S8),
+ ?line {S8, <<>>, _} = cdr_decode:dec_type(T2, {1, 1}, B8, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: string
+%%-----------------------------------------------------------------
+string_type(doc) -> [];
+string_type(suite) -> [];
+string_type(Config) when is_list(Config) ->
+ S0 = "Foo Bar ???",
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, {'tk_string', 0}, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 1}, B0, 0, big),
+ S1 = "Yes, Foo Bar !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! more than 5000 characters",
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, {'tk_string', 0}, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 1}, B1, 0, big),
+ S2 = "",
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, {'tk_string', 0}, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 1}, B2, 0, big),
+ S3 = "\0",
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, {'tk_string', 0}, S3),
+ ?line {S3, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 1}, B3, 0, big),
+ S4 = "~n",
+ ?line B4 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, {'tk_string', 0}, S4),
+ ?line {S4, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 1}, B4, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: array
+%%-----------------------------------------------------------------
+array_type(doc) -> [];
+array_type(suite) -> [];
+array_type(Config) when is_list(Config) ->
+ T0 = {'tk_array', 'tk_long', 5},
+ S0 = {-100, 0, 30000, -900100900, 123456789},
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T0, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type(T0, {1, 1}, B0, 0, big),
+ T1 = {'tk_array', {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum", ["horse", "pig", "cow"]}, 2},
+ S1 = {pig, cow},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T1, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T1, {1, 1}, B1, 0, big),
+ T2 = {'tk_array', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana", "apple"]}}]}, 2},
+ S2 = {#'Module_Union'{label=cow, value=banana}, #'Module_Union'{label=pig, value=["This", "is", "a", "test", ""]}},
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T2, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type(T2, {1, 1}, B2, 0, big),
+ T3 = {'tk_array', {'tk_objref', "IDL:Module/Interface:1.0", "Interface"}, 3},
+ S3 = {objref(0), objref(1), objref(2)},
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T3, S3),
+ ?line {S3, <<>>, _} = cdr_decode:dec_type(T3, {1, 1}, B3, 0, big),
+ ok.
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: TypeCode
+%%-----------------------------------------------------------------
+any_type(doc) -> [];
+any_type(suite) -> [];
+any_type(Config) when is_list(Config) ->
+ T = 'tk_any',
+ TC = {'tk_struct', "IDL:Module/Struct2:1.0", "Module_Struct2",
+ [{"long_sequence", {'tk_sequence', 'tk_long', 0}},
+ {"enum", {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}},
+ {"octet", 'tk_octet'}]},
+ S = #'Module_Struct2'{long_sequence=[4711, 350000, 0, -3030, -600000],
+ e=cow, o=$X},
+ Any = #any{typecode=TC,value=S},
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T,Any),
+ ?line {Any, <<>>, _} = cdr_decode:dec_type(T, {1, 1}, B, 0, big),
+ TC1 = {'tk_array', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}, 1,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana",
+ "apple"]}}]},2},
+ S1 = {#'Module_Union'{label=cow, value=banana}, #'Module_Union'{label=pig, value=["This", "is", "a", "test", ""]}},
+ Any1 = #any{typecode=TC1,value=S1},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T,Any1),
+ ?line {Any1, <<>>, _} = cdr_decode:dec_type(T, {1, 1}, B1, 0, big),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: TypeCode
+%%-----------------------------------------------------------------
+typecode_type(doc) -> [];
+typecode_type(suite) -> [];
+typecode_type(Config) when is_list(Config) ->
+ T = 'tk_TypeCode',
+ TC = {'tk_array', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}, 1,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana",
+ "apple"]}}]}, 10},
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T,TC),
+ ?line {TC, <<>>, _} = cdr_decode:dec_type(T, {1, 1}, B, 0, big),
+ TC1 = {'tk_union', "IDL:Module/Union2:1.0", "Union2",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, 2,
+ [{"horse", "First", 'tk_long'},
+ {"pig", "Second",
+ {'tk_union', "IDL:Module/Union:1.0", "Union", 'tk_short', 2,
+ [{0, "First", 'tk_short'},
+ {1, "Second", {'tk_string', 0}},
+ {2, "Third", 'tk_char'}]}},
+ {"cow", "Third", {'tk_union', "IDL:Module/Union1:1.0", "Union1",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, 2,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence',
+ {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum',
+ "IDL:Module/Enum1:1.0",
+ "Module_Enum1",
+ ["orange", "banana",
+ "apple"]}}]}}]},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T, TC1),
+ ?line {TC1, <<>>, _} = cdr_decode:dec_type(T, {1, 1}, B1, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: TypeCode
+%%-----------------------------------------------------------------
+alias_type(doc) -> [];
+alias_type(suite) -> [];
+alias_type(Config) when is_list(Config) ->
+ T = {'tk_alias', "IDL:Module/Alias:1.0", "Alias",
+ {'tk_struct', "IDL:Module/Struct2:1.0", "Module_Struct2",
+ [{"long_sequence", {'tk_sequence', 'tk_long', 0}},
+ {"enum", {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}},
+ {"octet", 'tk_octet'}]}},
+ S = #'Module_Struct2'{long_sequence=[4711, 350000, 0, -3030, -600000],
+ e=cow, o=$X},
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T,S),
+ ?line {S, <<>>, _} = cdr_decode:dec_type(T, {1, 1}, B, 0, big),
+ T1 = {'tk_alias', "IDL:Module/Alias1:1.0", "Alias1",
+ {'tk_sequence', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}, 2,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana",
+ "apple"]}}]},0}},
+ S1 = [#'Module_Union'{label=cow, value=banana}, #'Module_Union'{label=pig, value=["This", "is", "a", "test", ""]}],
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T1, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T1, {1, 1}, B1, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: exception
+%%-----------------------------------------------------------------
+exception_type(doc) -> [];
+exception_type(suite) -> [];
+exception_type(Config) when is_list(Config) ->
+ system_exceptions(),
+ user_exceptions(),
+ ok.
+
+system_exceptions() ->
+ E = #'UNKNOWN'{completion_status=?COMPLETED_YES},
+ {system_exception, T, E} = orber_exceptions:get_def(E),
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T,E),
+ ?line {E, _} = cdr_decode:dec_system_exception({1, 1}, B, 0, big),
+ E1 = #'INV_OBJREF'{completion_status=?COMPLETED_NO},
+ {system_exception, T1, E1} = orber_exceptions:get_def(E1),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T1,E1),
+ ?line {E1, _} = cdr_decode:dec_system_exception({1, 1}, B1, 0, big),
+ E2 = #'BAD_OPERATION'{completion_status=?COMPLETED_NO},
+ {system_exception, T2, E2} = orber_exceptions:get_def(E2),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T2,E2),
+ ?line {E2, _} = cdr_decode:dec_system_exception({1, 1}, B2, 0, big),
+ E3 = #'INTF_REPOS'{completion_status=?COMPLETED_MAYBE},
+ {system_exception, T3, E3} = orber_exceptions:get_def(E3),
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T3,E3),
+ ?line {E3, _} = cdr_decode:dec_system_exception({1, 1}, B3, 0, big),
+ ok.
+
+user_exceptions() ->
+ E = #'Module_Except1'{rest_of_name=["I","am","testing","exceptions"], why="Error"},
+ {user_exception, T, E} = orber_exceptions:get_def(E),
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T, E),
+ ?line {E, _} = cdr_decode:dec_user_exception({1, 1}, B, 0, big),
+ E1 = #'Module_Except2'{e=banana,
+ s=#'Module_Struct2'{long_sequence=[12,-4040,
+ 1234567898],
+ e=horse,
+ o=$a}},
+ {user_exception, T1, E1} = orber_exceptions:get_def(E1),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T1, E1),
+ ?line {E1, _} = cdr_decode:dec_user_exception({1, 1}, B1, 0, big),
+ E2 = #'Module_Except3'{u=#'Module_Union1'{label=pig,value=["high","and","low"]},s=1313, o=objref(0)},
+ {user_exception, T2, E2} = orber_exceptions:get_def(E2),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T2, E2),
+ ?line {E2, _} = cdr_decode:dec_user_exception({1, 1}, B2, 0, big),
+ E3 = #'Module_Except4'{},
+ {user_exception, T3, E3} = orber_exceptions:get_def(E3),
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 1}}, T3, E3),
+ ?line {E3, _} = cdr_decode:dec_user_exception({1, 1}, B3, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: request encoding test
+%% Description: Precondition the stack must be started so the
+%% objectkey is valid.
+%%-----------------------------------------------------------------
+%request(suite) -> [];
+%request(_) ->
+% exit(not_implemented).
+
+%%-----------------------------------------------------------------
+%% Test Case: reply encoding test
+%% Description:
+%%-----------------------------------------------------------------
+reply(doc) -> ["Description", "more description"];
+reply(suite) -> [];
+reply(Config) when is_list(Config) ->
+ R = #reply_header{service_context=[], request_id=1,
+ reply_status='no_exception'},
+ ?line B = cdr_encode:enc_reply(#giop_env{version = {1, 1}, request_id = 1,
+ reply_status = 'no_exception',
+ tc = {'tk_long', [], [{'tk_sequence',
+ {'tk_string', 0}, 0}]},
+ result = 1200, parameters = [["foo","Bar"]],
+ ctx = []}),
+ ?line {R, 1200, [["foo","Bar"]]} =
+ cdr_decode:dec_message({'tk_long', [], [{'tk_sequence', {'tk_string', 0},0}]},
+ B),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: cancel_request encoding test
+%% Description:
+%%-----------------------------------------------------------------
+cancel_request(doc) -> ["Description", "more description"];
+cancel_request(suite) -> [];
+cancel_request(Config) when is_list(Config) ->
+ R = #cancel_request_header{request_id=1},
+ ?line B = cdr_encode:enc_cancel_request(#giop_env{version = {1, 1},
+ request_id = 1}),
+ ?line R = cdr_decode:dec_message([], B),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: locate_request encoding test
+%% Description:
+%%-----------------------------------------------------------------
+locate_request(doc) -> ["Description", "more description"];
+locate_request(suite) -> [];
+locate_request(Config) when is_list(Config) ->
+ io:format("Function not imlpemented yet"),
+ exit(not_implemented).
+
+%%-----------------------------------------------------------------
+%% Test Case: locate_reply encoding test
+%% Description:
+%%-----------------------------------------------------------------
+locate_reply(doc) -> ["Description", "more description"];
+locate_reply(suite) -> [];
+locate_reply(Config) when is_list(Config) ->
+ io:format("Function not imlpemented yet"),
+ exit(not_implemented).
+
+%%-----------------------------------------------------------------
+%% Test Case: close_connection encoding test
+%% Description:
+%%-----------------------------------------------------------------
+close_connection(doc) -> ["Description", "more description"];
+close_connection(suite) -> [];
+close_connection(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_close_connection(#giop_env{version = {1, 1}}),
+ ?line 'close_connection' = cdr_decode:dec_message([], B),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: message_error encoding test
+%% Description:
+%%-----------------------------------------------------------------
+message_error(doc) -> ["Description", "more description"];
+message_error(suite) -> [];
+message_error(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_message_error(#giop_env{version = {1, 1}}),
+ ?line 'message_error' = cdr_decode:dec_message([], B),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% Internal functions
+%%-----------------------------------------------------------------
+corba_fake_mk_objkey(Id, 'key', Pid) when is_pid(Pid) ->
+ Key = make_objkey(),
+ {list_to_binary(Id), 'key', Key, term_to_binary(undefined),
+ term_to_binary(undefined), term_to_binary(undefined)};
+corba_fake_mk_objkey(Id, 'key', RegName) when is_atom(RegName) ->
+ Key = term_to_binary(RegName),
+ {list_to_binary(Id), 'key', Key, term_to_binary(undefined),
+ term_to_binary(undefined), term_to_binary(undefined)};
+corba_fake_mk_objkey(Id, 'registered', RegName) when is_atom(RegName) ->
+ {list_to_binary(Id), 'registered', RegName, term_to_binary(undefined),
+ term_to_binary(undefined), term_to_binary(undefined)}.
+
+make_objkey() ->
+ term_to_binary({now(), node()}).
diff --git a/lib/orber/test/cdrcoding_12_SUITE.erl b/lib/orber/test/cdrcoding_12_SUITE.erl
new file mode 100644
index 0000000000..18e8eaa08a
--- /dev/null
+++ b/lib/orber/test/cdrcoding_12_SUITE.erl
@@ -0,0 +1,603 @@
+%%----------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for the CDR encode/decode functions
+%%
+%%-----------------------------------------------------------------
+
+-module(cdrcoding_12_SUITE).
+
+-include("idl_output/Module.hrl").
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+-define(default_timeout, ?t:minutes(5)).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Description", "more description"];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [types, reply, cancel_request, close_connection, message_error].
+%% request, locate_request, locate_reply].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) when is_list(Config) ->
+ orber:jump_start(0),
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) when is_list(Config) ->
+ orber:jump_stop(),
+ Config.
+
+%%-----------------------------------------------------------------
+%% Test Case: type encoding tests
+%% Description: Just testing the complex types, the others are
+%% tested in the cdrlib SUITE.
+%%-----------------------------------------------------------------
+types(doc) -> ["Description", "more description"];
+types(suite) -> [do_register, null_type, void_type, principal_type,
+ objref_type, struct_type, union_type, string_type,
+ array_type, any_type, typecode_type, alias_type,
+ exception_type, do_unregister].
+
+do_register(doc) -> [];
+do_register(suite) -> [];
+do_register(Config) when is_list(Config) ->
+ 'oe_orber_test':'oe_register'(),
+ ok.
+do_unregister(doc) -> [];
+do_unregister(suite) -> [];
+do_unregister(Config) when is_list(Config) ->
+ 'oe_orber_test':'oe_unregister'(),
+ ok.
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: null
+%%-----------------------------------------------------------------
+null_type(doc) -> [];
+null_type(suite) -> [];
+null_type(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 2}}, 'tk_null', 'null'),
+ ?line {'null', <<>>, _} = cdr_decode:dec_type('tk_null', {1, 2}, B, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: void
+%%-----------------------------------------------------------------
+void_type(doc) -> [];
+void_type(suite) -> [];
+void_type(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 2}}, 'tk_void', 'ok'),
+ ?line {'ok', <<>>, _} = cdr_decode:dec_type('tk_void', {1, 2}, B, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: principal
+%%-----------------------------------------------------------------
+principal_type(doc) -> [];
+principal_type(suite) -> [];
+principal_type(Config) when is_list(Config) ->
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, 'tk_Principal', "principal"),
+ ?line {"principal", <<>>, _} = cdr_decode:dec_type('tk_Principal', {1, 2}, B0, 0, big),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, 'tk_Principal', ""),
+ ?line {"", <<>>, _} = cdr_decode:dec_type('tk_Principal', {1, 2}, B1, 0, big),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, 'tk_Principal', "principal"),
+ ?line {"principal", <<>>, _} =
+ cdr_decode:dec_type('tk_Principal', {1, 2}, B2, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: object reference
+%%-----------------------------------------------------------------
+version() -> #'IIOP_Version'{major=1,minor=2}.
+
+objref(0) ->
+ PB = #'IIOP_ProfileBody_1_1'{iiop_version=version(),
+ host="my.hostname.org",
+ port=4040,
+ object_key="ExternalKey: which is an arbitary octet sequence",
+ components=[]},
+ TP = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB},
+ #'IOP_IOR'{type_id="IDL:Module/Interface:1.0", profiles=[TP]};
+objref(1) ->
+ K = corba_fake_mk_objkey("IDL:Module/Interface:1.0", key,
+ list_to_pid("<0.100.0>")),
+ PB = #'IIOP_ProfileBody_1_1'{iiop_version=version(),
+ host="my.hostname.org",
+ port=4040,
+ object_key=K, components=[]},
+ TP = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB},
+ #'IOP_IOR'{type_id="IDL:Module/Interface:1.0", profiles=[TP]};
+objref(2) ->
+ K = corba_fake_mk_objkey("IDL:Module/Interface:1.0", registered,
+ list_to_atom("orber_nameservice")),
+ PB = #'IIOP_ProfileBody_1_1'{iiop_version=version(),
+ host="my.hostname.org",
+ port=4040,
+ object_key=K, components=[]},
+ TP = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB},
+ #'IOP_IOR'{type_id="IDL:Module/Interface:1.0", profiles=[TP]}.
+
+objref_type(doc) -> [];
+objref_type(suite) -> [];
+objref_type(Config) when is_list(Config) ->
+ T = {'tk_objref', "IDL:Module/Interface:1.0", "Interface"},
+ Objref0 = objref(0),
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T, Objref0),
+ ?line {Objref0, <<>>, _} = cdr_decode:dec_type(T, {1, 2}, B0, 0, big),
+ Objref1 = objref(1),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T, Objref1),
+ ?line {Objref1, <<>>, _} = cdr_decode:dec_type(T, {1, 2}, B1, 0, big),
+ Objref2 = objref(2),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T, Objref2),
+ ?line {Objref2, <<>>, _} = cdr_decode:dec_type(T, {1, 2}, B2, 0, big),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: struct
+%%-----------------------------------------------------------------
+struct_type(doc) -> [];
+struct_type(suite) -> [];
+struct_type(Config) when is_list(Config) ->
+ T0 = {'tk_struct',"IDL:Module/Struct0:1.0", "Module_Struct0",
+ [{"long", 'tk_long'}, {"short", 'tk_short'}, {"character", 'tk_char'}]},
+ S0 = #'Module_Struct0'{l=-4711, s=17, c=$a},
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T0, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type(T0, {1, 2}, B0, 0, big),
+
+ T1 = {'tk_struct', "IDL:Module/Struct1:1.0", "Module_Struct1",
+ [{"string", {'tk_string', 0}}, {"ushort", 'tk_ushort'}, {"ulong", 'tk_ulong'}]},
+ S1 = #'Module_Struct1'{s="Hi !!!!", us=17, ul=4711},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T1, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T1, {1, 2}, B1, 0, big),
+
+ T2 = {'tk_struct', "IDL:Module/Struct2:1.0", "Module_Struct2",
+ [{"long_sequence", {'tk_sequence', 'tk_long', 0}},
+ {"enum", {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum", ["horse", "pig", "cow"]}},
+ {"octet", 'tk_octet'}]},
+ S2 = #'Module_Struct2'{long_sequence=[4711, 350000, 0, -3030, -600000], e=cow, o=$X},
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T2, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type(T2, {1, 2}, B2, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: union
+%%-----------------------------------------------------------------
+union_type(doc) -> [];
+union_type(suite) -> [];
+union_type(Config) when is_list(Config) ->
+ T0 = {'tk_union', "IDL:Module/Union:1.0", "Union", 'tk_short', 2,
+ [{0, "First", 'tk_short'},
+ {1, "Second", {'tk_string', 0}},
+ {2, "Third", 'tk_char'}]},
+ S0 = #'Module_Union'{label=1, value="Foo Bar !"},
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T0, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type(T0, {1, 2}, B0, 0, big),
+ S1 = #'Module_Union'{label=0, value=-17},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T0, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T0, {1, 2}, B1, 0, big),
+ S2 = #'Module_Union'{label=2, value=$X},
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T0, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type(T0, {1, 2}, B2, 0, big),
+ T1 = {'tk_union', "IDL:Module/Union1:1.0", "Union1",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana", "apple"]}}]},
+ S3 = #'Module_Union1'{label=pig, value=["Foo", "Bar", "!"]},
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T1, S3),
+ ?line {S3, <<>>, _} = cdr_decode:dec_type(T1, {1, 2}, B3, 0, big),
+ S4 = #'Module_Union1'{label=cow, value=apple},
+ ?line B4 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T1, S4),
+ ?line {S4, <<>>, _} = cdr_decode:dec_type(T1, {1, 2}, B4, 0, big),
+ S5 = #'Module_Union1'{label=horse, value=17},
+ ?line B5 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T1, S5),
+ ?line {S5, <<>>, _} = cdr_decode:dec_type(T1, {1, 2}, B5, 0, big),
+ T2 = {'tk_union', "IDL:Module/Union2:1.0", "Union2",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", {'tk_array', 'tk_long', 3}},
+ {"pig", "Second",
+ {'tk_union', "IDL:Module/Union:1.0", "Union", 'tk_short', 2,
+ [{0, "First", 'tk_short'},
+ {1, "Second", {'tk_string', 0}},
+ {2, "Third", 'tk_char'}]}},
+ {"cow", "Third", {'tk_union', "IDL:Module/Union1:1.0", "Union1",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence',
+ {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum',
+ "IDL:Module/Enum1:1.0",
+ "Module_Enum1",
+ ["orange", "banana",
+ "apple"]}}]}}]},
+ S6 = #'Module_Union2'{label=pig, value=#'Module_Union'{label=0, value=-17}},
+ ?line B6 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T2, S6),
+ ?line {S6, <<>>, _} = cdr_decode:dec_type(T2, {1, 2}, B6, 0, big),
+ S7 = #'Module_Union2'{label=cow, value=#'Module_Union1'{label=pig,
+ value=["Foo", "Bar", "!"]}},
+ ?line B7 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T2, S7),
+ ?line {S7, <<>>, _} = cdr_decode:dec_type(T2, {1, 2}, B7, 0, big),
+ S8 = #'Module_Union2'{label=horse, value={-17, 1234567890, -987654321}},
+ ?line B8 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T2, S8),
+ ?line {S8, <<>>, _} = cdr_decode:dec_type(T2, {1, 2}, B8, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: string
+%%-----------------------------------------------------------------
+string_type(doc) -> [];
+string_type(suite) -> [];
+string_type(Config) when is_list(Config) ->
+ S0 = "Foo Bar ???",
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, {'tk_string', 0}, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 2}, B0, 0, big),
+ S1 = "Yes, Foo Bar !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! more than 5000 characters",
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, {'tk_string', 0}, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 2}, B1, 0, big),
+ S2 = "",
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, {'tk_string', 0}, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 2}, B2, 0, big),
+ S3 = "\0",
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, {'tk_string', 0}, S3),
+ ?line {S3, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 2}, B3, 0, big),
+ S4 = "~n",
+ ?line B4 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, {'tk_string', 0}, S4),
+ ?line {S4, <<>>, _} = cdr_decode:dec_type({'tk_string', 0}, {1, 2}, B4, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: array
+%%-----------------------------------------------------------------
+array_type(doc) -> [];
+array_type(suite) -> [];
+array_type(Config) when is_list(Config) ->
+ T0 = {'tk_array', 'tk_long', 5},
+ S0 = {-100, 0, 30000, -900100900, 123456789},
+ ?line B0 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T0, S0),
+ ?line {S0, <<>>, _} = cdr_decode:dec_type(T0, {1, 2}, B0, 0, big),
+ T1 = {'tk_array', {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum", ["horse", "pig", "cow"]}, 2},
+ S1 = {pig, cow},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T1, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T1, {1, 2}, B1, 0, big),
+ T2 = {'tk_array', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum", ["horse", "pig", "cow"]}, "pig",
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana", "apple"]}}]}, 2},
+ S2 = {#'Module_Union'{label=cow, value=banana}, #'Module_Union'{label=pig, value=["This", "is", "a", "test", ""]}},
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T2, S2),
+ ?line {S2, <<>>, _} = cdr_decode:dec_type(T2, {1, 2}, B2, 0, big),
+ T3 = {'tk_array', {'tk_objref', "IDL:Module/Interface:1.0", "Interface"}, 3},
+ S3 = {objref(0), objref(1), objref(2)},
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T3, S3),
+ ?line {S3, <<>>, _} = cdr_decode:dec_type(T3, {1, 2}, B3, 0, big),
+ ok.
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: TypeCode
+%%-----------------------------------------------------------------
+any_type(doc) -> [];
+any_type(suite) -> [];
+any_type(Config) when is_list(Config) ->
+ T = 'tk_any',
+ TC = {'tk_struct', "IDL:Module/Struct2:1.0", "Module_Struct2",
+ [{"long_sequence", {'tk_sequence', 'tk_long', 0}},
+ {"enum", {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}},
+ {"octet", 'tk_octet'}]},
+ S = #'Module_Struct2'{long_sequence=[4711, 350000, 0, -3030, -600000],
+ e=cow, o=$X},
+ Any = #any{typecode=TC,value=S},
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T,Any),
+ ?line {Any, <<>>, _} = cdr_decode:dec_type(T, {1, 2}, B, 0, big),
+ TC1 = {'tk_array', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}, 1,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana",
+ "apple"]}}]},2},
+ S1 = {#'Module_Union'{label=cow, value=banana}, #'Module_Union'{label=pig, value=["This", "is", "a", "test", ""]}},
+ Any1 = #any{typecode=TC1,value=S1},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T,Any1),
+ ?line {Any1, <<>>, _} = cdr_decode:dec_type(T, {1, 2}, B1, 0, big),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: TypeCode
+%%-----------------------------------------------------------------
+typecode_type(doc) -> [];
+typecode_type(suite) -> [];
+typecode_type(Config) when is_list(Config) ->
+ T = 'tk_TypeCode',
+ TC = {'tk_array', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}, 1,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana",
+ "apple"]}}]}, 10},
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T,TC),
+ ?line {TC, <<>>, _} = cdr_decode:dec_type(T, {1, 2}, B, 0, big),
+ TC1 = {'tk_union', "IDL:Module/Union2:1.0", "Union2",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, 2,
+ [{"horse", "First", 'tk_long'},
+ {"pig", "Second",
+ {'tk_union', "IDL:Module/Union:1.0", "Union", 'tk_short', 2,
+ [{0, "First", 'tk_short'},
+ {1, "Second", {'tk_string', 0}},
+ {2, "Third", 'tk_char'}]}},
+ {"cow", "Third", {'tk_union', "IDL:Module/Union1:1.0", "Union1",
+ {'tk_enum', "IDL:Module/Enum:1.0",
+ "Module_Enum", ["horse", "pig", "cow"]}, 2,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence',
+ {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum',
+ "IDL:Module/Enum1:1.0",
+ "Module_Enum1",
+ ["orange", "banana",
+ "apple"]}}]}}]},
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T, TC1),
+ ?line {TC1, <<>>, _} = cdr_decode:dec_type(T, {1, 2}, B1, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: TypeCode
+%%-----------------------------------------------------------------
+alias_type(doc) -> [];
+alias_type(suite) -> [];
+alias_type(Config) when is_list(Config) ->
+ T = {'tk_alias', "IDL:Module/Alias:1.0", "Alias",
+ {'tk_struct', "IDL:Module/Struct2:1.0", "Module_Struct2",
+ [{"long_sequence", {'tk_sequence', 'tk_long', 0}},
+ {"enum", {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}},
+ {"octet", 'tk_octet'}]}},
+ S = #'Module_Struct2'{long_sequence=[4711, 350000, 0, -3030, -600000],
+ e=cow, o=$X},
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T,S),
+ ?line {S, <<>>, _} = cdr_decode:dec_type(T, {1, 2}, B, 0, big),
+ T1 = {'tk_alias', "IDL:Module/Alias1:1.0", "Alias1",
+ {'tk_sequence', {'tk_union', "IDL:Module/Union:1.0", "Union",
+ {'tk_enum', "IDL:Module/Enum:1.0", "Module_Enum",
+ ["horse", "pig", "cow"]}, 2,
+ [{"horse", "First", 'tk_ushort'},
+ {"pig", "Second", {'tk_sequence', {'tk_string', 0}, 0}},
+ {"cow", "Third", {'tk_enum', "IDL:Module/Enum1:1.0",
+ "Module_Enum1", ["orange", "banana",
+ "apple"]}}]},0}},
+ S1 = [#'Module_Union'{label=cow, value=banana}, #'Module_Union'{label=pig, value=["This", "is", "a", "test", ""]}],
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T1, S1),
+ ?line {S1, <<>>, _} = cdr_decode:dec_type(T1, {1, 2}, B1, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Encode/decode test of type: exception
+%%-----------------------------------------------------------------
+exception_type(doc) -> [];
+exception_type(suite) -> [];
+exception_type(Config) when is_list(Config) ->
+ system_exceptions(),
+ user_exceptions(),
+ ok.
+
+system_exceptions() ->
+ E = #'UNKNOWN'{completion_status=?COMPLETED_YES},
+ {system_exception, T, E} = orber_exceptions:get_def(E),
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T,E),
+ ?line {E, _} = cdr_decode:dec_system_exception({1, 2}, B, 0, big),
+ E1 = #'INV_OBJREF'{completion_status=?COMPLETED_NO},
+ {system_exception, T1, E1} = orber_exceptions:get_def(E1),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T1,E1),
+ ?line {E1, _} = cdr_decode:dec_system_exception({1, 2}, B1, 0, big),
+ E2 = #'BAD_OPERATION'{completion_status=?COMPLETED_NO},
+ {system_exception, T2, E2} = orber_exceptions:get_def(E2),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T2,E2),
+ ?line {E2, _} = cdr_decode:dec_system_exception({1, 2}, B2, 0, big),
+ E3 = #'INTF_REPOS'{completion_status=?COMPLETED_MAYBE},
+ {system_exception, T3, E3} = orber_exceptions:get_def(E3),
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T3,E3),
+ ?line {E3, _} = cdr_decode:dec_system_exception({1, 2}, B3, 0, big),
+ ok.
+
+user_exceptions() ->
+ E = #'Module_Except1'{rest_of_name=["I","am","testing","exceptions"], why="Error"},
+ {user_exception, T, E} = orber_exceptions:get_def(E),
+ ?line B = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T, E),
+ ?line {E, _} = cdr_decode:dec_user_exception({1, 2}, B, 0, big),
+ E1 = #'Module_Except2'{e=banana,
+ s=#'Module_Struct2'{long_sequence=[12,-4040,
+ 1234567898],
+ e=horse,
+ o=$a}},
+ {user_exception, T1, E1} = orber_exceptions:get_def(E1),
+ ?line B1 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T1, E1),
+ ?line {E1, _} = cdr_decode:dec_user_exception({1, 2}, B1, 0, big),
+ E2 = #'Module_Except3'{u=#'Module_Union1'{label=pig,value=["high","and","low"]},s=1313, o=objref(0)},
+ {user_exception, T2, E2} = orber_exceptions:get_def(E2),
+ ?line B2 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T2, E2),
+ ?line {E2, _} = cdr_decode:dec_user_exception({1, 2}, B2, 0, big),
+ E3 = #'Module_Except4'{},
+ {user_exception, T3, E3} = orber_exceptions:get_def(E3),
+ ?line B3 = cdr_encode:enc_type(#giop_env{version = {1, 2}}, T3, E3),
+ ?line {E3, _} = cdr_decode:dec_user_exception({1, 2}, B3, 0, big),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: request encoding test
+%% Description: Precondition the stack must be started so the
+%% objectkey is valid.
+%%-----------------------------------------------------------------
+%request(suite) -> [];
+%request(_) ->
+% exit(not_implemented).
+
+%%-----------------------------------------------------------------
+%% Test Case: reply encoding test
+%% Description:
+%%-----------------------------------------------------------------
+reply(doc) -> ["Description", "more description"];
+reply(suite) -> [];
+reply(Config) when is_list(Config) ->
+ R = #reply_header{service_context=[], request_id=1,
+ reply_status='no_exception'},
+ ?line B = cdr_encode:enc_reply(#giop_env{version = {1, 2}, request_id = 1,
+ reply_status = 'no_exception',
+ tc = {'tk_long', [], [{'tk_sequence',
+ {'tk_string', 0}, 0}]},
+ result = 1200,
+ parameters = [["foo","Bar"]],
+ ctx = []}),
+
+ ?line {R, 1200, [["foo","Bar"]]} =
+ cdr_decode:dec_message({'tk_long', [], [{'tk_sequence', {'tk_string', 0},0}]},
+ B),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: cancel_request encoding test
+%% Description:
+%%-----------------------------------------------------------------
+cancel_request(doc) -> ["Description", "more description"];
+cancel_request(suite) -> [];
+cancel_request(Config) when is_list(Config) ->
+ R = #cancel_request_header{request_id=1},
+ ?line B = cdr_encode:enc_cancel_request(#giop_env{version = {1, 2},
+ request_id = 1}),
+ ?line R = cdr_decode:dec_message([], B),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: locate_request encoding test
+%% Description:
+%%-----------------------------------------------------------------
+locate_request(doc) -> ["Description", "more description"];
+locate_request(suite) -> [];
+locate_request(Config) when is_list(Config) ->
+ io:format("Function not imlpemented yet"),
+ exit(not_implemented).
+
+%%-----------------------------------------------------------------
+%% Test Case: locate_reply encoding test
+%% Description:
+%%-----------------------------------------------------------------
+locate_reply(doc) -> ["Description", "more description"];
+locate_reply(suite) -> [];
+locate_reply(Config) when is_list(Config) ->
+ io:format("Function not imlpemented yet"),
+ exit(not_implemented).
+
+%%-----------------------------------------------------------------
+%% Test Case: close_connection encoding test
+%% Description:
+%%-----------------------------------------------------------------
+close_connection(doc) -> ["Description", "more description"];
+close_connection(suite) -> [];
+close_connection(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_close_connection(#giop_env{version = {1, 2}}),
+ ?line 'close_connection' = cdr_decode:dec_message([], B),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: message_error encoding test
+%% Description:
+%%-----------------------------------------------------------------
+message_error(doc) -> ["Description", "more description"];
+message_error(suite) -> [];
+message_error(Config) when is_list(Config) ->
+ ?line B = cdr_encode:enc_message_error(#giop_env{version = {1, 2}}),
+ ?line 'message_error' = cdr_decode:dec_message([], B),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% Internal functions
+%%-----------------------------------------------------------------
+corba_fake_mk_objkey(Id, 'key', Pid) when is_pid(Pid) ->
+ Key = make_objkey(),
+ {list_to_binary(Id), 'key', Key, term_to_binary(undefined),
+ term_to_binary(undefined), term_to_binary(undefined)};
+corba_fake_mk_objkey(Id, 'key', RegName) when is_atom(RegName) ->
+ Key = term_to_binary(RegName),
+ {list_to_binary(Id), 'key', Key, term_to_binary(undefined),
+ term_to_binary(undefined), term_to_binary(undefined)};
+corba_fake_mk_objkey(Id, 'registered', RegName) when is_atom(RegName) ->
+ {list_to_binary(Id), 'registered', RegName, term_to_binary(undefined),
+ term_to_binary(undefined), term_to_binary(undefined)}.
+
+make_objkey() ->
+ term_to_binary({now(), node()}).
diff --git a/lib/orber/test/cdrlib_SUITE.erl b/lib/orber/test/cdrlib_SUITE.erl
new file mode 100644
index 0000000000..fa2d7f2a30
--- /dev/null
+++ b/lib/orber/test/cdrlib_SUITE.erl
@@ -0,0 +1,487 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for the CDR basic type encode/decode functions
+%%
+%%-----------------------------------------------------------------
+-module(cdrlib_SUITE).
+
+-include("test_server.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Description", "more description"];
+all(suite) ->
+ [short, ushort, long, ulong, longlong, ulonglong, boolean, character, octet,
+ float, double, enum].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: short integer test
+%% Description:
+%%-----------------------------------------------------------------
+short(doc) -> ["Description", "more description"];
+short(suite) -> [];
+short(_) ->
+ short_big_loop([-32768, -4040, -1, 0, 4040, 32767]),
+ short_little_loop([-32768, -4040, -1, 0, 4040, 32767]),
+ bad_short().
+
+short_big_loop([]) ->
+ ok;
+short_big_loop([X |List]) ->
+ ?line [CodedType] = cdrlib:enc_short(X, []),
+ ?line {X, <<>>} = cdrlib:dec_short(big, CodedType),
+ short_big_loop(List),
+ ok.
+
+short_little_loop([]) ->
+ ok;
+short_little_loop([X |List]) ->
+ ?line CodedType = enc_short_little(X, []),
+ ?line {X, <<>>} = cdrlib:dec_short(little, CodedType),
+ short_little_loop(List),
+ ok.
+
+enc_short_little(X, Message) ->
+ list_to_binary([(X) band 16#ff, ((X) bsr 8) band 16#ff | Message]).
+
+bad_short() ->
+ ?line {'EXCEPTION', _} = (catch cdrlib:enc_short('atom', [])),
+ ?line [CodedType] = cdrlib:enc_char($a, []),
+ ?line {'EXIT', _} = (catch cdrlib:dec_short(big, CodedType)),
+ ok.
+%%-----------------------------------------------------------------
+%% Test Case: unsigned short integer test
+%% Description:
+%%-----------------------------------------------------------------
+ushort(doc) -> ["Description", "more description"];
+ushort(suite) -> [];
+ushort(_) ->
+ ushort_big_loop([0, 4040, 65535]),
+ ushort_little_loop([0, 4040, 65535]),
+ bad_ushort().
+
+ushort_big_loop([]) ->
+ ok;
+ushort_big_loop([X |List]) ->
+ ?line [CodedType] = cdrlib:enc_unsigned_short(X, []),
+ ?line {X, <<>>} = cdrlib:dec_unsigned_short(big, CodedType),
+ ushort_big_loop(List),
+ ok.
+
+ushort_little_loop([]) ->
+ ok;
+ushort_little_loop([X |List]) ->
+ ?line CodedType = enc_ushort_little(X, []),
+ ?line {X, <<>>} = cdrlib:dec_unsigned_short(little, CodedType),
+ ushort_little_loop(List),
+ ok.
+
+enc_ushort_little(X, Message) ->
+ list_to_binary([(X) band 16#ff, ((X) bsr 8) band 16#ff | Message]).
+
+bad_ushort() ->
+ ok.
+%%-----------------------------------------------------------------
+%% Test Case: long integer test
+%% Description:
+%%-----------------------------------------------------------------
+long(doc) -> ["Description", "more description"];
+long(suite) -> [];
+long(_) ->
+ long_big_loop([-2147483648, -40404040, -32768, -4040, -1,
+ 0, 4040, 32767, 40404040, 2147483647]),
+ long_little_loop([-2147483648, -40404040, -32768, -4040, -1,
+ 0, 4040, 32767, 40404040, 2147483647]),
+ bad_long().
+
+
+long_big_loop([]) ->
+ ok;
+long_big_loop([X |List]) ->
+ ?line [CodedType] = cdrlib:enc_long(X, []),
+ ?line {X, <<>>} = cdrlib:dec_long(big, CodedType),
+ long_big_loop(List),
+ ok.
+
+long_little_loop([]) ->
+ ok;
+long_little_loop([X |List]) ->
+ ?line CodedType = enc_long_little(X, []),
+ ?line {X, <<>>} = cdrlib:dec_long(little, CodedType),
+ long_little_loop(List),
+ ok.
+
+enc_long_little(X, Message) ->
+ list_to_binary([(X) band 16#ff, ((X) bsr 8) band 16#ff, ((X) bsr 16) band 16#ff,
+ ((X) bsr 24) band 16#ff | Message]).
+
+bad_long() ->
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: unsigned long integer test
+%% Description:
+%%-----------------------------------------------------------------
+ulong(doc) -> ["Description", "more description"];
+ulong(suite) -> [];
+ulong(_) ->
+ ulong_big_loop([0, 4040, 65535, 40404040, 2147483647, 4294967295]),
+ ulong_little_loop([0, 4040, 65535, 40404040, 2147483647, 4294967295]),
+ bad_ulong().
+
+
+ulong_big_loop([]) ->
+ ok;
+ulong_big_loop([X |List]) ->
+ ?line [CodedType] = cdrlib:enc_unsigned_long(X, []),
+ ?line {X, <<>>} = cdrlib:dec_unsigned_long(big, CodedType),
+ ulong_big_loop(List),
+ ok.
+
+ulong_little_loop([]) ->
+ ok;
+ulong_little_loop([X |List]) ->
+ ?line CodedType = enc_ulong_little(X, []),
+ ?line {X, <<>>} = cdrlib:dec_unsigned_long(little, CodedType),
+ ulong_little_loop(List),
+ ok.
+
+enc_ulong_little(X, Message) ->
+ list_to_binary([(X) band 16#ff, ((X) bsr 8) band 16#ff, ((X) bsr 16) band 16#ff,
+ ((X) bsr 24) band 16#ff | Message]).
+
+
+bad_ulong() ->
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: long integer test
+%% Description:
+%%-----------------------------------------------------------------
+longlong(doc) -> ["Description", "more description"];
+longlong(suite) -> [];
+longlong(_) ->
+ longlong_big_loop([-2147483648, -40404040, -32768, -4040, -1,
+ 0, 4040, 32767, 40404040, 2147483647]),
+ longlong_little_loop([-2147483648, -40404040, -32768, -4040, -1,
+ 0, 4040, 32767, 40404040, 2147483647]),
+ bad_longlong().
+
+
+longlong_big_loop([]) ->
+ ok;
+longlong_big_loop([X |List]) ->
+ ?line [CodedType] = cdrlib:enc_longlong(X, []),
+ ?line {X, <<>>} = cdrlib:dec_longlong(big, CodedType),
+ longlong_big_loop(List),
+ ok.
+
+longlong_little_loop([]) ->
+ ok;
+longlong_little_loop([X |List]) ->
+ ?line CodedType = enc_longlong_little(X, []),
+ ?line {X, <<>>} = cdrlib:dec_longlong(little, CodedType),
+ longlong_little_loop(List),
+ ok.
+
+enc_longlong_little(X, Message) ->
+ list_to_binary([(X) band 16#ff, ((X) bsr 8) band 16#ff, ((X) bsr 16) band 16#ff,
+ ((X) bsr 24) band 16#ff, ((X) bsr 32) band 16#ff, ((X) bsr 40) band 16#ff,
+ ((X) bsr 48) band 16#ff, ((X) bsr 56) band 16#ff | Message]).
+
+bad_longlong() ->
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: unsigned long integer test
+%% Description:
+%%-----------------------------------------------------------------
+ulonglong(doc) -> ["Description", "more description"];
+ulonglong(suite) -> [];
+ulonglong(_) ->
+ ulonglong_big_loop([0, 4040, 65535, 40404040, 2147483647, 4294967295]),
+ ulonglong_little_loop([0, 4040, 65535, 40404040, 2147483647, 4294967295]),
+ bad_ulonglong().
+
+
+ulonglong_big_loop([]) ->
+ ok;
+ulonglong_big_loop([X |List]) ->
+ ?line [CodedType] = cdrlib:enc_unsigned_longlong(X, []),
+ ?line {X, <<>>} = cdrlib:dec_unsigned_longlong(big, CodedType),
+ ulonglong_big_loop(List),
+ ok.
+
+ulonglong_little_loop([]) ->
+ ok;
+ulonglong_little_loop([X |List]) ->
+ ?line CodedType = enc_ulonglong_little(X, []),
+ ?line {X, <<>>} = cdrlib:dec_unsigned_longlong(little, CodedType),
+ ulonglong_little_loop(List),
+ ok.
+
+enc_ulonglong_little(X, Message) ->
+ list_to_binary([(X) band 16#ff, ((X) bsr 8) band 16#ff, ((X) bsr 16) band 16#ff,
+ ((X) bsr 24) band 16#ff, ((X) bsr 32) band 16#ff, ((X) bsr 40) band 16#ff,
+ ((X) bsr 48) band 16#ff, ((X) bsr 56) band 16#ff | Message]).
+
+bad_ulonglong() ->
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% Test Case: boolean test
+%% Description:
+%%-----------------------------------------------------------------
+boolean(doc) -> ["Description", "more description"];
+boolean(suite) -> [];
+boolean(_) ->
+ ?line [CodedTrue] = cdrlib:enc_bool('true', []),
+ ?line {'true', <<>>} = cdrlib:dec_bool(CodedTrue),
+ ?line [CodedFalse] = cdrlib:enc_bool('false', []),
+ ?line {'false', <<>>} = cdrlib:dec_bool(CodedFalse),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: character test
+%% Description:
+%%-----------------------------------------------------------------
+character(doc) -> ["Description", "more description"];
+character(suite) -> [];
+character(_) ->
+ ?line [Coded_0] = cdrlib:enc_char($0, []),
+ ?line {$0, <<>>} = cdrlib:dec_char(Coded_0),
+ ?line [Coded_a] = cdrlib:enc_char($a, []),
+ ?line {$a, <<>>} = cdrlib:dec_char(Coded_a),
+ ?line [Coded_Z] = cdrlib:enc_char($Z, []),
+ ?line {$Z, <<>>} = cdrlib:dec_char(Coded_Z),
+ ?line [Coded_dollar] = cdrlib:enc_char($$, []),
+ ?line {$$, <<>>} = cdrlib:dec_char(Coded_dollar),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: octet test
+%% Description:
+%%-----------------------------------------------------------------
+octet(doc) -> ["Description", "more description"];
+octet(suite) -> [];
+octet(_) ->
+ ?line [Coded_ff] = cdrlib:enc_octet(16#ff, []),
+ ?line {16#ff, <<>>} = cdrlib:dec_octet(Coded_ff),
+ ?line [Coded_00] = cdrlib:enc_octet(16#00, []),
+ ?line {16#00, <<>>} = cdrlib:dec_octet(Coded_00),
+ ?line [Coded_5a] = cdrlib:enc_octet(16#5a, []),
+ ?line {16#5a, <<>>} = cdrlib:dec_octet(Coded_5a),
+ ?line [Coded_48] = cdrlib:enc_octet(16#48, []),
+ ?line {16#48, <<>>} = cdrlib:dec_octet(Coded_48),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% Test Case: float test
+%% Description:
+%%-----------------------------------------------------------------
+float(doc) -> ["Description", "more description"];
+float(suite) -> [];
+float(_) ->
+ G = 16#7fffff / 16#800000 + 1.0,
+ H1 = math:pow(2, 127),
+ H2 = math:pow(2, -126),
+ float_big_loop([-H1 * G, -H1 * 1.0, -H2 * G, -H2 * 1.0,
+ -4040.313131, -3.141592, 0.0, 3.141592, 4040.313131,
+ H1 * G, H1 * 1.0, H2 * G, H2 * 1.0]),
+ float_little_loop([-H1 * G, -H1 * 1.0, -H2 * G, -H2 * 1.0,
+ -4040.313131, -3.141592, 0.0, 3.141592, 4040.313131,
+ H1 * G, H1 * 1.0, H2 * G, H2 * 1.0]),
+ ok.
+
+float_big_loop([]) ->
+ ok;
+float_big_loop([X |List]) ->
+ ?line [CodedType] = cdrlib:enc_float(X, []),
+ ?line {Y, <<>>} = cdrlib:dec_float(big, CodedType),
+ ?line float_comp(X,Y),
+ float_big_loop(List),
+ ok.
+
+float_little_loop([]) ->
+ ok;
+float_little_loop([X |List]) ->
+ ?line [CodedType] = enc_float_little(X, []),
+ ?line {Y, <<>>} = cdrlib:dec_float(little, CodedType),
+ ?line float_comp(X,Y),
+ float_little_loop(List),
+ ok.
+
+float_comp(X,Y) when X == 0.0, Y == 0.0 ->
+ ok;
+float_comp(X,Y) ->
+ Div = abs(Y) / abs(X),
+ %% io:format("~p~n", [float_to_list(Div)]),
+ ?line true = (Div < 1.0000001),
+ ?line true = (Div > 0.9999999),
+ ok.
+
+enc_float_little(X, Message) ->
+ [ <<X:32/little-float>> | Message].
+
+%%-----------------------------------------------------------------
+%% Test Case: double test
+%% Description:
+%%-----------------------------------------------------------------
+double(doc) -> ["Description", "more description"];
+double(suite) -> [];
+double(_) ->
+ F = 16#0fffffffffffff / 16#10000000000000 + 1.0,
+ E1 = math:pow(2, 1023),
+ E2 = math:pow(2, -1022),
+ G = 16#7fffff / 16#800000 + 1.0,
+ H1 = math:pow(2, 128),
+ H2 = math:pow(2, -127),
+ double_big_loop([-E1 * F, -E1 * 1.0, -E2 * F, -E2 * 1.0,
+ -H1 * G, -H1 * 1.0, -H2 * G, -H2 * 1.0,
+ -4040.313131, -3.141592, 0.0, 3.141592, 4040.313131,
+ H1 * G, H1 * 1.0, H2 * G, H2 * 1.0,
+ E1 * F, E1 * 1.0, E2 * F, E2 * 1.0]),
+ double_little_loop([-E1 * F, -E1 * 1.0, -E2 * F, -E2 * 1.0,
+ -H1 * G, -H1 * 1.0, -H2 * G, -H2 * 1.0,
+ -4040.313131, -3.141592, 0.0, 3.141592, 4040.313131,
+ H1 * G, H1 * 1.0, H2 * G, H2 * 1.0,
+ E1 * F, E1 * 1.0, E2 * F, E2 * 1.0]),
+ ok.
+
+double_big_loop([]) ->
+ ok;
+double_big_loop([X |List]) ->
+ ?line [CodedType] = cdrlib:enc_double(X, []),
+ ?line {Y, <<>>} = cdrlib:dec_double(big, CodedType),
+ ?line double_comp(X,Y),
+ double_big_loop(List),
+ ok.
+
+double_little_loop([]) ->
+ ok;
+double_little_loop([X |List]) ->
+ ?line [CodedType] = enc_double_little(X, []),
+ ?line {Y, <<>>} = cdrlib:dec_double(little, CodedType),
+ ?line double_comp(X,Y),
+ double_little_loop(List),
+ ok.
+
+enc_double_little(X, Message) ->
+ [ <<X:64/little-float>> | Message].
+
+double_comp(X,Y) when X == 0.0, Y == 0.0 ->
+ ok;
+double_comp(X,Y) ->
+ Div = abs(Y) / abs(X),
+ %% io:format("~p~n", [float_to_list(Div)]),
+ ?line true = (Div < 1.00000000000001),
+ ?line true = (Div > 0.99999999999999),
+ ok.
+
+double_should_be_ok(doc) -> ["Description", "more description"];
+double_should_be_ok(suite) -> [];
+double_should_be_ok(_) ->
+ F = 16#0fffffffffffff / 16#10000000000000 + 1.0,
+ E1 = math:pow(2, 1024), % erlang can't handle this.
+ E2 = math:pow(2, -1023),
+ double_big_loop([-E1 * F, -E1 * 1.0, -E2 * F, -E2 * 1.0,
+ E1 * F, E1 * 1.0, E2 * F, E2 * 1.0]),
+ double_little_loop([-E1 * F, -E1 * 1.0, -E2 * F, -E2 * 1.0,
+ E1 * F, E1 * 1.0, E2 * F, E2 * 1.0]),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: enum test
+%% Description:
+%%-----------------------------------------------------------------
+enum(doc) -> ["Description", "more description"];
+enum(suite) -> [];
+enum(_) ->
+ enum_big(),
+ enum_little(),
+ ok.
+
+enum_big() ->
+ ?line [Coded_a] = cdrlib:enc_enum(a,[a,b,c],[]),
+ ?line {a, <<>>} = cdrlib:dec_enum(big, ["a","b","c"], Coded_a),
+ ?line [Coded_b] = cdrlib:enc_enum(b,[a,b,c],[]),
+ ?line {b, <<>>} = cdrlib:dec_enum(big, ["a","b","c"], Coded_b),
+ ?line [Coded_c] = cdrlib:enc_enum(c,[a,b,c],[]),
+ ?line {c, <<>>} = cdrlib:dec_enum(big, ["a","b","c"], Coded_c),
+ ok.
+
+enum_little() ->
+ ?line Coded_a = enc_r_enum(a,[a,b,c],[]),
+ ?line {a, <<>>} = cdrlib:dec_enum(little, ["a","b","c"], Coded_a),
+ ?line Coded_b = enc_r_enum(b,[a,b,c],[]),
+ ?line {b, <<>>} = cdrlib:dec_enum(little, ["a","b","c"], Coded_b),
+ ?line Coded_c = enc_r_enum(c,[a,b,c],[]),
+ ?line {c, <<>>} = cdrlib:dec_enum(little, ["a","b","c"], Coded_c),
+ ok.
+
+enc_r_enum(Enum, ElemList, Message) ->
+ Val = getEnumValue(ElemList,Enum, 0),
+ enc_r_unsigned_long(Val, Message).
+
+getEnumValue([Enum |_List], Enum, N) ->
+ N;
+getEnumValue([_ |List], Enum, N) ->
+ getEnumValue(List, Enum, N + 1).
+
+enc_r_unsigned_long(X, Message) ->
+ list_to_binary([(X) band 16#ff, ((X) bsr 8) band 16#ff,
+ ((X) bsr 16) band 16#ff, ((X) bsr 24) band 16#ff | Message]).
diff --git a/lib/orber/test/corba_SUITE.erl b/lib/orber/test/corba_SUITE.erl
new file mode 100644
index 0000000000..dae8fcbefc
--- /dev/null
+++ b/lib/orber/test/corba_SUITE.erl
@@ -0,0 +1,909 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for corba/boa/object/orber API functions
+%%
+%%-----------------------------------------------------------------
+-module(corba_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+
+-define(default_timeout, ?t:minutes(5)).
+
+-define(match(ExpectedRes,Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([pseudo_calls/2, pseudo_casts/2]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for the CORBA/BOA/Object/orber interfaces", ""];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [exception_info_api, corba_api, object_api, orber_api,
+ orber_objectkeys_api, orber_pseudo_objects, callback_ok_api,
+ callback_arity_api, callback_module_api, callback_function_api,
+ callback_precond_api, callback_postcond_api, callback_exit_api,
+ callback_badarith_api, callback_case_clause_api,
+ callback_function_clause_api].
+
+%% boa_api, request, locate_request, locate_reply].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ corba:orb_init([{orber_debug_level, 10}, {giop_version, {1,2}},
+ {iiop_port, 0}]),
+ mnesia:delete_schema([node()]),
+ mnesia:create_schema([node()]),
+ orber:install([node()]),
+ application:start(mnesia),
+ application:start(orber),
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ application:stop(orber),
+ application:stop(mnesia),
+ mnesia:delete_schema([node()]),
+ Config.
+
+%%-----------------------------------------------------------------
+%% API tests for pseudo interface CORBA
+%%-----------------------------------------------------------------
+corba_api(doc) -> ["CORBA API tests", ""];
+corba_api(suite) -> [];
+corba_api(_) ->
+ NIL = corba:create_nil_objref(),
+ ?line ok = corba:dispose(NIL),
+ ?line NS = corba:resolve_initial_references("NameService"),
+ ?line List = corba:list_initial_services(),
+ ?line ["NameService"] = List,
+ ?line NSstring = corba:object_to_string(NS),
+ ?line NS1 = corba:string_to_object(NSstring),
+ ?line NSstring = corba:object_to_string(NS1),
+ ?line true = corba:add_initial_service("MyData", NS),
+ ?line NS = corba:resolve_initial_references("MyData"),
+ ?line [_,_] = corba:list_initial_services(),
+ ?line false = corba:remove_initial_service("Wrong"),
+ ?line NIL = corba:resolve_initial_references("Wrong"),
+ ?line NS = corba:string_to_object("corbaloc:rir:/MyData"),
+ ?line true = corba:remove_initial_service("MyData"),
+ ?line ["NameService"] = corba:list_initial_services(),
+
+ %% This is a collection of different stringified IOR:s (correct & incorrect)
+ %% which we use to test IOR encode/decode.
+ ?line IOR1 = ?match({'IOP_IOR',_,_}, corba:string_to_object("IOR:000303030000000d49444c3a746573743a312e3000030303000000040000000000000100000102010000000a3132372e302e302e31009d610000002dabacab3131303432343836383731005f526f6f74504f4100414c4c5f504f410000cafebabe3e2316570000000003030300000002000000210000007800010202000000010040020200000022000000080003030300000000004000400000000806066781020101010000001b0401000806066781020101010000000b40616469726f6e2e636f6d010400000000000000000000020000000806066781020101010000000b06092a864886f712010202010000000f000000010000002c00030303000100010000000400010020000101090001010005010001000101090000000200010100050100010000000000000184000102010000000a3132372e302e302e310000000000002dabacab3131303432343836383731005f526f6f74504f4100414c4c5f504f410000cafebabe3e231657000000000303030000000300000021000000ec000102020000000200060202000000240000001c0001006600060202000000010000000a3132372e302e302e31009d600000000000000000000000000400000000000000000000020000000806066781020101010000000b06092a864886f712010202010000000f00460202000000240000001c0001006600060202000000010000000a3132372e302e302e31009d62004000400000000806066781020101010000001b0401000806066781020101010000000b40616469726f6e2e636f6d010400000000000000000000020000000806066781020101010000000b06092a864886f712010202010000000f00000014000000080001006600069d5e000000010000002c000303030001000100000004000100200001010900010100050100010001010900000002000101000501000100000000000000dc000102010000000a3132372e302e302e31009d5f0000002dabacab3131303432343836383731005f526f6f74504f4100414c4c5f504f410000cafebabe3e23165700000000030303000000020000002100000054000102020000000100000202000000220000000800030303000000000000000000000000000000000400000000000000000000020000000806066781020101010000000b06092a864886f712010202010000000f000000010000002c00030303000100010000000400010020000101090001010005010001000101090000000200010100050100010000000000000080000102010000000a3132372e302e302e31009d5d0000002dabacab3131303432343836383731005f526f6f74504f4100414c4c5f504f410000cafebabe3e2316570000000003030300000001000000010000002c0003030300010001000000040001002000010109000101000501000100010109000000020001010005010001")),
+ ?line IOR2 = ?match({'IOP_IOR',_,_}, corba:string_to_object("IOR:000303030000000d49444c3a746573743a312e30000303030000000100000000000000e0000102010000000a3132372e302e302e31009d5f00000034abacab3131303432343836383731005f526f6f74504f410049494f505f43534976325f504f410000cafebabe3e23165700000000000000020000002100000054000102020000000100000202000000220000000800030303000000000000000000000000000000000400000000000000000000020000000806066781020101010000000b06092a864886f712010202010000000f000000010000002c0003030300010001000000040001002000010109000101000501000100010109000000020001010005010001")),
+ ?line IOR3 = ?match({'IOP_IOR',_,_}, corba:string_to_object("IOR:000303030000000d49444c3a746573743a312e3000030303000000010000000000000108000102010000000a3132372e302e302e31009d6100000037abacab3131303432343836383731005f526f6f74504f410049494f505f43534976325f55505f504f410000cafebabe3e231657000000000100000002000000210000007800010202000000010040020200000022000000080003030300000000004000400000000806066781020101010000001b0401000806066781020101010000000b40616469726f6e2e636f6d010400000000000000000000020000000806066781020101010000000b06092a864886f712010202010000000f000000010000002c0003030300010001000000040001002000010109000101000501000100010109000000020001010005010001")),
+ ?line IOR4 = ?match({'IOP_IOR',_,_}, corba:string_to_object("IOR:000303030000000d49444c3a746573743a312e3000030303000000010000000000000080000102010000000a3132372e302e302e31009d5d0000002eabacab3131303432343836383731005f526f6f74504f410049494f505f504f410000cafebabe3e23165700000000020200000001000000010000002c0003030300010001000000040001002000010109000101000501000100010109000000020001010005010001")),
+ ?line IOR5 = ?match({'IOP_IOR',_,_}, corba:string_to_object("IOR:000303030000000d49444c3a746573743a312e30000303030000000100000000000000fc000102010000000a3132372e302e302e3100000000000033abacab3131303432343836383731005f526f6f74504f4100544c535f43534976325f504f410000cafebabe3e231657000000000100000002000000210000007000010202000000010006020200000024000000220001006600060202000000010000000f3132382e3233302e3230382e353500019d6000000000020200000000000000000400000000000000000000020000000806066781020101010000000b06092a864886f712010202010000000f000000010000002c0003030300010001000000040001002000010109000101000501000100010109000000020001010005010001")),
+ ?line IOR6 = ?match({'IOP_IOR',_,_}, corba:string_to_object("IOR:000303030000000d49444c3a746573743a312e3000030303000000010000000000000124000102010000000a3132372e302e302e3100000000000036abacab3131303432343836383731005f526f6f74504f4100544c535f43534976325f55505f504f410000cafebabe3e23165700000000020200000002000000210000009400010202000000010046020200000024000000220001006600060202000000010000000f3132382e3233302e3230382e353500019d620040004002020000000806066781020101010000001b0401000806066781020101010000000b40616469726f6e2e636f6d010400000000000000000000020000000806066781020101010000000b06092a864886f712010202010000000f000000010000002c0003030300010001000000040001002000010109000101000501000100010109000000020001010005010001")),
+ ?line IOR7 = ?match({'IOP_IOR',_,_}, corba:string_to_object("IOR:000303030000000d49444c3a746573743a312e3000030303000000010000000000000090000102010000000a3132372e302e302e310000000000002dabacab3131303432343836383731005f526f6f74504f4100544c535f504f410000cafebabe3e231657000000000303030000000200000014000000080001006600069d5e000000010000002c0003030300010001000000040001002000010109000101000501000100010109000000020001010005010001")),
+ ?line IOR1 = corba:string_to_object(corba:object_to_string(IOR1)),
+ ?line IOR2 = corba:string_to_object(corba:object_to_string(IOR2)),
+ ?line IOR3 = corba:string_to_object(corba:object_to_string(IOR3)),
+ ?line IOR4 = corba:string_to_object(corba:object_to_string(IOR4)),
+ ?line IOR5 = corba:string_to_object(corba:object_to_string(IOR5)),
+ ?line IOR6 = corba:string_to_object(corba:object_to_string(IOR6)),
+ ?line IOR7 = corba:string_to_object(corba:object_to_string(IOR7)),
+ ?line ?match(ok, corba:print_object(IOR1)),
+ ?line ?match(ok, corba:print_object(IOR2)),
+ ?line ?match(ok, corba:print_object(IOR3)),
+ ?line ?match(ok, corba:print_object(IOR4)),
+ ?line ?match(ok, corba:print_object(IOR5)),
+ ?line ?match(ok, corba:print_object(IOR6)),
+ ?line ?match(ok, corba:print_object(IOR7)),
+ ?line ?match(ok, corba:print_object("IOR:000303030000000d49444c3a746573743a312e300003030300000002000000000000003000010001000000136d792e686f73742e65726c616e672e6f72670001801a02020000000c424f410a00000a0000070a010000000100000024000303030000000100000001000000140003030300010001000000000001010900000000")),
+ [IP] = ?match([_], orber:host()),
+ ?match(#'IOP_IOR'{profiles=[#'IOP_TaggedProfile'
+ {tag=?TAG_INTERNET_IOP,
+ profile_data=#'IIOP_ProfileBody_1_1'
+ {host = IP}}]},
+ corba:string_to_object(corba:object_to_string(NS))),
+ ?match(#'IOP_IOR'{profiles=[#'IOP_TaggedProfile'
+ {tag=?TAG_INTERNET_IOP,
+ profile_data=#'IIOP_ProfileBody_1_1'
+ {host = "127.0.0.1"}}]},
+ corba:string_to_object(corba:object_to_string(NS, ["127.0.0.1"]))),
+ ?match(#'IOP_IOR'{profiles=[#'IOP_TaggedProfile'
+ {tag=?TAG_INTERNET_IOP,
+ profile_data=#'IIOP_ProfileBody_1_1'
+ {host = "127.0.0.1", port = 5468}}]},
+ corba:string_to_object(corba:object_to_string(NS, ["127.0.0.1"],
+ 5468))),
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for interface BOA
+%%-----------------------------------------------------------------
+boa_api(doc) -> ["BOA API tests", ""];
+boa_api(suite) -> [];
+boa_api(_) ->
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for interface OBJECT
+%%-----------------------------------------------------------------
+object_api(doc) -> ["Object API tests", ""];
+object_api(suite) -> [];
+object_api(_) ->
+ ?line oe_orber_test_server:oe_register(),
+ ?line EC = orber_test_server:oe_create(),
+ ?line NS = corba:resolve_initial_references("NameService"),
+ %% testing corba_object:is_a(Obj, IFRID) locally.
+ ?line orber_test_lib:corba_object_tests(EC, NS),
+
+ ?line ?match(false, corba_object:non_existent(NS)),
+
+ ?line corba:dispose(EC),
+ ?line oe_orber_test_server:oe_unregister(),
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for orbers main module
+%%-----------------------------------------------------------------
+orber_api(doc) -> ["orber API tests", ""];
+orber_api(suite) -> [];
+orber_api(_) ->
+ ?line ok = orber:uninstall(),
+ ?line orber:install([node()]),
+ ?line application:start(orber),
+ ?line NodeList = orber:orber_nodes(),
+ ?line NL = node(),
+ ?line [NL] = NodeList,
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for exception mapping
+%%-----------------------------------------------------------------
+exception_info_api(doc) -> ["orber API tests", ""];
+exception_info_api(suite) -> [];
+exception_info_api(_) ->
+ ?line {ok, S1} = orber:exception_info({'EXCEPTION',{'MARSHAL',[],1163001858,'COMPLETED_NO'}}),
+ ?line {ok, S2} = orber:exception_info({'EXCEPTION',{'MARSHAL',[],1330446337,'COMPLETED_NO'}}),
+ ?line {ok, S3} = orber:exception_info({'EXCEPTION',{'MARSHAL',[],1398079490,'COMPLETED_NO'}}),
+ ?line {ok, S4} = orber:exception_info({'EXCEPTION',{'MARSHAL',[],1347813377,'COMPLETED_NO'}}),
+ ?line {ok, S5} = orber:exception_info({'EXCEPTION', {'CosNaming_NamingContext_InvalidName',"IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"}}),
+ ?line error_logger:info_msg("~s", [S1]),
+ ?line error_logger:info_msg("~s", [S2]),
+ ?line error_logger:info_msg("~s", [S3]),
+ ?line error_logger:info_msg("~s", [S4]),
+ ?line error_logger:info_msg("~s", [S5]),
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for orbers pseudo objects.
+%%-----------------------------------------------------------------
+orber_pseudo_objects(doc) -> ["orber_pseudo_objects API tests", ""];
+orber_pseudo_objects(suite) -> [];
+orber_pseudo_objects(_) ->
+ ?line oe_orber_test_server:oe_register(),
+ Obj1=(catch orber_test_server:oe_create(state,[{pseudo,true},
+ {local_typecheck, true}])),
+ ?line ?match({_,pseudo,orber_test_server_impl, _,_, _}, Obj1),
+ Obj2=(catch orber_test_server:oe_create([],[{pseudo, truce}])),
+ ?line ?match({'EXCEPTION',{'BAD_PARAM',[],_,'COMPLETED_NO'}}, Obj2),
+ spawn(?MODULE, pseudo_calls, [20, Obj1]),
+ ?line ?match({ok, 10000}, orber_test_server:pseudo_call_delay(Obj1, 10000)),
+ spawn(?MODULE, pseudo_casts, [20, Obj1]),
+ ?line ?match(ok, orber_test_server:pseudo_cast_delay(Obj1, 10000)),
+
+ ?line ?match('object_here', corba:locate(Obj1)),
+
+ ?line NS = corba:resolve_initial_references("NameService"),
+
+ ?line orber_test_lib:corba_object_tests(Obj1, NS),
+
+ ?line ?match("IDL:omg.org/orber_test/server:1.0",orber_test_server:typeID()),
+
+ %% Test if exceptions are handled properly.
+ ?line ?match({'EXCEPTION',{'BAD_QOS',_,_,_}},
+ orber_test_server:pseudo_call_raise_exc(Obj1, 1)),
+ ?line ?match({'EXCEPTION',{'BAD_QOS',_,_,_}},
+ orber_test_server:pseudo_call_raise_exc(Obj1, 2)),
+
+ %% Test if exit is handled properly.
+ ?line ?match({'EXCEPTION',{'TRANSIENT',_,_,_}},
+ orber_test_server:stop_brutal(Obj1)),
+
+ orber_test_lib:test_coding(Obj1, true),
+
+ %% possible to use subobject key?
+ ?line ?match(state, binary_to_term(corba:get_subobject_key(Obj1))),
+
+ ?line ?match({'EXCEPTION',{'INV_OBJREF',[],_,'COMPLETED_NO'}},
+ corba:get_pid(Obj1)),
+ ?line ?match(false, corba_object:non_existent(Obj1)),
+
+ ?line ?match(ok, corba:dispose(Obj1)),
+
+ ?line ?match(false, corba_object:non_existent(Obj1)),
+
+ %% Try if it's possible to stringify and recover the object reference.
+ IOR_string = (catch corba:object_to_string(Obj1)),
+ Obj3 =(catch corba:string_to_object(IOR_string)),
+ ?line ?match(IOR_string, corba:object_to_string(Obj3)),
+
+ Obj4=(catch orber_test_server:oe_create(undefined,[{pseudo,true}])),
+ ?line ?match(ok, corba:dispose(Obj4)),
+ ?line oe_orber_test_server:oe_unregister(),
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for orbers objectkeys server.
+%%-----------------------------------------------------------------
+orber_objectkeys_api(doc) -> ["orber_objectkeys API tests", ""];
+orber_objectkeys_api(suite) -> [];
+orber_objectkeys_api(_) ->
+ Obj0=(catch orber_test_server:oe_create([], [{sup_child, true}])),
+ Obj1=(catch orber_test_server:oe_create([], [{persistent, true},
+ {regname, {local,obj1}}])),
+ Obj2=(catch orber_test_server:oe_create([], [{persistent, true},
+ {regname, {global,{obj2, 12345}}}])),
+
+ %% Obj0 is supposed to be a child started by a supervisor (r6) which
+ %% handles not only {ok, Pid} but also {ok,Pid, Returnvalue}. In our
+ %% case the Returnvalue is an ObjectRef.
+ ?line ?match({ok,_,{_,key,_, _,_, _}}, Obj0),
+ {ok,_,Obj0Ref} = Obj0,
+ corba:dispose(Obj0Ref),
+
+ %% Only 'global' servers are at the moment allowed to be persistent.
+ ?line ?match({'EXCEPTION',{'BAD_PARAM',[],_,'COMPLETED_NO'}}, Obj1),
+
+ %% We created a persistent object successfully.
+ ?line ?match({_,key,_,_,_, _}, Obj2),
+
+ %% Get key and Pid
+ {_,_,Key,_,_, _} = Obj2,
+ PID=(catch orber_objectkeys:get_pid(Key)),
+
+ %% Use the two different ways to look up if the server is persistent.
+ ?line ?match(true, orber_objectkeys:is_persistent(Key)),
+ ?line ?match(true, orber_objectkeys:is_persistent(PID)),
+
+ %% Create servers using every possible way.
+ O1=(catch orber_test_server:oe_create()),
+ O2=(catch orber_test_server:oe_create_link()),
+ O3=(catch orber_test_server:oe_create([])),
+ O4=(catch orber_test_server:oe_create_link([])),
+ %% NOTE!!! Next four lines requires that we still support RegName instead of
+ %% only OptionList as the second argument to oe_create*/2. Remove these when that
+ %% is no longer the case.
+ O5=(catch orber_test_server:oe_create([], {'local', o5})),
+ O6=(catch orber_test_server:oe_create([], {'global', {o6, obj}})),
+ O7=(catch orber_test_server:oe_create_link([], {'local', o7})),
+ O8=(catch orber_test_server:oe_create_link([], {'global', {o8, obj}})),
+
+ %% Test if all the object references are correct.
+ ?line ?match({_,key,_,_,_, _}, O1),
+ ?line ?match({_,key,_,_,_, _}, O2),
+ ?line ?match({_,key,_,_,_, _}, O3),
+ ?line ?match({_,key,_,_,_, _}, O4),
+ ?line ?match({_, registered, o5, _,_, _}, O5),
+ ?line ?match({_,key,_,_,_, _}, O6),
+ ?line ?match({_, registered, o7, _,_, _}, O7),
+ ?line ?match({_,key,_,_,_, _}, O8),
+
+ %% Test if persistent.
+ {_,_,Key1,_,_, _} = O1,
+ PID1=(catch orber_objectkeys:get_pid(Key1)),
+ ?line ?match(false, orber_objectkeys:is_persistent(Key1)),
+ ?line ?match(false, orber_objectkeys:is_persistent(PID1)),
+
+ %% all the servers are alive(?!).
+ ?line ?match(false, corba_object:non_existent(O1)),
+ ?line ?match(false, corba_object:non_existent(O2)),
+ ?line ?match(false, corba_object:non_existent(O3)),
+ ?line ?match(false, corba_object:non_existent(O4)),
+ ?line ?match(false, corba_object:non_existent(O5)),
+ ?line ?match(false, corba_object:non_existent(O6)),
+ ?line ?match(false, corba_object:non_existent(O7)),
+ ?line ?match(false, corba_object:non_existent(O8)),
+ ?line ?match(false, corba_object:non_existent(Obj2)),
+
+ %% Does locate work?
+ ?line ?match('object_here', corba:locate(O1)),
+ ?line ?match('object_here', corba:locate(O2)),
+ ?line ?match('object_here', corba:locate(O3)),
+ ?line ?match('object_here', corba:locate(O4)),
+ ?line ?match('object_here', corba:locate(O5)),
+ ?line ?match('object_here', corba:locate(O6)),
+ ?line ?match('object_here', corba:locate(O7)),
+ ?line ?match('object_here', corba:locate(O8)),
+ ?line ?match('object_here', corba:locate(Obj2)),
+
+ %% Terminate all servers with reason 'normal'.
+ catch corba:dispose(O1),
+ catch corba:dispose(O2),
+ catch corba:dispose(O3),
+ catch corba:dispose(O4),
+ catch corba:dispose(O5),
+ catch corba:dispose(O6),
+ catch corba:dispose(O7),
+ catch corba:dispose(O8),
+ catch corba:dispose(Obj2),
+
+
+ %% To make sure that orber_objectkeys-server is able to
+ %% clean up we wait.
+ timer:sleep(2000),
+
+ %% all the servers are dead(?!). If one of these test-cases
+ %% fails the only error can be that we didn't sleep long enough, i.e.,
+ %% try a longer timeout. If still fails something is wrong.
+ ?line ?match(true, corba_object:non_existent(O1)),
+ ?line ?match(true, corba_object:non_existent(O2)),
+ ?line ?match(true, corba_object:non_existent(O3)),
+ ?line ?match(true, corba_object:non_existent(O4)),
+ ?line ?match(true, corba_object:non_existent(O5)),
+ ?line ?match(true, corba_object:non_existent(O6)),
+ ?line ?match(true, corba_object:non_existent(O7)),
+ ?line ?match(true, corba_object:non_existent(O8)),
+ ?line ?match(true, corba_object:non_existent(Obj2)),
+
+ %% Create a new persistent server.
+ Obj3=(catch orber_test_server:oe_create([],
+ [{persistent, true},
+ {regname, {global,{obj2, 12345}}}])),
+
+ %% OK?!
+ ?line ?match({_,key,_,_,_, _}, Obj3),
+
+ %% Try to create a server with the same name (naturally it fails).
+ ?line ?match({'EXCEPTION',{'INTERNAL',[],_,'COMPLETED_NO'}},
+ orber_test_server:oe_create([],
+ [{persistent, true},
+ {regname, {global,{obj2, 12345}}}])),
+ %% Try to remove all 'dead' servers. No server should be removed.
+ orber_objectkeys:gc(0),
+
+ %% Kill object brutal, i.e., not with reason 'normal' or 'shutdown'.
+ P3 = corba:get_pid(Obj3),
+ exit(P3, kill),
+
+ {_,_,Key3,_,_, _} = Obj3,
+
+ %% Give time to clean up.
+ timer:sleep(2000),
+ ?line ?match({'EXCEPTION',{'TRANSIENT',[],_,'COMPLETED_NO'}},
+ gen_server:call(orber_objkeyserver,
+ {get_pid, Key3},
+ infinity)),
+
+ ?line ?match(false,corba_object:non_existent(Obj3)),
+
+ %% Run gc wit a "huge" time-limit. Will not erase the dead object.
+ orber_objectkeys:gc(10000),
+ ?line ?match(false,corba_object:non_existent(Obj3)),
+
+ %% Run gc with minimum time-limit. Will erase the dead object.
+ orber_objectkeys:gc(0),
+ ?line ?match(true,corba_object:non_existent(Obj3)),
+
+ %% Create a new persistent server.
+ Obj4=(catch orber_test_server:oe_create([],
+ [{persistent, true},
+ {regname, {global,{obj2, 12345}}}])),
+
+ %% OK?!
+ ?match({_,key,_,_,_, _}, Obj4),
+ %% Kill object brutal, i.e., not with reason 'normal' or 'shutdown'.
+ P4 = corba:get_pid(Obj4),
+ exit(P4, kill),
+
+ %% Give time to clean up.
+ timer:sleep(2000),
+% ?line ?match({'EXCEPTION',{'COMM_FAILURE',[],0,'COMPLETED_NO'}},
+ ?line ?match({error, _},
+ corba:get_pid(Obj4)),
+
+ ?line ?match(false,corba_object:non_existent(Obj4)),
+
+ %% Restart the object.
+ Obj5=(catch orber_test_server:oe_create([],
+ [{persistent, true},
+ {regname, {global,{obj2, 12345}}}])),
+ %% OK?!
+ ?line ?match({_,key,_,_,_, _}, Obj5),
+
+ %% Run gc with minimum time-limit.
+ orber_objectkeys:gc(0),
+ ?line ?match(false,corba_object:non_existent(Obj5)),
+ corba:dispose(Obj5),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% API tests for callback functions
+%%-----------------------------------------------------------------
+-define(DO_EXIT_FLAG, 0).
+-define(NO_EXIT_FLAG, 16#10).
+
+-define(DO_EXIT, {is, 0}).
+-define(NO_EXIT, {is, 16#10}).
+
+
+
+callback_ok_api(doc) -> ["Successful callbak API tests", ""];
+callback_ok_api(suite) -> [];
+callback_ok_api(_) ->
+ %% Init
+ ?line ?match({ok, {?DO_EXIT, state}}, corba:handle_init(?MODULE, {?DO_EXIT_FLAG, state})),
+ %% Terminate
+ ?line ?match(ok, corba:handle_terminate(?MODULE, "reason", {?DO_EXIT, state})),
+ %% Handle_call
+ ?line ?match({reply,ok,{?DO_EXIT,state}},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, state}, [], false, false)),
+ %% Handle_cast
+ ?line ?match({noreply, {?DO_EXIT,state}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, state}, [], false)),
+ %% Handle_call precond/postcond
+ ?line ?match({reply, ok, {?DO_EXIT, state}},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, state}, [], false, false, {?MODULE, precond},
+ {?MODULE, postcond}, ?MODULE)),
+ %% Handle_cast precond/postcond
+ ?line ?match({noreply, {?DO_EXIT, state}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, state}, [], false, {?MODULE, precond},
+ {?MODULE, postcond}, ?MODULE)),
+ %% Handle_info
+ ?line ?match({noreply, {?DO_EXIT, state}},
+ corba:handle_info(?MODULE, "info", {?DO_EXIT, state})),
+ ok.
+
+callback_arity_api(doc) -> ["callbak arity API tests", ""];
+callback_arity_api(suite) -> [];
+callback_arity_api(_) ->
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', {undef,_}},
+ corba:handle_call(?MODULE, foo, [to, many, arguments],
+ {?DO_EXIT, state}, [], false, false)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}}, _},
+ corba:handle_call(?MODULE, foo, [to, many, arguments],
+ {?NO_EXIT, state}, [], false, false)),
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, arity}, [], false, false)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}}, _},
+ corba:handle_call(?MODULE, foo, [],
+ {?NO_EXIT, arity}, [], false, false)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', {undef,_}},
+ corba:handle_cast(?MODULE, foo_1w, [to, many, arguments],
+ {?DO_EXIT, state}, [], false)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, state}},
+ corba:handle_cast(?MODULE, foo_1w, [to, many, arguments],
+ {?NO_EXIT, state}, [], false)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, arity}, [], false)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, arity}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?NO_EXIT, arity}, [], false)),
+ %% Handle_info - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_info(?MODULE, "info", {?DO_EXIT, arity})),
+
+ %% Handle_info - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, arity}},
+ corba:handle_info(?MODULE, "info", {?NO_EXIT, arity})),
+ ok.
+
+callback_module_api(doc) -> ["Module callbak API tests", ""];
+callback_module_api(suite) -> [];
+callback_module_api(_) ->
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', {undef,_}},
+ corba:handle_call(wrong_mod, foo, [],
+ {?DO_EXIT, state}, [], false, false)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}}, _},
+ corba:handle_call(wrong_mod, foo, [],
+ {?NO_EXIT, state}, [], false, false)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', {undef,_}},
+ corba:handle_cast(wrong_mod, foo_1w, [],
+ {?DO_EXIT, state}, [], false)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, state}},
+ corba:handle_cast(wrong_mod, foo_1w, [],
+ {?NO_EXIT, state}, [], false)),
+ %% Handle_info - stay-alive == false.
+ ?line ?match({'EXIT', _},
+ corba:handle_info(wrong_mod, "info", {?DO_EXIT, state})),
+
+ %% Handle_info - stay-alive == true.
+ ?line ?match({noreply, {?NO_EXIT, state}},
+ corba:handle_info(wrong_mod, "info", {?NO_EXIT, state})),
+ ok.
+
+callback_function_api(doc) -> ["Function callbak API tests", ""];
+callback_function_api(suite) -> [];
+callback_function_api(_) ->
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', {undef,_}},
+ corba:handle_call(?MODULE, bad_function, [],
+ {?DO_EXIT, state}, [], false, false)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}}, _},
+ corba:handle_call(?MODULE, bad_function, [],
+ {?NO_EXIT, state}, [], false, false)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', {undef,_}},
+ corba:handle_cast(?MODULE, bad_function, [],
+ {?DO_EXIT, state}, [], false)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, state}},
+ corba:handle_cast(?MODULE, bad_function, [],
+ {?NO_EXIT, state}, [], false)),
+ %% Handle_info - stay-alive == false. Note, we cannot use ?MODULE here.
+ ?line ?match({'EXIT', _},
+ corba:handle_info(corba, "info", {?DO_EXIT, state})),
+
+ %% Handle_info - stay-alive == true. Note, we cannot use ?MODULE here.
+ ?line ?match({noreply, {?NO_EXIT, state}},
+ corba:handle_info(corba, "info", {?NO_EXIT, state})),
+ ok.
+
+callback_precond_api(doc) -> ["Precond callbak API tests", ""];
+callback_precond_api(suite) -> [];
+callback_precond_api(_) ->
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, state}, [], false, false, {wrong_mod, precond},
+ {?MODULE, postcond}, ?MODULE)),
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, state}, [], false, false, {?MODULE, bad_precond},
+ {?MODULE, postcond}, ?MODULE)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}},_},
+ corba:handle_call(?MODULE, foo, [],
+ {?NO_EXIT, state}, [], false, false, {wrong_mod, precond},
+ {?MODULE, postcond}, ?MODULE)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}},_},
+ corba:handle_call(?MODULE, foo, [],
+ {?NO_EXIT, state}, [], false, false, {?MODULE, bad_precond},
+ {?MODULE, postcond}, ?MODULE)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, state}, [], false, {wrong_mod, precond},
+ {?MODULE, postcond}, ?MODULE)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, state}, [], false, {?MODULE, bad_precond},
+ {?MODULE, postcond}, ?MODULE)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, state}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?NO_EXIT, state}, [], false, {wrong_mod, precond},
+ {?MODULE, postcond}, ?MODULE)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, state}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?NO_EXIT, state}, [], false, {?MODULE, bad_precond},
+ {?MODULE, postcond}, ?MODULE)),
+ ok.
+
+
+callback_postcond_api(doc) -> ["Postcond callbak API tests", ""];
+callback_postcond_api(suite) -> [];
+callback_postcond_api(_) ->
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, state}, [], false, false, {?MODULE, precond},
+ {wrong_mod, postcond}, ?MODULE)),
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, state}, [], false, false, {?MODULE, precond},
+ {?MODULE, bad_postcond}, ?MODULE)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}},_},
+ corba:handle_call(?MODULE, foo, [],
+ {?NO_EXIT, state}, [], false, false, {?MODULE, precond},
+ {wrong_mod, postcond}, ?MODULE)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}},_},
+ corba:handle_call(?MODULE, foo, [],
+ {?NO_EXIT, state}, [], false, false, {?MODULE, precond},
+ {?MODULE, bad_postcond}, ?MODULE)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, state}, [], false, {?MODULE, precond},
+ {wrong_mod, postcond}, ?MODULE)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, state}, [], false, {?MODULE, precond},
+ {?MODULE, bad_postcond}, ?MODULE)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, state}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?NO_EXIT, state}, [], false, {?MODULE, precond},
+ {wrong_mod, postcond}, ?MODULE)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, state}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?NO_EXIT, state}, [], false, {?MODULE, precond},
+ {?MODULE, bad_postcond}, ?MODULE)),
+ ok.
+
+
+callback_exit_api(doc) -> ["Callbak exit API tests", ""];
+callback_exit_api(suite) -> [];
+callback_exit_api(_) ->
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, exit}, [], false, false)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}}, _},
+ corba:handle_call(?MODULE, foo, [],
+ {?NO_EXIT, exit}, [], false, false)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, exit}, [], false)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, exit}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?NO_EXIT, exit}, [], false)),
+ %% Handle_info - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_info(?MODULE, "info", {?DO_EXIT, exit})),
+
+ %% Handle_info - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, exit}},
+ corba:handle_info(?MODULE, "info", {?NO_EXIT, exit})),
+ ok.
+
+
+callback_badarith_api(doc) -> ["callbak badarith API tests", ""];
+callback_badarith_api(suite) -> [];
+callback_badarith_api(_) ->
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, badarith}, [], false, false)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}},_},
+ corba:handle_call(?MODULE, foo, [],
+ {?NO_EXIT, badarith}, [], false, false)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, badarith}, [], false)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, badarith}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?NO_EXIT, badarith}, [], false)),
+ %% Handle_info - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_info(?MODULE, "info", {?DO_EXIT, badarith})),
+
+ %% Handle_info - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, badarith}},
+ corba:handle_info(?MODULE, "info", {?NO_EXIT, badarith})),
+ ok.
+
+callback_case_clause_api(doc) -> ["callbak case_clause API tests", ""];
+callback_case_clause_api(suite) -> [];
+callback_case_clause_api(_) ->
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, case_clause}, [], false, false)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}}, _},
+ corba:handle_call(?MODULE, foo, [],
+ {?NO_EXIT, case_clause}, [], false, false)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, case_clause}, [], false)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, case_clause}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?NO_EXIT, case_clause}, [], false)),
+ %% Handle_info - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_info(?MODULE, "info", {?DO_EXIT, case_clause})),
+
+ %% Handle_info - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, case_clause}},
+ corba:handle_info(?MODULE, "info", {?NO_EXIT, case_clause})),
+ ok.
+
+callback_function_clause_api(doc) -> ["callbak function_clause API tests", ""];
+callback_function_clause_api(suite) -> [];
+callback_function_clause_api(_) ->
+ %% Handle_call - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_call(?MODULE, foo, [],
+ {?DO_EXIT, function_clause}, [], false, false)),
+ %% Handle_call - stay-alive == true
+ ?line ?match({reply, {'EXCEPTION', #'OBJ_ADAPTER'{}}, _},
+ corba:handle_call(?MODULE, foo, [],
+ {?NO_EXIT, function_clause}, [], false, false)),
+ %% Handle_cast - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?DO_EXIT, function_clause}, [], false)),
+ %% Handle_cast - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, function_clause}},
+ corba:handle_cast(?MODULE, foo_1w, [],
+ {?NO_EXIT, function_clause}, [], false)),
+ %% Handle_info - stay-alive == false
+ ?line ?match({'EXIT', _},
+ corba:handle_info(?MODULE, "info", {?DO_EXIT, function_clause})),
+ %% Handle_info - stay-alive == true
+ ?line ?match({noreply, {?NO_EXIT, function_clause}},
+ corba:handle_info(?MODULE, "info", {?NO_EXIT, function_clause})),
+ ok.
+
+%% Faked mandatory operations
+init(State) ->
+ evaluate_state(State),
+ {ok, State}.
+terminate(_Reason, State) ->
+ evaluate_state(State),
+ ok.
+
+code_change(_OldVsn, State, _Extra) ->
+ evaluate_state(State),
+ {ok, State}.
+handle_call(_,_, State) ->
+ evaluate_state(State),
+ {noreply, State}.
+handle_cast(_, State) ->
+ evaluate_state(State),
+ {noreply, State}.
+handle_info(_Info, State) ->
+ evaluate_state(State),
+ {noreply, State}.
+
+foo(State) ->
+ evaluate_state(State),
+ {reply, ok, State}.
+foo(State, _Arg) ->
+ evaluate_state(State),
+ {reply, ok, State}.
+
+foo_1w(State) ->
+ evaluate_state(State),
+ {noreply, State}.
+foo_1w(State, _Arg) ->
+ evaluate_state(State),
+ {noreply, State}.
+
+precond(_Module, _Function, _Args) ->
+ ok.
+
+postcond(_Module, _Function, _Args, _Result) ->
+ ok.
+
+evaluate_state(exit) ->
+ exit("exit on purpose");
+evaluate_state(badarith) ->
+ 10 * atom;
+evaluate_state(case_clause) ->
+ case 10 of
+ false ->
+ ok
+ end;
+evaluate_state(module) ->
+ non_existing_module:bar();
+evaluate_state(function) ->
+ ?MODULE:non_existing_function();
+evaluate_state(arity) ->
+ ?MODULE:foo(to, many, arguments);
+evaluate_state(function_clause) ->
+ evaluate_state(incorrect_state);
+evaluate_state(state) ->
+ ok.
+
+%%-----------------------------------------------------------------
+%% Local functions.
+%%-----------------------------------------------------------------
+
+pseudo_calls(0, _) ->
+ ok;
+pseudo_calls(Times, Obj) ->
+ orber_test_server:pseudo_call(Obj),
+ New = Times - 1,
+ pseudo_calls(New, Obj).
+pseudo_casts(0, _) ->
+ ok;
+pseudo_casts(Times, Obj) ->
+ orber_test_server:pseudo_cast(Obj),
+ New = Times - 1,
+ pseudo_casts(New, Obj).
diff --git a/lib/orber/test/csiv2_SUITE.erl b/lib/orber/test/csiv2_SUITE.erl
new file mode 100644
index 0000000000..8103fd81ac
--- /dev/null
+++ b/lib/orber/test/csiv2_SUITE.erl
@@ -0,0 +1,940 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(csiv2_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+-include_lib("orber/src/ifr_objects.hrl").
+-include("idl_output/orber_test_server.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContextExt.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
+%%-include_lib("orber/src/OrberCSIv2.hrl").
+
+-define(default_timeout, ?t:minutes(5)).
+
+-define(match(ExpectedRes,Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(REQUEST_ID, 0).
+
+-define(REPLY_FRAG_1, <<71,73,79,80,1,2,2,1,0,0,0,41,0,0,0,?REQUEST_ID,0,0,0,0,0,0,0,1,78,69,79,0,0,0,0,2,0,10,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,49>>).
+%% The fragments are identical for requests and replies.
+-define(FRAG_2, <<71,73,79,80,1,2,2,7,0,0,0,5,0,0,0,?REQUEST_ID,50>>).
+-define(FRAG_3, <<71,73,79,80,1,2,2,7,0,0,0,5,0,0,0,?REQUEST_ID,51>>).
+-define(FRAG_4, <<71,73,79,80,1,2,0,7,0,0,0,5,0,0,0,?REQUEST_ID,0>>).
+
+%% Should X509 DER generated by, for example, OpenSSL
+-define(X509DER,
+ <<42>>).
+
+%% Should X509 PEM generated by, for example, OpenSSL
+-define(X509PEM,
+ <<42>>).
+
+%% IOR exported by VB (CSIv2 activated).
+-define(VB_IOR,
+ #'IOP_IOR'
+ {type_id = "IDL:omg.org/CosNotifyComm/SequencePushConsumer:1.0",
+ profiles =
+ [#'IOP_TaggedProfile'
+ {tag = ?TAG_INTERNET_IOP,
+ profile_data =
+ #'IIOP_ProfileBody_1_1'{
+ iiop_version = #'IIOP_Version'{major = 1,
+ minor = 2},
+ host = "127.0.0.1",
+ port = 0,
+ object_key = [0,86,66,1,0,0,0,24,47,70,77,65,95,67,73,82,80,77,65,78,95,80,79,65,95,83,69,67,85,82,69,0,0,0,0,4,0,0,4,186,0,0,2,10,81,218,65,185],
+ components =
+ [#'IOP_TaggedComponent'{tag = ?TAG_SSL_SEC_TRANS,
+ component_data = #'SSLIOP_SSL'{
+ target_supports = 102,
+ target_requires = 66,
+ port = 49934}},
+ #'IOP_TaggedComponent'{tag = ?TAG_CSI_SEC_MECH_LIST,
+ component_data =
+ #'CSIIOP_CompoundSecMechList'{stateful = true,
+ mechanism_list =
+ [#'CSIIOP_CompoundSecMech'
+ {target_requires = 66,
+ transport_mech = #'IOP_TaggedComponent'{
+ tag = ?TAG_TLS_SEC_TRANS,
+ component_data =
+ #'CSIIOP_TLS_SEC_TRANS'{
+ target_supports = 102,
+ target_requires = 66,
+ addresses =
+ [#'CSIIOP_TransportAddress'
+ {host_name = "127.0.0.1",
+ port = 49934}]}},
+ as_context_mech =
+ #'CSIIOP_AS_ContextSec'{
+ target_supports = 0,
+ target_requires = 0,
+ client_authentication_mech = [],
+ target_name = []},
+ sas_context_mech =
+ #'CSIIOP_SAS_ContextSec'{
+ target_supports = 1024,
+ target_requires = 0,
+ privilege_authorities =
+ [#'CSIIOP_ServiceConfiguration'
+ {syntax = 1447174401,
+ name = "Borland"}],
+ supported_naming_mechanisms = [[6,
+ 6,
+ 103,
+ 129,
+ 2,
+ 1,
+ 1,
+ 1]],
+ supported_identity_types = 15}}]}},
+ #'IOP_TaggedComponent'
+ {tag = ?TAG_CODE_SETS,
+ component_data =
+ #'CONV_FRAME_CodeSetComponentInfo'{'ForCharData' =
+ #'CONV_FRAME_CodeSetComponent'{
+ native_code_set = 65537,
+ conversion_code_sets = [83951617]},
+ 'ForWcharData' =
+ #'CONV_FRAME_CodeSetComponent'{
+ native_code_set = 65801,
+ conversion_code_sets = []}}},
+ #'IOP_TaggedComponent'{tag = ?TAG_ORB_TYPE,
+ component_data = 1447645952},
+ #'IOP_TaggedComponent'{tag = 1447645955,
+ component_data = [0,5,7,1,127]}]}}]}).
+
+%% Common basic types
+-define(OID, {2,23,130,1,1,1}).
+
+-define(OCTET_STR, [1,2,3,4]).
+
+-define(BIT_STR, [0,1,0,1,1]).
+
+-define(BOOLEAN, false).
+
+-define(ANY, [19,5,111,116,112,67,65]).
+
+-ifdef(false).
+%% PKIX1Explicit88
+-define(AlgorithmIdentifier,
+ #'AlgorithmIdentifier'{algorithm = ?OID,
+ parameters = ?ANY}).
+
+-define(Validity, #'Validity'{notBefore = {utcTime, "19820102070533.8"},
+ notAfter = {generalTime, "19820102070533.8"}}).
+
+-define(SubjectPublicKeyInfo,
+ #'SubjectPublicKeyInfo'{algorithm = ?AlgorithmIdentifier,
+ subjectPublicKey = ?BIT_STR}).
+
+-define(AttributeTypeAndValue,
+ #'AttributeTypeAndValue'{type = ?OID,
+ value = <<19,11,69,114,105,99,115,115,111,110,32,65,66>>}).
+
+-define(RelativeDistinguishedName, [?AttributeTypeAndValue]).
+
+-define(RDNSequence, [?RelativeDistinguishedName]).
+
+-define(Name, {rdnSequence, ?RDNSequence}).
+
+-define(Version, v3).
+
+-define(CertificateSerialNumber, 1).
+
+-define(UniqueIdentifier, ?BIT_STR).
+
+-define(Extension, #'Extension'{extnID = ?OID,
+ critical = ?BOOLEAN,
+ extnValue = ?OCTET_STR}).
+
+-define(Extensions, [?Extension]).
+
+-define(TBSCertificate,
+ #'TBSCertificate'{version = ?Version,
+ serialNumber = ?CertificateSerialNumber,
+ signature = ?AlgorithmIdentifier,
+ issuer = ?Name,
+ validity = ?Validity,
+ subject = ?Name,
+ subjectPublicKeyInfo = ?SubjectPublicKeyInfo,
+ issuerUniqueID = ?UniqueIdentifier,
+ subjectUniqueID = ?UniqueIdentifier,
+ extensions = ?Extensions}).
+
+-define(Certificate, #'Certificate'{tbsCertificate = ?TBSCertificate,
+ signatureAlgorithm = ?AlgorithmIdentifier,
+ signature = ?BIT_STR}).
+
+%% PKIX1Implicit88
+
+-define(GeneralName, {registeredID, ?OID}).
+
+-define(GeneralNames, [?GeneralName]).
+
+%% PKIXAttributeCertificate
+-define(AttCertValidityPeriod,
+ #'AttCertValidityPeriod'{notBeforeTime = "19820102070533.8",
+ notAfterTime = "19820102070533.8"}).
+
+
+-define(Attribute, #'Attribute'{type = ?OID,
+ values = []}).
+
+-define(Attributes, [?Attribute]).
+
+-define(IssuerSerial, #'IssuerSerial'{issuer = ?GeneralNames,
+ serial = ?CertificateSerialNumber,
+ issuerUID = ?UniqueIdentifier}).
+
+-define(DigestedObjectType, publicKey). %% Enum
+
+-define(ObjectDigestInfo,
+ #'ObjectDigestInfo'{digestedObjectType = ?DigestedObjectType,
+ otherObjectTypeID = ?OID,
+ digestAlgorithm = ?AlgorithmIdentifier,
+ objectDigest = ?BIT_STR}).
+
+-define(V2Form, #'V2Form'{issuerName = ?GeneralNames,
+ baseCertificateID = ?IssuerSerial,
+ objectDigestInfo = ?ObjectDigestInfo}).
+
+-define(AttCertVersion, v2).
+
+-define(Holder, #'Holder'{baseCertificateID = ?IssuerSerial,
+ entityName = ?GeneralNames,
+ objectDigestInfo = ?ObjectDigestInfo}).
+
+-define(AttCertIssuer, {v2Form, ?V2Form}).
+
+-define(AttributeCertificateInfo,
+ #'AttributeCertificateInfo'{version = ?AttCertVersion,
+ holder = ?Holder,
+ issuer = ?AttCertIssuer,
+ signature = ?AlgorithmIdentifier,
+ serialNumber = ?CertificateSerialNumber,
+ attrCertValidityPeriod = ?AttCertValidityPeriod,
+ attributes = ?Attributes,
+ issuerUniqueID = ?UniqueIdentifier,
+ extensions = ?Extensions}).
+
+-define(AttributeCertificate,
+ #'AttributeCertificate'{acinfo = ?AttributeCertificateInfo,
+ signatureAlgorithm = ?AlgorithmIdentifier,
+ signatureValue = ?BIT_STR}).
+
+
+%% OrberCSIv2
+-define(AttributeCertChain,
+ #'AttributeCertChain'{attributeCert = ?AttributeCertificate,
+ certificateChain = ?CertificateChain}).
+
+-define(CertificateChain, [?Certificate]).
+
+-define(VerifyingCertChain, [?Certificate]).
+
+-endif.
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1,
+ init_per_testcase/2, fin_per_testcase/2,
+% code_CertificateChain_api/1,
+% code_AttributeCertChain_api/1,
+% code_VerifyingCertChain_api/1,
+% code_AttributeCertificate_api/1,
+% code_Certificate_api/1,
+% code_TBSCertificate_api/1,
+% code_CertificateSerialNumber_api/1,
+% code_Version_api/1,
+% code_AlgorithmIdentifier_api/1,
+% code_Name_api/1,
+% code_RDNSequence_api/1,
+% code_RelativeDistinguishedName_api/1,
+% code_AttributeTypeAndValue_api/1,
+% code_Attribute_api/1,
+% code_Validity_api/1,
+% code_SubjectPublicKeyInfo_api/1,
+% code_UniqueIdentifier_api/1,
+% code_Extensions_api/1,
+% code_Extension_api/1,
+% code_AttributeCertificateInfo_api/1,
+% code_AttCertVersion_api/1,
+% code_Holder_api/1,
+% code_AttCertIssuer_api/1,
+% code_AttCertValidityPeriod_api/1,
+% code_V2Form_api/1,
+% code_IssuerSerial_api/1,
+% code_ObjectDigestInfo_api/1,
+% code_OpenSSL509_api/1,
+ ssl_server_peercert_api/1,
+ ssl_client_peercert_api/1]).
+
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([fake_server_ORB/5]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for multi orber interfaces using CSIv2"];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+%% NOTE - the fragment test cases must bu first since we explicitly set a request
+%% id. Otherwise, the request-id counter would be increased and we cannot know
+%% what it is.
+cases() ->
+ [
+% code_CertificateChain_api,
+% code_AttributeCertChain_api,
+% code_VerifyingCertChain_api,
+% code_AttributeCertificate_api,
+% code_Certificate_api,
+% code_TBSCertificate_api,
+% code_CertificateSerialNumber_api,
+% code_Version_api,
+% code_AlgorithmIdentifier_api,
+% code_Name_api,
+% code_RDNSequence_api,
+% code_RelativeDistinguishedName_api,
+% code_AttributeTypeAndValue_api,
+% code_Attribute_api,
+% code_Validity_api,
+% code_SubjectPublicKeyInfo_api,
+% code_UniqueIdentifier_api,
+% code_Extensions_api,
+% code_Extension_api,
+% code_AttributeCertificateInfo_api,
+% code_AttCertVersion_api,
+% code_Holder_api,
+% code_AttCertIssuer_api,
+% code_AttCertValidityPeriod_api,
+% code_V2Form_api,
+% code_IssuerSerial_api,
+% code_ObjectDigestInfo_api,
+% code_OpenSSL509_api,
+ ssl_server_peercert_api,
+ ssl_client_peercert_api].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ Dog=test_server:timetrap(?default_timeout),
+ orber:jump_start(0),
+ oe_orber_test_server:oe_register(),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ oe_orber_test_server:oe_unregister(),
+ orber:jump_stop(),
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ Config.
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, no security
+%%-----------------------------------------------------------------
+
+
+%%-----------------------------------------------------------------
+%% Encode and decode ASN.1 X509
+%%-----------------------------------------------------------------
+
+-ifdef(false).
+%% OrberCSIv2
+code_CertificateChain_api(doc) -> ["Code CertificateChain"];
+code_CertificateChain_api(suite) -> [];
+code_CertificateChain_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('CertificateChain', ?CertificateChain)),
+ ?match({ok, [#'Certificate'{}]},
+ 'OrberCSIv2':decode('CertificateChain', list_to_binary(Enc))),
+ ok.
+
+code_AttributeCertChain_api(doc) -> ["Code AttributeCertChain"];
+code_AttributeCertChain_api(suite) -> [];
+code_AttributeCertChain_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('AttributeCertChain', ?AttributeCertChain)),
+ ?match({ok, #'AttributeCertChain'{}},
+ 'OrberCSIv2':decode('AttributeCertChain', list_to_binary(Enc))),
+ ok.
+
+code_VerifyingCertChain_api(doc) -> ["Code VerifyingCertChain"];
+code_VerifyingCertChain_api(suite) -> [];
+code_VerifyingCertChain_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('VerifyingCertChain', ?VerifyingCertChain)),
+ ?match({ok, [#'Certificate'{}]},
+ 'OrberCSIv2':decode('VerifyingCertChain', list_to_binary(Enc))),
+ ok.
+
+%% PKIXAttributeCertificate
+code_AttributeCertificate_api(doc) -> ["Code AttributeCertificate"];
+code_AttributeCertificate_api(suite) -> [];
+code_AttributeCertificate_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('AttributeCertificate', ?AttributeCertificate)),
+ ?match({ok, #'AttributeCertificate'{}},
+ 'OrberCSIv2':decode('AttributeCertificate', list_to_binary(Enc))),
+ ok.
+
+code_AttributeCertificateInfo_api(doc) -> ["Code AttributeCertificateInfo"];
+code_AttributeCertificateInfo_api(suite) -> [];
+code_AttributeCertificateInfo_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('AttributeCertificateInfo', ?AttributeCertificateInfo)),
+ ?match({ok, #'AttributeCertificateInfo'{}},
+ 'OrberCSIv2':decode('AttributeCertificateInfo', list_to_binary(Enc))),
+ ok.
+
+code_AttCertVersion_api(doc) -> ["Code AttCertVersion"];
+code_AttCertVersion_api(suite) -> [];
+code_AttCertVersion_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('AttCertVersion', ?AttCertVersion)),
+ ?match({ok, ?AttCertVersion},
+ 'OrberCSIv2':decode('AttCertVersion', list_to_binary(Enc))),
+ ok.
+
+code_Holder_api(doc) -> ["Code Holder"];
+code_Holder_api(suite) -> [];
+code_Holder_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('Holder', ?Holder)),
+ ?match({ok, #'Holder'{}},
+ 'OrberCSIv2':decode('Holder', list_to_binary(Enc))),
+ ok.
+
+code_AttCertIssuer_api(doc) -> ["Code AttCertIssuer"];
+code_AttCertIssuer_api(suite) -> [];
+code_AttCertIssuer_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('AttCertIssuer', ?AttCertIssuer)),
+ ?match({ok, {v2Form, _}},
+ 'OrberCSIv2':decode('AttCertIssuer', list_to_binary(Enc))),
+ ok.
+
+code_AttCertValidityPeriod_api(doc) -> ["Code AttCertValidityPeriod"];
+code_AttCertValidityPeriod_api(suite) -> [];
+code_AttCertValidityPeriod_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('AttCertValidityPeriod', ?AttCertValidityPeriod)),
+ ?match({ok, #'AttCertValidityPeriod'{}},
+ 'OrberCSIv2':decode('AttCertValidityPeriod', list_to_binary(Enc))),
+ ok.
+
+code_V2Form_api(doc) -> ["Code V2Form"];
+code_V2Form_api(suite) -> [];
+code_V2Form_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('V2Form', ?V2Form)),
+ ?match({ok, #'V2Form'{}},
+ 'OrberCSIv2':decode('V2Form', list_to_binary(Enc))),
+ ok.
+
+code_IssuerSerial_api(doc) -> ["Code IssuerSerial"];
+code_IssuerSerial_api(suite) -> [];
+code_IssuerSerial_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('IssuerSerial', ?IssuerSerial)),
+ ?match({ok, #'IssuerSerial'{}},
+ 'OrberCSIv2':decode('IssuerSerial', list_to_binary(Enc))),
+ ok.
+
+code_ObjectDigestInfo_api(doc) -> ["Code ObjectDigestInfo"];
+code_ObjectDigestInfo_api(suite) -> [];
+code_ObjectDigestInfo_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('ObjectDigestInfo', ?ObjectDigestInfo)),
+ ?match({ok, #'ObjectDigestInfo'{}},
+ 'OrberCSIv2':decode('ObjectDigestInfo', list_to_binary(Enc))),
+ ok.
+
+%% PKIX1Explicit88
+code_Certificate_api(doc) -> ["Code Certificate"];
+code_Certificate_api(suite) -> [];
+code_Certificate_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('Certificate', ?Certificate)),
+ ?match({ok, #'Certificate'{}},
+ 'OrberCSIv2':decode('Certificate', list_to_binary(Enc))),
+ ok.
+
+code_TBSCertificate_api(doc) -> ["Code TBSCertificate"];
+code_TBSCertificate_api(suite) -> [];
+code_TBSCertificate_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('TBSCertificate', ?TBSCertificate)),
+ ?match({ok, #'TBSCertificate'{}},
+ 'OrberCSIv2':decode('TBSCertificate', list_to_binary(Enc))),
+ ok.
+
+code_CertificateSerialNumber_api(doc) -> ["Code CertificateSerialNumber"];
+code_CertificateSerialNumber_api(suite) -> [];
+code_CertificateSerialNumber_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _},
+ 'OrberCSIv2':encode('CertificateSerialNumber', ?CertificateSerialNumber)),
+ ?match({ok, ?CertificateSerialNumber},
+ 'OrberCSIv2':decode('CertificateSerialNumber', list_to_binary(Enc))),
+ ok.
+
+code_Version_api(doc) -> ["Code Version"];
+code_Version_api(suite) -> [];
+code_Version_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('Version', ?Version)),
+ ?match({ok, ?Version}, 'OrberCSIv2':decode('Version', list_to_binary(Enc))),
+ ok.
+
+code_AlgorithmIdentifier_api(doc) -> ["Code AlgorithmIdentifier"];
+code_AlgorithmIdentifier_api(suite) -> [];
+code_AlgorithmIdentifier_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('AlgorithmIdentifier', ?AlgorithmIdentifier)),
+ ?match({ok, #'AlgorithmIdentifier'{}},
+ 'OrberCSIv2':decode('AlgorithmIdentifier', list_to_binary(Enc))),
+ ok.
+
+code_Name_api(doc) -> ["Code Name"];
+code_Name_api(suite) -> [];
+code_Name_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('Name', ?Name)),
+ ?match({ok, {rdnSequence,_}},
+ 'OrberCSIv2':decode('Name', list_to_binary(Enc))),
+ ok.
+
+code_RDNSequence_api(doc) -> ["Code RDNSequence"];
+code_RDNSequence_api(suite) -> [];
+code_RDNSequence_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('RDNSequence', ?RDNSequence)),
+ ?match({ok, [[#'AttributeTypeAndValue'{}]]},
+ 'OrberCSIv2':decode('RDNSequence', list_to_binary(Enc))),
+ ok.
+
+code_RelativeDistinguishedName_api(doc) -> ["Code RelativeDistinguishedName"];
+code_RelativeDistinguishedName_api(suite) -> [];
+code_RelativeDistinguishedName_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('RelativeDistinguishedName', ?RelativeDistinguishedName)),
+ ?match({ok, [#'AttributeTypeAndValue'{}]},
+ 'OrberCSIv2':decode('RelativeDistinguishedName', list_to_binary(Enc))),
+ ok.
+
+code_AttributeTypeAndValue_api(doc) -> ["Code AttributeTypeAndValue"];
+code_AttributeTypeAndValue_api(suite) -> [];
+code_AttributeTypeAndValue_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('AttributeTypeAndValue', ?AttributeTypeAndValue)),
+ ?match({ok, #'AttributeTypeAndValue'{}},
+ 'OrberCSIv2':decode('AttributeTypeAndValue', list_to_binary(Enc))),
+ ok.
+
+code_Attribute_api(doc) -> ["Code Attribute"];
+code_Attribute_api(suite) -> [];
+code_Attribute_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('Attribute', ?Attribute)),
+ ?match({ok, #'Attribute'{}},
+ 'OrberCSIv2':decode('Attribute', list_to_binary(Enc))),
+ ok.
+
+code_Validity_api(doc) -> ["Code Validity"];
+code_Validity_api(suite) -> [];
+code_Validity_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('Validity', ?Validity)),
+ ?match({ok, #'Validity'{}},
+ 'OrberCSIv2':decode('Validity', list_to_binary(Enc))),
+ ok.
+
+code_SubjectPublicKeyInfo_api(doc) -> ["Code SubjectPublicKeyInfo"];
+code_SubjectPublicKeyInfo_api(suite) -> [];
+code_SubjectPublicKeyInfo_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('SubjectPublicKeyInfo', ?SubjectPublicKeyInfo)),
+ ?match({ok, #'SubjectPublicKeyInfo'{}},
+ 'OrberCSIv2':decode('SubjectPublicKeyInfo', list_to_binary(Enc))),
+ ok.
+
+code_UniqueIdentifier_api(doc) -> ["Code UniqueIdentifier"];
+code_UniqueIdentifier_api(suite) -> [];
+code_UniqueIdentifier_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('UniqueIdentifier', ?UniqueIdentifier)),
+ ?match({ok, _}, 'OrberCSIv2':decode('UniqueIdentifier', list_to_binary(Enc))),
+ ok.
+
+code_Extensions_api(doc) -> ["Code Extensions"];
+code_Extensions_api(suite) -> [];
+code_Extensions_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('Extensions', ?Extensions)),
+ ?match({ok, [#'Extension'{}]},
+ 'OrberCSIv2':decode('Extensions', list_to_binary(Enc))),
+ ok.
+
+code_Extension_api(doc) -> ["Code Extension"];
+code_Extension_api(suite) -> [];
+code_Extension_api(_Config) ->
+ {ok, Enc} =
+ ?match({ok, _}, 'OrberCSIv2':encode('Extension', ?Extension)),
+ ?match({ok, #'Extension'{}},
+ 'OrberCSIv2':decode('Extension', list_to_binary(Enc))),
+ ok.
+
+%% OpenSSL generated x509 Certificate
+code_OpenSSL509_api(doc) -> ["Code OpenSSL generated x509 Certificate"];
+code_OpenSSL509_api(suite) -> [];
+code_OpenSSL509_api(_Config) ->
+ {ok, Cert} =
+ ?match({ok, #'Certificate'{}},
+ 'OrberCSIv2':decode('Certificate', ?X509DER)),
+ AttrCertChain = #'AttributeCertChain'{attributeCert = ?AttributeCertificate,
+ certificateChain = [Cert]},
+ {ok, EAttrCertChain} =
+ ?match({ok, _}, 'OrberCSIv2':encode('AttributeCertChain', AttrCertChain)),
+ ?match({ok, #'AttributeCertChain'{}},
+ 'OrberCSIv2':decode('AttributeCertChain', list_to_binary(EAttrCertChain))),
+ ok.
+
+-endif.
+
+%%-----------------------------------------------------------------
+%% Test ssl:peercert
+%%-----------------------------------------------------------------
+ssl_server_peercert_api(doc) -> ["Test ssl:peercert (server side)"];
+ssl_server_peercert_api(suite) -> [];
+ssl_server_peercert_api(_Config) ->
+ case os:type() of
+ vxworks ->
+ {skipped, "No SSL-support for VxWorks."};
+ _ ->
+ Options = orber_test_lib:get_options(iiop_ssl, server,
+ 2, [{iiop_ssl_port, 0}]),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node(Options)),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_ssl_port, []),
+ SSLOptions = orber_test_lib:get_options(ssl, client),
+ {ok, Socket} =
+ ?match({ok, _}, fake_client_ORB(ssl, ServerHost, ServerPort, SSLOptions)),
+ {ok, _PeerCert} = ?match({ok, _}, orber_socket:peercert(ssl, Socket)),
+ ?match({ok, {rdnSequence, _}}, orber_socket:peercert(ssl, Socket, [pkix, subject])),
+ ?match({ok, {rdnSequence, _}}, orber_socket:peercert(ssl, Socket, [ssl, subject])),
+% ?match({ok, #'Certificate'{}},
+% 'OrberCSIv2':decode('Certificate', PeerCert)),
+ destroy_fake_ORB(ssl, Socket),
+ ok
+ end.
+
+ssl_client_peercert_api(doc) -> ["Test ssl:peercert (client side)"];
+ssl_client_peercert_api(suite) -> [];
+ssl_client_peercert_api(_Config) ->
+ case os:type() of
+ vxworks ->
+ {skipped, "No SSL-support for VxWorks."};
+ _ ->
+ Options = orber_test_lib:get_options(iiop_ssl, client,
+ 2, [{iiop_ssl_port, 0}]),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node(Options)),
+ crypto:start(),
+ ssl:start(),
+ ssl:seed("testing"),
+ SSLOptions = orber_test_lib:get_options(ssl, server),
+ {ok, LSock} = ?match({ok, _}, ssl:listen(0, SSLOptions)),
+ {ok, {_Address, LPort}} = ?match({ok, {_, _}}, ssl:sockname(LSock)),
+ IOR = ?match({'IOP_IOR',_,_},
+ iop_ior:create_external({1, 2}, "IDL:FAKE:1.0",
+ "localhost", 6004, "FAKE",
+ [#'IOP_TaggedComponent'
+ {tag=?TAG_SSL_SEC_TRANS,
+ component_data=#'SSLIOP_SSL'
+ {target_supports = 2,
+ target_requires = 2,
+ port = LPort}}])),
+ spawn(orber_test_lib, remote_apply,
+ [ClientNode, corba_object, non_existent, [IOR]]),
+ {ok, Socket} = ?match({ok, _}, ssl:transport_accept(LSock)),
+ ?match(ok, ssl:ssl_accept(Socket)),
+
+ {ok, _PeerCert} = ?match({ok, _}, orber_socket:peercert(ssl, Socket)),
+ ?match({ok, {rdnSequence, _}}, orber_socket:peercert(ssl, Socket, [pkix, subject])),
+ ?match({ok, {rdnSequence, _}}, orber_socket:peercert(ssl, Socket, [ssl, subject])),
+% ?match({ok, #'Certificate'{}},
+% 'OrberCSIv2':decode('Certificate', PeerCert)),
+ ssl:close(Socket),
+ ssl:close(LSock),
+ ssl:stop(),
+ ok
+ end.
+
+%%-----------------------------------------------------------------
+%% Local functions.
+%%-----------------------------------------------------------------
+-ifdef(false).
+%% Not used yet.
+context_test(Obj) ->
+ IDToken1 = #'CSI_IdentityToken'{label = ?CSI_IdentityTokenType_ITTAbsent,
+ value = true},
+ IDToken2 = #'CSI_IdentityToken'{label = ?CSI_IdentityTokenType_ITTAnonymous,
+ value = false},
+ IDToken3 = #'CSI_IdentityToken'{label = ?CSI_IdentityTokenType_ITTPrincipalName,
+ value = [0,255]},
+ IDToken4 = #'CSI_IdentityToken'{label = ?CSI_IdentityTokenType_ITTX509CertChain,
+ value = [1,255]},
+ IDToken5 = #'CSI_IdentityToken'{label = ?CSI_IdentityTokenType_ITTDistinguishedName,
+ value = [2,255]},
+ IDToken6 = #'CSI_IdentityToken'{label = ?ULONGMAX,
+ value = [3,255]},
+
+ MTEstablishContext1 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken1,
+ client_authentication_token = [1, 255]}},
+ MTEstablishContext2 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken2,
+ client_authentication_token = [1, 255]}},
+ MTEstablishContext3 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken3,
+ client_authentication_token = [1, 255]}},
+ MTEstablishContext4 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken4,
+ client_authentication_token = [1, 255]}},
+ MTEstablishContext5 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken5,
+ client_authentication_token = [1, 255]}},
+ MTEstablishContext6 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken6,
+ client_authentication_token = [1, 255]}},
+ MTCompleteEstablishContext = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTCompleteEstablishContext,
+ value = #'CSI_CompleteEstablishContext'{client_context_id = ?ULONGLONGMAX,
+ context_stateful = false,
+ final_context_token = [1, 255]}},
+ MTContextError = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTContextError,
+ value = #'CSI_ContextError'{client_context_id = ?ULONGLONGMAX,
+ major_status = 1,
+ minor_status = 2,
+ error_token = [2,255]}},
+ MTMessageInContext = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTMessageInContext,
+ value = #'CSI_MessageInContext'{client_context_id = ?ULONGLONGMAX,
+ discard_context = true}},
+ Ctx = [#'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext1},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext2},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext3},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext4},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext5},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext6},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTCompleteEstablishContext},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTContextError},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTMessageInContext}],
+ ?line ?match(ok, orber_test_server:testing_iiop_context(Obj, [{context, Ctx}])).
+
+
+fake_server_ORB(Type, Port, Options) ->
+ start_ssl(Type),
+ {ok, ListenSocket, NewPort} =
+ orber_socket:listen(Type, Port,
+ [{active, false}|Options]),
+ Socket = orber_socket:accept(Type, ListenSocket),
+ orber_socket:post_accept(Type, Socket),
+ {ok, Socket, NewPort}.
+
+-endif.
+
+fake_server_ORB(Type, Port, Options, Action, Data) ->
+ start_ssl(Type),
+ {ok, ListenSocket, _NewPort} =
+ orber_socket:listen(Type, Port, [{active, false}|Options]),
+ Socket = orber_socket:accept(Type, ListenSocket),
+ orber_socket:post_accept(Type, Socket),
+ do_server_action(Type, Socket, Action, Data),
+ orber_socket:close(Type, Socket),
+ ok.
+
+start_ssl(ssl) ->
+ crypto:start(),
+ ssl:start(),
+ ssl:seed("testing");
+start_ssl(_) ->
+ ok.
+
+
+destroy_fake_ORB(ssl, Socket) ->
+ orber_socket:close(ssl, Socket),
+ ssl:stop();
+destroy_fake_ORB(Type, Socket) ->
+ orber_socket:close(Type, Socket).
+
+fake_client_ORB(Type, Host, Port, Options) ->
+ start_ssl(Type),
+ Socket = orber_socket:connect(Type, Host, Port, [{active, false}|Options]),
+ {ok, Socket}.
+
+-ifdef(false).
+%% Not used yet.
+
+fake_client_ORB(Type, Host, Port, Options, Action, Data) ->
+ start_ssl(Type),
+ Socket = orber_socket:connect(Type, Host, Port, [{active, false}|Options]),
+ Result = do_client_action(Type, Socket, Action, Data),
+ orber_socket:close(Type, Socket),
+ Result.
+
+do_client_action(Type, Socket, fragments, FragList) ->
+ ok = send_data(Type, Socket, FragList),
+ {ok, Bytes} = gen_tcp:recv(Socket, 0),
+ {#reply_header{request_id = ?REQUEST_ID, reply_status = no_exception}, ok, [Par]} =
+ cdr_decode:dec_message({tk_void,[tk_any],[tk_any]}, Bytes),
+ Par;
+do_client_action(Type, Socket, fragments_max, FragList) ->
+ ok = send_data(Type, Socket, FragList),
+ {ok, Bytes} = gen_tcp:recv(Socket, 0),
+ {#reply_header{request_id = ?REQUEST_ID, reply_status = system_exception}, Exc, []} =
+ cdr_decode:dec_message({tk_void,[tk_any],[tk_any]}, Bytes),
+ Exc;
+do_client_action(Type, Socket, message_error, Data) ->
+ ok = send_data(Type, Socket, Data),
+ {ok,Bytes} = gen_tcp:recv(Socket, 0),
+ 'message_error' = cdr_decode:dec_message({tk_void,[tk_any],[tk_any]}, Bytes),
+ ok;
+do_client_action(_Type, _Socket, _Action, _Data) ->
+ ok.
+
+-endif.
+
+do_server_action(Type, Socket, fragments, FragList) ->
+ {ok, _B} = gen_tcp:recv(Socket, 0),
+ ok = send_data(Type, Socket, FragList);
+do_server_action(_Type, _Socket, _Action, _Data) ->
+ ok.
+
+
+send_data(_Type, _Socket, []) ->
+ ok;
+send_data(Type, Socket, [H|T]) ->
+ orber_socket:write(Type, Socket, H),
+ send_data(Type, Socket, T).
+
diff --git a/lib/orber/test/data_types_SUITE.erl b/lib/orber/test/data_types_SUITE.erl
new file mode 100644
index 0000000000..1feb0b3b58
--- /dev/null
+++ b/lib/orber/test/data_types_SUITE.erl
@@ -0,0 +1,173 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : data_types_SUITE.erl
+%% Purpose :
+%%-----------------------------------------------------------------
+
+-module(data_types_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["This suite is for testing more or less complex data types"];
+all(suite) ->
+ [fixed_type, any_type].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: name component handling tests
+%% Description:
+%%-----------------------------------------------------------------
+fixed_type(doc) -> ["Test the Fixed Point Datatype."];
+fixed_type(suite) -> [];
+fixed_type(_) ->
+ Val1 = ?match({fixed,3,2,314}, orber_test_server:val1()),
+ _Val2 = ?match({fixed,3,2,314}, orber_test_server:val2()),
+ _Val3 = ?match({fixed,3,2,314}, orber_test_server:val3()),
+ Val4 = ?match({fixed,3,2,314}, orber_test_server:val4()),
+ Val5 = ?match({fixed,2,2,14}, orber_test_server:val5()),
+ _Val6 = ?match({fixed,1,0,3}, orber_test_server:val6()),
+ Val7 = ?match({fixed,2,2,-14}, orber_test_server:val7()),
+ _Val8 = ?match({fixed,1,0,-3}, orber_test_server:val8()),
+ Val9 = ?match({fixed,3,2,328}, orber_test_server:val9()),
+ Val10 = ?match({fixed,4,4,4396}, orber_test_server:val10()),
+ Val11 = ?match({fixed,31,29,2242857142857142857142857142857}, orber_test_server:val11()),
+ Val12 = ?match({fixed,9,6,123140001}, orber_test_server:val12()),
+ Val13 = ?match({fixed,9,1,123140001}, orber_test_server:val13()),
+ Val14 = ?match({fixed,14,6,-12313876959999}, orber_test_server:val14()),
+ Val15 = ?match({fixed,14,6,12314123240001}, orber_test_server:val15()),
+ Val16 = ?match({fixed,17,7,15163459846280001}, orber_test_server:val16()),
+ _Val17 = ?match({fixed,3,2,402}, orber_test_server:val17()),
+ _Val18 = ?match({fixed,5,4,40401}, orber_test_server:val18()),
+ _Val19 = ?match({fixed,3,0,200}, orber_test_server:val19()),
+ Val20 = ?match({fixed,31,0,1999999999999999999999999999999}, orber_test_server:val20()),
+ Val21 = ?match({fixed,1,0,0}, orber_test_server:val21()),
+ Val22 = ?match({fixed,31,0,9999999999999999999999999999998}, orber_test_server:val22()),
+ Val23 = ?match({fixed,1,0,1}, orber_test_server:val23()),
+ _Val24 = ?match({fixed,5,0,19998}, orber_test_server:val24()),
+ _Val25 = ?match({fixed,2,0,40}, orber_test_server:val25()),
+ Val26 = ?match({fixed,31,0,9999999999999999999999999999999}, orber_test_server:val26()),
+
+ ?match(Val1, fixed:create(3,2,314)),
+ Val27 = ?match({fixed,6,2,314}, fixed:create(6,2,314)),
+
+ ?match({tk_fixed,3,2}, fixed:get_typecode(Val1)),
+ ?match({tk_fixed,6,2}, fixed:get_typecode(Val27)),
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}}, fixed:create(3,2,3140)),
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}}, fixed:create(5,6,314)),
+ ?match({'EXCEPTION',{'BAD_PARAM',_,_,_}}, fixed:create(32,2,314)),
+ ?match(Val10, fixed:multiply(Val4, Val5)),
+ ?match(Val16, fixed:multiply(Val12, Val13)),
+ ?match(Val22, fixed:multiply(Val26, Val26)),
+
+ ?match(Val9, fixed:add(Val4, Val5)),
+ ?match(Val15, fixed:add(Val12, Val13)),
+ ?match(Val20, fixed:add(Val26, Val26)),
+
+ ?match(Val11, fixed:divide(Val4, Val5)),
+ ?match(Val23, fixed:divide(Val26, Val26)),
+
+ ?match(Val14, fixed:subtract(Val12, Val13)),
+ ?match(Val21, fixed:subtract(Val26, Val26)),
+
+ ?match(Val7, fixed:unary_minus(Val5)),
+ ?match(Val5, fixed:unary_minus(Val7)),
+
+
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: any type
+%% Description:
+%%-----------------------------------------------------------------
+any_type(doc) -> ["Test the Any Datatype."];
+any_type(suite) -> [];
+any_type(_) ->
+ ?match(#any{typecode=undefined, value=undefined},
+ any:create()),
+ ?match(#any{typecode=tk_short, value=undefined},
+ any:set_typecode(any:create(), tk_short)),
+ ?match({'EXCEPTION', #'BAD_TYPECODE'{}},
+ any:set_typecode(any:create(), "wrong")),
+ ?match({'EXCEPTION', #'BAD_TYPECODE'{}},
+ any:create("wrong", 1)),
+ ?match(#any{typecode=tk_short, value = 1},
+ any:create(tk_short, 1)),
+ ?match(tk_short,
+ any:get_typecode(any:create(tk_short, 1))),
+ ?match(1,
+ any:get_value(any:create(tk_short, 1))),
+ ?match(#any{typecode=tk_short, value=2},
+ any:set_value(any:create(tk_short, 1), 2)),
+
+ ok.
diff --git a/lib/orber/test/generated_SUITE.erl b/lib/orber/test/generated_SUITE.erl
new file mode 100644
index 0000000000..1cd1674fc4
--- /dev/null
+++ b/lib/orber/test/generated_SUITE.erl
@@ -0,0 +1,385 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : generated_SUITE.erl
+%% Purpose :
+%%-----------------------------------------------------------------
+
+-module(generated_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(nomatch(Not, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ Not ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS);
+ _ ->
+ AcTuAlReS
+ end
+ end()).
+
+
+-define(checktc(_Op),
+ fun(TC) ->
+ case orber_tc:check_tc(TC) of
+ false ->
+ io:format("###### ERROR ERROR ######~n~p - ~p~n", [Op, TC]),
+ ?line exit(TC);
+ true ->
+ true
+ end
+ end).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["This suite is for testing IC generated files"];
+all(suite) ->
+ ['OrberApp_IFR',
+ erlang_binary, erlang_pid, erlang_port, erlang_ref,
+ 'CosNaming_Binding', 'CosNaming_BindingList', 'CosNaming_Name',
+ 'CosNaming_NameComponent', 'CosNaming_NamingContextExt_InvalidAddress',
+ 'CosNaming_NamingContext_AlreadyBound', 'CosNaming_NamingContext_CannotProceed',
+ 'CosNaming_NamingContext_InvalidName', 'CosNaming_NamingContext_NotEmpty',
+ 'CosNaming_NamingContext_NotFound', 'CosNaming_BindingIterator',
+ 'CosNaming_NamingContext', 'CosNaming_NamingContextExt'].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case:'OrberApp_IFR'
+%% Description:
+%%-----------------------------------------------------------------
+'OrberApp_IFR'(doc) -> [""];
+'OrberApp_IFR'(suite) -> [];
+'OrberApp_IFR'(_) ->
+ ?nomatch(undefined, 'OrberApp_IFR':oe_tc(get_absolute_name)),
+ ?nomatch(undefined, 'OrberApp_IFR':oe_tc(get_user_exception_type)),
+ ?match(undefined, 'OrberApp_IFR':oe_tc(undefined)),
+ ?match([_|_], 'OrberApp_IFR':oe_get_interface()),
+ ?match("IDL:OrberApp/IFR:1.0", 'OrberApp_IFR':typeID()),
+ check_tc('OrberApp_IFR':oe_get_interface()),
+ ?match(true, 'OrberApp_IFR':oe_is_a('OrberApp_IFR':typeID())),
+ ?match(false, 'OrberApp_IFR':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: erlang_binary
+%% Description:
+%%-----------------------------------------------------------------
+erlang_binary(doc) -> [""];
+erlang_binary(suite) -> [];
+erlang_binary(_) ->
+ ?match(true, orber_tc:check_tc(erlang_binary:tc())),
+ ?match("IDL:erlang/binary:1.0", erlang_binary:id()),
+ ?match("erlang_binary", erlang_binary:name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: erlang_pid
+%% Description:
+%%-----------------------------------------------------------------
+erlang_pid(doc) -> [""];
+erlang_pid(suite) -> [];
+erlang_pid(_) ->
+ ?match(true, orber_tc:check_tc(erlang_pid:tc())),
+ ?match("IDL:erlang/pid:1.0", erlang_pid:id()),
+ ?match("erlang_pid", erlang_pid:name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: erlang_port
+%% Description:
+%%-----------------------------------------------------------------
+erlang_port(doc) -> [""];
+erlang_port(suite) -> [];
+erlang_port(_) ->
+ ?match(true, orber_tc:check_tc(erlang_port:tc())),
+ ?match("IDL:erlang/port:1.0", erlang_port:id()),
+ ?match("erlang_port", erlang_port:name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: erlang_ref
+%% Description:
+%%-----------------------------------------------------------------
+erlang_ref(doc) -> [""];
+erlang_ref(suite) -> [];
+erlang_ref(_) ->
+ ?match(true, orber_tc:check_tc(erlang_ref:tc())),
+ ?match("IDL:erlang/ref:1.0", erlang_ref:id()),
+ ?match("erlang_ref", erlang_ref:name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_Binding'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_Binding'(doc) -> [""];
+'CosNaming_Binding'(suite) -> [];
+'CosNaming_Binding'(_) ->
+ ?match(true, orber_tc:check_tc('CosNaming_Binding':tc())),
+ ?match("IDL:omg.org/CosNaming/Binding:1.0", 'CosNaming_Binding':id()),
+ ?match("CosNaming_Binding", 'CosNaming_Binding':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_BindingList'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_BindingList'(doc) -> [""];
+'CosNaming_BindingList'(suite) -> [];
+'CosNaming_BindingList'(_) ->
+ ?match(true, orber_tc:check_tc('CosNaming_BindingList':tc())),
+ ?match("IDL:omg.org/CosNaming/BindingList:1.0", 'CosNaming_BindingList':id()),
+ ?match("CosNaming_BindingList", 'CosNaming_BindingList':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_Name'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_Name'(doc) -> [""];
+'CosNaming_Name'(suite) -> [];
+'CosNaming_Name'(_) ->
+ ?match(true, orber_tc:check_tc('CosNaming_Name':tc())),
+ ?match("IDL:omg.org/CosNaming/Name:1.0", 'CosNaming_Name':id()),
+ ?match("CosNaming_Name", 'CosNaming_Name':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_NameComponent'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_NameComponent'(doc) -> [""];
+'CosNaming_NameComponent'(suite) -> [];
+'CosNaming_NameComponent'(_) ->
+ ?match(true, orber_tc:check_tc('CosNaming_NameComponent':tc())),
+ ?match("IDL:omg.org/CosNaming/NameComponent:1.0", 'CosNaming_NameComponent':id()),
+ ?match("CosNaming_NameComponent", 'CosNaming_NameComponent':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_NamingContextExt_InvalidAddress'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_NamingContextExt_InvalidAddress'(doc) -> [""];
+'CosNaming_NamingContextExt_InvalidAddress'(suite) -> [];
+'CosNaming_NamingContextExt_InvalidAddress'(_) ->
+ ?match(true, orber_tc:check_tc('CosNaming_NamingContextExt_InvalidAddress':tc())),
+ ?match("IDL:omg.org/CosNaming/NamingContextExt/InvalidAddress:1.0", 'CosNaming_NamingContextExt_InvalidAddress':id()),
+ ?match("CosNaming_NamingContextExt_InvalidAddress", 'CosNaming_NamingContextExt_InvalidAddress':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_NamingContext_AlreadyBound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_NamingContext_AlreadyBound'(doc) -> [""];
+'CosNaming_NamingContext_AlreadyBound'(suite) -> [];
+'CosNaming_NamingContext_AlreadyBound'(_) ->
+ ?match(true, orber_tc:check_tc('CosNaming_NamingContext_AlreadyBound':tc())),
+ ?match("IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0", 'CosNaming_NamingContext_AlreadyBound':id()),
+ ?match("CosNaming_NamingContext_AlreadyBound", 'CosNaming_NamingContext_AlreadyBound':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_NamingContext_CannotProceed'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_NamingContext_CannotProceed'(doc) -> [""];
+'CosNaming_NamingContext_CannotProceed'(suite) -> [];
+'CosNaming_NamingContext_CannotProceed'(_) ->
+ ?match(true, orber_tc:check_tc('CosNaming_NamingContext_CannotProceed':tc())),
+ ?match("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0", 'CosNaming_NamingContext_CannotProceed':id()),
+ ?match("CosNaming_NamingContext_CannotProceed", 'CosNaming_NamingContext_CannotProceed':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_NamingContext_InvalidName'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_NamingContext_InvalidName'(doc) -> [""];
+'CosNaming_NamingContext_InvalidName'(suite) -> [];
+'CosNaming_NamingContext_InvalidName'(_) ->
+ ?match(true, orber_tc:check_tc('CosNaming_NamingContext_InvalidName':tc())),
+ ?match("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0", 'CosNaming_NamingContext_InvalidName':id()),
+ ?match("CosNaming_NamingContext_InvalidName", 'CosNaming_NamingContext_InvalidName':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_NamingContext_NotEmpty'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_NamingContext_NotEmpty'(doc) -> [""];
+'CosNaming_NamingContext_NotEmpty'(suite) -> [];
+'CosNaming_NamingContext_NotEmpty'(_) ->
+ ?match(true, orber_tc:check_tc('CosNaming_NamingContext_NotEmpty':tc())),
+ ?match("IDL:omg.org/CosNaming/NamingContext/NotEmpty:1.0", 'CosNaming_NamingContext_NotEmpty':id()),
+ ?match("CosNaming_NamingContext_NotEmpty", 'CosNaming_NamingContext_NotEmpty':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_NamingContext_NotFound'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_NamingContext_NotFound'(doc) -> [""];
+'CosNaming_NamingContext_NotFound'(suite) -> [];
+'CosNaming_NamingContext_NotFound'(_) ->
+ ?match(true, orber_tc:check_tc('CosNaming_NamingContext_NotFound':tc())),
+ ?match("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0", 'CosNaming_NamingContext_NotFound':id()),
+ ?match("CosNaming_NamingContext_NotFound", 'CosNaming_NamingContext_NotFound':name()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_BindingIterator'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_BindingIterator'(doc) -> [""];
+'CosNaming_BindingIterator'(suite) -> [];
+'CosNaming_BindingIterator'(_) ->
+ ?nomatch(undefined, 'CosNaming_BindingIterator':oe_tc(next_one)),
+ ?nomatch(undefined, 'CosNaming_BindingIterator':oe_tc(next_n)),
+ ?nomatch(undefined, 'CosNaming_BindingIterator':oe_tc(destroy)),
+ ?match(undefined, 'CosNaming_BindingIterator':oe_tc(undefined)),
+ ?match([_|_], 'CosNaming_BindingIterator':oe_get_interface()),
+ ?match("IDL:omg.org/CosNaming/BindingIterator:1.0",
+ 'CosNaming_BindingIterator':typeID()),
+ check_tc('CosNaming_BindingIterator':oe_get_interface()),
+ ?match(true, 'CosNaming_BindingIterator':oe_is_a('CosNaming_BindingIterator':typeID())),
+ ?match(false, 'CosNaming_BindingIterator':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_NamingContext'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_NamingContext'(doc) -> [""];
+'CosNaming_NamingContext'(suite) -> [];
+'CosNaming_NamingContext'(_) ->
+ ?nomatch(undefined, 'CosNaming_NamingContext':oe_tc(bind)),
+ ?nomatch(undefined, 'CosNaming_NamingContext':oe_tc(rebind)),
+ ?nomatch(undefined, 'CosNaming_NamingContext':oe_tc(bind_context)),
+ ?nomatch(undefined, 'CosNaming_NamingContext':oe_tc(rebind_context)),
+ ?nomatch(undefined, 'CosNaming_NamingContext':oe_tc(resolve)),
+ ?nomatch(undefined, 'CosNaming_NamingContext':oe_tc(unbind)),
+ ?nomatch(undefined, 'CosNaming_NamingContext':oe_tc(new_context)),
+ ?nomatch(undefined, 'CosNaming_NamingContext':oe_tc(bind_new_context)),
+ ?nomatch(undefined, 'CosNaming_NamingContext':oe_tc(destroy)),
+ ?nomatch(undefined, 'CosNaming_NamingContext':oe_tc(list)),
+ ?match(undefined, 'CosNaming_NamingContext':oe_tc(undefined)),
+ ?match([_|_], 'CosNaming_NamingContext':oe_get_interface()),
+ ?match("IDL:omg.org/CosNaming/NamingContext:1.0",
+ 'CosNaming_NamingContext':typeID()),
+ check_tc('CosNaming_NamingContext':oe_get_interface()),
+ ?match(true, 'CosNaming_NamingContext':oe_is_a('CosNaming_NamingContext':typeID())),
+ ?match(false, 'CosNaming_NamingContext':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: 'CosNaming_NamingContexExt'
+%% Description:
+%%-----------------------------------------------------------------
+'CosNaming_NamingContextExt'(doc) -> [""];
+'CosNaming_NamingContextExt'(suite) -> [];
+'CosNaming_NamingContextExt'(_) ->
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(to_string)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(to_name)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(to_url)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(resolve_str)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(bind)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(rebind)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(bind_context)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(rebind_context)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(new_context)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(bind_new_context)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(destroy)),
+ ?nomatch(undefined, 'CosNaming_NamingContextExt':oe_tc(list)),
+ ?match(undefined, 'CosNaming_NamingContextExt':oe_tc(undefined)),
+ ?match([_|_], 'CosNaming_NamingContextExt':oe_get_interface()),
+ ?match("IDL:omg.org/CosNaming/NamingContextExt:1.0",
+ 'CosNaming_NamingContextExt':typeID()),
+ check_tc('CosNaming_NamingContextExt':oe_get_interface()),
+ ?match(true, 'CosNaming_NamingContextExt':oe_is_a('CosNaming_NamingContextExt':typeID())),
+ ?match(true, 'CosNaming_NamingContextExt':oe_is_a('CosNaming_NamingContext':typeID())),
+ ?match(false, 'CosNaming_NamingContextExt':oe_is_a("wrong")),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% MISC functions
+%%-----------------------------------------------------------------
+check_tc([]) ->
+ ok;
+check_tc([{Op, {RetType, InParameters, OutParameters}}|T]) ->
+ io:format("checked - ~s~n", [Op]),
+ lists:all(?checktc(Op), [RetType|InParameters]),
+ lists:all(?checktc(Op), OutParameters),
+ check_tc(T).
+
+
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/subdir/subsubdir/.gitignore b/lib/orber/test/idl_output/.gitignore
index e69de29bb2..e69de29bb2 100644
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/subdir/subsubdir/.gitignore
+++ b/lib/orber/test/idl_output/.gitignore
diff --git a/lib/orber/test/iiop_module_do_test_impl.erl b/lib/orber/test/iiop_module_do_test_impl.erl
new file mode 100644
index 0000000000..bf171a3097
--- /dev/null
+++ b/lib/orber/test/iiop_module_do_test_impl.erl
@@ -0,0 +1,112 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(iiop_module_do_test_impl).
+
+
+-export([run_all/3, run_userexception/2, run_systemexception/2]).
+-export([createTestContext/0]).
+
+-export([start/0, stop/0]).
+-export([init/1, terminate/2]).
+
+
+init(_) ->
+ {ok, []}.
+
+terminate(Reason, _State) ->
+ io:format("~p terminating with reason ~p~n", [?MODULE, Reason]),
+ ok.
+
+createTestContext() ->
+ NS = corba:resolve_initial_references("NameService"),
+ NC = lname_component:set_id(lname_component:create(), "iiop_test"),
+ N = lname:insert_component(lname:create(), 1, NC),
+ 'CosNaming_NamingContext':bind_new_context(NS, N).
+
+start() ->
+ SFok = corba:create('iiop_module_do_test', "IDL:iiop_module/do_test:1.0"),
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "iiop_test"),
+ NC2 = lname_component:set_id(lname_component:create(), "erl_dotest"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ N1 = lname:insert_component(N, 2, NC2),
+ 'CosNaming_NamingContext':bind(NS, N1, SFok),
+ SFok.
+
+stop() ->
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "iiop_test"),
+ NC2 = lname_component:set_id(lname_component:create(), "erl_dotest"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ N1 = lname:insert_component(N, 2, NC2),
+ 'CosNaming_NamingContext':unbind(NS, N1).
+
+run_all(S, X, TL) ->
+ ok = iiop_module_test:send_void(X),
+ {tk_short, P1} = lists:nth(1, TL),
+ {R1, IO1, O1} = iiop_module_test:send_short(X, P1, P1),
+ RL1= [{tk_short, R1}],
+ IOL1= [{tk_short, IO1}],
+ OL1= [{tk_short, O1}],
+ {tk_ushort, P2} = lists:nth(2, TL),
+ {R2, IO2, O2} = iiop_module_test:send_ushort(X, P2, P2),
+ RL2= [{tk_ushort, R2}|RL1],
+ IOL2= [{tk_ushort, IO2}|IOL1],
+ OL2= [{tk_ushort, O2}|OL1],
+ {tk_long, P3} = lists:nth(3, TL),
+ {R3, IO3, O3} = iiop_module_test:send_long(X, P3, P3),
+ RL3= [{tk_long, R3}|RL2],
+ IOL3= [{tk_long, IO3}|IOL2],
+ OL3= [{tk_long, O3}|OL2],
+ {tk_ulong, P4} = lists:nth(4, TL),
+ {R4, IO4, O4} = iiop_module_test:send_ulong(X, P4, P4),
+ RL4= [{tk_ulong, R4}|RL3],
+ IOL4= [{tk_ulong, IO4}|IOL3],
+ OL4= [{tk_ulong, O4}|OL3],
+ {tk_float, P5} = lists:nth(5, TL),
+ {R5, IO5, O5} = iiop_module_test:send_float(X, P5, P5),
+ RL5= [{tk_float, R5}|RL4],
+ IOL5= [{tk_float, IO5}|IOL4],
+ OL5= [{tk_float, O5}|OL4],
+ {tk_double, P6} = lists:nth(6, TL),
+ {R6, IO6, O6} = iiop_module_test:send_double(X, P6, P6),
+ RL6= [{tk_double, R6}|RL5],
+ IOL6= [{tk_double, IO6}|IOL5],
+ OL6= [{tk_double, O6}|OL5],
+ {tk_boolean, P7} = lists:nth(7, TL),
+ {R7, IO7, O7} = iiop_module_test:send_boolean(X, P7, P7),
+ RL7= [{tk_boolean, R7}|RL6],
+ IOL7= [{tk_boolean, IO7}|IOL6],
+ OL7= [{tk_boolean, O7}|OL6],
+ {tk_char, P8} = lists:nth(8, TL),
+ {R8, IO8, O8} = iiop_module_test:send_char(X, P8, P8),
+ RL= [{tk_char, R8} |RL7],
+ IOL= [{tk_char, IO8} |IOL7],
+ OL= [{tk_char, O8} |OL7],
+ {{lists:reverse(RL),lists:reverse(IOL),lists:reverse(OL)}, S}.
+
+run_systemexception(S, X) ->
+ iiop_module_test:ret_systemexception(X),
+ {ok, S}.
+
+run_userexception(S, X) ->
+ iiop_module_test:ret_userexception(X),
+ {ok, S}.
diff --git a/lib/orber/test/iiop_module_test_impl.erl b/lib/orber/test/iiop_module_test_impl.erl
new file mode 100644
index 0000000000..fe334e1b26
--- /dev/null
+++ b/lib/orber/test/iiop_module_test_impl.erl
@@ -0,0 +1,128 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(iiop_module_test_impl).
+-include_lib("orber/include/corba.hrl").
+-include("idl_output/iiop_module.hrl").
+
+
+-export([send_void/1, send_short/3, send_ushort/3]).
+-export([send_long/3, send_ulong/3, send_float/3]).
+-export([send_double/3, send_boolean/3, send_char/3]).
+-export([send_octet/3, send_any/3, send_object/3]).
+-export([send_struct1/3, send_union1/3, send_enum1/3]).
+-export([send_string/3, send_sequence1/3, send_array1/3]).
+-export([ret_systemexception/1, ret_userexception/1]).
+
+
+
+-export([start/0, stop/0]).
+-export([init/1, terminate/2]).
+
+
+init(_) ->
+ {ok, []}.
+
+terminate(Reason, _State) ->
+ io:format("~p terminating with reason ~p~n", [?MODULE, Reason]),
+ ok.
+
+
+start() ->
+ SFok = corba:create('iiop_module_test', "IDL:iiop_module/test:1.0"),
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "iiop_test"),
+ NC2 = lname_component:set_id(lname_component:create(), "erl_test"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ N1 = lname:insert_component(N, 2, NC2),
+ 'CosNaming_NamingContext':bind(NS, N1, SFok),
+ SFok.
+
+stop() ->
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "iiop_test"),
+ NC2 = lname_component:set_id(lname_component:create(), "erl_test"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ N1 = lname:insert_component(N, 2, NC2),
+ 'CosNaming_NamingContext':unbind(NS, N1).
+
+
+
+send_void(S) ->
+ {ok, S}.
+
+send_short(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_ushort(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_long(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_ulong(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_float(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_double(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_boolean(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_char(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_octet(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_any(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_object(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_struct1(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_union1(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_enum1(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_string(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_sequence1(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+send_array1(S, P1, P2) ->
+ {{P1, P1, P2}, S}.
+
+ret_systemexception(S) ->
+ throw(#'BAD_PARAM'{}),
+ {ok, S}.
+
+ret_userexception(S) ->
+ throw(#iiop_module_Except1{why="not readable",rest_of_name=["foo", "bar"]}),
+ {ok, S}.
diff --git a/lib/orber/test/iiop_test.idl b/lib/orber/test/iiop_test.idl
new file mode 100644
index 0000000000..339678106e
--- /dev/null
+++ b/lib/orber/test/iiop_test.idl
@@ -0,0 +1,111 @@
+//
+// %CopyrightBegin%
+//
+// Copyright Ericsson AB 1997-2010. All Rights Reserved.
+//
+// The contents of this file are subject to the Erlang Public License,
+// Version 1.1, (the "License"); you may not use this file except in
+// compliance with the License. You should have received a copy of the
+// Erlang Public License along with this software. If not, it can be
+// retrieved online at http://www.erlang.org/.
+//
+// Software distributed under the License is distributed on an "AS IS"
+// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+// the License for the specific language governing rights and limitations
+// under the License.
+//
+// %CopyrightEnd%
+//
+#include "cos_naming.idl"
+
+module iiop_module
+{
+
+ typedef long Array1[10];
+
+ enum Enum1 {horse, pig, cow};
+
+ typedef sequence<long> Sequence1;
+
+ typedef Sequence1 Sequence2;
+
+ struct Struct1 {
+ string s;
+ unsigned short us;
+ unsigned long ul;
+ };
+
+ union Union1 switch (short) {
+ case 0: short First;
+ case 1: string Second;
+ case 2: char Third;
+ };
+
+ exception Except1 {
+ string why;
+ sequence <string> rest_of_name;
+ };
+
+ typedef sequence<any> test_values;
+ struct test_retval {
+ test_values R;
+ test_values InOut;
+ test_values Out;
+ };
+
+ interface test;
+
+ interface do_test {
+ void run_systemexception(in test x)
+ raises(CosNaming::NamingContext::NotFound,
+ CosNaming::NamingContext::CannotProceed,
+ CosNaming::NamingContext::InvalidName);
+ void run_userexception(in test x)
+ raises(iiop_module::Except1,
+ CosNaming::NamingContext::NotFound,
+ CosNaming::NamingContext::CannotProceed,
+ CosNaming::NamingContext::InvalidName);
+ test_retval run_all(in test x, in test_values tlist)
+ raises(iiop_module::Except1,
+ CosNaming::NamingContext::NotFound,
+ CosNaming::NamingContext::CannotProceed,
+ CosNaming::NamingContext::InvalidName);
+ };
+
+ interface test {
+ // Function to run all tests from java to erlang
+ // and return the answers
+ // Primitive types
+ void send_void();
+ short send_short(in short p1, inout short p2, out short p3);
+ unsigned short send_ushort(in unsigned short p1, inout unsigned short p2,
+ out unsigned short p3);
+ long send_long(in long p1, inout long p2, out long p3);
+ unsigned long send_ulong(in unsigned long p1, inout unsigned long p2,
+ out unsigned long p3);
+ float send_float(in float p1, inout float p2, out float p3);
+ double send_double(in double p1, inout double p2, out double p3);
+ boolean send_boolean(in boolean p1, inout boolean p2, out boolean p3);
+ char send_char(in char p1, inout char p2, out char p3);
+ octet send_octet(in octet p1, inout octet p2, out octet p3);
+ any send_any(in any p1, inout any p2, out any p3);
+ Object send_object(in Object p1, inout Object p2, out Object p3);
+ // TypeCode send_typecode(in TypeCode p1, inout TypeCode p2, out TypeCode p3);
+ // Principal send_principal(in Principal p); //tested in every request
+
+ // Complex types
+ Struct1 send_struct1(in Struct1 p1, inout Struct1 p2, out Struct1 p3);
+ Union1 send_union1(in Union1 p1, inout Union1 p2, out Union1 p3);
+ Enum1 send_enum1(in Enum1 p1, inout Enum1 p2, out Enum1 p3);
+ string send_string(in string p1, inout string p2, out string p3);
+ Sequence1 send_sequence1(in Sequence1 p1, inout Sequence1 p2,
+ out Sequence1 p3);
+ Array1 send_array1(in Array1 p1, inout Array1 p2, out Array1 p3);
+
+ void ret_systemexception();
+ void ret_userexception() raises(iiop_module::Except1);
+
+
+ };
+
+};
diff --git a/lib/orber/test/iiop_test_impl.erl b/lib/orber/test/iiop_test_impl.erl
new file mode 100644
index 0000000000..fd92109c09
--- /dev/null
+++ b/lib/orber/test/iiop_test_impl.erl
@@ -0,0 +1,34 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+-module(iiop_test_impl).
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/test/iiop_test.hrl").
+-export([]).
+
+
+init(Env) ->
+ {ok, []}.
+
+terminate(From, Reason) ->
+ ok.
+
+send_void(State) ->
+ {ok, State}.
+
diff --git a/lib/orber/test/interceptors_SUITE.erl b/lib/orber/test/interceptors_SUITE.erl
new file mode 100644
index 0000000000..27e23a9433
--- /dev/null
+++ b/lib/orber/test/interceptors_SUITE.erl
@@ -0,0 +1,338 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : interceptors_SUITE.erl
+%% Purpose :
+%%-----------------------------------------------------------------
+
+-module(interceptors_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(nomatch(Not, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ Not ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS);
+ _ ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS
+ end
+ end()).
+
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([in_reply/6, out_request/6]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["This suite is for testing Orber Interceptors"];
+all(suite) ->
+ [local_pseudo, local_default, local_local, local_global].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ corba:orb_init([{flags, (?ORB_ENV_USE_PI bor ?ORB_ENV_LOCAL_TYPECHECKING)},
+ {local_interceptors, {native, [?MODULE]}}]),
+ orber:jump_start(2945),
+ oe_orber_test_server:oe_register(),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ oe_orber_test_server:oe_unregister(),
+ orber:jump_stop(),
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: local_pseudo
+%% Description:
+%%-----------------------------------------------------------------
+local_pseudo(doc) -> [""];
+local_pseudo(suite) -> [];
+local_pseudo(_) ->
+ ?match({native, [?MODULE]}, orber:get_local_interceptors()),
+ %% Global settings
+ Obj1 = orber_test_server:oe_create(state,[{pseudo,true}]),
+ Result11 = orber_test_server:testing_iiop_ushort(Obj1, ?USHORTMAX),
+ ?match([?USHORTMAX], put(out_request, undefined)),
+ ?match(Result11, put(in_reply, undefined)),
+
+ Result12 = ?match({'EXCEPTION',_},
+ orber_test_server:testing_iiop_ushort(Obj1, ?USHORTMAX+1)),
+ ?match([(?USHORTMAX+1)], put(out_request, undefined)),
+ ?nomatch(Result12, put(in_reply, undefined)),
+
+ Result13 = orber_test_server:testing_iiop_oneway_delay(Obj1, 0),
+ ?match([0], put(out_request, undefined)),
+ ?nomatch(Result13, put(in_reply, undefined)),
+
+ Result14 = ?match({'EXCEPTION', _},
+ orber_test_server:raise_local_exception(Obj1)),
+ ?match([], put(out_request, undefined)),
+ ?match(Result14, put(in_reply, undefined)),
+
+ Result15 = ?match({'EXCEPTION',_}, orber_test_server:stop_brutal(Obj1)),
+ ?match([], put(out_request, undefined)),
+ ?match(Result15, put(in_reply, undefined)),
+
+ %% Per-object
+ Obj2 = orber_test_server:oe_create(state,[{pseudo,true},
+ {local_interceptors, false}]),
+
+ Result21 = orber_test_server:testing_iiop_ushort(Obj2, ?USHORTMAX),
+ ?nomatch([?USHORTMAX], put(out_request, undefined)),
+ ?nomatch(Result21, put(in_reply, undefined)),
+
+ Obj3 = orber_test_server:oe_create(state,[{pseudo,true},
+ {local_interceptors, true}]),
+
+ Result31 = orber_test_server:testing_iiop_ushort(Obj3, ?USHORTMAX),
+ ?match([?USHORTMAX], put(out_request, undefined)),
+ ?match(Result31, put(in_reply, undefined)),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: local_default
+%% Description:
+%%-----------------------------------------------------------------
+local_default(doc) -> [""];
+local_default(suite) -> [];
+local_default(_) ->
+ ?match({native, [?MODULE]}, orber:get_local_interceptors()),
+ %% Global settings
+ Obj1 = orber_test_server:oe_create(state, []),
+ Result11 = orber_test_server:testing_iiop_ushort(Obj1, ?USHORTMAX),
+ ?match([?USHORTMAX], put(out_request, undefined)),
+ ?match(Result11, put(in_reply, undefined)),
+
+ Result12 = ?match({'EXCEPTION',_},
+ orber_test_server:testing_iiop_ushort(Obj1, ?USHORTMAX+1)),
+ ?match([(?USHORTMAX+1)], put(out_request, undefined)),
+ ?nomatch(Result12, put(in_reply, undefined)),
+
+ Result13 = orber_test_server:testing_iiop_oneway_delay(Obj1, 0),
+ ?match([0], put(out_request, undefined)),
+ ?nomatch(Result13, put(in_reply, undefined)),
+
+ Result14 = ?match({'EXCEPTION', _},
+ orber_test_server:raise_local_exception(Obj1)),
+ ?match([], put(out_request, undefined)),
+ ?match(Result14, put(in_reply, undefined)),
+
+ Result15 = ?match({'EXCEPTION',_}, orber_test_server:stop_brutal(Obj1)),
+ ?match([], put(out_request, undefined)),
+ ?match(Result15, put(in_reply, undefined)),
+
+
+ %% Per-object
+ Obj2 = orber_test_server:oe_create(state,[{local_interceptors, false}]),
+
+ Result21 = orber_test_server:testing_iiop_ushort(Obj2, ?USHORTMAX),
+ ?nomatch([?USHORTMAX], put(out_request, undefined)),
+ ?nomatch(Result21, put(in_reply, undefined)),
+ corba:dispose(Obj2),
+
+ Obj3 = orber_test_server:oe_create(state,[{local_interceptors, true}]),
+
+ Result31 = orber_test_server:testing_iiop_ushort(Obj3, ?USHORTMAX),
+ ?match([?USHORTMAX], put(out_request, undefined)),
+ ?match(Result31, put(in_reply, undefined)),
+ corba:dispose(Obj3),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: local_local
+%% Description:
+%%-----------------------------------------------------------------
+local_local(doc) -> [""];
+local_local(suite) -> [];
+local_local(_) ->
+ ?match({native, [?MODULE]}, orber:get_local_interceptors()),
+ %% Global settings
+ Obj1 = orber_test_server:oe_create(state, [{regname, {local, regname}}]),
+ Result11 = orber_test_server:testing_iiop_ushort(Obj1, ?USHORTMAX),
+ ?match([?USHORTMAX], put(out_request, undefined)),
+ ?match(Result11, put(in_reply, undefined)),
+
+ Result12 = ?match({'EXCEPTION',_},
+ orber_test_server:testing_iiop_ushort(Obj1, ?USHORTMAX+1)),
+ ?match([(?USHORTMAX+1)], put(out_request, undefined)),
+ ?nomatch(Result12, put(in_reply, undefined)),
+
+ Result13 = orber_test_server:testing_iiop_oneway_delay(Obj1, 0),
+ ?match([0], put(out_request, undefined)),
+ ?nomatch(Result13, put(in_reply, undefined)),
+
+ Result14 = ?match({'EXCEPTION', _},
+ orber_test_server:raise_local_exception(Obj1)),
+ ?match([], put(out_request, undefined)),
+ ?match(Result14, put(in_reply, undefined)),
+
+ Result15 = ?match({'EXCEPTION',_}, orber_test_server:stop_brutal(Obj1)),
+ ?match([], put(out_request, undefined)),
+ ?match(Result15, put(in_reply, undefined)),
+
+ %% Per-object
+ Obj2 = orber_test_server:oe_create(state,[{regname, {local, regname}},
+ {local_interceptors, false}]),
+
+ Result21 = orber_test_server:testing_iiop_ushort(Obj2, ?USHORTMAX),
+ ?nomatch([?USHORTMAX], put(out_request, undefined)),
+ ?nomatch(Result21, put(in_reply, undefined)),
+ corba:dispose(Obj2),
+
+ Obj3 = orber_test_server:oe_create(state,[{regname, {local, regname}},
+ {local_interceptors, true}]),
+
+ Result31 = orber_test_server:testing_iiop_ushort(Obj3, ?USHORTMAX),
+ ?match([?USHORTMAX], put(out_request, undefined)),
+ ?match(Result31, put(in_reply, undefined)),
+ corba:dispose(Obj3),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: local_global
+%% Description:
+%%-----------------------------------------------------------------
+local_global(doc) -> [""];
+local_global(suite) -> [];
+local_global(_) ->
+ ?match({native, [?MODULE]}, orber:get_local_interceptors()),
+ %% Global settings
+ Obj1 = orber_test_server:oe_create(state, [{regname, {global, regname}}]),
+ Result11 = orber_test_server:testing_iiop_ushort(Obj1, ?USHORTMAX),
+ ?match([?USHORTMAX], put(out_request, undefined)),
+ ?match(Result11, put(in_reply, undefined)),
+
+ Result12 = ?match({'EXCEPTION',_},
+ orber_test_server:testing_iiop_ushort(Obj1, ?USHORTMAX+1)),
+ ?match([(?USHORTMAX+1)], put(out_request, undefined)),
+ ?nomatch(Result12, put(in_reply, undefined)),
+
+ Result13 = orber_test_server:testing_iiop_oneway_delay(Obj1, 0),
+ ?match([0], put(out_request, undefined)),
+ ?nomatch(Result13, put(in_reply, undefined)),
+
+ Result14 = ?match({'EXCEPTION', _},
+ orber_test_server:raise_local_exception(Obj1)),
+ ?match([], put(out_request, undefined)),
+ ?match(Result14, put(in_reply, undefined)),
+
+ Result15 = ?match({'EXCEPTION',_}, orber_test_server:stop_brutal(Obj1)),
+ ?match([], put(out_request, undefined)),
+ ?match(Result15, put(in_reply, undefined)),
+
+ %% Per-object
+ Obj2 = orber_test_server:oe_create(state,[{regname, {global, regname}},
+ {local_interceptors, false}]),
+
+ Result21 = orber_test_server:testing_iiop_ushort(Obj2, ?USHORTMAX),
+ ?nomatch([?USHORTMAX], put(out_request, undefined)),
+ ?nomatch(Result21, put(in_reply, undefined)),
+ corba:dispose(Obj2),
+
+ Obj3 = orber_test_server:oe_create(state,[{regname, {global, regname}},
+ {local_interceptors, true}]),
+
+ Result31 = orber_test_server:testing_iiop_ushort(Obj3, ?USHORTMAX),
+ ?match([?USHORTMAX], put(out_request, undefined)),
+ ?match(Result31, put(in_reply, undefined)),
+ corba:dispose(Obj3),
+ ok.
+
+
+
+
+%%-----------------------------------------------------------------
+%% Local functions
+%%-----------------------------------------------------------------
+%%-----------------------------------------------------------------
+%% function : in_reply
+%%-----------------------------------------------------------------
+in_reply(Ref, _ObjKey, Ctx, Op, Reply, _Args) ->
+ error_logger:info_msg("=============== in_reply =================
+Connection: ~p
+Operation : ~p
+Reply : ~p
+Context : ~p
+==========================================~n",
+ [Ref, Op, Reply, Ctx]),
+ put(in_reply, Reply),
+ {Reply, "NewArgs"}.
+
+%%-----------------------------------------------------------------
+%% function : out_request
+%%-----------------------------------------------------------------
+out_request(Ref, _ObjKey, Ctx, Op, Params, _Args) ->
+ error_logger:info_msg("=============== out_request ==============
+Connection: ~p
+Operation : ~p
+Parameters: ~p
+Context : ~p
+==========================================~n",
+ [Ref, Op, Params, Ctx]),
+ put(out_request, Params),
+ {Params, "NewArgs"}.
diff --git a/lib/orber/test/iop_ior_10_SUITE.erl b/lib/orber/test/iop_ior_10_SUITE.erl
new file mode 100644
index 0000000000..1000c7f113
--- /dev/null
+++ b/lib/orber/test/iop_ior_10_SUITE.erl
@@ -0,0 +1,167 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for the IOR functions
+%%
+%%-----------------------------------------------------------------
+-module(iop_ior_10_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Description", "more description"];
+all(suite) ->
+ [encoding, create_and_get_ops].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: IOR encoding test
+%% Description: Just testing the string_encoding function because the
+%% other encodings is called from them.
+%%-----------------------------------------------------------------
+encoding(doc) -> ["Description", "more description"];
+encoding(suite) -> [];
+encoding(_) ->
+ V = #'IIOP_Version'{major=1,minor=0},
+ M0 = 'Module_Interface',
+ T0 = "IDL:Module/Interface:1.0",
+ H0 = "my.hostname.org",
+ P0 = 4040,
+ N0 = 'name',
+ ?line O0 = corba_fake_mk_objkey(M0, registered, N0),
+ PB0 = #'IIOP_ProfileBody_1_0'{iiop_version=V, host=H0, port=P0, object_key=O0},
+ TP0 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB0},
+ S0 = #'IOP_IOR'{type_id=T0, profiles=[TP0]},
+ N1 = list_to_pid("<0.100.0>"),
+ ?line O1 = corba_fake_mk_objkey(M0, key, N1),
+ PB1 = #'IIOP_ProfileBody_1_0'{iiop_version=V, host=H0, port=P0, object_key=O1},
+ TP1 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB1},
+ S1 = #'IOP_IOR'{type_id=T0, profiles=[TP1]},
+ O2 = "This is an external objectkey",
+ PB2 = #'IIOP_ProfileBody_1_0'{iiop_version=V, host=H0, port=P0, object_key=O2},
+ TP2 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB2},
+ S2 = #'IOP_IOR'{type_id=T0, profiles=[TP2]},
+ ?line C0 = iop_ior:string_code(S0),
+ ?line {S0, <<>>, _} = iop_ior:string_decode(C0),
+ ?line C1 = iop_ior:string_code(S1),
+ ?line {S1, <<>>, _} = iop_ior:string_decode(C1),
+ ?line C2 = iop_ior:string_code(S2),
+ ?line {S2, <<>>, _} = iop_ior:string_decode(C2),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: IOR creation test
+%% Description:
+%%-----------------------------------------------------------------
+create_and_get_ops(doc) -> ["Description", "more description"];
+create_and_get_ops(suite) -> [];
+create_and_get_ops(_) ->
+ V = #'IIOP_Version'{major=1,minor=0},
+ M0 = 'Module_Interface',
+ T0 = "IDL:Module/Interface:1.0",
+ H0 = "my.hostname.org",
+ P0 = 4040,
+ N0 = 'name',
+ ?line O0 = corba_fake_mk_objkey(M0, registered, N0),
+ PB0 = #'IIOP_ProfileBody_1_0'{iiop_version=V, host=H0, port=P0, object_key=O0},
+ TP0 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB0},
+ S0 = #'IOP_IOR'{type_id=T0, profiles=[TP0]},
+ ?line S0 = iop_ior:create({1, 0}, T0, [H0], P0, -1, O0, [], 0, 0),
+ N1 = list_to_pid("<0.100.0>"),
+ ?line O1 = corba_fake_mk_objkey(M0, key, N1),
+ {_,_,K1,_,_,_} = O1,
+ PB1 = #'IIOP_ProfileBody_1_0'{iiop_version=V, host=H0, port=P0, object_key=O1},
+ TP1 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB1},
+ S1 = #'IOP_IOR'{type_id=T0, profiles=[TP1]},
+ ?line S1 = iop_ior:create({1, 0}, T0, [H0], P0, -1, O1, [], 0, 0),
+ O2 = "This is an external objectkey",
+ PB2 = #'IIOP_ProfileBody_1_0'{iiop_version=V, host=H0, port=P0, object_key=O2},
+ TP2 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB2},
+ S2 = #'IOP_IOR'{type_id=T0, profiles=[TP2]},
+ ?line {'internal_registered', N0, _, _, M0} = iop_ior:get_key(S0),
+ ?line {'internal', K1, _, _, M0} = iop_ior:get_key(S1),
+ ?line {'external', {H0, P0, O2, _,_,
+ #host_data{protocol = normal,
+ ssl_data = undefined,
+ version = {1,0},
+ csiv2_mech = undefined,
+ csiv2_statefull = false,
+ charset = 65537,
+ wcharset = 65801,
+ ft_heartbeat = false,
+ ft_primary = false,
+ ft_group = undefined,
+ csiv2_addresses = []}}}
+ = iop_ior:get_key(S2),
+ ?line T0 = iop_ior:get_typeID(S0),
+ ?line O0 = iop_ior:get_objkey(S0),
+ ?line O1 = iop_ior:get_objkey(S1),
+ ?line O2 = iop_ior:get_objkey(S2),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Internal functions
+%%-----------------------------------------------------------------
+corba_fake_mk_objkey(Id, 'key', Pid) when is_pid(Pid) ->
+ Key = make_objkey(),
+ {Id, 'key', Key, term_to_binary(undefined), 0, 0};
+corba_fake_mk_objkey(Id, 'key', RegName) when is_atom(RegName) ->
+ Key = term_to_binary(RegName),
+ {Id, 'key', Key, term_to_binary(undefined), 0, 0};
+corba_fake_mk_objkey(Id, 'registered', RegName) when is_atom(RegName) ->
+ {Id, 'registered', RegName, term_to_binary(undefined), 0, 0}.
+
+
+make_objkey() ->
+ term_to_binary({now(), node()}).
diff --git a/lib/orber/test/iop_ior_11_SUITE.erl b/lib/orber/test/iop_ior_11_SUITE.erl
new file mode 100644
index 0000000000..35d01789ee
--- /dev/null
+++ b/lib/orber/test/iop_ior_11_SUITE.erl
@@ -0,0 +1,186 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for the IOR functions
+%%
+%%-----------------------------------------------------------------
+-module(iop_ior_11_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Description", "more description"];
+all(suite) ->
+ [encoding, create_and_get_ops].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: IOR encoding test
+%% Description: Just testing the string_encoding function because the
+%% other encodings is called from them.
+%%-----------------------------------------------------------------
+encoding(doc) -> ["Description", "more description"];
+encoding(suite) -> [];
+encoding(_) ->
+ V = #'IIOP_Version'{major=1,minor=1},
+ M0 = 'Module_Interface',
+ T0 = "IDL:Module/Interface:1.0",
+ H0 = "my.hostname.org",
+ P0 = 4040,
+ N0 = 'name',
+ Components = case orber:iiop_ssl_port() of
+ -1 ->
+ [];
+ SSLPort ->
+ [#'IOP_TaggedComponent'{tag=?TAG_SSL_SEC_TRANS,
+ component_data=[0 |
+ cdrlib:enc_unsigned_short(2,
+ cdrlib:enc_unsigned_short(2,
+ cdrlib:enc_unsigned_short(SSLPort, [])))]}]
+ end,
+ ?line O0 = corba_fake_mk_objkey(M0, registered, N0),
+ PB0 = #'IIOP_ProfileBody_1_1'{iiop_version=V, host=H0, port=P0, object_key=O0,
+ components=Components},
+ TP0 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB0},
+ S0 = #'IOP_IOR'{type_id=T0, profiles=[TP0]},
+ N1 = list_to_pid("<0.100.0>"),
+ ?line O1 = corba_fake_mk_objkey(M0, key, N1),
+ PB1 = #'IIOP_ProfileBody_1_1'{iiop_version=V, host=H0, port=P0, object_key=O1,
+ components=[]},
+ TP1 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB1},
+ S1 = #'IOP_IOR'{type_id=T0, profiles=[TP1]},
+ O2 = "This is an external objectkey",
+ PB2 = #'IIOP_ProfileBody_1_1'{iiop_version=V, host=H0, port=P0, object_key=O2,
+ components=[]},
+ TP2 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB2},
+ S2 = #'IOP_IOR'{type_id=T0, profiles=[TP2]},
+ ?line C0 = iop_ior:string_code(S0),
+ ?line {S0, <<>>, _} = iop_ior:string_decode(C0),
+ ?line C1 = iop_ior:string_code(S1),
+ ?line {S1, <<>>, _} = iop_ior:string_decode(C1),
+ ?line C2 = iop_ior:string_code(S2),
+ ?line {S2, <<>>, _} = iop_ior:string_decode(C2),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: IOR creation test
+%% Description:
+%%-----------------------------------------------------------------
+create_and_get_ops(doc) -> ["Description", "more description"];
+create_and_get_ops(suite) -> [];
+create_and_get_ops(_) ->
+ V = #'IIOP_Version'{major=1,minor=1},
+ CSC = #'IOP_TaggedComponent'{tag=?TAG_CODE_SETS,
+ component_data=?DEFAULT_CODESETS},
+ M0 = 'Module_Interface',
+ T0 = "IDL:Module/Interface:1.0",
+ H0 = "my.hostname.org",
+ P0 = 4040,
+ N0 = 'name',
+ ?line O0 = corba_fake_mk_objkey(M0, registered, N0),
+ PB0 = #'IIOP_ProfileBody_1_1'
+ {iiop_version=V, host=H0, port=P0, object_key=O0,
+ components=[CSC]},
+ TP0 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB0},
+ S0 = #'IOP_IOR'{type_id=T0, profiles=[TP0]},
+ ?line S0 = iop_ior:create({1, 1}, T0, [H0], P0, -1, O0, [CSC], 0, 0),
+ N1 = list_to_pid("<0.100.0>"),
+ ?line O1 = corba_fake_mk_objkey(M0, key, N1),
+ {_,_,K1,_,_,_} = O1,
+ PB1 = #'IIOP_ProfileBody_1_1'
+ {iiop_version=V, host=H0, port=P0, object_key=O1,
+ components=[CSC]},
+ TP1 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB1},
+ S1 = #'IOP_IOR'{type_id=T0, profiles=[TP1]},
+ ?line S1 = iop_ior:create({1, 1}, T0, [H0], P0, -1, O1, [CSC], 0, 0),
+ O2 = "This is an external objectkey",
+ PB2 = #'IIOP_ProfileBody_1_1'{iiop_version=V, host=H0, port=P0, object_key=O2,
+ components=[]},
+ TP2 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB2},
+ S2 = #'IOP_IOR'{type_id=T0, profiles=[TP2]},
+ ?line {'internal_registered', N0, _, _, M0} = iop_ior:get_key(S0),
+ ?line {'internal', K1, _, _, M0} = iop_ior:get_key(S1),
+ ?line {'external', {H0, P0, O2, _,_,
+ #host_data{protocol = normal,
+ ssl_data = undefined,
+ version = {1,1},
+ csiv2_mech = undefined,
+ csiv2_statefull = false,
+ charset = 65537,
+ wcharset = 65801,
+ ft_heartbeat = false,
+ ft_primary = false,
+ ft_group = undefined,
+ csiv2_addresses = []}}} =
+ iop_ior:get_key(S2),
+ ?line T0 = iop_ior:get_typeID(S0),
+ ?line O0 = iop_ior:get_objkey(S0),
+ ?line O1 = iop_ior:get_objkey(S1),
+ ?line O2 = iop_ior:get_objkey(S2),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Internal functions
+%%-----------------------------------------------------------------
+corba_fake_mk_objkey(Id, 'key', Pid) when is_pid(Pid) ->
+ Key = make_objkey(),
+ {Id, 'key', Key, term_to_binary(undefined), 0, 0};
+corba_fake_mk_objkey(Id, 'key', RegName) when is_atom(RegName) ->
+ Key = term_to_binary(RegName),
+ {Id, 'key', Key, term_to_binary(undefined), 0, 0};
+corba_fake_mk_objkey(Id, 'registered', RegName) when is_atom(RegName) ->
+ {Id, 'registered', RegName, term_to_binary(undefined), 0, 0}.
+
+make_objkey() ->
+ term_to_binary({now(), node()}).
diff --git a/lib/orber/test/iop_ior_12_SUITE.erl b/lib/orber/test/iop_ior_12_SUITE.erl
new file mode 100644
index 0000000000..42db130e54
--- /dev/null
+++ b/lib/orber/test/iop_ior_12_SUITE.erl
@@ -0,0 +1,187 @@
+%%----------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : iop_ior_12_SUITE.erl
+%% Description : Test suite for the IOR functions
+%%
+%%----------------------------------------------------------------------
+-module(iop_ior_12_SUITE).
+
+
+-include("test_server.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Description", "more description"];
+all(suite) ->
+ [encoding, create_and_get_ops].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: IOR encoding test
+%% Description: Just testing the string_encoding function because the
+%% other encodings is called from them.
+%%-----------------------------------------------------------------
+encoding(doc) -> ["Description", "more description"];
+encoding(suite) -> [];
+encoding(_) ->
+ V = #'IIOP_Version'{major=1,minor=2},
+ M0 = 'Module_Interface',
+ T0 = "IDL:Module/Interface:1.0",
+ H0 = "my.hostname.org",
+ P0 = 4040,
+ N0 = 'name',
+ Components = case orber:iiop_ssl_port() of
+ -1 ->
+ [];
+ SSLPort ->
+ [#'IOP_TaggedComponent'{tag=?TAG_SSL_SEC_TRANS,
+ component_data=[0 |
+ cdrlib:enc_unsigned_short(2,
+ cdrlib:enc_unsigned_short(2,
+ cdrlib:enc_unsigned_short(SSLPort, [])))]}]
+ end,
+ ?line O0 = corba_fake_mk_objkey(M0, registered, N0),
+ PB0 = #'IIOP_ProfileBody_1_1'{iiop_version=V, host=H0, port=P0, object_key=O0,
+ components=Components},
+ TP0 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB0},
+ S0 = #'IOP_IOR'{type_id=T0, profiles=[TP0]},
+ N1 = list_to_pid("<0.100.0>"),
+ ?line O1 = corba_fake_mk_objkey(M0, key, N1),
+ PB1 = #'IIOP_ProfileBody_1_1'{iiop_version=V, host=H0, port=P0, object_key=O1,
+ components=[]},
+ TP1 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB1},
+ S1 = #'IOP_IOR'{type_id=T0, profiles=[TP1]},
+ O2 = "This is an external objectkey",
+ PB2 = #'IIOP_ProfileBody_1_1'{iiop_version=V, host=H0, port=P0, object_key=O2,
+ components=[]},
+ TP2 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB2},
+ S2 = #'IOP_IOR'{type_id=T0, profiles=[TP2]},
+ ?line C0 = iop_ior:string_code(S0),
+ ?line {S0, <<>>, _} = iop_ior:string_decode(C0),
+ ?line C1 = iop_ior:string_code(S1),
+ ?line {S1, <<>>, _} = iop_ior:string_decode(C1),
+ ?line C2 = iop_ior:string_code(S2),
+ ?line {S2, <<>>, _} = iop_ior:string_decode(C2),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: IOR creation test
+%% Description:
+%%-----------------------------------------------------------------
+create_and_get_ops(doc) -> ["Description", "more description"];
+create_and_get_ops(suite) -> [];
+create_and_get_ops(_) ->
+ V = #'IIOP_Version'{major=1,minor=2},
+ CSC = #'IOP_TaggedComponent'{tag=?TAG_CODE_SETS,
+ component_data=?DEFAULT_CODESETS},
+ M0 = 'Module_Interface',
+ T0 = "IDL:Module/Interface:1.0",
+ H0 = "my.hostname.org",
+ P0 = 4040,
+ N0 = 'name',
+ ?line O0 = corba_fake_mk_objkey(M0, registered, N0),
+ PB0 = #'IIOP_ProfileBody_1_1'
+ {iiop_version=V, host=H0, port=P0, object_key=O0,
+ components=[CSC]},
+ TP0 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB0},
+ S0 = #'IOP_IOR'{type_id=T0, profiles=[TP0]},
+ ?line S0 = iop_ior:create({1, 2}, T0, [H0], P0, -1, O0, [CSC], 0, 0),
+ N1 = list_to_pid("<0.100.0>"),
+ ?line O1 = corba_fake_mk_objkey(M0, key, N1),
+ {_,_,K1,_,_,_} = O1,
+ PB1 = #'IIOP_ProfileBody_1_1'
+ {iiop_version=V, host=H0, port=P0, object_key=O1,
+ components=[CSC]},
+ TP1 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB1},
+ S1 = #'IOP_IOR'{type_id=T0, profiles=[TP1]},
+ ?line S1 = iop_ior:create({1, 2}, T0, [H0], P0, -1, O1, [CSC], 0, 0),
+ O2 = "This is an external objectkey",
+ PB2 = #'IIOP_ProfileBody_1_1'{iiop_version=V, host=H0, port=P0, object_key=O2,
+ components=[]},
+ TP2 = #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP, profile_data=PB2},
+ S2 = #'IOP_IOR'{type_id=T0, profiles=[TP2]},
+ ?line {'internal_registered', N0, _, _, M0} = iop_ior:get_key(S0),
+ ?line {'internal', K1, _, _, M0} = iop_ior:get_key(S1),
+ ?line {'external', {H0, P0, O2,_,_,
+ #host_data{protocol = normal,
+ ssl_data = undefined,
+ version = {1,2},
+ csiv2_mech = undefined,
+ csiv2_statefull = false,
+ charset = 65537,
+ wcharset = 65801,
+ ft_heartbeat = false,
+ ft_primary = false,
+ ft_group = undefined,
+ csiv2_addresses = []}}}
+ = iop_ior:get_key(S2),
+ ?line T0 = iop_ior:get_typeID(S0),
+ ?line O0 = iop_ior:get_objkey(S0),
+ ?line O1 = iop_ior:get_objkey(S1),
+ ?line O2 = iop_ior:get_objkey(S2),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Internal functions
+%%-----------------------------------------------------------------
+corba_fake_mk_objkey(Id, 'key', Pid) when is_pid(Pid) ->
+ Key = make_objkey(),
+ {Id, 'key', Key, term_to_binary(undefined), 0, 0};
+corba_fake_mk_objkey(Id, 'key', RegName) when is_atom(RegName) ->
+ Key = term_to_binary(RegName),
+ {Id, 'key', Key, term_to_binary(undefined), 0, 0};
+corba_fake_mk_objkey(Id, 'registered', RegName) when is_atom(RegName) ->
+ {Id, 'registered', RegName, term_to_binary(undefined), 0, 0}.
+
+make_objkey() ->
+ term_to_binary({now(), node()}).
diff --git a/lib/orber/test/lname_SUITE.erl b/lib/orber/test/lname_SUITE.erl
new file mode 100644
index 0000000000..d1f0e7cf0e
--- /dev/null
+++ b/lib/orber/test/lname_SUITE.erl
@@ -0,0 +1,198 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for the Names Library module
+%%
+%%-----------------------------------------------------------------
+-module(lname_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/COSS/CosNaming/lname.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Description", "more description"];
+all(suite) ->
+ [lname_component, lname].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: name component handling tests
+%% Description:
+%%-----------------------------------------------------------------
+lname_component(doc) -> ["Description", "more description"];
+lname_component(suite) -> [];
+lname_component(_) ->
+ create_test(),
+ get_tests(),
+ set_tests().
+
+create_test() ->
+ ?line #'CosNaming_NameComponent'{} = lname_component:create(),
+ ok.
+
+get_tests() ->
+ NC = #'CosNaming_NameComponent'{id="first", kind="apple"},
+ NC1 = #'CosNaming_NameComponent'{id="", kind="apple"},
+ NC2 = #'CosNaming_NameComponent'{id="first", kind=""},
+ ?line "first" = lname_component:get_id(NC),
+ ?line "apple" = lname_component:get_kind(NC),
+ ?line {'EXCEPTION', #'LNameComponent_NotSet'{}} =
+ (catch lname_component:get_id(NC1)),
+ ?line {'EXCEPTION', #'LNameComponent_NotSet'{}} =
+ (catch lname_component:get_kind(NC2)),
+ ok.
+
+set_tests() ->
+ NC = #'CosNaming_NameComponent'{id="first", kind="apple"},
+ ?line #'CosNaming_NameComponent'{id="second", kind="apple"} =
+ lname_component:set_id(NC, "second"),
+ ?line #'CosNaming_NameComponent'{id="first", kind="pear"} =
+ lname_component:set_kind(NC, "pear"),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: name handling tests
+%% Description:
+%%-----------------------------------------------------------------
+lname(doc) -> ["Description", "more description"];
+lname(suite) -> [];
+lname(_) ->
+ Name = [#'CosNaming_NameComponent'{id="first", kind="apple"},
+ #'CosNaming_NameComponent'{id="last", kind="peach"},
+ #'CosNaming_NameComponent'{id="and", kind="plum"},
+ #'CosNaming_NameComponent'{id="always", kind="orange"}],
+ insert_tests(Name),
+ get_tests(Name),
+ delete_tests(Name),
+ comparision_tests(Name),
+ convertion_tests(Name).
+
+insert_tests(Name) ->
+ NC = #'CosNaming_NameComponent'{id="new", kind="pear"},
+ ?line [NC, #'CosNaming_NameComponent'{id="first", kind="apple"},
+ #'CosNaming_NameComponent'{id="last", kind="peach"},
+ #'CosNaming_NameComponent'{id="and", kind="plum"},
+ #'CosNaming_NameComponent'{id="always", kind="orange"}] =
+ lname:insert_component(Name, 1, NC),
+ ?line [#'CosNaming_NameComponent'{id="first", kind="apple"},
+ #'CosNaming_NameComponent'{id="last", kind="peach"},
+ #'CosNaming_NameComponent'{id="and", kind="plum"},
+ #'CosNaming_NameComponent'{id="always", kind="orange"}, NC] =
+ lname:insert_component(Name, 5, NC),
+ ?line [#'CosNaming_NameComponent'{id="first", kind="apple"},
+ #'CosNaming_NameComponent'{id="last", kind="peach"},
+ #'CosNaming_NameComponent'{id="and", kind="plum"}, NC,
+ #'CosNaming_NameComponent'{id="always", kind="orange"}] =
+ lname:insert_component(Name, 4, NC),
+ ?line [#'CosNaming_NameComponent'{id="first", kind="apple"},
+ #'CosNaming_NameComponent'{id="last", kind="peach"}, NC,
+ #'CosNaming_NameComponent'{id="and", kind="plum"},
+ #'CosNaming_NameComponent'{id="always", kind="orange"}] =
+ lname:insert_component(Name, 3, NC),
+ ?line {'EXCEPTION', #'LName_NoComponent'{}} =
+ (catch lname:insert_component(Name, 6, NC)),
+ ?line {'EXCEPTION', #'LName_NoComponent'{}} =
+ (catch lname:insert_component(Name, 0, NC)),
+ ?line {'EXCEPTION', #'LName_NoComponent'{}} =
+ (catch lname:insert_component(Name, -2, NC)),
+ ok.
+
+get_tests(Name) ->
+ ?line #'CosNaming_NameComponent'{id="first", kind="apple"} =
+ lname:get_component(Name, 1),
+ ?line #'CosNaming_NameComponent'{id="always", kind="orange"} =
+ lname:get_component(Name, 4),
+ ?line #'CosNaming_NameComponent'{id="and", kind="plum"} =
+ lname:get_component(Name, 3),
+ ?line {'EXCEPTION', #'LName_NoComponent'{}} =
+ (catch lname:get_component(Name, 5)),
+ ?line {'EXCEPTION', #'LName_NoComponent'{}} =
+ (catch lname:get_component(Name, 0)),
+ ?line {'EXCEPTION', #'LName_NoComponent'{}} =
+ (catch lname:get_component(Name, -2)),
+ ok.
+
+delete_tests(Name) ->
+ ?line [#'CosNaming_NameComponent'{id="last", kind="peach"},
+ #'CosNaming_NameComponent'{id="and", kind="plum"},
+ #'CosNaming_NameComponent'{id="always", kind="orange"}] =
+ lname:delete_component(Name, 1),
+ ?line [#'CosNaming_NameComponent'{id="first", kind="apple"},
+ #'CosNaming_NameComponent'{id="last", kind="peach"},
+ #'CosNaming_NameComponent'{id="and", kind="plum"}] =
+ lname:delete_component(Name, 4),
+ ?line [#'CosNaming_NameComponent'{id="first", kind="apple"},
+ #'CosNaming_NameComponent'{id="last", kind="peach"},
+ #'CosNaming_NameComponent'{id="always", kind="orange"}] =
+ lname:delete_component(Name, 3),
+ ?line {'EXCEPTION', #'LName_NoComponent'{}} =
+ (catch lname:delete_component(Name, 6)),
+ ?line {'EXCEPTION', #'LName_NoComponent'{}} =
+ (catch lname:delete_component(Name, 0)),
+ ?line {'EXCEPTION', #'LName_NoComponent'{}} =
+ (catch lname:delete_component(Name, -2)),
+ ok.
+
+comparision_tests(Name) ->
+ ?line true = lname:equal(Name, Name),
+ ?line false = lname:equal(Name, lname:delete_component(Name, 2)),
+ ?line true = lname:less_than(lname:delete_component(Name, 2), Name),
+ ?line false = lname:less_than(Name, Name),
+ ?line false = lname:less_than(Name, lname:delete_component(Name, 2)),
+ ok.
+
+convertion_tests(Name) ->
+ ?line Name = lname:from_idl_form(Name),
+ ?line Name = lname:to_idl_form(Name),
+ ok.
diff --git a/lib/orber/test/multi_ORB_SUITE.erl b/lib/orber/test/multi_ORB_SUITE.erl
new file mode 100644
index 0000000000..d1931f5393
--- /dev/null
+++ b/lib/orber/test/multi_ORB_SUITE.erl
@@ -0,0 +1,2352 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(multi_ORB_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+-include_lib("orber/src/ifr_objects.hrl").
+-include("idl_output/orber_test_server.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContextExt.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
+
+
+-define(default_timeout, ?t:minutes(15)).
+
+-define(match(ExpectedRes,Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1, basic_PI_api/1, multi_orber_api/1,
+ init_per_testcase/2, fin_per_testcase/2, multi_pseudo_orber_api/1,
+ light_orber_api/1, light_orber2_api/1,
+ ssl_1_multi_orber_api/1, ssl_2_multi_orber_api/1, ssl_reconfigure_api/1,
+ iiop_timeout_api/1, iiop_timeout_added_api/1, setup_connection_timeout_api/1,
+ setup_multi_connection_timeout_api/1, setup_multi_connection_timeout_random_api/1,
+ setup_multi_connection_timeout_attempts_api/1,
+ fragments_server_api/1, fragments_max_server_api/1,
+ fragments_max_server_added_api/1, fragments_client_api/1,
+ light_ifr_api/1, max_requests_api/1, max_requests_added_api/1,
+ max_connections_api/1, max_packet_size_exceeded_api/1,
+ max_packet_size_ok_api/1, proxy_interface_api/1, proxy_interface_ipv6_api/1,
+ multiple_accept_api/1, implicit_context_api/1,
+ pseudo_implicit_context_api/1, pseudo_two_implicit_context_api/1,
+ oneway_implicit_context_api/1, implicit_context_roundtrip_api/1,
+ oneway_pseudo_implicit_context_api/1, flags_added_api/1,
+ oneway_pseudo_two_implicit_context_api/1,
+ local_interface_api/1, local_interface_ctx_override_api/1,
+ local_interface_acl_override_api/1, bad_giop_header_api/1,
+ bad_fragment_id_client_api/1, bad_id_cancel_request_api/1,
+ close_connections_api/1, close_connections_local_interface_api/1,
+ close_connections_local_interface_ctx_override_api/1, ssl_reconfigure_generation_3_api/1,
+ ssl_1_multi_orber_generation_3_api/1, ssl_2_multi_orber_generation_3_api/1,
+ close_connections_alt_iiop_addr_api/1, close_connections_multiple_profiles_api/1]).
+
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([pseudo_calls/2, pseudo_casts/2, create_fake_server_ORB/5, do_connect/3]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for multi orber interfaces",
+ "This suite test intra-ORB communication. There are three scenarios:",
+ "* No security at all (multi_orber_api)",
+ "* Two secure orbs using ssl (ssl_multi_orb_api)",
+ "* One secure and one orb with no security. (ssl_multi_orb_api)"];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+%% NOTE - the fragment test cases must be first since we explicitly set a request
+%% id. Otherwise, the request-id counter would be increased and we cannot know
+%% what it is.
+cases() ->
+ [fragments_server_api,
+ fragments_max_server_api,
+ fragments_max_server_added_api,
+ fragments_client_api,
+ flags_added_api,
+ bad_fragment_id_client_api,
+ bad_giop_header_api,
+ bad_id_cancel_request_api,
+ implicit_context_api,
+ pseudo_implicit_context_api,
+ pseudo_two_implicit_context_api,
+ implicit_context_roundtrip_api,
+ oneway_implicit_context_api,
+ oneway_pseudo_implicit_context_api,
+ oneway_pseudo_two_implicit_context_api,
+ proxy_interface_api,
+ proxy_interface_ipv6_api,
+ local_interface_api,
+ local_interface_ctx_override_api,
+ local_interface_acl_override_api,
+ close_connections_api,
+ close_connections_local_interface_api,
+ close_connections_local_interface_ctx_override_api,
+ close_connections_alt_iiop_addr_api,
+ close_connections_multiple_profiles_api,
+ multiple_accept_api,
+ max_requests_api,
+ max_requests_added_api,
+ max_connections_api,
+ max_packet_size_exceeded_api,
+ max_packet_size_ok_api,
+ light_ifr_api,
+ multi_pseudo_orber_api,
+ multi_orber_api,
+ light_orber_api,
+ light_orber2_api,
+ basic_PI_api,
+ iiop_timeout_api,
+ iiop_timeout_added_api,
+ setup_connection_timeout_api,
+ setup_multi_connection_timeout_api,
+ setup_multi_connection_timeout_attempts_api,
+ setup_multi_connection_timeout_random_api,
+ ssl_1_multi_orber_api,
+ ssl_1_multi_orber_generation_3_api,
+ ssl_2_multi_orber_api,
+ ssl_2_multi_orber_generation_3_api,
+ ssl_reconfigure_generation_3_api,
+ ssl_reconfigure_api
+ ].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ Dog=test_server:timetrap(?default_timeout),
+ orber:jump_start(0),
+ oe_orber_test_server:oe_register(),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ oe_orber_test_server:oe_unregister(),
+ orber:jump_stop(),
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ Config.
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, no security
+%%-----------------------------------------------------------------
+
+implicit_context_api(doc) -> ["IIOP Implicit Contex tests"];
+implicit_context_api(suite) -> [];
+implicit_context_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ %% Create a remote server
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaname::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService#mamba")),
+
+ Relay = ?match({_,_,_,_,_,_}, orber_test_server:oe_create([])),
+ ?match(ok,
+ orber_test_server:
+ relay_call(Relay,
+ [{context,
+ [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface,
+ Loopback}}]}],
+ IOR)),
+
+ ?match([_,_], orber:iiop_connections(out)),
+ Conns = ?match([_,_],
+ orber_test_lib:remote_apply(ServerNode, orber, iiop_connections, [in])),
+ ?match(true, lists:keymember(Loopback, 1, Conns)),
+ ok.
+
+implicit_context_roundtrip_api(doc) ->
+ ["IIOP Implicit Contex roundtrip tests"];
+implicit_context_roundtrip_api(suite) -> [];
+implicit_context_roundtrip_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ %% Create a remote server
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+ Relay = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaname::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService#mamba")),
+
+ IOR = ?match({_,_,_,_,_,_}, orber_test_server:oe_create([], [])),
+ ?match(ok,
+ orber_test_server:
+ relay_call(Relay,
+ [{context,
+ [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface,
+ Loopback}}]}],
+ IOR)),
+ ?match([_,_], orber:iiop_connections(out)),
+ Conns = ?match([_,_],
+ orber_test_lib:remote_apply(ServerNode, orber, iiop_connections, [in])),
+ ?match(true, lists:keymember(Loopback, 1, Conns)),
+ ok.
+
+
+
+oneway_implicit_context_api(doc) -> ["IIOP Implicit Contex oneway tests"];
+oneway_implicit_context_api(suite) -> [];
+oneway_implicit_context_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ %% Create a remote server
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaname::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService#mamba")),
+
+ Relay = ?match({_,_,_,_,_,_}, orber_test_server:oe_create([])),
+ ?match(ok,
+ orber_test_server:
+ relay_cast(Relay,
+ [{context,
+ [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface,
+ Loopback}}]}],
+ IOR)),
+
+ %% We must wait for a few seconds for the client to be able to set up the
+ %% connection (since it's a oneway operation).
+ timer:sleep(5000),
+ ?match([_,_], orber:iiop_connections(out)),
+ Conns = ?match([_,_],
+ orber_test_lib:remote_apply(ServerNode, orber, iiop_connections, [in])),
+ ?match(true, lists:keymember(Loopback, 1, Conns)),
+ ok.
+
+
+pseudo_implicit_context_api(doc) -> ["IIOP Implicit Contex tests (via pseudo object)"];
+pseudo_implicit_context_api(suite) -> [];
+pseudo_implicit_context_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ %% Create a remote server
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaname::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService#mamba")),
+
+ Relay = ?match({_,_,_,_,_,_}, orber_test_server:oe_create([], [{pseudo,true}])),
+ ?match(ok,
+ orber_test_server:
+ relay_call(Relay,
+ [{context,
+ [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface,
+ Loopback}}]}],
+ IOR)),
+ ?match([_,_], orber:iiop_connections(out)),
+ Conns = ?match([_,_],
+ orber_test_lib:remote_apply(ServerNode, orber, iiop_connections, [in])),
+ ?match(true, lists:keymember(Loopback, 1, Conns)),
+ ok.
+
+pseudo_two_implicit_context_api(doc) ->
+ ["IIOP two Implicit Contex tests (via pseudo object)"];
+pseudo_two_implicit_context_api(suite) -> [];
+pseudo_two_implicit_context_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ %% Create a remote server
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaname::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService#mamba")),
+
+ Relay = ?match({_,_,_,_,_,_}, orber_test_server:oe_create([], [{pseudo,true}])),
+ put(oe_server_in_context,
+ [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface,
+ IP}}]),
+ ?match(ok,
+ orber_test_server:
+ relay_call(Relay,
+ [{context,
+ [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface,
+ Loopback}}]}],
+ IOR)),
+ ?match([_,_], orber:iiop_connections(out)),
+ Conns = ?match([_,_],
+ orber_test_lib:remote_apply(ServerNode, orber, iiop_connections, [in])),
+ ?match(true, lists:keymember(Loopback, 1, Conns)),
+ ok.
+
+oneway_pseudo_implicit_context_api(doc) -> ["IIOP Implicit Contex tests (via pseudo object oneway)"];
+oneway_pseudo_implicit_context_api(suite) -> [];
+oneway_pseudo_implicit_context_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ %% Create a remote server
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaname::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService#mamba")),
+
+ Relay = ?match({_,_,_,_,_,_}, orber_test_server:oe_create([], [{pseudo,true}])),
+ ?match(ok,
+ orber_test_server:
+ relay_cast(Relay,
+ [{context,
+ [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface,
+ Loopback}}]}],
+ IOR)),
+ ?match([_,_], orber:iiop_connections(out)),
+ Conns = ?match([_,_],
+ orber_test_lib:remote_apply(ServerNode, orber, iiop_connections, [in])),
+ ?match(true, lists:keymember(Loopback, 1, Conns)),
+ ok.
+
+oneway_pseudo_two_implicit_context_api(doc) ->
+ ["IIOP two Implicit Contex tests (via pseudo object oneway)"];
+oneway_pseudo_two_implicit_context_api(suite) -> [];
+oneway_pseudo_two_implicit_context_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ %% Create a remote server
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaname::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService#mamba")),
+
+ Relay = ?match({_,_,_,_,_,_}, orber_test_server:oe_create([], [{pseudo,true}])),
+ %% Add incoming implicit context which must be removed.
+ put(oe_server_in_context,
+ [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface,
+ IP}}]),
+ ?match(ok,
+ orber_test_server:
+ relay_cast(Relay,
+ [{context,
+ [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface,
+ Loopback}}]}],
+ IOR)),
+ ?match([_,_], orber:iiop_connections(out)),
+ Conns = ?match([_,_],
+ orber_test_lib:remote_apply(ServerNode, orber, iiop_connections, [in])),
+ ?match(true, lists:keymember(Loopback, 1, Conns)),
+ ok.
+
+
+
+multiple_accept_api(doc) -> ["IIOP Multiple Accept tests"];
+multiple_accept_api(suite) -> [];
+multiple_accept_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ %% The server ORB doesn't listen to 127.0.0.1
+ ?match({'EXCEPTION',_},
+ corba:string_to_object("corbaloc::1.2@" ++Loopback++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match([], orber:iiop_connections(out)),
+
+ IOR1 = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {IP, ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR1)),
+ ?match([_], orber:iiop_connections(out)),
+
+ {ok, Ref1} = ?match({ok, _},
+ orber_test_lib:remote_apply(ServerNode, orber,
+ add_listen_interface,
+ [Loopback, normal])),
+
+ IOR2 = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++Loopback++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {Loopback, ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR2)),
+ ?match([_,_], orber:iiop_connections(out)),
+
+ {ok, Ref2} = ?match({ok, _},
+ orber_test_lib:remote_apply(ServerNode, orber,
+ add_listen_interface,
+ [Loopback, normal, 9543])),
+ ?match({error, eaddrinuse},
+ orber_test_lib:remote_apply(ServerNode, orber,
+ add_listen_interface,
+ [Loopback, normal, 9543])),
+
+ IOR3 = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++Loopback++":9543/NameService")),
+ ?match({'external', {Loopback, 9543, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR3)),
+ ?match([_,_,_], orber:iiop_connections(out)),
+
+ ?match(ok,
+ orber_test_lib:remote_apply(ServerNode, orber,
+ remove_listen_interface, [Ref1])),
+ %% Wait a few seconds to be sure that the connections really has been removed.
+ timer:sleep(4000),
+ ?match([_,_], orber:iiop_connections(out)),
+
+ ?match(ok,
+ orber_test_lib:remote_apply(ServerNode, orber,
+ remove_listen_interface, [Ref2])),
+ %% Wait a few seconds to be sure that the connections really has been removed.
+ timer:sleep(4000),
+ ?match([_], orber:iiop_connections(out)),
+
+ ?match({'EXCEPTION',_},
+ corba:string_to_object("corbaloc::1.2@"++Loopback++":9543/NameService")),
+ ?match({'EXCEPTION',_},
+ corba:string_to_object("corbaloc::1.2@"++Loopback++":"++integer_to_list(ServerPort)++"/NameService")),
+
+ IOR4 = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {IP, ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR4)),
+
+ ok.
+
+
+proxy_interface_api(doc) -> ["IIOP Proxy Interface tests",
+ "This case test if the server ORB use the correct",
+ "interface when exporting IOR:s"];
+proxy_interface_api(suite) -> [];
+proxy_interface_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_LOCAL_INTERFACE}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR1 = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {IP, ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR1)),
+ IOR2 = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++Loopback++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {Loopback, ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR2)),
+ ok.
+
+proxy_interface_ipv6_api(doc) -> ["IIOP Proxy Interface tests",
+ "This case test if the server ORB use the correct",
+ "IPv6 interface when exporting IOR:s"];
+proxy_interface_ipv6_api(suite) -> [];
+proxy_interface_ipv6_api(_Config) ->
+ case orber_test_lib:version_ok() of
+ true ->
+ proxy_interface_ipv6_api2();
+ Reason ->
+ Reason
+ end.
+
+proxy_interface_ipv6_api2() ->
+ Loopback = orber_test_lib:get_loopback_interface(inet6),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_LOCAL_INTERFACE)}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_IPV6}])),
+
+ IP = orber_test_lib:remote_apply(ClientNode, orber_test_lib, get_host, []),
+
+ IOR1 = ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService"])),
+ ?match({'external', {IP, ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ orber_test_lib:remote_apply(ClientNode, iop_ior, get_key, [IOR1])),
+ IOR2 = ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++Loopback++":"++integer_to_list(ServerPort)++"/NameService"])),
+ ?match({'external', {Loopback, ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ orber_test_lib:remote_apply(ClientNode, iop_ior, get_key, [IOR2])),
+ ok.
+
+local_interface_api(doc) -> ["IIOP Local Interface tests",
+ "This case test if the server ORB use the correct",
+ "local interface when connecting to another ORB"];
+local_interface_api(suite) -> [];
+local_interface_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{ip_address_local, Loopback}])),
+ Port = orber:iiop_port(),
+ ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService"])),
+ [{Loopback, RemotePort}] =
+ ?match([{Loopback,_RemotePort}], orber:iiop_connections(in)),
+
+ ?match([{IP, Port}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [out])),
+ ?match([{IP, Port}], orber:find_sockname_by_peername(Loopback,RemotePort)),
+ ?match([{Loopback, RemotePort}], orber:find_peername_by_sockname(IP, Port)),
+
+ ?match([{Loopback, RemotePort}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ find_sockname_by_peername,
+ [IP, Port])),
+ ?match([{IP, Port}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ find_peername_by_sockname,
+ [Loopback,RemotePort])),
+
+
+ ok.
+
+local_interface_ctx_override_api(doc) ->
+ ["IIOP Local Interface tests",
+ "This case test if the server ORB use the correct",
+ "local interface when connecting to another ORB"];
+local_interface_ctx_override_api(suite) -> [];
+local_interface_ctx_override_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{ip_address_local, IP}])),
+ Port = orber:iiop_port(),
+ ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService",
+ [#'IOP_ServiceContext'
+ {context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface, Loopback}}]])),
+ [{Loopback, RemotePort}] =
+ ?match([{Loopback,_RemotePort}], orber:iiop_connections(in)),
+
+ ?match([{IP, Port, Loopback}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [out])),
+ ?match([{IP, Port}], orber:find_sockname_by_peername(Loopback,RemotePort)),
+ ?match([{Loopback, RemotePort}], orber:find_peername_by_sockname(IP, Port)),
+
+ ?match([{Loopback, RemotePort}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ find_sockname_by_peername,
+ [IP, Port])),
+ ?match([{IP, Port}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ find_peername_by_sockname,
+ [Loopback,RemotePort])),
+
+ ok.
+
+local_interface_acl_override_api(doc) ->
+ ["IIOP Local Interface tests",
+ "This case test if the server ORB use the correct",
+ "local interface when connecting to another ORB"];
+local_interface_acl_override_api(suite) -> [];
+local_interface_acl_override_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ ACL = [{tcp_out, IP ++ "/18", [Loopback]}],
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{ip_address_local, IP},
+ {iiop_acl, ACL},
+ {flags, ?ORB_ENV_USE_ACL_OUTGOING}])),
+ Port = orber:iiop_port(),
+ ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService",
+ [#'IOP_ServiceContext'
+ {context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface, IP}}]])),
+ ?match([{Loopback,_RemotePort}], orber:iiop_connections(in)),
+ ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService"])),
+
+ [{Loopback, RemotePort}] =
+ ?match([{Loopback,_RemotePort}], orber:iiop_connections(in)),
+ ?match([{IP, Port, IP}], orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [out])),
+ ?match([{IP, Port}], orber:find_sockname_by_peername(Loopback,RemotePort)),
+ ?match([{Loopback, RemotePort}], orber:find_peername_by_sockname(IP, Port)),
+
+ ?match([{Loopback, RemotePort}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ find_sockname_by_peername,
+ [IP, Port])),
+ ?match([{IP, Port}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ find_peername_by_sockname,
+ [Loopback,RemotePort])),
+
+ ok.
+
+
+iiop_timeout_api(doc) -> ["IIOP TIMEOUT API tests",
+ "This case test if timeout configuration behaves correctly"];
+iiop_timeout_api(suite) -> [];
+iiop_timeout_api(_Config) ->
+
+ %% Install two secure orber.
+ {ok, ClientNode, ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{iiop_timeout, 6},
+ {iiop_connection_timeout, 3},
+ {iiop_in_connection_timeout, 3}])),
+ ClientPort = orber_test_lib:remote_apply(ClientNode, orber, iiop_port, []),
+
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{iiop_timeout, 6},
+ {iiop_connection_timeout, 3},
+ {iiop_in_connection_timeout, 12}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [timeout])),
+
+ %% Tell client_orb to interoperate with server_orb.
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber_test_lib,
+ lookup,
+ [ServerHost, ServerPort])),
+ %% Interop worked fine, perform delay tests.
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber_test_lib,
+ timeouts,
+ [ServerHost, ServerPort, 6000])),
+
+ %% Create a connection to the "client_orb", which will now act as server.
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++ClientHost++":"++integer_to_list(ClientPort)++"/NameService")),
+ %% Check that the connection is established.
+ ?match([{_, ClientPort}], orber:iiop_connections(out)),
+ %% Wait >3 seconds (i.e. iiop_in_connection_timeout) and check if the connection
+ %% have been closed.
+ timer:sleep(8000),
+ ?match([], orber:iiop_connections(out)),
+
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ uninstall_test_data,
+ [timeout])),
+ ok.
+
+iiop_timeout_added_api(doc) -> ["IIOP TIMEOUT API tests",
+ "This case test if timeout configuration behaves correctly"];
+iiop_timeout_added_api(suite) -> [];
+iiop_timeout_added_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ {ok, Node, _Host} = ?match({ok,_,_}, orber_test_lib:js_node([])),
+ Port = 1 + orber_test_lib:remote_apply(Node, orber, iiop_port, []),
+ ?match({ok, _},
+ orber_test_lib:remote_apply(Node, orber,
+ add_listen_interface,
+ [IP, normal,
+ [{iiop_in_connection_timeout, 3},
+ {flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {iiop_port, Port}]])),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ install_test_data,
+ [timeout])),
+
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService")),
+ %% Check that the connection is established.
+ ?match([{_, Port}], orber:iiop_connections(out)),
+ %% Wait >3 seconds (i.e. iiop_in_connection_timeout) and check if the connection
+ %% have been closed.
+ timer:sleep(8000),
+ ?match([], orber:iiop_connections(out)),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ uninstall_test_data,
+ [timeout])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB using pseudo call/cast, no security
+%%-----------------------------------------------------------------
+
+multi_pseudo_orber_api(doc) ->
+ ["MULTI ORB PSEUDO API tests",
+ "This case test if data encode/decode (IIOP) for pseudo objects",
+ "produce the correct result, i.e., the test_server echos",
+ "the input parameter or an exception is raised (MARSHAL)."];
+multi_pseudo_orber_api(suite) -> [];
+multi_pseudo_orber_api(_Config) ->
+ %% --- Create a slave-node ---
+ {ok, Node, Host} =
+ ?match({ok,_,_}, orber_test_lib:js_node()),
+ Port = orber_test_lib:remote_apply(Node, orber, iiop_port, []),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ install_test_data,
+ [pseudo])),
+
+ NSR = ?match({'IOP_IOR',"IDL:omg.org/CosNaming/NamingContextExt:1.0",_},
+ corba:string_to_object("corbaloc::1.1@"++Host++":"++
+ integer_to_list(Port)++"/NameService")),
+ Obj =
+ ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ 'CosNaming_NamingContext':resolve(NSR, lname:new(["mamba"]))),
+ orber_test_lib:corba_object_tests(Obj, NSR),
+
+ %% Can we even contact the object?
+ ?match(ok, orber_test_server:print(Obj)),
+
+ %% Invoke one blocking call followed by several invokations.
+ spawn(?MODULE, pseudo_calls, [5, Obj]),
+ ?match({ok, 10000}, orber_test_server:pseudo_call_delay(Obj, 10000)),
+ spawn(?MODULE, pseudo_casts, [5, Obj]),
+ ?match(ok, orber_test_server:pseudo_cast_delay(Obj, 10000)),
+
+ %%--- Testing code and decode arguments ---
+ orber_test_lib:test_coding(Obj),
+
+ %% Test if exit is handled properly.
+ ?match({'EXCEPTION',{'TRANSIENT',_,_,_}},
+ orber_test_server:stop_brutal(Obj)),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ uninstall_test_data,
+ [pseudo])),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB with local flags definition set.
+%%-----------------------------------------------------------------
+flags_added_api(doc) ->
+ ["MULTI ORB PSEUDO with local flags definition set"];
+flags_added_api(suite) -> [];
+flags_added_api(_Config) ->
+ %% --- Create a slave-node ---
+ IP = orber_test_lib:get_host(),
+ {ok, Node, _Host} =
+ ?match({ok,_,_}, orber_test_lib:js_node([])),
+ Port = 1 + orber_test_lib:remote_apply(Node, orber, iiop_port, []),
+ ?match({ok, _},
+ orber_test_lib:remote_apply(Node, orber,
+ add_listen_interface,
+ [IP, normal,
+ [{flags, (?ORB_ENV_LOCAL_INTERFACE bor
+ ?ORB_ENV_EXCLUDE_CODESET_COMPONENT)},
+ {iiop_port, Port}]])),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ install_test_data,
+ [pseudo])),
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.1@"++IP++":"++
+ integer_to_list(Port)++"/NameService#mamba")),
+ ?match({'external', {IP, Port, _ObjectKey, _Counter,
+ #'IOP_TaggedProfile'{tag=?TAG_INTERNET_IOP,
+ profile_data=
+ #'IIOP_ProfileBody_1_1'{components=[]}},
+ _NewHD}},
+ iop_ior:get_key(Obj)),
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ uninstall_test_data,
+ [pseudo])),
+
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB with limited concurrent requests
+%%-----------------------------------------------------------------
+max_requests_api(doc) ->
+ ["MULTI ORB PSEUDO with limited concurrent requests tests"];
+max_requests_api(suite) -> [];
+max_requests_api(_Config) ->
+ %% --- Create a slave-node ---
+ {ok, Node, Host} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{iiop_max_in_requests, 1}])),
+ Port = orber_test_lib:remote_apply(Node, orber, iiop_port, []),
+ max_requests(Node, Host, Port).
+
+max_requests_added_api(doc) ->
+ ["MULTI ORB PSEUDO with limited concurrent requests tests"];
+max_requests_added_api(suite) -> [];
+max_requests_added_api(_Config) ->
+ %% --- Create a slave-node ---
+ [IP] = ?match([_], orber:host()),
+ {ok, Node, _Host} =
+ ?match({ok,_,_}, orber_test_lib:js_node([])),
+ Port = 1 + orber_test_lib:remote_apply(Node, orber, iiop_port, []),
+ ?match({ok, _},
+ orber_test_lib:remote_apply(Node, orber,
+ add_listen_interface,
+ [IP, normal,
+ [{iiop_max_in_requests, 1},
+ {flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {iiop_port, Port}]])),
+ max_requests(Node, IP, Port).
+
+max_requests(Node, Host, Port) ->
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ install_test_data,
+ [pseudo])),
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.1@"++Host++":"++
+ integer_to_list(Port)++"/NameService#mamba")),
+
+ %% Can we even contact the object?
+ ?match(ok, orber_test_server:print(Obj)),
+
+ %% Invoke one blocking call followed by several invokations.
+ spawn(orber_test_server, pseudo_call_delay, [Obj, 15000]),
+ %% Wait for a second to be sure that the previous request has been sent
+ timer:sleep(1000),
+ {MegaSecsB, Before, _} = now(),
+ pseudo_calls(5, Obj),
+ {MegaSecsA, After, _} = now(),
+ %% Normally we we can perform hundreds of pseudo-calls per second. Hence,
+ %% if we add 8 seconds to 'Before' it should still be less since we only
+ %% allow one request at a time to the target ORB.
+ ?match(true, (MegaSecsB + (Before+8)*1000000) < (MegaSecsA + After*1000000)),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ uninstall_test_data,
+ [pseudo])),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB with limited concurrent connections
+%%-----------------------------------------------------------------
+max_connections_api(doc) ->
+ ["MULTI ORB PSEUDO with limited concurrent connections tests"];
+max_connections_api(suite) -> [];
+max_connections_api(_Config) ->
+ %% --- Create a slave-node ---
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{iiop_backlog, 0},
+ {iiop_max_in_connections, 2}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+
+ %% Claim connection 1 & 2
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.2@"++ServerHost++":"++
+ integer_to_list(ServerPort)++"/NameService#mamba")),
+ %% Claim backlog
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node()),
+
+ spawn(ClientNode, orber_test_server, print, [Obj]),
+ timer:sleep(5000),
+ ?match([_], orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [])),
+
+ %% Try to connect. Should fail. Due to the behavior of different TCP stacks, backlog 1
+ %% might not be the precise value. Hence, we also need to define the iiop_timeout. Otherwise
+ %% this test case will fail. For the same reason we must GC this connection.
+ {ok, ClientNodeII, _ClientHostII} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{iiop_setup_connection_timeout, 5},
+ {iiop_timeout, 5},
+ {iiop_connection_timeout, 8}])),
+
+ ?match({'EXCEPTION', _},
+ orber_test_lib:remote_apply(ClientNodeII, orber_test_server,
+ testing_iiop_string, [Obj, "Fail"])),
+
+ %% Remove 2 connections. We need to wait a moment so that both sides has detected it.
+ timer:sleep(5000),
+ ?match([_,_], orber:iiop_connections()),
+ ?match(ok, orber_iiop_pm:close_connection([{ServerHost, ServerPort}])),
+ timer:sleep(5000),
+ [{Host, Port}] = ?match([_], orber:iiop_connections()),
+ ?match(ok, orber_iiop_pm:close_connection([{Host, Port}])),
+ timer:sleep(5000),
+ ?match([], orber:iiop_connections()),
+
+ ?match([_], orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [])),
+
+ ?match([], orber_test_lib:remote_apply(ClientNodeII, orber,
+ iiop_connections, [])),
+
+ ?match({ok, "OK"},
+ orber_test_lib:remote_apply(ClientNodeII, orber_test_server,
+ testing_iiop_string, [Obj, "OK"])),
+
+ timer:sleep(4000),
+ ?match([_], orber_test_lib:remote_apply(ClientNodeII, orber,
+ iiop_connections, [])),
+
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ uninstall_test_data,
+ [pseudo])),
+
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% API tests for terminating connection by using an IOR.
+%%-----------------------------------------------------------------
+close_connections_api(doc) ->
+ ["Close outgoing connection "];
+close_connections_api(suite) -> [];
+close_connections_api(_Config) ->
+ %% --- Create a slave-node ---
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+ orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IP = orber_test_lib:get_host(),
+
+ %% Create a connection
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.2@"++IP++":"++
+ integer_to_list(ServerPort)++"/NameService#mamba")),
+ %% Check that it's up.
+ ?match([{IP, ServerPort}], orber:iiop_connections(out)),
+ %% Try to close using the wronge interface.
+ ?match(ok, orber:close_connection(Obj, Loopback)),
+ %% Should still be up.
+ ?match([{IP, ServerPort}], orber:iiop_connections(out)),
+ %% Try to close it properly
+ ?match(ok, orber:close_connection(Obj)),
+ %% Wait a moment so that both sides has detected it.
+ timer:sleep(5000),
+ %% Worked?
+ ?match([], orber:iiop_connections(out)),
+ ok.
+
+
+close_connections_local_interface_api(doc) ->
+ ["IIOP Local Interface disconnect tests",
+ "This case test if the server ORB use the correct",
+ "local interface when connecting to another ORB"];
+close_connections_local_interface_api(suite) -> [];
+close_connections_local_interface_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{ip_address_local, Loopback}])),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{ip_address, IP}])),
+ Port = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR = ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService"])),
+
+ %% Check that the connnection is up and running using the default interface
+ ?match([{Loopback,_RemotePort}], orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_connections, [in])),
+ ?match([{IP, Port}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [out])),
+ %% Try to close the connection
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber,
+ close_connection, [IOR])),
+ %% Wait a moment so that both sides has detected it.
+ timer:sleep(5000),
+ %% Now the connection shall be gone.
+ ?match([], orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [out])),
+ ?match([], orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_connections, [in])),
+
+ ok.
+
+close_connections_local_interface_ctx_override_api(doc) ->
+ ["IIOP Local Interface disconnect tests",
+ "This case test if the server ORB use the correct",
+ "local interface when connecting to another ORB"];
+close_connections_local_interface_ctx_override_api(suite) -> [];
+close_connections_local_interface_ctx_override_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{ip_address_local, IP},
+ {ip_address, IP}])),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{ip_address, IP}])),
+ Port = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR = ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService",
+ [#'IOP_ServiceContext'
+ {context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface, Loopback}}]])),
+
+ timer:sleep(2000),
+ %% Check that the connnection is up and running using the default interface
+ ?match([{Loopback,_RemotePort}], orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_connections, [in])),
+
+ ?match([{IP, Port, Loopback}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [out])),
+ %% Try to close not supplying the interface.
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber,
+ close_connection, [IOR])),
+
+ timer:sleep(2000),
+ %% The connection shall still be up and running
+ ?match([{Loopback,_RemotePort}], orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_connections, [in])),
+ ?match([{IP, Port, Loopback}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [out])),
+ %% Try to close not supplying the interface.
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber,
+ close_connection, [IOR, IP])),
+
+ timer:sleep(2000),
+ %% The connection shall still be up and running
+ ?match([{Loopback,_RemotePort}], orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_connections, [in])),
+ ?match([{IP, Port, Loopback}],
+ orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [out])),
+
+ %% Try to close supplying the correct interface.
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber,
+ close_connection, [IOR, Loopback])),
+ %% Wait a moment so that both sides has detected it.
+ timer:sleep(5000),
+ %% Now the connection shall be gone.
+ ?match([], orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_connections, [in])),
+ ?match([], orber_test_lib:remote_apply(ClientNode, orber,
+ iiop_connections, [out])),
+ ok.
+
+close_connections_alt_iiop_addr_api(doc) ->
+ ["IIOP alternate address disconnect tests",
+ "This case test if the server ORB use the correct",
+ "local interface when connecting to another ORB"];
+close_connections_alt_iiop_addr_api(suite) -> [];
+close_connections_alt_iiop_addr_api(_Config) ->
+ %% --- Create a slave-node ---
+ Loopback = orber_test_lib:get_loopback_interface(),
+ IP = orber_test_lib:get_host(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{giop_version, {1, 2}},
+ {ip_address, {multiple, [IP, Loopback]}}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [{nameservice, Loopback, ServerPort}])),
+ %% Create two connections
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.2@"++IP++":"++
+ integer_to_list(ServerPort)++"/NameService#mamba")),
+ ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.2@"++Loopback++":"++
+ integer_to_list(ServerPort)++"/NameService#mamba")),
+ timer:sleep(2000),
+ %% The connection shall still be up and running
+ ?match([{_,_}, {_,_}], orber:iiop_connections(out)),
+ ?match([{_,_}, {_,_}],
+ orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_connections, [in])),
+
+ %% Try to close the connection
+ ?match(ok, orber:close_connection(Obj)),
+ %% Wait a moment so that both sides has detected it.
+ timer:sleep(5000),
+ %% Now the connections shall be gone.
+ ?match([], orber:iiop_connections(out)),
+ ?match([], orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_connections, [in])),
+ ok.
+
+close_connections_multiple_profiles_api(doc) ->
+ ["IIOP alternate address disconnect tests",
+ "This case test if the server ORB use the correct",
+ "local interface when connecting to another ORB"];
+close_connections_multiple_profiles_api(suite) -> [];
+close_connections_multiple_profiles_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ %% --- Create a slave-node ---
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{ip_address,
+ {multiple, [Loopback, IP]}}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data, [nameservice])),
+ %% Create two connections
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.2@"++IP++":"++
+ integer_to_list(ServerPort)++"/NameService#mamba")),
+ ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.2@"++Loopback++":"++
+ integer_to_list(ServerPort)++"/NameService#mamba")),
+ %% The connection shall still be up and running
+ ?match([{_,_}, {_,_}], orber:iiop_connections(out)),
+ ?match([{_,_}, {_,_}],
+ orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_connections, [in])),
+
+ %% Try to close the connection
+ ?match(ok, orber:close_connection(Obj)),
+ %% Wait a moment so that both sides has detected it.
+ timer:sleep(5000),
+ %% Now the connections shall be gone.
+ ?match([], orber:iiop_connections(out)),
+ ?match([], orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_connections, [in])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB with iiop_packet_size set
+%%-----------------------------------------------------------------
+max_packet_size_exceeded_api(doc) ->
+ ["Exceed the maximum request size"];
+max_packet_size_exceeded_api(suite) -> [];
+max_packet_size_exceeded_api(_Config) ->
+ case catch gen_tcp:listen(0, [{packet,cdr}, {packet_size, 14}]) of
+ {'EXIT',badarg} ->
+ {skipped, "The inet option {packet_size, Max} not supported"};
+ {ok, LS} ->
+ (catch gen_tcp:close(LS)),
+ %% --- Create a slave-node ---
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{iiop_packet_size, 1}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_port, []),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ corba:string_to_object("corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService")),
+ ok
+ end.
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB with iiop_packet_size set
+%%-----------------------------------------------------------------
+max_packet_size_ok_api(doc) ->
+ ["Not exceed the maximum request size"];
+max_packet_size_ok_api(suite) -> [];
+max_packet_size_ok_api(_Config) ->
+ case catch gen_tcp:listen(0, [{packet,cdr}, {packet_size, 14}]) of
+ {'EXIT',badarg} ->
+ {skipped, "The inet option {packet_size, Max} not supported"};
+ {ok, LS} ->
+ (catch gen_tcp:close(LS)),
+ %% --- Create a slave-node ---
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{iiop_packet_size, 5000}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber,
+ iiop_port, []),
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService")),
+ ok
+ end.
+
+
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, no security
+%%-----------------------------------------------------------------
+
+light_ifr_api(doc) -> ["LIGHT IFR ORB API tests"];
+light_ifr_api(suite) -> [];
+light_ifr_api(_Config) ->
+
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, 128}])),
+
+ ?match([_,_,_,_], orber_test_lib:remote_apply(ClientNode, orber, get_tables, [])),
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+
+
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, 128}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+ ?match([_,_,_,_], orber_test_lib:remote_apply(ServerNode, orber, get_tables, [])),
+
+ Obj = ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaname::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService#mamba")),
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber_test_lib, test_coding, [Obj])),
+
+ ?match(0, orber_test_lib:remote_apply(ClientNode, orber_diagnostics, missing_modules, [])),
+
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, mnesia, dirty_write,
+ [#orber_light_ifr{id = "FakeId1",
+ module=non_existing,
+ type=?IFR_StructDef}])),
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, mnesia, dirty_write,
+ [#orber_light_ifr{id = "FakeId2",
+ module=non_existing,
+ type=?IFR_UnionDef}])),
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, mnesia, dirty_write,
+ [#orber_light_ifr{id = "FakeId3",
+ module=non_existing,
+ type=?IFR_ExceptionDef}])),
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, mnesia, dirty_write,
+ [#orber_light_ifr{id = "FakeId4",
+ module=non_existing,
+ type=?IFR_InterfaceDef}])),
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, mnesia, dirty_write,
+ [#orber_light_ifr{id = "FakeId5",
+ module=orber_test_lib,
+ type=?IFR_InterfaceDef}])),
+ ?match(5, orber_test_lib:remote_apply(ClientNode, orber_diagnostics, missing_modules, [])),
+
+
+ ?match(ok, mnesia:dirty_write(#ir_UnionDef{ir_Internal_ID = "FakedIId1",
+ absolute_name="::Module::NonExisting"})),
+ ?match(ok, mnesia:dirty_write(#ir_StructDef{ir_Internal_ID = "FakedIId2",
+ absolute_name="::Module::NonExisting"})),
+ ?match(ok, mnesia:dirty_write(#ir_ExceptionDef{ir_Internal_ID = "FakedIId3",
+ absolute_name="::Module::NonExisting"})),
+ ?match(ok, mnesia:dirty_write(#ir_InterfaceDef{ir_Internal_ID = "FakedIId4",
+ absolute_name="::Module::NonExisting"})),
+ ?match(ok, mnesia:dirty_write(#ir_InterfaceDef{ir_Internal_ID = "FakedIId5",
+ absolute_name="::orber::test::lib"})),
+
+ ?match(5, orber_diagnostics:missing_modules()),
+
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ uninstall_test_data,
+ [nameservice])),
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber_test_lib,
+ uninstall_test_data,
+ [nameservice])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, no security
+%%-----------------------------------------------------------------
+
+light_orber_api(doc) -> ["LIGHT ORB API tests",
+ "This case test if a light Orber can communicate correctly",
+ "with an fully installed Orber."];
+light_orber_api(suite) -> [];
+light_orber_api(_Config) ->
+ %% --- Create a slave-node ---
+ LocalHost = net_adm:localhost(),
+ {ok, Node, _Host} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{lightweight, ["iiop://"++LocalHost++":"++integer_to_list(orber:iiop_port())]}],
+ lightweight)),
+ ?match(ok, orber:info(io)),
+ ?match([_], orber_test_lib:remote_apply(Node, orber_env, get_lightweight_nodes,[])),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ install_test_data,
+ [light])),
+
+ Obj1=(catch orber_test_server:oe_create(state,[{pseudo,true}])),
+ ?match({_,pseudo,orber_test_server_impl, _,_, _}, Obj1),
+ Obj2=(catch orber_test_server:oe_create(state,[])),
+ ?match({_,key,_, _,_, _}, Obj2),
+
+ NS = corba:resolve_initial_references("NameService"),
+ 'CosNaming_NamingContext':bind(NS, lname:new(["mamba"]), Obj1),
+ 'CosNaming_NamingContext':bind(NS, lname:new(["viper"]), Obj2),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ light_tests,
+ [LocalHost,
+ orber:iiop_port(), "viper"])),
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ light_tests,
+ [LocalHost,
+ orber:iiop_port(), "mamba"])),
+
+ %% Clean up.
+
+ catch corba:dispose(Obj1),
+ catch corba:dispose(Obj2),
+ catch 'CosNaming_NamingContext':destroy(NS),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ uninstall_test_data,
+ [light])),
+ ok.
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, no security
+%%-----------------------------------------------------------------
+
+light_orber2_api(doc) -> ["LIGHT ORB API tests",
+ "This case test if a light Orber can communicate correctly",
+ "with an fully installed Orber. This case test if we can",
+ "start as lightweight without first setting the environment",
+ "variable"];
+light_orber2_api(suite) -> [];
+light_orber2_api(_Config) ->
+ %% --- Create a slave-node ---
+ LocalHost = net_adm:localhost(),
+ {ok, Node, _Host} =
+ ?match({ok,_,_}, orber_test_lib:js_node([],
+ {lightweigth, ["iiop://"++LocalHost++":"++integer_to_list(orber:iiop_port())]})),
+ ?match(ok, orber:info(io)),
+ ?match([_], orber_test_lib:remote_apply(Node, orber_env, get_lightweight_nodes,[])),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ install_test_data,
+ [light])),
+
+ Obj1=(catch orber_test_server:oe_create(state,[{pseudo,true}])),
+ ?match({_,pseudo,orber_test_server_impl, _,_, _}, Obj1),
+ Obj2=(catch orber_test_server:oe_create(state,[])),
+ ?match({_,key,_, _,_, _}, Obj2),
+
+ NS = corba:resolve_initial_references("NameService"),
+ 'CosNaming_NamingContext':bind(NS, lname:new(["mamba"]), Obj1),
+ 'CosNaming_NamingContext':bind(NS, lname:new(["viper"]), Obj2),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ light_tests,
+ [LocalHost,
+ orber:iiop_port(), "viper"])),
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ light_tests,
+ [LocalHost,
+ orber:iiop_port(), "mamba"])),
+
+ %% Clean up.
+
+ catch corba:dispose(Obj1),
+ catch corba:dispose(Obj2),
+ catch 'CosNaming_NamingContext':destroy(NS),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ uninstall_test_data,
+ [light])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, no security
+%%-----------------------------------------------------------------
+
+multi_orber_api(doc) -> ["MULTI ORB API tests",
+ "This case test if data encode/decode (IIOP)",
+ "produce the correct result, i.e., the test_server echos",
+ "the input parameter or an exception is raised (MARSHAL)."];
+multi_orber_api(suite) -> [];
+multi_orber_api(_Config) ->
+
+ NewICObj1 = ?match({_,_,_,_,_,_}, orber_test_server:oe_create([])),
+ NewICObj2 = ?match({_,_,_,_,_,_}, orber_test_server:oe_create([], [{regname, {local, newic2}}])),
+ NewICObj3 = ?match({_,_,_,_,_,_}, orber_test_server:oe_create([], [{regname, {global, newic3}}])),
+ ?match(ok, orber_test_server:print(NewICObj1)),
+ ?match(ok, orber_test_server:print(NewICObj2)),
+ ?match(ok, orber_test_server:print(NewICObj3)),
+ catch corba:dispose(NewICObj1),
+ catch corba:dispose(NewICObj2),
+ catch corba:dispose(NewICObj3),
+
+ %% --- Create a slave-node ---
+ {ok, Node, Host} =
+ ?match({ok,_,_}, orber_test_lib:js_node()),
+ Port = orber_test_lib:remote_apply(Node, orber, iiop_port, []),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+
+ NSR = ?match({'IOP_IOR',"IDL:omg.org/CosNaming/NamingContextExt:1.0",_},
+ corba:string_to_object("corbaloc::1.2@"++Host++":"++
+ integer_to_list(Port)++"/NameService")),
+
+ ?match({'EXCEPTION',{'CosNaming_NamingContext_NotFound',_,_,_}},
+ 'CosNaming_NamingContext':resolve(NSR, lname:new(["not_exist"]))),
+
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ 'CosNaming_NamingContext':resolve(NSR, lname:new(["mamba"]))),
+ ?match(ok, orber_test_server:print(Obj)),
+
+ Obj12B = ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++Host++":"++integer_to_list(Port)++"/Mamba")),
+
+ Obj11B = ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.1@"++Host++":"++integer_to_list(Port)++"/Mamba")),
+
+ Obj10B = ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.0@"++Host++":"++integer_to_list(Port)++"/Mamba")),
+
+ context_test(Obj12B),
+ context_test(Obj11B),
+
+ ?match(ok, orber_test_server:print(Obj12B)),
+ ?match(ok, orber_test_server:print(Obj11B)),
+ ?match(ok, orber_test_server:print(Obj10B)),
+ ?match({'EXCEPTION',{'CosNaming_NamingContextExt_InvalidAddress',_}},
+ corba:string_to_object("corbaloc::1.0@"++Host++":"++integer_to_list(Port)++"/Wrong")),
+
+ ?match(ok, orber_test_lib:corba_object_tests(Obj12B, NSR)),
+ ?match(ok, orber_test_lib:corba_object_tests(Obj11B, NSR)),
+ ?match(ok, orber_test_lib:corba_object_tests(Obj10B, NSR)),
+
+ %%--- Testing code and decode arguments ---
+ orber_test_lib:test_coding(Obj),
+
+ ?match({'EXCEPTION',#'BAD_CONTEXT'{}},
+ orber_test_server:
+ print(Obj12B,
+ [{context,
+ [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface,
+ {127,0,0,1}}}]}])),
+
+ ?match({'EXCEPTION',{'TRANSIENT',_,_,_}},
+ orber_test_server:stop_brutal(Obj12B)),
+ ?match({'EXCEPTION',{'TRANSIENT',_,_,_}},
+ orber_test_server:print(Obj12B)),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ uninstall_test_data,
+ [nameservice])),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, no security, using basic interceptors
+%%-----------------------------------------------------------------
+basic_PI_api(doc) -> ["MULTI ORB API tests",
+ "This case test if data encode/decode (IIOP)",
+ "produce the correct result when using basic interceptors,",
+ "i.e., the test_server echos",
+ "the input parameter or an exception is raised (MARSHAL)."];
+basic_PI_api(suite) -> [];
+basic_PI_api(_Config) ->
+ %% Change configuration to use Basic Interceptors.
+ orber:configure_override(interceptors, {native, [orber_test_lib]}),
+ %% --- Create a slave-node ---
+ {ok, Node, Host} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{interceptors, {native, [orber_test_lib]}}])),
+ Port = orber_test_lib:remote_apply(Node, orber, iiop_port, []),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+
+ Obj12 = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.2@"++Host++":"++integer_to_list(Port)++"/NameService#mamba")),
+
+ Obj11 = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.1@"++Host++":"++integer_to_list(Port)++"/NameService#mamba")),
+
+ Obj10 = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.0@"++Host++":"++integer_to_list(Port)++"/NameService#mamba")),
+
+ ?match(ok, corba:print_object(Obj12)),
+ ?match(ok, corba:print_object(Obj11, error_report)),
+ ?match(ok, corba:print_object(Obj10, {error_report, "Reason"})),
+
+ ?match(ok, orber_test_server:print(Obj12)),
+ ?match(ok, orber_test_server:print(Obj11)),
+ ?match(ok, orber_test_server:print(Obj10)),
+
+
+ Obj12B = ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++Host++":"++integer_to_list(Port)++"/Mamba")),
+
+ Obj11B = ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.1@"++Host++":"++integer_to_list(Port)++"/Mamba")),
+
+ Obj10B = ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.0@"++Host++":"++integer_to_list(Port)++"/Mamba")),
+
+ ?match(ok, corba:print_object(Obj12B, info_msg)),
+ ?match(ok, corba:print_object(Obj11B, {info_msg, "Comment"})),
+ ?match([_|_], corba:print_object(Obj10B, string)),
+
+ ?match(ok, orber_test_server:print(Obj12B)),
+ ?match(ok, orber_test_server:print(Obj11B)),
+ ?match(ok, orber_test_server:print(Obj10B)),
+ ?match({'EXCEPTION',{'CosNaming_NamingContextExt_InvalidAddress',_}},
+ corba:string_to_object("corbaloc::1.0@"++Host++":"++integer_to_list(Port)++"/Wrong")),
+
+ ?match(ok, orber_test_lib:alternate_iiop_address(Host, Port)),
+
+ context_test(Obj12B),
+ context_test(Obj11B),
+
+ %%--- Testing code and decode arguments ---
+ orber_test_lib:test_coding(Obj12),
+ orber_test_lib:test_coding(Obj11),
+ orber_test_lib:test_coding(Obj10),
+
+ application:set_env(orber, interceptors, false),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ uninstall_test_data,
+ [nameservice])),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, ssl security depth 1
+%%-----------------------------------------------------------------
+
+ssl_1_multi_orber_api(doc) -> ["SECURE MULTI ORB API tests (SSL depth 1)",
+ "This case set up two secure orbs and test if they can",
+ "communicate. The case also test to access one of the",
+ "secure orbs which must raise a NO_PERMISSION exception."];
+ssl_1_multi_orber_api(suite) -> [];
+ssl_1_multi_orber_api(_Config) ->
+ case os:type() of
+ vxworks ->
+ {skipped, "No SSL-support for VxWorks."};
+ _ ->
+ ServerOptions = orber_test_lib:get_options(iiop_ssl, server,
+ 1, [{iiop_ssl_port, 0}]),
+ ClientOptions = orber_test_lib:get_options(iiop_ssl, client,
+ 1, [{iiop_ssl_port, 0}]),
+ ssl_suite(ServerOptions, ClientOptions),
+ ok
+ end.
+
+ssl_1_multi_orber_generation_3_api(doc) -> ["SECURE MULTI ORB API tests (SSL depth 1)",
+ "This case set up two secure orbs and test if they can",
+ "communicate. The case also test to access one of the",
+ "secure orbs which must raise a NO_PERMISSION exception."];
+ssl_1_multi_orber_generation_3_api(suite) -> [];
+ssl_1_multi_orber_generation_3_api(_Config) ->
+ case os:type() of
+ vxworks ->
+ {skipped, "No SSL-support for VxWorks."};
+ _ ->
+ case orber_test_lib:ssl_version() of
+ 3 ->
+ ServerOptions = orber_test_lib:get_options(iiop_ssl, server,
+ 1, [{ssl_generation, 3},
+ {iiop_ssl_port, 0}]),
+ ClientOptions = orber_test_lib:get_options(iiop_ssl, client,
+ 1, [{ssl_generation, 3},
+ {iiop_ssl_port, 0}]),
+ ssl_suite(ServerOptions, ClientOptions),
+ ok;
+ _ ->
+ {skipped, "Required SSL generation not available"}
+ end
+ end.
+
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, ssl security depth 2
+%%-----------------------------------------------------------------
+
+ssl_2_multi_orber_api(doc) -> ["SECURE MULTI ORB API tests (SSL depth 2)",
+ "This case set up two secure orbs and test if they can",
+ "communicate. The case also test to access one of the",
+ "secure orbs which must raise a NO_PERMISSION exception."];
+ssl_2_multi_orber_api(suite) -> [];
+ssl_2_multi_orber_api(_Config) ->
+ case os:type() of
+ vxworks ->
+ {skipped, "No SSL-support for VxWorks."};
+ _ ->
+ ServerOptions = orber_test_lib:get_options(iiop_ssl, server,
+ 2, [{iiop_ssl_port, 0}]),
+ ClientOptions = orber_test_lib:get_options(iiop_ssl, client,
+ 2, [{iiop_ssl_port, 0}]),
+ ssl_suite(ServerOptions, ClientOptions),
+ ok
+ end.
+
+ssl_2_multi_orber_generation_3_api(doc) -> ["SECURE MULTI ORB API tests (SSL depth 2)",
+ "This case set up two secure orbs and test if they can",
+ "communicate. The case also test to access one of the",
+ "secure orbs which must raise a NO_PERMISSION exception."];
+ssl_2_multi_orber_generation_3_api(suite) -> [];
+ssl_2_multi_orber_generation_3_api(_Config) ->
+ case os:type() of
+ vxworks ->
+ {skipped, "No SSL-support for VxWorks."};
+ _ ->
+ case orber_test_lib:ssl_version() of
+ 3 ->
+ ServerOptions = orber_test_lib:get_options(iiop_ssl, server,
+ 2, [{ssl_generation, 3},
+ {iiop_ssl_port, 0}]),
+ ClientOptions = orber_test_lib:get_options(iiop_ssl, client,
+ 2, [{ssl_generation, 3},
+ {iiop_ssl_port, 0}]),
+ ssl_suite(ServerOptions, ClientOptions),
+ ok;
+ _ ->
+ {skipped, "Required SSL generation not available"}
+ end
+ end.
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, ssl security depth 2
+%%-----------------------------------------------------------------
+
+ssl_reconfigure_api(doc) -> ["SECURE MULTI ORB API tests (SSL depth 2)",
+ "This case set up two secure orbs and test if they can",
+ "communicate. The case also test to access one of the",
+ "secure orbs which must raise a NO_PERMISSION exception."];
+ssl_reconfigure_api(suite) -> [];
+ssl_reconfigure_api(_Config) ->
+ ssl_reconfigure([]).
+
+ssl_reconfigure_generation_3_api(doc) -> ["SECURE MULTI ORB API tests (SSL depth 2)",
+ "This case set up two secure orbs and test if they can",
+ "communicate. The case also test to access one of the",
+ "secure orbs which must raise a NO_PERMISSION exception."];
+ssl_reconfigure_generation_3_api(suite) -> [];
+ssl_reconfigure_generation_3_api(_Config) ->
+ case orber_test_lib:ssl_version() of
+ 3 ->
+ ssl_reconfigure([{ssl_generation, 3}]);
+
+ _ ->
+ {skipped, "Required SSL generation not available"}
+ end.
+
+ssl_reconfigure(ExtraSSLOptions) ->
+ case os:type() of
+ vxworks ->
+ {skipped, "No SSL-support for VxWorks."};
+ _ ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_},
+ orber_test_lib:js_node([{iiop_port, 0},
+ {flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {ip_address, IP}|ExtraSSLOptions])),
+ orber_test_lib:remote_apply(ServerNode, ssl, start, []),
+ orber_test_lib:remote_apply(ServerNode, crypto, start, []),
+ orber_test_lib:remote_apply(ServerNode, ssl, seed, ["testing"]),
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [ssl])),
+ ?match({ok, _},
+ orber_test_lib:remote_apply(ServerNode, orber,
+ add_listen_interface,
+ [Loopback, normal, [{iiop_port, 5648},
+ {iiop_ssl_port, 5649},
+ {interceptors, {native, [orber_iiop_tracer_silent]}}|ExtraSSLOptions]])),
+ ServerOptions = orber_test_lib:get_options(iiop_ssl, server,
+ 2, [{flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {iiop_port, 5648},
+ {iiop_ssl_port, 5649},
+ {interceptors, {native, [orber_iiop_tracer_silent]}}|ExtraSSLOptions]),
+ ?match({ok, _},
+ orber_test_lib:remote_apply(ServerNode, orber,
+ add_listen_interface,
+ [Loopback, ssl, ServerOptions])),
+
+ ClientOptions = orber_test_lib:get_options(iiop_ssl, client,
+ 2, [{iiop_ssl_port, 0}|ExtraSSLOptions]),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node(ClientOptions)),
+
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber_test_lib,
+ install_test_data,
+ [ssl])),
+ orber_test_lib:remote_apply(ClientNode, ssl, start, []),
+ orber_test_lib:remote_apply(ServerNode, crypto, start, []),
+ orber_test_lib:remote_apply(ClientNode, ssl, seed, ["testing"]),
+ Obj = ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba,
+ string_to_object, ["corbaname:iiop:1.1@"++Loopback++":5648/NameService#mamba",
+ [{context, [#'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {configuration, ClientOptions}}]}]])),
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber_test_server,
+ print, [Obj])),
+
+ ok
+ end.
+
+
+
+%%-----------------------------------------------------------------
+%% API tests for Orber to Java ORB, no security
+%%-----------------------------------------------------------------
+
+%orber_java_api(doc) -> ["ERLANG-ORB <-> JAVA-ORB API tests",
+% "This case test if data encode/decode (IIOP)",
+% "produce the correct result, i.e., the test_server echos",
+% "the input parameter or an exception is raised (MARSHAL)."];
+%orber_java_api(suite) -> [];
+%orber_java_api(Config) ->
+% ok.
+
+%%------------------------------------------------------------
+%% function : ssl_suite
+%% Arguments: Config
+%% Depth
+%% Returns : ok
+%% Effect :
+%%------------------------------------------------------------
+
+ssl_suite(ServerOptions, ClientOptions) ->
+
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node(ServerOptions)),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ SSLServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_ssl_port, []),
+
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node(ClientOptions)),
+
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [ssl])),
+ %% Tell the client to interoperate with the server. The purpose of this
+ %% operation is to look up, using NameService, an object reference and
+ %% use it to contact the object.
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber_test_lib,
+ lookup,
+ [ServerHost, ServerPort])),
+
+ ?match(ok, orber_test_lib:remote_apply(ClientNode, orber_test_lib,
+ alternate_ssl_iiop_address,
+ [ServerHost, ServerPort, SSLServerPort])),
+
+ %% 'This' node is not secure. Contact the server. Must refuse connection.
+ NSR = ?match({'IOP_IOR',"IDL:omg.org/CosNaming/NamingContextExt:1.0",_},
+ corba:string_to_object("corbaloc::1.2@"++ServerHost++":"++
+ integer_to_list(ServerPort)++"/NameService")),
+
+ %% Should be 'NO_PERMISSION'??
+ ?match({'EXCEPTION',{'COMM_FAILURE',_,_,_}},
+ 'CosNaming_NamingContext':resolve(NSR, lname:new(["not_exist"]))),
+
+ %% Should be 'NO_PERMISSION'??
+ ?match({'EXCEPTION',{'COMM_FAILURE',_,_,_}},
+ 'CosNaming_NamingContext':resolve(NSR, lname:new(["mamba"]))),
+
+ %% Uninstall.
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ uninstall_test_data,
+ [ssl])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% iiop_setup_connection_timeout API tests for ORB to ORB.
+%%-----------------------------------------------------------------
+setup_connection_timeout_api(doc) -> ["iiop_setup_connection_timeout API tests for ORB to ORB."];
+setup_connection_timeout_api(suite) -> [];
+setup_connection_timeout_api(_Config) ->
+ ?match(ok, application:set_env(orber, iiop_backlog, 0)),
+ %% Wait to be sure that the configuration has kicked in.
+ timer:sleep(2000),
+ {ok, Ref, Port} = create_fake_server_ORB(normal, 0, [], listen, []),
+ ?match(ok, orber:configure(iiop_setup_connection_timeout, 5)),
+ ?match(ok, orber:info(io)),
+ IP = orber_test_lib:get_host(),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ timer:sleep(2000),
+ Corbaloc = "corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService",
+ ?match({'EXCEPTION', _E}, corba:string_to_object(Corbaloc)),
+ destroy_fake_ORB(Ref),
+ ?match(ok, application:set_env(orber, iiop_backlog, 5)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% iiop_setup_connection_timeout API tests for ORB to ORB.
+%%-----------------------------------------------------------------
+setup_multi_connection_timeout_api(doc) ->
+ ["iiop_multi_setup_connection_timeout API tests for ORB to ORB."];
+setup_multi_connection_timeout_api(suite) -> [];
+setup_multi_connection_timeout_api(_Config) ->
+ ?match(ok, application:set_env(orber, iiop_backlog, 0)),
+ %% Wait to be sure that the configuration has kicked in.
+ timer:sleep(2000),
+ {ok, Ref, Port} = create_fake_server_ORB(normal, 0, [], listen, []),
+ ?match(ok, application:set_env(orber, iiop_out_ports, {6042, 6234})),
+ ?match(ok, orber:configure(iiop_setup_connection_timeout, 5)),
+ ?match(ok, orber:info(io)),
+ IP = orber_test_lib:get_host(),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ Corbaloc = "corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService",
+ timer:sleep(2000),
+ ?match({'EXCEPTION', _E}, corba:string_to_object(Corbaloc)),
+ destroy_fake_ORB(Ref),
+ ?match(ok, application:set_env(orber, iiop_backlog, 5)),
+ ?match(ok, application:set_env(orber, iiop_out_ports, undefined)),
+ ok.
+
+setup_multi_connection_timeout_attempts_api(doc) ->
+ ["iiop_multi_setup_connection_timeout API tests for ORB to ORB."];
+setup_multi_connection_timeout_attempts_api(suite) -> [];
+setup_multi_connection_timeout_attempts_api(_Config) ->
+ ?match(ok, application:set_env(orber, iiop_backlog, 0)),
+ %% Wait to be sure that the configuration has kicked in.
+ timer:sleep(2000),
+ {ok, Ref, Port} = create_fake_server_ORB(normal, 0, [], listen, []),
+ ?match(ok, application:set_env(orber, iiop_out_ports, {6042, 6234})),
+ ?match(ok, application:set_env(orber, iiop_out_ports_attempts, 1)),
+ ?match(ok, orber:configure(iiop_setup_connection_timeout, 5)),
+ ?match(ok, orber:info(io)),
+ IP = orber_test_lib:get_host(),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ Corbaloc = "corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService",
+ timer:sleep(2000),
+ ?match({'EXCEPTION', _E}, corba:string_to_object(Corbaloc)),
+ destroy_fake_ORB(Ref),
+ ?match(ok, application:set_env(orber, iiop_backlog, 5)),
+ ?match(ok, application:set_env(orber, iiop_out_ports, undefined)),
+ ok.
+
+setup_multi_connection_timeout_random_api(doc) ->
+ ["iiop_multi_setup_connection_timeout API tests for ORB to ORB."];
+setup_multi_connection_timeout_random_api(suite) -> [];
+setup_multi_connection_timeout_random_api(_Config) ->
+ ?match(ok, application:set_env(orber, iiop_backlog, 0)),
+ %% Wait to be sure that the configuration has kicked in.
+ timer:sleep(2000),
+ {ok, Ref, Port} = create_fake_server_ORB(normal, 0, [], listen, []),
+ ?match(ok, application:set_env(orber, iiop_out_ports, {6042, 6234})),
+ ?match(ok, application:set_env(orber, iiop_out_ports_random, true)),
+ ?match(ok, orber:configure(iiop_setup_connection_timeout, 5)),
+ ?match(ok, orber:info(io)),
+ IP = orber_test_lib:get_host(),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ spawn(?MODULE, do_connect, [IP, Port, [{active, false}]]),
+ Corbaloc = "corbaloc::1.2@"++IP++":"++integer_to_list(Port)++"/NameService",
+ timer:sleep(2000),
+ ?match({'EXCEPTION', _E}, corba:string_to_object(Corbaloc)),
+ destroy_fake_ORB(Ref),
+ ?match(ok, application:set_env(orber, iiop_backlog, 5)),
+ ?match(ok, application:set_env(orber, iiop_out_ports, undefined)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Sending an incorrect header to the server-side ORB.
+%%-----------------------------------------------------------------
+bad_giop_header_api(doc) -> ["Sending an incorrect header to the server-side ORB."];
+bad_giop_header_api(suite) -> [];
+bad_giop_header_api(_Config) ->
+ orber:configure_override(interceptors, {native,[orber_iiop_tracer]}),
+ orber:configure(orber_debug_level, 10),
+ ?match(ok, orber:info(io)),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node()),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ Req = <<"GIOP",1,2,0,100,0,0,0,5,0,0,0,10,50>> ,
+ ?match(ok, fake_client_ORB(normal, ServerHost, ServerPort, [],
+ message_error, [Req])),
+
+ application:set_env(orber, interceptors, false),
+ orber:configure(orber_debug_level, 0),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Fragmented IIOP tests (Server-side).
+%%-----------------------------------------------------------------
+-define(REQUEST_ID, 0).
+
+-define(REPLY_FRAG_1, <<71,73,79,80,1,2,2,1,0,0,0,41,0,0,0,?REQUEST_ID,0,0,0,0,0,0,0,1,78,69,79,0,0,0,0,2,0,10,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,49>>).
+%% The fragments are identical for requests and replies.
+-define(FRAG_2, <<71,73,79,80,1,2,2,7,0,0,0,5,0,0,0,?REQUEST_ID,50>>).
+-define(FRAG_3, <<71,73,79,80,1,2,2,7,0,0,0,5,0,0,0,?REQUEST_ID,51>>).
+-define(FRAG_4, <<71,73,79,80,1,2,0,7,0,0,0,5,0,0,0,?REQUEST_ID,0>>).
+
+
+fragments_server_api(doc) -> ["fragments API tests for server-side ORB."];
+fragments_server_api(suite) -> [];
+fragments_server_api(_Config) ->
+ %% --- Create a slave-node ---
+ {ok, Node, Host} =
+ ?match({ok,_,_}, orber_test_lib:js_node()),
+ Port = orber_test_lib:remote_apply(Node, orber, iiop_port, []),
+
+ ?match(ok, orber_test_lib:remote_apply(Node, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+
+ NSR = ?match({'IOP_IOR',"IDL:omg.org/CosNaming/NamingContextExt:1.0",_},
+ corba:string_to_object("corbaloc::1.2@"++Host++":"++
+ integer_to_list(Port)++"/NameService")),
+
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ 'CosNaming_NamingContext':resolve(NSR, lname:new(["mamba"]))),
+
+ Any = #any{typecode = {tk_string,0},
+ value = "123"},
+ Target = #'GIOP_TargetAddress'{label = ?GIOP_KeyAddr,
+ value = iop_ior:get_objkey(Obj)},
+ %% Fix a request header.
+ {Hdr, Body, HdrLen, _What, _Flags} =
+ cdr_encode:enc_request_split(
+ #giop_env{version = {1,2}, objkey = Target,
+ request_id = ?REQUEST_ID,
+ response_expected = true,
+ op = testing_iiop_any,
+ parameters = [49], ctx = [],
+ tc = {tk_void,[tk_char],[]},
+ host = [orber_test_lib:get_host()],
+ iiop_port = orber:iiop_port(),
+ iiop_ssl_port = orber:iiop_ssl_port(),
+ domain = orber:domain(),
+ partial_security = orber:partial_security()}),
+ NewBody =
+ case size(Body) of
+ 1 ->
+ <<0,0,0,18,0,0,0,0,0,0,0,4,49>> ;
+ Size ->
+ Aligned = Size -1,
+ <<AligmnetData:Aligned/binary,49>> = Body,
+ list_to_binary([AligmnetData, <<0,0,0,18,0,0,0,0,0,0,0,4,49>> ])
+ end,
+
+ MessSize = HdrLen+size(NewBody),
+ ReqFrag = list_to_binary([ <<"GIOP",1:8,2:8,2:8,0:8,
+ MessSize:32/big-unsigned-integer>> , Hdr |NewBody]),
+ ?match(Any, fake_client_ORB(normal, Host, Port, [], fragments,
+ [ReqFrag, ?FRAG_2, ?FRAG_3, ?FRAG_4])),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Fragmented IIOP tests (Server-side). Exceeding Maximum.
+%%-----------------------------------------------------------------
+fragments_max_server_api(doc) -> ["Maximum fragments API tests for server-side ORB."];
+fragments_max_server_api(suite) -> [];
+fragments_max_server_api(_Config) ->
+ %% --- Create a slave-node ---
+ IP = orber_test_lib:get_host(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{iiop_max_fragments, 2},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ fragments_max_server(ServerNode, IP, ServerPort).
+
+fragments_max_server_added_api(doc) -> ["Maximum fragments API tests for server-side ORB."];
+fragments_max_server_added_api(suite) -> [];
+fragments_max_server_added_api(_Config) ->
+ %% --- Create a slave-node ---
+ IP = orber_test_lib:get_host(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([])),
+ ServerPort = 1 + orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({ok, _},
+ orber_test_lib:remote_apply(ServerNode, orber,
+ add_listen_interface,
+ [IP, normal,
+ [{iiop_max_fragments, 2},
+ {flags, ?ORB_ENV_LOCAL_INTERFACE},
+ {iiop_port, ServerPort}]])),
+ fragments_max_server(ServerNode, IP, ServerPort).
+
+fragments_max_server(ServerNode, ServerHost, ServerPort) ->
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [nameservice])),
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname::1.2@"++ServerHost++":"++
+ integer_to_list(ServerPort)++"/NameService#mamba")),
+ Target = #'GIOP_TargetAddress'{label = ?GIOP_KeyAddr,
+ value = iop_ior:get_objkey(Obj)},
+ %% Fix a request header.
+ {Hdr, Body, HdrLen, _What, _Flags} =
+ cdr_encode:enc_request_split(
+ #giop_env{version = {1,2},
+ objkey = Target,
+ request_id = ?REQUEST_ID,
+ response_expected = true,
+ op = testing_iiop_any,
+ parameters = [49], ctx = [],
+ tc = {tk_void,[tk_char],[]},
+ host = [orber_test_lib:get_host()],
+ iiop_port = orber:iiop_port(),
+ iiop_ssl_port = orber:iiop_ssl_port(),
+ domain = orber:domain(),
+ partial_security = orber:partial_security()}),
+ NewBody =
+ case size(Body) of
+ 1 ->
+ <<0,0,0,18,0,0,0,0,0,0,0,4,49>> ;
+ Size ->
+ Aligned = Size -1,
+ <<AligmnetData:Aligned/binary,49>> = Body,
+ list_to_binary([AligmnetData, <<0,0,0,18,0,0,0,0,0,0,0,4,49>> ])
+ end,
+
+ MessSize = HdrLen+size(NewBody),
+ ReqFrag = list_to_binary([ <<"GIOP",1:8,2:8,2:8,0:8,
+ MessSize:32/big-unsigned-integer>> , Hdr |NewBody]),
+ ?match(#'IMP_LIMIT'{},
+ fake_client_ORB(normal, ServerHost, ServerPort, [], fragments_max,
+ [ReqFrag, ?FRAG_2, ?FRAG_3, ?FRAG_4])),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Fragmented IIOP tests (Client-side).
+%%-----------------------------------------------------------------
+fragments_client_api(doc) -> ["fragments API tests for client-side ORB."];
+fragments_client_api(suite) -> [];
+fragments_client_api(_Config) ->
+ Any = #any{typecode = {tk_string,0},
+ value = "123"},
+ application:set_env(orber, interceptors, {native,[orber_iiop_tracer]}),
+ orber:configure(orber_debug_level, 10),
+ orber:info(),
+ IOR = ?match({'IOP_IOR',_,_},
+ iop_ior:create_external({1, 2}, "IDL:FAKE:1.0",
+ "localhost", 6004, "FAKE", [])),
+ spawn(?MODULE, create_fake_server_ORB, [normal, 6004, [], fragments,
+ [?REPLY_FRAG_1, ?FRAG_2,
+ ?FRAG_3, ?FRAG_4]]),
+ ?match({ok, Any}, orber_test_server:testing_iiop_any(IOR, Any)),
+ application:set_env(orber, interceptors, false),
+ orber:configure(orber_debug_level, 0),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Fragmented IIOP tests (Client-side).
+%%-----------------------------------------------------------------
+bad_fragment_id_client_api(doc) -> ["fragments API tests for client-side ORB."];
+bad_fragment_id_client_api(suite) -> [];
+bad_fragment_id_client_api(_Config) ->
+ application:set_env(orber, interceptors, {native,[orber_iiop_tracer]}),
+ orber:configure(orber_debug_level, 10),
+ orber:info(),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node()),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ Req = <<71,73,79,80,1,2,2,7,0,0,0,5,0,0,0,100,50>> ,
+ ?match(ok, fake_client_ORB(normal, ServerHost, ServerPort, [],
+ message_error, [Req])),
+
+ application:set_env(orber, interceptors, false),
+ orber:configure(orber_debug_level, 0),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Non-existing request id
+%%-----------------------------------------------------------------
+bad_id_cancel_request_api(doc) -> ["Description", "more description"];
+bad_id_cancel_request_api(suite) -> [];
+bad_id_cancel_request_api(Config) when is_list(Config) ->
+ Req10 = cdr_encode:enc_cancel_request(#giop_env{version = {1, 0},
+ request_id = 556}),
+ Req11 = cdr_encode:enc_cancel_request(#giop_env{version = {1, 1},
+ request_id = 556}),
+ Req12 = cdr_encode:enc_cancel_request(#giop_env{version = {1, 2},
+ request_id = 556}),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node()),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match(ok, fake_client_ORB(normal, ServerHost, ServerPort, [],
+ message_error, [Req10])),
+ ?match(ok, fake_client_ORB(normal, ServerHost, ServerPort, [],
+ message_error, [Req11])),
+ ?match(ok, fake_client_ORB(normal, ServerHost, ServerPort, [],
+ message_error, [Req12])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Local functions.
+%%-----------------------------------------------------------------
+
+do_connect(Host, Port, Options) ->
+ gen_tcp:connect(Host, Port, Options),
+ timer:sleep(20000).
+
+pseudo_calls(0, _) ->
+ ok;
+pseudo_calls(Times, Obj) ->
+ orber_test_server:pseudo_call(Obj),
+ New = Times - 1,
+ pseudo_calls(New, Obj).
+pseudo_casts(0, _) ->
+ ok;
+pseudo_casts(Times, Obj) ->
+ orber_test_server:pseudo_cast(Obj),
+ New = Times - 1,
+ pseudo_casts(New, Obj).
+
+context_test(Obj) ->
+ CodeSetCtx = #'CONV_FRAME_CodeSetContext'{char_data = 65537,
+ wchar_data = 65801},
+ FTGrp = #'FT_FTGroupVersionServiceContext'{object_group_ref_version = ?ULONGMAX},
+ FTReq = #'FT_FTRequestServiceContext'{client_id = "ClientId",
+ retention_id = ?LONGMAX,
+ expiration_time = ?ULONGLONGMAX},
+
+ IDToken1 = #'CSI_IdentityToken'{label = ?CSI_IdentityTokenType_ITTAbsent,
+ value = true},
+ IDToken2 = #'CSI_IdentityToken'{label = ?CSI_IdentityTokenType_ITTAnonymous,
+ value = false},
+ IDToken3 = #'CSI_IdentityToken'{label = ?CSI_IdentityTokenType_ITTPrincipalName,
+ value = [0,255]},
+ IDToken4 = #'CSI_IdentityToken'{label = ?CSI_IdentityTokenType_ITTX509CertChain,
+ value = [1,255]},
+ IDToken5 = #'CSI_IdentityToken'{label = ?CSI_IdentityTokenType_ITTDistinguishedName,
+ value = [2,255]},
+ IDToken6 = #'CSI_IdentityToken'{label = ?ULONGMAX,
+ value = [3,255]},
+
+ MTEstablishContext1 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken1,
+ client_authentication_token = [1, 255]}},
+ MTEstablishContext2 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken2,
+ client_authentication_token = [1, 255]}},
+ MTEstablishContext3 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken3,
+ client_authentication_token = [1, 255]}},
+ MTEstablishContext4 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken4,
+ client_authentication_token = [1, 255]}},
+ MTEstablishContext5 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken5,
+ client_authentication_token = [1, 255]}},
+ MTEstablishContext6 = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTEstablishContext,
+ value = #'CSI_EstablishContext'{client_context_id = ?ULONGLONGMAX,
+ authorization_token =
+ [#'CSI_AuthorizationElement'
+ {the_type = ?ULONGMAX,
+ the_element = [0,255]}],
+ identity_token = IDToken6,
+ client_authentication_token = [1, 255]}},
+ MTCompleteEstablishContext = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTCompleteEstablishContext,
+ value = #'CSI_CompleteEstablishContext'{client_context_id = ?ULONGLONGMAX,
+ context_stateful = false,
+ final_context_token = [1, 255]}},
+ MTContextError = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTContextError,
+ value = #'CSI_ContextError'{client_context_id = ?ULONGLONGMAX,
+ major_status = 1,
+ minor_status = 2,
+ error_token = [2,255]}},
+ MTMessageInContext = #'CSI_SASContextBody'
+ {label = ?CSI_MsgType_MTMessageInContext,
+ value = #'CSI_MessageInContext'{client_context_id = ?ULONGLONGMAX,
+ discard_context = true}},
+ Ctx = [#'IOP_ServiceContext'{context_id=?IOP_CodeSets,
+ context_data = CodeSetCtx},
+ #'IOP_ServiceContext'{context_id=?IOP_FT_GROUP_VERSION,
+ context_data = FTGrp},
+ #'IOP_ServiceContext'{context_id=?IOP_FT_REQUEST,
+ context_data = FTReq},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext1},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext2},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext3},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext4},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext5},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTEstablishContext6},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTCompleteEstablishContext},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTContextError},
+ #'IOP_ServiceContext'{context_id=?IOP_SecurityAttributeService,
+ context_data = MTMessageInContext},
+ #'IOP_ServiceContext'{context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {any_kind_of_data, {127,0,0,1}, 4001}}],
+ ?match(ok, orber_test_server:testing_iiop_context(Obj, [{context, Ctx}])).
+
+
+create_fake_server_ORB(Type, Port, Options, listen, _Data) ->
+ {ok, _ListenSocket, NewPort} =
+ orber_socket:listen(Type, Port,
+ [{backlog, 0}, {active, false}|Options]),
+ Socket = orber_socket:connect(Type, 'localhost', NewPort, [{active, false}|Options]),
+ {ok, {Type, Socket}, NewPort};
+create_fake_server_ORB(Type, Port, Options, Action, Data) ->
+ {ok, ListenSocket, _NewPort} =
+ orber_socket:listen(Type, Port, [{active, false}|Options]),
+ Socket = orber_socket:accept(Type, ListenSocket),
+ do_server_action(Type, Socket, Action, Data),
+ orber_socket:close(Type, Socket),
+ ok.
+
+destroy_fake_ORB({Type, Socket}) ->
+ orber_socket:close(Type, Socket);
+destroy_fake_ORB(_) ->
+ ok.
+
+fake_client_ORB(Type, Host, Port, Options, connect, _Data) ->
+ Socket = orber_socket:connect(Type, Host, Port, [{active, false}|Options]),
+ {Type, Socket};
+fake_client_ORB(Type, Host, Port, Options, Action, Data) ->
+ Socket = orber_socket:connect(Type, Host, Port, [{active, false}|Options]),
+ Result = do_client_action(Type, Socket, Action, Data),
+ orber_socket:close(Type, Socket),
+ Result.
+
+
+
+do_server_action(Type, Socket, fragments, FragList) ->
+ timer:sleep(3000),
+ {ok, _B} = gen_tcp:recv(Socket, 0),
+ ok = send_data(Type, Socket, FragList);
+do_server_action(_Type, _Socket, _Action, _Data) ->
+ ok.
+
+do_client_action(Type, Socket, fragments, FragList) ->
+ ok = send_data(Type, Socket, FragList),
+ timer:sleep(3000),
+ {ok, Bytes} = gen_tcp:recv(Socket, 0),
+ {#reply_header{request_id = ?REQUEST_ID, reply_status = no_exception}, ok, [Par]} =
+ cdr_decode:dec_message({tk_void,[tk_any],[tk_any]}, Bytes),
+ Par;
+do_client_action(Type, Socket, fragments_max, FragList) ->
+ ok = send_data(Type, Socket, FragList),
+ timer:sleep(3000),
+ {ok, Bytes} = gen_tcp:recv(Socket, 0),
+ {#reply_header{request_id = ?REQUEST_ID, reply_status = system_exception}, Exc, []} =
+ cdr_decode:dec_message({tk_void,[tk_any],[tk_any]}, Bytes),
+ Exc;
+do_client_action(Type, Socket, message_error, Data) ->
+ ok = send_data(Type, Socket, Data),
+ timer:sleep(3000),
+ {ok,Bytes} = gen_tcp:recv(Socket, 0),
+ 'message_error' = cdr_decode:dec_message({tk_void,[tk_any],[tk_any]}, Bytes),
+ ok;
+do_client_action(_Type, _Socket, _Action, _Data) ->
+ ok.
+
+send_data(_Type, _Socket, []) ->
+ ok;
+send_data(Type, Socket, [H|T]) ->
+ orber_socket:write(Type, Socket, H),
+ send_data(Type, Socket, T).
+
diff --git a/lib/orber/test/naming_context_SUITE.erl b/lib/orber/test/naming_context_SUITE.erl
new file mode 100644
index 0000000000..4406e01d5a
--- /dev/null
+++ b/lib/orber/test/naming_context_SUITE.erl
@@ -0,0 +1,385 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for Name service
+%%
+%%-----------------------------------------------------------------
+-module(naming_context_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+-include_lib("orber/include/corba.hrl").
+
+-define(default_timeout, ?t:minutes(5)).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+
+-export([name_context/1, check_list/1, name_context_ext/1]).
+
+-export([init_all/1, finish_all/1, init_per_testcase/2, fin_per_testcase/2]).
+
+
+%%-----------------------------------------------------------------
+%% Macros
+%%-----------------------------------------------------------------
+-define(REMAP_EXCEPT(F), case catch F of
+ {'EXCEPTION', E} -> exit(E);
+ {'EXIT', E} -> exit(E);
+ R -> R
+ end).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Description", "more description"];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [name_context, check_list, name_context_ext].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ ?line Dog=test_server:timetrap(?default_timeout),
+ orber:jump_start(0),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ orber:jump_stop(),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ Config.
+
+finish_all(Config) ->
+ Config.
+
+%%-----------------------------------------------------------------
+%% Test Case: name handling tests
+%% Description:
+%%-----------------------------------------------------------------
+name_context(doc) -> ["Description", "more description"];
+name_context(suite) -> [];
+name_context(_) ->
+ ?REMAP_EXCEPT(name_context_run()).
+
+name_context_run() ->
+ ?line Ns = corba:resolve_initial_references("NameService"),
+
+ ?match({'EXCEPTION', #'NO_PERMISSION'{}},
+ 'CosNaming_NamingContextExt':destroy(Ns)),
+
+ %% Create a test context.
+ ?line Tc = 'CosNaming_NamingContext':bind_new_context(Ns,
+ [#'CosNaming_NameComponent'{id="testcontext",
+ kind=""}]),
+ %% Start testing
+ ?line 'CosNaming_NamingContext':bind(Tc, [#'CosNaming_NameComponent'
+ {id="hej",
+ kind=""}], Ns),
+ ?line Ns = 'CosNaming_NamingContext':resolve(Tc,
+ [#'CosNaming_NameComponent'{id="hej",
+ kind=""}]),
+ ?line Nc = 'CosNaming_NamingContext':new_context(Tc),
+ ?line 'CosNaming_NamingContext':bind(Tc, [#'CosNaming_NameComponent'
+ {id="stop",
+ kind=""}], Nc),
+ ?line Nc = 'CosNaming_NamingContext':resolve(Tc,
+ [#'CosNaming_NameComponent'{id="stop",
+ kind=""}]),
+ ?line {'EXCEPTION', E0} =
+ (catch 'CosNaming_NamingContext':bind(Tc,
+ [#'CosNaming_NameComponent'{id="stop",
+ kind=""}], Ns)),
+ ?line ok = 'CosNaming_NamingContext':rebind(Tc,
+ [#'CosNaming_NameComponent'{id="stop",
+ kind=""}], Ns),
+ ?line {'CosNaming_NamingContext_AlreadyBound', _} = E0,
+ ?line 'CosNaming_NamingContext':bind_context(Tc,
+ [#'CosNaming_NameComponent'{id="evaluate",
+ kind=""}], Nc),
+ ?line Nc =
+ 'CosNaming_NamingContext':resolve(Tc,
+ [#'CosNaming_NameComponent'{id="evaluate",
+ kind=""}]),
+ ?line 'CosNaming_NamingContext':bind(Tc,
+ [#'CosNaming_NameComponent'{id="evaluate",
+ kind=""},
+ #'CosNaming_NameComponent'{id="hej",
+ kind=""}], Ns),
+ ?line ok = 'CosNaming_NamingContext':rebind(Tc,
+ [#'CosNaming_NameComponent'{id="evaluate",
+ kind=""},
+ #'CosNaming_NameComponent'{id="hej",
+ kind=""}], Ns),
+ ?line Ns = 'CosNaming_NamingContext':resolve(Tc,
+ [#'CosNaming_NameComponent'{id="evaluate",
+ kind=""},
+ #'CosNaming_NameComponent'{id="hej",
+ kind=""}]),
+ ?line {'EXCEPTION', E1} =
+ (catch 'CosNaming_NamingContext':resolve(Tc,
+ [#'CosNaming_NameComponent'{id="stop",
+ kind=""},
+ #'CosNaming_NameComponent'{id="hej",
+ kind=""}])),
+ ?line ?match(ok, orber_diagnostics:nameservice()),
+
+ ?line {'CosNaming_NamingContext_CannotProceed', _,_,_} = E1,
+ ?line {'EXCEPTION', E2} = (catch 'CosNaming_NamingContext':destroy(Nc)),
+ ?line {'CosNaming_NamingContext_NotEmpty', _} = E2,
+ ?line ok = 'CosNaming_NamingContext':unbind(Tc,
+ [#'CosNaming_NameComponent'{id="evaluate",
+ kind=""},
+ #'CosNaming_NameComponent'{id="hej",
+ kind=""}]),
+ ?line ok = 'CosNaming_NamingContext':destroy(Nc),
+ ?line ok = 'CosNaming_NamingContext':unbind(Tc,
+ [#'CosNaming_NameComponent'{id="evaluate",
+ kind=""}]),
+ ?line ok = 'CosNaming_NamingContext':unbind(Tc,
+ [#'CosNaming_NameComponent'{id="stop",
+ kind=""}]),
+ ?line ok = 'CosNaming_NamingContext':unbind(Tc,
+ [#'CosNaming_NameComponent'{id="hej",
+ kind=""}]),
+ ?line case 'CosNaming_NamingContext':list(Tc, 3) of
+ {ok, [], ?ORBER_NIL_OBJREF} ->
+ ok;
+ _ ->
+ exit(not_empty)
+ end,
+ ?line ok = 'CosNaming_NamingContext':unbind(Ns,
+ [#'CosNaming_NameComponent'{id="testcontext",
+ kind=""}]),
+ ?line ok = 'CosNaming_NamingContext':destroy(Tc),
+ ok.
+
+
+
+check_list(doc) ->
+ ["Check that the CosNaming::NamingContext::list()",
+ "returns ok.",
+ "Own Id: OTP-2023"];
+check_list(suite) -> [];
+check_list(Config) when is_list(Config) ->
+ ?REMAP_EXCEPT(check_list_run(Config)).
+
+check_list_run(_Config) ->
+ create_default_contexts(),
+ ?line Ns = corba:resolve_initial_references("NameService"),
+ ?line {_, BL, _} = ?match({ok, _, ?ORBER_NIL_OBJREF},
+ 'CosNaming_NamingContext':list(Ns, 256)),
+
+ FF = fun(X) -> XX = hd(X#'CosNaming_Binding'.binding_name),
+ XX#'CosNaming_NameComponent'.id end,
+
+ L = lists:sort(lists:map(FF, BL)),
+ ?line ["host", "workgroup"] = L,
+
+ %% Test next_n/2
+ ?line {_, _, BI} = ?match({ok, [], _BI}, 'CosNaming_NamingContext':list(Ns, 0)),
+ ?line ?match({true, []}, 'CosNaming_BindingIterator':next_n(BI, 0)),
+ ?line ?match({true, [_]}, 'CosNaming_BindingIterator':next_n(BI, 1)),
+ ?line ?match({false, [_]}, 'CosNaming_BindingIterator':next_n(BI, 1)),
+ ?line ?match({false, []}, 'CosNaming_BindingIterator':next_n(BI, 1)),
+ ?line ?match(ok, 'CosNaming_BindingIterator':destroy(BI)),
+
+ ?line {_, _, BI2} = ?match({ok, [], _BI2}, 'CosNaming_NamingContext':list(Ns, 0)),
+ ?line ?match({true, _}, 'CosNaming_BindingIterator':next_one(BI2)),
+ ?line ?match({true, _}, 'CosNaming_BindingIterator':next_one(BI2)),
+ ?line ?match({false, _}, 'CosNaming_BindingIterator':next_one(BI2)),
+ ?line ?match(ok, 'CosNaming_BindingIterator':destroy(BI2)),
+ ?line ?match(ok, orber_diagnostics:nameservice()),
+ ok.
+
+create_default_contexts() ->
+ HostComponent = lname_component:set_id(lname_component:create(),
+ "host"),
+ HostsComponent = lname_component:set_id(lname_component:create(),
+ "hosts"),
+ ResourcesComponent = lname_component:set_id(lname_component:create(),
+ "resources"),
+ DevelopmentComponent = lname_component:set_id(lname_component:create(),
+ "development"),
+ FactoriesComponent = lname_component:set_id(lname_component:create(),
+ "factories"),
+ WGComponent = lname_component:set_id(lname_component:create(),
+ "workgroup"),
+ %% Creation of Naming Context host and it's subcontexts
+ NS = corba:resolve_initial_references("NameService"),
+ H = 'CosNaming_NamingContext':bind_new_context(NS,
+ lname:insert_component(lname:create(), 1, HostComponent)),
+ HR = 'CosNaming_NamingContext':bind_new_context(H,
+ lname:insert_component(lname:create(), 1, ResourcesComponent)),
+ 'CosNaming_NamingContext':bind_new_context(HR,
+ lname:insert_component(lname:create(), 1, FactoriesComponent)),
+ HD = 'CosNaming_NamingContext':bind_new_context(H,
+ lname:insert_component(lname:create(), 1, DevelopmentComponent)),
+ HDR = 'CosNaming_NamingContext':bind_new_context(HD,
+ lname:insert_component(lname:create(), 1, ResourcesComponent)),
+ 'CosNaming_NamingContext':bind_new_context(HDR,
+ lname:insert_component(lname:create(), 1, FactoriesComponent)),
+ %% Creation of Naming Context workgroup and it's subcontexts
+ W = 'CosNaming_NamingContext':bind_new_context(NS,
+ lname:insert_component(lname:create(), 1, WGComponent)),
+ 'CosNaming_NamingContext':bind_new_context(W,
+ lname:insert_component(lname:create(), 1, HostsComponent)),
+ WR = 'CosNaming_NamingContext':bind_new_context(W,
+ lname:insert_component(lname:create(), 1, ResourcesComponent)),
+ 'CosNaming_NamingContext':bind_new_context(WR,
+ lname:insert_component(lname:create(), 1, FactoriesComponent)),
+ WD = 'CosNaming_NamingContext':bind_new_context(W,
+ lname:insert_component(lname:create(), 1, DevelopmentComponent)),
+ WDR = 'CosNaming_NamingContext':bind_new_context(WD,
+ lname:insert_component(lname:create(), 1, ResourcesComponent)),
+ 'CosNaming_NamingContext':bind_new_context(WDR,
+ lname:insert_component(lname:create(), 1, FactoriesComponent)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case:
+%% Description:
+%%-----------------------------------------------------------------
+name_context_ext(doc) -> ["Description", "more description"];
+name_context_ext(suite) -> [];
+name_context_ext(_Config) ->
+ ?REMAP_EXCEPT(name_context_ext_run()).
+
+name_context_ext_run() ->
+ ?line NS = ?match({_,pseudo,_, _,_, _},
+ corba:resolve_initial_references("NameService")),
+
+ Name1 = [#'CosNaming_NameComponent'{id="\\<id1\\>", kind="kind1"},
+ #'CosNaming_NameComponent'{id="id2", kind="kind2"}],
+ String1 = "\\<id1\\>.kind1/id2.kind2",
+ Name2 = [#'CosNaming_NameComponent'{id="id1", kind=""},
+ #'CosNaming_NameComponent'{id="id2", kind=""},
+ #'CosNaming_NameComponent'{id="id3", kind=""}],
+ String2 = "id1/id2/id3",
+ Name3 = [#'CosNaming_NameComponent'{id="id1", kind="kind1"},
+ #'CosNaming_NameComponent'{id="", kind=""},
+ #'CosNaming_NameComponent'{id="id3", kind="kind3"}],
+ String3 = "id1.kind1/./id3.kind3",
+ Name4 = [#'CosNaming_NameComponent'{id="id1", kind="kind1"},
+ #'CosNaming_NameComponent'{id="i.d.2", kind="kind2"},
+ #'CosNaming_NameComponent'{id="id3", kind="kind3"}],
+ String4 = "id1.kind1/i\\.d\\.2.kind2/id3.kind3",
+ Name5 = [#'CosNaming_NameComponent'{id="id1", kind=""},
+ #'CosNaming_NameComponent'{id="i/d/2", kind="kind2"},
+ #'CosNaming_NameComponent'{id="id3", kind=""}],
+ String5 = "id1/i\\/d\\/2.kind2/id3",
+
+ BadString1 = "id1./id2/id3",
+ BadString2 = "id1//id3",
+
+ ?match(String1, 'CosNaming_NamingContextExt':to_string(NS, Name1)),
+ ?match(String2, 'CosNaming_NamingContextExt':to_string(NS, Name2)),
+ ?match(String3, 'CosNaming_NamingContextExt':to_string(NS, Name3)),
+ ?match(String4, 'CosNaming_NamingContextExt':to_string(NS, Name4)),
+ ?match(String5, 'CosNaming_NamingContextExt':to_string(NS, Name5)),
+ ?match(Name1, 'CosNaming_NamingContextExt':to_name(NS, String1)),
+ ?match(Name2, 'CosNaming_NamingContextExt':to_name(NS, String2)),
+ ?match(Name3, 'CosNaming_NamingContextExt':to_name(NS, String3)),
+ ?match(Name4, 'CosNaming_NamingContextExt':to_name(NS, String4)),
+ ?match(Name5, 'CosNaming_NamingContextExt':to_name(NS, String5)),
+
+ ?match({'EXCEPTION', {'CosNaming_NamingContext_InvalidName',_}},
+ 'CosNaming_NamingContextExt':to_name(NS, BadString1)),
+ ?match({'EXCEPTION', {'CosNaming_NamingContext_InvalidName',_}},
+ 'CosNaming_NamingContextExt':to_name(NS, BadString2)),
+
+ %% Create a test context.
+ ?line Tc = ?match({_,pseudo,_, _,_, _},
+ 'CosNaming_NamingContext':bind_new_context(NS,
+ [#'CosNaming_NameComponent'{id="testcontext",
+ kind=""}])),
+ ?match(ok, 'CosNaming_NamingContext':bind(Tc, [#'CosNaming_NameComponent'
+ {id="hej",
+ kind=""}], NS)),
+
+ ?match(NS, 'CosNaming_NamingContextExt':resolve_str(Tc, "hej")),
+
+ ?match("corbaloc:rir:", 'CosNaming_NamingContextExt':to_url(Tc, "rir:", "")),
+ ?match("corbaname:rir:/NameService#org/erlang/",
+ 'CosNaming_NamingContextExt':to_url(Tc, "rir:/NameService", "org/erlang/")),
+ ?match("corbaloc::1.1@555%3cxyz.com:9999/Dev/NameService",
+ 'CosNaming_NamingContextExt':to_url(Tc, ":1.1@555\\<xyz.com:9999/Dev/NameService", "")),
+
+ %% Bad port
+ ?match({'EXCEPTION', {'CosNaming_NamingContextExt_InvalidAddress',_}},
+ 'CosNaming_NamingContextExt':to_url(Tc, ":[email protected]:99a9/", "")),
+ %% BAd IIOP-version
+ ?match({'EXCEPTION', {'CosNaming_NamingContextExt_InvalidAddress',_}},
+ 'CosNaming_NamingContextExt':to_url(Tc, ":[email protected]:99a9/", "")),
+ %% Bad IIOP-version
+ ?match({'EXCEPTION', {'CosNaming_NamingContextExt_InvalidAddress',_}},
+ 'CosNaming_NamingContextExt':to_url(Tc, ":@555xyz.com:99a9/", "")),
+ %% Bad protocol
+ ?match({'EXCEPTION', {'CosNaming_NamingContextExt_InvalidAddress',_}},
+ 'CosNaming_NamingContextExt':to_url(Tc, "iop:@555xyz.com:99a9/", "")),
+ %% Unsupported protocol
+ ?match({'EXCEPTION', {'CosNaming_NamingContextExt_InvalidAddress',_}},
+ 'CosNaming_NamingContextExt':to_url(Tc, "atm:@555xyz.com:9999/", "")),
+ %% Bad Name
+ ?match({'EXCEPTION', {'CosNaming_NamingContext_InvalidName',_}},
+ 'CosNaming_NamingContextExt':to_url(Tc, ":555xyz.com:9999/", "id1./id2.kind2")),
+
+ ok.
+
+
diff --git a/lib/orber/test/orber.spec b/lib/orber/test/orber.spec
new file mode 100644
index 0000000000..9d19ea7fc1
--- /dev/null
+++ b/lib/orber/test/orber.spec
@@ -0,0 +1,19 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+{topcase, {dir, "../orber_test"}}.
diff --git a/lib/orber/test/orber_SUITE.erl b/lib/orber/test/orber_SUITE.erl
new file mode 100644
index 0000000000..f54da02c0e
--- /dev/null
+++ b/lib/orber/test/orber_SUITE.erl
@@ -0,0 +1,179 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+-module(orber_SUITE).
+-include("test_server.hrl").
+
+
+-define(default_timeout, ?t:minutes(15)).
+-define(application, orber).
+
+% Test server specific exports
+-export([all/1]).
+-export([init_per_testcase/2, fin_per_testcase/2]).
+
+% Test cases must be exported.
+-export([app_test/1, undefined_functions/1, install_load_order/1,
+ install_local_content/1]).
+
+%%
+%% all/1
+%%
+all(doc) ->
+ [];
+all(suite) ->
+ [app_test, undefined_functions,
+ install_load_order, install_local_content].
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+fin_per_testcase(_Case, Config) ->
+ Dog=?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%
+% Test cases starts here.
+%
+app_test(doc) -> [];
+app_test(suite) -> [];
+app_test(_Config) ->
+ ?line ok=?t:app_test(orber),
+ ok.
+
+%% Install Orber using the load_order option.
+install_load_order(suite) ->
+ [];
+install_load_order(doc) ->
+ [];
+install_load_order(_Config) ->
+ orber:jump_stop(),
+ case catch install_load_order2() of
+ ok ->
+ orber:jump_stop();
+ What ->
+ orber:jump_stop(),
+ exit(What)
+ end.
+
+install_load_order2() ->
+ application:load(orber),
+ mnesia:start(),
+ corba:orb_init([{iiop_port, 0}]),
+ orber:install([node()], [{ifr_storage_type, ram_copies},
+ {load_order, 10}]),
+ orber:start(),
+ [H|_] = orber:get_tables(),
+ 10 = mnesia:table_info(H, load_order),
+ ok.
+
+%% Install Orber using the local_content option.
+install_local_content(suite) ->
+ [];
+install_local_content(doc) ->
+ [];
+install_local_content(_Config) ->
+ orber:jump_stop(),
+ case catch install_local_content2() of
+ ok ->
+ orber:jump_stop();
+ What ->
+ orber:jump_stop(),
+ exit(What)
+ end.
+
+install_local_content2() ->
+ application:load(orber),
+ mnesia:start(),
+ corba:orb_init([{iiop_port, 0}]),
+ orber:install([node()], [{ifr_storage_type, ram_copies},
+ {local_content, true}]),
+ orber:start(),
+ [H|_] = orber:get_tables(),
+ true = mnesia:table_info(H, local_content),
+ ok.
+
+
+
+%% Check for undefined functions
+undefined_functions(suite) ->
+ [];
+undefined_functions(doc) ->
+ [];
+undefined_functions(_Config) ->
+ App = orber,
+ Root = code:root_dir(),
+ LibDir = code:lib_dir(App),
+ EbinDir = filename:join([LibDir,"ebin"]),
+ AppFilePath = filename:join([LibDir,"ebin", "orber.app"]),
+ {ok, [{application,orber,AppFile}]} = file:consult(AppFilePath),
+ io:format("Using ~p~n~p~n", [AppFilePath, AppFile]),
+ Mods = key1search(modules, AppFile),
+ XRefTestName = undef_funcs_make_name(App, xref_test_name),
+ {ok, XRef} = xref:start(XRefTestName),
+ ok = xref:set_default(XRef,
+ [{verbose,false},{warnings,false}]),
+ XRefName = undef_funcs_make_name(App, xref_name),
+ {ok, XRefName} = xref:add_release(XRef, Root, {name,XRefName}),
+ {ok, App} = xref:replace_application(XRef, App, EbinDir),
+ {ok, Undefs} = xref:analyze(XRef, undefined_function_calls),
+ xref:stop(XRef),
+ analyze_undefined_function_calls(Undefs, Mods, []).
+
+analyze_undefined_function_calls([], _, []) ->
+ ok;
+analyze_undefined_function_calls([], _, AppUndefs) ->
+ exit({suite_failed, {undefined_function_calls, AppUndefs}});
+analyze_undefined_function_calls([{{Mod, _F, _A}, _C} = AppUndef|Undefs],
+ AppModules, AppUndefs) ->
+ %% Check that this module is our's
+ case lists:member(Mod,AppModules) of
+ true ->
+ {Calling,Called} = AppUndef,
+ {Mod1,Func1,Ar1} = Calling,
+ {Mod2,Func2,Ar2} = Called,
+ io:format("undefined function call: "
+ "~n ~w:~w/~w calls ~w:~w/~w~n",
+ [Mod1,Func1,Ar1,Mod2,Func2,Ar2]),
+ analyze_undefined_function_calls(Undefs, AppModules,
+ [AppUndef|AppUndefs]);
+ false ->
+ io:format("dropping ~p~n", [Mod]),
+ analyze_undefined_function_calls(Undefs, AppModules, AppUndefs)
+ end.
+
+%% This function is used simply to avoid cut-and-paste errors later...
+undef_funcs_make_name(App, PostFix) ->
+ list_to_atom(atom_to_list(App) ++ "_" ++ atom_to_list(PostFix)).
+
+key1search(Key, L) ->
+ case lists:keysearch(Key, 1, L) of
+ false ->
+ fail({not_found, Key, L});
+ {value, {Key, Value}} ->
+ Value
+ end.
+
+fail(Reason) ->
+ exit({suite_failed, Reason}).
+
+
+
diff --git a/lib/orber/test/orber_acl_SUITE.erl b/lib/orber/test/orber_acl_SUITE.erl
new file mode 100644
index 0000000000..2c2a768af2
--- /dev/null
+++ b/lib/orber/test/orber_acl_SUITE.erl
@@ -0,0 +1,303 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for the ACL functions
+%%
+%%-----------------------------------------------------------------
+-module(orber_acl_SUITE).
+
+-include("test_server.hrl").
+
+-define(default_timeout, ?t:minutes(5)).
+
+-define(match(ExpectedRes,Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Testing API for ACL (Access Control List)"];
+all(suite) ->
+ [ipv4_verify, ipv4_range, ipv4_interfaces, ipv4_bm,
+ ipv6_verify, ipv6_range, ipv6_interfaces, ipv6_bm].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_all(Config) ->
+ if
+ list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ Config.
+
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case :
+%% Description:
+%%-----------------------------------------------------------------
+ipv4_verify(doc) -> ["Testing IPv4 Verify Operation."];
+ipv4_verify(suite) -> [];
+ipv4_verify(_) ->
+ ?match(true, orber_acl:verify("192.168.64.148", "192.168.64.0/17", inet)),
+ ?match({false,"192.168.128.0","192.168.255.255"},
+ orber_acl:verify("192.168.64.148", "192.168.255.0/17", inet)),
+ ?match(true, orber_acl:verify("192.168.255.148", "192.168.128.0/17", inet)),
+ ?match(true, orber_acl:verify("192.168.128.148", "192.168.128.0/17", inet)),
+ ?match(true, orber_acl:verify("192.168.255.255", "192.168.128.0/16", inet)),
+ ?match({false,"192.168.0.0","192.168.255.255"},
+ orber_acl:verify("192.169.255.255", "192.168.128.0/16", inet)),
+ ?match(true, orber_acl:verify("192.168.128.255", "192.168.128.0/24", inet)),
+ ?match({false,"192.168.128.0","192.168.128.255"},
+ orber_acl:verify("192.168.255.255", "192.168.128.0/24", inet)),
+ ?match({false,"192.168.128.0","192.168.128.127"},
+ orber_acl:verify("192.168.128.255", "192.168.128.0/25", inet)),
+ ?match(true, orber_acl:verify("192.168.128.255", "192.168.128.128/25", inet)),
+ ?match(true, orber_acl:verify("192.168.128.128", "192.168.128.128/32", inet)),
+ ?match({false,"192.168.128.128.","192.168.128.128."},
+ orber_acl:verify("192.168.128.255", "192.168.128.128/32", inet)),
+ ?match(true, orber_acl:verify("192.168.128.128", "192.168.128.128", inet)),
+ ?match({false,"192.168.128.128.","192.168.128.128."},
+ orber_acl:verify("192.168.128.255", "192.168.128.128", inet)),
+ ?match(true, orber_acl:verify("192.168.128.255", "192.168.128.128/7", inet)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case :
+%% Description:
+%%-----------------------------------------------------------------
+ipv4_range(doc) -> ["Testing IPv4 Range Operation."];
+ipv4_range(suite) -> [];
+ipv4_range(_) ->
+ ?match({ok,"192.168.0.0", "192.168.127.255"},
+ orber_acl:range("192.168.64.0/17")),
+ ?match({ok, "192.168.128.0", "192.168.255.255"},
+ orber_acl:range("192.168.255.0/17")),
+ ?match({ok,"192.168.128.0","192.168.255.255"},
+ orber_acl:range("192.168.128.0/17")),
+ ?match({ok,"192.168.0.0","192.168.255.255"},
+ orber_acl:range("192.168.128.0/16")),
+ ?match({ok,"192.168.128.0","192.168.128.255"},
+ orber_acl:range("192.168.128.0/24")),
+ ?match({ok,"192.168.128.0","192.168.128.127"},
+ orber_acl:range("192.168.128.0/25")),
+ ?match({ok,"192.168.128.128","192.168.128.255"},
+ orber_acl:range("192.168.128.128/25")),
+ ?match({ok,"192.168.128.128.","192.168.128.128."},
+ orber_acl:range("192.168.128.128/32")),
+ ?match({ok,"192.168.128.128.","192.168.128.128."},
+ orber_acl:range("192.168.128.128")),
+ ?match({ok,"192.0.0.0","193.255.255.255"},
+ orber_acl:range("192.168.128.128/7")),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case :
+%% Description:
+%%-----------------------------------------------------------------
+ipv4_interfaces(doc) -> ["Testing IPv4 Interfaces Operation."];
+ipv4_interfaces(suite) -> [];
+ipv4_interfaces(_) ->
+ ?match({ok, _},
+ orber_acl:init_acl([{tcp_in, "192.168.128.0/18", ["10.1.1.1"]},
+ {tcp_in, "192.167.64.0/18#4001/5001", ["10.1.1.2"]},
+ {tcp_in, "192.166.192.0/18"}], inet)),
+ {ok, IPTuple1} = ?match({ok, _}, inet:getaddr("192.168.128.0", inet)),
+ ?match({true, ["10.1.1.1"], 0}, orber_acl:match(IPTuple1, tcp_in, true)),
+ ?match({false, [], 0}, orber_acl:match(IPTuple1, tcp_out, true)),
+ {ok, IPTuple2} = ?match({ok, _}, inet:getaddr("192.167.64.0", inet)),
+ ?match({true, ["10.1.1.2"], {4001,5001}}, orber_acl:match(IPTuple2, tcp_in, true)),
+ ?match({false, [], 0}, orber_acl:match(IPTuple2, tcp_out, true)),
+ {ok, IPTuple3} = ?match({ok, _}, inet:getaddr("192.166.192.0", inet)),
+ ?match({true, [], 0}, orber_acl:match(IPTuple3, tcp_in, true)),
+ ?match(false, orber_acl:match(IPTuple3, tcp_out)),
+ ?match(ok, orber_acl:clear_acl()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case :
+%% Description:
+%%-----------------------------------------------------------------
+ipv4_bm(doc) -> ["Benchmarking runtime critical IPv4 Operations."];
+ipv4_bm(suite) -> [];
+ipv4_bm(_) ->
+ ?match({ok, _, _, _}, bm2([{tcp_in, "192.168.64.0/17"}], inet, "192.168.64.148")),
+ ok.
+%%-----------------------------------------------------------------
+%% Test Case :
+%% Description:
+%%-----------------------------------------------------------------
+ipv6_verify(doc) -> ["Testing IPv6 Verify Operation."];
+ipv6_verify(suite) -> [];
+ipv6_verify(_) ->
+ case orber_test_lib:version_ok() of
+ true ->
+ ?match(true, orber_acl:verify("2002:C0A8:0:0:0:0:0:0", "2002:C0A8::/48", inet6)),
+ ?match(true, orber_acl:verify("2002:C0A8:0:FFFF:FFFF:FFFF:FFFF:FFFF", "2002:C0A8::/48", inet6)),
+ ?match({false,"2002:C0A8:0:0:0:0:0:0", "2002:C0A8:0:FFFF:FFFF:FFFF:FFFF:FFFF"},
+ orber_acl:verify("2002:C0A8:1:FFFF:FFFF:FFFF:FFFF:FFFF", "2002:C0A8::/48", inet6)),
+ ?match(true, orber_acl:verify("2002:C0A8:1:FFFF:FFFF:FFFF:FFFF:FFFF", "2002:C0A8::/47", inet6)),
+ ?match({false,"2002:C0A8:0:0:0:0:0:0", "2002:C0A8:1:FFFF:FFFF:FFFF:FFFF:FFFF"},
+ orber_acl:verify("2002:C0A8:2:FFFF:FFFF:FFFF:FFFF:FFFF", "2002:C0A8::/47", inet6)),
+ ok;
+ Reason ->
+ Reason
+ end.
+
+%%-----------------------------------------------------------------
+%% Test Case :
+%% Description:
+%%-----------------------------------------------------------------
+ipv6_range(doc) -> ["Testing IPv6 Range Operation."];
+ipv6_range(suite) -> [];
+ipv6_range(_) ->
+ case orber_test_lib:version_ok() of
+ true ->
+ ?match({ok,"2002:C0A8:0:0:0:0:0:0", "2002:C0A8:0:FFFF:FFFF:FFFF:FFFF:FFFF"},
+ orber_acl:range("2002:C0A8::/48", inet6)),
+ ?match({ok,"2002:C0A8:0:0:0:0:0:0", "2002:C0A8:1:FFFF:FFFF:FFFF:FFFF:FFFF"},
+ orber_acl:range("2002:C0A8::/47", inet6)),
+ ok;
+ Reason ->
+ Reason
+ end.
+
+%%-----------------------------------------------------------------
+%% Test Case :
+%% Description:
+%%-----------------------------------------------------------------
+ipv6_interfaces(doc) -> ["Testing IPv6 Interfaces Operation."];
+ipv6_interfaces(suite) -> [];
+ipv6_interfaces(_) ->
+ case orber_test_lib:version_ok() of
+ true ->
+ ?match({ok, _}, orber_acl:init_acl([{tcp_in, "2002:C0A8::/49", ["0:0:0:0:0:0:10.1.1.1"]}], inet6)),
+ {ok, IPTuple1} = ?match({ok, _}, inet:getaddr("2002:C0A8:0:7FFF:FFFF:FFFF:FFFF:FFFF", inet6)),
+ ?match({true, ["0:0:0:0:0:0:10.1.1.1"], 0}, orber_acl:match(IPTuple1, tcp_in, true)),
+ ?match(false, orber_acl:match(IPTuple1, tcp_out)),
+ ?match(ok, orber_acl:clear_acl()),
+ ok;
+ Reason ->
+ Reason
+ end.
+
+%%-----------------------------------------------------------------
+%% Test Case :
+%% Description:
+%%-----------------------------------------------------------------
+ipv6_bm(doc) -> ["Benchmarking runtime critical IPv6 Operations."];
+ipv6_bm(suite) -> [];
+ipv6_bm(_) ->
+ case orber_test_lib:version_ok() of
+ true ->
+ ?match({ok, _, _, _}, bm2([{tcp_in, "2002:C0A8::/48"}], inet6, "2002:C0A8:0:0:0:0:0:0")),
+ ok;
+ Reason ->
+ Reason
+ end.
+
+%%-----------------------------------------------------------------
+%% Local Functions
+%%-----------------------------------------------------------------
+-define(NO_OF_TIMES, 1000).
+
+bm2(Filters, Family, Ip) ->
+ {ok, IPTuple} = inet:getaddr(Ip, Family),
+ orber_acl:init_acl(Filters, Family),
+ TimeBefore1 = erlang:now(),
+ bm_loop(IPTuple, ?NO_OF_TIMES),
+ TimeAfter1 = erlang:now(),
+ orber_acl:clear_acl(),
+ Time1 = computeTime(TimeBefore1, TimeAfter1),
+ orber_acl:init_acl(Filters, Family),
+ TimeBefore2 = erlang:now(),
+ bm_loop2(Ip, ?NO_OF_TIMES, Family),
+ TimeAfter2 = erlang:now(),
+ orber_acl:clear_acl(),
+ Time2 = computeTime(TimeBefore2, TimeAfter2),
+ orber_acl:init_acl(Filters, Family),
+ TimeBefore3 = erlang:now(),
+ bm_loop2(IPTuple, ?NO_OF_TIMES, Family),
+ TimeAfter3 = erlang:now(),
+ orber_acl:clear_acl(),
+ Time3 = computeTime(TimeBefore3, TimeAfter3),
+ {ok, round(?NO_OF_TIMES/Time1), round(?NO_OF_TIMES/Time2), round(?NO_OF_TIMES/Time3)}.
+
+
+bm_loop(_Ip, 0) ->
+ ok;
+bm_loop(Ip, N) ->
+ true = orber_acl:match(Ip, tcp_in),
+ bm_loop(Ip, N-1).
+
+bm_loop2(_Ip, 0, _Family) ->
+ ok;
+bm_loop2(Ip, N, Family) ->
+ {ok, IPTuple} = inet:getaddr(Ip, Family),
+ true = orber_acl:match(IPTuple, tcp_in),
+ bm_loop2(Ip, N-1, Family).
+
+computeTime({_MegaSecb, Secb, MicroSecb}, {_MegaSeca, Seca, MicroSeca}) ->
+ (Seca - Secb) + ((MicroSeca - MicroSecb) / 1000000).
+
+
+%%-----------------------------------------------------------------
+%% END OF MODULE
+%%-----------------------------------------------------------------
diff --git a/lib/orber/test/orber_firewall_ipv4_in_SUITE.erl b/lib/orber/test/orber_firewall_ipv4_in_SUITE.erl
new file mode 100644
index 0000000000..3ac0cb7921
--- /dev/null
+++ b/lib/orber/test/orber_firewall_ipv4_in_SUITE.erl
@@ -0,0 +1,280 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(orber_firewall_ipv4_in_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+-include_lib("orber/src/ifr_objects.hrl").
+-include("idl_output/orber_test_server.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContextExt.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
+
+-define(default_timeout, ?t:minutes(15)).
+
+-define(match(ExpectedRes,Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1,
+ init_per_testcase/2, fin_per_testcase/2,
+ deny_port_api/1, deny_port_range_api/1, deny_host_api/1,
+ deny_peerhost_api/1, allow_port_range_api/1,
+ allow_host_api/1, allow_peerhost_api/1, check_address_api/1]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for orber's firewall functionallity."];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+%% NOTE - the fragment test cases must bu first since we explicitly set a request
+%% id. Otherwise, the request-id counter would be increased and we cannot know
+%% what it is.
+cases() ->
+ [deny_port_api, deny_port_range_api, deny_host_api, deny_peerhost_api,
+ allow_port_range_api, allow_host_api, allow_peerhost_api, check_address_api].
+
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ if
+ is_list(Config) ->
+ orber:jump_start([{iiop_port, 0},
+ {iiop_out_ports, {5980, 6000}}]),
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ orber:jump_stop(),
+ Config.
+
+%%-----------------------------------------------------------------
+%% Incomming connections - Deny
+%%-----------------------------------------------------------------
+deny_port_api(doc) -> ["Deny Access due to invalid local port"];
+deny_port_api(suite) -> [];
+deny_port_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_INCOMING},
+ {iiop_acl, [{tcp_in, IP++"/32#7000"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+deny_port_range_api(doc) -> ["Deny Access due to invalid local port range"];
+deny_port_range_api(suite) -> [];
+deny_port_range_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_INCOMING},
+ {iiop_acl, [{tcp_in, IP++"/32#7000/8000"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+
+deny_host_api(doc) -> ["Deny Access due to invalid host"];
+deny_host_api(suite) -> [];
+deny_host_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_INCOMING},
+ {iiop_acl, [{tcp_in, "123.123.123.123/32"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+deny_peerhost_api(doc) -> ["Deny Access due to invalid peerhost"];
+deny_peerhost_api(suite) -> [];
+deny_peerhost_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_INCOMING},
+ {iiop_acl, [{tcp_in, IP++"/32", ["123.123.123.123"]}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Incomming connections - Allow
+%%-----------------------------------------------------------------
+allow_port_range_api(doc) -> ["Allow Access due to valid local port range"];
+allow_port_range_api(suite) -> [];
+allow_port_range_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_INCOMING},
+ {iiop_acl, [{tcp_in, IP++"/32#5980/6000"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match(false, corba_object:not_existent(IOR)),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+
+allow_host_api(doc) -> ["Allow Access due to valid host"];
+allow_host_api(suite) -> [];
+allow_host_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_INCOMING},
+ {iiop_acl, [{tcp_in, IP++"/32"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match(false, corba_object:not_existent(IOR)),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+allow_peerhost_api(doc) -> ["Allow Access due to valid peerhost"];
+allow_peerhost_api(suite) -> [];
+allow_peerhost_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_INCOMING},
+ {iiop_acl, [{tcp_in, IP++"/32", [IP]}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService",
+ [#'IOP_ServiceContext'
+ {context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface, IP}}])),
+ ?match(false, corba_object:not_existent(IOR,
+ [#'IOP_ServiceContext'
+ {context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface, IP}}])),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test corbaloc strings
+%%-----------------------------------------------------------------
+check_address_api(doc) -> ["Test corbaloc strings"];
+check_address_api(suite) -> [];
+check_address_api(_Config) ->
+ ?match({[[iiop,{1,0},"10.0.0.1",2809]],"NameService"},
+ orber_cosnaming_utils:addresses(":10.0.0.1/NameService")),
+ ?match({[[iiop,{1,0},"10.0.0.1",2809]],[]},
+ orber_cosnaming_utils:addresses(":10.0.0.1")),
+ ?match({[[iiop,{1,2},"10.0.0.1",2809]],"NameService"},
+ orber_cosnaming_utils:addresses(":[email protected]/NameService")),
+ ?match({[[iiop,{1,0},"10.0.0.1",4001]],"NameService"},
+ orber_cosnaming_utils:addresses(":10.0.0.1:4001/NameService")),
+ ?match({[[iiop,{1,1},"10.0.0.1",4001]],"NameService"},
+ orber_cosnaming_utils:addresses(":[email protected]:4001/NameService")),
+ ?match({[[iiop,{1,1},"10.0.0.1",4001]],[]},
+ orber_cosnaming_utils:addresses(":[email protected]:4001")),
+ ?match({[[iiop,{1,1},"10.0.0.1",4001]],[]},
+ orber_cosnaming_utils:addresses("iiop:[email protected]:4001")),
+ ?match({[[iiop,{1,1},"10.0.0.1",4001]],[]},
+ orber_cosnaming_utils:addresses("iiop:[email protected]:4001/")),
+
+ ?match({[[iiop,{1,1},"myhost",4001]],[]},
+ orber_cosnaming_utils:addresses("iiop:1.1@myhost:4001")),
+ ?match({[[iiop,{1,1},"myhost.full.name",4001]],"NameService"},
+ orber_cosnaming_utils:addresses("iiop:[email protected]:4001/NameService")),
+ ?match({[[iiop,{1,1},"myhost",4001],
+ [iiop,{1,1},"myhost.full.name",2809]],"NameService"},
+ orber_cosnaming_utils:addresses("iiop:1.1@myhost:4001,iiop:[email protected]/NameService")),
+
+ ?match({[[iiop,{1,1},"123.12.23.2",4001],
+ [iiop,{1,1},"10.0.0.1",4001]], "NameService"},
+ orber_cosnaming_utils:addresses(":[email protected]:4001,:[email protected]:4001/NameService")),
+ ?match({[[iiop,{1,1},"123.12.23.2",4001],
+ [iiop,{1,1},"10.0.0.1",4001]], []},
+ orber_cosnaming_utils:addresses(":[email protected]:4001,:[email protected]:4001")),
+ ?match({[[iiop,{1,0},"123.12.23.2",4001],
+ [iiop,{1,1},"10.0.0.1",4001]], "NameService"},
+ orber_cosnaming_utils:addresses(":123.12.23.2:4001,:[email protected]:4001/NameService")),
+ ?match({[[iiop,{1,1},"123.12.23.2",4001],
+ [iiop,{1,0},"10.0.0.1",4001]], "NameService"},
+ orber_cosnaming_utils:addresses(":[email protected]:4001,:10.0.0.1:4001/NameService")),
+ ?match({[[iiop,{1,1},"123.12.23.2",2809],
+ [iiop,{1,1},"10.0.0.1",4001]], "NameService"},
+ orber_cosnaming_utils:addresses(":[email protected],:[email protected]:4001/NameService")),
+ ?match({[[iiop,{1,1},"123.12.23.2",4001],
+ [iiop,{1,1},"10.0.0.1",2809]], "NameService"},
+ orber_cosnaming_utils:addresses(":[email protected]:4001,:[email protected]/NameService")),
+ ?match({[[iiop,{1,0},"123.12.23.2",2809],
+ [iiop,{1,0},"10.0.0.1",2809]], "NameService"},
+ orber_cosnaming_utils:addresses(":123.12.23.2,:10.0.0.1/NameService")),
+ ?match({[[iiop,{1,0},"123.12.23.2",2809],
+ [iiop,{1,0},"10.0.0.1",2809]], []},
+ orber_cosnaming_utils:addresses(":123.12.23.2,:10.0.0.1/")),
+ ?match({[[iiop,{1,0},"123.12.23.2",2809],
+ [iiop,{1,0},"10.0.0.1",2809]], []},
+ orber_cosnaming_utils:addresses("iiop:123.12.23.2,:10.0.0.1/")),
+
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_INCOMING},
+ {iiop_acl, [{tcp_in, IP++"/32"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+
+ ok.
+
diff --git a/lib/orber/test/orber_firewall_ipv4_out_SUITE.erl b/lib/orber/test/orber_firewall_ipv4_out_SUITE.erl
new file mode 100644
index 0000000000..193fc72f7c
--- /dev/null
+++ b/lib/orber/test/orber_firewall_ipv4_out_SUITE.erl
@@ -0,0 +1,224 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(orber_firewall_ipv4_out_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+-include_lib("orber/src/ifr_objects.hrl").
+-include("idl_output/orber_test_server.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContextExt.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
+
+-define(default_timeout, ?t:minutes(15)).
+
+-define(match(ExpectedRes,Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1,
+ init_per_testcase/2, fin_per_testcase/2,
+ deny_port_api/1, deny_port_range_api/1, deny_host_api/1,
+ allow_port_api/1, allow_port_range_api/1, allow_host_api/1,
+ local_interface_api/1]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for orber's firewall functionallity."];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+%% NOTE - the fragment test cases must bu first since we explicitly set a request
+%% id. Otherwise, the request-id counter would be increased and we cannot know
+%% what it is.
+cases() ->
+ [deny_port_api, deny_port_range_api, deny_host_api,
+ allow_port_api, allow_port_range_api, allow_host_api,
+ local_interface_api].
+
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ if
+ is_list(Config) ->
+ orber:jump_start([{iiop_port, 0},
+ {iiop_out_ports, {5980, 6000}}]),
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ orber:jump_stop(),
+ Config.
+
+%%-----------------------------------------------------------------
+%% Incomming connections - Deny
+%%-----------------------------------------------------------------
+deny_port_api(doc) -> ["Deny Access due to invalid local port"];
+deny_port_api(suite) -> [];
+deny_port_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ ServerPort = orber:iiop_port(),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_OUTGOING},
+ {iiop_acl, [{tcp_out, IP++"/32#" ++ integer_to_list(ServerPort+10)}]}])),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService"])),
+% ?line catch orber_test_lib:destroy_node(ClientNode, timeout),
+ ok.
+
+deny_port_range_api(doc) -> ["Deny Access due to invalid local port range"];
+deny_port_range_api(suite) -> [];
+deny_port_range_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ ServerPort = orber:iiop_port(),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_OUTGOING},
+ {iiop_acl, [{tcp_out, IP++"/32#"++integer_to_list(ServerPort+100)++ "/" ++ integer_to_list(ServerPort+120)}]}])),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService"])),
+% ?line catch orber_test_lib:destroy_node(ClientNode, timeout),
+ ok.
+
+
+deny_host_api(doc) -> ["Deny Access due to invalid host"];
+deny_host_api(suite) -> [];
+deny_host_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_OUTGOING},
+ {iiop_acl, [{tcp_out, "123.123.123.123/32"}]}])),
+ ServerPort = orber:iiop_port(),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService"])),
+% ?line catch orber_test_lib:destroy_node(ClientNode, timeout),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Incomming connections - Allow
+%%-----------------------------------------------------------------
+allow_port_api(doc) -> ["Allow Access due to valid local port range"];
+allow_port_api(suite) -> [];
+allow_port_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ ServerPort = orber:iiop_port(),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_OUTGOING},
+ {iiop_acl, [{tcp_out, IP++"/32#"++integer_to_list(ServerPort)}]}])),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService"])),
+ ?match(false,
+ orber_test_lib:remote_apply(ClientNode, corba_object, not_existent, [IOR])),
+% ?line catch orber_test_lib:destroy_node(ClientNode, timeout),
+ ok.
+
+allow_port_range_api(doc) -> ["Allow Access due to valid local port range"];
+allow_port_range_api(suite) -> [];
+allow_port_range_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ ServerPort = orber:iiop_port(),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_OUTGOING},
+ {iiop_acl, [{tcp_out, IP++"/32#" ++ integer_to_list(ServerPort-10) ++ "/" ++ integer_to_list(ServerPort+10)}]}])),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService"])),
+ ?match(false,
+ orber_test_lib:remote_apply(ClientNode, corba_object, not_existent, [IOR])),
+% ?line catch orber_test_lib:destroy_node(ClientNode, timeout),
+ ok.
+
+
+allow_host_api(doc) -> ["Allow Access due to valid host"];
+allow_host_api(suite) -> [];
+allow_host_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_OUTGOING},
+ {iiop_acl, [{tcp_out, IP++"/32"}]}])),
+ ServerPort = orber:iiop_port(),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService"])),
+ ?match(false,
+ orber_test_lib:remote_apply(ClientNode, corba_object, not_existent, [IOR])),
+% ?line catch orber_test_lib:destroy_node(ClientNode, timeout),
+ ok.
+
+local_interface_api(doc) -> ["Allow Access due to valid host via a spcific interface"];
+local_interface_api(suite) -> [];
+local_interface_api(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{iiop_port, 0},
+ {iiop_out_ports, {5980, 6000}},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_USE_ACL_OUTGOING},
+ {iiop_acl, [{tcp_out, IP, [Loopback]}]}])),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ orber_test_lib:remote_apply(ClientNode, corba, string_to_object,
+ ["corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService"])),
+ ?match(false,
+ orber_test_lib:remote_apply(ClientNode, corba_object, not_existent, [IOR])),
+% ?line catch orber_test_lib:destroy_node(ClientNode, timeout),
+ ok.
+
diff --git a/lib/orber/test/orber_firewall_ipv6_in_SUITE.erl b/lib/orber/test/orber_firewall_ipv6_in_SUITE.erl
new file mode 100644
index 0000000000..83f48cba0c
--- /dev/null
+++ b/lib/orber/test/orber_firewall_ipv6_in_SUITE.erl
@@ -0,0 +1,311 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(orber_firewall_ipv6_in_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+-include_lib("orber/src/ifr_objects.hrl").
+-include("idl_output/orber_test_server.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContextExt.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
+
+-define(default_timeout, ?t:minutes(15)).
+
+-define(match(ExpectedRes,Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1,
+ init_per_testcase/2, fin_per_testcase/2,
+ deny_port_api/1, deny_port_range_api/1, deny_host_api/1,
+ deny_peerhost_api/1, allow_port_range_api/1,
+ allow_host_api/1, allow_peerhost_api/1, check_address_api/1]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for orber's firewall functionallity."];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+%% NOTE - the fragment test cases must bu first since we explicitly set a request
+%% id. Otherwise, the request-id counter would be increased and we cannot know
+%% what it is.
+cases() ->
+ [deny_port_api, deny_port_range_api, deny_host_api, deny_peerhost_api,
+ allow_port_range_api, allow_host_api, allow_peerhost_api,
+ check_address_api].
+
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ orber:jump_start([{iiop_port, 0},
+ {iiop_out_ports, {5980, 6000}},
+ {flags, ?ORB_ENV_USE_IPV6}]),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ orber:jump_stop(),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ case orber_test_lib:version_ok() of
+ true ->
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end;
+ Reason ->
+ Reason
+ end.
+
+finish_all(Config) ->
+ Config.
+
+
+%%-----------------------------------------------------------------
+%% Incomming connections - Deny
+%%-----------------------------------------------------------------
+deny_port_api(doc) -> ["Deny Access due to invalid local port"];
+deny_port_api(suite) -> [];
+deny_port_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_INCOMING)},
+ {iiop_acl, [{tcp_in, IP++"/128#7000"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ corba:string_to_object("corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService")),
+ % ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+deny_port_range_api(doc) -> ["Deny Access due to invalid local port range"];
+deny_port_range_api(suite) -> [];
+deny_port_range_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_INCOMING)},
+ {iiop_acl, [{tcp_in, IP++"/128#7000/8000"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ corba:string_to_object("corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService")),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+
+deny_host_api(doc) -> ["Deny Access due to invalid host"];
+deny_host_api(suite) -> [];
+deny_host_api(_Config) ->
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_INCOMING)},
+ {iiop_acl, [{tcp_in, "0:0:0:0:0:0:10.1.1.1/128"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ corba:string_to_object("corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService")),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+deny_peerhost_api(doc) -> ["Deny Access due to invalid peer host"];
+deny_peerhost_api(suite) -> [];
+deny_peerhost_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_},
+ orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_INCOMING)},
+ {iiop_acl, [{tcp_in, IP++"/128", ["0:0:0:0:0:0:10.1.1.1"]}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ corba:string_to_object("corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService")),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Incomming connections - Allow
+%%-----------------------------------------------------------------
+allow_port_range_api(doc) -> ["Allow Access due to valid local port range"];
+allow_port_range_api(suite) -> [];
+allow_port_range_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_INCOMING)},
+ {iiop_acl, [{tcp_in, IP++"/128#5980/6000"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match(false, corba_object:not_existent(IOR)),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+
+allow_host_api(doc) -> ["Allow Access due to valid host"];
+allow_host_api(suite) -> [];
+allow_host_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_INCOMING)},
+ {iiop_acl, [{tcp_in, IP++"/128"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match(false, corba_object:not_existent(IOR)),
+
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+allow_peerhost_api(doc) -> ["Allow Access due to valid host"];
+allow_peerhost_api(suite) -> [];
+allow_peerhost_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_INCOMING)},
+ {iiop_acl, [{tcp_in, IP++"/128", [IP]}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService",
+ [#'IOP_ServiceContext'
+ {context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface, IP}}])),
+ ?match(false, corba_object:not_existent(IOR,
+ [#'IOP_ServiceContext'
+ {context_id=?ORBER_GENERIC_CTX_ID,
+ context_data = {interface, IP}}])),
+
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test corbaloc strings
+%%-----------------------------------------------------------------
+check_address_api(doc) -> ["Test corbaloc strings"];
+check_address_api(suite) -> [];
+check_address_api(_Config) ->
+ ?match({[[iiop,{1,0},"0:0:0:0:0:FFFF:C02A:2A2A",2809]],"NameService"},
+ orber_cosnaming_utils:addresses(":0:0:0:0:0:FFFF:C02A:2A2A/NameService")),
+ ?match({[[iiop,{1,0},"0:0:0:0:0:FFFF:C02A:2A2A",2809]],[]},
+ orber_cosnaming_utils:addresses(":0:0:0:0:0:FFFF:C02A:2A2A")),
+ ?match({[[iiop,{1,2},"0:0:0:0:0:FFFF:C02A:2A2A",2809]],"NameService"},
+ orber_cosnaming_utils:addresses(":1.2@0:0:0:0:0:FFFF:C02A:2A2A/NameService")),
+ ?match({[[iiop,{1,0},"0:0:0:0:0:FFFF:C02A:2A2A",4001]],"NameService"},
+ orber_cosnaming_utils:addresses(":0:0:0:0:0:FFFF:C02A:2A2A:4001/NameService")),
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:C02A:2A2A",4001]],"NameService"},
+ orber_cosnaming_utils:addresses(":1.1@0:0:0:0:0:FFFF:C02A:2A2A:4001/NameService")),
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:C02A:2A2A",4001]],[]},
+ orber_cosnaming_utils:addresses(":1.1@0:0:0:0:0:FFFF:C02A:2A2A:4001")),
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:C02A:2A2A",4001]],[]},
+ orber_cosnaming_utils:addresses("iiop:1.1@0:0:0:0:0:FFFF:C02A:2A2A:4001")),
+
+ ?match({[[iiop,{1,0},"0:0:0:0:0:FFFF:10.11.11.11",2809]],"NameService"},
+ orber_cosnaming_utils:addresses(":0:0:0:0:0:FFFF:10.11.11.11/NameService")),
+ ?match({[[iiop,{1,0},"0:0:0:0:0:FFFF:10.11.11.11",2809]],[]},
+ orber_cosnaming_utils:addresses(":0:0:0:0:0:FFFF:10.11.11.11")),
+ ?match({[[iiop,{1,2},"0:0:0:0:0:FFFF:10.11.11.11",2809]],"NameService"},
+ orber_cosnaming_utils:addresses(":1.2@0:0:0:0:0:FFFF:10.11.11.11/NameService")),
+ ?match({[[iiop,{1,0},"0:0:0:0:0:FFFF:10.11.11.11",4001]],"NameService"},
+ orber_cosnaming_utils:addresses(":0:0:0:0:0:FFFF:10.11.11.11:4001/NameService")),
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:10.11.11.11",4001]],"NameService"},
+ orber_cosnaming_utils:addresses(":1.1@0:0:0:0:0:FFFF:10.11.11.11:4001/NameService")),
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:10.11.11.11",4001]],[]},
+ orber_cosnaming_utils:addresses(":1.1@0:0:0:0:0:FFFF:10.11.11.11:4001/")),
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:10.11.11.11",4001]],[]},
+ orber_cosnaming_utils:addresses("iiop:1.1@0:0:0:0:0:FFFF:10.11.11.11:4001/")),
+
+ ?match({[[iiop,{1,1},"myhost",4001]],[]},
+ orber_cosnaming_utils:addresses("iiop:1.1@myhost:4001")),
+ ?match({[[iiop,{1,1},"myhost.full.name",4001]],"NameService"},
+ orber_cosnaming_utils:addresses("iiop:[email protected]:4001/NameService")),
+ ?match({[[iiop,{1,1},"myhost",4001],
+ [iiop,{1,1},"myhost.full.name",2809]],"NameService"},
+ orber_cosnaming_utils:addresses("iiop:1.1@myhost:4001,iiop:[email protected]/NameService")),
+
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:10.11.11.11",4001],
+ [iiop,{1,1},"0:0:0:0:0:FFFF:C02A:2A2A",4001]], "NameService"},
+ orber_cosnaming_utils:addresses(":1.1@0:0:0:0:0:FFFF:10.11.11.11:4001,:1.1@0:0:0:0:0:FFFF:C02A:2A2A:4001/NameService")),
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:10.11.11.11",4001],
+ [iiop,{1,1},"0:0:0:0:0:FFFF:C02A:2A2A",4001]], []},
+ orber_cosnaming_utils:addresses(":1.1@0:0:0:0:0:FFFF:10.11.11.11:4001,:1.1@0:0:0:0:0:FFFF:C02A:2A2A:4001")),
+ ?match({[[iiop,{1,0},"0:0:0:0:0:FFFF:10.11.11.11",4001],
+ [iiop,{1,1},"0:0:0:0:0:FFFF:C02A:2A2A",4001]], "NameService"},
+ orber_cosnaming_utils:addresses(":0:0:0:0:0:FFFF:10.11.11.11:4001,:1.1@0:0:0:0:0:FFFF:C02A:2A2A:4001/NameService")),
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:10.11.11.11",4001],
+ [iiop,{1,0},"0:0:0:0:0:FFFF:C02A:2A2A",4001]], "NameService"},
+ orber_cosnaming_utils:addresses(":1.1@0:0:0:0:0:FFFF:10.11.11.11:4001,:0:0:0:0:0:FFFF:C02A:2A2A:4001/NameService")),
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:10.11.11.11",2809],
+ [iiop,{1,1},"0:0:0:0:0:FFFF:C02A:2A2A",4001]], "NameService"},
+ orber_cosnaming_utils:addresses(":1.1@0:0:0:0:0:FFFF:10.11.11.11,:1.1@0:0:0:0:0:FFFF:C02A:2A2A:4001/NameService")),
+ ?match({[[iiop,{1,1},"0:0:0:0:0:FFFF:10.11.11.11",4001],
+ [iiop,{1,1},"0:0:0:0:0:FFFF:C02A:2A2A",2809]], "NameService"},
+ orber_cosnaming_utils:addresses(":1.1@0:0:0:0:0:FFFF:10.11.11.11:4001,:1.1@0:0:0:0:0:FFFF:C02A:2A2A/NameService")),
+ ?match({[[iiop,{1,0},"0:0:0:0:0:FFFF:10.11.11.11",2809],
+ [iiop,{1,0},"0:0:0:0:0:FFFF:C02A:2A2A",2809]], "NameService"},
+ orber_cosnaming_utils:addresses(":0:0:0:0:0:FFFF:10.11.11.11,:0:0:0:0:0:FFFF:C02A:2A2A/NameService")),
+ ?match({[[iiop,{1,0},"0:0:0:0:0:FFFF:10.11.11.11",2809],
+ [iiop,{1,0},"0:0:0:0:0:FFFF:C02A:2A2A",2809]], []},
+ orber_cosnaming_utils:addresses(":0:0:0:0:0:FFFF:10.11.11.11,:0:0:0:0:0:FFFF:C02A:2A2A/")),
+ ?match({[[iiop,{1,0},"0:0:0:0:0:FFFF:10.11.11.11",2809],
+ [iiop,{1,0},"0:0:0:0:0:FFFF:C02A:2A2A",2809]], []},
+ orber_cosnaming_utils:addresses("iiop:0:0:0:0:0:FFFF:10.11.11.11,:0:0:0:0:0:FFFF:C02A:2A2A/")),
+
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_INCOMING)},
+ {iiop_acl, [{tcp_in, IP++"/128"}]}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ ?match({'IOP_IOR',_,_},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+
diff --git a/lib/orber/test/orber_firewall_ipv6_out_SUITE.erl b/lib/orber/test/orber_firewall_ipv6_out_SUITE.erl
new file mode 100644
index 0000000000..e1856b9a47
--- /dev/null
+++ b/lib/orber/test/orber_firewall_ipv6_out_SUITE.erl
@@ -0,0 +1,231 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(orber_firewall_ipv6_out_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+-include_lib("orber/src/ifr_objects.hrl").
+-include("idl_output/orber_test_server.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContextExt.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
+
+-define(default_timeout, ?t:minutes(15)).
+
+-define(match(ExpectedRes,Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1,
+ init_per_testcase/2, fin_per_testcase/2,
+ deny_port_api/1, deny_port_range_api/1, deny_host_api/1,
+ allow_port_api/1, allow_port_range_api/1, allow_host_api/1,
+ local_interface_api/1]).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for orber's firewall functionallity."];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+%% NOTE - the fragment test cases must bu first since we explicitly set a request
+%% id. Otherwise, the request-id counter would be increased and we cannot know
+%% what it is.
+cases() ->
+ [deny_port_api, deny_port_range_api, deny_host_api,
+ allow_port_api, allow_port_range_api, allow_host_api,
+ local_interface_api].
+
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ orber:jump_start([{iiop_port, 0},
+ {iiop_out_ports, {5980, 6000}},
+ {flags, ?ORB_ENV_USE_IPV6}]),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ orber:jump_stop(),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ case orber_test_lib:version_ok() of
+ true ->
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end;
+ Reason ->
+ Reason
+ end.
+
+finish_all(Config) ->
+ Config.
+
+
+%%-----------------------------------------------------------------
+%% Incomming connections - Deny
+%%-----------------------------------------------------------------
+deny_port_api(doc) -> ["Deny Access due to invalid local port"];
+deny_port_api(suite) -> [];
+deny_port_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ ServerPort = orber:iiop_port(),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_OUTGOING)},
+ {iiop_acl, [{tcp_out, IP++"/128#" ++ integer_to_list(ServerPort+10)}]}])),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ orber_test_lib:remote_apply(ServerNode, corba, string_to_object,
+ ["corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService"])),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+deny_port_range_api(doc) -> ["Deny Access due to invalid local port range"];
+deny_port_range_api(suite) -> [];
+deny_port_range_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ ServerPort = orber:iiop_port(),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_OUTGOING)},
+ {iiop_acl, [{tcp_out, IP++"/128#"++integer_to_list(ServerPort+100)++ "/" ++ integer_to_list(ServerPort+120)}]}])),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ orber_test_lib:remote_apply(ServerNode, corba, string_to_object,
+ ["corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService"])),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+
+deny_host_api(doc) -> ["Deny Access due to invalid host"];
+deny_host_api(suite) -> [];
+deny_host_api(_Config) ->
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_OUTGOING)},
+ {iiop_acl, [{tcp_out, "0:0:0:0:0:0:10.1.1.1/128"}]}])),
+ ServerPort = orber:iiop_port(),
+ ?match({'EXCEPTION', #'CosNaming_NamingContextExt_InvalidAddress'{}},
+ orber_test_lib:remote_apply(ServerNode, corba, string_to_object,
+ ["corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService"])),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Incomming connections - Allow
+%%-----------------------------------------------------------------
+allow_port_api(doc) -> ["Allow Access due to valid local port"];
+allow_port_api(suite) -> [];
+allow_port_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ ServerPort = orber:iiop_port(),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_OUTGOING)},
+ {iiop_acl, [{tcp_out, IP++"/128#" ++ integer_to_list(ServerPort)}]}])),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ orber_test_lib:remote_apply(ServerNode, corba, string_to_object,
+ ["corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService"])),
+ ?match(false,
+ orber_test_lib:remote_apply(ServerNode, corba_object, not_existent, [IOR])),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+allow_port_range_api(doc) -> ["Allow Access due to valid local port range"];
+allow_port_range_api(suite) -> [];
+allow_port_range_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ ServerPort = orber:iiop_port(),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_OUTGOING)},
+ {iiop_acl, [{tcp_out, IP++"/128#" ++ integer_to_list(ServerPort-10) ++ "/" ++ integer_to_list(ServerPort+10)}]}])),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ orber_test_lib:remote_apply(ServerNode, corba, string_to_object,
+ ["corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService"])),
+ ?match(false,
+ orber_test_lib:remote_apply(ServerNode, corba_object, not_existent, [IOR])),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+
+allow_host_api(doc) -> ["Allow Access due to valid host"];
+allow_host_api(suite) -> [];
+allow_host_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_OUTGOING)},
+ {iiop_acl, [{tcp_out, IP}]}])),
+ ServerPort = orber:iiop_port(),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ orber_test_lib:remote_apply(ServerNode, corba, string_to_object,
+ ["corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService"])),
+ ?match(false,
+ orber_test_lib:remote_apply(ServerNode, corba_object, not_existent, [IOR])),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
+local_interface_api(doc) -> ["Allow Access due to valid host via a spcific interface"];
+local_interface_api(suite) -> [];
+local_interface_api(_Config) ->
+ [IP] = ?match([_], orber:host()),
+ {ok, ServerNode, ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, (?ORB_ENV_USE_IPV6 bor
+ ?ORB_ENV_USE_ACL_OUTGOING)},
+ {iiop_acl, [{tcp_out, IP, [IP]}]}])),
+ ServerPort = orber:iiop_port(),
+ IOR =
+ ?match({'IOP_IOR',_,_},
+ orber_test_lib:remote_apply(ServerNode, corba, string_to_object,
+ ["corbaloc::1.2@"++ServerHost++":"++integer_to_list(ServerPort)++"/NameService"])),
+ ?match(false,
+ orber_test_lib:remote_apply(ServerNode, corba_object, not_existent, [IOR])),
+% ?line catch orber_test_lib:destroy_node(ServerNode, timeout),
+ ok.
+
diff --git a/lib/orber/test/orber_nat_SUITE.erl b/lib/orber/test/orber_nat_SUITE.erl
new file mode 100644
index 0000000000..5b295dd1aa
--- /dev/null
+++ b/lib/orber/test/orber_nat_SUITE.erl
@@ -0,0 +1,372 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2006-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(orber_nat_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+-include_lib("orber/src/ifr_objects.hrl").
+-include("idl_output/orber_test_server.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContextExt.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
+
+
+-define(default_timeout, ?t:minutes(15)).
+
+-define(match(ExpectedRes,Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1, cases/0, init_all/1, finish_all/1,
+ init_per_testcase/2, fin_per_testcase/2,
+ nat_ip_address/1, nat_ip_address_multiple/1,
+ nat_ip_address_local/1, nat_ip_address_local_local/1,
+ nat_iiop_port/1, nat_iiop_port_local/1,
+ nat_iiop_port_local_local/1, nat_iiop_ssl_port/1,
+ nat_iiop_ssl_port_local/1]).
+
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["API tests for multi orber interfaces",
+ "This suite test intra-ORB communication. There are three scenarios:",
+ "* No security at all (multi_orber_api)",
+ "* Two secure orbs using ssl (ssl_multi_orb_api)",
+ "* One secure and one orb with no security. (ssl_multi_orb_api)"];
+all(suite) -> {req,
+ [mnesia],
+ {conf, init_all, cases(), finish_all}}.
+
+cases() ->
+ [
+ nat_ip_address,
+ nat_ip_address_multiple,
+ nat_ip_address_local,
+ nat_iiop_port,
+ nat_iiop_port_local,
+ nat_ip_address_local_local,
+ nat_iiop_port_local_local,
+ nat_iiop_ssl_port,
+ nat_iiop_ssl_port_local
+ ].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ Dog=test_server:timetrap(?default_timeout),
+ orber:jump_start([{iiop_port, 0},
+ {flags, 0}]),
+ oe_orber_test_server:oe_register(),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ oe_orber_test_server:oe_unregister(),
+ orber:jump_stop(),
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+init_all(Config) ->
+ if
+ is_list(Config) ->
+ Config;
+ true ->
+ exit("Config not a list")
+ end.
+
+finish_all(Config) ->
+ Config.
+
+%%-----------------------------------------------------------------
+%% API tests for NAT
+%%-----------------------------------------------------------------
+
+nat_ip_address(doc) -> ["This case test if the server ORB use the correct",
+ "interface when exporting IOR:s"];
+nat_ip_address(suite) -> [];
+nat_ip_address(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_ENABLE_NAT},
+ {nat_ip_address, Loopback}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {Loopback, ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR)),
+ ok.
+
+nat_ip_address_multiple(doc) -> ["This case test if the server ORB use the correct",
+ "interface when exporting IOR:s"];
+nat_ip_address_multiple(suite) -> [];
+nat_ip_address_multiple(_Config) ->
+ IP = orber_test_lib:get_host(),
+
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_ENABLE_NAT},
+ {nat_ip_address, {multiple, ["10.0.0.1"]}}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {"10.0.0.1", ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR)),
+ ok.
+
+nat_ip_address_local(doc) -> ["This case test if the server ORB use the correct",
+ "interface when exporting IOR:s"];
+nat_ip_address_local(suite) -> [];
+nat_ip_address_local(_Config) ->
+ IP = orber_test_lib:get_host(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_ENABLE_NAT},
+ {nat_ip_address, {local, "10.0.0.1", [{IP, "127.0.0.1"}]}}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {"10.0.0.1", ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR)),
+ ok.
+
+nat_ip_address_local_local(doc) -> ["This case test if the server ORB use the correct",
+ "interface when exporting IOR:s"];
+nat_ip_address_local_local(suite) -> [];
+nat_ip_address_local_local(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags,
+ (?ORB_ENV_LOCAL_INTERFACE bor
+ ?ORB_ENV_ENABLE_NAT)},
+ {nat_ip_address, {local, "10.0.0.1", [{IP, "10.0.0.2"}]}}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR1 = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {"10.0.0.2", ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR1)),
+ IOR2 = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++Loopback++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {"10.0.0.1", ServerPort, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR2)),
+ ok.
+
+nat_iiop_port(doc) -> ["This case test if the server ORB use the correct",
+ "port when exporting IOR:s"];
+nat_iiop_port(suite) -> [];
+nat_iiop_port(_Config) ->
+ IP = orber_test_lib:get_host(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_ENABLE_NAT},
+ {nat_iiop_port, 42}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {_IP, 42, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR)),
+ ok.
+
+nat_iiop_port_local(doc) -> ["This case test if the server ORB use the correct",
+ "port when exporting IOR:s"];
+nat_iiop_port_local(suite) -> [];
+nat_iiop_port_local(_Config) ->
+ IP = orber_test_lib:get_host(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags, ?ORB_ENV_ENABLE_NAT},
+ {nat_iiop_port, {local, 42, [{4001, 43}]}}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ IOR = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {_IP, 42, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR)),
+ ok.
+
+nat_iiop_port_local_local(doc) -> ["This case test if the server ORB use the correct",
+ "port when exporting IOR:s"];
+nat_iiop_port_local_local(suite) -> [];
+nat_iiop_port_local_local(_Config) ->
+ IP = orber_test_lib:get_host(),
+ Loopback = orber_test_lib:get_loopback_interface(),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node([{flags,
+ (?ORB_ENV_LOCAL_INTERFACE bor
+ ?ORB_ENV_ENABLE_NAT)},
+ {ip_address, IP}])),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ orber_test_lib:remote_apply(ServerNode, orber_env, configure_override, [nat_iiop_port, {local, 42, [{ServerPort, 43}]}]),
+ IOR1 = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++IP++":"++integer_to_list(ServerPort)++"/NameService")),
+ ?match({'external', {IP, 43, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR1)),
+ {ok, Ref} = ?match({ok, _},
+ orber_test_lib:remote_apply(ServerNode, orber,
+ add_listen_interface,
+ [Loopback, normal, 10088])),
+ IOR2 = ?match(#'IOP_IOR'{},
+ corba:string_to_object("corbaloc::1.2@"++Loopback++":10088/NameService")),
+ ?match({'external', {IP, 42, _ObjectKey, _Counter, _TP, _NewHD}},
+ iop_ior:get_key(IOR2)),
+ ?match(ok,
+ orber_test_lib:remote_apply(ServerNode, orber,
+ remove_listen_interface, [Ref])),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% API tests for ORB to ORB, ssl security depth 1
+%%-----------------------------------------------------------------
+
+nat_iiop_ssl_port(doc) -> ["SECURE MULTI ORB API tests (SSL depth 1)",
+ "Make sure NAT works for SSL"];
+nat_iiop_ssl_port(suite) -> [];
+nat_iiop_ssl_port(_Config) ->
+ case os:type() of
+ vxworks ->
+ {skipped, "No SSL-support for VxWorks."};
+ _ ->
+ IP = orber_test_lib:get_host(),
+ ServerOptions = orber_test_lib:get_options(iiop_ssl, server,
+ 1, [{iiop_ssl_port, 0},
+ {flags, ?ORB_ENV_ENABLE_NAT},
+ {ip_address, IP}]),
+ ClientOptions = orber_test_lib:get_options(iiop_ssl, client,
+ 1, [{iiop_ssl_port, 0}]),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node(ServerOptions)),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ SSLServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_ssl_port, []),
+ NATSSLServerPort = SSLServerPort+1,
+ {ok, Ref} = ?match({ok, _},
+ orber_test_lib:remote_apply(ServerNode, orber,
+ add_listen_interface,
+ [IP, ssl, NATSSLServerPort])),
+ orber_test_lib:remote_apply(ServerNode, orber_env, configure_override,
+ [nat_iiop_ssl_port,
+ {local, NATSSLServerPort, [{4001, 43}]}]),
+
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node(ClientOptions)),
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [ssl])),
+
+ IOR1 = ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba,
+ string_to_object,
+ ["corbaname::1.2@"++IP++":"++
+ integer_to_list(ServerPort)++"/NameService#mamba"])),
+
+ ?match({'external', {_IP, _Port, _ObjectKey, _Counter, _TP,
+ #host_data{protocol = ssl,
+ ssl_data = #'SSLIOP_SSL'{port = NATSSLServerPort}}}},
+ iop_ior:get_key(IOR1)),
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ uninstall_test_data,
+ [ssl])),
+ ?match(ok,
+ orber_test_lib:remote_apply(ServerNode, orber,
+ remove_listen_interface, [Ref])),
+ ok
+ end.
+
+nat_iiop_ssl_port_local(doc) -> ["SECURE MULTI ORB API tests (SSL depth 1)",
+ "Make sure NAT works for SSL"];
+nat_iiop_ssl_port_local(suite) -> [];
+nat_iiop_ssl_port_local(_Config) ->
+ case os:type() of
+ vxworks ->
+ {skipped, "No SSL-support for VxWorks."};
+ _ ->
+ IP = orber_test_lib:get_host(),
+ ServerOptions = orber_test_lib:get_options(iiop_ssl, server,
+ 1, [{iiop_ssl_port, 0},
+ {flags,
+ (?ORB_ENV_LOCAL_INTERFACE bor
+ ?ORB_ENV_ENABLE_NAT)},
+ {ip_address, IP}]),
+ ClientOptions = orber_test_lib:get_options(iiop_ssl, client,
+ 1, [{iiop_ssl_port, 0}]),
+ {ok, ServerNode, _ServerHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node(ServerOptions)),
+ ServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_port, []),
+ SSLServerPort = orber_test_lib:remote_apply(ServerNode, orber, iiop_ssl_port, []),
+ NATSSLServerPort = SSLServerPort+1,
+ {ok, Ref} = ?match({ok, _},
+ orber_test_lib:remote_apply(ServerNode, orber,
+ add_listen_interface,
+ [IP, ssl, NATSSLServerPort])),
+ orber_test_lib:remote_apply(ServerNode, orber_env, configure_override,
+ [nat_iiop_ssl_port,
+ {local, NATSSLServerPort, [{NATSSLServerPort, NATSSLServerPort}]}]),
+
+ {ok, ClientNode, _ClientHost} =
+ ?match({ok,_,_}, orber_test_lib:js_node(ClientOptions)),
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ install_test_data,
+ [ssl])),
+
+ IOR1 = ?match(#'IOP_IOR'{},
+ orber_test_lib:remote_apply(ClientNode, corba,
+ string_to_object,
+ ["corbaname::1.2@"++IP++":"++
+ integer_to_list(ServerPort)++"/NameService#mamba"])),
+
+ ?match({'external', {_IP, _Port, _ObjectKey, _Counter, _TP,
+ #host_data{protocol = ssl,
+ ssl_data = #'SSLIOP_SSL'{port = NATSSLServerPort}}}},
+ iop_ior:get_key(IOR1)),
+ ?match(ok, orber_test_lib:remote_apply(ServerNode, orber_test_lib,
+ uninstall_test_data,
+ [ssl])),
+ ?match(ok,
+ orber_test_lib:remote_apply(ServerNode, orber,
+ remove_listen_interface, [Ref])),
+ ok
+ end.
+
diff --git a/lib/orber/test/orber_test.idl b/lib/orber/test/orber_test.idl
new file mode 100644
index 0000000000..3d943f2d18
--- /dev/null
+++ b/lib/orber/test/orber_test.idl
@@ -0,0 +1,95 @@
+//
+// %CopyrightBegin%
+//
+// Copyright Ericsson AB 1997-2010. All Rights Reserved.
+//
+// The contents of this file are subject to the Erlang Public License,
+// Version 1.1, (the "License"); you may not use this file except in
+// compliance with the License. You should have received a copy of the
+// Erlang Public License along with this software. If not, it can be
+// retrieved online at http://www.erlang.org/.
+//
+// Software distributed under the License is distributed on an "AS IS"
+// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+// the License for the specific language governing rights and limitations
+// under the License.
+//
+// %CopyrightEnd%
+//
+module Module
+{
+
+ enum Enum {horse, pig, cow};
+
+ struct Struct0 {
+ long l;
+ short s;
+ char c;
+ };
+
+ struct Struct1 {
+ string s;
+ unsigned short us;
+ unsigned long ul;
+ };
+
+ struct Struct2 {
+ sequence <long> long_sequence;
+ Enum e;
+ octet o;
+ };
+
+ struct HEADER {
+ short EID;
+ short NDW;
+ short SSID;
+ };
+
+ enum Enum1 {orange,banana, apple};
+
+ union Union switch (short) {
+ case 0: short First;
+ case 1: string Second;
+ case 2: char Third;
+ };
+
+ union Union1 switch (Enum){
+ case horse: short horse;
+ case pig: sequence <string> Second;
+ case cow: Enum1 Third;
+ };
+
+ union Union2 switch (Enum){
+ case horse: long a[10];
+ case pig: Union u;
+ case cow: Union1 u1;
+ };
+
+ exception Except1 {
+ string why;
+ sequence <string> rest_of_name;
+ };
+
+ exception Except2 {
+ Enum1 e;
+ Struct2 s;
+ };
+
+ exception Except3 {
+ Union1 u;
+ unsigned short s;
+ Object o ;
+ };
+
+ exception Except4 {};
+
+ interface I1 {
+ void a();
+ };
+
+ interface I2 {
+ void a();
+ };
+
+};
+
diff --git a/lib/orber/test/orber_test_lib.erl b/lib/orber/test/orber_test_lib.erl
new file mode 100644
index 0000000000..a694dc58c4
--- /dev/null
+++ b/lib/orber/test/orber_test_lib.erl
@@ -0,0 +1,1498 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(orber_test_lib).
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/include/ifr_types.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+-include("idl_output/orber_test_server.hrl").
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+
+-define(match(ExpectedRes,Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-export([js_node/2,
+ js_node/1,
+ js_node/0,
+ slave_sup/0,
+ remote_apply/4,
+ install_test_data/1,
+ light_tests/3,
+ uninstall_test_data/1,
+ destroy_node/2,
+ lookup/2,
+ alternate_iiop_address/2,
+ create_alternate_iiop_address/2,
+ alternate_ssl_iiop_address/3,
+ create_alternate_ssl_iiop_address/3,
+ test_coding/1,
+ test_coding/2,
+ corba_object_tests/2,
+ timeouts/3,
+ precond/3,
+ postcond/4,
+ oe_get_interface/0,
+ create_components_IOR/1,
+ get_options/2,
+ get_options/3,
+ get_options/4,
+ version_ok/0,
+ ssl_version/0,
+ get_loopback_interface/0,
+ get_loopback_interface/1,
+ get_host/0,
+ get_host/1]).
+
+%% Interceptor functions.
+-export([new_out_connection/3,
+ new_in_connection/3,
+ closed_in_connection/1,
+ closed_out_connection/1,
+ in_request_encoded/6,
+ in_reply_encoded/6,
+ out_reply_encoded/6,
+ out_request_encoded/6,
+ in_request/6,
+ in_reply/6,
+ out_reply/6,
+ out_request/6]).
+
+%%------------------------------------------------------------
+%% function : ssl_version
+%% Arguments:
+%% Returns : integer()
+%% Effect :
+%%
+%%------------------------------------------------------------
+ssl_version() ->
+ case catch erlang:system_info(otp_release) of
+ Version when is_list(Version) ->
+ if
+ "R12B" < Version ->
+ 3;
+ true ->
+ 2
+ end;
+ _ ->
+ 2
+ end.
+
+%%------------------------------------------------------------
+%% function : version_ok
+%% Arguments:
+%% Returns : true | {skipped, Reason}
+%% Effect :
+%%
+%%------------------------------------------------------------
+version_ok() ->
+ {ok, Hostname} = inet:gethostname(),
+ case inet:getaddr(Hostname, inet6) of
+ {error,nxdomain} ->
+ {skipped, "Inet cannot handle IPv6"};
+ _ ->
+ case inet:getaddr("0:0:0:0:0:FFFF:127.0.0.1", inet6) of
+ {error,nxdomain} ->
+ {skipped, "Inet cannot handle IPv6"};
+ _ ->
+ case gen_tcp:listen(0, [{reuseaddr, true}, inet6]) of
+ {ok, LSock} ->
+ gen_tcp:close(LSock),
+ true;
+ {error, _} ->
+ {skipped, "Inet cannot handle IPv6"}
+ end
+ end
+ end.
+%%------------------------------------------------------------
+%% function : get_host
+%% Arguments: Family - inet | inet6
+%% Returns : string()
+%% Effect :
+%%
+%%------------------------------------------------------------
+get_host() ->
+ get_host(inet).
+get_host(Family) ->
+ case os:type() of
+ {win32, _} ->
+ case os:version() of
+ {6, _, _} when Family == inet ->
+ "127.0.0.1";
+ {6, _, _} ->
+ "0:0:0:0:0:FFFF:7F00:0001";
+ _ ->
+ [IP] = ?match([_], orber:host()),
+ IP
+ end;
+ _ ->
+ [IP] = ?match([_], orber:host()),
+ IP
+ end.
+
+%%------------------------------------------------------------
+%% function : get_loopback_interface
+%% Arguments: Family - inet | inet6
+%% Returns : string()
+%% Effect :
+%%
+%%------------------------------------------------------------
+get_loopback_interface() ->
+ get_loopback_interface(inet).
+get_loopback_interface(Family) ->
+ case os:type() of
+ {win32, _} ->
+ case os:version() of
+ {6, _, _} when Family == inet ->
+ "127.0.0.2";
+ {6, _, _} ->
+ "0:0:0:0:0:FFFF:7F00:0002";
+ _ when Family == inet ->
+ "127.0.0.1";
+ _ ->
+ "0:0:0:0:0:FFFF:7F00:0001"
+ end;
+ _ when Family == inet ->
+ "127.0.0.1";
+ _ ->
+ "0:0:0:0:0:FFFF:7F00:0001"
+ end.
+
+%%------------------------------------------------------------
+%% function : js_node/4
+%% Arguments: Port - which iiop_port (integer())
+%% InitOptions - [{Key, Value}]
+%% {Type, StartOptions} - {lightweight, [{Key, Value}]}
+%% Returns : {ok, Node} | {error, _}
+%% Effect : Starts a new slave-node with given (optinally)
+%% extra arguments. If fails it retries 'Retries' times.
+%%------------------------------------------------------------
+js_node() ->
+ js_node([], []).
+
+js_node(InitOptions) when is_list(InitOptions) ->
+ js_node(InitOptions, []).
+
+js_node(InitOptions, StartOptions) when is_list(InitOptions) ->
+ {A,B,C} = erlang:now(),
+ [_, Host] = string:tokens(atom_to_list(node()), [$@]),
+ _NewInitOptions = check_options(InitOptions),
+ js_node_helper(Host, 0, lists:concat([A,'_',B,'_',C]),
+ InitOptions, 10, StartOptions).
+
+js_node_helper(Host, Port, Name, Options, Retries, StartOptions) ->
+ case starter(Host, Name, create_paths()) of
+ {ok, NewNode} ->
+ case net_adm:ping(NewNode) of
+ pong ->
+ start_ssl(lists:member({secure, ssl}, Options), NewNode),
+ {ok, Cwd} = file:get_cwd(),
+ Path = code:get_path(),
+ ok = rpc:call(NewNode, file, set_cwd, [Cwd]),
+ true = rpc:call(NewNode, code, set_path, [Path]),
+ rpc:call(NewNode, application, load, [orber]),
+ ok = rpc:call(NewNode, corba, orb_init,
+ [[{iiop_port, Port},
+ {orber_debug_level, 10}|Options]]),
+ start_orber(StartOptions, NewNode),
+ spawn_link(NewNode, ?MODULE, slave_sup, []),
+ rpc:multicall([node() | nodes()], global, sync, []),
+ ok = rpc:call(NewNode, orber, info, [io]),
+ {ok, NewNode, Host};
+ _ ->
+ {error, "net_adm:ping(Node) failed"}
+ end;
+ {error, Reason} when Retries == 0 ->
+ {error, Reason};
+ {error, Reason} ->
+ io:format("Could not start slavenode ~p:~p due to: ~p~n",
+ [Host, Port, Reason]),
+ timer:sleep(500),
+ js_node_helper(Host, Port, Name, Options, Retries-1, StartOptions)
+ end.
+
+check_options(Options) ->
+ case {os:type(), os:version()} of
+ {{win32, _}, {6, _, _}} ->
+ %% Vista, need to run additional checks.
+ case {orber_tb:keysearch(ip_address, Options),
+ orber_tb:keysearch(flags, Options, 0)} of
+ {undefined, Flags} ->
+ case ?ORB_FLAG_TEST(Flags, ?ORB_ENV_USE_IPV6) of
+ true ->
+ [{ip_address, get_host(inet6)}|Options];
+ false ->
+ [{ip_address, get_host(inet)}|Options]
+ end;
+ _ ->
+ Options
+ end;
+ _ ->
+ Options
+ end.
+
+starter(Host, Name, Args) ->
+ case os:type() of
+ vxworks ->
+ test_server:start_node(Name, slave, [{args,Args}]);
+ _ ->
+ slave:start_link(Host, Name, Args)
+ end.
+
+slave_sup() ->
+ process_flag(trap_exit, true),
+ receive
+ {'EXIT', _, _} ->
+ case os:type() of
+ vxworks ->
+ erlang:halt();
+ _ ->
+ ignore
+ end
+ end.
+
+start_ssl(true, Node) ->
+ rpc:call(Node, ssl, start, []),
+ rpc:call(Node, crypto, start, []),
+ rpc:call(Node, ssl, seed, ["testing"]);
+start_ssl(_, _) ->
+ ok.
+
+start_orber({lightweigth, Options}, Node) ->
+ ok = rpc:call(Node, orber, start_lightweight, [Options]);
+start_orber(lightweight, Node) ->
+ ok = rpc:call(Node, orber, start_lightweight, []);
+start_orber(_, Node) ->
+ ok = rpc:call(Node, orber, jump_start, []).
+
+
+%%-----------------------------------------------------------------
+%% Type - ssl | iiop_ssl
+%% Role - 'server' | 'client'
+%% Options - [{Key, Value}]
+%%-----------------------------------------------------------------
+get_options(Type, Role) ->
+ get_options(Type, Role, 2, []).
+
+get_options(ssl, Role, Level) ->
+ get_options(ssl, Role, Level, []).
+
+get_options(ssl, Role, 2, Options) ->
+ Dir = filename:join([code:lib_dir(ssl), "examples", "certs", "etc"]),
+ [{depth, 2},
+ {verify, 2},
+ {keyfile, filename:join([Dir, Role, "key.pem"])},
+ {cacertfile, filename:join([Dir, Role, "cacerts.pem"])},
+ {certfile, filename:join([Dir, Role, "cert.pem"])}|Options];
+get_options(iiop_ssl, _Role, 2, Options) ->
+ Dir = filename:join([code:lib_dir(ssl), "examples", "certs", "etc"]),
+ [{ssl_server_depth, 2},
+ {ssl_server_verify, 2},
+ {ssl_server_certfile, filename:join([Dir, "server", "cert.pem"])},
+ {ssl_server_cacertfile, filename:join([Dir, "server", "cacerts.pem"])},
+ {ssl_server_keyfile, filename:join([Dir, "server", "key.pem"])},
+ {ssl_client_depth, 2},
+ {ssl_client_verify, 2},
+ {ssl_client_certfile, filename:join([Dir, "client", "cert.pem"])},
+ {ssl_client_cacertfile, filename:join([Dir, "client", "cacerts.pem"])},
+ {ssl_client_keyfile, filename:join([Dir, "client", "key.pem"])},
+ {secure, ssl}|Options];
+get_options(iiop_ssl, _Role, 1, Options) ->
+ Dir = filename:join([code:lib_dir(ssl), "examples", "certs", "etc"]),
+ [{ssl_server_depth, 1},
+ {ssl_server_verify, 0},
+ {ssl_server_certfile, filename:join([Dir, "server", "cert.pem"])},
+ {ssl_server_cacertfile, filename:join([Dir, "server", "cacerts.pem"])},
+ {ssl_server_keyfile, filename:join([Dir, "server", "key.pem"])},
+ {ssl_client_depth, 1},
+ {ssl_client_verify, 0},
+ {ssl_client_certfile, filename:join([Dir, "client", "cert.pem"])},
+ {ssl_client_cacertfile, filename:join([Dir, "client", "cacerts.pem"])},
+ {ssl_client_keyfile, filename:join([Dir, "client", "key.pem"])},
+ {secure, ssl}|Options].
+
+
+create_paths() ->
+ Path = filename:dirname(code:which(?MODULE)),
+ " -pa " ++ Path ++ " -pa " ++
+ filename:join(Path, "idl_output") ++
+ " -pa " ++
+ filename:join(Path, "all_SUITE_data") ++
+ " -pa " ++
+ filename:dirname(code:which(orber)).
+
+%%------------------------------------------------------------
+%% function : destroy_node
+%% Arguments: Node - which node to destroy.
+%% Type - normal | ssl
+%% Returns :
+%% Effect :
+%%------------------------------------------------------------
+
+destroy_node(Node, Type) ->
+ stopper(Node, Type).
+
+stopper(Node, _Type) ->
+ case os:type() of
+ vxworks ->
+ test_server:stop_node(Node);
+ _ ->
+ slave:stop(Node)
+ end.
+
+
+%%------------------------------------------------------------
+%% function : remote_apply
+%% Arguments: N - Node, M - Module,
+%% F - Function, A - Arguments (list)
+%% Returns :
+%% Effect :
+%%------------------------------------------------------------
+remote_apply(N, M,F,A) ->
+ case rpc:call(N, M, F, A) of
+ {badrpc, Reason} ->
+ exit(Reason);
+ Other ->
+ Other
+ end.
+
+
+
+%%------------------------------------------------------------
+%% function : install_test_data
+%% Arguments: WhichSuite
+%% Returns : ok
+%% Effect : Installs test data associated with 'WhichSuite'
+%%------------------------------------------------------------
+
+install_test_data(nameservice) ->
+ oe_orber_test_server:oe_register(),
+ Mamba = orber_test_server:oe_create([], [{regname, {local, mamba}}]),
+ true = corba:add_initial_service("Mamba", Mamba),
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "mamba"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ 'CosNaming_NamingContext':bind(NS, N,Mamba);
+
+install_test_data({nameservice, AltAddr, AltPort}) ->
+ oe_orber_test_server:oe_register(),
+ Obj = orber_test_server:oe_create([], [{regname, {local, mamba}}]),
+ Mamba = corba:add_alternate_iiop_address(Obj, AltAddr, AltPort),
+ true = corba:add_initial_service("Mamba", Mamba),
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "mamba"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ 'CosNaming_NamingContext':bind(NS, N,Mamba);
+
+install_test_data(timeout) ->
+ oe_orber_test_server:oe_register(),
+ Mamba = orber_test_server:oe_create([], {local, mamba}),
+ Viper = orber_test_timeout_server:oe_create([], {local, viper}),
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "mamba"),
+ N1 = lname:insert_component(lname:create(), 1, NC1),
+ NC2 = lname_component:set_id(lname_component:create(), "viper"),
+ N2 = lname:insert_component(lname:create(), 1, NC2),
+ 'CosNaming_NamingContext':bind(NS, N1, Mamba),
+ 'CosNaming_NamingContext':bind(NS, N2, Viper);
+
+install_test_data(pseudo) ->
+ oe_orber_test_server:oe_register(),
+ Mamba = orber_test_server:oe_create([], [{pseudo,true}]),
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "mamba"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ 'CosNaming_NamingContext':bind(NS, N,Mamba);
+
+install_test_data(ssl) ->
+ oe_orber_test_server:oe_register(),
+ Mamba = orber_test_server:oe_create([], [{regname, {local, mamba}}]),
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "mamba"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ 'CosNaming_NamingContext':bind(NS, N,Mamba);
+
+install_test_data(ssl_simple) ->
+ oe_orber_test_server:oe_register();
+
+install_test_data(light) ->
+ %% Nothing to do at the moment but we might in the future
+ ok;
+
+install_test_data(_) ->
+ {error, "no_implement"}.
+
+
+%%------------------------------------------------------------
+%% function : uninstall_test_data
+%% Arguments: WhichSuite
+%% Returns : ok
+%% Effect : Uninstalls test data associated with 'WhichSuite'
+%%------------------------------------------------------------
+
+uninstall_test_data(pseudo) ->
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "mamba"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ _Obj = (catch 'CosNaming_NamingContext':resolve(NS, N)),
+ catch 'CosNaming_NamingContext':destroy(NS),
+ oe_orber_test_server:oe_unregister();
+
+uninstall_test_data(timeout) ->
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "mamba"),
+ N1 = lname:insert_component(lname:create(), 1, NC1),
+
+ NC2 = lname_component:set_id(lname_component:create(), "viper"),
+ N2 = lname:insert_component(lname:create(), 1, NC2),
+ Mamba = (catch 'CosNaming_NamingContext':resolve(NS, N1)),
+ Viper = (catch 'CosNaming_NamingContext':resolve(NS, N2)),
+ catch corba:dispose(Mamba),
+ catch corba:dispose(Viper),
+ catch 'CosNaming_NamingContext':destroy(NS),
+ oe_orber_test_server:oe_unregister();
+
+uninstall_test_data(nameservice) ->
+ true = corba:remove_initial_service("Mamba"),
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "mamba"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ Obj = (catch 'CosNaming_NamingContext':resolve(NS, N)),
+ catch corba:dispose(Obj),
+ catch 'CosNaming_NamingContext':destroy(NS),
+ oe_orber_test_server:oe_unregister();
+
+uninstall_test_data(ssl) ->
+ NS = corba:resolve_initial_references("NameService"),
+ NC1 = lname_component:set_id(lname_component:create(), "mamba"),
+ N = lname:insert_component(lname:create(), 1, NC1),
+ Obj = (catch 'CosNaming_NamingContext':resolve(NS, N)),
+ catch corba:dispose(Obj),
+ catch 'CosNaming_NamingContext':destroy(NS),
+ oe_orber_test_server:oe_unregister();
+
+uninstall_test_data(ssl_simple) ->
+ oe_orber_test_server:oe_unregister();
+
+uninstall_test_data(light) ->
+ %% Nothing to do at the moment but we might in the future
+ ok;
+
+uninstall_test_data(_) ->
+ {error, "no_implement"}.
+
+%%------------------------------------------------------------
+%% function : corba_object_tests
+%% Arguments: TestServerObj a orber_test_server ref
+%% OtherObj - any other Orber object.
+%% Returns : term()
+%% Effect :
+%%------------------------------------------------------------
+
+corba_object_tests(TestServerObj, OtherObj) ->
+ ?match(false,
+ corba_object:is_a(TestServerObj, "IDL:orber_parent/inherrit:1.0")),
+ ?match(true,
+ corba_object:is_a(TestServerObj, "IDL:omg.org/orber_parent/inherrit:1.0")),
+ ?match(true,
+ corba_object:is_a(TestServerObj, "IDL:omg.org/orber_test/server:1.0")),
+ ?match(false,
+ corba_object:is_a(TestServerObj, "IDL:orber_test/server:1.0")),
+ ?match(false,
+ corba_object:is_a(TestServerObj, "IDL:omg.org/orber_parent/inherrit:1.1")),
+ ?match(false,
+ corba_object:is_a(TestServerObj, "NotValidIFRID")),
+ ?match(false,
+ corba_object:is_nil(TestServerObj)),
+ ?match(false,
+ corba_object:is_equivalent(OtherObj,TestServerObj)),
+ ?match(true,
+ corba_object:is_equivalent(TestServerObj,TestServerObj)),
+ ?match(false, corba_object:non_existent(TestServerObj)),
+ ?match(false, corba_object:not_existent(TestServerObj)),
+ ?match(#fullinterfacedescription{}, corba_object:get_interface(TestServerObj)),
+
+ ok.
+
+%%------------------------------------------------------------
+%% function : lookup
+%% Arguments: Port - which port the other orb uses.
+%% Returns : term()
+%% Effect :
+%%------------------------------------------------------------
+
+lookup(Host, Port) ->
+ Key = Host++":"++integer_to_list(Port),
+ NSR = corba:resolve_initial_references_remote("NameService",
+ ["iiop://"++Key]),
+
+ NC1 = lname_component:set_id(lname_component:create(), "not_exist"),
+ N1 = lname:insert_component(lname:create(), 1, NC1),
+ ?match({'EXCEPTION',{'CosNaming_NamingContext_NotFound',_,_,_}},
+ 'CosNaming_NamingContext':resolve(NSR, N1)),
+
+ NC2 = lname_component:set_id(lname_component:create(), "mamba"),
+ N2 = lname:insert_component(lname:create(), 1, NC2),
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ 'CosNaming_NamingContext':resolve(NSR, N2)),
+ orber_test_server:print(Obj),
+ Obj2 = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ corba:string_to_object("corbaname:iiop:1.1@"++Key++"/NameService#mamba")),
+
+ orber_test_server:print(Obj2),
+
+ NSR2 = ?match({'IOP_IOR',"IDL:omg.org/CosNaming/NamingContextExt:1.0",_},
+ corba:string_to_object("corbaloc:iiop:1.1@"++Key++"/NameService")),
+ Obj3 = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ 'CosNaming_NamingContext':resolve(NSR2, N2)),
+ orber_test_server:print(Obj3).
+
+%%------------------------------------------------------------
+%% function : alternate_iiop_address
+%% Arguments: Port - which port the other orb uses.
+%% Returns : term()
+%% Effect :
+%%------------------------------------------------------------
+alternate_iiop_address(Host, Port) ->
+ IOR = create_alternate_iiop_address(Host, Port),
+
+ ?match(false, corba_object:non_existent(IOR)),
+ ?match({'object_forward',_}, corba:locate(IOR)),
+ ?match({'object_forward',_}, corba:locate(IOR, 10000)),
+ ok.
+
+%%------------------------------------------------------------
+%% function : create_alternate_iiop_address
+%% Arguments: Port - which port the other orb uses.
+%% Returns : term()
+%% Effect :
+%%------------------------------------------------------------
+create_alternate_iiop_address(Host, Port) ->
+ MC = [#'IOP_TaggedComponent'{tag = ?TAG_ORB_TYPE,
+ component_data = ?ORBER_ORB_TYPE_1},
+ #'IOP_TaggedComponent'{tag = ?TAG_CODE_SETS,
+ component_data = ?DEFAULT_CODESETS},
+ #'IOP_TaggedComponent'{tag = ?TAG_ALTERNATE_IIOP_ADDRESS,
+ component_data = #'ALTERNATE_IIOP_ADDRESS'{
+ 'HostID' = Host,
+ 'Port' = Port}},
+ #'IOP_TaggedComponent'{tag = ?TAG_ALTERNATE_IIOP_ADDRESS,
+ component_data = #'ALTERNATE_IIOP_ADDRESS'{
+ 'HostID' = Host,
+ 'Port' = 8000}},
+ #'IOP_TaggedComponent'{tag = ?TAG_ALTERNATE_IIOP_ADDRESS,
+ component_data = #'ALTERNATE_IIOP_ADDRESS'{
+ 'HostID' = Host,
+ 'Port' = 8000}}],
+ #'IOP_IOR'{type_id=TypeID,
+ profiles=P1} = _IORA = iop_ior:create({1,2},
+ "IDL:omg.org/CosNaming/NamingContextExt:1.0",
+ [Host], 8000, -1,
+ "NameService", MC, 0, 0),
+ #'IOP_IOR'{profiles=P2} = _IORB = iop_ior:create({1,1},
+ "IDL:omg.org/CosNaming/NamingContextExt:1.0",
+ [Host], 8000, -1,
+ "NameService", [], 0, 0),
+ #'IOP_IOR'{type_id=TypeID, profiles=P2++P1}.
+
+
+%%------------------------------------------------------------
+%% function : create_components_IOR
+%% Arguments:
+%% Returns : term()
+%% Effect :
+%%------------------------------------------------------------
+create_components_IOR(Version) ->
+ MC = [#'IOP_TaggedComponent'{tag = ?TAG_ORB_TYPE,
+ component_data = ?ORBER_ORB_TYPE_1},
+ #'IOP_TaggedComponent'{tag = ?TAG_CODE_SETS,
+ component_data = ?DEFAULT_CODESETS},
+ #'IOP_TaggedComponent'{tag = ?TAG_ALTERNATE_IIOP_ADDRESS,
+ component_data = #'ALTERNATE_IIOP_ADDRESS'{
+ 'HostID' = "127.0.0.1",
+ 'Port' = 4001}},
+ #'IOP_TaggedComponent'{tag = ?TAG_SSL_SEC_TRANS,
+ component_data = #'SSLIOP_SSL'{target_supports = 0,
+ target_requires = 1,
+ port = 2}},
+ #'IOP_TaggedComponent'{tag = ?TAG_FT_GROUP,
+ component_data =
+ #'FT_TagFTGroupTaggedComponent'
+ {version = #'GIOP_Version'{major = 1,
+ minor = 2},
+ ft_domain_id = "FT_FTDomainId",
+ object_group_id = ?ULONGLONGMAX,
+ object_group_ref_version = ?LONGMAX}},
+ #'IOP_TaggedComponent'{tag = ?TAG_FT_PRIMARY,
+ component_data =
+ #'FT_TagFTPrimaryTaggedComponent'{primary = true}},
+ #'IOP_TaggedComponent'{tag = ?TAG_FT_HEARTBEAT_ENABLED,
+ component_data =
+ #'FT_TagFTHeartbeatEnabledTaggedComponent'{heartbeat_enabled = true}},
+ #'IOP_TaggedComponent'{tag = ?TAG_CSI_SEC_MECH_LIST,
+ component_data =
+ #'CSIIOP_CompoundSecMechList'
+ {stateful = false,
+ mechanism_list =
+ [#'CSIIOP_CompoundSecMech'
+ {target_requires = 6,
+ transport_mech =
+ #'IOP_TaggedComponent'
+ {tag=?TAG_TLS_SEC_TRANS,
+ component_data=#'CSIIOP_TLS_SEC_TRANS'
+ {target_supports = 7,
+ target_requires = 8,
+ addresses =
+ [#'CSIIOP_TransportAddress'{host_name = "127.0.0.1",
+ port = 6001}]}},
+ as_context_mech =
+ #'CSIIOP_AS_ContextSec'
+ {target_supports = 9, target_requires = 10,
+ client_authentication_mech = [1, 255],
+ target_name = [2,255]},
+ sas_context_mech =
+ #'CSIIOP_SAS_ContextSec'
+ {target_supports = 11, target_requires = 12,
+ privilege_authorities =
+ [#'CSIIOP_ServiceConfiguration'
+ {syntax = ?ULONGMAX,
+ name = [3,255]}],
+ supported_naming_mechanisms = [[4,255],[5,255]],
+ supported_identity_types = ?ULONGMAX}},
+ #'CSIIOP_CompoundSecMech'
+ {target_requires = 6,
+ transport_mech =
+ #'IOP_TaggedComponent'
+ {tag=?TAG_NULL_TAG,
+ component_data=[]},
+ as_context_mech =
+ #'CSIIOP_AS_ContextSec'
+ {target_supports = 9, target_requires = 10,
+ client_authentication_mech = [1, 255],
+ target_name = [2,255]},
+ sas_context_mech =
+ #'CSIIOP_SAS_ContextSec'
+ {target_supports = 11, target_requires = 12,
+ privilege_authorities =
+ [#'CSIIOP_ServiceConfiguration'
+ {syntax = ?ULONGMAX,
+ name = [3,255]}],
+ supported_naming_mechanisms = [[4,255],[5,255]],
+ supported_identity_types = ?ULONGMAX}},
+ #'CSIIOP_CompoundSecMech'
+ {target_requires = 6,
+ transport_mech =
+ #'IOP_TaggedComponent'
+ {tag=?TAG_SECIOP_SEC_TRANS,
+ component_data=#'CSIIOP_SECIOP_SEC_TRANS'
+ {target_supports = 7,
+ target_requires = 8,
+ mech_oid = [0,255],
+ target_name = [0,255],
+ addresses =
+ [#'CSIIOP_TransportAddress'{host_name = "127.0.0.1",
+ port = 6001}]}},
+ as_context_mech =
+ #'CSIIOP_AS_ContextSec'
+ {target_supports = 9, target_requires = 10,
+ client_authentication_mech = [1, 255],
+ target_name = [2,255]},
+ sas_context_mech =
+ #'CSIIOP_SAS_ContextSec'
+ {target_supports = 11, target_requires = 12,
+ privilege_authorities =
+ [#'CSIIOP_ServiceConfiguration'
+ {syntax = ?ULONGMAX,
+ name = [3,255]}],
+ supported_naming_mechanisms = [[4,255],[5,255]],
+ supported_identity_types = ?ULONGMAX}}]}}],
+ iop_ior:create(Version, "IDL:omg.org/CosNaming/NamingContextExt:1.0",
+ ["127.0.0.1"], 5001, -1,
+ "NameService", MC, 0, 0).
+
+
+%%------------------------------------------------------------
+%% function : alternate_ssl_iiop_address
+%% Arguments: Port - which port the other orb uses.
+%% Returns : term()
+%% Effect :
+%%------------------------------------------------------------
+alternate_ssl_iiop_address(Host, Port, SSLPort) ->
+ IOR = create_alternate_ssl_iiop_address(Host, Port, SSLPort),
+
+ ?match(false, corba_object:non_existent(IOR)),
+ ?match({'object_forward',_}, corba:locate(IOR)),
+ ?match({'object_forward',_}, corba:locate(IOR, 10000)),
+ ok.
+
+
+%%------------------------------------------------------------
+%% function : create_alternate_ssl_iiop_address
+%% Arguments: Port - which port the other orb uses.
+%% Returns : term()
+%% Effect :
+%%------------------------------------------------------------
+create_alternate_ssl_iiop_address(Host, Port, SSLPort) ->
+ MC = [#'IOP_TaggedComponent'{tag = ?TAG_ORB_TYPE,
+ component_data = ?ORBER_ORB_TYPE_1},
+ #'IOP_TaggedComponent'{tag = ?TAG_CODE_SETS,
+ component_data = ?DEFAULT_CODESETS},
+ #'IOP_TaggedComponent'{tag = ?TAG_ALTERNATE_IIOP_ADDRESS,
+ component_data = #'ALTERNATE_IIOP_ADDRESS'{
+ 'HostID' = Host,
+ 'Port' = Port}},
+ #'IOP_TaggedComponent'{tag = ?TAG_ALTERNATE_IIOP_ADDRESS,
+ component_data = #'ALTERNATE_IIOP_ADDRESS'{
+ 'HostID' = Host,
+ 'Port' = 8000}},
+ #'IOP_TaggedComponent'{tag = ?TAG_ALTERNATE_IIOP_ADDRESS,
+ component_data = #'ALTERNATE_IIOP_ADDRESS'{
+ 'HostID' = Host,
+ 'Port' = 8000}},
+ #'IOP_TaggedComponent'{tag=?TAG_SSL_SEC_TRANS,
+ component_data=#'SSLIOP_SSL'{target_supports = 2,
+ target_requires = 2,
+ port = SSLPort}}],
+ #'IOP_IOR'{type_id=TypeID,
+ profiles=P1} = _IORA = iop_ior:create_external({1,2},
+ "IDL:omg.org/CosNaming/NamingContextExt:1.0",
+ Host, 8000,
+ "NameService", MC),
+ #'IOP_IOR'{profiles=P2} = _IORB = iop_ior:create_external({1,1},
+ "IDL:omg.org/CosNaming/NamingContextExt:1.0",
+ Host, 8000,
+ "NameService", []),
+ #'IOP_IOR'{type_id=TypeID, profiles=P2++P1}.
+
+
+%%------------------------------------------------------------
+%% function : timeouts
+%% Arguments: Port - which port the other orb uses.
+%% Returns : term()
+%% Effect :
+%%------------------------------------------------------------
+
+timeouts(Host, Port, ReqT) ->
+ NSR = corba:resolve_initial_references_remote("NameService",
+ ["iiop://"++Host++":"++integer_to_list(Port)]),
+ NC1 = lname_component:set_id(lname_component:create(), "mamba"),
+ N1 = lname:insert_component(lname:create(), 1, NC1),
+ NC2 = lname_component:set_id(lname_component:create(), "viper"),
+ N2 = lname:insert_component(lname:create(), 1, NC2),
+ Mamba = 'CosNaming_NamingContext':resolve(NSR, N1),
+ Viper = 'CosNaming_NamingContext':resolve(NSR, N2),
+
+ ?match({'EXCEPTION',{'TIMEOUT',_,_,_}},
+ orber_test_timeout_server:twoway_function(Viper, ReqT, ReqT*2)),
+ ?match(ok, orber_test_timeout_server:oneway_function(Viper, ReqT*2)),
+
+ ?match({'EXCEPTION',{'TIMEOUT',_,_,_}},
+ orber_test_server:testing_iiop_twoway_delay(Mamba, ReqT)),
+ ?match(ok, orber_test_server:testing_iiop_oneway_delay(Mamba, ReqT)),
+
+ %% Since the objects are stalled we must wait until they are available again
+ %% to be able to run any more tests and get the correct results.
+ timer:sleep(ReqT*4),
+
+ ?match(ok, orber_test_timeout_server:twoway_function(Viper, ReqT*2, ReqT)),
+ ?match(ok, orber_test_timeout_server:oneway_function(Viper, ReqT*2)),
+
+ ?match(ok, orber_test_server:testing_iiop_twoway_delay(Mamba, 0)),
+ ?match(ok, orber_test_server:testing_iiop_oneway_delay(Mamba, 0)),
+
+ timer:sleep(ReqT*4),
+ ok.
+
+%%------------------------------------------------------------
+%% function : light_tests
+%% Arguments: Host - which node to contact.
+%% Port - which port the other orb uses.
+%% Returns : term()
+%% Effect :
+%%------------------------------------------------------------
+
+light_tests(Host, Port, ObjName) ->
+ NSR = corba:resolve_initial_references_remote("NameService",
+ ["iiop://"++Host++":"++integer_to_list(Port)]),
+ NC1 = lname_component:set_id(lname_component:create(), "not_exist"),
+ N1 = lname:insert_component(lname:create(), 1, NC1),
+ %% We cannot handle any unknown replies (besides those found in stub).
+ ?match({'EXCEPTION',
+ {'CosNaming_NamingContext_NotFound',
+ "IDL:omg.org/CosNaming/NamingContext/NotFound:1.0",_,_}},
+ 'CosNaming_NamingContext':resolve(NSR, N1)),
+ NC2 = lname_component:set_id(lname_component:create(), ObjName),
+ N2 = lname:insert_component(lname:create(), 1, NC2),
+ Obj = ?match({'IOP_IOR',"IDL:omg.org/orber_test/server:1.0",_},
+ 'CosNaming_NamingContext':resolve(NSR, N2)),
+ Nodes = orber:get_lightweight_nodes(),
+ io:format("Light Nodes: ~p~n", [Nodes]),
+ orber_test_server:print(Obj),
+ test_coding(Obj),
+ ok.
+
+
+%%------------------------------------------------------------
+%% function : test_coding_simple
+%% Arguments: ObjReference
+%% Returns : term()
+%% Effect : test encode/decode for all simple datatypes.
+%%------------------------------------------------------------
+
+test_coding(Obj) ->
+ test_coding(Obj, false).
+
+test_coding(Obj, Local) ->
+ %%--- Testing code and decode arguments ---
+ ?match({ok, 1.5}, orber_test_server:testing_iiop_float(Obj, 1.5)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_float(Obj, atom)),
+
+ ?match({ok,1.0}, orber_test_server:testing_iiop_double(Obj, 1.0)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_double(Obj, "wrong")),
+
+ ?match({ok,0}, orber_test_server:testing_iiop_short(Obj, 0)),
+ ?match({ok,?SHORTMAX}, orber_test_server:testing_iiop_short(Obj, ?SHORTMAX)),
+ ?match({ok,?SHORTMIN}, orber_test_server:testing_iiop_short(Obj, ?SHORTMIN)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_short(Obj, atomic)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_short(Obj, ?SHORTMAX+1)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_short(Obj, ?SHORTMIN-1)),
+
+ ?match({ok,0}, orber_test_server:testing_iiop_ushort(Obj, 0)),
+ ?match({ok,?USHORTMAX}, orber_test_server:testing_iiop_ushort(Obj, ?USHORTMAX)),
+ ?match({ok,?USHORTMIN}, orber_test_server:testing_iiop_ushort(Obj, ?USHORTMIN)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_ushort(Obj, ?USHORTMAX+1)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_ushort(Obj, ?USHORTMIN-1)),
+
+ ?match({ok,0}, orber_test_server:testing_iiop_long(Obj, 0)),
+ ?match({ok,?LONGMAX}, orber_test_server:testing_iiop_long(Obj, ?LONGMAX)),
+ ?match({ok,?LONGMIN}, orber_test_server:testing_iiop_long(Obj, ?LONGMIN)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_long(Obj, "wrong")),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_long(Obj, ?LONGMAX+1)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_long(Obj, ?LONGMIN-1)),
+
+ ?match({ok,0}, orber_test_server:testing_iiop_longlong(Obj, 0)),
+ ?match({ok,?LONGLONGMAX}, orber_test_server:testing_iiop_longlong(Obj, ?LONGLONGMAX)),
+ ?match({ok,?LONGLONGMIN}, orber_test_server:testing_iiop_longlong(Obj, ?LONGLONGMIN)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_longlong(Obj, "wrong")),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_longlong(Obj, ?LONGLONGMAX+1)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_longlong(Obj, ?LONGLONGMIN-1)),
+
+ ?match({ok,0}, orber_test_server:testing_iiop_ulong(Obj, 0)),
+ ?match({ok,?ULONGMAX}, orber_test_server:testing_iiop_ulong(Obj, ?ULONGMAX)),
+ ?match({ok,?ULONGMIN}, orber_test_server:testing_iiop_ulong(Obj, ?ULONGMIN)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_ulong(Obj, ?ULONGMAX+1)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_ulong(Obj, ?ULONGMIN-1)),
+
+ ?match({ok,0}, orber_test_server:testing_iiop_ulonglong(Obj, 0)),
+ ?match({ok,?ULONGLONGMAX}, orber_test_server:testing_iiop_ulonglong(Obj, ?ULONGLONGMAX)),
+ ?match({ok,?ULONGLONGMIN}, orber_test_server:testing_iiop_ulonglong(Obj, ?ULONGLONGMIN)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_ulonglong(Obj, ?ULONGLONGMAX+1)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_ulonglong(Obj, ?ULONGLONGMIN-1)),
+
+ ?match({ok,98}, orber_test_server:testing_iiop_char(Obj, 98)),
+ ?match({ok,$b}, orber_test_server:testing_iiop_char(Obj, $b)),
+
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_char(Obj, atomic)),
+
+ ?match({ok,65535}, orber_test_server:testing_iiop_wchar(Obj, 65535)),
+ ?match({ok,$b}, orber_test_server:testing_iiop_wchar(Obj, $b)),
+
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_wchar(Obj, atomic)),
+
+ ?match({ok,true}, orber_test_server:testing_iiop_bool(Obj, true)),
+ ?match({ok,false}, orber_test_server:testing_iiop_bool(Obj, false)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_bool(Obj, atom)),
+
+ ?match({ok,1}, orber_test_server:testing_iiop_octet(Obj, 1)),
+% No real guards for this case.
+% ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+% orber_test_server:testing_iiop_octet(Obj, 1.5)),
+ IOR12 = create_components_IOR({1,2}),
+ ?match({ok,Obj}, orber_test_server:testing_iiop_obj(Obj, Obj)),
+ ?match({ok,IOR12}, orber_test_server:testing_iiop_obj(Obj, IOR12)),
+ PObj = orber_test_server:oe_create([], [{pseudo,true}]),
+ ?match({ok, _}, orber_test_server:testing_iiop_obj(Obj, PObj)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_obj(Obj, "no_object")),
+ ?match({ok,"string"}, orber_test_server:testing_iiop_string(Obj, "string")),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_string(Obj, "ToLongString")),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_string(Obj, atomic)),
+
+ ?match({ok,[65535]}, orber_test_server:testing_iiop_wstring(Obj, [65535])),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_wstring(Obj, "ToLongWstring")),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_wstring(Obj, atomic)),
+
+ ?match({ok, one},
+ orber_test_server:testing_iiop_enum(Obj, one)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_enum(Obj, three)),
+ ?match({ok,[1,2,3]},
+ orber_test_server:testing_iiop_seq(Obj, [1,2,3])),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_seq(Obj, [1,2,3,4])),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_seq(Obj, false)),
+
+
+ ?match({ok,[#orber_test_server_struc{a=1, b=2}]},
+ orber_test_server:testing_iiop_struc_seq(Obj,
+ [#orber_test_server_struc{a=1, b=2}])),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_struc_seq(Obj, false)),
+
+ ?match({ok,[#orber_test_server_uni{label=1, value=66}]},
+ orber_test_server:testing_iiop_uni_seq(Obj,
+ [#orber_test_server_uni{label=1, value=66}])),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_uni_seq(Obj, false)),
+
+ ?match({ok,{"one", "two"}},
+ orber_test_server:testing_iiop_array(Obj, {"one", "two"})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_array(Obj, {"one", "two", "three"})),
+ ?match({ok,#orber_test_server_struc{a=1, b=2}},
+ orber_test_server:testing_iiop_struct(Obj,
+ #orber_test_server_struc{a=1, b=2})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_struct(Obj,
+ #orber_test_server_struc{a="WRONG", b=2})),
+ ?match({ok,#orber_test_server_uni{label=1, value=66}},
+ orber_test_server:testing_iiop_union(Obj,
+ #orber_test_server_uni{label=1, value=66})),
+
+ ?match({ok,#orber_test_server_uni_d{label=1, value=66}},
+ orber_test_server:testing_iiop_union_d(Obj,
+ #orber_test_server_uni_d{label=1, value=66})),
+
+ ?match({ok,#orber_test_server_uni_d{label=2, value=true}},
+ orber_test_server:testing_iiop_union_d(Obj,
+ #orber_test_server_uni_d{label=2, value=true})),
+
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_union_d(Obj,
+ #orber_test_server_uni_d{label=2, value=66})),
+
+ case Local of
+ true ->
+ ?match({ok,#orber_test_server_uni{label=2, value=66}},
+ orber_test_server:testing_iiop_union(Obj,
+ #orber_test_server_uni{label=2, value=66}));
+ false ->
+ ?match({ok,#orber_test_server_uni{label=2, value=undefined}},
+ orber_test_server:testing_iiop_union(Obj,
+ #orber_test_server_uni{label=2, value=66}))
+ end,
+
+ C1 = orber_test_server:fixed52const1(),
+ C2 = orber_test_server:fixed52const2(),
+ C3 = orber_test_server:fixed52const3(),
+
+ C4 = orber_test_server:fixed52negconst1(),
+ C5 = orber_test_server:fixed52negconst2(),
+ C6 = orber_test_server:fixed52negconst3(),
+
+ ?match({ok,C1}, orber_test_server:testing_iiop_fixed(Obj, C1)),
+ ?match({ok,C2}, orber_test_server:testing_iiop_fixed(Obj, C2)),
+ ?match({ok,C3}, orber_test_server:testing_iiop_fixed(Obj, C3)),
+ ?match({ok,C4}, orber_test_server:testing_iiop_fixed(Obj, C4)),
+ ?match({ok,C5}, orber_test_server:testing_iiop_fixed(Obj, C5)),
+ ?match({ok,C6}, orber_test_server:testing_iiop_fixed(Obj, C6)),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_fixed(Obj, #fixed{digits = 5,
+ scale = 2,
+ value = 123450})),
+
+ ?match(ok, orber_test_server:testing_iiop_void(Obj)),
+
+ ?match({'EXCEPTION',{'BAD_QOS',_,_,_}},
+ orber_test_server:pseudo_call_raise_exc(Obj, 1)),
+ ?match({'EXCEPTION',{'BAD_QOS',_,_,_}},
+ orber_test_server:pseudo_call_raise_exc(Obj, 2)),
+ ?match({'EXCEPTION',{'orber_test_server_UserDefinedException',_}},
+ orber_test_server:raise_local_exception(Obj)),
+ ?match({'EXCEPTION',{'orber_test_server_ComplexUserDefinedException',_,
+ [#orber_test_server_struc{a=1, b=2}]}},
+ orber_test_server:raise_complex_local_exception(Obj)),
+ %% Test all TypeCodes
+ ?match({ok, #any{typecode = tk_long, value = 1}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_long,
+ value = 1})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_long,
+ value = "wrong"})),
+ ?match({ok, #any{typecode = tk_float, value = 1.5}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_float,
+ value = 1.5})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_long,
+ value = "wrong"})),
+ ?match({ok, #any{typecode = tk_double}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_double,
+ value = 1.0})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_double,
+ value = "wrong"})),
+ ?match({ok, #any{typecode = tk_short, value = -1}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_short,
+ value = -1})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_short,
+ value = atomic})),
+ ?match({ok, #any{typecode = tk_ushort, value = 1}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_ushort,
+ value = 1})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_ushort,
+ value = -1})),
+ ?match({ok, #any{typecode = tk_long, value = 1}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_long,
+ value = 1})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_long,
+ value = "wrong"})),
+ ?match({ok, #any{typecode = tk_longlong, value = 1}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_longlong,
+ value = 1})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_longlong,
+ value = "wrong"})),
+ ?match({ok, #any{typecode = tk_ulong, value = 1}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_ulong,
+ value = 1})),
+ ?match({ok, #any{typecode = tk_ulong, value = 4294967295}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_ulong,
+ value = 4294967295})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_ulong,
+ value = 4294967296})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_ulong,
+ value = -1})),
+ ?match({ok, #any{typecode = tk_ulonglong, value = 1}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_ulonglong,
+ value = 1})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_ulonglong,
+ value = -1})),
+ ?match({ok, #any{typecode = tk_char, value = 98}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_char,
+ value = 98})),
+ ?match({ok, #any{typecode = tk_char, value = $b}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_char,
+ value = $b})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_char,
+ value = atomic})),
+ ?match({ok, #any{typecode = tk_wchar, value = 65535}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_wchar,
+ value = 65535})),
+ ?match({ok, #any{typecode = tk_wchar, value = $b}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_wchar,
+ value = $b})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_wchar,
+ value = atomic})),
+ ?match({ok, #any{typecode = tk_boolean, value = true}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_boolean,
+ value = true})),
+ ?match({ok, #any{typecode = tk_boolean, value = false}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_boolean,
+ value = false})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_boolean,
+ value = 1})),
+ ?match({ok, #any{typecode = tk_octet, value = 1}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_octet,
+ value = 1})),
+ ?match({ok, #any{typecode = {tk_objref, "IDL:omg.org/orber_test/server:1.0", "server"}, value = Obj}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_objref, "IDL:omg.org/orber_test/server:1.0", "server"},
+ value = Obj})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_objref, "IDL:omg.org/orber_test/server:1.0", "server"},
+ value = "No Object"})),
+ ?match({ok, #any{typecode = {tk_string, 6}, value = "string"}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_string, 6},
+ value = "string"})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = tk_string,
+ value = atomic})),
+ ?match({ok, #any{typecode = {tk_wstring, 1}, value = [65535]}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_wstring, 1},
+ value = [65535]})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_wstring, 1},
+ value = atomic})),
+ ?match({ok, #any{typecode = {tk_enum, "IDL:omg.org/orber_test/server/enumerant:1.0", "enumerant", ["one","two"]},
+ value = two}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_enum, "IDL:omg.org/orber_test/server/enumerant:1.0", "enumerant", ["one","two"]},
+ value = two})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_enum, "IDL:omg.org/orber_test/server/enumerant:1.0", "enumerant", ["one","two"]},
+ value = three})),
+
+
+ ?match({ok, #any{typecode = {tk_sequence, tk_long, 3},
+ value = [1,2,3]}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_sequence, tk_long, 3},
+ value = [1,2,3]})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_sequence, tk_long, 3},
+ value = false})),
+
+
+
+ ?match({ok, #any{typecode = {tk_array,{tk_string,0},2},
+ value = {"one", "two"}}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_array,{tk_string,0},2},
+ value = {"one", "two"}})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_array,{tk_string,0},2},
+ value = {"one", "two", "three"}})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_array,{tk_string,0},2},
+ value = {1, 2}})),
+ ?match({ok, #any{typecode = {tk_struct,"IDL:omg.org/orber_test/server/struc:1.0",
+ "struc",
+ [{"a",tk_long},{"b",tk_short}]},
+ value = #orber_test_server_struc{a=1, b=2}}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_struct,"IDL:omg.org/orber_test/server/struc:1.0",
+ "struc",
+ [{"a",tk_long},{"b",tk_short}]},
+ value = #orber_test_server_struc{a=1, b=2}})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_struct,"IDL:omg.org/orber_test/server/struc:1.0",
+ "struc",
+ [{"a",tk_long},{"b",tk_short}]},
+ value = #orber_test_server_struc{a=1, b="string"}})),
+ ?match({ok, #any{typecode =
+ {tk_union,"IDL:omg.org/orber_test/server/uni:1.0",
+ "uni", tk_long, -1, [{1,"a",tk_long}]},
+ value = #orber_test_server_uni{label=1, value=66}}},
+ orber_test_server:
+ testing_iiop_any(Obj,
+ #any{typecode =
+ {tk_union,"IDL:omg.org/orber_test/server/uni:1.0",
+ "uni", tk_long, -1, [{1,"a",tk_long}]},
+ value = #orber_test_server_uni{label=1, value=66}})),
+ case Local of
+ true ->
+ ?match({ok, #any{typecode =
+ {tk_union,"IDL:omg.org/orber_test/server/uni:1.0",
+ "uni", tk_long, -1, [{1,"a",tk_long}]},
+ value = #orber_test_server_uni{label=2, value=66}}},
+ orber_test_server:
+ testing_iiop_any(Obj,
+ #any{typecode =
+ {tk_union,"IDL:omg.org/orber_test/server/uni:1.0",
+ "uni", tk_long, -1, [{1,"a",tk_long}]},
+ value = #orber_test_server_uni{label=2, value=66}}));
+ false ->
+ ?match({ok, #any{typecode =
+ {tk_union,"IDL:omg.org/orber_test/server/uni:1.0",
+ "uni", tk_long, -1, [{1,"a",tk_long}]},
+ value = #orber_test_server_uni{label=2, value=undefined}}},
+ orber_test_server:
+ testing_iiop_any(Obj,
+ #any{typecode =
+ {tk_union,"IDL:omg.org/orber_test/server/uni:1.0",
+ "uni", tk_long, -1, [{1,"a",tk_long}]},
+ value = #orber_test_server_uni{label=2, value=66}}))
+ end,
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:
+ testing_iiop_any(Obj,
+ #any{typecode =
+ {tk_union,"IDL:omg.org/orber_test/server/uni:1.0",
+ "uni", tk_long, -1, [{1,"a",tk_long}]},
+ value = #orber_test_server_uni{label=1, value="string"}})),
+
+ ?match({ok, #any{typecode = {tk_fixed,5,2},
+ value = #fixed{digits = 5, scale = 2, value = 12345}}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_fixed,5,2},
+ value = #fixed{digits = 5,
+ scale = 2,
+ value = 12345}})),
+ ?match({ok, #any{typecode = {tk_fixed,10,2},
+ value = #fixed{digits = 10, scale = 2, value = 1234567890}}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_fixed,10,2},
+ value = #fixed{digits = 10,
+ scale = 2,
+ value = 1234567890}})),
+ ?match({ok, #any{typecode = {tk_fixed,6,2},
+ value = #fixed{digits = 6, scale = 2, value = 300000}}},
+ orber_test_server:testing_iiop_any(Obj, #any{typecode = {tk_fixed,6,2},
+ value = #fixed{digits = 6,
+ scale = 2,
+ value = 300000}})),
+ ?match({'EXCEPTION',{'MARSHAL',_,_,_}},
+ orber_test_server:
+ testing_iiop_server_marshal(Obj, "string")),
+ ok.
+
+%%--------------- Testing Post- & Pre-cond -------------------
+precond(Module, Function, Args) ->
+ error_logger:info_msg("=============== pre-condition ============
+Module : ~p
+Function : ~p
+Arguments : ~p
+==========================================~n", [Module, Function, Args]),
+ ok.
+
+postcond(Module, Function, Args, Result) ->
+ error_logger:info_msg("=============== post-condition ===========
+Module : ~p
+Function : ~p
+Arguments : ~p
+Result : ~p
+==========================================~n", [Module, Function, Args, Result]),
+ ok.
+
+%%--------------- Testing Missing Module ---------------------
+oe_get_interface() ->
+ non_existing_module:tc(foo).
+
+%%--------------- INTERCEPTOR FUNCTIONS ----------------------
+%%------------------------------------------------------------
+%% function : new_in_connection
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+new_in_connection(Arg, CHost, Port) ->
+ Host = node(),
+ [{SHost, SPort}] = orber:find_sockname_by_peername(CHost, Port),
+ Peers = orber:find_peername_by_sockname(SHost, SPort),
+ error_logger:info_msg("=============== new_in_connection ========
+Node : ~p
+From Host : ~p
+From Port : ~p
+To Host : ~p
+To Port : ~p
+Peers : ~p
+Arg : ~p
+==========================================~n",
+ [Host, CHost, Port, SHost, SPort, Peers, Arg]),
+ {Host}.
+
+%%------------------------------------------------------------
+%% function : new_out_connection
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+new_out_connection(Arg, SHost, Port) ->
+ Host = node(),
+ error_logger:info_msg("=============== new_out_connection =======
+Node : ~p
+To Host : ~p
+To Port : ~p
+Arg : ~p
+==========================================~n",
+ [Host, SHost, Port, Arg]),
+ {Host}.
+
+%%------------------------------------------------------------
+%% function : closed_in_connection
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+closed_in_connection(Arg) ->
+ error_logger:info_msg("=============== closed_in_connection =====
+Node : ~p
+Connection: ~p
+==========================================~n",
+ [node(), Arg]),
+ Arg.
+
+%%------------------------------------------------------------
+%% function : closed_out_connection
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+closed_out_connection(Arg) ->
+ error_logger:info_msg("=============== closed_out_connection ====
+Node : ~p
+Connection: ~p
+==========================================~n",
+ [node(), Arg]),
+ Arg.
+
+%%------------------------------------------------------------
+%% function : in_request_encoded
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+in_request_encoded(Ref, _ObjKey, Ctx, Op,
+ <<100:8,101:8,102:8,103:8,104:8,105:8,106:8,107:8,108:8,109:8,110:8,T/binary>>, _Args) ->
+ error_logger:info_msg("=============== in_request_encoded =======
+Connection: ~p
+Operation : ~p
+Body : ~p
+Context : ~p
+==========================================~n",
+ [Ref, Op, T, Ctx]),
+ {T, "NewArgs"}.
+
+%%------------------------------------------------------------
+%% function : in_reply_encoded
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+in_reply_encoded(Ref, _ObjKey, Ctx, Op,
+ <<100:8,101:8,102:8,103:8,104:8,105:8,106:8,107:8,108:8,109:8,110:8,T/binary>>,
+ _Args) ->
+ error_logger:info_msg("============== in_reply_encoded ==========
+Connection: ~p
+Operation : ~p
+Body : ~p
+Context : ~p
+==========================================~n",
+ [Ref, Op, T, Ctx]),
+ {T, "NewArgs"}.
+
+%%------------------------------------------------------------
+%% function : out_reply_encoded
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+out_reply_encoded(Ref, _ObjKey, Ctx, Op, List, _Args) ->
+ error_logger:info_msg("============== out_reply_encoded =========
+Connection: ~p
+Operation : ~p
+Body : ~p
+Context : ~p
+==========================================~n",
+ [Ref, Op, List, Ctx]),
+ {list_to_binary([<<100:8,101:8,102:8,103:8,104:8,105:8,106:8,107:8,108:8,109:8,110:8>>|List]), "NewArgs"}.
+
+%%------------------------------------------------------------
+%% function : out_request_encoded
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+out_request_encoded(Ref, _ObjKey, Ctx, Op, List, _Args) ->
+ error_logger:info_msg("============== out_request_encoded =======
+Connection: ~p
+Operation : ~p
+Body : ~p
+Context : ~p
+==========================================~n",
+ [Ref, Op, List, Ctx]),
+ {list_to_binary([<<100:8,101:8,102:8,103:8,104:8,105:8,106:8,107:8,108:8,109:8,110:8>>|List]), "NewArgs"}.
+
+%%------------------------------------------------------------
+%% function : in_request
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+in_request(Ref, _ObjKey, Ctx, Op, Params, _Args) ->
+ error_logger:info_msg("=============== in_request ===============
+Connection: ~p
+Operation : ~p
+Parameters: ~p
+Context : ~p
+==========================================~n",
+ [Ref, Op, Params, Ctx]),
+ {Params, "NewArgs"}.
+
+%%------------------------------------------------------------
+%% function : in_reply
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+in_reply(Ref, _ObjKey, Ctx, Op, Reply, _Args) ->
+ error_logger:info_msg("=============== in_reply =================
+Connection: ~p
+Operation : ~p
+Reply : ~p
+Context : ~p
+==========================================~n",
+ [Ref, Op, Reply, Ctx]),
+ {Reply, "NewArgs"}.
+
+%%------------------------------------------------------------
+%% function : postinvoke
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+out_reply(Ref, _ObjKey, Ctx, Op, Reply, _Args) ->
+ error_logger:info_msg("=============== out_reply ================
+Connection: ~p
+Operation : ~p
+Reply : ~p
+Context : ~p
+==========================================~n",
+ [Ref, Op, Reply, Ctx]),
+ {Reply, "NewArgs"}.
+
+%%------------------------------------------------------------
+%% function : postinvoke
+%% Arguments:
+%% Returns :
+%%------------------------------------------------------------
+out_request(Ref, _ObjKey, Ctx, Op, Params, _Args) ->
+ error_logger:info_msg("=============== out_request ==============
+Connection: ~p
+Operation : ~p
+Parameters: ~p
+Context : ~p
+==========================================~n",
+ [Ref, Op, Params, Ctx]),
+ {Params, "NewArgs"}.
+
+
+%%--------------- END OF MODULE ------------------------------
+
+
+
diff --git a/lib/orber/test/orber_test_server.cfg b/lib/orber/test/orber_test_server.cfg
new file mode 100644
index 0000000000..84c671f795
--- /dev/null
+++ b/lib/orber/test/orber_test_server.cfg
@@ -0,0 +1,27 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+{timeout, "orber_test::timeout_server"}.
+{this, "orber_test::timeout_server"}.
+{{handle_info, "orber_test::timeout_server"}, true}.
+{this, "orber_test::server"}.
+{{handle_info, "orber_test::server"}, true}.
+{{postcond, "orber_test::server::testing_iiop_union_d"}, {orber_test_lib, postcond}}.
+{{postcond, "orber_test::server::testing_iiop_array"}, {orber_test_lib, postcond}}.
+{{precond, "orber_test::server::testing_iiop_array"}, {orber_test_lib, precond}}.
+{{precond, "orber_test::server::testing_iiop_enum"}, {orber_test_lib, precond}}.
diff --git a/lib/orber/test/orber_test_server.idl b/lib/orber/test/orber_test_server.idl
new file mode 100644
index 0000000000..a88211c941
--- /dev/null
+++ b/lib/orber/test/orber_test_server.idl
@@ -0,0 +1,153 @@
+//
+// %CopyrightBegin%
+//
+// Copyright Ericsson AB 1999-2010. All Rights Reserved.
+//
+// The contents of this file are subject to the Erlang Public License,
+// Version 1.1, (the "License"); you may not use this file except in
+// compliance with the License. You should have received a copy of the
+// Erlang Public License along with this software. If not, it can be
+// retrieved online at http://www.erlang.org/.
+//
+// Software distributed under the License is distributed on an "AS IS"
+// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+// the License for the specific language governing rights and limitations
+// under the License.
+//
+// %CopyrightEnd%
+//
+
+#ifndef _ORBER_TEST_SERVER_IDL
+#define _ORBER_TEST_SERVER_IDL
+#pragma prefix "omg.org"
+
+module orber_parent {
+ interface inherrit {
+ void print();
+ };
+};
+
+module orber_test {
+
+ // interface server
+ interface server : orber_parent::inherrit {
+ typedef string array[2];
+ typedef sequence <long, 3> seq;
+ typedef wstring<6> WstrLength6;
+ typedef string<6> StrLength6;
+
+ struct struc {long a; short b;};
+ union uni switch(long) {
+ case 1: long a;};
+
+ union uni_d switch(long) {
+ case 1: long a;
+ default: boolean b;
+ };
+ enum enumerant {one, two};
+
+ exception UserDefinedException {};
+
+ typedef sequence<struc> StrucSeq;
+ typedef sequence<uni> UniSeq;
+ exception ComplexUserDefinedException { StrucSeq strseq; };
+
+ // Testing fixed
+ const fixed val1 = 3.14D;
+ const fixed val2 = 003.14D;
+ const fixed val3 = 003.1400D;
+ const fixed val4 = 3.1400D;
+ const fixed val5 = .1400D;
+ const fixed val6 = 3.D;
+ const fixed val7 = -.1400D;
+ const fixed val8 = -3.D;
+ const fixed val9 = val4+val5;
+ const fixed val10 = val4*val5;
+ const fixed val11 = val4/val5;
+ const fixed val12 = 123.140001D;
+ const fixed val13 = 12314000.1D;
+ const fixed val14 = val12-val13;
+ const fixed val15 = val12+val13;
+ const fixed val16 = val12*val13;
+ const fixed val17 = 2.01D+2.01D;
+ const fixed val18 = 2.01D*2.01D;
+ const fixed val19 = 200D;
+ const fixed val20 = 9999999999999999999999999999999D+9999999999999999999999999999999D;
+ const fixed val21 = 9999999999999999999999999999999D-9999999999999999999999999999999D;
+ const fixed val22 = 9999999999999999999999999999999D*9999999999999999999999999999999D;
+ const fixed val23 = 9999999999999999999999999999999D/9999999999999999999999999999999D;
+ const fixed val24 = 9999D+9999D;
+ const fixed val25 = 400D/10D;
+ const fixed val26 = 9999999999999999999999999999999D;
+
+
+ typedef fixed<5,2> fixed52;
+ const fixed52 fixed52const1 = 123.45d;
+ const fixed52 fixed52const2 = 123.00d;
+ const fixed52 fixed52const3 = 023.00d;
+ const fixed52 fixed52negconst1 = -123.45d;
+ const fixed52 fixed52negconst2 = -123.00d;
+ const fixed52 fixed52negconst3 = -023.00d;
+
+ void stop_normal();
+
+ void stop_brutal();
+
+ // Testing encode and decode
+ void testing_iiop_float(inout float Fl);
+ void testing_iiop_double(inout double Do);
+ void testing_iiop_short(inout short Sh);
+ void testing_iiop_ushort(inout unsigned short Us);
+ void testing_iiop_long(inout long Lo);
+ void testing_iiop_longlong(inout long long LLo);
+ void testing_iiop_ulong(inout unsigned long Ulo);
+ void testing_iiop_ulonglong(inout unsigned long long LLo);
+ void testing_iiop_char(inout char Ch);
+ void testing_iiop_wchar(inout wchar WCh);
+ void testing_iiop_bool(inout boolean Bool);
+ void testing_iiop_octet(inout octet Oct);
+ void testing_iiop_any(inout any AnyType);
+ void testing_iiop_obj(inout Object Obj);
+ void testing_iiop_string(inout StrLength6 Str);
+ void testing_iiop_wstring(inout WstrLength6 WStr);
+ void testing_iiop_struct(inout struc Stru);
+ void testing_iiop_union(inout uni Uni);
+ void testing_iiop_union_d(inout uni_d Uni);
+ void testing_iiop_enum(inout enumerant Enumerant);
+ void testing_iiop_seq(inout seq Seq);
+ void testing_iiop_uni_seq(inout UniSeq USeq);
+ void testing_iiop_struc_seq(inout StrucSeq SSeq);
+ void testing_iiop_array(inout array Arr);
+ void testing_iiop_fixed(inout fixed52 MyFixed);
+ void testing_iiop_void();
+ void testing_iiop_context();
+ void testing_iiop_server_marshal(inout StrLength6 Str);
+
+ oneway void testing_iiop_oneway_delay(in long Time);
+ void testing_iiop_twoway_delay(in long Time);
+
+ // Testing relay calls/casts to, for example, test that sending implicit
+ // Contexts works.
+ void relay_call(in Object Target);
+ oneway void relay_cast(in Object Target);
+
+ // Testing pseudo calls/casts
+ void pseudo_call();
+ oneway void pseudo_cast();
+ void pseudo_call_delay(inout long Lo);
+ oneway void pseudo_cast_delay(in long Lo);
+ void pseudo_call_raise_exc(in long Lo);
+ void raise_local_exception()
+ raises(UserDefinedException);
+ void raise_complex_local_exception()
+ raises(ComplexUserDefinedException);
+ };
+
+ interface timeout_server {
+ oneway void oneway_function(in long time);
+ void twoway_function(in long time);
+ };
+
+};
+
+#endif
diff --git a/lib/orber/test/orber_test_server_impl.erl b/lib/orber/test/orber_test_server_impl.erl
new file mode 100644
index 0000000000..35296cb619
--- /dev/null
+++ b/lib/orber/test/orber_test_server_impl.erl
@@ -0,0 +1,262 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(orber_test_server_impl).
+-include_lib("orber/include/corba.hrl").
+-include("idl_output/orber_test_server.hrl").
+
+%%--------------- specified functions ------------------------
+-export([stop_normal/2,
+ stop_brutal/2,
+ print/2,
+ %% Testing code and decode arguments
+ testing_iiop_float/3,
+ testing_iiop_double/3,
+ testing_iiop_short/3,
+ testing_iiop_ushort/3,
+ testing_iiop_long/3,
+ testing_iiop_longlong/3,
+ testing_iiop_ulong/3,
+ testing_iiop_ulonglong/3,
+ testing_iiop_char/3,
+ testing_iiop_wchar/3,
+ testing_iiop_bool/3,
+ testing_iiop_octet/3,
+ testing_iiop_any/3,
+ testing_iiop_obj/3,
+ testing_iiop_string/3,
+ testing_iiop_wstring/3,
+ testing_iiop_struct/3,
+ testing_iiop_union/3,
+ testing_iiop_union_d/3,
+ testing_iiop_enum/3,
+ testing_iiop_seq/3,
+ testing_iiop_uni_seq/3,
+ testing_iiop_struc_seq/3,
+ testing_iiop_array/3,
+ testing_iiop_fixed/3,
+ testing_iiop_void/2,
+ testing_iiop_context/2,
+ testing_iiop_server_marshal/3,
+ relay_call/3,
+ relay_cast/3,
+ %% Testing pseudo calls.
+ pseudo_call/2,
+ pseudo_cast/2,
+ pseudo_call_delay/3,
+ pseudo_cast_delay/3,
+ pseudo_call_raise_exc/3,
+ %% Testing raise locally defined exception.
+ raise_local_exception/2,
+ raise_complex_local_exception/2,
+ %% Test timeout functionality
+ testing_iiop_oneway_delay/3,
+ testing_iiop_twoway_delay/3]).
+
+
+%%--------------- gen_server specific ------------------------
+-export([init/1, terminate/2]).
+-export([handle_call/3, handle_cast/2, handle_info/2, code_change/3]).
+
+%%--------------- LOCAL DATA ---------------------------------
+
+%%------------------------------------------------------------
+%% function : init, terminate
+%%------------------------------------------------------------
+init(State) ->
+ process_flag(trap_exit,true),
+ {ok, State}.
+
+terminate(Reason, State) ->
+ io:format("orber_test_server:terminate(~p ~p)~n",[Reason, State]),
+ ok.
+
+code_change(_OldVsn, State, _Extra) ->
+ {ok, State}.
+handle_call(_,_, State) ->
+ {noreply, State}.
+handle_cast(_, State) ->
+ {noreply, State}.
+handle_info(_Info, State) ->
+ {noreply, State}.
+
+%%--------------- SERVER FUNCTIONS ---------------------------
+
+print(Self, State) ->
+ io:format("orber_test_server:print(~p ~p)~n",[Self, State]),
+ {reply, ok, State}.
+
+stop_normal(_Self, State) ->
+ {stop, normal, ok, State}.
+
+stop_brutal(_Self, _State) ->
+ exit("killed_brutal").
+
+
+%% Testing code and decode arguments
+testing_iiop_float(_Self, State, Float) ->
+ {reply, {ok, Float}, State}.
+
+testing_iiop_double(_Self, State, Double) ->
+ {reply, {ok, Double}, State}.
+
+testing_iiop_short(_Self, State, Short) ->
+ {reply, {ok, Short}, State}.
+
+testing_iiop_ushort(_Self, State, Ushort) ->
+ {reply, {ok, Ushort}, State}.
+
+testing_iiop_long(_Self, State, Long) ->
+ {reply, {ok, Long}, State}.
+
+testing_iiop_longlong(_Self, State, LLong) ->
+ {reply, {ok, LLong}, State}.
+
+testing_iiop_ulong(_Self, State, Ulong) ->
+ {reply, {ok, Ulong}, State}.
+
+testing_iiop_ulonglong(_Self, State, ULlong) ->
+ {reply, {ok, ULlong}, State}.
+
+testing_iiop_char(_Self, State, Char) ->
+ {reply, {ok, Char}, State}.
+
+testing_iiop_wchar(_Self, State, WChar) ->
+ {reply, {ok, WChar}, State}.
+
+testing_iiop_bool(_Self, State, Boolean) ->
+ {reply, {ok, Boolean}, State}.
+
+testing_iiop_octet(_Self, State, Octet) ->
+ {reply, {ok, Octet}, State}.
+
+testing_iiop_any(_Self, State, Any) ->
+ {reply, {ok, Any}, State}.
+
+testing_iiop_obj(_Self, State, Obj) ->
+ {reply, {ok, Obj}, State}.
+
+testing_iiop_string(_Self, State, String) ->
+ {reply, {ok, String}, State}.
+
+testing_iiop_wstring(_Self, State, WString) ->
+ {reply, {ok, WString}, State}.
+
+testing_iiop_struct(_Self, State, Struct) ->
+ {reply, {ok, Struct}, State}.
+
+testing_iiop_union(_Self, State, Union) ->
+ {reply, {ok, Union}, State}.
+
+testing_iiop_union_d(_Self, State, Union) ->
+ {reply, {ok, Union}, State}.
+
+testing_iiop_enum(_Self, State, Enum) ->
+ {reply, {ok, Enum}, State}.
+
+testing_iiop_seq(_Self, State, Sequence) ->
+ {reply, {ok, Sequence}, State}.
+
+testing_iiop_uni_seq(_Self, State, Sequence) ->
+ {reply, {ok, Sequence}, State}.
+
+testing_iiop_struc_seq(_Self, State, Sequence) ->
+ {reply, {ok, Sequence}, State}.
+
+testing_iiop_array(_Self, State, Array) ->
+ {reply, {ok, Array}, State}.
+
+testing_iiop_fixed(_Self, State, Fixed) ->
+ {reply, {ok, Fixed}, State}.
+
+testing_iiop_void(_Self, State) ->
+ {reply, ok, State}.
+
+testing_iiop_context(_Self, State) ->
+ Ctx = get(oe_server_in_context),
+ io:format("orber_test_server:testing_iiop_context( ~p )~n", [Ctx]),
+ {reply, ok, State}.
+
+testing_iiop_server_marshal(_Self, State, _String) ->
+ {reply, {ok, false}, State}.
+
+testing_iiop_oneway_delay(_Self, State, Time) ->
+ timer:sleep(Time),
+ {noreply, State}.
+
+testing_iiop_twoway_delay(_Self, State, Time) ->
+ timer:sleep(Time),
+ {reply, ok, State}.
+
+raise_local_exception(_Self, State) ->
+ corba:raise(#'orber_test_server_UserDefinedException'{}),
+ {reply, ok, State}.
+
+raise_complex_local_exception(_Self, State) ->
+ corba:raise(#'orber_test_server_ComplexUserDefinedException'{strseq=
+ [#orber_test_server_struc{a=1, b=2}]}),
+ {reply, ok, State}.
+
+%% Testing relay calls/casts to, for example, test that sending implicit
+%% Contexts works.
+relay_call(_Self, State, Target) ->
+ io:format("orber_test_server:relay_call( ~p ) Pre~n", [get(oe_server_in_context)]),
+ orber_test_server:testing_iiop_context(Target),
+ io:format("orber_test_server:relay_call( ~p ) Post~n", [get(oe_server_in_context)]),
+ {reply, ok, State}.
+
+relay_cast(_Self, State, Target) ->
+ io:format("orber_test_server:relay_cast( ~p ) Pre~n", [get(oe_server_in_context)]),
+ orber_test_server:testing_iiop_context(Target),
+ io:format("orber_test_server:relay_cast( ~p ) Post~n", [get(oe_server_in_context)]),
+ {noreply, State}.
+
+%% Testing pseudo calls.
+pseudo_call(_Self, State) ->
+ io:format("orber_test_server:pseudo_call( ~p )~n", [now()]),
+ {reply, ok, State}.
+
+pseudo_cast(_Self, State) ->
+ io:format("orber_test_server:pseudo_cast( ~p )~n", [now()]),
+ {noreply, State}.
+pseudo_call_delay(_Self, State, Time) ->
+ io:format("orber_test_server:pseudo_call_delay( ~p )~n", [now()]),
+ timer:sleep(Time),
+ io:format("orber_test_server:pseudo_call_delay( ~p )~n", [now()]),
+ {reply, {ok, Time}, State}.
+
+pseudo_cast_delay(_Self, State, Time) ->
+ io:format("orber_test_server:pseudo_cast_delay( ~p )~n", [now()]),
+ timer:sleep(Time),
+ io:format("orber_test_server:pseudo_cast_delay( ~p )~n", [now()]),
+ {noreply, State}.
+
+pseudo_call_raise_exc(_Self, State, 1) ->
+ io:format("orber_test_server:pseudo_call_raise_exc( ~p )~n",[1]),
+ {reply, {'EXCEPTION', #'BAD_QOS'{completion_status=?COMPLETED_NO}}, State};
+pseudo_call_raise_exc(_Self, State, 2) ->
+ io:format("orber_test_server:pseudo_call_raise_exc( ~p )~n",[2]),
+ corba:raise(#'BAD_QOS'{completion_status=?COMPLETED_NO}),
+ {reply, ok, State}.
+
+%%--------------- LOCAL FUNCTIONS ----------------------------
+
+%%--------------- END OF MODULE ------------------------------
+
diff --git a/lib/orber/test/orber_test_timeout_server_impl.erl b/lib/orber/test/orber_test_timeout_server_impl.erl
new file mode 100644
index 0000000000..138eb51d92
--- /dev/null
+++ b/lib/orber/test/orber_test_timeout_server_impl.erl
@@ -0,0 +1,65 @@
+%%--------------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%----------------------------------------------------------------------
+%% File : orber_test_timeout_server_impl.erl
+%% Purpose :
+%%----------------------------------------------------------------------
+
+-module(orber_test_timeout_server_impl).
+
+-export([oneway_function/3, twoway_function/3]).
+
+
+%%--------------- gen_server specific ------------------------
+-export([init/1, terminate/2, code_change/3, handle_info/2]).
+
+%%------------------------------------------------------------
+%% function : server specific
+%%------------------------------------------------------------
+init(State) ->
+ %% 'trap_exit' optional
+ process_flag(trap_exit,true),
+ {ok, State}.
+
+terminate(_Reason, _State) ->
+ ok.
+
+code_change(_OldVsn, State, _Extra) ->
+ {ok, State}.
+
+%% If use IC option {{handle_info, "Module::Interface"}, true}
+handle_info(_Info, State) ->
+ %% Await the next invocation.
+ {noreply, State}.
+
+%%--- two-way ------------------------------------------------
+twoway_function(_OE_THIS, State, Time) ->
+ timer:sleep(Time),
+ {reply, ok, State}.
+
+
+%%--- one-way ------------------------------------------------
+oneway_function(_OE_THIS, State, Time) ->
+ timer:sleep(Time),
+ {noreply, State}.
+
+%%--------------- END OF MODULE ------------------------------
+
diff --git a/lib/orber/test/orber_web_SUITE.erl b/lib/orber/test/orber_web_SUITE.erl
new file mode 100644
index 0000000000..ffa7468853
--- /dev/null
+++ b/lib/orber/test/orber_web_SUITE.erl
@@ -0,0 +1,443 @@
+%%-----------------------------------------------------------------
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%% File : orber_web_SUITE.erl
+%% Purpose :
+%%-----------------------------------------------------------------
+
+-module(orber_web_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/include/corba.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(ExpectedRes, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ ExpectedRes ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS;
+ _ ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS)
+ end
+ end()).
+
+-define(nomatch(Not, Expr),
+ fun() ->
+ AcTuAlReS = (catch (Expr)),
+ case AcTuAlReS of
+ Not ->
+ io:format("###### ERROR ERROR ######~n~p~n",
+ [AcTuAlReS]),
+ ?line exit(AcTuAlReS);
+ _ ->
+ io:format("------ CORRECT RESULT ------~n~p~n",
+ [AcTuAlReS]),
+ AcTuAlReS
+ end
+ end()).
+
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["This suite is for testing the Orber Web API"];
+all(suite) ->
+ [menu, configure, info, nameservice, ifr_select, ifr_data,
+ create, delete_ctx, add_ctx, delete_obj, server].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ Path = code:which(?MODULE),
+ code:add_pathz(filename:join(filename:dirname(Path), "idl_output")),
+ orber:jump_start(2875),
+ oe_orber_test_server:oe_register(),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ oe_orber_test_server:oe_unregister(),
+ orber:jump_stop(),
+ Path = code:which(?MODULE),
+ code:del_path(filename:join(filename:dirname(Path), "idl_output")),
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: menu
+%% Description:
+%%-----------------------------------------------------------------
+menu(doc) -> [""];
+menu(suite) -> [];
+menu(_) ->
+ Node = atom_to_list(node()),
+ OK = orber_web:menu(env, [{"node", Node}]),
+ ?match(OK, orber_web:menu(env, [])),
+ ?match(OK, orber_web:menu(env, [42, {"node", Node}, "wrong"])),
+ ?match({'EXIT', _E}, orber_web:menu(env, [{"node", localhost}])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: configure
+%% Description:
+%%-----------------------------------------------------------------
+configure(doc) -> [""];
+configure(suite) -> [];
+configure(_) ->
+ Node = atom_to_list(node()),
+ ?match({'EXIT', _}, orber_web:configure(env, [])),
+ ?match({'EXIT', _}, orber_web:configure(env, [{"node", localhost},
+ {"data", atom}])),
+ ?match([_H|_T], orber_web:configure(env, [{"node", Node}, {"data", ""}])),
+ ?match([_H|_T], orber_web:configure(env, [{"node", Node},
+ {"data", "[{orber_debug_level, 9}]"}])),
+ ?match({ok, 9}, application:get_env(orber, orber_debug_level)),
+ ?match([_H|_T], orber_web:configure(env, [{"node", "bad_node"},
+ {"data", "[{orber_debug_level, 9}]"}])),
+ ?match({error, _}, orber_web:configure(env, [{"node", Node},
+ {"data", "{orber_debug_level 9}"}])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: info
+%% Description:
+%%-----------------------------------------------------------------
+info(doc) -> [""];
+info(suite) -> [];
+info(_) ->
+ ?match({'EXIT', _}, orber_web:info(env, [])),
+ ?match({'EXIT', _}, orber_web:info(env, [{"node", localhost}])),
+ ?match([_H|_T], orber_web:info(env, [{"node", atom_to_list(node())}])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: nameservice
+%% Description:
+%%-----------------------------------------------------------------
+nameservice(doc) -> [""];
+nameservice(suite) -> [];
+nameservice(_) ->
+ NodeStr = atom_to_list(node()),
+ ?match({'EXIT', _}, orber_web:nameservice(env, [{"node", localhost},
+ {"context", "root"}])),
+ ?match({'EXIT', _}, orber_web:nameservice(env, [{"node", localhost},
+ {"context", "id1"}])),
+ ?match([_H|_T], orber_web:nameservice(env, [{"node", "bad_node"},
+ {"context", "root"}])),
+ ?match([_,_,_,NodeStr|_], orber_web:nameservice(env, [{"node", NodeStr},
+ {"context", "root"}])),
+ ?match({ok,_}, orber_web:nameservice(env, [{"node", NodeStr},
+ {"context", "id1"}])),
+ ?match([_H|_T], orber_web:add_ctx(env, [{"node", NodeStr},
+ {"context", "root"},
+ {"id", "id1"}])),
+ ?match([_H|_T], orber_web:add_ctx(env, [{"node", NodeStr},
+ {"context", "id1"},
+ {"id", "id2"}])),
+ [_,_,_,IOR] =
+ ?match([_,_,_,_], orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[{pseudo, true}]"},
+ {"namestr", "id1/id2/id3"},
+ {"bind", "rebind"}])),
+ ?match(#'IOP_IOR'{}, corba:string_to_object(IOR)),
+
+ ?match([_,"id1"|_], orber_web:nameservice(env, [{"node", NodeStr},
+ {"context", "id1"}])),
+ ?nomatch({error, _}, orber_web:nameservice(env, [{"node", NodeStr},
+ {"context", "id1/id2"},
+ {"object", "id3"}])),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: ifr_select
+%% Description:
+%%-----------------------------------------------------------------
+ifr_select(doc) -> [""];
+ifr_select(suite) -> [];
+ifr_select(_) ->
+ ?match({'EXIT', _}, orber_web:ifr_select(env, [])),
+ ?match({'EXIT', _}, orber_web:ifr_select(env, [{"node", localhost}])),
+ ?match([_H|_T], orber_web:ifr_select(env, [{"node", "bad_node"}])),
+ ?match([_H|_T], orber_web:ifr_select(env, [{"node", atom_to_list(node())}])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: ifr_data
+%% Description:
+%%-----------------------------------------------------------------
+ifr_data(doc) -> [""];
+ifr_data(suite) -> [];
+ifr_data(_) ->
+ ?match({'EXIT', _}, orber_web:ifr_data(env, [])),
+ ?match({'EXIT', _}, orber_web:ifr_data(env, [{"node", localhost},
+ {"table", "ir_ModuleDef"}])),
+ ?match({error, _}, orber_web:ifr_data(env, [{"node", "bad_host"},
+ {"table", "ir_ModuleDef"}])),
+ ?match({'EXIT', _}, orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "bad_table"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_ModuleDef"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_InterfaceDef"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_StructDef"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_ExceptionDef"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_ConstantDef"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_EnumDef"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_AliasDef"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_AttributeDef"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_OperationDef"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_Contained"}])),
+ ?match([_H|_T], orber_web:ifr_data(env, [{"node", atom_to_list(node())},
+ {"table", "ir_TypedefDef"}])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: create
+%% Description:
+%%-----------------------------------------------------------------
+create(doc) -> [""];
+create(suite) -> [];
+create(_) ->
+ NodeStr = atom_to_list(node()),
+ ?match({'EXIT', _}, orber_web:create(env, [])),
+ ?match({'EXIT', _}, orber_web:create(env, [{"node", localhost}])),
+ ?match({error, _}, orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[bad_option 42]"},
+ {"namestr", "[]"},
+ {"bind", "rebind"}])),
+ ?match({error, _}, orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[bad_argument 42]"},
+ {"options", "[]"},
+ {"namestr", "[]"},
+ {"bind", "rebind"}])),
+
+ ?match([_, NodeStr|_T], orber_web:create(env, [{"node", NodeStr}])),
+
+ [_,IOR] = ?match([_,_], orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[]"},
+ {"namestr", ""},
+ {"bind", "rebind"}])),
+ ?match(#'IOP_IOR'{}, corba:string_to_object(IOR)),
+
+ [_,_,_,_,_,IOR2] =
+ ?match([_,_,_,_,_,_], orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[]"},
+ {"namestr", "id1"},
+ {"bind", "rebind"}])),
+ ?match(#'IOP_IOR'{}, corba:string_to_object(IOR2)),
+
+ [_,_,_,IOR3] =
+ ?match([_,_,_,_], orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[{pseudo, true}]"},
+ {"namestr", "id2"},
+ {"bind", "rebind"}])),
+ ?match(#'IOP_IOR'{}, corba:string_to_object(IOR3)),
+
+ [_,IOR4] =?match([_,_], orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[{pseudo, true}]"},
+ {"namestr", ""},
+ {"bind", "rebind"}])),
+ ?match(#'IOP_IOR'{}, corba:string_to_object(IOR4)),
+
+ ?match([_], orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[{unknown, option}]"},
+ {"namestr", "id1"},
+ {"bind", "rebind"}])),
+
+ ?match([_, "id1"], orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[]"},
+ {"namestr", "id1"},
+ {"bind", "bind"}])),
+
+ ?match([_, "id2"], orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[{pseudo, true}]"},
+ {"namestr", "id2"},
+ {"bind", "bind"}])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: delete_ctx
+%% Description:
+%%-----------------------------------------------------------------
+delete_ctx(doc) -> [""];
+delete_ctx(suite) -> [];
+delete_ctx(_) ->
+ ?match({ok, _}, orber_web:delete_ctx(env, [{"node", atom_to_list(node())},
+ {"context", "id1"}])),
+ ?match([_H|_T], orber_web:add_ctx(env, [{"node", atom_to_list(node())},
+ {"context", "root"},
+ {"id", "id1"}])),
+ ?match([_H|_T], orber_web:delete_ctx(env, [{"node", atom_to_list(node())},
+ {"context", "id1"}])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: add_ctx
+%% Description:
+%%-----------------------------------------------------------------
+add_ctx(doc) -> [""];
+add_ctx(suite) -> [];
+add_ctx(_) ->
+ ?match({error, _}, orber_web:add_ctx(env, [{"node", "bad_node"},
+ {"context", "root"},
+ {"id", "id1"}])),
+ ?match([_H|_T], orber_web:add_ctx(env, [{"node", atom_to_list(node())},
+ {"context", "root"},
+ {"id", ""}])),
+ ?match([_H|_T], orber_web:add_ctx(env, [{"node", atom_to_list(node())},
+ {"context", "root"},
+ {"id", "id1"}])),
+ ?match([_H|_T], orber_web:add_ctx(env, [{"node", atom_to_list(node())},
+ {"context", "id1"},
+ {"id", "id2"}])),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: delete_obj
+%% Description:
+%%-----------------------------------------------------------------
+delete_obj(doc) -> [""];
+delete_obj(suite) -> [];
+delete_obj(_) ->
+ NodeStr = atom_to_list(node()),
+ ?match({error, _}, orber_web:delete_obj(env, [{"node", "bad_node"},
+ {"context", "id1"},
+ {"action", "unbind"}])),
+ ?match({error, _}, orber_web:delete_obj(env, [{"node", "bad_node"},
+ {"context", "id1"},
+ {"action", "both"}])),
+ ?match({'EXIT', _}, orber_web:delete_obj(env, [{"node", bad_node},
+ {"context", "id1"},
+ {"action", "both"}])),
+ ?match({error, _}, orber_web:delete_obj(env, [{"node", NodeStr},
+ {"context", "non/existing"},
+ {"action", "unbind"}])),
+ [_,_,_,_,_,IOR2] =
+ ?match([_,_,_,_,_,_], orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[]"},
+ {"namestr", "id1"},
+ {"bind", "rebind"}])),
+ ?match(#'IOP_IOR'{}, corba:string_to_object(IOR2)),
+
+ ?match({error, _}, orber_web:delete_obj(env, [{"node", NodeStr},
+ {"context", "bad/INS./id"},
+ {"action", "unbind"}])),
+
+ [_,_,_,IOR3] =
+ ?match([_,_,_,_], orber_web:create(env, [{"node", NodeStr},
+ {"module", "orber_test_server"},
+ {"arguments", "[]"},
+ {"options", "[{pseudo, true}]"},
+ {"namestr", "id2"},
+ {"bind", "rebind"}])),
+ ?match(#'IOP_IOR'{}, corba:string_to_object(IOR3)),
+
+ ?match([_, "id1"|_], orber_web:delete_obj(env, [{"node", NodeStr},
+ {"context", "id1"},
+ {"action", "unbind"}])),
+ ?match([_, "id2"|_], orber_web:delete_obj(env, [{"node", NodeStr},
+ {"context", "id2"},
+ {"action", "unbind"}])),
+
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: server
+%% Description:
+%%-----------------------------------------------------------------
+server(doc) -> [""];
+server(suite) -> [];
+server(_) ->
+ NodeStr = "node=" ++ atom_to_list(node()),
+ {ok, Pid} = ?match({ok,_}, orber_web_server:start()),
+ ?match({error,{already_started, Pid}}, orber_web_server:start_link()),
+ ?match({error,{already_started,Pid}}, orber_web_server:start()),
+ ?match({orber, _}, orber_web_server:config_data()),
+ ?match([_H|_T], orber_web_server:ifr_select(env, "node=badnode")),
+ ?match([_H|_T], orber_web_server:ifr_select(env, "node=" ++ NodeStr)),
+ ?match([_H|_T], orber_web_server:menu(env, NodeStr)),
+ ?match([_H|_T], orber_web_server:configure(env, NodeStr ++ "&data=[{orber_debug_level, 9}]")),
+ ?match([_H|_T], orber_web_server:nameservice(env, NodeStr ++ "&context=root")),
+ ?match([_H|_T], orber_web_server:info(env, NodeStr)),
+ ?match([_H|_T], orber_web_server:ifr_data(env, NodeStr ++ "&table=ir_ModuleDef")),
+ ?match([_H|_T], orber_web_server:create(env, NodeStr)),
+ ?match([_H|_T], orber_web_server:add_ctx(env, NodeStr ++ "&context=root&id=id1")),
+ ?match([_H|_T], orber_web_server:delete_ctx(env, NodeStr++"&context=id1")),
+ ?match([_H|_T], orber_web_server:delete_obj(env, NodeStr++"&context=id1&action=unbind")),
+ ?match([_H|_T], orber_web_server:default_selection(env, NodeStr)),
+ ?match(ok, orber_web_server:stop()),
+ ok.
+
+
diff --git a/lib/orber/test/tc_SUITE.erl b/lib/orber/test/tc_SUITE.erl
new file mode 100644
index 0000000000..807a663219
--- /dev/null
+++ b/lib/orber/test/tc_SUITE.erl
@@ -0,0 +1,661 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+%%-----------------------------------------------------------------
+%%
+%% Description:
+%% Test suite for the basic typecode functions
+%%
+%%-----------------------------------------------------------------
+-module(tc_SUITE).
+
+-include("test_server.hrl").
+-include_lib("orber/src/orber_iiop.hrl").
+
+-define(default_timeout, ?t:minutes(3)).
+
+-define(match(Expr),
+ fun() ->
+ case (catch (Expr)) of
+ AcTuAlReS when is_binary(AcTuAlReS)->
+ io:format("###### ERROR ERROR ######~nRESULT: ~p~n",
+ [AcTuAlReS]),
+ exit(AcTuAlReS);
+ _ ->
+ ok
+ end
+ end()).
+-define(SUB_ELIST, [{"null", orber_tc:null()},
+ {"void", orber_tc:void()},
+ {"short", orber_tc:short()},
+ {"unsigned_short", orber_tc:unsigned_short()},
+ {"long", orber_tc:long()},
+ {"unsigned_long", orber_tc:unsigned_long()},
+ {"long_long", orber_tc:long_long()},
+ {"unsigned_long_long", orber_tc:unsigned_long_long()},
+ {"float", orber_tc:'float'()},
+ {"double", orber_tc:double()},
+ {"longdouble", orber_tc:longdouble()},
+ {"boolean", orber_tc:boolean()},
+ {"char", orber_tc:char()},
+ {"wchar", orber_tc:wchar()},
+ {"octet", orber_tc:octet()},
+ {"any", orber_tc:any()},
+ {"typecode", orber_tc:typecode()},
+ {"principal", orber_tc:principal()},
+ {"object_reference", orber_tc:object_reference("Id", "Name")}]).
+
+-define(ELIST, [{"null", orber_tc:null()},
+ {"void", orber_tc:void()},
+ {"short", orber_tc:short()},
+ {"unsigned_short", orber_tc:unsigned_short()},
+ {"long", orber_tc:long()},
+ {"unsigned_long", orber_tc:unsigned_long()},
+ {"long_long", orber_tc:long_long()},
+ {"unsigned_long_long", orber_tc:unsigned_long_long()},
+ {"float", orber_tc:'float'()},
+ {"double", orber_tc:double()},
+ {"longdouble", orber_tc:longdouble()},
+ {"boolean", orber_tc:boolean()},
+ {"char", orber_tc:char()},
+ {"wchar", orber_tc:wchar()},
+ {"octet", orber_tc:octet()},
+ {"any", orber_tc:any()},
+ {"typecode", orber_tc:typecode()},
+ {"principal", orber_tc:principal()},
+ {"object_reference", orber_tc:object_reference("Id", "Name")},
+ {"struct", orber_tc:struct("Id", "Name", ?SUB_ELIST)},
+ {"enum", orber_tc:enum("Id", "Name", ["E1", "E2"])},
+ {"string", orber_tc:string(1)},
+ {"wstring", orber_tc:wstring(0)},
+ {"sequence", orber_tc:sequence(orber_tc:enum("Id", "Name",
+ ["E1", "E2"]), 0)},
+ {"array", orber_tc:array(orber_tc:enum("Id", "Name",
+ ["E1", "E2"]), 2)},
+ {"alias", orber_tc:alias("id", "name",
+ orber_tc:enum("Id", "Name",
+ ["E1", "E2"]))},
+ {"exception", orber_tc:exception("Id", "Name", ?SUB_ELIST)}]).
+
+-define(VELIST, [{"null", orber_tc:null(), 42},
+ {"void", orber_tc:void(), 42},
+ {"short", orber_tc:short(), 42},
+ {"unsigned_short", orber_tc:unsigned_short(), 42},
+ {"long", orber_tc:long(), 42},
+ {"unsigned_long", orber_tc:unsigned_long(), 42},
+ {"long_long", orber_tc:long_long(), 42},
+ {"unsigned_long_long", orber_tc:unsigned_long_long(), 42},
+ {"float", orber_tc:'float'(), 42},
+ {"double", orber_tc:double(), 42},
+ {"longdouble", orber_tc:longdouble(), 42},
+ {"boolean", orber_tc:boolean(), 42},
+ {"char", orber_tc:char(), 42},
+ {"wchar", orber_tc:wchar(), 42},
+ {"octet", orber_tc:octet(), 42},
+ {"any", orber_tc:any(), 42},
+ {"typecode", orber_tc:typecode(), 42},
+ {"principal", orber_tc:principal(), 42},
+ {"object_reference", orber_tc:object_reference("Id", "Name"), 42},
+ {"struct", orber_tc:struct("Id", "Name", ?SUB_ELIST), 42},
+ {"enum", orber_tc:enum("Id", "Name", ["E1", "E2"]), 42},
+ {"string", orber_tc:string(1), 42},
+ {"wstring", orber_tc:wstring(0), 42},
+ {"sequence", orber_tc:sequence(orber_tc:enum("Id", "Name",
+ ["E1", "E2"]), 0), 42},
+ {"array", orber_tc:array(orber_tc:enum("Id", "Name",
+ ["E1", "E2"]), 2), 42},
+ {"alias", orber_tc:alias("id", "name",
+ orber_tc:enum("Id", "Name",
+ ["E1", "E2"])), 42},
+ {"exception", orber_tc:exception("Id", "Name", ?SUB_ELIST), 42}]).
+
+%%-----------------------------------------------------------------
+%% External exports
+%%-----------------------------------------------------------------
+-export([all/1]).
+
+%%-----------------------------------------------------------------
+%% Internal exports
+%%-----------------------------------------------------------------
+-export([]).
+-compile(export_all).
+
+%%-----------------------------------------------------------------
+%% Func: all/1
+%% Args:
+%% Returns:
+%%-----------------------------------------------------------------
+all(doc) -> ["Description", "more description"];
+all(suite) ->
+ [null, void,
+ short, ushort,
+ long, ulong,
+ longlong, ulonglong,
+ boolean, char, wchar, octet,
+ float, double, longdouble,
+ any, typecode, principal, object_reference,
+ struct, union, enum, string, wstring, sequence, array,
+ alias, exception, fixed, value, value_box, native,
+ abstract_interface, indirection, get_tc].
+
+%%-----------------------------------------------------------------
+%% Init and cleanup functions.
+%%-----------------------------------------------------------------
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog=test_server:timetrap(?default_timeout),
+ [{watchdog, Dog}|Config].
+
+
+fin_per_testcase(_Case, Config) ->
+ Dog = ?config(watchdog, Config),
+ test_server:timetrap_cancel(Dog),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: null test
+%% Description:
+%%-----------------------------------------------------------------
+null(doc) -> [];
+null(suite) -> [];
+null(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:null()),
+ ?line code(orber_tc:null()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: void test
+%% Description:
+%%-----------------------------------------------------------------
+void(doc) -> [];
+void(suite) -> [];
+void(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:void()),
+ ?line code(orber_tc:void()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: short integer test
+%% Description:
+%%-----------------------------------------------------------------
+short(doc) -> [];
+short(suite) -> [];
+short(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:short()),
+ ?line code(orber_tc:short()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: unsigned short integer test
+%% Description:
+%%-----------------------------------------------------------------
+ushort(doc) -> [];
+ushort(suite) -> [];
+ushort(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:unsigned_short()),
+ ?line code(orber_tc:unsigned_short()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: long integer test
+%% Description:
+%%-----------------------------------------------------------------
+long(doc) -> [];
+long(suite) -> [];
+long(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:long()),
+ ?line code(orber_tc:long()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: unsigned long integer test
+%% Description:
+%%-----------------------------------------------------------------
+ulong(doc) -> [];
+ulong(suite) -> [];
+ulong(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:unsigned_long()),
+ ?line code(orber_tc:unsigned_long()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: long integer test
+%% Description:
+%%-----------------------------------------------------------------
+longlong(doc) -> [];
+longlong(suite) -> [];
+longlong(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:long_long()),
+ ?line code(orber_tc:long_long()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: unsigned long integer test
+%% Description:
+%%-----------------------------------------------------------------
+ulonglong(doc) -> [];
+ulonglong(suite) -> [];
+ulonglong(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:unsigned_long_long()),
+ ?line code(orber_tc:unsigned_long_long()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: float test
+%% Description:
+%%-----------------------------------------------------------------
+float(doc) -> [];
+float(suite) -> [];
+float(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:'float'()),
+ ?line code(orber_tc:'float'()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: double test
+%% Description:
+%%-----------------------------------------------------------------
+double(doc) -> [];
+double(suite) -> [];
+double(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:double()),
+ ?line code(orber_tc:double()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: longdouble test
+%% Description:
+%%-----------------------------------------------------------------
+longdouble(doc) -> [];
+longdouble(suite) -> [];
+longdouble(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:longdouble()),
+ ?line code(orber_tc:longdouble()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: boolean test
+%% Description:
+%%-----------------------------------------------------------------
+boolean(doc) -> [];
+boolean(suite) -> [];
+boolean(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:boolean()),
+ ?line code(orber_tc:boolean()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: character test
+%% Description:
+%%-----------------------------------------------------------------
+char(doc) -> [];
+char(suite) -> [];
+char(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:char()),
+ ?line code(orber_tc:char()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: character test
+%% Description:
+%%-----------------------------------------------------------------
+wchar(doc) -> [];
+wchar(suite) -> [];
+wchar(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:wchar()),
+ ?line code(orber_tc:wchar()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: octet test
+%% Description:
+%%-----------------------------------------------------------------
+octet(doc) -> [];
+octet(suite) -> [];
+octet(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:octet()),
+ ?line code(orber_tc:octet()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: any test
+%% Description:
+%%-----------------------------------------------------------------
+any(doc) -> [];
+any(suite) -> [];
+any(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:any()),
+ ?line code(orber_tc:any()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: typecode test
+%% Description:
+%%-----------------------------------------------------------------
+typecode(doc) -> [];
+typecode(suite) -> [];
+typecode(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:typecode()),
+ ?line code(orber_tc:typecode()),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: principal test
+%% Description:
+%%-----------------------------------------------------------------
+principal(doc) -> [];
+principal(suite) -> [];
+principal(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:principal()),
+ ?line code(orber_tc:principal()),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: object_reference test
+%% Description:
+%%-----------------------------------------------------------------
+object_reference(doc) -> [];
+object_reference(suite) -> [];
+object_reference(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:object_reference("Id", "Name")),
+ ?line false = orber_tc:check_tc(orber_tc:object_reference(42, "Name")),
+ ?line false = orber_tc:check_tc(orber_tc:object_reference("Id", 42)),
+ ?line code(orber_tc:object_reference("Id", "Name")),
+ ?line ?match(code(orber_tc:object_reference(42, "Name"))),
+ ?line ?match(code(orber_tc:object_reference("Id", 42))),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: struct
+%% Description:
+%%-----------------------------------------------------------------
+struct(doc) -> [];
+struct(suite) -> [];
+struct(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:struct("Id", "Name", ?ELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:struct(42, "Name", ?ELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:struct("Id", false, ?ELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:struct("Id", "Name", ?VELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:struct("Id", "Name", "wrong")),
+ ?line code(orber_tc:struct("Id", "Name", ?ELIST)),
+ ?line ?match(code(orber_tc:struct(42, "Name", ?ELIST))),
+ ?line ?match(code(orber_tc:struct("Id", false, ?ELIST))),
+ ?line ?match(code(orber_tc:struct("Id", "Name", ?VELIST))),
+ ?line ?match(code(orber_tc:struct("Id", "Name", "wrong"))),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: union
+%% Description:
+%%-----------------------------------------------------------------
+union(doc) -> [];
+union(suite) -> [];
+union(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:union("Id", "Name", orber_tc:long(),
+ -1, [{1, "long", orber_tc:long()},
+ {2, "longlong", orber_tc:long()}])),
+ ?line false = orber_tc:check_tc(orber_tc:union("Id", "Name", orber_tc:long(),
+ -1, ?ELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:union(42, "Name", orber_tc:long(),
+ -1, [{1, "long", orber_tc:long()},
+ {2, "longlong", orber_tc:long()}])),
+ ?line false = orber_tc:check_tc(orber_tc:union("Id", false, orber_tc:long(),
+ -1, [{1, "long", orber_tc:long()},
+ {2, "longlong", orber_tc:long()}])),
+ ?line false = orber_tc:check_tc(orber_tc:union("Id", "Name", bad_tc,
+ -1, [{1, "long", orber_tc:long()},
+ {2, "longlong", orber_tc:long()}])),
+ ?line false = orber_tc:check_tc(orber_tc:union("Id", "Name", orber_tc:long(),
+ "wrong", [{1, "long", orber_tc:long()},
+ {2, "longlong", orber_tc:long()}])),
+
+ ?line code(orber_tc:union("Id", "Name", orber_tc:long(),
+ -1, [{1, "long", orber_tc:long()},
+ {2, "longlong", orber_tc:long()}])),
+ ok.
+
+
+%%-----------------------------------------------------------------
+%% Test Case: enum test
+%% Description:
+%%-----------------------------------------------------------------
+enum(doc) -> [];
+enum(suite) -> [];
+enum(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:enum("Id", "Name",
+ ["E1", "E2", "E3"])),
+ ?line false = orber_tc:check_tc(orber_tc:enum(42, "Name",
+ ["E1", "E2", "E3"])),
+ ?line false = orber_tc:check_tc(orber_tc:enum("Id", false,
+ ["E1", "E2", "E3"])),
+ ?line false = orber_tc:check_tc(orber_tc:enum("Id", "Name",
+ ["E1", false, "E3"])),
+ ?line code(orber_tc:enum("Id", "Name", ["E1", "E2", "E3"])),
+ ?line ?match(code(orber_tc:enum(false, "Name", ["E1", "E2", "E3"]))),
+ ?line ?match(code(orber_tc:enum("Id", 42, ["E1", "E2", "E3"]))),
+ ?line ?match(code(orber_tc:enum("Id", "Name", ["E1", false, "E3"]))),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: string
+%% Description:
+%%-----------------------------------------------------------------
+string(doc) -> [];
+string(suite) -> [];
+string(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:string(0)),
+ ?line true = orber_tc:check_tc(orber_tc:string(1)),
+ ?line false = orber_tc:check_tc(orber_tc:string("wrong")),
+ ?line code(orber_tc:string(0)),
+ ?line code(orber_tc:string(1)),
+ ?line ?match(code(orber_tc:string(-1))),
+ ?line ?match(code(orber_tc:string(?ULONGMAX+1))),
+ ?line ?match(code(orber_tc:string("wrong"))),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: wstring
+%% Description:
+%%-----------------------------------------------------------------
+wstring(doc) -> [];
+wstring(suite) -> [];
+wstring(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:wstring(0)),
+ ?line true = orber_tc:check_tc(orber_tc:wstring(1)),
+ ?line false = orber_tc:check_tc(orber_tc:wstring("wrong")),
+ ?line code(orber_tc:wstring(0)),
+ ?line code(orber_tc:wstring(1)),
+ ?line ?match(code(orber_tc:wstring(-1))),
+ ?line ?match(code(orber_tc:wstring(?ULONGMAX+1))),
+ ?line ?match(code(orber_tc:wstring(false))),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: sequence
+%% Description:
+%%-----------------------------------------------------------------
+sequence(doc) -> [];
+sequence(suite) -> [];
+sequence(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:sequence(orber_tc:struct("Id", "Name", ?ELIST), 0)),
+ ?line code(orber_tc:sequence(orber_tc:struct("Id", "Name", ?ELIST), 0)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: array
+%% Description:
+%%-----------------------------------------------------------------
+array(doc) -> [];
+array(suite) -> [];
+array(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:array(orber_tc:struct("Id", "Name", ?ELIST), 1)),
+ ?line code(orber_tc:array(orber_tc:struct("Id", "Name", ?ELIST), 1)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: alias
+%% Description:
+%%-----------------------------------------------------------------
+alias(doc) -> [];
+alias(suite) -> [];
+alias(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:alias("Id", "Name", orber_tc:struct("Id", "Name", ?ELIST))),
+ ?line false = orber_tc:check_tc(orber_tc:alias(false, "Name", orber_tc:struct("Id", "Name", ?ELIST))),
+ ?line false = orber_tc:check_tc(orber_tc:alias("Id", 42, orber_tc:struct("Id", "Name", ?ELIST))),
+ ?line false = orber_tc:check_tc(orber_tc:alias("Id", "Name", "wrong")),
+ ?line code(orber_tc:alias("Id", "Name", orber_tc:struct("Id", "Name", ?ELIST))),
+ ?line ?match(code(orber_tc:alias("Id", "Name", orber_tc:struct("Id", "Name", ?VELIST)))),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: exception
+%% Description:
+%%-----------------------------------------------------------------
+exception(doc) -> [];
+exception(suite) -> [];
+exception(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:exception("Id", "Name", ?ELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:exception(42, "Name", ?ELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:exception("Id", false, ?ELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:exception("Id", "Name", "wrong")),
+ ?line code(orber_tc:exception("Id", "Name", ?ELIST)),
+ ?line ?match(code(orber_tc:exception(42, "Name", ?ELIST))),
+ ?line ?match(code(orber_tc:exception("Id", false, ?ELIST))),
+ ?line ?match(code(orber_tc:exception("Id", "Name", "wrong"))),
+
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: fixed
+%% Description:
+%%-----------------------------------------------------------------
+fixed(doc) -> [];
+fixed(suite) -> [];
+fixed(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:fixed(25, 2)),
+ ?line code(orber_tc:fixed(25, 2)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: value
+%% Description:
+%%-----------------------------------------------------------------
+value(doc) -> [];
+value(suite) -> [];
+value(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:value("Id", "Name", 42,
+ orber_tc:fixed(25, 2), ?VELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:value(42, "Name", 42,
+ orber_tc:fixed(25, 2), ?VELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:value("Id", 42, 42,
+ orber_tc:fixed(25, 2), ?VELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:value("Id", "Name", "wrong",
+ orber_tc:fixed(25, 2), ?VELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:value("Id", "Name", "42",
+ orber_tc:fixed(25, 2), ?VELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:value("Id", "Name", "42",
+ ?VELIST, ?VELIST)),
+ ?line false = orber_tc:check_tc(orber_tc:value("Id", "Name", "42",
+ orber_tc:fixed(25, 2), false)),
+
+ ?line code(orber_tc:value("Id", "Name", 42, orber_tc:long(), ?VELIST)),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: value_box
+%% Description:
+%%-----------------------------------------------------------------
+value_box(doc) -> [];
+value_box(suite) -> [];
+value_box(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:value_box("Id", "Name",
+ orber_tc:fixed(25, 2))),
+ ?line false = orber_tc:check_tc(orber_tc:value_box(42, "Name",
+ orber_tc:fixed(25, 2))),
+ ?line false = orber_tc:check_tc(orber_tc:value_box("Id", 42,
+ orber_tc:fixed(25, 2))),
+ ?line false = orber_tc:check_tc(orber_tc:value_box("Id", "Name", "wrong")),
+ ?line code(orber_tc:value_box("Id", "Name", orber_tc:long())),
+ ?line ?match(code(orber_tc:value_box(42, "Name", orber_tc:short()))),
+ ?line ?match(code(orber_tc:value_box("Id", 42, orber_tc:char()))),
+ ?line ?match(code(orber_tc:value_box("Id", "Name", false))),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: native
+%% Description:
+%%-----------------------------------------------------------------
+native(doc) -> [];
+native(suite) -> [];
+native(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:native("Id", "Name")),
+ ?line false = orber_tc:check_tc(orber_tc:native(42, "Name")),
+ ?line false = orber_tc:check_tc(orber_tc:native("Id", 42)),
+ ?line code(orber_tc:native("Id", "Name")),
+ ?line ?match(code(orber_tc:native(42, "Name"))),
+ ?line ?match(code(orber_tc:native("Id", 42))),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: abstract_interface
+%% Description:
+%%-----------------------------------------------------------------
+abstract_interface(doc) -> [];
+abstract_interface(suite) -> [];
+abstract_interface(_) ->
+ ?line true = orber_tc:check_tc(orber_tc:abstract_interface("RepId", "Name")),
+ ?line false = orber_tc:check_tc(orber_tc:abstract_interface(false, "Name")),
+ ?line false = orber_tc:check_tc(orber_tc:abstract_interface("RepId", 42)),
+ ?line code(orber_tc:abstract_interface("RepId", "Name")),
+ ?line ?match(code(orber_tc:abstract_interface(42, "Name"))),
+ ?line ?match(code(orber_tc:abstract_interface("Id", 42))),
+ ok.
+
+
+
+%%-----------------------------------------------------------------
+%% Test Case: indirection
+%% Description:
+%%-----------------------------------------------------------------
+indirection(doc) -> [];
+indirection(suite) -> [];
+indirection(_) ->
+ ?line true = orber_tc:check_tc({'none', 42}),
+ ok.
+
+%%-----------------------------------------------------------------
+%% Test Case: get_tc
+%% Description:
+%%-----------------------------------------------------------------
+get_tc(doc) -> [];
+get_tc(suite) -> [];
+get_tc(_) ->
+ TC = 'CosNaming_Binding':tc(),
+ ?line TC = orber_tc:get_tc({'CosNaming_Binding', 42}),
+ ?line ?match(orber_tc:get_tc({'none', 42})),
+ ok.
+
+%%-----------------------------------------------------------------
+%% MISC Operations
+%%-----------------------------------------------------------------
+code(Value) ->
+ cdr_encode:enc_type({1,2}, tk_TypeCode, Value).
diff --git a/lib/orber/vsn.mk b/lib/orber/vsn.mk
index d074bfb86c..ec349ee189 100644
--- a/lib/orber/vsn.mk
+++ b/lib/orber/vsn.mk
@@ -1,7 +1,10 @@
-ORBER_VSN = 3.6.15
+ORBER_VSN = 3.6.16
-TICKETS = OTP-8353 \
+TICKETS = OTP-8489 \
+ OTP-8543
+
+TICKETS_3.6.15 = OTP-8353 \
OTP-8354 \
OTP-8374 \
OTP-8409 \
diff --git a/lib/parsetools/src/yecc.erl b/lib/parsetools/src/yecc.erl
index b8b2b2308c..c4a47d008f 100644
--- a/lib/parsetools/src/yecc.erl
+++ b/lib/parsetools/src/yecc.erl
@@ -1582,6 +1582,11 @@ find_action_conflicts2(Rs, Cxt0) ->
find_reduce_reduce([R], Cxt) ->
{R, Cxt};
+find_reduce_reduce([accept=A, #reduce{}=R | Rs], Cxt0) ->
+ Confl = conflict(R, A, Cxt0),
+ St = conflict_error(Confl, Cxt0#cxt.yecc),
+ Cxt = Cxt0#cxt{yecc = St},
+ find_reduce_reduce([R | Rs], Cxt);
find_reduce_reduce([#reduce{head = Categ1, prec = {P1, _}}=R1,
#reduce{head = Categ2, prec = {P2, _}}=R2 | Rs], Cxt0) ->
#cxt{res = Res0, yecc = St0} = Cxt0,
@@ -1773,6 +1778,8 @@ add_conflict(Conflict, St) ->
case Conflict of
{Symbol, StateN, _, {reduce, _, _, _}} ->
St#yecc{reduce_reduce = [{StateN,Symbol} |St#yecc.reduce_reduce]};
+ {Symbol, StateN, _, {accept, _}} ->
+ St#yecc{reduce_reduce = [{StateN,Symbol} |St#yecc.reduce_reduce]};
{Symbol, StateN, _, {shift, _, _}} ->
St#yecc{shift_reduce = [{StateN,Symbol} | St#yecc.shift_reduce]};
{_Symbol, _StateN, {one_level_up, _, _}, _Confl} ->
@@ -1791,6 +1798,8 @@ conflict(#reduce{rule_nmbr = RuleNmbr1}, NewAction, Cxt) ->
#cxt{terminal = Symbol, state_n = N, yecc = St} = Cxt,
{R1, RuleLine1, RuleN1} = rule(RuleNmbr1, St),
Confl = case NewAction of
+ accept ->
+ {accept, St#yecc.rootsymbol};
#reduce{rule_nmbr = RuleNmbr2} ->
{R2, RuleLine2, RuleN2} = rule(RuleNmbr2, St),
{reduce, R2, RuleN2, RuleLine2};
@@ -1830,7 +1839,10 @@ format_conflict({Symbol, N, Reduce, Confl}) ->
{shift, NewState, Sym} ->
io_lib:fwrite(<<" shift to state ~w, adding right "
"sisters to ~s.">>,
- [NewState, format_symbol(Sym)])
+ [NewState, format_symbol(Sym)]);
+ {accept, Rootsymbol} ->
+ io_lib:fwrite(<<" reduce to rootsymbol ~s.">>,
+ [format_symbol(Rootsymbol)])
end,
[S1, S2, S3].
@@ -1994,14 +2006,16 @@ output_actions(St0, StateJumps, StateInfo) ->
%% Not all the clauses of the dispatcher function yeccpars2() can
%% be reached. Only when shifting, that is, calling yeccpars1(),
%% will yeccpars2() be called.
- Y2CL = [NewState || {_State,{Actions,_J}} <- StateJumps,
- {_LA, #shift{state = NewState}} <- Actions],
+ Y2CL = [NewState || {_State,{Actions,J}} <- StateJumps,
+ {_LA, #shift{state = NewState}} <-
+ (Actions
+ ++ [A || {_Tag,_To,Part} <- [J], A <- Part])],
Y2CS = ordsets:from_list([0 | Y2CL]),
Y2S = ordsets:from_list([S || {S,_} <- StateJumps]),
NY2CS = ordsets:subtract(Y2S, Y2CS),
Sel = [{S,true} || S <- ordsets:to_list(Y2CS)] ++
[{S,false} || S <- ordsets:to_list(NY2CS)],
-
+
SelS = [{State,Called} ||
{{State,_JActions}, {State,Called}} <-
lists:zip(StateJumps, lists:keysort(1, Sel))],
@@ -2078,7 +2092,7 @@ output_action(St0, State, Terminal, #shift{state = NewState}, IsFirst, _SI) ->
output_action(St0, State, Terminal, accept, IsFirst, _SI) ->
St10 = delim(St0, IsFirst),
St = fwrite(St10,
- <<"yeccpars2_~w(_S, ~s, _Ss, Stack, _T, _Ts, _Tzr) ->\n">>,
+ <<"yeccpars2_~w(_S, ~s, _Ss, Stack, _T, _Ts, _Tzr) ->\n">>,
[State, quoted_atom(Terminal)]),
fwrite(St, <<" {ok, hd(Stack)}">>, []);
output_action(St, _State, _Terminal, nonassoc, _IsFirst, _SI) ->
diff --git a/lib/parsetools/test/yecc_SUITE.erl b/lib/parsetools/test/yecc_SUITE.erl
index b5da414f7b..61e2456323 100644
--- a/lib/parsetools/test/yecc_SUITE.erl
+++ b/lib/parsetools/test/yecc_SUITE.erl
@@ -44,7 +44,7 @@
empty/1, prec/1, yeccpre/1, lalr/1, old_yecc/1,
other_examples/1,
bugs/1,
- otp_5369/1, otp_6362/1, otp_7945/1,
+ otp_5369/1, otp_6362/1, otp_7945/1, otp_8483/1, otp_8486/1,
improvements/1,
otp_7292/1, otp_7969/1]).
@@ -1284,7 +1284,7 @@ other_examples(Config) when is_list(Config) ->
ok.
bugs(suite) ->
- [otp_5369, otp_6362, otp_7945].
+ [otp_5369, otp_6362, otp_7945, otp_8483, otp_8486].
otp_5369(doc) ->
"OTP-5369. A bug in parse_and_scan reported on erlang questions.";
@@ -1486,6 +1486,60 @@ otp_7945(Config) when is_list(Config) ->
?line {error,_} = erl_parse:parse([{atom,3,foo},{'.',2,9,9}]),
ok.
+otp_8483(doc) ->
+ "OTP-8483. reduce/accept conflict";
+otp_8483(suite) -> [];
+otp_8483(Config) when is_list(Config) ->
+ Dir = ?privdir,
+ Input = filename:join(Dir, "bug.yrl"),
+
+ Bug1 = <<"Nonterminals elem seq.
+ Terminals 'foo'.
+ Rootsymbol elem.
+ elem -> 'foo'.
+ elem -> seq.
+ seq -> elem.
+ seq -> seq elem.">>,
+ ?line ok = file:write_file(Input, Bug1),
+ Ret = [return, {report, true}],
+ ?line {error,[{_,[{none,yecc,{conflict,_}},
+ {none,yecc,{conflict,_}},
+ {none,yecc,{conflict,_}}]}],
+ [{_,[{none,yecc,{conflicts,1,3}}]}]} =
+ yecc:file(Input, Ret),
+ file:delete(Input),
+ ok.
+
+otp_8486(doc) ->
+ "OTP-8486.";
+otp_8486(suite) -> [];
+otp_8486(Config) when is_list(Config) ->
+ Ts = [{otp_8486,<<"
+ Nonterminals boolean command.
+ Terminals '(' ')' if then else true and or skip while do.
+ Rootsymbol command.
+ Left 100 or.
+ Left 200 and.
+ boolean -> '(' boolean ')' : '$2'.
+ boolean -> 'true' : b.
+ boolean -> boolean 'and' boolean : {a,'$1','$3'}.
+ boolean -> boolean 'or' boolean : {o,'$1','$3'}.
+ command -> 'skip' : s.
+ command -> 'if' boolean 'then' command 'else' command :
+ {i,'$2','$4','$6'}.
+ command -> 'while' boolean 'do' command : {w,'$2','$4'}.
+
+ Erlang code.
+ -export([t/0]).
+ t() ->
+ {ok,{i,{o,b,b},s,s}} =
+ parse([{'if',1},{'true',1},{'or',1},{'true',1},
+ {'then',1},{'skip',1},{'else',1},{'skip',1}]),
+ ok.
+ ">>,default,ok}],
+ ?line run(Config, Ts),
+ ok.
+
improvements(suite) ->
[otp_7292, otp_7969].
diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
index fbea701be9..94abec083c 100644
--- a/lib/public_key/asn1/Makefile
+++ b/lib/public_key/asn1/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2008-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2008-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
@@ -40,7 +40,7 @@ RELSYSDIR = $(RELEASE_PATH)/lib/public_key-$(VSN)
ASN_TOP = OTP-PUB-KEY
ASN_MODULES = PKIX1Explicit88 PKIX1Implicit88 PKIX1Algorithms88 \
- PKIXAttributeCertificate OTP-PKIX
+ PKIXAttributeCertificate PKCS-1 PKCS-3 OTP-PKIX
ASN_ASNS = $(ASN_MODULES:%=%.asn1)
ASN_ERLS = $(ASN_TOP).erl
ASN_HRLS = $(ASN_TOP).hrl
@@ -110,4 +110,6 @@ OTP-PUB-KEY.asn1db: PKIX1Algorithms88.asn1 \
PKIX1Explicit88.asn1 \
PKIX1Implicit88.asn1 \
PKIXAttributeCertificate.asn1 \
+ PKCS-1.asn1\
+ PKCS-3.asn1\
OTP-PKIX.asn1
diff --git a/lib/public_key/asn1/OTP-PUB-KEY.set.asn b/lib/public_key/asn1/OTP-PUB-KEY.set.asn
index 2f9ccd6b0e..5c76d13115 100644
--- a/lib/public_key/asn1/OTP-PUB-KEY.set.asn
+++ b/lib/public_key/asn1/OTP-PUB-KEY.set.asn
@@ -4,4 +4,5 @@ PKIX1Implicit88.asn1
PKIXAttributeCertificate.asn1
PKIX1Algorithms88.asn1
PKCS-1.asn1
+PKCS-3.asn1
DSS.asn1
diff --git a/lib/public_key/asn1/PKCS-3.asn1 b/lib/public_key/asn1/PKCS-3.asn1
new file mode 100644
index 0000000000..64180b3a85
--- /dev/null
+++ b/lib/public_key/asn1/PKCS-3.asn1
@@ -0,0 +1,21 @@
+PKCS-3 {
+ iso(1) member-body(2) us(840) rsadsi(113549)
+ pkcs(1) 3
+}
+
+DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+
+pkcs-3 OBJECT IDENTIFIER ::=
+ { iso(1) member-body(2) us(840) rsadsi(113549)
+ pkcs(1) 3 }
+
+dhKeyAgreement OBJECT IDENTIFIER ::= { pkcs-3 1 }
+
+DHParameter ::= SEQUENCE {
+ prime INTEGER, -- p
+ base INTEGER, -- g
+ privateValueLength INTEGER OPTIONAL }
+
+END \ No newline at end of file
diff --git a/lib/public_key/doc/src/notes.xml b/lib/public_key/doc/src/notes.xml
index a5fbc81093..33a424f432 100644
--- a/lib/public_key/doc/src/notes.xml
+++ b/lib/public_key/doc/src/notes.xml
@@ -33,6 +33,27 @@
<rev>A</rev>
<file>notes.xml</file>
</header>
+<section><title>Public_Key 0.6</title>
+
+<section><title>Improvements and New Features</title>
+<list>
+ <item>
+ <p>
+ Support for Diffie-Hellman. ssl-3.11 requires
+ public_key-0.6.</p>
+ <p>
+ Own Id: OTP-7046</p>
+ </item>
+ <item>
+ <p>
+ Moved extended key usage test for ssl values to ssl.</p>
+ <p>
+ Own Id: OTP-8553 Aux Id: seq11541, OTP-8554 </p>
+ </item>
+</list>
+</section>
+
+</section>
<section><title>Public_Key 0.5</title>
diff --git a/lib/public_key/src/pubkey_cert.erl b/lib/public_key/src/pubkey_cert.erl
index 0ccc74799c..799e3820d1 100644
--- a/lib/public_key/src/pubkey_cert.erl
+++ b/lib/public_key/src/pubkey_cert.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -134,9 +134,10 @@ validate_names(OtpCert, Permit, Exclude, Last, AccErr, Verify) ->
false ->
TBSCert = OtpCert#'OTPCertificate'.tbsCertificate,
Subject = TBSCert#'OTPTBSCertificate'.subject,
+ Extensions =
+ extensions_list(TBSCert#'OTPTBSCertificate'.extensions),
AltSubject =
- select_extension(?'id-ce-subjectAltName',
- TBSCert#'OTPTBSCertificate'.extensions),
+ select_extension(?'id-ce-subjectAltName', Extensions),
EmailAddress = extract_email(Subject),
Name = [{directoryName, Subject}|EmailAddress],
@@ -212,7 +213,7 @@ is_issuer({rdnSequence, Issuer}, {rdnSequence, Candidate}) ->
issuer_id(Otpcert, other) ->
TBSCert = Otpcert#'OTPCertificate'.tbsCertificate,
- Extensions = TBSCert#'OTPTBSCertificate'.extensions,
+ Extensions = extensions_list(TBSCert#'OTPTBSCertificate'.extensions),
case select_extension(?'id-ce-authorityKeyIdentifier', Extensions) of
undefined ->
{error, issuer_not_found};
@@ -232,12 +233,17 @@ is_fixed_dh_cert(#'OTPCertificate'{tbsCertificate =
SubjectPublicKeyInfo,
extensions =
Extensions}}) ->
- is_fixed_dh_cert(SubjectPublicKeyInfo, Extensions).
+ is_fixed_dh_cert(SubjectPublicKeyInfo, extensions_list(Extensions)).
%%--------------------------------------------------------------------
%%% Internal functions
%%--------------------------------------------------------------------
+extensions_list(asn1_NOVALUE) ->
+ [];
+extensions_list(Extensions) ->
+ Extensions.
+
not_valid(Error, true, _) ->
throw(Error);
not_valid(Error, false, AccErrors) ->
@@ -455,24 +461,6 @@ validate_extensions([#'Extension'{extnID = ?'id-ce-keyUsage',
AccErr)
end;
-validate_extensions([#'Extension'{extnID = ?'id-ce-extKeyUsage',
- extnValue = KeyUse,
- critical = true} | Rest],
- #path_validation_state{} = ValidationState,
- ExistBasicCon, SelfSigned, UnknownExtensions, Verify,
- AccErr0) ->
- case is_valid_extkey_usage(KeyUse) of
- true ->
- validate_extensions(Rest, ValidationState, ExistBasicCon,
- SelfSigned, UnknownExtensions,
- Verify, AccErr0);
- false ->
- AccErr =
- not_valid({bad_cert, invalid_ext_key_usage}, Verify, AccErr0),
- validate_extensions(Rest, ValidationState, ExistBasicCon,
- SelfSigned, UnknownExtensions, Verify, AccErr)
- end;
-
validate_extensions([#'Extension'{extnID = ?'id-ce-subjectAltName',
extnValue = Names} | Rest],
ValidationState, ExistBasicCon,
@@ -590,13 +578,6 @@ validate_extensions([Extension | Rest], ValidationState,
is_valid_key_usage(KeyUse, Use) ->
lists:member(Use, KeyUse).
-is_valid_extkey_usage(?'id-kp-clientAuth') ->
- true;
-is_valid_extkey_usage(?'id-kp-serverAuth') ->
- true;
-is_valid_extkey_usage(_) ->
- false.
-
validate_subject_alt_names([]) ->
true;
validate_subject_alt_names([AltName | Rest]) ->
diff --git a/lib/public_key/src/pubkey_crypto.erl b/lib/public_key/src/pubkey_crypto.erl
index fe4e97fcc5..4ab655e977 100644
--- a/lib/public_key/src/pubkey_crypto.erl
+++ b/lib/public_key/src/pubkey_crypto.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -26,7 +26,7 @@
-export([encrypt_public/3, decrypt_private/3,
encrypt_private/3, decrypt_public/3,
- sign/2, sign/3, verify/5]).
+ sign/2, sign/3, verify/5, gen_key/2]).
-define(UINT32(X), X:32/unsigned-big-integer).
@@ -44,10 +44,14 @@
%%
%% Description: Public key encrypts PlainText.
%%--------------------------------------------------------------------
-encrypt_public(PlainText, #'RSAPublicKey'{modulus=N,publicExponent=E},Padding) ->
- crypto:rsa_public_encrypt(PlainText, [crypto:mpint(E),crypto:mpint(N)],Padding);
-encrypt_public(PlainText, #'RSAPrivateKey'{modulus=N,publicExponent=E},Padding) ->
- crypto:rsa_public_encrypt(PlainText, [crypto:mpint(E),crypto:mpint(N)],Padding).
+encrypt_public(PlainText, #'RSAPublicKey'{modulus=N,publicExponent=E},
+ Padding) ->
+ crypto:rsa_public_encrypt(PlainText, [crypto:mpint(E),crypto:mpint(N)],
+ Padding);
+encrypt_public(PlainText, #'RSAPrivateKey'{modulus=N,publicExponent=E},
+ Padding) ->
+ crypto:rsa_public_encrypt(PlainText, [crypto:mpint(E),crypto:mpint(N)],
+ Padding).
encrypt_private(PlainText, #'RSAPrivateKey'{modulus = N,
publicExponent = E,
@@ -67,15 +71,20 @@ encrypt_private(PlainText, #'RSAPrivateKey'{modulus = N,
%% Description: Uses private key to decrypt public key encrypted data.
%%--------------------------------------------------------------------
decrypt_private(CipherText,
- #'RSAPrivateKey'{modulus = N,publicExponent = E,privateExponent = D},
+ #'RSAPrivateKey'{modulus = N,publicExponent = E,
+ privateExponent = D},
Padding) ->
crypto:rsa_private_decrypt(CipherText,
- [crypto:mpint(E), crypto:mpint(N),crypto:mpint(D)],
- Padding).
-decrypt_public(CipherText, #'RSAPublicKey'{modulus = N, publicExponent = E}, Padding) ->
- crypto:rsa_public_decrypt(CipherText,[crypto:mpint(E), crypto:mpint(N)], Padding);
-decrypt_public(CipherText, #'RSAPrivateKey'{modulus = N, publicExponent = E}, Padding) ->
- crypto:rsa_public_decrypt(CipherText,[crypto:mpint(E), crypto:mpint(N)], Padding).
+ [crypto:mpint(E), crypto:mpint(N),
+ crypto:mpint(D)], Padding).
+decrypt_public(CipherText, #'RSAPublicKey'{modulus = N, publicExponent = E},
+ Padding) ->
+ crypto:rsa_public_decrypt(CipherText,[crypto:mpint(E), crypto:mpint(N)],
+ Padding);
+decrypt_public(CipherText, #'RSAPrivateKey'{modulus = N, publicExponent = E},
+ Padding) ->
+ crypto:rsa_public_decrypt(CipherText,[crypto:mpint(E), crypto:mpint(N)],
+ Padding).
%%--------------------------------------------------------------------
%% Function: sign(PlainText, Key) ->
@@ -125,10 +134,24 @@ verify(sha, PlainText, Signature, Key, #'Dss-Parms'{p = P, q = Q, g = G}) ->
[crypto:mpint(P), crypto:mpint(Q),
crypto:mpint(G), crypto:mpint(Key)]).
+
+%%--------------------------------------------------------------------
+%% Function: gen_key(Type, Params) ->
+%% Type = diffie_hellman
+%% Params = [P,G] | [Y, P, G]
+%% Description: Generates keys.
+%% -----------------------------------------------------------------
+gen_key(diffie_hellman, [Y, P, G]) ->
+ crypto:dh_generate_key(crypto:mpint(Y), [crypto:mpint(P),
+ crypto:mpint(G)]);
+gen_key(diffie_hellman, [P, G]) ->
+ crypto:dh_generate_key([crypto:mpint(P), crypto:mpint(G)]).
+
+%%% TODO: Support rsa, dss key_gen
+
%%--------------------------------------------------------------------
%%% Internal functions
%%--------------------------------------------------------------------
-
sized_binary(Binary) when is_binary(Binary) ->
Size = size(Binary),
<<?UINT32(Size), Binary/binary>>;
diff --git a/lib/public_key/src/pubkey_pem.erl b/lib/public_key/src/pubkey_pem.erl
index abd46fa00e..9fc17b6f73 100644
--- a/lib/public_key/src/pubkey_pem.erl
+++ b/lib/public_key/src/pubkey_pem.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -155,7 +155,7 @@ unhex(S) ->
unhex(S, []).
unhex("", Acc) ->
- lists:reverse(Acc);
+ list_to_binary(lists:reverse(Acc));
unhex([D1, D2 | Rest], Acc) ->
unhex(Rest, [erlang:list_to_integer([D1, D2], 16) | Acc]).
diff --git a/lib/public_key/src/public_key.appup.src b/lib/public_key/src/public_key.appup.src
index ee0f9a3cc1..46e5ecca33 100644
--- a/lib/public_key/src/public_key.appup.src
+++ b/lib/public_key/src/public_key.appup.src
@@ -1,18 +1,40 @@
%% -*- erlang -*-
{"%VSN%",
[
+ {"0.5",
+ [
+ {update, public_key, soft, soft_purge, soft_purge, []},
+ {update, pubkey_crypto, soft, soft_purge, soft_purge, []},
+ {update, pubkey_pem, soft, soft_purge, soft_purge, []},
+ {update, pubkey_cert, soft, soft_purge, soft_purge, []}
+ ]
+ },
{"0.4",
[
{update, public_key, soft, soft_purge, soft_purge, []},
- {update, pubkey_cert_records, soft, soft_purge, soft_purge, []}
+ {update, pubkey_cert_records, soft, soft_purge, soft_purge, []},
+ {update, pubkey_crypto, soft, soft_purge, soft_purge, []},
+ {update, pubkey_pem, soft, soft_purge, soft_purge, []},
+ {update, pubkey_cert, soft, soft_purge, soft_purge, []}
]
}
],
[
+ {"0.5",
+ [
+ {update, public_key, soft, soft_purge, soft_purge, []},
+ {update, pubkey_crypto, soft, soft_purge, soft_purge, []},
+ {update, pubkey_pem, soft, soft_purge, soft_purge, []},
+ {update, pubkey_cert, soft, soft_purge, soft_purge, []}
+ ]
+ },
{"0.4",
[
{update, public_key, soft, soft_purge, soft_purge, []},
- {update, pubkey_cert_records, soft, soft_purge, soft_purge, []}
+ {update, pubkey_cert_records, soft, soft_purge, soft_purge, []},
+ {update, pubkey_crypto, soft, soft_purge, soft_purge, []},
+ {update, pubkey_pem, soft, soft_purge, soft_purge, []},
+ {update, pubkey_cert, soft, soft_purge, soft_purge, []}
]
}
]}.
diff --git a/lib/public_key/src/public_key.erl b/lib/public_key/src/public_key.erl
index 52c695523f..157e76bb21 100644
--- a/lib/public_key/src/public_key.erl
+++ b/lib/public_key/src/public_key.erl
@@ -23,13 +23,12 @@
-include("public_key.hrl").
--export([decode_private_key/1, decode_private_key/2,
+-export([decode_private_key/1, decode_private_key/2, decode_dhparams/1,
decrypt_private/2, decrypt_private/3, encrypt_public/2,
encrypt_public/3, decrypt_public/2, decrypt_public/3,
- encrypt_private/2, encrypt_private/3,
- sign/2, sign/3,
+ encrypt_private/2, encrypt_private/3, gen_key/1, sign/2, sign/3,
verify_signature/3, verify_signature/4, verify_signature/5,
- pem_to_der/1, pem_to_der/2,
+ pem_to_der/1, pem_to_der/2, der_to_pem/2,
pkix_decode_cert/2, pkix_encode_cert/1, pkix_transform/2,
pkix_is_self_signed/1, pkix_is_fixed_dh_cert/1,
pkix_issuer_id/2,
@@ -62,6 +61,21 @@ decode_private_key(KeyInfo = {dsa_private_key, _, _}, Password) ->
DerEncoded = pubkey_pem:decode_key(KeyInfo, Password),
'OTP-PUB-KEY':decode('DSAPrivateKey', DerEncoded).
+
+%%--------------------------------------------------------------------
+%% Function: decode_dhparams(DhParamInfo) ->
+%% {ok, DhParams} | {error, Reason}
+%%
+%% DhParamsInfo = {Type, der_bin(), ChipherInfo} - as returned from
+%% pem_to_der/[1,2] for DH parameters.
+%% Type = dh_params
+%% ChipherInfo = opaque() | no_encryption
+%%
+%% Description: Decodes an asn1 der encoded DH parameters.
+%%--------------------------------------------------------------------
+decode_dhparams({dh_params, DerEncoded, not_encrypted}) ->
+ 'OTP-PUB-KEY':decode('DHParameter', DerEncoded).
+
%%--------------------------------------------------------------------
%% Function: decrypt_private(CipherText, Key) ->
%% decrypt_private(CipherText, Key, Options) -> PlainTex
@@ -109,6 +123,18 @@ encrypt_private(PlainText, Key, Options) ->
pubkey_crypto:encrypt_private(PlainText, Key, Padding).
%%--------------------------------------------------------------------
+%% Function: gen_key(Params) -> Keys
+%%
+%% Params = #'DomainParameters'{} - Currently only supported option
+%% Keys = {PublicDHKey = integer(), PrivateDHKey = integer()}
+%%
+%% Description: Generates keys. Currently supports Diffie-Hellman keys.
+%%--------------------------------------------------------------------
+gen_key(#'DHParameter'{prime = P, base = G}) when is_integer(P),
+ is_integer(G) ->
+ pubkey_crypto:gen_key(diffie_hellman, [P, G]).
+
+%%--------------------------------------------------------------------
%% Function: pem_to_der(CertSource) ->
%% pem_to_der(CertSource, Password) -> {ok, [Entry]} |
%% {error, Reason}
@@ -116,7 +142,6 @@ encrypt_private(PlainText, Key, Options) ->
%% CertSource = File | CertData
%% CertData = binary()
%% File = path()
-%% Password = string()
%% Entry = {entry_type(), der_bin(), ChipherInfo}
%% ChipherInfo = opague() | no_encryption
%% der_bin() = binary()
@@ -127,7 +152,9 @@ encrypt_private(PlainText, Key, Options) ->
%% entries as asn1 der encoded entities. Currently supported entry
%% types are certificates, certificate requests, rsa private keys and
%% dsa private keys. In the case of a key entry ChipherInfo will be
-%% used by decode_private_key/2 if the key is protected by a password.
+%% private keys and Diffie Hellam parameters .In the case of a key
+%% entry ChipherInfo will be used by decode_private_key/2 if the key
+%% is protected by a password.
%%--------------------------------------------------------------------
pem_to_der(CertSource) ->
pem_to_der(CertSource, no_passwd).
@@ -137,6 +164,9 @@ pem_to_der(File, Password) when is_list(File) ->
pem_to_der(PemBin, Password) when is_binary(PemBin) ->
pubkey_pem:decode(PemBin, Password).
+der_to_pem(File, TypeDerList) ->
+ pubkey_pem:write_file(File, TypeDerList).
+
%%--------------------------------------------------------------------
%% Function: pkix_decode_cert(BerCert, Type) -> {ok, Cert} | {error, Reason}
%%
@@ -288,9 +318,10 @@ sign(Msg, #'RSAPrivateKey'{} = Key) when is_binary(Msg) ->
sign(Msg, #'DSAPrivateKey'{} = Key) when is_binary(Msg) ->
pubkey_crypto:sign(Msg, Key);
-sign(#'OTPTBSCertificate'{signature = SigAlg} = TBSCert, Key) ->
+sign(#'OTPTBSCertificate'{signature = #'SignatureAlgorithm'{algorithm = Alg}
+ = SigAlg} = TBSCert, Key) ->
Msg = pubkey_cert_records:encode_tbs_cert(TBSCert),
- DigestType = pubkey_cert:digest_type(SigAlg),
+ DigestType = pubkey_cert:digest_type(Alg),
Signature = pubkey_crypto:sign(DigestType, Msg, Key),
Cert = #'OTPCertificate'{tbsCertificate= TBSCert,
signatureAlgorithm = SigAlg,
diff --git a/lib/public_key/vsn.mk b/lib/public_key/vsn.mk
index f4d5281e94..8c4e4127b2 100644
--- a/lib/public_key/vsn.mk
+++ b/lib/public_key/vsn.mk
@@ -1,6 +1,10 @@
-PUBLIC_KEY_VSN = 0.5
+PUBLIC_KEY_VSN = 0.7
-TICKETS = OTP-8372
+TICKETS = OTP-8626
+
+#TICKETS_0.6 = OTP-7046 \
+# OTP-8553
+#TICKETS_0.5 = OTP-8372
#TICKETS_0.4 = OTP-8250
#TICKETS_0.3 = OTP-8100 OTP-8142
#TICKETS_0.2 = OTP-7860
diff --git a/lib/reltool/bin/reltool.escript b/lib/reltool/bin/reltool.escript
new file mode 100644
index 0000000000..0dcd5ad1e9
--- /dev/null
+++ b/lib/reltool/bin/reltool.escript
@@ -0,0 +1,249 @@
+#!/usr/bin/env escript
+%% -*- erlang -*-
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+
+-include_lib("reltool/src/reltool.hrl").
+
+main(Args) ->
+ process_flag(trap_exit, true),
+ try
+ Tokens = scan_args(Args, [], []),
+ {Options, Actions} = parse_args(Tokens, []),
+ case invoke(Options, Actions) of
+ ok ->
+ safe_stop(0);
+ {error, ReasonString} ->
+ fatal_error(ReasonString, 2)
+ end
+ catch
+ throw:usage ->
+ usage(),
+ safe_stop(1);
+ exit:Reason ->
+ String = lists:flatten(io_lib:format("EXIT: ~p", [Reason])),
+ fatal_error(String, 3)
+ end.
+
+usage() ->
+ Usage =
+ [
+ "[Config] [--window]",
+ "[Config] --create_config [-defaults] [-derived] [ConfigFile]",
+ "[Config] --create_rel RelName [RelFile]",
+ "[Config] --create_script RelName [ScriptFile]",
+ "[Config] --create_target TargetDir",
+ "[Config] --create_target_spec [SpecFile]",
+ "[Config] --eval_target_spec Spec TargetDir RootDir"
+ ],
+ Script = script_name(),
+ String = lists:flatten([[Script, " ", U, "\n"] || U <- Usage]),
+ io:format("Erlang/OTP release management tool\n\n"
+ "~s\nConfig = ConfigFile | '{sys, [sys()]}'\n"
+ "Spec = SpecFile | '{spec, [target_spec()}']\n\n"
+ "See User's guide and Reference manual for more info.\n",
+ [String]).
+
+safe_stop(Code) ->
+ init:stop(Code),
+ timer:sleep(infinity).
+
+invoke(Options, Actions) ->
+ case Actions of
+ [] ->
+ invoke(Options, [["--window"]]);
+ [["--window"]] ->
+ start_window(Options);
+ [["--create_config" | OptArgs]] ->
+ DefArg = "-defaults",
+ DerivArg = "-derived",
+ InclDef = lists:member(DefArg, OptArgs),
+ InclDeriv = lists:member(DerivArg, OptArgs),
+ case reltool:get_config(Options, InclDef, InclDeriv) of
+ {ok, Config} ->
+ String = pretty("config", Config),
+ case OptArgs -- [DefArg, DerivArg] of
+ [] ->
+ format("~s", [String]);
+ [ConfigFile] ->
+ write_file(ConfigFile, String);
+ _ ->
+ throw(usage)
+ end;
+ {error, Reason} ->
+ {error, Reason}
+ end;
+ [["--create_rel", RelName | OptArgs]] ->
+ case reltool:get_rel(Options, RelName) of
+ {ok, Rel} ->
+ String = pretty("rel", Rel),
+ case OptArgs of
+ [] ->
+ format("~s", [String]);
+ [RelFile] ->
+ write_file(RelFile, String);
+ _ ->
+ throw(usage)
+ end;
+ {error, Reason} ->
+ {error, Reason}
+ end;
+ [["--create_script", RelName | OptArgs]] ->
+ case reltool:get_script(Options, RelName) of
+ {ok, Script} ->
+ String = pretty("script", Script),
+ case OptArgs of
+ [] ->
+ format("~s", [String]);
+ [ScriptFile] ->
+ write_file(ScriptFile, String);
+ _ ->
+ throw(usage)
+ end;
+ {error, Reason} ->
+ {error, Reason}
+ end;
+ [["--create_target", TargetDir]] ->
+ reltool:create_target(Options, TargetDir);
+ [["--create_target_spec" | OptArgs]] ->
+ case reltool:get_target_spec(Options) of
+ {ok, Script} ->
+ String = pretty("target_spec", Script),
+ case OptArgs of
+ [] ->
+ format("~s", [String]);
+ [SpecFile] ->
+ write_file(SpecFile, String);
+ _ ->
+ throw(usage)
+ end;
+ {error, Reason} ->
+ {error, Reason}
+ end;
+ [["--eval_target_spec", TargetSpec, TargetDir, RootDir]] ->
+ try
+ {ok, Tokens, _} = erl_scan:string(TargetSpec ++ ". "),
+ {ok, {spec, Spec}} = erl_parse:parse_term(Tokens),
+ reltool:eval_target_spec(Spec, TargetDir, RootDir)
+ catch
+ error:{badmatch, _} ->
+ case file:consult(TargetSpec) of
+ {ok, Spec2} ->
+ reltool:eval_target_spec(Spec2, TargetDir, RootDir);
+ {error, Reason} ->
+ Text = file:format_error(Reason),
+ {error, TargetSpec ++ ": " ++ Text}
+ end
+ end;
+ _ ->
+ throw(usage)
+ end.
+
+start_window(Options) ->
+ case reltool:start_link(Options) of
+ {ok, WinPid} ->
+ receive
+ {'EXIT', WinPid, shutdown} ->
+ ok;
+ {'EXIT', WinPid, normal} ->
+ ok;
+ {'EXIT', WinPid, Reason} ->
+ exit(Reason)
+ end;
+ {error, Reason} ->
+ {error, Reason}
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Helpers
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+script_name() ->
+ filename:basename(escript:script_name(), ".escript").
+
+fatal_error(String, Code) ->
+ io:format(standard_error, "~s: ~s\n", [script_name(), String]),
+ safe_stop(Code).
+
+write_file(File, IoList) ->
+ case file:write_file(File, IoList) of
+ ok ->
+ ok;
+ {error, Reason} ->
+ {error, file:format_error(Reason)}
+ end.
+
+format(Format, Args) ->
+ io:format(Format, Args),
+ %% Wait a while for the I/O to be processed
+ timer:sleep(timer:seconds(1)).
+
+pretty(Tag, Term) ->
+ lists:flatten(io_lib:format("%% ~s generated at ~w ~w\n~p.\n\n",
+ [Tag, date(), time(), Term])).
+
+scan_args([H | T], Single, Multi) ->
+ case H of
+ "--" ++ _ when Single =:= [] ->
+ scan_args(T, [H], Multi);
+ "--" ++ _ ->
+ scan_args(T, [H], [lists:reverse(Single) | Multi]);
+ _ ->
+ scan_args(T, [H | Single], Multi)
+ end;
+scan_args([], [], Multi) ->
+ lists:reverse(Multi);
+scan_args([], Single, Multi) ->
+ lists:reverse([lists:reverse(Single) | Multi]).
+
+parse_args([H | T] = Args, Options) ->
+ case H of
+ ["--wx_debug" | Levels] ->
+ Dbg =
+ fun(L) ->
+ case catch list_to_integer(L) of
+ {'EXIT', _} ->
+ case catch list_to_atom(L) of
+ {'EXIT', _} ->
+ exit("Illegal wx debug level: " ++ L);
+ Atom ->
+ Atom
+ end;
+ Int ->
+ Int
+ end
+ end,
+ Levels2 = lists:map(Dbg, Levels),
+ parse_args(T, [{wx_debug, Levels2} | Options]);
+ ["--" ++ _ | _] ->
+ %% No more options
+ {lists:reverse(Options), Args};
+ [Config] ->
+ try
+ {ok, Tokens, _} = erl_scan:string(Config ++ ". "),
+ {ok, {sys, _} = Sys} = erl_parse:parse_term(Tokens),
+ parse_args(T, [{config, Sys} | Options])
+ catch
+ error:{badmatch, _} ->
+ parse_args(T, [{config, Config} | Options]);
+ X:Y ->
+ io:format("\n\n~p\n\n", [{X, Y}])
+ end
+ end;
+parse_args([], Options) ->
+ {lists:reverse(Options), []}.
diff --git a/lib/reltool/doc/src/reltool.xml b/lib/reltool/doc/src/reltool.xml
index 9786928ae8..0c2b7d2a2b 100644
--- a/lib/reltool/doc/src/reltool.xml
+++ b/lib/reltool/doc/src/reltool.xml
@@ -67,14 +67,14 @@
<taglist>
- <tag><c><![CDATA[config]]></c></tag>
+ <tag><c>config</c></tag>
<item>
<p>This is the main option and it controls the configuration
of <c>reltool</c>. It can either be a <c>sys</c> tuple or
a name of a <c>file</c> containing a sys tuple.</p>
</item>
- <tag><c><![CDATA[trap_exit]]></c></tag>
+ <tag><c>trap_exit></c></tag>
<item>
<p>This option controls the error handling behavior of
<c>reltool</c>. By default the window processes traps
@@ -82,7 +82,7 @@
<c>trap_exit</c> to <c>false</c>.</p>
</item>
- <tag><c><![CDATA[wx_debug]]></c></tag>
+ <tag><c>wx_debug</c></tag>
<item>
<p>This option controls the debug level of <c>wx</c>. As its
name indicates it is only useful for debugging. See
@@ -97,27 +97,27 @@
<taglist>
- <tag><c><![CDATA[erts]]></c></tag>
+ <tag><c>erts</c></tag>
<item>
<p>Erts specific configuration. See application level options
below.</p>
</item>
- <tag><c><![CDATA[escript]]></c></tag>
+ <tag><c>escript</c></tag>
<item>
<p>Escript specific configuration. An escript has a mandatory
file name and escript level options that are described
below.</p>
</item>
- <tag><c><![CDATA[app]]></c></tag>
+ <tag><c>app</c></tag>
<item>
<p>Application specific configuration. An application has a
mandatory name and application level options that are
described below.</p>
</item>
- <tag><c><![CDATA[mod_cond]]></c></tag>
+ <tag><c>mod_cond</c></tag>
<item>
<p>This parameter controls the module inclusion policy. It
defaults to <c>all</c> which means that if an application is
@@ -134,28 +134,28 @@
system level is used as default for all applications.</p>
</item>
- <tag><c><![CDATA[incl_cond]]></c></tag>
+ <tag><c>incl_cond</c></tag>
<item>
- <p>This parameter controls the application and escript
- inclusion policy. It defaults to <c>derived</c> which means
- that the applications that not have any explicit
- <c>incl_cond</c> setting, will only be included if any other
- (explicitly or implicitly included) application uses it. The
- value <c>include</c> implies that all applications and
- escripts that that not have any explicit <c>incl_cond</c>
- setting will be included. <c>exclude</c> implies that all
- applications and escripts) that that not have any explicit
- <c>incl_cond</c> setting will be excluded.</p>
+ <p>This parameter controls the application and escript
+ inclusion policy. It defaults to <c>derived</c> which means
+ that the applications that not have any explicit
+ <c>incl_cond</c> setting, will only be included if any other
+ (explicitly or implicitly included) application uses it. The
+ value <c>include</c> implies that all applications and
+ escripts that that not have any explicit <c>incl_cond</c>
+ setting will be included. <c>exclude</c> implies that all
+ applications and escripts) that that not have any explicit
+ <c>incl_cond</c> setting will be excluded.</p>
</item>
- <tag><c><![CDATA[boot_rel]]></c></tag>
+ <tag><c>boot_rel</c></tag>
<item>
<p>A target system may have several releases but the one given
as <c>boot_rel</c> will be used as default when the system is
booting up.</p>
</item>
- <tag><c><![CDATA[rel]]></c></tag>
+ <tag><c>rel</c></tag>
<item>
<p>Release specific configuration. Each release maps to a
<c>rel</c>, <c>script</c> and <c>boot </c> file. See the
@@ -165,38 +165,38 @@
applications.</p>
</item>
- <tag><c><![CDATA[relocatable]]></c></tag>
+ <tag><c>relocatable</c></tag>
<item>
- <p>This parameter controls whether the <c>erl</c> executable
- in the target system automatically should determine where it
- is installed or if it should use a hardcoded path to the
- installation. In the latter case the target system must be
- installed with <c>reltool:install/2</c> before it can be
- used. If the system is relocatable, the file tree containing
- the target system can be moved to another location without
- re-installation. The default is <c>true</c>.</p>
+ <p>This parameter controls whether the <c>erl</c> executable
+ in the target system automatically should determine where it
+ is installed or if it should use a hardcoded path to the
+ installation. In the latter case the target system must be
+ installed with <c>reltool:install/2</c> before it can be
+ used. If the system is relocatable, the file tree containing
+ the target system can be moved to another location without
+ re-installation. The default is <c>true</c>.</p>
</item>
- <tag><c><![CDATA[profile]]></c></tag>
+ <tag><c>profile</c></tag>
<item>
- <p>The creation of the specification for a target system is
- performed in two steps. In the first step a complete
- specification is generated. It will likely contain much more
- files than you are interested in your customized target
- system. In the second step the specification will be filtered
- according to your filters. There you have the ability to
- specify filters per application as well as system wide
- filters. You can also select a <c>profile</c> for your
- system. Depending on the <c>profile</c>, different default
- filters will be used. There are three different profiles to
- choose from: <c>development</c>, <c>embedded</c> and
- <c>standalone</c>. <c>development</c> is default. The
- parameters that are affected by the <c>profile</c> are:
- <c>incl_sys_filters</c>, <c>excl_sys_filters</c>,
- <c>incl_app_filters</c> and <c>excl_app_filters</c>.</p>
+ <p>The creation of the specification for a target system is
+ performed in two steps. In the first step a complete
+ specification is generated. It will likely contain much more
+ files than you are interested in your customized target
+ system. In the second step the specification will be filtered
+ according to your filters. There you have the ability to
+ specify filters per application as well as system wide
+ filters. You can also select a <c>profile</c> for your
+ system. Depending on the <c>profile</c>, different default
+ filters will be used. There are three different profiles to
+ choose from: <c>development</c>, <c>embedded</c> and
+ <c>standalone</c>. <c>development</c> is default. The
+ parameters that are affected by the <c>profile</c> are:
+ <c>incl_sys_filters</c>, <c>excl_sys_filters</c>,
+ <c>incl_app_filters</c> and <c>excl_app_filters</c>.</p>
</item>
- <tag><c><![CDATA[app_file]]></c></tag>
+ <tag><c>app_file</c></tag>
<item>
<p>This parameter controls the default handling of the
<c>app</c> files when a target system is generated. It
@@ -213,7 +213,7 @@
and <c>strip</c>.</p>
</item>
- <tag><c><![CDATA[debug_info]]></c></tag>
+ <tag><c>debug_info</c></tag>
<item>
<p>The <c>debug_info</c> parameter controls whether the debug
information in the beam file should be kept (<c>keep</c>) or
@@ -221,7 +221,7 @@
system.</p>
</item>
- <tag><c><![CDATA[incl_sys_filters]]></c></tag>
+ <tag><c>incl_sys_filters</c></tag>
<item>
<p>This parameter normally contains a list of regular
expressions that controls which files in the system that
@@ -235,7 +235,7 @@
<c>[".*"]</c>.</p>
</item>
- <tag><c><![CDATA[excl_sys_filters]]></c></tag>
+ <tag><c>excl_sys_filters</c></tag>
<item>
<p>This parameter normally contains a list of regular
expressions that controls which files in the system that not
@@ -245,7 +245,7 @@
<c>excl_sys_filters</c>. This parameter defaults to
<c>[]</c>.</p>
</item>
- <tag><c><![CDATA[incl_app_filters]]></c></tag>
+ <tag><c>incl_app_filters</c></tag>
<item>
<p>This parameter normally contains a list of regular
expressions that controls which application specific files
@@ -256,7 +256,7 @@
parameter defaults to <c>[".*"]</c>.</p>
</item>
- <tag><c><![CDATA[excl_app_filters]]></c></tag>
+ <tag><c>excl_app_filters</c></tag>
<item>
<p>This parameter normally contains a list of regular
expressions that controls which application specific files
@@ -267,7 +267,7 @@
<c>[]</c>.</p>
</item>
- <tag><c><![CDATA[incl_archive_filters]]></c></tag>
+ <tag><c>incl_archive_filters</c></tag>
<item>
<p>This parameter normally contains a list of regular
expressions that controls which top level directories in an
@@ -280,7 +280,7 @@
parameter defaults to <c>[".*"]</c>.</p>
</item>
- <tag><c><![CDATA[excl_archive_filters]]></c></tag>
+ <tag><c>excl_archive_filters</c></tag>
<item>
<p>This parameter normally contains a list of regular
expressions that controls which top level directories in an
@@ -291,7 +291,7 @@
parameter defaults to <c>["^include$","^priv$"]</c>.</p>
</item>
- <tag><c><![CDATA[archive_opts]]></c></tag>
+ <tag><c>archive_opts</c></tag>
<item>
<p>This parameter contains a list of options that are given to
<c>zip:create/3</c> when application specific files are
@@ -307,7 +307,7 @@
supported:</p>
<taglist>
- <tag><c><![CDATA[incl_cond]]></c></tag>
+ <tag><c>incl_cond</c></tag>
<item>
<p>The value of this parameter overrides the parameter with the
same name on system level.</p>
@@ -318,62 +318,62 @@
supported:</p>
<taglist>
- <tag><c><![CDATA[vsn]]></c></tag>
+ <tag><c>vsn</c></tag>
<item>
<p>The version of the application. In an installed system there may
exist several versions of an application. The <c>vsn</c> parameter
controls which version of the application that will be choosen. If it
is omitted, the latest version will be choosen.</p>
</item>
- <tag><c><![CDATA[mod]]></c></tag>
+ <tag><c>mod</c></tag>
<item>
<p>Module specific configuration. A module has a mandatory
name and module level options that are described below.</p>
</item>
- <tag><c><![CDATA[mod_cond]]></c></tag>
+ <tag><c>mod_cond</c></tag>
<item>
<p>The value of this parameter overrides the parameter with the
same name on system level.</p>
</item>
- <tag><c><![CDATA[incl_cond]]></c></tag>
+ <tag><c>incl_cond</c></tag>
<item>
<p>The value of this parameter overrides the parameter with the
same name on system level.</p>
</item>
- <tag><c><![CDATA[app_file]]></c></tag>
+ <tag><c>app_file</c></tag>
<item>
<p>The value of this parameter overrides the parameter with the
same name on system level.</p>
</item>
- <tag><c><![CDATA[debug_info]]></c></tag>
+ <tag><c>debug_info</c></tag>
<item>
<p>The value of this parameter overrides the parameter with the
same name on system level.</p>
</item>
- <tag><c><![CDATA[incl_app_filters]]></c></tag>
+ <tag><c>incl_app_filters</c></tag>
<item>
<p>The value of this parameter overrides the parameter with the
same name on system level.</p>
</item>
- <tag><c><![CDATA[excl_app_filters]]></c></tag>
+ <tag><c>excl_app_filters</c></tag>
<item>
<p>The value of this parameter overrides the parameter with the
same name on system level.</p>
</item>
- <tag><c><![CDATA[incl_archive_filters]]></c></tag>
+ <tag><c>incl_archive_filters</c></tag>
<item>
<p>The value of this parameter overrides the parameter with the
same name on system level.</p>
</item>
- <tag><c><![CDATA[excl_archive_filters]]></c></tag>
+ <tag><c>excl_archive_filters</c></tag>
<item>
<p>The value of this parameter overrides the parameter with the
same name on system level.</p>
</item>
- <tag><c><![CDATA[archive_opts]]></c></tag>
+ <tag><c>archive_opts</c></tag>
<item>
<p>The value of this parameter overrides the parameter with the
same name on system level.</p>
@@ -384,18 +384,18 @@
supported:</p>
<taglist>
- <tag><c><![CDATA[incl_cond]]></c></tag>
+ <tag><c>incl_cond</c></tag>
<item>
- <p>This parameter controls whether the module is included or not. By
- default the <c>mod_incl</c> parameter on application and system level
- will be used to control whether the module is included or not. The
- value of <c>incl_cond</c> overrides the module inclusion policy.
- <c>include</c> implies that the module is included, while
- <c>exclude</c> implies that the module not is included.
- <c>derived</c> implies that the is included if any included uses the
- module.</p>
+ <p>This parameter controls whether the module is included or not. By
+ default the <c>mod_incl</c> parameter on application and system level
+ will be used to control whether the module is included or not. The
+ value of <c>incl_cond</c> overrides the module inclusion policy.
+ <c>include</c> implies that the module is included, while
+ <c>exclude</c> implies that the module not is included.
+ <c>derived</c> implies that the is included if any included uses the
+ module.</p>
</item>
- <tag><c><![CDATA[debug_info]]></c></tag>
+ <tag><c>debug_info</c></tag>
<item>
<p>The value of this parameter overrides the parameter with
the same name on application level.</p>
@@ -477,7 +477,9 @@ mod_name() = atom()
profile() = development | embedded | standalone
re_regexp() = string()
reason() = string()
-regexps() = [re_regexp()] | {add, [re_regexp()]} | {del, [re_regexp()]}
+regexps() = [re_regexp()]
+ | {add, [re_regexp()]}
+ | {del, [re_regexp()]}
rel_file() = term()
rel_name() = string()
rel_vsn() = string()
@@ -487,7 +489,19 @@ script_file() = term()
server() = server_pid() | options()
server_pid() = pid()
target_dir() = file()
-window_pid() = pid()]]></code>
+window_pid() = pid()
+base_dir() = dir()
+base_file() = file()
+top_dir() = file()
+top_file() = file()
+target_spec() = [target_spec()]
+ | {create_dir, base_dir(), [target_spec()]}
+ | {create_dir, base_dir(), top_dir(), [target_spec()]}
+ | {archive, base_file(), [archive_opt()], [target_spec()]}
+ | {copy_file, base_file()}
+ | {copy_file, base_file(), top_file()}
+ | {write_file, base_file(), iolist()}
+ | {strip_beam_file, base_file()}]]></code>
<marker id="start"></marker>
</section>
@@ -497,9 +511,9 @@ window_pid() = pid()]]></code>
<name>create_target(Server, TargetDir) -> ok | {error, Reason}</name>
<fsummary>Create a target system</fsummary>
<type>
- <v>Server = server()</v>
+ <v>Server = server()</v>
<v>TargetDir = target_dir()</v>
- <v>Reason = reason()</v>
+ <v>Reason = reason()</v>
</type>
<desc><p>Create a target system. Gives the same result as
<c>{ok,TargetSpec}=reltool:get_target_spec(Server)</c> and
@@ -604,6 +618,17 @@ window_pid() = pid()]]></code>
</func>
<func>
+ <name>get_status(Server) -> {ok, [Warning]} | {error, Reason}</name>
+ <fsummary>Get contents of a release file</fsummary>
+ <type>
+ <v>Server = server()</v>
+ <v>Warning = string()</v>
+ <v>Reason = reason()</v>
+ </type>
+ <desc><p>Get status about the configuration</p></desc>
+ </func>
+
+ <func>
<name>get_server(WindowPid) -> {ok, ServerPid} | {error, Reason}</name>
<fsummary>Start server process with options</fsummary>
<type>
diff --git a/lib/reltool/doc/src/reltool_examples.xml b/lib/reltool/doc/src/reltool_examples.xml
index d6db246f6c..bce9413b52 100644
--- a/lib/reltool/doc/src/reltool_examples.xml
+++ b/lib/reltool/doc/src/reltool_examples.xml
@@ -249,11 +249,11 @@ Eshell V5.7.3 (abort with ^G)
<pre>
5&gt; {ok, Server} = reltool:start_server([{config, {sys, [{boot_rel, "NAME"},
{rel, "NAME", "VSN",
- [kernel, stdlib, sasl]}]}}]).
+ [sasl]}]}}]).
{ok,&lt;0.1288.0&gt;}
6&gt; reltool:get_config(Server).
{ok,{sys,[{boot_rel,"NAME"},
- {rel,"NAME","VSN",[kernel,stdlib,sasl]}]}}
+ {rel,"NAME","VSN",[sasl]}]}}
7&gt; reltool:get_rel(Server, "NAME").
{ok,{release,{"NAME","VSN"},
{erts,"5.7"},
diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile
index fa24efbb8c..4e6a112b7e 100644
--- a/lib/reltool/src/Makefile
+++ b/lib/reltool/src/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2009-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
include $(ERL_TOP)/make/target.mk
@@ -28,7 +28,6 @@ include ../vsn.mk
VSN = $(RELTOOL_VSN)
APP_VSN = "reltool-$(VSN)"
-
# ----------------------------------------------------
# Release directory specification
# ----------------------------------------------------
@@ -39,25 +38,20 @@ RELSYSDIR = $(RELEASE_PATH)/lib/reltool-$(VSN)
# Target Specs
# ----------------------------------------------------
-MODULES = \
- reltool \
- reltool_app_win \
- reltool_fgraph \
- reltool_fgraph_win \
- reltool_mod_win \
- reltool_sys_win \
- reltool_server \
- reltool_target \
- reltool_utils
-
-HRL_FILES =
-
-INTERNAL_HRL_FILES = reltool.hrl reltool_fgraph.hrl
+include files.mk
ERL_FILES = $(MODULES:%=%.erl)
TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
+APP_FILE = reltool.app
+APP_SRC = $(APP_FILE).src
+APP_TARGET = $(EBIN)/$(APP_FILE)
+
+APPUP_FILE = reltool.appup
+APPUP_SRC = $(APPUP_FILE).src
+APPUP_TARGET = $(EBIN)/$(APPUP_FILE)
+
# ----------------------------------------------------
# FLAGS
# ----------------------------------------------------
@@ -69,15 +63,28 @@ ERL_COMPILE_FLAGS += +'{parse_transform,sys_pre_attributes}' \
# Targets
# ----------------------------------------------------
-debug opt: $(TARGET_FILES) $(HRL_FILES)
+debug:
+ @${MAKE} TYPE=debug opt
+
+opt: $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET)
clean:
- rm -f $(TARGET_FILES)
+ rm -f $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET)
rm -f core
docs:
# ----------------------------------------------------
+# Special Build Targets
+# ----------------------------------------------------
+
+$(APP_TARGET): $(APP_SRC) ../vsn.mk
+ sed -e 's;%VSN%;$(VSN);' $< > $@
+
+$(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+ sed -e 's;%VSN%;$(VSN);' $< > $@
+
+# ----------------------------------------------------
# Dependencies
# ----------------------------------------------------
@@ -85,7 +92,7 @@ $(TARGET_FILES): $(HRL_FILES) $(INTERNAL_HRL_FILES)
# ----------------------------------------------------
# Release Target
-# ----------------------------------------------------
+# ----------------------------------------------------
include $(ERL_TOP)/make/otp_release_targets.mk
@@ -94,6 +101,7 @@ release_spec: opt
$(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) $(RELSYSDIR)/src
$(INSTALL_DIR) $(RELSYSDIR)/ebin
$(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin
+ $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) $(RELSYSDIR)/ebin
release_docs_spec:
diff --git a/lib/reltool/src/files.mk b/lib/reltool/src/files.mk
new file mode 100644
index 0000000000..99a1f1c14a
--- /dev/null
+++ b/lib/reltool/src/files.mk
@@ -0,0 +1,32 @@
+#-*-makefile-*- ; force emacs to enter makefile-mode
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2010. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+
+MODULES = \
+ reltool \
+ reltool_app_win \
+ reltool_fgraph \
+ reltool_fgraph_win \
+ reltool_mod_win \
+ reltool_sys_win \
+ reltool_server \
+ reltool_target \
+ reltool_utils
+
+HRL_FILES =
+
+INTERNAL_HRL_FILES = reltool.hrl reltool_fgraph.hrl
diff --git a/lib/reltool/src/reltool.app.src b/lib/reltool/src/reltool.app.src
index f83042c157..b80753e8fc 100644
--- a/lib/reltool/src/reltool.app.src
+++ b/lib/reltool/src/reltool.app.src
@@ -1,37 +1,38 @@
%% This is an -*- erlang -*- file.
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
-%% %CopyrightEnd%
%%
+%% %CopyrightEnd%
{application, reltool,
- [{description, "Release management tool"},
- {vsn, "%VSN%"},
- {modules, [
- reltool,
- reltool_app,
- reltool_fgraph,
- reltool_fgraph_win,
- reltool_gen,
- reltool_mod,
- reltool_sys,
- reltool_server,
- reltool_utils
- ]},
- {applications, [kernel, stdlib]}
- ]
-}.
+ [{description, "Reltool the release management tool"},
+ {vsn, "%VSN%"},
+ {modules,
+ [
+ reltool_app_win,
+ reltool,
+ reltool_fgraph,
+ reltool_fgraph_win,
+ reltool_mod_win,
+ reltool_server,
+ reltool_sys_win,
+ reltool_target,
+ reltool_utils
+ ]},
+ {registered, []},
+ {applications, [stdlib, kernel]},
+ {env, []}
+ ]}.
diff --git a/lib/asn1/test/asn1_bin_v2_SUITE_data/b_SeqIn.erl b/lib/reltool/src/reltool.appup.src
index a416322b8c..c02edd2afb 100644
--- a/lib/asn1/test/asn1_bin_v2_SUITE_data/b_SeqIn.erl
+++ b/lib/reltool/src/reltool.appup.src
@@ -1,29 +1,22 @@
+%% This is an -*- erlang -*- file.
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
-%% %CopyrightEnd%
-%%
%%
+%% %CopyrightEnd%
--module(b_SeqIn).
-
--export([record_name/0]).
-
--include("Seq.hrl").
-
-record_name()->
- Rec = #b_SeqIn{boolIn=true,intIn=12},
- element(1,Rec).
+{"%VSN%",
+ [ ]
+}.
diff --git a/lib/reltool/src/reltool.erl b/lib/reltool/src/reltool.erl
index e6548bfe68..9dd0a24f46 100644
--- a/lib/reltool/src/reltool.erl
+++ b/lib/reltool/src/reltool.erl
@@ -1,160 +1,56 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(reltool).
%% Public
-export([
- main/1, % Escript
start/0, start/1, start_link/1, debug/0, % GUI
- start_server/1, get_server/1, stop/1,
+ start_server/1, get_server/1, get_status/1, stop/1,
get_config/1, get_config/3, get_rel/2, get_script/2,
- create_target/2, get_target_spec/1, eval_target_spec/3,
+ create_target/2, get_target_spec/1, eval_target_spec/3,
install/2
]).
--type file() :: string().
--type dir() :: string().
--type mod_cond() :: all | app | ebin | derived | none.
--type incl_cond() :: include | exclude | derived.
--type debug_info() :: keep | strip.
--type app_file() :: keep | strip | all.
--type re_regexp() :: string().
--type regexps() :: [re_regexp()] | {add, [re_regexp()]} | {del, [re_regexp()]} .
--type incl_sys_filters() :: regexps().
--type excl_sys_filters() :: regexps().
--type incl_app_filters() :: regexps().
--type excl_app_filters() :: regexps().
--type incl_archive_filters() :: regexps().
--type excl_archive_filters() :: regexps().
--type archive_opt() :: term().
--type root_dir() :: dir().
--type lib_dir() :: dir().
--type profile() :: development | embedded | standalone.
--type relocatable() :: boolean().
--type escript_file() :: file().
--type mod_name() :: atom().
--type app_name() :: atom().
--type app_vsn() :: string().
--type app_type() :: permanent | transient | temporary | load | none.
--type incl_app() :: app_name().
--type rel_name() :: string().
--type rel_vsn() :: string().
--type boot_rel() :: rel_name().
--type rel_app() :: app_name()
- | {app_name(), app_type()}
- | {app_name(), [incl_app()]}
- | {app_name(), app_type(), [incl_app()]}.
--type mod() :: {incl_cond, incl_cond()}
- | {debug_info, debug_info()}.
--type app() :: {vsn, app_vsn()}
- | {mod, mod_name(), mod()}
- | {mod_cond, mod_cond()}
- | {incl_cond, incl_cond()}
- | {app_file, app_file()}
- | {debug_info, debug_info()}
- | {incl_app_filters, incl_app_filters()}
- | {excl_app_filters, excl_app_filters()}
- | {incl_archive_filters, incl_archive_filters()}
- | {excl_archive_filters, excl_archive_filters()}.
--type escript() :: {incl_cond, incl_cond()}.
--type sys() :: {mod_cond, mod_cond()}
- | {incl_cond, incl_cond()}
- | {debug_info, debug_info()}
- | {app_file, app_file()}
- | {profile, profile()}
- | {incl_sys_filters, incl_sys_filters()}
- | {excl_sys_filters, excl_sys_filters()}
- | {incl_app_filters, incl_app_filters()}
- | {excl_app_filters, excl_app_filters()}
- | {incl_archive_filters, incl_archive_filters()}
- | {excl_archive_filters, excl_archive_filters()}
- | {archive_opts, [archive_opt()]}
- | {root_dir, root_dir()}
- | {lib_dirs, [lib_dir()]}
- | {boot_rel, boot_rel()}
- | {rel, rel_name(), rel_vsn(), [rel_app()]}
- | {relocatable, relocatable()}
- | {erts, app()}
- | {escript, escript_file(), [escript()]}
- | {app, app_name(), [app()]}.
--type config() :: {sys, [sys()]}.
--type option() :: {wx_debug, term()} | {trap_exit, boolean()} | config() | {config, config() | file()}.
--type options() :: [option()].
--type server_pid() :: pid().
--type window_pid() :: pid().
--type server() :: server_pid() | options().
--type rel_file() :: term().
--type script_file() :: term().
--type reason() :: string().
--type escript_arg() :: string().
-%%-type base_dir() :: dir().
-%%-type base_file() :: file().
-%%-type top_dir() :: file().
-%%-type top_file() :: file().
-%%-type target_spec() :: [target_spec()]
-%% | {create_dir, base_dir(), [target_spec()]}
-%% | {create_dir, base_dir(), top_dir(), [target_spec()]}
-%% | {archive, base_file(), [archive_opt()], [target_spec()]}
-%% | {copy_file, base_file()}
-%% | {copy_file, base_file(), top_file()}
-%% | {write_file, base_file(), iolist()}
-%% | {strip_beam_file, base_file()}.
--type target_spec() :: term().
--type target_dir() :: dir().
--type incl_defaults() :: boolean().
--type incl_derived() :: boolean().
+-include("reltool.hrl").
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Main function for escript
--spec main([escript_arg()]) -> ok.
-main(_) ->
- process_flag(trap_exit, true),
- {ok, WinPid} = start_link([]),
- receive
- {'EXIT', WinPid, shutdown} ->
- ok;
- {'EXIT', WinPid, normal} ->
- ok;
- {'EXIT', WinPid, Reason} ->
- io:format("EXIT: ~p\n", [Reason]),
- erlang:halt(1)
- end.
-
%% Start main window process
--spec start() -> {ok, window_pid()}.
+-spec start() -> {ok, window_pid()} | {error, reason()}.
start() ->
start([]).
%% Start main window process
--spec start(options()) -> {ok, window_pid() | {error, reason()}}.
+-spec start(options()) -> {ok, window_pid()} | {error, reason()}.
start(Options)when is_list(Options) ->
- {ok, WinPid} = start_link(Options),
- unlink(WinPid),
- {ok, WinPid}.
+ case start_link(Options) of
+ {ok, WinPid} ->
+ unlink(WinPid),
+ {ok, WinPid};
+ Other->
+ Other
+ end.
%% Start main window process with wx debugging enabled
--spec debug() -> {ok, window_pid()}.
+-spec debug() -> {ok, window_pid()} | {error, reason()}.
debug() ->
- {ok, WinPid} = start_link([{wx_debug, 2}]),
- unlink(WinPid),
- {ok, WinPid}.
+ start([{wx_debug, 2}]).
%% Start main window process with options
-spec start_link(options()) -> {ok, window_pid() | {error, reason()}}.
@@ -164,7 +60,7 @@ start_link(Options) when is_list(Options) ->
{ok, WinPid};
{error, Reason} ->
{error, lists:flatten(io_lib:format("~p", [Reason]))}
- end.
+ end.
%% Start server process with options
-spec start_server(options()) -> {ok, server_pid()} | {error, reason()}.
@@ -200,51 +96,96 @@ stop(Pid) when is_pid(Pid) ->
end.
%% Internal library function
--spec eval_server(server(), fun((server_pid()) -> term())) -> {ok, server_pid()} | {error, reason()}.
-eval_server(Pid, Fun) when is_pid(Pid) ->
+-spec eval_server(server(), boolean(), fun((server_pid()) -> term())) ->
+ {ok, server_pid()} | {error, reason()}.
+eval_server(Pid, DisplayWarnings, Fun)
+ when is_pid(Pid) ->
Fun(Pid);
-eval_server(Options, Fun) when is_list(Options), is_function(Fun, 1) ->
- case start_server(Options) of
- {ok, Pid} ->
- Res = Fun(Pid),
- stop(Pid),
- Res;
- {error, Reason} ->
- {error, Reason}
+eval_server(Options, DisplayWarnings, Fun)
+ when is_list(Options) ->
+ TrapExit = process_flag(trap_exit, true),
+ Res = case start_server(Options) of
+ {ok, Pid} ->
+ apply_fun(Pid, DisplayWarnings, Fun);
+ {error, Reason} ->
+ {error, Reason}
+ end,
+ process_flag(trap_exit, TrapExit),
+ Res.
+
+apply_fun(Pid, false, Fun) ->
+ Res = Fun(Pid),
+ stop(Pid),
+ Res;
+apply_fun(Pid, true, Fun) ->
+ case get_status(Pid) of
+ {ok, Warnings} ->
+ [io:format("~p: ~s\n", [?APPLICATION, W]) || W <- Warnings],
+ apply_fun(Pid, false, Fun);
+ {error, Reason} ->
+ stop(Pid),
+ {error, Reason}
end.
-
+
+%% Get status about the configuration
+-type warning() :: string().
+-spec get_status(server()) ->
+ {ok, [warning()]} | {error, reason()}.
+get_status(PidOrOptions)
+ when is_pid(PidOrOptions); is_list(PidOrOptions) ->
+ eval_server(PidOrOptions, false,
+ fun(Pid) ->
+ reltool_server:get_status(Pid)
+ end).
+
%% Get reltool configuration
-spec get_config(server()) -> {ok, config()} | {error, reason()}.
get_config(PidOrOption) ->
get_config(PidOrOption, false, false).
--spec get_config(server(), incl_defaults(), incl_derived()) -> {ok, config()} | {error, reason()}.
-get_config(PidOrOptions, InclDefaults, InclDerived) when is_pid(PidOrOptions); is_list(PidOrOptions) ->
- eval_server(PidOrOptions, fun(Pid) -> reltool_server:get_config(Pid, InclDefaults, InclDerived) end).
+-spec get_config(server(), incl_defaults(), incl_derived()) ->
+ {ok, config()} | {error, reason()}.
+get_config(PidOrOptions, InclDef, InclDeriv)
+ when is_pid(PidOrOptions); is_list(PidOrOptions) ->
+ eval_server(PidOrOptions, true,
+ fun(Pid) ->
+ reltool_server:get_config(Pid, InclDef, InclDeriv)
+ end).
%% Get contents of release file
-spec get_rel(server(), rel_name()) -> {ok, rel_file()} | {error, reason()}.
-get_rel(PidOrOptions, RelName) when is_pid(PidOrOptions); is_list(PidOrOptions) ->
- eval_server(PidOrOptions, fun(Pid) -> reltool_server:get_rel(Pid, RelName) end).
+get_rel(PidOrOptions, RelName)
+ when is_pid(PidOrOptions); is_list(PidOrOptions) ->
+ eval_server(PidOrOptions, true,
+ fun(Pid) -> reltool_server:get_rel(Pid, RelName) end).
%% Get contents of boot script file
--spec get_script(server(), rel_name()) -> {ok, script_file()} | {error, reason()}.
-get_script(PidOrOptions, RelName) when is_pid(PidOrOptions); is_list(PidOrOptions) ->
- eval_server(PidOrOptions, fun(Pid) -> reltool_server:get_script(Pid, RelName) end).
+-spec get_script(server(), rel_name()) ->
+ {ok, script_file()} | {error, reason()}.
+get_script(PidOrOptions, RelName)
+ when is_pid(PidOrOptions); is_list(PidOrOptions) ->
+ eval_server(PidOrOptions, true,
+ fun(Pid) -> reltool_server:get_script(Pid, RelName) end).
%% Generate a target system
-spec create_target(server(), target_dir()) -> ok | {error, reason()}.
-create_target(PidOrOptions, TargetDir) when is_pid(PidOrOptions); is_list(PidOrOptions) ->
- eval_server(PidOrOptions, fun(Pid) -> reltool_server:gen_target(Pid, TargetDir) end).
+create_target(PidOrOptions, TargetDir)
+ when is_pid(PidOrOptions); is_list(PidOrOptions) ->
+ eval_server(PidOrOptions, true,
+ fun(Pid) -> reltool_server:gen_target(Pid, TargetDir) end).
%% Generate a target system
-spec get_target_spec(server()) -> {ok, target_spec()} | {error, reason()}.
-get_target_spec(PidOrOptions) when is_pid(PidOrOptions); is_list(PidOrOptions) ->
- eval_server(PidOrOptions, fun(Pid) -> reltool_server:gen_spec(Pid) end).
+get_target_spec(PidOrOptions)
+ when is_pid(PidOrOptions); is_list(PidOrOptions) ->
+ eval_server(PidOrOptions, true,
+ fun(Pid) -> reltool_server:gen_spec(Pid) end).
%% Generate a target system
--spec eval_target_spec(target_spec(), root_dir(), target_dir()) -> ok | {error, reason()}.
-eval_target_spec(Spec, SourceDir, TargetDir) when is_list(SourceDir), is_list(TargetDir) ->
+-spec eval_target_spec(target_spec(), root_dir(), target_dir()) ->
+ ok | {error, reason()}.
+eval_target_spec(Spec, SourceDir, TargetDir)
+ when is_list(SourceDir), is_list(TargetDir) ->
reltool_target:eval_spec(Spec, SourceDir, TargetDir).
%% Install a target system
diff --git a/lib/reltool/src/reltool.hrl b/lib/reltool/src/reltool.hrl
index 736daab0f0..1a34ced89d 100644
--- a/lib/reltool/src/reltool.hrl
+++ b/lib/reltool/src/reltool.hrl
@@ -1,152 +1,255 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
--define(APPLICATION, reltool).
--define(MISSING_APP, '*MISSING*').
+-define(APPLICATION, reltool).
+-define(MISSING_APP_NAME, '*MISSING*').
-define(MISSING_APP_TEXT, "*MISSING*").
+-type file() :: string().
+-type dir() :: string().
+%% app - Include all modules in app file
+%% ebin - Include all modules on ebin directory
+%% derived - Include only those modules that others are dependent on
+-type mod_cond() :: all | app | ebin | derived | none.
+-type incl_cond() :: include | exclude | derived.
+-type debug_info() :: keep | strip.
+-type app_file() :: keep | strip | all.
+-type re_regexp() :: string(). % re:regexp()
+-type regexps() :: [re_regexp()] |
+ {add, [re_regexp()]} |
+ {del, [re_regexp()]} .
+-type incl_sys_filters() :: regexps().
+-type excl_sys_filters() :: regexps().
+-type incl_app_filters() :: regexps().
+-type excl_app_filters() :: regexps().
+-type incl_archive_filters() :: regexps().
+-type excl_archive_filters() :: regexps().
+-type archive_opt() :: term(). % zip:create()
+-type root_dir() :: dir().
+-type lib_dir() :: dir().
+-type profile() :: development | embedded | standalone.
+-type relocatable() :: boolean().
+-type escript_file() :: file().
+-type mod_name() :: atom().
+-type app_name() :: atom().
+-type app_vsn() :: string(). % e.g. "4.7"
+-type app_label() :: string().% e.g. "mnesia" or "mnesia-4.7"
+-type app_type() :: permanent | transient | temporary | load | none.
+-type incl_app() :: app_name().
+-type emu_name() :: string().
+-type rel_name() :: string().
+-type rel_vsn() :: string().
+-type boot_rel() :: rel_name().
+-type rel_app() :: app_name()
+ | {app_name(), app_type()}
+ | {app_name(), [incl_app()]}
+ | {app_name(), app_type(), [incl_app()]}.
+-type mod() :: {incl_cond, incl_cond()}
+ | {debug_info, debug_info()}.
+-type app() :: {vsn, app_vsn()}
+ | {mod, mod_name(), mod()}
+ | {mod_cond, mod_cond()}
+ | {incl_cond, incl_cond()}
+ | {app_file, app_file()}
+ | {debug_info, debug_info()}
+ | {incl_app_filters, incl_app_filters()}
+ | {excl_app_filters, excl_app_filters()}
+ | {incl_archive_filters, incl_archive_filters()}
+ | {excl_archive_filters, excl_archive_filters()}.
+-type escript() :: {incl_cond, incl_cond()}.
+-type sys() :: {mod_cond, mod_cond()}
+ | {incl_cond, incl_cond()}
+ | {debug_info, debug_info()}
+ | {app_file, app_file()}
+ | {profile, profile()}
+ | {incl_sys_filters, incl_sys_filters()}
+ | {excl_sys_filters, excl_sys_filters()}
+ | {incl_app_filters, incl_app_filters()}
+ | {excl_app_filters, excl_app_filters()}
+ | {incl_archive_filters, incl_archive_filters()}
+ | {excl_archive_filters, excl_archive_filters()}
+ | {archive_opts, [archive_opt()]}
+ | {root_dir, root_dir()}
+ | {lib_dirs, [lib_dir()]}
+ | {boot_rel, boot_rel()}
+ | {rel, rel_name(), rel_vsn(), [rel_app()]}
+ | {relocatable, relocatable()}
+ | {erts, app()}
+ | {escript, escript_file(), [escript()]}
+ | {app, app_name(), [app()]}.
+-type config() :: {sys, [sys()]}.
+-type option() :: {wx_debug, term()} |
+ {trap_exit, boolean()} |
+ config() |
+ {config, config() | file()}.
+-type options() :: [option()].
+-type server_pid() :: pid().
+-type window_pid() :: pid().
+-type server() :: server_pid() | options().
+-type rel_file() :: term().
+-type script_file() :: term().
+-type reason() :: string().
+
+-type base_dir() :: dir().
+-type base_file() :: file().
+-type top_dir() :: file().
+-type top_file() :: file().
+-type target_spec() :: [target_spec()]
+ | {create_dir, base_dir(), [target_spec()]}
+ | {create_dir, base_dir(), top_dir(), [target_spec()]}
+ | {archive, base_file(), [archive_opt()], [target_spec()]}
+ | {copy_file, base_file()}
+ | {copy_file, base_file(), top_file()}
+ | {write_file, base_file(), iolist()}
+ | {strip_beam_file, base_file()}.
+-type target_dir() :: dir().
+-type incl_defaults() :: boolean().
+-type incl_derived() :: boolean().
+-type ets_tab() :: term().
+-type status() :: missing | ok.
+
-record(common,
{
- sys_debug, % term()
- wx_debug, % term()
- trap_exit, % bool()
- app_tab, % ets_tab()
- mod_tab, % ets_tab()
- mod_used_by_tab % ets_tab()
+ sys_debug :: term(),
+ wx_debug :: term(),
+ trap_exit :: boolean(),
+ app_tab :: ets_tab(),
+ mod_tab :: ets_tab(),
+ mod_used_by_tab :: ets_tab()
}).
--record(sys,
- {
- %% Sources
- root_dir, % directory()
- lib_dirs, % [directory()]
- escripts, % [file()]
- mod_cond, % all | app | ebin | derived | none
- incl_cond, % include | exclude | derived
- apps, % [#app{}]
- %% Target cond
- boot_rel, % string()
- rels, % [#rel{}]
- emu_name, % string()
- profile, % standalone | development | embedded
- incl_sys_filters, % [regexp()]
- excl_sys_filters, % [regexp()]
- incl_app_filters, % [regexp()]
- excl_app_filters, % [regexp()]
- incl_archive_filters, % [regexp()]
- excl_archive_filters, % [regexp()]
- archive_opts, % [zip:create()]
- relocatable, % bool()
- app_type, % permanent | transient | temporary | load | none
- app_file, % keep | strip | all
- debug_info % keep | strip
- }).
+-record(mod,
+ {%% Static
+ name :: mod_name(),
+ app_name :: app_name(),
+ incl_cond :: incl_cond() | undefined,
+ debug_info :: debug_info() | undefined,
+ is_app_mod :: boolean(),
+ is_ebin_mod :: boolean(),
+ uses_mods :: [mod_name()],
+ exists :: boolean(),
--record(rel,
- {
- name, % string()
- vsn, % string()
- rel_apps % [#rel_app{}]
+ %% Dynamic
+ status :: status(),
+ used_by_mods :: [mod_name()],
+ is_pre_included :: boolean() | undefined,
+ is_included :: boolean() | undefined
}).
--record(rel_app,
+-record(app_info,
{
- name, % atom()
- app_type, % permanent | transient | temporary | load | none
- incl_apps % [atom()]
+ description = "" :: string(),
+ id = "" :: string(),
+ vsn = "" :: app_vsn(),
+ modules = [] :: [mod_name()],
+ maxP = infinity :: integer() | infinity,
+ maxT = infinity :: integer() | infinity,
+ registered = [] :: [atom()],
+ incl_apps = [] :: [app_name()],
+ applications = [] :: [app_name()],
+ env = [] :: [{atom(), term()}],
+ mod = undefined :: {mod_name(), [term()]} | undefined,
+ start_phases = undefined :: [{atom(), term()}] | undefined
}).
-record(app,
{%% Static info
- name, % atom()
- is_escript, % bool()
- use_selected_vsn,% bool() | undefined
- active_dir, % dir_name()
- sorted_dirs, % [dir_name()]
- vsn, % string() e.g. "4.7"
- label, % string() e.g. "mnesia" or "mnesia-4.7"
- info, % #app_info{} | undefined
- mods, % [#mod{}]
+ name :: app_name(),
+ is_escript :: boolean(),
+ use_selected_vsn :: boolean() | undefined,
+ active_dir :: dir(),
+ sorted_dirs :: [dir()],
+ vsn :: app_vsn(),
+ label :: app_label(),
+ info :: #app_info{} | undefined,
+ mods :: [#mod{}],
%% Static source cond
- mod_cond, % all | app | ebin | derived | none | undefined
- incl_cond, % include | exclude | derived | undefined
+ mod_cond :: mod_cond() | undefined,
+ incl_cond :: incl_cond() | undefined,
%% Static target cond
- debug_info, % keep | strip | undefined
- app_file, % keep | strip | all | undefined
- app_type, % permanent | transient | temporary | load | none
- incl_app_filters, % [regexp()]
- excl_app_filters, % [regexp()]
- incl_archive_filters, % [regexp()]
- excl_archive_filters, % [regexp()]
- archive_opts, % [zip_create_opt()]
+ debug_info :: debug_info() | undefined,
+ app_file :: app_file() | undefined,
+ app_type :: app_type() | undefined,
+ incl_app_filters :: incl_app_filters(),
+ excl_app_filters :: excl_app_filters(),
+ incl_archive_filters :: incl_archive_filters(),
+ excl_archive_filters :: excl_archive_filters(),
+ archive_opts :: [archive_opt()],
%% Dynamic
- status, % missing | ok
- uses_mods, % [atom()]
- used_by_mods, % [atom()]
- uses_apps, % [atom()]
- used_by_apps, % [atom()]
- is_pre_included, % bool()
- is_included % bool()
- }).
-
--record(mod,
- {%% Static
- name, % atom()
- app_name, % atom()
- incl_cond, % include | exclude | derived | undefined
- debug_info, % keep | strip | undefined
- is_app_mod, % bool(),
- is_ebin_mod, % bool(),
- uses_mods, % [module()]
- exists, % bool()
- %% Dynamic
- status, % missing | ok
- used_by_mods, % [atom()]
- is_pre_included, % bool() | undefined
- is_included % bool() | undefined
+ status :: status(),
+ uses_mods :: [mod_name()],
+ used_by_mods :: [mod_name()],
+ uses_apps :: [app_name()],
+ used_by_apps :: [app_name()],
+ is_pre_included :: boolean(),
+ is_included :: boolean(),
+ rels :: [rel_name()]
}).
-%% app - Include all modules in app file
-%% ebin - Include all modules on ebin directory
-%% derived - Include only those modules that others are dependent on
+-record(rel_app,
+ {
+ name :: app_name(),
+ app_type :: app_type(),
+ incl_apps :: [incl_app()]
+ }).
--record(app_info,
+-record(rel,
{
- description = "",
- id = "",
- vsn = "",
- modules = [],
- maxP = infinity,
- maxT = infinity,
- registered = [],
- incl_apps = [],
- applications = [],
- env = [],
- mod = undefined,
- start_phases = undefined
+ name :: rel_name(),
+ vsn :: rel_vsn(),
+ rel_apps :: [#rel_app{}]
+ }).
+
+-record(sys,
+ {
+ %% Sources
+ root_dir :: dir(),
+ lib_dirs :: [dir()],
+ escripts :: [file()],
+ mod_cond :: mod_cond(),
+ incl_cond :: incl_cond(),
+ apps :: [#app{}],
+
+ %% Target cond
+ boot_rel :: boot_rel(),
+ rels :: [#rel{}],
+ emu_name :: emu_name(),
+ profile :: profile(),
+ incl_sys_filters :: incl_sys_filters(),
+ excl_sys_filters :: excl_sys_filters(),
+ incl_app_filters :: incl_app_filters(),
+ excl_app_filters :: excl_app_filters(),
+ incl_archive_filters :: incl_archive_filters(),
+ excl_archive_filters :: excl_archive_filters(),
+ archive_opts :: [archive_opt()],
+ relocatable :: boolean(),
+ rel_app_type :: app_type(),
+ embedded_app_type :: app_type() | undefined,
+ app_file :: app_file(),
+ debug_info :: debug_info()
}).
-record(regexp, {source, compiled}).
-
+
-define(ERR_IMAGE, 0).
-define(WARN_IMAGE, 1).
-define(QUEST_IMAGE, 2).
@@ -165,12 +268,13 @@
-define(DEFAULT_EMU_NAME, "beam").
-define(DEFAULT_PROFILE, development).
-define(DEFAULT_RELOCATABLE, true).
--define(DEFAULT_APP_TYPE, permanent).
+-define(DEFAULT_REL_APP_TYPE, permanent).
+-define(DEFAULT_EMBEDDED_APP_TYPE, undefined).
-define(DEFAULT_APP_FILE, keep).
-define(DEFAULT_DEBUG_INFO, keep).
-define(DEFAULT_INCL_ARCHIVE_FILTERS, [".*"]).
--define(DEFAULT_EXCL_ARCHIVE_FILTERS, ["^include$", "^priv$"]).
+-define(DEFAULT_EXCL_ARCHIVE_FILTERS, ["^include\$", "^priv\$"]).
-define(DEFAULT_ARCHIVE_OPTS, []).
-define(DEFAULT_INCL_SYS_FILTERS, [".*"]).
@@ -178,25 +282,28 @@
-define(DEFAULT_INCL_APP_FILTERS, [".*"]).
-define(DEFAULT_EXCL_APP_FILTERS, []).
--define(EMBEDDED_INCL_SYS_FILTERS, ["^bin",
- "^erts",
- "^lib",
- "^releases"]).
--define(EMBEDDED_EXCL_SYS_FILTERS, ["^bin/(erlc|dialyzer|typer)(|\\.exe)$",
- "^erts.*/bin/(erlc|dialyzer|typer)(|\\.exe)$",
- "^erts.*/bin/.*(debug|pdb)"]).
+-define(EMBEDDED_INCL_SYS_FILTERS, ["^bin",
+ "^erts",
+ "^lib",
+ "^releases"]).
+-define(EMBEDDED_EXCL_SYS_FILTERS,
+ ["^bin/(erlc|dialyzer|typer)(|\\.exe)\$",
+ "^erts.*/bin/(erlc|dialyzer|typer)(|\\.exe)\$",
+ "^erts.*/bin/.*(debug|pdb)"]).
-define(EMBEDDED_INCL_APP_FILTERS, ["^ebin",
- "^priv",
- "^include"]).
+ "^include",
+ "^priv"]).
-define(EMBEDDED_EXCL_APP_FILTERS, []).
+-define(EMBEDDED_APP_TYPE, load).
--define(STANDALONE_INCL_SYS_FILTERS, ["^bin/(erl|epmd)(|\\.exe|\\.ini)$",
- "^bin/start(|_clean).boot$",
- "^erts.*/bin",
- "^lib$"]).
--define(STANDALONE_EXCL_SYS_FILTERS, ["^erts.*/bin/(erlc|dialyzer|typer)(|\\.exe)$",
- "^erts.*/bin/(start|escript|to_erl|run_erl)(|\\.exe)$",
- "^erts.*/bin/.*(debug|pdb)"]).
--define(STANDALONE_INCL_APP_FILTERS, ["^ebin",
+-define(STANDALONE_INCL_SYS_FILTERS, ["^bin/(erl|epmd)(|\\.exe|\\.ini)\$",
+ "^bin/start(|_clean).boot\$",
+ "^erts.*/bin",
+ "^lib\$"]).
+-define(STANDALONE_EXCL_SYS_FILTERS,
+ ["^erts.*/bin/(erlc|dialyzer|typer)(|\\.exe)\$",
+ "^erts.*/bin/(start|escript|to_erl|run_erl)(|\\.exe)\$",
+ "^erts.*/bin/.*(debug|pdb)"]).
+-define(STANDALONE_INCL_APP_FILTERS, ["^ebin",
"^priv"]).
--define(STANDALONE_EXCL_APP_FILTERS, ["^ebin/.*\\.appup$"]).
+-define(STANDALONE_EXCL_APP_FILTERS, ["^ebin/.*\\.appup\$"]).
diff --git a/lib/reltool/src/reltool_app_win.erl b/lib/reltool/src/reltool_app_win.erl
index 6083493c02..70bd72b258 100644
--- a/lib/reltool/src/reltool_app_win.erl
+++ b/lib/reltool/src/reltool_app_win.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(reltool_app_win).
@@ -34,7 +34,7 @@
-include_lib("wx/include/wx.hrl").
-include("reltool.hrl").
--record(state,
+-record(state,
{parent_pid,
xref_pid,
mod_wins,
@@ -63,7 +63,7 @@
%% -define(APPS_APP_COL_WIDTH, 250).
-define(CLOSE_ITEM, ?wxID_EXIT). %% Use OS specific version if available
--define(ABOUT_ITEM, ?wxID_ABOUT). %% Use OS specific
+-define(ABOUT_ITEM, ?wxID_ABOUT). %% Use OS specific
-define(CONTENTS_ITEM, 300).
-define(MODS_MOD_COL, 0).
@@ -79,7 +79,11 @@
%% Client
start_link(WxEnv, Xref, Common, AppName) ->
- proc_lib:start_link(?MODULE, init, [self(), WxEnv, Xref, Common, AppName], infinity, []).
+ proc_lib:start_link(?MODULE,
+ init,
+ [self(), WxEnv, Xref, Common, AppName],
+ infinity,
+ []).
raise(Pid) ->
reltool_utils:cast(Pid, raise).
@@ -121,7 +125,12 @@ loop(#state{xref_pid = Xref, common = C, app = App} = S) ->
receive
{system, From, Msg} ->
Dbg = C#common.sys_debug,
- sys:handle_system_msg(Msg, From, S#state.parent_pid, ?MODULE, Dbg, S);
+ sys:handle_system_msg(Msg,
+ From,
+ S#state.parent_pid,
+ ?MODULE,
+ Dbg,
+ S);
{cast, _From, raise} ->
wxFrame:raise(S#state.frame),
wxFrame:setFocus(S#state.frame),
@@ -131,7 +140,8 @@ loop(#state{xref_pid = Xref, common = C, app = App} = S) ->
{ok, App2} ->
{ok, Sys} = reltool_server:get_sys(Xref),
S2 = redraw_window(S#state{sys = Sys, app = App2}),
- [ok = reltool_mod_win:refresh(MW#mod_win.pid) || MW <- S2#state.mod_wins],
+ [ok = reltool_mod_win:refresh(MW#mod_win.pid) ||
+ MW <- S2#state.mod_wins],
?MODULE:loop(S2);
{error, _Reason} ->
wxFrame:destroy(S#state.frame),
@@ -139,7 +149,8 @@ loop(#state{xref_pid = Xref, common = C, app = App} = S) ->
end;
{call, ReplyTo, Ref, {open_mod, ModName}} ->
S2 = create_mod_window(S, ModName),
- {value, #mod_win{pid = ModPid}} = lists:keysearch(ModName, #mod_win.name, S2#state.mod_wins),
+ {value, #mod_win{pid = ModPid}} =
+ lists:keysearch(ModName, #mod_win.name, S2#state.mod_wins),
reltool_utils:reply(ReplyTo, Ref, {ok, ModPid}),
?MODULE:loop(S2);
#wx{event = #wxSize{}} = Wx ->
@@ -157,7 +168,9 @@ loop(#state{xref_pid = Xref, common = C, app = App} = S) ->
exit(Reason);
{'EXIT', Pid, _Reason} = Exit ->
exit_warning(Exit),
- S2 = S#state{mod_wins = lists:keydelete(Pid, #mod_win.pid, S#state.mod_wins)},
+ S2 = S#state{mod_wins = lists:keydelete(Pid,
+ #mod_win.pid,
+ S#state.mod_wins)},
?MODULE:loop(S2);
Msg ->
error_logger:format("~p~p got unexpected message:\n\t~p\n",
@@ -179,7 +192,7 @@ create_window(#state{app = App} = S) ->
StatusBar = wxFrame:createStatusBar(Frame,[]),
Book = wxNotebook:new(Panel, ?wxID_ANY, []),
-
+
S2 = S#state{frame = Frame,
panel = Panel,
book = Book,
@@ -210,12 +223,16 @@ create_apps_page(S, Derived) ->
Lower = wxBoxSizer:new(?wxHORIZONTAL),
UsedByCtrl = create_apps_list_ctrl(Panel, Upper, "Used by"),
- wxSizer:add(Upper, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]), [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
-
+ wxSizer:add(Upper,
+ wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]),
+ [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
+
RequiredCtrl = create_apps_list_ctrl(Panel, Upper, "Required"),
- wxSizer:add(Upper, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]), [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
+ wxSizer:add(Upper, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]),
+ [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
InclCtrl = create_apps_list_ctrl(Panel, Upper, "Included"),
- wxSizer:add(Upper, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]), [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
+ wxSizer:add(Upper, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]),
+ [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
UsesCtrl = create_apps_list_ctrl(Panel, Upper, "Uses"),
S2 = S#state{app_required_ctrl = RequiredCtrl,
app_used_by_ctrl = UsedByCtrl,
@@ -262,8 +279,10 @@ create_apps_list_ctrl(Panel, Sizer, Text) ->
[{border, 2},
{flag, ?wxALL bor ?wxEXPAND},
{proportion, 1}]),
- wxEvtHandler:connect(ListCtrl, size, [{skip, true}, {userData, apps_list_ctrl}]),
- wxListCtrl:connect(ListCtrl, command_list_item_activated, [{userData, open_app}]),
+ wxEvtHandler:connect(ListCtrl, size,
+ [{skip, true}, {userData, apps_list_ctrl}]),
+ wxListCtrl:connect(ListCtrl, command_list_item_activated,
+ [{userData, open_app}]),
wxWindow:connect(ListCtrl, enter_window),
ListCtrl.
@@ -271,9 +290,20 @@ create_deps_page(S, Derived) ->
Panel = wxPanel:new(S#state.book, []),
Main = wxBoxSizer:new(?wxHORIZONTAL),
- UsedByCtrl = create_mods_list_ctrl(Panel, Main, "Modules used by others", " and their applications", undefined, undefined),
- wxSizer:add(Main, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]), [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
- UsesCtrl = create_mods_list_ctrl(Panel, Main, "Used modules", " and their applications", undefined, undefined),
+ UsedByCtrl = create_mods_list_ctrl(Panel,
+ Main,
+ "Modules used by others",
+ " and their applications",
+ undefined,
+ undefined),
+ wxSizer:add(Main, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]),
+ [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
+ UsesCtrl = create_mods_list_ctrl(Panel,
+ Main,
+ "Used modules",
+ " and their applications",
+ undefined,
+ undefined),
S2 = S#state{deps_used_by_ctrl = UsedByCtrl,
deps_uses_ctrl = UsesCtrl},
redraw_mods(S2, Derived),
@@ -285,13 +315,36 @@ create_mods_page(S, Derived) ->
Panel = wxPanel:new(S#state.book, []),
MainSz = wxBoxSizer:new(?wxHORIZONTAL),
- SourceCtrl = create_mods_list_ctrl(Panel, MainSz, ?source, "", whitelist_add, blacklist_add),
- wxSizer:add(MainSz, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]), [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
- WhiteCtrl = create_mods_list_ctrl(Panel, MainSz, ?whitelist, "", whitelist_del, blacklist_add),
- wxSizer:add(MainSz, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]), [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
- BlackCtrl = create_mods_list_ctrl(Panel, MainSz, ?blacklist, "", whitelist_add, blacklist_del),
- wxSizer:add(MainSz, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]), [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
- DerivedCtrl = create_mods_list_ctrl(Panel, MainSz, ?derived, "", whitelist_add, blacklist_add),
+ SourceCtrl = create_mods_list_ctrl(Panel,
+ MainSz,
+ ?source,
+ "",
+ whitelist_add,
+ blacklist_add),
+ wxSizer:add(MainSz, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]),
+ [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
+ WhiteCtrl = create_mods_list_ctrl(Panel,
+ MainSz,
+ ?whitelist,
+ "",
+ whitelist_del,
+ blacklist_add),
+ wxSizer:add(MainSz, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]),
+ [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
+ BlackCtrl = create_mods_list_ctrl(Panel,
+ MainSz,
+ ?blacklist,
+ "",
+ whitelist_add,
+ blacklist_del),
+ wxSizer:add(MainSz, wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]),
+ [{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
+ DerivedCtrl = create_mods_list_ctrl(Panel,
+ MainSz,
+ ?derived,
+ "",
+ whitelist_add,
+ blacklist_add),
S2 = S#state{mods_source_ctrl = SourceCtrl,
mods_white_ctrl = WhiteCtrl,
mods_black_ctrl = BlackCtrl,
@@ -309,7 +362,8 @@ create_mods_list_ctrl(Panel, OuterSz, Title, AppText, Tick, Cross) ->
%% ?wxLC_SINGLE_SEL bor
?wxHSCROLL bor
?wxVSCROLL}]),
- ToolTip = "Select module(s) or open separate module window with a double click.",
+ ToolTip = "Select module(s) or open separate module "
+ "window with a double click.",
wxListCtrl:setToolTip(ListCtrl, ToolTip),
%% Prep images
@@ -326,7 +380,8 @@ create_mods_list_ctrl(Panel, OuterSz, Title, AppText, Tick, Cross) ->
true ->
wxListItem:setText(ListItem, AppText),
wxListCtrl:insertColumn(ListCtrl, ?MODS_APP_COL, ListItem),
- %% wxListCtrl:setColumnWidth(ListCtrl, ?MODS_APP_COL, ?MODS_APP_COL_WIDTH),
+ %% wxListCtrl:setColumnWidth(ListCtrl, ?MODS_APP_COL,
+ %% ?MODS_APP_COL_WIDTH),
2;
false ->
1
@@ -336,9 +391,11 @@ create_mods_list_ctrl(Panel, OuterSz, Title, AppText, Tick, Cross) ->
ButtonSz = wxBoxSizer:new(?wxHORIZONTAL),
create_button(Panel, ButtonSz, ListCtrl, Title, "wxART_TICK_MARK", Tick),
create_button(Panel, ButtonSz, ListCtrl, Title, "wxART_CROSS_MARK", Cross),
- wxEvtHandler:connect(ListCtrl, size, [{skip, true}, {userData, mods_list_ctrl}]),
- wxListCtrl:connect(ListCtrl, command_list_item_activated, [{userData, open_mod}]),
- wxWindow:connect(ListCtrl, enter_window),
+ wxEvtHandler:connect(ListCtrl, size,
+ [{skip, true}, {userData, mods_list_ctrl}]),
+ wxListCtrl:connect(ListCtrl, command_list_item_activated,
+ [{userData, open_mod}]),
+ wxWindow:connect(ListCtrl, enter_window),
InnerSz = wxBoxSizer:new(?wxVERTICAL),
wxSizer:add(InnerSz, ListCtrl,
[{border, 2},
@@ -377,7 +434,7 @@ action_to_tool_tip(Label, Action) ->
"Remove selected module(s)from whitelist.";
blacklist_add when Label =:= ?blacklist ->
"Remove selected module(s) from blacklist.";
- blacklist_add ->
+ blacklist_add ->
"Add selected module(s) to blacklist.";
blacklist_del ->
"Remove selected module(s) from blacklist."
@@ -444,8 +501,8 @@ create_config_page(#state{app = App} = S) ->
wxNotebook:addPage(S2#state.book, Panel, "Application settings", []),
S2.
-create_double_box(Panel, Sizer, TopLabel,
- OuterText, OuterData,
+create_double_box(Panel, Sizer, TopLabel,
+ OuterText, OuterData,
InnerText, InnerData,
InternalLabel, InternalChoices, InternalChoiceData) ->
TopSizer = wxStaticBoxSizer:new(?wxVERTICAL, Panel,
@@ -457,10 +514,10 @@ create_double_box(Panel, Sizer, TopLabel,
[{userData, OuterData}]),
InnerRadio = wxRadioButton:new(Panel, ?wxID_ANY, InnerText),
wxEvtHandler:connect(InnerRadio, command_radiobutton_selected,
- [{userData, InnerData}]),
- InnerBox = wxRadioBox:new(Panel,
+ [{userData, InnerData}]),
+ InnerBox = wxRadioBox:new(Panel,
?wxID_ANY,
- InternalLabel,
+ InternalLabel,
?wxDefaultPosition,
?wxDefaultSize,
InternalChoices,
@@ -487,29 +544,38 @@ handle_event(#state{sys = Sys, app = App} = S, Wx) ->
#wx{obj = ObjRef, event = #wxMouse{type = enter_window}} ->
wxWindow:setFocus(ObjRef),
S;
- #wx{obj= ListCtrl, userData = mods_list_ctrl, event = #wxSize{type = size, size = {W, _H}}} ->
+ #wx{obj= ListCtrl,
+ userData = mods_list_ctrl,
+ event = #wxSize{type = size, size = {W, _H}}} ->
HasApps = (wxListCtrl:getColumnCount(ListCtrl) > 1),
case HasApps of
false ->
wxListCtrl:setColumnWidth(ListCtrl, ?MODS_MOD_COL, W);
true ->
- wxListCtrl:setColumnWidth(ListCtrl, ?MODS_MOD_COL, (2 * W) div 3),
+ wxListCtrl:setColumnWidth(ListCtrl,
+ ?MODS_MOD_COL,
+ (2 * W) div 3),
wxListCtrl:setColumnWidth(ListCtrl, ?MODS_APP_COL, W div 3)
end,
S;
- #wx{obj= ListCtrl, userData = apps_list_ctrl, event = #wxSize{type = size, size = {W, _H}}} ->
+ #wx{obj = ListCtrl,
+ userData = apps_list_ctrl,
+ event = #wxSize{type = size, size = {W, _H}}} ->
wxListCtrl:setColumnWidth(ListCtrl, ?APPS_APP_COL, W),
S;
#wx{userData = open_app,
obj = ListCtrl,
- event = #wxList{type = command_list_item_activated, itemIndex = Pos}} ->
+ event = #wxList{type = command_list_item_activated,
+ itemIndex = Pos}} ->
AppBase = wxListCtrl:getItemText(ListCtrl, Pos),
{AppName, _AppVsn} = reltool_utils:split_app_name(AppBase),
- {ok, _AppPid} = reltool_sys_win:open_app(S#state.parent_pid, AppName),
+ {ok, _AppPid} = reltool_sys_win:open_app(S#state.parent_pid,
+ AppName),
S;
#wx{userData = open_mod,
obj = ListCtrl,
- event = #wxList{type = command_list_item_activated, itemIndex = Pos}} ->
+ event = #wxList{type = command_list_item_activated,
+ itemIndex = Pos}} ->
ModName = list_to_atom(wxListCtrl:getItemText(ListCtrl, Pos)),
create_mod_window(S, ModName);
#wx{userData = global_incl_cond} ->
@@ -560,16 +626,19 @@ handle_event(#state{sys = Sys, app = App} = S, Wx) ->
Items = reltool_utils:get_items(ListCtrl),
handle_mod_button(S, Items, Action);
_ ->
- error_logger:format("~p~p got unexpected app event from wx:\n\t~p\n",
+ error_logger:format("~p~p got unexpected app event from "
+ "wx:\n\t~p\n",
[?MODULE, self(), Wx]),
S
end.
-create_mod_window(#state{parent_pid = RelPid, xref_pid = Xref, common = C} = S, ModName) ->
+create_mod_window(#state{parent_pid = RelPid, xref_pid = Xref, common = C} = S,
+ ModName) ->
case lists:keysearch(ModName, #mod_win.name, S#state.mod_wins) of
false ->
WxEnv = wx:get_env(),
- {ok, Pid} = reltool_mod_win:start_link(WxEnv, Xref, RelPid, C, ModName),
+ {ok, Pid} =
+ reltool_mod_win:start_link(WxEnv, Xref, RelPid, C, ModName),
MW = #mod_win{name = ModName, pid = Pid},
S#state{mod_wins = [MW | S#state.mod_wins]};
{value, MW} ->
@@ -578,7 +647,9 @@ create_mod_window(#state{parent_pid = RelPid, xref_pid = Xref, common = C} = S,
end.
handle_mod_button(#state{app = App} = S, Items, Action) ->
- App2 = lists:foldl(fun(Item, A) -> move_mod(A, Item, Action) end, App, Items),
+ App2 = lists:foldl(fun(Item, A) -> move_mod(A, Item, Action) end,
+ App,
+ Items),
{ok, App3} = reltool_sys_win:set_app(S#state.parent_pid, App2),
S2 = S#state{app = App3},
redraw_window(S2).
@@ -587,7 +658,7 @@ move_mod(App, {_ItemNo, ModStr}, Action) ->
ModName = list_to_atom(ModStr),
Mods = App#app.mods,
{value, M} = lists:keysearch(ModName, #mod.name, Mods),
- AppCond =
+ AppCond =
case Action of
whitelist_add ->
case M#mod.incl_cond of
@@ -597,12 +668,13 @@ move_mod(App, {_ItemNo, ModStr}, Action) ->
end;
whitelist_del ->
undefined;
- blacklist_add ->
+ blacklist_add ->
exclude;
blacklist_del ->
undefined;
_ ->
- error_logger:format("~p~p got unexpected mod button event: ~p\n\t ~p\n",
+ error_logger:format("~p~p got unexpected mod "
+ "button event: ~p\n\t ~p\n",
[?MODULE, self(), ModName, Action]),
M#mod.incl_cond
end,
@@ -623,7 +695,10 @@ change_mod_cond(S, App, NewModCond) ->
redraw_window(S2).
change_version(S, App, NewDir) ->
- App2 = App#app{active_dir = NewDir, label = undefined, vsn = undefined, info = undefined},
+ App2 = App#app{active_dir = NewDir,
+ label = undefined,
+ vsn = undefined,
+ info = undefined},
{ok, App3} = reltool_sys_win:set_app(S#state.parent_pid, App2),
Title = app_title(App3),
wxFrame:setTitle(S#state.frame, Title),
@@ -635,8 +710,14 @@ redraw_apps(#state{app = #app{info = AppInfo},
app_incl_ctrl = InclCtrl,
app_uses_ctrl = UsesCtrl,
xref_pid = Xref},
- {_SourceMods, _WhiteMods, _BlackMods, _DerivedMods, UsedByMods, UsesMods}) ->
- UsedByApps = lists:usort([{M#mod.app_name, Image} || {Image, _, M} <- UsedByMods]),
+ {_SourceMods,
+ _WhiteMods,
+ _BlackMods,
+ _DerivedMods,
+ UsedByMods,
+ UsesMods}) ->
+ UsedByApps =
+ lists:usort([{M#mod.app_name, Image} || {Image, _, M} <- UsedByMods]),
Select =
fun(AppName) ->
{ok, App} = reltool_server:get_app(Xref, AppName),
@@ -647,7 +728,8 @@ redraw_apps(#state{app = #app{info = AppInfo},
end,
RequiredApps = lists:sort(lists:map(Select, AppInfo#app_info.applications)),
InclApps = lists:map(Select, AppInfo#app_info.incl_apps),
- UsesApps = lists:usort([{M#mod.app_name, Image} || {Image, _, M} <- UsesMods]),
+ UsesApps =
+ lists:usort([{M#mod.app_name, Image} || {Image, _, M} <- UsesMods]),
do_redraw_apps(UsedByCtrl, UsedByApps),
do_redraw_apps(RequiredCtrl, RequiredApps),
do_redraw_apps(InclCtrl, InclApps),
@@ -656,19 +738,26 @@ redraw_apps(#state{app = #app{info = AppInfo},
do_redraw_apps(ListCtrl, []) ->
wxListCtrl:deleteAllItems(ListCtrl);
- %% wxListCtrl:setColumnWidth(ListCtrl, ?APPS_APP_COL, ?wxLIST_AUTOSIZE_USEHEADER);
+ %% wxListCtrl:setColumnWidth(ListCtrl, ?APPS_APP_COL,
+%% ?wxLIST_AUTOSIZE_USEHEADER);
do_redraw_apps(ListCtrl, AppImages) ->
wxListCtrl:deleteAllItems(ListCtrl),
Add =
fun({AppName, ImageId}, {Row, Prev}) when AppName =/= Prev ->
- wxListCtrl:insertItem(ListCtrl, Row, ""),
- if (Row rem 2) =:= 0 ->
- wxListCtrl:setItemBackgroundColour(ListCtrl, Row, {240,240,255});
+ wxListCtrl:insertItem(ListCtrl, Row, ""),
+ if (Row rem 2) =:= 0 ->
+ wxListCtrl:setItemBackgroundColour(ListCtrl,
+ Row,
+ {240,240,255});
true ->
ignore
end,
Str = atom_to_list(AppName),
- wxListCtrl:setItem(ListCtrl, Row, ?APPS_APP_COL, Str, [{imageId, ImageId}]),
+ wxListCtrl:setItem(ListCtrl,
+ Row,
+ ?APPS_APP_COL,
+ Str,
+ [{imageId, ImageId}]),
{Row + 1, AppName};
({_, _}, Acc) ->
Acc
@@ -688,8 +777,13 @@ redraw_mods(#state{mods_source_ctrl = SourceCtrl,
deps_uses_ctrl = UsesCtrl,
app = #app{is_pre_included = IsPre, is_included = IsIncl},
status_bar = Bar},
- {SourceMods, WhiteMods, BlackMods, DerivedMods, UsedByMods, UsesMods}) ->
- InclStatus =
+ {SourceMods,
+ WhiteMods,
+ BlackMods,
+ DerivedMods,
+ UsedByMods,
+ UsesMods}) ->
+ InclStatus =
case IsIncl of
true when IsPre =:= true -> "Whitelist - ";
true -> "Derived - ";
@@ -711,7 +805,7 @@ app_to_mods(#state{xref_pid = Xref, app = App}) ->
SourceMods = [M || M <- App#app.mods,
M#mod.is_included =/= true,
M#mod.is_pre_included =/= false],
- WhiteMods = [M || M <- App#app.mods,
+ WhiteMods = [M || M <- App#app.mods,
M#mod.is_pre_included =:= true],
BlackMods = [M || M <- App#app.mods,
M#mod.is_pre_included =:= false],
@@ -722,7 +816,8 @@ app_to_mods(#state{xref_pid = Xref, app = App}) ->
fun(ModName) when is_atom(ModName) ->
{ok, M} = reltool_server:get_mod(Xref, ModName),
if
- M#mod.app_name =:= App#app.name, M#mod.is_included =:= true ->
+ M#mod.app_name =:= App#app.name,
+ M#mod.is_included =:= true ->
false;
true ->
{true, M}
@@ -780,20 +875,26 @@ opt_redraw_mods(undefined, _ImageMods) ->
opt_redraw_mods(ListCtrl, ImageMods) ->
HasApps = (wxListCtrl:getColumnCount(ListCtrl) > 1),
do_redraw_mods(ListCtrl, ImageMods, HasApps).
-
+
do_redraw_mods(ListCtrl, [], _HasApps) ->
wxListCtrl:deleteAllItems(ListCtrl);
do_redraw_mods(ListCtrl, ImageMods, HasApps) ->
wxListCtrl:deleteAllItems(ListCtrl),
Add =
fun({ImageId, AppName, #mod{name = ModName}}, Row) ->
- wxListCtrl:insertItem(ListCtrl, Row, ""),
- if (Row rem 2) =:= 0 ->
- wxListCtrl:setItemBackgroundColour(ListCtrl, Row, {240,240,255});
+ wxListCtrl:insertItem(ListCtrl, Row, ""),
+ if (Row rem 2) =:= 0 ->
+ wxListCtrl:setItemBackgroundColour(ListCtrl,
+ Row,
+ {240,240,255});
true ->
ignore
end,
- wxListCtrl:setItem(ListCtrl, Row, ?MODS_MOD_COL, atom_to_list(ModName), [{imageId, ImageId}]),
+ wxListCtrl:setItem(ListCtrl,
+ Row,
+ ?MODS_MOD_COL,
+ atom_to_list(ModName),
+ [{imageId, ImageId}]),
case HasApps of
false ->
ok;
@@ -842,13 +943,14 @@ redraw_config(#state{sys = #sys{incl_cond = GlobalIncl,
SelectedRadio,
SourceBox,
fun(true) ->
- reltool_utils:elem_to_index(ActiveDir, SortedDirs) - 1;
+ reltool_utils:elem_to_index(ActiveDir,
+ SortedDirs) - 1;
(false) ->
0
end).
redraw_double_box(Global, Local, GlobalRadio, LocalRadio, LocalBox, GetChoice) ->
- AppCond =
+ AppCond =
case Local of
undefined ->
wxRadioButton:setValue(GlobalRadio, true),
diff --git a/lib/reltool/src/reltool_fgraph.erl b/lib/reltool/src/reltool_fgraph.erl
index 09c4f8c8ce..2e8f39e418 100644
--- a/lib/reltool/src/reltool_fgraph.erl
+++ b/lib/reltool/src/reltool_fgraph.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(reltool_fgraph).
@@ -80,7 +80,7 @@ foreach(Fun, Fg) ->
end, Fg),
Fg.
-map(Fun, Fg) ->
+map(Fun, Fg) ->
lists:foreach(fun
(Key) -> put(Key,Fun(get(Key)))
end, Fg),
@@ -105,7 +105,9 @@ step(Vs, Es) -> step(Vs, Es, {0,0}).
step(Vs, Es, Pa) ->
?MODULE:map(fun
(Node = {_, #fg_v{ type = static }}) -> Node;
- ({Key, Value = #fg_v{ p = {Px, Py}, v = {Vx, Vy}, type = dynamic}}) when is_float(Px), is_float(Py), is_float(Vx), is_float(Vy) ->
+ ({Key, Value = #fg_v{ p = {Px, Py}, v = {Vx, Vy}, type = dynamic}})
+ when is_float(Px), is_float(Py),
+ is_float(Vx), is_float(Vy) ->
F0 = {0.0,0.0},
F1 = coulomb_repulsion(Key, Value, Vs, F0),
F2 = hooke_attraction(Key, Value, Vs, Es, F1),
@@ -115,7 +117,7 @@ step(Vs, Es, Pa) ->
Vx1 = (Vx + ?fg_th*Fx)*?fg_damp,
Vy1 = (Vy + ?fg_th*Fy)*?fg_damp,
-
+
Px1 = Px + ?fg_th*Vx1,
Py1 = Py + ?fg_th*Vy1,
@@ -123,14 +125,16 @@ step(Vs, Es, Pa) ->
(Node) -> Node
end, Vs).
-point_attraction(_, #fg_v{ p = P0 }, Pa, {Fx, Fy}) when is_float(Fx), is_float(Fy) ->
+point_attraction(_, #fg_v{ p = P0 }, Pa, {Fx, Fy})
+ when is_float(Fx), is_float(Fy) ->
K = 20,
L = 150,
{R, {Cx,Cy}} = composition(P0, Pa),
F = -K*?fg_stretch*(R - L),
{Fx + Cx*F, Fy + Cy*F}.
-
-coulomb_repulsion(K0, #fg_v{ p = P0, q = Q0}, Vs, {Fx0, Fy0}) when is_float(Fx0), is_float(Fy0) ->
+
+coulomb_repulsion(K0, #fg_v{ p = P0, q = Q0}, Vs, {Fx0, Fy0})
+ when is_float(Fx0), is_float(Fy0) ->
?MODULE:foldl(fun
({K1, _}, F) when K1 == K0 -> F;
({_, #fg_v{ p = P1, q = Q1}}, {Fx, Fy}) ->
@@ -140,7 +144,8 @@ coulomb_repulsion(K0, #fg_v{ p = P0, q = Q0}, Vs, {Fx0, Fy0}) when is_float(Fx0)
(_, F) -> F
end, {Fx0, Fy0}, Vs).
-hooke_attraction(Key0, #fg_v{ p = P0 }, Vs, Es, {Fx0, Fy0}) when is_float(Fx0), is_float(Fy0) ->
+hooke_attraction(Key0, #fg_v{ p = P0 }, Vs, Es, {Fx0, Fy0})
+ when is_float(Fx0), is_float(Fy0) ->
?MODULE:foldl(fun
({{Key1,Key1}, _}, F) -> F;
({{Key1,Key2}, #fg_e{ l = L, k = K}}, {Fx, Fy}) when Key1 =:= Key0->
@@ -153,10 +158,11 @@ hooke_attraction(Key0, #fg_v{ p = P0 }, Vs, Es, {Fx0, Fy0}) when is_float(Fx0),
{R, {Cx,Cy}} = composition(P0, P1),
F = -K*?fg_stretch*(R - L),
{Fx + Cx*F, Fy + Cy*F};
- (_, F) -> F
+ (_, F) -> F
end, {Fx0, Fy0}, Es).
-composition({Px1, Py1}, {Px0, Py0}) when is_float(Px1), is_float(Py1), is_float(Px0), is_float(Py0) ->
+composition({Px1, Py1}, {Px0, Py0})
+ when is_float(Px1), is_float(Py1), is_float(Px0), is_float(Py0) ->
Dx = Px1 - Px0,
Dy = Py1 - Py0,
R = math:sqrt(Dx*Dx + Dy*Dy + 0.001),
diff --git a/lib/reltool/src/reltool_fgraph_win.erl b/lib/reltool/src/reltool_fgraph_win.erl
index b063fb94ba..b0deb1bab2 100644
--- a/lib/reltool/src/reltool_fgraph_win.erl
+++ b/lib/reltool/src/reltool_fgraph_win.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(reltool_fgraph_win).
@@ -95,7 +95,7 @@ change_node(Pid, Key, Color) -> Pid ! {change_node, Key, Color}.
add_link(Pid, {FromKey, ToKey}) -> Pid ! {add_link, {FromKey, ToKey}}.
del_link(Pid, {FromKey, ToKey}) -> Pid ! {del_link, {FromKey, ToKey}}.
-stop(Pid, Reason) ->
+stop(Pid, Reason) ->
Ref = erlang:monitor(process, Pid),
Pid ! {stop, Reason},
receive
@@ -110,21 +110,24 @@ new(Parent, Options) ->
Me = self(),
Pid = spawn_link(fun() -> init([Parent, Me, Env, Options]) end),
receive {Pid, {?MODULE, Panel}} -> {Pid,Panel} end.
-
+
init([ParentWin, Pid, Env, Options]) ->
wx:set_env(Env),
-
+
BReset = wxButton:new(ParentWin, ?reset, [{label,"Reset"}]),
BFreeze = wxButton:new(ParentWin, ?freeze, [{label,"Freeze"}]),
BLock = wxButton:new(ParentWin, ?lock, [{label,"Lock"}]),
BUnlock = wxButton:new(ParentWin, ?unlock, [{label,"Unlock"}]),
BDelete = wxButton:new(ParentWin, ?delete, [{label,"Delete"}]),
- SQ = wxSlider:new(ParentWin, ?q_slider, ?default_q, 1, 500, [{style, ?wxVERTICAL}]),
- SL = wxSlider:new(ParentWin, ?l_slider, ?default_l, 1, 500, [{style, ?wxVERTICAL}]),
- SK = wxSlider:new(ParentWin, ?k_slider, ?default_k, 1, 500, [{style, ?wxVERTICAL}]),
+ SQ = wxSlider:new(ParentWin, ?q_slider, ?default_q, 1, 500,
+ [{style, ?wxVERTICAL}]),
+ SL = wxSlider:new(ParentWin, ?l_slider, ?default_l, 1, 500,
+ [{style, ?wxVERTICAL}]),
+ SK = wxSlider:new(ParentWin, ?k_slider, ?default_k, 1, 500,
+ [{style, ?wxVERTICAL}]),
Win = wxWindow:new(ParentWin, ?wxID_ANY, Options),
-
+
ButtonSizer = wxBoxSizer:new(?wxVERTICAL),
wxSizer:add(ButtonSizer, BReset),
wxSizer:add(ButtonSizer, BFreeze),
@@ -141,31 +144,34 @@ init([ParentWin, Pid, Env, Options]) ->
WindowSizer = wxBoxSizer:new(?wxHORIZONTAL),
wxSizer:add(WindowSizer, ButtonSizer, [{flag, ?wxEXPAND}, {proportion, 0}]),
wxSizer:add(WindowSizer, Win, [{flag, ?wxEXPAND}, {proportion, 1}]),
-
+
wxButton:setToolTip(BReset, "Remove selection and unlock all nodes."),
wxButton:setToolTip(BFreeze, "Start/stop redraw of screen."),
wxButton:setToolTip(BLock, "Lock all selected nodes."),
wxButton:setToolTip(BUnlock, "Unlock all selected nodes."),
wxButton:setToolTip(BDelete, "Delete all selected nodes."),
- wxButton:setToolTip(SQ, "Control repulsive force. This can also be controlled with the mouse wheel on the canvas."),
+ wxButton:setToolTip(SQ, "Control repulsive force. This can also be"
+ " controlled with the mouse wheel on the canvas."),
wxButton:setToolTip(SL, "Control link length."),
wxButton:setToolTip(SK, "Control attractive force. Use with care."),
- wxButton:setToolTip(Win,
- "Drag mouse while left mouse button is pressed to perform various operations. "
- "Combine with control key to select. Combine with shift key to lock single node."),
+ wxButton:setToolTip(Win,
+ "Drag mouse while left mouse button is pressed "
+ "to perform various operations. "
+ "Combine with control key to select. Combine "
+ "with shift key to lock single node."),
wxButton:connect(BReset, command_button_clicked),
wxButton:connect(BFreeze, command_button_clicked),
wxButton:connect(BLock, command_button_clicked),
wxButton:connect(BUnlock, command_button_clicked),
wxButton:connect(BDelete, command_button_clicked),
-
+
wxWindow:connect(SQ, command_slider_updated),
wxWindow:connect(SL, command_slider_updated),
wxWindow:connect(SK, command_slider_updated),
-
- wxWindow:connect(Win, enter_window),
+
+ wxWindow:connect(Win, enter_window),
wxWindow:connect(Win, move),
wxWindow:connect(Win, motion),
wxWindow:connect(Win, mousewheel),
@@ -174,7 +180,7 @@ init([ParentWin, Pid, Env, Options]) ->
wxWindow:connect(Win, left_up),
wxWindow:connect(Win, right_down),
wxWindow:connect(Win, paint, [{skip, true}]),
-
+
Pen = wxPen:new({0,0,0}, [{width, 3}]),
Font = wxFont:new(12, ?wxSWISS, ?wxNORMAL, ?wxNORMAL,[]),
Brush = wxBrush:new({0,0,0}),
@@ -182,13 +188,13 @@ init([ParentWin, Pid, Env, Options]) ->
Pid ! {self(), {?MODULE, WindowSizer}},
wxWindow:setFocus(Win), %% Get keyboard focus
-
+
Vs = reltool_fgraph:new(),
Es = reltool_fgraph:new(),
Me = self(),
Ticker = spawn_link(fun() -> ticker_init(Me) end),
-
+
loop( #state{ parent_pid = Pid,
q_slider = SQ,
l_slider = SL,
@@ -215,14 +221,17 @@ graph_add_node(Key, Color, G = #graph{ vs = Vs}) ->
M = 0.5, % mass
P = {float(450 + random:uniform(100)),
float(450 + random:uniform(100))},
- G#graph{ vs = reltool_fgraph:add(Key, #fg_v{ p = P, m = M, q = Q, color = Color}, Vs)}.
+ G#graph{ vs = reltool_fgraph:add(Key,
+ #fg_v{ p = P, m = M, q = Q, color = Color},
+ Vs)}.
graph_change_node(Key, Color, G) ->
case reltool_fgraph:get(Key, G#graph.vs) of
- undefined ->
+ undefined ->
G;
V ->
- G#graph{ vs = reltool_fgraph:set(Key, V#fg_v{ color = Color }, G#graph.vs)}
+ G#graph{ vs = reltool_fgraph:set(Key, V#fg_v{ color = Color },
+ G#graph.vs)}
end.
graph_del_node(Key, G = #graph{ vs = Vs0, es = Es0}) ->
@@ -231,7 +240,7 @@ graph_del_node(Key, G = #graph{ vs = Vs0, es = Es0}) ->
G#graph{ vs = Vs, es = Es }.
graph_add_link(Key0, Key1, G = #graph{ es = Es}) ->
- K = 60.0, % attractive force
+ K = 60.0, % attractive force
L = 5.0, % spring length
G#graph{ es = reltool_fgraph:add({Key0, Key1}, #fg_e{ k = K, l = L}, Es) }.
@@ -249,15 +258,17 @@ ticker_loop(Pid, Time) ->
D = timer:now_diff(T1, T0)/1000,
case round(40 - D) of
Ms when Ms < 0 ->
- %io:format("ticker: wait is 0 ms [fg ~7s ms] [fps ~7s]~n", [s(D), s(1000/D)]),
+ %io:format("ticker: wait is 0 ms [fg ~7s ms] [fps ~7s]~n",
+ % [s(D), s(1000/D)]),
ticker_loop(Pid, 0);
Ms ->
- %io:format("ticker: wait is ~3s ms [fg ~7s ms] [fps ~7s]~n", [s(Ms), s(D), s(1000/40)]),
+ %io:format("ticker: wait is ~3s ms [fg ~7s ms] [fps ~7s]~n",
+ % [s(Ms), s(D), s(1000/40)]),
ticker_loop(Pid, Ms)
end
end.
-delete_edges(Es, []) ->
+delete_edges(Es, []) ->
Es;
delete_edges(Es, [Key|Keys]) ->
Edges = reltool_fgraph:foldl(fun
@@ -269,7 +280,7 @@ delete_edges(Es, [Key|Keys]) ->
(K, Esi) -> reltool_fgraph:del(K, Esi)
end, Es, Edges),
delete_edges(Es1, Keys).
-
+
set_charge(Q, Vs) -> % Repulsive force
F = fun({Key, Value}) -> {Key, Value#fg_v{ q = Q}} end,
@@ -295,36 +306,47 @@ loop(S, G) ->
wxSlider:setValue(S#state.k_slider, K),
Es = set_length(L, G#graph.es),
Es2 = set_spring(K, Es),
-
- Vs2 = reltool_fgraph:map(fun({Key, V}) ->
- {Key, V#fg_v{selected = false, type = dynamic, q = Q}}
- end,
- G#graph.vs),
-
- {Xs, Ys} = reltool_fgraph:foldl(fun({_Key, #fg_v{p = {X, Y}}}, {Xs, Ys}) ->
- {[X| Xs], [Y | Ys]}
- end,
- {[], []},
- Vs2),
+
+ Vs2 =
+ reltool_fgraph:map(fun({Key, V}) ->
+ {Key, V#fg_v{selected = false,
+ type = dynamic,
+ q = Q}}
+ end,
+ G#graph.vs),
+
+ {Xs, Ys} =
+ reltool_fgraph:foldl(fun({_Key,
+ #fg_v{p = {X, Y}}}, {Xs, Ys}) ->
+ {[X| Xs], [Y | Ys]}
+ end,
+ {[], []},
+ Vs2),
%% io:format("Before: ~p\n", [G#graph.offset]),
Offset =
case length(Xs) of
0 ->
{0, 0};
N ->
- MeanX = (lists:sum(Xs) / N),
+ MeanX = (lists:sum(Xs) / N),
MeanY = (lists:sum(Ys) / N),
{SizeX, SizeY} = wxWindow:getSize(S#state.window),
- %% io:format("Min: ~p\n", [{lists:min(Xs), lists:min(Ys)}]),
- %% io:format("Mean: ~p\n", [{MeanX, MeanY}]),
- %% io:format("Max: ~p\n", [{lists:max(Xs), lists:max(Ys)}]),
+ %% io:format("Min: ~p\n",
+ %% [{lists:min(Xs), lists:min(Ys)}]),
+ %% io:format("Mean: ~p\n",
+ %% [{MeanX, MeanY}]),
+ %% io:format("Max: ~p\n",
+ %% [{lists:max(Xs), lists:max(Ys)}]),
%% io:format("Size: ~p\n", [{SizeX, SizeY}]),
%% {XM - (XS / 2), YM - (YS / 2)}
%% {0 - lists:min(Xs) + 20, 0 - lists:min(Ys) + 20}
{0 - MeanX + (SizeX / 2), 0 - MeanY + (SizeY / 2)}
end,
%% io:format("After: ~p\n", [Offset]),
- loop(S, G#graph{vs = Vs2, es = Es2, offset = Offset, offset_state = false});
+ loop(S, G#graph{vs = Vs2,
+ es = Es2,
+ offset = Offset,
+ offset_state = false});
#wx{id = ?freeze, event = #wxCommand{type=command_button_clicked}} ->
%% Start/stop redraw of screen
IsFrozen =
@@ -354,10 +376,15 @@ loop(S, G) ->
loop(S, G#graph{ vs = Vs });
#wx{id = ?delete, event = #wxCommand{type=command_button_clicked}} ->
%% Delete all selected nodes
- {Vs1, Keys} = reltool_fgraph:foldl(fun
- ({Key, #fg_v{ selected = true}}, {Vs, Ks}) ->
- {reltool_fgraph:del(Key,Vs), [Key|Ks]};
- (_, {Vs, Ks}) -> {Vs, Ks}
+ {Vs1, Keys} =
+ reltool_fgraph:foldl(fun
+ ({Key,
+ #fg_v{ selected = true}},
+ {Vs, Ks}) ->
+ {reltool_fgraph:del(Key,Vs),
+ [Key|Ks]};
+ (_, {Vs, Ks}) ->
+ {Vs, Ks}
end, {G#graph.vs,[]}, G#graph.vs),
Es = delete_edges(G#graph.es, Keys),
loop(S, G#graph{ vs = Vs1, es = Es});
@@ -368,20 +395,26 @@ loop(S, G) ->
#wx{id = ?move, event = #wxCommand{type=command_button_clicked}} ->
loop(S#state{ mouse_act = ?move }, G);
- #wx{id = ?q_slider, event = #wxCommand{type=command_slider_updated, commandInt = Q}} ->
+ #wx{id = ?q_slider, event = #wxCommand{type=command_slider_updated,
+ commandInt = Q}} ->
loop(S, G#graph{ vs = set_charge(Q, G#graph.vs)});
- #wx{id = ?l_slider, event = #wxCommand{type=command_slider_updated, commandInt = L}} ->
+ #wx{id = ?l_slider, event = #wxCommand{type=command_slider_updated,
+ commandInt = L}} ->
loop(S, G#graph{ es = set_length(L, G#graph.es)});
- #wx{id = ?k_slider, event = #wxCommand{type=command_slider_updated, commandInt = K}} ->
+ #wx{id = ?k_slider, event = #wxCommand{type=command_slider_updated,
+ commandInt = K}} ->
loop(S, G#graph{ es = set_spring(K, G#graph.es)});
#wx{event=#wxKey{type=key_up, keyCode = 127}} -> % delete
{Vs1, Keys} =
- reltool_fgraph:foldl(fun({Key, #fg_v{ selected = true}}, {Vs, Ks}) ->
- {reltool_fgraph:del(Key,Vs), [Key|Ks]};
- (_, {Vs, Ks}) ->
- {Vs, Ks}
- end,
- {G#graph.vs,[]}, G#graph.vs),
+ reltool_fgraph:foldl(fun({Key,
+ #fg_v{ selected = true}},
+ {Vs, Ks}) ->
+ {reltool_fgraph:del(Key,Vs),
+ [Key|Ks]};
+ (_, {Vs, Ks}) ->
+ {Vs, Ks}
+ end,
+ {G#graph.vs,[]}, G#graph.vs),
Es = delete_edges(G#graph.es, Keys),
loop(S, G#graph{ vs = Vs1, es = Es});
#wx{event=#wxKey{type=key_up}} ->
@@ -390,7 +423,11 @@ loop(S, G) ->
loop(S, G);
%% mouse
- #wx{event=#wxMouse{type=left_down, shiftDown=Shift, controlDown=Ctrl, x=X, y=Y}} ->
+ #wx{event=#wxMouse{type=left_down,
+ shiftDown=Shift,
+ controlDown=Ctrl,
+ x=X,
+ y=Y}} ->
if
Shift ->
loop(S, mouse_left_down_move(G, {X,Y}));
@@ -401,7 +438,11 @@ loop(S, G) ->
S#state.mouse_act =:= ?select ->
loop(S, mouse_left_down_select(G, {X,Y}))
end;
- #wx{event=#wxMouse{type=motion, shiftDown=Shift, controlDown=Ctrl, x=X, y=Y}} ->
+ #wx{event=#wxMouse{type=motion,
+ shiftDown=Shift,
+ controlDown=Ctrl,
+ x=X,
+ y=Y}} ->
if
Shift ->
loop(S, mouse_motion_move(G, {X,Y}));
@@ -412,7 +453,9 @@ loop(S, G) ->
S#state.mouse_act =:= ?select ->
loop(S, mouse_motion_select(G, {X,Y}))
end;
- #wx{event=#wxMouse{type=left_up, shiftDown=Shift, controlDown=Ctrl, x=X, y=Y}} ->
+ #wx{event=#wxMouse{type=left_up,
+ shiftDown=Shift,
+ controlDown=Ctrl, x=X, y=Y}} ->
if
Shift ->
loop(S, mouse_left_up_move(G, {X,Y}, Shift));
@@ -424,7 +467,7 @@ loop(S, G) ->
loop(S, mouse_left_up_select(G, {X,Y}))
end;
- #wx{event=#wxMouse{type=right_down,x=_X,y=_Y}} ->
+ #wx{event=#wxMouse{type=right_down,x=_X,y=_Y}} ->
loop(S, G);
%% mouse wheel
#wx{event=#wxMouse{type=mousewheel, wheelRotation=Rotation}} ->
@@ -436,7 +479,7 @@ loop(S, G) ->
Rotation < 0 ->
wxSlider:setValue(S#state.q_slider, Q + 4),
loop(S, G#graph{ vs = set_charge(Q + 4, G#graph.vs) });
- true ->
+ true ->
loop(S, G)
end;
@@ -448,7 +491,7 @@ loop(S, G) ->
redraw(S, G),
loop(S, G);
#wx{obj=Win,event=#wxMouse{type=enter_window}} ->
- wxWindow:setFocus(Win),
+ wxWindow:setFocus(Win),
loop(S, G);
%% Graph manipulation
@@ -465,9 +508,11 @@ loop(S, G) ->
{Req, redraw} ->
{SizeX, SizeY} = wxWindow:getSize(S#state.window),
- Vs = reltool_fgraph:step(G#graph.vs, G#graph.es, {SizeX/2.0 - 20.0, SizeY/2.0}),
+ Vs = reltool_fgraph:step(G#graph.vs,
+ G#graph.es,
+ {SizeX/2.0 - 20.0, SizeY/2.0}),
case S#state.is_frozen of
- false ->
+ false ->
Req ! {self(), ok};
true ->
ignore
@@ -481,7 +526,7 @@ loop(S, G) ->
Other ->
error_logger:format("~p~p got unexpected message:\n\t~p\n",
- [?MODULE, self(), Other]),
+ [?MODULE, self(), Other]),
loop(S, G)
end.
@@ -494,17 +539,22 @@ mouse_left_down_move(#graph{vs = Vs} = G, {X, Y}) ->
false ->
G#graph{ offset_state = {X,Y}};
{true, Key} ->
- V = #fg_v{ type = Type} = reltool_fgraph:get(Key, Vs),
- G#graph{ vs = reltool_fgraph:set(Key, V#fg_v{ type = moving}, Vs), select = {node, Key, Type, X, Y} }
+ V = #fg_v{ type = Type} = reltool_fgraph:get(Key, Vs),
+ G#graph{ vs = reltool_fgraph:set(Key,
+ V#fg_v{ type = moving}, Vs),
+ select = {node, Key, Type, X, Y} }
end.
coord_to_key(#graph{vs = Vs, offset = {Xo, Yo}}, {X, Y}) ->
Xr = X - Xo,
Yr = Y - Yo,
- reltool_fgraph:foldl(fun({Key, #fg_v{ p = {Px, Py}}}, _) when abs(Px - Xr) < 10,
- abs(Py - Yr) < 10 -> {true, Key};
- (_, Out) -> Out
- end, false, Vs).
+ reltool_fgraph:foldl(fun({Key, #fg_v{ p = {Px, Py}}}, _)
+ when abs(Px - Xr) < 10,
+ abs(Py - Yr) < 10 ->
+ {true, Key};
+ (_, Out) ->
+ Out
+ end, false, Vs).
mouse_left_up_select(G, {_X,_Y}) ->
case G#graph.select of
@@ -524,7 +574,7 @@ mouse_left_up_select(G, {_X,_Y}) ->
_ ->
G#graph{ select = none}
end.
-
+
mouse_left_up_move(G = #graph{ select = Select, vs = Vs} = G, {X,Y}, Shift) ->
case Select of
{node, Key, _, X, Y} ->
@@ -543,7 +593,7 @@ mouse_left_up_move(G = #graph{ select = Select, vs = Vs} = G, {X,Y}, Shift) ->
_ ->
G#graph{ select = none, offset_state = false }
end.
-
+
mouse_motion_select(G, {X,Y}) ->
case G#graph.select of
{P0, _P1} -> G#graph{ select = {P0, {X,Y}}};
@@ -557,11 +607,11 @@ mouse_motion_move(G = #graph{ select = {node, Key, _, _, _}, vs = Vs}, {X,Y}) ->
G#graph{ vs = reltool_fgraph:set(Key, V2, Vs) };
mouse_motion_move(G, {X,Y}) ->
case G#graph.offset_state of
- {X1,Y1} ->
+ {X1,Y1} ->
{X0, Y0} = G#graph.offset,
G#graph{ offset_state = {X,Y},
offset = {X0 - (X1 - X), Y0 - (Y1 - Y)} };
- _ ->
+ _ ->
G
end.
@@ -574,9 +624,9 @@ redraw(#state{window=Win}, G) ->
wxClientDC:destroy(DC0),
ok.
-redraw(DC, _Size, G) ->
- wx:batch(fun() ->
-
+redraw(DC, _Size, G) ->
+ wx:batch(fun() ->
+
Pen = G#graph.pen,
Font = G#graph.font,
Brush = G#graph.brush,
@@ -587,7 +637,7 @@ redraw(DC, _Size, G) ->
wxPen:setWidth(Pen, 1),
wxDC:clear(DC),
- % draw vertices and edges
+ % draw vertices and edges
wxPen:setColour(Pen, ?color_fg),
wxDC:setPen(DC,Pen),
@@ -602,7 +652,9 @@ redraw(DC, _Size, G) ->
% draw information text
wxFont:setWeight(Font,?wxNORMAL),
- draw_text(DC, reltool_fgraph:size(G#graph.vs), reltool_fgraph:size(G#graph.es), G#graph.ke),
+ draw_text(DC,
+ reltool_fgraph:'size'(G#graph.vs),
+ reltool_fgraph:'size'(G#graph.es), G#graph.ke),
ok
end).
@@ -612,14 +664,14 @@ draw_select_box(DC, {{X0,Y0}, {X1,Y1}}) ->
draw_line(DC, {X1,Y1}, {X0,Y1}, {0,0}),
draw_line(DC, {X0,Y0}, {X0,Y1}, {0,0}),
ok;
-draw_select_box(_DC, _) ->
+draw_select_box(_DC, _) ->
ok.
draw_es(DC, Vs, Es, Po, Pen, Brush) ->
reltool_fgraph:foreach(fun
({{K1, K2}, _}) ->
- #fg_v{ p = P1} = reltool_fgraph:get(K1, Vs),
- #fg_v{ p = P2} = reltool_fgraph:get(K2, Vs),
+ #fg_v{ p = P1} = reltool_fgraph:'get'(K1, Vs),
+ #fg_v{ p = P2} = reltool_fgraph:'get'(K2, Vs),
draw_arrow(DC, P1, P2, Po, Pen, Brush)
end, Es).
@@ -650,10 +702,15 @@ draw_arrow(DC, {X0,Y0}, {X1, Y1}, {X, Y}, Pen, Brush) ->
wxDC:drawPolygon(DC, Points, []).
draw_line(DC, {X0,Y0}, {X1, Y1}, {X, Y}) ->
- wxDC:drawLine(DC, {round(X0 + X), round(Y0 + Y)}, {round(X1 + X), round(Y1 + Y)}).
-
+ wxDC:drawLine(DC,
+ {round(X0 + X), round(Y0 + Y)},
+ {round(X1 + X), round(Y1 + Y)}).
+
draw_vs(DC, Vs, {Xo, Yo}, Pen, Brush) ->
- reltool_fgraph:foreach(fun({Key, #fg_v{ p ={X, Y}, color = Color, selected = Sel}}) ->
+ reltool_fgraph:foreach(fun({Key,
+ #fg_v{p ={X, Y},
+ color = Color,
+ selected = Sel}}) ->
String = s(Key),
case Sel of
true ->
@@ -661,35 +718,49 @@ draw_vs(DC, Vs, {Xo, Yo}, Pen, Brush) ->
wxBrush:setColour(Brush, ?color_bg),
wxDC:setPen(DC,Pen),
wxDC:setBrush(DC, Brush),
- SelProps = {round(X-12 + Xo), round(Y-12 + Yo), 24, 24},
- wxDC:drawRoundedRectangle(DC, SelProps, float(?ARC_R)),
+ SelProps = {round(X-12 + Xo),
+ round(Y-12 + Yo),
+ 24,
+ 24},
+ wxDC:drawRoundedRectangle(DC,
+ SelProps,
+ float(?ARC_R)),
ok;
false ->
ok
end,
case Color of
- default ->
+ default ->
wxPen:setColour(Pen, ?color_default),
- wxBrush:setColour(Brush, ?color_default_bg);
- alternate ->
- wxPen:setColour(Pen, ?color_alternate),
- wxBrush:setColour(Brush, ?color_alternate_bg);
+ wxBrush:setColour(Brush,
+ ?color_default_bg);
+ alternate ->
+ wxPen:setColour(Pen,
+ ?color_alternate),
+ wxBrush:setColour(Brush,
+ ?color_alternate_bg);
{FgColor, BgColor} ->
wxPen:setColour(Pen, FgColor),
- wxBrush:setColour(Brush, BgColor);
+ wxBrush:setColour(Brush, BgColor);
Color ->
wxPen:setColour(Pen, Color),
wxBrush:setColour(Brush, Color)
end,
wxDC:setPen(DC,Pen),
wxDC:setBrush(DC, Brush),
- NodeProps = {round(X-8 + Xo),round(Y-8 + Yo),17,17},
- wxDC:drawRoundedRectangle(DC, NodeProps, float(?ARC_R)),
- wxDC:drawText(DC, String, {round(X + Xo), round(Y + Yo)}),
+ NodeProps = {round(X-8 + Xo),
+ round(Y-8 + Yo),17,17},
+ wxDC:drawRoundedRectangle(DC,
+ NodeProps,
+ float(?ARC_R)),
+ wxDC:drawText(DC,
+ String,
+ {round(X + Xo),
+ round(Y + Yo)}),
ok;
(_) ->
ok
- end,
+ end,
Vs).
draw_text(DC, Nvs, Nes, _KE) ->
@@ -720,7 +791,7 @@ calc_point({X, Y}, Length, Radians) ->
%% %% Convert from an angle in radians to degrees
%% radians_to_degrees(Radians) ->
%% Radians * 180 / math:pi().
-%%
+%%
%% %% Convert from an angle in degrees to radians
%% degrees_to_radians(Degrees) ->
%% Degrees * math:pi() / 180.
diff --git a/lib/reltool/src/reltool_mod_win.erl b/lib/reltool/src/reltool_mod_win.erl
index c05f73cde8..f68c61fd6f 100644
--- a/lib/reltool/src/reltool_mod_win.erl
+++ b/lib/reltool/src/reltool_mod_win.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(reltool_mod_win).
@@ -34,7 +34,7 @@
-include_lib("wx/include/wx.hrl").
-include("reltool.hrl").
--record(state,
+-record(state,
{parent_pid,
xref_pid,
rel_pid,
@@ -73,7 +73,7 @@
-define(WIN_HEIGHT, 600).
-define(CLOSE_ITEM, ?wxID_EXIT). %% Use OS specific version if available
--define(ABOUT_ITEM, ?wxID_ABOUT). %% Use OS specific
+-define(ABOUT_ITEM, ?wxID_ABOUT). %% Use OS specific
-define(CONTENTS_ITEM, 300).
-define(SEARCH_ENTRY, 413).
-define(GOTO_ENTRY, 414).
@@ -87,7 +87,11 @@
%% Client
start_link(WxEnv, Xref, RelPid, Common, ModName) ->
- proc_lib:start_link(?MODULE, init, [self(), WxEnv, Xref, RelPid, Common, ModName], infinity, []).
+ proc_lib:start_link(?MODULE,
+ init,
+ [self(), WxEnv, Xref, RelPid, Common, ModName],
+ infinity,
+ []).
raise(Pid) ->
reltool_utils:cast(Pid, raise).
@@ -127,10 +131,15 @@ loop(#state{xref_pid = Xref, common = C, mod = Mod} = S) ->
receive
Msg ->
%% io:format("~s~p -> ~p\n", [S#state.name, self(), Msg]),
- case Msg of
+ case Msg of
{system, From, SysMsg} ->
Dbg = C#common.sys_debug,
- sys:handle_system_msg(SysMsg, From, S#state.parent_pid, ?MODULE, Dbg, S);
+ sys:handle_system_msg(SysMsg,
+ From,
+ S#state.parent_pid,
+ ?MODULE,
+ Dbg,
+ S);
{cast, _From, raise} ->
wxFrame:raise(S#state.frame),
wxFrame:setFocus(S#state.frame),
@@ -169,7 +178,7 @@ loop(#state{xref_pid = Xref, common = C, mod = Mod} = S) ->
create_window(#state{mod = Mod, name = ModStr} = S) ->
Title = atom_to_list(?APPLICATION) ++ " - " ++
- atom_to_list(Mod#mod.app_name) ++ " - " ++
+ atom_to_list(Mod#mod.app_name) ++ " - " ++
ModStr ++ ".erl",
Frame = wxFrame:new(wx:null(), ?wxID_ANY, Title, []),
%% wxFrame:setSize(Frame, {?WIN_WIDTH, ?WIN_HEIGHT}),
@@ -177,7 +186,7 @@ create_window(#state{mod = Mod, name = ModStr} = S) ->
StatusBar = wxFrame:createStatusBar(Frame,[]),
Book = wxNotebook:new(Panel, ?wxID_ANY, []),
-
+
S2 = S#state{frame = Frame,
panel = Panel,
book = Book,
@@ -204,11 +213,17 @@ create_deps_page(S) ->
Panel = wxPanel:new(S#state.book, []),
Main = wxBoxSizer:new(?wxHORIZONTAL),
- UsedByCtrl = create_mods_list_ctrl(Panel, Main, "Modules used by others", " and their applications"),
+ UsedByCtrl = create_mods_list_ctrl(Panel,
+ Main,
+ "Modules used by others",
+ " and their applications"),
wxSizer:add(Main,
wxStaticLine:new(Panel, [{style, ?wxLI_VERTICAL}]),
[{border, 2}, {flag, ?wxALL bor ?wxEXPAND}]),
- UsesCtrl = create_mods_list_ctrl(Panel, Main, "Used modules", " and their applications"),
+ UsesCtrl = create_mods_list_ctrl(Panel,
+ Main,
+ "Used modules",
+ " and their applications"),
S2 = S#state{deps_used_by_ctrl = UsedByCtrl,
deps_uses_ctrl = UsesCtrl},
redraw_mods(S2),
@@ -242,8 +257,10 @@ create_mods_list_ctrl(Panel, Sizer, ModText, AppText) ->
%% wxListCtrl:setColumnWidth(ListCtrl, ?MODS_APP_COL, ?MODS_APP_COL_WIDTH),
wxListItem:destroy(ListItem),
- wxEvtHandler:connect(ListCtrl, size, [{skip, true}, {userData, mods_list_ctrl}]),
- wxListCtrl:connect(ListCtrl, command_list_item_activated, [{userData, open_app}]),
+ wxEvtHandler:connect(ListCtrl, size,
+ [{skip, true}, {userData, mods_list_ctrl}]),
+ wxListCtrl:connect(ListCtrl, command_list_item_activated,
+ [{userData, open_app}]),
wxWindow:connect(ListCtrl, enter_window),
wxSizer:add(Sizer, ListCtrl,
@@ -252,7 +269,8 @@ create_mods_list_ctrl(Panel, Sizer, ModText, AppText) ->
{proportion, 1}]),
ListCtrl.
-create_code_page(#state{book = Book, code_pages = Pages, name = ModStr} = S, PageName) ->
+create_code_page(#state{book = Book, code_pages = Pages, name = ModStr} = S,
+ PageName) ->
case find_page(S, PageName) of
not_found ->
Page = do_create_code_page(S, PageName),
@@ -260,7 +278,7 @@ create_code_page(#state{book = Book, code_pages = Pages, name = ModStr} = S, Pag
Pos = length(Pages2),
wxNotebook:setSelection(Book, Pos),
case find_page(S, ?INITIAL_CODE_PAGE_NAME) of
- not_found ->
+ not_found ->
ignore;
{found, _, CodePos} ->
%% Rename initial code page
@@ -288,25 +306,29 @@ find_page([], _PageName, _Pos) ->
do_create_code_page(#state{xref_pid = Xref, mod = M} = S, PageName) ->
Panel = wxPanel:new(S#state.book, []),
Editor = create_editor(Panel),
- ToolTip = "Double click on a function call to search the function definition.",
+ ToolTip = "Double click on a function call to "
+ "search the function definition.",
wxBitmapButton:setToolTip(Editor, ToolTip),
{Objs, Data, SearchSz} = create_search_area(Panel),
{ok, App} = reltool_server:get_app(Xref, M#mod.app_name),
- ErlBin =
+ ErlBin =
case App#app.is_escript of
true -> find_escript_bin(App, M);
false -> find_regular_bin(App, M)
end,
-
+
load_code(Editor, ErlBin),
-
+
Sizer = wxBoxSizer:new(?wxVERTICAL),
wxSizer:add(Sizer, Editor, [{flag, ?wxEXPAND}, {proportion, 1}]),
wxSizer:add(Sizer, SearchSz, [{flag, ?wxEXPAND}]),
wxPanel:setSizer(Panel, Sizer),
wxNotebook:addPage(S#state.book, Panel, PageName, []),
- #code_page{name = PageName, editor = Editor, find_objs = Objs, find_data = Data}.
+ #code_page{name = PageName,
+ editor = Editor,
+ find_objs = Objs,
+ find_data = Data}.
find_regular_bin(App, Mod) ->
ActiveDir = App#app.active_dir,
@@ -322,9 +344,11 @@ find_regular_bin(App, Mod) ->
BeamFile = filename:join([ActiveDir, "ebin", ModStr ++ ".beam"]),
case beam_lib:chunks(BeamFile, [abstract_code]) of
{ok,{_,[{abstract_code,{_,AC}}]}} ->
- list_to_binary(erl_prettypr:format(erl_syntax:form_list(AC)));
+ IoList = erl_prettypr:format(erl_syntax:form_list(AC)),
+ list_to_binary(IoList);
_ ->
- list_to_binary(["%% Bad luck, cannot find any debug info in the file \"", BeamFile])
+ list_to_binary(["%% Bad luck, cannot find any "
+ "debug info in the file \"", BeamFile])
end
end.
@@ -340,10 +364,17 @@ find_escript_bin(#app{active_dir = ActiveDir}, Mod) ->
[_] ->
Bin = GetBin(),
case beam_lib:version(Bin) of
- {ok,{M, _}} when M =:= ModName; FullName =:= "." ->
- case beam_lib:chunks(Bin, [abstract_code]) of
+ {ok,{M, _}} when M =:= ModName;
+ FullName =:= "." ->
+ case beam_lib:chunks(Bin,
+ [abstract_code]) of
{ok,{_,[{abstract_code,{_,AC}}]}} ->
- {obj, list_to_binary(erl_prettypr:format(erl_syntax:form_list(AC)))};
+ Form =
+ erl_syntax:form_list(AC),
+ IoList =
+ erl_prettypr:format(Form),
+ {obj,
+ list_to_binary(IoList)};
_ ->
Acc
end;
@@ -363,10 +394,14 @@ find_escript_bin(#app{active_dir = ActiveDir}, Mod) ->
{fun(FullName, _GetInfo, GetBin, Acc) ->
io:format("", []),
case filename:split(FullName) of
- [_AppName, "ebin", F] when F =:= ObjFile, Acc =:= NotFound ->
- case beam_lib:chunks(GetBin(), [abstract_code]) of
+ [_AppName, "ebin", F]
+ when F =:= ObjFile, Acc =:= NotFound ->
+ case beam_lib:chunks(GetBin(),
+ [abstract_code]) of
{ok,{_,[{abstract_code,{_,AC}}]}} ->
- {obj, list_to_binary(erl_prettypr:format(erl_syntax:form_list(AC)))};
+ Form = erl_syntax:form_list(AC),
+ IoList = erl_prettypr:format(Form),
+ {obj, list_to_binary(IoList)};
_ ->
Acc
end;
@@ -379,17 +414,19 @@ find_escript_bin(#app{active_dir = ActiveDir}, Mod) ->
filename:dirname(ActiveDir)}
end,
try
- case escript:foldl(Fun, NotFound, Escript) of
+ case reltool_utils:escript_foldl(Fun, NotFound, Escript) of
{ok, {text, Bin}} ->
Bin;
{ok, {obj, Bin}} ->
Bin;
_ ->
- list_to_binary(["%% Bad luck, cannot find the code in the escript ", Escript, "."])
+ list_to_binary(["%% Bad luck, cannot find the "
+ "code in the escript ", Escript, "."])
end
- catch
+ catch
throw:Reason when is_list(Reason) ->
- list_to_binary(["%% Bad luck, cannot find the code in the escript ", Escript, ": ", Reason])
+ list_to_binary(["%% Bad luck, cannot find the code "
+ "in the escript ", Escript, ": ", Reason])
end.
create_config_page(S) ->
@@ -400,13 +437,16 @@ create_config_page(S) ->
handle_event(#state{xref_pid = Xref} = S, Wx) ->
%% io:format("wx: ~p\n", [Wx]),
case Wx of
- #wx{obj= ListCtrl, userData = mods_list_ctrl, event = #wxSize{type = size, size = {W, _H}}} ->
+ #wx{obj= ListCtrl,
+ userData = mods_list_ctrl,
+ event = #wxSize{type = size, size = {W, _H}}} ->
wxListCtrl:setColumnWidth(ListCtrl, ?MODS_MOD_COL, (2 * W) div 3),
wxListCtrl:setColumnWidth(ListCtrl, ?MODS_APP_COL, W div 3),
S;
#wx{userData = open_app,
obj = ListCtrl,
- event = #wxList{type = command_list_item_activated, itemIndex = Pos}} ->
+ event = #wxList{type = command_list_item_activated,
+ itemIndex = Pos}} ->
ModStr = wxListCtrl:getItemText(ListCtrl, Pos),
ModName = list_to_atom(ModStr),
{ok, Mod} = reltool_server:get_mod(Xref, ModName),
@@ -431,13 +471,15 @@ handle_event(#state{xref_pid = Xref} = S, Wx) ->
Page = lists:nth(N, S#state.code_pages),
S#state{active_page = Page}
end;
- #wx{event = #wxCommand{type = command_button_clicked}, userData = history_back} ->
+ #wx{event = #wxCommand{type = command_button_clicked},
+ userData = history_back} ->
goto_back(S);
#wx{obj = ObjRef, event = #wxMouse{type = enter_window}} ->
wxWindow:setFocus(ObjRef),
S;
_ ->
- error_logger:format("~p~p got unexpected mod event from wx:\n\t~p\n",
+ error_logger:format("~p~p got unexpected mod event from "
+ "wx:\n\t~p\n",
[?MODULE, self(), Wx]),
S
end.
@@ -450,7 +492,7 @@ redraw_mods(#state{xref_pid = Xref,
uses_mods = UsesModNames,
used_by_mods = UsedByModNames},
status_bar = Bar}) ->
- InclStatus =
+ InclStatus =
case IsIncl of
true when IsPre =:= true -> "Whitelist - ";
true -> "Derived - ";
@@ -458,8 +500,10 @@ redraw_mods(#state{xref_pid = Xref,
undefined -> "Source - "
end,
Status = lists:concat([InclStatus,
- " uses ", length(UsesModNames), " modules and ",
- " is used by ", length(UsedByModNames), " modules."]),
+ " uses ", length(UsesModNames),
+ " modules and ",
+ " is used by ", length(UsedByModNames),
+ " modules."]),
wxStatusBar:setStatusText(Bar, Status),
UsesMods = [select_image(Xref, M) || M <- UsesModNames],
UsedByMods = [select_image(Xref, M) || M <- UsedByModNames],
@@ -470,7 +514,7 @@ select_image(Xref, ModName) ->
{ok, M} = reltool_server:get_mod(Xref, ModName),
Image =
case M#mod.is_included of
- _ when M#mod.app_name =:= ?MISSING_APP -> ?ERR_IMAGE;
+ _ when M#mod.app_name =:= ?MISSING_APP_NAME -> ?ERR_IMAGE;
true -> ?TICK_IMAGE;
false -> ?WARN_IMAGE;
undefined -> ?ERR_IMAGE
@@ -483,9 +527,11 @@ redraw_mods(ListCtrl, ImageMods) ->
wxListCtrl:deleteAllItems(ListCtrl),
Add =
fun({ImageId, AppName, #mod{name = ModName}}, Row) ->
- wxListCtrl:insertItem(ListCtrl, Row, ""),
- if (Row rem 2) =:= 0 ->
- wxListCtrl:setItemBackgroundColour(ListCtrl, Row, {240,240,255});
+ wxListCtrl:insertItem(ListCtrl, Row, ""),
+ if (Row rem 2) =:= 0 ->
+ wxListCtrl:setItemBackgroundColour(ListCtrl,
+ Row,
+ {240,240,255});
true ->
ignore
end,
@@ -515,16 +561,16 @@ goto_line(#state{active_page = P} = S, LineNo) when is_integer(LineNo) ->
wxStyledTextCtrl:setSelection(Editor, Left, Right),
S;
goto_line(#state{active_page = P} =S, Str) when is_list(Str) ->
- try
+ try
LineNo = list_to_integer(Str),
CurrentPos = wxStyledTextCtrl:getCurrentPos(P#code_page.editor),
S2 = add_pos_to_history(S, CurrentPos),
goto_line(S2, LineNo - 1)
- catch
+ catch
_:_ ->
wxStatusBar:setStatusText(S#state.status_bar, "Not a line number"),
S
- end.
+ end.
find_string(S, Str) ->
find_string(S, Str, 0).
@@ -535,19 +581,20 @@ find_regexp_forward(S, Str) ->
wxTextCtrl:setValue(TextCtrl, Str),
S2.
-find_string(#state{active_page = #code_page{editor = Editor,
- find_objs = #find_objs{radio={NextO,_,CaseO}},
- find_data = #find_data{found = Found} = Data} = P} = S,
+find_string(#state{active_page =
+ #code_page{editor = Editor,
+ find_objs = #find_objs{radio={NextO,_,CaseO}},
+ find_data = #find_data{found = Found} = Data} = P} = S,
Str,
Flag) ->
wxStyledTextCtrl:hideSelection(Editor, true),
Dir = wxRadioButton:getValue(NextO) xor wx_misc:getKeyState(?WXK_SHIFT),
Case = wxCheckBox:getValue(CaseO),
Pos =
- if
+ if
Found, Dir -> %% Forward Continuation
wxStyledTextCtrl:getAnchor(Editor);
- Found -> %% Backward Continuation
+ Found -> %% Backward Continuation
wxStyledTextCtrl:getCurrentPos(Editor);
Dir -> %% Forward wrap
0;
@@ -556,18 +603,18 @@ find_string(#state{active_page = #code_page{editor = Editor,
end,
wxStyledTextCtrl:gotoPos(Editor,Pos),
wxStyledTextCtrl:searchAnchor(Editor),
- Flag2 =
+ Flag2 =
if Case -> Flag bor ?wxSTC_FIND_MATCHCASE;
true -> Flag
end,
- Res =
- if
+ Res =
+ if
Dir -> wxStyledTextCtrl:searchNext(Editor, Flag2, Str);
true -> wxStyledTextCtrl:searchPrev(Editor, Flag2, Str)
end,
- Found2 =
+ Found2 =
case Res >= 0 of
- true ->
+ true ->
wxStyledTextCtrl:hideSelection(Editor, false),
%% io:format("Found ~p ~n",[Res]),
LineNo = wxStyledTextCtrl:lineFromPosition(Editor,Res),
@@ -576,11 +623,15 @@ find_string(#state{active_page = #code_page{editor = Editor,
true;
false ->
wxStatusBar:setStatusText(S#state.status_bar,
- "Not found (Hit Enter to wrap search)"),
+ "Not found (Hit Enter to "
+ "wrap search)"),
false
- end,
+ end,
P2 = P#code_page{find_data = Data#find_data{found = Found2}},
- Pages = lists:keystore(P#code_page.name, #code_page.name, S#state.code_pages, P2),
+ Pages = lists:keystore(P#code_page.name,
+ #code_page.name,
+ S#state.code_pages,
+ P2),
S#state{active_page = P2, code_pages = Pages}.
goto_function(S, Editor) ->
@@ -589,14 +640,14 @@ goto_function(S, Editor) ->
Left = wxStyledTextCtrl:wordStartPosition(Editor, CurrentPos, true),
Right = wxStyledTextCtrl:wordEndPosition(Editor, CurrentPos, true),
ColonPos = Left - 1,
- Left2 =
+ Left2 =
case wxStyledTextCtrl:getCharAt(Editor, ColonPos) of
$: ->
wxStyledTextCtrl:wordStartPosition(Editor, ColonPos, true);
_ ->
Left
end,
- Right2 =
+ Right2 =
case wxStyledTextCtrl:getCharAt(Editor, Right) of
$: ->
wxStyledTextCtrl:wordEndPosition(Editor, Right + 1, true);
@@ -623,33 +674,41 @@ do_goto_function(#state{active_page = P} = S, [FunName]) ->
find_regexp_forward(S, "^" ++ FunName ++ "(");
do_goto_function(S, [ModStr, FunStr]) ->
case reltool_server:get_mod(S#state.xref_pid, list_to_atom(ModStr)) of
- {ok, Mod} when Mod#mod.app_name =/= ?MISSING_APP ->
+ {ok, Mod} when Mod#mod.app_name =/= ?MISSING_APP_NAME ->
S2 = create_code_page(S#state{mod = Mod}, ModStr),
find_regexp_forward(S2, "^" ++ FunStr ++ "(");
{ok, _} ->
- wxStatusBar:setStatusText(S#state.status_bar, "No such module: " ++ ModStr),
+ wxStatusBar:setStatusText(S#state.status_bar,
+ "No such module: " ++ ModStr),
S
end.
-goto_back(#state{active_page = #code_page{editor = Editor, find_data = Data} = Page,
+goto_back(#state{active_page =
+ #code_page{editor = Editor, find_data = Data} = Page,
code_pages = Pages} = S) ->
case Data#find_data.history of
[PrevPos | History] ->
LineNo = wxStyledTextCtrl:lineFromPosition(Editor, PrevPos),
Data2 = Data#find_data{history = History},
Page2 = Page#code_page{find_data = Data2},
- Pages2 = lists:keystore(Page2#code_page.name, #code_page.name, Pages, Page2),
- goto_line(S#state{active_page = Page2, code_pages = Pages2}, LineNo);
+ Pages2 = lists:keystore(Page2#code_page.name,
+ #code_page.name,
+ Pages,
+ Page2),
+ goto_line(S#state{active_page = Page2, code_pages = Pages2},
+ LineNo);
[] ->
wxStatusBar:setStatusText(S#state.status_bar, "No history"),
S
end.
-add_pos_to_history(#state{active_page = Page, code_pages = Pages} = S, CurrentPos) ->
+add_pos_to_history(#state{active_page = Page, code_pages = Pages} = S,
+ CurrentPos) ->
Data = Page#code_page.find_data,
Data2 = Data#find_data{history = [CurrentPos | Data#find_data.history]},
Page2 = Page#code_page{find_data = Data2},
- Pages2 = lists:keystore(Page2#code_page.name, #code_page.name, Pages, Page2),
+ Pages2 =
+ lists:keystore(Page2#code_page.name, #code_page.name, Pages, Page2),
S#state{active_page = Page2, code_pages = Pages2}.
create_editor(Parent) ->
@@ -690,19 +749,26 @@ create_editor(Parent) ->
%% Margins Markers
%% Breakpoint Should be a pixmap?
- wxStyledTextCtrl:markerDefine(Ed, 0, ?wxSTC_MARK_CIRCLE, [{foreground, {170,20,20}}]),
- wxStyledTextCtrl:markerDefine(Ed, 0, ?wxSTC_MARK_CIRCLE, [{background, {200,120,120}}]),
- %% Disabled Breakpoint
- wxStyledTextCtrl:markerDefine(Ed, 1, ?wxSTC_MARK_CIRCLE, [{foreground, {20,20,170}}]),
- wxStyledTextCtrl:markerDefine(Ed, 1, ?wxSTC_MARK_CIRCLE, [{background, {120,120,200}}]),
-
+ wxStyledTextCtrl:markerDefine(Ed, 0, ?wxSTC_MARK_CIRCLE,
+ [{foreground, {170,20,20}}]),
+ wxStyledTextCtrl:markerDefine(Ed, 0, ?wxSTC_MARK_CIRCLE,
+ [{background, {200,120,120}}]),
+ %% Disabled Breakpoint
+ wxStyledTextCtrl:markerDefine(Ed, 1, ?wxSTC_MARK_CIRCLE,
+ [{foreground, {20,20,170}}]),
+ wxStyledTextCtrl:markerDefine(Ed, 1, ?wxSTC_MARK_CIRCLE,
+ [{background, {120,120,200}}]),
+
%% Current Line
- wxStyledTextCtrl:markerDefine(Ed, 2, ?wxSTC_MARK_ARROW, [{foreground, {20,170,20}}]),
- wxStyledTextCtrl:markerDefine(Ed, 2, ?wxSTC_MARK_ARROW, [{background, {200,255,200}}]),
- wxStyledTextCtrl:markerDefine(Ed, 3, ?wxSTC_MARK_BACKGROUND, [{background, {200,255,200}}]),
+ wxStyledTextCtrl:markerDefine(Ed, 2, ?wxSTC_MARK_ARROW,
+ [{foreground, {20,170,20}}]),
+ wxStyledTextCtrl:markerDefine(Ed, 2, ?wxSTC_MARK_ARROW,
+ [{background, {200,255,200}}]),
+ wxStyledTextCtrl:markerDefine(Ed, 3, ?wxSTC_MARK_BACKGROUND,
+ [{background, {200,255,200}}]),
%% Scrolling
- Policy = ?wxSTC_CARET_SLOP bor ?wxSTC_CARET_JUMPS bor ?wxSTC_CARET_EVEN,
+ Policy = ?wxSTC_CARET_SLOP bor ?wxSTC_CARET_JUMPS bor ?wxSTC_CARET_EVEN,
wxStyledTextCtrl:setYCaretPolicy(Ed, Policy, 3),
wxStyledTextCtrl:setVisiblePolicy(Ed, Policy, 3),
@@ -714,9 +780,9 @@ create_editor(Parent) ->
create_search_area(Parent) ->
Sizer = wxBoxSizer:new(?wxHORIZONTAL),
- wxSizer:add(Sizer, wxStaticText:new(Parent, ?wxID_ANY, "Find:"),
+ wxSizer:add(Sizer, wxStaticText:new(Parent, ?wxID_ANY, "Find:"),
[{flag,?wxALIGN_CENTER_VERTICAL}]),
- TC1 = wxTextCtrl:new(Parent, ?SEARCH_ENTRY, [{style, ?wxTE_PROCESS_ENTER}]),
+ TC1 = wxTextCtrl:new(Parent, ?SEARCH_ENTRY, [{style, ?wxTE_PROCESS_ENTER}]),
wxSizer:add(Sizer, TC1, [{proportion,3}, {flag, ?wxEXPAND}]),
Nbtn = wxRadioButton:new(Parent, ?wxID_ANY, "Next"),
wxRadioButton:setValue(Nbtn, true),
@@ -726,14 +792,15 @@ create_search_area(Parent) ->
Cbtn = wxCheckBox:new(Parent, ?wxID_ANY, "Match Case"),
wxSizer:add(Sizer,Cbtn,[{flag,?wxALIGN_CENTER_VERTICAL}]),
wxSizer:add(Sizer, 15,15, [{proportion,1}, {flag, ?wxEXPAND}]),
- wxSizer:add(Sizer, wxStaticText:new(Parent, ?wxID_ANY, "Goto Line:"),
+ wxSizer:add(Sizer, wxStaticText:new(Parent, ?wxID_ANY, "Goto Line:"),
[{flag,?wxALIGN_CENTER_VERTICAL}]),
- TC2 = wxTextCtrl:new(Parent, ?GOTO_ENTRY, [{style, ?wxTE_PROCESS_ENTER}]),
+ TC2 = wxTextCtrl:new(Parent, ?GOTO_ENTRY, [{style, ?wxTE_PROCESS_ENTER}]),
wxSizer:add(Sizer, TC2, [{proportion,0}, {flag, ?wxEXPAND}]),
Button = wxButton:new(Parent, ?wxID_ANY, [{label, "Back"}]),
wxSizer:add(Sizer, Button, []),
- wxEvtHandler:connect(Button, command_button_clicked, [{userData, history_back}]),
+ wxEvtHandler:connect(Button, command_button_clicked,
+ [{userData, history_back}]),
%% wxTextCtrl:connect(TC1, command_text_updated),
wxTextCtrl:connect(TC1, command_text_enter),
%% wxTextCtrl:connect(TC1, kill_focus),
@@ -748,7 +815,9 @@ load_code(Ed, Code) when is_binary(Code) ->
wxStyledTextCtrl:setTextRaw(Ed, <<Code/binary, 0:8>>),
Lines = wxStyledTextCtrl:getLineCount(Ed),
Sz = trunc(math:log10(Lines))+1,
- LW = wxStyledTextCtrl:textWidth(Ed, ?wxSTC_STYLE_LINENUMBER, lists:duplicate(Sz, $9)),
+ LW = wxStyledTextCtrl:textWidth(Ed,
+ ?wxSTC_STYLE_LINENUMBER,
+ lists:duplicate(Sz, $9)),
%%io:format("~p ~p ~p~n", [Lines, Sz, LW]),
wxStyledTextCtrl:setMarginWidth(Ed, 0, LW+5),
wxStyledTextCtrl:setReadOnly(Ed, true),
diff --git a/lib/reltool/src/reltool_server.erl b/lib/reltool/src/reltool_server.erl
index 8d4530131f..039ad56aa8 100644
--- a/lib/reltool/src/reltool_server.erl
+++ b/lib/reltool/src/reltool_server.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(reltool_server).
@@ -44,7 +44,7 @@
-include("reltool.hrl").
--record(state,
+-record(state,
{options,
parent_pid,
common,
@@ -60,16 +60,20 @@ start_link() ->
start_link([]).
start_link(Options) ->
- proc_lib:start_link(?MODULE, init, [[{parent, self()} | Options]], infinity, []).
+ proc_lib:start_link(?MODULE,
+ init,
+ [[{parent, self()} | Options]],
+ infinity,
+ []).
-get_config(Pid, InclDefaults, InclDerivates) ->
- reltool_utils:call(Pid, {get_config, InclDefaults, InclDerivates}).
+get_config(Pid, InclDef, InclDeriv) ->
+ reltool_utils:call(Pid, {get_config, InclDef, InclDeriv}).
load_config(Pid, FilenameOrConfig) ->
reltool_utils:call(Pid, {load_config, FilenameOrConfig}).
-save_config(Pid, Filename, InclDefaults, InclDerivates) ->
- reltool_utils:call(Pid, {save_config, Filename, InclDefaults, InclDerivates}).
+save_config(Pid, Filename, InclDef, InclDeriv) ->
+ reltool_utils:call(Pid, {save_config, Filename, InclDef, InclDeriv}).
reset_config(Pid) ->
reltool_utils:call(Pid, reset_config).
@@ -128,18 +132,20 @@ init(Options) ->
end.
do_init(Options) ->
- case parse_options(Options) of
- {#state{parent_pid = ParentPid, common = C, sys = Sys} = S, Status} ->
- %% process_flag(trap_exit, (S#state.common)#common.trap_exit),
- proc_lib:init_ack(ParentPid, {ok, self(), C, Sys#sys{apps = undefined}}),
- {S2, Status2} = refresh(S, true, Status),
- {S3, Status3} = analyse(S2#state{old_sys = S2#state.sys}, Status2),
- case Status3 of
- {ok, _Warnings} ->
- loop(S3#state{status = Status3, old_status = {ok, []}});
- {error, Reason} ->
- exit(Reason)
- end
+ {S, Status} = parse_options(Options),
+ #state{parent_pid = ParentPid, common = C, sys = Sys} = S,
+
+ %% process_flag(trap_exit, (S#state.common)#common.trap_exit),
+ proc_lib:init_ack(ParentPid,
+ {ok, self(), C, Sys#sys{apps = undefined}}),
+ {S2, Status2} = refresh(S, true, Status),
+ {S3, Status3} =
+ analyse(S2#state{old_sys = S2#state.sys}, Status2),
+ case Status3 of
+ {ok, _Warnings} -> % BUGBUG: handle warnings
+ loop(S3#state{status = Status3, old_status = {ok, []}});
+ {error, Reason} ->
+ exit(Reason)
end.
parse_options(Opts) ->
@@ -156,15 +162,28 @@ parse_options(Opts) ->
rels = reltool_utils:default_rels(),
emu_name = ?DEFAULT_EMU_NAME,
profile = ?DEFAULT_PROFILE,
- incl_sys_filters = reltool_utils:decode_regexps(incl_sys_filters, ?DEFAULT_INCL_SYS_FILTERS, []),
- excl_sys_filters = reltool_utils:decode_regexps(excl_sys_filters, ?DEFAULT_EXCL_SYS_FILTERS, []),
- incl_app_filters = reltool_utils:decode_regexps(incl_app_filters, ?DEFAULT_INCL_APP_FILTERS, []),
- excl_app_filters = reltool_utils:decode_regexps(excl_app_filters, ?DEFAULT_EXCL_APP_FILTERS, []),
+ incl_sys_filters = dec_re(incl_sys_filters,
+ ?DEFAULT_INCL_SYS_FILTERS,
+ []),
+ excl_sys_filters = dec_re(excl_sys_filters,
+ ?DEFAULT_EXCL_SYS_FILTERS,
+ []),
+ incl_app_filters = dec_re(incl_app_filters,
+ ?DEFAULT_INCL_APP_FILTERS,
+ []),
+ excl_app_filters = dec_re(excl_app_filters,
+ ?DEFAULT_EXCL_APP_FILTERS,
+ []),
relocatable = ?DEFAULT_RELOCATABLE,
- app_type = ?DEFAULT_APP_TYPE,
+ rel_app_type = ?DEFAULT_REL_APP_TYPE,
+ embedded_app_type = ?DEFAULT_EMBEDDED_APP_TYPE,
app_file = ?DEFAULT_APP_FILE,
- incl_archive_filters = reltool_utils:decode_regexps(incl_archive_filters, ?DEFAULT_INCL_ARCHIVE_FILTERS, []),
- excl_archive_filters = reltool_utils:decode_regexps(excl_archive_filters, ?DEFAULT_EXCL_ARCHIVE_FILTERS, []),
+ incl_archive_filters = dec_re(incl_archive_filters,
+ ?DEFAULT_INCL_ARCHIVE_FILTERS,
+ []),
+ excl_archive_filters = dec_re(excl_archive_filters,
+ ?DEFAULT_EXCL_ARCHIVE_FILTERS,
+ []),
archive_opts = ?DEFAULT_ARCHIVE_OPTS,
debug_info = ?DEFAULT_DEBUG_INFO},
C2 = #common{sys_debug = [],
@@ -176,6 +195,9 @@ parse_options(Opts) ->
S = #state{options = Opts},
parse_options(Opts, S, C2, Sys, {ok, []}).
+dec_re(Key, Regexps, Old) ->
+ reltool_utils:decode_regexps(Key, Regexps, Old).
+
parse_options([{Key, Val} | KeyVals], S, C, Sys, Status) ->
case Key of
parent ->
@@ -194,30 +216,38 @@ parse_options([{Key, Val} | KeyVals], S, C, Sys, Status) ->
parse_options(KeyVals, S, C, Sys2, Status2);
_ ->
Text = lists:flatten(io_lib:format("~p", [{Key, Val}])),
- Status2 = reltool_utils:return_first_error(Status, "Illegal option: " ++ Text),
+ Status2 =
+ reltool_utils:return_first_error(Status,
+ "Illegal option: " ++ Text),
parse_options(KeyVals, S, C, Sys, Status2)
end;
parse_options([], S, C, Sys, Status) ->
{S#state{common = C, sys = Sys}, Status};
parse_options(KeyVals, S, C, Sys, Status) ->
Text = lists:flatten(io_lib:format("~p", [KeyVals])),
- Status2 = reltool_utils:return_first_error(Status, "Illegal options: " ++ Text),
+ Status2 = reltool_utils:return_first_error(Status,
+ "Illegal options: " ++ Text),
{S#state{common = C, sys = Sys}, Status2}.
loop(#state{common = C, sys = Sys} = S) ->
receive
{system, From, Msg} ->
- sys:handle_system_msg(Msg, From, S#state.parent_pid, ?MODULE, C#common.sys_debug, S);
- {call, ReplyTo, Ref, {get_config, InclDefaults, InclDerivates}} ->
- Reply = do_get_config(S, InclDefaults, InclDerivates),
+ sys:handle_system_msg(Msg,
+ From,
+ S#state.parent_pid,
+ ?MODULE,
+ C#common.sys_debug,
+ S);
+ {call, ReplyTo, Ref, {get_config, InclDef, InclDeriv}} ->
+ Reply = do_get_config(S, InclDef, InclDeriv),
reltool_utils:reply(ReplyTo, Ref, Reply),
?MODULE:loop(S);
{call, ReplyTo, Ref, {load_config, SysConfig}} ->
{S2, Reply} = do_load_config(S, SysConfig),
reltool_utils:reply(ReplyTo, Ref, Reply),
?MODULE:loop(S2);
- {call, ReplyTo, Ref, {save_config, Filename, InclDefaults, InclDerivates}} ->
- Reply = do_save_config(S, Filename, InclDefaults, InclDerivates),
+ {call, ReplyTo, Ref, {save_config, Filename, InclDef, InclDeriv}} ->
+ Reply = do_save_config(S, Filename, InclDef, InclDeriv),
reltool_utils:reply(ReplyTo, Ref, Reply),
?MODULE:loop(S);
{call, ReplyTo, Ref, reset_config} ->
@@ -225,43 +255,44 @@ loop(#state{common = C, sys = Sys} = S) ->
S3 = shrink_sys(S2),
{S4, Status2} = refresh(S3, true, Status),
{S5, Status3} = analyse(S4#state{old_sys = S4#state.sys}, Status2),
- S6 =
+ S6 =
case Status3 of
{ok, _Warnings} ->
S5#state{status = Status3, old_status = S#state.status};
{error, _} ->
+ %% Keep old state
S
end,
reltool_utils:reply(ReplyTo, Ref, Status3),
?MODULE:loop(S6);
{call, ReplyTo, Ref, undo_config} ->
reltool_utils:reply(ReplyTo, Ref, ok),
- S2 = S#state{sys = S#state.old_sys,
+ S2 = S#state{sys = S#state.old_sys,
old_sys = S#state.sys,
status = S#state.old_status,
old_status = S#state.status},
?MODULE:loop(S2);
{call, ReplyTo, Ref, {get_rel, RelName}} ->
Sys = S#state.sys,
- Reply =
+ Reply =
case lists:keysearch(RelName, #rel.name, Sys#sys.rels) of
{value, Rel} ->
- {ok, reltool_target:gen_rel(Rel, Sys)};
+ reltool_target:gen_rel(Rel, Sys);
false ->
- {error, "No such release"}
+ {error, "No such release: " ++ RelName}
end,
reltool_utils:reply(ReplyTo, Ref, Reply),
?MODULE:loop(S);
{call, ReplyTo, Ref, {get_script, RelName}} ->
Sys = S#state.sys,
- Reply =
+ Reply =
case lists:keysearch(RelName, #rel.name, Sys#sys.rels) of
{value, Rel} ->
PathFlag = true,
- Variables = [],
- reltool_target:gen_script(Rel, Sys, PathFlag, Variables);
+ Vars = [],
+ reltool_target:gen_script(Rel, Sys, PathFlag, Vars);
false ->
- {error, "No such release"}
+ {error, "No such release: " ++ RelName}
end,
reltool_utils:reply(ReplyTo, Ref, Reply),
?MODULE:loop(S);
@@ -271,17 +302,18 @@ loop(#state{common = C, sys = Sys} = S) ->
[M] ->
{ok, M};
[] ->
- {ok, missing_mod(ModName, ?MISSING_APP)}
+ {ok, missing_mod(ModName, ?MISSING_APP_NAME)}
end,
reltool_utils:reply(ReplyTo, Ref, Reply),
?MODULE:loop(S);
{call, ReplyTo, Ref, {get_app, AppName}} when is_atom(AppName) ->
- Reply =
+ Reply =
case lists:keysearch(AppName, #app.name, Sys#sys.apps) of
{value, App} ->
{ok, App};
false ->
- {error, enoent}
+ {error, "No such application: " ++
+ atom_to_list(AppName)}
end,
reltool_utils:reply(ReplyTo, Ref, Reply),
?MODULE:loop(S);
@@ -296,21 +328,22 @@ loop(#state{common = C, sys = Sys} = S) ->
reltool_utils:reply(ReplyTo, Ref, {ok, App2, Warnings}),
?MODULE:loop(S3);
{error, Reason} ->
+ %% Keep old state
reltool_utils:reply(ReplyTo, Ref, {error, Reason}),
?MODULE:loop(S)
end;
{call, ReplyTo, Ref, {get_apps, Kind}} ->
AppNames =
case Kind of
- whitelist ->
+ whitelist ->
[A ||
A <- Sys#sys.apps,
A#app.is_pre_included =:= true];
- blacklist ->
+ blacklist ->
[A ||
A <- Sys#sys.apps,
A#app.is_pre_included =:= false];
- source ->
+ source ->
[A ||
A <- Sys#sys.apps,
A#app.is_included =/= true,
@@ -324,9 +357,10 @@ loop(#state{common = C, sys = Sys} = S) ->
reltool_utils:reply(ReplyTo, Ref, {ok, AppNames}),
?MODULE:loop(S);
{call, ReplyTo, Ref, {set_apps, Apps}} ->
- {S2, Status} = lists:foldl(fun(A, {X, Y}) -> do_set_app(X, A, Y) end,
- {S, {ok, []}},
- Apps),
+ {S2, Status} =
+ lists:foldl(fun(A, {X, Y}) -> do_set_app(X, A, Y) end,
+ {S, {ok, []}},
+ Apps),
{S3, Status2} = analyse(S2, Status),
reltool_utils:reply(ReplyTo, Ref, Status2),
?MODULE:loop(S3);
@@ -335,26 +369,30 @@ loop(#state{common = C, sys = Sys} = S) ->
?MODULE:loop(S);
{call, ReplyTo, Ref, {set_sys, Sys2}} ->
S2 = S#state{sys = Sys2#sys{apps = Sys#sys.apps}},
- Force =
+ Force =
(Sys2#sys.root_dir =/= Sys#sys.root_dir) orelse
(Sys2#sys.lib_dirs =/= Sys#sys.lib_dirs) orelse
(Sys2#sys.escripts =/= Sys#sys.escripts),
{S3, Status} = refresh(S2, Force, {ok, []}),
- {S4, Status2} = analyse(S3#state{old_sys = S#state.sys}, Status),
- S6 =
- case Status2 of
- {ok, _Warnings} ->
- S4#state{status = Status2, old_status = S#state.status};
- {error, _} ->
- S
- end,
- reltool_utils:reply(ReplyTo, Ref, Status2),
- ?MODULE:loop(S6);
+ {S4, Status2} =
+ analyse(S3#state{old_sys = S#state.sys}, Status),
+ {S5, Status3} =
+ case Status2 of
+ {ok, _Warnings} -> % BUGBUG: handle warnings
+ {S4#state{status = Status2,
+ old_status = S#state.status},
+ Status2};
+ {error, _} ->
+ %% Keep old state
+ {S, Status2}
+ end,
+ reltool_utils:reply(ReplyTo, Ref, Status3),
+ ?MODULE:loop(S5);
{call, ReplyTo, Ref, get_status} ->
reltool_utils:reply(ReplyTo, Ref, S#state.status),
?MODULE:loop(S);
{call, ReplyTo, Ref, {gen_rel_files, Dir}} ->
- Status =
+ Status =
case reltool_target:gen_rel_files(S#state.sys, Dir) of
ok ->
{ok, []};
@@ -395,16 +433,25 @@ do_set_app(#state{sys = Sys} = S, App, Status) ->
Sys2 = Sys#sys{apps = Apps2, escripts = Escripts},
{S#state{sys = Sys2}, Status2}.
-analyse(#state{common = C, sys = #sys{apps = Apps0} = Sys} = S, Status) ->
- Apps = lists:keydelete(?MISSING_APP, #app.name, Apps0),
+analyse(#state{common = C,
+ sys = #sys{apps = Apps0, rels = Rels} = Sys} = S,
+ Status) ->
+ Apps = lists:keydelete(?MISSING_APP_NAME, #app.name, Apps0),
ets:delete_all_objects(C#common.app_tab),
ets:delete_all_objects(C#common.mod_tab),
ets:delete_all_objects(C#common.mod_used_by_tab),
- MissingApp = default_app(?MISSING_APP, "missing"),
+ MissingApp = default_app(?MISSING_APP_NAME, "missing"),
ets:insert(C#common.app_tab, MissingApp),
- Apps2 = lists:map(fun(App) -> app_init_is_included(C, Sys, App) end, Apps),
- Apps3 =
+ {RevRelApps, Status2} = apps_in_rels(Rels, Apps, Status),
+ RelApps2 = lists:reverse(RevRelApps),
+ {Apps2, Status3} =
+ lists:mapfoldl(fun(App, Acc) ->
+ app_init_is_included(C, Sys, App, RelApps2, Acc)
+ end,
+ Status2,
+ Apps),
+ Apps3 =
case app_propagate_is_included(C, Sys, Apps2, []) of
[] ->
Apps2;
@@ -412,25 +459,68 @@ analyse(#state{common = C, sys = #sys{apps = Apps0} = Sys} = S, Status) ->
%% io:format("Missing mods: ~p\n", [MissingMods]),
MissingApp2 = MissingApp#app{label = ?MISSING_APP_TEXT,
info = missing_app_info(""),
- mods = MissingMods,
+ mods = MissingMods,
status = missing,
uses_mods = []},
[MissingApp2 | Apps2]
end,
app_propagate_is_used_by(C, Apps3),
Apps4 = read_apps(C, Sys, Apps3, []),
- %% io:format("Missing app: ~p\n", [lists:keysearch(?MISSING_APP, #app.name, Apps4)]),
+ %% io:format("Missing app: ~p\n",
+ %% [lists:keysearch(?MISSING_APP_NAME, #app.name, Apps4)]),
Sys2 = Sys#sys{apps = Apps4},
- try
- Status2 = verify_config(Sys2, Status),
- {S#state{sys = Sys2}, Status2}
- catch
- throw:{error, Status3} ->
- {S, Status3}
+
+ case verify_config(RelApps2, Sys2, Status3) of
+ {ok, _Warnings} = Status4 ->
+ {S#state{sys = Sys2}, Status4};
+ {error, _} = Status4 ->
+ {S, Status4}
end.
-app_init_is_included(C, Sys, #app{mods = Mods} = A) ->
- AppCond =
+apps_in_rels(Rels, Apps, Status) ->
+ lists:foldl(fun(Rel, {RelApps, S}) ->
+ {MoreRelApps, S2} = apps_in_rel(Rel, Apps, S),
+ {MoreRelApps ++ RelApps, S2}
+ end,
+ {[], Status},
+ Rels).
+
+apps_in_rel(#rel{name = RelName, rel_apps = RelApps}, Apps, Status) ->
+ Mandatory = [{RelName, kernel}, {RelName, stdlib}],
+ Other = [{RelName, AppName} ||
+ RA <- RelApps,
+ AppName <- [RA#rel_app.name | RA#rel_app.incl_apps],
+ not lists:keymember(AppName, 2, Mandatory)],
+ more_apps_in_rels(Mandatory ++ Other, Apps, [], Status).
+
+more_apps_in_rels([{RelName, AppName} = RA | RelApps], Apps, Acc, Status) ->
+ case lists:member(RA, Acc) of
+ true ->
+ more_apps_in_rels(RelApps, Apps, Acc, Status);
+ false ->
+ case lists:keysearch(AppName, #app.name, Apps) of
+ {value, #app{info = #app_info{applications = InfoApps}}} ->
+ Extra = [{RelName, N} || N <- InfoApps],
+ {Acc2, Status2} =
+ more_apps_in_rels(Extra, Apps, [RA | Acc], Status),
+ more_apps_in_rels(RelApps, Apps, Acc2, Status2);
+ false ->
+ Text = lists:concat(["Release ", RelName,
+ " uses non existing application ",
+ AppName]),
+ Status2 = reltool_utils:return_first_error(Status, Text),
+ more_apps_in_rels(RelApps, Apps, Acc, Status2)
+ end
+ end;
+more_apps_in_rels([], _Apps, Acc, Status) ->
+ {Acc, Status}.
+
+app_init_is_included(C,
+ Sys,
+ #app{name = AppName, mods = Mods} = A,
+ RelApps,
+ Status) ->
+ AppCond =
case A#app.incl_cond of
undefined -> Sys#sys.incl_cond;
_ -> A#app.incl_cond
@@ -440,17 +530,37 @@ app_init_is_included(C, Sys, #app{mods = Mods} = A) ->
undefined -> Sys#sys.mod_cond;
_ -> A#app.mod_cond
end,
- IsIncl =
- case AppCond of
- include -> true;
- exclude -> false;
- derived -> undefined
+ Rels = [RelName || {RelName, AN} <- RelApps, AN =:= AppName],
+ {Default, IsPreIncl, IsIncl, Status2} =
+ case {AppCond, Rels} of
+ {include, _} ->
+ {undefined, true, true, Status};
+ {exclude, []} ->
+ {undefined, false, false, Status};
+ {exclude, [RelName | _]} -> % App is included in at least one rel
+ Text = lists:concat(["Application ", AppName, " is used "
+ "in release ", RelName, " and cannot "
+ "be excluded"]),
+ TmpStatus = reltool_utils:return_first_error(Status, Text),
+ {undefined, false, false, TmpStatus};
+ {derived, []} ->
+ {undefined, undefined, undefined, Status};
+ {derived, [_ | _]} -> % App is included in at least one rel
+ {true, undefined, true, Status}
end,
- A2 = A#app{is_pre_included = IsIncl, is_included = IsIncl},
+ A2 = A#app{is_pre_included = IsPreIncl,
+ is_included = IsIncl,
+ rels = Rels},
ets:insert(C#common.app_tab, A2),
- lists:foreach(fun(Mod) -> mod_init_is_included(C, Mod, ModCond, AppCond, undefined) end, Mods),
- %%app_mod_init_is_included(C, AppName, Info, ModCond, AppCond),
- A2.
+ lists:foreach(fun(Mod) ->
+ mod_init_is_included(C,
+ Mod,
+ ModCond,
+ AppCond,
+ Default)
+ end,
+ Mods),
+ {A2, Status2}.
mod_init_is_included(C, M, ModCond, AppCond, Default) ->
%% print(M#mod.name, hipe, "incl_cond -> ~p\n", [AppCond]),
@@ -463,7 +573,8 @@ mod_init_is_included(C, M, ModCond, AppCond, Default) ->
exclude ->
false;
undefined ->
- %% print(M#mod.name, hipe, "mod_cond -> ~p\n", [ModCond]),
+ %% print(M#mod.name, hipe, "mod_cond -> ~p\n",
+ %% [ModCond]),
case ModCond of
all -> true;
app -> false_to_undefined(M#mod.is_app_mod);
@@ -493,7 +604,7 @@ false_to_undefined(Bool) ->
false -> undefined;
_ -> Bool
end.
-
+
app_propagate_is_included(C, Sys, [#app{mods = Mods} = A | Apps], Acc) ->
Acc2 = mod_propagate_is_included(C, Sys, A, Mods, Acc),
app_propagate_is_included(C, Sys, Apps, Acc2);
@@ -502,9 +613,11 @@ app_propagate_is_included(_C, _Sys, [], Acc) ->
mod_propagate_is_included(C, Sys, A, [#mod{name = ModName} | Mods], Acc) ->
[M2] = ets:lookup(C#common.mod_tab, ModName),
- %% print(ModName, file, "Maybe Prop ~p -> ~p\n", [M2, M2#mod.is_included]),
- %% print(ModName, filename, "Maybe Prop ~p -> ~p\n", [M2, M2#mod.is_included]),
- Acc2 =
+ %% print(ModName, file, "Maybe Prop ~p -> ~p\n",
+ %% [M2, M2#mod.is_included]),
+ %% print(ModName, filename, "Maybe Prop ~p -> ~p\n",
+ %% [M2, M2#mod.is_included]),
+ Acc2 =
case M2#mod.is_included of
true ->
%% Propagate include mark
@@ -519,11 +632,13 @@ mod_propagate_is_included(_C, _Sys, _A, [], Acc) ->
Acc.
mod_mark_is_included(C, Sys, UsedByName, [ModName | ModNames], Acc) ->
- Acc3 =
+ Acc3 =
case ets:lookup(C#common.mod_tab, ModName) of
- [M] ->
- %% print(UsedByName, file, "Maybe Mark ~p -> ~p\n", [M, M#mod.is_included]),
- %% print(UsedByName, filename, "Maybe Mark ~p -> ~p\n", [M, M#mod.is_included]),
+ [M] ->
+ %% print(UsedByName, file, "Maybe Mark ~p -> ~p\n",
+ %% [M, M#mod.is_included]),
+ %% print(UsedByName, filename, "Maybe Mark ~p -> ~p\n",
+ %% [M, M#mod.is_included]),
case M#mod.is_included of
true ->
%% Already marked
@@ -533,19 +648,22 @@ mod_mark_is_included(C, Sys, UsedByName, [ModName | ModNames], Acc) ->
Acc;
undefined ->
%% Mark and propagate
- M2 =
+ M2 =
case M#mod.incl_cond of
include ->
- M#mod{is_pre_included = true, is_included = true};
+ M#mod{is_pre_included = true,
+ is_included = true};
exclude ->
- M#mod{is_pre_included = true, is_included = true};
+ M#mod{is_pre_included = true,
+ is_included = true};
undefined ->
M#mod{is_included = true}
end,
ets:insert(C#common.mod_tab, M2),
- %% io:format("Propagate mod: ~p -> ~p (~p)\n", [UsedByName, ModName, M#mod.incl_cond]),
+ %% io:format("Propagate mod: ~p -> ~p (~p)\n",
+ %% [UsedByName, ModName, M#mod.incl_cond]),
[A] = ets:lookup(C#common.app_tab, M2#mod.app_name),
- Acc2 =
+ Acc2 =
case A#app.is_included of
true ->
Acc;
@@ -557,7 +675,7 @@ mod_mark_is_included(C, Sys, UsedByName, [ModName | ModNames], Acc) ->
undefined -> Sys#sys.mod_cond;
_ -> A#app.mod_cond
end,
- Filter =
+ Filter =
fun(M3) ->
case ModCond of
all -> true;
@@ -569,15 +687,25 @@ mod_mark_is_included(C, Sys, UsedByName, [ModName | ModNames], Acc) ->
end,
Mods = lists:filter(Filter, A#app.mods),
%% io:format("Propagate app: ~p ~p -> ~p\n",
- %% [UsedByName, A#app.name, [M3#mod.name || M3 <- Mods]]),
+ %% [UsedByName, A#app.name,
+ %% [M3#mod.name || M3 <- Mods]]),
A2 = A#app{is_included = true},
- ets:insert(C#common.app_tab, A2),
- mod_mark_is_included(C, Sys, ModName, [M3#mod.name || M3 <- Mods], Acc)
+ ets:insert(C#common.app_tab, A2),
+ mod_mark_is_included(C,
+ Sys,
+ ModName,
+ [M3#mod.name ||
+ M3 <- Mods],
+ Acc)
end,
- mod_mark_is_included(C, Sys, ModName, M2#mod.uses_mods, Acc2)
+ mod_mark_is_included(C,
+ Sys,
+ ModName,
+ M2#mod.uses_mods,
+ Acc2)
end;
[] ->
- M = missing_mod(ModName, ?MISSING_APP),
+ M = missing_mod(ModName, ?MISSING_APP_NAME),
M2 = M#mod{is_included = true},
ets:insert(C#common.mod_tab, M2),
ets:insert(C#common.mod_used_by_tab, {UsedByName, ModName}),
@@ -588,7 +716,7 @@ mod_mark_is_included(_C, _Sys, _UsedByName, [], Acc) ->
Acc.
app_propagate_is_used_by(C, [#app{mods = Mods, name = Name} | Apps]) ->
- case Name =:= ?MISSING_APP of
+ case Name =:= ?MISSING_APP_NAME of
true -> ok;
false -> ok
end,
@@ -614,21 +742,22 @@ mod_propagate_is_used_by(_C, []) ->
read_apps(C, Sys, [#app{mods = Mods, is_included = IsIncl} = A | Apps], Acc) ->
{Mods2, IsIncl2} = read_apps(C, Sys, A, Mods, [], IsIncl),
- %% reltool_utils:print(A#app.name, stdlib, "Mods2: ~p\n", [[M#mod.status || M <- Mods2]]),
- Status =
+ Status =
case lists:keysearch(missing, #mod.status, Mods2) of
{value, _} -> missing;
false -> ok
end,
UsesMods = [M#mod.uses_mods || M <- Mods2, M#mod.is_included =:= true],
UsesMods2 = lists:usort(lists:flatten(UsesMods)),
- UsesApps = [M#mod.app_name || ModName <- UsesMods2, M <- ets:lookup(C#common.mod_tab, ModName)],
+ UsesApps = [M#mod.app_name || ModName <- UsesMods2,
+ M <- ets:lookup(C#common.mod_tab, ModName)],
UsesApps2 = lists:usort(UsesApps),
UsedByMods = [M#mod.used_by_mods || M <- Mods2, M#mod.is_included =:= true],
UsedByMods2 = lists:usort(lists:flatten(UsedByMods)),
- UsedByApps = [M#mod.app_name || ModName <- UsedByMods2, M <- ets:lookup(C#common.mod_tab, ModName)],
+ UsedByApps = [M#mod.app_name || ModName <- UsedByMods2,
+ M <- ets:lookup(C#common.mod_tab, ModName)],
UsedByApps2 = lists:usort(UsedByApps),
-
+
A2 = A#app{mods = Mods2,
status = Status,
uses_mods = UsesMods2,
@@ -644,12 +773,14 @@ read_apps(C, Sys, A, [#mod{name = ModName} | Mods], Acc, IsIncl) ->
[M2] = ets:lookup(C#common.mod_tab, ModName),
Status = do_get_status(M2),
%% print(M2#mod.name, hipe, "status -> ~p\n", [Status]),
- {IsIncl2, M3} =
+ {IsIncl2, M3} =
case M2#mod.is_included of
true ->
- UsedByMods = [N || {_, N} <- ets:lookup(C#common.mod_used_by_tab, ModName)],
+ UsedByMods =
+ [N || {_, N} <- ets:lookup(C#common.mod_used_by_tab,
+ ModName)],
{true, M2#mod{status = Status, used_by_mods = UsedByMods}};
- _ ->
+ _ ->
{IsIncl, M2#mod{status = Status, used_by_mods = []}}
end,
ets:insert(C#common.mod_tab, M3),
@@ -669,14 +800,12 @@ shrink_sys(#state{sys = #sys{apps = Apps} = Sys} = S) ->
Apps2 = lists:zf(fun filter_app/1, Apps),
S#state{sys = Sys#sys{apps = Apps2}}.
-filter_app(A) ->
+filter_app(A) ->
Mods = [M#mod{is_app_mod = undefined,
is_ebin_mod = undefined,
uses_mods = undefined,
- exists = false,
- is_pre_included = undefined,
- is_included = undefined} ||
- M <- A#app.mods,
+ exists = false} ||
+ M <- A#app.mods,
M#mod.incl_cond =/= undefined],
if
A#app.is_escript ->
@@ -684,17 +813,16 @@ filter_app(A) ->
label = undefined,
info = undefined,
mods = [],
- uses_mods = undefined,
- is_included = undefined}};
+ uses_mods = undefined}};
Mods =:= [],
A#app.mod_cond =:= undefined,
A#app.incl_cond =:= undefined,
A#app.use_selected_vsn =:= undefined ->
false;
true ->
- {Dir, Dirs} =
+ {Dir, Dirs} =
case A#app.use_selected_vsn of
- undefined ->
+ undefined ->
{shrinked, []};
false ->
{shrinked, []};
@@ -715,8 +843,7 @@ filter_app(A) ->
label = undefined,
info = undefined,
mods = Mods,
- uses_mods = undefined,
- is_included = undefined}}
+ uses_mods = undefined}}
end.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -730,37 +857,45 @@ refresh_app(#app{name = AppName,
Status) ->
if
Force; OptLabel =:= undefined ->
- {AppInfo, EbinMods, Status3} =
+ {AppInfo, EbinMods, Status3} =
case IsEscript of
false ->
-
+
%% Add info from .app file
Base = get_base(AppName, ActiveDir),
{_, DefaultVsn} = reltool_utils:split_app_name(Base),
Ebin = filename:join([ActiveDir, "ebin"]),
- AppFile = filename:join([Ebin, atom_to_list(AppName) ++ ".app"]),
- {AI, Status2} = read_app_info(AppFile, AppFile, AppName, DefaultVsn, Status),
+ AppFile =
+ filename:join([Ebin,
+ atom_to_list(AppName) ++ ".app"]),
+ {AI, Status2} =
+ read_app_info(AppFile,
+ AppFile,
+ AppName,
+ DefaultVsn,
+ Status),
{AI, read_ebin_mods(Ebin, AppName), Status2};
true ->
{App#app.info, Mods, Status}
end,
-
+
%% Add non-existing modules
+ AppInfoMods = AppInfo#app_info.modules,
AppModNames =
case AppInfo#app_info.mod of
{StartModName, _} ->
- case lists:member(StartModName, AppInfo#app_info.modules) of
- true -> AppInfo#app_info.modules;
- false -> [StartModName | AppInfo#app_info.modules]
+ case lists:member(StartModName, AppInfoMods) of
+ true -> AppInfoMods;
+ false -> [StartModName | AppInfoMods]
end;
- undefined ->
- AppInfo#app_info.modules
+ undefined ->
+ AppInfoMods
end,
MissingMods = add_missing_mods(AppName, EbinMods, AppModNames),
-
+
%% Add optional user config for each module
Mods2 = add_mod_config(MissingMods ++ EbinMods, Mods),
-
+
%% Set app flag for each module in app file
Mods3 = set_mod_flags(Mods2, AppModNames),
AppVsn = AppInfo#app_info.vsn,
@@ -770,7 +905,7 @@ refresh_app(#app{name = AppName,
_ -> atom_to_list(AppName) ++ "-" ++ AppVsn
end,
App2 = App#app{vsn = AppVsn,
- label = AppLabel,
+ label = AppLabel,
info = AppInfo,
mods = lists:keysort(#mod.name, Mods3)},
{App2, Status3};
@@ -790,30 +925,59 @@ read_app_info(AppFileOrBin, AppFile, AppName, DefaultVsn, Status) ->
AI = #app_info{vsn = DefaultVsn},
parse_app_info(AppFile, Info, AI, Status);
{ok, _BadApp} ->
- Text = lists:concat([AppName, ": Illegal contents in app file ", AppFile]),
- {missing_app_info(DefaultVsn), reltool_utils:add_warning(Status, Text)};
- {error, Text} when Text =:= EnoentText->
- {missing_app_info(DefaultVsn), Status};
+ Text = lists:concat([AppName,
+ ": Illegal contents in app file ", AppFile,
+ ", application tuple with arity 3 expected."]),
+ {missing_app_info(DefaultVsn),
+ reltool_utils:add_warning(Status, Text)};
+ {error, Text} when Text =:= EnoentText ->
+ Text2 = lists:concat([AppName,
+ ": Missing app file ", AppFile, "."]),
+ {missing_app_info(DefaultVsn),
+ reltool_utils:add_warning(Status, Text2)};
{error, Text} ->
- Text2 = lists:concat([AppName, ": Cannot parse app file ", AppFile, " (", Text, ")."]),
- {missing_app_info(DefaultVsn), reltool_utils:add_warning(Status, Text2)}
+ Text2 = lists:concat([AppName,
+ ": Cannot parse app file ",
+ AppFile, " (", Text, ")."]),
+ {missing_app_info(DefaultVsn),
+ reltool_utils:add_warning(Status, Text2)}
end.
parse_app_info(File, [{Key, Val} | KeyVals], AI, Status) ->
case Key of
- description -> parse_app_info(File, KeyVals, AI#app_info{description = Val}, Status);
- id -> parse_app_info(File, KeyVals, AI#app_info{id = Val}, Status);
- vsn -> parse_app_info(File, KeyVals, AI#app_info{vsn = Val}, Status);
- modules -> parse_app_info(File, KeyVals, AI#app_info{modules = Val}, Status);
- maxP -> parse_app_info(File, KeyVals, AI#app_info{maxP = Val}, Status);
- maxT -> parse_app_info(File, KeyVals, AI#app_info{maxT = Val}, Status);
- registered -> parse_app_info(File, KeyVals, AI#app_info{registered = Val}, Status);
- included_applications -> parse_app_info(File, KeyVals, AI#app_info{incl_apps = Val}, Status);
- applications -> parse_app_info(File, KeyVals, AI#app_info{applications = Val}, Status);
- env -> parse_app_info(File, KeyVals, AI#app_info{env = Val}, Status);
- mod -> parse_app_info(File, KeyVals, AI#app_info{mod = Val}, Status);
- start_phases -> parse_app_info(File, KeyVals, AI#app_info{start_phases = Val}, Status);
- _ -> parse_app_info(File, KeyVals, AI, reltool_utils:add_warning(Status, lists:concat(["Unexpected item ", Key, "in app file ", File])))
+ description ->
+ parse_app_info(File, KeyVals, AI#app_info{description = Val},
+ Status);
+ id ->
+ parse_app_info(File, KeyVals, AI#app_info{id = Val}, Status);
+ vsn ->
+ parse_app_info(File, KeyVals, AI#app_info{vsn = Val}, Status);
+ modules ->
+ parse_app_info(File, KeyVals, AI#app_info{modules = Val}, Status);
+ maxP ->
+ parse_app_info(File, KeyVals, AI#app_info{maxP = Val}, Status);
+ maxT ->
+ parse_app_info(File, KeyVals, AI#app_info{maxT = Val}, Status);
+ registered ->
+ parse_app_info(File, KeyVals, AI#app_info{registered = Val},
+ Status);
+ included_applications ->
+ parse_app_info(File, KeyVals, AI#app_info{incl_apps = Val}, Status);
+ applications ->
+ parse_app_info(File, KeyVals, AI#app_info{applications = Val},
+ Status);
+ env ->
+ parse_app_info(File, KeyVals, AI#app_info{env = Val}, Status);
+ mod ->
+ parse_app_info(File, KeyVals, AI#app_info{mod = Val}, Status);
+ start_phases ->
+ parse_app_info(File, KeyVals, AI#app_info{start_phases = Val},
+ Status);
+ _ ->
+ String = lists:concat(["Unexpected item ",
+ Key, "in app file ", File]),
+ parse_app_info(File, KeyVals, AI,
+ reltool_utils:add_warning(Status, String))
end;
parse_app_info(_, [], AI, Status) ->
{AI, Status}.
@@ -824,7 +988,7 @@ read_ebin_mods(Ebin, AppName) ->
Ext = code:objfile_extension(),
InitMod = fun(F) ->
File = filename:join([Ebin, F]),
- init_mod(AppName, File, File, Ext)
+ init_mod(AppName, File, File, Ext)
end,
Files2 = [F || F <- Files, filename:extension(F) =:= Ext],
pmap(InitMod, Files2);
@@ -839,7 +1003,7 @@ pmap(Fun, List) ->
%% -record(pmap_res, {count, ref, res}).
%% -record(pmap_wait, {count, ref, pid}).
-%%
+%%
%% pmap(Fun, [H | T], N, Max, Count, WaitFor, Results) when N < Max ->
%% Ref = make_ref(),
%% Parent = self(),
@@ -943,16 +1107,16 @@ set_mod_flags(Mods, AppModNames) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-do_get_config(S, InclDefaults, InclDerivates) ->
+do_get_config(S, InclDef, InclDeriv) ->
S2 =
- case InclDerivates of
+ case InclDeriv of
false -> shrink_sys(S);
true -> S
end,
- {ok, reltool_target:gen_config(S2#state.sys, InclDefaults)}.
+ reltool_target:gen_config(S2#state.sys, InclDef).
-do_save_config(S, Filename, InclDefaults, InclDerivates) ->
- {ok, Config} = do_get_config(S, InclDefaults, InclDerivates),
+do_save_config(S, Filename, InclDef, InclDeriv) ->
+ {ok, Config} = do_get_config(S, InclDef, InclDeriv),
IoList = io_lib:format("%% config generated at ~w ~w\n~p.\n\n",
[date(), time(), Config]),
file:write_file(Filename, IoList).
@@ -963,17 +1127,20 @@ do_load_config(S, SysConfig) ->
OldSys = S#state.sys,
S2 = shrink_sys(S),
ShrinkedSys = S2#state.sys,
- {NewSys, Status} = read_config(ShrinkedSys#sys{apps = []}, SysConfig, {ok, []}),
+ {NewSys, Status} =
+ read_config(ShrinkedSys#sys{apps = []}, SysConfig, {ok, []}),
case Status of
{ok, _Warnings} ->
Force = false,
{MergedSys, Status2} = merge_config(OldSys, NewSys, Force, Status),
- {S3, Status3} = analyse(S2#state{sys = MergedSys, old_sys = OldSys}, Status2),
- S4 =
+ {S3, Status3} =
+ analyse(S2#state{sys = MergedSys, old_sys = OldSys}, Status2),
+ S4 =
case Status3 of
{ok, _Warnings2} ->
S3#state{status = Status3, old_status = S#state.status};
{error, _} ->
+ %% Keep old state
S
end,
{S4, Status3};
@@ -988,37 +1155,51 @@ read_config(OldSys, Filename, Status) when is_list(Filename) ->
read_config(OldSys, SysConfig, Status);
{ok, Content} ->
Text = lists:flatten(io_lib:format("~p", [Content])),
- {OldSys, reltool_utils:return_first_error(Status, "Illegal file content: " ++ Text)};
+ {OldSys,
+ reltool_utils:return_first_error(Status,
+ "Illegal file content: " ++
+ Text)};
{error, Reason} ->
Text = file:format_error(Reason),
- {OldSys, reltool_utils:return_first_error(Status, "File access: " ++ Text)}
+ {OldSys,
+ reltool_utils:return_first_error(Status,
+ "Illegal config file " ++
+ Filename ++ ": " ++ Text)}
end;
read_config(OldSys, {sys, KeyVals}, Status) ->
{NewSys, Status2} =
- try
- decode(OldSys#sys{apps = [], rels = []}, KeyVals, Status)
- catch
- throw:{error, Text} ->
- {OldSys, reltool_utils:return_first_error(Status, Text)}
- end,
- Apps = [A#app{mods = lists:sort(A#app.mods)} || A <- NewSys#sys.apps],
- case NewSys#sys.rels of
- [] -> Rels = reltool_utils:default_rels();
- Rels -> ok
- end,
- NewSys2 = NewSys#sys{apps = lists:sort(Apps), rels = lists:sort(Rels)},
- case lists:keysearch(NewSys2#sys.boot_rel, #rel.name, NewSys2#sys.rels) of
- {value, _} ->
- {NewSys2, Status2};
- false ->
- Text2 = "Missing rel: " ++ NewSys2#sys.boot_rel,
- {OldSys, reltool_utils:return_first_error(Status2, Text2)}
+ decode(OldSys#sys{apps = [], rels = []}, KeyVals, Status),
+ case Status2 of
+ {ok, _Warnings} -> % BUGBUG: handle warnings
+ Apps = [A#app{mods = lists:sort(A#app.mods)} ||
+ A <- NewSys#sys.apps],
+ case NewSys#sys.rels of
+ [] -> Rels = reltool_utils:default_rels();
+ Rels -> ok
+ end,
+ NewSys2 = NewSys#sys{apps = lists:sort(Apps),
+ rels = lists:sort(Rels)},
+ case lists:keysearch(NewSys2#sys.boot_rel,
+ #rel.name,
+ NewSys2#sys.rels) of
+ {value, _} ->
+ {NewSys2, Status2};
+ false ->
+ Text2 = lists:concat(["Release " ++ NewSys2#sys.boot_rel,
+ " is mandatory (used as boot_rel)"]),
+ {OldSys, reltool_utils:return_first_error(Status2, Text2)}
+ end;
+ {error, _} ->
+ %% Keep old state
+ {OldSys, Status2}
end;
read_config(OldSys, BadConfig, Status) ->
Text = lists:flatten(io_lib:format("~p", [BadConfig])),
- {OldSys, reltool_utils:return_first_error(Status, "Illegal content: " ++ Text)}.
+ {OldSys,
+ reltool_utils:return_first_error(Status, "Illegal content: " ++ Text)}.
-decode(#sys{apps = Apps} = Sys, [{erts = Name, AppKeyVals} | SysKeyVals], Status)
+decode(#sys{apps = Apps} = Sys, [{erts = Name, AppKeyVals} | SysKeyVals],
+ Status)
when is_atom(Name), is_list(AppKeyVals) ->
App = default_app(Name),
{App2, Status2} = decode(App, AppKeyVals, Status),
@@ -1028,7 +1209,8 @@ decode(#sys{apps = Apps} = Sys, [{app, Name, AppKeyVals} | SysKeyVals], Status)
App = default_app(Name),
{App2, Status2} = decode(App, AppKeyVals, Status),
decode(Sys#sys{apps = [App2 | Apps]}, SysKeyVals, Status2);
-decode(#sys{apps = Apps, escripts = Escripts} = Sys, [{escript, File, AppKeyVals} | SysKeyVals], Status)
+decode(#sys{apps = Apps, escripts = Escripts} = Sys,
+ [{escript, File, AppKeyVals} | SysKeyVals], Status)
when is_list(File), is_list(AppKeyVals) ->
{Name, Label} = split_escript_name(File),
App = default_app(Name, File),
@@ -1038,149 +1220,201 @@ decode(#sys{apps = Apps, escripts = Escripts} = Sys, [{escript, File, AppKeyVals
active_dir = File,
sorted_dirs = [File]},
{App3, Status2} = decode(App2, AppKeyVals, Status),
- decode(Sys#sys{apps = [App3 | Apps], escripts = [File | Escripts]}, SysKeyVals, Status2);
-decode(#sys{rels = Rels} = Sys, [{rel, Name, Vsn, RelApps} | SysKeyVals], Status)
+ decode(Sys#sys{apps = [App3 | Apps], escripts = [File | Escripts]},
+ SysKeyVals,
+ Status2);
+decode(#sys{rels = Rels} = Sys, [{rel, Name, Vsn, RelApps} | SysKeyVals],
+ Status)
when is_list(Name), is_list(Vsn), is_list(RelApps) ->
Rel = #rel{name = Name, vsn = Vsn, rel_apps = []},
{Rel2, Status2} = decode(Rel, RelApps, Status),
decode(Sys#sys{rels = [Rel2 | Rels]}, SysKeyVals, Status2);
decode(#sys{} = Sys, [{Key, Val} | KeyVals], Status) ->
- {Sys3, Status3} =
+ {Sys3, Status3} =
case Key of
root_dir when is_list(Val) ->
{Sys#sys{root_dir = Val}, Status};
lib_dirs when is_list(Val) ->
{Sys#sys{lib_dirs = Val}, Status};
- mod_cond when Val =:= all; Val =:= app;
- Val =:= ebin; Val =:= derived;
- Val =:= none ->
+ mod_cond when Val =:= all;
+ Val =:= app;
+ Val =:= ebin;
+ Val =:= derived;
+ Val =:= none ->
{Sys#sys{mod_cond = Val}, Status};
- incl_cond when Val =:= include; Val =:= exclude;
- Val =:= derived ->
+ incl_cond when Val =:= include;
+ Val =:= exclude;
+ Val =:= derived ->
{Sys#sys{incl_cond = Val}, Status};
boot_rel when is_list(Val) ->
{Sys#sys{boot_rel = Val}, Status};
emu_name when is_list(Val) ->
{Sys#sys{emu_name = Val}, Status};
- profile when Val =:= development ->
- Val = ?DEFAULT_PROFILE, % assert,
- {Sys#sys{profile = Val,
- incl_sys_filters = reltool_utils:decode_regexps(incl_sys_filters,
- ?DEFAULT_INCL_SYS_FILTERS,
- Sys#sys.incl_sys_filters),
- excl_sys_filters = reltool_utils:decode_regexps(excl_sys_filters,
- ?DEFAULT_EXCL_SYS_FILTERS,
- Sys#sys.excl_sys_filters),
- incl_app_filters = reltool_utils:decode_regexps(incl_app_filters,
- ?DEFAULT_INCL_APP_FILTERS,
- Sys#sys.incl_app_filters),
- excl_app_filters = reltool_utils:decode_regexps(excl_app_filters,
- ?DEFAULT_EXCL_APP_FILTERS,
- Sys#sys.excl_app_filters)},
- Status};
- profile when Val =:= embedded ->
- {Sys#sys{profile = Val,
- incl_sys_filters = reltool_utils:decode_regexps(incl_sys_filters,
- ?EMBEDDED_INCL_SYS_FILTERS,
- Sys#sys.incl_sys_filters),
- excl_sys_filters = reltool_utils:decode_regexps(excl_sys_filters,
- ?EMBEDDED_EXCL_SYS_FILTERS,
- Sys#sys.excl_sys_filters),
- incl_app_filters = reltool_utils:decode_regexps(incl_app_filters,
- ?EMBEDDED_INCL_APP_FILTERS,
- Sys#sys.incl_app_filters),
- excl_app_filters = reltool_utils:decode_regexps(excl_app_filters,
- ?EMBEDDED_EXCL_APP_FILTERS,
- Sys#sys.excl_app_filters)},
- Status};
- profile when Val =:= standalone ->
- {Sys#sys{profile = Val,
- incl_sys_filters = reltool_utils:decode_regexps(incl_sys_filters,
- ?STANDALONE_INCL_SYS_FILTERS,
- Sys#sys.incl_sys_filters),
- excl_sys_filters = reltool_utils:decode_regexps(excl_sys_filters,
- ?STANDALONE_EXCL_SYS_FILTERS,
- Sys#sys.excl_sys_filters),
- incl_app_filters = reltool_utils:decode_regexps(incl_app_filters,
- ?STANDALONE_INCL_APP_FILTERS,
- Sys#sys.incl_app_filters),
- excl_app_filters = reltool_utils:decode_regexps(excl_app_filters,
- ?STANDALONE_EXCL_APP_FILTERS,
- Sys#sys.excl_app_filters)},
+ profile when Val =:= development;
+ Val =:= embedded;
+ Val =:= standalone ->
+ InclSys = reltool_utils:choose_default(incl_sys_filters, Val, false),
+ ExclSys = reltool_utils:choose_default(excl_sys_filters, Val, false),
+ InclApp = reltool_utils:choose_default(incl_app_filters, Val, false),
+ ExclApp = reltool_utils:choose_default(excl_app_filters, Val, false),
+ AppType = reltool_utils:choose_default(embedded_app_type, Val, false),
+ {Sys#sys{profile = Val,
+ incl_sys_filters = dec_re(incl_sys_filters,
+ InclSys,
+ Sys#sys.incl_sys_filters),
+ excl_sys_filters = dec_re(excl_sys_filters,
+ ExclSys,
+ Sys#sys.excl_sys_filters),
+ incl_app_filters = dec_re(incl_app_filters,
+ InclApp,
+ Sys#sys.incl_app_filters),
+ excl_app_filters = dec_re(excl_app_filters,
+ ExclApp,
+ Sys#sys.excl_app_filters),
+ embedded_app_type = AppType},
Status};
incl_sys_filters ->
- {Sys#sys{incl_sys_filters = reltool_utils:decode_regexps(Key, Val, Sys#sys.incl_sys_filters)}, Status};
+ {Sys#sys{incl_sys_filters =
+ dec_re(Key,
+ Val,
+ Sys#sys.incl_sys_filters)},
+ Status};
excl_sys_filters ->
- {Sys#sys{excl_sys_filters = reltool_utils:decode_regexps(Key, Val, Sys#sys.excl_sys_filters)}, Status};
+ {Sys#sys{excl_sys_filters =
+ dec_re(Key,
+ Val,
+ Sys#sys.excl_sys_filters)},
+ Status};
incl_app_filters ->
- {Sys#sys{incl_app_filters = reltool_utils:decode_regexps(Key, Val, Sys#sys.incl_app_filters)}, Status};
+ {Sys#sys{incl_app_filters =
+ dec_re(Key,
+ Val,
+ Sys#sys.incl_app_filters)},
+ Status};
excl_app_filters ->
- {Sys#sys{excl_app_filters = reltool_utils:decode_regexps(Key, Val, Sys#sys.excl_app_filters)}, Status};
+ {Sys#sys{excl_app_filters =
+ dec_re(Key,
+ Val,
+ Sys#sys.excl_app_filters)},
+ Status};
incl_archive_filters ->
- {Sys#sys{incl_archive_filters = reltool_utils:decode_regexps(Key, Val, Sys#sys.incl_archive_filters)}, Status};
+ {Sys#sys{incl_archive_filters =
+ dec_re(Key,
+ Val,
+ Sys#sys.incl_archive_filters)},
+ Status};
excl_archive_filters ->
- {Sys#sys{excl_archive_filters = reltool_utils:decode_regexps(Key, Val, Sys#sys.excl_archive_filters)}, Status};
+ {Sys#sys{excl_archive_filters =
+ dec_re(Key,
+ Val,
+ Sys#sys.excl_archive_filters)},
+ Status};
archive_opts when is_list(Val) ->
{Sys#sys{archive_opts = Val}, Status};
relocatable when Val =:= true; Val =:= false ->
{Sys#sys{relocatable = Val}, Status};
- app_type when Val =:= permanent; Val =:= transient; Val =:= temporary;
- Val =:= load; Val =:= none ->
- {Sys#sys{app_type = Val}, Status};
- app_file when Val =:= keep; Val =:= strip, Val =:= all ->
+ rel_app_type when Val =:= permanent;
+ Val =:= transient;
+ Val =:= temporary;
+ Val =:= load;
+ Val =:= none ->
+ {Sys#sys{rel_app_type = Val}, Status};
+ embedded_app_type when Val =:= permanent;
+ Val =:= transient;
+ Val =:= temporary;
+ Val =:= load;
+ Val =:= none;
+ Val =:= undefined ->
+ {Sys#sys{embedded_app_type = Val}, Status};
+ app_file when Val =:= keep; Val =:= strip, Val =:= all ->
{Sys#sys{app_file = Val}, Status};
- debug_info when Val =:= keep; Val =:= strip ->
+ debug_info when Val =:= keep; Val =:= strip ->
{Sys#sys{debug_info = Val}, Status};
_ ->
Text = lists:flatten(io_lib:format("~p", [{Key, Val}])),
- {Sys, reltool_utils:return_first_error(Status, "Illegal option: " ++ Text)}
+ {Sys, reltool_utils:return_first_error(Status,
+ "Illegal option: " ++
+ Text)}
end,
decode(Sys3, KeyVals, Status3);
decode(#app{} = App, [{Key, Val} | KeyVals], Status) ->
- {App2, Status2} =
+ {App2, Status2} =
case Key of
- mod_cond when Val =:= all; Val =:= app; Val =:= ebin; Val =:= derived; Val =:= none ->
+ mod_cond when Val =:= all;
+ Val =:= app;
+ Val =:= ebin;
+ Val =:= derived;
+ Val =:= none ->
{App#app{mod_cond = Val}, Status};
- incl_cond when Val =:= include; Val =:= exclude; Val =:= derived ->
+ incl_cond when Val =:= include;
+ Val =:= exclude;
+ Val =:= derived ->
{App#app{incl_cond = Val}, Status};
- debug_info when Val =:= keep; Val =:= strip ->
+ debug_info when Val =:= keep;
+ Val =:= strip ->
{App#app{debug_info = Val}, Status};
- app_file when Val =:= keep; Val =:= strip, Val =:= all ->
+ app_file when Val =:= keep;
+ Val =:= strip;
+ Val =:= all ->
{App#app{app_file = Val}, Status};
- app_type when Val =:= permanent; Val =:= transient; Val =:= temporary;
- Val =:= load; Val =:= none ->
+ app_type when Val =:= permanent;
+ Val =:= transient;
+ Val =:= temporary;
+ Val =:= load;
+ Val =:= none;
+ Val =:= undefined ->
{App#app{app_type = Val}, Status};
incl_app_filters ->
- {App#app{incl_app_filters = reltool_utils:decode_regexps(Key, Val, App#app.incl_app_filters)}, Status};
+ {App#app{incl_app_filters =
+ dec_re(Key,
+ Val,
+ App#app.incl_app_filters)},
+ Status};
excl_app_filters ->
- {App#app{excl_app_filters = reltool_utils:decode_regexps(Key, Val, App#app.excl_app_filters)}, Status};
+ {App#app{excl_app_filters =
+ dec_re(Key,
+ Val,
+ App#app.excl_app_filters)},
+ Status};
incl_archive_filters ->
- {App#app{incl_archive_filters = reltool_utils:decode_regexps(Key, Val, App#app.incl_archive_filters)}, Status};
+ {App#app{incl_archive_filters =
+ dec_re(Key,
+ Val,
+ App#app.incl_archive_filters)},
+ Status};
excl_archive_filters ->
- {App#app{excl_archive_filters = reltool_utils:decode_regexps(Key, Val, App#app.excl_archive_filters)}, Status};
+ {App#app{excl_archive_filters =
+ dec_re(Key,
+ Val,
+ App#app.excl_archive_filters)},
+ Status};
archive_opts when is_list(Val) ->
{App#app{archive_opts = Val}, Status};
- vsn when is_list(Val) ->
+ vsn when is_list(Val) ->
{App#app{use_selected_vsn = true, vsn = Val}, Status};
_ ->
Text = lists:flatten(io_lib:format("~p", [{Key, Val}])),
- {App, reltool_utils:return_first_error(Status, "Illegal option: " ++ Text)}
+ {App, reltool_utils:return_first_error(Status,
+ "Illegal option: " ++ Text)}
end,
decode(App2, KeyVals, Status2);
-decode(#app{mods = Mods} = App, [{mod, Name, ModKeyVals} | AppKeyVals], Status) ->
+decode(#app{mods = Mods} = App, [{mod, Name, ModKeyVals} | AppKeyVals],
+ Status) ->
{Mod, Status2} = decode(#mod{name = Name}, ModKeyVals, Status),
decode(App#app{mods = [Mod | Mods]}, AppKeyVals, Status2);
decode(#mod{} = Mod, [{Key, Val} | KeyVals], Status) ->
- {Mod2, Status2} =
+ {Mod2, Status2} =
case Key of
- incl_cond when Val =:= include; Val =:= exclude; Val =:= derived ->
+ incl_cond when Val =:= include; Val =:= exclude; Val =:= derived ->
{Mod#mod{incl_cond = Val}, Status};
- debug_info when Val =:= keep; Val =:= strip ->
+ debug_info when Val =:= keep; Val =:= strip ->
{Mod#mod{debug_info = Val}, Status};
_ ->
Text = lists:flatten(io_lib:format("~p", [{Key, Val}])),
- {Mod, reltool_utils:return_first_error(Status, "Illegal option: " ++ Text)}
+ {Mod,
+ reltool_utils:return_first_error(Status,
+ "Illegal option: " ++ Text)}
end,
decode(Mod2, KeyVals, Status2);
decode(#rel{rel_apps = RelApps} = Rel, [RelApp | KeyVals], Status) ->
@@ -1191,7 +1425,9 @@ decode(#rel{rel_apps = RelApps} = Rel, [RelApp | KeyVals], Status) ->
{Name, Type} when is_atom(Name) ->
#rel_app{name = Name, app_type = Type, incl_apps = []};
{Name, InclApps} when is_atom(Name), is_list(InclApps) ->
- #rel_app{name = Name, app_type = undefined, incl_apps = InclApps};
+ #rel_app{name = Name,
+ app_type = undefined,
+ incl_apps = InclApps};
{Name, Type, InclApps} when is_atom(Name), is_list(InclApps) ->
#rel_app{name = Name, app_type = Type, incl_apps = InclApps};
_ ->
@@ -1204,7 +1440,9 @@ decode(#rel{rel_apps = RelApps} = Rel, [RelApp | KeyVals], Status) ->
decode(Rel#rel{rel_apps = RelApps ++ [RA]}, KeyVals, Status);
true ->
Text = lists:flatten(io_lib:format("~p", [RelApp])),
- Status2 = reltool_utils:return_first_error(Status, "Illegal option: " ++ Text),
+ Status2 =
+ reltool_utils:return_first_error(Status,
+ "Illegal option: " ++ Text),
decode(Rel, KeyVals, Status2)
end;
decode(Acc, [], Status) ->
@@ -1227,7 +1465,7 @@ is_type(Type) ->
split_escript_name(File) when is_list(File) ->
Label = filename:basename(File, ".escript"),
{list_to_atom("*escript* " ++ Label), Label}.
-
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
refresh(#state{sys = Sys} = S, Force, Status) ->
@@ -1245,7 +1483,8 @@ merge_config(OldSys, NewSys, Force, Status) ->
escripts_to_apps(Escripts, MergedApps, OldSys#sys.apps, Status2),
{RefreshedApps, Status4} =
refresh_apps(OldSys#sys.apps, AllApps, [], Force, Status3),
- {PatchedApps, Status5} = patch_erts_version(RootDir, RefreshedApps, Status4),
+ {PatchedApps, Status5} =
+ patch_erts_version(RootDir, RefreshedApps, Status4),
Escripts2 = [A#app.active_dir || A <- PatchedApps, A#app.is_escript],
NewSys2 = NewSys#sys{root_dir = RootDir,
lib_dirs = LibDirs,
@@ -1253,47 +1492,53 @@ merge_config(OldSys, NewSys, Force, Status) ->
apps = PatchedApps},
{NewSys2, Status5}.
-verify_config(Sys, Status) ->
- case lists:keymember(Sys#sys.boot_rel, #rel.name, Sys#sys.rels) of
- true ->
- lists:foreach(fun(Rel)-> check_rel(Rel, Sys, Status) end, Sys#sys.rels),
- Status;
+verify_config(RelApps, #sys{boot_rel = BootRel, rels = Rels, apps = Apps}, Status) ->
+ case lists:keymember(BootRel, #rel.name, Rels) of
+ true ->
+ Status2 = lists:foldl(fun(RA, Acc) ->
+ check_app(RA, Apps, Acc) end,
+ Status,
+ RelApps),
+ lists:foldl(fun(#rel{name = RelName}, Acc)->
+ check_rel(RelName, RelApps, Acc)
+ end,
+ Status2,
+ Rels);
false ->
- Text = lists:concat([Sys#sys.boot_rel, ": release is mandatory"]),
- Status2 = reltool_utils:return_first_error(Status, Text),
- throw({error, Status2})
+ Text = lists:concat(["Release ", BootRel,
+ " is mandatory (used as boot_rel)"]),
+ reltool_utils:return_first_error(Status, Text)
end.
-check_rel(#rel{name = RelName, rel_apps = RelApps}, #sys{apps = Apps}, Status) ->
+check_app({RelName, AppName}, Apps, Status) ->
+ case lists:keysearch(AppName, #app.name, Apps) of
+ {value, App} when App#app.is_pre_included ->
+ Status;
+ {value, App} when App#app.is_included ->
+ Status;
+ _ ->
+ Text = lists:concat(["Release ", RelName,
+ " uses non included application ",
+ AppName]),
+ reltool_utils:return_first_error(Status, Text)
+ end.
+
+check_rel(RelName, RelApps, Status) ->
EnsureApp =
- fun(AppName) ->
- case lists:keymember(AppName, #rel_app.name, RelApps) of
+ fun(AppName, Acc) ->
+ case lists:member({RelName, AppName}, RelApps) of
true ->
- ok;
+ Acc;
false ->
- Text = lists:concat([RelName, ": ", AppName, " is not included."]),
- Status2 = reltool_utils:return_first_error(Status, Text),
- throw({error, Status2})
- end
- end,
- EnsureApp(kernel),
- EnsureApp(stdlib),
- CheckRelApp =
- fun(#rel_app{name = AppName}) ->
- case lists:keysearch(AppName, #app.name, Apps) of
- {value, App} when App#app.is_pre_included ->
- ok;
- {value, App} when App#app.is_included ->
- ok;
- _ ->
- Text = lists:concat([RelName, ": uses application ",
- AppName, " that not is included."]),
- Status2 = reltool_utils:return_first_error(Status, Text),
- %% throw BUGBUG: add throw
- ({error, Status2})
+ Text = lists:concat(["Mandatory application ",
+ AppName,
+ " is not included in release ",
+ RelName]),
+ reltool_utils:return_first_error(Acc, Text)
end
end,
- lists:foreach(CheckRelApp, RelApps).
+ Mandatory = [kernel, stdlib],
+ lists:foldl(EnsureApp, Status, Mandatory).
patch_erts_version(RootDir, Apps, Status) ->
AppName = erts,
@@ -1308,13 +1553,14 @@ patch_erts_version(RootDir, Apps, Status) ->
Apps2 = lists:keystore(AppName, #app.name, Apps, Erts2),
{Apps2, Status};
Vsn =:= "" ->
- {Apps, reltool_utils:add_warning(Status, "erts has no version")};
+ {Apps, reltool_utils:add_warning(Status,
+ "erts has no version")};
true ->
{Apps, Status}
end;
false ->
- Text = "erts cannnot be found in the root directory " ++ RootDir,
- Status2 = reltool_utils:return_first_error(Status, Text),
+ Text = "erts cannot be found in the root directory " ++ RootDir,
+ Status2 = reltool_utils:return_first_error(Status, Text),
{Apps, Status2}
end.
@@ -1327,21 +1573,31 @@ libs_to_dirs(RootDir, LibDirs, Status) ->
[] ->
Fun = fun(Base) ->
AppDir = filename:join([RootLibDir, Base]),
- case filelib:is_dir(filename:join([AppDir, "ebin"]), erl_prim_loader) of
+ case filelib:is_dir(filename:join([AppDir,
+ "ebin"]),
+ erl_prim_loader) of
true ->
AppDir;
false ->
- filename:join([RootDir, Base, "preloaded"])
+ filename:join([RootDir,
+ Base,
+ "preloaded"])
end
end,
- ErtsFiles = [{erts, Fun(F)} || F <- RootFiles, lists:prefix("erts", F)],
+ ErtsFiles = [{erts, Fun(F)} || F <- RootFiles,
+ lists:prefix("erts", F)],
app_dirs2(AllLibDirs, [ErtsFiles], Status);
[Duplicate | _] ->
- {[], reltool_utils:return_first_error(Status, "Duplicate library: " ++ Duplicate)}
+ {[],
+ reltool_utils:return_first_error(Status,
+ "Duplicate library: " ++
+ Duplicate)}
end;
{error, Reason} ->
Text = file:format_error(Reason),
- {[], reltool_utils:return_first_error(Status, "Missing root library " ++ RootDir ++ ": " ++ Text)}
+ {[], reltool_utils:return_first_error(Status,
+ "Missing root library " ++
+ RootDir ++ ": " ++ Text)}
end.
app_dirs2([Lib | Libs], Acc, Status) ->
@@ -1352,8 +1608,9 @@ app_dirs2([Lib | Libs], Acc, Status) ->
AppDir = filename:join([Lib, Base]),
EbinDir = filename:join([AppDir, "ebin"]),
case filelib:is_dir(EbinDir, erl_prim_loader) of
- true ->
- {Name, _Vsn} = reltool_utils:split_app_name(Base),
+ true ->
+ {Name, _Vsn} =
+ reltool_utils:split_app_name(Base),
case Name of
erts -> false;
_ -> {true, {Name, AppDir}}
@@ -1366,7 +1623,9 @@ app_dirs2([Lib | Libs], Acc, Status) ->
app_dirs2(Libs, [Files2 | Acc], Status);
{error, Reason} ->
Text = file:format_error(Reason),
- {[], reltool_utils:return_first_error(Status, "Illegal library " ++ Lib ++ ": " ++ Text)}
+ {[], reltool_utils:return_first_error(Status,
+ "Illegal library " ++
+ Lib ++ ": " ++ Text)}
end;
app_dirs2([], Acc, Status) ->
{lists:sort(lists:append(Acc)), Status}.
@@ -1380,17 +1639,29 @@ escripts_to_apps([Escript | Escripts], Apps, OldApps, Status) ->
[AppLabel, "ebin", File] ->
case filename:extension(File) of
".app" ->
- {AppName, DefaultVsn} = reltool_utils:split_app_name(AppLabel),
- AppFileName = filename:join([Escript, FullName]),
+ {AppName, DefaultVsn} =
+ reltool_utils:split_app_name(AppLabel),
+ AppFileName =
+ filename:join([Escript, FullName]),
{Info, StatusAcc2} =
- read_app_info(GetBin(), AppFileName, AppName, DefaultVsn, Status),
+ read_app_info(GetBin(),
+ AppFileName,
+ AppName,
+ DefaultVsn,
+ Status),
Dir = filename:join([Escript, AppName]),
- {[{AppName, app, Dir, Info} | FileAcc], StatusAcc2};
+ {[{AppName, app, Dir, Info} | FileAcc],
+ StatusAcc2};
E when E =:= Ext ->
- {AppName, _} = reltool_utils:split_app_name(AppLabel),
- Mod = init_mod(AppName, File, {File, GetBin()}, Ext),
+ {AppName, _} =
+ reltool_utils:split_app_name(AppLabel),
+ Mod = init_mod(AppName,
+ File,
+ {File, GetBin()},
+ Ext),
Dir = filename:join([Escript, AppName]),
- {[{AppName, mod, Dir, Mod} | FileAcc], StatusAcc};
+ {[{AppName, mod, Dir, Mod} | FileAcc],
+ StatusAcc};
_ ->
{FileAcc, StatusAcc}
end;
@@ -1398,13 +1669,21 @@ escripts_to_apps([Escript | Escripts], Apps, OldApps, Status) ->
Bin = GetBin(),
{ok, {ModName, _}} = beam_lib:version(Bin),
ModStr = atom_to_list(ModName) ++ Ext,
- Mod = init_mod(EscriptAppName, ModStr, {ModStr, GetBin()}, Ext),
- {[{EscriptAppName, mod, Escript, Mod} | FileAcc], StatusAcc};
+ Mod = init_mod(EscriptAppName,
+ ModStr,
+ {ModStr, GetBin()},
+ Ext),
+ {[{EscriptAppName, mod, Escript, Mod} | FileAcc],
+ StatusAcc};
[File] ->
case filename:extension(File) of
E when E =:= Ext ->
- Mod = init_mod(EscriptAppName, File, {File, GetBin()}, Ext),
- {[{EscriptAppName, mod, File, Mod} | FileAcc], StatusAcc};
+ Mod = init_mod(EscriptAppName,
+ File,
+ {File, GetBin()},
+ Ext),
+ {[{EscriptAppName, mod, File, Mod} | FileAcc],
+ StatusAcc};
_ ->
{FileAcc, StatusAcc}
end;
@@ -1412,43 +1691,82 @@ escripts_to_apps([Escript | Escripts], Apps, OldApps, Status) ->
{FileAcc, StatusAcc}
end
end,
- try
- case escript:foldl(Fun, {[], Status}, Escript) of
- {ok, {Files, Status2}} ->
- {Apps2, Status3} = files_to_apps(Escript, lists:sort(Files), Apps, Apps, OldApps, Status2),
- escripts_to_apps(Escripts, Apps2, OldApps, Status3);
- {error, Reason} ->
- Text = lists:flatten(io_lib:format("~p", [Reason])),
- {[], reltool_utils:return_first_error(Status, "Illegal escript " ++ Escript ++ ": " ++ Text)}
- end
- catch
- throw:Reason2 when is_list(Reason2) ->
- {[], reltool_utils:return_first_error(Status, "Illegal escript " ++ Escript ++ ": " ++ Reason2)}
+ case reltool_utils:escript_foldl(Fun, {[], Status}, Escript) of
+ {ok, {Files, Status2}} ->
+ {Apps2, Status3} =
+ files_to_apps(Escript,
+ lists:sort(Files),
+ Apps,
+ Apps,
+ OldApps,
+ Status2),
+ escripts_to_apps(Escripts, Apps2, OldApps, Status3);
+ {error, Reason} ->
+ Text = lists:flatten(io_lib:format("~p", [Reason])),
+ {[], reltool_utils:return_first_error(Status,
+ "Illegal escript " ++
+ Escript ++ ": " ++ Text)}
end;
escripts_to_apps([], Apps, _OldApps, Status) ->
{Apps, Status}.
%% Assume that all files for an app are in consecutive order
%% Assume the app info is before the mods
-files_to_apps(Escript, [{AppName, Type, Dir, ModOrInfo} | Files] = AllFiles, Acc, Apps, OldApps, Status) ->
+files_to_apps(Escript,
+ [{AppName, Type, Dir, ModOrInfo} | Files] = AllFiles,
+ Acc,
+ Apps,
+ OldApps,
+ Status) ->
case Type of
mod ->
case Acc of
[] ->
Info = missing_app_info(""),
- {NewApp, Status2} = merge_escript_app(AppName, Dir, Info, [ModOrInfo], Apps, OldApps, Status),
- files_to_apps(Escript, AllFiles, [NewApp | Acc], Apps, OldApps, Status2);
+ {NewApp, Status2} =
+ merge_escript_app(AppName,
+ Dir,
+ Info,
+ [ModOrInfo],
+ Apps,
+ OldApps,
+ Status),
+ files_to_apps(Escript,
+ AllFiles,
+ [NewApp | Acc],
+ Apps,
+ OldApps, Status2);
[App | Acc2] when App#app.name =:= ModOrInfo#mod.app_name ->
App2 = App#app{mods = [ModOrInfo | App#app.mods]},
- files_to_apps(Escript, Files, [App2 | Acc2], Apps, OldApps, Status);
+ files_to_apps(Escript,
+ Files,
+ [App2 | Acc2],
+ Apps,
+ OldApps,
+ Status);
[App | Acc2] ->
- PrevApp = App#app{mods = lists:keysort(#mod.name, App#app.mods)},
+ PrevApp = App#app{mods = lists:keysort(#mod.name,
+ App#app.mods)},
Info = missing_app_info(""),
- {NewApp, Status2} = merge_escript_app(AppName, Dir, Info, [ModOrInfo], Apps, OldApps, Status),
- files_to_apps(Escript, Files, [NewApp, PrevApp | Acc2], Apps, OldApps, Status2)
+ {NewApp, Status2} =
+ merge_escript_app(AppName,
+ Dir,
+ Info,
+ [ModOrInfo],
+ Apps,
+ OldApps,
+ Status),
+ files_to_apps(Escript,
+ Files,
+ [NewApp, PrevApp | Acc2],
+ Apps,
+ OldApps,
+ Status2)
end;
app ->
- {App, Status2} = merge_escript_app(AppName, Dir, ModOrInfo, [], Apps, OldApps, Status),
+ {App, Status2} =
+ merge_escript_app(AppName, Dir, ModOrInfo, [], Apps, OldApps,
+ Status),
files_to_apps(Escript, Files, [App | Acc], Apps, OldApps, Status2)
end;
files_to_apps(_Escript, [], Acc, _Apps, _OldApps, Status) ->
@@ -1470,13 +1788,14 @@ merge_escript_app(AppName, Dir, Info, Mods, Apps, OldApps, Status) ->
case lists:keysearch(AppName, #app.name, Apps) of
{value, _} ->
Error = lists:concat([AppName, ": Application name clash. ",
- "Escript ", Dir," contains application ", AppName, "."]),
+ "Escript ", Dir," contains application ",
+ AppName, "."]),
{App2, reltool_utils:return_first_error(Status, Error)};
false ->
{App2, Status}
end.
-merge_app_dirs([{Name, Dir} | Rest], [App | Apps], OldApps)
+merge_app_dirs([{Name, Dir} | Rest], [App | Apps], OldApps)
when App#app.name =:= Name ->
%% Add new dir to app
App2 = App#app{sorted_dirs = [Dir | App#app.sorted_dirs]},
@@ -1491,10 +1810,11 @@ merge_app_dirs([{Name, Dir} | Rest], Apps, OldApps) ->
{value, OldApp} when OldApp#app.active_dir =:= Dir ->
[OldApp | Apps2];
{value, OldApp} ->
- App =
+ App =
case filter_app(OldApp) of
{true, NewApp} ->
- NewApp#app{active_dir = Dir, sorted_dirs = [Dir]};
+ NewApp#app{active_dir = Dir,
+ sorted_dirs = [Dir]};
false ->
default_app(Name, Dir)
end,
@@ -1545,12 +1865,14 @@ default_app(Name) ->
status = missing,
uses_mods = undefined,
is_pre_included = undefined,
- is_included = undefined}.
+ is_included = undefined,
+ rels = undefined}.
-%% Assume that the application are sorted
-refresh_apps([Old | OldApps], [New | NewApps], Acc, Force, Status) when New#app.name =:= Old#app.name ->
+%% Assume that the application are sorted
+refresh_apps([Old | OldApps], [New | NewApps], Acc, Force, Status)
+ when New#app.name =:= Old#app.name ->
{Info, ActiveDir, Status2} = ensure_app_info(New, Status),
- OptLabel =
+ OptLabel =
case Info#app_info.vsn =:= New#app.vsn of
true -> New#app.label;
false -> undefined % Cause refresh
@@ -1559,23 +1881,28 @@ refresh_apps([Old | OldApps], [New | NewApps], Acc, Force, Status) when New#app.
refresh_app(New#app{label = OptLabel,
active_dir = ActiveDir,
vsn = Info#app_info.vsn,
- info = Info},
+ info = Info},
Force,
Status2),
refresh_apps(OldApps, NewApps, [Refreshed | Acc], Force, Status3);
-refresh_apps([Old | OldApps], [New | NewApps], Acc, Force, Status) when New#app.name < Old#app.name ->
+refresh_apps([Old | OldApps], [New | NewApps], Acc, Force, Status)
+ when New#app.name < Old#app.name ->
%% No old app version exists. Use new as is.
%% BUGBUG: Issue warning if the active_dir is not defined
{New2, Status2} = refresh_app(New, Force, Status),
refresh_apps([Old | OldApps], NewApps, [New2 | Acc], Force, Status2);
-refresh_apps([Old | OldApps], [New | NewApps], Acc, Force, Status) when New#app.name > Old#app.name ->
+refresh_apps([Old | OldApps], [New | NewApps], Acc, Force, Status)
+ when New#app.name > Old#app.name ->
%% No new version. Remove the old.
Status2 =
- case Old#app.name =:= ?MISSING_APP of
+ case Old#app.name =:= ?MISSING_APP_NAME of
true ->
Status;
false ->
- Warning = lists:concat([Old#app.name, ": The source dirs does not contain the application anymore."]),
+ Warning =
+ lists:concat([Old#app.name,
+ ": The source dirs does not ",
+ "contain the application anymore."]),
reltool_utils:add_warning(Status, Warning)
end,
refresh_apps(OldApps, [New | NewApps], Acc, Force, Status2);
@@ -1586,25 +1913,32 @@ refresh_apps([], [New | NewApps], Acc, Force, Status) ->
refresh_apps([Old | OldApps], [], Acc, Force, Status) ->
%% No new version. Remove the old.
Status2 =
- case Old#app.name =:= ?MISSING_APP of
+ case Old#app.name =:= ?MISSING_APP_NAME of
true ->
Status;
false ->
- Warning = lists:concat([Old#app.name, ": The source dirs ",
- "does not contain the application anymore."]),
+ Warning =
+ lists:concat([Old#app.name,
+ ": The source dirs does not "
+ "contain the application anymore."]),
reltool_utils:add_warning(Status, Warning)
end,
refresh_apps(OldApps, [], Acc, Force, Status2);
refresh_apps([], [], Acc, _Force, Status) ->
{lists:reverse(Acc), Status}.
-ensure_app_info(#app{is_escript = true, active_dir = Dir, info = Info}, Status) ->
+ensure_app_info(#app{is_escript = true, active_dir = Dir, info = Info},
+ Status) ->
{Info, Dir, Status};
ensure_app_info(#app{name = Name, sorted_dirs = []}, Status) ->
Error = lists:concat([Name, ": Missing application directory."]),
Status2 = reltool_utils:return_first_error(Status, Error),
{missing_app_info(""), undefined, Status2};
-ensure_app_info(#app{name = Name, vsn = Vsn, sorted_dirs = Dirs, info = undefined}, Status) ->
+ensure_app_info(#app{name = Name,
+ vsn = Vsn,
+ sorted_dirs = Dirs,
+ info = undefined},
+ Status) ->
ReadInfo =
fun(Dir, StatusAcc) ->
Base = get_base(Name, Dir),
@@ -1621,8 +1955,10 @@ ensure_app_info(#app{name = Name, vsn = Vsn, sorted_dirs = Dirs, info = undefine
%% No redundant info
Status2;
[BadVsn | _] ->
- Error2 = lists:concat([Name, ": Application version clash. ",
- "Multiple directories contains version \"", BadVsn, "\"."]),
+ Error2 =
+ lists:concat([Name, ": Application version clash. ",
+ "Multiple directories contains version \"",
+ BadVsn, "\"."]),
reltool_utils:return_first_error(Status2, Error2)
end,
FirstInfo = hd(AllInfo),
@@ -1637,7 +1973,11 @@ ensure_app_info(#app{name = Name, vsn = Vsn, sorted_dirs = Dirs, info = undefine
{Info, VsnDir} ->
{Info, VsnDir, Status3};
false ->
- Error3 = lists:concat([Name, ": No application directory contains selected version \"", Vsn, "\"."]),
+ Error3 =
+ lists:concat([Name,
+ ": No application directory contains ",
+ "selected version \"",
+ Vsn, "\"."]),
Status4 = reltool_utils:return_first_error(Status3, Error3),
{FirstInfo, FirstDir, Status4}
end
diff --git a/lib/reltool/src/reltool_sys_win.erl b/lib/reltool/src/reltool_sys_win.erl
index ea80ab7e85..dbb8e32aa2 100644
--- a/lib/reltool/src/reltool_sys_win.erl
+++ b/lib/reltool/src/reltool_sys_win.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(reltool_sys_win).
@@ -34,7 +34,7 @@
-include_lib("wx/include/wx.hrl").
-include("reltool.hrl").
--record(state,
+-record(state,
{parent_pid,
server_pid,
app_wins,
@@ -61,7 +61,7 @@
-define(WIN_HEIGHT, 600).
-define(CLOSE_ITEM, ?wxID_EXIT). %% Use OS specific version if available
--define(ABOUT_ITEM, ?wxID_ABOUT). %% Use OS specific
+-define(ABOUT_ITEM, ?wxID_ABOUT). %% Use OS specific
-define(CONTENTS_ITEM, 300).
-define(APP_GRAPH_ITEM, 301).
-define(MOD_GRAPH_ITEM, 302).
@@ -100,7 +100,11 @@
%% Client
start_link(Opts) ->
- proc_lib:start_link(?MODULE, init, [[{parent, self()} | Opts]], infinity, []).
+ proc_lib:start_link(?MODULE,
+ init,
+ [[{parent, self()} | Opts]],
+ infinity,
+ []).
get_server(Pid) ->
reltool_utils:call(Pid, get_server).
@@ -146,9 +150,13 @@ do_init([{parent, Parent} | Options]) ->
S3 = S2#state{sys = Sys2},
S5 = wx:batch(fun() ->
Title = atom_to_list(?APPLICATION),
- wxFrame:setTitle(S3#state.frame, Title),
- %% wxFrame:setMinSize(Frame, {?WIN_WIDTH, ?WIN_HEIGHT}),
- wxStatusBar:setStatusText(S3#state.status_bar, "Done."),
+ wxFrame:setTitle(S3#state.frame,
+ Title),
+ %% wxFrame:setMinSize(Frame,
+ %% {?WIN_WIDTH, ?WIN_HEIGHT}),
+ wxStatusBar:setStatusText(
+ S3#state.status_bar,
+ "Done."),
S4 = redraw_apps(S3),
redraw_libs(S4)
end),
@@ -182,7 +190,12 @@ loop(S) ->
receive
{system, From, Msg} ->
Common = S#state.common,
- sys:handle_system_msg(Msg, From, S#state.parent_pid, ?MODULE, Common#common.sys_debug, S);
+ sys:handle_system_msg(Msg,
+ From,
+ S#state.parent_pid,
+ ?MODULE,
+ Common#common.sys_debug,
+ S);
#wx{obj = ObjRef,
event = #wxClose{type = close_window}} = Msg ->
if
@@ -193,17 +206,22 @@ loop(S) ->
FWs = S#state.fgraph_wins,
case lists:keysearch(ObjRef, #fgraph_win.frame, FWs) of
{value, FW} ->
- reltool_fgraph_win:stop(FW#fgraph_win.pid, shutdown),
+ reltool_fgraph_win:stop(FW#fgraph_win.pid,
+ shutdown),
wxFrame:destroy(ObjRef),
- FWs2 = lists:keydelete(ObjRef, #fgraph_win.frame, FWs),
+ FWs2 =
+ lists:keydelete(ObjRef, #fgraph_win.frame, FWs),
?MODULE:loop(S#state{fgraph_wins = FWs2});
false ->
- error_logger:format("~p~p got unexpected message:\n\t~p\n",
- [?MODULE, self(), Msg]),
+ error_logger:format("~p~p got unexpected "
+ "message:\n\t~p\n",
+ [?MODULE, self(), Msg]),
?MODULE:loop(S)
end
end;
- #wx{id = ?CLOSE_ITEM, event = #wxCommand{type = command_menu_selected}, userData = main_window} ->
+ #wx{id = ?CLOSE_ITEM,
+ event = #wxCommand{type = command_menu_selected},
+ userData = main_window} ->
wxFrame:destroy(S#state.frame),
exit(shutdown);
#wx{event = #wxSize{}} = Wx ->
@@ -222,14 +240,18 @@ loop(S) ->
?MODULE:loop(S2);
{call, ReplyTo, Ref, {open_app, AppName}} ->
S2 = do_open_app(S, AppName),
- {value, #app_win{pid = AppPid}} = lists:keysearch(AppName, #app_win.name, S2#state.app_wins),
+ {value, #app_win{pid = AppPid}} =
+ lists:keysearch(AppName, #app_win.name, S2#state.app_wins),
reltool_utils:reply(ReplyTo, Ref, {ok, AppPid}),
?MODULE:loop(S2);
{'EXIT', Pid, Reason} when Pid =:= S#state.parent_pid ->
- [reltool_fgraph_win:stop(FW#fgraph_win.pid, Reason) || FW <- S#state.fgraph_wins],
+ [reltool_fgraph_win:stop(FW#fgraph_win.pid, Reason) ||
+ FW <- S#state.fgraph_wins],
exit(Reason);
{'EXIT', _Pid, _Reason} = Exit ->
- {FWs, AWs} = handle_child_exit(Exit, S#state.fgraph_wins, S#state.app_wins),
+ {FWs, AWs} = handle_child_exit(Exit,
+ S#state.fgraph_wins,
+ S#state.app_wins),
?MODULE:loop(S#state{fgraph_wins = FWs, app_wins = AWs});
Msg ->
error_logger:format("~p~p got unexpected message:\n\t~p\n",
@@ -261,7 +283,8 @@ msg_warning(Exit, Type) ->
create_window(S) ->
Title = lists:concat([?APPLICATION, " - starting up"]),
- Frame = wxFrame:new(wx:null(), ?wxID_ANY, Title, [{size, {?WIN_WIDTH, ?WIN_HEIGHT}}]),
+ Frame = wxFrame:new(wx:null(), ?wxID_ANY, Title,
+ [{size, {?WIN_WIDTH, ?WIN_HEIGHT}}]),
%%wxFrame:setSize(Frame, {?WIN_WIDTH, ?WIN_HEIGHT}),
%% wxFrame:setMinSize(Frame, {?WIN_WIDTH, ?WIN_HEIGHT}),
Bar = wxFrame:createStatusBar(Frame,[]),
@@ -306,21 +329,29 @@ create_menubar(Frame) ->
File = wxMenu:new([]),
Help = wxMenu:new([]),
wxMenuBar:append(MenuBar, File, "File" ),
- wxMenu:append(File, ?APP_GRAPH_ITEM, "Display application dependency graph" ),
- wxMenu:append(File, ?MOD_GRAPH_ITEM, "Display module dependency graph" ),
+ wxMenu:append(File, ?APP_GRAPH_ITEM,
+ "Display application dependency graph" ),
+ wxMenu:append(File, ?MOD_GRAPH_ITEM,
+ "Display module dependency graph" ),
wxMenu:appendSeparator(File),
wxMenu:append(File, ?RESET_CONFIG_ITEM, "Reset configuration to default" ),
wxMenu:append(File, ?UNDO_CONFIG_ITEM, "Undo configuration (toggle)" ),
wxMenu:append(File, ?LOAD_CONFIG_ITEM, "Load configuration" ),
Save = wxMenu:new(),
- wxMenu:append(Save, ?SAVE_CONFIG_NODEF_NODER_ITEM, "Save explicit configuration (neither defaults nor derivates)"),
- wxMenu:append(Save, ?SAVE_CONFIG_DEF_NODER_ITEM , "Save configuration defaults (defaults only)"),
- wxMenu:append(Save, ?SAVE_CONFIG_NODEF_DER_ITEM, "Save configuration derivates (derivates only))"),
- wxMenu:append(Save, ?SAVE_CONFIG_DEF_DER_ITEM, "Save extended configuration (both defaults and derivates)"),
+ wxMenu:append(Save, ?SAVE_CONFIG_NODEF_NODER_ITEM,
+ "Save explicit configuration "
+ "(neither defaults nor derivates)"),
+ wxMenu:append(Save, ?SAVE_CONFIG_DEF_NODER_ITEM,
+ "Save configuration defaults (defaults only)"),
+ wxMenu:append(Save, ?SAVE_CONFIG_NODEF_DER_ITEM,
+ "Save configuration derivates (derivates only))"),
+ wxMenu:append(Save, ?SAVE_CONFIG_DEF_DER_ITEM,
+ "Save extended configuration (both defaults and derivates)"),
wxMenu:append(File, ?wxID_ANY, "Save configuration", Save),
wxMenu:appendSeparator(File),
- wxMenu:append(File, ?GEN_REL_FILES_ITEM, "Generate rel, script and boot files" ),
+ wxMenu:append(File, ?GEN_REL_FILES_ITEM,
+ "Generate rel, script and boot files" ),
wxMenu:append(File, ?GEN_TARGET_ITEM, "Generate target system" ),
wxMenu:appendSeparator(File),
wxMenu:append(File, ?CLOSE_ITEM, "Close" ),
@@ -375,12 +406,13 @@ create_app_list_ctrl(Panel, OuterSz, Title, Tick, Cross) ->
%% ?wxLC_SINGLE_SEL bor
?wxVSCROLL},
{size, {Width, Height}}]),
- ToolTip = "Select application(s) or open separate application window with a double click.",
+ ToolTip = "Select application(s) or open separate "
+ "application window with a double click.",
wxListCtrl:setToolTip(ListCtrl, ToolTip),
%% Prep images
reltool_utils:assign_image_list(ListCtrl),
-
+
%% Prep column label
ListItem = wxListItem:new(),
wxListItem:setAlign(ListItem, ?wxLIST_FORMAT_LEFT),
@@ -395,7 +427,7 @@ create_app_list_ctrl(Panel, OuterSz, Title, Tick, Cross) ->
InnerSz = wxBoxSizer:new(?wxVERTICAL),
- wxSizer:add(InnerSz,
+ wxSizer:add(InnerSz,
ListCtrl,
[{border, 2},
{flag, ?wxALL bor ?wxEXPAND},
@@ -408,9 +440,10 @@ create_app_list_ctrl(Panel, OuterSz, Title, Tick, Cross) ->
[{flag, ?wxEXPAND}, {proportion, 1}]),
%% Subscribe on events
- wxEvtHandler:connect(ListCtrl, size, [{skip, true}, {userData, app_list_ctrl}]),
+ wxEvtHandler:connect(ListCtrl, size,
+ [{skip, true}, {userData, app_list_ctrl}]),
wxEvtHandler:connect(ListCtrl, command_list_item_activated),
- wxWindow:connect(ListCtrl, enter_window),
+ wxWindow:connect(ListCtrl, enter_window),
ListCtrl.
@@ -423,7 +456,7 @@ create_button(Panel, Sizer, ListCtrl, Title, BitMapName, Action) ->
wxBitmapButton:setToolTip(Button, ToolTip),
Options = [{userData, {app_button, Action, ListCtrl}}],
wxEvtHandler:connect(Button, command_button_clicked, Options),
- wxSizer:add(Sizer,
+ wxSizer:add(Sizer,
Button,
[{border, 2},
{flag, ?wxALL},
@@ -439,7 +472,7 @@ action_to_tool_tip(Label, Action) ->
"Remove selected application(s)from whitelist.";
blacklist_add when Label =:= ?blacklist ->
"Remove selected application(s) from blacklist.";
- blacklist_add ->
+ blacklist_add ->
"Add selected application(s) to blacklist.";
blacklist_del ->
"Remove selected application(s) from blacklist."
@@ -448,8 +481,9 @@ action_to_tool_tip(Label, Action) ->
create_lib_page(#state{book = Book} = S) ->
Panel = wxPanel:new(Book, []),
Sizer = wxBoxSizer:new(?wxHORIZONTAL),
-
- Tree = wxTreeCtrl:new(Panel, [{style , ?wxTR_HAS_BUTTONS bor ?wxTR_HIDE_ROOT}]),
+
+ Tree = wxTreeCtrl:new(Panel,
+ [{style , ?wxTR_HAS_BUTTONS bor ?wxTR_HIDE_ROOT}]),
ToolTip = "Edit application sources.",
wxBitmapButton:setToolTip(Tree, ToolTip),
@@ -478,7 +512,9 @@ redraw_libs(#state{lib_tree = Tree, sys = Sys} = S) ->
[append_lib(Tree, LibItem, Dir) || Dir <- Sys#sys.lib_dirs],
EscriptItem = append_item(Tree, Top, "Escript files", undefined),
- EscriptData = #escript_data{file = undefined, tree = Tree, item = EscriptItem},
+ EscriptData = #escript_data{file = undefined,
+ tree = Tree,
+ item = EscriptItem},
wxTreeCtrl:setItemData(Tree,EscriptItem, EscriptData),
[append_escript(Tree, EscriptItem, File) || File <- Sys#sys.escripts],
wxTreeCtrl:expand(Tree, LibItem),
@@ -529,9 +565,9 @@ create_config_page(#state{sys = Sys, book = Book} = S) ->
Panel = wxPanel:new(Book, []),
Sizer = wxBoxSizer:new(?wxHORIZONTAL),
AppConds = reltool_utils:incl_conds(),
- AppBox = wxRadioBox:new(Panel,
+ AppBox = wxRadioBox:new(Panel,
?wxID_ANY,
- "Application inclusion policy",
+ "Application inclusion policy",
?wxDefaultPosition,
?wxDefaultSize,
AppConds,
@@ -543,9 +579,9 @@ create_config_page(#state{sys = Sys, book = Book} = S) ->
wxEvtHandler:connect(AppBox, command_radiobox_selected,
[{userData, config_incl_cond}]),
ModConds = reltool_utils:mod_conds(),
- ModBox = wxRadioBox:new(Panel,
+ ModBox = wxRadioBox:new(Panel,
?wxID_ANY,
- "Module inclusion policy",
+ "Module inclusion policy",
?wxDefaultPosition,
?wxDefaultSize,
ModConds,
@@ -582,19 +618,19 @@ create_main_release_page(#state{book = Book} = S) ->
wxButton:setToolTip(Create, "Create a new release."),
wxButton:connect(Create, command_button_clicked, [{userData, create_rel}]),
wxSizer:add(ButtonSizer, Create),
-
+
Delete = wxButton:new(Panel, ?wxID_ANY, [{label, "Delete"}]),
wxButton:setToolTip(Delete, "Delete a release."),
wxButton:connect(Delete, command_button_clicked, [{userData, delete_rel}]),
wxSizer:add(ButtonSizer, Delete),
-
+
View = wxButton:new(Panel, ?wxID_ANY, [{label, "View script"}]),
wxButton:setToolTip(View, "View generated script file."),
wxButton:connect(View, command_button_clicked, [{userData, view_script}]),
wxSizer:add(ButtonSizer, View),
[add_release_page(RelBook, Rel) || Rel <- (S#state.sys)#sys.rels],
-
+
wxSizer:add(Sizer, RelBook, [{flag, ?wxEXPAND}, {proportion, 1}]),
wxSizer:add(Sizer, ButtonSizer, [{flag, ?wxEXPAND}]),
wxPanel:setSizer(Panel, Sizer),
@@ -604,16 +640,18 @@ create_main_release_page(#state{book = Book} = S) ->
add_release_page(Book, #rel{name = RelName, rel_apps = RelApps}) ->
Panel = wxPanel:new(Book, []),
Sizer = wxBoxSizer:new(?wxHORIZONTAL),
- RelBox = wxRadioBox:new(Panel,
+ RelBox = wxRadioBox:new(Panel,
?wxID_ANY,
- "Applications included in the release " ++ RelName,
+ "Applications included in the release " ++ RelName,
?wxDefaultPosition,
?wxDefaultSize,
[atom_to_list(RA#rel_app.name) || RA <- RelApps],
[]),
%% wxRadioBox:setSelection(RelBox, 2), % mandatory
- wxEvtHandler:connect(RelBox, command_radiobox_selected, [{userData, {config_rel_cond, RelName}}]),
- RelToolTip = "Choose which applications that shall be included in the release resource file.",
+ wxEvtHandler:connect(RelBox, command_radiobox_selected,
+ [{userData, {config_rel_cond, RelName}}]),
+ RelToolTip = "Choose which applications that shall "
+ "be included in the release resource file.",
wxBitmapButton:setToolTip(RelBox, RelToolTip),
wxSizer:add(Sizer,
@@ -629,11 +667,14 @@ do_open_app(S, AppBase) when is_list(AppBase) ->
do_open_app(S, AppName);
do_open_app(S, '') ->
S;
-do_open_app(#state{server_pid = ServerPid, common = C, app_wins = AppWins} = S, AppName) when is_atom(AppName) ->
+do_open_app(#state{server_pid = ServerPid, common = C, app_wins = AppWins} = S,
+ AppName)
+ when is_atom(AppName) ->
case lists:keysearch(AppName, #app_win.name, AppWins) of
false ->
WxEnv = wx:get_env(),
- {ok, Pid} = reltool_app_win:start_link(WxEnv, ServerPid, C, AppName),
+ {ok, Pid} =
+ reltool_app_win:start_link(WxEnv, ServerPid, C, AppName),
AW = #app_win{name = AppName, pid = Pid},
S#state{app_wins = [AW | AppWins]};
{value, AW} ->
@@ -651,7 +692,10 @@ root_popup(S, Root, Tree, Item) ->
wxEvtHandler:connect(PopupMenu, menu_close),
wxWindow:popupMenu(S#state.frame, PopupMenu),
- Popup = #root_popup{dir = Root, choices = Choices, tree = Tree, item = Item},
+ Popup = #root_popup{dir = Root,
+ choices = Choices,
+ tree = Tree,
+ item = Item},
S#state{popup_menu = Popup}.
lib_popup(S, Lib, Tree, Item) ->
@@ -693,7 +737,10 @@ escript_popup(S, File, Tree, Item) ->
wxEvtHandler:connect(PopupMenu, menu_close),
wxWindow:popupMenu(S#state.frame, PopupMenu),
- Popup = #escript_popup{file = File, choices = Choices, tree = Tree, item = Item},
+ Popup = #escript_popup{file = File,
+ choices = Choices,
+ tree = Tree,
+ item = Item},
S#state{popup_menu = Popup}.
@@ -705,29 +752,40 @@ handle_event(S, #wx{id = Id, obj= ObjRef, userData = UserData, event = Event} =
#wxSize{type = size, size = {W, _H}} when UserData =:= app_list_ctrl ->
wxListCtrl:setColumnWidth(ObjRef, ?APPS_APP_COL, W),
S;
- #wxCommand{type = command_menu_selected} when Id =:= ?APP_GRAPH_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when Id =:= ?APP_GRAPH_ITEM ->
update_app_graph(S);
- #wxCommand{type = command_menu_selected} when Id =:= ?MOD_GRAPH_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when Id =:= ?MOD_GRAPH_ITEM ->
update_mod_graph(S);
- #wxCommand{type = command_menu_selected} when Id =:= ?RESET_CONFIG_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when Id =:= ?RESET_CONFIG_ITEM ->
reset_config(S);
- #wxCommand{type = command_menu_selected} when Id =:= ?UNDO_CONFIG_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when Id =:= ?UNDO_CONFIG_ITEM ->
undo_config(S);
- #wxCommand{type = command_menu_selected} when Id =:= ?LOAD_CONFIG_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when Id =:= ?LOAD_CONFIG_ITEM ->
load_config(S);
- #wxCommand{type = command_menu_selected} when Id =:= ?SAVE_CONFIG_NODEF_NODER_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when Id =:= ?SAVE_CONFIG_NODEF_NODER_ITEM ->
save_config(S, false, false);
- #wxCommand{type = command_menu_selected} when Id =:= ?SAVE_CONFIG_NODEF_DER_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when Id =:= ?SAVE_CONFIG_NODEF_DER_ITEM ->
save_config(S, false, true);
#wxCommand{type = command_menu_selected} when Id =:= ?SAVE_CONFIG_DEF_NODER_ITEM ->
save_config(S, true, false);
- #wxCommand{type = command_menu_selected} when Id =:= ?SAVE_CONFIG_DEF_DER_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when Id =:= ?SAVE_CONFIG_DEF_DER_ITEM ->
save_config(S, true, true);
- #wxCommand{type = command_menu_selected} when Id =:= ?GEN_REL_FILES_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when Id =:= ?GEN_REL_FILES_ITEM ->
gen_rel_files(S);
- #wxCommand{type = command_menu_selected} when Id =:= ?GEN_TARGET_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when Id =:= ?GEN_TARGET_ITEM ->
gen_target(S);
- #wxCommand{type = command_menu_selected} when UserData =:= main_window, Id =:= ?CONTENTS_ITEM ->
+ #wxCommand{type = command_menu_selected}
+ when UserData =:= main_window, Id =:= ?CONTENTS_ITEM ->
{file, BeamFile} = code:is_loaded(?MODULE),
EbinDir = filename:dirname(BeamFile),
AppDir = filename:dirname(EbinDir),
@@ -735,16 +793,17 @@ handle_event(S, #wx{id = Id, obj= ObjRef, userData = UserData, event = Event} =
Url = "file://" ++ filename:absname(HelpFile),
wx_misc:launchDefaultBrowser(Url),
S;
- #wxCommand{type = command_menu_selected} when UserData =:= main_window, Id =:= ?ABOUT_ITEM ->
- AboutStr = "Reltool is a release management tool. It analyses a given"
- " Erlang/OTP installation and determines various dependencies"
- " between applications. The graphical frontend depicts the"
- " dependencies and enables interactive customization of a"
- " target system. The backend provides a batch interface"
- " for generation of customized target systems.",
- MD = wxMessageDialog:new(S#state.frame,
+ #wxCommand{type = command_menu_selected}
+ when UserData =:= main_window, Id =:= ?ABOUT_ITEM ->
+ AboutStr = "Reltool is a release management tool. It analyses a "
+ " given Erlang/OTP installation and determines various "
+ " dependencies between applications. The graphical frontend "
+ " depicts the dependencies and enables interactive "
+ " customization of a target system. The backend provides a "
+ " batch interface for generation of customized target systems.",
+ MD = wxMessageDialog:new(S#state.frame,
AboutStr,
- [{style, ?wxOK bor ?wxICON_INFORMATION},
+ [{style, ?wxOK bor ?wxICON_INFORMATION},
{caption, "About Reltool"}]),
wxMessageDialog:showModal(MD),
wxMessageDialog:destroy(MD),
@@ -758,7 +817,8 @@ handle_event(S, #wx{id = Id, obj= ObjRef, userData = UserData, event = Event} =
wxWindow:setFocus(ObjRef),
S;
_ ->
- case wxNotebook:getPageText(S#state.book, wxNotebook:getSelection(S#state.book)) of
+ case wxNotebook:getPageText(S#state.book,
+ wxNotebook:getSelection(S#state.book)) of
?APP_PAGE -> handle_app_event(S, Event, ObjRef, UserData);
?LIB_PAGE -> handle_source_event(S, Event, ObjRef, UserData);
?SYS_PAGE -> handle_system_event(S, Event, ObjRef, UserData);
@@ -768,13 +828,17 @@ handle_event(S, #wx{id = Id, obj= ObjRef, userData = UserData, event = Event} =
handle_popup_event(S, _Type, 0, _ObjRef, _UserData, _Str) ->
S#state{popup_menu = undefined};
-handle_popup_event(#state{popup_menu = #root_popup{dir = OldDir, choices = Choices},
+handle_popup_event(#state{popup_menu = #root_popup{dir = OldDir,
+ choices = Choices},
sys = Sys} = S,
_Type, Pos, _ObjRef, _UserData, _Str) ->
case lists:nth(Pos, Choices) of
edit ->
Style = ?wxFD_OPEN bor ?wxFD_FILE_MUST_EXIST,
- case select_dir(S#state.frame, "Change root directory", OldDir, Style) of
+ case select_dir(S#state.frame,
+ "Change root directory",
+ OldDir,
+ Style) of
{ok, NewDir} when NewDir =:= OldDir ->
%% Same dir.Ignore.
S#state{popup_menu = undefined};
@@ -785,7 +849,8 @@ handle_popup_event(#state{popup_menu = #root_popup{dir = OldDir, choices = Choic
S#state{popup_menu = undefined}
end
end;
-handle_popup_event(#state{popup_menu = #lib_popup{dir = OldDir, choices = Choices},
+handle_popup_event(#state{popup_menu = #lib_popup{dir = OldDir,
+ choices = Choices},
sys = Sys} = S,
_Type, Pos, _ObjRef, _UserData, _Str) ->
case lists:nth(Pos, Choices) of
@@ -801,14 +866,18 @@ handle_popup_event(#state{popup_menu = #lib_popup{dir = OldDir, choices = Choice
false ->
LibDirs = Sys#sys.lib_dirs ++ [NewDir],
Sys2 = Sys#sys{lib_dirs = LibDirs},
- do_set_sys(S#state{popup_menu = undefined, sys = Sys2})
+ do_set_sys(S#state{popup_menu = undefined,
+ sys = Sys2})
end;
cancel ->
S#state{popup_menu = undefined}
end;
edit ->
Style = ?wxFD_OPEN bor ?wxFD_FILE_MUST_EXIST,
- case select_dir(S#state.frame, "Change library directory", OldDir, Style) of
+ case select_dir(S#state.frame,
+ "Change library directory",
+ OldDir,
+ Style) of
{ok, NewDir} ->
case lists:member(NewDir, Sys#sys.lib_dirs) of
true ->
@@ -820,7 +889,8 @@ handle_popup_event(#state{popup_menu = #lib_popup{dir = OldDir, choices = Choice
lists:splitwith(Pred, Sys#sys.lib_dirs),
LibDirs2 = Before ++ [NewDir | After],
Sys2 = Sys#sys{lib_dirs = LibDirs2},
- do_set_sys(S#state{popup_menu = undefined, sys = Sys2})
+ do_set_sys(S#state{popup_menu = undefined,
+ sys = Sys2})
end;
cancel ->
S#state{popup_menu = undefined}
@@ -828,14 +898,15 @@ handle_popup_event(#state{popup_menu = #lib_popup{dir = OldDir, choices = Choice
delete ->
LibDirs = Sys#sys.lib_dirs -- [OldDir],
Sys2 = Sys#sys{lib_dirs = LibDirs},
- do_set_sys(S#state{popup_menu = undefined, sys = Sys2})
+ do_set_sys(S#state{popup_menu = undefined, sys = Sys2})
end;
-handle_popup_event(#state{popup_menu = #escript_popup{file = OldFile, choices = Choices},
+handle_popup_event(#state{popup_menu = #escript_popup{file = OldFile,
+ choices = Choices},
sys = Sys} = S,
_Type, Pos, _ObjRef, _UserData, _Str) ->
case lists:nth(Pos, Choices) of
add ->
- OldFile2 =
+ OldFile2 =
case OldFile of
undefined ->
{ok, Cwd} = file:get_cwd(),
@@ -844,7 +915,10 @@ handle_popup_event(#state{popup_menu = #escript_popup{file = OldFile, choices =
OldFile
end,
Style = ?wxFD_OPEN bor ?wxFD_FILE_MUST_EXIST,
- case select_file(S#state.frame, "Select an escript file to add", OldFile2, Style) of
+ case select_file(S#state.frame,
+ "Select an escript file to add",
+ OldFile2,
+ Style) of
{ok, NewFile} ->
case lists:member(NewFile, Sys#sys.escripts) of
true ->
@@ -860,7 +934,10 @@ handle_popup_event(#state{popup_menu = #escript_popup{file = OldFile, choices =
end;
edit ->
Style = ?wxFD_OPEN bor ?wxFD_FILE_MUST_EXIST,
- case select_file(S#state.frame, "Change escript file name", OldFile, Style) of
+ case select_file(S#state.frame,
+ "Change escript file name",
+ OldFile,
+ Style) of
{ok, NewFile} ->
case lists:member(NewFile, Sys#sys.escripts) of
true ->
@@ -868,10 +945,12 @@ handle_popup_event(#state{popup_menu = #escript_popup{file = OldFile, choices =
S#state{popup_menu = undefined};
false ->
Pred = fun(E) -> E =/= OldFile end,
- {Before, [_| After]} = lists:splitwith(Pred, Sys#sys.escripts),
+ {Before, [_| After]} =
+ lists:splitwith(Pred, Sys#sys.escripts),
Escripts2 = Before ++ [NewFile | After],
Sys2 = Sys#sys{escripts = Escripts2},
- do_set_sys(S#state{popup_menu = undefined, sys = Sys2})
+ do_set_sys(S#state{popup_menu = undefined,
+ sys = Sys2})
end;
cancel ->
S#state{popup_menu = undefined}
@@ -879,25 +958,28 @@ handle_popup_event(#state{popup_menu = #escript_popup{file = OldFile, choices =
delete ->
Escripts = Sys#sys.escripts -- [OldFile],
Sys2 = Sys#sys{escripts = Escripts},
- do_set_sys(S#state{popup_menu = undefined, sys = Sys2})
+ do_set_sys(S#state{popup_menu = undefined, sys = Sys2})
end.
handle_system_event(#state{sys = Sys} = S,
- #wxCommand{type = command_radiobox_selected, cmdString = Choice},
+ #wxCommand{type = command_radiobox_selected,
+ cmdString = Choice},
_ObjRef,
config_mod_cond) ->
ModCond = reltool_utils:list_to_mod_cond(Choice),
Sys2 = Sys#sys{mod_cond = ModCond},
do_set_sys(S#state{sys = Sys2});
handle_system_event(#state{sys = Sys} = S,
- #wxCommand{type = command_radiobox_selected, cmdString = Choice},
+ #wxCommand{type = command_radiobox_selected,
+ cmdString = Choice},
_ObjRef,
config_incl_cond) ->
AppCond = reltool_utils:list_to_incl_cond(Choice),
Sys2 = Sys#sys{incl_cond = AppCond},
do_set_sys(S#state{sys = Sys2});
handle_system_event(S, Event, ObjRef, UserData) ->
- error_logger:format("~p~p got unexpected wx sys event to ~p with user data: ~p\n\t ~p\n",
+ error_logger:format("~p~p got unexpected wx sys event to ~p "
+ "with user data: ~p\n\t ~p\n",
[?MODULE, self(), ObjRef, UserData, Event]),
S.
@@ -905,7 +987,11 @@ handle_release_event(S, _Event, _ObjRef, UserData) ->
io:format("Release data: ~p\n", [UserData]),
S.
-handle_source_event(S, #wxTree{type = command_tree_item_activated, item = Item}, ObjRef, _UserData) ->
+handle_source_event(S,
+ #wxTree{type = command_tree_item_activated,
+ item = Item},
+ ObjRef,
+ _UserData) ->
case wxTreeCtrl:getItemData(ObjRef, Item) of
#root_data{dir = _Dir} ->
%% io:format("Root dialog: ~p\n", [Dir]),
@@ -921,7 +1007,11 @@ handle_source_event(S, #wxTree{type = command_tree_item_activated, item = Item},
undefined ->
S
end;
-handle_source_event(S, #wxTree{type = command_tree_item_right_click, item = Item}, Tree, _UserData) ->
+handle_source_event(S,
+ #wxTree{type = command_tree_item_right_click,
+ item = Item},
+ Tree,
+ _UserData) ->
case wxTreeCtrl:getItemData(Tree, Item) of
#root_data{dir = Dir} ->
wx:batch(fun() -> root_popup(S, Dir, Tree, Item) end);
@@ -936,18 +1026,28 @@ handle_source_event(S, #wxTree{type = command_tree_item_right_click, item = Item
S
end.
-handle_app_event(S, #wxList{type = command_list_item_activated, itemIndex = Pos}, ListCtrl, _UserData) ->
+handle_app_event(S,
+ #wxList{type = command_list_item_activated,
+ itemIndex = Pos},
+ ListCtrl,
+ _UserData) ->
AppName = wxListCtrl:getItemText(ListCtrl, Pos),
do_open_app(S, AppName);
-handle_app_event(S, #wxCommand{type = command_button_clicked}, _ObjRef, {app_button, Action, ListCtrl}) ->
+handle_app_event(S,
+ #wxCommand{type = command_button_clicked},
+ _ObjRef,
+ {app_button, Action, ListCtrl}) ->
Items = reltool_utils:get_items(ListCtrl),
handle_app_button(S, Items, Action);
handle_app_event(S, Event, ObjRef, UserData) ->
- error_logger:format("~p~p got unexpected wx app event to ~p with user data: ~p\n\t ~p\n",
+ error_logger:format("~p~p got unexpected wx app event to "
+ "~p with user data: ~p\n\t ~p\n",
[?MODULE, self(), ObjRef, UserData, Event]),
S.
-handle_app_button(#state{server_pid = ServerPid, app_wins = AppWins} = S, Items, Action) ->
+handle_app_button(#state{server_pid = ServerPid, app_wins = AppWins} = S,
+ Items,
+ Action) ->
NewApps = [move_app(S, Item, Action) || Item <- Items],
case reltool_server:set_apps(ServerPid, NewApps) of
{ok, []} ->
@@ -967,9 +1067,9 @@ do_set_sys(#state{sys = Sys, server_pid = ServerPid, status_bar = Bar} = S) ->
check_and_refresh(S, Status).
move_app(S, {_ItemNo, AppBase}, Action) ->
- {AppName, _Vsn} = reltool_utils:split_app_name(AppBase),
+ {AppName, _Vsn} = reltool_utils:split_app_name(AppBase),
{ok, OldApp} = reltool_server:get_app(S#state.server_pid, AppName),
- AppCond =
+ AppCond =
case Action of
whitelist_add ->
case OldApp#app.incl_cond of
@@ -979,12 +1079,13 @@ move_app(S, {_ItemNo, AppBase}, Action) ->
end;
whitelist_del ->
undefined;
- blacklist_add ->
+ blacklist_add ->
exclude;
blacklist_del ->
undefined;
_ ->
- error_logger:format("~p~p got unexpected app button event: ~p ~p\n",
+ error_logger:format("~p~p got unexpected app "
+ "button event: ~p ~p\n",
[?MODULE, self(), Action, AppBase]),
OldApp#app.incl_cond
end,
@@ -1047,14 +1148,21 @@ do_redraw_apps(ListCtrl, Apps, OkImage, ErrImage) ->
ImageApps = lists:map(AddImage, Apps),
Show =
fun({ImageId, Text, App}, {Row, ModCount, Items}) ->
- wxListCtrl:insertItem(ListCtrl, Row, ""),
- if (Row rem 2) =:= 0 ->
- wxListCtrl:setItemBackgroundColour(ListCtrl, Row, {240,240,255});
+ wxListCtrl:insertItem(ListCtrl, Row, ""),
+ if (Row rem 2) =:= 0 ->
+ wxListCtrl:setItemBackgroundColour(ListCtrl,
+ Row,
+ {240,240,255});
true ->
ignore
end,
- wxListCtrl:setItem(ListCtrl, Row, ?APPS_APP_COL, Text, [{imageId, ImageId}]),
- N = length([M || M <- App#app.mods, M#mod.is_included =:= true]),
+ wxListCtrl:setItem(ListCtrl,
+ Row,
+ ?APPS_APP_COL,
+ Text,
+ [{imageId, ImageId}]),
+ N = length([M || M <- App#app.mods,
+ M#mod.is_included =:= true]),
{Row + 1, ModCount + N, [{Row, Text} | Items]}
end,
{_, N, NewItems} = wx:foldl(Show, {0, 0, []}, lists:sort(ImageApps)),
@@ -1068,8 +1176,10 @@ update_app_graph(S) ->
WhiteNames = [A#app.name || A <- WhiteApps],
DerivedNames = [A#app.name || A <- DerivedApps],
Nodes = WhiteNames ++ DerivedNames,
- %% WhiteUses = [N || A <- WhiteApps, N <- A#app.uses_apps, lists:member(N, Nodes)],
- %% DerivedUses = [N || A <- DerivedApps, N <- A#app.uses_apps, lists:member(N, Nodes)],
+ %% WhiteUses = [N || A <- WhiteApps,
+ %% N <- A#app.uses_apps, lists:member(N, Nodes)],
+ %% DerivedUses = [N || A <- DerivedApps,
+ %% N <- A#app.uses_apps, lists:member(N, Nodes)],
WhiteLinks = [[A#app.name, U] || A <- WhiteApps,
U <- A#app.uses_apps,
@@ -1078,7 +1188,7 @@ update_app_graph(S) ->
DerivedLinks = [[A#app.name, U] || A <- DerivedApps,
U <- A#app.uses_apps,
U =/= A#app.name,
- lists:member(U, Nodes)],
+ lists:member(U, Nodes)],
Links = lists:usort(WhiteLinks ++ DerivedLinks),
%% io:format("Links: ~p\n", [Links]),
Title = lists:concat([?APPLICATION, " - application graph"]),
@@ -1087,8 +1197,12 @@ update_app_graph(S) ->
update_mod_graph(S) ->
{ok, WhiteApps} = reltool_server:get_apps(S#state.server_pid, whitelist),
{ok, DerivedApps} = reltool_server:get_apps(S#state.server_pid, derived),
- WhiteMods = lists:usort([M || A <- WhiteApps, M <- A#app.mods, M#mod.is_included =:= true]),
- DerivedMods = lists:usort([M || A <- DerivedApps, M <- A#app.mods, M#mod.is_included =:= true]),
+ WhiteMods = lists:usort([M || A <- WhiteApps,
+ M <- A#app.mods,
+ M#mod.is_included =:= true]),
+ DerivedMods = lists:usort([M || A <- DerivedApps,
+ M <- A#app.mods,
+ M#mod.is_included =:= true]),
WhiteNames = [M#mod.name || M <- WhiteMods],
DerivedNames = [M#mod.name || M <- DerivedMods],
@@ -1113,7 +1227,7 @@ create_fgraph_window(S, Title, Nodes, Links) ->
Panel = wxPanel:new(Frame, []),
Options = [{size, {lists:max([100, ?WIN_WIDTH - 100]), ?WIN_HEIGHT}}],
{Server, Fgraph} = reltool_fgraph_win:new(Panel, Options),
- Choose = fun(?MISSING_APP) -> alternate;
+ Choose = fun(?MISSING_APP_NAME) -> alternate;
(_) -> default
end,
[reltool_fgraph_win:add_node(Server, N, Choose(N)) || N <- Nodes],
@@ -1141,7 +1255,10 @@ undo_config(#state{status_bar = Bar} = S) ->
load_config(#state{status_bar = Bar, config_file = OldFile} = S) ->
Style = ?wxFD_OPEN bor ?wxFD_FILE_MUST_EXIST,
- case select_file(S#state.frame, "Select a file to load the configuration from", OldFile, Style) of
+ case select_file(S#state.frame,
+ "Select a file to load the configuration from",
+ OldFile,
+ Style) of
{ok, NewFile} ->
wxStatusBar:setStatusText(Bar, "Processing libraries..."),
Status = reltool_server:load_config(S#state.server_pid, NewFile),
@@ -1151,18 +1268,27 @@ load_config(#state{status_bar = Bar, config_file = OldFile} = S) ->
end.
save_config(#state{config_file = OldFile} = S, InclDefaults, InclDerivates) ->
- Style = ?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT,
- case select_file(S#state.frame, "Select a file to save the configuration to", OldFile, Style) of
+ Style = ?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT,
+ case select_file(S#state.frame,
+ "Select a file to save the configuration to",
+ OldFile,
+ Style) of
{ok, NewFile} ->
- Status = reltool_server:save_config(S#state.server_pid, NewFile, InclDefaults, InclDerivates),
+ Status = reltool_server:save_config(S#state.server_pid,
+ NewFile,
+ InclDefaults,
+ InclDerivates),
check_and_refresh(S#state{config_file = NewFile}, Status);
cancel ->
S
end.
gen_rel_files(#state{target_dir = OldDir} = S) ->
- Style = ?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT,
- case select_dir(S#state.frame, "Select a directory to generate rel, script and boot files to", OldDir, Style) of
+ Style = ?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT,
+ case select_dir(S#state.frame,
+ "Select a directory to generate rel, script and boot files to",
+ OldDir,
+ Style) of
{ok, NewDir} ->
Status = reltool_server:gen_rel_files(S#state.server_pid, NewDir),
check_and_refresh(S, Status);
@@ -1171,8 +1297,11 @@ gen_rel_files(#state{target_dir = OldDir} = S) ->
end.
gen_target(#state{target_dir = OldDir} = S) ->
- Style = ?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT,
- case select_dir(S#state.frame, "Select a directory to generate a target system to", OldDir, Style) of
+ Style = ?wxFD_SAVE bor ?wxFD_OVERWRITE_PROMPT,
+ case select_dir(S#state.frame,
+ "Select a directory to generate a target system to",
+ OldDir,
+ Style) of
{ok, NewDir} ->
Status = reltool_server:gen_target(S#state.server_pid, NewDir),
check_and_refresh(S#state{target_dir = NewDir}, Status);
@@ -1186,7 +1315,7 @@ select_file(Frame, Message, DefaultFile, Style) ->
{defaultDir, filename:dirname(DefaultFile)},
{defaultFile, filename:basename(DefaultFile)},
{style, Style}]),
- Choice =
+ Choice =
case wxMessageDialog:showModal(Dialog) of
?wxID_CANCEL -> cancel;
?wxID_OK -> {ok, wxFileDialog:getPath(Dialog)}
@@ -1199,7 +1328,7 @@ select_dir(Frame, Message, DefaultDir, Style) ->
[{title, Message},
{defaultPath, DefaultDir},
{style, Style}]),
- Choice =
+ Choice =
case wxMessageDialog:showModal(Dialog) of
?wxID_CANCEL -> cancel;
?wxID_OK -> {ok, wxDirDialog:getPath(Dialog)}
@@ -1229,28 +1358,34 @@ refresh(S) ->
S2 = S#state{sys = Sys},
S3 = redraw_libs(S2),
redraw_apps(S3).
-
+
question_dialog(Question, Details) ->
%% Parent = S#state.frame,
Parent = wx:typeCast(wx:null(), wxWindow),
%% [{style, ?wxYES_NO bor ?wxICON_ERROR bor ?wx}]),
DialogStyle = ?wxRESIZE_BORDER bor ?wxCAPTION bor ?wxSYSTEM_MENU bor
?wxMINIMIZE_BOX bor ?wxMAXIMIZE_BOX bor ?wxCLOSE_BOX,
- Dialog = wxDialog:new(Parent, ?wxID_ANY, "Undo dialog", [{style, DialogStyle}]),
+ Dialog = wxDialog:new(Parent, ?wxID_ANY, "Undo dialog",
+ [{style, DialogStyle}]),
Color = wxWindow:getBackgroundColour(Dialog),
TextStyle = ?wxTE_READONLY bor ?wxTE_MULTILINE bor ?wxHSCROLL,
- Text1 = wxTextCtrl:new(Dialog, ?wxID_ANY, [{style, ?wxTE_READONLY bor ?wxBORDER_NONE}]),
+ Text1 = wxTextCtrl:new(Dialog, ?wxID_ANY,
+ [{style, ?wxTE_READONLY bor ?wxBORDER_NONE}]),
wxWindow:setBackgroundColour(Text1, Color),
wxTextCtrl:appendText(Text1, Question),
- Text2 = wxTextCtrl:new(Dialog, ?wxID_ANY, [{size, {600, 400}}, {style, TextStyle}]),
+ Text2 = wxTextCtrl:new(Dialog, ?wxID_ANY,
+ [{size, {600, 400}}, {style, TextStyle}]),
wxWindow:setBackgroundColour(Text2, Color),
wxTextCtrl:appendText(Text2, Details),
%% wxDialog:setAffirmativeId(Dialog, ?wxID_YES),
%% wxDialog:setEscapeId(Dialog, ?wxID_NO),
Sizer = wxBoxSizer:new(?wxVERTICAL),
wxSizer:add(Sizer, Text1, [{border, 2}, {flag, ?wxEXPAND}]),
- wxSizer:add(Sizer, Text2, [{border, 2}, {flag, ?wxEXPAND}, {proportion, 1}]),
- ButtSizer = wxDialog:createStdDialogButtonSizer(Dialog, ?wxOK bor ?wxCANCEL),
+ wxSizer:add(Sizer, Text2, [{border, 2},
+ {flag, ?wxEXPAND},
+ {proportion, 1}]),
+ ButtSizer = wxDialog:createStdDialogButtonSizer(Dialog,
+ ?wxOK bor ?wxCANCEL),
wxSizer:add(Sizer, ButtSizer, [{border, 2}, {flag, ?wxEXPAND}]),
wxPanel:setSizer(Dialog, Sizer),
wxSizer:fit(Sizer, Dialog),
diff --git a/lib/reltool/src/reltool_target.erl b/lib/reltool/src/reltool_target.erl
index 6d85a98d9f..dd6f75b9fc 100644
--- a/lib/reltool/src/reltool_target.erl
+++ b/lib/reltool/src/reltool_target.erl
@@ -22,7 +22,7 @@
-export([
gen_config/2,
gen_app/1,
- gen_rel/2,
+ gen_rel/2,
gen_rel_files/2,
gen_boot/1,
gen_script/4,
@@ -31,7 +31,7 @@
gen_target/2,
install/2
]).
--compile(export_all).
+
-include("reltool.hrl").
-include_lib("kernel/include/file.hrl").
@@ -55,147 +55,186 @@ kernel_processes(KernelApp) ->
[
{kernelProcess, heart, {heart, start, []}},
{kernelProcess, error_logger , {error_logger, start_link, []}},
- {kernelProcess, application_controller, {application_controller, start, [KernelApp]}}
+ {kernelProcess,
+ application_controller,
+ {application_controller, start, [KernelApp]}}
].
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Generate the contents of a config file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-gen_config(#sys{root_dir = RootDir,
- lib_dirs = LibDirs,
- mod_cond = ModCond,
- incl_cond = AppCond,
- apps = Apps,
- boot_rel = BootRel,
- rels = Rels,
- emu_name = EmuName,
- profile = Profile,
- incl_sys_filters = InclSysFiles,
- excl_sys_filters = ExclSysFiles,
- incl_app_filters = InclAppFiles,
- excl_app_filters = ExclAppFiles,
- incl_archive_filters = InclArchiveDirs,
- excl_archive_filters = ExclArchiveDirs,
- archive_opts = ArchiveOpts,
- relocatable = Relocatable,
- app_type = AppType,
- app_file = AppFile,
- debug_info = DebugInfo},
- InclDefaults) ->
- ErtsItems =
+gen_config(Sys, InclDefs) ->
+ {ok, do_gen_config(Sys, InclDefs)}.
+
+do_gen_config(#sys{root_dir = RootDir,
+ lib_dirs = LibDirs,
+ mod_cond = ModCond,
+ incl_cond = AppCond,
+ apps = Apps,
+ boot_rel = BootRel,
+ rels = Rels,
+ emu_name = EmuName,
+ profile = Profile,
+ incl_sys_filters = InclSysFiles,
+ excl_sys_filters = ExclSysFiles,
+ incl_app_filters = InclAppFiles,
+ excl_app_filters = ExclAppFiles,
+ incl_archive_filters = InclArchiveDirs,
+ excl_archive_filters = ExclArchiveDirs,
+ archive_opts = ArchiveOpts,
+ relocatable = Relocatable,
+ rel_app_type = RelAppType,
+ embedded_app_type = InclAppType,
+ app_file = AppFile,
+ debug_info = DebugInfo},
+ InclDefs) ->
+ ErtsItems =
case lists:keysearch(erts, #app.name, Apps) of
{value, Erts} ->
- [{erts, gen_config(Erts, InclDefaults)}];
+ [{erts, do_gen_config(Erts, InclDefs)}];
false ->
[]
end,
AppsItems =
- [{app, A#app.name, gen_config(A, InclDefaults)}
- || A <- Apps,
- A#app.name =/= ?MISSING_APP,
+ [do_gen_config(A, InclDefs)
+ || A <- Apps,
+ A#app.name =/= ?MISSING_APP_NAME,
A#app.name =/= erts,
- A#app.is_included =:= true,
- A#app.is_escript =/= true],
- EscriptItems = [{escript, A#app.active_dir, emit(incl_cond, A#app.incl_cond, undefined, InclDefaults)}
- || A <- Apps, A#app.is_escript],
+ not A#app.is_escript],
+ EscriptItems = [{escript,
+ A#app.active_dir,
+ emit(incl_cond, A#app.incl_cond, undefined, InclDefs)}
+ || A <- Apps, A#app.is_escript],
DefaultRels = reltool_utils:default_rels(),
RelsItems =
- case {[{rel, R#rel.name, R#rel.vsn, gen_config(R, InclDefaults)} || R <- Rels],
- [{rel, R#rel.name, R#rel.vsn, gen_config(R, InclDefaults)} || R <- DefaultRels]} of
- {RI, RI} -> [];
- {RI, _} -> RI
- end,
+ [{rel, R#rel.name, R#rel.vsn, do_gen_config(R, InclDefs)} ||
+ R <- Rels],
+ DefaultRelsItems =
+ [{rel, R#rel.name, R#rel.vsn, do_gen_config(R, InclDefs)} ||
+ R <- DefaultRels],
+ RelsItems2 =
+ case InclDefs of
+ true -> RelsItems;
+ false -> RelsItems -- DefaultRelsItems
+ end,
X = fun(List) -> [Re || #regexp{source = Re} <- List] end,
{sys,
- emit(root_dir, RootDir, code:root_dir(), InclDefaults) ++
- emit(lib_dirs, LibDirs, ?DEFAULT_LIBS, InclDefaults) ++
+ emit(root_dir, RootDir, code:root_dir(), InclDefs) ++
+ emit(lib_dirs, LibDirs, ?DEFAULT_LIBS, InclDefs) ++
EscriptItems ++
- emit(mod_cond, ModCond, ?DEFAULT_MOD_COND, InclDefaults) ++
- emit(incl_cond, AppCond, ?DEFAULT_INCL_COND, InclDefaults) ++
+ emit(mod_cond, ModCond, ?DEFAULT_MOD_COND, InclDefs) ++
+ emit(incl_cond, AppCond, ?DEFAULT_INCL_COND, InclDefs) ++
ErtsItems ++
- AppsItems ++
- emit(boot_rel, BootRel, ?DEFAULT_REL_NAME, InclDefaults) ++
- RelsItems ++
- emit(emu_name, EmuName, ?DEFAULT_EMU_NAME, InclDefaults) ++
- emit(relocatable, Relocatable, ?DEFAULT_RELOCATABLE, InclDefaults) ++
- emit(profile, Profile, ?DEFAULT_PROFILE, InclDefaults) ++
- emit(incl_sys_filters, X(InclSysFiles), ?DEFAULT_INCL_SYS_FILTERS, InclDefaults) ++
- emit(excl_sys_filters, X(ExclSysFiles), ?DEFAULT_EXCL_SYS_FILTERS, InclDefaults) ++
- emit(incl_app_filters, X(InclAppFiles), ?DEFAULT_INCL_APP_FILTERS, InclDefaults) ++
- emit(excl_app_filters, X(ExclAppFiles), ?DEFAULT_EXCL_APP_FILTERS, InclDefaults) ++
- emit(incl_archive_filters, X(InclArchiveDirs), ?DEFAULT_INCL_ARCHIVE_FILTERS, InclDefaults) ++
- emit(excl_archive_filters, X(ExclArchiveDirs), ?DEFAULT_EXCL_ARCHIVE_FILTERS, InclDefaults) ++
- emit(archive_opts, ArchiveOpts, ?DEFAULT_ARCHIVE_OPTS, InclDefaults) ++
- emit(app_type, AppType, ?DEFAULT_APP_TYPE, InclDefaults) ++
- emit(app_file, AppFile, ?DEFAULT_APP_FILE, InclDefaults) ++
- emit(debug_info, DebugInfo, ?DEFAULT_DEBUG_INFO, InclDefaults)};
-gen_config(#app{name = _Name,
- mod_cond = ModCond,
- incl_cond = AppCond,
- debug_info = DebugInfo,
- app_file = AppFile,
- incl_app_filters = InclAppFiles,
- excl_app_filters = ExclAppFiles,
- incl_archive_filters = InclArchiveDirs,
- excl_archive_filters = ExclArchiveDirs,
- archive_opts = ArchiveOpts,
- use_selected_vsn = UseSelected,
- vsn = Vsn,
- mods = Mods},
- InclDefaults) ->
- emit(mod_cond, ModCond, undefined, InclDefaults) ++
- emit(incl_cond, AppCond, undefined, InclDefaults) ++
- emit(debug_info, DebugInfo, undefined, InclDefaults) ++
- emit(app_file, AppFile, undefined, InclDefaults) ++
- emit(incl_app_filters, InclAppFiles, undefined, InclDefaults) ++
- emit(excl_app_filters, ExclAppFiles, undefined, InclDefaults) ++
- emit(incl_archive_filters, InclArchiveDirs, undefined, InclDefaults) ++
- emit(excl_archive_filters, ExclArchiveDirs, undefined, InclDefaults) ++
- emit(archive_opts, ArchiveOpts, undefined, InclDefaults) ++
- emit(vsn, Vsn, undefined, InclDefaults orelse UseSelected =/= true) ++
- [{mod, M#mod.name, gen_config(M, InclDefaults)} || M <- Mods, M#mod.is_included =:= true];
-gen_config(#mod{name = _Name,
- incl_cond = AppCond,
- debug_info = DebugInfo},
- InclDefaults) ->
- emit(incl_cond, AppCond, undefined, InclDefaults) ++
- emit(debug_info, DebugInfo, undefined, InclDefaults);
-gen_config(#rel{name = _Name,
- vsn = _Vsn,
- rel_apps = RelApps},
- InclDefaults) ->
- [gen_config(RA, InclDefaults) || RA <- RelApps];
-gen_config(#rel_app{name = Name,
- app_type = Type,
- incl_apps = InclApps},
- _InclDefaults) ->
+ lists:flatten(AppsItems) ++
+ emit(boot_rel, BootRel, ?DEFAULT_REL_NAME, InclDefs) ++
+ RelsItems2 ++
+ emit(emu_name, EmuName, ?DEFAULT_EMU_NAME, InclDefs) ++
+ emit(relocatable, Relocatable, ?DEFAULT_RELOCATABLE, InclDefs) ++
+ emit(profile, Profile, ?DEFAULT_PROFILE, InclDefs) ++
+ emit(incl_sys_filters, X(InclSysFiles), reltool_utils:choose_default(incl_sys_filters, Profile, InclDefs), InclDefs) ++
+ emit(excl_sys_filters, X(ExclSysFiles), reltool_utils:choose_default(excl_sys_filters, Profile, InclDefs), InclDefs) ++
+ emit(incl_app_filters, X(InclAppFiles), reltool_utils:choose_default(incl_app_filters, Profile, InclDefs), InclDefs) ++
+ emit(excl_app_filters, X(ExclAppFiles), reltool_utils:choose_default(excl_app_filters, Profile, InclDefs), InclDefs) ++
+ emit(incl_archive_filters, X(InclArchiveDirs), ?DEFAULT_INCL_ARCHIVE_FILTERS, InclDefs) ++
+ emit(excl_archive_filters, X(ExclArchiveDirs), ?DEFAULT_EXCL_ARCHIVE_FILTERS, InclDefs) ++
+ emit(archive_opts, ArchiveOpts, ?DEFAULT_ARCHIVE_OPTS, InclDefs) ++
+ emit(rel_app_type, RelAppType, ?DEFAULT_REL_APP_TYPE, InclDefs) ++
+ emit(embedded_app_type, InclAppType, reltool_utils:choose_default(embedded_app_type, Profile, InclDefs), InclDefs) ++
+ emit(app_file, AppFile, ?DEFAULT_APP_FILE, InclDefs) ++
+ emit(debug_info, DebugInfo, ?DEFAULT_DEBUG_INFO, InclDefs)};
+do_gen_config(#app{name = Name,
+ mod_cond = ModCond,
+ incl_cond = AppCond,
+ debug_info = DebugInfo,
+ app_file = AppFile,
+ incl_app_filters = InclAppFiles,
+ excl_app_filters = ExclAppFiles,
+ incl_archive_filters = InclArchiveDirs,
+ excl_archive_filters = ExclArchiveDirs,
+ archive_opts = ArchiveOpts,
+ use_selected_vsn = UseSelected,
+ vsn = Vsn,
+ mods = Mods,
+ is_included = IsIncl},
+ InclDefs) ->
+ AppConfig =
+ [
+ emit(mod_cond, ModCond, undefined, InclDefs),
+ emit(incl_cond, AppCond, undefined, InclDefs),
+ emit(debug_info, DebugInfo, undefined, InclDefs),
+ emit(app_file, AppFile, undefined, InclDefs),
+ emit(incl_app_filters, InclAppFiles, undefined, InclDefs),
+ emit(excl_app_filters, ExclAppFiles, undefined, InclDefs),
+ emit(incl_archive_filters, InclArchiveDirs, undefined, InclDefs),
+ emit(excl_archive_filters, ExclArchiveDirs, undefined, InclDefs),
+ emit(archive_opts, ArchiveOpts, undefined, InclDefs),
+ if
+ IsIncl, InclDefs -> [{vsn, Vsn}];
+ UseSelected -> [{vsn, Vsn}];
+ true -> []
+ end,
+ [do_gen_config(M, InclDefs) || M <- Mods]
+ ],
+ case lists:flatten(AppConfig) of
+ FlatAppConfig when FlatAppConfig =/= []; IsIncl ->
+ [{app, Name, FlatAppConfig}];
+ [] ->
+ []
+ end;
+do_gen_config(#mod{name = Name,
+ incl_cond = AppCond,
+ debug_info = DebugInfo,
+ is_included = IsIncl},
+ InclDefs) ->
+ ModConfig =
+ [
+ emit(incl_cond, AppCond, undefined, InclDefs),
+ emit(debug_info, DebugInfo, undefined, InclDefs)
+ ],
+ case lists:flatten(ModConfig) of
+ FlatModConfig when FlatModConfig =/= []; IsIncl ->
+ [{mod, Name, FlatModConfig}];
+ _ ->
+ []
+ end;
+do_gen_config(#rel{name = _Name,
+ vsn = _Vsn,
+ rel_apps = RelApps},
+ InclDefs) ->
+ [do_gen_config(RA, InclDefs) || RA <- RelApps];
+do_gen_config(#rel_app{name = Name,
+ app_type = Type,
+ incl_apps = InclApps},
+ _InclDefs) ->
case {Type, InclApps} of
{undefined, []} -> Name;
{undefined, _} -> {Name, InclApps};
{_, []} -> {Name, Type};
{_, _} -> {Name, Type, InclApps}
end;
-gen_config({Tag, Val}, InclDefaults) ->
- emit(Tag, Val, undefined, InclDefaults);
-gen_config([], _InclDefaults) ->
+do_gen_config({Tag, Val}, InclDefs) ->
+ emit(Tag, Val, undefined, InclDefs);
+do_gen_config([], _InclDefs) ->
[];
-gen_config([H | T], InclDefaults) ->
- lists:flatten([gen_config(H, InclDefaults), gen_config(T, InclDefaults)]).
+do_gen_config([H | T], InclDefs) ->
+ lists:flatten([do_gen_config(H, InclDefs), do_gen_config(T, InclDefs)]).
-emit(Tag, Val, Default, InclDefaults) ->
+emit(Tag, Val, Default, InclDefs) ->
+ %% io:format("~p(~p):\n\t~p\n\t~p\n",
+ %% [Tag, Val =/= Default, Val, Default]),
if
Val == undefined -> [];
- InclDefaults -> [{Tag, Val}];
+ InclDefs -> [{Tag, Val}];
Val =/= Default -> [{Tag, Val}];
true -> []
- end.
+ end.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Generate the contents of an app file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-gen_app(#app{name = Name,
+gen_app(#app{name = Name,
info = #app_info{description = Desc,
id = Id,
vsn = Vsn,
@@ -231,22 +270,126 @@ gen_app(#app{name = Name,
%% Generate the contents of a rel file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-gen_rel(#rel{name = RelName, vsn = RelVsn, rel_apps = RelApps},
- #sys{apps = Apps}) ->
- {value, Erts} = lists:keysearch(erts, #app.name, Apps),
- {release,
- {RelName, RelVsn},
- {erts, Erts#app.vsn},
- [app_to_rel(RA, Apps ) || RA <- RelApps]}.
+gen_rel(Rel, Sys) ->
+ try
+ MergedApps = merge_apps(Rel, Sys),
+ {ok, do_gen_rel(Rel, Sys, MergedApps)}
+ catch
+ throw:{error, Text} ->
+ {error, Text}
+ end.
-app_to_rel(#rel_app{name = Name, app_type = Type, incl_apps = InclApps}, Apps) ->
- {value, #app{vsn = Vsn}} = lists:keysearch(Name, #app.name, Apps),
+do_gen_rel(#rel{name = RelName, vsn = RelVsn},
+ #sys{apps = Apps},
+ MergedApps) ->
+ ErtsName = erts,
+ case lists:keysearch(ErtsName, #app.name, Apps) of
+ {value, Erts} ->
+ {release,
+ {RelName, RelVsn},
+ {ErtsName, Erts#app.vsn},
+ [strip_rel_info(App) || App <- MergedApps]};
+ false ->
+ reltool_utils:throw_error("Mandatory application ~p is "
+ "not included",
+ [ErtsName])
+ end.
+
+strip_rel_info(#app{name = Name,
+ vsn = Vsn,
+ app_type = Type,
+ info = #app_info{incl_apps = InclApps}})
+ when Type =/= undefined ->
case {Type, InclApps} of
- {undefined, []} -> {Name, Vsn};
- {undefined, _} -> {Name, Vsn, InclApps};
+ {permanent, []} -> {Name, Vsn};
+ {permanent, _} -> {Name, Vsn, InclApps};
{_, []} -> {Name, Vsn, Type};
{_, _} -> {Name, Vsn, Type, InclApps}
- end.
+ end.
+
+merge_apps(#rel{name = RelName,
+ rel_apps = RelApps},
+ #sys{apps = Apps,
+ rel_app_type = RelAppType,
+ embedded_app_type = EmbAppType}) ->
+ Mandatory = [kernel, stdlib],
+ MergedApps = do_merge_apps(RelName, Mandatory, Apps, permanent, []),
+ MergedApps2 = do_merge_apps(RelName, RelApps, Apps, RelAppType, MergedApps),
+ Embedded =
+ [A#app.name || A <- Apps,
+ EmbAppType =/= undefined,
+ A#app.is_included,
+ A#app.name =/= erts,
+ A#app.name =/= ?MISSING_APP_NAME,
+ not lists:keymember(A#app.name, #app.name, MergedApps2)],
+ MergedApps3 = do_merge_apps(RelName, Embedded, Apps, EmbAppType, MergedApps2),
+ sort_apps(MergedApps3).
+
+do_merge_apps(RelName, [#rel_app{name = Name} = RA | RelApps], Apps, RelAppType, Acc) ->
+ case is_already_merged(Name, RelApps, Acc) of
+ true ->
+ do_merge_apps(RelName, RelApps, Apps, RelAppType, Acc);
+ false ->
+ {value, App} = lists:keysearch(Name, #app.name, Apps),
+ MergedApp = merge_app(RelName, RA, RelAppType, App),
+ MoreNames = (MergedApp#app.info)#app_info.applications,
+ Acc2 = [MergedApp | Acc],
+ do_merge_apps(RelName, MoreNames ++ RelApps, Apps, RelAppType, Acc2)
+ end;
+do_merge_apps(RelName, [Name | RelApps], Apps, RelAppType, Acc) ->
+ case is_already_merged(Name, RelApps, Acc) of
+ true ->
+ do_merge_apps(RelName, RelApps, Apps, RelAppType, Acc);
+ false ->
+ RelApp = init_rel_app(Name, Apps),
+ do_merge_apps(RelName, [RelApp | RelApps], Apps, RelAppType, Acc)
+ end;
+do_merge_apps(_RelName, [], _Apps, _RelAppType, Acc) ->
+ lists:reverse(Acc).
+
+init_rel_app(Name, Apps) ->
+ {value, App} = lists:keysearch(Name, #app.name, Apps),
+ Info = App#app.info,
+ #rel_app{name = Name,
+ app_type = undefined,
+ incl_apps = Info#app_info.incl_apps}.
+
+merge_app(RelName,
+ #rel_app{name = Name,
+ app_type = Type,
+ incl_apps = InclApps},
+ RelAppType,
+ App) ->
+ Type2 =
+ case {Type, App#app.app_type} of
+ {undefined, undefined} -> RelAppType;
+ {undefined, AppAppType} -> AppAppType;
+ {_, _} -> Type
+ end,
+ Info = App#app.info,
+ case InclApps -- Info#app_info.incl_apps of
+ [] ->
+ App#app{app_type = Type2, info = Info#app_info{incl_apps = InclApps}};
+ BadIncl ->
+ reltool_utils:throw_error("~p: These applications are "
+ "used by release ~s but are "
+ "missing as included_applications "
+ "in the app file: ~p",
+ [Name, RelName, BadIncl])
+ end.
+
+is_already_merged(Name, [Name | _], _MergedApps) ->
+ true;
+is_already_merged(Name, [#rel_app{name = Name} | _], _MergedApps) ->
+ true;
+is_already_merged(Name, [_ | RelApps], MergedApps) ->
+ is_already_merged(Name, RelApps, MergedApps);
+is_already_merged(Name, [], [#app{name = Name} | _MergedApps]) ->
+ true;
+is_already_merged(Name, [] = RelApps, [_ | MergedApps]) ->
+ is_already_merged(Name, RelApps, MergedApps);
+is_already_merged(_Name, [], []) ->
+ false.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Generate the contents of a boot file
@@ -261,25 +404,24 @@ gen_boot({script, {_, _}, _} = Script) ->
gen_script(Rel, Sys, PathFlag, Variables) ->
try
- do_gen_script(Rel, Sys, PathFlag, Variables)
- catch
+ MergedApps = merge_apps(Rel, Sys),
+ do_gen_script(Rel, Sys, MergedApps, PathFlag, Variables)
+ catch
throw:{error, Text} ->
{error, Text}
end.
-do_gen_script(#rel{name = RelName, vsn = RelVsn, rel_apps = RelApps},
- #sys{apps = Apps, app_type = DefaultType},
+do_gen_script(#rel{name = RelName, vsn = RelVsn},
+ #sys{apps = Apps},
+ MergedApps,
PathFlag,
Variables) ->
{value, Erts} = lists:keysearch(erts, #app.name, Apps),
Preloaded = [Mod#mod.name || Mod <- Erts#app.mods],
Mandatory = mandatory_modules(),
Early = Mandatory ++ Preloaded,
- MergedApps = [merge_app(RA, Apps, DefaultType) || RA <- RelApps],
- SortedApps = sort_apps(MergedApps),
- {value, KernelApp} = lists:keysearch(kernel, #app.name, SortedApps),
-
- InclApps = lists:append([I || #app{info = #app_info{incl_apps = I}} <- SortedApps]),
+ {value, KernelApp} = lists:keysearch(kernel, #app.name, MergedApps),
+ InclApps = [I || #app{info = #app_info{incl_apps = I}} <- MergedApps],
%% Create the script
DeepList =
@@ -289,32 +431,32 @@ do_gen_script(#rel{name = RelName, vsn = RelVsn, rel_apps = RelApps},
{progress, preloaded},
%% Load mandatory modules
- {path, create_mandatory_path(SortedApps, PathFlag, Variables)},
+ {path, create_mandatory_path(MergedApps, PathFlag, Variables)},
{primLoad, lists:sort(Mandatory)},
{kernel_load_completed},
{progress, kernel_load_completed},
%% Load remaining modules
- [load_app_mods(A, Early, PathFlag, Variables) || A <- SortedApps],
+ [load_app_mods(A, Early, PathFlag, Variables) || A <- MergedApps],
{progress, modules_loaded},
%% Start kernel processes
- {path, create_path(SortedApps, PathFlag, Variables)},
+ {path, create_path(MergedApps, PathFlag, Variables)},
kernel_processes(gen_app(KernelApp)),
{progress, init_kernel_started},
%% Load applications
[{apply, {application, load, [gen_app(A)]}} ||
- A = #app{name = Name, app_type = Type} <- SortedApps,
+ A = #app{name = Name, app_type = Type} <- MergedApps,
Name =/= kernel,
Type =/= none],
{progress, applications_loaded},
%% Start applications
[{apply, {application, start_boot, [Name, Type]}} ||
- #app{name = Name, app_type = Type} <- SortedApps,
- Type =/= none,
- Type =/= load,
+ #app{name = Name, app_type = Type} <- MergedApps,
+ Type =/= none,
+ Type =/= load,
not lists:member(Name, InclApps)],
%% Apply user specific customizations
@@ -323,24 +465,6 @@ do_gen_script(#rel{name = RelName, vsn = RelVsn, rel_apps = RelApps},
],
{ok, {script, {RelName, RelVsn}, lists:flatten(DeepList)}}.
-merge_app(#rel_app{name = Name, app_type = Type, incl_apps = RelIncl}, Apps, DefaultType) ->
- {value, App} = lists:keysearch(Name, #app.name, Apps),
- Type2 =
- case {Type, App#app.app_type} of
- {undefined, undefined} -> DefaultType;
- {undefined, AppType} -> AppType;
- {_, _} -> Type
- end,
- Info = App#app.info,
- case RelIncl -- Info#app_info.incl_apps of
- [] ->
- App#app{app_type = Type2, info = Info#app_info{incl_apps = RelIncl}};
- BadIncl ->
- reltool_utils:throw_error("~p: These applications are missing as "
- "included_applications in the app file: ~p\n",
- [Name, BadIncl])
- end.
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load_app_mods(#app{mods = Mods} = App, Mand, PathFlag, Variables) ->
@@ -359,7 +483,7 @@ load_app_mods(#app{mods = Mods} = App, Mand, PathFlag, Variables) ->
Subs ->
[{Subs, [M]}|[{Last,Acc}|Rest]]
end
- end,
+ end,
[{[],
[]}],
PartNames),
@@ -381,17 +505,26 @@ load_app_mods(#app{mods = Mods} = App, Mand, PathFlag, Variables) ->
%% Mod. by mbj
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-sort_apps(Apps) ->
+sort_apps(Apps) ->
sort_apps(Apps, [], [], []).
-sort_apps([#app{name = Name, info = Info} = App | Apps], Missing, Circular, Visited) ->
- {Uses, Apps1, NotFnd1} = find_all(Name, Info#app_info.applications, Apps, Visited, [], []),
- {Incs, Apps2, NotFnd2} = find_all(Name, lists:reverse(Info#app_info.incl_apps),
- Apps1, Visited, [], []),
-
+sort_apps([#app{name = Name, info = Info} = App | Apps],
+ Missing,
+ Circular,
+ Visited) ->
+ {Uses, Apps1, NotFnd1} =
+ find_all(Name, Info#app_info.applications, Apps, Visited, [], []),
+ {Incs, Apps2, NotFnd2} =
+ find_all(Name,
+ lists:reverse(Info#app_info.incl_apps),
+ Apps1,
+ Visited,
+ [],
+ []),
+
Missing1 = NotFnd1 ++ NotFnd2 ++ Missing,
case Uses ++ Incs of
- [] ->
+ [] ->
%% No more app that must be started before this one is
%% found; they are all already taken care of (and present
%% in Visited list)
@@ -401,8 +534,8 @@ sort_apps([#app{name = Name, info = Info} = App | Apps], Missing, Circular, Visi
%% Check if we have already taken care of some app in L,
%% in that case we have a circular dependency.
NewCircular = [N1 || N1 <- L, N2 <- Visited, N1 =:= N2],
- Circular1 = case NewCircular of
- [] -> Circular;
+ Circular1 = case NewCircular of
+ [] -> Circular;
_ -> [Name | NewCircular] ++ Circular
end,
%% L must be started before N, try again, with all apps
@@ -414,11 +547,13 @@ sort_apps([], [], [], _) ->
[];
sort_apps([], Missing, [], _) ->
%% this has already been checked before, but as we have the info...
- reltool_utils:throw_error("Undefined applications: ~p\n", [make_set(Missing)]);
+ reltool_utils:throw_error("Undefined applications: ~p",
+ [make_set(Missing)]);
sort_apps([], [], Circular, _) ->
- reltool_utils:throw_error("Circular dependencies: ~p\n", [make_set(Circular)]);
+ reltool_utils:throw_error("Circular dependencies: ~p",
+ [make_set(Circular)]);
sort_apps([], Missing, Circular, _) ->
- reltool_utils:throw_error("Circular dependencies: ~p\n"
+ reltool_utils:throw_error("Circular dependencies: ~p"
"Undefined applications: ~p\n",
[make_set(Circular), make_set(Missing)]).
@@ -431,24 +566,49 @@ find_all(CheckingApp, [Name | Names], Apps, Visited, Found, NotFound) ->
true ->
case lists:member(Name, Visited) of
true ->
- find_all(CheckingApp, Names, Apps, Visited, Found, NotFound);
+ find_all(CheckingApp,
+ Names,
+ Apps,
+ Visited,
+ Found,
+ NotFound);
false ->
- find_all(CheckingApp, Names, Apps, Visited, Found, [Name | NotFound])
+ find_all(CheckingApp,
+ Names,
+ Apps,
+ Visited,
+ Found,
+ [Name | NotFound])
end;
false ->
- find_all(CheckingApp, Names, Apps -- [App], Visited, [App|Found], NotFound)
+ find_all(CheckingApp,
+ Names,
+ Apps -- [App],
+ Visited,
+ [App|Found],
+ NotFound)
end;
false ->
case lists:member(Name, Visited) of
true ->
- find_all(CheckingApp, Names, Apps, Visited, Found, NotFound);
+ find_all(CheckingApp,
+ Names,
+ Apps,
+ Visited,
+ Found,
+ NotFound);
false ->
- find_all(CheckingApp, Names, Apps, Visited, Found, [Name|NotFound])
+ find_all(CheckingApp,
+ Names,
+ Apps,
+ Visited,
+ Found,
+ [Name|NotFound])
end
end;
find_all(_CheckingApp, [], Apps, _Visited, Found, NotFound) ->
{Found, Apps, NotFound}.
-
+
del_apps([Name | Names], Apps) ->
del_apps(Names, lists:keydelete(Name, #app.name, Apps));
del_apps([], Apps) ->
@@ -470,7 +630,9 @@ create_path(Apps, PathFlag, Variables) ->
%% (The otp_build flag is only used for OTP internal system make)
cr_path(#app{label = Label}, true, []) ->
filename:join(["$ROOT", "lib", Label, "ebin"]);
-cr_path(#app{name = Name, vsn = Vsn, label = Label, active_dir = Dir}, true, Variables) ->
+cr_path(#app{name = Name, vsn = Vsn, label = Label, active_dir = Dir},
+ true,
+ Variables) ->
Tail = [Label, "ebin"],
case variable_dir(Dir, atom_to_list(Name), Vsn, Variables) of
{ok, VarDir} ->
@@ -542,7 +704,7 @@ gen_rel_files(Sys, TargetDir) ->
try
Spec = spec_rel_files(Sys),
eval_spec(Spec, Sys#sys.root_dir, TargetDir)
- catch
+ catch
throw:{error, Text} ->
{error, Text}
end.
@@ -550,14 +712,15 @@ gen_rel_files(Sys, TargetDir) ->
spec_rel_files(#sys{rels = Rels} = Sys) ->
lists:append([do_spec_rel_files(R, Sys) || R <- Rels]).
-do_spec_rel_files(#rel{name = Name} = Rel, Sys) ->
- RelFile = Name ++ ".rel",
- ScriptFile = Name ++ ".script",
- BootFile = Name ++ ".boot",
- GenRel = gen_rel(Rel, Sys),
+do_spec_rel_files(#rel{name = RelName} = Rel, Sys) ->
+ RelFile = RelName ++ ".rel",
+ ScriptFile = RelName ++ ".script",
+ BootFile = RelName ++ ".boot",
+ MergedApps = merge_apps(Rel, Sys),
+ GenRel = do_gen_rel(Rel, Sys, MergedApps),
PathFlag = true,
Variables = [],
- {ok, Script} = do_gen_script(Rel, Sys, PathFlag, Variables),
+ {ok, Script} = do_gen_script(Rel, Sys, MergedApps, PathFlag, Variables),
{ok, BootBin} = gen_boot(Script),
Date = date(),
Time = time(),
@@ -579,15 +742,15 @@ gen_target(Sys, TargetDir) ->
try
Spec = do_gen_spec(Sys),
eval_spec(Spec, Sys#sys.root_dir, TargetDir)
- catch
+ catch
throw:{error, Text} ->
{error, Text}
end.
-
+
gen_spec(Sys) ->
try
{ok, do_gen_spec(Sys)}
- catch
+ catch
throw:{error, Text} ->
{error, Text}
end.
@@ -598,20 +761,20 @@ do_gen_spec(#sys{root_dir = RootDir,
relocatable = Relocatable,
apps = Apps} = Sys) ->
{create_dir, _, SysFiles} = spec_dir(RootDir),
- {ExclRegexps2, SysFiles2} = strip_sys_files(Relocatable, SysFiles, Apps, ExclRegexps),
+ {ExclRegexps2, SysFiles2} =
+ strip_sys_files(Relocatable, SysFiles, Apps, ExclRegexps),
RelFiles = spec_rel_files(Sys),
- {InclRegexps2, BinFiles} = spec_bin_files(Sys, SysFiles, SysFiles2, RelFiles, InclRegexps),
+ {InclRegexps2, BinFiles} =
+ spec_bin_files(Sys, SysFiles, SysFiles2, RelFiles, InclRegexps),
LibFiles = spec_lib_files(Sys),
{BootVsn, StartFile} = spec_start_file(Sys),
SysFiles3 =
[
- {create_dir, "releases",
+ {create_dir, "releases",
[StartFile,
{create_dir,BootVsn, RelFiles}]},
{create_dir, "bin", BinFiles}
] ++ SysFiles2,
- %% io:format("InclRegexps2: ~p\n", [InclRegexps2]),
- %% io:format("ExclRegexps2: ~p\n", [ExclRegexps2]),
SysFiles4 = filter_spec(SysFiles3, InclRegexps2, ExclRegexps2),
SysFiles5 = SysFiles4 ++ [{create_dir, "lib", LibFiles}],
check_sys(["bin", "erts", "lib"], SysFiles5),
@@ -621,24 +784,27 @@ strip_sys_files(Relocatable, SysFiles, Apps, ExclRegexps) ->
ExclRegexps2 =
case Relocatable of
true ->
- ExtraExcl = ["^erts.*/bin/.*src$"],
- reltool_utils:decode_regexps(excl_sys_filters, {add, ExtraExcl}, ExclRegexps);
+ ExtraExcl = ["^erts.*/bin/.*src\$"],
+ reltool_utils:decode_regexps(excl_sys_filters,
+ {add, ExtraExcl},
+ ExclRegexps);
false ->
ExclRegexps
end,
{value, Erts} = lists:keysearch(erts, #app.name, Apps),
FilterErts =
- fun(Spec) ->
- File = element(2, Spec),
- case lists:prefix("erts", File) of
- true ->
- if
- File =:= Erts#app.label ->
- replace_dyn_erl(Relocatable, Spec);
- true ->
- false
- end;
- false ->
+ fun(Spec) ->
+ File = element(2, Spec),
+ case File of
+ "erts" ->
+ reltool_utils:throw_error("This system is not installed. "
+ "The directory ~s is missing.",
+ [Erts#app.label]);
+ _ when File =:= Erts#app.label ->
+ replace_dyn_erl(Relocatable, Spec);
+ "erts-" ++ _ ->
+ false;
+ _ ->
true
end
end,
@@ -651,7 +817,8 @@ strip_sys_files(Relocatable, SysFiles, Apps, ExclRegexps) ->
replace_dyn_erl(false, _ErtsSpec) ->
true;
replace_dyn_erl(true, {create_dir, ErtsDir, ErtsFiles}) ->
- [{create_dir, _, BinFiles}] = safe_lookup_spec("bin", ErtsFiles),
+ [{create_dir, _, BinFiles}] =
+ safe_lookup_spec("bin", ErtsFiles),
case lookup_spec("dyn_erl", BinFiles) of
[] ->
case lookup_spec("erl.ini", BinFiles) of
@@ -660,7 +827,11 @@ replace_dyn_erl(true, {create_dir, ErtsDir, ErtsFiles}) ->
[{copy_file, ErlIni}] ->
%% Remove Windows .ini file
BinFiles2 = lists:keydelete(ErlIni, 2, BinFiles),
- ErtsFiles2 = lists:keyreplace("bin", 2, ErtsFiles, {create_dir, "bin", BinFiles2}),
+ ErtsFiles2 =
+ lists:keyreplace("bin",
+ 2,
+ ErtsFiles,
+ {create_dir, "bin", BinFiles2}),
{true, {create_dir, ErtsDir, ErtsFiles2}}
end;
[{copy_file, DynErlExe}] ->
@@ -668,42 +839,62 @@ replace_dyn_erl(true, {create_dir, ErtsDir, ErtsFiles}) ->
ErlExe = "erl" ++ filename:extension(DynErlExe),
BinFiles2 = lists:keydelete(DynErlExe, 2, BinFiles),
DynErlExe2 = filename:join([ErtsDir, "bin", DynErlExe]),
- BinFiles3 = lists:keyreplace(ErlExe, 2, BinFiles2, {copy_file, ErlExe, DynErlExe2}),
- ErtsFiles2 = lists:keyreplace("bin", 2, ErtsFiles, {create_dir, "bin", BinFiles3}),
+ BinFiles3 = lists:keyreplace(ErlExe,
+ 2,
+ BinFiles2,
+ {copy_file, ErlExe, DynErlExe2}),
+ ErtsFiles2 = lists:keyreplace("bin",
+ 2,
+ ErtsFiles,
+ {create_dir, "bin", BinFiles3}),
{true, {create_dir, ErtsDir, ErtsFiles2}}
end.
spec_bin_files(Sys, AllSysFiles, StrippedSysFiles, RelFiles, InclRegexps) ->
- [{create_dir, ErtsLabel, ErtsFiles}] = safe_lookup_spec("erts", StrippedSysFiles),
+ [{create_dir, ErtsLabel, ErtsFiles}] =
+ safe_lookup_spec("erts", StrippedSysFiles),
[{create_dir, _, BinFiles}] = safe_lookup_spec("bin", ErtsFiles),
ErtsBin = filename:join([ErtsLabel, "bin"]),
Escripts = spec_escripts(Sys, ErtsBin, BinFiles),
Map = fun({copy_file, File}) ->
{copy_file, File, filename:join([ErtsBin, File])};
({copy_file, NewFile, OldFile}) ->
- {_, OldFile2} = abs_to_rel_path(ErtsBin, filename:join([ErtsBin, OldFile])),
+ {_, OldFile2} =
+ abs_to_rel_path(ErtsBin,
+ filename:join([ErtsBin, OldFile])),
{copy_file, NewFile, OldFile2}
end,
%% Do only copy those bin files from erts/bin that also exists in bin
[{create_dir, _, OldBinFiles}] = safe_lookup_spec("bin", AllSysFiles),
GoodNames = [F || {copy_file, F} <- OldBinFiles,
- not lists:suffix(".boot", F),
+ not lists:suffix(".boot", F),
not lists:suffix(".script", F)],
- BinFiles2 = [Map(S) || S <- BinFiles, lists:member(element(2, S), GoodNames)],
+ BinFiles2 = [Map(S) || S <- BinFiles,
+ lists:member(element(2, S), GoodNames)],
BootFiles = [F || F <- RelFiles, lists:suffix(".boot", element(2, F))],
- [{write_file, _, BootRel}] = safe_lookup_spec(Sys#sys.boot_rel ++ ".boot", BootFiles),
- BootFiles2 = lists:keystore("start.boot", 2, BootFiles, {write_file, "start.boot", BootRel}),
- MakeRegexp = fun(File) -> "^bin/" ++ element(2, File) ++ "(|.escript)$" end,
+ [{write_file, _, BootRel}] =
+ safe_lookup_spec(Sys#sys.boot_rel ++ ".boot", BootFiles),
+ BootFiles2 = lists:keystore("start.boot",
+ 2,
+ BootFiles,
+ {write_file, "start.boot", BootRel}),
+ MakeRegexp =
+ fun(File) -> "^bin/" ++ element(2, File) ++ "(|.escript)\$" end,
ExtraIncl = lists:map(MakeRegexp, Escripts),
- InclRegexps2 = reltool_utils:decode_regexps(incl_sys_filters, {add, ExtraIncl}, InclRegexps),
+ InclRegexps2 = reltool_utils:decode_regexps(incl_sys_filters,
+ {add, ExtraIncl},
+ InclRegexps),
{InclRegexps2, Escripts ++ BinFiles2 ++ BootFiles2}.
spec_escripts(#sys{apps = Apps}, ErtsBin, BinFiles) ->
- Filter = fun(#app{is_escript = IsEscript, is_included = IsIncl,
- is_pre_included = IsPre, name = Name, active_dir = File}) ->
+ Filter = fun(#app{is_escript = IsEscript,
+ is_included = IsIncl,
+ is_pre_included = IsPre,
+ name = Name,
+ active_dir = File}) ->
if
- Name =:= ?MISSING_APP ->
+ Name =:= ?MISSING_APP_NAME ->
false;
not IsEscript ->
false;
@@ -722,15 +913,15 @@ do_spec_escript(File, ErtsBin, BinFiles) ->
ExeExt = filename:extension(EscriptExe),
[{copy_file, Base ++ EscriptExt, File},
{copy_file, Base ++ ExeExt, filename:join([ErtsBin, EscriptExe])}].
-
+
check_sys(Mandatory, SysFiles) ->
lists:foreach(fun(M) -> do_check_sys(M, SysFiles) end, Mandatory).
do_check_sys(Prefix, Specs) ->
- %%io:format("Prefix: ~p\n", [Prefix]),
case lookup_spec(Prefix, Specs) of
[] ->
- reltool_utils:throw_error("Mandatory system directory ~s is not included",
+ reltool_utils:throw_error("Mandatory system directory ~s "
+ "is not included",
[Prefix]);
_ ->
ok
@@ -750,7 +941,9 @@ lookup_spec(Prefix, Specs) ->
safe_lookup_spec(Prefix, Specs) ->
case lookup_spec(Prefix, Specs) of
[] ->
- reltool_utils:throw_error("Mandatory system file ~s is not included", [Prefix]);
+ %% io:format("lookup fail ~s:\n\t~p\n", [Prefix, Specs]),
+ reltool_utils:throw_error("Mandatory system file ~s is "
+ "not included", [Prefix]);
Match ->
Match
end.
@@ -763,7 +956,7 @@ spec_lib_files(#sys{apps = Apps} = Sys) ->
Filter = fun(#app{is_escript = IsEscript, is_included = IsIncl,
is_pre_included = IsPre, name = Name}) ->
if
- Name =:= ?MISSING_APP ->
+ Name =:= ?MISSING_APP_NAME ->
false;
IsEscript ->
false;
@@ -780,7 +973,8 @@ spec_lib_files(#sys{apps = Apps} = Sys) ->
check_apps([Mandatory | Names], Apps) ->
case lists:keymember(Mandatory, #app.name, Apps) of
false ->
- reltool_utils:throw_error("Mandatory application ~p is not included in ~p",
+ reltool_utils:throw_error("Mandatory application ~p is "
+ "not included in ~p",
[Mandatory, Apps]);
true ->
check_apps(Names, Apps)
@@ -791,10 +985,10 @@ check_apps([], _) ->
spec_app(#app{name = Name,
mods = Mods,
active_dir = SourceDir,
- incl_app_filters = AppInclRegexps,
- excl_app_filters = AppExclRegexps} = App,
- #sys{incl_app_filters = SysInclRegexps,
- excl_app_filters = SysExclRegexps,
+ incl_app_filters = AppInclRegexps,
+ excl_app_filters = AppExclRegexps} = App,
+ #sys{incl_app_filters = SysInclRegexps,
+ excl_app_filters = SysExclRegexps,
debug_info = SysDebugInfo} = Sys) ->
%% List files recursively
{create_dir, _, AppFiles} = spec_dir(SourceDir),
@@ -804,8 +998,12 @@ spec_app(#app{name = Name,
EbinDir = filename:join([SourceDir, "ebin"]),
OptAppUpFileSpec = spec_opt_copy_file(EbinDir, AppUpFilename),
OptAppFileSpec = spec_app_file(App, Sys, EbinDir),
- ModSpecs = [spec_mod(M, SysDebugInfo) || M <- Mods, M#mod.is_included, M#mod.exists],
- NewEbin = {create_dir, "ebin", OptAppUpFileSpec ++ OptAppFileSpec ++ ModSpecs},
+ ModSpecs = [spec_mod(M, SysDebugInfo) || M <- Mods,
+ M#mod.is_included,
+ M#mod.exists],
+ NewEbin = {create_dir,
+ "ebin",
+ OptAppUpFileSpec ++ OptAppFileSpec ++ ModSpecs},
AppFiles2 = lists:keystore("ebin", 2, AppFiles, NewEbin),
%% Apply file filter
@@ -826,24 +1024,32 @@ spec_archive(#app{label = Label,
excl_archive_filters = SysExclArchiveDirs,
archive_opts = SysArchiveOpts},
Files) ->
- InclArchiveDirs = reltool_utils:default_val(AppInclArchiveDirs, SysInclArchiveDirs),
- ExclArchiveDirs = reltool_utils:default_val(AppExclArchiveDirs, SysExclArchiveDirs),
- ArchiveOpts = reltool_utils:default_val(AppArchiveOpts, SysArchiveOpts),
+ InclArchiveDirs =
+ reltool_utils:default_val(AppInclArchiveDirs, SysInclArchiveDirs),
+ ExclArchiveDirs =
+ reltool_utils:default_val(AppExclArchiveDirs, SysExclArchiveDirs),
+ ArchiveOpts =
+ reltool_utils:default_val(AppArchiveOpts, SysArchiveOpts),
Match = fun(F) -> match(element(2, F), InclArchiveDirs, ExclArchiveDirs) end,
case lists:filter(Match, Files) of
[] ->
%% Nothing to archive
[spec_create_dir(RootDir, SourceDir, Label, Files)];
ArchiveFiles ->
- OptDir =
+ OptDir =
case Files -- ArchiveFiles of
[] ->
[];
ExternalFiles ->
- [spec_create_dir(RootDir, SourceDir, Label, ExternalFiles)]
+ [spec_create_dir(RootDir,
+ SourceDir,
+ Label,
+ ExternalFiles)]
end,
- ArchiveOpts = reltool_utils:default_val(AppArchiveOpts, SysArchiveOpts),
- ArchiveDir = spec_create_dir(RootDir, SourceDir, Label, ArchiveFiles),
+ ArchiveOpts =
+ reltool_utils:default_val(AppArchiveOpts, SysArchiveOpts),
+ ArchiveDir =
+ spec_create_dir(RootDir, SourceDir, Label, ArchiveFiles),
[{archive, Label ++ ".ez", ArchiveOpts, [ArchiveDir]} | OptDir]
end.
@@ -854,15 +1060,17 @@ spec_dir(Dir) ->
case erl_prim_loader:list_dir(Dir) of
{ok, Files} ->
%% Directory
- {create_dir, Base, [spec_dir(filename:join([Dir, F])) || F <- Files]};
+ {create_dir,
+ Base,
+ [spec_dir(filename:join([Dir, F])) || F <- Files]};
error ->
- reltool_utils:throw_error("list dir ~s failed\n", [Dir])
+ reltool_utils:throw_error("list dir ~s failed", [Dir])
end;
{ok, #file_info{type = regular}} ->
%% Plain file
{copy_file, Base};
_ ->
- reltool_utils:throw_error("read file info ~s failed\n", [Dir])
+ reltool_utils:throw_error("read file info ~s failed", [Dir])
end.
spec_mod(Mod, DebugInfo) ->
@@ -895,7 +1103,7 @@ spec_app_file(#app{name = Name,
App2 = App#app{info = Info#app_info{modules = ModNames}},
Contents = gen_app(App2),
AppIoList = io_lib:format("%% app generated at ~w ~w\n~p.\n\n",
- [date(), time(), Contents]),
+ [date(), time(), Contents]),
[{write_file, AppFilename, AppIoList}];
all ->
%% Include all included modules
@@ -904,13 +1112,14 @@ spec_app_file(#app{name = Name,
App2 = App#app{info = Info#app_info{modules = ModNames}},
Contents = gen_app(App2),
AppIoList = io_lib:format("%% app generated at ~w ~w\n~p.\n\n",
- [date(), time(), Contents]),
+ [date(), time(), Contents]),
[{write_file, AppFilename, AppIoList}]
-
+
end.
spec_opt_copy_file(DirName, BaseName) ->
- case filelib:is_regular(filename:join([DirName, BaseName]), erl_prim_loader) of
+ case filelib:is_regular(filename:join([DirName, BaseName]),
+ erl_prim_loader) of
true -> [{copy_file, BaseName}];
false -> []
end.
@@ -949,14 +1158,17 @@ eval_spec(Spec, SourceDir, TargetDir) ->
false ->
{error, TargetDir2 ++ ": " ++ file:format_error(enoent)}
end
- catch
+ catch
throw:{error, Text} ->
cleanup_spec(Spec, TargetDir2),
{error, Text}
end.
do_eval_spec(List, OrigSourceDir, SourceDir, TargetDir) when is_list(List) ->
- lists:foreach(fun(F) -> do_eval_spec(F, OrigSourceDir, SourceDir, TargetDir) end, List);
+ lists:foreach(fun(F) ->
+ do_eval_spec(F, OrigSourceDir, SourceDir, TargetDir)
+ end,
+ List);
%% do_eval_spec({source_dir, SourceDir2, Spec}, OrigSourceDir, _SourceDir, TargetDir) ->
%% %% Source dir is absolute or relative the original source dir
%% SourceDir3 = filename:join([OrigSourceDir, SourceDir2]),
@@ -966,12 +1178,18 @@ do_eval_spec({create_dir, Dir, Files}, OrigSourceDir, SourceDir, TargetDir) ->
TargetDir2 = filename:join([TargetDir, Dir]),
reltool_utils:create_dir(TargetDir2),
do_eval_spec(Files, OrigSourceDir, SourceDir2, TargetDir2);
-do_eval_spec({create_dir, Dir, OldDir, Files}, OrigSourceDir, _SourceDir, TargetDir) ->
+do_eval_spec({create_dir, Dir, OldDir, Files},
+ OrigSourceDir,
+ _SourceDir,
+ TargetDir) ->
SourceDir2 = filename:join([OrigSourceDir, OldDir]),
TargetDir2 = filename:join([TargetDir, Dir]),
reltool_utils:create_dir(TargetDir2),
do_eval_spec(Files, SourceDir2, SourceDir2, TargetDir2);
-do_eval_spec({archive, Archive, Options, Files}, OrigSourceDir, SourceDir, TargetDir) ->
+do_eval_spec({archive, Archive, Options, Files},
+ OrigSourceDir,
+ SourceDir,
+ TargetDir) ->
TmpSpec = {create_dir, "tmp", Files},
TmpDir = filename:join([TargetDir, "tmp"]),
reltool_utils:create_dir(TmpDir),
@@ -986,17 +1204,24 @@ do_eval_spec({archive, Archive, Options, Files}, OrigSourceDir, SourceDir, Targe
{ok, _} ->
ok;
{error, Reason} ->
- reltool_utils:throw_error("create archive ~s: ~p\n", [ArchiveFile, Reason])
+ reltool_utils:throw_error("create archive ~s failed: ~p",
+ [ArchiveFile, Reason])
end;
do_eval_spec({copy_file, File}, _OrigSourceDir, SourceDir, TargetDir) ->
SourceFile = filename:join([SourceDir, File]),
TargetFile = filename:join([TargetDir, File]),
reltool_utils:copy_file(SourceFile, TargetFile);
-do_eval_spec({copy_file, File, OldFile}, OrigSourceDir, _SourceDir, TargetDir) ->
+do_eval_spec({copy_file, File, OldFile},
+ OrigSourceDir,
+ _SourceDir,
+ TargetDir) ->
SourceFile = filename:join([OrigSourceDir, OldFile]),
TargetFile = filename:join([TargetDir, File]),
reltool_utils:copy_file(SourceFile, TargetFile);
-do_eval_spec({write_file, File, IoList}, _OrigSourceDir, _SourceDir, TargetDir) ->
+do_eval_spec({write_file, File, IoList},
+ _OrigSourceDir,
+ _SourceDir,
+ TargetDir) ->
TargetFile = filename:join([TargetDir, File]),
reltool_utils:write_file(TargetFile, IoList);
do_eval_spec({strip_beam, File}, _OrigSourceDir, SourceDir, TargetDir) ->
@@ -1039,9 +1264,12 @@ cleanup_spec({strip_beam, File}, TargetDir) ->
filter_spec(List, InclRegexps, ExclRegexps) ->
do_filter_spec("", List, InclRegexps, ExclRegexps).
-
+
do_filter_spec(Path, List, InclRegexps, ExclRegexps) when is_list(List) ->
- lists:zf(fun(File) -> do_filter_spec(Path, File, InclRegexps, ExclRegexps) end, List);
+ lists:zf(fun(File) ->
+ do_filter_spec(Path, File, InclRegexps, ExclRegexps)
+ end,
+ List);
%% do_filter_spec(Path, {source_dir, _SourceDir, Spec}, InclRegexps, ExclRegexps) ->
%% do_filter_spec(Path, Spec, InclRegexps, ExclRegexps);
do_filter_spec(Path, {create_dir, Dir, Files}, InclRegexps, ExclRegexps) ->
@@ -1057,7 +1285,10 @@ do_filter_spec(Path, {create_dir, Dir, Files}, InclRegexps, ExclRegexps) ->
Files2 when is_list(Files2) ->
{true, {create_dir, Dir, Files2}}
end;
-do_filter_spec(Path, {create_dir, NewDir, OldDir, Files}, InclRegexps, ExclRegexps) ->
+do_filter_spec(Path,
+ {create_dir, NewDir, OldDir, Files},
+ InclRegexps,
+ ExclRegexps) ->
Path2 = opt_join(Path, NewDir),
case do_filter_spec(Path2, Files, InclRegexps, ExclRegexps) of
[] ->
@@ -1070,7 +1301,10 @@ do_filter_spec(Path, {create_dir, NewDir, OldDir, Files}, InclRegexps, ExclRegex
Files2 when is_list(Files2) ->
{true, {create_dir, NewDir, OldDir, Files2}}
end;
-do_filter_spec(Path, {archive, Archive, Options, Files}, InclRegexps, ExclRegexps) ->
+do_filter_spec(Path,
+ {archive, Archive, Options, Files},
+ InclRegexps,
+ ExclRegexps) ->
case do_filter_spec(Path, Files, InclRegexps, ExclRegexps) of
[] ->
case match(Path, InclRegexps, ExclRegexps) of
@@ -1085,7 +1319,10 @@ do_filter_spec(Path, {archive, Archive, Options, Files}, InclRegexps, ExclRegexp
do_filter_spec(Path, {copy_file, File}, InclRegexps, ExclRegexps) ->
Path2 = opt_join(Path, File),
match(Path2, InclRegexps, ExclRegexps);
-do_filter_spec(Path, {copy_file, NewFile, _OldFile}, InclRegexps, ExclRegexps) ->
+do_filter_spec(Path,
+ {copy_file, NewFile, _OldFile},
+ InclRegexps,
+ ExclRegexps) ->
Path2 = opt_join(Path, NewFile),
match(Path2, InclRegexps, ExclRegexps);
do_filter_spec(Path, {write_file, File, _IoList}, InclRegexps, ExclRegexps) ->
@@ -1101,18 +1338,7 @@ opt_join(Path, File) ->
filename:join([Path, File]).
match(String, InclRegexps, ExclRegexps) ->
- %%case
- match(String, InclRegexps) andalso not match(String, ExclRegexps).
-%% of
-%% true ->
-%% true;
-%% false ->
-%% io:format("no match: ~p\n"
-%% " incl: ~p\n"
-%% " excl: ~p\n",
-%% [String, InclRegexps, ExclRegexps]),
-%% false
-%% end.
+ match(String, InclRegexps) andalso not match(String, ExclRegexps).
%% Match at least one regexp
match(_String, []) ->
@@ -1131,7 +1357,7 @@ match(String, [#regexp{source = _, compiled = MP} | Regexps]) ->
install(RelName, TargetDir) ->
try
do_install(RelName, TargetDir)
- catch
+ catch
throw:{error, Text} ->
{error, Text}
end.
@@ -1148,7 +1374,8 @@ do_install(RelName, TargetDir) ->
case os:type() of
{win32, _} ->
NativeRootDir = filename:nativename(TargetDir2),
- %% NativeBinDir = filename:nativename(filename:join([BinDir, "win32"])),
+ %% NativeBinDir =
+ %% filename:nativename(filename:join([BinDir, "win32"])),
NativeBinDir = filename:nativename(BinDir),
IniData = ["[erlang]\r\n",
"Bindir=", NativeBinDir, "\r\n",
@@ -1157,25 +1384,30 @@ do_install(RelName, TargetDir) ->
IniFile = filename:join([BinDir, "erl.ini"]),
ok = file:write_file(IniFile, IniData);
_ ->
- subst_src_scripts(start_scripts(), ErtsBinDir, BinDir,
- [{"FINAL_ROOTDIR", TargetDir2}, {"EMU", "beam"}],
+ subst_src_scripts(start_scripts(),
+ ErtsBinDir,
+ BinDir,
+ [{"FINAL_ROOTDIR", TargetDir2},
+ {"EMU", "beam"}],
[preserve])
end,
RelFile = filename:join([RelDir, RelVsn, RelName ++ ".rel"]),
ok = release_handler:create_RELEASES(TargetDir2, RelFile),
ok;
_ ->
- reltool_utils:throw_error("~s: Illegal syntax.\n", [DataFile])
+ reltool_utils:throw_error("~s: Illegal data file syntax", [DataFile])
end.
subst_src_scripts(Scripts, SrcDir, DestDir, Vars, Opts) ->
- Fun = fun(Script) -> subst_src_script(Script, SrcDir, DestDir, Vars, Opts) end,
+ Fun = fun(Script) ->
+ subst_src_script(Script, SrcDir, DestDir, Vars, Opts)
+ end,
lists:foreach(Fun, Scripts).
-subst_src_script(Script, SrcDir, DestDir, Vars, Opts) ->
+subst_src_script(Script, SrcDir, DestDir, Vars, Opts) ->
subst_file(filename:join([SrcDir, Script ++ ".src"]),
filename:join([DestDir, Script]),
- Vars,
+ Vars,
Opts).
subst_file(Src, Dest, Vars, Opts) ->
diff --git a/lib/reltool/src/reltool_utils.erl b/lib/reltool/src/reltool_utils.erl
index 8d52ade9be..39d057d994 100644
--- a/lib/reltool/src/reltool_utils.erl
+++ b/lib/reltool/src/reltool_utils.erl
@@ -1,25 +1,48 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(reltool_utils).
%% Public
--compile([export_all]).
+-export([root_dir/0, erl_libs/0, lib_dirs/1,
+ split_app_name/1, prim_consult/1,
+ default_rels/0, choose_default/3,
+
+ assign_image_list/1, get_latest_resize/1,
+ mod_conds/0, list_to_mod_cond/1, mod_cond_to_index/1,
+ incl_conds/0, list_to_incl_cond/1, incl_cond_to_index/1, elem_to_index/2,
+ app_dir_test/2, split_app_dir/1,
+ get_item/1, get_items/1, get_selected_items/3,
+ select_items/3, select_item/2,
+
+ safe_keysearch/5, print/4, return_first_error/2, add_warning/2,
+
+ create_dir/1, list_dir/1, read_file_info/1,
+ write_file_info/2, read_file/1, write_file/2,
+ recursive_delete/1, delete/2, recursive_copy_file/2, copy_file/2,
+
+ throw_error/2,
+
+ decode_regexps/3,
+ default_val/2,
+ escript_foldl/3,
+
+ call/2, cast/2, reply/3]).
-include_lib("kernel/include/file.hrl").
-include_lib("wx/include/wx.hrl").
@@ -30,11 +53,11 @@ root_dir() ->
erl_libs() ->
case os:getenv("ERL_LIBS") of
- false ->
+ false ->
[];
LibStr ->
string:tokens(LibStr, ":;")
- end.
+ end.
lib_dirs(Dir) ->
case erl_prim_loader:list_dir(Dir) of
@@ -42,7 +65,7 @@ lib_dirs(Dir) ->
[F || F <- Files,
filelib:is_dir(filename:join([Dir, F]),
erl_prim_loader)];
- error ->
+ error ->
[]
end.
@@ -55,7 +78,7 @@ split_app_name(Name) ->
Elem >= $0, Elem =< $9 -> true;
true -> false
end
- end,
+ end,
case lists:splitwith(Pred, lists:reverse(Name)) of
{Vsn, [$- | App]} ->
{list_to_atom(lists:reverse(App)), lists:reverse(Vsn)};
@@ -103,23 +126,51 @@ prim_parse(Tokens, Acc) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
default_rels() ->
- Kernel = #rel_app{name = kernel, incl_apps = []},
- Stdlib = #rel_app{name = stdlib, incl_apps = []},
- Sasl = #rel_app{name = sasl, incl_apps = []},
+ %%Kernel = #rel_app{name = kernel, incl_apps = []},
+ %%Stdlib = #rel_app{name = stdlib, incl_apps = []},
+ Sasl = #rel_app{name = sasl, incl_apps = []},
[
#rel{name = ?DEFAULT_REL_NAME,
vsn = "1.0",
- rel_apps = [Kernel, Stdlib]},
+ rel_apps = []},
+ %%rel_apps = [Kernel, Stdlib]},
#rel{name = "start_sasl",
vsn = "1.0",
- rel_apps = [Kernel, Sasl, Stdlib]}
+ rel_apps = [Sasl]}
+ %%rel_apps = [Kernel, Sasl, Stdlib]}
].
+choose_default(Tag, Profile, InclDefs)
+ when Profile =:= ?DEFAULT_PROFILE; InclDefs ->
+ case Tag of
+ incl_sys_filters -> ?DEFAULT_INCL_SYS_FILTERS;
+ excl_sys_filters -> ?DEFAULT_EXCL_SYS_FILTERS;
+ incl_app_filters -> ?DEFAULT_INCL_APP_FILTERS;
+ excl_app_filters -> ?DEFAULT_EXCL_APP_FILTERS;
+ embedded_app_type -> ?DEFAULT_EMBEDDED_APP_TYPE
+ end;
+choose_default(Tag, standalone, _InclDefs) ->
+ case Tag of
+ incl_sys_filters -> ?STANDALONE_INCL_SYS_FILTERS;
+ excl_sys_filters -> ?STANDALONE_EXCL_SYS_FILTERS;
+ incl_app_filters -> ?STANDALONE_INCL_APP_FILTERS;
+ excl_app_filters -> ?STANDALONE_EXCL_APP_FILTERS;
+ embedded_app_type -> ?DEFAULT_EMBEDDED_APP_TYPE
+ end;
+choose_default(Tag, embedded, _InclDefs) ->
+ case Tag of
+ incl_sys_filters -> ?EMBEDDED_INCL_SYS_FILTERS;
+ excl_sys_filters -> ?EMBEDDED_EXCL_SYS_FILTERS;
+ incl_app_filters -> ?EMBEDDED_INCL_APP_FILTERS;
+ excl_app_filters -> ?EMBEDDED_EXCL_APP_FILTERS;
+ embedded_app_type -> ?EMBEDDED_APP_TYPE
+ end.
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
assign_image_list(ListCtrl) ->
Art = wxImageList:new(16,16),
- [wxImageList:add(Art, wxArtProvider:getBitmap(Image, [{size, {16,16}}]))
+ [wxImageList:add(Art, wxArtProvider:getBitmap(Image, [{size, {16,16}}]))
|| Image <- ["wxART_ERROR",
"wxART_WARNING",
"wxART_QUESTION",
@@ -206,7 +257,7 @@ split_app_dir(Dir) ->
ParentDir = filename:dirname(Dir),
Base = filename:basename(Dir),
{Name, Vsn} = split_app_name(Base),
- Vsn2 =
+ Vsn2 =
try
[list_to_integer(N) || N <- string:tokens(Vsn, ".")]
catch
@@ -276,7 +327,9 @@ get_selected_items(ListCtrl, PrevItem, Acc) ->
ItemNo ->
case wxListCtrl:getItemText(ListCtrl, ItemNo) of
Text when Text =/= ?MISSING_APP_TEXT ->
- get_selected_items(ListCtrl, ItemNo, [{ItemNo, Text} | Acc]);
+ get_selected_items(ListCtrl,
+ ItemNo,
+ [{ItemNo, Text} | Acc]);
_Text ->
get_selected_items(ListCtrl, ItemNo, Acc)
end
@@ -306,7 +359,8 @@ select_items(ListCtrl, OldItems, NewItems) ->
select_item(ListCtrl, NewItems);
ValidItems ->
%% Some old selections are still valid. Select them again.
- lists:foreach(fun(Item) -> select_item(ListCtrl, [Item]) end, ValidItems)
+ lists:foreach(fun(Item) -> select_item(ListCtrl, [Item]) end,
+ ValidItems)
end.
select_item(ListCtrl, [{ItemNo, Text} | Items]) ->
@@ -339,7 +393,7 @@ print(_, _, _, _) ->
ok.
%% -define(SAFE(M,F,A), safe(M, F, A, ?MODULE, ?LINE)).
-%%
+%%
%% safe(M, F, A, Mod, Line) ->
%% case catch apply(M, F, A) of
%% {'EXIT', Reason} ->
@@ -356,7 +410,7 @@ return_first_error(Status, NewError) when is_list(NewError) ->
{error, OldError} ->
{error, OldError}
end.
-
+
add_warning(Status, Warning) ->
case Status of
{ok, Warnings} ->
@@ -376,7 +430,7 @@ create_dir(Dir) ->
ok;
{error, Reason} ->
Text = file:format_error(Reason),
- throw_error("create dir ~s: ~s\n", [Dir, Text])
+ throw_error("create dir ~s: ~s", [Dir, Text])
end.
list_dir(Dir) ->
@@ -385,7 +439,7 @@ list_dir(Dir) ->
Files;
error ->
Text = file:format_error(enoent),
- throw_error("list dir ~s: ~s\n", [Dir, Text])
+ throw_error("list dir ~s: ~s", [Dir, Text])
end.
read_file_info(File) ->
@@ -394,7 +448,7 @@ read_file_info(File) ->
Info;
{error, Reason} ->
Text = file:format_error(Reason),
- throw_error("read file info ~s: ~s\n", [File, Text])
+ throw_error("read file info ~s: ~s", [File, Text])
end.
write_file_info(File, Info) ->
@@ -403,7 +457,7 @@ write_file_info(File, Info) ->
ok;
{error, Reason} ->
Text = file:format_error(Reason),
- throw_error("write file info ~s: ~s\n", [File, Text])
+ throw_error("write file info ~s: ~s", [File, Text])
end.
read_file(File) ->
@@ -412,7 +466,7 @@ read_file(File) ->
Bin;
{error, Reason} ->
Text = file:format_error(Reason),
- throw_error("read file ~s: ~s\n", [File, Text])
+ throw_error("read file ~s: ~s", [File, Text])
end.
write_file(File, IoList) ->
@@ -421,7 +475,7 @@ write_file(File, IoList) ->
ok;
{error, Reason} ->
Text = file:format_error(Reason),
- throw_error("write file ~s: ~s\n", [File, Text])
+ throw_error("write file ~s: ~s", [File, Text])
end.
recursive_delete(Dir) ->
@@ -429,7 +483,8 @@ recursive_delete(Dir) ->
true ->
case file:list_dir(Dir) of
{ok, Files} ->
- Fun = fun(F) -> recursive_delete(filename:join([Dir, F])) end,
+ Fun =
+ fun(F) -> recursive_delete(filename:join([Dir, F])) end,
lists:foreach(Fun, Files),
delete(Dir, directory);
{error, enoent} ->
@@ -514,7 +569,9 @@ decode_regexps(Key, Regexps, _Old) when is_list(Regexps) ->
do_decode_regexps(Key, [Regexp | Regexps], Acc) ->
case catch re:compile(Regexp, []) of
{ok, MP} ->
- do_decode_regexps(Key, Regexps, [#regexp{source = Regexp, compiled = MP} | Acc]);
+ do_decode_regexps(Key,
+ Regexps,
+ [#regexp{source = Regexp, compiled = MP} | Acc]);
_ ->
Text = lists:flatten(io_lib:format("~p", [{Key, Regexp}])),
throw({error, "Illegal option: " ++ Text})
@@ -532,8 +589,34 @@ default_val(Val, Default) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+escript_foldl(Fun, Acc, File) ->
+ case escript:extract(File, [compile_source]) of
+ {ok, [_Shebang, _Comment, _EmuArgs, Body]} ->
+ case Body of
+ {source, BeamCode} ->
+ GetInfo = fun() -> file:read_file_info(File) end,
+ GetBin = fun() -> BeamCode end,
+ {ok, Fun(".", GetInfo, GetBin, Acc)};
+ {beam, BeamCode} ->
+ GetInfo = fun() -> file:read_file_info(File) end,
+ GetBin = fun() -> BeamCode end,
+ {ok, Fun(".", GetInfo, GetBin, Acc)};
+ {archive, ArchiveBin} ->
+ zip:foldl(Fun, Acc, {File, ArchiveBin})
+ end;
+ {error, Reason} ->
+ {error, Reason}
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
call(Name, Msg) when is_atom(Name) ->
- call(whereis(Name), Msg);
+ case whereis(Name) of
+ undefined ->
+ {error, {noproc, Name}};
+ Pid ->
+ call(Pid, Msg)
+ end;
call(Pid, Msg) when is_pid(Pid) ->
Ref = erlang:monitor(process, Pid),
Pid ! {call, self(), Ref, Msg},
diff --git a/lib/reltool/test/Makefile b/lib/reltool/test/Makefile
index 00d2add3e5..34781ae720 100644
--- a/lib/reltool/test/Makefile
+++ b/lib/reltool/test/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2009-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
include $(ERL_TOP)/make/target.mk
@@ -25,6 +25,7 @@ include $(ERL_TOP)/make/$(TARGET)/otp.mk
MODULES= \
rtt \
+ reltool_app_SUITE \
reltool_wx_SUITE \
reltool_server_SUITE \
reltool_test_lib
diff --git a/lib/reltool/test/reltool_app_SUITE.erl b/lib/reltool/test/reltool_app_SUITE.erl
new file mode 100644
index 0000000000..f8433f73d0
--- /dev/null
+++ b/lib/reltool/test/reltool_app_SUITE.erl
@@ -0,0 +1,291 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+%%
+%%----------------------------------------------------------------------
+%% Purpose: Verify the application specifics of the Reltool application
+%%----------------------------------------------------------------------
+-module(reltool_app_SUITE).
+
+-compile(export_all).
+
+-include("reltool_test_lib.hrl").
+
+
+t() -> reltool_test_lib:t(?MODULE).
+t(Case) -> reltool_test_lib:t({?MODULE, Case}).
+
+%% Test server callbacks
+init_per_suite(Config) ->
+ Config2 = reltool_test_lib:init_per_suite(Config),
+ case is_app(reltool) of
+ {ok, AppFile} ->
+ %% io:format("AppFile: ~n~p~n", [AppFile]),
+ [{app_file, AppFile} | Config2];
+ {error, Reason} ->
+ fail(Reason)
+ end.
+
+end_per_suite(Config) ->
+ reltool_test_lib:end_per_suite(Config).
+
+init_per_testcase(Case, Config) ->
+ Config2 =
+ case Case of
+ undef_funcs ->
+ [{tc_timeout, timer:minutes(10)} | Config];
+ _ ->
+ Config
+ end,
+ reltool_test_lib:init_per_testcase(Case, Config2).
+
+end_per_testcase(Func,Config) ->
+ reltool_test_lib:end_per_testcase(Func,Config).
+
+fin_per_testcase(Case, Config) ->
+ reltool_test_lib:end_per_testcase(Case, Config).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+all() ->
+ all(suite).
+
+all(suite) ->
+ [
+ fields,
+ modules,
+ export_all,
+ app_depend,
+ undef_funcs
+ ].
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+is_app(App) ->
+ LibDir = code:lib_dir(App),
+ File = filename:join([LibDir, "ebin", atom_to_list(App) ++ ".app"]),
+ case file:consult(File) of
+ {ok, [{application, App, AppFile}]} ->
+ {ok, AppFile};
+ {error, {LineNo, Mod, Code}} ->
+ IoList = lists:concat([File, ":", LineNo, ": ",
+ Mod:format_error(Code)]),
+ {error, list_to_atom(lists:flatten(IoList))}
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+fields(suite) ->
+ [];
+fields(doc) ->
+ [];
+fields(Config) when is_list(Config) ->
+ AppFile = key1search(app_file, Config),
+ Fields = [vsn, description, modules, registered, applications],
+ case check_fields(Fields, AppFile, []) of
+ [] ->
+ ok;
+ Missing ->
+ fail({missing_fields, Missing})
+ end.
+
+check_fields([], _AppFile, Missing) ->
+ Missing;
+check_fields([Field|Fields], AppFile, Missing) ->
+ check_fields(Fields, AppFile, check_field(Field, AppFile, Missing)).
+
+check_field(Name, AppFile, Missing) ->
+ io:format("checking field: ~p~n", [Name]),
+ case lists:keymember(Name, 1, AppFile) of
+ true ->
+ Missing;
+ false ->
+ [Name|Missing]
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+modules(suite) ->
+ [];
+modules(doc) ->
+ [];
+modules(Config) when is_list(Config) ->
+ AppFile = key1search(app_file, Config),
+ Mods = key1search(modules, AppFile),
+ EbinList = get_ebin_mods(reltool),
+ case missing_modules(Mods, EbinList, []) of
+ [] ->
+ ok;
+ Missing ->
+ throw({error, {missing_modules, Missing}})
+ end,
+ case extra_modules(Mods, EbinList, []) of
+ [] ->
+ ok;
+ Extra ->
+ throw({error, {extra_modules, Extra}})
+ end,
+ {ok, Mods}.
+
+get_ebin_mods(App) ->
+ LibDir = code:lib_dir(App),
+ EbinDir = filename:join([LibDir,"ebin"]),
+ {ok, Files0} = file:list_dir(EbinDir),
+ Files1 = [lists:reverse(File) || File <- Files0],
+ [list_to_atom(lists:reverse(Name)) || [$m,$a,$e,$b,$.|Name] <- Files1].
+
+missing_modules([], _Ebins, Missing) ->
+ Missing;
+missing_modules([Mod|Mods], Ebins, Missing) ->
+ case lists:member(Mod, Ebins) of
+ true ->
+ missing_modules(Mods, Ebins, Missing);
+ false ->
+ io:format("missing module: ~p~n", [Mod]),
+ missing_modules(Mods, Ebins, [Mod|Missing])
+ end.
+
+
+extra_modules(_Mods, [], Extra) ->
+ Extra;
+extra_modules(Mods, [Mod|Ebins], Extra) ->
+ case lists:member(Mod, Mods) of
+ true ->
+ extra_modules(Mods, Ebins, Extra);
+ false ->
+ io:format("supefluous module: ~p~n", [Mod]),
+ extra_modules(Mods, Ebins, [Mod|Extra])
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+export_all(suite) ->
+ [];
+export_all(doc) ->
+ [];
+export_all(Config) when is_list(Config) ->
+ AppFile = key1search(app_file, Config),
+ Mods = key1search(modules, AppFile),
+ check_export_all(Mods).
+
+
+check_export_all([]) ->
+ ok;
+check_export_all([Mod|Mods]) ->
+ case (catch apply(Mod, module_info, [compile])) of
+ {'EXIT', {undef, _}} ->
+ check_export_all(Mods);
+ O ->
+ case lists:keysearch(options, 1, O) of
+ false ->
+ check_export_all(Mods);
+ {value, {options, List}} ->
+ case lists:member(export_all, List) of
+ true ->
+ throw({error, {export_all, Mod}});
+ false ->
+ check_export_all(Mods)
+ end
+ end
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+app_depend(suite) ->
+ [];
+app_depend(doc) ->
+ [];
+app_depend(Config) when is_list(Config) ->
+ AppFile = key1search(app_file, Config),
+ Apps = key1search(applications, AppFile),
+ check_apps(Apps).
+
+check_apps([]) ->
+ ok;
+check_apps([App|Apps]) ->
+ case is_app(App) of
+ {ok, _} ->
+ check_apps(Apps);
+ Error ->
+ throw({error, {missing_app, {App, Error}}})
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+undef_funcs(suite) ->
+ [];
+undef_funcs(doc) ->
+ [];
+undef_funcs(Config) when is_list(Config) ->
+ App = reltool,
+ AppFile = key1search(app_file, Config),
+ Mods = key1search(modules, AppFile),
+ Root = code:root_dir(),
+ LibDir = code:lib_dir(App),
+ EbinDir = filename:join([LibDir,"ebin"]),
+ XRefTestName = undef_funcs_make_name(App, xref_test_name),
+ {ok, XRef} = xref:start(XRefTestName),
+ ok = xref:set_default(XRef,
+ [{verbose,false},{warnings,false}]),
+ XRefName = undef_funcs_make_name(App, xref_name),
+ {ok, XRefName} = xref:add_release(XRef, Root, {name,XRefName}),
+ {ok, App} = xref:replace_application(XRef, App, EbinDir),
+ {ok, Undefs} = xref:analyze(XRef, undefined_function_calls),
+ xref:stop(XRef),
+ analyze_undefined_function_calls(Undefs, Mods, []).
+
+analyze_undefined_function_calls([], _, []) ->
+ ok;
+analyze_undefined_function_calls([], _, AppUndefs) ->
+ exit({suite_failed, {undefined_function_calls, AppUndefs}});
+analyze_undefined_function_calls([{{Mod, _F, _A}, _C} = AppUndef|Undefs],
+ AppModules, AppUndefs) ->
+ %% Check that this module is our's
+ case lists:member(Mod,AppModules) of
+ true ->
+ {Calling,Called} = AppUndef,
+ {Mod1,Func1,Ar1} = Calling,
+ {Mod2,Func2,Ar2} = Called,
+ io:format("undefined function call: "
+ "~n ~w:~w/~w calls ~w:~w/~w~n",
+ [Mod1,Func1,Ar1,Mod2,Func2,Ar2]),
+ analyze_undefined_function_calls(Undefs, AppModules,
+ [AppUndef|AppUndefs]);
+ false ->
+ io:format("dropping ~p~n", [Mod]),
+ analyze_undefined_function_calls(Undefs, AppModules, AppUndefs)
+ end.
+
+%% This function is used simply to avoid cut-and-paste errors later...
+undef_funcs_make_name(App, PostFix) ->
+ list_to_atom(atom_to_list(App) ++ "_" ++ atom_to_list(PostFix)).
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+fail(Reason) ->
+ exit({suite_failed, Reason}).
+
+key1search(Key, L) ->
+ case lists:keysearch(Key, 1, L) of
+ false ->
+ fail({not_found, Key, L});
+ {value, {Key, Value}} ->
+ Value
+ end.
diff --git a/lib/reltool/test/reltool_server_SUITE.erl b/lib/reltool/test/reltool_server_SUITE.erl
index cf951191a0..faf1bdbba2 100644
--- a/lib/reltool/test/reltool_server_SUITE.erl
+++ b/lib/reltool/test/reltool_server_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(reltool_server_SUITE).
@@ -26,11 +26,13 @@
-include("reltool_test_lib.hrl").
-define(NODE_NAME, '__RELTOOL__TEMPORARY_TEST__NODE__').
+-define(WORK_DIR, "reltool_work_dir").
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Initialization functions.
init_per_suite(Config) ->
+ ?ignore(file:make_dir(?WORK_DIR)),
reltool_test_lib:init_per_suite(Config).
end_per_suite(Config) ->
@@ -128,8 +130,7 @@ create_release(_Config) ->
{value, {_, _, StdlibVsn}} = lists:keysearch(stdlib, 1, Apps),
Rel = {release, {RelName, RelVsn},
{erts, ErtsVsn},
- [{kernel, KernelVsn},
- {stdlib, StdlibVsn}]},
+ [{kernel, KernelVsn}, {stdlib, StdlibVsn}]},
?m({ok, Rel}, reltool:get_rel([{config, Config}], RelName)),
ok.
@@ -159,15 +160,17 @@ create_script(_Config) ->
Rel = {release,
{RelName, RelVsn},
{erts, ErtsVsn},
- [{stdlib, StdlibVsn}, {kernel, KernelVsn}]},
+ [{kernel, KernelVsn}, {stdlib, StdlibVsn}]},
?m({ok, Rel}, reltool:get_rel(Pid, RelName)),
- RelFile = RelName ++ ".rel",
- ?m(ok, file:write_file(RelFile, io_lib:format("~p.\n", [Rel]))),
+ ?m(ok, file:write_file(filename:join([?WORK_DIR, RelName ++ ".rel"]),
+ io_lib:format("~p.\n", [Rel]))),
%% Generate script file
+ {ok, Cwd} = file:get_cwd(),
+ ?m(ok, file:set_cwd(?WORK_DIR)),
?m(ok, systools:make_script(RelName, [])),
- ScriptFile = RelName ++ ".script",
- {ok, [OrigScript]} = ?msym({ok, [_]}, file:consult(ScriptFile)),
+ {ok, [OrigScript]} = ?msym({ok, [_]}, file:consult(RelName ++ ".script")),
+ ?m(ok, file:set_cwd(Cwd)),
{ok, Script} = ?msym({ok, _}, reltool:get_script(Pid, RelName)),
%% OrigScript2 = sort_script(OrigScript),
%% Script2 = sort_script(Script),
@@ -201,9 +204,10 @@ create_target(_Config) ->
]},
%% Generate target file
- TargetDir = "reltool_target_dir_development",
+ TargetDir = filename:join([?WORK_DIR, "target_development"]),
?m(ok, reltool_utils:recursive_delete(TargetDir)),
?m(ok, file:make_dir(TargetDir)),
+ ?log("SPEC: ~p\n", [reltool:get_target_spec([{config, Config}])]),
?m(ok, reltool:create_target([{config, Config}], TargetDir)),
Erl = filename:join([TargetDir, "bin", "erl"]),
@@ -234,7 +238,7 @@ create_embedded(_Config) ->
]},
%% Generate target file
- TargetDir = "reltool_target_dir_embedded",
+ TargetDir = filename:join([?WORK_DIR, "target_embedded"]),
?m(ok, reltool_utils:recursive_delete(TargetDir)),
?m(ok, file:make_dir(TargetDir)),
?m(ok, reltool:create_target([{config, Config}], TargetDir)),
@@ -264,7 +268,7 @@ create_standalone(_Config) ->
]},
%% Generate target file
- TargetDir = "reltool_target_dir_standalone",
+ TargetDir = filename:join([?WORK_DIR, "target_standalone"]),
?m(ok, reltool_utils:recursive_delete(TargetDir)),
?m(ok, file:make_dir(TargetDir)),
?m(ok, reltool:create_target([{config, Config}], TargetDir)),
@@ -290,6 +294,8 @@ create_standalone(_Config) ->
create_old_target(TestInfo) when is_atom(TestInfo) ->
reltool_test_lib:tc_info(TestInfo);
create_old_target(_Config) ->
+ ?skip("Old style of target", []),
+
%% Configure the server
RelName1 = "Just testing",
RelName2 = "Just testing with SASL",
@@ -306,7 +312,7 @@ create_old_target(_Config) ->
]},
%% Generate target file
- TargetDir = "reltool_target_dir_old",
+ TargetDir = filename:join([?WORK_DIR, "target_old_style"]),
?m(ok, reltool_utils:recursive_delete(TargetDir)),
?m(ok, file:make_dir(TargetDir)),
?m(ok, reltool:create_target([{config, Config}], TargetDir)),
diff --git a/lib/reltool/test/reltool_test_lib.erl b/lib/reltool/test/reltool_test_lib.erl
index 25978294ee..5390b0a75e 100644
--- a/lib/reltool/test/reltool_test_lib.erl
+++ b/lib/reltool/test/reltool_test_lib.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(reltool_test_lib).
@@ -24,9 +24,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
init_per_suite(Config) when is_list(Config)->
+ global:register_name(reltool_global_logger, group_leader()),
incr_timetrap(Config, 5).
end_per_suite(Config) when is_list(Config)->
+ global:unregister_name(reltool_global_logger),
ok.
incr_timetrap(Config, Times) ->
@@ -130,11 +132,9 @@ wx_end_per_suite(Config) ->
init_per_testcase(_Func, Config) when is_list(Config) ->
set_kill_timer(Config),
- global:register_name(reltool_global_logger, group_leader()),
Config.
end_per_testcase(_Func, Config) when is_list(Config) ->
- global:unregister_name(reltool_global_logger),
reset_kill_timer(Config),
Config.
diff --git a/lib/reltool/test/reltool_test_lib.hrl b/lib/reltool/test/reltool_test_lib.hrl
index 93134144ea..b592ebb2f0 100644
--- a/lib/reltool/test/reltool_test_lib.hrl
+++ b/lib/reltool/test/reltool_test_lib.hrl
@@ -1,23 +1,24 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-include_lib("wx/include/wx.hrl").
+-define(flat_format(Format,Args), lists:flatten(io_lib:format(Format,Args))).
-define(log(Format,Args), reltool_test_lib:log(Format,Args,?FILE,?LINE)).
-define(warning(Format,Args), ?log("<WARNING>\n " ++ Format,Args)).
-define(error(Format,Args), reltool_test_lib:error(Format,Args,?FILE,?LINE)).
diff --git a/lib/reltool/test/rtt b/lib/reltool/test/rtt
index 2411195338..1f93396196 100755
--- a/lib/reltool/test/rtt
+++ b/lib/reltool/test/rtt
@@ -1,19 +1,19 @@
#! /bin/sh -f
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2009-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
# Usage: rtt [-cerl] <args to erlang startup script>
@@ -23,7 +23,7 @@ while [ $# -gt 0 ]; do
case "$1" in
"-cerl")
shift
- emu=cerl
+ emu="$ERL_TOP/bin/cerl"
;;
*)
break
diff --git a/lib/runtime_tools/doc/src/erts_alloc_config.xml b/lib/runtime_tools/doc/src/erts_alloc_config.xml
index 5e7cbe4172..6acf498411 100644
--- a/lib/runtime_tools/doc/src/erts_alloc_config.xml
+++ b/lib/runtime_tools/doc/src/erts_alloc_config.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2007</year><year>2009</year>
+ <year>2007</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>erts_alloc_config</title>
@@ -68,7 +68,7 @@
command-line flag to the Erlang runtime system you are going
to use for creation of the allocator configuration. It will
disable features that prevent <c>erts_alloc_config</c> from
- doing it's job. Note, you should <em>not</em> use this flag
+ doing its job. Note, you should <em>not</em> use this flag
when using the created configuration. Also note that it is
important that you use the same
<seealso marker="erts:erl#+S">amount of schedulers</seealso>
diff --git a/lib/runtime_tools/src/dbg.erl b/lib/runtime_tools/src/dbg.erl
index 66ac0422eb..56283f4d3d 100644
--- a/lib/runtime_tools/src/dbg.erl
+++ b/lib/runtime_tools/src/dbg.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(dbg).
@@ -945,7 +945,7 @@ dhandler(end_of_trace, Out) ->
dhandler(Trace, Out) when element(1, Trace) == trace, tuple_size(Trace) >= 3 ->
dhandler1(Trace, tuple_size(Trace), Out);
dhandler(Trace, Out) when element(1, Trace) == trace_ts, tuple_size(Trace) >= 4 ->
- dhandler1(Trace, tuple_size(Trace)-1, Out);
+ dhandler1(Trace, tuple_size(Trace)-1, element(tuple_size(Trace),Trace), Out);
dhandler(Trace, Out) when element(1, Trace) == drop, tuple_size(Trace) =:= 2 ->
io:format(Out, "*** Dropped ~p messages.~n", [element(2,Trace)]),
Out;
@@ -978,24 +978,18 @@ dhandler(_Trace, Out) ->
Out.
dhandler1(Trace, Size, Out) ->
-%%%! Self = self(),
From = element(2, Trace),
case element(3, Trace) of
'receive' ->
case element(4, Trace) of
{dbg,ok} -> ok;
- Message -> io:format(Out, "(~p) << ~p~n", [From,Message])
+ Message ->
+ io:format(Out, "(~p) << ~p~n", [From,Message])
end;
'send' ->
Message = element(4, Trace),
- case element(5, Trace) of
-%%%! This causes messages to disappear when used by ttb (observer). Tests
-%%%! so far show that there is no difference in results with dbg even if I
-%%%! comment it out, so I hope this is only some old code which isn't
-%%%! needed anymore... /siri
-%%%! Self -> ok;
- To -> io:format(Out, "(~p) ~p ! ~p~n", [From,To,Message])
- end;
+ To = element(5, Trace),
+ io:format(Out, "(~p) ~p ! ~p~n", [From,To,Message]);
call ->
case element(4, Trace) of
MFA when Size == 5 ->
@@ -1028,6 +1022,51 @@ dhandler1(Trace, Size, Out) ->
end,
Out.
+dhandler1(Trace, Size, TS, Out) ->
+ From = element(2, Trace),
+ case element(3, Trace) of
+ 'receive' ->
+ case element(4, Trace) of
+ {dbg,ok} -> ok;
+ Message ->
+ io:format(Out, "(~p) << ~p (Timestamp: ~p)~n", [From,Message,TS])
+ end;
+ 'send' ->
+ Message = element(4, Trace),
+ To = element(5, Trace),
+ io:format(Out, "(~p) ~p ! ~p (Timestamp: ~p)~n", [From,To,Message,TS]);
+ call ->
+ case element(4, Trace) of
+ MFA when Size == 5 ->
+ Message = element(5, Trace),
+ io:format(Out, "(~p) call ~s (~p) (Timestamp: ~p)~n", [From,ffunc(MFA),Message,TS]);
+ MFA ->
+ io:format(Out, "(~p) call ~s (Timestamp: ~p)~n", [From,ffunc(MFA),TS])
+ end;
+ return -> %% To be deleted...
+ case element(4, Trace) of
+ MFA when Size == 5 ->
+ Ret = element(5, Trace),
+ io:format(Out, "(~p) old_ret ~s -> ~p (Timestamp: ~p)~n", [From,ffunc(MFA),Ret,TS]);
+ MFA ->
+ io:format(Out, "(~p) old_ret ~s (Timestamp: ~p)~n", [From,ffunc(MFA),TS])
+ end;
+ return_from ->
+ MFA = element(4, Trace),
+ Ret = element(5, Trace),
+ io:format(Out, "(~p) returned from ~s -> ~p (Timestamp: ~p)~n", [From,ffunc(MFA),Ret,TS]);
+ return_to ->
+ MFA = element(4, Trace),
+ io:format(Out, "(~p) returning to ~s (Timestamp: ~p)~n", [From,ffunc(MFA),TS]);
+ spawn when Size == 5 ->
+ Pid = element(4, Trace),
+ MFA = element(5, Trace),
+ io:format(Out, "(~p) spawn ~p as ~s (Timestamp: ~p)~n", [From,Pid,ffunc(MFA),TS]);
+ Op ->
+ io:format(Out, "(~p) ~p ~s (Timestamp: ~p)~n", [From,Op,ftup(Trace,4,Size),TS])
+ end,
+ Out.
+
%%% These f* functions returns non-flat strings
diff --git a/lib/sasl/doc/src/notes.xml b/lib/sasl/doc/src/notes.xml
index 390b353386..e528af2522 100644
--- a/lib/sasl/doc/src/notes.xml
+++ b/lib/sasl/doc/src/notes.xml
@@ -30,6 +30,49 @@
</header>
<p>This document describes the changes made to the SASL application.</p>
+<section><title>SASL 2.1.9.2</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>In R13B04 sys:get_status was modified to invoke
+ format_status/2 in the callback module if the module
+ exports that function. This resulted in a change to the
+ term returned from calling sys:get_status on the
+ supervisor module, since supervisor is a gen_server and
+ gen_server exports format_status. The sasl
+ release_handler_1 module had a dependency on the
+ pre-R13B04 term returned by sys:get_status when invoked
+ on a supervisor, so the R13B04 change broke that
+ dependency.</p>
+ <p>This problem has been fixed by change
+ release_handler_1 to handle both the pre-R13B04 and
+ R13B04 terms that sys:get_status can return from a
+ supervisor.</p>
+ <p>
+ Own Id: OTP-8619 Aux Id: seq11570 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>SASL 2.1.9.1</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Use an infinity timeout in all calls to
+ <c>gen_server:call()</c> in the <c>sasl</c>
+ application.</p>
+ <p>
+ Own Id: OTP-8506 Aux Id: seq11509 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>SASL 2.1.9</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/sasl/src/overload.erl b/lib/sasl/src/overload.erl
index 3a9a51e8bf..5a4782efff 100644
--- a/lib/sasl/src/overload.erl
+++ b/lib/sasl/src/overload.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(overload).
@@ -71,7 +71,7 @@ init([]) ->
%% establish a call.
%% Returns: accept | reject
%%-----------------------------------------------------------------
-request() -> gen_server:call(overload, request).
+request() -> call(request).
%%-----------------------------------------------------------------
%% Func: set_config_data/2
@@ -82,13 +82,19 @@ request() -> gen_server:call(overload, request).
%% documented at all.
%%-----------------------------------------------------------------
set_config_data(MaxIntensity, Weight) ->
- gen_server:call(overload, {set_config_data, MaxIntensity, Weight}).
+ call({set_config_data, MaxIntensity, Weight}).
%%-----------------------------------------------------------------
%% Func: get_overload_info/0
%% Returns: A list of tagged items: TotalIntensity, AcceptIntensity,
%% MaxIntensity, Weight, TotalRequests, AcceptedRequests.
%%-----------------------------------------------------------------
-get_overload_info() -> gen_server:call(overload, get_overload_info).
+get_overload_info() -> call(get_overload_info).
+
+%%-----------------------------------------------------------------
+%% call(Request) -> Term
+%%-----------------------------------------------------------------
+call(Req) ->
+ gen_server:call(overload, Req, infinity).
%%%-----------------------------------------------------------------
%%% Callback functions from gen_server
diff --git a/lib/sasl/src/rb.erl b/lib/sasl/src/rb.erl
index 332a99c6f9..38e486b7a7 100644
--- a/lib/sasl/src/rb.erl
+++ b/lib/sasl/src/rb.erl
@@ -53,35 +53,35 @@ start_link(Options) ->
gen_server:start_link({local, rb_server}, rb, Options, []).
stop() ->
- gen_server:call(rb_server, stop),
+ call(stop),
supervisor:delete_child(sasl_sup, rb_server).
rescan() -> rescan([]).
rescan(Options) ->
- gen_server:call(rb_server, {rescan, Options}, infinity).
+ call({rescan, Options}).
list() -> list(all).
-list(Type) -> gen_server:call(rb_server, {list, Type}, infinity).
+list(Type) -> call({list, Type}).
show() ->
- gen_server:call(rb_server, show, infinity).
+ call(show).
show(Number) when is_integer(Number) ->
- gen_server:call(rb_server, {show_number, Number}, infinity);
+ call({show_number, Number});
show(Type) when is_atom(Type) ->
- gen_server:call(rb_server, {show_type, Type}, infinity).
+ call({show_type, Type}).
-grep(RegExp) -> gen_server:call(rb_server, {grep, RegExp}, infinity).
+grep(RegExp) -> call({grep, RegExp}).
filter(Filters) when is_list(Filters) ->
- gen_server:call(rb_server, {filter, Filters}, infinity).
+ call({filter, Filters}).
filter(Filters, FDates) when is_list(Filters) andalso is_tuple(FDates) ->
- gen_server:call(rb_server, {filter, {Filters, FDates}}, infinity).
+ call({filter, {Filters, FDates}}).
-start_log(FileName) -> gen_server:call(rb_server, {start_log, FileName}).
+start_log(FileName) -> call({start_log, FileName}).
-stop_log() -> gen_server:call(rb_server, stop_log).
+stop_log() -> call(stop_log).
h() -> help().
help() ->
@@ -122,6 +122,13 @@ help() ->
%%-----------------------------------------------------------------
%% Internal functions.
%%-----------------------------------------------------------------
+
+%%-----------------------------------------------------------------
+%% call(Request) -> Term
+%%-----------------------------------------------------------------
+call(Req) ->
+ gen_server:call(rb_server, Req, infinity).
+
%%-----------------------------------------------------------------
%% MAKE SURE THESE TWO FUNCTIONS ARE UPDATED!
%%-----------------------------------------------------------------
diff --git a/lib/sasl/src/release_handler.erl b/lib/sasl/src/release_handler.erl
index 42c3d9dd4b..4c43277848 100644
--- a/lib/sasl/src/release_handler.erl
+++ b/lib/sasl/src/release_handler.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(release_handler).
@@ -144,7 +144,7 @@ start_link() ->
%% exit_reason()
%%-----------------------------------------------------------------
unpack_release(ReleaseName) ->
- gen_server:call(release_handler, {unpack_release, ReleaseName}, infinity).
+ call({unpack_release, ReleaseName}).
%%-----------------------------------------------------------------
%% Purpose: Checks the relup script for the specified version.
@@ -157,7 +157,7 @@ unpack_release(ReleaseName) ->
%% exit_reason()
%%-----------------------------------------------------------------
check_install_release(Vsn) ->
- gen_server:call(release_handler, {check_install_release, Vsn}, infinity).
+ call({check_install_release, Vsn}).
%%-----------------------------------------------------------------
@@ -172,16 +172,13 @@ check_install_release(Vsn) ->
%% exit_reason()
%%-----------------------------------------------------------------
install_release(Vsn) ->
- gen_server:call(release_handler,
- {install_release, Vsn, restart, []},
- infinity).
+ call({install_release, Vsn, restart, []}).
+
install_release(Vsn, Opt) ->
case check_install_options(Opt, restart, []) of
{ok, ErrorAction, InstallOpt} ->
- gen_server:call(release_handler,
- {install_release, Vsn, ErrorAction, InstallOpt},
- infinity);
+ call({install_release, Vsn, ErrorAction, InstallOpt});
Error ->
Error
end.
@@ -222,13 +219,13 @@ check_timeout(_Else) -> false.
%% exit_reason()
%%-----------------------------------------------------------------
make_permanent(Vsn) ->
- gen_server:call(release_handler, {make_permanent, Vsn}, infinity).
+ call({make_permanent, Vsn}).
%%-----------------------------------------------------------------
%% Purpose: Reboots the system from an old release.
%%-----------------------------------------------------------------
reboot_old_release(Vsn) ->
- gen_server:call(release_handler, {reboot_old_release, Vsn}, infinity).
+ call({reboot_old_release, Vsn}).
%%-----------------------------------------------------------------
%% Purpose: Deletes all files and directories used by the release
@@ -238,7 +235,7 @@ reboot_old_release(Vsn) ->
%% Reason = {permanent, Vsn} |
%%-----------------------------------------------------------------
remove_release(Vsn) ->
- gen_server:call(release_handler, {remove_release, Vsn}, infinity).
+ call({remove_release, Vsn}).
%%-----------------------------------------------------------------
%% Args: RelFile = string()
@@ -257,7 +254,7 @@ remove_release(Vsn) ->
%% Returns: ok | {error, Reason}
%%-----------------------------------------------------------------
set_unpacked(RelFile, LibDirs) ->
- gen_server:call(release_handler, {set_unpacked, RelFile, LibDirs}).
+ call({set_unpacked, RelFile, LibDirs}).
%%-----------------------------------------------------------------
%% Args: Vsn = string()
@@ -267,7 +264,7 @@ set_unpacked(RelFile, LibDirs) ->
%% Returns: ok | {error, Reason}
%%-----------------------------------------------------------------
set_removed(Vsn) ->
- gen_server:call(release_handler, {set_removed, Vsn}).
+ call({set_removed, Vsn}).
%%-----------------------------------------------------------------
%% Purpose: Makes it possible to install the start.boot,
@@ -278,14 +275,14 @@ set_removed(Vsn) ->
%% Returns: ok | {error, {no_such_release, Vsn}}
%%-----------------------------------------------------------------
install_file(Vsn, File) when is_list(File) ->
- gen_server:call(release_handler, {install_file, File, Vsn}).
+ call({install_file, File, Vsn}).
%%-----------------------------------------------------------------
%% Returns: [{Name, Vsn, [LibName], Status}]
%% Status = unpacked | current | permanent | old
%%-----------------------------------------------------------------
which_releases() ->
- gen_server:call(release_handler, which_releases).
+ call(which_releases).
%%-----------------------------------------------------------------
%% check_script(Script, LibDirs) -> ok | {error, Reason}
@@ -468,11 +465,11 @@ read_appspec(App, Dir) ->
throw(Reason)
end.
-
-
-
-
-
+%%-----------------------------------------------------------------
+%% call(Request) -> Term
+%%-----------------------------------------------------------------
+call(Req) ->
+ gen_server:call(release_handler, Req, infinity).
%%-----------------------------------------------------------------
diff --git a/lib/sasl/src/release_handler_1.erl b/lib/sasl/src/release_handler_1.erl
index e3e3caba99..9c0edf4e99 100644
--- a/lib/sasl/src/release_handler_1.erl
+++ b/lib/sasl/src/release_handler_1.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(release_handler_1).
@@ -554,7 +554,13 @@ get_supervisor_module(SupPid) ->
get_supervisor_module1(SupPid) ->
{status, _Pid, {module, _Mod},
[_PDict, _SysState, _Parent, _Dbg, Misc]} = sys:get_status(SupPid),
- [_Name, State, _Type, _Time] = Misc,
+ %% supervisor Misc field changed at R13B04, handle old and new variants here
+ State = case Misc of
+ [_Name, State1, _Type, _Time] ->
+ State1;
+ [_Header, _Data, {data, [{"State", State2}]}] ->
+ State2
+ end,
%% Cannot use #supervisor_state{module = Module} = State.
{ok, element(#supervisor_state.module, State)}.
diff --git a/lib/sasl/src/si_sasl_supp.erl b/lib/sasl/src/si_sasl_supp.erl
index 52dbed2e00..9c96d11c28 100644
--- a/lib/sasl/src/si_sasl_supp.erl
+++ b/lib/sasl/src/si_sasl_supp.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(si_sasl_supp).
@@ -57,13 +57,13 @@
h() -> print_help().
help() -> print_help().
-si_exec(Fun, Args) -> gen_server:call(si_server, {si_exec, Fun, Args}).
+si_exec(Fun, Args) -> call({si_exec, Fun, Args}).
start_log(FileName) ->
- gen_server:call(si_server, {start_log, FileName}).
+ call({start_log, FileName}).
stop_log() ->
- gen_server:call(si_server, stop_log).
+ call(stop_log).
abbrevs() ->
io:format("~p", [process_abbrevs()]).
@@ -123,7 +123,7 @@ start_link(_Options) ->
gen_server:start_link({local, si_server}, si_sasl_supp, [], []).
stop() ->
- gen_server:call(si_server, stop),
+ call(stop),
supervisor:delete_child(sasl_sup, si_server).
@@ -208,6 +208,12 @@ open_log_file(FileName) ->
%% 3. Code
%%--------------------------------------------------
+%%-----------------------------------------------------------------
+%% call(Request) -> Term
+%%-----------------------------------------------------------------
+call(Req) ->
+ gen_server:call(si_server, Req, infinity).
+
%%--------------------------------------------------
%% Makes a Pid of almost anything.
%% Returns: Pid|{error, Reason}
diff --git a/lib/sasl/vsn.mk b/lib/sasl/vsn.mk
index c73301687a..d01a9bc4f1 100644
--- a/lib/sasl/vsn.mk
+++ b/lib/sasl/vsn.mk
@@ -1 +1 @@
-SASL_VSN = 2.1.9
+SASL_VSN = 2.1.9.2
diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml
index 8939fbd6df..eb7c9db6ba 100644
--- a/lib/snmp/doc/src/notes.xml
+++ b/lib/snmp/doc/src/notes.xml
@@ -33,6 +33,128 @@
</header>
<section>
+ <title>SNMP Development Toolkit 4.16.2</title>
+ <p>Version 4.16.2 supports code replacement in runtime from/to
+ version 4.16.1, 4.16, 4.15, 4.14 and 4.13.5.</p>
+
+ <section>
+ <title>Improvements and new features</title>
+ <!--
+ <p>-</p>
+ -->
+ <list type="bulleted">
+ <item>
+ <p>[compiler] The SMI specifies that a table row OID should be
+ named: { &lt;tableIdentifier&gt; "1" }. </p>
+ <p>A new option has been introduced,
+ <seealso marker="snmpc#compiler_opts">relaxed_row_name_assign_check</seealso>,
+ that allows for a more liberal numbering scheme</p>
+ <p>Own Id: OTP-8574</p>
+ </item>
+
+ <item>
+ <p>[agent|manager] Changes to make snmp (forward) compatible with
+ the new version of the crypto application (released in R14).
+ As of R14, crypto is implemented using NIFs. Also,
+ the API is more strict. </p>
+ <p>Own Id: OTP-8594</p>
+ </item>
+
+ </list>
+
+ </section>
+
+ <section>
+ <title>Reported Fixed Bugs and Malfunctions</title>
+ <!--
+ <p>-</p>
+ -->
+
+ <list type="bulleted">
+ <item>
+ <p>Encode/decode of Counter64 values larger than
+ 16#7fffffffffffffff (9223372036854775807) failed. </p>
+ <p>Own Id: OTP-8563</p>
+ </item>
+
+ <item>
+ <p>[compiler] Fails to compile non-contiguous BITS. </p>
+ <p>Per Hedeland</p>
+ <p>Own Id: OTP-8595</p>
+ </item>
+
+ </list>
+
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <p>-</p>
+ </section>
+ </section> <!-- 4.16.2 -->
+
+
+ <section>
+ <title>SNMP Development Toolkit 4.16.1</title>
+ <p>Version 4.16.1 supports code replacement in runtime from/to
+ version 4.16, 4.15, 4.14 and 4.13.5.</p>
+
+ <section>
+ <title>Improvements and new features</title>
+ <p>-</p>
+ <!--
+ <list type="bulleted">
+ <item>
+ <p>[agent|manager] Entries in the audit trail log can now be
+ augmented by a sequence number. </p>
+ <p>This is enabled by the <c>seqno</c> option, which is part of the
+ <seealso marker="snmp_config#audit_trail_log">Audit Trail Log</seealso>
+ config option. </p>
+ <p>See the
+ <seealso marker="snmp_app#configuration_params">reference manual</seealso>
+ or the
+ <seealso marker="snmp_config#configuration_params">Configuring the application</seealso>
+ chapter of the User's Guide for further info. </p>
+
+ <p>Own Id: OTP-8395</p>
+ </item>
+
+ </list>
+ -->
+
+ </section>
+
+ <section>
+ <title>Reported Fixed Bugs and Malfunctions</title>
+ <!--
+ <p>-</p>
+ -->
+
+ <list type="bulleted">
+ <item>
+ <p>[manager] Fixed an upgrade/downgrade problem. </p>
+ <p>Upgrade/downgrade from/to 4.13.5 did not work for the net-if
+ process. This has now been fixed. </p>
+ <p>Own Id: OTP-8481</p>
+ </item>
+
+ <item>
+ <p>[agent] A minor mnesia related performance improvement. </p>
+ <p>Own Id: OTP-8480</p>
+ </item>
+
+ </list>
+
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <p>-</p>
+ </section>
+ </section> <!-- 4.16.1 -->
+
+
+ <section>
<title>SNMP Development Toolkit 4.16</title>
<p>Version 4.16 supports code replacement in runtime from/to
version 4.15, 4.14 and 4.13.5.</p>
diff --git a/lib/snmp/doc/src/notes_history.xml b/lib/snmp/doc/src/notes_history.xml
index 8739400773..934df87866 100644
--- a/lib/snmp/doc/src/notes_history.xml
+++ b/lib/snmp/doc/src/notes_history.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2004</year><year>2009</year>
+ <year>2004</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>SNMP Release Notes history</title>
@@ -1732,7 +1732,7 @@
version 4.1. </p>
<p>When performing a downgrade, make sure the verbosity of the
manager server process is silence, or else the process will crash
- (due to a bug in version 4.0.4) and be restarted by it's
+ (due to a bug in version 4.0.4) and be restarted by its
supervisor.</p>
<section>
@@ -1773,7 +1773,7 @@
version 4.0.4. </p>
<p>When performing a downgrade, make sure the verbosity of the
manager server process is silence, or else the process will crash
- (due to a bug in version 4.0.4) and be restarted by it's
+ (due to a bug in version 4.0.4) and be restarted by its
supervisor.</p>
<section>
@@ -1827,8 +1827,8 @@
</item>
<item>
<p>[manager] The server process contained a bug that caused it
- to crash, if it received an exit message from it's gct (GC timer)
- process and it's verbosity was <em>log</em> or higher. </p>
+ to crash, if it received an exit message from its gct (GC timer)
+ process and its verbosity was <em>log</em> or higher. </p>
<p>This also effects the application downgrade. </p>
<p>Own Id: OTP-5306</p>
</item>
diff --git a/lib/snmp/doc/src/snmp_app.xml b/lib/snmp/doc/src/snmp_app.xml
index e5a725d720..57eb87a759 100644
--- a/lib/snmp/doc/src/snmp_app.xml
+++ b/lib/snmp/doc/src/snmp_app.xml
@@ -80,7 +80,7 @@
<!-- The info below is also found in the snmp_config.xml file -->
- <p>Each snmp component has it's own set of configuration parameters,
+ <p>Each snmp component has its own set of configuration parameters,
even though some of the types are common to both components. </p>
<pre>
@@ -693,7 +693,7 @@
<p>Specifies if and how the audit trail log shall be repaired
when opened. Unless this parameter has the value <c>snmp_repair</c>
it is sent to <c>disk_log</c>. If, on the other hand, the value is
- <c>snmp_repair</c>, snmp attempts to handle certain faults on it's
+ <c>snmp_repair</c>, snmp attempts to handle certain faults on its
own. And even if it cannot repair the file, it does not truncate it
directly, but instead <em>moves it aside</em> for later off-line
analysis.</p>
diff --git a/lib/snmp/doc/src/snmp_config.xml b/lib/snmp/doc/src/snmp_config.xml
index 6fc9cc49f2..5bd36305fc 100644
--- a/lib/snmp/doc/src/snmp_config.xml
+++ b/lib/snmp/doc/src/snmp_config.xml
@@ -704,7 +704,7 @@
<p>Specifies if and how the audit trail log shall be repaired
when opened. Unless this parameter has the value <c>snmp_repair</c>
it is sent to <c>disk_log</c>. If, on the other hand, the value is
- <c>snmp_repair</c>, snmp attempts to handle certain faults on it's
+ <c>snmp_repair</c>, snmp attempts to handle certain faults on its
own. And even if it cannot repair the file, it does not truncate it
directly, but instead <em>moves it aside</em> for later off-line
analysis.</p>
diff --git a/lib/snmp/doc/src/snmpa_network_interface_filter.xml b/lib/snmp/doc/src/snmpa_network_interface_filter.xml
index d625fd3e4a..10419517dd 100644
--- a/lib/snmp/doc/src/snmpa_network_interface_filter.xml
+++ b/lib/snmp/doc/src/snmpa_network_interface_filter.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2007</year><year>2009</year>
+ <year>2007</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>snmpa_network_interface_filter</title>
@@ -153,7 +153,7 @@ pdu_type() = 'get-request' | 'get-next-request' | 'get-response' | 'set-request'
<p>For the message to be discarded all together, the function
<em>must</em> return <em>false</em>. </p>
<p>Note that it is possible for this function to filter out targets
- (but <em>not</em> add it's own) by returning an updated
+ (but <em>not</em> add its own) by returning an updated
<c>Targets</c> list (<c>NewTargets</c>). </p>
</desc>
</func>
diff --git a/lib/snmp/doc/src/snmpc.xml b/lib/snmp/doc/src/snmpc.xml
index 48d63d6c91..fbd0950c69 100644
--- a/lib/snmp/doc/src/snmpc.xml
+++ b/lib/snmp/doc/src/snmpc.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2004</year><year>2009</year>
+ <year>2004</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>snmpc</title>
@@ -47,9 +47,10 @@
<type>
<v>File = string()</v>
<v>Options = [opt()]</v>
- <v>opt() = db() | deprecated() | description() | reference() | group_check() | i() | il() | imports() | module() | module_identity() | outdir() | no_defs() | verbosity() | warnings()</v>
+ <v>opt() = db() | relaxed_row_name_assign_check() | deprecated() | description() | reference() | group_check() | i() | il() | imports() | module() | module_identity() | outdir() | no_defs() | verbosity() | warnings()</v>
<v>db() = {db, volatile|persistent|mnesia}</v>
<v>deprecated() = {deprecated, bool()}</v>
+ <v>relaxed_row_name_assign_check() = relaxed_row_name_assign_check</v>
<v>description() = description</v>
<v>reference() = reference</v>
<v>group_check() = {group_check, bool()}</v>
@@ -71,75 +72,104 @@
compiled file <c>BinFileName</c> is called
<c><![CDATA[<File>.bin]]></c>. </p>
<list type="bulleted">
- <item>The option <c>db</c> specifies which database should
- be used for the default instrumentation. Default is
- <c>volatile</c>.
+ <item>
+ <p>The option <c>db</c> specifies which database should
+ be used for the default instrumentation. </p>
+ <p>Default is <c>volatile</c>. </p>
+ </item>
+ <item>
+ <p>The option <c>deprecated</c> specifies if a deprecated
+ definition should be kept or not. If the option is
+ false the MIB compiler will ignore all deprecated
+ definitions. </p>
+ <p>Default is <c>true</c>. </p>
</item>
- <item>The option <c>deprecated</c> specifies if a deprecated
- definition should be kept or not. If the option is
- false the MIB compiler will ignore all deprecated
- definitions. Default is <c>true</c>.
+ <item>
+ <p>The option <c>relaxed_row_name_assign_check</c>, if present,
+ specifies that the row name assign check shall not be done
+ strictly according to the SMI (which allows only the value 1).
+ With this option, all values greater than zero is allowed
+ (>= 1). This means that the error will be converted to a
+ warning. </p>
+ <p>By default it is not included, but if this option is present
+ it will be. </p>
</item>
- <item>The option <c>description</c> specifies if the text
- of the DESCRIPTION field will be included or not. By default
- it is not included, but if this option is present it will
- be.
+ <item>
+ <p>The option <c>description</c> specifies if the text
+ of the DESCRIPTION field will be included or not. </p>
+ <p>By default it is not included, but if this option is
+ present it will be. </p>
</item>
- <item>The option <c>reference</c> specifies if the text
- of the REFERENCE field, when found in a table definition,
- will be included or not. By default
- it is not included, but if this option is present it will
- be. The reference text will be placed in the allocList field
- of the mib-entry record (#me{}) for the table.
+ <item>
+ <p>The option <c>reference</c> specifies if the text
+ of the REFERENCE field, when found in a table definition,
+ will be included or not. </p>
+ <p>By default it is not included, but if this option is present
+ it will be. The reference text will be placed in the allocList
+ field of the mib-entry record (#me{}) for the table. </p>
</item>
- <item>The option <c>group_check</c> specifies whether the
- mib compiler should check the OBJECT-GROUP macro and
- the NOTIFICATION-GROUP macro for correctness or not.
- Default is <c>true</c>.
+ <item>
+ <p>The option <c>group_check</c> specifies whether the
+ mib compiler should check the OBJECT-GROUP macro and
+ the NOTIFICATION-GROUP macro for correctness or not. </p>
+ <p>Default is <c>true</c>. </p>
</item>
- <item>The option <c>i</c> specifies the path to search for
- imported (compiled) MIB files. The directories should be
- strings with a trailing directory delimiter. Default is
- <c>["./"]</c>.
+ <item>
+ <p>The option <c>i</c> specifies the path to search for
+ imported (compiled) MIB files. The directories should be
+ strings with a trailing directory delimiter. </p>
+ <p>Default is <c>["./"]</c>. </p>
</item>
- <item>The option <c>il</c> (include_lib) also specifies a
- list of directories to search for imported MIBs. It
- assumes that the first element in the directory name
- corresponds to an OTP application. The compiler will find
- the current installed version. For example, the value
- ["snmp/mibs/"] will be replaced by ["snmp-3.1.1/mibs/"]
- (or what the current version may be in the system). The
- current directory and the <c><![CDATA[<snmp-home>/priv/mibs/]]></c>
- are always listed last in the include path.
+ <item>
+ <p>The option <c>il</c> (include_lib) also specifies a
+ list of directories to search for imported MIBs. It
+ assumes that the first element in the directory name
+ corresponds to an OTP application. The compiler will find
+ the current installed version. For example, the value
+ ["snmp/mibs/"] will be replaced by ["snmp-3.1.1/mibs/"]
+ (or what the current version may be in the system). The
+ current directory and the
+ <c><![CDATA[<snmp-home>/priv/mibs/]]></c>
+ are always listed last in the include path. </p>
</item>
- <item>The option <c>imports</c>, if present, specifies that the
- IMPORT statement of the MIB shall be included in the compiled mib.
+ <item>
+ <p>The option <c>imports</c>, if present, specifies that
+ the IMPORT statement of the MIB shall be included in the
+ compiled mib. </p>
</item>
- <item>The option <c>module</c>, if present, specifies the
- name of a module which implements all instrumentation
- functions for the MIB. The name of all instrumentation
- functions must be the same as the corresponding managed
- object it implements.
+ <item>
+ <p>The option <c>module</c>, if present, specifies the
+ name of a module which implements all instrumentation
+ functions for the MIB. </p>
+ <p>The name of all instrumentation
+ functions must be the same as the corresponding managed
+ object it implements. </p>
</item>
- <item>The option <c>module_identity</c>, if present, specifies
- that the info part of the MODULE-IDENTITY statement of the MIB
- shall be included in the compiled mib.
+ <item>
+ <p>The option <c>module_identity</c>, if present, specifies
+ that the info part of the MODULE-IDENTITY statement of the MIB
+ shall be included in the compiled mib. </p>
</item>
- <item>The option <c>no_defs</c>, if present, specifies
- that if a managed object does not have an instrumentation
- function, the default instrumentation function should NOT
- be used, instead this is reported as an error, and the
- compilation aborts.
+ <item>
+ <p>The option <c>no_defs</c>, if present, specifies
+ that if a managed object does not have an instrumentation
+ function, the default instrumentation function should NOT
+ be used, instead this is reported as an error, and the
+ compilation aborts. </p>
</item>
- <item>The option <c>verbosity</c> specifies the verbosity of
- the SNMP mib compiler. I.e. if warning, info, log, debug
- and trace messages shall be shown. Default is <c>silence</c>.
- Note that if the option <c>warnings</c> is <c>true</c> and the
- option <c>verbosity</c> is <c>silence</c>, warning messages will
- still be shown.
+ <item>
+ <p>The option <c>verbosity</c> specifies the verbosity of
+ the SNMP mib compiler. I.e. if warning, info, log, debug
+ and trace messages shall be shown. </p>
+ <p>Default is <c>silence</c>. </p>
+ <p>Note that if the option <c>warnings</c> is <c>true</c> and the
+ option <c>verbosity</c> is <c>silence</c>, warning messages will
+ still be shown. </p>
</item>
- <item>The option <c>warnings</c> specifies whether warning
- messages should be shown. Default is <c>true</c>.
+ <item>
+ <p>The option <c>warnings</c> specifies whether warning
+ messages should be shown. </p>
+ <p>Default is <c>true</c>. </p>
</item>
</list>
<p>The MIB compiler understands both SMIv1 and SMIv2 MIBs. It
diff --git a/lib/snmp/doc/src/snmpm.xml b/lib/snmp/doc/src/snmpm.xml
index 9e7ac75daf..1ee391d9ba 100644
--- a/lib/snmp/doc/src/snmpm.xml
+++ b/lib/snmp/doc/src/snmpm.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2004</year><year>2009</year>
+ <year>2004</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>snmpm</title>
@@ -920,7 +920,7 @@ priv_key = [integer()] (length is 16 if priv = usmDESPrivProtocol | usmAesCfb1
<v>Oids = [oid()]</v>
</type>
<desc>
- <p>Transform a alias-name to it's oid.</p>
+ <p>Transform a alias-name to its oid.</p>
<p>Note that an alias-name is only unique within the mib, so
when loading several mib's into a manager, there might be
several instances of the same aliasname.</p>
@@ -938,7 +938,7 @@ priv_key = [integer()] (length is 16 if priv = usmDESPrivProtocol | usmAesCfb1
<v>Reason = term()</v>
</type>
<desc>
- <p>Transform a oid to it's aliasname.</p>
+ <p>Transform a oid to its aliasname.</p>
<marker id="oid_to_type"></marker>
</desc>
diff --git a/lib/snmp/src/agent/snmpa_general_db.erl b/lib/snmp/src/agent/snmpa_general_db.erl
index 795c353a9e..a06604c9cf 100644
--- a/lib/snmp/src/agent/snmpa_general_db.erl
+++ b/lib/snmp/src/agent/snmpa_general_db.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(snmpa_general_db).
@@ -114,14 +114,7 @@ ets_open(Name, Dir, clear, Type) ->
mnesia_open({table_exist,Name},_Nodes,_RecName,_Attr,_Type,clear) ->
?vtrace("[mnesia] database ~p already exists; clear content",[Name]),
- Pattern = '_',
- F = fun() ->
- Recs = mnesia:match_object(Name,Pattern,read),
- lists:foreach(fun(Rec) ->
- mnesia:delete_object(Name,Rec,write)
- end, Recs),
- Recs
- end,
+ F = fun() -> mnesia:clear_table(Name) end,
case mnesia:transaction(F) of
{aborted,Reason} ->
exit({aborted,Reason});
diff --git a/lib/snmp/src/agent/snmpa_usm.erl b/lib/snmp/src/agent/snmpa_usm.erl
index 12a6b996ff..b94294844b 100644
--- a/lib/snmp/src/agent/snmpa_usm.erl
+++ b/lib/snmp/src/agent/snmpa_usm.erl
@@ -560,11 +560,15 @@ encrypt(Data, PrivProtocol, PrivKey, SecLevel) ->
?vtrace("encrypt -> 3.1.4a",[]),
case (catch try_encrypt(PrivProtocol, PrivKey, Data)) of
{ok, ScopedPduData, MsgPrivParams} ->
- ?vtrace("encrypt -> encode tag",[]),
+ ?vtrace("encrypt -> encrypted - now encode tag",[]),
{snmp_pdus:enc_oct_str_tag(ScopedPduData), MsgPrivParams};
{error, Reason} ->
+ ?vtrace("encrypt -> error: "
+ "~n Reason: ~p", [Reason]),
error(Reason);
- _Error ->
+ Error ->
+ ?vtrace("encrypt -> other: "
+ "~n Error: ~p", [Error]),
error(encryptionError)
end
end.
diff --git a/lib/snmp/src/app/snmp.appup.src b/lib/snmp/src/app/snmp.appup.src
index 56b8c593a8..aa3410fea3 100644
--- a/lib/snmp/src/app/snmp.appup.src
+++ b/lib/snmp/src/app/snmp.appup.src
@@ -22,33 +22,57 @@
%% ----- U p g r a d e -------------------------------------------------------
[
+ {"4.16.1",
+ [
+ {load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
+ {load_module, snmp_usm, soft_purge, soft_purge, []},
+ {load_module, snmp_pdus, soft_purge, soft_purge, []}
+ ]
+ },
+ {"4.16",
+ [
+ {load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
+ {load_module, snmp_usm, soft_purge, soft_purge, []},
+ {load_module, snmp_pdus, soft_purge, soft_purge, []},
+ {load_module, snmpa_general_db, soft_purge, soft_purge, []},
+ {update, snmpm_net_if, soft, soft_purge, soft_purge, []}
+ ]
+ },
{"4.15",
[
+ {load_module, snmp_pdus, soft_purge, soft_purge, []},
{load_module, snmpa, soft_purge, soft_purge, [snmp_log]},
{load_module, snmp_config, soft_purge, soft_purge, []},
{load_module, snmp_log, soft_purge, soft_purge, []},
+ {load_module, snmpa_general_db, soft_purge, soft_purge, []},
{update, snmpm_net_if, {advanced, upgrade_from_pre_4_16},
soft_purge, soft_purge, [snmpm_config, snmp_log]},
{update, snmpa_net_if, {advanced, upgrade_from_pre_4_16},
soft_purge, soft_purge, [snmpa_agent, snmp_log]},
{update, snmpa_agent, soft, soft_purge, soft_purge, []},
+ {load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
+ {load_module, snmp_usm, soft_purge, soft_purge, []},
{update, snmpm_config, soft, soft_purge, soft_purge, []}
]
},
{"4.14",
[
+ {load_module, snmp_pdus, soft_purge, soft_purge, []},
{load_module, snmpa, soft_purge, soft_purge, [snmp_log]},
{load_module, snmp_config, soft_purge, soft_purge, []},
{load_module, snmp_log, soft_purge, soft_purge, []},
- {update, snmpm_net_if, {advanced, upgrade_from_pre_4_16},
- soft_purge, soft_purge, [snmpm_config, snmp_log]},
+ {load_module, snmpa_general_db, soft_purge, soft_purge, []},
{update, snmpa_net_if, {advanced, upgrade_from_pre_4_16},
soft_purge, soft_purge, [snmpa_agent, snmp_log]},
{update, snmpa_agent, soft, soft_purge, soft_purge, []},
+ {load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
+ {load_module, snmp_usm, soft_purge, soft_purge, []},
{load_module, snmpm_user, soft_purge, soft_purge, []},
{load_module, snmpm_user_default, soft_purge, soft_purge, [snmpm_user]},
+ {update, snmpm_net_if, {advanced, upgrade_from_pre_4_16},
+ soft_purge, soft_purge, [snmpm_config, snmp_log]},
{update, snmpm_config, soft, soft_purge, soft_purge, []},
{update, snmpm_server, soft, soft_purge, soft_purge,
[snmpm_user_default]}
@@ -56,18 +80,22 @@
},
{"4.13.5",
[
+ {load_module, snmp_pdus, soft_purge, soft_purge, []},
{load_module, snmpa_mib_data, soft_purge, soft_purge, []},
{load_module, snmpa, soft_purge, soft_purge, [snmp_log]},
{load_module, snmp_config, soft_purge, soft_purge, []},
{load_module, snmp_log, soft_purge, soft_purge, []},
- {update, snmpm_net_if, {advanced, upgrade_from_pre_4_16},
- soft_purge, soft_purge, [snmpm_config, snmp_log]},
+ {load_module, snmpa_general_db, soft_purge, soft_purge, []},
{update, snmpa_net_if, {advanced, upgrade_from_pre_4_16},
soft_purge, soft_purge, [snmpa_agent, snmp_log]},
{update, snmpa_agent, soft, soft_purge, soft_purge, []},
+ {load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
+ {load_module, snmp_usm, soft_purge, soft_purge, []},
{load_module, snmpm_user, soft_purge, soft_purge, []},
{load_module, snmpm_user_default, soft_purge, soft_purge, [snmpm_user]},
+ {update, snmpm_net_if, {advanced, upgrade_from_pre_4_14},
+ soft_purge, soft_purge, [snmpm_config, snmp_log]},
{update, snmpm_config, soft, soft_purge, soft_purge, []},
{update, snmpm_server, soft, soft_purge, soft_purge, [snmpm_user_default]},
{add_module, snmpm_net_if_filter},
@@ -79,33 +107,58 @@
%% ------D o w n g r a d e ---------------------------------------------------
[
+ {"4.16.1",
+ [
+ {load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
+ {load_module, snmp_usm, soft_purge, soft_purge, []},
+ {load_module, snmp_pdus, soft_purge, soft_purge, []}
+ ]
+ },
+ {"4.16",
+ [
+ {load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
+ {load_module, snmp_usm, soft_purge, soft_purge, []},
+ {load_module, snmp_pdus, soft_purge, soft_purge, []},
+ {load_module, snmpa_general_db, soft_purge, soft_purge, []},
+ {update, snmpm_net_if, soft, soft_purge, soft_purge, []}
+ ]
+ },
{"4.15",
[
+ {load_module, snmp_pdus, soft_purge, soft_purge, []},
{load_module, snmpa, soft_purge, soft_purge, [snmp_log]},
{load_module, snmp_config, soft_purge, soft_purge, []},
{load_module, snmp_log, soft_purge, soft_purge, []},
- {update, snmpm_net_if, {advanced, downgrade_to_pre_4_16},
- soft_purge, soft_purge, [snmpm_config, snmp_log]},
+ {load_module, snmpa_general_db, soft_purge, soft_purge, []},
{update, snmpa_net_if, {advanced, downgrade_to_pre_4_16},
soft_purge, soft_purge, [snmpa_agent, snmp_log]},
{update, snmpa_agent, soft, soft_purge, soft_purge, []},
+ {load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
+ {load_module, snmp_usm, soft_purge, soft_purge, []},
+ {load_module, snmpa_general_db, soft_purge, soft_purge, []},
+ {update, snmpm_net_if, {advanced, downgrade_to_pre_4_16},
+ soft_purge, soft_purge, [snmpm_config, snmp_log]},
{update, snmpm_config, soft, soft_purge, soft_purge, []}
]
},
{"4.14",
[
+ {load_module, snmp_pdus, soft_purge, soft_purge, []},
{load_module, snmpa, soft_purge, soft_purge, [snmp_log]},
{load_module, snmp_config, soft_purge, soft_purge, []},
{load_module, snmp_log, soft_purge, soft_purge, []},
- {update, snmpm_net_if, {advanced, downgrade_to_pre_4_16},
- soft_purge, soft_purge, [snmpm_config, snmp_log]},
+ {load_module, snmpa_general_db, soft_purge, soft_purge, []},
{update, snmpa_net_if, {advanced, downgrade_to_pre_4_16},
soft_purge, soft_purge, [snmpa_agent, snmp_log]},
{update, snmpa_agent, soft, soft_purge, soft_purge, []},
+ {load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
+ {load_module, snmp_usm, soft_purge, soft_purge, []},
{load_module, snmpm_user, soft_purge, soft_purge, []},
{load_module, snmpm_user_default, soft_purge, soft_purge, [snmpm_user]},
+ {update, snmpm_net_if, {advanced, downgrade_to_pre_4_16},
+ soft_purge, soft_purge, [snmpm_config, snmp_log]},
{update, snmpm_config, soft, soft_purge, soft_purge, []},
{update, snmpm_server, soft, soft_purge, soft_purge,
[snmpm_user_default]}
@@ -113,20 +166,25 @@
},
{"4.13.5",
[
+ {load_module, snmp_pdus, soft_purge, soft_purge, []},
{load_module, snmpa_mib_data, soft_purge, soft_purge, []},
{load_module, snmp_config, soft_purge, soft_purge, []},
{load_module, snmpa, soft_purge, soft_purge, [snmp_log]},
{load_module, snmp_log, soft_purge, soft_purge, []},
- {update, snmpm_net_if, {advanced, downgrade_to_pre_4_16},
- soft_purge, soft_purge, [snmpm_config, snmp_log]},
+ {load_module, snmpa_general_db, soft_purge, soft_purge, []},
{update, snmpa_net_if, {advanced, downgrade_to_pre_4_16},
soft_purge, soft_purge, [snmpa_agent, snmp_log]},
{update, snmpa_agent, soft, soft_purge, soft_purge, []},
+ {load_module, snmpa_usm, soft_purge, soft_purge, [snmp_usm]},
+ {load_module, snmp_usm, soft_purge, soft_purge, []},
{load_module, snmpm_user, soft_purge, soft_purge, []},
{load_module, snmpm_user_default, soft_purge, soft_purge, [snmpm_user]},
+ {update, snmpm_net_if, {advanced, downgrade_to_pre_4_14},
+ soft_purge, soft_purge, [snmpm_config, snmp_log]},
{update, snmpm_config, soft, soft_purge, soft_purge, []},
{update, snmpm_server, soft, soft_purge, soft_purge, [snmpm_user_default]},
+
{remove, {snmpm_net_if_filter, soft_purge, brutal_purge}},
{remove, {snmpm_network_interface_filter, soft_purge, brutal_purge}}
]
diff --git a/lib/snmp/src/compile/snmpc.erl b/lib/snmp/src/compile/snmpc.erl
index 8a1f15d4a4..a7f2cdc2bc 100644
--- a/lib/snmp/src/compile/snmpc.erl
+++ b/lib/snmp/src/compile/snmpc.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(snmpc).
@@ -34,6 +34,7 @@
-include("snmpc.hrl").
-include("snmpc_lib.hrl").
+-record(dldata, {deprecated, relaxed_row_name_assign_check}).
look_at(Mib) ->
io:format("~p ~n", [snmpc_lib:look_at(Mib)]).
@@ -114,6 +115,7 @@ compile(FileName) ->
%% module_identity
%% {module, string()}
%% no_defs
+%% relaxed_row_name_assign_check
%% (hidden) {verbosity, trace|debug|log|info|silence} silence
%% (hidden) version
%% (hidden) options
@@ -201,6 +203,8 @@ get_options([imports|Opts], Formats, Args) ->
get_options(Opts, ["~n imports"|Formats], Args);
get_options([module_identity|Opts], Formats, Args) ->
get_options(Opts, ["~n module_identity"|Formats], Args);
+get_options([relaxed_row_name_assign_check|Opts], Formats, Args) ->
+ get_options(Opts, ["~n relaxed_row_name_assign_check"|Formats], Args);
get_options([_|Opts], Formats, Args) ->
get_options(Opts, Formats, Args).
@@ -284,6 +288,8 @@ check_options([imports| T]) ->
check_options(T);
check_options([module_identity| T]) ->
check_options(T);
+check_options([relaxed_row_name_assign_check| T]) ->
+ check_options(T);
check_options([{module, M} | T]) when is_atom(M) ->
check_options(T);
check_options([no_defs| T]) ->
@@ -309,6 +315,9 @@ get_description(Options) ->
get_reference(Options) ->
get_bool_option(reference, Options).
+get_relaxed_row_name_assign_check(Options) ->
+ lists:member(relaxed_row_name_assign_check, Options).
+
get_bool_option(Option, Options) ->
case lists:member(Option, Options) of
false ->
@@ -406,8 +415,12 @@ compile_parsed_data(#pdata{mib_name = MibName,
defs = Definitions}) ->
snmpc_lib:import(Imports),
update_imports(Imports),
- Deprecated = get_deprecated(get(options)),
- definitions_loop(Definitions, Deprecated),
+ Opts = get(options),
+ Deprecated = get_deprecated(Opts),
+ RelChk = get_relaxed_row_name_assign_check(Opts),
+ Data = #dldata{deprecated = Deprecated,
+ relaxed_row_name_assign_check = RelChk},
+ definitions_loop(Definitions, Data),
MibName.
update_imports(Imports) ->
@@ -436,21 +449,21 @@ update_status(Name, Status) ->
%% A deprecated object
definitions_loop([{#mc_object_type{name = ObjName, status = deprecated},
Line}|T],
- false) ->
+ #dldata{deprecated = false} = Data) ->
%% May be implemented but the compiler chooses not to.
?vinfo2("object_type ~w is deprecated => ignored", [ObjName], Line),
update_status(ObjName, deprecated),
- definitions_loop(T, false);
+ definitions_loop(T, Data);
%% A obsolete object
definitions_loop([{#mc_object_type{name = ObjName, status = obsolete},
Line}|T],
- Deprecated) ->
+ Data) ->
?vlog2("object_type ~w is obsolete => ignored", [ObjName], Line),
%% No need to implement a obsolete object
update_status(ObjName, obsolete),
ensure_macro_imported('OBJECT-TYPE', Line),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
%% Defining a table
definitions_loop([{#mc_object_type{name = NameOfTable,
@@ -475,7 +488,7 @@ definitions_loop([{#mc_object_type{name = NameOfTable,
{#mc_sequence{name = SeqName,
fields = FieldList},
Sline}|ColsEtc],
- Deprecated) ->
+ Data) ->
?vlog("defloop -> "
"[object_type(sequence_of),object_type(type,[1]),sequence]:"
"~n NameOfTable: ~p"
@@ -529,7 +542,89 @@ definitions_loop([{#mc_object_type{name = NameOfTable,
TableME#me{assocList=[{table_info,
TableInfo} | make_reference(Ref)]} |
ColMEs]),
- definitions_loop(RestObjs, Deprecated);
+ definitions_loop(RestObjs, Data);
+
+definitions_loop([{#mc_object_type{name = NameOfTable,
+ syntax = {{sequence_of, SeqName}, _},
+ max_access = Taccess,
+ kind = Kind,
+ status = Tstatus,
+ description = Desc1,
+ units = Tunits,
+ reference = Ref,
+ name_assign = Tindex},
+ Tline},
+ {#mc_object_type{name = NameOfEntry,
+ syntax = {{type, SeqName}, TEline},
+ max_access = 'not-accessible',
+ kind = {table_entry, IndexingInfo},
+ status = Estatus,
+ description = Desc2,
+ units = Eunits,
+ name_assign = {NameOfTable,[Idx]} = BadOID},
+ Eline},
+ {#mc_sequence{name = SeqName,
+ fields = FieldList},
+ Sline}|ColsEtc],
+ #dldata{relaxed_row_name_assign_check = true} = Data)
+ when is_integer(Idx) andalso (Idx > 1) ->
+ ?vlog("defloop -> "
+ "[object_type(sequence_of),object_type(type,[~w]),sequence]:"
+ "~n NameOfTable: ~p"
+ "~n SeqName: ~p"
+ "~n Taccess: ~p"
+ "~n Kind: ~p"
+ "~n Tstatus: ~p"
+ "~n Tindex: ~p"
+ "~n Tunits: ~p"
+ "~n Tline: ~p"
+ "~n NameOfEntry: ~p"
+ "~n TEline: ~p"
+ "~n IndexingInfo: ~p"
+ "~n Estatus: ~p"
+ "~n Eunits: ~p"
+ "~n Ref: ~p"
+ "~n Eline: ~p"
+ "~n FieldList: ~p"
+ "~n Sline: ~p",
+ [Idx,
+ NameOfTable,SeqName,Taccess,Kind,Tstatus,
+ Tindex,Tunits,Tline,
+ NameOfEntry,TEline,IndexingInfo,Estatus,Eunits,Ref,Eline,
+ FieldList,Sline]),
+ update_status(NameOfTable, Tstatus),
+ update_status(NameOfEntry, Estatus),
+ update_status(SeqName, undefined),
+ ensure_macro_imported('OBJECT-TYPE', Tline),
+ ?vwarning2("Bad TableEntry OID definition (~w)",
+ [BadOID], Eline),
+ test_table(NameOfTable,Taccess,Kind,Tindex,Tline),
+ {Tfather,Tsubindex} = Tindex,
+ snmpc_lib:register_oid(Tline,NameOfTable,Tfather,Tsubindex),
+ Description1 = make_description(Desc1),
+ TableME = #me{aliasname = NameOfTable,
+ entrytype = table,
+ access = 'not-accessible',
+ description = Description1,
+ units = Tunits},
+ snmpc_lib:register_oid(TEline,NameOfEntry,NameOfTable,[Idx]),
+ Description2 = make_description(Desc2),
+ TableEntryME = #me{aliasname = NameOfEntry,
+ entrytype = table_entry,
+ assocList = [{table_entry_with_sequence, SeqName}],
+ access = 'not-accessible',
+ description = Description2,
+ units = Eunits},
+ {ColMEs, RestObjs} =
+ define_cols(ColsEtc, 1, FieldList, NameOfEntry, NameOfTable, []),
+ TableInfo = snmpc_lib:make_table_info(Eline, NameOfTable,
+ IndexingInfo, ColMEs),
+ snmpc_lib:add_cdata(#cdata.mes,
+ [TableEntryME,
+ TableME#me{assocList=[{table_info,
+ TableInfo} | make_reference(Ref)]} |
+ ColMEs]),
+ definitions_loop(RestObjs, Data);
definitions_loop([{#mc_object_type{name = NameOfTable,
syntax = {{sequence_of, SeqName},_},
@@ -550,7 +645,7 @@ definitions_loop([{#mc_object_type{name = NameOfTable,
name_assign = BadOID}, Eline},
{#mc_sequence{name = SeqName,
fields = FieldList}, Sline}|ColsEtc],
- Deprecated) ->
+ Data) ->
?vlog("defloop -> "
"[object_type(sequence_of),object_type(type),sequence(fieldList)]:"
"~n NameOfTable: ~p"
@@ -605,13 +700,13 @@ definitions_loop([{#mc_object_type{name = NameOfTable,
TableME#me{assocList=[{table_info,
TableInfo} | make_reference(Ref)]} |
ColMEs]),
- definitions_loop(RestObjs, Deprecated);
+ definitions_loop(RestObjs, Data);
definitions_loop([{#mc_new_type{name = NewTypeName,
macro = Macro,
syntax = OldType,
display_hint = DisplayHint},Line}|T],
- Deprecated) ->
+ Data) ->
?vlog2("defloop -> new_type:"
"~n Macro: ~p"
"~n NewTypeName: ~p"
@@ -632,7 +727,7 @@ definitions_loop([{#mc_new_type{name = NewTypeName,
imported = false,
display_hint = DisplayHint}])
end,
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
%% Plain variable
definitions_loop([{#mc_object_type{name = NewVarName,
@@ -643,7 +738,7 @@ definitions_loop([{#mc_object_type{name = NewVarName,
description = Desc1,
units = Units,
name_assign = {Parent,SubIndex}},Line} |T],
- Deprecated) ->
+ Data) ->
?vlog2("defloop -> object_type (variable):"
"~n NewVarName: ~p"
"~n Type: ~p"
@@ -672,7 +767,7 @@ definitions_loop([{#mc_object_type{name = NewVarName,
VI = snmpc_lib:make_variable_info(NewME2),
snmpc_lib:add_cdata(#cdata.mes,
[NewME2#me{assocList = [{variable_info, VI}]}]),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
definitions_loop([{#mc_module_identity{name = NewVarName,
last_updated = LU,
@@ -682,7 +777,7 @@ definitions_loop([{#mc_module_identity{name = NewVarName,
revisions = Revs0,
name_assign = {Parent, SubIndex}},
Line}|T],
- Deprecated) ->
+ Data) ->
?vlog2("defloop -> module-identity: "
"~n NewVarName: ~p"
"~n LU: ~p"
@@ -706,13 +801,13 @@ definitions_loop([{#mc_module_identity{name = NewVarName,
snmpc_lib:add_cdata(
#cdata.mes,
[snmpc_lib:makeInternalNode2(false, NewVarName)]),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
definitions_loop([{#mc_internal{name = NewVarName,
macro = Macro,
parent = Parent,
sub_index = SubIndex},Line}|T],
- Deprecated) ->
+ Data) ->
?vlog2("defloop -> internal:"
"~n NewVarName: ~p"
"~n Macro: ~p"
@@ -724,7 +819,7 @@ definitions_loop([{#mc_internal{name = NewVarName,
snmpc_lib:add_cdata(
#cdata.mes,
[snmpc_lib:makeInternalNode2(false, NewVarName)]),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
%% A trap message
definitions_loop([{#mc_trap{name = TrapName,
@@ -732,7 +827,7 @@ definitions_loop([{#mc_trap{name = TrapName,
vars = Variables,
description = Desc1,
num = SpecificCode}, Line}|T],
- Deprecated) ->
+ Data) ->
?vlog2("defloop -> trap:"
"~n TrapName: ~p"
"~n EnterPrise: ~p"
@@ -755,7 +850,7 @@ definitions_loop([{#mc_trap{name = TrapName,
lists:foreach(fun(Trap2) -> snmpc_lib:check_trap(Trap2, Trap, Line) end,
CDATA#cdata.traps),
snmpc_lib:add_cdata(#cdata.traps, [Trap]),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
definitions_loop([{#mc_object_type{name = NameOfEntry,
syntax = Type,
@@ -763,7 +858,7 @@ definitions_loop([{#mc_object_type{name = NameOfEntry,
kind = {table_entry, Index},
status = Estatus,
name_assign = SubIndex},Eline}|T],
- Deprecated) ->
+ Data) ->
?vlog("defloop -> object_type (table_entry):"
"~n NameOfEntry: ~p"
"~n Type: ~p"
@@ -777,7 +872,7 @@ definitions_loop([{#mc_object_type{name = NameOfEntry,
update_status(NameOfEntry, Estatus),
snmpc_lib:print_error("Misplaced TableEntry definition (~w)",
[NameOfEntry], Eline),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
definitions_loop([{#mc_notification{name = TrapName,
status = deprecated}, Line}|T],
@@ -790,19 +885,19 @@ definitions_loop([{#mc_notification{name = TrapName,
definitions_loop([{#mc_notification{name = TrapName,
status = obsolete}, Line}|T],
- Deprecated) ->
+ Data) ->
?vlog2("defloop -> notification ~w is obsolete => ignored",
[TrapName], Line),
update_status(TrapName, obsolete),
ensure_macro_imported('NOTIFICATION-TYPE', Line),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
definitions_loop([{#mc_notification{name = TrapName,
vars = Variables,
status = Status,
description = Desc,
name_assign = {Parent, SubIndex}},Line}|T],
- Deprecated) ->
+ Data) ->
?vlog2("defloop -> notification:"
"~n TrapName: ~p"
"~n Variables: ~p"
@@ -824,13 +919,13 @@ definitions_loop([{#mc_notification{name = TrapName,
oidobjects = Variables},
snmpc_lib:check_notification(Notif, Line, CDATA#cdata.traps),
snmpc_lib:add_cdata(#cdata.traps, [Notif]),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
-definitions_loop([{#mc_module_compliance{name = Name},Line}|T], Deprecated) ->
+definitions_loop([{#mc_module_compliance{name = Name},Line}|T], Data) ->
?vlog2("defloop -> module_compliance:"
"~n Name: ~p", [Name], Line),
ensure_macro_imported('MODULE-COMPLIANCE', Line),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
definitions_loop([{#mc_object_group{name = Name,
objects = GroupObjects,
@@ -838,7 +933,7 @@ definitions_loop([{#mc_object_group{name = Name,
description = Desc,
reference = Ref,
name_assign = {Parent,SubIndex}}, Line}|T],
- Deprecated) ->
+ Data) ->
?vlog2("defloop -> object_group ~p:"
"~n GroupObjects: ~p"
"~n Status: ~p"
@@ -873,7 +968,7 @@ definitions_loop([{#mc_object_group{name = Name,
{objects, GroupObjects}]},
snmpc_lib:add_cdata(#cdata.mes, [NewME]),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
definitions_loop([{#mc_notification_group{name = Name,
objects = GroupObjects,
@@ -882,7 +977,7 @@ definitions_loop([{#mc_notification_group{name = Name,
reference = Ref,
name_assign = {Parent,SubIndex}},
Line}
- |T], Deprecated) ->
+ |T], Data) ->
?vlog2("defloop -> notification_group ~p:"
"~n GroupObjects: ~p"
"~n Status: ~p"
@@ -918,13 +1013,13 @@ definitions_loop([{#mc_notification_group{name = Name,
{objects, GroupObjects}]},
snmpc_lib:add_cdata(#cdata.mes, [NewME]),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
definitions_loop([{#mc_object_type{name = NameOfTable,
syntax = {{sequence_of, SeqName},_},
status = Tstatus},Tline},
Entry, Seq|T],
- Deprecated) ->
+ Data) ->
?vlog("defloop -> object_type (sequence_of): "
"~n NameOfTable: ~p"
"~n SeqName: ~p"
@@ -956,12 +1051,12 @@ definitions_loop([{#mc_object_type{name = NameOfTable,
"Invalid TableEntry '~p' (check STATUS, Sequence name, Oid)",
[safe_elem(1,safe_elem(2,Entry))],Tline)
end,
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
definitions_loop([{#mc_object_type{name = NameOfTable,
syntax = {{sequence_of, SeqName},_},
status = Tstatus},Tline}|T],
- Deprecated) ->
+ Data) ->
?vlog("defloop -> object_type (sequence_of):"
"~n object_type: ~p"
"~n sequence_of: ~p"
@@ -969,24 +1064,24 @@ definitions_loop([{#mc_object_type{name = NameOfTable,
update_status(NameOfTable, Tstatus),
snmpc_lib:print_error("Invalid statements following table ~p.",
[NameOfTable],Tline),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
definitions_loop([{#mc_sequence{name = SeqName,
fields = _FieldList},Line}|T],
- Deprecated) ->
+ Data) ->
?vwarning2("Unexpected SEQUENCE ~w => ignoring", [SeqName], Line),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
-definitions_loop([{Obj,Line}|T], Deprecated) ->
+definitions_loop([{Obj,Line}|T], Data) ->
?vinfo2("defloop -> unknown error"
"~n Obj: ~p", [Obj], Line),
snmpc_lib:print_error("Unknown Error in MIB. "
"Can't describe the error better than this: ~999p ignored."
" Please send a trouble report to [email protected].",
[Obj], Line),
- definitions_loop(T, Deprecated);
+ definitions_loop(T, Data);
-definitions_loop([], _Deprecated) ->
+definitions_loop([], _Data) ->
?vlog("defloop -> done", []),
ok.
diff --git a/lib/snmp/src/compile/snmpc_lib.erl b/lib/snmp/src/compile/snmpc_lib.erl
index b7e84e7d6b..4e5bc69f81 100644
--- a/lib/snmp/src/compile/snmpc_lib.erl
+++ b/lib/snmp/src/compile/snmpc_lib.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -125,7 +125,8 @@ test_kibbles(Kibbles,Line) ->
test_kibbles2([],_,_) ->
ok;
-test_kibbles2([{_KibbleName,BitNo}|Ks],BitNo,Line) ->
+test_kibbles2([{_KibbleName,BitNo}|Ks],ExpectBitNo,Line)
+ when BitNo >= ExpectBitNo ->
test_kibbles2(Ks,BitNo+1,Line);
test_kibbles2([{_KibbleName,BitNo}|_Ks],ExpectBitNo,Line) ->
print_error("Expected kibble no ~p but got ~p.",[ExpectBitNo,BitNo],Line).
diff --git a/lib/snmp/src/manager/snmpm_net_if.erl b/lib/snmp/src/manager/snmpm_net_if.erl
index ad39157721..07156dacd9 100644
--- a/lib/snmp/src/manager/snmpm_net_if.erl
+++ b/lib/snmp/src/manager/snmpm_net_if.erl
@@ -441,7 +441,7 @@ handle_info(Info, State) ->
%% Returns: any (ignored by gen_server)
%%--------------------------------------------------------------------
terminate(Reason, #state{log = Log, irgc = IrGcRef}) ->
- ?vdebug("terminate: ~p",[Reason]),
+ ?vdebug("terminate: ~p", [Reason]),
irgc_stop(IrGcRef),
%% Close logs
do_close_log(Log),
@@ -462,22 +462,59 @@ do_close_log(_) ->
%% Returns: {ok, NewState}
%%----------------------------------------------------------------------
+code_change({down, _Vsn}, OldState, downgrade_to_pre_4_14) ->
+ ?d("code_change(down, downgrade_to_pre_4_14) -> entry with"
+ "~n OldState: ~p", [OldState]),
+ #state{server = Server,
+ note_store = NoteStore,
+ sock = Sock,
+ mpd_state = MpdState,
+ log = {OldLog, Type},
+ irb = IRB,
+ irgc = IRGC} = OldState,
+ NewLog = snmp_log:downgrade(OldLog),
+ State =
+ {state, Server, NoteStore, Sock, MpdState, {NewLog, Type}, IRB, IRGC},
+ {ok, State};
+
code_change({down, _Vsn}, OldState, downgrade_to_pre_4_16) ->
- ?d("code_change(down) -> entry", []),
+ ?d("code_change(down, downgrade_to_pre_4_16) -> entry with"
+ "~n OldState: ~p", [OldState]),
{OldLog, Type} = OldState#state.log,
NewLog = snmp_log:downgrade(OldLog),
State = OldState#state{log = {NewLog, Type}},
{ok, State};
% upgrade
+code_change(_Vsn, OldState, upgrade_from_pre_4_14) ->
+ ?d("code_change(up, upgrade_from_pre_4_14) -> entry with"
+ "~n OldState: ~p", [OldState]),
+ {state, Server, NoteStore, Sock, MpdState, {OldLog, Type}, IRB, IRGC} =
+ OldState,
+ NewLog = snmp_log:upgrade(OldLog),
+ State = #state{server = Server,
+ note_store = NoteStore,
+ sock = Sock,
+ mpd_state = MpdState,
+ log = {NewLog, Type},
+ irb = IRB,
+ irgc = IRGC,
+ filter = ?DEFAULT_FILTER_MODULE},
+ {ok, State};
+
code_change(_Vsn, OldState, upgrade_from_pre_4_16) ->
- ?d("code_change(up) -> entry", []),
+ ?d("code_change(up, upgrade_from_pre_4_16) -> entry with"
+ "~n OldState: ~p", [OldState]),
{OldLog, Type} = OldState#state.log,
NewLog = snmp_log:upgrade(OldLog),
State = OldState#state{log = {NewLog, Type}},
{ok, State};
code_change(_Vsn, State, _Extra) ->
+ ?d("code_change -> entry with"
+ "~n Vsn: ~p"
+ "~n State: ~p"
+ "~n Extra: ~p", [_Vsn, State, _Extra]),
{ok, State}.
diff --git a/lib/snmp/src/misc/snmp_pdus.erl b/lib/snmp/src/misc/snmp_pdus.erl
index 6c80fc3876..dc8900c8cd 100644
--- a/lib/snmp/src/misc/snmp_pdus.erl
+++ b/lib/snmp/src/misc/snmp_pdus.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -38,7 +38,10 @@
dec_usm_security_parameters/1,
strip_encrypted_scoped_pdu_data/1,
octet_str_to_bits/1, bits_to_str/1,
- get_encoded_length/1]).
+ get_encoded_length/1,
+ enc_value/2, dec_value/1]).
+
+%% -compile(export_all).
%% Returns the number of octets required to encode Length.
get_encoded_length(Length) ->
@@ -290,12 +293,18 @@ dec_value([68 | Bytes]) ->
{Value, Rest} = dec_oct_str_notag(Bytes),
{{'Opaque', Value}, Rest};
dec_value([70 | Bytes]) ->
+ %% Counter64 is an unsigned 64 but is actually encoded as
+ %% a signed integer 64.
{Value, Rest} = dec_integer_notag(Bytes),
- if Value >= 0, Value =< 18446744073709551615 ->
- {{'Counter64', Value}, Rest};
- true ->
- exit({error, {bad_counter64, Value}})
- end;
+ Value2 =
+ if
+ (Value >= 0) andalso (Value < 16#8000000000000000) ->
+ Value;
+ (Value < 0) ->
+ 18446744073709551615 + Value + 1;
+ true ->
+ exit({error, {bad_counter64, Value}}) end,
+ {{'Counter64', Value2}, Rest};
dec_value([128,0|T]) ->
{{'NULL', noSuchObject}, T};
dec_value([129,0|T]) ->
@@ -633,6 +642,21 @@ enc_value(_Type, endOfMibView) ->
[130,0];
enc_value('NULL', _Val) ->
[5,0];
+enc_value('Counter64', Val) ->
+ Val2 =
+ if
+ Val > 16#ffffffffffffffff ->
+ exit({error, {bad_counter64, Val}});
+ Val >= 16#8000000000000000 ->
+ (Val band 16#7fffffffffffffff) - 16#8000000000000000;
+ Val >= 0 ->
+ Val;
+ true ->
+ exit({error, {bad_counter64, Val}})
+ end,
+ Bytes2 = enc_integer_notag(Val2),
+ Len2 = elength(length(Bytes2)),
+ lists:append([70 | Len2],Bytes2);
enc_value(Type, Val) ->
Bytes2 = enc_integer_notag(Val),
Len2 = elength(length(Bytes2)),
@@ -643,10 +667,7 @@ enc_val_tag('Counter32',Val) when (Val >= 0) andalso (Val =< 4294967295) ->
enc_val_tag('Unsigned32', Val) when (Val >= 0) andalso (Val =< 4294967295) ->
66;
enc_val_tag('TimeTicks', Val) when (Val >= 0) andalso (Val =< 4294967295) ->
- 67;
-enc_val_tag('Counter64', Val) when ((Val >= 0) andalso
- (Val =< 18446744073709551615)) ->
- 70.
+ 67.
%%----------------------------------------------------------------------
diff --git a/lib/snmp/src/misc/snmp_usm.erl b/lib/snmp/src/misc/snmp_usm.erl
index 19be564a8e..3508f9e1c2 100644
--- a/lib/snmp/src/misc/snmp_usm.erl
+++ b/lib/snmp/src/misc/snmp_usm.erl
@@ -198,7 +198,7 @@ des_encrypt(PrivKey, Data, SaltFun) ->
[A,B,C,D,E,F,G,H | PreIV] = PrivKey,
DesKey = [A,B,C,D,E,F,G,H],
Salt = SaltFun(),
- IV = snmp_misc:str_xor(PreIV, Salt),
+ IV = list_to_binary(snmp_misc:str_xor(PreIV, Salt)),
TailLen = (8 - (length(Data) rem 8)) rem 8,
Tail = mk_tail(TailLen),
EncData = crypto:des_cbc_encrypt(DesKey, IV, [Data,Tail]),
@@ -213,13 +213,13 @@ des_decrypt(PrivKey, MsgPrivParams, EncData)
[A,B,C,D,E,F,G,H | PreIV] = PrivKey,
DesKey = [A,B,C,D,E,F,G,H],
Salt = MsgPrivParams,
- IV = snmp_misc:str_xor(PreIV, Salt),
+ IV = list_to_binary(snmp_misc:str_xor(PreIV, Salt)),
%% Whatabout errors here??? E.g. not a mulitple of 8!
Data = binary_to_list(crypto:des_cbc_decrypt(DesKey, IV, EncData)),
Data2 = snmp_pdus:strip_encrypted_scoped_pdu_data(Data),
{ok, Data2};
des_decrypt(PrivKey, BadMsgPrivParams, EncData) ->
- ?vtrace("des_decrypt -> entry with when bad MsgPrivParams"
+ ?vtrace("des_decrypt -> entry when bad MsgPrivParams"
"~n PrivKey: ~p"
"~n BadMsgPrivParams: ~p"
"~n EncData: ~p",
@@ -232,7 +232,7 @@ aes_encrypt(PrivKey, Data, SaltFun) ->
Salt = SaltFun(),
EngineBoots = snmp_framework_mib:get_engine_boots(),
EngineTime = snmp_framework_mib:get_engine_time(),
- IV = [?i32(EngineBoots), ?i32(EngineTime) | Salt],
+ IV = list_to_binary([?i32(EngineBoots), ?i32(EngineTime) | Salt]),
EncData = crypto:aes_cfb_128_encrypt(AesKey, IV, Data),
{ok, binary_to_list(EncData), Salt}.
@@ -240,7 +240,7 @@ aes_decrypt(PrivKey, MsgPrivParams, EncData, EngineBoots, EngineTime)
when length(MsgPrivParams) =:= 8 ->
AesKey = PrivKey,
Salt = MsgPrivParams,
- IV = [?i32(EngineBoots), ?i32(EngineTime) | Salt],
+ IV = list_to_binary([?i32(EngineBoots), ?i32(EngineTime) | Salt]),
%% Whatabout errors here??? E.g. not a mulitple of 8!
Data = binary_to_list(crypto:aes_cfb_128_decrypt(AesKey, IV, EncData)),
Data2 = snmp_pdus:strip_encrypted_scoped_pdu_data(Data),
diff --git a/lib/snmp/test/modules.mk b/lib/snmp/test/modules.mk
index ff848cad1b..6a0c3e9481 100644
--- a/lib/snmp/test/modules.mk
+++ b/lib/snmp/test/modules.mk
@@ -1,20 +1,20 @@
#-*-makefile-*- ; force emacs to enter makefile-mode
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2004-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2004-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
SUITE_MODULES = \
@@ -57,6 +57,10 @@ MODULES = \
HRL_FILES = snmp_test_lib.hrl
+# These are MIBs that aure used by the compiler test-suite.
+COMPILER_MIB_FILES = \
+ OTP8574-MIB
+
MIB_FILES = \
OLD-SNMPEA-MIB.mib \
OLD-SNMPEA-MIB-v2.mib \
diff --git a/lib/snmp/test/snmp_compiler_test.erl b/lib/snmp/test/snmp_compiler_test.erl
index 9a9127a130..ad77b01362 100644
--- a/lib/snmp/test/snmp_compiler_test.erl
+++ b/lib/snmp/test/snmp_compiler_test.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -46,7 +46,9 @@
module_identity/1,
tickets/1,
- otp_6150/1
+ otp_6150/1,
+ otp_8574/1,
+ otp_8595/1
]).
@@ -56,6 +58,7 @@
-export([
]).
+
%%----------------------------------------------------------------------
%% Macros
%%----------------------------------------------------------------------
@@ -98,7 +101,9 @@ all(suite) ->
tickets(suite) ->
[
- otp_6150
+ otp_6150,
+ otp_8574,
+ otp_8595
].
@@ -178,6 +183,54 @@ otp_6150(Config) when is_list(Config) ->
ok.
+otp_8574(suite) ->
+ [];
+otp_8574(Config) when is_list(Config) ->
+ put(tname,otp_8574),
+ p("starting with Config: ~p~n", [Config]),
+
+ Dir = ?config(comp_dir, Config),
+ MibDir = ?config(mib_dir, Config),
+ MibFile = join(MibDir, "OTP8574-MIB.mib"),
+
+ p("ensure compile fail without relaxed assign check"),
+ case snmpc:compile(MibFile, [{group_check, false}, {outdir, Dir}]) of
+ {error, compilation_failed} ->
+ p("with relaxed assign check MIB compiles with warning"),
+ case snmpc:compile(MibFile, [{group_check, false},
+ {outdir, Dir},
+ relaxed_row_name_assign_check]) of
+ {ok, _Mib} ->
+ ok;
+ {error, Reason} ->
+ p("unexpected compile failure: "
+ "~n Reason: ~p", [Reason]),
+ exit({unexpected_compile_failure, Reason})
+ end;
+
+ {ok, _} ->
+ p("unexpected compile success"),
+ exit(unexpected_compile_success)
+ end.
+
+
+otp_8595(suite) ->
+ [];
+otp_8595(Config) when is_list(Config) ->
+ put(tname,otp_8595),
+ p("starting with Config: ~p~n", [Config]),
+
+ Dir = ?config(comp_dir, Config),
+ MibDir = ?config(mib_dir, Config),
+ MibFile = join(MibDir, "OTP8595-MIB.mib"),
+ ?line {ok, Mib} =
+ snmpc:compile(MibFile, [{outdir, Dir},
+ {verbosity, trace},
+ {group_check, false}]),
+ io:format("otp_8595 -> Mib: ~n~p~n", [Mib]),
+ ok.
+
+
%%======================================================================
%% Internal functions
%%======================================================================
@@ -373,6 +426,9 @@ join(A,B) ->
%% p(F) ->
%% p(F, []).
+p(F) ->
+ p(F, []).
+
p(F, A) ->
p(get(tname), F, A).
diff --git a/lib/snmp/test/snmp_manager_config_test.erl b/lib/snmp/test/snmp_manager_config_test.erl
index fcb3d7e30c..d5dc1387f7 100644
--- a/lib/snmp/test/snmp_manager_config_test.erl
+++ b/lib/snmp/test/snmp_manager_config_test.erl
@@ -1444,10 +1444,9 @@ start_with_invalid_usm_conf_file1(Conf) when is_list(Conf) ->
p("[test 54] write usm config file with invalid auth-key (4)"),
Usm54 = setelement(4, Usm51, "[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,kalle]"),
write_usm_conf(ConfDir, [Usm54]),
- %% ?line ok = crypto:start(), %% Varf�r k�r den redan?
- ?line crypto:start(), %% Make sure it's started...
+ ?line maybe_start_crypto(), %% Make sure it's started...
?line {error, Reason54} = config_start(Opts),
- ?line ok = crypto:stop(),
+ ?line ok = maybe_stop_crypto(),
p("start failed (as expected): ~p", [Reason54]),
?line {failed_check, _, _, _, {invalid_auth_key, _}} = Reason54,
await_config_not_running(),
@@ -1492,21 +1491,35 @@ start_with_invalid_usm_conf_file1(Conf) when is_list(Conf) ->
p("[test 59] write usm config file with invalid auth-key (9)"),
Usm59 = setelement(4, Usm57, "[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,ka]"),
write_usm_conf(ConfDir, [Usm59]),
- ?line ok = crypto:start(),
+ ?line ok = maybe_start_crypto(),
?line {error, Reason59} = config_start(Opts),
- ?line ok = crypto:stop(),
+ ?line ok = maybe_stop_crypto(),
p("start failed (as expected): ~p", [Reason59]),
?line {failed_check, _, _, _, {invalid_auth_key, _}} = Reason59,
await_config_not_running(),
%% --
- p("[test 5A] write usm config file with valid auth-key when crypto not started (10)"),
- Usm5A = setelement(4, Usm57, "[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0]"),
- write_usm_conf(ConfDir, [Usm5A]),
- ?line {error, Reason5A} = config_start(Opts),
- p("start failed (as expected): ~p", [Reason5A]),
- ?line {failed_check, _, _, _, {unsupported_crypto, _}} = Reason5A,
- await_config_not_running(),
+ %% <CRYPTO-MODIFICATIONS>
+ %% The crypto application do no longer need to be started
+ %% explicitly (all of it is as of R14 implemented with NIFs).
+ case (catch crypto:version()) of
+ {'EXIT', {undef, _}} ->
+ p("[test 5A] write usm config file with valid auth-key "
+ "when crypto not started (10)"),
+ Usm5A = setelement(4,
+ Usm57,
+ "[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0]"),
+ write_usm_conf(ConfDir, [Usm5A]),
+ ?line {error, Reason5A} = config_start(Opts),
+ p("start failed (as expected): ~p", [Reason5A]),
+ ?line {failed_check, _, _, _, {unsupported_crypto, _}} = Reason5A,
+ await_config_not_running();
+ _ ->
+ %% This function is only present in version 2.0 or greater.
+ %% The crypto app no longer needs to be explicitly started
+ ok
+ end,
+ %% </CRYPTO-MODIFICATIONS>
%% --
p("[test 61] write usm config file with invalid priv-protocol (1)"),
@@ -1566,9 +1579,9 @@ start_with_invalid_usm_conf_file1(Conf) when is_list(Conf) ->
p("[test 74] write usm config file with invalid priv-key (4)"),
Usm74 = setelement(6, Usm71, "[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,kalle]"),
write_usm_conf(ConfDir, [Usm74]),
- ?line ok = crypto:start(),
+ ?line ok = maybe_start_crypto(),
?line {error, Reason74} = config_start(Opts),
- ?line ok = crypto:stop(),
+ ?line ok = maybe_stop_crypto(),
p("start failed (as expected): ~p", [Reason74]),
?line {failed_check, _, _, _, {invalid_priv_key, _}} = Reason74,
await_config_not_running(),
@@ -1592,15 +1605,27 @@ start_with_invalid_usm_conf_file1(Conf) when is_list(Conf) ->
await_config_not_running(),
%% --
- p("[test 77] write usm config file with valid priv-key when crypto not started (7)"),
- Usm77 = setelement(6, Usm71, "[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6]"),
- write_usm_conf(ConfDir, [Usm77]),
- ?line {error, Reason77} = config_start(Opts),
- p("start failed (as expected): ~p", [Reason77]),
- ?line {failed_check, _, _, _, {unsupported_crypto, _}} = Reason77,
- await_config_not_running(),
+ %% <CRYPTO-MODIFICATIONS>
+ %% The crypto application do no longer need to be started
+ %% explicitly (all of it is as of R14 implemented with NIFs).
+ case (catch crypto:version()) of
+ {'EXIT', {undef, _}} ->
+ p("[test 77] write usm config file with valid priv-key "
+ "when crypto not started (7)"),
+ Usm77 = setelement(6, Usm71, "[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6]"),
+ write_usm_conf(ConfDir, [Usm77]),
+ ?line {error, Reason77} = config_start(Opts),
+ p("start failed (as expected): ~p", [Reason77]),
+ ?line {failed_check, _, _, _, {unsupported_crypto, _}} = Reason77,
+ await_config_not_running();
+ _ ->
+ %% This function is only present in version 2.0 or greater.
+ %% The crypto app no longer needs to be explicitly started
+ ok
+ end,
+ %% </CRYPTO-MODIFICATIONS>
- %% --
+ %% --
p("[test 78] write usm config file with invalid usm (1)"),
write_usm_conf2(ConfDir, "{\"bmkEngine\", \"swiusmcf\"}."),
?line {error, Reason81} = config_start(Opts),
@@ -2676,6 +2701,27 @@ write_conf_file(Dir, File, Str) ->
file:close(Fd).
+maybe_start_crypto() ->
+ case (catch crypto:version()) of
+ {'EXIT', {undef, _}} ->
+ %% This is the version of crypto before the NIFs...
+ ?CRYPTO_START();
+ _ ->
+ %% No need to start this version of crypto..
+ ok
+ end.
+
+maybe_stop_crypto() ->
+ case (catch crypto:version()) of
+ {'EXIT', {undef, _}} ->
+ %% This is the version of crypto before the NIFs...
+ crypto:stop();
+ _ ->
+ %% There is nothing to stop in this version of crypto..
+ ok
+ end.
+
+
%% ------
str(X) ->
diff --git a/lib/snmp/test/snmp_pdus_test.erl b/lib/snmp/test/snmp_pdus_test.erl
index d5add50f52..6dc5b779aa 100644
--- a/lib/snmp/test/snmp_pdus_test.erl
+++ b/lib/snmp/test/snmp_pdus_test.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2003-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2003-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -37,6 +37,7 @@
all/1,
tickets/1,
otp7575/1,
+ otp8563/1,
init_per_testcase/2, fin_per_testcase/2
]).
@@ -66,6 +67,7 @@ init_per_testcase(_Case, Config) when is_list(Config) ->
fin_per_testcase(_Case, Config) when is_list(Config) ->
Config.
+
%%======================================================================
%% Test case definitions
%%======================================================================
@@ -76,7 +78,8 @@ all(suite) ->
tickets(suite) ->
[
- otp7575
+ otp7575,
+ otp8563
].
@@ -118,6 +121,55 @@ otp7575(Config) when is_list(Config) ->
ok.
+otp8563(suite) -> [];
+otp8563(doc) -> ["OTP-8563"];
+otp8563(Config) when is_list(Config) ->
+ Val1 = 16#7fffffffffffffff,
+ io:format("try encode and decode ~w~n", [Val1]),
+ Enc1 = snmp_pdus:enc_value('Counter64', Val1),
+ {{'Counter64', Val1}, []} = snmp_pdus:dec_value(Enc1),
+
+ Val2 = Val1 + 1,
+ io:format("try encode and decode ~w~n", [Val2]),
+ Enc2 = snmp_pdus:enc_value('Counter64', Val2),
+ {{'Counter64', Val2}, []} = snmp_pdus:dec_value(Enc2),
+
+ Val3 = Val2 + 1,
+ io:format("try encode and decode ~w~n", [Val3]),
+ Enc3 = snmp_pdus:enc_value('Counter64', Val3),
+ {{'Counter64', Val3}, []} = snmp_pdus:dec_value(Enc3),
+
+ Val4 = 16#fffffffffffffffe,
+ io:format("try encode and decode ~w~n", [Val4]),
+ Enc4 = snmp_pdus:enc_value('Counter64', Val4),
+ {{'Counter64', Val4}, []} = snmp_pdus:dec_value(Enc4),
+
+ Val5 = Val4 + 1,
+ io:format("try encode and decode ~w~n", [Val5]),
+ Enc5 = snmp_pdus:enc_value('Counter64', Val5),
+ {{'Counter64', Val5}, []} = snmp_pdus:dec_value(Enc5),
+
+ Val6 = 16#ffffffffffffffff + 1,
+ io:format("try and fail to encode ~w~n", [Val6]),
+ case (catch snmp_pdus:enc_value('Counter64', Val6)) of
+ {'EXIT', {error, {bad_counter64, Val6}}} ->
+ ok;
+ Unexpected6 ->
+ exit({unexpected_encode_result, Unexpected6, Val6})
+ end,
+
+ Val7 = -1,
+ io:format("try and fail to encode ~w~n", [Val7]),
+ case (catch snmp_pdus:enc_value('Counter64', Val7)) of
+ {'EXIT', {error, {bad_counter64, Val7}}} ->
+ ok;
+ Unexpected7 ->
+ exit({unexpected_encode_result, Unexpected7, Val7})
+ end,
+
+ ok.
+
+
%%======================================================================
%% Internal functions
%%======================================================================
diff --git a/lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB.mib b/lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB.mib
index dd90d0ab50..2ba1a6fd67 100644
--- a/lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB.mib
+++ b/lib/snmp/test/snmp_test_data/OLD-SNMPEA-MIB.mib
@@ -12,18 +12,12 @@ OLD-SNMPEA-MIB DEFINITIONS ::= BEGIN
;
-- MODULE-IDENTITY
--- LAST-UPDATED "9709220900Z"
--- ORGANIZATION "ETX/DN/S"
--- CONTACT-INFO
--- " Martin Bj�rklund
---
--- Postal: ERICSSON SOFTWARE TECHNOLOGY AB
--- ERLANG SYSTEMS
--- Box 1214
--- S-164 28 KISTA, SWEDEN
---
--- Tel: +46 8 719 20 89
--- E-mail: [email protected]"
+-- LAST-UPDATED "1004200000Z"
+-- ORGANIZATION "Erlang/OTP"
+-- CONTACT-INFO ""
+-- DESCRIPTION
+-- "Header cleanup."
+-- REVISION "1004200000Z"
-- DESCRIPTION
-- "This MIB module defines MIB objects for the SNMPEA
-- component in OTP."
diff --git a/lib/snmp/test/snmp_test_data/OTP8574-MIB.mib b/lib/snmp/test/snmp_test_data/OTP8574-MIB.mib
new file mode 100644
index 0000000000..b5e5ed1848
--- /dev/null
+++ b/lib/snmp/test/snmp_test_data/OTP8574-MIB.mib
@@ -0,0 +1,77 @@
+OTP8574-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, enterprises, IpAddress FROM SNMPv2-SMI
+ RowStatus FROM SNMPv2-TC
+ ;
+
+otp8574MIB MODULE-IDENTITY
+ LAST-UPDATED "1004200000Z"
+ ORGANIZATION "Erlang/OTP"
+ CONTACT-INFO "www.erlang.org"
+ DESCRIPTION "The MIB module is used for testing a compiler feature"
+ ::= { otpSnmp 1 }
+
+ericsson OBJECT IDENTIFIER ::= { enterprises 193 }
+otp OBJECT IDENTIFIER ::= { ericsson 19 }
+otpApplications OBJECT IDENTIFIER ::= { otp 3 }
+otpSnmp OBJECT IDENTIFIER ::= { otpApplications 3 }
+
+testMIBObjects OBJECT IDENTIFIER ::= { otp8574MIB 1 }
+
+testMIBObjectGroup OBJECT IDENTIFIER ::= { testMIBObjects 1 }
+
+example-Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF ExampleEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An example table"
+ ::= { testMIBObjectGroup 1 }
+
+example-Entry OBJECT-TYPE
+ SYNTAX ExampleEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Example table entry"
+ INDEX { exampleIndex }
+ ::= { example-Table 5 }
+
+ExampleEntry ::= SEQUENCE {
+ exampleIndex INTEGER,
+ exampleColumn OCTET STRING,
+ exampleNotAccessible OCTET STRING,
+ exampleRowStatus RowStatus
+}
+
+exampleIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..100)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION "The index for this entry."
+ ::= { example-Entry 1 }
+
+exampleColumn OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Example table column"
+ ::= { example-Entry 2 }
+
+exampleNotAccessible OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Example table column"
+ ::= { example-Entry 3 }
+
+exampleRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Example table RowStatus"
+ ::= { example-Entry 4 }
+
+END
diff --git a/lib/snmp/test/snmp_test_data/OTP8595-MIB.mib b/lib/snmp/test/snmp_test_data/OTP8595-MIB.mib
new file mode 100644
index 0000000000..23245bce37
--- /dev/null
+++ b/lib/snmp/test/snmp_test_data/OTP8595-MIB.mib
@@ -0,0 +1,45 @@
+OTP8595-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, snmpModules, mib-2
+ FROM SNMPv2-SMI
+ DisplayString, TestAndIncr, TimeStamp, RowStatus, TruthValue,
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ sysLocation, sysContact
+ FROM SNMPv2-MIB
+ ;
+
+otp8595MIB MODULE-IDENTITY
+ LAST-UPDATED "1004210000Z"
+ ORGANIZATION ""
+ CONTACT-INFO
+ ""
+ DESCRIPTION
+ "Test mib for OTP-8595"
+ ::= { snmpModules 1 }
+
+
+test OBJECT IDENTIFIER ::= { mib-2 15 }
+
+bits1 OBJECT-TYPE
+ SYNTAX BITS {
+ b0(0),
+ b1(1),
+ b2(2),
+ -- The following are extensions to the original set of
+ -- labels. The extensions start at an octet boundary.
+ -- So for bits 3 - 7, one MUST set them to zero on send
+ -- and one MUST ignore them on receipt.
+ b8(8),
+ b9(9)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ ""
+ ::= { test 1 }
+
+END
diff --git a/lib/snmp/test/snmp_test_mgr_misc.erl b/lib/snmp/test/snmp_test_mgr_misc.erl
index e6220f9241..ef1ba0b948 100644
--- a/lib/snmp/test/snmp_test_mgr_misc.erl
+++ b/lib/snmp/test/snmp_test_mgr_misc.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -101,8 +101,8 @@ init_packet(Parent, SnmpMgr,
init_debug(Dbg) when is_atom(Dbg) ->
put(debug,Dbg),
- put(verbosity,silence);
- %% put(verbosity,trace);
+ %% put(verbosity, silence);
+ put(verbosity, trace);
init_debug(DbgOptions) when is_list(DbgOptions) ->
case lists:keysearch(debug, 1, DbgOptions) of
{value, {_, Dbg}} when is_atom(Dbg) ->
diff --git a/lib/snmp/vsn.mk b/lib/snmp/vsn.mk
index c4550d9b44..2fccc733e6 100644
--- a/lib/snmp/vsn.mk
+++ b/lib/snmp/vsn.mk
@@ -17,11 +17,15 @@
#
# %CopyrightEnd%
-SNMP_VSN = 4.16
+SNMP_VSN = 4.16.2
PRE_VSN =
APP_VSN = "snmp-$(SNMP_VSN)$(PRE_VSN)"
-TICKETS = \
+TICKETS = OTP-8563 OTP-8574 OTP-8594 OTP-8595
+
+TICKETS_4_16_1 = OTP-8480 OTP-8481
+
+TICKETS_4_16 = \
OTP-8395 \
OTP-8433 \
OTP-8442
diff --git a/lib/ssh/Makefile b/lib/ssh/Makefile
index 1ad69a9ca1..b8c7eebcc1 100644
--- a/lib/ssh/Makefile
+++ b/lib/ssh/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2004-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2004-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
diff --git a/lib/ssh/doc/src/book.xml b/lib/ssh/doc/src/book.xml
index 0375c441af..fcec1d6f70 100644
--- a/lib/ssh/doc/src/book.xml
+++ b/lib/ssh/doc/src/book.xml
@@ -4,7 +4,7 @@
<book xmlns:xi="http://www.w3.org/2001/XInclude">
<header titlestyle="normal">
<copyright>
- <year>2005</year><year>2009</year>
+ <year>2005</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>SSH</title>
diff --git a/lib/ssh/doc/src/notes.xml b/lib/ssh/doc/src/notes.xml
index 9597137cdf..67a226f726 100644
--- a/lib/ssh/doc/src/notes.xml
+++ b/lib/ssh/doc/src/notes.xml
@@ -29,6 +29,48 @@
<file>notes.xml</file>
</header>
+ <section><title>Ssh 2.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>The function ssh:connect/4 was not exported.</p>
+ <p>Own Id: OTP-8550 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>The configuration parameter ip_v6_disabled is now available,
+ which makes it possible for the user to alter the IP version
+ SSH shall use.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>Own Id: OTP-8535 Aux Id:</p>
+ </item>
+ <item>
+ <p>The ssh_connection:send operation now accepts infinity as timeout.</p>
+ <p>Own Id: OTP-8534 Aux Id:</p>
+ </item>
+ <item>
+ <p>The connection handler now include stack traces when a channel
+ message is not handled correctly.</p>
+ <p>Own Id: OTP-8524 Aux Id:</p>
+ </item>
+ <item>
+ <p>Removed deprecated modules (ssh_ssh, ssh_sshd and ssh_cm) and
+ functions (ssh_sftp:connect and ssh_sftp:stop).</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>Own Id: OTP-8596 Aux Id:</p>
+ </item>
+ </list>
+ </section>
+
+ </section>
+
<section><title>Ssh 1.1.8</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/ssh/doc/src/ref_man.xml b/lib/ssh/doc/src/ref_man.xml
index c05c3051b0..9ab56b28ec 100644
--- a/lib/ssh/doc/src/ref_man.xml
+++ b/lib/ssh/doc/src/ref_man.xml
@@ -4,7 +4,7 @@
<application xmlns:xi="http://www.w3.org/2001/XInclude">
<header>
<copyright>
- <year>2004</year><year>2009</year>
+ <year>2004</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>SSH Reference Manual</title>
diff --git a/lib/ssh/doc/src/ssh.xml b/lib/ssh/doc/src/ssh.xml
index aca5c9cdc4..71e6b2cd3d 100644
--- a/lib/ssh/doc/src/ssh.xml
+++ b/lib/ssh/doc/src/ssh.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2004</year><year>2009</year>
+ <year>2004</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>ssh</title>
@@ -159,6 +159,9 @@
<item>
<p>Allow an existing file-descriptor to be used
(simply passed on to the transport protocol).</p></item>
+ <tag><c><![CDATA[{ip_v6_disabled, boolean()}]]></c></tag>
+ <item>
+ <p>Determines if SSH shall use IPv6 or not.</p></item>
</taglist>
</desc>
</func>
@@ -198,8 +201,8 @@
<item>
Provides specifications for handling of subsystems. The
"sftp" subsystem-spec can be retrieved by calling
- ssh_sftd:subsystem_spec/1. If the subsystems option in not present
- the value of <c>[ssh_sftd:subsystem_spec([])]</c> will be used.
+ ssh_sftpd:subsystem_spec/1. If the subsystems option in not present
+ the value of <c>[ssh_sftpd:subsystem_spec([])]</c> will be used.
It is of course possible to set the option to the empty list
if you do not want the daemon to run any subsystems at all.
</item>
@@ -252,6 +255,10 @@
<item>
<p>Allow an existing file-descriptor to be used
(simply passed on to the transport protocol).</p></item>
+ <tag><c><![CDATA[{ip_v6_disabled, boolean()}]]></c></tag>
+ <item>
+ <p>Determines if SSH shall use IPv6 or not (only used when
+ HostAddress is set to any).</p></item>
</taglist>
</desc>
</func>
diff --git a/lib/ssh/doc/src/ssh_sftp.xml b/lib/ssh/doc/src/ssh_sftp.xml
index 208b2b4e72..c1f75461b1 100644
--- a/lib/ssh/doc/src/ssh_sftp.xml
+++ b/lib/ssh/doc/src/ssh_sftp.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2005</year><year>2009</year>
+ <year>2005</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>ssh_sftp</title>
diff --git a/lib/ssh/doc/src/ssh_sftpd.xml b/lib/ssh/doc/src/ssh_sftpd.xml
index c857983565..b3d64e72b4 100644
--- a/lib/ssh/doc/src/ssh_sftpd.xml
+++ b/lib/ssh/doc/src/ssh_sftpd.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2005</year><year>2009</year>
+ <year>2005</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>ssh_sftpd</title>
diff --git a/lib/ssh/examples/Makefile b/lib/ssh/examples/Makefile
index cd8b3c797a..5f17542fb8 100644
--- a/lib/ssh/examples/Makefile
+++ b/lib/ssh/examples/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2005-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2005-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
diff --git a/lib/ssh/examples/ssh_sample_cli.erl b/lib/ssh/examples/ssh_sample_cli.erl
index 2505c1b759..6f3092e567 100644
--- a/lib/ssh/examples/ssh_sample_cli.erl
+++ b/lib/ssh/examples/ssh_sample_cli.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -30,19 +30,15 @@
%% our command functions
-export([cli_prime/1, cli_primes/1, cli_gcd/2, cli_lcm/2,
cli_factors/1, cli_exit/0, cli_rho/1, cli_help/0,
- cli_crash/0, cli_users/0, cli_self/0,
- cli_user/0, cli_host/0]).
-
-%% imports
--import(lists, [reverse/1, reverse/2, seq/2, prefix/2]).
--import(math, [sqrt/1]).
-
+ cli_crash/0, cli_self/0, cli_user/0, cli_host/0]).
listen(Port) ->
listen(Port, []).
listen(Port, Options) ->
- ssh_cli:listen(fun(U, H) -> start_our_shell(U, H) end, Port, Options).
+ crypto:start(),
+ ssh:start(),
+ ssh:daemon(any, Port, [{shell, fun(U, H) -> start_our_shell(U, H) end} | Options]).
%% our_routines
our_routines() ->
@@ -56,7 +52,6 @@ our_routines() ->
{"prime", cli_prime, "<int> check for primality"},
{"primes", cli_primes, "<int> print all primes up to <int>"},
{"rho", cli_rho, "<int> prime factors using rho's alg."},
- {"who", cli_users, " lists users"},
{"user", cli_user, " print name of user"},
{"host", cli_host, " print host addr"},
{"self", cli_self, " print my pid"}
@@ -85,11 +80,11 @@ our_routines() ->
common_prefix([C | R1], [C | R2], Acc) ->
common_prefix(R1, R2, [C | Acc]);
common_prefix(_, _, Acc) ->
- reverse(Acc).
+ lists:reverse(Acc).
%% longest prefix in a list, given a prefix
longest_prefix(List, Prefix) ->
- case [A || {A, _, _} <- List, prefix(Prefix, A)] of
+ case [A || {A, _, _} <- List, lists:prefix(Prefix, A)] of
[] ->
{none, List};
[S | Rest] ->
@@ -112,7 +107,7 @@ longest_prefix(List, Prefix) ->
expand([$ | _]) ->
{no, "", []};
expand(RevBefore) ->
- Before = reverse(RevBefore),
+ Before = lists:reverse(RevBefore),
case longest_prefix(our_routines(), Before) of
{prefix, P, [_]} ->
{yes, P ++ " ", []};
@@ -139,22 +134,27 @@ start_our_shell(User, Peer) ->
%%% an ordinary Read-Eval-Print-loop
our_shell_loop() ->
% Read
- Line = io:get_line({format, "CLI> ", []}),
+ Line = io:get_line("CLI> "),
% Eval
Result = eval_cli(Line),
% Print
io:format("---> ~p\n", [Result]),
case Result of
- done -> exit(normal);
- crash -> 1 / 0;
- _ -> our_shell_loop()
+ done ->
+ exit(normal);
+ crash ->
+ 1 / 0;
+ _ ->
+ our_shell_loop()
end.
%%% translate a command to a function
command_to_function(Command) ->
case lists:keysearch(Command, 1, our_routines()) of
- {value, {_, Proc, _}} -> Proc;
- false -> unknown_cli
+ {value, {_, Proc, _}} ->
+ Proc;
+ false ->
+ unknown_cli
end.
%%% evaluate a command line
@@ -209,14 +209,6 @@ cli_user() ->
cli_host() ->
get(peer_name).
-cli_users() ->
- case ssh_userauth:get_auth_users() of
- {ok, UsersPids} ->
- UsersPids; % [U || {U, _} <- UsersPids];
- E ->
- E
- end.
-
cli_self() ->
self().
@@ -243,7 +235,7 @@ cli_help() ->
%% a quite simple Sieve of Erastothenes (not tail-recursive, though)
primes(Size) ->
- era(sqrt(Size), seq(2,Size)).
+ era(math:sqrt(Size), lists:seq(2,Size)).
era(Max, [H|T]) when H =< Max ->
[H | era(Max, sieve([H|T], H))];
@@ -267,7 +259,7 @@ next_prime(Primes, P) ->
next_prime1(Primes, P) ->
P1 = P + 2,
- case divides(Primes, trunc(sqrt(P1)), P1) of
+ case divides(Primes, trunc(math:sqrt(P1)), P1) of
false -> P1;
true -> next_prime1(Primes, P1)
end.
@@ -282,7 +274,7 @@ divides([_ | R], Nsqrt, N) ->
divides(R, Nsqrt, N).
is_prime(P) ->
- lists:all(fun(A) -> P rem A =/= 0 end, primes(trunc(sqrt(P)))).
+ lists:all(fun(A) -> P rem A =/= 0 end, primes(trunc(math:sqrt(P)))).
%% Normal gcd, Euclid
gcd(R, Q) when abs(Q) < abs(R) -> gcd1(Q,R);
@@ -300,17 +292,17 @@ lcm(R, Q) ->
%%% Prime factors of a number (na�ve implementation)
factors(N) ->
- Nsqrt = trunc(sqrt(N)),
+ Nsqrt = trunc(math:sqrt(N)),
factors([], N, 2, Nsqrt, []).
factors(_Primes, N, Prime, Nsqrt, Factors) when Prime > Nsqrt ->
- reverse(Factors, [N]);
+ lists:reverse(Factors, [N]);
factors(Primes, N, Prime, Nsqrt, Factors) ->
case N rem Prime of
0 ->
%%io:format("factor ------- ~p\n", [Prime]),
N1 = N div Prime,
- factors(Primes, N1, Prime, trunc(sqrt(N1)), [Prime|Factors]);
+ factors(Primes, N1, Prime, trunc(math:sqrt(N1)), [Prime|Factors]);
_ ->
Primes1 = Primes ++ [Prime],
Prime1 = next_prime(Primes1, Prime),
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
index 7abf06e52b..42880fa80b 100644
--- a/lib/ssh/src/Makefile
+++ b/lib/ssh/src/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2004-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2004-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
@@ -56,7 +56,6 @@ MODULES= \
ssh_auth\
ssh_bits \
ssh_cli \
- ssh_cm \
ssh_dsa \
ssh_file \
ssh_io \
@@ -67,8 +66,6 @@ MODULES= \
ssh_sftpd \
ssh_sftpd_file\
ssh_sftpd_file_api \
- ssh_ssh \
- ssh_sshd \
ssh_transport \
ssh_userreg \
ssh_xfer
diff --git a/lib/ssh/src/ssh.app.src b/lib/ssh/src/ssh.app.src
index 9319f39591..8a3e15841f 100644
--- a/lib/ssh/src/ssh.app.src
+++ b/lib/ssh/src/ssh.app.src
@@ -14,7 +14,6 @@
ssh_cli,
ssh_channel,
ssh_channel_sup,
- ssh_cm,
ssh_connection,
ssh_connection_handler,
ssh_connection_manager,
@@ -32,8 +31,6 @@
ssh_sftpd,
ssh_sftpd_file,
ssh_sftpd_file_api,
- ssh_ssh,
- ssh_sshd,
ssh_subsystem_sup,
ssh_sup,
ssh_system_sup,
diff --git a/lib/ssh/src/ssh.appup.src b/lib/ssh/src/ssh.appup.src
index 5329373862..21f7508555 100644
--- a/lib/ssh/src/ssh.appup.src
+++ b/lib/ssh/src/ssh.appup.src
@@ -19,20 +19,8 @@
{"%VSN%",
[
- {"1.1.7", [{load_module, ssh_connection_handler, soft_purge, soft_purge, []}]},
- {"1.1.6", [{restart_application, ssh}]},
- {"1.1.5", [{restart_application, ssh}]},
- {"1.1.4", [{restart_application, ssh}]},
- {"1.1.3", [{restart_application, ssh}]},
- {"1.1.2", [{restart_application, ssh}]}
],
[
- {"1.1.7", [{load_module, ssh_connection_handler, soft_purge, soft_purge, []}]},
- {"1.1.6", [{restart_application, ssh}]},
- {"1.1.5", [{restart_application, ssh}]},
- {"1.1.4", [{restart_application, ssh}]},
- {"1.1.3", [{restart_application, ssh}]},
- {"1.1.2", [{restart_application, ssh}]}
]
}.
diff --git a/lib/ssh/src/ssh.erl b/lib/ssh/src/ssh.erl
index f9a986a8b6..994c77436a 100644
--- a/lib/ssh/src/ssh.erl
+++ b/lib/ssh/src/ssh.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -24,7 +24,7 @@
-include("ssh.hrl").
-include("ssh_connect.hrl").
--export([start/0, start/1, stop/0, connect/3, close/1, connection_info/2,
+-export([start/0, start/1, stop/0, connect/3, connect/4, close/1, connection_info/2,
channel_info/3,
daemon/1, daemon/2, daemon/3,
stop_listener/1, stop_listener/2, stop_daemon/1, stop_daemon/2,
@@ -330,10 +330,10 @@ handle_options([{nodelay, _} = Opt | Rest], SockOpts, Opts) ->
handle_options([Opt | Rest], SockOpts, Opts) ->
handle_options(Rest, SockOpts, [Opt | Opts]).
+%% Has IPv6 been disabled?
inetopt(true) ->
- inet6;
-
+ inet;
inetopt(false) ->
- inet.
+ inet6.
diff --git a/lib/ssh/src/ssh.hrl b/lib/ssh/src/ssh.hrl
index 0e4285295c..ac249b05e3 100644
--- a/lib/ssh/src/ssh.hrl
+++ b/lib/ssh/src/ssh.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_acceptor.erl b/lib/ssh/src/ssh_acceptor.erl
index d19fee14e1..57229daa27 100644
--- a/lib/ssh/src/ssh_acceptor.erl
+++ b/lib/ssh/src/ssh_acceptor.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_acceptor_sup.erl b/lib/ssh/src/ssh_acceptor_sup.erl
index 707e3d3a5e..f37e1fe4ff 100644
--- a/lib/ssh/src/ssh_acceptor_sup.erl
+++ b/lib/ssh/src/ssh_acceptor_sup.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_app.erl b/lib/ssh/src/ssh_app.erl
index 5793d3a321..38659b1a2d 100644
--- a/lib/ssh/src/ssh_app.erl
+++ b/lib/ssh/src/ssh_app.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_auth.erl b/lib/ssh/src/ssh_auth.erl
index aa74528544..9dbd95886e 100644
--- a/lib/ssh/src/ssh_auth.erl
+++ b/lib/ssh/src/ssh_auth.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_auth.hrl b/lib/ssh/src/ssh_auth.hrl
index 80c5a6819b..7d7bad4436 100644
--- a/lib/ssh/src/ssh_auth.hrl
+++ b/lib/ssh/src/ssh_auth.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_bits.erl b/lib/ssh/src/ssh_bits.erl
index 21ddc5e8fe..399581a0fd 100755
--- a/lib/ssh/src/ssh_bits.erl
+++ b/lib/ssh/src/ssh_bits.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_channel.erl b/lib/ssh/src/ssh_channel.erl
index 3d67065ee1..8a49a44a6c 100644
--- a/lib/ssh/src/ssh_channel.erl
+++ b/lib/ssh/src/ssh_channel.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_channel_sup.erl b/lib/ssh/src/ssh_channel_sup.erl
index c184fed627..0093bce9c2 100644
--- a/lib/ssh/src/ssh_channel_sup.erl
+++ b/lib/ssh/src/ssh_channel_sup.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_cli.erl b/lib/ssh/src/ssh_cli.erl
index 964f35121a..2764ea2e43 100644
--- a/lib/ssh/src/ssh_cli.erl
+++ b/lib/ssh/src/ssh_cli.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -428,7 +428,7 @@ start_shell(ConnectionManager, State) ->
{ok, User} =
ssh_userreg:lookup_user(ConnectionManager),
{ok, PeerAddr} =
- ssh_cm:get_peer_addr(ConnectionManager),
+ ssh_connection_manager:peer_addr(ConnectionManager),
fun() -> Shell(User, PeerAddr) end;
_ ->
Shell
diff --git a/lib/ssh/src/ssh_cm.erl b/lib/ssh/src/ssh_cm.erl
deleted file mode 100755
index c4d535df9a..0000000000
--- a/lib/ssh/src/ssh_cm.erl
+++ /dev/null
@@ -1,237 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-
-%%
-
-%%% Description : Backwards compatibility wrapper
-
--module(ssh_cm).
-
--include("ssh.hrl").
--include("ssh_connect.hrl").
-
-%% -define(DEFAULT_PACKET_SIZE, 32768).
-%% -define(DEFAULT_WINDOW_SIZE, 2*?DEFAULT_PACKET_SIZE).
-%%-define(DEFAULT_TIMEOUT, 5000).
-
--export([connect/1, connect/2, connect/3]).
--export([listen/2, listen/3, listen/4, stop_listener/1]).
--export([stop/1]).
-
--deprecated({connect, 1, next_major_release}).
--deprecated({connect, 2, next_major_release}).
--deprecated({connect, 3, next_major_release}).
--deprecated({listen, 2, next_major_release}).
--deprecated({listen, 3, next_major_release}).
--deprecated({listen, 4, next_major_release}).
--deprecated({stop_listener, 1, next_major_release}).
--deprecated({stop, 1, next_major_release}).
-
--export([adjust_window/3, attach/2, attach/3, detach/2,
- tcpip_forward/3, cancel_tcpip_forward/3, direct_tcpip/6,
- direct_tcpip/8, close/2, shell/2, exec/4,
- send/3, send/4,
- send_ack/3, send_ack/4, send_ack/5, send_eof/2,
- session_open/2, session_open/4, subsystem/4,
- open_pty/3, open_pty/7, open_pty/9,
- set_user_ack/4,
- setenv/5, signal/3, winch/4]).
-
--deprecated({adjust_window, 3, next_major_release}).
--deprecated({attach, 2, next_major_release}).
--deprecated({attach, 3, next_major_release}).
--deprecated({detach, 2, next_major_release}).
--deprecated({tcpip_forward, 3, next_major_release}).
--deprecated({cancel_tcpip_forward, 3, next_major_release}).
--deprecated({direct_tcpip, 6, next_major_release}).
--deprecated({direct_tcpip, 8, next_major_release}).
--deprecated({close, 2, next_major_release}).
--deprecated({shell, 2, next_major_release}).
--deprecated({exec, 4, next_major_release}).
--deprecated({send, 3, next_major_release}).
--deprecated({send, 4, next_major_release}).
--deprecated({send_ack, 3, next_major_release}).
--deprecated({send_ack, 4, next_major_release}).
--deprecated({send_ack, 5, next_major_release}).
--deprecated({send_eof, 2, next_major_release}).
--deprecated({session_open, 2, next_major_release}).
--deprecated({session_open, 4, next_major_release}).
--deprecated({subsystem, 4, next_major_release}).
--deprecated({open_pty, 3, next_major_release}).
--deprecated({open_pty, 7, next_major_release}).
--deprecated({open_pty, 9, next_major_release}).
--deprecated({set_user_ack, 4, next_major_release}).
--deprecated({setenv, 5, next_major_release}).
--deprecated({signal, 3, next_major_release}).
--deprecated({winch, 4, next_major_release}).
-
--export([info/1, info/2, recv_window/3,
- send_window/3, renegotiate/1, renegotiate/2,
- get_peer_addr/1]).
-
-%%====================================================================
-%% API
-%%====================================================================
-connect(Host) ->
- connect(Host, []).
-connect(Host, Opts) ->
- connect(Host, ?SSH_DEFAULT_PORT, Opts).
-connect(Host, Port, Opts) ->
- ssh:connect(Host, Port, Opts).
-
-listen(ChannelSpec, Port) ->
- listen(ChannelSpec, Port, []).
-listen(ChannelSpec, Port, Opts) ->
- listen(ChannelSpec, any, Port, Opts).
-listen(ChannelSpec, "localhost", Port, Opts) ->
- listen(ChannelSpec, any, Port, Opts);
-listen(_ChannelSpec, Host, Port, Opts) ->
- ssh:daemon(Host, Port, Opts).
-
-stop_listener(SysSup) ->
- ssh_system_sup:stop_listener(SysSup).
-stop(Cm) ->
- ssh:close(Cm).
-
-%% CM Client commands
-session_open(Cm, Timeout) ->
- session_open(Cm, ?DEFAULT_WINDOW_SIZE, ?DEFAULT_PACKET_SIZE, Timeout).
-
-session_open(Cm, InitialWindowSize, MaxPacketSize, Timeout) ->
- ssh_connection:session_channel(Cm, InitialWindowSize, MaxPacketSize,
- Timeout).
-
-
-setenv(Cm, Channel, Var, Value, Timeout) ->
- ssh_connection:setenv(Cm, Channel, Var, Value, Timeout).
-
-shell(Cm, Channel) ->
- ssh_connection:shell(Cm, Channel).
-
-exec(Cm, Channel, Command, Timeout) ->
- ssh_connection:exec(Cm, Channel, Command, Timeout).
-
-subsystem(Cm, Channel, SubSystem, Timeout) ->
- ssh_connection:subsystem(Cm, Channel, SubSystem, Timeout).
-
-%% Not needed for backwards compatibility for now
-attach(_Cm, _Timeout) ->
- ok.
-
-attach(_Cm, _ChannelPid, _Timeout) ->
- ok.
-
-detach(_Cm, _Timeout) ->
- ok.
-
-%% Not needed, send_ack is now call! Temp backwardcompability
-set_user_ack(_, _, _, _) ->
- ok.
-
-adjust_window(Cm, Channel, Bytes) ->
- ssh_connection:adjust_window(Cm, Channel, Bytes).
-
-close(Cm, Channel) ->
- ssh_connection:close(Cm, Channel).
-
-send_eof(Cm, Channel) ->
- ssh_connection:send_eof(Cm, Channel).
-
-send(Cm, Channel, Data) ->
- ssh_connection:send(Cm, Channel, 0, Data).
-
-send(Cm, Channel, Type, Data) ->
- ssh_connection:send(Cm, Channel, Type, Data).
-
-%% Send ack is not needed
-send_ack(Cm, Channel, Data) ->
- send_ack(Cm, Channel, 0, Data, infinity).
-
-send_ack(Cm, Channel, Type, Data) ->
- send_ack(Cm, Channel, Type, Data, infinity).
-
-send_ack(Cm, Channel, Type, Data, Timeout) ->
- ssh_connection:send(Cm, Channel, Type, Data, Timeout).
-
-%% ----------------------------------------------------------------------
-%% These functions replacers are not officially supported but proably will be
-%% when we had time to test them.
-%% ----------------------------------------------------------------------
-direct_tcpip(Cm, RemoteHost, RemotePort, OrigIP, OrigPort, Timeout) ->
- direct_tcpip(Cm, RemoteHost, RemotePort, OrigIP, OrigPort,
- ?DEFAULT_WINDOW_SIZE, ?DEFAULT_PACKET_SIZE, Timeout).
-
-direct_tcpip(Cm, RemoteIP, RemotePort, OrigIP, OrigPort,
- InitialWindowSize, MaxPacketSize, Timeout) ->
- ssh_connection:direct_tcpip(Cm, RemoteIP, RemotePort,
- OrigIP, OrigPort,
- InitialWindowSize,
- MaxPacketSize, Timeout).
-
-tcpip_forward(Cm, BindIP, BindPort) ->
- ssh_connection:tcpip_forward(Cm, BindIP, BindPort).
-
-cancel_tcpip_forward(Cm, BindIP, Port) ->
- ssh_connection:cancel_tcpip_forward(Cm, BindIP, Port).
-
-open_pty(Cm, Channel, Timeout) ->
- open_pty(Cm, Channel, os:getenv("TERM"), 80, 24, [], Timeout).
-
-open_pty(Cm, Channel, Term, Width, Height, PtyOpts, Timeout) ->
- open_pty(Cm, Channel, Term, Width, Height, 0, 0, PtyOpts, Timeout).
-
-open_pty(Cm, Channel, Term, Width, Height, PixWidth, PixHeight,
- PtyOpts, Timeout) ->
- ssh_connection:open_pty(Cm, Channel, Term,
- Width, Height, PixWidth,
- PixHeight, PtyOpts, Timeout).
-winch(Cm, Channel, Width, Height) ->
- winch(Cm, Channel, Width, Height, 0, 0).
-winch(Cm, Channel, Width, Height, PixWidth, PixHeight) ->
- ssh_connection:window_change(Cm, Channel, Width,
- Height, PixWidth, PixHeight).
-signal(Cm, Channel, Sig) ->
- ssh_connection:signal(Cm, Channel, Sig).
-
-%% ----------------------------------------------------------------------
-%% These functions replacers are not officially supported and
-%% the format of them will proably change when and
-%% if they get supported.
-%% ----------------------------------------------------------------------
-info(Cm) ->
- info(Cm, all).
-
-info(Cm, ChannelPid) ->
- ssh_connection_manager:info(Cm, ChannelPid).
-
-send_window(Cm, Channel, Timeout) ->
- ssh_connection_manager:send_window(Cm, Channel, Timeout).
-
-recv_window(Cm, Channel, Timeout) ->
- ssh_connection_manager:recv_window(Cm, Channel, Timeout).
-
-renegotiate(Cm) ->
- renegotiate(Cm, []).
-renegotiate(Cm, _Opts) ->
- %%TODO: How should this work, backwards compat?
- ssh_connection_manager:renegotiate(Cm).
-
-get_peer_addr(Cm) ->
- ssh_connection_manager:peer_addr(Cm).
-
diff --git a/lib/ssh/src/ssh_connect.hrl b/lib/ssh/src/ssh_connect.hrl
index a5a4e42cd8..57bb141c60 100755
--- a/lib/ssh/src/ssh_connect.hrl
+++ b/lib/ssh/src/ssh_connect.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_connection.erl b/lib/ssh/src/ssh_connection.erl
index 0aaf1c18d2..b9827c90ea 100644
--- a/lib/ssh/src/ssh_connection.erl
+++ b/lib/ssh/src/ssh_connection.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -123,6 +123,8 @@ send(ConnectionManager, ChannelId, Data) ->
send(ConnectionManager, ChannelId, 0, Data, infinity).
send(ConnectionManager, ChannelId, Data, TimeOut) when is_integer(TimeOut) ->
send(ConnectionManager, ChannelId, 0, Data, TimeOut);
+send(ConnectionManager, ChannelId, Data, infinity) ->
+ send(ConnectionManager, ChannelId, 0, Data, infinity);
send(ConnectionManager, ChannelId, Type, Data) ->
send(ConnectionManager, ChannelId, Type, Data, infinity).
send(ConnectionManager, ChannelId, Type, Data, TimeOut) ->
diff --git a/lib/ssh/src/ssh_connection_controler.erl b/lib/ssh/src/ssh_connection_controler.erl
index 7960eb11c6..990541f8d6 100644
--- a/lib/ssh/src/ssh_connection_controler.erl
+++ b/lib/ssh/src/ssh_connection_controler.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%--------------------------------------------------------------------
diff --git a/lib/ssh/src/ssh_connection_manager.erl b/lib/ssh/src/ssh_connection_manager.erl
index 3863005e74..a2effc177e 100644
--- a/lib/ssh/src/ssh_connection_manager.erl
+++ b/lib/ssh/src/ssh_connection_manager.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
@@ -272,18 +272,18 @@ handle_call({ssh_msg, Pid, Msg}, From,
{stop, normal, State#state{connection_state = Connection}}
catch
exit:{noproc, Reason} ->
- Report = io_lib:format("Connection probably terminated:~n~p~n~p~n",
- [ConnectionMsg, Reason]),
+ Report = io_lib:format("Connection probably terminated:~n~p~n~p~n~p~n",
+ [ConnectionMsg, Reason, erlang:get_stacktrace()]),
error_logger:info_report(Report),
{noreply, State};
error:Error ->
- Report = io_lib:format("Connection message returned:~n~p~n~p~n",
- [ConnectionMsg, Error]),
+ Report = io_lib:format("Connection message returned:~n~p~n~p~n~p~n",
+ [ConnectionMsg, Error, erlang:get_stacktrace()]),
error_logger:info_report(Report),
{noreply, State};
exit:Exit ->
- Report = io_lib:format("Connection message returned:~n~p~n~p~n",
- [ConnectionMsg, Exit]),
+ Report = io_lib:format("Connection message returned:~n~p~n~p~n~p~n",
+ [ConnectionMsg, Exit, erlang:get_stacktrace()]),
error_logger:info_report(Report),
{noreply, State}
end;
diff --git a/lib/ssh/src/ssh_dsa.erl b/lib/ssh/src/ssh_dsa.erl
index ec24fbcd01..1b9a396f0c 100755
--- a/lib/ssh/src/ssh_dsa.erl
+++ b/lib/ssh/src/ssh_dsa.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_file.erl b/lib/ssh/src/ssh_file.erl
index 8a3c903e51..5572349fe7 100755
--- a/lib/ssh/src/ssh_file.erl
+++ b/lib/ssh/src/ssh_file.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_io.erl b/lib/ssh/src/ssh_io.erl
index 0e343c20b4..915fd63e4f 100755
--- a/lib/ssh/src/ssh_io.erl
+++ b/lib/ssh/src/ssh_io.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_math.erl b/lib/ssh/src/ssh_math.erl
index efe7f56979..510eb16aa6 100755
--- a/lib/ssh/src/ssh_math.erl
+++ b/lib/ssh/src/ssh_math.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_no_io.erl b/lib/ssh/src/ssh_no_io.erl
index 5f363ae6c2..2c8dd92ee2 100644
--- a/lib/ssh/src/ssh_no_io.erl
+++ b/lib/ssh/src/ssh_no_io.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_rsa.erl b/lib/ssh/src/ssh_rsa.erl
index 7c2bf9a2bf..e27cdcf7bd 100755
--- a/lib/ssh/src/ssh_rsa.erl
+++ b/lib/ssh/src/ssh_rsa.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_sftp.erl b/lib/ssh/src/ssh_sftp.erl
index cbfa208f6f..59e09fdd0f 100755
--- a/lib/ssh/src/ssh_sftp.erl
+++ b/lib/ssh/src/ssh_sftp.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -46,14 +46,6 @@
recv_window/1, list_dir/2, read_file/2, write_file/3,
recv_window/2, list_dir/3, read_file/3, write_file/4]).
-%% Deprecated
--export([connect/1, connect/2, connect/3, stop/1]).
-
--deprecated({connect, 1, next_major_release}).
--deprecated({connect, 2, next_major_release}).
--deprecated({connect, 3, next_major_release}).
--deprecated({stop, 1, next_major_release}).
-
%% ssh_channel callbacks
-export([init/1, handle_call/3, handle_msg/2, handle_ssh_msg/2, terminate/2]).
%% TODO: Should be placed elsewhere ssh_sftpd should not call functions in ssh_sftp!
@@ -1116,33 +1108,3 @@ lseek_pos(_, _, _) ->
{error, einval}.
-%%%%%% Deprecated %%%%
-connect(Cm) when is_pid(Cm) ->
- connect(Cm, []);
-connect(Host) when is_list(Host) ->
- connect(Host, []).
-connect(Cm, Opts) when is_pid(Cm) ->
- Timeout = proplists:get_value(timeout, Opts, infinity),
- case ssh_xfer:attach(Cm, []) of
- {ok, ChannelId, Cm} ->
- ssh_channel:start(Cm, ChannelId, ?MODULE, [Cm, ChannelId,
- Timeout]);
- Error ->
- Error
- end;
-connect(Host, Opts) ->
- connect(Host, 22, Opts).
-connect(Host, Port, Opts) ->
- Timeout = proplists:get_value(timeout, Opts, infinity),
- case ssh_xfer:connect(Host, Port, proplists:delete(timeout, Opts)) of
- {ok, ChannelId, Cm} ->
- ssh_channel:start(Cm, ChannelId, ?MODULE, [Cm,
- ChannelId, Timeout]);
- Error ->
- Error
- end.
-
-
-stop(Pid) ->
- call(Pid, stop, infinity).
-
diff --git a/lib/ssh/src/ssh_sftpd.erl b/lib/ssh/src/ssh_sftpd.erl
index 10b8ede1e4..dc789092dd 100644
--- a/lib/ssh/src/ssh_sftpd.erl
+++ b/lib/ssh/src/ssh_sftpd.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_sftpd_file.erl b/lib/ssh/src/ssh_sftpd_file.erl
index f0b6bb4de5..91ba228e38 100644
--- a/lib/ssh/src/ssh_sftpd_file.erl
+++ b/lib/ssh/src/ssh_sftpd_file.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2006-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2006-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_sftpd_file_api.erl b/lib/ssh/src/ssh_sftpd_file_api.erl
index 8decfb38d9..176aa98194 100644
--- a/lib/ssh/src/ssh_sftpd_file_api.erl
+++ b/lib/ssh/src/ssh_sftpd_file_api.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_shell.erl b/lib/ssh/src/ssh_shell.erl
index f81b949119..6590486a4c 100644
--- a/lib/ssh/src/ssh_shell.erl
+++ b/lib/ssh/src/ssh_shell.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_ssh.erl b/lib/ssh/src/ssh_ssh.erl
deleted file mode 100644
index 6be8bf7a5a..0000000000
--- a/lib/ssh/src/ssh_ssh.erl
+++ /dev/null
@@ -1,65 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-
-%%
-
-%%% Description: THIS MODULE IS DEPRECATD AND SHOULD BE REMOVED IN R14
-
--module(ssh_ssh).
-
--export([connect/1, connect/2, connect/3]).
--deprecated({connect, 1, next_major_release}).
--deprecated({connect, 2, next_major_release}).
--deprecated({connect, 3, next_major_release}).
-
--include("ssh.hrl").
--include("ssh_connect.hrl").
-
--define(default_timeout, 10000).
-
-%%% Backwards compatibility
-connect(A) ->
- connect(A, []).
-
-connect(Host, Opts) when is_list(Host) ->
- connect(Host, 22, Opts);
-connect(CM, Opts) ->
- Timeout = proplists:get_value(connect_timeout, Opts, ?default_timeout),
- session(CM, Timeout).
-
-connect(Host, Port, Opts) ->
- case ssh:connect(Host, Port, Opts) of
- {ok, CM} ->
- session(CM, proplists:get_value(connect_timeout,
- Opts, ?default_timeout));
- Error ->
- Error
- end.
-
-session(CM, Timeout) ->
- case ssh_connection:session_channel(CM, Timeout) of
- {ok, ChannelId} ->
- Args = [{channel_cb, ssh_shell},
- {init_args,[CM, ChannelId]},
- {cm, CM}, {channel_id, ChannelId}],
- {ok, State} = ssh_channel:init([Args]),
- ssh_channel:enter_loop(State);
- Error ->
- Error
- end.
diff --git a/lib/ssh/src/ssh_sshd.erl b/lib/ssh/src/ssh_sshd.erl
deleted file mode 100644
index 4bc0469061..0000000000
--- a/lib/ssh/src/ssh_sshd.erl
+++ /dev/null
@@ -1,48 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
-%% The contents of this file are subject to the Erlang Public License,
-%% Version 1.1, (the "License"); you may not use this file except in
-%% compliance with the License. You should have received a copy of the
-%% Erlang Public License along with this software. If not, it can be
-%% retrieved online at http://www.erlang.org/.
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and limitations
-%% under the License.
-%%
-%% %CopyrightEnd%
-%%
-
-%%
-%% Description: This module uses the erlang shell and
-%% ssh_cli to make an erlang sshd
-
--module(ssh_sshd).
-
-%% API
--export([listen/0, listen/1, listen/2, listen/3, stop/1]).
-
--deprecated({listen, 0, next_major_release}).
--deprecated({listen, 1, next_major_release}).
--deprecated({listen, 2, next_major_release}).
--deprecated({listen, 3, next_major_release}).
--deprecated({stop, 1, next_major_release}).
-
-listen() ->
- listen(22).
-
-listen(Port) ->
- listen(Port, []).
-
-listen(Port, Opts) ->
- listen(any, Port, Opts).
-
-listen(Addr, Port, Opts) ->
- ssh:daemon(Addr, Port, Opts).
-
-stop(Pid) ->
- ssh:stop_daemon(Pid).
diff --git a/lib/ssh/src/ssh_subsystem_sup.erl b/lib/ssh/src/ssh_subsystem_sup.erl
index 17d47a91d5..d71b6bbc56 100644
--- a/lib/ssh/src/ssh_subsystem_sup.erl
+++ b/lib/ssh/src/ssh_subsystem_sup.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
diff --git a/lib/ssh/src/ssh_sup.erl b/lib/ssh/src/ssh_sup.erl
index 4c46b1586b..f307d1f833 100644
--- a/lib/ssh/src/ssh_sup.erl
+++ b/lib/ssh/src/ssh_sup.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_system_sup.erl b/lib/ssh/src/ssh_system_sup.erl
index 477f60f993..40db2e4adf 100644
--- a/lib/ssh/src/ssh_system_sup.erl
+++ b/lib/ssh/src/ssh_system_sup.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_transport.erl b/lib/ssh/src/ssh_transport.erl
index 5617231c60..e79ccdda0c 100644
--- a/lib/ssh/src/ssh_transport.erl
+++ b/lib/ssh/src/ssh_transport.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_transport.hrl b/lib/ssh/src/ssh_transport.hrl
index 18a23f0533..27d3e32355 100644
--- a/lib/ssh/src/ssh_transport.hrl
+++ b/lib/ssh/src/ssh_transport.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_userauth.hrl b/lib/ssh/src/ssh_userauth.hrl
index 39cc032ca5..8eb2d46ed1 100755
--- a/lib/ssh/src/ssh_userauth.hrl
+++ b/lib/ssh/src/ssh_userauth.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_userreg.erl b/lib/ssh/src/ssh_userreg.erl
index 06f4076b51..33c801f490 100644
--- a/lib/ssh/src/ssh_userreg.erl
+++ b/lib/ssh/src/ssh_userreg.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_xfer.erl b/lib/ssh/src/ssh_xfer.erl
index a347a9c095..c9631a73b1 100644
--- a/lib/ssh/src/ssh_xfer.erl
+++ b/lib/ssh/src/ssh_xfer.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/ssh_xfer.hrl b/lib/ssh/src/ssh_xfer.hrl
index f32ec5f774..4a4f1a4291 100755
--- a/lib/ssh/src/ssh_xfer.hrl
+++ b/lib/ssh/src/ssh_xfer.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/sshc_sup.erl b/lib/ssh/src/sshc_sup.erl
index 265d1a1cd6..7c29c669e4 100644
--- a/lib/ssh/src/sshc_sup.erl
+++ b/lib/ssh/src/sshc_sup.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
diff --git a/lib/ssh/src/sshd_sup.erl b/lib/ssh/src/sshd_sup.erl
index 9c9ba5958c..747906b2cf 100644
--- a/lib/ssh/src/sshd_sup.erl
+++ b/lib/ssh/src/sshd_sup.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%
diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk
index bc7bceeb24..38a82ff32d 100644
--- a/lib/ssh/vsn.mk
+++ b/lib/ssh/vsn.mk
@@ -1,9 +1,15 @@
#-*-makefile-*- ; force emacs to enter makefile-mode
-SSH_VSN = 1.1.8
+SSH_VSN = 2.0
APP_VSN = "ssh-$(SSH_VSN)"
-TICKETS = OTP-8356 \
+TICKETS = OTP-8524 \
+ OTP-8534 \
+ OTP-8535 \
+ OTP-8550 \
+ OTP-8596
+
+TICKETS_1.1.8 = OTP-8356 \
OTP-8401
TICKETS_1.1.7 = OTP-8121 \
diff --git a/lib/ssl/doc/src/new_ssl.xml b/lib/ssl/doc/src/new_ssl.xml
index b642280096..ab6e112a35 100644
--- a/lib/ssl/doc/src/new_ssl.xml
+++ b/lib/ssl/doc/src/new_ssl.xml
@@ -84,8 +84,6 @@
<item>New API functions are
ssl:shutdown/2, ssl:cipher_suites/[0,1] and
ssl:versions/0</item>
- <item>Diffie-Hellman keyexchange is
- not supported yet.</item>
<item>CRL and policy certificate
extensions are not supported yet. </item>
<item>Supported SSL/TLS-versions are SSL-3.0 and TLS-1.0 </item>
@@ -118,8 +116,8 @@
{fail_if_no_peer_cert, boolean()}
{depth, integer()} |
{certfile, path()} | {keyfile, path()} | {password, string()} |
- {cacertfile, path()} | {ciphers, ciphers()} | {ssl_imp, ssl_imp()}
- | {reuse_sessions, boolean()} | {reuse_session, fun()}
+ {cacertfile, path()} | {dhfile, path()} | {ciphers, ciphers()} |
+ {ssl_imp, ssl_imp()} | {reuse_sessions, boolean()} | {reuse_session, fun()}
</c></p>
<p><c>transportoption() = {CallbackModule, DataTag, ClosedTag}
@@ -262,6 +260,12 @@ end
CA certificates (trusted certificates used for verifying a peer
certificate). May be omitted if you do not want to verify
the peer.</item>
+
+ <tag>{dhfile, path()}</tag>
+ <item>Path to file containing PEM encoded Diffie Hellman parameters,
+ for the server to use if a cipher suite using Diffie Hellman key exchange
+ is negotiated. If not specified hardcode parameters will be used.
+ </item>
<tag>{ciphers, ciphers()}</tag>
<item>The function <c>ciphers_suites/0</c> can
@@ -491,6 +495,19 @@ end
</func>
<func>
+ <name>renegotiate(Socket) -> ok | {error, Reason}</name>
+ <fsummary> Initiates a new handshake.</fsummary>
+ <type>
+ <v>Socket = sslsocket()</v>
+ </type>
+ <desc><p>Initiates a new handshake. A notable return value is
+ <c>{error, renegotiation_rejected}</c> indicating that the peer
+ refused to go through with the renegotiation but the connection
+ is still active using the previously negotiated session.</p>
+ </desc>
+ </func>
+
+ <func>
<name>send(Socket, Data) -> ok | {error, Reason}</name>
<fsummary>Write data to a socket.</fsummary>
<type>
@@ -564,6 +581,10 @@ end
<p> Upgrades a gen_tcp, or
equivalent, socket to a ssl socket e.i performs the
ssl server-side handshake.</p>
+ <p><note>Note that the listen socket should be in {active, false} mode
+ before telling the client that the server is ready to upgrade
+ and calling this function, otherwise the upgrade may
+ or may not succeed depending on timing.</note></p>
</desc>
</func>
diff --git a/lib/ssl/doc/src/notes.xml b/lib/ssl/doc/src/notes.xml
index 4265445d23..9d13427677 100644
--- a/lib/ssl/doc/src/notes.xml
+++ b/lib/ssl/doc/src/notes.xml
@@ -30,6 +30,82 @@
</header>
<p>This document describes the changes made to the SSL application.
</p>
+<section><title>SSL 3.11</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fixes handling of the option fail_if_no_peer_cert and
+ some undocumented options. Thanks to Rory Byrne.</p>
+ <p>
+ Own Id: OTP-8557</p>
+ </item>
+ </list>
+ </section>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Support for Diffie-Hellman. ssl-3.11 requires
+ public_key-0.6.</p>
+ <p>
+ Own Id: OTP-7046</p>
+ </item>
+ <item>
+ <p>
+ New ssl now properly handles ssl renegotiation, and
+ initiates a renegotiation if ssl/ltls-sequence numbers
+ comes close to the max value. However RFC-5746 is not yet
+ supported, but will be in an upcoming release.</p>
+ <p>
+ Own Id: OTP-8517</p>
+ </item>
+ <item>
+ <p>
+ When gen_tcp is configured with the {packet,http} option,
+ it automatically switches to expect HTTP Headers after a
+ HTTP Request/Response line has been received. This update
+ fixes ssl to behave in the same way. Thanks to Rory
+ Byrne.</p>
+ <p>
+ Own Id: OTP-8545</p>
+ </item>
+ <item>
+ <p>
+ Ssl now correctly verifies the extended_key_usage
+ extension and also allows the user to verify application
+ specific extensions by supplying an appropriate fun.</p>
+ <p>
+ Own Id: OTP-8554 Aux Id: OTP-8553 </p>
+ </item>
+ <item>
+ <p>
+ Fixed ssl:transport_accept/2 to return properly when
+ socket is closed. Thanks to Rory Byrne.</p>
+ <p>
+ Own Id: OTP-8560</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>SSL 3.10.9</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fixed a crash in the certificate certification part.</p>
+ <p>
+ Own Id: OTP-8510 Aux Id: seq11525 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
<section><title>SSL 3.10.8</title>
diff --git a/lib/ssl/src/ssl.appup.src b/lib/ssl/src/ssl.appup.src
index 3aea2428c9..e8ae6846aa 100644
--- a/lib/ssl/src/ssl.appup.src
+++ b/lib/ssl/src/ssl.appup.src
@@ -8,7 +8,9 @@
{"3.10.4", [{restart_application, ssl}]},
{"3.10.5", [{restart_application, ssl}]},
{"3.10.6", [{restart_application, ssl}]},
- {"3.10.7", [{restart_application, ssl}]}
+ {"3.10.7", [{restart_application, ssl}]},
+ {"3.10.8", [{restart_application, ssl}]},
+ {"3.10.9", [{restart_application, ssl}]}
],
[
{"3.10", [{restart_application, ssl}]},
@@ -18,6 +20,7 @@
{"3.10.4", [{restart_application, ssl}]},
{"3.10.5", [{restart_application, ssl}]},
{"3.10.6", [{restart_application, ssl}]},
- {"3.10.7", [{restart_application, ssl}]}
+ {"3.10.8", [{restart_application, ssl}]},
+ {"3.10.9", [{restart_application, ssl}]}
]}.
diff --git a/lib/ssl/src/ssl.erl b/lib/ssl/src/ssl.erl
index de74c91505..95cd92ee60 100644
--- a/lib/ssl/src/ssl.erl
+++ b/lib/ssl/src/ssl.erl
@@ -29,13 +29,15 @@
connect/3, connect/2, connect/4, connection_info/1,
controlling_process/2, listen/2, pid/1, peername/1, recv/2, recv/3,
send/2, getopts/2, setopts/2, seed/1, sockname/1, peercert/1,
- peercert/2, version/0, versions/0, session_info/1, format_error/1]).
+ peercert/2, version/0, versions/0, session_info/1, format_error/1,
+ renegotiate/1]).
%% Should be deprecated as soon as old ssl is removed
%%-deprecated({pid, 1, next_major_release}).
-include("ssl_int.hrl").
-include("ssl_internal.hrl").
+-include("ssl_record.hrl").
-record(config, {ssl, %% SSL parameters
inet_user, %% User set inet options
@@ -145,24 +147,28 @@ transport_accept(ListenSocket) ->
transport_accept(ListenSocket, infinity).
transport_accept(#sslsocket{pid = {ListenSocket, #config{cb=CbInfo, ssl=SslOpts}},
- fd = new_ssl} = SslSocket, Timeout) ->
+ fd = new_ssl}, Timeout) ->
%% The setopt could have been invoked on the listen socket
%% and options should be inherited.
EmOptions = emulated_options(),
{ok, InetValues} = inet:getopts(ListenSocket, EmOptions),
- {CbModule,_,_} = CbInfo,
- {ok, Socket} = CbModule:accept(ListenSocket, Timeout),
- inet:setopts(Socket, internal_inet_values()),
- {ok, Port} = inet:port(Socket),
- case ssl_connection_sup:start_child([server, "localhost", Port, Socket,
- {SslOpts, socket_options(InetValues)}, self(),
- CbInfo]) of
- {ok, Pid} ->
- CbModule:controlling_process(Socket, Pid),
- {ok, SslSocket#sslsocket{pid = Pid}};
- {error, Reason} ->
- {error, Reason}
+ ok = inet:setopts(ListenSocket, internal_inet_values()),
+ {CbModule,_,_, _} = CbInfo,
+ case CbModule:accept(ListenSocket, Timeout) of
+ {ok, Socket} ->
+ ok = inet:setopts(ListenSocket, InetValues),
+ {ok, Port} = inet:port(Socket),
+ ConnArgs = [server, "localhost", Port, Socket,
+ {SslOpts, socket_options(InetValues)}, self(), CbInfo],
+ case ssl_connection_sup:start_child(ConnArgs) of
+ {ok, Pid} ->
+ ssl_connection:socket_control(Socket, Pid, CbModule);
+ {error, Reason} ->
+ {error, Reason}
+ end;
+ {error, Reason} ->
+ {error, Reason}
end;
transport_accept(#sslsocket{} = ListenSocket, Timeout) ->
@@ -180,22 +186,9 @@ transport_accept(#sslsocket{} = ListenSocket, Timeout) ->
ssl_accept(ListenSocket) ->
ssl_accept(ListenSocket, infinity).
-ssl_accept(#sslsocket{pid = Pid, fd = new_ssl}, Timeout) ->
- gen_fsm:send_event(Pid, socket_control),
- try gen_fsm:sync_send_all_state_event(Pid, started, Timeout) of
- connected ->
- ok;
- {error, _} = Error ->
- Error
- catch
- exit:{noproc, _} ->
- {error, closed};
- exit:{timeout, _} ->
- {error, timeout};
- exit:{normal, _} ->
- {error, closed}
- end;
-
+ssl_accept(#sslsocket{fd = new_ssl} = Socket, Timeout) ->
+ ssl_connection:handshake(Socket, Timeout);
+
ssl_accept(ListenSocket, SslOptions) when is_port(ListenSocket) ->
ssl_accept(ListenSocket, SslOptions, infinity);
@@ -211,7 +204,7 @@ ssl_accept(Socket, SslOptions, Timeout) when is_port(Socket) ->
try handle_options(SslOptions ++ InetValues, server) of
{ok, #config{cb=CbInfo,ssl=SslOpts, emulated=EmOpts}} ->
{ok, Port} = inet:port(Socket),
- ssl_connection:accept(Port, Socket,
+ ssl_connection:ssl_accept(Port, Socket,
{SslOpts, EmOpts},
self(), CbInfo, Timeout)
catch
@@ -223,7 +216,7 @@ ssl_accept(Socket, SslOptions, Timeout) when is_port(Socket) ->
%%
%% Description: Close a ssl connection
%%--------------------------------------------------------------------
-close(#sslsocket{pid = {ListenSocket, #config{cb={CbMod,_, _}}}, fd = new_ssl}) ->
+close(#sslsocket{pid = {ListenSocket, #config{cb={CbMod,_, _, _}}}, fd = new_ssl}) ->
CbMod:close(ListenSocket);
close(#sslsocket{pid = Pid, fd = new_ssl}) ->
ssl_connection:close(Pid);
@@ -232,7 +225,7 @@ close(Socket = #sslsocket{}) ->
ssl_broker:close(Socket).
%%--------------------------------------------------------------------
-%% Function: send(Socket, Data) -> ok
+%% Function: send(Socket, Data) -> ok | {error, Reason}
%%
%% Description: Sends data over the ssl connection
%%--------------------------------------------------------------------
@@ -382,7 +375,7 @@ setopts(#sslsocket{} = Socket, Options) ->
%%
%% Description: Same as gen_tcp:shutdown/2
%%--------------------------------------------------------------------
-shutdown(#sslsocket{pid = {ListenSocket, #config{cb={CbMod,_, _}}}, fd = new_ssl}, How) ->
+shutdown(#sslsocket{pid = {ListenSocket, #config{cb={CbMod,_, _, _}}}, fd = new_ssl}, How) ->
CbMod:shutdown(ListenSocket, How);
shutdown(#sslsocket{pid = Pid, fd = new_ssl}, How) ->
ssl_connection:shutdown(Pid, How).
@@ -436,6 +429,10 @@ versions() ->
AvailableVsns = ?DEFAULT_SUPPORTED_VERSIONS,
[{ssl_app, ?VSN}, {supported, SupportedVsns}, {available, AvailableVsns}].
+
+renegotiate(#sslsocket{pid = Pid, fd = new_ssl}) ->
+ ssl_connection:renegotiation(Pid).
+
%%%--------------------------------------------------------------
%%% Internal functions
%%%--------------------------------------------------------------------
@@ -452,7 +449,7 @@ do_new_connect(Address, Port,
#config{cb=CbInfo, inet_user=UserOpts, ssl=SslOpts,
emulated=EmOpts,inet_ssl=SocketOpts},
Timeout) ->
- {CbModule, _, _} = CbInfo,
+ {CbModule, _, _, _} = CbInfo,
try CbModule:connect(Address, Port, SocketOpts, Timeout) of
{ok, Socket} ->
ssl_connection:connect(Address, Port, Socket, {SslOpts,EmOpts},
@@ -474,7 +471,7 @@ old_connect(Address, Port, Options, Timeout) ->
new_listen(Port, Options0) ->
try
{ok, Config} = handle_options(Options0, server),
- #config{cb={CbModule, _, _},inet_user=Options} = Config,
+ #config{cb={CbModule, _, _, _},inet_user=Options} = Config,
case CbModule:listen(Port, Options) of
{ok, ListenSocket} ->
{ok, #sslsocket{pid = {ListenSocket, Config}, fd = new_ssl}};
@@ -509,6 +506,9 @@ handle_options(Opts0, Role) ->
end
end,
+ UserFailIfNoPeerCert = validate_option(fail_if_no_peer_cert,
+ proplists:get_value(fail_if_no_peer_cert, Opts, false)),
+
{Verify, FailIfNoPeerCert, CaCertDefault} =
%% Handle 0, 1, 2 for backwards compatibility
case proplists:get_value(verify, Opts, verify_none) of
@@ -521,9 +521,7 @@ handle_options(Opts0, Role) ->
verify_none ->
{verify_none, false, ca_cert_default(verify_none, Role)};
verify_peer ->
- {verify_peer, proplists:get_value(fail_if_no_peer_cert,
- Opts, false),
- ca_cert_default(verify_peer, Role)};
+ {verify_peer, UserFailIfNoPeerCert, ca_cert_default(verify_peer, Role)};
Value ->
throw({error, {eoptions, {verify, Value}}})
end,
@@ -534,28 +532,32 @@ handle_options(Opts0, Role) ->
versions = handle_option(versions, Opts, []),
verify = validate_option(verify, Verify),
verify_fun = handle_option(verify_fun, Opts, VerifyFun),
- fail_if_no_peer_cert = validate_option(fail_if_no_peer_cert,
- FailIfNoPeerCert),
+ fail_if_no_peer_cert = FailIfNoPeerCert,
verify_client_once = handle_option(verify_client_once, Opts, false),
+ validate_extensions_fun = handle_option(validate_extensions_fun, Opts, undefined),
depth = handle_option(depth, Opts, 1),
certfile = CertFile,
keyfile = handle_option(keyfile, Opts, CertFile),
key = handle_option(key, Opts, undefined),
password = handle_option(password, Opts, ""),
cacertfile = handle_option(cacertfile, Opts, CaCertDefault),
+ dhfile = handle_option(dhfile, Opts, undefined),
ciphers = handle_option(ciphers, Opts, []),
%% Server side option
reuse_session = handle_option(reuse_session, Opts, ReuseSessionFun),
reuse_sessions = handle_option(reuse_sessions, Opts, true),
+ secure_renegotiate = handle_option(secure_renegotiate, Opts, false),
+ renegotiate_at = handle_option(renegotiate_at, Opts, ?DEFAULT_RENEGOTIATE_AT),
debug = handle_option(debug, Opts, [])
},
- CbInfo = proplists:get_value(cb_info, Opts, {gen_tcp, tcp, tcp_closed}),
- SslOptions = [versions, verify, verify_fun,
+ CbInfo = proplists:get_value(cb_info, Opts, {gen_tcp, tcp, tcp_closed, tcp_error}),
+ SslOptions = [versions, verify, verify_fun, validate_extensions_fun,
+ fail_if_no_peer_cert, verify_client_once,
depth, certfile, keyfile,
- key, password, cacertfile, ciphers,
+ key, password, cacertfile, dhfile, ciphers,
debug, reuse_session, reuse_sessions, ssl_imp,
- cd_info],
+ cb_info, renegotiate_at, secure_renegotiate],
SockOpts = lists:foldl(fun(Key, PropList) ->
proplists:delete(Key, PropList)
@@ -585,6 +587,9 @@ validate_option(fail_if_no_peer_cert, Value)
validate_option(verify_client_once, Value)
when Value == true; Value == false ->
Value;
+
+validate_option(validate_extensions_fun, Value) when Value == undefined; is_function(Value) ->
+ Value;
validate_option(depth, Value) when is_integer(Value),
Value >= 0, Value =< 255->
Value;
@@ -605,11 +610,17 @@ validate_option(cacertfile, undefined) ->
"";
validate_option(cacertfile, Value) when is_list(Value), Value =/= "" ->
Value;
+validate_option(dhfile, undefined = Value) ->
+ Value;
+validate_option(dhfile, Value) when is_list(Value), Value =/= "" ->
+ Value;
validate_option(ciphers, Value) when is_list(Value) ->
Version = ssl_record:highest_protocol_version([]),
try cipher_suites(Version, Value)
catch
exit:_ ->
+ throw({error, {eoptions, {ciphers, Value}}});
+ error:_->
throw({error, {eoptions, {ciphers, Value}}})
end;
validate_option(reuse_session, Value) when is_function(Value) ->
@@ -617,6 +628,13 @@ validate_option(reuse_session, Value) when is_function(Value) ->
validate_option(reuse_sessions, Value) when Value == true;
Value == false ->
Value;
+
+validate_option(secure_renegotiate, Value) when Value == true;
+ Value == false ->
+ Value;
+validate_option(renegotiate_at, Value) when is_integer(Value) ->
+ min(Value, ?DEFAULT_RENEGOTIATE_AT);
+
validate_option(debug, Value) when is_list(Value); Value == true ->
Value;
validate_option(Opt, Value) ->
@@ -628,7 +646,7 @@ validate_versions([Version | Rest], Versions) when Version == 'tlsv1.1';
Version == tlsv1;
Version == sslv3 ->
validate_versions(Rest, Versions);
-validate_versions(Ver, Versions) ->
+validate_versions([Ver| _], Versions) ->
throw({error, {eoptions, {Ver, {versions, Versions}}}}).
validate_inet_option(mode, Value)
@@ -722,24 +740,34 @@ cipher_suites(Version, Ciphers0) ->
format_error({error, Reason}) ->
format_error(Reason);
+format_error(Reason) when is_list(Reason) ->
+ Reason;
format_error(closed) ->
- "Connection closed for the operation in question.";
+ "The connection is closed";
+format_error(ecacertfile) ->
+ "Own CA certificate file is invalid.";
+format_error(ecertfile) ->
+ "Own certificate file is invalid.";
+format_error(ekeyfile) ->
+ "Own private key file is invalid.";
+format_error(esslaccept) ->
+ "Server SSL handshake procedure between client and server failed.";
+format_error(esslconnect) ->
+ "Client SSL handshake procedure between client and server failed.";
+format_error({eoptions, Options}) ->
+ lists:flatten(io_lib:format("Error in options list: ~p~n", [Options]));
+
+%%%%%%%%%%%% START OLD SSL format_error %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
format_error(ebadsocket) ->
"Connection not found (internal error).";
format_error(ebadstate) ->
"Connection not in connect state (internal error).";
format_error(ebrokertype) ->
"Wrong broker type (internal error).";
-format_error(ecacertfile) ->
- "Own CA certificate file is invalid.";
-format_error(ecertfile) ->
- "Own certificate file is invalid.";
format_error(echaintoolong) ->
"The chain of certificates provided by peer is too long.";
format_error(ecipher) ->
"Own list of specified ciphers is invalid.";
-format_error(ekeyfile) ->
- "Own private key file is invalid.";
format_error(ekeymismatch) ->
"Own private key does not match own certificate.";
format_error(enoissuercert) ->
@@ -765,10 +793,6 @@ format_error(epeercertinvalid) ->
"Certificate provided by peer is invalid.";
format_error(eselfsignedcert) ->
"Certificate provided by peer is self signed.";
-format_error(esslaccept) ->
- "Server SSL handshake procedure between client and server failed.";
-format_error(esslconnect) ->
- "Client SSL handshake procedure between client and server failed.";
format_error(esslerrssl) ->
"SSL protocol failure. Typically because of a fatal alert from peer.";
format_error(ewantconnect) ->
@@ -787,6 +811,9 @@ format_error({badcast, _Cast}) ->
format_error({badinfo, _Info}) ->
"Call not recognized for current mode (active or passive) and state "
"of socket.";
+
+%%%%%%%%%%%%%%%%%% END OLD SSL format_error %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
format_error(Error) ->
case (catch inet:format_error(Error)) of
"unkknown POSIX" ++ _ ->
@@ -798,7 +825,7 @@ format_error(Error) ->
end.
no_format(Error) ->
- io_lib:format("No format string for error: \"~p\" available.", [Error]).
+ lists:flatten(io_lib:format("No format string for error: \"~p\" available.", [Error])).
%% Start old ssl port program if needed.
ensure_old_ssl_started() ->
@@ -832,6 +859,11 @@ version() ->
Vsns
end,
{ok, {SSLVsn, CompVsn, LibVsn}}.
+
+min(N,M) when N < M ->
+ N;
+min(_, M) ->
+ M.
%% Only used to remove exit messages from old ssl
%% First is a nonsense clause to provide some
diff --git a/lib/ssl/src/ssl_alert.erl b/lib/ssl/src/ssl_alert.erl
index d3f9c833f1..db9a883654 100644
--- a/lib/ssl/src/ssl_alert.erl
+++ b/lib/ssl/src/ssl_alert.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -38,10 +38,6 @@ reason_code(#alert{description = ?HANDSHAKE_FAILURE}, client) ->
esslconnect;
reason_code(#alert{description = ?HANDSHAKE_FAILURE}, server) ->
esslaccept;
-reason_code(#alert{description = ?CERTIFICATE_EXPIRED}, _) ->
- epeercertexpired;
-reason_code(#alert{level = ?FATAL}, _) ->
- esslerrssl;
reason_code(#alert{description = Description}, _) ->
description_txt(Description).
@@ -55,51 +51,51 @@ level_txt(?FATAL) ->
"Fatal error:".
description_txt(?CLOSE_NOTIFY) ->
- "close_notify";
+ "close notify";
description_txt(?UNEXPECTED_MESSAGE) ->
- "unexpected_message";
+ "unexpected message";
description_txt(?BAD_RECORD_MAC) ->
- "bad_record_mac";
+ "bad record mac";
description_txt(?DECRYPTION_FAILED) ->
- "decryption_failed";
+ "decryption failed";
description_txt(?RECORD_OVERFLOW) ->
- "record_overflow";
+ "record overflow";
description_txt(?DECOMPRESSION_FAILURE) ->
- "decompression_failure";
+ "decompression failure";
description_txt(?HANDSHAKE_FAILURE) ->
- "handshake_failure";
+ "handshake failure";
description_txt(?BAD_CERTIFICATE) ->
- "bad_certificate";
+ "bad certificate";
description_txt(?UNSUPPORTED_CERTIFICATE) ->
- "unsupported_certificate";
+ "unsupported certificate";
description_txt(?CERTIFICATE_REVOKED) ->
- "certificate_revoked";
+ "certificate revoked";
description_txt(?CERTIFICATE_EXPIRED) ->
- "certificate_expired";
+ "certificate expired";
description_txt(?CERTIFICATE_UNKNOWN) ->
- "certificate_unknown";
+ "certificate unknown";
description_txt(?ILLEGAL_PARAMETER) ->
- "illegal_parameter";
+ "illegal parameter";
description_txt(?UNKNOWN_CA) ->
- "unknown_ca";
+ "unknown ca";
description_txt(?ACCESS_DENIED) ->
- "access_denied";
+ "access denied";
description_txt(?DECODE_ERROR) ->
- "decode_error";
+ "decode error";
description_txt(?DECRYPT_ERROR) ->
- "decrypt_error";
+ "decrypt error";
description_txt(?EXPORT_RESTRICTION) ->
- "export_restriction";
+ "export restriction";
description_txt(?PROTOCOL_VERSION) ->
- "protocol_version";
+ "protocol version";
description_txt(?INSUFFICIENT_SECURITY) ->
- "insufficient_security";
+ "insufficient security";
description_txt(?INTERNAL_ERROR) ->
- "internal_error";
+ "internal error";
description_txt(?USER_CANCELED) ->
- "user_canceled";
+ "user canceled";
description_txt(?NO_RENEGOTIATION) ->
- "no_renegotiation".
+ "no renegotiation".
diff --git a/lib/ssl/src/ssl_certificate.erl b/lib/ssl/src/ssl_certificate.erl
index d97b61a5ce..37d5646673 100644
--- a/lib/ssl/src/ssl_certificate.erl
+++ b/lib/ssl/src/ssl_certificate.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -29,10 +29,12 @@
-include("ssl_alert.hrl").
-include("ssl_internal.hrl").
-include("ssl_debug.hrl").
+-include_lib("public_key/include/public_key.hrl").
-export([trusted_cert_and_path/3,
certificate_chain/2,
- file_to_certificats/1]).
+ file_to_certificats/1,
+ validate_extensions/6]).
%%====================================================================
%% Internal application API
@@ -65,7 +67,7 @@ trusted_cert_and_path(CertChain, CertDbRef, Verify) ->
%% The root CA was not sent and can not be found, we fail if verify = true
not_valid(?ALERT_REC(?FATAL, ?UNKNOWN_CA), Verify, {Cert, RestPath});
{{SerialNr, Issuer}, Path} ->
- case ssl_certificate_db:lookup_trusted_cert(CertDbRef,
+ case ssl_manager:lookup_trusted_cert(CertDbRef,
SerialNr, Issuer) of
{ok, {BinCert,_}} ->
{BinCert, Path, []};
@@ -83,10 +85,34 @@ certificate_chain(OwnCert, CertsDbRef) ->
{ok, ErlCert} = public_key:pkix_decode_cert(OwnCert, otp),
certificate_chain(ErlCert, OwnCert, CertsDbRef, [OwnCert]).
-file_to_certificats(File) ->
+file_to_certificats(File) ->
{ok, List} = ssl_manager:cache_pem_file(File),
[Bin || {cert, Bin, not_encrypted} <- List].
+
+%% Validates ssl/tls specific extensions
+validate_extensions([], ValidationState, UnknownExtensions, _, AccErr, _) ->
+ {UnknownExtensions, ValidationState, AccErr};
+
+validate_extensions([#'Extension'{extnID = ?'id-ce-extKeyUsage',
+ extnValue = KeyUse,
+ critical = true} | Rest],
+ ValidationState, UnknownExtensions, Verify, AccErr0, Role) ->
+ case is_valid_extkey_usage(KeyUse, Role) of
+ true ->
+ validate_extensions(Rest, ValidationState, UnknownExtensions,
+ Verify, AccErr0, Role);
+ false ->
+ AccErr =
+ not_valid_extension({bad_cert, invalid_ext_key_usage}, Verify, AccErr0),
+ validate_extensions(Rest, ValidationState, UnknownExtensions, Verify, AccErr, Role)
+ end;
+
+validate_extensions([Extension | Rest], ValidationState, UnknownExtensions,
+ Verify, AccErr, Role) ->
+ validate_extensions(Rest, ValidationState, [Extension | UnknownExtensions],
+ Verify, AccErr, Role).
+
%%--------------------------------------------------------------------
%%% Internal functions
%%--------------------------------------------------------------------
@@ -122,7 +148,7 @@ certificate_chain(_CertsDbRef, Chain, _SerialNr, _Issuer, true) ->
{ok, lists:reverse(Chain)};
certificate_chain(CertsDbRef, Chain, SerialNr, Issuer, _SelfSigned) ->
- case ssl_certificate_db:lookup_trusted_cert(CertsDbRef,
+ case ssl_manager:lookup_trusted_cert(CertsDbRef,
SerialNr, Issuer) of
{ok, {IssuerCert, ErlCert}} ->
{ok, ErlCert} = public_key:pkix_decode_cert(IssuerCert, otp),
@@ -138,7 +164,7 @@ certificate_chain(CertsDbRef, Chain, SerialNr, Issuer, _SelfSigned) ->
end.
find_issuer(OtpCert, PrevCandidateKey) ->
- case ssl_certificate_db:issuer_candidate(PrevCandidateKey) of
+ case ssl_manager:issuer_candidate(PrevCandidateKey) of
no_more_candidates ->
{error, issuer_not_found};
{Key, {_Cert, ErlCertCandidate}} ->
@@ -154,3 +180,18 @@ not_valid(Alert, true, _) ->
throw(Alert);
not_valid(_, false, {ErlCert, Path}) ->
{ErlCert, Path, [{bad_cert, unknown_ca}]}.
+
+is_valid_extkey_usage(KeyUse, client) ->
+ %% Client wants to verify server
+ is_valid_key_usage(KeyUse,?'id-kp-serverAuth');
+is_valid_extkey_usage(KeyUse, server) ->
+ %% Server wants to verify client
+ is_valid_key_usage(KeyUse, ?'id-kp-clientAuth').
+
+is_valid_key_usage(KeyUse, Use) ->
+ lists:member(Use, KeyUse).
+
+not_valid_extension(Error, true, _) ->
+ throw(Error);
+not_valid_extension(Error, false, AccErrors) ->
+ [Error | AccErrors].
diff --git a/lib/ssl/src/ssl_certificate_db.erl b/lib/ssl/src/ssl_certificate_db.erl
index adae92530a..b8c3c6f6b7 100644
--- a/lib/ssl/src/ssl_certificate_db.erl
+++ b/lib/ssl/src/ssl_certificate_db.erl
@@ -159,6 +159,8 @@ issuer_candidate(no_candidate) ->
case ets:first(Db) of
'$end_of_table' ->
no_more_candidates;
+ {file, _} = Key ->
+ issuer_candidate(Key);
Key ->
[Cert] = lookup(Key, Db),
{Key, Cert}
diff --git a/lib/ssl/src/ssl_cipher.erl b/lib/ssl/src/ssl_cipher.erl
index 3d3d11b7f3..ef4b450d68 100644
--- a/lib/ssl/src/ssl_cipher.erl
+++ b/lib/ssl/src/ssl_cipher.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -91,10 +91,10 @@ cipher(?DES, CipherState, Mac, Fragment) ->
block_cipher(fun(Key, IV, T) ->
crypto:des_cbc_encrypt(Key, IV, T)
end, block_size(des_cbc), CipherState, Mac, Fragment);
-cipher(?DES40, CipherState, Mac, Fragment) ->
- block_cipher(fun(Key, IV, T) ->
- crypto:des_cbc_encrypt(Key, IV, T)
- end, block_size(des_cbc), CipherState, Mac, Fragment);
+%% cipher(?DES40, CipherState, Mac, Fragment) ->
+%% block_cipher(fun(Key, IV, T) ->
+%% crypto:des_cbc_encrypt(Key, IV, T)
+%% end, block_size(des_cbc), CipherState, Mac, Fragment);
cipher(?'3DES', CipherState, Mac, Fragment) ->
block_cipher(fun(<<K1:8/binary, K2:8/binary, K3:8/binary>>, IV, T) ->
crypto:des3_cbc_encrypt(K1, K2, K3, IV, T)
@@ -104,15 +104,15 @@ cipher(?AES, CipherState, Mac, Fragment) ->
crypto:aes_cbc_128_encrypt(Key, IV, T);
(Key, IV, T) when byte_size(Key) =:= 32 ->
crypto:aes_cbc_256_encrypt(Key, IV, T)
- end, block_size(aes_128_cbc), CipherState, Mac, Fragment);
+ end, block_size(aes_128_cbc), CipherState, Mac, Fragment).
%% cipher(?IDEA, CipherState, Mac, Fragment) ->
%% block_cipher(fun(Key, IV, T) ->
%% crypto:idea_cbc_encrypt(Key, IV, T)
%% end, block_size(idea_cbc), CipherState, Mac, Fragment);
-cipher(?RC2, CipherState, Mac, Fragment) ->
- block_cipher(fun(Key, IV, T) ->
- crypto:rc2_40_cbc_encrypt(Key, IV, T)
- end, block_size(rc2_cbc_40), CipherState, Mac, Fragment).
+%% cipher(?RC2, CipherState, Mac, Fragment) ->
+%% block_cipher(fun(Key, IV, T) ->
+%% crypto:rc2_40_cbc_encrypt(Key, IV, T)
+%% end, block_size(rc2_cbc_40), CipherState, Mac, Fragment).
block_cipher(Fun, BlockSz, #cipher_state{key=Key, iv=IV} = CS0,
Mac, Fragment) ->
@@ -157,10 +157,10 @@ decipher(?DES, HashSz, CipherState, Fragment) ->
block_decipher(fun(Key, IV, T) ->
crypto:des_cbc_decrypt(Key, IV, T)
end, CipherState, HashSz, Fragment);
-decipher(?DES40, HashSz, CipherState, Fragment) ->
- block_decipher(fun(Key, IV, T) ->
- crypto:des_cbc_decrypt(Key, IV, T)
- end, CipherState, HashSz, Fragment);
+%% decipher(?DES40, HashSz, CipherState, Fragment) ->
+%% block_decipher(fun(Key, IV, T) ->
+%% crypto:des_cbc_decrypt(Key, IV, T)
+%% end, CipherState, HashSz, Fragment);
decipher(?'3DES', HashSz, CipherState, Fragment) ->
block_decipher(fun(<<K1:8/binary, K2:8/binary, K3:8/binary>>, IV, T) ->
crypto:des3_cbc_decrypt(K1, K2, K3, IV, T)
@@ -170,15 +170,15 @@ decipher(?AES, HashSz, CipherState, Fragment) ->
crypto:aes_cbc_128_decrypt(Key, IV, T);
(Key, IV, T) when byte_size(Key) =:= 32 ->
crypto:aes_cbc_256_decrypt(Key, IV, T)
- end, CipherState, HashSz, Fragment);
+ end, CipherState, HashSz, Fragment).
%% decipher(?IDEA, HashSz, CipherState, Fragment) ->
%% block_decipher(fun(Key, IV, T) ->
%% crypto:idea_cbc_decrypt(Key, IV, T)
%% end, CipherState, HashSz, Fragment);
-decipher(?RC2, HashSz, CipherState, Fragment) ->
- block_decipher(fun(Key, IV, T) ->
- crypto:rc2_40_cbc_decrypt(Key, IV, T)
- end, CipherState, HashSz, Fragment).
+%% decipher(?RC2, HashSz, CipherState, Fragment) ->
+%% block_decipher(fun(Key, IV, T) ->
+%% crypto:rc2_40_cbc_decrypt(Key, IV, T)
+%% end, CipherState, HashSz, Fragment).
block_decipher(Fun, #cipher_state{key=Key, iv=IV} = CipherState0,
HashSz, Fragment) ->
@@ -223,34 +223,34 @@ suites({3, N}) when N == 1; N == 2 ->
%%
%% Description: Returns a security parameters record where the
%% cipher values has been updated according to <CipherSuite>
-%% Note: since idea is unsupported on the openssl version used by
-%% crypto (as of OTP R12B), we've commented away the idea stuff
+%% Note: Currently not supported suites are commented away.
+%% They should be supported or removed in the future.
%%-------------------------------------------------------------------
%% TLS v1.1 suites
suite_definition(?TLS_NULL_WITH_NULL_NULL) ->
{null, null, null, ignore};
-suite_definition(?TLS_RSA_WITH_NULL_MD5) ->
- {rsa, null, md5, ignore};
-suite_definition(?TLS_RSA_WITH_NULL_SHA) ->
- {rsa, null, sha, ignore};
-suite_definition(?TLS_RSA_WITH_RC4_128_MD5) -> % ok
+%% suite_definition(?TLS_RSA_WITH_NULL_MD5) ->
+%% {rsa, null, md5, ignore};
+%% suite_definition(?TLS_RSA_WITH_NULL_SHA) ->
+%% {rsa, null, sha, ignore};
+suite_definition(?TLS_RSA_WITH_RC4_128_MD5) ->
{rsa, rc4_128, md5, no_export};
-suite_definition(?TLS_RSA_WITH_RC4_128_SHA) -> % ok
+suite_definition(?TLS_RSA_WITH_RC4_128_SHA) ->
{rsa, rc4_128, sha, no_export};
-%% suite_definition(?TLS_RSA_WITH_IDEA_CBC_SHA) -> % unsupported
+%% suite_definition(?TLS_RSA_WITH_IDEA_CBC_SHA) ->
%% {rsa, idea_cbc, sha, no_export};
-suite_definition(?TLS_RSA_WITH_DES_CBC_SHA) -> % ok
+suite_definition(?TLS_RSA_WITH_DES_CBC_SHA) ->
{rsa, des_cbc, sha, no_export};
suite_definition(?TLS_RSA_WITH_3DES_EDE_CBC_SHA) ->
{rsa, '3des_ede_cbc', sha, no_export};
-suite_definition(?TLS_DH_DSS_WITH_DES_CBC_SHA) ->
- {dh_dss, des_cbc, sha, no_export};
-suite_definition(?TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA) ->
- {dh_dss, '3des_ede_cbc', sha, no_export};
-suite_definition(?TLS_DH_RSA_WITH_DES_CBC_SHA) ->
- {dh_rsa, des_cbc, sha, no_export};
-suite_definition(?TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA) ->
- {dh_rsa, '3des_ede_cbc', sha, no_export};
+%% suite_definition(?TLS_DH_DSS_WITH_DES_CBC_SHA) ->
+%% {dh_dss, des_cbc, sha, no_export};
+%% suite_definition(?TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA) ->
+%% {dh_dss, '3des_ede_cbc', sha, no_export};
+%% suite_definition(?TLS_DH_RSA_WITH_DES_CBC_SHA) ->
+%% {dh_rsa, des_cbc, sha, no_export};
+%% suite_definition(?TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA) ->
+%% {dh_rsa, '3des_ede_cbc', sha, no_export};
suite_definition(?TLS_DHE_DSS_WITH_DES_CBC_SHA) ->
{dhe_dss, des_cbc, sha, no_export};
suite_definition(?TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA) ->
@@ -259,103 +259,103 @@ suite_definition(?TLS_DHE_RSA_WITH_DES_CBC_SHA) ->
{dhe_rsa, des_cbc, sha, no_export};
suite_definition(?TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA) ->
{dhe_rsa, '3des_ede_cbc', sha, no_export};
-suite_definition(?TLS_DH_anon_WITH_RC4_128_MD5) ->
- {dh_anon, rc4_128, md5, no_export};
-suite_definition(?TLS_DH_anon_WITH_DES_CBC_SHA) ->
- {dh_anon, des40_cbc, sha, no_export};
-suite_definition(?TLS_DH_anon_WITH_3DES_EDE_CBC_SHA) ->
- {dh_anon, '3des_ede_cbc', sha, no_export};
+%% suite_definition(?TLS_DH_anon_WITH_RC4_128_MD5) ->
+%% {dh_anon, rc4_128, md5, no_export};
+%% suite_definition(?TLS_DH_anon_WITH_DES_CBC_SHA) ->
+%% {dh_anon, des40_cbc, sha, no_export};
+%% suite_definition(?TLS_DH_anon_WITH_3DES_EDE_CBC_SHA) ->
+%% {dh_anon, '3des_ede_cbc', sha, no_export};
%%% TSL V1.1 AES suites
-suite_definition(?TLS_RSA_WITH_AES_128_CBC_SHA) -> % ok
+suite_definition(?TLS_RSA_WITH_AES_128_CBC_SHA) ->
{rsa, aes_128_cbc, sha, ignore};
-suite_definition(?TLS_DH_DSS_WITH_AES_128_CBC_SHA) ->
- {dh_dss, aes_128_cbc, sha, ignore};
-suite_definition(?TLS_DH_RSA_WITH_AES_128_CBC_SHA) ->
- {dh_rsa, aes_128_cbc, sha, ignore};
+%% suite_definition(?TLS_DH_DSS_WITH_AES_128_CBC_SHA) ->
+%% {dh_dss, aes_128_cbc, sha, ignore};
+%% suite_definition(?TLS_DH_RSA_WITH_AES_128_CBC_SHA) ->
+%% {dh_rsa, aes_128_cbc, sha, ignore};
suite_definition(?TLS_DHE_DSS_WITH_AES_128_CBC_SHA) ->
{dhe_dss, aes_128_cbc, sha, ignore};
suite_definition(?TLS_DHE_RSA_WITH_AES_128_CBC_SHA) ->
{dhe_rsa, aes_128_cbc, sha, ignore};
-suite_definition(?TLS_DH_anon_WITH_AES_128_CBC_SHA) ->
- {dh_anon, aes_128_cbc, sha, ignore};
-suite_definition(?TLS_RSA_WITH_AES_256_CBC_SHA) -> % ok
+%% suite_definition(?TLS_DH_anon_WITH_AES_128_CBC_SHA) ->
+%% {dh_anon, aes_128_cbc, sha, ignore};
+suite_definition(?TLS_RSA_WITH_AES_256_CBC_SHA) ->
{rsa, aes_256_cbc, sha, ignore};
-suite_definition(?TLS_DH_DSS_WITH_AES_256_CBC_SHA) ->
- {dh_dss, aes_256_cbc, sha, ignore};
-suite_definition(?TLS_DH_RSA_WITH_AES_256_CBC_SHA) ->
- {dh_rsa, aes_256_cbc, sha, ignore};
+%% suite_definition(?TLS_DH_DSS_WITH_AES_256_CBC_SHA) ->
+%% {dh_dss, aes_256_cbc, sha, ignore};
+%% suite_definition(?TLS_DH_RSA_WITH_AES_256_CBC_SHA) ->
+%% {dh_rsa, aes_256_cbc, sha, ignore};
suite_definition(?TLS_DHE_DSS_WITH_AES_256_CBC_SHA) ->
{dhe_dss, aes_256_cbc, sha, ignore};
suite_definition(?TLS_DHE_RSA_WITH_AES_256_CBC_SHA) ->
- {dhe_rsa, aes_256_cbc, sha, ignore};
-suite_definition(?TLS_DH_anon_WITH_AES_256_CBC_SHA) ->
- {dh_anon, aes_256_cbc, sha, ignore};
+ {dhe_rsa, aes_256_cbc, sha, ignore}.
+%% suite_definition(?TLS_DH_anon_WITH_AES_256_CBC_SHA) ->
+%% {dh_anon, aes_256_cbc, sha, ignore};
%% TSL V1.1 KRB SUITES
-suite_definition(?TLS_KRB5_WITH_DES_CBC_SHA) ->
- {krb5, des_cbc, sha, ignore};
-suite_definition(?TLS_KRB5_WITH_3DES_EDE_CBC_SHA) ->
- {krb5, '3des_ede_cbc', sha, ignore};
-suite_definition(?TLS_KRB5_WITH_RC4_128_SHA) ->
- {krb5, rc4_128, sha, ignore};
+%% suite_definition(?TLS_KRB5_WITH_DES_CBC_SHA) ->
+%% {krb5, des_cbc, sha, ignore};
+%% suite_definition(?TLS_KRB5_WITH_3DES_EDE_CBC_SHA) ->
+%% {krb5, '3des_ede_cbc', sha, ignore};
+%% suite_definition(?TLS_KRB5_WITH_RC4_128_SHA) ->
+%% {krb5, rc4_128, sha, ignore};
%% suite_definition(?TLS_KRB5_WITH_IDEA_CBC_SHA) ->
%% {krb5, idea_cbc, sha, ignore};
-suite_definition(?TLS_KRB5_WITH_DES_CBC_MD5) ->
- {krb5, des_cbc, md5, ignore};
-suite_definition(?TLS_KRB5_WITH_3DES_EDE_CBC_MD5) ->
- {krb5, '3des_ede_cbc', md5, ignore};
-suite_definition(?TLS_KRB5_WITH_RC4_128_MD5) ->
- {krb5, rc4_128, md5, ignore};
+%% suite_definition(?TLS_KRB5_WITH_DES_CBC_MD5) ->
+%% {krb5, des_cbc, md5, ignore};
+%% suite_definition(?TLS_KRB5_WITH_3DES_EDE_CBC_MD5) ->
+%% {krb5, '3des_ede_cbc', md5, ignore};
+%% suite_definition(?TLS_KRB5_WITH_RC4_128_MD5) ->
+%% {krb5, rc4_128, md5, ignore};
%% suite_definition(?TLS_KRB5_WITH_IDEA_CBC_MD5) ->
%% {krb5, idea_cbc, md5, ignore};
-suite_definition(?TLS_RSA_EXPORT1024_WITH_RC4_56_MD5) ->
- {rsa, rc4_56, md5, export};
-suite_definition(?TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5) ->
- {rsa, rc2_cbc_56, md5, export};
-suite_definition(?TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA) ->
- {rsa, des_cbc, sha, export};
-suite_definition(?TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA) ->
- {dhe_dss, des_cbc, sha, export};
-suite_definition(?TLS_RSA_EXPORT1024_WITH_RC4_56_SHA) ->
- {rsa, rc4_56, sha, export};
-suite_definition(?TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA) ->
- {dhe_dss, rc4_56, sha, export};
-suite_definition(?TLS_DHE_DSS_WITH_RC4_128_SHA) ->
- {dhe_dss, rc4_128, sha, export};
+%% suite_definition(?TLS_RSA_EXPORT1024_WITH_RC4_56_MD5) ->
+%% {rsa, rc4_56, md5, export};
+%% suite_definition(?TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5) ->
+%% {rsa, rc2_cbc_56, md5, export};
+%% suite_definition(?TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA) ->
+%% {rsa, des_cbc, sha, export};
+%% suite_definition(?TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA) ->
+%% {dhe_dss, des_cbc, sha, export};
+%% suite_definition(?TLS_RSA_EXPORT1024_WITH_RC4_56_SHA) ->
+%% {rsa, rc4_56, sha, export};
+%% suite_definition(?TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA) ->
+%% {dhe_dss, rc4_56, sha, export};
+%% suite_definition(?TLS_DHE_DSS_WITH_RC4_128_SHA) ->
+%% {dhe_dss, rc4_128, sha, export};
%% Export suites TLS 1.0 OR SSLv3-only servers.
-suite_definition(?TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA) ->
- {krb5_export, des40_cbc, sha, export};
-suite_definition(?TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA) ->
- {krb5_export, rc2_cbc_40, sha, export};
-suite_definition(?TLS_KRB5_EXPORT_WITH_RC4_40_SHA) ->
- {krb5_export, des40_cbc, sha, export};
-suite_definition(?TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5) ->
- {krb5_export, des40_cbc, md5, export};
-suite_definition(?TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5) ->
- {krb5_export, rc2_cbc_40, md5, export};
-suite_definition(?TLS_KRB5_EXPORT_WITH_RC4_40_MD5) ->
- {krb5_export, rc2_cbc_40, md5, export};
-suite_definition(?TLS_RSA_EXPORT_WITH_RC4_40_MD5) -> % ok
- {rsa, rc4_40, md5, export};
-suite_definition(?TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5) -> % ok
- {rsa, rc2_cbc_40, md5, export};
-suite_definition(?TLS_RSA_EXPORT_WITH_DES40_CBC_SHA) ->
- {rsa, des40_cbc, sha, export};
-suite_definition(?TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA) ->
- {dh_dss, des40_cbc, sha, export};
-suite_definition(?TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA) ->
- {dh_rsa, des40_cbc, sha, export};
-suite_definition(?TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA) ->
- {dhe_dss, des40_cbc, sha, export};
-suite_definition(?TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA) ->
- {dhe_rsa, des40_cbc, sha, export};
-suite_definition(?TLS_DH_anon_EXPORT_WITH_RC4_40_MD5) ->
- {dh_anon, rc4_40, md5, export};
-suite_definition(?TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA) ->
- {dh_anon, des40_cbc, sha, export}.
+%% suite_definition(?TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA) ->
+%% {krb5_export, des40_cbc, sha, export};
+%% suite_definition(?TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA) ->
+%% {krb5_export, rc2_cbc_40, sha, export};
+%% suite_definition(?TLS_KRB5_EXPORT_WITH_RC4_40_SHA) ->
+%% {krb5_export, des40_cbc, sha, export};
+%% suite_definition(?TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5) ->
+%% {krb5_export, des40_cbc, md5, export};
+%% suite_definition(?TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5) ->
+%% {krb5_export, rc2_cbc_40, md5, export};
+%% suite_definition(?TLS_KRB5_EXPORT_WITH_RC4_40_MD5) ->
+%% {krb5_export, rc2_cbc_40, md5, export};
+%% suite_definition(?TLS_RSA_EXPORT_WITH_RC4_40_MD5) ->
+%% {rsa, rc4_40, md5, export};
+%% suite_definition(?TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5) ->
+%% {rsa, rc2_cbc_40, md5, export};
+%% suite_definition(?TLS_RSA_EXPORT_WITH_DES40_CBC_SHA) ->
+%% {rsa, des40_cbc, sha, export};
+%% suite_definition(?TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA) ->
+%% {dh_dss, des40_cbc, sha, export};
+%% suite_definition(?TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA) ->
+%% {dh_rsa, des40_cbc, sha, export};
+%% suite_definition(?TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA) ->
+%% {dhe_dss, des40_cbc, sha, export};
+%% suite_definition(?TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA) ->
+%% {dhe_rsa, des40_cbc, sha, export};
+%% suite_definition(?TLS_DH_anon_EXPORT_WITH_RC4_40_MD5) ->
+%% {dh_anon, rc4_40, md5, export};
+%% suite_definition(?TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA) ->
+%% {dh_anon, des40_cbc, sha, export}.
%% TLS v1.1 suites
suite({rsa, null, md5, ignore}) ->
@@ -372,14 +372,14 @@ suite({rsa, des_cbc, sha, no_export}) ->
?TLS_RSA_WITH_DES_CBC_SHA;
suite({rsa, '3des_ede_cbc', sha, no_export}) ->
?TLS_RSA_WITH_3DES_EDE_CBC_SHA;
-suite({dh_dss, des_cbc, sha, no_export}) ->
- ?TLS_DH_DSS_WITH_DES_CBC_SHA;
-suite({dh_dss, '3des_ede_cbc', sha, no_export}) ->
- ?TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA;
-suite({dh_rsa, des_cbc, sha, no_export}) ->
- ?TLS_DH_RSA_WITH_DES_CBC_SHA;
-suite({dh_rsa, '3des_ede_cbc', sha, no_export}) ->
- ?TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA;
+%% suite({dh_dss, des_cbc, sha, no_export}) ->
+%% ?TLS_DH_DSS_WITH_DES_CBC_SHA;
+%% suite({dh_dss, '3des_ede_cbc', sha, no_export}) ->
+%% ?TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA;
+%% suite({dh_rsa, des_cbc, sha, no_export}) ->
+%% ?TLS_DH_RSA_WITH_DES_CBC_SHA;
+%% suite({dh_rsa, '3des_ede_cbc', sha, no_export}) ->
+%% ?TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA;
suite({dhe_dss, des_cbc, sha, no_export}) ->
?TLS_DHE_DSS_WITH_DES_CBC_SHA;
suite({dhe_dss, '3des_ede_cbc', sha, no_export}) ->
@@ -388,108 +388,108 @@ suite({dhe_rsa, des_cbc, sha, no_export}) ->
?TLS_DHE_RSA_WITH_DES_CBC_SHA;
suite({dhe_rsa, '3des_ede_cbc', sha, no_export}) ->
?TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA;
-suite({dh_anon, rc4_128, md5, no_export}) ->
- ?TLS_DH_anon_WITH_RC4_128_MD5;
-suite({dh_anon, des40_cbc, sha, no_export}) ->
- ?TLS_DH_anon_WITH_DES_CBC_SHA;
-suite({dh_anon, '3des_ede_cbc', sha, no_export}) ->
- ?TLS_DH_anon_WITH_3DES_EDE_CBC_SHA;
+%% suite({dh_anon, rc4_128, md5, no_export}) ->
+%% ?TLS_DH_anon_WITH_RC4_128_MD5;
+%% suite({dh_anon, des40_cbc, sha, no_export}) ->
+%% ?TLS_DH_anon_WITH_DES_CBC_SHA;
+%% suite({dh_anon, '3des_ede_cbc', sha, no_export}) ->
+%% ?TLS_DH_anon_WITH_3DES_EDE_CBC_SHA;
%%% TSL V1.1 AES suites
suite({rsa, aes_128_cbc, sha, ignore}) ->
?TLS_RSA_WITH_AES_128_CBC_SHA;
-suite({dh_dss, aes_128_cbc, sha, ignore}) ->
- ?TLS_DH_DSS_WITH_AES_128_CBC_SHA;
-suite({dh_rsa, aes_128_cbc, sha, ignore}) ->
- ?TLS_DH_RSA_WITH_AES_128_CBC_SHA;
-suite({dhe_dss, aes_128_cbc, sha, ignore}) ->
- ?TLS_DHE_DSS_WITH_AES_128_CBC_SHA;
+%% suite({dh_dss, aes_128_cbc, sha, ignore}) ->
+%% ?TLS_DH_DSS_WITH_AES_128_CBC_SHA;
+%% suite({dh_rsa, aes_128_cbc, sha, ignore}) ->
+%% ?TLS_DH_RSA_WITH_AES_128_CBC_SHA;
+%% suite({dhe_dss, aes_128_cbc, sha, ignore}) ->
+%% ?TLS_DHE_DSS_WITH_AES_128_CBC_SHA;
suite({dhe_rsa, aes_128_cbc, sha, ignore}) ->
?TLS_DHE_RSA_WITH_AES_128_CBC_SHA;
-suite({dh_anon, aes_128_cbc, sha, ignore}) ->
- ?TLS_DH_anon_WITH_AES_128_CBC_SHA;
+%% suite({dh_anon, aes_128_cbc, sha, ignore}) ->
+%% ?TLS_DH_anon_WITH_AES_128_CBC_SHA;
suite({rsa, aes_256_cbc, sha, ignore}) ->
?TLS_RSA_WITH_AES_256_CBC_SHA;
-suite({dh_dss, aes_256_cbc, sha, ignore}) ->
- ?TLS_DH_DSS_WITH_AES_256_CBC_SHA;
-suite({dh_rsa, aes_256_cbc, sha, ignore}) ->
- ?TLS_DH_RSA_WITH_AES_256_CBC_SHA;
+%% suite({dh_dss, aes_256_cbc, sha, ignore}) ->
+%% ?TLS_DH_DSS_WITH_AES_256_CBC_SHA;
+%% suite({dh_rsa, aes_256_cbc, sha, ignore}) ->
+%% ?TLS_DH_RSA_WITH_AES_256_CBC_SHA;
suite({dhe_dss, aes_256_cbc, sha, ignore}) ->
?TLS_DHE_DSS_WITH_AES_256_CBC_SHA;
suite({dhe_rsa, aes_256_cbc, sha, ignore}) ->
- ?TLS_DHE_RSA_WITH_AES_256_CBC_SHA;
-suite({dh_anon, aes_256_cbc, sha, ignore}) ->
- ?TLS_DH_anon_WITH_AES_256_CBC_SHA;
+ ?TLS_DHE_RSA_WITH_AES_256_CBC_SHA.
+%% suite({dh_anon, aes_256_cbc, sha, ignore}) ->
+%% ?TLS_DH_anon_WITH_AES_256_CBC_SHA.
%% TSL V1.1 KRB SUITES
-suite({krb5, des_cbc, sha, ignore}) ->
- ?TLS_KRB5_WITH_DES_CBC_SHA;
-suite({krb5_cbc, '3des_ede_cbc', sha, ignore}) ->
- ?TLS_KRB5_WITH_3DES_EDE_CBC_SHA;
-suite({krb5, rc4_128, sha, ignore}) ->
- ?TLS_KRB5_WITH_RC4_128_SHA;
+%% suite({krb5, des_cbc, sha, ignore}) ->
+%% ?TLS_KRB5_WITH_DES_CBC_SHA;
+%% suite({krb5_cbc, '3des_ede_cbc', sha, ignore}) ->
+%% ?TLS_KRB5_WITH_3DES_EDE_CBC_SHA;
+%% suite({krb5, rc4_128, sha, ignore}) ->
+%% ?TLS_KRB5_WITH_RC4_128_SHA;
%% suite({krb5_cbc, idea_cbc, sha, ignore}) ->
%% ?TLS_KRB5_WITH_IDEA_CBC_SHA;
-suite({krb5_cbc, md5, ignore}) ->
- ?TLS_KRB5_WITH_DES_CBC_MD5;
-suite({krb5_ede_cbc, des_cbc, md5, ignore}) ->
- ?TLS_KRB5_WITH_3DES_EDE_CBC_MD5;
-suite({krb5_128, rc4_128, md5, ignore}) ->
- ?TLS_KRB5_WITH_RC4_128_MD5;
+%% suite({krb5_cbc, md5, ignore}) ->
+%% ?TLS_KRB5_WITH_DES_CBC_MD5;
+%% suite({krb5_ede_cbc, des_cbc, md5, ignore}) ->
+%% ?TLS_KRB5_WITH_3DES_EDE_CBC_MD5;
+%% suite({krb5_128, rc4_128, md5, ignore}) ->
+%% ?TLS_KRB5_WITH_RC4_128_MD5;
%% suite({krb5, idea_cbc, md5, ignore}) ->
%% ?TLS_KRB5_WITH_IDEA_CBC_MD5;
%% Export suites TLS 1.0 OR SSLv3-only servers.
-suite({rsa, rc4_40, md5, export}) ->
- ?TLS_RSA_EXPORT_WITH_RC4_40_MD5;
-suite({rsa, rc2_cbc_40, md5, export}) ->
- ?TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5;
-suite({rsa, des40_cbc, sha, export}) ->
- ?TLS_RSA_EXPORT_WITH_DES40_CBC_SHA;
-suite({rsa, rc4_56, md5, export}) ->
- ?TLS_RSA_EXPORT1024_WITH_RC4_56_MD5;
-suite({rsa, rc2_cbc_56, md5, export}) ->
- ?TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5;
-suite({rsa, des_cbc, sha, export}) ->
- ?TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA;
-suite({dhe_dss, des_cbc, sha, export}) ->
- ?TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA;
-suite({rsa, rc4_56, sha, export}) ->
- ?TLS_RSA_EXPORT1024_WITH_RC4_56_SHA;
-suite({dhe_dss, rc4_56, sha, export}) ->
- ?TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA;
-suite({dhe_dss, rc4_128, sha, export}) ->
- ?TLS_DHE_DSS_WITH_RC4_128_SHA;
-suite({krb5_export, des40_cbc, sha, export}) ->
- ?TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA;
-suite({krb5_export, rc2_cbc_40, sha, export}) ->
- ?TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA;
-suite({krb5_export, rc4_cbc_40, sha, export}) ->
- ?TLS_KRB5_EXPORT_WITH_RC4_40_SHA;
-suite({krb5_export, des40_cbc, md5, export}) ->
- ?TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5;
-suite({krb5_export, rc2_cbc_40, md5, export}) ->
- ?TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5;
-suite({krb5_export, rc4_cbc_40, md5, export}) ->
- ?TLS_KRB5_EXPORT_WITH_RC4_40_MD5;
-suite({rsa_export, rc4_cbc_40, md5, export}) ->
- ?TLS_RSA_EXPORT_WITH_RC4_40_MD5;
-suite({rsa_export, rc2_cbc_40, md5, export}) ->
- ?TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5;
-suite({rsa_export, des40_cbc, sha, export}) ->
- ?TLS_RSA_EXPORT_WITH_DES40_CBC_SHA;
-suite({dh_dss_export, des40_cbc, sha, export}) ->
- ?TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA;
-suite({dh_rsa_export, des40_cbc, sha, export}) ->
- ?TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA;
-suite({dhe_dss_export, des40_cbc, sha, export}) ->
- ?TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA;
-suite({dhe_rsa_export, des40_cbc, sha, export}) ->
- ?TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA;
-suite({dh_anon_export, rc4_40, md5, export}) ->
- ?TLS_DH_anon_EXPORT_WITH_RC4_40_MD5;
-suite({dh_anon_export, des40_cbc, sha, export}) ->
- ?TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA.
+%% suite({rsa, rc4_40, md5, export}) ->
+%% ?TLS_RSA_EXPORT_WITH_RC4_40_MD5;
+%% suite({rsa, rc2_cbc_40, md5, export}) ->
+%% ?TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5;
+%% suite({rsa, des40_cbc, sha, export}) ->
+%% ?TLS_RSA_EXPORT_WITH_DES40_CBC_SHA;
+%% suite({rsa, rc4_56, md5, export}) ->
+%% ?TLS_RSA_EXPORT1024_WITH_RC4_56_MD5;
+%% suite({rsa, rc2_cbc_56, md5, export}) ->
+%% ?TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5;
+%% suite({rsa, des_cbc, sha, export}) ->
+%% ?TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA;
+%% suite({dhe_dss, des_cbc, sha, export}) ->
+%% ?TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA;
+%% suite({rsa, rc4_56, sha, export}) ->
+%% ?TLS_RSA_EXPORT1024_WITH_RC4_56_SHA;
+%% suite({dhe_dss, rc4_56, sha, export}) ->
+%% ?TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA;
+%% suite({dhe_dss, rc4_128, sha, export}) ->
+%% ?TLS_DHE_DSS_WITH_RC4_128_SHA;
+%% suite({krb5_export, des40_cbc, sha, export}) ->
+%% ?TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA;
+%% suite({krb5_export, rc2_cbc_40, sha, export}) ->
+%% ?TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA;
+%% suite({krb5_export, rc4_cbc_40, sha, export}) ->
+%% ?TLS_KRB5_EXPORT_WITH_RC4_40_SHA;
+%% suite({krb5_export, des40_cbc, md5, export}) ->
+%% ?TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5;
+%% suite({krb5_export, rc2_cbc_40, md5, export}) ->
+%% ?TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5;
+%% suite({krb5_export, rc4_cbc_40, md5, export}) ->
+%% ?TLS_KRB5_EXPORT_WITH_RC4_40_MD5;
+%% suite({rsa_export, rc4_cbc_40, md5, export}) ->
+%% ?TLS_RSA_EXPORT_WITH_RC4_40_MD5;
+%% suite({rsa_export, rc2_cbc_40, md5, export}) ->
+%% ?TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5;
+%% suite({rsa_export, des40_cbc, sha, export}) ->
+%% ?TLS_RSA_EXPORT_WITH_DES40_CBC_SHA;
+%% suite({dh_dss_export, des40_cbc, sha, export}) ->
+%% ?TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA;
+%% suite({dh_rsa_export, des40_cbc, sha, export}) ->
+%% ?TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA;
+%% suite({dhe_dss_export, des40_cbc, sha, export}) ->
+%% ?TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA;
+%% suite({dhe_rsa_export, des40_cbc, sha, export}) ->
+%% ?TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA;
+%% suite({dh_anon_export, rc4_40, md5, export}) ->
+%% ?TLS_DH_anon_EXPORT_WITH_RC4_40_MD5;
+%% suite({dh_anon_export, des40_cbc, sha, export}) ->
+%% ?TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA.
%% translate constants <-> openssl-strings
@@ -524,35 +524,35 @@ openssl_suite("RC4-SHA") ->
openssl_suite("RC4-MD5") ->
?TLS_RSA_WITH_RC4_128_MD5;
%% TODO: Do we want to support this?
-openssl_suite("EXP1024-RC4-MD5") ->
- ?TLS_RSA_EXPORT1024_WITH_RC4_56_MD5;
-openssl_suite("EXP1024-RC2-CBC-MD5") ->
- ?TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5;
-openssl_suite("EXP1024-DES-CBC-SHA") ->
- ?TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA;
-openssl_suite("EXP1024-DHE-DSS-DES-CBC-SHA") ->
- ?TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA;
-openssl_suite("EXP1024-RC4-SHA") ->
- ?TLS_RSA_EXPORT1024_WITH_RC4_56_SHA;
-openssl_suite("EXP1024-DHE-DSS-RC4-SHA") ->
- ?TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA;
-openssl_suite("DHE-DSS-RC4-SHA") ->
- ?TLS_DHE_DSS_WITH_RC4_128_SHA;
+%% openssl_suite("EXP1024-RC4-MD5") ->
+%% ?TLS_RSA_EXPORT1024_WITH_RC4_56_MD5;
+%% openssl_suite("EXP1024-RC2-CBC-MD5") ->
+%% ?TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5;
+%% openssl_suite("EXP1024-DES-CBC-SHA") ->
+%% ?TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA;
+%% openssl_suite("EXP1024-DHE-DSS-DES-CBC-SHA") ->
+%% ?TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA;
+%% openssl_suite("EXP1024-RC4-SHA") ->
+%% ?TLS_RSA_EXPORT1024_WITH_RC4_56_SHA;
+%% openssl_suite("EXP1024-DHE-DSS-RC4-SHA") ->
+%% ?TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA;
+%% openssl_suite("DHE-DSS-RC4-SHA") ->
+%% ?TLS_DHE_DSS_WITH_RC4_128_SHA;
openssl_suite("EDH-RSA-DES-CBC-SHA") ->
?TLS_DHE_RSA_WITH_DES_CBC_SHA;
openssl_suite("DES-CBC-SHA") ->
- ?TLS_RSA_WITH_DES_CBC_SHA;
-openssl_suite("EXP-EDH-RSA-DES-CBC-SHA") ->
- ?TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA;
-openssl_suite("EXP-EDH-DSS-DES-CBC-SHA") ->
- ?TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA;
-openssl_suite("EXP-DES-CBC-SHA") ->
- ?TLS_RSA_EXPORT_WITH_DES40_CBC_SHA;
-openssl_suite("EXP-RC2-CBC-MD5") ->
- ?TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5;
-openssl_suite("EXP-RC4-MD5") ->
- ?TLS_RSA_EXPORT_WITH_RC4_40_MD5.
+ ?TLS_RSA_WITH_DES_CBC_SHA.
+%% openssl_suite("EXP-EDH-RSA-DES-CBC-SHA") ->
+%% ?TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA;
+%% openssl_suite("EXP-EDH-DSS-DES-CBC-SHA") ->
+%% ?TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA;
+%% openssl_suite("EXP-DES-CBC-SHA") ->
+%% ?TLS_RSA_EXPORT_WITH_DES40_CBC_SHA;
+%% openssl_suite("EXP-RC2-CBC-MD5") ->
+%% ?TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5;
+%% openssl_suite("EXP-RC4-MD5") ->
+%% ?TLS_RSA_EXPORT_WITH_RC4_40_MD5.
openssl_suite_name(?TLS_DHE_RSA_WITH_AES_256_CBC_SHA) ->
"DHE-RSA-AES256-SHA";
@@ -582,31 +582,31 @@ openssl_suite_name(?TLS_DHE_RSA_WITH_DES_CBC_SHA) ->
"EDH-RSA-DES-CBC-SHA";
openssl_suite_name(?TLS_RSA_WITH_DES_CBC_SHA) ->
"DES-CBC-SHA";
-openssl_suite_name(?TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA) ->
- "EXP-EDH-RSA-DES-CBC-SHA";
-openssl_suite_name(?TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA) ->
- "EXP-EDH-DSS-DES-CBC-SHA";
-openssl_suite_name(?TLS_RSA_EXPORT_WITH_DES40_CBC_SHA) ->
- "EXP-DES-CBC-SHA";
-openssl_suite_name(?TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5) ->
- "EXP-RC2-CBC-MD5";
-openssl_suite_name(?TLS_RSA_EXPORT_WITH_RC4_40_MD5) ->
- "EXP-RC4-MD5";
-
-openssl_suite_name(?TLS_RSA_EXPORT1024_WITH_RC4_56_MD5) ->
- "EXP1024-RC4-MD5";
-openssl_suite_name(?TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5) ->
- "EXP1024-RC2-CBC-MD5";
-openssl_suite_name(?TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA) ->
- "EXP1024-DES-CBC-SHA";
-openssl_suite_name(?TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA) ->
- "EXP1024-DHE-DSS-DES-CBC-SHA";
-openssl_suite_name(?TLS_RSA_EXPORT1024_WITH_RC4_56_SHA) ->
- "EXP1024-RC4-SHA";
-openssl_suite_name(?TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA) ->
- "EXP1024-DHE-DSS-RC4-SHA";
-openssl_suite_name(?TLS_DHE_DSS_WITH_RC4_128_SHA) ->
- "DHE-DSS-RC4-SHA";
+%% openssl_suite_name(?TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA) ->
+%% "EXP-EDH-RSA-DES-CBC-SHA";
+%% openssl_suite_name(?TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA) ->
+%% "EXP-EDH-DSS-DES-CBC-SHA";
+%% openssl_suite_name(?TLS_RSA_EXPORT_WITH_DES40_CBC_SHA) ->
+%% "EXP-DES-CBC-SHA";
+%% openssl_suite_name(?TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5) ->
+%% "EXP-RC2-CBC-MD5";
+%% openssl_suite_name(?TLS_RSA_EXPORT_WITH_RC4_40_MD5) ->
+%% "EXP-RC4-MD5";
+
+%% openssl_suite_name(?TLS_RSA_EXPORT1024_WITH_RC4_56_MD5) ->
+%% "EXP1024-RC4-MD5";
+%% openssl_suite_name(?TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5) ->
+%% "EXP1024-RC2-CBC-MD5";
+%% openssl_suite_name(?TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA) ->
+%% "EXP1024-DES-CBC-SHA";
+%% openssl_suite_name(?TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA) ->
+%% "EXP1024-DHE-DSS-DES-CBC-SHA";
+%% openssl_suite_name(?TLS_RSA_EXPORT1024_WITH_RC4_56_SHA) ->
+%% "EXP1024-RC4-SHA";
+%% openssl_suite_name(?TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA) ->
+%% "EXP1024-DHE-DSS-RC4-SHA";
+%% openssl_suite_name(?TLS_DHE_DSS_WITH_RC4_128_SHA) ->
+%% "DHE-DSS-RC4-SHA";
%% No oppenssl name
openssl_suite_name(Cipher) ->
@@ -621,15 +621,15 @@ bulk_cipher_algorithm(null) ->
%% Not supported yet
%% bulk_cipher_algorithm(idea_cbc) ->
%% ?IDEA;
-bulk_cipher_algorithm(Cipher) when Cipher == rc2_cbc_40;
- Cipher == rc2_cbc_56 ->
- ?RC2;
+%% bulk_cipher_algorithm(Cipher) when Cipher == rc2_cbc_40;
+%% Cipher == rc2_cbc_56 ->
+%% ?RC2;
bulk_cipher_algorithm(Cipher) when Cipher == rc4_40;
Cipher == rc4_56;
Cipher == rc4_128 ->
?RC4;
-bulk_cipher_algorithm(des40_cbc) ->
- ?DES40;
+%% bulk_cipher_algorithm(des40_cbc) ->
+%% ?DES40;
bulk_cipher_algorithm(des_cbc) ->
?DES;
bulk_cipher_algorithm('3des_ede_cbc') ->
diff --git a/lib/ssl/src/ssl_cipher.hrl b/lib/ssl/src/ssl_cipher.hrl
index 4304c501b7..d282cbd780 100644
--- a/lib/ssl/src/ssl_cipher.hrl
+++ b/lib/ssl/src/ssl_cipher.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -250,4 +250,9 @@
-define(TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA, <<?BYTE(16#00), ?BYTE(16#65)>>).
-define(TLS_DHE_DSS_WITH_RC4_128_SHA, <<?BYTE(16#00), ?BYTE(16#66)>>).
+%% RFC 5746 - Not a real ciphersuite used to signal empty "renegotiation_info" extension
+%% to avoid handshake failure from old servers that do not ignore
+%% hello extension data as they should.
+-define(TLS_EMPTY_RENEGOTIATION_INFO_SCSV, <<?BYTE(16#00), ?BYTE(16#FF)>>).
+
-endif. % -ifdef(ssl_cipher).
diff --git a/lib/ssl/src/ssl_connection.erl b/lib/ssl/src/ssl_connection.erl
index 4847fd278d..a4eaf03086 100644
--- a/lib/ssl/src/ssl_connection.erl
+++ b/lib/ssl/src/ssl_connection.erl
@@ -39,17 +39,17 @@
-include_lib("public_key/include/public_key.hrl").
%% Internal application API
--export([send/2, send/3, recv/3, connect/7, accept/6, close/1, shutdown/2,
+-export([send/2, send/3, recv/3, connect/7, ssl_accept/6, handshake/2,
+ socket_control/3, close/1, shutdown/2,
new_user/2, get_opts/2, set_opts/2, info/1, session_info/1,
- peer_certificate/1,
- sockname/1, peername/1]).
+ peer_certificate/1, sockname/1, peername/1, renegotiation/1]).
%% Called by ssl_connection_sup
-export([start_link/7]).
%% gen_fsm callbacks
--export([init/1, hello/2, certify/2, cipher/2, connection/2, connection/3, abbreviated/2,
- handle_event/3,
+-export([init/1, hello/2, certify/2, cipher/2, connection/2,
+ abbreviated/2, handle_event/3,
handle_sync_event/4, handle_info/3, terminate/3, code_change/4]).
-record(state, {
@@ -58,6 +58,7 @@
transport_cb, % atom() - callback module
data_tag, % atom() - ex tcp.
close_tag, % atom() - ex tcp_closed
+ error_tag, % atom() - ex tcp_error
host, % string() | ipadress()
port, % integer()
socket, % socket()
@@ -78,57 +79,94 @@
client_certificate_requested = false,
key_algorithm, % atom as defined by cipher_suite
public_key_info, % PKIX: {Algorithm, PublicKey, PublicKeyParams}
- private_key, % PKIX: 'RSAPrivateKey'
- diffie_hellman_params, %
+ private_key, % PKIX: #'RSAPrivateKey'{}
+ diffie_hellman_params, % PKIX: #'DHParameter'{} relevant for server side
+ diffie_hellman_keys, % {PublicKey, PrivateKey}
premaster_secret, %
cert_db_ref, % ets_table()
from, % term(), where to reply
bytes_to_read, % integer(), # bytes to read in passive mode
user_data_buffer, % binary()
%% tls_buffer, % Keeps a lookahead one packet if available
- log_alert % boolan()
+ log_alert, % boolean()
+ renegotiation, % {boolean(), From | internal | peer}
+ recv_during_renegotiation, %boolean()
+ send_queue % queue()
}).
+-define(DEFAULT_DIFFIE_HELLMAN_PARAMS,
+ #'DHParameter'{prime = ?DEFAULT_DIFFIE_HELLMAN_PRIME,
+ base = ?DEFAULT_DIFFIE_HELLMAN_GENERATOR}).
+
%%====================================================================
%% Internal application API
%%====================================================================
%%--------------------------------------------------------------------
-%% Function:
+%% Function: send(Pid, Data) -> ok | {error, Reason}
%%
-%% Description:
+%% Description: Sends data over the ssl connection
%%--------------------------------------------------------------------
send(Pid, Data) ->
- sync_send_event(Pid, {application_data, erlang:iolist_to_binary(Data)}, infinity).
+ sync_send_all_state_event(Pid, {application_data, erlang:iolist_to_binary(Data)}, infinity).
send(Pid, Data, Timeout) ->
- sync_send_event(Pid, {application_data, erlang:iolist_to_binary(Data)}, Timeout).
+ sync_send_all_state_event(Pid, {application_data, erlang:iolist_to_binary(Data)}, Timeout).
%%--------------------------------------------------------------------
-%% Function:
+%% Function: recv(Socket, Length Timeout) -> {ok, Data} | {error, reason}
%%
-%% Description:
+%% Description: Receives data when active = false
%%--------------------------------------------------------------------
-recv(Pid, Length, Timeout) -> % TODO: Prio with renegotiate?
+recv(Pid, Length, Timeout) ->
sync_send_all_state_event(Pid, {recv, Length}, Timeout).
%%--------------------------------------------------------------------
-%% Function:
+%% Function: : connect(Host, Port, Socket, Options,
+%% User, CbInfo, Timeout) -> {ok, Socket}
%%
-%% Description:
+%% Description: Connect to a ssl server.
%%--------------------------------------------------------------------
connect(Host, Port, Socket, Options, User, CbInfo, Timeout) ->
start_fsm(client, Host, Port, Socket, Options, User, CbInfo,
Timeout).
%%--------------------------------------------------------------------
-%% Function:
+%% Function: accept(Port, Socket, Opts, User,
+%% CbInfo, Timeout) -> {ok, Socket} | {error, Reason}
%%
-%% Description:
+%% Description: Performs accept on a ssl listen socket. e.i. performs
+%% ssl handshake.
%%--------------------------------------------------------------------
-accept(Port, Socket, Opts, User, CbInfo, Timeout) ->
+ssl_accept(Port, Socket, Opts, User, CbInfo, Timeout) ->
start_fsm(server, "localhost", Port, Socket, Opts, User,
CbInfo, Timeout).
+
%%--------------------------------------------------------------------
-%% Function:
+%% Function: handshake(SslSocket, Timeout) -> ok | {error, Reason}
+%%
+%% Description: Starts ssl handshake.
+%%--------------------------------------------------------------------
+handshake(#sslsocket{pid = Pid}, Timeout) ->
+ case sync_send_all_state_event(Pid, start, Timeout) of
+ connected ->
+ ok;
+ Error ->
+ Error
+ end.
+%--------------------------------------------------------------------
+%% Function: socket_control(Pid) -> {ok, SslSocket} | {error, Reason}
+%%
+%% Description: Set the ssl process to own the accept socket
+%%--------------------------------------------------------------------
+socket_control(Socket, Pid, CbModule) ->
+ case CbModule:controlling_process(Socket, Pid) of
+ ok ->
+ {ok, sslsocket(Pid)};
+ {error, Reason} ->
+ {error, Reason}
+ end.
+
+%%--------------------------------------------------------------------
+%% Function: close() -> ok
%%
-%% Description:
+%% Description: Close a ssl connection
%%--------------------------------------------------------------------
close(ConnectionPid) ->
case sync_send_all_state_event(ConnectionPid, close) of
@@ -139,76 +177,85 @@ close(ConnectionPid) ->
end.
%%--------------------------------------------------------------------
-%% Function:
+%% Function: shutdown(Socket, How) -> ok | {error, Reason}
%%
-%% Description:
+%% Description: Same as gen_tcp:shutdown/2
%%--------------------------------------------------------------------
shutdown(ConnectionPid, How) ->
sync_send_all_state_event(ConnectionPid, {shutdown, How}).
-
%%--------------------------------------------------------------------
-%% Function:
+%% Function: new_user(ConnectionPid, User) -> ok | {error, Reason}
%%
-%% Description:
+%% Description: Changes process that receives the messages when active = true
+%% or once.
%%--------------------------------------------------------------------
new_user(ConnectionPid, User) ->
sync_send_all_state_event(ConnectionPid, {new_user, User}).
%%--------------------------------------------------------------------
-%% Function:
+%% Function: sockname(ConnectionPid) -> {ok, {Address, Port}} | {error, Reason}
%%
-%% Description:
+%% Description: Same as inet:sockname/1
%%--------------------------------------------------------------------
sockname(ConnectionPid) ->
sync_send_all_state_event(ConnectionPid, sockname).
%%--------------------------------------------------------------------
-%% Function:
+%% Function: peername(ConnectionPid) -> {ok, {Address, Port}} | {error, Reason}
%%
-%% Description:
+%% Description: Same as inet:peername/1
%%--------------------------------------------------------------------
peername(ConnectionPid) ->
sync_send_all_state_event(ConnectionPid, peername).
%%--------------------------------------------------------------------
-%% Function:
+%% Function: get_opts(ConnectionPid, OptTags) -> {ok, Options} | {error, Reason}
%%
-%% Description:
+%% Description: Same as inet:getopts/2
%%--------------------------------------------------------------------
get_opts({ListenSocket, {_SslOpts, SockOpts}, _}, OptTags) ->
get_socket_opts(ListenSocket, OptTags, SockOpts, []);
get_opts(ConnectionPid, OptTags) ->
sync_send_all_state_event(ConnectionPid, {get_opts, OptTags}).
%%--------------------------------------------------------------------
-%% Function:
+%% Function: setopts(Socket, Options) -> ok | {error, Reason}
%%
-%% Description:
+%% Description: Same as inet:setopts/2
%%--------------------------------------------------------------------
set_opts(ConnectionPid, Options) ->
sync_send_all_state_event(ConnectionPid, {set_opts, Options}).
%%--------------------------------------------------------------------
-%% Function:
+%% Function: info(ConnectionPid) -> {ok, {Protocol, CipherSuite}} |
+%% {error, Reason}
%%
-%% Description:
+%% Description: Returns ssl protocol and cipher used for the connection
%%--------------------------------------------------------------------
info(ConnectionPid) ->
sync_send_all_state_event(ConnectionPid, info).
%%--------------------------------------------------------------------
-%% Function:
+%% Function: session_info(ConnectionPid) -> {ok, PropList} | {error, Reason}
%%
-%% Description:
+%% Description: Returns info about the ssl session
%%--------------------------------------------------------------------
session_info(ConnectionPid) ->
sync_send_all_state_event(ConnectionPid, session_info).
%%--------------------------------------------------------------------
-%% Function:
+%% Function: peercert(ConnectionPid) -> {ok, Cert} | {error, Reason}
%%
-%% Description:
+%% Description: Returns the peer cert
%%--------------------------------------------------------------------
peer_certificate(ConnectionPid) ->
sync_send_all_state_event(ConnectionPid, peer_certificate).
+%%--------------------------------------------------------------------
+%% Function: renegotiation(ConnectionPid) -> ok | {error, Reason}
+%%
+%% Description: Starts a renegotiation of the ssl session.
+%%--------------------------------------------------------------------
+renegotiation(ConnectionPid) ->
+ sync_send_all_state_event(ConnectionPid, renegotiate).
+
%%====================================================================
%% ssl_connection_sup API
%%====================================================================
@@ -224,7 +271,6 @@ start_link(Role, Host, Port, Socket, Options, User, CbInfo) ->
gen_fsm:start_link(?MODULE, [Role, Host, Port, Socket, Options,
User, CbInfo], []).
-
%%====================================================================
%% gen_fsm callbacks
%%====================================================================
@@ -243,54 +289,63 @@ init([Role, Host, Port, Socket, {SSLOpts, _} = Options,
Hashes0 = ssl_handshake:init_hashes(),
try ssl_init(SSLOpts, Role) of
- {ok, Ref, CacheRef, OwnCert, Key} ->
+ {ok, Ref, CacheRef, OwnCert, Key, DHParams} ->
State = State0#state{tls_handshake_hashes = Hashes0,
own_cert = OwnCert,
cert_db_ref = Ref,
session_cache = CacheRef,
- private_key = Key},
+ private_key = Key,
+ diffie_hellman_params = DHParams},
{ok, hello, State}
catch
throw:Error ->
{stop, Error}
end.
-
+
%%--------------------------------------------------------------------
%% Function:
%% state_name(Event, State) -> {next_state, NextStateName, NextState}|
%% {next_state, NextStateName,
%% NextState, Timeout} |
%% {stop, Reason, NewState}
-%% Description:There should be one instance of this function for each possible
-%% state name. Whenever a gen_fsm receives an event sent using
-%% gen_fsm:send_event/2, the instance of this function with the same name as
-%% the current state name StateName is called to handle the event. It is also
-%% called if a timeout occurs.
+%%
+%% Description:There should be one instance of this function for each
+%% possible state name. Whenever a gen_fsm receives an event sent
+%% using gen_fsm:send_event/2, the instance of this function with the
+%% same name as the current state name StateName is called to handle
+%% the event. It is also called if a timeout occurs.
+%%
%%--------------------------------------------------------------------
-hello(socket_control, #state{host = Host, port = Port, role = client,
- ssl_options = SslOpts,
- transport_cb = Transport, socket = Socket,
- connection_states = ConnectionStates}
+hello(start, #state{host = Host, port = Port, role = client,
+ ssl_options = SslOpts,
+ transport_cb = Transport, socket = Socket,
+ connection_states = ConnectionStates,
+ renegotiation = {Renegotiation, _}}
= State0) ->
- Hello = ssl_handshake:client_hello(Host, Port, ConnectionStates, SslOpts),
+ Hello = ssl_handshake:client_hello(Host, Port,
+ ConnectionStates, SslOpts, Renegotiation),
+
Version = Hello#client_hello.client_version,
Hashes0 = ssl_handshake:init_hashes(),
{BinMsg, CS2, Hashes1} =
encode_handshake(Hello, Version, ConnectionStates, Hashes0),
Transport:send(Socket, BinMsg),
- State = State0#state{connection_states = CS2,
+ State1 = State0#state{connection_states = CS2,
negotiated_version = Version, %% Requested version
session =
#session{session_id = Hello#client_hello.session_id,
is_resumable = false},
tls_handshake_hashes = Hashes1},
- {next_state, hello, next_record(State)};
+ {Record, State} = next_record(State1),
+ next_state(hello, Record, State);
-hello(socket_control, #state{role = server} = State) ->
- {next_state, hello, next_record(State)};
+hello(start, #state{role = server} = State0) ->
+ {Record, State} = next_record(State0),
+ next_state(hello, Record, State);
-hello(hello, #state{role = client} = State) ->
- {next_state, hello, State};
+hello(#hello_request{}, #state{role = client} = State0) ->
+ {Record, State} = next_record(State0),
+ next_state(hello, Record, State);
hello(#server_hello{cipher_suite = CipherSuite,
compression_method = Compression} = Hello,
@@ -299,53 +354,60 @@ hello(#server_hello{cipher_suite = CipherSuite,
role = client,
negotiated_version = ReqVersion,
host = Host, port = Port,
+ renegotiation = {Renegotiation, _},
+ ssl_options = SslOptions,
session_cache = Cache,
session_cache_cb = CacheCb} = State0) ->
- {Version, NewId, ConnectionStates1} =
- ssl_handshake:hello(Hello, ConnectionStates0),
-
- {KeyAlgorithm, _, _, _} =
- ssl_cipher:suite_definition(CipherSuite),
-
- PremasterSecret = make_premaster_secret(ReqVersion),
-
- State = State0#state{key_algorithm = KeyAlgorithm,
- negotiated_version = Version,
- connection_states = ConnectionStates1,
- premaster_secret = PremasterSecret},
- case ssl_session:is_new(OldId, NewId) of
- true ->
- Session = Session0#session{session_id = NewId,
- cipher_suite = CipherSuite,
+ case ssl_handshake:hello(Hello, SslOptions, ConnectionStates0, Renegotiation) of
+ {Version, NewId, ConnectionStates1} ->
+ {KeyAlgorithm, _, _, _} =
+ ssl_cipher:suite_definition(CipherSuite),
+
+ PremasterSecret = make_premaster_secret(ReqVersion, KeyAlgorithm),
+
+ State1 = State0#state{key_algorithm = KeyAlgorithm,
+ negotiated_version = Version,
+ connection_states = ConnectionStates1,
+ premaster_secret = PremasterSecret},
+
+ case ssl_session:is_new(OldId, NewId) of
+ true ->
+ Session = Session0#session{session_id = NewId,
+ cipher_suite = CipherSuite,
compression_method = Compression},
- {next_state, certify,
- next_record(State#state{session = Session})};
- false ->
- Session = CacheCb:lookup(Cache, {{Host, Port}, NewId}),
- case ssl_handshake:master_secret(Version, Session,
- ConnectionStates1, client) of
- {_, ConnectionStates2} ->
- {next_state, abbreviated,
- next_record(State#state{
- connection_states = ConnectionStates2,
- session = Session})};
- #alert{} = Alert ->
- handle_own_alert(Alert, Version, hello, State),
- {stop, normal, State}
- end
+ {Record, State} = next_record(State1#state{session = Session}),
+ next_state(certify, Record, State);
+ false ->
+ Session = CacheCb:lookup(Cache, {{Host, Port}, NewId}),
+ case ssl_handshake:master_secret(Version, Session,
+ ConnectionStates1, client) of
+ {_, ConnectionStates2} ->
+ {Record, State} =
+ next_record(State1#state{
+ connection_states = ConnectionStates2,
+ session = Session}),
+ next_state(abbreviated, Record, State);
+ #alert{} = Alert ->
+ handle_own_alert(Alert, Version, hello, State1),
+ {stop, normal, State1}
+ end
+ end;
+ #alert{} = Alert ->
+ handle_own_alert(Alert, ReqVersion, hello, State0),
+ {stop, normal, State0}
end;
hello(Hello = #client_hello{client_version = ClientVersion},
State = #state{connection_states = ConnectionStates0,
port = Port, session = Session0,
- session_cache = Cache,
+ renegotiation = {Renegotiation, _},
+ session_cache = Cache,
session_cache_cb = CacheCb,
ssl_options = SslOpts}) ->
- case ssl_handshake:hello(Hello, {Port, SslOpts,
- Session0, Cache, CacheCb,
- ConnectionStates0}) of
+ case ssl_handshake:hello(Hello, SslOpts, {Port, Session0, Cache, CacheCb,
+ ConnectionStates0}, Renegotiation) of
{Version, {Type, Session}, ConnectionStates} ->
do_server_hello(Type, State#state{connection_states =
ConnectionStates,
@@ -354,52 +416,59 @@ hello(Hello = #client_hello{client_version = ClientVersion},
#alert{} = Alert ->
handle_own_alert(Alert, ClientVersion, hello, State),
{stop, normal, State}
- end.
+ end;
-abbreviated(socket_control, #state{role = server} = State) ->
- {next_state, abbreviated, State};
-abbreviated(hello, State) ->
- {next_state, certify, State};
+hello(Msg, State) ->
+ handle_unexpected_message(Msg, hello, State).
-abbreviated(Finished = #finished{},
+abbreviated(#hello_request{}, State0) ->
+ {Record, State} = next_record(State0),
+ next_state(hello, Record, State);
+
+abbreviated(Finished = #finished{verify_data = Data},
#state{role = server,
negotiated_version = Version,
tls_handshake_hashes = Hashes,
session = #session{master_secret = MasterSecret},
- from = From} = State) ->
+ connection_states = ConnectionStates0} =
+ State) ->
case ssl_handshake:verify_connection(Version, Finished, client,
MasterSecret, Hashes) of
- verified ->
- gen_fsm:reply(From, connected),
- {next_state, connection, next_record_if_active(State)};
- #alert{} = Alert ->
+ verified ->
+ ConnectionStates = ssl_record:set_client_verify_data(current_both, Data, ConnectionStates0),
+ next_state_connection(abbreviated,
+ ack_connection(State#state{connection_states = ConnectionStates}));
+ #alert{} = Alert ->
handle_own_alert(Alert, Version, abbreviated, State),
{stop, normal, State}
end;
-abbreviated(Finished = #finished{},
+abbreviated(Finished = #finished{verify_data = Data},
#state{role = client, tls_handshake_hashes = Hashes0,
session = #session{master_secret = MasterSecret},
- from = From,
- negotiated_version = Version} = State) ->
+ negotiated_version = Version,
+ connection_states = ConnectionStates0} = State) ->
case ssl_handshake:verify_connection(Version, Finished, server,
MasterSecret, Hashes0) of
verified ->
- {ConnectionStates, Hashes} = finalize_client_handshake(State),
- gen_fsm:reply(From, connected),
- {next_state, connection,
- next_record_if_active(State#state{tls_handshake_hashes = Hashes,
- connection_states =
- ConnectionStates})};
+ ConnectionStates1 = ssl_record:set_server_verify_data(current_read, Data, ConnectionStates0),
+ {ConnectionStates, Hashes} =
+ finalize_handshake(State#state{connection_states = ConnectionStates1}, abbreviated),
+ next_state_connection(abbreviated,
+ ack_connection(State#state{tls_handshake_hashes = Hashes,
+ connection_states =
+ ConnectionStates}));
#alert{} = Alert ->
handle_own_alert(Alert, Version, abbreviated, State),
{stop, normal, State}
- end.
+ end;
-certify(socket_control, #state{role = server} = State) ->
- {next_state, certify, State};
-certify(hello, State) ->
- {next_state, certify, State};
+abbreviated(Msg, State) ->
+ handle_unexpected_message(Msg, abbreviated, State).
+
+certify(#hello_request{}, State0) ->
+ {Record, State} = next_record(State0),
+ next_state(hello, Record, State);
certify(#certificate{asn1_certificates = []},
#state{role = server, negotiated_version = Version,
@@ -414,53 +483,72 @@ certify(#certificate{asn1_certificates = []},
#state{role = server,
ssl_options = #ssl_options{verify = verify_peer,
fail_if_no_peer_cert = false}} =
- State) ->
- {next_state, certify, next_record(State#state{client_certificate_requested = false})};
+ State0) ->
+ {Record, State} = next_record(State0#state{client_certificate_requested = false}),
+ next_state(certify, Record, State);
certify(#certificate{} = Cert,
- #state{session = Session,
- negotiated_version = Version,
+ #state{negotiated_version = Version,
+ role = Role,
cert_db_ref = CertDbRef,
- ssl_options = Opts} = State0) ->
+ ssl_options = Opts} = State) ->
case ssl_handshake:certify(Cert, CertDbRef, Opts#ssl_options.depth,
Opts#ssl_options.verify,
- Opts#ssl_options.verify_fun) of
+ Opts#ssl_options.verify_fun,
+ Opts#ssl_options.validate_extensions_fun, Role) of
{PeerCert, PublicKeyInfo} ->
- State = State0#state{session =
- Session#session{peer_certificate = PeerCert},
- public_key_info = PublicKeyInfo,
- client_certificate_requested = false
- },
- {next_state, certify, next_record(State)};
+ handle_peer_cert(PeerCert, PublicKeyInfo,
+ State#state{client_certificate_requested = false});
#alert{} = Alert ->
- handle_own_alert(Alert, Version, certify_certificate, State0),
- {stop, normal, State0}
+ handle_own_alert(Alert, Version, certify_certificate, State),
+ {stop, normal, State}
end;
certify(#server_key_exchange{} = KeyExchangeMsg,
- #state{role = client,
- key_algorithm = Alg} = State)
- when Alg == dhe_dss; Alg == dhe_rsa; Alg == dh_anon; Alg == krb5 ->
- NewState = handle_server_key(KeyExchangeMsg, State),
- {next_state, certify, NewState};
+ #state{role = client, negotiated_version = Version,
+ key_algorithm = Alg} = State0)
+ when Alg == dhe_dss; Alg == dhe_rsa ->%%Not imp:Alg == dh_anon;Alg == krb5 ->
+ case handle_server_key(KeyExchangeMsg, State0) of
+ #state{} = State1 ->
+ {Record, State} = next_record(State1),
+ next_state(certify, Record, State);
+ #alert{} = Alert ->
+ handle_own_alert(Alert, Version, certify_server_keyexchange,
+ State0),
+ {stop, normal, State0}
+ end;
certify(#server_key_exchange{},
State = #state{role = client, negotiated_version = Version,
key_algorithm = Alg})
- when Alg == rsa; Alg == dh_dss; Alg == dh_rsa ->
+ when Alg == rsa; Alg == dh_dss; Alg == dh_rsa ->
Alert = ?ALERT_REC(?FATAL, ?UNEXPECTED_MESSAGE),
handle_own_alert(Alert, Version, certify_server_key_exchange, State),
{stop, normal, State};
-certify(KeyExchangeMsg = #server_key_exchange{}, State =
- #state{role = server}) ->
- NewState = handle_clinet_key(KeyExchangeMsg, State),
- {next_state, cipher, NewState};
+certify(#certificate_request{}, State0) ->
+ {Record, State} = next_record(State0#state{client_certificate_requested = true}),
+ next_state(certify, Record, State);
-certify(#certificate_request{}, State) ->
- NewState = State#state{client_certificate_requested = true},
- {next_state, certify, next_record(NewState)};
+%% Master secret was determined with help of server-key exchange msg
+certify(#server_hello_done{},
+ #state{session = #session{master_secret = MasterSecret} = Session,
+ connection_states = ConnectionStates0,
+ negotiated_version = Version,
+ premaster_secret = undefined,
+ role = client} = State0) ->
+ case ssl_handshake:master_secret(Version, Session,
+ ConnectionStates0, client) of
+ {MasterSecret, ConnectionStates1} ->
+ State = State0#state{connection_states = ConnectionStates1},
+ client_certify_and_key_exchange(State);
+ #alert{} = Alert ->
+ handle_own_alert(Alert, Version,
+ certify_server_hello_done, State0),
+ {stop, normal, State0}
+ end;
+%% Master secret is calculated from premaster_secret
certify(#server_hello_done{},
#state{session = Session0,
connection_states = ConnectionStates0,
@@ -487,7 +575,8 @@ certify(#client_key_exchange{},
negotiated_version = Version}) ->
%% We expect a certificate here
Alert = ?ALERT_REC(?FATAL, ?UNEXPECTED_MESSAGE),
- handle_own_alert(Alert, Version, certify_server_waiting_certificate, State),
+ handle_own_alert(Alert, Version,
+ certify_server_waiting_certificate, State),
{stop, normal, State};
@@ -504,9 +593,10 @@ certify(#client_key_exchange{exchange_keys
ConnectionStates0, server) of
{MasterSecret, ConnectionStates} ->
Session = Session0#session{master_secret = MasterSecret},
- State = State0#state{connection_states = ConnectionStates,
+ State1 = State0#state{connection_states = ConnectionStates,
session = Session},
- {next_state, cipher, next_record(State)};
+ {Record, State} = next_record(State1),
+ next_state(cipher, Record, State);
#alert{} = Alert ->
handle_own_alert(Alert, Version,
certify_client_key_exchange, State0),
@@ -517,12 +607,46 @@ certify(#client_key_exchange{exchange_keys
handle_own_alert(Alert, Version, certify_client_key_exchange,
State0),
{stop, normal, State0}
- end.
+ end;
-cipher(socket_control, #state{role = server} = State) ->
- {next_state, cipher, State};
-cipher(hello, State) ->
- {next_state, cipher, State};
+certify(#client_key_exchange{exchange_keys = #client_diffie_hellman_public{
+ dh_public = ClientPublicDhKey}},
+ #state{negotiated_version = Version,
+ diffie_hellman_params = #'DHParameter'{prime = P,
+ base = G},
+ diffie_hellman_keys = {_, ServerDhPrivateKey},
+ role = Role,
+ session = Session,
+ connection_states = ConnectionStates0} = State0) ->
+
+ PMpint = crypto:mpint(P),
+ GMpint = crypto:mpint(G),
+ PremasterSecret = crypto:dh_compute_key(mpint_binary(ClientPublicDhKey),
+ ServerDhPrivateKey,
+ [PMpint, GMpint]),
+
+ case ssl_handshake:master_secret(Version, PremasterSecret,
+ ConnectionStates0, Role) of
+ {MasterSecret, ConnectionStates} ->
+ State1 = State0#state{session =
+ Session#session{master_secret
+ = MasterSecret},
+ connection_states = ConnectionStates},
+
+ {Record, State} = next_record(State1),
+ next_state(cipher, Record, State);
+ #alert{} = Alert ->
+ handle_own_alert(Alert, Version,
+ certify_client_key_exchange, State0),
+ {stop, normal, State0}
+ end;
+
+certify(Msg, State) ->
+ handle_unexpected_message(Msg, certify, State).
+
+cipher(#hello_request{}, State0) ->
+ {Record, State} = next_record(State0),
+ next_state(hello, Record, State);
cipher(#certificate_verify{signature = Signature},
#state{role = server,
@@ -531,104 +655,83 @@ cipher(#certificate_verify{signature = Signature},
session = #session{master_secret = MasterSecret},
key_algorithm = Algorithm,
tls_handshake_hashes = Hashes
- } = State) ->
+ } = State0) ->
case ssl_handshake:certificate_verify(Signature, PublicKeyInfo,
Version, MasterSecret,
Algorithm, Hashes) of
valid ->
- {next_state, cipher, next_record(State)};
+ {Record, State} = next_record(State0),
+ next_state(cipher, Record, State);
#alert{} = Alert ->
- handle_own_alert(Alert, Version, cipher, State),
- {stop, normal, State}
+ handle_own_alert(Alert, Version, cipher, State0),
+ {stop, normal, State0}
end;
-cipher(#finished{} = Finished,
- State = #state{from = From,
- negotiated_version = Version,
- host = Host,
- port = Port,
- role = Role,
- session = #session{master_secret = MasterSecret}
- = Session0,
- tls_handshake_hashes = Hashes}) ->
-
+cipher(#finished{verify_data = Data} = Finished,
+ #state{negotiated_version = Version,
+ host = Host,
+ port = Port,
+ role = Role,
+ session = #session{master_secret = MasterSecret}
+ = Session0,
+ tls_handshake_hashes = Hashes0,
+ connection_states = ConnectionStates0} = State) ->
+
case ssl_handshake:verify_connection(Version, Finished,
opposite_role(Role),
- MasterSecret, Hashes) of
+ MasterSecret, Hashes0) of
verified ->
- gen_fsm:reply(From, connected),
Session = register_session(Role, Host, Port, Session0),
case Role of
client ->
- {next_state, connection,
- next_record_if_active(State#state{session = Session})};
+ ConnectionStates = ssl_record:set_server_verify_data(current_both, Data, ConnectionStates0),
+ next_state_connection(cipher, ack_connection(State#state{session = Session,
+ connection_states = ConnectionStates}));
server ->
- {NewConnectionStates, NewHashes} =
- finalize_server_handshake(State#state{
- session = Session}),
- NewState =
- State#state{connection_states = NewConnectionStates,
- session = Session,
- tls_handshake_hashes = NewHashes},
- {next_state, connection, next_record_if_active(NewState)}
+ ConnectionStates1 = ssl_record:set_client_verify_data(current_read, Data, ConnectionStates0),
+ {ConnectionStates, Hashes} =
+ finalize_handshake(State#state{
+ connection_states = ConnectionStates1,
+ session = Session}, cipher),
+ next_state_connection(cipher, ack_connection(State#state{connection_states =
+ ConnectionStates,
+ session = Session,
+ tls_handshake_hashes =
+ Hashes}))
end;
#alert{} = Alert ->
handle_own_alert(Alert, Version, cipher, State),
{stop, normal, State}
- end.
+ end;
-connection(socket_control, #state{role = server} = State) ->
- {next_state, connection, State};
-connection(hello, State = #state{host = Host, port = Port,
- socket = Socket,
- ssl_options = SslOpts,
- negotiated_version = Version,
- transport_cb = Transport,
- connection_states = ConnectionStates0,
- tls_handshake_hashes = Hashes0}) ->
+cipher(Msg, State) ->
+ handle_unexpected_message(Msg, cipher, State).
+
+connection(#hello_request{}, #state{host = Host, port = Port,
+ socket = Socket,
+ ssl_options = SslOpts,
+ negotiated_version = Version,
+ transport_cb = Transport,
+ connection_states = ConnectionStates0,
+ renegotiation = {Renegotiation, _},
+ tls_handshake_hashes = Hashes0} = State0) ->
+
Hello = ssl_handshake:client_hello(Host, Port,
- ConnectionStates0, SslOpts),
+ ConnectionStates0, SslOpts, Renegotiation),
+
{BinMsg, ConnectionStates1, Hashes1} =
encode_handshake(Hello, Version, ConnectionStates0, Hashes0),
Transport:send(Socket, BinMsg),
- {next_state, hello, State#state{connection_states = ConnectionStates1,
- tls_handshake_hashes = Hashes1}}.
-
-%%--------------------------------------------------------------------
-%% Function:
-%% state_name(Event, From, State) -> {next_state, NextStateName, NextState} |
-%% {next_state, NextStateName,
-%% NextState, Timeout} |
-%% {reply, Reply, NextStateName, NextState}|
-%% {reply, Reply, NextStateName,
-%% NextState, Timeout} |
-%% {stop, Reason, NewState}|
-%% {stop, Reason, Reply, NewState}
-%% Description: There should be one instance of this function for each
-%% possible state name. Whenever a gen_fsm receives an event sent using
-%% gen_fsm:sync_send_event/2,3, the instance of this function with the same
-%% name as the current state name StateName is called to handle the event.
-%%--------------------------------------------------------------------
-connection({application_data, Data0}, _From,
- State = #state{socket = Socket,
- negotiated_version = Version,
- transport_cb = Transport,
- connection_states = ConnectionStates0}) ->
- %% We should look into having a worker process to do this to
- %% parallize send and receive decoding and not block the receiver
- %% if sending is overloading the socket.
- try
- Data = encode_packet(Data0, State#state.socket_options),
- {Msgs, ConnectionStates1} = encode_data(Data, Version, ConnectionStates0),
- Result = Transport:send(Socket, Msgs),
- {reply, Result,
- connection, State#state{connection_states = ConnectionStates1}}
-
- catch throw:Error ->
- {reply, Error, connection, State}
- end.
-
+ {Record, State} = next_record(State0#state{connection_states =
+ ConnectionStates1,
+ tls_handshake_hashes = Hashes1}),
+ next_state(hello, Record, State);
+connection(#client_hello{} = Hello, #state{role = server} = State) ->
+ hello(Hello, State);
+
+connection(Msg, State) ->
+ handle_unexpected_message(Msg, connection, State).
%%--------------------------------------------------------------------
%% Function:
%% handle_event(Event, StateName, State) -> {next_state, NextStateName,
@@ -640,84 +743,8 @@ connection({application_data, Data0}, _From,
%% gen_fsm:send_all_state_event/2, this function is called to handle
%% the event.
%%--------------------------------------------------------------------
-handle_event(#ssl_tls{type = ?HANDSHAKE, fragment = Data},
- StateName,
- State = #state{key_algorithm = KeyAlg,
- tls_handshake_buffer = Buf0,
- negotiated_version = Version}) ->
- Handle =
- fun({Packet, Raw}, {next_state, SName, AS=#state{tls_handshake_hashes=Hs0}}) ->
- Hs1 = ssl_handshake:update_hashes(Hs0, Raw),
- ?MODULE:SName(Packet, AS#state{tls_handshake_hashes=Hs1});
- (_, StopState) -> StopState
- end,
- try
- {Packets, Buf} = ssl_handshake:get_tls_handshake(Data,Buf0, KeyAlg,Version),
- Start = {next_state, StateName, State#state{tls_handshake_buffer = Buf}},
- lists:foldl(Handle, Start, Packets)
- catch throw:#alert{} = Alert ->
- handle_own_alert(Alert, Version, StateName, State),
- {stop, normal, State}
- end;
-
-handle_event(#ssl_tls{type = ?APPLICATION_DATA, fragment = Data},
- StateName, State0) ->
- case application_data(Data, State0) of
- Stop = {stop,_,_} ->
- Stop;
- State ->
- {next_state, StateName, State}
- end;
-
-handle_event(#ssl_tls{type = ?CHANGE_CIPHER_SPEC, fragment = <<1>>} =
- _ChangeCipher,
- StateName,
- State = #state{connection_states = ConnectionStates0}) ->
- ?DBG_TERM(_ChangeCipher),
- ConnectionStates1 =
- ssl_record:activate_pending_connection_state(ConnectionStates0, read),
- {next_state, StateName,
- next_record(State#state{connection_states = ConnectionStates1})};
-
-handle_event(#ssl_tls{type = ?ALERT, fragment = Data}, StateName, State) ->
- Alerts = decode_alerts(Data),
- ?DBG_TERM(Alerts),
- [alert_event(A) || A <- Alerts],
- {next_state, StateName, State};
-
-handle_event(#alert{level = ?FATAL} = Alert, connection,
- #state{from = From, user_application = {_Mon, Pid}, log_alert = Log,
- host = Host, port = Port, session = Session,
- role = Role, socket_options = Opts} = State) ->
- invalidate_session(Role, Host, Port, Session),
- log_alert(Log, connection, Alert),
- alert_user(Opts#socket_options.active, Pid, From, Alert, Role),
- {stop, normal, State};
-handle_event(#alert{level = ?WARNING, description = ?CLOSE_NOTIFY} = Alert,
- connection, #state{from = From,
- role = Role,
- user_application = {_Mon, Pid},
- socket_options = Opts} = State) ->
- alert_user(Opts#socket_options.active, Pid, From, Alert, Role),
- {stop, normal, State};
-
-handle_event(#alert{level = ?FATAL} = Alert, StateName,
- #state{from = From, host = Host, port = Port, session = Session,
- log_alert = Log, role = Role} = State) ->
- invalidate_session(Role, Host, Port, Session),
- log_alert(Log, StateName, Alert),
- alert_user(From, Alert, Role),
- {stop, normal, State};
-handle_event(#alert{level = ?WARNING, description = ?CLOSE_NOTIFY} = Alert,
- _, #state{from = From, role = Role} = State) ->
- alert_user(From, Alert, Role),
- {stop, normal, State};
-handle_event(#alert{level = ?WARNING} = Alert, StateName,
- #state{log_alert = Log} = State) ->
- log_alert(Log, StateName, Alert),
-%%TODO: Could be user_canceled or no_negotiation should the latter be
- %% treated as fatal?!
- {next_state, StateName, next_record(State)}.
+handle_event(_Event, StateName, State) ->
+ {next_state, StateName, State}.
%%--------------------------------------------------------------------
%% Function:
@@ -734,39 +761,81 @@ handle_event(#alert{level = ?WARNING} = Alert, StateName,
%% gen_fsm:sync_send_all_state_event/2,3, this function is called to handle
%% the event.
%%--------------------------------------------------------------------
-handle_sync_event(started, From, StateName, State) ->
+handle_sync_event({application_data, Data0}, From, connection,
+ #state{socket = Socket,
+ negotiated_version = Version,
+ transport_cb = Transport,
+ connection_states = ConnectionStates0,
+ send_queue = SendQueue,
+ socket_options = SockOpts,
+ ssl_options = #ssl_options{renegotiate_at = RenegotiateAt}}
+ = State) ->
+ %% We should look into having a worker process to do this to
+ %% parallize send and receive decoding and not block the receiver
+ %% if sending is overloading the socket.
+ try
+ Data = encode_packet(Data0, SockOpts),
+ case encode_data(Data, Version, ConnectionStates0, RenegotiateAt) of
+ {Msgs, [], ConnectionStates} ->
+ Result = Transport:send(Socket, Msgs),
+ {reply, Result,
+ connection, State#state{connection_states = ConnectionStates}};
+ {Msgs, RestData, ConnectionStates} ->
+ if
+ Msgs =/= [] ->
+ Transport:send(Socket, Msgs);
+ true ->
+ ok
+ end,
+ renegotiate(State#state{connection_states = ConnectionStates,
+ send_queue = queue:in_r({From, RestData}, SendQueue),
+ renegotiation = {true, internal}})
+ end
+ catch throw:Error ->
+ {reply, Error, connection, State}
+ end;
+handle_sync_event({application_data, Data}, From, StateName,
+ #state{send_queue = Queue} = State) ->
+ %% In renegotiation priorities handshake, send data when handshake is finished
+ {next_state, StateName, State#state{send_queue = queue:in({From, Data}, Queue)}};
+
+handle_sync_event(start, From, hello, State) ->
+ hello(start, State#state{from = From});
+
+%% The two clauses below could happen if a server upgrades a socket in
+%% active mode. Note that in this case we are lucky that
+%% controlling_process has been evalueated before receiving handshake
+%% messages from client. The server should put the socket in passive
+%% mode before telling the client that it is willing to upgrade
+%% and before calling ssl:ssl_accept/2. These clauses are
+%% here to make sure it is the users problem and not owers if
+%% they upgrade a active socket.
+handle_sync_event(start, _, connection, State) ->
+ {reply, connected, connection, State};
+handle_sync_event(start, From, StateName, State) ->
{next_state, StateName, State#state{from = From}};
-handle_sync_event(close, From, _StateName, State) ->
- {stop, normal, ok, State#state{from = From}};
+handle_sync_event(close, _, _StateName, State) ->
+ {stop, normal, ok, State};
-handle_sync_event({shutdown, How}, From, StateName,
+handle_sync_event({shutdown, How}, _, StateName,
#state{transport_cb = CbModule,
socket = Socket} = State) ->
case CbModule:shutdown(Socket, How) of
ok ->
{reply, ok, StateName, State};
Error ->
- {stop, normal, Error, State#state{from = From}}
+ {stop, normal, Error, State}
end;
-%% TODO: men vad g�r next_record om det �r t.ex. renegotiate? kanske
-%% inte bra... t�l att t�nkas p�!
-handle_sync_event({recv, N}, From, StateName,
- State0 = #state{user_data_buffer = Buffer}) ->
- State1 = State0#state{bytes_to_read = N, from = From},
- case Buffer of
- <<>> ->
- State = next_record(State1),
- {next_state, StateName, State};
- _ ->
- case application_data(<<>>, State1) of
- Stop = {stop, _, _} ->
- Stop;
- State ->
- {next_state, StateName, State}
- end
- end;
+handle_sync_event({recv, N}, From, connection = StateName, State0) ->
+ passive_receive(State0#state{bytes_to_read = N, from = From}, StateName);
+
+%% Doing renegotiate wait with handling request until renegotiate is
+%% finished. Will be handled by next_state_connection/2.
+handle_sync_event({recv, N}, From, StateName, State) ->
+ {next_state, StateName, State#state{bytes_to_read = N, from = From,
+ recv_during_renegotiation = true}};
handle_sync_event({new_user, User}, _From, StateName,
State =#state{user_application = {OldMon, _}}) ->
@@ -801,7 +870,13 @@ handle_sync_event({set_opts, Opts0}, _From, StateName,
{reply, ok, StateName, State1};
Buffer =:= <<>>, Opts1#socket_options.active =:= false ->
%% Need data, set active once
- {reply, ok, StateName, next_record_if_active(State1)};
+ {Record, State2} = next_record_if_active(State1),
+ case next_state(StateName, Record, State2) of
+ {next_state, StateName, State} ->
+ {reply, ok, StateName, State};
+ {stop, Reason, State} ->
+ {stop, Reason, State}
+ end;
Buffer =:= <<>> ->
%% Active once already set
{reply, ok, StateName, State1};
@@ -809,10 +884,21 @@ handle_sync_event({set_opts, Opts0}, _From, StateName,
case application_data(<<>>, State1) of
Stop = {stop,_,_} ->
Stop;
- State ->
- {reply, ok, StateName, State}
+ {Record, State2} ->
+ case next_state(StateName, Record, State2) of
+ {next_state, StateName, State} ->
+ {reply, ok, StateName, State};
+ {stop, Reason, State} ->
+ {stop, Reason, State}
+ end
end
- end;
+ end;
+
+handle_sync_event(renegotiate, From, connection, State) ->
+ renegotiate(State#state{renegotiation = {true, From}});
+
+handle_sync_event(renegotiate, _, StateName, State) ->
+ {reply, {error, already_renegotiating}, StateName, State};
handle_sync_event(info, _, StateName,
#state{negotiated_version = Version,
@@ -834,7 +920,6 @@ handle_sync_event(peer_certificate, _, StateName,
= State) ->
{reply, {ok, Cert}, StateName, State}.
-
%%--------------------------------------------------------------------
%% Function:
%% handle_info(Info,StateName,State)-> {next_state, NextStateName, NextState}|
@@ -847,50 +932,17 @@ handle_sync_event(peer_certificate, _, StateName,
%%--------------------------------------------------------------------
%% raw data from TCP, unpack records
-handle_info({Protocol, _, Data}, StateName, State =
+handle_info({Protocol, _, Data}, StateName,
#state{data_tag = Protocol,
- negotiated_version = Version,
- tls_record_buffer = Buf0,
- tls_cipher_texts = CT0}) ->
- case ssl_record:get_tls_records(Data, Buf0) of
- {Records, Buf1} ->
- CT1 = CT0 ++ Records,
- {next_state, StateName,
- next_record(State#state{tls_record_buffer = Buf1,
- tls_cipher_texts = CT1})};
+ negotiated_version = Version} = State0) ->
+ case next_tls_record(Data, State0) of
+ {Record, State} ->
+ next_state(StateName, Record, State);
#alert{} = Alert ->
- handle_own_alert(Alert, Version, StateName, State),
- {stop, normal, State}
+ handle_own_alert(Alert, Version, StateName, State0),
+ {stop, normal, State0}
end;
-%% %% This is the code for {packet,ssl} removed because it was slower
-%% %% than handling it in erlang.
-%% handle_info(Data = #ssl_tls{}, StateName,
-%% State = #state{tls_buffer = Buffer,
-%% socket = Socket,
-%% connection_states = ConnectionStates0}) ->
-%% case Buffer of
-%% buffer ->
-%% {next_state, StateName, State#state{tls_buffer = [Data]}};
-%% continue ->
-%% inet:setopts(Socket, [{active,once}]),
-%% {Plain, ConnectionStates} =
-%% ssl_record:decode_cipher_text(Data, ConnectionStates0),
-%% gen_fsm:send_all_state_event(self(), Plain),
-%% {next_state, StateName,
-%% State#state{tls_buffer = buffer,
-%% connection_states = ConnectionStates}};
-%% List when is_list(List) ->
-%% {next_state, StateName,
-%% State#state{tls_buffer = Buffer ++ [Data]}}
-%% end;
-
-%% handle_info(CloseMsg = {_, Socket}, StateName0,
-%% #state{socket = Socket,tls_buffer = [Msg]} = State0) ->
-%% %% Hmm we have a ssl_tls msg buffered, handle that first
-%% %% and it proberbly is a close alert
-%% {next_state, StateName0, State0#state{tls_buffer=[Msg,{ssl_close,CloseMsg}]}};
-
handle_info({CloseTag, Socket}, _StateName,
#state{socket = Socket, close_tag = CloseTag,
negotiated_version = Version, host = Host,
@@ -909,13 +961,28 @@ handle_info({CloseTag, Socket}, _StateName,
?ALERT_REC(?WARNING, ?CLOSE_NOTIFY), Role),
{stop, normal, State};
+handle_info({ErrorTag, Socket, econnaborted}, StateName,
+ #state{socket = Socket, from = User, role = Role,
+ error_tag = ErrorTag} = State) when StateName =/= connection ->
+ alert_user(User, ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE), Role),
+ {stop, normal, State};
+
+handle_info({ErrorTag, Socket, Reason}, _,
+ #state{socket = Socket, from = User,
+ role = Role, error_tag = ErrorTag} = State) ->
+ Report = io_lib:format("SSL: Socket error: ~p ~n", [Reason]),
+ error_logger:info_report(Report),
+ alert_user(User, ?ALERT_REC(?FATAL, ?CLOSE_NOTIFY), Role),
+ {stop, normal, State};
+
handle_info({'DOWN', MonitorRef, _, _, _}, _,
State = #state{user_application={MonitorRef,_Pid}}) ->
{stop, normal, State};
-handle_info(A, StateName, State) ->
- io:format("SSL: Bad info (state ~w): ~w\n", [StateName, A]),
- {stop, bad_info, State}.
+handle_info(Msg, StateName, State) ->
+ Report = io_lib:format("SSL: Got unexpected info: ~p ~n", [Msg]),
+ error_logger:info_report(Report),
+ {next_state, StateName, State}.
%%--------------------------------------------------------------------
%% Function: terminate(Reason, StateName, State) -> void()
@@ -924,17 +991,25 @@ handle_info(A, StateName, State) ->
%% necessary cleaning up. When it returns, the gen_fsm terminates with
%% Reason. The return value is ignored.
%%--------------------------------------------------------------------
-terminate(_Reason, connection, _S=#state{negotiated_version = Version,
+terminate(_Reason, connection, #state{negotiated_version = Version,
connection_states = ConnectionStates,
transport_cb = Transport,
- socket = Socket}) ->
+ socket = Socket, send_queue = SendQueue,
+ renegotiation = Renegotiate}) ->
+ notify_senders(SendQueue),
+ notify_renegotiater(Renegotiate),
{BinAlert, _} = encode_alert(?ALERT_REC(?WARNING,?CLOSE_NOTIFY),
Version, ConnectionStates),
Transport:send(Socket, BinAlert),
+ workaround_transport_delivery_problems(Socket, Transport),
Transport:close(Socket);
-terminate(_Reason, _StateName, _S=#state{transport_cb = Transport, socket = Socket}) ->
- Transport:close(Socket),
- ok.
+terminate(_Reason, _StateName, #state{transport_cb = Transport,
+ socket = Socket, send_queue = SendQueue,
+ renegotiation = Renegotiate}) ->
+ notify_senders(SendQueue),
+ notify_renegotiater(Renegotiate),
+ workaround_transport_delivery_problems(Socket, Transport),
+ Transport:close(Socket).
%%--------------------------------------------------------------------
%% Function:
@@ -947,18 +1022,21 @@ code_change(_OldVsn, StateName, State, _Extra) ->
%%--------------------------------------------------------------------
%%% Internal functions
%%--------------------------------------------------------------------
-start_fsm(Role, Host, Port, Socket, Opts, User, {CbModule, _,_} = CbInfo,
+start_fsm(Role, Host, Port, Socket, Opts, User, {CbModule, _,_, _} = CbInfo,
Timeout) ->
case ssl_connection_sup:start_child([Role, Host, Port, Socket,
Opts, User, CbInfo]) of
{ok, Pid} ->
- CbModule:controlling_process(Socket, Pid),
- send_event(Pid, socket_control),
- case sync_send_all_state_event(Pid, started, Timeout) of
- connected ->
- {ok, sslsocket(Pid)};
- {error, Reason} ->
- {error, Reason}
+ case socket_control(Socket, Pid, CbModule) of
+ {ok, SslSocket} ->
+ case handshake(SslSocket, Timeout) of
+ ok ->
+ {ok, SslSocket};
+ {error, Reason} ->
+ {error, Reason}
+ end;
+ {error, Reason} ->
+ {error, Reason}
end;
{error, Reason} ->
{error, Reason}
@@ -969,8 +1047,8 @@ ssl_init(SslOpts, Role) ->
PrivateKey =
init_private_key(SslOpts#ssl_options.key, SslOpts#ssl_options.keyfile,
SslOpts#ssl_options.password, Role),
- ?DBG_TERM(PrivateKey),
- {ok, CertDbRef, CacheRef, OwnCert, PrivateKey}.
+ DHParams = init_diffie_hellman(SslOpts#ssl_options.dhfile, Role),
+ {ok, CertDbRef, CacheRef, OwnCert, PrivateKey, DHParams}.
init_certificates(#ssl_options{cacertfile = CACertFile,
certfile = CertFile}, Role) ->
@@ -1005,12 +1083,14 @@ init_certificates(CertDbRef, CacheRef, CertFile, server) ->
catch
_E:{badmatch, _R={error,_}} ->
Report = io_lib:format("SSL: ~p: ~p:~p ~s~n ~p~n",
- [?LINE, _E,_R, CertFile, erlang:get_stacktrace()]),
+ [?LINE, _E,_R, CertFile,
+ erlang:get_stacktrace()]),
error_logger:error_report(Report),
throw(ecertfile);
_E:_R ->
Report = io_lib:format("SSL: ~p: ~p:~p ~s~n ~p~n",
- [?LINE, _E,_R, CertFile, erlang:get_stacktrace()]),
+ [?LINE, _E,_R, CertFile,
+ erlang:get_stacktrace()]),
error_logger:error_report(Report),
throw(ecertfile)
end.
@@ -1021,47 +1101,43 @@ init_private_key(undefined, KeyFile, Password, _) ->
try
{ok, List} = ssl_manager:cache_pem_file(KeyFile),
[Der] = [Der || Der = {PKey, _ , _} <- List,
- PKey =:= rsa_private_key orelse PKey =:= dsa_private_key],
+ PKey =:= rsa_private_key orelse
+ PKey =:= dsa_private_key],
{ok, Decoded} = public_key:decode_private_key(Der,Password),
Decoded
catch
_E:{badmatch, _R={error,_}} ->
Report = io_lib:format("SSL: ~p: ~p:~p ~s~n ~p~n",
- [?LINE, _E,_R, KeyFile, erlang:get_stacktrace()]),
+ [?LINE, _E,_R, KeyFile,
+ erlang:get_stacktrace()]),
error_logger:error_report(Report),
throw(ekeyfile);
_E:_R ->
Report = io_lib:format("SSL: ~p: ~p:~p ~s~n ~p~n",
- [?LINE, _E,_R, KeyFile, erlang:get_stacktrace()]),
+ [?LINE, _E,_R, KeyFile,
+ erlang:get_stacktrace()]),
error_logger:error_report(Report),
throw(ekeyfile)
end;
init_private_key(PrivateKey, _, _,_) ->
PrivateKey.
-send_event(FsmPid, Event) ->
- gen_fsm:send_event(FsmPid, Event).
-
-sync_send_event(FsmPid, Event, Timeout) ->
- try gen_fsm:sync_send_event(FsmPid, Event, Timeout) of
- Reply ->
- Reply
- catch
- exit:{noproc, _} ->
- {error, closed};
- exit:{timeout, _} ->
- {error, timeout};
- exit:{normal, _} ->
- {error, closed}
+init_diffie_hellman(_, client) ->
+ undefined;
+init_diffie_hellman(undefined, _) ->
+ ?DEFAULT_DIFFIE_HELLMAN_PARAMS;
+init_diffie_hellman(DHParamFile, server) ->
+ {ok, List} = ssl_manager:cache_pem_file(DHParamFile),
+ case [Der || Der = {dh_params, _ , _} <- List] of
+ [Der] ->
+ {ok, Decoded} = public_key:decode_dhparams(Der),
+ Decoded;
+ [] ->
+ ?DEFAULT_DIFFIE_HELLMAN_PARAMS
end.
-
-
-send_all_state_event(FsmPid, Event) ->
- gen_fsm:send_all_state_event(FsmPid, Event).
-
sync_send_all_state_event(FsmPid, Event) ->
- sync_send_all_state_event(FsmPid, Event, ?DEFAULT_TIMEOUT).
+ sync_send_all_state_event(FsmPid, Event, infinity).
sync_send_all_state_event(FsmPid, Event, Timeout) ->
try gen_fsm:sync_send_all_state_event(FsmPid, Event, Timeout)
@@ -1074,9 +1150,16 @@ sync_send_all_state_event(FsmPid, Event, Timeout) ->
{error, closed}
end.
-%% Events: #alert{}
-alert_event(Alert) ->
- send_all_state_event(self(), Alert).
+%% We do currently not support cipher suites that use fixed DH.
+%% If we want to implement that we should add a code
+%% here to extract DH parameters form cert.
+handle_peer_cert(PeerCert, PublicKeyInfo,
+ #state{session = Session} = State0) ->
+ State1 = State0#state{session =
+ Session#session{peer_certificate = PeerCert},
+ public_key_info = PublicKeyInfo},
+ {Record, State} = next_record(State1),
+ next_state(certify, Record, State).
certify_client(#state{client_certificate_requested = true, role = client,
connection_states = ConnectionStates0,
@@ -1111,9 +1194,8 @@ verify_client_cert(#state{client_certificate_requested = true, role = client,
ignore -> %% No key or cert or fixed_diffie_hellman
State;
Verified ->
- SigAlg = ssl_handshake:sig_alg(KeyAlg),
{BinVerified, ConnectionStates1, Hashes1} =
- encode_handshake(Verified, SigAlg, Version,
+ encode_handshake(Verified, KeyAlg, Version,
ConnectionStates0, Hashes0),
Transport:send(Socket, BinVerified),
State#state{connection_states = ConnectionStates1,
@@ -1124,29 +1206,34 @@ verify_client_cert(#state{client_certificate_requested = false} = State) ->
do_server_hello(Type, #state{negotiated_version = Version,
session = Session,
- connection_states = ConnectionStates0}
+ connection_states = ConnectionStates0,
+ renegotiation = {Renegotiation, _}}
= State0) when is_atom(Type) ->
ServerHello =
ssl_handshake:server_hello(Session#session.session_id, Version,
- ConnectionStates0),
- State = server_hello(ServerHello, State0),
+ ConnectionStates0, Renegotiation),
+ State1 = server_hello(ServerHello, State0),
case Type of
new ->
- do_server_hello(ServerHello, State);
+ do_server_hello(ServerHello, State1);
resumed ->
+ ConnectionStates1 = State1#state.connection_states,
case ssl_handshake:master_secret(Version, Session,
- ConnectionStates0, server) of
- {_, ConnectionStates1} ->
- State1 = State#state{connection_states=ConnectionStates1,
- session = Session},
- {ConnectionStates, Hashes} = finalize_server_handshake(State1),
- Resumed = State1#state{connection_states = ConnectionStates,
- tls_handshake_hashes = Hashes},
- {next_state, abbreviated, next_record(Resumed)};
+ ConnectionStates1, server) of
+ {_, ConnectionStates2} ->
+ State2 = State1#state{connection_states=ConnectionStates2,
+ session = Session},
+ {ConnectionStates, Hashes} =
+ finalize_handshake(State2, abbreviated),
+ State3 = State2#state{connection_states =
+ ConnectionStates,
+ tls_handshake_hashes = Hashes},
+ {Record, State} = next_record(State3),
+ next_state(abbreviated, Record, State);
#alert{} = Alert ->
- handle_own_alert(Alert, Version, hello, State),
- {stop, normal, State}
+ handle_own_alert(Alert, Version, hello, State1),
+ {stop, normal, State1}
end
end;
@@ -1157,12 +1244,13 @@ do_server_hello(#server_hello{cipher_suite = CipherSuite,
negotiated_version = Version} = State0) ->
try server_certify_and_key_exchange(State0) of
#state{} = State1 ->
- State = server_hello_done(State1),
+ State2 = server_hello_done(State1),
Session =
Session0#session{session_id = SessionId,
cipher_suite = CipherSuite,
compression_method = Compression},
- {next_state, certify, State#state{session = Session}}
+ {Record, State} = next_record(State2#state{session = Session}),
+ next_state(certify, Record, State)
catch
#alert{} = Alert ->
handle_own_alert(Alert, Version, hello, State0),
@@ -1173,16 +1261,16 @@ client_certify_and_key_exchange(#state{negotiated_version = Version} =
State0) ->
try do_client_certify_and_key_exchange(State0) of
State1 = #state{} ->
- {ConnectionStates, Hashes} = finalize_client_handshake(State1),
- State = State1#state{connection_states = ConnectionStates,
+ {ConnectionStates, Hashes} = finalize_handshake(State1, certify),
+ State2 = State1#state{connection_states = ConnectionStates,
%% Reinitialize
client_certificate_requested = false,
tls_handshake_hashes = Hashes},
- {next_state, cipher, next_record(State)}
-
+ {Record, State} = next_record(State2),
+ next_state(cipher, Record, State)
catch
#alert{} = Alert ->
- handle_own_alert(Alert, Version, certify_foo, State0),
+ handle_own_alert(Alert, Version, client_certify_and_key_exchange, State0),
{stop, normal, State0}
end.
@@ -1215,17 +1303,16 @@ server_hello_done(#state{transport_cb = Transport,
socket = Socket,
negotiated_version = Version,
connection_states = ConnectionStates,
- tls_handshake_hashes = Hashes} = State0) ->
+ tls_handshake_hashes = Hashes} = State) ->
HelloDone = ssl_handshake:server_hello_done(),
-
+
{BinHelloDone, NewConnectionStates, NewHashes} =
encode_handshake(HelloDone, Version, ConnectionStates, Hashes),
Transport:send(Socket, BinHelloDone),
- State = State0#state{connection_states = NewConnectionStates,
- tls_handshake_hashes = NewHashes},
- next_record(State).
-
+ State#state{connection_states = NewConnectionStates,
+ tls_handshake_hashes = NewHashes}.
+
certify_server(#state{transport_cb = Transport,
socket = Socket,
negotiated_version = Version,
@@ -1252,14 +1339,16 @@ key_exchange(#state{role = server, key_algorithm = Algo} = State)
Algo == dh_rsa ->
State;
-key_exchange(#state{role = server, key_algorithm = rsa_export} = State) ->
+%% Remove or uncomment when we decide if to support export cipher suites
+%%key_exchange(#state{role = server, key_algorithm = rsa_export} = State) ->
%% TODO when the public key in the server certificate is
%% less than or equal to 512 bits in length dont send key_exchange
%% but do it otherwise
- State;
+%% State;
key_exchange(#state{role = server, key_algorithm = Algo,
diffie_hellman_params = Params,
+ private_key = PrivateKey,
connection_states = ConnectionStates0,
negotiated_version = Version,
tls_handshake_hashes = Hashes0,
@@ -1270,26 +1359,28 @@ key_exchange(#state{role = server, key_algorithm = Algo,
Algo == dhe_dss_export;
Algo == dhe_rsa;
Algo == dhe_rsa_export ->
- Msg = ssl_handshake:key_exchange(server, Params),
- {BinMsg, ConnectionStates1, Hashes1} =
- encode_handshake(Msg, Version, ConnectionStates0, Hashes0),
- Transport:send(Socket, BinMsg),
- State#state{connection_states = ConnectionStates1,
- tls_handshake_hashes = Hashes1};
-key_exchange(#state{role = server, key_algorithm = dh_anon,
- connection_states = ConnectionStates0,
- negotiated_version = Version,
- tls_handshake_hashes = Hashes0,
- socket = Socket,
- transport_cb = Transport
- } = State) ->
- Msg = ssl_handshake:key_exchange(server, anonymous),
- {BinMsg, ConnectionStates1, Hashes1} =
+ Keys = public_key:gen_key(Params),
+ ConnectionState =
+ ssl_record:pending_connection_state(ConnectionStates0, read),
+ SecParams = ConnectionState#connection_state.security_parameters,
+ #security_parameters{client_random = ClientRandom,
+ server_random = ServerRandom} = SecParams,
+ Msg = ssl_handshake:key_exchange(server, {dh, Keys, Params,
+ Algo, ClientRandom,
+ ServerRandom,
+ PrivateKey}),
+ {BinMsg, ConnectionStates, Hashes1} =
encode_handshake(Msg, Version, ConnectionStates0, Hashes0),
Transport:send(Socket, BinMsg),
- State#state{connection_states = ConnectionStates1,
+ State#state{connection_states = ConnectionStates,
+ diffie_hellman_keys = Keys,
tls_handshake_hashes = Hashes1};
+
+
+%% key_algorithm = dh_anon is not supported. Should be by default disabled
+%% if support is implemented and then we need a key_exchange clause for it
+%% here.
key_exchange(#state{role = client,
connection_states = ConnectionStates0,
@@ -1309,23 +1400,24 @@ key_exchange(#state{role = client,
key_exchange(#state{role = client,
connection_states = ConnectionStates0,
key_algorithm = Algorithm,
- public_key_info = PublicKeyInfo,
negotiated_version = Version,
- diffie_hellman_params = Params,
- own_cert = Cert,
+ diffie_hellman_keys = {DhPubKey, _},
socket = Socket, transport_cb = Transport,
tls_handshake_hashes = Hashes0} = State)
when Algorithm == dhe_dss;
Algorithm == dhe_dss_export;
Algorithm == dhe_rsa;
Algorithm == dhe_rsa_export ->
- Msg = dh_key_exchange(Cert, Params, PublicKeyInfo),
+ Msg = ssl_handshake:key_exchange(client, {dh, DhPubKey}),
{BinMsg, ConnectionStates1, Hashes1} =
encode_handshake(Msg, Version, ConnectionStates0, Hashes0),
Transport:send(Socket, BinMsg),
State#state{connection_states = ConnectionStates1,
tls_handshake_hashes = Hashes1}.
+%% key_algorithm = dh_rsa | dh_dss are not supported. If we want to
+%% support it we need a key_exchange clause for it here.
+
rsa_key_exchange(PremasterSecret, PublicKeyInfo = {Algorithm, _, _})
when Algorithm == ?rsaEncryption;
Algorithm == ?md2WithRSAEncryption;
@@ -1334,17 +1426,22 @@ rsa_key_exchange(PremasterSecret, PublicKeyInfo = {Algorithm, _, _})
ssl_handshake:key_exchange(client,
{premaster_secret, PremasterSecret,
PublicKeyInfo});
-
rsa_key_exchange(_, _) ->
throw (?ALERT_REC(?FATAL,?HANDSHAKE_FAILURE)).
-dh_key_exchange(OwnCert, Params, PublicKeyInfo) ->
- case public_key:pkix_is_fixed_dh_cert(OwnCert) of
- true ->
- ssl_handshake:key_exchange(client, fixed_diffie_hellman);
- false ->
- ssl_handshake:key_exchange(client, {dh, Params, PublicKeyInfo})
- end.
+%% Uncomment if we decide to support cipher suites with key_algorithm
+%% dh_rsa and dh_dss. Could also be removed if we decide support for
+%% this will not be needed. Not supported by openssl!
+%% dh_key_exchange(OwnCert, DhKeys, true) ->
+%% case public_key:pkix_is_fixed_dh_cert(OwnCert) of
+%% true ->
+%% ssl_handshake:key_exchange(client, fixed_diffie_hellman);
+%% false ->
+%% {DhPubKey, _} = DhKeys,
+%% ssl_handshake:key_exchange(client, {dh, DhPubKey})
+%% end;
+%% dh_key_exchange(_, {DhPubKey, _}, false) ->
+%% ssl_handshake:key_exchange(client, {dh, DhPubKey}).
request_client_cert(#state{ssl_options = #ssl_options{verify = verify_peer},
connection_states = ConnectionStates0,
@@ -1364,48 +1461,105 @@ request_client_cert(#state{ssl_options = #ssl_options{verify = verify_none}} =
State) ->
State.
-finalize_client_handshake(#state{connection_states = ConnectionStates0}
- = State) ->
- ConnectionStates1 =
- cipher_protocol(State#state{connection_states =
- ConnectionStates0}),
- ConnectionStates2 =
- ssl_record:activate_pending_connection_state(ConnectionStates1,
+finalize_handshake(State, StateName) ->
+ ConnectionStates0 = cipher_protocol(State),
+ ConnectionStates =
+ ssl_record:activate_pending_connection_state(ConnectionStates0,
write),
- finished(State#state{connection_states = ConnectionStates2}).
+ finished(State#state{connection_states = ConnectionStates}, StateName).
-
-finalize_server_handshake(State) ->
- ConnectionStates0 = cipher_protocol(State),
- ConnectionStates =
- ssl_record:activate_pending_connection_state(ConnectionStates0, write),
- finished(State#state{connection_states = ConnectionStates}).
-
-cipher_protocol(#state{connection_states = ConnectionStates,
+cipher_protocol(#state{connection_states = ConnectionStates0,
socket = Socket,
negotiated_version = Version,
transport_cb = Transport}) ->
- {BinChangeCipher, NewConnectionStates} =
- encode_change_cipher(#change_cipher_spec{}, Version, ConnectionStates),
+ {BinChangeCipher, ConnectionStates} =
+ encode_change_cipher(#change_cipher_spec{},
+ Version, ConnectionStates0),
Transport:send(Socket, BinChangeCipher),
- NewConnectionStates.
+ ConnectionStates.
finished(#state{role = Role, socket = Socket, negotiated_version = Version,
transport_cb = Transport,
session = Session,
- connection_states = ConnectionStates,
- tls_handshake_hashes = Hashes}) ->
+ connection_states = ConnectionStates0,
+ tls_handshake_hashes = Hashes0}, StateName) ->
MasterSecret = Session#session.master_secret,
- Finished = ssl_handshake:finished(Version, Role, MasterSecret, Hashes),
- {BinFinished, NewConnectionStates, NewHashes} =
- encode_handshake(Finished, Version, ConnectionStates, Hashes),
+ Finished = ssl_handshake:finished(Version, Role, MasterSecret, Hashes0),
+ ConnectionStates1 = save_verify_data(Role, Finished, ConnectionStates0, StateName),
+ {BinFinished, ConnectionStates, Hashes} =
+ encode_handshake(Finished, Version, ConnectionStates1, Hashes0),
Transport:send(Socket, BinFinished),
- {NewConnectionStates, NewHashes}.
+ {ConnectionStates, Hashes}.
+
+save_verify_data(client, #finished{verify_data = Data}, ConnectionStates, certify) ->
+ ssl_record:set_client_verify_data(current_write, Data, ConnectionStates);
+save_verify_data(server, #finished{verify_data = Data}, ConnectionStates, cipher) ->
+ ssl_record:set_server_verify_data(current_both, Data, ConnectionStates);
+save_verify_data(client, #finished{verify_data = Data}, ConnectionStates, abbreviated) ->
+ ssl_record:set_client_verify_data(current_both, Data, ConnectionStates);
+save_verify_data(server, #finished{verify_data = Data}, ConnectionStates, abbreviated) ->
+ ssl_record:set_server_verify_data(current_write, Data, ConnectionStates).
+
+handle_server_key(
+ #server_key_exchange{params =
+ #server_dh_params{dh_p = P,
+ dh_g = G,
+ dh_y = ServerPublicDhKey},
+ signed_params = Signed},
+ #state{session = Session, negotiated_version = Version, role = Role,
+ public_key_info = PubKeyInfo,
+ key_algorithm = KeyAlgo,
+ connection_states = ConnectionStates0} = State) ->
+
+ PLen = size(P),
+ GLen = size(G),
+ YLen = size(ServerPublicDhKey),
+
+ ConnectionState =
+ ssl_record:pending_connection_state(ConnectionStates0, read),
+ SecParams = ConnectionState#connection_state.security_parameters,
+ #security_parameters{client_random = ClientRandom,
+ server_random = ServerRandom} = SecParams,
+ Hash = ssl_handshake:server_key_exchange_hash(KeyAlgo,
+ <<ClientRandom/binary,
+ ServerRandom/binary,
+ ?UINT16(PLen), P/binary,
+ ?UINT16(GLen), G/binary,
+ ?UINT16(YLen),
+ ServerPublicDhKey/binary>>),
+
+ case verify_dh_params(Signed, Hash, PubKeyInfo) of
+ true ->
+ PMpint = mpint_binary(P),
+ GMpint = mpint_binary(G),
+ Keys = {_, ClientDhPrivateKey} =
+ crypto:dh_generate_key([PMpint,GMpint]),
+ PremasterSecret =
+ crypto:dh_compute_key(mpint_binary(ServerPublicDhKey),
+ ClientDhPrivateKey, [PMpint, GMpint]),
+ case ssl_handshake:master_secret(Version, PremasterSecret,
+ ConnectionStates0, Role) of
+ {MasterSecret, ConnectionStates} ->
+ State#state{diffie_hellman_keys = Keys,
+ session =
+ Session#session{master_secret
+ = MasterSecret},
+ connection_states = ConnectionStates};
+ #alert{} = Alert ->
+ Alert
+ end;
+ false ->
+ ?ALERT_REC(?FATAL,?HANDSHAKE_FAILURE)
+ end.
-handle_server_key(_KeyExchangeMsg, State) ->
- State.
-handle_clinet_key(_KeyExchangeMsg, State) ->
- State.
+verify_dh_params(Signed, Hash, {?rsaEncryption, PubKey, _PubKeyparams}) ->
+ case public_key:decrypt_public(Signed, PubKey,
+ [{rsa_pad, rsa_pkcs1_padding}]) of
+ Hash ->
+ true;
+ _ ->
+ false
+ end.
encode_alert(#alert{} = Alert, Version, ConnectionStates) ->
?DBG_TERM(Alert),
@@ -1442,8 +1596,8 @@ encode_size_packet(Bin, Size, Max) ->
false -> <<Len:Size, Bin/binary>>
end.
-encode_data(Data, Version, ConnectionStates) ->
- ssl_record:encode_data(Data, Version, ConnectionStates).
+encode_data(Data, Version, ConnectionStates, RenegotiateAt) ->
+ ssl_record:encode_data(Data, Version, ConnectionStates, RenegotiateAt).
decode_alerts(Bin) ->
decode_alerts(Bin, []).
@@ -1454,6 +1608,20 @@ decode_alerts(<<?BYTE(Level), ?BYTE(Description), Rest/binary>>, Acc) ->
decode_alerts(<<>>, Acc) ->
lists:reverse(Acc, []).
+passive_receive(State0 = #state{user_data_buffer = Buffer}, StateName) ->
+ case Buffer of
+ <<>> ->
+ {Record, State} = next_record(State0),
+ next_state(StateName, Record, State);
+ _ ->
+ case application_data(<<>>, State0) of
+ Stop = {stop, _, _} ->
+ Stop;
+ {Record, State} ->
+ next_state(StateName, Record, State)
+ end
+ end.
+
application_data(Data, #state{user_application = {_Mon, Pid},
socket_options = SOpts,
bytes_to_read = BytesToRead,
@@ -1475,12 +1643,12 @@ application_data(Data, #state{user_application = {_Mon, Pid},
socket_options = SocketOpt
},
if
- SocketOpt#socket_options.active =:= false ->
- State; %% Passive mode, wait for active once or recv
- Buffer =:= <<>> -> %% Active and empty, get more data
- next_record(State);
- true -> %% We have more data
- application_data(<<>>, State)
+ SocketOpt#socket_options.active =:= false; Buffer =:= <<>> ->
+ %% Passive mode, wait for active once or recv
+ %% Active and empty, get more data
+ next_record_if_active(State);
+ true -> %% We have more data
+ application_data(<<>>, State)
end;
{error,_Reason} -> %% Invalid packet in packet mode
deliver_packet_error(SOpts, Buffer1, Pid, From),
@@ -1504,39 +1672,82 @@ get_data(#socket_options{active=Active, packet=Raw}, BytesToRead, Buffer)
end;
get_data(#socket_options{packet=Type, packet_size=Size}, _, Buffer) ->
PacketOpts = [{packet_size, Size}],
- case erlang:decode_packet(Type, Buffer, PacketOpts) of
+ case decode_packet(Type, Buffer, PacketOpts) of
{more, _} ->
{ok, <<>>, Buffer};
Decoded ->
Decoded
end.
-deliver_app_data(SO = #socket_options{active=once}, Data, Pid, From) ->
- send_or_reply(once, Pid, From, format_reply(SO, Data)),
- SO#socket_options{active=false};
-deliver_app_data(SO= #socket_options{active=Active}, Data, Pid, From) ->
- send_or_reply(Active, Pid, From, format_reply(SO, Data)),
- SO.
+decode_packet({http, headers}, Buffer, PacketOpts) ->
+ decode_packet(httph, Buffer, PacketOpts);
+decode_packet({http_bin, headers}, Buffer, PacketOpts) ->
+ decode_packet(httph_bin, Buffer, PacketOpts);
+decode_packet(Type, Buffer, PacketOpts) ->
+ erlang:decode_packet(Type, Buffer, PacketOpts).
+
+%% Just like with gen_tcp sockets, an ssl socket that has been configured with
+%% {packet, http} (or {packet, http_bin}) will automatically switch to expect
+%% HTTP headers after it sees a HTTP Request or HTTP Response line. We
+%% represent the current state as follows:
+%% #socket_options.packet =:= http: Expect a HTTP Request/Response line
+%% #socket_options.packet =:= {http, headers}: Expect HTTP Headers
+%% Note that if the user has explicitly configured the socket to expect
+%% HTTP headers using the {packet, httph} option, we don't do any automatic
+%% switching of states.
+deliver_app_data(SOpts = #socket_options{active=Active, packet=Type},
+ Data, Pid, From) ->
+ send_or_reply(Active, Pid, From, format_reply(SOpts, Data)),
+ SO = case Data of
+ {P, _, _, _} when ((P =:= http_request) or (P =:= http_response)),
+ ((Type =:= http) or (Type =:= http_bin)) ->
+ SOpts#socket_options{packet={Type, headers}};
+ http_eoh when tuple_size(Type) =:= 2 ->
+ % End of headers - expect another Request/Response line
+ {Type1, headers} = Type,
+ SOpts#socket_options{packet=Type1};
+ _ ->
+ SOpts
+ end,
+ case Active of
+ once ->
+ SO#socket_options{active=false};
+ _ ->
+ SO
+ end.
-format_reply(#socket_options{active=false, mode=Mode, header=Header}, Data) ->
- {ok, format_reply(Mode, Header, Data)};
-format_reply(#socket_options{active=_, mode=Mode, header=Header}, Data) ->
- {ssl, sslsocket(), format_reply(Mode, Header, Data)}.
+format_reply(#socket_options{active = false, mode = Mode, packet = Packet,
+ header = Header}, Data) ->
+ {ok, format_reply(Mode, Packet, Header, Data)};
+format_reply(#socket_options{active = _, mode = Mode, packet = Packet,
+ header = Header}, Data) ->
+ {ssl, sslsocket(), format_reply(Mode, Packet, Header, Data)}.
-deliver_packet_error(SO= #socket_options{active=Active}, Data, Pid, From) ->
+deliver_packet_error(SO= #socket_options{active = Active}, Data, Pid, From) ->
send_or_reply(Active, Pid, From, format_packet_error(SO, Data)).
-format_packet_error(#socket_options{active=false, mode=Mode}, Data) ->
- {error, {invalid_packet, format_reply(Mode, raw, Data)}};
-format_packet_error(#socket_options{active=_, mode=Mode}, Data) ->
- {ssl_error, sslsocket(), {invalid_packet, format_reply(Mode, raw, Data)}}.
-
-format_reply(list, _, Data) -> binary_to_list(Data);
-format_reply(binary, 0, Data) -> Data;
-format_reply(binary, raw, Data) -> Data;
-format_reply(binary, N, Data) -> % Header mode
- <<Header:N/binary, Rest/binary>> = Data,
- [binary_to_list(Header), Rest].
+format_packet_error(#socket_options{active = false, mode = Mode}, Data) ->
+ {error, {invalid_packet, format_reply(Mode, raw, 0, Data)}};
+format_packet_error(#socket_options{active = _, mode = Mode}, Data) ->
+ {ssl_error, sslsocket(), {invalid_packet, format_reply(Mode, raw, 0, Data)}}.
+
+format_reply(binary, _, N, Data) when N > 0 -> % Header mode
+ header(N, Data);
+format_reply(binary, _, _, Data) -> Data;
+format_reply(list, Packet, _, Data) when is_integer(Packet); Packet == raw ->
+ binary_to_list(Data);
+format_reply(list, _,_, Data) ->
+ Data.
+
+header(0, <<>>) ->
+ <<>>;
+header(_, <<>>) ->
+ [];
+header(0, Binary) ->
+ Binary;
+header(N, Binary) ->
+ <<?BYTE(ByteN), NewBinary/binary>> = Binary,
+ [ByteN | header(N-1, NewBinary)].
%% tcp_closed
send_or_reply(false, _Pid, undefined, _Data) ->
@@ -1557,50 +1768,137 @@ opposite_role(server) ->
send_user(Pid, Msg) ->
Pid ! Msg.
-%% %% This is the code for {packet,ssl} removed because it was slower
-%% %% than handling it in erlang.
-%% next_record(#state{socket = Socket,
-%% tls_buffer = [Msg|Rest],
-%% connection_states = ConnectionStates0} = State) ->
-%% Buffer =
-%% case Rest of
-%% [] ->
-%% inet:setopts(Socket, [{active,once}]),
-%% buffer;
-%% _ -> Rest
-%% end,
-%% case Msg of
-%% #ssl_tls{} ->
-%% {Plain, ConnectionStates} =
-%% ssl_record:decode_cipher_text(Msg, ConnectionStates0),
-%% gen_fsm:send_all_state_event(self(), Plain),
-%% State#state{tls_buffer=Buffer, connection_states = ConnectionStates};
-%% {ssl_close, Msg} ->
-%% self() ! Msg,
-%% State#state{tls_buffer=Buffer}
-%% end;
-%% next_record(#state{socket = Socket, tls_buffer = undefined} = State) ->
-%% inet:setopts(Socket, [{active,once}]),
-%% State#state{tls_buffer=continue};
-%% next_record(State) ->
-%% State#state{tls_buffer=continue}.
+next_state(Next, no_record, State) ->
+ {next_state, Next, State};
+
+next_state(Next, #ssl_tls{type = ?ALERT, fragment = EncAlerts}, State) ->
+ Alerts = decode_alerts(EncAlerts),
+ handle_alerts(Alerts, {next_state, Next, State});
+
+next_state(StateName, #ssl_tls{type = ?HANDSHAKE, fragment = Data},
+ State0 = #state{key_algorithm = KeyAlg,
+ tls_handshake_buffer = Buf0,
+ negotiated_version = Version}) ->
+ Handle =
+ fun({#hello_request{} = Packet, _}, {next_state, connection = SName, State}) ->
+ %% This message should not be included in handshake
+ %% message hashes. Starts new handshake (renegotiation)
+ Hs0 = ssl_handshake:init_hashes(),
+ ?MODULE:SName(Packet, State#state{tls_handshake_hashes=Hs0,
+ renegotiation = {true, peer}});
+ ({#hello_request{} = Packet, _}, {next_state, SName, State}) ->
+ %% This message should not be included in handshake
+ %% message hashes. Already in negotiation so it will be ignored!
+ ?MODULE:SName(Packet, State);
+ ({#client_hello{} = Packet, Raw}, {next_state, connection = SName, State}) ->
+ Hs0 = ssl_handshake:init_hashes(),
+ Hs1 = ssl_handshake:update_hashes(Hs0, Raw),
+ ?MODULE:SName(Packet, State#state{tls_handshake_hashes=Hs1,
+ renegotiation = {true, peer}});
+ ({Packet, Raw}, {next_state, SName, State = #state{tls_handshake_hashes=Hs0}}) ->
+ Hs1 = ssl_handshake:update_hashes(Hs0, Raw),
+ ?MODULE:SName(Packet, State#state{tls_handshake_hashes=Hs1});
+ (_, StopState) -> StopState
+ end,
+ try
+ {Packets, Buf} = ssl_handshake:get_tls_handshake(Data,Buf0, KeyAlg,Version),
+ Start = {next_state, StateName, State0#state{tls_handshake_buffer = Buf}},
+ lists:foldl(Handle, Start, Packets)
+ catch throw:#alert{} = Alert ->
+ handle_own_alert(Alert, Version, StateName, State0),
+ {stop, normal, State0}
+ end;
+
+next_state(StateName, #ssl_tls{type = ?APPLICATION_DATA, fragment = Data}, State0) ->
+ case application_data(Data, State0) of
+ Stop = {stop,_,_} ->
+ Stop;
+ {Record, State} ->
+ next_state(StateName, Record, State)
+ end;
+next_state(StateName, #ssl_tls{type = ?CHANGE_CIPHER_SPEC, fragment = <<1>>} =
+ _ChangeCipher,
+ #state{connection_states = ConnectionStates0} = State0) ->
+ ?DBG_TERM(_ChangeCipher),
+ ConnectionStates1 =
+ ssl_record:activate_pending_connection_state(ConnectionStates0, read),
+ {Record, State} = next_record(State0#state{connection_states = ConnectionStates1}),
+ next_state(StateName, Record, State);
+next_state(StateName, #ssl_tls{type = _Unknown}, State0) ->
+ %% Ignore unknown type
+ {Record, State} = next_record(State0),
+ next_state(StateName, Record, State).
+
+next_tls_record(Data, #state{tls_record_buffer = Buf0,
+ tls_cipher_texts = CT0} = State0) ->
+ case ssl_record:get_tls_records(Data, Buf0) of
+ {Records, Buf1} ->
+ CT1 = CT0 ++ Records,
+ next_record(State0#state{tls_record_buffer = Buf1,
+ tls_cipher_texts = CT1});
+ #alert{} = Alert ->
+ Alert
+ end.
next_record(#state{tls_cipher_texts = [], socket = Socket} = State) ->
inet:setopts(Socket, [{active,once}]),
- State;
+ {no_record, State};
next_record(#state{tls_cipher_texts = [CT | Rest],
connection_states = ConnStates0} = State) ->
{Plain, ConnStates} = ssl_record:decode_cipher_text(CT, ConnStates0),
- gen_fsm:send_all_state_event(self(), Plain),
- State#state{tls_cipher_texts = Rest, connection_states = ConnStates}.
+ {Plain, State#state{tls_cipher_texts = Rest, connection_states = ConnStates}}.
next_record_if_active(State =
#state{socket_options =
#socket_options{active = false}}) ->
- State;
+ {no_record ,State};
+
next_record_if_active(State) ->
next_record(State).
+next_state_connection(StateName, #state{send_queue = Queue0,
+ negotiated_version = Version,
+ socket = Socket,
+ transport_cb = Transport,
+ connection_states = ConnectionStates0,
+ ssl_options = #ssl_options{renegotiate_at = RenegotiateAt}
+ } = State) ->
+ %% Send queued up data
+ case queue:out(Queue0) of
+ {{value, {From, Data}}, Queue} ->
+ case encode_data(Data, Version, ConnectionStates0, RenegotiateAt) of
+ {Msgs, [], ConnectionStates} ->
+ Result = Transport:send(Socket, Msgs),
+ gen_fsm:reply(From, Result),
+ next_state_connection(StateName,
+ State#state{connection_states = ConnectionStates,
+ send_queue = Queue});
+ %% This is unlikely to happen. User configuration of the
+ %% undocumented test option renegotiation_at can make it more likely.
+ {Msgs, RestData, ConnectionStates} ->
+ if
+ Msgs =/= [] ->
+ Transport:send(Socket, Msgs);
+ true ->
+ ok
+ end,
+ renegotiate(State#state{connection_states = ConnectionStates,
+ send_queue = queue:in_r({From, RestData}, Queue),
+ renegotiation = {true, internal}})
+ end;
+ {empty, Queue0} ->
+ next_state_is_connection(State)
+ end.
+
+next_state_is_connection(State =
+ #state{recv_during_renegotiation = true, socket_options =
+ #socket_options{active = false}}) ->
+ passive_receive(State#state{recv_during_renegotiation = false}, connection);
+
+next_state_is_connection(State0) ->
+ {Record, State} = next_record_if_active(State0),
+ next_state(connection, Record, State).
+
register_session(_, _, _, #session{is_resumable = true} = Session) ->
Session; %% Already registered
register_session(client, Host, Port, Session0) ->
@@ -1618,7 +1916,7 @@ invalidate_session(server, _, Port, Session) ->
ssl_manager:invalidate_session(Port, Session).
initial_state(Role, Host, Port, Socket, {SSLOptions, SocketOptions}, User,
- {CbModule, DataTag, CloseTag}) ->
+ {CbModule, DataTag, CloseTag, ErrorTag}) ->
ConnectionStates = ssl_record:init_connection_states(Role),
SessionCacheCb = case application:get_env(ssl, session_cb) of
@@ -1638,6 +1936,7 @@ initial_state(Role, Host, Port, Socket, {SSLOptions, SocketOptions}, User,
transport_cb = CbModule,
data_tag = DataTag,
close_tag = CloseTag,
+ error_tag = ErrorTag,
role = Role,
host = Host,
port = Port,
@@ -1650,7 +1949,10 @@ initial_state(Role, Host, Port, Socket, {SSLOptions, SocketOptions}, User,
bytes_to_read = 0,
user_data_buffer = <<>>,
log_alert = true,
- session_cache_cb = SessionCacheCb
+ session_cache_cb = SessionCacheCb,
+ renegotiation = {false, first},
+ recv_during_renegotiation = false,
+ send_queue = queue:new()
}.
sslsocket(Pid) ->
@@ -1665,8 +1967,12 @@ get_socket_opts(Socket, [mode | Tags], SockOpts, Acc) ->
get_socket_opts(Socket, Tags, SockOpts,
[{mode, SockOpts#socket_options.mode} | Acc]);
get_socket_opts(Socket, [packet | Tags], SockOpts, Acc) ->
- get_socket_opts(Socket, Tags, SockOpts,
- [{packet, SockOpts#socket_options.packet} | Acc]);
+ case SockOpts#socket_options.packet of
+ {Type, headers} ->
+ get_socket_opts(Socket, Tags, SockOpts, [{packet, Type} | Acc]);
+ Type ->
+ get_socket_opts(Socket, Tags, SockOpts, [{packet, Type} | Acc])
+ end;
get_socket_opts(Socket, [header | Tags], SockOpts, Acc) ->
get_socket_opts(Socket, Tags, SockOpts,
[{header, SockOpts#socket_options.header} | Acc]);
@@ -1688,7 +1994,8 @@ set_socket_opts(Socket, [], SockOpts, Other) ->
inet:setopts(Socket, Other),
SockOpts;
set_socket_opts(Socket, [{mode, Mode}| Opts], SockOpts, Other) ->
- set_socket_opts(Socket, Opts, SockOpts#socket_options{mode = Mode}, Other);
+ set_socket_opts(Socket, Opts,
+ SockOpts#socket_options{mode = Mode}, Other);
set_socket_opts(Socket, [{packet, Packet}| Opts], SockOpts, Other) ->
set_socket_opts(Socket, Opts,
SockOpts#socket_options{packet = Packet}, Other);
@@ -1701,10 +2008,71 @@ set_socket_opts(Socket, [{active, Active}| Opts], SockOpts, Other) ->
set_socket_opts(Socket, [Opt | Opts], SockOpts, Other) ->
set_socket_opts(Socket, Opts, SockOpts, [Opt | Other]).
+handle_alerts([], Result) ->
+ Result;
+handle_alerts(_, {stop, _, _} = Stop) ->
+ %% If it is a fatal alert immediately close
+ Stop;
+handle_alerts([Alert | Alerts], {next_state, StateName, State}) ->
+ handle_alerts(Alerts, handle_alert(Alert, StateName, State)).
+
+handle_alert(#alert{level = ?FATAL} = Alert, connection,
+ #state{from = From, user_application = {_Mon, Pid},
+ log_alert = Log,
+ host = Host, port = Port, session = Session,
+ role = Role, socket_options = Opts} = State) ->
+ invalidate_session(Role, Host, Port, Session),
+ log_alert(Log, connection, Alert),
+ alert_user(Opts#socket_options.active, Pid, From, Alert, Role),
+ {stop, normal, State};
+
+handle_alert(#alert{level = ?WARNING, description = ?CLOSE_NOTIFY} = Alert,
+ connection, #state{from = From,
+ role = Role,
+ user_application = {_Mon, Pid},
+ socket_options = Opts} = State) ->
+ alert_user(Opts#socket_options.active, Pid, From, Alert, Role),
+ {stop, normal, State};
+
+handle_alert(#alert{level = ?FATAL} = Alert, StateName,
+ #state{from = From, host = Host, port = Port, session = Session,
+ log_alert = Log, role = Role} = State) ->
+ invalidate_session(Role, Host, Port, Session),
+ log_alert(Log, StateName, Alert),
+ alert_user(From, Alert, Role),
+ {stop, normal, State};
+handle_alert(#alert{level = ?WARNING, description = ?CLOSE_NOTIFY} = Alert,
+ _, #state{from = From, role = Role} = State) ->
+ alert_user(From, Alert, Role),
+ {stop, normal, State};
+
+handle_alert(#alert{level = ?WARNING, description = ?NO_RENEGOTIATION} = Alert, StateName,
+ #state{log_alert = Log, renegotiation = {true, internal}, from = From,
+ role = Role} = State) ->
+ log_alert(Log, StateName, Alert),
+ alert_user(From, Alert, Role),
+ {stop, normal, State};
+
+handle_alert(#alert{level = ?WARNING, description = ?NO_RENEGOTIATION} = Alert, StateName,
+ #state{log_alert = Log, renegotiation = {true, From}} = State0) ->
+ log_alert(Log, StateName, Alert),
+ gen_fsm:reply(From, {error, renegotiation_rejected}),
+ {Record, State} = next_record(State0),
+ next_state(connection, Record, State);
+
+handle_alert(#alert{level = ?WARNING, description = ?USER_CANCELED} = Alert, StateName,
+ #state{log_alert = Log} = State0) ->
+ log_alert(Log, StateName, Alert),
+ {Record, State} = next_record(State0),
+ next_state(StateName, Record, State).
+
alert_user(From, Alert, Role) ->
alert_user(false, no_pid, From, Alert, Role).
alert_user(false = Active, Pid, From, Alert, Role) ->
+ %% If there is an outstanding ssl_accept | recv
+ %% From will be defined and send_or_reply will
+ %% send the appropriate error message.
ReasonCode = ssl_alert:reason_code(Alert, Role),
send_or_reply(Active, Pid, From, {error, ReasonCode});
alert_user(Active, Pid, From, Alert, Role) ->
@@ -1732,7 +2100,7 @@ handle_own_alert(Alert, Version, StateName,
log_alert = Log}) ->
try %% Try to tell the other side
{BinMsg, _} =
- encode_alert(Alert, Version, ConnectionStates),
+ encode_alert(Alert, Version, ConnectionStates),
Transport:send(Socket, BinMsg)
catch _:_ -> %% Can crash if we are in a uninitialized state
ignore
@@ -1744,6 +2112,70 @@ handle_own_alert(Alert, Version, StateName,
ok
end.
-make_premaster_secret({MajVer, MinVer}) ->
+handle_unexpected_message(_Msg, StateName, #state{negotiated_version = Version} = State) ->
+ Alert = ?ALERT_REC(?FATAL,?UNEXPECTED_MESSAGE),
+ handle_own_alert(Alert, Version, StateName, State),
+ {stop, normal, State}.
+
+make_premaster_secret({MajVer, MinVer}, Alg) when Alg == rsa;
+ Alg == dh_dss;
+ Alg == dh_rsa ->
Rand = crypto:rand_bytes(?NUM_OF_PREMASTERSECRET_BYTES-2),
- <<?BYTE(MajVer), ?BYTE(MinVer), Rand/binary>>.
+ <<?BYTE(MajVer), ?BYTE(MinVer), Rand/binary>>;
+make_premaster_secret(_, _) ->
+ undefined.
+
+mpint_binary(Binary) ->
+ Size = byte_size(Binary),
+ <<?UINT32(Size), Binary/binary>>.
+
+
+ack_connection(#state{renegotiation = {true, Initiater}} = State)
+ when Initiater == internal;
+ Initiater == peer ->
+ State#state{renegotiation = undefined};
+ack_connection(#state{renegotiation = {true, From}} = State) ->
+ gen_fsm:reply(From, ok),
+ State#state{renegotiation = undefined};
+ack_connection(#state{renegotiation = {false, first},
+ from = From} = State) when From =/= undefined ->
+ gen_fsm:reply(From, connected),
+ State#state{renegotiation = undefined};
+ack_connection(State) ->
+ State.
+
+renegotiate(#state{role = client} = State) ->
+ %% Handle same way as if server requested
+ %% the renegotiation
+ Hs0 = ssl_handshake:init_hashes(),
+ connection(#hello_request{}, State#state{tls_handshake_hashes = Hs0});
+renegotiate(#state{role = server,
+ socket = Socket,
+ transport_cb = Transport,
+ negotiated_version = Version,
+ connection_states = ConnectionStates0} = State0) ->
+ HelloRequest = ssl_handshake:hello_request(),
+ Frag = ssl_handshake:encode_handshake(HelloRequest, Version, undefined),
+ Hs0 = ssl_handshake:init_hashes(),
+ {BinMsg, ConnectionStates} =
+ ssl_record:encode_handshake(Frag, Version, ConnectionStates0),
+ Transport:send(Socket, BinMsg),
+ {Record, State} = next_record(State0#state{connection_states =
+ ConnectionStates,
+ tls_handshake_hashes = Hs0}),
+ next_state(hello, Record, State).
+
+notify_senders(SendQueue) ->
+ lists:foreach(fun({From, _}) ->
+ gen_fsm:reply(From, {error, closed})
+ end, queue:to_list(SendQueue)).
+
+notify_renegotiater({true, From}) when not is_atom(From) ->
+ gen_fsm:reply(From, {error, closed});
+notify_renegotiater(_) ->
+ ok.
+
+workaround_transport_delivery_problems(Socket, Transport) ->
+ inet:setopts(Socket, [{active, false}]),
+ Transport:shutdown(Socket, write),
+ Transport:recv(Socket, 0).
diff --git a/lib/ssl/src/ssl_handshake.erl b/lib/ssl/src/ssl_handshake.erl
index 8c598135ca..3772e540b3 100644
--- a/lib/ssl/src/ssl_handshake.erl
+++ b/lib/ssl/src/ssl_handshake.erl
@@ -31,11 +31,11 @@
-include("ssl_debug.hrl").
-include_lib("public_key/include/public_key.hrl").
--export([master_secret/4, client_hello/4, server_hello/3, hello/2,
- certify/5, certificate/3,
+-export([master_secret/4, client_hello/5, server_hello/4, hello/4,
+ hello_request/0, certify/7, certificate/3,
client_certificate_verify/6,
certificate_verify/6, certificate_request/2,
- key_exchange/2, finished/4,
+ key_exchange/2, server_key_exchange_hash/2, finished/4,
verify_connection/5,
get_tls_handshake/4,
server_hello_done/0, sig_alg/1,
@@ -57,7 +57,7 @@
%%--------------------------------------------------------------------
client_hello(Host, Port, ConnectionStates, #ssl_options{versions = Versions,
ciphers = Ciphers}
- = SslOpts) ->
+ = SslOpts, Renegotiation) ->
Fun = fun(Version) ->
ssl_record:protocol_version(Version)
@@ -70,22 +70,25 @@ client_hello(Host, Port, ConnectionStates, #ssl_options{versions = Versions,
#client_hello{session_id = Id,
client_version = Version,
- cipher_suites = Ciphers,
+ cipher_suites = cipher_suites(Ciphers, Renegotiation),
compression_methods = ssl_record:compressions(),
- random = SecParams#security_parameters.client_random
+ random = SecParams#security_parameters.client_random,
+ renegotiation_info =
+ renegotiation_info(client, ConnectionStates, Renegotiation)
}.
%%--------------------------------------------------------------------
-%% Function: server_hello(Host, Port, SessionId,
-%% Version, ConnectionStates) -> #server_hello{}
+%% Function: server_hello(SessionId, Version,
+%% ConnectionStates, Renegotiation) -> #server_hello{}
%% SessionId
%% Version
-%% ConnectionStates
+%% ConnectionStates
+%% Renegotiation
%%
%%
%% Description: Creates a server hello message.
%%--------------------------------------------------------------------
-server_hello(SessionId, Version, ConnectionStates) ->
+server_hello(SessionId, Version, ConnectionStates, Renegotiation) ->
Pending = ssl_record:pending_connection_state(ConnectionStates, read),
SecParams = Pending#connection_state.security_parameters,
#server_hello{server_version = Version,
@@ -93,31 +96,56 @@ server_hello(SessionId, Version, ConnectionStates) ->
compression_method =
SecParams#security_parameters.compression_algorithm,
random = SecParams#security_parameters.server_random,
- session_id = SessionId
+ session_id = SessionId,
+ renegotiation_info =
+ renegotiation_info(server, ConnectionStates, Renegotiation)
}.
%%--------------------------------------------------------------------
-%% Function: hello(Hello, Info) ->
+%% Function: hello_request() -> #hello_request{}
+%%
+%% Description: Creates a hello request message sent by server to
+%% trigger renegotiation.
+%%--------------------------------------------------------------------
+hello_request() ->
+ #hello_request{}.
+
+%%--------------------------------------------------------------------
+%% Function: hello(Hello, Info, Renegotiation) ->
%% {Version, Id, NewConnectionStates} |
%% #alert{}
%%
%% Hello = #client_hello{} | #server_hello{}
-%% Info = ConnectionStates | {Port, Session, ConnectionStates}
+%% Info = ConnectionStates | {Port, #ssl_options{}, Session,
+%% Cahce, CahceCb, ConnectionStates}
%% ConnectionStates = #connection_states{}
+%% Renegotiation = boolean()
%%
%% Description: Handles a recieved hello message
%%--------------------------------------------------------------------
hello(#server_hello{cipher_suite = CipherSuite, server_version = Version,
compression_method = Compression, random = Random,
- session_id = SessionId}, ConnectionStates) ->
- NewConnectionStates =
- hello_pending_connection_states(client, CipherSuite, Random,
- Compression, ConnectionStates),
- {Version, SessionId, NewConnectionStates};
-
-hello(#client_hello{client_version = ClientVersion, random = Random} = Hello,
- {Port, #ssl_options{versions = Versions} = SslOpts,
- Session0, Cache, CacheCb, ConnectionStates0}) ->
+ session_id = SessionId, renegotiation_info = Info},
+ #ssl_options{secure_renegotiate = SecureRenegotation},
+ ConnectionStates0, Renegotiation) ->
+
+ case handle_renegotiation_info(client, Info, ConnectionStates0,
+ Renegotiation, SecureRenegotation, []) of
+ {ok, ConnectionStates1} ->
+ ConnectionStates =
+ hello_pending_connection_states(client, CipherSuite, Random,
+ Compression, ConnectionStates1),
+ {Version, SessionId, ConnectionStates};
+ #alert{} = Alert ->
+ Alert
+ end;
+
+hello(#client_hello{client_version = ClientVersion, random = Random,
+ cipher_suites = CipherSuites,
+ renegotiation_info = Info} = Hello,
+ #ssl_options{versions = Versions,
+ secure_renegotiate = SecureRenegotation} = SslOpts,
+ {Port, Session0, Cache, CacheCb, ConnectionStates0}, Renegotiation) ->
Version = select_version(ClientVersion, Versions),
case ssl_record:is_acceptable_version(Version) of
true ->
@@ -129,13 +157,20 @@ hello(#client_hello{client_version = ClientVersion, random = Random} = Hello,
no_suite ->
?ALERT_REC(?FATAL, ?INSUFFICIENT_SECURITY);
_ ->
- ConnectionStates =
- hello_pending_connection_states(server,
- CipherSuite,
- Random,
- Compression,
- ConnectionStates0),
- {Version, {Type, Session}, ConnectionStates}
+ case handle_renegotiation_info(server, Info, ConnectionStates0,
+ Renegotiation, SecureRenegotation,
+ CipherSuites) of
+ {ok, ConnectionStates1} ->
+ ConnectionStates =
+ hello_pending_connection_states(server,
+ CipherSuite,
+ Random,
+ Compression,
+ ConnectionStates1),
+ {Version, {Type, Session}, ConnectionStates};
+ #alert{} = Alert ->
+ Alert
+ end
end;
false ->
?ALERT_REC(?FATAL, ?PROTOCOL_VERSION)
@@ -152,10 +187,25 @@ hello(#client_hello{client_version = ClientVersion, random = Random} = Hello,
%% Description: Handles a certificate handshake message
%%--------------------------------------------------------------------
certify(#certificate{asn1_certificates = ASN1Certs}, CertDbRef,
- MaxPathLen, Verify, VerifyFun) ->
+ MaxPathLen, Verify, VerifyFun, ValidateFun, Role) ->
[PeerCert | _] = ASN1Certs,
VerifyBool = verify_bool(Verify),
-
+
+ ValidateExtensionFun =
+ case ValidateFun of
+ undefined ->
+ fun(Extensions, ValidationState, Verify0, AccError) ->
+ ssl_certificate:validate_extensions(Extensions, ValidationState,
+ [], Verify0, AccError, Role)
+ end;
+ Fun ->
+ fun(Extensions, ValidationState, Verify0, AccError) ->
+ {NewExtensions, NewValidationState, NewAccError}
+ = ssl_certificate:validate_extensions(Extensions, ValidationState,
+ [], Verify0, AccError, Role),
+ Fun(NewExtensions, NewValidationState, Verify0, NewAccError)
+ end
+ end,
try
%% Allow missing root_cert and check that with VerifyFun
ssl_certificate:trusted_cert_and_path(ASN1Certs, CertDbRef, false) of
@@ -165,6 +215,8 @@ certify(#certificate{asn1_certificates = ASN1Certs}, CertDbRef,
[{max_path_length,
MaxPathLen},
{verify, VerifyBool},
+ {validate_extensions_fun,
+ ValidateExtensionFun},
{acc_errors,
VerifyErrors}]),
case Result of
@@ -248,8 +300,10 @@ client_certificate_verify(OwnCert, MasterSecret, Version, Algorithm,
%% Description: Checks that the certificate_verify message is valid.
%%--------------------------------------------------------------------
certificate_verify(Signature, {_, PublicKey, _}, Version,
- MasterSecret, Algorithm, {_, Hashes0})
- when Algorithm =:= rsa; Algorithm =:= dh_rsa; Algorithm =:= dhe_rsa ->
+ MasterSecret, Algorithm, {_, Hashes0})
+ when Algorithm == rsa;
+ Algorithm == dh_rsa;
+ Algorithm == dhe_rsa ->
Hashes = calc_certificate_verify(Version, MasterSecret,
Algorithm, Hashes0),
case public_key:decrypt_public(Signature, PublicKey,
@@ -291,38 +345,40 @@ key_exchange(client, {premaster_secret, Secret, {_, PublicKey, _}}) ->
EncPremasterSecret =
encrypted_premaster_secret(Secret, PublicKey),
#client_key_exchange{exchange_keys = EncPremasterSecret};
-key_exchange(client, fixed_diffie_hellman) ->
- #client_key_exchange{exchange_keys =
- #client_diffie_hellman_public{
- dh_public = <<>>
- }};
-key_exchange(client, {dh, PublicKey}) ->
- Len = byte_size(PublicKey),
+
+%% Uncomment if dh_rsa and dh_dss cipher suites should
+%% be supported.
+%% key_exchange(client, fixed_diffie_hellman) ->
+%% #client_key_exchange{exchange_keys =
+%% #client_diffie_hellman_public{
+%% dh_public = <<>>
+%% }};
+key_exchange(client, {dh, <<?UINT32(Len), PublicKey:Len/binary>>}) ->
#client_key_exchange{
- exchange_keys = #client_diffie_hellman_public{
- dh_public = <<?UINT16(Len), PublicKey/binary>>}
+ exchange_keys = #client_diffie_hellman_public{
+ dh_public = PublicKey}
};
-%% key_exchange(server, {{?'dhpublicnumber', _PublicKey,
-%% #'DomainParameters'{p = P, g = G, y = Y},
-%% SignAlgorithm, ClientRandom, ServerRandom}}) ->
-%% ServerDHParams = #server_dh_params{dh_p = P, dh_g = G, dh_y = Y},
-%% PLen = byte_size(P),
-%% GLen = byte_size(G),
-%% YLen = byte_size(Y),
-%% Hash = server_key_exchange_hash(SignAlgorithm, <<ClientRandom/binary,
-%% ServerRandom/binary,
-%% ?UINT16(PLen), P/binary,
-%% ?UINT16(GLen), G/binary,
-%% ?UINT16(YLen), Y/binary>>),
-%% Signed = digitally_signed(Hash, PrivateKey),
-%% #server_key_exchange{
-%% params = ServerDHParams,
-%% signed_params = Signed
-%% };
-key_exchange(_, _) ->
- %%TODO : Real imp
- #server_key_exchange{}.
+key_exchange(server, {dh, {<<?UINT32(_), PublicKey/binary>>, _},
+ #'DHParameter'{prime = P, base = G},
+ KeyAlgo, ClientRandom, ServerRandom, PrivateKey}) ->
+ <<?UINT32(_), PBin/binary>> = crypto:mpint(P),
+ <<?UINT32(_), GBin/binary>> = crypto:mpint(G),
+ PLen = byte_size(PBin),
+ GLen = byte_size(GBin),
+ YLen = byte_size(PublicKey),
+ ServerDHParams = #server_dh_params{dh_p = PBin,
+ dh_g = GBin, dh_y = PublicKey},
+
+ Hash =
+ server_key_exchange_hash(KeyAlgo, <<ClientRandom/binary,
+ ServerRandom/binary,
+ ?UINT16(PLen), PBin/binary,
+ ?UINT16(GLen), GBin/binary,
+ ?UINT16(YLen), PublicKey/binary>>),
+ Signed = digitally_signed(Hash, PrivateKey),
+ #server_key_exchange{params = ServerDHParams,
+ signed_params = Signed}.
%%--------------------------------------------------------------------
%% Function: master_secret(Version, Session/PremasterSecret,
@@ -417,7 +473,8 @@ server_hello_done() ->
%%
%% encode a handshake packet to binary
%%--------------------------------------------------------------------
-encode_handshake(Package, Version, SigAlg) ->
+encode_handshake(Package, Version, KeyAlg) ->
+ SigAlg = sig_alg(KeyAlg),
{MsgType, Bin} = enc_hs(Package, Version, SigAlg),
Len = byte_size(Bin),
[MsgType, ?uint24(Len), Bin].
@@ -437,32 +494,16 @@ get_tls_handshake(Data, Buffer, KeyAlg, Version) ->
get_tls_handshake_aux(list_to_binary([Buffer, Data]),
KeyAlg, Version, []).
-get_tls_handshake_aux(<<?BYTE(Type), ?UINT24(Length), Body:Length/binary,Rest/binary>>,
- KeyAlg, Version, Acc) ->
+get_tls_handshake_aux(<<?BYTE(Type), ?UINT24(Length),
+ Body:Length/binary,Rest/binary>>, KeyAlg,
+ Version, Acc) ->
Raw = <<?BYTE(Type), ?UINT24(Length), Body/binary>>,
- H = dec_hs(Type, Body, KeyAlg, Version),
+ H = dec_hs(Type, Body, key_exchange_alg(KeyAlg), Version),
get_tls_handshake_aux(Rest, KeyAlg, Version, [{H,Raw} | Acc]);
get_tls_handshake_aux(Data, _KeyAlg, _Version, Acc) ->
{lists:reverse(Acc), Data}.
%%--------------------------------------------------------------------
-%% Function: sig_alg(atom()) -> integer()
-%%
-%% Description: Convert from key exchange as atom to signature
-%% algorithm as a ?SIGNATURE_... constant
-%%--------------------------------------------------------------------
-
-sig_alg(dh_anon) ->
- ?SIGNATURE_ANONYMOUS;
-sig_alg(Alg) when Alg == dhe_rsa; Alg == rsa; Alg == dh_rsa ->
- ?SIGNATURE_RSA;
-sig_alg(Alg) when Alg == dh_dss; Alg == dhe_dss ->
- ?SIGNATURE_DSA;
-sig_alg(_) ->
- ?NULL.
-
-
-%%--------------------------------------------------------------------
%%% Internal functions
%%--------------------------------------------------------------------
verify_bool(verify_peer) ->
@@ -510,7 +551,109 @@ select_session(Hello, Port, Session, Version,
false ->
{resumed, CacheCb:lookup(Cache, {Port, SessionId})}
end.
-
+
+
+cipher_suites(Suites, false) ->
+ [?TLS_EMPTY_RENEGOTIATION_INFO_SCSV | Suites];
+cipher_suites(Suites, true) ->
+ Suites.
+
+renegotiation_info(client, _, false) ->
+ #renegotiation_info{renegotiated_connection = undefined};
+renegotiation_info(server, ConnectionStates, false) ->
+ CS = ssl_record:current_connection_state(ConnectionStates, read),
+ case CS#connection_state.secure_renegotiation of
+ true ->
+ #renegotiation_info{renegotiated_connection = ?byte(0)};
+ false ->
+ #renegotiation_info{renegotiated_connection = undefined}
+ end;
+renegotiation_info(client, ConnectionStates, true) ->
+ CS = ssl_record:current_connection_state(ConnectionStates, read),
+ case CS#connection_state.secure_renegotiation of
+ true ->
+ Data = CS#connection_state.client_verify_data,
+ #renegotiation_info{renegotiated_connection = Data};
+ false ->
+ #renegotiation_info{renegotiated_connection = undefined}
+ end;
+
+renegotiation_info(server, ConnectionStates, true) ->
+ CS = ssl_record:current_connection_state(ConnectionStates, read),
+ case CS#connection_state.secure_renegotiation of
+ true ->
+ CData = CS#connection_state.client_verify_data,
+ SData =CS#connection_state.server_verify_data,
+ #renegotiation_info{renegotiated_connection = <<CData/binary, SData/binary>>};
+ false ->
+ #renegotiation_info{renegotiated_connection = undefined}
+ end.
+
+handle_renegotiation_info(_, #renegotiation_info{renegotiated_connection = ?byte(0)},
+ ConnectionStates, false, _, _) ->
+ {ok, ssl_record:set_renegotiation_flag(true, ConnectionStates)};
+
+handle_renegotiation_info(server, undefined, ConnectionStates, _, _, CipherSuites) ->
+ case is_member(?TLS_EMPTY_RENEGOTIATION_INFO_SCSV, CipherSuites) of
+ true ->
+ {ok, ssl_record:set_renegotiation_flag(true, ConnectionStates)};
+ false ->
+ {ok, ssl_record:set_renegotiation_flag(false, ConnectionStates)}
+ end;
+
+handle_renegotiation_info(_, undefined, ConnectionStates, false, _, _) ->
+ {ok, ssl_record:set_renegotiation_flag(false, ConnectionStates)};
+
+handle_renegotiation_info(client, #renegotiation_info{renegotiated_connection = ClientServerVerify},
+ ConnectionStates, true, _, _) ->
+ CS = ssl_record:current_connection_state(ConnectionStates, read),
+ CData = CS#connection_state.client_verify_data,
+ SData = CS#connection_state.server_verify_data,
+ case <<CData/binary, SData/binary>> == ClientServerVerify of
+ true ->
+ {ok, ConnectionStates};
+ false ->
+ ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE)
+ end;
+handle_renegotiation_info(server, #renegotiation_info{renegotiated_connection = ClientVerify},
+ ConnectionStates, true, _, CipherSuites) ->
+
+ case is_member(?TLS_EMPTY_RENEGOTIATION_INFO_SCSV, CipherSuites) of
+ true ->
+ ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE);
+ false ->
+ CS = ssl_record:current_connection_state(ConnectionStates, read),
+ Data = CS#connection_state.client_verify_data,
+ case Data == ClientVerify of
+ true ->
+ {ok, ConnectionStates};
+ false ->
+ ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE)
+ end
+ end;
+
+handle_renegotiation_info(client, undefined, ConnectionStates, true, SecureRenegotation, _) ->
+ handle_renegotiation_info(ConnectionStates, SecureRenegotation);
+
+handle_renegotiation_info(server, undefined, ConnectionStates, true, SecureRenegotation, CipherSuites) ->
+ case is_member(?TLS_EMPTY_RENEGOTIATION_INFO_SCSV, CipherSuites) of
+ true ->
+ ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE);
+ false ->
+ handle_renegotiation_info(ConnectionStates, SecureRenegotation)
+ end.
+
+handle_renegotiation_info(ConnectionStates, SecureRenegotation) ->
+ CS = ssl_record:current_connection_state(ConnectionStates, read),
+ case {SecureRenegotation, CS#connection_state.secure_renegotiation} of
+ {_, true} ->
+ ?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE);
+ {true, false} ->
+ ?ALERT_REC(?FATAL, ?NO_RENEGOTIATION);
+ {false, false} ->
+ {ok, ConnectionStates}
+ end.
+
%% Update pending connection states with parameters exchanged via
%% hello messages
%% NOTE : Role is the role of the receiver of the hello message
@@ -621,46 +764,69 @@ dec_hs(?CLIENT_HELLO, <<?BYTE(Major), ?BYTE(Minor),
random = ssl_ssl2:client_random(ChallengeData, CDLength),
session_id = 0,
cipher_suites = from_3bytes(CipherSuites),
- compression_methods = [?NULL]
+ compression_methods = [?NULL],
+ renegotiation_info = undefined
};
dec_hs(?CLIENT_HELLO, <<?BYTE(Major), ?BYTE(Minor), Random:32/binary,
?BYTE(SID_length), Session_ID:SID_length/binary,
?UINT16(Cs_length), CipherSuites:Cs_length/binary,
?BYTE(Cm_length), Comp_methods:Cm_length/binary,
- _FutureCompatData/binary>>,
+ Extensions/binary>>,
_, _) ->
+
+ RenegotiationInfo = proplists:get_value(renegotiation_info, dec_hello_extensions(Extensions),
+ undefined),
#client_hello{
client_version = {Major,Minor},
random = Random,
session_id = Session_ID,
cipher_suites = from_2bytes(CipherSuites),
- compression_methods = Comp_methods
+ compression_methods = Comp_methods,
+ renegotiation_info = RenegotiationInfo
};
+
dec_hs(?SERVER_HELLO, <<?BYTE(Major), ?BYTE(Minor), Random:32/binary,
?BYTE(SID_length), Session_ID:SID_length/binary,
- Cipher_suite:2/binary, ?BYTE(Comp_method)>>, _, _) ->
+ Cipher_suite:2/binary, ?BYTE(Comp_method)>>, _, _) ->
#server_hello{
server_version = {Major,Minor},
random = Random,
session_id = Session_ID,
cipher_suite = Cipher_suite,
- compression_method = Comp_method
- };
+ compression_method = Comp_method,
+ renegotiation_info = undefined};
+
+dec_hs(?SERVER_HELLO, <<?BYTE(Major), ?BYTE(Minor), Random:32/binary,
+ ?BYTE(SID_length), Session_ID:SID_length/binary,
+ Cipher_suite:2/binary, ?BYTE(Comp_method),
+ ?UINT16(ExtLen), Extensions:ExtLen/binary>>, _, _) ->
+
+ RenegotiationInfo = proplists:get_value(renegotiation_info, dec_hello_extensions(Extensions, []),
+ undefined),
+ #server_hello{
+ server_version = {Major,Minor},
+ random = Random,
+ session_id = Session_ID,
+ cipher_suite = Cipher_suite,
+ compression_method = Comp_method,
+ renegotiation_info = RenegotiationInfo};
dec_hs(?CERTIFICATE, <<?UINT24(ACLen), ASN1Certs:ACLen/binary>>, _, _) ->
#certificate{asn1_certificates = certs_to_list(ASN1Certs)};
-dec_hs(?SERVER_KEY_EXCHANGE, <<?UINT16(ModLen), Mod:ModLen/binary,
- ?UINT16(ExpLen), Exp:ExpLen/binary,
- Sig/binary>>,
- ?KEY_EXCHANGE_RSA, _) ->
- #server_key_exchange{params = #server_rsa_params{rsa_modulus = Mod,
- rsa_exponent = Exp},
- signed_params = Sig};
+%% Uncomment if support for export ciphers is added.
+%% dec_hs(?SERVER_KEY_EXCHANGE, <<?UINT16(ModLen), Mod:ModLen/binary,
+%% ?UINT16(ExpLen), Exp:ExpLen/binary,
+%% ?UINT16(_), Sig/binary>>,
+%% ?KEY_EXCHANGE_RSA, _) ->
+%% #server_key_exchange{params = #server_rsa_params{rsa_modulus = Mod,
+%% rsa_exponent = Exp},
+%% signed_params = Sig};
dec_hs(?SERVER_KEY_EXCHANGE, <<?UINT16(PLen), P:PLen/binary,
?UINT16(GLen), G:GLen/binary,
?UINT16(YLen), Y:YLen/binary,
- Sig/binary>>,
+ ?UINT16(_), Sig/binary>>,
?KEY_EXCHANGE_DIFFIE_HELLMAN, _) ->
- #server_key_exchange{params = #server_dh_params{dh_p = P,dh_g = G, dh_y = Y},
+ #server_key_exchange{params = #server_dh_params{dh_p = P,dh_g = G,
+ dh_y = Y},
signed_params = Sig};
dec_hs(?CERTIFICATE_REQUEST,
<<?BYTE(CertTypesLen), CertTypes:CertTypesLen/binary,
@@ -672,23 +838,51 @@ dec_hs(?SERVER_HELLO_DONE, <<>>, _, _) ->
#server_hello_done{};
dec_hs(?CERTIFICATE_VERIFY,<<?UINT16(_), Signature/binary>>, _, _)->
#certificate_verify{signature = Signature};
-dec_hs(?CLIENT_KEY_EXCHANGE, PKEPMS, rsa, {3, 0}) ->
+dec_hs(?CLIENT_KEY_EXCHANGE, PKEPMS, ?KEY_EXCHANGE_RSA, {3, 0}) ->
PreSecret = #encrypted_premaster_secret{premaster_secret = PKEPMS},
#client_key_exchange{exchange_keys = PreSecret};
-dec_hs(?CLIENT_KEY_EXCHANGE, <<?UINT16(_), PKEPMS/binary>>, rsa, _) ->
+dec_hs(?CLIENT_KEY_EXCHANGE, <<?UINT16(_), PKEPMS/binary>>,
+ ?KEY_EXCHANGE_RSA, _) ->
PreSecret = #encrypted_premaster_secret{premaster_secret = PKEPMS},
#client_key_exchange{exchange_keys = PreSecret};
dec_hs(?CLIENT_KEY_EXCHANGE, <<>>, ?KEY_EXCHANGE_DIFFIE_HELLMAN, _) ->
%% TODO: Should check whether the cert already contains a suitable DH-key (7.4.7.2)
throw(?ALERT_REC(?FATAL, implicit_public_value_encoding));
-dec_hs(?CLIENT_KEY_EXCHANGE, <<?UINT16(DH_YCLen), DH_YC:DH_YCLen/binary>>,
+dec_hs(?CLIENT_KEY_EXCHANGE, <<?UINT16(DH_YLen), DH_Y:DH_YLen/binary>>,
?KEY_EXCHANGE_DIFFIE_HELLMAN, _) ->
- #client_diffie_hellman_public{dh_public = DH_YC};
+ #client_key_exchange{exchange_keys =
+ #client_diffie_hellman_public{dh_public = DH_Y}};
dec_hs(?FINISHED, VerifyData, _, _) ->
#finished{verify_data = VerifyData};
dec_hs(_, _, _, _) ->
throw(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE)).
+dec_hello_extensions(<<>>) ->
+ [];
+dec_hello_extensions(<<?UINT16(ExtLen), Extensions:ExtLen/binary>>) ->
+ dec_hello_extensions(Extensions, []);
+dec_hello_extensions(_) ->
+ [].
+
+dec_hello_extensions(<<>>, Acc) ->
+ Acc;
+dec_hello_extensions(<<?UINT16(?RENEGOTIATION_EXT), ?UINT16(Len), Info:Len/binary, Rest/binary>>, Acc) ->
+ RenegotiateInfo = case Len of
+ 1 -> % Initial handshake
+ Info; % should be <<0>> will be matched in handle_renegotiation_info
+ _ ->
+ VerifyLen = Len - 1,
+ <<?BYTE(VerifyLen), VerifyInfo/binary>> = Info,
+ VerifyInfo
+ end,
+ dec_hello_extensions(Rest, [{renegotiation_info,
+ #renegotiation_info{renegotiated_connection = RenegotiateInfo}} | Acc]);
+dec_hello_extensions(<<?UINT16(_), ?UINT16(Len), _Unknown:Len, Rest/binary>>, Acc) ->
+ dec_hello_extensions(Rest, Acc);
+%% Need this clause?
+dec_hello_extensions(_, Acc) ->
+ Acc.
+
encrypted_premaster_secret(Secret, RSAPublicKey) ->
try
PreMasterSecret = public_key:encrypt_public(Secret, RSAPublicKey,
@@ -725,54 +919,62 @@ certs_from_list(ACList) ->
enc_hs(#hello_request{}, _Version, _) ->
{?HELLO_REQUEST, <<>>};
-enc_hs(#client_hello{
- client_version = {Major, Minor},
- random = Random,
- session_id = SessionID,
- cipher_suites = CipherSuites,
- compression_methods = CompMethods}, _Version, _) ->
+enc_hs(#client_hello{client_version = {Major, Minor},
+ random = Random,
+ session_id = SessionID,
+ cipher_suites = CipherSuites,
+ compression_methods = CompMethods,
+ renegotiation_info = RenegotiationInfo}, _Version, _) ->
SIDLength = byte_size(SessionID),
BinCompMethods = list_to_binary(CompMethods),
CmLength = byte_size(BinCompMethods),
BinCipherSuites = list_to_binary(CipherSuites),
CsLength = byte_size(BinCipherSuites),
+ Extensions = hello_extensions(RenegotiationInfo),
+ ExtensionsBin = enc_hello_extensions(Extensions),
{?CLIENT_HELLO, <<?BYTE(Major), ?BYTE(Minor), Random:32/binary,
?BYTE(SIDLength), SessionID/binary,
?UINT16(CsLength), BinCipherSuites/binary,
- ?BYTE(CmLength), BinCompMethods/binary>>};
-enc_hs(#server_hello{
- server_version = {Major, Minor},
- random = Random,
- session_id = Session_ID,
- cipher_suite = Cipher_suite,
- compression_method = Comp_method}, _Version, _) ->
+ ?BYTE(CmLength), BinCompMethods/binary, ExtensionsBin/binary>>};
+
+enc_hs(#server_hello{server_version = {Major, Minor},
+ random = Random,
+ session_id = Session_ID,
+ cipher_suite = Cipher_suite,
+ compression_method = Comp_method,
+ renegotiation_info = RenegotiationInfo}, _Version, _) ->
SID_length = byte_size(Session_ID),
+ Extensions = hello_extensions(RenegotiationInfo),
+ ExtensionsBin = enc_hello_extensions(Extensions),
{?SERVER_HELLO, <<?BYTE(Major), ?BYTE(Minor), Random:32/binary,
?BYTE(SID_length), Session_ID/binary,
- Cipher_suite/binary, ?BYTE(Comp_method)>>};
+ Cipher_suite/binary, ?BYTE(Comp_method), ExtensionsBin/binary>>};
enc_hs(#certificate{asn1_certificates = ASN1CertList}, _Version, _) ->
ASN1Certs = certs_from_list(ASN1CertList),
ACLen = erlang:iolist_size(ASN1Certs),
{?CERTIFICATE, <<?UINT24(ACLen), ASN1Certs:ACLen/binary>>};
-enc_hs(#server_key_exchange{params = #server_rsa_params{rsa_modulus = Mod,
- rsa_exponent = Exp},
- signed_params = SignedParams}, _Version, _) ->
- ModLen = byte_size(Mod),
- ExpLen = byte_size(Exp),
- {?SERVER_KEY_EXCHANGE, <<?UINT16(ModLen), Mod/binary,
- ?UINT16(ExpLen), Exp/binary,
- SignedParams/binary>>
- };
+%% Uncomment if support for export ciphers is added.
+%% enc_hs(#server_key_exchange{params = #server_rsa_params{rsa_modulus = Mod,
+%% rsa_exponent = Exp},
+%% signed_params = SignedParams}, _Version, _) ->
+%% ModLen = byte_size(Mod),
+%% ExpLen = byte_size(Exp),
+%% SignedLen = byte_size(SignedParams),
+%% {?SERVER_KEY_EXCHANGE, <<?UINT16(ModLen),Mod/binary,
+%% ?UINT16(ExpLen), Exp/binary,
+%% ?UINT16(SignedLen), SignedParams/binary>>
+%% };
enc_hs(#server_key_exchange{params = #server_dh_params{
dh_p = P, dh_g = G, dh_y = Y},
signed_params = SignedParams}, _Version, _) ->
PLen = byte_size(P),
GLen = byte_size(G),
YLen = byte_size(Y),
- {?SERVER_KEY_EXCHANGE, <<?UINT16(PLen), P:PLen/binary,
- ?UINT16(GLen), G:GLen/binary,
- ?UINT16(YLen), Y:YLen/binary,
- SignedParams/binary>>
+ SignedLen = byte_size(SignedParams),
+ {?SERVER_KEY_EXCHANGE, <<?UINT16(PLen), P/binary,
+ ?UINT16(GLen), G/binary,
+ ?UINT16(YLen), Y/binary,
+ ?UINT16(SignedLen), SignedParams/binary>>
};
enc_hs(#certificate_request{certificate_types = CertTypes,
certificate_authorities = CertAuths},
@@ -806,6 +1008,29 @@ enc_bin_sig(BinSig) ->
Size = byte_size(BinSig),
<<?UINT16(Size), BinSig/binary>>.
+%% Renegotiation info, only current extension
+hello_extensions(#renegotiation_info{renegotiated_connection = undefined}) ->
+ [];
+hello_extensions(#renegotiation_info{} = Info) ->
+ [Info].
+
+enc_hello_extensions(Extensions) ->
+ enc_hello_extensions(Extensions, <<>>).
+enc_hello_extensions([], <<>>) ->
+ <<>>;
+enc_hello_extensions([], Acc) ->
+ Size = byte_size(Acc),
+ <<?UINT16(Size), Acc/binary>>;
+
+enc_hello_extensions([#renegotiation_info{renegotiated_connection = ?byte(0) = Info} | Rest], Acc) ->
+ Len = byte_size(Info),
+ enc_hello_extensions(Rest, <<?UINT16(?RENEGOTIATION_EXT), ?UINT16(Len), Info/binary, Acc/binary>>);
+
+enc_hello_extensions([#renegotiation_info{renegotiated_connection = Info} | Rest], Acc) ->
+ InfoLen = byte_size(Info),
+ Len = InfoLen +1,
+ enc_hello_extensions(Rest, <<?UINT16(?RENEGOTIATION_EXT), ?UINT16(Len), ?BYTE(InfoLen), Info/binary, Acc/binary>>).
+
init_hashes() ->
T = {crypto:md5_init(), crypto:sha_init()},
{T, T}.
@@ -876,7 +1101,7 @@ certificate_authorities_from_db(CertDbRef) ->
certificate_authorities_from_db(CertDbRef, no_candidate, []).
certificate_authorities_from_db(CertDbRef, PrevKey, Acc) ->
- case ssl_certificate_db:issuer_candidate(PrevKey) of
+ case ssl_manager:issuer_candidate(PrevKey) of
no_more_candidates ->
lists:reverse(Acc);
{{CertDbRef, _, _} = Key, Cert} ->
@@ -908,12 +1133,13 @@ setup_keys({3,0}, Exportable, MasterSecret,
setup_keys({3,1}, _Exportable, MasterSecret,
ServerRandom, ClientRandom, HashSize, KML, _EKML, IVS) ->
ssl_tls1:setup_keys(MasterSecret, ServerRandom, ClientRandom, HashSize,
- KML, IVS);
+ KML, IVS).
-setup_keys({3,2}, _Exportable, MasterSecret,
- ServerRandom, ClientRandom, HashSize, KML, _EKML, _IVS) ->
- ssl_tls1:setup_keys(MasterSecret, ServerRandom,
- ClientRandom, HashSize, KML).
+%% Uncomment when supported
+%% setup_keys({3,2}, _Exportable, MasterSecret,
+%% ServerRandom, ClientRandom, HashSize, KML, _EKML, _IVS) ->
+%% ssl_tls1:setup_keys(MasterSecret, ServerRandom,
+%% ClientRandom, HashSize, KML).
calc_finished({3, 0}, Role, MasterSecret, Hashes) ->
ssl_ssl3:finished(Role, MasterSecret, Hashes);
@@ -927,13 +1153,40 @@ calc_certificate_verify({3, N}, _, Algorithm, Hashes)
when N == 1; N == 2 ->
ssl_tls1:certificate_verify(Algorithm, Hashes).
-%% server_key_exchange_hash(Algorithm, Value) when Algorithm == rsa;
-%% Algorithm == dh_rsa;
-%% Algorithm == dhe_rsa ->
-%% MD5 = crypto:md5_final(Value),
-%% SHA = crypto:sha_final(Value),
-%% <<MD5/binary, SHA/binary>>;
+server_key_exchange_hash(Algorithm, Value) when Algorithm == rsa;
+ Algorithm == dh_rsa;
+ Algorithm == dhe_rsa ->
+ MD5Context = crypto:md5_init(),
+ NewMD5Context = crypto:md5_update(MD5Context, Value),
+ MD5 = crypto:md5_final(NewMD5Context),
+
+ SHAContext = crypto:sha_init(),
+ NewSHAContext = crypto:sha_update(SHAContext, Value),
+ SHA = crypto:sha_final(NewSHAContext),
+
+ <<MD5/binary, SHA/binary>>;
+
+server_key_exchange_hash(Algorithm, Value) when Algorithm == dh_dss;
+ Algorithm == dhe_dss ->
+
+ SHAContext = crypto:sha_init(),
+ NewSHAContext = crypto:sha_update(SHAContext, Value),
+ crypto:sha_final(NewSHAContext).
-%% server_key_exchange_hash(Algorithm, Value) when Algorithm == dh_dss;
-%% Algorithm == dhe_dss ->
-%% crypto:sha_final(Value).
+
+sig_alg(dh_anon) ->
+ ?SIGNATURE_ANONYMOUS;
+sig_alg(Alg) when Alg == dhe_rsa; Alg == rsa; Alg == dh_rsa ->
+ ?SIGNATURE_RSA;
+sig_alg(Alg) when Alg == dh_dss; Alg == dhe_dss ->
+ ?SIGNATURE_DSA;
+sig_alg(_) ->
+ ?NULL.
+
+key_exchange_alg(rsa) ->
+ ?KEY_EXCHANGE_RSA;
+key_exchange_alg(Alg) when Alg == dhe_rsa; Alg == dhe_dss;
+ Alg == dh_dss; Alg == dh_rsa; Alg == dh_anon ->
+ ?KEY_EXCHANGE_DIFFIE_HELLMAN;
+key_exchange_alg(_) ->
+ ?NULL.
diff --git a/lib/ssl/src/ssl_handshake.hrl b/lib/ssl/src/ssl_handshake.hrl
index b2bdfa0934..74fba3786c 100644
--- a/lib/ssl/src/ssl_handshake.hrl
+++ b/lib/ssl/src/ssl_handshake.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -38,7 +38,8 @@
-define(NUM_OF_SESSION_ID_BYTES, 32). % TSL 1.1 & SSL 3
-define(NUM_OF_PREMASTERSECRET_BYTES, 48).
-
+-define(DEFAULT_DIFFIE_HELLMAN_GENERATOR, 2).
+-define(DEFAULT_DIFFIE_HELLMAN_PRIME, 16#FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Handsake protocol - RFC 4346 section 7.4
@@ -80,7 +81,8 @@
random,
session_id, % opaque SessionID<0..32>
cipher_suites, % cipher_suites<2..2^16-1>
- compression_methods % compression_methods<1..2^8-1>
+ compression_methods, % compression_methods<1..2^8-1>,
+ renegotiation_info
}).
-record(server_hello, {
@@ -88,7 +90,8 @@
random,
session_id, % opaque SessionID<0..32>
cipher_suite, % cipher_suites
- compression_method % compression_method
+ compression_method, % compression_method
+ renegotiation_info
}).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -194,6 +197,15 @@
verify_data %opaque verify_data[12]
}).
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Renegotiation info RFC 5746 section 3.2
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-define(RENEGOTIATION_EXT, 16#ff01).
+
+-record(renegotiation_info,{
+ renegotiated_connection
+ }).
+
-endif. % -ifdef(ssl_handshake).
diff --git a/lib/ssl/src/ssl_internal.hrl b/lib/ssl/src/ssl_internal.hrl
index 23a5c93452..fdc0c33750 100644
--- a/lib/ssl/src/ssl_internal.hrl
+++ b/lib/ssl/src/ssl_internal.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -57,12 +57,15 @@
verify_fun, % fun(CertVerifyErrors) -> boolean()
fail_if_no_peer_cert, % boolean()
verify_client_once, % boolean()
+ %% fun(Extensions, State, Verify, AccError) -> {Extensions, State, AccError}
+ validate_extensions_fun,
depth, % integer()
certfile, % file()
keyfile, % file()
key, %
password, %
cacertfile, % file()
+ dhfile, % file()
ciphers, %
%% Local policy for the server if it want's to reuse the session
%% or not. Defaluts to allways returning true.
@@ -71,6 +74,8 @@
%% If false sessions will never be reused, if true they
%% will be reused if possible.
reuse_sessions, % boolean()
+ renegotiate_at,
+ secure_renegotiate,
debug %
}).
diff --git a/lib/ssl/src/ssl_manager.erl b/lib/ssl/src/ssl_manager.erl
index 0151426d43..539ddd936a 100644
--- a/lib/ssl/src/ssl_manager.erl
+++ b/lib/ssl/src/ssl_manager.erl
@@ -27,7 +27,7 @@
%% Internal application API
-export([start_link/0, start_link/1,
connection_init/2, cache_pem_file/1,
- lookup_trusted_cert/3, client_session_id/3, server_session_id/3,
+ lookup_trusted_cert/3, issuer_candidate/1, client_session_id/3, server_session_id/3,
register_session/2, register_session/3, invalidate_session/2,
invalidate_session/3]).
@@ -85,13 +85,20 @@ cache_pem_file(File) ->
%% Function:
%% Description:
%%--------------------------------------------------------------------
-lookup_trusted_cert(SerialNumber, Issuer, Ref) ->
+lookup_trusted_cert(Ref, SerialNumber, Issuer) ->
ssl_certificate_db:lookup_trusted_cert(Ref, SerialNumber, Issuer).
%%--------------------------------------------------------------------
%% Function:
%% Description:
%%--------------------------------------------------------------------
+issuer_candidate(PrevCandidateKey) ->
+ ssl_certificate_db:issuer_candidate(PrevCandidateKey).
+
+%%--------------------------------------------------------------------
+%% Function:
+%% Description:
+%%--------------------------------------------------------------------
client_session_id(Host, Port, SslOpts) ->
call({client_session_id, Host, Port, SslOpts}).
diff --git a/lib/ssl/src/ssl_record.erl b/lib/ssl/src/ssl_record.erl
index 37a3d1b639..f9f915f13d 100644
--- a/lib/ssl/src/ssl_record.erl
+++ b/lib/ssl/src/ssl_record.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -38,14 +38,17 @@
set_mac_secret/4,
set_master_secret/2,
activate_pending_connection_state/2,
- set_pending_cipher_state/4]).
+ set_pending_cipher_state/4,
+ set_renegotiation_flag/2,
+ set_client_verify_data/3,
+ set_server_verify_data/3]).
%% Handling of incoming data
-export([get_tls_records/2]).
%% Encoding records
-export([encode_handshake/3, encode_alert_record/3,
- encode_change_cipher_spec/2, encode_data/3]).
+ encode_change_cipher_spec/2, encode_data/4]).
%% Decoding
-export([decode_cipher_text/2]).
@@ -175,6 +178,98 @@ set_master_secret(MasterSecret,
master_secret = MasterSecret}},
States#connection_states{pending_read = Read1, pending_write = Write1}.
+%%--------------------------------------------------------------------
+%% Function: set_renegotiation_flag(Flag, States) ->
+%% #connection_states{}
+%% Flag = boolean()
+%% States = #connection_states{}
+%%
+%% Set master_secret in pending connection states
+%%--------------------------------------------------------------------
+set_renegotiation_flag(Flag, #connection_states{
+ current_read = CurrentRead0,
+ current_write = CurrentWrite0,
+ pending_read = PendingRead0,
+ pending_write = PendingWrite0}
+ = ConnectionStates) ->
+ CurrentRead = CurrentRead0#connection_state{secure_renegotiation = Flag},
+ CurrentWrite = CurrentWrite0#connection_state{secure_renegotiation = Flag},
+ PendingRead = PendingRead0#connection_state{secure_renegotiation = Flag},
+ PendingWrite = PendingWrite0#connection_state{secure_renegotiation = Flag},
+ ConnectionStates#connection_states{current_read = CurrentRead,
+ current_write = CurrentWrite,
+ pending_read = PendingRead,
+ pending_write = PendingWrite}.
+
+%%--------------------------------------------------------------------
+%% Function: set_client_verify_data(State, Data, States) ->
+%% #connection_states{}
+%% State = atom()
+%% Data = binary()
+%% States = #connection_states{}
+%%
+%% Set verify data in connection states.
+%%--------------------------------------------------------------------
+set_client_verify_data(current_read, Data,
+ #connection_states{current_read = CurrentRead0,
+ pending_write = PendingWrite0}
+ = ConnectionStates) ->
+ CurrentRead = CurrentRead0#connection_state{client_verify_data = Data},
+ PendingWrite = PendingWrite0#connection_state{client_verify_data = Data},
+ ConnectionStates#connection_states{current_read = CurrentRead,
+ pending_write = PendingWrite};
+set_client_verify_data(current_write, Data,
+ #connection_states{pending_read = PendingRead0,
+ current_write = CurrentWrite0}
+ = ConnectionStates) ->
+ PendingRead = PendingRead0#connection_state{client_verify_data = Data},
+ CurrentWrite = CurrentWrite0#connection_state{client_verify_data = Data},
+ ConnectionStates#connection_states{pending_read = PendingRead,
+ current_write = CurrentWrite};
+set_client_verify_data(current_both, Data,
+ #connection_states{current_read = CurrentRead0,
+ current_write = CurrentWrite0}
+ = ConnectionStates) ->
+ CurrentRead = CurrentRead0#connection_state{client_verify_data = Data},
+ CurrentWrite = CurrentWrite0#connection_state{client_verify_data = Data},
+ ConnectionStates#connection_states{current_read = CurrentRead,
+ current_write = CurrentWrite}.
+
+%%--------------------------------------------------------------------
+%% Function: set_server_verify_data(State, Data, States) ->
+%% #connection_states{}
+%% State = atom()
+%% Data = binary()
+%% States = #connection_states{}
+%%
+%% Set verify data in pending connection states.
+%%--------------------------------------------------------------------
+set_server_verify_data(current_write, Data,
+ #connection_states{pending_read = PendingRead0,
+ current_write = CurrentWrite0}
+ = ConnectionStates) ->
+ PendingRead = PendingRead0#connection_state{server_verify_data = Data},
+ CurrentWrite = CurrentWrite0#connection_state{server_verify_data = Data},
+ ConnectionStates#connection_states{pending_read = PendingRead,
+ current_write = CurrentWrite};
+
+set_server_verify_data(current_read, Data,
+ #connection_states{current_read = CurrentRead0,
+ pending_write = PendingWrite0}
+ = ConnectionStates) ->
+ CurrentRead = CurrentRead0#connection_state{server_verify_data = Data},
+ PendingWrite = PendingWrite0#connection_state{server_verify_data = Data},
+ ConnectionStates#connection_states{current_read = CurrentRead,
+ pending_write = PendingWrite};
+
+set_server_verify_data(current_both, Data,
+ #connection_states{current_read = CurrentRead0,
+ current_write = CurrentWrite0}
+ = ConnectionStates) ->
+ CurrentRead = CurrentRead0#connection_state{server_verify_data = Data},
+ CurrentWrite = CurrentWrite0#connection_state{server_verify_data = Data},
+ ConnectionStates#connection_states{current_read = CurrentRead,
+ current_write = CurrentWrite}.
%%--------------------------------------------------------------------
%% Function: activate_pending_connection_state(States, Type) ->
@@ -191,7 +286,9 @@ activate_pending_connection_state(States =
NewCurrent = Pending#connection_state{sequence_number = 0},
SecParams = Pending#connection_state.security_parameters,
ConnectionEnd = SecParams#security_parameters.connection_end,
- NewPending = empty_connection_state(ConnectionEnd),
+ EmptyPending = empty_connection_state(ConnectionEnd),
+ SecureRenegotation = NewCurrent#connection_state.secure_renegotiation,
+ NewPending = EmptyPending#connection_state{secure_renegotiation = SecureRenegotation},
States#connection_states{current_read = NewCurrent,
pending_read = NewPending
};
@@ -202,7 +299,9 @@ activate_pending_connection_state(States =
NewCurrent = Pending#connection_state{sequence_number = 0},
SecParams = Pending#connection_state.security_parameters,
ConnectionEnd = SecParams#security_parameters.connection_end,
- NewPending = empty_connection_state(ConnectionEnd),
+ EmptyPending = empty_connection_state(ConnectionEnd),
+ SecureRenegotation = NewCurrent#connection_state.secure_renegotiation,
+ NewPending = EmptyPending#connection_state{secure_renegotiation = SecureRenegotation},
States#connection_states{current_write = NewCurrent,
pending_write = NewPending
}.
@@ -474,19 +573,31 @@ split_bin(Bin, ChunkSize, Acc) ->
lists:reverse(Acc, [Bin])
end.
-encode_data(Frag, Version, ConnectionStates)
+encode_data(Frag, Version, ConnectionStates, RenegotiateAt)
when byte_size(Frag) < (?MAX_PLAIN_TEXT_LENGTH - 2048) ->
- encode_plain_text(?APPLICATION_DATA,Version,Frag,ConnectionStates);
-encode_data(Frag, Version, ConnectionStates) ->
+ case encode_plain_text(?APPLICATION_DATA,Version,Frag,ConnectionStates, RenegotiateAt) of
+ {renegotiate, Data} ->
+ {[], Data, ConnectionStates};
+ {Msg, CS} ->
+ {Msg, [], CS}
+ end;
+
+encode_data(Frag, Version, ConnectionStates, RenegotiateAt) when is_binary(Frag) ->
Data = split_bin(Frag, ?MAX_PLAIN_TEXT_LENGTH - 2048),
- {CS1, Acc} =
- lists:foldl(fun(B, {CS0, Acc}) ->
- {ET, CS1} =
- encode_plain_text(?APPLICATION_DATA,
- Version, B, CS0),
- {CS1, [ET | Acc]}
- end, {ConnectionStates, []}, Data),
- {lists:reverse(Acc), CS1}.
+ encode_data(Data, Version, ConnectionStates, RenegotiateAt);
+
+encode_data(Data, Version, ConnectionStates0, RenegotiateAt) when is_list(Data) ->
+ {ConnectionStates, EncodedMsg, NotEncdedData} =
+ lists:foldl(fun(B, {CS0, Encoded, Rest}) ->
+ case encode_plain_text(?APPLICATION_DATA,
+ Version, B, CS0, RenegotiateAt) of
+ {renegotiate, NotEnc} ->
+ {CS0, Encoded, [NotEnc | Rest]};
+ {Enc, CS1} ->
+ {CS1, [Enc | Encoded], Rest}
+ end
+ end, {ConnectionStates0, [], []}, Data),
+ {lists:reverse(EncodedMsg), lists:reverse(NotEncdedData), ConnectionStates}.
encode_handshake(Frag, Version, ConnectionStates) ->
encode_plain_text(?HANDSHAKE, Version, Frag, ConnectionStates).
@@ -499,6 +610,16 @@ encode_alert_record(#alert{level = Level, description = Description},
encode_change_cipher_spec(Version, ConnectionStates) ->
encode_plain_text(?CHANGE_CIPHER_SPEC, Version, <<1:8>>, ConnectionStates).
+encode_plain_text(Type, Version, Data, ConnectionStates, RenegotiateAt) ->
+ #connection_states{current_write =
+ #connection_state{sequence_number = Num}} = ConnectionStates,
+ case renegotiate(Num, RenegotiateAt) of
+ false ->
+ encode_plain_text(Type, Version, Data, ConnectionStates);
+ true ->
+ {renegotiate, Data}
+ end.
+
encode_plain_text(Type, Version, Data, ConnectionStates) ->
#connection_states{current_write=#connection_state{
compression_state=CompS0,
@@ -511,6 +632,11 @@ encode_plain_text(Type, Version, Data, ConnectionStates) ->
CTBin = encode_tls_cipher_text(Type, Version, CipherText),
{CTBin, ConnectionStates#connection_states{current_write = CS2}}.
+renegotiate(N, M) when N < M->
+ false;
+renegotiate(_,_) ->
+ true.
+
encode_tls_cipher_text(Type, {MajVer, MinVer}, Fragment) ->
Length = erlang:iolist_size(Fragment),
[<<?BYTE(Type), ?BYTE(MajVer), ?BYTE(MinVer), ?UINT16(Length)>>, Fragment].
@@ -529,9 +655,6 @@ cipher(Type, Version, Fragment, CS0) ->
CS2 = CS1#connection_state{cipher_state=CipherS1},
{Ciphered, CS2}.
-decipher(TLS=#ssl_tls{type = ?CHANGE_CIPHER_SPEC}, CS) ->
- %% These are never encrypted
- {TLS, CS};
decipher(TLS=#ssl_tls{type=Type, version=Version, fragment=Fragment}, CS0) ->
SP = CS0#connection_state.security_parameters,
BCA = SP#security_parameters.bulk_cipher_algorithm, % eller Cipher?
diff --git a/lib/ssl/src/ssl_record.hrl b/lib/ssl/src/ssl_record.hrl
index 7370e0f0b3..5fb0070b91 100644
--- a/lib/ssl/src/ssl_record.hrl
+++ b/lib/ssl/src/ssl_record.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -60,9 +60,20 @@
compression_state,
cipher_state,
mac_secret,
- sequence_number
+ sequence_number,
+ %% RFC 5746
+ secure_renegotiation,
+ client_verify_data,
+ server_verify_data
}).
+-define(MAX_SEQENCE_NUMBER, 18446744073709552000). %% math:pow(2, 64) - 1 = 1.8446744073709552e19
+%% Sequence numbers can not wrap so when max is about to be reached we should renegotiate.
+%% We will renegotiate a little before so that there will be sequence numbers left
+%% for the rehandshake and a little data.
+-define(MARGIN, 100).
+-define(DEFAULT_RENEGOTIATE_AT, ?MAX_SEQENCE_NUMBER - ?MARGIN).
+
%% ConnectionEnd
-define(SERVER, 0).
-define(CLIENT, 1).
diff --git a/lib/ssl/src/ssl_ssl3.erl b/lib/ssl/src/ssl_ssl3.erl
index ab29ac64df..df809ce275 100644
--- a/lib/ssl/src/ssl_ssl3.erl
+++ b/lib/ssl/src/ssl_ssl3.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -182,13 +182,13 @@ setup_keys(export, MasterSecret, ServerRandom, ClientRandom,
suites() ->
[
%% TODO: uncomment when supported
- %% ?TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
+ ?TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
%% ?TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
- %% TODO: Funkar inte, borde: ?TLS_RSA_WITH_AES_256_CBC_SHA,
- %% ?TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
+ ?TLS_RSA_WITH_AES_256_CBC_SHA,
+ ?TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
%% ?TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
?TLS_RSA_WITH_3DES_EDE_CBC_SHA,
- %% ?TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
+ ?TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
%% ?TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
?TLS_RSA_WITH_AES_128_CBC_SHA,
%%?TLS_DHE_DSS_WITH_RC4_128_SHA, TODO: Support this?
diff --git a/lib/ssl/src/ssl_tls1.erl b/lib/ssl/src/ssl_tls1.erl
index e0013c48ac..ce9a135168 100644
--- a/lib/ssl/src/ssl_tls1.erl
+++ b/lib/ssl/src/ssl_tls1.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -136,13 +136,13 @@ mac_hash(Method, Mac_write_secret, Seq_num, Type, {Major, Minor},
suites() ->
[
%% TODO: uncomment when supported
- %% ?TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
- %% ?TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
- %% TODO: Funkar inte, borde: ?TLS_RSA_WITH_AES_256_CBC_SHA,
- %% ?TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
+ ?TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
+ %%?TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
+ ?TLS_RSA_WITH_AES_256_CBC_SHA,
+ ?TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
%% ?TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
?TLS_RSA_WITH_3DES_EDE_CBC_SHA,
- %% ?TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
+ ?TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
%% ?TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
?TLS_RSA_WITH_AES_128_CBC_SHA,
%%?TLS_DHE_DSS_WITH_RC4_128_SHA, TODO: Support this?
diff --git a/lib/ssl/test/ssl.cover b/lib/ssl/test/ssl.cover
index 138bf96b9d..e8daa363c5 100644
--- a/lib/ssl/test/ssl.cover
+++ b/lib/ssl/test/ssl.cover
@@ -3,5 +3,17 @@
'PKIX1Explicit88',
'PKIX1Implicit88',
'PKIXAttributeCertificate',
- 'SSL-PKIX']}.
+ 'SSL-PKIX',
+ ssl_pem,
+ ssl_pkix,
+ ssl_base64,
+ ssl_broker,
+ ssl_broker_int,
+ ssl_broker_sup,
+ ssl_debug,
+ ssl_server,
+ ssl_prim,
+ inet_ssl_dist,
+ 'OTP-PKIX'
+ ]}.
diff --git a/lib/ssl/test/ssl_basic_SUITE.erl b/lib/ssl/test/ssl_basic_SUITE.erl
index 3d9cec43dd..7ca906363f 100644
--- a/lib/ssl/test/ssl_basic_SUITE.erl
+++ b/lib/ssl/test/ssl_basic_SUITE.erl
@@ -26,10 +26,13 @@
-include("test_server.hrl").
-include("test_server_line.hrl").
+-include_lib("public_key/include/public_key.hrl").
-define('24H_in_sec', 86400).
-define(TIMEOUT, 60000).
-define(EXPIRE, 10).
+-define(SLEEP, 500).
+
-behaviour(ssl_session_cache_api).
@@ -149,20 +152,29 @@ all(doc) ->
all(suite) ->
[app, connection_info, controlling_process, controller_dies,
+ client_closes_socket,
peercert, connect_dist,
- peername, sockname, socket_options, versions, cipher_suites,
+ peername, sockname, socket_options, misc_ssl_options, versions, cipher_suites,
upgrade, upgrade_with_timeout, tcp_connect,
ipv6, ekeyfile, ecertfile, ecacertfile, eoptions, shutdown,
shutdown_write, shutdown_both, shutdown_error, ciphers,
- send_close,
+ send_close, close_transport_accept, dh_params,
server_verify_peer_passive,
server_verify_peer_active, server_verify_peer_active_once,
server_verify_none_passive, server_verify_none_active,
- server_verify_none_active_once,
- server_verify_no_cacerts, client_verify_none_passive,
+ server_verify_none_active_once, server_verify_no_cacerts,
+ server_require_peer_cert_ok, server_require_peer_cert_fail,
+ server_verify_client_once_passive,
+ server_verify_client_once_active,
+ server_verify_client_once_active_once,
+ client_verify_none_passive,
client_verify_none_active, client_verify_none_active_once
%%, session_cache_process_list, session_cache_process_mnesia
- ,reuse_session, reuse_session_expired, server_does_not_want_to_reuse_session
+ ,reuse_session, reuse_session_expired, server_does_not_want_to_reuse_session,
+ client_renegotiate, server_renegotiate, client_renegotiate_reused_session,
+ server_renegotiate_reused_session,
+ client_no_wrap_sequence_number, server_no_wrap_sequence_number,
+ extended_key_usage, validate_extensions_fun
].
%% Test cases starts here.
@@ -236,7 +248,7 @@ controlling_process(Config) when is_list(Config) ->
Port = ssl_test_lib:inet_port(Server),
Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
- {from, self()},
+ {from, self()},
{mfa, {?MODULE,
controlling_process_result, [self(),
ClientMsg]}},
@@ -267,7 +279,7 @@ controlling_process_result(Socket, Pid, Msg) ->
ok = ssl:controlling_process(Socket, Pid),
%% Make sure other side has evaluated controlling_process
%% before message is sent
- test_server:sleep(100),
+ test_server:sleep(?SLEEP),
ssl:send(Socket, Msg),
no_result_msg.
@@ -298,7 +310,7 @@ controller_dies(Config) when is_list(Config) ->
{options, ClientOpts}]),
test_server:format("Testcase ~p, Client ~p Server ~p ~n", [self(), Client, Server]),
- timer:sleep(200), %% so that they are connected
+ test_server:sleep(?SLEEP), %% so that they are connected
process_flag(trap_exit, true),
@@ -307,11 +319,15 @@ controller_dies(Config) when is_list(Config) ->
get_close(Client, ?LINE),
%% Test that clients die when process disappear
- Server ! listen, timer:sleep(200),
+ Server ! listen,
Tester = self(),
Connect = fun(Pid) ->
{ok, Socket} = ssl:connect(Hostname, Port,
[{reuseaddr,true},{ssl_imp,new}]),
+ %% Make sure server finishes and verification
+ %% and is in coonection state before
+ %% killing client
+ test_server:sleep(?SLEEP),
Pid ! {self(), connected, Socket},
receive die_nice -> normal end
end,
@@ -321,7 +337,7 @@ controller_dies(Config) when is_list(Config) ->
get_close(Client2, ?LINE),
%% Test that clients die when the controlling process have changed
- Server ! listen, timer:sleep(200),
+ Server ! listen,
Client3 = spawn_link(fun() -> Connect(Tester) end),
Controller = spawn_link(fun() -> receive die_nice -> normal end end),
@@ -345,7 +361,7 @@ controller_dies(Config) when is_list(Config) ->
get_close(Controller, ?LINE),
%% Test that servers die
- Server ! listen, timer:sleep(200),
+ Server ! listen,
LastClient = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
{from, self()},
@@ -353,7 +369,7 @@ controller_dies(Config) when is_list(Config) ->
controller_dies_result, [self(),
ClientMsg]}},
{options, [{reuseaddr,true}|ClientOpts]}]),
- timer:sleep(200), %% so that they are connected
+ test_server:sleep(?SLEEP), %% so that they are connected
exit(Server, killed),
get_close(Server, ?LINE),
@@ -383,6 +399,36 @@ get_close(Pid, Where) ->
end.
%%--------------------------------------------------------------------
+client_closes_socket(doc) ->
+ ["Test what happens when client closes socket before handshake is compleated"];
+client_closes_socket(suite) -> [];
+client_closes_socket(Config) when is_list(Config) ->
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+ TcpOpts = [binary, {reuseaddr, true}],
+
+ Server = ssl_test_lib:start_upgrade_server_error([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {tcp_options, TcpOpts},
+ {ssl_options, ServerOpts}]),
+ Port = ssl_test_lib:inet_port(Server),
+
+ Connect = fun() ->
+ {ok, _Socket} = rpc:call(ClientNode, gen_tcp, connect,
+ [Hostname, Port, TcpOpts]),
+ %% Make sure that ssl_accept is called before
+ %% client process ends and closes socket.
+ test_server:sleep(?SLEEP)
+ end,
+
+ _Client = spawn_link(Connect),
+
+ ssl_test_lib:check_result(Server, {error,closed}),
+
+ ssl_test_lib:close(Server).
+
+%%--------------------------------------------------------------------
+
peercert(doc) ->
[""];
@@ -484,9 +530,9 @@ peername(Config) when is_list(Config) ->
Port = ssl_test_lib:inet_port(Server),
Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
- {from, self()},
- {mfa, {?MODULE, peername_result, []}},
- {options, [{port, 0} | ClientOpts]}]),
+ {from, self()},
+ {mfa, {?MODULE, peername_result, []}},
+ {options, [{port, 0} | ClientOpts]}]),
ClientPort = ssl_test_lib:inet_port(Client),
ServerIp = ssl_test_lib:node_to_hostip(ServerNode),
@@ -526,6 +572,7 @@ sockname(Config) when is_list(Config) ->
{from, self()},
{mfa, {?MODULE, sockname_result, []}},
{options, [{port, 0} | ClientOpts]}]),
+
ClientPort = ssl_test_lib:inet_port(Client),
ServerIp = ssl_test_lib:node_to_hostip(ServerNode),
ClientIp = ssl_test_lib:node_to_hostip(ClientNode),
@@ -602,6 +649,46 @@ socket_options_result(Socket, Options, DefaultValues, NewOptions, NewValues) ->
ok.
%%--------------------------------------------------------------------
+misc_ssl_options(doc) ->
+ ["Test what happens when we give valid options"];
+
+misc_ssl_options(suite) ->
+ [];
+
+misc_ssl_options(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ %% Chek that ssl options not tested elsewhere are filtered away e.i. not passed to inet.
+ TestOpts = [{depth, 1},
+ {key, undefined},
+ {password, []},
+ {reuse_session, fun(_,_,_,_) -> true end},
+ {debug, []},
+ {cb_info, {gen_tcp, tcp, tcp_closed, tcp_error}}],
+
+ Server =
+ ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active, []}},
+ {options, TestOpts ++ ServerOpts}]),
+ Port = ssl_test_lib:inet_port(Server),
+ Client =
+ ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active, []}},
+ {options, TestOpts ++ ClientOpts}]),
+
+ test_server:format("Testcase ~p, Client ~p Server ~p ~n",
+ [self(), Client, Server]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+%%--------------------------------------------------------------------
versions(doc) ->
["Test API function versions/0"];
@@ -667,13 +754,71 @@ send_close(Config) when is_list(Config) ->
test_server:format("Testcase ~p, Client ~p Server ~p ~n",
[self(), self(), Server]),
- ok = ssl:send(SslS, "HejHopp"),
- {ok,<<"Hejhopp">>} = ssl:recv(SslS, 7),
+ ok = ssl:send(SslS, "Hello world"),
+ {ok,<<"Hello world">>} = ssl:recv(SslS, 11),
gen_tcp:close(TcpS),
- {error, _} = ssl:send(SslS, "HejHopp"),
+ {error, _} = ssl:send(SslS, "Hello world"),
ssl_test_lib:close(Server).
%%--------------------------------------------------------------------
+close_transport_accept(doc) ->
+ ["Tests closing ssl socket when waiting on ssl:transport_accept/1"];
+
+close_transport_accept(suite) ->
+ [];
+
+close_transport_accept(Config) when is_list(Config) ->
+ ServerOpts = ?config(server_opts, Config),
+ {_ClientNode, ServerNode, _Hostname} = ssl_test_lib:run_where(Config),
+
+ Port = 0,
+ Opts = [{active, false} | ServerOpts],
+ {ok, ListenSocket} = rpc:call(ServerNode, ssl, listen, [Port, Opts]),
+ spawn_link(fun() ->
+ test_server:sleep(?SLEEP),
+ rpc:call(ServerNode, ssl, close, [ListenSocket])
+ end),
+ case rpc:call(ServerNode, ssl, transport_accept, [ListenSocket]) of
+ {error, closed} ->
+ ok;
+ Other ->
+ exit({?LINE, Other})
+ end.
+
+%%--------------------------------------------------------------------
+dh_params(doc) ->
+ ["Test to specify DH-params file in server."];
+
+dh_params(suite) ->
+ [];
+
+dh_params(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ DataDir = ?config(data_dir, Config),
+ DHParamFile = filename:join(DataDir, "dHParam.pem"),
+
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active, []}},
+ {options, [{dhfile, DHParamFile} | ServerOpts]}]),
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active, []}},
+ {options,
+ [{ciphers,[{dhe_rsa,aes_256_cbc,sha,ignore}]} |
+ ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+%%--------------------------------------------------------------------
upgrade(doc) ->
["Test that you can upgrade an tcp connection to an ssl connection"];
@@ -687,11 +832,12 @@ upgrade(Config) when is_list(Config) ->
TcpOpts = [binary, {reuseaddr, true}],
Server = ssl_test_lib:start_upgrade_server([{node, ServerNode}, {port, 0},
- {from, self()},
- {mfa, {?MODULE,
- upgrade_result, []}},
- {tcp_options, TcpOpts},
- {ssl_options, ServerOpts}]),
+ {from, self()},
+ {mfa, {?MODULE,
+ upgrade_result, []}},
+ {tcp_options,
+ [{active, false} | TcpOpts]},
+ {ssl_options, ServerOpts}]),
Port = ssl_test_lib:inet_port(Server),
Client = ssl_test_lib:start_upgrade_client([{node, ClientNode},
{port, Port},
@@ -710,11 +856,12 @@ upgrade(Config) when is_list(Config) ->
ssl_test_lib:close(Client).
upgrade_result(Socket) ->
- ok = ssl:send(Socket, "Hejhopp"),
+ ssl:setopts(Socket, [{active, true}]),
+ ok = ssl:send(Socket, "Hello world"),
%% Make sure binary is inherited from tcp socket and that we do
%% not get the list default!
receive
- {ssl, _, <<"Hejhopp">>} ->
+ {ssl, _, <<"Hello world">>} ->
ok
end.
@@ -736,7 +883,8 @@ upgrade_with_timeout(Config) when is_list(Config) ->
{timeout, 5000},
{mfa, {?MODULE,
upgrade_result, []}},
- {tcp_options, TcpOpts},
+ {tcp_options,
+ [{active, false} | TcpOpts]},
{ssl_options, ServerOpts}]),
Port = ssl_test_lib:inet_port(Server),
Client = ssl_test_lib:start_upgrade_client([{node, ClientNode},
@@ -763,15 +911,14 @@ tcp_connect(suite) ->
[];
tcp_connect(Config) when is_list(Config) ->
- ClientOpts = ?config(client_opts, Config),
ServerOpts = ?config(server_opts, Config),
- {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+ {_, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
TcpOpts = [binary, {reuseaddr, true}],
Server = ssl_test_lib:start_upgrade_server([{node, ServerNode}, {port, 0},
{from, self()},
{timeout, 5000},
- {mfa, {?MODULE, should_close, []}},
+ {mfa, {?MODULE, dummy, []}},
{tcp_options, TcpOpts},
{ssl_options, ServerOpts}]),
Port = ssl_test_lib:inet_port(Server),
@@ -780,18 +927,20 @@ tcp_connect(Config) when is_list(Config) ->
test_server:format("Testcase ~p connected to Server ~p ~n", [self(), Server]),
gen_tcp:send(Socket, "<SOME GARBLED NON SSL MESSAGE>"),
- ssl_test_lib:check_result(Server, {error,esslerrssl}, tcp_closed, Socket),
-
+ receive
+ {tcp_closed, Socket} ->
+ receive
+ {Server, {error, Error}} ->
+ test_server:format("Error ~p", [Error])
+ end
+ end,
ssl_test_lib:close(Server).
-should_close(Socket) ->
- receive
- {ssl, Socket, closed} ->
- server_closed;
- Other ->
- exit({?LINE, Other})
- end.
+dummy(_Socket) ->
+ %% Should not happen as the ssl connection will not be established
+ %% due to fatal handshake failiure
+ exit(kill).
%%--------------------------------------------------------------------
ipv6(doc) ->
@@ -843,12 +992,14 @@ ekeyfile(Config) when is_list(Config) ->
ClientOpts = ?config(client_opts, Config),
BadOpts = ?config(server_bad_key, Config),
{ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
- Port = ssl_test_lib:inet_port(ServerNode),
-
+
Server =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
+ ssl_test_lib:start_server_error([{node, ServerNode}, {port, 0},
{from, self()},
{options, BadOpts}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+
Client =
ssl_test_lib:start_client_error([{node, ClientNode},
{port, Port}, {host, Hostname},
@@ -869,19 +1020,21 @@ ecertfile(Config) when is_list(Config) ->
ClientOpts = ?config(client_opts, Config),
ServerBadOpts = ?config(server_bad_cert, Config),
{ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
- Port = ssl_test_lib:inet_port(ServerNode),
- Server0 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
+ Server =
+ ssl_test_lib:start_server_error([{node, ServerNode}, {port, 0},
{from, self()},
{options, ServerBadOpts}]),
- Client0 =
+
+ Port = ssl_test_lib:inet_port(Server),
+
+ Client =
ssl_test_lib:start_client_error([{node, ClientNode},
{port, Port}, {host, Hostname},
{from, self()},
{options, ClientOpts}]),
- ssl_test_lib:check_result(Server0, {error, ecertfile}, Client0,
+ ssl_test_lib:check_result(Server, {error, ecertfile}, Client,
{error, closed}).
@@ -896,15 +1049,18 @@ ecacertfile(Config) when is_list(Config) ->
ClientOpts = [{reuseaddr, true}|?config(client_opts, Config)],
ServerBadOpts = [{reuseaddr, true}|?config(server_bad_ca, Config)],
{ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
- Port = ssl_test_lib:inet_port(ServerNode),
Server0 =
ssl_test_lib:start_server_error([{node, ServerNode},
- {port, Port}, {from, self()},
+ {port, 0}, {from, self()},
{options, ServerBadOpts}]),
+
+ Port0 = ssl_test_lib:inet_port(Server0),
+
+
Client0 =
ssl_test_lib:start_client_error([{node, ClientNode},
- {port, Port}, {host, Hostname},
+ {port, Port0}, {host, Hostname},
{from, self()},
{options, ClientOpts}]),
@@ -917,11 +1073,14 @@ ecacertfile(Config) when is_list(Config) ->
Server1 =
ssl_test_lib:start_server_error([{node, ServerNode},
- {port, Port}, {from, self()},
+ {port, 0}, {from, self()},
{options, ServerBadOpts1}]),
+
+ Port1 = ssl_test_lib:inet_port(Server1),
+
Client1 =
ssl_test_lib:start_client_error([{node, ClientNode},
- {port, Port}, {host, Hostname},
+ {port, Port1}, {host, Hostname},
{from, self()},
{options, ClientOpts}]),
@@ -942,198 +1101,58 @@ eoptions(Config) when is_list(Config) ->
ClientOpts = ?config(client_opts, Config),
ServerOpts = ?config(server_opts, Config),
{ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
- Port = ssl_test_lib:inet_port(ServerNode),
-
- %% Emulated opts
- Server0 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{active, trice} | ServerOpts]}]),
- Client0 =
- ssl_test_lib:start_client_error([{node, ClientNode},
- {port, Port}, {host, Hostname},
- {from, self()},
- {options, [{active, trice} | ClientOpts]}]),
- ssl_test_lib:check_result(Server0, {error, {eoptions, {active,trice}}},
- Client0, {error, {eoptions, {active,trice}}}),
-
- test_server:sleep(500),
-
- Server1 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{header, a} | ServerOpts]}]),
- Client1 =
- ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
- {host, Hostname},
- {from, self()},
- {options, [{header, a} | ClientOpts]}]),
- ssl_test_lib:check_result(Server1, {error, {eoptions, {header, a}}},
- Client1, {error, {eoptions, {header, a}}}),
-
- test_server:sleep(500),
-
- Server2 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{mode, a} | ServerOpts]}]),
-
- Client2 =
- ssl_test_lib:start_client_error([{node, ClientNode},
- {port, Port}, {host, Hostname},
- {from, self()},
- {options, [{mode, a} | ClientOpts]}]),
- ssl_test_lib:check_result(Server2, {error, {eoptions, {mode, a}}},
- Client2, {error, {eoptions, {mode, a}}}),
-
-
- test_server:sleep(500),
-
- Server3 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{packet, 8.0} | ServerOpts]}]),
- Client3 =
- ssl_test_lib:start_client_error([{node, ClientNode},
- {port, Port}, {host, Hostname},
- {from, self()},
- {options, [{packet, 8.0} | ClientOpts]}]),
- ssl_test_lib:check_result(Server3, {error, {eoptions, {packet, 8.0}}},
- Client3, {error, {eoptions, {packet, 8.0}}}),
-
- test_server:sleep(500),
-
- %% ssl
- Server4 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{verify, 4} | ServerOpts]}]),
- Client4 =
- ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
- {host, Hostname},
- {from, self()},
- {options, [{verify, 4} | ClientOpts]}]),
- ssl_test_lib:check_result(Server4, {error, {eoptions, {verify, 4}}},
- Client4, {error, {eoptions, {verify, 4}}}),
-
- test_server:sleep(500),
-
- Server5 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{depth, four} | ServerOpts]}]),
- Client5 =
- ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
- {host, Hostname},
- {from, self()},
- {options, [{depth, four} | ClientOpts]}]),
- ssl_test_lib:check_result(Server5, {error, {eoptions, {depth, four}}},
- Client5, {error, {eoptions, {depth, four}}}),
-
- test_server:sleep(500),
-
- Server6 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{cacertfile, ""} | ServerOpts]}]),
- Client6 =
- ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
- {host, Hostname},
- {from, self()},
- {options, [{cacertfile, ""} | ClientOpts]}]),
- ssl_test_lib:check_result(Server6, {error, {eoptions, {cacertfile, ""}}},
- Client6, {error, {eoptions, {cacertfile, ""}}}),
-
-
- test_server:sleep(500),
-
- Server7 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{certfile, 'cert.pem'} | ServerOpts]}]),
- Client7 =
- ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
- {host, Hostname},
- {from, self()},
- {options, [{certfile, 'cert.pem'} | ClientOpts]}]),
- ssl_test_lib:check_result(Server7,
- {error, {eoptions, {certfile, 'cert.pem'}}},
- Client7, {error, {eoptions, {certfile, 'cert.pem'}}}),
-
- test_server:sleep(500),
-
- Server8 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{keyfile,'key.pem' } | ServerOpts]}]),
- Client8 =
- ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
- {host, Hostname},
- {from, self()}, {options, [{keyfile, 'key.pem'}
- | ClientOpts]}]),
- ssl_test_lib:check_result(Server8,
- {error, {eoptions, {keyfile, 'key.pem'}}},
- Client8, {error, {eoptions, {keyfile, 'key.pem'}}}),
-
- test_server:sleep(500),
-
- Server9 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{key, 'key.pem' } | ServerOpts]}]),
- Client9 =
- ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
- {host, Hostname},
- {from, self()}, {options, [{key, 'key.pem'}
- | ClientOpts]}]),
- ssl_test_lib:check_result(Server9, {error, {eoptions, {key, 'key.pem'}}},
- Client9, {error, {eoptions, {key, 'key.pem'}}}),
-
-
- test_server:sleep(500),
-
- Server10 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{password, foo} | ServerOpts]}]),
- Client10 =
- ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
- {host, Hostname},
- {from, self()},
- {options, [{password, foo} | ClientOpts]}]),
- ssl_test_lib:check_result(Server10, {error, {eoptions, {password, foo}}},
- Client10, {error, {eoptions, {password, foo}}}),
-
- test_server:sleep(500),
-
- %% Misc
- Server11 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{ssl_imp, cool} | ServerOpts]}]),
- Client11 =
- ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
- {host, Hostname},
- {from, self()},
- {options, [{ssl_imp, cool} | ClientOpts]}]),
- ssl_test_lib:check_result(Server11, {error, {eoptions, {ssl_imp, cool}}},
- Client11, {error, {eoptions, {ssl_imp, cool}}}),
-
+ Check = fun(Client, Server, {versions, [sslv2, sslv3]} = Option) ->
+ ssl_test_lib:check_result(Server,
+ {error, {eoptions, {sslv2, Option}}},
+ Client,
+ {error, {eoptions, {sslv2, Option}}});
+ (Client, Server, Option) ->
+ ssl_test_lib:check_result(Server,
+ {error, {eoptions, Option}},
+ Client,
+ {error, {eoptions, Option}})
+ end,
- test_server:sleep(500),
-
- Server12 =
- ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port},
- {from, self()},
- {options, [{debug, cool} | ServerOpts]}]),
- Client12 =
- ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
- {host, Hostname},
- {from, self()},
- {options, [{debug, cool} | ClientOpts]}]),
- ssl_test_lib:check_result(Server12, {error, {eoptions, {debug, cool}}},
- Client12, {error, {eoptions, {debug, cool}}}).
+ TestOpts = [{versions, [sslv2, sslv3]},
+ {ssl_imp, cool},
+ {verify, 4},
+ {verify_fun, function},
+ {fail_if_no_peer_cert, 0},
+ {verify_client_once, 1},
+ {validate_extensions_fun, function},
+ {depth, four},
+ {certfile, 'cert.pem'},
+ {keyfile,'key.pem' },
+ {password, foo},
+ {cacertfile, ""},
+ {dhfile,'dh.pem' },
+ {ciphers, [{foo, bar, sha, ignore}]},
+ {reuse_session, foo},
+ {reuse_sessions, 0},
+ {renegotiate_at, "10"},
+ {debug, 1},
+ {mode, depech},
+ {packet, 8.0},
+ {packet_size, "2"},
+ {header, a},
+ {active, trice},
+ {key, 'key.pem' }],
+
+ [begin
+ Server =
+ ssl_test_lib:start_server_error([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {options, [TestOpt | ServerOpts]}]),
+ %% Will never reach a point where port is used.
+ Client =
+ ssl_test_lib:start_client_error([{node, ClientNode}, {port, 0},
+ {host, Hostname}, {from, self()},
+ {options, [TestOpt | ClientOpts]}]),
+ Check(Client, Server, TestOpt),
+ ok
+ end || TestOpt <- TestOpts],
+ ok.
%%--------------------------------------------------------------------
shutdown(doc) ->
@@ -1203,7 +1222,7 @@ shutdown_write(Config) when is_list(Config) ->
ssl_test_lib:check_result(Server, ok, Client, {error, closed}).
shutdown_write_result(Socket, server) ->
- test_server:sleep(500),
+ test_server:sleep(?SLEEP),
ssl:shutdown(Socket, write);
shutdown_write_result(Socket, client) ->
ssl:recv(Socket, 0).
@@ -1233,7 +1252,7 @@ shutdown_both(Config) when is_list(Config) ->
ssl_test_lib:check_result(Server, ok, Client, {error, closed}).
shutdown_both_result(Socket, server) ->
- test_server:sleep(500),
+ test_server:sleep(?SLEEP),
ssl:shutdown(Socket, read_write);
shutdown_both_result(Socket, client) ->
ssl:recv(Socket, 0).
@@ -1339,7 +1358,7 @@ reuse_session(Config) when is_list(Config) ->
Client0 =
ssl_test_lib:start_client([{node, ClientNode},
{port, Port}, {host, Hostname},
- {mfa, {?MODULE, no_result, []}},
+ {mfa, {ssl_test_lib, no_result, []}},
{from, self()}, {options, ClientOpts}]),
SessionInfo =
receive
@@ -1350,7 +1369,7 @@ reuse_session(Config) when is_list(Config) ->
Server ! listen,
%% Make sure session is registered
- test_server:sleep(500),
+ test_server:sleep(?SLEEP),
Client1 =
ssl_test_lib:start_client([{node, ClientNode},
@@ -1410,7 +1429,7 @@ reuse_session(Config) when is_list(Config) ->
Server1 ! listen,
%% Make sure session is registered
- test_server:sleep(500),
+ test_server:sleep(?SLEEP),
Client4 =
ssl_test_lib:start_client([{node, ClientNode},
@@ -1457,7 +1476,7 @@ reuse_session_expired(Config) when is_list(Config) ->
Client0 =
ssl_test_lib:start_client([{node, ClientNode},
{port, Port}, {host, Hostname},
- {mfa, {?MODULE, no_result, []}},
+ {mfa, {ssl_test_lib, no_result, []}},
{from, self()}, {options, ClientOpts}]),
SessionInfo =
receive
@@ -1468,7 +1487,7 @@ reuse_session_expired(Config) when is_list(Config) ->
Server ! listen,
%% Make sure session is registered
- test_server:sleep(500),
+ test_server:sleep(?SLEEP),
Client1 =
ssl_test_lib:start_client([{node, ClientNode},
@@ -1530,7 +1549,7 @@ server_does_not_want_to_reuse_session(Config) when is_list(Config) ->
Client0 =
ssl_test_lib:start_client([{node, ClientNode},
{port, Port}, {host, Hostname},
- {mfa, {?MODULE, no_result, []}},
+ {mfa, {ssl_test_lib, no_result, []}},
{from, self()}, {options, ClientOpts}]),
SessionInfo =
receive
@@ -1541,7 +1560,7 @@ server_does_not_want_to_reuse_session(Config) when is_list(Config) ->
Server ! listen,
%% Make sure session is registered
- test_server:sleep(500),
+ test_server:sleep(?SLEEP),
Client1 =
ssl_test_lib:start_client([{node, ClientNode},
@@ -1725,10 +1744,124 @@ server_verify_none_active_once(Config) when is_list(Config) ->
ssl_test_lib:check_result(Server, ok, Client, ok),
ssl_test_lib:close(Server),
ssl_test_lib:close(Client).
+%%--------------------------------------------------------------------
+
+server_verify_client_once_passive(doc) ->
+ ["Test server option verify_client_once"];
+
+server_verify_client_once_passive(suite) ->
+ [];
+
+server_verify_client_once_passive(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_verification_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result, []}},
+ {options, [{active, false}, {verify, verify_peer},
+ {verify_client_once, true}
+ | ServerOpts]}]),
+ Port = ssl_test_lib:inet_port(Server),
+ Client0 = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result, []}},
+ {options, [{active, false} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client0, ok),
+ ssl_test_lib:close(Client0),
+ Server ! listen,
+ Client1 = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, result_ok, []}},
+ {options, [{active, false} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Client1, ok),
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client1).
+
+%%--------------------------------------------------------------------
+server_verify_client_once_active(doc) ->
+ ["Test server option verify_client_once"];
+
+server_verify_client_once_active(suite) ->
+ [];
+
+server_verify_client_once_active(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_verification_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active, []}},
+ {options, [{active, once}, {verify, verify_peer},
+ {verify_client_once, true}
+ | ServerOpts]}]),
+ Port = ssl_test_lib:inet_port(Server),
+ Client0 = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active, []}},
+ {options, [{active, true} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client0, ok),
+ ssl_test_lib:close(Client0),
+ Server ! listen,
+ Client1 = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, result_ok, []}},
+ {options, [{active, true} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Client1, ok),
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client1).
+
%%--------------------------------------------------------------------
+server_verify_client_once_active_once(doc) ->
+ ["Test server option verify_client_once"];
+
+server_verify_client_once_active_once(suite) ->
+ [];
+
+server_verify_client_once_active_once(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_verification_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active_once, []}},
+ {options, [{active, once}, {verify, verify_peer},
+ {verify_client_once, true}
+ | ServerOpts]}]),
+ Port = ssl_test_lib:inet_port(Server),
+ Client0 = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active_once, []}},
+ {options, [{active, once} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client0, ok),
+ ssl_test_lib:close(Client0),
+ Server ! listen,
+
+ Client1 = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, result_ok, []}},
+ {options, [{active, once} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Client1, ok),
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client1).
+
+%%--------------------------------------------------------------------
+
server_verify_no_cacerts(doc) ->
["Test server must have cacerts if it wants to verify client"];
@@ -1744,7 +1877,66 @@ server_verify_no_cacerts(Config) when is_list(Config) ->
| ServerOpts]}]),
ssl_test_lib:check_result(Server, {error, {eoptions, {cacertfile, ""}}}).
+
+%%--------------------------------------------------------------------
+
+server_require_peer_cert_ok(doc) ->
+ ["Test server option fail_if_no_peer_cert when peer sends cert"];
+
+server_require_peer_cert_ok(suite) ->
+ [];
+
+server_require_peer_cert_ok(Config) when is_list(Config) ->
+ ServerOpts = [{verify, verify_peer}, {fail_if_no_peer_cert, true}
+ | ?config(server_verification_opts, Config)],
+ ClientOpts = ?config(client_verification_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result, []}},
+ {options, [{active, false} | ServerOpts]}]),
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result, []}},
+ {options, [{active, false} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+%%--------------------------------------------------------------------
+
+server_require_peer_cert_fail(doc) ->
+ ["Test server option fail_if_no_peer_cert when peer doesn't send cert"];
+
+server_require_peer_cert_fail(suite) ->
+ [];
+
+server_require_peer_cert_fail(Config) when is_list(Config) ->
+ ServerOpts = [{verify, verify_peer}, {fail_if_no_peer_cert, true}
+ | ?config(server_verification_opts, Config)],
+ BadClientOpts = ?config(client_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Server = ssl_test_lib:start_server_error([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {options, [{active, false} | ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+
+ Client = ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {options, [{active, false} | BadClientOpts]}]),
+ ssl_test_lib:check_result(Server, {error, esslaccept},
+ Client, {error, esslconnect}),
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
%%--------------------------------------------------------------------
client_verify_none_passive(doc) ->
@@ -1849,31 +2041,365 @@ client_verify_none_active_once(Config) when is_list(Config) ->
ssl_test_lib:close(Client).
+
+%%--------------------------------------------------------------------
+client_renegotiate(doc) ->
+ ["Test ssl:renegotiate/1 on client."];
+
+client_renegotiate(suite) ->
+ [];
+
+client_renegotiate(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+ ClientOpts = ?config(client_opts, Config),
+
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = "From erlang to erlang",
+
+ Server =
+ ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, erlang_ssl_receive, [Data]}},
+ {options, ServerOpts}]),
+ Port = ssl_test_lib:inet_port(Server),
+
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE,
+ renegotiate, [Data]}},
+ {options, [{reuse_sessions, false} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Client, ok, Server, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client),
+ process_flag(trap_exit, false),
+ ok.
+%%--------------------------------------------------------------------
+server_renegotiate(doc) ->
+ ["Test ssl:renegotiate/1 on server."];
+
+server_renegotiate(suite) ->
+ [];
+
+server_renegotiate(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+ ClientOpts = ?config(client_opts, Config),
+
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = "From erlang to erlang",
+
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE,
+ renegotiate, [Data]}},
+ {options, ServerOpts}]),
+ Port = ssl_test_lib:inet_port(Server),
+
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, erlang_ssl_receive, [Data]}},
+ {options, [{reuse_sessions, false} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client),
+ ok.
+
+%%--------------------------------------------------------------------
+client_renegotiate_reused_session(doc) ->
+ ["Test ssl:renegotiate/1 on client when the ssl session will be reused."];
+
+client_renegotiate_reused_session(suite) ->
+ [];
+
+client_renegotiate_reused_session(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+ ClientOpts = ?config(client_opts, Config),
+
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = "From erlang to erlang",
+
+ Server =
+ ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, erlang_ssl_receive, [Data]}},
+ {options, ServerOpts}]),
+ Port = ssl_test_lib:inet_port(Server),
+
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE,
+ renegotiate_reuse_session, [Data]}},
+ {options, [{reuse_sessions, true} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Client, ok, Server, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client),
+ process_flag(trap_exit, false),
+ ok.
+%%--------------------------------------------------------------------
+server_renegotiate_reused_session(doc) ->
+ ["Test ssl:renegotiate/1 on server when the ssl session will be reused."];
+
+server_renegotiate_reused_session(suite) ->
+ [];
+
+server_renegotiate_reused_session(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+ ClientOpts = ?config(client_opts, Config),
+
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = "From erlang to erlang",
+
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE,
+ renegotiate_reuse_session, [Data]}},
+ {options, ServerOpts}]),
+ Port = ssl_test_lib:inet_port(Server),
+
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, erlang_ssl_receive, [Data]}},
+ {options, [{reuse_sessions, true} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client),
+ ok.
+
+%%--------------------------------------------------------------------
+client_no_wrap_sequence_number(doc) ->
+ ["Test that erlang client will renegotiate session when",
+ "max sequence number celing is about to be reached. Although"
+ "in the testcase we use the test option renegotiate_at"
+ " to lower treashold substantially."];
+
+client_no_wrap_sequence_number(suite) ->
+ [];
+
+client_no_wrap_sequence_number(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+ ClientOpts = ?config(client_opts, Config),
+
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ ErlData = "From erlang to erlang",
+ N = 10,
+
+ Server =
+ ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {ssl_test_lib, no_result, []}},
+ {options, ServerOpts}]),
+ Port = ssl_test_lib:inet_port(Server),
+
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {ssl_test_lib,
+ trigger_renegotiate, [[ErlData, N+2]]}},
+ {options, [{reuse_sessions, false},
+ {renegotiate_at, N} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client),
+ process_flag(trap_exit, false),
+ ok.
+%%--------------------------------------------------------------------
+server_no_wrap_sequence_number(doc) ->
+ ["Test that erlang server will renegotiate session when",
+ "max sequence number celing is about to be reached. Although"
+ "in the testcase we use the test option renegotiate_at"
+ " to lower treashold substantially."];
+
+server_no_wrap_sequence_number(suite) ->
+ [];
+
+server_no_wrap_sequence_number(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+ ClientOpts = ?config(client_opts, Config),
+
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = "From erlang to erlang",
+ N = 10,
+
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {ssl_test_lib,
+ trigger_renegotiate, [[Data, N+2]]}},
+ {options, [{renegotiate_at, N} | ServerOpts]}]),
+ Port = ssl_test_lib:inet_port(Server),
+
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {ssl_test_lib, no_result, []}},
+ {options, [{reuse_sessions, false} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok),
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client),
+ ok.
+
+%%--------------------------------------------------------------------
+extended_key_usage(doc) ->
+ ["Test cert that has a critical extended_key_usage extension"];
+
+extended_key_usage(suite) ->
+ [];
+
+extended_key_usage(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_verification_opts, Config),
+ ServerOpts = ?config(server_verification_opts, Config),
+ PrivDir = ?config(priv_dir, Config),
+
+ KeyFile = filename:join(PrivDir, "otpCA/private/key.pem"),
+ {ok, [KeyInfo]} = public_key:pem_to_der(KeyFile),
+ {ok, Key} = public_key:decode_private_key(KeyInfo),
+
+ ServerCertFile = proplists:get_value(certfile, ServerOpts),
+ NewServerCertFile = filename:join(PrivDir, "server/new_cert.pem"),
+ {ok, [{cert, ServerDerCert, _}]} = public_key:pem_to_der(ServerCertFile),
+ {ok, ServerOTPCert} = public_key:pkix_decode_cert(ServerDerCert, otp),
+ ServerExtKeyUsageExt = {'Extension', ?'id-ce-extKeyUsage', true, [?'id-kp-serverAuth']},
+ ServerOTPTbsCert = ServerOTPCert#'OTPCertificate'.tbsCertificate,
+ ServerExtensions = ServerOTPTbsCert#'OTPTBSCertificate'.extensions,
+ NewServerOTPTbsCert = ServerOTPTbsCert#'OTPTBSCertificate'{extensions =
+ [ServerExtKeyUsageExt |
+ ServerExtensions]},
+ NewServerDerCert = public_key:sign(NewServerOTPTbsCert, Key),
+ public_key:der_to_pem(NewServerCertFile, [{cert, NewServerDerCert}]),
+ NewServerOpts = [{certfile, NewServerCertFile} | proplists:delete(certfile, ServerOpts)],
+
+ ClientCertFile = proplists:get_value(certfile, ClientOpts),
+ NewClientCertFile = filename:join(PrivDir, "client/new_cert.pem"),
+ {ok, [{cert, ClientDerCert, _}]} = public_key:pem_to_der(ClientCertFile),
+ {ok, ClientOTPCert} = public_key:pkix_decode_cert(ClientDerCert, otp),
+ ClientExtKeyUsageExt = {'Extension', ?'id-ce-extKeyUsage', true, [?'id-kp-clientAuth']},
+ ClientOTPTbsCert = ClientOTPCert#'OTPCertificate'.tbsCertificate,
+ ClientExtensions = ClientOTPTbsCert#'OTPTBSCertificate'.extensions,
+ NewClientOTPTbsCert = ClientOTPTbsCert#'OTPTBSCertificate'{extensions =
+ [ClientExtKeyUsageExt |
+ ClientExtensions]},
+ NewClientDerCert = public_key:sign(NewClientOTPTbsCert, Key),
+ public_key:der_to_pem(NewClientCertFile, [{cert, NewClientDerCert}]),
+ NewClientOpts = [{certfile, NewClientCertFile} | proplists:delete(certfile, ClientOpts)],
+
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active, []}},
+ {options, [{verify, verify_peer} | NewServerOpts]}]),
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active, []}},
+ {options, NewClientOpts}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+%%--------------------------------------------------------------------
+validate_extensions_fun(doc) ->
+ ["Test that it is possible to specify a validate_extensions_fun"];
+
+validate_extensions_fun(suite) ->
+ [];
+
+validate_extensions_fun(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_verification_opts, Config),
+ ServerOpts = ?config(server_verification_opts, Config),
+
+ Fun = fun(Extensions, State, _, AccError) ->
+ {Extensions, State, AccError}
+ end,
+
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active, []}},
+ {options, [{validate_extensions_fun, Fun},
+ {verify, verify_peer} | ServerOpts]}]),
+ Port = ssl_test_lib:inet_port(Server),
+
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, send_recv_result_active, []}},
+ {options,[{validate_extensions_fun, Fun} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
%%--------------------------------------------------------------------
%%% Internal functions
%%--------------------------------------------------------------------
send_recv_result(Socket) ->
- ssl:send(Socket, "Hejhopp"),
- test_server:sleep(100),
- {ok,"Hejhopp"} = ssl:recv(Socket, 7),
+ ssl:send(Socket, "Hello world"),
+ {ok,"Hello world"} = ssl:recv(Socket, 11),
ok.
send_recv_result_active(Socket) ->
- ssl:send(Socket, "Hejhopp"),
- test_server:sleep(100),
+ ssl:send(Socket, "Hello world"),
receive
- {ssl, Socket, "Hejhopp"} ->
+ {ssl, Socket, "Hello world"} ->
ok
end.
send_recv_result_active_once(Socket) ->
- ssl:send(Socket, "Hejhopp"),
- test_server:sleep(100),
+ ssl:send(Socket, "Hello world"),
receive
- {ssl, Socket, "Hejhopp"} ->
+ {ssl, Socket, "Hello world"} ->
ok
end.
+result_ok(_Socket) ->
+ ok.
+
+renegotiate(Socket, Data) ->
+ test_server:format("Renegotiating ~n", []),
+ Result = ssl:renegotiate(Socket),
+ test_server:format("Result ~p~n", [Result]),
+ ssl:send(Socket, Data),
+ case Result of
+ ok ->
+ ok;
+ Other ->
+ Other
+ end.
+
+renegotiate_reuse_session(Socket, Data) ->
+ %% Make sure session is registerd
+ test_server:sleep(?SLEEP),
+ renegotiate(Socket, Data).
+
session_cache_process_list(doc) ->
["Test reuse of sessions (short handshake)"];
@@ -1909,7 +2435,7 @@ session_cache_process(Type,Config) when is_list(Config) ->
Client0 =
ssl_test_lib:start_client([{node, ClientNode},
{port, Port}, {host, Hostname},
- {mfa, {?MODULE, no_result, []}},
+ {mfa, {ssl_test_lib, no_result, []}},
{from, self()}, {options, ClientOpts}]),
SessionInfo =
receive
@@ -1920,7 +2446,7 @@ session_cache_process(Type,Config) when is_list(Config) ->
Server ! listen,
%% Make sure session is registered
- test_server:sleep(500),
+ test_server:sleep(?SLEEP),
Client1 =
ssl_test_lib:start_client([{node, ClientNode},
@@ -1963,7 +2489,7 @@ session_cache_process(Type,Config) when is_list(Config) ->
Server1 ! listen,
%% Make sure session is registered
- test_server:sleep(500),
+ test_server:sleep(?SLEEP),
Client4 =
ssl_test_lib:start_client([{node, ClientNode},
@@ -2112,3 +2638,14 @@ session_loop(Sess) ->
session_loop(Sess)
end.
+erlang_ssl_receive(Socket, Data) ->
+ receive
+ {ssl, Socket, Data} ->
+ io:format("Received ~p~n",[Data]),
+ ok;
+ Other ->
+ test_server:fail({unexpected_message, Other})
+ after ?SLEEP * 3 ->
+ test_server:fail({did_not_get, Data})
+ end.
+
diff --git a/lib/ssl/test/ssl_basic_SUITE_data/dHParam.pem b/lib/ssl/test/ssl_basic_SUITE_data/dHParam.pem
new file mode 100644
index 0000000000..feb581da30
--- /dev/null
+++ b/lib/ssl/test/ssl_basic_SUITE_data/dHParam.pem
@@ -0,0 +1,5 @@
+-----BEGIN DH PARAMETERS-----
+MIGHAoGBAMY5VmCZ22ZEy/KO8kjt94PH7ZtSG0Z0zitlMlvd4VsNkDzXsVeu+wkH
+FGDC3h3vgv6iwXGCbmrSOVk/FPZbzLhwZ8aLnkUFOBbOvVvb1JptQwOt8mf+eScG
+M2gGBktheQV5Nf1IrzOctG7VGt+neiqb/Y86uYCcDdL+M8++0qnLAgEC
+-----END DH PARAMETERS-----
diff --git a/lib/ssl/test/ssl_packet_SUITE.erl b/lib/ssl/test/ssl_packet_SUITE.erl
index f031552457..a019e660e9 100644
--- a/lib/ssl/test/ssl_packet_SUITE.erl
+++ b/lib/ssl/test/ssl_packet_SUITE.erl
@@ -42,7 +42,6 @@
-define(MANY, 1000).
-define(SOME, 50).
-
%% Test server callback functions
%%--------------------------------------------------------------------
%% Function: init_per_suite(Config) -> Config
@@ -144,7 +143,20 @@ all(suite) ->
packet_wait_passive, packet_wait_active,
packet_baddata_passive, packet_baddata_active,
packet_size_passive, packet_size_active,
- packet_erl_decode
+ packet_cdr_decode,
+ packet_http_decode,
+ packet_http_decode_list,
+ packet_http_bin_decode_multi,
+ packet_line_decode,
+ packet_asn1_decode,
+ packet_tpkt_decode,
+ %packet_fcgi_decode,
+ packet_sunrm_decode,
+ header_decode_one_byte,
+ header_decode_two_bytes,
+ header_decode_two_bytes_one_sent,
+ header_decode_two_bytes_two_sent
+
].
%% Test cases starts here.
@@ -501,7 +513,8 @@ packet_raw_active_once_many_small(Config) when is_list(Config) ->
Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
{host, Hostname},
{from, self()},
- {mfa, {?MODULE, active_once_raw, [Data, ?MANY]}},
+ {mfa, {?MODULE, active_once_raw,
+ [Data, ?MANY]}},
{options, [{active, once},
{packet, raw} |
ClientOpts]}]),
@@ -533,7 +546,8 @@ packet_raw_active_once_some_big(Config) when is_list(Config) ->
Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
{host, Hostname},
{from, self()},
- {mfa, {?MODULE, active_once_raw, [Data, ?SOME]}},
+ {mfa, {?MODULE, active_once_raw,
+ [Data, ?SOME]}},
{options, [{active, once},
{packet, raw} |
ClientOpts]}]),
@@ -1189,7 +1203,8 @@ packet_send_to_large(Config) when is_list(Config) ->
{mfa, {?MODULE, active_packet, [Data, 1]}},
{options, [{active, true} | ClientOpts]}]),
- ssl_test_lib:check_result(Server, {error, {badarg, {packet_to_large, 300, 255}}}),
+ ssl_test_lib:check_result(Server, {error, {badarg,
+ {packet_to_large, 300, 255}}}),
ssl_test_lib:close(Server),
ssl_test_lib:close(Client).
@@ -1214,7 +1229,8 @@ packet_wait_active(Config) when is_list(Config) ->
Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
{from, self()},
- {mfa, {?MODULE, send_incomplete ,[Data, ?SOME]}},
+ {mfa, {?MODULE, send_incomplete,
+ [Data, ?SOME]}},
{options, ServerOpts}]),
Port = ssl_test_lib:inet_port(Server),
Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
@@ -1249,7 +1265,8 @@ packet_wait_passive(Config) when is_list(Config) ->
Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
{from, self()},
- {mfa, {?MODULE, send_incomplete ,[Data, ?SOME]}},
+ {mfa, {?MODULE, send_incomplete,
+ [Data, ?SOME]}},
{options, ServerOpts}]),
Port = ssl_test_lib:inet_port(Server),
Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
@@ -1291,7 +1308,8 @@ packet_baddata_active(Config) when is_list(Config) ->
{packet, cdr} |
ClientOpts]}]),
receive
- {Client, {other, {ssl_error, _Socket, {invalid_packet, _}},{error,closed},1}} -> ok;
+ {Client, {other, {ssl_error, _Socket,
+ {invalid_packet, _}},{error,closed},1}} -> ok;
Unexpected ->
test_server:fail({unexpected, Unexpected})
end,
@@ -1336,8 +1354,11 @@ packet_baddata_passive(Config) when is_list(Config) ->
ssl_test_lib:close(Server),
ssl_test_lib:close(Client).
%%--------------------------------------------------------------------
+
packet_size_active(doc) ->
- ["Test that if a packet of size larger than packet_size arrives error msg is sent and socket is closed"];
+ ["Test that if a packet of size larger than
+ packet_size arrives error msg is sent and socket is closed"];
+
packet_size_active(suite) ->
[];
@@ -1361,7 +1382,8 @@ packet_size_active(Config) when is_list(Config) ->
{packet, 4}, {packet_size, 10} |
ClientOpts]}]),
receive
- {Client, {other, {ssl_error, _Socket, {invalid_packet, _}},{error,closed},1}} -> ok;
+ {Client, {other, {ssl_error, _Socket,
+ {invalid_packet, _}},{error,closed},1}} -> ok;
Unexpected ->
test_server:fail({unexpected, Unexpected})
end,
@@ -1369,10 +1391,11 @@ packet_size_active(Config) when is_list(Config) ->
ssl_test_lib:close(Server),
ssl_test_lib:close(Client).
%%--------------------------------------------------------------------
+
packet_size_passive(doc) ->
- ["Test that if a packet of size larger than packet_size arrives error msg is sent and socket is closed"];
-packet_size_passive(suite) ->
- [];
+ ["Test that if a packet of size larger
+ than packet_size arrives error msg is sent and socket is closed"];
+packet_size_passive(suite) -> [];
packet_size_passive(Config) when is_list(Config) ->
ClientOpts = ?config(client_opts, Config),
@@ -1389,7 +1412,8 @@ packet_size_passive(Config) when is_list(Config) ->
Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
{host, Hostname},
{from, self()},
- {mfa, {?MODULE, passive_recv_packet, [Data, 1]}},
+ {mfa, {?MODULE, passive_recv_packet,
+ [Data, 1]}},
{options, [{active, false},
{packet, 4}, {packet_size, 30} |
ClientOpts]}]),
@@ -1403,14 +1427,11 @@ packet_size_passive(Config) when is_list(Config) ->
ssl_test_lib:close(Client).
%%--------------------------------------------------------------------
-packet_erl_decode(doc) ->
- ["Test that packets of sent to erlang:decode_packet works, i.e. currently"
- "asn1 | cdr | sunrm | fcgi | tpkt | line | http | http_bin"
- ];
-packet_erl_decode(suite) ->
+packet_cdr_decode(doc) ->
+ ["Test setting the packet option {packet, cdr}"];
+packet_cdr_decode(suite) ->
[];
-
-packet_erl_decode(Config) when is_list(Config) ->
+packet_cdr_decode(Config) when is_list(Config) ->
ClientOpts = ?config(client_opts, Config),
ServerOpts = ?config(server_opts, Config),
{ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
@@ -1421,51 +1442,596 @@ packet_erl_decode(Config) when is_list(Config) ->
Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
{from, self()},
- {mfa, {?MODULE, server_packet_decode ,[Data]}},
- {options, [{active, true}, binary, {packet, cdr}|ServerOpts]}]),
+ {mfa, {?MODULE, server_packet_decode,
+ [Data]}},
+ {options, [{active, true}, binary,
+ {packet, cdr}|ServerOpts]}]),
Port = ssl_test_lib:inet_port(Server),
Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
{host, Hostname},
{from, self()},
- {mfa, {?MODULE, client_packet_decode, [Data]}},
- {options, [{active, true}, binary | ClientOpts]}]),
+ {mfa, {?MODULE, client_packet_decode,
+ [Data]}},
+ {options, [{active, true}, {packet, cdr},
+ binary | ClientOpts]}]),
ssl_test_lib:check_result(Server, ok, Client, ok),
ssl_test_lib:close(Server),
ssl_test_lib:close(Client).
+%%--------------------------------------------------------------------
+packet_http_decode(doc) ->
+ ["Test setting the packet option {packet, http} {mode, binary}"];
+packet_http_decode(suite) ->
+ [];
+
+packet_http_decode(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
-server_packet_decode(Socket, CDR) ->
+ Request = "GET / HTTP/1.1\r\n"
+ "host: www.example.com\r\n"
+ "user-agent: HttpTester\r\n"
+ "\r\n",
+ Response = "HTTP/1.1 200 OK\r\n"
+ "\r\n"
+ "Hello!",
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_http_decode,
+ [Response]}},
+ {options, [{active, true}, binary,
+ {packet, http} | ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_http_decode,
+ [Request]}},
+ {options, [{active, true}, binary,
+ {packet, http} |
+ ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+
+server_http_decode(Socket, HttpResponse) ->
+ assert_packet_opt(Socket, http),
receive
- {ssl, Socket, CDR} -> ok;
+ {ssl, Socket, {http_request, 'GET', _, {1,1}}} -> ok;
Other1 -> exit({?LINE, Other1})
end,
- ok = ssl:send(Socket, CDR),
+ assert_packet_opt(Socket, http),
receive
- {ssl, Socket, CDR} -> ok;
+ {ssl, Socket, {http_header, _, 'Host', _, "www.example.com"}} -> ok;
Other2 -> exit({?LINE, Other2})
end,
- ok = ssl:send(Socket, CDR),
+ assert_packet_opt(Socket, http),
+ receive
+ {ssl, Socket, {http_header, _, 'User-Agent', _, "HttpTester"}} -> ok;
+ Other3 -> exit({?LINE, Other3})
+ end,
+ assert_packet_opt(Socket, http),
+ receive
+ {ssl, Socket, http_eoh} -> ok;
+ Other4 -> exit({?LINE, Other4})
+ end,
+ assert_packet_opt(Socket, http),
+ ok = ssl:send(Socket, HttpResponse),
ok.
-client_packet_decode(Socket, CDR) ->
- <<P1:10/binary, P2/binary>> = CDR,
- ok = ssl:send(Socket, P1),
- ok = ssl:send(Socket, P2),
+client_http_decode(Socket, HttpRequest) ->
+ ok = ssl:send(Socket, HttpRequest),
receive
- {ssl, Socket, CDR} -> ok;
+ {ssl, Socket, {http_response, {1,1}, 200, "OK"}} -> ok;
Other1 -> exit({?LINE, Other1})
end,
- ssl:setopts(Socket, [{packet, cdr}]),
- ok = ssl:send(Socket, CDR),
receive
- {ssl, Socket, CDR} -> ok;
+ {ssl, Socket, http_eoh} -> ok;
Other2 -> exit({?LINE, Other2})
end,
+ ok = ssl:setopts(Socket, [{packet, 0}]),
+ receive
+ {ssl, Socket, <<"Hello!">>} -> ok;
+ Other3 -> exit({?LINE, Other3})
+ end,
ok.
+%%--------------------------------------------------------------------
+packet_http_decode_list(doc) ->
+ ["Test setting the packet option {packet, http}, {mode, list}"];
+packet_http_decode_list(suite) ->
+ [];
+packet_http_decode_list(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Request = "GET / HTTP/1.1\r\n"
+ "host: www.example.com\r\n"
+ "user-agent: HttpTester\r\n"
+ "\r\n",
+ Response = "HTTP/1.1 200 OK\r\n"
+ "\r\n"
+ "Hello!",
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_http_decode,
+ [Response]}},
+ {options, [{active, true}, binary,
+ {packet, http} |
+ ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_http_decode_list,
+ [Request]}},
+ {options, [{active, true}, list,
+ {packet, http} |
+ ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+
+client_http_decode_list(Socket, HttpRequest) ->
+ ok = ssl:send(Socket, HttpRequest),
+ receive
+ {ssl, Socket, {http_response, {1,1}, 200, "OK"}} -> ok;
+ Other1 -> exit({?LINE, Other1})
+ end,
+ receive
+ {ssl, Socket, http_eoh} -> ok;
+ Other2 -> exit({?LINE, Other2})
+ end,
+ ok = ssl:setopts(Socket, [{packet, 0}]),
+ receive
+ {ssl, Socket, "Hello!"} -> ok;
+ Other3 -> exit({?LINE, Other3})
+ end,
+ ok.
+
+%%--------------------------------------------------------------------
+packet_http_bin_decode_multi(doc) ->
+ ["Test setting the packet option {packet, http_bin} with multiple requests"];
+packet_http_bin_decode_multi(suite) ->
+ [];
+
+packet_http_bin_decode_multi(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Request = <<"GET / HTTP/1.1\r\n"
+ "host: www.example.com\r\n"
+ "user-agent: HttpTester\r\n"
+ "\r\n">>,
+ Response = <<"HTTP/1.1 200 OK\r\n"
+ "\r\n"
+ "Hello!">>,
+ NumMsgs = 3,
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_http_bin_decode,
+ [Response, NumMsgs]}},
+ {options, [{active, true}, binary,
+ {packet, http_bin} |
+ ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_http_bin_decode,
+ [Request, NumMsgs]}},
+ {options, [{active, true}, binary,
+ {packet, http_bin} |
+ ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+
+server_http_bin_decode(Socket, HttpResponse, Count) when Count > 0 ->
+ assert_packet_opt(Socket, http_bin),
+ receive
+ {ssl, Socket, {http_request, 'GET', _, {1,1}}} -> ok;
+ Other1 -> exit({?LINE, Other1})
+ end,
+ assert_packet_opt(Socket, http_bin),
+ receive
+ {ssl, Socket, {http_header, _, 'Host', _, <<"www.example.com">>}} -> ok;
+ Other2 -> exit({?LINE, Other2})
+ end,
+ assert_packet_opt(Socket, http_bin),
+ receive
+ {ssl, Socket, {http_header, _, 'User-Agent', _, <<"HttpTester">>}} -> ok;
+ Other3 -> exit({?LINE, Other3})
+ end,
+ assert_packet_opt(Socket, http_bin),
+ receive
+ {ssl, Socket, http_eoh} -> ok;
+ Other4 -> exit({?LINE, Other4})
+ end,
+ assert_packet_opt(Socket, http_bin),
+ ok = ssl:send(Socket, HttpResponse),
+ server_http_bin_decode(Socket, HttpResponse, Count - 1);
+server_http_bin_decode(_, _, _) ->
+ ok.
+
+client_http_bin_decode(Socket, HttpRequest, Count) when Count > 0 ->
+ ok = ssl:send(Socket, HttpRequest),
+ receive
+ {ssl, Socket, {http_response, {1,1}, 200, <<"OK">>}} -> ok;
+ Other1 -> exit({?LINE, Other1})
+ end,
+ receive
+ {ssl, Socket, http_eoh} -> ok;
+ Other2 -> exit({?LINE, Other2})
+ end,
+ ok = ssl:setopts(Socket, [{packet, 0}]),
+ receive
+ {ssl, Socket, <<"Hello!">>} -> ok;
+ Other3 -> exit({?LINE, Other3})
+ end,
+ ok = ssl:setopts(Socket, [{packet, http_bin}]),
+ client_http_bin_decode(Socket, HttpRequest, Count - 1);
+client_http_bin_decode(_, _, _) ->
+ ok.
+%%--------------------------------------------------------------------
+packet_line_decode(doc) ->
+ ["Test setting the packet option {packet, line}"];
+packet_line_decode(suite) ->
+ [];
+packet_line_decode(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = list_to_binary(lists:flatten(io_lib:format("Line ends here.~n"
+ "Now it is a new line.~n",
+ []))),
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_line_packet_decode,
+ [Data]}},
+ {options, [{active, true}, binary,
+ {packet, line}|ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_line_packet_decode,
+ [Data]}},
+ {options, [{active, true},
+ {packet, line},
+ binary | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+
+server_line_packet_decode(Socket, Lines) ->
+ receive
+ {ssl, Socket, <<"Line ends here.\n">>} -> ok;
+ Other1 -> exit({?LINE, Other1})
+ end,
+ receive
+ {ssl, Socket, <<"Now it is a new line.\n">>} -> ok;
+ Other2 -> exit({?LINE, Other2})
+ end,
+ ok = ssl:send(Socket, Lines).
+
+client_line_packet_decode(Socket, Lines) ->
+ <<P1:10/binary, P2/binary>> = Lines,
+ ok = ssl:send(Socket, P1),
+ ok = ssl:send(Socket, P2),
+ receive
+ {ssl, Socket, <<"Line ends here.\n">>} -> ok;
+ Other1 -> exit({?LINE, Other1})
+ end,
+ receive
+ {ssl, Socket, <<"Now it is a new line.\n">>} -> ok;
+ Other2 -> exit({?LINE, Other2})
+ end.
+
+%%--------------------------------------------------------------------
+
+packet_asn1_decode(doc) ->
+ ["Test setting the packet option {packet, asn1}"];
+packet_asn1_decode(suite) ->
+ [];
+packet_asn1_decode(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ File = proplists:get_value(certfile, ServerOpts),
+
+ %% A valid asn1 BER packet (DER is stricter BER)
+ {ok,[{cert, Data, _}]} = public_key:pem_to_der(File),
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_packet_decode,
+ [Data]}},
+ {options, [{active, true}, binary,
+ {packet, asn1}|ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_packet_decode,
+ [Data]}},
+ {options, [{active, true}, {packet, asn1},
+ binary | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+%%--------------------------------------------------------------------
+packet_tpkt_decode(doc) ->
+ ["Test setting the packet option {packet, tpkt}"];
+packet_tpkt_decode(suite) ->
+ [];
+packet_tpkt_decode(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = list_to_binary(add_tpkt_header("TPKT data")),
+
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_packet_decode,
+ [Data]}},
+ {options, [{active, true}, binary,
+ {packet, tpkt}|ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_packet_decode,
+ [Data]}},
+ {options, [{active, true}, {packet, tpkt},
+ binary | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+%%--------------------------------------------------------------------
+
+%% packet_fcgi_decode(doc) ->
+%% ["Test setting the packet option {packet, fcgi}"];
+%% packet_fcgi_decode(suite) ->
+%% [];
+%% packet_fcgi_decode(Config) when is_list(Config) ->
+%% ClientOpts = ?config(client_opts, Config),
+%% ServerOpts = ?config(server_opts, Config),
+%% {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+%% Data = ...
+
+%% Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+%% {from, self()},
+%% {mfa, {?MODULE, server_packet_decode,
+%% [Data0, Data1]}},
+%% {options, [{active, true}, binary,
+%% {packet, fcgi}|ServerOpts]}]),
+
+%% Port = ssl_test_lib:inet_port(Server),
+%% Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+%% {host, Hostname},
+%% {from, self()},
+%% {mfa, {?MODULE, client_packet_decode,
+%% [Data0, Data1]}},
+%% {options, [{active, true}, {packet, fcgi},
+%% binary | ClientOpts]}]),
+
+%% ssl_test_lib:check_result(Server, ok, Client, ok),
+
+%% ssl_test_lib:close(Server),
+%% ssl_test_lib:close(Client).
+
+
+%%--------------------------------------------------------------------
+
+packet_sunrm_decode(doc) ->
+ ["Test setting the packet option {packet, sunrm}"];
+packet_sunrm_decode(suite) ->
+ [];
+packet_sunrm_decode(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = <<11:32, "Hello world">>,
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_packet_decode,
+ [Data]}},
+ {options, [{active, true}, binary,
+ {packet, sunrm}|ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_packet_decode,
+ [Data]}},
+ {options, [{active, true}, {packet, sunrm},
+ binary | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+%%--------------------------------------------------------------------
+
+header_decode_one_byte(doc) ->
+ ["Test setting the packet option {header, 1}"];
+header_decode_one_byte(suite) ->
+ [];
+header_decode_one_byte(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = <<11:8, "Hello world">>,
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_header_decode,
+ [Data, [11 | <<"Hello world">>]]}},
+ {options, [{active, true}, binary,
+ {header,1}|ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_header_decode,
+ [Data, [11 | <<"Hello world">> ]]}},
+ {options, [{active, true}, {header, 1},
+ binary | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+%%--------------------------------------------------------------------
+
+header_decode_two_bytes(doc) ->
+ ["Test setting the packet option {header, 2}"];
+header_decode_two_bytes(suite) ->
+ [];
+header_decode_two_bytes(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = <<11:8, "Hello world">>,
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_header_decode,
+ [Data, [11, $H | <<"ello world">> ]]}},
+ {options, [{active, true}, binary,
+ {header,2}|ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_header_decode,
+ [Data, [11, $H | <<"ello world">> ]]}},
+ {options, [{active, true}, {header, 2},
+ binary | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+
+%%--------------------------------------------------------------------
+
+header_decode_two_bytes_two_sent(doc) ->
+ ["Test setting the packet option {header, 2} and sending on byte"];
+header_decode_two_bytes_two_sent(suite) ->
+ [];
+header_decode_two_bytes_two_sent(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = <<"He">>,
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_header_decode,
+ [Data, [$H, $e | <<>> ]]}},
+ {options, [{active, true}, binary,
+ {header,2}|ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_header_decode,
+ [Data, [$H, $e | <<>> ]]}},
+ {options, [{active, true}, {header, 2},
+ binary | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
+
+%%--------------------------------------------------------------------
+
+header_decode_two_bytes_one_sent(doc) ->
+ ["Test setting the packet option {header, 2} and sending on byte"];
+header_decode_two_bytes_one_sent(suite) ->
+ [];
+header_decode_two_bytes_one_sent(Config) when is_list(Config) ->
+ ClientOpts = ?config(client_opts, Config),
+ ServerOpts = ?config(server_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = <<"H">>,
+
+ Server = ssl_test_lib:start_server([{node, ClientNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, server_header_decode,
+ [Data, "H"]}},
+ {options, [{active, true}, binary,
+ {header,2}|ServerOpts]}]),
+
+ Port = ssl_test_lib:inet_port(Server),
+ Client = ssl_test_lib:start_client([{node, ServerNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, client_header_decode,
+ [Data, "H"]}},
+ {options, [{active, true}, {header, 2},
+ binary | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server, ok, Client, ok),
+
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client).
+
%%--------------------------------------------------------------------
%% Internal functions
@@ -1572,3 +2138,64 @@ active_packet(Socket, Data, N) ->
Other ->
{other, Other, ssl:session_info(Socket),N}
end.
+
+assert_packet_opt(Socket, Type) ->
+ {ok, [{packet, Type}]} = ssl:getopts(Socket, [packet]).
+
+server_packet_decode(Socket, Packet) ->
+ receive
+ {ssl, Socket, Packet} -> ok;
+ Other1 -> exit({?LINE, Other1})
+ end,
+ ok = ssl:send(Socket, Packet),
+ receive
+ {ssl, Socket, Packet} -> ok;
+ Other2 -> exit({?LINE, Other2})
+ end,
+ ok = ssl:send(Socket, Packet).
+
+client_packet_decode(Socket, Packet) ->
+ <<P1:10/binary, P2/binary>> = Packet,
+ ok = ssl:send(Socket, P1),
+ ok = ssl:send(Socket, P2),
+ receive
+ {ssl, Socket, Packet} -> ok;
+ Other1 -> exit({?LINE, Other1})
+ end,
+ ok = ssl:send(Socket, Packet),
+ receive
+ {ssl, Socket, Packet} -> ok;
+ Other2 -> exit({?LINE, Other2})
+ end.
+
+server_header_decode(Socket, Packet, Result) ->
+ receive
+ {ssl, Socket, Result} -> ok;
+ Other1 -> exit({?LINE, Other1})
+ end,
+ ok = ssl:send(Socket, Packet),
+ receive
+ {ssl, Socket, Result} -> ok;
+ Other2 -> exit({?LINE, Other2})
+ end,
+ ok = ssl:send(Socket, Packet).
+
+client_header_decode(Socket, Packet, Result) ->
+ ok = ssl:send(Socket, Packet),
+ receive
+ {ssl, Socket, Result} -> ok;
+ Other1 -> exit({?LINE, Other1})
+ end,
+ ok = ssl:send(Socket, Packet),
+ receive
+ {ssl, Socket, Result} -> ok;
+ Other2 -> exit({?LINE, Other2})
+ end.
+
+add_tpkt_header(Data) when is_binary(Data) ->
+ L = size(Data) + 4,
+ [3, 0, ((L) bsr 8) band 16#ff, (L) band 16#ff ,Data];
+add_tpkt_header(IOList) when is_list(IOList) ->
+ Binary = list_to_binary(IOList),
+ L = size(Binary) + 4,
+ [3, 0, ((L) bsr 8) band 16#ff, (L) band 16#ff , Binary].
diff --git a/lib/ssl/test/ssl_test_lib.erl b/lib/ssl/test/ssl_test_lib.erl
index 2df2e70679..46b6eb401d 100644
--- a/lib/ssl/test/ssl_test_lib.erl
+++ b/lib/ssl/test/ssl_test_lib.erl
@@ -26,6 +26,7 @@
%% Note: This directive should only be used in test suites.
-compile(export_all).
+-record(sslsocket, { fd = nil, pid = nil}).
timetrap(Time) ->
Mul = try
@@ -52,7 +53,11 @@ node_to_hostip(Node) ->
Address.
start_server(Args) ->
- spawn_link(?MODULE, run_server, [Args]).
+ Result = spawn_link(?MODULE, run_server, [Args]),
+ receive
+ {listen, up} ->
+ Result
+ end.
run_server(Opts) ->
Node = proplists:get_value(node, Opts),
@@ -61,23 +66,14 @@ run_server(Opts) ->
Pid = proplists:get_value(from, Opts),
test_server:format("ssl:listen(~p, ~p)~n", [Port, Options]),
{ok, ListenSocket} = rpc:call(Node, ssl, listen, [Port, Options]),
- case Port of
- 0 ->
- {ok, {_, NewPort}} = ssl:sockname(ListenSocket),
- Pid ! {self(), {port, NewPort}};
- _ ->
- ok
- end,
+ Pid ! {listen, up},
+ send_selected_port(Pid, Port, ListenSocket),
run_server(ListenSocket, Opts).
run_server(ListenSocket, Opts) ->
+ AcceptSocket = connect(ListenSocket, Opts),
Node = proplists:get_value(node, Opts),
Pid = proplists:get_value(from, Opts),
- test_server:format("ssl:transport_accept(~p)~n", [ListenSocket]),
- {ok, AcceptSocket} = rpc:call(Node, ssl, transport_accept,
- [ListenSocket]),
- test_server:format("ssl:ssl_accept(~p)~n", [AcceptSocket]),
- ok = rpc:call(Node, ssl, ssl_accept, [AcceptSocket]),
{Module, Function, Args} = proplists:get_value(mfa, Opts),
test_server:format("Server: apply(~p,~p,~p)~n",
[Module, Function, [AcceptSocket | Args]]),
@@ -85,6 +81,7 @@ run_server(ListenSocket, Opts) ->
no_result_msg ->
ok;
Msg ->
+ test_server:format("Msg: ~p ~n", [Msg]),
Pid ! {self(), Msg}
end,
receive
@@ -94,8 +91,44 @@ run_server(ListenSocket, Opts) ->
ok = rpc:call(Node, ssl, close, [AcceptSocket])
end.
+%%% To enable to test with s_client -reconnect
+connect(ListenSocket, Opts) ->
+ Node = proplists:get_value(node, Opts),
+ ReconnectTimes = proplists:get_value(reconnect_times, Opts, 0),
+ AcceptSocket = connect(ListenSocket, Node, 1 + ReconnectTimes, dummy),
+ case ReconnectTimes of
+ 0 ->
+ AcceptSocket;
+ _ ->
+ remove_close_msg(ReconnectTimes),
+ AcceptSocket
+ end.
+
+connect(_, _, 0, AcceptSocket) ->
+ AcceptSocket;
+connect(ListenSocket, Node, N, _) ->
+ test_server:format("ssl:transport_accept(~p)~n", [ListenSocket]),
+ {ok, AcceptSocket} = rpc:call(Node, ssl, transport_accept,
+ [ListenSocket]),
+ test_server:format("ssl:ssl_accept(~p)~n", [AcceptSocket]),
+ ok = rpc:call(Node, ssl, ssl_accept, [AcceptSocket]),
+ connect(ListenSocket, Node, N-1, AcceptSocket).
+
+remove_close_msg(0) ->
+ ok;
+remove_close_msg(ReconnectTimes) ->
+ receive
+ {ssl_closed, _} ->
+ remove_close_msg(ReconnectTimes -1)
+ end.
+
+
start_client(Args) ->
- spawn_link(?MODULE, run_client, [Args]).
+ Result = spawn_link(?MODULE, run_client, [Args]),
+ receive
+ connected ->
+ Result
+ end.
run_client(Opts) ->
Node = proplists:get_value(node, Opts),
@@ -106,14 +139,11 @@ run_client(Opts) ->
test_server:format("ssl:connect(~p, ~p, ~p)~n", [Host, Port, Options]),
case rpc:call(Node, ssl, connect, [Host, Port, Options]) of
{ok, Socket} ->
+ Pid ! connected,
test_server:format("Client: connected~n", []),
- case proplists:get_value(port, Options) of
- 0 ->
- {ok, {_, NewPort}} = ssl:sockname(Socket),
- Pid ! {self(), {port, NewPort}};
- _ ->
- ok
- end,
+ %% In specail cases we want to know the client port, it will
+ %% be indicated by sending {port, 0} in options list!
+ send_selected_port(Pid, proplists:get_value(port, Options), Socket),
{Module, Function, Args} = proplists:get_value(mfa, Opts),
test_server:format("Client: apply(~p,~p,~p)~n",
[Module, Function, [Socket | Args]]),
@@ -178,6 +208,26 @@ check_result(Pid, Msg) ->
test_server:fail(Reason)
end.
+check_result_ignore_renegotiation_reject(Pid, Msg) ->
+ receive
+ {Pid, fail_session_fatal_alert_during_renegotiation} ->
+ test_server:comment("Server rejected old renegotiation"),
+ ok;
+ {ssl_error, _, esslconnect} ->
+ test_server:comment("Server rejected old renegotiation"),
+ ok;
+ {Pid, Msg} ->
+ ok;
+ {Port, {data,Debug}} when is_port(Port) ->
+ io:format("openssl ~s~n",[Debug]),
+ check_result(Pid,Msg);
+ Unexpected ->
+ Reason = {{expected, {Pid, Msg}},
+ {got, Unexpected}},
+ test_server:fail(Reason)
+ end.
+
+
wait_for_result(Server, ServerMsg, Client, ClientMsg) ->
receive
{Server, ServerMsg} ->
@@ -237,7 +287,7 @@ cert_options(Config) ->
"badcert.pem"]),
BadKeyFile = filename:join([?config(priv_dir, Config),
"badkey.pem"]),
- [{client_opts, [{ssl_imp, new}]},
+ [{client_opts, [{ssl_imp, new},{reuseaddr, true}]},
{client_verification_opts, [{cacertfile, ClientCaCertFile},
{certfile, ClientCertFile},
{keyfile, ClientKeyFile},
@@ -269,7 +319,11 @@ cert_options(Config) ->
start_upgrade_server(Args) ->
- spawn_link(?MODULE, run_upgrade_server, [Args]).
+ Result = spawn_link(?MODULE, run_upgrade_server, [Args]),
+ receive
+ {listen, up} ->
+ Result
+ end.
run_upgrade_server(Opts) ->
Node = proplists:get_value(node, Opts),
@@ -281,15 +335,8 @@ run_upgrade_server(Opts) ->
test_server:format("gen_tcp:listen(~p, ~p)~n", [Port, TcpOptions]),
{ok, ListenSocket} = rpc:call(Node, gen_tcp, listen, [Port, TcpOptions]),
-
- case Port of
- 0 ->
- {ok, {_, NewPort}} = inet:sockname(ListenSocket),
- Pid ! {self(), {port, NewPort}};
- _ ->
- ok
- end,
-
+ Pid ! {listen, up},
+ send_selected_port(Pid, Port, ListenSocket),
test_server:format("gen_tcp:accept(~p)~n", [ListenSocket]),
{ok, AcceptSocket} = rpc:call(Node, gen_tcp, accept, [ListenSocket]),
@@ -331,14 +378,8 @@ run_upgrade_client(Opts) ->
test_server:format("gen_tcp:connect(~p, ~p, ~p)~n",
[Host, Port, TcpOptions]),
{ok, Socket} = rpc:call(Node, gen_tcp, connect, [Host, Port, TcpOptions]),
-
- case proplists:get_value(port, Opts) of
- 0 ->
- {ok, {_, NewPort}} = inet:sockname(Socket),
- Pid ! {self(), {port, NewPort}};
- _ ->
- ok
- end,
+
+ send_selected_port(Pid, Port, Socket),
test_server:format("ssl:connect(~p, ~p)~n", [Socket, SslOptions]),
{ok, SslSocket} = rpc:call(Node, ssl, connect, [Socket, SslOptions]),
@@ -353,8 +394,47 @@ run_upgrade_client(Opts) ->
ok = rpc:call(Node, ssl, close, [SslSocket])
end.
+start_upgrade_server_error(Args) ->
+ Result = spawn_link(?MODULE, run_upgrade_server_error, [Args]),
+ receive
+ {listen, up} ->
+ Result
+ end.
+
+run_upgrade_server_error(Opts) ->
+ Node = proplists:get_value(node, Opts),
+ Port = proplists:get_value(port, Opts),
+ TimeOut = proplists:get_value(timeout, Opts, infinity),
+ TcpOptions = proplists:get_value(tcp_options, Opts),
+ SslOptions = proplists:get_value(ssl_options, Opts),
+ Pid = proplists:get_value(from, Opts),
+
+ test_server:format("gen_tcp:listen(~p, ~p)~n", [Port, TcpOptions]),
+ {ok, ListenSocket} = rpc:call(Node, gen_tcp, listen, [Port, TcpOptions]),
+ Pid ! {listen, up},
+ send_selected_port(Pid, Port, ListenSocket),
+ test_server:format("gen_tcp:accept(~p)~n", [ListenSocket]),
+ {ok, AcceptSocket} = rpc:call(Node, gen_tcp, accept, [ListenSocket]),
+ Error = case TimeOut of
+ infinity ->
+ test_server:format("ssl:ssl_accept(~p, ~p)~n",
+ [AcceptSocket, SslOptions]),
+ rpc:call(Node, ssl, ssl_accept,
+ [AcceptSocket, SslOptions]);
+ _ ->
+ test_server:format("ssl:ssl_accept(~p, ~p, ~p)~n",
+ [AcceptSocket, SslOptions, TimeOut]),
+ rpc:call(Node, ssl, ssl_accept,
+ [AcceptSocket, SslOptions, TimeOut])
+ end,
+ Pid ! {self(), Error}.
+
start_server_error(Args) ->
- spawn_link(?MODULE, run_server_error, [Args]).
+ Result = spawn_link(?MODULE, run_server_error, [Args]),
+ receive
+ {listen, up} ->
+ Result
+ end.
run_server_error(Opts) ->
Node = proplists:get_value(node, Opts),
@@ -364,8 +444,10 @@ run_server_error(Opts) ->
test_server:format("ssl:listen(~p, ~p)~n", [Port, Options]),
case rpc:call(Node, ssl, listen, [Port, Options]) of
{ok, ListenSocket} ->
- test_server:sleep(2000), %% To make sure error_client will
+ %% To make sure error_client will
%% get {error, closed} and not {error, connection_refused}
+ Pid ! {listen, up},
+ send_selected_port(Pid, Port, ListenSocket),
test_server:format("ssl:transport_accept(~p)~n", [ListenSocket]),
case rpc:call(Node, ssl, transport_accept, [ListenSocket]) of
{error, _} = Error ->
@@ -376,6 +458,9 @@ run_server_error(Opts) ->
Pid ! {self(), Error}
end;
Error ->
+ %% Not really true but as this is an error test
+ %% this is what we want.
+ Pid ! {listen, up},
Pid ! {self(), Error}
end.
@@ -400,8 +485,8 @@ inet_port(Pid) when is_pid(Pid)->
inet_port(Node) ->
{Port, Socket} = do_inet_port(Node),
- rpc:call(Node, gen_tcp, close, [Socket]),
- Port.
+ rpc:call(Node, gen_tcp, close, [Socket]),
+ Port.
do_inet_port(Node) ->
{ok, Socket} = rpc:call(Node, gen_tcp, listen, [0, [{reuseaddr, true}]]),
@@ -410,3 +495,37 @@ do_inet_port(Node) ->
no_result(_) ->
no_result_msg.
+
+trigger_renegotiate(Socket, [ErlData, N]) ->
+ [{session_id, Id} | _ ] = ssl:session_info(Socket),
+ trigger_renegotiate(Socket, ErlData, N, Id).
+
+trigger_renegotiate(Socket, _, 0, Id) ->
+ test_server:sleep(1000),
+ case ssl:session_info(Socket) of
+ [{session_id, Id} | _ ] ->
+ fail_session_not_renegotiated;
+ %% Tests that uses this function will not reuse
+ %% sessions so if we get a new session id the
+ %% renegotiation has succeeded.
+ [{session_id, _} | _ ] ->
+ ok;
+ {error, closed} ->
+ fail_session_fatal_alert_during_renegotiation;
+ {error, timeout} ->
+ fail_timeout
+ end;
+
+trigger_renegotiate(Socket, ErlData, N, Id) ->
+ ssl:send(Socket, ErlData),
+ trigger_renegotiate(Socket, ErlData, N-1, Id).
+
+
+send_selected_port(Pid, 0, #sslsocket{} = Socket) ->
+ {ok, {_, NewPort}} = ssl:sockname(Socket),
+ Pid ! {self(), {port, NewPort}};
+send_selected_port(Pid, 0, Socket) ->
+ {ok, {_, NewPort}} = inet:sockname(Socket),
+ Pid ! {self(), {port, NewPort}};
+send_selected_port(_,_,_) ->
+ ok.
diff --git a/lib/ssl/test/ssl_to_openssl_SUITE.erl b/lib/ssl/test/ssl_to_openssl_SUITE.erl
index c079e12b83..03466aec6f 100644
--- a/lib/ssl/test/ssl_to_openssl_SUITE.erl
+++ b/lib/ssl/test/ssl_to_openssl_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -30,6 +30,9 @@
-define(TIMEOUT, 120000).
-define(SLEEP, 1000).
+-define(OPENSSL_RENEGOTIATE, "r\n").
+-define(OPENSSL_QUIT, "Q\n").
+-define(OPENSSL_GARBAGE, "P\n").
%% Test server callback functions
%%--------------------------------------------------------------------
@@ -78,11 +81,20 @@ end_per_suite(_Config) ->
%% variable, but should NOT alter/remove any existing entries.
%% Description: Initialization before each test case
%%--------------------------------------------------------------------
-init_per_testcase(_TestCase, Config0) ->
+init_per_testcase(TestCase, Config0) ->
Config = lists:keydelete(watchdog, 1, Config0),
Dog = ssl_test_lib:timetrap(?TIMEOUT),
- [{watchdog, Dog} | Config].
+ special_init(TestCase, [{watchdog, Dog} | Config]).
+special_init(TestCase, Config)
+ when TestCase == erlang_client_openssl_server_renegotiate;
+ TestCase == erlang_client_openssl_server_no_wrap_sequence_number;
+ TestCase == erlang_server_openssl_client_no_wrap_sequence_number ->
+ check_sane_openssl_renegotaite(Config);
+
+special_init(_, Config) ->
+ Config.
+
%%--------------------------------------------------------------------
%% Function: end_per_testcase(TestCase, Config) -> _
%% Case - atom()
@@ -114,6 +126,11 @@ all(doc) ->
all(suite) ->
[erlang_client_openssl_server,
erlang_server_openssl_client,
+ erlang_server_openssl_client_reuse_session,
+ erlang_client_openssl_server_renegotiate,
+ erlang_client_openssl_server_no_wrap_sequence_number,
+ erlang_server_openssl_client_no_wrap_sequence_number,
+ erlang_client_openssl_server_no_server_ca_cert,
ssl3_erlang_client_openssl_server,
ssl3_erlang_server_openssl_client,
ssl3_erlang_client_openssl_server_client_cert,
@@ -124,7 +141,8 @@ all(suite) ->
tls1_erlang_client_openssl_server_client_cert,
tls1_erlang_server_openssl_client_client_cert,
tls1_erlang_server_erlang_client_client_cert,
- ciphers
+ ciphers,
+ erlang_client_bad_openssl_server
].
%% Test cases starts here.
@@ -148,13 +166,13 @@ erlang_client_openssl_server(Config) when is_list(Config) ->
KeyFile = proplists:get_value(keyfile, ServerOpts),
Cmd = "openssl s_server -accept " ++ integer_to_list(Port) ++
- " -cert " ++ CertFile ++ " -key " ++ KeyFile,
+ " -cert " ++ CertFile ++ " -key " ++ KeyFile,
test_server:format("openssl cmd: ~p~n", [Cmd]),
OpensslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
- test_server:sleep(?SLEEP),
+ wait_for_openssl_server(),
Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
@@ -193,14 +211,191 @@ erlang_server_openssl_client(Config) when is_list(Config) ->
{options, ServerOpts}]),
Port = ssl_test_lib:inet_port(Server),
+ Cmd = "openssl s_client -port " ++ integer_to_list(Port) ++
+ " -host localhost",
+
+ test_server:format("openssl cmd: ~p~n", [Cmd]),
+
+ OpenSslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
+ port_command(OpenSslPort, Data),
+
+ ssl_test_lib:check_result(Server, ok),
+
+ ssl_test_lib:close(Server),
+
+ close_port(OpenSslPort),
+ process_flag(trap_exit, false),
+ ok.
+
+%%--------------------------------------------------------------------
+
+erlang_server_openssl_client_reuse_session(doc) ->
+ ["Test erlang server with openssl client that reconnects with the"
+ "same session id, to test reusing of sessions."];
+erlang_server_openssl_client_reuse_session(suite) ->
+ [];
+erlang_server_openssl_client_reuse_session(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+
+ {_, ServerNode, _} = ssl_test_lib:run_where(Config),
+
+ Data = "From openssl to erlang",
+
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {?MODULE, erlang_ssl_receive, [Data]}},
+ {reconnect_times, 5},
+ {options, ServerOpts}]),
+ Port = ssl_test_lib:inet_port(Server),
+
+ Cmd = "openssl s_client -port " ++ integer_to_list(Port) ++
+ " -host localhost -reconnect",
+
+ test_server:format("openssl cmd: ~p~n", [Cmd]),
+
+ OpenSslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
+
+ port_command(OpenSslPort, Data),
+
+ ssl_test_lib:check_result(Server, ok),
+
+ ssl_test_lib:close(Server),
+
+ close_port(OpenSslPort),
+ process_flag(trap_exit, false),
+ ok.
+
+%%--------------------------------------------------------------------
+
+erlang_client_openssl_server_renegotiate(doc) ->
+ ["Test erlang client when openssl server issuses a renegotiate"];
+erlang_client_openssl_server_renegotiate(suite) ->
+ [];
+erlang_client_openssl_server_renegotiate(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+ ClientOpts = ?config(client_opts, Config),
+
+ {ClientNode, _, Hostname} = ssl_test_lib:run_where(Config),
+
+ ErlData = "From erlang to openssl",
+ OpenSslData = "From openssl to erlang",
+
+ Port = ssl_test_lib:inet_port(node()),
+ CertFile = proplists:get_value(certfile, ServerOpts),
+ KeyFile = proplists:get_value(keyfile, ServerOpts),
+
+ Cmd = "openssl s_server -accept " ++ integer_to_list(Port) ++
+ " -cert " ++ CertFile ++ " -key " ++ KeyFile ++ " -msg",
+
+ test_server:format("openssl cmd: ~p~n", [Cmd]),
+
+ OpensslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
+
+ wait_for_openssl_server(),
+
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE,
+ delayed_send, [[ErlData, OpenSslData]]}},
+ {options, ClientOpts}]),
+
+ port_command(OpensslPort, ?OPENSSL_RENEGOTIATE),
test_server:sleep(?SLEEP),
+ port_command(OpensslPort, OpenSslData),
+
+ ssl_test_lib:check_result(Client, ok),
+ %% Clean close down! Server needs to be closed first !!
+ close_port(OpensslPort),
+
+ ssl_test_lib:close(Client),
+ process_flag(trap_exit, false),
+ ok.
+
+%%--------------------------------------------------------------------
+
+erlang_client_openssl_server_no_wrap_sequence_number(doc) ->
+ ["Test that erlang client will renegotiate session when",
+ "max sequence number celing is about to be reached. Although"
+ "in the testcase we use the test option renegotiate_at"
+ " to lower treashold substantially."];
+erlang_client_openssl_server_no_wrap_sequence_number(suite) ->
+ [];
+erlang_client_openssl_server_no_wrap_sequence_number(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+ ClientOpts = ?config(client_opts, Config),
+
+ {ClientNode, _, Hostname} = ssl_test_lib:run_where(Config),
+
+ ErlData = "From erlang to openssl\n",
+ N = 10,
+
+ Port = ssl_test_lib:inet_port(node()),
+ CertFile = proplists:get_value(certfile, ServerOpts),
+ KeyFile = proplists:get_value(keyfile, ServerOpts),
+
+ Cmd = "openssl s_server -accept " ++ integer_to_list(Port) ++
+ " -cert " ++ CertFile ++ " -key " ++ KeyFile ++ " -msg",
+
+ test_server:format("openssl cmd: ~p~n", [Cmd]),
+
+ OpensslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
+
+ wait_for_openssl_server(),
+
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {ssl_test_lib,
+ trigger_renegotiate, [[ErlData, N+2]]}},
+ {options, [{reuse_sessions, false},
+ {renegotiate_at, N} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Client, ok),
+
+ %% Clean close down! Server needs to be closed first !!
+ close_port(OpensslPort),
+
+ ssl_test_lib:close(Client),
+ process_flag(trap_exit, false),
+ ok.
+%%--------------------------------------------------------------------
+erlang_server_openssl_client_no_wrap_sequence_number(doc) ->
+ ["Test that erlang client will renegotiate session when",
+ "max sequence number celing is about to be reached. Although"
+ "in the testcase we use the test option renegotiate_at"
+ " to lower treashold substantially."];
+
+erlang_server_openssl_client_no_wrap_sequence_number(suite) ->
+ [];
+erlang_server_openssl_client_no_wrap_sequence_number(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+
+ {_, ServerNode, _} = ssl_test_lib:run_where(Config),
+
+ Data = "From openssl to erlang",
+
+ N = 10,
+
+ Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {ssl_test_lib,
+ trigger_renegotiate, [[Data, N+2]]}},
+ {options, [{renegotiate_at, N} | ServerOpts]}]),
+ Port = ssl_test_lib:inet_port(Server),
+
Cmd = "openssl s_client -port " ++ integer_to_list(Port) ++
- " -host localhost",
+ " -host localhost -msg",
test_server:format("openssl cmd: ~p~n", [Cmd]),
OpenSslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
+
port_command(OpenSslPort, Data),
ssl_test_lib:check_result(Server, ok),
@@ -210,6 +405,53 @@ erlang_server_openssl_client(Config) when is_list(Config) ->
close_port(OpenSslPort),
process_flag(trap_exit, false),
ok.
+%%--------------------------------------------------------------------
+
+erlang_client_openssl_server_no_server_ca_cert(doc) ->
+ ["Test erlang client when openssl server sends a cert chain not"
+ "including the ca cert. Explicitly test this even if it is"
+ "implicitly tested eleswhere."];
+erlang_client_openssl_server_no_server_ca_cert(suite) ->
+ [];
+erlang_client_openssl_server_no_server_ca_cert(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_opts, Config),
+ ClientOpts = ?config(client_opts, Config),
+
+ {ClientNode, _, Hostname} = ssl_test_lib:run_where(Config),
+
+ Data = "From openssl to erlang",
+
+ Port = ssl_test_lib:inet_port(node()),
+ CertFile = proplists:get_value(certfile, ServerOpts),
+ KeyFile = proplists:get_value(keyfile, ServerOpts),
+
+ Cmd = "openssl s_server -accept " ++ integer_to_list(Port) ++
+ " -cert " ++ CertFile ++ " -key " ++ KeyFile ++ " -msg",
+
+ test_server:format("openssl cmd: ~p~n", [Cmd]),
+
+ OpensslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
+
+ wait_for_openssl_server(),
+
+ Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE,
+ erlang_ssl_receive, [Data]}},
+ {options, ClientOpts}]),
+
+ port_command(OpensslPort, Data),
+
+ ssl_test_lib:check_result(Client, ok),
+
+ %% Clean close down! Server needs to be closed first !!
+ close_port(OpensslPort),
+
+ ssl_test_lib:close(Client),
+ process_flag(trap_exit, false),
+ ok.
%%--------------------------------------------------------------------
ssl3_erlang_client_openssl_server(doc) ->
@@ -233,7 +475,7 @@ ssl3_erlang_client_openssl_server(Config) when is_list(Config) ->
OpensslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
- test_server:sleep(?SLEEP),
+ wait_for_openssl_server(),
Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
@@ -268,8 +510,6 @@ ssl3_erlang_server_openssl_client(Config) when is_list(Config) ->
{options,
[{versions, [sslv3]} | ServerOpts]}]),
Port = ssl_test_lib:inet_port(Server),
-
- test_server:sleep(?SLEEP),
Cmd = "openssl s_client -port " ++ integer_to_list(Port) ++
" -host localhost -ssl3",
@@ -300,8 +540,8 @@ ssl3_erlang_client_openssl_server_client_cert(Config) when is_list(Config) ->
Data = "From openssl to erlang",
Port = ssl_test_lib:inet_port(node()),
- CaCertFile = proplists:get_value(cacertfile, ServerOpts),
CertFile = proplists:get_value(certfile, ServerOpts),
+ CaCertFile = proplists:get_value(cacertfile, ServerOpts),
KeyFile = proplists:get_value(keyfile, ServerOpts),
Cmd = "openssl s_server -accept " ++ integer_to_list(Port) ++
@@ -312,7 +552,7 @@ ssl3_erlang_client_openssl_server_client_cert(Config) when is_list(Config) ->
OpensslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
- test_server:sleep(?SLEEP),
+ wait_for_openssl_server(),
Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
@@ -354,8 +594,6 @@ ssl3_erlang_server_openssl_client_client_cert(Config) when is_list(Config) ->
| ServerOpts]}]),
Port = ssl_test_lib:inet_port(Server),
- test_server:sleep(?SLEEP),
-
CaCertFile = proplists:get_value(cacertfile, ClientOpts),
CertFile = proplists:get_value(certfile, ClientOpts),
KeyFile = proplists:get_value(keyfile, ClientOpts),
@@ -402,8 +640,6 @@ ssl3_erlang_server_erlang_client_client_cert(Config) when is_list(Config) ->
| ServerOpts]}]),
Port = ssl_test_lib:inet_port(Server),
- test_server:sleep(?SLEEP),
-
Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
{from, self()},
@@ -439,14 +675,13 @@ tls1_erlang_client_openssl_server(Config) when is_list(Config) ->
KeyFile = proplists:get_value(keyfile, ServerOpts),
Cmd = "openssl s_server -accept " ++ integer_to_list(Port) ++
- " -cert " ++ CertFile
- ++ " -key " ++ KeyFile ++ " -tls1",
+ " -cert " ++ CertFile ++ " -key " ++ KeyFile ++ " -tls1",
test_server:format("openssl cmd: ~p~n", [Cmd]),
OpensslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
- test_server:sleep(?SLEEP),
+ wait_for_openssl_server(),
Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
@@ -484,8 +719,6 @@ tls1_erlang_server_openssl_client(Config) when is_list(Config) ->
[{versions, [tlsv1]} | ServerOpts]}]),
Port = ssl_test_lib:inet_port(Server),
- test_server:sleep(?SLEEP),
-
Cmd = "openssl s_client -port " ++ integer_to_list(Port) ++
" -host localhost -tls1",
@@ -529,7 +762,7 @@ tls1_erlang_client_openssl_server_client_cert(Config) when is_list(Config) ->
OpensslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
- test_server:sleep(?SLEEP),
+ wait_for_openssl_server(),
Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
@@ -571,8 +804,6 @@ tls1_erlang_server_openssl_client_client_cert(Config) when is_list(Config) ->
| ServerOpts]}]),
Port = ssl_test_lib:inet_port(Server),
- test_server:sleep(?SLEEP),
-
CaCertFile = proplists:get_value(cacertfile, ClientOpts),
CertFile = proplists:get_value(certfile, ClientOpts),
KeyFile = proplists:get_value(keyfile, ClientOpts),
@@ -617,8 +848,6 @@ tls1_erlang_server_erlang_client_client_cert(Config) when is_list(Config) ->
| ServerOpts]}]),
Port = ssl_test_lib:inet_port(Server),
- test_server:sleep(?SLEEP),
-
Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
{from, self()},
@@ -668,14 +897,13 @@ cipher(CipherSuite, Version, Config) ->
KeyFile = proplists:get_value(keyfile, ServerOpts),
Cmd = "openssl s_server -accept " ++ integer_to_list(Port) ++
- " -cert " ++ CertFile
- ++ " -key " ++ KeyFile ++ "",
+ " -cert " ++ CertFile ++ " -key " ++ KeyFile ++ "",
test_server:format("openssl cmd: ~p~n", [Cmd]),
OpenSslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
- test_server:sleep(?SLEEP),
+ wait_for_openssl_server(),
Client = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
{host, Hostname},
@@ -707,6 +935,63 @@ cipher(CipherSuite, Version, Config) ->
Return.
%%--------------------------------------------------------------------
+erlang_client_bad_openssl_server(doc) ->
+ [""];
+erlang_client_bad_openssl_server(suite) ->
+ [];
+erlang_client_bad_openssl_server(Config) when is_list(Config) ->
+ process_flag(trap_exit, true),
+ ServerOpts = ?config(server_verification_opts, Config),
+ ClientOpts = ?config(client_verification_opts, Config),
+
+ {ClientNode, _, Hostname} = ssl_test_lib:run_where(Config),
+
+ Port = ssl_test_lib:inet_port(node()),
+ CertFile = proplists:get_value(certfile, ServerOpts),
+ KeyFile = proplists:get_value(keyfile, ServerOpts),
+
+ Cmd = "openssl s_server -accept " ++ integer_to_list(Port) ++
+ " -cert " ++ CertFile ++ " -key " ++ KeyFile ++ "",
+
+ test_server:format("openssl cmd: ~p~n", [Cmd]),
+
+ OpensslPort = open_port({spawn, Cmd}, [stderr_to_stdout]),
+
+ wait_for_openssl_server(),
+
+ Client0 = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {?MODULE, server_sent_garbage, []}},
+ {options,
+ [{versions, [tlsv1]} | ClientOpts]}]),
+
+ %% Send garbage
+ port_command(OpensslPort, ?OPENSSL_GARBAGE),
+
+ test_server:sleep(?SLEEP),
+
+ Client0 ! server_sent_garbage,
+
+ ssl_test_lib:check_result(Client0, true),
+
+ ssl_test_lib:close(Client0),
+
+ %% Make sure openssl does not hang and leave zombie process
+ Client1 = ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {ssl_test_lib, no_result_msg, []}},
+ {options,
+ [{versions, [tlsv1]} | ClientOpts]}]),
+
+ ssl_test_lib:close(Client1),
+
+ %% Clean close down!
+ close_port(OpensslPort),
+ process_flag(trap_exit, false),
+ ok.
+%%--------------------------------------------------------------------
erlang_ssl_receive(Socket, Data) ->
test_server:format("Connection info: ~p~n",
@@ -738,8 +1023,14 @@ connection_info(Socket, Version) ->
connection_info_result(Socket) ->
ssl:connection_info(Socket).
+
+delayed_send(Socket, [ErlData, OpenSslData]) ->
+ test_server:sleep(?SLEEP),
+ ssl:send(Socket, ErlData),
+ erlang_ssl_receive(Socket, OpenSslData).
+
close_port(Port) ->
- port_command(Port, "Q\n"),
+ port_command(Port, ?OPENSSL_QUIT),
%%catch port_command(Port, "quit\n"),
close_loop(Port, 500, false).
@@ -770,3 +1061,30 @@ close_loop(Port, Time, SentClose) ->
io:format("Timeout~n",[])
end
end.
+
+
+server_sent_garbage(Socket) ->
+ receive
+ server_sent_garbage ->
+ {error, closed} == ssl:send(Socket, "data")
+
+ end.
+
+wait_for_openssl_server() ->
+ receive
+ {Port, {data, Debug}} when is_port(Port) ->
+ io:format("openssl ~s~n",[Debug]),
+ %% openssl has started make sure
+ %% it will be in accept. Parsing
+ %% output is too error prone. (Even
+ %% more so than sleep!)
+ test_server:sleep(?SLEEP)
+ end.
+
+check_sane_openssl_renegotaite(Config) ->
+ case os:cmd("openssl version") of
+ "OpenSSL 0.9.8l" ++ _ ->
+ {skip, "Known renegotiation bug in OppenSSL"};
+ _ ->
+ Config
+ end.
diff --git a/lib/ssl/vsn.mk b/lib/ssl/vsn.mk
index 7c038e5818..e3db7008e3 100644
--- a/lib/ssl/vsn.mk
+++ b/lib/ssl/vsn.mk
@@ -17,9 +17,22 @@
# %CopyrightEnd%
#
-SSL_VSN = 3.10.8
+SSL_VSN = 3.11.1
-TICKETS = OTP-8372 OTP-8441 OTP-8459
+TICKETS = OTP-8588 \
+ OTP-8568 \
+ OTP-7049
+
+#TICKETS_3.11 = OTP-8517 \
+# OTP-7046 \
+# OTP-8557 \
+# OTP-8560 \
+# OTP-8545 \
+# OTP-8554
+
+#TICKETS_3.10.9 = OTP-8510
+
+#TICKETS_3.10.8 = OTP-8372 OTP-8441 OTP-8459
#TICKETS_3.10.7 = OTP-8260 OTP-8218 OTP-8250
#TICKETS_3.10.6 = OTP-8275
diff --git a/lib/stdlib/doc/src/Makefile b/lib/stdlib/doc/src/Makefile
index 13b9b2ff18..b558697d63 100644
--- a/lib/stdlib/doc/src/Makefile
+++ b/lib/stdlib/doc/src/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1997-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1997-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
include $(ERL_TOP)/make/target.mk
@@ -40,6 +40,7 @@ XML_REF3_FILES = \
array.xml \
base64.xml \
beam_lib.xml \
+ binary.xml \
c.xml \
calendar.xml \
dets.xml \
diff --git a/lib/stdlib/doc/src/beam_lib.xml b/lib/stdlib/doc/src/beam_lib.xml
index b9286f1402..27308e02f3 100644
--- a/lib/stdlib/doc/src/beam_lib.xml
+++ b/lib/stdlib/doc/src/beam_lib.xml
@@ -347,9 +347,10 @@ chunkref() = chunkname() | chunkid()</code>
</type>
<desc>
<p>Compares the contents of two BEAM files. If the module names
- are the same, and the chunks with the identifiers
- <c>"Code"</c>, <c>"ExpT"</c>, <c>"ImpT"</c>, <c>"StrT"</c>,
- and <c>"Atom"</c> have the same contents in both files,
+ are the same, and all chunks except for the <c>"CInf"</c> chunk
+ (the chunk containing the compilation information which is
+ returned by <c>Module:module_info(compile)</c>)
+ have the same contents in both files,
<c>ok</c> is returned. Otherwise an error message is returned.</p>
</desc>
</func>
diff --git a/lib/stdlib/doc/src/binary.xml b/lib/stdlib/doc/src/binary.xml
new file mode 100644
index 0000000000..05ec4406c6
--- /dev/null
+++ b/lib/stdlib/doc/src/binary.xml
@@ -0,0 +1,729 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE erlref SYSTEM "erlref.dtd">
+
+<erlref>
+ <header>
+ <copyright>
+ <year>2009</year>
+ <year>2010</year>
+ <holder>Ericsson AB, All Rights Reserved</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved on line at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ The Initial Developer of the Original Code is Ericsson AB.
+ </legalnotice>
+
+ <title>binary</title>
+ <prepared>Patrik Nyblom</prepared>
+ <responsible>Kenneth Lundin</responsible>
+ <docno>1</docno>
+ <approved></approved>
+ <checked></checked>
+ <date>2010-05-05</date>
+ <rev>A</rev>
+ <file>binary.xml</file>
+ </header>
+ <module>binary</module>
+ <modulesummary>Library for handling binary data</modulesummary>
+ <description>
+
+ <p>This module contains functions for manipulating byte-oriented
+ binaries. Although the majority of functions could be implemented
+ using bit-syntax, the functions in this library are highly
+ optimized and are expected to either execute faster or consume
+ less memory (or both) than a counterpart written in pure Erlang.</p>
+
+ <p>The module is implemented according to the EEP (Erlang Enhancement Proposal) 31.</p>
+
+ <note>
+ <p>
+ The library handles byte-oriented data. Bitstrings that are not
+ binaries (does not contain whole octets of bits) will result in a <c>badarg</c>
+ exception being thrown from any of the functions in this
+ module.
+ </p>
+ </note>
+
+
+ </description>
+ <section>
+ <title>DATA TYPES</title>
+ <code type="none">
+ cp()
+ - Opaque data-type representing a compiled search-pattern. Guaranteed to be a tuple()
+ to allow programs to distinguish it from non precompiled search patterns.
+ </code>
+ <code type="none">
+ part() = {Start,Length}
+ Start = int()
+ Length = int()
+ - A representaion of a part (or range) in a binary. Start is a
+ zero-based offset into a binary() and Length is the length of
+ that part. As input to functions in this module, a reverse
+ part specification is allowed, constructed with a negative
+ Length, so that the part of the binary begins at Start +
+ Length and is -Length long. This is useful for referencing the
+ last N bytes of a binary as {size(Binary), -N}. The functions
+ in this module always return part()'s with positive Length.
+ </code>
+ </section>
+ <funcs>
+ <func>
+ <name>at(Subject, Pos) -> int()</name>
+ <fsummary>Returns the byte at a specific position in a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pos = int() >= 0</v>
+ </type>
+ <desc>
+
+ <p>Returns the byte at position <c>Pos</c> (zero-based) in the binary
+ <c>Subject</c> as an integer. If <c>Pos</c> &gt;= <c>byte_size(Subject)</c>,
+ a <c>badarg</c>
+ exception is raised.</p>
+
+ </desc>
+ </func>
+ <func>
+ <name>bin_to_list(Subject) -> list()</name>
+ <fsummary>Convert a binary to a list of integers</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ </type>
+ <desc>
+ <p>The same as <c>bin_to_list(Subject,{0,byte_size(Subject)})</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>bin_to_list(Subject, PosLen) -> list()</name>
+ <fsummary>Convert a binary to a list of integers</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>PosLen = part()</v>
+ </type>
+ <desc>
+
+ <p>Converts <c>Subject</c> to a list of <c>int()</c>s, each representing
+ the value of one byte. The <c>part()</c> denotes which part of the
+ <c>binary()</c> to convert. Example:</p>
+
+<code>
+1> binary:bin_to_list(&lt;&lt;"erlang"&gt;&gt;,{1,3}).
+"rla"
+%% or [114,108,97] in list notation.
+</code>
+ <p>If <c>PosLen</c> in any way references outside the binary, a <c>badarg</c> exception is raised.</p>
+ </desc>
+ </func>
+ <func>
+ <name>bin_to_list(Subject, Pos, Len) -> list()</name>
+ <fsummary>Convert a binary to a list of integers</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pos = int()</v>
+ <v>Len = int()</v>
+ </type>
+ <desc>
+ <p>The same as<c> bin_to_list(Subject,{Pos,Len})</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>compile_pattern(Pattern) -> cp()</name>
+ <fsummary>Pre-compiles a binary search pattern</fsummary>
+ <type>
+ <v>Pattern = binary() | [ binary() ]</v>
+ </type>
+ <desc>
+
+ <p>Builds an internal structure representing a compilation of a
+ search-pattern, later to be used in the <seealso marker="#match-3">match/3</seealso>,
+ <seealso marker="#matches-3">matches/3</seealso>,
+ <seealso marker="#split-3">split/3</seealso> or
+ <seealso marker="#replace-4">replace/4</seealso>
+ functions. The <c>cp()</c> returned is guaranteed to be a
+ <c>tuple()</c> to allow programs to distinguish it from non
+ pre-compiled search patterns</p>
+
+ <p>When a list of binaries is given, it denotes a set of
+ alternative binaries to search for. I.e if
+ <c>[&lt;&lt;"functional"&gt;&gt;,&lt;&lt;"programming"&gt;&gt;]</c>
+ is given as <c>Pattern</c>, this
+ means "either <c>&lt;&lt;"functional"&gt;&gt;</c> or
+ <c>&lt;&lt;"programming"&gt;&gt;</c>". The pattern is a set of
+ alternatives; when only a single binary is given, the set has
+ only one element. The order of alternatives in a pattern is not significant.</p>
+
+ <p>The list of binaries used for search alternatives shall be flat and proper.</p>
+
+ <p>If <c>Pattern</c> is not a binary or a flat proper list of binaries with length &gt; 0,
+ a <c>badarg</c> exception will be raised.</p>
+
+ </desc>
+ </func>
+ <func>
+ <name>copy(Subject) -> binary()</name>
+ <fsummary>Creates a duplicate of a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ </type>
+ <desc>
+ <p>The same as <c>copy(Subject, 1)</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>copy(Subject,N) -> binary()</name>
+ <fsummary>Duplicates a binary N times and creates a new</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>N = int() >= 0</v>
+ </type>
+ <desc>
+ <p>Creates a binary with the content of <c>Subject</c> duplicated <c>N</c> times.</p>
+
+ <p>This function will always create a new binary, even if <c>N =
+ 1</c>. By using <c>copy/1</c> on a binary referencing a larger binary, one
+ might free up the larger binary for garbage collection.</p>
+
+ <note>
+ <p>By deliberately copying a single binary to avoid referencing
+ a larger binary, one might, instead of freeing up the larger
+ binary for later garbage collection, create much more binary
+ data than needed. Sharing binary data is usually good. Only in
+ special cases, when small parts reference large binaries and the
+ large binaries are no longer used in any process, deliberate
+ copying might be a good idea.</p> </note>
+
+ <p>If <c>N</c> &lt; <c>0</c>, a <c>badarg</c> exception is raised.</p>
+ </desc>
+ </func>
+ <func>
+ <name>decode_unsigned(Subject) -> Unsigned</name>
+ <fsummary>Decode a whole binary into an integer of arbitrary size</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Unsigned = int() >= 0</v>
+ </type>
+ <desc>
+ <p>The same as <c>decode_unsigned(Subject,big)</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>decode_unsigned(Subject, Endianess) -> Unsigned</name>
+ <fsummary>Decode a whole binary into an integer of arbitrary size</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Endianess = big | little</v>
+ <v>Unsigned = int() >= 0</v>
+ </type>
+ <desc>
+
+ <p>Converts the binary digit representation, in big or little
+ endian, of a positive integer in <c>Subject</c> to an Erlang <c>int()</c>.</p>
+
+ <p>Example:</p>
+
+ <code>
+1> binary:decode_unsigned(&lt;&lt;169,138,199&gt;&gt;,big).
+11111111
+ </code>
+ </desc>
+ </func>
+ <func>
+ <name>encode_unsigned(Unsigned) -> binary()</name>
+ <fsummary>Encodes an unsigned integer into the minimal binary</fsummary>
+ <type>
+ <v>Unsigned = int() >= 0</v>
+ </type>
+ <desc>
+ <p>The same as <c>encode_unsigned(Unsigned,big)</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>encode_unsigned(Unsigned,Endianess) -> binary()</name>
+ <fsummary>Encodes an unsigned integer into the minimal binary</fsummary>
+ <type>
+ <v>Unsigned = int() >= 0</v>
+ <v>Endianess = big | little</v>
+ </type>
+ <desc>
+
+ <p>Converts a positive integer to the smallest possible
+ representation in a binary digit representation, either big
+ or little endian.</p>
+
+ <p>Example:</p>
+
+ <code>
+1> binary:encode_unsigned(11111111,big).
+&lt;&lt;169,138,199&gt;&gt;
+ </code>
+ </desc>
+ </func>
+ <func>
+ <name>first(Subject) -> int()</name>
+ <fsummary>Returns the first byte of a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ </type>
+ <desc>
+
+ <p>Returns the first byte of the binary <c>Subject</c> as an integer. If the
+ size of <c>Subject</c> is zero, a <c>badarg</c> exception is raised.</p>
+
+ </desc>
+ </func>
+ <func>
+ <name>last(Subject) -> int()</name>
+ <fsummary>Returns the last byte of a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ </type>
+ <desc>
+
+ <p>Returns the last byte of the binary <c>Subject</c> as an integer. If the
+ size of <c>Subject</c> is zero, a <c>badarg</c> exception is raised.</p>
+
+ </desc>
+ </func>
+ <func>
+ <name>list_to_bin(ByteList) -> binary()</name>
+ <fsummary>Convert a list of integers and binaries to a binary</fsummary>
+ <type>
+ <v>ByteList = iodata() (see module erlang)</v>
+ </type>
+ <desc>
+ <p>Works exactly as <c>erlang:list_to_binary/1</c>, added for completeness.</p>
+ </desc>
+ </func>
+ <func>
+ <name>longest_common_prefix(Binaries) -> int()</name>
+ <fsummary>Returns length of longest common prefix for a set of binaries</fsummary>
+ <type>
+ <v>Binaries = [ binary() ]</v>
+ </type>
+ <desc>
+
+ <p>Returns the length of the longest common prefix of the
+ binaries in the list <c>Binaries</c>. Example:</p>
+
+<code>
+1> binary:longest_common_prefix([&lt;&lt;"erlang"&gt;&gt;,&lt;&lt;"ergonomy"&gt;&gt;]).
+2
+2> binary:longest_common_prefix([&lt;&lt;"erlang"&gt;&gt;,&lt;&lt;"perl"&gt;&gt;]).
+0
+</code>
+
+ <p>If <c>Binaries</c> is not a flat list of binaries, a <c>badarg</c> exception is raised.</p>
+ </desc>
+ </func>
+ <func>
+ <name>longest_common_suffix(Binaries) -> int()</name>
+ <fsummary>Returns length of longest common suffix for a set of binaries</fsummary>
+ <type>
+ <v>Binaries = [ binary() ]</v>
+ </type>
+ <desc>
+
+ <p>Returns the length of the longest common suffix of the
+ binaries in the list <c>Binaries</c>. Example:</p>
+
+<code>
+1> binary:longest_common_suffix([&lt;&lt;"erlang"&gt;&gt;,&lt;&lt;"fang"&gt;&gt;]).
+3
+2> binary:longest_common_suffix([&lt;&lt;"erlang"&gt;&gt;,&lt;&lt;"perl"&gt;&gt;]).
+0
+</code>
+
+ <p>If <c>Binaries</c> is not a flat list of binaries, a <c>badarg</c> exception is raised.</p>
+
+ </desc>
+ </func>
+ <func>
+ <name>match(Subject, Pattern) -> Found | <c>nomatch</c></name>
+ <fsummary>Searches for the first match of a pattern in a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pattern = binary() | [ binary() ] | cp()</v>
+ <v>Found = part()</v>
+ </type>
+ <desc>
+ <p>The same as <c>match(Subject, Pattern, [])</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>match(Subject,Pattern,Options) -> Found | <c>nomatch</c></name>
+ <fsummary>Searches for the first match of a pattern in a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pattern = binary() | [ binary() ] | cp()</v>
+ <v>Found = part()</v>
+ <v>Options = [ Option ]</v>
+ <v>Option = {scope, part()}</v>
+ </type>
+ <desc>
+
+ <p>Searches for the first occurrence of <c>Pattern</c> in <c>Subject</c> and
+ returns the position and length.</p>
+
+ <p>The function will return <c>{Pos,Length}</c> for the binary
+ in <c>Pattern</c> starting at the lowest position in
+ <c>Subject</c>, Example:</p>
+
+<code>
+1> binary:match(&lt;&lt;"abcde"&gt;&gt;, [&lt;&lt;"bcde"&gt;&gt;,&lt;&lt;"cd"&gt;&gt;],[]).
+{1,4}
+</code>
+
+ <p>Even though <c>&lt;&lt;"cd"&gt;&gt;</c> ends before
+ <c>&lt;&lt;"bcde"&gt;&gt;</c>, <c>&lt;&lt;"bcde"&gt;&gt;</c>
+ begins first and is therefore the first match. If two
+ overlapping matches begins at the same position, the longest is
+ returned.</p>
+
+ <p>Summary of the options:</p>
+
+ <taglist>
+ <tag>{scope, {Start, Length}}</tag>
+ <item><p>Only the given part is searched. Return values still have
+ offsets from the beginning of <c>Subject</c>. A negative <c>Length</c> is
+ allowed as described in the <c>TYPES</c> section of this manual.</p></item>
+ </taglist>
+
+ <p>If none of the strings in
+ <c>Pattern</c> is found, the atom <c>nomatch</c> is returned.</p>
+
+ <p>For a description of <c>Pattern</c>, see
+ <seealso marker="#compile_pattern-1">compile_pattern/1</seealso>.</p>
+
+ <p>If <c>{scope, {Start,Length}}</c> is given in the options
+ such that <c>Start</c> is larger than the size of
+ <c>Subject</c>, <c>Start + Length</c> is less than zero or
+ <c>Start + Length</c> is larger than the size of
+ <c>Subject</c>, a <c>badarg</c> exception is raised.</p>
+
+ </desc>
+ </func>
+ <func>
+ <name>matches(Subject, Pattern) -> Found</name>
+ <fsummary>Searches for all matches of a pattern in a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pattern = binary() | [ binary() ] | cp()</v>
+ <v>Found = [ part() ] | []</v>
+ </type>
+ <desc>
+ <p>The same as <c>matches(Subject, Pattern, [])</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>matches(Subject,Pattern,Options) -> Found</name>
+ <fsummary>Searches for all matches of a pattern in a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pattern = binary() | [ binary() ] | cp()</v>
+ <v>Found = [ part() ] | []</v>
+ <v>Options = [ Option ]</v>
+ <v>Option = {scope, part()}</v>
+ </type>
+ <desc>
+
+ <p>Works like match, but the <c>Subject</c> is searched until
+ exhausted and a list of all non-overlapping parts matching
+ <c>Pattern</c> is returned (in order). </p>
+
+ <p>The first and longest match is preferred to a shorter,
+ which is illustrated by the following example:</p>
+
+<code>
+1> binary:matches(&lt;&lt;"abcde"&gt;&gt;,
+ [&lt;&lt;"bcde"&gt;&gt;,&lt;&lt;"bc"&gt;&gt;>,&lt;&lt;"de"&gt;&gt;],[]).
+[{1,4}]
+</code>
+
+ <p>The result shows that &lt;&lt;bcde"&gt;&gt; is selected instead of the
+ shorter match &lt;&lt;"bc"&gt;&gt; (which would have given raise to one
+ more match,&lt;&lt;"de"&gt;&gt;). This corresponds to the behavior of posix
+ regular expressions (and programs like awk), but is not
+ consistent with alternative matches in re (and Perl), where
+ instead lexical ordering in the search pattern selects which
+ string matches.</p>
+
+ <p>If none of the strings in pattern is found, an empty list is returned.</p>
+
+ <p>For a description of <c>Pattern</c>, see <seealso marker="#compile_pattern-1">compile_pattern/1</seealso> and for a
+ description of available options, see <seealso marker="#match-3">match/3</seealso>.</p>
+
+ <p>If <c>{scope, {Start,Length}}</c> is given in the options such that
+ <c>Start</c> is larger than the size of <c>Subject</c>, <c>Start + Length</c> is
+ less than zero or <c>Start + Length</c> is larger than the size of
+ <c>Subject</c>, a <c>badarg</c> exception is raised.</p>
+
+ </desc>
+ </func>
+ <func>
+ <name>part(Subject, PosLen) -> binary()</name>
+ <fsummary>Extracts a part of a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>PosLen = part()</v>
+ </type>
+ <desc>
+
+ <p>Extracts the part of the binary <c>Subject</c> described by <c>PosLen</c>.</p>
+
+ <p>Negative length can be used to extract bytes at the end of a binary:</p>
+
+<code>
+1> Bin = &lt;&lt;1,2,3,4,5,6,7,8,9,10&gt;&gt;.
+2> binary:part(Bin,{byte_size(Bin), -5)).
+&lt;&lt;6,7,8,9,10&gt;&gt;
+</code>
+
+ <note>
+ <p><seealso marker="#part-2">part/2</seealso>and <seealso
+ marker="#part-3">part/3</seealso> are also available in the
+ <c>erlang</c> module under the names <c>binary_part/2</c> and
+ <c>binary_part/3</c>. Those BIFs are allowed in guard tests.</p>
+ </note>
+
+ <p>If <c>PosLen</c> in any way references outside the binary, a <c>badarg</c> exception
+ is raised.</p>
+
+ </desc>
+ </func>
+ <func>
+ <name>part(Subject, Pos, Len) -> binary()</name>
+ <fsummary>Extracts a part of a binary</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pos = int()</v>
+ <v>Len = int()</v>
+ </type>
+ <desc>
+ <p>The same as <c>part(Subject, {Pos, Len})</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>referenced_byte_size(binary()) -> int()</name>
+ <fsummary>Determines the size of the actual binary pointed out by a sub-binary</fsummary>
+ <desc>
+
+ <p>If a binary references a larger binary (often described as
+ being a sub-binary), it can be useful to get the size of the
+ actual referenced binary. This function can be used in a program
+ to trigger the use of <c>copy/1</c>. By copying a binary, one might
+ dereference the original, possibly large, binary which a smaller
+ binary is a reference to.</p>
+
+ <p>Example:</p>
+
+ <code>
+store(Binary, GBSet) ->
+ NewBin =
+ case binary:referenced_byte_size(Binary) of
+ Large when Large > 2 * byte_size(Binary) ->
+ binary:copy(Binary);
+ _ ->
+ Binary
+ end,
+ gb_sets:insert(NewBin,GBSet).
+ </code>
+
+ <p>In this example, we chose to copy the binary content before
+ inserting it in the <c>gb_set()</c> if it references a binary more than
+ twice the size of the data we're going to keep. Of course
+ different rules for when copying will apply to different
+ programs.</p>
+
+ <p>Binary sharing will occur whenever binaries are taken apart,
+ this is the fundamental reason why binaries are fast,
+ decomposition can always be done with O(1) complexity. In rare
+ circumstances this data sharing is however undesirable, why this
+ function together with <c>copy/1</c> might be useful when optimizing
+ for memory use.</p>
+
+ <p>Example of binary sharing:</p>
+
+ <code>
+1> A = binary:copy(&lt;&lt;1&gt;&gt;,100).
+&lt;&lt;1,1,1,1,1 ...
+2> byte_size(A).
+100
+3> binary:referenced_byte_size(A)
+100
+4> &lt;&lt;_:10/binary,B:10/binary,_/binary&gt;&gt; = A.
+&lt;&lt;1,1,1,1,1 ...
+5> byte_size(B).
+10
+6> binary:referenced_byte_size(B)
+100
+ </code>
+
+ <note>
+ <p>Binary data is shared among processes. If another process
+ still references the larger binary, copying the part this
+ process uses only consumes more memory and will not free up the
+ larger binary for garbage collection. Use this kind of intrusive
+ functions with extreme care, and only if a real problem is
+ detected.</p>
+ </note>
+
+ </desc>
+ </func>
+ <func>
+ <name>replace(Subject,Pattern,Replacement) -> Result</name>
+ <fsummary>Replaces bytes in a binary according to a pattern</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pattern = binary() | [ binary() ] | cp()</v>
+ <v>Replacement = binary()</v>
+ <v>Result = binary()</v>
+ </type>
+ <desc>
+ <p>The same as <c>replace(Subject,Pattern,Replacement,[])</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>replace(Subject,Pattern,Replacement,Options) -> Result</name>
+ <fsummary>Replaces bytes in a binary according to a pattern</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pattern = binary() | [ binary() ] | cp()</v>
+ <v>Replacement = binary()</v>
+ <v>Result = binary()</v>
+ <v>Options = [ Option ]</v>
+ <v>Option = global | {scope, part()} | {insert_replaced, InsPos}</v>
+ <v>InsPos = OnePos | [ OnePos ]</v>
+ <v>OnePos = int() =&lt; byte_size(Replacement)</v>
+ </type>
+ <desc>
+
+ <p>Constructs a new binary by replacing the parts in
+ <c>Subject</c> matching <c>Pattern</c> with the content of
+ <c>Replacement</c>.</p>
+
+ <p>If the matching sub-part of <c>Subject</c> giving raise to the
+ replacement is to be inserted in the result, the option
+ <c>{insert_replaced, InsPos}</c> will insert the matching part into
+ <c>Replacement</c> at the given position (or positions) before actually
+ inserting <c>Replacement</c> into the <c>Subject</c>. Example:</p>
+
+<code>
+1> binary:replace(&lt;&lt;"abcde"&gt;&gt;,&lt;&lt;"b"&gt;&gt;,&lt;&lt;"[]"&gt;&gt;,[{insert_replaced,1}]).
+&lt;&lt;"a[b]cde"&gt;&gt;
+2> binary:replace(&lt;&lt;"abcde"&gt;&gt;,[&lt;&lt;"b"&gt;&gt;,&lt;&lt;"d"&gt;&gt;],&lt;&lt;"[]"&gt;&gt;,
+ [global,{insert_replaced,1}]).
+&lt;&lt;"a[b]c[d]e"&gt;&gt;
+3> binary:replace(&lt;&lt;"abcde"&gt;&gt;,[&lt;&lt;"b"&gt;&gt;,&lt;&lt;"d"&gt;&gt;],&lt;&lt;"[]"&gt;&gt;,
+ [global,{insert_replaced,[1,1]}]).
+&lt;&lt;"a[bb]c[dd]e"&gt;&gt;
+4> binary:replace(&lt;&lt;"abcde"&gt;&gt;,[&lt;&lt;"b"&gt;&gt;,&lt;&lt;"d"&gt;&gt;],&lt;&lt;"[-]"&gt;&gt;,
+ [global,{insert_replaced,[1,2]}]).
+&lt;&lt;"a[b-b]c[d-d]e"&gt;&gt;
+</code>
+
+ <p>If any position given in <c>InsPos</c> is greater than the size of the replacement binary, a <c>badarg</c> exception is raised.</p>
+
+ <p>The options <c>global</c> and <c>{scope, part()}</c> works as for <seealso marker="#split-3">split/3</seealso>. The return type is always a <c>binary()</c>.</p>
+
+ <p>For a description of <c>Pattern</c>, see <seealso marker="#compile_pattern-1">compile_pattern/1</seealso>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>split(Subject,Pattern) -> Parts</name>
+ <fsummary>Splits a binary according to a pattern</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pattern = binary() | [ binary() ] | cp()</v>
+ <v>Parts = [ binary() ]</v>
+ </type>
+ <desc>
+ <p>The same as <c>split(Subject, Pattern, [])</c>.</p>
+ </desc>
+ </func>
+ <func>
+ <name>split(Subject,Pattern,Options) -> Parts</name>
+ <fsummary>Splits a binary according to a pattern</fsummary>
+ <type>
+ <v>Subject = binary()</v>
+ <v>Pattern = binary() | [ binary() ] | cp()</v>
+ <v>Parts = [ binary() ]</v>
+ <v>Options = [ Option ]</v>
+ <v>Option = {scope, part()} | trim | global</v>
+ </type>
+ <desc>
+
+ <p>Splits Binary into a list of binaries based on Pattern. If
+ the option global is not given, only the first occurrence of
+ Pattern in Subject will give rise to a split.</p>
+
+ <p>The parts of Pattern actually found in Subject are not included in the result.</p>
+
+ <p>Example:</p>
+
+<code>
+1> binary:split(&lt;&lt;1,255,4,0,0,0,2,3&gt;&gt;, [&lt;&lt;0,0,0&gt;&gt;,&lt;&lt;2&gt;&gt;],[]).
+[&lt;&lt;1,255,4&gt;&gt;, &lt;&lt;2,3&gt;&gt;]
+2> binary:split(&lt;&lt;0,1,0,0,4,255,255,9&gt;&gt;, [&lt;&lt;0,0&gt;&gt;, &lt;&lt;255,255&gt;&gt;],[global]).
+[&lt;&lt;0,1&gt;&gt;,&lt;&lt;4&gt;&gt;,&lt;&lt;9&gt;&gt;]
+</code>
+
+ <p>Summary of options:</p>
+ <taglist>
+
+ <tag>{scope, part()}</tag>
+
+ <item><p>Works as in <seealso marker="#match-3">match/3</seealso> and
+ <seealso marker="#matches-3">matches/3</seealso>. Note that
+ this only defines the scope of the search for matching strings,
+ it does not cut the binary before splitting. The bytes before
+ and after the scope will be kept in the result. See example
+ below.</p></item>
+
+ <tag>trim</tag>
+
+ <item><p>Removes trailing empty parts of the result (as does trim in <c>re:split/3</c>)</p></item>
+
+ <tag>global</tag>
+
+ <item><p>Repeats the split until the <c>Subject</c> is
+ exhausted. Conceptually the global option makes split work on
+ the positions returned by <seealso marker="#matches-3">matches/3</seealso>,
+ while it normally
+ works on the position returned by
+ <seealso marker="#match-3">match/3</seealso>.</p></item>
+
+ </taglist>
+
+ <p>Example of the difference between a scope and taking the
+ binary apart before splitting:</p>
+
+<code>
+1> binary:split(&lt;&lt;"banana"&gt;&gt;,[&lt;&lt;"a"&gt;&gt;],[{scope,{2,3}}]).
+[&lt;&lt;"ban"&gt;&gt;,&lt;&lt;"na"&gt;&gt;]
+2> binary:split(binary:part(&lt;&lt;"banana"&gt;&gt;,{2,3}),[&lt;&lt;"a"&gt;&gt;],[]).
+[&lt;&lt;"n"&gt;&gt;,&lt;&lt;"n"&gt;&gt;]
+</code>
+
+ <p>The return type is always a list of binaries that are all
+ referencing <c>Subject</c>. This means that the data in <c>Subject</c> is not
+ actually copied to new binaries and that <c>Subject</c> cannot be
+ garbage collected until the results of the split are no longer
+ referenced.</p>
+
+ <p>For a description of <c>Pattern</c>, see <seealso marker="#compile_pattern-1">compile_pattern/1</seealso>.</p>
+
+ </desc>
+ </func>
+ </funcs>
+</erlref>
diff --git a/lib/stdlib/doc/src/erl_scan.xml b/lib/stdlib/doc/src/erl_scan.xml
index 4175146c3c..1199c34f0f 100644
--- a/lib/stdlib/doc/src/erl_scan.xml
+++ b/lib/stdlib/doc/src/erl_scan.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1996</year><year>2009</year>
+ <year>1996</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>erl_scan</title>
@@ -103,7 +103,7 @@ attributes() = line() | list() | tuple()</code>
Info, atom()}</c>,
<c>{char, Info, integer()}</c>, <c>{comment, Info,
string()}</c>, <c>{float, Info, float()}</c>, <c>{integer,
- Info, integer()}</c>, <c>{var, Info, atom()}</c>,
+ Info, integer()}</c>, <c>{var, Info, atom()}</c>,
and <c>{white_space, Info, string()}</c>.</p>
<p>The valid options are:</p>
<taglist>
@@ -149,7 +149,8 @@ attributes() = line() | list() | tuple()</code>
<v>StartLocation = EndLocation = location()</v>
<v>Options = Option | [Option]</v>
<v>Option = {reserved_word_fun,reserved_word_fun()}
- | return_comments | return_white_spaces | return</v>
+ | return_comments | return_white_spaces | return
+ | text</v>
</type>
<desc>
<p>This is the re-entrant scanner which scans characters until
@@ -173,7 +174,7 @@ attributes() = line() | list() | tuple()</code>
<tag><c>{error, ErrorInfo, EndLocation}</c></tag>
<item>
<p>An error occurred. <c>LeftOverChars</c> is the remaining
- characters of the input data,
+ characters of the input data,
starting from <c>EndLocation</c>.</p>
</item>
</taglist>
@@ -278,7 +279,7 @@ attributes() = line() | list() | tuple()</code>
<item><p>The token's symbol.</p>
</item>
<tag><c>{text, string()}</c></tag>
- <item><p>The token's text..</p>
+ <item><p>The token's text.</p>
</item>
</taglist>
</desc>
@@ -315,7 +316,7 @@ attributes() = line() | list() | tuple()</code>
<type>
<v>Attributes = attributes()</v>
<v>AttributeItemSpec = AttributeItem | [AttributeItem]</v>
- <v>AttributesInfo = AttributeInfoTuple | undefined
+ <v>AttributesInfo = AttributeInfoTuple | undefined
| [AttributeInfoTuple]</v>
<v>AttributeInfoTuple = {AttributeItem, Info}</v>
<v>AttributeItem = atom()</v>
@@ -352,7 +353,7 @@ attributes() = line() | list() | tuple()</code>
just the line if the column unknown.</p>
</item>
<tag><c>{text, string()}</c></tag>
- <item><p>The token's text..</p>
+ <item><p>The token's text.</p>
</item>
</taglist>
</desc>
diff --git a/lib/stdlib/doc/src/ets.xml b/lib/stdlib/doc/src/ets.xml
index 7b9f0e7772..ee1befc882 100644
--- a/lib/stdlib/doc/src/ets.xml
+++ b/lib/stdlib/doc/src/ets.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>1996</year><year>2009</year>
+ <year>1996</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>ets</title>
@@ -1686,7 +1686,7 @@ true</pre>
</desc>
</func>
<func>
- <name>to_dets(Tab, DetsTab) -> Tab</name>
+ <name>to_dets(Tab, DetsTab) -> DetsTab</name>
<fsummary>Fill a Dets table with objects from an ETS table.</fsummary>
<type>
<v>Tab = tid() | atom()</v>
diff --git a/lib/stdlib/doc/src/io_protocol.xml b/lib/stdlib/doc/src/io_protocol.xml
index 201787f7b5..b52e862a5c 100644
--- a/lib/stdlib/doc/src/io_protocol.xml
+++ b/lib/stdlib/doc/src/io_protocol.xml
@@ -195,7 +195,7 @@ latin1, Module, Function, Args} respectively. </p>
below).</p>
<p>The function will be called with the data the io_server finds on
- it's device, returning {done, Result, RestChars} when enough data is
+ its device, returning {done, Result, RestChars} when enough data is
read (in which case Result is sent to the client and RestChars are
kept in the io_server as a buffer for subsequent input) or {more,
Continuation}, indicating that more characters are needed to
@@ -741,7 +741,7 @@ optimize anything however. It is important though that the returned
data is of the right type depending on the options set, so we convert
the lists to binaries in the correct encoding <em>if possible</em>
before returning. The function supplied in the get_until request may,
-as it's final result return anything, so only functions actually
+as its final result return anything, so only functions actually
returning lists can get them converted to binaries. If the request
contained the encoding tag unicode, the lists can contain all unicode
codepoints and the binaries should be in UTF-8, if the encoding tag
diff --git a/lib/stdlib/doc/src/lists.xml b/lib/stdlib/doc/src/lists.xml
index 855a7e0244..a273a2301f 100644
--- a/lib/stdlib/doc/src/lists.xml
+++ b/lib/stdlib/doc/src/lists.xml
@@ -443,7 +443,7 @@ flatmap(Fun, List1) ->
<desc>
<p>Returns a list containing the sorted elements of the list
<c>TupleList1</c>. Sorting is performed on the <c>N</c>th
- element of the tuples.</p>
+ element of the tuples. The sort is stable.</p>
</desc>
</func>
<func>
@@ -466,7 +466,7 @@ flatmap(Fun, List1) ->
</desc>
</func>
<func>
- <name>keytake(Key, N, TupleList1) -> {value, Tuple, TupleList2}
+ <name>keytake(Key, N, TupleList1) -> {value, Tuple, TupleList2}
| false</name>
<fsummary>Extract an element from a list of tuples</fsummary>
<type>
@@ -840,7 +840,7 @@ length(lists:seq(From, To, Incr)) == (To-From+Incr) div Incr</code>
<c>Pred</c>. <c>splitwith/2</c> behaves as if it is defined
as follows:</p>
<code type="none">
-splitwith(Pred, List) ->
+splitwith(Pred, List) ->
{takewhile(Pred, List), dropwhile(Pred, List)}.</code>
<p>Examples:</p>
<pre>
diff --git a/lib/stdlib/doc/src/ms_transform.xml b/lib/stdlib/doc/src/ms_transform.xml
index 9f178b426c..ba9f89685b 100644
--- a/lib/stdlib/doc/src/ms_transform.xml
+++ b/lib/stdlib/doc/src/ms_transform.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2002</year><year>2009</year>
+ <year>2002</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>ms_transform</title>
@@ -245,7 +245,7 @@ ets:select(emp_tab, ets:fun2ms(
fun(#emp{empno = [$0 | Rest] }) ->
{[$0|Rest],[$1|Rest]}
end)). </code>
- <p>As a matter of fact, this query hit's the feature of partially bound
+ <p>As a matter of fact, this query hits the feature of partially bound
keys in the table type <c>ordered_set</c>, so that not the whole
table need be searched, only the part of the table containing keys
beginning with <c>0</c> is in fact looked into. </p>
diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml
index c55eafc8b8..28a3719d38 100644
--- a/lib/stdlib/doc/src/notes.xml
+++ b/lib/stdlib/doc/src/notes.xml
@@ -50,7 +50,7 @@
<item>
<p>A number of bugs concerning re and unicode are
corrected:</p>
- <p>re:compile no longer looses unicode option, which also
+ <p>re:compile no longer loses unicode option, which also
fixes bug in re:split.</p>
<p>re:replace now handles unicode charlist replacement
argument</p>
diff --git a/lib/stdlib/doc/src/ref_man.xml b/lib/stdlib/doc/src/ref_man.xml
index f6ae368e92..85aae6151d 100644
--- a/lib/stdlib/doc/src/ref_man.xml
+++ b/lib/stdlib/doc/src/ref_man.xml
@@ -4,7 +4,7 @@
<application xmlns:xi="http://www.w3.org/2001/XInclude">
<header>
<copyright>
- <year>1996</year><year>2009</year>
+ <year>1996</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>STDLIB Reference Manual</title>
@@ -37,6 +37,7 @@
<xi:include href="array.xml"/>
<xi:include href="base64.xml"/>
<xi:include href="beam_lib.xml"/>
+ <xi:include href="binary.xml"/>
<xi:include href="c.xml"/>
<xi:include href="calendar.xml"/>
<xi:include href="dets.xml"/>
diff --git a/lib/stdlib/doc/src/unicode_usage.xml b/lib/stdlib/doc/src/unicode_usage.xml
index c5bf10b63d..f1b0659ea2 100644
--- a/lib/stdlib/doc/src/unicode_usage.xml
+++ b/lib/stdlib/doc/src/unicode_usage.xml
@@ -143,7 +143,7 @@ en_US.UTF-8</pre>
<pre>
$ echo <input>$LC_CTYPE</input>
en_US.UTF-8</pre>
-<p>The LANG or LC_CTYPE setting should be consistent with what the terminal is capable of, there is no portable way for Erlang to ask the actual terminal about it's UTF-8 capacity, we have to rely on the language and character type settings.</p>
+<p>The LANG or LC_CTYPE setting should be consistent with what the terminal is capable of, there is no portable way for Erlang to ask the actual terminal about its UTF-8 capacity, we have to rely on the language and character type settings.</p>
<p>To investigate what Erlang thinks about the terminal, the <c>io:getopts()</c> call can be used when the shell is started:</p>
<pre>
$ <input>LC_CTYPE=en_US.ISO-8859-1 erl</input>
@@ -185,7 +185,7 @@ Eshell V5.7 (abort with ^G)
<tag><c>file</c>, <c>group</c> and <c>user</c></tag>
<item>
<p>I/O-servers throughout the system are able both to handle Unicode data and has options for converting data upon actual output or input to/from the device. As shown earlier, the <seealso marker="stdlib:shell">shell</seealso> has support for Unicode terminals and the <seealso marker="kernel:file">file</seealso> module allows for translation to and from various Unicode formats on disk.</p>
-<p>The actual reading and writing of files with Unicode data is however not best done with the <c>file</c> module as it's interface is byte oriented. A file opened with a Unicode encoding (like UTF-8), is then best read or written using the <seealso marker="stdlib:io">io</seealso> module.</p>
+<p>The actual reading and writing of files with Unicode data is however not best done with the <c>file</c> module as its interface is byte oriented. A file opened with a Unicode encoding (like UTF-8), is then best read or written using the <seealso marker="stdlib:io">io</seealso> module.</p>
</item>
<tag><c>re</c></tag>
<item>
diff --git a/lib/stdlib/doc/src/zip.xml b/lib/stdlib/doc/src/zip.xml
index e2ecfec8f0..4d98a20206 100644
--- a/lib/stdlib/doc/src/zip.xml
+++ b/lib/stdlib/doc/src/zip.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2006</year><year>2009</year>
+ <year>2006</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>zip</title>
@@ -42,16 +42,18 @@
<p>By convention, the name of a zip file should end in "<c>.zip</c>".
To abide to the convention, you'll need to add "<c>.zip</c>" yourself
to the name.</p>
- <p>Zip archives are created with the
- <seealso marker="#zip_2">zip/2</seealso> or the
+ <p>Zip archives are created with the
+ <seealso marker="#zip_2">zip/2</seealso> or the
<seealso marker="#zip_2">zip/3</seealso> function. (They are
also available as <c>create</c>, to resemble the <c>erl_tar</c>
module.)</p>
- <p>To extract files from a zip archive, use the
- <seealso marker="#unzip_1">unzip/1</seealso> or the
+ <p>To extract files from a zip archive, use the
+ <seealso marker="#unzip_1">unzip/1</seealso> or the
<seealso marker="#unzip_2">unzip/2</seealso> function. (They are
also available as <c>extract</c>.)</p>
- <p>To return a list of the files in a zip archive, use the
+ <p>To fold a function over all files in a zip archive, use the
+ <seealso marker="#foldl_3">foldl_3</seealso>.</p>
+ <p>To return a list of the files in a zip archive, use the
<seealso marker="#list_dir_1">list_dir/1</seealso> or the
<seealso marker="#list_dir_2">list_dir/2</seealso> function. (They
are also available as <c>table</c>.)</p>
@@ -132,7 +134,7 @@ zip_file() </code>
<type>
<v>Name = filename()</v>
<v>FileList = [FileSpec]</v>
- <v>FileSpec = filename() | {filename(), binary()}</v>
+ <v>FileSpec = filename() | {filename(), binary()} | {filename(), binary(), #file_info{}}</v>
<v>Options = [Option]</v>
<v>Option = memory | cooked | verbose | {comment, Comment} | {cwd, CWD} | {compress, What} | {uncompress, What}</v>
<v>What = all | [Extension] | {add, [Extension]} | {del, [Extension]}</v>
@@ -212,16 +214,16 @@ zip_file() </code>
<taglist>
<tag><c>all</c></tag>
<item><p> means that all files will be compressed (as long
- as they pass the <c>uncompress</c> condition).</p></item>
+ as they pass the <c>uncompress</c> condition).</p></item>
<tag><c>[Extension]</c></tag>
<item><p>means that only files with exactly these extensions
- will be compressed.</p></item>
+ will be compressed.</p></item>
<tag><c>{add,[Extension]}</c></tag>
<item><p>adds these extensions to the list of compress
- extensions.</p></item>
+ extensions.</p></item>
<tag><c>{del,[Extension]}</c></tag>
<item><p>deletes these extensions from the list of compress
- extensions.</p></item>
+ extensions.</p></item>
</taglist>
</item>
<tag><c>{uncompress, What}</c></tag>
@@ -231,16 +233,16 @@ zip_file() </code>
The following values of <c>What</c> are allowed:</p>
<taglist>
<tag><c>all</c></tag>
- <item><p> means that no files will be compressed.</p></item>
+ <item><p> means that no files will be compressed.</p></item>
<tag><c>[Extension]</c></tag>
<item><p>means that files with these extensions will be
- uncompressed.</p></item>
+ uncompressed.</p></item>
<tag><c>{add,[Extension]}</c></tag>
<item><p>adds these extensions to the list of uncompress
- extensions.</p></item>
+ extensions.</p></item>
<tag><c>{del,[Extension]}</c></tag>
<item><p>deletes these extensions from the list of uncompress
- extensions.</p></item>
+ extensions.</p></item>
</taglist>
</item>
</taglist>
@@ -283,7 +285,7 @@ zip_file() </code>
the <c>unzip/2</c> function will only extract the files
whose names are included in <c>FileList</c>. The full
paths, including the names of all sub directories within
- the zip archive, must be specified.</p>
+ the zip archive, must be specified.</p>
</item>
<tag><c>cooked</c></tag>
<item>
@@ -327,6 +329,64 @@ zip_file() </code>
</desc>
</func>
<func>
+ <name>foldl(Fun, Acc0, Archive) -> {ok, Acc1} | {error, Reason}</name>
+ <fsummary>Fold a function over all files in a zip archive</fsummary>
+ <type>
+ <v>Fun = fun(FileInArchive, GetInfo, GetBin, AccIn) -> AccOut</v>
+ <v>FileInArchive = filename()</v>
+ <v>GetInfo = fun() -> #file_info{}</v>
+ <v>GetBin = fun() -> binary()</v>
+ <v>Acc0 = Acc1 = AccIn = AccOut = term()</v>
+ <v>Archive = filename() | {filename(), binary()}</v>
+ </type>
+ <desc>
+ <p>The <marker id="foldl_3"></marker> <c>foldl/3</c> function
+ calls <c>Fun(FileInArchive, GetInfo, GetBin, AccIn)</c> on
+ successive files in the <c>Archive</c>, starting with <c>AccIn
+ == Acc0</c>. <c>FileInArchive</c> is the name that the file
+ has in the archive. <c>GetInfo</c> is a fun that returns info
+ about the the file. <c>GetBin</c> returns the contents of the
+ file. Both <c>GetInfo</c> and <c>GetBin</c> must be called
+ within the <c>Fun</c>. Their behavior is undefined if they are
+ called outside the context of the <c>Fun</c>. The <c>Fun</c>
+ must return a new accumulator which is passed to the next
+ call. <c>foldl/3</c> returns the final value of the
+ accumulator. <c>Acc0</c> is returned if the archive is
+ empty. It is not necessary to iterate over all files in the
+ archive. The iteration may be ended prematurely in a
+ controlled manner by throwing an exception.</p>
+
+ <p>For example:</p>
+ <pre>
+&gt; <input>Name = "dummy.zip".</input>
+"dummy.zip"
+&gt; <input>{ok, {Name, Bin}} = zip:create(Name, [{"foo", &lt;&lt;"FOO"&gt;&gt;}, {"bar", &lt;&lt;"BAR"&gt;&gt;}], [memory]).</input>
+{ok,{"dummy.zip",
+ &lt;&lt;80,75,3,4,20,0,0,0,0,0,74,152,97,60,171,39,212,26,3,0,
+ 0,0,3,0,0,...&gt;&gt;}}
+&gt; <input>{ok, FileSpec} = zip:foldl(fun(N, I, B, Acc) -> [{N, B(), I()} | Acc] end, [], {Name, Bin}).</input>
+{ok,[{"bar",&lt;&lt;"BAR"&gt;&gt;,
+ {file_info,3,regular,read_write,
+ {{2010,3,1},{19,2,10}},
+ {{2010,3,1},{19,2,10}},
+ {{2010,3,1},{19,2,10}},
+ 54,1,0,0,0,0,0}},
+ {"foo",&lt;&lt;"FOO"&gt;&gt;,
+ {file_info,3,regular,read_write,
+ {{2010,3,1},{19,2,10}},
+ {{2010,3,1},{19,2,10}},
+ {{2010,3,1},{19,2,10}},
+ 54,1,0,0,0,0,0}}]}
+&gt; <input>{ok, {Name, Bin}} = zip:create(Name, lists:reverse(FileSpec), [memory]).</input>
+{ok,{"dummy.zip",
+ &lt;&lt;80,75,3,4,20,0,0,0,0,0,74,152,97,60,171,39,212,26,3,0,
+ 0,0,3,0,0,...&gt;&gt;}}
+&gt; <input>catch zip:foldl(fun("foo", _, B, _) -> throw(B()); (_, _, _, Acc) -> Acc end, [], {Name, Bin}). </input>
+&lt;&lt;"FOO"&gt;&gt;
+</pre>
+ </desc>
+ </func>
+ <func>
<name>list_dir(Archive) -> RetValue</name>
<name>list_dir(Archive, Options)</name>
<name>table(Archive) -> RetValue</name>
diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile
index 237818c08b..600303d7e1 100644
--- a/lib/stdlib/src/Makefile
+++ b/lib/stdlib/src/Makefile
@@ -43,6 +43,7 @@ MODULES= \
array \
base64 \
beam_lib \
+ binary \
c \
calendar \
dets \
diff --git a/lib/stdlib/src/beam_lib.erl b/lib/stdlib/src/beam_lib.erl
index 820afd3739..c71dad6163 100644
--- a/lib/stdlib/src/beam_lib.erl
+++ b/lib/stdlib/src/beam_lib.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(beam_lib).
@@ -44,9 +44,6 @@
-import(lists, [append/1, delete/2, foreach/2, keysort/2,
member/2, reverse/1, sort/1, splitwith/2]).
--include_lib("kernel/include/file.hrl").
--include("erl_compile.hrl").
-
%%-------------------------------------------------------------------------
-type beam() :: module() | file:filename() | binary().
@@ -331,13 +328,11 @@ beam_files(Dir) ->
%% -> ok | throw(Error)
cmp_files(File1, File2) ->
- {ok, {M1, L1}} = read_significant_chunks(File1),
- {ok, {M2, L2}} = read_significant_chunks(File2),
+ {ok, {M1, L1}} = read_all_but_useless_chunks(File1),
+ {ok, {M2, L2}} = read_all_but_useless_chunks(File2),
if
M1 =:= M2 ->
- List1 = filter_funtab(L1),
- List2 = filter_funtab(L2),
- cmp_lists(List1, List2);
+ cmp_lists(L1, L2);
true ->
error({modules_different, M1, M2})
end.
@@ -408,6 +403,20 @@ pad(Size) ->
end.
%% -> {ok, {Module, Chunks}} | throw(Error)
+read_all_but_useless_chunks(File0) when is_atom(File0);
+ is_list(File0);
+ is_binary(File0) ->
+ File = beam_filename(File0),
+ {ok, Module, ChunkIds0} = scan_beam(File, info),
+ ChunkIds = [Name || {Name,_,_} <- ChunkIds0,
+ not is_useless_chunk(Name)],
+ {ok, Module, Chunks} = scan_beam(File, ChunkIds),
+ {ok, {Module, lists:reverse(Chunks)}}.
+
+is_useless_chunk("CInf") -> true;
+is_useless_chunk(_) -> false.
+
+%% -> {ok, {Module, Chunks}} | throw(Error)
read_significant_chunks(File) ->
case read_chunk_data(File, significant_chunks(), [allow_missing_chunks]) of
{ok, {Module, Chunks0}} ->
diff --git a/lib/stdlib/src/binary.erl b/lib/stdlib/src/binary.erl
new file mode 100644
index 0000000000..f6489788b2
--- /dev/null
+++ b/lib/stdlib/src/binary.erl
@@ -0,0 +1,177 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+-module(binary).
+%%
+%% The following functions implemented as BIF's
+%% binary:compile_pattern/1
+%% binary:match/{2,3}
+%% binary:matches/{2,3}
+%% binary:longest_common_prefix/1
+%% binary:longest_common_suffix/1
+%% binary:first/1
+%% binary:last/1
+%% binary:at/2
+%% binary:part/{2,3}
+%% binary:bin_to_list/{1,2,3}
+%% binary:list_to_bin/1
+%% binary:copy/{1,2}
+%% binary:referenced_byte_size/1
+%% binary:decode_unsigned/{1,2}
+%% - Not yet:
+%%
+%% Implemented in this module:
+-export([split/2,split/3,replace/3,replace/4]).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% split
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+split(H,N) ->
+ split(H,N,[]).
+split(Haystack,Needles,Options) ->
+ try
+ {Part,Global,Trim} = get_opts_split(Options,{no,false,false}),
+ Moptlist = case Part of
+ no ->
+ [];
+ {A,B} ->
+ [{scope,{A,B}}]
+ end,
+ MList = if
+ Global ->
+ binary:matches(Haystack,Needles,Moptlist);
+ true ->
+ case binary:match(Haystack,Needles,Moptlist) of
+ nomatch -> [];
+ Match -> [Match]
+ end
+ end,
+ do_split(Haystack,MList,0,Trim)
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+do_split(H,[],N,true) when N >= byte_size(H) ->
+ [];
+do_split(H,[],N,_) ->
+ [binary:part(H,{N,byte_size(H)-N})];
+do_split(H,[{A,B}|T],N,Trim) ->
+ case binary:part(H,{N,A-N}) of
+ <<>> ->
+ Rest = do_split(H,T,A+B,Trim),
+ case {Trim, Rest} of
+ {true,[]} ->
+ [];
+ _ ->
+ [<<>> | Rest]
+ end;
+ Oth ->
+ [Oth | do_split(H,T,A+B,Trim)]
+ end.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% replace
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+replace(H,N,R) ->
+ replace(H,N,R,[]).
+replace(Haystack,Needles,Replacement,Options) ->
+ try
+ true = is_binary(Replacement), % Make badarg instead of function clause
+ {Part,Global,Insert} = get_opts_replace(Options,{no,false,[]}),
+ Moptlist = case Part of
+ no ->
+ [];
+ {A,B} ->
+ [{scope,{A,B}}]
+ end,
+ MList = if
+ Global ->
+ binary:matches(Haystack,Needles,Moptlist);
+ true ->
+ case binary:match(Haystack,Needles,Moptlist) of
+ nomatch -> [];
+ Match -> [Match]
+ end
+ end,
+ ReplList = case Insert of
+ [] ->
+ Replacement;
+ Y when is_integer(Y) ->
+ splitat(Replacement,0,[Y]);
+ Li when is_list(Li) ->
+ splitat(Replacement,0,lists:sort(Li))
+ end,
+ erlang:iolist_to_binary(do_replace(Haystack,MList,ReplList,0))
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+
+do_replace(H,[],_,N) ->
+ [binary:part(H,{N,byte_size(H)-N})];
+do_replace(H,[{A,B}|T],Replacement,N) ->
+ [binary:part(H,{N,A-N}),
+ if
+ is_list(Replacement) ->
+ do_insert(Replacement, binary:part(H,{A,B}));
+ true ->
+ Replacement
+ end
+ | do_replace(H,T,Replacement,A+B)].
+
+do_insert([X],_) ->
+ [X];
+do_insert([H|T],R) ->
+ [H,R|do_insert(T,R)].
+
+splitat(H,N,[]) ->
+ [binary:part(H,{N,byte_size(H)-N})];
+splitat(H,N,[I|T]) ->
+ [binary:part(H,{N,I-N})|splitat(H,I,T)].
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Simple helper functions
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+get_opts_split([],{Part,Global,Trim}) ->
+ {Part,Global,Trim};
+get_opts_split([{scope,{A,B}} | T],{_Part,Global,Trim}) ->
+ get_opts_split(T,{{A,B},Global,Trim});
+get_opts_split([global | T],{Part,_Global,Trim}) ->
+ get_opts_split(T,{Part,true,Trim});
+get_opts_split([trim | T],{Part,Global,_Trim}) ->
+ get_opts_split(T,{Part,Global,true});
+get_opts_split(_,_) ->
+ throw(badopt).
+
+get_opts_replace([],{Part,Global,Insert}) ->
+ {Part,Global,Insert};
+get_opts_replace([{scope,{A,B}} | T],{_Part,Global,Insert}) ->
+ get_opts_replace(T,{{A,B},Global,Insert});
+get_opts_replace([global | T],{Part,_Global,Insert}) ->
+ get_opts_replace(T,{Part,true,Insert});
+get_opts_replace([{insert_replaced,N} | T],{Part,Global,_Insert}) ->
+ get_opts_replace(T,{Part,Global,N});
+get_opts_replace(_,_) ->
+ throw(badopt).
+
diff --git a/lib/stdlib/src/c.erl b/lib/stdlib/src/c.erl
index 433833e233..e05a1c787f 100644
--- a/lib/stdlib/src/c.erl
+++ b/lib/stdlib/src/c.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(c).
@@ -31,10 +31,14 @@
-export([display_info/1]).
-export([appcall/4]).
--import(lists, [reverse/1,flatten/1,sublist/3,sort/1,keysearch/3,keysort/2,
+-import(lists, [reverse/1,flatten/1,sublist/3,sort/1,keysort/2,
concat/1,max/1,min/1,foreach/2,foldl/3,flatmap/2]).
-import(io, [format/1, format/2]).
+%%-----------------------------------------------------------------------
+
+-spec help() -> 'ok'.
+
help() ->
format("bt(Pid) -- stack backtrace for a process\n"
"c(File) -- compile and load code in <File>\n"
@@ -65,8 +69,12 @@ help() ->
%% c(FileName)
%% Compile a file/module.
+-spec c(file:name()) -> {'ok', module()} | 'error'.
+
c(File) -> c(File, []).
+-spec c(file:name(), [compile:option()]) -> {'ok', module()} | 'error'.
+
c(File, Opts0) when is_list(Opts0) ->
Opts = [report_errors,report_warnings|Opts0],
case compile:file(File, Opts) of
@@ -82,6 +90,8 @@ c(File, Opt) ->
%%% Obtain the 'outdir' option from the argument. Return "." if no
%%% such option was given.
+-spec outdir([compile:option()]) -> file:filename().
+
outdir([]) ->
".";
outdir([Opt|Rest]) ->
@@ -118,8 +128,8 @@ machine_load(Mod, File, Opts) ->
%%% loaded from some other place than current directory.
%%% Now, loading from other than current directory is supposed to work.
%%% so this function does nothing special.
-check_load({error, R}, _) -> {error, R};
-check_load(_, X) -> {ok, X}.
+check_load({error, _R} = Error, _) -> Error;
+check_load(_, Mod) -> {ok, Mod}.
%% Compile a list of modules
%% enables the nice unix shell cmd
@@ -128,6 +138,8 @@ check_load(_, X) -> {ok, X}.
%% with constant c2 defined, c1=v1 (v1 must be a term!), include dir
%% IDir, outdir ODir.
+-spec lc([erl_compile:cmd_line_arg()]) -> 'ok' | 'error'.
+
lc(Args) ->
case catch split(Args, [], []) of
error -> error;
@@ -145,7 +157,7 @@ lc_batch() ->
io:format("Error: no files to compile~n"),
halt(1).
--spec lc_batch([_]) -> no_return().
+-spec lc_batch([erl_compile:cmd_line_arg()]) -> no_return().
lc_batch(Args) ->
try split(Args, [], []) of
@@ -191,8 +203,13 @@ make_term(Str) ->
throw(error)
end.
+-spec nc(file:name()) -> {'ok', module()} | 'error'.
+
nc(File) -> nc(File, []).
+-spec nc(file:name(), [compile:option()] | compile:option()) ->
+ {'ok', module} | 'error'.
+
nc(File, Opts0) when is_list(Opts0) ->
Opts = Opts0 ++ [report_errors, report_warnings],
case compile:file(File, Opts) of
@@ -215,26 +232,37 @@ nc(File, Opt) when is_atom(Opt) ->
%% l(Mod)
%% Reload module Mod from file of same name
+-spec l(module()) -> code:load_ret().
l(Mod) ->
code:purge(Mod),
code:load_file(Mod).
%% Network version of l/1
+%%-spec nl(module()) ->
nl(Mod) ->
case code:get_object_code(Mod) of
{_Module, Bin, Fname} ->
- rpc:eval_everywhere(code,load_binary,[Mod,Fname,Bin]);
+ rpc:eval_everywhere(code, load_binary, [Mod, Fname, Bin]);
Other ->
Other
end.
+-spec i() -> 'ok'.
+
i() -> i(processes()).
+
+-spec ni() -> 'ok'.
+
ni() -> i(all_procs()).
+-spec i([pid()]) -> 'ok'.
+
i(Ps) ->
i(Ps, length(Ps)).
+-spec i([pid()], non_neg_integer()) -> 'ok'.
+
i(Ps, N) when N =< 100 ->
iformat("Pid", "Initial Call", "Heap", "Reds",
"Msgs"),
@@ -275,7 +303,6 @@ paged_i(Ps, Acc, N, Page) ->
paged_i([], NewAcc, 0, Page)
end.
-
choice(F) ->
case get_line('(c)ontinue (q)uit -->', "c\n") of
"c\n" ->
@@ -285,7 +312,6 @@ choice(F) ->
_ ->
choice(F)
end.
-
get_line(P, Default) ->
case io:get_line(P) of
@@ -305,7 +331,6 @@ mfa_string({M,F,A}) ->
mfa_string(X) ->
w(X).
-
display_info(Pid) ->
case pinfo(Pid) of
undefined -> {0,0,0,0};
@@ -317,7 +342,7 @@ display_info(Pid) ->
Other ->
Other
end,
- Reds = fetch(reductions, Info),
+ Reds = fetch(reductions, Info),
LM = length(fetch(messages, Info)),
HS = fetch(heap_size, Info),
SS = fetch(stack_size, Info),
@@ -364,21 +389,30 @@ pinfo(Pid) ->
end.
fetch(Key, Info) ->
- case keysearch(Key, 1, Info) of
- {value, {_, Val}} -> Val;
+ case lists:keyfind(Key, 1, Info) of
+ {_, Val} -> Val;
false -> 0
end.
-pid(X,Y,Z) ->
+-spec pid(non_neg_integer(), non_neg_integer(), non_neg_integer()) -> pid().
+
+pid(X, Y, Z) ->
list_to_pid("<" ++ integer_to_list(X) ++ "." ++
integer_to_list(Y) ++ "." ++
integer_to_list(Z) ++ ">").
-i(X,Y,Z) -> pinfo(pid(X,Y,Z)).
+-spec i(non_neg_integer(), non_neg_integer(), non_neg_integer()) ->
+ [{atom(), term()}].
+
+i(X, Y, Z) -> pinfo(pid(X, Y, Z)).
+
+-spec q() -> no_return().
q() ->
init:stop().
+-spec bt(pid()) -> 'ok' | 'undefined'.
+
bt(Pid) ->
case catch erlang:process_display(Pid, backtrace) of
{'EXIT', _} ->
@@ -387,6 +421,8 @@ bt(Pid) ->
ok
end.
+-spec m() -> 'ok'.
+
m() ->
mformat("Module", "File"),
foreach(fun ({Mod,File}) -> mformat(Mod, File) end, sort(code:all_loaded())).
@@ -414,8 +450,8 @@ error(Fmt, Args) ->
f_p_e(P, F) ->
case file:path_eval(P, F) of
- {error, enoent} ->
- {error, enoent};
+ {error, enoent} = Enoent ->
+ Enoent;
{error, E={Line, _Mod, _Term}} ->
error("file:path_eval(~p,~p): error on line ~p: ~s~n",
[P, F, Line, file:format_error(E)]),
@@ -438,10 +474,11 @@ bi(I) ->
%%
%% Short and nice form of module info
%%
+-spec m(module()) -> 'ok'.
m(M) ->
L = M:module_info(),
- {value,{exports,E}} = keysearch(exports, 1, L),
+ {exports,E} = lists:keyfind(exports, 1, L),
Time = get_compile_time(L),
COpts = get_compile_options(L),
format("Module ~w compiled: ",[M]), print_time(Time),
@@ -470,10 +507,10 @@ get_compile_options(L) ->
end.
get_compile_info(L, Tag) ->
- case keysearch(compile, 1, L) of
- {value, {compile, I}} ->
- case keysearch(Tag, 1, I) of
- {value, {Tag, Val}} -> {ok,Val};
+ case lists:keyfind(compile, 1, L) of
+ {compile, I} ->
+ case lists:keyfind(Tag, 1, I) of
+ {Tag, Val} -> {ok,Val};
false -> error
end;
false -> error
@@ -523,6 +560,8 @@ month(11) -> "November";
month(12) -> "December".
%% Just because we can't eval receive statements...
+-spec flush() -> 'ok'.
+
flush() ->
receive
X ->
@@ -533,9 +572,13 @@ flush() ->
end.
%% Print formatted info about all registered names in the system
+-spec nregs() -> 'ok'.
+
nregs() ->
foreach(fun (N) -> print_node_regs(N) end, all_regs()).
+-spec regs() -> 'ok'.
+
regs() ->
print_node_regs({node(),registered()}).
@@ -609,6 +652,8 @@ portformat(Name, Id, Cmd) ->
%% cd(Directory)
%% These are just wrappers around the file:get/set_cwd functions.
+-spec pwd() -> 'ok'.
+
pwd() ->
case file:get_cwd() of
{ok, Str} ->
@@ -617,6 +662,8 @@ pwd() ->
ok = io:format("Cannot determine current directory\n")
end.
+-spec cd(file:name()) -> 'ok'.
+
cd(Dir) ->
file:set_cwd(Dir),
pwd().
@@ -625,9 +672,13 @@ cd(Dir) ->
%% ls(Directory)
%% The strategy is to print in fixed width files.
+-spec ls() -> 'ok'.
+
ls() ->
ls(".").
+-spec ls(file:name()) -> 'ok'.
+
ls(Dir) ->
case file:list_dir(Dir) of
{ok, Entries} ->
@@ -660,24 +711,31 @@ w(X) ->
%% memory/[0,1]
%%
-memory() -> erlang:memory().
+-spec memory() -> [{atom(), non_neg_integer()}].
+
+memory() -> erlang:memory().
+
+-spec memory(atom()) -> non_neg_integer()
+ ; ([atom()]) -> [{atom(), non_neg_integer()}].
+
memory(TypeSpec) -> erlang:memory(TypeSpec).
%%
%% Cross Reference Check
%%
-
+%%-spec xm(module() | file:filename()) -> xref:m/1 return
xm(M) ->
appcall(tools, xref, m, [M]).
%%
%% Call yecc
%%
-
+%%-spec y(file:name()) -> yecc:file/2 return
y(File) -> y(File, []).
+%%-spec y(file:name(), [yecc:option()]) -> yecc:file/2 return
y(File, Opts) ->
- appcall(parsetools, yecc, file, [File,Opts]).
+ appcall(parsetools, yecc, file, [File, Opts]).
%%
@@ -699,4 +757,3 @@ appcall(App, M, F, Args) ->
erlang:raise(error, undef, Stk)
end
end.
-
diff --git a/lib/stdlib/src/dets_sup.erl b/lib/stdlib/src/dets_sup.erl
index 5c6caa787d..8ea2ba9b3f 100644
--- a/lib/stdlib/src/dets_sup.erl
+++ b/lib/stdlib/src/dets_sup.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(dets_sup).
@@ -22,9 +22,16 @@
-export([start_link/0, init/1]).
+-spec start_link() -> {'ok', pid()} | 'ignore' | {'error', term()}.
+
start_link() ->
supervisor:start_link({local, dets_sup}, dets_sup, []).
+-spec init([]) ->
+ {'ok', {{'simple_one_for_one', 4, 3600},
+ [{'dets', {'dets', 'istart_link', []},
+ 'temporary', 30000, 'worker', ['dets']}]}}.
+
init([]) ->
SupFlags = {simple_one_for_one, 4, 3600},
Child = {dets, {dets, istart_link, []}, temporary, 30000, worker, [dets]},
diff --git a/lib/stdlib/src/edlin.erl b/lib/stdlib/src/edlin.erl
index 6cb441dbed..026bd9038f 100644
--- a/lib/stdlib/src/edlin.erl
+++ b/lib/stdlib/src/edlin.erl
@@ -24,6 +24,7 @@
-export([init/0,start/1,edit_line/2,prefix_arg/1]).
-export([erase_line/1,erase_inp/1,redraw_line/1]).
-export([length_before/1,length_after/1,prompt/1]).
+-export([current_line/1]).
%%-export([expand/1]).
-export([edit_line1/2]).
@@ -421,6 +422,7 @@ over_paren_auto([], _, _, _) ->
%% length_before(Line)
%% length_after(Line)
%% prompt(Line)
+%% current_line(Line)
%% Various functions for accessing bits of a line.
erase_line({line,Pbs,{Bef,Aft},_}) ->
@@ -447,6 +449,9 @@ length_after({line,_,{_Bef,Aft},_}) ->
prompt({line,Pbs,_,_}) ->
Pbs.
+current_line({line,_,{Bef, Aft},_}) ->
+ reverse(Bef, Aft ++ "\n").
+
%% %% expand(CurrentBefore) ->
%% %% {yes,Expansion} | no
%% %% Try to expand the word before as either a module name or a function
diff --git a/lib/stdlib/src/epp.erl b/lib/stdlib/src/epp.erl
index 424aed3d2e..f144cbb938 100644
--- a/lib/stdlib/src/epp.erl
+++ b/lib/stdlib/src/epp.erl
@@ -109,6 +109,8 @@ format_error(cannot_parse) ->
io_lib:format("cannot parse file, giving up", []);
format_error({bad,W}) ->
io_lib:format("badly formed '~s'", [W]);
+format_error(missing_parenthesis) ->
+ io_lib:format("badly formed define: missing closing right parenthesis",[]);
format_error({call,What}) ->
io_lib:format("illegal macro call '~s'",[What]);
format_error({undefined,M,none}) ->
@@ -176,6 +178,8 @@ parse_file(Epp) ->
[{eof,Location}]
end.
+normalize_typed_record_fields([]) ->
+ {typed, []};
normalize_typed_record_fields(Fields) ->
normalize_typed_record_fields(Fields, [], false).
@@ -413,7 +417,7 @@ scan_toks(From, St) ->
leave_file(From, St#epp{location=Cl});
{error,_E} ->
epp_reply(From, {error,{St#epp.location,epp,cannot_parse}}),
- leave_file(From, St) %This serious, just exit!
+ leave_file(wait_request(St), St) %This serious, just exit!
end.
scan_toks([{'-',_Lh},{atom,_Ld,define}=Define|Toks], From, St) ->
@@ -489,26 +493,32 @@ scan_extends(_Ts, _As, Ms) -> Ms.
scan_define([{'(',_Lp},{Type,_Lm,M}=Mac,{',',_Lc}|Toks], _Def, From, St)
when Type =:= atom; Type =:= var ->
- case dict:find({atom,M}, St#epp.macs) of
- {ok, Defs} when is_list(Defs) ->
- %% User defined macros: can be overloaded
- case proplists:is_defined(none, Defs) of
- true ->
- epp_reply(From, {error,{loc(Mac),epp,{redefine,M}}}),
+ case catch macro_expansion(Toks) of
+ Expansion when is_list(Expansion) ->
+ case dict:find({atom,M}, St#epp.macs) of
+ {ok, Defs} when is_list(Defs) ->
+ %% User defined macros: can be overloaded
+ case proplists:is_defined(none, Defs) of
+ true ->
+ epp_reply(From, {error,{loc(Mac),epp,{redefine,M}}}),
+ wait_req_scan(St);
+ false ->
+ scan_define_cont(From, St,
+ {atom, M},
+ {none, {none,Expansion}})
+ end;
+ {ok, _PreDef} ->
+ %% Predefined macros: cannot be overloaded
+ epp_reply(From, {error,{loc(Mac),epp,{redefine_predef,M}}}),
wait_req_scan(St);
- false ->
+ error ->
scan_define_cont(From, St,
{atom, M},
- {none, {none,macro_expansion(Toks)}})
+ {none, {none,Expansion}})
end;
- {ok, _PreDef} ->
- %% Predefined macros: cannot be overloaded
- epp_reply(From, {error,{loc(Mac),epp,{redefine_predef,M}}}),
- wait_req_scan(St);
- error ->
- scan_define_cont(From, St,
- {atom, M},
- {none, {none,macro_expansion(Toks)}})
+ {error,ErrL,What} ->
+ epp_reply(From, {error,{ErrL,epp,What}}),
+ wait_req_scan(St)
end;
scan_define([{'(',_Lp},{Type,_Lm,M}=Mac,{'(',_Lc}|Toks], Def, From, St)
when Type =:= atom; Type =:= var ->
@@ -534,6 +544,9 @@ scan_define([{'(',_Lp},{Type,_Lm,M}=Mac,{'(',_Lc}|Toks], Def, From, St)
error ->
scan_define_cont(From, St, {atom, M}, {Len, {As, Me}})
end;
+ {error,ErrL,What} ->
+ epp_reply(From, {error,{ErrL,epp,What}}),
+ wait_req_scan(St);
_ ->
epp_reply(From, {error,{loc(Def),epp,{bad,define}}}),
wait_req_scan(St)
@@ -753,7 +766,7 @@ scan_file([{'(',_Llp},{string,_Ls,Name},{',',_Lc},{integer,_Li,Ln},{')',_Lrp},
Ms = dict:store({atom,'FILE'}, {none,[{string,1,Name}]}, St#epp.macs),
Locf = loc(Tf),
NewLoc = new_location(Ln, St#epp.location, Locf),
- scan_toks(From, St#epp{name=Name,location=NewLoc,macs=Ms});
+ wait_req_scan(St#epp{name=Name,location=NewLoc,macs=Ms});
scan_file(_Toks, Tf, From, St) ->
epp_reply(From, {error,{loc(Tf),epp,{bad,file}}}),
wait_req_scan(St).
@@ -787,7 +800,7 @@ skip_toks(From, St, [I|Sis]) ->
leave_file(From, St#epp{location=Cl,istk=[I|Sis]});
{error,_E} ->
epp_reply(From, {error,{St#epp.location,epp,cannot_parse}}),
- leave_file(From, St) %This serious, just exit!
+ leave_file(wait_request(St), St) %This serious, just exit!
end;
skip_toks(From, St, []) ->
scan_toks(From, St).
@@ -814,7 +827,7 @@ macro_pars([{var,_L,Name}, {',',_}|Ts], Args) ->
macro_pars(Ts, [Name|Args]).
macro_expansion([{')',_Lp},{dot,_Ld}]) -> [];
-macro_expansion([{dot,_Ld}]) -> []; %Be nice, allow no right paren!
+macro_expansion([{dot,Ld}]) -> throw({error,Ld,missing_parenthesis});
macro_expansion([T|Ts]) ->
[T|macro_expansion(Ts)].
diff --git a/lib/stdlib/src/erl_expand_records.erl b/lib/stdlib/src/erl_expand_records.erl
index 6fa77f2c3b..a38b7639d8 100644
--- a/lib/stdlib/src/erl_expand_records.erl
+++ b/lib/stdlib/src/erl_expand_records.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2005-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%% Purpose : Expand records into tuples.
@@ -191,7 +191,6 @@ guard_test1(Test, St) ->
normalise_test(atom, 1) -> is_atom;
normalise_test(binary, 1) -> is_binary;
-normalise_test(constant, 1) -> is_constant;
normalise_test(float, 1) -> is_float;
normalise_test(function, 1) -> is_function;
normalise_test(integer, 1) -> is_integer;
@@ -346,9 +345,6 @@ expr({'fun',Line,{clauses,Cs0}}, St0) ->
{{'fun',Line,{clauses,Cs}},St1};
expr({call,Line,{atom,_,is_record},[A,{atom,_,Name}]}, St) ->
record_test(Line, A, Name, St);
-expr({'cond',Line,Cs0}, St0) ->
- {Cs,St1} = clauses(Cs0, St0),
- {{'cond',Line,Cs},St1};
expr({call,Line,{remote,_,{atom,_,erlang},{atom,_,is_record}},
[A,{atom,_,Name}]}, St) ->
record_test(Line, A, Name, St);
diff --git a/lib/stdlib/src/erl_internal.erl b/lib/stdlib/src/erl_internal.erl
index 16173d8210..2471c545dd 100644
--- a/lib/stdlib/src/erl_internal.erl
+++ b/lib/stdlib/src/erl_internal.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1998-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(erl_internal).
@@ -87,6 +87,8 @@ guard_bif(is_reference, 1) -> true;
guard_bif(is_tuple, 1) -> true;
guard_bif(is_record, 2) -> true;
guard_bif(is_record, 3) -> true;
+guard_bif(binary_part, 2) -> true;
+guard_bif(binary_part, 3) -> true;
guard_bif(Name, A) when is_atom(Name), is_integer(A) -> false.
%% Erlang type tests.
@@ -229,6 +231,8 @@ bif(apply, 2) -> true;
bif(apply, 3) -> true;
bif(atom_to_binary, 2) -> true;
bif(atom_to_list, 1) -> true;
+bif(binary_part, 2) -> true;
+bif(binary_part, 3) -> true;
bif(binary_to_atom, 2) -> true;
bif(binary_to_existing_atom, 2) -> true;
bif(binary_to_list, 1) -> true;
diff --git a/lib/stdlib/src/erl_lint.erl b/lib/stdlib/src/erl_lint.erl
index 91f7641af7..94ad560549 100644
--- a/lib/stdlib/src/erl_lint.erl
+++ b/lib/stdlib/src/erl_lint.erl
@@ -1021,11 +1021,8 @@ func_line_error(Type, Fs, St) ->
check_untyped_records(Forms, St0) ->
case is_warn_enabled(untyped_record, St0) of
true ->
- %% One possibility is to use the names of all records
- %% RecNames = dict:fetch_keys(St0#lint.records),
- %% but I think it's better to keep those that are used by the file
- Usage = St0#lint.usage,
- UsedRecNames = sets:to_list(Usage#usage.used_records),
+ %% Use the names of all records *defined* in the module (not used)
+ RecNames = dict:fetch_keys(St0#lint.records),
%% these are the records with field(s) containing type info
TRecNames = [Name ||
{attribute,_,type,{{record,Name},Fields,_}} <- Forms,
@@ -1038,7 +1035,7 @@ check_untyped_records(Forms, St0) ->
[] -> St; % exclude records with no fields
[_|_] -> add_warning(L, {untyped_record, N}, St)
end
- end, St0, UsedRecNames -- TRecNames);
+ end, St0, RecNames -- TRecNames);
false ->
St0
end.
@@ -1943,8 +1940,6 @@ expr({'case',Line,E,Cs}, Vt, St0) ->
{Evt,St1} = expr(E, Vt, St0),
{Cvt,St2} = icrt_clauses(Cs, {'case',Line}, vtupdate(Evt, Vt), St1),
{vtmerge(Evt, Cvt),St2};
-expr({'cond',Line,Cs}, Vt, St) ->
- cond_clauses(Cs,{'cond',Line}, Vt, St);
expr({'receive',Line,Cs}, Vt, St) ->
icrt_clauses(Cs, {'receive',Line}, Vt, St);
expr({'receive',Line,Cs,To,ToEs}, Vt, St0) ->
@@ -2720,45 +2715,6 @@ icrt_clause({clause,_Line,H,G,B}, Vt0, St0) ->
{Bvt,St3} = exprs(B, Vt2, St2),
{vtupdate(Bvt, Vt2),St3}.
-%% The tests of 'cond' clauses are normal expressions - not guards.
-%% Variables bound in a test is visible both in the corresponding body
-%% and in the tests and bodies of subsequent clauses: a 'cond' is
-%% *equivalent* to nested case-switches on boolean expressions.
-
-cond_clauses([C], In, Vt, St) ->
- last_cond_clause(C, In, Vt, St);
-cond_clauses([C | Cs], In, Vt, St) ->
- cond_clause(C, Cs, In, Vt, St).
-
-%% see expr/3 for 'case'
-cond_clause({clause,_L,[],[[E]],B}, Cs, In, Vt, St0) ->
- {Evt,St1} = expr(E, Vt, St0),
- {Cvt, St2} = cond_cases(B, Cs, In, vtupdate(Evt, Vt), St1),
- Mvt = vtmerge(Evt, Cvt),
- {Mvt,St2}.
-
-%% see icrt_clauses/4
-cond_cases(B, Cs, In, Vt, St0) ->
- %% note that Vt is used for both cases
- {Bvt,St1} = exprs(B, Vt, St0), % true case
- Vt1 = vtupdate(Bvt, Vt),
- {Cvt, St2} = cond_clauses(Cs, In, Vt, St1), % false case
- Vt2 = vtupdate(Cvt, Vt),
- %% and this also uses Vt
- icrt_export([Vt1,Vt2], Vt, In, St2).
-
-%% last case must call icrt_export/4 with only one vartable
-last_cond_clause({clause,_L,[],[[E]],B}, In, Vt, St0) ->
- {Evt,St1} = expr(E, Vt, St0),
- {Cvt, St2} = last_cond_case(B, In, vtupdate(Evt, Vt), St1),
- Mvt = vtmerge(Evt, Cvt),
- {Mvt,St2}.
-
-last_cond_case(B, In, Vt, St0) ->
- {Bvt,St1} = exprs(B, Vt, St0),
- Vt1 = vtupdate(Bvt, Vt),
- icrt_export([Vt1], Vt, In, St1).
-
icrt_export(Csvt, Vt, In, St) ->
Vt1 = vtmerge(Csvt),
All = ordsets:subtract(vintersection(Csvt), vtnames(Vt)),
diff --git a/lib/stdlib/src/erl_parse.yrl b/lib/stdlib/src/erl_parse.yrl
index fd5d905797..5287f55e59 100644
--- a/lib/stdlib/src/erl_parse.yrl
+++ b/lib/stdlib/src/erl_parse.yrl
@@ -1,20 +1,20 @@
%% -*- erlang -*-
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -30,14 +30,12 @@ expr_600 expr_700 expr_800 expr_900
expr_max
list tail
list_comprehension lc_expr lc_exprs
-binary_comprehension
+binary_comprehension
tuple
-atom1
%struct
record_expr record_tuple record_field record_fields
if_expr if_clause if_clauses case_expr cr_clause cr_clauses receive_expr
fun_expr fun_clause fun_clauses
-%% cond_expr cond_clause cond_clauses
try_expr try_catch try_clause try_clauses query_expr
function_call argument_list
exprs guard
@@ -56,8 +54,7 @@ char integer float atom string var
'(' ')' ',' '->' ':-' '{' '}' '[' ']' '|' '||' '<-' ';' ':' '#' '.'
'after' 'begin' 'case' 'try' 'catch' 'end' 'fun' 'if' 'of' 'receive' 'when'
-'andalso' 'orelse' 'query' 'spec'
-%% 'cond'
+'andalso' 'orelse' 'query'
'bnot' 'not'
'*' '/' 'div' 'rem' 'band' 'and'
'+' '-' 'bor' 'bxor' 'bsl' 'bsr' 'or' 'xor'
@@ -65,6 +62,7 @@ char integer float atom string var
'==' '/=' '=<' '<' '>=' '>' '=:=' '=/=' '<='
'<<' '>>'
'!' '=' '::'
+'spec' % helper
dot.
Expect 2.
@@ -79,19 +77,16 @@ attribute -> '-' atom attr_val : build_attribute('$2', '$3').
attribute -> '-' atom typed_attr_val : build_typed_attribute('$2','$3').
attribute -> '-' atom '(' typed_attr_val ')' : build_typed_attribute('$2','$4').
attribute -> '-' 'spec' type_spec : build_type_spec('$2', '$3').
-
-atom1 -> 'spec' : {atom, ?line('$1'), 'spec'}.
-atom1 -> atom : '$1'.
type_spec -> spec_fun type_sigs : {'$1', '$2'}.
type_spec -> '(' spec_fun type_sigs ')' : {'$2', '$3'}.
-spec_fun -> atom1 : '$1'.
-spec_fun -> atom1 ':' atom1 : {'$1', '$3'}.
+spec_fun -> atom : '$1'.
+spec_fun -> atom ':' atom : {'$1', '$3'}.
%% The following two are retained only for backwards compatibility;
%% they are not part of the EEP syntax and should be removed.
-spec_fun -> atom1 '/' integer '::' : {'$1', '$3'}.
-spec_fun -> atom1 ':' atom1 '/' integer '::' : {'$1', '$3', '$5'}.
+spec_fun -> atom '/' integer '::' : {'$1', '$3'}.
+spec_fun -> atom ':' atom '/' integer '::' : {'$1', '$3', '$5'}.
typed_attr_val -> expr ',' typed_record_fields : {typed_record, '$1', '$3'}.
typed_attr_val -> expr '::' top_type : {type_def, '$1', '$3'}.
@@ -109,14 +104,15 @@ type_sigs -> type_sig : ['$1'].
type_sigs -> type_sig ';' type_sigs : ['$1'|'$3'].
type_sig -> fun_type : '$1'.
-type_sig -> fun_type 'when' type_guards : {type, ?line('$1'), bounded_fun,
+type_sig -> fun_type 'when' type_guards : {type, ?line('$1'), bounded_fun,
['$1','$3']}.
type_guards -> type_guard : ['$1'].
type_guards -> type_guard ',' type_guards : ['$1'|'$3'].
-type_guard -> atom1 '(' top_types ')' : {type, ?line('$1'), constraint,
+type_guard -> atom '(' top_types ')' : {type, ?line('$1'), constraint,
['$1', '$3']}.
+type_guard -> var '::' top_type : build_def('$1', '$3').
top_types -> top_type : ['$1'].
top_types -> top_type ',' top_types : ['$1'|'$3'].
@@ -129,53 +125,53 @@ top_type_100 -> type '|' top_type_100 : lift_unions('$1','$3').
type -> '(' top_type ')' : {paren_type, ?line('$2'), ['$2']}.
type -> var : '$1'.
-type -> atom1 : '$1'.
-type -> atom1 '(' ')' : build_gen_type('$1').
-type -> atom1 '(' top_types ')' : {type, ?line('$1'),
+type -> atom : '$1'.
+type -> atom '(' ')' : build_gen_type('$1').
+type -> atom '(' top_types ')' : {type, ?line('$1'),
normalise('$1'), '$3'}.
-type -> atom1 ':' atom1 '(' ')' : {remote_type, ?line('$1'),
+type -> atom ':' atom '(' ')' : {remote_type, ?line('$1'),
['$1', '$3', []]}.
-type -> atom1 ':' atom1 '(' top_types ')' : {remote_type, ?line('$1'),
+type -> atom ':' atom '(' top_types ')' : {remote_type, ?line('$1'),
['$1', '$3', '$5']}.
type -> '[' ']' : {type, ?line('$1'), nil, []}.
type -> '[' top_type ']' : {type, ?line('$1'), list, ['$2']}.
-type -> '[' top_type ',' '.' '.' '.' ']' : {type, ?line('$1'),
+type -> '[' top_type ',' '.' '.' '.' ']' : {type, ?line('$1'),
nonempty_list, ['$2']}.
type -> '{' '}' : {type, ?line('$1'), tuple, []}.
type -> '{' top_types '}' : {type, ?line('$1'), tuple, '$2'}.
-type -> '#' atom1 '{' '}' : {type, ?line('$1'), record, ['$2']}.
-type -> '#' atom1 '{' field_types '}' : {type, ?line('$1'),
+type -> '#' atom '{' '}' : {type, ?line('$1'), record, ['$2']}.
+type -> '#' atom '{' field_types '}' : {type, ?line('$1'),
record, ['$2'|'$4']}.
type -> binary_type : '$1'.
type -> int_type : '$1'.
-type -> int_type '.' '.' int_type : {type, ?line('$1'), range,
+type -> int_type '.' '.' int_type : {type, ?line('$1'), range,
['$1', '$4']}.
type -> 'fun' '(' ')' : {type, ?line('$1'), 'fun', []}.
type -> 'fun' '(' fun_type_100 ')' : '$3'.
int_type -> integer : '$1'.
-int_type -> '-' integer : abstract(-normalise('$2'),
+int_type -> '-' integer : abstract(-normalise('$2'),
?line('$2')).
-fun_type_100 -> '(' '.' '.' '.' ')' '->' top_type
+fun_type_100 -> '(' '.' '.' '.' ')' '->' top_type
: {type, ?line('$1'), 'fun',
[{type, ?line('$1'), any}, '$7']}.
fun_type_100 -> fun_type : '$1'.
fun_type -> '(' ')' '->' top_type : {type, ?line('$1'), 'fun',
[{type, ?line('$1'), product, []}, '$4']}.
-fun_type -> '(' top_types ')' '->' top_type
+fun_type -> '(' top_types ')' '->' top_type
: {type, ?line('$1'), 'fun',
[{type, ?line('$1'), product, '$2'},'$5']}.
field_types -> field_type : ['$1'].
field_types -> field_type ',' field_types : ['$1'|'$3'].
-field_type -> atom1 '::' top_type : {type, ?line('$1'), field_type,
+field_type -> atom '::' top_type : {type, ?line('$1'), field_type,
['$1', '$3']}.
-binary_type -> '<<' '>>' : {type, ?line('$1'),binary,
- [abstract(0, ?line('$1')),
+binary_type -> '<<' '>>' : {type, ?line('$1'),binary,
+ [abstract(0, ?line('$1')),
abstract(0, ?line('$1'))]}.
binary_type -> '<<' bin_base_type '>>' : {type, ?line('$1'),binary,
['$2', abstract(0, ?line('$1'))]}.
@@ -197,7 +193,7 @@ function -> function_clauses : build_function('$1').
function_clauses -> function_clause : ['$1'].
function_clauses -> function_clause ';' function_clauses : ['$1'|'$3'].
-function_clause -> atom1 clause_args clause_guard clause_body :
+function_clause -> atom clause_args clause_guard clause_body :
{clause,?line('$1'),element(3, '$1'),'$2','$3','$4'}.
@@ -250,9 +246,9 @@ expr_800 -> expr_900 ':' expr_max :
{remote,?line('$2'),'$1','$3'}.
expr_800 -> expr_900 : '$1'.
-expr_900 -> '.' atom1 :
+expr_900 -> '.' atom :
{record_field,?line('$1'),{atom,?line('$1'),''},'$2'}.
-expr_900 -> expr_900 '.' atom1 :
+expr_900 -> expr_900 '.' atom :
{record_field,?line('$2'),'$1','$3'}.
expr_900 -> expr_max : '$1'.
@@ -270,7 +266,6 @@ expr_max -> if_expr : '$1'.
expr_max -> case_expr : '$1'.
expr_max -> receive_expr : '$1'.
expr_max -> fun_expr : '$1'.
-%%expr_max -> cond_expr : '$1'.
expr_max -> try_expr : '$1'.
expr_max -> query_expr : '$1'.
@@ -304,8 +299,8 @@ opt_bit_type_list -> '$empty' : default.
bit_type_list -> bit_type '-' bit_type_list : ['$1' | '$3'].
bit_type_list -> bit_type : ['$1'].
-bit_type -> atom1 : element(3,'$1').
-bit_type -> atom1 ':' integer : { element(3,'$1'), element(3,'$3') }.
+bit_type -> atom : element(3,'$1').
+bit_type -> atom ':' integer : { element(3,'$1'), element(3,'$3') }.
bit_size_expr -> expr_max : '$1'.
@@ -325,7 +320,7 @@ tuple -> '{' '}' : {tuple,?line('$1'),[]}.
tuple -> '{' exprs '}' : {tuple,?line('$1'),'$2'}.
-%%struct -> atom1 tuple :
+%%struct -> atom tuple :
%% {struct,?line('$1'),element(3, '$1'),element(3, '$2')}.
@@ -333,13 +328,17 @@ tuple -> '{' exprs '}' : {tuple,?line('$1'),'$2'}.
%% N.B. Field names are returned as the complete object, even if they are
%% always atoms for the moment, this might change in the future.
-record_expr -> '#' atom1 '.' atom1 :
+record_expr -> '#' atom '.' atom :
{record_index,?line('$1'),element(3, '$2'),'$4'}.
-record_expr -> '#' atom1 record_tuple :
+record_expr -> '#' atom record_tuple :
{record,?line('$1'),element(3, '$2'),'$3'}.
-record_expr -> expr_max '#' atom1 '.' atom1 :
+record_expr -> expr_max '#' atom '.' atom :
{record_field,?line('$2'),'$1',element(3, '$3'),'$5'}.
-record_expr -> expr_max '#' atom1 record_tuple :
+record_expr -> expr_max '#' atom record_tuple :
+ {record,?line('$2'),'$1',element(3, '$3'),'$4'}.
+record_expr -> record_expr '#' atom '.' atom :
+ {record_field,?line('$2'),'$1',element(3, '$3'),'$5'}.
+record_expr -> record_expr '#' atom record_tuple :
{record,?line('$2'),'$1',element(3, '$3'),'$4'}.
record_tuple -> '{' '}' : [].
@@ -349,7 +348,7 @@ record_fields -> record_field : ['$1'].
record_fields -> record_field ',' record_fields : ['$1' | '$3'].
record_field -> var '=' expr : {record_field,?line('$1'),'$1','$3'}.
-record_field -> atom1 '=' expr : {record_field,?line('$1'),'$1','$3'}.
+record_field -> atom '=' expr : {record_field,?line('$1'),'$1','$3'}.
%% N.B. This is called from expr_700.
@@ -383,9 +382,9 @@ receive_expr -> 'receive' cr_clauses 'after' expr clause_body 'end' :
{'receive',?line('$1'),'$2','$4','$5'}.
-fun_expr -> 'fun' atom1 '/' integer :
+fun_expr -> 'fun' atom '/' integer :
{'fun',?line('$1'),{function,element(3, '$2'),element(3, '$4')}}.
-fun_expr -> 'fun' atom1 ':' atom1 '/' integer :
+fun_expr -> 'fun' atom ':' atom '/' integer :
{'fun',?line('$1'),{function,element(3, '$2'),element(3, '$4'),element(3,'$6')}}.
fun_expr -> 'fun' fun_clauses 'end' :
build_fun(?line('$1'), '$2').
@@ -415,21 +414,13 @@ try_clauses -> try_clause ';' try_clauses : ['$1' | '$3'].
try_clause -> expr clause_guard clause_body :
L = ?line('$1'),
{clause,L,[{tuple,L,[{atom,L,throw},'$1',{var,L,'_'}]}],'$2','$3'}.
-try_clause -> atom1 ':' expr clause_guard clause_body :
+try_clause -> atom ':' expr clause_guard clause_body :
L = ?line('$1'),
{clause,L,[{tuple,L,['$1','$3',{var,L,'_'}]}],'$4','$5'}.
try_clause -> var ':' expr clause_guard clause_body :
L = ?line('$1'),
{clause,L,[{tuple,L,['$1','$3',{var,L,'_'}]}],'$4','$5'}.
-%%cond_expr -> 'cond' cond_clauses 'end' : {'cond',?line('$1'),'$2'}.
-
-%%cond_clauses -> cond_clause : ['$1'].
-%%cond_clauses -> cond_clause ';' cond_clauses : ['$1' | '$3'].
-
-%%cond_clause -> expr clause_body :
-%% {clause,?line('$1'),[],[['$1']],'$2'}.
-
query_expr -> 'query' list_comprehension 'end' :
{'query',?line('$1'),'$2'}.
@@ -447,7 +438,7 @@ guard -> exprs ';' guard : ['$1'|'$3'].
atomic -> char : '$1'.
atomic -> integer : '$1'.
atomic -> float : '$1'.
-atomic -> atom1 : '$1'.
+atomic -> atom : '$1'.
atomic -> strings : '$1'.
strings -> string : '$1'.
@@ -492,7 +483,7 @@ rule -> rule_clauses : build_rule('$1').
rule_clauses -> rule_clause : ['$1'].
rule_clauses -> rule_clause ';' rule_clauses : ['$1'|'$3'].
-rule_clause -> atom1 clause_args clause_guard rule_body :
+rule_clause -> atom clause_args clause_guard rule_body :
{clause,?line('$1'),element(3, '$1'),'$2','$3','$4'}.
rule_body -> ':-' lc_exprs: '$2'.
@@ -514,8 +505,8 @@ Erlang code.
%% mkop(Op, Arg) -> {op,Line,Op,Arg}.
%% mkop(Left, Op, Right) -> {op,Line,Op,Left,Right}.
--define(mkop2(L, OpPos, R),
- begin
+-define(mkop2(L, OpPos, R),
+ begin
{Op,Pos} = OpPos,
{op,Pos,Op,L,R}
end).
@@ -533,6 +524,8 @@ Erlang code.
%% These really suck and are only here until Calle gets multiple
%% entry points working.
+parse_form([{'-',L1},{atom,L2,spec}|Tokens]) ->
+ parse([{'-',L1},{'spec',L2}|Tokens]);
parse_form(Tokens) ->
parse(Tokens).
@@ -559,7 +552,7 @@ parse_term(Tokens) ->
-type attributes() :: 'export' | 'file' | 'import' | 'module'
| 'opaque' | 'record' | 'type'.
-build_typed_attribute({atom,La,record},
+build_typed_attribute({atom,La,record},
{typed_record, {atom,_Ln,RecordName}, RecTuple}) ->
{attribute,La,record,{RecordName,record_tuple(RecTuple)}};
build_typed_attribute({atom,La,Attr},
@@ -582,7 +575,7 @@ build_typed_attribute({atom,La,Attr},_) ->
build_type_spec({spec,La}, {SpecFun, TypeSpecs}) ->
NewSpecFun =
case SpecFun of
- {atom, _, Fun} ->
+ {atom, _, Fun} ->
{Fun, find_arity_from_specs(TypeSpecs)};
{{atom,_, Mod}, {atom,_, Fun}} ->
{Mod,Fun,find_arity_from_specs(TypeSpecs)};
@@ -605,6 +598,10 @@ find_arity_from_specs([Spec|_]) ->
{type, _, 'fun', [{type, _, product, Args},_]} = Fun,
length(Args).
+build_def(LHS, Types) ->
+ IsSubType = {atom, ?line(LHS), is_subtype},
+ {type, ?line(LHS), constraint, [IsSubType, [LHS, Types]]}.
+
lift_unions(T1, {type, _La, union, List}) ->
{type, ?line(T1), union, [T1|List]};
lift_unions(T1, T2) ->
@@ -716,7 +713,7 @@ attribute_farity(Other) -> Other.
attribute_farity_list(Args) ->
[attribute_farity(A) || A <- Args].
-
+
-spec error_bad_decl(integer(), attributes()) -> no_return().
error_bad_decl(L, S) ->
@@ -739,17 +736,33 @@ record_fields([{match,_Lm,{atom,La,A},Expr}|Fields]) ->
[{record_field,La,{atom,La,A},Expr}|record_fields(Fields)];
record_fields([{typed,Expr,TypeInfo}|Fields]) ->
[Field] = record_fields([Expr]),
- TypeInfo1 =
+ TypeInfo1 =
case Expr of
{match, _, _, _} -> TypeInfo; %% If we have an initializer.
- {atom, La, _} ->
- lift_unions(abstract(undefined, La), TypeInfo)
- end,
+ {atom, La, _} ->
+ case has_undefined(TypeInfo) of
+ false ->
+ lift_unions(abstract(undefined, La), TypeInfo);
+ true ->
+ TypeInfo
+ end
+ end,
[{typed_record_field,Field,TypeInfo1}|record_fields(Fields)];
record_fields([Other|_Fields]) ->
ret_err(?line(Other), "bad record field");
record_fields([]) -> [].
+has_undefined({atom,_,undefined}) ->
+ true;
+has_undefined({ann_type,_,[_,T]}) ->
+ has_undefined(T);
+has_undefined({paren_type,_,[T]}) ->
+ has_undefined(T);
+has_undefined({type,_,union,Ts}) ->
+ lists:any(fun has_undefined/1, Ts);
+has_undefined(_) ->
+ false.
+
term(Expr) ->
try normalise(Expr)
catch _:_R -> ret_err(?line(Expr), "bad attribute")
@@ -989,7 +1002,7 @@ inop_prec('#') -> {800,700,800};
inop_prec(':') -> {900,800,900};
inop_prec('.') -> {900,900,1000}.
--type pre_op() :: 'catch' | '+' | '-' | 'bnot' | '#'.
+-type pre_op() :: 'catch' | '+' | '-' | 'bnot' | 'not' | '#'.
-spec preop_prec(pre_op()) -> {0 | 600 | 700, 100 | 700 | 800}.
diff --git a/lib/stdlib/src/erl_pp.erl b/lib/stdlib/src/erl_pp.erl
index b1b5bad294..0859bf0466 100644
--- a/lib/stdlib/src/erl_pp.erl
+++ b/lib/stdlib/src/erl_pp.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(erl_pp).
@@ -161,15 +161,16 @@ ltype({type,_Line,binary,[I1,I2]}) ->
binary_type(I1, I2); % except binary()
ltype({type,_Line,'fun',[]}) ->
leaf("fun()");
-ltype({type,_Line,'fun',_}=FunType) ->
+ltype({type,_,'fun',[{type,_,any},_]}=FunType) ->
+ [fun_type(['fun',$(], FunType),$)];
+ltype({type,_Line,'fun',[{type,_,product,_},_]}=FunType) ->
[fun_type(['fun',$(], FunType),$)];
ltype({type,Line,T,Ts}) ->
simple_type({atom,Line,T}, Ts);
ltype({remote_type,Line,[M,F,Ts]}) ->
simple_type({remote,Line,M,F}, Ts);
ltype({atom,_,T}) ->
- %% Follow the convention to always quote atoms (in types):
- leaf([$',atom_to_list(T),$']);
+ leaf(write(T));
ltype(E) ->
lexpr(E, 0, none).
diff --git a/lib/stdlib/src/erl_scan.erl b/lib/stdlib/src/erl_scan.erl
index 52ec81a78b..1013d54bdc 100644
--- a/lib/stdlib/src/erl_scan.erl
+++ b/lib/stdlib/src/erl_scan.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -48,7 +48,7 @@
-module(erl_scan).
-%%% External exports
+%%% External exports
-export([string/1,string/2,string/3,tokens/3,tokens/4,
format_error/1,reserved_word/1,
@@ -98,41 +98,41 @@
-spec format_error(Error :: term()) -> string().
format_error({string,Quote,Head}) ->
lists:flatten(["unterminated " ++ string_thing(Quote) ++
- " starting with " ++
+ " starting with " ++
io_lib:write_unicode_string(Head, Quote)]);
-format_error({illegal,Type}) ->
+format_error({illegal,Type}) ->
lists:flatten(io_lib:fwrite("illegal ~w", [Type]));
format_error(char) -> "unterminated character";
-format_error({base,Base}) ->
+format_error({base,Base}) ->
lists:flatten(io_lib:fwrite("illegal base '~w'", [Base]));
-format_error(Other) ->
+format_error(Other) ->
lists:flatten(io_lib:write(Other)).
--type string_return() :: {'ok', tokens(), location()}
+-type string_return() :: {'ok', tokens(), location()}
| {'error', error_info(), location()}.
-spec string(String :: string()) -> string_return().
string(String) ->
string(String, 1, []).
--spec string(String :: string(), StartLocation :: location()) ->
+-spec string(String :: string(), StartLocation :: location()) ->
string_return().
string(String, StartLocation) ->
string(String, StartLocation, []).
--spec string(String :: string(), StartLocation :: location(),
+-spec string(String :: string(), StartLocation :: location(),
Options :: options()) -> string_return().
string(String, Line, Options) when ?STRING(String), ?ALINE(Line) ->
string1(String, options(Options), Line, no_col, []);
string(String, {Line,Column}, Options) when ?STRING(String),
- ?ALINE(Line),
+ ?ALINE(Line),
?COLUMN(Column) ->
string1(String, options(Options), Line, Column, []).
-type char_spec() :: string() | 'eof'.
-type cont_fun() :: fun((char_spec(), #erl_scan{}, line(), column(),
tokens(), any()) -> any()).
--opaque return_cont() :: {string(), column(), tokens(), line(),
+-opaque return_cont() :: {string(), column(), tokens(), line(),
#erl_scan{}, cont_fun(), any()}.
-type cont() :: return_cont() | [].
-type tokens_result() :: {'ok', tokens(), location()}
@@ -141,13 +141,13 @@ string(String, {Line,Column}, Options) when ?STRING(String),
-type tokens_return() :: {'done', tokens_result(), char_spec()}
| {'more', return_cont()}.
--spec tokens(Cont :: cont(), CharSpec :: char_spec(),
+-spec tokens(Cont :: cont(), CharSpec :: char_spec(),
StartLocation :: location()) -> tokens_return().
tokens(Cont, CharSpec, StartLocation) ->
tokens(Cont, CharSpec, StartLocation, []).
--spec tokens(Cont :: cont(), CharSpec :: char_spec(),
- StartLocation :: location(), Options :: options()) ->
+-spec tokens(Cont :: cont(), CharSpec :: char_spec(),
+ StartLocation :: location(), Options :: options()) ->
tokens_return().
tokens([], CharSpec, Line, Options) when ?ALINE(Line) ->
tokens1(CharSpec, options(Options), Line, no_col, [], fun scan/6, []);
@@ -157,15 +157,15 @@ tokens([], CharSpec, {Line,Column}, Options) when ?ALINE(Line),
tokens({Cs,Col,Toks,Line,St,Any,Fun}, CharSpec, _Loc, _Opts) ->
tokens1(Cs++CharSpec, St, Line, Col, Toks, Fun, Any).
--type attribute_item() :: 'column' | 'length' | 'line'
+-type attribute_item() :: 'column' | 'length' | 'line'
| 'location' | 'text'.
-type info_location() :: location() | term().
--type attribute_info() :: {'column', column()}| {'length', pos_integer()}
- | {'line', info_line()}
+-type attribute_info() :: {'column', column()}| {'length', pos_integer()}
+ | {'line', info_line()}
| {'location', info_location()}
| {'text', string()}.
-type token_item() :: 'category' | 'symbol' | attribute_item().
--type token_info() :: {'category', category()} | {'symbol', symbol()}
+-type token_info() :: {'category', category()} | {'symbol', symbol()}
| attribute_info().
-spec token_info(token()) -> [token_info()].
@@ -214,7 +214,7 @@ attributes_info(Attrs, [A|As]) when is_atom(A) ->
AttributeInfo when is_tuple(AttributeInfo) ->
[AttributeInfo|attributes_info(Attrs, As)]
end;
-attributes_info({Line,Column}, column=Item) when ?ALINE(Line),
+attributes_info({Line,Column}, column=Item) when ?ALINE(Line),
?COLUMN(Column) ->
{Item,Column};
attributes_info(Line, column) when ?ALINE(Line) ->
@@ -230,12 +230,12 @@ attributes_info(Attrs, length=Item) ->
end;
attributes_info(Line, line=Item) when ?ALINE(Line) ->
{Item,Line};
-attributes_info({Line,Column}, line=Item) when ?ALINE(Line),
+attributes_info({Line,Column}, line=Item) when ?ALINE(Line),
?COLUMN(Column) ->
{Item,Line};
attributes_info(Attrs, line=Item) ->
attr_info(Attrs, Item);
-attributes_info({Line,Column}=Location, location=Item) when ?ALINE(Line),
+attributes_info({Line,Column}=Location, location=Item) when ?ALINE(Line),
?COLUMN(Column) ->
{Item,Location};
attributes_info(Line, location=Item) when ?ALINE(Line) ->
@@ -289,11 +289,11 @@ string_thing(_) -> "string".
options(Opts0) when is_list(Opts0) ->
Opts = lists:foldr(fun expand_opt/2, [], Opts0),
- [RW_fun] =
+ [RW_fun] =
case opts(Opts, [reserved_word_fun], []) of
badarg ->
erlang:error(badarg, [Opts0]);
- R ->
+ R ->
R
end,
Comment = proplists:get_bool(return_comments, Opts),
@@ -336,7 +336,7 @@ attr_info(Attrs, Item) ->
case catch lists:keysearch(Item, 1, Attrs) of
{value,{Item,Value}} ->
{Item,Value};
- false ->
+ false ->
undefined;
_ ->
erlang:error(badarg, [Attrs, Item])
@@ -591,12 +591,12 @@ scan_atom(Cs0, St, Line, Col, Toks, Ncs0) ->
case catch list_to_atom(Wcs) of
Name when is_atom(Name) ->
case (St#erl_scan.resword_fun)(Name) of
- true ->
+ true ->
tok2(Cs, St, Line, Col, Toks, Wcs, Name);
- false ->
+ false ->
tok3(Cs, St, Line, Col, Toks, atom, Wcs, Name)
end;
- _Error ->
+ _Error ->
Ncol = incr_column(Col, length(Wcs)),
scan_error({illegal,atom}, Line, Col, Line, Ncol, Cs)
end
@@ -610,7 +610,7 @@ scan_variable(Cs0, St, Line, Col, Toks, Ncs0) ->
case catch list_to_atom(Wcs) of
Name when is_atom(Name) ->
tok3(Cs, St, Line, Col, Toks, var, Wcs, Name);
- _Error ->
+ _Error ->
Ncol = incr_column(Col, length(Wcs)),
scan_error({illegal,var}, Line, Col, Line, Ncol, Cs)
end
@@ -690,7 +690,7 @@ scan_nl_spcs([]=Cs, _St, Line, Col, Toks, N) ->
{more,{Cs,Col,Toks,Line,N,fun scan_nl_spcs/6}};
scan_nl_spcs(Cs, St, Line, Col, Toks, N) ->
newline_end(Cs, St, Line, Col, Toks, N, nl_spcs(N)).
-
+
scan_nl_tabs([$\t|Cs], St, Line, Col, Toks, N) when N < 11 ->
scan_nl_tabs(Cs, St, Line, Col, Toks, N+1);
scan_nl_tabs([]=Cs, _St, Line, Col, Toks, N) ->
@@ -701,7 +701,7 @@ scan_nl_tabs(Cs, St, Line, Col, Toks, N) ->
%% Note: returning {more,Cont} is meaningless here; one could just as
%% well return several tokens. But since tokens() scans up to a full
%% stop anyway, nothing is gained by not collecting all white spaces.
-scan_nl_white_space([$\n|Cs], #erl_scan{text = false}=St, Line, no_col=Col,
+scan_nl_white_space([$\n|Cs], #erl_scan{text = false}=St, Line, no_col=Col,
Toks0, Ncs) ->
Toks = [{white_space,Line,lists:reverse(Ncs)}|Toks0],
scan_newline(Cs, St, Line+1, Col, Toks);
@@ -714,7 +714,7 @@ scan_nl_white_space([C|Cs], St, Line, Col, Toks, Ncs) when ?WHITE_SPACE(C) ->
scan_nl_white_space(Cs, St, Line, Col, Toks, [C|Ncs]);
scan_nl_white_space([]=Cs, _St, Line, Col, Toks, Ncs) ->
{more,{Cs,Col,Toks,Line,Ncs,fun scan_nl_white_space/6}};
-scan_nl_white_space(Cs, #erl_scan{text = false}=St, Line, no_col=Col,
+scan_nl_white_space(Cs, #erl_scan{text = false}=St, Line, no_col=Col,
Toks, Ncs) ->
scan1(Cs, St, Line+1, Col, [{white_space,Line,lists:reverse(Ncs)}|Toks]);
scan_nl_white_space(Cs, St, Line, Col, Toks, Ncs0) ->
@@ -723,7 +723,7 @@ scan_nl_white_space(Cs, St, Line, Col, Toks, Ncs0) ->
Token = {white_space,Attrs,Ncs},
scan1(Cs, St, Line+1, new_column(Col, length(Ncs)), [Token|Toks]).
-newline_end(Cs, #erl_scan{text = false}=St, Line, no_col=Col,
+newline_end(Cs, #erl_scan{text = false}=St, Line, no_col=Col,
Toks, _N, Ncs) ->
scan1(Cs, St, Line+1, Col, [{white_space,Line,Ncs}|Toks]);
newline_end(Cs, St, Line, Col, Toks, N, Ncs) ->
@@ -789,7 +789,7 @@ scan_char([$\\|Cs]=Cs0, St, Line, Col, Toks) ->
Ntoks = [{char,Attrs,Val}|Toks],
scan1(Ncs, St, Line, Ncol, Ntoks)
end;
-scan_char([$\n=C|Cs], St, Line, Col, Toks) ->
+scan_char([$\n=C|Cs], St, Line, Col, Toks) ->
Attrs = attributes(Line, Col, St, [$$,C]),
scan1(Cs, St, Line+1, new_column(Col, 1), [{char,Attrs,C}|Toks]);
scan_char([C|Cs], St, Line, Col, Toks) when ?CHAR(C) ->
@@ -896,7 +896,7 @@ scan_string_no_col([Q|Cs], Line, Col, Q, Wcs, Uni) ->
{Cs,Line,Col,_DontCare=[],lists:reverse(Wcs),Uni};
scan_string_no_col([$\n=C|Cs], Line, Col, Q, Wcs, Uni) ->
scan_string_no_col(Cs, Line+1, Col, Q, [C|Wcs], Uni);
-scan_string_no_col([C|Cs], Line, Col, Q, Wcs, Uni) when C =/= $\\,
+scan_string_no_col([C|Cs], Line, Col, Q, Wcs, Uni) when C =/= $\\,
?CHAR(C), ?UNI255(C) ->
scan_string_no_col(Cs, Line, Col, Q, [C|Wcs], Uni);
scan_string_no_col(Cs, Line, Col, Q, Wcs, Uni) ->
@@ -909,7 +909,7 @@ scan_string_col([Q|Cs], Line, Col, Q, Wcs0, Uni) ->
{Cs,Line,Col+1,Str,Wcs,Uni};
scan_string_col([$\n=C|Cs], Line, _xCol, Q, Wcs, Uni) ->
scan_string_col(Cs, Line+1, 1, Q, [C|Wcs], Uni);
-scan_string_col([C|Cs], Line, Col, Q, Wcs, Uni) when C =/= $\\,
+scan_string_col([C|Cs], Line, Col, Q, Wcs, Uni) when C =/= $\\,
?CHAR(C), ?UNI255(C) ->
scan_string_col(Cs, Line, Col+1, Q, [C|Wcs], Uni);
scan_string_col(Cs, Line, Col, Q, Wcs, Uni) ->
@@ -970,8 +970,8 @@ scan_string1(eof, Line, Col, _Q, _Str, Wcs, _Uni) ->
{error,Line,Col,lists:reverse(Wcs),eof}.
-define(OCT(C), C >= $0, C =< $7).
--define(HEX(C), C >= $0 andalso C =< $9 orelse
- C >= $A andalso C =< $F orelse
+-define(HEX(C), C >= $0 andalso C =< $9 orelse
+ C >= $A andalso C =< $F orelse
C >= $a andalso C =< $f).
%% \<1-3> octal digits
@@ -1086,7 +1086,7 @@ scan_number(Cs, St, Line, Col, Toks, Ncs0) ->
Ncol = incr_column(Col, length(Ncs)),
scan_error({illegal,integer}, Line, Col, Line, Ncol, Cs)
end.
-
+
scan_based_int([C|Cs], St, Line, Col, Toks, {B,Ncs,Bcs})
when ?DIGIT(C), C < $0+B ->
scan_based_int(Cs, St, Line, Col, Toks, {B,[C|Ncs],Bcs});
@@ -1262,7 +1262,7 @@ nl_tabs(8) -> "\n\t\t\t\t\t\t\t";
nl_tabs(9) -> "\n\t\t\t\t\t\t\t\t";
nl_tabs(10) -> "\n\t\t\t\t\t\t\t\t\t";
nl_tabs(11) -> "\n\t\t\t\t\t\t\t\t\t\t".
-
+
tabs(1) -> "\t";
tabs(2) -> "\t\t";
tabs(3) -> "\t\t\t";
@@ -1303,5 +1303,4 @@ reserved_word('bsl') -> true;
reserved_word('bsr') -> true;
reserved_word('or') -> true;
reserved_word('xor') -> true;
-reserved_word('spec') -> true;
reserved_word(_) -> false.
diff --git a/lib/stdlib/src/escript.erl b/lib/stdlib/src/escript.erl
index 5958a58d7c..d26443f277 100644
--- a/lib/stdlib/src/escript.erl
+++ b/lib/stdlib/src/escript.erl
@@ -19,11 +19,16 @@
-module(escript).
%% Useful functions that can be called from scripts.
--export([script_name/0, foldl/3]).
+-export([script_name/0, create/2, extract/2]).
%% Internal API.
-export([start/0, start/1]).
+-include_lib("kernel/include/file.hrl").
+
+-define(SHEBANG, "/usr/bin/env escript").
+-define(COMMENT, "This is an -*- erlang -*- file").
+
-record(state, {file,
module,
forms_or_bin,
@@ -32,89 +37,223 @@
mode,
exports_main,
has_records}).
-
+-record(sections, {type,
+ shebang,
+ comment,
+ emu_args,
+ body}).
+-record(extract_options, {compile_source}).
+
+-type shebang() :: string().
+-type comment() :: string().
+-type emu_args() :: string().
+-type escript_filename() :: string().
+-type filename() :: string().
+-type zip_file() ::
+ filename()
+ | {filename(), binary()}
+ | {filename(), binary(), #file_info{}}.
+-type zip_create_option() :: term().
+-type section() ::
+ shebang
+ | {shebang, shebang()}
+ | comment
+ | {comment, comment()}
+ | {emu_args, emu_args()}
+ | {source, filename() | binary()}
+ | {beam, filename() | binary()}
+ | {archive, filename() | binary()}
+ | {archive, [zip_file()], [zip_create_option()]}.
+
+%% Create a complete escript file with both header and body
+-spec create(escript_filename() | binary, [section()]) ->
+ ok | {ok, binary()} | {error, term()}.
+
+create(File, Options) when is_list(Options) ->
+ try
+ S = prepare(Options, #sections{}),
+ BinList =
+ [Section || Section <- [S#sections.shebang,
+ S#sections.comment,
+ S#sections.emu_args,
+ S#sections.body],
+ Section =/= undefined],
+ case File of
+ binary ->
+ {ok, list_to_binary(BinList)};
+ _ ->
+ case file:write_file(File, BinList) of
+ ok ->
+ ok;
+ {error, Reason} ->
+ {error, {Reason, File}}
+ end
+ end
+ catch
+ throw:PrepareReason ->
+ {error, PrepareReason}
+ end.
+
+prepare([H | T], S) ->
+ case H of
+ {shebang, undefined} ->
+ prepare(T, S);
+ shebang ->
+ prepare(T, S#sections{shebang = "#!" ++ ?SHEBANG ++ "\n"});
+ {shebang, default} ->
+ prepare(T, S#sections{shebang = "#!" ++ ?SHEBANG ++ "\n"});
+ {shebang, Shebang} when is_list(Shebang) ->
+ prepare(T, S#sections{shebang = "#!" ++ Shebang ++ "\n"});
+ {comment, undefined} ->
+ prepare(T, S);
+ comment ->
+ prepare(T, S#sections{comment = "%% " ++ ?COMMENT ++ "\n"});
+ {comment, default} ->
+ prepare(T, S#sections{comment = "%% " ++ ?COMMENT ++ "\n"});
+ {comment, Comment} when is_list(Comment) ->
+ prepare(T, S#sections{comment = "%% " ++ Comment ++ "\n"});
+ {emu_args, undefined} ->
+ prepare(T, S);
+ {emu_args, Args} when is_list(Args) ->
+ prepare(T, S#sections{emu_args = "%%!" ++ Args ++ "\n"});
+ {Type, File} when is_list(File) ->
+ case file:read_file(File) of
+ {ok, Bin} ->
+ prepare(T, S#sections{type = Type, body = Bin});
+ {error, Reason} ->
+ throw({Reason, H})
+ end;
+ {Type, Bin} when is_binary(Bin) ->
+ prepare(T, S#sections{type = Type, body = Bin});
+ {archive = Type, ZipFiles, ZipOptions}
+ when is_list(ZipFiles), is_list(ZipOptions) ->
+ File = "dummy.zip",
+ case zip:create(File, ZipFiles, ZipOptions ++ [memory]) of
+ {ok, {File, ZipBin}} ->
+ prepare(T, S#sections{type = Type, body = ZipBin});
+ {error, Reason} ->
+ throw({Reason, H})
+ end;
+ _ ->
+ throw({badarg, H})
+ end;
+prepare([], #sections{body = undefined}) ->
+ throw(missing_body);
+prepare([], #sections{type = Type} = S)
+ when Type =:= source; Type =:= beam; Type =:= archive ->
+ S;
+prepare([], #sections{type = Type}) ->
+ throw({illegal_type, Type});
+prepare(BadOptions, _) ->
+ throw({badarg, BadOptions}).
+
+-type section_name() :: shebang | comment | emu_args | body .
+-type extract_option() :: compile_source | {section, [section_name()]}.
+-spec extract(filename(), [extract_option()]) -> {ok, [section()]} | {error, term()}.
+extract(File, Options) when is_list(File), is_list(Options) ->
+ try
+ EO = parse_extract_options(Options,
+ #extract_options{compile_source = false}),
+ {HeaderSz, NextLineNo, Fd, Sections} =
+ parse_header(File, not EO#extract_options.compile_source),
+ Type = Sections#sections.type,
+ case {Type, EO#extract_options.compile_source} of
+ {source, true} ->
+ Bin = compile_source(Type, File, Fd, NextLineNo, HeaderSz);
+ {_, _} ->
+ ok = file:close(Fd),
+ case file:read_file(File) of
+ {ok, <<_Header:HeaderSz/binary, Bin/binary>>} ->
+ ok;
+ {error, ReadReason} ->
+ Bin = get_rid_of_compiler_warning,
+ throw(ReadReason)
+ end
+ end,
+ return_sections(Sections, Bin)
+ catch
+ throw:Reason ->
+ {error, Reason}
+ end.
+
+parse_extract_options([H | T], EO) ->
+ case H of
+ compile_source ->
+ EO2 = EO#extract_options{compile_source = true},
+ parse_extract_options(T, EO2);
+ _ ->
+ throw({badarg, H})
+ end;
+parse_extract_options([], EO) ->
+ EO.
+
+compile_source(Type, File, Fd, NextLineNo, HeaderSz) ->
+ {text, _Module, Forms, _HasRecs, _Mode} =
+ do_parse_file(Type, File, Fd, NextLineNo, HeaderSz, false),
+ ok = file:close(Fd),
+ case compile:forms(Forms, [return_errors, debug_info]) of
+ {ok, _, BeamBin} ->
+ BeamBin;
+ {error, Errors, Warnings} ->
+ throw({compile, [{errors, format_errors(Errors)},
+ {warnings, format_errors(Warnings)}]})
+ end.
+
+format_errors(CompileErrors) ->
+ [lists:flatten([File, ":", integer_to_list(LineNo), ": ",
+ Mod:format_error(Error)]) ||
+ {File, FileErrors} <- CompileErrors,
+ {LineNo, Mod, Error} <- FileErrors].
+
+return_sections(S, Bin) ->
+ {ok, [normalize_section(shebang, S#sections.shebang),
+ normalize_section(comment, S#sections.comment),
+ normalize_section(emu_args, S#sections.emu_args),
+ normalize_section(S#sections.type, Bin)]}.
+
+normalize_section(Name, undefined) ->
+ {Name, undefined};
+normalize_section(shebang, "#!" ++ Chars) ->
+ Chopped = string:strip(Chars, right, $\n),
+ Stripped = string:strip(Chopped, both),
+ if
+ Stripped =:= ?SHEBANG ->
+ {shebang, default};
+ true ->
+ {shebang, Stripped}
+ end;
+normalize_section(comment, Chars) ->
+ Chopped = string:strip(Chars, right, $\n),
+ Stripped = string:strip(string:strip(Chopped, left, $%), both),
+ if
+ Stripped =:= ?COMMENT ->
+ {comment, default};
+ true ->
+ {comment, Stripped}
+ end;
+normalize_section(emu_args, "%%!" ++ Chars) ->
+ Chopped = string:strip(Chars, right, $\n),
+ Stripped = string:strip(Chopped, both),
+ {emu_args, Stripped};
+normalize_section(Name, Chars) ->
+ {Name, Chars}.
+
+-spec script_name() -> string().
script_name() ->
[ScriptName|_] = init:get_plain_arguments(),
ScriptName.
-%% Apply Fun(Name, GetInfo, GetBin, Acc) for each file in the escript.
-%%
-%% Fun/2 must return a new accumulator which is passed to the next call.
-%% The function returns the final value of the accumulator. Acc0 is
-%% returned if the escript contain an empty archive.
-%%
-%% GetInfo/0 is a fun that returns a #file_info{} record for the file.
-%% GetBin/0 is a fun that returns a the contents of the file as a binary.
-%%
-%% An escript may contain erlang code, beam code or an archive:
-%%
-%% archive - the Fun/2 will be applied for each file in the archive
-%% beam - the Fun/2 will be applied once and GetInfo/0 returns the file
-%% info for the (entire) escript file
-%% erl - the Fun/2 will be applied once, GetInfo/0 returns the file
-%% info for the (entire) escript file and the GetBin returns
-%% the compiled beam code
-
-%%-spec foldl(fun((string(),
-%% fun(() -> #file_info()),
-%% fun(() -> binary() -> term()),
-%% term()) -> term()),
-%% term(),
-%% string()).
-foldl(Fun, Acc0, File) when is_function(Fun, 4) ->
- case parse_file(File, false) of
- {text, _, Forms, _HasRecs, _Mode} when is_list(Forms) ->
- GetInfo = fun() -> file:read_file_info(File) end,
- GetBin =
- fun() ->
- case compile:forms(Forms, [return_errors, debug_info]) of
- {ok, _, BeamBin} ->
- BeamBin;
- {error, _Errors, _Warnings} ->
- fatal("There were compilation errors.")
- end
- end,
- try
- {ok, Fun(".", GetInfo, GetBin, Acc0)}
- catch
- throw:Reason ->
- {error, Reason}
- end;
- {beam, _, BeamBin, _HasRecs, _Mode} when is_binary(BeamBin) ->
- GetInfo = fun() -> file:read_file_info(File) end,
- GetBin = fun() -> BeamBin end,
- try
- {ok, Fun(".", GetInfo, GetBin, Acc0)}
- catch
- throw:Reason ->
- {error, Reason}
- end;
- {archive, _, ArchiveBin, _HasRecs, _Mode} when is_binary(ArchiveBin) ->
- ZipFun =
- fun({Name, GetInfo, GetBin}, A) ->
- A2 = Fun(Name, GetInfo, GetBin, A),
- {true, false, A2}
- end,
- case prim_zip:open(ZipFun, Acc0, {File, ArchiveBin}) of
- {ok, PrimZip, Res} ->
- ok = prim_zip:close(PrimZip),
- {ok, Res};
- {error, bad_eocd} ->
- {error, "Not an archive file"};
- {error, Reason} ->
- {error, Reason}
- end
- end.
-
%%
%% Internal API.
%%
+-spec start() -> no_return().
start() ->
start([]).
+-spec start([string()]) -> no_return().
start(EscriptOptions) ->
- try
+ try
%% Commands run using -run or -s are run in a process
%% trap_exit set to false. Because this behaviour is
%% surprising for users of escript, make sure to reset
@@ -143,11 +282,11 @@ parse_and_run(File, Args, Options) ->
parse_file(File, CheckOnly),
Mode2 =
case lists:member("d", Options) of
- true ->
+ true ->
debug;
false ->
case lists:member("c", Options) of
- true ->
+ true ->
compile;
false ->
case lists:member("i", Options) of
@@ -177,7 +316,7 @@ parse_and_run(File, Args, Options) ->
_Other ->
fatal("There were compilation errors.")
end
- end;
+ end;
is_binary(FormsOrBin) ->
case Source of
archive ->
@@ -190,11 +329,13 @@ parse_and_run(File, Args, Options) ->
true ->
my_halt(0);
false ->
- Text = lists:concat(["Function ", Module, ":main/1 is not exported"]),
+ Text = lists:concat(["Function ", Module,
+ ":main/1 is not exported"]),
fatal(Text)
end;
_ ->
- Text = lists:concat(["Cannot load module ", Module, " from archive"]),
+ Text = lists:concat(["Cannot load module ", Module,
+ " from archive"]),
fatal(Text)
end;
ok ->
@@ -212,7 +353,7 @@ parse_and_run(File, Args, Options) ->
run ->
{module, Module} = code:load_binary(Module, File, FormsOrBin),
run(Module, Args);
- debug ->
+ debug ->
[Base | Rest] = lists:reverse(filename:split(File)),
Base2 = filename:basename(Base, code:objfile_extension()),
Rest2 =
@@ -222,8 +363,8 @@ parse_and_run(File, Args, Options) ->
end,
SrcFile = filename:join(lists:reverse([Base2 ++ ".erl" | Rest2])),
debug(Module, {Module, SrcFile, File, FormsOrBin}, Args)
- end
- end
+ end
+ end
end.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -231,25 +372,19 @@ parse_and_run(File, Args, Options) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
parse_file(File, CheckOnly) ->
- S = #state{file = File,
- n_errors = 0,
- mode = interpret,
- exports_main = false,
- has_records = false},
- {ok, Fd} =
- case file:open(File, [read]) of
- {ok, Fd0} ->
- {ok, Fd0};
- {error, R} ->
- fatal(lists:concat([file:format_error(R), ": '", File, "'"]))
- end,
- {HeaderSz, StartLine, ScriptType} = skip_header(Fd, 1),
+ {HeaderSz, NextLineNo, Fd, Sections} =
+ parse_header(File, false),
+ do_parse_file(Sections#sections.type,
+ File, Fd, NextLineNo, HeaderSz, CheckOnly).
+
+do_parse_file(Type, File, Fd, NextLineNo, HeaderSz, CheckOnly) ->
+ S = initial_state(File),
#state{mode = Mode,
source = Source,
module = Module,
forms_or_bin = FormsOrBin,
has_records = HasRecs} =
- case ScriptType of
+ case Type of
archive ->
%% Archive file
ok = file:close(Fd),
@@ -260,51 +395,93 @@ parse_file(File, CheckOnly) ->
parse_beam(S, File, HeaderSz, CheckOnly);
source ->
%% Source code
- parse_source(S, File, Fd, StartLine, HeaderSz, CheckOnly)
+ parse_source(S, File, Fd, NextLineNo, HeaderSz, CheckOnly)
end,
{Source, Module, FormsOrBin, HasRecs, Mode}.
+initial_state(File) ->
+ #state{file = File,
+ n_errors = 0,
+ mode = interpret,
+ exports_main = false,
+ has_records = false}.
+
%% Skip header and make a heuristic guess about the script type
-skip_header(P, LineNo) ->
+parse_header(File, KeepFirst) ->
+ LineNo = 1,
+ {ok, Fd} =
+ case file:open(File, [read]) of
+ {ok, Fd0} ->
+ {ok, Fd0};
+ {error, R} ->
+ fatal(lists:concat([file:format_error(R), ": '", File, "'"]))
+ end,
+
%% Skip shebang on first line
- {ok, HeaderSz0} = file:position(P, cur),
- Line1 = get_line(P),
+ {ok, HeaderSz0} = file:position(Fd, cur),
+ Line1 = get_line(Fd),
case classify_line(Line1) of
shebang ->
- find_first_body_line(P, LineNo);
+ find_first_body_line(Fd, HeaderSz0, LineNo, KeepFirst,
+ #sections{shebang = Line1});
archive ->
- {HeaderSz0, LineNo, archive};
+ {HeaderSz0, LineNo, Fd,
+ #sections{type = archive}};
beam ->
- {HeaderSz0, LineNo, beam};
+ {HeaderSz0, LineNo, Fd,
+ #sections{type = beam}};
_ ->
- find_first_body_line(P, LineNo)
+ find_first_body_line(Fd, HeaderSz0, LineNo, KeepFirst,
+ #sections{})
end.
-find_first_body_line(P, LineNo) ->
- {ok, HeaderSz1} = file:position(P, cur),
+find_first_body_line(Fd, HeaderSz0, LineNo, KeepFirst, Sections) ->
+ {ok, HeaderSz1} = file:position(Fd, cur),
%% Look for special comment on second line
- Line2 = get_line(P),
- {ok, HeaderSz2} = file:position(P, cur),
+ Line2 = get_line(Fd),
+ {ok, HeaderSz2} = file:position(Fd, cur),
case classify_line(Line2) of
emu_args ->
%% Skip special comment on second line
- Line3 = get_line(P),
- {HeaderSz2, LineNo + 2, guess_type(Line3)};
- _ ->
+ Line3 = get_line(Fd),
+ {HeaderSz2, LineNo + 2, Fd,
+ Sections#sections{type = guess_type(Line3),
+ comment = undefined,
+ emu_args = Line2}};
+ Line2Type ->
%% Look for special comment on third line
- Line3 = get_line(P),
- {ok, HeaderSz3} = file:position(P, cur),
- case classify_line(Line3) of
- emu_args ->
+ Line3 = get_line(Fd),
+ {ok, HeaderSz3} = file:position(Fd, cur),
+ Line3Type = classify_line(Line3),
+ if
+ Line3Type =:= emu_args ->
%% Skip special comment on third line
- Line4 = get_line(P),
- {HeaderSz3, LineNo + 3, guess_type(Line4)};
- _ ->
+ Line4 = get_line(Fd),
+ {HeaderSz3, LineNo + 3, Fd,
+ Sections#sections{type = guess_type(Line4),
+ comment = Line2,
+ emu_args = Line3}};
+ Sections#sections.shebang =:= undefined,
+ KeepFirst =:= true ->
+ %% No shebang. Use the entire file
+ {HeaderSz0, LineNo, Fd,
+ Sections#sections{type = guess_type(Line2)}};
+ Sections#sections.shebang =:= undefined ->
+ %% No shebang. Skip the first line
+ {HeaderSz1, LineNo, Fd,
+ Sections#sections{type = guess_type(Line2)}};
+ Line2Type =:= comment ->
+ %% Skip shebang on first line and comment on second
+ {HeaderSz2, LineNo + 2, Fd,
+ Sections#sections{type = guess_type(Line3),
+ comment = Line2}};
+ true ->
%% Just skip shebang on first line
- {HeaderSz1, LineNo + 1, guess_type(Line2)}
+ {HeaderSz1, LineNo + 1, Fd,
+ Sections#sections{type = guess_type(Line2)}}
end
end.
-
+
classify_line(Line) ->
case Line of
[$\#, $\! | _] ->
@@ -313,8 +490,10 @@ classify_line(Line) ->
archive;
[$F, $O, $R, $1 | _] ->
beam;
- [$\%, $\%, $\! | _] ->
+ [$%, $%, $\! | _] ->
emu_args;
+ [$% | _] ->
+ comment;
_ ->
undefined
end.
@@ -336,8 +515,8 @@ get_line(P) ->
parse_archive(S, File, HeaderSz) ->
case file:read_file(File) of
- {ok, <<_FirstLine:HeaderSz/binary, Bin/binary>>} ->
- Mod =
+ {ok, <<_Header:HeaderSz/binary, Bin/binary>>} ->
+ Mod =
case init:get_argument(escript) of
{ok, [["main", M]]} ->
%% Use explicit module name
@@ -345,14 +524,14 @@ parse_archive(S, File, HeaderSz) ->
_ ->
%% Use escript name without extension as module name
RevBase = lists:reverse(filename:basename(File)),
- RevBase2 =
+ RevBase2 =
case lists:dropwhile(fun(X) -> X =/= $. end, RevBase) of
[$. | Rest] -> Rest;
[] -> RevBase
end,
list_to_atom(lists:reverse(RevBase2))
end,
-
+
S#state{source = archive,
mode = run,
module = Mod,
@@ -365,7 +544,7 @@ parse_archive(S, File, HeaderSz) ->
parse_beam(S, File, HeaderSz, CheckOnly) ->
- {ok, <<_FirstLine:HeaderSz/binary, Bin/binary>>} =
+ {ok, <<_Header:HeaderSz/binary, Bin/binary>>} =
file:read_file(File),
case beam_lib:chunks(Bin, [exports]) of
{ok, {Module, [{exports, Exports}]}} ->
@@ -399,7 +578,7 @@ parse_source(S, File, Fd, StartLine, HeaderSz, CheckOnly) ->
{ok, FileForm} = epp:parse_erl_form(Epp),
OptModRes = epp:parse_erl_form(Epp),
S2 = S#state{source = text, module = Module},
- S3 =
+ S3 =
case OptModRes of
{ok, {attribute,_, module, M} = Form} ->
epp_parse_file(Epp, S2#state{module = M}, [Form, FileForm]);
@@ -448,12 +627,12 @@ check_source(S, CheckOnly) ->
pre_def_macros(File) ->
{MegaSecs, Secs, MicroSecs} = erlang:now(),
- Replace = fun(Char) ->
+ Replace = fun(Char) ->
case Char of
$\. -> $\_;
_ -> Char
end
- end,
+ end,
CleanBase = lists:map(Replace, filename:basename(File)),
ModuleStr =
CleanBase ++ "__" ++
@@ -642,8 +821,8 @@ eval_exprs([E|Es], Bs0, Lf, Ef, RBs) ->
eval_exprs(Es, Bs, Lf, Ef, RBs).
format_exception(Class, Reason) ->
- PF = fun(Term, I) ->
- io_lib:format("~." ++ integer_to_list(I) ++ "P", [Term, 50])
+ PF = fun(Term, I) ->
+ io_lib:format("~." ++ integer_to_list(I) ++ "P", [Term, 50])
end,
StackTrace = erlang:get_stacktrace(),
StackFun = fun(M, _F, _A) -> (M =:= erl_eval) or (M =:= ?MODULE) end,
@@ -651,7 +830,7 @@ format_exception(Class, Reason) ->
fatal(Str) ->
throw(Str).
-
+
my_halt(Reason) ->
case process_info(group_leader(), status) of
{_,waiting} ->
@@ -675,7 +854,7 @@ hidden_apply(App, M, F, Args) ->
Arity = length(Args),
Text = io_lib:format("Call to ~w:~w/~w in application ~w failed.\n",
[M, F, Arity, App]),
- fatal(Text);
+ fatal(Text);
Stk ->
erlang:raise(error, undef, Stk)
end
diff --git a/lib/stdlib/src/ets.erl b/lib/stdlib/src/ets.erl
index 9f84e3639f..d7b5dbc636 100644
--- a/lib/stdlib/src/ets.erl
+++ b/lib/stdlib/src/ets.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(ets).
@@ -230,7 +230,7 @@ from_dets(EtsTable, DetsTable) ->
erlang:error(Unexpected,[EtsTable,DetsTable])
end.
--spec to_dets(tab(), dets:tab_name()) -> tab().
+-spec to_dets(tab(), dets:tab_name()) -> dets:tab_name().
to_dets(EtsTable, DetsTable) ->
case (catch dets:from_ets(DetsTable, EtsTable)) of
@@ -622,14 +622,14 @@ do_read_and_verify(ReadFun,InitState,Tab,FtOptions,HeadCount,Verify) ->
end,
{ok,Tab};
{ok,{FinalMD5State,FinalCount,['$end_of_table',LastInfo],_}} ->
- ECount = case lists:keysearch(count,1,LastInfo) of
- {value,{count,N}} ->
+ ECount = case lists:keyfind(count,1,LastInfo) of
+ {count,N} ->
N;
_ ->
false
end,
- EMD5 = case lists:keysearch(md5,1,LastInfo) of
- {value,{md5,M}} ->
+ EMD5 = case lists:keyfind(md5,1,LastInfo) of
+ {md5,M} ->
M;
_ ->
false
@@ -742,22 +742,21 @@ get_header_data(Name,true) ->
false ->
throw(badfile);
true ->
- Major = case lists:keysearch(major,1,L) of
- {value,{major,Maj}} ->
+ Major = case lists:keyfind(major,1,L) of
+ {major,Maj} ->
Maj;
_ ->
0
end,
- Minor = case lists:keysearch(minor,1,L) of
- {value,{minor,Min}} ->
+ Minor = case lists:keyfind(minor,1,L) of
+ {minor,Min} ->
Min;
_ ->
0
end,
FtOptions =
- case lists:keysearch(extended_info,1,L) of
- {value,{extended_info,I}}
- when is_list(I) ->
+ case lists:keyfind(extended_info,1,L) of
+ {extended_info,I} when is_list(I) ->
#filetab_options
{
object_count =
@@ -786,29 +785,28 @@ get_header_data(Name,true) ->
end;
get_header_data(Name, false) ->
- case wrap_chunk(Name,start,1,false) of
+ case wrap_chunk(Name, start, 1, false) of
{C,[Tup]} when is_tuple(Tup) ->
L = tuple_to_list(Tup),
case verify_header_mandatory(L) of
false ->
throw(badfile);
true ->
- Major = case lists:keysearch(major_version,1,L) of
- {value,{major_version,Maj}} ->
+ Major = case lists:keyfind(major_version, 1, L) of
+ {major_version, Maj} ->
Maj;
_ ->
0
end,
- Minor = case lists:keysearch(minor_version,1,L) of
- {value,{minor_version,Min}} ->
+ Minor = case lists:keyfind(minor_version, 1, L) of
+ {minor_version, Min} ->
Min;
_ ->
0
end,
FtOptions =
- case lists:keysearch(extended_info,1,L) of
- {value,{extended_info,I}}
- when is_list(I) ->
+ case lists:keyfind(extended_info, 1, L) of
+ {extended_info, I} when is_list(I) ->
#filetab_options
{
object_count =
@@ -825,25 +823,26 @@ get_header_data(Name, false) ->
throw(badfile)
end.
-md5_and_convert([],MD5State,Count) ->
+md5_and_convert([], MD5State, Count) ->
{[],MD5State,Count,[]};
-md5_and_convert([H|T],MD5State,Count) when is_binary(H) ->
+md5_and_convert([H|T], MD5State, Count) when is_binary(H) ->
case (catch binary_to_term(H)) of
{'EXIT', _} ->
md5_and_convert(T,MD5State,Count);
- ['$end_of_table',Dat] ->
- {[],MD5State,Count,['$end_of_table',Dat]};
+ ['$end_of_table',_Dat] = L ->
+ {[],MD5State,Count,L};
Term ->
- X = erlang:md5_update(MD5State,H),
- {Rest,NewMD5,NewCount,NewLast} = md5_and_convert(T,X,Count+1),
+ X = erlang:md5_update(MD5State, H),
+ {Rest,NewMD5,NewCount,NewLast} = md5_and_convert(T, X, Count+1),
{[Term | Rest],NewMD5,NewCount,NewLast}
end.
-scan_for_endinfo([],Count) ->
+
+scan_for_endinfo([], Count) ->
{[],Count,[]};
-scan_for_endinfo([['$end_of_table',Dat]],Count) ->
+scan_for_endinfo([['$end_of_table',Dat]], Count) ->
{['$end_of_table',Dat],Count,[]};
-scan_for_endinfo([Term|T],Count) ->
- {NewLast,NCount,Rest} = scan_for_endinfo(T,Count+1),
+scan_for_endinfo([Term|T], Count) ->
+ {NewLast,NCount,Rest} = scan_for_endinfo(T, Count+1),
{NewLast,NCount,[Term | Rest]}.
load_table(ReadFun, State, Tab) ->
@@ -852,19 +851,19 @@ load_table(ReadFun, State, Tab) ->
[] ->
{ok,NewState};
List ->
- ets:insert(Tab,List),
- load_table(ReadFun,NewState,Tab)
+ ets:insert(Tab, List),
+ load_table(ReadFun, NewState, Tab)
end.
create_tab(I) ->
- {value, {name, Name}} = lists:keysearch(name, 1, I),
- {value, {type, Type}} = lists:keysearch(type, 1, I),
- {value, {protection, P}} = lists:keysearch(protection, 1, I),
- {value, {named_table, Val}} = lists:keysearch(named_table, 1, I),
- {value, {keypos, Kp}} = lists:keysearch(keypos, 1, I),
- {value, {size, Sz}} = lists:keysearch(size, 1, I),
+ {name, Name} = lists:keyfind(name, 1, I),
+ {type, Type} = lists:keyfind(type, 1, I),
+ {protection, P} = lists:keyfind(protection, 1, I),
+ {named_table, Val} = lists:keyfind(named_table, 1, I),
+ {keypos, _Kp} = Keypos = lists:keyfind(keypos, 1, I),
+ {size, Sz} = lists:keyfind(size, 1, I),
try
- Tab = ets:new(Name, [Type, P, {keypos, Kp} | named_table(Val)]),
+ Tab = ets:new(Name, [Type, P, Keypos | named_table(Val)]),
{ok, Tab, Sz}
catch
_:_ ->
@@ -905,9 +904,9 @@ tabfile_info(File) when is_list(File) ; is_atom(File) ->
{value, Val} = lists:keysearch(named_table, 1, FullHeader),
{value, Kp} = lists:keysearch(keypos, 1, FullHeader),
{value, Sz} = lists:keysearch(size, 1, FullHeader),
- Ei = case lists:keysearch(extended_info, 1, FullHeader) of
- {value, Ei0} -> Ei0;
- _ -> {extended_info, []}
+ Ei = case lists:keyfind(extended_info, 1, FullHeader) of
+ false -> {extended_info, []};
+ Ei0 -> Ei0
end,
{ok, [N,Type,P,Val,Kp,Sz,Ei,{version,{Major,Minor}}]}
catch
@@ -1021,21 +1020,20 @@ options(Option, Keys) ->
options([Option], Keys, []).
options(Options, [Key | Keys], L) when is_list(Options) ->
- V = case lists:keysearch(Key, 1, Options) of
- {value, {n_objects, default}} ->
+ V = case lists:keyfind(Key, 1, Options) of
+ {n_objects, default} ->
{ok, default_option(Key)};
- {value, {n_objects, NObjs}} when is_integer(NObjs),
- NObjs >= 1 ->
+ {n_objects, NObjs} when is_integer(NObjs), NObjs >= 1 ->
{ok, NObjs};
- {value, {traverse, select}} ->
+ {traverse, select} ->
{ok, select};
- {value, {traverse, {select, MS}}} ->
- {ok, {select, MS}};
- {value, {traverse, first_next}} ->
+ {traverse, {select, _MS} = Select} ->
+ {ok, Select};
+ {traverse, first_next} ->
{ok, first_next};
- {value, {traverse, last_prev}} ->
+ {traverse, last_prev} ->
{ok, last_prev};
- {value, {Key, _}} ->
+ {Key, _} ->
badarg;
false ->
Default = default_option(Key),
diff --git a/lib/stdlib/src/filelib.erl b/lib/stdlib/src/filelib.erl
index 74c5172137..5c5e084e17 100644
--- a/lib/stdlib/src/filelib.erl
+++ b/lib/stdlib/src/filelib.erl
@@ -40,66 +40,66 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec wildcard(name()) -> [file:filename()].
+-spec wildcard(file:name()) -> [file:filename()].
wildcard(Pattern) when is_list(Pattern) ->
?HANDLE_ERROR(do_wildcard(Pattern, file)).
--spec wildcard(name(), name() | atom()) -> [file:filename()].
+-spec wildcard(file:name(), file:name() | atom()) -> [file:filename()].
wildcard(Pattern, Cwd) when is_list(Pattern), is_list(Cwd) ->
?HANDLE_ERROR(do_wildcard(Pattern, Cwd, file));
wildcard(Pattern, Mod) when is_list(Pattern), is_atom(Mod) ->
?HANDLE_ERROR(do_wildcard(Pattern, Mod)).
--spec wildcard(name(), name(), atom()) -> [file:filename()].
+-spec wildcard(file:name(), file:name(), atom()) -> [file:filename()].
wildcard(Pattern, Cwd, Mod)
when is_list(Pattern), is_list(Cwd), is_atom(Mod) ->
?HANDLE_ERROR(do_wildcard(Pattern, Cwd, Mod)).
--spec is_dir(name()) -> boolean().
+-spec is_dir(file:name()) -> boolean().
is_dir(Dir) ->
do_is_dir(Dir, file).
--spec is_dir(name(), atom()) -> boolean().
+-spec is_dir(file:name(), atom()) -> boolean().
is_dir(Dir, Mod) when is_atom(Mod) ->
do_is_dir(Dir, Mod).
--spec is_file(name()) -> boolean().
+-spec is_file(file:name()) -> boolean().
is_file(File) ->
do_is_file(File, file).
--spec is_file(name(), atom()) -> boolean().
+-spec is_file(file:name(), atom()) -> boolean().
is_file(File, Mod) when is_atom(Mod) ->
do_is_file(File, Mod).
--spec is_regular(name()) -> boolean().
+-spec is_regular(file:name()) -> boolean().
is_regular(File) ->
do_is_regular(File, file).
--spec is_regular(name(), atom()) -> boolean().
+-spec is_regular(file:name(), atom()) -> boolean().
is_regular(File, Mod) when is_atom(Mod) ->
do_is_regular(File, Mod).
--spec fold_files(name(), string(), boolean(), fun((_,_) -> _), _) -> _.
+-spec fold_files(file:name(), string(), boolean(), fun((_,_) -> _), _) -> _.
fold_files(Dir, RegExp, Recursive, Fun, Acc) ->
do_fold_files(Dir, RegExp, Recursive, Fun, Acc, file).
--spec fold_files(name(), string(), boolean(), fun((_,_) -> _), _, atom()) -> _.
+-spec fold_files(file:name(), string(), boolean(), fun((_,_) -> _), _, atom()) -> _.
fold_files(Dir, RegExp, Recursive, Fun, Acc, Mod) when is_atom(Mod) ->
do_fold_files(Dir, RegExp, Recursive, Fun, Acc, Mod).
--spec last_modified(name()) -> date_time() | 0.
+-spec last_modified(file:name()) -> file:date_time() | 0.
last_modified(File) ->
do_last_modified(File, file).
--spec last_modified(name(), atom()) -> date_time() | 0.
+-spec last_modified(file:name(), atom()) -> file:date_time() | 0.
last_modified(File, Mod) when is_atom(Mod) ->
do_last_modified(File, Mod).
--spec file_size(name()) -> non_neg_integer().
+-spec file_size(file:name()) -> non_neg_integer().
file_size(File) ->
do_file_size(File, file).
--spec file_size(name(), atom()) -> non_neg_integer().
+-spec file_size(file:name(), atom()) -> non_neg_integer().
file_size(File, Mod) when is_atom(Mod) ->
do_file_size(File, Mod).
@@ -218,7 +218,7 @@ do_file_size(File, Mod) ->
%% +type X = filename() | dirname()
%% ensures that the directory name required to create D exists
--spec ensure_dir(name()) -> 'ok' | {'error', posix()}.
+-spec ensure_dir(file:name()) -> 'ok' | {'error', file:posix()}.
ensure_dir("/") ->
ok;
ensure_dir(F) ->
diff --git a/lib/stdlib/src/filename.erl b/lib/stdlib/src/filename.erl
index cd26b2e219..01c06e4596 100644
--- a/lib/stdlib/src/filename.erl
+++ b/lib/stdlib/src/filename.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(filename).
@@ -57,12 +57,12 @@
%% (for Unix) : absname("/") -> "/"
%% (for WIN32): absname("/") -> "D:/"
--spec absname(name()) -> string().
+-spec absname(file:name()) -> string().
absname(Name) ->
{ok, Cwd} = file:get_cwd(),
absname(Name, Cwd).
--spec absname(name(), string()) -> string().
+-spec absname(file:name(), string()) -> string().
absname(Name, AbsBase) ->
case pathtype(Name) of
relative ->
@@ -98,7 +98,7 @@ absname_vr([[X, $:]|Name], _, _AbsBase) ->
%% For other systems this is just a join/2, but assumes that
%% AbsBase must be absolute and Name must be relative.
--spec absname_join(string(), name()) -> string().
+-spec absname_join(string(), file:name()) -> string().
absname_join(AbsBase, Name) ->
case major_os_type() of
vxworks ->
@@ -136,7 +136,7 @@ absname_pretty(Abspath, [First|Rest], AbsBase) ->
%% basename("/usr/foo/") -> "foo" (trailing slashes ignored)
%% basename("/") -> []
--spec basename(name()) -> string().
+-spec basename(file:name()) -> string().
basename(Name0) ->
Name = flatten(Name0),
{DirSep2, DrvSep} = separators(),
@@ -190,7 +190,7 @@ skip_prefix1(Name, _) ->
%% rootname(basename("xxx.jam")) -> "xxx"
%% rootname(basename("xxx.erl")) -> "xxx"
--spec basename(name(), name()) -> string().
+-spec basename(file:name(), file:name()) -> string().
basename(Name0, Ext0) ->
Name = flatten(Name0),
Ext = flatten(Ext0),
@@ -216,7 +216,7 @@ basename([], _Ext, Tail, _DrvSep2) ->
%% Example: dirname("/usr/src/kalle.erl") -> "/usr/src",
%% dirname("kalle.erl") -> "."
--spec dirname(name()) -> string().
+-spec dirname(file:name()) -> string().
dirname(Name0) ->
Name = flatten(Name0),
case os:type() of
@@ -268,7 +268,7 @@ dirname([], Dir, _, _) ->
%%
%% On Windows: fn:dirname("\\usr\\src/kalle.erl") -> "/usr/src"
--spec extension(name()) -> string().
+-spec extension(file:name()) -> string().
extension(Name0) ->
Name = flatten(Name0),
extension(Name, [], major_os_type()).
@@ -357,7 +357,7 @@ maybe_remove_dirsep(Name, _) ->
%% a given base directory, which is is assumed to be normalised
%% by a previous call to join/{1,2}.
--spec append(string(), name()) -> string().
+-spec append(string(), file:name()) -> string().
append(Dir, Name) ->
Dir ++ [$/|Name].
@@ -373,7 +373,7 @@ append(Dir, Name) ->
%% current working volume. (Windows only)
%% Example: a:bar.erl, /temp/foo.erl
--spec pathtype(name()) -> 'absolute' | 'relative' | 'volumerelative'.
+-spec pathtype(file:name()) -> 'absolute' | 'relative' | 'volumerelative'.
pathtype(Atom) when is_atom(Atom) ->
pathtype(atom_to_list(Atom));
pathtype(Name) when is_list(Name) ->
@@ -422,7 +422,7 @@ win32_pathtype(_) -> relative.
%% Examples: rootname("/jam.src/kalle") -> "/jam.src/kalle"
%% rootname("/jam.src/foo.erl") -> "/jam.src/foo"
--spec rootname(name()) -> string().
+-spec rootname(file:name()) -> string().
rootname(Name0) ->
Name = flatten(Name0),
rootname(Name, [], [], major_os_type()).
@@ -451,7 +451,7 @@ rootname([], Root, _Ext, _OsType) ->
%% Examples: rootname("/jam.src/kalle.jam", ".erl") -> "/jam.src/kalle.jam"
%% rootname("/jam.src/foo.erl", ".erl") -> "/jam.src/foo"
--spec rootname(name(), name()) -> string().
+-spec rootname(file:name(), file:name()) -> string().
rootname(Name0, Ext0) ->
Name = flatten(Name0),
Ext = flatten(Ext0),
@@ -471,7 +471,7 @@ rootname2([Char|Rest], Ext, Result) when is_integer(Char) ->
%% split("foo/bar") -> ["foo", "bar"]
%% split("a:\\msdev\\include") -> ["a:/", "msdev", "include"]
--spec split(name()) -> [string()].
+-spec split(file:name()) -> [string()].
split(Name0) ->
Name = flatten(Name0),
case os:type() of
@@ -771,7 +771,7 @@ vxworks_first2(Devicep, [H|T], FirstComp) ->
%% flatten(List)
%% Flatten a list, also accepting atoms.
--spec flatten(name()) -> string().
+-spec flatten(file:name()) -> string().
flatten(List) ->
do_flatten(List, []).
diff --git a/lib/stdlib/src/gen.erl b/lib/stdlib/src/gen.erl
index 5aab547644..43df6f621d 100644
--- a/lib/stdlib/src/gen.erl
+++ b/lib/stdlib/src/gen.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(gen).
@@ -212,7 +212,22 @@ do_call(Process, Label, Request, Timeout) ->
catch erlang:send(Process, {Label, {self(), Mref}, Request},
[noconnect]),
- wait_resp_mon(Node, Mref, Timeout)
+ receive
+ {Mref, Reply} ->
+ erlang:demonitor(Mref, [flush]),
+ {ok, Reply};
+ {'DOWN', Mref, _, _, noconnection} ->
+ exit({nodedown, Node});
+ {'DOWN', Mref, _, _, Reason} ->
+ exit(Reason)
+ after Timeout ->
+ erlang:demonitor(Mref),
+ receive
+ {'DOWN', Mref, _, _, _} -> true
+ after 0 -> true
+ end,
+ exit(timeout)
+ end
catch
error:_ ->
%% Node (C/Java?) is not supporting the monitor.
@@ -233,24 +248,6 @@ do_call(Process, Label, Request, Timeout) ->
end
end.
-wait_resp_mon(Node, Mref, Timeout) ->
- receive
- {Mref, Reply} ->
- erlang:demonitor(Mref, [flush]),
- {ok, Reply};
- {'DOWN', Mref, _, _, noconnection} ->
- exit({nodedown, Node});
- {'DOWN', Mref, _, _, Reason} ->
- exit(Reason)
- after Timeout ->
- erlang:demonitor(Mref),
- receive
- {'DOWN', Mref, _, _, _} -> true
- after 0 -> true
- end,
- exit(timeout)
- end.
-
wait_resp(Node, Tag, Timeout) ->
receive
{Tag, Reply} ->
diff --git a/lib/stdlib/src/gen_event.erl b/lib/stdlib/src/gen_event.erl
index 1b30aaf5eb..27ff9441e6 100644
--- a/lib/stdlib/src/gen_event.erl
+++ b/lib/stdlib/src/gen_event.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(gen_event).
@@ -42,7 +42,6 @@
system_continue/3,
system_terminate/4,
system_code_change/4,
- print_event/3,
format_status/2]).
-import(error_logger, [error_msg/2]).
@@ -239,7 +238,7 @@ fetch_msg(Parent, ServerName, MSL, Debug, Hib) ->
Msg when Debug =:= [] ->
handle_msg(Msg, Parent, ServerName, MSL, []);
Msg ->
- Debug1 = sys:handle_debug(Debug, {?MODULE, print_event},
+ Debug1 = sys:handle_debug(Debug, fun print_event/3,
ServerName, {in, Msg}),
handle_msg(Msg, Parent, ServerName, MSL, Debug1)
end.
diff --git a/lib/stdlib/src/gen_fsm.erl b/lib/stdlib/src/gen_fsm.erl
index ba0275ae2b..9961646418 100644
--- a/lib/stdlib/src/gen_fsm.erl
+++ b/lib/stdlib/src/gen_fsm.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(gen_fsm).
@@ -116,7 +116,7 @@
-export([behaviour_info/1]).
%% Internal exports
--export([init_it/6, print_event/3,
+-export([init_it/6,
system_continue/3,
system_terminate/4,
system_code_change/4,
@@ -376,7 +376,7 @@ decode_msg(Msg,Parent, Name, StateName, StateData, Mod, Time, Debug, Hib) ->
_Msg when Debug =:= [] ->
handle_msg(Msg, Parent, Name, StateName, StateData, Mod, Time);
_Msg ->
- Debug1 = sys:handle_debug(Debug, {?MODULE, print_event},
+ Debug1 = sys:handle_debug(Debug, fun print_event/3,
{Name, StateName}, {in, Msg}),
handle_msg(Msg, Parent, Name, StateName, StateData,
Mod, Time, Debug1)
@@ -466,11 +466,11 @@ handle_msg(Msg, Parent, Name, StateName, StateData, Mod, _Time, Debug) ->
From = from(Msg),
case catch dispatch(Msg, Mod, StateName, StateData) of
{next_state, NStateName, NStateData} ->
- Debug1 = sys:handle_debug(Debug, {?MODULE, print_event},
+ Debug1 = sys:handle_debug(Debug, fun print_event/3,
{Name, NStateName}, return),
loop(Parent, Name, NStateName, NStateData, Mod, infinity, Debug1);
{next_state, NStateName, NStateData, Time1} ->
- Debug1 = sys:handle_debug(Debug, {?MODULE, print_event},
+ Debug1 = sys:handle_debug(Debug, fun print_event/3,
{Name, NStateName}, return),
loop(Parent, Name, NStateName, NStateData, Mod, Time1, Debug1);
{reply, Reply, NStateName, NStateData} when From =/= undefined ->
@@ -519,7 +519,7 @@ reply({To, Tag}, Reply) ->
reply(Name, {To, Tag}, Reply, Debug, StateName) ->
reply({To, Tag}, Reply),
- sys:handle_debug(Debug, {?MODULE, print_event}, Name,
+ sys:handle_debug(Debug, fun print_event/3, Name,
{out, Reply, To, StateName}).
%%% ---------------------------------------------------
diff --git a/lib/stdlib/src/gen_server.erl b/lib/stdlib/src/gen_server.erl
index f1a9a31c63..1c9e5270b6 100644
--- a/lib/stdlib/src/gen_server.erl
+++ b/lib/stdlib/src/gen_server.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(gen_server).
@@ -103,7 +103,7 @@
format_status/2]).
%% Internal exports
--export([init_it/6, print_event/3]).
+-export([init_it/6]).
-import(error_logger, [format/2]).
@@ -353,7 +353,7 @@ decode_msg(Msg, Parent, Name, State, Mod, Time, Debug, Hib) ->
_Msg when Debug =:= [] ->
handle_msg(Msg, Parent, Name, State, Mod);
_Msg ->
- Debug1 = sys:handle_debug(Debug, {?MODULE, print_event},
+ Debug1 = sys:handle_debug(Debug, fun print_event/3,
Name, {in, Msg}),
handle_msg(Msg, Parent, Name, State, Mod, Debug1)
end.
@@ -589,11 +589,11 @@ handle_msg({'$gen_call', From, Msg}, Parent, Name, State, Mod, Debug) ->
Debug1 = reply(Name, From, Reply, NState, Debug),
loop(Parent, Name, NState, Mod, Time1, Debug1);
{noreply, NState} ->
- Debug1 = sys:handle_debug(Debug, {?MODULE, print_event}, Name,
+ Debug1 = sys:handle_debug(Debug, fun print_event/3, Name,
{noreply, NState}),
loop(Parent, Name, NState, Mod, infinity, Debug1);
{noreply, NState, Time1} ->
- Debug1 = sys:handle_debug(Debug, {?MODULE, print_event}, Name,
+ Debug1 = sys:handle_debug(Debug, fun print_event/3, Name,
{noreply, NState}),
loop(Parent, Name, NState, Mod, Time1, Debug1);
{stop, Reason, Reply, NState} ->
@@ -625,11 +625,11 @@ handle_common_reply(Reply, Parent, Name, Msg, Mod, State) ->
handle_common_reply(Reply, Parent, Name, Msg, Mod, State, Debug) ->
case Reply of
{noreply, NState} ->
- Debug1 = sys:handle_debug(Debug, {?MODULE, print_event}, Name,
+ Debug1 = sys:handle_debug(Debug, fun print_event/3, Name,
{noreply, NState}),
loop(Parent, Name, NState, Mod, infinity, Debug1);
{noreply, NState, Time1} ->
- Debug1 = sys:handle_debug(Debug, {?MODULE, print_event}, Name,
+ Debug1 = sys:handle_debug(Debug, fun print_event/3, Name,
{noreply, NState}),
loop(Parent, Name, NState, Mod, Time1, Debug1);
{stop, Reason, NState} ->
@@ -642,7 +642,7 @@ handle_common_reply(Reply, Parent, Name, Msg, Mod, State, Debug) ->
reply(Name, {To, Tag}, Reply, State, Debug) ->
reply({To, Tag}, Reply),
- sys:handle_debug(Debug, {?MODULE, print_event}, Name,
+ sys:handle_debug(Debug, fun print_event/3, Name,
{out, Reply, To, State} ).
diff --git a/lib/stdlib/src/lists.erl b/lib/stdlib/src/lists.erl
index e1f8d1c200..857eda8161 100644
--- a/lib/stdlib/src/lists.erl
+++ b/lib/stdlib/src/lists.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(lists).
@@ -25,7 +25,7 @@
unzip/1, unzip3/1, zip/2, zip3/3, zipwith/3, zipwith3/4,
sort/1, merge/1, merge/2, rmerge/2, merge3/3, rmerge3/3,
usort/1, umerge/1, umerge3/3, umerge/2, rumerge3/3, rumerge/2,
- concat/1, flatten/1, flatten/2, flat_length/1, flatlength/1,
+ concat/1, flatten/1, flatten/2, flatlength/1,
keydelete/3, keyreplace/4, keytake/3, keystore/4,
keysort/2, keymerge/3, rkeymerge/3, rukeymerge/3,
ukeysort/2, ukeymerge/3, keymap/3]).
@@ -40,8 +40,6 @@
mapfoldl/3,mapfoldr/3,foreach/2,takewhile/2,dropwhile/2,splitwith/2,
split/2]).
--deprecated([flat_length/1]).
-
%% member(X, L) -> (true | false)
%% test if X is a member of the list L
%% Now a BIF!
@@ -436,13 +434,6 @@ do_flatten([H|T], Tail) ->
do_flatten([], Tail) ->
Tail.
-%% flat_length(List) (undocumented can be removed later)
-%% Calculate the length of a list of lists.
-
--spec flat_length([_]) -> non_neg_integer().
-
-flat_length(List) -> flatlength(List).
-
%% flatlength(List)
%% Calculate the length of a list of lists.
diff --git a/lib/stdlib/src/otp_internal.erl b/lib/stdlib/src/otp_internal.erl
index 7ea7de8d58..f3cfd78d54 100644
--- a/lib/stdlib/src/otp_internal.erl
+++ b/lib/stdlib/src/otp_internal.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1999-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1999-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(otp_internal).
@@ -236,98 +236,116 @@ obsolete_1(erlang, fault, 2) ->
obsolete_1(file, rawopen, 2) ->
{removed, "deprecated (will be removed in R13B); use file:open/2 with the raw option"};
-obsolete_1(httpd, start, 0) -> {deprecated,{inets,start,[2,3]},"R14B"};
-obsolete_1(httpd, start, 1) -> {deprecated,{inets,start,[2,3]},"R14B"};
-obsolete_1(httpd, start_link, 1) -> {deprecated,{inets,start,[2,3]},"R14B"};
-obsolete_1(httpd, start_child, 0) -> {deprecated,{inets,start,[2,3]},"R14B"};
-obsolete_1(httpd, start_child, 1) -> {deprecated,{inets,start,[2,3]},"R14B"};
-obsolete_1(httpd, stop, 0) -> {deprecated,{inets,stop,2},"R14B"};
-obsolete_1(httpd, stop, 1) -> {deprecated,{inets,stop,2},"R14B"};
-obsolete_1(httpd, stop, 2) -> {deprecated,{inets,stop,2},"R14B"};
-obsolete_1(httpd, stop_child, 0) -> {deprecated,{inets,stop,2},"R14B"};
-obsolete_1(httpd, stop_child, 1) -> {deprecated,{inets,stop,2},"R14B"};
-obsolete_1(httpd, stop_child, 2) -> {deprecated,{inets,stop,2},"R14B"};
-obsolete_1(httpd, restart, 0) -> {deprecated,{httpd,reload_config,2},"R14B"};
-obsolete_1(httpd, restart, 1) -> {deprecated,{httpd,reload_config,2},"R14B"};
-obsolete_1(httpd, restart, 2) -> {deprecated,{httpd,reload_config,2},"R14B"};
-obsolete_1(httpd, block, 0) -> {deprecated,{httpd,reload_config,2},"R14B"};
-obsolete_1(httpd, block, 1) -> {deprecated,{httpd,reload_config,2},"R14B"};
-obsolete_1(httpd, block, 2) -> {deprecated,{httpd,reload_config,2},"R14B"};
-obsolete_1(httpd, block, 3) -> {deprecated,{httpd,reload_config,2},"R14B"};
-obsolete_1(httpd, block, 4) -> {deprecated,{httpd,reload_config,2},"R14B"};
-obsolete_1(httpd, unblock, 0) -> {deprecated,{httpd,reload_config,2},"R14B"};
-obsolete_1(httpd, unblock, 1) -> {deprecated,{httpd,reload_config,2},"R14B"};
-obsolete_1(httpd, unblock, 2) -> {deprecated,{httpd,reload_config,2},"R14B"};
+obsolete_1(http, request, 1) -> {deprecated,{httpc,request,1},"R15B"};
+obsolete_1(http, request, 2) -> {deprecated,{httpc,request,2},"R15B"};
+obsolete_1(http, request, 4) -> {deprecated,{httpc,request,4},"R15B"};
+obsolete_1(http, request, 5) -> {deprecated,{httpc,request,5},"R15B"};
+obsolete_1(http, cancel_request, 1) -> {deprecated,{httpc,cancel_request,1},"R15B"};
+obsolete_1(http, cancel_request, 2) -> {deprecated,{httpc,cancel_request,2},"R15B"};
+obsolete_1(http, set_option, 2) -> {deprecated,{httpc,set_option,2},"R15B"};
+obsolete_1(http, set_option, 3) -> {deprecated,{httpc,set_option,3},"R15B"};
+obsolete_1(http, set_options, 1) -> {deprecated,{httpc,set_options,1},"R15B"};
+obsolete_1(http, set_options, 2) -> {deprecated,{httpc,set_options,2},"R15B"};
+obsolete_1(http, verify_cookies, 2) -> {deprecated,{httpc,verify_cookies,2},"R15B"};
+obsolete_1(http, verify_cookies, 3) -> {deprecated,{httpc,verify_cookies,3},"R15B"};
+obsolete_1(http, cookie_header, 1) -> {deprecated,{httpc,cookie_header,1},"R15B"};
+obsolete_1(http, cookie_header, 2) -> {deprecated,{httpc,cookie_header,2},"R15B"};
+obsolete_1(http, stream_next, 1) -> {deprecated,{httpc,stream_next,1},"R15B"};
+obsolete_1(http, default_profile, 0) -> {deprecated,{httpc,default_profile,0},"R15B"};
+
+obsolete_1(httpd, start, 0) -> {removed,{inets,start,[2,3]},"R14B"};
+obsolete_1(httpd, start, 1) -> {removed,{inets,start,[2,3]},"R14B"};
+obsolete_1(httpd, start_link, 0) -> {removed,{inets,start,[2,3]},"R14B"};
+obsolete_1(httpd, start_link, 1) -> {removed,{inets,start,[2,3]},"R14B"};
+obsolete_1(httpd, start_child, 0) -> {removed,{inets,start,[2,3]},"R14B"};
+obsolete_1(httpd, start_child, 1) -> {removed,{inets,start,[2,3]},"R14B"};
+obsolete_1(httpd, stop, 0) -> {removed,{inets,stop,2},"R14B"};
+obsolete_1(httpd, stop, 1) -> {removed,{inets,stop,2},"R14B"};
+obsolete_1(httpd, stop, 2) -> {removed,{inets,stop,2},"R14B"};
+obsolete_1(httpd, stop_child, 0) -> {removed,{inets,stop,2},"R14B"};
+obsolete_1(httpd, stop_child, 1) -> {removed,{inets,stop,2},"R14B"};
+obsolete_1(httpd, stop_child, 2) -> {removed,{inets,stop,2},"R14B"};
+obsolete_1(httpd, restart, 0) -> {removed,{httpd,reload_config,2},"R14B"};
+obsolete_1(httpd, restart, 1) -> {removed,{httpd,reload_config,2},"R14B"};
+obsolete_1(httpd, restart, 2) -> {removed,{httpd,reload_config,2},"R14B"};
+obsolete_1(httpd, block, 0) -> {removed,{httpd,reload_config,2},"R14B"};
+obsolete_1(httpd, block, 1) -> {removed,{httpd,reload_config,2},"R14B"};
+obsolete_1(httpd, block, 2) -> {removed,{httpd,reload_config,2},"R14B"};
+obsolete_1(httpd, block, 3) -> {removed,{httpd,reload_config,2},"R14B"};
+obsolete_1(httpd, block, 4) -> {removed,{httpd,reload_config,2},"R14B"};
+obsolete_1(httpd, unblock, 0) -> {removed,{httpd,reload_config,2},"R14B"};
+obsolete_1(httpd, unblock, 1) -> {removed,{httpd,reload_config,2},"R14B"};
+obsolete_1(httpd, unblock, 2) -> {removed,{httpd,reload_config,2},"R14B"};
obsolete_1(httpd_util, key1search, 2) -> {removed,{proplists,get_value,2},"R13B"};
obsolete_1(httpd_util, key1search, 3) -> {removed,{proplists,get_value,3},"R13B"};
-obsolete_1(ftp, open, 3) -> {deprecated,{inets,start,[2,3]},"R14B"};
-obsolete_1(ftp, force_active, 1) -> {deprecated,{inets,start,[2,3]},"R14B"};
+obsolete_1(ftp, open, 3) -> {removed,{inets,start,[2,3]},"R14B"};
+obsolete_1(ftp, force_active, 1) -> {removed,{inets,start,[2,3]},"R14B"};
%% Added in R12B-4.
obsolete_1(ssh_cm, connect, A) when 1 =< A, A =< 3 ->
- {deprecated,{ssh,connect,A},"R14B"};
+ {removed,{ssh,connect,A},"R14B"};
obsolete_1(ssh_cm, listen, A) when 2 =< A, A =< 4 ->
- {deprecated,{ssh,daemon,A},"R14B"};
+ {removed,{ssh,daemon,A},"R14B"};
obsolete_1(ssh_cm, stop_listener, 1) ->
- {deprecated,{ssh,stop_listener,[1,2]},"R14B"};
+ {removed,{ssh,stop_listener,[1,2]},"R14B"};
obsolete_1(ssh_cm, session_open, A) when A =:= 2; A =:= 4 ->
- {deprecated,{ssh_connection,session_channel,A},"R14B"};
+ {removed,{ssh_connection,session_channel,A},"R14B"};
obsolete_1(ssh_cm, direct_tcpip, A) when A =:= 6; A =:= 8 ->
- {deprecated,{ssh_connection,direct_tcpip,A}};
+ {removed,{ssh_connection,direct_tcpip,A}};
obsolete_1(ssh_cm, tcpip_forward, 3) ->
- {deprecated,{ssh_connection,tcpip_forward,3},"R14B"};
+ {removed,{ssh_connection,tcpip_forward,3},"R14B"};
obsolete_1(ssh_cm, cancel_tcpip_forward, 3) ->
- {deprecated,{ssh_connection,cancel_tcpip_forward,3},"R14B"};
+ {removed,{ssh_connection,cancel_tcpip_forward,3},"R14B"};
obsolete_1(ssh_cm, open_pty, A) when A =:= 3; A =:= 7; A =:= 9 ->
- {deprecated,{ssh_connection,open_pty,A},"R14"};
+ {removed,{ssh_connection,open_pty,A},"R14"};
obsolete_1(ssh_cm, setenv, 5) ->
- {deprecated,{ssh_connection,setenv,5},"R14B"};
+ {removed,{ssh_connection,setenv,5},"R14B"};
obsolete_1(ssh_cm, shell, 2) ->
- {deprecated,{ssh_connection,shell,2},"R14B"};
+ {removed,{ssh_connection,shell,2},"R14B"};
obsolete_1(ssh_cm, exec, 4) ->
- {deprecated,{ssh_connection,exec,4},"R14B"};
+ {removed,{ssh_connection,exec,4},"R14B"};
obsolete_1(ssh_cm, subsystem, 4) ->
- {deprecated,{ssh_connection,subsystem,4},"R14B"};
+ {removed,{ssh_connection,subsystem,4},"R14B"};
obsolete_1(ssh_cm, winch, A) when A =:= 4; A =:= 6 ->
- {deprecated,{ssh_connection,window_change,A},"R14B"};
+ {removed,{ssh_connection,window_change,A},"R14B"};
obsolete_1(ssh_cm, signal, 3) ->
- {deprecated,{ssh_connection,signal,3},"R14B"};
+ {removed,{ssh_connection,signal,3},"R14B"};
obsolete_1(ssh_cm, attach, A) when A =:= 2; A =:= 3 ->
- {deprecated,{ssh,attach,A}};
+ {removed,{ssh,attach,A}};
obsolete_1(ssh_cm, detach, 2) ->
- {deprecated,"no longer useful; will be removed in R14B"};
+ {removed,"no longer useful; will be removed in R14B"};
obsolete_1(ssh_cm, set_user_ack, 4) ->
- {deprecated,"no longer useful; will be removed in R14B"};
+ {removed,"no longer useful; will be removed in R14B"};
obsolete_1(ssh_cm, adjust_window, 3) ->
- {deprecated,{ssh_connection,adjust_window,3},"R14B"};
+ {removed,{ssh_connection,adjust_window,3},"R14B"};
obsolete_1(ssh_cm, close, 2) ->
- {deprecated,{ssh_connection,close,2},"R14B"};
+ {removed,{ssh_connection,close,2},"R14B"};
obsolete_1(ssh_cm, stop, 1) ->
- {deprecated,{ssh,close,1},"R14B"};
+ {removed,{ssh,close,1},"R14B"};
obsolete_1(ssh_cm, send_eof, 2) ->
- {deprecated,{ssh_connection,send_eof,2},"R14B"};
+ {removed,{ssh_connection,send_eof,2},"R14B"};
obsolete_1(ssh_cm, send, A) when A =:= 3; A =:= 4 ->
- {deprecated,{ssh_connection,send,A},"R14B"};
+ {removed,{ssh_connection,send,A},"R14B"};
obsolete_1(ssh_cm, send_ack, A) when 3 =< A, A =< 5 ->
- {deprecated,{ssh_connection,send,[3,4]},"R14B"};
+ {removed,{ssh_connection,send,[3,4]},"R14B"};
obsolete_1(ssh_ssh, connect, A) when 1 =< A, A =< 3 ->
- {deprecated,{ssh,shell,A},"R14B"};
+ {removed,{ssh,shell,A},"R14B"};
obsolete_1(ssh_sshd, listen, A) when 0 =< A, A =< 3 ->
- {deprecated,{ssh,daemon,[1,2,3]},"R14"};
+ {removed,{ssh,daemon,[1,2,3]},"R14"};
obsolete_1(ssh_sshd, stop, 1) ->
- {deprecated,{ssh,stop_listener,1}};
+ {removed,{ssh,stop_listener,1}};
%% Added in R13A.
obsolete_1(regexp, _, _) ->
{deprecated, "the regexp module is deprecated (will be removed in R15A); use the re module instead"};
obsolete_1(lists, flat_length, 1) ->
- {deprecated,{lists,flatlength,1},"R14"};
+ {removed,{lists,flatlength,1},"R14"};
obsolete_1(ssh_sftp, connect, A) when 1 =< A, A =< 3 ->
- {deprecated,{ssh_sftp,start_channel,A},"R14B"};
+ {removed,{ssh_sftp,start_channel,A},"R14B"};
obsolete_1(ssh_sftp, stop, 1) ->
- {deprecated,{ssh_sftp,stop_channel,1},"R14B"};
+ {removed,{ssh_sftp,stop_channel,1},"R14B"};
%% Added in R13B01.
obsolete_1(ssl_pkix, decode_cert_file, A) when A =:= 1; A =:= 2 ->
@@ -337,7 +355,7 @@ obsolete_1(ssl_pkix, decode_cert, A) when A =:= 1; A =:= 2 ->
%% Added in R13B04.
obsolete_1(erlang, concat_binary, 1) ->
- {deprecated,{erlang,list_to_binary,1},"R14B"};
+ {deprecated,{erlang,list_to_binary,1},"R15B"};
obsolete_1(_, _, _) ->
no.
diff --git a/lib/stdlib/src/stdlib.app.src b/lib/stdlib/src/stdlib.app.src
index 3e52c48e42..9d15f01683 100644
--- a/lib/stdlib/src/stdlib.app.src
+++ b/lib/stdlib/src/stdlib.app.src
@@ -1,20 +1,20 @@
%% This is an -*- erlang -*- file.
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
{application, stdlib,
@@ -23,6 +23,7 @@
{modules, [array,
base64,
beam_lib,
+ binary,
c,
calendar,
dets,
diff --git a/lib/stdlib/src/timer.erl b/lib/stdlib/src/timer.erl
index 36fdb48c75..6ee837c3e6 100644
--- a/lib/stdlib/src/timer.erl
+++ b/lib/stdlib/src/timer.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(timer).
@@ -41,54 +41,54 @@
%%
%% Time is in milliseconds.
%%
--opaque tref() :: any().
+-opaque tref() :: {integer(), reference()}.
-type time() :: non_neg_integer().
-type timestamp() :: {non_neg_integer(), non_neg_integer(), non_neg_integer()}.
%%
%% Interface functions
%%
--spec apply_after(time(), atom(), atom(), [_]) -> {'ok', tref()} | {'error', _}.
+-spec apply_after(time(), atom(), atom(), [term()]) -> {'ok', tref()} | {'error', term()}.
apply_after(Time, M, F, A) ->
req(apply_after, {Time, {M, F, A}}).
--spec send_after(time(), pid() | atom(), term()) -> {'ok', tref()} | {'error', _}.
+-spec send_after(time(), pid() | atom(), term()) -> {'ok', tref()} | {'error', term()}.
send_after(Time, Pid, Message) ->
req(apply_after, {Time, {?MODULE, send, [Pid, Message]}}).
--spec send_after(time(), _) -> {'ok', tref()} | {'error', _}.
+-spec send_after(time(), term()) -> {'ok', tref()} | {'error', term()}.
send_after(Time, Message) ->
send_after(Time, self(), Message).
--spec exit_after(time(), pid() | atom(), _) -> {'ok', tref()} | {'error', _}.
+-spec exit_after(time(), pid() | atom(), term()) -> {'ok', tref()} | {'error', term()}.
exit_after(Time, Pid, Reason) ->
req(apply_after, {Time, {erlang, exit, [Pid, Reason]}}).
--spec exit_after(time(), term()) -> {'ok', tref()} | {'error', _}.
+-spec exit_after(time(), term()) -> {'ok', tref()} | {'error', term()}.
exit_after(Time, Reason) ->
exit_after(Time, self(), Reason).
--spec kill_after(time(), pid() | atom()) -> {'ok', tref()} | {'error', _}.
+-spec kill_after(time(), pid() | atom()) -> {'ok', tref()} | {'error', term()}.
kill_after(Time, Pid) ->
exit_after(Time, Pid, kill).
--spec kill_after(time()) -> {'ok', tref()} | {'error', _}.
+-spec kill_after(time()) -> {'ok', tref()} | {'error', term()}.
kill_after(Time) ->
exit_after(Time, self(), kill).
--spec apply_interval(time(), atom(), atom(), [_]) -> {'ok', tref()} | {'error', _}.
+-spec apply_interval(time(), atom(), atom(), [term()]) -> {'ok', tref()} | {'error', term()}.
apply_interval(Time, M, F, A) ->
req(apply_interval, {Time, self(), {M, F, A}}).
--spec send_interval(time(), pid() | atom(), term()) -> {'ok', tref()} | {'error', _}.
+-spec send_interval(time(), pid() | atom(), term()) -> {'ok', tref()} | {'error', term()}.
send_interval(Time, Pid, Message) ->
req(apply_interval, {Time, Pid, {?MODULE, send, [Pid, Message]}}).
--spec send_interval(time(), term()) -> {'ok', tref()} | {'error', _}.
+-spec send_interval(time(), term()) -> {'ok', tref()} | {'error', term()}.
send_interval(Time, Message) ->
send_interval(Time, self(), Message).
--spec cancel(tref()) -> {'ok', 'cancel'} | {'error', _}.
+-spec cancel(tref()) -> {'ok', 'cancel'} | {'error', term()}.
cancel(BRef) ->
req(cancel, BRef).
@@ -101,7 +101,7 @@ sleep(T) ->
%%
%% Measure the execution time (in microseconds) for an MFA.
%%
--spec tc(atom(), atom(), [_]) -> {time(), term()}.
+-spec tc(atom(), atom(), [term()]) -> {time(), term()}.
tc(M, F, A) ->
Before = erlang:now(),
Val = (catch apply(M, F, A)),
@@ -141,7 +141,7 @@ hms(H, M, S) ->
start() ->
ensure_started().
--spec start_link() -> {'ok', pid()} | {'error', _}.
+-spec start_link() -> {'ok', pid()} | {'error', term()}.
start_link() ->
gen_server:start_link({local, timer_server}, ?MODULE, [], []).
@@ -152,6 +152,7 @@ init([]) ->
?INTERVAL_TAB = ets:new(?INTERVAL_TAB, [named_table,protected]),
{ok, [], infinity}.
+-spec ensure_started() -> 'ok'.
ensure_started() ->
case whereis(timer_server) of
undefined ->
@@ -175,6 +176,10 @@ req(Req, Arg) ->
%%
%% Time and Timeout is in milliseconds. Started is in microseconds.
%%
+-type timers() :: term(). % XXX: refine?
+
+-spec handle_call(term(), term(), timers()) ->
+ {'reply', term(), timers(), timeout()} | {'noreply', timers(), timeout()}.
handle_call({apply_after, {Time, Op}, Started}, _From, _Ts)
when is_integer(Time), Time >= 0 ->
BRef = {Started + 1000*Time, make_ref()},
@@ -194,7 +199,7 @@ handle_call({apply_interval, {Time, To, MFA}, Started}, _From, _Ts)
Interval = Time*1000,
BRef2 = {Started + Interval, Ref},
Timer = {BRef2, {repeat, Interval, Pid}, MFA},
- ets:insert(?INTERVAL_TAB,{BRef1,BRef2,Pid}),
+ ets:insert(?INTERVAL_TAB, {BRef1,BRef2,Pid}),
ets:insert(?TIMER_TAB, Timer),
Timeout = timer_timeout(SysTime),
{reply, {ok, BRef1}, [], Timeout};
@@ -202,7 +207,7 @@ handle_call({apply_interval, {Time, To, MFA}, Started}, _From, _Ts)
{reply, {error, badarg}, [], next_timeout()}
end;
handle_call({cancel, BRef = {_Time, Ref}, _}, _From, Ts)
- when is_reference(Ref) ->
+ when is_reference(Ref) ->
delete_ref(BRef),
{reply, {ok, cancel}, Ts, next_timeout()};
handle_call({cancel, _BRef, _}, _From, Ts) ->
@@ -214,6 +219,7 @@ handle_call({apply_interval, _, _}, _From, Ts) ->
handle_call(_Else, _From, Ts) -> % Catch anything else
{noreply, Ts, next_timeout()}.
+-spec handle_info(term(), timers()) -> {'noreply', timers(), timeout()}.
handle_info(timeout, Ts) -> % Handle timeouts
Timeout = timer_timeout(system_time()),
{noreply, Ts, Timeout};
@@ -223,19 +229,21 @@ handle_info({'EXIT', Pid, _Reason}, Ts) -> % Oops, someone died
handle_info(_OtherMsg, Ts) -> % Other Msg's
{noreply, Ts, next_timeout()}.
+-spec handle_cast(term(), timers()) -> {'noreply', timers(), timeout()}.
handle_cast(_Req, Ts) -> % Not predicted but handled
{noreply, Ts, next_timeout()}.
--spec terminate(_, _) -> 'ok'.
+-spec terminate(term(), _State) -> 'ok'.
terminate(_Reason, _State) ->
ok.
+-spec code_change(term(), State, term()) -> {'ok', State}.
code_change(_OldVsn, State, _Extra) ->
%% According to the man for gen server no timer can be set here.
{ok, State}.
%%
-%% timer_timeout(Timers, SysTime)
+%% timer_timeout(SysTime)
%%
%% Apply and remove already timed-out timers. A timer is a tuple
%% {Time, BRef, Op, MFA}, where Time is in microseconds.
@@ -279,12 +287,13 @@ delete_ref(BRef = {interval, _}) ->
ok
end;
delete_ref(BRef) ->
- ets:delete(?TIMER_TAB,BRef).
+ ets:delete(?TIMER_TAB, BRef).
%%
%% pid_delete
%%
+-spec pid_delete(pid()) -> 'ok'.
pid_delete(Pid) ->
IntervalTimerList =
ets:select(?INTERVAL_TAB,
@@ -292,13 +301,14 @@ pid_delete(Pid) ->
[{'==','$1',Pid}],
['$_']}]),
lists:foreach(fun({IntKey, TimerKey, _ }) ->
- ets:delete(?INTERVAL_TAB,IntKey),
- ets:delete(?TIMER_TAB,TimerKey)
+ ets:delete(?INTERVAL_TAB, IntKey),
+ ets:delete(?TIMER_TAB, TimerKey)
end, IntervalTimerList).
%% Calculate time to the next timeout. Returned timeout must fit in a
%% small int.
+-spec next_timeout() -> timeout().
next_timeout() ->
case ets:first(?TIMER_TAB) of
'$end_of_table' ->
@@ -358,7 +368,7 @@ get_pid(_) ->
get_status() ->
Info1 = ets:info(?TIMER_TAB),
- {value,{size,TotalNumTimers}} = lists:keysearch(size, 1, Info1),
+ {size,TotalNumTimers} = lists:keyfind(size, 1, Info1),
Info2 = ets:info(?INTERVAL_TAB),
- {value,{size,NumIntervalTimers}} = lists:keysearch(size, 1, Info2),
+ {size,NumIntervalTimers} = lists:keyfind(size, 1, Info2),
{{?TIMER_TAB,TotalNumTimers},{?INTERVAL_TAB,NumIntervalTimers}}.
diff --git a/lib/stdlib/src/zip.erl b/lib/stdlib/src/zip.erl
index f44d97c227..d41aeefa59 100644
--- a/lib/stdlib/src/zip.erl
+++ b/lib/stdlib/src/zip.erl
@@ -1,26 +1,26 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2006-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2006-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(zip).
%% Basic api
-export([unzip/1, unzip/2, extract/1, extract/2,
- zip/2, zip/3, create/2, create/3,
+ zip/2, zip/3, create/2, create/3, foldl/3,
list_dir/1, list_dir/2, table/1, table/2,
t/1, tt/1]).
@@ -38,7 +38,7 @@
zip_t/1, zip_tt/1,
zip_list_dir/1, zip_list_dir/2,
zip_close/1]).
-
+
%% just for debugging zip server, not documented, not tested, not to be used
-export([zip_get_state/1]).
@@ -82,7 +82,7 @@
-record(openzip_opts, {
output, % output object (fun)
open_opts, % file:open options
- cwd % directory to relate paths to
+ cwd % directory to relate paths to
}).
% openzip record, state for an open zip-file
@@ -93,10 +93,10 @@
input, % archive io object (fun)
output, % output io object (fun)
zlib, % handle to open zlib
- cwd % directory to relate paths to
+ cwd % directory to relate paths to
}).
-% Things that I would like to add to the public record #zip_file,
+% Things that I would like to add to the public record #zip_file,
% but can't as it would make things fail at upgrade.
% Instead we use {#zip_file,#zip_file_extra} internally.
-record(zip_file_extra, {
@@ -278,7 +278,7 @@ file_name_search(Name,Files) ->
[ZFile|_] -> ZFile;
[] -> false
end.
-
+
%% %% add a file to an open archive
%% openzip_add(File, OpenZip) ->
%% case ?CATCH do_openzip_add(File, OpenZip) of
@@ -344,6 +344,25 @@ do_unzip(F, Options) ->
Input(close, In1),
{ok, Files}.
+%% Iterate over all files in a zip archive
+foldl(Fun, Acc0, Archive) when is_function(Fun, 4) ->
+ ZipFun =
+ fun({Name, GetInfo, GetBin}, A) ->
+ A2 = Fun(Name, GetInfo, GetBin, A),
+ {true, false, A2}
+ end,
+ case prim_zip:open(ZipFun, Acc0, Archive) of
+ {ok, PrimZip, Acc1} ->
+ ok = prim_zip:close(PrimZip),
+ {ok, Acc1};
+ {error, bad_eocd} ->
+ {error, "Not an archive file"};
+ {error, Reason} ->
+ {error, Reason}
+ end;
+foldl(_,_, _) ->
+ {error, einval}.
+
%% Create zip archive name F from Files or binaries
%%
%% Accepted options:
@@ -383,7 +402,7 @@ list_dir(F, Options) ->
do_list_dir(F, Options) ->
Opts = get_list_dir_options(F, Options),
- #list_dir_opts{input = Input, open_opts = OpO,
+ #list_dir_opts{input = Input, open_opts = OpO,
raw_iterator = RawIterator} = Opts,
In0 = Input({open, F, OpO}, []),
{Info, In1} = get_central_dir(In0, RawIterator, Input),
@@ -417,7 +436,7 @@ tt(F) when is_record(F, openzip) -> openzip_tt(F);
tt(F) -> t(F, fun raw_long_print_info_etc/5).
-%% option utils
+%% option utils
get_unzip_opt([], Opts) ->
Opts;
get_unzip_opt([verbose | Rest], Opts) ->
@@ -470,7 +489,7 @@ get_zip_opt([{cwd, CWD} | Rest], Opts) ->
get_zip_opt([{comment, C} | Rest], Opts) ->
get_zip_opt(Rest, Opts#zip_opts{comment = C});
get_zip_opt([{compress, Which} = O| Rest], Opts) ->
- Which2 =
+ Which2 =
case Which of
all ->
all;
@@ -485,7 +504,7 @@ get_zip_opt([{compress, Which} = O| Rest], Opts) ->
end,
get_zip_opt(Rest, Opts#zip_opts{compress = Which2});
get_zip_opt([{uncompress, Which} = O| Rest], Opts) ->
- Which2 =
+ Which2 =
case Which of
all ->
all;
@@ -560,16 +579,24 @@ get_openzip_options(Options) ->
get_input(F) when is_binary(F) ->
fun binary_io/2;
get_input(F) when is_list(F) ->
- fun file_io/2.
+ fun file_io/2;
+get_input(_) ->
+ throw(einval).
get_zip_input({F, B}) when is_binary(B), is_list(F) ->
fun binary_io/2;
+get_zip_input({F, B, #file_info{}}) when is_binary(B), is_list(F) ->
+ fun binary_io/2;
+get_zip_input({F, #file_info{}, B}) when is_binary(B), is_list(F) ->
+ fun binary_io/2;
get_zip_input(F) when is_list(F) ->
fun file_io/2;
get_zip_input({files, []}) ->
fun binary_io/2;
get_zip_input({files, [File | _]}) ->
- get_zip_input(File).
+ get_zip_input(File);
+get_zip_input(_) ->
+ throw(einval).
get_list_dir_options(F, Options) ->
Opts = #list_dir_opts{raw_iterator = fun raw_file_info_public/5,
@@ -620,6 +647,8 @@ put_eocd(N, Pos, Sz, Comment, Output, Out0) ->
get_filename({Name, _}, Type) ->
get_filename(Name, Type);
+get_filename({Name, _, _}, Type) ->
+ get_filename(Name, Type);
get_filename(Name, regular) ->
Name;
get_filename(Name, directory) ->
@@ -895,7 +924,7 @@ local_file_header_to_bin(
CompSize:32/little,
UncompSize:32/little,
FileNameLength:16/little,
- ExtraFieldLength:16/little>>.
+ ExtraFieldLength:16/little>>.
eocd_to_bin(#eocd{disk_num = DiskNum,
start_disk_num = StartDiskNum,
@@ -912,7 +941,7 @@ eocd_to_bin(#eocd{disk_num = DiskNum,
Offset:32/little,
ZipCommentLength:16/little>>.
-%% put together a local file header
+%% put together a local file header
local_file_header_from_info_method_name(#file_info{mtime = MTime},
UncompSize,
CompMethod, Name) ->
@@ -939,7 +968,7 @@ server_loop(OpenZip) ->
server_loop(NewOpenZip);
Error ->
From ! {self(), Error}
- end;
+ end;
{From, close} ->
From ! {self(), openzip_close(OpenZip)};
{From, get} ->
@@ -1024,7 +1053,7 @@ lists_foreach(F, [Hd|Tl]) ->
F(Hd),
lists_foreach(F, Tl).
-%% option utils
+%% option utils
get_openzip_opt([], Opts) ->
Opts;
get_openzip_opt([cooked | Rest], #openzip_opts{open_opts = OO} = Opts) ->
@@ -1121,7 +1150,7 @@ raw_file_info_public(CD, FileName, FileComment, BExtraField, Acc0) ->
Other -> Other
end,
[H2|T].
-
+
%% make a file_info from a central directory header
cd_file_header_to_file_info(FileName,
@@ -1213,8 +1242,8 @@ get_z_file(In0, Z, Input, Output, OpO, FB, CWD, {ZipFile,Extra}) ->
{dir, In3};
_ ->
%% FileInfo = local_file_header_to_file_info(LH)
- %%{Out, In4, CRC, UncompSize} =
- {Out, In4, CRC, _UncompSize} =
+ %%{Out, In4, CRC, UncompSize} =
+ {Out, In4, CRC, _UncompSize} =
get_z_data(CompMethod, In3, FileName1,
CompSize, Input, Output, OpO, Z),
In5 = skip_z_data_descriptor(GPFlag, Input, In4),
@@ -1280,7 +1309,7 @@ get_z_data_loop(CompSize, UncompSize, In0, Out0, Input, Output, Z) ->
Out1 = Output({write, Uncompressed}, Out0),
get_z_data_loop(CompSize-N, UncompSize + iolist_size(Uncompressed),
In1, Out1, Input, Output, Z)
- end.
+ end.
%% skip data descriptor if any
@@ -1298,7 +1327,7 @@ dos_date_time_to_datetime(DosDate, DosTime) ->
<<Hour:5, Min:6, Sec:5>> = <<DosTime:16>>,
<<YearFrom1980:7, Month:4, Day:5>> = <<DosDate:16>>,
{{YearFrom1980+1980, Month, Day},
- {Hour, Min, Sec}}.
+ {Hour, Min, Sec}}.
dos_date_time_from_datetime({{Year, Month, Day}, {Hour, Min, Sec}}) ->
YearFrom1980 = Year-1980,
@@ -1319,7 +1348,6 @@ unix_extra_field_and_var_from_bin(<<TSize:16/little,
Var};
unix_extra_field_and_var_from_bin(_) ->
throw(bad_unix_extra_field).
-
%% A pwrite-like function for iolists (used by memory-option)
@@ -1478,6 +1506,8 @@ local_file_header_from_bin(_) ->
%% io functions
binary_io({file_info, {_Filename, _B, #file_info{} = FI}}, _A) ->
FI;
+binary_io({file_info, {_Filename, #file_info{} = FI, _B}}, _A) ->
+ FI;
binary_io({file_info, {_Filename, B}}, A) ->
binary_io({file_info, B}, A);
binary_io({file_info, B}, _) ->
@@ -1493,9 +1523,11 @@ binary_io({file_info, B}, _) ->
links = 1, major_device = 0,
minor_device = 0, inode = 0,
uid = 0, gid = 0};
-binary_io({open, {_Filename, B, _FI}, _Opts}, _) ->
+binary_io({open, {_Filename, B, _FI}, _Opts}, _) when is_binary(B) ->
+ {0, B};
+binary_io({open, {_Filename, _FI, B}, _Opts}, _) when is_binary(B) ->
{0, B};
-binary_io({open, {_Filename, B}, _Opts}, _) ->
+binary_io({open, {_Filename, B}, _Opts}, _) when is_binary(B) ->
{0, B};
binary_io({open, B, _Opts}, _) when is_binary(B) ->
{0, B};
diff --git a/lib/stdlib/test/Makefile b/lib/stdlib/test/Makefile
index 9beac93eb8..3bbd9ce318 100644
--- a/lib/stdlib/test/Makefile
+++ b/lib/stdlib/test/Makefile
@@ -9,6 +9,8 @@ MODULES= \
array_SUITE \
base64_SUITE \
beam_lib_SUITE \
+ binary_module_SUITE \
+ binref \
c_SUITE \
calendar_SUITE \
dets_SUITE \
diff --git a/lib/stdlib/test/binary_module_SUITE.erl b/lib/stdlib/test/binary_module_SUITE.erl
new file mode 100644
index 0000000000..16ed9a2c26
--- /dev/null
+++ b/lib/stdlib/test/binary_module_SUITE.erl
@@ -0,0 +1,1323 @@
+-module(binary_module_SUITE).
+
+-export([all/1, interesting/1,random_ref_comp/1,random_ref_sr_comp/1,
+ random_ref_fla_comp/1,parts/1, bin_to_list/1, list_to_bin/1,
+ copy/1, referenced/1,guard/1,encode_decode/1,badargs/1,longest_common_trap/1]).
+
+-export([random_number/1, make_unaligned/1]).
+
+
+
+%%-define(STANDALONE,1).
+
+-ifdef(STANDALONE).
+
+-define(line,erlang:display({?MODULE,?LINE}),).
+
+-else.
+
+-include("test_server.hrl").
+-export([init_per_testcase/2, fin_per_testcase/2]).
+% Default timetrap timeout (set in init_per_testcase).
+% Some of these testcases are really heavy...
+-define(default_timeout, ?t:minutes(20)).
+
+-endif.
+
+
+
+-ifdef(STANDALONE).
+-export([run/0]).
+
+run() ->
+ [ apply(?MODULE,X,[[]]) || X <- all(suite) ].
+
+-else.
+
+init_per_testcase(_Case, Config) ->
+ ?line Dog = ?t:timetrap(?default_timeout),
+ [{watchdog, Dog} | Config].
+
+fin_per_testcase(_Case, Config) ->
+ ?line Dog = ?config(watchdog, Config),
+ ?line test_server:timetrap_cancel(Dog),
+ ok.
+-endif.
+
+all(suite) -> [interesting,random_ref_fla_comp,random_ref_sr_comp,
+ random_ref_comp,parts,bin_to_list, list_to_bin, copy,
+ referenced,guard,encode_decode,badargs,longest_common_trap].
+
+-define(MASK_ERROR(EXPR),mask_error((catch (EXPR)))).
+
+
+badargs(doc) ->
+ ["Tests various badarg exceptions in the module"];
+badargs(Config) when is_list(Config) ->
+ ?line badarg = ?MASK_ERROR(binary:compile_pattern([<<1,2,3:3>>])),
+ ?line badarg = ?MASK_ERROR(binary:compile_pattern([<<1,2,3>>|<<1,2>>])),
+ ?line badarg = ?MASK_ERROR(binary:compile_pattern(<<1,2,3:3>>)),
+ ?line badarg = ?MASK_ERROR(binary:compile_pattern(<<>>)),
+ ?line badarg = ?MASK_ERROR(binary:match(<<1,2,3:3>>,<<1>>)),
+ ?line badarg = ?MASK_ERROR(binary:matches(<<1,2,3:3>>,<<1>>)),
+ ?line badarg = ?MASK_ERROR(binary:match(<<1,2,3>>,<<1>>,
+ [{scope,{0,1},1}])),
+ ?line badarg = ?MASK_ERROR(binary:match(<<1,2,3>>,<<1>>,
+ [{scape,{0,1}}])),
+ ?line badarg = ?MASK_ERROR(binary:match(<<1,2,3>>,<<1>>,
+ [{scope,{0,1,1}}])),
+ ?line badarg = ?MASK_ERROR(binary:match(<<1,2,3>>,<<1>>,[{scope,0,1}])),
+ ?line badarg = ?MASK_ERROR(binary:match(<<1,2,3>>,<<1>>,[{scope,[0,1]}])),
+ ?line badarg = ?MASK_ERROR(binary:match(<<1,2,3>>,<<1>>,
+ [{scope,{0.1,1}}])),
+ ?line badarg = ?MASK_ERROR(binary:match(<<1,2,3>>,<<1>>,
+ [{scope,{1,1.1}}])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:match(<<1,2,3>>,<<1>>,
+ [{scope,{16#FF,
+ 16#FFFFFFFFFFFFFFFF}}])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:match(<<1,2,3>>,<<1>>,
+ [{scope,{16#FFFFFFFFFFFFFFFF,
+ -16#7FFFFFFFFFFFFFFF-1}}])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:match(<<1,2,3>>,<<1>>,
+ [{scope,{16#FFFFFFFFFFFFFFFF,
+ 16#7FFFFFFFFFFFFFFF}}])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:part(<<1,2,3>>,{16#FF,
+ 16#FFFFFFFFFFFFFFFF})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:part(<<1,2,3>>,{16#FFFFFFFFFFFFFFFF,
+ -16#7FFFFFFFFFFFFFFF-1})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:part(<<1,2,3>>,{16#FFFFFFFFFFFFFFFF,
+ 16#7FFFFFFFFFFFFFFF})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:part(make_unaligned(<<1,2,3>>),{1,1,1})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary_part(make_unaligned(<<1,2,3>>),{1,1,1})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary_part(make_unaligned(<<1,2,3>>),{16#FFFFFFFFFFFFFFFF,
+ -16#7FFFFFFFFFFFFFFF-1})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary_part(make_unaligned(<<1,2,3>>),{16#FF,
+ 16#FFFFFFFFFFFFFFFF})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary_part(make_unaligned(<<1,2,3>>),{16#FFFFFFFFFFFFFFFF,
+ 16#7FFFFFFFFFFFFFFF})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary_part(make_unaligned(<<1,2,3>>),{16#FFFFFFFFFFFFFFFFFF,
+ -16#7FFF})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary_part(make_unaligned(<<1,2,3>>),{16#FF,
+ -16#7FFF})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:bin_to_list(<<1,2,3>>,{16#FF,
+ 16#FFFFFFFFFFFFFFFF})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:bin_to_list(<<1,2,3>>,{16#FFFFFFFFFFFFFFFF,
+ -16#7FFFFFFFFFFFFFFF-1})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:bin_to_list(<<1,2,3>>,{16#FFFFFFFFFFFFFFFF,
+ 16#7FFFFFFFFFFFFFFF})),
+ ?line [1,2,3] =
+ ?MASK_ERROR(
+ binary:bin_to_list(<<1,2,3>>)),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:bin_to_list(<<1,2,3>>,[])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:bin_to_list(<<1,2,3>>,{1,2,3})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:bin_to_list(<<1,2,3>>,{1.0,1})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:bin_to_list(<<1,2,3>>,{1,1.0})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:bin_to_list(<<1,2,3:3>>,{1,1})),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:bin_to_list(<<1,2,3:3>>)),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:bin_to_list([1,2,3])),
+
+ ?line nomatch =
+ ?MASK_ERROR(binary:match(<<1,2,3>>,<<1>>,[{scope,{0,0}}])),
+ ?line badarg =
+ ?MASK_ERROR(binary:match(<<1,2,3>>,{bm,<<>>},[{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(binary:match(<<1,2,3>>,[],[{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(binary:match(<<1,2,3>>,{ac,<<>>},[{scope,{0,1}}])),
+ ?line {bm,BMMagic} = binary:compile_pattern([<<1,2,3>>]),
+ ?line {ac,ACMagic} = binary:compile_pattern([<<1,2,3>>,<<4,5>>]),
+ ?line badarg =
+ ?MASK_ERROR(binary:match(<<1,2,3>>,{bm,ACMagic},[{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(binary:match(<<1,2,3>>,{ac,BMMagic},[{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:match(<<1,2,3>>,
+ {bm,ets:match_spec_compile([{'_',[],['$_']}])},
+ [{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:match(<<1,2,3>>,
+ {ac,ets:match_spec_compile([{'_',[],['$_']}])},
+ [{scope,{0,1}}])),
+ ?line nomatch =
+ ?MASK_ERROR(binary:matches(<<1,2,3>>,<<1>>,[{scope,{0,0}}])),
+ ?line badarg =
+ ?MASK_ERROR(binary:matches(<<1,2,3>>,{bm,<<>>},[{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(binary:matches(<<1,2,3>>,[],[{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(binary:matches(<<1,2,3>>,{ac,<<>>},[{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(binary:matches(<<1,2,3>>,{bm,ACMagic},[{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(binary:matches(<<1,2,3>>,{ac,BMMagic},[{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:matches(<<1,2,3>>,
+ {bm,ets:match_spec_compile([{'_',[],['$_']}])},
+ [{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:matches(<<1,2,3>>,
+ {ac,ets:match_spec_compile([{'_',[],['$_']}])},
+ [{scope,{0,1}}])),
+ ?line badarg =
+ ?MASK_ERROR(binary:longest_common_prefix(
+ [<<0:10000,1,2,4,1:3>>,
+ <<0:10000,1,2,3>>])),
+ ?line badarg =
+ ?MASK_ERROR(binary:longest_common_suffix(
+ [<<0:10000,1,2,4,1:3>>,
+ <<0:10000,1,2,3>>])),
+ ?line badarg =
+ ?MASK_ERROR(binary:encode_unsigned(-1)),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:encode_unsigned(-16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:first(<<1,2,4,1:3>>)),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:first([1,2,4])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:last(<<1,2,4,1:3>>)),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:last([1,2,4])),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:at(<<1,2,4,1:3>>,2)),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:at(<<>>,2)),
+ ?line badarg =
+ ?MASK_ERROR(
+ binary:at([1,2,4],2)),
+ ok.
+
+longest_common_trap(doc) ->
+ ["Whitebox test to force special trap conditions in longest_common_{prefix,suffix}"];
+longest_common_trap(Config) when is_list(Config) ->
+ ?line erts_debug:set_internal_state(available_internal_state,true),
+ ?line io:format("oldlimit: ~p~n",
+ [erts_debug:set_internal_state(binary_loop_limit,10)]),
+ erlang:bump_reductions(10000000),
+ ?line _ = binary:longest_common_prefix(
+ [<<0:10000,1,2,4>>,
+ <<0:10000,1,2,3>>,
+ <<0:10000,1,3,3>>,
+ <<0:10000,1,2,4>>,
+ <<0:10000,1,2,4>>,
+ <<0:10000,1,2,3>>,
+ <<0:10000,1,3,3>>,
+ <<0:10000,1,2,3>>,
+ <<0:10000,1,3,3>>,
+ <<0:10000,1,2,4>>,
+ <<0:10000,1,2,4>>,
+ <<0:10000,1,2,3>>,
+ <<0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0:10000,1,3,3>>,
+ <<0:10000,1,2,4>>]),
+ ?line _ = binary:longest_common_prefix(
+ [<<0:10000,1,2,4>>,
+ <<0:10000,1,2,3>>,
+ <<0:10000,1,3,3>>,
+ <<0:10000,1,2,4>>,
+ <<0:10000,1,2,4>>,
+ <<0:10000,1,2,3>>,
+ <<0:10000,1,3,3>>,
+ <<0:10000,1,2,3>>,
+ <<0:10000,1,3,3>>,
+ <<0:10000,1,2,4>>,
+ <<0:10000,1,2,4>>,
+ <<0:10000,1,2,3>>,
+ <<0,0,0,0,0,0,0,0,0,0,0,0,0,0>>,
+ <<0:10000,1,2,4>>]),
+ erlang:bump_reductions(10000000),
+ ?line _ = binary:longest_common_suffix(
+ [<<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,3,3,0:10000,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0>>,
+ <<1,2,4,0:10000>>]),
+ ?line _ = binary:longest_common_suffix(
+ [<<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<1,2,4,0:10000>>,
+ <<0,0,0,0,0,0,0,0,0,0,0,0,0,0>>,
+ <<1,2,4,0:10000>>]),
+ Subj = subj(),
+ Len = byte_size(Subj),
+ ?line Len = binary:longest_common_suffix(
+ [Subj,Subj,Subj]),
+ ?line io:format("limit was: ~p~n",
+ [erts_debug:set_internal_state(binary_loop_limit,
+ default)]),
+ ?line erts_debug:set_internal_state(available_internal_state,false),
+ ok.
+
+subj() ->
+ Me = self(),
+ spawn(fun() ->
+ X0 = iolist_to_binary([
+ "1234567890",
+ %lists:seq(16#21, 16#7e),
+ lists:duplicate(100, $x)
+ ]),
+ Me ! X0,
+ receive X -> X end
+ end),
+ X0 = receive A -> A end,
+ <<X1:32/binary,_/binary>> = X0,
+ Subject= <<X1/binary>>,
+ Subject.
+
+
+interesting(doc) ->
+ ["Try some interesting patterns"];
+interesting(Config) when is_list(Config) ->
+ X = do_interesting(binary),
+ X = do_interesting(binref).
+
+do_interesting(Module) ->
+ ?line {0,4} = Module:match(<<"123456">>,
+ Module:compile_pattern([<<"12">>,<<"1234">>,
+ <<"23">>,<<"3">>,
+ <<"34">>,<<"456">>,
+ <<"45">>,<<"6">>])),
+ ?line [{0,4},{5,1}] = Module:matches(<<"123456">>,
+ Module:compile_pattern([<<"12">>,<<"1234">>,
+ <<"23">>,<<"3">>,
+ <<"34">>,<<"456">>,
+ <<"45">>,<<"6">>])),
+ ?line [{0,4}] = Module:matches(<<"123456">>,
+ Module:compile_pattern([<<"12">>,<<"1234">>,
+ <<"23">>,<<"3">>,
+ <<"34">>,<<"456">>,
+ <<"45">>])),
+ ?line [{0,2},{2,2}] = Module:matches(<<"123456">>,
+ Module:compile_pattern([<<"12">>,
+ <<"23">>,<<"3">>,
+ <<"34">>,<<"456">>,
+ <<"45">>])),
+ ?line {1,4} = Module:match(<<"123456">>,
+ Module:compile_pattern([<<"34">>,<<"34">>,
+ <<"12347">>,<<"2345">>])),
+ ?line [{1,4}] = Module:matches(<<"123456">>,
+ Module:compile_pattern([<<"34">>,<<"34">>,
+ <<"12347">>,<<"2345">>])),
+ ?line [{2,2}] = Module:matches(<<"123456">>,
+ Module:compile_pattern([<<"34">>,<<"34">>,
+ <<"12347">>,<<"2346">>])),
+
+ ?line {0,4} = Module:match(<<"123456">>,
+ [<<"12">>,<<"1234">>,
+ <<"23">>,<<"3">>,
+ <<"34">>,<<"456">>,
+ <<"45">>,<<"6">>]),
+ ?line [{0,4},{5,1}] = Module:matches(<<"123456">>,
+ [<<"12">>,<<"1234">>,
+ <<"23">>,<<"3">>,
+ <<"34">>,<<"456">>,
+ <<"45">>,<<"6">>]),
+ ?line [{0,4}] = Module:matches(<<"123456">>,
+ [<<"12">>,<<"1234">>,
+ <<"23">>,<<"3">>,
+ <<"34">>,<<"456">>,
+ <<"45">>]),
+ ?line [{0,2},{2,2}] = Module:matches(<<"123456">>,
+ [<<"12">>,
+ <<"23">>,<<"3">>,
+ <<"34">>,<<"456">>,
+ <<"45">>]),
+ ?line {1,4} = Module:match(<<"123456">>,
+ [<<"34">>,<<"34">>,
+ <<"12347">>,<<"2345">>]),
+ ?line [{1,4}] = Module:matches(<<"123456">>,
+ [<<"34">>,<<"34">>,
+ <<"12347">>,<<"2345">>]),
+ ?line [{2,2}] = Module:matches(<<"123456">>,
+ [<<"34">>,<<"34">>,
+ <<"12347">>,<<"2346">>]),
+ ?line nomatch = Module:match(<<1,2,3,4>>,<<2>>,[{scope,{0,1}}]),
+ ?line {1,1} = Module:match(<<1,2,3,4>>,<<2>>,[{scope,{0,2}}]),
+ ?line nomatch = Module:match(<<1,2,3,4>>,<<2,3>>,[{scope,{0,2}}]),
+ ?line {1,2} = Module:match(<<1,2,3,4>>,<<2,3>>,[{scope,{0,3}}]),
+ ?line {1,2} = Module:match(<<1,2,3,4>>,<<2,3>>,[{scope,{0,4}}]),
+ ?line badarg = ?MASK_ERROR(Module:match(<<1,2,3,4>>,<<2,3>>,
+ [{scope,{0,5}}])),
+ ?line {1,2} = Module:match(<<1,2,3,4>>,<<2,3>>,[{scope,{4,-4}}]),
+ ?line {0,3} = Module:match(<<1,2,3,4>>,<<1,2,3>>,[{scope,{4,-4}}]),
+ ?line {0,4} = Module:match(<<1,2,3,4>>,<<1,2,3,4>>,[{scope,{4,-4}}]),
+ ?line badarg = ?MASK_ERROR(Module:match(<<1,2,3,4>>,<<1,2,3,4>>,
+ [{scope,{3,-4}}])),
+ ?line [] = Module:matches(<<1,2,3,4>>,<<2>>,[{scope,{0,1}}]),
+ ?line [{1,1}] = Module:matches(<<1,2,3,4>>,[<<2>>,<<3>>],[{scope,{0,2}}]),
+ ?line [] = Module:matches(<<1,2,3,4>>,<<2,3>>,[{scope,{0,2}}]),
+ ?line [{1,2}] = Module:matches(<<1,2,3,4>>,<<2,3>>,[{scope,{0,3}}]),
+ ?line [{1,2}] = Module:matches(<<1,2,3,4>>,<<2,3>>,[{scope,{0,4}}]),
+ ?line [{1,2}] = Module:matches(<<1,2,3,4>>,[<<2,3>>,<<4>>],
+ [{scope,{0,3}}]),
+ ?line [{1,2},{3,1}] = Module:matches(<<1,2,3,4>>,[<<2,3>>,<<4>>],
+ [{scope,{0,4}}]),
+ ?line badarg = ?MASK_ERROR(Module:matches(<<1,2,3,4>>,<<2,3>>,
+ [{scope,{0,5}}])),
+ ?line [{1,2}] = Module:matches(<<1,2,3,4>>,<<2,3>>,[{scope,{4,-4}}]),
+ ?line [{1,2},{3,1}] = Module:matches(<<1,2,3,4>>,[<<2,3>>,<<4>>],
+ [{scope,{4,-4}}]),
+ ?line [{0,3}] = Module:matches(<<1,2,3,4>>,<<1,2,3>>,[{scope,{4,-4}}]),
+ ?line [{0,4}] = Module:matches(<<1,2,3,4>>,<<1,2,3,4>>,[{scope,{4,-4}}]),
+ ?line badarg = ?MASK_ERROR(Module:matches(<<1,2,3,4>>,<<1,2,3,4>>,
+ [{scope,{3,-4}}])),
+ ?line badarg = ?MASK_ERROR(Module:matches(<<1,2,3,4>>,[<<1,2,3,4>>],
+ [{scope,{3,-4}}])),
+ ?line [<<1,2,3>>,<<6,7,8>>] = Module:split(<<1,2,3,4,5,6,7,8>>,<<4,5>>),
+ ?line [<<1,2,3>>,<<6,7,8>>] = Module:split(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>]),
+ ?line [<<1,2,3>>,<<6>>,<<8>>] = Module:split(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>],[global]),
+ ?line [<<1,2,3>>,<<6>>,<<>>,<<>>] = Module:split(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],
+ [global]),
+ ?line [<<1,2,3>>,<<6>>] = Module:split(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],
+ [global,trim]),
+ ?line [<<1,2,3,4,5,6,7,8>>] = Module:split(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],
+ [global,trim,{scope,{0,4}}]),
+ ?line [<<1,2,3>>,<<6,7,8>>] = Module:split(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],
+ [global,trim,{scope,{0,5}}]),
+ ?line badarg = ?MASK_ERROR(
+ Module:replace(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],<<99>>,
+ [global,trim,{scope,{0,5}}])),
+ ?line <<1,2,3,99,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],<<99>>,[]),
+ ?line <<1,2,3,99,6,99,99>> = Module:replace(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],<<99>>,
+ [global]),
+ ?line <<1,2,3,99,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],<<99>>,
+ [global,{scope,{0,5}}]),
+ ?line <<1,2,3,99,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],<<99>>,
+ [global,{scope,{0,5}}]),
+ ?line <<1,2,3,99,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],<<99>>,
+ [global,{scope,{0,5}}]),
+ ?line badarg = ?MASK_ERROR(Module:replace(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],<<99>>,
+ [global,{scope,{0,5}},
+ {insert,1}])),
+ ?line <<1,2,3,99,4,5,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],<<99>>,
+ [global,{scope,{0,5}},
+ {insert_replaced,1}]),
+ ?line <<1,2,3,9,4,5,9,6,7,8>> = Module:replace(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],
+ <<9,9>>,
+ [global,{scope,{0,5}},
+ {insert_replaced,1}]),
+ ?line badarg = ?MASK_ERROR(Module:replace(<<1,2,3,4,5,6,7,8>>,
+ [<<4,5>>,<<7>>,<<8>>],<<>>,
+ [global,{scope,{0,5}},
+ {insert_replaced,1}])),
+ ?line 2 = Module:longest_common_prefix([<<1,2,4>>,<<1,2,3>>]),
+ ?line 2 = Module:longest_common_prefix([<<1,2,4>>,<<1,2>>]),
+ ?line 1 = Module:longest_common_prefix([<<1,2,4>>,<<1>>]),
+ ?line 0 = Module:longest_common_prefix([<<1,2,4>>,<<>>]),
+ ?line 1 = Module:longest_common_prefix([<<1,2,4>>,<<1,2,3>>,<<1,3,3>>]),
+ ?line 1 = Module:longest_common_prefix([<<1,2,4>>,<<1,2,3>>,<<1,3,3>>,<<1,2,4>>]),
+ ?line 1251 = Module:longest_common_prefix([<<0:10000,1,2,4>>,
+ <<0:10000,1,2,3>>,
+ <<0:10000,1,3,3>>,
+ <<0:10000,1,2,4>>]),
+ ?line 12501 = Module:longest_common_prefix([<<0:100000,1,2,4>>,
+ <<0:100000,1,2,3>>,
+ <<0:100000,1,3,3>>,
+ <<0:100000,1,2,4>>]),
+ ?line 1251 = Module:longest_common_prefix(
+ [make_unaligned(<<0:10000,1,2,4>>),
+ <<0:10000,1,2,3>>,
+ make_unaligned(<<0:10000,1,3,3>>),
+ <<0:10000,1,2,4>>]),
+ ?line 12501 = Module:longest_common_prefix(
+ [<<0:100000,1,2,4>>,
+ make_unaligned(<<0:100000,1,2,3>>),
+ <<0:100000,1,3,3>>,
+ make_unaligned(<<0:100000,1,2,4>>)]),
+ ?line 1250001 = Module:longest_common_prefix([<<0:10000000,1,2,4>>,
+ <<0:10000000,1,2,3>>,
+ <<0:10000000,1,3,3>>,
+ <<0:10000000,1,2,4>>]),
+ if % Too cruel for the reference implementation
+ Module =:= binary ->
+ ?line erts_debug:set_internal_state(available_internal_state,true),
+ ?line io:format("oldlimit: ~p~n",
+ [erts_debug:set_internal_state(
+ binary_loop_limit,100)]),
+ ?line 1250001 = Module:longest_common_prefix(
+ [<<0:10000000,1,2,4>>,
+ <<0:10000000,1,2,3>>,
+ <<0:10000000,1,3,3>>,
+ <<0:10000000,1,2,4>>]),
+ ?line io:format("limit was: ~p~n",
+ [erts_debug:set_internal_state(binary_loop_limit,
+ default)]),
+ ?line erts_debug:set_internal_state(available_internal_state,
+ false);
+ true ->
+ ok
+ end,
+ ?line 1 = Module:longest_common_suffix([<<0:100000000,1,2,4,5>>,
+ <<0:100000000,1,2,3,5>>,
+ <<0:100000000,1,3,3,5>>,
+ <<0:100000000,1,2,4,5>>]),
+ ?line 1 = Module:longest_common_suffix([<<1,2,4,5>>,
+ <<0:100000000,1,2,3,5>>,
+ <<0:100000000,1,3,3,5>>,
+ <<0:100000000,1,2,4,5>>]),
+ ?line 1 = Module:longest_common_suffix([<<1,2,4,5,5>>,<<5,5>>,
+ <<0:100000000,1,3,3,5,5>>,
+ <<0:100000000,1,2,4,5>>]),
+ ?line 0 = Module:longest_common_suffix([<<1,2,4,5,5>>,<<5,5>>,
+ <<0:100000000,1,3,3,5,5>>,
+ <<0:100000000,1,2,4>>]),
+ ?line 2 = Module:longest_common_suffix([<<1,2,4,5,5>>,<<5,5>>,
+ <<0:100000000,1,3,3,5,5>>,
+ <<0:100000000,1,2,4,5,5>>]),
+ ?line 1 = Module:longest_common_suffix([<<1,2,4,5,5>>,<<5>>,
+ <<0:100000000,1,3,3,5,5>>,
+ <<0:100000000,1,2,4,5,5>>]),
+ ?line 0 = Module:longest_common_suffix([<<1,2,4,5,5>>,<<>>,
+ <<0:100000000,1,3,3,5,5>>,
+ <<0:100000000,1,2,4,5,5>>]),
+ ?line 0 = Module:longest_common_suffix([<<>>,<<0:100000000,1,3,3,5,5>>,
+ <<0:100000000,1,2,4,5,5>>]),
+ ?line 0 = Module:longest_common_suffix([<<>>,<<0:100000000,1,3,3,5,5>>,
+ <<0:100000000,1,2,4,5,5>>]),
+ ?line 2 = Module:longest_common_suffix([<<5,5>>,<<0:100000000,1,3,3,5,5>>,
+ <<0:100000000,1,2,4,5,5>>]),
+ ?line 2 = Module:longest_common_suffix([<<5,5>>,<<5,5>>,<<4,5,5>>]),
+ ?line 2 = Module:longest_common_suffix([<<5,5>>,<<5,5>>,<<5,5>>]),
+ ?line 3 = Module:longest_common_suffix([<<4,5,5>>,<<4,5,5>>,<<4,5,5>>]),
+ ?line 0 = Module:longest_common_suffix([<<>>]),
+ ?line badarg = ?MASK_ERROR(Module:longest_common_suffix([])),
+ ?line badarg = ?MASK_ERROR(Module:longest_common_suffix([apa])),
+ ?line badarg = ?MASK_ERROR(Module:longest_common_suffix([[<<>>]])),
+ ?line badarg = ?MASK_ERROR(Module:longest_common_suffix([[<<0>>,
+ <<1:9>>]])),
+ ?line 0 = Module:longest_common_prefix([<<>>]),
+ ?line badarg = ?MASK_ERROR(Module:longest_common_prefix([])),
+ ?line badarg = ?MASK_ERROR(Module:longest_common_prefix([apa])),
+ ?line badarg = ?MASK_ERROR(Module:longest_common_prefix([[<<>>]])),
+ ?line badarg = ?MASK_ERROR(Module:longest_common_prefix([[<<0>>,
+ <<1:9>>]])),
+
+ ?line <<1:6,Bin:3/binary,_:2>> = <<1:6,1,2,3,1:2>>,
+ ?line <<1,2,3>> = Bin,
+ ?line 1 = Module:first(Bin),
+ ?line 1 = Module:first(<<1>>),
+ ?line 1 = Module:first(<<1,2,3>>),
+ ?line badarg = ?MASK_ERROR(Module:first(<<>>)),
+ ?line badarg = ?MASK_ERROR(Module:first(apa)),
+ ?line 3 = Module:last(Bin),
+ ?line 1 = Module:last(<<1>>),
+ ?line 3 = Module:last(<<1,2,3>>),
+ ?line badarg = ?MASK_ERROR(Module:last(<<>>)),
+ ?line badarg = ?MASK_ERROR(Module:last(apa)),
+ ?line 1 = Module:at(Bin,0),
+ ?line 1 = Module:at(<<1>>,0),
+ ?line 1 = Module:at(<<1,2,3>>,0),
+ ?line 2 = Module:at(<<1,2,3>>,1),
+ ?line 3 = Module:at(<<1,2,3>>,2),
+ ?line badarg = ?MASK_ERROR(Module:at(<<1,2,3>>,3)),
+ ?line badarg = ?MASK_ERROR(Module:at(<<1,2,3>>,-1)),
+ ?line badarg = ?MASK_ERROR(Module:at(<<1,2,3>>,apa)),
+ ?line "hejsan" = [ Module:at(<<"hejsan">>,I) || I <- lists:seq(0,5) ],
+
+ ?line badarg = ?MASK_ERROR(Module:bin_to_list(<<1,2,3>>,3,-4)),
+ ?line [1,2,3] = ?MASK_ERROR(Module:bin_to_list(<<1,2,3>>,3,-3)),
+
+ ?line badarg = ?MASK_ERROR(Module:decode_unsigned(<<1,2,1:2>>,big)),
+ ?line badarg = ?MASK_ERROR(Module:decode_unsigned(<<1,2,1:2>>,little)),
+ ?line badarg = ?MASK_ERROR(Module:decode_unsigned(apa)),
+ ?line badarg = ?MASK_ERROR(Module:decode_unsigned(125,little)),
+ ?line 0 = ?MASK_ERROR(Module:decode_unsigned(<<>>,little)),
+ ?line 0 = ?MASK_ERROR(Module:decode_unsigned(<<>>,big)),
+ ?line 0 = ?MASK_ERROR(Module:decode_unsigned(<<0>>,little)),
+ ?line 0 = ?MASK_ERROR(Module:decode_unsigned(<<0>>,big)),
+ ?line 0 = ?MASK_ERROR(Module:decode_unsigned(make_unaligned(<<0>>),
+ little)),
+ ?line 0 = ?MASK_ERROR(Module:decode_unsigned(make_unaligned(<<0>>),big)),
+ ?line badarg = ?MASK_ERROR(Module:encode_unsigned(apa)),
+ ?line badarg = ?MASK_ERROR(Module:encode_unsigned(125.3,little)),
+ ?line badarg = ?MASK_ERROR(Module:encode_unsigned({1},little)),
+ ?line badarg = ?MASK_ERROR(Module:encode_unsigned([1],little)),
+ ?line <<0>> = ?MASK_ERROR(Module:encode_unsigned(0,little)),
+ ?line <<0>> = ?MASK_ERROR(Module:encode_unsigned(0,big)),
+ ok.
+
+encode_decode(doc) ->
+ ["test binary:encode_unsigned/1,2 and binary:decode_unsigned/1,2"];
+encode_decode(Config) when is_list(Config) ->
+ ?line random:seed({1271,769940,559934}),
+ ?line ok = encode_decode_loop({1,200},1000), % Need to be long enough
+ % to create offheap binaries
+ ok.
+
+encode_decode_loop(_Range,0) ->
+ ok;
+encode_decode_loop(Range, X) ->
+ ?line N = random_number(Range),
+ ?line A = binary:encode_unsigned(N),
+ ?line B = binary:encode_unsigned(N,big),
+ ?line C = binref:encode_unsigned(N),
+ ?line D = binref:encode_unsigned(N,big),
+ ?line E = binary:encode_unsigned(N,little),
+ ?line F = binref:encode_unsigned(N,little),
+ ?line G = binary:decode_unsigned(A),
+ ?line H = binary:decode_unsigned(A,big),
+ ?line I = binref:decode_unsigned(A),
+ ?line J = binary:decode_unsigned(E,little),
+ ?line K = binref:decode_unsigned(E,little),
+ ?line L = binary:decode_unsigned(make_unaligned(A)),
+ ?line M = binary:decode_unsigned(make_unaligned(E),little),
+ ?line PaddedBig = <<0:48,A/binary>>,
+ ?line PaddedLittle = <<E/binary,0:48>>,
+ ?line O = binary:decode_unsigned(PaddedBig),
+ ?line P = binary:decode_unsigned(make_unaligned(PaddedBig)),
+ ?line Q = binary:decode_unsigned(PaddedLittle,little),
+ ?line R = binary:decode_unsigned(make_unaligned(PaddedLittle),little),
+ ?line S = binref:decode_unsigned(PaddedLittle,little),
+ ?line T = binref:decode_unsigned(PaddedBig),
+ case (((A =:= B) and (B =:= C) and (C =:= D)) and
+ ((E =:= F)) and
+ ((N =:= G) and (G =:= H) and (H =:= I) and
+ (I =:= J) and (J =:= K) and (K =:= L) and (L =:= M)) and
+ ((M =:= O) and (O =:= P) and (P =:= Q) and (Q =:= R) and
+ (R =:= S) and (S =:= T)))of
+ true ->
+ encode_decode_loop(Range,X-1);
+ _ ->
+ io:format("Failed to encode/decode ~w~n(Results ~p)~n",
+ [N,[A,B,C,D,E,F,G,H,I,J,K,L,M,x,O,P,Q,R,S,T]]),
+ exit(mismatch)
+ end.
+
+guard(doc) ->
+ ["Smoke test of the guard BIFs binary_part/2,3"];
+guard(Config) when is_list(Config) ->
+ {comment, "Guard tests are run in emulator test suite"}.
+
+referenced(doc) ->
+ ["Test refernced_byte_size/1 bif."];
+referenced(Config) when is_list(Config) ->
+ ?line badarg = ?MASK_ERROR(binary:referenced_byte_size([])),
+ ?line badarg = ?MASK_ERROR(binary:referenced_byte_size(apa)),
+ ?line badarg = ?MASK_ERROR(binary:referenced_byte_size({})),
+ ?line badarg = ?MASK_ERROR(binary:referenced_byte_size(1)),
+ ?line A = <<1,2,3>>,
+ ?line B = binary:copy(A,1000),
+ ?line 3 = binary:referenced_byte_size(A),
+ ?line 3000 = binary:referenced_byte_size(B),
+ ?line <<_:8,C:2/binary>> = A,
+ ?line 3 = binary:referenced_byte_size(C),
+ ?line 2 = binary:referenced_byte_size(binary:copy(C)),
+ ?line <<_:7,D:2/binary,_:1>> = A,
+ ?line 2 = binary:referenced_byte_size(binary:copy(D)),
+ ?line 3 = binary:referenced_byte_size(D),
+ ?line <<_:8,E:2/binary,_/binary>> = B,
+ ?line 3000 = binary:referenced_byte_size(E),
+ ?line 2 = binary:referenced_byte_size(binary:copy(E)),
+ ?line <<_:7,F:2/binary,_:1,_/binary>> = B,
+ ?line 2 = binary:referenced_byte_size(binary:copy(F)),
+ ?line 3000 = binary:referenced_byte_size(F),
+ ok.
+
+
+
+list_to_bin(doc) ->
+ ["Test list_to_bin/1 bif"];
+list_to_bin(Config) when is_list(Config) ->
+ %% Just some smoke_tests first, then go nuts with random cases
+ ?line badarg = ?MASK_ERROR(binary:list_to_bin({})),
+ ?line badarg = ?MASK_ERROR(binary:list_to_bin(apa)),
+ ?line badarg = ?MASK_ERROR(binary:list_to_bin(<<"apa">>)),
+ F1 = fun(L) ->
+ ?MASK_ERROR(binref:list_to_bin(L))
+ end,
+ F2 = fun(L) ->
+ ?MASK_ERROR(binary:list_to_bin(L))
+ end,
+ ?line random_iolist:run(1000,F1,F2),
+ ok.
+
+copy(doc) ->
+ ["Test copy/1,2 bif's"];
+copy(Config) when is_list(Config) ->
+ ?line <<1,2,3>> = binary:copy(<<1,2,3>>),
+ ?line RS = random_string({1,10000}),
+ ?line RS = RS2 = binary:copy(RS),
+ ?line false = erts_debug:same(RS,RS2),
+ ?line <<>> = ?MASK_ERROR(binary:copy(<<1,2,3>>,0)),
+ ?line badarg = ?MASK_ERROR(binary:copy(<<1,2,3:3>>,2)),
+ ?line badarg = ?MASK_ERROR(binary:copy([],0)),
+ ?line <<>> = ?MASK_ERROR(binary:copy(<<>>,0)),
+ ?line badarg = ?MASK_ERROR(binary:copy(<<1,2,3>>,1.0)),
+ ?line badarg = ?MASK_ERROR(binary:copy(<<1,2,3>>,
+ 16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)),
+ ?line <<>> = binary:copy(<<>>,10000),
+ ?line random:seed({1271,769940,559934}),
+ ?line ok = random_copy(3000),
+ ?line erts_debug:set_internal_state(available_internal_state,true),
+ ?line io:format("oldlimit: ~p~n",
+ [erts_debug:set_internal_state(binary_loop_limit,10)]),
+ ?line Subj = subj(),
+ ?line XX = binary:copy(Subj,1000),
+ ?line XX = binref:copy(Subj,1000),
+ ?line ok = random_copy(1000),
+ ?line kill_copy_loop(1000),
+ ?line io:format("limit was: ~p~n",
+ [erts_debug:set_internal_state(binary_loop_limit,
+ default)]),
+ ?line erts_debug:set_internal_state(available_internal_state,false),
+ ok.
+
+kill_copy_loop(0) ->
+ ok;
+kill_copy_loop(N) ->
+ {Pid,Ref} = spawn_monitor(fun() ->
+ ok = random_copy(1000)
+ end),
+ receive
+ after 10 ->
+ ok
+ end,
+ exit(Pid,kill),
+ receive
+ {'DOWN',Ref,process,Pid,_} ->
+ kill_copy_loop(N-1)
+ after 1000 ->
+ exit(did_not_die)
+ end.
+
+random_copy(0) ->
+ ok;
+random_copy(N) ->
+ Str = random_string({0,N}),
+ Num = random:uniform(N div 10+1),
+ A = ?MASK_ERROR(binary:copy(Str,Num)),
+ B = ?MASK_ERROR(binref:copy(Str,Num)),
+ C = ?MASK_ERROR(binary:copy(make_unaligned(Str),Num)),
+ case {(A =:= B), (B =:= C)} of
+ {true,true} ->
+ random_copy(N-1);
+ _ ->
+ io:format("Failed to pick copy ~s ~p times~n",
+ [Str,Num]),
+ io:format("A:~p,~nB:~p,~n,C:~p.~n",
+ [A,B,C]),
+ exit(mismatch)
+ end.
+
+bin_to_list(doc) ->
+ ["Test bin_to_list/1,2,3 bif's"];
+bin_to_list(Config) when is_list(Config) ->
+ %% Just some smoke_tests first, then go nuts with random cases
+ ?line X = <<1,2,3,4,0:1000000,5>>,
+ ?line Y = make_unaligned(X),
+ ?line LX = binary:bin_to_list(X),
+ ?line LX = binary:bin_to_list(X,0,byte_size(X)),
+ ?line LX = binary:bin_to_list(X,byte_size(X),-byte_size(X)),
+ ?line LX = binary:bin_to_list(X,{0,byte_size(X)}),
+ ?line LX = binary:bin_to_list(X,{byte_size(X),-byte_size(X)}),
+ ?line LY = binary:bin_to_list(Y),
+ ?line LY = binary:bin_to_list(Y,0,byte_size(Y)),
+ ?line LY = binary:bin_to_list(Y,byte_size(Y),-byte_size(Y)),
+ ?line LY = binary:bin_to_list(Y,{0,byte_size(Y)}),
+ ?line LY = binary:bin_to_list(Y,{byte_size(Y),-byte_size(Y)}),
+ ?line 1 = hd(LX),
+ ?line 5 = lists:last(LX),
+ ?line 1 = hd(LY),
+ ?line 5 = lists:last(LY),
+ ?line X = list_to_binary(LY),
+ ?line Y = list_to_binary(LY),
+ ?line X = list_to_binary(LY),
+ ?line [5] = lists:nthtail(byte_size(X)-1,LX),
+ ?line [0,5] = lists:nthtail(byte_size(X)-2,LX),
+ ?line [0,5] = lists:nthtail(byte_size(Y)-2,LY),
+ ?line random:seed({1271,769940,559934}),
+ ?line ok = random_bin_to_list(5000),
+ ok.
+
+random_bin_to_list(0) ->
+ ok;
+random_bin_to_list(N) ->
+ Str = random_string({1,N}),
+ Parts0 = random_parts(10,N),
+ Parts1 = Parts0 ++ [ {X+Y,-Y} || {X,Y} <- Parts0 ],
+ [ begin
+ try
+ true = ?MASK_ERROR(binary:bin_to_list(Str,Z)) =:=
+ ?MASK_ERROR(binref:bin_to_list(Str,Z)),
+ true = ?MASK_ERROR(binary:bin_to_list(Str,Z)) =:=
+ ?MASK_ERROR(binary:bin_to_list(make_unaligned(Str),Z))
+ catch
+ _:_ ->
+ io:format("Error, Str = <<\"~s\">>.~nZ = ~p.~n",
+ [Str,Z]),
+ exit(badresult)
+ end
+ end || Z <- Parts1 ],
+ [ begin
+ try
+ true = ?MASK_ERROR(binary:bin_to_list(Str,A,B)) =:=
+ ?MASK_ERROR(binref:bin_to_list(Str,A,B)),
+ true = ?MASK_ERROR(binary:bin_to_list(Str,A,B)) =:=
+ ?MASK_ERROR(binary:bin_to_list(make_unaligned(Str),A,B))
+ catch
+ _:_ ->
+ io:format("Error, Str = <<\"~s\">>.~nA = ~p.~nB = ~p.~n",
+ [Str,A,B]),
+ exit(badresult)
+ end
+ end || {A,B} <- Parts1 ],
+ random_bin_to_list(N-1).
+
+parts(doc) ->
+ ["Test the part/2,3 bif's"];
+parts(Config) when is_list(Config) ->
+ %% Some simple smoke tests to begin with
+ ?line Simple = <<1,2,3,4,5,6,7,8>>,
+ ?line <<1,2>> = binary:part(Simple,0,2),
+ ?line <<1,2>> = binary:part(Simple,{0,2}),
+ ?line Simple = binary:part(Simple,0,8),
+ ?line Simple = binary:part(Simple,{0,8}),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,0,9)),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,{0,9})),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,1,8)),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,{1,8})),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,{3,-4})),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,{3.0,1})),
+ ?line badarg = ?MASK_ERROR(
+ binary:part(Simple,{16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ ,1})),
+ ?line <<2,3,4,5,6,7,8>> = binary:part(Simple,{1,7}),
+ ?line <<2,3,4,5,6,7,8>> = binary:part(Simple,{8,-7}),
+ ?line Simple = binary:part(Simple,{8,-8}),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,{1,-8})),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,{8,-9})),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,{0,-1})),
+ ?line <<>> = binary:part(Simple,{8,0}),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,{9,0})),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,{-1,0})),
+ ?line badarg = ?MASK_ERROR(binary:part(Simple,{7,2})),
+ ?line <<8>> = binary:part(Simple,{7,1}),
+ ?line random:seed({1271,769940,559934}),
+ ?line random_parts(5000),
+ ok.
+
+
+random_parts(0) ->
+ ok;
+random_parts(N) ->
+ Str = random_string({1,N}),
+ Parts0 = random_parts(10,N),
+ Parts1 = Parts0 ++ [ {X+Y,-Y} || {X,Y} <- Parts0 ],
+ [ begin
+ true = ?MASK_ERROR(binary:part(Str,Z)) =:=
+ ?MASK_ERROR(binref:part(Str,Z)),
+ true = ?MASK_ERROR(binary:part(Str,Z)) =:=
+ ?MASK_ERROR(erlang:binary_part(Str,Z)),
+ true = ?MASK_ERROR(binary:part(Str,Z)) =:=
+ ?MASK_ERROR(binary:part(make_unaligned(Str),Z))
+ end || Z <- Parts1 ],
+ random_parts(N-1).
+
+random_parts(0,_) ->
+ [];
+random_parts(X,N) ->
+ Pos = random:uniform(N),
+ Len = random:uniform((Pos * 12) div 10),
+ [{Pos,Len} | random_parts(X-1,N)].
+
+random_ref_comp(doc) ->
+ ["Test pseudorandomly generated cases against reference imlementation"];
+random_ref_comp(Config) when is_list(Config) ->
+ ?line put(success_counter,0),
+ ?line random:seed({1271,769940,559934}),
+ ?line do_random_match_comp(5000,{1,40},{30,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ?line do_random_match_comp2(5000,{1,40},{30,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ?line do_random_match_comp3(5000,{1,40},{30,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ?line do_random_match_comp4(5000,{1,40},{30,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ?line do_random_matches_comp(5000,{1,40},{30,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ?line do_random_matches_comp2(5000,{1,40},{30,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ?line do_random_matches_comp3(5,{1,40},{30,1000}),
+ ?line erts_debug:set_internal_state(available_internal_state,true),
+ ?line io:format("oldlimit: ~p~n",[ erts_debug:set_internal_state(binary_loop_limit,100)]),
+ ?line do_random_match_comp(5000,{1,40},{30,1000}),
+ ?line do_random_matches_comp3(5,{1,40},{30,1000}),
+ ?line io:format("limit was: ~p~n",[ erts_debug:set_internal_state(binary_loop_limit,default)]),
+ ?line erts_debug:set_internal_state(available_internal_state,false),
+ ok.
+
+random_ref_sr_comp(doc) ->
+ ["Test pseudorandomly generated cases against reference imlementation of split and replace"];
+random_ref_sr_comp(Config) when is_list(Config) ->
+ ?line put(success_counter,0),
+ ?line random:seed({1271,769940,559934}),
+ ?line do_random_split_comp(5000,{1,40},{30,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ?line do_random_replace_comp(5000,{1,40},{30,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ?line do_random_split_comp2(5000,{1,40},{30,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ?line do_random_replace_comp2(5000,{1,40},{30,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ok.
+random_ref_fla_comp(doc) ->
+ ["Test pseudorandomly generated cases against reference imlementation of split and replace"];
+random_ref_fla_comp(Config) when is_list(Config) ->
+ ?line put(success_counter,0),
+ ?line random:seed({1271,769940,559934}),
+ ?line do_random_first_comp(5000,{1,1000}),
+ ?line do_random_last_comp(5000,{1,1000}),
+ ?line do_random_at_comp(5000,{1,1000}),
+ io:format("Number of successes: ~p~n",[get(success_counter)]),
+ ok.
+
+do_random_first_comp(0,_) ->
+ ok;
+do_random_first_comp(N,Range) ->
+ S = random_string(Range),
+ A = ?MASK_ERROR(binref:first(S)),
+ B = ?MASK_ERROR(binary:first(S)),
+ C = ?MASK_ERROR(binary:first(make_unaligned(S))),
+ case {(A =:= B), (B =:= C)} of
+ {true,true} ->
+ do_random_first_comp(N-1,Range);
+ _ ->
+ io:format("Failed to pick first of ~s~n",
+ [S]),
+ io:format("A:~p,~nB:~p,~n,C:~p.~n",
+ [A,B,C]),
+ exit(mismatch)
+ end.
+
+do_random_last_comp(0,_) ->
+ ok;
+do_random_last_comp(N,Range) ->
+ S = random_string(Range),
+ A = ?MASK_ERROR(binref:last(S)),
+ B = ?MASK_ERROR(binary:last(S)),
+ C = ?MASK_ERROR(binary:last(make_unaligned(S))),
+ case {(A =:= B), (B =:= C)} of
+ {true,true} ->
+ do_random_last_comp(N-1,Range);
+ _ ->
+ io:format("Failed to pick last of ~s~n",
+ [S]),
+ io:format("A:~p,~nB:~p,~n,C:~p.~n",
+ [A,B,C]),
+ exit(mismatch)
+ end.
+do_random_at_comp(0,_) ->
+ ok;
+do_random_at_comp(N,{Min,Max}=Range) ->
+ S = random_string(Range),
+ XMax = Min + ((Max - Min) * 3) div 4,
+ Pos = random_length({Min,XMax}), %% some out of range
+ A = ?MASK_ERROR(binref:at(S,Pos)),
+ B = ?MASK_ERROR(binary:at(S,Pos)),
+ C = ?MASK_ERROR(binary:at(make_unaligned(S),Pos)),
+ if
+ A =/= badarg ->
+ put(success_counter,get(success_counter)+1);
+ true ->
+ ok
+ end,
+ case {(A =:= B), (B =:= C)} of
+ {true,true} ->
+ do_random_at_comp(N-1,Range);
+ _ ->
+ io:format("Failed to pick last of ~s~n",
+ [S]),
+ io:format("A:~p,~nB:~p,~n,C:~p.~n",
+ [A,B,C]),
+ exit(mismatch)
+ end.
+
+do_random_matches_comp(0,_,_) ->
+ ok;
+do_random_matches_comp(N,NeedleRange,HaystackRange) ->
+ NumNeedles = element(2,HaystackRange) div element(2,NeedleRange),
+ Needles = [random_string(NeedleRange) ||
+ _ <- lists:duplicate(NumNeedles,a)],
+ Haystack = random_string(HaystackRange),
+ true = do_matches_comp(Needles,Haystack),
+ do_random_matches_comp(N-1,NeedleRange,HaystackRange).
+
+do_random_matches_comp2(0,_,_) ->
+ ok;
+do_random_matches_comp2(N,NeedleRange,HaystackRange) ->
+ NumNeedles = element(2,HaystackRange) div element(2,NeedleRange),
+ Haystack = random_string(HaystackRange),
+ Needles = [random_substring(NeedleRange,Haystack) ||
+ _ <- lists:duplicate(NumNeedles,a)],
+ true = do_matches_comp(Needles,Haystack),
+ do_random_matches_comp2(N-1,NeedleRange,HaystackRange).
+
+do_random_matches_comp3(0,_,_) ->
+ ok;
+do_random_matches_comp3(N,NeedleRange,HaystackRange) ->
+ NumNeedles = element(2,HaystackRange) div element(2,NeedleRange),
+ Haystack = random_string(HaystackRange),
+ Needles = [random_substring(NeedleRange,Haystack) ||
+ _ <- lists:duplicate(NumNeedles,a)],
+ RefRes = binref:matches(Haystack,Needles),
+ true = do_matches_comp_loop(10000,Needles,Haystack, RefRes),
+ do_random_matches_comp3(N-1,NeedleRange,HaystackRange).
+
+do_matches_comp_loop(0,_,_,_) ->
+ true;
+do_matches_comp_loop(N, Needles, Haystack0,RR) ->
+ DummySize=N*8,
+ Haystack1 = <<0:DummySize,Haystack0/binary>>,
+ RR1=[{X+N,Y} || {X,Y} <- RR],
+ true = do_matches_comp2(Needles,Haystack1,RR1),
+ Haystack2 = <<Haystack0/binary,Haystack1/binary>>,
+ RR2 = RR ++ [{X2+N+byte_size(Haystack0),Y2} || {X2,Y2} <- RR],
+ true = do_matches_comp2(Needles,Haystack2,RR2),
+ do_matches_comp_loop(N-1, Needles, Haystack0,RR).
+
+
+do_matches_comp2(N,H,A) ->
+ C = ?MASK_ERROR(binary:matches(H,N)),
+ case (A =:= C) of
+ true ->
+ true;
+ _ ->
+ io:format("Failed to match ~p (needle) against ~s (haystack)~n",
+ [N,H]),
+ io:format("A:~p,~n,C:~p.~n",
+ [A,C]),
+ exit(mismatch)
+ end.
+do_matches_comp(N,H) ->
+ A = ?MASK_ERROR(binref:matches(H,N)),
+ B = ?MASK_ERROR(binref:matches(H,binref:compile_pattern(N))),
+ C = ?MASK_ERROR(binary:matches(H,N)),
+ D = ?MASK_ERROR(binary:matches(make_unaligned(H),
+ binary:compile_pattern([make_unaligned2(X) || X <- N]))),
+ if
+ A =/= nomatch ->
+ put(success_counter,get(success_counter)+1);
+ true ->
+ ok
+ end,
+ case {(A =:= B), (B =:= C),(C =:= D)} of
+ {true,true,true} ->
+ true;
+ _ ->
+ io:format("Failed to match ~p (needle) against ~s (haystack)~n",
+ [N,H]),
+ io:format("A:~p,~nB:~p,~n,C:~p,~n,D:~p.~n",
+ [A,B,C,D]),
+ exit(mismatch)
+ end.
+
+do_random_match_comp(0,_,_) ->
+ ok;
+do_random_match_comp(N,NeedleRange,HaystackRange) ->
+ Needle = random_string(NeedleRange),
+ Haystack = random_string(HaystackRange),
+ true = do_match_comp(Needle,Haystack),
+ do_random_match_comp(N-1,NeedleRange,HaystackRange).
+
+do_random_match_comp2(0,_,_) ->
+ ok;
+do_random_match_comp2(N,NeedleRange,HaystackRange) ->
+ Haystack = random_string(HaystackRange),
+ Needle = random_substring(NeedleRange,Haystack),
+ true = do_match_comp(Needle,Haystack),
+ do_random_match_comp2(N-1,NeedleRange,HaystackRange).
+
+do_random_match_comp3(0,_,_) ->
+ ok;
+do_random_match_comp3(N,NeedleRange,HaystackRange) ->
+ NumNeedles = element(2,HaystackRange) div element(2,NeedleRange),
+ Haystack = random_string(HaystackRange),
+ Needles = [random_substring(NeedleRange,Haystack) ||
+ _ <- lists:duplicate(NumNeedles,a)],
+ true = do_match_comp3(Needles,Haystack),
+ do_random_match_comp3(N-1,NeedleRange,HaystackRange).
+
+do_random_match_comp4(0,_,_) ->
+ ok;
+do_random_match_comp4(N,NeedleRange,HaystackRange) ->
+ NumNeedles = element(2,HaystackRange) div element(2,NeedleRange),
+ Haystack = random_string(HaystackRange),
+ Needles = [random_string(NeedleRange) ||
+ _ <- lists:duplicate(NumNeedles,a)],
+ true = do_match_comp3(Needles,Haystack),
+ do_random_match_comp4(N-1,NeedleRange,HaystackRange).
+
+do_match_comp(N,H) ->
+ A = ?MASK_ERROR(binref:match(H,N)),
+ B = ?MASK_ERROR(binref:match(H,binref:compile_pattern([N]))),
+ C = ?MASK_ERROR(binary:match(make_unaligned(H),N)),
+ D = ?MASK_ERROR(binary:match(H,binary:compile_pattern([N]))),
+ E = ?MASK_ERROR(binary:match(H,binary:compile_pattern(make_unaligned(N)))),
+ if
+ A =/= nomatch ->
+ put(success_counter,get(success_counter)+1);
+ true ->
+ ok
+ end,
+ case {(A =:= B), (B =:= C),(C =:= D),(D =:= E)} of
+ {true,true,true,true} ->
+ true;
+ _ ->
+ io:format("Failed to match ~s (needle) against ~s (haystack)~n",
+ [N,H]),
+ io:format("A:~p,~nB:~p,~n,C:~p,~n,D:~p,E:~p.~n",
+ [A,B,C,D,E]),
+ exit(mismatch)
+ end.
+
+do_match_comp3(N,H) ->
+ A = ?MASK_ERROR(binref:match(H,N)),
+ B = ?MASK_ERROR(binref:match(H,binref:compile_pattern(N))),
+ C = ?MASK_ERROR(binary:match(H,N)),
+ D = ?MASK_ERROR(binary:match(H,binary:compile_pattern(N))),
+ if
+ A =/= nomatch ->
+ put(success_counter,get(success_counter)+1);
+ true ->
+ ok
+ end,
+ case {(A =:= B), (B =:= C),(C =:= D)} of
+ {true,true,true} ->
+ true;
+ _ ->
+ io:format("Failed to match ~s (needle) against ~s (haystack)~n",
+ [N,H]),
+ io:format("A:~p,~nB:~p,~n,C:~p,~n,D:~p.~n",
+ [A,B,C,D]),
+ exit(mismatch)
+ end.
+
+do_random_split_comp(0,_,_) ->
+ ok;
+do_random_split_comp(N,NeedleRange,HaystackRange) ->
+ Haystack = random_string(HaystackRange),
+ Needle = random_substring(NeedleRange,Haystack),
+ true = do_split_comp(Needle,Haystack,[]),
+ true = do_split_comp(Needle,Haystack,[global]),
+ true = do_split_comp(Needle,Haystack,[global,trim]),
+ do_random_split_comp(N-1,NeedleRange,HaystackRange).
+do_random_split_comp2(0,_,_) ->
+ ok;
+do_random_split_comp2(N,NeedleRange,HaystackRange) ->
+ NumNeedles = element(2,HaystackRange) div element(2,NeedleRange),
+ Haystack = random_string(HaystackRange),
+ Needles = [random_substring(NeedleRange,Haystack) ||
+ _ <- lists:duplicate(NumNeedles,a)],
+ true = do_split_comp(Needles,Haystack,[]),
+ true = do_split_comp(Needles,Haystack,[global]),
+ do_random_split_comp2(N-1,NeedleRange,HaystackRange).
+
+do_split_comp(N,H,Opts) ->
+ A = ?MASK_ERROR(binref:split(H,N,Opts)),
+ D = ?MASK_ERROR(binary:split(H,binary:compile_pattern(N),Opts)),
+ if
+ (A =/= [N]) and is_list(A) ->
+ put(success_counter,get(success_counter)+1);
+ true ->
+ ok
+ end,
+ case (A =:= D) of
+ true ->
+ true;
+ _ ->
+ io:format("Failed to split ~n~p ~n(haystack) with ~n~p ~n(needle) "
+ "~nand options ~p~n",
+ [H,N,Opts]),
+ io:format("A:~p,D:~p.~n",
+ [A,D]),
+ exit(mismatch)
+ end.
+
+do_random_replace_comp(0,_,_) ->
+ ok;
+do_random_replace_comp(N,NeedleRange,HaystackRange) ->
+ Haystack = random_string(HaystackRange),
+ Needle = random_substring(NeedleRange,Haystack),
+ Repl = random_string(NeedleRange),
+ Insertat = random_length(NeedleRange), %Sometimes larger than Repl
+ true = do_replace_comp(Needle,Haystack,Repl,[]),
+ true = do_replace_comp(Needle,Haystack,Repl,[global]),
+ true = do_replace_comp(Needle,Haystack,Repl,
+ [global,{insert_replaced,Insertat}]),
+ do_random_replace_comp(N-1,NeedleRange,HaystackRange).
+do_random_replace_comp2(0,_,_) ->
+ ok;
+do_random_replace_comp2(N,NeedleRange,HaystackRange) ->
+ NumNeedles = element(2,HaystackRange) div element(2,NeedleRange),
+ Haystack = random_string(HaystackRange),
+ Needles = [random_substring(NeedleRange,Haystack) ||
+ _ <- lists:duplicate(NumNeedles,a)],
+ Repl = random_string(NeedleRange),
+ Insertat = random_length(NeedleRange), %Sometimes larger than Repl
+ true = do_replace_comp(Needles,Haystack,Repl,[]),
+ true = do_replace_comp(Needles,Haystack,Repl,[global]),
+ true = do_replace_comp(Needles,Haystack,Repl,
+ [global,{insert_replaced,Insertat}]),
+ do_random_replace_comp2(N-1,NeedleRange,HaystackRange).
+
+do_replace_comp(N,H,R,Opts) ->
+ A = ?MASK_ERROR(binref:replace(H,N,R,Opts)),
+ D = ?MASK_ERROR(binary:replace(H,binary:compile_pattern(N),R,Opts)),
+ if
+ (A =/= N) and is_binary(A) ->
+ put(success_counter,get(success_counter)+1);
+ true ->
+ ok
+ end,
+ case (A =:= D) of
+ true ->
+ true;
+ _ ->
+ io:format("Failed to replace ~s (haystack) by ~s (needle) "
+ "inserting ~s (replacement) and options ~p~n",
+ [H,N,R,Opts]),
+ io:format("A:~p,D:~p.~n",
+ [A,D]),
+ exit(mismatch)
+ end.
+
+one_random_number(N) ->
+ M = ((N - 1) rem 10) + 1,
+ element(M,{$0,$1,$2,$3,$4,$5,$6,$7,$8,$9}).
+
+one_random(N) ->
+ M = ((N - 1) rem 68) + 1,
+ element(M,{$a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,
+ $u,$v,$w,$x,$y,$z,$�,$�,$�,$A,$B,$C,$D,$E,$F,$G,$H,
+ $I,$J,$K,$L,$M,$N,$O,$P,$Q,$R,$S,$T,$U,$V,$W,$X,$Y,$Z,$�,
+ $�,$�,$0,$1,$2,$3,$4,$5,$6,$7,$8,$9}).
+
+random_number({Min,Max}) -> % Min and Max are *length* of number in
+ % decimal positions
+ X = random:uniform(Max - Min + 1) + Min - 1,
+ list_to_integer([one_random_number(random:uniform(10)) || _ <- lists:seq(1,X)]).
+
+
+random_length({Min,Max}) ->
+ random:uniform(Max - Min + 1) + Min - 1.
+random_string({Min,Max}) ->
+ X = random:uniform(Max - Min + 1) + Min - 1,
+ list_to_binary([one_random(random:uniform(68)) || _ <- lists:seq(1,X)]).
+random_substring({Min,Max},Hay) ->
+ X = random:uniform(Max - Min + 1) + Min - 1,
+ Y = byte_size(Hay),
+ Z = if
+ X > Y -> Y;
+ true -> X
+ end,
+ PMax = Y - Z,
+ Pos = random:uniform(PMax + 1) - 1,
+ <<_:Pos/binary,Res:Z/binary,_/binary>> = Hay,
+ Res.
+
+mask_error({'EXIT',{Err,_}}) ->
+ Err;
+mask_error(Else) ->
+ Else.
+
+make_unaligned(Bin0) when is_binary(Bin0) ->
+ Bin1 = <<0:3,Bin0/binary,31:5>>,
+ Sz = byte_size(Bin0),
+ <<0:3,Bin:Sz/binary,31:5>> = id(Bin1),
+ Bin.
+make_unaligned2(Bin0) when is_binary(Bin0) ->
+ Bin1 = <<31:5,Bin0/binary,0:3>>,
+ Sz = byte_size(Bin0),
+ <<31:5,Bin:Sz/binary,0:3>> = id(Bin1),
+ Bin.
+
+id(I) -> I.
diff --git a/lib/stdlib/test/binref.erl b/lib/stdlib/test/binref.erl
new file mode 100644
index 0000000000..6d96736ef3
--- /dev/null
+++ b/lib/stdlib/test/binref.erl
@@ -0,0 +1,588 @@
+-module(binref).
+
+-export([compile_pattern/1,match/2,match/3,matches/2,matches/3,
+ split/2,split/3,replace/3,replace/4,first/1,last/1,at/2,
+ part/2,part/3,copy/1,copy/2,encode_unsigned/1,encode_unsigned/2,
+ decode_unsigned/1,decode_unsigned/2,referenced_byte_size/1,
+ longest_common_prefix/1,longest_common_suffix/1,bin_to_list/1,
+ bin_to_list/2,bin_to_list/3,list_to_bin/1]).
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% compile_pattern, a dummy
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+compile_pattern(Pattern) when is_binary(Pattern) ->
+ {[Pattern]};
+compile_pattern(Pattern) ->
+ try
+ [ true = is_binary(P) || P <- Pattern ],
+ {Pattern}
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% match and matches
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+match(H,N) ->
+ match(H,N,[]).
+match(Haystack,Needle,Options) when is_binary(Needle) ->
+ match(Haystack,[Needle],Options);
+match(Haystack,{Needles},Options) ->
+ match(Haystack,Needles,Options);
+match(Haystack,Needles,Options) ->
+ try
+ true = is_binary(Haystack) and is_list(Needles), % badarg, not function_clause
+ case get_opts_match(Options,nomatch) of
+ nomatch ->
+ mloop(Haystack,Needles);
+ {A,B} when B > 0 ->
+ <<_:A/binary,SubStack:B/binary,_/binary>> = Haystack,
+ mloop(SubStack,Needles,A,B+A);
+ {A,B} when B < 0 ->
+ Start = A + B,
+ Len = -B,
+ <<_:Start/binary,SubStack:Len/binary,_/binary>> = Haystack,
+ mloop(SubStack,Needles,Start,Len+Start);
+ _ ->
+ nomatch
+ end
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+matches(H,N) ->
+ matches(H,N,[]).
+matches(Haystack,Needle,Options) when is_binary(Needle) ->
+ matches(Haystack,[Needle],Options);
+matches(Haystack,{Needles},Options) ->
+ matches(Haystack,Needles,Options);
+matches(Haystack,Needles,Options) ->
+ try
+ true = is_binary(Haystack) and is_list(Needles), % badarg, not function_clause
+ case get_opts_match(Options,nomatch) of
+ nomatch ->
+ msloop(Haystack,Needles);
+ {A,B} when B > 0 ->
+ <<_:A/binary,SubStack:B/binary,_/binary>> = Haystack,
+ msloop(SubStack,Needles,A,B+A);
+ {A,B} when B < 0 ->
+ Start = A + B,
+ Len = -B,
+ <<_:Start/binary,SubStack:Len/binary,_/binary>> = Haystack,
+ msloop(SubStack,Needles,Start,Len+Start);
+ _ ->
+ []
+ end
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+mloop(Haystack,Needles) ->
+ mloop(Haystack,Needles,0,byte_size(Haystack)).
+
+mloop(_Haystack,_Needles,N,M) when N >= M ->
+ nomatch;
+mloop(Haystack,Needles,N,M) ->
+ case mloop2(Haystack,Needles,N,nomatch) of
+ nomatch ->
+ % Not found
+ <<_:8,NewStack/binary>> = Haystack,
+ mloop(NewStack,Needles,N+1,M);
+ {N,Len} ->
+ {N,Len}
+ end.
+
+msloop(Haystack,Needles) ->
+ msloop(Haystack,Needles,0,byte_size(Haystack)).
+
+msloop(_Haystack,_Needles,N,M) when N >= M ->
+ [];
+msloop(Haystack,Needles,N,M) ->
+ case mloop2(Haystack,Needles,N,nomatch) of
+ nomatch ->
+ % Not found
+ <<_:8,NewStack/binary>> = Haystack,
+ msloop(NewStack,Needles,N+1,M);
+ {N,Len} ->
+ NewN = N+Len,
+ if
+ NewN >= M ->
+ [{N,Len}];
+ true ->
+ <<_:Len/binary,NewStack/binary>> = Haystack,
+ [{N,Len} | msloop(NewStack,Needles,NewN,M)]
+ end
+ end.
+
+mloop2(_Haystack,[],_N,Res) ->
+ Res;
+mloop2(Haystack,[Needle|Tail],N,Candidate) ->
+ NS = byte_size(Needle),
+ case Haystack of
+ <<Needle:NS/binary,_/binary>> ->
+ NewCandidate = case Candidate of
+ nomatch ->
+ {N,NS};
+ {N,ONS} when ONS < NS ->
+ {N,NS};
+ Better ->
+ Better
+ end,
+ mloop2(Haystack,Tail,N,NewCandidate);
+ _ ->
+ mloop2(Haystack,Tail,N,Candidate)
+ end.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% split
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+split(H,N) ->
+ split(H,N,[]).
+split(Haystack,{Needles},Options) ->
+ split(Haystack, Needles, Options);
+split(Haystack,Needles0,Options) ->
+ try
+ Needles = if
+ is_list(Needles0) ->
+ Needles0;
+ is_binary(Needles0) ->
+ [Needles0];
+ true ->
+ exit(badtype)
+ end,
+ {Part,Global,Trim} = get_opts_split(Options,{nomatch,false,false}),
+ {Start,End,NewStack} =
+ case Part of
+ nomatch ->
+ {0,byte_size(Haystack),Haystack};
+ {A,B} when B >= 0 ->
+ <<_:A/binary,SubStack:B/binary,_/binary>> = Haystack,
+ {A,A+B,SubStack};
+ {A,B} when B < 0 ->
+ S = A + B,
+ L = -B,
+ <<_:S/binary,SubStack:L/binary,_/binary>> = Haystack,
+ {S,S+L,SubStack}
+ end,
+ MList = if
+ Global ->
+ msloop(NewStack,Needles,Start,End);
+ true ->
+ case mloop(NewStack,Needles,Start,End) of
+ nomatch ->
+ [];
+ X ->
+ [X]
+ end
+ end,
+ do_split(Haystack,MList,0,Trim)
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+do_split(H,[],N,true) when N >= byte_size(H) ->
+ [];
+do_split(H,[],N,_) ->
+ [part(H,{N,byte_size(H)-N})];
+do_split(H,[{A,B}|T],N,Trim) ->
+ case part(H,{N,A-N}) of
+ <<>> ->
+ Rest = do_split(H,T,A+B,Trim),
+ case {Trim, Rest} of
+ {true,[]} ->
+ [];
+ _ ->
+ [<<>> | Rest]
+ end;
+ Oth ->
+ [Oth | do_split(H,T,A+B,Trim)]
+ end.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% replace
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+replace(H,N,R) ->
+ replace(H,N,R,[]).
+replace(Haystack,{Needles},Replacement,Options) ->
+ replace(Haystack,Needles,Replacement,Options);
+
+replace(Haystack,Needles0,Replacement,Options) ->
+ try
+ Needles = if
+ is_list(Needles0) ->
+ Needles0;
+ is_binary(Needles0) ->
+ [Needles0];
+ true ->
+ exit(badtype)
+ end,
+ true = is_binary(Replacement), % Make badarg instead of function clause
+ {Part,Global,Insert} = get_opts_replace(Options,{nomatch,false,[]}),
+ {Start,End,NewStack} =
+ case Part of
+ nomatch ->
+ {0,byte_size(Haystack),Haystack};
+ {A,B} when B >= 0 ->
+ <<_:A/binary,SubStack:B/binary,_/binary>> = Haystack,
+ {A,A+B,SubStack};
+ {A,B} when B < 0 ->
+ S = A + B,
+ L = -B,
+ <<_:S/binary,SubStack:L/binary,_/binary>> = Haystack,
+ {S,S+L,SubStack}
+ end,
+ MList = if
+ Global ->
+ msloop(NewStack,Needles,Start,End);
+ true ->
+ case mloop(NewStack,Needles,Start,End) of
+ nomatch ->
+ [];
+ X ->
+ [X]
+ end
+ end,
+ ReplList = case Insert of
+ [] ->
+ Replacement;
+ Y when is_integer(Y) ->
+ splitat(Replacement,0,[Y]);
+ Li when is_list(Li) ->
+ splitat(Replacement,0,lists:sort(Li))
+ end,
+ erlang:iolist_to_binary(do_replace(Haystack,MList,ReplList,0))
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+
+do_replace(H,[],_,N) ->
+ [part(H,{N,byte_size(H)-N})];
+do_replace(H,[{A,B}|T],Replacement,N) ->
+ [part(H,{N,A-N}),
+ if
+ is_list(Replacement) ->
+ do_insert(Replacement, part(H,{A,B}));
+ true ->
+ Replacement
+ end
+ | do_replace(H,T,Replacement,A+B)].
+
+do_insert([X],_) ->
+ [X];
+do_insert([H|T],R) ->
+ [H,R|do_insert(T,R)].
+
+splitat(H,N,[]) ->
+ [part(H,{N,byte_size(H)-N})];
+splitat(H,N,[I|T]) ->
+ [part(H,{N,I-N})|splitat(H,I,T)].
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% first, last and at
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+first(Subject) ->
+ try
+ <<A:8,_/binary>> = Subject,
+ A
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+last(Subject) ->
+ try
+ N = byte_size(Subject) - 1,
+ <<_:N/binary,A:8>> = Subject,
+ A
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+at(Subject,X) ->
+ try
+ <<_:X/binary,A:8,_/binary>> = Subject,
+ A
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% bin_to_list
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+bin_to_list(Subject) ->
+ try
+ binary_to_list(Subject)
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+bin_to_list(Subject,T) ->
+ try
+ {A0,B0} = T,
+ {A,B} = if
+ B0 < 0 ->
+ {A0+B0,-B0};
+ true ->
+ {A0,B0}
+ end,
+ binary_to_list(Subject,A+1,A+B)
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+bin_to_list(Subject,A,B) ->
+ try
+ bin_to_list(Subject,{A,B})
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% list_to_bin
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+list_to_bin(List) ->
+ try
+ erlang:list_to_binary(List)
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% longest_common_prefix
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+longest_common_prefix(LB) ->
+ try
+ true = is_list(LB) and (length(LB) > 0), % Make badarg instead of function clause
+ do_longest_common_prefix(LB,0)
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+do_longest_common_prefix(LB,X) ->
+ case do_lcp(LB,X,no) of
+ true ->
+ do_longest_common_prefix(LB,X+1);
+ false ->
+ X
+ end.
+do_lcp([],_,_) ->
+ true;
+do_lcp([Bin|_],X,_) when byte_size(Bin) =< X ->
+ false;
+do_lcp([Bin|T],X,no) ->
+ Ch = at(Bin,X),
+ do_lcp(T,X,Ch);
+do_lcp([Bin|T],X,Ch) ->
+ Ch2 = at(Bin,X),
+ if
+ Ch =:= Ch2 ->
+ do_lcp(T,X,Ch);
+ true ->
+ false
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% longest_common_suffix
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+longest_common_suffix(LB) ->
+ try
+ true = is_list(LB) and (length(LB) > 0), % Make badarg instead of function clause
+ do_longest_common_suffix(LB,0)
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+do_longest_common_suffix(LB,X) ->
+ case do_lcs(LB,X,no) of
+ true ->
+ do_longest_common_suffix(LB,X+1);
+ false ->
+ X
+ end.
+do_lcs([],_,_) ->
+ true;
+do_lcs([Bin|_],X,_) when byte_size(Bin) =< X ->
+ false;
+do_lcs([Bin|T],X,no) ->
+ Ch = at(Bin,byte_size(Bin) - 1 - X),
+ do_lcs(T,X,Ch);
+do_lcs([Bin|T],X,Ch) ->
+ Ch2 = at(Bin,byte_size(Bin) - 1 - X),
+ if
+ Ch =:= Ch2 ->
+ do_lcs(T,X,Ch);
+ true ->
+ false
+ end.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% part
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+part(Subject,Part) ->
+ try
+ do_part(Subject,Part)
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+part(Subject,Pos,Len) ->
+ part(Subject,{Pos,Len}).
+
+do_part(Bin,{A,B}) when B >= 0 ->
+ <<_:A/binary,Sub:B/binary,_/binary>> = Bin,
+ Sub;
+do_part(Bin,{A,B}) when B < 0 ->
+ S = A + B,
+ L = -B,
+ <<_:S/binary,Sub:L/binary,_/binary>> = Bin,
+ Sub.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% copy
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+copy(Subject) ->
+ copy(Subject,1).
+copy(Subject,N) ->
+ try
+ true = is_integer(N) and (N >= 0) and is_binary(Subject), % Badarg, not function clause
+ erlang:list_to_binary(lists:duplicate(N,Subject))
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% encode_unsigned
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+encode_unsigned(Unsigned) ->
+ encode_unsigned(Unsigned,big).
+encode_unsigned(Unsigned,Endian) ->
+ try
+ true = is_integer(Unsigned) and (Unsigned >= 0),
+ if
+ Unsigned =:= 0 ->
+ <<0>>;
+ true ->
+ case Endian of
+ big ->
+ list_to_binary(do_encode(Unsigned,[]));
+ little ->
+ list_to_binary(do_encode_r(Unsigned))
+ end
+ end
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+do_encode(0,L) ->
+ L;
+do_encode(N,L) ->
+ Byte = N band 255,
+ NewN = N bsr 8,
+ do_encode(NewN,[Byte|L]).
+
+do_encode_r(0) ->
+ [];
+do_encode_r(N) ->
+ Byte = N band 255,
+ NewN = N bsr 8,
+ [Byte|do_encode_r(NewN)].
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% decode_unsigned
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+decode_unsigned(Subject) ->
+ decode_unsigned(Subject,big).
+
+decode_unsigned(Subject,Endian) ->
+ try
+ true = is_binary(Subject),
+ case Endian of
+ big ->
+ do_decode(Subject,0);
+ little ->
+ do_decode_r(Subject,0)
+ end
+ catch
+ _:_ ->
+ erlang:error(badarg)
+ end.
+
+do_decode(<<>>,N) ->
+ N;
+do_decode(<<X:8,Bin/binary>>,N) ->
+ do_decode(Bin,(N bsl 8) bor X).
+
+do_decode_r(<<>>,N) ->
+ N;
+do_decode_r(Bin,N) ->
+ Sz = byte_size(Bin) - 1,
+ <<NewBin:Sz/binary,X>> = Bin,
+ do_decode_r(NewBin, (N bsl 8) bor X).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% referenced_byte_size cannot
+%% be implemented in pure
+%% erlang
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+referenced_byte_size(Bin) when is_binary(Bin) ->
+ erlang:error(not_implemented);
+referenced_byte_size(_) ->
+ erlang:error(badarg).
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Simple helper functions
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Option "parsing"
+get_opts_match([],Part) ->
+ Part;
+get_opts_match([{scope,{A,B}} | T],_Part) ->
+ get_opts_match(T,{A,B});
+get_opts_match(_,_) ->
+ throw(badopt).
+
+get_opts_split([],{Part,Global,Trim}) ->
+ {Part,Global,Trim};
+get_opts_split([{scope,{A,B}} | T],{_Part,Global,Trim}) ->
+ get_opts_split(T,{{A,B},Global,Trim});
+get_opts_split([global | T],{Part,_Global,Trim}) ->
+ get_opts_split(T,{Part,true,Trim});
+get_opts_split([trim | T],{Part,Global,_Trim}) ->
+ get_opts_split(T,{Part,Global,true});
+get_opts_split(_,_) ->
+ throw(badopt).
+
+get_opts_replace([],{Part,Global,Insert}) ->
+ {Part,Global,Insert};
+get_opts_replace([{scope,{A,B}} | T],{_Part,Global,Insert}) ->
+ get_opts_replace(T,{{A,B},Global,Insert});
+get_opts_replace([global | T],{Part,_Global,Insert}) ->
+ get_opts_replace(T,{Part,true,Insert});
+get_opts_replace([{insert_replaced,N} | T],{Part,Global,_Insert}) ->
+ get_opts_replace(T,{Part,Global,N});
+get_opts_replace(_,_) ->
+ throw(badopt).
diff --git a/lib/stdlib/test/epp_SUITE.erl b/lib/stdlib/test/epp_SUITE.erl
index 9a3ae0baf5..4806b5d361 100644
--- a/lib/stdlib/test/epp_SUITE.erl
+++ b/lib/stdlib/test/epp_SUITE.erl
@@ -23,7 +23,8 @@
upcase_mac/1, upcase_mac_1/1, upcase_mac_2/1,
variable/1, variable_1/1, otp_4870/1, otp_4871/1, otp_5362/1,
pmod/1, not_circular/1, skip_header/1, otp_6277/1, otp_7702/1,
- otp_8130/1, overload_mac/1, otp_8388/1]).
+ otp_8130/1, overload_mac/1, otp_8388/1, otp_8470/1, otp_8503/1,
+ otp_8562/1]).
-export([epp_parse_erl_form/2]).
@@ -63,7 +64,7 @@ all(doc) ->
all(suite) ->
[rec_1, upcase_mac, predef_mac, variable, otp_4870, otp_4871, otp_5362,
pmod, not_circular, skip_header, otp_6277, otp_7702, otp_8130,
- overload_mac, otp_8388].
+ overload_mac, otp_8388, otp_8470, otp_8503, otp_8562].
rec_1(doc) ->
["Recursive macros hang or crash epp (OTP-1398)."];
@@ -616,9 +617,9 @@ otp_8130(Config) when is_list(Config) ->
"t() -> 14 = (#file_info{size = 14})#file_info.size, ok.\n">>,
ok},
- {otp_8130_7,
+ {otp_8130_7_new,
<<"-record(b, {b}).\n"
- "-define(A, {{a,#b.b.\n"
+ "-define(A, {{a,#b.b).\n"
"t() -> {{a,2}} = ?A}}, ok.">>,
ok},
@@ -750,7 +751,14 @@ otp_8130(Config) when is_list(Config) ->
{otp_8130_c24,
<<"\n-include(\"no such file.erl\").\n">>,
- {errors,[{{2,2},epp,{include,file,"no such file.erl"}}],[]}}
+ {errors,[{{2,2},epp,{include,file,"no such file.erl"}}],[]}},
+
+ {otp_8130_7,
+ <<"-record(b, {b}).\n"
+ "-define(A, {{a,#b.b.\n"
+ "t() -> {{a,2}} = ?A}}, ok.">>,
+ {errors,[{{2,20},epp,missing_parenthesis},
+ {{3,19},epp,{undefined,'A',none}}],[]}}
],
?line [] = compile(Config, Cs),
@@ -1047,13 +1055,13 @@ overload_mac(Config) when is_list(Config) ->
"-undef(A).\n"
"t1() -> ?A.\n",
"t2() -> ?A(1).">>,
- {errors,[{{4,9},epp,{undefined,'A', none}},
- {{5,9},epp,{undefined,'A', 1}}],[]}},
+ {errors,[{{4,10},epp,{undefined,'A', none}},
+ {{5,10},epp,{undefined,'A', 1}}],[]}},
%% cannot overload predefined macros
{overload_mac_c2,
<<"-define(MODULE(X), X).">>,
- {errors,[{{1,9},epp,{redefine_predef,'MODULE'}}],[]}},
+ {errors,[{{1,50},epp,{redefine_predef,'MODULE'}}],[]}},
%% cannot overload macros with same arity
{overload_mac_c3,
@@ -1120,25 +1128,75 @@ otp_8388(Config) when is_list(Config) ->
{macro_1,
<<"-define(m(A), A).\n"
"t() -> ?m(,).\n">>,
- {errors,[{{2,11},epp,{arg_error,m}}],[]}},
+ {errors,[{{2,9},epp,{arg_error,m}}],[]}},
{macro_2,
<<"-define(m(A), A).\n"
"t() -> ?m(a,).\n">>,
- {errors,[{{2,12},epp,{arg_error,m}}],[]}},
+ {errors,[{{2,9},epp,{arg_error,m}}],[]}},
{macro_3,
<<"-define(LINE, a).\n">>,
- {errors,[{{1,9},epp,{redefine_predef,'LINE'}}],[]}},
+ {errors,[{{1,50},epp,{redefine_predef,'LINE'}}],[]}},
{macro_4,
<<"-define(A(B, C, D), {B,C,D}).\n"
"t() -> ?A(a,,3).\n">>,
- {errors,[{{2,8},epp,{mismatch,'A'}}],[]}},
+ {errors,[{{2,9},epp,{mismatch,'A'}}],[]}},
{macro_5,
<<"-define(Q, {?F0(), ?F1(,,4)}).\n">>,
- {errors,[{{1,24},epp,{arg_error,'F1'}}],[]}}
+ {errors,[{{1,62},epp,{arg_error,'F1'}}],[]}},
+ {macro_6,
+ <<"-define(FOO(X), ?BAR(X)).\n"
+ "-define(BAR(X), ?FOO(X)).\n"
+ "-undef(FOO).\n"
+ "test() -> ?BAR(1).\n">>,
+ {errors,[{{4,12},epp,{undefined,'FOO',1}}],[]}}
],
?line [] = compile(Config, Ts),
ok.
+otp_8470(doc) ->
+ ["OTP-8470. Bugfix (one request - two replies)."];
+otp_8470(suite) ->
+ [];
+otp_8470(Config) when is_list(Config) ->
+ Dir = ?config(priv_dir, Config),
+ C = <<"-file(\"erl_parse.yrl\", 486).\n"
+ "-file(\"erl_parse.yrl\", 488).\n">>,
+ ?line File = filename:join(Dir, "otp_8470.erl"),
+ ?line ok = file:write_file(File, C),
+ ?line {ok, _List} = epp:parse_file(File, [], []),
+ file:delete(File),
+ ?line receive _ -> fail() after 0 -> ok end,
+ ok.
+
+otp_8503(doc) ->
+ ["OTP-8503. Record with no fields is considered typed."];
+otp_8503(suite) ->
+ [];
+otp_8503(Config) when is_list(Config) ->
+ Dir = ?config(priv_dir, Config),
+ C = <<"-record(r, {}).">>,
+ ?line File = filename:join(Dir, "otp_8503.erl"),
+ ?line ok = file:write_file(File, C),
+ ?line {ok, List} = epp:parse_file(File, [], []),
+ ?line [_] = [F || {attribute,_,type,{{record,r},[],[]}}=F <- List],
+ file:delete(File),
+ ?line receive _ -> fail() after 0 -> ok end,
+ ok.
+
+otp_8562(doc) ->
+ ["OTP-8503. Record with no fields is considered typed."];
+otp_8562(suite) ->
+ [];
+otp_8562(Config) when is_list(Config) ->
+ Cs = [{otp_8562,
+ <<"-define(P(), {a,b}.\n"
+ "-define(P3, .\n">>,
+ {errors,[{{1,60},epp,missing_parenthesis},
+ {{2,13},epp,missing_parenthesis}], []}}
+ ],
+ ?line [] = compile(Config, Cs),
+ ok.
+
check(Config, Tests) ->
eval_tests(Config, fun check_test/2, Tests).
diff --git a/lib/stdlib/test/erl_pp_SUITE.erl b/lib/stdlib/test/erl_pp_SUITE.erl
index 0a119d1e38..66730b7b94 100644
--- a/lib/stdlib/test/erl_pp_SUITE.erl
+++ b/lib/stdlib/test/erl_pp_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2006-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2006-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%%----------------------------------------------------------------
@@ -45,7 +45,8 @@
hook/1,
neg_indent/1,
tickets/1,
- otp_6321/1, otp_6911/1, otp_6914/1, otp_8150/1, otp_8238/1]).
+ otp_6321/1, otp_6911/1, otp_6914/1, otp_8150/1, otp_8238/1,
+ otp_8473/1, otp_8522/1, otp_8567/1]).
%% Internal export.
-export([ehook/6]).
@@ -149,15 +150,15 @@ recs(Config) when is_list(Config) ->
(A#r1.a)#r.a > 3 -> 3
end(#r1{a = #r{a = 4}}),
7 = fun(A) when record(A#r3.a, r1) -> 7 end(#r3{}),
- [#r1{a = 2,b = 1}] =
+ [#r1{a = 2,b = 1}] =
fun() ->
- [A || A <- [#r1{a = 1, b = 3},
- #r2{a = 2,b = 1},
+ [A || A <- [#r1{a = 1, b = 3},
+ #r2{a = 2,b = 1},
#r1{a = 2, b = 1}],
- A#r1.a >
+ A#r1.a >
A#r1.b]
end(),
- {[_],b} =
+ {[_],b} =
fun(L) ->
%% A is checked only once:
R1 = [{A,B} || A <- L, A#r1.a, B <- L, A#r1.b],
@@ -176,7 +177,7 @@ recs(Config) when is_list(Config) ->
end(#r1{a = 2}),
%% The test done twice (an effect of doing the test as soon as possible).
- 3 = fun(A) when A#r1.a > 3,
+ 3 = fun(A) when A#r1.a > 3,
record(A, r1) -> 3
end(#r1{a = 5}),
@@ -250,18 +251,18 @@ recs(Config) when is_list(Config) ->
ok
end(),
- both = fun(A) when A#r.a, A#r.b -> both
+ both = fun(A) when A#r.a, A#r.b -> both
end(#r{a = true, b = true}),
ok = fun() ->
- F = fun(A, B) when ((A#r1.a) orelse (B#r2.a))
+ F = fun(A, B) when ((A#r1.a) orelse (B#r2.a))
or (B#r2.b) or (A#r1.b) ->
true;
(_, _) -> false
end,
- true = F(#r1{a = false, b = false},
+ true = F(#r1{a = false, b = false},
#r2{a = false, b = true}),
- false = F(#r1{a = true, b = true},
+ false = F(#r1{a = true, b = true},
#r1{a = false, b = true}),
ok
end(),
@@ -272,7 +273,7 @@ recs(Config) when is_list(Config) ->
<<"-record(r1, {a, b = foo:bar(kljlfjsdlf, kjlksdjf)}).
-record(r2, {c = #r1{}, d = #r1{a = bar:foo(kljklsjdf)}}).
- t() ->
+ t() ->
R = #r2{},
R#r2{c = R, d = #r1{}}.">>}
],
@@ -303,10 +304,10 @@ try_catch(Config) when is_list(Config) ->
{try_6,
<<"t() -> try 1=2 catch throw:{badmatch,2} -> 3 end.">>},
{try_7,
- <<"t() -> try 1=2 of 3 -> 4
+ <<"t() -> try 1=2 of 3 -> 4
catch error:{badmatch,2} -> 5 end.">>},
{try_8,
- <<"t() -> try 1=2
+ <<"t() -> try 1=2
catch error:{badmatch,2} -> 3
after put(try_catch, 4) end.">>},
{try_9,
@@ -370,7 +371,7 @@ receive_after(Config) when is_list(Config) ->
{X,Y};
Z ->
Z
- after
+ after
foo:bar() ->
{3,4}
end.">>}
@@ -428,7 +429,7 @@ head_tail(Config) when is_list(Config) ->
{list_4,
<<"t() -> [a].">>},
{list_5,
- <<"t() ->
+ <<"t() ->
[foo:bar(lkjljlskdfj, klsdajflds, sdafkljsdlfkjdas, kjlsdadjl),
bar:foo(kljlkjsdf, lkjsdlfj, [kljsfj, sdfdsfsad])].">>}
],
@@ -461,7 +462,7 @@ cond1(Config) when is_list(Config) ->
" true ->\n"
" {x,y}\n"
"end" = CChars,
-% ?line ok = pp_expr(<<"cond
+% ?line ok = pp_expr(<<"cond
% {foo,bar} ->
% [a,b];
% true ->
@@ -543,7 +544,7 @@ old_mnemosyne_syntax(Config) when is_list(Config) ->
" X <- table(tab),\n"
" X.foo = bar\n"
" ]\n"
- "end" =
+ "end" =
lists:flatten(erl_pp:expr(Q)),
R = {rule,12,sales,2,
@@ -558,7 +559,7 @@ old_mnemosyne_syntax(Config) when is_list(Config) ->
{atom,14,sales}}]}]},
?line "sales(E, employee) :-\n"
" E <- table(employee),\n"
- " E.salary = sales.\n" =
+ " E.salary = sales.\n" =
lists:flatten(erl_pp:form(R)),
ok.
@@ -659,7 +660,7 @@ hook(Config) when is_list(Config) ->
?line "INVALID-FORM:{foo,bar}:" = lists:flatten(erl_pp:expr({foo,bar})),
- %% A list (as before R6), not a list of lists.
+ %% A list (as before R6), not a list of lists.
G = [{op,1,'>',{atom,1,a},{foo,{atom,1,b}}}], % not a proper guard
GChars = lists:flatten(erl_pp:guard(G, H)),
G2 = [{op,1,'>',{atom,1,a},
@@ -676,23 +677,23 @@ hook(Config) when is_list(Config) ->
%% Note: no leading spaces before "begin".
Block = {block,0,[{match,0,{var,0,'A'},{integer,0,3}},
{atom,0,true}]},
- ?line "begin\n A =" ++ _ =
+ ?line "begin\n A =" ++ _ =
lists:flatten(erl_pp:expr(Block, 17, none)),
%% Special...
- ?line true =
+ ?line true =
"{some,value}" =:= lists:flatten(erl_pp:expr({value,0,{some,value}})),
%% Silly...
?line true =
- "if true -> 0 end" =:=
+ "if true -> 0 end" =:=
flat_expr({'if',0,[{clause,0,[],[],[{atom,0,0}]}]}),
%% More compatibility: before R6
OldIf = {'if',0,[{clause,0,[],[{atom,0,true}],[{atom,0,b}]}]},
NewIf = {'if',0,[{clause,0,[],[[{atom,0,true}]],[{atom,0,b}]}]},
OldIfChars = lists:flatten(erl_pp:expr(OldIf)),
- NewIfChars = lists:flatten(erl_pp:expr(NewIf)),
+ NewIfChars = lists:flatten(erl_pp:expr(NewIf)),
?line true = OldIfChars =:= NewIfChars,
ok.
@@ -705,7 +706,7 @@ remove_indentation(S) ->
ehook(HE, I, P, H, foo, bar) ->
hook(HE, I, P, H).
-hook({foo,E}, I, P, H) ->
+hook({foo,E}, I, P, H) ->
erl_pp:expr({call,0,{atom,0,foo},[E]}, I, P, H).
neg_indent(suite) ->
@@ -721,14 +722,14 @@ neg_indent(Config) when is_list(Config) ->
end">>),
?line ok = pp_expr(
<<"fun() ->
- F = fun(A, B) when ((A#r1.a) orelse (B#r2.a))
+ F = fun(A, B) when ((A#r1.a) orelse (B#r2.a))
or (B#r2.b) or (A#r1.b) ->
true;
(_, _) -> false
end,
- true = F(#r1{a = false, b = false},
+ true = F(#r1{a = false, b = false},
#r2{a = false, b = true}),
- false = F(#r1{a = true, b = true},
+ false = F(#r1{a = true, b = true},
#r1{a = false, b = true}),
ok
end()">>),
@@ -763,7 +764,8 @@ neg_indent(Config) when is_list(Config) ->
ok.
tickets(suite) ->
- [otp_6321, otp_6911, otp_6914, otp_8150, otp_8238].
+ [otp_6321, otp_6911, otp_6914, otp_8150, otp_8238, otp_8473, otp_8522,
+ otp_8567].
otp_6321(doc) ->
"OTP_6321. Bug fix of exprs().";
@@ -812,7 +814,7 @@ otp_8150(doc) ->
"OTP_8150. Types.";
otp_8150(suite) -> [];
otp_8150(Config) when is_list(Config) ->
- ?line _ = [{N,ok} = {N,pp_forms(B)} ||
+ ?line _ = [{N,ok} = {N,pp_forms(B)} ||
{N,B} <- type_examples()
],
ok.
@@ -846,7 +848,7 @@ type_examples() ->
{ex4,<<"-type t1() :: atom(). ">>},
{ex5,<<"-type t2() :: [t1()]. ">>},
{ex6,<<"-type t3(Atom) :: integer(Atom). ">>},
- {ex7,<<"-type t4() :: t3(foobar). ">>},
+ {ex7,<<"-type '\\'t::4'() :: t3('\\'foobar'). ">>},
{ex8,<<"-type t5() :: {t1(), t3(foo)}. ">>},
{ex9,<<"-type t6() :: 1 | 2 | 3 | 'foo' | 'bar'. ">>},
{ex10,<<"-type t7() :: []. ">>},
@@ -882,16 +884,16 @@ type_examples() ->
"1|2|3|4|a|b|c|d| "
"nonempty_maybe_improper_list(integer, any())]}. ">>},
{ex30,<<"-type t99() ::"
- "{t2(),t4(),t5(),t6(),t7(),t8(),t10(),t14(),"
+ "{t2(),'\\'t::4'(),t5(),t6(),t7(),t8(),t10(),t14(),"
"t15(),t20(),t21(), t22(),t25()}. ">>},
{ex31,<<"-spec t1(FooBar :: t99()) -> t99();"
"(t2()) -> t2();"
- "(t4()) -> t4() when is_subtype(t4(), t24);"
+ "('\\'t::4'()) -> '\\'t::4'() when is_subtype('\\'t::4'(), t24);"
"(t23()) -> t23() when is_subtype(t23(), atom()),"
" is_subtype(t23(), t14());"
"(t24()) -> t24() when is_subtype(t24(), atom()),"
" is_subtype(t24(), t14()),"
- " is_subtype(t24(), t4()).">>},
+ " is_subtype(t24(), '\\'t::4'()).">>},
{ex32,<<"-spec mod:t2() -> any(). ">>},
{ex33,<<"-opaque attributes_data() :: "
"[{'column', column()} | {'line', info_line()} |"
@@ -911,12 +913,94 @@ type_examples() ->
"f19 = 3 :: integer()|undefined,"
"f5 = 3 :: undefined|integer()}). ">>}].
+otp_8473(doc) ->
+ "OTP_8473. Bugfix abstract type 'fun'.";
+otp_8473(suite) -> [];
+otp_8473(Config) when is_list(Config) ->
+ Ex = [{ex1,<<"-type 'fun'(A) :: A.\n"
+ "-type funkar() :: 'fun'(fun((integer()) -> atom())).\n">>}],
+ ?line _ = [{N,ok} = {N,pp_forms(B)} ||
+ {N,B} <- Ex],
+ ok.
+
+otp_8522(doc) ->
+ "OTP_8522. Avoid duplicated 'undefined' in record field types.";
+otp_8522(suite) -> [];
+otp_8522(Config) when is_list(Config) ->
+ FileName = filename('otp_8522.erl', Config),
+ C = <<"-module(otp_8522).\n"
+ "-record(r, {f1 :: undefined,\n"
+ " f2 :: A :: undefined,\n"
+ " f3 :: (undefined),\n"
+ " f4 :: x | y | undefined | z,\n"
+ " f5 :: a}).\n">>,
+ ?line ok = file:write_file(FileName, C),
+ ?line {ok, _} = compile:file(FileName, [{outdir,?privdir},debug_info]),
+ BF = filename("otp_8522", Config),
+ ?line {ok, A} = beam_lib:chunks(BF, [abstract_code]),
+ ?line 5 = count_atom(A, undefined),
+ ok.
+
+count_atom(A, A) ->
+ 1;
+count_atom(T, A) when is_tuple(T) ->
+ count_atom(tuple_to_list(T), A);
+count_atom(L, A) when is_list(L) ->
+ lists:sum([count_atom(T, A) || T <- L]);
+count_atom(_, _) ->
+ 0.
+
+otp_8567(doc) ->
+ "OTP_8567. Avoid duplicated 'undefined' in record field types.";
+otp_8567(suite) -> [];
+otp_8567(Config) when is_list(Config) ->
+ FileName = filename('otp_8567.erl', Config),
+ C = <<"-module otp_8567.\n"
+ "-compile export_all.\n"
+ "-spec(a).\n"
+ "-record r, {a}.\n"
+ "-record s, {a :: integer()}.\n"
+ "-type t() :: {#r{},#s{}}.\n">>,
+ ?line ok = file:write_file(FileName, C),
+ ?line {error,[{_,[{3,erl_parse,["syntax error before: ","')'"]}]}],_} =
+ compile:file(FileName, [return]),
+
+ F = <<"-module(otp_8567).\n"
+ "-compile(export_all).\n"
+ "-record(t, {a}).\n"
+ "-record(u, {a :: integer()}).\n"
+ "-opaque ot() :: {#t{}, #u{}}.\n"
+ "-opaque(ot1() :: atom()).\n"
+ "-type a() :: integer().\n"
+ "-spec t() -> a().\n"
+ "t() ->\n"
+ " 3.\n"
+ "\n"
+ "-spec(t1/1 :: (ot()) -> ot1()).\n"
+ "t1(A) ->\n"
+ " A.\n"
+ "\n"
+ "-spec(t2 (ot()) -> ot1()).\n"
+ "t2(A) ->\n"
+ " A.\n"
+ "\n"
+ "-spec(otp_8567:t3/1 :: (ot()) -> ot1()).\n"
+ "t3(A) ->\n"
+ " A.\n"
+ "\n"
+ "-spec(otp_8567:t4 (ot()) -> ot1()).\n"
+ "t4(A) ->\n"
+ " A.\n">>,
+ ?line ok = pp_forms(F),
+
+ ok.
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
compile(Config, Tests) ->
F = fun({N,P}, BadL) ->
case catch compile_file(Config, P) of
- ok ->
+ ok ->
case pp_forms(P) of
ok ->
BadL;
@@ -924,8 +1008,8 @@ compile(Config, Tests) ->
?t:format("~nTest ~p failed.~n", [N]),
fail()
end;
- Bad ->
- ?t:format("~nTest ~p failed. got~n ~p~n",
+ Bad ->
+ ?t:format("~nTest ~p failed. got~n ~p~n",
[N, Bad]),
fail()
end
@@ -955,7 +1039,7 @@ compile_file(Config, Test0) ->
Error ->
Error
end.
-
+
compile_file(Config, Test0, Opts0) ->
FileName = filename('erl_pp_test.erl', Config),
Test = list_to_binary(["-module(erl_pp_test). "
@@ -964,7 +1048,7 @@ compile_file(Config, Test0, Opts0) ->
Opts = [export_all,return,nowarn_unused_record,{outdir,?privdir} | Opts0],
ok = file:write_file(FileName, Test),
case compile:file(FileName, Opts) of
- {ok, _M, _Ws} ->
+ {ok, _M, _Ws} ->
{ok, filename:rootname(FileName)};
Error -> Error
end.
@@ -991,7 +1075,7 @@ pp_forms(Bin, Hook) ->
end.
parse_and_pp_forms(String, Hook) ->
- lists:append(lists:map(fun(AF) -> erl_pp:form(AF, Hook)
+ lists:append(lists:map(fun(AF) -> erl_pp:form(AF, Hook)
end, parse_forms(String))).
parse_forms(Chars) ->
@@ -999,13 +1083,13 @@ parse_forms(Chars) ->
parse_forms2(String, [], 1, []).
parse_forms2([], _Cont, _Line, Forms) ->
- lists:reverse(Forms);
+ lists:reverse(Forms);
parse_forms2(String, Cont0, Line, Forms) ->
case erl_scan:tokens(Cont0, String, Line) of
{done, {ok, Tokens, EndLine}, Chars} ->
{ok, Form} = erl_parse:parse_form(Tokens),
parse_forms2(Chars, [], EndLine, [Form | Forms]);
- {more, Cont} when element(3, Cont) =:= [] ->
+ {more, Cont} when element(3, Cont) =:= [] ->
%% extra spaces after forms...
parse_forms2([], Cont, Line, Forms);
{more, Cont} ->
@@ -1023,10 +1107,10 @@ pp_expr(Bin, Hook) ->
PP2 = (catch parse_and_pp_expr(PPneg, 0, Hook)),
if
PP1 =:= PP2 -> % same line numbers
- case
+ case
(test_max_line(PP1) =:= ok) and (test_new_line(PPneg) =:= ok)
of
- true ->
+ true ->
ok;
false ->
not_ok
@@ -1059,7 +1143,7 @@ test_max_line(String) ->
end.
max_line(String) ->
- lists:max([0 | [length(Sub) ||
+ lists:max([0 | [length(Sub) ||
Sub <- string:tokens(String, "\n"),
string:substr(Sub, 1, 5) =/= "-file"]]).
diff --git a/lib/stdlib/test/erl_scan_SUITE.erl b/lib/stdlib/test/erl_scan_SUITE.erl
index 32a06d15c7..afeb67eeb1 100644
--- a/lib/stdlib/test/erl_scan_SUITE.erl
+++ b/lib/stdlib/test/erl_scan_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1998-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(erl_scan_SUITE).
@@ -34,7 +34,7 @@
-define(line, put(line, ?LINE), ).
-define(config(A,B),config(A,B)).
-define(t, test_server).
-%% config(priv_dir, _) ->
+%% config(priv_dir, _) ->
%% ".";
%% config(data_dir, _) ->
%% ".".
@@ -45,7 +45,7 @@
init_per_testcase(_Case, Config) when is_list(Config) ->
?line Dog=test_server:timetrap(test_server:seconds(1200)),
[{watchdog, Dog}|Config].
-
+
fin_per_testcase(_Case, Config) ->
Dog=?config(watchdog, Config),
test_server:timetrap_cancel(Dog),
@@ -97,7 +97,7 @@ assert_type(N, integer) when is_integer(N) ->
ok;
assert_type(N, atom) when is_atom(N) ->
ok.
-
+
check(String) ->
Error = erl_scan:string(String),
check_error(Error, erl_scan).
@@ -146,7 +146,7 @@ iso88591(Config) when is_list(Config) ->
ok -> ok %Aok
end.
-otp_7810(doc) ->
+otp_7810(doc) ->
["OTP-7810. White spaces, comments, and more.."];
otp_7810(suite) ->
[];
@@ -185,7 +185,7 @@ reserved_words() ->
'andalso', 'orelse', 'end', 'fun', 'if', 'let', 'of',
'query', 'receive', 'when', 'bnot', 'not', 'div',
'rem', 'band', 'and', 'bor', 'bxor', 'bsl', 'bsr',
- 'or', 'xor', 'spec'] , % 'spec' shouldn't be there...
+ 'or', 'xor'] ,
[begin
?line {RW, true} = {RW, erl_scan:reserved_word(RW)},
S = atom_to_list(RW),
@@ -203,7 +203,7 @@ atoms() ->
?line test_string("a@2", [{atom,1,a@2}]),
?line test_string([39,65,200,39], [{atom,1,'A�'}]),
?line test_string("�rlig �sten", [{atom,1,�rlig},{atom,1,�sten}]),
- ?line {ok,[{atom,_,'$a'}],{1,6}} =
+ ?line {ok,[{atom,_,'$a'}],{1,6}} =
erl_scan:string("'$\\a'", {1,1}),
?line test("'$\\a'"),
ok.
@@ -221,8 +221,8 @@ punctuations() ->
Three = ["/=:=", "<=:=", "==:=", ">=:="], % three tokens...
No = Three ++ L,
SL0 = [{S1++S2,{-length(S1),S1,S2}} ||
- S1 <- L,
- S2 <- L,
+ S1 <- L,
+ S2 <- L,
not lists:member(S1++S2, No)],
SL = family_list(SL0),
%% Two tokens. When there are several answers, the one with
@@ -250,15 +250,15 @@ comments() ->
?line test("a %%\n b"),
?line {ok,[],1} = erl_scan:string("%"),
?line test("a %%\n b"),
- ?line {ok,[{atom,_,a},{atom,_,b}],{2,3}} =
+ ?line {ok,[{atom,_,a},{atom,_,b}],{2,3}} =
erl_scan:string("a %%\n b",{1,1}),
- ?line {ok,[{atom,_,a},{comment,_,"%%"},{atom,_,b}],{2,3}} =
+ ?line {ok,[{atom,_,a},{comment,_,"%%"},{atom,_,b}],{2,3}} =
erl_scan:string("a %%\n b",{1,1}, [return_comments]),
?line {ok,[{atom,_,a},
{white_space,_," "},
{white_space,_,"\n "},
{atom,_,b}],
- {2,3}} =
+ {2,3}} =
erl_scan:string("a %%\n b",{1,1},[return_white_spaces]),
?line {ok,[{atom,_,a},
{white_space,_," "},
@@ -275,14 +275,14 @@ errors() ->
?line {error,{1,erl_scan,char},1} = erl_scan:string("$"),
?line test_string([34,65,200,34], [{string,1,"A�"}]),
?line test_string("\\", [{'\\',1}]),
- ?line {'EXIT',_} =
+ ?line {'EXIT',_} =
(catch {foo, erl_scan:string('$\\a', {1,1})}), % type error
- ?line {'EXIT',_} =
+ ?line {'EXIT',_} =
(catch {foo, erl_scan:tokens([], '$\\a', {1,1})}), % type error
?line "{a,tuple}" = erl_scan:format_error({a,tuple}),
ok.
-
+
integers() ->
[begin
I = list_to_integer(S),
@@ -299,14 +299,14 @@ base_integers() ->
?line test_string(BS++"#"++S, Ts)
end || {BS,S} <- [{"2","11"}, {"5","23234"}, {"12","05a"},
{"16","abcdef"}, {"16","ABCDEF"}] ],
-
+
?line {error,{1,erl_scan,{base,1}},1} = erl_scan:string("1#000"),
-
+
?line test_string("12#bc", [{integer,1,11},{atom,1,c}]),
-
+
[begin
Str = BS ++ "#" ++ S,
- ?line {error,{1,erl_scan,{illegal,integer}},1} =
+ ?line {error,{1,erl_scan,{illegal,integer}},1} =
erl_scan:string(Str)
end || {BS,S} <- [{"3","3"},{"15","f"}, {"12","c"}] ],
@@ -323,8 +323,8 @@ floats() ->
end || FS <- ["1.0","001.17","3.31200","1.0e0","1.0E17",
"34.21E-18", "17.0E+14"]],
?line test_string("1.e2", [{integer,1,1},{'.',1},{atom,1,e2}]),
-
- ?line {error,{1,erl_scan,{illegal,float}},1} =
+
+ ?line {error,{1,erl_scan,{illegal,float}},1} =
erl_scan:string("1.0e400"),
[begin
?line {error,{1,erl_scan,{illegal,float}},1} = erl_scan:string(S)
@@ -345,16 +345,16 @@ dots() ->
{".a", {ok,[{'.',1},{atom,1,a}],1}}
],
?line [R = erl_scan:string(S) || {S, R} <- Dot],
-
+
?line {ok,[{dot,_}=T1],{1,2}} = erl_scan:string(".", {1,1}, text),
- ?line [{column,1},{length,1},{line,1},{text,"."}] =
+ ?line [{column,1},{length,1},{line,1},{text,"."}] =
erl_scan:token_info(T1, [column, length, line, text]),
?line {ok,[{dot,_}=T2],{1,3}} = erl_scan:string(".%", {1,1}, text),
- ?line [{column,1},{length,1},{line,1},{text,"."}] =
+ ?line [{column,1},{length,1},{line,1},{text,"."}] =
erl_scan:token_info(T2, [column, length, line, text]),
?line {ok,[{dot,_}=T3],{1,6}} =
erl_scan:string(".% �h", {1,1}, text),
- ?line [{column,1},{length,1},{line,1},{text,"."}] =
+ ?line [{column,1},{length,1},{line,1},{text,"."}] =
erl_scan:token_info(T3, [column, length, line, text]),
?line {error,{{1,2},erl_scan,char},{1,3}} =
erl_scan:string(".$", {1,1}),
@@ -376,10 +376,10 @@ dots() ->
?line {done,{ok,[{comment,_,"%. "},
{white_space,_,"\n"},
{dot,_}],
- {2,3}}, ""} =
+ {2,3}}, ""} =
erl_scan:tokens(C, "\n. ", {1,1}, return), % any loc, any options
- ?line [test_string(S, R) ||
+ ?line [test_string(S, R) ||
{S, R} <- [{".$\n", [{'.',1},{char,1,$\n}]},
{"$\\\n", [{char,1,$\n}]},
{"'\\\n'", [{atom,1,'\n'}]},
@@ -392,7 +392,7 @@ chars() ->
Ts = [{char,1,C}],
?line test_string(L, Ts)
end || C <- lists:seq(0, 255)],
-
+
%% Leading zeroes...
[begin
L = lists:flatten(io_lib:format("$\\~3.8.0b", [C])),
@@ -406,13 +406,13 @@ chars() ->
Ts = [{char,1,C band 2#11111}],
?line test_string(L, Ts)
end || C <- lists:seq(0, 255)],
-
+
[begin
L = "$\\" ++ [C],
Ts = [{char,1,V}],
?line test_string(L, Ts)
- end || {C,V} <- [{$n,$\n}, {$r,$\r}, {$t,$\t}, {$v,$\v},
- {$b,$\b}, {$f,$\f}, {$e,$\e}, {$s,$\s},
+ end || {C,V} <- [{$n,$\n}, {$r,$\r}, {$t,$\t}, {$v,$\v},
+ {$b,$\b}, {$f,$\f}, {$e,$\e}, {$s,$\s},
{$d,$\d}]],
EC = [$\n,$\r,$\t,$\v,$\b,$\f,$\e,$\s,$\d],
@@ -445,7 +445,7 @@ chars() ->
end || C <- lists:seq(0, 255) -- (No ++ [$\\])],
?line test_string("$\n", [{char,1,$\n}]),
- ?line {error,{{1,1},erl_scan,char},{1,4}} =
+ ?line {error,{{1,1},erl_scan,char},{1,4}} =
erl_scan:string("$\\^",{1,1}),
?line test_string("$\\\n", [{char,1,$\n}]),
%% Robert's scanner returns line 1:
@@ -453,7 +453,7 @@ chars() ->
?line test_string("$\n\n", [{char,1,$\n}]),
?line test("$\n\n"),
ok.
-
+
variables() ->
?line test_string(" \237_Aou�eiy��", [{var,1,'_Aou�eiy��'}]),
@@ -469,8 +469,8 @@ eof() ->
?line {done,{eof,2},eof} = erl_scan:tokens(C1, eof, 1),
{more, C2} = erl_scan:tokens([], "abra", 1),
%% An error before R13A.
- %% ?line {done,Err={error,{1,erl_scan,scan},1},eof} =
- ?line {done,{ok,[{atom,1,abra}],1},eof} =
+ %% ?line {done,Err={error,{1,erl_scan,scan},1},eof} =
+ ?line {done,{ok,[{atom,1,abra}],1},eof} =
erl_scan:tokens(C2, eof, 1),
%% With column.
@@ -478,7 +478,7 @@ eof() ->
?line {done,{eof,{2,1}},eof} = erl_scan:tokens(C3, eof, 1),
{more, C4} = erl_scan:tokens([], "abra", {1,1}),
%% An error before R13A.
- %% ?line {done,{error,{{1,1},erl_scan,scan},{1,5}},eof} =
+ %% ?line {done,{error,{{1,1},erl_scan,scan},{1,5}},eof} =
?line {done,{ok,[{atom,_,abra}],{1,5}},eof} =
erl_scan:tokens(C4, eof, 1),
@@ -486,7 +486,7 @@ eof() ->
%% the R12B scanner returns eof as LeftoverChars: (eof is correct)
?line {more, C5} = erl_scan:tokens([], "a", 1),
%% An error before R13A.
- %% ?line {done,{error,{1,erl_scan,scan},1},eof} =
+ %% ?line {done,{error,{1,erl_scan,scan},1},eof} =
?line {done,{ok,[{atom,1,a}],1},eof} =
erl_scan:tokens(C5,eof,1),
@@ -528,7 +528,7 @@ illegal() ->
erl_scan:tokens([], "foo "++Atom++". ", {1,1}),
?line {error,{{1,1},erl_scan,{illegal,atom}},{1,1003}} =
erl_scan:string(QAtom, {1,1}),
- ?line {done,{error,{{1,5},erl_scan,{illegal,atom}},{1,1007}},". "} =
+ ?line {done,{error,{{1,5},erl_scan,{illegal,atom}},{1,1007}},". "} =
erl_scan:tokens([], "foo "++QAtom++". ", {1,1}),
?line {error,{{1,1},erl_scan,{illegal,var}},{1,1001}} =
erl_scan:string(Var, {1,1}),
@@ -553,7 +553,7 @@ crashes() ->
?line {'EXIT',_} = (catch {foo, erl_scan:string("\"\\v"++[-1,$"])}), %$"
?line {'EXIT',_} = (catch {foo, erl_scan:string([$",-1,$"])}),
?line {'EXIT',_} = (catch {foo, erl_scan:string("% foo"++[-1])}),
- ?line {'EXIT',_} =
+ ?line {'EXIT',_} =
(catch {foo, erl_scan:string("% foo"++[-1],{1,1})}),
?line {'EXIT',_} = (catch {foo, erl_scan:string([a])}), % type error
@@ -564,7 +564,7 @@ crashes() ->
?line {'EXIT',_} = (catch {foo, erl_scan:string("\"\\v"++[a,$"])}), %$"
?line {'EXIT',_} = (catch {foo, erl_scan:string([$",a,$"])}),
?line {'EXIT',_} = (catch {foo, erl_scan:string("% foo"++[a])}),
- ?line {'EXIT',_} =
+ ?line {'EXIT',_} =
(catch {foo, erl_scan:string("% foo"++[a],{1,1})}),
?line {'EXIT',_} = (catch {foo, erl_scan:string([3.0])}), % type error
@@ -573,26 +573,26 @@ crashes() ->
options() ->
%% line and column are not options, but tested here
- ?line {ok,[{atom,1,foo},{white_space,1," "},{comment,1,"% bar"}], 1} =
+ ?line {ok,[{atom,1,foo},{white_space,1," "},{comment,1,"% bar"}], 1} =
erl_scan:string("foo % bar", 1, return),
- ?line {ok,[{atom,1,foo},{white_space,1," "}],1} =
+ ?line {ok,[{atom,1,foo},{white_space,1," "}],1} =
erl_scan:string("foo % bar", 1, return_white_spaces),
- ?line {ok,[{atom,1,foo},{comment,1,"% bar"}],1} =
+ ?line {ok,[{atom,1,foo},{comment,1,"% bar"}],1} =
erl_scan:string("foo % bar", 1, return_comments),
- ?line {ok,[{atom,17,foo}],17} =
+ ?line {ok,[{atom,17,foo}],17} =
erl_scan:string("foo % bar", 17),
- ?line {'EXIT',{function_clause,_}} =
- (catch {foo,
+ ?line {'EXIT',{function_clause,_}} =
+ (catch {foo,
erl_scan:string("foo % bar", {a,1}, [])}), % type error
- ?line {ok,[{atom,_,foo}],{17,18}} =
+ ?line {ok,[{atom,_,foo}],{17,18}} =
erl_scan:string("foo % bar", {17,9}, []),
- ?line {'EXIT',{function_clause,_}} =
+ ?line {'EXIT',{function_clause,_}} =
(catch {foo,
erl_scan:string("foo % bar", {1,0}, [])}), % type error
- ?line {ok,[{foo,1}],1} =
+ ?line {ok,[{foo,1}],1} =
erl_scan:string("foo % bar",1, [{reserved_word_fun,
fun(W) -> W =:= foo end}]),
- ?line {'EXIT',{badarg,_}} =
+ ?line {'EXIT',{badarg,_}} =
(catch {foo,
erl_scan:string("foo % bar",1, % type error
[{reserved_word_fun,
@@ -618,14 +618,14 @@ more_options() ->
token_info() ->
?line {ok,[T1],_} = erl_scan:string("foo", {1,18}, [text]),
- {'EXIT',{badarg,_}} =
+ {'EXIT',{badarg,_}} =
(catch {foo, erl_scan:token_info(T1, foo)}), % type error
?line {line,1} = erl_scan:token_info(T1, line),
?line {column,18} = erl_scan:token_info(T1, column),
?line {length,3} = erl_scan:token_info(T1, length),
?line {text,"foo"} = erl_scan:token_info(T1, text),
?line [{category,atom},{column,18},{length,3},{line,1},
- {symbol,foo},{text,"foo"}] =
+ {symbol,foo},{text,"foo"}] =
erl_scan:token_info(T1),
?line [{length,3},{column,18}] =
erl_scan:token_info(T1, [length, column]),
@@ -648,9 +648,9 @@ token_info() ->
?line {category,'='} = erl_scan:token_info(T3, category),
?line [{symbol,'='}] = erl_scan:token_info(T3, [symbol]),
ok.
-
+
attributes_info() ->
- ?line {'EXIT',_} =
+ ?line {'EXIT',_} =
(catch {foo,erl_scan:attributes_info(foo)}), % type error
?line [{line,18}] = erl_scan:attributes_info(18),
?line {location,19} = erl_scan:attributes_info(19, location),
@@ -717,9 +717,9 @@ set_attribute() ->
?line [{line,{17,11}},{text,"foo"}] =
erl_scan:attributes_info(A7, [line,column,text]),
- ?line {'EXIT',_} =
+ ?line {'EXIT',_} =
(catch {foo, erl_scan:set_attribute(line, [], F2)}), % type error
- ?line {'EXIT',{badarg,_}} =
+ ?line {'EXIT',{badarg,_}} =
(catch {foo, erl_scan:set_attribute(column, [], F2)}), % type error
ok.
@@ -790,14 +790,14 @@ unicode() ->
?line {ok,[{char,1,83},{integer,1,45}],1} =
erl_scan:string("$\\12345"), % not unicode
- ?line {error,{1,erl_scan,{illegal,character}},1} =
+ ?line {error,{1,erl_scan,{illegal,character}},1} =
erl_scan:string([1089]),
- ?line {error,{{1,1},erl_scan,{illegal,character}},{1,2}} =
+ ?line {error,{{1,1},erl_scan,{illegal,character}},{1,2}} =
erl_scan:string([1089], {1,1}),
?line {error,{1,erl_scan,{illegal,character}},1} =
- %% ?line {error,{1,erl_scan,{illegal,atom}},1} =
+ %% ?line {error,{1,erl_scan,{illegal,atom}},1} =
erl_scan:string("'a"++[1089]++"b'"),
- ?line {error,{{1,3},erl_scan,{illegal,character}},{1,4}} =
+ ?line {error,{{1,3},erl_scan,{illegal,character}},{1,4}} =
erl_scan:string("'a"++[1089]++"b'", {1,1}),
?line test("\"a"++[1089]++"b\""),
?line {ok,[{char,1,1}],1} = erl_scan:string([$$,$\\,$^,1089]),
@@ -822,7 +822,7 @@ unicode() ->
?line {ok,[{integer,1,16#aaa}],1} = erl_scan:string(Qs),
?line {ok,[Q2],{1,9}} = erl_scan:string("$\\x{aaa}", {1,1}, text),
?line [{category,integer},{column,1},{length,8},
- {line,1},{symbol,16#aaa},{text,Qs}] =
+ {line,1},{symbol,16#aaa},{text,Qs}] =
erl_scan:token_info(Q2),
U1 = "\"\\x{aaa}\"",
@@ -830,11 +830,11 @@ unicode() ->
?line [{category,'['},{column,1},{length,1},{line,1},
{symbol,'['},{text,"\""}] = erl_scan:token_info(T1, Tags),
?line [{category,integer},{column,2},{length,7},
- {line,1},{symbol,16#aaa},{text,"\\x{aaa}"}] =
+ {line,1},{symbol,16#aaa},{text,"\\x{aaa}"}] =
erl_scan:token_info(T2, Tags),
?line [{category,']'},{column,9},{length,1},{line,1},
{symbol,']'},{text,"\""}] = erl_scan:token_info(T3, Tags),
- ?line {ok,[{'[',1},{integer,1,16#aaa},{']',1}],1} =
+ ?line {ok,[{'[',1},{integer,1,16#aaa},{']',1}],1} =
erl_scan:string(U1, 1),
U2 = "\"\\x41\\x{fff}\\x42\"",
@@ -844,7 +844,7 @@ unicode() ->
U3 = "\"a\n\\x{fff}\n\"",
?line {ok,[{'[',1},{char,1,$a},{',',1},{char,1,$\n},
{',',2},{integer,2,16#fff},{',',2},{char,2,$\n},
- {']',3}],3} =
+ {']',3}],3} =
erl_scan:string(U3, 1),
U4 = "\"\\^\n\\x{aaa}\\^\n\"",
@@ -867,10 +867,10 @@ unicode() ->
{char,_,$d},{']',_}],{1,8}} = erl_scan:string(Str1, {1,1}),
?line test(Str1),
Comment = "%% "++[1089],
- ?line {ok,[{comment,1,[$%,$%,$\s,1089]}],1} =
+ ?line {ok,[{comment,1,[$%,$%,$\s,1089]}],1} =
erl_scan:string(Comment, 1, return),
- ?line {ok,[{comment,_,[$%,$%,$\s,1089]}],{1,5}} =
- erl_scan:string(Comment, {1,1}, return),
+ ?line {ok,[{comment,_,[$%,$%,$\s,1089]}],{1,5}} =
+ erl_scan:string(Comment, {1,1}, return),
ok.
more_chars() ->
@@ -885,7 +885,7 @@ more_chars() ->
erl_scan:tokens(C1, eof, 1),
?line {ok,[{char,1,123},{atom,1,a},{'}',1}],1} =
erl_scan:string("$\\{a}"),
-
+
?line {error,{{1,1},erl_scan,char},{1,4}} =
erl_scan:string("$\\x", {1,1}),
?line {error,{{1,1},erl_scan,char},{1,5}} =
@@ -893,12 +893,12 @@ more_chars() ->
?line {more, C3} = erl_scan:tokens([], "$\\x", {1,1}),
?line {done,{error,{{1,1},erl_scan,char},{1,4}},eof} =
erl_scan:tokens(C3, eof, 1),
- ?line {error,{{1,1},erl_scan,char},{1,5}} =
+ ?line {error,{{1,1},erl_scan,char},{1,5}} =
erl_scan:string("$\\x{",{1,1}),
?line {more, C2} = erl_scan:tokens([], "$\\x{", {1,1}),
- ?line {done,{error,{{1,1},erl_scan,char},{1,5}},eof} =
+ ?line {done,{error,{{1,1},erl_scan,char},{1,5}},eof} =
erl_scan:tokens(C2, eof, 1),
- ?line {error,{1,erl_scan,{illegal,character}},1} =
+ ?line {error,{1,erl_scan,{illegal,character}},1} =
erl_scan:string("$\\x{g}"),
?line {error,{{1,1},erl_scan,{illegal,character}},{1,5}} =
erl_scan:string("$\\x{g}", {1,1}),
@@ -924,12 +924,12 @@ more_chars() ->
?line test("$\\x{10FFFF}"),
?line test("$\\x{10ffff}"),
?line test("\"$\n \\{1}\""),
- ?line {error,{1,erl_scan,{illegal,character}},1} =
+ ?line {error,{1,erl_scan,{illegal,character}},1} =
erl_scan:string("$\\x{110000}"),
- ?line {error,{{1,1},erl_scan,{illegal,character}},{1,12}} =
+ ?line {error,{{1,1},erl_scan,{illegal,character}},{1,12}} =
erl_scan:string("$\\x{110000}", {1,1}),
- ?line {error,{{1,1},erl_scan,{illegal,character}},{1,4}} =
+ ?line {error,{{1,1},erl_scan,{illegal,character}},{1,4}} =
erl_scan:string("$\\xfg", {1,1}),
?line test("$\\xffg"),
@@ -953,11 +953,11 @@ test(String) ->
{Wtokens, Wend},
{Ctokens, Cend},
{CWtokens, CWend},
- {CWtokens2, _}] =
+ {CWtokens2, _}] =
[scan_string_with_column(String, X) ||
- X <- [[],
- [return_white_spaces],
- [return_comments],
+ X <- [[],
+ [return_white_spaces],
+ [return_comments],
[return],
[return]]], % for white space compaction test
@@ -969,7 +969,7 @@ test(String) ->
{none,Tokens} = {none, filter_tokens(CWtokens, [white_space,comment])},
{comments,Ctokens} =
{comments,filter_tokens(CWtokens, [white_space])},
- {white_spaces,Wtokens} =
+ {white_spaces,Wtokens} =
{white_spaces,filter_tokens(CWtokens, [comment])},
%% Use token attributes to extract parts from the original string,
@@ -991,9 +991,9 @@ test(String) ->
%% Line attribute only:
[Simple,Wsimple,Csimple,WCsimple] = Simples =
[element(2, erl_scan:string(String, 1, Opts)) ||
- Opts <- [[],
- [return_white_spaces],
- [return_comments],
+ Opts <- [[],
+ [return_white_spaces],
+ [return_comments],
[return]]],
{consistent,true} = {consistent,consistent_attributes(Simples)},
{simple_wc,WCsimple} = {simple_wc,simplify(CWtokens)},
@@ -1004,19 +1004,19 @@ test(String) ->
%% Line attribute only, with text:
[SimpleTxt,WsimpleTxt,CsimpleTxt,WCsimpleTxt] = SimplesTxt =
[element(2, erl_scan:string(String, 1, [text|Opts])) ||
- Opts <- [[],
- [return_white_spaces],
- [return_comments],
+ Opts <- [[],
+ [return_white_spaces],
+ [return_comments],
[return]]],
TextTxt = get_text(WCsimpleTxt),
{text_txt,TextTxt,String} = {text_txt,String,TextTxt},
- {consistent_txt,true} =
+ {consistent_txt,true} =
{consistent_txt,consistent_attributes(SimplesTxt)},
- {simple_txt,SimpleTxt} =
+ {simple_txt,SimpleTxt} =
{simple_txt,filter_tokens(WCsimpleTxt, [white_space,comment])},
- {simple_c_txt,CsimpleTxt} =
+ {simple_c_txt,CsimpleTxt} =
{simple_c_txt,filter_tokens(WCsimpleTxt, [white_space])},
- {simple_w_txt,WsimpleTxt} =
+ {simple_w_txt,WsimpleTxt} =
{simple_w_txt,filter_tokens(WCsimpleTxt, [comment])},
ok.
@@ -1024,18 +1024,18 @@ test(String) ->
test_white_space_compaction(Tokens, Tokens2) when Tokens =:= Tokens2 ->
[WS, WS2] = [select_tokens(Ts, [white_space]) || Ts <- [Tokens, Tokens2]],
test_wsc(WS, WS2).
-
+
test_wsc([], []) ->
ok;
test_wsc([Token|Tokens], [Token2|Tokens2]) ->
- [Text, Text2] = [Text ||
- {text, Text} <-
+ [Text, Text2] = [Text ||
+ {text, Text} <-
[erl_scan:token_info(T, text) ||
T <- [Token, Token2]]],
Sz = erts_debug:size(Text),
Sz2 = erts_debug:size({Text, Text2}),
IsCompacted = Sz2 < 2*Sz+erts_debug:size({a,a}),
- ToBeCompacted = is_compacted(Text),
+ ToBeCompacted = is_compacted(Text),
if
IsCompacted =:= ToBeCompacted ->
test_wsc(Tokens, Tokens2);
@@ -1050,14 +1050,14 @@ is_compacted("\n\r") ->
is_compacted("\n\f") ->
true;
is_compacted([$\n|String]) ->
- all_spaces(String)
+ all_spaces(String)
orelse
all_tabs(String);
is_compacted(String) ->
all_spaces(String)
orelse
all_tabs(String).
-
+
all_spaces(L) ->
all_same(L, $\s).
@@ -1078,7 +1078,7 @@ newlines_first([Token|Tokens]) ->
_ ->
Nnls =:= 0
end,
- if
+ if
OK -> newlines_first(Tokens);
true -> OK
end.
@@ -1097,7 +1097,7 @@ simplify([]) ->
get_text(Tokens) ->
lists:flatten(
- [T ||
+ [T ||
Token <- Tokens,
({text,T} = erl_scan:token_info(Token, text)) =/= []]).
@@ -1108,7 +1108,7 @@ test_decorated_tokens(String, Tokens) ->
token_attrs(Tokens) ->
[{L,C,Len,T} ||
Token <- Tokens,
- ([{line,L},{column,C},{length,Len},{text,T}] =
+ ([{line,L},{column,C},{length,Len},{text,T}] =
erl_scan:token_info(Token, [line,column,length,text])) =/= []].
test_strings([], _S, Line, Column) ->
@@ -1150,7 +1150,7 @@ scan_string_with_column(String, Options0) ->
{ok, Ts1, End1} = erl_scan:string(String, StartLoc, Options),
TString = String ++ ". ",
{ok,Ts2,End2} = scan_tokens(TString, Options, [], StartLoc),
- {ok, Ts3, End3} =
+ {ok, Ts3, End3} =
scan_tokens_1({more, []}, TString, Options, [], StartLoc),
{end_2,End2,End3} = {end_2,End3,End2},
{EndLine1,EndColumn1} = End1,
@@ -1190,8 +1190,8 @@ consistent_attributes([Ts | TsL]) ->
L = [T || T <- Ts, is_integer(element(2, T))],
case L of
[] ->
- TagsL = [[Tag || {Tag,_} <-
- erl_scan:attributes_info(element(2, T))] ||
+ TagsL = [[Tag || {Tag,_} <-
+ erl_scan:attributes_info(element(2, T))] ||
T <- Ts],
case lists:usort(TagsL) of
[_] ->
diff --git a/lib/stdlib/test/escript_SUITE.erl b/lib/stdlib/test/escript_SUITE.erl
index 70aae54d62..77fd190e45 100644
--- a/lib/stdlib/test/escript_SUITE.erl
+++ b/lib/stdlib/test/escript_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2007-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-module(escript_SUITE).
@@ -22,16 +22,20 @@
init_per_testcase/2,
fin_per_testcase/2,
basic/1,
- errors/1,
+ errors/1,
strange_name/1,
emulator_flags/1,
module_script/1,
beam_script/1,
archive_script/1,
- epp/1
+ epp/1,
+ create_and_extract/1,
+ foldl/1,
+ verify_sections/3
]).
-include("test_server.hrl").
+-include_lib("kernel/include/file.hrl").
all(suite) ->
[
@@ -42,7 +46,9 @@ all(suite) ->
module_script,
beam_script,
archive_script,
- epp
+ epp,
+ create_and_extract,
+ foldl
].
init_per_testcase(_Case, Config) ->
@@ -68,11 +74,11 @@ basic(Config) when is_list(Config) ->
?line run(Dir, "factorial_warning 20",
[data_dir,<<"factorial_warning:12: Warning: function bar/0 is unused\n"
"factorial 20 = 2432902008176640000\nExitCode:0">>]),
- ?line run(Dir, "-s", "factorial_warning",
+ ?line run_with_opts(Dir, "-s", "factorial_warning",
[data_dir,<<"factorial_warning:12: Warning: function bar/0 is unused\nExitCode:0">>]),
- ?line run(Dir, "-s -i", "factorial_warning",
+ ?line run_with_opts(Dir, "-s -i", "factorial_warning",
[data_dir,<<"factorial_warning:12: Warning: function bar/0 is unused\nExitCode:0">>]),
- ?line run(Dir, "-c -s", "factorial_warning",
+ ?line run_with_opts(Dir, "-c -s", "factorial_warning",
[data_dir,<<"factorial_warning:12: Warning: function bar/0 is unused\nExitCode:0">>]),
?line run(Dir, "filesize "++filename:join(?config(data_dir, Config),"filesize"),
[data_dir,<<"filesize:11: Warning: function id/1 is unused\n324\nExitCode:0">>]),
@@ -100,7 +106,7 @@ errors(Config) when is_list(Config) ->
[data_dir,<<"lint_error:6: function main/1 already defined\n">>,
data_dir,"lint_error:8: variable 'ExitCode' is unbound\n",
<<"escript: There were compilation errors.\nExitCode:127">>]),
- ?line run(Dir, "-s", "lint_error",
+ ?line run_with_opts(Dir, "-s", "lint_error",
[data_dir,<<"lint_error:6: function main/1 already defined\n">>,
data_dir,"lint_error:8: variable 'ExitCode' is unbound\n",
<<"escript: There were compilation errors.\nExitCode:127">>]),
@@ -140,31 +146,31 @@ module_script(Config) when is_list(Config) ->
OrigFile = filename:join([Data,"emulator_flags"]),
{ok, OrigBin} = file:read_file(OrigFile),
?line [Shebang, Mode, Flags | Source] = string:tokens(binary_to_list(OrigBin), "\n"),
- ?line {ok, OrigFI} = file:read_file_info(OrigFile),
+ ?line {ok, OrigFI} = file:read_file_info(OrigFile),
%% Write source file
Priv = ?config(priv_dir, Config),
Dir = filename:absname(Priv), % Get rid of trailing slash.
Base = "module_script",
ErlFile = filename:join([Priv, Base ++ ".erl"]),
- ErlCode = ["-module(", Base, ").\n",
+ ErlCode = ["\n-module(", Base, ").\n",
"-export([main/1]).\n\n",
string:join(Source, "\n"),
"\n"],
?line ok = file:write_file(ErlFile, ErlCode),
-
+
%%%%%%%
%% Create and run scripts without emulator flags
%% With shebang
NoArgsBase = Base ++ "_no_args_with_shebang",
NoArgsFile = filename:join([Priv, NoArgsBase]),
- ?line ok = file:write_file(NoArgsFile,
+ ?line ok = file:write_file(NoArgsFile,
[Shebang, "\n",
ErlCode]),
?line ok = file:write_file_info(NoArgsFile, OrigFI),
-
- ?line run(Dir, NoArgsBase ++ " -arg1 arg2 arg3",
+
+ ?line run(Dir, NoArgsBase ++ " -arg1 arg2 arg3",
[<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"nostick:[]\n"
"mnesia:[]\n"
@@ -172,7 +178,7 @@ module_script(Config) when is_list(Config) ->
"unknown:[]\n"
"ExitCode:0">>]),
- ?line run(Dir, "", NoArgsBase ++ " -arg1 arg2 arg3",
+ ?line run_with_opts(Dir, "", NoArgsBase ++ " -arg1 arg2 arg3",
[<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"nostick:[]\n"
"mnesia:[]\n"
@@ -183,33 +189,33 @@ module_script(Config) when is_list(Config) ->
%% Without shebang
NoArgsBase2 = Base ++ "_no_args_without_shebang",
NoArgsFile2 = filename:join([Priv, NoArgsBase2]),
- ?line ok = file:write_file(NoArgsFile2,
+ ?line ok = file:write_file(NoArgsFile2,
["Something else than shebang!!!", "\n",
ErlCode]),
?line ok = file:write_file_info(NoArgsFile2, OrigFI),
-
- ?line run(Dir, "", NoArgsBase2 ++ " -arg1 arg2 arg3",
+
+ ?line run_with_opts(Dir, "", NoArgsBase2 ++ " -arg1 arg2 arg3",
[<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"nostick:[]\n"
"mnesia:[]\n"
"ERL_FLAGS=false\n"
"unknown:[]\n"
"ExitCode:0">>]),
-
+
%% Plain module without header
NoArgsBase3 = Base ++ "_no_args_without_header",
NoArgsFile3 = filename:join([Priv, NoArgsBase3]),
?line ok = file:write_file(NoArgsFile3, [ErlCode]),
?line ok = file:write_file_info(NoArgsFile3, OrigFI),
-
- ?line run(Dir, "", NoArgsBase3 ++ " -arg1 arg2 arg3",
+
+ ?line run_with_opts(Dir, "", NoArgsBase3 ++ " -arg1 arg2 arg3",
[<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"nostick:[]\n"
"mnesia:[]\n"
"ERL_FLAGS=false\n"
"unknown:[]\n"
"ExitCode:0">>]),
-
+
%%%%%%%
%% Create and run scripts with emulator flags
@@ -217,12 +223,12 @@ module_script(Config) when is_list(Config) ->
ArgsBase = Base ++ "_args_with_shebang",
ArgsFile = filename:join([Priv, ArgsBase]),
?line ok = file:write_file(ArgsFile,
- [Shebang, "\n",
+ [Shebang, "\n",
Mode, "\n",
Flags, "\n",
ErlCode]),
- ?line ok = file:write_file_info(ArgsFile, OrigFI),
-
+ ?line ok = file:write_file_info(ArgsFile, OrigFI),
+
?line run(Dir, ArgsBase ++ " -arg1 arg2 arg3",
[<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"nostick:[{nostick,[]}]\n"
@@ -242,32 +248,32 @@ beam_script(Config) when is_list(Config) ->
OrigFile = filename:join([Data,"emulator_flags"]),
{ok, OrigBin} = file:read_file(OrigFile),
?line [Shebang, Mode, Flags | Source] = string:tokens(binary_to_list(OrigBin), "\n"),
- ?line {ok, OrigFI} = file:read_file_info(OrigFile),
+ ?line {ok, OrigFI} = file:read_file_info(OrigFile),
%% Write source file
Priv = ?config(priv_dir, Config),
Dir = filename:absname(Priv), % Get rid of trailing slash.
Base = "beam_script",
ErlFile = filename:join([Priv, Base ++ ".erl"]),
- ?line ok = file:write_file(ErlFile,
- ["-module(", Base, ").\n",
+ ?line ok = file:write_file(ErlFile,
+ ["\n-module(", Base, ").\n",
"-export([main/1]).\n\n",
string:join(Source, "\n"),
"\n"]),
%% Compile the code
?line {ok, _Mod, BeamCode} = compile:file(ErlFile, [binary]),
-
+
%%%%%%%
%% Create and run scripts without emulator flags
%% With shebang
NoArgsBase = Base ++ "_no_args_with_shebang",
NoArgsFile = filename:join([Priv, NoArgsBase]),
- ?line ok = file:write_file(NoArgsFile,
+ ?line ok = file:write_file(NoArgsFile,
[Shebang, "\n",
BeamCode]),
- ?line ok = file:write_file_info(NoArgsFile, OrigFI),
+ ?line ok = file:write_file_info(NoArgsFile, OrigFI),
?line run(Dir, NoArgsBase ++ " -arg1 arg2 arg3",
[<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
@@ -277,7 +283,7 @@ beam_script(Config) when is_list(Config) ->
"unknown:[]\n"
"ExitCode:0">>]),
- ?line run(Dir, "", NoArgsBase ++ " -arg1 arg2 arg3",
+ ?line run_with_opts(Dir, "", NoArgsBase ++ " -arg1 arg2 arg3",
[<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"nostick:[]\n"
"mnesia:[]\n"
@@ -288,12 +294,12 @@ beam_script(Config) when is_list(Config) ->
%% Without shebang
NoArgsBase2 = Base ++ "_no_args_without_shebang",
NoArgsFile2 = filename:join([Priv, NoArgsBase2]),
- ?line ok = file:write_file(NoArgsFile2,
+ ?line ok = file:write_file(NoArgsFile2,
["Something else than shebang!!!", "\n",
BeamCode]),
- ?line ok = file:write_file_info(NoArgsFile2, OrigFI),
+ ?line ok = file:write_file_info(NoArgsFile2, OrigFI),
- ?line run(Dir, "", NoArgsBase2 ++ " -arg1 arg2 arg3",
+ ?line run_with_opts(Dir, "", NoArgsBase2 ++ " -arg1 arg2 arg3",
[<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"nostick:[]\n"
"mnesia:[]\n"
@@ -305,9 +311,9 @@ beam_script(Config) when is_list(Config) ->
NoArgsBase3 = Base ++ "_no_args_without_header",
NoArgsFile3 = filename:join([Priv, NoArgsBase3]),
?line ok = file:write_file(NoArgsFile3, [BeamCode]),
- ?line ok = file:write_file_info(NoArgsFile3, OrigFI),
+ ?line ok = file:write_file_info(NoArgsFile3, OrigFI),
- ?line run(Dir, "", NoArgsBase3 ++ " -arg1 arg2 arg3",
+ ?line run_with_opts(Dir, "", NoArgsBase3 ++ " -arg1 arg2 arg3",
[<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"nostick:[]\n"
"mnesia:[]\n"
@@ -322,12 +328,12 @@ beam_script(Config) when is_list(Config) ->
ArgsBase = Base ++ "_args",
ArgsFile = filename:join([Priv, ArgsBase]),
?line ok = file:write_file(ArgsFile,
- [Shebang, "\n",
+ [Shebang, "\n",
Mode, "\n",
Flags, "\n",
BeamCode]),
- ?line ok = file:write_file_info(ArgsFile, OrigFI),
-
+ ?line ok = file:write_file_info(ArgsFile, OrigFI),
+
?line run(Dir, ArgsBase ++ " -arg1 arg2 arg3",
[<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"nostick:[{nostick,[]}]\n"
@@ -356,13 +362,13 @@ archive_script(Config) when is_list(Config) ->
?line ok = compile_app(TopDir, "archive_script_dict"),
?line ok = compile_app(TopDir, "archive_script_dummy"),
?line {ok, MainFiles} = file:list_dir(TopDir),
- ?line ok = compile_files(MainFiles, TopDir, TopDir),
-
+ ?line ok = compile_files(MainFiles, TopDir, TopDir),
+
%% Create the archive
{ok, TopFiles} = file:list_dir(TopDir),
?line {ok, {_, ArchiveBin}} = zip:create(Archive, TopFiles,
[memory, {compress, []}, {cwd, TopDir}]),
-
+
%% Read the source script
OrigFile = filename:join([DataDir, "emulator_flags"]),
{ok, OrigBin} = file:read_file(OrigFile),
@@ -371,73 +377,73 @@ archive_script(Config) when is_list(Config) ->
Flags = "%%! -archive_script_dict foo bar"
" -archive_script_dict foo"
" -archive_script_dummy bar",
- ?line {ok, OrigFI} = file:read_file_info(OrigFile),
-
+ ?line {ok, OrigFI} = file:read_file_info(OrigFile),
+
%%%%%%%
%% Create and run scripts without emulator flags
- MainBase = "archive_script_main",
- MainScript = filename:join([PrivDir, MainBase]),
+ MainBase = "archive_script_main",
+ MainScript = filename:join([PrivDir, MainBase]),
%% With shebang
- ?line ok = file:write_file(MainScript,
+ ?line ok = file:write_file(MainScript,
[Shebang, "\n",
Flags, "\n",
ArchiveBin]),
- ?line ok = file:write_file_info(MainScript, OrigFI),
-
+ ?line ok = file:write_file_info(MainScript, OrigFI),
+
?line run(PrivDir, MainBase ++ " -arg1 arg2 arg3",
- [<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
+ [<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"dict:[{archive_script_dict,[\"foo\",\"bar\"]},{archive_script_dict,[\"foo\"]}]\n"
"dummy:[{archive_script_dummy,[\"bar\"]}]\n"
"priv:{ok,<<\"Some private data...\\n\">>}\n"
"ExitCode:0">>]),
- ?line run(PrivDir, "", MainBase ++ " -arg1 arg2 arg3",
- [<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
+ ?line run_with_opts(PrivDir, "", MainBase ++ " -arg1 arg2 arg3",
+ [<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"dict:[{archive_script_dict,[\"foo\",\"bar\"]},{archive_script_dict,[\"foo\"]}]\n"
"dummy:[{archive_script_dummy,[\"bar\"]}]\n"
"priv:{ok,<<\"Some private data...\\n\">>}\n"
"ExitCode:0">>]),
-
+
?line ok = file:rename(MainScript, MainScript ++ "_with_shebang"),
%% Without shebang (no flags)
- ?line ok = file:write_file(MainScript,
+ ?line ok = file:write_file(MainScript,
["Something else than shebang!!!", "\n",
ArchiveBin]),
- ?line ok = file:write_file_info(MainScript, OrigFI),
-
- ?line run(PrivDir, "", MainBase ++ " -arg1 arg2 arg3",
- [<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
+ ?line ok = file:write_file_info(MainScript, OrigFI),
+
+ ?line run_with_opts(PrivDir, "", MainBase ++ " -arg1 arg2 arg3",
+ [<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"dict:[]\n"
"dummy:[]\n"
"priv:{ok,<<\"Some private data...\\n\">>}\n"
"ExitCode:0">>]),
?line ok = file:rename(MainScript, MainScript ++ "_without_shebang"),
-
+
%% Plain archive without header (no flags)
-
+
?line ok = file:write_file(MainScript, [ArchiveBin]),
- ?line ok = file:write_file_info(MainScript, OrigFI),
-
- ?line run(PrivDir, "", MainBase ++ " -arg1 arg2 arg3",
- [<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
+ ?line ok = file:write_file_info(MainScript, OrigFI),
+
+ ?line run_with_opts(PrivDir, "", MainBase ++ " -arg1 arg2 arg3",
+ [<<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n"
"dict:[]\n"
"dummy:[]\n"
"priv:{ok,<<\"Some private data...\\n\">>}\n"
"ExitCode:0">>]),
?line ok = file:rename(MainScript, MainScript ++ "_without_header"),
-
+
%%%%%%%
%% Create and run scripts with emulator flags
AltBase = "archive_script_alternate_main",
AltScript = filename:join([PrivDir, AltBase]),
- ?line ok = file:write_file(AltScript,
+ ?line ok = file:write_file(AltScript,
[Shebang, "\n",
Mode, "\n",
Flags, " -escript main archive_script_main2\n",
ArchiveBin]),
- ?line ok = file:write_file_info(AltScript, OrigFI),
+ ?line ok = file:write_file_info(AltScript, OrigFI),
?line run(PrivDir, AltBase ++ " -arg1 arg2 arg3",
[<<"main2:[\"-arg1\",\"arg2\",\"arg3\"]\n"
@@ -445,7 +451,7 @@ archive_script(Config) when is_list(Config) ->
"dummy:[{archive_script_dummy,[\"bar\"]}]\n"
"priv:{ok,<<\"Some private data...\\n\">>}\n"
"ExitCode:0">>]),
-
+
ok.
compile_app(TopDir, AppName) ->
@@ -482,6 +488,254 @@ epp(Config) when is_list(Config) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+create_and_extract(Config) when is_list(Config) ->
+ {NewFile, FileInfo,
+ EmuArg, Source,
+ _ErlBase, ErlCode,
+ _BeamBase, BeamCode,
+ ArchiveBin} =
+ prepare_creation("create_and_extract", Config),
+
+ Bodies =
+ [[{source, ErlCode}],
+ [{beam, BeamCode}],
+ [{archive, ArchiveBin}]],
+
+ %% Verify all combinations of scripts with shebangs
+ [verify_sections(NewFile, FileInfo, S ++ C ++ E ++ B) ||
+ S <- [[{shebang, default}],
+ [{shebang, "/usr/bin/env escript"}]],
+ C <- [[],
+ [{comment, undefined}],
+ [{comment, default}],
+ [{comment, "This is a nonsense comment"}]],
+ E <- [[],
+ [{emu_args, undefined}],
+ [{emu_args, EmuArg}]],
+ B <- [[{source, Source}] | Bodies]],
+
+ %% Verify all combinations of scripts without shebangs
+ [verify_sections(NewFile, FileInfo, S ++ C ++ E ++ B) ||
+ S <- [[], [{shebang, undefined}]],
+ C <- [[], [{comment, undefined}]],
+ E <- [[], [{emu_args, undefined}]],
+ B <- Bodies],
+
+ %% Verify the compile_source option
+ file:delete(NewFile),
+ ?line ok = escript:create(NewFile, [{source, Source}]),
+ ?line {ok, [_, _, _, {source, Source}]} = escript:extract(NewFile, []),
+ ?line {ok, [_, _, _, {source, BeamCode2}]} =
+ escript:extract(NewFile, [compile_source]),
+ verify_sections(NewFile, FileInfo,
+ [{shebang, default},
+ {comment, default},
+ {beam, BeamCode2}]),
+
+ file:delete(NewFile),
+ ok.
+
+prepare_creation(Base, Config) ->
+ %% Read the source
+ PrivDir = ?config(priv_dir, Config),
+ DataDir = ?config(data_dir, Config),
+ OrigFile = filename:join([DataDir,"emulator_flags"]),
+ ?line {ok, FileInfo} = file:read_file_info(OrigFile),
+ NewFile = filename:join([PrivDir, Base]),
+ ?line {ok, [{shebang, default},
+ {comment, _},
+ {emu_args, EmuArg},
+ {source, Source}]} =
+ escript:extract(OrigFile, []),
+
+ %% Compile the code
+ ErlFile = NewFile ++ ".erl",
+ ErlCode = list_to_binary(["\n-module(", Base, ").\n",
+ "-export([main/1]).\n\n",
+ Source, "\n\n"]),
+ ?line ok = file:write_file(ErlFile, ErlCode),
+
+ %% Compile the code
+ ?line {ok, _Mod, BeamCode} =
+ compile:file(ErlFile, [binary, debug_info]),
+
+ %% Create an archive
+ ?line {ok, {_, ArchiveBin}} =
+ zip:create("dummy_archive_name",
+ [{Base ++ ".erl", ErlCode},
+ {Base ++ ".beam", BeamCode}],
+ [{compress, []}, memory]),
+ {NewFile, FileInfo,
+ EmuArg, Source,
+ Base ++ ".erl", ErlCode,
+ Base ++ ".beam", BeamCode,
+ ArchiveBin}.
+
+verify_sections(File, FileInfo, Sections) ->
+ io:format("~p:verify_sections(\n\t~p,\n\t~p,\n\t~p).\n",
+ [?MODULE, File, FileInfo, Sections]),
+
+ %% Create
+ file:delete(File),
+ ?line ok = escript:create(File, Sections),
+ ?line ok = file:write_file_info(File, FileInfo),
+
+ %% Run
+ Dir = filename:absname(filename:dirname(File)),
+ Base = filename:basename(File),
+
+ HasArg = fun(Tag) ->
+ case lists:keysearch(Tag, 1, Sections) of
+ false -> false;
+ {value, {_, undefined}} -> false;
+ {value, _} -> true
+ end
+ end,
+ ExpectedMain = <<"main:[\"-arg1\",\"arg2\",\"arg3\"]\n">>,
+ ExpectedOutput =
+ case HasArg(emu_args) of
+ true ->
+ <<"nostick:[{nostick,[]}]\n"
+ "mnesia:[{mnesia,[\"dir\",\"a/directory\"]},{mnesia,[\"debug\",\"verbose\"]}]\n"
+ "ERL_FLAGS=false\n"
+ "unknown:[]\n"
+ "ExitCode:0">>;
+ false ->
+ <<"nostick:[]\nmnesia:[]\nERL_FLAGS=false\nunknown:[]\nExitCode:0">>
+ end,
+
+ InputArgs = Base ++ " -arg1 arg2 arg3",
+ Expected = <<ExpectedMain/binary, ExpectedOutput/binary>>,
+ case HasArg(shebang) of
+ true ->
+ ?line run(Dir, InputArgs, [Expected]);
+ false ->
+ ?line run_with_opts(Dir, [], InputArgs, [Expected])
+ end,
+
+ %% Verify
+ ?line {ok, Bin} = escript:create(binary, Sections),
+ ?line {ok, Read} = file:read_file(File),
+ ?line Bin = Read, % Assert
+
+ Normalized = normalize_sections(Sections),
+ ?line {ok, Extracted} = escript:extract(File, []),
+ io:format("Normalized; ~p\n", [Normalized]),
+ io:format("Extracted ; ~p\n", [Extracted]),
+ ?line Normalized = Extracted, % Assert
+ ok.
+
+normalize_sections(Sections) ->
+ AtomToTuple =
+ fun(Val) ->
+ if
+ is_atom(Val) -> {Val, default};
+ true -> Val
+ end
+ end,
+ case lists:map(AtomToTuple, [{K, V} || {K, V} <- Sections, V =/= undefined]) of
+ [{shebang, Shebang} | Rest] ->
+ [{shebang, Shebang} |
+ case Rest of
+ [{comment, Comment} | Rest2] ->
+ [{comment, Comment} |
+ case Rest2 of
+ [{emu_args, EmuArgs}, Body] ->
+ [{emu_args, EmuArgs}, Body];
+ [Body] ->
+ [{emu_args, undefined}, Body]
+ end
+ ];
+ [{emu_args, EmuArgs}, Body] ->
+ [{comment, undefined}, {emu_args, EmuArgs}, Body];
+ [Body] ->
+ [{comment, undefined}, {emu_args, undefined}, Body]
+ end
+ ];
+ [Body] ->
+ [{shebang, undefined}, {comment, undefined}, {emu_args, undefined}, Body]
+ end.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+foldl(Config) when is_list(Config) ->
+ {NewFile, _FileInfo,
+ _EmuArg, _Source,
+ ErlBase, ErlCode,
+ BeamBase, _BeamCode,
+ ArchiveBin} =
+ prepare_creation("foldl", Config),
+
+ Collect = fun(Name, GetInfo, GetBin, Acc) ->
+ [{Name, GetInfo(), GetBin()} | Acc]
+ end,
+
+ %% Get line numbers and the file attribute right
+ SourceFile = NewFile ++ ".erl",
+ <<_:1/binary, ErlCode2/binary>> = ErlCode,
+ ?line ok = file:write_file(SourceFile, ErlCode2),
+ ?line {ok, _Mod, BeamCode} =
+ compile:file(SourceFile, [binary, debug_info]),
+
+ %% Verify source script
+ ?line ok = escript:create(SourceFile, [{source, ErlCode}]),
+ ?line {ok, [{".", _, BeamCode2}]}
+ = escript_foldl(Collect, [], SourceFile),
+
+ ?line {ok, Abstr} = beam_lib:chunks(BeamCode, [abstract_code]),
+ ?line {ok, Abstr2} = beam_lib:chunks(BeamCode2, [abstract_code]),
+ %% io:format("abstr1=~p\n", [Abstr]),
+ %% io:format("abstr2=~p\n", [Abstr2]),
+ ?line Abstr = Abstr2, % Assert
+
+ %% Verify beam script
+ ?line ok = escript:create(NewFile, [{beam, BeamCode}]),
+ ?line {ok, [{".", _, BeamCode}]}
+ = escript_foldl(Collect, [], NewFile),
+
+ %% Verify archive scripts
+ ?line ok = escript:create(NewFile, [{archive, ArchiveBin}]),
+ ?line {ok, [{BeamBase, #file_info{}, _},
+ {ErlBase, #file_info{}, _}]}
+ = escript_foldl(Collect, [], NewFile),
+
+ ArchiveFiles = [{ErlBase, ErlCode}, {BeamBase, BeamCode}],
+ ?line ok = escript:create(NewFile, [{archive, ArchiveFiles, []}]),
+ ?line {ok, [{BeamBase, _, _},
+ {ErlBase, _, _}]}
+ = escript_foldl(Collect, [], NewFile),
+
+ ok.
+
+escript_foldl(Fun, Acc, File) ->
+ code:ensure_loaded(zip),
+ case erlang:function_exported(zip, foldl, 3) of
+ true ->
+ emulate_escript_foldl(Fun, Acc, File);
+ false ->
+ escript:foldl(Fun, Acc, File)
+ end.
+
+emulate_escript_foldl(Fun, Acc, File) ->
+ case escript:extract(File, [compile_source]) of
+ {ok, [_Shebang, _Comment, _EmuArgs, Body]} ->
+ case Body of
+ {source, BeamCode} ->
+ GetInfo = fun() -> file:read_file_info(File) end,
+ GetBin = fun() -> BeamCode end,
+ {ok, Fun(".", GetInfo, GetBin, Acc)};
+ {beam, BeamCode} ->
+ GetInfo = fun() -> file:read_file_info(File) end,
+ GetBin = fun() -> BeamCode end,
+ {ok, Fun(".", GetInfo, GetBin, Acc)};
+ {archive, ArchiveBin} ->
+ zip:foldl(Fun, Acc, {File, ArchiveBin})
+ end;
+ {error, Reason} ->
+ {error, Reason}
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
run(Dir, Cmd0, Expected0) ->
Expected = iolist_to_binary(expected_output(Expected0, Dir)),
Cmd = case os:type() of
@@ -490,7 +744,7 @@ run(Dir, Cmd0, Expected0) ->
end,
do_run(Dir, Cmd, Expected).
-run(Dir, Opts, Cmd0, Expected) ->
+run_with_opts(Dir, Opts, Cmd0, Expected) ->
Cmd = case os:type() of
{win32,_} -> "escript " ++ Opts ++ " " ++ filename:nativename(Dir) ++ "\\" ++ Cmd0;
_ -> "escript " ++ Opts ++ " " ++ Dir ++ "/" ++ Cmd0
@@ -533,8 +787,8 @@ expected_output([data_dir|T], Data) ->
[filename:nativename(Data)++Slash|expected_output(T, Data)];
expected_output([H|T], Data) ->
[H|expected_output(T, Data)];
-expected_output([], _) ->
+expected_output([], _) ->
[];
-expected_output(Bin, _) when is_binary(Bin) ->
+expected_output(Bin, _) when is_binary(Bin) ->
Bin.
diff --git a/lib/stdlib/test/gen_server_SUITE.erl b/lib/stdlib/test/gen_server_SUITE.erl
index 6efdce78a1..0f60c2c4ee 100644
--- a/lib/stdlib/test/gen_server_SUITE.erl
+++ b/lib/stdlib/test/gen_server_SUITE.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1996-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(gen_server_SUITE).
@@ -30,7 +30,8 @@
call_remote_n1/1, call_remote_n2/1, call_remote_n3/1, spec_init/1,
spec_init_local_registered_parent/1,
spec_init_global_registered_parent/1,
- otp_5854/1, hibernate/1, otp_7669/1, call_format_status/1
+ otp_5854/1, hibernate/1, otp_7669/1, call_format_status/1,
+ call_with_huge_message_queue/1
]).
% spawn export
@@ -51,7 +52,8 @@ all(suite) ->
call_remote_n2, call_remote_n3, spec_init,
spec_init_local_registered_parent,
spec_init_global_registered_parent,
- otp_5854, hibernate, otp_7669, call_format_status].
+ otp_5854, hibernate, otp_7669, call_format_status,
+ call_with_huge_message_queue].
-define(default_timeout, ?t:minutes(1)).
@@ -904,6 +906,45 @@ call_format_status(Config) when is_list(Config) ->
?line [format_status_called | _] = lists:reverse(Data2),
ok.
+%% Test that the time for a huge message queue is not
+%% significantly slower than with an empty message queue.
+call_with_huge_message_queue(Config) when is_list(Config) ->
+ ?line Pid = spawn_link(fun echo_loop/0),
+
+ ?line {Time,ok} = tc(fun() -> calls(10, Pid) end),
+
+ ?line [self() ! {msg,N} || N <- lists:seq(1, 500000)],
+ erlang:garbage_collect(),
+ ?line {NewTime,ok} = tc(fun() -> calls(10, Pid) end),
+ io:format("Time for empty message queue: ~p", [Time]),
+ io:format("Time for huge message queue: ~p", [NewTime]),
+
+ case (NewTime+1) / (Time+1) of
+ Q when Q < 10 ->
+ ok;
+ Q ->
+ io:format("Q = ~p", [Q]),
+ ?line ?t:fail()
+ end,
+ ok.
+
+calls(0, _) -> ok;
+calls(N, Pid) ->
+ {ultimate_answer,42} = call(Pid, {ultimate_answer,42}),
+ calls(N-1, Pid).
+
+call(Pid, Msg) ->
+ gen_server:call(Pid, Msg, infinity).
+
+tc(Fun) ->
+ timer:tc(erlang, apply, [Fun,[]]).
+
+echo_loop() ->
+ receive
+ {'$gen_call',{Pid,Ref},Msg} ->
+ Pid ! {Ref,Msg},
+ echo_loop()
+ end.
%%--------------------------------------------------------------
%% Help functions to spec_init_*
diff --git a/lib/stdlib/test/io_proto_SUITE.erl b/lib/stdlib/test/io_proto_SUITE.erl
index 93159fbd5b..d9672a8c7b 100644
--- a/lib/stdlib/test/io_proto_SUITE.erl
+++ b/lib/stdlib/test/io_proto_SUITE.erl
@@ -17,6 +17,7 @@
%% %CopyrightEnd%
%%
-module(io_proto_SUITE).
+-compile(r12).
-export([all/1]).
diff --git a/lib/stdlib/test/qlc_SUITE.erl b/lib/stdlib/test/qlc_SUITE.erl
index ff11ebc6bf..aa12ed57da 100644
--- a/lib/stdlib/test/qlc_SUITE.erl
+++ b/lib/stdlib/test/qlc_SUITE.erl
@@ -1,25 +1,26 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2004-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2004-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%%----------------------------------------------------------------
%%% Purpose:Test Suite for the 'qlc' module.
%%%-----------------------------------------------------------------
-module(qlc_SUITE).
+-compile(r12).
-define(QLC, qlc).
-define(QLCs, "qlc").
diff --git a/lib/stdlib/test/re_SUITE.erl b/lib/stdlib/test/re_SUITE.erl
index 02683f9f1a..46a84d4e24 100644
--- a/lib/stdlib/test/re_SUITE.erl
+++ b/lib/stdlib/test/re_SUITE.erl
@@ -18,12 +18,12 @@
%%
-module(re_SUITE).
--export([all/1, pcre/1,compile_options/1,run_options/1,combined_options/1,replace_autogen/1,global_capture/1,replace_input_types/1,replace_return/1,split_autogen/1,split_options/1,split_specials/1,error_handling/1,pcre_cve_2008_2371/1]).
+-export([all/1, pcre/1,compile_options/1,run_options/1,combined_options/1,replace_autogen/1,global_capture/1,replace_input_types/1,replace_return/1,split_autogen/1,split_options/1,split_specials/1,error_handling/1,pcre_cve_2008_2371/1,pcre_compile_workspace_overflow/1,re_infinite_loop/1]).
-include("test_server.hrl").
-include_lib("kernel/include/file.hrl").
-all(suite) -> [pcre,compile_options,run_options,combined_options,replace_autogen,global_capture,replace_input_types,replace_return,split_autogen,split_options,split_specials,error_handling,pcre_cve_2008_2371].
+all(suite) -> [pcre,compile_options,run_options,combined_options,replace_autogen,global_capture,replace_input_types,replace_return,split_autogen,split_options,split_specials,error_handling,pcre_cve_2008_2371,pcre_compile_workspace_overflow,re_infinite_loop].
pcre(doc) ->
["Run all applicable tests from the PCRE testsuites."];
@@ -544,3 +544,25 @@ pcre_cve_2008_2371(Config) when is_list(Config) ->
%% Make sure it doesn't crash the emulator.
re:compile(<<"(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]">>, [unicode]),
ok.
+
+pcre_compile_workspace_overflow(doc) ->
+ "Patch from http://vcs.pcre.org/viewvc/code/trunk/pcre_compile.c?r1=504&r2=505&view=patch";
+pcre_compile_workspace_overflow(Config) when is_list(Config) ->
+ N = 819,
+ ?line {error,{"internal error: overran compiling workspace",799}} =
+ re:compile([lists:duplicate(N, $(), lists:duplicate(N, $))]),
+ ok.
+re_infinite_loop(doc) ->
+ "Make sure matches that really loop infinitely actually fail";
+re_infinite_loop(Config) when is_list(Config) ->
+ Dog = ?t:timetrap(?t:minutes(1)),
+ ?line Str =
+ "http:/www.flickr.com/slideShow/index.gne?group_id=&user_id=69845378@N0",
+ ?line EMail_regex = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+"
+ ++ "(\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*"
+ ++ "@.*([a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+"
+ ++ "([a-zA-Z]{2}|com|org|net|gov|mil"
+ ++ "|biz|info|mobi|name|aero|jobs|museum)",
+ ?line nomatch = re:run(Str, EMail_regex),
+ ?t:timetrap_cancel(Dog),
+ ok.
diff --git a/lib/stdlib/test/zip_SUITE.erl b/lib/stdlib/test/zip_SUITE.erl
index 12ca655000..48b14396c1 100644
--- a/lib/stdlib/test/zip_SUITE.erl
+++ b/lib/stdlib/test/zip_SUITE.erl
@@ -18,12 +18,13 @@
%%
-module(zip_SUITE).
--export([all/1, borderline/1, atomic/1,
+-export([all/1, borderline/1, atomic/1,
bad_zip/1, unzip_from_binary/1, unzip_to_binary/1,
zip_to_binary/1,
unzip_options/1, zip_options/1, list_dir_options/1, aliases/1,
openzip_api/1, zip_api/1, unzip_jar/1,
- compress_control/1]).
+ compress_control/1,
+ foldl/1]).
-include("test_server.hrl").
-include("test_server_line.hrl").
@@ -35,7 +36,8 @@ all(suite) -> [borderline, atomic, bad_zip,
zip_to_binary,
unzip_options, zip_options, list_dir_options, aliases,
openzip_api, zip_api, unzip_jar,
- compress_control].
+ compress_control,
+ foldl].
borderline(doc) ->
["Test creating, listing and extracting one file from an archive "
@@ -110,17 +112,17 @@ get_data(Port, Expect) ->
{Port, {data, Bytes}} ->
get_data(Port, match_output(Bytes, Expect, Port));
{Port, eof} ->
- Port ! {self(), close},
+ Port ! {self(), close},
receive
{Port, closed} ->
true
- end,
+ end,
receive
- {'EXIT', Port, _} ->
+ {'EXIT', Port, _} ->
ok
after 1 -> % force context switch
ok
- end,
+ end,
match_output(eof, Expect, Port)
end.
@@ -290,7 +292,7 @@ unzip_options(Config) when is_list(Config) ->
DataDir = ?config(data_dir, Config),
PrivDir = ?config(priv_dir, Config),
Long = filename:join(DataDir, "abc.zip"),
-
+
%% create a temp directory
Subdir = filename:join(PrivDir, "t"),
ok = file:make_dir(Subdir),
@@ -303,7 +305,7 @@ unzip_options(Config) when is_list(Config) ->
%% Verify.
?line true = (length(FList) =:= length(RetList)),
- ?line lists:foreach(fun(F)-> {ok,B} = file:read_file(filename:join(DataDir, F)),
+ ?line lists:foreach(fun(F)-> {ok,B} = file:read_file(filename:join(DataDir, F)),
{ok,B} = file:read_file(filename:join(Subdir, F)) end,
FList),
?line lists:foreach(fun(F)-> ok = file:delete(F) end,
@@ -321,7 +323,7 @@ unzip_jar(Config) when is_list(Config) ->
DataDir = ?config(data_dir, Config),
PrivDir = ?config(priv_dir, Config),
JarFile = filename:join(DataDir, "test.jar"),
-
+
%% create a temp directory
Subdir = filename:join(PrivDir, "jartest"),
ok = file:make_dir(Subdir),
@@ -479,7 +481,7 @@ unzip_to_binary(Config) when is_list(Config) ->
DataDir = ?config(data_dir, Config),
PrivDir = ?config(priv_dir, Config),
- delete_all_in(PrivDir),
+ delete_all_in(PrivDir),
file:set_cwd(PrivDir),
Long = filename:join(DataDir, "abc.zip"),
@@ -595,17 +597,17 @@ do_delete_files([],Cnt) ->
Cnt;
do_delete_files([Item|Rest], Cnt) ->
case file:delete(Item) of
- ok ->
+ ok ->
DelCnt = 1;
{error,eperm} ->
file:change_mode(Item, 8#777),
DelCnt = delete_files(filelib:wildcard(filename:join(Item, "*"))),
- file:del_dir(Item);
+ file:del_dir(Item);
{error,eacces} ->
%% We'll see about that!
file:change_mode(Item, 8#777),
case file:delete(Item) of
- ok ->
+ ok ->
DelCnt = 1;
{error,_} ->
erlang:yield(),
@@ -643,22 +645,22 @@ compress_control(Config) when is_list(Config) ->
],
test_compress_control(Dir,
- Files,
+ Files,
[{compress, []}],
[]),
test_compress_control(Dir,
- Files,
+ Files,
[{uncompress, all}],
[]),
test_compress_control(Dir,
- Files,
+ Files,
[{uncompress, []}],
[".txt", ".exe", ".zip", ".lzh", ".arj"]),
test_compress_control(Dir,
- Files,
+ Files,
[],
[".txt", ".exe"]),
@@ -686,7 +688,7 @@ test_compress_control(Dir, Files, ZipOptions, Expected) ->
create_files(Files),
{ok, Zip} = zip:create(Zip, [Dir], ZipOptions),
-
+
{ok, OpenZip} = zip:openzip_open(Zip, [memory]),
{ok,[#zip_comment{comment = ""} | ZipList]} = zip:openzip_list_dir(OpenZip),
io:format("compress_control: -> ~p -> ~p\n -> ~pn", [Expected, ZipOptions, ZipList]),
@@ -698,19 +700,19 @@ test_compress_control(Dir, Files, ZipOptions, Expected) ->
delete_files(lists:reverse(Names)), % Remove plain files before directories
ok.
-
+
verify_compression([{Name, Kind, _Filler} | Files], ZipList, OpenZip, ZipOptions, Expected) ->
{Name2, BinSz} =
case Kind of
- dir ->
+ dir ->
{Name ++ "/", 0};
- _ ->
+ _ ->
{ok, {Name, Bin}} = zip:openzip_get(Name, OpenZip),
{Name, size(Bin)}
end,
{Name2, {value, ZipFile}} = {Name2, lists:keysearch(Name2, #zip_file.name, ZipList)},
#zip_file{info = #file_info{size = InfoSz, type = InfoType}, comp_size = InfoCompSz} = ZipFile,
-
+
Ext = filename:extension(Name),
IsComp = is_compressed(Ext, Kind, ZipOptions),
ExpComp = lists:member(Ext, Expected),
@@ -757,3 +759,33 @@ extensions([H | T], Old) ->
extensions([], Old) ->
Old.
+foldl(Config) ->
+ PrivDir = ?config(priv_dir, Config),
+ File = filename:join([PrivDir, "foldl.zip"]),
+
+ FooBin = <<"FOO">>,
+ BarBin = <<"BAR">>,
+ Files = [{"foo", FooBin}, {"bar", BarBin}],
+ ?line {ok, {File, Bin}} = zip:create(File, Files, [memory]),
+ ZipFun = fun(N, I, B, Acc) -> [{N, B(), I()} | Acc] end,
+ ?line {ok, FileSpec} = zip:foldl(ZipFun, [], {File, Bin}),
+ ?line [{"bar", BarBin, #file_info{}}, {"foo", FooBin, #file_info{}}] = FileSpec,
+ ?line {ok, {File, Bin}} = zip:create(File, lists:reverse(FileSpec), [memory]),
+ ?line {foo_bin, FooBin} =
+ try
+ zip:foldl(fun("foo", _, B, _) -> throw(B()); (_, _, _, Acc) -> Acc end, [], {File, Bin})
+ catch
+ throw:FooBin ->
+ {foo_bin, FooBin}
+ end,
+ ?line ok = file:write_file(File, Bin),
+ ?line {ok, FileSpec} = zip:foldl(ZipFun, [], File),
+
+ ?line {error, einval} = zip:foldl(fun() -> ok end, [], File),
+ ?line {error, einval} = zip:foldl(ZipFun, [], 42),
+ ?line {error, einval} = zip:foldl(ZipFun, [], {File, 42}),
+
+ ?line ok = file:delete(File),
+ ?line {error, enoent} = zip:foldl(ZipFun, [], File),
+
+ ok.
diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk
index e02bad48df..f081bd60e2 100644
--- a/lib/stdlib/vsn.mk
+++ b/lib/stdlib/vsn.mk
@@ -1,21 +1,21 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 1997-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 1997-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
-STDLIB_VSN = 1.16.5
+STDLIB_VSN = 1.17
diff --git a/lib/syntax_tools/src/erl_comment_scan.erl b/lib/syntax_tools/src/erl_comment_scan.erl
index 09ce21a428..e2c6976a2b 100644
--- a/lib/syntax_tools/src/erl_comment_scan.erl
+++ b/lib/syntax_tools/src/erl_comment_scan.erl
@@ -273,12 +273,8 @@ join_lines([], Txt, L, Col, Ind) ->
filename([C|T]) when is_integer(C), C > 0, C =< 255 ->
[C | filename(T)];
-filename([H|T]) ->
- filename(H) ++ filename(T);
filename([]) ->
[];
-filename(N) when is_atom(N) ->
- atom_to_list(N);
filename(N) ->
report_error("bad filename: `~P'.", [N, 25]),
exit(error).
diff --git a/lib/syntax_tools/src/erl_prettypr.erl b/lib/syntax_tools/src/erl_prettypr.erl
index 606441bcf1..c2c72d1ed2 100644
--- a/lib/syntax_tools/src/erl_prettypr.erl
+++ b/lib/syntax_tools/src/erl_prettypr.erl
@@ -384,7 +384,7 @@ lay_postcomments(Cs, D) ->
beside(D, floating(break(stack_comments(Cs, true)), 1, 0)).
%% Format (including padding, if `Pad' is `true', otherwise not)
-%% and stack the listed comments above each other,
+%% and stack the listed comments above each other.
stack_comments([C | Cs], Pad) ->
D = stack_comment_lines(erl_syntax:comment_text(C)),
@@ -405,9 +405,7 @@ stack_comments([C | Cs], Pad) ->
D1; % done
_ ->
above(D1, stack_comments(Cs, Pad))
- end;
-stack_comments([], _) ->
- empty().
+ end.
%% Stack lines of text above each other and prefix each string in
%% the list with a single `%' character.
diff --git a/lib/syntax_tools/src/igor.erl b/lib/syntax_tools/src/igor.erl
index e92e9593b6..702b399615 100644
--- a/lib/syntax_tools/src/igor.erl
+++ b/lib/syntax_tools/src/igor.erl
@@ -699,7 +699,7 @@ merge_files(Name, Trees, Files, Opts) ->
options :: [option()]
}).
--spec merge_sources(atom(), erl_syntax:forms(), [option()]) ->
+-spec merge_sources(atom(), [erl_syntax:forms()], [option()]) ->
{erl_syntax:syntaxTree(), [stubDescriptor()]}.
merge_sources(Name, Sources, Opts) ->
@@ -782,12 +782,12 @@ merge_sources_1(Name, Modules, Trees, Opts) ->
%% however not "safe" by default. If no modules are explicitly
%% specified as static, it is assumed that *all* are static.
Static0 = ordsets:from_list(proplists:append_values(static, Opts)),
- case proplists:is_defined(static, Opts) of
- false ->
- Static = All;
- true ->
- Static = ordsets:add_element(Name, Static0)
- end,
+ Static = case proplists:is_defined(static, Opts) of
+ false ->
+ All;
+ true ->
+ ordsets:add_element(Name, Static0)
+ end,
check_module_names(Static, All, "declared 'static'"),
verbose("static modules: ~p.", [Static], Opts),
@@ -806,8 +806,8 @@ merge_sources_1(Name, Modules, Trees, Opts) ->
verbose("safe modules: ~p.", [Safe], Opts),
Preserved = (ordsets:is_element(Name, Sources)
- and ordsets:is_element(Name, Export))
- or proplists:get_bool(no_banner, Opts),
+ andalso ordsets:is_element(Name, Export))
+ orelse proplists:get_bool(no_banner, Opts),
NoHeaders = proplists:get_bool(no_headers, Opts),
Notes = proplists:get_value(notes, Opts, always),
Rs = proplists:append_values(redirect, Opts),
@@ -2924,9 +2924,7 @@ make_attribute({Name, Term}) ->
[erl_syntax:abstract(Term)]).
is_auto_import({F, A}) ->
- erl_internal:bif(F, A);
-is_auto_import(_) ->
- false.
+ erl_internal:bif(F, A).
timestamp() ->
{{Yr, Mth, Dy}, {Hr, Mt, Sc}} = erlang:localtime(),
diff --git a/lib/test_server/doc/src/test_server_ctrl.xml b/lib/test_server/doc/src/test_server_ctrl.xml
index 0ed5f88544..8b60849b61 100644
--- a/lib/test_server/doc/src/test_server_ctrl.xml
+++ b/lib/test_server/doc/src/test_server_ctrl.xml
@@ -538,9 +538,6 @@ Optional, if not given the test server controller node
test server controller node. The log must be formatted using
<c>ttb:format/1/2</c>.
</p>
- <p>This is valid for all targets except the OSE/Delta target
- for which all nodes will be logged and automatically formatted
- in one single text file called <c>allnodes-test_server</c>.</p>
</desc>
</func>
<func>
@@ -610,7 +607,7 @@ Optional, if not given the test server controller node
<tag><c>NAME name</c></tag>
<item>Names the test suite to something else than the
default name. This does not apply to <c>SPEC</c> which keeps
- it's names.
+ its names.
</item>
<tag><c>PARAMETERS parameterfile</c></tag>
<item>Specifies the parameter file to use when starting
diff --git a/lib/test_server/doc/src/ts.xml b/lib/test_server/doc/src/ts.xml
index 0f91d3eea2..f60c79aadd 100644
--- a/lib/test_server/doc/src/ts.xml
+++ b/lib/test_server/doc/src/ts.xml
@@ -250,7 +250,7 @@
running test suites. If a remote host is to be used, the
<c>TargetSystem</c> argument must be given so that "cross
installation" can be done. This should be used for testing on
- VxWorks or OSE/Delta. Installation is required for any of the
+ VxWorks. Installation is required for any of the
functions in <c>ts</c> to work.
</p>
<p>Opts may be one or more of
@@ -275,7 +275,7 @@
strings.
</item>
<item><c>{slavetargets, SlaveTarges}</c><br></br>
- For VxWorks and OSE/Delta only. This is a list of
+ For VxWorks only. This is a list of
available hosts where slave nodes can be started. This is
necessary because only one node can run per host in the
VxWorks environment. This is not the same as
diff --git a/lib/test_server/src/test_server.erl b/lib/test_server/src/test_server.erl
index f918f47415..7db103a4c6 100644
--- a/lib/test_server/src/test_server.erl
+++ b/lib/test_server/src/test_server.erl
@@ -1763,7 +1763,7 @@ call_crash(Time,Crash,M,F,A) ->
%% Slave and Peer:
%% {remote, true} - Start the node on a remote host. If not specified,
%% the node will be started on the local host (with
-%% some exceptions, as for the case of VxWorks and OSE,
+%% some exceptions, for instance VxWorks,
%% where all nodes are started on a remote host).
%% {args, Arguments} - Arguments passed directly to the node.
%% {cleanup, false} - Nodes started with this option will not be killed
@@ -2014,14 +2014,8 @@ temp_name(Stem) ->
app_test(App) ->
app_test(App, pedantic).
app_test(App, Mode) ->
- case os:type() of
- {ose,_} ->
- Comment = "Skipping app_test on OSE",
- comment(Comment), % in case user ignores the return value
- {skip,Comment};
- _other ->
- test_server_sup:app_test(App, Mode)
- end.
+ test_server_sup:app_test(App, Mode).
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/lib/test_server/src/test_server_internal.hrl b/lib/test_server/src/test_server_internal.hrl
index 6fa5ef75b1..c9c52854e3 100644
--- a/lib/test_server/src/test_server_internal.hrl
+++ b/lib/test_server/src/test_server_internal.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -37,7 +37,7 @@
username, % string()
cookie, % string(); Cookie for target node
naming, % string(); "-name" | "-sname"
- master, % string(); For OSE this is the master
+ master, % string(); Was used for OSE's master
% node for main target and slave nodes.
% For other platforms the target node
% itself is master for slave nodes
diff --git a/lib/test_server/src/test_server_node.erl b/lib/test_server/src/test_server_node.erl
index ddc89d50d4..49025b1a3d 100644
--- a/lib/test_server/src/test_server_node.erl
+++ b/lib/test_server/src/test_server_node.erl
@@ -1,31 +1,29 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2002-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2002-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(test_server_node).
--compile(r11).
+-compile(r12).
%%%
%%% The same compiled code for this module must be possible to load
-%%% in R11B, R12B and later. To make that possible no bit syntax
-%%% must be used.
+%%% in R12B and later.
%%%
-
%% Test Controller interface
-export([is_release_available/1]).
-export([start_remote_main_target/1,stop/1]).
diff --git a/lib/test_server/src/ts.erl b/lib/test_server/src/ts.erl
index 1b750c3858..e23b891392 100644
--- a/lib/test_server/src/ts.erl
+++ b/lib/test_server/src/ts.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -112,7 +112,7 @@
" Mandatory for remote targets\n"
" {master, {MasterHost, MasterCookie}}\n"
" - Master host and cookie for targets which are\n"
- " started as slave nodes (i.e. OSE/Delta targets\n"
+ " started as slave nodes.\n"
" erl_boot_server must be started on master before\n"
" test is run.\n"
" Optional, default is controller host and then\n"
diff --git a/lib/test_server/src/ts_erl_config.erl b/lib/test_server/src/ts_erl_config.erl
index 4fc46fc5d6..5cdbf0fbb8 100644
--- a/lib/test_server/src/ts_erl_config.erl
+++ b/lib/test_server/src/ts_erl_config.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -161,7 +161,6 @@ system_include(Root, Vars) ->
case ts_lib:var(os, Vars) of
"Windows" ++ _T -> "sys/win32";
"VxWorks" -> "sys.vxworks";
- "OSE" -> "sys/ose";
_ -> "sys/unix"
end,
" -I" ++ filename:nativename(filename:join([Root, "erts", "emulator", SysDir])).
@@ -219,7 +218,7 @@ erl_interface(Vars,OsType) ->
{unix,_} ->
"-lpthread";
_ ->
- "" % VxWorks or OSE
+ "" % VxWorks
end,
CrossCompile = case OsType of
vxworks -> "true";
diff --git a/lib/test_server/src/ts_run.erl b/lib/test_server/src/ts_run.erl
index 3461e1383c..888ac98973 100644
--- a/lib/test_server/src/ts_run.erl
+++ b/lib/test_server/src/ts_run.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 1997-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 1997-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -198,8 +198,6 @@ get_spec_filename_1(Vars, TestDir, File) ->
case ts_lib:var(os, Vars) of
"VxWorks" ->
check_spec_filename(TestDir, File, ".spec.vxworks");
- "OSE" ->
- check_spec_filename(TestDir, File, ".spec.ose");
"Windows"++_ ->
check_spec_filename(TestDir, File, ".spec.win");
_Other ->
@@ -306,53 +304,36 @@ make_make(Vars, Spec, State) ->
add_make_testcase(Vars, Spec, St) ->
Makefile = St#state.makefile,
Dir = filename:dirname(Makefile),
- case ts_lib:var(os, Vars) of
- "OSE" ->
- %% For OSE, C code in datadir must be linked in the image file,
- %% and erlang code is sent as binaries from test_server_ctrl
- %% Making erlang code here because the Makefile.src probably won't
- %% work.
- Erl_flags=[{i, "../../test_server"}|ts_lib:var(erl_flags,Vars)],
- {ok, Cwd} = file:get_cwd(),
- ok = file:set_cwd(Dir),
- Result = (catch make:all(Erl_flags)),
- ok = file:set_cwd(Cwd),
- case Result of
- up_to_date -> {ok, Vars, Spec, St};
- _error -> {error, {erlang_make_failed,Dir}}
- end;
+ Shortname = filename:basename(Makefile),
+ Suite = filename:basename(Dir, "_data"),
+ Config = [{data_dir,Dir},{makefile,Shortname}],
+ MakeModule = Suite ++ "_make",
+ MakeModuleSrc = filename:join(filename:dirname(Dir),
+ MakeModule ++ ".erl"),
+ MakeMod = list_to_atom(MakeModule),
+ case filelib:is_file(MakeModuleSrc) of
+ true -> ok;
+ false -> generate_make_module(ts_lib:var(make_command, Vars),
+ MakeModuleSrc,
+ MakeModule)
+ end,
+ case Suite of
+ "all_SUITE" ->
+ {ok,Vars,Spec,St#state{all={MakeMod,Config}}};
_ ->
- Shortname = filename:basename(Makefile),
- Suite = filename:basename(Dir, "_data"),
- Config = [{data_dir,Dir},{makefile,Shortname}],
- MakeModule = Suite ++ "_make",
- MakeModuleSrc = filename:join(filename:dirname(Dir),
- MakeModule ++ ".erl"),
- MakeMod = list_to_atom(MakeModule),
- case filelib:is_file(MakeModuleSrc) of
- true -> ok;
- false -> generate_make_module(ts_lib:var(make_command, Vars),
- MakeModuleSrc,
- MakeModule)
- end,
- case Suite of
- "all_SUITE" ->
- {ok,Vars,Spec,St#state{all={MakeMod,Config}}};
- _ ->
- %% Avoid duplicates of testcases. There is no longer
- %% a check for this in test_server_ctrl.
- TestCase = {list_to_atom(Suite),all},
- TopCase0 = case St#state.topcase of
- List when is_list(List) ->
- List -- [TestCase];
- Top ->
- [Top] -- [TestCase]
- end,
- TopCase = [{make,{MakeMod,make,[Config]},
- TestCase,
- {MakeMod,unmake,[Config]}}|TopCase0],
- {ok,Vars,Spec,St#state{topcase=TopCase}}
- end
+ %% Avoid duplicates of testcases. There is no longer
+ %% a check for this in test_server_ctrl.
+ TestCase = {list_to_atom(Suite),all},
+ TopCase0 = case St#state.topcase of
+ List when is_list(List) ->
+ List -- [TestCase];
+ Top ->
+ [Top] -- [TestCase]
+ end,
+ TopCase = [{make,{MakeMod,make,[Config]},
+ TestCase,
+ {MakeMod,unmake,[Config]}}|TopCase0],
+ {ok,Vars,Spec,St#state{topcase=TopCase}}
end.
generate_make_module(MakeCmd, Name, ModuleString) ->
@@ -392,7 +373,7 @@ make_test_suite(Vars, _Spec, State) ->
{ok, Cwd} = file:get_cwd(),
ok = file:set_cwd(TestDir),
- Result = (catch make:all(Erl_flags)),
+ Result = (catch make_all(Erl_flags)),
ok = file:set_cwd(Cwd),
case Result of
up_to_date ->
@@ -629,9 +610,6 @@ make_test_server_args(Args0,Options,Vars) ->
"VxWorks" ->
F = write_parameterfile(vxworks,Vars),
" PARAMETERS " ++ F;
- "OSE" ->
- F = write_parameterfile(ose,Vars),
- " PARAMETERS " ++ F;
_ ->
""
end,
@@ -743,4 +721,52 @@ split_one(Path) ->
split_path(Path) ->
string:tokens(Path,";").
+%%
+%% Run make:all/1 if the test suite seems to be designed
+%% to be built/re-built by ts.
+%%
+make_all(Flags) ->
+ case filelib:is_regular("Emakefile") of
+ false ->
+ make_all_no_emakefile(Flags);
+ true ->
+ make:all(Flags)
+ end.
+make_all_no_emakefile(Flags) ->
+ case filelib:wildcard("*.beam") of
+ [] ->
+ %% Since there are no *.beam files, we will assume
+ %% that this test suite was designed to be built and
+ %% re-built by ts. Create an Emakefile so that
+ %% make:all/1 will be run the next time too
+ %% (in case a test suite is being interactively
+ %% developed).
+ create_emakefile(Flags, "*.erl");
+ [_|_] ->
+ %% There is no Emakefile and there already are
+ %% some *.beam files here. Assume that this test
+ %% suite was not designed to be re-built by ts.
+ %% Only create a Emakefile that will compile
+ %% generated *_SUITE_make files (if any).
+ create_emakefile(Flags, "*_SUITE_make.erl")
+ end.
+
+create_emakefile(Flags, Wc) ->
+ case filelib:wildcard(Wc) of
+ [] ->
+ %% There are no files to be built (i.e. not even any
+ %% generated *_SUITE_make.erl files). We must handle
+ %% this case specially, because make:all/1 will crash
+ %% on Emakefile with an empty list of modules.
+ io:put_chars("No Emakefile found - not running make:all/1\n"),
+ up_to_date;
+ [_|_]=Ms0 ->
+ io:format("Creating an Emakefile for compiling files matching ~s\n",
+ [Wc]),
+ Ms = [list_to_atom(filename:rootname(M, ".erl")) || M <- Ms0],
+ Make0 = {Ms,Flags},
+ Make = io_lib:format("~p. \n", [Make0]),
+ ok = file:write_file("Emakefile", Make),
+ make:all(Flags)
+ end.
diff --git a/lib/test_server/vsn.mk b/lib/test_server/vsn.mk
index e3aac682ec..3c6efeffde 100644
--- a/lib/test_server/vsn.mk
+++ b/lib/test_server/vsn.mk
@@ -1,2 +1,2 @@
-TEST_SERVER_VSN = 3.3.6
+TEST_SERVER_VSN = 3.3.7
diff --git a/lib/tools/doc/src/xref.xml b/lib/tools/doc/src/xref.xml
index 407a7392ad..75ffa25311 100644
--- a/lib/tools/doc/src/xref.xml
+++ b/lib/tools/doc/src/xref.xml
@@ -4,7 +4,7 @@
<erlref>
<header>
<copyright>
- <year>2000</year><year>2009</year>
+ <year>2000</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>xref</title>
@@ -239,7 +239,7 @@ represented by
<item>RegArity ::= RegString | Number | <c>_</c> | <c>-1</c></item>
<item>RegAtom ::= RegString | Atom | <c>_</c></item>
<item>RegString ::= - a regular expression, as described in the
- <c>regexp</c> module, enclosed in double quotes -</item>
+ <c>re</c> module, enclosed in double quotes -</item>
<item>Type ::= <c>Fun</c> | <c>Mod</c> | <c>App</c> | <c>Rel</c></item>
<item>Function ::= Atom</item>
<item>Application ::= Atom</item>
@@ -264,8 +264,7 @@ represented by
Assigning a type to a list or tuple of <c>Constant</c> is
equivalent to assigning the type to each <c>Constant</c>.
</p>
- <p> <marker id="regexp"></marker>
-<em>Regular expressions</em> are used as a
+ <p><marker id="regexp"></marker><em>Regular expressions</em> are used as a
means to select some of the vertices of a graph.
A <c>RegExpr</c> consisting of a <c>RegString</c> and a type -
an example is <c>"xref_.*" : Mod</c> - is interpreted as those
@@ -1546,8 +1545,11 @@ Evaluates a predefined analysis.
</funcs>
<section>
- <title>See Also</title>
- <p>beam_lib(3), digraph(3), digraph_utils(3), regexp(3),
+ <title>See Also</title><p>
+ <seealso marker="stdlib:beam_lib">beam_lib(3)</seealso>,
+ <seealso marker="stdlib:digraph">digraph(3)</seealso>,
+ <seealso marker="stdlib:digraph_utils">digraph_utils(3)</seealso>,
+ <seealso marker="stdlib:re">re(3)</seealso>,
<seealso marker="xref_chapter">TOOLS User's Guide</seealso></p>
</section>
</erlref>
diff --git a/lib/tools/emacs/Makefile b/lib/tools/emacs/Makefile
index 7249263992..0028df247c 100644
--- a/lib/tools/emacs/Makefile
+++ b/lib/tools/emacs/Makefile
@@ -37,6 +37,9 @@ MAN_FILES= \
tags.3
EMACS_FILES= \
+ erlang-skels \
+ erlang-skels-old \
+ erlang_appwiz \
erlang-start \
erlang-eunit \
erlang
diff --git a/lib/tools/emacs/erlang-eunit.el b/lib/tools/emacs/erlang-eunit.el
index 05528aee6d..b2598f93e6 100644
--- a/lib/tools/emacs/erlang-eunit.el
+++ b/lib/tools/emacs/erlang-eunit.el
@@ -1,25 +1,28 @@
;;
;; %CopyrightBegin%
-;;
-;; Copyright Ericsson AB 2009. All Rights Reserved.
-;;
+;;
+;; Copyright Ericsson AB 2009-2010. All Rights Reserved.
+;;
;; The contents of this file are subject to the Erlang Public License,
;; Version 1.1, (the "License"); you may not use this file except in
;; compliance with the License. You should have received a copy of the
;; Erlang Public License along with this software. If not, it can be
;; retrieved online at http://www.erlang.org/.
-;;
+;;
;; Software distributed under the License is distributed on an "AS IS"
;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
;; the License for the specific language governing rights and limitations
;; under the License.
-;;
+;;
;; %CopyrightEnd%
;;;
;;; Purpose: Provide EUnit utilities.
;;;
;;; Author: Klas Johansson
+(eval-when-compile
+ (require 'cl))
+
(defvar erlang-eunit-separate-src-and-test-directories t
"*Whether or not to keep source and EUnit test files in separate directories")
diff --git a/lib/tools/emacs/erlang.el b/lib/tools/emacs/erlang.el
index da586ee09a..0132587d28 100644
--- a/lib/tools/emacs/erlang.el
+++ b/lib/tools/emacs/erlang.el
@@ -988,7 +988,7 @@ behaviour.")
(list (concat "^\\(-" erlang-atom-regexp "\\)\\(\\s-\\|\\.\\|(\\)")
1 (if (boundp 'font-lock-preprocessor-face)
'font-lock-preprocessor-face
- 'font-lock-function-name-face)))
+ 'font-lock-constant-face)))
"Font lock keyword highlighting attributes.")
(defvar erlang-font-lock-keywords-quotes
@@ -1019,10 +1019,12 @@ are highlighted by syntactic analysis.")
(list
(list (concat "?\\s-*\\(" erlang-atom-regexp
"\\|" erlang-variable-regexp "\\)")
- 1 'font-lock-type-face)
+ 1 'font-lock-constant-face)
(list (concat "^\\(-\\(?:define\\|ifn?def\\)\\)\\s-*(\\s-*\\(" erlang-atom-regexp
"\\|" erlang-variable-regexp "\\)")
- (list 1 'font-lock-preprocessor-face t)
+ (if (boundp 'font-lock-preprocessor-face)
+ (list 1 'font-lock-preprocessor-face t)
+ (list 1 'font-lock-constant-face t))
(list 3 'font-lock-type-face t t))
(list "^-e\\(lse\\|ndif\\)\\>" 0 'font-lock-preprocessor-face t))
"Font lock keyword highlighting macros.
@@ -2653,7 +2655,8 @@ Value is list (stack token-start token-type in-what)."
(cond ((eq (car (car stack)) '\()
(erlang-pop stack)
(if (and (eq (car (car stack)) 'fun)
- (eq (car (car (cdr stack))) '::))
+ (or (eq (car (car (last stack))) 'spec)
+ (eq (car (car (cdr stack))) '::))) ;; -type()
;; Inside fun type def ') closes fun definition
(erlang-pop stack)))
((eq (car (car stack)) 'icr)
@@ -2874,8 +2877,8 @@ Return nil if inside string, t if in a comment."
(+ base erlang-indent-level))
(t
(goto-char indent-point)
- (cond ((memq (following-char) '(?\( ?{))
- ;; Function application or record.
+ (cond ((memq (following-char) '(?\( ))
+ ;; Function application.
(+ (erlang-indent-find-preceding-expr)
erlang-argument-indent))
;; Empty line, or end; treat it as the end of
@@ -3472,8 +3475,8 @@ Normally used in conjunction with `erlang-beginning-of-clause', e.g.:
(erlang-get-function-arrow)))"
(and
(save-excursion
- (re-search-forward "[^-:]*-\\|:" (point-max) t)
- (erlang-buffer-substring (- (point) 1) (+ (point) 1)))))
+ (re-search-forward "->" (point-max) t)
+ (erlang-buffer-substring (- (point) 2) (+ (point) 1)))))
(defun erlang-get-function-arity ()
"Return the number of arguments of function at point, or nil."
@@ -3677,6 +3680,7 @@ non-whitespace characters following the point on the current line."
(setq erlang-electric-newline-inhibit nil)
(setq erlang-electric-newline-inhibit t)
(undo-boundary)
+ (erlang-indent-line)
(end-of-line)
(newline)
(if (condition-case nil
diff --git a/lib/tools/emacs/test.erl.indented b/lib/tools/emacs/test.erl.indented
index 1ccced9177..d0ea4c29cf 100644
--- a/lib/tools/emacs/test.erl.indented
+++ b/lib/tools/emacs/test.erl.indented
@@ -1,20 +1,20 @@
%% -*- erlang -*-
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%%-------------------------------------------------------------------
@@ -146,6 +146,8 @@
| {'del_member', name(), pid()},
#state{}) -> {'noreply', #state{}}.
+-spec all(fun((T) -> boolean()), List :: [T]) ->
+ boolean() when is_subtype(T, term()). % (*)
-spec get_closest_pid(term()) ->
Return :: pid()
@@ -349,6 +351,14 @@ indent_basics(X, Y, Z) % AD added clause
foo.
+
+indent_nested() ->
+ [
+ {foo, 2, "string"},
+ {bar, 3, "another string"}
+ ].
+
+
indent_icr(Z) -> % icr = if case receive
%% If
if Z >= 0 ->
diff --git a/lib/tools/emacs/test.erl.orig b/lib/tools/emacs/test.erl.orig
index 9b4203120b..70e97a2e91 100644
--- a/lib/tools/emacs/test.erl.orig
+++ b/lib/tools/emacs/test.erl.orig
@@ -1,20 +1,20 @@
%% -*- erlang -*-
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2009-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%%-------------------------------------------------------------------
@@ -146,6 +146,8 @@ t15(),t20(),t21(), t22(),t25()}.
| {'del_member', name(), pid()},
#state{}) -> {'noreply', #state{}}.
+-spec all(fun((T) -> boolean()), List :: [T]) ->
+ boolean() when is_subtype(T, term()). % (*)
-spec get_closest_pid(term()) ->
Return :: pid()
@@ -349,6 +351,14 @@ indent_basics(X, Y, Z) % AD added clause
foo.
+
+indent_nested() ->
+ [
+ {foo, 2, "string"},
+ {bar, 3, "another string"}
+ ].
+
+
indent_icr(Z) -> % icr = if case receive
%% If
if Z >= 0 ->
diff --git a/lib/tools/src/cover.erl b/lib/tools/src/cover.erl
index 1a7ebdc69a..6501e05a6e 100644
--- a/lib/tools/src/cover.erl
+++ b/lib/tools/src/cover.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
-module(cover).
@@ -689,6 +689,7 @@ main_process_loop(State) ->
end,
State#main_state.nodes),
reload_originals(State#main_state.compiled),
+ unregister(?SERVER),
reply(From, ok);
{From, {Request, Module}} ->
@@ -869,6 +870,7 @@ remote_process_loop(State) ->
{remote,stop} ->
reload_originals(State#remote_state.compiled),
+ unregister(?SERVER),
remote_reply(State#remote_state.main_node, ok);
get_status ->
diff --git a/lib/tools/src/xref_parser.yrl b/lib/tools/src/xref_parser.yrl
index e23dce1dec..1279ece061 100644
--- a/lib/tools/src/xref_parser.yrl
+++ b/lib/tools/src/xref_parser.yrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2000-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2000-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
@@ -169,12 +169,11 @@ is_prefix_op('#') -> numeric;
is_prefix_op(_) -> false.
check_regexp(String) ->
- case regexp:parse(String) of
+ case re:compile(String) of
{ok, _Expr} ->
{regexpr, String};
- {error, Reason} ->
- F = regexp:format_error(Reason),
- return_error(0, ["invalid_regexp", String, F])
+ {error, {ErrString, Position}} ->
+ return_error(Position, ["invalid_regexp", String, ErrString])
end.
check_regexp_variable('_') ->
diff --git a/lib/tools/src/xref_utils.erl b/lib/tools/src/xref_utils.erl
index 680b7e8aac..0ef199cec7 100644
--- a/lib/tools/src/xref_utils.erl
+++ b/lib/tools/src/xref_utils.erl
@@ -640,22 +640,22 @@ neighbours([], G, Fun, VT, L, _V, Vs) ->
neighbours(Vs, G, Fun, VT, L).
match_list(L, RExpr) ->
- {ok, Expr} = regexp:parse(RExpr),
+ {ok, Expr} = re:compile(RExpr),
filter(fun(E) -> match(E, Expr) end, L).
match_one(VarL, Con, Col) ->
select_each(VarL, fun(E) -> Con =:= element(Col, E) end).
match_many(VarL, RExpr, Col) ->
- {ok, Expr} = regexp:parse(RExpr),
+ {ok, Expr} = re:compile(RExpr),
select_each(VarL, fun(E) -> match(element(Col, E), Expr) end).
match(I, Expr) when is_integer(I) ->
S = integer_to_list(I),
- {match, 1, length(S)} =:= regexp:first_match(S, Expr);
+ {match, [{0,length(S)}]} =:= re:run(S, Expr, [{capture, first}]);
match(A, Expr) when is_atom(A) ->
S = atom_to_list(A),
- {match, 1, length(S)} =:= regexp:first_match(S, Expr).
+ {match, [{0,length(S)}]} =:= re:run(S, Expr, [{capture, first}]).
select_each([{Mod,Funs} | L], Pred) ->
case filter(Pred, Funs) of
diff --git a/lib/tools/test/xref_SUITE.erl b/lib/tools/test/xref_SUITE.erl
index b4684140ca..a7855b0bb9 100644
--- a/lib/tools/test/xref_SUITE.erl
+++ b/lib/tools/test/xref_SUITE.erl
@@ -2306,8 +2306,8 @@ format_error(Conf) when is_list(Conf) ->
?line ok = xref:set_default(s, [{verbose,false}, {warnings, false}]),
%% Parse error messages.
- ?line 'Invalid regular expression "add(": unterminated \`(\'\n'
- = fatom(xref:q(s,'"add("')),
+ ?line "Invalid regular expression \"add(\"" ++ _ =
+ fstring(xref:q(s,'"add("')),
?line 'Invalid operator foo\n' =
fatom(xref:q(s,'foo E')),
?line 'Invalid wildcard variable \'_Var\' (only \'_\' is allowed)\n'
@@ -2705,7 +2705,10 @@ f(S, A) ->
flatten(io_lib:format(S, A)).
fatom(R) ->
- list_to_atom(flatten(xref:format_error(R))).
+ list_to_atom(fstring(R)).
+
+fstring(R) ->
+ flatten(xref:format_error(R)).
start(Server) ->
?line case xref:start(Server) of
diff --git a/lib/wx/api_gen/README b/lib/wx/api_gen/README
index 3c49f7b2a5..10b5209789 100644
--- a/lib/wx/api_gen/README
+++ b/lib/wx/api_gen/README
@@ -2,16 +2,20 @@ API GENERATION:
Most of the code in wx is generated.
Users of wxErlang should not normally need to regenerate the generated code,
as it is checked in by wxErlang developers, when changes are made.
- 2008-09-29 Code checked in is currently generated from wxwidgets 2.8.7.
+
+ Code checked in is currently generated from wxwidgets 2.8.10.
REQUIREMENTS:
The code generation requires doxygen (1.4.6) which is
used to parse wxWidgets c++ headers and generate xml files (in
wx_xml/).
- (2008-09-29 doxygen 1.4.6 is required.
- Later versions of Doxygen - up to 1.5.6 at least - have a bug in the xml generation
- which causes us problems. This has been logged and we are waiting for a fix.)
+ 2008-09-29 doxygen 1.4.6 is required.
+ Later versions of Doxygen - up to 1.5.6 at least - have a bug in the xml generation
+ which causes us problems. This has been logged and we are waiting for a fix.
+
+ doxygen 1.6.1 and doxygen 1.6.3 might work but is not what I use, i.e.
+ review the diffs.
CONFIGURATION:
wxapi.conf contains the specification to the code generator. The code
@@ -22,5 +26,11 @@ CONFIGURATION:
and running make. Sometimes the code generator will require changes,
I havn't thought of everything yet.
+RUNNING:
+ I use the following alias wxgen='make WXGTK_DIR=/opt/local/include/wx-2.8/ GL_DIR=/home/dgud/opengl'
+
+ I keep the opengl headers separate so I don't go backwards in version when generating the code
+ from another machine.
+
CONTRIBUTION:
Send me patches or update the svn version.
diff --git a/lib/wx/api_gen/gl_doxygen.conf b/lib/wx/api_gen/gl_doxygen.conf
index e29a3654b5..c9bdb6a408 100644
--- a/lib/wx/api_gen/gl_doxygen.conf
+++ b/lib/wx/api_gen/gl_doxygen.conf
@@ -8,7 +8,7 @@ PROJECT_NUMBER = 0.1
OUTPUT_DIRECTORY = ./
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
-USE_WINDOWS_ENCODING = NO
+#USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
@@ -20,7 +20,7 @@ STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = NO
+# DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
SEPARATE_MEMBER_PAGES = NO
@@ -175,17 +175,20 @@ PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = NO
+EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = \
APIENTRY="" \
+ APIENTRYP="*" \
+ GLAPIENTRY="" \
+ GLAPIENTRYP="*" \
WINGDIAPI="" \
GLAPI="" \
GL_GLEXT_PROTOTYPES="1"
-EXPAND_AS_DEFINED = YES
+EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
@@ -214,9 +217,9 @@ DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-MAX_DOT_GRAPH_DEPTH = 0
+#MAX_DOT_GRAPH_WIDTH = 1024
+#MAX_DOT_GRAPH_HEIGHT = 1024
+#MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
diff --git a/lib/wx/api_gen/gl_gen.erl b/lib/wx/api_gen/gl_gen.erl
index 91a6a1adbf..42802c6de7 100644
--- a/lib/wx/api_gen/gl_gen.erl
+++ b/lib/wx/api_gen/gl_gen.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%
%%%-------------------------------------------------------------------
@@ -47,9 +47,9 @@ safe(What, QuitOnErr) ->
io:format("Completed succesfully~n~n", []),
QuitOnErr andalso gen_util:halt(0)
catch Err:Reason ->
- catch gen_util:close(),
io:format("Error ~p: ~p:~p~n ~p~n",
[get(current_func),Err,Reason,erlang:get_stacktrace()]),
+ (catch gen_util:close()),
timer:sleep(1999),
QuitOnErr andalso gen_util:halt(1)
end.
@@ -605,7 +605,7 @@ is_equal(F1=#func{type=T1,params=A1},F2=#func{type=T2,params=A2}) ->
true -> ok;
false ->
%% io:format("A1: ~p~nA2: ~p~n",[A1,A2]),
- ?warning("Skipped Ext Not Equal ~p ~p~n",
+ ?warning("Keeping Ext Not Equal ~p ~p~n",
[F1#func.name,F2#func.name])
end,
Equal.
diff --git a/lib/wx/api_gen/gl_gen_c.erl b/lib/wx/api_gen/gl_gen_c.erl
index 864ce8b1ac..3293050ab9 100644
--- a/lib/wx/api_gen/gl_gen_c.erl
+++ b/lib/wx/api_gen/gl_gen_c.erl
@@ -136,8 +136,7 @@ declare_var(A=#arg{name=N,in=false,type=#type{name=T,base=binary,size=Sz}}) ->
true = is_number(Sz), %% Assert
w(" ~s ~s[~p];~n", [T,N,Sz]),
A;
-declare_var(A=#arg{name=N,in=false,
- type=#type{name=T="GLUquadric",base=B,by_val=false,single=true}}) ->
+declare_var(A=#arg{in=false, type=#type{name="GLUquadric",by_val=false,single=true}}) ->
A;
declare_var(A=#arg{name=N,in=false,
type=#type{name=T,base=B,by_val=false,single=true}}) ->
diff --git a/lib/wx/api_gen/gl_gen_erl.erl b/lib/wx/api_gen/gl_gen_erl.erl
index 07e4d6f783..ce35484561 100644
--- a/lib/wx/api_gen/gl_gen_erl.erl
+++ b/lib/wx/api_gen/gl_gen_erl.erl
@@ -178,9 +178,16 @@ gen_funcs(F) ->
erase(current_func),
w(".~n~n",[]).
-gen_export([F|_]) when is_list(F) ->
+gen_export(F) ->
+ try gen_export_1(F)
+ catch E:R ->
+ io:format("Crash ~p:~p in ~p ~n",[E,R, erlang:get_stacktrace()]),
+ io:format("Func = ~p~n ~p", [F, get(F)])
+ end.
+
+gen_export_1([F|_]) when is_list(F) ->
gen_export2(get(F));
-gen_export(F) when is_list(F) ->
+gen_export_1(F) when is_list(F) ->
gen_export2(get(F)).
gen_export2(#func{name=Name,alt={vector,VecPos,Vec}}) ->
diff --git a/lib/wx/api_gen/wx_doxygen.conf b/lib/wx/api_gen/wx_doxygen.conf
index 1fc57486e6..df150fd154 100644
--- a/lib/wx/api_gen/wx_doxygen.conf
+++ b/lib/wx/api_gen/wx_doxygen.conf
@@ -8,7 +8,7 @@ PROJECT_NUMBER = 0.1
OUTPUT_DIRECTORY = ./
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
-USE_WINDOWS_ENCODING = NO
+#USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
@@ -20,7 +20,7 @@ STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = NO
+# DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
SEPARATE_MEMBER_PAGES = NO
@@ -73,11 +73,11 @@ WARN_LOGFILE =
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = @WXGTK_DIR@/wx/ wx_extra/
-#FILE_PATTERNS = *.h
+# FILE_PATTERNS = *.h
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS = mac/* mgl/* msw/* os2/* x11/* gtk1/* cocoa/* motif/* msdos/* palmos/* private/*
+EXCLUDE_PATTERNS = mac/* mgl/* msw/* os2/* x11/* gtk1/* cocoa/* motif/* msdos/* palmos/* private/* vms_x_fix.h
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
@@ -176,10 +176,11 @@ PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = NO
+EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
+
PREDEFINED = \
wxUSE_MENUS=1 \
wxUSE_TOOLBAR=1 \
@@ -215,6 +216,7 @@ PREDEFINED = \
wxUSE_LISTBOX=1 \
wxUSE_BMPBUTTON=1 \
wxUSE_CHECKBOX=1 \
+ wxUSE_CHECKLISTBOX=1 \
wxUSE_TREECTRL=1 \
wxUSE_LISTCTRL=1 \
wxUSE_BOOKCTRL=1 \
@@ -251,15 +253,17 @@ PREDEFINED = \
wxUSE_CLIPBOARD=1 \
wxABI_VERSION=20809 \
__WXGTK24__=1 \
+ __WXGTK20__=1 \
__WXGTK__=1 \
+ wxCHECKLBOX_CHECKED="" \
WXDLLEXPORT=""
# WXWIN_COMPATIBILITY_2_6=1 \
-
-EXPAND_AS_DEFINED = YES
+
+EXPAND_AS_DEFINED = WX_FORWARD_TO_SCROLL_HELPER
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
-# Configuration::additions related to external references
+# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
@@ -285,9 +289,6 @@ DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
diff --git a/lib/wx/api_gen/wx_gen.erl b/lib/wx/api_gen/wx_gen.erl
index 2ed4476440..c075324c1f 100644
--- a/lib/wx/api_gen/wx_gen.erl
+++ b/lib/wx/api_gen/wx_gen.erl
@@ -255,19 +255,24 @@ parse_attr(Defs, Class, Ev, Info = #hs{acc=AccList0}) ->
parse_attr1([{{attr,_}, #xmlElement{content=C, attributes=Attrs}}|R], AttrList0, Opts, Res) ->
Parse = fun(Con, Ac) -> parse_param(Con, Opts, Ac) end,
Param0 = foldl(Parse, #param{}, drop_empty(C)),
- case keysearch(prot, #xmlAttribute.name, Attrs) of
- {value, #xmlAttribute{value = "public"}} ->
- {Acc,AttrList} = attr_acc(Param0, AttrList0),
- parse_attr1(R,AttrList,Opts,
- [Param0#param{in=false,prot=public,acc=Acc}|Res]);
- {value, #xmlAttribute{value = "protected"}} ->
- {Acc,AttrList} = attr_acc(Param0, AttrList0),
- parse_attr1(R,AttrList,Opts,
- [Param0#param{in=false,prot=protected,acc=Acc}|Res]);
- {value, #xmlAttribute{value = "private"}} ->
- {Acc,AttrList} = attr_acc(Param0, AttrList0),
- parse_attr1(R,AttrList,Opts,
- [Param0#param{in=false,prot=private,acc=Acc}|Res])
+ case Param0 of
+ #param{where=nowhere} ->
+ parse_attr1(R,AttrList0,Opts,Res);
+ _ ->
+ case keysearch(prot, #xmlAttribute.name, Attrs) of
+ {value, #xmlAttribute{value = "public"}} ->
+ {Acc,AttrList} = attr_acc(Param0, AttrList0),
+ parse_attr1(R,AttrList,Opts,
+ [Param0#param{in=false,prot=public,acc=Acc}|Res]);
+ {value, #xmlAttribute{value = "protected"}} ->
+ {Acc,AttrList} = attr_acc(Param0, AttrList0),
+ parse_attr1(R,AttrList,Opts,
+ [Param0#param{in=false,prot=protected,acc=Acc}|Res]);
+ {value, #xmlAttribute{value = "private"}} ->
+ {Acc,AttrList} = attr_acc(Param0, AttrList0),
+ parse_attr1(R,AttrList,Opts,
+ [Param0#param{in=false,prot=private,acc=Acc}|Res])
+ end
end;
parse_attr1([{_Id,_}|R],AttrList,Info, Res) ->
parse_attr1(R,AttrList,Info, Res);
@@ -591,17 +596,17 @@ parse_param(#xmlElement{name=array,content=C},_Opts, T = #param{type=Type0}) ->
[#xmlText{value=RealVar}] = C,
[Name] = string:tokens(RealVar, "() "),
T#param{name=Name};
-%% #type{mod=[const]} ->
-%% T#param{type=Type0#type{single=array, by_val=true}};
-%% _ ->
-%% T#param{type=Type0#type{single=array, by_val=false}}
_ ->
T#param{type=Type0#type{single=array, by_val=true}}
end;
parse_param(#xmlElement{name=name,content=[C]}, _, T) ->
%% Attributes have this
- #xmlText{value=Name} = C,
- T#param{name=Name};
+ case C of
+ #xmlText{value=Name="ms_classInfo"} ->
+ T#param{name=Name, where=nowhere};
+ #xmlText{value=Name} ->
+ T#param{name=Name}
+ end;
%% Skipped: Attributes have this
parse_param(#xmlElement{name=definition}, _, T) -> T;
parse_param(#xmlElement{name=argsstring}, _, T) -> T;
@@ -610,6 +615,7 @@ parse_param(#xmlElement{name=detaileddescription}, _, T) -> T;
parse_param(#xmlElement{name=inbodydescription}, _, T) -> T;
parse_param(#xmlElement{name=location}, _, T) -> T;
parse_param(#xmlElement{name=referencedby}, _, T) -> T;
+parse_param(#xmlElement{name=reimplements}, _, T) -> T;
parse_param(Other=#xmlElement{name=Name}, _, T) ->
io:format("Unhandled Param ~p ~p ~n in ~p~n", [Name,Other,T]),
?error(unhandled_param).
@@ -1274,11 +1280,11 @@ extract_enum(#xmlElement{name=memberdef,content=C}, Class, File) ->
undefined ->
%% io:format("1Enum name ~p~n", [Name]),
%% [io:format(" ~s ~p~n", [D,V]) || {D,V} <- Vals],
- put({enum, Name}, #enum{vals=Vals});
+ put({enum, Name}, #enum{vals=Vals, from={File,Class,Name0}});
E = #enum{vals=undefined} ->
%% io:format("2Enum name ~p~n", [Name]),
%% [io:format(" ~s ~p~n", [D,V]) || {D,V} <- Vals],
- put({enum, Name}, E#enum{vals=Vals});
+ put({enum, Name}, E#enum{vals=Vals, from={File,Class,Name0}});
#enum{vals=Vals} -> ok;
%% io:format("Same? ~p ~n", [PVals == Vals])
#enum{vals=OldVals} ->
@@ -1352,7 +1358,7 @@ extract_defs(Defs, File) ->
{Vals,_Skip} ->
%% io:format("Defs file ~p~n", [File]),
%% [io:format(" ~s ~p~n", [D,V]) || {D,V} <- Vals, not is_integer(V)]
- put({enum, {define,"From " ++ File ++ ".h"}}, #enum{vals=Vals})
+ put({enum, {define,"From " ++ File ++ ".h"}}, #enum{vals=Vals, from={File, undefined, "@define"}})
end.
extract_defs2(#xmlElement{name=memberdef,content=C},{Acc,Skip}) ->
diff --git a/lib/wx/api_gen/wx_gen.hrl b/lib/wx/api_gen/wx_gen.hrl
index b34d399358..17265a2842 100644
--- a/lib/wx/api_gen/wx_gen.hrl
+++ b/lib/wx/api_gen/wx_gen.hrl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
-record(class,
{
@@ -72,7 +72,7 @@
}
).
--record(enum, {skip="", as_atom=false, vals}).
+-record(enum, {from, skip="", as_atom=false, vals}).
-record(const,{name,val,enum,is_const}).
-define(error(What),
diff --git a/lib/wx/api_gen/wx_gen_cpp.erl b/lib/wx/api_gen/wx_gen_cpp.erl
index 9e9f8799c7..846cec46c4 100644
--- a/lib/wx/api_gen/wx_gen_cpp.erl
+++ b/lib/wx/api_gen/wx_gen_cpp.erl
@@ -1010,6 +1010,11 @@ gen_macros() ->
w("#include <wx/filename.h>~n"),
w("~n~n", []),
+ w("#ifndef wxICON_DEFAULT_BITMAP_TYPE~n",[]),
+ w(" #define wxICON_DEFAULT_BITMAP_TYPE wxBITMAP_TYPE_ICO_RESOURCE~n",[]),
+ w("#endif~n", []),
+ w("~n~n", []),
+
[w("#define ~s_~s ~p~n", [Class,Name,Id]) ||
{Class,Name,_,Id} <- wx_gen_erl:get_unique_names()],
w("~n~n").
diff --git a/lib/wx/api_gen/wx_gen_erl.erl b/lib/wx/api_gen/wx_gen_erl.erl
index d75442d307..7962dd9fbf 100644
--- a/lib/wx/api_gen/wx_gen_erl.erl
+++ b/lib/wx/api_gen/wx_gen_erl.erl
@@ -1035,29 +1035,34 @@ gen_enums_ints() ->
" href, target %% string()~n"
" }).~n", []),
w("~n%% Hardcoded Defines~n", []),
- Enums = [E || E = {{enum,_},#enum{as_atom=false}} <- get()],
+ Enums = [E || {{enum,_},E = #enum{as_atom=false}} <- get()],
w("-define(wxDefaultSize, {-1,-1}).~n", []),
w("-define(wxDefaultPosition, {-1,-1}).~n", []),
w("~n%% Global Variables~n", []),
[w("-define(~s, wxe_util:get_const(~s)).~n", [Gvar, Gvar]) ||
{Gvar,_,_Id} <- get(gvars)],
w("~n%% Enum and defines~n", []),
- foldl(fun({{enum,Type},Enum= #enum{as_atom=false}}, Done) ->
- build_enum_ints(Type,Enum,Done);
+ foldl(fun(Enum= #enum{vals=Vals}, Done) when Vals =/= [] ->
+ build_enum_ints(Enum,Done);
(_,Done) -> Done
end, gb_sets:empty(), lists:sort(Enums)),
close().
-build_enum_ints(Type,#enum{vals=Vals},Done) ->
- case Type of
- [$@|_] -> ok; % anonymous
- {Class,[$@|_]} when Vals =/= [] -> w("% From class ~s~n", [Class]);
- {Class,Enum} when Vals =/= [] -> w("% From ~s::~s~n", [Class,Enum]);
- _ when Vals =/= [] -> w("% Type ~s~n", [Type]);
- _ -> ok
+build_enum_ints(#enum{from=From, vals=Vals},Done) ->
+ case From of
+ {File, undefined, [$@|_]} ->
+ w("% From \"~s.h\"~n",[File]);
+ {File, undefined, Name} ->
+ w("% From \"~s.h\": ~s~n",[File, Name]);
+ {_File, Class,[$@|_]} ->
+ w("% From class ~s~n",[Class]);
+ {_File, Class, Name} ->
+ w("% From class ~s::~s~n",[Class, Name])
end,
- Format = fun(#const{name=Name,val=Value,is_const=true}) when is_integer(Value) ->
+ Format = fun(#const{name="wxEVT_" ++ _}) ->
+ ignore; %% Ignore event macros they are not valid in our event model
+ (#const{name=Name,val=Value,is_const=true}) when is_integer(Value) ->
w("-define(~s, ~p).~n", [enum_name(Name),Value]);
(#const{name=Name,val=Value,is_const=false}) when is_integer(Value) ->
w("-define(~s, wxe_util:get_const(~s)).~n", [enum_name(Name),enum_name(Name)]);
diff --git a/lib/wx/api_gen/wxapi.conf b/lib/wx/api_gen/wxapi.conf
index 4f7bbfedef..c91a9d7fff 100644
--- a/lib/wx/api_gen/wxapi.conf
+++ b/lib/wx/api_gen/wxapi.conf
@@ -27,7 +27,11 @@
wxFONTENCODING_UTF32,wxFONTENCODING_UTF16,
wxDEFAULT_CONTROL_BORDER,wxMOD_CMD,
wxMAJOR_VERSION, wxMINOR_VERSION,
- wxRELEASE_NUMBER,wxSUBRELEASE_NUMBER,wxBETA_NUMBER
+ wxRELEASE_NUMBER,wxSUBRELEASE_NUMBER,wxBETA_NUMBER,
+ %%
+ wxALWAYS_NATIVE_DOUBLE_BUFFER,
+ wxGAUGE_EMULATE_INDETERMINATE_MODE,
+ wxTR_DEFAULT_STYLE
]}.
{gvars,
@@ -702,7 +706,7 @@
['wxCheckBox','~wxCheckBox','Create','GetValue','Get3StateValue',
'Is3rdStateAllowedForUser','Is3State','IsChecked','SetValue',
'Set3StateValue']}.
-{class, wxCheckListBox, wxListBox, [{skip,[{wxCheckListBox,8}]}],
+{class, wxCheckListBox, wxListBox, [{skip,[{wxCheckListBox,8}]}],
[{'wxCheckListBox',[{"pos",{def, "wxDefaultPosition"}},
{"size",{def, "wxDefaultSize"}},
{"choices",{def, ""}}]},
@@ -1686,7 +1690,7 @@
{class, wxSplitterEvent, wxNotifyEvent,
- [
+ [{acc, [{x, skip}, {y, skip}, {pos, skip}, {win, skip}, {pt, skip}]}, %% arrgh doxygen bugs
{event,
[wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED,
wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING,
diff --git a/lib/wx/c_src/Makefile.in b/lib/wx/c_src/Makefile.in
index 5a0b4ce8ef..8710641b57 100644
--- a/lib/wx/c_src/Makefile.in
+++ b/lib/wx/c_src/Makefile.in
@@ -167,7 +167,7 @@ release_spec: opt
$(INSTALL_DIR) $(RELSYSDIR)/priv/$(SYS_TYPE)
$(INSTALL_DATA) ../priv/erlang-logo32.png $(RELSYSDIR)/priv/
$(INSTALL_DATA) ../priv/erlang-logo64.png $(RELSYSDIR)/priv/
- $(INSTALL_DATA) $(TARGET_DIR)/$(TARGET_API)$(SO_EXT) $(RELSYSDIR)/priv/$(SYS_TYPE)
+ $(INSTALL_PROGRAM) $(TARGET_DIR)/$(TARGET_API)$(SO_EXT) $(RELSYSDIR)/priv/$(SYS_TYPE)
release_docs_spec:
diff --git a/lib/wx/c_src/gen/gl_fdefs.h b/lib/wx/c_src/gen/gl_fdefs.h
index f8851ddb83..2096f7a413 100644
--- a/lib/wx/c_src/gen/gl_fdefs.h
+++ b/lib/wx/c_src/gen/gl_fdefs.h
@@ -16,7 +16,7 @@
*
* %CopyrightEnd%
*/
-/***** This file is generated do not edit ****/
+/***** This file is generated do not edit ****/
#ifdef WX_DEF_EXTS
# define WXE_EXTERN
diff --git a/lib/wx/c_src/gen/gl_finit.h b/lib/wx/c_src/gen/gl_finit.h
index a22192d06a..ef29f05c4d 100644
--- a/lib/wx/c_src/gen/gl_finit.h
+++ b/lib/wx/c_src/gen/gl_finit.h
@@ -16,7 +16,7 @@
*
* %CopyrightEnd%
*/
-/***** This file is generated do not edit ****/
+/***** This file is generated do not edit ****/
static struct {
const char * name;
diff --git a/lib/wx/c_src/gen/gl_funcs.cpp b/lib/wx/c_src/gen/gl_funcs.cpp
index 41a5524891..95d3c23b23 100644
--- a/lib/wx/c_src/gen/gl_funcs.cpp
+++ b/lib/wx/c_src/gen/gl_funcs.cpp
@@ -16,7 +16,7 @@
*
* %CopyrightEnd%
*/
-/***** This file is generated do not edit ****/
+/***** This file is generated do not edit ****/
#include <stdio.h>
#include <string.h>
@@ -41,10 +41,10 @@ void gl_dispatch(int op, char *bp,ErlDrvTermData caller,WXEBinRef *bins[]){
}
};
- switch(op)
+ switch(op)
{
- case 5000:
- wxe_tess_impl(bp, caller);
+ case 5000:
+ wxe_tess_impl(bp, caller);
break;
case WXE_BIN_INCR:
driver_binary_inc_refc(bins[0]->bin);
@@ -52,7 +52,7 @@ void gl_dispatch(int op, char *bp,ErlDrvTermData caller,WXEBinRef *bins[]){
case WXE_BIN_DECR:
driver_binary_dec_refc(bins[0]->bin);
break;
-case 5010: { // gluBuild1DMipmapLevels
+case 5010: { // gluBuild1DMipmapLevels
GLenum *target = (GLenum *) bp; bp += 4;
GLint *internalFormat = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -69,8 +69,8 @@ case 5010: { // gluBuild1DMipmapLevels
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5011: { // gluBuild1DMipmaps
+}; break;
+case 5011: { // gluBuild1DMipmaps
GLenum *target = (GLenum *) bp; bp += 4;
GLint *internalFormat = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -84,8 +84,8 @@ case 5011: { // gluBuild1DMipmaps
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5012: { // gluBuild2DMipmapLevels
+}; break;
+case 5012: { // gluBuild2DMipmapLevels
GLenum *target = (GLenum *) bp; bp += 4;
GLint *internalFormat = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -103,8 +103,8 @@ case 5012: { // gluBuild2DMipmapLevels
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5013: { // gluBuild2DMipmaps
+}; break;
+case 5013: { // gluBuild2DMipmaps
GLenum *target = (GLenum *) bp; bp += 4;
GLint *internalFormat = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -119,8 +119,8 @@ case 5013: { // gluBuild2DMipmaps
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5014: { // gluBuild3DMipmapLevels
+}; break;
+case 5014: { // gluBuild3DMipmapLevels
GLenum *target = (GLenum *) bp; bp += 4;
GLint *internalFormat = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -139,8 +139,8 @@ case 5014: { // gluBuild3DMipmapLevels
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5015: { // gluBuild3DMipmaps
+}; break;
+case 5015: { // gluBuild3DMipmaps
GLenum *target = (GLenum *) bp; bp += 4;
GLint *internalFormat = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -156,8 +156,8 @@ case 5015: { // gluBuild3DMipmaps
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5016: { // gluCheckExtension
+}; break;
+case 5016: { // gluCheckExtension
int * extNameLen = (int *) bp; bp += 4;
GLubyte * extName = (GLubyte *) bp; bp += (8-((*extNameLen*1+4)%8))%8;
int * extStringLen = (int *) bp; bp += 4;
@@ -169,8 +169,8 @@ case 5016: { // gluCheckExtension
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5017: { // gluCylinder
+}; break;
+case 5017: { // gluCylinder
GLUquadric * quad = (GLUquadric *) * (GLuint64EXT *) bp; bp += 8;
GLdouble *base = (GLdouble *) bp; bp += 8;
GLdouble *top = (GLdouble *) bp; bp += 8;
@@ -178,20 +178,20 @@ case 5017: { // gluCylinder
GLint *slices = (GLint *) bp; bp += 4;
GLint *stacks = (GLint *) bp; bp += 4;
wegluCylinder(quad,*base,*top,*height,*slices,*stacks);
-}; break;
-case 5018: { // gluDeleteQuadric
+}; break;
+case 5018: { // gluDeleteQuadric
GLUquadric * quad = (GLUquadric *) * (GLuint64EXT *) bp; bp += 8;
wegluDeleteQuadric(quad);
-}; break;
-case 5019: { // gluDisk
+}; break;
+case 5019: { // gluDisk
GLUquadric * quad = (GLUquadric *) * (GLuint64EXT *) bp; bp += 8;
GLdouble *inner = (GLdouble *) bp; bp += 8;
GLdouble *outer = (GLdouble *) bp; bp += 8;
GLint *slices = (GLint *) bp; bp += 4;
GLint *loops = (GLint *) bp; bp += 4;
wegluDisk(quad,*inner,*outer,*slices,*loops);
-}; break;
-case 5020: { // gluErrorString
+}; break;
+case 5020: { // gluErrorString
GLenum *error = (GLenum *) bp; bp += 4;
const GLubyte * result = wegluErrorString(*error);
int AP = 0; ErlDrvTermData rt[7];
@@ -200,8 +200,8 @@ case 5020: { // gluErrorString
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5021: { // gluGetString
+}; break;
+case 5021: { // gluGetString
GLenum *name = (GLenum *) bp; bp += 4;
const GLubyte * result = wegluGetString(*name);
int AP = 0; ErlDrvTermData rt[7];
@@ -210,8 +210,8 @@ case 5021: { // gluGetString
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5022: { // gluLookAt
+}; break;
+case 5022: { // gluLookAt
GLdouble *eyeX = (GLdouble *) bp; bp += 8;
GLdouble *eyeY = (GLdouble *) bp; bp += 8;
GLdouble *eyeZ = (GLdouble *) bp; bp += 8;
@@ -222,8 +222,8 @@ case 5022: { // gluLookAt
GLdouble *upY = (GLdouble *) bp; bp += 8;
GLdouble *upZ = (GLdouble *) bp; bp += 8;
wegluLookAt(*eyeX,*eyeY,*eyeZ,*centerX,*centerY,*centerZ,*upX,*upY,*upZ);
-}; break;
-case 5023: { // gluNewQuadric
+}; break;
+case 5023: { // gluNewQuadric
GLUquadric * result = wegluNewQuadric();
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_wxe_result_");
@@ -231,15 +231,15 @@ case 5023: { // gluNewQuadric
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5024: { // gluOrtho2D
+}; break;
+case 5024: { // gluOrtho2D
GLdouble *left = (GLdouble *) bp; bp += 8;
GLdouble *right = (GLdouble *) bp; bp += 8;
GLdouble *bottom = (GLdouble *) bp; bp += 8;
GLdouble *top = (GLdouble *) bp; bp += 8;
wegluOrtho2D(*left,*right,*bottom,*top);
-}; break;
-case 5025: { // gluPartialDisk
+}; break;
+case 5025: { // gluPartialDisk
GLUquadric * quad = (GLUquadric *) * (GLuint64EXT *) bp; bp += 8;
GLdouble *inner = (GLdouble *) bp; bp += 8;
GLdouble *outer = (GLdouble *) bp; bp += 8;
@@ -248,23 +248,23 @@ case 5025: { // gluPartialDisk
GLdouble *start = (GLdouble *) bp; bp += 8;
GLdouble *sweep = (GLdouble *) bp; bp += 8;
wegluPartialDisk(quad,*inner,*outer,*slices,*loops,*start,*sweep);
-}; break;
-case 5026: { // gluPerspective
+}; break;
+case 5026: { // gluPerspective
GLdouble *fovy = (GLdouble *) bp; bp += 8;
GLdouble *aspect = (GLdouble *) bp; bp += 8;
GLdouble *zNear = (GLdouble *) bp; bp += 8;
GLdouble *zFar = (GLdouble *) bp; bp += 8;
wegluPerspective(*fovy,*aspect,*zNear,*zFar);
-}; break;
-case 5027: { // gluPickMatrix
+}; break;
+case 5027: { // gluPickMatrix
GLdouble *x = (GLdouble *) bp; bp += 8;
GLdouble *y = (GLdouble *) bp; bp += 8;
GLdouble *delX = (GLdouble *) bp; bp += 8;
GLdouble *delY = (GLdouble *) bp; bp += 8;
GLint * viewport = (GLint *) bp; bp += 16;
wegluPickMatrix(*x,*y,*delX,*delY,viewport);
-}; break;
-case 5028: { // gluProject
+}; break;
+case 5028: { // gluProject
GLdouble *objX = (GLdouble *) bp; bp += 8;
GLdouble *objY = (GLdouble *) bp; bp += 8;
GLdouble *objZ = (GLdouble *) bp; bp += 8;
@@ -285,28 +285,28 @@ case 5028: { // gluProject
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5029: { // gluQuadricDrawStyle
+}; break;
+case 5029: { // gluQuadricDrawStyle
GLUquadric * quad = (GLUquadric *) * (GLuint64EXT *) bp; bp += 8;
GLenum *draw = (GLenum *) bp; bp += 4;
wegluQuadricDrawStyle(quad,*draw);
-}; break;
-case 5030: { // gluQuadricNormals
+}; break;
+case 5030: { // gluQuadricNormals
GLUquadric * quad = (GLUquadric *) * (GLuint64EXT *) bp; bp += 8;
GLenum *normal = (GLenum *) bp; bp += 4;
wegluQuadricNormals(quad,*normal);
-}; break;
-case 5031: { // gluQuadricOrientation
+}; break;
+case 5031: { // gluQuadricOrientation
GLUquadric * quad = (GLUquadric *) * (GLuint64EXT *) bp; bp += 8;
GLenum *orientation = (GLenum *) bp; bp += 4;
wegluQuadricOrientation(quad,*orientation);
-}; break;
-case 5032: { // gluQuadricTexture
+}; break;
+case 5032: { // gluQuadricTexture
GLUquadric * quad = (GLUquadric *) * (GLuint64EXT *) bp; bp += 8;
GLboolean *texture = (GLboolean *) bp; bp += 1;
wegluQuadricTexture(quad,*texture);
-}; break;
-case 5033: { // gluScaleImage
+}; break;
+case 5033: { // gluScaleImage
GLenum *format = (GLenum *) bp; bp += 4;
GLsizei *wIn = (GLsizei *) bp; bp += 4;
GLsizei *hIn = (GLsizei *) bp; bp += 4;
@@ -323,15 +323,15 @@ case 5033: { // gluScaleImage
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5034: { // gluSphere
+}; break;
+case 5034: { // gluSphere
GLUquadric * quad = (GLUquadric *) * (GLuint64EXT *) bp; bp += 8;
GLdouble *radius = (GLdouble *) bp; bp += 8;
GLint *slices = (GLint *) bp; bp += 4;
GLint *stacks = (GLint *) bp; bp += 4;
wegluSphere(quad,*radius,*slices,*stacks);
-}; break;
-case 5035: { // gluUnProject
+}; break;
+case 5035: { // gluUnProject
GLdouble *winX = (GLdouble *) bp; bp += 8;
GLdouble *winY = (GLdouble *) bp; bp += 8;
GLdouble *winZ = (GLdouble *) bp; bp += 8;
@@ -352,8 +352,8 @@ case 5035: { // gluUnProject
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5036: { // gluUnProject4
+}; break;
+case 5036: { // gluUnProject4
GLdouble *winX = (GLdouble *) bp; bp += 8;
GLdouble *winY = (GLdouble *) bp; bp += 8;
GLdouble *winZ = (GLdouble *) bp; bp += 8;
@@ -379,18 +379,18 @@ case 5036: { // gluUnProject4
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 16 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,16);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5037: { // glAccum
+}; break;
+case 5037: { // glAccum
GLenum *op = (GLenum *) bp; bp += 4;
GLfloat *value = (GLfloat *) bp; bp += 4;
weglAccum(*op,*value);
-}; break;
-case 5038: { // glAlphaFunc
+}; break;
+case 5038: { // glAlphaFunc
GLenum *func = (GLenum *) bp; bp += 4;
GLclampf *ref = (GLclampf *) bp; bp += 4;
weglAlphaFunc(*func,*ref);
-}; break;
-case 5039: { // glAreTexturesResident
+}; break;
+case 5039: { // glAreTexturesResident
int * texturesLen = (int *) bp; bp += 4;
GLuint * textures = (GLuint *) bp; bp += (8-((*texturesLen*4+4)%8))%8;
GLboolean *residences;
@@ -407,23 +407,23 @@ case 5039: { // glAreTexturesResident
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 11 + (*texturesLen)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,11 + (*texturesLen)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(residences);
-}; break;
-case 5040: { // glArrayElement
+}; break;
+case 5040: { // glArrayElement
GLint *i = (GLint *) bp; bp += 4;
weglArrayElement(*i);
-}; break;
-case 5041: { // glBegin
+}; break;
+case 5041: { // glBegin
GLenum *mode = (GLenum *) bp; bp += 4;
weglBegin(*mode);
-}; break;
-case 5042: { // glBindTexture
+}; break;
+case 5042: { // glBindTexture
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *texture = (GLuint *) bp; bp += 4;
weglBindTexture(*target,*texture);
-}; break;
-case 5043: { // glBitmap
+}; break;
+case 5043: { // glBitmap
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
GLfloat *xorig = (GLfloat *) bp; bp += 4;
@@ -432,8 +432,8 @@ case 5043: { // glBitmap
GLfloat *ymove = (GLfloat *) bp; bp += 4;
GLubyte *bitmap = (GLubyte *) * (int *) bp; bp += 4;
weglBitmap(*width,*height,*xorig,*yorig,*xmove,*ymove,bitmap);
-}; break;
-case 5044: { // glBitmap
+}; break;
+case 5044: { // glBitmap
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
GLfloat *xorig = (GLfloat *) bp; bp += 4;
@@ -442,156 +442,156 @@ case 5044: { // glBitmap
GLfloat *ymove = (GLfloat *) bp; bp += 4;
GLubyte *bitmap = (GLubyte *) bins[0]->base;
weglBitmap(*width,*height,*xorig,*yorig,*xmove,*ymove,bitmap);
-}; break;
-case 5045: { // glBlendFunc
+}; break;
+case 5045: { // glBlendFunc
GLenum *sfactor = (GLenum *) bp; bp += 4;
GLenum *dfactor = (GLenum *) bp; bp += 4;
weglBlendFunc(*sfactor,*dfactor);
-}; break;
-case 5046: { // glCallList
+}; break;
+case 5046: { // glCallList
GLuint *list = (GLuint *) bp; bp += 4;
weglCallList(*list);
-}; break;
-case 5047: { // glCallLists
+}; break;
+case 5047: { // glCallLists
int * listsLen = (int *) bp; bp += 4;
GLuint * lists = (GLuint *) bp; bp += (8-((*listsLen*4+4)%8))%8;
weglCallLists(*listsLen,GL_UNSIGNED_INT,lists);
-}; break;
-case 5048: { // glClear
+}; break;
+case 5048: { // glClear
GLbitfield *mask = (GLbitfield *) bp; bp += 4;
weglClear(*mask);
-}; break;
-case 5049: { // glClearAccum
+}; break;
+case 5049: { // glClearAccum
GLfloat *red = (GLfloat *) bp; bp += 4;
GLfloat *green = (GLfloat *) bp; bp += 4;
GLfloat *blue = (GLfloat *) bp; bp += 4;
GLfloat *alpha = (GLfloat *) bp; bp += 4;
weglClearAccum(*red,*green,*blue,*alpha);
-}; break;
-case 5050: { // glClearColor
+}; break;
+case 5050: { // glClearColor
GLclampf *red = (GLclampf *) bp; bp += 4;
GLclampf *green = (GLclampf *) bp; bp += 4;
GLclampf *blue = (GLclampf *) bp; bp += 4;
GLclampf *alpha = (GLclampf *) bp; bp += 4;
weglClearColor(*red,*green,*blue,*alpha);
-}; break;
-case 5051: { // glClearDepth
+}; break;
+case 5051: { // glClearDepth
GLclampd *depth = (GLclampd *) bp; bp += 8;
weglClearDepth(*depth);
-}; break;
-case 5052: { // glClearIndex
+}; break;
+case 5052: { // glClearIndex
GLfloat *c = (GLfloat *) bp; bp += 4;
weglClearIndex(*c);
-}; break;
-case 5053: { // glClearStencil
+}; break;
+case 5053: { // glClearStencil
GLint *s = (GLint *) bp; bp += 4;
weglClearStencil(*s);
-}; break;
-case 5054: { // glClipPlane
+}; break;
+case 5054: { // glClipPlane
GLenum *plane = (GLenum *) bp; bp += 4;
bp += 4;
GLdouble * equation = (GLdouble *) bp; bp += 32;
weglClipPlane(*plane,equation);
-}; break;
-case 5055: { // glColor3bv
+}; break;
+case 5055: { // glColor3bv
GLbyte *v = (GLbyte *) bp; bp += 1;
weglColor3bv(v);
-}; break;
-case 5056: { // glColor3dv
+}; break;
+case 5056: { // glColor3dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglColor3dv(v);
-}; break;
-case 5057: { // glColor3fv
+}; break;
+case 5057: { // glColor3fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglColor3fv(v);
-}; break;
-case 5058: { // glColor3iv
+}; break;
+case 5058: { // glColor3iv
GLint *v = (GLint *) bp; bp += 4;
weglColor3iv(v);
-}; break;
-case 5059: { // glColor3sv
+}; break;
+case 5059: { // glColor3sv
GLshort *v = (GLshort *) bp; bp += 2;
weglColor3sv(v);
-}; break;
-case 5060: { // glColor3ubv
+}; break;
+case 5060: { // glColor3ubv
GLubyte *v = (GLubyte *) bp; bp += 1;
weglColor3ubv(v);
-}; break;
-case 5061: { // glColor3uiv
+}; break;
+case 5061: { // glColor3uiv
GLuint *v = (GLuint *) bp; bp += 4;
weglColor3uiv(v);
-}; break;
-case 5062: { // glColor3usv
+}; break;
+case 5062: { // glColor3usv
GLushort *v = (GLushort *) bp; bp += 2;
weglColor3usv(v);
-}; break;
-case 5063: { // glColor4bv
+}; break;
+case 5063: { // glColor4bv
GLbyte *v = (GLbyte *) bp; bp += 1;
weglColor4bv(v);
-}; break;
-case 5064: { // glColor4dv
+}; break;
+case 5064: { // glColor4dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglColor4dv(v);
-}; break;
-case 5065: { // glColor4fv
+}; break;
+case 5065: { // glColor4fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglColor4fv(v);
-}; break;
-case 5066: { // glColor4iv
+}; break;
+case 5066: { // glColor4iv
GLint *v = (GLint *) bp; bp += 4;
weglColor4iv(v);
-}; break;
-case 5067: { // glColor4sv
+}; break;
+case 5067: { // glColor4sv
GLshort *v = (GLshort *) bp; bp += 2;
weglColor4sv(v);
-}; break;
-case 5068: { // glColor4ubv
+}; break;
+case 5068: { // glColor4ubv
GLubyte *v = (GLubyte *) bp; bp += 1;
weglColor4ubv(v);
-}; break;
-case 5069: { // glColor4uiv
+}; break;
+case 5069: { // glColor4uiv
GLuint *v = (GLuint *) bp; bp += 4;
weglColor4uiv(v);
-}; break;
-case 5070: { // glColor4usv
+}; break;
+case 5070: { // glColor4usv
GLushort *v = (GLushort *) bp; bp += 2;
weglColor4usv(v);
-}; break;
-case 5071: { // glColorMask
+}; break;
+case 5071: { // glColorMask
GLboolean *red = (GLboolean *) bp; bp += 1;
GLboolean *green = (GLboolean *) bp; bp += 1;
GLboolean *blue = (GLboolean *) bp; bp += 1;
GLboolean *alpha = (GLboolean *) bp; bp += 1;
weglColorMask(*red,*green,*blue,*alpha);
-}; break;
-case 5072: { // glColorMaterial
+}; break;
+case 5072: { // glColorMaterial
GLenum *face = (GLenum *) bp; bp += 4;
GLenum *mode = (GLenum *) bp; bp += 4;
weglColorMaterial(*face,*mode);
-}; break;
-case 5073: { // glColorPointer
+}; break;
+case 5073: { // glColorPointer
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglColorPointer(*size,*type,*stride,pointer);
-}; break;
-case 5074: { // glColorPointer
+}; break;
+case 5074: { // glColorPointer
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglColorPointer(*size,*type,*stride,pointer);
-}; break;
-case 5075: { // glCopyPixels
+}; break;
+case 5075: { // glCopyPixels
GLint *x = (GLint *) bp; bp += 4;
GLint *y = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
weglCopyPixels(*x,*y,*width,*height,*type);
-}; break;
-case 5076: { // glCopyTexImage1D
+}; break;
+case 5076: { // glCopyTexImage1D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *internalFormat = (GLenum *) bp; bp += 4;
@@ -600,8 +600,8 @@ case 5076: { // glCopyTexImage1D
GLsizei *width = (GLsizei *) bp; bp += 4;
GLint *border = (GLint *) bp; bp += 4;
weglCopyTexImage1D(*target,*level,*internalFormat,*x,*y,*width,*border);
-}; break;
-case 5077: { // glCopyTexImage2D
+}; break;
+case 5077: { // glCopyTexImage2D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *internalFormat = (GLenum *) bp; bp += 4;
@@ -611,8 +611,8 @@ case 5077: { // glCopyTexImage2D
GLsizei *height = (GLsizei *) bp; bp += 4;
GLint *border = (GLint *) bp; bp += 4;
weglCopyTexImage2D(*target,*level,*internalFormat,*x,*y,*width,*height,*border);
-}; break;
-case 5078: { // glCopyTexSubImage1D
+}; break;
+case 5078: { // glCopyTexSubImage1D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -620,8 +620,8 @@ case 5078: { // glCopyTexSubImage1D
GLint *y = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
weglCopyTexSubImage1D(*target,*level,*xoffset,*x,*y,*width);
-}; break;
-case 5079: { // glCopyTexSubImage2D
+}; break;
+case 5079: { // glCopyTexSubImage2D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -631,150 +631,150 @@ case 5079: { // glCopyTexSubImage2D
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
weglCopyTexSubImage2D(*target,*level,*xoffset,*yoffset,*x,*y,*width,*height);
-}; break;
-case 5080: { // glCullFace
+}; break;
+case 5080: { // glCullFace
GLenum *mode = (GLenum *) bp; bp += 4;
weglCullFace(*mode);
-}; break;
-case 5081: { // glDeleteLists
+}; break;
+case 5081: { // glDeleteLists
GLuint *list = (GLuint *) bp; bp += 4;
GLsizei *range = (GLsizei *) bp; bp += 4;
weglDeleteLists(*list,*range);
-}; break;
-case 5082: { // glDeleteTextures
+}; break;
+case 5082: { // glDeleteTextures
int * texturesLen = (int *) bp; bp += 4;
GLuint * textures = (GLuint *) bp; bp += (8-((*texturesLen*4+4)%8))%8;
weglDeleteTextures(*texturesLen,textures);
-}; break;
-case 5083: { // glDepthFunc
+}; break;
+case 5083: { // glDepthFunc
GLenum *func = (GLenum *) bp; bp += 4;
weglDepthFunc(*func);
-}; break;
-case 5084: { // glDepthMask
+}; break;
+case 5084: { // glDepthMask
GLboolean *flag = (GLboolean *) bp; bp += 1;
weglDepthMask(*flag);
-}; break;
-case 5085: { // glDepthRange
+}; break;
+case 5085: { // glDepthRange
GLclampd *zNear = (GLclampd *) bp; bp += 8;
GLclampd *zFar = (GLclampd *) bp; bp += 8;
weglDepthRange(*zNear,*zFar);
-}; break;
-case 5086: { // glDisable
+}; break;
+case 5086: { // glDisable
GLenum *cap = (GLenum *) bp; bp += 4;
weglDisable(*cap);
-}; break;
-case 5087: { // glDisableClientState
+}; break;
+case 5087: { // glDisableClientState
GLenum *array = (GLenum *) bp; bp += 4;
weglDisableClientState(*array);
-}; break;
-case 5088: { // glDrawArrays
+}; break;
+case 5088: { // glDrawArrays
GLenum *mode = (GLenum *) bp; bp += 4;
GLint *first = (GLint *) bp; bp += 4;
GLsizei *count = (GLsizei *) bp; bp += 4;
weglDrawArrays(*mode,*first,*count);
-}; break;
-case 5089: { // glDrawBuffer
+}; break;
+case 5089: { // glDrawBuffer
GLenum *mode = (GLenum *) bp; bp += 4;
weglDrawBuffer(*mode);
-}; break;
-case 5090: { // glDrawElements
+}; break;
+case 5090: { // glDrawElements
GLenum *mode = (GLenum *) bp; bp += 4;
GLsizei *count = (GLsizei *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *indices = (GLvoid *) * (int *) bp; bp += 4;
weglDrawElements(*mode,*count,*type,indices);
-}; break;
-case 5091: { // glDrawElements
+}; break;
+case 5091: { // glDrawElements
GLenum *mode = (GLenum *) bp; bp += 4;
GLsizei *count = (GLsizei *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *indices = (GLvoid *) bins[0]->base;
weglDrawElements(*mode,*count,*type,indices);
-}; break;
-case 5092: { // glDrawPixels
+}; break;
+case 5092: { // glDrawPixels
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
GLenum *format = (GLenum *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) * (int *) bp; bp += 4;
weglDrawPixels(*width,*height,*format,*type,pixels);
-}; break;
-case 5093: { // glDrawPixels
+}; break;
+case 5093: { // glDrawPixels
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
GLenum *format = (GLenum *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) bins[0]->base;
weglDrawPixels(*width,*height,*format,*type,pixels);
-}; break;
-case 5094: { // glEdgeFlagv
+}; break;
+case 5094: { // glEdgeFlagv
GLboolean *flag = (GLboolean *) bp; bp += 1;
weglEdgeFlagv(flag);
-}; break;
-case 5095: { // glEdgeFlagPointer
+}; break;
+case 5095: { // glEdgeFlagPointer
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglEdgeFlagPointer(*stride,pointer);
-}; break;
-case 5096: { // glEdgeFlagPointer
+}; break;
+case 5096: { // glEdgeFlagPointer
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglEdgeFlagPointer(*stride,pointer);
-}; break;
-case 5097: { // glEnable
+}; break;
+case 5097: { // glEnable
GLenum *cap = (GLenum *) bp; bp += 4;
weglEnable(*cap);
-}; break;
-case 5098: { // glEnableClientState
+}; break;
+case 5098: { // glEnableClientState
GLenum *array = (GLenum *) bp; bp += 4;
weglEnableClientState(*array);
-}; break;
-case 5099: { // glEnd
+}; break;
+case 5099: { // glEnd
weglEnd();
-}; break;
-case 5100: { // glEndList
+}; break;
+case 5100: { // glEndList
weglEndList();
-}; break;
-case 5101: { // glEvalCoord1dv
+}; break;
+case 5101: { // glEvalCoord1dv
GLdouble *u = (GLdouble *) bp; bp += 8;
weglEvalCoord1dv(u);
-}; break;
-case 5102: { // glEvalCoord1fv
+}; break;
+case 5102: { // glEvalCoord1fv
GLfloat *u = (GLfloat *) bp; bp += 4;
weglEvalCoord1fv(u);
-}; break;
-case 5103: { // glEvalCoord2dv
+}; break;
+case 5103: { // glEvalCoord2dv
GLdouble *u = (GLdouble *) bp; bp += 8;
weglEvalCoord2dv(u);
-}; break;
-case 5104: { // glEvalCoord2fv
+}; break;
+case 5104: { // glEvalCoord2fv
GLfloat *u = (GLfloat *) bp; bp += 4;
weglEvalCoord2fv(u);
-}; break;
-case 5105: { // glEvalMesh1
+}; break;
+case 5105: { // glEvalMesh1
GLenum *mode = (GLenum *) bp; bp += 4;
GLint *i1 = (GLint *) bp; bp += 4;
GLint *i2 = (GLint *) bp; bp += 4;
weglEvalMesh1(*mode,*i1,*i2);
-}; break;
-case 5106: { // glEvalMesh2
+}; break;
+case 5106: { // glEvalMesh2
GLenum *mode = (GLenum *) bp; bp += 4;
GLint *i1 = (GLint *) bp; bp += 4;
GLint *i2 = (GLint *) bp; bp += 4;
GLint *j1 = (GLint *) bp; bp += 4;
GLint *j2 = (GLint *) bp; bp += 4;
weglEvalMesh2(*mode,*i1,*i2,*j1,*j2);
-}; break;
-case 5107: { // glEvalPoint1
+}; break;
+case 5107: { // glEvalPoint1
GLint *i = (GLint *) bp; bp += 4;
weglEvalPoint1(*i);
-}; break;
-case 5108: { // glEvalPoint2
+}; break;
+case 5108: { // glEvalPoint2
GLint *i = (GLint *) bp; bp += 4;
GLint *j = (GLint *) bp; bp += 4;
weglEvalPoint2(*i,*j);
-}; break;
-case 5109: { // glFeedbackBuffer
+}; break;
+case 5109: { // glFeedbackBuffer
GLsizei *size = (GLsizei *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLfloat *buffer = (GLfloat *) bins[0]->base;
@@ -784,40 +784,40 @@ case 5109: { // glFeedbackBuffer
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5110: { // glFinish
+}; break;
+case 5110: { // glFinish
weglFinish();
-}; break;
-case 5111: { // glFlush
+}; break;
+case 5111: { // glFlush
weglFlush();
-}; break;
-case 5112: { // glFogf
+}; break;
+case 5112: { // glFogf
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat *param = (GLfloat *) bp; bp += 4;
weglFogf(*pname,*param);
-}; break;
-case 5113: { // glFogfv
+}; break;
+case 5113: { // glFogfv
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLfloat *params = (GLfloat *) bp; bp += *paramsLen*4+((*paramsLen)+0)%2*4;
weglFogfv(*pname,params);
-}; break;
-case 5114: { // glFogi
+}; break;
+case 5114: { // glFogi
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *param = (GLint *) bp; bp += 4;
weglFogi(*pname,*param);
-}; break;
-case 5115: { // glFogiv
+}; break;
+case 5115: { // glFogiv
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLint *params = (GLint *) bp; bp += *paramsLen*4+((*paramsLen)+0)%2*4;
weglFogiv(*pname,params);
-}; break;
-case 5116: { // glFrontFace
+}; break;
+case 5116: { // glFrontFace
GLenum *mode = (GLenum *) bp; bp += 4;
weglFrontFace(*mode);
-}; break;
-case 5117: { // glFrustum
+}; break;
+case 5117: { // glFrustum
GLdouble *left = (GLdouble *) bp; bp += 8;
GLdouble *right = (GLdouble *) bp; bp += 8;
GLdouble *bottom = (GLdouble *) bp; bp += 8;
@@ -825,8 +825,8 @@ case 5117: { // glFrustum
GLdouble *zNear = (GLdouble *) bp; bp += 8;
GLdouble *zFar = (GLdouble *) bp; bp += 8;
weglFrustum(*left,*right,*bottom,*top,*zNear,*zFar);
-}; break;
-case 5118: { // glGenLists
+}; break;
+case 5118: { // glGenLists
GLsizei *range = (GLsizei *) bp; bp += 4;
GLuint result = weglGenLists(*range);
int AP = 0; ErlDrvTermData rt[6];
@@ -835,8 +835,8 @@ case 5118: { // glGenLists
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5119: { // glGenTextures
+}; break;
+case 5119: { // glGenTextures
GLsizei *n = (GLsizei *) bp; bp += 4;
GLuint *textures;
textures = (GLuint *) driver_alloc(sizeof(GLuint) * *n);
@@ -850,10 +850,10 @@ case 5119: { // glGenTextures
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*n)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*n)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(textures);
-}; break;
-case 5120: { // glGetBooleanv
+}; break;
+case 5120: { // glGetBooleanv
GLenum *pname = (GLenum *) bp; bp += 4;
GLboolean params[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
weglGetBooleanv(*pname,params);
@@ -880,8 +880,8 @@ case 5120: { // glGetBooleanv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 39 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,39);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5121: { // glGetClipPlane
+}; break;
+case 5121: { // glGetClipPlane
GLenum *plane = (GLenum *) bp; bp += 4;
GLdouble equation[4] = {0.0,0.0,0.0,0.0};
weglGetClipPlane(*plane,equation);
@@ -896,8 +896,8 @@ case 5121: { // glGetClipPlane
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5122: { // glGetDoublev
+}; break;
+case 5122: { // glGetDoublev
GLenum *pname = (GLenum *) bp; bp += 4;
GLdouble params[16] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
weglGetDoublev(*pname,params);
@@ -924,8 +924,8 @@ case 5122: { // glGetDoublev
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 39 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,39);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5123: { // glGetError
+}; break;
+case 5123: { // glGetError
GLenum result = weglGetError();
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_wxe_result_");
@@ -933,8 +933,8 @@ case 5123: { // glGetError
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5124: { // glGetFloatv
+}; break;
+case 5124: { // glGetFloatv
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[16] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
weglGetFloatv(*pname,params);
@@ -962,8 +962,8 @@ case 5124: { // glGetFloatv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 39 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,39);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5125: { // glGetIntegerv
+}; break;
+case 5125: { // glGetIntegerv
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
weglGetIntegerv(*pname,params);
@@ -990,8 +990,8 @@ case 5125: { // glGetIntegerv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 39 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,39);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5126: { // glGetLightfv
+}; break;
+case 5126: { // glGetLightfv
GLenum *light = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[4] = {0.0,0.0,0.0,0.0};
@@ -1008,8 +1008,8 @@ case 5126: { // glGetLightfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5127: { // glGetLightiv
+}; break;
+case 5127: { // glGetLightiv
GLenum *light = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[4] = {0,0,0,0};
@@ -1025,8 +1025,8 @@ case 5127: { // glGetLightiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5128: { // glGetMapdv
+}; break;
+case 5128: { // glGetMapdv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *query = (GLenum *) bp; bp += 4;
GLdouble *v = (GLdouble *) bins[0]->base;
@@ -1036,8 +1036,8 @@ case 5128: { // glGetMapdv
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5129: { // glGetMapfv
+}; break;
+case 5129: { // glGetMapfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *query = (GLenum *) bp; bp += 4;
GLfloat *v = (GLfloat *) bins[0]->base;
@@ -1047,8 +1047,8 @@ case 5129: { // glGetMapfv
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5130: { // glGetMapiv
+}; break;
+case 5130: { // glGetMapiv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *query = (GLenum *) bp; bp += 4;
GLint *v = (GLint *) bins[0]->base;
@@ -1058,8 +1058,8 @@ case 5130: { // glGetMapiv
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5131: { // glGetMaterialfv
+}; break;
+case 5131: { // glGetMaterialfv
GLenum *face = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[4] = {0.0,0.0,0.0,0.0};
@@ -1076,8 +1076,8 @@ case 5131: { // glGetMaterialfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5132: { // glGetMaterialiv
+}; break;
+case 5132: { // glGetMaterialiv
GLenum *face = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[4] = {0,0,0,0};
@@ -1093,8 +1093,8 @@ case 5132: { // glGetMaterialiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5133: { // glGetPixelMapfv
+}; break;
+case 5133: { // glGetPixelMapfv
GLenum *map = (GLenum *) bp; bp += 4;
GLfloat *values = (GLfloat *) bins[0]->base;
weglGetPixelMapfv(*map,values);
@@ -1103,8 +1103,8 @@ case 5133: { // glGetPixelMapfv
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5134: { // glGetPixelMapuiv
+}; break;
+case 5134: { // glGetPixelMapuiv
GLenum *map = (GLenum *) bp; bp += 4;
GLuint *values = (GLuint *) bins[0]->base;
weglGetPixelMapuiv(*map,values);
@@ -1113,8 +1113,8 @@ case 5134: { // glGetPixelMapuiv
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5135: { // glGetPixelMapusv
+}; break;
+case 5135: { // glGetPixelMapusv
GLenum *map = (GLenum *) bp; bp += 4;
GLushort *values = (GLushort *) bins[0]->base;
weglGetPixelMapusv(*map,values);
@@ -1123,8 +1123,8 @@ case 5135: { // glGetPixelMapusv
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5136: { // glGetPolygonStipple
+}; break;
+case 5136: { // glGetPolygonStipple
GLubyte mask[128];
weglGetPolygonStipple(mask);
int AP = 0; ErlDrvTermData rt[8];
@@ -1136,8 +1136,8 @@ case 5136: { // glGetPolygonStipple
if (AP != 8 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,8);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free_binary(BinCopy);
-}; break;
-case 5137: { // glGetString
+}; break;
+case 5137: { // glGetString
GLenum *name = (GLenum *) bp; bp += 4;
const GLubyte * result = weglGetString(*name);
int AP = 0; ErlDrvTermData rt[7];
@@ -1146,8 +1146,8 @@ case 5137: { // glGetString
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5138: { // glGetTexEnvfv
+}; break;
+case 5138: { // glGetTexEnvfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[4] = {0.0,0.0,0.0,0.0};
@@ -1164,8 +1164,8 @@ case 5138: { // glGetTexEnvfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5139: { // glGetTexEnviv
+}; break;
+case 5139: { // glGetTexEnviv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[4] = {0,0,0,0};
@@ -1181,8 +1181,8 @@ case 5139: { // glGetTexEnviv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5140: { // glGetTexGendv
+}; break;
+case 5140: { // glGetTexGendv
GLenum *coord = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLdouble params[4] = {0.0,0.0,0.0,0.0};
@@ -1198,8 +1198,8 @@ case 5140: { // glGetTexGendv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5141: { // glGetTexGenfv
+}; break;
+case 5141: { // glGetTexGenfv
GLenum *coord = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[4] = {0.0,0.0,0.0,0.0};
@@ -1216,8 +1216,8 @@ case 5141: { // glGetTexGenfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5142: { // glGetTexGeniv
+}; break;
+case 5142: { // glGetTexGeniv
GLenum *coord = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[4] = {0,0,0,0};
@@ -1233,8 +1233,8 @@ case 5142: { // glGetTexGeniv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5143: { // glGetTexImage
+}; break;
+case 5143: { // glGetTexImage
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *format = (GLenum *) bp; bp += 4;
@@ -1246,8 +1246,8 @@ case 5143: { // glGetTexImage
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5144: { // glGetTexLevelParameterfv
+}; break;
+case 5144: { // glGetTexLevelParameterfv
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
@@ -1262,8 +1262,8 @@ case 5144: { // glGetTexLevelParameterfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 8 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,8);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5145: { // glGetTexLevelParameteriv
+}; break;
+case 5145: { // glGetTexLevelParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
@@ -1277,8 +1277,8 @@ case 5145: { // glGetTexLevelParameteriv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 8 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,8);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5146: { // glGetTexParameterfv
+}; break;
+case 5146: { // glGetTexParameterfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[4] = {0.0,0.0,0.0,0.0};
@@ -1295,8 +1295,8 @@ case 5146: { // glGetTexParameterfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5147: { // glGetTexParameteriv
+}; break;
+case 5147: { // glGetTexParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[4] = {0,0,0,0};
@@ -1312,64 +1312,64 @@ case 5147: { // glGetTexParameteriv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5148: { // glHint
+}; break;
+case 5148: { // glHint
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *mode = (GLenum *) bp; bp += 4;
weglHint(*target,*mode);
-}; break;
-case 5149: { // glIndexMask
+}; break;
+case 5149: { // glIndexMask
GLuint *mask = (GLuint *) bp; bp += 4;
weglIndexMask(*mask);
-}; break;
-case 5150: { // glIndexPointer
+}; break;
+case 5150: { // glIndexPointer
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglIndexPointer(*type,*stride,pointer);
-}; break;
-case 5151: { // glIndexPointer
+}; break;
+case 5151: { // glIndexPointer
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglIndexPointer(*type,*stride,pointer);
-}; break;
-case 5152: { // glIndexdv
+}; break;
+case 5152: { // glIndexdv
GLdouble *c = (GLdouble *) bp; bp += 8;
weglIndexdv(c);
-}; break;
-case 5153: { // glIndexfv
+}; break;
+case 5153: { // glIndexfv
GLfloat *c = (GLfloat *) bp; bp += 4;
weglIndexfv(c);
-}; break;
-case 5154: { // glIndexiv
+}; break;
+case 5154: { // glIndexiv
GLint *c = (GLint *) bp; bp += 4;
weglIndexiv(c);
-}; break;
-case 5155: { // glIndexsv
+}; break;
+case 5155: { // glIndexsv
GLshort *c = (GLshort *) bp; bp += 2;
weglIndexsv(c);
-}; break;
-case 5156: { // glIndexubv
+}; break;
+case 5156: { // glIndexubv
GLubyte *c = (GLubyte *) bp; bp += 1;
weglIndexubv(c);
-}; break;
-case 5157: { // glInitNames
+}; break;
+case 5157: { // glInitNames
weglInitNames();
-}; break;
-case 5158: { // glInterleavedArrays
+}; break;
+case 5158: { // glInterleavedArrays
GLenum *format = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglInterleavedArrays(*format,*stride,pointer);
-}; break;
-case 5159: { // glInterleavedArrays
+}; break;
+case 5159: { // glInterleavedArrays
GLenum *format = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglInterleavedArrays(*format,*stride,pointer);
-}; break;
-case 5160: { // glIsEnabled
+}; break;
+case 5160: { // glIsEnabled
GLenum *cap = (GLenum *) bp; bp += 4;
GLboolean result = weglIsEnabled(*cap);
int AP = 0; ErlDrvTermData rt[6];
@@ -1378,8 +1378,8 @@ case 5160: { // glIsEnabled
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5161: { // glIsList
+}; break;
+case 5161: { // glIsList
GLuint *list = (GLuint *) bp; bp += 4;
GLboolean result = weglIsList(*list);
int AP = 0; ErlDrvTermData rt[6];
@@ -1388,8 +1388,8 @@ case 5161: { // glIsList
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5162: { // glIsTexture
+}; break;
+case 5162: { // glIsTexture
GLuint *texture = (GLuint *) bp; bp += 4;
GLboolean result = weglIsTexture(*texture);
int AP = 0; ErlDrvTermData rt[6];
@@ -1398,88 +1398,88 @@ case 5162: { // glIsTexture
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5163: { // glLightModelf
+}; break;
+case 5163: { // glLightModelf
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat *param = (GLfloat *) bp; bp += 4;
weglLightModelf(*pname,*param);
-}; break;
-case 5164: { // glLightModelfv
+}; break;
+case 5164: { // glLightModelfv
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLfloat *params = (GLfloat *) bp; bp += *paramsLen*4+((*paramsLen)+0)%2*4;
weglLightModelfv(*pname,params);
-}; break;
-case 5165: { // glLightModeli
+}; break;
+case 5165: { // glLightModeli
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *param = (GLint *) bp; bp += 4;
weglLightModeli(*pname,*param);
-}; break;
-case 5166: { // glLightModeliv
+}; break;
+case 5166: { // glLightModeliv
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLint *params = (GLint *) bp; bp += *paramsLen*4+((*paramsLen)+0)%2*4;
weglLightModeliv(*pname,params);
-}; break;
-case 5167: { // glLightf
+}; break;
+case 5167: { // glLightf
GLenum *light = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat *param = (GLfloat *) bp; bp += 4;
weglLightf(*light,*pname,*param);
-}; break;
-case 5168: { // glLightfv
+}; break;
+case 5168: { // glLightfv
GLenum *light = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLfloat *params = (GLfloat *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglLightfv(*light,*pname,params);
-}; break;
-case 5169: { // glLighti
+}; break;
+case 5169: { // glLighti
GLenum *light = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *param = (GLint *) bp; bp += 4;
weglLighti(*light,*pname,*param);
-}; break;
-case 5170: { // glLightiv
+}; break;
+case 5170: { // glLightiv
GLenum *light = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLint *params = (GLint *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglLightiv(*light,*pname,params);
-}; break;
-case 5171: { // glLineStipple
+}; break;
+case 5171: { // glLineStipple
GLint *factor = (GLint *) bp; bp += 4;
GLushort *pattern = (GLushort *) bp; bp += 2;
weglLineStipple(*factor,*pattern);
-}; break;
-case 5172: { // glLineWidth
+}; break;
+case 5172: { // glLineWidth
GLfloat *width = (GLfloat *) bp; bp += 4;
weglLineWidth(*width);
-}; break;
-case 5173: { // glListBase
+}; break;
+case 5173: { // glListBase
GLuint *base = (GLuint *) bp; bp += 4;
weglListBase(*base);
-}; break;
-case 5174: { // glLoadIdentity
+}; break;
+case 5174: { // glLoadIdentity
weglLoadIdentity();
-}; break;
-case 5175: { // glLoadMatrixd
+}; break;
+case 5175: { // glLoadMatrixd
GLdouble * m = (GLdouble *) bp; bp += 128;
weglLoadMatrixd(m);
-}; break;
-case 5176: { // glLoadMatrixf
+}; break;
+case 5176: { // glLoadMatrixf
GLfloat * m = (GLfloat *) bp; bp += 64;
weglLoadMatrixf(m);
-}; break;
-case 5177: { // glLoadName
+}; break;
+case 5177: { // glLoadName
GLuint *name = (GLuint *) bp; bp += 4;
weglLoadName(*name);
-}; break;
-case 5178: { // glLogicOp
+}; break;
+case 5178: { // glLogicOp
GLenum *opcode = (GLenum *) bp; bp += 4;
weglLogicOp(*opcode);
-}; break;
-case 5179: { // glMap1d
+}; break;
+case 5179: { // glMap1d
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLdouble *u1 = (GLdouble *) bp; bp += 8;
@@ -1488,8 +1488,8 @@ case 5179: { // glMap1d
GLint *order = (GLint *) bp; bp += 4;
GLdouble *points = (GLdouble *) bins[0]->base;
weglMap1d(*target,*u1,*u2,*stride,*order,points);
-}; break;
-case 5180: { // glMap1f
+}; break;
+case 5180: { // glMap1f
GLenum *target = (GLenum *) bp; bp += 4;
GLfloat *u1 = (GLfloat *) bp; bp += 4;
GLfloat *u2 = (GLfloat *) bp; bp += 4;
@@ -1497,8 +1497,8 @@ case 5180: { // glMap1f
GLint *order = (GLint *) bp; bp += 4;
GLfloat *points = (GLfloat *) bins[0]->base;
weglMap1f(*target,*u1,*u2,*stride,*order,points);
-}; break;
-case 5181: { // glMap2d
+}; break;
+case 5181: { // glMap2d
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLdouble *u1 = (GLdouble *) bp; bp += 8;
@@ -1511,8 +1511,8 @@ case 5181: { // glMap2d
GLint *vorder = (GLint *) bp; bp += 4;
GLdouble *points = (GLdouble *) bins[0]->base;
weglMap2d(*target,*u1,*u2,*ustride,*uorder,*v1,*v2,*vstride,*vorder,points);
-}; break;
-case 5182: { // glMap2f
+}; break;
+case 5182: { // glMap2f
GLenum *target = (GLenum *) bp; bp += 4;
GLfloat *u1 = (GLfloat *) bp; bp += 4;
GLfloat *u2 = (GLfloat *) bp; bp += 4;
@@ -1524,21 +1524,21 @@ case 5182: { // glMap2f
GLint *vorder = (GLint *) bp; bp += 4;
GLfloat *points = (GLfloat *) bins[0]->base;
weglMap2f(*target,*u1,*u2,*ustride,*uorder,*v1,*v2,*vstride,*vorder,points);
-}; break;
-case 5183: { // glMapGrid1d
+}; break;
+case 5183: { // glMapGrid1d
GLint *un = (GLint *) bp; bp += 4;
bp += 4;
GLdouble *u1 = (GLdouble *) bp; bp += 8;
GLdouble *u2 = (GLdouble *) bp; bp += 8;
weglMapGrid1d(*un,*u1,*u2);
-}; break;
-case 5184: { // glMapGrid1f
+}; break;
+case 5184: { // glMapGrid1f
GLint *un = (GLint *) bp; bp += 4;
GLfloat *u1 = (GLfloat *) bp; bp += 4;
GLfloat *u2 = (GLfloat *) bp; bp += 4;
weglMapGrid1f(*un,*u1,*u2);
-}; break;
-case 5185: { // glMapGrid2d
+}; break;
+case 5185: { // glMapGrid2d
GLint *un = (GLint *) bp; bp += 4;
bp += 4;
GLdouble *u1 = (GLdouble *) bp; bp += 8;
@@ -1548,8 +1548,8 @@ case 5185: { // glMapGrid2d
GLdouble *v1 = (GLdouble *) bp; bp += 8;
GLdouble *v2 = (GLdouble *) bp; bp += 8;
weglMapGrid2d(*un,*u1,*u2,*vn,*v1,*v2);
-}; break;
-case 5186: { // glMapGrid2f
+}; break;
+case 5186: { // glMapGrid2f
GLint *un = (GLint *) bp; bp += 4;
GLfloat *u1 = (GLfloat *) bp; bp += 4;
GLfloat *u2 = (GLfloat *) bp; bp += 4;
@@ -1557,83 +1557,83 @@ case 5186: { // glMapGrid2f
GLfloat *v1 = (GLfloat *) bp; bp += 4;
GLfloat *v2 = (GLfloat *) bp; bp += 4;
weglMapGrid2f(*un,*u1,*u2,*vn,*v1,*v2);
-}; break;
-case 5187: { // glMaterialf
+}; break;
+case 5187: { // glMaterialf
GLenum *face = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat *param = (GLfloat *) bp; bp += 4;
weglMaterialf(*face,*pname,*param);
-}; break;
-case 5188: { // glMaterialfv
+}; break;
+case 5188: { // glMaterialfv
GLenum *face = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLfloat *params = (GLfloat *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglMaterialfv(*face,*pname,params);
-}; break;
-case 5189: { // glMateriali
+}; break;
+case 5189: { // glMateriali
GLenum *face = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *param = (GLint *) bp; bp += 4;
weglMateriali(*face,*pname,*param);
-}; break;
-case 5190: { // glMaterialiv
+}; break;
+case 5190: { // glMaterialiv
GLenum *face = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLint *params = (GLint *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglMaterialiv(*face,*pname,params);
-}; break;
-case 5191: { // glMatrixMode
+}; break;
+case 5191: { // glMatrixMode
GLenum *mode = (GLenum *) bp; bp += 4;
weglMatrixMode(*mode);
-}; break;
-case 5192: { // glMultMatrixd
+}; break;
+case 5192: { // glMultMatrixd
GLdouble * m = (GLdouble *) bp; bp += 128;
weglMultMatrixd(m);
-}; break;
-case 5193: { // glMultMatrixf
+}; break;
+case 5193: { // glMultMatrixf
GLfloat * m = (GLfloat *) bp; bp += 64;
weglMultMatrixf(m);
-}; break;
-case 5194: { // glNewList
+}; break;
+case 5194: { // glNewList
GLuint *list = (GLuint *) bp; bp += 4;
GLenum *mode = (GLenum *) bp; bp += 4;
weglNewList(*list,*mode);
-}; break;
-case 5195: { // glNormal3bv
+}; break;
+case 5195: { // glNormal3bv
GLbyte *v = (GLbyte *) bp; bp += 1;
weglNormal3bv(v);
-}; break;
-case 5196: { // glNormal3dv
+}; break;
+case 5196: { // glNormal3dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglNormal3dv(v);
-}; break;
-case 5197: { // glNormal3fv
+}; break;
+case 5197: { // glNormal3fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglNormal3fv(v);
-}; break;
-case 5198: { // glNormal3iv
+}; break;
+case 5198: { // glNormal3iv
GLint *v = (GLint *) bp; bp += 4;
weglNormal3iv(v);
-}; break;
-case 5199: { // glNormal3sv
+}; break;
+case 5199: { // glNormal3sv
GLshort *v = (GLshort *) bp; bp += 2;
weglNormal3sv(v);
-}; break;
-case 5200: { // glNormalPointer
+}; break;
+case 5200: { // glNormalPointer
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglNormalPointer(*type,*stride,pointer);
-}; break;
-case 5201: { // glNormalPointer
+}; break;
+case 5201: { // glNormalPointer
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglNormalPointer(*type,*stride,pointer);
-}; break;
-case 5202: { // glOrtho
+}; break;
+case 5202: { // glOrtho
GLdouble *left = (GLdouble *) bp; bp += 8;
GLdouble *right = (GLdouble *) bp; bp += 8;
GLdouble *bottom = (GLdouble *) bp; bp += 8;
@@ -1641,159 +1641,159 @@ case 5202: { // glOrtho
GLdouble *zNear = (GLdouble *) bp; bp += 8;
GLdouble *zFar = (GLdouble *) bp; bp += 8;
weglOrtho(*left,*right,*bottom,*top,*zNear,*zFar);
-}; break;
-case 5203: { // glPassThrough
+}; break;
+case 5203: { // glPassThrough
GLfloat *token = (GLfloat *) bp; bp += 4;
weglPassThrough(*token);
-}; break;
-case 5204: { // glPixelMapfv
+}; break;
+case 5204: { // glPixelMapfv
GLenum *map = (GLenum *) bp; bp += 4;
GLsizei *mapsize = (GLsizei *) bp; bp += 4;
GLfloat *values = (GLfloat *) bins[0]->base;
weglPixelMapfv(*map,*mapsize,values);
-}; break;
-case 5205: { // glPixelMapuiv
+}; break;
+case 5205: { // glPixelMapuiv
GLenum *map = (GLenum *) bp; bp += 4;
GLsizei *mapsize = (GLsizei *) bp; bp += 4;
GLuint *values = (GLuint *) bins[0]->base;
weglPixelMapuiv(*map,*mapsize,values);
-}; break;
-case 5206: { // glPixelMapusv
+}; break;
+case 5206: { // glPixelMapusv
GLenum *map = (GLenum *) bp; bp += 4;
GLsizei *mapsize = (GLsizei *) bp; bp += 4;
GLushort *values = (GLushort *) bins[0]->base;
weglPixelMapusv(*map,*mapsize,values);
-}; break;
-case 5207: { // glPixelStoref
+}; break;
+case 5207: { // glPixelStoref
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat *param = (GLfloat *) bp; bp += 4;
weglPixelStoref(*pname,*param);
-}; break;
-case 5208: { // glPixelStorei
+}; break;
+case 5208: { // glPixelStorei
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *param = (GLint *) bp; bp += 4;
weglPixelStorei(*pname,*param);
-}; break;
-case 5209: { // glPixelTransferf
+}; break;
+case 5209: { // glPixelTransferf
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat *param = (GLfloat *) bp; bp += 4;
weglPixelTransferf(*pname,*param);
-}; break;
-case 5210: { // glPixelTransferi
+}; break;
+case 5210: { // glPixelTransferi
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *param = (GLint *) bp; bp += 4;
weglPixelTransferi(*pname,*param);
-}; break;
-case 5211: { // glPixelZoom
+}; break;
+case 5211: { // glPixelZoom
GLfloat *xfactor = (GLfloat *) bp; bp += 4;
GLfloat *yfactor = (GLfloat *) bp; bp += 4;
weglPixelZoom(*xfactor,*yfactor);
-}; break;
-case 5212: { // glPointSize
+}; break;
+case 5212: { // glPointSize
GLfloat *size = (GLfloat *) bp; bp += 4;
weglPointSize(*size);
-}; break;
-case 5213: { // glPolygonMode
+}; break;
+case 5213: { // glPolygonMode
GLenum *face = (GLenum *) bp; bp += 4;
GLenum *mode = (GLenum *) bp; bp += 4;
weglPolygonMode(*face,*mode);
-}; break;
-case 5214: { // glPolygonOffset
+}; break;
+case 5214: { // glPolygonOffset
GLfloat *factor = (GLfloat *) bp; bp += 4;
GLfloat *units = (GLfloat *) bp; bp += 4;
weglPolygonOffset(*factor,*units);
-}; break;
-case 5215: { // glPolygonStipple
+}; break;
+case 5215: { // glPolygonStipple
GLubyte *mask = (GLubyte *) bins[0]->base;
weglPolygonStipple(mask);
-}; break;
-case 5216: { // glPopAttrib
+}; break;
+case 5216: { // glPopAttrib
weglPopAttrib();
-}; break;
-case 5217: { // glPopClientAttrib
+}; break;
+case 5217: { // glPopClientAttrib
weglPopClientAttrib();
-}; break;
-case 5218: { // glPopMatrix
+}; break;
+case 5218: { // glPopMatrix
weglPopMatrix();
-}; break;
-case 5219: { // glPopName
+}; break;
+case 5219: { // glPopName
weglPopName();
-}; break;
-case 5220: { // glPrioritizeTextures
+}; break;
+case 5220: { // glPrioritizeTextures
int * texturesLen = (int *) bp; bp += 4;
GLuint * textures = (GLuint *) bp; bp += (8-((*texturesLen*4+4)%8))%8;
int * prioritiesLen = (int *) bp; bp += 4;
GLclampf * priorities = (GLclampf *) bp; bp += (8-((*prioritiesLen*4+4)%8))%8;
weglPrioritizeTextures(*texturesLen,textures,priorities);
-}; break;
-case 5221: { // glPushAttrib
+}; break;
+case 5221: { // glPushAttrib
GLbitfield *mask = (GLbitfield *) bp; bp += 4;
weglPushAttrib(*mask);
-}; break;
-case 5222: { // glPushClientAttrib
+}; break;
+case 5222: { // glPushClientAttrib
GLbitfield *mask = (GLbitfield *) bp; bp += 4;
weglPushClientAttrib(*mask);
-}; break;
-case 5223: { // glPushMatrix
+}; break;
+case 5223: { // glPushMatrix
weglPushMatrix();
-}; break;
-case 5224: { // glPushName
+}; break;
+case 5224: { // glPushName
GLuint *name = (GLuint *) bp; bp += 4;
weglPushName(*name);
-}; break;
-case 5225: { // glRasterPos2dv
+}; break;
+case 5225: { // glRasterPos2dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglRasterPos2dv(v);
-}; break;
-case 5226: { // glRasterPos2fv
+}; break;
+case 5226: { // glRasterPos2fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglRasterPos2fv(v);
-}; break;
-case 5227: { // glRasterPos2iv
+}; break;
+case 5227: { // glRasterPos2iv
GLint *v = (GLint *) bp; bp += 4;
weglRasterPos2iv(v);
-}; break;
-case 5228: { // glRasterPos2sv
+}; break;
+case 5228: { // glRasterPos2sv
GLshort *v = (GLshort *) bp; bp += 2;
weglRasterPos2sv(v);
-}; break;
-case 5229: { // glRasterPos3dv
+}; break;
+case 5229: { // glRasterPos3dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglRasterPos3dv(v);
-}; break;
-case 5230: { // glRasterPos3fv
+}; break;
+case 5230: { // glRasterPos3fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglRasterPos3fv(v);
-}; break;
-case 5231: { // glRasterPos3iv
+}; break;
+case 5231: { // glRasterPos3iv
GLint *v = (GLint *) bp; bp += 4;
weglRasterPos3iv(v);
-}; break;
-case 5232: { // glRasterPos3sv
+}; break;
+case 5232: { // glRasterPos3sv
GLshort *v = (GLshort *) bp; bp += 2;
weglRasterPos3sv(v);
-}; break;
-case 5233: { // glRasterPos4dv
+}; break;
+case 5233: { // glRasterPos4dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglRasterPos4dv(v);
-}; break;
-case 5234: { // glRasterPos4fv
+}; break;
+case 5234: { // glRasterPos4fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglRasterPos4fv(v);
-}; break;
-case 5235: { // glRasterPos4iv
+}; break;
+case 5235: { // glRasterPos4iv
GLint *v = (GLint *) bp; bp += 4;
weglRasterPos4iv(v);
-}; break;
-case 5236: { // glRasterPos4sv
+}; break;
+case 5236: { // glRasterPos4sv
GLshort *v = (GLshort *) bp; bp += 2;
weglRasterPos4sv(v);
-}; break;
-case 5237: { // glReadBuffer
+}; break;
+case 5237: { // glReadBuffer
GLenum *mode = (GLenum *) bp; bp += 4;
weglReadBuffer(*mode);
-}; break;
-case 5238: { // glReadPixels
+}; break;
+case 5238: { // glReadPixels
GLint *x = (GLint *) bp; bp += 4;
GLint *y = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -1807,56 +1807,56 @@ case 5238: { // glReadPixels
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5239: { // glRectd
+}; break;
+case 5239: { // glRectd
GLdouble *x1 = (GLdouble *) bp; bp += 8;
GLdouble *y1 = (GLdouble *) bp; bp += 8;
GLdouble *x2 = (GLdouble *) bp; bp += 8;
GLdouble *y2 = (GLdouble *) bp; bp += 8;
weglRectd(*x1,*y1,*x2,*y2);
-}; break;
-case 5240: { // glRectdv
+}; break;
+case 5240: { // glRectdv
GLdouble * v1 = (GLdouble *) bp; bp += 16;
GLdouble * v2 = (GLdouble *) bp; bp += 16;
weglRectdv(v1,v2);
-}; break;
-case 5241: { // glRectf
+}; break;
+case 5241: { // glRectf
GLfloat *x1 = (GLfloat *) bp; bp += 4;
GLfloat *y1 = (GLfloat *) bp; bp += 4;
GLfloat *x2 = (GLfloat *) bp; bp += 4;
GLfloat *y2 = (GLfloat *) bp; bp += 4;
weglRectf(*x1,*y1,*x2,*y2);
-}; break;
-case 5242: { // glRectfv
+}; break;
+case 5242: { // glRectfv
GLfloat * v1 = (GLfloat *) bp; bp += 8;
GLfloat * v2 = (GLfloat *) bp; bp += 8;
weglRectfv(v1,v2);
-}; break;
-case 5243: { // glRecti
+}; break;
+case 5243: { // glRecti
GLint *x1 = (GLint *) bp; bp += 4;
GLint *y1 = (GLint *) bp; bp += 4;
GLint *x2 = (GLint *) bp; bp += 4;
GLint *y2 = (GLint *) bp; bp += 4;
weglRecti(*x1,*y1,*x2,*y2);
-}; break;
-case 5244: { // glRectiv
+}; break;
+case 5244: { // glRectiv
GLint * v1 = (GLint *) bp; bp += 8;
GLint * v2 = (GLint *) bp; bp += 8;
weglRectiv(v1,v2);
-}; break;
-case 5245: { // glRects
+}; break;
+case 5245: { // glRects
GLshort *x1 = (GLshort *) bp; bp += 2;
GLshort *y1 = (GLshort *) bp; bp += 2;
GLshort *x2 = (GLshort *) bp; bp += 2;
GLshort *y2 = (GLshort *) bp; bp += 2;
weglRects(*x1,*y1,*x2,*y2);
-}; break;
-case 5246: { // glRectsv
+}; break;
+case 5246: { // glRectsv
GLshort * v1 = (GLshort *) bp; bp += 4;
GLshort * v2 = (GLshort *) bp; bp += 4;
weglRectsv(v1,v2);
-}; break;
-case 5247: { // glRenderMode
+}; break;
+case 5247: { // glRenderMode
GLenum *mode = (GLenum *) bp; bp += 4;
GLint result = weglRenderMode(*mode);
int AP = 0; ErlDrvTermData rt[6];
@@ -1865,41 +1865,41 @@ case 5247: { // glRenderMode
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5248: { // glRotated
+}; break;
+case 5248: { // glRotated
GLdouble *angle = (GLdouble *) bp; bp += 8;
GLdouble *x = (GLdouble *) bp; bp += 8;
GLdouble *y = (GLdouble *) bp; bp += 8;
GLdouble *z = (GLdouble *) bp; bp += 8;
weglRotated(*angle,*x,*y,*z);
-}; break;
-case 5249: { // glRotatef
+}; break;
+case 5249: { // glRotatef
GLfloat *angle = (GLfloat *) bp; bp += 4;
GLfloat *x = (GLfloat *) bp; bp += 4;
GLfloat *y = (GLfloat *) bp; bp += 4;
GLfloat *z = (GLfloat *) bp; bp += 4;
weglRotatef(*angle,*x,*y,*z);
-}; break;
-case 5250: { // glScaled
+}; break;
+case 5250: { // glScaled
GLdouble *x = (GLdouble *) bp; bp += 8;
GLdouble *y = (GLdouble *) bp; bp += 8;
GLdouble *z = (GLdouble *) bp; bp += 8;
weglScaled(*x,*y,*z);
-}; break;
-case 5251: { // glScalef
+}; break;
+case 5251: { // glScalef
GLfloat *x = (GLfloat *) bp; bp += 4;
GLfloat *y = (GLfloat *) bp; bp += 4;
GLfloat *z = (GLfloat *) bp; bp += 4;
weglScalef(*x,*y,*z);
-}; break;
-case 5252: { // glScissor
+}; break;
+case 5252: { // glScissor
GLint *x = (GLint *) bp; bp += 4;
GLint *y = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
weglScissor(*x,*y,*width,*height);
-}; break;
-case 5253: { // glSelectBuffer
+}; break;
+case 5253: { // glSelectBuffer
GLsizei *size = (GLsizei *) bp; bp += 4;
GLuint *buffer = (GLuint *) bins[0]->base;
weglSelectBuffer(*size,buffer);
@@ -1908,171 +1908,171 @@ case 5253: { // glSelectBuffer
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5254: { // glShadeModel
+}; break;
+case 5254: { // glShadeModel
GLenum *mode = (GLenum *) bp; bp += 4;
weglShadeModel(*mode);
-}; break;
-case 5255: { // glStencilFunc
+}; break;
+case 5255: { // glStencilFunc
GLenum *func = (GLenum *) bp; bp += 4;
GLint *ref = (GLint *) bp; bp += 4;
GLuint *mask = (GLuint *) bp; bp += 4;
weglStencilFunc(*func,*ref,*mask);
-}; break;
-case 5256: { // glStencilMask
+}; break;
+case 5256: { // glStencilMask
GLuint *mask = (GLuint *) bp; bp += 4;
weglStencilMask(*mask);
-}; break;
-case 5257: { // glStencilOp
+}; break;
+case 5257: { // glStencilOp
GLenum *fail = (GLenum *) bp; bp += 4;
GLenum *zfail = (GLenum *) bp; bp += 4;
GLenum *zpass = (GLenum *) bp; bp += 4;
weglStencilOp(*fail,*zfail,*zpass);
-}; break;
-case 5258: { // glTexCoord1dv
+}; break;
+case 5258: { // glTexCoord1dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglTexCoord1dv(v);
-}; break;
-case 5259: { // glTexCoord1fv
+}; break;
+case 5259: { // glTexCoord1fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglTexCoord1fv(v);
-}; break;
-case 5260: { // glTexCoord1iv
+}; break;
+case 5260: { // glTexCoord1iv
GLint *v = (GLint *) bp; bp += 4;
weglTexCoord1iv(v);
-}; break;
-case 5261: { // glTexCoord1sv
+}; break;
+case 5261: { // glTexCoord1sv
GLshort *v = (GLshort *) bp; bp += 2;
weglTexCoord1sv(v);
-}; break;
-case 5262: { // glTexCoord2dv
+}; break;
+case 5262: { // glTexCoord2dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglTexCoord2dv(v);
-}; break;
-case 5263: { // glTexCoord2fv
+}; break;
+case 5263: { // glTexCoord2fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglTexCoord2fv(v);
-}; break;
-case 5264: { // glTexCoord2iv
+}; break;
+case 5264: { // glTexCoord2iv
GLint *v = (GLint *) bp; bp += 4;
weglTexCoord2iv(v);
-}; break;
-case 5265: { // glTexCoord2sv
+}; break;
+case 5265: { // glTexCoord2sv
GLshort *v = (GLshort *) bp; bp += 2;
weglTexCoord2sv(v);
-}; break;
-case 5266: { // glTexCoord3dv
+}; break;
+case 5266: { // glTexCoord3dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglTexCoord3dv(v);
-}; break;
-case 5267: { // glTexCoord3fv
+}; break;
+case 5267: { // glTexCoord3fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglTexCoord3fv(v);
-}; break;
-case 5268: { // glTexCoord3iv
+}; break;
+case 5268: { // glTexCoord3iv
GLint *v = (GLint *) bp; bp += 4;
weglTexCoord3iv(v);
-}; break;
-case 5269: { // glTexCoord3sv
+}; break;
+case 5269: { // glTexCoord3sv
GLshort *v = (GLshort *) bp; bp += 2;
weglTexCoord3sv(v);
-}; break;
-case 5270: { // glTexCoord4dv
+}; break;
+case 5270: { // glTexCoord4dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglTexCoord4dv(v);
-}; break;
-case 5271: { // glTexCoord4fv
+}; break;
+case 5271: { // glTexCoord4fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglTexCoord4fv(v);
-}; break;
-case 5272: { // glTexCoord4iv
+}; break;
+case 5272: { // glTexCoord4iv
GLint *v = (GLint *) bp; bp += 4;
weglTexCoord4iv(v);
-}; break;
-case 5273: { // glTexCoord4sv
+}; break;
+case 5273: { // glTexCoord4sv
GLshort *v = (GLshort *) bp; bp += 2;
weglTexCoord4sv(v);
-}; break;
-case 5274: { // glTexCoordPointer
+}; break;
+case 5274: { // glTexCoordPointer
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglTexCoordPointer(*size,*type,*stride,pointer);
-}; break;
-case 5275: { // glTexCoordPointer
+}; break;
+case 5275: { // glTexCoordPointer
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglTexCoordPointer(*size,*type,*stride,pointer);
-}; break;
-case 5276: { // glTexEnvf
+}; break;
+case 5276: { // glTexEnvf
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat *param = (GLfloat *) bp; bp += 4;
weglTexEnvf(*target,*pname,*param);
-}; break;
-case 5277: { // glTexEnvfv
+}; break;
+case 5277: { // glTexEnvfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLfloat *params = (GLfloat *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglTexEnvfv(*target,*pname,params);
-}; break;
-case 5278: { // glTexEnvi
+}; break;
+case 5278: { // glTexEnvi
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *param = (GLint *) bp; bp += 4;
weglTexEnvi(*target,*pname,*param);
-}; break;
-case 5279: { // glTexEnviv
+}; break;
+case 5279: { // glTexEnviv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLint *params = (GLint *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglTexEnviv(*target,*pname,params);
-}; break;
-case 5280: { // glTexGend
+}; break;
+case 5280: { // glTexGend
GLenum *coord = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLdouble *param = (GLdouble *) bp; bp += 8;
weglTexGend(*coord,*pname,*param);
-}; break;
-case 5281: { // glTexGendv
+}; break;
+case 5281: { // glTexGendv
GLenum *coord = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 8;
GLdouble *params = (GLdouble *) bp; bp += *paramsLen*8;
weglTexGendv(*coord,*pname,params);
-}; break;
-case 5282: { // glTexGenf
+}; break;
+case 5282: { // glTexGenf
GLenum *coord = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat *param = (GLfloat *) bp; bp += 4;
weglTexGenf(*coord,*pname,*param);
-}; break;
-case 5283: { // glTexGenfv
+}; break;
+case 5283: { // glTexGenfv
GLenum *coord = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLfloat *params = (GLfloat *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglTexGenfv(*coord,*pname,params);
-}; break;
-case 5284: { // glTexGeni
+}; break;
+case 5284: { // glTexGeni
GLenum *coord = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *param = (GLint *) bp; bp += 4;
weglTexGeni(*coord,*pname,*param);
-}; break;
-case 5285: { // glTexGeniv
+}; break;
+case 5285: { // glTexGeniv
GLenum *coord = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLint *params = (GLint *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglTexGeniv(*coord,*pname,params);
-}; break;
-case 5286: { // glTexImage1D
+}; break;
+case 5286: { // glTexImage1D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *internalformat = (GLint *) bp; bp += 4;
@@ -2082,8 +2082,8 @@ case 5286: { // glTexImage1D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) * (int *) bp; bp += 4;
weglTexImage1D(*target,*level,*internalformat,*width,*border,*format,*type,pixels);
-}; break;
-case 5287: { // glTexImage1D
+}; break;
+case 5287: { // glTexImage1D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *internalformat = (GLint *) bp; bp += 4;
@@ -2093,8 +2093,8 @@ case 5287: { // glTexImage1D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) bins[0]->base;
weglTexImage1D(*target,*level,*internalformat,*width,*border,*format,*type,pixels);
-}; break;
-case 5288: { // glTexImage2D
+}; break;
+case 5288: { // glTexImage2D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *internalformat = (GLint *) bp; bp += 4;
@@ -2105,8 +2105,8 @@ case 5288: { // glTexImage2D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) * (int *) bp; bp += 4;
weglTexImage2D(*target,*level,*internalformat,*width,*height,*border,*format,*type,pixels);
-}; break;
-case 5289: { // glTexImage2D
+}; break;
+case 5289: { // glTexImage2D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *internalformat = (GLint *) bp; bp += 4;
@@ -2117,34 +2117,34 @@ case 5289: { // glTexImage2D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) bins[0]->base;
weglTexImage2D(*target,*level,*internalformat,*width,*height,*border,*format,*type,pixels);
-}; break;
-case 5290: { // glTexParameterf
+}; break;
+case 5290: { // glTexParameterf
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat *param = (GLfloat *) bp; bp += 4;
weglTexParameterf(*target,*pname,*param);
-}; break;
-case 5291: { // glTexParameterfv
+}; break;
+case 5291: { // glTexParameterfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLfloat *params = (GLfloat *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglTexParameterfv(*target,*pname,params);
-}; break;
-case 5292: { // glTexParameteri
+}; break;
+case 5292: { // glTexParameteri
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *param = (GLint *) bp; bp += 4;
weglTexParameteri(*target,*pname,*param);
-}; break;
-case 5293: { // glTexParameteriv
+}; break;
+case 5293: { // glTexParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLint *params = (GLint *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglTexParameteriv(*target,*pname,params);
-}; break;
-case 5294: { // glTexSubImage1D
+}; break;
+case 5294: { // glTexSubImage1D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2153,8 +2153,8 @@ case 5294: { // glTexSubImage1D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) * (int *) bp; bp += 4;
weglTexSubImage1D(*target,*level,*xoffset,*width,*format,*type,pixels);
-}; break;
-case 5295: { // glTexSubImage1D
+}; break;
+case 5295: { // glTexSubImage1D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2163,8 +2163,8 @@ case 5295: { // glTexSubImage1D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) bins[0]->base;
weglTexSubImage1D(*target,*level,*xoffset,*width,*format,*type,pixels);
-}; break;
-case 5296: { // glTexSubImage2D
+}; break;
+case 5296: { // glTexSubImage2D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2175,8 +2175,8 @@ case 5296: { // glTexSubImage2D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) * (int *) bp; bp += 4;
weglTexSubImage2D(*target,*level,*xoffset,*yoffset,*width,*height,*format,*type,pixels);
-}; break;
-case 5297: { // glTexSubImage2D
+}; break;
+case 5297: { // glTexSubImage2D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2187,100 +2187,100 @@ case 5297: { // glTexSubImage2D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) bins[0]->base;
weglTexSubImage2D(*target,*level,*xoffset,*yoffset,*width,*height,*format,*type,pixels);
-}; break;
-case 5298: { // glTranslated
+}; break;
+case 5298: { // glTranslated
GLdouble *x = (GLdouble *) bp; bp += 8;
GLdouble *y = (GLdouble *) bp; bp += 8;
GLdouble *z = (GLdouble *) bp; bp += 8;
weglTranslated(*x,*y,*z);
-}; break;
-case 5299: { // glTranslatef
+}; break;
+case 5299: { // glTranslatef
GLfloat *x = (GLfloat *) bp; bp += 4;
GLfloat *y = (GLfloat *) bp; bp += 4;
GLfloat *z = (GLfloat *) bp; bp += 4;
weglTranslatef(*x,*y,*z);
-}; break;
-case 5300: { // glVertex2dv
+}; break;
+case 5300: { // glVertex2dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglVertex2dv(v);
-}; break;
-case 5301: { // glVertex2fv
+}; break;
+case 5301: { // glVertex2fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglVertex2fv(v);
-}; break;
-case 5302: { // glVertex2iv
+}; break;
+case 5302: { // glVertex2iv
GLint *v = (GLint *) bp; bp += 4;
weglVertex2iv(v);
-}; break;
-case 5303: { // glVertex2sv
+}; break;
+case 5303: { // glVertex2sv
GLshort *v = (GLshort *) bp; bp += 2;
weglVertex2sv(v);
-}; break;
-case 5304: { // glVertex3dv
+}; break;
+case 5304: { // glVertex3dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglVertex3dv(v);
-}; break;
-case 5305: { // glVertex3fv
+}; break;
+case 5305: { // glVertex3fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglVertex3fv(v);
-}; break;
-case 5306: { // glVertex3iv
+}; break;
+case 5306: { // glVertex3iv
GLint *v = (GLint *) bp; bp += 4;
weglVertex3iv(v);
-}; break;
-case 5307: { // glVertex3sv
+}; break;
+case 5307: { // glVertex3sv
GLshort *v = (GLshort *) bp; bp += 2;
weglVertex3sv(v);
-}; break;
-case 5308: { // glVertex4dv
+}; break;
+case 5308: { // glVertex4dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglVertex4dv(v);
-}; break;
-case 5309: { // glVertex4fv
+}; break;
+case 5309: { // glVertex4fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglVertex4fv(v);
-}; break;
-case 5310: { // glVertex4iv
+}; break;
+case 5310: { // glVertex4iv
GLint *v = (GLint *) bp; bp += 4;
weglVertex4iv(v);
-}; break;
-case 5311: { // glVertex4sv
+}; break;
+case 5311: { // glVertex4sv
GLshort *v = (GLshort *) bp; bp += 2;
weglVertex4sv(v);
-}; break;
-case 5312: { // glVertexPointer
+}; break;
+case 5312: { // glVertexPointer
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglVertexPointer(*size,*type,*stride,pointer);
-}; break;
-case 5313: { // glVertexPointer
+}; break;
+case 5313: { // glVertexPointer
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglVertexPointer(*size,*type,*stride,pointer);
-}; break;
-case 5314: { // glViewport
+}; break;
+case 5314: { // glViewport
GLint *x = (GLint *) bp; bp += 4;
GLint *y = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
weglViewport(*x,*y,*width,*height);
-}; break;
-case 5315: { // glBlendColor
+}; break;
+case 5315: { // glBlendColor
GLclampf *red = (GLclampf *) bp; bp += 4;
GLclampf *green = (GLclampf *) bp; bp += 4;
GLclampf *blue = (GLclampf *) bp; bp += 4;
GLclampf *alpha = (GLclampf *) bp; bp += 4;
weglBlendColor(*red,*green,*blue,*alpha);
-}; break;
-case 5316: { // glBlendEquation
+}; break;
+case 5316: { // glBlendEquation
GLenum *mode = (GLenum *) bp; bp += 4;
weglBlendEquation(*mode);
-}; break;
-case 5317: { // glDrawRangeElements
+}; break;
+case 5317: { // glDrawRangeElements
GLenum *mode = (GLenum *) bp; bp += 4;
GLuint *start = (GLuint *) bp; bp += 4;
GLuint *end = (GLuint *) bp; bp += 4;
@@ -2288,8 +2288,8 @@ case 5317: { // glDrawRangeElements
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *indices = (GLvoid *) * (int *) bp; bp += 4;
weglDrawRangeElements(*mode,*start,*end,*count,*type,indices);
-}; break;
-case 5318: { // glDrawRangeElements
+}; break;
+case 5318: { // glDrawRangeElements
GLenum *mode = (GLenum *) bp; bp += 4;
GLuint *start = (GLuint *) bp; bp += 4;
GLuint *end = (GLuint *) bp; bp += 4;
@@ -2297,8 +2297,8 @@ case 5318: { // glDrawRangeElements
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *indices = (GLvoid *) bins[0]->base;
weglDrawRangeElements(*mode,*start,*end,*count,*type,indices);
-}; break;
-case 5319: { // glTexImage3D
+}; break;
+case 5319: { // glTexImage3D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *internalformat = (GLint *) bp; bp += 4;
@@ -2310,8 +2310,8 @@ case 5319: { // glTexImage3D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) * (int *) bp; bp += 4;
weglTexImage3D(*target,*level,*internalformat,*width,*height,*depth,*border,*format,*type,pixels);
-}; break;
-case 5320: { // glTexImage3D
+}; break;
+case 5320: { // glTexImage3D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *internalformat = (GLint *) bp; bp += 4;
@@ -2323,8 +2323,8 @@ case 5320: { // glTexImage3D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) bins[0]->base;
weglTexImage3D(*target,*level,*internalformat,*width,*height,*depth,*border,*format,*type,pixels);
-}; break;
-case 5321: { // glTexSubImage3D
+}; break;
+case 5321: { // glTexSubImage3D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2337,8 +2337,8 @@ case 5321: { // glTexSubImage3D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) * (int *) bp; bp += 4;
weglTexSubImage3D(*target,*level,*xoffset,*yoffset,*zoffset,*width,*height,*depth,*format,*type,pixels);
-}; break;
-case 5322: { // glTexSubImage3D
+}; break;
+case 5322: { // glTexSubImage3D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2351,8 +2351,8 @@ case 5322: { // glTexSubImage3D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *pixels = (GLvoid *) bins[0]->base;
weglTexSubImage3D(*target,*level,*xoffset,*yoffset,*zoffset,*width,*height,*depth,*format,*type,pixels);
-}; break;
-case 5323: { // glCopyTexSubImage3D
+}; break;
+case 5323: { // glCopyTexSubImage3D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2363,8 +2363,8 @@ case 5323: { // glCopyTexSubImage3D
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
weglCopyTexSubImage3D(*target,*level,*xoffset,*yoffset,*zoffset,*x,*y,*width,*height);
-}; break;
-case 5324: { // glColorTable
+}; break;
+case 5324: { // glColorTable
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -2372,8 +2372,8 @@ case 5324: { // glColorTable
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *table = (GLvoid *) * (int *) bp; bp += 4;
weglColorTable(*target,*internalformat,*width,*format,*type,table);
-}; break;
-case 5325: { // glColorTable
+}; break;
+case 5325: { // glColorTable
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -2381,28 +2381,28 @@ case 5325: { // glColorTable
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *table = (GLvoid *) bins[0]->base;
weglColorTable(*target,*internalformat,*width,*format,*type,table);
-}; break;
-case 5326: { // glColorTableParameterfv
+}; break;
+case 5326: { // glColorTableParameterfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat * params = (GLfloat *) bp; bp += 16;
weglColorTableParameterfv(*target,*pname,params);
-}; break;
-case 5327: { // glColorTableParameteriv
+}; break;
+case 5327: { // glColorTableParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint * params = (GLint *) bp; bp += 16;
weglColorTableParameteriv(*target,*pname,params);
-}; break;
-case 5328: { // glCopyColorTable
+}; break;
+case 5328: { // glCopyColorTable
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLint *x = (GLint *) bp; bp += 4;
GLint *y = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
weglCopyColorTable(*target,*internalformat,*x,*y,*width);
-}; break;
-case 5329: { // glGetColorTable
+}; break;
+case 5329: { // glGetColorTable
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *format = (GLenum *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
@@ -2413,8 +2413,8 @@ case 5329: { // glGetColorTable
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5330: { // glGetColorTableParameterfv
+}; break;
+case 5330: { // glGetColorTableParameterfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[4] = {0.0,0.0,0.0,0.0};
@@ -2431,8 +2431,8 @@ case 5330: { // glGetColorTableParameterfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5331: { // glGetColorTableParameteriv
+}; break;
+case 5331: { // glGetColorTableParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[4] = {0,0,0,0};
@@ -2448,8 +2448,8 @@ case 5331: { // glGetColorTableParameteriv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5332: { // glColorSubTable
+}; break;
+case 5332: { // glColorSubTable
GLenum *target = (GLenum *) bp; bp += 4;
GLsizei *start = (GLsizei *) bp; bp += 4;
GLsizei *count = (GLsizei *) bp; bp += 4;
@@ -2457,8 +2457,8 @@ case 5332: { // glColorSubTable
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *data = (GLvoid *) * (int *) bp; bp += 4;
weglColorSubTable(*target,*start,*count,*format,*type,data);
-}; break;
-case 5333: { // glColorSubTable
+}; break;
+case 5333: { // glColorSubTable
GLenum *target = (GLenum *) bp; bp += 4;
GLsizei *start = (GLsizei *) bp; bp += 4;
GLsizei *count = (GLsizei *) bp; bp += 4;
@@ -2466,16 +2466,16 @@ case 5333: { // glColorSubTable
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *data = (GLvoid *) bins[0]->base;
weglColorSubTable(*target,*start,*count,*format,*type,data);
-}; break;
-case 5334: { // glCopyColorSubTable
+}; break;
+case 5334: { // glCopyColorSubTable
GLenum *target = (GLenum *) bp; bp += 4;
GLsizei *start = (GLsizei *) bp; bp += 4;
GLint *x = (GLint *) bp; bp += 4;
GLint *y = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
weglCopyColorSubTable(*target,*start,*x,*y,*width);
-}; break;
-case 5335: { // glConvolutionFilter1D
+}; break;
+case 5335: { // glConvolutionFilter1D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -2483,8 +2483,8 @@ case 5335: { // glConvolutionFilter1D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *image = (GLvoid *) * (int *) bp; bp += 4;
weglConvolutionFilter1D(*target,*internalformat,*width,*format,*type,image);
-}; break;
-case 5336: { // glConvolutionFilter1D
+}; break;
+case 5336: { // glConvolutionFilter1D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -2492,8 +2492,8 @@ case 5336: { // glConvolutionFilter1D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *image = (GLvoid *) bins[0]->base;
weglConvolutionFilter1D(*target,*internalformat,*width,*format,*type,image);
-}; break;
-case 5337: { // glConvolutionFilter2D
+}; break;
+case 5337: { // glConvolutionFilter2D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -2502,8 +2502,8 @@ case 5337: { // glConvolutionFilter2D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *image = (GLvoid *) * (int *) bp; bp += 4;
weglConvolutionFilter2D(*target,*internalformat,*width,*height,*format,*type,image);
-}; break;
-case 5338: { // glConvolutionFilter2D
+}; break;
+case 5338: { // glConvolutionFilter2D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -2512,30 +2512,30 @@ case 5338: { // glConvolutionFilter2D
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *image = (GLvoid *) bins[0]->base;
weglConvolutionFilter2D(*target,*internalformat,*width,*height,*format,*type,image);
-}; break;
-case 5339: { // glConvolutionParameterfv
+}; break;
+case 5339: { // glConvolutionParameterfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLfloat *params = (GLfloat *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglConvolutionParameterfv(*target,*pname,params);
-}; break;
-case 5340: { // glConvolutionParameteriv
+}; break;
+case 5340: { // glConvolutionParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLint *params = (GLint *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglConvolutionParameteriv(*target,*pname,params);
-}; break;
-case 5341: { // glCopyConvolutionFilter1D
+}; break;
+case 5341: { // glCopyConvolutionFilter1D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLint *x = (GLint *) bp; bp += 4;
GLint *y = (GLint *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
weglCopyConvolutionFilter1D(*target,*internalformat,*x,*y,*width);
-}; break;
-case 5342: { // glCopyConvolutionFilter2D
+}; break;
+case 5342: { // glCopyConvolutionFilter2D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLint *x = (GLint *) bp; bp += 4;
@@ -2543,8 +2543,8 @@ case 5342: { // glCopyConvolutionFilter2D
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
weglCopyConvolutionFilter2D(*target,*internalformat,*x,*y,*width,*height);
-}; break;
-case 5343: { // glGetConvolutionFilter
+}; break;
+case 5343: { // glGetConvolutionFilter
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *format = (GLenum *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
@@ -2555,8 +2555,8 @@ case 5343: { // glGetConvolutionFilter
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5344: { // glGetConvolutionParameterfv
+}; break;
+case 5344: { // glGetConvolutionParameterfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[4] = {0.0,0.0,0.0,0.0};
@@ -2573,8 +2573,8 @@ case 5344: { // glGetConvolutionParameterfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5345: { // glGetConvolutionParameteriv
+}; break;
+case 5345: { // glGetConvolutionParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[4] = {0,0,0,0};
@@ -2590,8 +2590,8 @@ case 5345: { // glGetConvolutionParameteriv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5346: { // glSeparableFilter2D
+}; break;
+case 5346: { // glSeparableFilter2D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -2601,8 +2601,8 @@ case 5346: { // glSeparableFilter2D
GLvoid *row = (GLvoid *) * (int *) bp; bp += 4;
GLvoid *column = (GLvoid *) * (int *) bp; bp += 4;
weglSeparableFilter2D(*target,*internalformat,*width,*height,*format,*type,row,column);
-}; break;
-case 5347: { // glSeparableFilter2D
+}; break;
+case 5347: { // glSeparableFilter2D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
@@ -2612,8 +2612,8 @@ case 5347: { // glSeparableFilter2D
GLvoid *row = (GLvoid *) bins[0]->base;
GLvoid *column = (GLvoid *) bins[1]->base;
weglSeparableFilter2D(*target,*internalformat,*width,*height,*format,*type,row,column);
-}; break;
-case 5348: { // glGetHistogram
+}; break;
+case 5348: { // glGetHistogram
GLenum *target = (GLenum *) bp; bp += 4;
GLboolean *reset = (GLboolean *) bp; bp += 1;
bp += 3;
@@ -2626,8 +2626,8 @@ case 5348: { // glGetHistogram
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5349: { // glGetHistogramParameterfv
+}; break;
+case 5349: { // glGetHistogramParameterfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[1] = {0.0};
@@ -2641,8 +2641,8 @@ case 5349: { // glGetHistogramParameterfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 8 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,8);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5350: { // glGetHistogramParameteriv
+}; break;
+case 5350: { // glGetHistogramParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[1] = {0};
@@ -2655,8 +2655,8 @@ case 5350: { // glGetHistogramParameteriv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 8 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,8);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5351: { // glGetMinmax
+}; break;
+case 5351: { // glGetMinmax
GLenum *target = (GLenum *) bp; bp += 4;
GLboolean *reset = (GLboolean *) bp; bp += 1;
bp += 3;
@@ -2669,8 +2669,8 @@ case 5351: { // glGetMinmax
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5352: { // glGetMinmaxParameterfv
+}; break;
+case 5352: { // glGetMinmaxParameterfv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[1] = {0.0};
@@ -2684,8 +2684,8 @@ case 5352: { // glGetMinmaxParameterfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 8 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,8);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5353: { // glGetMinmaxParameteriv
+}; break;
+case 5353: { // glGetMinmaxParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[1] = {0};
@@ -2698,38 +2698,38 @@ case 5353: { // glGetMinmaxParameteriv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 8 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,8);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5354: { // glHistogram
+}; break;
+case 5354: { // glHistogram
GLenum *target = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLboolean *sink = (GLboolean *) bp; bp += 1;
weglHistogram(*target,*width,*internalformat,*sink);
-}; break;
-case 5355: { // glMinmax
+}; break;
+case 5355: { // glMinmax
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLboolean *sink = (GLboolean *) bp; bp += 1;
weglMinmax(*target,*internalformat,*sink);
-}; break;
-case 5356: { // glResetHistogram
+}; break;
+case 5356: { // glResetHistogram
GLenum *target = (GLenum *) bp; bp += 4;
weglResetHistogram(*target);
-}; break;
-case 5357: { // glResetMinmax
+}; break;
+case 5357: { // glResetMinmax
GLenum *target = (GLenum *) bp; bp += 4;
weglResetMinmax(*target);
-}; break;
-case 5358: { // glActiveTexture
+}; break;
+case 5358: { // glActiveTexture
GLenum *texture = (GLenum *) bp; bp += 4;
weglActiveTexture(*texture);
-}; break;
-case 5359: { // glSampleCoverage
+}; break;
+case 5359: { // glSampleCoverage
GLclampf *value = (GLclampf *) bp; bp += 4;
GLboolean *invert = (GLboolean *) bp; bp += 1;
weglSampleCoverage(*value,*invert);
-}; break;
-case 5360: { // glCompressedTexImage3D
+}; break;
+case 5360: { // glCompressedTexImage3D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
@@ -2740,8 +2740,8 @@ case 5360: { // glCompressedTexImage3D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) * (int *) bp; bp += 4;
weglCompressedTexImage3D(*target,*level,*internalformat,*width,*height,*depth,*border,*imageSize,data);
-}; break;
-case 5361: { // glCompressedTexImage3D
+}; break;
+case 5361: { // glCompressedTexImage3D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
@@ -2752,8 +2752,8 @@ case 5361: { // glCompressedTexImage3D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) bins[0]->base;
weglCompressedTexImage3D(*target,*level,*internalformat,*width,*height,*depth,*border,*imageSize,data);
-}; break;
-case 5362: { // glCompressedTexImage2D
+}; break;
+case 5362: { // glCompressedTexImage2D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
@@ -2763,8 +2763,8 @@ case 5362: { // glCompressedTexImage2D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) * (int *) bp; bp += 4;
weglCompressedTexImage2D(*target,*level,*internalformat,*width,*height,*border,*imageSize,data);
-}; break;
-case 5363: { // glCompressedTexImage2D
+}; break;
+case 5363: { // glCompressedTexImage2D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
@@ -2774,8 +2774,8 @@ case 5363: { // glCompressedTexImage2D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) bins[0]->base;
weglCompressedTexImage2D(*target,*level,*internalformat,*width,*height,*border,*imageSize,data);
-}; break;
-case 5364: { // glCompressedTexImage1D
+}; break;
+case 5364: { // glCompressedTexImage1D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
@@ -2784,8 +2784,8 @@ case 5364: { // glCompressedTexImage1D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) * (int *) bp; bp += 4;
weglCompressedTexImage1D(*target,*level,*internalformat,*width,*border,*imageSize,data);
-}; break;
-case 5365: { // glCompressedTexImage1D
+}; break;
+case 5365: { // glCompressedTexImage1D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
@@ -2794,8 +2794,8 @@ case 5365: { // glCompressedTexImage1D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) bins[0]->base;
weglCompressedTexImage1D(*target,*level,*internalformat,*width,*border,*imageSize,data);
-}; break;
-case 5366: { // glCompressedTexSubImage3D
+}; break;
+case 5366: { // glCompressedTexSubImage3D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2808,8 +2808,8 @@ case 5366: { // glCompressedTexSubImage3D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) * (int *) bp; bp += 4;
weglCompressedTexSubImage3D(*target,*level,*xoffset,*yoffset,*zoffset,*width,*height,*depth,*format,*imageSize,data);
-}; break;
-case 5367: { // glCompressedTexSubImage3D
+}; break;
+case 5367: { // glCompressedTexSubImage3D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2822,8 +2822,8 @@ case 5367: { // glCompressedTexSubImage3D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) bins[0]->base;
weglCompressedTexSubImage3D(*target,*level,*xoffset,*yoffset,*zoffset,*width,*height,*depth,*format,*imageSize,data);
-}; break;
-case 5368: { // glCompressedTexSubImage2D
+}; break;
+case 5368: { // glCompressedTexSubImage2D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2834,8 +2834,8 @@ case 5368: { // glCompressedTexSubImage2D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) * (int *) bp; bp += 4;
weglCompressedTexSubImage2D(*target,*level,*xoffset,*yoffset,*width,*height,*format,*imageSize,data);
-}; break;
-case 5369: { // glCompressedTexSubImage2D
+}; break;
+case 5369: { // glCompressedTexSubImage2D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2846,8 +2846,8 @@ case 5369: { // glCompressedTexSubImage2D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) bins[0]->base;
weglCompressedTexSubImage2D(*target,*level,*xoffset,*yoffset,*width,*height,*format,*imageSize,data);
-}; break;
-case 5370: { // glCompressedTexSubImage1D
+}; break;
+case 5370: { // glCompressedTexSubImage1D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2856,8 +2856,8 @@ case 5370: { // glCompressedTexSubImage1D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) * (int *) bp; bp += 4;
weglCompressedTexSubImage1D(*target,*level,*xoffset,*width,*format,*imageSize,data);
-}; break;
-case 5371: { // glCompressedTexSubImage1D
+}; break;
+case 5371: { // glCompressedTexSubImage1D
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *xoffset = (GLint *) bp; bp += 4;
@@ -2866,8 +2866,8 @@ case 5371: { // glCompressedTexSubImage1D
GLsizei *imageSize = (GLsizei *) bp; bp += 4;
GLvoid *data = (GLvoid *) bins[0]->base;
weglCompressedTexSubImage1D(*target,*level,*xoffset,*width,*format,*imageSize,data);
-}; break;
-case 5372: { // glGetCompressedTexImage
+}; break;
+case 5372: { // glGetCompressedTexImage
GLenum *target = (GLenum *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLvoid *img = (GLvoid *) bins[0]->base;
@@ -2877,247 +2877,247 @@ case 5372: { // glGetCompressedTexImage
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5373: { // glClientActiveTexture
+}; break;
+case 5373: { // glClientActiveTexture
GLenum *texture = (GLenum *) bp; bp += 4;
weglClientActiveTexture(*texture);
-}; break;
-case 5374: { // glMultiTexCoord1dv
+}; break;
+case 5374: { // glMultiTexCoord1dv
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLdouble *v = (GLdouble *) bp; bp += 8;
weglMultiTexCoord1dv(*target,v);
-}; break;
-case 5375: { // glMultiTexCoord1fv
+}; break;
+case 5375: { // glMultiTexCoord1fv
GLenum *target = (GLenum *) bp; bp += 4;
GLfloat *v = (GLfloat *) bp; bp += 4;
weglMultiTexCoord1fv(*target,v);
-}; break;
-case 5376: { // glMultiTexCoord1iv
+}; break;
+case 5376: { // glMultiTexCoord1iv
GLenum *target = (GLenum *) bp; bp += 4;
GLint *v = (GLint *) bp; bp += 4;
weglMultiTexCoord1iv(*target,v);
-}; break;
-case 5377: { // glMultiTexCoord1sv
+}; break;
+case 5377: { // glMultiTexCoord1sv
GLenum *target = (GLenum *) bp; bp += 4;
GLshort *v = (GLshort *) bp; bp += 2;
weglMultiTexCoord1sv(*target,v);
-}; break;
-case 5378: { // glMultiTexCoord2dv
+}; break;
+case 5378: { // glMultiTexCoord2dv
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLdouble *v = (GLdouble *) bp; bp += 8;
weglMultiTexCoord2dv(*target,v);
-}; break;
-case 5379: { // glMultiTexCoord2fv
+}; break;
+case 5379: { // glMultiTexCoord2fv
GLenum *target = (GLenum *) bp; bp += 4;
GLfloat *v = (GLfloat *) bp; bp += 4;
weglMultiTexCoord2fv(*target,v);
-}; break;
-case 5380: { // glMultiTexCoord2iv
+}; break;
+case 5380: { // glMultiTexCoord2iv
GLenum *target = (GLenum *) bp; bp += 4;
GLint *v = (GLint *) bp; bp += 4;
weglMultiTexCoord2iv(*target,v);
-}; break;
-case 5381: { // glMultiTexCoord2sv
+}; break;
+case 5381: { // glMultiTexCoord2sv
GLenum *target = (GLenum *) bp; bp += 4;
GLshort *v = (GLshort *) bp; bp += 2;
weglMultiTexCoord2sv(*target,v);
-}; break;
-case 5382: { // glMultiTexCoord3dv
+}; break;
+case 5382: { // glMultiTexCoord3dv
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLdouble *v = (GLdouble *) bp; bp += 8;
weglMultiTexCoord3dv(*target,v);
-}; break;
-case 5383: { // glMultiTexCoord3fv
+}; break;
+case 5383: { // glMultiTexCoord3fv
GLenum *target = (GLenum *) bp; bp += 4;
GLfloat *v = (GLfloat *) bp; bp += 4;
weglMultiTexCoord3fv(*target,v);
-}; break;
-case 5384: { // glMultiTexCoord3iv
+}; break;
+case 5384: { // glMultiTexCoord3iv
GLenum *target = (GLenum *) bp; bp += 4;
GLint *v = (GLint *) bp; bp += 4;
weglMultiTexCoord3iv(*target,v);
-}; break;
-case 5385: { // glMultiTexCoord3sv
+}; break;
+case 5385: { // glMultiTexCoord3sv
GLenum *target = (GLenum *) bp; bp += 4;
GLshort *v = (GLshort *) bp; bp += 2;
weglMultiTexCoord3sv(*target,v);
-}; break;
-case 5386: { // glMultiTexCoord4dv
+}; break;
+case 5386: { // glMultiTexCoord4dv
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLdouble *v = (GLdouble *) bp; bp += 8;
weglMultiTexCoord4dv(*target,v);
-}; break;
-case 5387: { // glMultiTexCoord4fv
+}; break;
+case 5387: { // glMultiTexCoord4fv
GLenum *target = (GLenum *) bp; bp += 4;
GLfloat *v = (GLfloat *) bp; bp += 4;
weglMultiTexCoord4fv(*target,v);
-}; break;
-case 5388: { // glMultiTexCoord4iv
+}; break;
+case 5388: { // glMultiTexCoord4iv
GLenum *target = (GLenum *) bp; bp += 4;
GLint *v = (GLint *) bp; bp += 4;
weglMultiTexCoord4iv(*target,v);
-}; break;
-case 5389: { // glMultiTexCoord4sv
+}; break;
+case 5389: { // glMultiTexCoord4sv
GLenum *target = (GLenum *) bp; bp += 4;
GLshort *v = (GLshort *) bp; bp += 2;
weglMultiTexCoord4sv(*target,v);
-}; break;
-case 5390: { // glLoadTransposeMatrixf
+}; break;
+case 5390: { // glLoadTransposeMatrixf
GLfloat * m = (GLfloat *) bp; bp += 64;
weglLoadTransposeMatrixf(m);
-}; break;
-case 5391: { // glLoadTransposeMatrixd
+}; break;
+case 5391: { // glLoadTransposeMatrixd
GLdouble * m = (GLdouble *) bp; bp += 128;
weglLoadTransposeMatrixd(m);
-}; break;
-case 5392: { // glMultTransposeMatrixf
+}; break;
+case 5392: { // glMultTransposeMatrixf
GLfloat * m = (GLfloat *) bp; bp += 64;
weglMultTransposeMatrixf(m);
-}; break;
-case 5393: { // glMultTransposeMatrixd
+}; break;
+case 5393: { // glMultTransposeMatrixd
GLdouble * m = (GLdouble *) bp; bp += 128;
weglMultTransposeMatrixd(m);
-}; break;
-case 5394: { // glBlendFuncSeparate
+}; break;
+case 5394: { // glBlendFuncSeparate
GLenum *sfactorRGB = (GLenum *) bp; bp += 4;
GLenum *dfactorRGB = (GLenum *) bp; bp += 4;
GLenum *sfactorAlpha = (GLenum *) bp; bp += 4;
GLenum *dfactorAlpha = (GLenum *) bp; bp += 4;
weglBlendFuncSeparate(*sfactorRGB,*dfactorRGB,*sfactorAlpha,*dfactorAlpha);
-}; break;
-case 5395: { // glMultiDrawArrays
+}; break;
+case 5395: { // glMultiDrawArrays
GLenum *mode = (GLenum *) bp; bp += 4;
int * firstLen = (int *) bp; bp += 4;
GLint * first = (GLint *) bp; bp += (8-((*firstLen*4+0)%8))%8;
int * countLen = (int *) bp; bp += 4;
GLsizei * count = (GLsizei *) bp; bp += (8-((*countLen*4+4)%8))%8;
weglMultiDrawArrays(*mode,first,count,*firstLen);
-}; break;
-case 5396: { // glPointParameterf
+}; break;
+case 5396: { // glPointParameterf
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat *param = (GLfloat *) bp; bp += 4;
weglPointParameterf(*pname,*param);
-}; break;
-case 5397: { // glPointParameterfv
+}; break;
+case 5397: { // glPointParameterfv
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLfloat *params = (GLfloat *) bp; bp += *paramsLen*4+((*paramsLen)+0)%2*4;
weglPointParameterfv(*pname,params);
-}; break;
-case 5398: { // glPointParameteri
+}; break;
+case 5398: { // glPointParameteri
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *param = (GLint *) bp; bp += 4;
weglPointParameteri(*pname,*param);
-}; break;
-case 5399: { // glPointParameteriv
+}; break;
+case 5399: { // glPointParameteriv
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLint *params = (GLint *) bp; bp += *paramsLen*4+((*paramsLen)+0)%2*4;
weglPointParameteriv(*pname,params);
-}; break;
-case 5400: { // glFogCoordfv
+}; break;
+case 5400: { // glFogCoordfv
GLfloat *coord = (GLfloat *) bp; bp += 4;
weglFogCoordfv(coord);
-}; break;
-case 5401: { // glFogCoorddv
+}; break;
+case 5401: { // glFogCoorddv
GLdouble *coord = (GLdouble *) bp; bp += 8;
weglFogCoorddv(coord);
-}; break;
-case 5402: { // glFogCoordPointer
+}; break;
+case 5402: { // glFogCoordPointer
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglFogCoordPointer(*type,*stride,pointer);
-}; break;
-case 5403: { // glFogCoordPointer
+}; break;
+case 5403: { // glFogCoordPointer
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglFogCoordPointer(*type,*stride,pointer);
-}; break;
-case 5404: { // glSecondaryColor3bv
+}; break;
+case 5404: { // glSecondaryColor3bv
GLbyte *v = (GLbyte *) bp; bp += 1;
weglSecondaryColor3bv(v);
-}; break;
-case 5405: { // glSecondaryColor3dv
+}; break;
+case 5405: { // glSecondaryColor3dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglSecondaryColor3dv(v);
-}; break;
-case 5406: { // glSecondaryColor3fv
+}; break;
+case 5406: { // glSecondaryColor3fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglSecondaryColor3fv(v);
-}; break;
-case 5407: { // glSecondaryColor3iv
+}; break;
+case 5407: { // glSecondaryColor3iv
GLint *v = (GLint *) bp; bp += 4;
weglSecondaryColor3iv(v);
-}; break;
-case 5408: { // glSecondaryColor3sv
+}; break;
+case 5408: { // glSecondaryColor3sv
GLshort *v = (GLshort *) bp; bp += 2;
weglSecondaryColor3sv(v);
-}; break;
-case 5409: { // glSecondaryColor3ubv
+}; break;
+case 5409: { // glSecondaryColor3ubv
GLubyte *v = (GLubyte *) bp; bp += 1;
weglSecondaryColor3ubv(v);
-}; break;
-case 5410: { // glSecondaryColor3uiv
+}; break;
+case 5410: { // glSecondaryColor3uiv
GLuint *v = (GLuint *) bp; bp += 4;
weglSecondaryColor3uiv(v);
-}; break;
-case 5411: { // glSecondaryColor3usv
+}; break;
+case 5411: { // glSecondaryColor3usv
GLushort *v = (GLushort *) bp; bp += 2;
weglSecondaryColor3usv(v);
-}; break;
-case 5412: { // glSecondaryColorPointer
+}; break;
+case 5412: { // glSecondaryColorPointer
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglSecondaryColorPointer(*size,*type,*stride,pointer);
-}; break;
-case 5413: { // glSecondaryColorPointer
+}; break;
+case 5413: { // glSecondaryColorPointer
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglSecondaryColorPointer(*size,*type,*stride,pointer);
-}; break;
-case 5414: { // glWindowPos2dv
+}; break;
+case 5414: { // glWindowPos2dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglWindowPos2dv(v);
-}; break;
-case 5415: { // glWindowPos2fv
+}; break;
+case 5415: { // glWindowPos2fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglWindowPos2fv(v);
-}; break;
-case 5416: { // glWindowPos2iv
+}; break;
+case 5416: { // glWindowPos2iv
GLint *v = (GLint *) bp; bp += 4;
weglWindowPos2iv(v);
-}; break;
-case 5417: { // glWindowPos2sv
+}; break;
+case 5417: { // glWindowPos2sv
GLshort *v = (GLshort *) bp; bp += 2;
weglWindowPos2sv(v);
-}; break;
-case 5418: { // glWindowPos3dv
+}; break;
+case 5418: { // glWindowPos3dv
GLdouble *v = (GLdouble *) bp; bp += 8;
weglWindowPos3dv(v);
-}; break;
-case 5419: { // glWindowPos3fv
+}; break;
+case 5419: { // glWindowPos3fv
GLfloat *v = (GLfloat *) bp; bp += 4;
weglWindowPos3fv(v);
-}; break;
-case 5420: { // glWindowPos3iv
+}; break;
+case 5420: { // glWindowPos3iv
GLint *v = (GLint *) bp; bp += 4;
weglWindowPos3iv(v);
-}; break;
-case 5421: { // glWindowPos3sv
+}; break;
+case 5421: { // glWindowPos3sv
GLshort *v = (GLshort *) bp; bp += 2;
weglWindowPos3sv(v);
-}; break;
-case 5422: { // glGenQueries
+}; break;
+case 5422: { // glGenQueries
GLsizei *n = (GLsizei *) bp; bp += 4;
GLuint *ids;
ids = (GLuint *) driver_alloc(sizeof(GLuint) * *n);
@@ -3131,15 +3131,15 @@ case 5422: { // glGenQueries
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*n)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*n)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(ids);
-}; break;
-case 5423: { // glDeleteQueries
+}; break;
+case 5423: { // glDeleteQueries
int * idsLen = (int *) bp; bp += 4;
GLuint * ids = (GLuint *) bp; bp += (8-((*idsLen*4+4)%8))%8;
weglDeleteQueries(*idsLen,ids);
-}; break;
-case 5424: { // glIsQuery
+}; break;
+case 5424: { // glIsQuery
GLuint *id = (GLuint *) bp; bp += 4;
GLboolean result = weglIsQuery(*id);
int AP = 0; ErlDrvTermData rt[6];
@@ -3148,17 +3148,17 @@ case 5424: { // glIsQuery
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5425: { // glBeginQuery
+}; break;
+case 5425: { // glBeginQuery
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *id = (GLuint *) bp; bp += 4;
weglBeginQuery(*target,*id);
-}; break;
-case 5426: { // glEndQuery
+}; break;
+case 5426: { // glEndQuery
GLenum *target = (GLenum *) bp; bp += 4;
weglEndQuery(*target);
-}; break;
-case 5427: { // glGetQueryiv
+}; break;
+case 5427: { // glGetQueryiv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[1] = {0};
@@ -3169,8 +3169,8 @@ case 5427: { // glGetQueryiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5428: { // glGetQueryObjectiv
+}; break;
+case 5428: { // glGetQueryObjectiv
GLuint *id = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[1] = {0};
@@ -3181,8 +3181,8 @@ case 5428: { // glGetQueryObjectiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5429: { // glGetQueryObjectuiv
+}; break;
+case 5429: { // glGetQueryObjectuiv
GLuint *id = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLuint params[1] = {0};
@@ -3193,18 +3193,18 @@ case 5429: { // glGetQueryObjectuiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5430: { // glBindBuffer
+}; break;
+case 5430: { // glBindBuffer
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *buffer = (GLuint *) bp; bp += 4;
weglBindBuffer(*target,*buffer);
-}; break;
-case 5431: { // glDeleteBuffers
+}; break;
+case 5431: { // glDeleteBuffers
int * buffersLen = (int *) bp; bp += 4;
GLuint * buffers = (GLuint *) bp; bp += (8-((*buffersLen*4+4)%8))%8;
weglDeleteBuffers(*buffersLen,buffers);
-}; break;
-case 5432: { // glGenBuffers
+}; break;
+case 5432: { // glGenBuffers
GLsizei *n = (GLsizei *) bp; bp += 4;
GLuint *buffers;
buffers = (GLuint *) driver_alloc(sizeof(GLuint) * *n);
@@ -3218,10 +3218,10 @@ case 5432: { // glGenBuffers
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*n)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*n)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(buffers);
-}; break;
-case 5433: { // glIsBuffer
+}; break;
+case 5433: { // glIsBuffer
GLuint *buffer = (GLuint *) bp; bp += 4;
GLboolean result = weglIsBuffer(*buffer);
int AP = 0; ErlDrvTermData rt[6];
@@ -3230,40 +3230,40 @@ case 5433: { // glIsBuffer
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5434: { // glBufferData
+}; break;
+case 5434: { // glBufferData
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLsizeiptr size = (GLsizeiptr) * (GLuint64EXT *) bp; bp += 8;
GLvoid *data = (GLvoid *) * (int *) bp; bp += 4;
GLenum *usage = (GLenum *) bp; bp += 4;
weglBufferData(*target,size,data,*usage);
-}; break;
-case 5435: { // glBufferData
+}; break;
+case 5435: { // glBufferData
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLsizeiptr size = (GLsizeiptr) * (GLuint64EXT *) bp; bp += 8;
GLvoid *data = (GLvoid *) bins[0]->base;
GLenum *usage = (GLenum *) bp; bp += 4;
weglBufferData(*target,size,data,*usage);
-}; break;
-case 5436: { // glBufferSubData
+}; break;
+case 5436: { // glBufferSubData
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLintptr offset = (GLintptr) * (GLuint64EXT *) bp; bp += 8;
GLsizeiptr size = (GLsizeiptr) * (GLuint64EXT *) bp; bp += 8;
GLvoid *data = (GLvoid *) * (int *) bp; bp += 4;
weglBufferSubData(*target,offset,size,data);
-}; break;
-case 5437: { // glBufferSubData
+}; break;
+case 5437: { // glBufferSubData
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLintptr offset = (GLintptr) * (GLuint64EXT *) bp; bp += 8;
GLsizeiptr size = (GLsizeiptr) * (GLuint64EXT *) bp; bp += 8;
GLvoid *data = (GLvoid *) bins[0]->base;
weglBufferSubData(*target,offset,size,data);
-}; break;
-case 5438: { // glGetBufferSubData
+}; break;
+case 5438: { // glGetBufferSubData
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLintptr offset = (GLintptr) * (GLuint64EXT *) bp; bp += 8;
@@ -3275,8 +3275,8 @@ case 5438: { // glGetBufferSubData
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5439: { // glGetBufferParameteriv
+}; break;
+case 5439: { // glGetBufferParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[1] = {0};
@@ -3287,53 +3287,53 @@ case 5439: { // glGetBufferParameteriv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5440: { // glBlendEquationSeparate
+}; break;
+case 5440: { // glBlendEquationSeparate
GLenum *modeRGB = (GLenum *) bp; bp += 4;
GLenum *modeAlpha = (GLenum *) bp; bp += 4;
weglBlendEquationSeparate(*modeRGB,*modeAlpha);
-}; break;
-case 5441: { // glDrawBuffers
+}; break;
+case 5441: { // glDrawBuffers
int * bufsLen = (int *) bp; bp += 4;
GLenum * bufs = (GLenum *) bp; bp += (8-((*bufsLen*4+4)%8))%8;
weglDrawBuffers(*bufsLen,bufs);
-}; break;
-case 5442: { // glStencilOpSeparate
+}; break;
+case 5442: { // glStencilOpSeparate
GLenum *face = (GLenum *) bp; bp += 4;
GLenum *sfail = (GLenum *) bp; bp += 4;
GLenum *dpfail = (GLenum *) bp; bp += 4;
GLenum *dppass = (GLenum *) bp; bp += 4;
weglStencilOpSeparate(*face,*sfail,*dpfail,*dppass);
-}; break;
-case 5443: { // glStencilFuncSeparate
+}; break;
+case 5443: { // glStencilFuncSeparate
GLenum *frontfunc = (GLenum *) bp; bp += 4;
GLenum *backfunc = (GLenum *) bp; bp += 4;
GLint *ref = (GLint *) bp; bp += 4;
GLuint *mask = (GLuint *) bp; bp += 4;
weglStencilFuncSeparate(*frontfunc,*backfunc,*ref,*mask);
-}; break;
-case 5444: { // glStencilMaskSeparate
+}; break;
+case 5444: { // glStencilMaskSeparate
GLenum *face = (GLenum *) bp; bp += 4;
GLuint *mask = (GLuint *) bp; bp += 4;
weglStencilMaskSeparate(*face,*mask);
-}; break;
-case 5445: { // glAttachShader
+}; break;
+case 5445: { // glAttachShader
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *shader = (GLuint *) bp; bp += 4;
weglAttachShader(*program,*shader);
-}; break;
-case 5446: { // glBindAttribLocation
+}; break;
+case 5446: { // glBindAttribLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
int nameLen = strlen((char *)name); bp += nameLen+1+((8-((1+nameLen+0)%8))%8);
weglBindAttribLocation(*program,*index,name);
-}; break;
-case 5447: { // glCompileShader
+}; break;
+case 5447: { // glCompileShader
GLuint *shader = (GLuint *) bp; bp += 4;
weglCompileShader(*shader);
-}; break;
-case 5448: { // glCreateProgram
+}; break;
+case 5448: { // glCreateProgram
GLuint result = weglCreateProgram();
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_wxe_result_");
@@ -3341,8 +3341,8 @@ case 5448: { // glCreateProgram
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5449: { // glCreateShader
+}; break;
+case 5449: { // glCreateShader
GLenum *type = (GLenum *) bp; bp += 4;
GLuint result = weglCreateShader(*type);
int AP = 0; ErlDrvTermData rt[6];
@@ -3351,29 +3351,29 @@ case 5449: { // glCreateShader
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5450: { // glDeleteProgram
+}; break;
+case 5450: { // glDeleteProgram
GLuint *program = (GLuint *) bp; bp += 4;
weglDeleteProgram(*program);
-}; break;
-case 5451: { // glDeleteShader
+}; break;
+case 5451: { // glDeleteShader
GLuint *shader = (GLuint *) bp; bp += 4;
weglDeleteShader(*shader);
-}; break;
-case 5452: { // glDetachShader
+}; break;
+case 5452: { // glDetachShader
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *shader = (GLuint *) bp; bp += 4;
weglDetachShader(*program,*shader);
-}; break;
-case 5453: { // glDisableVertexAttribArray
+}; break;
+case 5453: { // glDisableVertexAttribArray
GLuint *index = (GLuint *) bp; bp += 4;
weglDisableVertexAttribArray(*index);
-}; break;
-case 5454: { // glEnableVertexAttribArray
+}; break;
+case 5454: { // glEnableVertexAttribArray
GLuint *index = (GLuint *) bp; bp += 4;
weglEnableVertexAttribArray(*index);
-}; break;
-case 5455: { // glGetActiveAttrib
+}; break;
+case 5455: { // glGetActiveAttrib
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLsizei *bufSize = (GLsizei *) bp; bp += 4;
@@ -3393,8 +3393,8 @@ case 5455: { // glGetActiveAttrib
if (AP != 13 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,13);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(name);
-}; break;
-case 5456: { // glGetActiveUniform
+}; break;
+case 5456: { // glGetActiveUniform
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLsizei *bufSize = (GLsizei *) bp; bp += 4;
@@ -3414,8 +3414,8 @@ case 5456: { // glGetActiveUniform
if (AP != 13 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,13);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(name);
-}; break;
-case 5457: { // glGetAttachedShaders
+}; break;
+case 5457: { // glGetAttachedShaders
GLuint *program = (GLuint *) bp; bp += 4;
GLsizei *maxCount = (GLsizei *) bp; bp += 4;
GLsizei count[1] = {0};
@@ -3431,10 +3431,10 @@ case 5457: { // glGetAttachedShaders
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*count)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*count)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(obj);
-}; break;
-case 5458: { // glGetAttribLocation
+}; break;
+case 5458: { // glGetAttribLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
int nameLen = strlen((char *)name); bp += nameLen+1+((8-((1+nameLen+4)%8))%8);
@@ -3445,8 +3445,8 @@ case 5458: { // glGetAttribLocation
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5459: { // glGetProgramiv
+}; break;
+case 5459: { // glGetProgramiv
GLuint *program = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[1] = {0};
@@ -3457,8 +3457,8 @@ case 5459: { // glGetProgramiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5460: { // glGetProgramInfoLog
+}; break;
+case 5460: { // glGetProgramInfoLog
GLuint *program = (GLuint *) bp; bp += 4;
GLsizei *bufSize = (GLsizei *) bp; bp += 4;
GLsizei length[1] = {0};
@@ -3472,8 +3472,8 @@ case 5460: { // glGetProgramInfoLog
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(infoLog);
-}; break;
-case 5461: { // glGetShaderiv
+}; break;
+case 5461: { // glGetShaderiv
GLuint *shader = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[1] = {0};
@@ -3484,8 +3484,8 @@ case 5461: { // glGetShaderiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5462: { // glGetShaderInfoLog
+}; break;
+case 5462: { // glGetShaderInfoLog
GLuint *shader = (GLuint *) bp; bp += 4;
GLsizei *bufSize = (GLsizei *) bp; bp += 4;
GLsizei length[1] = {0};
@@ -3499,8 +3499,8 @@ case 5462: { // glGetShaderInfoLog
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(infoLog);
-}; break;
-case 5463: { // glGetShaderSource
+}; break;
+case 5463: { // glGetShaderSource
GLuint *shader = (GLuint *) bp; bp += 4;
GLsizei *bufSize = (GLsizei *) bp; bp += 4;
GLsizei length[1] = {0};
@@ -3514,8 +3514,8 @@ case 5463: { // glGetShaderSource
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(source);
-}; break;
-case 5464: { // glGetUniformLocation
+}; break;
+case 5464: { // glGetUniformLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
int nameLen = strlen((char *)name); bp += nameLen+1+((8-((1+nameLen+4)%8))%8);
@@ -3526,8 +3526,8 @@ case 5464: { // glGetUniformLocation
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5465: { // glGetUniformfv
+}; break;
+case 5465: { // glGetUniformfv
GLuint *program = (GLuint *) bp; bp += 4;
GLint *location = (GLint *) bp; bp += 4;
GLfloat params[16] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
@@ -3556,8 +3556,8 @@ case 5465: { // glGetUniformfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 38 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,38);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5466: { // glGetUniformiv
+}; break;
+case 5466: { // glGetUniformiv
GLuint *program = (GLuint *) bp; bp += 4;
GLint *location = (GLint *) bp; bp += 4;
GLint params[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
@@ -3585,8 +3585,8 @@ case 5466: { // glGetUniformiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 38 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,38);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5467: { // glGetVertexAttribdv
+}; break;
+case 5467: { // glGetVertexAttribdv
GLuint *index = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLdouble params[4] = {0.0,0.0,0.0,0.0};
@@ -3602,8 +3602,8 @@ case 5467: { // glGetVertexAttribdv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5468: { // glGetVertexAttribfv
+}; break;
+case 5468: { // glGetVertexAttribfv
GLuint *index = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[4] = {0.0,0.0,0.0,0.0};
@@ -3620,8 +3620,8 @@ case 5468: { // glGetVertexAttribfv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5469: { // glGetVertexAttribiv
+}; break;
+case 5469: { // glGetVertexAttribiv
GLuint *index = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[4] = {0,0,0,0};
@@ -3637,8 +3637,8 @@ case 5469: { // glGetVertexAttribiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5470: { // glIsProgram
+}; break;
+case 5470: { // glIsProgram
GLuint *program = (GLuint *) bp; bp += 4;
GLboolean result = weglIsProgram(*program);
int AP = 0; ErlDrvTermData rt[6];
@@ -3647,8 +3647,8 @@ case 5470: { // glIsProgram
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5471: { // glIsShader
+}; break;
+case 5471: { // glIsShader
GLuint *shader = (GLuint *) bp; bp += 4;
GLboolean result = weglIsShader(*shader);
int AP = 0; ErlDrvTermData rt[6];
@@ -3657,275 +3657,275 @@ case 5471: { // glIsShader
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5472: { // glLinkProgram
+}; break;
+case 5472: { // glLinkProgram
GLuint *program = (GLuint *) bp; bp += 4;
weglLinkProgram(*program);
-}; break;
-case 5473: { // glShaderSource
+}; break;
+case 5473: { // glShaderSource
GLuint *shader = (GLuint *) bp; bp += 4;
int * stringLen = (int *) bp; bp += 4;
int * stringTotSize = (int *) bp; bp += 4;
GLchar **string;
- string = (GLchar **) driver_alloc(sizeof(GLchar *) * *stringLen);
+ string = (GLchar **) driver_alloc(sizeof(GLchar *) * *stringLen);
for(int i=0;i<*stringLen;i++) {
string[i] = (GLchar *) bp; bp += 1+strlen(bp);};
bp += (8 - ((0 + *stringTotSize) % 8)) % 8;
weglShaderSource(*shader,*stringLen,(const GLchar **) string,NULL);
driver_free(string);
-}; break;
-case 5474: { // glUseProgram
+}; break;
+case 5474: { // glUseProgram
GLuint *program = (GLuint *) bp; bp += 4;
weglUseProgram(*program);
-}; break;
-case 5475: { // glUniform1f
+}; break;
+case 5475: { // glUniform1f
GLint *location = (GLint *) bp; bp += 4;
GLfloat *v0 = (GLfloat *) bp; bp += 4;
weglUniform1f(*location,*v0);
-}; break;
-case 5476: { // glUniform2f
+}; break;
+case 5476: { // glUniform2f
GLint *location = (GLint *) bp; bp += 4;
GLfloat *v0 = (GLfloat *) bp; bp += 4;
GLfloat *v1 = (GLfloat *) bp; bp += 4;
weglUniform2f(*location,*v0,*v1);
-}; break;
-case 5477: { // glUniform3f
+}; break;
+case 5477: { // glUniform3f
GLint *location = (GLint *) bp; bp += 4;
GLfloat *v0 = (GLfloat *) bp; bp += 4;
GLfloat *v1 = (GLfloat *) bp; bp += 4;
GLfloat *v2 = (GLfloat *) bp; bp += 4;
weglUniform3f(*location,*v0,*v1,*v2);
-}; break;
-case 5478: { // glUniform4f
+}; break;
+case 5478: { // glUniform4f
GLint *location = (GLint *) bp; bp += 4;
GLfloat *v0 = (GLfloat *) bp; bp += 4;
GLfloat *v1 = (GLfloat *) bp; bp += 4;
GLfloat *v2 = (GLfloat *) bp; bp += 4;
GLfloat *v3 = (GLfloat *) bp; bp += 4;
weglUniform4f(*location,*v0,*v1,*v2,*v3);
-}; break;
-case 5479: { // glUniform1i
+}; break;
+case 5479: { // glUniform1i
GLint *location = (GLint *) bp; bp += 4;
GLint *v0 = (GLint *) bp; bp += 4;
weglUniform1i(*location,*v0);
-}; break;
-case 5480: { // glUniform2i
+}; break;
+case 5480: { // glUniform2i
GLint *location = (GLint *) bp; bp += 4;
GLint *v0 = (GLint *) bp; bp += 4;
GLint *v1 = (GLint *) bp; bp += 4;
weglUniform2i(*location,*v0,*v1);
-}; break;
-case 5481: { // glUniform3i
+}; break;
+case 5481: { // glUniform3i
GLint *location = (GLint *) bp; bp += 4;
GLint *v0 = (GLint *) bp; bp += 4;
GLint *v1 = (GLint *) bp; bp += 4;
GLint *v2 = (GLint *) bp; bp += 4;
weglUniform3i(*location,*v0,*v1,*v2);
-}; break;
-case 5482: { // glUniform4i
+}; break;
+case 5482: { // glUniform4i
GLint *location = (GLint *) bp; bp += 4;
GLint *v0 = (GLint *) bp; bp += 4;
GLint *v1 = (GLint *) bp; bp += 4;
GLint *v2 = (GLint *) bp; bp += 4;
GLint *v3 = (GLint *) bp; bp += 4;
weglUniform4i(*location,*v0,*v1,*v2,*v3);
-}; break;
-case 5483: { // glUniform1fv
+}; break;
+case 5483: { // glUniform1fv
GLint *location = (GLint *) bp; bp += 4;
int * valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += (8-((*valueLen*4+0)%8))%8;
weglUniform1fv(*location,*valueLen,value);
-}; break;
-case 5484: { // glUniform2fv
+}; break;
+case 5484: { // glUniform2fv
GLint *location = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*8;
weglUniform2fv(*location,*valueLen,value);
-}; break;
-case 5485: { // glUniform3fv
+}; break;
+case 5485: { // glUniform3fv
GLint *location = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*12;
weglUniform3fv(*location,*valueLen,value);
-}; break;
-case 5486: { // glUniform4fv
+}; break;
+case 5486: { // glUniform4fv
GLint *location = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*16;
weglUniform4fv(*location,*valueLen,value);
-}; break;
-case 5487: { // glUniform1iv
+}; break;
+case 5487: { // glUniform1iv
GLint *location = (GLint *) bp; bp += 4;
int * valueLen = (int *) bp; bp += 4;
GLint * value = (GLint *) bp; bp += (8-((*valueLen*4+0)%8))%8;
weglUniform1iv(*location,*valueLen,value);
-}; break;
-case 5488: { // glUniform2iv
+}; break;
+case 5488: { // glUniform2iv
GLint *location = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLint * value = (GLint *) bp; bp += *valueLen*8;
weglUniform2iv(*location,*valueLen,value);
-}; break;
-case 5489: { // glUniform3iv
+}; break;
+case 5489: { // glUniform3iv
GLint *location = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLint * value = (GLint *) bp; bp += *valueLen*12;
weglUniform3iv(*location,*valueLen,value);
-}; break;
-case 5490: { // glUniform4iv
+}; break;
+case 5490: { // glUniform4iv
GLint *location = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLint * value = (GLint *) bp; bp += *valueLen*16;
weglUniform4iv(*location,*valueLen,value);
-}; break;
-case 5491: { // glUniformMatrix2fv
+}; break;
+case 5491: { // glUniformMatrix2fv
GLint *location = (GLint *) bp; bp += 4;
GLboolean *transpose = (GLboolean *) bp; bp += 1;
bp += 3;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*16;
weglUniformMatrix2fv(*location,*valueLen,*transpose,value);
-}; break;
-case 5492: { // glUniformMatrix3fv
+}; break;
+case 5492: { // glUniformMatrix3fv
GLint *location = (GLint *) bp; bp += 4;
GLboolean *transpose = (GLboolean *) bp; bp += 1;
bp += 3;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*36;
weglUniformMatrix3fv(*location,*valueLen,*transpose,value);
-}; break;
-case 5493: { // glUniformMatrix4fv
+}; break;
+case 5493: { // glUniformMatrix4fv
GLint *location = (GLint *) bp; bp += 4;
GLboolean *transpose = (GLboolean *) bp; bp += 1;
bp += 3;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*64;
weglUniformMatrix4fv(*location,*valueLen,*transpose,value);
-}; break;
-case 5494: { // glValidateProgram
+}; break;
+case 5494: { // glValidateProgram
GLuint *program = (GLuint *) bp; bp += 4;
weglValidateProgram(*program);
-}; break;
-case 5495: { // glVertexAttrib1dv
+}; break;
+case 5495: { // glVertexAttrib1dv
GLuint *index = (GLuint *) bp; bp += 4;
bp += 4;
GLdouble *v = (GLdouble *) bp; bp += 8;
weglVertexAttrib1dv(*index,v);
-}; break;
-case 5496: { // glVertexAttrib1fv
+}; break;
+case 5496: { // glVertexAttrib1fv
GLuint *index = (GLuint *) bp; bp += 4;
GLfloat *v = (GLfloat *) bp; bp += 4;
weglVertexAttrib1fv(*index,v);
-}; break;
-case 5497: { // glVertexAttrib1sv
+}; break;
+case 5497: { // glVertexAttrib1sv
GLuint *index = (GLuint *) bp; bp += 4;
GLshort *v = (GLshort *) bp; bp += 2;
weglVertexAttrib1sv(*index,v);
-}; break;
-case 5498: { // glVertexAttrib2dv
+}; break;
+case 5498: { // glVertexAttrib2dv
GLuint *index = (GLuint *) bp; bp += 4;
bp += 4;
GLdouble *v = (GLdouble *) bp; bp += 8;
weglVertexAttrib2dv(*index,v);
-}; break;
-case 5499: { // glVertexAttrib2fv
+}; break;
+case 5499: { // glVertexAttrib2fv
GLuint *index = (GLuint *) bp; bp += 4;
GLfloat *v = (GLfloat *) bp; bp += 4;
weglVertexAttrib2fv(*index,v);
-}; break;
-case 5500: { // glVertexAttrib2sv
+}; break;
+case 5500: { // glVertexAttrib2sv
GLuint *index = (GLuint *) bp; bp += 4;
GLshort *v = (GLshort *) bp; bp += 2;
weglVertexAttrib2sv(*index,v);
-}; break;
-case 5501: { // glVertexAttrib3dv
+}; break;
+case 5501: { // glVertexAttrib3dv
GLuint *index = (GLuint *) bp; bp += 4;
bp += 4;
GLdouble *v = (GLdouble *) bp; bp += 8;
weglVertexAttrib3dv(*index,v);
-}; break;
-case 5502: { // glVertexAttrib3fv
+}; break;
+case 5502: { // glVertexAttrib3fv
GLuint *index = (GLuint *) bp; bp += 4;
GLfloat *v = (GLfloat *) bp; bp += 4;
weglVertexAttrib3fv(*index,v);
-}; break;
-case 5503: { // glVertexAttrib3sv
+}; break;
+case 5503: { // glVertexAttrib3sv
GLuint *index = (GLuint *) bp; bp += 4;
GLshort *v = (GLshort *) bp; bp += 2;
weglVertexAttrib3sv(*index,v);
-}; break;
-case 5504: { // glVertexAttrib4Nbv
+}; break;
+case 5504: { // glVertexAttrib4Nbv
GLuint *index = (GLuint *) bp; bp += 4;
GLbyte * v = (GLbyte *) bp; bp += 4;
weglVertexAttrib4Nbv(*index,v);
-}; break;
-case 5505: { // glVertexAttrib4Niv
+}; break;
+case 5505: { // glVertexAttrib4Niv
GLuint *index = (GLuint *) bp; bp += 4;
GLint * v = (GLint *) bp; bp += 16;
weglVertexAttrib4Niv(*index,v);
-}; break;
-case 5506: { // glVertexAttrib4Nsv
+}; break;
+case 5506: { // glVertexAttrib4Nsv
GLuint *index = (GLuint *) bp; bp += 4;
GLshort * v = (GLshort *) bp; bp += 8;
weglVertexAttrib4Nsv(*index,v);
-}; break;
-case 5507: { // glVertexAttrib4Nubv
+}; break;
+case 5507: { // glVertexAttrib4Nubv
GLuint *index = (GLuint *) bp; bp += 4;
GLubyte * v = (GLubyte *) bp; bp += 4;
weglVertexAttrib4Nubv(*index,v);
-}; break;
-case 5508: { // glVertexAttrib4Nuiv
+}; break;
+case 5508: { // glVertexAttrib4Nuiv
GLuint *index = (GLuint *) bp; bp += 4;
GLuint * v = (GLuint *) bp; bp += 16;
weglVertexAttrib4Nuiv(*index,v);
-}; break;
-case 5509: { // glVertexAttrib4Nusv
+}; break;
+case 5509: { // glVertexAttrib4Nusv
GLuint *index = (GLuint *) bp; bp += 4;
GLushort * v = (GLushort *) bp; bp += 8;
weglVertexAttrib4Nusv(*index,v);
-}; break;
-case 5510: { // glVertexAttrib4bv
+}; break;
+case 5510: { // glVertexAttrib4bv
GLuint *index = (GLuint *) bp; bp += 4;
GLbyte * v = (GLbyte *) bp; bp += 4;
weglVertexAttrib4bv(*index,v);
-}; break;
-case 5511: { // glVertexAttrib4dv
+}; break;
+case 5511: { // glVertexAttrib4dv
GLuint *index = (GLuint *) bp; bp += 4;
bp += 4;
GLdouble * v = (GLdouble *) bp; bp += 32;
weglVertexAttrib4dv(*index,v);
-}; break;
-case 5512: { // glVertexAttrib4fv
+}; break;
+case 5512: { // glVertexAttrib4fv
GLuint *index = (GLuint *) bp; bp += 4;
GLfloat * v = (GLfloat *) bp; bp += 16;
weglVertexAttrib4fv(*index,v);
-}; break;
-case 5513: { // glVertexAttrib4iv
+}; break;
+case 5513: { // glVertexAttrib4iv
GLuint *index = (GLuint *) bp; bp += 4;
GLint * v = (GLint *) bp; bp += 16;
weglVertexAttrib4iv(*index,v);
-}; break;
-case 5514: { // glVertexAttrib4sv
+}; break;
+case 5514: { // glVertexAttrib4sv
GLuint *index = (GLuint *) bp; bp += 4;
GLshort * v = (GLshort *) bp; bp += 8;
weglVertexAttrib4sv(*index,v);
-}; break;
-case 5515: { // glVertexAttrib4ubv
+}; break;
+case 5515: { // glVertexAttrib4ubv
GLuint *index = (GLuint *) bp; bp += 4;
GLubyte * v = (GLubyte *) bp; bp += 4;
weglVertexAttrib4ubv(*index,v);
-}; break;
-case 5516: { // glVertexAttrib4uiv
+}; break;
+case 5516: { // glVertexAttrib4uiv
GLuint *index = (GLuint *) bp; bp += 4;
GLuint * v = (GLuint *) bp; bp += 16;
weglVertexAttrib4uiv(*index,v);
-}; break;
-case 5517: { // glVertexAttrib4usv
+}; break;
+case 5517: { // glVertexAttrib4usv
GLuint *index = (GLuint *) bp; bp += 4;
GLushort * v = (GLushort *) bp; bp += 8;
weglVertexAttrib4usv(*index,v);
-}; break;
-case 5518: { // glVertexAttribPointer
+}; break;
+case 5518: { // glVertexAttribPointer
GLuint *index = (GLuint *) bp; bp += 4;
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
@@ -3934,8 +3934,8 @@ case 5518: { // glVertexAttribPointer
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglVertexAttribPointer(*index,*size,*type,*normalized,*stride,pointer);
-}; break;
-case 5519: { // glVertexAttribPointer
+}; break;
+case 5519: { // glVertexAttribPointer
GLuint *index = (GLuint *) bp; bp += 4;
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
@@ -3944,64 +3944,64 @@ case 5519: { // glVertexAttribPointer
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglVertexAttribPointer(*index,*size,*type,*normalized,*stride,pointer);
-}; break;
-case 5520: { // glUniformMatrix2x3fv
+}; break;
+case 5520: { // glUniformMatrix2x3fv
GLint *location = (GLint *) bp; bp += 4;
GLboolean *transpose = (GLboolean *) bp; bp += 1;
bp += 3;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*24;
weglUniformMatrix2x3fv(*location,*valueLen,*transpose,value);
-}; break;
-case 5521: { // glUniformMatrix3x2fv
+}; break;
+case 5521: { // glUniformMatrix3x2fv
GLint *location = (GLint *) bp; bp += 4;
GLboolean *transpose = (GLboolean *) bp; bp += 1;
bp += 3;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*24;
weglUniformMatrix3x2fv(*location,*valueLen,*transpose,value);
-}; break;
-case 5522: { // glUniformMatrix2x4fv
+}; break;
+case 5522: { // glUniformMatrix2x4fv
GLint *location = (GLint *) bp; bp += 4;
GLboolean *transpose = (GLboolean *) bp; bp += 1;
bp += 3;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*32;
weglUniformMatrix2x4fv(*location,*valueLen,*transpose,value);
-}; break;
-case 5523: { // glUniformMatrix4x2fv
+}; break;
+case 5523: { // glUniformMatrix4x2fv
GLint *location = (GLint *) bp; bp += 4;
GLboolean *transpose = (GLboolean *) bp; bp += 1;
bp += 3;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*32;
weglUniformMatrix4x2fv(*location,*valueLen,*transpose,value);
-}; break;
-case 5524: { // glUniformMatrix3x4fv
+}; break;
+case 5524: { // glUniformMatrix3x4fv
GLint *location = (GLint *) bp; bp += 4;
GLboolean *transpose = (GLboolean *) bp; bp += 1;
bp += 3;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*48;
weglUniformMatrix3x4fv(*location,*valueLen,*transpose,value);
-}; break;
-case 5525: { // glUniformMatrix4x3fv
+}; break;
+case 5525: { // glUniformMatrix4x3fv
GLint *location = (GLint *) bp; bp += 4;
GLboolean *transpose = (GLboolean *) bp; bp += 1;
bp += 3;
int *valueLen = (int *) bp; bp += 4;
GLfloat * value = (GLfloat *) bp; bp += *valueLen*48;
weglUniformMatrix4x3fv(*location,*valueLen,*transpose,value);
-}; break;
-case 5526: { // glColorMaski
+}; break;
+case 5526: { // glColorMaski
GLuint *index = (GLuint *) bp; bp += 4;
GLboolean *r = (GLboolean *) bp; bp += 1;
GLboolean *g = (GLboolean *) bp; bp += 1;
GLboolean *b = (GLboolean *) bp; bp += 1;
GLboolean *a = (GLboolean *) bp; bp += 1;
weglColorMaski(*index,*r,*g,*b,*a);
-}; break;
-case 5527: { // glGetBooleani_v
+}; break;
+case 5527: { // glGetBooleani_v
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLboolean data[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
@@ -4029,8 +4029,8 @@ case 5527: { // glGetBooleani_v
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 39 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,39);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5528: { // glGetIntegeri_v
+}; break;
+case 5528: { // glGetIntegeri_v
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLint data[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
@@ -4058,18 +4058,18 @@ case 5528: { // glGetIntegeri_v
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 39 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,39);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5529: { // glEnablei
+}; break;
+case 5529: { // glEnablei
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
weglEnablei(*target,*index);
-}; break;
-case 5530: { // glDisablei
+}; break;
+case 5530: { // glDisablei
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
weglDisablei(*target,*index);
-}; break;
-case 5531: { // glIsEnabledi
+}; break;
+case 5531: { // glIsEnabledi
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLboolean result = weglIsEnabledi(*target,*index);
@@ -4079,15 +4079,15 @@ case 5531: { // glIsEnabledi
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5532: { // glBeginTransformFeedback
+}; break;
+case 5532: { // glBeginTransformFeedback
GLenum *primitiveMode = (GLenum *) bp; bp += 4;
weglBeginTransformFeedback(*primitiveMode);
-}; break;
-case 5533: { // glEndTransformFeedback
+}; break;
+case 5533: { // glEndTransformFeedback
weglEndTransformFeedback();
-}; break;
-case 5534: { // glBindBufferRange
+}; break;
+case 5534: { // glBindBufferRange
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLuint *buffer = (GLuint *) bp; bp += 4;
@@ -4095,27 +4095,27 @@ case 5534: { // glBindBufferRange
GLintptr offset = (GLintptr) * (GLuint64EXT *) bp; bp += 8;
GLsizeiptr size = (GLsizeiptr) * (GLuint64EXT *) bp; bp += 8;
weglBindBufferRange(*target,*index,*buffer,offset,size);
-}; break;
-case 5535: { // glBindBufferBase
+}; break;
+case 5535: { // glBindBufferBase
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLuint *buffer = (GLuint *) bp; bp += 4;
weglBindBufferBase(*target,*index,*buffer);
-}; break;
-case 5536: { // glTransformFeedbackVaryings
+}; break;
+case 5536: { // glTransformFeedbackVaryings
GLuint *program = (GLuint *) bp; bp += 4;
int * varyingsLen = (int *) bp; bp += 4;
int * varyingsTotSize = (int *) bp; bp += 4;
GLchar **varyings;
- varyings = (GLchar **) driver_alloc(sizeof(GLchar *) * *varyingsLen);
+ varyings = (GLchar **) driver_alloc(sizeof(GLchar *) * *varyingsLen);
for(int i=0;i<*varyingsLen;i++) {
varyings[i] = (GLchar *) bp; bp += 1+strlen(bp);};
bp += (8 - ((0 + *varyingsTotSize) % 8)) % 8;
GLenum *bufferMode = (GLenum *) bp; bp += 4;
weglTransformFeedbackVaryings(*program,*varyingsLen,(const GLchar **) varyings,*bufferMode);
driver_free(varyings);
-}; break;
-case 5537: { // glGetTransformFeedbackVarying
+}; break;
+case 5537: { // glGetTransformFeedbackVarying
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLsizei *bufSize = (GLsizei *) bp; bp += 4;
@@ -4135,37 +4135,37 @@ case 5537: { // glGetTransformFeedbackVarying
if (AP != 13 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,13);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(name);
-}; break;
-case 5538: { // glClampColor
+}; break;
+case 5538: { // glClampColor
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *clamp = (GLenum *) bp; bp += 4;
weglClampColor(*target,*clamp);
-}; break;
-case 5539: { // glBeginConditionalRender
+}; break;
+case 5539: { // glBeginConditionalRender
GLuint *id = (GLuint *) bp; bp += 4;
GLenum *mode = (GLenum *) bp; bp += 4;
weglBeginConditionalRender(*id,*mode);
-}; break;
-case 5540: { // glEndConditionalRender
+}; break;
+case 5540: { // glEndConditionalRender
weglEndConditionalRender();
-}; break;
-case 5541: { // glVertexAttribIPointer
+}; break;
+case 5541: { // glVertexAttribIPointer
GLuint *index = (GLuint *) bp; bp += 4;
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) * (int *) bp; bp += 4;
weglVertexAttribIPointer(*index,*size,*type,*stride,pointer);
-}; break;
-case 5542: { // glVertexAttribIPointer
+}; break;
+case 5542: { // glVertexAttribIPointer
GLuint *index = (GLuint *) bp; bp += 4;
GLint *size = (GLint *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLsizei *stride = (GLsizei *) bp; bp += 4;
GLvoid *pointer = (GLvoid *) bins[0]->base;
weglVertexAttribIPointer(*index,*size,*type,*stride,pointer);
-}; break;
-case 5543: { // glGetVertexAttribIiv
+}; break;
+case 5543: { // glGetVertexAttribIiv
GLuint *index = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[4] = {0,0,0,0};
@@ -4181,8 +4181,8 @@ case 5543: { // glGetVertexAttribIiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5544: { // glGetVertexAttribIuiv
+}; break;
+case 5544: { // glGetVertexAttribIuiv
GLuint *index = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLuint params[4] = {0,0,0,0};
@@ -4198,8 +4198,8 @@ case 5544: { // glGetVertexAttribIuiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5545: { // glGetUniformuiv
+}; break;
+case 5545: { // glGetUniformuiv
GLuint *program = (GLuint *) bp; bp += 4;
GLint *location = (GLint *) bp; bp += 4;
GLuint params[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
@@ -4227,15 +4227,15 @@ case 5545: { // glGetUniformuiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 38 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,38);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5546: { // glBindFragDataLocation
+}; break;
+case 5546: { // glBindFragDataLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *color = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
int nameLen = strlen((char *)name); bp += nameLen+1+((8-((1+nameLen+0)%8))%8);
weglBindFragDataLocation(*program,*color,name);
-}; break;
-case 5547: { // glGetFragDataLocation
+}; break;
+case 5547: { // glGetFragDataLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
int nameLen = strlen((char *)name); bp += nameLen+1+((8-((1+nameLen+4)%8))%8);
@@ -4246,72 +4246,72 @@ case 5547: { // glGetFragDataLocation
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5548: { // glUniform1ui
+}; break;
+case 5548: { // glUniform1ui
GLint *location = (GLint *) bp; bp += 4;
GLuint *v0 = (GLuint *) bp; bp += 4;
weglUniform1ui(*location,*v0);
-}; break;
-case 5549: { // glUniform2ui
+}; break;
+case 5549: { // glUniform2ui
GLint *location = (GLint *) bp; bp += 4;
GLuint *v0 = (GLuint *) bp; bp += 4;
GLuint *v1 = (GLuint *) bp; bp += 4;
weglUniform2ui(*location,*v0,*v1);
-}; break;
-case 5550: { // glUniform3ui
+}; break;
+case 5550: { // glUniform3ui
GLint *location = (GLint *) bp; bp += 4;
GLuint *v0 = (GLuint *) bp; bp += 4;
GLuint *v1 = (GLuint *) bp; bp += 4;
GLuint *v2 = (GLuint *) bp; bp += 4;
weglUniform3ui(*location,*v0,*v1,*v2);
-}; break;
-case 5551: { // glUniform4ui
+}; break;
+case 5551: { // glUniform4ui
GLint *location = (GLint *) bp; bp += 4;
GLuint *v0 = (GLuint *) bp; bp += 4;
GLuint *v1 = (GLuint *) bp; bp += 4;
GLuint *v2 = (GLuint *) bp; bp += 4;
GLuint *v3 = (GLuint *) bp; bp += 4;
weglUniform4ui(*location,*v0,*v1,*v2,*v3);
-}; break;
-case 5552: { // glUniform1uiv
+}; break;
+case 5552: { // glUniform1uiv
GLint *location = (GLint *) bp; bp += 4;
int * valueLen = (int *) bp; bp += 4;
GLuint * value = (GLuint *) bp; bp += (8-((*valueLen*4+0)%8))%8;
weglUniform1uiv(*location,*valueLen,value);
-}; break;
-case 5553: { // glUniform2uiv
+}; break;
+case 5553: { // glUniform2uiv
GLint *location = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLuint * value = (GLuint *) bp; bp += *valueLen*8;
weglUniform2uiv(*location,*valueLen,value);
-}; break;
-case 5554: { // glUniform3uiv
+}; break;
+case 5554: { // glUniform3uiv
GLint *location = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLuint * value = (GLuint *) bp; bp += *valueLen*12;
weglUniform3uiv(*location,*valueLen,value);
-}; break;
-case 5555: { // glUniform4uiv
+}; break;
+case 5555: { // glUniform4uiv
GLint *location = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLuint * value = (GLuint *) bp; bp += *valueLen*16;
weglUniform4uiv(*location,*valueLen,value);
-}; break;
-case 5556: { // glTexParameterIiv
+}; break;
+case 5556: { // glTexParameterIiv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLint *params = (GLint *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglTexParameterIiv(*target,*pname,params);
-}; break;
-case 5557: { // glTexParameterIuiv
+}; break;
+case 5557: { // glTexParameterIuiv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
int *paramsLen = (int *) bp; bp += 4;
GLuint *params = (GLuint *) bp; bp += *paramsLen*4+((*paramsLen)+1)%2*4;
weglTexParameterIuiv(*target,*pname,params);
-}; break;
-case 5558: { // glGetTexParameterIiv
+}; break;
+case 5558: { // glGetTexParameterIiv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[4] = {0,0,0,0};
@@ -4327,8 +4327,8 @@ case 5558: { // glGetTexParameterIiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5559: { // glGetTexParameterIuiv
+}; break;
+case 5559: { // glGetTexParameterIuiv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLuint params[4] = {0,0,0,0};
@@ -4344,36 +4344,36 @@ case 5559: { // glGetTexParameterIuiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5560: { // glClearBufferiv
+}; break;
+case 5560: { // glClearBufferiv
GLenum *buffer = (GLenum *) bp; bp += 4;
GLint *drawbuffer = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLint *value = (GLint *) bp; bp += *valueLen*4+((*valueLen)+1)%2*4;
weglClearBufferiv(*buffer,*drawbuffer,value);
-}; break;
-case 5561: { // glClearBufferuiv
+}; break;
+case 5561: { // glClearBufferuiv
GLenum *buffer = (GLenum *) bp; bp += 4;
GLint *drawbuffer = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLuint *value = (GLuint *) bp; bp += *valueLen*4+((*valueLen)+1)%2*4;
weglClearBufferuiv(*buffer,*drawbuffer,value);
-}; break;
-case 5562: { // glClearBufferfv
+}; break;
+case 5562: { // glClearBufferfv
GLenum *buffer = (GLenum *) bp; bp += 4;
GLint *drawbuffer = (GLint *) bp; bp += 4;
int *valueLen = (int *) bp; bp += 4;
GLfloat *value = (GLfloat *) bp; bp += *valueLen*4+((*valueLen)+1)%2*4;
weglClearBufferfv(*buffer,*drawbuffer,value);
-}; break;
-case 5563: { // glClearBufferfi
+}; break;
+case 5563: { // glClearBufferfi
GLenum *buffer = (GLenum *) bp; bp += 4;
GLint *drawbuffer = (GLint *) bp; bp += 4;
GLfloat *depth = (GLfloat *) bp; bp += 4;
GLint *stencil = (GLint *) bp; bp += 4;
weglClearBufferfi(*buffer,*drawbuffer,*depth,*stencil);
-}; break;
-case 5564: { // glGetStringi
+}; break;
+case 5564: { // glGetStringi
GLenum *name = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
const GLubyte * result = weglGetStringi(*name,*index);
@@ -4383,197 +4383,197 @@ case 5564: { // glGetStringi
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5565: { // glVertexAttribI1iv
+}; break;
+case 5565: { // glVertexAttribI1iv
GLuint *index = (GLuint *) bp; bp += 4;
GLint *v = (GLint *) bp; bp += 4;
weglVertexAttribI1iv(*index,v);
-}; break;
-case 5566: { // glVertexAttribI2iv
+}; break;
+case 5566: { // glVertexAttribI2iv
GLuint *index = (GLuint *) bp; bp += 4;
GLint *v = (GLint *) bp; bp += 4;
weglVertexAttribI2iv(*index,v);
-}; break;
-case 5567: { // glVertexAttribI3iv
+}; break;
+case 5567: { // glVertexAttribI3iv
GLuint *index = (GLuint *) bp; bp += 4;
GLint *v = (GLint *) bp; bp += 4;
weglVertexAttribI3iv(*index,v);
-}; break;
-case 5568: { // glVertexAttribI4iv
+}; break;
+case 5568: { // glVertexAttribI4iv
GLuint *index = (GLuint *) bp; bp += 4;
GLint * v = (GLint *) bp; bp += 16;
weglVertexAttribI4iv(*index,v);
-}; break;
-case 5569: { // glVertexAttribI1uiv
+}; break;
+case 5569: { // glVertexAttribI1uiv
GLuint *index = (GLuint *) bp; bp += 4;
GLuint *v = (GLuint *) bp; bp += 4;
weglVertexAttribI1uiv(*index,v);
-}; break;
-case 5570: { // glVertexAttribI2uiv
+}; break;
+case 5570: { // glVertexAttribI2uiv
GLuint *index = (GLuint *) bp; bp += 4;
GLuint *v = (GLuint *) bp; bp += 4;
weglVertexAttribI2uiv(*index,v);
-}; break;
-case 5571: { // glVertexAttribI3uiv
+}; break;
+case 5571: { // glVertexAttribI3uiv
GLuint *index = (GLuint *) bp; bp += 4;
GLuint *v = (GLuint *) bp; bp += 4;
weglVertexAttribI3uiv(*index,v);
-}; break;
-case 5572: { // glVertexAttribI4uiv
+}; break;
+case 5572: { // glVertexAttribI4uiv
GLuint *index = (GLuint *) bp; bp += 4;
GLuint * v = (GLuint *) bp; bp += 16;
weglVertexAttribI4uiv(*index,v);
-}; break;
-case 5573: { // glVertexAttribI4bv
+}; break;
+case 5573: { // glVertexAttribI4bv
GLuint *index = (GLuint *) bp; bp += 4;
GLbyte * v = (GLbyte *) bp; bp += 4;
weglVertexAttribI4bv(*index,v);
-}; break;
-case 5574: { // glVertexAttribI4sv
+}; break;
+case 5574: { // glVertexAttribI4sv
GLuint *index = (GLuint *) bp; bp += 4;
GLshort * v = (GLshort *) bp; bp += 8;
weglVertexAttribI4sv(*index,v);
-}; break;
-case 5575: { // glVertexAttribI4ubv
+}; break;
+case 5575: { // glVertexAttribI4ubv
GLuint *index = (GLuint *) bp; bp += 4;
GLubyte * v = (GLubyte *) bp; bp += 4;
weglVertexAttribI4ubv(*index,v);
-}; break;
-case 5576: { // glVertexAttribI4usv
+}; break;
+case 5576: { // glVertexAttribI4usv
GLuint *index = (GLuint *) bp; bp += 4;
GLushort * v = (GLushort *) bp; bp += 8;
weglVertexAttribI4usv(*index,v);
-}; break;
-case 5577: { // glDrawArraysInstanced
+}; break;
+case 5577: { // glDrawArraysInstanced
GLenum *mode = (GLenum *) bp; bp += 4;
GLint *first = (GLint *) bp; bp += 4;
GLsizei *count = (GLsizei *) bp; bp += 4;
GLsizei *primcount = (GLsizei *) bp; bp += 4;
weglDrawArraysInstanced(*mode,*first,*count,*primcount);
-}; break;
-case 5578: { // glDrawElementsInstanced
+}; break;
+case 5578: { // glDrawElementsInstanced
GLenum *mode = (GLenum *) bp; bp += 4;
GLsizei *count = (GLsizei *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *indices = (GLvoid *) * (int *) bp; bp += 4;
GLsizei *primcount = (GLsizei *) bp; bp += 4;
weglDrawElementsInstanced(*mode,*count,*type,indices,*primcount);
-}; break;
-case 5579: { // glDrawElementsInstanced
+}; break;
+case 5579: { // glDrawElementsInstanced
GLenum *mode = (GLenum *) bp; bp += 4;
GLsizei *count = (GLsizei *) bp; bp += 4;
GLenum *type = (GLenum *) bp; bp += 4;
GLvoid *indices = (GLvoid *) bins[0]->base;
GLsizei *primcount = (GLsizei *) bp; bp += 4;
weglDrawElementsInstanced(*mode,*count,*type,indices,*primcount);
-}; break;
-case 5580: { // glTexBuffer
+}; break;
+case 5580: { // glTexBuffer
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLuint *buffer = (GLuint *) bp; bp += 4;
weglTexBuffer(*target,*internalformat,*buffer);
-}; break;
-case 5581: { // glPrimitiveRestartIndex
+}; break;
+case 5581: { // glPrimitiveRestartIndex
GLuint *index = (GLuint *) bp; bp += 4;
weglPrimitiveRestartIndex(*index);
-}; break;
-case 5582: { // glLoadTransposeMatrixfARB
+}; break;
+case 5582: { // glLoadTransposeMatrixfARB
GLfloat * m = (GLfloat *) bp; bp += 64;
weglLoadTransposeMatrixfARB(m);
-}; break;
-case 5583: { // glLoadTransposeMatrixdARB
+}; break;
+case 5583: { // glLoadTransposeMatrixdARB
GLdouble * m = (GLdouble *) bp; bp += 128;
weglLoadTransposeMatrixdARB(m);
-}; break;
-case 5584: { // glMultTransposeMatrixfARB
+}; break;
+case 5584: { // glMultTransposeMatrixfARB
GLfloat * m = (GLfloat *) bp; bp += 64;
weglMultTransposeMatrixfARB(m);
-}; break;
-case 5585: { // glMultTransposeMatrixdARB
+}; break;
+case 5585: { // glMultTransposeMatrixdARB
GLdouble * m = (GLdouble *) bp; bp += 128;
weglMultTransposeMatrixdARB(m);
-}; break;
-case 5586: { // glWeightbvARB
+}; break;
+case 5586: { // glWeightbvARB
int * weightsLen = (int *) bp; bp += 4;
GLbyte * weights = (GLbyte *) bp; bp += (8-((*weightsLen*1+4)%8))%8;
weglWeightbvARB(*weightsLen,weights);
-}; break;
-case 5587: { // glWeightsvARB
+}; break;
+case 5587: { // glWeightsvARB
int * weightsLen = (int *) bp; bp += 4;
GLshort * weights = (GLshort *) bp; bp += (8-((*weightsLen*2+4)%8))%8;
weglWeightsvARB(*weightsLen,weights);
-}; break;
-case 5588: { // glWeightivARB
+}; break;
+case 5588: { // glWeightivARB
int * weightsLen = (int *) bp; bp += 4;
GLint * weights = (GLint *) bp; bp += (8-((*weightsLen*4+4)%8))%8;
weglWeightivARB(*weightsLen,weights);
-}; break;
-case 5589: { // glWeightfvARB
+}; break;
+case 5589: { // glWeightfvARB
int * weightsLen = (int *) bp; bp += 4;
GLfloat * weights = (GLfloat *) bp; bp += (8-((*weightsLen*4+4)%8))%8;
weglWeightfvARB(*weightsLen,weights);
-}; break;
-case 5590: { // glWeightdvARB
+}; break;
+case 5590: { // glWeightdvARB
int * weightsLen = (int *) bp; bp += 8;
GLdouble * weights = (GLdouble *) bp; bp += (8-((*weightsLen*8+0)%8))%8;
weglWeightdvARB(*weightsLen,weights);
-}; break;
-case 5591: { // glWeightubvARB
+}; break;
+case 5591: { // glWeightubvARB
int * weightsLen = (int *) bp; bp += 4;
GLubyte * weights = (GLubyte *) bp; bp += (8-((*weightsLen*1+4)%8))%8;
weglWeightubvARB(*weightsLen,weights);
-}; break;
-case 5592: { // glWeightusvARB
+}; break;
+case 5592: { // glWeightusvARB
int * weightsLen = (int *) bp; bp += 4;
GLushort * weights = (GLushort *) bp; bp += (8-((*weightsLen*2+4)%8))%8;
weglWeightusvARB(*weightsLen,weights);
-}; break;
-case 5593: { // glWeightuivARB
+}; break;
+case 5593: { // glWeightuivARB
int * weightsLen = (int *) bp; bp += 4;
GLuint * weights = (GLuint *) bp; bp += (8-((*weightsLen*4+4)%8))%8;
weglWeightuivARB(*weightsLen,weights);
-}; break;
-case 5594: { // glVertexBlendARB
+}; break;
+case 5594: { // glVertexBlendARB
GLint *count = (GLint *) bp; bp += 4;
weglVertexBlendARB(*count);
-}; break;
-case 5595: { // glCurrentPaletteMatrixARB
+}; break;
+case 5595: { // glCurrentPaletteMatrixARB
GLint *index = (GLint *) bp; bp += 4;
weglCurrentPaletteMatrixARB(*index);
-}; break;
-case 5596: { // glMatrixIndexubvARB
+}; break;
+case 5596: { // glMatrixIndexubvARB
int * indicesLen = (int *) bp; bp += 4;
GLubyte * indices = (GLubyte *) bp; bp += (8-((*indicesLen*1+4)%8))%8;
weglMatrixIndexubvARB(*indicesLen,indices);
-}; break;
-case 5597: { // glMatrixIndexusvARB
+}; break;
+case 5597: { // glMatrixIndexusvARB
int * indicesLen = (int *) bp; bp += 4;
GLushort * indices = (GLushort *) bp; bp += (8-((*indicesLen*2+4)%8))%8;
weglMatrixIndexusvARB(*indicesLen,indices);
-}; break;
-case 5598: { // glMatrixIndexuivARB
+}; break;
+case 5598: { // glMatrixIndexuivARB
int * indicesLen = (int *) bp; bp += 4;
GLuint * indices = (GLuint *) bp; bp += (8-((*indicesLen*4+4)%8))%8;
weglMatrixIndexuivARB(*indicesLen,indices);
-}; break;
-case 5599: { // glProgramStringARB
+}; break;
+case 5599: { // glProgramStringARB
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *format = (GLenum *) bp; bp += 4;
GLvoid *string = (GLvoid *) bp;
int stringLen = strlen((char *)string); bp += stringLen+1+((8-((1+stringLen+0)%8))%8);
weglProgramStringARB(*target,*format,stringLen,string);
-}; break;
-case 5600: { // glBindProgramARB
+}; break;
+case 5600: { // glBindProgramARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *program = (GLuint *) bp; bp += 4;
weglBindProgramARB(*target,*program);
-}; break;
-case 5601: { // glDeleteProgramsARB
+}; break;
+case 5601: { // glDeleteProgramsARB
int * programsLen = (int *) bp; bp += 4;
GLuint * programs = (GLuint *) bp; bp += (8-((*programsLen*4+4)%8))%8;
weglDeleteProgramsARB(*programsLen,programs);
-}; break;
-case 5602: { // glGenProgramsARB
+}; break;
+case 5602: { // glGenProgramsARB
GLsizei *n = (GLsizei *) bp; bp += 4;
GLuint *programs;
programs = (GLuint *) driver_alloc(sizeof(GLuint) * *n);
@@ -4587,10 +4587,10 @@ case 5602: { // glGenProgramsARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*n)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*n)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(programs);
-}; break;
-case 5603: { // glProgramEnvParameter4dARB
+}; break;
+case 5603: { // glProgramEnvParameter4dARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLdouble *x = (GLdouble *) bp; bp += 8;
@@ -4598,14 +4598,14 @@ case 5603: { // glProgramEnvParameter4dARB
GLdouble *z = (GLdouble *) bp; bp += 8;
GLdouble *w = (GLdouble *) bp; bp += 8;
weglProgramEnvParameter4dARB(*target,*index,*x,*y,*z,*w);
-}; break;
-case 5604: { // glProgramEnvParameter4dvARB
+}; break;
+case 5604: { // glProgramEnvParameter4dvARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLdouble * params = (GLdouble *) bp; bp += 32;
weglProgramEnvParameter4dvARB(*target,*index,params);
-}; break;
-case 5605: { // glProgramEnvParameter4fARB
+}; break;
+case 5605: { // glProgramEnvParameter4fARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLfloat *x = (GLfloat *) bp; bp += 4;
@@ -4613,14 +4613,14 @@ case 5605: { // glProgramEnvParameter4fARB
GLfloat *z = (GLfloat *) bp; bp += 4;
GLfloat *w = (GLfloat *) bp; bp += 4;
weglProgramEnvParameter4fARB(*target,*index,*x,*y,*z,*w);
-}; break;
-case 5606: { // glProgramEnvParameter4fvARB
+}; break;
+case 5606: { // glProgramEnvParameter4fvARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLfloat * params = (GLfloat *) bp; bp += 16;
weglProgramEnvParameter4fvARB(*target,*index,params);
-}; break;
-case 5607: { // glProgramLocalParameter4dARB
+}; break;
+case 5607: { // glProgramLocalParameter4dARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLdouble *x = (GLdouble *) bp; bp += 8;
@@ -4628,14 +4628,14 @@ case 5607: { // glProgramLocalParameter4dARB
GLdouble *z = (GLdouble *) bp; bp += 8;
GLdouble *w = (GLdouble *) bp; bp += 8;
weglProgramLocalParameter4dARB(*target,*index,*x,*y,*z,*w);
-}; break;
-case 5608: { // glProgramLocalParameter4dvARB
+}; break;
+case 5608: { // glProgramLocalParameter4dvARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLdouble * params = (GLdouble *) bp; bp += 32;
weglProgramLocalParameter4dvARB(*target,*index,params);
-}; break;
-case 5609: { // glProgramLocalParameter4fARB
+}; break;
+case 5609: { // glProgramLocalParameter4fARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLfloat *x = (GLfloat *) bp; bp += 4;
@@ -4643,14 +4643,14 @@ case 5609: { // glProgramLocalParameter4fARB
GLfloat *z = (GLfloat *) bp; bp += 4;
GLfloat *w = (GLfloat *) bp; bp += 4;
weglProgramLocalParameter4fARB(*target,*index,*x,*y,*z,*w);
-}; break;
-case 5610: { // glProgramLocalParameter4fvARB
+}; break;
+case 5610: { // glProgramLocalParameter4fvARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLfloat * params = (GLfloat *) bp; bp += 16;
weglProgramLocalParameter4fvARB(*target,*index,params);
-}; break;
-case 5611: { // glGetProgramEnvParameterdvARB
+}; break;
+case 5611: { // glGetProgramEnvParameterdvARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLdouble params[4] = {0.0,0.0,0.0,0.0};
@@ -4666,8 +4666,8 @@ case 5611: { // glGetProgramEnvParameterdvARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5612: { // glGetProgramEnvParameterfvARB
+}; break;
+case 5612: { // glGetProgramEnvParameterfvARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLfloat params[4] = {0.0,0.0,0.0,0.0};
@@ -4684,8 +4684,8 @@ case 5612: { // glGetProgramEnvParameterfvARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5613: { // glGetProgramLocalParameterdvARB
+}; break;
+case 5613: { // glGetProgramLocalParameterdvARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLdouble params[4] = {0.0,0.0,0.0,0.0};
@@ -4701,8 +4701,8 @@ case 5613: { // glGetProgramLocalParameterdvARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5614: { // glGetProgramLocalParameterfvARB
+}; break;
+case 5614: { // glGetProgramLocalParameterfvARB
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLfloat params[4] = {0.0,0.0,0.0,0.0};
@@ -4719,8 +4719,8 @@ case 5614: { // glGetProgramLocalParameterfvARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 14 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,14);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5615: { // glGetProgramStringARB
+}; break;
+case 5615: { // glGetProgramStringARB
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLvoid *string = (GLvoid *) bins[0]->base;
@@ -4730,12 +4730,12 @@ case 5615: { // glGetProgramStringARB
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5616: { // glDeleteObjectARB
+}; break;
+case 5616: { // glDeleteObjectARB
GLhandleARB obj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
weglDeleteObjectARB(obj);
-}; break;
-case 5617: { // glGetHandleARB
+}; break;
+case 5617: { // glGetHandleARB
GLenum *pname = (GLenum *) bp; bp += 4;
GLhandleARB result = weglGetHandleARB(*pname);
int AP = 0; ErlDrvTermData rt[6];
@@ -4744,13 +4744,13 @@ case 5617: { // glGetHandleARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5618: { // glDetachObjectARB
+}; break;
+case 5618: { // glDetachObjectARB
GLhandleARB containerObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLhandleARB attachedObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
weglDetachObjectARB(containerObj,attachedObj);
-}; break;
-case 5619: { // glCreateShaderObjectARB
+}; break;
+case 5619: { // glCreateShaderObjectARB
GLenum *shaderType = (GLenum *) bp; bp += 4;
GLhandleARB result = weglCreateShaderObjectARB(*shaderType);
int AP = 0; ErlDrvTermData rt[6];
@@ -4759,24 +4759,24 @@ case 5619: { // glCreateShaderObjectARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5620: { // glShaderSourceARB
+}; break;
+case 5620: { // glShaderSourceARB
GLhandleARB shaderObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
int * stringLen = (int *) bp; bp += 4;
int * stringTotSize = (int *) bp; bp += 4;
GLchar **string;
- string = (GLchar **) driver_alloc(sizeof(GLchar *) * *stringLen);
+ string = (GLchar **) driver_alloc(sizeof(GLchar *) * *stringLen);
for(int i=0;i<*stringLen;i++) {
string[i] = (GLchar *) bp; bp += 1+strlen(bp);};
bp += (8 - ((4 + *stringTotSize) % 8)) % 8;
weglShaderSourceARB(shaderObj,*stringLen,(const GLchar **) string,NULL);
driver_free(string);
-}; break;
-case 5621: { // glCompileShaderARB
+}; break;
+case 5621: { // glCompileShaderARB
GLhandleARB shaderObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
weglCompileShaderARB(shaderObj);
-}; break;
-case 5622: { // glCreateProgramObjectARB
+}; break;
+case 5622: { // glCreateProgramObjectARB
GLhandleARB result = weglCreateProgramObjectARB();
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_wxe_result_");
@@ -4784,25 +4784,25 @@ case 5622: { // glCreateProgramObjectARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5623: { // glAttachObjectARB
+}; break;
+case 5623: { // glAttachObjectARB
GLhandleARB containerObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLhandleARB obj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
weglAttachObjectARB(containerObj,obj);
-}; break;
-case 5624: { // glLinkProgramARB
+}; break;
+case 5624: { // glLinkProgramARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
weglLinkProgramARB(programObj);
-}; break;
-case 5625: { // glUseProgramObjectARB
+}; break;
+case 5625: { // glUseProgramObjectARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
weglUseProgramObjectARB(programObj);
-}; break;
-case 5626: { // glValidateProgramARB
+}; break;
+case 5626: { // glValidateProgramARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
weglValidateProgramARB(programObj);
-}; break;
-case 5627: { // glGetObjectParameterfvARB
+}; break;
+case 5627: { // glGetObjectParameterfvARB
GLhandleARB obj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLenum *pname = (GLenum *) bp; bp += 4;
GLfloat params[1] = {0.0};
@@ -4814,8 +4814,8 @@ case 5627: { // glGetObjectParameterfvARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5628: { // glGetObjectParameterivARB
+}; break;
+case 5628: { // glGetObjectParameterivARB
GLhandleARB obj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[1] = {0};
@@ -4826,8 +4826,8 @@ case 5628: { // glGetObjectParameterivARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5629: { // glGetInfoLogARB
+}; break;
+case 5629: { // glGetInfoLogARB
GLhandleARB obj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLsizei *maxLength = (GLsizei *) bp; bp += 4;
GLsizei length[1] = {0};
@@ -4841,8 +4841,8 @@ case 5629: { // glGetInfoLogARB
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(infoLog);
-}; break;
-case 5630: { // glGetAttachedObjectsARB
+}; break;
+case 5630: { // glGetAttachedObjectsARB
GLhandleARB containerObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLsizei *maxCount = (GLsizei *) bp; bp += 4;
GLsizei count[1] = {0};
@@ -4858,10 +4858,10 @@ case 5630: { // glGetAttachedObjectsARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*count)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*count)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(obj);
-}; break;
-case 5631: { // glGetUniformLocationARB
+}; break;
+case 5631: { // glGetUniformLocationARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLchar *name = (GLchar *) bp;
int nameLen = strlen((char *)name); bp += nameLen+1+((8-((1+nameLen+0)%8))%8);
@@ -4872,8 +4872,8 @@ case 5631: { // glGetUniformLocationARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5632: { // glGetActiveUniformARB
+}; break;
+case 5632: { // glGetActiveUniformARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLuint *index = (GLuint *) bp; bp += 4;
GLsizei *maxLength = (GLsizei *) bp; bp += 4;
@@ -4893,8 +4893,8 @@ case 5632: { // glGetActiveUniformARB
if (AP != 13 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,13);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(name);
-}; break;
-case 5633: { // glGetUniformfvARB
+}; break;
+case 5633: { // glGetUniformfvARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLint *location = (GLint *) bp; bp += 4;
GLfloat params[16] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
@@ -4923,8 +4923,8 @@ case 5633: { // glGetUniformfvARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 38 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,38);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5634: { // glGetUniformivARB
+}; break;
+case 5634: { // glGetUniformivARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLint *location = (GLint *) bp; bp += 4;
GLint params[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
@@ -4952,8 +4952,8 @@ case 5634: { // glGetUniformivARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 38 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,38);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5635: { // glGetShaderSourceARB
+}; break;
+case 5635: { // glGetShaderSourceARB
GLhandleARB obj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLsizei *maxLength = (GLsizei *) bp; bp += 4;
GLsizei length[1] = {0};
@@ -4967,15 +4967,15 @@ case 5635: { // glGetShaderSourceARB
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(source);
-}; break;
-case 5636: { // glBindAttribLocationARB
+}; break;
+case 5636: { // glBindAttribLocationARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLuint *index = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
int nameLen = strlen((char *)name); bp += nameLen+1+((8-((1+nameLen+4)%8))%8);
weglBindAttribLocationARB(programObj,*index,name);
-}; break;
-case 5637: { // glGetActiveAttribARB
+}; break;
+case 5637: { // glGetActiveAttribARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLuint *index = (GLuint *) bp; bp += 4;
GLsizei *maxLength = (GLsizei *) bp; bp += 4;
@@ -4995,8 +4995,8 @@ case 5637: { // glGetActiveAttribARB
if (AP != 13 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,13);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(name);
-}; break;
-case 5638: { // glGetAttribLocationARB
+}; break;
+case 5638: { // glGetAttribLocationARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLchar *name = (GLchar *) bp;
int nameLen = strlen((char *)name); bp += nameLen+1+((8-((1+nameLen+0)%8))%8);
@@ -5007,8 +5007,8 @@ case 5638: { // glGetAttribLocationARB
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5639: { // glIsRenderbuffer
+}; break;
+case 5639: { // glIsRenderbuffer
GLuint *renderbuffer = (GLuint *) bp; bp += 4;
GLboolean result = weglIsRenderbuffer(*renderbuffer);
int AP = 0; ErlDrvTermData rt[6];
@@ -5017,18 +5017,18 @@ case 5639: { // glIsRenderbuffer
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5640: { // glBindRenderbuffer
+}; break;
+case 5640: { // glBindRenderbuffer
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *renderbuffer = (GLuint *) bp; bp += 4;
weglBindRenderbuffer(*target,*renderbuffer);
-}; break;
-case 5641: { // glDeleteRenderbuffers
+}; break;
+case 5641: { // glDeleteRenderbuffers
int * renderbuffersLen = (int *) bp; bp += 4;
GLuint * renderbuffers = (GLuint *) bp; bp += (8-((*renderbuffersLen*4+4)%8))%8;
weglDeleteRenderbuffers(*renderbuffersLen,renderbuffers);
-}; break;
-case 5642: { // glGenRenderbuffers
+}; break;
+case 5642: { // glGenRenderbuffers
GLsizei *n = (GLsizei *) bp; bp += 4;
GLuint *renderbuffers;
renderbuffers = (GLuint *) driver_alloc(sizeof(GLuint) * *n);
@@ -5042,17 +5042,17 @@ case 5642: { // glGenRenderbuffers
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*n)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*n)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(renderbuffers);
-}; break;
-case 5643: { // glRenderbufferStorage
+}; break;
+case 5643: { // glRenderbufferStorage
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
weglRenderbufferStorage(*target,*internalformat,*width,*height);
-}; break;
-case 5644: { // glGetRenderbufferParameteriv
+}; break;
+case 5644: { // glGetRenderbufferParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[1] = {0};
@@ -5063,8 +5063,8 @@ case 5644: { // glGetRenderbufferParameteriv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5645: { // glIsFramebuffer
+}; break;
+case 5645: { // glIsFramebuffer
GLuint *framebuffer = (GLuint *) bp; bp += 4;
GLboolean result = weglIsFramebuffer(*framebuffer);
int AP = 0; ErlDrvTermData rt[6];
@@ -5073,18 +5073,18 @@ case 5645: { // glIsFramebuffer
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5646: { // glBindFramebuffer
+}; break;
+case 5646: { // glBindFramebuffer
GLenum *target = (GLenum *) bp; bp += 4;
GLuint *framebuffer = (GLuint *) bp; bp += 4;
weglBindFramebuffer(*target,*framebuffer);
-}; break;
-case 5647: { // glDeleteFramebuffers
+}; break;
+case 5647: { // glDeleteFramebuffers
int * framebuffersLen = (int *) bp; bp += 4;
GLuint * framebuffers = (GLuint *) bp; bp += (8-((*framebuffersLen*4+4)%8))%8;
weglDeleteFramebuffers(*framebuffersLen,framebuffers);
-}; break;
-case 5648: { // glGenFramebuffers
+}; break;
+case 5648: { // glGenFramebuffers
GLsizei *n = (GLsizei *) bp; bp += 4;
GLuint *framebuffers;
framebuffers = (GLuint *) driver_alloc(sizeof(GLuint) * *n);
@@ -5098,10 +5098,10 @@ case 5648: { // glGenFramebuffers
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*n)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*n)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(framebuffers);
-}; break;
-case 5649: { // glCheckFramebufferStatus
+}; break;
+case 5649: { // glCheckFramebufferStatus
GLenum *target = (GLenum *) bp; bp += 4;
GLenum result = weglCheckFramebufferStatus(*target);
int AP = 0; ErlDrvTermData rt[6];
@@ -5110,24 +5110,24 @@ case 5649: { // glCheckFramebufferStatus
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5650: { // glFramebufferTexture1D
+}; break;
+case 5650: { // glFramebufferTexture1D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *attachment = (GLenum *) bp; bp += 4;
GLenum *textarget = (GLenum *) bp; bp += 4;
GLuint *texture = (GLuint *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
weglFramebufferTexture1D(*target,*attachment,*textarget,*texture,*level);
-}; break;
-case 5651: { // glFramebufferTexture2D
+}; break;
+case 5651: { // glFramebufferTexture2D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *attachment = (GLenum *) bp; bp += 4;
GLenum *textarget = (GLenum *) bp; bp += 4;
GLuint *texture = (GLuint *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
weglFramebufferTexture2D(*target,*attachment,*textarget,*texture,*level);
-}; break;
-case 5652: { // glFramebufferTexture3D
+}; break;
+case 5652: { // glFramebufferTexture3D
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *attachment = (GLenum *) bp; bp += 4;
GLenum *textarget = (GLenum *) bp; bp += 4;
@@ -5135,15 +5135,15 @@ case 5652: { // glFramebufferTexture3D
GLint *level = (GLint *) bp; bp += 4;
GLint *zoffset = (GLint *) bp; bp += 4;
weglFramebufferTexture3D(*target,*attachment,*textarget,*texture,*level,*zoffset);
-}; break;
-case 5653: { // glFramebufferRenderbuffer
+}; break;
+case 5653: { // glFramebufferRenderbuffer
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *attachment = (GLenum *) bp; bp += 4;
GLenum *renderbuffertarget = (GLenum *) bp; bp += 4;
GLuint *renderbuffer = (GLuint *) bp; bp += 4;
weglFramebufferRenderbuffer(*target,*attachment,*renderbuffertarget,*renderbuffer);
-}; break;
-case 5654: { // glGetFramebufferAttachmentParameteriv
+}; break;
+case 5654: { // glGetFramebufferAttachmentParameteriv
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *attachment = (GLenum *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
@@ -5155,12 +5155,12 @@ case 5654: { // glGetFramebufferAttachmentParameteriv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5655: { // glGenerateMipmap
+}; break;
+case 5655: { // glGenerateMipmap
GLenum *target = (GLenum *) bp; bp += 4;
weglGenerateMipmap(*target);
-}; break;
-case 5656: { // glBlitFramebuffer
+}; break;
+case 5656: { // glBlitFramebuffer
GLint *srcX0 = (GLint *) bp; bp += 4;
GLint *srcY0 = (GLint *) bp; bp += 4;
GLint *srcX1 = (GLint *) bp; bp += 4;
@@ -5172,66 +5172,66 @@ case 5656: { // glBlitFramebuffer
GLbitfield *mask = (GLbitfield *) bp; bp += 4;
GLenum *filter = (GLenum *) bp; bp += 4;
weglBlitFramebuffer(*srcX0,*srcY0,*srcX1,*srcY1,*dstX0,*dstY0,*dstX1,*dstY1,*mask,*filter);
-}; break;
-case 5657: { // glRenderbufferStorageMultisample
+}; break;
+case 5657: { // glRenderbufferStorageMultisample
GLenum *target = (GLenum *) bp; bp += 4;
GLsizei *samples = (GLsizei *) bp; bp += 4;
GLenum *internalformat = (GLenum *) bp; bp += 4;
GLsizei *width = (GLsizei *) bp; bp += 4;
GLsizei *height = (GLsizei *) bp; bp += 4;
weglRenderbufferStorageMultisample(*target,*samples,*internalformat,*width,*height);
-}; break;
-case 5658: { // glFramebufferTextureLayer
+}; break;
+case 5658: { // glFramebufferTextureLayer
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *attachment = (GLenum *) bp; bp += 4;
GLuint *texture = (GLuint *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLint *layer = (GLint *) bp; bp += 4;
weglFramebufferTextureLayer(*target,*attachment,*texture,*level,*layer);
-}; break;
-case 5659: { // glProgramParameteriARB
+}; break;
+case 5659: { // glProgramParameteriARB
GLuint *program = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
GLint *value = (GLint *) bp; bp += 4;
weglProgramParameteriARB(*program,*pname,*value);
-}; break;
-case 5660: { // glFramebufferTextureARB
+}; break;
+case 5660: { // glFramebufferTextureARB
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *attachment = (GLenum *) bp; bp += 4;
GLuint *texture = (GLuint *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
weglFramebufferTextureARB(*target,*attachment,*texture,*level);
-}; break;
-case 5661: { // glFramebufferTextureFaceARB
+}; break;
+case 5661: { // glFramebufferTextureFaceARB
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *attachment = (GLenum *) bp; bp += 4;
GLuint *texture = (GLuint *) bp; bp += 4;
GLint *level = (GLint *) bp; bp += 4;
GLenum *face = (GLenum *) bp; bp += 4;
weglFramebufferTextureFaceARB(*target,*attachment,*texture,*level,*face);
-}; break;
-case 5662: { // glVertexAttribDivisorARB
+}; break;
+case 5662: { // glVertexAttribDivisorARB
GLuint *index = (GLuint *) bp; bp += 4;
GLuint *divisor = (GLuint *) bp; bp += 4;
weglVertexAttribDivisorARB(*index,*divisor);
-}; break;
-case 5663: { // glFlushMappedBufferRange
+}; break;
+case 5663: { // glFlushMappedBufferRange
GLenum *target = (GLenum *) bp; bp += 4;
bp += 4;
GLintptr offset = (GLintptr) * (GLuint64EXT *) bp; bp += 8;
GLsizeiptr length = (GLsizeiptr) * (GLuint64EXT *) bp; bp += 8;
weglFlushMappedBufferRange(*target,offset,length);
-}; break;
-case 5664: { // glBindVertexArray
+}; break;
+case 5664: { // glBindVertexArray
GLuint *array = (GLuint *) bp; bp += 4;
weglBindVertexArray(*array);
-}; break;
-case 5665: { // glDeleteVertexArrays
+}; break;
+case 5665: { // glDeleteVertexArrays
int * arraysLen = (int *) bp; bp += 4;
GLuint * arrays = (GLuint *) bp; bp += (8-((*arraysLen*4+4)%8))%8;
weglDeleteVertexArrays(*arraysLen,arrays);
-}; break;
-case 5666: { // glGenVertexArrays
+}; break;
+case 5666: { // glGenVertexArrays
GLsizei *n = (GLsizei *) bp; bp += 4;
GLuint *arrays;
arrays = (GLuint *) driver_alloc(sizeof(GLuint) * *n);
@@ -5245,10 +5245,10 @@ case 5666: { // glGenVertexArrays
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*n)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*n)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(arrays);
-}; break;
-case 5667: { // glIsVertexArray
+}; break;
+case 5667: { // glIsVertexArray
GLuint *array = (GLuint *) bp; bp += 4;
GLboolean result = weglIsVertexArray(*array);
int AP = 0; ErlDrvTermData rt[6];
@@ -5257,13 +5257,13 @@ case 5667: { // glIsVertexArray
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5668: { // glGetUniformIndices
+}; break;
+case 5668: { // glGetUniformIndices
GLuint *program = (GLuint *) bp; bp += 4;
int * uniformNamesLen = (int *) bp; bp += 4;
int * uniformNamesTotSize = (int *) bp; bp += 4;
GLchar **uniformNames;
- uniformNames = (GLchar **) driver_alloc(sizeof(GLchar *) * *uniformNamesLen);
+ uniformNames = (GLchar **) driver_alloc(sizeof(GLchar *) * *uniformNamesLen);
for(int i=0;i<*uniformNamesLen;i++) {
uniformNames[i] = (GLchar *) bp; bp += 1+strlen(bp);};
bp += (8 - ((0 + *uniformNamesTotSize) % 8)) % 8;
@@ -5279,11 +5279,11 @@ case 5668: { // glGetUniformIndices
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*uniformNamesLen)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*uniformNamesLen)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(uniformIndices);
driver_free(uniformNames);
-}; break;
-case 5669: { // glGetActiveUniformsiv
+}; break;
+case 5669: { // glGetActiveUniformsiv
GLuint *program = (GLuint *) bp; bp += 4;
int * uniformIndicesLen = (int *) bp; bp += 4;
GLuint * uniformIndices = (GLuint *) bp; bp += (8-((*uniformIndicesLen*4+0)%8))%8;
@@ -5300,10 +5300,10 @@ case 5669: { // glGetActiveUniformsiv
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 7 + (*uniformIndicesLen)*2 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7 + (*uniformIndicesLen)*2);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
- driver_free(rt);
+ driver_free(rt);
driver_free(params);
-}; break;
-case 5670: { // glGetActiveUniformName
+}; break;
+case 5670: { // glGetActiveUniformName
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *uniformIndex = (GLuint *) bp; bp += 4;
GLsizei *bufSize = (GLsizei *) bp; bp += 4;
@@ -5318,8 +5318,8 @@ case 5670: { // glGetActiveUniformName
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(uniformName);
-}; break;
-case 5671: { // glGetUniformBlockIndex
+}; break;
+case 5671: { // glGetUniformBlockIndex
GLuint *program = (GLuint *) bp; bp += 4;
GLchar *uniformBlockName = (GLchar *) bp;
int uniformBlockNameLen = strlen((char *)uniformBlockName); bp += uniformBlockNameLen+1+((8-((1+uniformBlockNameLen+4)%8))%8);
@@ -5330,8 +5330,8 @@ case 5671: { // glGetUniformBlockIndex
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
if (AP != 6 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,6);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5672: { // glGetActiveUniformBlockiv
+}; break;
+case 5672: { // glGetActiveUniformBlockiv
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *uniformBlockIndex = (GLuint *) bp; bp += 4;
GLenum *pname = (GLenum *) bp; bp += 4;
@@ -5342,8 +5342,8 @@ case 5672: { // glGetActiveUniformBlockiv
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "ok");
rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = 2;
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
-}; break;
-case 5673: { // glGetActiveUniformBlockName
+}; break;
+case 5673: { // glGetActiveUniformBlockName
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *uniformBlockIndex = (GLuint *) bp; bp += 4;
GLsizei *bufSize = (GLsizei *) bp; bp += 4;
@@ -5358,49 +5358,49 @@ case 5673: { // glGetActiveUniformBlockName
if (AP != 7 ) fprintf(stderr, "%d: ERROR AP mismatch %d %d\r\n",__LINE__,AP,7);
driver_send_term(WXE_DRV_PORT,caller,rt,AP);
driver_free(uniformBlockName);
-}; break;
-case 5674: { // glUniformBlockBinding
+}; break;
+case 5674: { // glUniformBlockBinding
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *uniformBlockIndex = (GLuint *) bp; bp += 4;
GLuint *uniformBlockBinding = (GLuint *) bp; bp += 4;
weglUniformBlockBinding(*program,*uniformBlockIndex,*uniformBlockBinding);
-}; break;
-case 5675: { // glCopyBufferSubData
+}; break;
+case 5675: { // glCopyBufferSubData
GLenum *readTarget = (GLenum *) bp; bp += 4;
GLenum *writeTarget = (GLenum *) bp; bp += 4;
GLintptr readOffset = (GLintptr) * (GLuint64EXT *) bp; bp += 8;
GLintptr writeOffset = (GLintptr) * (GLuint64EXT *) bp; bp += 8;
GLsizeiptr size = (GLsizeiptr) * (GLuint64EXT *) bp; bp += 8;
weglCopyBufferSubData(*readTarget,*writeTarget,readOffset,writeOffset,size);
-}; break;
-case 5676: { // glResizeBuffersMESA
+}; break;
+case 5676: { // glResizeBuffersMESA
weglResizeBuffersMESA();
-}; break;
-case 5677: { // glWindowPos4dvMESA
+}; break;
+case 5677: { // glWindowPos4dvMESA
GLdouble *v = (GLdouble *) bp; bp += 8;
weglWindowPos4dvMESA(v);
-}; break;
-case 5678: { // glWindowPos4fvMESA
+}; break;
+case 5678: { // glWindowPos4fvMESA
GLfloat *v = (GLfloat *) bp; bp += 4;
weglWindowPos4fvMESA(v);
-}; break;
-case 5679: { // glWindowPos4ivMESA
+}; break;
+case 5679: { // glWindowPos4ivMESA
GLint *v = (GLint *) bp; bp += 4;
weglWindowPos4ivMESA(v);
-}; break;
-case 5680: { // glWindowPos4svMESA
+}; break;
+case 5680: { // glWindowPos4svMESA
GLshort *v = (GLshort *) bp; bp += 2;
weglWindowPos4svMESA(v);
-}; break;
-case 5681: { // glDepthBoundsEXT
+}; break;
+case 5681: { // glDepthBoundsEXT
GLclampd *zmin = (GLclampd *) bp; bp += 8;
GLclampd *zmax = (GLclampd *) bp; bp += 8;
weglDepthBoundsEXT(*zmin,*zmax);
-}; break;
-case 5682: { // glStencilClearTagEXT
+}; break;
+case 5682: { // glStencilClearTagEXT
GLsizei *stencilTagBits = (GLsizei *) bp; bp += 4;
GLuint *stencilClearTag = (GLuint *) bp; bp += 4;
weglStencilClearTagEXT(*stencilTagBits,*stencilClearTag);
-}; break;
+}; break;
}} /* The End */
diff --git a/lib/wx/c_src/gen/glu_finit.h b/lib/wx/c_src/gen/glu_finit.h
index 2f0e2d15e4..63e9c2fc78 100644
--- a/lib/wx/c_src/gen/glu_finit.h
+++ b/lib/wx/c_src/gen/glu_finit.h
@@ -16,7 +16,7 @@
*
* %CopyrightEnd%
*/
-/***** This file is generated do not edit ****/
+/***** This file is generated do not edit ****/
static struct {
const char * name;
diff --git a/lib/wx/c_src/gen/wxe_funcs.cpp b/lib/wx/c_src/gen/wxe_funcs.cpp
index c8549d0716..fd496c2ccc 100644
--- a/lib/wx/c_src/gen/wxe_funcs.cpp
+++ b/lib/wx/c_src/gen/wxe_funcs.cpp
@@ -2209,7 +2209,7 @@ case wxScrolledWindow_new_2: { // wxScrolledWindow::wxScrolledWindow
wxWindowID winid=wxID_ANY;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=(wxHSCROLL|wxVSCROLL);
+ long style=wxScrolledWindowStyle;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
bp += 4; /* Align */
while( * (int*) bp) { switch (* (int*) bp) {
@@ -2385,7 +2385,7 @@ case wxSashWindow_new_2: { // wxSashWindow::wxSashWindow
wxWindowID id=wxID_ANY;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=(0x0040|0x0080)|wxCLIP_CHILDREN;
+ long style=wxSW_3D|wxCLIP_CHILDREN;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
bp += 4; /* Align */
while( * (int*) bp) { switch (* (int*) bp) {
@@ -5930,7 +5930,7 @@ case wxBufferedDC_new_0: { // wxBufferedDC::wxBufferedDC
}
case wxBufferedDC_new_2: { // wxBufferedDC::wxBufferedDC
wxBitmap * buffer= &wxNullBitmap;
- int style=0x02;
+ int style=wxBUFFER_CLIENT_AREA;
wxDC *dc = (wxDC *) getPtr(bp,memenv); bp += 4;
bp += 4; /* Align */
while( * (int*) bp) { switch (* (int*) bp) {
@@ -5947,7 +5947,7 @@ buffer = (wxBitmap *) getPtr(bp,memenv); bp += 4;
break;
}
case wxBufferedDC_new_3: { // wxBufferedDC::wxBufferedDC
- int style=0x02;
+ int style=wxBUFFER_CLIENT_AREA;
wxDC *dc = (wxDC *) getPtr(bp,memenv); bp += 4;
int * areaW = (int *) bp; bp += 4;
int * areaH = (int *) bp; bp += 4;
@@ -5965,7 +5965,7 @@ case wxBufferedDC_new_3: { // wxBufferedDC::wxBufferedDC
}
case wxBufferedDC_Init_2: { // wxBufferedDC::Init
wxBitmap * buffer= &wxNullBitmap;
- int style=0x02;
+ int style=wxBUFFER_CLIENT_AREA;
wxBufferedDC *This = (wxBufferedDC *) getPtr(bp,memenv); bp += 4;
wxDC *dc = (wxDC *) getPtr(bp,memenv); bp += 4;
while( * (int*) bp) { switch (* (int*) bp) {
@@ -5981,7 +5981,7 @@ buffer = (wxBitmap *) getPtr(bp,memenv); bp += 4;
break;
}
case wxBufferedDC_Init_3: { // wxBufferedDC::Init
- int style=0x02;
+ int style=wxBUFFER_CLIENT_AREA;
wxBufferedDC *This = (wxBufferedDC *) getPtr(bp,memenv); bp += 4;
wxDC *dc = (wxDC *) getPtr(bp,memenv); bp += 4;
int * areaW = (int *) bp; bp += 4;
@@ -5997,7 +5997,7 @@ case wxBufferedDC_Init_3: { // wxBufferedDC::Init
break;
}
case wxBufferedPaintDC_new_3: { // wxBufferedPaintDC::wxBufferedPaintDC
- int style=0x02;
+ int style=wxBUFFER_CLIENT_AREA;
wxWindow *window = (wxWindow *) getPtr(bp,memenv); bp += 4;
wxBitmap *buffer = (wxBitmap *) getPtr(bp,memenv); bp += 4;
while( * (int*) bp) { switch (* (int*) bp) {
@@ -6011,7 +6011,7 @@ case wxBufferedPaintDC_new_3: { // wxBufferedPaintDC::wxBufferedPaintDC
break;
}
case wxBufferedPaintDC_new_2: { // wxBufferedPaintDC::wxBufferedPaintDC
- int style=0x02;
+ int style=wxBUFFER_CLIENT_AREA;
wxWindow *window = (wxWindow *) getPtr(bp,memenv); bp += 4;
bp += 4; /* Align */
while( * (int*) bp) { switch (* (int*) bp) {
@@ -9163,7 +9163,7 @@ case wxIcon_new_0: { // wxIcon::wxIcon
break;
}
case wxIcon_new_2: { // wxIcon::wxIcon
- wxBitmapType type=wxBITMAP_TYPE_XPM;
+ wxBitmapType type=wxICON_DEFAULT_BITMAP_TYPE;
int desiredWidth=-1;
int desiredHeight=-1;
int * filenameLen = (int *) bp; bp += 4;
@@ -16404,7 +16404,7 @@ case wxTextAttr_SetFlags: { // wxTextAttr::SetFlags
break;
}
case wxTextAttr_SetFont: { // wxTextAttr::SetFont
- long flags=(0x0004|0x0008|0x0010|0x0020|0x0040);
+ long flags=wxTEXT_ATTR_FONT;
wxTextAttr *This = (wxTextAttr *) getPtr(bp,memenv); bp += 4;
wxFont *font = (wxFont *) getPtr(bp,memenv); bp += 4;
while( * (int*) bp) { switch (* (int*) bp) {
@@ -16739,7 +16739,7 @@ case wxTextCtrl_IsSingleLine: { // wxTextCtrl::IsSingleLine
break;
}
case wxTextCtrl_LoadFile: { // wxTextCtrl::LoadFile
- int fileType=0;
+ int fileType=wxTEXT_TYPE_ANY;
wxTextCtrl *This = (wxTextCtrl *) getPtr(bp,memenv); bp += 4;
int * fileLen = (int *) bp; bp += 4;
wxString file = wxString(bp, wxConvUTF8);
@@ -16806,7 +16806,7 @@ case wxTextCtrl_Replace: { // wxTextCtrl::Replace
}
case wxTextCtrl_SaveFile: { // wxTextCtrl::SaveFile
wxString file= wxEmptyString;
- int fileType=0;
+ int fileType=wxTEXT_TYPE_ANY;
wxTextCtrl *This = (wxTextCtrl *) getPtr(bp,memenv); bp += 4;
bp += 4; /* Align */
while( * (int*) bp) { switch (* (int*) bp) {
@@ -20467,7 +20467,7 @@ case wxPalette_IsOk: { // wxPalette::IsOk
case wxDirDialog_new: { // wxDirDialog::wxDirDialog
wxString title= wxDirSelectorPromptStr;
wxString defaultPath= wxEmptyString;
- long style=(wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
+ long style=wxDD_DEFAULT_STYLE;
wxPoint pos= wxDefaultPosition;
wxSize sz= wxDefaultSize;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
@@ -20541,7 +20541,7 @@ case wxFileDialog_new: { // wxFileDialog::wxFileDialog
wxString defaultDir= wxEmptyString;
wxString defaultFile= wxEmptyString;
wxString wildCard= wxFileSelectorDefaultWildcardStr;
- long style=wxFD_OPEN;
+ long style=wxFD_DEFAULT_STYLE;
wxPoint pos= wxDefaultPosition;
wxSize sz= wxDefaultSize;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
@@ -20806,7 +20806,7 @@ case wxFilePickerCtrl_new_3: { // wxFilePickerCtrl::wxFilePickerCtrl
wxString wildcard= wxFileSelectorDefaultWildcardStr;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=(0x0400|0x2000);
+ long style=wxFLP_DEFAULT_STYLE;
const wxValidator * validator= &wxDefaultValidator;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
int * id = (int *) bp; bp += 4;
@@ -20856,7 +20856,7 @@ case wxFilePickerCtrl_Create: { // wxFilePickerCtrl::Create
wxString wildcard= wxFileSelectorDefaultWildcardStr;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=(0x0400|0x2000);
+ long style=wxFLP_DEFAULT_STYLE;
const wxValidator * validator= &wxDefaultValidator;
wxFilePickerCtrl *This = (wxFilePickerCtrl *) getPtr(bp,memenv); bp += 4;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
@@ -20929,7 +20929,7 @@ case wxDirPickerCtrl_new_3: { // wxDirPickerCtrl::wxDirPickerCtrl
wxString message= wxDirSelectorPromptStr;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=(0x0008);
+ long style=wxDIRP_DEFAULT_STYLE;
const wxValidator * validator= &wxDefaultValidator;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
int * id = (int *) bp; bp += 4;
@@ -20973,7 +20973,7 @@ case wxDirPickerCtrl_Create: { // wxDirPickerCtrl::Create
wxString message= wxDirSelectorPromptStr;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=(0x0008);
+ long style=wxDIRP_DEFAULT_STYLE;
const wxValidator * validator= &wxDefaultValidator;
wxDirPickerCtrl *This = (wxDirPickerCtrl *) getPtr(bp,memenv); bp += 4;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
@@ -21040,7 +21040,7 @@ case wxColourPickerCtrl_new_3: { // wxColourPickerCtrl::wxColourPickerCtrl
wxColour col= *wxBLACK;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=0;
+ long style=wxCLRP_DEFAULT_STYLE;
const wxValidator * validator= &wxDefaultValidator;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
int * id = (int *) bp; bp += 4;
@@ -21081,7 +21081,7 @@ case wxColourPickerCtrl_Create: { // wxColourPickerCtrl::Create
wxColour col= *wxBLACK;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=0;
+ long style=wxCLRP_DEFAULT_STYLE;
const wxValidator * validator= &wxDefaultValidator;
wxColourPickerCtrl *This = (wxColourPickerCtrl *) getPtr(bp,memenv); bp += 4;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
@@ -21268,7 +21268,7 @@ case wxFontPickerCtrl_new_3: { // wxFontPickerCtrl::wxFontPickerCtrl
const wxFont * initial= &wxNullFont;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=(0x0008|0x0010);
+ long style=wxFNTP_DEFAULT_STYLE;
const wxValidator * validator= &wxDefaultValidator;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
int * id = (int *) bp; bp += 4;
@@ -21304,7 +21304,7 @@ case wxFontPickerCtrl_Create: { // wxFontPickerCtrl::Create
const wxFont * initial= &wxNullFont;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=(0x0008|0x0010);
+ long style=wxFNTP_DEFAULT_STYLE;
const wxValidator * validator= &wxDefaultValidator;
wxFontPickerCtrl *This = (wxFontPickerCtrl *) getPtr(bp,memenv); bp += 4;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
@@ -21480,7 +21480,7 @@ case wxMultiChoiceDialog_new_0: { // wxMultiChoiceDialog::wxMultiChoiceDialog
break;
}
case wxMultiChoiceDialog_new_5: { // wxMultiChoiceDialog::wxMultiChoiceDialog
- long style=(wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxOK|wxCANCEL|wxCENTRE);
+ long style=wxCHOICEDLG_STYLE;
wxPoint pos= wxDefaultPosition;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
int * messageLen = (int *) bp; bp += 4;
@@ -21540,7 +21540,7 @@ case wxSingleChoiceDialog_new_0: { // wxSingleChoiceDialog::wxSingleChoiceDialog
}
case wxSingleChoiceDialog_new_5: { // wxSingleChoiceDialog::wxSingleChoiceDialog
char ** clientData = (char **) NULL;
- long style=(wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxOK|wxCANCEL|wxCENTRE);
+ long style=wxCHOICEDLG_STYLE;
wxPoint pos= wxDefaultPosition;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
int * messageLen = (int *) bp; bp += 4;
@@ -21599,7 +21599,7 @@ case wxSingleChoiceDialog_SetSelection: { // wxSingleChoiceDialog::SetSelection
case wxTextEntryDialog_new: { // wxTextEntryDialog::wxTextEntryDialog
wxString caption= wxGetTextFromUserPromptStr;
wxString value= wxEmptyString;
- long style=(wxOK|wxCANCEL|wxCENTRE|wxWS_EX_VALIDATE_RECURSIVELY);
+ long style=wxTextEntryDialogStyle;
wxPoint pos= wxDefaultPosition;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
int * messageLen = (int *) bp; bp += 4;
@@ -21650,7 +21650,7 @@ case wxTextEntryDialog_SetValue: { // wxTextEntryDialog::SetValue
case wxPasswordEntryDialog_new: { // wxPasswordEntryDialog::wxPasswordEntryDialog
wxString caption= wxGetPasswordFromUserPromptStr;
wxString value= wxEmptyString;
- long style=(wxOK|wxCANCEL|wxCENTRE|wxWS_EX_VALIDATE_RECURSIVELY);
+ long style=wxTextEntryDialogStyle;
wxPoint pos= wxDefaultPosition;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
int * messageLen = (int *) bp; bp += 4;
@@ -30758,7 +30758,7 @@ case wxHtmlWindow_new_2: { // wxHtmlWindow::wxHtmlWindow
wxWindowID id=wxID_ANY;
wxPoint pos= wxDefaultPosition;
wxSize size= wxDefaultSize;
- long style=0x0004;
+ long style=wxHW_DEFAULT_STYLE;
wxWindow *parent = (wxWindow *) getPtr(bp,memenv); bp += 4;
bp += 4; /* Align */
while( * (int*) bp) { switch (* (int*) bp) {
diff --git a/lib/wx/c_src/gen/wxe_init.cpp b/lib/wx/c_src/gen/wxe_init.cpp
index 96c775c4c0..bab3261be4 100644
--- a/lib/wx/c_src/gen/wxe_init.cpp
+++ b/lib/wx/c_src/gen/wxe_init.cpp
@@ -24,6 +24,8 @@
void WxeApp::init_nonconsts(wxeMemEnv *memenv, ErlDrvTermData caller) {
wxeReturn rt = wxeReturn(WXE_DRV_PORT, caller);
rt.addAtom((char*)"wx_consts");
+ rt.addAtom("wxALWAYS_NATIVE_DOUBLE_BUFFER"); rt.addInt(wxALWAYS_NATIVE_DOUBLE_BUFFER);
+ rt.addTupleCount(2);
rt.addAtom("wxBYTE_ORDER"); rt.addInt(wxBYTE_ORDER);
rt.addTupleCount(2);
rt.addAtom("wxDEFAULT_CONTROL_BORDER"); rt.addInt(wxDEFAULT_CONTROL_BORDER);
@@ -32,6 +34,10 @@ void WxeApp::init_nonconsts(wxeMemEnv *memenv, ErlDrvTermData caller) {
rt.addTupleCount(2);
rt.addAtom("wxRETAINED"); rt.addInt(wxRETAINED);
rt.addTupleCount(2);
+ rt.addAtom("wxGAUGE_EMULATE_INDETERMINATE_MODE"); rt.addInt(wxGAUGE_EMULATE_INDETERMINATE_MODE);
+ rt.addTupleCount(2);
+ rt.addAtom("wxTR_DEFAULT_STYLE"); rt.addInt(wxTR_DEFAULT_STYLE);
+ rt.addTupleCount(2);
rt.addAtom("wxBETA_NUMBER"); rt.addInt(wxBETA_NUMBER);
rt.addTupleCount(2);
rt.addAtom("wxMAJOR_VERSION"); rt.addInt(wxMAJOR_VERSION);
@@ -130,7 +136,7 @@ void WxeApp::init_nonconsts(wxeMemEnv *memenv, ErlDrvTermData caller) {
rt.addTupleCount(2);
rt.addAtom("wxWHITE_PEN"); rt.addRef(getRef((void *)wxWHITE_PEN,memenv),"wxPen");
rt.addTupleCount(2);
- rt.endList(53);
+ rt.endList(56);
rt.addTupleCount(2);
rt.send();
}
diff --git a/lib/wx/c_src/gen/wxe_macros.h b/lib/wx/c_src/gen/wxe_macros.h
index cb5a4f3c41..415b7f0b29 100644
--- a/lib/wx/c_src/gen/wxe_macros.h
+++ b/lib/wx/c_src/gen/wxe_macros.h
@@ -62,6 +62,11 @@
#include <wx/filename.h>
+#ifndef wxICON_DEFAULT_BITMAP_TYPE
+ #define wxICON_DEFAULT_BITMAP_TYPE wxBITMAP_TYPE_ICO_RESOURCE
+#endif
+
+
#define wxEvtHandler_Connect 100
#define wxEvtHandler_Disconnect_2 101
#define wxEvtHandler_Disconnect_1 102
@@ -810,2511 +815,2511 @@
#define wxControlWithItems_Clear 882
#define wxControlWithItems_Delete 883
#define wxControlWithItems_FindString 884
-#define wxControlWithItems_getClientData 886
-#define wxControlWithItems_setClientData 888
-#define wxControlWithItems_GetCount 889
-#define wxControlWithItems_GetSelection 890
-#define wxControlWithItems_GetString 891
-#define wxControlWithItems_GetStringSelection 892
-#define wxControlWithItems_Insert_2 893
-#define wxControlWithItems_Insert_3 894
-#define wxControlWithItems_IsEmpty 895
-#define wxControlWithItems_Select 896
-#define wxControlWithItems_SetSelection 897
-#define wxControlWithItems_SetString 898
-#define wxControlWithItems_SetStringSelection 899
-#define wxMenu_new_2 902
-#define wxMenu_new_1 903
-#define wxMenu_destruct 905
-#define wxMenu_Append_3 906
-#define wxMenu_Append_1 907
-#define wxMenu_Append_4_0 908
-#define wxMenu_Append_4_1 909
-#define wxMenu_AppendCheckItem 910
-#define wxMenu_AppendRadioItem 911
-#define wxMenu_AppendSeparator 912
-#define wxMenu_Break 913
-#define wxMenu_Check 914
-#define wxMenu_Delete_1_0 915
-#define wxMenu_Delete_1_1 916
-#define wxMenu_Destroy_1_0 917
-#define wxMenu_Destroy_1_1 918
-#define wxMenu_Enable 919
-#define wxMenu_FindItem_1 920
-#define wxMenu_FindItem_2 921
-#define wxMenu_FindItemByPosition 922
-#define wxMenu_GetHelpString 923
-#define wxMenu_GetLabel 924
-#define wxMenu_GetMenuItemCount 925
-#define wxMenu_GetMenuItems 926
-#define wxMenu_GetTitle 928
-#define wxMenu_Insert_2 929
-#define wxMenu_Insert_3 930
-#define wxMenu_Insert_5_1 931
-#define wxMenu_Insert_5_0 932
-#define wxMenu_InsertCheckItem 933
-#define wxMenu_InsertRadioItem 934
-#define wxMenu_InsertSeparator 935
-#define wxMenu_IsChecked 936
-#define wxMenu_IsEnabled 937
-#define wxMenu_Prepend_1 938
-#define wxMenu_Prepend_2 939
-#define wxMenu_Prepend_4_1 940
-#define wxMenu_Prepend_4_0 941
-#define wxMenu_PrependCheckItem 942
-#define wxMenu_PrependRadioItem 943
-#define wxMenu_PrependSeparator 944
-#define wxMenu_Remove_1_0 945
-#define wxMenu_Remove_1_1 946
-#define wxMenu_SetHelpString 947
-#define wxMenu_SetLabel 948
-#define wxMenu_SetTitle 949
-#define wxMenuItem_new 950
-#define wxMenuItem_destruct 952
-#define wxMenuItem_Check 953
-#define wxMenuItem_Enable 954
-#define wxMenuItem_GetBitmap 955
-#define wxMenuItem_GetHelp 956
-#define wxMenuItem_GetId 957
-#define wxMenuItem_GetKind 958
-#define wxMenuItem_GetLabel 959
-#define wxMenuItem_GetLabelFromText 960
-#define wxMenuItem_GetMenu 961
-#define wxMenuItem_GetText 962
-#define wxMenuItem_GetSubMenu 963
-#define wxMenuItem_IsCheckable 964
-#define wxMenuItem_IsChecked 965
-#define wxMenuItem_IsEnabled 966
-#define wxMenuItem_IsSeparator 967
-#define wxMenuItem_IsSubMenu 968
-#define wxMenuItem_SetBitmap 969
-#define wxMenuItem_SetHelp 970
-#define wxMenuItem_SetMenu 971
-#define wxMenuItem_SetSubMenu 972
-#define wxMenuItem_SetText 973
-#define wxToolBar_AddControl 974
-#define wxToolBar_AddSeparator 975
-#define wxToolBar_AddTool_5 976
-#define wxToolBar_AddTool_4_0 977
-#define wxToolBar_AddTool_1 978
-#define wxToolBar_AddTool_4_1 979
-#define wxToolBar_AddTool_3 980
-#define wxToolBar_AddTool_6 981
-#define wxToolBar_AddCheckTool 982
-#define wxToolBar_AddRadioTool 983
-#define wxToolBar_DeleteTool 984
-#define wxToolBar_DeleteToolByPos 985
-#define wxToolBar_EnableTool 986
-#define wxToolBar_FindById 987
-#define wxToolBar_FindControl 988
-#define wxToolBar_FindToolForPosition 989
-#define wxToolBar_GetToolSize 990
-#define wxToolBar_GetToolBitmapSize 991
-#define wxToolBar_GetMargins 992
-#define wxToolBar_GetToolEnabled 993
-#define wxToolBar_GetToolLongHelp 994
-#define wxToolBar_GetToolPacking 995
-#define wxToolBar_GetToolPos 996
-#define wxToolBar_GetToolSeparation 997
-#define wxToolBar_GetToolShortHelp 998
-#define wxToolBar_GetToolState 999
-#define wxToolBar_InsertControl 1000
-#define wxToolBar_InsertSeparator 1001
-#define wxToolBar_InsertTool_5 1002
-#define wxToolBar_InsertTool_2 1003
-#define wxToolBar_InsertTool_4 1004
-#define wxToolBar_Realize 1005
-#define wxToolBar_RemoveTool 1006
-#define wxToolBar_SetMargins 1007
-#define wxToolBar_SetToolBitmapSize 1008
-#define wxToolBar_SetToolLongHelp 1009
-#define wxToolBar_SetToolPacking 1010
-#define wxToolBar_SetToolShortHelp 1011
-#define wxToolBar_SetToolSeparation 1012
-#define wxToolBar_ToggleTool 1013
-#define wxStatusBar_new_0 1015
-#define wxStatusBar_new_2 1016
-#define wxStatusBar_destruct 1018
-#define wxStatusBar_Create 1019
-#define wxStatusBar_GetFieldRect 1020
-#define wxStatusBar_GetFieldsCount 1021
-#define wxStatusBar_GetStatusText 1022
-#define wxStatusBar_PopStatusText 1023
-#define wxStatusBar_PushStatusText 1024
-#define wxStatusBar_SetFieldsCount 1025
-#define wxStatusBar_SetMinHeight 1026
-#define wxStatusBar_SetStatusText 1027
-#define wxStatusBar_SetStatusWidths 1028
-#define wxStatusBar_SetStatusStyles 1029
-#define wxBitmap_new_0 1030
-#define wxBitmap_new_3 1031
-#define wxBitmap_new_4 1032
-#define wxBitmap_new_2_0 1033
-#define wxBitmap_new_2_1 1034
-#define wxBitmap_destruct 1035
-#define wxBitmap_ConvertToImage 1036
-#define wxBitmap_CopyFromIcon 1037
-#define wxBitmap_Create 1038
-#define wxBitmap_GetDepth 1039
-#define wxBitmap_GetHeight 1040
-#define wxBitmap_GetPalette 1041
-#define wxBitmap_GetMask 1042
-#define wxBitmap_GetWidth 1043
-#define wxBitmap_GetSubBitmap 1044
-#define wxBitmap_LoadFile 1045
-#define wxBitmap_Ok 1046
-#define wxBitmap_SaveFile 1047
-#define wxBitmap_SetDepth 1048
-#define wxBitmap_SetHeight 1049
-#define wxBitmap_SetMask 1050
-#define wxBitmap_SetPalette 1051
-#define wxBitmap_SetWidth 1052
-#define wxIcon_new_0 1053
-#define wxIcon_new_2 1054
-#define wxIcon_new_1 1055
-#define wxIcon_CopyFromBitmap 1056
-#define wxIcon_destroy 1057
-#define wxIconBundle_new_0 1058
-#define wxIconBundle_new_2 1059
-#define wxIconBundle_new_1_0 1060
-#define wxIconBundle_new_1_1 1061
-#define wxIconBundle_destruct 1062
-#define wxIconBundle_AddIcon_2 1063
-#define wxIconBundle_AddIcon_1 1064
-#define wxIconBundle_GetIcon_1_1 1065
-#define wxIconBundle_GetIcon_1_0 1066
-#define wxCursor_new_0 1067
-#define wxCursor_new_1_0 1068
-#define wxCursor_new_1_1 1069
-#define wxCursor_new_4 1070
-#define wxCursor_destruct 1071
-#define wxCursor_Ok 1072
-#define wxMask_new_0 1073
-#define wxMask_new_2_1 1074
-#define wxMask_new_2_0 1075
-#define wxMask_new_1 1076
-#define wxMask_destruct 1077
-#define wxMask_Create_2_1 1078
-#define wxMask_Create_2_0 1079
-#define wxMask_Create_1 1080
-#define wxImage_new_0 1081
-#define wxImage_new_3_0 1082
-#define wxImage_new_4 1083
-#define wxImage_new_5 1084
-#define wxImage_new_2 1085
-#define wxImage_new_3_1 1086
-#define wxImage_Blur 1087
-#define wxImage_BlurHorizontal 1088
-#define wxImage_BlurVertical 1089
-#define wxImage_ConvertAlphaToMask 1090
-#define wxImage_ConvertToGreyscale 1091
-#define wxImage_ConvertToMono 1092
-#define wxImage_Copy 1093
-#define wxImage_Create_3 1094
-#define wxImage_Create_4 1095
-#define wxImage_Create_5 1096
-#define wxImage_Destroy 1097
-#define wxImage_FindFirstUnusedColour 1098
-#define wxImage_GetImageExtWildcard 1099
-#define wxImage_GetAlpha_2 1100
-#define wxImage_GetAlpha_0 1101
-#define wxImage_GetBlue 1102
-#define wxImage_GetData 1103
-#define wxImage_GetGreen 1104
-#define wxImage_GetImageCount 1105
-#define wxImage_GetHeight 1106
-#define wxImage_GetMaskBlue 1107
-#define wxImage_GetMaskGreen 1108
-#define wxImage_GetMaskRed 1109
-#define wxImage_GetOrFindMaskColour 1110
-#define wxImage_GetPalette 1111
-#define wxImage_GetRed 1112
-#define wxImage_GetSubImage 1113
-#define wxImage_GetWidth 1114
-#define wxImage_HasAlpha 1115
-#define wxImage_HasMask 1116
-#define wxImage_GetOption 1117
-#define wxImage_GetOptionInt 1118
-#define wxImage_HasOption 1119
-#define wxImage_InitAlpha 1120
-#define wxImage_InitStandardHandlers 1121
-#define wxImage_IsTransparent 1122
-#define wxImage_LoadFile_2 1123
-#define wxImage_LoadFile_3 1124
-#define wxImage_Ok 1125
-#define wxImage_RemoveHandler 1126
-#define wxImage_Mirror 1127
-#define wxImage_Replace 1128
-#define wxImage_Rescale 1129
-#define wxImage_Resize 1130
-#define wxImage_Rotate 1131
-#define wxImage_RotateHue 1132
-#define wxImage_Rotate90 1133
-#define wxImage_SaveFile_1 1134
-#define wxImage_SaveFile_2_0 1135
-#define wxImage_SaveFile_2_1 1136
-#define wxImage_Scale 1137
-#define wxImage_Size 1138
-#define wxImage_SetAlpha_3 1139
-#define wxImage_SetAlpha_2 1140
-#define wxImage_SetData_2 1141
-#define wxImage_SetData_4 1142
-#define wxImage_SetMask 1143
-#define wxImage_SetMaskColour 1144
-#define wxImage_SetMaskFromImage 1145
-#define wxImage_SetOption_2_1 1146
-#define wxImage_SetOption_2_0 1147
-#define wxImage_SetPalette 1148
-#define wxImage_SetRGB_5 1149
-#define wxImage_SetRGB_4 1150
-#define wxImage_destroy 1151
-#define wxBrush_new_0 1152
-#define wxBrush_new_2 1153
-#define wxBrush_new_1 1154
-#define wxBrush_destruct 1156
-#define wxBrush_GetColour 1157
-#define wxBrush_GetStipple 1158
-#define wxBrush_GetStyle 1159
-#define wxBrush_IsHatch 1160
-#define wxBrush_IsOk 1161
-#define wxBrush_SetColour_1 1162
-#define wxBrush_SetColour_3 1163
-#define wxBrush_SetStipple 1164
-#define wxBrush_SetStyle 1165
-#define wxPen_new_0 1166
-#define wxPen_new_2 1167
-#define wxPen_destruct 1168
-#define wxPen_GetCap 1169
-#define wxPen_GetColour 1170
-#define wxPen_GetJoin 1171
-#define wxPen_GetStyle 1172
-#define wxPen_GetWidth 1173
-#define wxPen_IsOk 1174
-#define wxPen_SetCap 1175
-#define wxPen_SetColour_1 1176
-#define wxPen_SetColour_3 1177
-#define wxPen_SetJoin 1178
-#define wxPen_SetStyle 1179
-#define wxPen_SetWidth 1180
-#define wxRegion_new_0 1181
-#define wxRegion_new_4 1182
-#define wxRegion_new_2 1183
-#define wxRegion_new_1_1 1184
-#define wxRegion_new_1_0 1186
-#define wxRegion_destruct 1188
-#define wxRegion_Clear 1189
-#define wxRegion_Contains_2 1190
-#define wxRegion_Contains_1_0 1191
-#define wxRegion_Contains_4 1192
-#define wxRegion_Contains_1_1 1193
-#define wxRegion_ConvertToBitmap 1194
-#define wxRegion_GetBox 1195
-#define wxRegion_Intersect_4 1196
-#define wxRegion_Intersect_1_1 1197
-#define wxRegion_Intersect_1_0 1198
-#define wxRegion_IsEmpty 1199
-#define wxRegion_Subtract_4 1200
-#define wxRegion_Subtract_1_1 1201
-#define wxRegion_Subtract_1_0 1202
-#define wxRegion_Offset_2 1203
-#define wxRegion_Offset_1 1204
-#define wxRegion_Union_4 1205
-#define wxRegion_Union_1_2 1206
-#define wxRegion_Union_1_1 1207
-#define wxRegion_Union_1_0 1208
-#define wxRegion_Union_3 1209
-#define wxRegion_Xor_4 1210
-#define wxRegion_Xor_1_1 1211
-#define wxRegion_Xor_1_0 1212
-#define wxAcceleratorTable_new_0 1213
-#define wxAcceleratorTable_new_2 1214
-#define wxAcceleratorTable_destruct 1215
-#define wxAcceleratorTable_Ok 1216
-#define wxAcceleratorEntry_new_1_0 1217
-#define wxAcceleratorEntry_new_1_1 1218
-#define wxAcceleratorEntry_GetCommand 1219
-#define wxAcceleratorEntry_GetFlags 1220
-#define wxAcceleratorEntry_GetKeyCode 1221
-#define wxAcceleratorEntry_Set 1222
-#define wxAcceleratorEntry_destroy 1223
-#define wxCaret_new_3 1228
-#define wxCaret_new_2 1229
-#define wxCaret_destruct 1231
-#define wxCaret_Create_3 1232
-#define wxCaret_Create_2 1233
-#define wxCaret_GetBlinkTime 1234
-#define wxCaret_GetPosition 1236
-#define wxCaret_GetSize 1238
-#define wxCaret_GetWindow 1239
-#define wxCaret_Hide 1240
-#define wxCaret_IsOk 1241
-#define wxCaret_IsVisible 1242
-#define wxCaret_Move_2 1243
-#define wxCaret_Move_1 1244
-#define wxCaret_SetBlinkTime 1245
-#define wxCaret_SetSize_2 1246
-#define wxCaret_SetSize_1 1247
-#define wxCaret_Show 1248
-#define wxSizer_Add_2_1 1249
-#define wxSizer_Add_2_0 1250
-#define wxSizer_Add_3 1251
-#define wxSizer_Add_2_3 1252
-#define wxSizer_Add_2_2 1253
-#define wxSizer_AddSpacer 1254
-#define wxSizer_AddStretchSpacer 1255
-#define wxSizer_CalcMin 1256
-#define wxSizer_Clear 1257
-#define wxSizer_Detach_1_2 1258
-#define wxSizer_Detach_1_1 1259
-#define wxSizer_Detach_1_0 1260
-#define wxSizer_Fit 1261
-#define wxSizer_FitInside 1262
-#define wxSizer_GetChildren 1263
-#define wxSizer_GetItem_2_1 1264
-#define wxSizer_GetItem_2_0 1265
-#define wxSizer_GetItem_1 1266
-#define wxSizer_GetSize 1267
-#define wxSizer_GetPosition 1268
-#define wxSizer_GetMinSize 1269
-#define wxSizer_Hide_2_0 1270
-#define wxSizer_Hide_2_1 1271
-#define wxSizer_Hide_1 1272
-#define wxSizer_Insert_3_1 1273
-#define wxSizer_Insert_3_0 1274
-#define wxSizer_Insert_4 1275
-#define wxSizer_Insert_3_3 1276
-#define wxSizer_Insert_3_2 1277
-#define wxSizer_Insert_2 1278
-#define wxSizer_InsertSpacer 1279
-#define wxSizer_InsertStretchSpacer 1280
-#define wxSizer_IsShown_1_2 1281
-#define wxSizer_IsShown_1_1 1282
-#define wxSizer_IsShown_1_0 1283
-#define wxSizer_Layout 1284
-#define wxSizer_Prepend_2_1 1285
-#define wxSizer_Prepend_2_0 1286
-#define wxSizer_Prepend_3 1287
-#define wxSizer_Prepend_2_3 1288
-#define wxSizer_Prepend_2_2 1289
-#define wxSizer_Prepend_1 1290
-#define wxSizer_PrependSpacer 1291
-#define wxSizer_PrependStretchSpacer 1292
-#define wxSizer_RecalcSizes 1293
-#define wxSizer_Remove_1_1 1294
-#define wxSizer_Remove_1_0 1295
-#define wxSizer_Replace_3_1 1296
-#define wxSizer_Replace_3_0 1297
-#define wxSizer_Replace_2 1298
-#define wxSizer_SetDimension 1299
-#define wxSizer_SetMinSize_2 1300
-#define wxSizer_SetMinSize_1 1301
-#define wxSizer_SetItemMinSize_3_2 1302
-#define wxSizer_SetItemMinSize_2_2 1303
-#define wxSizer_SetItemMinSize_3_1 1304
-#define wxSizer_SetItemMinSize_2_1 1305
-#define wxSizer_SetItemMinSize_3_0 1306
-#define wxSizer_SetItemMinSize_2_0 1307
-#define wxSizer_SetSizeHints 1308
-#define wxSizer_SetVirtualSizeHints 1309
-#define wxSizer_Show_2_2 1310
-#define wxSizer_Show_2_1 1311
-#define wxSizer_Show_2_0 1312
-#define wxSizer_Show_1 1313
-#define wxSizerFlags_new 1314
-#define wxSizerFlags_Align 1315
-#define wxSizerFlags_Border_2 1316
-#define wxSizerFlags_Border_1 1317
-#define wxSizerFlags_Center 1318
-#define wxSizerFlags_Centre 1319
-#define wxSizerFlags_Expand 1320
-#define wxSizerFlags_Left 1321
-#define wxSizerFlags_Proportion 1322
-#define wxSizerFlags_Right 1323
-#define wxSizerFlags_destroy 1324
-#define wxSizerItem_new_5_1 1325
-#define wxSizerItem_new_2_1 1326
-#define wxSizerItem_new_5_0 1327
-#define wxSizerItem_new_2_0 1328
-#define wxSizerItem_new_6 1329
-#define wxSizerItem_new_3 1330
-#define wxSizerItem_new_0 1331
-#define wxSizerItem_destruct 1332
-#define wxSizerItem_CalcMin 1333
-#define wxSizerItem_DeleteWindows 1334
-#define wxSizerItem_DetachSizer 1335
-#define wxSizerItem_GetBorder 1336
-#define wxSizerItem_GetFlag 1337
-#define wxSizerItem_GetMinSize 1338
-#define wxSizerItem_GetPosition 1339
-#define wxSizerItem_GetProportion 1340
-#define wxSizerItem_GetRatio 1341
-#define wxSizerItem_GetRect 1342
-#define wxSizerItem_GetSize 1343
-#define wxSizerItem_GetSizer 1344
-#define wxSizerItem_GetSpacer 1345
-#define wxSizerItem_GetUserData 1346
-#define wxSizerItem_GetWindow 1347
-#define wxSizerItem_IsSizer 1348
-#define wxSizerItem_IsShown 1349
-#define wxSizerItem_IsSpacer 1350
-#define wxSizerItem_IsWindow 1351
-#define wxSizerItem_SetBorder 1352
-#define wxSizerItem_SetDimension 1353
-#define wxSizerItem_SetFlag 1354
-#define wxSizerItem_SetInitSize 1355
-#define wxSizerItem_SetMinSize_1 1356
-#define wxSizerItem_SetMinSize_2 1357
-#define wxSizerItem_SetProportion 1358
-#define wxSizerItem_SetRatio_2 1359
-#define wxSizerItem_SetRatio_1_1 1360
-#define wxSizerItem_SetRatio_1_0 1361
-#define wxSizerItem_SetSizer 1362
-#define wxSizerItem_SetSpacer_1 1363
-#define wxSizerItem_SetSpacer_2 1364
-#define wxSizerItem_SetWindow 1365
-#define wxSizerItem_Show 1366
-#define wxBoxSizer_new 1367
-#define wxBoxSizer_GetOrientation 1368
-#define wxBoxSizer_destroy 1369
-#define wxStaticBoxSizer_new_2 1370
-#define wxStaticBoxSizer_new_3 1371
-#define wxStaticBoxSizer_GetStaticBox 1372
-#define wxStaticBoxSizer_destroy 1373
-#define wxGridSizer_new_4 1374
-#define wxGridSizer_new_2 1375
-#define wxGridSizer_GetCols 1376
-#define wxGridSizer_GetHGap 1377
-#define wxGridSizer_GetRows 1378
-#define wxGridSizer_GetVGap 1379
-#define wxGridSizer_SetCols 1380
-#define wxGridSizer_SetHGap 1381
-#define wxGridSizer_SetRows 1382
-#define wxGridSizer_SetVGap 1383
-#define wxGridSizer_destroy 1384
-#define wxFlexGridSizer_new_4 1385
-#define wxFlexGridSizer_new_2 1386
-#define wxFlexGridSizer_AddGrowableCol 1387
-#define wxFlexGridSizer_AddGrowableRow 1388
-#define wxFlexGridSizer_GetFlexibleDirection 1389
-#define wxFlexGridSizer_GetNonFlexibleGrowMode 1390
-#define wxFlexGridSizer_RemoveGrowableCol 1391
-#define wxFlexGridSizer_RemoveGrowableRow 1392
-#define wxFlexGridSizer_SetFlexibleDirection 1393
-#define wxFlexGridSizer_SetNonFlexibleGrowMode 1394
-#define wxFlexGridSizer_destroy 1395
-#define wxGridBagSizer_new 1396
-#define wxGridBagSizer_Add_3_2 1397
-#define wxGridBagSizer_Add_3_1 1398
-#define wxGridBagSizer_Add_4 1399
-#define wxGridBagSizer_Add_1_0 1400
-#define wxGridBagSizer_Add_2_1 1401
-#define wxGridBagSizer_Add_2_0 1402
-#define wxGridBagSizer_Add_3_0 1403
-#define wxGridBagSizer_Add_1_1 1404
-#define wxGridBagSizer_CalcMin 1405
-#define wxGridBagSizer_CheckForIntersection_2 1406
-#define wxGridBagSizer_CheckForIntersection_3 1407
-#define wxGridBagSizer_FindItem_1_1 1408
-#define wxGridBagSizer_FindItem_1_0 1409
-#define wxGridBagSizer_FindItemAtPoint 1410
-#define wxGridBagSizer_FindItemAtPosition 1411
-#define wxGridBagSizer_FindItemWithData 1412
-#define wxGridBagSizer_GetCellSize 1413
-#define wxGridBagSizer_GetEmptyCellSize 1414
-#define wxGridBagSizer_GetItemPosition_1_2 1415
-#define wxGridBagSizer_GetItemPosition_1_1 1416
-#define wxGridBagSizer_GetItemPosition_1_0 1417
-#define wxGridBagSizer_GetItemSpan_1_2 1418
-#define wxGridBagSizer_GetItemSpan_1_1 1419
-#define wxGridBagSizer_GetItemSpan_1_0 1420
-#define wxGridBagSizer_SetEmptyCellSize 1421
-#define wxGridBagSizer_SetItemPosition_2_2 1422
-#define wxGridBagSizer_SetItemPosition_2_1 1423
-#define wxGridBagSizer_SetItemPosition_2_0 1424
-#define wxGridBagSizer_SetItemSpan_2_2 1425
-#define wxGridBagSizer_SetItemSpan_2_1 1426
-#define wxGridBagSizer_SetItemSpan_2_0 1427
-#define wxGridBagSizer_destroy 1428
-#define wxStdDialogButtonSizer_new 1429
-#define wxStdDialogButtonSizer_AddButton 1430
-#define wxStdDialogButtonSizer_Realize 1431
-#define wxStdDialogButtonSizer_SetAffirmativeButton 1432
-#define wxStdDialogButtonSizer_SetCancelButton 1433
-#define wxStdDialogButtonSizer_SetNegativeButton 1434
-#define wxStdDialogButtonSizer_destroy 1435
-#define wxFont_new_0 1436
-#define wxFont_new_1 1437
-#define wxFont_new_5 1438
-#define wxFont_destruct 1440
-#define wxFont_IsFixedWidth 1441
-#define wxFont_GetDefaultEncoding 1442
-#define wxFont_GetFaceName 1443
-#define wxFont_GetFamily 1444
-#define wxFont_GetNativeFontInfoDesc 1445
-#define wxFont_GetNativeFontInfoUserDesc 1446
-#define wxFont_GetPointSize 1447
-#define wxFont_GetStyle 1448
-#define wxFont_GetUnderlined 1449
-#define wxFont_GetWeight 1450
-#define wxFont_Ok 1451
-#define wxFont_SetDefaultEncoding 1452
-#define wxFont_SetFaceName 1453
-#define wxFont_SetFamily 1454
-#define wxFont_SetPointSize 1455
-#define wxFont_SetStyle 1456
-#define wxFont_SetUnderlined 1457
-#define wxFont_SetWeight 1458
-#define wxToolTip_Enable 1459
-#define wxToolTip_SetDelay 1460
-#define wxToolTip_new 1461
-#define wxToolTip_SetTip 1462
-#define wxToolTip_GetTip 1463
-#define wxToolTip_GetWindow 1464
-#define wxToolTip_destroy 1465
-#define wxButton_new_3 1467
-#define wxButton_new_0 1468
-#define wxButton_destruct 1469
-#define wxButton_Create 1470
-#define wxButton_GetDefaultSize 1471
-#define wxButton_SetDefault 1472
-#define wxButton_SetLabel 1473
-#define wxBitmapButton_new_4 1475
-#define wxBitmapButton_new_0 1476
-#define wxBitmapButton_Create 1477
-#define wxBitmapButton_GetBitmapDisabled 1478
-#define wxBitmapButton_GetBitmapFocus 1480
-#define wxBitmapButton_GetBitmapLabel 1482
-#define wxBitmapButton_GetBitmapSelected 1484
-#define wxBitmapButton_SetBitmapDisabled 1486
-#define wxBitmapButton_SetBitmapFocus 1487
-#define wxBitmapButton_SetBitmapLabel 1488
-#define wxBitmapButton_SetBitmapSelected 1489
-#define wxBitmapButton_destroy 1490
-#define wxToggleButton_new_0 1491
-#define wxToggleButton_new_4 1492
-#define wxToggleButton_Create 1493
-#define wxToggleButton_GetValue 1494
-#define wxToggleButton_SetValue 1495
-#define wxToggleButton_destroy 1496
-#define wxCalendarCtrl_new_0 1497
-#define wxCalendarCtrl_new_3 1498
-#define wxCalendarCtrl_Create 1499
-#define wxCalendarCtrl_destruct 1500
-#define wxCalendarCtrl_SetDate 1501
-#define wxCalendarCtrl_GetDate 1502
-#define wxCalendarCtrl_EnableYearChange 1503
-#define wxCalendarCtrl_EnableMonthChange 1504
-#define wxCalendarCtrl_EnableHolidayDisplay 1505
-#define wxCalendarCtrl_SetHeaderColours 1506
-#define wxCalendarCtrl_GetHeaderColourFg 1507
-#define wxCalendarCtrl_GetHeaderColourBg 1508
-#define wxCalendarCtrl_SetHighlightColours 1509
-#define wxCalendarCtrl_GetHighlightColourFg 1510
-#define wxCalendarCtrl_GetHighlightColourBg 1511
-#define wxCalendarCtrl_SetHolidayColours 1512
-#define wxCalendarCtrl_GetHolidayColourFg 1513
-#define wxCalendarCtrl_GetHolidayColourBg 1514
-#define wxCalendarCtrl_GetAttr 1515
-#define wxCalendarCtrl_SetAttr 1516
-#define wxCalendarCtrl_SetHoliday 1517
-#define wxCalendarCtrl_ResetAttr 1518
-#define wxCalendarCtrl_HitTest 1519
-#define wxCalendarDateAttr_new_0 1520
-#define wxCalendarDateAttr_new_2_1 1521
-#define wxCalendarDateAttr_new_2_0 1522
-#define wxCalendarDateAttr_SetTextColour 1523
-#define wxCalendarDateAttr_SetBackgroundColour 1524
-#define wxCalendarDateAttr_SetBorderColour 1525
-#define wxCalendarDateAttr_SetFont 1526
-#define wxCalendarDateAttr_SetBorder 1527
-#define wxCalendarDateAttr_SetHoliday 1528
-#define wxCalendarDateAttr_HasTextColour 1529
-#define wxCalendarDateAttr_HasBackgroundColour 1530
-#define wxCalendarDateAttr_HasBorderColour 1531
-#define wxCalendarDateAttr_HasFont 1532
-#define wxCalendarDateAttr_HasBorder 1533
-#define wxCalendarDateAttr_IsHoliday 1534
-#define wxCalendarDateAttr_GetTextColour 1535
-#define wxCalendarDateAttr_GetBackgroundColour 1536
-#define wxCalendarDateAttr_GetBorderColour 1537
-#define wxCalendarDateAttr_GetFont 1538
-#define wxCalendarDateAttr_GetBorder 1539
-#define wxCalendarDateAttr_destroy 1540
-#define wxCheckBox_new_4 1542
-#define wxCheckBox_new_0 1543
-#define wxCheckBox_Create 1544
-#define wxCheckBox_GetValue 1545
-#define wxCheckBox_Get3StateValue 1546
-#define wxCheckBox_Is3rdStateAllowedForUser 1547
-#define wxCheckBox_Is3State 1548
-#define wxCheckBox_IsChecked 1549
-#define wxCheckBox_SetValue 1550
-#define wxCheckBox_Set3StateValue 1551
-#define wxCheckBox_destroy 1552
-#define wxCheckListBox_new_0 1553
-#define wxCheckListBox_new_3 1555
-#define wxCheckListBox_Check 1556
-#define wxCheckListBox_IsChecked 1557
-#define wxCheckListBox_destroy 1558
-#define wxChoice_new_3 1561
-#define wxChoice_new_0 1562
-#define wxChoice_destruct 1564
-#define wxChoice_Create 1566
-#define wxChoice_Delete 1567
-#define wxChoice_GetColumns 1568
-#define wxChoice_SetColumns 1569
-#define wxComboBox_new_0 1570
-#define wxComboBox_new_3 1572
-#define wxComboBox_destruct 1573
-#define wxComboBox_Create 1575
-#define wxComboBox_CanCopy 1576
-#define wxComboBox_CanCut 1577
-#define wxComboBox_CanPaste 1578
-#define wxComboBox_CanRedo 1579
-#define wxComboBox_CanUndo 1580
-#define wxComboBox_Copy 1581
-#define wxComboBox_Cut 1582
-#define wxComboBox_GetInsertionPoint 1583
-#define wxComboBox_GetLastPosition 1584
-#define wxComboBox_GetValue 1585
-#define wxComboBox_Paste 1586
-#define wxComboBox_Redo 1587
-#define wxComboBox_Replace 1588
-#define wxComboBox_Remove 1589
-#define wxComboBox_SetInsertionPoint 1590
-#define wxComboBox_SetInsertionPointEnd 1591
-#define wxComboBox_SetSelection_1 1592
-#define wxComboBox_SetSelection_2 1593
-#define wxComboBox_SetValue 1594
-#define wxComboBox_Undo 1595
-#define wxGauge_new_0 1596
-#define wxGauge_new_4 1597
-#define wxGauge_Create 1598
-#define wxGauge_GetBezelFace 1599
-#define wxGauge_GetRange 1600
-#define wxGauge_GetShadowWidth 1601
-#define wxGauge_GetValue 1602
-#define wxGauge_IsVertical 1603
-#define wxGauge_SetBezelFace 1604
-#define wxGauge_SetRange 1605
-#define wxGauge_SetShadowWidth 1606
-#define wxGauge_SetValue 1607
-#define wxGauge_Pulse 1608
-#define wxGauge_destroy 1609
-#define wxGenericDirCtrl_new_0 1610
-#define wxGenericDirCtrl_new_2 1611
-#define wxGenericDirCtrl_destruct 1612
-#define wxGenericDirCtrl_Create 1613
-#define wxGenericDirCtrl_Init 1614
-#define wxGenericDirCtrl_CollapseTree 1615
-#define wxGenericDirCtrl_ExpandPath 1616
-#define wxGenericDirCtrl_GetDefaultPath 1617
-#define wxGenericDirCtrl_GetPath 1618
-#define wxGenericDirCtrl_GetFilePath 1619
-#define wxGenericDirCtrl_GetFilter 1620
-#define wxGenericDirCtrl_GetFilterIndex 1621
-#define wxGenericDirCtrl_GetRootId 1622
-#define wxGenericDirCtrl_GetTreeCtrl 1623
-#define wxGenericDirCtrl_ReCreateTree 1624
-#define wxGenericDirCtrl_SetDefaultPath 1625
-#define wxGenericDirCtrl_SetFilter 1626
-#define wxGenericDirCtrl_SetFilterIndex 1627
-#define wxGenericDirCtrl_SetPath 1628
-#define wxStaticBox_new_4 1630
-#define wxStaticBox_new_0 1631
-#define wxStaticBox_Create 1632
-#define wxStaticBox_destroy 1633
-#define wxStaticLine_new_2 1635
-#define wxStaticLine_new_0 1636
-#define wxStaticLine_Create 1637
-#define wxStaticLine_IsVertical 1638
-#define wxStaticLine_GetDefaultSize 1639
-#define wxStaticLine_destroy 1640
-#define wxListBox_new_3 1643
-#define wxListBox_new_0 1644
-#define wxListBox_destruct 1646
-#define wxListBox_Create 1648
-#define wxListBox_Deselect 1649
-#define wxListBox_GetSelections 1650
-#define wxListBox_InsertItems 1651
-#define wxListBox_IsSelected 1652
-#define wxListBox_Set 1654
-#define wxListBox_HitTest 1655
-#define wxListBox_SetFirstItem_1_0 1656
-#define wxListBox_SetFirstItem_1_1 1657
-#define wxListCtrl_new_0 1658
-#define wxListCtrl_new_2 1659
-#define wxListCtrl_Arrange 1660
-#define wxListCtrl_AssignImageList 1661
-#define wxListCtrl_ClearAll 1662
-#define wxListCtrl_Create 1663
-#define wxListCtrl_DeleteAllItems 1664
-#define wxListCtrl_DeleteColumn 1665
-#define wxListCtrl_DeleteItem 1666
-#define wxListCtrl_EditLabel 1667
-#define wxListCtrl_EnsureVisible 1668
-#define wxListCtrl_FindItem_3_0 1669
-#define wxListCtrl_FindItem_3_1 1670
-#define wxListCtrl_GetColumn 1671
-#define wxListCtrl_GetColumnCount 1672
-#define wxListCtrl_GetColumnWidth 1673
-#define wxListCtrl_GetCountPerPage 1674
-#define wxListCtrl_GetEditControl 1675
-#define wxListCtrl_GetImageList 1676
-#define wxListCtrl_GetItem 1677
-#define wxListCtrl_GetItemBackgroundColour 1678
-#define wxListCtrl_GetItemCount 1679
-#define wxListCtrl_GetItemData 1680
-#define wxListCtrl_GetItemFont 1681
-#define wxListCtrl_GetItemPosition 1682
-#define wxListCtrl_GetItemRect 1683
-#define wxListCtrl_GetItemSpacing 1684
-#define wxListCtrl_GetItemState 1685
-#define wxListCtrl_GetItemText 1686
-#define wxListCtrl_GetItemTextColour 1687
-#define wxListCtrl_GetNextItem 1688
-#define wxListCtrl_GetSelectedItemCount 1689
-#define wxListCtrl_GetTextColour 1690
-#define wxListCtrl_GetTopItem 1691
-#define wxListCtrl_GetViewRect 1692
-#define wxListCtrl_HitTest 1693
-#define wxListCtrl_InsertColumn_2 1694
-#define wxListCtrl_InsertColumn_3 1695
-#define wxListCtrl_InsertItem_1 1696
-#define wxListCtrl_InsertItem_2_1 1697
-#define wxListCtrl_InsertItem_2_0 1698
-#define wxListCtrl_InsertItem_3 1699
-#define wxListCtrl_RefreshItem 1700
-#define wxListCtrl_RefreshItems 1701
-#define wxListCtrl_ScrollList 1702
-#define wxListCtrl_SetBackgroundColour 1703
-#define wxListCtrl_SetColumn 1704
-#define wxListCtrl_SetColumnWidth 1705
-#define wxListCtrl_SetImageList 1706
-#define wxListCtrl_SetItem_1 1707
-#define wxListCtrl_SetItem_4 1708
-#define wxListCtrl_SetItemBackgroundColour 1709
-#define wxListCtrl_SetItemCount 1710
-#define wxListCtrl_SetItemData 1711
-#define wxListCtrl_SetItemFont 1712
-#define wxListCtrl_SetItemImage 1713
-#define wxListCtrl_SetItemColumnImage 1714
-#define wxListCtrl_SetItemPosition 1715
-#define wxListCtrl_SetItemState 1716
-#define wxListCtrl_SetItemText 1717
-#define wxListCtrl_SetItemTextColour 1718
-#define wxListCtrl_SetSingleStyle 1719
-#define wxListCtrl_SetTextColour 1720
-#define wxListCtrl_SetWindowStyleFlag 1721
-#define wxListCtrl_SortItems 1722
-#define wxListCtrl_destroy 1723
-#define wxListView_ClearColumnImage 1724
-#define wxListView_Focus 1725
-#define wxListView_GetFirstSelected 1726
-#define wxListView_GetFocusedItem 1727
-#define wxListView_GetNextSelected 1728
-#define wxListView_IsSelected 1729
-#define wxListView_Select 1730
-#define wxListView_SetColumnImage 1731
-#define wxListItem_new_0 1732
-#define wxListItem_new_1 1733
-#define wxListItem_destruct 1734
-#define wxListItem_Clear 1735
-#define wxListItem_GetAlign 1736
-#define wxListItem_GetBackgroundColour 1737
-#define wxListItem_GetColumn 1738
-#define wxListItem_GetFont 1739
-#define wxListItem_GetId 1740
-#define wxListItem_GetImage 1741
-#define wxListItem_GetMask 1742
-#define wxListItem_GetState 1743
-#define wxListItem_GetText 1744
-#define wxListItem_GetTextColour 1745
-#define wxListItem_GetWidth 1746
-#define wxListItem_SetAlign 1747
-#define wxListItem_SetBackgroundColour 1748
-#define wxListItem_SetColumn 1749
-#define wxListItem_SetFont 1750
-#define wxListItem_SetId 1751
-#define wxListItem_SetImage 1752
-#define wxListItem_SetMask 1753
-#define wxListItem_SetState 1754
-#define wxListItem_SetStateMask 1755
-#define wxListItem_SetText 1756
-#define wxListItem_SetTextColour 1757
-#define wxListItem_SetWidth 1758
-#define wxImageList_new_0 1759
-#define wxImageList_new_3 1760
-#define wxImageList_Add_1 1761
-#define wxImageList_Add_2_0 1762
-#define wxImageList_Add_2_1 1763
-#define wxImageList_Create 1764
-#define wxImageList_Draw 1766
-#define wxImageList_GetBitmap 1767
-#define wxImageList_GetIcon 1768
-#define wxImageList_GetImageCount 1769
-#define wxImageList_GetSize 1770
-#define wxImageList_Remove 1771
-#define wxImageList_RemoveAll 1772
-#define wxImageList_Replace_2 1773
-#define wxImageList_Replace_3 1774
-#define wxImageList_destroy 1775
-#define wxTextAttr_new_0 1776
-#define wxTextAttr_new_2 1777
-#define wxTextAttr_GetAlignment 1778
-#define wxTextAttr_GetBackgroundColour 1779
-#define wxTextAttr_GetFont 1780
-#define wxTextAttr_GetLeftIndent 1781
-#define wxTextAttr_GetLeftSubIndent 1782
-#define wxTextAttr_GetRightIndent 1783
-#define wxTextAttr_GetTabs 1784
-#define wxTextAttr_GetTextColour 1785
-#define wxTextAttr_HasBackgroundColour 1786
-#define wxTextAttr_HasFont 1787
-#define wxTextAttr_HasTextColour 1788
-#define wxTextAttr_GetFlags 1789
-#define wxTextAttr_IsDefault 1790
-#define wxTextAttr_SetAlignment 1791
-#define wxTextAttr_SetBackgroundColour 1792
-#define wxTextAttr_SetFlags 1793
-#define wxTextAttr_SetFont 1794
-#define wxTextAttr_SetLeftIndent 1795
-#define wxTextAttr_SetRightIndent 1796
-#define wxTextAttr_SetTabs 1797
-#define wxTextAttr_SetTextColour 1798
-#define wxTextAttr_destroy 1799
-#define wxTextCtrl_new_3 1801
-#define wxTextCtrl_new_0 1802
-#define wxTextCtrl_destruct 1804
-#define wxTextCtrl_AppendText 1805
-#define wxTextCtrl_CanCopy 1806
-#define wxTextCtrl_CanCut 1807
-#define wxTextCtrl_CanPaste 1808
-#define wxTextCtrl_CanRedo 1809
-#define wxTextCtrl_CanUndo 1810
-#define wxTextCtrl_Clear 1811
-#define wxTextCtrl_Copy 1812
-#define wxTextCtrl_Create 1813
-#define wxTextCtrl_Cut 1814
-#define wxTextCtrl_DiscardEdits 1815
-#define wxTextCtrl_EmulateKeyPress 1816
-#define wxTextCtrl_GetDefaultStyle 1817
-#define wxTextCtrl_GetInsertionPoint 1818
-#define wxTextCtrl_GetLastPosition 1819
-#define wxTextCtrl_GetLineLength 1820
-#define wxTextCtrl_GetLineText 1821
-#define wxTextCtrl_GetNumberOfLines 1822
-#define wxTextCtrl_GetRange 1823
-#define wxTextCtrl_GetSelection 1824
-#define wxTextCtrl_GetStringSelection 1825
-#define wxTextCtrl_GetStyle 1826
-#define wxTextCtrl_GetValue 1827
-#define wxTextCtrl_IsEditable 1828
-#define wxTextCtrl_IsModified 1829
-#define wxTextCtrl_IsMultiLine 1830
-#define wxTextCtrl_IsSingleLine 1831
-#define wxTextCtrl_LoadFile 1832
-#define wxTextCtrl_MarkDirty 1833
-#define wxTextCtrl_Paste 1834
-#define wxTextCtrl_PositionToXY 1835
-#define wxTextCtrl_Redo 1836
-#define wxTextCtrl_Remove 1837
-#define wxTextCtrl_Replace 1838
-#define wxTextCtrl_SaveFile 1839
-#define wxTextCtrl_SetDefaultStyle 1840
-#define wxTextCtrl_SetEditable 1841
-#define wxTextCtrl_SetInsertionPoint 1842
-#define wxTextCtrl_SetInsertionPointEnd 1843
-#define wxTextCtrl_SetMaxLength 1845
-#define wxTextCtrl_SetSelection 1846
-#define wxTextCtrl_SetStyle 1847
-#define wxTextCtrl_SetValue 1848
-#define wxTextCtrl_ShowPosition 1849
-#define wxTextCtrl_Undo 1850
-#define wxTextCtrl_WriteText 1851
-#define wxTextCtrl_XYToPosition 1852
-#define wxNotebook_new_0 1855
-#define wxNotebook_new_3 1856
-#define wxNotebook_destruct 1857
-#define wxNotebook_AddPage 1858
-#define wxNotebook_AdvanceSelection 1859
-#define wxNotebook_AssignImageList 1860
-#define wxNotebook_Create 1861
-#define wxNotebook_DeleteAllPages 1862
-#define wxNotebook_DeletePage 1863
-#define wxNotebook_RemovePage 1864
-#define wxNotebook_GetCurrentPage 1865
-#define wxNotebook_GetImageList 1866
-#define wxNotebook_GetPage 1868
-#define wxNotebook_GetPageCount 1869
-#define wxNotebook_GetPageImage 1870
-#define wxNotebook_GetPageText 1871
-#define wxNotebook_GetRowCount 1872
-#define wxNotebook_GetSelection 1873
-#define wxNotebook_GetThemeBackgroundColour 1874
-#define wxNotebook_HitTest 1876
-#define wxNotebook_InsertPage 1878
-#define wxNotebook_SetImageList 1879
-#define wxNotebook_SetPadding 1880
-#define wxNotebook_SetPageSize 1881
-#define wxNotebook_SetPageImage 1882
-#define wxNotebook_SetPageText 1883
-#define wxNotebook_SetSelection 1884
-#define wxNotebook_ChangeSelection 1885
-#define wxChoicebook_new_0 1886
-#define wxChoicebook_new_3 1887
-#define wxChoicebook_AddPage 1888
-#define wxChoicebook_AdvanceSelection 1889
-#define wxChoicebook_AssignImageList 1890
-#define wxChoicebook_Create 1891
-#define wxChoicebook_DeleteAllPages 1892
-#define wxChoicebook_DeletePage 1893
-#define wxChoicebook_RemovePage 1894
-#define wxChoicebook_GetCurrentPage 1895
-#define wxChoicebook_GetImageList 1896
-#define wxChoicebook_GetPage 1898
-#define wxChoicebook_GetPageCount 1899
-#define wxChoicebook_GetPageImage 1900
-#define wxChoicebook_GetPageText 1901
-#define wxChoicebook_GetSelection 1902
-#define wxChoicebook_HitTest 1903
-#define wxChoicebook_InsertPage 1904
-#define wxChoicebook_SetImageList 1905
-#define wxChoicebook_SetPageSize 1906
-#define wxChoicebook_SetPageImage 1907
-#define wxChoicebook_SetPageText 1908
-#define wxChoicebook_SetSelection 1909
-#define wxChoicebook_ChangeSelection 1910
-#define wxChoicebook_destroy 1911
-#define wxToolbook_new_0 1912
-#define wxToolbook_new_3 1913
-#define wxToolbook_AddPage 1914
-#define wxToolbook_AdvanceSelection 1915
-#define wxToolbook_AssignImageList 1916
-#define wxToolbook_Create 1917
-#define wxToolbook_DeleteAllPages 1918
-#define wxToolbook_DeletePage 1919
-#define wxToolbook_RemovePage 1920
-#define wxToolbook_GetCurrentPage 1921
-#define wxToolbook_GetImageList 1922
-#define wxToolbook_GetPage 1924
-#define wxToolbook_GetPageCount 1925
-#define wxToolbook_GetPageImage 1926
-#define wxToolbook_GetPageText 1927
-#define wxToolbook_GetSelection 1928
-#define wxToolbook_HitTest 1930
-#define wxToolbook_InsertPage 1931
-#define wxToolbook_SetImageList 1932
-#define wxToolbook_SetPageSize 1933
-#define wxToolbook_SetPageImage 1934
-#define wxToolbook_SetPageText 1935
-#define wxToolbook_SetSelection 1936
-#define wxToolbook_ChangeSelection 1937
-#define wxToolbook_destroy 1938
-#define wxListbook_new_0 1939
-#define wxListbook_new_3 1940
-#define wxListbook_AddPage 1941
-#define wxListbook_AdvanceSelection 1942
-#define wxListbook_AssignImageList 1943
-#define wxListbook_Create 1944
-#define wxListbook_DeleteAllPages 1945
-#define wxListbook_DeletePage 1946
-#define wxListbook_RemovePage 1947
-#define wxListbook_GetCurrentPage 1948
-#define wxListbook_GetImageList 1949
-#define wxListbook_GetPage 1951
-#define wxListbook_GetPageCount 1952
-#define wxListbook_GetPageImage 1953
-#define wxListbook_GetPageText 1954
-#define wxListbook_GetSelection 1955
-#define wxListbook_HitTest 1957
-#define wxListbook_InsertPage 1958
-#define wxListbook_SetImageList 1959
-#define wxListbook_SetPageSize 1960
-#define wxListbook_SetPageImage 1961
-#define wxListbook_SetPageText 1962
-#define wxListbook_SetSelection 1963
-#define wxListbook_ChangeSelection 1964
-#define wxListbook_destroy 1965
-#define wxTreebook_new_0 1966
-#define wxTreebook_new_3 1967
-#define wxTreebook_AddPage 1968
-#define wxTreebook_AdvanceSelection 1969
-#define wxTreebook_AssignImageList 1970
-#define wxTreebook_Create 1971
-#define wxTreebook_DeleteAllPages 1972
-#define wxTreebook_DeletePage 1973
-#define wxTreebook_RemovePage 1974
-#define wxTreebook_GetCurrentPage 1975
-#define wxTreebook_GetImageList 1976
-#define wxTreebook_GetPage 1978
-#define wxTreebook_GetPageCount 1979
-#define wxTreebook_GetPageImage 1980
-#define wxTreebook_GetPageText 1981
-#define wxTreebook_GetSelection 1982
-#define wxTreebook_ExpandNode 1983
-#define wxTreebook_IsNodeExpanded 1984
-#define wxTreebook_HitTest 1986
-#define wxTreebook_InsertPage 1987
-#define wxTreebook_InsertSubPage 1988
-#define wxTreebook_SetImageList 1989
-#define wxTreebook_SetPageSize 1990
-#define wxTreebook_SetPageImage 1991
-#define wxTreebook_SetPageText 1992
-#define wxTreebook_SetSelection 1993
-#define wxTreebook_ChangeSelection 1994
-#define wxTreebook_destroy 1995
-#define wxTreeCtrl_new_2 1998
-#define wxTreeCtrl_new_0 1999
-#define wxTreeCtrl_destruct 2001
-#define wxTreeCtrl_AddRoot 2002
-#define wxTreeCtrl_AppendItem 2003
-#define wxTreeCtrl_AssignImageList 2004
-#define wxTreeCtrl_AssignStateImageList 2005
-#define wxTreeCtrl_Collapse 2006
-#define wxTreeCtrl_CollapseAndReset 2007
-#define wxTreeCtrl_Create 2008
-#define wxTreeCtrl_Delete 2009
-#define wxTreeCtrl_DeleteAllItems 2010
-#define wxTreeCtrl_DeleteChildren 2011
-#define wxTreeCtrl_EnsureVisible 2012
-#define wxTreeCtrl_Expand 2013
-#define wxTreeCtrl_GetBoundingRect 2014
-#define wxTreeCtrl_GetChildrenCount 2016
-#define wxTreeCtrl_GetCount 2017
-#define wxTreeCtrl_GetEditControl 2018
-#define wxTreeCtrl_GetFirstChild 2019
-#define wxTreeCtrl_GetNextChild 2020
-#define wxTreeCtrl_GetFirstVisibleItem 2021
-#define wxTreeCtrl_GetImageList 2022
-#define wxTreeCtrl_GetIndent 2023
-#define wxTreeCtrl_GetItemBackgroundColour 2024
-#define wxTreeCtrl_GetItemData 2025
-#define wxTreeCtrl_GetItemFont 2026
-#define wxTreeCtrl_GetItemImage_1 2027
-#define wxTreeCtrl_GetItemImage_2 2028
-#define wxTreeCtrl_GetItemText 2029
-#define wxTreeCtrl_GetItemTextColour 2030
-#define wxTreeCtrl_GetLastChild 2031
-#define wxTreeCtrl_GetNextSibling 2032
-#define wxTreeCtrl_GetNextVisible 2033
-#define wxTreeCtrl_GetItemParent 2034
-#define wxTreeCtrl_GetPrevSibling 2035
-#define wxTreeCtrl_GetPrevVisible 2036
-#define wxTreeCtrl_GetRootItem 2037
-#define wxTreeCtrl_GetSelection 2038
-#define wxTreeCtrl_GetSelections 2039
-#define wxTreeCtrl_GetStateImageList 2040
-#define wxTreeCtrl_HitTest 2041
-#define wxTreeCtrl_InsertItem 2043
-#define wxTreeCtrl_IsBold 2044
-#define wxTreeCtrl_IsExpanded 2045
-#define wxTreeCtrl_IsSelected 2046
-#define wxTreeCtrl_IsVisible 2047
-#define wxTreeCtrl_ItemHasChildren 2048
-#define wxTreeCtrl_PrependItem 2049
-#define wxTreeCtrl_ScrollTo 2050
-#define wxTreeCtrl_SelectItem_1 2051
-#define wxTreeCtrl_SelectItem_2 2052
-#define wxTreeCtrl_SetIndent 2053
-#define wxTreeCtrl_SetImageList 2054
-#define wxTreeCtrl_SetItemBackgroundColour 2055
-#define wxTreeCtrl_SetItemBold 2056
-#define wxTreeCtrl_SetItemData 2057
-#define wxTreeCtrl_SetItemDropHighlight 2058
-#define wxTreeCtrl_SetItemFont 2059
-#define wxTreeCtrl_SetItemHasChildren 2060
-#define wxTreeCtrl_SetItemImage_2 2061
-#define wxTreeCtrl_SetItemImage_3 2062
-#define wxTreeCtrl_SetItemText 2063
-#define wxTreeCtrl_SetItemTextColour 2064
-#define wxTreeCtrl_SetStateImageList 2065
-#define wxTreeCtrl_SetWindowStyle 2066
-#define wxTreeCtrl_SortChildren 2067
-#define wxTreeCtrl_Toggle 2068
-#define wxTreeCtrl_ToggleItemSelection 2069
-#define wxTreeCtrl_Unselect 2070
-#define wxTreeCtrl_UnselectAll 2071
-#define wxTreeCtrl_UnselectItem 2072
-#define wxScrollBar_new_0 2073
-#define wxScrollBar_new_3 2074
-#define wxScrollBar_destruct 2075
-#define wxScrollBar_Create 2076
-#define wxScrollBar_GetRange 2077
-#define wxScrollBar_GetPageSize 2078
-#define wxScrollBar_GetThumbPosition 2079
-#define wxScrollBar_GetThumbSize 2080
-#define wxScrollBar_SetThumbPosition 2081
-#define wxScrollBar_SetScrollbar 2082
-#define wxSpinButton_new_2 2084
-#define wxSpinButton_new_0 2085
-#define wxSpinButton_Create 2086
-#define wxSpinButton_GetMax 2087
-#define wxSpinButton_GetMin 2088
-#define wxSpinButton_GetValue 2089
-#define wxSpinButton_SetRange 2090
-#define wxSpinButton_SetValue 2091
-#define wxSpinButton_destroy 2092
-#define wxSpinCtrl_new_0 2093
-#define wxSpinCtrl_new_2 2094
-#define wxSpinCtrl_Create 2096
-#define wxSpinCtrl_SetValue_1_1 2099
-#define wxSpinCtrl_SetValue_1_0 2100
-#define wxSpinCtrl_GetValue 2102
-#define wxSpinCtrl_SetRange 2104
-#define wxSpinCtrl_SetSelection 2105
-#define wxSpinCtrl_GetMin 2107
-#define wxSpinCtrl_GetMax 2109
-#define wxSpinCtrl_destroy 2110
-#define wxStaticText_new_0 2111
-#define wxStaticText_new_4 2112
-#define wxStaticText_Create 2113
-#define wxStaticText_GetLabel 2114
-#define wxStaticText_SetLabel 2115
-#define wxStaticText_Wrap 2116
-#define wxStaticText_destroy 2117
-#define wxStaticBitmap_new_0 2118
-#define wxStaticBitmap_new_4 2119
-#define wxStaticBitmap_Create 2120
-#define wxStaticBitmap_GetBitmap 2121
-#define wxStaticBitmap_SetBitmap 2122
-#define wxStaticBitmap_destroy 2123
-#define wxRadioBox_new 2124
-#define wxRadioBox_destruct 2126
-#define wxRadioBox_Create 2127
-#define wxRadioBox_Enable_2 2128
-#define wxRadioBox_Enable_1 2129
-#define wxRadioBox_GetSelection 2130
-#define wxRadioBox_GetString 2131
-#define wxRadioBox_SetSelection 2132
-#define wxRadioBox_Show_2 2133
-#define wxRadioBox_Show_1 2134
-#define wxRadioBox_GetColumnCount 2135
-#define wxRadioBox_GetItemHelpText 2136
-#define wxRadioBox_GetItemToolTip 2137
-#define wxRadioBox_GetItemFromPoint 2139
-#define wxRadioBox_GetRowCount 2140
-#define wxRadioBox_IsItemEnabled 2141
-#define wxRadioBox_IsItemShown 2142
-#define wxRadioBox_SetItemHelpText 2143
-#define wxRadioBox_SetItemToolTip 2144
-#define wxRadioButton_new_0 2145
-#define wxRadioButton_new_4 2146
-#define wxRadioButton_Create 2147
-#define wxRadioButton_GetValue 2148
-#define wxRadioButton_SetValue 2149
-#define wxRadioButton_destroy 2150
-#define wxSlider_new_6 2152
-#define wxSlider_new_0 2153
-#define wxSlider_Create 2154
-#define wxSlider_GetLineSize 2155
-#define wxSlider_GetMax 2156
-#define wxSlider_GetMin 2157
-#define wxSlider_GetPageSize 2158
-#define wxSlider_GetThumbLength 2159
-#define wxSlider_GetValue 2160
-#define wxSlider_SetLineSize 2161
-#define wxSlider_SetPageSize 2162
-#define wxSlider_SetRange 2163
-#define wxSlider_SetThumbLength 2164
-#define wxSlider_SetValue 2165
-#define wxSlider_destroy 2166
-#define wxDialog_new_4 2168
-#define wxDialog_new_0 2169
-#define wxDialog_destruct 2171
-#define wxDialog_Create 2172
-#define wxDialog_CreateButtonSizer 2173
-#define wxDialog_CreateStdDialogButtonSizer 2174
-#define wxDialog_EndModal 2175
-#define wxDialog_GetAffirmativeId 2176
-#define wxDialog_GetReturnCode 2177
-#define wxDialog_IsModal 2178
-#define wxDialog_SetAffirmativeId 2179
-#define wxDialog_SetReturnCode 2180
-#define wxDialog_Show 2181
-#define wxDialog_ShowModal 2182
-#define wxColourDialog_new_0 2183
-#define wxColourDialog_new_2 2184
-#define wxColourDialog_destruct 2185
-#define wxColourDialog_Create 2186
-#define wxColourDialog_GetColourData 2187
-#define wxColourData_new_0 2188
-#define wxColourData_new_1 2189
-#define wxColourData_destruct 2190
-#define wxColourData_GetChooseFull 2191
-#define wxColourData_GetColour 2192
-#define wxColourData_GetCustomColour 2194
-#define wxColourData_SetChooseFull 2195
-#define wxColourData_SetColour 2196
-#define wxColourData_SetCustomColour 2197
-#define wxPalette_new_0 2198
-#define wxPalette_new_4 2199
-#define wxPalette_destruct 2201
-#define wxPalette_Create 2202
-#define wxPalette_GetColoursCount 2203
-#define wxPalette_GetPixel 2204
-#define wxPalette_GetRGB 2205
-#define wxPalette_IsOk 2206
-#define wxDirDialog_new 2210
-#define wxDirDialog_destruct 2211
-#define wxDirDialog_GetPath 2212
-#define wxDirDialog_GetMessage 2213
-#define wxDirDialog_SetMessage 2214
-#define wxDirDialog_SetPath 2215
-#define wxFileDialog_new 2219
-#define wxFileDialog_destruct 2220
-#define wxFileDialog_GetDirectory 2221
-#define wxFileDialog_GetFilename 2222
-#define wxFileDialog_GetFilenames 2223
-#define wxFileDialog_GetFilterIndex 2224
-#define wxFileDialog_GetMessage 2225
-#define wxFileDialog_GetPath 2226
-#define wxFileDialog_GetPaths 2227
-#define wxFileDialog_GetWildcard 2228
-#define wxFileDialog_SetDirectory 2229
-#define wxFileDialog_SetFilename 2230
-#define wxFileDialog_SetFilterIndex 2231
-#define wxFileDialog_SetMessage 2232
-#define wxFileDialog_SetPath 2233
-#define wxFileDialog_SetWildcard 2234
-#define wxPickerBase_SetInternalMargin 2235
-#define wxPickerBase_GetInternalMargin 2236
-#define wxPickerBase_SetTextCtrlProportion 2237
-#define wxPickerBase_SetPickerCtrlProportion 2238
-#define wxPickerBase_GetTextCtrlProportion 2239
-#define wxPickerBase_GetPickerCtrlProportion 2240
-#define wxPickerBase_HasTextCtrl 2241
-#define wxPickerBase_GetTextCtrl 2242
-#define wxPickerBase_IsTextCtrlGrowable 2243
-#define wxPickerBase_SetPickerCtrlGrowable 2244
-#define wxPickerBase_SetTextCtrlGrowable 2245
-#define wxPickerBase_IsPickerCtrlGrowable 2246
-#define wxFilePickerCtrl_new_0 2247
-#define wxFilePickerCtrl_new_3 2248
-#define wxFilePickerCtrl_Create 2249
-#define wxFilePickerCtrl_GetPath 2250
-#define wxFilePickerCtrl_SetPath 2251
-#define wxFilePickerCtrl_destroy 2252
-#define wxDirPickerCtrl_new_0 2253
-#define wxDirPickerCtrl_new_3 2254
-#define wxDirPickerCtrl_Create 2255
-#define wxDirPickerCtrl_GetPath 2256
-#define wxDirPickerCtrl_SetPath 2257
-#define wxDirPickerCtrl_destroy 2258
-#define wxColourPickerCtrl_new_0 2259
-#define wxColourPickerCtrl_new_3 2260
-#define wxColourPickerCtrl_Create 2261
-#define wxColourPickerCtrl_GetColour 2262
-#define wxColourPickerCtrl_SetColour_1_1 2263
-#define wxColourPickerCtrl_SetColour_1_0 2264
-#define wxColourPickerCtrl_destroy 2265
-#define wxDatePickerCtrl_new_0 2266
-#define wxDatePickerCtrl_new_3 2267
-#define wxDatePickerCtrl_GetRange 2268
-#define wxDatePickerCtrl_GetValue 2269
-#define wxDatePickerCtrl_SetRange 2270
-#define wxDatePickerCtrl_SetValue 2271
-#define wxDatePickerCtrl_destroy 2272
-#define wxFontPickerCtrl_new_0 2273
-#define wxFontPickerCtrl_new_3 2274
-#define wxFontPickerCtrl_Create 2275
-#define wxFontPickerCtrl_GetSelectedFont 2276
-#define wxFontPickerCtrl_SetSelectedFont 2277
-#define wxFontPickerCtrl_GetMaxPointSize 2278
-#define wxFontPickerCtrl_SetMaxPointSize 2279
-#define wxFontPickerCtrl_destroy 2280
-#define wxFindReplaceDialog_new_0 2283
-#define wxFindReplaceDialog_new_4 2284
-#define wxFindReplaceDialog_destruct 2285
-#define wxFindReplaceDialog_Create 2286
-#define wxFindReplaceDialog_GetData 2287
-#define wxFindReplaceData_new_0 2288
-#define wxFindReplaceData_new_1 2289
-#define wxFindReplaceData_GetFindString 2290
-#define wxFindReplaceData_GetReplaceString 2291
-#define wxFindReplaceData_GetFlags 2292
-#define wxFindReplaceData_SetFlags 2293
-#define wxFindReplaceData_SetFindString 2294
-#define wxFindReplaceData_SetReplaceString 2295
-#define wxFindReplaceData_destroy 2296
-#define wxMultiChoiceDialog_new_0 2297
-#define wxMultiChoiceDialog_new_5 2299
-#define wxMultiChoiceDialog_GetSelections 2300
-#define wxMultiChoiceDialog_SetSelections 2301
-#define wxMultiChoiceDialog_destroy 2302
-#define wxSingleChoiceDialog_new_0 2303
-#define wxSingleChoiceDialog_new_5 2305
-#define wxSingleChoiceDialog_GetSelection 2306
-#define wxSingleChoiceDialog_GetStringSelection 2307
-#define wxSingleChoiceDialog_SetSelection 2308
-#define wxSingleChoiceDialog_destroy 2309
-#define wxTextEntryDialog_new 2310
-#define wxTextEntryDialog_GetValue 2311
-#define wxTextEntryDialog_SetValue 2312
-#define wxTextEntryDialog_destroy 2313
-#define wxPasswordEntryDialog_new 2314
-#define wxPasswordEntryDialog_destroy 2315
-#define wxFontData_new_0 2316
-#define wxFontData_new_1 2317
-#define wxFontData_destruct 2318
-#define wxFontData_EnableEffects 2319
-#define wxFontData_GetAllowSymbols 2320
-#define wxFontData_GetColour 2321
-#define wxFontData_GetChosenFont 2322
-#define wxFontData_GetEnableEffects 2323
-#define wxFontData_GetInitialFont 2324
-#define wxFontData_GetShowHelp 2325
-#define wxFontData_SetAllowSymbols 2326
-#define wxFontData_SetChosenFont 2327
-#define wxFontData_SetColour 2328
-#define wxFontData_SetInitialFont 2329
-#define wxFontData_SetRange 2330
-#define wxFontData_SetShowHelp 2331
-#define wxFontDialog_new_0 2335
-#define wxFontDialog_new_2 2337
-#define wxFontDialog_Create 2339
-#define wxFontDialog_GetFontData 2340
-#define wxFontDialog_destroy 2342
-#define wxProgressDialog_new 2343
-#define wxProgressDialog_destruct 2344
-#define wxProgressDialog_Resume 2345
-#define wxProgressDialog_Update_2 2346
-#define wxProgressDialog_Update_0 2347
-#define wxMessageDialog_new 2348
-#define wxMessageDialog_destruct 2349
-#define wxPageSetupDialog_new 2350
-#define wxPageSetupDialog_destruct 2351
-#define wxPageSetupDialog_GetPageSetupData 2352
-#define wxPageSetupDialog_ShowModal 2353
-#define wxPageSetupDialogData_new_0 2354
-#define wxPageSetupDialogData_new_1_0 2355
-#define wxPageSetupDialogData_new_1_1 2356
-#define wxPageSetupDialogData_destruct 2357
-#define wxPageSetupDialogData_EnableHelp 2358
-#define wxPageSetupDialogData_EnableMargins 2359
-#define wxPageSetupDialogData_EnableOrientation 2360
-#define wxPageSetupDialogData_EnablePaper 2361
-#define wxPageSetupDialogData_EnablePrinter 2362
-#define wxPageSetupDialogData_GetDefaultMinMargins 2363
-#define wxPageSetupDialogData_GetEnableMargins 2364
-#define wxPageSetupDialogData_GetEnableOrientation 2365
-#define wxPageSetupDialogData_GetEnablePaper 2366
-#define wxPageSetupDialogData_GetEnablePrinter 2367
-#define wxPageSetupDialogData_GetEnableHelp 2368
-#define wxPageSetupDialogData_GetDefaultInfo 2369
-#define wxPageSetupDialogData_GetMarginTopLeft 2370
-#define wxPageSetupDialogData_GetMarginBottomRight 2371
-#define wxPageSetupDialogData_GetMinMarginTopLeft 2372
-#define wxPageSetupDialogData_GetMinMarginBottomRight 2373
-#define wxPageSetupDialogData_GetPaperId 2374
-#define wxPageSetupDialogData_GetPaperSize 2375
-#define wxPageSetupDialogData_GetPrintData 2377
-#define wxPageSetupDialogData_IsOk 2378
-#define wxPageSetupDialogData_SetDefaultInfo 2379
-#define wxPageSetupDialogData_SetDefaultMinMargins 2380
-#define wxPageSetupDialogData_SetMarginTopLeft 2381
-#define wxPageSetupDialogData_SetMarginBottomRight 2382
-#define wxPageSetupDialogData_SetMinMarginTopLeft 2383
-#define wxPageSetupDialogData_SetMinMarginBottomRight 2384
-#define wxPageSetupDialogData_SetPaperId 2385
-#define wxPageSetupDialogData_SetPaperSize_1_1 2386
-#define wxPageSetupDialogData_SetPaperSize_1_0 2387
-#define wxPageSetupDialogData_SetPrintData 2388
-#define wxPrintDialog_new_2_0 2389
-#define wxPrintDialog_new_2_1 2390
-#define wxPrintDialog_destruct 2391
-#define wxPrintDialog_GetPrintDialogData 2392
-#define wxPrintDialog_GetPrintDC 2393
-#define wxPrintDialogData_new_0 2394
-#define wxPrintDialogData_new_1_1 2395
-#define wxPrintDialogData_new_1_0 2396
-#define wxPrintDialogData_destruct 2397
-#define wxPrintDialogData_EnableHelp 2398
-#define wxPrintDialogData_EnablePageNumbers 2399
-#define wxPrintDialogData_EnablePrintToFile 2400
-#define wxPrintDialogData_EnableSelection 2401
-#define wxPrintDialogData_GetAllPages 2402
-#define wxPrintDialogData_GetCollate 2403
-#define wxPrintDialogData_GetFromPage 2404
-#define wxPrintDialogData_GetMaxPage 2405
-#define wxPrintDialogData_GetMinPage 2406
-#define wxPrintDialogData_GetNoCopies 2407
-#define wxPrintDialogData_GetPrintData 2408
-#define wxPrintDialogData_GetPrintToFile 2409
-#define wxPrintDialogData_GetSelection 2410
-#define wxPrintDialogData_GetToPage 2411
-#define wxPrintDialogData_IsOk 2412
-#define wxPrintDialogData_SetCollate 2413
-#define wxPrintDialogData_SetFromPage 2414
-#define wxPrintDialogData_SetMaxPage 2415
-#define wxPrintDialogData_SetMinPage 2416
-#define wxPrintDialogData_SetNoCopies 2417
-#define wxPrintDialogData_SetPrintData 2418
-#define wxPrintDialogData_SetPrintToFile 2419
-#define wxPrintDialogData_SetSelection 2420
-#define wxPrintDialogData_SetToPage 2421
-#define wxPrintData_new_0 2422
-#define wxPrintData_new_1 2423
-#define wxPrintData_destruct 2424
-#define wxPrintData_GetCollate 2425
-#define wxPrintData_GetBin 2426
-#define wxPrintData_GetColour 2427
-#define wxPrintData_GetDuplex 2428
-#define wxPrintData_GetNoCopies 2429
-#define wxPrintData_GetOrientation 2430
-#define wxPrintData_GetPaperId 2431
-#define wxPrintData_GetPrinterName 2432
-#define wxPrintData_GetQuality 2433
-#define wxPrintData_IsOk 2434
-#define wxPrintData_SetBin 2435
-#define wxPrintData_SetCollate 2436
-#define wxPrintData_SetColour 2437
-#define wxPrintData_SetDuplex 2438
-#define wxPrintData_SetNoCopies 2439
-#define wxPrintData_SetOrientation 2440
-#define wxPrintData_SetPaperId 2441
-#define wxPrintData_SetPrinterName 2442
-#define wxPrintData_SetQuality 2443
-#define wxPrintPreview_new_2 2446
-#define wxPrintPreview_new_3 2447
-#define wxPrintPreview_destruct 2449
-#define wxPrintPreview_GetCanvas 2450
-#define wxPrintPreview_GetCurrentPage 2451
-#define wxPrintPreview_GetFrame 2452
-#define wxPrintPreview_GetMaxPage 2453
-#define wxPrintPreview_GetMinPage 2454
-#define wxPrintPreview_GetPrintout 2455
-#define wxPrintPreview_GetPrintoutForPrinting 2456
-#define wxPrintPreview_IsOk 2457
-#define wxPrintPreview_PaintPage 2458
-#define wxPrintPreview_Print 2459
-#define wxPrintPreview_RenderPage 2460
-#define wxPrintPreview_SetCanvas 2461
-#define wxPrintPreview_SetCurrentPage 2462
-#define wxPrintPreview_SetFrame 2463
-#define wxPrintPreview_SetPrintout 2464
-#define wxPrintPreview_SetZoom 2465
-#define wxPreviewFrame_new 2466
-#define wxPreviewFrame_destruct 2467
-#define wxPreviewFrame_CreateControlBar 2468
-#define wxPreviewFrame_CreateCanvas 2469
-#define wxPreviewFrame_Initialize 2470
-#define wxPreviewFrame_OnCloseWindow 2471
-#define wxPreviewControlBar_new 2472
-#define wxPreviewControlBar_destruct 2473
-#define wxPreviewControlBar_CreateButtons 2474
-#define wxPreviewControlBar_GetPrintPreview 2475
-#define wxPreviewControlBar_GetZoomControl 2476
-#define wxPreviewControlBar_SetZoomControl 2477
-#define wxPrinter_new 2479
-#define wxPrinter_CreateAbortWindow 2480
-#define wxPrinter_GetAbort 2481
-#define wxPrinter_GetLastError 2482
-#define wxPrinter_GetPrintDialogData 2483
-#define wxPrinter_Print 2484
-#define wxPrinter_PrintDialog 2485
-#define wxPrinter_ReportError 2486
-#define wxPrinter_Setup 2487
-#define wxPrinter_destroy 2488
-#define wxXmlResource_new_1 2489
-#define wxXmlResource_new_2 2490
-#define wxXmlResource_destruct 2491
-#define wxXmlResource_AttachUnknownControl 2492
-#define wxXmlResource_ClearHandlers 2493
-#define wxXmlResource_CompareVersion 2494
-#define wxXmlResource_Get 2495
-#define wxXmlResource_GetFlags 2496
-#define wxXmlResource_GetVersion 2497
-#define wxXmlResource_GetXRCID 2498
-#define wxXmlResource_InitAllHandlers 2499
-#define wxXmlResource_Load 2500
-#define wxXmlResource_LoadBitmap 2501
-#define wxXmlResource_LoadDialog_2 2502
-#define wxXmlResource_LoadDialog_3 2503
-#define wxXmlResource_LoadFrame_2 2504
-#define wxXmlResource_LoadFrame_3 2505
-#define wxXmlResource_LoadIcon 2506
-#define wxXmlResource_LoadMenu 2507
-#define wxXmlResource_LoadMenuBar_2 2508
-#define wxXmlResource_LoadMenuBar_1 2509
-#define wxXmlResource_LoadPanel_2 2510
-#define wxXmlResource_LoadPanel_3 2511
-#define wxXmlResource_LoadToolBar 2512
-#define wxXmlResource_Set 2513
-#define wxXmlResource_SetFlags 2514
-#define wxXmlResource_Unload 2515
-#define wxXmlResource_xrcctrl 2516
-#define wxHtmlEasyPrinting_new 2517
-#define wxHtmlEasyPrinting_destruct 2518
-#define wxHtmlEasyPrinting_GetPrintData 2519
-#define wxHtmlEasyPrinting_GetPageSetupData 2520
-#define wxHtmlEasyPrinting_PreviewFile 2521
-#define wxHtmlEasyPrinting_PreviewText 2522
-#define wxHtmlEasyPrinting_PrintFile 2523
-#define wxHtmlEasyPrinting_PrintText 2524
-#define wxHtmlEasyPrinting_PageSetup 2525
-#define wxHtmlEasyPrinting_SetFonts 2526
-#define wxHtmlEasyPrinting_SetHeader 2527
-#define wxHtmlEasyPrinting_SetFooter 2528
-#define wxGLCanvas_new_2 2530
-#define wxGLCanvas_new_3_1 2531
-#define wxGLCanvas_new_3_0 2532
-#define wxGLCanvas_GetContext 2533
-#define wxGLCanvas_SetCurrent 2535
-#define wxGLCanvas_SwapBuffers 2536
-#define wxGLCanvas_destroy 2537
-#define wxAuiManager_new 2538
-#define wxAuiManager_destruct 2539
-#define wxAuiManager_AddPane_2_1 2540
-#define wxAuiManager_AddPane_3 2541
-#define wxAuiManager_AddPane_2_0 2542
-#define wxAuiManager_DetachPane 2543
-#define wxAuiManager_GetAllPanes 2544
-#define wxAuiManager_GetArtProvider 2545
-#define wxAuiManager_GetDockSizeConstraint 2546
-#define wxAuiManager_GetFlags 2547
-#define wxAuiManager_GetManagedWindow 2548
-#define wxAuiManager_GetManager 2549
-#define wxAuiManager_GetPane_1_1 2550
-#define wxAuiManager_GetPane_1_0 2551
-#define wxAuiManager_HideHint 2552
-#define wxAuiManager_InsertPane 2553
-#define wxAuiManager_LoadPaneInfo 2554
-#define wxAuiManager_LoadPerspective 2555
-#define wxAuiManager_SavePaneInfo 2556
-#define wxAuiManager_SavePerspective 2557
-#define wxAuiManager_SetArtProvider 2558
-#define wxAuiManager_SetDockSizeConstraint 2559
-#define wxAuiManager_SetFlags 2560
-#define wxAuiManager_SetManagedWindow 2561
-#define wxAuiManager_ShowHint 2562
-#define wxAuiManager_UnInit 2563
-#define wxAuiManager_Update 2564
-#define wxAuiPaneInfo_new_0 2565
-#define wxAuiPaneInfo_new_1 2566
-#define wxAuiPaneInfo_destruct 2567
-#define wxAuiPaneInfo_BestSize_1 2568
-#define wxAuiPaneInfo_BestSize_2 2569
-#define wxAuiPaneInfo_Bottom 2570
-#define wxAuiPaneInfo_BottomDockable 2571
-#define wxAuiPaneInfo_Caption 2572
-#define wxAuiPaneInfo_CaptionVisible 2573
-#define wxAuiPaneInfo_Centre 2574
-#define wxAuiPaneInfo_CentrePane 2575
-#define wxAuiPaneInfo_CloseButton 2576
-#define wxAuiPaneInfo_DefaultPane 2577
-#define wxAuiPaneInfo_DestroyOnClose 2578
-#define wxAuiPaneInfo_Direction 2579
-#define wxAuiPaneInfo_Dock 2580
-#define wxAuiPaneInfo_Dockable 2581
-#define wxAuiPaneInfo_Fixed 2582
-#define wxAuiPaneInfo_Float 2583
-#define wxAuiPaneInfo_Floatable 2584
-#define wxAuiPaneInfo_FloatingPosition_1 2585
-#define wxAuiPaneInfo_FloatingPosition_2 2586
-#define wxAuiPaneInfo_FloatingSize_1 2587
-#define wxAuiPaneInfo_FloatingSize_2 2588
-#define wxAuiPaneInfo_Gripper 2589
-#define wxAuiPaneInfo_GripperTop 2590
-#define wxAuiPaneInfo_HasBorder 2591
-#define wxAuiPaneInfo_HasCaption 2592
-#define wxAuiPaneInfo_HasCloseButton 2593
-#define wxAuiPaneInfo_HasFlag 2594
-#define wxAuiPaneInfo_HasGripper 2595
-#define wxAuiPaneInfo_HasGripperTop 2596
-#define wxAuiPaneInfo_HasMaximizeButton 2597
-#define wxAuiPaneInfo_HasMinimizeButton 2598
-#define wxAuiPaneInfo_HasPinButton 2599
-#define wxAuiPaneInfo_Hide 2600
-#define wxAuiPaneInfo_IsBottomDockable 2601
-#define wxAuiPaneInfo_IsDocked 2602
-#define wxAuiPaneInfo_IsFixed 2603
-#define wxAuiPaneInfo_IsFloatable 2604
-#define wxAuiPaneInfo_IsFloating 2605
-#define wxAuiPaneInfo_IsLeftDockable 2606
-#define wxAuiPaneInfo_IsMovable 2607
-#define wxAuiPaneInfo_IsOk 2608
-#define wxAuiPaneInfo_IsResizable 2609
-#define wxAuiPaneInfo_IsRightDockable 2610
-#define wxAuiPaneInfo_IsShown 2611
-#define wxAuiPaneInfo_IsToolbar 2612
-#define wxAuiPaneInfo_IsTopDockable 2613
-#define wxAuiPaneInfo_Layer 2614
-#define wxAuiPaneInfo_Left 2615
-#define wxAuiPaneInfo_LeftDockable 2616
-#define wxAuiPaneInfo_MaxSize_1 2617
-#define wxAuiPaneInfo_MaxSize_2 2618
-#define wxAuiPaneInfo_MaximizeButton 2619
-#define wxAuiPaneInfo_MinSize_1 2620
-#define wxAuiPaneInfo_MinSize_2 2621
-#define wxAuiPaneInfo_MinimizeButton 2622
-#define wxAuiPaneInfo_Movable 2623
-#define wxAuiPaneInfo_Name 2624
-#define wxAuiPaneInfo_PaneBorder 2625
-#define wxAuiPaneInfo_PinButton 2626
-#define wxAuiPaneInfo_Position 2627
-#define wxAuiPaneInfo_Resizable 2628
-#define wxAuiPaneInfo_Right 2629
-#define wxAuiPaneInfo_RightDockable 2630
-#define wxAuiPaneInfo_Row 2631
-#define wxAuiPaneInfo_SafeSet 2632
-#define wxAuiPaneInfo_SetFlag 2633
-#define wxAuiPaneInfo_Show 2634
-#define wxAuiPaneInfo_ToolbarPane 2635
-#define wxAuiPaneInfo_Top 2636
-#define wxAuiPaneInfo_TopDockable 2637
-#define wxAuiPaneInfo_Window 2638
-#define wxAuiNotebook_new_0 2639
-#define wxAuiNotebook_new_2 2640
-#define wxAuiNotebook_AddPage 2641
-#define wxAuiNotebook_Create 2642
-#define wxAuiNotebook_DeletePage 2643
-#define wxAuiNotebook_GetArtProvider 2644
-#define wxAuiNotebook_GetPage 2645
-#define wxAuiNotebook_GetPageBitmap 2646
-#define wxAuiNotebook_GetPageCount 2647
-#define wxAuiNotebook_GetPageIndex 2648
-#define wxAuiNotebook_GetPageText 2649
-#define wxAuiNotebook_GetSelection 2650
-#define wxAuiNotebook_InsertPage 2651
-#define wxAuiNotebook_RemovePage 2652
-#define wxAuiNotebook_SetArtProvider 2653
-#define wxAuiNotebook_SetFont 2654
-#define wxAuiNotebook_SetPageBitmap 2655
-#define wxAuiNotebook_SetPageText 2656
-#define wxAuiNotebook_SetSelection 2657
-#define wxAuiNotebook_SetTabCtrlHeight 2658
-#define wxAuiNotebook_SetUniformBitmapSize 2659
-#define wxAuiNotebook_destroy 2660
-#define wxMDIParentFrame_new_0 2661
-#define wxMDIParentFrame_new_4 2662
-#define wxMDIParentFrame_destruct 2663
-#define wxMDIParentFrame_ActivateNext 2664
-#define wxMDIParentFrame_ActivatePrevious 2665
-#define wxMDIParentFrame_ArrangeIcons 2666
-#define wxMDIParentFrame_Cascade 2667
-#define wxMDIParentFrame_Create 2668
-#define wxMDIParentFrame_GetActiveChild 2669
-#define wxMDIParentFrame_GetClientWindow 2670
-#define wxMDIParentFrame_Tile 2671
-#define wxMDIChildFrame_new_0 2672
-#define wxMDIChildFrame_new_4 2673
-#define wxMDIChildFrame_destruct 2674
-#define wxMDIChildFrame_Activate 2675
-#define wxMDIChildFrame_Create 2676
-#define wxMDIChildFrame_Maximize 2677
-#define wxMDIChildFrame_Restore 2678
-#define wxMDIClientWindow_new_0 2679
-#define wxMDIClientWindow_new_2 2680
-#define wxMDIClientWindow_destruct 2681
-#define wxMDIClientWindow_CreateClient 2682
-#define wxLayoutAlgorithm_new 2683
-#define wxLayoutAlgorithm_LayoutFrame 2684
-#define wxLayoutAlgorithm_LayoutMDIFrame 2685
-#define wxLayoutAlgorithm_LayoutWindow 2686
-#define wxLayoutAlgorithm_destroy 2687
-#define wxEvent_GetId 2688
-#define wxEvent_GetSkipped 2689
-#define wxEvent_GetTimestamp 2690
-#define wxEvent_IsCommandEvent 2691
-#define wxEvent_ResumePropagation 2692
-#define wxEvent_ShouldPropagate 2693
-#define wxEvent_Skip 2694
-#define wxEvent_StopPropagation 2695
-#define wxCommandEvent_getClientData 2696
-#define wxCommandEvent_GetExtraLong 2697
-#define wxCommandEvent_GetInt 2698
-#define wxCommandEvent_GetSelection 2699
-#define wxCommandEvent_GetString 2700
-#define wxCommandEvent_IsChecked 2701
-#define wxCommandEvent_IsSelection 2702
-#define wxCommandEvent_SetInt 2703
-#define wxCommandEvent_SetString 2704
-#define wxScrollEvent_GetOrientation 2705
-#define wxScrollEvent_GetPosition 2706
-#define wxScrollWinEvent_GetOrientation 2707
-#define wxScrollWinEvent_GetPosition 2708
-#define wxMouseEvent_AltDown 2709
-#define wxMouseEvent_Button 2710
-#define wxMouseEvent_ButtonDClick 2711
-#define wxMouseEvent_ButtonDown 2712
-#define wxMouseEvent_ButtonUp 2713
-#define wxMouseEvent_CmdDown 2714
-#define wxMouseEvent_ControlDown 2715
-#define wxMouseEvent_Dragging 2716
-#define wxMouseEvent_Entering 2717
-#define wxMouseEvent_GetButton 2718
-#define wxMouseEvent_GetPosition 2721
-#define wxMouseEvent_GetLogicalPosition 2722
-#define wxMouseEvent_GetLinesPerAction 2723
-#define wxMouseEvent_GetWheelRotation 2724
-#define wxMouseEvent_GetWheelDelta 2725
-#define wxMouseEvent_GetX 2726
-#define wxMouseEvent_GetY 2727
-#define wxMouseEvent_IsButton 2728
-#define wxMouseEvent_IsPageScroll 2729
-#define wxMouseEvent_Leaving 2730
-#define wxMouseEvent_LeftDClick 2731
-#define wxMouseEvent_LeftDown 2732
-#define wxMouseEvent_LeftIsDown 2733
-#define wxMouseEvent_LeftUp 2734
-#define wxMouseEvent_MetaDown 2735
-#define wxMouseEvent_MiddleDClick 2736
-#define wxMouseEvent_MiddleDown 2737
-#define wxMouseEvent_MiddleIsDown 2738
-#define wxMouseEvent_MiddleUp 2739
-#define wxMouseEvent_Moving 2740
-#define wxMouseEvent_RightDClick 2741
-#define wxMouseEvent_RightDown 2742
-#define wxMouseEvent_RightIsDown 2743
-#define wxMouseEvent_RightUp 2744
-#define wxMouseEvent_ShiftDown 2745
-#define wxSetCursorEvent_GetCursor 2746
-#define wxSetCursorEvent_GetX 2747
-#define wxSetCursorEvent_GetY 2748
-#define wxSetCursorEvent_HasCursor 2749
-#define wxSetCursorEvent_SetCursor 2750
-#define wxKeyEvent_AltDown 2751
-#define wxKeyEvent_CmdDown 2752
-#define wxKeyEvent_ControlDown 2753
-#define wxKeyEvent_GetKeyCode 2754
-#define wxKeyEvent_GetModifiers 2755
-#define wxKeyEvent_GetPosition 2758
-#define wxKeyEvent_GetRawKeyCode 2759
-#define wxKeyEvent_GetRawKeyFlags 2760
-#define wxKeyEvent_GetUnicodeKey 2761
-#define wxKeyEvent_GetX 2762
-#define wxKeyEvent_GetY 2763
-#define wxKeyEvent_HasModifiers 2764
-#define wxKeyEvent_MetaDown 2765
-#define wxKeyEvent_ShiftDown 2766
-#define wxSizeEvent_GetSize 2767
-#define wxMoveEvent_GetPosition 2768
-#define wxEraseEvent_GetDC 2769
-#define wxFocusEvent_GetWindow 2770
-#define wxChildFocusEvent_GetWindow 2771
-#define wxMenuEvent_GetMenu 2772
-#define wxMenuEvent_GetMenuId 2773
-#define wxMenuEvent_IsPopup 2774
-#define wxCloseEvent_CanVeto 2775
-#define wxCloseEvent_GetLoggingOff 2776
-#define wxCloseEvent_SetCanVeto 2777
-#define wxCloseEvent_SetLoggingOff 2778
-#define wxCloseEvent_Veto 2779
-#define wxShowEvent_SetShow 2780
-#define wxShowEvent_GetShow 2781
-#define wxIconizeEvent_Iconized 2782
-#define wxJoystickEvent_ButtonDown 2783
-#define wxJoystickEvent_ButtonIsDown 2784
-#define wxJoystickEvent_ButtonUp 2785
-#define wxJoystickEvent_GetButtonChange 2786
-#define wxJoystickEvent_GetButtonState 2787
-#define wxJoystickEvent_GetJoystick 2788
-#define wxJoystickEvent_GetPosition 2789
-#define wxJoystickEvent_GetZPosition 2790
-#define wxJoystickEvent_IsButton 2791
-#define wxJoystickEvent_IsMove 2792
-#define wxJoystickEvent_IsZMove 2793
-#define wxUpdateUIEvent_CanUpdate 2794
-#define wxUpdateUIEvent_Check 2795
-#define wxUpdateUIEvent_Enable 2796
-#define wxUpdateUIEvent_Show 2797
-#define wxUpdateUIEvent_GetChecked 2798
-#define wxUpdateUIEvent_GetEnabled 2799
-#define wxUpdateUIEvent_GetShown 2800
-#define wxUpdateUIEvent_GetSetChecked 2801
-#define wxUpdateUIEvent_GetSetEnabled 2802
-#define wxUpdateUIEvent_GetSetShown 2803
-#define wxUpdateUIEvent_GetSetText 2804
-#define wxUpdateUIEvent_GetText 2805
-#define wxUpdateUIEvent_GetMode 2806
-#define wxUpdateUIEvent_GetUpdateInterval 2807
-#define wxUpdateUIEvent_ResetUpdateTime 2808
-#define wxUpdateUIEvent_SetMode 2809
-#define wxUpdateUIEvent_SetText 2810
-#define wxUpdateUIEvent_SetUpdateInterval 2811
-#define wxMouseCaptureChangedEvent_GetCapturedWindow 2812
-#define wxPaletteChangedEvent_SetChangedWindow 2813
-#define wxPaletteChangedEvent_GetChangedWindow 2814
-#define wxQueryNewPaletteEvent_SetPaletteRealized 2815
-#define wxQueryNewPaletteEvent_GetPaletteRealized 2816
-#define wxNavigationKeyEvent_GetDirection 2817
-#define wxNavigationKeyEvent_SetDirection 2818
-#define wxNavigationKeyEvent_IsWindowChange 2819
-#define wxNavigationKeyEvent_SetWindowChange 2820
-#define wxNavigationKeyEvent_IsFromTab 2821
-#define wxNavigationKeyEvent_SetFromTab 2822
-#define wxNavigationKeyEvent_GetCurrentFocus 2823
-#define wxNavigationKeyEvent_SetCurrentFocus 2824
-#define wxHelpEvent_GetOrigin 2825
-#define wxHelpEvent_GetPosition 2826
-#define wxHelpEvent_SetOrigin 2827
-#define wxHelpEvent_SetPosition 2828
-#define wxContextMenuEvent_GetPosition 2829
-#define wxContextMenuEvent_SetPosition 2830
-#define wxIdleEvent_CanSend 2831
-#define wxIdleEvent_GetMode 2832
-#define wxIdleEvent_RequestMore 2833
-#define wxIdleEvent_MoreRequested 2834
-#define wxIdleEvent_SetMode 2835
-#define wxGridEvent_AltDown 2836
-#define wxGridEvent_ControlDown 2837
-#define wxGridEvent_GetCol 2838
-#define wxGridEvent_GetPosition 2839
-#define wxGridEvent_GetRow 2840
-#define wxGridEvent_MetaDown 2841
-#define wxGridEvent_Selecting 2842
-#define wxGridEvent_ShiftDown 2843
-#define wxNotifyEvent_Allow 2844
-#define wxNotifyEvent_IsAllowed 2845
-#define wxNotifyEvent_Veto 2846
-#define wxSashEvent_GetEdge 2847
-#define wxSashEvent_GetDragRect 2848
-#define wxSashEvent_GetDragStatus 2849
-#define wxListEvent_GetCacheFrom 2850
-#define wxListEvent_GetCacheTo 2851
-#define wxListEvent_GetKeyCode 2852
-#define wxListEvent_GetIndex 2853
-#define wxListEvent_GetColumn 2854
-#define wxListEvent_GetPoint 2855
-#define wxListEvent_GetLabel 2856
-#define wxListEvent_GetText 2857
-#define wxListEvent_GetImage 2858
-#define wxListEvent_GetData 2859
-#define wxListEvent_GetMask 2860
-#define wxListEvent_GetItem 2861
-#define wxListEvent_IsEditCancelled 2862
-#define wxDateEvent_GetDate 2863
-#define wxCalendarEvent_GetWeekDay 2864
-#define wxFileDirPickerEvent_GetPath 2865
-#define wxColourPickerEvent_GetColour 2866
-#define wxFontPickerEvent_GetFont 2867
-#define wxStyledTextEvent_GetPosition 2868
-#define wxStyledTextEvent_GetKey 2869
-#define wxStyledTextEvent_GetModifiers 2870
-#define wxStyledTextEvent_GetModificationType 2871
-#define wxStyledTextEvent_GetText 2872
-#define wxStyledTextEvent_GetLength 2873
-#define wxStyledTextEvent_GetLinesAdded 2874
-#define wxStyledTextEvent_GetLine 2875
-#define wxStyledTextEvent_GetFoldLevelNow 2876
-#define wxStyledTextEvent_GetFoldLevelPrev 2877
-#define wxStyledTextEvent_GetMargin 2878
-#define wxStyledTextEvent_GetMessage 2879
-#define wxStyledTextEvent_GetWParam 2880
-#define wxStyledTextEvent_GetLParam 2881
-#define wxStyledTextEvent_GetListType 2882
-#define wxStyledTextEvent_GetX 2883
-#define wxStyledTextEvent_GetY 2884
-#define wxStyledTextEvent_GetDragText 2885
-#define wxStyledTextEvent_GetDragAllowMove 2886
-#define wxStyledTextEvent_GetDragResult 2887
-#define wxStyledTextEvent_GetShift 2888
-#define wxStyledTextEvent_GetControl 2889
-#define wxStyledTextEvent_GetAlt 2890
-#define utils_wxGetKeyState 2891
-#define utils_wxGetMousePosition 2892
-#define utils_wxGetMouseState 2893
-#define utils_wxSetDetectableAutoRepeat 2894
-#define utils_wxBell 2895
-#define utils_wxFindMenuItemId 2896
-#define utils_wxGenericFindWindowAtPoint 2897
-#define utils_wxFindWindowAtPoint 2898
-#define utils_wxBeginBusyCursor 2899
-#define utils_wxEndBusyCursor 2900
-#define utils_wxIsBusy 2901
-#define utils_wxShutdown 2902
-#define utils_wxShell 2903
-#define utils_wxLaunchDefaultBrowser 2904
-#define utils_wxGetEmailAddress 2905
-#define utils_wxGetUserId 2906
-#define utils_wxGetHomeDir 2907
-#define utils_wxNewId 2908
-#define utils_wxRegisterId 2909
-#define utils_wxGetCurrentId 2910
-#define utils_wxGetOsDescription 2911
-#define utils_wxIsPlatformLittleEndian 2912
-#define utils_wxIsPlatform64Bit 2913
-#define wxPrintout_new 2914
-#define wxPrintout_destruct 2915
-#define wxPrintout_GetDC 2916
-#define wxPrintout_GetPageSizeMM 2917
-#define wxPrintout_GetPageSizePixels 2918
-#define wxPrintout_GetPaperRectPixels 2919
-#define wxPrintout_GetPPIPrinter 2920
-#define wxPrintout_GetPPIScreen 2921
-#define wxPrintout_GetTitle 2922
-#define wxPrintout_IsPreview 2923
-#define wxPrintout_FitThisSizeToPaper 2924
-#define wxPrintout_FitThisSizeToPage 2925
-#define wxPrintout_FitThisSizeToPageMargins 2926
-#define wxPrintout_MapScreenSizeToPaper 2927
-#define wxPrintout_MapScreenSizeToPage 2928
-#define wxPrintout_MapScreenSizeToPageMargins 2929
-#define wxPrintout_MapScreenSizeToDevice 2930
-#define wxPrintout_GetLogicalPaperRect 2931
-#define wxPrintout_GetLogicalPageRect 2932
-#define wxPrintout_GetLogicalPageMarginsRect 2933
-#define wxPrintout_SetLogicalOrigin 2934
-#define wxPrintout_OffsetLogicalOrigin 2935
-#define wxStyledTextCtrl_new_2 2936
-#define wxStyledTextCtrl_new_0 2937
-#define wxStyledTextCtrl_destruct 2938
-#define wxStyledTextCtrl_Create 2939
-#define wxStyledTextCtrl_AddText 2940
-#define wxStyledTextCtrl_AddStyledText 2941
-#define wxStyledTextCtrl_InsertText 2942
-#define wxStyledTextCtrl_ClearAll 2943
-#define wxStyledTextCtrl_ClearDocumentStyle 2944
-#define wxStyledTextCtrl_GetLength 2945
-#define wxStyledTextCtrl_GetCharAt 2946
-#define wxStyledTextCtrl_GetCurrentPos 2947
-#define wxStyledTextCtrl_GetAnchor 2948
-#define wxStyledTextCtrl_GetStyleAt 2949
-#define wxStyledTextCtrl_Redo 2950
-#define wxStyledTextCtrl_SetUndoCollection 2951
-#define wxStyledTextCtrl_SelectAll 2952
-#define wxStyledTextCtrl_SetSavePoint 2953
-#define wxStyledTextCtrl_GetStyledText 2954
-#define wxStyledTextCtrl_CanRedo 2955
-#define wxStyledTextCtrl_MarkerLineFromHandle 2956
-#define wxStyledTextCtrl_MarkerDeleteHandle 2957
-#define wxStyledTextCtrl_GetUndoCollection 2958
-#define wxStyledTextCtrl_GetViewWhiteSpace 2959
-#define wxStyledTextCtrl_SetViewWhiteSpace 2960
-#define wxStyledTextCtrl_PositionFromPoint 2961
-#define wxStyledTextCtrl_PositionFromPointClose 2962
-#define wxStyledTextCtrl_GotoLine 2963
-#define wxStyledTextCtrl_GotoPos 2964
-#define wxStyledTextCtrl_SetAnchor 2965
-#define wxStyledTextCtrl_GetCurLine 2966
-#define wxStyledTextCtrl_GetEndStyled 2967
-#define wxStyledTextCtrl_ConvertEOLs 2968
-#define wxStyledTextCtrl_GetEOLMode 2969
-#define wxStyledTextCtrl_SetEOLMode 2970
-#define wxStyledTextCtrl_StartStyling 2971
-#define wxStyledTextCtrl_SetStyling 2972
-#define wxStyledTextCtrl_GetBufferedDraw 2973
-#define wxStyledTextCtrl_SetBufferedDraw 2974
-#define wxStyledTextCtrl_SetTabWidth 2975
-#define wxStyledTextCtrl_GetTabWidth 2976
-#define wxStyledTextCtrl_SetCodePage 2977
-#define wxStyledTextCtrl_MarkerDefine 2978
-#define wxStyledTextCtrl_MarkerSetForeground 2979
-#define wxStyledTextCtrl_MarkerSetBackground 2980
-#define wxStyledTextCtrl_MarkerAdd 2981
-#define wxStyledTextCtrl_MarkerDelete 2982
-#define wxStyledTextCtrl_MarkerDeleteAll 2983
-#define wxStyledTextCtrl_MarkerGet 2984
-#define wxStyledTextCtrl_MarkerNext 2985
-#define wxStyledTextCtrl_MarkerPrevious 2986
-#define wxStyledTextCtrl_MarkerDefineBitmap 2987
-#define wxStyledTextCtrl_MarkerAddSet 2988
-#define wxStyledTextCtrl_MarkerSetAlpha 2989
-#define wxStyledTextCtrl_SetMarginType 2990
-#define wxStyledTextCtrl_GetMarginType 2991
-#define wxStyledTextCtrl_SetMarginWidth 2992
-#define wxStyledTextCtrl_GetMarginWidth 2993
-#define wxStyledTextCtrl_SetMarginMask 2994
-#define wxStyledTextCtrl_GetMarginMask 2995
-#define wxStyledTextCtrl_SetMarginSensitive 2996
-#define wxStyledTextCtrl_GetMarginSensitive 2997
-#define wxStyledTextCtrl_StyleClearAll 2998
-#define wxStyledTextCtrl_StyleSetForeground 2999
-#define wxStyledTextCtrl_StyleSetBackground 3000
-#define wxStyledTextCtrl_StyleSetBold 3001
-#define wxStyledTextCtrl_StyleSetItalic 3002
-#define wxStyledTextCtrl_StyleSetSize 3003
-#define wxStyledTextCtrl_StyleSetFaceName 3004
-#define wxStyledTextCtrl_StyleSetEOLFilled 3005
-#define wxStyledTextCtrl_StyleResetDefault 3006
-#define wxStyledTextCtrl_StyleSetUnderline 3007
-#define wxStyledTextCtrl_StyleSetCase 3008
-#define wxStyledTextCtrl_StyleSetHotSpot 3009
-#define wxStyledTextCtrl_SetSelForeground 3010
-#define wxStyledTextCtrl_SetSelBackground 3011
-#define wxStyledTextCtrl_GetSelAlpha 3012
-#define wxStyledTextCtrl_SetSelAlpha 3013
-#define wxStyledTextCtrl_SetCaretForeground 3014
-#define wxStyledTextCtrl_CmdKeyAssign 3015
-#define wxStyledTextCtrl_CmdKeyClear 3016
-#define wxStyledTextCtrl_CmdKeyClearAll 3017
-#define wxStyledTextCtrl_SetStyleBytes 3018
-#define wxStyledTextCtrl_StyleSetVisible 3019
-#define wxStyledTextCtrl_GetCaretPeriod 3020
-#define wxStyledTextCtrl_SetCaretPeriod 3021
-#define wxStyledTextCtrl_SetWordChars 3022
-#define wxStyledTextCtrl_BeginUndoAction 3023
-#define wxStyledTextCtrl_EndUndoAction 3024
-#define wxStyledTextCtrl_IndicatorSetStyle 3025
-#define wxStyledTextCtrl_IndicatorGetStyle 3026
-#define wxStyledTextCtrl_IndicatorSetForeground 3027
-#define wxStyledTextCtrl_IndicatorGetForeground 3028
-#define wxStyledTextCtrl_SetWhitespaceForeground 3029
-#define wxStyledTextCtrl_SetWhitespaceBackground 3030
-#define wxStyledTextCtrl_GetStyleBits 3031
-#define wxStyledTextCtrl_SetLineState 3032
-#define wxStyledTextCtrl_GetLineState 3033
-#define wxStyledTextCtrl_GetMaxLineState 3034
-#define wxStyledTextCtrl_GetCaretLineVisible 3035
-#define wxStyledTextCtrl_SetCaretLineVisible 3036
-#define wxStyledTextCtrl_GetCaretLineBackground 3037
-#define wxStyledTextCtrl_SetCaretLineBackground 3038
-#define wxStyledTextCtrl_AutoCompShow 3039
-#define wxStyledTextCtrl_AutoCompCancel 3040
-#define wxStyledTextCtrl_AutoCompActive 3041
-#define wxStyledTextCtrl_AutoCompPosStart 3042
-#define wxStyledTextCtrl_AutoCompComplete 3043
-#define wxStyledTextCtrl_AutoCompStops 3044
-#define wxStyledTextCtrl_AutoCompSetSeparator 3045
-#define wxStyledTextCtrl_AutoCompGetSeparator 3046
-#define wxStyledTextCtrl_AutoCompSelect 3047
-#define wxStyledTextCtrl_AutoCompSetCancelAtStart 3048
-#define wxStyledTextCtrl_AutoCompGetCancelAtStart 3049
-#define wxStyledTextCtrl_AutoCompSetFillUps 3050
-#define wxStyledTextCtrl_AutoCompSetChooseSingle 3051
-#define wxStyledTextCtrl_AutoCompGetChooseSingle 3052
-#define wxStyledTextCtrl_AutoCompSetIgnoreCase 3053
-#define wxStyledTextCtrl_AutoCompGetIgnoreCase 3054
-#define wxStyledTextCtrl_UserListShow 3055
-#define wxStyledTextCtrl_AutoCompSetAutoHide 3056
-#define wxStyledTextCtrl_AutoCompGetAutoHide 3057
-#define wxStyledTextCtrl_AutoCompSetDropRestOfWord 3058
-#define wxStyledTextCtrl_AutoCompGetDropRestOfWord 3059
-#define wxStyledTextCtrl_RegisterImage 3060
-#define wxStyledTextCtrl_ClearRegisteredImages 3061
-#define wxStyledTextCtrl_AutoCompGetTypeSeparator 3062
-#define wxStyledTextCtrl_AutoCompSetTypeSeparator 3063
-#define wxStyledTextCtrl_AutoCompSetMaxWidth 3064
-#define wxStyledTextCtrl_AutoCompGetMaxWidth 3065
-#define wxStyledTextCtrl_AutoCompSetMaxHeight 3066
-#define wxStyledTextCtrl_AutoCompGetMaxHeight 3067
-#define wxStyledTextCtrl_SetIndent 3068
-#define wxStyledTextCtrl_GetIndent 3069
-#define wxStyledTextCtrl_SetUseTabs 3070
-#define wxStyledTextCtrl_GetUseTabs 3071
-#define wxStyledTextCtrl_SetLineIndentation 3072
-#define wxStyledTextCtrl_GetLineIndentation 3073
-#define wxStyledTextCtrl_GetLineIndentPosition 3074
-#define wxStyledTextCtrl_GetColumn 3075
-#define wxStyledTextCtrl_SetUseHorizontalScrollBar 3076
-#define wxStyledTextCtrl_GetUseHorizontalScrollBar 3077
-#define wxStyledTextCtrl_SetIndentationGuides 3078
-#define wxStyledTextCtrl_GetIndentationGuides 3079
-#define wxStyledTextCtrl_SetHighlightGuide 3080
-#define wxStyledTextCtrl_GetHighlightGuide 3081
-#define wxStyledTextCtrl_GetLineEndPosition 3082
-#define wxStyledTextCtrl_GetCodePage 3083
-#define wxStyledTextCtrl_GetCaretForeground 3084
-#define wxStyledTextCtrl_GetReadOnly 3085
-#define wxStyledTextCtrl_SetCurrentPos 3086
-#define wxStyledTextCtrl_SetSelectionStart 3087
-#define wxStyledTextCtrl_GetSelectionStart 3088
-#define wxStyledTextCtrl_SetSelectionEnd 3089
-#define wxStyledTextCtrl_GetSelectionEnd 3090
-#define wxStyledTextCtrl_SetPrintMagnification 3091
-#define wxStyledTextCtrl_GetPrintMagnification 3092
-#define wxStyledTextCtrl_SetPrintColourMode 3093
-#define wxStyledTextCtrl_GetPrintColourMode 3094
-#define wxStyledTextCtrl_FindText 3095
-#define wxStyledTextCtrl_FormatRange 3096
-#define wxStyledTextCtrl_GetFirstVisibleLine 3097
-#define wxStyledTextCtrl_GetLine 3098
-#define wxStyledTextCtrl_GetLineCount 3099
-#define wxStyledTextCtrl_SetMarginLeft 3100
-#define wxStyledTextCtrl_GetMarginLeft 3101
-#define wxStyledTextCtrl_SetMarginRight 3102
-#define wxStyledTextCtrl_GetMarginRight 3103
-#define wxStyledTextCtrl_GetModify 3104
-#define wxStyledTextCtrl_SetSelection 3105
-#define wxStyledTextCtrl_GetSelectedText 3106
-#define wxStyledTextCtrl_GetTextRange 3107
-#define wxStyledTextCtrl_HideSelection 3108
-#define wxStyledTextCtrl_LineFromPosition 3109
-#define wxStyledTextCtrl_PositionFromLine 3110
-#define wxStyledTextCtrl_LineScroll 3111
-#define wxStyledTextCtrl_EnsureCaretVisible 3112
-#define wxStyledTextCtrl_ReplaceSelection 3113
-#define wxStyledTextCtrl_SetReadOnly 3114
-#define wxStyledTextCtrl_CanPaste 3115
-#define wxStyledTextCtrl_CanUndo 3116
-#define wxStyledTextCtrl_EmptyUndoBuffer 3117
-#define wxStyledTextCtrl_Undo 3118
-#define wxStyledTextCtrl_Cut 3119
-#define wxStyledTextCtrl_Copy 3120
-#define wxStyledTextCtrl_Paste 3121
-#define wxStyledTextCtrl_Clear 3122
-#define wxStyledTextCtrl_SetText 3123
-#define wxStyledTextCtrl_GetText 3124
-#define wxStyledTextCtrl_GetTextLength 3125
-#define wxStyledTextCtrl_GetOvertype 3126
-#define wxStyledTextCtrl_SetCaretWidth 3127
-#define wxStyledTextCtrl_GetCaretWidth 3128
-#define wxStyledTextCtrl_SetTargetStart 3129
-#define wxStyledTextCtrl_GetTargetStart 3130
-#define wxStyledTextCtrl_SetTargetEnd 3131
-#define wxStyledTextCtrl_GetTargetEnd 3132
-#define wxStyledTextCtrl_ReplaceTarget 3133
-#define wxStyledTextCtrl_SearchInTarget 3134
-#define wxStyledTextCtrl_SetSearchFlags 3135
-#define wxStyledTextCtrl_GetSearchFlags 3136
-#define wxStyledTextCtrl_CallTipShow 3137
-#define wxStyledTextCtrl_CallTipCancel 3138
-#define wxStyledTextCtrl_CallTipActive 3139
-#define wxStyledTextCtrl_CallTipPosAtStart 3140
-#define wxStyledTextCtrl_CallTipSetHighlight 3141
-#define wxStyledTextCtrl_CallTipSetBackground 3142
-#define wxStyledTextCtrl_CallTipSetForeground 3143
-#define wxStyledTextCtrl_CallTipSetForegroundHighlight 3144
-#define wxStyledTextCtrl_CallTipUseStyle 3145
-#define wxStyledTextCtrl_VisibleFromDocLine 3146
-#define wxStyledTextCtrl_DocLineFromVisible 3147
-#define wxStyledTextCtrl_WrapCount 3148
-#define wxStyledTextCtrl_SetFoldLevel 3149
-#define wxStyledTextCtrl_GetFoldLevel 3150
-#define wxStyledTextCtrl_GetLastChild 3151
-#define wxStyledTextCtrl_GetFoldParent 3152
-#define wxStyledTextCtrl_ShowLines 3153
-#define wxStyledTextCtrl_HideLines 3154
-#define wxStyledTextCtrl_GetLineVisible 3155
-#define wxStyledTextCtrl_SetFoldExpanded 3156
-#define wxStyledTextCtrl_GetFoldExpanded 3157
-#define wxStyledTextCtrl_ToggleFold 3158
-#define wxStyledTextCtrl_EnsureVisible 3159
-#define wxStyledTextCtrl_SetFoldFlags 3160
-#define wxStyledTextCtrl_EnsureVisibleEnforcePolicy 3161
-#define wxStyledTextCtrl_SetTabIndents 3162
-#define wxStyledTextCtrl_GetTabIndents 3163
-#define wxStyledTextCtrl_SetBackSpaceUnIndents 3164
-#define wxStyledTextCtrl_GetBackSpaceUnIndents 3165
-#define wxStyledTextCtrl_SetMouseDwellTime 3166
-#define wxStyledTextCtrl_GetMouseDwellTime 3167
-#define wxStyledTextCtrl_WordStartPosition 3168
-#define wxStyledTextCtrl_WordEndPosition 3169
-#define wxStyledTextCtrl_SetWrapMode 3170
-#define wxStyledTextCtrl_GetWrapMode 3171
-#define wxStyledTextCtrl_SetWrapVisualFlags 3172
-#define wxStyledTextCtrl_GetWrapVisualFlags 3173
-#define wxStyledTextCtrl_SetWrapVisualFlagsLocation 3174
-#define wxStyledTextCtrl_GetWrapVisualFlagsLocation 3175
-#define wxStyledTextCtrl_SetWrapStartIndent 3176
-#define wxStyledTextCtrl_GetWrapStartIndent 3177
-#define wxStyledTextCtrl_SetLayoutCache 3178
-#define wxStyledTextCtrl_GetLayoutCache 3179
-#define wxStyledTextCtrl_SetScrollWidth 3180
-#define wxStyledTextCtrl_GetScrollWidth 3181
-#define wxStyledTextCtrl_TextWidth 3182
-#define wxStyledTextCtrl_GetEndAtLastLine 3183
-#define wxStyledTextCtrl_TextHeight 3184
-#define wxStyledTextCtrl_SetUseVerticalScrollBar 3185
-#define wxStyledTextCtrl_GetUseVerticalScrollBar 3186
-#define wxStyledTextCtrl_AppendText 3187
-#define wxStyledTextCtrl_GetTwoPhaseDraw 3188
-#define wxStyledTextCtrl_SetTwoPhaseDraw 3189
-#define wxStyledTextCtrl_TargetFromSelection 3190
-#define wxStyledTextCtrl_LinesJoin 3191
-#define wxStyledTextCtrl_LinesSplit 3192
-#define wxStyledTextCtrl_SetFoldMarginColour 3193
-#define wxStyledTextCtrl_SetFoldMarginHiColour 3194
-#define wxStyledTextCtrl_LineDown 3195
-#define wxStyledTextCtrl_LineDownExtend 3196
-#define wxStyledTextCtrl_LineUp 3197
-#define wxStyledTextCtrl_LineUpExtend 3198
-#define wxStyledTextCtrl_CharLeft 3199
-#define wxStyledTextCtrl_CharLeftExtend 3200
-#define wxStyledTextCtrl_CharRight 3201
-#define wxStyledTextCtrl_CharRightExtend 3202
-#define wxStyledTextCtrl_WordLeft 3203
-#define wxStyledTextCtrl_WordLeftExtend 3204
-#define wxStyledTextCtrl_WordRight 3205
-#define wxStyledTextCtrl_WordRightExtend 3206
-#define wxStyledTextCtrl_Home 3207
-#define wxStyledTextCtrl_HomeExtend 3208
-#define wxStyledTextCtrl_LineEnd 3209
-#define wxStyledTextCtrl_LineEndExtend 3210
-#define wxStyledTextCtrl_DocumentStart 3211
-#define wxStyledTextCtrl_DocumentStartExtend 3212
-#define wxStyledTextCtrl_DocumentEnd 3213
-#define wxStyledTextCtrl_DocumentEndExtend 3214
-#define wxStyledTextCtrl_PageUp 3215
-#define wxStyledTextCtrl_PageUpExtend 3216
-#define wxStyledTextCtrl_PageDown 3217
-#define wxStyledTextCtrl_PageDownExtend 3218
-#define wxStyledTextCtrl_EditToggleOvertype 3219
-#define wxStyledTextCtrl_Cancel 3220
-#define wxStyledTextCtrl_DeleteBack 3221
-#define wxStyledTextCtrl_Tab 3222
-#define wxStyledTextCtrl_BackTab 3223
-#define wxStyledTextCtrl_NewLine 3224
-#define wxStyledTextCtrl_FormFeed 3225
-#define wxStyledTextCtrl_VCHome 3226
-#define wxStyledTextCtrl_VCHomeExtend 3227
-#define wxStyledTextCtrl_ZoomIn 3228
-#define wxStyledTextCtrl_ZoomOut 3229
-#define wxStyledTextCtrl_DelWordLeft 3230
-#define wxStyledTextCtrl_DelWordRight 3231
-#define wxStyledTextCtrl_LineCut 3232
-#define wxStyledTextCtrl_LineDelete 3233
-#define wxStyledTextCtrl_LineTranspose 3234
-#define wxStyledTextCtrl_LineDuplicate 3235
-#define wxStyledTextCtrl_LowerCase 3236
-#define wxStyledTextCtrl_UpperCase 3237
-#define wxStyledTextCtrl_LineScrollDown 3238
-#define wxStyledTextCtrl_LineScrollUp 3239
-#define wxStyledTextCtrl_DeleteBackNotLine 3240
-#define wxStyledTextCtrl_HomeDisplay 3241
-#define wxStyledTextCtrl_HomeDisplayExtend 3242
-#define wxStyledTextCtrl_LineEndDisplay 3243
-#define wxStyledTextCtrl_LineEndDisplayExtend 3244
-#define wxStyledTextCtrl_HomeWrapExtend 3245
-#define wxStyledTextCtrl_LineEndWrap 3246
-#define wxStyledTextCtrl_LineEndWrapExtend 3247
-#define wxStyledTextCtrl_VCHomeWrap 3248
-#define wxStyledTextCtrl_VCHomeWrapExtend 3249
-#define wxStyledTextCtrl_LineCopy 3250
-#define wxStyledTextCtrl_MoveCaretInsideView 3251
-#define wxStyledTextCtrl_LineLength 3252
-#define wxStyledTextCtrl_BraceHighlight 3253
-#define wxStyledTextCtrl_BraceBadLight 3254
-#define wxStyledTextCtrl_BraceMatch 3255
-#define wxStyledTextCtrl_GetViewEOL 3256
-#define wxStyledTextCtrl_SetViewEOL 3257
-#define wxStyledTextCtrl_SetModEventMask 3258
-#define wxStyledTextCtrl_GetEdgeColumn 3259
-#define wxStyledTextCtrl_SetEdgeColumn 3260
-#define wxStyledTextCtrl_GetEdgeMode 3261
-#define wxStyledTextCtrl_GetEdgeColour 3262
-#define wxStyledTextCtrl_SetEdgeColour 3263
-#define wxStyledTextCtrl_SearchAnchor 3264
-#define wxStyledTextCtrl_SearchNext 3265
-#define wxStyledTextCtrl_SearchPrev 3266
-#define wxStyledTextCtrl_LinesOnScreen 3267
-#define wxStyledTextCtrl_UsePopUp 3268
-#define wxStyledTextCtrl_SelectionIsRectangle 3269
-#define wxStyledTextCtrl_SetZoom 3270
-#define wxStyledTextCtrl_GetZoom 3271
-#define wxStyledTextCtrl_GetModEventMask 3272
-#define wxStyledTextCtrl_SetSTCFocus 3273
-#define wxStyledTextCtrl_GetSTCFocus 3274
-#define wxStyledTextCtrl_SetStatus 3275
-#define wxStyledTextCtrl_GetStatus 3276
-#define wxStyledTextCtrl_SetMouseDownCaptures 3277
-#define wxStyledTextCtrl_GetMouseDownCaptures 3278
-#define wxStyledTextCtrl_SetSTCCursor 3279
-#define wxStyledTextCtrl_GetSTCCursor 3280
-#define wxStyledTextCtrl_SetControlCharSymbol 3281
-#define wxStyledTextCtrl_GetControlCharSymbol 3282
-#define wxStyledTextCtrl_WordPartLeft 3283
-#define wxStyledTextCtrl_WordPartLeftExtend 3284
-#define wxStyledTextCtrl_WordPartRight 3285
-#define wxStyledTextCtrl_WordPartRightExtend 3286
-#define wxStyledTextCtrl_SetVisiblePolicy 3287
-#define wxStyledTextCtrl_DelLineLeft 3288
-#define wxStyledTextCtrl_DelLineRight 3289
-#define wxStyledTextCtrl_GetXOffset 3290
-#define wxStyledTextCtrl_ChooseCaretX 3291
-#define wxStyledTextCtrl_SetXCaretPolicy 3292
-#define wxStyledTextCtrl_SetYCaretPolicy 3293
-#define wxStyledTextCtrl_GetPrintWrapMode 3294
-#define wxStyledTextCtrl_SetHotspotActiveForeground 3295
-#define wxStyledTextCtrl_SetHotspotActiveBackground 3296
-#define wxStyledTextCtrl_SetHotspotActiveUnderline 3297
-#define wxStyledTextCtrl_SetHotspotSingleLine 3298
-#define wxStyledTextCtrl_ParaDownExtend 3299
-#define wxStyledTextCtrl_ParaUp 3300
-#define wxStyledTextCtrl_ParaUpExtend 3301
-#define wxStyledTextCtrl_PositionBefore 3302
-#define wxStyledTextCtrl_PositionAfter 3303
-#define wxStyledTextCtrl_CopyRange 3304
-#define wxStyledTextCtrl_CopyText 3305
-#define wxStyledTextCtrl_SetSelectionMode 3306
-#define wxStyledTextCtrl_GetSelectionMode 3307
-#define wxStyledTextCtrl_LineDownRectExtend 3308
-#define wxStyledTextCtrl_LineUpRectExtend 3309
-#define wxStyledTextCtrl_CharLeftRectExtend 3310
-#define wxStyledTextCtrl_CharRightRectExtend 3311
-#define wxStyledTextCtrl_HomeRectExtend 3312
-#define wxStyledTextCtrl_VCHomeRectExtend 3313
-#define wxStyledTextCtrl_LineEndRectExtend 3314
-#define wxStyledTextCtrl_PageUpRectExtend 3315
-#define wxStyledTextCtrl_PageDownRectExtend 3316
-#define wxStyledTextCtrl_StutteredPageUp 3317
-#define wxStyledTextCtrl_StutteredPageUpExtend 3318
-#define wxStyledTextCtrl_StutteredPageDown 3319
-#define wxStyledTextCtrl_StutteredPageDownExtend 3320
-#define wxStyledTextCtrl_WordLeftEnd 3321
-#define wxStyledTextCtrl_WordLeftEndExtend 3322
-#define wxStyledTextCtrl_WordRightEnd 3323
-#define wxStyledTextCtrl_WordRightEndExtend 3324
-#define wxStyledTextCtrl_SetWhitespaceChars 3325
-#define wxStyledTextCtrl_SetCharsDefault 3326
-#define wxStyledTextCtrl_AutoCompGetCurrent 3327
-#define wxStyledTextCtrl_Allocate 3328
-#define wxStyledTextCtrl_FindColumn 3329
-#define wxStyledTextCtrl_GetCaretSticky 3330
-#define wxStyledTextCtrl_SetCaretSticky 3331
-#define wxStyledTextCtrl_ToggleCaretSticky 3332
-#define wxStyledTextCtrl_SetPasteConvertEndings 3333
-#define wxStyledTextCtrl_GetPasteConvertEndings 3334
-#define wxStyledTextCtrl_SelectionDuplicate 3335
-#define wxStyledTextCtrl_SetCaretLineBackAlpha 3336
-#define wxStyledTextCtrl_GetCaretLineBackAlpha 3337
-#define wxStyledTextCtrl_StartRecord 3338
-#define wxStyledTextCtrl_StopRecord 3339
-#define wxStyledTextCtrl_SetLexer 3340
-#define wxStyledTextCtrl_GetLexer 3341
-#define wxStyledTextCtrl_Colourise 3342
-#define wxStyledTextCtrl_SetProperty 3343
-#define wxStyledTextCtrl_SetKeyWords 3344
-#define wxStyledTextCtrl_SetLexerLanguage 3345
-#define wxStyledTextCtrl_GetProperty 3346
-#define wxStyledTextCtrl_GetStyleBitsNeeded 3347
-#define wxStyledTextCtrl_GetCurrentLine 3348
-#define wxStyledTextCtrl_StyleSetSpec 3349
-#define wxStyledTextCtrl_StyleSetFont 3350
-#define wxStyledTextCtrl_StyleSetFontAttr 3351
-#define wxStyledTextCtrl_StyleSetCharacterSet 3352
-#define wxStyledTextCtrl_StyleSetFontEncoding 3353
-#define wxStyledTextCtrl_CmdKeyExecute 3354
-#define wxStyledTextCtrl_SetMargins 3355
-#define wxStyledTextCtrl_GetSelection 3356
-#define wxStyledTextCtrl_PointFromPosition 3357
-#define wxStyledTextCtrl_ScrollToLine 3358
-#define wxStyledTextCtrl_ScrollToColumn 3359
-#define wxStyledTextCtrl_SendMsg 3360
-#define wxStyledTextCtrl_SetVScrollBar 3361
-#define wxStyledTextCtrl_SetHScrollBar 3362
-#define wxStyledTextCtrl_GetLastKeydownProcessed 3363
-#define wxStyledTextCtrl_SetLastKeydownProcessed 3364
-#define wxStyledTextCtrl_SaveFile 3365
-#define wxStyledTextCtrl_LoadFile 3366
-#define wxStyledTextCtrl_DoDragOver 3367
-#define wxStyledTextCtrl_DoDropText 3368
-#define wxStyledTextCtrl_GetUseAntiAliasing 3369
-#define wxStyledTextCtrl_AddTextRaw 3370
-#define wxStyledTextCtrl_InsertTextRaw 3371
-#define wxStyledTextCtrl_GetCurLineRaw 3372
-#define wxStyledTextCtrl_GetLineRaw 3373
-#define wxStyledTextCtrl_GetSelectedTextRaw 3374
-#define wxStyledTextCtrl_GetTextRangeRaw 3375
-#define wxStyledTextCtrl_SetTextRaw 3376
-#define wxStyledTextCtrl_GetTextRaw 3377
-#define wxStyledTextCtrl_AppendTextRaw 3378
-#define wxArtProvider_GetBitmap 3379
-#define wxArtProvider_GetIcon 3380
-#define wxTreeEvent_GetKeyCode 3381
-#define wxTreeEvent_GetItem 3382
-#define wxTreeEvent_GetKeyEvent 3383
-#define wxTreeEvent_GetLabel 3384
-#define wxTreeEvent_GetOldItem 3385
-#define wxTreeEvent_GetPoint 3386
-#define wxTreeEvent_IsEditCancelled 3387
-#define wxTreeEvent_SetToolTip 3388
-#define wxNotebookEvent_GetOldSelection 3389
-#define wxNotebookEvent_GetSelection 3390
-#define wxNotebookEvent_SetOldSelection 3391
-#define wxNotebookEvent_SetSelection 3392
-#define wxFileDataObject_new 3393
-#define wxFileDataObject_AddFile 3394
-#define wxFileDataObject_GetFilenames 3395
-#define wxFileDataObject_destroy 3396
-#define wxTextDataObject_new 3397
-#define wxTextDataObject_GetTextLength 3398
-#define wxTextDataObject_GetText 3399
-#define wxTextDataObject_SetText 3400
-#define wxTextDataObject_destroy 3401
-#define wxBitmapDataObject_new_1_1 3402
-#define wxBitmapDataObject_new_1_0 3403
-#define wxBitmapDataObject_GetBitmap 3404
-#define wxBitmapDataObject_SetBitmap 3405
-#define wxBitmapDataObject_destroy 3406
-#define wxClipboard_new 3408
-#define wxClipboard_destruct 3409
-#define wxClipboard_AddData 3410
-#define wxClipboard_Clear 3411
-#define wxClipboard_Close 3412
-#define wxClipboard_Flush 3413
-#define wxClipboard_GetData 3414
-#define wxClipboard_IsOpened 3415
-#define wxClipboard_Open 3416
-#define wxClipboard_SetData 3417
-#define wxClipboard_UsePrimarySelection 3419
-#define wxClipboard_IsSupported 3420
-#define wxClipboard_Get 3421
-#define wxSpinEvent_GetPosition 3422
-#define wxSpinEvent_SetPosition 3423
-#define wxSplitterWindow_new_0 3424
-#define wxSplitterWindow_new_2 3425
-#define wxSplitterWindow_destruct 3426
-#define wxSplitterWindow_Create 3427
-#define wxSplitterWindow_GetMinimumPaneSize 3428
-#define wxSplitterWindow_GetSashGravity 3429
-#define wxSplitterWindow_GetSashPosition 3430
-#define wxSplitterWindow_GetSplitMode 3431
-#define wxSplitterWindow_GetWindow1 3432
-#define wxSplitterWindow_GetWindow2 3433
-#define wxSplitterWindow_Initialize 3434
-#define wxSplitterWindow_IsSplit 3435
-#define wxSplitterWindow_ReplaceWindow 3436
-#define wxSplitterWindow_SetSashGravity 3437
-#define wxSplitterWindow_SetSashPosition 3438
-#define wxSplitterWindow_SetSashSize 3439
-#define wxSplitterWindow_SetMinimumPaneSize 3440
-#define wxSplitterWindow_SetSplitMode 3441
-#define wxSplitterWindow_SplitHorizontally 3442
-#define wxSplitterWindow_SplitVertically 3443
-#define wxSplitterWindow_Unsplit 3444
-#define wxSplitterWindow_UpdateSize 3445
-#define wxSplitterEvent_GetSashPosition 3446
-#define wxSplitterEvent_GetX 3447
-#define wxSplitterEvent_GetY 3448
-#define wxSplitterEvent_GetWindowBeingRemoved 3449
-#define wxSplitterEvent_SetSashPosition 3450
-#define wxHtmlWindow_new_0 3451
-#define wxHtmlWindow_new_2 3452
-#define wxHtmlWindow_AppendToPage 3453
-#define wxHtmlWindow_GetOpenedAnchor 3454
-#define wxHtmlWindow_GetOpenedPage 3455
-#define wxHtmlWindow_GetOpenedPageTitle 3456
-#define wxHtmlWindow_GetRelatedFrame 3457
-#define wxHtmlWindow_HistoryBack 3458
-#define wxHtmlWindow_HistoryCanBack 3459
-#define wxHtmlWindow_HistoryCanForward 3460
-#define wxHtmlWindow_HistoryClear 3461
-#define wxHtmlWindow_HistoryForward 3462
-#define wxHtmlWindow_LoadFile 3463
-#define wxHtmlWindow_LoadPage 3464
-#define wxHtmlWindow_SelectAll 3465
-#define wxHtmlWindow_SelectionToText 3466
-#define wxHtmlWindow_SelectLine 3467
-#define wxHtmlWindow_SelectWord 3468
-#define wxHtmlWindow_SetBorders 3469
-#define wxHtmlWindow_SetFonts 3470
-#define wxHtmlWindow_SetPage 3471
-#define wxHtmlWindow_SetRelatedFrame 3472
-#define wxHtmlWindow_SetRelatedStatusBar 3473
-#define wxHtmlWindow_ToText 3474
-#define wxHtmlWindow_destroy 3475
-#define wxHtmlLinkEvent_GetLinkInfo 3476
-#define wxAuiNotebookEvent_SetSelection 3477
-#define wxAuiNotebookEvent_GetSelection 3478
-#define wxAuiNotebookEvent_SetOldSelection 3479
-#define wxAuiNotebookEvent_GetOldSelection 3480
-#define wxAuiNotebookEvent_SetDragSource 3481
-#define wxAuiNotebookEvent_GetDragSource 3482
-#define wxAuiManagerEvent_SetManager 3483
-#define wxAuiManagerEvent_GetManager 3484
-#define wxAuiManagerEvent_SetPane 3485
-#define wxAuiManagerEvent_GetPane 3486
-#define wxAuiManagerEvent_SetButton 3487
-#define wxAuiManagerEvent_GetButton 3488
-#define wxAuiManagerEvent_SetDC 3489
-#define wxAuiManagerEvent_GetDC 3490
-#define wxAuiManagerEvent_Veto 3491
-#define wxAuiManagerEvent_GetVeto 3492
-#define wxAuiManagerEvent_SetCanVeto 3493
-#define wxAuiManagerEvent_CanVeto 3494
-#define wxLogNull_new 3495
-#define wxLogNull_destroy 3496
+#define wxControlWithItems_getClientData 885
+#define wxControlWithItems_setClientData 886
+#define wxControlWithItems_GetCount 887
+#define wxControlWithItems_GetSelection 888
+#define wxControlWithItems_GetString 889
+#define wxControlWithItems_GetStringSelection 890
+#define wxControlWithItems_Insert_2 891
+#define wxControlWithItems_Insert_3 892
+#define wxControlWithItems_IsEmpty 893
+#define wxControlWithItems_Select 894
+#define wxControlWithItems_SetSelection 895
+#define wxControlWithItems_SetString 896
+#define wxControlWithItems_SetStringSelection 897
+#define wxMenu_new_2 900
+#define wxMenu_new_1 901
+#define wxMenu_destruct 903
+#define wxMenu_Append_3 904
+#define wxMenu_Append_1 905
+#define wxMenu_Append_4_0 906
+#define wxMenu_Append_4_1 907
+#define wxMenu_AppendCheckItem 908
+#define wxMenu_AppendRadioItem 909
+#define wxMenu_AppendSeparator 910
+#define wxMenu_Break 911
+#define wxMenu_Check 912
+#define wxMenu_Delete_1_0 913
+#define wxMenu_Delete_1_1 914
+#define wxMenu_Destroy_1_0 915
+#define wxMenu_Destroy_1_1 916
+#define wxMenu_Enable 917
+#define wxMenu_FindItem_1 918
+#define wxMenu_FindItem_2 919
+#define wxMenu_FindItemByPosition 920
+#define wxMenu_GetHelpString 921
+#define wxMenu_GetLabel 922
+#define wxMenu_GetMenuItemCount 923
+#define wxMenu_GetMenuItems 924
+#define wxMenu_GetTitle 926
+#define wxMenu_Insert_2 927
+#define wxMenu_Insert_3 928
+#define wxMenu_Insert_5_1 929
+#define wxMenu_Insert_5_0 930
+#define wxMenu_InsertCheckItem 931
+#define wxMenu_InsertRadioItem 932
+#define wxMenu_InsertSeparator 933
+#define wxMenu_IsChecked 934
+#define wxMenu_IsEnabled 935
+#define wxMenu_Prepend_1 936
+#define wxMenu_Prepend_2 937
+#define wxMenu_Prepend_4_1 938
+#define wxMenu_Prepend_4_0 939
+#define wxMenu_PrependCheckItem 940
+#define wxMenu_PrependRadioItem 941
+#define wxMenu_PrependSeparator 942
+#define wxMenu_Remove_1_0 943
+#define wxMenu_Remove_1_1 944
+#define wxMenu_SetHelpString 945
+#define wxMenu_SetLabel 946
+#define wxMenu_SetTitle 947
+#define wxMenuItem_new 948
+#define wxMenuItem_destruct 950
+#define wxMenuItem_Check 951
+#define wxMenuItem_Enable 952
+#define wxMenuItem_GetBitmap 953
+#define wxMenuItem_GetHelp 954
+#define wxMenuItem_GetId 955
+#define wxMenuItem_GetKind 956
+#define wxMenuItem_GetLabel 957
+#define wxMenuItem_GetLabelFromText 958
+#define wxMenuItem_GetMenu 959
+#define wxMenuItem_GetText 960
+#define wxMenuItem_GetSubMenu 961
+#define wxMenuItem_IsCheckable 962
+#define wxMenuItem_IsChecked 963
+#define wxMenuItem_IsEnabled 964
+#define wxMenuItem_IsSeparator 965
+#define wxMenuItem_IsSubMenu 966
+#define wxMenuItem_SetBitmap 967
+#define wxMenuItem_SetHelp 968
+#define wxMenuItem_SetMenu 969
+#define wxMenuItem_SetSubMenu 970
+#define wxMenuItem_SetText 971
+#define wxToolBar_AddControl 972
+#define wxToolBar_AddSeparator 973
+#define wxToolBar_AddTool_5 974
+#define wxToolBar_AddTool_4_0 975
+#define wxToolBar_AddTool_1 976
+#define wxToolBar_AddTool_4_1 977
+#define wxToolBar_AddTool_3 978
+#define wxToolBar_AddTool_6 979
+#define wxToolBar_AddCheckTool 980
+#define wxToolBar_AddRadioTool 981
+#define wxToolBar_DeleteTool 982
+#define wxToolBar_DeleteToolByPos 983
+#define wxToolBar_EnableTool 984
+#define wxToolBar_FindById 985
+#define wxToolBar_FindControl 986
+#define wxToolBar_FindToolForPosition 987
+#define wxToolBar_GetToolSize 988
+#define wxToolBar_GetToolBitmapSize 989
+#define wxToolBar_GetMargins 990
+#define wxToolBar_GetToolEnabled 991
+#define wxToolBar_GetToolLongHelp 992
+#define wxToolBar_GetToolPacking 993
+#define wxToolBar_GetToolPos 994
+#define wxToolBar_GetToolSeparation 995
+#define wxToolBar_GetToolShortHelp 996
+#define wxToolBar_GetToolState 997
+#define wxToolBar_InsertControl 998
+#define wxToolBar_InsertSeparator 999
+#define wxToolBar_InsertTool_5 1000
+#define wxToolBar_InsertTool_2 1001
+#define wxToolBar_InsertTool_4 1002
+#define wxToolBar_Realize 1003
+#define wxToolBar_RemoveTool 1004
+#define wxToolBar_SetMargins 1005
+#define wxToolBar_SetToolBitmapSize 1006
+#define wxToolBar_SetToolLongHelp 1007
+#define wxToolBar_SetToolPacking 1008
+#define wxToolBar_SetToolShortHelp 1009
+#define wxToolBar_SetToolSeparation 1010
+#define wxToolBar_ToggleTool 1011
+#define wxStatusBar_new_0 1013
+#define wxStatusBar_new_2 1014
+#define wxStatusBar_destruct 1016
+#define wxStatusBar_Create 1017
+#define wxStatusBar_GetFieldRect 1018
+#define wxStatusBar_GetFieldsCount 1019
+#define wxStatusBar_GetStatusText 1020
+#define wxStatusBar_PopStatusText 1021
+#define wxStatusBar_PushStatusText 1022
+#define wxStatusBar_SetFieldsCount 1023
+#define wxStatusBar_SetMinHeight 1024
+#define wxStatusBar_SetStatusText 1025
+#define wxStatusBar_SetStatusWidths 1026
+#define wxStatusBar_SetStatusStyles 1027
+#define wxBitmap_new_0 1028
+#define wxBitmap_new_3 1029
+#define wxBitmap_new_4 1030
+#define wxBitmap_new_2_0 1031
+#define wxBitmap_new_2_1 1032
+#define wxBitmap_destruct 1033
+#define wxBitmap_ConvertToImage 1034
+#define wxBitmap_CopyFromIcon 1035
+#define wxBitmap_Create 1036
+#define wxBitmap_GetDepth 1037
+#define wxBitmap_GetHeight 1038
+#define wxBitmap_GetPalette 1039
+#define wxBitmap_GetMask 1040
+#define wxBitmap_GetWidth 1041
+#define wxBitmap_GetSubBitmap 1042
+#define wxBitmap_LoadFile 1043
+#define wxBitmap_Ok 1044
+#define wxBitmap_SaveFile 1045
+#define wxBitmap_SetDepth 1046
+#define wxBitmap_SetHeight 1047
+#define wxBitmap_SetMask 1048
+#define wxBitmap_SetPalette 1049
+#define wxBitmap_SetWidth 1050
+#define wxIcon_new_0 1051
+#define wxIcon_new_2 1052
+#define wxIcon_new_1 1053
+#define wxIcon_CopyFromBitmap 1054
+#define wxIcon_destroy 1055
+#define wxIconBundle_new_0 1056
+#define wxIconBundle_new_2 1057
+#define wxIconBundle_new_1_0 1058
+#define wxIconBundle_new_1_1 1059
+#define wxIconBundle_destruct 1060
+#define wxIconBundle_AddIcon_2 1061
+#define wxIconBundle_AddIcon_1 1062
+#define wxIconBundle_GetIcon_1_1 1063
+#define wxIconBundle_GetIcon_1_0 1064
+#define wxCursor_new_0 1065
+#define wxCursor_new_1_0 1066
+#define wxCursor_new_1_1 1067
+#define wxCursor_new_4 1068
+#define wxCursor_destruct 1069
+#define wxCursor_Ok 1070
+#define wxMask_new_0 1071
+#define wxMask_new_2_1 1072
+#define wxMask_new_2_0 1073
+#define wxMask_new_1 1074
+#define wxMask_destruct 1075
+#define wxMask_Create_2_1 1076
+#define wxMask_Create_2_0 1077
+#define wxMask_Create_1 1078
+#define wxImage_new_0 1079
+#define wxImage_new_3_0 1080
+#define wxImage_new_4 1081
+#define wxImage_new_5 1082
+#define wxImage_new_2 1083
+#define wxImage_new_3_1 1084
+#define wxImage_Blur 1085
+#define wxImage_BlurHorizontal 1086
+#define wxImage_BlurVertical 1087
+#define wxImage_ConvertAlphaToMask 1088
+#define wxImage_ConvertToGreyscale 1089
+#define wxImage_ConvertToMono 1090
+#define wxImage_Copy 1091
+#define wxImage_Create_3 1092
+#define wxImage_Create_4 1093
+#define wxImage_Create_5 1094
+#define wxImage_Destroy 1095
+#define wxImage_FindFirstUnusedColour 1096
+#define wxImage_GetImageExtWildcard 1097
+#define wxImage_GetAlpha_2 1098
+#define wxImage_GetAlpha_0 1099
+#define wxImage_GetBlue 1100
+#define wxImage_GetData 1101
+#define wxImage_GetGreen 1102
+#define wxImage_GetImageCount 1103
+#define wxImage_GetHeight 1104
+#define wxImage_GetMaskBlue 1105
+#define wxImage_GetMaskGreen 1106
+#define wxImage_GetMaskRed 1107
+#define wxImage_GetOrFindMaskColour 1108
+#define wxImage_GetPalette 1109
+#define wxImage_GetRed 1110
+#define wxImage_GetSubImage 1111
+#define wxImage_GetWidth 1112
+#define wxImage_HasAlpha 1113
+#define wxImage_HasMask 1114
+#define wxImage_GetOption 1115
+#define wxImage_GetOptionInt 1116
+#define wxImage_HasOption 1117
+#define wxImage_InitAlpha 1118
+#define wxImage_InitStandardHandlers 1119
+#define wxImage_IsTransparent 1120
+#define wxImage_LoadFile_2 1121
+#define wxImage_LoadFile_3 1122
+#define wxImage_Ok 1123
+#define wxImage_RemoveHandler 1124
+#define wxImage_Mirror 1125
+#define wxImage_Replace 1126
+#define wxImage_Rescale 1127
+#define wxImage_Resize 1128
+#define wxImage_Rotate 1129
+#define wxImage_RotateHue 1130
+#define wxImage_Rotate90 1131
+#define wxImage_SaveFile_1 1132
+#define wxImage_SaveFile_2_0 1133
+#define wxImage_SaveFile_2_1 1134
+#define wxImage_Scale 1135
+#define wxImage_Size 1136
+#define wxImage_SetAlpha_3 1137
+#define wxImage_SetAlpha_2 1138
+#define wxImage_SetData_2 1139
+#define wxImage_SetData_4 1140
+#define wxImage_SetMask 1141
+#define wxImage_SetMaskColour 1142
+#define wxImage_SetMaskFromImage 1143
+#define wxImage_SetOption_2_1 1144
+#define wxImage_SetOption_2_0 1145
+#define wxImage_SetPalette 1146
+#define wxImage_SetRGB_5 1147
+#define wxImage_SetRGB_4 1148
+#define wxImage_destroy 1149
+#define wxBrush_new_0 1150
+#define wxBrush_new_2 1151
+#define wxBrush_new_1 1152
+#define wxBrush_destruct 1154
+#define wxBrush_GetColour 1155
+#define wxBrush_GetStipple 1156
+#define wxBrush_GetStyle 1157
+#define wxBrush_IsHatch 1158
+#define wxBrush_IsOk 1159
+#define wxBrush_SetColour_1 1160
+#define wxBrush_SetColour_3 1161
+#define wxBrush_SetStipple 1162
+#define wxBrush_SetStyle 1163
+#define wxPen_new_0 1164
+#define wxPen_new_2 1165
+#define wxPen_destruct 1166
+#define wxPen_GetCap 1167
+#define wxPen_GetColour 1168
+#define wxPen_GetJoin 1169
+#define wxPen_GetStyle 1170
+#define wxPen_GetWidth 1171
+#define wxPen_IsOk 1172
+#define wxPen_SetCap 1173
+#define wxPen_SetColour_1 1174
+#define wxPen_SetColour_3 1175
+#define wxPen_SetJoin 1176
+#define wxPen_SetStyle 1177
+#define wxPen_SetWidth 1178
+#define wxRegion_new_0 1179
+#define wxRegion_new_4 1180
+#define wxRegion_new_2 1181
+#define wxRegion_new_1_1 1182
+#define wxRegion_new_1_0 1184
+#define wxRegion_destruct 1186
+#define wxRegion_Clear 1187
+#define wxRegion_Contains_2 1188
+#define wxRegion_Contains_1_0 1189
+#define wxRegion_Contains_4 1190
+#define wxRegion_Contains_1_1 1191
+#define wxRegion_ConvertToBitmap 1192
+#define wxRegion_GetBox 1193
+#define wxRegion_Intersect_4 1194
+#define wxRegion_Intersect_1_1 1195
+#define wxRegion_Intersect_1_0 1196
+#define wxRegion_IsEmpty 1197
+#define wxRegion_Subtract_4 1198
+#define wxRegion_Subtract_1_1 1199
+#define wxRegion_Subtract_1_0 1200
+#define wxRegion_Offset_2 1201
+#define wxRegion_Offset_1 1202
+#define wxRegion_Union_4 1203
+#define wxRegion_Union_1_2 1204
+#define wxRegion_Union_1_1 1205
+#define wxRegion_Union_1_0 1206
+#define wxRegion_Union_3 1207
+#define wxRegion_Xor_4 1208
+#define wxRegion_Xor_1_1 1209
+#define wxRegion_Xor_1_0 1210
+#define wxAcceleratorTable_new_0 1211
+#define wxAcceleratorTable_new_2 1212
+#define wxAcceleratorTable_destruct 1213
+#define wxAcceleratorTable_Ok 1214
+#define wxAcceleratorEntry_new_1_0 1215
+#define wxAcceleratorEntry_new_1_1 1216
+#define wxAcceleratorEntry_GetCommand 1217
+#define wxAcceleratorEntry_GetFlags 1218
+#define wxAcceleratorEntry_GetKeyCode 1219
+#define wxAcceleratorEntry_Set 1220
+#define wxAcceleratorEntry_destroy 1221
+#define wxCaret_new_3 1226
+#define wxCaret_new_2 1227
+#define wxCaret_destruct 1229
+#define wxCaret_Create_3 1230
+#define wxCaret_Create_2 1231
+#define wxCaret_GetBlinkTime 1232
+#define wxCaret_GetPosition 1234
+#define wxCaret_GetSize 1236
+#define wxCaret_GetWindow 1237
+#define wxCaret_Hide 1238
+#define wxCaret_IsOk 1239
+#define wxCaret_IsVisible 1240
+#define wxCaret_Move_2 1241
+#define wxCaret_Move_1 1242
+#define wxCaret_SetBlinkTime 1243
+#define wxCaret_SetSize_2 1244
+#define wxCaret_SetSize_1 1245
+#define wxCaret_Show 1246
+#define wxSizer_Add_2_1 1247
+#define wxSizer_Add_2_0 1248
+#define wxSizer_Add_3 1249
+#define wxSizer_Add_2_3 1250
+#define wxSizer_Add_2_2 1251
+#define wxSizer_AddSpacer 1252
+#define wxSizer_AddStretchSpacer 1253
+#define wxSizer_CalcMin 1254
+#define wxSizer_Clear 1255
+#define wxSizer_Detach_1_2 1256
+#define wxSizer_Detach_1_1 1257
+#define wxSizer_Detach_1_0 1258
+#define wxSizer_Fit 1259
+#define wxSizer_FitInside 1260
+#define wxSizer_GetChildren 1261
+#define wxSizer_GetItem_2_1 1262
+#define wxSizer_GetItem_2_0 1263
+#define wxSizer_GetItem_1 1264
+#define wxSizer_GetSize 1265
+#define wxSizer_GetPosition 1266
+#define wxSizer_GetMinSize 1267
+#define wxSizer_Hide_2_0 1268
+#define wxSizer_Hide_2_1 1269
+#define wxSizer_Hide_1 1270
+#define wxSizer_Insert_3_1 1271
+#define wxSizer_Insert_3_0 1272
+#define wxSizer_Insert_4 1273
+#define wxSizer_Insert_3_3 1274
+#define wxSizer_Insert_3_2 1275
+#define wxSizer_Insert_2 1276
+#define wxSizer_InsertSpacer 1277
+#define wxSizer_InsertStretchSpacer 1278
+#define wxSizer_IsShown_1_2 1279
+#define wxSizer_IsShown_1_1 1280
+#define wxSizer_IsShown_1_0 1281
+#define wxSizer_Layout 1282
+#define wxSizer_Prepend_2_1 1283
+#define wxSizer_Prepend_2_0 1284
+#define wxSizer_Prepend_3 1285
+#define wxSizer_Prepend_2_3 1286
+#define wxSizer_Prepend_2_2 1287
+#define wxSizer_Prepend_1 1288
+#define wxSizer_PrependSpacer 1289
+#define wxSizer_PrependStretchSpacer 1290
+#define wxSizer_RecalcSizes 1291
+#define wxSizer_Remove_1_1 1292
+#define wxSizer_Remove_1_0 1293
+#define wxSizer_Replace_3_1 1294
+#define wxSizer_Replace_3_0 1295
+#define wxSizer_Replace_2 1296
+#define wxSizer_SetDimension 1297
+#define wxSizer_SetMinSize_2 1298
+#define wxSizer_SetMinSize_1 1299
+#define wxSizer_SetItemMinSize_3_2 1300
+#define wxSizer_SetItemMinSize_2_2 1301
+#define wxSizer_SetItemMinSize_3_1 1302
+#define wxSizer_SetItemMinSize_2_1 1303
+#define wxSizer_SetItemMinSize_3_0 1304
+#define wxSizer_SetItemMinSize_2_0 1305
+#define wxSizer_SetSizeHints 1306
+#define wxSizer_SetVirtualSizeHints 1307
+#define wxSizer_Show_2_2 1308
+#define wxSizer_Show_2_1 1309
+#define wxSizer_Show_2_0 1310
+#define wxSizer_Show_1 1311
+#define wxSizerFlags_new 1312
+#define wxSizerFlags_Align 1313
+#define wxSizerFlags_Border_2 1314
+#define wxSizerFlags_Border_1 1315
+#define wxSizerFlags_Center 1316
+#define wxSizerFlags_Centre 1317
+#define wxSizerFlags_Expand 1318
+#define wxSizerFlags_Left 1319
+#define wxSizerFlags_Proportion 1320
+#define wxSizerFlags_Right 1321
+#define wxSizerFlags_destroy 1322
+#define wxSizerItem_new_5_1 1323
+#define wxSizerItem_new_2_1 1324
+#define wxSizerItem_new_5_0 1325
+#define wxSizerItem_new_2_0 1326
+#define wxSizerItem_new_6 1327
+#define wxSizerItem_new_3 1328
+#define wxSizerItem_new_0 1329
+#define wxSizerItem_destruct 1330
+#define wxSizerItem_CalcMin 1331
+#define wxSizerItem_DeleteWindows 1332
+#define wxSizerItem_DetachSizer 1333
+#define wxSizerItem_GetBorder 1334
+#define wxSizerItem_GetFlag 1335
+#define wxSizerItem_GetMinSize 1336
+#define wxSizerItem_GetPosition 1337
+#define wxSizerItem_GetProportion 1338
+#define wxSizerItem_GetRatio 1339
+#define wxSizerItem_GetRect 1340
+#define wxSizerItem_GetSize 1341
+#define wxSizerItem_GetSizer 1342
+#define wxSizerItem_GetSpacer 1343
+#define wxSizerItem_GetUserData 1344
+#define wxSizerItem_GetWindow 1345
+#define wxSizerItem_IsSizer 1346
+#define wxSizerItem_IsShown 1347
+#define wxSizerItem_IsSpacer 1348
+#define wxSizerItem_IsWindow 1349
+#define wxSizerItem_SetBorder 1350
+#define wxSizerItem_SetDimension 1351
+#define wxSizerItem_SetFlag 1352
+#define wxSizerItem_SetInitSize 1353
+#define wxSizerItem_SetMinSize_1 1354
+#define wxSizerItem_SetMinSize_2 1355
+#define wxSizerItem_SetProportion 1356
+#define wxSizerItem_SetRatio_2 1357
+#define wxSizerItem_SetRatio_1_1 1358
+#define wxSizerItem_SetRatio_1_0 1359
+#define wxSizerItem_SetSizer 1360
+#define wxSizerItem_SetSpacer_1 1361
+#define wxSizerItem_SetSpacer_2 1362
+#define wxSizerItem_SetWindow 1363
+#define wxSizerItem_Show 1364
+#define wxBoxSizer_new 1365
+#define wxBoxSizer_GetOrientation 1366
+#define wxBoxSizer_destroy 1367
+#define wxStaticBoxSizer_new_2 1368
+#define wxStaticBoxSizer_new_3 1369
+#define wxStaticBoxSizer_GetStaticBox 1370
+#define wxStaticBoxSizer_destroy 1371
+#define wxGridSizer_new_4 1372
+#define wxGridSizer_new_2 1373
+#define wxGridSizer_GetCols 1374
+#define wxGridSizer_GetHGap 1375
+#define wxGridSizer_GetRows 1376
+#define wxGridSizer_GetVGap 1377
+#define wxGridSizer_SetCols 1378
+#define wxGridSizer_SetHGap 1379
+#define wxGridSizer_SetRows 1380
+#define wxGridSizer_SetVGap 1381
+#define wxGridSizer_destroy 1382
+#define wxFlexGridSizer_new_4 1383
+#define wxFlexGridSizer_new_2 1384
+#define wxFlexGridSizer_AddGrowableCol 1385
+#define wxFlexGridSizer_AddGrowableRow 1386
+#define wxFlexGridSizer_GetFlexibleDirection 1387
+#define wxFlexGridSizer_GetNonFlexibleGrowMode 1388
+#define wxFlexGridSizer_RemoveGrowableCol 1389
+#define wxFlexGridSizer_RemoveGrowableRow 1390
+#define wxFlexGridSizer_SetFlexibleDirection 1391
+#define wxFlexGridSizer_SetNonFlexibleGrowMode 1392
+#define wxFlexGridSizer_destroy 1393
+#define wxGridBagSizer_new 1394
+#define wxGridBagSizer_Add_3_2 1395
+#define wxGridBagSizer_Add_3_1 1396
+#define wxGridBagSizer_Add_4 1397
+#define wxGridBagSizer_Add_1_0 1398
+#define wxGridBagSizer_Add_2_1 1399
+#define wxGridBagSizer_Add_2_0 1400
+#define wxGridBagSizer_Add_3_0 1401
+#define wxGridBagSizer_Add_1_1 1402
+#define wxGridBagSizer_CalcMin 1403
+#define wxGridBagSizer_CheckForIntersection_2 1404
+#define wxGridBagSizer_CheckForIntersection_3 1405
+#define wxGridBagSizer_FindItem_1_1 1406
+#define wxGridBagSizer_FindItem_1_0 1407
+#define wxGridBagSizer_FindItemAtPoint 1408
+#define wxGridBagSizer_FindItemAtPosition 1409
+#define wxGridBagSizer_FindItemWithData 1410
+#define wxGridBagSizer_GetCellSize 1411
+#define wxGridBagSizer_GetEmptyCellSize 1412
+#define wxGridBagSizer_GetItemPosition_1_2 1413
+#define wxGridBagSizer_GetItemPosition_1_1 1414
+#define wxGridBagSizer_GetItemPosition_1_0 1415
+#define wxGridBagSizer_GetItemSpan_1_2 1416
+#define wxGridBagSizer_GetItemSpan_1_1 1417
+#define wxGridBagSizer_GetItemSpan_1_0 1418
+#define wxGridBagSizer_SetEmptyCellSize 1419
+#define wxGridBagSizer_SetItemPosition_2_2 1420
+#define wxGridBagSizer_SetItemPosition_2_1 1421
+#define wxGridBagSizer_SetItemPosition_2_0 1422
+#define wxGridBagSizer_SetItemSpan_2_2 1423
+#define wxGridBagSizer_SetItemSpan_2_1 1424
+#define wxGridBagSizer_SetItemSpan_2_0 1425
+#define wxGridBagSizer_destroy 1426
+#define wxStdDialogButtonSizer_new 1427
+#define wxStdDialogButtonSizer_AddButton 1428
+#define wxStdDialogButtonSizer_Realize 1429
+#define wxStdDialogButtonSizer_SetAffirmativeButton 1430
+#define wxStdDialogButtonSizer_SetCancelButton 1431
+#define wxStdDialogButtonSizer_SetNegativeButton 1432
+#define wxStdDialogButtonSizer_destroy 1433
+#define wxFont_new_0 1434
+#define wxFont_new_1 1435
+#define wxFont_new_5 1436
+#define wxFont_destruct 1438
+#define wxFont_IsFixedWidth 1439
+#define wxFont_GetDefaultEncoding 1440
+#define wxFont_GetFaceName 1441
+#define wxFont_GetFamily 1442
+#define wxFont_GetNativeFontInfoDesc 1443
+#define wxFont_GetNativeFontInfoUserDesc 1444
+#define wxFont_GetPointSize 1445
+#define wxFont_GetStyle 1446
+#define wxFont_GetUnderlined 1447
+#define wxFont_GetWeight 1448
+#define wxFont_Ok 1449
+#define wxFont_SetDefaultEncoding 1450
+#define wxFont_SetFaceName 1451
+#define wxFont_SetFamily 1452
+#define wxFont_SetPointSize 1453
+#define wxFont_SetStyle 1454
+#define wxFont_SetUnderlined 1455
+#define wxFont_SetWeight 1456
+#define wxToolTip_Enable 1457
+#define wxToolTip_SetDelay 1458
+#define wxToolTip_new 1459
+#define wxToolTip_SetTip 1460
+#define wxToolTip_GetTip 1461
+#define wxToolTip_GetWindow 1462
+#define wxToolTip_destroy 1463
+#define wxButton_new_3 1465
+#define wxButton_new_0 1466
+#define wxButton_destruct 1467
+#define wxButton_Create 1468
+#define wxButton_GetDefaultSize 1469
+#define wxButton_SetDefault 1470
+#define wxButton_SetLabel 1471
+#define wxBitmapButton_new_4 1473
+#define wxBitmapButton_new_0 1474
+#define wxBitmapButton_Create 1475
+#define wxBitmapButton_GetBitmapDisabled 1476
+#define wxBitmapButton_GetBitmapFocus 1478
+#define wxBitmapButton_GetBitmapLabel 1480
+#define wxBitmapButton_GetBitmapSelected 1482
+#define wxBitmapButton_SetBitmapDisabled 1484
+#define wxBitmapButton_SetBitmapFocus 1485
+#define wxBitmapButton_SetBitmapLabel 1486
+#define wxBitmapButton_SetBitmapSelected 1487
+#define wxBitmapButton_destroy 1488
+#define wxToggleButton_new_0 1489
+#define wxToggleButton_new_4 1490
+#define wxToggleButton_Create 1491
+#define wxToggleButton_GetValue 1492
+#define wxToggleButton_SetValue 1493
+#define wxToggleButton_destroy 1494
+#define wxCalendarCtrl_new_0 1495
+#define wxCalendarCtrl_new_3 1496
+#define wxCalendarCtrl_Create 1497
+#define wxCalendarCtrl_destruct 1498
+#define wxCalendarCtrl_SetDate 1499
+#define wxCalendarCtrl_GetDate 1500
+#define wxCalendarCtrl_EnableYearChange 1501
+#define wxCalendarCtrl_EnableMonthChange 1502
+#define wxCalendarCtrl_EnableHolidayDisplay 1503
+#define wxCalendarCtrl_SetHeaderColours 1504
+#define wxCalendarCtrl_GetHeaderColourFg 1505
+#define wxCalendarCtrl_GetHeaderColourBg 1506
+#define wxCalendarCtrl_SetHighlightColours 1507
+#define wxCalendarCtrl_GetHighlightColourFg 1508
+#define wxCalendarCtrl_GetHighlightColourBg 1509
+#define wxCalendarCtrl_SetHolidayColours 1510
+#define wxCalendarCtrl_GetHolidayColourFg 1511
+#define wxCalendarCtrl_GetHolidayColourBg 1512
+#define wxCalendarCtrl_GetAttr 1513
+#define wxCalendarCtrl_SetAttr 1514
+#define wxCalendarCtrl_SetHoliday 1515
+#define wxCalendarCtrl_ResetAttr 1516
+#define wxCalendarCtrl_HitTest 1517
+#define wxCalendarDateAttr_new_0 1518
+#define wxCalendarDateAttr_new_2_1 1519
+#define wxCalendarDateAttr_new_2_0 1520
+#define wxCalendarDateAttr_SetTextColour 1521
+#define wxCalendarDateAttr_SetBackgroundColour 1522
+#define wxCalendarDateAttr_SetBorderColour 1523
+#define wxCalendarDateAttr_SetFont 1524
+#define wxCalendarDateAttr_SetBorder 1525
+#define wxCalendarDateAttr_SetHoliday 1526
+#define wxCalendarDateAttr_HasTextColour 1527
+#define wxCalendarDateAttr_HasBackgroundColour 1528
+#define wxCalendarDateAttr_HasBorderColour 1529
+#define wxCalendarDateAttr_HasFont 1530
+#define wxCalendarDateAttr_HasBorder 1531
+#define wxCalendarDateAttr_IsHoliday 1532
+#define wxCalendarDateAttr_GetTextColour 1533
+#define wxCalendarDateAttr_GetBackgroundColour 1534
+#define wxCalendarDateAttr_GetBorderColour 1535
+#define wxCalendarDateAttr_GetFont 1536
+#define wxCalendarDateAttr_GetBorder 1537
+#define wxCalendarDateAttr_destroy 1538
+#define wxCheckBox_new_4 1540
+#define wxCheckBox_new_0 1541
+#define wxCheckBox_Create 1542
+#define wxCheckBox_GetValue 1543
+#define wxCheckBox_Get3StateValue 1544
+#define wxCheckBox_Is3rdStateAllowedForUser 1545
+#define wxCheckBox_Is3State 1546
+#define wxCheckBox_IsChecked 1547
+#define wxCheckBox_SetValue 1548
+#define wxCheckBox_Set3StateValue 1549
+#define wxCheckBox_destroy 1550
+#define wxCheckListBox_new_0 1551
+#define wxCheckListBox_new_3 1553
+#define wxCheckListBox_Check 1554
+#define wxCheckListBox_IsChecked 1555
+#define wxCheckListBox_destroy 1556
+#define wxChoice_new_3 1559
+#define wxChoice_new_0 1560
+#define wxChoice_destruct 1562
+#define wxChoice_Create 1564
+#define wxChoice_Delete 1565
+#define wxChoice_GetColumns 1566
+#define wxChoice_SetColumns 1567
+#define wxComboBox_new_0 1568
+#define wxComboBox_new_3 1570
+#define wxComboBox_destruct 1571
+#define wxComboBox_Create 1573
+#define wxComboBox_CanCopy 1574
+#define wxComboBox_CanCut 1575
+#define wxComboBox_CanPaste 1576
+#define wxComboBox_CanRedo 1577
+#define wxComboBox_CanUndo 1578
+#define wxComboBox_Copy 1579
+#define wxComboBox_Cut 1580
+#define wxComboBox_GetInsertionPoint 1581
+#define wxComboBox_GetLastPosition 1582
+#define wxComboBox_GetValue 1583
+#define wxComboBox_Paste 1584
+#define wxComboBox_Redo 1585
+#define wxComboBox_Replace 1586
+#define wxComboBox_Remove 1587
+#define wxComboBox_SetInsertionPoint 1588
+#define wxComboBox_SetInsertionPointEnd 1589
+#define wxComboBox_SetSelection_1 1590
+#define wxComboBox_SetSelection_2 1591
+#define wxComboBox_SetValue 1592
+#define wxComboBox_Undo 1593
+#define wxGauge_new_0 1594
+#define wxGauge_new_4 1595
+#define wxGauge_Create 1596
+#define wxGauge_GetBezelFace 1597
+#define wxGauge_GetRange 1598
+#define wxGauge_GetShadowWidth 1599
+#define wxGauge_GetValue 1600
+#define wxGauge_IsVertical 1601
+#define wxGauge_SetBezelFace 1602
+#define wxGauge_SetRange 1603
+#define wxGauge_SetShadowWidth 1604
+#define wxGauge_SetValue 1605
+#define wxGauge_Pulse 1606
+#define wxGauge_destroy 1607
+#define wxGenericDirCtrl_new_0 1608
+#define wxGenericDirCtrl_new_2 1609
+#define wxGenericDirCtrl_destruct 1610
+#define wxGenericDirCtrl_Create 1611
+#define wxGenericDirCtrl_Init 1612
+#define wxGenericDirCtrl_CollapseTree 1613
+#define wxGenericDirCtrl_ExpandPath 1614
+#define wxGenericDirCtrl_GetDefaultPath 1615
+#define wxGenericDirCtrl_GetPath 1616
+#define wxGenericDirCtrl_GetFilePath 1617
+#define wxGenericDirCtrl_GetFilter 1618
+#define wxGenericDirCtrl_GetFilterIndex 1619
+#define wxGenericDirCtrl_GetRootId 1620
+#define wxGenericDirCtrl_GetTreeCtrl 1621
+#define wxGenericDirCtrl_ReCreateTree 1622
+#define wxGenericDirCtrl_SetDefaultPath 1623
+#define wxGenericDirCtrl_SetFilter 1624
+#define wxGenericDirCtrl_SetFilterIndex 1625
+#define wxGenericDirCtrl_SetPath 1626
+#define wxStaticBox_new_4 1628
+#define wxStaticBox_new_0 1629
+#define wxStaticBox_Create 1630
+#define wxStaticBox_destroy 1631
+#define wxStaticLine_new_2 1633
+#define wxStaticLine_new_0 1634
+#define wxStaticLine_Create 1635
+#define wxStaticLine_IsVertical 1636
+#define wxStaticLine_GetDefaultSize 1637
+#define wxStaticLine_destroy 1638
+#define wxListBox_new_3 1641
+#define wxListBox_new_0 1642
+#define wxListBox_destruct 1644
+#define wxListBox_Create 1646
+#define wxListBox_Deselect 1647
+#define wxListBox_GetSelections 1648
+#define wxListBox_InsertItems 1649
+#define wxListBox_IsSelected 1650
+#define wxListBox_Set 1652
+#define wxListBox_HitTest 1653
+#define wxListBox_SetFirstItem_1_0 1654
+#define wxListBox_SetFirstItem_1_1 1655
+#define wxListCtrl_new_0 1656
+#define wxListCtrl_new_2 1657
+#define wxListCtrl_Arrange 1658
+#define wxListCtrl_AssignImageList 1659
+#define wxListCtrl_ClearAll 1660
+#define wxListCtrl_Create 1661
+#define wxListCtrl_DeleteAllItems 1662
+#define wxListCtrl_DeleteColumn 1663
+#define wxListCtrl_DeleteItem 1664
+#define wxListCtrl_EditLabel 1665
+#define wxListCtrl_EnsureVisible 1666
+#define wxListCtrl_FindItem_3_0 1667
+#define wxListCtrl_FindItem_3_1 1668
+#define wxListCtrl_GetColumn 1669
+#define wxListCtrl_GetColumnCount 1670
+#define wxListCtrl_GetColumnWidth 1671
+#define wxListCtrl_GetCountPerPage 1672
+#define wxListCtrl_GetEditControl 1673
+#define wxListCtrl_GetImageList 1674
+#define wxListCtrl_GetItem 1675
+#define wxListCtrl_GetItemBackgroundColour 1676
+#define wxListCtrl_GetItemCount 1677
+#define wxListCtrl_GetItemData 1678
+#define wxListCtrl_GetItemFont 1679
+#define wxListCtrl_GetItemPosition 1680
+#define wxListCtrl_GetItemRect 1681
+#define wxListCtrl_GetItemSpacing 1682
+#define wxListCtrl_GetItemState 1683
+#define wxListCtrl_GetItemText 1684
+#define wxListCtrl_GetItemTextColour 1685
+#define wxListCtrl_GetNextItem 1686
+#define wxListCtrl_GetSelectedItemCount 1687
+#define wxListCtrl_GetTextColour 1688
+#define wxListCtrl_GetTopItem 1689
+#define wxListCtrl_GetViewRect 1690
+#define wxListCtrl_HitTest 1691
+#define wxListCtrl_InsertColumn_2 1692
+#define wxListCtrl_InsertColumn_3 1693
+#define wxListCtrl_InsertItem_1 1694
+#define wxListCtrl_InsertItem_2_1 1695
+#define wxListCtrl_InsertItem_2_0 1696
+#define wxListCtrl_InsertItem_3 1697
+#define wxListCtrl_RefreshItem 1698
+#define wxListCtrl_RefreshItems 1699
+#define wxListCtrl_ScrollList 1700
+#define wxListCtrl_SetBackgroundColour 1701
+#define wxListCtrl_SetColumn 1702
+#define wxListCtrl_SetColumnWidth 1703
+#define wxListCtrl_SetImageList 1704
+#define wxListCtrl_SetItem_1 1705
+#define wxListCtrl_SetItem_4 1706
+#define wxListCtrl_SetItemBackgroundColour 1707
+#define wxListCtrl_SetItemCount 1708
+#define wxListCtrl_SetItemData 1709
+#define wxListCtrl_SetItemFont 1710
+#define wxListCtrl_SetItemImage 1711
+#define wxListCtrl_SetItemColumnImage 1712
+#define wxListCtrl_SetItemPosition 1713
+#define wxListCtrl_SetItemState 1714
+#define wxListCtrl_SetItemText 1715
+#define wxListCtrl_SetItemTextColour 1716
+#define wxListCtrl_SetSingleStyle 1717
+#define wxListCtrl_SetTextColour 1718
+#define wxListCtrl_SetWindowStyleFlag 1719
+#define wxListCtrl_SortItems 1720
+#define wxListCtrl_destroy 1721
+#define wxListView_ClearColumnImage 1722
+#define wxListView_Focus 1723
+#define wxListView_GetFirstSelected 1724
+#define wxListView_GetFocusedItem 1725
+#define wxListView_GetNextSelected 1726
+#define wxListView_IsSelected 1727
+#define wxListView_Select 1728
+#define wxListView_SetColumnImage 1729
+#define wxListItem_new_0 1730
+#define wxListItem_new_1 1731
+#define wxListItem_destruct 1732
+#define wxListItem_Clear 1733
+#define wxListItem_GetAlign 1734
+#define wxListItem_GetBackgroundColour 1735
+#define wxListItem_GetColumn 1736
+#define wxListItem_GetFont 1737
+#define wxListItem_GetId 1738
+#define wxListItem_GetImage 1739
+#define wxListItem_GetMask 1740
+#define wxListItem_GetState 1741
+#define wxListItem_GetText 1742
+#define wxListItem_GetTextColour 1743
+#define wxListItem_GetWidth 1744
+#define wxListItem_SetAlign 1745
+#define wxListItem_SetBackgroundColour 1746
+#define wxListItem_SetColumn 1747
+#define wxListItem_SetFont 1748
+#define wxListItem_SetId 1749
+#define wxListItem_SetImage 1750
+#define wxListItem_SetMask 1751
+#define wxListItem_SetState 1752
+#define wxListItem_SetStateMask 1753
+#define wxListItem_SetText 1754
+#define wxListItem_SetTextColour 1755
+#define wxListItem_SetWidth 1756
+#define wxImageList_new_0 1757
+#define wxImageList_new_3 1758
+#define wxImageList_Add_1 1759
+#define wxImageList_Add_2_0 1760
+#define wxImageList_Add_2_1 1761
+#define wxImageList_Create 1762
+#define wxImageList_Draw 1764
+#define wxImageList_GetBitmap 1765
+#define wxImageList_GetIcon 1766
+#define wxImageList_GetImageCount 1767
+#define wxImageList_GetSize 1768
+#define wxImageList_Remove 1769
+#define wxImageList_RemoveAll 1770
+#define wxImageList_Replace_2 1771
+#define wxImageList_Replace_3 1772
+#define wxImageList_destroy 1773
+#define wxTextAttr_new_0 1774
+#define wxTextAttr_new_2 1775
+#define wxTextAttr_GetAlignment 1776
+#define wxTextAttr_GetBackgroundColour 1777
+#define wxTextAttr_GetFont 1778
+#define wxTextAttr_GetLeftIndent 1779
+#define wxTextAttr_GetLeftSubIndent 1780
+#define wxTextAttr_GetRightIndent 1781
+#define wxTextAttr_GetTabs 1782
+#define wxTextAttr_GetTextColour 1783
+#define wxTextAttr_HasBackgroundColour 1784
+#define wxTextAttr_HasFont 1785
+#define wxTextAttr_HasTextColour 1786
+#define wxTextAttr_GetFlags 1787
+#define wxTextAttr_IsDefault 1788
+#define wxTextAttr_SetAlignment 1789
+#define wxTextAttr_SetBackgroundColour 1790
+#define wxTextAttr_SetFlags 1791
+#define wxTextAttr_SetFont 1792
+#define wxTextAttr_SetLeftIndent 1793
+#define wxTextAttr_SetRightIndent 1794
+#define wxTextAttr_SetTabs 1795
+#define wxTextAttr_SetTextColour 1796
+#define wxTextAttr_destroy 1797
+#define wxTextCtrl_new_3 1799
+#define wxTextCtrl_new_0 1800
+#define wxTextCtrl_destruct 1802
+#define wxTextCtrl_AppendText 1803
+#define wxTextCtrl_CanCopy 1804
+#define wxTextCtrl_CanCut 1805
+#define wxTextCtrl_CanPaste 1806
+#define wxTextCtrl_CanRedo 1807
+#define wxTextCtrl_CanUndo 1808
+#define wxTextCtrl_Clear 1809
+#define wxTextCtrl_Copy 1810
+#define wxTextCtrl_Create 1811
+#define wxTextCtrl_Cut 1812
+#define wxTextCtrl_DiscardEdits 1813
+#define wxTextCtrl_EmulateKeyPress 1814
+#define wxTextCtrl_GetDefaultStyle 1815
+#define wxTextCtrl_GetInsertionPoint 1816
+#define wxTextCtrl_GetLastPosition 1817
+#define wxTextCtrl_GetLineLength 1818
+#define wxTextCtrl_GetLineText 1819
+#define wxTextCtrl_GetNumberOfLines 1820
+#define wxTextCtrl_GetRange 1821
+#define wxTextCtrl_GetSelection 1822
+#define wxTextCtrl_GetStringSelection 1823
+#define wxTextCtrl_GetStyle 1824
+#define wxTextCtrl_GetValue 1825
+#define wxTextCtrl_IsEditable 1826
+#define wxTextCtrl_IsModified 1827
+#define wxTextCtrl_IsMultiLine 1828
+#define wxTextCtrl_IsSingleLine 1829
+#define wxTextCtrl_LoadFile 1830
+#define wxTextCtrl_MarkDirty 1831
+#define wxTextCtrl_Paste 1832
+#define wxTextCtrl_PositionToXY 1833
+#define wxTextCtrl_Redo 1834
+#define wxTextCtrl_Remove 1835
+#define wxTextCtrl_Replace 1836
+#define wxTextCtrl_SaveFile 1837
+#define wxTextCtrl_SetDefaultStyle 1838
+#define wxTextCtrl_SetEditable 1839
+#define wxTextCtrl_SetInsertionPoint 1840
+#define wxTextCtrl_SetInsertionPointEnd 1841
+#define wxTextCtrl_SetMaxLength 1843
+#define wxTextCtrl_SetSelection 1844
+#define wxTextCtrl_SetStyle 1845
+#define wxTextCtrl_SetValue 1846
+#define wxTextCtrl_ShowPosition 1847
+#define wxTextCtrl_Undo 1848
+#define wxTextCtrl_WriteText 1849
+#define wxTextCtrl_XYToPosition 1850
+#define wxNotebook_new_0 1853
+#define wxNotebook_new_3 1854
+#define wxNotebook_destruct 1855
+#define wxNotebook_AddPage 1856
+#define wxNotebook_AdvanceSelection 1857
+#define wxNotebook_AssignImageList 1858
+#define wxNotebook_Create 1859
+#define wxNotebook_DeleteAllPages 1860
+#define wxNotebook_DeletePage 1861
+#define wxNotebook_RemovePage 1862
+#define wxNotebook_GetCurrentPage 1863
+#define wxNotebook_GetImageList 1864
+#define wxNotebook_GetPage 1866
+#define wxNotebook_GetPageCount 1867
+#define wxNotebook_GetPageImage 1868
+#define wxNotebook_GetPageText 1869
+#define wxNotebook_GetRowCount 1870
+#define wxNotebook_GetSelection 1871
+#define wxNotebook_GetThemeBackgroundColour 1872
+#define wxNotebook_HitTest 1874
+#define wxNotebook_InsertPage 1876
+#define wxNotebook_SetImageList 1877
+#define wxNotebook_SetPadding 1878
+#define wxNotebook_SetPageSize 1879
+#define wxNotebook_SetPageImage 1880
+#define wxNotebook_SetPageText 1881
+#define wxNotebook_SetSelection 1882
+#define wxNotebook_ChangeSelection 1883
+#define wxChoicebook_new_0 1884
+#define wxChoicebook_new_3 1885
+#define wxChoicebook_AddPage 1886
+#define wxChoicebook_AdvanceSelection 1887
+#define wxChoicebook_AssignImageList 1888
+#define wxChoicebook_Create 1889
+#define wxChoicebook_DeleteAllPages 1890
+#define wxChoicebook_DeletePage 1891
+#define wxChoicebook_RemovePage 1892
+#define wxChoicebook_GetCurrentPage 1893
+#define wxChoicebook_GetImageList 1894
+#define wxChoicebook_GetPage 1896
+#define wxChoicebook_GetPageCount 1897
+#define wxChoicebook_GetPageImage 1898
+#define wxChoicebook_GetPageText 1899
+#define wxChoicebook_GetSelection 1900
+#define wxChoicebook_HitTest 1901
+#define wxChoicebook_InsertPage 1902
+#define wxChoicebook_SetImageList 1903
+#define wxChoicebook_SetPageSize 1904
+#define wxChoicebook_SetPageImage 1905
+#define wxChoicebook_SetPageText 1906
+#define wxChoicebook_SetSelection 1907
+#define wxChoicebook_ChangeSelection 1908
+#define wxChoicebook_destroy 1909
+#define wxToolbook_new_0 1910
+#define wxToolbook_new_3 1911
+#define wxToolbook_AddPage 1912
+#define wxToolbook_AdvanceSelection 1913
+#define wxToolbook_AssignImageList 1914
+#define wxToolbook_Create 1915
+#define wxToolbook_DeleteAllPages 1916
+#define wxToolbook_DeletePage 1917
+#define wxToolbook_RemovePage 1918
+#define wxToolbook_GetCurrentPage 1919
+#define wxToolbook_GetImageList 1920
+#define wxToolbook_GetPage 1922
+#define wxToolbook_GetPageCount 1923
+#define wxToolbook_GetPageImage 1924
+#define wxToolbook_GetPageText 1925
+#define wxToolbook_GetSelection 1926
+#define wxToolbook_HitTest 1928
+#define wxToolbook_InsertPage 1929
+#define wxToolbook_SetImageList 1930
+#define wxToolbook_SetPageSize 1931
+#define wxToolbook_SetPageImage 1932
+#define wxToolbook_SetPageText 1933
+#define wxToolbook_SetSelection 1934
+#define wxToolbook_ChangeSelection 1935
+#define wxToolbook_destroy 1936
+#define wxListbook_new_0 1937
+#define wxListbook_new_3 1938
+#define wxListbook_AddPage 1939
+#define wxListbook_AdvanceSelection 1940
+#define wxListbook_AssignImageList 1941
+#define wxListbook_Create 1942
+#define wxListbook_DeleteAllPages 1943
+#define wxListbook_DeletePage 1944
+#define wxListbook_RemovePage 1945
+#define wxListbook_GetCurrentPage 1946
+#define wxListbook_GetImageList 1947
+#define wxListbook_GetPage 1949
+#define wxListbook_GetPageCount 1950
+#define wxListbook_GetPageImage 1951
+#define wxListbook_GetPageText 1952
+#define wxListbook_GetSelection 1953
+#define wxListbook_HitTest 1955
+#define wxListbook_InsertPage 1956
+#define wxListbook_SetImageList 1957
+#define wxListbook_SetPageSize 1958
+#define wxListbook_SetPageImage 1959
+#define wxListbook_SetPageText 1960
+#define wxListbook_SetSelection 1961
+#define wxListbook_ChangeSelection 1962
+#define wxListbook_destroy 1963
+#define wxTreebook_new_0 1964
+#define wxTreebook_new_3 1965
+#define wxTreebook_AddPage 1966
+#define wxTreebook_AdvanceSelection 1967
+#define wxTreebook_AssignImageList 1968
+#define wxTreebook_Create 1969
+#define wxTreebook_DeleteAllPages 1970
+#define wxTreebook_DeletePage 1971
+#define wxTreebook_RemovePage 1972
+#define wxTreebook_GetCurrentPage 1973
+#define wxTreebook_GetImageList 1974
+#define wxTreebook_GetPage 1976
+#define wxTreebook_GetPageCount 1977
+#define wxTreebook_GetPageImage 1978
+#define wxTreebook_GetPageText 1979
+#define wxTreebook_GetSelection 1980
+#define wxTreebook_ExpandNode 1981
+#define wxTreebook_IsNodeExpanded 1982
+#define wxTreebook_HitTest 1984
+#define wxTreebook_InsertPage 1985
+#define wxTreebook_InsertSubPage 1986
+#define wxTreebook_SetImageList 1987
+#define wxTreebook_SetPageSize 1988
+#define wxTreebook_SetPageImage 1989
+#define wxTreebook_SetPageText 1990
+#define wxTreebook_SetSelection 1991
+#define wxTreebook_ChangeSelection 1992
+#define wxTreebook_destroy 1993
+#define wxTreeCtrl_new_2 1996
+#define wxTreeCtrl_new_0 1997
+#define wxTreeCtrl_destruct 1999
+#define wxTreeCtrl_AddRoot 2000
+#define wxTreeCtrl_AppendItem 2001
+#define wxTreeCtrl_AssignImageList 2002
+#define wxTreeCtrl_AssignStateImageList 2003
+#define wxTreeCtrl_Collapse 2004
+#define wxTreeCtrl_CollapseAndReset 2005
+#define wxTreeCtrl_Create 2006
+#define wxTreeCtrl_Delete 2007
+#define wxTreeCtrl_DeleteAllItems 2008
+#define wxTreeCtrl_DeleteChildren 2009
+#define wxTreeCtrl_EnsureVisible 2010
+#define wxTreeCtrl_Expand 2011
+#define wxTreeCtrl_GetBoundingRect 2012
+#define wxTreeCtrl_GetChildrenCount 2014
+#define wxTreeCtrl_GetCount 2015
+#define wxTreeCtrl_GetEditControl 2016
+#define wxTreeCtrl_GetFirstChild 2017
+#define wxTreeCtrl_GetNextChild 2018
+#define wxTreeCtrl_GetFirstVisibleItem 2019
+#define wxTreeCtrl_GetImageList 2020
+#define wxTreeCtrl_GetIndent 2021
+#define wxTreeCtrl_GetItemBackgroundColour 2022
+#define wxTreeCtrl_GetItemData 2023
+#define wxTreeCtrl_GetItemFont 2024
+#define wxTreeCtrl_GetItemImage_1 2025
+#define wxTreeCtrl_GetItemImage_2 2026
+#define wxTreeCtrl_GetItemText 2027
+#define wxTreeCtrl_GetItemTextColour 2028
+#define wxTreeCtrl_GetLastChild 2029
+#define wxTreeCtrl_GetNextSibling 2030
+#define wxTreeCtrl_GetNextVisible 2031
+#define wxTreeCtrl_GetItemParent 2032
+#define wxTreeCtrl_GetPrevSibling 2033
+#define wxTreeCtrl_GetPrevVisible 2034
+#define wxTreeCtrl_GetRootItem 2035
+#define wxTreeCtrl_GetSelection 2036
+#define wxTreeCtrl_GetSelections 2037
+#define wxTreeCtrl_GetStateImageList 2038
+#define wxTreeCtrl_HitTest 2039
+#define wxTreeCtrl_InsertItem 2041
+#define wxTreeCtrl_IsBold 2042
+#define wxTreeCtrl_IsExpanded 2043
+#define wxTreeCtrl_IsSelected 2044
+#define wxTreeCtrl_IsVisible 2045
+#define wxTreeCtrl_ItemHasChildren 2046
+#define wxTreeCtrl_PrependItem 2047
+#define wxTreeCtrl_ScrollTo 2048
+#define wxTreeCtrl_SelectItem_1 2049
+#define wxTreeCtrl_SelectItem_2 2050
+#define wxTreeCtrl_SetIndent 2051
+#define wxTreeCtrl_SetImageList 2052
+#define wxTreeCtrl_SetItemBackgroundColour 2053
+#define wxTreeCtrl_SetItemBold 2054
+#define wxTreeCtrl_SetItemData 2055
+#define wxTreeCtrl_SetItemDropHighlight 2056
+#define wxTreeCtrl_SetItemFont 2057
+#define wxTreeCtrl_SetItemHasChildren 2058
+#define wxTreeCtrl_SetItemImage_2 2059
+#define wxTreeCtrl_SetItemImage_3 2060
+#define wxTreeCtrl_SetItemText 2061
+#define wxTreeCtrl_SetItemTextColour 2062
+#define wxTreeCtrl_SetStateImageList 2063
+#define wxTreeCtrl_SetWindowStyle 2064
+#define wxTreeCtrl_SortChildren 2065
+#define wxTreeCtrl_Toggle 2066
+#define wxTreeCtrl_ToggleItemSelection 2067
+#define wxTreeCtrl_Unselect 2068
+#define wxTreeCtrl_UnselectAll 2069
+#define wxTreeCtrl_UnselectItem 2070
+#define wxScrollBar_new_0 2071
+#define wxScrollBar_new_3 2072
+#define wxScrollBar_destruct 2073
+#define wxScrollBar_Create 2074
+#define wxScrollBar_GetRange 2075
+#define wxScrollBar_GetPageSize 2076
+#define wxScrollBar_GetThumbPosition 2077
+#define wxScrollBar_GetThumbSize 2078
+#define wxScrollBar_SetThumbPosition 2079
+#define wxScrollBar_SetScrollbar 2080
+#define wxSpinButton_new_2 2082
+#define wxSpinButton_new_0 2083
+#define wxSpinButton_Create 2084
+#define wxSpinButton_GetMax 2085
+#define wxSpinButton_GetMin 2086
+#define wxSpinButton_GetValue 2087
+#define wxSpinButton_SetRange 2088
+#define wxSpinButton_SetValue 2089
+#define wxSpinButton_destroy 2090
+#define wxSpinCtrl_new_0 2091
+#define wxSpinCtrl_new_2 2092
+#define wxSpinCtrl_Create 2094
+#define wxSpinCtrl_SetValue_1_1 2097
+#define wxSpinCtrl_SetValue_1_0 2098
+#define wxSpinCtrl_GetValue 2100
+#define wxSpinCtrl_SetRange 2102
+#define wxSpinCtrl_SetSelection 2103
+#define wxSpinCtrl_GetMin 2105
+#define wxSpinCtrl_GetMax 2107
+#define wxSpinCtrl_destroy 2108
+#define wxStaticText_new_0 2109
+#define wxStaticText_new_4 2110
+#define wxStaticText_Create 2111
+#define wxStaticText_GetLabel 2112
+#define wxStaticText_SetLabel 2113
+#define wxStaticText_Wrap 2114
+#define wxStaticText_destroy 2115
+#define wxStaticBitmap_new_0 2116
+#define wxStaticBitmap_new_4 2117
+#define wxStaticBitmap_Create 2118
+#define wxStaticBitmap_GetBitmap 2119
+#define wxStaticBitmap_SetBitmap 2120
+#define wxStaticBitmap_destroy 2121
+#define wxRadioBox_new 2122
+#define wxRadioBox_destruct 2124
+#define wxRadioBox_Create 2125
+#define wxRadioBox_Enable_2 2126
+#define wxRadioBox_Enable_1 2127
+#define wxRadioBox_GetSelection 2128
+#define wxRadioBox_GetString 2129
+#define wxRadioBox_SetSelection 2130
+#define wxRadioBox_Show_2 2131
+#define wxRadioBox_Show_1 2132
+#define wxRadioBox_GetColumnCount 2133
+#define wxRadioBox_GetItemHelpText 2134
+#define wxRadioBox_GetItemToolTip 2135
+#define wxRadioBox_GetItemFromPoint 2137
+#define wxRadioBox_GetRowCount 2138
+#define wxRadioBox_IsItemEnabled 2139
+#define wxRadioBox_IsItemShown 2140
+#define wxRadioBox_SetItemHelpText 2141
+#define wxRadioBox_SetItemToolTip 2142
+#define wxRadioButton_new_0 2143
+#define wxRadioButton_new_4 2144
+#define wxRadioButton_Create 2145
+#define wxRadioButton_GetValue 2146
+#define wxRadioButton_SetValue 2147
+#define wxRadioButton_destroy 2148
+#define wxSlider_new_6 2150
+#define wxSlider_new_0 2151
+#define wxSlider_Create 2152
+#define wxSlider_GetLineSize 2153
+#define wxSlider_GetMax 2154
+#define wxSlider_GetMin 2155
+#define wxSlider_GetPageSize 2156
+#define wxSlider_GetThumbLength 2157
+#define wxSlider_GetValue 2158
+#define wxSlider_SetLineSize 2159
+#define wxSlider_SetPageSize 2160
+#define wxSlider_SetRange 2161
+#define wxSlider_SetThumbLength 2162
+#define wxSlider_SetValue 2163
+#define wxSlider_destroy 2164
+#define wxDialog_new_4 2166
+#define wxDialog_new_0 2167
+#define wxDialog_destruct 2169
+#define wxDialog_Create 2170
+#define wxDialog_CreateButtonSizer 2171
+#define wxDialog_CreateStdDialogButtonSizer 2172
+#define wxDialog_EndModal 2173
+#define wxDialog_GetAffirmativeId 2174
+#define wxDialog_GetReturnCode 2175
+#define wxDialog_IsModal 2176
+#define wxDialog_SetAffirmativeId 2177
+#define wxDialog_SetReturnCode 2178
+#define wxDialog_Show 2179
+#define wxDialog_ShowModal 2180
+#define wxColourDialog_new_0 2181
+#define wxColourDialog_new_2 2182
+#define wxColourDialog_destruct 2183
+#define wxColourDialog_Create 2184
+#define wxColourDialog_GetColourData 2185
+#define wxColourData_new_0 2186
+#define wxColourData_new_1 2187
+#define wxColourData_destruct 2188
+#define wxColourData_GetChooseFull 2189
+#define wxColourData_GetColour 2190
+#define wxColourData_GetCustomColour 2192
+#define wxColourData_SetChooseFull 2193
+#define wxColourData_SetColour 2194
+#define wxColourData_SetCustomColour 2195
+#define wxPalette_new_0 2196
+#define wxPalette_new_4 2197
+#define wxPalette_destruct 2199
+#define wxPalette_Create 2200
+#define wxPalette_GetColoursCount 2201
+#define wxPalette_GetPixel 2202
+#define wxPalette_GetRGB 2203
+#define wxPalette_IsOk 2204
+#define wxDirDialog_new 2208
+#define wxDirDialog_destruct 2209
+#define wxDirDialog_GetPath 2210
+#define wxDirDialog_GetMessage 2211
+#define wxDirDialog_SetMessage 2212
+#define wxDirDialog_SetPath 2213
+#define wxFileDialog_new 2217
+#define wxFileDialog_destruct 2218
+#define wxFileDialog_GetDirectory 2219
+#define wxFileDialog_GetFilename 2220
+#define wxFileDialog_GetFilenames 2221
+#define wxFileDialog_GetFilterIndex 2222
+#define wxFileDialog_GetMessage 2223
+#define wxFileDialog_GetPath 2224
+#define wxFileDialog_GetPaths 2225
+#define wxFileDialog_GetWildcard 2226
+#define wxFileDialog_SetDirectory 2227
+#define wxFileDialog_SetFilename 2228
+#define wxFileDialog_SetFilterIndex 2229
+#define wxFileDialog_SetMessage 2230
+#define wxFileDialog_SetPath 2231
+#define wxFileDialog_SetWildcard 2232
+#define wxPickerBase_SetInternalMargin 2233
+#define wxPickerBase_GetInternalMargin 2234
+#define wxPickerBase_SetTextCtrlProportion 2235
+#define wxPickerBase_SetPickerCtrlProportion 2236
+#define wxPickerBase_GetTextCtrlProportion 2237
+#define wxPickerBase_GetPickerCtrlProportion 2238
+#define wxPickerBase_HasTextCtrl 2239
+#define wxPickerBase_GetTextCtrl 2240
+#define wxPickerBase_IsTextCtrlGrowable 2241
+#define wxPickerBase_SetPickerCtrlGrowable 2242
+#define wxPickerBase_SetTextCtrlGrowable 2243
+#define wxPickerBase_IsPickerCtrlGrowable 2244
+#define wxFilePickerCtrl_new_0 2245
+#define wxFilePickerCtrl_new_3 2246
+#define wxFilePickerCtrl_Create 2247
+#define wxFilePickerCtrl_GetPath 2248
+#define wxFilePickerCtrl_SetPath 2249
+#define wxFilePickerCtrl_destroy 2250
+#define wxDirPickerCtrl_new_0 2251
+#define wxDirPickerCtrl_new_3 2252
+#define wxDirPickerCtrl_Create 2253
+#define wxDirPickerCtrl_GetPath 2254
+#define wxDirPickerCtrl_SetPath 2255
+#define wxDirPickerCtrl_destroy 2256
+#define wxColourPickerCtrl_new_0 2257
+#define wxColourPickerCtrl_new_3 2258
+#define wxColourPickerCtrl_Create 2259
+#define wxColourPickerCtrl_GetColour 2260
+#define wxColourPickerCtrl_SetColour_1_1 2261
+#define wxColourPickerCtrl_SetColour_1_0 2262
+#define wxColourPickerCtrl_destroy 2263
+#define wxDatePickerCtrl_new_0 2264
+#define wxDatePickerCtrl_new_3 2265
+#define wxDatePickerCtrl_GetRange 2266
+#define wxDatePickerCtrl_GetValue 2267
+#define wxDatePickerCtrl_SetRange 2268
+#define wxDatePickerCtrl_SetValue 2269
+#define wxDatePickerCtrl_destroy 2270
+#define wxFontPickerCtrl_new_0 2271
+#define wxFontPickerCtrl_new_3 2272
+#define wxFontPickerCtrl_Create 2273
+#define wxFontPickerCtrl_GetSelectedFont 2274
+#define wxFontPickerCtrl_SetSelectedFont 2275
+#define wxFontPickerCtrl_GetMaxPointSize 2276
+#define wxFontPickerCtrl_SetMaxPointSize 2277
+#define wxFontPickerCtrl_destroy 2278
+#define wxFindReplaceDialog_new_0 2281
+#define wxFindReplaceDialog_new_4 2282
+#define wxFindReplaceDialog_destruct 2283
+#define wxFindReplaceDialog_Create 2284
+#define wxFindReplaceDialog_GetData 2285
+#define wxFindReplaceData_new_0 2286
+#define wxFindReplaceData_new_1 2287
+#define wxFindReplaceData_GetFindString 2288
+#define wxFindReplaceData_GetReplaceString 2289
+#define wxFindReplaceData_GetFlags 2290
+#define wxFindReplaceData_SetFlags 2291
+#define wxFindReplaceData_SetFindString 2292
+#define wxFindReplaceData_SetReplaceString 2293
+#define wxFindReplaceData_destroy 2294
+#define wxMultiChoiceDialog_new_0 2295
+#define wxMultiChoiceDialog_new_5 2297
+#define wxMultiChoiceDialog_GetSelections 2298
+#define wxMultiChoiceDialog_SetSelections 2299
+#define wxMultiChoiceDialog_destroy 2300
+#define wxSingleChoiceDialog_new_0 2301
+#define wxSingleChoiceDialog_new_5 2303
+#define wxSingleChoiceDialog_GetSelection 2304
+#define wxSingleChoiceDialog_GetStringSelection 2305
+#define wxSingleChoiceDialog_SetSelection 2306
+#define wxSingleChoiceDialog_destroy 2307
+#define wxTextEntryDialog_new 2308
+#define wxTextEntryDialog_GetValue 2309
+#define wxTextEntryDialog_SetValue 2310
+#define wxTextEntryDialog_destroy 2311
+#define wxPasswordEntryDialog_new 2312
+#define wxPasswordEntryDialog_destroy 2313
+#define wxFontData_new_0 2314
+#define wxFontData_new_1 2315
+#define wxFontData_destruct 2316
+#define wxFontData_EnableEffects 2317
+#define wxFontData_GetAllowSymbols 2318
+#define wxFontData_GetColour 2319
+#define wxFontData_GetChosenFont 2320
+#define wxFontData_GetEnableEffects 2321
+#define wxFontData_GetInitialFont 2322
+#define wxFontData_GetShowHelp 2323
+#define wxFontData_SetAllowSymbols 2324
+#define wxFontData_SetChosenFont 2325
+#define wxFontData_SetColour 2326
+#define wxFontData_SetInitialFont 2327
+#define wxFontData_SetRange 2328
+#define wxFontData_SetShowHelp 2329
+#define wxFontDialog_new_0 2333
+#define wxFontDialog_new_2 2335
+#define wxFontDialog_Create 2337
+#define wxFontDialog_GetFontData 2338
+#define wxFontDialog_destroy 2340
+#define wxProgressDialog_new 2341
+#define wxProgressDialog_destruct 2342
+#define wxProgressDialog_Resume 2343
+#define wxProgressDialog_Update_2 2344
+#define wxProgressDialog_Update_0 2345
+#define wxMessageDialog_new 2346
+#define wxMessageDialog_destruct 2347
+#define wxPageSetupDialog_new 2348
+#define wxPageSetupDialog_destruct 2349
+#define wxPageSetupDialog_GetPageSetupData 2350
+#define wxPageSetupDialog_ShowModal 2351
+#define wxPageSetupDialogData_new_0 2352
+#define wxPageSetupDialogData_new_1_0 2353
+#define wxPageSetupDialogData_new_1_1 2354
+#define wxPageSetupDialogData_destruct 2355
+#define wxPageSetupDialogData_EnableHelp 2356
+#define wxPageSetupDialogData_EnableMargins 2357
+#define wxPageSetupDialogData_EnableOrientation 2358
+#define wxPageSetupDialogData_EnablePaper 2359
+#define wxPageSetupDialogData_EnablePrinter 2360
+#define wxPageSetupDialogData_GetDefaultMinMargins 2361
+#define wxPageSetupDialogData_GetEnableMargins 2362
+#define wxPageSetupDialogData_GetEnableOrientation 2363
+#define wxPageSetupDialogData_GetEnablePaper 2364
+#define wxPageSetupDialogData_GetEnablePrinter 2365
+#define wxPageSetupDialogData_GetEnableHelp 2366
+#define wxPageSetupDialogData_GetDefaultInfo 2367
+#define wxPageSetupDialogData_GetMarginTopLeft 2368
+#define wxPageSetupDialogData_GetMarginBottomRight 2369
+#define wxPageSetupDialogData_GetMinMarginTopLeft 2370
+#define wxPageSetupDialogData_GetMinMarginBottomRight 2371
+#define wxPageSetupDialogData_GetPaperId 2372
+#define wxPageSetupDialogData_GetPaperSize 2373
+#define wxPageSetupDialogData_GetPrintData 2375
+#define wxPageSetupDialogData_IsOk 2376
+#define wxPageSetupDialogData_SetDefaultInfo 2377
+#define wxPageSetupDialogData_SetDefaultMinMargins 2378
+#define wxPageSetupDialogData_SetMarginTopLeft 2379
+#define wxPageSetupDialogData_SetMarginBottomRight 2380
+#define wxPageSetupDialogData_SetMinMarginTopLeft 2381
+#define wxPageSetupDialogData_SetMinMarginBottomRight 2382
+#define wxPageSetupDialogData_SetPaperId 2383
+#define wxPageSetupDialogData_SetPaperSize_1_1 2384
+#define wxPageSetupDialogData_SetPaperSize_1_0 2385
+#define wxPageSetupDialogData_SetPrintData 2386
+#define wxPrintDialog_new_2_0 2387
+#define wxPrintDialog_new_2_1 2388
+#define wxPrintDialog_destruct 2389
+#define wxPrintDialog_GetPrintDialogData 2390
+#define wxPrintDialog_GetPrintDC 2391
+#define wxPrintDialogData_new_0 2392
+#define wxPrintDialogData_new_1_1 2393
+#define wxPrintDialogData_new_1_0 2394
+#define wxPrintDialogData_destruct 2395
+#define wxPrintDialogData_EnableHelp 2396
+#define wxPrintDialogData_EnablePageNumbers 2397
+#define wxPrintDialogData_EnablePrintToFile 2398
+#define wxPrintDialogData_EnableSelection 2399
+#define wxPrintDialogData_GetAllPages 2400
+#define wxPrintDialogData_GetCollate 2401
+#define wxPrintDialogData_GetFromPage 2402
+#define wxPrintDialogData_GetMaxPage 2403
+#define wxPrintDialogData_GetMinPage 2404
+#define wxPrintDialogData_GetNoCopies 2405
+#define wxPrintDialogData_GetPrintData 2406
+#define wxPrintDialogData_GetPrintToFile 2407
+#define wxPrintDialogData_GetSelection 2408
+#define wxPrintDialogData_GetToPage 2409
+#define wxPrintDialogData_IsOk 2410
+#define wxPrintDialogData_SetCollate 2411
+#define wxPrintDialogData_SetFromPage 2412
+#define wxPrintDialogData_SetMaxPage 2413
+#define wxPrintDialogData_SetMinPage 2414
+#define wxPrintDialogData_SetNoCopies 2415
+#define wxPrintDialogData_SetPrintData 2416
+#define wxPrintDialogData_SetPrintToFile 2417
+#define wxPrintDialogData_SetSelection 2418
+#define wxPrintDialogData_SetToPage 2419
+#define wxPrintData_new_0 2420
+#define wxPrintData_new_1 2421
+#define wxPrintData_destruct 2422
+#define wxPrintData_GetCollate 2423
+#define wxPrintData_GetBin 2424
+#define wxPrintData_GetColour 2425
+#define wxPrintData_GetDuplex 2426
+#define wxPrintData_GetNoCopies 2427
+#define wxPrintData_GetOrientation 2428
+#define wxPrintData_GetPaperId 2429
+#define wxPrintData_GetPrinterName 2430
+#define wxPrintData_GetQuality 2431
+#define wxPrintData_IsOk 2432
+#define wxPrintData_SetBin 2433
+#define wxPrintData_SetCollate 2434
+#define wxPrintData_SetColour 2435
+#define wxPrintData_SetDuplex 2436
+#define wxPrintData_SetNoCopies 2437
+#define wxPrintData_SetOrientation 2438
+#define wxPrintData_SetPaperId 2439
+#define wxPrintData_SetPrinterName 2440
+#define wxPrintData_SetQuality 2441
+#define wxPrintPreview_new_2 2444
+#define wxPrintPreview_new_3 2445
+#define wxPrintPreview_destruct 2447
+#define wxPrintPreview_GetCanvas 2448
+#define wxPrintPreview_GetCurrentPage 2449
+#define wxPrintPreview_GetFrame 2450
+#define wxPrintPreview_GetMaxPage 2451
+#define wxPrintPreview_GetMinPage 2452
+#define wxPrintPreview_GetPrintout 2453
+#define wxPrintPreview_GetPrintoutForPrinting 2454
+#define wxPrintPreview_IsOk 2455
+#define wxPrintPreview_PaintPage 2456
+#define wxPrintPreview_Print 2457
+#define wxPrintPreview_RenderPage 2458
+#define wxPrintPreview_SetCanvas 2459
+#define wxPrintPreview_SetCurrentPage 2460
+#define wxPrintPreview_SetFrame 2461
+#define wxPrintPreview_SetPrintout 2462
+#define wxPrintPreview_SetZoom 2463
+#define wxPreviewFrame_new 2464
+#define wxPreviewFrame_destruct 2465
+#define wxPreviewFrame_CreateControlBar 2466
+#define wxPreviewFrame_CreateCanvas 2467
+#define wxPreviewFrame_Initialize 2468
+#define wxPreviewFrame_OnCloseWindow 2469
+#define wxPreviewControlBar_new 2470
+#define wxPreviewControlBar_destruct 2471
+#define wxPreviewControlBar_CreateButtons 2472
+#define wxPreviewControlBar_GetPrintPreview 2473
+#define wxPreviewControlBar_GetZoomControl 2474
+#define wxPreviewControlBar_SetZoomControl 2475
+#define wxPrinter_new 2477
+#define wxPrinter_CreateAbortWindow 2478
+#define wxPrinter_GetAbort 2479
+#define wxPrinter_GetLastError 2480
+#define wxPrinter_GetPrintDialogData 2481
+#define wxPrinter_Print 2482
+#define wxPrinter_PrintDialog 2483
+#define wxPrinter_ReportError 2484
+#define wxPrinter_Setup 2485
+#define wxPrinter_destroy 2486
+#define wxXmlResource_new_1 2487
+#define wxXmlResource_new_2 2488
+#define wxXmlResource_destruct 2489
+#define wxXmlResource_AttachUnknownControl 2490
+#define wxXmlResource_ClearHandlers 2491
+#define wxXmlResource_CompareVersion 2492
+#define wxXmlResource_Get 2493
+#define wxXmlResource_GetFlags 2494
+#define wxXmlResource_GetVersion 2495
+#define wxXmlResource_GetXRCID 2496
+#define wxXmlResource_InitAllHandlers 2497
+#define wxXmlResource_Load 2498
+#define wxXmlResource_LoadBitmap 2499
+#define wxXmlResource_LoadDialog_2 2500
+#define wxXmlResource_LoadDialog_3 2501
+#define wxXmlResource_LoadFrame_2 2502
+#define wxXmlResource_LoadFrame_3 2503
+#define wxXmlResource_LoadIcon 2504
+#define wxXmlResource_LoadMenu 2505
+#define wxXmlResource_LoadMenuBar_2 2506
+#define wxXmlResource_LoadMenuBar_1 2507
+#define wxXmlResource_LoadPanel_2 2508
+#define wxXmlResource_LoadPanel_3 2509
+#define wxXmlResource_LoadToolBar 2510
+#define wxXmlResource_Set 2511
+#define wxXmlResource_SetFlags 2512
+#define wxXmlResource_Unload 2513
+#define wxXmlResource_xrcctrl 2514
+#define wxHtmlEasyPrinting_new 2515
+#define wxHtmlEasyPrinting_destruct 2516
+#define wxHtmlEasyPrinting_GetPrintData 2517
+#define wxHtmlEasyPrinting_GetPageSetupData 2518
+#define wxHtmlEasyPrinting_PreviewFile 2519
+#define wxHtmlEasyPrinting_PreviewText 2520
+#define wxHtmlEasyPrinting_PrintFile 2521
+#define wxHtmlEasyPrinting_PrintText 2522
+#define wxHtmlEasyPrinting_PageSetup 2523
+#define wxHtmlEasyPrinting_SetFonts 2524
+#define wxHtmlEasyPrinting_SetHeader 2525
+#define wxHtmlEasyPrinting_SetFooter 2526
+#define wxGLCanvas_new_2 2528
+#define wxGLCanvas_new_3_1 2529
+#define wxGLCanvas_new_3_0 2530
+#define wxGLCanvas_GetContext 2531
+#define wxGLCanvas_SetCurrent 2533
+#define wxGLCanvas_SwapBuffers 2534
+#define wxGLCanvas_destroy 2535
+#define wxAuiManager_new 2536
+#define wxAuiManager_destruct 2537
+#define wxAuiManager_AddPane_2_1 2538
+#define wxAuiManager_AddPane_3 2539
+#define wxAuiManager_AddPane_2_0 2540
+#define wxAuiManager_DetachPane 2541
+#define wxAuiManager_GetAllPanes 2542
+#define wxAuiManager_GetArtProvider 2543
+#define wxAuiManager_GetDockSizeConstraint 2544
+#define wxAuiManager_GetFlags 2545
+#define wxAuiManager_GetManagedWindow 2546
+#define wxAuiManager_GetManager 2547
+#define wxAuiManager_GetPane_1_1 2548
+#define wxAuiManager_GetPane_1_0 2549
+#define wxAuiManager_HideHint 2550
+#define wxAuiManager_InsertPane 2551
+#define wxAuiManager_LoadPaneInfo 2552
+#define wxAuiManager_LoadPerspective 2553
+#define wxAuiManager_SavePaneInfo 2554
+#define wxAuiManager_SavePerspective 2555
+#define wxAuiManager_SetArtProvider 2556
+#define wxAuiManager_SetDockSizeConstraint 2557
+#define wxAuiManager_SetFlags 2558
+#define wxAuiManager_SetManagedWindow 2559
+#define wxAuiManager_ShowHint 2560
+#define wxAuiManager_UnInit 2561
+#define wxAuiManager_Update 2562
+#define wxAuiPaneInfo_new_0 2563
+#define wxAuiPaneInfo_new_1 2564
+#define wxAuiPaneInfo_destruct 2565
+#define wxAuiPaneInfo_BestSize_1 2566
+#define wxAuiPaneInfo_BestSize_2 2567
+#define wxAuiPaneInfo_Bottom 2568
+#define wxAuiPaneInfo_BottomDockable 2569
+#define wxAuiPaneInfo_Caption 2570
+#define wxAuiPaneInfo_CaptionVisible 2571
+#define wxAuiPaneInfo_Centre 2572
+#define wxAuiPaneInfo_CentrePane 2573
+#define wxAuiPaneInfo_CloseButton 2574
+#define wxAuiPaneInfo_DefaultPane 2575
+#define wxAuiPaneInfo_DestroyOnClose 2576
+#define wxAuiPaneInfo_Direction 2577
+#define wxAuiPaneInfo_Dock 2578
+#define wxAuiPaneInfo_Dockable 2579
+#define wxAuiPaneInfo_Fixed 2580
+#define wxAuiPaneInfo_Float 2581
+#define wxAuiPaneInfo_Floatable 2582
+#define wxAuiPaneInfo_FloatingPosition_1 2583
+#define wxAuiPaneInfo_FloatingPosition_2 2584
+#define wxAuiPaneInfo_FloatingSize_1 2585
+#define wxAuiPaneInfo_FloatingSize_2 2586
+#define wxAuiPaneInfo_Gripper 2587
+#define wxAuiPaneInfo_GripperTop 2588
+#define wxAuiPaneInfo_HasBorder 2589
+#define wxAuiPaneInfo_HasCaption 2590
+#define wxAuiPaneInfo_HasCloseButton 2591
+#define wxAuiPaneInfo_HasFlag 2592
+#define wxAuiPaneInfo_HasGripper 2593
+#define wxAuiPaneInfo_HasGripperTop 2594
+#define wxAuiPaneInfo_HasMaximizeButton 2595
+#define wxAuiPaneInfo_HasMinimizeButton 2596
+#define wxAuiPaneInfo_HasPinButton 2597
+#define wxAuiPaneInfo_Hide 2598
+#define wxAuiPaneInfo_IsBottomDockable 2599
+#define wxAuiPaneInfo_IsDocked 2600
+#define wxAuiPaneInfo_IsFixed 2601
+#define wxAuiPaneInfo_IsFloatable 2602
+#define wxAuiPaneInfo_IsFloating 2603
+#define wxAuiPaneInfo_IsLeftDockable 2604
+#define wxAuiPaneInfo_IsMovable 2605
+#define wxAuiPaneInfo_IsOk 2606
+#define wxAuiPaneInfo_IsResizable 2607
+#define wxAuiPaneInfo_IsRightDockable 2608
+#define wxAuiPaneInfo_IsShown 2609
+#define wxAuiPaneInfo_IsToolbar 2610
+#define wxAuiPaneInfo_IsTopDockable 2611
+#define wxAuiPaneInfo_Layer 2612
+#define wxAuiPaneInfo_Left 2613
+#define wxAuiPaneInfo_LeftDockable 2614
+#define wxAuiPaneInfo_MaxSize_1 2615
+#define wxAuiPaneInfo_MaxSize_2 2616
+#define wxAuiPaneInfo_MaximizeButton 2617
+#define wxAuiPaneInfo_MinSize_1 2618
+#define wxAuiPaneInfo_MinSize_2 2619
+#define wxAuiPaneInfo_MinimizeButton 2620
+#define wxAuiPaneInfo_Movable 2621
+#define wxAuiPaneInfo_Name 2622
+#define wxAuiPaneInfo_PaneBorder 2623
+#define wxAuiPaneInfo_PinButton 2624
+#define wxAuiPaneInfo_Position 2625
+#define wxAuiPaneInfo_Resizable 2626
+#define wxAuiPaneInfo_Right 2627
+#define wxAuiPaneInfo_RightDockable 2628
+#define wxAuiPaneInfo_Row 2629
+#define wxAuiPaneInfo_SafeSet 2630
+#define wxAuiPaneInfo_SetFlag 2631
+#define wxAuiPaneInfo_Show 2632
+#define wxAuiPaneInfo_ToolbarPane 2633
+#define wxAuiPaneInfo_Top 2634
+#define wxAuiPaneInfo_TopDockable 2635
+#define wxAuiPaneInfo_Window 2636
+#define wxAuiNotebook_new_0 2637
+#define wxAuiNotebook_new_2 2638
+#define wxAuiNotebook_AddPage 2639
+#define wxAuiNotebook_Create 2640
+#define wxAuiNotebook_DeletePage 2641
+#define wxAuiNotebook_GetArtProvider 2642
+#define wxAuiNotebook_GetPage 2643
+#define wxAuiNotebook_GetPageBitmap 2644
+#define wxAuiNotebook_GetPageCount 2645
+#define wxAuiNotebook_GetPageIndex 2646
+#define wxAuiNotebook_GetPageText 2647
+#define wxAuiNotebook_GetSelection 2648
+#define wxAuiNotebook_InsertPage 2649
+#define wxAuiNotebook_RemovePage 2650
+#define wxAuiNotebook_SetArtProvider 2651
+#define wxAuiNotebook_SetFont 2652
+#define wxAuiNotebook_SetPageBitmap 2653
+#define wxAuiNotebook_SetPageText 2654
+#define wxAuiNotebook_SetSelection 2655
+#define wxAuiNotebook_SetTabCtrlHeight 2656
+#define wxAuiNotebook_SetUniformBitmapSize 2657
+#define wxAuiNotebook_destroy 2658
+#define wxMDIParentFrame_new_0 2659
+#define wxMDIParentFrame_new_4 2660
+#define wxMDIParentFrame_destruct 2661
+#define wxMDIParentFrame_ActivateNext 2662
+#define wxMDIParentFrame_ActivatePrevious 2663
+#define wxMDIParentFrame_ArrangeIcons 2664
+#define wxMDIParentFrame_Cascade 2665
+#define wxMDIParentFrame_Create 2666
+#define wxMDIParentFrame_GetActiveChild 2667
+#define wxMDIParentFrame_GetClientWindow 2668
+#define wxMDIParentFrame_Tile 2669
+#define wxMDIChildFrame_new_0 2670
+#define wxMDIChildFrame_new_4 2671
+#define wxMDIChildFrame_destruct 2672
+#define wxMDIChildFrame_Activate 2673
+#define wxMDIChildFrame_Create 2674
+#define wxMDIChildFrame_Maximize 2675
+#define wxMDIChildFrame_Restore 2676
+#define wxMDIClientWindow_new_0 2677
+#define wxMDIClientWindow_new_2 2678
+#define wxMDIClientWindow_destruct 2679
+#define wxMDIClientWindow_CreateClient 2680
+#define wxLayoutAlgorithm_new 2681
+#define wxLayoutAlgorithm_LayoutFrame 2682
+#define wxLayoutAlgorithm_LayoutMDIFrame 2683
+#define wxLayoutAlgorithm_LayoutWindow 2684
+#define wxLayoutAlgorithm_destroy 2685
+#define wxEvent_GetId 2686
+#define wxEvent_GetSkipped 2687
+#define wxEvent_GetTimestamp 2688
+#define wxEvent_IsCommandEvent 2689
+#define wxEvent_ResumePropagation 2690
+#define wxEvent_ShouldPropagate 2691
+#define wxEvent_Skip 2692
+#define wxEvent_StopPropagation 2693
+#define wxCommandEvent_getClientData 2694
+#define wxCommandEvent_GetExtraLong 2695
+#define wxCommandEvent_GetInt 2696
+#define wxCommandEvent_GetSelection 2697
+#define wxCommandEvent_GetString 2698
+#define wxCommandEvent_IsChecked 2699
+#define wxCommandEvent_IsSelection 2700
+#define wxCommandEvent_SetInt 2701
+#define wxCommandEvent_SetString 2702
+#define wxScrollEvent_GetOrientation 2703
+#define wxScrollEvent_GetPosition 2704
+#define wxScrollWinEvent_GetOrientation 2705
+#define wxScrollWinEvent_GetPosition 2706
+#define wxMouseEvent_AltDown 2707
+#define wxMouseEvent_Button 2708
+#define wxMouseEvent_ButtonDClick 2709
+#define wxMouseEvent_ButtonDown 2710
+#define wxMouseEvent_ButtonUp 2711
+#define wxMouseEvent_CmdDown 2712
+#define wxMouseEvent_ControlDown 2713
+#define wxMouseEvent_Dragging 2714
+#define wxMouseEvent_Entering 2715
+#define wxMouseEvent_GetButton 2716
+#define wxMouseEvent_GetPosition 2719
+#define wxMouseEvent_GetLogicalPosition 2720
+#define wxMouseEvent_GetLinesPerAction 2721
+#define wxMouseEvent_GetWheelRotation 2722
+#define wxMouseEvent_GetWheelDelta 2723
+#define wxMouseEvent_GetX 2724
+#define wxMouseEvent_GetY 2725
+#define wxMouseEvent_IsButton 2726
+#define wxMouseEvent_IsPageScroll 2727
+#define wxMouseEvent_Leaving 2728
+#define wxMouseEvent_LeftDClick 2729
+#define wxMouseEvent_LeftDown 2730
+#define wxMouseEvent_LeftIsDown 2731
+#define wxMouseEvent_LeftUp 2732
+#define wxMouseEvent_MetaDown 2733
+#define wxMouseEvent_MiddleDClick 2734
+#define wxMouseEvent_MiddleDown 2735
+#define wxMouseEvent_MiddleIsDown 2736
+#define wxMouseEvent_MiddleUp 2737
+#define wxMouseEvent_Moving 2738
+#define wxMouseEvent_RightDClick 2739
+#define wxMouseEvent_RightDown 2740
+#define wxMouseEvent_RightIsDown 2741
+#define wxMouseEvent_RightUp 2742
+#define wxMouseEvent_ShiftDown 2743
+#define wxSetCursorEvent_GetCursor 2744
+#define wxSetCursorEvent_GetX 2745
+#define wxSetCursorEvent_GetY 2746
+#define wxSetCursorEvent_HasCursor 2747
+#define wxSetCursorEvent_SetCursor 2748
+#define wxKeyEvent_AltDown 2749
+#define wxKeyEvent_CmdDown 2750
+#define wxKeyEvent_ControlDown 2751
+#define wxKeyEvent_GetKeyCode 2752
+#define wxKeyEvent_GetModifiers 2753
+#define wxKeyEvent_GetPosition 2756
+#define wxKeyEvent_GetRawKeyCode 2757
+#define wxKeyEvent_GetRawKeyFlags 2758
+#define wxKeyEvent_GetUnicodeKey 2759
+#define wxKeyEvent_GetX 2760
+#define wxKeyEvent_GetY 2761
+#define wxKeyEvent_HasModifiers 2762
+#define wxKeyEvent_MetaDown 2763
+#define wxKeyEvent_ShiftDown 2764
+#define wxSizeEvent_GetSize 2765
+#define wxMoveEvent_GetPosition 2766
+#define wxEraseEvent_GetDC 2767
+#define wxFocusEvent_GetWindow 2768
+#define wxChildFocusEvent_GetWindow 2769
+#define wxMenuEvent_GetMenu 2770
+#define wxMenuEvent_GetMenuId 2771
+#define wxMenuEvent_IsPopup 2772
+#define wxCloseEvent_CanVeto 2773
+#define wxCloseEvent_GetLoggingOff 2774
+#define wxCloseEvent_SetCanVeto 2775
+#define wxCloseEvent_SetLoggingOff 2776
+#define wxCloseEvent_Veto 2777
+#define wxShowEvent_SetShow 2778
+#define wxShowEvent_GetShow 2779
+#define wxIconizeEvent_Iconized 2780
+#define wxJoystickEvent_ButtonDown 2781
+#define wxJoystickEvent_ButtonIsDown 2782
+#define wxJoystickEvent_ButtonUp 2783
+#define wxJoystickEvent_GetButtonChange 2784
+#define wxJoystickEvent_GetButtonState 2785
+#define wxJoystickEvent_GetJoystick 2786
+#define wxJoystickEvent_GetPosition 2787
+#define wxJoystickEvent_GetZPosition 2788
+#define wxJoystickEvent_IsButton 2789
+#define wxJoystickEvent_IsMove 2790
+#define wxJoystickEvent_IsZMove 2791
+#define wxUpdateUIEvent_CanUpdate 2792
+#define wxUpdateUIEvent_Check 2793
+#define wxUpdateUIEvent_Enable 2794
+#define wxUpdateUIEvent_Show 2795
+#define wxUpdateUIEvent_GetChecked 2796
+#define wxUpdateUIEvent_GetEnabled 2797
+#define wxUpdateUIEvent_GetShown 2798
+#define wxUpdateUIEvent_GetSetChecked 2799
+#define wxUpdateUIEvent_GetSetEnabled 2800
+#define wxUpdateUIEvent_GetSetShown 2801
+#define wxUpdateUIEvent_GetSetText 2802
+#define wxUpdateUIEvent_GetText 2803
+#define wxUpdateUIEvent_GetMode 2804
+#define wxUpdateUIEvent_GetUpdateInterval 2805
+#define wxUpdateUIEvent_ResetUpdateTime 2806
+#define wxUpdateUIEvent_SetMode 2807
+#define wxUpdateUIEvent_SetText 2808
+#define wxUpdateUIEvent_SetUpdateInterval 2809
+#define wxMouseCaptureChangedEvent_GetCapturedWindow 2810
+#define wxPaletteChangedEvent_SetChangedWindow 2811
+#define wxPaletteChangedEvent_GetChangedWindow 2812
+#define wxQueryNewPaletteEvent_SetPaletteRealized 2813
+#define wxQueryNewPaletteEvent_GetPaletteRealized 2814
+#define wxNavigationKeyEvent_GetDirection 2815
+#define wxNavigationKeyEvent_SetDirection 2816
+#define wxNavigationKeyEvent_IsWindowChange 2817
+#define wxNavigationKeyEvent_SetWindowChange 2818
+#define wxNavigationKeyEvent_IsFromTab 2819
+#define wxNavigationKeyEvent_SetFromTab 2820
+#define wxNavigationKeyEvent_GetCurrentFocus 2821
+#define wxNavigationKeyEvent_SetCurrentFocus 2822
+#define wxHelpEvent_GetOrigin 2823
+#define wxHelpEvent_GetPosition 2824
+#define wxHelpEvent_SetOrigin 2825
+#define wxHelpEvent_SetPosition 2826
+#define wxContextMenuEvent_GetPosition 2827
+#define wxContextMenuEvent_SetPosition 2828
+#define wxIdleEvent_CanSend 2829
+#define wxIdleEvent_GetMode 2830
+#define wxIdleEvent_RequestMore 2831
+#define wxIdleEvent_MoreRequested 2832
+#define wxIdleEvent_SetMode 2833
+#define wxGridEvent_AltDown 2834
+#define wxGridEvent_ControlDown 2835
+#define wxGridEvent_GetCol 2836
+#define wxGridEvent_GetPosition 2837
+#define wxGridEvent_GetRow 2838
+#define wxGridEvent_MetaDown 2839
+#define wxGridEvent_Selecting 2840
+#define wxGridEvent_ShiftDown 2841
+#define wxNotifyEvent_Allow 2842
+#define wxNotifyEvent_IsAllowed 2843
+#define wxNotifyEvent_Veto 2844
+#define wxSashEvent_GetEdge 2845
+#define wxSashEvent_GetDragRect 2846
+#define wxSashEvent_GetDragStatus 2847
+#define wxListEvent_GetCacheFrom 2848
+#define wxListEvent_GetCacheTo 2849
+#define wxListEvent_GetKeyCode 2850
+#define wxListEvent_GetIndex 2851
+#define wxListEvent_GetColumn 2852
+#define wxListEvent_GetPoint 2853
+#define wxListEvent_GetLabel 2854
+#define wxListEvent_GetText 2855
+#define wxListEvent_GetImage 2856
+#define wxListEvent_GetData 2857
+#define wxListEvent_GetMask 2858
+#define wxListEvent_GetItem 2859
+#define wxListEvent_IsEditCancelled 2860
+#define wxDateEvent_GetDate 2861
+#define wxCalendarEvent_GetWeekDay 2862
+#define wxFileDirPickerEvent_GetPath 2863
+#define wxColourPickerEvent_GetColour 2864
+#define wxFontPickerEvent_GetFont 2865
+#define wxStyledTextEvent_GetPosition 2866
+#define wxStyledTextEvent_GetKey 2867
+#define wxStyledTextEvent_GetModifiers 2868
+#define wxStyledTextEvent_GetModificationType 2869
+#define wxStyledTextEvent_GetText 2870
+#define wxStyledTextEvent_GetLength 2871
+#define wxStyledTextEvent_GetLinesAdded 2872
+#define wxStyledTextEvent_GetLine 2873
+#define wxStyledTextEvent_GetFoldLevelNow 2874
+#define wxStyledTextEvent_GetFoldLevelPrev 2875
+#define wxStyledTextEvent_GetMargin 2876
+#define wxStyledTextEvent_GetMessage 2877
+#define wxStyledTextEvent_GetWParam 2878
+#define wxStyledTextEvent_GetLParam 2879
+#define wxStyledTextEvent_GetListType 2880
+#define wxStyledTextEvent_GetX 2881
+#define wxStyledTextEvent_GetY 2882
+#define wxStyledTextEvent_GetDragText 2883
+#define wxStyledTextEvent_GetDragAllowMove 2884
+#define wxStyledTextEvent_GetDragResult 2885
+#define wxStyledTextEvent_GetShift 2886
+#define wxStyledTextEvent_GetControl 2887
+#define wxStyledTextEvent_GetAlt 2888
+#define utils_wxGetKeyState 2889
+#define utils_wxGetMousePosition 2890
+#define utils_wxGetMouseState 2891
+#define utils_wxSetDetectableAutoRepeat 2892
+#define utils_wxBell 2893
+#define utils_wxFindMenuItemId 2894
+#define utils_wxGenericFindWindowAtPoint 2895
+#define utils_wxFindWindowAtPoint 2896
+#define utils_wxBeginBusyCursor 2897
+#define utils_wxEndBusyCursor 2898
+#define utils_wxIsBusy 2899
+#define utils_wxShutdown 2900
+#define utils_wxShell 2901
+#define utils_wxLaunchDefaultBrowser 2902
+#define utils_wxGetEmailAddress 2903
+#define utils_wxGetUserId 2904
+#define utils_wxGetHomeDir 2905
+#define utils_wxNewId 2906
+#define utils_wxRegisterId 2907
+#define utils_wxGetCurrentId 2908
+#define utils_wxGetOsDescription 2909
+#define utils_wxIsPlatformLittleEndian 2910
+#define utils_wxIsPlatform64Bit 2911
+#define wxPrintout_new 2912
+#define wxPrintout_destruct 2913
+#define wxPrintout_GetDC 2914
+#define wxPrintout_GetPageSizeMM 2915
+#define wxPrintout_GetPageSizePixels 2916
+#define wxPrintout_GetPaperRectPixels 2917
+#define wxPrintout_GetPPIPrinter 2918
+#define wxPrintout_GetPPIScreen 2919
+#define wxPrintout_GetTitle 2920
+#define wxPrintout_IsPreview 2921
+#define wxPrintout_FitThisSizeToPaper 2922
+#define wxPrintout_FitThisSizeToPage 2923
+#define wxPrintout_FitThisSizeToPageMargins 2924
+#define wxPrintout_MapScreenSizeToPaper 2925
+#define wxPrintout_MapScreenSizeToPage 2926
+#define wxPrintout_MapScreenSizeToPageMargins 2927
+#define wxPrintout_MapScreenSizeToDevice 2928
+#define wxPrintout_GetLogicalPaperRect 2929
+#define wxPrintout_GetLogicalPageRect 2930
+#define wxPrintout_GetLogicalPageMarginsRect 2931
+#define wxPrintout_SetLogicalOrigin 2932
+#define wxPrintout_OffsetLogicalOrigin 2933
+#define wxStyledTextCtrl_new_2 2934
+#define wxStyledTextCtrl_new_0 2935
+#define wxStyledTextCtrl_destruct 2936
+#define wxStyledTextCtrl_Create 2937
+#define wxStyledTextCtrl_AddText 2938
+#define wxStyledTextCtrl_AddStyledText 2939
+#define wxStyledTextCtrl_InsertText 2940
+#define wxStyledTextCtrl_ClearAll 2941
+#define wxStyledTextCtrl_ClearDocumentStyle 2942
+#define wxStyledTextCtrl_GetLength 2943
+#define wxStyledTextCtrl_GetCharAt 2944
+#define wxStyledTextCtrl_GetCurrentPos 2945
+#define wxStyledTextCtrl_GetAnchor 2946
+#define wxStyledTextCtrl_GetStyleAt 2947
+#define wxStyledTextCtrl_Redo 2948
+#define wxStyledTextCtrl_SetUndoCollection 2949
+#define wxStyledTextCtrl_SelectAll 2950
+#define wxStyledTextCtrl_SetSavePoint 2951
+#define wxStyledTextCtrl_GetStyledText 2952
+#define wxStyledTextCtrl_CanRedo 2953
+#define wxStyledTextCtrl_MarkerLineFromHandle 2954
+#define wxStyledTextCtrl_MarkerDeleteHandle 2955
+#define wxStyledTextCtrl_GetUndoCollection 2956
+#define wxStyledTextCtrl_GetViewWhiteSpace 2957
+#define wxStyledTextCtrl_SetViewWhiteSpace 2958
+#define wxStyledTextCtrl_PositionFromPoint 2959
+#define wxStyledTextCtrl_PositionFromPointClose 2960
+#define wxStyledTextCtrl_GotoLine 2961
+#define wxStyledTextCtrl_GotoPos 2962
+#define wxStyledTextCtrl_SetAnchor 2963
+#define wxStyledTextCtrl_GetCurLine 2964
+#define wxStyledTextCtrl_GetEndStyled 2965
+#define wxStyledTextCtrl_ConvertEOLs 2966
+#define wxStyledTextCtrl_GetEOLMode 2967
+#define wxStyledTextCtrl_SetEOLMode 2968
+#define wxStyledTextCtrl_StartStyling 2969
+#define wxStyledTextCtrl_SetStyling 2970
+#define wxStyledTextCtrl_GetBufferedDraw 2971
+#define wxStyledTextCtrl_SetBufferedDraw 2972
+#define wxStyledTextCtrl_SetTabWidth 2973
+#define wxStyledTextCtrl_GetTabWidth 2974
+#define wxStyledTextCtrl_SetCodePage 2975
+#define wxStyledTextCtrl_MarkerDefine 2976
+#define wxStyledTextCtrl_MarkerSetForeground 2977
+#define wxStyledTextCtrl_MarkerSetBackground 2978
+#define wxStyledTextCtrl_MarkerAdd 2979
+#define wxStyledTextCtrl_MarkerDelete 2980
+#define wxStyledTextCtrl_MarkerDeleteAll 2981
+#define wxStyledTextCtrl_MarkerGet 2982
+#define wxStyledTextCtrl_MarkerNext 2983
+#define wxStyledTextCtrl_MarkerPrevious 2984
+#define wxStyledTextCtrl_MarkerDefineBitmap 2985
+#define wxStyledTextCtrl_MarkerAddSet 2986
+#define wxStyledTextCtrl_MarkerSetAlpha 2987
+#define wxStyledTextCtrl_SetMarginType 2988
+#define wxStyledTextCtrl_GetMarginType 2989
+#define wxStyledTextCtrl_SetMarginWidth 2990
+#define wxStyledTextCtrl_GetMarginWidth 2991
+#define wxStyledTextCtrl_SetMarginMask 2992
+#define wxStyledTextCtrl_GetMarginMask 2993
+#define wxStyledTextCtrl_SetMarginSensitive 2994
+#define wxStyledTextCtrl_GetMarginSensitive 2995
+#define wxStyledTextCtrl_StyleClearAll 2996
+#define wxStyledTextCtrl_StyleSetForeground 2997
+#define wxStyledTextCtrl_StyleSetBackground 2998
+#define wxStyledTextCtrl_StyleSetBold 2999
+#define wxStyledTextCtrl_StyleSetItalic 3000
+#define wxStyledTextCtrl_StyleSetSize 3001
+#define wxStyledTextCtrl_StyleSetFaceName 3002
+#define wxStyledTextCtrl_StyleSetEOLFilled 3003
+#define wxStyledTextCtrl_StyleResetDefault 3004
+#define wxStyledTextCtrl_StyleSetUnderline 3005
+#define wxStyledTextCtrl_StyleSetCase 3006
+#define wxStyledTextCtrl_StyleSetHotSpot 3007
+#define wxStyledTextCtrl_SetSelForeground 3008
+#define wxStyledTextCtrl_SetSelBackground 3009
+#define wxStyledTextCtrl_GetSelAlpha 3010
+#define wxStyledTextCtrl_SetSelAlpha 3011
+#define wxStyledTextCtrl_SetCaretForeground 3012
+#define wxStyledTextCtrl_CmdKeyAssign 3013
+#define wxStyledTextCtrl_CmdKeyClear 3014
+#define wxStyledTextCtrl_CmdKeyClearAll 3015
+#define wxStyledTextCtrl_SetStyleBytes 3016
+#define wxStyledTextCtrl_StyleSetVisible 3017
+#define wxStyledTextCtrl_GetCaretPeriod 3018
+#define wxStyledTextCtrl_SetCaretPeriod 3019
+#define wxStyledTextCtrl_SetWordChars 3020
+#define wxStyledTextCtrl_BeginUndoAction 3021
+#define wxStyledTextCtrl_EndUndoAction 3022
+#define wxStyledTextCtrl_IndicatorSetStyle 3023
+#define wxStyledTextCtrl_IndicatorGetStyle 3024
+#define wxStyledTextCtrl_IndicatorSetForeground 3025
+#define wxStyledTextCtrl_IndicatorGetForeground 3026
+#define wxStyledTextCtrl_SetWhitespaceForeground 3027
+#define wxStyledTextCtrl_SetWhitespaceBackground 3028
+#define wxStyledTextCtrl_GetStyleBits 3029
+#define wxStyledTextCtrl_SetLineState 3030
+#define wxStyledTextCtrl_GetLineState 3031
+#define wxStyledTextCtrl_GetMaxLineState 3032
+#define wxStyledTextCtrl_GetCaretLineVisible 3033
+#define wxStyledTextCtrl_SetCaretLineVisible 3034
+#define wxStyledTextCtrl_GetCaretLineBackground 3035
+#define wxStyledTextCtrl_SetCaretLineBackground 3036
+#define wxStyledTextCtrl_AutoCompShow 3037
+#define wxStyledTextCtrl_AutoCompCancel 3038
+#define wxStyledTextCtrl_AutoCompActive 3039
+#define wxStyledTextCtrl_AutoCompPosStart 3040
+#define wxStyledTextCtrl_AutoCompComplete 3041
+#define wxStyledTextCtrl_AutoCompStops 3042
+#define wxStyledTextCtrl_AutoCompSetSeparator 3043
+#define wxStyledTextCtrl_AutoCompGetSeparator 3044
+#define wxStyledTextCtrl_AutoCompSelect 3045
+#define wxStyledTextCtrl_AutoCompSetCancelAtStart 3046
+#define wxStyledTextCtrl_AutoCompGetCancelAtStart 3047
+#define wxStyledTextCtrl_AutoCompSetFillUps 3048
+#define wxStyledTextCtrl_AutoCompSetChooseSingle 3049
+#define wxStyledTextCtrl_AutoCompGetChooseSingle 3050
+#define wxStyledTextCtrl_AutoCompSetIgnoreCase 3051
+#define wxStyledTextCtrl_AutoCompGetIgnoreCase 3052
+#define wxStyledTextCtrl_UserListShow 3053
+#define wxStyledTextCtrl_AutoCompSetAutoHide 3054
+#define wxStyledTextCtrl_AutoCompGetAutoHide 3055
+#define wxStyledTextCtrl_AutoCompSetDropRestOfWord 3056
+#define wxStyledTextCtrl_AutoCompGetDropRestOfWord 3057
+#define wxStyledTextCtrl_RegisterImage 3058
+#define wxStyledTextCtrl_ClearRegisteredImages 3059
+#define wxStyledTextCtrl_AutoCompGetTypeSeparator 3060
+#define wxStyledTextCtrl_AutoCompSetTypeSeparator 3061
+#define wxStyledTextCtrl_AutoCompSetMaxWidth 3062
+#define wxStyledTextCtrl_AutoCompGetMaxWidth 3063
+#define wxStyledTextCtrl_AutoCompSetMaxHeight 3064
+#define wxStyledTextCtrl_AutoCompGetMaxHeight 3065
+#define wxStyledTextCtrl_SetIndent 3066
+#define wxStyledTextCtrl_GetIndent 3067
+#define wxStyledTextCtrl_SetUseTabs 3068
+#define wxStyledTextCtrl_GetUseTabs 3069
+#define wxStyledTextCtrl_SetLineIndentation 3070
+#define wxStyledTextCtrl_GetLineIndentation 3071
+#define wxStyledTextCtrl_GetLineIndentPosition 3072
+#define wxStyledTextCtrl_GetColumn 3073
+#define wxStyledTextCtrl_SetUseHorizontalScrollBar 3074
+#define wxStyledTextCtrl_GetUseHorizontalScrollBar 3075
+#define wxStyledTextCtrl_SetIndentationGuides 3076
+#define wxStyledTextCtrl_GetIndentationGuides 3077
+#define wxStyledTextCtrl_SetHighlightGuide 3078
+#define wxStyledTextCtrl_GetHighlightGuide 3079
+#define wxStyledTextCtrl_GetLineEndPosition 3080
+#define wxStyledTextCtrl_GetCodePage 3081
+#define wxStyledTextCtrl_GetCaretForeground 3082
+#define wxStyledTextCtrl_GetReadOnly 3083
+#define wxStyledTextCtrl_SetCurrentPos 3084
+#define wxStyledTextCtrl_SetSelectionStart 3085
+#define wxStyledTextCtrl_GetSelectionStart 3086
+#define wxStyledTextCtrl_SetSelectionEnd 3087
+#define wxStyledTextCtrl_GetSelectionEnd 3088
+#define wxStyledTextCtrl_SetPrintMagnification 3089
+#define wxStyledTextCtrl_GetPrintMagnification 3090
+#define wxStyledTextCtrl_SetPrintColourMode 3091
+#define wxStyledTextCtrl_GetPrintColourMode 3092
+#define wxStyledTextCtrl_FindText 3093
+#define wxStyledTextCtrl_FormatRange 3094
+#define wxStyledTextCtrl_GetFirstVisibleLine 3095
+#define wxStyledTextCtrl_GetLine 3096
+#define wxStyledTextCtrl_GetLineCount 3097
+#define wxStyledTextCtrl_SetMarginLeft 3098
+#define wxStyledTextCtrl_GetMarginLeft 3099
+#define wxStyledTextCtrl_SetMarginRight 3100
+#define wxStyledTextCtrl_GetMarginRight 3101
+#define wxStyledTextCtrl_GetModify 3102
+#define wxStyledTextCtrl_SetSelection 3103
+#define wxStyledTextCtrl_GetSelectedText 3104
+#define wxStyledTextCtrl_GetTextRange 3105
+#define wxStyledTextCtrl_HideSelection 3106
+#define wxStyledTextCtrl_LineFromPosition 3107
+#define wxStyledTextCtrl_PositionFromLine 3108
+#define wxStyledTextCtrl_LineScroll 3109
+#define wxStyledTextCtrl_EnsureCaretVisible 3110
+#define wxStyledTextCtrl_ReplaceSelection 3111
+#define wxStyledTextCtrl_SetReadOnly 3112
+#define wxStyledTextCtrl_CanPaste 3113
+#define wxStyledTextCtrl_CanUndo 3114
+#define wxStyledTextCtrl_EmptyUndoBuffer 3115
+#define wxStyledTextCtrl_Undo 3116
+#define wxStyledTextCtrl_Cut 3117
+#define wxStyledTextCtrl_Copy 3118
+#define wxStyledTextCtrl_Paste 3119
+#define wxStyledTextCtrl_Clear 3120
+#define wxStyledTextCtrl_SetText 3121
+#define wxStyledTextCtrl_GetText 3122
+#define wxStyledTextCtrl_GetTextLength 3123
+#define wxStyledTextCtrl_GetOvertype 3124
+#define wxStyledTextCtrl_SetCaretWidth 3125
+#define wxStyledTextCtrl_GetCaretWidth 3126
+#define wxStyledTextCtrl_SetTargetStart 3127
+#define wxStyledTextCtrl_GetTargetStart 3128
+#define wxStyledTextCtrl_SetTargetEnd 3129
+#define wxStyledTextCtrl_GetTargetEnd 3130
+#define wxStyledTextCtrl_ReplaceTarget 3131
+#define wxStyledTextCtrl_SearchInTarget 3132
+#define wxStyledTextCtrl_SetSearchFlags 3133
+#define wxStyledTextCtrl_GetSearchFlags 3134
+#define wxStyledTextCtrl_CallTipShow 3135
+#define wxStyledTextCtrl_CallTipCancel 3136
+#define wxStyledTextCtrl_CallTipActive 3137
+#define wxStyledTextCtrl_CallTipPosAtStart 3138
+#define wxStyledTextCtrl_CallTipSetHighlight 3139
+#define wxStyledTextCtrl_CallTipSetBackground 3140
+#define wxStyledTextCtrl_CallTipSetForeground 3141
+#define wxStyledTextCtrl_CallTipSetForegroundHighlight 3142
+#define wxStyledTextCtrl_CallTipUseStyle 3143
+#define wxStyledTextCtrl_VisibleFromDocLine 3144
+#define wxStyledTextCtrl_DocLineFromVisible 3145
+#define wxStyledTextCtrl_WrapCount 3146
+#define wxStyledTextCtrl_SetFoldLevel 3147
+#define wxStyledTextCtrl_GetFoldLevel 3148
+#define wxStyledTextCtrl_GetLastChild 3149
+#define wxStyledTextCtrl_GetFoldParent 3150
+#define wxStyledTextCtrl_ShowLines 3151
+#define wxStyledTextCtrl_HideLines 3152
+#define wxStyledTextCtrl_GetLineVisible 3153
+#define wxStyledTextCtrl_SetFoldExpanded 3154
+#define wxStyledTextCtrl_GetFoldExpanded 3155
+#define wxStyledTextCtrl_ToggleFold 3156
+#define wxStyledTextCtrl_EnsureVisible 3157
+#define wxStyledTextCtrl_SetFoldFlags 3158
+#define wxStyledTextCtrl_EnsureVisibleEnforcePolicy 3159
+#define wxStyledTextCtrl_SetTabIndents 3160
+#define wxStyledTextCtrl_GetTabIndents 3161
+#define wxStyledTextCtrl_SetBackSpaceUnIndents 3162
+#define wxStyledTextCtrl_GetBackSpaceUnIndents 3163
+#define wxStyledTextCtrl_SetMouseDwellTime 3164
+#define wxStyledTextCtrl_GetMouseDwellTime 3165
+#define wxStyledTextCtrl_WordStartPosition 3166
+#define wxStyledTextCtrl_WordEndPosition 3167
+#define wxStyledTextCtrl_SetWrapMode 3168
+#define wxStyledTextCtrl_GetWrapMode 3169
+#define wxStyledTextCtrl_SetWrapVisualFlags 3170
+#define wxStyledTextCtrl_GetWrapVisualFlags 3171
+#define wxStyledTextCtrl_SetWrapVisualFlagsLocation 3172
+#define wxStyledTextCtrl_GetWrapVisualFlagsLocation 3173
+#define wxStyledTextCtrl_SetWrapStartIndent 3174
+#define wxStyledTextCtrl_GetWrapStartIndent 3175
+#define wxStyledTextCtrl_SetLayoutCache 3176
+#define wxStyledTextCtrl_GetLayoutCache 3177
+#define wxStyledTextCtrl_SetScrollWidth 3178
+#define wxStyledTextCtrl_GetScrollWidth 3179
+#define wxStyledTextCtrl_TextWidth 3180
+#define wxStyledTextCtrl_GetEndAtLastLine 3181
+#define wxStyledTextCtrl_TextHeight 3182
+#define wxStyledTextCtrl_SetUseVerticalScrollBar 3183
+#define wxStyledTextCtrl_GetUseVerticalScrollBar 3184
+#define wxStyledTextCtrl_AppendText 3185
+#define wxStyledTextCtrl_GetTwoPhaseDraw 3186
+#define wxStyledTextCtrl_SetTwoPhaseDraw 3187
+#define wxStyledTextCtrl_TargetFromSelection 3188
+#define wxStyledTextCtrl_LinesJoin 3189
+#define wxStyledTextCtrl_LinesSplit 3190
+#define wxStyledTextCtrl_SetFoldMarginColour 3191
+#define wxStyledTextCtrl_SetFoldMarginHiColour 3192
+#define wxStyledTextCtrl_LineDown 3193
+#define wxStyledTextCtrl_LineDownExtend 3194
+#define wxStyledTextCtrl_LineUp 3195
+#define wxStyledTextCtrl_LineUpExtend 3196
+#define wxStyledTextCtrl_CharLeft 3197
+#define wxStyledTextCtrl_CharLeftExtend 3198
+#define wxStyledTextCtrl_CharRight 3199
+#define wxStyledTextCtrl_CharRightExtend 3200
+#define wxStyledTextCtrl_WordLeft 3201
+#define wxStyledTextCtrl_WordLeftExtend 3202
+#define wxStyledTextCtrl_WordRight 3203
+#define wxStyledTextCtrl_WordRightExtend 3204
+#define wxStyledTextCtrl_Home 3205
+#define wxStyledTextCtrl_HomeExtend 3206
+#define wxStyledTextCtrl_LineEnd 3207
+#define wxStyledTextCtrl_LineEndExtend 3208
+#define wxStyledTextCtrl_DocumentStart 3209
+#define wxStyledTextCtrl_DocumentStartExtend 3210
+#define wxStyledTextCtrl_DocumentEnd 3211
+#define wxStyledTextCtrl_DocumentEndExtend 3212
+#define wxStyledTextCtrl_PageUp 3213
+#define wxStyledTextCtrl_PageUpExtend 3214
+#define wxStyledTextCtrl_PageDown 3215
+#define wxStyledTextCtrl_PageDownExtend 3216
+#define wxStyledTextCtrl_EditToggleOvertype 3217
+#define wxStyledTextCtrl_Cancel 3218
+#define wxStyledTextCtrl_DeleteBack 3219
+#define wxStyledTextCtrl_Tab 3220
+#define wxStyledTextCtrl_BackTab 3221
+#define wxStyledTextCtrl_NewLine 3222
+#define wxStyledTextCtrl_FormFeed 3223
+#define wxStyledTextCtrl_VCHome 3224
+#define wxStyledTextCtrl_VCHomeExtend 3225
+#define wxStyledTextCtrl_ZoomIn 3226
+#define wxStyledTextCtrl_ZoomOut 3227
+#define wxStyledTextCtrl_DelWordLeft 3228
+#define wxStyledTextCtrl_DelWordRight 3229
+#define wxStyledTextCtrl_LineCut 3230
+#define wxStyledTextCtrl_LineDelete 3231
+#define wxStyledTextCtrl_LineTranspose 3232
+#define wxStyledTextCtrl_LineDuplicate 3233
+#define wxStyledTextCtrl_LowerCase 3234
+#define wxStyledTextCtrl_UpperCase 3235
+#define wxStyledTextCtrl_LineScrollDown 3236
+#define wxStyledTextCtrl_LineScrollUp 3237
+#define wxStyledTextCtrl_DeleteBackNotLine 3238
+#define wxStyledTextCtrl_HomeDisplay 3239
+#define wxStyledTextCtrl_HomeDisplayExtend 3240
+#define wxStyledTextCtrl_LineEndDisplay 3241
+#define wxStyledTextCtrl_LineEndDisplayExtend 3242
+#define wxStyledTextCtrl_HomeWrapExtend 3243
+#define wxStyledTextCtrl_LineEndWrap 3244
+#define wxStyledTextCtrl_LineEndWrapExtend 3245
+#define wxStyledTextCtrl_VCHomeWrap 3246
+#define wxStyledTextCtrl_VCHomeWrapExtend 3247
+#define wxStyledTextCtrl_LineCopy 3248
+#define wxStyledTextCtrl_MoveCaretInsideView 3249
+#define wxStyledTextCtrl_LineLength 3250
+#define wxStyledTextCtrl_BraceHighlight 3251
+#define wxStyledTextCtrl_BraceBadLight 3252
+#define wxStyledTextCtrl_BraceMatch 3253
+#define wxStyledTextCtrl_GetViewEOL 3254
+#define wxStyledTextCtrl_SetViewEOL 3255
+#define wxStyledTextCtrl_SetModEventMask 3256
+#define wxStyledTextCtrl_GetEdgeColumn 3257
+#define wxStyledTextCtrl_SetEdgeColumn 3258
+#define wxStyledTextCtrl_GetEdgeMode 3259
+#define wxStyledTextCtrl_GetEdgeColour 3260
+#define wxStyledTextCtrl_SetEdgeColour 3261
+#define wxStyledTextCtrl_SearchAnchor 3262
+#define wxStyledTextCtrl_SearchNext 3263
+#define wxStyledTextCtrl_SearchPrev 3264
+#define wxStyledTextCtrl_LinesOnScreen 3265
+#define wxStyledTextCtrl_UsePopUp 3266
+#define wxStyledTextCtrl_SelectionIsRectangle 3267
+#define wxStyledTextCtrl_SetZoom 3268
+#define wxStyledTextCtrl_GetZoom 3269
+#define wxStyledTextCtrl_GetModEventMask 3270
+#define wxStyledTextCtrl_SetSTCFocus 3271
+#define wxStyledTextCtrl_GetSTCFocus 3272
+#define wxStyledTextCtrl_SetStatus 3273
+#define wxStyledTextCtrl_GetStatus 3274
+#define wxStyledTextCtrl_SetMouseDownCaptures 3275
+#define wxStyledTextCtrl_GetMouseDownCaptures 3276
+#define wxStyledTextCtrl_SetSTCCursor 3277
+#define wxStyledTextCtrl_GetSTCCursor 3278
+#define wxStyledTextCtrl_SetControlCharSymbol 3279
+#define wxStyledTextCtrl_GetControlCharSymbol 3280
+#define wxStyledTextCtrl_WordPartLeft 3281
+#define wxStyledTextCtrl_WordPartLeftExtend 3282
+#define wxStyledTextCtrl_WordPartRight 3283
+#define wxStyledTextCtrl_WordPartRightExtend 3284
+#define wxStyledTextCtrl_SetVisiblePolicy 3285
+#define wxStyledTextCtrl_DelLineLeft 3286
+#define wxStyledTextCtrl_DelLineRight 3287
+#define wxStyledTextCtrl_GetXOffset 3288
+#define wxStyledTextCtrl_ChooseCaretX 3289
+#define wxStyledTextCtrl_SetXCaretPolicy 3290
+#define wxStyledTextCtrl_SetYCaretPolicy 3291
+#define wxStyledTextCtrl_GetPrintWrapMode 3292
+#define wxStyledTextCtrl_SetHotspotActiveForeground 3293
+#define wxStyledTextCtrl_SetHotspotActiveBackground 3294
+#define wxStyledTextCtrl_SetHotspotActiveUnderline 3295
+#define wxStyledTextCtrl_SetHotspotSingleLine 3296
+#define wxStyledTextCtrl_ParaDownExtend 3297
+#define wxStyledTextCtrl_ParaUp 3298
+#define wxStyledTextCtrl_ParaUpExtend 3299
+#define wxStyledTextCtrl_PositionBefore 3300
+#define wxStyledTextCtrl_PositionAfter 3301
+#define wxStyledTextCtrl_CopyRange 3302
+#define wxStyledTextCtrl_CopyText 3303
+#define wxStyledTextCtrl_SetSelectionMode 3304
+#define wxStyledTextCtrl_GetSelectionMode 3305
+#define wxStyledTextCtrl_LineDownRectExtend 3306
+#define wxStyledTextCtrl_LineUpRectExtend 3307
+#define wxStyledTextCtrl_CharLeftRectExtend 3308
+#define wxStyledTextCtrl_CharRightRectExtend 3309
+#define wxStyledTextCtrl_HomeRectExtend 3310
+#define wxStyledTextCtrl_VCHomeRectExtend 3311
+#define wxStyledTextCtrl_LineEndRectExtend 3312
+#define wxStyledTextCtrl_PageUpRectExtend 3313
+#define wxStyledTextCtrl_PageDownRectExtend 3314
+#define wxStyledTextCtrl_StutteredPageUp 3315
+#define wxStyledTextCtrl_StutteredPageUpExtend 3316
+#define wxStyledTextCtrl_StutteredPageDown 3317
+#define wxStyledTextCtrl_StutteredPageDownExtend 3318
+#define wxStyledTextCtrl_WordLeftEnd 3319
+#define wxStyledTextCtrl_WordLeftEndExtend 3320
+#define wxStyledTextCtrl_WordRightEnd 3321
+#define wxStyledTextCtrl_WordRightEndExtend 3322
+#define wxStyledTextCtrl_SetWhitespaceChars 3323
+#define wxStyledTextCtrl_SetCharsDefault 3324
+#define wxStyledTextCtrl_AutoCompGetCurrent 3325
+#define wxStyledTextCtrl_Allocate 3326
+#define wxStyledTextCtrl_FindColumn 3327
+#define wxStyledTextCtrl_GetCaretSticky 3328
+#define wxStyledTextCtrl_SetCaretSticky 3329
+#define wxStyledTextCtrl_ToggleCaretSticky 3330
+#define wxStyledTextCtrl_SetPasteConvertEndings 3331
+#define wxStyledTextCtrl_GetPasteConvertEndings 3332
+#define wxStyledTextCtrl_SelectionDuplicate 3333
+#define wxStyledTextCtrl_SetCaretLineBackAlpha 3334
+#define wxStyledTextCtrl_GetCaretLineBackAlpha 3335
+#define wxStyledTextCtrl_StartRecord 3336
+#define wxStyledTextCtrl_StopRecord 3337
+#define wxStyledTextCtrl_SetLexer 3338
+#define wxStyledTextCtrl_GetLexer 3339
+#define wxStyledTextCtrl_Colourise 3340
+#define wxStyledTextCtrl_SetProperty 3341
+#define wxStyledTextCtrl_SetKeyWords 3342
+#define wxStyledTextCtrl_SetLexerLanguage 3343
+#define wxStyledTextCtrl_GetProperty 3344
+#define wxStyledTextCtrl_GetStyleBitsNeeded 3345
+#define wxStyledTextCtrl_GetCurrentLine 3346
+#define wxStyledTextCtrl_StyleSetSpec 3347
+#define wxStyledTextCtrl_StyleSetFont 3348
+#define wxStyledTextCtrl_StyleSetFontAttr 3349
+#define wxStyledTextCtrl_StyleSetCharacterSet 3350
+#define wxStyledTextCtrl_StyleSetFontEncoding 3351
+#define wxStyledTextCtrl_CmdKeyExecute 3352
+#define wxStyledTextCtrl_SetMargins 3353
+#define wxStyledTextCtrl_GetSelection 3354
+#define wxStyledTextCtrl_PointFromPosition 3355
+#define wxStyledTextCtrl_ScrollToLine 3356
+#define wxStyledTextCtrl_ScrollToColumn 3357
+#define wxStyledTextCtrl_SendMsg 3358
+#define wxStyledTextCtrl_SetVScrollBar 3359
+#define wxStyledTextCtrl_SetHScrollBar 3360
+#define wxStyledTextCtrl_GetLastKeydownProcessed 3361
+#define wxStyledTextCtrl_SetLastKeydownProcessed 3362
+#define wxStyledTextCtrl_SaveFile 3363
+#define wxStyledTextCtrl_LoadFile 3364
+#define wxStyledTextCtrl_DoDragOver 3365
+#define wxStyledTextCtrl_DoDropText 3366
+#define wxStyledTextCtrl_GetUseAntiAliasing 3367
+#define wxStyledTextCtrl_AddTextRaw 3368
+#define wxStyledTextCtrl_InsertTextRaw 3369
+#define wxStyledTextCtrl_GetCurLineRaw 3370
+#define wxStyledTextCtrl_GetLineRaw 3371
+#define wxStyledTextCtrl_GetSelectedTextRaw 3372
+#define wxStyledTextCtrl_GetTextRangeRaw 3373
+#define wxStyledTextCtrl_SetTextRaw 3374
+#define wxStyledTextCtrl_GetTextRaw 3375
+#define wxStyledTextCtrl_AppendTextRaw 3376
+#define wxArtProvider_GetBitmap 3377
+#define wxArtProvider_GetIcon 3378
+#define wxTreeEvent_GetKeyCode 3379
+#define wxTreeEvent_GetItem 3380
+#define wxTreeEvent_GetKeyEvent 3381
+#define wxTreeEvent_GetLabel 3382
+#define wxTreeEvent_GetOldItem 3383
+#define wxTreeEvent_GetPoint 3384
+#define wxTreeEvent_IsEditCancelled 3385
+#define wxTreeEvent_SetToolTip 3386
+#define wxNotebookEvent_GetOldSelection 3387
+#define wxNotebookEvent_GetSelection 3388
+#define wxNotebookEvent_SetOldSelection 3389
+#define wxNotebookEvent_SetSelection 3390
+#define wxFileDataObject_new 3391
+#define wxFileDataObject_AddFile 3392
+#define wxFileDataObject_GetFilenames 3393
+#define wxFileDataObject_destroy 3394
+#define wxTextDataObject_new 3395
+#define wxTextDataObject_GetTextLength 3396
+#define wxTextDataObject_GetText 3397
+#define wxTextDataObject_SetText 3398
+#define wxTextDataObject_destroy 3399
+#define wxBitmapDataObject_new_1_1 3400
+#define wxBitmapDataObject_new_1_0 3401
+#define wxBitmapDataObject_GetBitmap 3402
+#define wxBitmapDataObject_SetBitmap 3403
+#define wxBitmapDataObject_destroy 3404
+#define wxClipboard_new 3406
+#define wxClipboard_destruct 3407
+#define wxClipboard_AddData 3408
+#define wxClipboard_Clear 3409
+#define wxClipboard_Close 3410
+#define wxClipboard_Flush 3411
+#define wxClipboard_GetData 3412
+#define wxClipboard_IsOpened 3413
+#define wxClipboard_Open 3414
+#define wxClipboard_SetData 3415
+#define wxClipboard_UsePrimarySelection 3417
+#define wxClipboard_IsSupported 3418
+#define wxClipboard_Get 3419
+#define wxSpinEvent_GetPosition 3420
+#define wxSpinEvent_SetPosition 3421
+#define wxSplitterWindow_new_0 3422
+#define wxSplitterWindow_new_2 3423
+#define wxSplitterWindow_destruct 3424
+#define wxSplitterWindow_Create 3425
+#define wxSplitterWindow_GetMinimumPaneSize 3426
+#define wxSplitterWindow_GetSashGravity 3427
+#define wxSplitterWindow_GetSashPosition 3428
+#define wxSplitterWindow_GetSplitMode 3429
+#define wxSplitterWindow_GetWindow1 3430
+#define wxSplitterWindow_GetWindow2 3431
+#define wxSplitterWindow_Initialize 3432
+#define wxSplitterWindow_IsSplit 3433
+#define wxSplitterWindow_ReplaceWindow 3434
+#define wxSplitterWindow_SetSashGravity 3435
+#define wxSplitterWindow_SetSashPosition 3436
+#define wxSplitterWindow_SetSashSize 3437
+#define wxSplitterWindow_SetMinimumPaneSize 3438
+#define wxSplitterWindow_SetSplitMode 3439
+#define wxSplitterWindow_SplitHorizontally 3440
+#define wxSplitterWindow_SplitVertically 3441
+#define wxSplitterWindow_Unsplit 3442
+#define wxSplitterWindow_UpdateSize 3443
+#define wxSplitterEvent_GetSashPosition 3444
+#define wxSplitterEvent_GetX 3445
+#define wxSplitterEvent_GetY 3446
+#define wxSplitterEvent_GetWindowBeingRemoved 3447
+#define wxSplitterEvent_SetSashPosition 3448
+#define wxHtmlWindow_new_0 3449
+#define wxHtmlWindow_new_2 3450
+#define wxHtmlWindow_AppendToPage 3451
+#define wxHtmlWindow_GetOpenedAnchor 3452
+#define wxHtmlWindow_GetOpenedPage 3453
+#define wxHtmlWindow_GetOpenedPageTitle 3454
+#define wxHtmlWindow_GetRelatedFrame 3455
+#define wxHtmlWindow_HistoryBack 3456
+#define wxHtmlWindow_HistoryCanBack 3457
+#define wxHtmlWindow_HistoryCanForward 3458
+#define wxHtmlWindow_HistoryClear 3459
+#define wxHtmlWindow_HistoryForward 3460
+#define wxHtmlWindow_LoadFile 3461
+#define wxHtmlWindow_LoadPage 3462
+#define wxHtmlWindow_SelectAll 3463
+#define wxHtmlWindow_SelectionToText 3464
+#define wxHtmlWindow_SelectLine 3465
+#define wxHtmlWindow_SelectWord 3466
+#define wxHtmlWindow_SetBorders 3467
+#define wxHtmlWindow_SetFonts 3468
+#define wxHtmlWindow_SetPage 3469
+#define wxHtmlWindow_SetRelatedFrame 3470
+#define wxHtmlWindow_SetRelatedStatusBar 3471
+#define wxHtmlWindow_ToText 3472
+#define wxHtmlWindow_destroy 3473
+#define wxHtmlLinkEvent_GetLinkInfo 3474
+#define wxAuiNotebookEvent_SetSelection 3475
+#define wxAuiNotebookEvent_GetSelection 3476
+#define wxAuiNotebookEvent_SetOldSelection 3477
+#define wxAuiNotebookEvent_GetOldSelection 3478
+#define wxAuiNotebookEvent_SetDragSource 3479
+#define wxAuiNotebookEvent_GetDragSource 3480
+#define wxAuiManagerEvent_SetManager 3481
+#define wxAuiManagerEvent_GetManager 3482
+#define wxAuiManagerEvent_SetPane 3483
+#define wxAuiManagerEvent_GetPane 3484
+#define wxAuiManagerEvent_SetButton 3485
+#define wxAuiManagerEvent_GetButton 3486
+#define wxAuiManagerEvent_SetDC 3487
+#define wxAuiManagerEvent_GetDC 3488
+#define wxAuiManagerEvent_Veto 3489
+#define wxAuiManagerEvent_GetVeto 3490
+#define wxAuiManagerEvent_SetCanVeto 3491
+#define wxAuiManagerEvent_CanVeto 3492
+#define wxLogNull_new 3493
+#define wxLogNull_destroy 3494
diff --git a/lib/wx/c_src/wxe_driver.c b/lib/wx/c_src/wxe_driver.c
index 3b951bec57..310325ea26 100644
--- a/lib/wx/c_src/wxe_driver.c
+++ b/lib/wx/c_src/wxe_driver.c
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2008-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2008-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -113,6 +113,7 @@ wxe_driver_start(ErlDrvPort port, char *buff)
data->driver_data = NULL;
data->bin = NULL;
data->port = port;
+ data->pdl = driver_pdl_create(port);
if(WXE_DRV_PORT == 0) {
for(; *buff != 32; buff++);
buff++;
@@ -124,7 +125,7 @@ wxe_driver_start(ErlDrvPort port, char *buff)
if(!(start_native_gui(data) == 1))
return(ERL_DRV_ERROR_GENERAL); /* ENOMEM */
} else {
- meta_command(CREATE_PORT,data);
+ meta_command(CREATE_PORT,data);
}
return (ErlDrvData) data;
}
diff --git a/lib/wx/c_src/wxe_driver.h b/lib/wx/c_src/wxe_driver.h
index 8437b4eb36..13a17e356f 100644
--- a/lib/wx/c_src/wxe_driver.h
+++ b/lib/wx/c_src/wxe_driver.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2008-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2008-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -45,6 +45,7 @@ typedef struct wxe_data_def {
WXEBinRef * bin; /* Argument binaries */
ErlDrvPort port;
int is_cbport;
+ ErlDrvPDL pdl;
} wxe_data;
diff --git a/lib/wx/c_src/wxe_impl.cpp b/lib/wx/c_src/wxe_impl.cpp
index 4486dff63b..528a08e654 100644
--- a/lib/wx/c_src/wxe_impl.cpp
+++ b/lib/wx/c_src/wxe_impl.cpp
@@ -101,7 +101,7 @@ int start_native_gui(wxe_data *sd)
init_caller = driver_connected(sd->port);
if((res = erl_drv_thread_create((char *)"wxwidgets",
- &wxe_thread,wxe_main_loop,NULL,NULL)) == 0) {
+ &wxe_thread,wxe_main_loop,(void *) sd->pdl,NULL)) == 0) {
erl_drv_mutex_lock(wxe_status_m);
for(;wxe_status == WXE_NOT_INITIATED;) {
erl_drv_cond_wait(wxe_status_c, wxe_status_m);
@@ -179,12 +179,15 @@ void meta_command(int what, wxe_data *sd) {
* wxWidgets Thread
* ************************************************************/
-void *wxe_main_loop(void * not_used)
+void *wxe_main_loop(void *vpdl)
{
int result;
int argc = 1;
char * temp = (char *) "Erlang\0";
char ** argv = &temp;
+ ErlDrvPDL pdl = (ErlDrvPDL) vpdl;
+
+ driver_pdl_inc_refc(pdl);
// ErlDrvSysInfo einfo;
// driver_system_info(&einfo, sizeof(ErlDrvSysInfo));
@@ -199,6 +202,7 @@ void *wxe_main_loop(void * not_used)
if(result >= 0 && wxe_status == WXE_INITIATED) {
/* We are done try to make a clean exit */
wxe_status = WXE_EXITED;
+ driver_pdl_dec_refc(pdl);
erl_drv_thread_exit(NULL);
return NULL;
} else {
@@ -206,6 +210,7 @@ void *wxe_main_loop(void * not_used)
wxe_status = WXE_ERROR;
erl_drv_cond_signal(wxe_status_c);
erl_drv_mutex_unlock(wxe_status_m);
+ driver_pdl_dec_refc(pdl);
return NULL;
}
}
@@ -401,11 +406,12 @@ void WxeApp::dispatch_cb(wxList * batch, wxList * temp, ErlDrvTermData process)
node = batch->GetFirst())
{
wxeCommand *event = (wxeCommand *)node->GetData();
+ wxeMemEnv *memenv = getMemEnv(event->port);
batch->Erase(node);
if(event->caller == process || // Callbacks from CB process only
event->op == WXE_CB_START || // Recursive event callback allow
// Allow connect_cb during CB i.e. msg from wxe_server.
- event->caller == driver_connected(event->port))
+ event->caller == memenv->owner)
{
switch(event->op) {
case WXE_BATCH_END:
@@ -456,6 +462,9 @@ void WxeApp::dispatch_cb(wxList * batch, wxList * temp, ErlDrvTermData process)
void WxeApp::newMemEnv(wxeMetaCommand& Ecmd) {
wxeMemEnv * memenv = new wxeMemEnv();
+
+ driver_pdl_inc_refc(Ecmd.pdl);
+
for(int i = 0; i < global_me->next; i++) {
memenv->ref2ptr[i] = global_me->ref2ptr[i];
}
@@ -576,6 +585,7 @@ void WxeApp::destroyMemEnv(wxeMetaCommand& Ecmd) {
// }
// fflush(stderr);
delete memenv;
+ driver_pdl_dec_refc(Ecmd.pdl);
refmap.erase((ErlDrvTermData) Ecmd.port);
}
diff --git a/lib/wx/c_src/wxe_impl.h b/lib/wx/c_src/wxe_impl.h
index 5e9d596633..39c02f8c1a 100644
--- a/lib/wx/c_src/wxe_impl.h
+++ b/lib/wx/c_src/wxe_impl.h
@@ -1,19 +1,19 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2008-2009. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2008-2010. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
+ *
* %CopyrightEnd%
*/
@@ -34,15 +34,16 @@ class wxeMetaCommand : public wxEvent
public:
wxeMetaCommand(wxe_data *sd, int EvId)
: wxEvent(EvId, wxeEVT_META_COMMAND)
- { caller = driver_caller(sd->port); port = sd->port; } ;
+ { caller = driver_caller(sd->port); port = sd->port; pdl = sd->pdl; } ;
wxeMetaCommand(const wxeMetaCommand& event)
: wxEvent(event)
- { caller = event.caller; port = event.port; };
+ { caller = event.caller; port = event.port; pdl = event.pdl; };
virtual ~wxeMetaCommand() {};
virtual wxEvent *Clone() const { return new wxeMetaCommand(*this); }
ErlDrvTermData caller;
ErlDrvPort port;
+ ErlDrvPDL pdl;
};
class wxeCommand : public wxObject
diff --git a/lib/wx/include/wx.hrl b/lib/wx/include/wx.hrl
index 6fef625b14..8659b71985 100644
--- a/lib/wx/include/wx.hrl
+++ b/lib/wx/include/wx.hrl
@@ -325,16 +325,339 @@
-define(wxWHITE_PEN, wxe_util:get_const(wxWHITE_PEN)).
%% Enum and defines
-% From define::From bookctrl.h
--define(wxEVT_COMMAND_BOOKCTRL_PAGE_CHANGING, ?wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING).
--define(wxEVT_COMMAND_BOOKCTRL_PAGE_CHANGED, ?wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED).
+% From class wxAuiManager
+-define(wxAuiManager_actionNone, 0).
+-define(wxAuiManager_actionResize, 1).
+-define(wxAuiManager_actionClickButton, 2).
+-define(wxAuiManager_actionClickCaption, 3).
+-define(wxAuiManager_actionDragToolbarPane, 4).
+-define(wxAuiManager_actionDragFloatingPane, 5).
+% From class wxAuiPaneInfo::wxAuiPaneState
+-define(wxAuiPaneInfo_optionFloating, 1).
+-define(wxAuiPaneInfo_optionHidden, 2).
+-define(wxAuiPaneInfo_optionLeftDockable, 4).
+-define(wxAuiPaneInfo_optionRightDockable, 8).
+-define(wxAuiPaneInfo_optionTopDockable, 16).
+-define(wxAuiPaneInfo_optionBottomDockable, 32).
+-define(wxAuiPaneInfo_optionFloatable, 64).
+-define(wxAuiPaneInfo_optionMovable, 128).
+-define(wxAuiPaneInfo_optionResizable, 256).
+-define(wxAuiPaneInfo_optionPaneBorder, 512).
+-define(wxAuiPaneInfo_optionCaption, 1024).
+-define(wxAuiPaneInfo_optionGripper, 2048).
+-define(wxAuiPaneInfo_optionDestroyOnClose, 4096).
+-define(wxAuiPaneInfo_optionToolbar, 8192).
+-define(wxAuiPaneInfo_optionActive, 16384).
+-define(wxAuiPaneInfo_optionGripperTop, 32768).
+-define(wxAuiPaneInfo_optionMaximized, 65536).
+-define(wxAuiPaneInfo_optionDockFixed, 131072).
+-define(wxAuiPaneInfo_buttonClose, 2097152).
+-define(wxAuiPaneInfo_buttonMaximize, 4194304).
+-define(wxAuiPaneInfo_buttonMinimize, 8388608).
+-define(wxAuiPaneInfo_buttonPin, 16777216).
+-define(wxAuiPaneInfo_buttonCustom1, 67108864).
+-define(wxAuiPaneInfo_buttonCustom2, 134217728).
+-define(wxAuiPaneInfo_buttonCustom3, 268435456).
+-define(wxAuiPaneInfo_savedHiddenState, 1073741824).
+-define(wxAuiPaneInfo_actionPane, 2147483648).
+% From class wxBitmap::Representation
+-define(wxBitmap_Pixmap, 0).
+-define(wxBitmap_Pixbuf, 1).
+% From class wxChoicebook
+-define(wxChoicebook_SetSelection_SendEvent, 1).
+% From class wxDateTime::Calendar
+-define(wxDateTime_Gregorian, 0).
+-define(wxDateTime_Julian, 1).
+% From class wxDateTime::Country
+-define(wxDateTime_Country_Unknown, 0).
+-define(wxDateTime_Country_Default, 1).
+-define(wxDateTime_Country_WesternEurope_Start, 2).
+-define(wxDateTime_Country_EEC, ?Country_WesternEurope_Start).
+-define(wxDateTime_France, (?Country_WesternEurope_Start+1)).
+-define(wxDateTime_Germany, (?Country_WesternEurope_Start+2)).
+-define(wxDateTime_UK, (?Country_WesternEurope_Start+3)).
+-define(wxDateTime_Country_WesternEurope_End, ?UK).
+-define(wxDateTime_Russia, (?UK+1)).
+-define(wxDateTime_USA, (?UK+2)).
+% From class wxDateTime::GregorianAdoption
+-define(wxDateTime_Gr_Unknown, 0).
+-define(wxDateTime_Gr_Standard, 1).
+-define(wxDateTime_Gr_Alaska, 2).
+-define(wxDateTime_Gr_Albania, 3).
+-define(wxDateTime_Gr_Austria, ?Gr_Unknown).
+-define(wxDateTime_Gr_Austria_Brixen, (?Gr_Unknown+1)).
+-define(wxDateTime_Gr_Austria_Salzburg, ?Gr_Austria_Brixen).
+-define(wxDateTime_Gr_Austria_Tyrol, ?Gr_Austria_Brixen).
+-define(wxDateTime_Gr_Austria_Carinthia, (?Gr_Austria_Brixen+1)).
+-define(wxDateTime_Gr_Austria_Styria, ?Gr_Austria_Carinthia).
+-define(wxDateTime_Gr_Belgium, (?Gr_Austria_Carinthia+1)).
+-define(wxDateTime_Gr_Bulgaria, ?Gr_Unknown).
+-define(wxDateTime_Gr_Bulgaria_1, (?Gr_Unknown+1)).
+-define(wxDateTime_Gr_Bulgaria_2, (?Gr_Unknown+2)).
+-define(wxDateTime_Gr_Bulgaria_3, (?Gr_Unknown+3)).
+-define(wxDateTime_Gr_Canada, ?Gr_Unknown).
+-define(wxDateTime_Gr_China, ?Gr_Unknown).
+-define(wxDateTime_Gr_China_1, (?Gr_Unknown+1)).
+-define(wxDateTime_Gr_China_2, (?Gr_Unknown+2)).
+-define(wxDateTime_Gr_Czechoslovakia, (?Gr_Unknown+3)).
+-define(wxDateTime_Gr_Denmark, (?Gr_Unknown+4)).
+-define(wxDateTime_Gr_Egypt, (?Gr_Unknown+5)).
+-define(wxDateTime_Gr_Estonia, (?Gr_Unknown+6)).
+-define(wxDateTime_Gr_Finland, (?Gr_Unknown+7)).
+-define(wxDateTime_Gr_France, (?Gr_Unknown+8)).
+-define(wxDateTime_Gr_France_Alsace, (?Gr_Unknown+9)).
+-define(wxDateTime_Gr_France_Lorraine, (?Gr_Unknown+10)).
+-define(wxDateTime_Gr_France_Strasbourg, (?Gr_Unknown+11)).
+-define(wxDateTime_Gr_Germany, ?Gr_Unknown).
+-define(wxDateTime_Gr_Germany_Catholic, (?Gr_Unknown+1)).
+-define(wxDateTime_Gr_Germany_Prussia, (?Gr_Unknown+2)).
+-define(wxDateTime_Gr_Germany_Protestant, (?Gr_Unknown+3)).
+-define(wxDateTime_Gr_GreatBritain, (?Gr_Unknown+4)).
+-define(wxDateTime_Gr_Greece, (?Gr_Unknown+5)).
+-define(wxDateTime_Gr_Hungary, (?Gr_Unknown+6)).
+-define(wxDateTime_Gr_Ireland, ?Gr_GreatBritain).
+-define(wxDateTime_Gr_Italy, ?Gr_Standard).
+-define(wxDateTime_Gr_Japan, ?Gr_Unknown).
+-define(wxDateTime_Gr_Japan_1, (?Gr_Unknown+1)).
+-define(wxDateTime_Gr_Japan_2, (?Gr_Unknown+2)).
+-define(wxDateTime_Gr_Japan_3, (?Gr_Unknown+3)).
+-define(wxDateTime_Gr_Latvia, (?Gr_Unknown+4)).
+-define(wxDateTime_Gr_Lithuania, (?Gr_Unknown+5)).
+-define(wxDateTime_Gr_Luxemburg, (?Gr_Unknown+6)).
+-define(wxDateTime_Gr_Netherlands, ?Gr_Belgium).
+-define(wxDateTime_Gr_Netherlands_Groningen, (?Gr_Belgium+1)).
+-define(wxDateTime_Gr_Netherlands_Gelderland, (?Gr_Belgium+2)).
+-define(wxDateTime_Gr_Netherlands_Utrecht, (?Gr_Belgium+3)).
+-define(wxDateTime_Gr_Netherlands_Friesland, (?Gr_Belgium+4)).
+-define(wxDateTime_Gr_Norway, ?Gr_Denmark).
+-define(wxDateTime_Gr_Poland, ?Gr_Standard).
+-define(wxDateTime_Gr_Portugal, ?Gr_Standard).
+-define(wxDateTime_Gr_Romania, (?Gr_Standard+1)).
+-define(wxDateTime_Gr_Russia, (?Gr_Standard+2)).
+-define(wxDateTime_Gr_Scotland, ?Gr_GreatBritain).
+-define(wxDateTime_Gr_Spain, ?Gr_Standard).
+-define(wxDateTime_Gr_Sweden, ?Gr_Finland).
+-define(wxDateTime_Gr_Switzerland, ?Gr_Unknown).
+-define(wxDateTime_Gr_Switzerland_Catholic, (?Gr_Unknown+1)).
+-define(wxDateTime_Gr_Switzerland_Protestant, (?Gr_Unknown+2)).
+-define(wxDateTime_Gr_Turkey, (?Gr_Unknown+3)).
+-define(wxDateTime_Gr_USA, ?Gr_GreatBritain).
+-define(wxDateTime_Gr_Wales, ?Gr_GreatBritain).
+-define(wxDateTime_Gr_Yugoslavia, (?Gr_GreatBritain+1)).
+% From class wxDateTime::Month
+-define(wxDateTime_Jan, 0).
+-define(wxDateTime_Feb, 1).
+-define(wxDateTime_Mar, 2).
+-define(wxDateTime_Apr, 3).
+-define(wxDateTime_May, 4).
+-define(wxDateTime_Jun, 5).
+-define(wxDateTime_Jul, 6).
+-define(wxDateTime_Aug, 7).
+-define(wxDateTime_Sep, 8).
+-define(wxDateTime_Oct, 9).
+-define(wxDateTime_Nov, 10).
+-define(wxDateTime_Dec, 11).
+-define(wxDateTime_Inv_Month, 12).
+% From class wxDateTime::NameFlags
+-define(wxDateTime_Name_Full, 1).
+-define(wxDateTime_Name_Abbr, 2).
+% From class wxDateTime::TZ
+-define(wxDateTime_Local, 0).
+-define(wxDateTime_GMT_12, 1).
+-define(wxDateTime_GMT_11, 2).
+-define(wxDateTime_GMT_10, 3).
+-define(wxDateTime_GMT_9, 4).
+-define(wxDateTime_GMT_8, 5).
+-define(wxDateTime_GMT_7, 6).
+-define(wxDateTime_GMT_6, 7).
+-define(wxDateTime_GMT_5, 8).
+-define(wxDateTime_GMT_4, 9).
+-define(wxDateTime_GMT_3, 10).
+-define(wxDateTime_GMT_2, 11).
+-define(wxDateTime_GMT_1, 12).
+-define(wxDateTime_GMT0, 13).
+-define(wxDateTime_GMT1, 14).
+-define(wxDateTime_GMT2, 15).
+-define(wxDateTime_GMT3, 16).
+-define(wxDateTime_GMT4, 17).
+-define(wxDateTime_GMT5, 18).
+-define(wxDateTime_GMT6, 19).
+-define(wxDateTime_GMT7, 20).
+-define(wxDateTime_GMT8, 21).
+-define(wxDateTime_GMT9, 22).
+-define(wxDateTime_GMT10, 23).
+-define(wxDateTime_GMT11, 24).
+-define(wxDateTime_GMT12, 25).
+-define(wxDateTime_GMT13, 26).
+-define(wxDateTime_WET, ?GMT0).
+-define(wxDateTime_WEST, ?GMT1).
+-define(wxDateTime_CET, ?GMT1).
+-define(wxDateTime_CEST, ?GMT2).
+-define(wxDateTime_EET, ?GMT2).
+-define(wxDateTime_EEST, ?GMT3).
+-define(wxDateTime_MSK, ?GMT3).
+-define(wxDateTime_MSD, ?GMT4).
+-define(wxDateTime_AST, ?GMT_4).
+-define(wxDateTime_ADT, ?GMT_3).
+-define(wxDateTime_EST, ?GMT_5).
+-define(wxDateTime_EDT, ?GMT_4).
+-define(wxDateTime_CST, ?GMT_6).
+-define(wxDateTime_CDT, ?GMT_5).
+-define(wxDateTime_MST, ?GMT_7).
+-define(wxDateTime_MDT, ?GMT_6).
+-define(wxDateTime_PST, ?GMT_8).
+-define(wxDateTime_PDT, ?GMT_7).
+-define(wxDateTime_HST, ?GMT_10).
+-define(wxDateTime_AKST, ?GMT_9).
+-define(wxDateTime_AKDT, ?GMT_8).
+-define(wxDateTime_A_WST, ?GMT8).
+-define(wxDateTime_A_CST, ?GMT13+1).
+-define(wxDateTime_A_EST, ?GMT10).
+-define(wxDateTime_A_ESST, ?GMT11).
+-define(wxDateTime_NZST, ?GMT12).
+-define(wxDateTime_NZDT, ?GMT13).
+-define(wxDateTime_UTC, ?GMT0).
+% From class wxDateTime::WeekDay
+-define(wxDateTime_Sun, 0).
+-define(wxDateTime_Mon, 1).
+-define(wxDateTime_Tue, 2).
+-define(wxDateTime_Wed, 3).
+-define(wxDateTime_Thu, 4).
+-define(wxDateTime_Fri, 5).
+-define(wxDateTime_Sat, 6).
+-define(wxDateTime_Inv_WeekDay, 7).
+% From class wxDateTime::WeekFlags
+-define(wxDateTime_Default_First, 0).
+-define(wxDateTime_Monday_First, 1).
+-define(wxDateTime_Sunday_First, 2).
+% From class wxDateTime::Year
+-define(wxDateTime_Inv_Year, ?SHRT_MIN).
+% From class wxDialog
+-define(wxDialog_ButtonSizerFlags, (?wxOK bor ?wxCANCEL bor ?wxYES bor ?wxNO bor ?wxHELP bor ?wxNO_DEFAULT)).
+% From class wxGrid
+-define(wxGrid_wxGRID_CELLCTRL, 2000).
+-define(wxGrid_wxGRID_TOPCTRL, 2001).
+% From class wxGrid
+-define(wxGrid_wxGRID_TEXTCTRL, 2100).
+-define(wxGrid_wxGRID_CHECKBOX, 2101).
+-define(wxGrid_wxGRID_CHOICE, 2102).
+-define(wxGrid_wxGRID_COMBOBOX, 2103).
+% From class wxGrid::CursorMode
+-define(wxGrid_WXGRID_CURSOR_SELECT_CELL, 0).
+-define(wxGrid_WXGRID_CURSOR_RESIZE_ROW, 1).
+-define(wxGrid_WXGRID_CURSOR_RESIZE_COL, 2).
+-define(wxGrid_WXGRID_CURSOR_SELECT_ROW, 3).
+-define(wxGrid_WXGRID_CURSOR_SELECT_COL, 4).
+-define(wxGrid_WXGRID_CURSOR_MOVE_COL, 5).
+% From class wxGrid::wxGridSelectionModes
+-define(wxGrid_wxGridSelectCells, 0).
+-define(wxGrid_wxGridSelectRows, 1).
+-define(wxGrid_wxGridSelectColumns, 2).
+% From class wxGridCellAttr::wxAttrKind
+-define(wxGridCellAttr_Any, 0).
+-define(wxGridCellAttr_Default, 1).
+-define(wxGridCellAttr_Cell, 2).
+-define(wxGridCellAttr_Row, 3).
+-define(wxGridCellAttr_Col, 4).
+-define(wxGridCellAttr_Merged, 5).
+% From class wxGridCellAttr::wxAttrOverflowMode
+-define(wxGridCellAttr_UnsetOverflow, -1).
+-define(wxGridCellAttr_Overflow, 0).
+-define(wxGridCellAttr_SingleCell, 1).
+% From class wxGridCellAttr::wxAttrReadMode
+-define(wxGridCellAttr_Unset, -1).
+-define(wxGridCellAttr_ReadWrite, 0).
+-define(wxGridCellAttr_ReadOnly, 1).
+% From class wxHelpEvent::Origin
+-define(wxHelpEvent_Origin_Unknown, 0).
+-define(wxHelpEvent_Origin_Keyboard, 1).
+-define(wxHelpEvent_Origin_HelpButton, 2).
+% From class wxHtmlEasyPrinting::FontMode
+-define(wxHtmlEasyPrinting_FontMode_Explicit, 0).
+-define(wxHtmlEasyPrinting_FontMode_Standard, 1).
+% From class wxHtmlWindow::ClipboardType
+-define(wxHtmlWindow_Primary, 0).
+-define(wxHtmlWindow_Secondary, 1).
+% From class wxListbook
+-define(wxListbook_SetSelection_SendEvent, 1).
+% From class wxNavigationKeyEvent
+-define(wxNavigationKeyEvent_IsBackward, 0).
+-define(wxNavigationKeyEvent_IsForward, 1).
+-define(wxNavigationKeyEvent_WinChange, 2).
+-define(wxNavigationKeyEvent_FromTab, 4).
+% From class wxNotebook
+-define(wxNotebook_SetSelection_SendEvent, 1).
+% From class wxProgressDialog
+-define(wxProgressDialog_Uncancelable, -1).
+-define(wxProgressDialog_Canceled, 0).
+-define(wxProgressDialog_Continue, 1).
+-define(wxProgressDialog_Finished, 2).
+% From class wxSizerItem
+-define(wxSizerItem_Item_None, 0).
+-define(wxSizerItem_Item_Window, 1).
+-define(wxSizerItem_Item_Sizer, 2).
+-define(wxSizerItem_Item_Spacer, 3).
+-define(wxSizerItem_Item_Max, 4).
+% From class wxTextCtrl
+-define(wxTextCtrl_SetValue_SendEvent, 1).
+-define(wxTextCtrl_SetValue_SelectionOnly, 2).
+% From class wxToolbook
+-define(wxToolbook_SetSelection_SendEvent, 1).
+% From class wxTreebook
+-define(wxTreebook_SetSelection_SendEvent, 1).
+% From class wxWindow::MoveKind
+-define(wxWindow_MoveBefore, 0).
+-define(wxWindow_MoveAfter, 1).
+% From class wxWindowGTK::ScrollDir
+-define(wxWindowGTK_ScrollDir_Horz, 0).
+-define(wxWindowGTK_ScrollDir_Vert, 1).
+-define(wxWindowGTK_ScrollDir_Max, 2).
+% From class wxWindowGTK::ScrollUnit
+-define(wxWindowGTK_ScrollUnit_Line, 0).
+-define(wxWindowGTK_ScrollUnit_Page, 1).
+-define(wxWindowGTK_ScrollUnit_Max, 2).
+% From "accel.h"
+-define(wxACCEL_NORMAL, 0).
+-define(wxACCEL_ALT, 1).
+-define(wxACCEL_CTRL, 2).
+-define(wxACCEL_SHIFT, 4).
+-define(wxACCEL_CMD, ?wxACCEL_CTRL).
+% From "app.h"
+-define(wxPRINT_WINDOWS, 1).
+-define(wxPRINT_POSTSCRIPT, 2).
+% From "auibook.h": wxAuiNotebookOption
+-define(wxAUI_NB_TOP, 1).
+-define(wxAUI_NB_LEFT, 2).
+-define(wxAUI_NB_RIGHT, 4).
+-define(wxAUI_NB_BOTTOM, 8).
+-define(wxAUI_NB_TAB_SPLIT, 16).
+-define(wxAUI_NB_TAB_MOVE, 32).
+-define(wxAUI_NB_TAB_EXTERNAL_MOVE, 64).
+-define(wxAUI_NB_TAB_FIXED_WIDTH, 128).
+-define(wxAUI_NB_SCROLL_BUTTONS, 256).
+-define(wxAUI_NB_WINDOWLIST_BUTTON, 512).
+-define(wxAUI_NB_CLOSE_BUTTON, 1024).
+-define(wxAUI_NB_CLOSE_ON_ACTIVE_TAB, 2048).
+-define(wxAUI_NB_CLOSE_ON_ALL_TABS, 4096).
+-define(wxAUI_NB_MIDDLE_CLICK_CLOSE, 8192).
+-define(wxAUI_NB_DEFAULT_STYLE, (?wxAUI_NB_TOP bor ?wxAUI_NB_TAB_SPLIT bor ?wxAUI_NB_TAB_MOVE bor ?wxAUI_NB_SCROLL_BUTTONS bor ?wxAUI_NB_CLOSE_ON_ACTIVE_TAB bor ?wxAUI_NB_MIDDLE_CLICK_CLOSE)).
+% From "bookctrl.h"
+-define(wxBK_HITTEST_NOWHERE, 1).
+-define(wxBK_HITTEST_ONICON, 2).
+-define(wxBK_HITTEST_ONLABEL, 4).
+-define(wxBK_HITTEST_ONITEM, (?wxBK_HITTEST_ONICON bor ?wxBK_HITTEST_ONLABEL)).
+-define(wxBK_HITTEST_ONPAGE, 8).
+% From "bookctrl.h"
-define(wxBK_ALIGN_MASK, (?wxBK_TOP bor ?wxBK_BOTTOM bor ?wxBK_LEFT bor ?wxBK_RIGHT)).
-define(wxBK_RIGHT, 128).
-define(wxBK_LEFT, 64).
-define(wxBK_BOTTOM, 32).
-define(wxBK_TOP, 16).
-define(wxBK_DEFAULT, 0).
-% From define::From button.h
+% From "bugs.h": wxSashDragStatus
+-define(wxSASH_STATUS_OK, 0).
+-define(wxSASH_STATUS_OUT_OF_RANGE, 1).
+% From "button.h"
-define(wxBU_EXACTFIT, 1).
-define(wxBU_AUTODRAW, 4).
-define(wxBU_NOAUTODRAW, 0).
@@ -343,38 +666,258 @@
-define(wxBU_RIGHT, 256).
-define(wxBU_TOP, 128).
-define(wxBU_LEFT, 64).
-% From define::From checkbox.h
+% From "calctrl.h"
+-define(wxCAL_SUNDAY_FIRST, 0).
+-define(wxCAL_MONDAY_FIRST, 1).
+-define(wxCAL_SHOW_HOLIDAYS, 2).
+-define(wxCAL_NO_YEAR_CHANGE, 4).
+-define(wxCAL_NO_MONTH_CHANGE, 12).
+-define(wxCAL_SEQUENTIAL_MONTH_SELECTION, 16).
+-define(wxCAL_SHOW_SURROUNDING_WEEKS, 32).
+% From "calctrl.h": wxCalendarDateBorder
+-define(wxCAL_BORDER_NONE, 0).
+-define(wxCAL_BORDER_SQUARE, 1).
+-define(wxCAL_BORDER_ROUND, 2).
+% From "calctrl.h": wxCalendarHitTestResult
+-define(wxCAL_HITTEST_NOWHERE, 0).
+-define(wxCAL_HITTEST_HEADER, 1).
+-define(wxCAL_HITTEST_DAY, 2).
+-define(wxCAL_HITTEST_INCMONTH, 3).
+-define(wxCAL_HITTEST_DECMONTH, 4).
+-define(wxCAL_HITTEST_SURROUNDING_WEEK, 5).
+% From "checkbox.h"
-define(wxCHK_ALLOW_3RD_STATE_FOR_USER, 8192).
-define(wxCHK_3STATE, 4096).
-define(wxCHK_2STATE, 0).
-% From define::From choicdgg.h
+% From "checkbox.h": wxCheckBoxState
+-define(wxCHK_UNCHECKED, 0).
+-define(wxCHK_CHECKED, 1).
+-define(wxCHK_UNDETERMINED, 2).
+% From "choicdgg.h"
-define(wxCHOICEDLG_STYLE, (?wxDEFAULT_DIALOG_STYLE bor ?wxRESIZE_BORDER bor ?wxOK bor ?wxCANCEL bor ?wxCENTRE)).
-define(wxCHOICE_WIDTH, 200).
-define(wxCHOICE_HEIGHT, 150).
-% From define::From choicebk.h
+% From "choicebk.h"
-define(wxCHB_ALIGN_MASK, ?wxBK_ALIGN_MASK).
-define(wxCHB_RIGHT, ?wxBK_RIGHT).
-define(wxCHB_LEFT, ?wxBK_LEFT).
-define(wxCHB_BOTTOM, ?wxBK_BOTTOM).
-define(wxCHB_TOP, ?wxBK_TOP).
-define(wxCHB_DEFAULT, ?wxBK_DEFAULT).
-% From define::From clrpicker.h
+% From "clntdata.h": wxClientDataType
+-define(wxClientData_None, 0).
+-define(wxClientData_Object, 1).
+-define(wxClientData_Void, 2).
+% From "clrpicker.h"
-define(wxCLRP_DEFAULT_STYLE, 0).
-define(wxCLRP_USE_TEXTCTRL, ?wxPB_USE_TEXTCTRL).
-define(wxCLRP_SHOW_LABEL, 8).
-% From define::From colour.h
+% From "cmndata.h": wxPrintBin
+-define(wxPRINTBIN_DEFAULT, 0).
+-define(wxPRINTBIN_ONLYONE, 1).
+-define(wxPRINTBIN_LOWER, 2).
+-define(wxPRINTBIN_MIDDLE, 3).
+-define(wxPRINTBIN_MANUAL, 4).
+-define(wxPRINTBIN_ENVELOPE, 5).
+-define(wxPRINTBIN_ENVMANUAL, 6).
+-define(wxPRINTBIN_AUTO, 7).
+-define(wxPRINTBIN_TRACTOR, 8).
+-define(wxPRINTBIN_SMALLFMT, 9).
+-define(wxPRINTBIN_LARGEFMT, 10).
+-define(wxPRINTBIN_LARGECAPACITY, 11).
+-define(wxPRINTBIN_CASSETTE, 12).
+-define(wxPRINTBIN_FORMSOURCE, 13).
+-define(wxPRINTBIN_USER, 14).
+% From "colour.h"
-define(wxC2S_HTML_SYNTAX, 4).
-define(wxC2S_CSS_SYNTAX, 2).
-define(wxC2S_NAME, 1).
-% From define::From confbase.h
+% From "confbase.h"
-define(wxCONFIG_CASE_SENSITIVE, 0).
-% From define::From datetime.h
+% From "datectrl.h"
+-define(wxDP_DEFAULT, 0).
+-define(wxDP_SPIN, 1).
+-define(wxDP_DROPDOWN, 2).
+-define(wxDP_SHOWCENTURY, 4).
+-define(wxDP_ALLOWNONE, 8).
+% From "datetime.h"
-define(wxInvalidDateTime, ?wxDefaultDateTime).
-% From define::From dcbuffer.h
+% From "dcbuffer.h"
-define(wxBUFFER_CLIENT_AREA, 2).
-define(wxBUFFER_VIRTUAL_AREA, 1).
--define(wxALWAYS_NATIVE_DOUBLE_BUFFER, 0).
-% From define::From defs.h
+-define(wxALWAYS_NATIVE_DOUBLE_BUFFER, wxe_util:get_const(wxALWAYS_NATIVE_DOUBLE_BUFFER)).
+% From "defs.h"
+-define(wxDefaultCoord, -1).
+% From "defs.h"
+-define(wxID_NONE, -3).
+-define(wxID_SEPARATOR, -2).
+-define(wxID_ANY, -1).
+-define(wxID_LOWEST, 4999).
+-define(wxID_OPEN, 5000).
+-define(wxID_CLOSE, 5001).
+-define(wxID_NEW, 5002).
+-define(wxID_SAVE, 5003).
+-define(wxID_SAVEAS, 5004).
+-define(wxID_REVERT, 5005).
+-define(wxID_EXIT, 5006).
+-define(wxID_UNDO, 5007).
+-define(wxID_REDO, 5008).
+-define(wxID_HELP, 5009).
+-define(wxID_PRINT, 5010).
+-define(wxID_PRINT_SETUP, 5011).
+-define(wxID_PAGE_SETUP, 5012).
+-define(wxID_PREVIEW, 5013).
+-define(wxID_ABOUT, 5014).
+-define(wxID_HELP_CONTENTS, 5015).
+-define(wxID_HELP_INDEX, 5016).
+-define(wxID_HELP_SEARCH, 5017).
+-define(wxID_HELP_COMMANDS, 5018).
+-define(wxID_HELP_PROCEDURES, 5019).
+-define(wxID_HELP_CONTEXT, 5020).
+-define(wxID_CLOSE_ALL, 5021).
+-define(wxID_PREFERENCES, 5022).
+-define(wxID_EDIT, 5030).
+-define(wxID_CUT, 5031).
+-define(wxID_COPY, 5032).
+-define(wxID_PASTE, 5033).
+-define(wxID_CLEAR, 5034).
+-define(wxID_FIND, 5035).
+-define(wxID_DUPLICATE, 5036).
+-define(wxID_SELECTALL, 5037).
+-define(wxID_DELETE, 5038).
+-define(wxID_REPLACE, 5039).
+-define(wxID_REPLACE_ALL, 5040).
+-define(wxID_PROPERTIES, 5041).
+-define(wxID_VIEW_DETAILS, 5042).
+-define(wxID_VIEW_LARGEICONS, 5043).
+-define(wxID_VIEW_SMALLICONS, 5044).
+-define(wxID_VIEW_LIST, 5045).
+-define(wxID_VIEW_SORTDATE, 5046).
+-define(wxID_VIEW_SORTNAME, 5047).
+-define(wxID_VIEW_SORTSIZE, 5048).
+-define(wxID_VIEW_SORTTYPE, 5049).
+-define(wxID_FILE, 5050).
+-define(wxID_FILE1, 5051).
+-define(wxID_FILE2, 5052).
+-define(wxID_FILE3, 5053).
+-define(wxID_FILE4, 5054).
+-define(wxID_FILE5, 5055).
+-define(wxID_FILE6, 5056).
+-define(wxID_FILE7, 5057).
+-define(wxID_FILE8, 5058).
+-define(wxID_FILE9, 5059).
+-define(wxID_OK, 5100).
+-define(wxID_CANCEL, 5101).
+-define(wxID_APPLY, 5102).
+-define(wxID_YES, 5103).
+-define(wxID_NO, 5104).
+-define(wxID_STATIC, 5105).
+-define(wxID_FORWARD, 5106).
+-define(wxID_BACKWARD, 5107).
+-define(wxID_DEFAULT, 5108).
+-define(wxID_MORE, 5109).
+-define(wxID_SETUP, 5110).
+-define(wxID_RESET, 5111).
+-define(wxID_CONTEXT_HELP, 5112).
+-define(wxID_YESTOALL, 5113).
+-define(wxID_NOTOALL, 5114).
+-define(wxID_ABORT, 5115).
+-define(wxID_RETRY, 5116).
+-define(wxID_IGNORE, 5117).
+-define(wxID_ADD, 5118).
+-define(wxID_REMOVE, 5119).
+-define(wxID_UP, 5120).
+-define(wxID_DOWN, 5121).
+-define(wxID_HOME, 5122).
+-define(wxID_REFRESH, 5123).
+-define(wxID_STOP, 5124).
+-define(wxID_INDEX, 5125).
+-define(wxID_BOLD, 5126).
+-define(wxID_ITALIC, 5127).
+-define(wxID_JUSTIFY_CENTER, 5128).
+-define(wxID_JUSTIFY_FILL, 5129).
+-define(wxID_JUSTIFY_RIGHT, 5130).
+-define(wxID_JUSTIFY_LEFT, 5131).
+-define(wxID_UNDERLINE, 5132).
+-define(wxID_INDENT, 5133).
+-define(wxID_UNINDENT, 5134).
+-define(wxID_ZOOM_100, 5135).
+-define(wxID_ZOOM_FIT, 5136).
+-define(wxID_ZOOM_IN, 5137).
+-define(wxID_ZOOM_OUT, 5138).
+-define(wxID_UNDELETE, 5139).
+-define(wxID_REVERT_TO_SAVED, 5140).
+-define(wxID_SYSTEM_MENU, 5200).
+-define(wxID_CLOSE_FRAME, 5201).
+-define(wxID_MOVE_FRAME, 5202).
+-define(wxID_RESIZE_FRAME, 5203).
+-define(wxID_MAXIMIZE_FRAME, 5204).
+-define(wxID_ICONIZE_FRAME, 5205).
+-define(wxID_RESTORE_FRAME, 5206).
+-define(wxID_FILEDLGG, 5900).
+-define(wxID_HIGHEST, 5999).
+% From "defs.h"
+-define(wxDEFAULT, 70).
+-define(wxDECORATIVE, 71).
+-define(wxROMAN, 72).
+-define(wxSCRIPT, 73).
+-define(wxSWISS, 74).
+-define(wxMODERN, 75).
+-define(wxTELETYPE, 76).
+-define(wxVARIABLE, 80).
+-define(wxFIXED, 81).
+-define(wxNORMAL, 90).
+-define(wxLIGHT, 91).
+-define(wxBOLD, 92).
+-define(wxITALIC, 93).
+-define(wxSLANT, 94).
+-define(wxSOLID, 100).
+-define(wxDOT, 101).
+-define(wxLONG_DASH, 102).
+-define(wxSHORT_DASH, 103).
+-define(wxDOT_DASH, 104).
+-define(wxUSER_DASH, 105).
+-define(wxTRANSPARENT, 106).
+-define(wxSTIPPLE_MASK_OPAQUE, 107).
+-define(wxSTIPPLE_MASK, 108).
+-define(wxSTIPPLE, 110).
+-define(wxBDIAGONAL_HATCH, 111).
+-define(wxCROSSDIAG_HATCH, 112).
+-define(wxFDIAGONAL_HATCH, 113).
+-define(wxCROSS_HATCH, 114).
+-define(wxHORIZONTAL_HATCH, 115).
+-define(wxVERTICAL_HATCH, 116).
+-define(wxFIRST_HATCH, ?wxBDIAGONAL_HATCH).
+-define(wxLAST_HATCH, ?wxVERTICAL_HATCH).
+-define(wxJOIN_BEVEL, 120).
+-define(wxJOIN_MITER, 121).
+-define(wxJOIN_ROUND, 122).
+-define(wxCAP_ROUND, 130).
+-define(wxCAP_PROJECTING, 131).
+-define(wxCAP_BUTT, 132).
+% From "defs.h"
+-define(wxFLOOD_SURFACE, 1).
+-define(wxFLOOD_BORDER, 2).
+% From "defs.h"
+-define(wxODDEVEN_RULE, 1).
+-define(wxWINDING_RULE, 2).
+% From "defs.h"
+-define(wxTOOL_TOP, 1).
+-define(wxTOOL_BOTTOM, 2).
+-define(wxTOOL_LEFT, 3).
+-define(wxTOOL_RIGHT, 4).
+% From "defs.h"
+-define(wxMM_TEXT, 1).
+-define(wxMM_LOMETRIC, 2).
+-define(wxMM_HIMETRIC, 3).
+-define(wxMM_LOENGLISH, 4).
+-define(wxMM_HIENGLISH, 5).
+-define(wxMM_TWIPS, 6).
+-define(wxMM_ISOTROPIC, 7).
+-define(wxMM_ANISOTROPIC, 8).
+-define(wxMM_POINTS, 9).
+-define(wxMM_METRIC, 10).
+% From "defs.h"
-define(wxPRINT_QUALITY_DRAFT, -4).
-define(wxPRINT_QUALITY_LOW, -3).
-define(wxPRINT_QUALITY_MEDIUM, -2).
@@ -503,21 +1046,499 @@
-define(wxBIG_ENDIAN, 4321).
-define(wxHAS_INT64, wxe_util:get_const(wxHAS_INT64)).
-define(wxNOT_FOUND, -1).
-% From define::From dialog.h
+% From "defs.h": form_ops_t
+-define(wxCLEAR, 0).
+-define(wxROP_BLACK, ?wxCLEAR).
+-define(wxBLIT_BLACKNESS, ?wxCLEAR).
+-define(wxXOR, (?wxCLEAR+1)).
+-define(wxROP_XORPEN, ?wxXOR).
+-define(wxBLIT_SRCINVERT, ?wxXOR).
+-define(wxINVERT, (?wxXOR+1)).
+-define(wxROP_NOT, ?wxINVERT).
+-define(wxBLIT_DSTINVERT, ?wxINVERT).
+-define(wxOR_REVERSE, (?wxINVERT+1)).
+-define(wxROP_MERGEPENNOT, ?wxOR_REVERSE).
+-define(wxBLIT_00DD0228, ?wxOR_REVERSE).
+-define(wxAND_REVERSE, (?wxOR_REVERSE+1)).
+-define(wxROP_MASKPENNOT, ?wxAND_REVERSE).
+-define(wxBLIT_SRCERASE, ?wxAND_REVERSE).
+-define(wxCOPY, (?wxAND_REVERSE+1)).
+-define(wxROP_COPYPEN, ?wxCOPY).
+-define(wxBLIT_SRCCOPY, ?wxCOPY).
+-define(wxAND, (?wxCOPY+1)).
+-define(wxROP_MASKPEN, ?wxAND).
+-define(wxBLIT_SRCAND, ?wxAND).
+-define(wxAND_INVERT, (?wxAND+1)).
+-define(wxROP_MASKNOTPEN, ?wxAND_INVERT).
+-define(wxBLIT_00220326, ?wxAND_INVERT).
+-define(wxNO_OP, (?wxAND_INVERT+1)).
+-define(wxROP_NOP, ?wxNO_OP).
+-define(wxBLIT_00AA0029, ?wxNO_OP).
+-define(wxNOR, (?wxNO_OP+1)).
+-define(wxROP_NOTMERGEPEN, ?wxNOR).
+-define(wxBLIT_NOTSRCERASE, ?wxNOR).
+-define(wxEQUIV, (?wxNOR+1)).
+-define(wxROP_NOTXORPEN, ?wxEQUIV).
+-define(wxBLIT_00990066, ?wxEQUIV).
+-define(wxSRC_INVERT, (?wxEQUIV+1)).
+-define(wxROP_NOTCOPYPEN, ?wxSRC_INVERT).
+-define(wxBLIT_NOTSCRCOPY, ?wxSRC_INVERT).
+-define(wxOR_INVERT, (?wxSRC_INVERT+1)).
+-define(wxROP_MERGENOTPEN, ?wxOR_INVERT).
+-define(wxBLIT_MERGEPAINT, ?wxOR_INVERT).
+-define(wxNAND, (?wxOR_INVERT+1)).
+-define(wxROP_NOTMASKPEN, ?wxNAND).
+-define(wxBLIT_007700E6, ?wxNAND).
+-define(wxOR, (?wxNAND+1)).
+-define(wxROP_MERGEPEN, ?wxOR).
+-define(wxBLIT_SRCPAINT, ?wxOR).
+-define(wxSET, (?wxOR+1)).
+-define(wxROP_WHITE, ?wxSET).
+-define(wxBLIT_WHITENESS, ?wxSET).
+% From "defs.h": wxAlignment
+-define(wxALIGN_NOT, 0).
+-define(wxALIGN_CENTER_HORIZONTAL, 256).
+-define(wxALIGN_CENTRE_HORIZONTAL, ?wxALIGN_CENTER_HORIZONTAL).
+-define(wxALIGN_LEFT, ?wxALIGN_NOT).
+-define(wxALIGN_TOP, ?wxALIGN_NOT).
+-define(wxALIGN_RIGHT, 512).
+-define(wxALIGN_BOTTOM, 1024).
+-define(wxALIGN_CENTER_VERTICAL, 2048).
+-define(wxALIGN_CENTRE_VERTICAL, ?wxALIGN_CENTER_VERTICAL).
+-define(wxALIGN_CENTER, (?wxALIGN_CENTER_HORIZONTAL bor ?wxALIGN_CENTER_VERTICAL)).
+-define(wxALIGN_CENTRE, ?wxALIGN_CENTER).
+-define(wxALIGN_MASK, 3840).
+% From "defs.h": wxBackgroundStyle
+-define(wxBG_STYLE_SYSTEM, 0).
+-define(wxBG_STYLE_COLOUR, 1).
+-define(wxBG_STYLE_CUSTOM, 2).
+% From "defs.h": wxBorder
+-define(wxBORDER_DEFAULT, 0).
+-define(wxBORDER_NONE, 2097152).
+-define(wxBORDER_STATIC, 16777216).
+-define(wxBORDER_SIMPLE, 33554432).
+-define(wxBORDER_RAISED, 67108864).
+-define(wxBORDER_SUNKEN, 134217728).
+-define(wxBORDER_DOUBLE, 268435456).
+-define(wxBORDER_THEME, 268435456).
+-define(wxBORDER_MASK, 522190848).
+% From "defs.h": wxDataFormatId
+-define(wxDF_INVALID, 0).
+-define(wxDF_TEXT, 1).
+-define(wxDF_BITMAP, 2).
+-define(wxDF_METAFILE, 3).
+-define(wxDF_SYLK, 4).
+-define(wxDF_DIF, 5).
+-define(wxDF_TIFF, 6).
+-define(wxDF_OEMTEXT, 7).
+-define(wxDF_DIB, 8).
+-define(wxDF_PALETTE, 9).
+-define(wxDF_PENDATA, 10).
+-define(wxDF_RIFF, 11).
+-define(wxDF_WAVE, 12).
+-define(wxDF_UNICODETEXT, 13).
+-define(wxDF_ENHMETAFILE, 14).
+-define(wxDF_FILENAME, 15).
+-define(wxDF_LOCALE, 16).
+-define(wxDF_PRIVATE, 20).
+-define(wxDF_HTML, 30).
+-define(wxDF_MAX, 31).
+% From "defs.h": wxDirection
+-define(wxLEFT, 16).
+-define(wxRIGHT, 32).
+-define(wxUP, 64).
+-define(wxDOWN, 128).
+-define(wxTOP, ?wxUP).
+-define(wxBOTTOM, ?wxDOWN).
+-define(wxNORTH, ?wxUP).
+-define(wxSOUTH, ?wxDOWN).
+-define(wxWEST, ?wxLEFT).
+-define(wxEAST, ?wxRIGHT).
+-define(wxALL, (?wxUP bor ?wxDOWN bor ?wxRIGHT bor ?wxLEFT)).
+% From "defs.h": wxDuplexMode
+-define(wxDUPLEX_SIMPLEX, 0).
+-define(wxDUPLEX_HORIZONTAL, 1).
+-define(wxDUPLEX_VERTICAL, 2).
+% From "defs.h": wxGeometryCentre
+-define(wxCENTRE, 1).
+-define(wxCENTER, ?wxCENTRE).
+% From "defs.h": wxHitTest
+-define(wxHT_NOWHERE, 0).
+-define(wxHT_SCROLLBAR_FIRST, ?wxHT_NOWHERE).
+-define(wxHT_SCROLLBAR_ARROW_LINE_1, (?wxHT_NOWHERE+1)).
+-define(wxHT_SCROLLBAR_ARROW_LINE_2, (?wxHT_NOWHERE+2)).
+-define(wxHT_SCROLLBAR_ARROW_PAGE_1, (?wxHT_NOWHERE+3)).
+-define(wxHT_SCROLLBAR_ARROW_PAGE_2, (?wxHT_NOWHERE+4)).
+-define(wxHT_SCROLLBAR_THUMB, (?wxHT_NOWHERE+5)).
+-define(wxHT_SCROLLBAR_BAR_1, (?wxHT_NOWHERE+6)).
+-define(wxHT_SCROLLBAR_BAR_2, (?wxHT_NOWHERE+7)).
+-define(wxHT_SCROLLBAR_LAST, (?wxHT_NOWHERE+8)).
+-define(wxHT_WINDOW_OUTSIDE, (?wxHT_NOWHERE+9)).
+-define(wxHT_WINDOW_INSIDE, (?wxHT_NOWHERE+10)).
+-define(wxHT_WINDOW_VERT_SCROLLBAR, (?wxHT_NOWHERE+11)).
+-define(wxHT_WINDOW_HORZ_SCROLLBAR, (?wxHT_NOWHERE+12)).
+-define(wxHT_WINDOW_CORNER, (?wxHT_NOWHERE+13)).
+-define(wxHT_MAX, (?wxHT_NOWHERE+14)).
+% From "defs.h": wxItemKind
+-define(wxITEM_SEPARATOR, -1).
+-define(wxITEM_NORMAL, 0).
+-define(wxITEM_CHECK, 1).
+-define(wxITEM_RADIO, 2).
+-define(wxITEM_MAX, 3).
+% From "defs.h": wxKeyCode
+-define(WXK_BACK, 8).
+-define(WXK_TAB, 9).
+-define(WXK_RETURN, 13).
+-define(WXK_ESCAPE, 27).
+-define(WXK_SPACE, 32).
+-define(WXK_DELETE, 127).
+-define(WXK_START, 300).
+-define(WXK_LBUTTON, 301).
+-define(WXK_RBUTTON, 302).
+-define(WXK_CANCEL, 303).
+-define(WXK_MBUTTON, 304).
+-define(WXK_CLEAR, 305).
+-define(WXK_SHIFT, 306).
+-define(WXK_ALT, 307).
+-define(WXK_CONTROL, 308).
+-define(WXK_MENU, 309).
+-define(WXK_PAUSE, 310).
+-define(WXK_CAPITAL, 311).
+-define(WXK_END, 312).
+-define(WXK_HOME, 313).
+-define(WXK_LEFT, 314).
+-define(WXK_UP, 315).
+-define(WXK_RIGHT, 316).
+-define(WXK_DOWN, 317).
+-define(WXK_SELECT, 318).
+-define(WXK_PRINT, 319).
+-define(WXK_EXECUTE, 320).
+-define(WXK_SNAPSHOT, 321).
+-define(WXK_INSERT, 322).
+-define(WXK_HELP, 323).
+-define(WXK_NUMPAD0, 324).
+-define(WXK_NUMPAD1, 325).
+-define(WXK_NUMPAD2, 326).
+-define(WXK_NUMPAD3, 327).
+-define(WXK_NUMPAD4, 328).
+-define(WXK_NUMPAD5, 329).
+-define(WXK_NUMPAD6, 330).
+-define(WXK_NUMPAD7, 331).
+-define(WXK_NUMPAD8, 332).
+-define(WXK_NUMPAD9, 333).
+-define(WXK_MULTIPLY, 334).
+-define(WXK_ADD, 335).
+-define(WXK_SEPARATOR, 336).
+-define(WXK_SUBTRACT, 337).
+-define(WXK_DECIMAL, 338).
+-define(WXK_DIVIDE, 339).
+-define(WXK_F1, 340).
+-define(WXK_F2, 341).
+-define(WXK_F3, 342).
+-define(WXK_F4, 343).
+-define(WXK_F5, 344).
+-define(WXK_F6, 345).
+-define(WXK_F7, 346).
+-define(WXK_F8, 347).
+-define(WXK_F9, 348).
+-define(WXK_F10, 349).
+-define(WXK_F11, 350).
+-define(WXK_F12, 351).
+-define(WXK_F13, 352).
+-define(WXK_F14, 353).
+-define(WXK_F15, 354).
+-define(WXK_F16, 355).
+-define(WXK_F17, 356).
+-define(WXK_F18, 357).
+-define(WXK_F19, 358).
+-define(WXK_F20, 359).
+-define(WXK_F21, 360).
+-define(WXK_F22, 361).
+-define(WXK_F23, 362).
+-define(WXK_F24, 363).
+-define(WXK_NUMLOCK, 364).
+-define(WXK_SCROLL, 365).
+-define(WXK_PAGEUP, 366).
+-define(WXK_PAGEDOWN, 367).
+-define(WXK_NUMPAD_SPACE, 368).
+-define(WXK_NUMPAD_TAB, 369).
+-define(WXK_NUMPAD_ENTER, 370).
+-define(WXK_NUMPAD_F1, 371).
+-define(WXK_NUMPAD_F2, 372).
+-define(WXK_NUMPAD_F3, 373).
+-define(WXK_NUMPAD_F4, 374).
+-define(WXK_NUMPAD_HOME, 375).
+-define(WXK_NUMPAD_LEFT, 376).
+-define(WXK_NUMPAD_UP, 377).
+-define(WXK_NUMPAD_RIGHT, 378).
+-define(WXK_NUMPAD_DOWN, 379).
+-define(WXK_NUMPAD_PAGEUP, 380).
+-define(WXK_NUMPAD_PAGEDOWN, 381).
+-define(WXK_NUMPAD_END, 382).
+-define(WXK_NUMPAD_BEGIN, 383).
+-define(WXK_NUMPAD_INSERT, 384).
+-define(WXK_NUMPAD_DELETE, 385).
+-define(WXK_NUMPAD_EQUAL, 386).
+-define(WXK_NUMPAD_MULTIPLY, 387).
+-define(WXK_NUMPAD_ADD, 388).
+-define(WXK_NUMPAD_SEPARATOR, 389).
+-define(WXK_NUMPAD_SUBTRACT, 390).
+-define(WXK_NUMPAD_DECIMAL, 391).
+-define(WXK_NUMPAD_DIVIDE, 392).
+-define(WXK_WINDOWS_LEFT, 393).
+-define(WXK_WINDOWS_RIGHT, 394).
+-define(WXK_WINDOWS_MENU, 395).
+-define(WXK_COMMAND, 396).
+-define(WXK_SPECIAL1, 193).
+-define(WXK_SPECIAL2, 194).
+-define(WXK_SPECIAL3, 195).
+-define(WXK_SPECIAL4, 196).
+-define(WXK_SPECIAL5, 197).
+-define(WXK_SPECIAL6, 198).
+-define(WXK_SPECIAL7, 199).
+-define(WXK_SPECIAL8, 200).
+-define(WXK_SPECIAL9, 201).
+-define(WXK_SPECIAL10, 202).
+-define(WXK_SPECIAL11, 203).
+-define(WXK_SPECIAL12, 204).
+-define(WXK_SPECIAL13, 205).
+-define(WXK_SPECIAL14, 206).
+-define(WXK_SPECIAL15, 207).
+-define(WXK_SPECIAL16, 208).
+-define(WXK_SPECIAL17, 209).
+-define(WXK_SPECIAL18, 210).
+-define(WXK_SPECIAL19, 211).
+-define(WXK_SPECIAL20, 212).
+% From "defs.h": wxKeyModifier
+-define(wxMOD_NONE, 0).
+-define(wxMOD_ALT, 1).
+-define(wxMOD_CONTROL, 2).
+-define(wxMOD_ALTGR, (?wxMOD_ALT bor ?wxMOD_CONTROL)).
+-define(wxMOD_SHIFT, 4).
+-define(wxMOD_META, 8).
+-define(wxMOD_WIN, ?wxMOD_META).
+-define(wxMOD_CMD, wxe_util:get_const(wxMOD_CMD)).
+-define(wxMOD_ALL, 65535).
+% From "defs.h": wxNotificationOptions
+-define(wxNOTIFY_NONE, 0).
+-define(wxNOTIFY_ONCE, 1).
+-define(wxNOTIFY_REPEAT, 2).
+% From "defs.h": wxOrientation
+-define(wxHORIZONTAL, 4).
+-define(wxVERTICAL, 8).
+-define(wxBOTH, (?wxVERTICAL bor ?wxHORIZONTAL)).
+% From "defs.h": wxPaperSize
+-define(wxPAPER_NONE, 0).
+-define(wxPAPER_LETTER, 1).
+-define(wxPAPER_LEGAL, 2).
+-define(wxPAPER_A4, 3).
+-define(wxPAPER_CSHEET, 4).
+-define(wxPAPER_DSHEET, 5).
+-define(wxPAPER_ESHEET, 6).
+-define(wxPAPER_LETTERSMALL, 7).
+-define(wxPAPER_TABLOID, 8).
+-define(wxPAPER_LEDGER, 9).
+-define(wxPAPER_STATEMENT, 10).
+-define(wxPAPER_EXECUTIVE, 11).
+-define(wxPAPER_A3, 12).
+-define(wxPAPER_A4SMALL, 13).
+-define(wxPAPER_A5, 14).
+-define(wxPAPER_B4, 15).
+-define(wxPAPER_B5, 16).
+-define(wxPAPER_FOLIO, 17).
+-define(wxPAPER_QUARTO, 18).
+-define(wxPAPER_10X14, 19).
+-define(wxPAPER_11X17, 20).
+-define(wxPAPER_NOTE, 21).
+-define(wxPAPER_ENV_9, 22).
+-define(wxPAPER_ENV_10, 23).
+-define(wxPAPER_ENV_11, 24).
+-define(wxPAPER_ENV_12, 25).
+-define(wxPAPER_ENV_14, 26).
+-define(wxPAPER_ENV_DL, 27).
+-define(wxPAPER_ENV_C5, 28).
+-define(wxPAPER_ENV_C3, 29).
+-define(wxPAPER_ENV_C4, 30).
+-define(wxPAPER_ENV_C6, 31).
+-define(wxPAPER_ENV_C65, 32).
+-define(wxPAPER_ENV_B4, 33).
+-define(wxPAPER_ENV_B5, 34).
+-define(wxPAPER_ENV_B6, 35).
+-define(wxPAPER_ENV_ITALY, 36).
+-define(wxPAPER_ENV_MONARCH, 37).
+-define(wxPAPER_ENV_PERSONAL, 38).
+-define(wxPAPER_FANFOLD_US, 39).
+-define(wxPAPER_FANFOLD_STD_GERMAN, 40).
+-define(wxPAPER_FANFOLD_LGL_GERMAN, 41).
+-define(wxPAPER_ISO_B4, 42).
+-define(wxPAPER_JAPANESE_POSTCARD, 43).
+-define(wxPAPER_9X11, 44).
+-define(wxPAPER_10X11, 45).
+-define(wxPAPER_15X11, 46).
+-define(wxPAPER_ENV_INVITE, 47).
+-define(wxPAPER_LETTER_EXTRA, 48).
+-define(wxPAPER_LEGAL_EXTRA, 49).
+-define(wxPAPER_TABLOID_EXTRA, 50).
+-define(wxPAPER_A4_EXTRA, 51).
+-define(wxPAPER_LETTER_TRANSVERSE, 52).
+-define(wxPAPER_A4_TRANSVERSE, 53).
+-define(wxPAPER_LETTER_EXTRA_TRANSVERSE, 54).
+-define(wxPAPER_A_PLUS, 55).
+-define(wxPAPER_B_PLUS, 56).
+-define(wxPAPER_LETTER_PLUS, 57).
+-define(wxPAPER_A4_PLUS, 58).
+-define(wxPAPER_A5_TRANSVERSE, 59).
+-define(wxPAPER_B5_TRANSVERSE, 60).
+-define(wxPAPER_A3_EXTRA, 61).
+-define(wxPAPER_A5_EXTRA, 62).
+-define(wxPAPER_B5_EXTRA, 63).
+-define(wxPAPER_A2, 64).
+-define(wxPAPER_A3_TRANSVERSE, 65).
+-define(wxPAPER_A3_EXTRA_TRANSVERSE, 66).
+-define(wxPAPER_DBL_JAPANESE_POSTCARD, 67).
+-define(wxPAPER_A6, 68).
+-define(wxPAPER_JENV_KAKU2, 69).
+-define(wxPAPER_JENV_KAKU3, 70).
+-define(wxPAPER_JENV_CHOU3, 71).
+-define(wxPAPER_JENV_CHOU4, 72).
+-define(wxPAPER_LETTER_ROTATED, 73).
+-define(wxPAPER_A3_ROTATED, 74).
+-define(wxPAPER_A4_ROTATED, 75).
+-define(wxPAPER_A5_ROTATED, 76).
+-define(wxPAPER_B4_JIS_ROTATED, 77).
+-define(wxPAPER_B5_JIS_ROTATED, 78).
+-define(wxPAPER_JAPANESE_POSTCARD_ROTATED, 79).
+-define(wxPAPER_DBL_JAPANESE_POSTCARD_ROTATED, 80).
+-define(wxPAPER_A6_ROTATED, 81).
+-define(wxPAPER_JENV_KAKU2_ROTATED, 82).
+-define(wxPAPER_JENV_KAKU3_ROTATED, 83).
+-define(wxPAPER_JENV_CHOU3_ROTATED, 84).
+-define(wxPAPER_JENV_CHOU4_ROTATED, 85).
+-define(wxPAPER_B6_JIS, 86).
+-define(wxPAPER_B6_JIS_ROTATED, 87).
+-define(wxPAPER_12X11, 88).
+-define(wxPAPER_JENV_YOU4, 89).
+-define(wxPAPER_JENV_YOU4_ROTATED, 90).
+-define(wxPAPER_P16K, 91).
+-define(wxPAPER_P32K, 92).
+-define(wxPAPER_P32KBIG, 93).
+-define(wxPAPER_PENV_1, 94).
+-define(wxPAPER_PENV_2, 95).
+-define(wxPAPER_PENV_3, 96).
+-define(wxPAPER_PENV_4, 97).
+-define(wxPAPER_PENV_5, 98).
+-define(wxPAPER_PENV_6, 99).
+-define(wxPAPER_PENV_7, 100).
+-define(wxPAPER_PENV_8, 101).
+-define(wxPAPER_PENV_9, 102).
+-define(wxPAPER_PENV_10, 103).
+-define(wxPAPER_P16K_ROTATED, 104).
+-define(wxPAPER_P32K_ROTATED, 105).
+-define(wxPAPER_P32KBIG_ROTATED, 106).
+-define(wxPAPER_PENV_1_ROTATED, 107).
+-define(wxPAPER_PENV_2_ROTATED, 108).
+-define(wxPAPER_PENV_3_ROTATED, 109).
+-define(wxPAPER_PENV_4_ROTATED, 110).
+-define(wxPAPER_PENV_5_ROTATED, 111).
+-define(wxPAPER_PENV_6_ROTATED, 112).
+-define(wxPAPER_PENV_7_ROTATED, 113).
+-define(wxPAPER_PENV_8_ROTATED, 114).
+-define(wxPAPER_PENV_9_ROTATED, 115).
+-define(wxPAPER_PENV_10_ROTATED, 116).
+% From "defs.h": wxPrintMode
+-define(wxPRINT_MODE_NONE, 0).
+-define(wxPRINT_MODE_PREVIEW, 1).
+-define(wxPRINT_MODE_FILE, 2).
+-define(wxPRINT_MODE_PRINTER, 3).
+-define(wxPRINT_MODE_STREAM, 4).
+% From "defs.h": wxStretch
+-define(wxSTRETCH_NOT, 0).
+-define(wxSHRINK, 4096).
+-define(wxGROW, 8192).
+-define(wxEXPAND, ?wxGROW).
+-define(wxSHAPED, 16384).
+-define(wxFIXED_MINSIZE, 32768).
+-define(wxRESERVE_SPACE_EVEN_IF_HIDDEN, 2).
+-define(wxTILE, 49152).
+-define(wxADJUST_MINSIZE, 0).
+% From "defs.h": wxUpdateUI
+-define(wxUPDATE_UI_NONE, 0).
+-define(wxUPDATE_UI_RECURSE, 1).
+-define(wxUPDATE_UI_FROMIDLE, 2).
+% From "dialog.h"
-define(wxDEFAULT_DIALOG_STYLE, (?wxCAPTION bor ?wxSYSTEM_MENU bor ?wxCLOSE_BOX)).
-define(wxDIALOG_NO_PARENT, 1).
-% From define::From dirctrlg.h
+% From "dirctrlg.h"
+-define(wxDIRCTRL_DIR_ONLY, 16).
+-define(wxDIRCTRL_SELECT_FIRST, 32).
+-define(wxDIRCTRL_SHOW_FILTERS, 64).
+-define(wxDIRCTRL_3D_INTERNAL, 128).
+-define(wxDIRCTRL_EDIT_LABELS, 256).
+% From "dirctrlg.h"
-define(wxID_FILTERLISTCTRL, 7001).
-define(wxID_TREECTRL, 7000).
-% From define::From dirdlg.h
+% From "dirdlg.h"
-define(wxDD_DEFAULT_STYLE, (?wxDEFAULT_DIALOG_STYLE bor ?wxRESIZE_BORDER)).
-define(wxDD_NEW_DIR_BUTTON, 0).
-define(wxDD_DIR_MUST_EXIST, 512).
-define(wxDD_CHANGE_DIR, 256).
-% From define::From dirdlgg.h
-% From define::From filedlg.h
+% From "dirdlgg.h"
+% From "dnd.h"
+-define(wxDrag_CopyOnly, 0).
+-define(wxDrag_AllowMove, 1).
+-define(wxDrag_DefaultMove, 3).
+% From "dnd.h": wxDragResult
+-define(wxDragError, 0).
+-define(wxDragNone, 1).
+-define(wxDragCopy, 2).
+-define(wxDragMove, 3).
+-define(wxDragLink, 4).
+-define(wxDragCancel, 5).
+% From "event.h"
+-define(wxMOUSE_BTN_ANY, -1).
+-define(wxMOUSE_BTN_NONE, 0).
+-define(wxMOUSE_BTN_LEFT, 1).
+-define(wxMOUSE_BTN_MIDDLE, 2).
+-define(wxMOUSE_BTN_RIGHT, 3).
+% From "event.h"
+-define(wxJOYSTICK1, 0).
+-define(wxJOYSTICK2, 1).
+% From "event.h"
+-define(wxJOY_BUTTON_ANY, -1).
+-define(wxJOY_BUTTON1, 1).
+-define(wxJOY_BUTTON2, 2).
+-define(wxJOY_BUTTON3, 4).
+-define(wxJOY_BUTTON4, 8).
+% From "event.h"
+% From "event.h": Propagation_state
+-define(wxEVENT_PROPAGATE_NONE, 0).
+-define(wxEVENT_PROPAGATE_MAX, ?INT_MAX).
+% From "event.h": wxIdleMode
+-define(wxIDLE_PROCESS_ALL, 0).
+-define(wxIDLE_PROCESS_SPECIFIED, 1).
+% From "event.h": wxUpdateUIMode
+-define(wxUPDATE_UI_PROCESS_ALL, 0).
+-define(wxUPDATE_UI_PROCESS_SPECIFIED, 1).
+% From "fdrepdlg.h": wxFindReplaceDialogStyles
+-define(wxFR_REPLACEDIALOG, 1).
+-define(wxFR_NOUPDOWN, 2).
+-define(wxFR_NOMATCHCASE, 4).
+-define(wxFR_NOWHOLEWORD, 8).
+% From "fdrepdlg.h": wxFindReplaceFlags
+-define(wxFR_DOWN, 1).
+-define(wxFR_WHOLEWORD, 2).
+-define(wxFR_MATCHCASE, 4).
+% From "filedlg.h"
+-define(wxFD_OPEN, 1).
+-define(wxFD_SAVE, 2).
+-define(wxFD_OVERWRITE_PROMPT, 4).
+-define(wxFD_FILE_MUST_EXIST, 16).
+-define(wxFD_MULTIPLE, 32).
+-define(wxFD_CHANGE_DIR, 128).
+-define(wxFD_PREVIEW, 256).
+% From "filedlg.h"
-define(wxFD_DEFAULT_STYLE, ?wxFD_OPEN).
-% From define::From filepicker.h
+% From "filepicker.h"
-define(wxDIRP_DEFAULT_STYLE, ?wxDIRP_DIR_MUST_EXIST).
-define(wxDIRP_USE_TEXTCTRL, ?wxPB_USE_TEXTCTRL).
-define(wxFLP_DEFAULT_STYLE, (?wxFLP_OPEN bor ?wxFLP_FILE_MUST_EXIST)).
@@ -529,30 +1550,300 @@
-define(wxFLP_OVERWRITE_PROMPT, 4096).
-define(wxFLP_SAVE, 2048).
-define(wxFLP_OPEN, 1024).
-% From define::From fontpicker.h
+% From "font.h"
+-define(wxFONTFLAG_DEFAULT, 0).
+-define(wxFONTFLAG_ITALIC, 1).
+-define(wxFONTFLAG_SLANT, 2).
+-define(wxFONTFLAG_LIGHT, 4).
+-define(wxFONTFLAG_BOLD, 8).
+-define(wxFONTFLAG_ANTIALIASED, 16).
+-define(wxFONTFLAG_NOT_ANTIALIASED, 32).
+-define(wxFONTFLAG_UNDERLINED, 64).
+-define(wxFONTFLAG_STRIKETHROUGH, 128).
+-define(wxFONTFLAG_MASK, (?wxFONTFLAG_ITALIC bor ?wxFONTFLAG_SLANT bor ?wxFONTFLAG_LIGHT bor ?wxFONTFLAG_BOLD bor ?wxFONTFLAG_ANTIALIASED bor ?wxFONTFLAG_NOT_ANTIALIASED bor ?wxFONTFLAG_UNDERLINED bor ?wxFONTFLAG_STRIKETHROUGH)).
+% From "font.h": wxFontFamily
+-define(wxFONTFAMILY_DEFAULT, ?wxDEFAULT).
+-define(wxFONTFAMILY_DECORATIVE, ?wxDECORATIVE).
+-define(wxFONTFAMILY_ROMAN, ?wxROMAN).
+-define(wxFONTFAMILY_SCRIPT, ?wxSCRIPT).
+-define(wxFONTFAMILY_SWISS, ?wxSWISS).
+-define(wxFONTFAMILY_MODERN, ?wxMODERN).
+-define(wxFONTFAMILY_TELETYPE, ?wxTELETYPE).
+-define(wxFONTFAMILY_MAX, (?wxTELETYPE+1)).
+-define(wxFONTFAMILY_UNKNOWN, ?wxFONTFAMILY_MAX).
+% From "font.h": wxFontStyle
+-define(wxFONTSTYLE_NORMAL, ?wxNORMAL).
+-define(wxFONTSTYLE_ITALIC, ?wxITALIC).
+-define(wxFONTSTYLE_SLANT, ?wxSLANT).
+-define(wxFONTSTYLE_MAX, (?wxSLANT+1)).
+% From "font.h": wxFontWeight
+-define(wxFONTWEIGHT_NORMAL, ?wxNORMAL).
+-define(wxFONTWEIGHT_LIGHT, ?wxLIGHT).
+-define(wxFONTWEIGHT_BOLD, ?wxBOLD).
+-define(wxFONTWEIGHT_MAX, (?wxBOLD+1)).
+% From "fontenc.h": wxFontEncoding
+-define(wxFONTENCODING_SYSTEM, -1).
+-define(wxFONTENCODING_DEFAULT, 0).
+-define(wxFONTENCODING_ISO8859_1, 1).
+-define(wxFONTENCODING_ISO8859_2, 2).
+-define(wxFONTENCODING_ISO8859_3, 3).
+-define(wxFONTENCODING_ISO8859_4, 4).
+-define(wxFONTENCODING_ISO8859_5, 5).
+-define(wxFONTENCODING_ISO8859_6, 6).
+-define(wxFONTENCODING_ISO8859_7, 7).
+-define(wxFONTENCODING_ISO8859_8, 8).
+-define(wxFONTENCODING_ISO8859_9, 9).
+-define(wxFONTENCODING_ISO8859_10, 10).
+-define(wxFONTENCODING_ISO8859_11, 11).
+-define(wxFONTENCODING_ISO8859_12, 12).
+-define(wxFONTENCODING_ISO8859_13, 13).
+-define(wxFONTENCODING_ISO8859_14, 14).
+-define(wxFONTENCODING_ISO8859_15, 15).
+-define(wxFONTENCODING_ISO8859_MAX, 16).
+-define(wxFONTENCODING_KOI8, 17).
+-define(wxFONTENCODING_KOI8_U, 18).
+-define(wxFONTENCODING_ALTERNATIVE, 19).
+-define(wxFONTENCODING_BULGARIAN, 20).
+-define(wxFONTENCODING_CP437, 21).
+-define(wxFONTENCODING_CP850, 22).
+-define(wxFONTENCODING_CP852, 23).
+-define(wxFONTENCODING_CP855, 24).
+-define(wxFONTENCODING_CP866, 25).
+-define(wxFONTENCODING_CP874, 26).
+-define(wxFONTENCODING_CP932, 27).
+-define(wxFONTENCODING_CP936, 28).
+-define(wxFONTENCODING_CP949, 29).
+-define(wxFONTENCODING_CP950, 30).
+-define(wxFONTENCODING_CP1250, 31).
+-define(wxFONTENCODING_CP1251, 32).
+-define(wxFONTENCODING_CP1252, 33).
+-define(wxFONTENCODING_CP1253, 34).
+-define(wxFONTENCODING_CP1254, 35).
+-define(wxFONTENCODING_CP1255, 36).
+-define(wxFONTENCODING_CP1256, 37).
+-define(wxFONTENCODING_CP1257, 38).
+-define(wxFONTENCODING_CP12_MAX, 39).
+-define(wxFONTENCODING_UTF7, 40).
+-define(wxFONTENCODING_UTF8, 41).
+-define(wxFONTENCODING_EUC_JP, 42).
+-define(wxFONTENCODING_UTF16BE, 43).
+-define(wxFONTENCODING_UTF16LE, 44).
+-define(wxFONTENCODING_UTF32BE, 45).
+-define(wxFONTENCODING_UTF32LE, 46).
+-define(wxFONTENCODING_MACROMAN, 47).
+-define(wxFONTENCODING_MACJAPANESE, 48).
+-define(wxFONTENCODING_MACCHINESETRAD, 49).
+-define(wxFONTENCODING_MACKOREAN, 50).
+-define(wxFONTENCODING_MACARABIC, 51).
+-define(wxFONTENCODING_MACHEBREW, 52).
+-define(wxFONTENCODING_MACGREEK, 53).
+-define(wxFONTENCODING_MACCYRILLIC, 54).
+-define(wxFONTENCODING_MACDEVANAGARI, 55).
+-define(wxFONTENCODING_MACGURMUKHI, 56).
+-define(wxFONTENCODING_MACGUJARATI, 57).
+-define(wxFONTENCODING_MACORIYA, 58).
+-define(wxFONTENCODING_MACBENGALI, 59).
+-define(wxFONTENCODING_MACTAMIL, 60).
+-define(wxFONTENCODING_MACTELUGU, 61).
+-define(wxFONTENCODING_MACKANNADA, 62).
+-define(wxFONTENCODING_MACMALAJALAM, 63).
+-define(wxFONTENCODING_MACSINHALESE, 64).
+-define(wxFONTENCODING_MACBURMESE, 65).
+-define(wxFONTENCODING_MACKHMER, 66).
+-define(wxFONTENCODING_MACTHAI, 67).
+-define(wxFONTENCODING_MACLAOTIAN, 68).
+-define(wxFONTENCODING_MACGEORGIAN, 69).
+-define(wxFONTENCODING_MACARMENIAN, 70).
+-define(wxFONTENCODING_MACCHINESESIMP, 71).
+-define(wxFONTENCODING_MACTIBETAN, 72).
+-define(wxFONTENCODING_MACMONGOLIAN, 73).
+-define(wxFONTENCODING_MACETHIOPIC, 74).
+-define(wxFONTENCODING_MACCENTRALEUR, 75).
+-define(wxFONTENCODING_MACVIATNAMESE, 76).
+-define(wxFONTENCODING_MACARABICEXT, 77).
+-define(wxFONTENCODING_MACSYMBOL, 78).
+-define(wxFONTENCODING_MACDINGBATS, 79).
+-define(wxFONTENCODING_MACTURKISH, 80).
+-define(wxFONTENCODING_MACCROATIAN, 81).
+-define(wxFONTENCODING_MACICELANDIC, 82).
+-define(wxFONTENCODING_MACROMANIAN, 83).
+-define(wxFONTENCODING_MACCELTIC, 84).
+-define(wxFONTENCODING_MACGAELIC, 85).
+-define(wxFONTENCODING_MACKEYBOARD, 86).
+-define(wxFONTENCODING_MAX, 87).
+-define(wxFONTENCODING_MACMIN, ?wxFONTENCODING_MACROMAN).
+-define(wxFONTENCODING_MACMAX, ?wxFONTENCODING_MACKEYBOARD).
+-define(wxFONTENCODING_UTF16, wxe_util:get_const(wxFONTENCODING_UTF16)).
+-define(wxFONTENCODING_UTF32, wxe_util:get_const(wxFONTENCODING_UTF32)).
+-define(wxFONTENCODING_UNICODE, ?wxFONTENCODING_UTF32).
+-define(wxFONTENCODING_GB2312, ?wxFONTENCODING_CP936).
+-define(wxFONTENCODING_BIG5, ?wxFONTENCODING_CP950).
+-define(wxFONTENCODING_SHIFT_JIS, ?wxFONTENCODING_CP932).
+% From "fontpicker.h"
-define(wxFNTP_MAXPOINT_SIZE, 100).
-define(wxFNTP_DEFAULT_STYLE, (?wxFNTP_FONTDESC_AS_LABEL bor ?wxFNTP_USEFONT_FOR_LABEL)).
-define(wxFNTP_USE_TEXTCTRL, ?wxPB_USE_TEXTCTRL).
-define(wxFNTP_USEFONT_FOR_LABEL, 16).
-define(wxFNTP_FONTDESC_AS_LABEL, 8).
-% From define::From frame.h
+% From "frame.h"
-define(wxFRAME_SHAPED, 16).
-define(wxFRAME_FLOAT_ON_PARENT, 8).
-define(wxFRAME_TOOL_WINDOW, 4).
-define(wxFRAME_NO_TASKBAR, 2).
-% From define::From gauge.h
--define(wxGAUGE_EMULATE_INDETERMINATE_MODE, 1).
+% From "framemanager.h": wxAuiButtonId
+-define(wxAUI_BUTTON_CLOSE, 101).
+-define(wxAUI_BUTTON_MAXIMIZE_RESTORE, 102).
+-define(wxAUI_BUTTON_MINIMIZE, 103).
+-define(wxAUI_BUTTON_PIN, 104).
+-define(wxAUI_BUTTON_OPTIONS, 105).
+-define(wxAUI_BUTTON_WINDOWLIST, 106).
+-define(wxAUI_BUTTON_LEFT, 107).
+-define(wxAUI_BUTTON_RIGHT, 108).
+-define(wxAUI_BUTTON_UP, 109).
+-define(wxAUI_BUTTON_DOWN, 110).
+-define(wxAUI_BUTTON_CUSTOM1, 201).
+-define(wxAUI_BUTTON_CUSTOM2, 202).
+-define(wxAUI_BUTTON_CUSTOM3, 203).
+% From "framemanager.h": wxAuiManagerDock
+-define(wxAUI_DOCK_NONE, 0).
+-define(wxAUI_DOCK_TOP, 1).
+-define(wxAUI_DOCK_RIGHT, 2).
+-define(wxAUI_DOCK_BOTTOM, 3).
+-define(wxAUI_DOCK_LEFT, 4).
+-define(wxAUI_DOCK_CENTER, 5).
+-define(wxAUI_DOCK_CENTRE, ?wxAUI_DOCK_CENTER).
+% From "framemanager.h": wxAuiManagerOption
+-define(wxAUI_MGR_ALLOW_FLOATING, 1).
+-define(wxAUI_MGR_ALLOW_ACTIVE_PANE, 2).
+-define(wxAUI_MGR_TRANSPARENT_DRAG, 4).
+-define(wxAUI_MGR_TRANSPARENT_HINT, 8).
+-define(wxAUI_MGR_VENETIAN_BLINDS_HINT, 16).
+-define(wxAUI_MGR_RECTANGLE_HINT, 32).
+-define(wxAUI_MGR_HINT_FADE, 64).
+-define(wxAUI_MGR_NO_VENETIAN_BLINDS_FADE, 128).
+-define(wxAUI_MGR_LIVE_RESIZE, 256).
+-define(wxAUI_MGR_DEFAULT, (?wxAUI_MGR_ALLOW_FLOATING bor ?wxAUI_MGR_TRANSPARENT_HINT bor ?wxAUI_MGR_HINT_FADE bor ?wxAUI_MGR_NO_VENETIAN_BLINDS_FADE)).
+% From "framemanager.h": wxAuiPaneButtonState
+-define(wxAUI_BUTTON_STATE_NORMAL, 0).
+-define(wxAUI_BUTTON_STATE_HOVER, 2).
+-define(wxAUI_BUTTON_STATE_PRESSED, 4).
+-define(wxAUI_BUTTON_STATE_DISABLED, 8).
+-define(wxAUI_BUTTON_STATE_HIDDEN, 16).
+-define(wxAUI_BUTTON_STATE_CHECKED, 32).
+% From "framemanager.h": wxAuiPaneDockArtGradients
+-define(wxAUI_GRADIENT_NONE, 0).
+-define(wxAUI_GRADIENT_VERTICAL, 1).
+-define(wxAUI_GRADIENT_HORIZONTAL, 2).
+% From "framemanager.h": wxAuiPaneDockArtSetting
+-define(wxAUI_DOCKART_SASH_SIZE, 0).
+-define(wxAUI_DOCKART_CAPTION_SIZE, 1).
+-define(wxAUI_DOCKART_GRIPPER_SIZE, 2).
+-define(wxAUI_DOCKART_PANE_BORDER_SIZE, 3).
+-define(wxAUI_DOCKART_PANE_BUTTON_SIZE, 4).
+-define(wxAUI_DOCKART_BACKGROUND_COLOUR, 5).
+-define(wxAUI_DOCKART_SASH_COLOUR, 6).
+-define(wxAUI_DOCKART_ACTIVE_CAPTION_COLOUR, 7).
+-define(wxAUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR, 8).
+-define(wxAUI_DOCKART_INACTIVE_CAPTION_COLOUR, 9).
+-define(wxAUI_DOCKART_INACTIVE_CAPTION_GRADIENT_COLOUR, 10).
+-define(wxAUI_DOCKART_ACTIVE_CAPTION_TEXT_COLOUR, 11).
+-define(wxAUI_DOCKART_INACTIVE_CAPTION_TEXT_COLOUR, 12).
+-define(wxAUI_DOCKART_BORDER_COLOUR, 13).
+-define(wxAUI_DOCKART_GRIPPER_COLOUR, 14).
+-define(wxAUI_DOCKART_CAPTION_FONT, 15).
+-define(wxAUI_DOCKART_GRADIENT_TYPE, 16).
+% From "framemanager.h": wxAuiPaneInsertLevel
+-define(wxAUI_INSERT_PANE, 0).
+-define(wxAUI_INSERT_ROW, 1).
+-define(wxAUI_INSERT_DOCK, 2).
+% From "gauge.h"
+-define(wxGAUGE_EMULATE_INDETERMINATE_MODE, wxe_util:get_const(wxGAUGE_EMULATE_INDETERMINATE_MODE)).
-define(wxGA_SMOOTH, 32).
-define(wxGA_VERTICAL, ?wxVERTICAL).
-define(wxGA_HORIZONTAL, ?wxHORIZONTAL).
-% From define::From gdicmn.h
+% From "gdicmn.h"
-define(wxGetDisplayDepth, ?wxDisplayDepth).
-% From define::From generic_2laywin.h
+% From "gdicmn.h": wxBitmapType
+-define(wxBITMAP_TYPE_INVALID, 0).
+-define(wxBITMAP_TYPE_BMP, 1).
+-define(wxBITMAP_TYPE_BMP_RESOURCE, 2).
+-define(wxBITMAP_TYPE_RESOURCE, ?wxBITMAP_TYPE_BMP_RESOURCE).
+-define(wxBITMAP_TYPE_ICO, (?wxBITMAP_TYPE_BMP_RESOURCE+1)).
+-define(wxBITMAP_TYPE_ICO_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+2)).
+-define(wxBITMAP_TYPE_CUR, (?wxBITMAP_TYPE_BMP_RESOURCE+3)).
+-define(wxBITMAP_TYPE_CUR_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+4)).
+-define(wxBITMAP_TYPE_XBM, (?wxBITMAP_TYPE_BMP_RESOURCE+5)).
+-define(wxBITMAP_TYPE_XBM_DATA, (?wxBITMAP_TYPE_BMP_RESOURCE+6)).
+-define(wxBITMAP_TYPE_XPM, (?wxBITMAP_TYPE_BMP_RESOURCE+7)).
+-define(wxBITMAP_TYPE_XPM_DATA, (?wxBITMAP_TYPE_BMP_RESOURCE+8)).
+-define(wxBITMAP_TYPE_TIF, (?wxBITMAP_TYPE_BMP_RESOURCE+9)).
+-define(wxBITMAP_TYPE_TIF_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+10)).
+-define(wxBITMAP_TYPE_GIF, (?wxBITMAP_TYPE_BMP_RESOURCE+11)).
+-define(wxBITMAP_TYPE_GIF_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+12)).
+-define(wxBITMAP_TYPE_PNG, (?wxBITMAP_TYPE_BMP_RESOURCE+13)).
+-define(wxBITMAP_TYPE_PNG_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+14)).
+-define(wxBITMAP_TYPE_JPEG, (?wxBITMAP_TYPE_BMP_RESOURCE+15)).
+-define(wxBITMAP_TYPE_JPEG_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+16)).
+-define(wxBITMAP_TYPE_PNM, (?wxBITMAP_TYPE_BMP_RESOURCE+17)).
+-define(wxBITMAP_TYPE_PNM_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+18)).
+-define(wxBITMAP_TYPE_PCX, (?wxBITMAP_TYPE_BMP_RESOURCE+19)).
+-define(wxBITMAP_TYPE_PCX_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+20)).
+-define(wxBITMAP_TYPE_PICT, (?wxBITMAP_TYPE_BMP_RESOURCE+21)).
+-define(wxBITMAP_TYPE_PICT_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+22)).
+-define(wxBITMAP_TYPE_ICON, (?wxBITMAP_TYPE_BMP_RESOURCE+23)).
+-define(wxBITMAP_TYPE_ICON_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+24)).
+-define(wxBITMAP_TYPE_ANI, (?wxBITMAP_TYPE_BMP_RESOURCE+25)).
+-define(wxBITMAP_TYPE_IFF, (?wxBITMAP_TYPE_BMP_RESOURCE+26)).
+-define(wxBITMAP_TYPE_TGA, (?wxBITMAP_TYPE_BMP_RESOURCE+27)).
+-define(wxBITMAP_TYPE_MACCURSOR, (?wxBITMAP_TYPE_BMP_RESOURCE+28)).
+-define(wxBITMAP_TYPE_MACCURSOR_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+29)).
+-define(wxBITMAP_TYPE_ANY, 50).
+% From "gdicmn.h": wxStockCursor
+-define(wxCURSOR_NONE, 0).
+-define(wxCURSOR_ARROW, 1).
+-define(wxCURSOR_RIGHT_ARROW, 2).
+-define(wxCURSOR_BULLSEYE, 3).
+-define(wxCURSOR_CHAR, 4).
+-define(wxCURSOR_CROSS, 5).
+-define(wxCURSOR_HAND, 6).
+-define(wxCURSOR_IBEAM, 7).
+-define(wxCURSOR_LEFT_BUTTON, 8).
+-define(wxCURSOR_MAGNIFIER, 9).
+-define(wxCURSOR_MIDDLE_BUTTON, 10).
+-define(wxCURSOR_NO_ENTRY, 11).
+-define(wxCURSOR_PAINT_BRUSH, 12).
+-define(wxCURSOR_PENCIL, 13).
+-define(wxCURSOR_POINT_LEFT, 14).
+-define(wxCURSOR_POINT_RIGHT, 15).
+-define(wxCURSOR_QUESTION_ARROW, 16).
+-define(wxCURSOR_RIGHT_BUTTON, 17).
+-define(wxCURSOR_SIZENESW, 18).
+-define(wxCURSOR_SIZENS, 19).
+-define(wxCURSOR_SIZENWSE, 20).
+-define(wxCURSOR_SIZEWE, 21).
+-define(wxCURSOR_SIZING, 22).
+-define(wxCURSOR_SPRAYCAN, 23).
+-define(wxCURSOR_WAIT, 24).
+-define(wxCURSOR_WATCH, 25).
+-define(wxCURSOR_BLANK, 26).
+-define(wxCURSOR_DEFAULT, 27).
+-define(wxCURSOR_ARROWWAIT, 28).
+-define(wxCURSOR_MAX, 29).
+% From "generic_2laywin.h"
-define(wxLAYOUT_QUERY, 256).
-define(wxLAYOUT_MRU_LENGTH, 16).
-define(wxLAYOUT_LENGTH_X, 0).
-define(wxLAYOUT_LENGTH_Y, 8).
-% From define::From generic_2sashwin.h
+% From "generic_2laywin.h": wxLayoutAlignment
+-define(wxLAYOUT_NONE, 0).
+-define(wxLAYOUT_TOP, 1).
+-define(wxLAYOUT_LEFT, 2).
+-define(wxLAYOUT_RIGHT, 3).
+-define(wxLAYOUT_BOTTOM, 4).
+% From "generic_2laywin.h": wxLayoutOrientation
+-define(wxLAYOUT_HORIZONTAL, 0).
+-define(wxLAYOUT_VERTICAL, 1).
+% From "generic_2sashwin.h"
-define(wxSW_3D, (?wxSW_3DSASH bor ?wxSW_3DBORDER)).
-define(wxSW_3DBORDER, 128).
-define(wxSW_3DSASH, 64).
@@ -561,27 +1852,137 @@
-define(wxSASH_DRAG_LEFT_DOWN, 2).
-define(wxSASH_DRAG_DRAGGING, 1).
-define(wxSASH_DRAG_NONE, 0).
-% From define::From generic_2splash.h
+% From "generic_2sashwin.h": wxSashEdgePosition
+-define(wxSASH_TOP, 0).
+-define(wxSASH_RIGHT, 1).
+-define(wxSASH_BOTTOM, 2).
+-define(wxSASH_LEFT, 3).
+-define(wxSASH_NONE, 100).
+% From "generic_2splash.h"
-define(wxSPLASH_NO_TIMEOUT, 0).
-define(wxSPLASH_TIMEOUT, 4).
-define(wxSPLASH_NO_CENTRE, 0).
-define(wxSPLASH_CENTRE_ON_SCREEN, 2).
-define(wxSPLASH_CENTRE_ON_PARENT, 1).
-% From define::From hash.h
+% From "generic_2splitter.h"
+-define(wxSPLIT_DRAG_NONE, 0).
+-define(wxSPLIT_DRAG_DRAGGING, 1).
+-define(wxSPLIT_DRAG_LEFT_DOWN, 2).
+% From "generic_2splitter.h": wxSplitMode
+-define(wxSPLIT_HORIZONTAL, 1).
+-define(wxSPLIT_VERTICAL, 2).
+% From "glcanvas.h"
+-define(WX_GL_RGBA, 1).
+-define(WX_GL_BUFFER_SIZE, 2).
+-define(WX_GL_LEVEL, 3).
+-define(WX_GL_DOUBLEBUFFER, 4).
+-define(WX_GL_STEREO, 5).
+-define(WX_GL_AUX_BUFFERS, 6).
+-define(WX_GL_MIN_RED, 7).
+-define(WX_GL_MIN_GREEN, 8).
+-define(WX_GL_MIN_BLUE, 9).
+-define(WX_GL_MIN_ALPHA, 10).
+-define(WX_GL_DEPTH_SIZE, 11).
+-define(WX_GL_STENCIL_SIZE, 12).
+-define(WX_GL_MIN_ACCUM_RED, 13).
+-define(WX_GL_MIN_ACCUM_GREEN, 14).
+-define(WX_GL_MIN_ACCUM_BLUE, 15).
+-define(WX_GL_MIN_ACCUM_ALPHA, 16).
+% From "hash.h"
-define(wxHASH_SIZE_DEFAULT, 1000).
-% From define::From htmlwin.h
+% From "htmlwin.h"
-define(wxHW_DEFAULT_STYLE, ?wxHW_SCROLLBAR_AUTO).
-define(wxHW_NO_SELECTION, 8).
-define(wxHW_SCROLLBAR_AUTO, 4).
-define(wxHW_SCROLLBAR_NEVER, 2).
-% From define::From imaglist.h
+% From "htmlwin.h": wxHtmlOpeningStatus
+-define(wxHTML_OPEN, 0).
+-define(wxHTML_BLOCK, 1).
+-define(wxHTML_REDIRECT, 2).
+% From "htmprint.h"
+-define(wxPAGE_ODD, 0).
+-define(wxPAGE_EVEN, 1).
+-define(wxPAGE_ALL, 2).
+% From "imagbmp.h"
+-define(wxBMP_24BPP, 24).
+-define(wxBMP_8BPP, 8).
+-define(wxBMP_8BPP_GREY, 9).
+-define(wxBMP_8BPP_GRAY, ?wxBMP_8BPP_GREY).
+-define(wxBMP_8BPP_RED, 10).
+-define(wxBMP_8BPP_PALETTE, 11).
+-define(wxBMP_4BPP, 4).
+-define(wxBMP_1BPP, 1).
+-define(wxBMP_1BPP_BW, 2).
+% From "image.h"
+-define(wxIMAGE_RESOLUTION_INCHES, 1).
+-define(wxIMAGE_RESOLUTION_CM, 2).
+% From "image.h"
+-define(wxIMAGE_QUALITY_NORMAL, 0).
+-define(wxIMAGE_QUALITY_HIGH, 1).
+% From "imaglist.h"
+-define(wxIMAGE_LIST_NORMAL, 0).
+-define(wxIMAGE_LIST_SMALL, 1).
+-define(wxIMAGE_LIST_STATE, 2).
+% From "imaglist.h"
-define(wxIMAGELIST_DRAW_FOCUSED, 8).
-define(wxIMAGELIST_DRAW_SELECTED, 4).
-define(wxIMAGELIST_DRAW_TRANSPARENT, 2).
-define(wxIMAGELIST_DRAW_NORMAL, 1).
-% From define::From layout.h
+% From "intl.h": wxLayoutDirection
+-define(wxLayout_Default, 0).
+-define(wxLayout_LeftToRight, 1).
+-define(wxLayout_RightToLeft, 2).
+% From "layout.h"
-define(wxLAYOUT_DEFAULT_MARGIN, 0).
-% From define::From listbase.h
+% From "layout.h": wxEdge
+-define(wxLeft, 0).
+-define(wxTop, 1).
+-define(wxRight, 2).
+-define(wxBottom, 3).
+-define(wxWidth, 4).
+-define(wxHeight, 5).
+-define(wxCentre, 6).
+-define(wxCenter, ?wxCentre).
+-define(wxCentreX, (?wxCentre+1)).
+-define(wxCentreY, (?wxCentre+2)).
+% From "layout.h": wxRelationship
+-define(wxUnconstrained, 0).
+-define(wxAsIs, 1).
+-define(wxPercentOf, 2).
+-define(wxAbove, 3).
+-define(wxBelow, 4).
+-define(wxLeftOf, 5).
+-define(wxRightOf, 6).
+-define(wxSameAs, 7).
+-define(wxAbsolute, 8).
+% From "list.h": wxKeyType
+-define(wxKEY_NONE, 0).
+-define(wxKEY_INTEGER, 1).
+-define(wxKEY_STRING, 2).
+% From "listbase.h"
+-define(wxLIST_NEXT_ABOVE, 0).
+-define(wxLIST_NEXT_ALL, 1).
+-define(wxLIST_NEXT_BELOW, 2).
+-define(wxLIST_NEXT_LEFT, 3).
+-define(wxLIST_NEXT_RIGHT, 4).
+% From "listbase.h"
+-define(wxLIST_ALIGN_DEFAULT, 0).
+-define(wxLIST_ALIGN_LEFT, 1).
+-define(wxLIST_ALIGN_TOP, 2).
+-define(wxLIST_ALIGN_SNAP_TO_GRID, 3).
+% From "listbase.h"
+-define(wxLIST_AUTOSIZE, -1).
+-define(wxLIST_AUTOSIZE_USEHEADER, -2).
+% From "listbase.h"
+-define(wxLIST_RECT_BOUNDS, 0).
+-define(wxLIST_RECT_ICON, 1).
+-define(wxLIST_RECT_LABEL, 2).
+% From "listbase.h"
+-define(wxLIST_FIND_UP, 0).
+-define(wxLIST_FIND_DOWN, 1).
+-define(wxLIST_FIND_LEFT, 2).
+-define(wxLIST_FIND_RIGHT, 3).
+% From "listbase.h"
-define(wxLIST_HITTEST_ONITEM, (?wxLIST_HITTEST_ONITEMICON bor ?wxLIST_HITTEST_ONITEMLABEL bor ?wxLIST_HITTEST_ONITEMSTATEICON)).
-define(wxLIST_HITTEST_TORIGHT, 2048).
-define(wxLIST_HITTEST_TOLEFT, 1024).
@@ -629,20 +2030,31 @@
-define(wxLC_ICON, 4).
-define(wxLC_HRULES, 2).
-define(wxLC_VRULES, 1).
-% From define::From listbook.h
+% From "listbase.h": wxListColumnFormat
+-define(wxLIST_FORMAT_LEFT, 0).
+-define(wxLIST_FORMAT_RIGHT, 1).
+-define(wxLIST_FORMAT_CENTRE, 2).
+-define(wxLIST_FORMAT_CENTER, ?wxLIST_FORMAT_CENTRE).
+% From "listbook.h"
-define(wxLB_ALIGN_MASK, ?wxBK_ALIGN_MASK).
-define(wxLB_RIGHT, ?wxBK_RIGHT).
-define(wxLB_LEFT, ?wxBK_LEFT).
-define(wxLB_BOTTOM, ?wxBK_BOTTOM).
-define(wxLB_TOP, ?wxBK_TOP).
-define(wxLB_DEFAULT, ?wxBK_DEFAULT).
-% From define::From log.h
+% From "log.h"
-define(wxTRACE_OleCalls, ?wxEmptyString).
-define(wxTraceRefCount, 8).
-define(wxTraceResAlloc, 4).
-define(wxTraceMessages, 2).
-define(wxTraceMemAlloc, 1).
-% From define::From notebook.h
+% From "notebook.h"
+-define(wxNB_HITTEST_NOWHERE, ?wxBK_HITTEST_NOWHERE).
+-define(wxNB_HITTEST_ONICON, ?wxBK_HITTEST_ONICON).
+-define(wxNB_HITTEST_ONLABEL, ?wxBK_HITTEST_ONLABEL).
+-define(wxNB_HITTEST_ONITEM, ?wxBK_HITTEST_ONITEM).
+-define(wxNB_HITTEST_ONPAGE, ?wxBK_HITTEST_ONPAGE).
+% From "notebook.h"
-define(wxNB_FLAT, 2048).
-define(wxNB_NOPAGETHEME, 1024).
-define(wxNB_MULTILINE, 512).
@@ -652,9 +2064,9 @@
-define(wxNB_BOTTOM, ?wxBK_BOTTOM).
-define(wxNB_TOP, ?wxBK_TOP).
-define(wxNB_DEFAULT, ?wxBK_DEFAULT).
-% From define::From pickerbase.h
+% From "pickerbase.h"
-define(wxPB_USE_TEXTCTRL, 2).
-% From define::From prntbase.h
+% From "prntbase.h"
-define(wxID_PREVIEW_GOTO, 8).
-define(wxID_PREVIEW_LAST, 7).
-define(wxID_PREVIEW_FIRST, 6).
@@ -671,7 +2083,11 @@
-define(wxPREVIEW_NEXT, 4).
-define(wxPREVIEW_PREVIOUS, 2).
-define(wxPREVIEW_PRINT, 1).
-% From define::From progdlg.h
+% From "prntbase.h": wxPrinterError
+-define(wxPRINTER_NO_ERROR, 0).
+-define(wxPRINTER_CANCELLED, 1).
+-define(wxPRINTER_ERROR, 2).
+% From "progdlg.h"
-define(wxPD_CAN_SKIP, 128).
-define(wxPD_REMAINING_TIME, 64).
-define(wxPD_SMOOTH, 32).
@@ -680,9 +2096,121 @@
-define(wxPD_AUTO_HIDE, 4).
-define(wxPD_APP_MODAL, 2).
-define(wxPD_CAN_ABORT, 1).
-% From define::From scrolwin.h
+% From "region.h": wxRegionContain
+-define(wxOutRegion, 0).
+-define(wxPartRegion, 1).
+-define(wxInRegion, 2).
+% From "region.h": wxRegionOp
+-define(wxRGN_AND, 0).
+-define(wxRGN_COPY, 1).
+-define(wxRGN_DIFF, 2).
+-define(wxRGN_OR, 3).
+-define(wxRGN_XOR, 4).
+% From "scrolwin.h"
-define(wxScrolledWindowStyle, (?wxHSCROLL bor ?wxVSCROLL)).
-% From define::From slider.h
+% From "settings.h": wxSystemColour
+-define(wxSYS_COLOUR_SCROLLBAR, 0).
+-define(wxSYS_COLOUR_BACKGROUND, 1).
+-define(wxSYS_COLOUR_DESKTOP, ?wxSYS_COLOUR_BACKGROUND).
+-define(wxSYS_COLOUR_ACTIVECAPTION, (?wxSYS_COLOUR_BACKGROUND+1)).
+-define(wxSYS_COLOUR_INACTIVECAPTION, (?wxSYS_COLOUR_BACKGROUND+2)).
+-define(wxSYS_COLOUR_MENU, (?wxSYS_COLOUR_BACKGROUND+3)).
+-define(wxSYS_COLOUR_WINDOW, (?wxSYS_COLOUR_BACKGROUND+4)).
+-define(wxSYS_COLOUR_WINDOWFRAME, (?wxSYS_COLOUR_BACKGROUND+5)).
+-define(wxSYS_COLOUR_MENUTEXT, (?wxSYS_COLOUR_BACKGROUND+6)).
+-define(wxSYS_COLOUR_WINDOWTEXT, (?wxSYS_COLOUR_BACKGROUND+7)).
+-define(wxSYS_COLOUR_CAPTIONTEXT, (?wxSYS_COLOUR_BACKGROUND+8)).
+-define(wxSYS_COLOUR_ACTIVEBORDER, (?wxSYS_COLOUR_BACKGROUND+9)).
+-define(wxSYS_COLOUR_INACTIVEBORDER, (?wxSYS_COLOUR_BACKGROUND+10)).
+-define(wxSYS_COLOUR_APPWORKSPACE, (?wxSYS_COLOUR_BACKGROUND+11)).
+-define(wxSYS_COLOUR_HIGHLIGHT, (?wxSYS_COLOUR_BACKGROUND+12)).
+-define(wxSYS_COLOUR_HIGHLIGHTTEXT, (?wxSYS_COLOUR_BACKGROUND+13)).
+-define(wxSYS_COLOUR_BTNFACE, (?wxSYS_COLOUR_BACKGROUND+14)).
+-define(wxSYS_COLOUR_3DFACE, ?wxSYS_COLOUR_BTNFACE).
+-define(wxSYS_COLOUR_BTNSHADOW, (?wxSYS_COLOUR_BTNFACE+1)).
+-define(wxSYS_COLOUR_3DSHADOW, ?wxSYS_COLOUR_BTNSHADOW).
+-define(wxSYS_COLOUR_GRAYTEXT, (?wxSYS_COLOUR_BTNSHADOW+1)).
+-define(wxSYS_COLOUR_BTNTEXT, (?wxSYS_COLOUR_BTNSHADOW+2)).
+-define(wxSYS_COLOUR_INACTIVECAPTIONTEXT, (?wxSYS_COLOUR_BTNSHADOW+3)).
+-define(wxSYS_COLOUR_BTNHIGHLIGHT, (?wxSYS_COLOUR_BTNSHADOW+4)).
+-define(wxSYS_COLOUR_BTNHILIGHT, ?wxSYS_COLOUR_BTNHIGHLIGHT).
+-define(wxSYS_COLOUR_3DHIGHLIGHT, ?wxSYS_COLOUR_BTNHIGHLIGHT).
+-define(wxSYS_COLOUR_3DHILIGHT, ?wxSYS_COLOUR_BTNHIGHLIGHT).
+-define(wxSYS_COLOUR_3DDKSHADOW, (?wxSYS_COLOUR_BTNHIGHLIGHT+1)).
+-define(wxSYS_COLOUR_3DLIGHT, (?wxSYS_COLOUR_BTNHIGHLIGHT+2)).
+-define(wxSYS_COLOUR_INFOTEXT, (?wxSYS_COLOUR_BTNHIGHLIGHT+3)).
+-define(wxSYS_COLOUR_INFOBK, (?wxSYS_COLOUR_BTNHIGHLIGHT+4)).
+-define(wxSYS_COLOUR_LISTBOX, (?wxSYS_COLOUR_BTNHIGHLIGHT+5)).
+-define(wxSYS_COLOUR_HOTLIGHT, (?wxSYS_COLOUR_BTNHIGHLIGHT+6)).
+-define(wxSYS_COLOUR_GRADIENTACTIVECAPTION, (?wxSYS_COLOUR_BTNHIGHLIGHT+7)).
+-define(wxSYS_COLOUR_GRADIENTINACTIVECAPTION, (?wxSYS_COLOUR_BTNHIGHLIGHT+8)).
+-define(wxSYS_COLOUR_MENUHILIGHT, (?wxSYS_COLOUR_BTNHIGHLIGHT+9)).
+-define(wxSYS_COLOUR_MENUBAR, (?wxSYS_COLOUR_BTNHIGHLIGHT+10)).
+-define(wxSYS_COLOUR_LISTBOXTEXT, (?wxSYS_COLOUR_BTNHIGHLIGHT+11)).
+-define(wxSYS_COLOUR_MAX, (?wxSYS_COLOUR_BTNHIGHLIGHT+12)).
+% From "settings.h": wxSystemFeature
+-define(wxSYS_CAN_DRAW_FRAME_DECORATIONS, 1).
+-define(wxSYS_CAN_ICONIZE_FRAME, 2).
+-define(wxSYS_TABLET_PRESENT, 3).
+% From "settings.h": wxSystemFont
+-define(wxSYS_OEM_FIXED_FONT, 10).
+-define(wxSYS_ANSI_FIXED_FONT, 11).
+-define(wxSYS_ANSI_VAR_FONT, 12).
+-define(wxSYS_SYSTEM_FONT, 13).
+-define(wxSYS_DEVICE_DEFAULT_FONT, 14).
+-define(wxSYS_DEFAULT_PALETTE, 15).
+-define(wxSYS_SYSTEM_FIXED_FONT, 16).
+-define(wxSYS_DEFAULT_GUI_FONT, 17).
+-define(wxSYS_ICONTITLE_FONT, ?wxSYS_DEFAULT_GUI_FONT).
+% From "settings.h": wxSystemMetric
+-define(wxSYS_MOUSE_BUTTONS, 1).
+-define(wxSYS_BORDER_X, 2).
+-define(wxSYS_BORDER_Y, 3).
+-define(wxSYS_CURSOR_X, 4).
+-define(wxSYS_CURSOR_Y, 5).
+-define(wxSYS_DCLICK_X, 6).
+-define(wxSYS_DCLICK_Y, 7).
+-define(wxSYS_DRAG_X, 8).
+-define(wxSYS_DRAG_Y, 9).
+-define(wxSYS_EDGE_X, 10).
+-define(wxSYS_EDGE_Y, 11).
+-define(wxSYS_HSCROLL_ARROW_X, 12).
+-define(wxSYS_HSCROLL_ARROW_Y, 13).
+-define(wxSYS_HTHUMB_X, 14).
+-define(wxSYS_ICON_X, 15).
+-define(wxSYS_ICON_Y, 16).
+-define(wxSYS_ICONSPACING_X, 17).
+-define(wxSYS_ICONSPACING_Y, 18).
+-define(wxSYS_WINDOWMIN_X, 19).
+-define(wxSYS_WINDOWMIN_Y, 20).
+-define(wxSYS_SCREEN_X, 21).
+-define(wxSYS_SCREEN_Y, 22).
+-define(wxSYS_FRAMESIZE_X, 23).
+-define(wxSYS_FRAMESIZE_Y, 24).
+-define(wxSYS_SMALLICON_X, 25).
+-define(wxSYS_SMALLICON_Y, 26).
+-define(wxSYS_HSCROLL_Y, 27).
+-define(wxSYS_VSCROLL_X, 28).
+-define(wxSYS_VSCROLL_ARROW_X, 29).
+-define(wxSYS_VSCROLL_ARROW_Y, 30).
+-define(wxSYS_VTHUMB_Y, 31).
+-define(wxSYS_CAPTION_Y, 32).
+-define(wxSYS_MENU_Y, 33).
+-define(wxSYS_NETWORK_PRESENT, 34).
+-define(wxSYS_PENWINDOWS_PRESENT, 35).
+-define(wxSYS_SHOW_SOUNDS, 36).
+-define(wxSYS_SWAP_BUTTONS, 37).
+% From "settings.h": wxSystemScreenType
+-define(wxSYS_SCREEN_NONE, 0).
+-define(wxSYS_SCREEN_TINY, 1).
+-define(wxSYS_SCREEN_PDA, 2).
+-define(wxSYS_SCREEN_SMALL, 3).
+-define(wxSYS_SCREEN_DESKTOP, 4).
+% From "sizer.h": wxFlexSizerGrowMode
+-define(wxFLEX_GROWMODE_NONE, 0).
+-define(wxFLEX_GROWMODE_SPECIFIED, 1).
+-define(wxFLEX_GROWMODE_ALL, 2).
+% From "slider.h"
-define(wxSL_INVERSE, 4096).
-define(wxSL_SELRANGE, 2048).
-define(wxSL_BOTH, 1024).
@@ -695,7 +2223,7 @@
-define(wxSL_TICKS, 16).
-define(wxSL_VERTICAL, ?wxVERTICAL).
-define(wxSL_HORIZONTAL, ?wxHORIZONTAL).
-% From define::From splitter.h
+% From "splitter.h"
-define(wxSP_3D, (?wxSP_3DBORDER bor ?wxSP_3DSASH)).
-define(wxSP_BORDER, ?wxSP_3DBORDER).
-define(wxSP_NO_XP_THEME, 1024).
@@ -705,11 +2233,11 @@
-define(wxSP_PERMIT_UNSPLIT, 64).
-define(wxSP_NOSASH, 16).
-define(wxSP_NOBORDER, 0).
-% From define::From statusbr.h
+% From "statusbr.h"
-define(wxSB_RAISED, 2).
-define(wxSB_FLAT, 1).
-define(wxSB_NORMAL, 0).
-% From define::From stc.h
+% From "stc.h"
-define(wxSTC_CMD_WORDRIGHTENDEXTEND, 2442).
-define(wxSTC_CMD_WORDRIGHTEND, 2441).
-define(wxSTC_CMD_WORDLEFTENDEXTEND, 2440).
@@ -2045,7 +3573,11 @@
-define(wxSTC_START, 2000).
-define(wxSTC_INVALID_POSITION, -1).
-define(wxSTC_USE_POPUP, 1).
-% From define::From textctrl.h
+% From "tbarbase.h": wxToolBarToolStyle
+-define(wxTOOL_STYLE_BUTTON, 1).
+-define(wxTOOL_STYLE_SEPARATOR, 2).
+-define(wxTOOL_STYLE_CONTROL, 3).
+% From "textctrl.h"
-define(wxTEXT_ATTR_TABS, 1024).
-define(wxTEXT_ATTR_RIGHT_INDENT, 512).
-define(wxTEXT_ATTR_LEFT_INDENT, 256).
@@ -2080,11 +3612,51 @@
-define(wxTE_AUTO_SCROLL, 8).
-define(wxTE_NO_VSCROLL, 2).
-define(wxHAS_TEXT_WINDOW_STREAM, 0).
-% From define::From textdlgg.h
+% From "textctrl.h": wxTextAttrAlignment
+-define(wxTEXT_ALIGNMENT_DEFAULT, 0).
+-define(wxTEXT_ALIGNMENT_LEFT, 1).
+-define(wxTEXT_ALIGNMENT_CENTRE, 2).
+-define(wxTEXT_ALIGNMENT_CENTER, ?wxTEXT_ALIGNMENT_CENTRE).
+-define(wxTEXT_ALIGNMENT_RIGHT, (?wxTEXT_ALIGNMENT_CENTRE+1)).
+-define(wxTEXT_ALIGNMENT_JUSTIFIED, (?wxTEXT_ALIGNMENT_CENTRE+2)).
+% From "textctrl.h": wxTextCtrlHitTestResult
+-define(wxTE_HT_UNKNOWN, -2).
+-define(wxTE_HT_BEFORE, -1).
+-define(wxTE_HT_ON_TEXT, 0).
+-define(wxTE_HT_BELOW, 1).
+-define(wxTE_HT_BEYOND, 2).
+% From "textdlgg.h"
-define(wxTextEntryDialogStyle, (?wxOK bor ?wxCANCEL bor ?wxCENTRE bor ?wxWS_EX_VALIDATE_RECURSIVELY)).
-% From define::From toolbook.h
+% From "toolbar.h"
+-define(wxTB_HORIZONTAL, ?wxHORIZONTAL).
+-define(wxTB_TOP, ?wxTB_HORIZONTAL).
+-define(wxTB_VERTICAL, ?wxVERTICAL).
+-define(wxTB_LEFT, ?wxTB_VERTICAL).
+-define(wxTB_3DBUTTONS, 16).
+-define(wxTB_FLAT, 32).
+-define(wxTB_DOCKABLE, 64).
+-define(wxTB_NOICONS, 128).
+-define(wxTB_TEXT, 256).
+-define(wxTB_NODIVIDER, 512).
+-define(wxTB_NOALIGN, 1024).
+-define(wxTB_HORZ_LAYOUT, 2048).
+-define(wxTB_HORZ_TEXT, (?wxTB_HORZ_LAYOUT bor ?wxTB_TEXT)).
+-define(wxTB_NO_TOOLTIPS, 4096).
+-define(wxTB_BOTTOM, 8192).
+-define(wxTB_RIGHT, 16384).
+% From "toolbook.h"
-define(wxBK_BUTTONBAR, 256).
-% From define::From toplevel.h
+% From "toplevel.h"
+-define(wxFULLSCREEN_NOMENUBAR, 1).
+-define(wxFULLSCREEN_NOTOOLBAR, 2).
+-define(wxFULLSCREEN_NOSTATUSBAR, 4).
+-define(wxFULLSCREEN_NOBORDER, 8).
+-define(wxFULLSCREEN_NOCAPTION, 16).
+-define(wxFULLSCREEN_ALL, (?wxFULLSCREEN_NOMENUBAR bor ?wxFULLSCREEN_NOTOOLBAR bor ?wxFULLSCREEN_NOSTATUSBAR bor ?wxFULLSCREEN_NOBORDER bor ?wxFULLSCREEN_NOCAPTION)).
+% From "toplevel.h"
+-define(wxUSER_ATTENTION_INFO, 1).
+-define(wxUSER_ATTENTION_ERROR, 2).
+% From "toplevel.h"
-define(wxTOPLEVEL_EX_DIALOG, 8).
-define(wxDEFAULT_FRAME_STYLE, (?wxSYSTEM_MENU bor ?wxRESIZE_BORDER bor ?wxMINIMIZE_BOX bor ?wxMAXIMIZE_BOX bor ?wxCLOSE_BOX bor ?wxCAPTION bor ?wxCLIP_CHILDREN)).
-define(wxRESIZE_BORDER, 64).
@@ -2098,8 +3670,8 @@
-define(wxMINIMIZE, ?wxICONIZE).
-define(wxICONIZE, 16384).
-define(wxSTAY_ON_TOP, 32768).
-% From define::From treebase.h
--define(wxTR_DEFAULT_STYLE, (?wxTR_HAS_BUTTONS bor ?wxTR_LINES_AT_ROOT)).
+% From "treebase.h"
+-define(wxTR_DEFAULT_STYLE, wxe_util:get_const(wxTR_DEFAULT_STYLE)).
-define(wxTR_FULL_ROW_HIGHLIGHT, 8192).
-define(wxTR_HIDE_ROOT, 2048).
-define(wxTR_ROW_LINES, 1024).
@@ -2113,1416 +3685,37 @@
-define(wxTR_NO_LINES, 4).
-define(wxTR_HAS_BUTTONS, 1).
-define(wxTR_NO_BUTTONS, 0).
-% From define::From valtext.h
--define(wxFILTER_EXCLUDE_CHAR_LIST, 128).
--define(wxFILTER_INCLUDE_CHAR_LIST, 64).
--define(wxFILTER_EXCLUDE_LIST, 32).
--define(wxFILTER_INCLUDE_LIST, 16).
--define(wxFILTER_NUMERIC, 8).
--define(wxFILTER_ALPHANUMERIC, 4).
--define(wxFILTER_ALPHA, 2).
--define(wxFILTER_ASCII, 1).
--define(wxFILTER_NONE, 0).
-% From define::From version.h
--define(wxBETA_NUMBER, wxe_util:get_const(wxBETA_NUMBER)).
--define(wxSUBRELEASE_NUMBER, wxe_util:get_const(wxSUBRELEASE_NUMBER)).
--define(wxRELEASE_NUMBER, wxe_util:get_const(wxRELEASE_NUMBER)).
--define(wxMINOR_VERSION, wxe_util:get_const(wxMINOR_VERSION)).
--define(wxMAJOR_VERSION, wxe_util:get_const(wxMAJOR_VERSION)).
-% From class wxAuiManager
--define(wxAuiManager_actionNone, 0).
--define(wxAuiManager_actionResize, 1).
--define(wxAuiManager_actionClickButton, 2).
--define(wxAuiManager_actionClickCaption, 3).
--define(wxAuiManager_actionDragToolbarPane, 4).
--define(wxAuiManager_actionDragFloatingPane, 5).
-% From wxAuiPaneInfo::wxAuiPaneState
--define(wxAuiPaneInfo_optionFloating, 1).
--define(wxAuiPaneInfo_optionHidden, 2).
--define(wxAuiPaneInfo_optionLeftDockable, 4).
--define(wxAuiPaneInfo_optionRightDockable, 8).
--define(wxAuiPaneInfo_optionTopDockable, 16).
--define(wxAuiPaneInfo_optionBottomDockable, 32).
--define(wxAuiPaneInfo_optionFloatable, 64).
--define(wxAuiPaneInfo_optionMovable, 128).
--define(wxAuiPaneInfo_optionResizable, 256).
--define(wxAuiPaneInfo_optionPaneBorder, 512).
--define(wxAuiPaneInfo_optionCaption, 1024).
--define(wxAuiPaneInfo_optionGripper, 2048).
--define(wxAuiPaneInfo_optionDestroyOnClose, 4096).
--define(wxAuiPaneInfo_optionToolbar, 8192).
--define(wxAuiPaneInfo_optionActive, 16384).
--define(wxAuiPaneInfo_optionGripperTop, 32768).
--define(wxAuiPaneInfo_optionMaximized, 65536).
--define(wxAuiPaneInfo_optionDockFixed, 131072).
--define(wxAuiPaneInfo_buttonClose, 2097152).
--define(wxAuiPaneInfo_buttonMaximize, 4194304).
--define(wxAuiPaneInfo_buttonMinimize, 8388608).
--define(wxAuiPaneInfo_buttonPin, 16777216).
--define(wxAuiPaneInfo_buttonCustom1, 67108864).
--define(wxAuiPaneInfo_buttonCustom2, 134217728).
--define(wxAuiPaneInfo_buttonCustom3, 268435456).
--define(wxAuiPaneInfo_savedHiddenState, 1073741824).
--define(wxAuiPaneInfo_actionPane, 2147483648).
-% From wxBitmap::Representation
--define(wxBitmap_Pixmap, 0).
--define(wxBitmap_Pixbuf, 1).
-% From class wxChoicebook
--define(wxChoicebook_SetSelection_SendEvent, 1).
-% From wxDateTime::Calendar
--define(wxDateTime_Gregorian, 0).
--define(wxDateTime_Julian, 1).
-% From wxDateTime::Country
--define(wxDateTime_Country_Unknown, 0).
--define(wxDateTime_Country_Default, 1).
--define(wxDateTime_Country_WesternEurope_Start, 2).
--define(wxDateTime_Country_EEC, ?Country_WesternEurope_Start).
--define(wxDateTime_France, (?Country_WesternEurope_Start+1)).
--define(wxDateTime_Germany, (?Country_WesternEurope_Start+2)).
--define(wxDateTime_UK, (?Country_WesternEurope_Start+3)).
--define(wxDateTime_Country_WesternEurope_End, ?UK).
--define(wxDateTime_Russia, (?UK+1)).
--define(wxDateTime_USA, (?UK+2)).
-% From wxDateTime::GregorianAdoption
--define(wxDateTime_Gr_Unknown, 0).
--define(wxDateTime_Gr_Standard, 1).
--define(wxDateTime_Gr_Alaska, 2).
--define(wxDateTime_Gr_Albania, 3).
--define(wxDateTime_Gr_Austria, ?Gr_Unknown).
--define(wxDateTime_Gr_Austria_Brixen, (?Gr_Unknown+1)).
--define(wxDateTime_Gr_Austria_Salzburg, ?Gr_Austria_Brixen).
--define(wxDateTime_Gr_Austria_Tyrol, ?Gr_Austria_Brixen).
--define(wxDateTime_Gr_Austria_Carinthia, (?Gr_Austria_Brixen+1)).
--define(wxDateTime_Gr_Austria_Styria, ?Gr_Austria_Carinthia).
--define(wxDateTime_Gr_Belgium, (?Gr_Austria_Carinthia+1)).
--define(wxDateTime_Gr_Bulgaria, ?Gr_Unknown).
--define(wxDateTime_Gr_Bulgaria_1, (?Gr_Unknown+1)).
--define(wxDateTime_Gr_Bulgaria_2, (?Gr_Unknown+2)).
--define(wxDateTime_Gr_Bulgaria_3, (?Gr_Unknown+3)).
--define(wxDateTime_Gr_Canada, ?Gr_Unknown).
--define(wxDateTime_Gr_China, ?Gr_Unknown).
--define(wxDateTime_Gr_China_1, (?Gr_Unknown+1)).
--define(wxDateTime_Gr_China_2, (?Gr_Unknown+2)).
--define(wxDateTime_Gr_Czechoslovakia, (?Gr_Unknown+3)).
--define(wxDateTime_Gr_Denmark, (?Gr_Unknown+4)).
--define(wxDateTime_Gr_Egypt, (?Gr_Unknown+5)).
--define(wxDateTime_Gr_Estonia, (?Gr_Unknown+6)).
--define(wxDateTime_Gr_Finland, (?Gr_Unknown+7)).
--define(wxDateTime_Gr_France, (?Gr_Unknown+8)).
--define(wxDateTime_Gr_France_Alsace, (?Gr_Unknown+9)).
--define(wxDateTime_Gr_France_Lorraine, (?Gr_Unknown+10)).
--define(wxDateTime_Gr_France_Strasbourg, (?Gr_Unknown+11)).
--define(wxDateTime_Gr_Germany, ?Gr_Unknown).
--define(wxDateTime_Gr_Germany_Catholic, (?Gr_Unknown+1)).
--define(wxDateTime_Gr_Germany_Prussia, (?Gr_Unknown+2)).
--define(wxDateTime_Gr_Germany_Protestant, (?Gr_Unknown+3)).
--define(wxDateTime_Gr_GreatBritain, (?Gr_Unknown+4)).
--define(wxDateTime_Gr_Greece, (?Gr_Unknown+5)).
--define(wxDateTime_Gr_Hungary, (?Gr_Unknown+6)).
--define(wxDateTime_Gr_Ireland, ?Gr_GreatBritain).
--define(wxDateTime_Gr_Italy, ?Gr_Standard).
--define(wxDateTime_Gr_Japan, ?Gr_Unknown).
--define(wxDateTime_Gr_Japan_1, (?Gr_Unknown+1)).
--define(wxDateTime_Gr_Japan_2, (?Gr_Unknown+2)).
--define(wxDateTime_Gr_Japan_3, (?Gr_Unknown+3)).
--define(wxDateTime_Gr_Latvia, (?Gr_Unknown+4)).
--define(wxDateTime_Gr_Lithuania, (?Gr_Unknown+5)).
--define(wxDateTime_Gr_Luxemburg, (?Gr_Unknown+6)).
--define(wxDateTime_Gr_Netherlands, ?Gr_Belgium).
--define(wxDateTime_Gr_Netherlands_Groningen, (?Gr_Belgium+1)).
--define(wxDateTime_Gr_Netherlands_Gelderland, (?Gr_Belgium+2)).
--define(wxDateTime_Gr_Netherlands_Utrecht, (?Gr_Belgium+3)).
--define(wxDateTime_Gr_Netherlands_Friesland, (?Gr_Belgium+4)).
--define(wxDateTime_Gr_Norway, ?Gr_Denmark).
--define(wxDateTime_Gr_Poland, ?Gr_Standard).
--define(wxDateTime_Gr_Portugal, ?Gr_Standard).
--define(wxDateTime_Gr_Romania, (?Gr_Standard+1)).
--define(wxDateTime_Gr_Russia, (?Gr_Standard+2)).
--define(wxDateTime_Gr_Scotland, ?Gr_GreatBritain).
--define(wxDateTime_Gr_Spain, ?Gr_Standard).
--define(wxDateTime_Gr_Sweden, ?Gr_Finland).
--define(wxDateTime_Gr_Switzerland, ?Gr_Unknown).
--define(wxDateTime_Gr_Switzerland_Catholic, (?Gr_Unknown+1)).
--define(wxDateTime_Gr_Switzerland_Protestant, (?Gr_Unknown+2)).
--define(wxDateTime_Gr_Turkey, (?Gr_Unknown+3)).
--define(wxDateTime_Gr_USA, ?Gr_GreatBritain).
--define(wxDateTime_Gr_Wales, ?Gr_GreatBritain).
--define(wxDateTime_Gr_Yugoslavia, (?Gr_GreatBritain+1)).
-% From wxDateTime::Month
--define(wxDateTime_Jan, 0).
--define(wxDateTime_Feb, 1).
--define(wxDateTime_Mar, 2).
--define(wxDateTime_Apr, 3).
--define(wxDateTime_May, 4).
--define(wxDateTime_Jun, 5).
--define(wxDateTime_Jul, 6).
--define(wxDateTime_Aug, 7).
--define(wxDateTime_Sep, 8).
--define(wxDateTime_Oct, 9).
--define(wxDateTime_Nov, 10).
--define(wxDateTime_Dec, 11).
--define(wxDateTime_Inv_Month, 12).
-% From wxDateTime::NameFlags
--define(wxDateTime_Name_Full, 1).
--define(wxDateTime_Name_Abbr, 2).
-% From wxDateTime::TZ
--define(wxDateTime_Local, 0).
--define(wxDateTime_GMT_12, 1).
--define(wxDateTime_GMT_11, 2).
--define(wxDateTime_GMT_10, 3).
--define(wxDateTime_GMT_9, 4).
--define(wxDateTime_GMT_8, 5).
--define(wxDateTime_GMT_7, 6).
--define(wxDateTime_GMT_6, 7).
--define(wxDateTime_GMT_5, 8).
--define(wxDateTime_GMT_4, 9).
--define(wxDateTime_GMT_3, 10).
--define(wxDateTime_GMT_2, 11).
--define(wxDateTime_GMT_1, 12).
--define(wxDateTime_GMT0, 13).
--define(wxDateTime_GMT1, 14).
--define(wxDateTime_GMT2, 15).
--define(wxDateTime_GMT3, 16).
--define(wxDateTime_GMT4, 17).
--define(wxDateTime_GMT5, 18).
--define(wxDateTime_GMT6, 19).
--define(wxDateTime_GMT7, 20).
--define(wxDateTime_GMT8, 21).
--define(wxDateTime_GMT9, 22).
--define(wxDateTime_GMT10, 23).
--define(wxDateTime_GMT11, 24).
--define(wxDateTime_GMT12, 25).
--define(wxDateTime_GMT13, 26).
--define(wxDateTime_WET, ?GMT0).
--define(wxDateTime_WEST, ?GMT1).
--define(wxDateTime_CET, ?GMT1).
--define(wxDateTime_CEST, ?GMT2).
--define(wxDateTime_EET, ?GMT2).
--define(wxDateTime_EEST, ?GMT3).
--define(wxDateTime_MSK, ?GMT3).
--define(wxDateTime_MSD, ?GMT4).
--define(wxDateTime_AST, ?GMT_4).
--define(wxDateTime_ADT, ?GMT_3).
--define(wxDateTime_EST, ?GMT_5).
--define(wxDateTime_EDT, ?GMT_4).
--define(wxDateTime_CST, ?GMT_6).
--define(wxDateTime_CDT, ?GMT_5).
--define(wxDateTime_MST, ?GMT_7).
--define(wxDateTime_MDT, ?GMT_6).
--define(wxDateTime_PST, ?GMT_8).
--define(wxDateTime_PDT, ?GMT_7).
--define(wxDateTime_HST, ?GMT_10).
--define(wxDateTime_AKST, ?GMT_9).
--define(wxDateTime_AKDT, ?GMT_8).
--define(wxDateTime_A_WST, ?GMT8).
--define(wxDateTime_A_CST, ?GMT13+1).
--define(wxDateTime_A_EST, ?GMT10).
--define(wxDateTime_A_ESST, ?GMT11).
--define(wxDateTime_NZST, ?GMT12).
--define(wxDateTime_NZDT, ?GMT13).
--define(wxDateTime_UTC, ?GMT0).
-% From wxDateTime::WeekDay
--define(wxDateTime_Sun, 0).
--define(wxDateTime_Mon, 1).
--define(wxDateTime_Tue, 2).
--define(wxDateTime_Wed, 3).
--define(wxDateTime_Thu, 4).
--define(wxDateTime_Fri, 5).
--define(wxDateTime_Sat, 6).
--define(wxDateTime_Inv_WeekDay, 7).
-% From wxDateTime::WeekFlags
--define(wxDateTime_Default_First, 0).
--define(wxDateTime_Monday_First, 1).
--define(wxDateTime_Sunday_First, 2).
-% From wxDateTime::Year
--define(wxDateTime_Inv_Year, ?SHRT_MIN).
-% From class wxDialog
--define(wxDialog_ButtonSizerFlags, (?wxOK bor ?wxCANCEL bor ?wxYES bor ?wxNO bor ?wxHELP bor ?wxNO_DEFAULT)).
-% From class wxGrid
--define(wxGrid_wxGRID_CELLCTRL, 2000).
--define(wxGrid_wxGRID_TOPCTRL, 2001).
-% From class wxGrid
--define(wxGrid_wxGRID_TEXTCTRL, 2100).
--define(wxGrid_wxGRID_CHECKBOX, 2101).
--define(wxGrid_wxGRID_CHOICE, 2102).
--define(wxGrid_wxGRID_COMBOBOX, 2103).
-% From wxGrid::CursorMode
--define(wxGrid_WXGRID_CURSOR_SELECT_CELL, 0).
--define(wxGrid_WXGRID_CURSOR_RESIZE_ROW, 1).
--define(wxGrid_WXGRID_CURSOR_RESIZE_COL, 2).
--define(wxGrid_WXGRID_CURSOR_SELECT_ROW, 3).
--define(wxGrid_WXGRID_CURSOR_SELECT_COL, 4).
--define(wxGrid_WXGRID_CURSOR_MOVE_COL, 5).
-% From wxGrid::wxGridSelectionModes
--define(wxGrid_wxGridSelectCells, 0).
--define(wxGrid_wxGridSelectRows, 1).
--define(wxGrid_wxGridSelectColumns, 2).
-% From wxGridCellAttr::wxAttrKind
--define(wxGridCellAttr_Any, 0).
--define(wxGridCellAttr_Default, 1).
--define(wxGridCellAttr_Cell, 2).
--define(wxGridCellAttr_Row, 3).
--define(wxGridCellAttr_Col, 4).
--define(wxGridCellAttr_Merged, 5).
-% From wxGridCellAttr::wxAttrOverflowMode
--define(wxGridCellAttr_UnsetOverflow, -1).
--define(wxGridCellAttr_Overflow, 0).
--define(wxGridCellAttr_SingleCell, 1).
-% From wxGridCellAttr::wxAttrReadMode
--define(wxGridCellAttr_Unset, -1).
--define(wxGridCellAttr_ReadWrite, 0).
--define(wxGridCellAttr_ReadOnly, 1).
-% From wxHelpEvent::Origin
--define(wxHelpEvent_Origin_Unknown, 0).
--define(wxHelpEvent_Origin_Keyboard, 1).
--define(wxHelpEvent_Origin_HelpButton, 2).
-% From wxHtmlEasyPrinting::FontMode
--define(wxHtmlEasyPrinting_FontMode_Explicit, 0).
--define(wxHtmlEasyPrinting_FontMode_Standard, 1).
-% From wxHtmlWindow::ClipboardType
--define(wxHtmlWindow_Primary, 0).
--define(wxHtmlWindow_Secondary, 1).
-% From class wxListbook
--define(wxListbook_SetSelection_SendEvent, 1).
-% From class wxNavigationKeyEvent
--define(wxNavigationKeyEvent_IsBackward, 0).
--define(wxNavigationKeyEvent_IsForward, 1).
--define(wxNavigationKeyEvent_WinChange, 2).
--define(wxNavigationKeyEvent_FromTab, 4).
-% From class wxNotebook
--define(wxNotebook_SetSelection_SendEvent, 1).
-% From class wxProgressDialog
--define(wxProgressDialog_Uncancelable, -1).
--define(wxProgressDialog_Canceled, 0).
--define(wxProgressDialog_Continue, 1).
--define(wxProgressDialog_Finished, 2).
-% From class wxSizerItem
--define(wxSizerItem_Item_None, 0).
--define(wxSizerItem_Item_Window, 1).
--define(wxSizerItem_Item_Sizer, 2).
--define(wxSizerItem_Item_Spacer, 3).
--define(wxSizerItem_Item_Max, 4).
-% From class wxTextCtrl
--define(wxTextCtrl_SetValue_SendEvent, 1).
--define(wxTextCtrl_SetValue_SelectionOnly, 2).
-% From class wxToolbook
--define(wxToolbook_SetSelection_SendEvent, 1).
-% From class wxTreebook
--define(wxTreebook_SetSelection_SendEvent, 1).
-% From wxWindow::MoveKind
--define(wxWindow_MoveBefore, 0).
--define(wxWindow_MoveAfter, 1).
-% From wxWindowGTK::ScrollDir
--define(wxWindowGTK_ScrollDir_Horz, 0).
--define(wxWindowGTK_ScrollDir_Vert, 1).
--define(wxWindowGTK_ScrollDir_Max, 2).
-% From wxWindowGTK::ScrollUnit
--define(wxWindowGTK_ScrollUnit_Line, 0).
--define(wxWindowGTK_ScrollUnit_Page, 1).
--define(wxWindowGTK_ScrollUnit_Max, 2).
--define(wxACCEL_NORMAL, 0).
--define(wxACCEL_ALT, 1).
--define(wxACCEL_CTRL, 2).
--define(wxACCEL_SHIFT, 4).
--define(wxACCEL_CMD, ?wxACCEL_CTRL).
--define(wxPRINT_WINDOWS, 1).
--define(wxPRINT_POSTSCRIPT, 2).
--define(wxBK_HITTEST_NOWHERE, 1).
--define(wxBK_HITTEST_ONICON, 2).
--define(wxBK_HITTEST_ONLABEL, 4).
--define(wxBK_HITTEST_ONITEM, (?wxBK_HITTEST_ONICON bor ?wxBK_HITTEST_ONLABEL)).
--define(wxBK_HITTEST_ONPAGE, 8).
--define(wxCAL_SUNDAY_FIRST, 0).
--define(wxCAL_MONDAY_FIRST, 1).
--define(wxCAL_SHOW_HOLIDAYS, 2).
--define(wxCAL_NO_YEAR_CHANGE, 4).
--define(wxCAL_NO_MONTH_CHANGE, 12).
--define(wxCAL_SEQUENTIAL_MONTH_SELECTION, 16).
--define(wxCAL_SHOW_SURROUNDING_WEEKS, 32).
--define(wxDP_DEFAULT, 0).
--define(wxDP_SPIN, 1).
--define(wxDP_DROPDOWN, 2).
--define(wxDP_SHOWCENTURY, 4).
--define(wxDP_ALLOWNONE, 8).
--define(wxDefaultCoord, -1).
--define(wxDIRCTRL_DIR_ONLY, 16).
--define(wxDIRCTRL_SELECT_FIRST, 32).
--define(wxDIRCTRL_SHOW_FILTERS, 64).
--define(wxDIRCTRL_3D_INTERNAL, 128).
--define(wxDIRCTRL_EDIT_LABELS, 256).
--define(wxDrag_CopyOnly, 0).
--define(wxDrag_AllowMove, 1).
--define(wxDrag_DefaultMove, 3).
--define(wxMOUSE_BTN_ANY, -1).
--define(wxMOUSE_BTN_NONE, 0).
--define(wxMOUSE_BTN_LEFT, 1).
--define(wxMOUSE_BTN_MIDDLE, 2).
--define(wxMOUSE_BTN_RIGHT, 3).
--define(wxFD_OPEN, 1).
--define(wxFD_SAVE, 2).
--define(wxFD_OVERWRITE_PROMPT, 4).
--define(wxFD_FILE_MUST_EXIST, 16).
--define(wxFD_MULTIPLE, 32).
--define(wxFD_CHANGE_DIR, 128).
--define(wxFD_PREVIEW, 256).
--define(wxFONTFLAG_DEFAULT, 0).
--define(wxFONTFLAG_ITALIC, 1).
--define(wxFONTFLAG_SLANT, 2).
--define(wxFONTFLAG_LIGHT, 4).
--define(wxFONTFLAG_BOLD, 8).
--define(wxFONTFLAG_ANTIALIASED, 16).
--define(wxFONTFLAG_NOT_ANTIALIASED, 32).
--define(wxFONTFLAG_UNDERLINED, 64).
--define(wxFONTFLAG_STRIKETHROUGH, 128).
--define(wxFONTFLAG_MASK, (?wxFONTFLAG_ITALIC bor ?wxFONTFLAG_SLANT bor ?wxFONTFLAG_LIGHT bor ?wxFONTFLAG_BOLD bor ?wxFONTFLAG_ANTIALIASED bor ?wxFONTFLAG_NOT_ANTIALIASED bor ?wxFONTFLAG_UNDERLINED bor ?wxFONTFLAG_STRIKETHROUGH)).
--define(wxSPLIT_DRAG_NONE, 0).
--define(wxSPLIT_DRAG_DRAGGING, 1).
--define(wxSPLIT_DRAG_LEFT_DOWN, 2).
--define(WX_GL_RGBA, 1).
--define(WX_GL_BUFFER_SIZE, 2).
--define(WX_GL_LEVEL, 3).
--define(WX_GL_DOUBLEBUFFER, 4).
--define(WX_GL_STEREO, 5).
--define(WX_GL_AUX_BUFFERS, 6).
--define(WX_GL_MIN_RED, 7).
--define(WX_GL_MIN_GREEN, 8).
--define(WX_GL_MIN_BLUE, 9).
--define(WX_GL_MIN_ALPHA, 10).
--define(WX_GL_DEPTH_SIZE, 11).
--define(WX_GL_STENCIL_SIZE, 12).
--define(WX_GL_MIN_ACCUM_RED, 13).
--define(WX_GL_MIN_ACCUM_GREEN, 14).
--define(WX_GL_MIN_ACCUM_BLUE, 15).
--define(WX_GL_MIN_ACCUM_ALPHA, 16).
--define(wxPAGE_ODD, 0).
--define(wxPAGE_EVEN, 1).
--define(wxPAGE_ALL, 2).
--define(wxBMP_24BPP, 24).
--define(wxBMP_8BPP, 8).
--define(wxBMP_8BPP_GREY, 9).
--define(wxBMP_8BPP_GRAY, ?wxBMP_8BPP_GREY).
--define(wxBMP_8BPP_RED, 10).
--define(wxBMP_8BPP_PALETTE, 11).
--define(wxBMP_4BPP, 4).
--define(wxBMP_1BPP, 1).
--define(wxBMP_1BPP_BW, 2).
--define(wxIMAGE_RESOLUTION_INCHES, 1).
--define(wxIMAGE_RESOLUTION_CM, 2).
--define(wxIMAGE_LIST_NORMAL, 0).
--define(wxIMAGE_LIST_SMALL, 1).
--define(wxIMAGE_LIST_STATE, 2).
--define(wxLIST_NEXT_ABOVE, 0).
--define(wxLIST_NEXT_ALL, 1).
--define(wxLIST_NEXT_BELOW, 2).
--define(wxLIST_NEXT_LEFT, 3).
--define(wxLIST_NEXT_RIGHT, 4).
--define(wxNB_HITTEST_NOWHERE, ?wxBK_HITTEST_NOWHERE).
--define(wxNB_HITTEST_ONICON, ?wxBK_HITTEST_ONICON).
--define(wxNB_HITTEST_ONLABEL, ?wxBK_HITTEST_ONLABEL).
--define(wxNB_HITTEST_ONITEM, ?wxBK_HITTEST_ONITEM).
--define(wxNB_HITTEST_ONPAGE, ?wxBK_HITTEST_ONPAGE).
--define(wxTB_HORIZONTAL, ?wxHORIZONTAL).
--define(wxTB_TOP, ?wxTB_HORIZONTAL).
--define(wxTB_VERTICAL, ?wxVERTICAL).
--define(wxTB_LEFT, ?wxTB_VERTICAL).
--define(wxTB_3DBUTTONS, 16).
--define(wxTB_FLAT, 32).
--define(wxTB_DOCKABLE, 64).
--define(wxTB_NOICONS, 128).
--define(wxTB_TEXT, 256).
--define(wxTB_NODIVIDER, 512).
--define(wxTB_NOALIGN, 1024).
--define(wxTB_HORZ_LAYOUT, 2048).
--define(wxTB_HORZ_TEXT, (?wxTB_HORZ_LAYOUT bor ?wxTB_TEXT)).
--define(wxTB_NO_TOOLTIPS, 4096).
--define(wxTB_BOTTOM, 8192).
--define(wxTB_RIGHT, 16384).
--define(wxFULLSCREEN_NOMENUBAR, 1).
--define(wxFULLSCREEN_NOTOOLBAR, 2).
--define(wxFULLSCREEN_NOSTATUSBAR, 4).
--define(wxFULLSCREEN_NOBORDER, 8).
--define(wxFULLSCREEN_NOCAPTION, 16).
--define(wxFULLSCREEN_ALL, (?wxFULLSCREEN_NOMENUBAR bor ?wxFULLSCREEN_NOTOOLBAR bor ?wxFULLSCREEN_NOSTATUSBAR bor ?wxFULLSCREEN_NOBORDER bor ?wxFULLSCREEN_NOCAPTION)).
+% From "treebase.h": wxTreeItemIcon
+-define(wxTreeItemIcon_Normal, 0).
+-define(wxTreeItemIcon_Selected, 1).
+-define(wxTreeItemIcon_Expanded, 2).
+-define(wxTreeItemIcon_SelectedExpanded, 3).
+-define(wxTreeItemIcon_Max, 4).
+% From "utils.h"
-define(wxEXEC_ASYNC, 0).
-define(wxEXEC_SYNC, 1).
-define(wxEXEC_NOHIDE, 2).
-define(wxEXEC_MAKE_GROUP_LEADER, 4).
-define(wxEXEC_NODISABLE, 8).
--define(wxID_NONE, -3).
--define(wxID_SEPARATOR, -2).
--define(wxID_ANY, -1).
--define(wxID_LOWEST, 4999).
--define(wxID_OPEN, 5000).
--define(wxID_CLOSE, 5001).
--define(wxID_NEW, 5002).
--define(wxID_SAVE, 5003).
--define(wxID_SAVEAS, 5004).
--define(wxID_REVERT, 5005).
--define(wxID_EXIT, 5006).
--define(wxID_UNDO, 5007).
--define(wxID_REDO, 5008).
--define(wxID_HELP, 5009).
--define(wxID_PRINT, 5010).
--define(wxID_PRINT_SETUP, 5011).
--define(wxID_PAGE_SETUP, 5012).
--define(wxID_PREVIEW, 5013).
--define(wxID_ABOUT, 5014).
--define(wxID_HELP_CONTENTS, 5015).
--define(wxID_HELP_INDEX, 5016).
--define(wxID_HELP_SEARCH, 5017).
--define(wxID_HELP_COMMANDS, 5018).
--define(wxID_HELP_PROCEDURES, 5019).
--define(wxID_HELP_CONTEXT, 5020).
--define(wxID_CLOSE_ALL, 5021).
--define(wxID_PREFERENCES, 5022).
--define(wxID_EDIT, 5030).
--define(wxID_CUT, 5031).
--define(wxID_COPY, 5032).
--define(wxID_PASTE, 5033).
--define(wxID_CLEAR, 5034).
--define(wxID_FIND, 5035).
--define(wxID_DUPLICATE, 5036).
--define(wxID_SELECTALL, 5037).
--define(wxID_DELETE, 5038).
--define(wxID_REPLACE, 5039).
--define(wxID_REPLACE_ALL, 5040).
--define(wxID_PROPERTIES, 5041).
--define(wxID_VIEW_DETAILS, 5042).
--define(wxID_VIEW_LARGEICONS, 5043).
--define(wxID_VIEW_SMALLICONS, 5044).
--define(wxID_VIEW_LIST, 5045).
--define(wxID_VIEW_SORTDATE, 5046).
--define(wxID_VIEW_SORTNAME, 5047).
--define(wxID_VIEW_SORTSIZE, 5048).
--define(wxID_VIEW_SORTTYPE, 5049).
--define(wxID_FILE, 5050).
--define(wxID_FILE1, 5051).
--define(wxID_FILE2, 5052).
--define(wxID_FILE3, 5053).
--define(wxID_FILE4, 5054).
--define(wxID_FILE5, 5055).
--define(wxID_FILE6, 5056).
--define(wxID_FILE7, 5057).
--define(wxID_FILE8, 5058).
--define(wxID_FILE9, 5059).
--define(wxID_OK, 5100).
--define(wxID_CANCEL, 5101).
--define(wxID_APPLY, 5102).
--define(wxID_YES, 5103).
--define(wxID_NO, 5104).
--define(wxID_STATIC, 5105).
--define(wxID_FORWARD, 5106).
--define(wxID_BACKWARD, 5107).
--define(wxID_DEFAULT, 5108).
--define(wxID_MORE, 5109).
--define(wxID_SETUP, 5110).
--define(wxID_RESET, 5111).
--define(wxID_CONTEXT_HELP, 5112).
--define(wxID_YESTOALL, 5113).
--define(wxID_NOTOALL, 5114).
--define(wxID_ABORT, 5115).
--define(wxID_RETRY, 5116).
--define(wxID_IGNORE, 5117).
--define(wxID_ADD, 5118).
--define(wxID_REMOVE, 5119).
--define(wxID_UP, 5120).
--define(wxID_DOWN, 5121).
--define(wxID_HOME, 5122).
--define(wxID_REFRESH, 5123).
--define(wxID_STOP, 5124).
--define(wxID_INDEX, 5125).
--define(wxID_BOLD, 5126).
--define(wxID_ITALIC, 5127).
--define(wxID_JUSTIFY_CENTER, 5128).
--define(wxID_JUSTIFY_FILL, 5129).
--define(wxID_JUSTIFY_RIGHT, 5130).
--define(wxID_JUSTIFY_LEFT, 5131).
--define(wxID_UNDERLINE, 5132).
--define(wxID_INDENT, 5133).
--define(wxID_UNINDENT, 5134).
--define(wxID_ZOOM_100, 5135).
--define(wxID_ZOOM_FIT, 5136).
--define(wxID_ZOOM_IN, 5137).
--define(wxID_ZOOM_OUT, 5138).
--define(wxID_UNDELETE, 5139).
--define(wxID_REVERT_TO_SAVED, 5140).
--define(wxID_SYSTEM_MENU, 5200).
--define(wxID_CLOSE_FRAME, 5201).
--define(wxID_MOVE_FRAME, 5202).
--define(wxID_RESIZE_FRAME, 5203).
--define(wxID_MAXIMIZE_FRAME, 5204).
--define(wxID_ICONIZE_FRAME, 5205).
--define(wxID_RESTORE_FRAME, 5206).
--define(wxID_FILEDLGG, 5900).
--define(wxID_HIGHEST, 5999).
--define(wxJOYSTICK1, 0).
--define(wxJOYSTICK2, 1).
--define(wxIMAGE_QUALITY_NORMAL, 0).
--define(wxIMAGE_QUALITY_HIGH, 1).
--define(wxLIST_ALIGN_DEFAULT, 0).
--define(wxLIST_ALIGN_LEFT, 1).
--define(wxLIST_ALIGN_TOP, 2).
--define(wxLIST_ALIGN_SNAP_TO_GRID, 3).
--define(wxUSER_ATTENTION_INFO, 1).
--define(wxUSER_ATTENTION_ERROR, 2).
+% From "utils.h"
-define(wxBROWSER_NEW_WINDOW, 1).
--define(wxDEFAULT, 70).
--define(wxDECORATIVE, 71).
--define(wxROMAN, 72).
--define(wxSCRIPT, 73).
--define(wxSWISS, 74).
--define(wxMODERN, 75).
--define(wxTELETYPE, 76).
--define(wxVARIABLE, 80).
--define(wxFIXED, 81).
--define(wxNORMAL, 90).
--define(wxLIGHT, 91).
--define(wxBOLD, 92).
--define(wxITALIC, 93).
--define(wxSLANT, 94).
--define(wxSOLID, 100).
--define(wxDOT, 101).
--define(wxLONG_DASH, 102).
--define(wxSHORT_DASH, 103).
--define(wxDOT_DASH, 104).
--define(wxUSER_DASH, 105).
--define(wxTRANSPARENT, 106).
--define(wxSTIPPLE_MASK_OPAQUE, 107).
--define(wxSTIPPLE_MASK, 108).
--define(wxSTIPPLE, 110).
--define(wxBDIAGONAL_HATCH, 111).
--define(wxCROSSDIAG_HATCH, 112).
--define(wxFDIAGONAL_HATCH, 113).
--define(wxCROSS_HATCH, 114).
--define(wxHORIZONTAL_HATCH, 115).
--define(wxVERTICAL_HATCH, 116).
--define(wxFIRST_HATCH, ?wxBDIAGONAL_HATCH).
--define(wxLAST_HATCH, ?wxVERTICAL_HATCH).
--define(wxJOIN_BEVEL, 120).
--define(wxJOIN_MITER, 121).
--define(wxJOIN_ROUND, 122).
--define(wxCAP_ROUND, 130).
--define(wxCAP_PROJECTING, 131).
--define(wxCAP_BUTT, 132).
--define(wxJOY_BUTTON_ANY, -1).
--define(wxJOY_BUTTON1, 1).
--define(wxJOY_BUTTON2, 2).
--define(wxJOY_BUTTON3, 4).
--define(wxJOY_BUTTON4, 8).
--define(wxLIST_AUTOSIZE, -1).
--define(wxLIST_AUTOSIZE_USEHEADER, -2).
+% From "utils.h"
-define(wxStrip_Mnemonics, 1).
-define(wxStrip_Accel, 2).
-define(wxStrip_All, (?wxStrip_Mnemonics bor ?wxStrip_Accel)).
--define(wxFLOOD_SURFACE, 1).
--define(wxFLOOD_BORDER, 2).
--define(wxLIST_RECT_BOUNDS, 0).
--define(wxLIST_RECT_ICON, 1).
--define(wxLIST_RECT_LABEL, 2).
--define(wxODDEVEN_RULE, 1).
--define(wxWINDING_RULE, 2).
--define(wxLIST_FIND_UP, 0).
--define(wxLIST_FIND_DOWN, 1).
--define(wxLIST_FIND_LEFT, 2).
--define(wxLIST_FIND_RIGHT, 3).
--define(wxTOOL_TOP, 1).
--define(wxTOOL_BOTTOM, 2).
--define(wxTOOL_LEFT, 3).
--define(wxTOOL_RIGHT, 4).
--define(wxMM_TEXT, 1).
--define(wxMM_LOMETRIC, 2).
--define(wxMM_HIMETRIC, 3).
--define(wxMM_LOENGLISH, 4).
--define(wxMM_HIENGLISH, 5).
--define(wxMM_TWIPS, 6).
--define(wxMM_ISOTROPIC, 7).
--define(wxMM_ANISOTROPIC, 8).
--define(wxMM_POINTS, 9).
--define(wxMM_METRIC, 10).
-% Type Propagation_state
--define(wxEVENT_PROPAGATE_NONE, 0).
--define(wxEVENT_PROPAGATE_MAX, ?INT_MAX).
-% Type form_ops_t
--define(wxCLEAR, 0).
--define(wxROP_BLACK, ?wxCLEAR).
--define(wxBLIT_BLACKNESS, ?wxCLEAR).
--define(wxXOR, (?wxCLEAR+1)).
--define(wxROP_XORPEN, ?wxXOR).
--define(wxBLIT_SRCINVERT, ?wxXOR).
--define(wxINVERT, (?wxXOR+1)).
--define(wxROP_NOT, ?wxINVERT).
--define(wxBLIT_DSTINVERT, ?wxINVERT).
--define(wxOR_REVERSE, (?wxINVERT+1)).
--define(wxROP_MERGEPENNOT, ?wxOR_REVERSE).
--define(wxBLIT_00DD0228, ?wxOR_REVERSE).
--define(wxAND_REVERSE, (?wxOR_REVERSE+1)).
--define(wxROP_MASKPENNOT, ?wxAND_REVERSE).
--define(wxBLIT_SRCERASE, ?wxAND_REVERSE).
--define(wxCOPY, (?wxAND_REVERSE+1)).
--define(wxROP_COPYPEN, ?wxCOPY).
--define(wxBLIT_SRCCOPY, ?wxCOPY).
--define(wxAND, (?wxCOPY+1)).
--define(wxROP_MASKPEN, ?wxAND).
--define(wxBLIT_SRCAND, ?wxAND).
--define(wxAND_INVERT, (?wxAND+1)).
--define(wxROP_MASKNOTPEN, ?wxAND_INVERT).
--define(wxBLIT_00220326, ?wxAND_INVERT).
--define(wxNO_OP, (?wxAND_INVERT+1)).
--define(wxROP_NOP, ?wxNO_OP).
--define(wxBLIT_00AA0029, ?wxNO_OP).
--define(wxNOR, (?wxNO_OP+1)).
--define(wxROP_NOTMERGEPEN, ?wxNOR).
--define(wxBLIT_NOTSRCERASE, ?wxNOR).
--define(wxEQUIV, (?wxNOR+1)).
--define(wxROP_NOTXORPEN, ?wxEQUIV).
--define(wxBLIT_00990066, ?wxEQUIV).
--define(wxSRC_INVERT, (?wxEQUIV+1)).
--define(wxROP_NOTCOPYPEN, ?wxSRC_INVERT).
--define(wxBLIT_NOTSCRCOPY, ?wxSRC_INVERT).
--define(wxOR_INVERT, (?wxSRC_INVERT+1)).
--define(wxROP_MERGENOTPEN, ?wxOR_INVERT).
--define(wxBLIT_MERGEPAINT, ?wxOR_INVERT).
--define(wxNAND, (?wxOR_INVERT+1)).
--define(wxROP_NOTMASKPEN, ?wxNAND).
--define(wxBLIT_007700E6, ?wxNAND).
--define(wxOR, (?wxNAND+1)).
--define(wxROP_MERGEPEN, ?wxOR).
--define(wxBLIT_SRCPAINT, ?wxOR).
--define(wxSET, (?wxOR+1)).
--define(wxROP_WHITE, ?wxSET).
--define(wxBLIT_WHITENESS, ?wxSET).
-% Type wxAlignment
--define(wxALIGN_NOT, 0).
--define(wxALIGN_CENTER_HORIZONTAL, 256).
--define(wxALIGN_CENTRE_HORIZONTAL, ?wxALIGN_CENTER_HORIZONTAL).
--define(wxALIGN_LEFT, ?wxALIGN_NOT).
--define(wxALIGN_TOP, ?wxALIGN_NOT).
--define(wxALIGN_RIGHT, 512).
--define(wxALIGN_BOTTOM, 1024).
--define(wxALIGN_CENTER_VERTICAL, 2048).
--define(wxALIGN_CENTRE_VERTICAL, ?wxALIGN_CENTER_VERTICAL).
--define(wxALIGN_CENTER, (?wxALIGN_CENTER_HORIZONTAL bor ?wxALIGN_CENTER_VERTICAL)).
--define(wxALIGN_CENTRE, ?wxALIGN_CENTER).
--define(wxALIGN_MASK, 3840).
-% Type wxAuiButtonId
--define(wxAUI_BUTTON_CLOSE, 101).
--define(wxAUI_BUTTON_MAXIMIZE_RESTORE, 102).
--define(wxAUI_BUTTON_MINIMIZE, 103).
--define(wxAUI_BUTTON_PIN, 104).
--define(wxAUI_BUTTON_OPTIONS, 105).
--define(wxAUI_BUTTON_WINDOWLIST, 106).
--define(wxAUI_BUTTON_LEFT, 107).
--define(wxAUI_BUTTON_RIGHT, 108).
--define(wxAUI_BUTTON_UP, 109).
--define(wxAUI_BUTTON_DOWN, 110).
--define(wxAUI_BUTTON_CUSTOM1, 201).
--define(wxAUI_BUTTON_CUSTOM2, 202).
--define(wxAUI_BUTTON_CUSTOM3, 203).
-% Type wxAuiManagerDock
--define(wxAUI_DOCK_NONE, 0).
--define(wxAUI_DOCK_TOP, 1).
--define(wxAUI_DOCK_RIGHT, 2).
--define(wxAUI_DOCK_BOTTOM, 3).
--define(wxAUI_DOCK_LEFT, 4).
--define(wxAUI_DOCK_CENTER, 5).
--define(wxAUI_DOCK_CENTRE, ?wxAUI_DOCK_CENTER).
-% Type wxAuiManagerOption
--define(wxAUI_MGR_ALLOW_FLOATING, 1).
--define(wxAUI_MGR_ALLOW_ACTIVE_PANE, 2).
--define(wxAUI_MGR_TRANSPARENT_DRAG, 4).
--define(wxAUI_MGR_TRANSPARENT_HINT, 8).
--define(wxAUI_MGR_VENETIAN_BLINDS_HINT, 16).
--define(wxAUI_MGR_RECTANGLE_HINT, 32).
--define(wxAUI_MGR_HINT_FADE, 64).
--define(wxAUI_MGR_NO_VENETIAN_BLINDS_FADE, 128).
--define(wxAUI_MGR_LIVE_RESIZE, 256).
--define(wxAUI_MGR_DEFAULT, (?wxAUI_MGR_ALLOW_FLOATING bor ?wxAUI_MGR_TRANSPARENT_HINT bor ?wxAUI_MGR_HINT_FADE bor ?wxAUI_MGR_NO_VENETIAN_BLINDS_FADE)).
-% Type wxAuiNotebookOption
--define(wxAUI_NB_TOP, 1).
--define(wxAUI_NB_LEFT, 2).
--define(wxAUI_NB_RIGHT, 4).
--define(wxAUI_NB_BOTTOM, 8).
--define(wxAUI_NB_TAB_SPLIT, 16).
--define(wxAUI_NB_TAB_MOVE, 32).
--define(wxAUI_NB_TAB_EXTERNAL_MOVE, 64).
--define(wxAUI_NB_TAB_FIXED_WIDTH, 128).
--define(wxAUI_NB_SCROLL_BUTTONS, 256).
--define(wxAUI_NB_WINDOWLIST_BUTTON, 512).
--define(wxAUI_NB_CLOSE_BUTTON, 1024).
--define(wxAUI_NB_CLOSE_ON_ACTIVE_TAB, 2048).
--define(wxAUI_NB_CLOSE_ON_ALL_TABS, 4096).
--define(wxAUI_NB_MIDDLE_CLICK_CLOSE, 8192).
--define(wxAUI_NB_DEFAULT_STYLE, (?wxAUI_NB_TOP bor ?wxAUI_NB_TAB_SPLIT bor ?wxAUI_NB_TAB_MOVE bor ?wxAUI_NB_SCROLL_BUTTONS bor ?wxAUI_NB_CLOSE_ON_ACTIVE_TAB bor ?wxAUI_NB_MIDDLE_CLICK_CLOSE)).
-% Type wxAuiPaneButtonState
--define(wxAUI_BUTTON_STATE_NORMAL, 0).
--define(wxAUI_BUTTON_STATE_HOVER, 2).
--define(wxAUI_BUTTON_STATE_PRESSED, 4).
--define(wxAUI_BUTTON_STATE_DISABLED, 8).
--define(wxAUI_BUTTON_STATE_HIDDEN, 16).
--define(wxAUI_BUTTON_STATE_CHECKED, 32).
-% Type wxAuiPaneDockArtGradients
--define(wxAUI_GRADIENT_NONE, 0).
--define(wxAUI_GRADIENT_VERTICAL, 1).
--define(wxAUI_GRADIENT_HORIZONTAL, 2).
-% Type wxAuiPaneDockArtSetting
--define(wxAUI_DOCKART_SASH_SIZE, 0).
--define(wxAUI_DOCKART_CAPTION_SIZE, 1).
--define(wxAUI_DOCKART_GRIPPER_SIZE, 2).
--define(wxAUI_DOCKART_PANE_BORDER_SIZE, 3).
--define(wxAUI_DOCKART_PANE_BUTTON_SIZE, 4).
--define(wxAUI_DOCKART_BACKGROUND_COLOUR, 5).
--define(wxAUI_DOCKART_SASH_COLOUR, 6).
--define(wxAUI_DOCKART_ACTIVE_CAPTION_COLOUR, 7).
--define(wxAUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR, 8).
--define(wxAUI_DOCKART_INACTIVE_CAPTION_COLOUR, 9).
--define(wxAUI_DOCKART_INACTIVE_CAPTION_GRADIENT_COLOUR, 10).
--define(wxAUI_DOCKART_ACTIVE_CAPTION_TEXT_COLOUR, 11).
--define(wxAUI_DOCKART_INACTIVE_CAPTION_TEXT_COLOUR, 12).
--define(wxAUI_DOCKART_BORDER_COLOUR, 13).
--define(wxAUI_DOCKART_GRIPPER_COLOUR, 14).
--define(wxAUI_DOCKART_CAPTION_FONT, 15).
--define(wxAUI_DOCKART_GRADIENT_TYPE, 16).
-% Type wxAuiPaneInsertLevel
--define(wxAUI_INSERT_PANE, 0).
--define(wxAUI_INSERT_ROW, 1).
--define(wxAUI_INSERT_DOCK, 2).
-% Type wxBackgroundStyle
--define(wxBG_STYLE_SYSTEM, 0).
--define(wxBG_STYLE_COLOUR, 1).
--define(wxBG_STYLE_CUSTOM, 2).
-% Type wxBitmapType
--define(wxBITMAP_TYPE_INVALID, 0).
--define(wxBITMAP_TYPE_BMP, 1).
--define(wxBITMAP_TYPE_BMP_RESOURCE, 2).
--define(wxBITMAP_TYPE_RESOURCE, ?wxBITMAP_TYPE_BMP_RESOURCE).
--define(wxBITMAP_TYPE_ICO, (?wxBITMAP_TYPE_BMP_RESOURCE+1)).
--define(wxBITMAP_TYPE_ICO_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+2)).
--define(wxBITMAP_TYPE_CUR, (?wxBITMAP_TYPE_BMP_RESOURCE+3)).
--define(wxBITMAP_TYPE_CUR_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+4)).
--define(wxBITMAP_TYPE_XBM, (?wxBITMAP_TYPE_BMP_RESOURCE+5)).
--define(wxBITMAP_TYPE_XBM_DATA, (?wxBITMAP_TYPE_BMP_RESOURCE+6)).
--define(wxBITMAP_TYPE_XPM, (?wxBITMAP_TYPE_BMP_RESOURCE+7)).
--define(wxBITMAP_TYPE_XPM_DATA, (?wxBITMAP_TYPE_BMP_RESOURCE+8)).
--define(wxBITMAP_TYPE_TIF, (?wxBITMAP_TYPE_BMP_RESOURCE+9)).
--define(wxBITMAP_TYPE_TIF_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+10)).
--define(wxBITMAP_TYPE_GIF, (?wxBITMAP_TYPE_BMP_RESOURCE+11)).
--define(wxBITMAP_TYPE_GIF_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+12)).
--define(wxBITMAP_TYPE_PNG, (?wxBITMAP_TYPE_BMP_RESOURCE+13)).
--define(wxBITMAP_TYPE_PNG_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+14)).
--define(wxBITMAP_TYPE_JPEG, (?wxBITMAP_TYPE_BMP_RESOURCE+15)).
--define(wxBITMAP_TYPE_JPEG_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+16)).
--define(wxBITMAP_TYPE_PNM, (?wxBITMAP_TYPE_BMP_RESOURCE+17)).
--define(wxBITMAP_TYPE_PNM_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+18)).
--define(wxBITMAP_TYPE_PCX, (?wxBITMAP_TYPE_BMP_RESOURCE+19)).
--define(wxBITMAP_TYPE_PCX_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+20)).
--define(wxBITMAP_TYPE_PICT, (?wxBITMAP_TYPE_BMP_RESOURCE+21)).
--define(wxBITMAP_TYPE_PICT_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+22)).
--define(wxBITMAP_TYPE_ICON, (?wxBITMAP_TYPE_BMP_RESOURCE+23)).
--define(wxBITMAP_TYPE_ICON_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+24)).
--define(wxBITMAP_TYPE_ANI, (?wxBITMAP_TYPE_BMP_RESOURCE+25)).
--define(wxBITMAP_TYPE_IFF, (?wxBITMAP_TYPE_BMP_RESOURCE+26)).
--define(wxBITMAP_TYPE_TGA, (?wxBITMAP_TYPE_BMP_RESOURCE+27)).
--define(wxBITMAP_TYPE_MACCURSOR, (?wxBITMAP_TYPE_BMP_RESOURCE+28)).
--define(wxBITMAP_TYPE_MACCURSOR_RESOURCE, (?wxBITMAP_TYPE_BMP_RESOURCE+29)).
--define(wxBITMAP_TYPE_ANY, 50).
-% Type wxBorder
--define(wxBORDER_DEFAULT, 0).
--define(wxBORDER_NONE, 2097152).
--define(wxBORDER_STATIC, 16777216).
--define(wxBORDER_SIMPLE, 33554432).
--define(wxBORDER_RAISED, 67108864).
--define(wxBORDER_SUNKEN, 134217728).
--define(wxBORDER_DOUBLE, 268435456).
--define(wxBORDER_THEME, 268435456).
--define(wxBORDER_MASK, 522190848).
-% Type wxCalendarDateBorder
--define(wxCAL_BORDER_NONE, 0).
--define(wxCAL_BORDER_SQUARE, 1).
--define(wxCAL_BORDER_ROUND, 2).
-% Type wxCalendarHitTestResult
--define(wxCAL_HITTEST_NOWHERE, 0).
--define(wxCAL_HITTEST_HEADER, 1).
--define(wxCAL_HITTEST_DAY, 2).
--define(wxCAL_HITTEST_INCMONTH, 3).
--define(wxCAL_HITTEST_DECMONTH, 4).
--define(wxCAL_HITTEST_SURROUNDING_WEEK, 5).
-% Type wxCheckBoxState
--define(wxCHK_UNCHECKED, 0).
--define(wxCHK_CHECKED, 1).
--define(wxCHK_UNDETERMINED, 2).
-% Type wxClientDataType
--define(wxClientData_None, 0).
--define(wxClientData_Object, 1).
--define(wxClientData_Void, 2).
-% Type wxDataFormatId
--define(wxDF_INVALID, 0).
--define(wxDF_TEXT, 1).
--define(wxDF_BITMAP, 2).
--define(wxDF_METAFILE, 3).
--define(wxDF_SYLK, 4).
--define(wxDF_DIF, 5).
--define(wxDF_TIFF, 6).
--define(wxDF_OEMTEXT, 7).
--define(wxDF_DIB, 8).
--define(wxDF_PALETTE, 9).
--define(wxDF_PENDATA, 10).
--define(wxDF_RIFF, 11).
--define(wxDF_WAVE, 12).
--define(wxDF_UNICODETEXT, 13).
--define(wxDF_ENHMETAFILE, 14).
--define(wxDF_FILENAME, 15).
--define(wxDF_LOCALE, 16).
--define(wxDF_PRIVATE, 20).
--define(wxDF_HTML, 30).
--define(wxDF_MAX, 31).
-% Type wxDirection
--define(wxLEFT, 16).
--define(wxRIGHT, 32).
--define(wxUP, 64).
--define(wxDOWN, 128).
--define(wxTOP, ?wxUP).
--define(wxBOTTOM, ?wxDOWN).
--define(wxNORTH, ?wxUP).
--define(wxSOUTH, ?wxDOWN).
--define(wxWEST, ?wxLEFT).
--define(wxEAST, ?wxRIGHT).
--define(wxALL, (?wxUP bor ?wxDOWN bor ?wxRIGHT bor ?wxLEFT)).
-% Type wxDragResult
--define(wxDragError, 0).
--define(wxDragNone, 1).
--define(wxDragCopy, 2).
--define(wxDragMove, 3).
--define(wxDragLink, 4).
--define(wxDragCancel, 5).
-% Type wxDuplexMode
--define(wxDUPLEX_SIMPLEX, 0).
--define(wxDUPLEX_HORIZONTAL, 1).
--define(wxDUPLEX_VERTICAL, 2).
-% Type wxEdge
--define(wxLeft, 0).
--define(wxTop, 1).
--define(wxRight, 2).
--define(wxBottom, 3).
--define(wxWidth, 4).
--define(wxHeight, 5).
--define(wxCentre, 6).
--define(wxCenter, ?wxCentre).
--define(wxCentreX, (?wxCentre+1)).
--define(wxCentreY, (?wxCentre+2)).
-% Type wxFindReplaceDialogStyles
--define(wxFR_REPLACEDIALOG, 1).
--define(wxFR_NOUPDOWN, 2).
--define(wxFR_NOMATCHCASE, 4).
--define(wxFR_NOWHOLEWORD, 8).
-% Type wxFindReplaceFlags
--define(wxFR_DOWN, 1).
--define(wxFR_WHOLEWORD, 2).
--define(wxFR_MATCHCASE, 4).
-% Type wxFlexSizerGrowMode
--define(wxFLEX_GROWMODE_NONE, 0).
--define(wxFLEX_GROWMODE_SPECIFIED, 1).
--define(wxFLEX_GROWMODE_ALL, 2).
-% Type wxFontEncoding
--define(wxFONTENCODING_SYSTEM, -1).
--define(wxFONTENCODING_DEFAULT, 0).
--define(wxFONTENCODING_ISO8859_1, 1).
--define(wxFONTENCODING_ISO8859_2, 2).
--define(wxFONTENCODING_ISO8859_3, 3).
--define(wxFONTENCODING_ISO8859_4, 4).
--define(wxFONTENCODING_ISO8859_5, 5).
--define(wxFONTENCODING_ISO8859_6, 6).
--define(wxFONTENCODING_ISO8859_7, 7).
--define(wxFONTENCODING_ISO8859_8, 8).
--define(wxFONTENCODING_ISO8859_9, 9).
--define(wxFONTENCODING_ISO8859_10, 10).
--define(wxFONTENCODING_ISO8859_11, 11).
--define(wxFONTENCODING_ISO8859_12, 12).
--define(wxFONTENCODING_ISO8859_13, 13).
--define(wxFONTENCODING_ISO8859_14, 14).
--define(wxFONTENCODING_ISO8859_15, 15).
--define(wxFONTENCODING_ISO8859_MAX, 16).
--define(wxFONTENCODING_KOI8, 17).
--define(wxFONTENCODING_KOI8_U, 18).
--define(wxFONTENCODING_ALTERNATIVE, 19).
--define(wxFONTENCODING_BULGARIAN, 20).
--define(wxFONTENCODING_CP437, 21).
--define(wxFONTENCODING_CP850, 22).
--define(wxFONTENCODING_CP852, 23).
--define(wxFONTENCODING_CP855, 24).
--define(wxFONTENCODING_CP866, 25).
--define(wxFONTENCODING_CP874, 26).
--define(wxFONTENCODING_CP932, 27).
--define(wxFONTENCODING_CP936, 28).
--define(wxFONTENCODING_CP949, 29).
--define(wxFONTENCODING_CP950, 30).
--define(wxFONTENCODING_CP1250, 31).
--define(wxFONTENCODING_CP1251, 32).
--define(wxFONTENCODING_CP1252, 33).
--define(wxFONTENCODING_CP1253, 34).
--define(wxFONTENCODING_CP1254, 35).
--define(wxFONTENCODING_CP1255, 36).
--define(wxFONTENCODING_CP1256, 37).
--define(wxFONTENCODING_CP1257, 38).
--define(wxFONTENCODING_CP12_MAX, 39).
--define(wxFONTENCODING_UTF7, 40).
--define(wxFONTENCODING_UTF8, 41).
--define(wxFONTENCODING_EUC_JP, 42).
--define(wxFONTENCODING_UTF16BE, 43).
--define(wxFONTENCODING_UTF16LE, 44).
--define(wxFONTENCODING_UTF32BE, 45).
--define(wxFONTENCODING_UTF32LE, 46).
--define(wxFONTENCODING_MACROMAN, 47).
--define(wxFONTENCODING_MACJAPANESE, 48).
--define(wxFONTENCODING_MACCHINESETRAD, 49).
--define(wxFONTENCODING_MACKOREAN, 50).
--define(wxFONTENCODING_MACARABIC, 51).
--define(wxFONTENCODING_MACHEBREW, 52).
--define(wxFONTENCODING_MACGREEK, 53).
--define(wxFONTENCODING_MACCYRILLIC, 54).
--define(wxFONTENCODING_MACDEVANAGARI, 55).
--define(wxFONTENCODING_MACGURMUKHI, 56).
--define(wxFONTENCODING_MACGUJARATI, 57).
--define(wxFONTENCODING_MACORIYA, 58).
--define(wxFONTENCODING_MACBENGALI, 59).
--define(wxFONTENCODING_MACTAMIL, 60).
--define(wxFONTENCODING_MACTELUGU, 61).
--define(wxFONTENCODING_MACKANNADA, 62).
--define(wxFONTENCODING_MACMALAJALAM, 63).
--define(wxFONTENCODING_MACSINHALESE, 64).
--define(wxFONTENCODING_MACBURMESE, 65).
--define(wxFONTENCODING_MACKHMER, 66).
--define(wxFONTENCODING_MACTHAI, 67).
--define(wxFONTENCODING_MACLAOTIAN, 68).
--define(wxFONTENCODING_MACGEORGIAN, 69).
--define(wxFONTENCODING_MACARMENIAN, 70).
--define(wxFONTENCODING_MACCHINESESIMP, 71).
--define(wxFONTENCODING_MACTIBETAN, 72).
--define(wxFONTENCODING_MACMONGOLIAN, 73).
--define(wxFONTENCODING_MACETHIOPIC, 74).
--define(wxFONTENCODING_MACCENTRALEUR, 75).
--define(wxFONTENCODING_MACVIATNAMESE, 76).
--define(wxFONTENCODING_MACARABICEXT, 77).
--define(wxFONTENCODING_MACSYMBOL, 78).
--define(wxFONTENCODING_MACDINGBATS, 79).
--define(wxFONTENCODING_MACTURKISH, 80).
--define(wxFONTENCODING_MACCROATIAN, 81).
--define(wxFONTENCODING_MACICELANDIC, 82).
--define(wxFONTENCODING_MACROMANIAN, 83).
--define(wxFONTENCODING_MACCELTIC, 84).
--define(wxFONTENCODING_MACGAELIC, 85).
--define(wxFONTENCODING_MACKEYBOARD, 86).
--define(wxFONTENCODING_MAX, 87).
--define(wxFONTENCODING_MACMIN, ?wxFONTENCODING_MACROMAN).
--define(wxFONTENCODING_MACMAX, ?wxFONTENCODING_MACKEYBOARD).
--define(wxFONTENCODING_UTF16, wxe_util:get_const(wxFONTENCODING_UTF16)).
--define(wxFONTENCODING_UTF32, wxe_util:get_const(wxFONTENCODING_UTF32)).
--define(wxFONTENCODING_UNICODE, ?wxFONTENCODING_UTF32).
--define(wxFONTENCODING_GB2312, ?wxFONTENCODING_CP936).
--define(wxFONTENCODING_BIG5, ?wxFONTENCODING_CP950).
--define(wxFONTENCODING_SHIFT_JIS, ?wxFONTENCODING_CP932).
-% Type wxFontFamily
--define(wxFONTFAMILY_DEFAULT, ?wxDEFAULT).
--define(wxFONTFAMILY_DECORATIVE, ?wxDECORATIVE).
--define(wxFONTFAMILY_ROMAN, ?wxROMAN).
--define(wxFONTFAMILY_SCRIPT, ?wxSCRIPT).
--define(wxFONTFAMILY_SWISS, ?wxSWISS).
--define(wxFONTFAMILY_MODERN, ?wxMODERN).
--define(wxFONTFAMILY_TELETYPE, ?wxTELETYPE).
--define(wxFONTFAMILY_MAX, (?wxTELETYPE+1)).
--define(wxFONTFAMILY_UNKNOWN, ?wxFONTFAMILY_MAX).
-% Type wxFontStyle
--define(wxFONTSTYLE_NORMAL, ?wxNORMAL).
--define(wxFONTSTYLE_ITALIC, ?wxITALIC).
--define(wxFONTSTYLE_SLANT, ?wxSLANT).
--define(wxFONTSTYLE_MAX, (?wxSLANT+1)).
-% Type wxFontWeight
--define(wxFONTWEIGHT_NORMAL, ?wxNORMAL).
--define(wxFONTWEIGHT_LIGHT, ?wxLIGHT).
--define(wxFONTWEIGHT_BOLD, ?wxBOLD).
--define(wxFONTWEIGHT_MAX, (?wxBOLD+1)).
-% Type wxGeometryCentre
--define(wxCENTRE, 1).
--define(wxCENTER, ?wxCENTRE).
-% Type wxHitTest
--define(wxHT_NOWHERE, 0).
--define(wxHT_SCROLLBAR_FIRST, ?wxHT_NOWHERE).
--define(wxHT_SCROLLBAR_ARROW_LINE_1, (?wxHT_NOWHERE+1)).
--define(wxHT_SCROLLBAR_ARROW_LINE_2, (?wxHT_NOWHERE+2)).
--define(wxHT_SCROLLBAR_ARROW_PAGE_1, (?wxHT_NOWHERE+3)).
--define(wxHT_SCROLLBAR_ARROW_PAGE_2, (?wxHT_NOWHERE+4)).
--define(wxHT_SCROLLBAR_THUMB, (?wxHT_NOWHERE+5)).
--define(wxHT_SCROLLBAR_BAR_1, (?wxHT_NOWHERE+6)).
--define(wxHT_SCROLLBAR_BAR_2, (?wxHT_NOWHERE+7)).
--define(wxHT_SCROLLBAR_LAST, (?wxHT_NOWHERE+8)).
--define(wxHT_WINDOW_OUTSIDE, (?wxHT_NOWHERE+9)).
--define(wxHT_WINDOW_INSIDE, (?wxHT_NOWHERE+10)).
--define(wxHT_WINDOW_VERT_SCROLLBAR, (?wxHT_NOWHERE+11)).
--define(wxHT_WINDOW_HORZ_SCROLLBAR, (?wxHT_NOWHERE+12)).
--define(wxHT_WINDOW_CORNER, (?wxHT_NOWHERE+13)).
--define(wxHT_MAX, (?wxHT_NOWHERE+14)).
-% Type wxHtmlOpeningStatus
--define(wxHTML_OPEN, 0).
--define(wxHTML_BLOCK, 1).
--define(wxHTML_REDIRECT, 2).
-% Type wxIdleMode
--define(wxIDLE_PROCESS_ALL, 0).
--define(wxIDLE_PROCESS_SPECIFIED, 1).
-% Type wxItemKind
--define(wxITEM_SEPARATOR, -1).
--define(wxITEM_NORMAL, 0).
--define(wxITEM_CHECK, 1).
--define(wxITEM_RADIO, 2).
--define(wxITEM_MAX, 3).
-% Type wxKeyCode
--define(WXK_BACK, 8).
--define(WXK_TAB, 9).
--define(WXK_RETURN, 13).
--define(WXK_ESCAPE, 27).
--define(WXK_SPACE, 32).
--define(WXK_DELETE, 127).
--define(WXK_START, 300).
--define(WXK_LBUTTON, 301).
--define(WXK_RBUTTON, 302).
--define(WXK_CANCEL, 303).
--define(WXK_MBUTTON, 304).
--define(WXK_CLEAR, 305).
--define(WXK_SHIFT, 306).
--define(WXK_ALT, 307).
--define(WXK_CONTROL, 308).
--define(WXK_MENU, 309).
--define(WXK_PAUSE, 310).
--define(WXK_CAPITAL, 311).
--define(WXK_END, 312).
--define(WXK_HOME, 313).
--define(WXK_LEFT, 314).
--define(WXK_UP, 315).
--define(WXK_RIGHT, 316).
--define(WXK_DOWN, 317).
--define(WXK_SELECT, 318).
--define(WXK_PRINT, 319).
--define(WXK_EXECUTE, 320).
--define(WXK_SNAPSHOT, 321).
--define(WXK_INSERT, 322).
--define(WXK_HELP, 323).
--define(WXK_NUMPAD0, 324).
--define(WXK_NUMPAD1, 325).
--define(WXK_NUMPAD2, 326).
--define(WXK_NUMPAD3, 327).
--define(WXK_NUMPAD4, 328).
--define(WXK_NUMPAD5, 329).
--define(WXK_NUMPAD6, 330).
--define(WXK_NUMPAD7, 331).
--define(WXK_NUMPAD8, 332).
--define(WXK_NUMPAD9, 333).
--define(WXK_MULTIPLY, 334).
--define(WXK_ADD, 335).
--define(WXK_SEPARATOR, 336).
--define(WXK_SUBTRACT, 337).
--define(WXK_DECIMAL, 338).
--define(WXK_DIVIDE, 339).
--define(WXK_F1, 340).
--define(WXK_F2, 341).
--define(WXK_F3, 342).
--define(WXK_F4, 343).
--define(WXK_F5, 344).
--define(WXK_F6, 345).
--define(WXK_F7, 346).
--define(WXK_F8, 347).
--define(WXK_F9, 348).
--define(WXK_F10, 349).
--define(WXK_F11, 350).
--define(WXK_F12, 351).
--define(WXK_F13, 352).
--define(WXK_F14, 353).
--define(WXK_F15, 354).
--define(WXK_F16, 355).
--define(WXK_F17, 356).
--define(WXK_F18, 357).
--define(WXK_F19, 358).
--define(WXK_F20, 359).
--define(WXK_F21, 360).
--define(WXK_F22, 361).
--define(WXK_F23, 362).
--define(WXK_F24, 363).
--define(WXK_NUMLOCK, 364).
--define(WXK_SCROLL, 365).
--define(WXK_PAGEUP, 366).
--define(WXK_PAGEDOWN, 367).
--define(WXK_NUMPAD_SPACE, 368).
--define(WXK_NUMPAD_TAB, 369).
--define(WXK_NUMPAD_ENTER, 370).
--define(WXK_NUMPAD_F1, 371).
--define(WXK_NUMPAD_F2, 372).
--define(WXK_NUMPAD_F3, 373).
--define(WXK_NUMPAD_F4, 374).
--define(WXK_NUMPAD_HOME, 375).
--define(WXK_NUMPAD_LEFT, 376).
--define(WXK_NUMPAD_UP, 377).
--define(WXK_NUMPAD_RIGHT, 378).
--define(WXK_NUMPAD_DOWN, 379).
--define(WXK_NUMPAD_PAGEUP, 380).
--define(WXK_NUMPAD_PAGEDOWN, 381).
--define(WXK_NUMPAD_END, 382).
--define(WXK_NUMPAD_BEGIN, 383).
--define(WXK_NUMPAD_INSERT, 384).
--define(WXK_NUMPAD_DELETE, 385).
--define(WXK_NUMPAD_EQUAL, 386).
--define(WXK_NUMPAD_MULTIPLY, 387).
--define(WXK_NUMPAD_ADD, 388).
--define(WXK_NUMPAD_SEPARATOR, 389).
--define(WXK_NUMPAD_SUBTRACT, 390).
--define(WXK_NUMPAD_DECIMAL, 391).
--define(WXK_NUMPAD_DIVIDE, 392).
--define(WXK_WINDOWS_LEFT, 393).
--define(WXK_WINDOWS_RIGHT, 394).
--define(WXK_WINDOWS_MENU, 395).
--define(WXK_COMMAND, 396).
--define(WXK_SPECIAL1, 193).
--define(WXK_SPECIAL2, 194).
--define(WXK_SPECIAL3, 195).
--define(WXK_SPECIAL4, 196).
--define(WXK_SPECIAL5, 197).
--define(WXK_SPECIAL6, 198).
--define(WXK_SPECIAL7, 199).
--define(WXK_SPECIAL8, 200).
--define(WXK_SPECIAL9, 201).
--define(WXK_SPECIAL10, 202).
--define(WXK_SPECIAL11, 203).
--define(WXK_SPECIAL12, 204).
--define(WXK_SPECIAL13, 205).
--define(WXK_SPECIAL14, 206).
--define(WXK_SPECIAL15, 207).
--define(WXK_SPECIAL16, 208).
--define(WXK_SPECIAL17, 209).
--define(WXK_SPECIAL18, 210).
--define(WXK_SPECIAL19, 211).
--define(WXK_SPECIAL20, 212).
-% Type wxKeyModifier
--define(wxMOD_NONE, 0).
--define(wxMOD_ALT, 1).
--define(wxMOD_CONTROL, 2).
--define(wxMOD_ALTGR, (?wxMOD_ALT bor ?wxMOD_CONTROL)).
--define(wxMOD_SHIFT, 4).
--define(wxMOD_META, 8).
--define(wxMOD_WIN, ?wxMOD_META).
--define(wxMOD_CMD, wxe_util:get_const(wxMOD_CMD)).
--define(wxMOD_ALL, 65535).
-% Type wxKeyType
--define(wxKEY_NONE, 0).
--define(wxKEY_INTEGER, 1).
--define(wxKEY_STRING, 2).
-% Type wxKillError
+% From "utils.h": wxKillError
-define(wxKILL_OK, 0).
-define(wxKILL_BAD_SIGNAL, 1).
-define(wxKILL_ACCESS_DENIED, 2).
-define(wxKILL_NO_PROCESS, 3).
-define(wxKILL_ERROR, 4).
-% Type wxKillFlags
+% From "utils.h": wxKillFlags
-define(wxKILL_NOCHILDREN, 0).
-define(wxKILL_CHILDREN, 1).
-% Type wxLayoutAlignment
--define(wxLAYOUT_NONE, 0).
--define(wxLAYOUT_TOP, 1).
--define(wxLAYOUT_LEFT, 2).
--define(wxLAYOUT_RIGHT, 3).
--define(wxLAYOUT_BOTTOM, 4).
-% Type wxLayoutDirection
--define(wxLayout_Default, 0).
--define(wxLayout_LeftToRight, 1).
--define(wxLayout_RightToLeft, 2).
-% Type wxLayoutOrientation
--define(wxLAYOUT_HORIZONTAL, 0).
--define(wxLAYOUT_VERTICAL, 1).
-% Type wxListColumnFormat
--define(wxLIST_FORMAT_LEFT, 0).
--define(wxLIST_FORMAT_RIGHT, 1).
--define(wxLIST_FORMAT_CENTRE, 2).
--define(wxLIST_FORMAT_CENTER, ?wxLIST_FORMAT_CENTRE).
-% Type wxNotificationOptions
--define(wxNOTIFY_NONE, 0).
--define(wxNOTIFY_ONCE, 1).
--define(wxNOTIFY_REPEAT, 2).
-% Type wxOrientation
--define(wxHORIZONTAL, 4).
--define(wxVERTICAL, 8).
--define(wxBOTH, (?wxVERTICAL bor ?wxHORIZONTAL)).
-% Type wxPaperSize
--define(wxPAPER_NONE, 0).
--define(wxPAPER_LETTER, 1).
--define(wxPAPER_LEGAL, 2).
--define(wxPAPER_A4, 3).
--define(wxPAPER_CSHEET, 4).
--define(wxPAPER_DSHEET, 5).
--define(wxPAPER_ESHEET, 6).
--define(wxPAPER_LETTERSMALL, 7).
--define(wxPAPER_TABLOID, 8).
--define(wxPAPER_LEDGER, 9).
--define(wxPAPER_STATEMENT, 10).
--define(wxPAPER_EXECUTIVE, 11).
--define(wxPAPER_A3, 12).
--define(wxPAPER_A4SMALL, 13).
--define(wxPAPER_A5, 14).
--define(wxPAPER_B4, 15).
--define(wxPAPER_B5, 16).
--define(wxPAPER_FOLIO, 17).
--define(wxPAPER_QUARTO, 18).
--define(wxPAPER_10X14, 19).
--define(wxPAPER_11X17, 20).
--define(wxPAPER_NOTE, 21).
--define(wxPAPER_ENV_9, 22).
--define(wxPAPER_ENV_10, 23).
--define(wxPAPER_ENV_11, 24).
--define(wxPAPER_ENV_12, 25).
--define(wxPAPER_ENV_14, 26).
--define(wxPAPER_ENV_DL, 27).
--define(wxPAPER_ENV_C5, 28).
--define(wxPAPER_ENV_C3, 29).
--define(wxPAPER_ENV_C4, 30).
--define(wxPAPER_ENV_C6, 31).
--define(wxPAPER_ENV_C65, 32).
--define(wxPAPER_ENV_B4, 33).
--define(wxPAPER_ENV_B5, 34).
--define(wxPAPER_ENV_B6, 35).
--define(wxPAPER_ENV_ITALY, 36).
--define(wxPAPER_ENV_MONARCH, 37).
--define(wxPAPER_ENV_PERSONAL, 38).
--define(wxPAPER_FANFOLD_US, 39).
--define(wxPAPER_FANFOLD_STD_GERMAN, 40).
--define(wxPAPER_FANFOLD_LGL_GERMAN, 41).
--define(wxPAPER_ISO_B4, 42).
--define(wxPAPER_JAPANESE_POSTCARD, 43).
--define(wxPAPER_9X11, 44).
--define(wxPAPER_10X11, 45).
--define(wxPAPER_15X11, 46).
--define(wxPAPER_ENV_INVITE, 47).
--define(wxPAPER_LETTER_EXTRA, 48).
--define(wxPAPER_LEGAL_EXTRA, 49).
--define(wxPAPER_TABLOID_EXTRA, 50).
--define(wxPAPER_A4_EXTRA, 51).
--define(wxPAPER_LETTER_TRANSVERSE, 52).
--define(wxPAPER_A4_TRANSVERSE, 53).
--define(wxPAPER_LETTER_EXTRA_TRANSVERSE, 54).
--define(wxPAPER_A_PLUS, 55).
--define(wxPAPER_B_PLUS, 56).
--define(wxPAPER_LETTER_PLUS, 57).
--define(wxPAPER_A4_PLUS, 58).
--define(wxPAPER_A5_TRANSVERSE, 59).
--define(wxPAPER_B5_TRANSVERSE, 60).
--define(wxPAPER_A3_EXTRA, 61).
--define(wxPAPER_A5_EXTRA, 62).
--define(wxPAPER_B5_EXTRA, 63).
--define(wxPAPER_A2, 64).
--define(wxPAPER_A3_TRANSVERSE, 65).
--define(wxPAPER_A3_EXTRA_TRANSVERSE, 66).
--define(wxPAPER_DBL_JAPANESE_POSTCARD, 67).
--define(wxPAPER_A6, 68).
--define(wxPAPER_JENV_KAKU2, 69).
--define(wxPAPER_JENV_KAKU3, 70).
--define(wxPAPER_JENV_CHOU3, 71).
--define(wxPAPER_JENV_CHOU4, 72).
--define(wxPAPER_LETTER_ROTATED, 73).
--define(wxPAPER_A3_ROTATED, 74).
--define(wxPAPER_A4_ROTATED, 75).
--define(wxPAPER_A5_ROTATED, 76).
--define(wxPAPER_B4_JIS_ROTATED, 77).
--define(wxPAPER_B5_JIS_ROTATED, 78).
--define(wxPAPER_JAPANESE_POSTCARD_ROTATED, 79).
--define(wxPAPER_DBL_JAPANESE_POSTCARD_ROTATED, 80).
--define(wxPAPER_A6_ROTATED, 81).
--define(wxPAPER_JENV_KAKU2_ROTATED, 82).
--define(wxPAPER_JENV_KAKU3_ROTATED, 83).
--define(wxPAPER_JENV_CHOU3_ROTATED, 84).
--define(wxPAPER_JENV_CHOU4_ROTATED, 85).
--define(wxPAPER_B6_JIS, 86).
--define(wxPAPER_B6_JIS_ROTATED, 87).
--define(wxPAPER_12X11, 88).
--define(wxPAPER_JENV_YOU4, 89).
--define(wxPAPER_JENV_YOU4_ROTATED, 90).
--define(wxPAPER_P16K, 91).
--define(wxPAPER_P32K, 92).
--define(wxPAPER_P32KBIG, 93).
--define(wxPAPER_PENV_1, 94).
--define(wxPAPER_PENV_2, 95).
--define(wxPAPER_PENV_3, 96).
--define(wxPAPER_PENV_4, 97).
--define(wxPAPER_PENV_5, 98).
--define(wxPAPER_PENV_6, 99).
--define(wxPAPER_PENV_7, 100).
--define(wxPAPER_PENV_8, 101).
--define(wxPAPER_PENV_9, 102).
--define(wxPAPER_PENV_10, 103).
--define(wxPAPER_P16K_ROTATED, 104).
--define(wxPAPER_P32K_ROTATED, 105).
--define(wxPAPER_P32KBIG_ROTATED, 106).
--define(wxPAPER_PENV_1_ROTATED, 107).
--define(wxPAPER_PENV_2_ROTATED, 108).
--define(wxPAPER_PENV_3_ROTATED, 109).
--define(wxPAPER_PENV_4_ROTATED, 110).
--define(wxPAPER_PENV_5_ROTATED, 111).
--define(wxPAPER_PENV_6_ROTATED, 112).
--define(wxPAPER_PENV_7_ROTATED, 113).
--define(wxPAPER_PENV_8_ROTATED, 114).
--define(wxPAPER_PENV_9_ROTATED, 115).
--define(wxPAPER_PENV_10_ROTATED, 116).
-% Type wxPrintBin
--define(wxPRINTBIN_DEFAULT, 0).
--define(wxPRINTBIN_ONLYONE, 1).
--define(wxPRINTBIN_LOWER, 2).
--define(wxPRINTBIN_MIDDLE, 3).
--define(wxPRINTBIN_MANUAL, 4).
--define(wxPRINTBIN_ENVELOPE, 5).
--define(wxPRINTBIN_ENVMANUAL, 6).
--define(wxPRINTBIN_AUTO, 7).
--define(wxPRINTBIN_TRACTOR, 8).
--define(wxPRINTBIN_SMALLFMT, 9).
--define(wxPRINTBIN_LARGEFMT, 10).
--define(wxPRINTBIN_LARGECAPACITY, 11).
--define(wxPRINTBIN_CASSETTE, 12).
--define(wxPRINTBIN_FORMSOURCE, 13).
--define(wxPRINTBIN_USER, 14).
-% Type wxPrintMode
--define(wxPRINT_MODE_NONE, 0).
--define(wxPRINT_MODE_PREVIEW, 1).
--define(wxPRINT_MODE_FILE, 2).
--define(wxPRINT_MODE_PRINTER, 3).
--define(wxPRINT_MODE_STREAM, 4).
-% Type wxPrinterError
--define(wxPRINTER_NO_ERROR, 0).
--define(wxPRINTER_CANCELLED, 1).
--define(wxPRINTER_ERROR, 2).
-% Type wxRegionContain
--define(wxOutRegion, 0).
--define(wxPartRegion, 1).
--define(wxInRegion, 2).
-% Type wxRegionOp
--define(wxRGN_AND, 0).
--define(wxRGN_COPY, 1).
--define(wxRGN_DIFF, 2).
--define(wxRGN_OR, 3).
--define(wxRGN_XOR, 4).
-% Type wxRelationship
--define(wxUnconstrained, 0).
--define(wxAsIs, 1).
--define(wxPercentOf, 2).
--define(wxAbove, 3).
--define(wxBelow, 4).
--define(wxLeftOf, 5).
--define(wxRightOf, 6).
--define(wxSameAs, 7).
--define(wxAbsolute, 8).
-% Type wxSashDragStatus
--define(wxSASH_STATUS_OK, 0).
--define(wxSASH_STATUS_OUT_OF_RANGE, 1).
-% Type wxSashEdgePosition
--define(wxSASH_TOP, 0).
--define(wxSASH_RIGHT, 1).
--define(wxSASH_BOTTOM, 2).
--define(wxSASH_LEFT, 3).
--define(wxSASH_NONE, 100).
-% Type wxShutdownFlags
+% From "utils.h": wxShutdownFlags
-define(wxSHUTDOWN_POWEROFF, 0).
-define(wxSHUTDOWN_REBOOT, 1).
-% Type wxSignal
+% From "utils.h": wxSignal
-define(wxSIGNONE, 0).
-define(wxSIGHUP, 1).
-define(wxSIGINT, 2).
@@ -3540,185 +3733,29 @@
-define(wxSIGPIPE, (?wxSIGABRT+7)).
-define(wxSIGALRM, (?wxSIGABRT+8)).
-define(wxSIGTERM, (?wxSIGABRT+9)).
-% Type wxSplitMode
--define(wxSPLIT_HORIZONTAL, 1).
--define(wxSPLIT_VERTICAL, 2).
-% Type wxStockCursor
--define(wxCURSOR_NONE, 0).
--define(wxCURSOR_ARROW, 1).
--define(wxCURSOR_RIGHT_ARROW, 2).
--define(wxCURSOR_BULLSEYE, 3).
--define(wxCURSOR_CHAR, 4).
--define(wxCURSOR_CROSS, 5).
--define(wxCURSOR_HAND, 6).
--define(wxCURSOR_IBEAM, 7).
--define(wxCURSOR_LEFT_BUTTON, 8).
--define(wxCURSOR_MAGNIFIER, 9).
--define(wxCURSOR_MIDDLE_BUTTON, 10).
--define(wxCURSOR_NO_ENTRY, 11).
--define(wxCURSOR_PAINT_BRUSH, 12).
--define(wxCURSOR_PENCIL, 13).
--define(wxCURSOR_POINT_LEFT, 14).
--define(wxCURSOR_POINT_RIGHT, 15).
--define(wxCURSOR_QUESTION_ARROW, 16).
--define(wxCURSOR_RIGHT_BUTTON, 17).
--define(wxCURSOR_SIZENESW, 18).
--define(wxCURSOR_SIZENS, 19).
--define(wxCURSOR_SIZENWSE, 20).
--define(wxCURSOR_SIZEWE, 21).
--define(wxCURSOR_SIZING, 22).
--define(wxCURSOR_SPRAYCAN, 23).
--define(wxCURSOR_WAIT, 24).
--define(wxCURSOR_WATCH, 25).
--define(wxCURSOR_BLANK, 26).
--define(wxCURSOR_DEFAULT, 27).
--define(wxCURSOR_ARROWWAIT, 28).
--define(wxCURSOR_MAX, 29).
-% Type wxStretch
--define(wxSTRETCH_NOT, 0).
--define(wxSHRINK, 4096).
--define(wxGROW, 8192).
--define(wxEXPAND, ?wxGROW).
--define(wxSHAPED, 16384).
--define(wxFIXED_MINSIZE, 32768).
--define(wxRESERVE_SPACE_EVEN_IF_HIDDEN, 2).
--define(wxTILE, 49152).
--define(wxADJUST_MINSIZE, 0).
-% Type wxSystemColour
--define(wxSYS_COLOUR_SCROLLBAR, 0).
--define(wxSYS_COLOUR_BACKGROUND, 1).
--define(wxSYS_COLOUR_DESKTOP, ?wxSYS_COLOUR_BACKGROUND).
--define(wxSYS_COLOUR_ACTIVECAPTION, (?wxSYS_COLOUR_BACKGROUND+1)).
--define(wxSYS_COLOUR_INACTIVECAPTION, (?wxSYS_COLOUR_BACKGROUND+2)).
--define(wxSYS_COLOUR_MENU, (?wxSYS_COLOUR_BACKGROUND+3)).
--define(wxSYS_COLOUR_WINDOW, (?wxSYS_COLOUR_BACKGROUND+4)).
--define(wxSYS_COLOUR_WINDOWFRAME, (?wxSYS_COLOUR_BACKGROUND+5)).
--define(wxSYS_COLOUR_MENUTEXT, (?wxSYS_COLOUR_BACKGROUND+6)).
--define(wxSYS_COLOUR_WINDOWTEXT, (?wxSYS_COLOUR_BACKGROUND+7)).
--define(wxSYS_COLOUR_CAPTIONTEXT, (?wxSYS_COLOUR_BACKGROUND+8)).
--define(wxSYS_COLOUR_ACTIVEBORDER, (?wxSYS_COLOUR_BACKGROUND+9)).
--define(wxSYS_COLOUR_INACTIVEBORDER, (?wxSYS_COLOUR_BACKGROUND+10)).
--define(wxSYS_COLOUR_APPWORKSPACE, (?wxSYS_COLOUR_BACKGROUND+11)).
--define(wxSYS_COLOUR_HIGHLIGHT, (?wxSYS_COLOUR_BACKGROUND+12)).
--define(wxSYS_COLOUR_HIGHLIGHTTEXT, (?wxSYS_COLOUR_BACKGROUND+13)).
--define(wxSYS_COLOUR_BTNFACE, (?wxSYS_COLOUR_BACKGROUND+14)).
--define(wxSYS_COLOUR_3DFACE, ?wxSYS_COLOUR_BTNFACE).
--define(wxSYS_COLOUR_BTNSHADOW, (?wxSYS_COLOUR_BTNFACE+1)).
--define(wxSYS_COLOUR_3DSHADOW, ?wxSYS_COLOUR_BTNSHADOW).
--define(wxSYS_COLOUR_GRAYTEXT, (?wxSYS_COLOUR_BTNSHADOW+1)).
--define(wxSYS_COLOUR_BTNTEXT, (?wxSYS_COLOUR_BTNSHADOW+2)).
--define(wxSYS_COLOUR_INACTIVECAPTIONTEXT, (?wxSYS_COLOUR_BTNSHADOW+3)).
--define(wxSYS_COLOUR_BTNHIGHLIGHT, (?wxSYS_COLOUR_BTNSHADOW+4)).
--define(wxSYS_COLOUR_BTNHILIGHT, ?wxSYS_COLOUR_BTNHIGHLIGHT).
--define(wxSYS_COLOUR_3DHIGHLIGHT, ?wxSYS_COLOUR_BTNHIGHLIGHT).
--define(wxSYS_COLOUR_3DHILIGHT, ?wxSYS_COLOUR_BTNHIGHLIGHT).
--define(wxSYS_COLOUR_3DDKSHADOW, (?wxSYS_COLOUR_BTNHIGHLIGHT+1)).
--define(wxSYS_COLOUR_3DLIGHT, (?wxSYS_COLOUR_BTNHIGHLIGHT+2)).
--define(wxSYS_COLOUR_INFOTEXT, (?wxSYS_COLOUR_BTNHIGHLIGHT+3)).
--define(wxSYS_COLOUR_INFOBK, (?wxSYS_COLOUR_BTNHIGHLIGHT+4)).
--define(wxSYS_COLOUR_LISTBOX, (?wxSYS_COLOUR_BTNHIGHLIGHT+5)).
--define(wxSYS_COLOUR_HOTLIGHT, (?wxSYS_COLOUR_BTNHIGHLIGHT+6)).
--define(wxSYS_COLOUR_GRADIENTACTIVECAPTION, (?wxSYS_COLOUR_BTNHIGHLIGHT+7)).
--define(wxSYS_COLOUR_GRADIENTINACTIVECAPTION, (?wxSYS_COLOUR_BTNHIGHLIGHT+8)).
--define(wxSYS_COLOUR_MENUHILIGHT, (?wxSYS_COLOUR_BTNHIGHLIGHT+9)).
--define(wxSYS_COLOUR_MENUBAR, (?wxSYS_COLOUR_BTNHIGHLIGHT+10)).
--define(wxSYS_COLOUR_LISTBOXTEXT, (?wxSYS_COLOUR_BTNHIGHLIGHT+11)).
--define(wxSYS_COLOUR_MAX, (?wxSYS_COLOUR_BTNHIGHLIGHT+12)).
-% Type wxSystemFeature
--define(wxSYS_CAN_DRAW_FRAME_DECORATIONS, 1).
--define(wxSYS_CAN_ICONIZE_FRAME, 2).
--define(wxSYS_TABLET_PRESENT, 3).
-% Type wxSystemFont
--define(wxSYS_OEM_FIXED_FONT, 10).
--define(wxSYS_ANSI_FIXED_FONT, 11).
--define(wxSYS_ANSI_VAR_FONT, 12).
--define(wxSYS_SYSTEM_FONT, 13).
--define(wxSYS_DEVICE_DEFAULT_FONT, 14).
--define(wxSYS_DEFAULT_PALETTE, 15).
--define(wxSYS_SYSTEM_FIXED_FONT, 16).
--define(wxSYS_DEFAULT_GUI_FONT, 17).
--define(wxSYS_ICONTITLE_FONT, ?wxSYS_DEFAULT_GUI_FONT).
-% Type wxSystemMetric
--define(wxSYS_MOUSE_BUTTONS, 1).
--define(wxSYS_BORDER_X, 2).
--define(wxSYS_BORDER_Y, 3).
--define(wxSYS_CURSOR_X, 4).
--define(wxSYS_CURSOR_Y, 5).
--define(wxSYS_DCLICK_X, 6).
--define(wxSYS_DCLICK_Y, 7).
--define(wxSYS_DRAG_X, 8).
--define(wxSYS_DRAG_Y, 9).
--define(wxSYS_EDGE_X, 10).
--define(wxSYS_EDGE_Y, 11).
--define(wxSYS_HSCROLL_ARROW_X, 12).
--define(wxSYS_HSCROLL_ARROW_Y, 13).
--define(wxSYS_HTHUMB_X, 14).
--define(wxSYS_ICON_X, 15).
--define(wxSYS_ICON_Y, 16).
--define(wxSYS_ICONSPACING_X, 17).
--define(wxSYS_ICONSPACING_Y, 18).
--define(wxSYS_WINDOWMIN_X, 19).
--define(wxSYS_WINDOWMIN_Y, 20).
--define(wxSYS_SCREEN_X, 21).
--define(wxSYS_SCREEN_Y, 22).
--define(wxSYS_FRAMESIZE_X, 23).
--define(wxSYS_FRAMESIZE_Y, 24).
--define(wxSYS_SMALLICON_X, 25).
--define(wxSYS_SMALLICON_Y, 26).
--define(wxSYS_HSCROLL_Y, 27).
--define(wxSYS_VSCROLL_X, 28).
--define(wxSYS_VSCROLL_ARROW_X, 29).
--define(wxSYS_VSCROLL_ARROW_Y, 30).
--define(wxSYS_VTHUMB_Y, 31).
--define(wxSYS_CAPTION_Y, 32).
--define(wxSYS_MENU_Y, 33).
--define(wxSYS_NETWORK_PRESENT, 34).
--define(wxSYS_PENWINDOWS_PRESENT, 35).
--define(wxSYS_SHOW_SOUNDS, 36).
--define(wxSYS_SWAP_BUTTONS, 37).
-% Type wxSystemScreenType
--define(wxSYS_SCREEN_NONE, 0).
--define(wxSYS_SCREEN_TINY, 1).
--define(wxSYS_SCREEN_PDA, 2).
--define(wxSYS_SCREEN_SMALL, 3).
--define(wxSYS_SCREEN_DESKTOP, 4).
-% Type wxTextAttrAlignment
--define(wxTEXT_ALIGNMENT_DEFAULT, 0).
--define(wxTEXT_ALIGNMENT_LEFT, 1).
--define(wxTEXT_ALIGNMENT_CENTRE, 2).
--define(wxTEXT_ALIGNMENT_CENTER, ?wxTEXT_ALIGNMENT_CENTRE).
--define(wxTEXT_ALIGNMENT_RIGHT, (?wxTEXT_ALIGNMENT_CENTRE+1)).
--define(wxTEXT_ALIGNMENT_JUSTIFIED, (?wxTEXT_ALIGNMENT_CENTRE+2)).
-% Type wxTextCtrlHitTestResult
--define(wxTE_HT_UNKNOWN, -2).
--define(wxTE_HT_BEFORE, -1).
--define(wxTE_HT_ON_TEXT, 0).
--define(wxTE_HT_BELOW, 1).
--define(wxTE_HT_BEYOND, 2).
-% Type wxToolBarToolStyle
--define(wxTOOL_STYLE_BUTTON, 1).
--define(wxTOOL_STYLE_SEPARATOR, 2).
--define(wxTOOL_STYLE_CONTROL, 3).
-% Type wxTreeItemIcon
--define(wxTreeItemIcon_Normal, 0).
--define(wxTreeItemIcon_Selected, 1).
--define(wxTreeItemIcon_Expanded, 2).
--define(wxTreeItemIcon_SelectedExpanded, 3).
--define(wxTreeItemIcon_Max, 4).
-% Type wxUpdateUI
--define(wxUPDATE_UI_NONE, 0).
--define(wxUPDATE_UI_RECURSE, 1).
--define(wxUPDATE_UI_FROMIDLE, 2).
-% Type wxUpdateUIMode
--define(wxUPDATE_UI_PROCESS_ALL, 0).
--define(wxUPDATE_UI_PROCESS_SPECIFIED, 1).
-% Type wxWindowVariant
+% From "valtext.h"
+-define(wxFILTER_EXCLUDE_CHAR_LIST, 128).
+-define(wxFILTER_INCLUDE_CHAR_LIST, 64).
+-define(wxFILTER_EXCLUDE_LIST, 32).
+-define(wxFILTER_INCLUDE_LIST, 16).
+-define(wxFILTER_NUMERIC, 8).
+-define(wxFILTER_ALPHANUMERIC, 4).
+-define(wxFILTER_ALPHA, 2).
+-define(wxFILTER_ASCII, 1).
+-define(wxFILTER_NONE, 0).
+% From "version.h"
+-define(wxBETA_NUMBER, wxe_util:get_const(wxBETA_NUMBER)).
+-define(wxSUBRELEASE_NUMBER, wxe_util:get_const(wxSUBRELEASE_NUMBER)).
+-define(wxRELEASE_NUMBER, wxe_util:get_const(wxRELEASE_NUMBER)).
+-define(wxMINOR_VERSION, wxe_util:get_const(wxMINOR_VERSION)).
+-define(wxMAJOR_VERSION, wxe_util:get_const(wxMAJOR_VERSION)).
+% From "window.h": wxWindowVariant
-define(wxWINDOW_VARIANT_NORMAL, 0).
-define(wxWINDOW_VARIANT_SMALL, 1).
-define(wxWINDOW_VARIANT_MINI, 2).
-define(wxWINDOW_VARIANT_LARGE, 3).
-define(wxWINDOW_VARIANT_MAX, 4).
-% Type wxXmlResourceFlags
+% From "xmlres.h": wxXmlResourceFlags
-define(wxXRC_USE_LOCALE, 1).
-define(wxXRC_NO_SUBCLASSING, 2).
-define(wxXRC_NO_RELOADING, 4).
diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile
index 6c636bb51f..a9fd468959 100644
--- a/lib/wx/src/Makefile
+++ b/lib/wx/src/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2008-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2008-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
@@ -44,6 +44,8 @@ GEN_FILES = $(wildcard gen/wx*.erl) \
gen/glu.erl \
gen/gl.erl
+GEN_MODS = $(GEN_FILES:gen/%.erl= %,\n )
+
GEN_HRL = \
$(EGEN)/gl_debug.hrl \
$(EGEN)/wxe_debug.hrl \
@@ -56,15 +58,25 @@ EXT_HRL = $(ERLINC)/wx.hrl \
TARGET_FILES = $(ErlMods:%=$(EBIN)/%.beam) $(GEN_FILES:gen/%.erl=$(EBIN)/%.beam)
HEADER_FILES = $(HRL_FILES) $(GEN_HRL) $(EXT_HRL)
+APP_FILE = wx.app
+APP_SRC = $(APP_FILE).src
+APP_TARGET = $(EBIN)/$(APP_FILE)
+
+APPUP_FILE = wx.appup
+APPUP_SRC = $(APPUP_FILE).src
+APPUP_TARGET = $(EBIN)/$(APPUP_FILE)
+
# Targets
-debug opt: $(TARGET_FILES)
+debug opt: $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET)
clean:
rm -f $(TARGET_FILES)
+ rm -f $(APP_TARGET) $(APPUP_TARGET)
rm -f *~
complete_clean:
rm -f $(TARGET_FILES)
+ rm -f $(APP_TARGET) $(APPUP_TARGET)
rm -f $(GEN_FILES)
rm -f $(GenHrl)
rm -f *~
@@ -75,6 +87,17 @@ docs:
archive: opt
(cd ../..; zip -0 wx/$(ARCHIVE) wx wx/ebin wx/ebin/*)
+# ----------------------------------------------------
+# Special Build Targets
+# ----------------------------------------------------
+
+$(APP_TARGET): $(APP_SRC) ../vsn.mk Makefile
+ sed -e 's;%GEN_MODS%;$(GEN_MODS);' $< > [email protected]
+ sed -e 's;%VSN%;$(VSN);' [email protected] > $@
+
+$(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk Makefile
+ sed -e 's;%VSN%;$(VSN);' $< > $@
# Rules
$(EBIN)/%.beam: $(ESRC)/%.erl $(HEADER_FILES)
@@ -97,6 +120,7 @@ release_spec: opt
$(INSTALL_DATA) $(EXT_HRL) $(RELSYSDIR)/include
$(INSTALL_DIR) $(RELSYSDIR)/ebin
$(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin
+ $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) $(RELSYSDIR)/ebin
# $(INSTALL_DATA) ../$(ARCHIVE) $(RELEASE_PATH)/lib
release_docs_spec:
diff --git a/lib/wx/src/gen/gl.erl b/lib/wx/src/gen/gl.erl
index d789f1b72f..62d0ff6aed 100644
--- a/lib/wx/src/gen/gl.erl
+++ b/lib/wx/src/gen/gl.erl
@@ -20,15 +20,15 @@
%% This file is generated DO NOT EDIT
-%% @doc Standard OpenGL api.
+%% @doc Standard OpenGL api.
%% See <a href="http://www.opengl.org/sdk/docs/man/">www.opengl.org</a>
%%
-%% Booleans are represented by integers 0 and 1.
+%% Booleans are represented by integers 0 and 1.
%% @type wx_mem(). see wx.erl on memory allocation functions
%% @type enum(). An integer defined in gl.hrl
%% @type offset(). An integer which is an offset in an array
-%% @type clamp(). A float clamped between 0.0 - 1.0
+%% @type clamp(). A float clamped between 0.0 - 1.0
-module(gl).
-compile(inline).
@@ -216,7 +216,7 @@
stencilClearTagEXT/2]).
-%% API
+%% API
%% @spec (Op::enum(),Value::float()) -> ok
%% @doc See <a href="http://www.opengl.org/sdk/docs/man/xhtml/glAccum.xml">external</a> documentation.
diff --git a/lib/wx/src/gen/gl_debug.hrl b/lib/wx/src/gen/gl_debug.hrl
index 68225197cf..0b8086f24e 100644
--- a/lib/wx/src/gen/gl_debug.hrl
+++ b/lib/wx/src/gen/gl_debug.hrl
@@ -17,7 +17,7 @@
%% %CopyrightEnd%
%% This file is generated DO NOT EDIT
-gldebug_table() ->
+gldebug_table() ->
[
{5037, {gl, accum, 0}},
{5038, {gl, alphaFunc, 0}},
diff --git a/lib/wx/src/gen/glu.erl b/lib/wx/src/gen/glu.erl
index ae4bac4e06..d410c4663d 100644
--- a/lib/wx/src/gen/glu.erl
+++ b/lib/wx/src/gen/glu.erl
@@ -20,15 +20,15 @@
%% This file is generated DO NOT EDIT
-%% @doc A part of the standard OpenGL Utility api.
+%% @doc A part of the standard OpenGL Utility api.
%% See <a href="http://www.opengl.org/sdk/docs/man/">www.opengl.org</a>
%%
-%% Booleans are represented by integers 0 and 1.
+%% Booleans are represented by integers 0 and 1.
%% @type wx_mem(). see wx.erl on memory allocation functions
%% @type enum(). An integer defined in gl.hrl
%% @type offset(). An integer which is an offset in an array
-%% @type clamp(). A float clamped between 0.0 - 1.0
+%% @type clamp(). A float clamped between 0.0 - 1.0
-module(glu).
-compile(inline).
@@ -60,7 +60,7 @@
scaleImage/9,sphere/4,unProject/6,unProject4/9]).
-%% API
+%% API
%% @spec (Vec3, [Vec3]) -> {Triangles, VertexPos}
%% Vec3 = {float(),float(),float()}
@@ -69,8 +69,8 @@
%% @doc General purpose polygon triangulation.
%% The first argument is the normal and the second a list of
%% vertex positions. Returned is a list of indecies of the vertices
-%% and a binary (64bit native float) containing an array of
-%% vertex positions, it starts with the vertices in Vs and
+%% and a binary (64bit native float) containing an array of
+%% vertex positions, it starts with the vertices in Vs and
%% may contain newly created vertices in the end.
tesselate({Nx,Ny,Nz}, Vs) ->
wxe_util:call(5000, <<(length(Vs)):32/native,0:32,
diff --git a/lib/wx/src/gen/wxe_debug.hrl b/lib/wx/src/gen/wxe_debug.hrl
index 68a3b4ccd8..a3416b75c8 100644
--- a/lib/wx/src/gen/wxe_debug.hrl
+++ b/lib/wx/src/gen/wxe_debug.hrl
@@ -770,2512 +770,2512 @@ wxdebug_table() ->
{882, {wxControlWithItems, clear, 0}},
{883, {wxControlWithItems, delete, 1}},
{884, {wxControlWithItems, findString, 2}},
- {886, {wxControlWithItems, getClientData, 1}},
- {888, {wxControlWithItems, setClientData, 2}},
- {889, {wxControlWithItems, getCount, 0}},
- {890, {wxControlWithItems, getSelection, 0}},
- {891, {wxControlWithItems, getString, 1}},
- {892, {wxControlWithItems, getStringSelection, 0}},
- {893, {wxControlWithItems, insert_2, 2}},
- {894, {wxControlWithItems, insert_3, 3}},
- {895, {wxControlWithItems, isEmpty, 0}},
- {896, {wxControlWithItems, select, 1}},
- {897, {wxControlWithItems, setSelection, 1}},
- {898, {wxControlWithItems, setString, 2}},
- {899, {wxControlWithItems, setStringSelection, 1}},
- {902, {wxMenu, new_2, 2}},
- {903, {wxMenu, new_1, 1}},
- {905, {wxMenu, destruct, 0}},
- {906, {wxMenu, append_3, 3}},
- {907, {wxMenu, append_1, 1}},
- {908, {wxMenu, append_4_0, 4}},
- {909, {wxMenu, append_4_1, 4}},
- {910, {wxMenu, appendCheckItem, 3}},
- {911, {wxMenu, appendRadioItem, 3}},
- {912, {wxMenu, appendSeparator, 0}},
- {913, {wxMenu, break, 0}},
- {914, {wxMenu, check, 2}},
- {915, {wxMenu, delete_1_0, 1}},
- {916, {wxMenu, delete_1_1, 1}},
- {917, {wxMenu, destroy_1_0, 1}},
- {918, {wxMenu, destroy_1_1, 1}},
- {919, {wxMenu, enable, 2}},
- {920, {wxMenu, findItem_1, 1}},
- {921, {wxMenu, findItem_2, 2}},
- {922, {wxMenu, findItemByPosition, 1}},
- {923, {wxMenu, getHelpString, 1}},
- {924, {wxMenu, getLabel, 1}},
- {925, {wxMenu, getMenuItemCount, 0}},
- {926, {wxMenu, getMenuItems, 0}},
- {928, {wxMenu, getTitle, 0}},
- {929, {wxMenu, insert_2, 2}},
- {930, {wxMenu, insert_3, 3}},
- {931, {wxMenu, insert_5_1, 5}},
- {932, {wxMenu, insert_5_0, 5}},
- {933, {wxMenu, insertCheckItem, 4}},
- {934, {wxMenu, insertRadioItem, 4}},
- {935, {wxMenu, insertSeparator, 1}},
- {936, {wxMenu, isChecked, 1}},
- {937, {wxMenu, isEnabled, 1}},
- {938, {wxMenu, prepend_1, 1}},
- {939, {wxMenu, prepend_2, 2}},
- {940, {wxMenu, prepend_4_1, 4}},
- {941, {wxMenu, prepend_4_0, 4}},
- {942, {wxMenu, prependCheckItem, 3}},
- {943, {wxMenu, prependRadioItem, 3}},
- {944, {wxMenu, prependSeparator, 0}},
- {945, {wxMenu, remove_1_0, 1}},
- {946, {wxMenu, remove_1_1, 1}},
- {947, {wxMenu, setHelpString, 2}},
- {948, {wxMenu, setLabel, 2}},
- {949, {wxMenu, setTitle, 1}},
- {950, {wxMenuItem, new, 1}},
- {952, {wxMenuItem, destruct, 0}},
- {953, {wxMenuItem, check, 1}},
- {954, {wxMenuItem, enable, 1}},
- {955, {wxMenuItem, getBitmap, 0}},
- {956, {wxMenuItem, getHelp, 0}},
- {957, {wxMenuItem, getId, 0}},
- {958, {wxMenuItem, getKind, 0}},
- {959, {wxMenuItem, getLabel, 0}},
- {960, {wxMenuItem, getLabelFromText, 1}},
- {961, {wxMenuItem, getMenu, 0}},
- {962, {wxMenuItem, getText, 0}},
- {963, {wxMenuItem, getSubMenu, 0}},
- {964, {wxMenuItem, isCheckable, 0}},
- {965, {wxMenuItem, isChecked, 0}},
- {966, {wxMenuItem, isEnabled, 0}},
- {967, {wxMenuItem, isSeparator, 0}},
- {968, {wxMenuItem, isSubMenu, 0}},
- {969, {wxMenuItem, setBitmap, 1}},
- {970, {wxMenuItem, setHelp, 1}},
- {971, {wxMenuItem, setMenu, 1}},
- {972, {wxMenuItem, setSubMenu, 1}},
- {973, {wxMenuItem, setText, 1}},
- {974, {wxToolBar, addControl, 1}},
- {975, {wxToolBar, addSeparator, 0}},
- {976, {wxToolBar, addTool_5, 5}},
- {977, {wxToolBar, addTool_4_0, 4}},
- {978, {wxToolBar, addTool_1, 1}},
- {979, {wxToolBar, addTool_4_1, 4}},
- {980, {wxToolBar, addTool_3, 3}},
- {981, {wxToolBar, addTool_6, 6}},
- {982, {wxToolBar, addCheckTool, 4}},
- {983, {wxToolBar, addRadioTool, 4}},
- {984, {wxToolBar, deleteTool, 1}},
- {985, {wxToolBar, deleteToolByPos, 1}},
- {986, {wxToolBar, enableTool, 2}},
- {987, {wxToolBar, findById, 1}},
- {988, {wxToolBar, findControl, 1}},
- {989, {wxToolBar, findToolForPosition, 2}},
- {990, {wxToolBar, getToolSize, 0}},
- {991, {wxToolBar, getToolBitmapSize, 0}},
- {992, {wxToolBar, getMargins, 0}},
- {993, {wxToolBar, getToolEnabled, 1}},
- {994, {wxToolBar, getToolLongHelp, 1}},
- {995, {wxToolBar, getToolPacking, 0}},
- {996, {wxToolBar, getToolPos, 1}},
- {997, {wxToolBar, getToolSeparation, 0}},
- {998, {wxToolBar, getToolShortHelp, 1}},
- {999, {wxToolBar, getToolState, 1}},
- {1000, {wxToolBar, insertControl, 2}},
- {1001, {wxToolBar, insertSeparator, 1}},
- {1002, {wxToolBar, insertTool_5, 5}},
- {1003, {wxToolBar, insertTool_2, 2}},
- {1004, {wxToolBar, insertTool_4, 4}},
- {1005, {wxToolBar, realize, 0}},
- {1006, {wxToolBar, removeTool, 1}},
- {1007, {wxToolBar, setMargins, 2}},
- {1008, {wxToolBar, setToolBitmapSize, 1}},
- {1009, {wxToolBar, setToolLongHelp, 2}},
- {1010, {wxToolBar, setToolPacking, 1}},
- {1011, {wxToolBar, setToolShortHelp, 2}},
- {1012, {wxToolBar, setToolSeparation, 1}},
- {1013, {wxToolBar, toggleTool, 2}},
- {1015, {wxStatusBar, new_0, 0}},
- {1016, {wxStatusBar, new_2, 2}},
- {1018, {wxStatusBar, destruct, 0}},
- {1019, {wxStatusBar, create, 2}},
- {1020, {wxStatusBar, getFieldRect, 2}},
- {1021, {wxStatusBar, getFieldsCount, 0}},
- {1022, {wxStatusBar, getStatusText, 1}},
- {1023, {wxStatusBar, popStatusText, 1}},
- {1024, {wxStatusBar, pushStatusText, 2}},
- {1025, {wxStatusBar, setFieldsCount, 2}},
- {1026, {wxStatusBar, setMinHeight, 1}},
- {1027, {wxStatusBar, setStatusText, 2}},
- {1028, {wxStatusBar, setStatusWidths, 2}},
- {1029, {wxStatusBar, setStatusStyles, 2}},
- {1030, {wxBitmap, new_0, 0}},
- {1031, {wxBitmap, new_3, 3}},
- {1032, {wxBitmap, new_4, 4}},
- {1033, {wxBitmap, new_2_0, 2}},
- {1034, {wxBitmap, new_2_1, 2}},
- {1035, {wxBitmap, destruct, 0}},
- {1036, {wxBitmap, convertToImage, 0}},
- {1037, {wxBitmap, copyFromIcon, 1}},
- {1038, {wxBitmap, create, 3}},
- {1039, {wxBitmap, getDepth, 0}},
- {1040, {wxBitmap, getHeight, 0}},
- {1041, {wxBitmap, getPalette, 0}},
- {1042, {wxBitmap, getMask, 0}},
- {1043, {wxBitmap, getWidth, 0}},
- {1044, {wxBitmap, getSubBitmap, 1}},
- {1045, {wxBitmap, loadFile, 2}},
- {1046, {wxBitmap, ok, 0}},
- {1047, {wxBitmap, saveFile, 3}},
- {1048, {wxBitmap, setDepth, 1}},
- {1049, {wxBitmap, setHeight, 1}},
- {1050, {wxBitmap, setMask, 1}},
- {1051, {wxBitmap, setPalette, 1}},
- {1052, {wxBitmap, setWidth, 1}},
- {1053, {wxIcon, new_0, 0}},
- {1054, {wxIcon, new_2, 2}},
- {1055, {wxIcon, new_1, 1}},
- {1056, {wxIcon, copyFromBitmap, 1}},
- {1057, {wxIcon, 'Destroy', undefined}},
- {1058, {wxIconBundle, new_0, 0}},
- {1059, {wxIconBundle, new_2, 2}},
- {1060, {wxIconBundle, new_1_0, 1}},
- {1061, {wxIconBundle, new_1_1, 1}},
- {1062, {wxIconBundle, destruct, 0}},
- {1063, {wxIconBundle, addIcon_2, 2}},
- {1064, {wxIconBundle, addIcon_1, 1}},
- {1065, {wxIconBundle, getIcon_1_1, 1}},
- {1066, {wxIconBundle, getIcon_1_0, 1}},
- {1067, {wxCursor, new_0, 0}},
- {1068, {wxCursor, new_1_0, 1}},
- {1069, {wxCursor, new_1_1, 1}},
- {1070, {wxCursor, new_4, 4}},
- {1071, {wxCursor, destruct, 0}},
- {1072, {wxCursor, ok, 0}},
- {1073, {wxMask, new_0, 0}},
- {1074, {wxMask, new_2_1, 2}},
- {1075, {wxMask, new_2_0, 2}},
- {1076, {wxMask, new_1, 1}},
- {1077, {wxMask, destruct, 0}},
- {1078, {wxMask, create_2_1, 2}},
- {1079, {wxMask, create_2_0, 2}},
- {1080, {wxMask, create_1, 1}},
- {1081, {wxImage, new_0, 0}},
- {1082, {wxImage, new_3_0, 3}},
- {1083, {wxImage, new_4, 4}},
- {1084, {wxImage, new_5, 5}},
- {1085, {wxImage, new_2, 2}},
- {1086, {wxImage, new_3_1, 3}},
- {1087, {wxImage, blur, 1}},
- {1088, {wxImage, blurHorizontal, 1}},
- {1089, {wxImage, blurVertical, 1}},
- {1090, {wxImage, convertAlphaToMask, 1}},
- {1091, {wxImage, convertToGreyscale, 1}},
- {1092, {wxImage, convertToMono, 3}},
- {1093, {wxImage, copy, 0}},
- {1094, {wxImage, create_3, 3}},
- {1095, {wxImage, create_4, 4}},
- {1096, {wxImage, create_5, 5}},
- {1097, {wxImage, 'Destroy', 0}},
- {1098, {wxImage, findFirstUnusedColour, 4}},
- {1099, {wxImage, getImageExtWildcard, 0}},
- {1100, {wxImage, getAlpha_2, 2}},
- {1101, {wxImage, getAlpha_0, 0}},
- {1102, {wxImage, getBlue, 2}},
- {1103, {wxImage, getData, 0}},
- {1104, {wxImage, getGreen, 2}},
- {1105, {wxImage, getImageCount, 2}},
- {1106, {wxImage, getHeight, 0}},
- {1107, {wxImage, getMaskBlue, 0}},
- {1108, {wxImage, getMaskGreen, 0}},
- {1109, {wxImage, getMaskRed, 0}},
- {1110, {wxImage, getOrFindMaskColour, 3}},
- {1111, {wxImage, getPalette, 0}},
- {1112, {wxImage, getRed, 2}},
- {1113, {wxImage, getSubImage, 1}},
- {1114, {wxImage, getWidth, 0}},
- {1115, {wxImage, hasAlpha, 0}},
- {1116, {wxImage, hasMask, 0}},
- {1117, {wxImage, getOption, 1}},
- {1118, {wxImage, getOptionInt, 1}},
- {1119, {wxImage, hasOption, 1}},
- {1120, {wxImage, initAlpha, 0}},
- {1121, {wxImage, initStandardHandlers, 0}},
- {1122, {wxImage, isTransparent, 3}},
- {1123, {wxImage, loadFile_2, 2}},
- {1124, {wxImage, loadFile_3, 3}},
- {1125, {wxImage, ok, 0}},
- {1126, {wxImage, removeHandler, 1}},
- {1127, {wxImage, mirror, 1}},
- {1128, {wxImage, replace, 6}},
- {1129, {wxImage, rescale, 3}},
- {1130, {wxImage, resize, 3}},
- {1131, {wxImage, rotate, 3}},
- {1132, {wxImage, rotateHue, 1}},
- {1133, {wxImage, rotate90, 1}},
- {1134, {wxImage, saveFile_1, 1}},
- {1135, {wxImage, saveFile_2_0, 2}},
- {1136, {wxImage, saveFile_2_1, 2}},
- {1137, {wxImage, scale, 3}},
- {1138, {wxImage, size, 3}},
- {1139, {wxImage, setAlpha_3, 3}},
- {1140, {wxImage, setAlpha_2, 2}},
- {1141, {wxImage, setData_2, 2}},
- {1142, {wxImage, setData_4, 4}},
- {1143, {wxImage, setMask, 1}},
- {1144, {wxImage, setMaskColour, 3}},
- {1145, {wxImage, setMaskFromImage, 4}},
- {1146, {wxImage, setOption_2_1, 2}},
- {1147, {wxImage, setOption_2_0, 2}},
- {1148, {wxImage, setPalette, 1}},
- {1149, {wxImage, setRGB_5, 5}},
- {1150, {wxImage, setRGB_4, 4}},
- {1151, {wxImage, 'Destroy', undefined}},
- {1152, {wxBrush, new_0, 0}},
- {1153, {wxBrush, new_2, 2}},
- {1154, {wxBrush, new_1, 1}},
- {1156, {wxBrush, destruct, 0}},
- {1157, {wxBrush, getColour, 0}},
- {1158, {wxBrush, getStipple, 0}},
- {1159, {wxBrush, getStyle, 0}},
- {1160, {wxBrush, isHatch, 0}},
- {1161, {wxBrush, isOk, 0}},
- {1162, {wxBrush, setColour_1, 1}},
- {1163, {wxBrush, setColour_3, 3}},
- {1164, {wxBrush, setStipple, 1}},
- {1165, {wxBrush, setStyle, 1}},
- {1166, {wxPen, new_0, 0}},
- {1167, {wxPen, new_2, 2}},
- {1168, {wxPen, destruct, 0}},
- {1169, {wxPen, getCap, 0}},
- {1170, {wxPen, getColour, 0}},
- {1171, {wxPen, getJoin, 0}},
- {1172, {wxPen, getStyle, 0}},
- {1173, {wxPen, getWidth, 0}},
- {1174, {wxPen, isOk, 0}},
- {1175, {wxPen, setCap, 1}},
- {1176, {wxPen, setColour_1, 1}},
- {1177, {wxPen, setColour_3, 3}},
- {1178, {wxPen, setJoin, 1}},
- {1179, {wxPen, setStyle, 1}},
- {1180, {wxPen, setWidth, 1}},
- {1181, {wxRegion, new_0, 0}},
- {1182, {wxRegion, new_4, 4}},
- {1183, {wxRegion, new_2, 2}},
- {1184, {wxRegion, new_1_1, 1}},
- {1186, {wxRegion, new_1_0, 1}},
- {1188, {wxRegion, destruct, 0}},
- {1189, {wxRegion, clear, 0}},
- {1190, {wxRegion, contains_2, 2}},
- {1191, {wxRegion, contains_1_0, 1}},
- {1192, {wxRegion, contains_4, 4}},
- {1193, {wxRegion, contains_1_1, 1}},
- {1194, {wxRegion, convertToBitmap, 0}},
- {1195, {wxRegion, getBox, 0}},
- {1196, {wxRegion, intersect_4, 4}},
- {1197, {wxRegion, intersect_1_1, 1}},
- {1198, {wxRegion, intersect_1_0, 1}},
- {1199, {wxRegion, isEmpty, 0}},
- {1200, {wxRegion, subtract_4, 4}},
- {1201, {wxRegion, subtract_1_1, 1}},
- {1202, {wxRegion, subtract_1_0, 1}},
- {1203, {wxRegion, offset_2, 2}},
- {1204, {wxRegion, offset_1, 1}},
- {1205, {wxRegion, union_4, 4}},
- {1206, {wxRegion, union_1_2, 1}},
- {1207, {wxRegion, union_1_1, 1}},
- {1208, {wxRegion, union_1_0, 1}},
- {1209, {wxRegion, union_3, 3}},
- {1210, {wxRegion, xor_4, 4}},
- {1211, {wxRegion, xor_1_1, 1}},
- {1212, {wxRegion, xor_1_0, 1}},
- {1213, {wxAcceleratorTable, new_0, 0}},
- {1214, {wxAcceleratorTable, new_2, 2}},
- {1215, {wxAcceleratorTable, destruct, 0}},
- {1216, {wxAcceleratorTable, ok, 0}},
- {1217, {wxAcceleratorEntry, new_1_0, 1}},
- {1218, {wxAcceleratorEntry, new_1_1, 1}},
- {1219, {wxAcceleratorEntry, getCommand, 0}},
- {1220, {wxAcceleratorEntry, getFlags, 0}},
- {1221, {wxAcceleratorEntry, getKeyCode, 0}},
- {1222, {wxAcceleratorEntry, set, 4}},
- {1223, {wxAcceleratorEntry, 'Destroy', undefined}},
- {1228, {wxCaret, new_3, 3}},
- {1229, {wxCaret, new_2, 2}},
- {1231, {wxCaret, destruct, 0}},
- {1232, {wxCaret, create_3, 3}},
- {1233, {wxCaret, create_2, 2}},
- {1234, {wxCaret, getBlinkTime, 0}},
- {1236, {wxCaret, getPosition, 0}},
- {1238, {wxCaret, getSize, 0}},
- {1239, {wxCaret, getWindow, 0}},
- {1240, {wxCaret, hide, 0}},
- {1241, {wxCaret, isOk, 0}},
- {1242, {wxCaret, isVisible, 0}},
- {1243, {wxCaret, move_2, 2}},
- {1244, {wxCaret, move_1, 1}},
- {1245, {wxCaret, setBlinkTime, 1}},
- {1246, {wxCaret, setSize_2, 2}},
- {1247, {wxCaret, setSize_1, 1}},
- {1248, {wxCaret, show, 1}},
- {1249, {wxSizer, add_2_1, 2}},
- {1250, {wxSizer, add_2_0, 2}},
- {1251, {wxSizer, add_3, 3}},
- {1252, {wxSizer, add_2_3, 2}},
- {1253, {wxSizer, add_2_2, 2}},
- {1254, {wxSizer, addSpacer, 1}},
- {1255, {wxSizer, addStretchSpacer, 1}},
- {1256, {wxSizer, calcMin, 0}},
- {1257, {wxSizer, clear, 1}},
- {1258, {wxSizer, detach_1_2, 1}},
- {1259, {wxSizer, detach_1_1, 1}},
- {1260, {wxSizer, detach_1_0, 1}},
- {1261, {wxSizer, fit, 1}},
- {1262, {wxSizer, fitInside, 1}},
- {1263, {wxSizer, getChildren, 0}},
- {1264, {wxSizer, getItem_2_1, 2}},
- {1265, {wxSizer, getItem_2_0, 2}},
- {1266, {wxSizer, getItem_1, 1}},
- {1267, {wxSizer, getSize, 0}},
- {1268, {wxSizer, getPosition, 0}},
- {1269, {wxSizer, getMinSize, 0}},
- {1270, {wxSizer, hide_2_0, 2}},
- {1271, {wxSizer, hide_2_1, 2}},
- {1272, {wxSizer, hide_1, 1}},
- {1273, {wxSizer, insert_3_1, 3}},
- {1274, {wxSizer, insert_3_0, 3}},
- {1275, {wxSizer, insert_4, 4}},
- {1276, {wxSizer, insert_3_3, 3}},
- {1277, {wxSizer, insert_3_2, 3}},
- {1278, {wxSizer, insert_2, 2}},
- {1279, {wxSizer, insertSpacer, 2}},
- {1280, {wxSizer, insertStretchSpacer, 2}},
- {1281, {wxSizer, isShown_1_2, 1}},
- {1282, {wxSizer, isShown_1_1, 1}},
- {1283, {wxSizer, isShown_1_0, 1}},
- {1284, {wxSizer, layout, 0}},
- {1285, {wxSizer, prepend_2_1, 2}},
- {1286, {wxSizer, prepend_2_0, 2}},
- {1287, {wxSizer, prepend_3, 3}},
- {1288, {wxSizer, prepend_2_3, 2}},
- {1289, {wxSizer, prepend_2_2, 2}},
- {1290, {wxSizer, prepend_1, 1}},
- {1291, {wxSizer, prependSpacer, 1}},
- {1292, {wxSizer, prependStretchSpacer, 1}},
- {1293, {wxSizer, recalcSizes, 0}},
- {1294, {wxSizer, remove_1_1, 1}},
- {1295, {wxSizer, remove_1_0, 1}},
- {1296, {wxSizer, replace_3_1, 3}},
- {1297, {wxSizer, replace_3_0, 3}},
- {1298, {wxSizer, replace_2, 2}},
- {1299, {wxSizer, setDimension, 4}},
- {1300, {wxSizer, setMinSize_2, 2}},
- {1301, {wxSizer, setMinSize_1, 1}},
- {1302, {wxSizer, setItemMinSize_3_2, 3}},
- {1303, {wxSizer, setItemMinSize_2_2, 2}},
- {1304, {wxSizer, setItemMinSize_3_1, 3}},
- {1305, {wxSizer, setItemMinSize_2_1, 2}},
- {1306, {wxSizer, setItemMinSize_3_0, 3}},
- {1307, {wxSizer, setItemMinSize_2_0, 2}},
- {1308, {wxSizer, setSizeHints, 1}},
- {1309, {wxSizer, setVirtualSizeHints, 1}},
- {1310, {wxSizer, show_2_2, 2}},
- {1311, {wxSizer, show_2_1, 2}},
- {1312, {wxSizer, show_2_0, 2}},
- {1313, {wxSizer, show_1, 1}},
- {1314, {wxSizerFlags, new, 1}},
- {1315, {wxSizerFlags, align, 1}},
- {1316, {wxSizerFlags, border_2, 2}},
- {1317, {wxSizerFlags, border_1, 1}},
- {1318, {wxSizerFlags, center, 0}},
- {1319, {wxSizerFlags, centre, 0}},
- {1320, {wxSizerFlags, expand, 0}},
- {1321, {wxSizerFlags, left, 0}},
- {1322, {wxSizerFlags, proportion, 1}},
- {1323, {wxSizerFlags, right, 0}},
- {1324, {wxSizerFlags, 'Destroy', undefined}},
- {1325, {wxSizerItem, new_5_1, 5}},
- {1326, {wxSizerItem, new_2_1, 2}},
- {1327, {wxSizerItem, new_5_0, 5}},
- {1328, {wxSizerItem, new_2_0, 2}},
- {1329, {wxSizerItem, new_6, 6}},
- {1330, {wxSizerItem, new_3, 3}},
- {1331, {wxSizerItem, new_0, 0}},
- {1332, {wxSizerItem, destruct, 0}},
- {1333, {wxSizerItem, calcMin, 0}},
- {1334, {wxSizerItem, deleteWindows, 0}},
- {1335, {wxSizerItem, detachSizer, 0}},
- {1336, {wxSizerItem, getBorder, 0}},
- {1337, {wxSizerItem, getFlag, 0}},
- {1338, {wxSizerItem, getMinSize, 0}},
- {1339, {wxSizerItem, getPosition, 0}},
- {1340, {wxSizerItem, getProportion, 0}},
- {1341, {wxSizerItem, getRatio, 0}},
- {1342, {wxSizerItem, getRect, 0}},
- {1343, {wxSizerItem, getSize, 0}},
- {1344, {wxSizerItem, getSizer, 0}},
- {1345, {wxSizerItem, getSpacer, 0}},
- {1346, {wxSizerItem, getUserData, 0}},
- {1347, {wxSizerItem, getWindow, 0}},
- {1348, {wxSizerItem, isSizer, 0}},
- {1349, {wxSizerItem, isShown, 0}},
- {1350, {wxSizerItem, isSpacer, 0}},
- {1351, {wxSizerItem, isWindow, 0}},
- {1352, {wxSizerItem, setBorder, 1}},
- {1353, {wxSizerItem, setDimension, 2}},
- {1354, {wxSizerItem, setFlag, 1}},
- {1355, {wxSizerItem, setInitSize, 2}},
- {1356, {wxSizerItem, setMinSize_1, 1}},
- {1357, {wxSizerItem, setMinSize_2, 2}},
- {1358, {wxSizerItem, setProportion, 1}},
- {1359, {wxSizerItem, setRatio_2, 2}},
- {1360, {wxSizerItem, setRatio_1_1, 1}},
- {1361, {wxSizerItem, setRatio_1_0, 1}},
- {1362, {wxSizerItem, setSizer, 1}},
- {1363, {wxSizerItem, setSpacer_1, 1}},
- {1364, {wxSizerItem, setSpacer_2, 2}},
- {1365, {wxSizerItem, setWindow, 1}},
- {1366, {wxSizerItem, show, 1}},
- {1367, {wxBoxSizer, new, 1}},
- {1368, {wxBoxSizer, getOrientation, 0}},
- {1369, {wxBoxSizer, 'Destroy', undefined}},
- {1370, {wxStaticBoxSizer, new_2, 2}},
- {1371, {wxStaticBoxSizer, new_3, 3}},
- {1372, {wxStaticBoxSizer, getStaticBox, 0}},
- {1373, {wxStaticBoxSizer, 'Destroy', undefined}},
- {1374, {wxGridSizer, new_4, 4}},
- {1375, {wxGridSizer, new_2, 2}},
- {1376, {wxGridSizer, getCols, 0}},
- {1377, {wxGridSizer, getHGap, 0}},
- {1378, {wxGridSizer, getRows, 0}},
- {1379, {wxGridSizer, getVGap, 0}},
- {1380, {wxGridSizer, setCols, 1}},
- {1381, {wxGridSizer, setHGap, 1}},
- {1382, {wxGridSizer, setRows, 1}},
- {1383, {wxGridSizer, setVGap, 1}},
- {1384, {wxGridSizer, 'Destroy', undefined}},
- {1385, {wxFlexGridSizer, new_4, 4}},
- {1386, {wxFlexGridSizer, new_2, 2}},
- {1387, {wxFlexGridSizer, addGrowableCol, 2}},
- {1388, {wxFlexGridSizer, addGrowableRow, 2}},
- {1389, {wxFlexGridSizer, getFlexibleDirection, 0}},
- {1390, {wxFlexGridSizer, getNonFlexibleGrowMode, 0}},
- {1391, {wxFlexGridSizer, removeGrowableCol, 1}},
- {1392, {wxFlexGridSizer, removeGrowableRow, 1}},
- {1393, {wxFlexGridSizer, setFlexibleDirection, 1}},
- {1394, {wxFlexGridSizer, setNonFlexibleGrowMode, 1}},
- {1395, {wxFlexGridSizer, 'Destroy', undefined}},
- {1396, {wxGridBagSizer, new, 1}},
- {1397, {wxGridBagSizer, add_3_2, 3}},
- {1398, {wxGridBagSizer, add_3_1, 3}},
- {1399, {wxGridBagSizer, add_4, 4}},
- {1400, {wxGridBagSizer, add_1_0, 1}},
- {1401, {wxGridBagSizer, add_2_1, 2}},
- {1402, {wxGridBagSizer, add_2_0, 2}},
- {1403, {wxGridBagSizer, add_3_0, 3}},
- {1404, {wxGridBagSizer, add_1_1, 1}},
- {1405, {wxGridBagSizer, calcMin, 0}},
- {1406, {wxGridBagSizer, checkForIntersection_2, 2}},
- {1407, {wxGridBagSizer, checkForIntersection_3, 3}},
- {1408, {wxGridBagSizer, findItem_1_1, 1}},
- {1409, {wxGridBagSizer, findItem_1_0, 1}},
- {1410, {wxGridBagSizer, findItemAtPoint, 1}},
- {1411, {wxGridBagSizer, findItemAtPosition, 1}},
- {1412, {wxGridBagSizer, findItemWithData, 1}},
- {1413, {wxGridBagSizer, getCellSize, 2}},
- {1414, {wxGridBagSizer, getEmptyCellSize, 0}},
- {1415, {wxGridBagSizer, getItemPosition_1_2, 1}},
- {1416, {wxGridBagSizer, getItemPosition_1_1, 1}},
- {1417, {wxGridBagSizer, getItemPosition_1_0, 1}},
- {1418, {wxGridBagSizer, getItemSpan_1_2, 1}},
- {1419, {wxGridBagSizer, getItemSpan_1_1, 1}},
- {1420, {wxGridBagSizer, getItemSpan_1_0, 1}},
- {1421, {wxGridBagSizer, setEmptyCellSize, 1}},
- {1422, {wxGridBagSizer, setItemPosition_2_2, 2}},
- {1423, {wxGridBagSizer, setItemPosition_2_1, 2}},
- {1424, {wxGridBagSizer, setItemPosition_2_0, 2}},
- {1425, {wxGridBagSizer, setItemSpan_2_2, 2}},
- {1426, {wxGridBagSizer, setItemSpan_2_1, 2}},
- {1427, {wxGridBagSizer, setItemSpan_2_0, 2}},
- {1428, {wxGridBagSizer, 'Destroy', undefined}},
- {1429, {wxStdDialogButtonSizer, new, 0}},
- {1430, {wxStdDialogButtonSizer, addButton, 1}},
- {1431, {wxStdDialogButtonSizer, realize, 0}},
- {1432, {wxStdDialogButtonSizer, setAffirmativeButton, 1}},
- {1433, {wxStdDialogButtonSizer, setCancelButton, 1}},
- {1434, {wxStdDialogButtonSizer, setNegativeButton, 1}},
- {1435, {wxStdDialogButtonSizer, 'Destroy', undefined}},
- {1436, {wxFont, new_0, 0}},
- {1437, {wxFont, new_1, 1}},
- {1438, {wxFont, new_5, 5}},
- {1440, {wxFont, destruct, 0}},
- {1441, {wxFont, isFixedWidth, 0}},
- {1442, {wxFont, getDefaultEncoding, 0}},
- {1443, {wxFont, getFaceName, 0}},
- {1444, {wxFont, getFamily, 0}},
- {1445, {wxFont, getNativeFontInfoDesc, 0}},
- {1446, {wxFont, getNativeFontInfoUserDesc, 0}},
- {1447, {wxFont, getPointSize, 0}},
- {1448, {wxFont, getStyle, 0}},
- {1449, {wxFont, getUnderlined, 0}},
- {1450, {wxFont, getWeight, 0}},
- {1451, {wxFont, ok, 0}},
- {1452, {wxFont, setDefaultEncoding, 1}},
- {1453, {wxFont, setFaceName, 1}},
- {1454, {wxFont, setFamily, 1}},
- {1455, {wxFont, setPointSize, 1}},
- {1456, {wxFont, setStyle, 1}},
- {1457, {wxFont, setUnderlined, 1}},
- {1458, {wxFont, setWeight, 1}},
- {1459, {wxToolTip, enable, 1}},
- {1460, {wxToolTip, setDelay, 1}},
- {1461, {wxToolTip, new, 1}},
- {1462, {wxToolTip, setTip, 1}},
- {1463, {wxToolTip, getTip, 0}},
- {1464, {wxToolTip, getWindow, 0}},
- {1465, {wxToolTip, 'Destroy', undefined}},
- {1467, {wxButton, new_3, 3}},
- {1468, {wxButton, new_0, 0}},
- {1469, {wxButton, destruct, 0}},
- {1470, {wxButton, create, 3}},
- {1471, {wxButton, getDefaultSize, 0}},
- {1472, {wxButton, setDefault, 0}},
- {1473, {wxButton, setLabel, 1}},
- {1475, {wxBitmapButton, new_4, 4}},
- {1476, {wxBitmapButton, new_0, 0}},
- {1477, {wxBitmapButton, create, 4}},
- {1478, {wxBitmapButton, getBitmapDisabled, 0}},
- {1480, {wxBitmapButton, getBitmapFocus, 0}},
- {1482, {wxBitmapButton, getBitmapLabel, 0}},
- {1484, {wxBitmapButton, getBitmapSelected, 0}},
- {1486, {wxBitmapButton, setBitmapDisabled, 1}},
- {1487, {wxBitmapButton, setBitmapFocus, 1}},
- {1488, {wxBitmapButton, setBitmapLabel, 1}},
- {1489, {wxBitmapButton, setBitmapSelected, 1}},
- {1490, {wxBitmapButton, 'Destroy', undefined}},
- {1491, {wxToggleButton, new_0, 0}},
- {1492, {wxToggleButton, new_4, 4}},
- {1493, {wxToggleButton, create, 4}},
- {1494, {wxToggleButton, getValue, 0}},
- {1495, {wxToggleButton, setValue, 1}},
- {1496, {wxToggleButton, 'Destroy', undefined}},
- {1497, {wxCalendarCtrl, new_0, 0}},
- {1498, {wxCalendarCtrl, new_3, 3}},
- {1499, {wxCalendarCtrl, create, 3}},
- {1500, {wxCalendarCtrl, destruct, 0}},
- {1501, {wxCalendarCtrl, setDate, 1}},
- {1502, {wxCalendarCtrl, getDate, 0}},
- {1503, {wxCalendarCtrl, enableYearChange, 1}},
- {1504, {wxCalendarCtrl, enableMonthChange, 1}},
- {1505, {wxCalendarCtrl, enableHolidayDisplay, 1}},
- {1506, {wxCalendarCtrl, setHeaderColours, 2}},
- {1507, {wxCalendarCtrl, getHeaderColourFg, 0}},
- {1508, {wxCalendarCtrl, getHeaderColourBg, 0}},
- {1509, {wxCalendarCtrl, setHighlightColours, 2}},
- {1510, {wxCalendarCtrl, getHighlightColourFg, 0}},
- {1511, {wxCalendarCtrl, getHighlightColourBg, 0}},
- {1512, {wxCalendarCtrl, setHolidayColours, 2}},
- {1513, {wxCalendarCtrl, getHolidayColourFg, 0}},
- {1514, {wxCalendarCtrl, getHolidayColourBg, 0}},
- {1515, {wxCalendarCtrl, getAttr, 1}},
- {1516, {wxCalendarCtrl, setAttr, 2}},
- {1517, {wxCalendarCtrl, setHoliday, 1}},
- {1518, {wxCalendarCtrl, resetAttr, 1}},
- {1519, {wxCalendarCtrl, hitTest, 2}},
- {1520, {wxCalendarDateAttr, new_0, 0}},
- {1521, {wxCalendarDateAttr, new_2_1, 2}},
- {1522, {wxCalendarDateAttr, new_2_0, 2}},
- {1523, {wxCalendarDateAttr, setTextColour, 1}},
- {1524, {wxCalendarDateAttr, setBackgroundColour, 1}},
- {1525, {wxCalendarDateAttr, setBorderColour, 1}},
- {1526, {wxCalendarDateAttr, setFont, 1}},
- {1527, {wxCalendarDateAttr, setBorder, 1}},
- {1528, {wxCalendarDateAttr, setHoliday, 1}},
- {1529, {wxCalendarDateAttr, hasTextColour, 0}},
- {1530, {wxCalendarDateAttr, hasBackgroundColour, 0}},
- {1531, {wxCalendarDateAttr, hasBorderColour, 0}},
- {1532, {wxCalendarDateAttr, hasFont, 0}},
- {1533, {wxCalendarDateAttr, hasBorder, 0}},
- {1534, {wxCalendarDateAttr, isHoliday, 0}},
- {1535, {wxCalendarDateAttr, getTextColour, 0}},
- {1536, {wxCalendarDateAttr, getBackgroundColour, 0}},
- {1537, {wxCalendarDateAttr, getBorderColour, 0}},
- {1538, {wxCalendarDateAttr, getFont, 0}},
- {1539, {wxCalendarDateAttr, getBorder, 0}},
- {1540, {wxCalendarDateAttr, 'Destroy', undefined}},
- {1542, {wxCheckBox, new_4, 4}},
- {1543, {wxCheckBox, new_0, 0}},
- {1544, {wxCheckBox, create, 4}},
- {1545, {wxCheckBox, getValue, 0}},
- {1546, {wxCheckBox, get3StateValue, 0}},
- {1547, {wxCheckBox, is3rdStateAllowedForUser, 0}},
- {1548, {wxCheckBox, is3State, 0}},
- {1549, {wxCheckBox, isChecked, 0}},
- {1550, {wxCheckBox, setValue, 1}},
- {1551, {wxCheckBox, set3StateValue, 1}},
- {1552, {wxCheckBox, 'Destroy', undefined}},
- {1553, {wxCheckListBox, new_0, 0}},
- {1555, {wxCheckListBox, new_3, 3}},
- {1556, {wxCheckListBox, check, 2}},
- {1557, {wxCheckListBox, isChecked, 1}},
- {1558, {wxCheckListBox, 'Destroy', undefined}},
- {1561, {wxChoice, new_3, 3}},
- {1562, {wxChoice, new_0, 0}},
- {1564, {wxChoice, destruct, 0}},
- {1566, {wxChoice, create, 6}},
- {1567, {wxChoice, delete, 1}},
- {1568, {wxChoice, getColumns, 0}},
- {1569, {wxChoice, setColumns, 1}},
- {1570, {wxComboBox, new_0, 0}},
- {1572, {wxComboBox, new_3, 3}},
- {1573, {wxComboBox, destruct, 0}},
- {1575, {wxComboBox, create, 7}},
- {1576, {wxComboBox, canCopy, 0}},
- {1577, {wxComboBox, canCut, 0}},
- {1578, {wxComboBox, canPaste, 0}},
- {1579, {wxComboBox, canRedo, 0}},
- {1580, {wxComboBox, canUndo, 0}},
- {1581, {wxComboBox, copy, 0}},
- {1582, {wxComboBox, cut, 0}},
- {1583, {wxComboBox, getInsertionPoint, 0}},
- {1584, {wxComboBox, getLastPosition, 0}},
- {1585, {wxComboBox, getValue, 0}},
- {1586, {wxComboBox, paste, 0}},
- {1587, {wxComboBox, redo, 0}},
- {1588, {wxComboBox, replace, 3}},
- {1589, {wxComboBox, remove, 2}},
- {1590, {wxComboBox, setInsertionPoint, 1}},
- {1591, {wxComboBox, setInsertionPointEnd, 0}},
- {1592, {wxComboBox, setSelection_1, 1}},
- {1593, {wxComboBox, setSelection_2, 2}},
- {1594, {wxComboBox, setValue, 1}},
- {1595, {wxComboBox, undo, 0}},
- {1596, {wxGauge, new_0, 0}},
- {1597, {wxGauge, new_4, 4}},
- {1598, {wxGauge, create, 4}},
- {1599, {wxGauge, getBezelFace, 0}},
- {1600, {wxGauge, getRange, 0}},
- {1601, {wxGauge, getShadowWidth, 0}},
- {1602, {wxGauge, getValue, 0}},
- {1603, {wxGauge, isVertical, 0}},
- {1604, {wxGauge, setBezelFace, 1}},
- {1605, {wxGauge, setRange, 1}},
- {1606, {wxGauge, setShadowWidth, 1}},
- {1607, {wxGauge, setValue, 1}},
- {1608, {wxGauge, pulse, 0}},
- {1609, {wxGauge, 'Destroy', undefined}},
- {1610, {wxGenericDirCtrl, new_0, 0}},
- {1611, {wxGenericDirCtrl, new_2, 2}},
- {1612, {wxGenericDirCtrl, destruct, 0}},
- {1613, {wxGenericDirCtrl, create, 2}},
- {1614, {wxGenericDirCtrl, init, 0}},
- {1615, {wxGenericDirCtrl, collapseTree, 0}},
- {1616, {wxGenericDirCtrl, expandPath, 1}},
- {1617, {wxGenericDirCtrl, getDefaultPath, 0}},
- {1618, {wxGenericDirCtrl, getPath, 0}},
- {1619, {wxGenericDirCtrl, getFilePath, 0}},
- {1620, {wxGenericDirCtrl, getFilter, 0}},
- {1621, {wxGenericDirCtrl, getFilterIndex, 0}},
- {1622, {wxGenericDirCtrl, getRootId, 0}},
- {1623, {wxGenericDirCtrl, getTreeCtrl, 0}},
- {1624, {wxGenericDirCtrl, reCreateTree, 0}},
- {1625, {wxGenericDirCtrl, setDefaultPath, 1}},
- {1626, {wxGenericDirCtrl, setFilter, 1}},
- {1627, {wxGenericDirCtrl, setFilterIndex, 1}},
- {1628, {wxGenericDirCtrl, setPath, 1}},
- {1630, {wxStaticBox, new_4, 4}},
- {1631, {wxStaticBox, new_0, 0}},
- {1632, {wxStaticBox, create, 4}},
- {1633, {wxStaticBox, 'Destroy', undefined}},
- {1635, {wxStaticLine, new_2, 2}},
- {1636, {wxStaticLine, new_0, 0}},
- {1637, {wxStaticLine, create, 2}},
- {1638, {wxStaticLine, isVertical, 0}},
- {1639, {wxStaticLine, getDefaultSize, 0}},
- {1640, {wxStaticLine, 'Destroy', undefined}},
- {1643, {wxListBox, new_3, 3}},
- {1644, {wxListBox, new_0, 0}},
- {1646, {wxListBox, destruct, 0}},
- {1648, {wxListBox, create, 6}},
- {1649, {wxListBox, deselect, 1}},
- {1650, {wxListBox, getSelections, 1}},
- {1651, {wxListBox, insertItems, 2}},
- {1652, {wxListBox, isSelected, 1}},
- {1654, {wxListBox, set, 2}},
- {1655, {wxListBox, hitTest, 1}},
- {1656, {wxListBox, setFirstItem_1_0, 1}},
- {1657, {wxListBox, setFirstItem_1_1, 1}},
- {1658, {wxListCtrl, new_0, 0}},
- {1659, {wxListCtrl, new_2, 2}},
- {1660, {wxListCtrl, arrange, 1}},
- {1661, {wxListCtrl, assignImageList, 2}},
- {1662, {wxListCtrl, clearAll, 0}},
- {1663, {wxListCtrl, create, 2}},
- {1664, {wxListCtrl, deleteAllItems, 0}},
- {1665, {wxListCtrl, deleteColumn, 1}},
- {1666, {wxListCtrl, deleteItem, 1}},
- {1667, {wxListCtrl, editLabel, 1}},
- {1668, {wxListCtrl, ensureVisible, 1}},
- {1669, {wxListCtrl, findItem_3_0, 3}},
- {1670, {wxListCtrl, findItem_3_1, 3}},
- {1671, {wxListCtrl, getColumn, 2}},
- {1672, {wxListCtrl, getColumnCount, 0}},
- {1673, {wxListCtrl, getColumnWidth, 1}},
- {1674, {wxListCtrl, getCountPerPage, 0}},
- {1675, {wxListCtrl, getEditControl, 0}},
- {1676, {wxListCtrl, getImageList, 1}},
- {1677, {wxListCtrl, getItem, 1}},
- {1678, {wxListCtrl, getItemBackgroundColour, 1}},
- {1679, {wxListCtrl, getItemCount, 0}},
- {1680, {wxListCtrl, getItemData, 1}},
- {1681, {wxListCtrl, getItemFont, 1}},
- {1682, {wxListCtrl, getItemPosition, 2}},
- {1683, {wxListCtrl, getItemRect, 3}},
- {1684, {wxListCtrl, getItemSpacing, 0}},
- {1685, {wxListCtrl, getItemState, 2}},
- {1686, {wxListCtrl, getItemText, 1}},
- {1687, {wxListCtrl, getItemTextColour, 1}},
- {1688, {wxListCtrl, getNextItem, 2}},
- {1689, {wxListCtrl, getSelectedItemCount, 0}},
- {1690, {wxListCtrl, getTextColour, 0}},
- {1691, {wxListCtrl, getTopItem, 0}},
- {1692, {wxListCtrl, getViewRect, 0}},
- {1693, {wxListCtrl, hitTest, 2}},
- {1694, {wxListCtrl, insertColumn_2, 2}},
- {1695, {wxListCtrl, insertColumn_3, 3}},
- {1696, {wxListCtrl, insertItem_1, 1}},
- {1697, {wxListCtrl, insertItem_2_1, 2}},
- {1698, {wxListCtrl, insertItem_2_0, 2}},
- {1699, {wxListCtrl, insertItem_3, 3}},
- {1700, {wxListCtrl, refreshItem, 1}},
- {1701, {wxListCtrl, refreshItems, 2}},
- {1702, {wxListCtrl, scrollList, 2}},
- {1703, {wxListCtrl, setBackgroundColour, 1}},
- {1704, {wxListCtrl, setColumn, 2}},
- {1705, {wxListCtrl, setColumnWidth, 2}},
- {1706, {wxListCtrl, setImageList, 2}},
- {1707, {wxListCtrl, setItem_1, 1}},
- {1708, {wxListCtrl, setItem_4, 4}},
- {1709, {wxListCtrl, setItemBackgroundColour, 2}},
- {1710, {wxListCtrl, setItemCount, 1}},
- {1711, {wxListCtrl, setItemData, 2}},
- {1712, {wxListCtrl, setItemFont, 2}},
- {1713, {wxListCtrl, setItemImage, 3}},
- {1714, {wxListCtrl, setItemColumnImage, 3}},
- {1715, {wxListCtrl, setItemPosition, 2}},
- {1716, {wxListCtrl, setItemState, 3}},
- {1717, {wxListCtrl, setItemText, 2}},
- {1718, {wxListCtrl, setItemTextColour, 2}},
- {1719, {wxListCtrl, setSingleStyle, 2}},
- {1720, {wxListCtrl, setTextColour, 1}},
- {1721, {wxListCtrl, setWindowStyleFlag, 1}},
- {1722, {wxListCtrl, sortItems, 2}},
- {1723, {wxListCtrl, 'Destroy', undefined}},
- {1724, {wxListView, clearColumnImage, 1}},
- {1725, {wxListView, focus, 1}},
- {1726, {wxListView, getFirstSelected, 0}},
- {1727, {wxListView, getFocusedItem, 0}},
- {1728, {wxListView, getNextSelected, 1}},
- {1729, {wxListView, isSelected, 1}},
- {1730, {wxListView, select, 2}},
- {1731, {wxListView, setColumnImage, 2}},
- {1732, {wxListItem, new_0, 0}},
- {1733, {wxListItem, new_1, 1}},
- {1734, {wxListItem, destruct, 0}},
- {1735, {wxListItem, clear, 0}},
- {1736, {wxListItem, getAlign, 0}},
- {1737, {wxListItem, getBackgroundColour, 0}},
- {1738, {wxListItem, getColumn, 0}},
- {1739, {wxListItem, getFont, 0}},
- {1740, {wxListItem, getId, 0}},
- {1741, {wxListItem, getImage, 0}},
- {1742, {wxListItem, getMask, 0}},
- {1743, {wxListItem, getState, 0}},
- {1744, {wxListItem, getText, 0}},
- {1745, {wxListItem, getTextColour, 0}},
- {1746, {wxListItem, getWidth, 0}},
- {1747, {wxListItem, setAlign, 1}},
- {1748, {wxListItem, setBackgroundColour, 1}},
- {1749, {wxListItem, setColumn, 1}},
- {1750, {wxListItem, setFont, 1}},
- {1751, {wxListItem, setId, 1}},
- {1752, {wxListItem, setImage, 1}},
- {1753, {wxListItem, setMask, 1}},
- {1754, {wxListItem, setState, 1}},
- {1755, {wxListItem, setStateMask, 1}},
- {1756, {wxListItem, setText, 1}},
- {1757, {wxListItem, setTextColour, 1}},
- {1758, {wxListItem, setWidth, 1}},
- {1759, {wxImageList, new_0, 0}},
- {1760, {wxImageList, new_3, 3}},
- {1761, {wxImageList, add_1, 1}},
- {1762, {wxImageList, add_2_0, 2}},
- {1763, {wxImageList, add_2_1, 2}},
- {1764, {wxImageList, create, 3}},
- {1766, {wxImageList, draw, 5}},
- {1767, {wxImageList, getBitmap, 1}},
- {1768, {wxImageList, getIcon, 1}},
- {1769, {wxImageList, getImageCount, 0}},
- {1770, {wxImageList, getSize, 3}},
- {1771, {wxImageList, remove, 1}},
- {1772, {wxImageList, removeAll, 0}},
- {1773, {wxImageList, replace_2, 2}},
- {1774, {wxImageList, replace_3, 3}},
- {1775, {wxImageList, 'Destroy', undefined}},
- {1776, {wxTextAttr, new_0, 0}},
- {1777, {wxTextAttr, new_2, 2}},
- {1778, {wxTextAttr, getAlignment, 0}},
- {1779, {wxTextAttr, getBackgroundColour, 0}},
- {1780, {wxTextAttr, getFont, 0}},
- {1781, {wxTextAttr, getLeftIndent, 0}},
- {1782, {wxTextAttr, getLeftSubIndent, 0}},
- {1783, {wxTextAttr, getRightIndent, 0}},
- {1784, {wxTextAttr, getTabs, 0}},
- {1785, {wxTextAttr, getTextColour, 0}},
- {1786, {wxTextAttr, hasBackgroundColour, 0}},
- {1787, {wxTextAttr, hasFont, 0}},
- {1788, {wxTextAttr, hasTextColour, 0}},
- {1789, {wxTextAttr, getFlags, 0}},
- {1790, {wxTextAttr, isDefault, 0}},
- {1791, {wxTextAttr, setAlignment, 1}},
- {1792, {wxTextAttr, setBackgroundColour, 1}},
- {1793, {wxTextAttr, setFlags, 1}},
- {1794, {wxTextAttr, setFont, 2}},
- {1795, {wxTextAttr, setLeftIndent, 2}},
- {1796, {wxTextAttr, setRightIndent, 1}},
- {1797, {wxTextAttr, setTabs, 1}},
- {1798, {wxTextAttr, setTextColour, 1}},
- {1799, {wxTextAttr, 'Destroy', undefined}},
- {1801, {wxTextCtrl, new_3, 3}},
- {1802, {wxTextCtrl, new_0, 0}},
- {1804, {wxTextCtrl, destruct, 0}},
- {1805, {wxTextCtrl, appendText, 1}},
- {1806, {wxTextCtrl, canCopy, 0}},
- {1807, {wxTextCtrl, canCut, 0}},
- {1808, {wxTextCtrl, canPaste, 0}},
- {1809, {wxTextCtrl, canRedo, 0}},
- {1810, {wxTextCtrl, canUndo, 0}},
- {1811, {wxTextCtrl, clear, 0}},
- {1812, {wxTextCtrl, copy, 0}},
- {1813, {wxTextCtrl, create, 3}},
- {1814, {wxTextCtrl, cut, 0}},
- {1815, {wxTextCtrl, discardEdits, 0}},
- {1816, {wxTextCtrl, emulateKeyPress, 1}},
- {1817, {wxTextCtrl, getDefaultStyle, 0}},
- {1818, {wxTextCtrl, getInsertionPoint, 0}},
- {1819, {wxTextCtrl, getLastPosition, 0}},
- {1820, {wxTextCtrl, getLineLength, 1}},
- {1821, {wxTextCtrl, getLineText, 1}},
- {1822, {wxTextCtrl, getNumberOfLines, 0}},
- {1823, {wxTextCtrl, getRange, 2}},
- {1824, {wxTextCtrl, getSelection, 2}},
- {1825, {wxTextCtrl, getStringSelection, 0}},
- {1826, {wxTextCtrl, getStyle, 2}},
- {1827, {wxTextCtrl, getValue, 0}},
- {1828, {wxTextCtrl, isEditable, 0}},
- {1829, {wxTextCtrl, isModified, 0}},
- {1830, {wxTextCtrl, isMultiLine, 0}},
- {1831, {wxTextCtrl, isSingleLine, 0}},
- {1832, {wxTextCtrl, loadFile, 2}},
- {1833, {wxTextCtrl, markDirty, 0}},
- {1834, {wxTextCtrl, paste, 0}},
- {1835, {wxTextCtrl, positionToXY, 3}},
- {1836, {wxTextCtrl, redo, 0}},
- {1837, {wxTextCtrl, remove, 2}},
- {1838, {wxTextCtrl, replace, 3}},
- {1839, {wxTextCtrl, saveFile, 1}},
- {1840, {wxTextCtrl, setDefaultStyle, 1}},
- {1841, {wxTextCtrl, setEditable, 1}},
- {1842, {wxTextCtrl, setInsertionPoint, 1}},
- {1843, {wxTextCtrl, setInsertionPointEnd, 0}},
- {1845, {wxTextCtrl, setMaxLength, 1}},
- {1846, {wxTextCtrl, setSelection, 2}},
- {1847, {wxTextCtrl, setStyle, 3}},
- {1848, {wxTextCtrl, setValue, 1}},
- {1849, {wxTextCtrl, showPosition, 1}},
- {1850, {wxTextCtrl, undo, 0}},
- {1851, {wxTextCtrl, writeText, 1}},
- {1852, {wxTextCtrl, xYToPosition, 2}},
- {1855, {wxNotebook, new_0, 0}},
- {1856, {wxNotebook, new_3, 3}},
- {1857, {wxNotebook, destruct, 0}},
- {1858, {wxNotebook, addPage, 3}},
- {1859, {wxNotebook, advanceSelection, 1}},
- {1860, {wxNotebook, assignImageList, 1}},
- {1861, {wxNotebook, create, 3}},
- {1862, {wxNotebook, deleteAllPages, 0}},
- {1863, {wxNotebook, deletePage, 1}},
- {1864, {wxNotebook, removePage, 1}},
- {1865, {wxNotebook, getCurrentPage, 0}},
- {1866, {wxNotebook, getImageList, 0}},
- {1868, {wxNotebook, getPage, 1}},
- {1869, {wxNotebook, getPageCount, 0}},
- {1870, {wxNotebook, getPageImage, 1}},
- {1871, {wxNotebook, getPageText, 1}},
- {1872, {wxNotebook, getRowCount, 0}},
- {1873, {wxNotebook, getSelection, 0}},
- {1874, {wxNotebook, getThemeBackgroundColour, 0}},
- {1876, {wxNotebook, hitTest, 2}},
- {1878, {wxNotebook, insertPage, 4}},
- {1879, {wxNotebook, setImageList, 1}},
- {1880, {wxNotebook, setPadding, 1}},
- {1881, {wxNotebook, setPageSize, 1}},
- {1882, {wxNotebook, setPageImage, 2}},
- {1883, {wxNotebook, setPageText, 2}},
- {1884, {wxNotebook, setSelection, 1}},
- {1885, {wxNotebook, changeSelection, 1}},
- {1886, {wxChoicebook, new_0, 0}},
- {1887, {wxChoicebook, new_3, 3}},
- {1888, {wxChoicebook, addPage, 3}},
- {1889, {wxChoicebook, advanceSelection, 1}},
- {1890, {wxChoicebook, assignImageList, 1}},
- {1891, {wxChoicebook, create, 3}},
- {1892, {wxChoicebook, deleteAllPages, 0}},
- {1893, {wxChoicebook, deletePage, 1}},
- {1894, {wxChoicebook, removePage, 1}},
- {1895, {wxChoicebook, getCurrentPage, 0}},
- {1896, {wxChoicebook, getImageList, 0}},
- {1898, {wxChoicebook, getPage, 1}},
- {1899, {wxChoicebook, getPageCount, 0}},
- {1900, {wxChoicebook, getPageImage, 1}},
- {1901, {wxChoicebook, getPageText, 1}},
- {1902, {wxChoicebook, getSelection, 0}},
- {1903, {wxChoicebook, hitTest, 2}},
- {1904, {wxChoicebook, insertPage, 4}},
- {1905, {wxChoicebook, setImageList, 1}},
- {1906, {wxChoicebook, setPageSize, 1}},
- {1907, {wxChoicebook, setPageImage, 2}},
- {1908, {wxChoicebook, setPageText, 2}},
- {1909, {wxChoicebook, setSelection, 1}},
- {1910, {wxChoicebook, changeSelection, 1}},
- {1911, {wxChoicebook, 'Destroy', undefined}},
- {1912, {wxToolbook, new_0, 0}},
- {1913, {wxToolbook, new_3, 3}},
- {1914, {wxToolbook, addPage, 3}},
- {1915, {wxToolbook, advanceSelection, 1}},
- {1916, {wxToolbook, assignImageList, 1}},
- {1917, {wxToolbook, create, 3}},
- {1918, {wxToolbook, deleteAllPages, 0}},
- {1919, {wxToolbook, deletePage, 1}},
- {1920, {wxToolbook, removePage, 1}},
- {1921, {wxToolbook, getCurrentPage, 0}},
- {1922, {wxToolbook, getImageList, 0}},
- {1924, {wxToolbook, getPage, 1}},
- {1925, {wxToolbook, getPageCount, 0}},
- {1926, {wxToolbook, getPageImage, 1}},
- {1927, {wxToolbook, getPageText, 1}},
- {1928, {wxToolbook, getSelection, 0}},
- {1930, {wxToolbook, hitTest, 2}},
- {1931, {wxToolbook, insertPage, 4}},
- {1932, {wxToolbook, setImageList, 1}},
- {1933, {wxToolbook, setPageSize, 1}},
- {1934, {wxToolbook, setPageImage, 2}},
- {1935, {wxToolbook, setPageText, 2}},
- {1936, {wxToolbook, setSelection, 1}},
- {1937, {wxToolbook, changeSelection, 1}},
- {1938, {wxToolbook, 'Destroy', undefined}},
- {1939, {wxListbook, new_0, 0}},
- {1940, {wxListbook, new_3, 3}},
- {1941, {wxListbook, addPage, 3}},
- {1942, {wxListbook, advanceSelection, 1}},
- {1943, {wxListbook, assignImageList, 1}},
- {1944, {wxListbook, create, 3}},
- {1945, {wxListbook, deleteAllPages, 0}},
- {1946, {wxListbook, deletePage, 1}},
- {1947, {wxListbook, removePage, 1}},
- {1948, {wxListbook, getCurrentPage, 0}},
- {1949, {wxListbook, getImageList, 0}},
- {1951, {wxListbook, getPage, 1}},
- {1952, {wxListbook, getPageCount, 0}},
- {1953, {wxListbook, getPageImage, 1}},
- {1954, {wxListbook, getPageText, 1}},
- {1955, {wxListbook, getSelection, 0}},
- {1957, {wxListbook, hitTest, 2}},
- {1958, {wxListbook, insertPage, 4}},
- {1959, {wxListbook, setImageList, 1}},
- {1960, {wxListbook, setPageSize, 1}},
- {1961, {wxListbook, setPageImage, 2}},
- {1962, {wxListbook, setPageText, 2}},
- {1963, {wxListbook, setSelection, 1}},
- {1964, {wxListbook, changeSelection, 1}},
- {1965, {wxListbook, 'Destroy', undefined}},
- {1966, {wxTreebook, new_0, 0}},
- {1967, {wxTreebook, new_3, 3}},
- {1968, {wxTreebook, addPage, 3}},
- {1969, {wxTreebook, advanceSelection, 1}},
- {1970, {wxTreebook, assignImageList, 1}},
- {1971, {wxTreebook, create, 3}},
- {1972, {wxTreebook, deleteAllPages, 0}},
- {1973, {wxTreebook, deletePage, 1}},
- {1974, {wxTreebook, removePage, 1}},
- {1975, {wxTreebook, getCurrentPage, 0}},
- {1976, {wxTreebook, getImageList, 0}},
- {1978, {wxTreebook, getPage, 1}},
- {1979, {wxTreebook, getPageCount, 0}},
- {1980, {wxTreebook, getPageImage, 1}},
- {1981, {wxTreebook, getPageText, 1}},
- {1982, {wxTreebook, getSelection, 0}},
- {1983, {wxTreebook, expandNode, 2}},
- {1984, {wxTreebook, isNodeExpanded, 1}},
- {1986, {wxTreebook, hitTest, 2}},
- {1987, {wxTreebook, insertPage, 4}},
- {1988, {wxTreebook, insertSubPage, 4}},
- {1989, {wxTreebook, setImageList, 1}},
- {1990, {wxTreebook, setPageSize, 1}},
- {1991, {wxTreebook, setPageImage, 2}},
- {1992, {wxTreebook, setPageText, 2}},
- {1993, {wxTreebook, setSelection, 1}},
- {1994, {wxTreebook, changeSelection, 1}},
- {1995, {wxTreebook, 'Destroy', undefined}},
- {1998, {wxTreeCtrl, new_2, 2}},
- {1999, {wxTreeCtrl, new_0, 0}},
- {2001, {wxTreeCtrl, destruct, 0}},
- {2002, {wxTreeCtrl, addRoot, 2}},
- {2003, {wxTreeCtrl, appendItem, 3}},
- {2004, {wxTreeCtrl, assignImageList, 1}},
- {2005, {wxTreeCtrl, assignStateImageList, 1}},
- {2006, {wxTreeCtrl, collapse, 1}},
- {2007, {wxTreeCtrl, collapseAndReset, 1}},
- {2008, {wxTreeCtrl, create, 2}},
- {2009, {wxTreeCtrl, delete, 1}},
- {2010, {wxTreeCtrl, deleteAllItems, 0}},
- {2011, {wxTreeCtrl, deleteChildren, 1}},
- {2012, {wxTreeCtrl, ensureVisible, 1}},
- {2013, {wxTreeCtrl, expand, 1}},
- {2014, {wxTreeCtrl, getBoundingRect, 3}},
- {2016, {wxTreeCtrl, getChildrenCount, 2}},
- {2017, {wxTreeCtrl, getCount, 0}},
- {2018, {wxTreeCtrl, getEditControl, 0}},
- {2019, {wxTreeCtrl, getFirstChild, 2}},
- {2020, {wxTreeCtrl, getNextChild, 2}},
- {2021, {wxTreeCtrl, getFirstVisibleItem, 0}},
- {2022, {wxTreeCtrl, getImageList, 0}},
- {2023, {wxTreeCtrl, getIndent, 0}},
- {2024, {wxTreeCtrl, getItemBackgroundColour, 1}},
- {2025, {wxTreeCtrl, getItemData, 1}},
- {2026, {wxTreeCtrl, getItemFont, 1}},
- {2027, {wxTreeCtrl, getItemImage_1, 1}},
- {2028, {wxTreeCtrl, getItemImage_2, 2}},
- {2029, {wxTreeCtrl, getItemText, 1}},
- {2030, {wxTreeCtrl, getItemTextColour, 1}},
- {2031, {wxTreeCtrl, getLastChild, 1}},
- {2032, {wxTreeCtrl, getNextSibling, 1}},
- {2033, {wxTreeCtrl, getNextVisible, 1}},
- {2034, {wxTreeCtrl, getItemParent, 1}},
- {2035, {wxTreeCtrl, getPrevSibling, 1}},
- {2036, {wxTreeCtrl, getPrevVisible, 1}},
- {2037, {wxTreeCtrl, getRootItem, 0}},
- {2038, {wxTreeCtrl, getSelection, 0}},
- {2039, {wxTreeCtrl, getSelections, 1}},
- {2040, {wxTreeCtrl, getStateImageList, 0}},
- {2041, {wxTreeCtrl, hitTest, 1}},
- {2043, {wxTreeCtrl, insertItem, 4}},
- {2044, {wxTreeCtrl, isBold, 1}},
- {2045, {wxTreeCtrl, isExpanded, 1}},
- {2046, {wxTreeCtrl, isSelected, 1}},
- {2047, {wxTreeCtrl, isVisible, 1}},
- {2048, {wxTreeCtrl, itemHasChildren, 1}},
- {2049, {wxTreeCtrl, prependItem, 3}},
- {2050, {wxTreeCtrl, scrollTo, 1}},
- {2051, {wxTreeCtrl, selectItem_1, 1}},
- {2052, {wxTreeCtrl, selectItem_2, 2}},
- {2053, {wxTreeCtrl, setIndent, 1}},
- {2054, {wxTreeCtrl, setImageList, 1}},
- {2055, {wxTreeCtrl, setItemBackgroundColour, 2}},
- {2056, {wxTreeCtrl, setItemBold, 2}},
- {2057, {wxTreeCtrl, setItemData, 2}},
- {2058, {wxTreeCtrl, setItemDropHighlight, 2}},
- {2059, {wxTreeCtrl, setItemFont, 2}},
- {2060, {wxTreeCtrl, setItemHasChildren, 2}},
- {2061, {wxTreeCtrl, setItemImage_2, 2}},
- {2062, {wxTreeCtrl, setItemImage_3, 3}},
- {2063, {wxTreeCtrl, setItemText, 2}},
- {2064, {wxTreeCtrl, setItemTextColour, 2}},
- {2065, {wxTreeCtrl, setStateImageList, 1}},
- {2066, {wxTreeCtrl, setWindowStyle, 1}},
- {2067, {wxTreeCtrl, sortChildren, 1}},
- {2068, {wxTreeCtrl, toggle, 1}},
- {2069, {wxTreeCtrl, toggleItemSelection, 1}},
- {2070, {wxTreeCtrl, unselect, 0}},
- {2071, {wxTreeCtrl, unselectAll, 0}},
- {2072, {wxTreeCtrl, unselectItem, 1}},
- {2073, {wxScrollBar, new_0, 0}},
- {2074, {wxScrollBar, new_3, 3}},
- {2075, {wxScrollBar, destruct, 0}},
- {2076, {wxScrollBar, create, 3}},
- {2077, {wxScrollBar, getRange, 0}},
- {2078, {wxScrollBar, getPageSize, 0}},
- {2079, {wxScrollBar, getThumbPosition, 0}},
- {2080, {wxScrollBar, getThumbSize, 0}},
- {2081, {wxScrollBar, setThumbPosition, 1}},
- {2082, {wxScrollBar, setScrollbar, 5}},
- {2084, {wxSpinButton, new_2, 2}},
- {2085, {wxSpinButton, new_0, 0}},
- {2086, {wxSpinButton, create, 2}},
- {2087, {wxSpinButton, getMax, 0}},
- {2088, {wxSpinButton, getMin, 0}},
- {2089, {wxSpinButton, getValue, 0}},
- {2090, {wxSpinButton, setRange, 2}},
- {2091, {wxSpinButton, setValue, 1}},
- {2092, {wxSpinButton, 'Destroy', undefined}},
- {2093, {wxSpinCtrl, new_0, 0}},
- {2094, {wxSpinCtrl, new_2, 2}},
- {2096, {wxSpinCtrl, create, 2}},
- {2099, {wxSpinCtrl, setValue_1_1, 1}},
- {2100, {wxSpinCtrl, setValue_1_0, 1}},
- {2102, {wxSpinCtrl, getValue, 0}},
- {2104, {wxSpinCtrl, setRange, 2}},
- {2105, {wxSpinCtrl, setSelection, 2}},
- {2107, {wxSpinCtrl, getMin, 0}},
- {2109, {wxSpinCtrl, getMax, 0}},
- {2110, {wxSpinCtrl, 'Destroy', undefined}},
- {2111, {wxStaticText, new_0, 0}},
- {2112, {wxStaticText, new_4, 4}},
- {2113, {wxStaticText, create, 4}},
- {2114, {wxStaticText, getLabel, 0}},
- {2115, {wxStaticText, setLabel, 1}},
- {2116, {wxStaticText, wrap, 1}},
- {2117, {wxStaticText, 'Destroy', undefined}},
- {2118, {wxStaticBitmap, new_0, 0}},
- {2119, {wxStaticBitmap, new_4, 4}},
- {2120, {wxStaticBitmap, create, 4}},
- {2121, {wxStaticBitmap, getBitmap, 0}},
- {2122, {wxStaticBitmap, setBitmap, 1}},
- {2123, {wxStaticBitmap, 'Destroy', undefined}},
- {2124, {wxRadioBox, new, 7}},
- {2126, {wxRadioBox, destruct, 0}},
- {2127, {wxRadioBox, create, 7}},
- {2128, {wxRadioBox, enable_2, 2}},
- {2129, {wxRadioBox, enable_1, 1}},
- {2130, {wxRadioBox, getSelection, 0}},
- {2131, {wxRadioBox, getString, 1}},
- {2132, {wxRadioBox, setSelection, 1}},
- {2133, {wxRadioBox, show_2, 2}},
- {2134, {wxRadioBox, show_1, 1}},
- {2135, {wxRadioBox, getColumnCount, 0}},
- {2136, {wxRadioBox, getItemHelpText, 1}},
- {2137, {wxRadioBox, getItemToolTip, 1}},
- {2139, {wxRadioBox, getItemFromPoint, 1}},
- {2140, {wxRadioBox, getRowCount, 0}},
- {2141, {wxRadioBox, isItemEnabled, 1}},
- {2142, {wxRadioBox, isItemShown, 1}},
- {2143, {wxRadioBox, setItemHelpText, 2}},
- {2144, {wxRadioBox, setItemToolTip, 2}},
- {2145, {wxRadioButton, new_0, 0}},
- {2146, {wxRadioButton, new_4, 4}},
- {2147, {wxRadioButton, create, 4}},
- {2148, {wxRadioButton, getValue, 0}},
- {2149, {wxRadioButton, setValue, 1}},
- {2150, {wxRadioButton, 'Destroy', undefined}},
- {2152, {wxSlider, new_6, 6}},
- {2153, {wxSlider, new_0, 0}},
- {2154, {wxSlider, create, 6}},
- {2155, {wxSlider, getLineSize, 0}},
- {2156, {wxSlider, getMax, 0}},
- {2157, {wxSlider, getMin, 0}},
- {2158, {wxSlider, getPageSize, 0}},
- {2159, {wxSlider, getThumbLength, 0}},
- {2160, {wxSlider, getValue, 0}},
- {2161, {wxSlider, setLineSize, 1}},
- {2162, {wxSlider, setPageSize, 1}},
- {2163, {wxSlider, setRange, 2}},
- {2164, {wxSlider, setThumbLength, 1}},
- {2165, {wxSlider, setValue, 1}},
- {2166, {wxSlider, 'Destroy', undefined}},
- {2168, {wxDialog, new_4, 4}},
- {2169, {wxDialog, new_0, 0}},
- {2171, {wxDialog, destruct, 0}},
- {2172, {wxDialog, create, 4}},
- {2173, {wxDialog, createButtonSizer, 1}},
- {2174, {wxDialog, createStdDialogButtonSizer, 1}},
- {2175, {wxDialog, endModal, 1}},
- {2176, {wxDialog, getAffirmativeId, 0}},
- {2177, {wxDialog, getReturnCode, 0}},
- {2178, {wxDialog, isModal, 0}},
- {2179, {wxDialog, setAffirmativeId, 1}},
- {2180, {wxDialog, setReturnCode, 1}},
- {2181, {wxDialog, show, 1}},
- {2182, {wxDialog, showModal, 0}},
- {2183, {wxColourDialog, new_0, 0}},
- {2184, {wxColourDialog, new_2, 2}},
- {2185, {wxColourDialog, destruct, 0}},
- {2186, {wxColourDialog, create, 2}},
- {2187, {wxColourDialog, getColourData, 0}},
- {2188, {wxColourData, new_0, 0}},
- {2189, {wxColourData, new_1, 1}},
- {2190, {wxColourData, destruct, 0}},
- {2191, {wxColourData, getChooseFull, 0}},
- {2192, {wxColourData, getColour, 0}},
- {2194, {wxColourData, getCustomColour, 1}},
- {2195, {wxColourData, setChooseFull, 1}},
- {2196, {wxColourData, setColour, 1}},
- {2197, {wxColourData, setCustomColour, 2}},
- {2198, {wxPalette, new_0, 0}},
- {2199, {wxPalette, new_4, 4}},
- {2201, {wxPalette, destruct, 0}},
- {2202, {wxPalette, create, 4}},
- {2203, {wxPalette, getColoursCount, 0}},
- {2204, {wxPalette, getPixel, 3}},
- {2205, {wxPalette, getRGB, 4}},
- {2206, {wxPalette, isOk, 0}},
- {2210, {wxDirDialog, new, 2}},
- {2211, {wxDirDialog, destruct, 0}},
- {2212, {wxDirDialog, getPath, 0}},
- {2213, {wxDirDialog, getMessage, 0}},
- {2214, {wxDirDialog, setMessage, 1}},
- {2215, {wxDirDialog, setPath, 1}},
- {2219, {wxFileDialog, new, 2}},
- {2220, {wxFileDialog, destruct, 0}},
- {2221, {wxFileDialog, getDirectory, 0}},
- {2222, {wxFileDialog, getFilename, 0}},
- {2223, {wxFileDialog, getFilenames, 1}},
- {2224, {wxFileDialog, getFilterIndex, 0}},
- {2225, {wxFileDialog, getMessage, 0}},
- {2226, {wxFileDialog, getPath, 0}},
- {2227, {wxFileDialog, getPaths, 1}},
- {2228, {wxFileDialog, getWildcard, 0}},
- {2229, {wxFileDialog, setDirectory, 1}},
- {2230, {wxFileDialog, setFilename, 1}},
- {2231, {wxFileDialog, setFilterIndex, 1}},
- {2232, {wxFileDialog, setMessage, 1}},
- {2233, {wxFileDialog, setPath, 1}},
- {2234, {wxFileDialog, setWildcard, 1}},
- {2235, {wxPickerBase, setInternalMargin, 1}},
- {2236, {wxPickerBase, getInternalMargin, 0}},
- {2237, {wxPickerBase, setTextCtrlProportion, 1}},
- {2238, {wxPickerBase, setPickerCtrlProportion, 1}},
- {2239, {wxPickerBase, getTextCtrlProportion, 0}},
- {2240, {wxPickerBase, getPickerCtrlProportion, 0}},
- {2241, {wxPickerBase, hasTextCtrl, 0}},
- {2242, {wxPickerBase, getTextCtrl, 0}},
- {2243, {wxPickerBase, isTextCtrlGrowable, 0}},
- {2244, {wxPickerBase, setPickerCtrlGrowable, 1}},
- {2245, {wxPickerBase, setTextCtrlGrowable, 1}},
- {2246, {wxPickerBase, isPickerCtrlGrowable, 0}},
- {2247, {wxFilePickerCtrl, new_0, 0}},
- {2248, {wxFilePickerCtrl, new_3, 3}},
- {2249, {wxFilePickerCtrl, create, 3}},
- {2250, {wxFilePickerCtrl, getPath, 0}},
- {2251, {wxFilePickerCtrl, setPath, 1}},
- {2252, {wxFilePickerCtrl, 'Destroy', undefined}},
- {2253, {wxDirPickerCtrl, new_0, 0}},
- {2254, {wxDirPickerCtrl, new_3, 3}},
- {2255, {wxDirPickerCtrl, create, 3}},
- {2256, {wxDirPickerCtrl, getPath, 0}},
- {2257, {wxDirPickerCtrl, setPath, 1}},
- {2258, {wxDirPickerCtrl, 'Destroy', undefined}},
- {2259, {wxColourPickerCtrl, new_0, 0}},
- {2260, {wxColourPickerCtrl, new_3, 3}},
- {2261, {wxColourPickerCtrl, create, 3}},
- {2262, {wxColourPickerCtrl, getColour, 0}},
- {2263, {wxColourPickerCtrl, setColour_1_1, 1}},
- {2264, {wxColourPickerCtrl, setColour_1_0, 1}},
- {2265, {wxColourPickerCtrl, 'Destroy', undefined}},
- {2266, {wxDatePickerCtrl, new_0, 0}},
- {2267, {wxDatePickerCtrl, new_3, 3}},
- {2268, {wxDatePickerCtrl, getRange, 2}},
- {2269, {wxDatePickerCtrl, getValue, 0}},
- {2270, {wxDatePickerCtrl, setRange, 2}},
- {2271, {wxDatePickerCtrl, setValue, 1}},
- {2272, {wxDatePickerCtrl, 'Destroy', undefined}},
- {2273, {wxFontPickerCtrl, new_0, 0}},
- {2274, {wxFontPickerCtrl, new_3, 3}},
- {2275, {wxFontPickerCtrl, create, 3}},
- {2276, {wxFontPickerCtrl, getSelectedFont, 0}},
- {2277, {wxFontPickerCtrl, setSelectedFont, 1}},
- {2278, {wxFontPickerCtrl, getMaxPointSize, 0}},
- {2279, {wxFontPickerCtrl, setMaxPointSize, 1}},
- {2280, {wxFontPickerCtrl, 'Destroy', undefined}},
- {2283, {wxFindReplaceDialog, new_0, 0}},
- {2284, {wxFindReplaceDialog, new_4, 4}},
- {2285, {wxFindReplaceDialog, destruct, 0}},
- {2286, {wxFindReplaceDialog, create, 4}},
- {2287, {wxFindReplaceDialog, getData, 0}},
- {2288, {wxFindReplaceData, new_0, 0}},
- {2289, {wxFindReplaceData, new_1, 1}},
- {2290, {wxFindReplaceData, getFindString, 0}},
- {2291, {wxFindReplaceData, getReplaceString, 0}},
- {2292, {wxFindReplaceData, getFlags, 0}},
- {2293, {wxFindReplaceData, setFlags, 1}},
- {2294, {wxFindReplaceData, setFindString, 1}},
- {2295, {wxFindReplaceData, setReplaceString, 1}},
- {2296, {wxFindReplaceData, 'Destroy', undefined}},
- {2297, {wxMultiChoiceDialog, new_0, 0}},
- {2299, {wxMultiChoiceDialog, new_5, 5}},
- {2300, {wxMultiChoiceDialog, getSelections, 0}},
- {2301, {wxMultiChoiceDialog, setSelections, 1}},
- {2302, {wxMultiChoiceDialog, 'Destroy', undefined}},
- {2303, {wxSingleChoiceDialog, new_0, 0}},
- {2305, {wxSingleChoiceDialog, new_5, 5}},
- {2306, {wxSingleChoiceDialog, getSelection, 0}},
- {2307, {wxSingleChoiceDialog, getStringSelection, 0}},
- {2308, {wxSingleChoiceDialog, setSelection, 1}},
- {2309, {wxSingleChoiceDialog, 'Destroy', undefined}},
- {2310, {wxTextEntryDialog, new, 3}},
- {2311, {wxTextEntryDialog, getValue, 0}},
- {2312, {wxTextEntryDialog, setValue, 1}},
- {2313, {wxTextEntryDialog, 'Destroy', undefined}},
- {2314, {wxPasswordEntryDialog, new, 3}},
- {2315, {wxPasswordEntryDialog, 'Destroy', undefined}},
- {2316, {wxFontData, new_0, 0}},
- {2317, {wxFontData, new_1, 1}},
- {2318, {wxFontData, destruct, 0}},
- {2319, {wxFontData, enableEffects, 1}},
- {2320, {wxFontData, getAllowSymbols, 0}},
- {2321, {wxFontData, getColour, 0}},
- {2322, {wxFontData, getChosenFont, 0}},
- {2323, {wxFontData, getEnableEffects, 0}},
- {2324, {wxFontData, getInitialFont, 0}},
- {2325, {wxFontData, getShowHelp, 0}},
- {2326, {wxFontData, setAllowSymbols, 1}},
- {2327, {wxFontData, setChosenFont, 1}},
- {2328, {wxFontData, setColour, 1}},
- {2329, {wxFontData, setInitialFont, 1}},
- {2330, {wxFontData, setRange, 2}},
- {2331, {wxFontData, setShowHelp, 1}},
- {2335, {wxFontDialog, new_0, 0}},
- {2337, {wxFontDialog, new_2, 2}},
- {2339, {wxFontDialog, create, 2}},
- {2340, {wxFontDialog, getFontData, 0}},
- {2342, {wxFontDialog, 'Destroy', undefined}},
- {2343, {wxProgressDialog, new, 3}},
- {2344, {wxProgressDialog, destruct, 0}},
- {2345, {wxProgressDialog, resume, 0}},
- {2346, {wxProgressDialog, update_2, 2}},
- {2347, {wxProgressDialog, update_0, 0}},
- {2348, {wxMessageDialog, new, 3}},
- {2349, {wxMessageDialog, destruct, 0}},
- {2350, {wxPageSetupDialog, new, 2}},
- {2351, {wxPageSetupDialog, destruct, 0}},
- {2352, {wxPageSetupDialog, getPageSetupData, 0}},
- {2353, {wxPageSetupDialog, showModal, 0}},
- {2354, {wxPageSetupDialogData, new_0, 0}},
- {2355, {wxPageSetupDialogData, new_1_0, 1}},
- {2356, {wxPageSetupDialogData, new_1_1, 1}},
- {2357, {wxPageSetupDialogData, destruct, 0}},
- {2358, {wxPageSetupDialogData, enableHelp, 1}},
- {2359, {wxPageSetupDialogData, enableMargins, 1}},
- {2360, {wxPageSetupDialogData, enableOrientation, 1}},
- {2361, {wxPageSetupDialogData, enablePaper, 1}},
- {2362, {wxPageSetupDialogData, enablePrinter, 1}},
- {2363, {wxPageSetupDialogData, getDefaultMinMargins, 0}},
- {2364, {wxPageSetupDialogData, getEnableMargins, 0}},
- {2365, {wxPageSetupDialogData, getEnableOrientation, 0}},
- {2366, {wxPageSetupDialogData, getEnablePaper, 0}},
- {2367, {wxPageSetupDialogData, getEnablePrinter, 0}},
- {2368, {wxPageSetupDialogData, getEnableHelp, 0}},
- {2369, {wxPageSetupDialogData, getDefaultInfo, 0}},
- {2370, {wxPageSetupDialogData, getMarginTopLeft, 0}},
- {2371, {wxPageSetupDialogData, getMarginBottomRight, 0}},
- {2372, {wxPageSetupDialogData, getMinMarginTopLeft, 0}},
- {2373, {wxPageSetupDialogData, getMinMarginBottomRight, 0}},
- {2374, {wxPageSetupDialogData, getPaperId, 0}},
- {2375, {wxPageSetupDialogData, getPaperSize, 0}},
- {2377, {wxPageSetupDialogData, getPrintData, 0}},
- {2378, {wxPageSetupDialogData, isOk, 0}},
- {2379, {wxPageSetupDialogData, setDefaultInfo, 1}},
- {2380, {wxPageSetupDialogData, setDefaultMinMargins, 1}},
- {2381, {wxPageSetupDialogData, setMarginTopLeft, 1}},
- {2382, {wxPageSetupDialogData, setMarginBottomRight, 1}},
- {2383, {wxPageSetupDialogData, setMinMarginTopLeft, 1}},
- {2384, {wxPageSetupDialogData, setMinMarginBottomRight, 1}},
- {2385, {wxPageSetupDialogData, setPaperId, 1}},
- {2386, {wxPageSetupDialogData, setPaperSize_1_1, 1}},
- {2387, {wxPageSetupDialogData, setPaperSize_1_0, 1}},
- {2388, {wxPageSetupDialogData, setPrintData, 1}},
- {2389, {wxPrintDialog, new_2_0, 2}},
- {2390, {wxPrintDialog, new_2_1, 2}},
- {2391, {wxPrintDialog, destruct, 0}},
- {2392, {wxPrintDialog, getPrintDialogData, 0}},
- {2393, {wxPrintDialog, getPrintDC, 0}},
- {2394, {wxPrintDialogData, new_0, 0}},
- {2395, {wxPrintDialogData, new_1_1, 1}},
- {2396, {wxPrintDialogData, new_1_0, 1}},
- {2397, {wxPrintDialogData, destruct, 0}},
- {2398, {wxPrintDialogData, enableHelp, 1}},
- {2399, {wxPrintDialogData, enablePageNumbers, 1}},
- {2400, {wxPrintDialogData, enablePrintToFile, 1}},
- {2401, {wxPrintDialogData, enableSelection, 1}},
- {2402, {wxPrintDialogData, getAllPages, 0}},
- {2403, {wxPrintDialogData, getCollate, 0}},
- {2404, {wxPrintDialogData, getFromPage, 0}},
- {2405, {wxPrintDialogData, getMaxPage, 0}},
- {2406, {wxPrintDialogData, getMinPage, 0}},
- {2407, {wxPrintDialogData, getNoCopies, 0}},
- {2408, {wxPrintDialogData, getPrintData, 0}},
- {2409, {wxPrintDialogData, getPrintToFile, 0}},
- {2410, {wxPrintDialogData, getSelection, 0}},
- {2411, {wxPrintDialogData, getToPage, 0}},
- {2412, {wxPrintDialogData, isOk, 0}},
- {2413, {wxPrintDialogData, setCollate, 1}},
- {2414, {wxPrintDialogData, setFromPage, 1}},
- {2415, {wxPrintDialogData, setMaxPage, 1}},
- {2416, {wxPrintDialogData, setMinPage, 1}},
- {2417, {wxPrintDialogData, setNoCopies, 1}},
- {2418, {wxPrintDialogData, setPrintData, 1}},
- {2419, {wxPrintDialogData, setPrintToFile, 1}},
- {2420, {wxPrintDialogData, setSelection, 1}},
- {2421, {wxPrintDialogData, setToPage, 1}},
- {2422, {wxPrintData, new_0, 0}},
- {2423, {wxPrintData, new_1, 1}},
- {2424, {wxPrintData, destruct, 0}},
- {2425, {wxPrintData, getCollate, 0}},
- {2426, {wxPrintData, getBin, 0}},
- {2427, {wxPrintData, getColour, 0}},
- {2428, {wxPrintData, getDuplex, 0}},
- {2429, {wxPrintData, getNoCopies, 0}},
- {2430, {wxPrintData, getOrientation, 0}},
- {2431, {wxPrintData, getPaperId, 0}},
- {2432, {wxPrintData, getPrinterName, 0}},
- {2433, {wxPrintData, getQuality, 0}},
- {2434, {wxPrintData, isOk, 0}},
- {2435, {wxPrintData, setBin, 1}},
- {2436, {wxPrintData, setCollate, 1}},
- {2437, {wxPrintData, setColour, 1}},
- {2438, {wxPrintData, setDuplex, 1}},
- {2439, {wxPrintData, setNoCopies, 1}},
- {2440, {wxPrintData, setOrientation, 1}},
- {2441, {wxPrintData, setPaperId, 1}},
- {2442, {wxPrintData, setPrinterName, 1}},
- {2443, {wxPrintData, setQuality, 1}},
- {2446, {wxPrintPreview, new_2, 2}},
- {2447, {wxPrintPreview, new_3, 3}},
- {2449, {wxPrintPreview, destruct, 0}},
- {2450, {wxPrintPreview, getCanvas, 0}},
- {2451, {wxPrintPreview, getCurrentPage, 0}},
- {2452, {wxPrintPreview, getFrame, 0}},
- {2453, {wxPrintPreview, getMaxPage, 0}},
- {2454, {wxPrintPreview, getMinPage, 0}},
- {2455, {wxPrintPreview, getPrintout, 0}},
- {2456, {wxPrintPreview, getPrintoutForPrinting, 0}},
- {2457, {wxPrintPreview, isOk, 0}},
- {2458, {wxPrintPreview, paintPage, 2}},
- {2459, {wxPrintPreview, print, 1}},
- {2460, {wxPrintPreview, renderPage, 1}},
- {2461, {wxPrintPreview, setCanvas, 1}},
- {2462, {wxPrintPreview, setCurrentPage, 1}},
- {2463, {wxPrintPreview, setFrame, 1}},
- {2464, {wxPrintPreview, setPrintout, 1}},
- {2465, {wxPrintPreview, setZoom, 1}},
- {2466, {wxPreviewFrame, new, 3}},
- {2467, {wxPreviewFrame, destruct, 0}},
- {2468, {wxPreviewFrame, createControlBar, 0}},
- {2469, {wxPreviewFrame, createCanvas, 0}},
- {2470, {wxPreviewFrame, initialize, 0}},
- {2471, {wxPreviewFrame, onCloseWindow, 1}},
- {2472, {wxPreviewControlBar, new, 4}},
- {2473, {wxPreviewControlBar, destruct, 0}},
- {2474, {wxPreviewControlBar, createButtons, 0}},
- {2475, {wxPreviewControlBar, getPrintPreview, 0}},
- {2476, {wxPreviewControlBar, getZoomControl, 0}},
- {2477, {wxPreviewControlBar, setZoomControl, 1}},
- {2479, {wxPrinter, new, 1}},
- {2480, {wxPrinter, createAbortWindow, 2}},
- {2481, {wxPrinter, getAbort, 0}},
- {2482, {wxPrinter, getLastError, 0}},
- {2483, {wxPrinter, getPrintDialogData, 0}},
- {2484, {wxPrinter, print, 3}},
- {2485, {wxPrinter, printDialog, 1}},
- {2486, {wxPrinter, reportError, 3}},
- {2487, {wxPrinter, setup, 1}},
- {2488, {wxPrinter, 'Destroy', undefined}},
- {2489, {wxXmlResource, new_1, 1}},
- {2490, {wxXmlResource, new_2, 2}},
- {2491, {wxXmlResource, destruct, 0}},
- {2492, {wxXmlResource, attachUnknownControl, 3}},
- {2493, {wxXmlResource, clearHandlers, 0}},
- {2494, {wxXmlResource, compareVersion, 4}},
- {2495, {wxXmlResource, get, 0}},
- {2496, {wxXmlResource, getFlags, 0}},
- {2497, {wxXmlResource, getVersion, 0}},
- {2498, {wxXmlResource, getXRCID, 2}},
- {2499, {wxXmlResource, initAllHandlers, 0}},
- {2500, {wxXmlResource, load, 1}},
- {2501, {wxXmlResource, loadBitmap, 1}},
- {2502, {wxXmlResource, loadDialog_2, 2}},
- {2503, {wxXmlResource, loadDialog_3, 3}},
- {2504, {wxXmlResource, loadFrame_2, 2}},
- {2505, {wxXmlResource, loadFrame_3, 3}},
- {2506, {wxXmlResource, loadIcon, 1}},
- {2507, {wxXmlResource, loadMenu, 1}},
- {2508, {wxXmlResource, loadMenuBar_2, 2}},
- {2509, {wxXmlResource, loadMenuBar_1, 1}},
- {2510, {wxXmlResource, loadPanel_2, 2}},
- {2511, {wxXmlResource, loadPanel_3, 3}},
- {2512, {wxXmlResource, loadToolBar, 2}},
- {2513, {wxXmlResource, set, 1}},
- {2514, {wxXmlResource, setFlags, 1}},
- {2515, {wxXmlResource, unload, 1}},
- {2516, {wxXmlResource, xrcctrl, 3}},
- {2517, {wxHtmlEasyPrinting, new, 1}},
- {2518, {wxHtmlEasyPrinting, destruct, 0}},
- {2519, {wxHtmlEasyPrinting, getPrintData, 0}},
- {2520, {wxHtmlEasyPrinting, getPageSetupData, 0}},
- {2521, {wxHtmlEasyPrinting, previewFile, 1}},
- {2522, {wxHtmlEasyPrinting, previewText, 2}},
- {2523, {wxHtmlEasyPrinting, printFile, 1}},
- {2524, {wxHtmlEasyPrinting, printText, 2}},
- {2525, {wxHtmlEasyPrinting, pageSetup, 0}},
- {2526, {wxHtmlEasyPrinting, setFonts, 3}},
- {2527, {wxHtmlEasyPrinting, setHeader, 2}},
- {2528, {wxHtmlEasyPrinting, setFooter, 2}},
- {2530, {wxGLCanvas, new_2, 2}},
- {2531, {wxGLCanvas, new_3_1, 3}},
- {2532, {wxGLCanvas, new_3_0, 3}},
- {2533, {wxGLCanvas, getContext, 0}},
- {2535, {wxGLCanvas, setCurrent, 0}},
- {2536, {wxGLCanvas, swapBuffers, 0}},
- {2537, {wxGLCanvas, 'Destroy', undefined}},
- {2538, {wxAuiManager, new, 1}},
- {2539, {wxAuiManager, destruct, 0}},
- {2540, {wxAuiManager, addPane_2_1, 2}},
- {2541, {wxAuiManager, addPane_3, 3}},
- {2542, {wxAuiManager, addPane_2_0, 2}},
- {2543, {wxAuiManager, detachPane, 1}},
- {2544, {wxAuiManager, getAllPanes, 0}},
- {2545, {wxAuiManager, getArtProvider, 0}},
- {2546, {wxAuiManager, getDockSizeConstraint, 2}},
- {2547, {wxAuiManager, getFlags, 0}},
- {2548, {wxAuiManager, getManagedWindow, 0}},
- {2549, {wxAuiManager, getManager, 1}},
- {2550, {wxAuiManager, getPane_1_1, 1}},
- {2551, {wxAuiManager, getPane_1_0, 1}},
- {2552, {wxAuiManager, hideHint, 0}},
- {2553, {wxAuiManager, insertPane, 3}},
- {2554, {wxAuiManager, loadPaneInfo, 2}},
- {2555, {wxAuiManager, loadPerspective, 2}},
- {2556, {wxAuiManager, savePaneInfo, 1}},
- {2557, {wxAuiManager, savePerspective, 0}},
- {2558, {wxAuiManager, setArtProvider, 1}},
- {2559, {wxAuiManager, setDockSizeConstraint, 2}},
- {2560, {wxAuiManager, setFlags, 1}},
- {2561, {wxAuiManager, setManagedWindow, 1}},
- {2562, {wxAuiManager, showHint, 1}},
- {2563, {wxAuiManager, unInit, 0}},
- {2564, {wxAuiManager, update, 0}},
- {2565, {wxAuiPaneInfo, new_0, 0}},
- {2566, {wxAuiPaneInfo, new_1, 1}},
- {2567, {wxAuiPaneInfo, destruct, 0}},
- {2568, {wxAuiPaneInfo, bestSize_1, 1}},
- {2569, {wxAuiPaneInfo, bestSize_2, 2}},
- {2570, {wxAuiPaneInfo, bottom, 0}},
- {2571, {wxAuiPaneInfo, bottomDockable, 1}},
- {2572, {wxAuiPaneInfo, caption, 1}},
- {2573, {wxAuiPaneInfo, captionVisible, 1}},
- {2574, {wxAuiPaneInfo, centre, 0}},
- {2575, {wxAuiPaneInfo, centrePane, 0}},
- {2576, {wxAuiPaneInfo, closeButton, 1}},
- {2577, {wxAuiPaneInfo, defaultPane, 0}},
- {2578, {wxAuiPaneInfo, destroyOnClose, 1}},
- {2579, {wxAuiPaneInfo, direction, 1}},
- {2580, {wxAuiPaneInfo, dock, 0}},
- {2581, {wxAuiPaneInfo, dockable, 1}},
- {2582, {wxAuiPaneInfo, fixed, 0}},
- {2583, {wxAuiPaneInfo, float, 0}},
- {2584, {wxAuiPaneInfo, floatable, 1}},
- {2585, {wxAuiPaneInfo, floatingPosition_1, 1}},
- {2586, {wxAuiPaneInfo, floatingPosition_2, 2}},
- {2587, {wxAuiPaneInfo, floatingSize_1, 1}},
- {2588, {wxAuiPaneInfo, floatingSize_2, 2}},
- {2589, {wxAuiPaneInfo, gripper, 1}},
- {2590, {wxAuiPaneInfo, gripperTop, 1}},
- {2591, {wxAuiPaneInfo, hasBorder, 0}},
- {2592, {wxAuiPaneInfo, hasCaption, 0}},
- {2593, {wxAuiPaneInfo, hasCloseButton, 0}},
- {2594, {wxAuiPaneInfo, hasFlag, 1}},
- {2595, {wxAuiPaneInfo, hasGripper, 0}},
- {2596, {wxAuiPaneInfo, hasGripperTop, 0}},
- {2597, {wxAuiPaneInfo, hasMaximizeButton, 0}},
- {2598, {wxAuiPaneInfo, hasMinimizeButton, 0}},
- {2599, {wxAuiPaneInfo, hasPinButton, 0}},
- {2600, {wxAuiPaneInfo, hide, 0}},
- {2601, {wxAuiPaneInfo, isBottomDockable, 0}},
- {2602, {wxAuiPaneInfo, isDocked, 0}},
- {2603, {wxAuiPaneInfo, isFixed, 0}},
- {2604, {wxAuiPaneInfo, isFloatable, 0}},
- {2605, {wxAuiPaneInfo, isFloating, 0}},
- {2606, {wxAuiPaneInfo, isLeftDockable, 0}},
- {2607, {wxAuiPaneInfo, isMovable, 0}},
- {2608, {wxAuiPaneInfo, isOk, 0}},
- {2609, {wxAuiPaneInfo, isResizable, 0}},
- {2610, {wxAuiPaneInfo, isRightDockable, 0}},
- {2611, {wxAuiPaneInfo, isShown, 0}},
- {2612, {wxAuiPaneInfo, isToolbar, 0}},
- {2613, {wxAuiPaneInfo, isTopDockable, 0}},
- {2614, {wxAuiPaneInfo, layer, 1}},
- {2615, {wxAuiPaneInfo, left, 0}},
- {2616, {wxAuiPaneInfo, leftDockable, 1}},
- {2617, {wxAuiPaneInfo, maxSize_1, 1}},
- {2618, {wxAuiPaneInfo, maxSize_2, 2}},
- {2619, {wxAuiPaneInfo, maximizeButton, 1}},
- {2620, {wxAuiPaneInfo, minSize_1, 1}},
- {2621, {wxAuiPaneInfo, minSize_2, 2}},
- {2622, {wxAuiPaneInfo, minimizeButton, 1}},
- {2623, {wxAuiPaneInfo, movable, 1}},
- {2624, {wxAuiPaneInfo, name, 1}},
- {2625, {wxAuiPaneInfo, paneBorder, 1}},
- {2626, {wxAuiPaneInfo, pinButton, 1}},
- {2627, {wxAuiPaneInfo, position, 1}},
- {2628, {wxAuiPaneInfo, resizable, 1}},
- {2629, {wxAuiPaneInfo, right, 0}},
- {2630, {wxAuiPaneInfo, rightDockable, 1}},
- {2631, {wxAuiPaneInfo, row, 1}},
- {2632, {wxAuiPaneInfo, safeSet, 1}},
- {2633, {wxAuiPaneInfo, setFlag, 2}},
- {2634, {wxAuiPaneInfo, show, 1}},
- {2635, {wxAuiPaneInfo, toolbarPane, 0}},
- {2636, {wxAuiPaneInfo, top, 0}},
- {2637, {wxAuiPaneInfo, topDockable, 1}},
- {2638, {wxAuiPaneInfo, window, 1}},
- {2639, {wxAuiNotebook, new_0, 0}},
- {2640, {wxAuiNotebook, new_2, 2}},
- {2641, {wxAuiNotebook, addPage, 3}},
- {2642, {wxAuiNotebook, create, 2}},
- {2643, {wxAuiNotebook, deletePage, 1}},
- {2644, {wxAuiNotebook, getArtProvider, 0}},
- {2645, {wxAuiNotebook, getPage, 1}},
- {2646, {wxAuiNotebook, getPageBitmap, 1}},
- {2647, {wxAuiNotebook, getPageCount, 0}},
- {2648, {wxAuiNotebook, getPageIndex, 1}},
- {2649, {wxAuiNotebook, getPageText, 1}},
- {2650, {wxAuiNotebook, getSelection, 0}},
- {2651, {wxAuiNotebook, insertPage, 4}},
- {2652, {wxAuiNotebook, removePage, 1}},
- {2653, {wxAuiNotebook, setArtProvider, 1}},
- {2654, {wxAuiNotebook, setFont, 1}},
- {2655, {wxAuiNotebook, setPageBitmap, 2}},
- {2656, {wxAuiNotebook, setPageText, 2}},
- {2657, {wxAuiNotebook, setSelection, 1}},
- {2658, {wxAuiNotebook, setTabCtrlHeight, 1}},
- {2659, {wxAuiNotebook, setUniformBitmapSize, 1}},
- {2660, {wxAuiNotebook, 'Destroy', undefined}},
- {2661, {wxMDIParentFrame, new_0, 0}},
- {2662, {wxMDIParentFrame, new_4, 4}},
- {2663, {wxMDIParentFrame, destruct, 0}},
- {2664, {wxMDIParentFrame, activateNext, 0}},
- {2665, {wxMDIParentFrame, activatePrevious, 0}},
- {2666, {wxMDIParentFrame, arrangeIcons, 0}},
- {2667, {wxMDIParentFrame, cascade, 0}},
- {2668, {wxMDIParentFrame, create, 4}},
- {2669, {wxMDIParentFrame, getActiveChild, 0}},
- {2670, {wxMDIParentFrame, getClientWindow, 0}},
- {2671, {wxMDIParentFrame, tile, 1}},
- {2672, {wxMDIChildFrame, new_0, 0}},
- {2673, {wxMDIChildFrame, new_4, 4}},
- {2674, {wxMDIChildFrame, destruct, 0}},
- {2675, {wxMDIChildFrame, activate, 0}},
- {2676, {wxMDIChildFrame, create, 4}},
- {2677, {wxMDIChildFrame, maximize, 1}},
- {2678, {wxMDIChildFrame, restore, 0}},
- {2679, {wxMDIClientWindow, new_0, 0}},
- {2680, {wxMDIClientWindow, new_2, 2}},
- {2681, {wxMDIClientWindow, destruct, 0}},
- {2682, {wxMDIClientWindow, createClient, 2}},
- {2683, {wxLayoutAlgorithm, new, 0}},
- {2684, {wxLayoutAlgorithm, layoutFrame, 2}},
- {2685, {wxLayoutAlgorithm, layoutMDIFrame, 2}},
- {2686, {wxLayoutAlgorithm, layoutWindow, 2}},
- {2687, {wxLayoutAlgorithm, 'Destroy', undefined}},
- {2688, {wxEvent, getId, 0}},
- {2689, {wxEvent, getSkipped, 0}},
- {2690, {wxEvent, getTimestamp, 0}},
- {2691, {wxEvent, isCommandEvent, 0}},
- {2692, {wxEvent, resumePropagation, 1}},
- {2693, {wxEvent, shouldPropagate, 0}},
- {2694, {wxEvent, skip, 1}},
- {2695, {wxEvent, stopPropagation, 0}},
- {2696, {wxCommandEvent, getClientData, 0}},
- {2697, {wxCommandEvent, getExtraLong, 0}},
- {2698, {wxCommandEvent, getInt, 0}},
- {2699, {wxCommandEvent, getSelection, 0}},
- {2700, {wxCommandEvent, getString, 0}},
- {2701, {wxCommandEvent, isChecked, 0}},
- {2702, {wxCommandEvent, isSelection, 0}},
- {2703, {wxCommandEvent, setInt, 1}},
- {2704, {wxCommandEvent, setString, 1}},
- {2705, {wxScrollEvent, getOrientation, 0}},
- {2706, {wxScrollEvent, getPosition, 0}},
- {2707, {wxScrollWinEvent, getOrientation, 0}},
- {2708, {wxScrollWinEvent, getPosition, 0}},
- {2709, {wxMouseEvent, altDown, 0}},
- {2710, {wxMouseEvent, button, 1}},
- {2711, {wxMouseEvent, buttonDClick, 1}},
- {2712, {wxMouseEvent, buttonDown, 1}},
- {2713, {wxMouseEvent, buttonUp, 1}},
- {2714, {wxMouseEvent, cmdDown, 0}},
- {2715, {wxMouseEvent, controlDown, 0}},
- {2716, {wxMouseEvent, dragging, 0}},
- {2717, {wxMouseEvent, entering, 0}},
- {2718, {wxMouseEvent, getButton, 0}},
- {2721, {wxMouseEvent, getPosition, 0}},
- {2722, {wxMouseEvent, getLogicalPosition, 1}},
- {2723, {wxMouseEvent, getLinesPerAction, 0}},
- {2724, {wxMouseEvent, getWheelRotation, 0}},
- {2725, {wxMouseEvent, getWheelDelta, 0}},
- {2726, {wxMouseEvent, getX, 0}},
- {2727, {wxMouseEvent, getY, 0}},
- {2728, {wxMouseEvent, isButton, 0}},
- {2729, {wxMouseEvent, isPageScroll, 0}},
- {2730, {wxMouseEvent, leaving, 0}},
- {2731, {wxMouseEvent, leftDClick, 0}},
- {2732, {wxMouseEvent, leftDown, 0}},
- {2733, {wxMouseEvent, leftIsDown, 0}},
- {2734, {wxMouseEvent, leftUp, 0}},
- {2735, {wxMouseEvent, metaDown, 0}},
- {2736, {wxMouseEvent, middleDClick, 0}},
- {2737, {wxMouseEvent, middleDown, 0}},
- {2738, {wxMouseEvent, middleIsDown, 0}},
- {2739, {wxMouseEvent, middleUp, 0}},
- {2740, {wxMouseEvent, moving, 0}},
- {2741, {wxMouseEvent, rightDClick, 0}},
- {2742, {wxMouseEvent, rightDown, 0}},
- {2743, {wxMouseEvent, rightIsDown, 0}},
- {2744, {wxMouseEvent, rightUp, 0}},
- {2745, {wxMouseEvent, shiftDown, 0}},
- {2746, {wxSetCursorEvent, getCursor, 0}},
- {2747, {wxSetCursorEvent, getX, 0}},
- {2748, {wxSetCursorEvent, getY, 0}},
- {2749, {wxSetCursorEvent, hasCursor, 0}},
- {2750, {wxSetCursorEvent, setCursor, 1}},
- {2751, {wxKeyEvent, altDown, 0}},
- {2752, {wxKeyEvent, cmdDown, 0}},
- {2753, {wxKeyEvent, controlDown, 0}},
- {2754, {wxKeyEvent, getKeyCode, 0}},
- {2755, {wxKeyEvent, getModifiers, 0}},
- {2758, {wxKeyEvent, getPosition, 0}},
- {2759, {wxKeyEvent, getRawKeyCode, 0}},
- {2760, {wxKeyEvent, getRawKeyFlags, 0}},
- {2761, {wxKeyEvent, getUnicodeKey, 0}},
- {2762, {wxKeyEvent, getX, 0}},
- {2763, {wxKeyEvent, getY, 0}},
- {2764, {wxKeyEvent, hasModifiers, 0}},
- {2765, {wxKeyEvent, metaDown, 0}},
- {2766, {wxKeyEvent, shiftDown, 0}},
- {2767, {wxSizeEvent, getSize, 0}},
- {2768, {wxMoveEvent, getPosition, 0}},
- {2769, {wxEraseEvent, getDC, 0}},
- {2770, {wxFocusEvent, getWindow, 0}},
- {2771, {wxChildFocusEvent, getWindow, 0}},
- {2772, {wxMenuEvent, getMenu, 0}},
- {2773, {wxMenuEvent, getMenuId, 0}},
- {2774, {wxMenuEvent, isPopup, 0}},
- {2775, {wxCloseEvent, canVeto, 0}},
- {2776, {wxCloseEvent, getLoggingOff, 0}},
- {2777, {wxCloseEvent, setCanVeto, 1}},
- {2778, {wxCloseEvent, setLoggingOff, 1}},
- {2779, {wxCloseEvent, veto, 1}},
- {2780, {wxShowEvent, setShow, 1}},
- {2781, {wxShowEvent, getShow, 0}},
- {2782, {wxIconizeEvent, iconized, 0}},
- {2783, {wxJoystickEvent, buttonDown, 1}},
- {2784, {wxJoystickEvent, buttonIsDown, 1}},
- {2785, {wxJoystickEvent, buttonUp, 1}},
- {2786, {wxJoystickEvent, getButtonChange, 0}},
- {2787, {wxJoystickEvent, getButtonState, 0}},
- {2788, {wxJoystickEvent, getJoystick, 0}},
- {2789, {wxJoystickEvent, getPosition, 0}},
- {2790, {wxJoystickEvent, getZPosition, 0}},
- {2791, {wxJoystickEvent, isButton, 0}},
- {2792, {wxJoystickEvent, isMove, 0}},
- {2793, {wxJoystickEvent, isZMove, 0}},
- {2794, {wxUpdateUIEvent, canUpdate, 1}},
- {2795, {wxUpdateUIEvent, check, 1}},
- {2796, {wxUpdateUIEvent, enable, 1}},
- {2797, {wxUpdateUIEvent, show, 1}},
- {2798, {wxUpdateUIEvent, getChecked, 0}},
- {2799, {wxUpdateUIEvent, getEnabled, 0}},
- {2800, {wxUpdateUIEvent, getShown, 0}},
- {2801, {wxUpdateUIEvent, getSetChecked, 0}},
- {2802, {wxUpdateUIEvent, getSetEnabled, 0}},
- {2803, {wxUpdateUIEvent, getSetShown, 0}},
- {2804, {wxUpdateUIEvent, getSetText, 0}},
- {2805, {wxUpdateUIEvent, getText, 0}},
- {2806, {wxUpdateUIEvent, getMode, 0}},
- {2807, {wxUpdateUIEvent, getUpdateInterval, 0}},
- {2808, {wxUpdateUIEvent, resetUpdateTime, 0}},
- {2809, {wxUpdateUIEvent, setMode, 1}},
- {2810, {wxUpdateUIEvent, setText, 1}},
- {2811, {wxUpdateUIEvent, setUpdateInterval, 1}},
- {2812, {wxMouseCaptureChangedEvent, getCapturedWindow, 0}},
- {2813, {wxPaletteChangedEvent, setChangedWindow, 1}},
- {2814, {wxPaletteChangedEvent, getChangedWindow, 0}},
- {2815, {wxQueryNewPaletteEvent, setPaletteRealized, 1}},
- {2816, {wxQueryNewPaletteEvent, getPaletteRealized, 0}},
- {2817, {wxNavigationKeyEvent, getDirection, 0}},
- {2818, {wxNavigationKeyEvent, setDirection, 1}},
- {2819, {wxNavigationKeyEvent, isWindowChange, 0}},
- {2820, {wxNavigationKeyEvent, setWindowChange, 1}},
- {2821, {wxNavigationKeyEvent, isFromTab, 0}},
- {2822, {wxNavigationKeyEvent, setFromTab, 1}},
- {2823, {wxNavigationKeyEvent, getCurrentFocus, 0}},
- {2824, {wxNavigationKeyEvent, setCurrentFocus, 1}},
- {2825, {wxHelpEvent, getOrigin, 0}},
- {2826, {wxHelpEvent, getPosition, 0}},
- {2827, {wxHelpEvent, setOrigin, 1}},
- {2828, {wxHelpEvent, setPosition, 1}},
- {2829, {wxContextMenuEvent, getPosition, 0}},
- {2830, {wxContextMenuEvent, setPosition, 1}},
- {2831, {wxIdleEvent, canSend, 1}},
- {2832, {wxIdleEvent, getMode, 0}},
- {2833, {wxIdleEvent, requestMore, 1}},
- {2834, {wxIdleEvent, moreRequested, 0}},
- {2835, {wxIdleEvent, setMode, 1}},
- {2836, {wxGridEvent, altDown, 0}},
- {2837, {wxGridEvent, controlDown, 0}},
- {2838, {wxGridEvent, getCol, 0}},
- {2839, {wxGridEvent, getPosition, 0}},
- {2840, {wxGridEvent, getRow, 0}},
- {2841, {wxGridEvent, metaDown, 0}},
- {2842, {wxGridEvent, selecting, 0}},
- {2843, {wxGridEvent, shiftDown, 0}},
- {2844, {wxNotifyEvent, allow, 0}},
- {2845, {wxNotifyEvent, isAllowed, 0}},
- {2846, {wxNotifyEvent, veto, 0}},
- {2847, {wxSashEvent, getEdge, 0}},
- {2848, {wxSashEvent, getDragRect, 0}},
- {2849, {wxSashEvent, getDragStatus, 0}},
- {2850, {wxListEvent, getCacheFrom, 0}},
- {2851, {wxListEvent, getCacheTo, 0}},
- {2852, {wxListEvent, getKeyCode, 0}},
- {2853, {wxListEvent, getIndex, 0}},
- {2854, {wxListEvent, getColumn, 0}},
- {2855, {wxListEvent, getPoint, 0}},
- {2856, {wxListEvent, getLabel, 0}},
- {2857, {wxListEvent, getText, 0}},
- {2858, {wxListEvent, getImage, 0}},
- {2859, {wxListEvent, getData, 0}},
- {2860, {wxListEvent, getMask, 0}},
- {2861, {wxListEvent, getItem, 0}},
- {2862, {wxListEvent, isEditCancelled, 0}},
- {2863, {wxDateEvent, getDate, 0}},
- {2864, {wxCalendarEvent, getWeekDay, 0}},
- {2865, {wxFileDirPickerEvent, getPath, 0}},
- {2866, {wxColourPickerEvent, getColour, 0}},
- {2867, {wxFontPickerEvent, getFont, 0}},
- {2868, {wxStyledTextEvent, getPosition, 0}},
- {2869, {wxStyledTextEvent, getKey, 0}},
- {2870, {wxStyledTextEvent, getModifiers, 0}},
- {2871, {wxStyledTextEvent, getModificationType, 0}},
- {2872, {wxStyledTextEvent, getText, 0}},
- {2873, {wxStyledTextEvent, getLength, 0}},
- {2874, {wxStyledTextEvent, getLinesAdded, 0}},
- {2875, {wxStyledTextEvent, getLine, 0}},
- {2876, {wxStyledTextEvent, getFoldLevelNow, 0}},
- {2877, {wxStyledTextEvent, getFoldLevelPrev, 0}},
- {2878, {wxStyledTextEvent, getMargin, 0}},
- {2879, {wxStyledTextEvent, getMessage, 0}},
- {2880, {wxStyledTextEvent, getWParam, 0}},
- {2881, {wxStyledTextEvent, getLParam, 0}},
- {2882, {wxStyledTextEvent, getListType, 0}},
- {2883, {wxStyledTextEvent, getX, 0}},
- {2884, {wxStyledTextEvent, getY, 0}},
- {2885, {wxStyledTextEvent, getDragText, 0}},
- {2886, {wxStyledTextEvent, getDragAllowMove, 0}},
- {2887, {wxStyledTextEvent, getDragResult, 0}},
- {2888, {wxStyledTextEvent, getShift, 0}},
- {2889, {wxStyledTextEvent, getControl, 0}},
- {2890, {wxStyledTextEvent, getAlt, 0}},
- {2891, {utils, getKeyState, 1}},
- {2892, {utils, getMousePosition, 2}},
- {2893, {utils, getMouseState, 0}},
- {2894, {utils, setDetectableAutoRepeat, 1}},
- {2895, {utils, bell, 0}},
- {2896, {utils, findMenuItemId, 3}},
- {2897, {utils, genericFindWindowAtPoint, 1}},
- {2898, {utils, findWindowAtPoint, 1}},
- {2899, {utils, beginBusyCursor, 1}},
- {2900, {utils, endBusyCursor, 0}},
- {2901, {utils, isBusy, 0}},
- {2902, {utils, shutdown, 1}},
- {2903, {utils, shell, 1}},
- {2904, {utils, launchDefaultBrowser, 2}},
- {2905, {utils, getEmailAddress, 0}},
- {2906, {utils, getUserId, 0}},
- {2907, {utils, getHomeDir, 0}},
- {2908, {utils, newId, 0}},
- {2909, {utils, registerId, 1}},
- {2910, {utils, getCurrentId, 0}},
- {2911, {utils, getOsDescription, 0}},
- {2912, {utils, isPlatformLittleEndian, 0}},
- {2913, {utils, isPlatform64Bit, 0}},
- {2914, {wxPrintout, new, 1}},
- {2915, {wxPrintout, destruct, 0}},
- {2916, {wxPrintout, getDC, 0}},
- {2917, {wxPrintout, getPageSizeMM, 2}},
- {2918, {wxPrintout, getPageSizePixels, 2}},
- {2919, {wxPrintout, getPaperRectPixels, 0}},
- {2920, {wxPrintout, getPPIPrinter, 2}},
- {2921, {wxPrintout, getPPIScreen, 2}},
- {2922, {wxPrintout, getTitle, 0}},
- {2923, {wxPrintout, isPreview, 0}},
- {2924, {wxPrintout, fitThisSizeToPaper, 1}},
- {2925, {wxPrintout, fitThisSizeToPage, 1}},
- {2926, {wxPrintout, fitThisSizeToPageMargins, 2}},
- {2927, {wxPrintout, mapScreenSizeToPaper, 0}},
- {2928, {wxPrintout, mapScreenSizeToPage, 0}},
- {2929, {wxPrintout, mapScreenSizeToPageMargins, 1}},
- {2930, {wxPrintout, mapScreenSizeToDevice, 0}},
- {2931, {wxPrintout, getLogicalPaperRect, 0}},
- {2932, {wxPrintout, getLogicalPageRect, 0}},
- {2933, {wxPrintout, getLogicalPageMarginsRect, 1}},
- {2934, {wxPrintout, setLogicalOrigin, 2}},
- {2935, {wxPrintout, offsetLogicalOrigin, 2}},
- {2936, {wxStyledTextCtrl, new_2, 2}},
- {2937, {wxStyledTextCtrl, new_0, 0}},
- {2938, {wxStyledTextCtrl, destruct, 0}},
- {2939, {wxStyledTextCtrl, create, 2}},
- {2940, {wxStyledTextCtrl, addText, 1}},
- {2941, {wxStyledTextCtrl, addStyledText, 1}},
- {2942, {wxStyledTextCtrl, insertText, 2}},
- {2943, {wxStyledTextCtrl, clearAll, 0}},
- {2944, {wxStyledTextCtrl, clearDocumentStyle, 0}},
- {2945, {wxStyledTextCtrl, getLength, 0}},
- {2946, {wxStyledTextCtrl, getCharAt, 1}},
- {2947, {wxStyledTextCtrl, getCurrentPos, 0}},
- {2948, {wxStyledTextCtrl, getAnchor, 0}},
- {2949, {wxStyledTextCtrl, getStyleAt, 1}},
- {2950, {wxStyledTextCtrl, redo, 0}},
- {2951, {wxStyledTextCtrl, setUndoCollection, 1}},
- {2952, {wxStyledTextCtrl, selectAll, 0}},
- {2953, {wxStyledTextCtrl, setSavePoint, 0}},
- {2954, {wxStyledTextCtrl, getStyledText, 2}},
- {2955, {wxStyledTextCtrl, canRedo, 0}},
- {2956, {wxStyledTextCtrl, markerLineFromHandle, 1}},
- {2957, {wxStyledTextCtrl, markerDeleteHandle, 1}},
- {2958, {wxStyledTextCtrl, getUndoCollection, 0}},
- {2959, {wxStyledTextCtrl, getViewWhiteSpace, 0}},
- {2960, {wxStyledTextCtrl, setViewWhiteSpace, 1}},
- {2961, {wxStyledTextCtrl, positionFromPoint, 1}},
- {2962, {wxStyledTextCtrl, positionFromPointClose, 2}},
- {2963, {wxStyledTextCtrl, gotoLine, 1}},
- {2964, {wxStyledTextCtrl, gotoPos, 1}},
- {2965, {wxStyledTextCtrl, setAnchor, 1}},
- {2966, {wxStyledTextCtrl, getCurLine, 1}},
- {2967, {wxStyledTextCtrl, getEndStyled, 0}},
- {2968, {wxStyledTextCtrl, convertEOLs, 1}},
- {2969, {wxStyledTextCtrl, getEOLMode, 0}},
- {2970, {wxStyledTextCtrl, setEOLMode, 1}},
- {2971, {wxStyledTextCtrl, startStyling, 2}},
- {2972, {wxStyledTextCtrl, setStyling, 2}},
- {2973, {wxStyledTextCtrl, getBufferedDraw, 0}},
- {2974, {wxStyledTextCtrl, setBufferedDraw, 1}},
- {2975, {wxStyledTextCtrl, setTabWidth, 1}},
- {2976, {wxStyledTextCtrl, getTabWidth, 0}},
- {2977, {wxStyledTextCtrl, setCodePage, 1}},
- {2978, {wxStyledTextCtrl, markerDefine, 3}},
- {2979, {wxStyledTextCtrl, markerSetForeground, 2}},
- {2980, {wxStyledTextCtrl, markerSetBackground, 2}},
- {2981, {wxStyledTextCtrl, markerAdd, 2}},
- {2982, {wxStyledTextCtrl, markerDelete, 2}},
- {2983, {wxStyledTextCtrl, markerDeleteAll, 1}},
- {2984, {wxStyledTextCtrl, markerGet, 1}},
- {2985, {wxStyledTextCtrl, markerNext, 2}},
- {2986, {wxStyledTextCtrl, markerPrevious, 2}},
- {2987, {wxStyledTextCtrl, markerDefineBitmap, 2}},
- {2988, {wxStyledTextCtrl, markerAddSet, 2}},
- {2989, {wxStyledTextCtrl, markerSetAlpha, 2}},
- {2990, {wxStyledTextCtrl, setMarginType, 2}},
- {2991, {wxStyledTextCtrl, getMarginType, 1}},
- {2992, {wxStyledTextCtrl, setMarginWidth, 2}},
- {2993, {wxStyledTextCtrl, getMarginWidth, 1}},
- {2994, {wxStyledTextCtrl, setMarginMask, 2}},
- {2995, {wxStyledTextCtrl, getMarginMask, 1}},
- {2996, {wxStyledTextCtrl, setMarginSensitive, 2}},
- {2997, {wxStyledTextCtrl, getMarginSensitive, 1}},
- {2998, {wxStyledTextCtrl, styleClearAll, 0}},
- {2999, {wxStyledTextCtrl, styleSetForeground, 2}},
- {3000, {wxStyledTextCtrl, styleSetBackground, 2}},
- {3001, {wxStyledTextCtrl, styleSetBold, 2}},
- {3002, {wxStyledTextCtrl, styleSetItalic, 2}},
- {3003, {wxStyledTextCtrl, styleSetSize, 2}},
- {3004, {wxStyledTextCtrl, styleSetFaceName, 2}},
- {3005, {wxStyledTextCtrl, styleSetEOLFilled, 2}},
- {3006, {wxStyledTextCtrl, styleResetDefault, 0}},
- {3007, {wxStyledTextCtrl, styleSetUnderline, 2}},
- {3008, {wxStyledTextCtrl, styleSetCase, 2}},
- {3009, {wxStyledTextCtrl, styleSetHotSpot, 2}},
- {3010, {wxStyledTextCtrl, setSelForeground, 2}},
- {3011, {wxStyledTextCtrl, setSelBackground, 2}},
- {3012, {wxStyledTextCtrl, getSelAlpha, 0}},
- {3013, {wxStyledTextCtrl, setSelAlpha, 1}},
- {3014, {wxStyledTextCtrl, setCaretForeground, 1}},
- {3015, {wxStyledTextCtrl, cmdKeyAssign, 3}},
- {3016, {wxStyledTextCtrl, cmdKeyClear, 2}},
- {3017, {wxStyledTextCtrl, cmdKeyClearAll, 0}},
- {3018, {wxStyledTextCtrl, setStyleBytes, 2}},
- {3019, {wxStyledTextCtrl, styleSetVisible, 2}},
- {3020, {wxStyledTextCtrl, getCaretPeriod, 0}},
- {3021, {wxStyledTextCtrl, setCaretPeriod, 1}},
- {3022, {wxStyledTextCtrl, setWordChars, 1}},
- {3023, {wxStyledTextCtrl, beginUndoAction, 0}},
- {3024, {wxStyledTextCtrl, endUndoAction, 0}},
- {3025, {wxStyledTextCtrl, indicatorSetStyle, 2}},
- {3026, {wxStyledTextCtrl, indicatorGetStyle, 1}},
- {3027, {wxStyledTextCtrl, indicatorSetForeground, 2}},
- {3028, {wxStyledTextCtrl, indicatorGetForeground, 1}},
- {3029, {wxStyledTextCtrl, setWhitespaceForeground, 2}},
- {3030, {wxStyledTextCtrl, setWhitespaceBackground, 2}},
- {3031, {wxStyledTextCtrl, getStyleBits, 0}},
- {3032, {wxStyledTextCtrl, setLineState, 2}},
- {3033, {wxStyledTextCtrl, getLineState, 1}},
- {3034, {wxStyledTextCtrl, getMaxLineState, 0}},
- {3035, {wxStyledTextCtrl, getCaretLineVisible, 0}},
- {3036, {wxStyledTextCtrl, setCaretLineVisible, 1}},
- {3037, {wxStyledTextCtrl, getCaretLineBackground, 0}},
- {3038, {wxStyledTextCtrl, setCaretLineBackground, 1}},
- {3039, {wxStyledTextCtrl, autoCompShow, 2}},
- {3040, {wxStyledTextCtrl, autoCompCancel, 0}},
- {3041, {wxStyledTextCtrl, autoCompActive, 0}},
- {3042, {wxStyledTextCtrl, autoCompPosStart, 0}},
- {3043, {wxStyledTextCtrl, autoCompComplete, 0}},
- {3044, {wxStyledTextCtrl, autoCompStops, 1}},
- {3045, {wxStyledTextCtrl, autoCompSetSeparator, 1}},
- {3046, {wxStyledTextCtrl, autoCompGetSeparator, 0}},
- {3047, {wxStyledTextCtrl, autoCompSelect, 1}},
- {3048, {wxStyledTextCtrl, autoCompSetCancelAtStart, 1}},
- {3049, {wxStyledTextCtrl, autoCompGetCancelAtStart, 0}},
- {3050, {wxStyledTextCtrl, autoCompSetFillUps, 1}},
- {3051, {wxStyledTextCtrl, autoCompSetChooseSingle, 1}},
- {3052, {wxStyledTextCtrl, autoCompGetChooseSingle, 0}},
- {3053, {wxStyledTextCtrl, autoCompSetIgnoreCase, 1}},
- {3054, {wxStyledTextCtrl, autoCompGetIgnoreCase, 0}},
- {3055, {wxStyledTextCtrl, userListShow, 2}},
- {3056, {wxStyledTextCtrl, autoCompSetAutoHide, 1}},
- {3057, {wxStyledTextCtrl, autoCompGetAutoHide, 0}},
- {3058, {wxStyledTextCtrl, autoCompSetDropRestOfWord, 1}},
- {3059, {wxStyledTextCtrl, autoCompGetDropRestOfWord, 0}},
- {3060, {wxStyledTextCtrl, registerImage, 2}},
- {3061, {wxStyledTextCtrl, clearRegisteredImages, 0}},
- {3062, {wxStyledTextCtrl, autoCompGetTypeSeparator, 0}},
- {3063, {wxStyledTextCtrl, autoCompSetTypeSeparator, 1}},
- {3064, {wxStyledTextCtrl, autoCompSetMaxWidth, 1}},
- {3065, {wxStyledTextCtrl, autoCompGetMaxWidth, 0}},
- {3066, {wxStyledTextCtrl, autoCompSetMaxHeight, 1}},
- {3067, {wxStyledTextCtrl, autoCompGetMaxHeight, 0}},
- {3068, {wxStyledTextCtrl, setIndent, 1}},
- {3069, {wxStyledTextCtrl, getIndent, 0}},
- {3070, {wxStyledTextCtrl, setUseTabs, 1}},
- {3071, {wxStyledTextCtrl, getUseTabs, 0}},
- {3072, {wxStyledTextCtrl, setLineIndentation, 2}},
- {3073, {wxStyledTextCtrl, getLineIndentation, 1}},
- {3074, {wxStyledTextCtrl, getLineIndentPosition, 1}},
- {3075, {wxStyledTextCtrl, getColumn, 1}},
- {3076, {wxStyledTextCtrl, setUseHorizontalScrollBar, 1}},
- {3077, {wxStyledTextCtrl, getUseHorizontalScrollBar, 0}},
- {3078, {wxStyledTextCtrl, setIndentationGuides, 1}},
- {3079, {wxStyledTextCtrl, getIndentationGuides, 0}},
- {3080, {wxStyledTextCtrl, setHighlightGuide, 1}},
- {3081, {wxStyledTextCtrl, getHighlightGuide, 0}},
- {3082, {wxStyledTextCtrl, getLineEndPosition, 1}},
- {3083, {wxStyledTextCtrl, getCodePage, 0}},
- {3084, {wxStyledTextCtrl, getCaretForeground, 0}},
- {3085, {wxStyledTextCtrl, getReadOnly, 0}},
- {3086, {wxStyledTextCtrl, setCurrentPos, 1}},
- {3087, {wxStyledTextCtrl, setSelectionStart, 1}},
- {3088, {wxStyledTextCtrl, getSelectionStart, 0}},
- {3089, {wxStyledTextCtrl, setSelectionEnd, 1}},
- {3090, {wxStyledTextCtrl, getSelectionEnd, 0}},
- {3091, {wxStyledTextCtrl, setPrintMagnification, 1}},
- {3092, {wxStyledTextCtrl, getPrintMagnification, 0}},
- {3093, {wxStyledTextCtrl, setPrintColourMode, 1}},
- {3094, {wxStyledTextCtrl, getPrintColourMode, 0}},
- {3095, {wxStyledTextCtrl, findText, 4}},
- {3096, {wxStyledTextCtrl, formatRange, 7}},
- {3097, {wxStyledTextCtrl, getFirstVisibleLine, 0}},
- {3098, {wxStyledTextCtrl, getLine, 1}},
- {3099, {wxStyledTextCtrl, getLineCount, 0}},
- {3100, {wxStyledTextCtrl, setMarginLeft, 1}},
- {3101, {wxStyledTextCtrl, getMarginLeft, 0}},
- {3102, {wxStyledTextCtrl, setMarginRight, 1}},
- {3103, {wxStyledTextCtrl, getMarginRight, 0}},
- {3104, {wxStyledTextCtrl, getModify, 0}},
- {3105, {wxStyledTextCtrl, setSelection, 2}},
- {3106, {wxStyledTextCtrl, getSelectedText, 0}},
- {3107, {wxStyledTextCtrl, getTextRange, 2}},
- {3108, {wxStyledTextCtrl, hideSelection, 1}},
- {3109, {wxStyledTextCtrl, lineFromPosition, 1}},
- {3110, {wxStyledTextCtrl, positionFromLine, 1}},
- {3111, {wxStyledTextCtrl, lineScroll, 2}},
- {3112, {wxStyledTextCtrl, ensureCaretVisible, 0}},
- {3113, {wxStyledTextCtrl, replaceSelection, 1}},
- {3114, {wxStyledTextCtrl, setReadOnly, 1}},
- {3115, {wxStyledTextCtrl, canPaste, 0}},
- {3116, {wxStyledTextCtrl, canUndo, 0}},
- {3117, {wxStyledTextCtrl, emptyUndoBuffer, 0}},
- {3118, {wxStyledTextCtrl, undo, 0}},
- {3119, {wxStyledTextCtrl, cut, 0}},
- {3120, {wxStyledTextCtrl, copy, 0}},
- {3121, {wxStyledTextCtrl, paste, 0}},
- {3122, {wxStyledTextCtrl, clear, 0}},
- {3123, {wxStyledTextCtrl, setText, 1}},
- {3124, {wxStyledTextCtrl, getText, 0}},
- {3125, {wxStyledTextCtrl, getTextLength, 0}},
- {3126, {wxStyledTextCtrl, getOvertype, 0}},
- {3127, {wxStyledTextCtrl, setCaretWidth, 1}},
- {3128, {wxStyledTextCtrl, getCaretWidth, 0}},
- {3129, {wxStyledTextCtrl, setTargetStart, 1}},
- {3130, {wxStyledTextCtrl, getTargetStart, 0}},
- {3131, {wxStyledTextCtrl, setTargetEnd, 1}},
- {3132, {wxStyledTextCtrl, getTargetEnd, 0}},
- {3133, {wxStyledTextCtrl, replaceTarget, 1}},
- {3134, {wxStyledTextCtrl, searchInTarget, 1}},
- {3135, {wxStyledTextCtrl, setSearchFlags, 1}},
- {3136, {wxStyledTextCtrl, getSearchFlags, 0}},
- {3137, {wxStyledTextCtrl, callTipShow, 2}},
- {3138, {wxStyledTextCtrl, callTipCancel, 0}},
- {3139, {wxStyledTextCtrl, callTipActive, 0}},
- {3140, {wxStyledTextCtrl, callTipPosAtStart, 0}},
- {3141, {wxStyledTextCtrl, callTipSetHighlight, 2}},
- {3142, {wxStyledTextCtrl, callTipSetBackground, 1}},
- {3143, {wxStyledTextCtrl, callTipSetForeground, 1}},
- {3144, {wxStyledTextCtrl, callTipSetForegroundHighlight, 1}},
- {3145, {wxStyledTextCtrl, callTipUseStyle, 1}},
- {3146, {wxStyledTextCtrl, visibleFromDocLine, 1}},
- {3147, {wxStyledTextCtrl, docLineFromVisible, 1}},
- {3148, {wxStyledTextCtrl, wrapCount, 1}},
- {3149, {wxStyledTextCtrl, setFoldLevel, 2}},
- {3150, {wxStyledTextCtrl, getFoldLevel, 1}},
- {3151, {wxStyledTextCtrl, getLastChild, 2}},
- {3152, {wxStyledTextCtrl, getFoldParent, 1}},
- {3153, {wxStyledTextCtrl, showLines, 2}},
- {3154, {wxStyledTextCtrl, hideLines, 2}},
- {3155, {wxStyledTextCtrl, getLineVisible, 1}},
- {3156, {wxStyledTextCtrl, setFoldExpanded, 2}},
- {3157, {wxStyledTextCtrl, getFoldExpanded, 1}},
- {3158, {wxStyledTextCtrl, toggleFold, 1}},
- {3159, {wxStyledTextCtrl, ensureVisible, 1}},
- {3160, {wxStyledTextCtrl, setFoldFlags, 1}},
- {3161, {wxStyledTextCtrl, ensureVisibleEnforcePolicy, 1}},
- {3162, {wxStyledTextCtrl, setTabIndents, 1}},
- {3163, {wxStyledTextCtrl, getTabIndents, 0}},
- {3164, {wxStyledTextCtrl, setBackSpaceUnIndents, 1}},
- {3165, {wxStyledTextCtrl, getBackSpaceUnIndents, 0}},
- {3166, {wxStyledTextCtrl, setMouseDwellTime, 1}},
- {3167, {wxStyledTextCtrl, getMouseDwellTime, 0}},
- {3168, {wxStyledTextCtrl, wordStartPosition, 2}},
- {3169, {wxStyledTextCtrl, wordEndPosition, 2}},
- {3170, {wxStyledTextCtrl, setWrapMode, 1}},
- {3171, {wxStyledTextCtrl, getWrapMode, 0}},
- {3172, {wxStyledTextCtrl, setWrapVisualFlags, 1}},
- {3173, {wxStyledTextCtrl, getWrapVisualFlags, 0}},
- {3174, {wxStyledTextCtrl, setWrapVisualFlagsLocation, 1}},
- {3175, {wxStyledTextCtrl, getWrapVisualFlagsLocation, 0}},
- {3176, {wxStyledTextCtrl, setWrapStartIndent, 1}},
- {3177, {wxStyledTextCtrl, getWrapStartIndent, 0}},
- {3178, {wxStyledTextCtrl, setLayoutCache, 1}},
- {3179, {wxStyledTextCtrl, getLayoutCache, 0}},
- {3180, {wxStyledTextCtrl, setScrollWidth, 1}},
- {3181, {wxStyledTextCtrl, getScrollWidth, 0}},
- {3182, {wxStyledTextCtrl, textWidth, 2}},
- {3183, {wxStyledTextCtrl, getEndAtLastLine, 0}},
- {3184, {wxStyledTextCtrl, textHeight, 1}},
- {3185, {wxStyledTextCtrl, setUseVerticalScrollBar, 1}},
- {3186, {wxStyledTextCtrl, getUseVerticalScrollBar, 0}},
- {3187, {wxStyledTextCtrl, appendText, 1}},
- {3188, {wxStyledTextCtrl, getTwoPhaseDraw, 0}},
- {3189, {wxStyledTextCtrl, setTwoPhaseDraw, 1}},
- {3190, {wxStyledTextCtrl, targetFromSelection, 0}},
- {3191, {wxStyledTextCtrl, linesJoin, 0}},
- {3192, {wxStyledTextCtrl, linesSplit, 1}},
- {3193, {wxStyledTextCtrl, setFoldMarginColour, 2}},
- {3194, {wxStyledTextCtrl, setFoldMarginHiColour, 2}},
- {3195, {wxStyledTextCtrl, lineDown, 0}},
- {3196, {wxStyledTextCtrl, lineDownExtend, 0}},
- {3197, {wxStyledTextCtrl, lineUp, 0}},
- {3198, {wxStyledTextCtrl, lineUpExtend, 0}},
- {3199, {wxStyledTextCtrl, charLeft, 0}},
- {3200, {wxStyledTextCtrl, charLeftExtend, 0}},
- {3201, {wxStyledTextCtrl, charRight, 0}},
- {3202, {wxStyledTextCtrl, charRightExtend, 0}},
- {3203, {wxStyledTextCtrl, wordLeft, 0}},
- {3204, {wxStyledTextCtrl, wordLeftExtend, 0}},
- {3205, {wxStyledTextCtrl, wordRight, 0}},
- {3206, {wxStyledTextCtrl, wordRightExtend, 0}},
- {3207, {wxStyledTextCtrl, home, 0}},
- {3208, {wxStyledTextCtrl, homeExtend, 0}},
- {3209, {wxStyledTextCtrl, lineEnd, 0}},
- {3210, {wxStyledTextCtrl, lineEndExtend, 0}},
- {3211, {wxStyledTextCtrl, documentStart, 0}},
- {3212, {wxStyledTextCtrl, documentStartExtend, 0}},
- {3213, {wxStyledTextCtrl, documentEnd, 0}},
- {3214, {wxStyledTextCtrl, documentEndExtend, 0}},
- {3215, {wxStyledTextCtrl, pageUp, 0}},
- {3216, {wxStyledTextCtrl, pageUpExtend, 0}},
- {3217, {wxStyledTextCtrl, pageDown, 0}},
- {3218, {wxStyledTextCtrl, pageDownExtend, 0}},
- {3219, {wxStyledTextCtrl, editToggleOvertype, 0}},
- {3220, {wxStyledTextCtrl, cancel, 0}},
- {3221, {wxStyledTextCtrl, deleteBack, 0}},
- {3222, {wxStyledTextCtrl, tab, 0}},
- {3223, {wxStyledTextCtrl, backTab, 0}},
- {3224, {wxStyledTextCtrl, newLine, 0}},
- {3225, {wxStyledTextCtrl, formFeed, 0}},
- {3226, {wxStyledTextCtrl, vCHome, 0}},
- {3227, {wxStyledTextCtrl, vCHomeExtend, 0}},
- {3228, {wxStyledTextCtrl, zoomIn, 0}},
- {3229, {wxStyledTextCtrl, zoomOut, 0}},
- {3230, {wxStyledTextCtrl, delWordLeft, 0}},
- {3231, {wxStyledTextCtrl, delWordRight, 0}},
- {3232, {wxStyledTextCtrl, lineCut, 0}},
- {3233, {wxStyledTextCtrl, lineDelete, 0}},
- {3234, {wxStyledTextCtrl, lineTranspose, 0}},
- {3235, {wxStyledTextCtrl, lineDuplicate, 0}},
- {3236, {wxStyledTextCtrl, lowerCase, 0}},
- {3237, {wxStyledTextCtrl, upperCase, 0}},
- {3238, {wxStyledTextCtrl, lineScrollDown, 0}},
- {3239, {wxStyledTextCtrl, lineScrollUp, 0}},
- {3240, {wxStyledTextCtrl, deleteBackNotLine, 0}},
- {3241, {wxStyledTextCtrl, homeDisplay, 0}},
- {3242, {wxStyledTextCtrl, homeDisplayExtend, 0}},
- {3243, {wxStyledTextCtrl, lineEndDisplay, 0}},
- {3244, {wxStyledTextCtrl, lineEndDisplayExtend, 0}},
- {3245, {wxStyledTextCtrl, homeWrapExtend, 0}},
- {3246, {wxStyledTextCtrl, lineEndWrap, 0}},
- {3247, {wxStyledTextCtrl, lineEndWrapExtend, 0}},
- {3248, {wxStyledTextCtrl, vCHomeWrap, 0}},
- {3249, {wxStyledTextCtrl, vCHomeWrapExtend, 0}},
- {3250, {wxStyledTextCtrl, lineCopy, 0}},
- {3251, {wxStyledTextCtrl, moveCaretInsideView, 0}},
- {3252, {wxStyledTextCtrl, lineLength, 1}},
- {3253, {wxStyledTextCtrl, braceHighlight, 2}},
- {3254, {wxStyledTextCtrl, braceBadLight, 1}},
- {3255, {wxStyledTextCtrl, braceMatch, 1}},
- {3256, {wxStyledTextCtrl, getViewEOL, 0}},
- {3257, {wxStyledTextCtrl, setViewEOL, 1}},
- {3258, {wxStyledTextCtrl, setModEventMask, 1}},
- {3259, {wxStyledTextCtrl, getEdgeColumn, 0}},
- {3260, {wxStyledTextCtrl, setEdgeColumn, 1}},
- {3261, {wxStyledTextCtrl, getEdgeMode, 0}},
- {3262, {wxStyledTextCtrl, getEdgeColour, 0}},
- {3263, {wxStyledTextCtrl, setEdgeColour, 1}},
- {3264, {wxStyledTextCtrl, searchAnchor, 0}},
- {3265, {wxStyledTextCtrl, searchNext, 2}},
- {3266, {wxStyledTextCtrl, searchPrev, 2}},
- {3267, {wxStyledTextCtrl, linesOnScreen, 0}},
- {3268, {wxStyledTextCtrl, usePopUp, 1}},
- {3269, {wxStyledTextCtrl, selectionIsRectangle, 0}},
- {3270, {wxStyledTextCtrl, setZoom, 1}},
- {3271, {wxStyledTextCtrl, getZoom, 0}},
- {3272, {wxStyledTextCtrl, getModEventMask, 0}},
- {3273, {wxStyledTextCtrl, setSTCFocus, 1}},
- {3274, {wxStyledTextCtrl, getSTCFocus, 0}},
- {3275, {wxStyledTextCtrl, setStatus, 1}},
- {3276, {wxStyledTextCtrl, getStatus, 0}},
- {3277, {wxStyledTextCtrl, setMouseDownCaptures, 1}},
- {3278, {wxStyledTextCtrl, getMouseDownCaptures, 0}},
- {3279, {wxStyledTextCtrl, setSTCCursor, 1}},
- {3280, {wxStyledTextCtrl, getSTCCursor, 0}},
- {3281, {wxStyledTextCtrl, setControlCharSymbol, 1}},
- {3282, {wxStyledTextCtrl, getControlCharSymbol, 0}},
- {3283, {wxStyledTextCtrl, wordPartLeft, 0}},
- {3284, {wxStyledTextCtrl, wordPartLeftExtend, 0}},
- {3285, {wxStyledTextCtrl, wordPartRight, 0}},
- {3286, {wxStyledTextCtrl, wordPartRightExtend, 0}},
- {3287, {wxStyledTextCtrl, setVisiblePolicy, 2}},
- {3288, {wxStyledTextCtrl, delLineLeft, 0}},
- {3289, {wxStyledTextCtrl, delLineRight, 0}},
- {3290, {wxStyledTextCtrl, getXOffset, 0}},
- {3291, {wxStyledTextCtrl, chooseCaretX, 0}},
- {3292, {wxStyledTextCtrl, setXCaretPolicy, 2}},
- {3293, {wxStyledTextCtrl, setYCaretPolicy, 2}},
- {3294, {wxStyledTextCtrl, getPrintWrapMode, 0}},
- {3295, {wxStyledTextCtrl, setHotspotActiveForeground, 2}},
- {3296, {wxStyledTextCtrl, setHotspotActiveBackground, 2}},
- {3297, {wxStyledTextCtrl, setHotspotActiveUnderline, 1}},
- {3298, {wxStyledTextCtrl, setHotspotSingleLine, 1}},
- {3299, {wxStyledTextCtrl, paraDownExtend, 0}},
- {3300, {wxStyledTextCtrl, paraUp, 0}},
- {3301, {wxStyledTextCtrl, paraUpExtend, 0}},
- {3302, {wxStyledTextCtrl, positionBefore, 1}},
- {3303, {wxStyledTextCtrl, positionAfter, 1}},
- {3304, {wxStyledTextCtrl, copyRange, 2}},
- {3305, {wxStyledTextCtrl, copyText, 2}},
- {3306, {wxStyledTextCtrl, setSelectionMode, 1}},
- {3307, {wxStyledTextCtrl, getSelectionMode, 0}},
- {3308, {wxStyledTextCtrl, lineDownRectExtend, 0}},
- {3309, {wxStyledTextCtrl, lineUpRectExtend, 0}},
- {3310, {wxStyledTextCtrl, charLeftRectExtend, 0}},
- {3311, {wxStyledTextCtrl, charRightRectExtend, 0}},
- {3312, {wxStyledTextCtrl, homeRectExtend, 0}},
- {3313, {wxStyledTextCtrl, vCHomeRectExtend, 0}},
- {3314, {wxStyledTextCtrl, lineEndRectExtend, 0}},
- {3315, {wxStyledTextCtrl, pageUpRectExtend, 0}},
- {3316, {wxStyledTextCtrl, pageDownRectExtend, 0}},
- {3317, {wxStyledTextCtrl, stutteredPageUp, 0}},
- {3318, {wxStyledTextCtrl, stutteredPageUpExtend, 0}},
- {3319, {wxStyledTextCtrl, stutteredPageDown, 0}},
- {3320, {wxStyledTextCtrl, stutteredPageDownExtend, 0}},
- {3321, {wxStyledTextCtrl, wordLeftEnd, 0}},
- {3322, {wxStyledTextCtrl, wordLeftEndExtend, 0}},
- {3323, {wxStyledTextCtrl, wordRightEnd, 0}},
- {3324, {wxStyledTextCtrl, wordRightEndExtend, 0}},
- {3325, {wxStyledTextCtrl, setWhitespaceChars, 1}},
- {3326, {wxStyledTextCtrl, setCharsDefault, 0}},
- {3327, {wxStyledTextCtrl, autoCompGetCurrent, 0}},
- {3328, {wxStyledTextCtrl, allocate, 1}},
- {3329, {wxStyledTextCtrl, findColumn, 2}},
- {3330, {wxStyledTextCtrl, getCaretSticky, 0}},
- {3331, {wxStyledTextCtrl, setCaretSticky, 1}},
- {3332, {wxStyledTextCtrl, toggleCaretSticky, 0}},
- {3333, {wxStyledTextCtrl, setPasteConvertEndings, 1}},
- {3334, {wxStyledTextCtrl, getPasteConvertEndings, 0}},
- {3335, {wxStyledTextCtrl, selectionDuplicate, 0}},
- {3336, {wxStyledTextCtrl, setCaretLineBackAlpha, 1}},
- {3337, {wxStyledTextCtrl, getCaretLineBackAlpha, 0}},
- {3338, {wxStyledTextCtrl, startRecord, 0}},
- {3339, {wxStyledTextCtrl, stopRecord, 0}},
- {3340, {wxStyledTextCtrl, setLexer, 1}},
- {3341, {wxStyledTextCtrl, getLexer, 0}},
- {3342, {wxStyledTextCtrl, colourise, 2}},
- {3343, {wxStyledTextCtrl, setProperty, 2}},
- {3344, {wxStyledTextCtrl, setKeyWords, 2}},
- {3345, {wxStyledTextCtrl, setLexerLanguage, 1}},
- {3346, {wxStyledTextCtrl, getProperty, 1}},
- {3347, {wxStyledTextCtrl, getStyleBitsNeeded, 0}},
- {3348, {wxStyledTextCtrl, getCurrentLine, 0}},
- {3349, {wxStyledTextCtrl, styleSetSpec, 2}},
- {3350, {wxStyledTextCtrl, styleSetFont, 2}},
- {3351, {wxStyledTextCtrl, styleSetFontAttr, 7}},
- {3352, {wxStyledTextCtrl, styleSetCharacterSet, 2}},
- {3353, {wxStyledTextCtrl, styleSetFontEncoding, 2}},
- {3354, {wxStyledTextCtrl, cmdKeyExecute, 1}},
- {3355, {wxStyledTextCtrl, setMargins, 2}},
- {3356, {wxStyledTextCtrl, getSelection, 2}},
- {3357, {wxStyledTextCtrl, pointFromPosition, 1}},
- {3358, {wxStyledTextCtrl, scrollToLine, 1}},
- {3359, {wxStyledTextCtrl, scrollToColumn, 1}},
- {3360, {wxStyledTextCtrl, sendMsg, 2}},
- {3361, {wxStyledTextCtrl, setVScrollBar, 1}},
- {3362, {wxStyledTextCtrl, setHScrollBar, 1}},
- {3363, {wxStyledTextCtrl, getLastKeydownProcessed, 0}},
- {3364, {wxStyledTextCtrl, setLastKeydownProcessed, 1}},
- {3365, {wxStyledTextCtrl, saveFile, 1}},
- {3366, {wxStyledTextCtrl, loadFile, 1}},
- {3367, {wxStyledTextCtrl, doDragOver, 3}},
- {3368, {wxStyledTextCtrl, doDropText, 3}},
- {3369, {wxStyledTextCtrl, getUseAntiAliasing, 0}},
- {3370, {wxStyledTextCtrl, addTextRaw, 1}},
- {3371, {wxStyledTextCtrl, insertTextRaw, 2}},
- {3372, {wxStyledTextCtrl, getCurLineRaw, 1}},
- {3373, {wxStyledTextCtrl, getLineRaw, 1}},
- {3374, {wxStyledTextCtrl, getSelectedTextRaw, 0}},
- {3375, {wxStyledTextCtrl, getTextRangeRaw, 2}},
- {3376, {wxStyledTextCtrl, setTextRaw, 1}},
- {3377, {wxStyledTextCtrl, getTextRaw, 0}},
- {3378, {wxStyledTextCtrl, appendTextRaw, 1}},
- {3379, {wxArtProvider, getBitmap, 2}},
- {3380, {wxArtProvider, getIcon, 2}},
- {3381, {wxTreeEvent, getKeyCode, 0}},
- {3382, {wxTreeEvent, getItem, 0}},
- {3383, {wxTreeEvent, getKeyEvent, 0}},
- {3384, {wxTreeEvent, getLabel, 0}},
- {3385, {wxTreeEvent, getOldItem, 0}},
- {3386, {wxTreeEvent, getPoint, 0}},
- {3387, {wxTreeEvent, isEditCancelled, 0}},
- {3388, {wxTreeEvent, setToolTip, 1}},
- {3389, {wxNotebookEvent, getOldSelection, 0}},
- {3390, {wxNotebookEvent, getSelection, 0}},
- {3391, {wxNotebookEvent, setOldSelection, 1}},
- {3392, {wxNotebookEvent, setSelection, 1}},
- {3393, {wxFileDataObject, new, 0}},
- {3394, {wxFileDataObject, addFile, 1}},
- {3395, {wxFileDataObject, getFilenames, 0}},
- {3396, {wxFileDataObject, 'Destroy', undefined}},
- {3397, {wxTextDataObject, new, 1}},
- {3398, {wxTextDataObject, getTextLength, 0}},
- {3399, {wxTextDataObject, getText, 0}},
- {3400, {wxTextDataObject, setText, 1}},
- {3401, {wxTextDataObject, 'Destroy', undefined}},
- {3402, {wxBitmapDataObject, new_1_1, 1}},
- {3403, {wxBitmapDataObject, new_1_0, 1}},
- {3404, {wxBitmapDataObject, getBitmap, 0}},
- {3405, {wxBitmapDataObject, setBitmap, 1}},
- {3406, {wxBitmapDataObject, 'Destroy', undefined}},
- {3408, {wxClipboard, new, 0}},
- {3409, {wxClipboard, destruct, 0}},
- {3410, {wxClipboard, addData, 1}},
- {3411, {wxClipboard, clear, 0}},
- {3412, {wxClipboard, close, 0}},
- {3413, {wxClipboard, flush, 0}},
- {3414, {wxClipboard, getData, 1}},
- {3415, {wxClipboard, isOpened, 0}},
- {3416, {wxClipboard, open, 0}},
- {3417, {wxClipboard, setData, 1}},
- {3419, {wxClipboard, usePrimarySelection, 1}},
- {3420, {wxClipboard, isSupported, 1}},
- {3421, {wxClipboard, get, 0}},
- {3422, {wxSpinEvent, getPosition, 0}},
- {3423, {wxSpinEvent, setPosition, 1}},
- {3424, {wxSplitterWindow, new_0, 0}},
- {3425, {wxSplitterWindow, new_2, 2}},
- {3426, {wxSplitterWindow, destruct, 0}},
- {3427, {wxSplitterWindow, create, 2}},
- {3428, {wxSplitterWindow, getMinimumPaneSize, 0}},
- {3429, {wxSplitterWindow, getSashGravity, 0}},
- {3430, {wxSplitterWindow, getSashPosition, 0}},
- {3431, {wxSplitterWindow, getSplitMode, 0}},
- {3432, {wxSplitterWindow, getWindow1, 0}},
- {3433, {wxSplitterWindow, getWindow2, 0}},
- {3434, {wxSplitterWindow, initialize, 1}},
- {3435, {wxSplitterWindow, isSplit, 0}},
- {3436, {wxSplitterWindow, replaceWindow, 2}},
- {3437, {wxSplitterWindow, setSashGravity, 1}},
- {3438, {wxSplitterWindow, setSashPosition, 2}},
- {3439, {wxSplitterWindow, setSashSize, 1}},
- {3440, {wxSplitterWindow, setMinimumPaneSize, 1}},
- {3441, {wxSplitterWindow, setSplitMode, 1}},
- {3442, {wxSplitterWindow, splitHorizontally, 3}},
- {3443, {wxSplitterWindow, splitVertically, 3}},
- {3444, {wxSplitterWindow, unsplit, 1}},
- {3445, {wxSplitterWindow, updateSize, 0}},
- {3446, {wxSplitterEvent, getSashPosition, 0}},
- {3447, {wxSplitterEvent, getX, 0}},
- {3448, {wxSplitterEvent, getY, 0}},
- {3449, {wxSplitterEvent, getWindowBeingRemoved, 0}},
- {3450, {wxSplitterEvent, setSashPosition, 1}},
- {3451, {wxHtmlWindow, new_0, 0}},
- {3452, {wxHtmlWindow, new_2, 2}},
- {3453, {wxHtmlWindow, appendToPage, 1}},
- {3454, {wxHtmlWindow, getOpenedAnchor, 0}},
- {3455, {wxHtmlWindow, getOpenedPage, 0}},
- {3456, {wxHtmlWindow, getOpenedPageTitle, 0}},
- {3457, {wxHtmlWindow, getRelatedFrame, 0}},
- {3458, {wxHtmlWindow, historyBack, 0}},
- {3459, {wxHtmlWindow, historyCanBack, 0}},
- {3460, {wxHtmlWindow, historyCanForward, 0}},
- {3461, {wxHtmlWindow, historyClear, 0}},
- {3462, {wxHtmlWindow, historyForward, 0}},
- {3463, {wxHtmlWindow, loadFile, 1}},
- {3464, {wxHtmlWindow, loadPage, 1}},
- {3465, {wxHtmlWindow, selectAll, 0}},
- {3466, {wxHtmlWindow, selectionToText, 0}},
- {3467, {wxHtmlWindow, selectLine, 1}},
- {3468, {wxHtmlWindow, selectWord, 1}},
- {3469, {wxHtmlWindow, setBorders, 1}},
- {3470, {wxHtmlWindow, setFonts, 3}},
- {3471, {wxHtmlWindow, setPage, 1}},
- {3472, {wxHtmlWindow, setRelatedFrame, 2}},
- {3473, {wxHtmlWindow, setRelatedStatusBar, 1}},
- {3474, {wxHtmlWindow, toText, 0}},
- {3475, {wxHtmlWindow, 'Destroy', undefined}},
- {3476, {wxHtmlLinkEvent, getLinkInfo, 0}},
- {3477, {wxAuiNotebookEvent, setSelection, 1}},
- {3478, {wxAuiNotebookEvent, getSelection, 0}},
- {3479, {wxAuiNotebookEvent, setOldSelection, 1}},
- {3480, {wxAuiNotebookEvent, getOldSelection, 0}},
- {3481, {wxAuiNotebookEvent, setDragSource, 1}},
- {3482, {wxAuiNotebookEvent, getDragSource, 0}},
- {3483, {wxAuiManagerEvent, setManager, 1}},
- {3484, {wxAuiManagerEvent, getManager, 0}},
- {3485, {wxAuiManagerEvent, setPane, 1}},
- {3486, {wxAuiManagerEvent, getPane, 0}},
- {3487, {wxAuiManagerEvent, setButton, 1}},
- {3488, {wxAuiManagerEvent, getButton, 0}},
- {3489, {wxAuiManagerEvent, setDC, 1}},
- {3490, {wxAuiManagerEvent, getDC, 0}},
- {3491, {wxAuiManagerEvent, veto, 1}},
- {3492, {wxAuiManagerEvent, getVeto, 0}},
- {3493, {wxAuiManagerEvent, setCanVeto, 1}},
- {3494, {wxAuiManagerEvent, canVeto, 0}},
- {3495, {wxLogNull, new, 0}},
- {3496, {wxLogNull, 'Destroy', undefined}},
+ {885, {wxControlWithItems, getClientData, 1}},
+ {886, {wxControlWithItems, setClientData, 2}},
+ {887, {wxControlWithItems, getCount, 0}},
+ {888, {wxControlWithItems, getSelection, 0}},
+ {889, {wxControlWithItems, getString, 1}},
+ {890, {wxControlWithItems, getStringSelection, 0}},
+ {891, {wxControlWithItems, insert_2, 2}},
+ {892, {wxControlWithItems, insert_3, 3}},
+ {893, {wxControlWithItems, isEmpty, 0}},
+ {894, {wxControlWithItems, select, 1}},
+ {895, {wxControlWithItems, setSelection, 1}},
+ {896, {wxControlWithItems, setString, 2}},
+ {897, {wxControlWithItems, setStringSelection, 1}},
+ {900, {wxMenu, new_2, 2}},
+ {901, {wxMenu, new_1, 1}},
+ {903, {wxMenu, destruct, 0}},
+ {904, {wxMenu, append_3, 3}},
+ {905, {wxMenu, append_1, 1}},
+ {906, {wxMenu, append_4_0, 4}},
+ {907, {wxMenu, append_4_1, 4}},
+ {908, {wxMenu, appendCheckItem, 3}},
+ {909, {wxMenu, appendRadioItem, 3}},
+ {910, {wxMenu, appendSeparator, 0}},
+ {911, {wxMenu, break, 0}},
+ {912, {wxMenu, check, 2}},
+ {913, {wxMenu, delete_1_0, 1}},
+ {914, {wxMenu, delete_1_1, 1}},
+ {915, {wxMenu, destroy_1_0, 1}},
+ {916, {wxMenu, destroy_1_1, 1}},
+ {917, {wxMenu, enable, 2}},
+ {918, {wxMenu, findItem_1, 1}},
+ {919, {wxMenu, findItem_2, 2}},
+ {920, {wxMenu, findItemByPosition, 1}},
+ {921, {wxMenu, getHelpString, 1}},
+ {922, {wxMenu, getLabel, 1}},
+ {923, {wxMenu, getMenuItemCount, 0}},
+ {924, {wxMenu, getMenuItems, 0}},
+ {926, {wxMenu, getTitle, 0}},
+ {927, {wxMenu, insert_2, 2}},
+ {928, {wxMenu, insert_3, 3}},
+ {929, {wxMenu, insert_5_1, 5}},
+ {930, {wxMenu, insert_5_0, 5}},
+ {931, {wxMenu, insertCheckItem, 4}},
+ {932, {wxMenu, insertRadioItem, 4}},
+ {933, {wxMenu, insertSeparator, 1}},
+ {934, {wxMenu, isChecked, 1}},
+ {935, {wxMenu, isEnabled, 1}},
+ {936, {wxMenu, prepend_1, 1}},
+ {937, {wxMenu, prepend_2, 2}},
+ {938, {wxMenu, prepend_4_1, 4}},
+ {939, {wxMenu, prepend_4_0, 4}},
+ {940, {wxMenu, prependCheckItem, 3}},
+ {941, {wxMenu, prependRadioItem, 3}},
+ {942, {wxMenu, prependSeparator, 0}},
+ {943, {wxMenu, remove_1_0, 1}},
+ {944, {wxMenu, remove_1_1, 1}},
+ {945, {wxMenu, setHelpString, 2}},
+ {946, {wxMenu, setLabel, 2}},
+ {947, {wxMenu, setTitle, 1}},
+ {948, {wxMenuItem, new, 1}},
+ {950, {wxMenuItem, destruct, 0}},
+ {951, {wxMenuItem, check, 1}},
+ {952, {wxMenuItem, enable, 1}},
+ {953, {wxMenuItem, getBitmap, 0}},
+ {954, {wxMenuItem, getHelp, 0}},
+ {955, {wxMenuItem, getId, 0}},
+ {956, {wxMenuItem, getKind, 0}},
+ {957, {wxMenuItem, getLabel, 0}},
+ {958, {wxMenuItem, getLabelFromText, 1}},
+ {959, {wxMenuItem, getMenu, 0}},
+ {960, {wxMenuItem, getText, 0}},
+ {961, {wxMenuItem, getSubMenu, 0}},
+ {962, {wxMenuItem, isCheckable, 0}},
+ {963, {wxMenuItem, isChecked, 0}},
+ {964, {wxMenuItem, isEnabled, 0}},
+ {965, {wxMenuItem, isSeparator, 0}},
+ {966, {wxMenuItem, isSubMenu, 0}},
+ {967, {wxMenuItem, setBitmap, 1}},
+ {968, {wxMenuItem, setHelp, 1}},
+ {969, {wxMenuItem, setMenu, 1}},
+ {970, {wxMenuItem, setSubMenu, 1}},
+ {971, {wxMenuItem, setText, 1}},
+ {972, {wxToolBar, addControl, 1}},
+ {973, {wxToolBar, addSeparator, 0}},
+ {974, {wxToolBar, addTool_5, 5}},
+ {975, {wxToolBar, addTool_4_0, 4}},
+ {976, {wxToolBar, addTool_1, 1}},
+ {977, {wxToolBar, addTool_4_1, 4}},
+ {978, {wxToolBar, addTool_3, 3}},
+ {979, {wxToolBar, addTool_6, 6}},
+ {980, {wxToolBar, addCheckTool, 4}},
+ {981, {wxToolBar, addRadioTool, 4}},
+ {982, {wxToolBar, deleteTool, 1}},
+ {983, {wxToolBar, deleteToolByPos, 1}},
+ {984, {wxToolBar, enableTool, 2}},
+ {985, {wxToolBar, findById, 1}},
+ {986, {wxToolBar, findControl, 1}},
+ {987, {wxToolBar, findToolForPosition, 2}},
+ {988, {wxToolBar, getToolSize, 0}},
+ {989, {wxToolBar, getToolBitmapSize, 0}},
+ {990, {wxToolBar, getMargins, 0}},
+ {991, {wxToolBar, getToolEnabled, 1}},
+ {992, {wxToolBar, getToolLongHelp, 1}},
+ {993, {wxToolBar, getToolPacking, 0}},
+ {994, {wxToolBar, getToolPos, 1}},
+ {995, {wxToolBar, getToolSeparation, 0}},
+ {996, {wxToolBar, getToolShortHelp, 1}},
+ {997, {wxToolBar, getToolState, 1}},
+ {998, {wxToolBar, insertControl, 2}},
+ {999, {wxToolBar, insertSeparator, 1}},
+ {1000, {wxToolBar, insertTool_5, 5}},
+ {1001, {wxToolBar, insertTool_2, 2}},
+ {1002, {wxToolBar, insertTool_4, 4}},
+ {1003, {wxToolBar, realize, 0}},
+ {1004, {wxToolBar, removeTool, 1}},
+ {1005, {wxToolBar, setMargins, 2}},
+ {1006, {wxToolBar, setToolBitmapSize, 1}},
+ {1007, {wxToolBar, setToolLongHelp, 2}},
+ {1008, {wxToolBar, setToolPacking, 1}},
+ {1009, {wxToolBar, setToolShortHelp, 2}},
+ {1010, {wxToolBar, setToolSeparation, 1}},
+ {1011, {wxToolBar, toggleTool, 2}},
+ {1013, {wxStatusBar, new_0, 0}},
+ {1014, {wxStatusBar, new_2, 2}},
+ {1016, {wxStatusBar, destruct, 0}},
+ {1017, {wxStatusBar, create, 2}},
+ {1018, {wxStatusBar, getFieldRect, 2}},
+ {1019, {wxStatusBar, getFieldsCount, 0}},
+ {1020, {wxStatusBar, getStatusText, 1}},
+ {1021, {wxStatusBar, popStatusText, 1}},
+ {1022, {wxStatusBar, pushStatusText, 2}},
+ {1023, {wxStatusBar, setFieldsCount, 2}},
+ {1024, {wxStatusBar, setMinHeight, 1}},
+ {1025, {wxStatusBar, setStatusText, 2}},
+ {1026, {wxStatusBar, setStatusWidths, 2}},
+ {1027, {wxStatusBar, setStatusStyles, 2}},
+ {1028, {wxBitmap, new_0, 0}},
+ {1029, {wxBitmap, new_3, 3}},
+ {1030, {wxBitmap, new_4, 4}},
+ {1031, {wxBitmap, new_2_0, 2}},
+ {1032, {wxBitmap, new_2_1, 2}},
+ {1033, {wxBitmap, destruct, 0}},
+ {1034, {wxBitmap, convertToImage, 0}},
+ {1035, {wxBitmap, copyFromIcon, 1}},
+ {1036, {wxBitmap, create, 3}},
+ {1037, {wxBitmap, getDepth, 0}},
+ {1038, {wxBitmap, getHeight, 0}},
+ {1039, {wxBitmap, getPalette, 0}},
+ {1040, {wxBitmap, getMask, 0}},
+ {1041, {wxBitmap, getWidth, 0}},
+ {1042, {wxBitmap, getSubBitmap, 1}},
+ {1043, {wxBitmap, loadFile, 2}},
+ {1044, {wxBitmap, ok, 0}},
+ {1045, {wxBitmap, saveFile, 3}},
+ {1046, {wxBitmap, setDepth, 1}},
+ {1047, {wxBitmap, setHeight, 1}},
+ {1048, {wxBitmap, setMask, 1}},
+ {1049, {wxBitmap, setPalette, 1}},
+ {1050, {wxBitmap, setWidth, 1}},
+ {1051, {wxIcon, new_0, 0}},
+ {1052, {wxIcon, new_2, 2}},
+ {1053, {wxIcon, new_1, 1}},
+ {1054, {wxIcon, copyFromBitmap, 1}},
+ {1055, {wxIcon, 'Destroy', undefined}},
+ {1056, {wxIconBundle, new_0, 0}},
+ {1057, {wxIconBundle, new_2, 2}},
+ {1058, {wxIconBundle, new_1_0, 1}},
+ {1059, {wxIconBundle, new_1_1, 1}},
+ {1060, {wxIconBundle, destruct, 0}},
+ {1061, {wxIconBundle, addIcon_2, 2}},
+ {1062, {wxIconBundle, addIcon_1, 1}},
+ {1063, {wxIconBundle, getIcon_1_1, 1}},
+ {1064, {wxIconBundle, getIcon_1_0, 1}},
+ {1065, {wxCursor, new_0, 0}},
+ {1066, {wxCursor, new_1_0, 1}},
+ {1067, {wxCursor, new_1_1, 1}},
+ {1068, {wxCursor, new_4, 4}},
+ {1069, {wxCursor, destruct, 0}},
+ {1070, {wxCursor, ok, 0}},
+ {1071, {wxMask, new_0, 0}},
+ {1072, {wxMask, new_2_1, 2}},
+ {1073, {wxMask, new_2_0, 2}},
+ {1074, {wxMask, new_1, 1}},
+ {1075, {wxMask, destruct, 0}},
+ {1076, {wxMask, create_2_1, 2}},
+ {1077, {wxMask, create_2_0, 2}},
+ {1078, {wxMask, create_1, 1}},
+ {1079, {wxImage, new_0, 0}},
+ {1080, {wxImage, new_3_0, 3}},
+ {1081, {wxImage, new_4, 4}},
+ {1082, {wxImage, new_5, 5}},
+ {1083, {wxImage, new_2, 2}},
+ {1084, {wxImage, new_3_1, 3}},
+ {1085, {wxImage, blur, 1}},
+ {1086, {wxImage, blurHorizontal, 1}},
+ {1087, {wxImage, blurVertical, 1}},
+ {1088, {wxImage, convertAlphaToMask, 1}},
+ {1089, {wxImage, convertToGreyscale, 1}},
+ {1090, {wxImage, convertToMono, 3}},
+ {1091, {wxImage, copy, 0}},
+ {1092, {wxImage, create_3, 3}},
+ {1093, {wxImage, create_4, 4}},
+ {1094, {wxImage, create_5, 5}},
+ {1095, {wxImage, 'Destroy', 0}},
+ {1096, {wxImage, findFirstUnusedColour, 4}},
+ {1097, {wxImage, getImageExtWildcard, 0}},
+ {1098, {wxImage, getAlpha_2, 2}},
+ {1099, {wxImage, getAlpha_0, 0}},
+ {1100, {wxImage, getBlue, 2}},
+ {1101, {wxImage, getData, 0}},
+ {1102, {wxImage, getGreen, 2}},
+ {1103, {wxImage, getImageCount, 2}},
+ {1104, {wxImage, getHeight, 0}},
+ {1105, {wxImage, getMaskBlue, 0}},
+ {1106, {wxImage, getMaskGreen, 0}},
+ {1107, {wxImage, getMaskRed, 0}},
+ {1108, {wxImage, getOrFindMaskColour, 3}},
+ {1109, {wxImage, getPalette, 0}},
+ {1110, {wxImage, getRed, 2}},
+ {1111, {wxImage, getSubImage, 1}},
+ {1112, {wxImage, getWidth, 0}},
+ {1113, {wxImage, hasAlpha, 0}},
+ {1114, {wxImage, hasMask, 0}},
+ {1115, {wxImage, getOption, 1}},
+ {1116, {wxImage, getOptionInt, 1}},
+ {1117, {wxImage, hasOption, 1}},
+ {1118, {wxImage, initAlpha, 0}},
+ {1119, {wxImage, initStandardHandlers, 0}},
+ {1120, {wxImage, isTransparent, 3}},
+ {1121, {wxImage, loadFile_2, 2}},
+ {1122, {wxImage, loadFile_3, 3}},
+ {1123, {wxImage, ok, 0}},
+ {1124, {wxImage, removeHandler, 1}},
+ {1125, {wxImage, mirror, 1}},
+ {1126, {wxImage, replace, 6}},
+ {1127, {wxImage, rescale, 3}},
+ {1128, {wxImage, resize, 3}},
+ {1129, {wxImage, rotate, 3}},
+ {1130, {wxImage, rotateHue, 1}},
+ {1131, {wxImage, rotate90, 1}},
+ {1132, {wxImage, saveFile_1, 1}},
+ {1133, {wxImage, saveFile_2_0, 2}},
+ {1134, {wxImage, saveFile_2_1, 2}},
+ {1135, {wxImage, scale, 3}},
+ {1136, {wxImage, size, 3}},
+ {1137, {wxImage, setAlpha_3, 3}},
+ {1138, {wxImage, setAlpha_2, 2}},
+ {1139, {wxImage, setData_2, 2}},
+ {1140, {wxImage, setData_4, 4}},
+ {1141, {wxImage, setMask, 1}},
+ {1142, {wxImage, setMaskColour, 3}},
+ {1143, {wxImage, setMaskFromImage, 4}},
+ {1144, {wxImage, setOption_2_1, 2}},
+ {1145, {wxImage, setOption_2_0, 2}},
+ {1146, {wxImage, setPalette, 1}},
+ {1147, {wxImage, setRGB_5, 5}},
+ {1148, {wxImage, setRGB_4, 4}},
+ {1149, {wxImage, 'Destroy', undefined}},
+ {1150, {wxBrush, new_0, 0}},
+ {1151, {wxBrush, new_2, 2}},
+ {1152, {wxBrush, new_1, 1}},
+ {1154, {wxBrush, destruct, 0}},
+ {1155, {wxBrush, getColour, 0}},
+ {1156, {wxBrush, getStipple, 0}},
+ {1157, {wxBrush, getStyle, 0}},
+ {1158, {wxBrush, isHatch, 0}},
+ {1159, {wxBrush, isOk, 0}},
+ {1160, {wxBrush, setColour_1, 1}},
+ {1161, {wxBrush, setColour_3, 3}},
+ {1162, {wxBrush, setStipple, 1}},
+ {1163, {wxBrush, setStyle, 1}},
+ {1164, {wxPen, new_0, 0}},
+ {1165, {wxPen, new_2, 2}},
+ {1166, {wxPen, destruct, 0}},
+ {1167, {wxPen, getCap, 0}},
+ {1168, {wxPen, getColour, 0}},
+ {1169, {wxPen, getJoin, 0}},
+ {1170, {wxPen, getStyle, 0}},
+ {1171, {wxPen, getWidth, 0}},
+ {1172, {wxPen, isOk, 0}},
+ {1173, {wxPen, setCap, 1}},
+ {1174, {wxPen, setColour_1, 1}},
+ {1175, {wxPen, setColour_3, 3}},
+ {1176, {wxPen, setJoin, 1}},
+ {1177, {wxPen, setStyle, 1}},
+ {1178, {wxPen, setWidth, 1}},
+ {1179, {wxRegion, new_0, 0}},
+ {1180, {wxRegion, new_4, 4}},
+ {1181, {wxRegion, new_2, 2}},
+ {1182, {wxRegion, new_1_1, 1}},
+ {1184, {wxRegion, new_1_0, 1}},
+ {1186, {wxRegion, destruct, 0}},
+ {1187, {wxRegion, clear, 0}},
+ {1188, {wxRegion, contains_2, 2}},
+ {1189, {wxRegion, contains_1_0, 1}},
+ {1190, {wxRegion, contains_4, 4}},
+ {1191, {wxRegion, contains_1_1, 1}},
+ {1192, {wxRegion, convertToBitmap, 0}},
+ {1193, {wxRegion, getBox, 0}},
+ {1194, {wxRegion, intersect_4, 4}},
+ {1195, {wxRegion, intersect_1_1, 1}},
+ {1196, {wxRegion, intersect_1_0, 1}},
+ {1197, {wxRegion, isEmpty, 0}},
+ {1198, {wxRegion, subtract_4, 4}},
+ {1199, {wxRegion, subtract_1_1, 1}},
+ {1200, {wxRegion, subtract_1_0, 1}},
+ {1201, {wxRegion, offset_2, 2}},
+ {1202, {wxRegion, offset_1, 1}},
+ {1203, {wxRegion, union_4, 4}},
+ {1204, {wxRegion, union_1_2, 1}},
+ {1205, {wxRegion, union_1_1, 1}},
+ {1206, {wxRegion, union_1_0, 1}},
+ {1207, {wxRegion, union_3, 3}},
+ {1208, {wxRegion, xor_4, 4}},
+ {1209, {wxRegion, xor_1_1, 1}},
+ {1210, {wxRegion, xor_1_0, 1}},
+ {1211, {wxAcceleratorTable, new_0, 0}},
+ {1212, {wxAcceleratorTable, new_2, 2}},
+ {1213, {wxAcceleratorTable, destruct, 0}},
+ {1214, {wxAcceleratorTable, ok, 0}},
+ {1215, {wxAcceleratorEntry, new_1_0, 1}},
+ {1216, {wxAcceleratorEntry, new_1_1, 1}},
+ {1217, {wxAcceleratorEntry, getCommand, 0}},
+ {1218, {wxAcceleratorEntry, getFlags, 0}},
+ {1219, {wxAcceleratorEntry, getKeyCode, 0}},
+ {1220, {wxAcceleratorEntry, set, 4}},
+ {1221, {wxAcceleratorEntry, 'Destroy', undefined}},
+ {1226, {wxCaret, new_3, 3}},
+ {1227, {wxCaret, new_2, 2}},
+ {1229, {wxCaret, destruct, 0}},
+ {1230, {wxCaret, create_3, 3}},
+ {1231, {wxCaret, create_2, 2}},
+ {1232, {wxCaret, getBlinkTime, 0}},
+ {1234, {wxCaret, getPosition, 0}},
+ {1236, {wxCaret, getSize, 0}},
+ {1237, {wxCaret, getWindow, 0}},
+ {1238, {wxCaret, hide, 0}},
+ {1239, {wxCaret, isOk, 0}},
+ {1240, {wxCaret, isVisible, 0}},
+ {1241, {wxCaret, move_2, 2}},
+ {1242, {wxCaret, move_1, 1}},
+ {1243, {wxCaret, setBlinkTime, 1}},
+ {1244, {wxCaret, setSize_2, 2}},
+ {1245, {wxCaret, setSize_1, 1}},
+ {1246, {wxCaret, show, 1}},
+ {1247, {wxSizer, add_2_1, 2}},
+ {1248, {wxSizer, add_2_0, 2}},
+ {1249, {wxSizer, add_3, 3}},
+ {1250, {wxSizer, add_2_3, 2}},
+ {1251, {wxSizer, add_2_2, 2}},
+ {1252, {wxSizer, addSpacer, 1}},
+ {1253, {wxSizer, addStretchSpacer, 1}},
+ {1254, {wxSizer, calcMin, 0}},
+ {1255, {wxSizer, clear, 1}},
+ {1256, {wxSizer, detach_1_2, 1}},
+ {1257, {wxSizer, detach_1_1, 1}},
+ {1258, {wxSizer, detach_1_0, 1}},
+ {1259, {wxSizer, fit, 1}},
+ {1260, {wxSizer, fitInside, 1}},
+ {1261, {wxSizer, getChildren, 0}},
+ {1262, {wxSizer, getItem_2_1, 2}},
+ {1263, {wxSizer, getItem_2_0, 2}},
+ {1264, {wxSizer, getItem_1, 1}},
+ {1265, {wxSizer, getSize, 0}},
+ {1266, {wxSizer, getPosition, 0}},
+ {1267, {wxSizer, getMinSize, 0}},
+ {1268, {wxSizer, hide_2_0, 2}},
+ {1269, {wxSizer, hide_2_1, 2}},
+ {1270, {wxSizer, hide_1, 1}},
+ {1271, {wxSizer, insert_3_1, 3}},
+ {1272, {wxSizer, insert_3_0, 3}},
+ {1273, {wxSizer, insert_4, 4}},
+ {1274, {wxSizer, insert_3_3, 3}},
+ {1275, {wxSizer, insert_3_2, 3}},
+ {1276, {wxSizer, insert_2, 2}},
+ {1277, {wxSizer, insertSpacer, 2}},
+ {1278, {wxSizer, insertStretchSpacer, 2}},
+ {1279, {wxSizer, isShown_1_2, 1}},
+ {1280, {wxSizer, isShown_1_1, 1}},
+ {1281, {wxSizer, isShown_1_0, 1}},
+ {1282, {wxSizer, layout, 0}},
+ {1283, {wxSizer, prepend_2_1, 2}},
+ {1284, {wxSizer, prepend_2_0, 2}},
+ {1285, {wxSizer, prepend_3, 3}},
+ {1286, {wxSizer, prepend_2_3, 2}},
+ {1287, {wxSizer, prepend_2_2, 2}},
+ {1288, {wxSizer, prepend_1, 1}},
+ {1289, {wxSizer, prependSpacer, 1}},
+ {1290, {wxSizer, prependStretchSpacer, 1}},
+ {1291, {wxSizer, recalcSizes, 0}},
+ {1292, {wxSizer, remove_1_1, 1}},
+ {1293, {wxSizer, remove_1_0, 1}},
+ {1294, {wxSizer, replace_3_1, 3}},
+ {1295, {wxSizer, replace_3_0, 3}},
+ {1296, {wxSizer, replace_2, 2}},
+ {1297, {wxSizer, setDimension, 4}},
+ {1298, {wxSizer, setMinSize_2, 2}},
+ {1299, {wxSizer, setMinSize_1, 1}},
+ {1300, {wxSizer, setItemMinSize_3_2, 3}},
+ {1301, {wxSizer, setItemMinSize_2_2, 2}},
+ {1302, {wxSizer, setItemMinSize_3_1, 3}},
+ {1303, {wxSizer, setItemMinSize_2_1, 2}},
+ {1304, {wxSizer, setItemMinSize_3_0, 3}},
+ {1305, {wxSizer, setItemMinSize_2_0, 2}},
+ {1306, {wxSizer, setSizeHints, 1}},
+ {1307, {wxSizer, setVirtualSizeHints, 1}},
+ {1308, {wxSizer, show_2_2, 2}},
+ {1309, {wxSizer, show_2_1, 2}},
+ {1310, {wxSizer, show_2_0, 2}},
+ {1311, {wxSizer, show_1, 1}},
+ {1312, {wxSizerFlags, new, 1}},
+ {1313, {wxSizerFlags, align, 1}},
+ {1314, {wxSizerFlags, border_2, 2}},
+ {1315, {wxSizerFlags, border_1, 1}},
+ {1316, {wxSizerFlags, center, 0}},
+ {1317, {wxSizerFlags, centre, 0}},
+ {1318, {wxSizerFlags, expand, 0}},
+ {1319, {wxSizerFlags, left, 0}},
+ {1320, {wxSizerFlags, proportion, 1}},
+ {1321, {wxSizerFlags, right, 0}},
+ {1322, {wxSizerFlags, 'Destroy', undefined}},
+ {1323, {wxSizerItem, new_5_1, 5}},
+ {1324, {wxSizerItem, new_2_1, 2}},
+ {1325, {wxSizerItem, new_5_0, 5}},
+ {1326, {wxSizerItem, new_2_0, 2}},
+ {1327, {wxSizerItem, new_6, 6}},
+ {1328, {wxSizerItem, new_3, 3}},
+ {1329, {wxSizerItem, new_0, 0}},
+ {1330, {wxSizerItem, destruct, 0}},
+ {1331, {wxSizerItem, calcMin, 0}},
+ {1332, {wxSizerItem, deleteWindows, 0}},
+ {1333, {wxSizerItem, detachSizer, 0}},
+ {1334, {wxSizerItem, getBorder, 0}},
+ {1335, {wxSizerItem, getFlag, 0}},
+ {1336, {wxSizerItem, getMinSize, 0}},
+ {1337, {wxSizerItem, getPosition, 0}},
+ {1338, {wxSizerItem, getProportion, 0}},
+ {1339, {wxSizerItem, getRatio, 0}},
+ {1340, {wxSizerItem, getRect, 0}},
+ {1341, {wxSizerItem, getSize, 0}},
+ {1342, {wxSizerItem, getSizer, 0}},
+ {1343, {wxSizerItem, getSpacer, 0}},
+ {1344, {wxSizerItem, getUserData, 0}},
+ {1345, {wxSizerItem, getWindow, 0}},
+ {1346, {wxSizerItem, isSizer, 0}},
+ {1347, {wxSizerItem, isShown, 0}},
+ {1348, {wxSizerItem, isSpacer, 0}},
+ {1349, {wxSizerItem, isWindow, 0}},
+ {1350, {wxSizerItem, setBorder, 1}},
+ {1351, {wxSizerItem, setDimension, 2}},
+ {1352, {wxSizerItem, setFlag, 1}},
+ {1353, {wxSizerItem, setInitSize, 2}},
+ {1354, {wxSizerItem, setMinSize_1, 1}},
+ {1355, {wxSizerItem, setMinSize_2, 2}},
+ {1356, {wxSizerItem, setProportion, 1}},
+ {1357, {wxSizerItem, setRatio_2, 2}},
+ {1358, {wxSizerItem, setRatio_1_1, 1}},
+ {1359, {wxSizerItem, setRatio_1_0, 1}},
+ {1360, {wxSizerItem, setSizer, 1}},
+ {1361, {wxSizerItem, setSpacer_1, 1}},
+ {1362, {wxSizerItem, setSpacer_2, 2}},
+ {1363, {wxSizerItem, setWindow, 1}},
+ {1364, {wxSizerItem, show, 1}},
+ {1365, {wxBoxSizer, new, 1}},
+ {1366, {wxBoxSizer, getOrientation, 0}},
+ {1367, {wxBoxSizer, 'Destroy', undefined}},
+ {1368, {wxStaticBoxSizer, new_2, 2}},
+ {1369, {wxStaticBoxSizer, new_3, 3}},
+ {1370, {wxStaticBoxSizer, getStaticBox, 0}},
+ {1371, {wxStaticBoxSizer, 'Destroy', undefined}},
+ {1372, {wxGridSizer, new_4, 4}},
+ {1373, {wxGridSizer, new_2, 2}},
+ {1374, {wxGridSizer, getCols, 0}},
+ {1375, {wxGridSizer, getHGap, 0}},
+ {1376, {wxGridSizer, getRows, 0}},
+ {1377, {wxGridSizer, getVGap, 0}},
+ {1378, {wxGridSizer, setCols, 1}},
+ {1379, {wxGridSizer, setHGap, 1}},
+ {1380, {wxGridSizer, setRows, 1}},
+ {1381, {wxGridSizer, setVGap, 1}},
+ {1382, {wxGridSizer, 'Destroy', undefined}},
+ {1383, {wxFlexGridSizer, new_4, 4}},
+ {1384, {wxFlexGridSizer, new_2, 2}},
+ {1385, {wxFlexGridSizer, addGrowableCol, 2}},
+ {1386, {wxFlexGridSizer, addGrowableRow, 2}},
+ {1387, {wxFlexGridSizer, getFlexibleDirection, 0}},
+ {1388, {wxFlexGridSizer, getNonFlexibleGrowMode, 0}},
+ {1389, {wxFlexGridSizer, removeGrowableCol, 1}},
+ {1390, {wxFlexGridSizer, removeGrowableRow, 1}},
+ {1391, {wxFlexGridSizer, setFlexibleDirection, 1}},
+ {1392, {wxFlexGridSizer, setNonFlexibleGrowMode, 1}},
+ {1393, {wxFlexGridSizer, 'Destroy', undefined}},
+ {1394, {wxGridBagSizer, new, 1}},
+ {1395, {wxGridBagSizer, add_3_2, 3}},
+ {1396, {wxGridBagSizer, add_3_1, 3}},
+ {1397, {wxGridBagSizer, add_4, 4}},
+ {1398, {wxGridBagSizer, add_1_0, 1}},
+ {1399, {wxGridBagSizer, add_2_1, 2}},
+ {1400, {wxGridBagSizer, add_2_0, 2}},
+ {1401, {wxGridBagSizer, add_3_0, 3}},
+ {1402, {wxGridBagSizer, add_1_1, 1}},
+ {1403, {wxGridBagSizer, calcMin, 0}},
+ {1404, {wxGridBagSizer, checkForIntersection_2, 2}},
+ {1405, {wxGridBagSizer, checkForIntersection_3, 3}},
+ {1406, {wxGridBagSizer, findItem_1_1, 1}},
+ {1407, {wxGridBagSizer, findItem_1_0, 1}},
+ {1408, {wxGridBagSizer, findItemAtPoint, 1}},
+ {1409, {wxGridBagSizer, findItemAtPosition, 1}},
+ {1410, {wxGridBagSizer, findItemWithData, 1}},
+ {1411, {wxGridBagSizer, getCellSize, 2}},
+ {1412, {wxGridBagSizer, getEmptyCellSize, 0}},
+ {1413, {wxGridBagSizer, getItemPosition_1_2, 1}},
+ {1414, {wxGridBagSizer, getItemPosition_1_1, 1}},
+ {1415, {wxGridBagSizer, getItemPosition_1_0, 1}},
+ {1416, {wxGridBagSizer, getItemSpan_1_2, 1}},
+ {1417, {wxGridBagSizer, getItemSpan_1_1, 1}},
+ {1418, {wxGridBagSizer, getItemSpan_1_0, 1}},
+ {1419, {wxGridBagSizer, setEmptyCellSize, 1}},
+ {1420, {wxGridBagSizer, setItemPosition_2_2, 2}},
+ {1421, {wxGridBagSizer, setItemPosition_2_1, 2}},
+ {1422, {wxGridBagSizer, setItemPosition_2_0, 2}},
+ {1423, {wxGridBagSizer, setItemSpan_2_2, 2}},
+ {1424, {wxGridBagSizer, setItemSpan_2_1, 2}},
+ {1425, {wxGridBagSizer, setItemSpan_2_0, 2}},
+ {1426, {wxGridBagSizer, 'Destroy', undefined}},
+ {1427, {wxStdDialogButtonSizer, new, 0}},
+ {1428, {wxStdDialogButtonSizer, addButton, 1}},
+ {1429, {wxStdDialogButtonSizer, realize, 0}},
+ {1430, {wxStdDialogButtonSizer, setAffirmativeButton, 1}},
+ {1431, {wxStdDialogButtonSizer, setCancelButton, 1}},
+ {1432, {wxStdDialogButtonSizer, setNegativeButton, 1}},
+ {1433, {wxStdDialogButtonSizer, 'Destroy', undefined}},
+ {1434, {wxFont, new_0, 0}},
+ {1435, {wxFont, new_1, 1}},
+ {1436, {wxFont, new_5, 5}},
+ {1438, {wxFont, destruct, 0}},
+ {1439, {wxFont, isFixedWidth, 0}},
+ {1440, {wxFont, getDefaultEncoding, 0}},
+ {1441, {wxFont, getFaceName, 0}},
+ {1442, {wxFont, getFamily, 0}},
+ {1443, {wxFont, getNativeFontInfoDesc, 0}},
+ {1444, {wxFont, getNativeFontInfoUserDesc, 0}},
+ {1445, {wxFont, getPointSize, 0}},
+ {1446, {wxFont, getStyle, 0}},
+ {1447, {wxFont, getUnderlined, 0}},
+ {1448, {wxFont, getWeight, 0}},
+ {1449, {wxFont, ok, 0}},
+ {1450, {wxFont, setDefaultEncoding, 1}},
+ {1451, {wxFont, setFaceName, 1}},
+ {1452, {wxFont, setFamily, 1}},
+ {1453, {wxFont, setPointSize, 1}},
+ {1454, {wxFont, setStyle, 1}},
+ {1455, {wxFont, setUnderlined, 1}},
+ {1456, {wxFont, setWeight, 1}},
+ {1457, {wxToolTip, enable, 1}},
+ {1458, {wxToolTip, setDelay, 1}},
+ {1459, {wxToolTip, new, 1}},
+ {1460, {wxToolTip, setTip, 1}},
+ {1461, {wxToolTip, getTip, 0}},
+ {1462, {wxToolTip, getWindow, 0}},
+ {1463, {wxToolTip, 'Destroy', undefined}},
+ {1465, {wxButton, new_3, 3}},
+ {1466, {wxButton, new_0, 0}},
+ {1467, {wxButton, destruct, 0}},
+ {1468, {wxButton, create, 3}},
+ {1469, {wxButton, getDefaultSize, 0}},
+ {1470, {wxButton, setDefault, 0}},
+ {1471, {wxButton, setLabel, 1}},
+ {1473, {wxBitmapButton, new_4, 4}},
+ {1474, {wxBitmapButton, new_0, 0}},
+ {1475, {wxBitmapButton, create, 4}},
+ {1476, {wxBitmapButton, getBitmapDisabled, 0}},
+ {1478, {wxBitmapButton, getBitmapFocus, 0}},
+ {1480, {wxBitmapButton, getBitmapLabel, 0}},
+ {1482, {wxBitmapButton, getBitmapSelected, 0}},
+ {1484, {wxBitmapButton, setBitmapDisabled, 1}},
+ {1485, {wxBitmapButton, setBitmapFocus, 1}},
+ {1486, {wxBitmapButton, setBitmapLabel, 1}},
+ {1487, {wxBitmapButton, setBitmapSelected, 1}},
+ {1488, {wxBitmapButton, 'Destroy', undefined}},
+ {1489, {wxToggleButton, new_0, 0}},
+ {1490, {wxToggleButton, new_4, 4}},
+ {1491, {wxToggleButton, create, 4}},
+ {1492, {wxToggleButton, getValue, 0}},
+ {1493, {wxToggleButton, setValue, 1}},
+ {1494, {wxToggleButton, 'Destroy', undefined}},
+ {1495, {wxCalendarCtrl, new_0, 0}},
+ {1496, {wxCalendarCtrl, new_3, 3}},
+ {1497, {wxCalendarCtrl, create, 3}},
+ {1498, {wxCalendarCtrl, destruct, 0}},
+ {1499, {wxCalendarCtrl, setDate, 1}},
+ {1500, {wxCalendarCtrl, getDate, 0}},
+ {1501, {wxCalendarCtrl, enableYearChange, 1}},
+ {1502, {wxCalendarCtrl, enableMonthChange, 1}},
+ {1503, {wxCalendarCtrl, enableHolidayDisplay, 1}},
+ {1504, {wxCalendarCtrl, setHeaderColours, 2}},
+ {1505, {wxCalendarCtrl, getHeaderColourFg, 0}},
+ {1506, {wxCalendarCtrl, getHeaderColourBg, 0}},
+ {1507, {wxCalendarCtrl, setHighlightColours, 2}},
+ {1508, {wxCalendarCtrl, getHighlightColourFg, 0}},
+ {1509, {wxCalendarCtrl, getHighlightColourBg, 0}},
+ {1510, {wxCalendarCtrl, setHolidayColours, 2}},
+ {1511, {wxCalendarCtrl, getHolidayColourFg, 0}},
+ {1512, {wxCalendarCtrl, getHolidayColourBg, 0}},
+ {1513, {wxCalendarCtrl, getAttr, 1}},
+ {1514, {wxCalendarCtrl, setAttr, 2}},
+ {1515, {wxCalendarCtrl, setHoliday, 1}},
+ {1516, {wxCalendarCtrl, resetAttr, 1}},
+ {1517, {wxCalendarCtrl, hitTest, 2}},
+ {1518, {wxCalendarDateAttr, new_0, 0}},
+ {1519, {wxCalendarDateAttr, new_2_1, 2}},
+ {1520, {wxCalendarDateAttr, new_2_0, 2}},
+ {1521, {wxCalendarDateAttr, setTextColour, 1}},
+ {1522, {wxCalendarDateAttr, setBackgroundColour, 1}},
+ {1523, {wxCalendarDateAttr, setBorderColour, 1}},
+ {1524, {wxCalendarDateAttr, setFont, 1}},
+ {1525, {wxCalendarDateAttr, setBorder, 1}},
+ {1526, {wxCalendarDateAttr, setHoliday, 1}},
+ {1527, {wxCalendarDateAttr, hasTextColour, 0}},
+ {1528, {wxCalendarDateAttr, hasBackgroundColour, 0}},
+ {1529, {wxCalendarDateAttr, hasBorderColour, 0}},
+ {1530, {wxCalendarDateAttr, hasFont, 0}},
+ {1531, {wxCalendarDateAttr, hasBorder, 0}},
+ {1532, {wxCalendarDateAttr, isHoliday, 0}},
+ {1533, {wxCalendarDateAttr, getTextColour, 0}},
+ {1534, {wxCalendarDateAttr, getBackgroundColour, 0}},
+ {1535, {wxCalendarDateAttr, getBorderColour, 0}},
+ {1536, {wxCalendarDateAttr, getFont, 0}},
+ {1537, {wxCalendarDateAttr, getBorder, 0}},
+ {1538, {wxCalendarDateAttr, 'Destroy', undefined}},
+ {1540, {wxCheckBox, new_4, 4}},
+ {1541, {wxCheckBox, new_0, 0}},
+ {1542, {wxCheckBox, create, 4}},
+ {1543, {wxCheckBox, getValue, 0}},
+ {1544, {wxCheckBox, get3StateValue, 0}},
+ {1545, {wxCheckBox, is3rdStateAllowedForUser, 0}},
+ {1546, {wxCheckBox, is3State, 0}},
+ {1547, {wxCheckBox, isChecked, 0}},
+ {1548, {wxCheckBox, setValue, 1}},
+ {1549, {wxCheckBox, set3StateValue, 1}},
+ {1550, {wxCheckBox, 'Destroy', undefined}},
+ {1551, {wxCheckListBox, new_0, 0}},
+ {1553, {wxCheckListBox, new_3, 3}},
+ {1554, {wxCheckListBox, check, 2}},
+ {1555, {wxCheckListBox, isChecked, 1}},
+ {1556, {wxCheckListBox, 'Destroy', undefined}},
+ {1559, {wxChoice, new_3, 3}},
+ {1560, {wxChoice, new_0, 0}},
+ {1562, {wxChoice, destruct, 0}},
+ {1564, {wxChoice, create, 6}},
+ {1565, {wxChoice, delete, 1}},
+ {1566, {wxChoice, getColumns, 0}},
+ {1567, {wxChoice, setColumns, 1}},
+ {1568, {wxComboBox, new_0, 0}},
+ {1570, {wxComboBox, new_3, 3}},
+ {1571, {wxComboBox, destruct, 0}},
+ {1573, {wxComboBox, create, 7}},
+ {1574, {wxComboBox, canCopy, 0}},
+ {1575, {wxComboBox, canCut, 0}},
+ {1576, {wxComboBox, canPaste, 0}},
+ {1577, {wxComboBox, canRedo, 0}},
+ {1578, {wxComboBox, canUndo, 0}},
+ {1579, {wxComboBox, copy, 0}},
+ {1580, {wxComboBox, cut, 0}},
+ {1581, {wxComboBox, getInsertionPoint, 0}},
+ {1582, {wxComboBox, getLastPosition, 0}},
+ {1583, {wxComboBox, getValue, 0}},
+ {1584, {wxComboBox, paste, 0}},
+ {1585, {wxComboBox, redo, 0}},
+ {1586, {wxComboBox, replace, 3}},
+ {1587, {wxComboBox, remove, 2}},
+ {1588, {wxComboBox, setInsertionPoint, 1}},
+ {1589, {wxComboBox, setInsertionPointEnd, 0}},
+ {1590, {wxComboBox, setSelection_1, 1}},
+ {1591, {wxComboBox, setSelection_2, 2}},
+ {1592, {wxComboBox, setValue, 1}},
+ {1593, {wxComboBox, undo, 0}},
+ {1594, {wxGauge, new_0, 0}},
+ {1595, {wxGauge, new_4, 4}},
+ {1596, {wxGauge, create, 4}},
+ {1597, {wxGauge, getBezelFace, 0}},
+ {1598, {wxGauge, getRange, 0}},
+ {1599, {wxGauge, getShadowWidth, 0}},
+ {1600, {wxGauge, getValue, 0}},
+ {1601, {wxGauge, isVertical, 0}},
+ {1602, {wxGauge, setBezelFace, 1}},
+ {1603, {wxGauge, setRange, 1}},
+ {1604, {wxGauge, setShadowWidth, 1}},
+ {1605, {wxGauge, setValue, 1}},
+ {1606, {wxGauge, pulse, 0}},
+ {1607, {wxGauge, 'Destroy', undefined}},
+ {1608, {wxGenericDirCtrl, new_0, 0}},
+ {1609, {wxGenericDirCtrl, new_2, 2}},
+ {1610, {wxGenericDirCtrl, destruct, 0}},
+ {1611, {wxGenericDirCtrl, create, 2}},
+ {1612, {wxGenericDirCtrl, init, 0}},
+ {1613, {wxGenericDirCtrl, collapseTree, 0}},
+ {1614, {wxGenericDirCtrl, expandPath, 1}},
+ {1615, {wxGenericDirCtrl, getDefaultPath, 0}},
+ {1616, {wxGenericDirCtrl, getPath, 0}},
+ {1617, {wxGenericDirCtrl, getFilePath, 0}},
+ {1618, {wxGenericDirCtrl, getFilter, 0}},
+ {1619, {wxGenericDirCtrl, getFilterIndex, 0}},
+ {1620, {wxGenericDirCtrl, getRootId, 0}},
+ {1621, {wxGenericDirCtrl, getTreeCtrl, 0}},
+ {1622, {wxGenericDirCtrl, reCreateTree, 0}},
+ {1623, {wxGenericDirCtrl, setDefaultPath, 1}},
+ {1624, {wxGenericDirCtrl, setFilter, 1}},
+ {1625, {wxGenericDirCtrl, setFilterIndex, 1}},
+ {1626, {wxGenericDirCtrl, setPath, 1}},
+ {1628, {wxStaticBox, new_4, 4}},
+ {1629, {wxStaticBox, new_0, 0}},
+ {1630, {wxStaticBox, create, 4}},
+ {1631, {wxStaticBox, 'Destroy', undefined}},
+ {1633, {wxStaticLine, new_2, 2}},
+ {1634, {wxStaticLine, new_0, 0}},
+ {1635, {wxStaticLine, create, 2}},
+ {1636, {wxStaticLine, isVertical, 0}},
+ {1637, {wxStaticLine, getDefaultSize, 0}},
+ {1638, {wxStaticLine, 'Destroy', undefined}},
+ {1641, {wxListBox, new_3, 3}},
+ {1642, {wxListBox, new_0, 0}},
+ {1644, {wxListBox, destruct, 0}},
+ {1646, {wxListBox, create, 6}},
+ {1647, {wxListBox, deselect, 1}},
+ {1648, {wxListBox, getSelections, 1}},
+ {1649, {wxListBox, insertItems, 2}},
+ {1650, {wxListBox, isSelected, 1}},
+ {1652, {wxListBox, set, 2}},
+ {1653, {wxListBox, hitTest, 1}},
+ {1654, {wxListBox, setFirstItem_1_0, 1}},
+ {1655, {wxListBox, setFirstItem_1_1, 1}},
+ {1656, {wxListCtrl, new_0, 0}},
+ {1657, {wxListCtrl, new_2, 2}},
+ {1658, {wxListCtrl, arrange, 1}},
+ {1659, {wxListCtrl, assignImageList, 2}},
+ {1660, {wxListCtrl, clearAll, 0}},
+ {1661, {wxListCtrl, create, 2}},
+ {1662, {wxListCtrl, deleteAllItems, 0}},
+ {1663, {wxListCtrl, deleteColumn, 1}},
+ {1664, {wxListCtrl, deleteItem, 1}},
+ {1665, {wxListCtrl, editLabel, 1}},
+ {1666, {wxListCtrl, ensureVisible, 1}},
+ {1667, {wxListCtrl, findItem_3_0, 3}},
+ {1668, {wxListCtrl, findItem_3_1, 3}},
+ {1669, {wxListCtrl, getColumn, 2}},
+ {1670, {wxListCtrl, getColumnCount, 0}},
+ {1671, {wxListCtrl, getColumnWidth, 1}},
+ {1672, {wxListCtrl, getCountPerPage, 0}},
+ {1673, {wxListCtrl, getEditControl, 0}},
+ {1674, {wxListCtrl, getImageList, 1}},
+ {1675, {wxListCtrl, getItem, 1}},
+ {1676, {wxListCtrl, getItemBackgroundColour, 1}},
+ {1677, {wxListCtrl, getItemCount, 0}},
+ {1678, {wxListCtrl, getItemData, 1}},
+ {1679, {wxListCtrl, getItemFont, 1}},
+ {1680, {wxListCtrl, getItemPosition, 2}},
+ {1681, {wxListCtrl, getItemRect, 3}},
+ {1682, {wxListCtrl, getItemSpacing, 0}},
+ {1683, {wxListCtrl, getItemState, 2}},
+ {1684, {wxListCtrl, getItemText, 1}},
+ {1685, {wxListCtrl, getItemTextColour, 1}},
+ {1686, {wxListCtrl, getNextItem, 2}},
+ {1687, {wxListCtrl, getSelectedItemCount, 0}},
+ {1688, {wxListCtrl, getTextColour, 0}},
+ {1689, {wxListCtrl, getTopItem, 0}},
+ {1690, {wxListCtrl, getViewRect, 0}},
+ {1691, {wxListCtrl, hitTest, 2}},
+ {1692, {wxListCtrl, insertColumn_2, 2}},
+ {1693, {wxListCtrl, insertColumn_3, 3}},
+ {1694, {wxListCtrl, insertItem_1, 1}},
+ {1695, {wxListCtrl, insertItem_2_1, 2}},
+ {1696, {wxListCtrl, insertItem_2_0, 2}},
+ {1697, {wxListCtrl, insertItem_3, 3}},
+ {1698, {wxListCtrl, refreshItem, 1}},
+ {1699, {wxListCtrl, refreshItems, 2}},
+ {1700, {wxListCtrl, scrollList, 2}},
+ {1701, {wxListCtrl, setBackgroundColour, 1}},
+ {1702, {wxListCtrl, setColumn, 2}},
+ {1703, {wxListCtrl, setColumnWidth, 2}},
+ {1704, {wxListCtrl, setImageList, 2}},
+ {1705, {wxListCtrl, setItem_1, 1}},
+ {1706, {wxListCtrl, setItem_4, 4}},
+ {1707, {wxListCtrl, setItemBackgroundColour, 2}},
+ {1708, {wxListCtrl, setItemCount, 1}},
+ {1709, {wxListCtrl, setItemData, 2}},
+ {1710, {wxListCtrl, setItemFont, 2}},
+ {1711, {wxListCtrl, setItemImage, 3}},
+ {1712, {wxListCtrl, setItemColumnImage, 3}},
+ {1713, {wxListCtrl, setItemPosition, 2}},
+ {1714, {wxListCtrl, setItemState, 3}},
+ {1715, {wxListCtrl, setItemText, 2}},
+ {1716, {wxListCtrl, setItemTextColour, 2}},
+ {1717, {wxListCtrl, setSingleStyle, 2}},
+ {1718, {wxListCtrl, setTextColour, 1}},
+ {1719, {wxListCtrl, setWindowStyleFlag, 1}},
+ {1720, {wxListCtrl, sortItems, 2}},
+ {1721, {wxListCtrl, 'Destroy', undefined}},
+ {1722, {wxListView, clearColumnImage, 1}},
+ {1723, {wxListView, focus, 1}},
+ {1724, {wxListView, getFirstSelected, 0}},
+ {1725, {wxListView, getFocusedItem, 0}},
+ {1726, {wxListView, getNextSelected, 1}},
+ {1727, {wxListView, isSelected, 1}},
+ {1728, {wxListView, select, 2}},
+ {1729, {wxListView, setColumnImage, 2}},
+ {1730, {wxListItem, new_0, 0}},
+ {1731, {wxListItem, new_1, 1}},
+ {1732, {wxListItem, destruct, 0}},
+ {1733, {wxListItem, clear, 0}},
+ {1734, {wxListItem, getAlign, 0}},
+ {1735, {wxListItem, getBackgroundColour, 0}},
+ {1736, {wxListItem, getColumn, 0}},
+ {1737, {wxListItem, getFont, 0}},
+ {1738, {wxListItem, getId, 0}},
+ {1739, {wxListItem, getImage, 0}},
+ {1740, {wxListItem, getMask, 0}},
+ {1741, {wxListItem, getState, 0}},
+ {1742, {wxListItem, getText, 0}},
+ {1743, {wxListItem, getTextColour, 0}},
+ {1744, {wxListItem, getWidth, 0}},
+ {1745, {wxListItem, setAlign, 1}},
+ {1746, {wxListItem, setBackgroundColour, 1}},
+ {1747, {wxListItem, setColumn, 1}},
+ {1748, {wxListItem, setFont, 1}},
+ {1749, {wxListItem, setId, 1}},
+ {1750, {wxListItem, setImage, 1}},
+ {1751, {wxListItem, setMask, 1}},
+ {1752, {wxListItem, setState, 1}},
+ {1753, {wxListItem, setStateMask, 1}},
+ {1754, {wxListItem, setText, 1}},
+ {1755, {wxListItem, setTextColour, 1}},
+ {1756, {wxListItem, setWidth, 1}},
+ {1757, {wxImageList, new_0, 0}},
+ {1758, {wxImageList, new_3, 3}},
+ {1759, {wxImageList, add_1, 1}},
+ {1760, {wxImageList, add_2_0, 2}},
+ {1761, {wxImageList, add_2_1, 2}},
+ {1762, {wxImageList, create, 3}},
+ {1764, {wxImageList, draw, 5}},
+ {1765, {wxImageList, getBitmap, 1}},
+ {1766, {wxImageList, getIcon, 1}},
+ {1767, {wxImageList, getImageCount, 0}},
+ {1768, {wxImageList, getSize, 3}},
+ {1769, {wxImageList, remove, 1}},
+ {1770, {wxImageList, removeAll, 0}},
+ {1771, {wxImageList, replace_2, 2}},
+ {1772, {wxImageList, replace_3, 3}},
+ {1773, {wxImageList, 'Destroy', undefined}},
+ {1774, {wxTextAttr, new_0, 0}},
+ {1775, {wxTextAttr, new_2, 2}},
+ {1776, {wxTextAttr, getAlignment, 0}},
+ {1777, {wxTextAttr, getBackgroundColour, 0}},
+ {1778, {wxTextAttr, getFont, 0}},
+ {1779, {wxTextAttr, getLeftIndent, 0}},
+ {1780, {wxTextAttr, getLeftSubIndent, 0}},
+ {1781, {wxTextAttr, getRightIndent, 0}},
+ {1782, {wxTextAttr, getTabs, 0}},
+ {1783, {wxTextAttr, getTextColour, 0}},
+ {1784, {wxTextAttr, hasBackgroundColour, 0}},
+ {1785, {wxTextAttr, hasFont, 0}},
+ {1786, {wxTextAttr, hasTextColour, 0}},
+ {1787, {wxTextAttr, getFlags, 0}},
+ {1788, {wxTextAttr, isDefault, 0}},
+ {1789, {wxTextAttr, setAlignment, 1}},
+ {1790, {wxTextAttr, setBackgroundColour, 1}},
+ {1791, {wxTextAttr, setFlags, 1}},
+ {1792, {wxTextAttr, setFont, 2}},
+ {1793, {wxTextAttr, setLeftIndent, 2}},
+ {1794, {wxTextAttr, setRightIndent, 1}},
+ {1795, {wxTextAttr, setTabs, 1}},
+ {1796, {wxTextAttr, setTextColour, 1}},
+ {1797, {wxTextAttr, 'Destroy', undefined}},
+ {1799, {wxTextCtrl, new_3, 3}},
+ {1800, {wxTextCtrl, new_0, 0}},
+ {1802, {wxTextCtrl, destruct, 0}},
+ {1803, {wxTextCtrl, appendText, 1}},
+ {1804, {wxTextCtrl, canCopy, 0}},
+ {1805, {wxTextCtrl, canCut, 0}},
+ {1806, {wxTextCtrl, canPaste, 0}},
+ {1807, {wxTextCtrl, canRedo, 0}},
+ {1808, {wxTextCtrl, canUndo, 0}},
+ {1809, {wxTextCtrl, clear, 0}},
+ {1810, {wxTextCtrl, copy, 0}},
+ {1811, {wxTextCtrl, create, 3}},
+ {1812, {wxTextCtrl, cut, 0}},
+ {1813, {wxTextCtrl, discardEdits, 0}},
+ {1814, {wxTextCtrl, emulateKeyPress, 1}},
+ {1815, {wxTextCtrl, getDefaultStyle, 0}},
+ {1816, {wxTextCtrl, getInsertionPoint, 0}},
+ {1817, {wxTextCtrl, getLastPosition, 0}},
+ {1818, {wxTextCtrl, getLineLength, 1}},
+ {1819, {wxTextCtrl, getLineText, 1}},
+ {1820, {wxTextCtrl, getNumberOfLines, 0}},
+ {1821, {wxTextCtrl, getRange, 2}},
+ {1822, {wxTextCtrl, getSelection, 2}},
+ {1823, {wxTextCtrl, getStringSelection, 0}},
+ {1824, {wxTextCtrl, getStyle, 2}},
+ {1825, {wxTextCtrl, getValue, 0}},
+ {1826, {wxTextCtrl, isEditable, 0}},
+ {1827, {wxTextCtrl, isModified, 0}},
+ {1828, {wxTextCtrl, isMultiLine, 0}},
+ {1829, {wxTextCtrl, isSingleLine, 0}},
+ {1830, {wxTextCtrl, loadFile, 2}},
+ {1831, {wxTextCtrl, markDirty, 0}},
+ {1832, {wxTextCtrl, paste, 0}},
+ {1833, {wxTextCtrl, positionToXY, 3}},
+ {1834, {wxTextCtrl, redo, 0}},
+ {1835, {wxTextCtrl, remove, 2}},
+ {1836, {wxTextCtrl, replace, 3}},
+ {1837, {wxTextCtrl, saveFile, 1}},
+ {1838, {wxTextCtrl, setDefaultStyle, 1}},
+ {1839, {wxTextCtrl, setEditable, 1}},
+ {1840, {wxTextCtrl, setInsertionPoint, 1}},
+ {1841, {wxTextCtrl, setInsertionPointEnd, 0}},
+ {1843, {wxTextCtrl, setMaxLength, 1}},
+ {1844, {wxTextCtrl, setSelection, 2}},
+ {1845, {wxTextCtrl, setStyle, 3}},
+ {1846, {wxTextCtrl, setValue, 1}},
+ {1847, {wxTextCtrl, showPosition, 1}},
+ {1848, {wxTextCtrl, undo, 0}},
+ {1849, {wxTextCtrl, writeText, 1}},
+ {1850, {wxTextCtrl, xYToPosition, 2}},
+ {1853, {wxNotebook, new_0, 0}},
+ {1854, {wxNotebook, new_3, 3}},
+ {1855, {wxNotebook, destruct, 0}},
+ {1856, {wxNotebook, addPage, 3}},
+ {1857, {wxNotebook, advanceSelection, 1}},
+ {1858, {wxNotebook, assignImageList, 1}},
+ {1859, {wxNotebook, create, 3}},
+ {1860, {wxNotebook, deleteAllPages, 0}},
+ {1861, {wxNotebook, deletePage, 1}},
+ {1862, {wxNotebook, removePage, 1}},
+ {1863, {wxNotebook, getCurrentPage, 0}},
+ {1864, {wxNotebook, getImageList, 0}},
+ {1866, {wxNotebook, getPage, 1}},
+ {1867, {wxNotebook, getPageCount, 0}},
+ {1868, {wxNotebook, getPageImage, 1}},
+ {1869, {wxNotebook, getPageText, 1}},
+ {1870, {wxNotebook, getRowCount, 0}},
+ {1871, {wxNotebook, getSelection, 0}},
+ {1872, {wxNotebook, getThemeBackgroundColour, 0}},
+ {1874, {wxNotebook, hitTest, 2}},
+ {1876, {wxNotebook, insertPage, 4}},
+ {1877, {wxNotebook, setImageList, 1}},
+ {1878, {wxNotebook, setPadding, 1}},
+ {1879, {wxNotebook, setPageSize, 1}},
+ {1880, {wxNotebook, setPageImage, 2}},
+ {1881, {wxNotebook, setPageText, 2}},
+ {1882, {wxNotebook, setSelection, 1}},
+ {1883, {wxNotebook, changeSelection, 1}},
+ {1884, {wxChoicebook, new_0, 0}},
+ {1885, {wxChoicebook, new_3, 3}},
+ {1886, {wxChoicebook, addPage, 3}},
+ {1887, {wxChoicebook, advanceSelection, 1}},
+ {1888, {wxChoicebook, assignImageList, 1}},
+ {1889, {wxChoicebook, create, 3}},
+ {1890, {wxChoicebook, deleteAllPages, 0}},
+ {1891, {wxChoicebook, deletePage, 1}},
+ {1892, {wxChoicebook, removePage, 1}},
+ {1893, {wxChoicebook, getCurrentPage, 0}},
+ {1894, {wxChoicebook, getImageList, 0}},
+ {1896, {wxChoicebook, getPage, 1}},
+ {1897, {wxChoicebook, getPageCount, 0}},
+ {1898, {wxChoicebook, getPageImage, 1}},
+ {1899, {wxChoicebook, getPageText, 1}},
+ {1900, {wxChoicebook, getSelection, 0}},
+ {1901, {wxChoicebook, hitTest, 2}},
+ {1902, {wxChoicebook, insertPage, 4}},
+ {1903, {wxChoicebook, setImageList, 1}},
+ {1904, {wxChoicebook, setPageSize, 1}},
+ {1905, {wxChoicebook, setPageImage, 2}},
+ {1906, {wxChoicebook, setPageText, 2}},
+ {1907, {wxChoicebook, setSelection, 1}},
+ {1908, {wxChoicebook, changeSelection, 1}},
+ {1909, {wxChoicebook, 'Destroy', undefined}},
+ {1910, {wxToolbook, new_0, 0}},
+ {1911, {wxToolbook, new_3, 3}},
+ {1912, {wxToolbook, addPage, 3}},
+ {1913, {wxToolbook, advanceSelection, 1}},
+ {1914, {wxToolbook, assignImageList, 1}},
+ {1915, {wxToolbook, create, 3}},
+ {1916, {wxToolbook, deleteAllPages, 0}},
+ {1917, {wxToolbook, deletePage, 1}},
+ {1918, {wxToolbook, removePage, 1}},
+ {1919, {wxToolbook, getCurrentPage, 0}},
+ {1920, {wxToolbook, getImageList, 0}},
+ {1922, {wxToolbook, getPage, 1}},
+ {1923, {wxToolbook, getPageCount, 0}},
+ {1924, {wxToolbook, getPageImage, 1}},
+ {1925, {wxToolbook, getPageText, 1}},
+ {1926, {wxToolbook, getSelection, 0}},
+ {1928, {wxToolbook, hitTest, 2}},
+ {1929, {wxToolbook, insertPage, 4}},
+ {1930, {wxToolbook, setImageList, 1}},
+ {1931, {wxToolbook, setPageSize, 1}},
+ {1932, {wxToolbook, setPageImage, 2}},
+ {1933, {wxToolbook, setPageText, 2}},
+ {1934, {wxToolbook, setSelection, 1}},
+ {1935, {wxToolbook, changeSelection, 1}},
+ {1936, {wxToolbook, 'Destroy', undefined}},
+ {1937, {wxListbook, new_0, 0}},
+ {1938, {wxListbook, new_3, 3}},
+ {1939, {wxListbook, addPage, 3}},
+ {1940, {wxListbook, advanceSelection, 1}},
+ {1941, {wxListbook, assignImageList, 1}},
+ {1942, {wxListbook, create, 3}},
+ {1943, {wxListbook, deleteAllPages, 0}},
+ {1944, {wxListbook, deletePage, 1}},
+ {1945, {wxListbook, removePage, 1}},
+ {1946, {wxListbook, getCurrentPage, 0}},
+ {1947, {wxListbook, getImageList, 0}},
+ {1949, {wxListbook, getPage, 1}},
+ {1950, {wxListbook, getPageCount, 0}},
+ {1951, {wxListbook, getPageImage, 1}},
+ {1952, {wxListbook, getPageText, 1}},
+ {1953, {wxListbook, getSelection, 0}},
+ {1955, {wxListbook, hitTest, 2}},
+ {1956, {wxListbook, insertPage, 4}},
+ {1957, {wxListbook, setImageList, 1}},
+ {1958, {wxListbook, setPageSize, 1}},
+ {1959, {wxListbook, setPageImage, 2}},
+ {1960, {wxListbook, setPageText, 2}},
+ {1961, {wxListbook, setSelection, 1}},
+ {1962, {wxListbook, changeSelection, 1}},
+ {1963, {wxListbook, 'Destroy', undefined}},
+ {1964, {wxTreebook, new_0, 0}},
+ {1965, {wxTreebook, new_3, 3}},
+ {1966, {wxTreebook, addPage, 3}},
+ {1967, {wxTreebook, advanceSelection, 1}},
+ {1968, {wxTreebook, assignImageList, 1}},
+ {1969, {wxTreebook, create, 3}},
+ {1970, {wxTreebook, deleteAllPages, 0}},
+ {1971, {wxTreebook, deletePage, 1}},
+ {1972, {wxTreebook, removePage, 1}},
+ {1973, {wxTreebook, getCurrentPage, 0}},
+ {1974, {wxTreebook, getImageList, 0}},
+ {1976, {wxTreebook, getPage, 1}},
+ {1977, {wxTreebook, getPageCount, 0}},
+ {1978, {wxTreebook, getPageImage, 1}},
+ {1979, {wxTreebook, getPageText, 1}},
+ {1980, {wxTreebook, getSelection, 0}},
+ {1981, {wxTreebook, expandNode, 2}},
+ {1982, {wxTreebook, isNodeExpanded, 1}},
+ {1984, {wxTreebook, hitTest, 2}},
+ {1985, {wxTreebook, insertPage, 4}},
+ {1986, {wxTreebook, insertSubPage, 4}},
+ {1987, {wxTreebook, setImageList, 1}},
+ {1988, {wxTreebook, setPageSize, 1}},
+ {1989, {wxTreebook, setPageImage, 2}},
+ {1990, {wxTreebook, setPageText, 2}},
+ {1991, {wxTreebook, setSelection, 1}},
+ {1992, {wxTreebook, changeSelection, 1}},
+ {1993, {wxTreebook, 'Destroy', undefined}},
+ {1996, {wxTreeCtrl, new_2, 2}},
+ {1997, {wxTreeCtrl, new_0, 0}},
+ {1999, {wxTreeCtrl, destruct, 0}},
+ {2000, {wxTreeCtrl, addRoot, 2}},
+ {2001, {wxTreeCtrl, appendItem, 3}},
+ {2002, {wxTreeCtrl, assignImageList, 1}},
+ {2003, {wxTreeCtrl, assignStateImageList, 1}},
+ {2004, {wxTreeCtrl, collapse, 1}},
+ {2005, {wxTreeCtrl, collapseAndReset, 1}},
+ {2006, {wxTreeCtrl, create, 2}},
+ {2007, {wxTreeCtrl, delete, 1}},
+ {2008, {wxTreeCtrl, deleteAllItems, 0}},
+ {2009, {wxTreeCtrl, deleteChildren, 1}},
+ {2010, {wxTreeCtrl, ensureVisible, 1}},
+ {2011, {wxTreeCtrl, expand, 1}},
+ {2012, {wxTreeCtrl, getBoundingRect, 3}},
+ {2014, {wxTreeCtrl, getChildrenCount, 2}},
+ {2015, {wxTreeCtrl, getCount, 0}},
+ {2016, {wxTreeCtrl, getEditControl, 0}},
+ {2017, {wxTreeCtrl, getFirstChild, 2}},
+ {2018, {wxTreeCtrl, getNextChild, 2}},
+ {2019, {wxTreeCtrl, getFirstVisibleItem, 0}},
+ {2020, {wxTreeCtrl, getImageList, 0}},
+ {2021, {wxTreeCtrl, getIndent, 0}},
+ {2022, {wxTreeCtrl, getItemBackgroundColour, 1}},
+ {2023, {wxTreeCtrl, getItemData, 1}},
+ {2024, {wxTreeCtrl, getItemFont, 1}},
+ {2025, {wxTreeCtrl, getItemImage_1, 1}},
+ {2026, {wxTreeCtrl, getItemImage_2, 2}},
+ {2027, {wxTreeCtrl, getItemText, 1}},
+ {2028, {wxTreeCtrl, getItemTextColour, 1}},
+ {2029, {wxTreeCtrl, getLastChild, 1}},
+ {2030, {wxTreeCtrl, getNextSibling, 1}},
+ {2031, {wxTreeCtrl, getNextVisible, 1}},
+ {2032, {wxTreeCtrl, getItemParent, 1}},
+ {2033, {wxTreeCtrl, getPrevSibling, 1}},
+ {2034, {wxTreeCtrl, getPrevVisible, 1}},
+ {2035, {wxTreeCtrl, getRootItem, 0}},
+ {2036, {wxTreeCtrl, getSelection, 0}},
+ {2037, {wxTreeCtrl, getSelections, 1}},
+ {2038, {wxTreeCtrl, getStateImageList, 0}},
+ {2039, {wxTreeCtrl, hitTest, 1}},
+ {2041, {wxTreeCtrl, insertItem, 4}},
+ {2042, {wxTreeCtrl, isBold, 1}},
+ {2043, {wxTreeCtrl, isExpanded, 1}},
+ {2044, {wxTreeCtrl, isSelected, 1}},
+ {2045, {wxTreeCtrl, isVisible, 1}},
+ {2046, {wxTreeCtrl, itemHasChildren, 1}},
+ {2047, {wxTreeCtrl, prependItem, 3}},
+ {2048, {wxTreeCtrl, scrollTo, 1}},
+ {2049, {wxTreeCtrl, selectItem_1, 1}},
+ {2050, {wxTreeCtrl, selectItem_2, 2}},
+ {2051, {wxTreeCtrl, setIndent, 1}},
+ {2052, {wxTreeCtrl, setImageList, 1}},
+ {2053, {wxTreeCtrl, setItemBackgroundColour, 2}},
+ {2054, {wxTreeCtrl, setItemBold, 2}},
+ {2055, {wxTreeCtrl, setItemData, 2}},
+ {2056, {wxTreeCtrl, setItemDropHighlight, 2}},
+ {2057, {wxTreeCtrl, setItemFont, 2}},
+ {2058, {wxTreeCtrl, setItemHasChildren, 2}},
+ {2059, {wxTreeCtrl, setItemImage_2, 2}},
+ {2060, {wxTreeCtrl, setItemImage_3, 3}},
+ {2061, {wxTreeCtrl, setItemText, 2}},
+ {2062, {wxTreeCtrl, setItemTextColour, 2}},
+ {2063, {wxTreeCtrl, setStateImageList, 1}},
+ {2064, {wxTreeCtrl, setWindowStyle, 1}},
+ {2065, {wxTreeCtrl, sortChildren, 1}},
+ {2066, {wxTreeCtrl, toggle, 1}},
+ {2067, {wxTreeCtrl, toggleItemSelection, 1}},
+ {2068, {wxTreeCtrl, unselect, 0}},
+ {2069, {wxTreeCtrl, unselectAll, 0}},
+ {2070, {wxTreeCtrl, unselectItem, 1}},
+ {2071, {wxScrollBar, new_0, 0}},
+ {2072, {wxScrollBar, new_3, 3}},
+ {2073, {wxScrollBar, destruct, 0}},
+ {2074, {wxScrollBar, create, 3}},
+ {2075, {wxScrollBar, getRange, 0}},
+ {2076, {wxScrollBar, getPageSize, 0}},
+ {2077, {wxScrollBar, getThumbPosition, 0}},
+ {2078, {wxScrollBar, getThumbSize, 0}},
+ {2079, {wxScrollBar, setThumbPosition, 1}},
+ {2080, {wxScrollBar, setScrollbar, 5}},
+ {2082, {wxSpinButton, new_2, 2}},
+ {2083, {wxSpinButton, new_0, 0}},
+ {2084, {wxSpinButton, create, 2}},
+ {2085, {wxSpinButton, getMax, 0}},
+ {2086, {wxSpinButton, getMin, 0}},
+ {2087, {wxSpinButton, getValue, 0}},
+ {2088, {wxSpinButton, setRange, 2}},
+ {2089, {wxSpinButton, setValue, 1}},
+ {2090, {wxSpinButton, 'Destroy', undefined}},
+ {2091, {wxSpinCtrl, new_0, 0}},
+ {2092, {wxSpinCtrl, new_2, 2}},
+ {2094, {wxSpinCtrl, create, 2}},
+ {2097, {wxSpinCtrl, setValue_1_1, 1}},
+ {2098, {wxSpinCtrl, setValue_1_0, 1}},
+ {2100, {wxSpinCtrl, getValue, 0}},
+ {2102, {wxSpinCtrl, setRange, 2}},
+ {2103, {wxSpinCtrl, setSelection, 2}},
+ {2105, {wxSpinCtrl, getMin, 0}},
+ {2107, {wxSpinCtrl, getMax, 0}},
+ {2108, {wxSpinCtrl, 'Destroy', undefined}},
+ {2109, {wxStaticText, new_0, 0}},
+ {2110, {wxStaticText, new_4, 4}},
+ {2111, {wxStaticText, create, 4}},
+ {2112, {wxStaticText, getLabel, 0}},
+ {2113, {wxStaticText, setLabel, 1}},
+ {2114, {wxStaticText, wrap, 1}},
+ {2115, {wxStaticText, 'Destroy', undefined}},
+ {2116, {wxStaticBitmap, new_0, 0}},
+ {2117, {wxStaticBitmap, new_4, 4}},
+ {2118, {wxStaticBitmap, create, 4}},
+ {2119, {wxStaticBitmap, getBitmap, 0}},
+ {2120, {wxStaticBitmap, setBitmap, 1}},
+ {2121, {wxStaticBitmap, 'Destroy', undefined}},
+ {2122, {wxRadioBox, new, 7}},
+ {2124, {wxRadioBox, destruct, 0}},
+ {2125, {wxRadioBox, create, 7}},
+ {2126, {wxRadioBox, enable_2, 2}},
+ {2127, {wxRadioBox, enable_1, 1}},
+ {2128, {wxRadioBox, getSelection, 0}},
+ {2129, {wxRadioBox, getString, 1}},
+ {2130, {wxRadioBox, setSelection, 1}},
+ {2131, {wxRadioBox, show_2, 2}},
+ {2132, {wxRadioBox, show_1, 1}},
+ {2133, {wxRadioBox, getColumnCount, 0}},
+ {2134, {wxRadioBox, getItemHelpText, 1}},
+ {2135, {wxRadioBox, getItemToolTip, 1}},
+ {2137, {wxRadioBox, getItemFromPoint, 1}},
+ {2138, {wxRadioBox, getRowCount, 0}},
+ {2139, {wxRadioBox, isItemEnabled, 1}},
+ {2140, {wxRadioBox, isItemShown, 1}},
+ {2141, {wxRadioBox, setItemHelpText, 2}},
+ {2142, {wxRadioBox, setItemToolTip, 2}},
+ {2143, {wxRadioButton, new_0, 0}},
+ {2144, {wxRadioButton, new_4, 4}},
+ {2145, {wxRadioButton, create, 4}},
+ {2146, {wxRadioButton, getValue, 0}},
+ {2147, {wxRadioButton, setValue, 1}},
+ {2148, {wxRadioButton, 'Destroy', undefined}},
+ {2150, {wxSlider, new_6, 6}},
+ {2151, {wxSlider, new_0, 0}},
+ {2152, {wxSlider, create, 6}},
+ {2153, {wxSlider, getLineSize, 0}},
+ {2154, {wxSlider, getMax, 0}},
+ {2155, {wxSlider, getMin, 0}},
+ {2156, {wxSlider, getPageSize, 0}},
+ {2157, {wxSlider, getThumbLength, 0}},
+ {2158, {wxSlider, getValue, 0}},
+ {2159, {wxSlider, setLineSize, 1}},
+ {2160, {wxSlider, setPageSize, 1}},
+ {2161, {wxSlider, setRange, 2}},
+ {2162, {wxSlider, setThumbLength, 1}},
+ {2163, {wxSlider, setValue, 1}},
+ {2164, {wxSlider, 'Destroy', undefined}},
+ {2166, {wxDialog, new_4, 4}},
+ {2167, {wxDialog, new_0, 0}},
+ {2169, {wxDialog, destruct, 0}},
+ {2170, {wxDialog, create, 4}},
+ {2171, {wxDialog, createButtonSizer, 1}},
+ {2172, {wxDialog, createStdDialogButtonSizer, 1}},
+ {2173, {wxDialog, endModal, 1}},
+ {2174, {wxDialog, getAffirmativeId, 0}},
+ {2175, {wxDialog, getReturnCode, 0}},
+ {2176, {wxDialog, isModal, 0}},
+ {2177, {wxDialog, setAffirmativeId, 1}},
+ {2178, {wxDialog, setReturnCode, 1}},
+ {2179, {wxDialog, show, 1}},
+ {2180, {wxDialog, showModal, 0}},
+ {2181, {wxColourDialog, new_0, 0}},
+ {2182, {wxColourDialog, new_2, 2}},
+ {2183, {wxColourDialog, destruct, 0}},
+ {2184, {wxColourDialog, create, 2}},
+ {2185, {wxColourDialog, getColourData, 0}},
+ {2186, {wxColourData, new_0, 0}},
+ {2187, {wxColourData, new_1, 1}},
+ {2188, {wxColourData, destruct, 0}},
+ {2189, {wxColourData, getChooseFull, 0}},
+ {2190, {wxColourData, getColour, 0}},
+ {2192, {wxColourData, getCustomColour, 1}},
+ {2193, {wxColourData, setChooseFull, 1}},
+ {2194, {wxColourData, setColour, 1}},
+ {2195, {wxColourData, setCustomColour, 2}},
+ {2196, {wxPalette, new_0, 0}},
+ {2197, {wxPalette, new_4, 4}},
+ {2199, {wxPalette, destruct, 0}},
+ {2200, {wxPalette, create, 4}},
+ {2201, {wxPalette, getColoursCount, 0}},
+ {2202, {wxPalette, getPixel, 3}},
+ {2203, {wxPalette, getRGB, 4}},
+ {2204, {wxPalette, isOk, 0}},
+ {2208, {wxDirDialog, new, 2}},
+ {2209, {wxDirDialog, destruct, 0}},
+ {2210, {wxDirDialog, getPath, 0}},
+ {2211, {wxDirDialog, getMessage, 0}},
+ {2212, {wxDirDialog, setMessage, 1}},
+ {2213, {wxDirDialog, setPath, 1}},
+ {2217, {wxFileDialog, new, 2}},
+ {2218, {wxFileDialog, destruct, 0}},
+ {2219, {wxFileDialog, getDirectory, 0}},
+ {2220, {wxFileDialog, getFilename, 0}},
+ {2221, {wxFileDialog, getFilenames, 1}},
+ {2222, {wxFileDialog, getFilterIndex, 0}},
+ {2223, {wxFileDialog, getMessage, 0}},
+ {2224, {wxFileDialog, getPath, 0}},
+ {2225, {wxFileDialog, getPaths, 1}},
+ {2226, {wxFileDialog, getWildcard, 0}},
+ {2227, {wxFileDialog, setDirectory, 1}},
+ {2228, {wxFileDialog, setFilename, 1}},
+ {2229, {wxFileDialog, setFilterIndex, 1}},
+ {2230, {wxFileDialog, setMessage, 1}},
+ {2231, {wxFileDialog, setPath, 1}},
+ {2232, {wxFileDialog, setWildcard, 1}},
+ {2233, {wxPickerBase, setInternalMargin, 1}},
+ {2234, {wxPickerBase, getInternalMargin, 0}},
+ {2235, {wxPickerBase, setTextCtrlProportion, 1}},
+ {2236, {wxPickerBase, setPickerCtrlProportion, 1}},
+ {2237, {wxPickerBase, getTextCtrlProportion, 0}},
+ {2238, {wxPickerBase, getPickerCtrlProportion, 0}},
+ {2239, {wxPickerBase, hasTextCtrl, 0}},
+ {2240, {wxPickerBase, getTextCtrl, 0}},
+ {2241, {wxPickerBase, isTextCtrlGrowable, 0}},
+ {2242, {wxPickerBase, setPickerCtrlGrowable, 1}},
+ {2243, {wxPickerBase, setTextCtrlGrowable, 1}},
+ {2244, {wxPickerBase, isPickerCtrlGrowable, 0}},
+ {2245, {wxFilePickerCtrl, new_0, 0}},
+ {2246, {wxFilePickerCtrl, new_3, 3}},
+ {2247, {wxFilePickerCtrl, create, 3}},
+ {2248, {wxFilePickerCtrl, getPath, 0}},
+ {2249, {wxFilePickerCtrl, setPath, 1}},
+ {2250, {wxFilePickerCtrl, 'Destroy', undefined}},
+ {2251, {wxDirPickerCtrl, new_0, 0}},
+ {2252, {wxDirPickerCtrl, new_3, 3}},
+ {2253, {wxDirPickerCtrl, create, 3}},
+ {2254, {wxDirPickerCtrl, getPath, 0}},
+ {2255, {wxDirPickerCtrl, setPath, 1}},
+ {2256, {wxDirPickerCtrl, 'Destroy', undefined}},
+ {2257, {wxColourPickerCtrl, new_0, 0}},
+ {2258, {wxColourPickerCtrl, new_3, 3}},
+ {2259, {wxColourPickerCtrl, create, 3}},
+ {2260, {wxColourPickerCtrl, getColour, 0}},
+ {2261, {wxColourPickerCtrl, setColour_1_1, 1}},
+ {2262, {wxColourPickerCtrl, setColour_1_0, 1}},
+ {2263, {wxColourPickerCtrl, 'Destroy', undefined}},
+ {2264, {wxDatePickerCtrl, new_0, 0}},
+ {2265, {wxDatePickerCtrl, new_3, 3}},
+ {2266, {wxDatePickerCtrl, getRange, 2}},
+ {2267, {wxDatePickerCtrl, getValue, 0}},
+ {2268, {wxDatePickerCtrl, setRange, 2}},
+ {2269, {wxDatePickerCtrl, setValue, 1}},
+ {2270, {wxDatePickerCtrl, 'Destroy', undefined}},
+ {2271, {wxFontPickerCtrl, new_0, 0}},
+ {2272, {wxFontPickerCtrl, new_3, 3}},
+ {2273, {wxFontPickerCtrl, create, 3}},
+ {2274, {wxFontPickerCtrl, getSelectedFont, 0}},
+ {2275, {wxFontPickerCtrl, setSelectedFont, 1}},
+ {2276, {wxFontPickerCtrl, getMaxPointSize, 0}},
+ {2277, {wxFontPickerCtrl, setMaxPointSize, 1}},
+ {2278, {wxFontPickerCtrl, 'Destroy', undefined}},
+ {2281, {wxFindReplaceDialog, new_0, 0}},
+ {2282, {wxFindReplaceDialog, new_4, 4}},
+ {2283, {wxFindReplaceDialog, destruct, 0}},
+ {2284, {wxFindReplaceDialog, create, 4}},
+ {2285, {wxFindReplaceDialog, getData, 0}},
+ {2286, {wxFindReplaceData, new_0, 0}},
+ {2287, {wxFindReplaceData, new_1, 1}},
+ {2288, {wxFindReplaceData, getFindString, 0}},
+ {2289, {wxFindReplaceData, getReplaceString, 0}},
+ {2290, {wxFindReplaceData, getFlags, 0}},
+ {2291, {wxFindReplaceData, setFlags, 1}},
+ {2292, {wxFindReplaceData, setFindString, 1}},
+ {2293, {wxFindReplaceData, setReplaceString, 1}},
+ {2294, {wxFindReplaceData, 'Destroy', undefined}},
+ {2295, {wxMultiChoiceDialog, new_0, 0}},
+ {2297, {wxMultiChoiceDialog, new_5, 5}},
+ {2298, {wxMultiChoiceDialog, getSelections, 0}},
+ {2299, {wxMultiChoiceDialog, setSelections, 1}},
+ {2300, {wxMultiChoiceDialog, 'Destroy', undefined}},
+ {2301, {wxSingleChoiceDialog, new_0, 0}},
+ {2303, {wxSingleChoiceDialog, new_5, 5}},
+ {2304, {wxSingleChoiceDialog, getSelection, 0}},
+ {2305, {wxSingleChoiceDialog, getStringSelection, 0}},
+ {2306, {wxSingleChoiceDialog, setSelection, 1}},
+ {2307, {wxSingleChoiceDialog, 'Destroy', undefined}},
+ {2308, {wxTextEntryDialog, new, 3}},
+ {2309, {wxTextEntryDialog, getValue, 0}},
+ {2310, {wxTextEntryDialog, setValue, 1}},
+ {2311, {wxTextEntryDialog, 'Destroy', undefined}},
+ {2312, {wxPasswordEntryDialog, new, 3}},
+ {2313, {wxPasswordEntryDialog, 'Destroy', undefined}},
+ {2314, {wxFontData, new_0, 0}},
+ {2315, {wxFontData, new_1, 1}},
+ {2316, {wxFontData, destruct, 0}},
+ {2317, {wxFontData, enableEffects, 1}},
+ {2318, {wxFontData, getAllowSymbols, 0}},
+ {2319, {wxFontData, getColour, 0}},
+ {2320, {wxFontData, getChosenFont, 0}},
+ {2321, {wxFontData, getEnableEffects, 0}},
+ {2322, {wxFontData, getInitialFont, 0}},
+ {2323, {wxFontData, getShowHelp, 0}},
+ {2324, {wxFontData, setAllowSymbols, 1}},
+ {2325, {wxFontData, setChosenFont, 1}},
+ {2326, {wxFontData, setColour, 1}},
+ {2327, {wxFontData, setInitialFont, 1}},
+ {2328, {wxFontData, setRange, 2}},
+ {2329, {wxFontData, setShowHelp, 1}},
+ {2333, {wxFontDialog, new_0, 0}},
+ {2335, {wxFontDialog, new_2, 2}},
+ {2337, {wxFontDialog, create, 2}},
+ {2338, {wxFontDialog, getFontData, 0}},
+ {2340, {wxFontDialog, 'Destroy', undefined}},
+ {2341, {wxProgressDialog, new, 3}},
+ {2342, {wxProgressDialog, destruct, 0}},
+ {2343, {wxProgressDialog, resume, 0}},
+ {2344, {wxProgressDialog, update_2, 2}},
+ {2345, {wxProgressDialog, update_0, 0}},
+ {2346, {wxMessageDialog, new, 3}},
+ {2347, {wxMessageDialog, destruct, 0}},
+ {2348, {wxPageSetupDialog, new, 2}},
+ {2349, {wxPageSetupDialog, destruct, 0}},
+ {2350, {wxPageSetupDialog, getPageSetupData, 0}},
+ {2351, {wxPageSetupDialog, showModal, 0}},
+ {2352, {wxPageSetupDialogData, new_0, 0}},
+ {2353, {wxPageSetupDialogData, new_1_0, 1}},
+ {2354, {wxPageSetupDialogData, new_1_1, 1}},
+ {2355, {wxPageSetupDialogData, destruct, 0}},
+ {2356, {wxPageSetupDialogData, enableHelp, 1}},
+ {2357, {wxPageSetupDialogData, enableMargins, 1}},
+ {2358, {wxPageSetupDialogData, enableOrientation, 1}},
+ {2359, {wxPageSetupDialogData, enablePaper, 1}},
+ {2360, {wxPageSetupDialogData, enablePrinter, 1}},
+ {2361, {wxPageSetupDialogData, getDefaultMinMargins, 0}},
+ {2362, {wxPageSetupDialogData, getEnableMargins, 0}},
+ {2363, {wxPageSetupDialogData, getEnableOrientation, 0}},
+ {2364, {wxPageSetupDialogData, getEnablePaper, 0}},
+ {2365, {wxPageSetupDialogData, getEnablePrinter, 0}},
+ {2366, {wxPageSetupDialogData, getEnableHelp, 0}},
+ {2367, {wxPageSetupDialogData, getDefaultInfo, 0}},
+ {2368, {wxPageSetupDialogData, getMarginTopLeft, 0}},
+ {2369, {wxPageSetupDialogData, getMarginBottomRight, 0}},
+ {2370, {wxPageSetupDialogData, getMinMarginTopLeft, 0}},
+ {2371, {wxPageSetupDialogData, getMinMarginBottomRight, 0}},
+ {2372, {wxPageSetupDialogData, getPaperId, 0}},
+ {2373, {wxPageSetupDialogData, getPaperSize, 0}},
+ {2375, {wxPageSetupDialogData, getPrintData, 0}},
+ {2376, {wxPageSetupDialogData, isOk, 0}},
+ {2377, {wxPageSetupDialogData, setDefaultInfo, 1}},
+ {2378, {wxPageSetupDialogData, setDefaultMinMargins, 1}},
+ {2379, {wxPageSetupDialogData, setMarginTopLeft, 1}},
+ {2380, {wxPageSetupDialogData, setMarginBottomRight, 1}},
+ {2381, {wxPageSetupDialogData, setMinMarginTopLeft, 1}},
+ {2382, {wxPageSetupDialogData, setMinMarginBottomRight, 1}},
+ {2383, {wxPageSetupDialogData, setPaperId, 1}},
+ {2384, {wxPageSetupDialogData, setPaperSize_1_1, 1}},
+ {2385, {wxPageSetupDialogData, setPaperSize_1_0, 1}},
+ {2386, {wxPageSetupDialogData, setPrintData, 1}},
+ {2387, {wxPrintDialog, new_2_0, 2}},
+ {2388, {wxPrintDialog, new_2_1, 2}},
+ {2389, {wxPrintDialog, destruct, 0}},
+ {2390, {wxPrintDialog, getPrintDialogData, 0}},
+ {2391, {wxPrintDialog, getPrintDC, 0}},
+ {2392, {wxPrintDialogData, new_0, 0}},
+ {2393, {wxPrintDialogData, new_1_1, 1}},
+ {2394, {wxPrintDialogData, new_1_0, 1}},
+ {2395, {wxPrintDialogData, destruct, 0}},
+ {2396, {wxPrintDialogData, enableHelp, 1}},
+ {2397, {wxPrintDialogData, enablePageNumbers, 1}},
+ {2398, {wxPrintDialogData, enablePrintToFile, 1}},
+ {2399, {wxPrintDialogData, enableSelection, 1}},
+ {2400, {wxPrintDialogData, getAllPages, 0}},
+ {2401, {wxPrintDialogData, getCollate, 0}},
+ {2402, {wxPrintDialogData, getFromPage, 0}},
+ {2403, {wxPrintDialogData, getMaxPage, 0}},
+ {2404, {wxPrintDialogData, getMinPage, 0}},
+ {2405, {wxPrintDialogData, getNoCopies, 0}},
+ {2406, {wxPrintDialogData, getPrintData, 0}},
+ {2407, {wxPrintDialogData, getPrintToFile, 0}},
+ {2408, {wxPrintDialogData, getSelection, 0}},
+ {2409, {wxPrintDialogData, getToPage, 0}},
+ {2410, {wxPrintDialogData, isOk, 0}},
+ {2411, {wxPrintDialogData, setCollate, 1}},
+ {2412, {wxPrintDialogData, setFromPage, 1}},
+ {2413, {wxPrintDialogData, setMaxPage, 1}},
+ {2414, {wxPrintDialogData, setMinPage, 1}},
+ {2415, {wxPrintDialogData, setNoCopies, 1}},
+ {2416, {wxPrintDialogData, setPrintData, 1}},
+ {2417, {wxPrintDialogData, setPrintToFile, 1}},
+ {2418, {wxPrintDialogData, setSelection, 1}},
+ {2419, {wxPrintDialogData, setToPage, 1}},
+ {2420, {wxPrintData, new_0, 0}},
+ {2421, {wxPrintData, new_1, 1}},
+ {2422, {wxPrintData, destruct, 0}},
+ {2423, {wxPrintData, getCollate, 0}},
+ {2424, {wxPrintData, getBin, 0}},
+ {2425, {wxPrintData, getColour, 0}},
+ {2426, {wxPrintData, getDuplex, 0}},
+ {2427, {wxPrintData, getNoCopies, 0}},
+ {2428, {wxPrintData, getOrientation, 0}},
+ {2429, {wxPrintData, getPaperId, 0}},
+ {2430, {wxPrintData, getPrinterName, 0}},
+ {2431, {wxPrintData, getQuality, 0}},
+ {2432, {wxPrintData, isOk, 0}},
+ {2433, {wxPrintData, setBin, 1}},
+ {2434, {wxPrintData, setCollate, 1}},
+ {2435, {wxPrintData, setColour, 1}},
+ {2436, {wxPrintData, setDuplex, 1}},
+ {2437, {wxPrintData, setNoCopies, 1}},
+ {2438, {wxPrintData, setOrientation, 1}},
+ {2439, {wxPrintData, setPaperId, 1}},
+ {2440, {wxPrintData, setPrinterName, 1}},
+ {2441, {wxPrintData, setQuality, 1}},
+ {2444, {wxPrintPreview, new_2, 2}},
+ {2445, {wxPrintPreview, new_3, 3}},
+ {2447, {wxPrintPreview, destruct, 0}},
+ {2448, {wxPrintPreview, getCanvas, 0}},
+ {2449, {wxPrintPreview, getCurrentPage, 0}},
+ {2450, {wxPrintPreview, getFrame, 0}},
+ {2451, {wxPrintPreview, getMaxPage, 0}},
+ {2452, {wxPrintPreview, getMinPage, 0}},
+ {2453, {wxPrintPreview, getPrintout, 0}},
+ {2454, {wxPrintPreview, getPrintoutForPrinting, 0}},
+ {2455, {wxPrintPreview, isOk, 0}},
+ {2456, {wxPrintPreview, paintPage, 2}},
+ {2457, {wxPrintPreview, print, 1}},
+ {2458, {wxPrintPreview, renderPage, 1}},
+ {2459, {wxPrintPreview, setCanvas, 1}},
+ {2460, {wxPrintPreview, setCurrentPage, 1}},
+ {2461, {wxPrintPreview, setFrame, 1}},
+ {2462, {wxPrintPreview, setPrintout, 1}},
+ {2463, {wxPrintPreview, setZoom, 1}},
+ {2464, {wxPreviewFrame, new, 3}},
+ {2465, {wxPreviewFrame, destruct, 0}},
+ {2466, {wxPreviewFrame, createControlBar, 0}},
+ {2467, {wxPreviewFrame, createCanvas, 0}},
+ {2468, {wxPreviewFrame, initialize, 0}},
+ {2469, {wxPreviewFrame, onCloseWindow, 1}},
+ {2470, {wxPreviewControlBar, new, 4}},
+ {2471, {wxPreviewControlBar, destruct, 0}},
+ {2472, {wxPreviewControlBar, createButtons, 0}},
+ {2473, {wxPreviewControlBar, getPrintPreview, 0}},
+ {2474, {wxPreviewControlBar, getZoomControl, 0}},
+ {2475, {wxPreviewControlBar, setZoomControl, 1}},
+ {2477, {wxPrinter, new, 1}},
+ {2478, {wxPrinter, createAbortWindow, 2}},
+ {2479, {wxPrinter, getAbort, 0}},
+ {2480, {wxPrinter, getLastError, 0}},
+ {2481, {wxPrinter, getPrintDialogData, 0}},
+ {2482, {wxPrinter, print, 3}},
+ {2483, {wxPrinter, printDialog, 1}},
+ {2484, {wxPrinter, reportError, 3}},
+ {2485, {wxPrinter, setup, 1}},
+ {2486, {wxPrinter, 'Destroy', undefined}},
+ {2487, {wxXmlResource, new_1, 1}},
+ {2488, {wxXmlResource, new_2, 2}},
+ {2489, {wxXmlResource, destruct, 0}},
+ {2490, {wxXmlResource, attachUnknownControl, 3}},
+ {2491, {wxXmlResource, clearHandlers, 0}},
+ {2492, {wxXmlResource, compareVersion, 4}},
+ {2493, {wxXmlResource, get, 0}},
+ {2494, {wxXmlResource, getFlags, 0}},
+ {2495, {wxXmlResource, getVersion, 0}},
+ {2496, {wxXmlResource, getXRCID, 2}},
+ {2497, {wxXmlResource, initAllHandlers, 0}},
+ {2498, {wxXmlResource, load, 1}},
+ {2499, {wxXmlResource, loadBitmap, 1}},
+ {2500, {wxXmlResource, loadDialog_2, 2}},
+ {2501, {wxXmlResource, loadDialog_3, 3}},
+ {2502, {wxXmlResource, loadFrame_2, 2}},
+ {2503, {wxXmlResource, loadFrame_3, 3}},
+ {2504, {wxXmlResource, loadIcon, 1}},
+ {2505, {wxXmlResource, loadMenu, 1}},
+ {2506, {wxXmlResource, loadMenuBar_2, 2}},
+ {2507, {wxXmlResource, loadMenuBar_1, 1}},
+ {2508, {wxXmlResource, loadPanel_2, 2}},
+ {2509, {wxXmlResource, loadPanel_3, 3}},
+ {2510, {wxXmlResource, loadToolBar, 2}},
+ {2511, {wxXmlResource, set, 1}},
+ {2512, {wxXmlResource, setFlags, 1}},
+ {2513, {wxXmlResource, unload, 1}},
+ {2514, {wxXmlResource, xrcctrl, 3}},
+ {2515, {wxHtmlEasyPrinting, new, 1}},
+ {2516, {wxHtmlEasyPrinting, destruct, 0}},
+ {2517, {wxHtmlEasyPrinting, getPrintData, 0}},
+ {2518, {wxHtmlEasyPrinting, getPageSetupData, 0}},
+ {2519, {wxHtmlEasyPrinting, previewFile, 1}},
+ {2520, {wxHtmlEasyPrinting, previewText, 2}},
+ {2521, {wxHtmlEasyPrinting, printFile, 1}},
+ {2522, {wxHtmlEasyPrinting, printText, 2}},
+ {2523, {wxHtmlEasyPrinting, pageSetup, 0}},
+ {2524, {wxHtmlEasyPrinting, setFonts, 3}},
+ {2525, {wxHtmlEasyPrinting, setHeader, 2}},
+ {2526, {wxHtmlEasyPrinting, setFooter, 2}},
+ {2528, {wxGLCanvas, new_2, 2}},
+ {2529, {wxGLCanvas, new_3_1, 3}},
+ {2530, {wxGLCanvas, new_3_0, 3}},
+ {2531, {wxGLCanvas, getContext, 0}},
+ {2533, {wxGLCanvas, setCurrent, 0}},
+ {2534, {wxGLCanvas, swapBuffers, 0}},
+ {2535, {wxGLCanvas, 'Destroy', undefined}},
+ {2536, {wxAuiManager, new, 1}},
+ {2537, {wxAuiManager, destruct, 0}},
+ {2538, {wxAuiManager, addPane_2_1, 2}},
+ {2539, {wxAuiManager, addPane_3, 3}},
+ {2540, {wxAuiManager, addPane_2_0, 2}},
+ {2541, {wxAuiManager, detachPane, 1}},
+ {2542, {wxAuiManager, getAllPanes, 0}},
+ {2543, {wxAuiManager, getArtProvider, 0}},
+ {2544, {wxAuiManager, getDockSizeConstraint, 2}},
+ {2545, {wxAuiManager, getFlags, 0}},
+ {2546, {wxAuiManager, getManagedWindow, 0}},
+ {2547, {wxAuiManager, getManager, 1}},
+ {2548, {wxAuiManager, getPane_1_1, 1}},
+ {2549, {wxAuiManager, getPane_1_0, 1}},
+ {2550, {wxAuiManager, hideHint, 0}},
+ {2551, {wxAuiManager, insertPane, 3}},
+ {2552, {wxAuiManager, loadPaneInfo, 2}},
+ {2553, {wxAuiManager, loadPerspective, 2}},
+ {2554, {wxAuiManager, savePaneInfo, 1}},
+ {2555, {wxAuiManager, savePerspective, 0}},
+ {2556, {wxAuiManager, setArtProvider, 1}},
+ {2557, {wxAuiManager, setDockSizeConstraint, 2}},
+ {2558, {wxAuiManager, setFlags, 1}},
+ {2559, {wxAuiManager, setManagedWindow, 1}},
+ {2560, {wxAuiManager, showHint, 1}},
+ {2561, {wxAuiManager, unInit, 0}},
+ {2562, {wxAuiManager, update, 0}},
+ {2563, {wxAuiPaneInfo, new_0, 0}},
+ {2564, {wxAuiPaneInfo, new_1, 1}},
+ {2565, {wxAuiPaneInfo, destruct, 0}},
+ {2566, {wxAuiPaneInfo, bestSize_1, 1}},
+ {2567, {wxAuiPaneInfo, bestSize_2, 2}},
+ {2568, {wxAuiPaneInfo, bottom, 0}},
+ {2569, {wxAuiPaneInfo, bottomDockable, 1}},
+ {2570, {wxAuiPaneInfo, caption, 1}},
+ {2571, {wxAuiPaneInfo, captionVisible, 1}},
+ {2572, {wxAuiPaneInfo, centre, 0}},
+ {2573, {wxAuiPaneInfo, centrePane, 0}},
+ {2574, {wxAuiPaneInfo, closeButton, 1}},
+ {2575, {wxAuiPaneInfo, defaultPane, 0}},
+ {2576, {wxAuiPaneInfo, destroyOnClose, 1}},
+ {2577, {wxAuiPaneInfo, direction, 1}},
+ {2578, {wxAuiPaneInfo, dock, 0}},
+ {2579, {wxAuiPaneInfo, dockable, 1}},
+ {2580, {wxAuiPaneInfo, fixed, 0}},
+ {2581, {wxAuiPaneInfo, float, 0}},
+ {2582, {wxAuiPaneInfo, floatable, 1}},
+ {2583, {wxAuiPaneInfo, floatingPosition_1, 1}},
+ {2584, {wxAuiPaneInfo, floatingPosition_2, 2}},
+ {2585, {wxAuiPaneInfo, floatingSize_1, 1}},
+ {2586, {wxAuiPaneInfo, floatingSize_2, 2}},
+ {2587, {wxAuiPaneInfo, gripper, 1}},
+ {2588, {wxAuiPaneInfo, gripperTop, 1}},
+ {2589, {wxAuiPaneInfo, hasBorder, 0}},
+ {2590, {wxAuiPaneInfo, hasCaption, 0}},
+ {2591, {wxAuiPaneInfo, hasCloseButton, 0}},
+ {2592, {wxAuiPaneInfo, hasFlag, 1}},
+ {2593, {wxAuiPaneInfo, hasGripper, 0}},
+ {2594, {wxAuiPaneInfo, hasGripperTop, 0}},
+ {2595, {wxAuiPaneInfo, hasMaximizeButton, 0}},
+ {2596, {wxAuiPaneInfo, hasMinimizeButton, 0}},
+ {2597, {wxAuiPaneInfo, hasPinButton, 0}},
+ {2598, {wxAuiPaneInfo, hide, 0}},
+ {2599, {wxAuiPaneInfo, isBottomDockable, 0}},
+ {2600, {wxAuiPaneInfo, isDocked, 0}},
+ {2601, {wxAuiPaneInfo, isFixed, 0}},
+ {2602, {wxAuiPaneInfo, isFloatable, 0}},
+ {2603, {wxAuiPaneInfo, isFloating, 0}},
+ {2604, {wxAuiPaneInfo, isLeftDockable, 0}},
+ {2605, {wxAuiPaneInfo, isMovable, 0}},
+ {2606, {wxAuiPaneInfo, isOk, 0}},
+ {2607, {wxAuiPaneInfo, isResizable, 0}},
+ {2608, {wxAuiPaneInfo, isRightDockable, 0}},
+ {2609, {wxAuiPaneInfo, isShown, 0}},
+ {2610, {wxAuiPaneInfo, isToolbar, 0}},
+ {2611, {wxAuiPaneInfo, isTopDockable, 0}},
+ {2612, {wxAuiPaneInfo, layer, 1}},
+ {2613, {wxAuiPaneInfo, left, 0}},
+ {2614, {wxAuiPaneInfo, leftDockable, 1}},
+ {2615, {wxAuiPaneInfo, maxSize_1, 1}},
+ {2616, {wxAuiPaneInfo, maxSize_2, 2}},
+ {2617, {wxAuiPaneInfo, maximizeButton, 1}},
+ {2618, {wxAuiPaneInfo, minSize_1, 1}},
+ {2619, {wxAuiPaneInfo, minSize_2, 2}},
+ {2620, {wxAuiPaneInfo, minimizeButton, 1}},
+ {2621, {wxAuiPaneInfo, movable, 1}},
+ {2622, {wxAuiPaneInfo, name, 1}},
+ {2623, {wxAuiPaneInfo, paneBorder, 1}},
+ {2624, {wxAuiPaneInfo, pinButton, 1}},
+ {2625, {wxAuiPaneInfo, position, 1}},
+ {2626, {wxAuiPaneInfo, resizable, 1}},
+ {2627, {wxAuiPaneInfo, right, 0}},
+ {2628, {wxAuiPaneInfo, rightDockable, 1}},
+ {2629, {wxAuiPaneInfo, row, 1}},
+ {2630, {wxAuiPaneInfo, safeSet, 1}},
+ {2631, {wxAuiPaneInfo, setFlag, 2}},
+ {2632, {wxAuiPaneInfo, show, 1}},
+ {2633, {wxAuiPaneInfo, toolbarPane, 0}},
+ {2634, {wxAuiPaneInfo, top, 0}},
+ {2635, {wxAuiPaneInfo, topDockable, 1}},
+ {2636, {wxAuiPaneInfo, window, 1}},
+ {2637, {wxAuiNotebook, new_0, 0}},
+ {2638, {wxAuiNotebook, new_2, 2}},
+ {2639, {wxAuiNotebook, addPage, 3}},
+ {2640, {wxAuiNotebook, create, 2}},
+ {2641, {wxAuiNotebook, deletePage, 1}},
+ {2642, {wxAuiNotebook, getArtProvider, 0}},
+ {2643, {wxAuiNotebook, getPage, 1}},
+ {2644, {wxAuiNotebook, getPageBitmap, 1}},
+ {2645, {wxAuiNotebook, getPageCount, 0}},
+ {2646, {wxAuiNotebook, getPageIndex, 1}},
+ {2647, {wxAuiNotebook, getPageText, 1}},
+ {2648, {wxAuiNotebook, getSelection, 0}},
+ {2649, {wxAuiNotebook, insertPage, 4}},
+ {2650, {wxAuiNotebook, removePage, 1}},
+ {2651, {wxAuiNotebook, setArtProvider, 1}},
+ {2652, {wxAuiNotebook, setFont, 1}},
+ {2653, {wxAuiNotebook, setPageBitmap, 2}},
+ {2654, {wxAuiNotebook, setPageText, 2}},
+ {2655, {wxAuiNotebook, setSelection, 1}},
+ {2656, {wxAuiNotebook, setTabCtrlHeight, 1}},
+ {2657, {wxAuiNotebook, setUniformBitmapSize, 1}},
+ {2658, {wxAuiNotebook, 'Destroy', undefined}},
+ {2659, {wxMDIParentFrame, new_0, 0}},
+ {2660, {wxMDIParentFrame, new_4, 4}},
+ {2661, {wxMDIParentFrame, destruct, 0}},
+ {2662, {wxMDIParentFrame, activateNext, 0}},
+ {2663, {wxMDIParentFrame, activatePrevious, 0}},
+ {2664, {wxMDIParentFrame, arrangeIcons, 0}},
+ {2665, {wxMDIParentFrame, cascade, 0}},
+ {2666, {wxMDIParentFrame, create, 4}},
+ {2667, {wxMDIParentFrame, getActiveChild, 0}},
+ {2668, {wxMDIParentFrame, getClientWindow, 0}},
+ {2669, {wxMDIParentFrame, tile, 1}},
+ {2670, {wxMDIChildFrame, new_0, 0}},
+ {2671, {wxMDIChildFrame, new_4, 4}},
+ {2672, {wxMDIChildFrame, destruct, 0}},
+ {2673, {wxMDIChildFrame, activate, 0}},
+ {2674, {wxMDIChildFrame, create, 4}},
+ {2675, {wxMDIChildFrame, maximize, 1}},
+ {2676, {wxMDIChildFrame, restore, 0}},
+ {2677, {wxMDIClientWindow, new_0, 0}},
+ {2678, {wxMDIClientWindow, new_2, 2}},
+ {2679, {wxMDIClientWindow, destruct, 0}},
+ {2680, {wxMDIClientWindow, createClient, 2}},
+ {2681, {wxLayoutAlgorithm, new, 0}},
+ {2682, {wxLayoutAlgorithm, layoutFrame, 2}},
+ {2683, {wxLayoutAlgorithm, layoutMDIFrame, 2}},
+ {2684, {wxLayoutAlgorithm, layoutWindow, 2}},
+ {2685, {wxLayoutAlgorithm, 'Destroy', undefined}},
+ {2686, {wxEvent, getId, 0}},
+ {2687, {wxEvent, getSkipped, 0}},
+ {2688, {wxEvent, getTimestamp, 0}},
+ {2689, {wxEvent, isCommandEvent, 0}},
+ {2690, {wxEvent, resumePropagation, 1}},
+ {2691, {wxEvent, shouldPropagate, 0}},
+ {2692, {wxEvent, skip, 1}},
+ {2693, {wxEvent, stopPropagation, 0}},
+ {2694, {wxCommandEvent, getClientData, 0}},
+ {2695, {wxCommandEvent, getExtraLong, 0}},
+ {2696, {wxCommandEvent, getInt, 0}},
+ {2697, {wxCommandEvent, getSelection, 0}},
+ {2698, {wxCommandEvent, getString, 0}},
+ {2699, {wxCommandEvent, isChecked, 0}},
+ {2700, {wxCommandEvent, isSelection, 0}},
+ {2701, {wxCommandEvent, setInt, 1}},
+ {2702, {wxCommandEvent, setString, 1}},
+ {2703, {wxScrollEvent, getOrientation, 0}},
+ {2704, {wxScrollEvent, getPosition, 0}},
+ {2705, {wxScrollWinEvent, getOrientation, 0}},
+ {2706, {wxScrollWinEvent, getPosition, 0}},
+ {2707, {wxMouseEvent, altDown, 0}},
+ {2708, {wxMouseEvent, button, 1}},
+ {2709, {wxMouseEvent, buttonDClick, 1}},
+ {2710, {wxMouseEvent, buttonDown, 1}},
+ {2711, {wxMouseEvent, buttonUp, 1}},
+ {2712, {wxMouseEvent, cmdDown, 0}},
+ {2713, {wxMouseEvent, controlDown, 0}},
+ {2714, {wxMouseEvent, dragging, 0}},
+ {2715, {wxMouseEvent, entering, 0}},
+ {2716, {wxMouseEvent, getButton, 0}},
+ {2719, {wxMouseEvent, getPosition, 0}},
+ {2720, {wxMouseEvent, getLogicalPosition, 1}},
+ {2721, {wxMouseEvent, getLinesPerAction, 0}},
+ {2722, {wxMouseEvent, getWheelRotation, 0}},
+ {2723, {wxMouseEvent, getWheelDelta, 0}},
+ {2724, {wxMouseEvent, getX, 0}},
+ {2725, {wxMouseEvent, getY, 0}},
+ {2726, {wxMouseEvent, isButton, 0}},
+ {2727, {wxMouseEvent, isPageScroll, 0}},
+ {2728, {wxMouseEvent, leaving, 0}},
+ {2729, {wxMouseEvent, leftDClick, 0}},
+ {2730, {wxMouseEvent, leftDown, 0}},
+ {2731, {wxMouseEvent, leftIsDown, 0}},
+ {2732, {wxMouseEvent, leftUp, 0}},
+ {2733, {wxMouseEvent, metaDown, 0}},
+ {2734, {wxMouseEvent, middleDClick, 0}},
+ {2735, {wxMouseEvent, middleDown, 0}},
+ {2736, {wxMouseEvent, middleIsDown, 0}},
+ {2737, {wxMouseEvent, middleUp, 0}},
+ {2738, {wxMouseEvent, moving, 0}},
+ {2739, {wxMouseEvent, rightDClick, 0}},
+ {2740, {wxMouseEvent, rightDown, 0}},
+ {2741, {wxMouseEvent, rightIsDown, 0}},
+ {2742, {wxMouseEvent, rightUp, 0}},
+ {2743, {wxMouseEvent, shiftDown, 0}},
+ {2744, {wxSetCursorEvent, getCursor, 0}},
+ {2745, {wxSetCursorEvent, getX, 0}},
+ {2746, {wxSetCursorEvent, getY, 0}},
+ {2747, {wxSetCursorEvent, hasCursor, 0}},
+ {2748, {wxSetCursorEvent, setCursor, 1}},
+ {2749, {wxKeyEvent, altDown, 0}},
+ {2750, {wxKeyEvent, cmdDown, 0}},
+ {2751, {wxKeyEvent, controlDown, 0}},
+ {2752, {wxKeyEvent, getKeyCode, 0}},
+ {2753, {wxKeyEvent, getModifiers, 0}},
+ {2756, {wxKeyEvent, getPosition, 0}},
+ {2757, {wxKeyEvent, getRawKeyCode, 0}},
+ {2758, {wxKeyEvent, getRawKeyFlags, 0}},
+ {2759, {wxKeyEvent, getUnicodeKey, 0}},
+ {2760, {wxKeyEvent, getX, 0}},
+ {2761, {wxKeyEvent, getY, 0}},
+ {2762, {wxKeyEvent, hasModifiers, 0}},
+ {2763, {wxKeyEvent, metaDown, 0}},
+ {2764, {wxKeyEvent, shiftDown, 0}},
+ {2765, {wxSizeEvent, getSize, 0}},
+ {2766, {wxMoveEvent, getPosition, 0}},
+ {2767, {wxEraseEvent, getDC, 0}},
+ {2768, {wxFocusEvent, getWindow, 0}},
+ {2769, {wxChildFocusEvent, getWindow, 0}},
+ {2770, {wxMenuEvent, getMenu, 0}},
+ {2771, {wxMenuEvent, getMenuId, 0}},
+ {2772, {wxMenuEvent, isPopup, 0}},
+ {2773, {wxCloseEvent, canVeto, 0}},
+ {2774, {wxCloseEvent, getLoggingOff, 0}},
+ {2775, {wxCloseEvent, setCanVeto, 1}},
+ {2776, {wxCloseEvent, setLoggingOff, 1}},
+ {2777, {wxCloseEvent, veto, 1}},
+ {2778, {wxShowEvent, setShow, 1}},
+ {2779, {wxShowEvent, getShow, 0}},
+ {2780, {wxIconizeEvent, iconized, 0}},
+ {2781, {wxJoystickEvent, buttonDown, 1}},
+ {2782, {wxJoystickEvent, buttonIsDown, 1}},
+ {2783, {wxJoystickEvent, buttonUp, 1}},
+ {2784, {wxJoystickEvent, getButtonChange, 0}},
+ {2785, {wxJoystickEvent, getButtonState, 0}},
+ {2786, {wxJoystickEvent, getJoystick, 0}},
+ {2787, {wxJoystickEvent, getPosition, 0}},
+ {2788, {wxJoystickEvent, getZPosition, 0}},
+ {2789, {wxJoystickEvent, isButton, 0}},
+ {2790, {wxJoystickEvent, isMove, 0}},
+ {2791, {wxJoystickEvent, isZMove, 0}},
+ {2792, {wxUpdateUIEvent, canUpdate, 1}},
+ {2793, {wxUpdateUIEvent, check, 1}},
+ {2794, {wxUpdateUIEvent, enable, 1}},
+ {2795, {wxUpdateUIEvent, show, 1}},
+ {2796, {wxUpdateUIEvent, getChecked, 0}},
+ {2797, {wxUpdateUIEvent, getEnabled, 0}},
+ {2798, {wxUpdateUIEvent, getShown, 0}},
+ {2799, {wxUpdateUIEvent, getSetChecked, 0}},
+ {2800, {wxUpdateUIEvent, getSetEnabled, 0}},
+ {2801, {wxUpdateUIEvent, getSetShown, 0}},
+ {2802, {wxUpdateUIEvent, getSetText, 0}},
+ {2803, {wxUpdateUIEvent, getText, 0}},
+ {2804, {wxUpdateUIEvent, getMode, 0}},
+ {2805, {wxUpdateUIEvent, getUpdateInterval, 0}},
+ {2806, {wxUpdateUIEvent, resetUpdateTime, 0}},
+ {2807, {wxUpdateUIEvent, setMode, 1}},
+ {2808, {wxUpdateUIEvent, setText, 1}},
+ {2809, {wxUpdateUIEvent, setUpdateInterval, 1}},
+ {2810, {wxMouseCaptureChangedEvent, getCapturedWindow, 0}},
+ {2811, {wxPaletteChangedEvent, setChangedWindow, 1}},
+ {2812, {wxPaletteChangedEvent, getChangedWindow, 0}},
+ {2813, {wxQueryNewPaletteEvent, setPaletteRealized, 1}},
+ {2814, {wxQueryNewPaletteEvent, getPaletteRealized, 0}},
+ {2815, {wxNavigationKeyEvent, getDirection, 0}},
+ {2816, {wxNavigationKeyEvent, setDirection, 1}},
+ {2817, {wxNavigationKeyEvent, isWindowChange, 0}},
+ {2818, {wxNavigationKeyEvent, setWindowChange, 1}},
+ {2819, {wxNavigationKeyEvent, isFromTab, 0}},
+ {2820, {wxNavigationKeyEvent, setFromTab, 1}},
+ {2821, {wxNavigationKeyEvent, getCurrentFocus, 0}},
+ {2822, {wxNavigationKeyEvent, setCurrentFocus, 1}},
+ {2823, {wxHelpEvent, getOrigin, 0}},
+ {2824, {wxHelpEvent, getPosition, 0}},
+ {2825, {wxHelpEvent, setOrigin, 1}},
+ {2826, {wxHelpEvent, setPosition, 1}},
+ {2827, {wxContextMenuEvent, getPosition, 0}},
+ {2828, {wxContextMenuEvent, setPosition, 1}},
+ {2829, {wxIdleEvent, canSend, 1}},
+ {2830, {wxIdleEvent, getMode, 0}},
+ {2831, {wxIdleEvent, requestMore, 1}},
+ {2832, {wxIdleEvent, moreRequested, 0}},
+ {2833, {wxIdleEvent, setMode, 1}},
+ {2834, {wxGridEvent, altDown, 0}},
+ {2835, {wxGridEvent, controlDown, 0}},
+ {2836, {wxGridEvent, getCol, 0}},
+ {2837, {wxGridEvent, getPosition, 0}},
+ {2838, {wxGridEvent, getRow, 0}},
+ {2839, {wxGridEvent, metaDown, 0}},
+ {2840, {wxGridEvent, selecting, 0}},
+ {2841, {wxGridEvent, shiftDown, 0}},
+ {2842, {wxNotifyEvent, allow, 0}},
+ {2843, {wxNotifyEvent, isAllowed, 0}},
+ {2844, {wxNotifyEvent, veto, 0}},
+ {2845, {wxSashEvent, getEdge, 0}},
+ {2846, {wxSashEvent, getDragRect, 0}},
+ {2847, {wxSashEvent, getDragStatus, 0}},
+ {2848, {wxListEvent, getCacheFrom, 0}},
+ {2849, {wxListEvent, getCacheTo, 0}},
+ {2850, {wxListEvent, getKeyCode, 0}},
+ {2851, {wxListEvent, getIndex, 0}},
+ {2852, {wxListEvent, getColumn, 0}},
+ {2853, {wxListEvent, getPoint, 0}},
+ {2854, {wxListEvent, getLabel, 0}},
+ {2855, {wxListEvent, getText, 0}},
+ {2856, {wxListEvent, getImage, 0}},
+ {2857, {wxListEvent, getData, 0}},
+ {2858, {wxListEvent, getMask, 0}},
+ {2859, {wxListEvent, getItem, 0}},
+ {2860, {wxListEvent, isEditCancelled, 0}},
+ {2861, {wxDateEvent, getDate, 0}},
+ {2862, {wxCalendarEvent, getWeekDay, 0}},
+ {2863, {wxFileDirPickerEvent, getPath, 0}},
+ {2864, {wxColourPickerEvent, getColour, 0}},
+ {2865, {wxFontPickerEvent, getFont, 0}},
+ {2866, {wxStyledTextEvent, getPosition, 0}},
+ {2867, {wxStyledTextEvent, getKey, 0}},
+ {2868, {wxStyledTextEvent, getModifiers, 0}},
+ {2869, {wxStyledTextEvent, getModificationType, 0}},
+ {2870, {wxStyledTextEvent, getText, 0}},
+ {2871, {wxStyledTextEvent, getLength, 0}},
+ {2872, {wxStyledTextEvent, getLinesAdded, 0}},
+ {2873, {wxStyledTextEvent, getLine, 0}},
+ {2874, {wxStyledTextEvent, getFoldLevelNow, 0}},
+ {2875, {wxStyledTextEvent, getFoldLevelPrev, 0}},
+ {2876, {wxStyledTextEvent, getMargin, 0}},
+ {2877, {wxStyledTextEvent, getMessage, 0}},
+ {2878, {wxStyledTextEvent, getWParam, 0}},
+ {2879, {wxStyledTextEvent, getLParam, 0}},
+ {2880, {wxStyledTextEvent, getListType, 0}},
+ {2881, {wxStyledTextEvent, getX, 0}},
+ {2882, {wxStyledTextEvent, getY, 0}},
+ {2883, {wxStyledTextEvent, getDragText, 0}},
+ {2884, {wxStyledTextEvent, getDragAllowMove, 0}},
+ {2885, {wxStyledTextEvent, getDragResult, 0}},
+ {2886, {wxStyledTextEvent, getShift, 0}},
+ {2887, {wxStyledTextEvent, getControl, 0}},
+ {2888, {wxStyledTextEvent, getAlt, 0}},
+ {2889, {utils, getKeyState, 1}},
+ {2890, {utils, getMousePosition, 2}},
+ {2891, {utils, getMouseState, 0}},
+ {2892, {utils, setDetectableAutoRepeat, 1}},
+ {2893, {utils, bell, 0}},
+ {2894, {utils, findMenuItemId, 3}},
+ {2895, {utils, genericFindWindowAtPoint, 1}},
+ {2896, {utils, findWindowAtPoint, 1}},
+ {2897, {utils, beginBusyCursor, 1}},
+ {2898, {utils, endBusyCursor, 0}},
+ {2899, {utils, isBusy, 0}},
+ {2900, {utils, shutdown, 1}},
+ {2901, {utils, shell, 1}},
+ {2902, {utils, launchDefaultBrowser, 2}},
+ {2903, {utils, getEmailAddress, 0}},
+ {2904, {utils, getUserId, 0}},
+ {2905, {utils, getHomeDir, 0}},
+ {2906, {utils, newId, 0}},
+ {2907, {utils, registerId, 1}},
+ {2908, {utils, getCurrentId, 0}},
+ {2909, {utils, getOsDescription, 0}},
+ {2910, {utils, isPlatformLittleEndian, 0}},
+ {2911, {utils, isPlatform64Bit, 0}},
+ {2912, {wxPrintout, new, 1}},
+ {2913, {wxPrintout, destruct, 0}},
+ {2914, {wxPrintout, getDC, 0}},
+ {2915, {wxPrintout, getPageSizeMM, 2}},
+ {2916, {wxPrintout, getPageSizePixels, 2}},
+ {2917, {wxPrintout, getPaperRectPixels, 0}},
+ {2918, {wxPrintout, getPPIPrinter, 2}},
+ {2919, {wxPrintout, getPPIScreen, 2}},
+ {2920, {wxPrintout, getTitle, 0}},
+ {2921, {wxPrintout, isPreview, 0}},
+ {2922, {wxPrintout, fitThisSizeToPaper, 1}},
+ {2923, {wxPrintout, fitThisSizeToPage, 1}},
+ {2924, {wxPrintout, fitThisSizeToPageMargins, 2}},
+ {2925, {wxPrintout, mapScreenSizeToPaper, 0}},
+ {2926, {wxPrintout, mapScreenSizeToPage, 0}},
+ {2927, {wxPrintout, mapScreenSizeToPageMargins, 1}},
+ {2928, {wxPrintout, mapScreenSizeToDevice, 0}},
+ {2929, {wxPrintout, getLogicalPaperRect, 0}},
+ {2930, {wxPrintout, getLogicalPageRect, 0}},
+ {2931, {wxPrintout, getLogicalPageMarginsRect, 1}},
+ {2932, {wxPrintout, setLogicalOrigin, 2}},
+ {2933, {wxPrintout, offsetLogicalOrigin, 2}},
+ {2934, {wxStyledTextCtrl, new_2, 2}},
+ {2935, {wxStyledTextCtrl, new_0, 0}},
+ {2936, {wxStyledTextCtrl, destruct, 0}},
+ {2937, {wxStyledTextCtrl, create, 2}},
+ {2938, {wxStyledTextCtrl, addText, 1}},
+ {2939, {wxStyledTextCtrl, addStyledText, 1}},
+ {2940, {wxStyledTextCtrl, insertText, 2}},
+ {2941, {wxStyledTextCtrl, clearAll, 0}},
+ {2942, {wxStyledTextCtrl, clearDocumentStyle, 0}},
+ {2943, {wxStyledTextCtrl, getLength, 0}},
+ {2944, {wxStyledTextCtrl, getCharAt, 1}},
+ {2945, {wxStyledTextCtrl, getCurrentPos, 0}},
+ {2946, {wxStyledTextCtrl, getAnchor, 0}},
+ {2947, {wxStyledTextCtrl, getStyleAt, 1}},
+ {2948, {wxStyledTextCtrl, redo, 0}},
+ {2949, {wxStyledTextCtrl, setUndoCollection, 1}},
+ {2950, {wxStyledTextCtrl, selectAll, 0}},
+ {2951, {wxStyledTextCtrl, setSavePoint, 0}},
+ {2952, {wxStyledTextCtrl, getStyledText, 2}},
+ {2953, {wxStyledTextCtrl, canRedo, 0}},
+ {2954, {wxStyledTextCtrl, markerLineFromHandle, 1}},
+ {2955, {wxStyledTextCtrl, markerDeleteHandle, 1}},
+ {2956, {wxStyledTextCtrl, getUndoCollection, 0}},
+ {2957, {wxStyledTextCtrl, getViewWhiteSpace, 0}},
+ {2958, {wxStyledTextCtrl, setViewWhiteSpace, 1}},
+ {2959, {wxStyledTextCtrl, positionFromPoint, 1}},
+ {2960, {wxStyledTextCtrl, positionFromPointClose, 2}},
+ {2961, {wxStyledTextCtrl, gotoLine, 1}},
+ {2962, {wxStyledTextCtrl, gotoPos, 1}},
+ {2963, {wxStyledTextCtrl, setAnchor, 1}},
+ {2964, {wxStyledTextCtrl, getCurLine, 1}},
+ {2965, {wxStyledTextCtrl, getEndStyled, 0}},
+ {2966, {wxStyledTextCtrl, convertEOLs, 1}},
+ {2967, {wxStyledTextCtrl, getEOLMode, 0}},
+ {2968, {wxStyledTextCtrl, setEOLMode, 1}},
+ {2969, {wxStyledTextCtrl, startStyling, 2}},
+ {2970, {wxStyledTextCtrl, setStyling, 2}},
+ {2971, {wxStyledTextCtrl, getBufferedDraw, 0}},
+ {2972, {wxStyledTextCtrl, setBufferedDraw, 1}},
+ {2973, {wxStyledTextCtrl, setTabWidth, 1}},
+ {2974, {wxStyledTextCtrl, getTabWidth, 0}},
+ {2975, {wxStyledTextCtrl, setCodePage, 1}},
+ {2976, {wxStyledTextCtrl, markerDefine, 3}},
+ {2977, {wxStyledTextCtrl, markerSetForeground, 2}},
+ {2978, {wxStyledTextCtrl, markerSetBackground, 2}},
+ {2979, {wxStyledTextCtrl, markerAdd, 2}},
+ {2980, {wxStyledTextCtrl, markerDelete, 2}},
+ {2981, {wxStyledTextCtrl, markerDeleteAll, 1}},
+ {2982, {wxStyledTextCtrl, markerGet, 1}},
+ {2983, {wxStyledTextCtrl, markerNext, 2}},
+ {2984, {wxStyledTextCtrl, markerPrevious, 2}},
+ {2985, {wxStyledTextCtrl, markerDefineBitmap, 2}},
+ {2986, {wxStyledTextCtrl, markerAddSet, 2}},
+ {2987, {wxStyledTextCtrl, markerSetAlpha, 2}},
+ {2988, {wxStyledTextCtrl, setMarginType, 2}},
+ {2989, {wxStyledTextCtrl, getMarginType, 1}},
+ {2990, {wxStyledTextCtrl, setMarginWidth, 2}},
+ {2991, {wxStyledTextCtrl, getMarginWidth, 1}},
+ {2992, {wxStyledTextCtrl, setMarginMask, 2}},
+ {2993, {wxStyledTextCtrl, getMarginMask, 1}},
+ {2994, {wxStyledTextCtrl, setMarginSensitive, 2}},
+ {2995, {wxStyledTextCtrl, getMarginSensitive, 1}},
+ {2996, {wxStyledTextCtrl, styleClearAll, 0}},
+ {2997, {wxStyledTextCtrl, styleSetForeground, 2}},
+ {2998, {wxStyledTextCtrl, styleSetBackground, 2}},
+ {2999, {wxStyledTextCtrl, styleSetBold, 2}},
+ {3000, {wxStyledTextCtrl, styleSetItalic, 2}},
+ {3001, {wxStyledTextCtrl, styleSetSize, 2}},
+ {3002, {wxStyledTextCtrl, styleSetFaceName, 2}},
+ {3003, {wxStyledTextCtrl, styleSetEOLFilled, 2}},
+ {3004, {wxStyledTextCtrl, styleResetDefault, 0}},
+ {3005, {wxStyledTextCtrl, styleSetUnderline, 2}},
+ {3006, {wxStyledTextCtrl, styleSetCase, 2}},
+ {3007, {wxStyledTextCtrl, styleSetHotSpot, 2}},
+ {3008, {wxStyledTextCtrl, setSelForeground, 2}},
+ {3009, {wxStyledTextCtrl, setSelBackground, 2}},
+ {3010, {wxStyledTextCtrl, getSelAlpha, 0}},
+ {3011, {wxStyledTextCtrl, setSelAlpha, 1}},
+ {3012, {wxStyledTextCtrl, setCaretForeground, 1}},
+ {3013, {wxStyledTextCtrl, cmdKeyAssign, 3}},
+ {3014, {wxStyledTextCtrl, cmdKeyClear, 2}},
+ {3015, {wxStyledTextCtrl, cmdKeyClearAll, 0}},
+ {3016, {wxStyledTextCtrl, setStyleBytes, 2}},
+ {3017, {wxStyledTextCtrl, styleSetVisible, 2}},
+ {3018, {wxStyledTextCtrl, getCaretPeriod, 0}},
+ {3019, {wxStyledTextCtrl, setCaretPeriod, 1}},
+ {3020, {wxStyledTextCtrl, setWordChars, 1}},
+ {3021, {wxStyledTextCtrl, beginUndoAction, 0}},
+ {3022, {wxStyledTextCtrl, endUndoAction, 0}},
+ {3023, {wxStyledTextCtrl, indicatorSetStyle, 2}},
+ {3024, {wxStyledTextCtrl, indicatorGetStyle, 1}},
+ {3025, {wxStyledTextCtrl, indicatorSetForeground, 2}},
+ {3026, {wxStyledTextCtrl, indicatorGetForeground, 1}},
+ {3027, {wxStyledTextCtrl, setWhitespaceForeground, 2}},
+ {3028, {wxStyledTextCtrl, setWhitespaceBackground, 2}},
+ {3029, {wxStyledTextCtrl, getStyleBits, 0}},
+ {3030, {wxStyledTextCtrl, setLineState, 2}},
+ {3031, {wxStyledTextCtrl, getLineState, 1}},
+ {3032, {wxStyledTextCtrl, getMaxLineState, 0}},
+ {3033, {wxStyledTextCtrl, getCaretLineVisible, 0}},
+ {3034, {wxStyledTextCtrl, setCaretLineVisible, 1}},
+ {3035, {wxStyledTextCtrl, getCaretLineBackground, 0}},
+ {3036, {wxStyledTextCtrl, setCaretLineBackground, 1}},
+ {3037, {wxStyledTextCtrl, autoCompShow, 2}},
+ {3038, {wxStyledTextCtrl, autoCompCancel, 0}},
+ {3039, {wxStyledTextCtrl, autoCompActive, 0}},
+ {3040, {wxStyledTextCtrl, autoCompPosStart, 0}},
+ {3041, {wxStyledTextCtrl, autoCompComplete, 0}},
+ {3042, {wxStyledTextCtrl, autoCompStops, 1}},
+ {3043, {wxStyledTextCtrl, autoCompSetSeparator, 1}},
+ {3044, {wxStyledTextCtrl, autoCompGetSeparator, 0}},
+ {3045, {wxStyledTextCtrl, autoCompSelect, 1}},
+ {3046, {wxStyledTextCtrl, autoCompSetCancelAtStart, 1}},
+ {3047, {wxStyledTextCtrl, autoCompGetCancelAtStart, 0}},
+ {3048, {wxStyledTextCtrl, autoCompSetFillUps, 1}},
+ {3049, {wxStyledTextCtrl, autoCompSetChooseSingle, 1}},
+ {3050, {wxStyledTextCtrl, autoCompGetChooseSingle, 0}},
+ {3051, {wxStyledTextCtrl, autoCompSetIgnoreCase, 1}},
+ {3052, {wxStyledTextCtrl, autoCompGetIgnoreCase, 0}},
+ {3053, {wxStyledTextCtrl, userListShow, 2}},
+ {3054, {wxStyledTextCtrl, autoCompSetAutoHide, 1}},
+ {3055, {wxStyledTextCtrl, autoCompGetAutoHide, 0}},
+ {3056, {wxStyledTextCtrl, autoCompSetDropRestOfWord, 1}},
+ {3057, {wxStyledTextCtrl, autoCompGetDropRestOfWord, 0}},
+ {3058, {wxStyledTextCtrl, registerImage, 2}},
+ {3059, {wxStyledTextCtrl, clearRegisteredImages, 0}},
+ {3060, {wxStyledTextCtrl, autoCompGetTypeSeparator, 0}},
+ {3061, {wxStyledTextCtrl, autoCompSetTypeSeparator, 1}},
+ {3062, {wxStyledTextCtrl, autoCompSetMaxWidth, 1}},
+ {3063, {wxStyledTextCtrl, autoCompGetMaxWidth, 0}},
+ {3064, {wxStyledTextCtrl, autoCompSetMaxHeight, 1}},
+ {3065, {wxStyledTextCtrl, autoCompGetMaxHeight, 0}},
+ {3066, {wxStyledTextCtrl, setIndent, 1}},
+ {3067, {wxStyledTextCtrl, getIndent, 0}},
+ {3068, {wxStyledTextCtrl, setUseTabs, 1}},
+ {3069, {wxStyledTextCtrl, getUseTabs, 0}},
+ {3070, {wxStyledTextCtrl, setLineIndentation, 2}},
+ {3071, {wxStyledTextCtrl, getLineIndentation, 1}},
+ {3072, {wxStyledTextCtrl, getLineIndentPosition, 1}},
+ {3073, {wxStyledTextCtrl, getColumn, 1}},
+ {3074, {wxStyledTextCtrl, setUseHorizontalScrollBar, 1}},
+ {3075, {wxStyledTextCtrl, getUseHorizontalScrollBar, 0}},
+ {3076, {wxStyledTextCtrl, setIndentationGuides, 1}},
+ {3077, {wxStyledTextCtrl, getIndentationGuides, 0}},
+ {3078, {wxStyledTextCtrl, setHighlightGuide, 1}},
+ {3079, {wxStyledTextCtrl, getHighlightGuide, 0}},
+ {3080, {wxStyledTextCtrl, getLineEndPosition, 1}},
+ {3081, {wxStyledTextCtrl, getCodePage, 0}},
+ {3082, {wxStyledTextCtrl, getCaretForeground, 0}},
+ {3083, {wxStyledTextCtrl, getReadOnly, 0}},
+ {3084, {wxStyledTextCtrl, setCurrentPos, 1}},
+ {3085, {wxStyledTextCtrl, setSelectionStart, 1}},
+ {3086, {wxStyledTextCtrl, getSelectionStart, 0}},
+ {3087, {wxStyledTextCtrl, setSelectionEnd, 1}},
+ {3088, {wxStyledTextCtrl, getSelectionEnd, 0}},
+ {3089, {wxStyledTextCtrl, setPrintMagnification, 1}},
+ {3090, {wxStyledTextCtrl, getPrintMagnification, 0}},
+ {3091, {wxStyledTextCtrl, setPrintColourMode, 1}},
+ {3092, {wxStyledTextCtrl, getPrintColourMode, 0}},
+ {3093, {wxStyledTextCtrl, findText, 4}},
+ {3094, {wxStyledTextCtrl, formatRange, 7}},
+ {3095, {wxStyledTextCtrl, getFirstVisibleLine, 0}},
+ {3096, {wxStyledTextCtrl, getLine, 1}},
+ {3097, {wxStyledTextCtrl, getLineCount, 0}},
+ {3098, {wxStyledTextCtrl, setMarginLeft, 1}},
+ {3099, {wxStyledTextCtrl, getMarginLeft, 0}},
+ {3100, {wxStyledTextCtrl, setMarginRight, 1}},
+ {3101, {wxStyledTextCtrl, getMarginRight, 0}},
+ {3102, {wxStyledTextCtrl, getModify, 0}},
+ {3103, {wxStyledTextCtrl, setSelection, 2}},
+ {3104, {wxStyledTextCtrl, getSelectedText, 0}},
+ {3105, {wxStyledTextCtrl, getTextRange, 2}},
+ {3106, {wxStyledTextCtrl, hideSelection, 1}},
+ {3107, {wxStyledTextCtrl, lineFromPosition, 1}},
+ {3108, {wxStyledTextCtrl, positionFromLine, 1}},
+ {3109, {wxStyledTextCtrl, lineScroll, 2}},
+ {3110, {wxStyledTextCtrl, ensureCaretVisible, 0}},
+ {3111, {wxStyledTextCtrl, replaceSelection, 1}},
+ {3112, {wxStyledTextCtrl, setReadOnly, 1}},
+ {3113, {wxStyledTextCtrl, canPaste, 0}},
+ {3114, {wxStyledTextCtrl, canUndo, 0}},
+ {3115, {wxStyledTextCtrl, emptyUndoBuffer, 0}},
+ {3116, {wxStyledTextCtrl, undo, 0}},
+ {3117, {wxStyledTextCtrl, cut, 0}},
+ {3118, {wxStyledTextCtrl, copy, 0}},
+ {3119, {wxStyledTextCtrl, paste, 0}},
+ {3120, {wxStyledTextCtrl, clear, 0}},
+ {3121, {wxStyledTextCtrl, setText, 1}},
+ {3122, {wxStyledTextCtrl, getText, 0}},
+ {3123, {wxStyledTextCtrl, getTextLength, 0}},
+ {3124, {wxStyledTextCtrl, getOvertype, 0}},
+ {3125, {wxStyledTextCtrl, setCaretWidth, 1}},
+ {3126, {wxStyledTextCtrl, getCaretWidth, 0}},
+ {3127, {wxStyledTextCtrl, setTargetStart, 1}},
+ {3128, {wxStyledTextCtrl, getTargetStart, 0}},
+ {3129, {wxStyledTextCtrl, setTargetEnd, 1}},
+ {3130, {wxStyledTextCtrl, getTargetEnd, 0}},
+ {3131, {wxStyledTextCtrl, replaceTarget, 1}},
+ {3132, {wxStyledTextCtrl, searchInTarget, 1}},
+ {3133, {wxStyledTextCtrl, setSearchFlags, 1}},
+ {3134, {wxStyledTextCtrl, getSearchFlags, 0}},
+ {3135, {wxStyledTextCtrl, callTipShow, 2}},
+ {3136, {wxStyledTextCtrl, callTipCancel, 0}},
+ {3137, {wxStyledTextCtrl, callTipActive, 0}},
+ {3138, {wxStyledTextCtrl, callTipPosAtStart, 0}},
+ {3139, {wxStyledTextCtrl, callTipSetHighlight, 2}},
+ {3140, {wxStyledTextCtrl, callTipSetBackground, 1}},
+ {3141, {wxStyledTextCtrl, callTipSetForeground, 1}},
+ {3142, {wxStyledTextCtrl, callTipSetForegroundHighlight, 1}},
+ {3143, {wxStyledTextCtrl, callTipUseStyle, 1}},
+ {3144, {wxStyledTextCtrl, visibleFromDocLine, 1}},
+ {3145, {wxStyledTextCtrl, docLineFromVisible, 1}},
+ {3146, {wxStyledTextCtrl, wrapCount, 1}},
+ {3147, {wxStyledTextCtrl, setFoldLevel, 2}},
+ {3148, {wxStyledTextCtrl, getFoldLevel, 1}},
+ {3149, {wxStyledTextCtrl, getLastChild, 2}},
+ {3150, {wxStyledTextCtrl, getFoldParent, 1}},
+ {3151, {wxStyledTextCtrl, showLines, 2}},
+ {3152, {wxStyledTextCtrl, hideLines, 2}},
+ {3153, {wxStyledTextCtrl, getLineVisible, 1}},
+ {3154, {wxStyledTextCtrl, setFoldExpanded, 2}},
+ {3155, {wxStyledTextCtrl, getFoldExpanded, 1}},
+ {3156, {wxStyledTextCtrl, toggleFold, 1}},
+ {3157, {wxStyledTextCtrl, ensureVisible, 1}},
+ {3158, {wxStyledTextCtrl, setFoldFlags, 1}},
+ {3159, {wxStyledTextCtrl, ensureVisibleEnforcePolicy, 1}},
+ {3160, {wxStyledTextCtrl, setTabIndents, 1}},
+ {3161, {wxStyledTextCtrl, getTabIndents, 0}},
+ {3162, {wxStyledTextCtrl, setBackSpaceUnIndents, 1}},
+ {3163, {wxStyledTextCtrl, getBackSpaceUnIndents, 0}},
+ {3164, {wxStyledTextCtrl, setMouseDwellTime, 1}},
+ {3165, {wxStyledTextCtrl, getMouseDwellTime, 0}},
+ {3166, {wxStyledTextCtrl, wordStartPosition, 2}},
+ {3167, {wxStyledTextCtrl, wordEndPosition, 2}},
+ {3168, {wxStyledTextCtrl, setWrapMode, 1}},
+ {3169, {wxStyledTextCtrl, getWrapMode, 0}},
+ {3170, {wxStyledTextCtrl, setWrapVisualFlags, 1}},
+ {3171, {wxStyledTextCtrl, getWrapVisualFlags, 0}},
+ {3172, {wxStyledTextCtrl, setWrapVisualFlagsLocation, 1}},
+ {3173, {wxStyledTextCtrl, getWrapVisualFlagsLocation, 0}},
+ {3174, {wxStyledTextCtrl, setWrapStartIndent, 1}},
+ {3175, {wxStyledTextCtrl, getWrapStartIndent, 0}},
+ {3176, {wxStyledTextCtrl, setLayoutCache, 1}},
+ {3177, {wxStyledTextCtrl, getLayoutCache, 0}},
+ {3178, {wxStyledTextCtrl, setScrollWidth, 1}},
+ {3179, {wxStyledTextCtrl, getScrollWidth, 0}},
+ {3180, {wxStyledTextCtrl, textWidth, 2}},
+ {3181, {wxStyledTextCtrl, getEndAtLastLine, 0}},
+ {3182, {wxStyledTextCtrl, textHeight, 1}},
+ {3183, {wxStyledTextCtrl, setUseVerticalScrollBar, 1}},
+ {3184, {wxStyledTextCtrl, getUseVerticalScrollBar, 0}},
+ {3185, {wxStyledTextCtrl, appendText, 1}},
+ {3186, {wxStyledTextCtrl, getTwoPhaseDraw, 0}},
+ {3187, {wxStyledTextCtrl, setTwoPhaseDraw, 1}},
+ {3188, {wxStyledTextCtrl, targetFromSelection, 0}},
+ {3189, {wxStyledTextCtrl, linesJoin, 0}},
+ {3190, {wxStyledTextCtrl, linesSplit, 1}},
+ {3191, {wxStyledTextCtrl, setFoldMarginColour, 2}},
+ {3192, {wxStyledTextCtrl, setFoldMarginHiColour, 2}},
+ {3193, {wxStyledTextCtrl, lineDown, 0}},
+ {3194, {wxStyledTextCtrl, lineDownExtend, 0}},
+ {3195, {wxStyledTextCtrl, lineUp, 0}},
+ {3196, {wxStyledTextCtrl, lineUpExtend, 0}},
+ {3197, {wxStyledTextCtrl, charLeft, 0}},
+ {3198, {wxStyledTextCtrl, charLeftExtend, 0}},
+ {3199, {wxStyledTextCtrl, charRight, 0}},
+ {3200, {wxStyledTextCtrl, charRightExtend, 0}},
+ {3201, {wxStyledTextCtrl, wordLeft, 0}},
+ {3202, {wxStyledTextCtrl, wordLeftExtend, 0}},
+ {3203, {wxStyledTextCtrl, wordRight, 0}},
+ {3204, {wxStyledTextCtrl, wordRightExtend, 0}},
+ {3205, {wxStyledTextCtrl, home, 0}},
+ {3206, {wxStyledTextCtrl, homeExtend, 0}},
+ {3207, {wxStyledTextCtrl, lineEnd, 0}},
+ {3208, {wxStyledTextCtrl, lineEndExtend, 0}},
+ {3209, {wxStyledTextCtrl, documentStart, 0}},
+ {3210, {wxStyledTextCtrl, documentStartExtend, 0}},
+ {3211, {wxStyledTextCtrl, documentEnd, 0}},
+ {3212, {wxStyledTextCtrl, documentEndExtend, 0}},
+ {3213, {wxStyledTextCtrl, pageUp, 0}},
+ {3214, {wxStyledTextCtrl, pageUpExtend, 0}},
+ {3215, {wxStyledTextCtrl, pageDown, 0}},
+ {3216, {wxStyledTextCtrl, pageDownExtend, 0}},
+ {3217, {wxStyledTextCtrl, editToggleOvertype, 0}},
+ {3218, {wxStyledTextCtrl, cancel, 0}},
+ {3219, {wxStyledTextCtrl, deleteBack, 0}},
+ {3220, {wxStyledTextCtrl, tab, 0}},
+ {3221, {wxStyledTextCtrl, backTab, 0}},
+ {3222, {wxStyledTextCtrl, newLine, 0}},
+ {3223, {wxStyledTextCtrl, formFeed, 0}},
+ {3224, {wxStyledTextCtrl, vCHome, 0}},
+ {3225, {wxStyledTextCtrl, vCHomeExtend, 0}},
+ {3226, {wxStyledTextCtrl, zoomIn, 0}},
+ {3227, {wxStyledTextCtrl, zoomOut, 0}},
+ {3228, {wxStyledTextCtrl, delWordLeft, 0}},
+ {3229, {wxStyledTextCtrl, delWordRight, 0}},
+ {3230, {wxStyledTextCtrl, lineCut, 0}},
+ {3231, {wxStyledTextCtrl, lineDelete, 0}},
+ {3232, {wxStyledTextCtrl, lineTranspose, 0}},
+ {3233, {wxStyledTextCtrl, lineDuplicate, 0}},
+ {3234, {wxStyledTextCtrl, lowerCase, 0}},
+ {3235, {wxStyledTextCtrl, upperCase, 0}},
+ {3236, {wxStyledTextCtrl, lineScrollDown, 0}},
+ {3237, {wxStyledTextCtrl, lineScrollUp, 0}},
+ {3238, {wxStyledTextCtrl, deleteBackNotLine, 0}},
+ {3239, {wxStyledTextCtrl, homeDisplay, 0}},
+ {3240, {wxStyledTextCtrl, homeDisplayExtend, 0}},
+ {3241, {wxStyledTextCtrl, lineEndDisplay, 0}},
+ {3242, {wxStyledTextCtrl, lineEndDisplayExtend, 0}},
+ {3243, {wxStyledTextCtrl, homeWrapExtend, 0}},
+ {3244, {wxStyledTextCtrl, lineEndWrap, 0}},
+ {3245, {wxStyledTextCtrl, lineEndWrapExtend, 0}},
+ {3246, {wxStyledTextCtrl, vCHomeWrap, 0}},
+ {3247, {wxStyledTextCtrl, vCHomeWrapExtend, 0}},
+ {3248, {wxStyledTextCtrl, lineCopy, 0}},
+ {3249, {wxStyledTextCtrl, moveCaretInsideView, 0}},
+ {3250, {wxStyledTextCtrl, lineLength, 1}},
+ {3251, {wxStyledTextCtrl, braceHighlight, 2}},
+ {3252, {wxStyledTextCtrl, braceBadLight, 1}},
+ {3253, {wxStyledTextCtrl, braceMatch, 1}},
+ {3254, {wxStyledTextCtrl, getViewEOL, 0}},
+ {3255, {wxStyledTextCtrl, setViewEOL, 1}},
+ {3256, {wxStyledTextCtrl, setModEventMask, 1}},
+ {3257, {wxStyledTextCtrl, getEdgeColumn, 0}},
+ {3258, {wxStyledTextCtrl, setEdgeColumn, 1}},
+ {3259, {wxStyledTextCtrl, getEdgeMode, 0}},
+ {3260, {wxStyledTextCtrl, getEdgeColour, 0}},
+ {3261, {wxStyledTextCtrl, setEdgeColour, 1}},
+ {3262, {wxStyledTextCtrl, searchAnchor, 0}},
+ {3263, {wxStyledTextCtrl, searchNext, 2}},
+ {3264, {wxStyledTextCtrl, searchPrev, 2}},
+ {3265, {wxStyledTextCtrl, linesOnScreen, 0}},
+ {3266, {wxStyledTextCtrl, usePopUp, 1}},
+ {3267, {wxStyledTextCtrl, selectionIsRectangle, 0}},
+ {3268, {wxStyledTextCtrl, setZoom, 1}},
+ {3269, {wxStyledTextCtrl, getZoom, 0}},
+ {3270, {wxStyledTextCtrl, getModEventMask, 0}},
+ {3271, {wxStyledTextCtrl, setSTCFocus, 1}},
+ {3272, {wxStyledTextCtrl, getSTCFocus, 0}},
+ {3273, {wxStyledTextCtrl, setStatus, 1}},
+ {3274, {wxStyledTextCtrl, getStatus, 0}},
+ {3275, {wxStyledTextCtrl, setMouseDownCaptures, 1}},
+ {3276, {wxStyledTextCtrl, getMouseDownCaptures, 0}},
+ {3277, {wxStyledTextCtrl, setSTCCursor, 1}},
+ {3278, {wxStyledTextCtrl, getSTCCursor, 0}},
+ {3279, {wxStyledTextCtrl, setControlCharSymbol, 1}},
+ {3280, {wxStyledTextCtrl, getControlCharSymbol, 0}},
+ {3281, {wxStyledTextCtrl, wordPartLeft, 0}},
+ {3282, {wxStyledTextCtrl, wordPartLeftExtend, 0}},
+ {3283, {wxStyledTextCtrl, wordPartRight, 0}},
+ {3284, {wxStyledTextCtrl, wordPartRightExtend, 0}},
+ {3285, {wxStyledTextCtrl, setVisiblePolicy, 2}},
+ {3286, {wxStyledTextCtrl, delLineLeft, 0}},
+ {3287, {wxStyledTextCtrl, delLineRight, 0}},
+ {3288, {wxStyledTextCtrl, getXOffset, 0}},
+ {3289, {wxStyledTextCtrl, chooseCaretX, 0}},
+ {3290, {wxStyledTextCtrl, setXCaretPolicy, 2}},
+ {3291, {wxStyledTextCtrl, setYCaretPolicy, 2}},
+ {3292, {wxStyledTextCtrl, getPrintWrapMode, 0}},
+ {3293, {wxStyledTextCtrl, setHotspotActiveForeground, 2}},
+ {3294, {wxStyledTextCtrl, setHotspotActiveBackground, 2}},
+ {3295, {wxStyledTextCtrl, setHotspotActiveUnderline, 1}},
+ {3296, {wxStyledTextCtrl, setHotspotSingleLine, 1}},
+ {3297, {wxStyledTextCtrl, paraDownExtend, 0}},
+ {3298, {wxStyledTextCtrl, paraUp, 0}},
+ {3299, {wxStyledTextCtrl, paraUpExtend, 0}},
+ {3300, {wxStyledTextCtrl, positionBefore, 1}},
+ {3301, {wxStyledTextCtrl, positionAfter, 1}},
+ {3302, {wxStyledTextCtrl, copyRange, 2}},
+ {3303, {wxStyledTextCtrl, copyText, 2}},
+ {3304, {wxStyledTextCtrl, setSelectionMode, 1}},
+ {3305, {wxStyledTextCtrl, getSelectionMode, 0}},
+ {3306, {wxStyledTextCtrl, lineDownRectExtend, 0}},
+ {3307, {wxStyledTextCtrl, lineUpRectExtend, 0}},
+ {3308, {wxStyledTextCtrl, charLeftRectExtend, 0}},
+ {3309, {wxStyledTextCtrl, charRightRectExtend, 0}},
+ {3310, {wxStyledTextCtrl, homeRectExtend, 0}},
+ {3311, {wxStyledTextCtrl, vCHomeRectExtend, 0}},
+ {3312, {wxStyledTextCtrl, lineEndRectExtend, 0}},
+ {3313, {wxStyledTextCtrl, pageUpRectExtend, 0}},
+ {3314, {wxStyledTextCtrl, pageDownRectExtend, 0}},
+ {3315, {wxStyledTextCtrl, stutteredPageUp, 0}},
+ {3316, {wxStyledTextCtrl, stutteredPageUpExtend, 0}},
+ {3317, {wxStyledTextCtrl, stutteredPageDown, 0}},
+ {3318, {wxStyledTextCtrl, stutteredPageDownExtend, 0}},
+ {3319, {wxStyledTextCtrl, wordLeftEnd, 0}},
+ {3320, {wxStyledTextCtrl, wordLeftEndExtend, 0}},
+ {3321, {wxStyledTextCtrl, wordRightEnd, 0}},
+ {3322, {wxStyledTextCtrl, wordRightEndExtend, 0}},
+ {3323, {wxStyledTextCtrl, setWhitespaceChars, 1}},
+ {3324, {wxStyledTextCtrl, setCharsDefault, 0}},
+ {3325, {wxStyledTextCtrl, autoCompGetCurrent, 0}},
+ {3326, {wxStyledTextCtrl, allocate, 1}},
+ {3327, {wxStyledTextCtrl, findColumn, 2}},
+ {3328, {wxStyledTextCtrl, getCaretSticky, 0}},
+ {3329, {wxStyledTextCtrl, setCaretSticky, 1}},
+ {3330, {wxStyledTextCtrl, toggleCaretSticky, 0}},
+ {3331, {wxStyledTextCtrl, setPasteConvertEndings, 1}},
+ {3332, {wxStyledTextCtrl, getPasteConvertEndings, 0}},
+ {3333, {wxStyledTextCtrl, selectionDuplicate, 0}},
+ {3334, {wxStyledTextCtrl, setCaretLineBackAlpha, 1}},
+ {3335, {wxStyledTextCtrl, getCaretLineBackAlpha, 0}},
+ {3336, {wxStyledTextCtrl, startRecord, 0}},
+ {3337, {wxStyledTextCtrl, stopRecord, 0}},
+ {3338, {wxStyledTextCtrl, setLexer, 1}},
+ {3339, {wxStyledTextCtrl, getLexer, 0}},
+ {3340, {wxStyledTextCtrl, colourise, 2}},
+ {3341, {wxStyledTextCtrl, setProperty, 2}},
+ {3342, {wxStyledTextCtrl, setKeyWords, 2}},
+ {3343, {wxStyledTextCtrl, setLexerLanguage, 1}},
+ {3344, {wxStyledTextCtrl, getProperty, 1}},
+ {3345, {wxStyledTextCtrl, getStyleBitsNeeded, 0}},
+ {3346, {wxStyledTextCtrl, getCurrentLine, 0}},
+ {3347, {wxStyledTextCtrl, styleSetSpec, 2}},
+ {3348, {wxStyledTextCtrl, styleSetFont, 2}},
+ {3349, {wxStyledTextCtrl, styleSetFontAttr, 7}},
+ {3350, {wxStyledTextCtrl, styleSetCharacterSet, 2}},
+ {3351, {wxStyledTextCtrl, styleSetFontEncoding, 2}},
+ {3352, {wxStyledTextCtrl, cmdKeyExecute, 1}},
+ {3353, {wxStyledTextCtrl, setMargins, 2}},
+ {3354, {wxStyledTextCtrl, getSelection, 2}},
+ {3355, {wxStyledTextCtrl, pointFromPosition, 1}},
+ {3356, {wxStyledTextCtrl, scrollToLine, 1}},
+ {3357, {wxStyledTextCtrl, scrollToColumn, 1}},
+ {3358, {wxStyledTextCtrl, sendMsg, 2}},
+ {3359, {wxStyledTextCtrl, setVScrollBar, 1}},
+ {3360, {wxStyledTextCtrl, setHScrollBar, 1}},
+ {3361, {wxStyledTextCtrl, getLastKeydownProcessed, 0}},
+ {3362, {wxStyledTextCtrl, setLastKeydownProcessed, 1}},
+ {3363, {wxStyledTextCtrl, saveFile, 1}},
+ {3364, {wxStyledTextCtrl, loadFile, 1}},
+ {3365, {wxStyledTextCtrl, doDragOver, 3}},
+ {3366, {wxStyledTextCtrl, doDropText, 3}},
+ {3367, {wxStyledTextCtrl, getUseAntiAliasing, 0}},
+ {3368, {wxStyledTextCtrl, addTextRaw, 1}},
+ {3369, {wxStyledTextCtrl, insertTextRaw, 2}},
+ {3370, {wxStyledTextCtrl, getCurLineRaw, 1}},
+ {3371, {wxStyledTextCtrl, getLineRaw, 1}},
+ {3372, {wxStyledTextCtrl, getSelectedTextRaw, 0}},
+ {3373, {wxStyledTextCtrl, getTextRangeRaw, 2}},
+ {3374, {wxStyledTextCtrl, setTextRaw, 1}},
+ {3375, {wxStyledTextCtrl, getTextRaw, 0}},
+ {3376, {wxStyledTextCtrl, appendTextRaw, 1}},
+ {3377, {wxArtProvider, getBitmap, 2}},
+ {3378, {wxArtProvider, getIcon, 2}},
+ {3379, {wxTreeEvent, getKeyCode, 0}},
+ {3380, {wxTreeEvent, getItem, 0}},
+ {3381, {wxTreeEvent, getKeyEvent, 0}},
+ {3382, {wxTreeEvent, getLabel, 0}},
+ {3383, {wxTreeEvent, getOldItem, 0}},
+ {3384, {wxTreeEvent, getPoint, 0}},
+ {3385, {wxTreeEvent, isEditCancelled, 0}},
+ {3386, {wxTreeEvent, setToolTip, 1}},
+ {3387, {wxNotebookEvent, getOldSelection, 0}},
+ {3388, {wxNotebookEvent, getSelection, 0}},
+ {3389, {wxNotebookEvent, setOldSelection, 1}},
+ {3390, {wxNotebookEvent, setSelection, 1}},
+ {3391, {wxFileDataObject, new, 0}},
+ {3392, {wxFileDataObject, addFile, 1}},
+ {3393, {wxFileDataObject, getFilenames, 0}},
+ {3394, {wxFileDataObject, 'Destroy', undefined}},
+ {3395, {wxTextDataObject, new, 1}},
+ {3396, {wxTextDataObject, getTextLength, 0}},
+ {3397, {wxTextDataObject, getText, 0}},
+ {3398, {wxTextDataObject, setText, 1}},
+ {3399, {wxTextDataObject, 'Destroy', undefined}},
+ {3400, {wxBitmapDataObject, new_1_1, 1}},
+ {3401, {wxBitmapDataObject, new_1_0, 1}},
+ {3402, {wxBitmapDataObject, getBitmap, 0}},
+ {3403, {wxBitmapDataObject, setBitmap, 1}},
+ {3404, {wxBitmapDataObject, 'Destroy', undefined}},
+ {3406, {wxClipboard, new, 0}},
+ {3407, {wxClipboard, destruct, 0}},
+ {3408, {wxClipboard, addData, 1}},
+ {3409, {wxClipboard, clear, 0}},
+ {3410, {wxClipboard, close, 0}},
+ {3411, {wxClipboard, flush, 0}},
+ {3412, {wxClipboard, getData, 1}},
+ {3413, {wxClipboard, isOpened, 0}},
+ {3414, {wxClipboard, open, 0}},
+ {3415, {wxClipboard, setData, 1}},
+ {3417, {wxClipboard, usePrimarySelection, 1}},
+ {3418, {wxClipboard, isSupported, 1}},
+ {3419, {wxClipboard, get, 0}},
+ {3420, {wxSpinEvent, getPosition, 0}},
+ {3421, {wxSpinEvent, setPosition, 1}},
+ {3422, {wxSplitterWindow, new_0, 0}},
+ {3423, {wxSplitterWindow, new_2, 2}},
+ {3424, {wxSplitterWindow, destruct, 0}},
+ {3425, {wxSplitterWindow, create, 2}},
+ {3426, {wxSplitterWindow, getMinimumPaneSize, 0}},
+ {3427, {wxSplitterWindow, getSashGravity, 0}},
+ {3428, {wxSplitterWindow, getSashPosition, 0}},
+ {3429, {wxSplitterWindow, getSplitMode, 0}},
+ {3430, {wxSplitterWindow, getWindow1, 0}},
+ {3431, {wxSplitterWindow, getWindow2, 0}},
+ {3432, {wxSplitterWindow, initialize, 1}},
+ {3433, {wxSplitterWindow, isSplit, 0}},
+ {3434, {wxSplitterWindow, replaceWindow, 2}},
+ {3435, {wxSplitterWindow, setSashGravity, 1}},
+ {3436, {wxSplitterWindow, setSashPosition, 2}},
+ {3437, {wxSplitterWindow, setSashSize, 1}},
+ {3438, {wxSplitterWindow, setMinimumPaneSize, 1}},
+ {3439, {wxSplitterWindow, setSplitMode, 1}},
+ {3440, {wxSplitterWindow, splitHorizontally, 3}},
+ {3441, {wxSplitterWindow, splitVertically, 3}},
+ {3442, {wxSplitterWindow, unsplit, 1}},
+ {3443, {wxSplitterWindow, updateSize, 0}},
+ {3444, {wxSplitterEvent, getSashPosition, 0}},
+ {3445, {wxSplitterEvent, getX, 0}},
+ {3446, {wxSplitterEvent, getY, 0}},
+ {3447, {wxSplitterEvent, getWindowBeingRemoved, 0}},
+ {3448, {wxSplitterEvent, setSashPosition, 1}},
+ {3449, {wxHtmlWindow, new_0, 0}},
+ {3450, {wxHtmlWindow, new_2, 2}},
+ {3451, {wxHtmlWindow, appendToPage, 1}},
+ {3452, {wxHtmlWindow, getOpenedAnchor, 0}},
+ {3453, {wxHtmlWindow, getOpenedPage, 0}},
+ {3454, {wxHtmlWindow, getOpenedPageTitle, 0}},
+ {3455, {wxHtmlWindow, getRelatedFrame, 0}},
+ {3456, {wxHtmlWindow, historyBack, 0}},
+ {3457, {wxHtmlWindow, historyCanBack, 0}},
+ {3458, {wxHtmlWindow, historyCanForward, 0}},
+ {3459, {wxHtmlWindow, historyClear, 0}},
+ {3460, {wxHtmlWindow, historyForward, 0}},
+ {3461, {wxHtmlWindow, loadFile, 1}},
+ {3462, {wxHtmlWindow, loadPage, 1}},
+ {3463, {wxHtmlWindow, selectAll, 0}},
+ {3464, {wxHtmlWindow, selectionToText, 0}},
+ {3465, {wxHtmlWindow, selectLine, 1}},
+ {3466, {wxHtmlWindow, selectWord, 1}},
+ {3467, {wxHtmlWindow, setBorders, 1}},
+ {3468, {wxHtmlWindow, setFonts, 3}},
+ {3469, {wxHtmlWindow, setPage, 1}},
+ {3470, {wxHtmlWindow, setRelatedFrame, 2}},
+ {3471, {wxHtmlWindow, setRelatedStatusBar, 1}},
+ {3472, {wxHtmlWindow, toText, 0}},
+ {3473, {wxHtmlWindow, 'Destroy', undefined}},
+ {3474, {wxHtmlLinkEvent, getLinkInfo, 0}},
+ {3475, {wxAuiNotebookEvent, setSelection, 1}},
+ {3476, {wxAuiNotebookEvent, getSelection, 0}},
+ {3477, {wxAuiNotebookEvent, setOldSelection, 1}},
+ {3478, {wxAuiNotebookEvent, getOldSelection, 0}},
+ {3479, {wxAuiNotebookEvent, setDragSource, 1}},
+ {3480, {wxAuiNotebookEvent, getDragSource, 0}},
+ {3481, {wxAuiManagerEvent, setManager, 1}},
+ {3482, {wxAuiManagerEvent, getManager, 0}},
+ {3483, {wxAuiManagerEvent, setPane, 1}},
+ {3484, {wxAuiManagerEvent, getPane, 0}},
+ {3485, {wxAuiManagerEvent, setButton, 1}},
+ {3486, {wxAuiManagerEvent, getButton, 0}},
+ {3487, {wxAuiManagerEvent, setDC, 1}},
+ {3488, {wxAuiManagerEvent, getDC, 0}},
+ {3489, {wxAuiManagerEvent, veto, 1}},
+ {3490, {wxAuiManagerEvent, getVeto, 0}},
+ {3491, {wxAuiManagerEvent, setCanVeto, 1}},
+ {3492, {wxAuiManagerEvent, canVeto, 0}},
+ {3493, {wxLogNull, new, 0}},
+ {3494, {wxLogNull, 'Destroy', undefined}},
{-1, {mod, func, -1}}
].
diff --git a/lib/wx/src/gen/wxe_funcs.hrl b/lib/wx/src/gen/wxe_funcs.hrl
index b1d5e50647..7b5ca229c8 100644
--- a/lib/wx/src/gen/wxe_funcs.hrl
+++ b/lib/wx/src/gen/wxe_funcs.hrl
@@ -767,2509 +767,2509 @@
-define(wxControlWithItems_Clear, 882).
-define(wxControlWithItems_Delete, 883).
-define(wxControlWithItems_FindString, 884).
--define(wxControlWithItems_getClientData, 886).
--define(wxControlWithItems_setClientData, 888).
--define(wxControlWithItems_GetCount, 889).
--define(wxControlWithItems_GetSelection, 890).
--define(wxControlWithItems_GetString, 891).
--define(wxControlWithItems_GetStringSelection, 892).
--define(wxControlWithItems_Insert_2, 893).
--define(wxControlWithItems_Insert_3, 894).
--define(wxControlWithItems_IsEmpty, 895).
--define(wxControlWithItems_Select, 896).
--define(wxControlWithItems_SetSelection, 897).
--define(wxControlWithItems_SetString, 898).
--define(wxControlWithItems_SetStringSelection, 899).
--define(wxMenu_new_2, 902).
--define(wxMenu_new_1, 903).
--define(wxMenu_destruct, 905).
--define(wxMenu_Append_3, 906).
--define(wxMenu_Append_1, 907).
--define(wxMenu_Append_4_0, 908).
--define(wxMenu_Append_4_1, 909).
--define(wxMenu_AppendCheckItem, 910).
--define(wxMenu_AppendRadioItem, 911).
--define(wxMenu_AppendSeparator, 912).
--define(wxMenu_Break, 913).
--define(wxMenu_Check, 914).
--define(wxMenu_Delete_1_0, 915).
--define(wxMenu_Delete_1_1, 916).
--define(wxMenu_Destroy_1_0, 917).
--define(wxMenu_Destroy_1_1, 918).
--define(wxMenu_Enable, 919).
--define(wxMenu_FindItem_1, 920).
--define(wxMenu_FindItem_2, 921).
--define(wxMenu_FindItemByPosition, 922).
--define(wxMenu_GetHelpString, 923).
--define(wxMenu_GetLabel, 924).
--define(wxMenu_GetMenuItemCount, 925).
--define(wxMenu_GetMenuItems, 926).
--define(wxMenu_GetTitle, 928).
--define(wxMenu_Insert_2, 929).
--define(wxMenu_Insert_3, 930).
--define(wxMenu_Insert_5_1, 931).
--define(wxMenu_Insert_5_0, 932).
--define(wxMenu_InsertCheckItem, 933).
--define(wxMenu_InsertRadioItem, 934).
--define(wxMenu_InsertSeparator, 935).
--define(wxMenu_IsChecked, 936).
--define(wxMenu_IsEnabled, 937).
--define(wxMenu_Prepend_1, 938).
--define(wxMenu_Prepend_2, 939).
--define(wxMenu_Prepend_4_1, 940).
--define(wxMenu_Prepend_4_0, 941).
--define(wxMenu_PrependCheckItem, 942).
--define(wxMenu_PrependRadioItem, 943).
--define(wxMenu_PrependSeparator, 944).
--define(wxMenu_Remove_1_0, 945).
--define(wxMenu_Remove_1_1, 946).
--define(wxMenu_SetHelpString, 947).
--define(wxMenu_SetLabel, 948).
--define(wxMenu_SetTitle, 949).
--define(wxMenuItem_new, 950).
--define(wxMenuItem_destruct, 952).
--define(wxMenuItem_Check, 953).
--define(wxMenuItem_Enable, 954).
--define(wxMenuItem_GetBitmap, 955).
--define(wxMenuItem_GetHelp, 956).
--define(wxMenuItem_GetId, 957).
--define(wxMenuItem_GetKind, 958).
--define(wxMenuItem_GetLabel, 959).
--define(wxMenuItem_GetLabelFromText, 960).
--define(wxMenuItem_GetMenu, 961).
--define(wxMenuItem_GetText, 962).
--define(wxMenuItem_GetSubMenu, 963).
--define(wxMenuItem_IsCheckable, 964).
--define(wxMenuItem_IsChecked, 965).
--define(wxMenuItem_IsEnabled, 966).
--define(wxMenuItem_IsSeparator, 967).
--define(wxMenuItem_IsSubMenu, 968).
--define(wxMenuItem_SetBitmap, 969).
--define(wxMenuItem_SetHelp, 970).
--define(wxMenuItem_SetMenu, 971).
--define(wxMenuItem_SetSubMenu, 972).
--define(wxMenuItem_SetText, 973).
--define(wxToolBar_AddControl, 974).
--define(wxToolBar_AddSeparator, 975).
--define(wxToolBar_AddTool_5, 976).
--define(wxToolBar_AddTool_4_0, 977).
--define(wxToolBar_AddTool_1, 978).
--define(wxToolBar_AddTool_4_1, 979).
--define(wxToolBar_AddTool_3, 980).
--define(wxToolBar_AddTool_6, 981).
--define(wxToolBar_AddCheckTool, 982).
--define(wxToolBar_AddRadioTool, 983).
--define(wxToolBar_DeleteTool, 984).
--define(wxToolBar_DeleteToolByPos, 985).
--define(wxToolBar_EnableTool, 986).
--define(wxToolBar_FindById, 987).
--define(wxToolBar_FindControl, 988).
--define(wxToolBar_FindToolForPosition, 989).
--define(wxToolBar_GetToolSize, 990).
--define(wxToolBar_GetToolBitmapSize, 991).
--define(wxToolBar_GetMargins, 992).
--define(wxToolBar_GetToolEnabled, 993).
--define(wxToolBar_GetToolLongHelp, 994).
--define(wxToolBar_GetToolPacking, 995).
--define(wxToolBar_GetToolPos, 996).
--define(wxToolBar_GetToolSeparation, 997).
--define(wxToolBar_GetToolShortHelp, 998).
--define(wxToolBar_GetToolState, 999).
--define(wxToolBar_InsertControl, 1000).
--define(wxToolBar_InsertSeparator, 1001).
--define(wxToolBar_InsertTool_5, 1002).
--define(wxToolBar_InsertTool_2, 1003).
--define(wxToolBar_InsertTool_4, 1004).
--define(wxToolBar_Realize, 1005).
--define(wxToolBar_RemoveTool, 1006).
--define(wxToolBar_SetMargins, 1007).
--define(wxToolBar_SetToolBitmapSize, 1008).
--define(wxToolBar_SetToolLongHelp, 1009).
--define(wxToolBar_SetToolPacking, 1010).
--define(wxToolBar_SetToolShortHelp, 1011).
--define(wxToolBar_SetToolSeparation, 1012).
--define(wxToolBar_ToggleTool, 1013).
--define(wxStatusBar_new_0, 1015).
--define(wxStatusBar_new_2, 1016).
--define(wxStatusBar_destruct, 1018).
--define(wxStatusBar_Create, 1019).
--define(wxStatusBar_GetFieldRect, 1020).
--define(wxStatusBar_GetFieldsCount, 1021).
--define(wxStatusBar_GetStatusText, 1022).
--define(wxStatusBar_PopStatusText, 1023).
--define(wxStatusBar_PushStatusText, 1024).
--define(wxStatusBar_SetFieldsCount, 1025).
--define(wxStatusBar_SetMinHeight, 1026).
--define(wxStatusBar_SetStatusText, 1027).
--define(wxStatusBar_SetStatusWidths, 1028).
--define(wxStatusBar_SetStatusStyles, 1029).
--define(wxBitmap_new_0, 1030).
--define(wxBitmap_new_3, 1031).
--define(wxBitmap_new_4, 1032).
--define(wxBitmap_new_2_0, 1033).
--define(wxBitmap_new_2_1, 1034).
--define(wxBitmap_destruct, 1035).
--define(wxBitmap_ConvertToImage, 1036).
--define(wxBitmap_CopyFromIcon, 1037).
--define(wxBitmap_Create, 1038).
--define(wxBitmap_GetDepth, 1039).
--define(wxBitmap_GetHeight, 1040).
--define(wxBitmap_GetPalette, 1041).
--define(wxBitmap_GetMask, 1042).
--define(wxBitmap_GetWidth, 1043).
--define(wxBitmap_GetSubBitmap, 1044).
--define(wxBitmap_LoadFile, 1045).
--define(wxBitmap_Ok, 1046).
--define(wxBitmap_SaveFile, 1047).
--define(wxBitmap_SetDepth, 1048).
--define(wxBitmap_SetHeight, 1049).
--define(wxBitmap_SetMask, 1050).
--define(wxBitmap_SetPalette, 1051).
--define(wxBitmap_SetWidth, 1052).
--define(wxIcon_new_0, 1053).
--define(wxIcon_new_2, 1054).
--define(wxIcon_new_1, 1055).
--define(wxIcon_CopyFromBitmap, 1056).
--define(wxIcon_destroy, 1057).
--define(wxIconBundle_new_0, 1058).
--define(wxIconBundle_new_2, 1059).
--define(wxIconBundle_new_1_0, 1060).
--define(wxIconBundle_new_1_1, 1061).
--define(wxIconBundle_destruct, 1062).
--define(wxIconBundle_AddIcon_2, 1063).
--define(wxIconBundle_AddIcon_1, 1064).
--define(wxIconBundle_GetIcon_1_1, 1065).
--define(wxIconBundle_GetIcon_1_0, 1066).
--define(wxCursor_new_0, 1067).
--define(wxCursor_new_1_0, 1068).
--define(wxCursor_new_1_1, 1069).
--define(wxCursor_new_4, 1070).
--define(wxCursor_destruct, 1071).
--define(wxCursor_Ok, 1072).
--define(wxMask_new_0, 1073).
--define(wxMask_new_2_1, 1074).
--define(wxMask_new_2_0, 1075).
--define(wxMask_new_1, 1076).
--define(wxMask_destruct, 1077).
--define(wxMask_Create_2_1, 1078).
--define(wxMask_Create_2_0, 1079).
--define(wxMask_Create_1, 1080).
--define(wxImage_new_0, 1081).
--define(wxImage_new_3_0, 1082).
--define(wxImage_new_4, 1083).
--define(wxImage_new_5, 1084).
--define(wxImage_new_2, 1085).
--define(wxImage_new_3_1, 1086).
--define(wxImage_Blur, 1087).
--define(wxImage_BlurHorizontal, 1088).
--define(wxImage_BlurVertical, 1089).
--define(wxImage_ConvertAlphaToMask, 1090).
--define(wxImage_ConvertToGreyscale, 1091).
--define(wxImage_ConvertToMono, 1092).
--define(wxImage_Copy, 1093).
--define(wxImage_Create_3, 1094).
--define(wxImage_Create_4, 1095).
--define(wxImage_Create_5, 1096).
--define(wxImage_Destroy, 1097).
--define(wxImage_FindFirstUnusedColour, 1098).
--define(wxImage_GetImageExtWildcard, 1099).
--define(wxImage_GetAlpha_2, 1100).
--define(wxImage_GetAlpha_0, 1101).
--define(wxImage_GetBlue, 1102).
--define(wxImage_GetData, 1103).
--define(wxImage_GetGreen, 1104).
--define(wxImage_GetImageCount, 1105).
--define(wxImage_GetHeight, 1106).
--define(wxImage_GetMaskBlue, 1107).
--define(wxImage_GetMaskGreen, 1108).
--define(wxImage_GetMaskRed, 1109).
--define(wxImage_GetOrFindMaskColour, 1110).
--define(wxImage_GetPalette, 1111).
--define(wxImage_GetRed, 1112).
--define(wxImage_GetSubImage, 1113).
--define(wxImage_GetWidth, 1114).
--define(wxImage_HasAlpha, 1115).
--define(wxImage_HasMask, 1116).
--define(wxImage_GetOption, 1117).
--define(wxImage_GetOptionInt, 1118).
--define(wxImage_HasOption, 1119).
--define(wxImage_InitAlpha, 1120).
--define(wxImage_InitStandardHandlers, 1121).
--define(wxImage_IsTransparent, 1122).
--define(wxImage_LoadFile_2, 1123).
--define(wxImage_LoadFile_3, 1124).
--define(wxImage_Ok, 1125).
--define(wxImage_RemoveHandler, 1126).
--define(wxImage_Mirror, 1127).
--define(wxImage_Replace, 1128).
--define(wxImage_Rescale, 1129).
--define(wxImage_Resize, 1130).
--define(wxImage_Rotate, 1131).
--define(wxImage_RotateHue, 1132).
--define(wxImage_Rotate90, 1133).
--define(wxImage_SaveFile_1, 1134).
--define(wxImage_SaveFile_2_0, 1135).
--define(wxImage_SaveFile_2_1, 1136).
--define(wxImage_Scale, 1137).
--define(wxImage_Size, 1138).
--define(wxImage_SetAlpha_3, 1139).
--define(wxImage_SetAlpha_2, 1140).
--define(wxImage_SetData_2, 1141).
--define(wxImage_SetData_4, 1142).
--define(wxImage_SetMask, 1143).
--define(wxImage_SetMaskColour, 1144).
--define(wxImage_SetMaskFromImage, 1145).
--define(wxImage_SetOption_2_1, 1146).
--define(wxImage_SetOption_2_0, 1147).
--define(wxImage_SetPalette, 1148).
--define(wxImage_SetRGB_5, 1149).
--define(wxImage_SetRGB_4, 1150).
--define(wxImage_destroy, 1151).
--define(wxBrush_new_0, 1152).
--define(wxBrush_new_2, 1153).
--define(wxBrush_new_1, 1154).
--define(wxBrush_destruct, 1156).
--define(wxBrush_GetColour, 1157).
--define(wxBrush_GetStipple, 1158).
--define(wxBrush_GetStyle, 1159).
--define(wxBrush_IsHatch, 1160).
--define(wxBrush_IsOk, 1161).
--define(wxBrush_SetColour_1, 1162).
--define(wxBrush_SetColour_3, 1163).
--define(wxBrush_SetStipple, 1164).
--define(wxBrush_SetStyle, 1165).
--define(wxPen_new_0, 1166).
--define(wxPen_new_2, 1167).
--define(wxPen_destruct, 1168).
--define(wxPen_GetCap, 1169).
--define(wxPen_GetColour, 1170).
--define(wxPen_GetJoin, 1171).
--define(wxPen_GetStyle, 1172).
--define(wxPen_GetWidth, 1173).
--define(wxPen_IsOk, 1174).
--define(wxPen_SetCap, 1175).
--define(wxPen_SetColour_1, 1176).
--define(wxPen_SetColour_3, 1177).
--define(wxPen_SetJoin, 1178).
--define(wxPen_SetStyle, 1179).
--define(wxPen_SetWidth, 1180).
--define(wxRegion_new_0, 1181).
--define(wxRegion_new_4, 1182).
--define(wxRegion_new_2, 1183).
--define(wxRegion_new_1_1, 1184).
--define(wxRegion_new_1_0, 1186).
--define(wxRegion_destruct, 1188).
--define(wxRegion_Clear, 1189).
--define(wxRegion_Contains_2, 1190).
--define(wxRegion_Contains_1_0, 1191).
--define(wxRegion_Contains_4, 1192).
--define(wxRegion_Contains_1_1, 1193).
--define(wxRegion_ConvertToBitmap, 1194).
--define(wxRegion_GetBox, 1195).
--define(wxRegion_Intersect_4, 1196).
--define(wxRegion_Intersect_1_1, 1197).
--define(wxRegion_Intersect_1_0, 1198).
--define(wxRegion_IsEmpty, 1199).
--define(wxRegion_Subtract_4, 1200).
--define(wxRegion_Subtract_1_1, 1201).
--define(wxRegion_Subtract_1_0, 1202).
--define(wxRegion_Offset_2, 1203).
--define(wxRegion_Offset_1, 1204).
--define(wxRegion_Union_4, 1205).
--define(wxRegion_Union_1_2, 1206).
--define(wxRegion_Union_1_1, 1207).
--define(wxRegion_Union_1_0, 1208).
--define(wxRegion_Union_3, 1209).
--define(wxRegion_Xor_4, 1210).
--define(wxRegion_Xor_1_1, 1211).
--define(wxRegion_Xor_1_0, 1212).
--define(wxAcceleratorTable_new_0, 1213).
--define(wxAcceleratorTable_new_2, 1214).
--define(wxAcceleratorTable_destruct, 1215).
--define(wxAcceleratorTable_Ok, 1216).
--define(wxAcceleratorEntry_new_1_0, 1217).
--define(wxAcceleratorEntry_new_1_1, 1218).
--define(wxAcceleratorEntry_GetCommand, 1219).
--define(wxAcceleratorEntry_GetFlags, 1220).
--define(wxAcceleratorEntry_GetKeyCode, 1221).
--define(wxAcceleratorEntry_Set, 1222).
--define(wxAcceleratorEntry_destroy, 1223).
--define(wxCaret_new_3, 1228).
--define(wxCaret_new_2, 1229).
--define(wxCaret_destruct, 1231).
--define(wxCaret_Create_3, 1232).
--define(wxCaret_Create_2, 1233).
--define(wxCaret_GetBlinkTime, 1234).
--define(wxCaret_GetPosition, 1236).
--define(wxCaret_GetSize, 1238).
--define(wxCaret_GetWindow, 1239).
--define(wxCaret_Hide, 1240).
--define(wxCaret_IsOk, 1241).
--define(wxCaret_IsVisible, 1242).
--define(wxCaret_Move_2, 1243).
--define(wxCaret_Move_1, 1244).
--define(wxCaret_SetBlinkTime, 1245).
--define(wxCaret_SetSize_2, 1246).
--define(wxCaret_SetSize_1, 1247).
--define(wxCaret_Show, 1248).
--define(wxSizer_Add_2_1, 1249).
--define(wxSizer_Add_2_0, 1250).
--define(wxSizer_Add_3, 1251).
--define(wxSizer_Add_2_3, 1252).
--define(wxSizer_Add_2_2, 1253).
--define(wxSizer_AddSpacer, 1254).
--define(wxSizer_AddStretchSpacer, 1255).
--define(wxSizer_CalcMin, 1256).
--define(wxSizer_Clear, 1257).
--define(wxSizer_Detach_1_2, 1258).
--define(wxSizer_Detach_1_1, 1259).
--define(wxSizer_Detach_1_0, 1260).
--define(wxSizer_Fit, 1261).
--define(wxSizer_FitInside, 1262).
--define(wxSizer_GetChildren, 1263).
--define(wxSizer_GetItem_2_1, 1264).
--define(wxSizer_GetItem_2_0, 1265).
--define(wxSizer_GetItem_1, 1266).
--define(wxSizer_GetSize, 1267).
--define(wxSizer_GetPosition, 1268).
--define(wxSizer_GetMinSize, 1269).
--define(wxSizer_Hide_2_0, 1270).
--define(wxSizer_Hide_2_1, 1271).
--define(wxSizer_Hide_1, 1272).
--define(wxSizer_Insert_3_1, 1273).
--define(wxSizer_Insert_3_0, 1274).
--define(wxSizer_Insert_4, 1275).
--define(wxSizer_Insert_3_3, 1276).
--define(wxSizer_Insert_3_2, 1277).
--define(wxSizer_Insert_2, 1278).
--define(wxSizer_InsertSpacer, 1279).
--define(wxSizer_InsertStretchSpacer, 1280).
--define(wxSizer_IsShown_1_2, 1281).
--define(wxSizer_IsShown_1_1, 1282).
--define(wxSizer_IsShown_1_0, 1283).
--define(wxSizer_Layout, 1284).
--define(wxSizer_Prepend_2_1, 1285).
--define(wxSizer_Prepend_2_0, 1286).
--define(wxSizer_Prepend_3, 1287).
--define(wxSizer_Prepend_2_3, 1288).
--define(wxSizer_Prepend_2_2, 1289).
--define(wxSizer_Prepend_1, 1290).
--define(wxSizer_PrependSpacer, 1291).
--define(wxSizer_PrependStretchSpacer, 1292).
--define(wxSizer_RecalcSizes, 1293).
--define(wxSizer_Remove_1_1, 1294).
--define(wxSizer_Remove_1_0, 1295).
--define(wxSizer_Replace_3_1, 1296).
--define(wxSizer_Replace_3_0, 1297).
--define(wxSizer_Replace_2, 1298).
--define(wxSizer_SetDimension, 1299).
--define(wxSizer_SetMinSize_2, 1300).
--define(wxSizer_SetMinSize_1, 1301).
--define(wxSizer_SetItemMinSize_3_2, 1302).
--define(wxSizer_SetItemMinSize_2_2, 1303).
--define(wxSizer_SetItemMinSize_3_1, 1304).
--define(wxSizer_SetItemMinSize_2_1, 1305).
--define(wxSizer_SetItemMinSize_3_0, 1306).
--define(wxSizer_SetItemMinSize_2_0, 1307).
--define(wxSizer_SetSizeHints, 1308).
--define(wxSizer_SetVirtualSizeHints, 1309).
--define(wxSizer_Show_2_2, 1310).
--define(wxSizer_Show_2_1, 1311).
--define(wxSizer_Show_2_0, 1312).
--define(wxSizer_Show_1, 1313).
--define(wxSizerFlags_new, 1314).
--define(wxSizerFlags_Align, 1315).
--define(wxSizerFlags_Border_2, 1316).
--define(wxSizerFlags_Border_1, 1317).
--define(wxSizerFlags_Center, 1318).
--define(wxSizerFlags_Centre, 1319).
--define(wxSizerFlags_Expand, 1320).
--define(wxSizerFlags_Left, 1321).
--define(wxSizerFlags_Proportion, 1322).
--define(wxSizerFlags_Right, 1323).
--define(wxSizerFlags_destroy, 1324).
--define(wxSizerItem_new_5_1, 1325).
--define(wxSizerItem_new_2_1, 1326).
--define(wxSizerItem_new_5_0, 1327).
--define(wxSizerItem_new_2_0, 1328).
--define(wxSizerItem_new_6, 1329).
--define(wxSizerItem_new_3, 1330).
--define(wxSizerItem_new_0, 1331).
--define(wxSizerItem_destruct, 1332).
--define(wxSizerItem_CalcMin, 1333).
--define(wxSizerItem_DeleteWindows, 1334).
--define(wxSizerItem_DetachSizer, 1335).
--define(wxSizerItem_GetBorder, 1336).
--define(wxSizerItem_GetFlag, 1337).
--define(wxSizerItem_GetMinSize, 1338).
--define(wxSizerItem_GetPosition, 1339).
--define(wxSizerItem_GetProportion, 1340).
--define(wxSizerItem_GetRatio, 1341).
--define(wxSizerItem_GetRect, 1342).
--define(wxSizerItem_GetSize, 1343).
--define(wxSizerItem_GetSizer, 1344).
--define(wxSizerItem_GetSpacer, 1345).
--define(wxSizerItem_GetUserData, 1346).
--define(wxSizerItem_GetWindow, 1347).
--define(wxSizerItem_IsSizer, 1348).
--define(wxSizerItem_IsShown, 1349).
--define(wxSizerItem_IsSpacer, 1350).
--define(wxSizerItem_IsWindow, 1351).
--define(wxSizerItem_SetBorder, 1352).
--define(wxSizerItem_SetDimension, 1353).
--define(wxSizerItem_SetFlag, 1354).
--define(wxSizerItem_SetInitSize, 1355).
--define(wxSizerItem_SetMinSize_1, 1356).
--define(wxSizerItem_SetMinSize_2, 1357).
--define(wxSizerItem_SetProportion, 1358).
--define(wxSizerItem_SetRatio_2, 1359).
--define(wxSizerItem_SetRatio_1_1, 1360).
--define(wxSizerItem_SetRatio_1_0, 1361).
--define(wxSizerItem_SetSizer, 1362).
--define(wxSizerItem_SetSpacer_1, 1363).
--define(wxSizerItem_SetSpacer_2, 1364).
--define(wxSizerItem_SetWindow, 1365).
--define(wxSizerItem_Show, 1366).
--define(wxBoxSizer_new, 1367).
--define(wxBoxSizer_GetOrientation, 1368).
--define(wxBoxSizer_destroy, 1369).
--define(wxStaticBoxSizer_new_2, 1370).
--define(wxStaticBoxSizer_new_3, 1371).
--define(wxStaticBoxSizer_GetStaticBox, 1372).
--define(wxStaticBoxSizer_destroy, 1373).
--define(wxGridSizer_new_4, 1374).
--define(wxGridSizer_new_2, 1375).
--define(wxGridSizer_GetCols, 1376).
--define(wxGridSizer_GetHGap, 1377).
--define(wxGridSizer_GetRows, 1378).
--define(wxGridSizer_GetVGap, 1379).
--define(wxGridSizer_SetCols, 1380).
--define(wxGridSizer_SetHGap, 1381).
--define(wxGridSizer_SetRows, 1382).
--define(wxGridSizer_SetVGap, 1383).
--define(wxGridSizer_destroy, 1384).
--define(wxFlexGridSizer_new_4, 1385).
--define(wxFlexGridSizer_new_2, 1386).
--define(wxFlexGridSizer_AddGrowableCol, 1387).
--define(wxFlexGridSizer_AddGrowableRow, 1388).
--define(wxFlexGridSizer_GetFlexibleDirection, 1389).
--define(wxFlexGridSizer_GetNonFlexibleGrowMode, 1390).
--define(wxFlexGridSizer_RemoveGrowableCol, 1391).
--define(wxFlexGridSizer_RemoveGrowableRow, 1392).
--define(wxFlexGridSizer_SetFlexibleDirection, 1393).
--define(wxFlexGridSizer_SetNonFlexibleGrowMode, 1394).
--define(wxFlexGridSizer_destroy, 1395).
--define(wxGridBagSizer_new, 1396).
--define(wxGridBagSizer_Add_3_2, 1397).
--define(wxGridBagSizer_Add_3_1, 1398).
--define(wxGridBagSizer_Add_4, 1399).
--define(wxGridBagSizer_Add_1_0, 1400).
--define(wxGridBagSizer_Add_2_1, 1401).
--define(wxGridBagSizer_Add_2_0, 1402).
--define(wxGridBagSizer_Add_3_0, 1403).
--define(wxGridBagSizer_Add_1_1, 1404).
--define(wxGridBagSizer_CalcMin, 1405).
--define(wxGridBagSizer_CheckForIntersection_2, 1406).
--define(wxGridBagSizer_CheckForIntersection_3, 1407).
--define(wxGridBagSizer_FindItem_1_1, 1408).
--define(wxGridBagSizer_FindItem_1_0, 1409).
--define(wxGridBagSizer_FindItemAtPoint, 1410).
--define(wxGridBagSizer_FindItemAtPosition, 1411).
--define(wxGridBagSizer_FindItemWithData, 1412).
--define(wxGridBagSizer_GetCellSize, 1413).
--define(wxGridBagSizer_GetEmptyCellSize, 1414).
--define(wxGridBagSizer_GetItemPosition_1_2, 1415).
--define(wxGridBagSizer_GetItemPosition_1_1, 1416).
--define(wxGridBagSizer_GetItemPosition_1_0, 1417).
--define(wxGridBagSizer_GetItemSpan_1_2, 1418).
--define(wxGridBagSizer_GetItemSpan_1_1, 1419).
--define(wxGridBagSizer_GetItemSpan_1_0, 1420).
--define(wxGridBagSizer_SetEmptyCellSize, 1421).
--define(wxGridBagSizer_SetItemPosition_2_2, 1422).
--define(wxGridBagSizer_SetItemPosition_2_1, 1423).
--define(wxGridBagSizer_SetItemPosition_2_0, 1424).
--define(wxGridBagSizer_SetItemSpan_2_2, 1425).
--define(wxGridBagSizer_SetItemSpan_2_1, 1426).
--define(wxGridBagSizer_SetItemSpan_2_0, 1427).
--define(wxGridBagSizer_destroy, 1428).
--define(wxStdDialogButtonSizer_new, 1429).
--define(wxStdDialogButtonSizer_AddButton, 1430).
--define(wxStdDialogButtonSizer_Realize, 1431).
--define(wxStdDialogButtonSizer_SetAffirmativeButton, 1432).
--define(wxStdDialogButtonSizer_SetCancelButton, 1433).
--define(wxStdDialogButtonSizer_SetNegativeButton, 1434).
--define(wxStdDialogButtonSizer_destroy, 1435).
--define(wxFont_new_0, 1436).
--define(wxFont_new_1, 1437).
--define(wxFont_new_5, 1438).
--define(wxFont_destruct, 1440).
--define(wxFont_IsFixedWidth, 1441).
--define(wxFont_GetDefaultEncoding, 1442).
--define(wxFont_GetFaceName, 1443).
--define(wxFont_GetFamily, 1444).
--define(wxFont_GetNativeFontInfoDesc, 1445).
--define(wxFont_GetNativeFontInfoUserDesc, 1446).
--define(wxFont_GetPointSize, 1447).
--define(wxFont_GetStyle, 1448).
--define(wxFont_GetUnderlined, 1449).
--define(wxFont_GetWeight, 1450).
--define(wxFont_Ok, 1451).
--define(wxFont_SetDefaultEncoding, 1452).
--define(wxFont_SetFaceName, 1453).
--define(wxFont_SetFamily, 1454).
--define(wxFont_SetPointSize, 1455).
--define(wxFont_SetStyle, 1456).
--define(wxFont_SetUnderlined, 1457).
--define(wxFont_SetWeight, 1458).
--define(wxToolTip_Enable, 1459).
--define(wxToolTip_SetDelay, 1460).
--define(wxToolTip_new, 1461).
--define(wxToolTip_SetTip, 1462).
--define(wxToolTip_GetTip, 1463).
--define(wxToolTip_GetWindow, 1464).
--define(wxToolTip_destroy, 1465).
--define(wxButton_new_3, 1467).
--define(wxButton_new_0, 1468).
--define(wxButton_destruct, 1469).
--define(wxButton_Create, 1470).
--define(wxButton_GetDefaultSize, 1471).
--define(wxButton_SetDefault, 1472).
--define(wxButton_SetLabel, 1473).
--define(wxBitmapButton_new_4, 1475).
--define(wxBitmapButton_new_0, 1476).
--define(wxBitmapButton_Create, 1477).
--define(wxBitmapButton_GetBitmapDisabled, 1478).
--define(wxBitmapButton_GetBitmapFocus, 1480).
--define(wxBitmapButton_GetBitmapLabel, 1482).
--define(wxBitmapButton_GetBitmapSelected, 1484).
--define(wxBitmapButton_SetBitmapDisabled, 1486).
--define(wxBitmapButton_SetBitmapFocus, 1487).
--define(wxBitmapButton_SetBitmapLabel, 1488).
--define(wxBitmapButton_SetBitmapSelected, 1489).
--define(wxBitmapButton_destroy, 1490).
--define(wxToggleButton_new_0, 1491).
--define(wxToggleButton_new_4, 1492).
--define(wxToggleButton_Create, 1493).
--define(wxToggleButton_GetValue, 1494).
--define(wxToggleButton_SetValue, 1495).
--define(wxToggleButton_destroy, 1496).
--define(wxCalendarCtrl_new_0, 1497).
--define(wxCalendarCtrl_new_3, 1498).
--define(wxCalendarCtrl_Create, 1499).
--define(wxCalendarCtrl_destruct, 1500).
--define(wxCalendarCtrl_SetDate, 1501).
--define(wxCalendarCtrl_GetDate, 1502).
--define(wxCalendarCtrl_EnableYearChange, 1503).
--define(wxCalendarCtrl_EnableMonthChange, 1504).
--define(wxCalendarCtrl_EnableHolidayDisplay, 1505).
--define(wxCalendarCtrl_SetHeaderColours, 1506).
--define(wxCalendarCtrl_GetHeaderColourFg, 1507).
--define(wxCalendarCtrl_GetHeaderColourBg, 1508).
--define(wxCalendarCtrl_SetHighlightColours, 1509).
--define(wxCalendarCtrl_GetHighlightColourFg, 1510).
--define(wxCalendarCtrl_GetHighlightColourBg, 1511).
--define(wxCalendarCtrl_SetHolidayColours, 1512).
--define(wxCalendarCtrl_GetHolidayColourFg, 1513).
--define(wxCalendarCtrl_GetHolidayColourBg, 1514).
--define(wxCalendarCtrl_GetAttr, 1515).
--define(wxCalendarCtrl_SetAttr, 1516).
--define(wxCalendarCtrl_SetHoliday, 1517).
--define(wxCalendarCtrl_ResetAttr, 1518).
--define(wxCalendarCtrl_HitTest, 1519).
--define(wxCalendarDateAttr_new_0, 1520).
--define(wxCalendarDateAttr_new_2_1, 1521).
--define(wxCalendarDateAttr_new_2_0, 1522).
--define(wxCalendarDateAttr_SetTextColour, 1523).
--define(wxCalendarDateAttr_SetBackgroundColour, 1524).
--define(wxCalendarDateAttr_SetBorderColour, 1525).
--define(wxCalendarDateAttr_SetFont, 1526).
--define(wxCalendarDateAttr_SetBorder, 1527).
--define(wxCalendarDateAttr_SetHoliday, 1528).
--define(wxCalendarDateAttr_HasTextColour, 1529).
--define(wxCalendarDateAttr_HasBackgroundColour, 1530).
--define(wxCalendarDateAttr_HasBorderColour, 1531).
--define(wxCalendarDateAttr_HasFont, 1532).
--define(wxCalendarDateAttr_HasBorder, 1533).
--define(wxCalendarDateAttr_IsHoliday, 1534).
--define(wxCalendarDateAttr_GetTextColour, 1535).
--define(wxCalendarDateAttr_GetBackgroundColour, 1536).
--define(wxCalendarDateAttr_GetBorderColour, 1537).
--define(wxCalendarDateAttr_GetFont, 1538).
--define(wxCalendarDateAttr_GetBorder, 1539).
--define(wxCalendarDateAttr_destroy, 1540).
--define(wxCheckBox_new_4, 1542).
--define(wxCheckBox_new_0, 1543).
--define(wxCheckBox_Create, 1544).
--define(wxCheckBox_GetValue, 1545).
--define(wxCheckBox_Get3StateValue, 1546).
--define(wxCheckBox_Is3rdStateAllowedForUser, 1547).
--define(wxCheckBox_Is3State, 1548).
--define(wxCheckBox_IsChecked, 1549).
--define(wxCheckBox_SetValue, 1550).
--define(wxCheckBox_Set3StateValue, 1551).
--define(wxCheckBox_destroy, 1552).
--define(wxCheckListBox_new_0, 1553).
--define(wxCheckListBox_new_3, 1555).
--define(wxCheckListBox_Check, 1556).
--define(wxCheckListBox_IsChecked, 1557).
--define(wxCheckListBox_destroy, 1558).
--define(wxChoice_new_3, 1561).
--define(wxChoice_new_0, 1562).
--define(wxChoice_destruct, 1564).
--define(wxChoice_Create, 1566).
--define(wxChoice_Delete, 1567).
--define(wxChoice_GetColumns, 1568).
--define(wxChoice_SetColumns, 1569).
--define(wxComboBox_new_0, 1570).
--define(wxComboBox_new_3, 1572).
--define(wxComboBox_destruct, 1573).
--define(wxComboBox_Create, 1575).
--define(wxComboBox_CanCopy, 1576).
--define(wxComboBox_CanCut, 1577).
--define(wxComboBox_CanPaste, 1578).
--define(wxComboBox_CanRedo, 1579).
--define(wxComboBox_CanUndo, 1580).
--define(wxComboBox_Copy, 1581).
--define(wxComboBox_Cut, 1582).
--define(wxComboBox_GetInsertionPoint, 1583).
--define(wxComboBox_GetLastPosition, 1584).
--define(wxComboBox_GetValue, 1585).
--define(wxComboBox_Paste, 1586).
--define(wxComboBox_Redo, 1587).
--define(wxComboBox_Replace, 1588).
--define(wxComboBox_Remove, 1589).
--define(wxComboBox_SetInsertionPoint, 1590).
--define(wxComboBox_SetInsertionPointEnd, 1591).
--define(wxComboBox_SetSelection_1, 1592).
--define(wxComboBox_SetSelection_2, 1593).
--define(wxComboBox_SetValue, 1594).
--define(wxComboBox_Undo, 1595).
--define(wxGauge_new_0, 1596).
--define(wxGauge_new_4, 1597).
--define(wxGauge_Create, 1598).
--define(wxGauge_GetBezelFace, 1599).
--define(wxGauge_GetRange, 1600).
--define(wxGauge_GetShadowWidth, 1601).
--define(wxGauge_GetValue, 1602).
--define(wxGauge_IsVertical, 1603).
--define(wxGauge_SetBezelFace, 1604).
--define(wxGauge_SetRange, 1605).
--define(wxGauge_SetShadowWidth, 1606).
--define(wxGauge_SetValue, 1607).
--define(wxGauge_Pulse, 1608).
--define(wxGauge_destroy, 1609).
--define(wxGenericDirCtrl_new_0, 1610).
--define(wxGenericDirCtrl_new_2, 1611).
--define(wxGenericDirCtrl_destruct, 1612).
--define(wxGenericDirCtrl_Create, 1613).
--define(wxGenericDirCtrl_Init, 1614).
--define(wxGenericDirCtrl_CollapseTree, 1615).
--define(wxGenericDirCtrl_ExpandPath, 1616).
--define(wxGenericDirCtrl_GetDefaultPath, 1617).
--define(wxGenericDirCtrl_GetPath, 1618).
--define(wxGenericDirCtrl_GetFilePath, 1619).
--define(wxGenericDirCtrl_GetFilter, 1620).
--define(wxGenericDirCtrl_GetFilterIndex, 1621).
--define(wxGenericDirCtrl_GetRootId, 1622).
--define(wxGenericDirCtrl_GetTreeCtrl, 1623).
--define(wxGenericDirCtrl_ReCreateTree, 1624).
--define(wxGenericDirCtrl_SetDefaultPath, 1625).
--define(wxGenericDirCtrl_SetFilter, 1626).
--define(wxGenericDirCtrl_SetFilterIndex, 1627).
--define(wxGenericDirCtrl_SetPath, 1628).
--define(wxStaticBox_new_4, 1630).
--define(wxStaticBox_new_0, 1631).
--define(wxStaticBox_Create, 1632).
--define(wxStaticBox_destroy, 1633).
--define(wxStaticLine_new_2, 1635).
--define(wxStaticLine_new_0, 1636).
--define(wxStaticLine_Create, 1637).
--define(wxStaticLine_IsVertical, 1638).
--define(wxStaticLine_GetDefaultSize, 1639).
--define(wxStaticLine_destroy, 1640).
--define(wxListBox_new_3, 1643).
--define(wxListBox_new_0, 1644).
--define(wxListBox_destruct, 1646).
--define(wxListBox_Create, 1648).
--define(wxListBox_Deselect, 1649).
--define(wxListBox_GetSelections, 1650).
--define(wxListBox_InsertItems, 1651).
--define(wxListBox_IsSelected, 1652).
--define(wxListBox_Set, 1654).
--define(wxListBox_HitTest, 1655).
--define(wxListBox_SetFirstItem_1_0, 1656).
--define(wxListBox_SetFirstItem_1_1, 1657).
--define(wxListCtrl_new_0, 1658).
--define(wxListCtrl_new_2, 1659).
--define(wxListCtrl_Arrange, 1660).
--define(wxListCtrl_AssignImageList, 1661).
--define(wxListCtrl_ClearAll, 1662).
--define(wxListCtrl_Create, 1663).
--define(wxListCtrl_DeleteAllItems, 1664).
--define(wxListCtrl_DeleteColumn, 1665).
--define(wxListCtrl_DeleteItem, 1666).
--define(wxListCtrl_EditLabel, 1667).
--define(wxListCtrl_EnsureVisible, 1668).
--define(wxListCtrl_FindItem_3_0, 1669).
--define(wxListCtrl_FindItem_3_1, 1670).
--define(wxListCtrl_GetColumn, 1671).
--define(wxListCtrl_GetColumnCount, 1672).
--define(wxListCtrl_GetColumnWidth, 1673).
--define(wxListCtrl_GetCountPerPage, 1674).
--define(wxListCtrl_GetEditControl, 1675).
--define(wxListCtrl_GetImageList, 1676).
--define(wxListCtrl_GetItem, 1677).
--define(wxListCtrl_GetItemBackgroundColour, 1678).
--define(wxListCtrl_GetItemCount, 1679).
--define(wxListCtrl_GetItemData, 1680).
--define(wxListCtrl_GetItemFont, 1681).
--define(wxListCtrl_GetItemPosition, 1682).
--define(wxListCtrl_GetItemRect, 1683).
--define(wxListCtrl_GetItemSpacing, 1684).
--define(wxListCtrl_GetItemState, 1685).
--define(wxListCtrl_GetItemText, 1686).
--define(wxListCtrl_GetItemTextColour, 1687).
--define(wxListCtrl_GetNextItem, 1688).
--define(wxListCtrl_GetSelectedItemCount, 1689).
--define(wxListCtrl_GetTextColour, 1690).
--define(wxListCtrl_GetTopItem, 1691).
--define(wxListCtrl_GetViewRect, 1692).
--define(wxListCtrl_HitTest, 1693).
--define(wxListCtrl_InsertColumn_2, 1694).
--define(wxListCtrl_InsertColumn_3, 1695).
--define(wxListCtrl_InsertItem_1, 1696).
--define(wxListCtrl_InsertItem_2_1, 1697).
--define(wxListCtrl_InsertItem_2_0, 1698).
--define(wxListCtrl_InsertItem_3, 1699).
--define(wxListCtrl_RefreshItem, 1700).
--define(wxListCtrl_RefreshItems, 1701).
--define(wxListCtrl_ScrollList, 1702).
--define(wxListCtrl_SetBackgroundColour, 1703).
--define(wxListCtrl_SetColumn, 1704).
--define(wxListCtrl_SetColumnWidth, 1705).
--define(wxListCtrl_SetImageList, 1706).
--define(wxListCtrl_SetItem_1, 1707).
--define(wxListCtrl_SetItem_4, 1708).
--define(wxListCtrl_SetItemBackgroundColour, 1709).
--define(wxListCtrl_SetItemCount, 1710).
--define(wxListCtrl_SetItemData, 1711).
--define(wxListCtrl_SetItemFont, 1712).
--define(wxListCtrl_SetItemImage, 1713).
--define(wxListCtrl_SetItemColumnImage, 1714).
--define(wxListCtrl_SetItemPosition, 1715).
--define(wxListCtrl_SetItemState, 1716).
--define(wxListCtrl_SetItemText, 1717).
--define(wxListCtrl_SetItemTextColour, 1718).
--define(wxListCtrl_SetSingleStyle, 1719).
--define(wxListCtrl_SetTextColour, 1720).
--define(wxListCtrl_SetWindowStyleFlag, 1721).
--define(wxListCtrl_SortItems, 1722).
--define(wxListCtrl_destroy, 1723).
--define(wxListView_ClearColumnImage, 1724).
--define(wxListView_Focus, 1725).
--define(wxListView_GetFirstSelected, 1726).
--define(wxListView_GetFocusedItem, 1727).
--define(wxListView_GetNextSelected, 1728).
--define(wxListView_IsSelected, 1729).
--define(wxListView_Select, 1730).
--define(wxListView_SetColumnImage, 1731).
--define(wxListItem_new_0, 1732).
--define(wxListItem_new_1, 1733).
--define(wxListItem_destruct, 1734).
--define(wxListItem_Clear, 1735).
--define(wxListItem_GetAlign, 1736).
--define(wxListItem_GetBackgroundColour, 1737).
--define(wxListItem_GetColumn, 1738).
--define(wxListItem_GetFont, 1739).
--define(wxListItem_GetId, 1740).
--define(wxListItem_GetImage, 1741).
--define(wxListItem_GetMask, 1742).
--define(wxListItem_GetState, 1743).
--define(wxListItem_GetText, 1744).
--define(wxListItem_GetTextColour, 1745).
--define(wxListItem_GetWidth, 1746).
--define(wxListItem_SetAlign, 1747).
--define(wxListItem_SetBackgroundColour, 1748).
--define(wxListItem_SetColumn, 1749).
--define(wxListItem_SetFont, 1750).
--define(wxListItem_SetId, 1751).
--define(wxListItem_SetImage, 1752).
--define(wxListItem_SetMask, 1753).
--define(wxListItem_SetState, 1754).
--define(wxListItem_SetStateMask, 1755).
--define(wxListItem_SetText, 1756).
--define(wxListItem_SetTextColour, 1757).
--define(wxListItem_SetWidth, 1758).
--define(wxImageList_new_0, 1759).
--define(wxImageList_new_3, 1760).
--define(wxImageList_Add_1, 1761).
--define(wxImageList_Add_2_0, 1762).
--define(wxImageList_Add_2_1, 1763).
--define(wxImageList_Create, 1764).
--define(wxImageList_Draw, 1766).
--define(wxImageList_GetBitmap, 1767).
--define(wxImageList_GetIcon, 1768).
--define(wxImageList_GetImageCount, 1769).
--define(wxImageList_GetSize, 1770).
--define(wxImageList_Remove, 1771).
--define(wxImageList_RemoveAll, 1772).
--define(wxImageList_Replace_2, 1773).
--define(wxImageList_Replace_3, 1774).
--define(wxImageList_destroy, 1775).
--define(wxTextAttr_new_0, 1776).
--define(wxTextAttr_new_2, 1777).
--define(wxTextAttr_GetAlignment, 1778).
--define(wxTextAttr_GetBackgroundColour, 1779).
--define(wxTextAttr_GetFont, 1780).
--define(wxTextAttr_GetLeftIndent, 1781).
--define(wxTextAttr_GetLeftSubIndent, 1782).
--define(wxTextAttr_GetRightIndent, 1783).
--define(wxTextAttr_GetTabs, 1784).
--define(wxTextAttr_GetTextColour, 1785).
--define(wxTextAttr_HasBackgroundColour, 1786).
--define(wxTextAttr_HasFont, 1787).
--define(wxTextAttr_HasTextColour, 1788).
--define(wxTextAttr_GetFlags, 1789).
--define(wxTextAttr_IsDefault, 1790).
--define(wxTextAttr_SetAlignment, 1791).
--define(wxTextAttr_SetBackgroundColour, 1792).
--define(wxTextAttr_SetFlags, 1793).
--define(wxTextAttr_SetFont, 1794).
--define(wxTextAttr_SetLeftIndent, 1795).
--define(wxTextAttr_SetRightIndent, 1796).
--define(wxTextAttr_SetTabs, 1797).
--define(wxTextAttr_SetTextColour, 1798).
--define(wxTextAttr_destroy, 1799).
--define(wxTextCtrl_new_3, 1801).
--define(wxTextCtrl_new_0, 1802).
--define(wxTextCtrl_destruct, 1804).
--define(wxTextCtrl_AppendText, 1805).
--define(wxTextCtrl_CanCopy, 1806).
--define(wxTextCtrl_CanCut, 1807).
--define(wxTextCtrl_CanPaste, 1808).
--define(wxTextCtrl_CanRedo, 1809).
--define(wxTextCtrl_CanUndo, 1810).
--define(wxTextCtrl_Clear, 1811).
--define(wxTextCtrl_Copy, 1812).
--define(wxTextCtrl_Create, 1813).
--define(wxTextCtrl_Cut, 1814).
--define(wxTextCtrl_DiscardEdits, 1815).
--define(wxTextCtrl_EmulateKeyPress, 1816).
--define(wxTextCtrl_GetDefaultStyle, 1817).
--define(wxTextCtrl_GetInsertionPoint, 1818).
--define(wxTextCtrl_GetLastPosition, 1819).
--define(wxTextCtrl_GetLineLength, 1820).
--define(wxTextCtrl_GetLineText, 1821).
--define(wxTextCtrl_GetNumberOfLines, 1822).
--define(wxTextCtrl_GetRange, 1823).
--define(wxTextCtrl_GetSelection, 1824).
--define(wxTextCtrl_GetStringSelection, 1825).
--define(wxTextCtrl_GetStyle, 1826).
--define(wxTextCtrl_GetValue, 1827).
--define(wxTextCtrl_IsEditable, 1828).
--define(wxTextCtrl_IsModified, 1829).
--define(wxTextCtrl_IsMultiLine, 1830).
--define(wxTextCtrl_IsSingleLine, 1831).
--define(wxTextCtrl_LoadFile, 1832).
--define(wxTextCtrl_MarkDirty, 1833).
--define(wxTextCtrl_Paste, 1834).
--define(wxTextCtrl_PositionToXY, 1835).
--define(wxTextCtrl_Redo, 1836).
--define(wxTextCtrl_Remove, 1837).
--define(wxTextCtrl_Replace, 1838).
--define(wxTextCtrl_SaveFile, 1839).
--define(wxTextCtrl_SetDefaultStyle, 1840).
--define(wxTextCtrl_SetEditable, 1841).
--define(wxTextCtrl_SetInsertionPoint, 1842).
--define(wxTextCtrl_SetInsertionPointEnd, 1843).
--define(wxTextCtrl_SetMaxLength, 1845).
--define(wxTextCtrl_SetSelection, 1846).
--define(wxTextCtrl_SetStyle, 1847).
--define(wxTextCtrl_SetValue, 1848).
--define(wxTextCtrl_ShowPosition, 1849).
--define(wxTextCtrl_Undo, 1850).
--define(wxTextCtrl_WriteText, 1851).
--define(wxTextCtrl_XYToPosition, 1852).
--define(wxNotebook_new_0, 1855).
--define(wxNotebook_new_3, 1856).
--define(wxNotebook_destruct, 1857).
--define(wxNotebook_AddPage, 1858).
--define(wxNotebook_AdvanceSelection, 1859).
--define(wxNotebook_AssignImageList, 1860).
--define(wxNotebook_Create, 1861).
--define(wxNotebook_DeleteAllPages, 1862).
--define(wxNotebook_DeletePage, 1863).
--define(wxNotebook_RemovePage, 1864).
--define(wxNotebook_GetCurrentPage, 1865).
--define(wxNotebook_GetImageList, 1866).
--define(wxNotebook_GetPage, 1868).
--define(wxNotebook_GetPageCount, 1869).
--define(wxNotebook_GetPageImage, 1870).
--define(wxNotebook_GetPageText, 1871).
--define(wxNotebook_GetRowCount, 1872).
--define(wxNotebook_GetSelection, 1873).
--define(wxNotebook_GetThemeBackgroundColour, 1874).
--define(wxNotebook_HitTest, 1876).
--define(wxNotebook_InsertPage, 1878).
--define(wxNotebook_SetImageList, 1879).
--define(wxNotebook_SetPadding, 1880).
--define(wxNotebook_SetPageSize, 1881).
--define(wxNotebook_SetPageImage, 1882).
--define(wxNotebook_SetPageText, 1883).
--define(wxNotebook_SetSelection, 1884).
--define(wxNotebook_ChangeSelection, 1885).
--define(wxChoicebook_new_0, 1886).
--define(wxChoicebook_new_3, 1887).
--define(wxChoicebook_AddPage, 1888).
--define(wxChoicebook_AdvanceSelection, 1889).
--define(wxChoicebook_AssignImageList, 1890).
--define(wxChoicebook_Create, 1891).
--define(wxChoicebook_DeleteAllPages, 1892).
--define(wxChoicebook_DeletePage, 1893).
--define(wxChoicebook_RemovePage, 1894).
--define(wxChoicebook_GetCurrentPage, 1895).
--define(wxChoicebook_GetImageList, 1896).
--define(wxChoicebook_GetPage, 1898).
--define(wxChoicebook_GetPageCount, 1899).
--define(wxChoicebook_GetPageImage, 1900).
--define(wxChoicebook_GetPageText, 1901).
--define(wxChoicebook_GetSelection, 1902).
--define(wxChoicebook_HitTest, 1903).
--define(wxChoicebook_InsertPage, 1904).
--define(wxChoicebook_SetImageList, 1905).
--define(wxChoicebook_SetPageSize, 1906).
--define(wxChoicebook_SetPageImage, 1907).
--define(wxChoicebook_SetPageText, 1908).
--define(wxChoicebook_SetSelection, 1909).
--define(wxChoicebook_ChangeSelection, 1910).
--define(wxChoicebook_destroy, 1911).
--define(wxToolbook_new_0, 1912).
--define(wxToolbook_new_3, 1913).
--define(wxToolbook_AddPage, 1914).
--define(wxToolbook_AdvanceSelection, 1915).
--define(wxToolbook_AssignImageList, 1916).
--define(wxToolbook_Create, 1917).
--define(wxToolbook_DeleteAllPages, 1918).
--define(wxToolbook_DeletePage, 1919).
--define(wxToolbook_RemovePage, 1920).
--define(wxToolbook_GetCurrentPage, 1921).
--define(wxToolbook_GetImageList, 1922).
--define(wxToolbook_GetPage, 1924).
--define(wxToolbook_GetPageCount, 1925).
--define(wxToolbook_GetPageImage, 1926).
--define(wxToolbook_GetPageText, 1927).
--define(wxToolbook_GetSelection, 1928).
--define(wxToolbook_HitTest, 1930).
--define(wxToolbook_InsertPage, 1931).
--define(wxToolbook_SetImageList, 1932).
--define(wxToolbook_SetPageSize, 1933).
--define(wxToolbook_SetPageImage, 1934).
--define(wxToolbook_SetPageText, 1935).
--define(wxToolbook_SetSelection, 1936).
--define(wxToolbook_ChangeSelection, 1937).
--define(wxToolbook_destroy, 1938).
--define(wxListbook_new_0, 1939).
--define(wxListbook_new_3, 1940).
--define(wxListbook_AddPage, 1941).
--define(wxListbook_AdvanceSelection, 1942).
--define(wxListbook_AssignImageList, 1943).
--define(wxListbook_Create, 1944).
--define(wxListbook_DeleteAllPages, 1945).
--define(wxListbook_DeletePage, 1946).
--define(wxListbook_RemovePage, 1947).
--define(wxListbook_GetCurrentPage, 1948).
--define(wxListbook_GetImageList, 1949).
--define(wxListbook_GetPage, 1951).
--define(wxListbook_GetPageCount, 1952).
--define(wxListbook_GetPageImage, 1953).
--define(wxListbook_GetPageText, 1954).
--define(wxListbook_GetSelection, 1955).
--define(wxListbook_HitTest, 1957).
--define(wxListbook_InsertPage, 1958).
--define(wxListbook_SetImageList, 1959).
--define(wxListbook_SetPageSize, 1960).
--define(wxListbook_SetPageImage, 1961).
--define(wxListbook_SetPageText, 1962).
--define(wxListbook_SetSelection, 1963).
--define(wxListbook_ChangeSelection, 1964).
--define(wxListbook_destroy, 1965).
--define(wxTreebook_new_0, 1966).
--define(wxTreebook_new_3, 1967).
--define(wxTreebook_AddPage, 1968).
--define(wxTreebook_AdvanceSelection, 1969).
--define(wxTreebook_AssignImageList, 1970).
--define(wxTreebook_Create, 1971).
--define(wxTreebook_DeleteAllPages, 1972).
--define(wxTreebook_DeletePage, 1973).
--define(wxTreebook_RemovePage, 1974).
--define(wxTreebook_GetCurrentPage, 1975).
--define(wxTreebook_GetImageList, 1976).
--define(wxTreebook_GetPage, 1978).
--define(wxTreebook_GetPageCount, 1979).
--define(wxTreebook_GetPageImage, 1980).
--define(wxTreebook_GetPageText, 1981).
--define(wxTreebook_GetSelection, 1982).
--define(wxTreebook_ExpandNode, 1983).
--define(wxTreebook_IsNodeExpanded, 1984).
--define(wxTreebook_HitTest, 1986).
--define(wxTreebook_InsertPage, 1987).
--define(wxTreebook_InsertSubPage, 1988).
--define(wxTreebook_SetImageList, 1989).
--define(wxTreebook_SetPageSize, 1990).
--define(wxTreebook_SetPageImage, 1991).
--define(wxTreebook_SetPageText, 1992).
--define(wxTreebook_SetSelection, 1993).
--define(wxTreebook_ChangeSelection, 1994).
--define(wxTreebook_destroy, 1995).
--define(wxTreeCtrl_new_2, 1998).
--define(wxTreeCtrl_new_0, 1999).
--define(wxTreeCtrl_destruct, 2001).
--define(wxTreeCtrl_AddRoot, 2002).
--define(wxTreeCtrl_AppendItem, 2003).
--define(wxTreeCtrl_AssignImageList, 2004).
--define(wxTreeCtrl_AssignStateImageList, 2005).
--define(wxTreeCtrl_Collapse, 2006).
--define(wxTreeCtrl_CollapseAndReset, 2007).
--define(wxTreeCtrl_Create, 2008).
--define(wxTreeCtrl_Delete, 2009).
--define(wxTreeCtrl_DeleteAllItems, 2010).
--define(wxTreeCtrl_DeleteChildren, 2011).
--define(wxTreeCtrl_EnsureVisible, 2012).
--define(wxTreeCtrl_Expand, 2013).
--define(wxTreeCtrl_GetBoundingRect, 2014).
--define(wxTreeCtrl_GetChildrenCount, 2016).
--define(wxTreeCtrl_GetCount, 2017).
--define(wxTreeCtrl_GetEditControl, 2018).
--define(wxTreeCtrl_GetFirstChild, 2019).
--define(wxTreeCtrl_GetNextChild, 2020).
--define(wxTreeCtrl_GetFirstVisibleItem, 2021).
--define(wxTreeCtrl_GetImageList, 2022).
--define(wxTreeCtrl_GetIndent, 2023).
--define(wxTreeCtrl_GetItemBackgroundColour, 2024).
--define(wxTreeCtrl_GetItemData, 2025).
--define(wxTreeCtrl_GetItemFont, 2026).
--define(wxTreeCtrl_GetItemImage_1, 2027).
--define(wxTreeCtrl_GetItemImage_2, 2028).
--define(wxTreeCtrl_GetItemText, 2029).
--define(wxTreeCtrl_GetItemTextColour, 2030).
--define(wxTreeCtrl_GetLastChild, 2031).
--define(wxTreeCtrl_GetNextSibling, 2032).
--define(wxTreeCtrl_GetNextVisible, 2033).
--define(wxTreeCtrl_GetItemParent, 2034).
--define(wxTreeCtrl_GetPrevSibling, 2035).
--define(wxTreeCtrl_GetPrevVisible, 2036).
--define(wxTreeCtrl_GetRootItem, 2037).
--define(wxTreeCtrl_GetSelection, 2038).
--define(wxTreeCtrl_GetSelections, 2039).
--define(wxTreeCtrl_GetStateImageList, 2040).
--define(wxTreeCtrl_HitTest, 2041).
--define(wxTreeCtrl_InsertItem, 2043).
--define(wxTreeCtrl_IsBold, 2044).
--define(wxTreeCtrl_IsExpanded, 2045).
--define(wxTreeCtrl_IsSelected, 2046).
--define(wxTreeCtrl_IsVisible, 2047).
--define(wxTreeCtrl_ItemHasChildren, 2048).
--define(wxTreeCtrl_PrependItem, 2049).
--define(wxTreeCtrl_ScrollTo, 2050).
--define(wxTreeCtrl_SelectItem_1, 2051).
--define(wxTreeCtrl_SelectItem_2, 2052).
--define(wxTreeCtrl_SetIndent, 2053).
--define(wxTreeCtrl_SetImageList, 2054).
--define(wxTreeCtrl_SetItemBackgroundColour, 2055).
--define(wxTreeCtrl_SetItemBold, 2056).
--define(wxTreeCtrl_SetItemData, 2057).
--define(wxTreeCtrl_SetItemDropHighlight, 2058).
--define(wxTreeCtrl_SetItemFont, 2059).
--define(wxTreeCtrl_SetItemHasChildren, 2060).
--define(wxTreeCtrl_SetItemImage_2, 2061).
--define(wxTreeCtrl_SetItemImage_3, 2062).
--define(wxTreeCtrl_SetItemText, 2063).
--define(wxTreeCtrl_SetItemTextColour, 2064).
--define(wxTreeCtrl_SetStateImageList, 2065).
--define(wxTreeCtrl_SetWindowStyle, 2066).
--define(wxTreeCtrl_SortChildren, 2067).
--define(wxTreeCtrl_Toggle, 2068).
--define(wxTreeCtrl_ToggleItemSelection, 2069).
--define(wxTreeCtrl_Unselect, 2070).
--define(wxTreeCtrl_UnselectAll, 2071).
--define(wxTreeCtrl_UnselectItem, 2072).
--define(wxScrollBar_new_0, 2073).
--define(wxScrollBar_new_3, 2074).
--define(wxScrollBar_destruct, 2075).
--define(wxScrollBar_Create, 2076).
--define(wxScrollBar_GetRange, 2077).
--define(wxScrollBar_GetPageSize, 2078).
--define(wxScrollBar_GetThumbPosition, 2079).
--define(wxScrollBar_GetThumbSize, 2080).
--define(wxScrollBar_SetThumbPosition, 2081).
--define(wxScrollBar_SetScrollbar, 2082).
--define(wxSpinButton_new_2, 2084).
--define(wxSpinButton_new_0, 2085).
--define(wxSpinButton_Create, 2086).
--define(wxSpinButton_GetMax, 2087).
--define(wxSpinButton_GetMin, 2088).
--define(wxSpinButton_GetValue, 2089).
--define(wxSpinButton_SetRange, 2090).
--define(wxSpinButton_SetValue, 2091).
--define(wxSpinButton_destroy, 2092).
--define(wxSpinCtrl_new_0, 2093).
--define(wxSpinCtrl_new_2, 2094).
--define(wxSpinCtrl_Create, 2096).
--define(wxSpinCtrl_SetValue_1_1, 2099).
--define(wxSpinCtrl_SetValue_1_0, 2100).
--define(wxSpinCtrl_GetValue, 2102).
--define(wxSpinCtrl_SetRange, 2104).
--define(wxSpinCtrl_SetSelection, 2105).
--define(wxSpinCtrl_GetMin, 2107).
--define(wxSpinCtrl_GetMax, 2109).
--define(wxSpinCtrl_destroy, 2110).
--define(wxStaticText_new_0, 2111).
--define(wxStaticText_new_4, 2112).
--define(wxStaticText_Create, 2113).
--define(wxStaticText_GetLabel, 2114).
--define(wxStaticText_SetLabel, 2115).
--define(wxStaticText_Wrap, 2116).
--define(wxStaticText_destroy, 2117).
--define(wxStaticBitmap_new_0, 2118).
--define(wxStaticBitmap_new_4, 2119).
--define(wxStaticBitmap_Create, 2120).
--define(wxStaticBitmap_GetBitmap, 2121).
--define(wxStaticBitmap_SetBitmap, 2122).
--define(wxStaticBitmap_destroy, 2123).
--define(wxRadioBox_new, 2124).
--define(wxRadioBox_destruct, 2126).
--define(wxRadioBox_Create, 2127).
--define(wxRadioBox_Enable_2, 2128).
--define(wxRadioBox_Enable_1, 2129).
--define(wxRadioBox_GetSelection, 2130).
--define(wxRadioBox_GetString, 2131).
--define(wxRadioBox_SetSelection, 2132).
--define(wxRadioBox_Show_2, 2133).
--define(wxRadioBox_Show_1, 2134).
--define(wxRadioBox_GetColumnCount, 2135).
--define(wxRadioBox_GetItemHelpText, 2136).
--define(wxRadioBox_GetItemToolTip, 2137).
--define(wxRadioBox_GetItemFromPoint, 2139).
--define(wxRadioBox_GetRowCount, 2140).
--define(wxRadioBox_IsItemEnabled, 2141).
--define(wxRadioBox_IsItemShown, 2142).
--define(wxRadioBox_SetItemHelpText, 2143).
--define(wxRadioBox_SetItemToolTip, 2144).
--define(wxRadioButton_new_0, 2145).
--define(wxRadioButton_new_4, 2146).
--define(wxRadioButton_Create, 2147).
--define(wxRadioButton_GetValue, 2148).
--define(wxRadioButton_SetValue, 2149).
--define(wxRadioButton_destroy, 2150).
--define(wxSlider_new_6, 2152).
--define(wxSlider_new_0, 2153).
--define(wxSlider_Create, 2154).
--define(wxSlider_GetLineSize, 2155).
--define(wxSlider_GetMax, 2156).
--define(wxSlider_GetMin, 2157).
--define(wxSlider_GetPageSize, 2158).
--define(wxSlider_GetThumbLength, 2159).
--define(wxSlider_GetValue, 2160).
--define(wxSlider_SetLineSize, 2161).
--define(wxSlider_SetPageSize, 2162).
--define(wxSlider_SetRange, 2163).
--define(wxSlider_SetThumbLength, 2164).
--define(wxSlider_SetValue, 2165).
--define(wxSlider_destroy, 2166).
--define(wxDialog_new_4, 2168).
--define(wxDialog_new_0, 2169).
--define(wxDialog_destruct, 2171).
--define(wxDialog_Create, 2172).
--define(wxDialog_CreateButtonSizer, 2173).
--define(wxDialog_CreateStdDialogButtonSizer, 2174).
--define(wxDialog_EndModal, 2175).
--define(wxDialog_GetAffirmativeId, 2176).
--define(wxDialog_GetReturnCode, 2177).
--define(wxDialog_IsModal, 2178).
--define(wxDialog_SetAffirmativeId, 2179).
--define(wxDialog_SetReturnCode, 2180).
--define(wxDialog_Show, 2181).
--define(wxDialog_ShowModal, 2182).
--define(wxColourDialog_new_0, 2183).
--define(wxColourDialog_new_2, 2184).
--define(wxColourDialog_destruct, 2185).
--define(wxColourDialog_Create, 2186).
--define(wxColourDialog_GetColourData, 2187).
--define(wxColourData_new_0, 2188).
--define(wxColourData_new_1, 2189).
--define(wxColourData_destruct, 2190).
--define(wxColourData_GetChooseFull, 2191).
--define(wxColourData_GetColour, 2192).
--define(wxColourData_GetCustomColour, 2194).
--define(wxColourData_SetChooseFull, 2195).
--define(wxColourData_SetColour, 2196).
--define(wxColourData_SetCustomColour, 2197).
--define(wxPalette_new_0, 2198).
--define(wxPalette_new_4, 2199).
--define(wxPalette_destruct, 2201).
--define(wxPalette_Create, 2202).
--define(wxPalette_GetColoursCount, 2203).
--define(wxPalette_GetPixel, 2204).
--define(wxPalette_GetRGB, 2205).
--define(wxPalette_IsOk, 2206).
--define(wxDirDialog_new, 2210).
--define(wxDirDialog_destruct, 2211).
--define(wxDirDialog_GetPath, 2212).
--define(wxDirDialog_GetMessage, 2213).
--define(wxDirDialog_SetMessage, 2214).
--define(wxDirDialog_SetPath, 2215).
--define(wxFileDialog_new, 2219).
--define(wxFileDialog_destruct, 2220).
--define(wxFileDialog_GetDirectory, 2221).
--define(wxFileDialog_GetFilename, 2222).
--define(wxFileDialog_GetFilenames, 2223).
--define(wxFileDialog_GetFilterIndex, 2224).
--define(wxFileDialog_GetMessage, 2225).
--define(wxFileDialog_GetPath, 2226).
--define(wxFileDialog_GetPaths, 2227).
--define(wxFileDialog_GetWildcard, 2228).
--define(wxFileDialog_SetDirectory, 2229).
--define(wxFileDialog_SetFilename, 2230).
--define(wxFileDialog_SetFilterIndex, 2231).
--define(wxFileDialog_SetMessage, 2232).
--define(wxFileDialog_SetPath, 2233).
--define(wxFileDialog_SetWildcard, 2234).
--define(wxPickerBase_SetInternalMargin, 2235).
--define(wxPickerBase_GetInternalMargin, 2236).
--define(wxPickerBase_SetTextCtrlProportion, 2237).
--define(wxPickerBase_SetPickerCtrlProportion, 2238).
--define(wxPickerBase_GetTextCtrlProportion, 2239).
--define(wxPickerBase_GetPickerCtrlProportion, 2240).
--define(wxPickerBase_HasTextCtrl, 2241).
--define(wxPickerBase_GetTextCtrl, 2242).
--define(wxPickerBase_IsTextCtrlGrowable, 2243).
--define(wxPickerBase_SetPickerCtrlGrowable, 2244).
--define(wxPickerBase_SetTextCtrlGrowable, 2245).
--define(wxPickerBase_IsPickerCtrlGrowable, 2246).
--define(wxFilePickerCtrl_new_0, 2247).
--define(wxFilePickerCtrl_new_3, 2248).
--define(wxFilePickerCtrl_Create, 2249).
--define(wxFilePickerCtrl_GetPath, 2250).
--define(wxFilePickerCtrl_SetPath, 2251).
--define(wxFilePickerCtrl_destroy, 2252).
--define(wxDirPickerCtrl_new_0, 2253).
--define(wxDirPickerCtrl_new_3, 2254).
--define(wxDirPickerCtrl_Create, 2255).
--define(wxDirPickerCtrl_GetPath, 2256).
--define(wxDirPickerCtrl_SetPath, 2257).
--define(wxDirPickerCtrl_destroy, 2258).
--define(wxColourPickerCtrl_new_0, 2259).
--define(wxColourPickerCtrl_new_3, 2260).
--define(wxColourPickerCtrl_Create, 2261).
--define(wxColourPickerCtrl_GetColour, 2262).
--define(wxColourPickerCtrl_SetColour_1_1, 2263).
--define(wxColourPickerCtrl_SetColour_1_0, 2264).
--define(wxColourPickerCtrl_destroy, 2265).
--define(wxDatePickerCtrl_new_0, 2266).
--define(wxDatePickerCtrl_new_3, 2267).
--define(wxDatePickerCtrl_GetRange, 2268).
--define(wxDatePickerCtrl_GetValue, 2269).
--define(wxDatePickerCtrl_SetRange, 2270).
--define(wxDatePickerCtrl_SetValue, 2271).
--define(wxDatePickerCtrl_destroy, 2272).
--define(wxFontPickerCtrl_new_0, 2273).
--define(wxFontPickerCtrl_new_3, 2274).
--define(wxFontPickerCtrl_Create, 2275).
--define(wxFontPickerCtrl_GetSelectedFont, 2276).
--define(wxFontPickerCtrl_SetSelectedFont, 2277).
--define(wxFontPickerCtrl_GetMaxPointSize, 2278).
--define(wxFontPickerCtrl_SetMaxPointSize, 2279).
--define(wxFontPickerCtrl_destroy, 2280).
--define(wxFindReplaceDialog_new_0, 2283).
--define(wxFindReplaceDialog_new_4, 2284).
--define(wxFindReplaceDialog_destruct, 2285).
--define(wxFindReplaceDialog_Create, 2286).
--define(wxFindReplaceDialog_GetData, 2287).
--define(wxFindReplaceData_new_0, 2288).
--define(wxFindReplaceData_new_1, 2289).
--define(wxFindReplaceData_GetFindString, 2290).
--define(wxFindReplaceData_GetReplaceString, 2291).
--define(wxFindReplaceData_GetFlags, 2292).
--define(wxFindReplaceData_SetFlags, 2293).
--define(wxFindReplaceData_SetFindString, 2294).
--define(wxFindReplaceData_SetReplaceString, 2295).
--define(wxFindReplaceData_destroy, 2296).
--define(wxMultiChoiceDialog_new_0, 2297).
--define(wxMultiChoiceDialog_new_5, 2299).
--define(wxMultiChoiceDialog_GetSelections, 2300).
--define(wxMultiChoiceDialog_SetSelections, 2301).
--define(wxMultiChoiceDialog_destroy, 2302).
--define(wxSingleChoiceDialog_new_0, 2303).
--define(wxSingleChoiceDialog_new_5, 2305).
--define(wxSingleChoiceDialog_GetSelection, 2306).
--define(wxSingleChoiceDialog_GetStringSelection, 2307).
--define(wxSingleChoiceDialog_SetSelection, 2308).
--define(wxSingleChoiceDialog_destroy, 2309).
--define(wxTextEntryDialog_new, 2310).
--define(wxTextEntryDialog_GetValue, 2311).
--define(wxTextEntryDialog_SetValue, 2312).
--define(wxTextEntryDialog_destroy, 2313).
--define(wxPasswordEntryDialog_new, 2314).
--define(wxPasswordEntryDialog_destroy, 2315).
--define(wxFontData_new_0, 2316).
--define(wxFontData_new_1, 2317).
--define(wxFontData_destruct, 2318).
--define(wxFontData_EnableEffects, 2319).
--define(wxFontData_GetAllowSymbols, 2320).
--define(wxFontData_GetColour, 2321).
--define(wxFontData_GetChosenFont, 2322).
--define(wxFontData_GetEnableEffects, 2323).
--define(wxFontData_GetInitialFont, 2324).
--define(wxFontData_GetShowHelp, 2325).
--define(wxFontData_SetAllowSymbols, 2326).
--define(wxFontData_SetChosenFont, 2327).
--define(wxFontData_SetColour, 2328).
--define(wxFontData_SetInitialFont, 2329).
--define(wxFontData_SetRange, 2330).
--define(wxFontData_SetShowHelp, 2331).
--define(wxFontDialog_new_0, 2335).
--define(wxFontDialog_new_2, 2337).
--define(wxFontDialog_Create, 2339).
--define(wxFontDialog_GetFontData, 2340).
--define(wxFontDialog_destroy, 2342).
--define(wxProgressDialog_new, 2343).
--define(wxProgressDialog_destruct, 2344).
--define(wxProgressDialog_Resume, 2345).
--define(wxProgressDialog_Update_2, 2346).
--define(wxProgressDialog_Update_0, 2347).
--define(wxMessageDialog_new, 2348).
--define(wxMessageDialog_destruct, 2349).
--define(wxPageSetupDialog_new, 2350).
--define(wxPageSetupDialog_destruct, 2351).
--define(wxPageSetupDialog_GetPageSetupData, 2352).
--define(wxPageSetupDialog_ShowModal, 2353).
--define(wxPageSetupDialogData_new_0, 2354).
--define(wxPageSetupDialogData_new_1_0, 2355).
--define(wxPageSetupDialogData_new_1_1, 2356).
--define(wxPageSetupDialogData_destruct, 2357).
--define(wxPageSetupDialogData_EnableHelp, 2358).
--define(wxPageSetupDialogData_EnableMargins, 2359).
--define(wxPageSetupDialogData_EnableOrientation, 2360).
--define(wxPageSetupDialogData_EnablePaper, 2361).
--define(wxPageSetupDialogData_EnablePrinter, 2362).
--define(wxPageSetupDialogData_GetDefaultMinMargins, 2363).
--define(wxPageSetupDialogData_GetEnableMargins, 2364).
--define(wxPageSetupDialogData_GetEnableOrientation, 2365).
--define(wxPageSetupDialogData_GetEnablePaper, 2366).
--define(wxPageSetupDialogData_GetEnablePrinter, 2367).
--define(wxPageSetupDialogData_GetEnableHelp, 2368).
--define(wxPageSetupDialogData_GetDefaultInfo, 2369).
--define(wxPageSetupDialogData_GetMarginTopLeft, 2370).
--define(wxPageSetupDialogData_GetMarginBottomRight, 2371).
--define(wxPageSetupDialogData_GetMinMarginTopLeft, 2372).
--define(wxPageSetupDialogData_GetMinMarginBottomRight, 2373).
--define(wxPageSetupDialogData_GetPaperId, 2374).
--define(wxPageSetupDialogData_GetPaperSize, 2375).
--define(wxPageSetupDialogData_GetPrintData, 2377).
--define(wxPageSetupDialogData_IsOk, 2378).
--define(wxPageSetupDialogData_SetDefaultInfo, 2379).
--define(wxPageSetupDialogData_SetDefaultMinMargins, 2380).
--define(wxPageSetupDialogData_SetMarginTopLeft, 2381).
--define(wxPageSetupDialogData_SetMarginBottomRight, 2382).
--define(wxPageSetupDialogData_SetMinMarginTopLeft, 2383).
--define(wxPageSetupDialogData_SetMinMarginBottomRight, 2384).
--define(wxPageSetupDialogData_SetPaperId, 2385).
--define(wxPageSetupDialogData_SetPaperSize_1_1, 2386).
--define(wxPageSetupDialogData_SetPaperSize_1_0, 2387).
--define(wxPageSetupDialogData_SetPrintData, 2388).
--define(wxPrintDialog_new_2_0, 2389).
--define(wxPrintDialog_new_2_1, 2390).
--define(wxPrintDialog_destruct, 2391).
--define(wxPrintDialog_GetPrintDialogData, 2392).
--define(wxPrintDialog_GetPrintDC, 2393).
--define(wxPrintDialogData_new_0, 2394).
--define(wxPrintDialogData_new_1_1, 2395).
--define(wxPrintDialogData_new_1_0, 2396).
--define(wxPrintDialogData_destruct, 2397).
--define(wxPrintDialogData_EnableHelp, 2398).
--define(wxPrintDialogData_EnablePageNumbers, 2399).
--define(wxPrintDialogData_EnablePrintToFile, 2400).
--define(wxPrintDialogData_EnableSelection, 2401).
--define(wxPrintDialogData_GetAllPages, 2402).
--define(wxPrintDialogData_GetCollate, 2403).
--define(wxPrintDialogData_GetFromPage, 2404).
--define(wxPrintDialogData_GetMaxPage, 2405).
--define(wxPrintDialogData_GetMinPage, 2406).
--define(wxPrintDialogData_GetNoCopies, 2407).
--define(wxPrintDialogData_GetPrintData, 2408).
--define(wxPrintDialogData_GetPrintToFile, 2409).
--define(wxPrintDialogData_GetSelection, 2410).
--define(wxPrintDialogData_GetToPage, 2411).
--define(wxPrintDialogData_IsOk, 2412).
--define(wxPrintDialogData_SetCollate, 2413).
--define(wxPrintDialogData_SetFromPage, 2414).
--define(wxPrintDialogData_SetMaxPage, 2415).
--define(wxPrintDialogData_SetMinPage, 2416).
--define(wxPrintDialogData_SetNoCopies, 2417).
--define(wxPrintDialogData_SetPrintData, 2418).
--define(wxPrintDialogData_SetPrintToFile, 2419).
--define(wxPrintDialogData_SetSelection, 2420).
--define(wxPrintDialogData_SetToPage, 2421).
--define(wxPrintData_new_0, 2422).
--define(wxPrintData_new_1, 2423).
--define(wxPrintData_destruct, 2424).
--define(wxPrintData_GetCollate, 2425).
--define(wxPrintData_GetBin, 2426).
--define(wxPrintData_GetColour, 2427).
--define(wxPrintData_GetDuplex, 2428).
--define(wxPrintData_GetNoCopies, 2429).
--define(wxPrintData_GetOrientation, 2430).
--define(wxPrintData_GetPaperId, 2431).
--define(wxPrintData_GetPrinterName, 2432).
--define(wxPrintData_GetQuality, 2433).
--define(wxPrintData_IsOk, 2434).
--define(wxPrintData_SetBin, 2435).
--define(wxPrintData_SetCollate, 2436).
--define(wxPrintData_SetColour, 2437).
--define(wxPrintData_SetDuplex, 2438).
--define(wxPrintData_SetNoCopies, 2439).
--define(wxPrintData_SetOrientation, 2440).
--define(wxPrintData_SetPaperId, 2441).
--define(wxPrintData_SetPrinterName, 2442).
--define(wxPrintData_SetQuality, 2443).
--define(wxPrintPreview_new_2, 2446).
--define(wxPrintPreview_new_3, 2447).
--define(wxPrintPreview_destruct, 2449).
--define(wxPrintPreview_GetCanvas, 2450).
--define(wxPrintPreview_GetCurrentPage, 2451).
--define(wxPrintPreview_GetFrame, 2452).
--define(wxPrintPreview_GetMaxPage, 2453).
--define(wxPrintPreview_GetMinPage, 2454).
--define(wxPrintPreview_GetPrintout, 2455).
--define(wxPrintPreview_GetPrintoutForPrinting, 2456).
--define(wxPrintPreview_IsOk, 2457).
--define(wxPrintPreview_PaintPage, 2458).
--define(wxPrintPreview_Print, 2459).
--define(wxPrintPreview_RenderPage, 2460).
--define(wxPrintPreview_SetCanvas, 2461).
--define(wxPrintPreview_SetCurrentPage, 2462).
--define(wxPrintPreview_SetFrame, 2463).
--define(wxPrintPreview_SetPrintout, 2464).
--define(wxPrintPreview_SetZoom, 2465).
--define(wxPreviewFrame_new, 2466).
--define(wxPreviewFrame_destruct, 2467).
--define(wxPreviewFrame_CreateControlBar, 2468).
--define(wxPreviewFrame_CreateCanvas, 2469).
--define(wxPreviewFrame_Initialize, 2470).
--define(wxPreviewFrame_OnCloseWindow, 2471).
--define(wxPreviewControlBar_new, 2472).
--define(wxPreviewControlBar_destruct, 2473).
--define(wxPreviewControlBar_CreateButtons, 2474).
--define(wxPreviewControlBar_GetPrintPreview, 2475).
--define(wxPreviewControlBar_GetZoomControl, 2476).
--define(wxPreviewControlBar_SetZoomControl, 2477).
--define(wxPrinter_new, 2479).
--define(wxPrinter_CreateAbortWindow, 2480).
--define(wxPrinter_GetAbort, 2481).
--define(wxPrinter_GetLastError, 2482).
--define(wxPrinter_GetPrintDialogData, 2483).
--define(wxPrinter_Print, 2484).
--define(wxPrinter_PrintDialog, 2485).
--define(wxPrinter_ReportError, 2486).
--define(wxPrinter_Setup, 2487).
--define(wxPrinter_destroy, 2488).
--define(wxXmlResource_new_1, 2489).
--define(wxXmlResource_new_2, 2490).
--define(wxXmlResource_destruct, 2491).
--define(wxXmlResource_AttachUnknownControl, 2492).
--define(wxXmlResource_ClearHandlers, 2493).
--define(wxXmlResource_CompareVersion, 2494).
--define(wxXmlResource_Get, 2495).
--define(wxXmlResource_GetFlags, 2496).
--define(wxXmlResource_GetVersion, 2497).
--define(wxXmlResource_GetXRCID, 2498).
--define(wxXmlResource_InitAllHandlers, 2499).
--define(wxXmlResource_Load, 2500).
--define(wxXmlResource_LoadBitmap, 2501).
--define(wxXmlResource_LoadDialog_2, 2502).
--define(wxXmlResource_LoadDialog_3, 2503).
--define(wxXmlResource_LoadFrame_2, 2504).
--define(wxXmlResource_LoadFrame_3, 2505).
--define(wxXmlResource_LoadIcon, 2506).
--define(wxXmlResource_LoadMenu, 2507).
--define(wxXmlResource_LoadMenuBar_2, 2508).
--define(wxXmlResource_LoadMenuBar_1, 2509).
--define(wxXmlResource_LoadPanel_2, 2510).
--define(wxXmlResource_LoadPanel_3, 2511).
--define(wxXmlResource_LoadToolBar, 2512).
--define(wxXmlResource_Set, 2513).
--define(wxXmlResource_SetFlags, 2514).
--define(wxXmlResource_Unload, 2515).
--define(wxXmlResource_xrcctrl, 2516).
--define(wxHtmlEasyPrinting_new, 2517).
--define(wxHtmlEasyPrinting_destruct, 2518).
--define(wxHtmlEasyPrinting_GetPrintData, 2519).
--define(wxHtmlEasyPrinting_GetPageSetupData, 2520).
--define(wxHtmlEasyPrinting_PreviewFile, 2521).
--define(wxHtmlEasyPrinting_PreviewText, 2522).
--define(wxHtmlEasyPrinting_PrintFile, 2523).
--define(wxHtmlEasyPrinting_PrintText, 2524).
--define(wxHtmlEasyPrinting_PageSetup, 2525).
--define(wxHtmlEasyPrinting_SetFonts, 2526).
--define(wxHtmlEasyPrinting_SetHeader, 2527).
--define(wxHtmlEasyPrinting_SetFooter, 2528).
--define(wxGLCanvas_new_2, 2530).
--define(wxGLCanvas_new_3_1, 2531).
--define(wxGLCanvas_new_3_0, 2532).
--define(wxGLCanvas_GetContext, 2533).
--define(wxGLCanvas_SetCurrent, 2535).
--define(wxGLCanvas_SwapBuffers, 2536).
--define(wxGLCanvas_destroy, 2537).
--define(wxAuiManager_new, 2538).
--define(wxAuiManager_destruct, 2539).
--define(wxAuiManager_AddPane_2_1, 2540).
--define(wxAuiManager_AddPane_3, 2541).
--define(wxAuiManager_AddPane_2_0, 2542).
--define(wxAuiManager_DetachPane, 2543).
--define(wxAuiManager_GetAllPanes, 2544).
--define(wxAuiManager_GetArtProvider, 2545).
--define(wxAuiManager_GetDockSizeConstraint, 2546).
--define(wxAuiManager_GetFlags, 2547).
--define(wxAuiManager_GetManagedWindow, 2548).
--define(wxAuiManager_GetManager, 2549).
--define(wxAuiManager_GetPane_1_1, 2550).
--define(wxAuiManager_GetPane_1_0, 2551).
--define(wxAuiManager_HideHint, 2552).
--define(wxAuiManager_InsertPane, 2553).
--define(wxAuiManager_LoadPaneInfo, 2554).
--define(wxAuiManager_LoadPerspective, 2555).
--define(wxAuiManager_SavePaneInfo, 2556).
--define(wxAuiManager_SavePerspective, 2557).
--define(wxAuiManager_SetArtProvider, 2558).
--define(wxAuiManager_SetDockSizeConstraint, 2559).
--define(wxAuiManager_SetFlags, 2560).
--define(wxAuiManager_SetManagedWindow, 2561).
--define(wxAuiManager_ShowHint, 2562).
--define(wxAuiManager_UnInit, 2563).
--define(wxAuiManager_Update, 2564).
--define(wxAuiPaneInfo_new_0, 2565).
--define(wxAuiPaneInfo_new_1, 2566).
--define(wxAuiPaneInfo_destruct, 2567).
--define(wxAuiPaneInfo_BestSize_1, 2568).
--define(wxAuiPaneInfo_BestSize_2, 2569).
--define(wxAuiPaneInfo_Bottom, 2570).
--define(wxAuiPaneInfo_BottomDockable, 2571).
--define(wxAuiPaneInfo_Caption, 2572).
--define(wxAuiPaneInfo_CaptionVisible, 2573).
--define(wxAuiPaneInfo_Centre, 2574).
--define(wxAuiPaneInfo_CentrePane, 2575).
--define(wxAuiPaneInfo_CloseButton, 2576).
--define(wxAuiPaneInfo_DefaultPane, 2577).
--define(wxAuiPaneInfo_DestroyOnClose, 2578).
--define(wxAuiPaneInfo_Direction, 2579).
--define(wxAuiPaneInfo_Dock, 2580).
--define(wxAuiPaneInfo_Dockable, 2581).
--define(wxAuiPaneInfo_Fixed, 2582).
--define(wxAuiPaneInfo_Float, 2583).
--define(wxAuiPaneInfo_Floatable, 2584).
--define(wxAuiPaneInfo_FloatingPosition_1, 2585).
--define(wxAuiPaneInfo_FloatingPosition_2, 2586).
--define(wxAuiPaneInfo_FloatingSize_1, 2587).
--define(wxAuiPaneInfo_FloatingSize_2, 2588).
--define(wxAuiPaneInfo_Gripper, 2589).
--define(wxAuiPaneInfo_GripperTop, 2590).
--define(wxAuiPaneInfo_HasBorder, 2591).
--define(wxAuiPaneInfo_HasCaption, 2592).
--define(wxAuiPaneInfo_HasCloseButton, 2593).
--define(wxAuiPaneInfo_HasFlag, 2594).
--define(wxAuiPaneInfo_HasGripper, 2595).
--define(wxAuiPaneInfo_HasGripperTop, 2596).
--define(wxAuiPaneInfo_HasMaximizeButton, 2597).
--define(wxAuiPaneInfo_HasMinimizeButton, 2598).
--define(wxAuiPaneInfo_HasPinButton, 2599).
--define(wxAuiPaneInfo_Hide, 2600).
--define(wxAuiPaneInfo_IsBottomDockable, 2601).
--define(wxAuiPaneInfo_IsDocked, 2602).
--define(wxAuiPaneInfo_IsFixed, 2603).
--define(wxAuiPaneInfo_IsFloatable, 2604).
--define(wxAuiPaneInfo_IsFloating, 2605).
--define(wxAuiPaneInfo_IsLeftDockable, 2606).
--define(wxAuiPaneInfo_IsMovable, 2607).
--define(wxAuiPaneInfo_IsOk, 2608).
--define(wxAuiPaneInfo_IsResizable, 2609).
--define(wxAuiPaneInfo_IsRightDockable, 2610).
--define(wxAuiPaneInfo_IsShown, 2611).
--define(wxAuiPaneInfo_IsToolbar, 2612).
--define(wxAuiPaneInfo_IsTopDockable, 2613).
--define(wxAuiPaneInfo_Layer, 2614).
--define(wxAuiPaneInfo_Left, 2615).
--define(wxAuiPaneInfo_LeftDockable, 2616).
--define(wxAuiPaneInfo_MaxSize_1, 2617).
--define(wxAuiPaneInfo_MaxSize_2, 2618).
--define(wxAuiPaneInfo_MaximizeButton, 2619).
--define(wxAuiPaneInfo_MinSize_1, 2620).
--define(wxAuiPaneInfo_MinSize_2, 2621).
--define(wxAuiPaneInfo_MinimizeButton, 2622).
--define(wxAuiPaneInfo_Movable, 2623).
--define(wxAuiPaneInfo_Name, 2624).
--define(wxAuiPaneInfo_PaneBorder, 2625).
--define(wxAuiPaneInfo_PinButton, 2626).
--define(wxAuiPaneInfo_Position, 2627).
--define(wxAuiPaneInfo_Resizable, 2628).
--define(wxAuiPaneInfo_Right, 2629).
--define(wxAuiPaneInfo_RightDockable, 2630).
--define(wxAuiPaneInfo_Row, 2631).
--define(wxAuiPaneInfo_SafeSet, 2632).
--define(wxAuiPaneInfo_SetFlag, 2633).
--define(wxAuiPaneInfo_Show, 2634).
--define(wxAuiPaneInfo_ToolbarPane, 2635).
--define(wxAuiPaneInfo_Top, 2636).
--define(wxAuiPaneInfo_TopDockable, 2637).
--define(wxAuiPaneInfo_Window, 2638).
--define(wxAuiNotebook_new_0, 2639).
--define(wxAuiNotebook_new_2, 2640).
--define(wxAuiNotebook_AddPage, 2641).
--define(wxAuiNotebook_Create, 2642).
--define(wxAuiNotebook_DeletePage, 2643).
--define(wxAuiNotebook_GetArtProvider, 2644).
--define(wxAuiNotebook_GetPage, 2645).
--define(wxAuiNotebook_GetPageBitmap, 2646).
--define(wxAuiNotebook_GetPageCount, 2647).
--define(wxAuiNotebook_GetPageIndex, 2648).
--define(wxAuiNotebook_GetPageText, 2649).
--define(wxAuiNotebook_GetSelection, 2650).
--define(wxAuiNotebook_InsertPage, 2651).
--define(wxAuiNotebook_RemovePage, 2652).
--define(wxAuiNotebook_SetArtProvider, 2653).
--define(wxAuiNotebook_SetFont, 2654).
--define(wxAuiNotebook_SetPageBitmap, 2655).
--define(wxAuiNotebook_SetPageText, 2656).
--define(wxAuiNotebook_SetSelection, 2657).
--define(wxAuiNotebook_SetTabCtrlHeight, 2658).
--define(wxAuiNotebook_SetUniformBitmapSize, 2659).
--define(wxAuiNotebook_destroy, 2660).
--define(wxMDIParentFrame_new_0, 2661).
--define(wxMDIParentFrame_new_4, 2662).
--define(wxMDIParentFrame_destruct, 2663).
--define(wxMDIParentFrame_ActivateNext, 2664).
--define(wxMDIParentFrame_ActivatePrevious, 2665).
--define(wxMDIParentFrame_ArrangeIcons, 2666).
--define(wxMDIParentFrame_Cascade, 2667).
--define(wxMDIParentFrame_Create, 2668).
--define(wxMDIParentFrame_GetActiveChild, 2669).
--define(wxMDIParentFrame_GetClientWindow, 2670).
--define(wxMDIParentFrame_Tile, 2671).
--define(wxMDIChildFrame_new_0, 2672).
--define(wxMDIChildFrame_new_4, 2673).
--define(wxMDIChildFrame_destruct, 2674).
--define(wxMDIChildFrame_Activate, 2675).
--define(wxMDIChildFrame_Create, 2676).
--define(wxMDIChildFrame_Maximize, 2677).
--define(wxMDIChildFrame_Restore, 2678).
--define(wxMDIClientWindow_new_0, 2679).
--define(wxMDIClientWindow_new_2, 2680).
--define(wxMDIClientWindow_destruct, 2681).
--define(wxMDIClientWindow_CreateClient, 2682).
--define(wxLayoutAlgorithm_new, 2683).
--define(wxLayoutAlgorithm_LayoutFrame, 2684).
--define(wxLayoutAlgorithm_LayoutMDIFrame, 2685).
--define(wxLayoutAlgorithm_LayoutWindow, 2686).
--define(wxLayoutAlgorithm_destroy, 2687).
--define(wxEvent_GetId, 2688).
--define(wxEvent_GetSkipped, 2689).
--define(wxEvent_GetTimestamp, 2690).
--define(wxEvent_IsCommandEvent, 2691).
--define(wxEvent_ResumePropagation, 2692).
--define(wxEvent_ShouldPropagate, 2693).
--define(wxEvent_Skip, 2694).
--define(wxEvent_StopPropagation, 2695).
--define(wxCommandEvent_getClientData, 2696).
--define(wxCommandEvent_GetExtraLong, 2697).
--define(wxCommandEvent_GetInt, 2698).
--define(wxCommandEvent_GetSelection, 2699).
--define(wxCommandEvent_GetString, 2700).
--define(wxCommandEvent_IsChecked, 2701).
--define(wxCommandEvent_IsSelection, 2702).
--define(wxCommandEvent_SetInt, 2703).
--define(wxCommandEvent_SetString, 2704).
--define(wxScrollEvent_GetOrientation, 2705).
--define(wxScrollEvent_GetPosition, 2706).
--define(wxScrollWinEvent_GetOrientation, 2707).
--define(wxScrollWinEvent_GetPosition, 2708).
--define(wxMouseEvent_AltDown, 2709).
--define(wxMouseEvent_Button, 2710).
--define(wxMouseEvent_ButtonDClick, 2711).
--define(wxMouseEvent_ButtonDown, 2712).
--define(wxMouseEvent_ButtonUp, 2713).
--define(wxMouseEvent_CmdDown, 2714).
--define(wxMouseEvent_ControlDown, 2715).
--define(wxMouseEvent_Dragging, 2716).
--define(wxMouseEvent_Entering, 2717).
--define(wxMouseEvent_GetButton, 2718).
--define(wxMouseEvent_GetPosition, 2721).
--define(wxMouseEvent_GetLogicalPosition, 2722).
--define(wxMouseEvent_GetLinesPerAction, 2723).
--define(wxMouseEvent_GetWheelRotation, 2724).
--define(wxMouseEvent_GetWheelDelta, 2725).
--define(wxMouseEvent_GetX, 2726).
--define(wxMouseEvent_GetY, 2727).
--define(wxMouseEvent_IsButton, 2728).
--define(wxMouseEvent_IsPageScroll, 2729).
--define(wxMouseEvent_Leaving, 2730).
--define(wxMouseEvent_LeftDClick, 2731).
--define(wxMouseEvent_LeftDown, 2732).
--define(wxMouseEvent_LeftIsDown, 2733).
--define(wxMouseEvent_LeftUp, 2734).
--define(wxMouseEvent_MetaDown, 2735).
--define(wxMouseEvent_MiddleDClick, 2736).
--define(wxMouseEvent_MiddleDown, 2737).
--define(wxMouseEvent_MiddleIsDown, 2738).
--define(wxMouseEvent_MiddleUp, 2739).
--define(wxMouseEvent_Moving, 2740).
--define(wxMouseEvent_RightDClick, 2741).
--define(wxMouseEvent_RightDown, 2742).
--define(wxMouseEvent_RightIsDown, 2743).
--define(wxMouseEvent_RightUp, 2744).
--define(wxMouseEvent_ShiftDown, 2745).
--define(wxSetCursorEvent_GetCursor, 2746).
--define(wxSetCursorEvent_GetX, 2747).
--define(wxSetCursorEvent_GetY, 2748).
--define(wxSetCursorEvent_HasCursor, 2749).
--define(wxSetCursorEvent_SetCursor, 2750).
--define(wxKeyEvent_AltDown, 2751).
--define(wxKeyEvent_CmdDown, 2752).
--define(wxKeyEvent_ControlDown, 2753).
--define(wxKeyEvent_GetKeyCode, 2754).
--define(wxKeyEvent_GetModifiers, 2755).
--define(wxKeyEvent_GetPosition, 2758).
--define(wxKeyEvent_GetRawKeyCode, 2759).
--define(wxKeyEvent_GetRawKeyFlags, 2760).
--define(wxKeyEvent_GetUnicodeKey, 2761).
--define(wxKeyEvent_GetX, 2762).
--define(wxKeyEvent_GetY, 2763).
--define(wxKeyEvent_HasModifiers, 2764).
--define(wxKeyEvent_MetaDown, 2765).
--define(wxKeyEvent_ShiftDown, 2766).
--define(wxSizeEvent_GetSize, 2767).
--define(wxMoveEvent_GetPosition, 2768).
--define(wxEraseEvent_GetDC, 2769).
--define(wxFocusEvent_GetWindow, 2770).
--define(wxChildFocusEvent_GetWindow, 2771).
--define(wxMenuEvent_GetMenu, 2772).
--define(wxMenuEvent_GetMenuId, 2773).
--define(wxMenuEvent_IsPopup, 2774).
--define(wxCloseEvent_CanVeto, 2775).
--define(wxCloseEvent_GetLoggingOff, 2776).
--define(wxCloseEvent_SetCanVeto, 2777).
--define(wxCloseEvent_SetLoggingOff, 2778).
--define(wxCloseEvent_Veto, 2779).
--define(wxShowEvent_SetShow, 2780).
--define(wxShowEvent_GetShow, 2781).
--define(wxIconizeEvent_Iconized, 2782).
--define(wxJoystickEvent_ButtonDown, 2783).
--define(wxJoystickEvent_ButtonIsDown, 2784).
--define(wxJoystickEvent_ButtonUp, 2785).
--define(wxJoystickEvent_GetButtonChange, 2786).
--define(wxJoystickEvent_GetButtonState, 2787).
--define(wxJoystickEvent_GetJoystick, 2788).
--define(wxJoystickEvent_GetPosition, 2789).
--define(wxJoystickEvent_GetZPosition, 2790).
--define(wxJoystickEvent_IsButton, 2791).
--define(wxJoystickEvent_IsMove, 2792).
--define(wxJoystickEvent_IsZMove, 2793).
--define(wxUpdateUIEvent_CanUpdate, 2794).
--define(wxUpdateUIEvent_Check, 2795).
--define(wxUpdateUIEvent_Enable, 2796).
--define(wxUpdateUIEvent_Show, 2797).
--define(wxUpdateUIEvent_GetChecked, 2798).
--define(wxUpdateUIEvent_GetEnabled, 2799).
--define(wxUpdateUIEvent_GetShown, 2800).
--define(wxUpdateUIEvent_GetSetChecked, 2801).
--define(wxUpdateUIEvent_GetSetEnabled, 2802).
--define(wxUpdateUIEvent_GetSetShown, 2803).
--define(wxUpdateUIEvent_GetSetText, 2804).
--define(wxUpdateUIEvent_GetText, 2805).
--define(wxUpdateUIEvent_GetMode, 2806).
--define(wxUpdateUIEvent_GetUpdateInterval, 2807).
--define(wxUpdateUIEvent_ResetUpdateTime, 2808).
--define(wxUpdateUIEvent_SetMode, 2809).
--define(wxUpdateUIEvent_SetText, 2810).
--define(wxUpdateUIEvent_SetUpdateInterval, 2811).
--define(wxMouseCaptureChangedEvent_GetCapturedWindow, 2812).
--define(wxPaletteChangedEvent_SetChangedWindow, 2813).
--define(wxPaletteChangedEvent_GetChangedWindow, 2814).
--define(wxQueryNewPaletteEvent_SetPaletteRealized, 2815).
--define(wxQueryNewPaletteEvent_GetPaletteRealized, 2816).
--define(wxNavigationKeyEvent_GetDirection, 2817).
--define(wxNavigationKeyEvent_SetDirection, 2818).
--define(wxNavigationKeyEvent_IsWindowChange, 2819).
--define(wxNavigationKeyEvent_SetWindowChange, 2820).
--define(wxNavigationKeyEvent_IsFromTab, 2821).
--define(wxNavigationKeyEvent_SetFromTab, 2822).
--define(wxNavigationKeyEvent_GetCurrentFocus, 2823).
--define(wxNavigationKeyEvent_SetCurrentFocus, 2824).
--define(wxHelpEvent_GetOrigin, 2825).
--define(wxHelpEvent_GetPosition, 2826).
--define(wxHelpEvent_SetOrigin, 2827).
--define(wxHelpEvent_SetPosition, 2828).
--define(wxContextMenuEvent_GetPosition, 2829).
--define(wxContextMenuEvent_SetPosition, 2830).
--define(wxIdleEvent_CanSend, 2831).
--define(wxIdleEvent_GetMode, 2832).
--define(wxIdleEvent_RequestMore, 2833).
--define(wxIdleEvent_MoreRequested, 2834).
--define(wxIdleEvent_SetMode, 2835).
--define(wxGridEvent_AltDown, 2836).
--define(wxGridEvent_ControlDown, 2837).
--define(wxGridEvent_GetCol, 2838).
--define(wxGridEvent_GetPosition, 2839).
--define(wxGridEvent_GetRow, 2840).
--define(wxGridEvent_MetaDown, 2841).
--define(wxGridEvent_Selecting, 2842).
--define(wxGridEvent_ShiftDown, 2843).
--define(wxNotifyEvent_Allow, 2844).
--define(wxNotifyEvent_IsAllowed, 2845).
--define(wxNotifyEvent_Veto, 2846).
--define(wxSashEvent_GetEdge, 2847).
--define(wxSashEvent_GetDragRect, 2848).
--define(wxSashEvent_GetDragStatus, 2849).
--define(wxListEvent_GetCacheFrom, 2850).
--define(wxListEvent_GetCacheTo, 2851).
--define(wxListEvent_GetKeyCode, 2852).
--define(wxListEvent_GetIndex, 2853).
--define(wxListEvent_GetColumn, 2854).
--define(wxListEvent_GetPoint, 2855).
--define(wxListEvent_GetLabel, 2856).
--define(wxListEvent_GetText, 2857).
--define(wxListEvent_GetImage, 2858).
--define(wxListEvent_GetData, 2859).
--define(wxListEvent_GetMask, 2860).
--define(wxListEvent_GetItem, 2861).
--define(wxListEvent_IsEditCancelled, 2862).
--define(wxDateEvent_GetDate, 2863).
--define(wxCalendarEvent_GetWeekDay, 2864).
--define(wxFileDirPickerEvent_GetPath, 2865).
--define(wxColourPickerEvent_GetColour, 2866).
--define(wxFontPickerEvent_GetFont, 2867).
--define(wxStyledTextEvent_GetPosition, 2868).
--define(wxStyledTextEvent_GetKey, 2869).
--define(wxStyledTextEvent_GetModifiers, 2870).
--define(wxStyledTextEvent_GetModificationType, 2871).
--define(wxStyledTextEvent_GetText, 2872).
--define(wxStyledTextEvent_GetLength, 2873).
--define(wxStyledTextEvent_GetLinesAdded, 2874).
--define(wxStyledTextEvent_GetLine, 2875).
--define(wxStyledTextEvent_GetFoldLevelNow, 2876).
--define(wxStyledTextEvent_GetFoldLevelPrev, 2877).
--define(wxStyledTextEvent_GetMargin, 2878).
--define(wxStyledTextEvent_GetMessage, 2879).
--define(wxStyledTextEvent_GetWParam, 2880).
--define(wxStyledTextEvent_GetLParam, 2881).
--define(wxStyledTextEvent_GetListType, 2882).
--define(wxStyledTextEvent_GetX, 2883).
--define(wxStyledTextEvent_GetY, 2884).
--define(wxStyledTextEvent_GetDragText, 2885).
--define(wxStyledTextEvent_GetDragAllowMove, 2886).
--define(wxStyledTextEvent_GetDragResult, 2887).
--define(wxStyledTextEvent_GetShift, 2888).
--define(wxStyledTextEvent_GetControl, 2889).
--define(wxStyledTextEvent_GetAlt, 2890).
--define(utils_wxGetKeyState, 2891).
--define(utils_wxGetMousePosition, 2892).
--define(utils_wxGetMouseState, 2893).
--define(utils_wxSetDetectableAutoRepeat, 2894).
--define(utils_wxBell, 2895).
--define(utils_wxFindMenuItemId, 2896).
--define(utils_wxGenericFindWindowAtPoint, 2897).
--define(utils_wxFindWindowAtPoint, 2898).
--define(utils_wxBeginBusyCursor, 2899).
--define(utils_wxEndBusyCursor, 2900).
--define(utils_wxIsBusy, 2901).
--define(utils_wxShutdown, 2902).
--define(utils_wxShell, 2903).
--define(utils_wxLaunchDefaultBrowser, 2904).
--define(utils_wxGetEmailAddress, 2905).
--define(utils_wxGetUserId, 2906).
--define(utils_wxGetHomeDir, 2907).
--define(utils_wxNewId, 2908).
--define(utils_wxRegisterId, 2909).
--define(utils_wxGetCurrentId, 2910).
--define(utils_wxGetOsDescription, 2911).
--define(utils_wxIsPlatformLittleEndian, 2912).
--define(utils_wxIsPlatform64Bit, 2913).
--define(wxPrintout_new, 2914).
--define(wxPrintout_destruct, 2915).
--define(wxPrintout_GetDC, 2916).
--define(wxPrintout_GetPageSizeMM, 2917).
--define(wxPrintout_GetPageSizePixels, 2918).
--define(wxPrintout_GetPaperRectPixels, 2919).
--define(wxPrintout_GetPPIPrinter, 2920).
--define(wxPrintout_GetPPIScreen, 2921).
--define(wxPrintout_GetTitle, 2922).
--define(wxPrintout_IsPreview, 2923).
--define(wxPrintout_FitThisSizeToPaper, 2924).
--define(wxPrintout_FitThisSizeToPage, 2925).
--define(wxPrintout_FitThisSizeToPageMargins, 2926).
--define(wxPrintout_MapScreenSizeToPaper, 2927).
--define(wxPrintout_MapScreenSizeToPage, 2928).
--define(wxPrintout_MapScreenSizeToPageMargins, 2929).
--define(wxPrintout_MapScreenSizeToDevice, 2930).
--define(wxPrintout_GetLogicalPaperRect, 2931).
--define(wxPrintout_GetLogicalPageRect, 2932).
--define(wxPrintout_GetLogicalPageMarginsRect, 2933).
--define(wxPrintout_SetLogicalOrigin, 2934).
--define(wxPrintout_OffsetLogicalOrigin, 2935).
--define(wxStyledTextCtrl_new_2, 2936).
--define(wxStyledTextCtrl_new_0, 2937).
--define(wxStyledTextCtrl_destruct, 2938).
--define(wxStyledTextCtrl_Create, 2939).
--define(wxStyledTextCtrl_AddText, 2940).
--define(wxStyledTextCtrl_AddStyledText, 2941).
--define(wxStyledTextCtrl_InsertText, 2942).
--define(wxStyledTextCtrl_ClearAll, 2943).
--define(wxStyledTextCtrl_ClearDocumentStyle, 2944).
--define(wxStyledTextCtrl_GetLength, 2945).
--define(wxStyledTextCtrl_GetCharAt, 2946).
--define(wxStyledTextCtrl_GetCurrentPos, 2947).
--define(wxStyledTextCtrl_GetAnchor, 2948).
--define(wxStyledTextCtrl_GetStyleAt, 2949).
--define(wxStyledTextCtrl_Redo, 2950).
--define(wxStyledTextCtrl_SetUndoCollection, 2951).
--define(wxStyledTextCtrl_SelectAll, 2952).
--define(wxStyledTextCtrl_SetSavePoint, 2953).
--define(wxStyledTextCtrl_GetStyledText, 2954).
--define(wxStyledTextCtrl_CanRedo, 2955).
--define(wxStyledTextCtrl_MarkerLineFromHandle, 2956).
--define(wxStyledTextCtrl_MarkerDeleteHandle, 2957).
--define(wxStyledTextCtrl_GetUndoCollection, 2958).
--define(wxStyledTextCtrl_GetViewWhiteSpace, 2959).
--define(wxStyledTextCtrl_SetViewWhiteSpace, 2960).
--define(wxStyledTextCtrl_PositionFromPoint, 2961).
--define(wxStyledTextCtrl_PositionFromPointClose, 2962).
--define(wxStyledTextCtrl_GotoLine, 2963).
--define(wxStyledTextCtrl_GotoPos, 2964).
--define(wxStyledTextCtrl_SetAnchor, 2965).
--define(wxStyledTextCtrl_GetCurLine, 2966).
--define(wxStyledTextCtrl_GetEndStyled, 2967).
--define(wxStyledTextCtrl_ConvertEOLs, 2968).
--define(wxStyledTextCtrl_GetEOLMode, 2969).
--define(wxStyledTextCtrl_SetEOLMode, 2970).
--define(wxStyledTextCtrl_StartStyling, 2971).
--define(wxStyledTextCtrl_SetStyling, 2972).
--define(wxStyledTextCtrl_GetBufferedDraw, 2973).
--define(wxStyledTextCtrl_SetBufferedDraw, 2974).
--define(wxStyledTextCtrl_SetTabWidth, 2975).
--define(wxStyledTextCtrl_GetTabWidth, 2976).
--define(wxStyledTextCtrl_SetCodePage, 2977).
--define(wxStyledTextCtrl_MarkerDefine, 2978).
--define(wxStyledTextCtrl_MarkerSetForeground, 2979).
--define(wxStyledTextCtrl_MarkerSetBackground, 2980).
--define(wxStyledTextCtrl_MarkerAdd, 2981).
--define(wxStyledTextCtrl_MarkerDelete, 2982).
--define(wxStyledTextCtrl_MarkerDeleteAll, 2983).
--define(wxStyledTextCtrl_MarkerGet, 2984).
--define(wxStyledTextCtrl_MarkerNext, 2985).
--define(wxStyledTextCtrl_MarkerPrevious, 2986).
--define(wxStyledTextCtrl_MarkerDefineBitmap, 2987).
--define(wxStyledTextCtrl_MarkerAddSet, 2988).
--define(wxStyledTextCtrl_MarkerSetAlpha, 2989).
--define(wxStyledTextCtrl_SetMarginType, 2990).
--define(wxStyledTextCtrl_GetMarginType, 2991).
--define(wxStyledTextCtrl_SetMarginWidth, 2992).
--define(wxStyledTextCtrl_GetMarginWidth, 2993).
--define(wxStyledTextCtrl_SetMarginMask, 2994).
--define(wxStyledTextCtrl_GetMarginMask, 2995).
--define(wxStyledTextCtrl_SetMarginSensitive, 2996).
--define(wxStyledTextCtrl_GetMarginSensitive, 2997).
--define(wxStyledTextCtrl_StyleClearAll, 2998).
--define(wxStyledTextCtrl_StyleSetForeground, 2999).
--define(wxStyledTextCtrl_StyleSetBackground, 3000).
--define(wxStyledTextCtrl_StyleSetBold, 3001).
--define(wxStyledTextCtrl_StyleSetItalic, 3002).
--define(wxStyledTextCtrl_StyleSetSize, 3003).
--define(wxStyledTextCtrl_StyleSetFaceName, 3004).
--define(wxStyledTextCtrl_StyleSetEOLFilled, 3005).
--define(wxStyledTextCtrl_StyleResetDefault, 3006).
--define(wxStyledTextCtrl_StyleSetUnderline, 3007).
--define(wxStyledTextCtrl_StyleSetCase, 3008).
--define(wxStyledTextCtrl_StyleSetHotSpot, 3009).
--define(wxStyledTextCtrl_SetSelForeground, 3010).
--define(wxStyledTextCtrl_SetSelBackground, 3011).
--define(wxStyledTextCtrl_GetSelAlpha, 3012).
--define(wxStyledTextCtrl_SetSelAlpha, 3013).
--define(wxStyledTextCtrl_SetCaretForeground, 3014).
--define(wxStyledTextCtrl_CmdKeyAssign, 3015).
--define(wxStyledTextCtrl_CmdKeyClear, 3016).
--define(wxStyledTextCtrl_CmdKeyClearAll, 3017).
--define(wxStyledTextCtrl_SetStyleBytes, 3018).
--define(wxStyledTextCtrl_StyleSetVisible, 3019).
--define(wxStyledTextCtrl_GetCaretPeriod, 3020).
--define(wxStyledTextCtrl_SetCaretPeriod, 3021).
--define(wxStyledTextCtrl_SetWordChars, 3022).
--define(wxStyledTextCtrl_BeginUndoAction, 3023).
--define(wxStyledTextCtrl_EndUndoAction, 3024).
--define(wxStyledTextCtrl_IndicatorSetStyle, 3025).
--define(wxStyledTextCtrl_IndicatorGetStyle, 3026).
--define(wxStyledTextCtrl_IndicatorSetForeground, 3027).
--define(wxStyledTextCtrl_IndicatorGetForeground, 3028).
--define(wxStyledTextCtrl_SetWhitespaceForeground, 3029).
--define(wxStyledTextCtrl_SetWhitespaceBackground, 3030).
--define(wxStyledTextCtrl_GetStyleBits, 3031).
--define(wxStyledTextCtrl_SetLineState, 3032).
--define(wxStyledTextCtrl_GetLineState, 3033).
--define(wxStyledTextCtrl_GetMaxLineState, 3034).
--define(wxStyledTextCtrl_GetCaretLineVisible, 3035).
--define(wxStyledTextCtrl_SetCaretLineVisible, 3036).
--define(wxStyledTextCtrl_GetCaretLineBackground, 3037).
--define(wxStyledTextCtrl_SetCaretLineBackground, 3038).
--define(wxStyledTextCtrl_AutoCompShow, 3039).
--define(wxStyledTextCtrl_AutoCompCancel, 3040).
--define(wxStyledTextCtrl_AutoCompActive, 3041).
--define(wxStyledTextCtrl_AutoCompPosStart, 3042).
--define(wxStyledTextCtrl_AutoCompComplete, 3043).
--define(wxStyledTextCtrl_AutoCompStops, 3044).
--define(wxStyledTextCtrl_AutoCompSetSeparator, 3045).
--define(wxStyledTextCtrl_AutoCompGetSeparator, 3046).
--define(wxStyledTextCtrl_AutoCompSelect, 3047).
--define(wxStyledTextCtrl_AutoCompSetCancelAtStart, 3048).
--define(wxStyledTextCtrl_AutoCompGetCancelAtStart, 3049).
--define(wxStyledTextCtrl_AutoCompSetFillUps, 3050).
--define(wxStyledTextCtrl_AutoCompSetChooseSingle, 3051).
--define(wxStyledTextCtrl_AutoCompGetChooseSingle, 3052).
--define(wxStyledTextCtrl_AutoCompSetIgnoreCase, 3053).
--define(wxStyledTextCtrl_AutoCompGetIgnoreCase, 3054).
--define(wxStyledTextCtrl_UserListShow, 3055).
--define(wxStyledTextCtrl_AutoCompSetAutoHide, 3056).
--define(wxStyledTextCtrl_AutoCompGetAutoHide, 3057).
--define(wxStyledTextCtrl_AutoCompSetDropRestOfWord, 3058).
--define(wxStyledTextCtrl_AutoCompGetDropRestOfWord, 3059).
--define(wxStyledTextCtrl_RegisterImage, 3060).
--define(wxStyledTextCtrl_ClearRegisteredImages, 3061).
--define(wxStyledTextCtrl_AutoCompGetTypeSeparator, 3062).
--define(wxStyledTextCtrl_AutoCompSetTypeSeparator, 3063).
--define(wxStyledTextCtrl_AutoCompSetMaxWidth, 3064).
--define(wxStyledTextCtrl_AutoCompGetMaxWidth, 3065).
--define(wxStyledTextCtrl_AutoCompSetMaxHeight, 3066).
--define(wxStyledTextCtrl_AutoCompGetMaxHeight, 3067).
--define(wxStyledTextCtrl_SetIndent, 3068).
--define(wxStyledTextCtrl_GetIndent, 3069).
--define(wxStyledTextCtrl_SetUseTabs, 3070).
--define(wxStyledTextCtrl_GetUseTabs, 3071).
--define(wxStyledTextCtrl_SetLineIndentation, 3072).
--define(wxStyledTextCtrl_GetLineIndentation, 3073).
--define(wxStyledTextCtrl_GetLineIndentPosition, 3074).
--define(wxStyledTextCtrl_GetColumn, 3075).
--define(wxStyledTextCtrl_SetUseHorizontalScrollBar, 3076).
--define(wxStyledTextCtrl_GetUseHorizontalScrollBar, 3077).
--define(wxStyledTextCtrl_SetIndentationGuides, 3078).
--define(wxStyledTextCtrl_GetIndentationGuides, 3079).
--define(wxStyledTextCtrl_SetHighlightGuide, 3080).
--define(wxStyledTextCtrl_GetHighlightGuide, 3081).
--define(wxStyledTextCtrl_GetLineEndPosition, 3082).
--define(wxStyledTextCtrl_GetCodePage, 3083).
--define(wxStyledTextCtrl_GetCaretForeground, 3084).
--define(wxStyledTextCtrl_GetReadOnly, 3085).
--define(wxStyledTextCtrl_SetCurrentPos, 3086).
--define(wxStyledTextCtrl_SetSelectionStart, 3087).
--define(wxStyledTextCtrl_GetSelectionStart, 3088).
--define(wxStyledTextCtrl_SetSelectionEnd, 3089).
--define(wxStyledTextCtrl_GetSelectionEnd, 3090).
--define(wxStyledTextCtrl_SetPrintMagnification, 3091).
--define(wxStyledTextCtrl_GetPrintMagnification, 3092).
--define(wxStyledTextCtrl_SetPrintColourMode, 3093).
--define(wxStyledTextCtrl_GetPrintColourMode, 3094).
--define(wxStyledTextCtrl_FindText, 3095).
--define(wxStyledTextCtrl_FormatRange, 3096).
--define(wxStyledTextCtrl_GetFirstVisibleLine, 3097).
--define(wxStyledTextCtrl_GetLine, 3098).
--define(wxStyledTextCtrl_GetLineCount, 3099).
--define(wxStyledTextCtrl_SetMarginLeft, 3100).
--define(wxStyledTextCtrl_GetMarginLeft, 3101).
--define(wxStyledTextCtrl_SetMarginRight, 3102).
--define(wxStyledTextCtrl_GetMarginRight, 3103).
--define(wxStyledTextCtrl_GetModify, 3104).
--define(wxStyledTextCtrl_SetSelection, 3105).
--define(wxStyledTextCtrl_GetSelectedText, 3106).
--define(wxStyledTextCtrl_GetTextRange, 3107).
--define(wxStyledTextCtrl_HideSelection, 3108).
--define(wxStyledTextCtrl_LineFromPosition, 3109).
--define(wxStyledTextCtrl_PositionFromLine, 3110).
--define(wxStyledTextCtrl_LineScroll, 3111).
--define(wxStyledTextCtrl_EnsureCaretVisible, 3112).
--define(wxStyledTextCtrl_ReplaceSelection, 3113).
--define(wxStyledTextCtrl_SetReadOnly, 3114).
--define(wxStyledTextCtrl_CanPaste, 3115).
--define(wxStyledTextCtrl_CanUndo, 3116).
--define(wxStyledTextCtrl_EmptyUndoBuffer, 3117).
--define(wxStyledTextCtrl_Undo, 3118).
--define(wxStyledTextCtrl_Cut, 3119).
--define(wxStyledTextCtrl_Copy, 3120).
--define(wxStyledTextCtrl_Paste, 3121).
--define(wxStyledTextCtrl_Clear, 3122).
--define(wxStyledTextCtrl_SetText, 3123).
--define(wxStyledTextCtrl_GetText, 3124).
--define(wxStyledTextCtrl_GetTextLength, 3125).
--define(wxStyledTextCtrl_GetOvertype, 3126).
--define(wxStyledTextCtrl_SetCaretWidth, 3127).
--define(wxStyledTextCtrl_GetCaretWidth, 3128).
--define(wxStyledTextCtrl_SetTargetStart, 3129).
--define(wxStyledTextCtrl_GetTargetStart, 3130).
--define(wxStyledTextCtrl_SetTargetEnd, 3131).
--define(wxStyledTextCtrl_GetTargetEnd, 3132).
--define(wxStyledTextCtrl_ReplaceTarget, 3133).
--define(wxStyledTextCtrl_SearchInTarget, 3134).
--define(wxStyledTextCtrl_SetSearchFlags, 3135).
--define(wxStyledTextCtrl_GetSearchFlags, 3136).
--define(wxStyledTextCtrl_CallTipShow, 3137).
--define(wxStyledTextCtrl_CallTipCancel, 3138).
--define(wxStyledTextCtrl_CallTipActive, 3139).
--define(wxStyledTextCtrl_CallTipPosAtStart, 3140).
--define(wxStyledTextCtrl_CallTipSetHighlight, 3141).
--define(wxStyledTextCtrl_CallTipSetBackground, 3142).
--define(wxStyledTextCtrl_CallTipSetForeground, 3143).
--define(wxStyledTextCtrl_CallTipSetForegroundHighlight, 3144).
--define(wxStyledTextCtrl_CallTipUseStyle, 3145).
--define(wxStyledTextCtrl_VisibleFromDocLine, 3146).
--define(wxStyledTextCtrl_DocLineFromVisible, 3147).
--define(wxStyledTextCtrl_WrapCount, 3148).
--define(wxStyledTextCtrl_SetFoldLevel, 3149).
--define(wxStyledTextCtrl_GetFoldLevel, 3150).
--define(wxStyledTextCtrl_GetLastChild, 3151).
--define(wxStyledTextCtrl_GetFoldParent, 3152).
--define(wxStyledTextCtrl_ShowLines, 3153).
--define(wxStyledTextCtrl_HideLines, 3154).
--define(wxStyledTextCtrl_GetLineVisible, 3155).
--define(wxStyledTextCtrl_SetFoldExpanded, 3156).
--define(wxStyledTextCtrl_GetFoldExpanded, 3157).
--define(wxStyledTextCtrl_ToggleFold, 3158).
--define(wxStyledTextCtrl_EnsureVisible, 3159).
--define(wxStyledTextCtrl_SetFoldFlags, 3160).
--define(wxStyledTextCtrl_EnsureVisibleEnforcePolicy, 3161).
--define(wxStyledTextCtrl_SetTabIndents, 3162).
--define(wxStyledTextCtrl_GetTabIndents, 3163).
--define(wxStyledTextCtrl_SetBackSpaceUnIndents, 3164).
--define(wxStyledTextCtrl_GetBackSpaceUnIndents, 3165).
--define(wxStyledTextCtrl_SetMouseDwellTime, 3166).
--define(wxStyledTextCtrl_GetMouseDwellTime, 3167).
--define(wxStyledTextCtrl_WordStartPosition, 3168).
--define(wxStyledTextCtrl_WordEndPosition, 3169).
--define(wxStyledTextCtrl_SetWrapMode, 3170).
--define(wxStyledTextCtrl_GetWrapMode, 3171).
--define(wxStyledTextCtrl_SetWrapVisualFlags, 3172).
--define(wxStyledTextCtrl_GetWrapVisualFlags, 3173).
--define(wxStyledTextCtrl_SetWrapVisualFlagsLocation, 3174).
--define(wxStyledTextCtrl_GetWrapVisualFlagsLocation, 3175).
--define(wxStyledTextCtrl_SetWrapStartIndent, 3176).
--define(wxStyledTextCtrl_GetWrapStartIndent, 3177).
--define(wxStyledTextCtrl_SetLayoutCache, 3178).
--define(wxStyledTextCtrl_GetLayoutCache, 3179).
--define(wxStyledTextCtrl_SetScrollWidth, 3180).
--define(wxStyledTextCtrl_GetScrollWidth, 3181).
--define(wxStyledTextCtrl_TextWidth, 3182).
--define(wxStyledTextCtrl_GetEndAtLastLine, 3183).
--define(wxStyledTextCtrl_TextHeight, 3184).
--define(wxStyledTextCtrl_SetUseVerticalScrollBar, 3185).
--define(wxStyledTextCtrl_GetUseVerticalScrollBar, 3186).
--define(wxStyledTextCtrl_AppendText, 3187).
--define(wxStyledTextCtrl_GetTwoPhaseDraw, 3188).
--define(wxStyledTextCtrl_SetTwoPhaseDraw, 3189).
--define(wxStyledTextCtrl_TargetFromSelection, 3190).
--define(wxStyledTextCtrl_LinesJoin, 3191).
--define(wxStyledTextCtrl_LinesSplit, 3192).
--define(wxStyledTextCtrl_SetFoldMarginColour, 3193).
--define(wxStyledTextCtrl_SetFoldMarginHiColour, 3194).
--define(wxStyledTextCtrl_LineDown, 3195).
--define(wxStyledTextCtrl_LineDownExtend, 3196).
--define(wxStyledTextCtrl_LineUp, 3197).
--define(wxStyledTextCtrl_LineUpExtend, 3198).
--define(wxStyledTextCtrl_CharLeft, 3199).
--define(wxStyledTextCtrl_CharLeftExtend, 3200).
--define(wxStyledTextCtrl_CharRight, 3201).
--define(wxStyledTextCtrl_CharRightExtend, 3202).
--define(wxStyledTextCtrl_WordLeft, 3203).
--define(wxStyledTextCtrl_WordLeftExtend, 3204).
--define(wxStyledTextCtrl_WordRight, 3205).
--define(wxStyledTextCtrl_WordRightExtend, 3206).
--define(wxStyledTextCtrl_Home, 3207).
--define(wxStyledTextCtrl_HomeExtend, 3208).
--define(wxStyledTextCtrl_LineEnd, 3209).
--define(wxStyledTextCtrl_LineEndExtend, 3210).
--define(wxStyledTextCtrl_DocumentStart, 3211).
--define(wxStyledTextCtrl_DocumentStartExtend, 3212).
--define(wxStyledTextCtrl_DocumentEnd, 3213).
--define(wxStyledTextCtrl_DocumentEndExtend, 3214).
--define(wxStyledTextCtrl_PageUp, 3215).
--define(wxStyledTextCtrl_PageUpExtend, 3216).
--define(wxStyledTextCtrl_PageDown, 3217).
--define(wxStyledTextCtrl_PageDownExtend, 3218).
--define(wxStyledTextCtrl_EditToggleOvertype, 3219).
--define(wxStyledTextCtrl_Cancel, 3220).
--define(wxStyledTextCtrl_DeleteBack, 3221).
--define(wxStyledTextCtrl_Tab, 3222).
--define(wxStyledTextCtrl_BackTab, 3223).
--define(wxStyledTextCtrl_NewLine, 3224).
--define(wxStyledTextCtrl_FormFeed, 3225).
--define(wxStyledTextCtrl_VCHome, 3226).
--define(wxStyledTextCtrl_VCHomeExtend, 3227).
--define(wxStyledTextCtrl_ZoomIn, 3228).
--define(wxStyledTextCtrl_ZoomOut, 3229).
--define(wxStyledTextCtrl_DelWordLeft, 3230).
--define(wxStyledTextCtrl_DelWordRight, 3231).
--define(wxStyledTextCtrl_LineCut, 3232).
--define(wxStyledTextCtrl_LineDelete, 3233).
--define(wxStyledTextCtrl_LineTranspose, 3234).
--define(wxStyledTextCtrl_LineDuplicate, 3235).
--define(wxStyledTextCtrl_LowerCase, 3236).
--define(wxStyledTextCtrl_UpperCase, 3237).
--define(wxStyledTextCtrl_LineScrollDown, 3238).
--define(wxStyledTextCtrl_LineScrollUp, 3239).
--define(wxStyledTextCtrl_DeleteBackNotLine, 3240).
--define(wxStyledTextCtrl_HomeDisplay, 3241).
--define(wxStyledTextCtrl_HomeDisplayExtend, 3242).
--define(wxStyledTextCtrl_LineEndDisplay, 3243).
--define(wxStyledTextCtrl_LineEndDisplayExtend, 3244).
--define(wxStyledTextCtrl_HomeWrapExtend, 3245).
--define(wxStyledTextCtrl_LineEndWrap, 3246).
--define(wxStyledTextCtrl_LineEndWrapExtend, 3247).
--define(wxStyledTextCtrl_VCHomeWrap, 3248).
--define(wxStyledTextCtrl_VCHomeWrapExtend, 3249).
--define(wxStyledTextCtrl_LineCopy, 3250).
--define(wxStyledTextCtrl_MoveCaretInsideView, 3251).
--define(wxStyledTextCtrl_LineLength, 3252).
--define(wxStyledTextCtrl_BraceHighlight, 3253).
--define(wxStyledTextCtrl_BraceBadLight, 3254).
--define(wxStyledTextCtrl_BraceMatch, 3255).
--define(wxStyledTextCtrl_GetViewEOL, 3256).
--define(wxStyledTextCtrl_SetViewEOL, 3257).
--define(wxStyledTextCtrl_SetModEventMask, 3258).
--define(wxStyledTextCtrl_GetEdgeColumn, 3259).
--define(wxStyledTextCtrl_SetEdgeColumn, 3260).
--define(wxStyledTextCtrl_GetEdgeMode, 3261).
--define(wxStyledTextCtrl_GetEdgeColour, 3262).
--define(wxStyledTextCtrl_SetEdgeColour, 3263).
--define(wxStyledTextCtrl_SearchAnchor, 3264).
--define(wxStyledTextCtrl_SearchNext, 3265).
--define(wxStyledTextCtrl_SearchPrev, 3266).
--define(wxStyledTextCtrl_LinesOnScreen, 3267).
--define(wxStyledTextCtrl_UsePopUp, 3268).
--define(wxStyledTextCtrl_SelectionIsRectangle, 3269).
--define(wxStyledTextCtrl_SetZoom, 3270).
--define(wxStyledTextCtrl_GetZoom, 3271).
--define(wxStyledTextCtrl_GetModEventMask, 3272).
--define(wxStyledTextCtrl_SetSTCFocus, 3273).
--define(wxStyledTextCtrl_GetSTCFocus, 3274).
--define(wxStyledTextCtrl_SetStatus, 3275).
--define(wxStyledTextCtrl_GetStatus, 3276).
--define(wxStyledTextCtrl_SetMouseDownCaptures, 3277).
--define(wxStyledTextCtrl_GetMouseDownCaptures, 3278).
--define(wxStyledTextCtrl_SetSTCCursor, 3279).
--define(wxStyledTextCtrl_GetSTCCursor, 3280).
--define(wxStyledTextCtrl_SetControlCharSymbol, 3281).
--define(wxStyledTextCtrl_GetControlCharSymbol, 3282).
--define(wxStyledTextCtrl_WordPartLeft, 3283).
--define(wxStyledTextCtrl_WordPartLeftExtend, 3284).
--define(wxStyledTextCtrl_WordPartRight, 3285).
--define(wxStyledTextCtrl_WordPartRightExtend, 3286).
--define(wxStyledTextCtrl_SetVisiblePolicy, 3287).
--define(wxStyledTextCtrl_DelLineLeft, 3288).
--define(wxStyledTextCtrl_DelLineRight, 3289).
--define(wxStyledTextCtrl_GetXOffset, 3290).
--define(wxStyledTextCtrl_ChooseCaretX, 3291).
--define(wxStyledTextCtrl_SetXCaretPolicy, 3292).
--define(wxStyledTextCtrl_SetYCaretPolicy, 3293).
--define(wxStyledTextCtrl_GetPrintWrapMode, 3294).
--define(wxStyledTextCtrl_SetHotspotActiveForeground, 3295).
--define(wxStyledTextCtrl_SetHotspotActiveBackground, 3296).
--define(wxStyledTextCtrl_SetHotspotActiveUnderline, 3297).
--define(wxStyledTextCtrl_SetHotspotSingleLine, 3298).
--define(wxStyledTextCtrl_ParaDownExtend, 3299).
--define(wxStyledTextCtrl_ParaUp, 3300).
--define(wxStyledTextCtrl_ParaUpExtend, 3301).
--define(wxStyledTextCtrl_PositionBefore, 3302).
--define(wxStyledTextCtrl_PositionAfter, 3303).
--define(wxStyledTextCtrl_CopyRange, 3304).
--define(wxStyledTextCtrl_CopyText, 3305).
--define(wxStyledTextCtrl_SetSelectionMode, 3306).
--define(wxStyledTextCtrl_GetSelectionMode, 3307).
--define(wxStyledTextCtrl_LineDownRectExtend, 3308).
--define(wxStyledTextCtrl_LineUpRectExtend, 3309).
--define(wxStyledTextCtrl_CharLeftRectExtend, 3310).
--define(wxStyledTextCtrl_CharRightRectExtend, 3311).
--define(wxStyledTextCtrl_HomeRectExtend, 3312).
--define(wxStyledTextCtrl_VCHomeRectExtend, 3313).
--define(wxStyledTextCtrl_LineEndRectExtend, 3314).
--define(wxStyledTextCtrl_PageUpRectExtend, 3315).
--define(wxStyledTextCtrl_PageDownRectExtend, 3316).
--define(wxStyledTextCtrl_StutteredPageUp, 3317).
--define(wxStyledTextCtrl_StutteredPageUpExtend, 3318).
--define(wxStyledTextCtrl_StutteredPageDown, 3319).
--define(wxStyledTextCtrl_StutteredPageDownExtend, 3320).
--define(wxStyledTextCtrl_WordLeftEnd, 3321).
--define(wxStyledTextCtrl_WordLeftEndExtend, 3322).
--define(wxStyledTextCtrl_WordRightEnd, 3323).
--define(wxStyledTextCtrl_WordRightEndExtend, 3324).
--define(wxStyledTextCtrl_SetWhitespaceChars, 3325).
--define(wxStyledTextCtrl_SetCharsDefault, 3326).
--define(wxStyledTextCtrl_AutoCompGetCurrent, 3327).
--define(wxStyledTextCtrl_Allocate, 3328).
--define(wxStyledTextCtrl_FindColumn, 3329).
--define(wxStyledTextCtrl_GetCaretSticky, 3330).
--define(wxStyledTextCtrl_SetCaretSticky, 3331).
--define(wxStyledTextCtrl_ToggleCaretSticky, 3332).
--define(wxStyledTextCtrl_SetPasteConvertEndings, 3333).
--define(wxStyledTextCtrl_GetPasteConvertEndings, 3334).
--define(wxStyledTextCtrl_SelectionDuplicate, 3335).
--define(wxStyledTextCtrl_SetCaretLineBackAlpha, 3336).
--define(wxStyledTextCtrl_GetCaretLineBackAlpha, 3337).
--define(wxStyledTextCtrl_StartRecord, 3338).
--define(wxStyledTextCtrl_StopRecord, 3339).
--define(wxStyledTextCtrl_SetLexer, 3340).
--define(wxStyledTextCtrl_GetLexer, 3341).
--define(wxStyledTextCtrl_Colourise, 3342).
--define(wxStyledTextCtrl_SetProperty, 3343).
--define(wxStyledTextCtrl_SetKeyWords, 3344).
--define(wxStyledTextCtrl_SetLexerLanguage, 3345).
--define(wxStyledTextCtrl_GetProperty, 3346).
--define(wxStyledTextCtrl_GetStyleBitsNeeded, 3347).
--define(wxStyledTextCtrl_GetCurrentLine, 3348).
--define(wxStyledTextCtrl_StyleSetSpec, 3349).
--define(wxStyledTextCtrl_StyleSetFont, 3350).
--define(wxStyledTextCtrl_StyleSetFontAttr, 3351).
--define(wxStyledTextCtrl_StyleSetCharacterSet, 3352).
--define(wxStyledTextCtrl_StyleSetFontEncoding, 3353).
--define(wxStyledTextCtrl_CmdKeyExecute, 3354).
--define(wxStyledTextCtrl_SetMargins, 3355).
--define(wxStyledTextCtrl_GetSelection, 3356).
--define(wxStyledTextCtrl_PointFromPosition, 3357).
--define(wxStyledTextCtrl_ScrollToLine, 3358).
--define(wxStyledTextCtrl_ScrollToColumn, 3359).
--define(wxStyledTextCtrl_SendMsg, 3360).
--define(wxStyledTextCtrl_SetVScrollBar, 3361).
--define(wxStyledTextCtrl_SetHScrollBar, 3362).
--define(wxStyledTextCtrl_GetLastKeydownProcessed, 3363).
--define(wxStyledTextCtrl_SetLastKeydownProcessed, 3364).
--define(wxStyledTextCtrl_SaveFile, 3365).
--define(wxStyledTextCtrl_LoadFile, 3366).
--define(wxStyledTextCtrl_DoDragOver, 3367).
--define(wxStyledTextCtrl_DoDropText, 3368).
--define(wxStyledTextCtrl_GetUseAntiAliasing, 3369).
--define(wxStyledTextCtrl_AddTextRaw, 3370).
--define(wxStyledTextCtrl_InsertTextRaw, 3371).
--define(wxStyledTextCtrl_GetCurLineRaw, 3372).
--define(wxStyledTextCtrl_GetLineRaw, 3373).
--define(wxStyledTextCtrl_GetSelectedTextRaw, 3374).
--define(wxStyledTextCtrl_GetTextRangeRaw, 3375).
--define(wxStyledTextCtrl_SetTextRaw, 3376).
--define(wxStyledTextCtrl_GetTextRaw, 3377).
--define(wxStyledTextCtrl_AppendTextRaw, 3378).
--define(wxArtProvider_GetBitmap, 3379).
--define(wxArtProvider_GetIcon, 3380).
--define(wxTreeEvent_GetKeyCode, 3381).
--define(wxTreeEvent_GetItem, 3382).
--define(wxTreeEvent_GetKeyEvent, 3383).
--define(wxTreeEvent_GetLabel, 3384).
--define(wxTreeEvent_GetOldItem, 3385).
--define(wxTreeEvent_GetPoint, 3386).
--define(wxTreeEvent_IsEditCancelled, 3387).
--define(wxTreeEvent_SetToolTip, 3388).
--define(wxNotebookEvent_GetOldSelection, 3389).
--define(wxNotebookEvent_GetSelection, 3390).
--define(wxNotebookEvent_SetOldSelection, 3391).
--define(wxNotebookEvent_SetSelection, 3392).
--define(wxFileDataObject_new, 3393).
--define(wxFileDataObject_AddFile, 3394).
--define(wxFileDataObject_GetFilenames, 3395).
--define(wxFileDataObject_destroy, 3396).
--define(wxTextDataObject_new, 3397).
--define(wxTextDataObject_GetTextLength, 3398).
--define(wxTextDataObject_GetText, 3399).
--define(wxTextDataObject_SetText, 3400).
--define(wxTextDataObject_destroy, 3401).
--define(wxBitmapDataObject_new_1_1, 3402).
--define(wxBitmapDataObject_new_1_0, 3403).
--define(wxBitmapDataObject_GetBitmap, 3404).
--define(wxBitmapDataObject_SetBitmap, 3405).
--define(wxBitmapDataObject_destroy, 3406).
--define(wxClipboard_new, 3408).
--define(wxClipboard_destruct, 3409).
--define(wxClipboard_AddData, 3410).
--define(wxClipboard_Clear, 3411).
--define(wxClipboard_Close, 3412).
--define(wxClipboard_Flush, 3413).
--define(wxClipboard_GetData, 3414).
--define(wxClipboard_IsOpened, 3415).
--define(wxClipboard_Open, 3416).
--define(wxClipboard_SetData, 3417).
--define(wxClipboard_UsePrimarySelection, 3419).
--define(wxClipboard_IsSupported, 3420).
--define(wxClipboard_Get, 3421).
--define(wxSpinEvent_GetPosition, 3422).
--define(wxSpinEvent_SetPosition, 3423).
--define(wxSplitterWindow_new_0, 3424).
--define(wxSplitterWindow_new_2, 3425).
--define(wxSplitterWindow_destruct, 3426).
--define(wxSplitterWindow_Create, 3427).
--define(wxSplitterWindow_GetMinimumPaneSize, 3428).
--define(wxSplitterWindow_GetSashGravity, 3429).
--define(wxSplitterWindow_GetSashPosition, 3430).
--define(wxSplitterWindow_GetSplitMode, 3431).
--define(wxSplitterWindow_GetWindow1, 3432).
--define(wxSplitterWindow_GetWindow2, 3433).
--define(wxSplitterWindow_Initialize, 3434).
--define(wxSplitterWindow_IsSplit, 3435).
--define(wxSplitterWindow_ReplaceWindow, 3436).
--define(wxSplitterWindow_SetSashGravity, 3437).
--define(wxSplitterWindow_SetSashPosition, 3438).
--define(wxSplitterWindow_SetSashSize, 3439).
--define(wxSplitterWindow_SetMinimumPaneSize, 3440).
--define(wxSplitterWindow_SetSplitMode, 3441).
--define(wxSplitterWindow_SplitHorizontally, 3442).
--define(wxSplitterWindow_SplitVertically, 3443).
--define(wxSplitterWindow_Unsplit, 3444).
--define(wxSplitterWindow_UpdateSize, 3445).
--define(wxSplitterEvent_GetSashPosition, 3446).
--define(wxSplitterEvent_GetX, 3447).
--define(wxSplitterEvent_GetY, 3448).
--define(wxSplitterEvent_GetWindowBeingRemoved, 3449).
--define(wxSplitterEvent_SetSashPosition, 3450).
--define(wxHtmlWindow_new_0, 3451).
--define(wxHtmlWindow_new_2, 3452).
--define(wxHtmlWindow_AppendToPage, 3453).
--define(wxHtmlWindow_GetOpenedAnchor, 3454).
--define(wxHtmlWindow_GetOpenedPage, 3455).
--define(wxHtmlWindow_GetOpenedPageTitle, 3456).
--define(wxHtmlWindow_GetRelatedFrame, 3457).
--define(wxHtmlWindow_HistoryBack, 3458).
--define(wxHtmlWindow_HistoryCanBack, 3459).
--define(wxHtmlWindow_HistoryCanForward, 3460).
--define(wxHtmlWindow_HistoryClear, 3461).
--define(wxHtmlWindow_HistoryForward, 3462).
--define(wxHtmlWindow_LoadFile, 3463).
--define(wxHtmlWindow_LoadPage, 3464).
--define(wxHtmlWindow_SelectAll, 3465).
--define(wxHtmlWindow_SelectionToText, 3466).
--define(wxHtmlWindow_SelectLine, 3467).
--define(wxHtmlWindow_SelectWord, 3468).
--define(wxHtmlWindow_SetBorders, 3469).
--define(wxHtmlWindow_SetFonts, 3470).
--define(wxHtmlWindow_SetPage, 3471).
--define(wxHtmlWindow_SetRelatedFrame, 3472).
--define(wxHtmlWindow_SetRelatedStatusBar, 3473).
--define(wxHtmlWindow_ToText, 3474).
--define(wxHtmlWindow_destroy, 3475).
--define(wxHtmlLinkEvent_GetLinkInfo, 3476).
--define(wxAuiNotebookEvent_SetSelection, 3477).
--define(wxAuiNotebookEvent_GetSelection, 3478).
--define(wxAuiNotebookEvent_SetOldSelection, 3479).
--define(wxAuiNotebookEvent_GetOldSelection, 3480).
--define(wxAuiNotebookEvent_SetDragSource, 3481).
--define(wxAuiNotebookEvent_GetDragSource, 3482).
--define(wxAuiManagerEvent_SetManager, 3483).
--define(wxAuiManagerEvent_GetManager, 3484).
--define(wxAuiManagerEvent_SetPane, 3485).
--define(wxAuiManagerEvent_GetPane, 3486).
--define(wxAuiManagerEvent_SetButton, 3487).
--define(wxAuiManagerEvent_GetButton, 3488).
--define(wxAuiManagerEvent_SetDC, 3489).
--define(wxAuiManagerEvent_GetDC, 3490).
--define(wxAuiManagerEvent_Veto, 3491).
--define(wxAuiManagerEvent_GetVeto, 3492).
--define(wxAuiManagerEvent_SetCanVeto, 3493).
--define(wxAuiManagerEvent_CanVeto, 3494).
--define(wxLogNull_new, 3495).
--define(wxLogNull_destroy, 3496).
+-define(wxControlWithItems_getClientData, 885).
+-define(wxControlWithItems_setClientData, 886).
+-define(wxControlWithItems_GetCount, 887).
+-define(wxControlWithItems_GetSelection, 888).
+-define(wxControlWithItems_GetString, 889).
+-define(wxControlWithItems_GetStringSelection, 890).
+-define(wxControlWithItems_Insert_2, 891).
+-define(wxControlWithItems_Insert_3, 892).
+-define(wxControlWithItems_IsEmpty, 893).
+-define(wxControlWithItems_Select, 894).
+-define(wxControlWithItems_SetSelection, 895).
+-define(wxControlWithItems_SetString, 896).
+-define(wxControlWithItems_SetStringSelection, 897).
+-define(wxMenu_new_2, 900).
+-define(wxMenu_new_1, 901).
+-define(wxMenu_destruct, 903).
+-define(wxMenu_Append_3, 904).
+-define(wxMenu_Append_1, 905).
+-define(wxMenu_Append_4_0, 906).
+-define(wxMenu_Append_4_1, 907).
+-define(wxMenu_AppendCheckItem, 908).
+-define(wxMenu_AppendRadioItem, 909).
+-define(wxMenu_AppendSeparator, 910).
+-define(wxMenu_Break, 911).
+-define(wxMenu_Check, 912).
+-define(wxMenu_Delete_1_0, 913).
+-define(wxMenu_Delete_1_1, 914).
+-define(wxMenu_Destroy_1_0, 915).
+-define(wxMenu_Destroy_1_1, 916).
+-define(wxMenu_Enable, 917).
+-define(wxMenu_FindItem_1, 918).
+-define(wxMenu_FindItem_2, 919).
+-define(wxMenu_FindItemByPosition, 920).
+-define(wxMenu_GetHelpString, 921).
+-define(wxMenu_GetLabel, 922).
+-define(wxMenu_GetMenuItemCount, 923).
+-define(wxMenu_GetMenuItems, 924).
+-define(wxMenu_GetTitle, 926).
+-define(wxMenu_Insert_2, 927).
+-define(wxMenu_Insert_3, 928).
+-define(wxMenu_Insert_5_1, 929).
+-define(wxMenu_Insert_5_0, 930).
+-define(wxMenu_InsertCheckItem, 931).
+-define(wxMenu_InsertRadioItem, 932).
+-define(wxMenu_InsertSeparator, 933).
+-define(wxMenu_IsChecked, 934).
+-define(wxMenu_IsEnabled, 935).
+-define(wxMenu_Prepend_1, 936).
+-define(wxMenu_Prepend_2, 937).
+-define(wxMenu_Prepend_4_1, 938).
+-define(wxMenu_Prepend_4_0, 939).
+-define(wxMenu_PrependCheckItem, 940).
+-define(wxMenu_PrependRadioItem, 941).
+-define(wxMenu_PrependSeparator, 942).
+-define(wxMenu_Remove_1_0, 943).
+-define(wxMenu_Remove_1_1, 944).
+-define(wxMenu_SetHelpString, 945).
+-define(wxMenu_SetLabel, 946).
+-define(wxMenu_SetTitle, 947).
+-define(wxMenuItem_new, 948).
+-define(wxMenuItem_destruct, 950).
+-define(wxMenuItem_Check, 951).
+-define(wxMenuItem_Enable, 952).
+-define(wxMenuItem_GetBitmap, 953).
+-define(wxMenuItem_GetHelp, 954).
+-define(wxMenuItem_GetId, 955).
+-define(wxMenuItem_GetKind, 956).
+-define(wxMenuItem_GetLabel, 957).
+-define(wxMenuItem_GetLabelFromText, 958).
+-define(wxMenuItem_GetMenu, 959).
+-define(wxMenuItem_GetText, 960).
+-define(wxMenuItem_GetSubMenu, 961).
+-define(wxMenuItem_IsCheckable, 962).
+-define(wxMenuItem_IsChecked, 963).
+-define(wxMenuItem_IsEnabled, 964).
+-define(wxMenuItem_IsSeparator, 965).
+-define(wxMenuItem_IsSubMenu, 966).
+-define(wxMenuItem_SetBitmap, 967).
+-define(wxMenuItem_SetHelp, 968).
+-define(wxMenuItem_SetMenu, 969).
+-define(wxMenuItem_SetSubMenu, 970).
+-define(wxMenuItem_SetText, 971).
+-define(wxToolBar_AddControl, 972).
+-define(wxToolBar_AddSeparator, 973).
+-define(wxToolBar_AddTool_5, 974).
+-define(wxToolBar_AddTool_4_0, 975).
+-define(wxToolBar_AddTool_1, 976).
+-define(wxToolBar_AddTool_4_1, 977).
+-define(wxToolBar_AddTool_3, 978).
+-define(wxToolBar_AddTool_6, 979).
+-define(wxToolBar_AddCheckTool, 980).
+-define(wxToolBar_AddRadioTool, 981).
+-define(wxToolBar_DeleteTool, 982).
+-define(wxToolBar_DeleteToolByPos, 983).
+-define(wxToolBar_EnableTool, 984).
+-define(wxToolBar_FindById, 985).
+-define(wxToolBar_FindControl, 986).
+-define(wxToolBar_FindToolForPosition, 987).
+-define(wxToolBar_GetToolSize, 988).
+-define(wxToolBar_GetToolBitmapSize, 989).
+-define(wxToolBar_GetMargins, 990).
+-define(wxToolBar_GetToolEnabled, 991).
+-define(wxToolBar_GetToolLongHelp, 992).
+-define(wxToolBar_GetToolPacking, 993).
+-define(wxToolBar_GetToolPos, 994).
+-define(wxToolBar_GetToolSeparation, 995).
+-define(wxToolBar_GetToolShortHelp, 996).
+-define(wxToolBar_GetToolState, 997).
+-define(wxToolBar_InsertControl, 998).
+-define(wxToolBar_InsertSeparator, 999).
+-define(wxToolBar_InsertTool_5, 1000).
+-define(wxToolBar_InsertTool_2, 1001).
+-define(wxToolBar_InsertTool_4, 1002).
+-define(wxToolBar_Realize, 1003).
+-define(wxToolBar_RemoveTool, 1004).
+-define(wxToolBar_SetMargins, 1005).
+-define(wxToolBar_SetToolBitmapSize, 1006).
+-define(wxToolBar_SetToolLongHelp, 1007).
+-define(wxToolBar_SetToolPacking, 1008).
+-define(wxToolBar_SetToolShortHelp, 1009).
+-define(wxToolBar_SetToolSeparation, 1010).
+-define(wxToolBar_ToggleTool, 1011).
+-define(wxStatusBar_new_0, 1013).
+-define(wxStatusBar_new_2, 1014).
+-define(wxStatusBar_destruct, 1016).
+-define(wxStatusBar_Create, 1017).
+-define(wxStatusBar_GetFieldRect, 1018).
+-define(wxStatusBar_GetFieldsCount, 1019).
+-define(wxStatusBar_GetStatusText, 1020).
+-define(wxStatusBar_PopStatusText, 1021).
+-define(wxStatusBar_PushStatusText, 1022).
+-define(wxStatusBar_SetFieldsCount, 1023).
+-define(wxStatusBar_SetMinHeight, 1024).
+-define(wxStatusBar_SetStatusText, 1025).
+-define(wxStatusBar_SetStatusWidths, 1026).
+-define(wxStatusBar_SetStatusStyles, 1027).
+-define(wxBitmap_new_0, 1028).
+-define(wxBitmap_new_3, 1029).
+-define(wxBitmap_new_4, 1030).
+-define(wxBitmap_new_2_0, 1031).
+-define(wxBitmap_new_2_1, 1032).
+-define(wxBitmap_destruct, 1033).
+-define(wxBitmap_ConvertToImage, 1034).
+-define(wxBitmap_CopyFromIcon, 1035).
+-define(wxBitmap_Create, 1036).
+-define(wxBitmap_GetDepth, 1037).
+-define(wxBitmap_GetHeight, 1038).
+-define(wxBitmap_GetPalette, 1039).
+-define(wxBitmap_GetMask, 1040).
+-define(wxBitmap_GetWidth, 1041).
+-define(wxBitmap_GetSubBitmap, 1042).
+-define(wxBitmap_LoadFile, 1043).
+-define(wxBitmap_Ok, 1044).
+-define(wxBitmap_SaveFile, 1045).
+-define(wxBitmap_SetDepth, 1046).
+-define(wxBitmap_SetHeight, 1047).
+-define(wxBitmap_SetMask, 1048).
+-define(wxBitmap_SetPalette, 1049).
+-define(wxBitmap_SetWidth, 1050).
+-define(wxIcon_new_0, 1051).
+-define(wxIcon_new_2, 1052).
+-define(wxIcon_new_1, 1053).
+-define(wxIcon_CopyFromBitmap, 1054).
+-define(wxIcon_destroy, 1055).
+-define(wxIconBundle_new_0, 1056).
+-define(wxIconBundle_new_2, 1057).
+-define(wxIconBundle_new_1_0, 1058).
+-define(wxIconBundle_new_1_1, 1059).
+-define(wxIconBundle_destruct, 1060).
+-define(wxIconBundle_AddIcon_2, 1061).
+-define(wxIconBundle_AddIcon_1, 1062).
+-define(wxIconBundle_GetIcon_1_1, 1063).
+-define(wxIconBundle_GetIcon_1_0, 1064).
+-define(wxCursor_new_0, 1065).
+-define(wxCursor_new_1_0, 1066).
+-define(wxCursor_new_1_1, 1067).
+-define(wxCursor_new_4, 1068).
+-define(wxCursor_destruct, 1069).
+-define(wxCursor_Ok, 1070).
+-define(wxMask_new_0, 1071).
+-define(wxMask_new_2_1, 1072).
+-define(wxMask_new_2_0, 1073).
+-define(wxMask_new_1, 1074).
+-define(wxMask_destruct, 1075).
+-define(wxMask_Create_2_1, 1076).
+-define(wxMask_Create_2_0, 1077).
+-define(wxMask_Create_1, 1078).
+-define(wxImage_new_0, 1079).
+-define(wxImage_new_3_0, 1080).
+-define(wxImage_new_4, 1081).
+-define(wxImage_new_5, 1082).
+-define(wxImage_new_2, 1083).
+-define(wxImage_new_3_1, 1084).
+-define(wxImage_Blur, 1085).
+-define(wxImage_BlurHorizontal, 1086).
+-define(wxImage_BlurVertical, 1087).
+-define(wxImage_ConvertAlphaToMask, 1088).
+-define(wxImage_ConvertToGreyscale, 1089).
+-define(wxImage_ConvertToMono, 1090).
+-define(wxImage_Copy, 1091).
+-define(wxImage_Create_3, 1092).
+-define(wxImage_Create_4, 1093).
+-define(wxImage_Create_5, 1094).
+-define(wxImage_Destroy, 1095).
+-define(wxImage_FindFirstUnusedColour, 1096).
+-define(wxImage_GetImageExtWildcard, 1097).
+-define(wxImage_GetAlpha_2, 1098).
+-define(wxImage_GetAlpha_0, 1099).
+-define(wxImage_GetBlue, 1100).
+-define(wxImage_GetData, 1101).
+-define(wxImage_GetGreen, 1102).
+-define(wxImage_GetImageCount, 1103).
+-define(wxImage_GetHeight, 1104).
+-define(wxImage_GetMaskBlue, 1105).
+-define(wxImage_GetMaskGreen, 1106).
+-define(wxImage_GetMaskRed, 1107).
+-define(wxImage_GetOrFindMaskColour, 1108).
+-define(wxImage_GetPalette, 1109).
+-define(wxImage_GetRed, 1110).
+-define(wxImage_GetSubImage, 1111).
+-define(wxImage_GetWidth, 1112).
+-define(wxImage_HasAlpha, 1113).
+-define(wxImage_HasMask, 1114).
+-define(wxImage_GetOption, 1115).
+-define(wxImage_GetOptionInt, 1116).
+-define(wxImage_HasOption, 1117).
+-define(wxImage_InitAlpha, 1118).
+-define(wxImage_InitStandardHandlers, 1119).
+-define(wxImage_IsTransparent, 1120).
+-define(wxImage_LoadFile_2, 1121).
+-define(wxImage_LoadFile_3, 1122).
+-define(wxImage_Ok, 1123).
+-define(wxImage_RemoveHandler, 1124).
+-define(wxImage_Mirror, 1125).
+-define(wxImage_Replace, 1126).
+-define(wxImage_Rescale, 1127).
+-define(wxImage_Resize, 1128).
+-define(wxImage_Rotate, 1129).
+-define(wxImage_RotateHue, 1130).
+-define(wxImage_Rotate90, 1131).
+-define(wxImage_SaveFile_1, 1132).
+-define(wxImage_SaveFile_2_0, 1133).
+-define(wxImage_SaveFile_2_1, 1134).
+-define(wxImage_Scale, 1135).
+-define(wxImage_Size, 1136).
+-define(wxImage_SetAlpha_3, 1137).
+-define(wxImage_SetAlpha_2, 1138).
+-define(wxImage_SetData_2, 1139).
+-define(wxImage_SetData_4, 1140).
+-define(wxImage_SetMask, 1141).
+-define(wxImage_SetMaskColour, 1142).
+-define(wxImage_SetMaskFromImage, 1143).
+-define(wxImage_SetOption_2_1, 1144).
+-define(wxImage_SetOption_2_0, 1145).
+-define(wxImage_SetPalette, 1146).
+-define(wxImage_SetRGB_5, 1147).
+-define(wxImage_SetRGB_4, 1148).
+-define(wxImage_destroy, 1149).
+-define(wxBrush_new_0, 1150).
+-define(wxBrush_new_2, 1151).
+-define(wxBrush_new_1, 1152).
+-define(wxBrush_destruct, 1154).
+-define(wxBrush_GetColour, 1155).
+-define(wxBrush_GetStipple, 1156).
+-define(wxBrush_GetStyle, 1157).
+-define(wxBrush_IsHatch, 1158).
+-define(wxBrush_IsOk, 1159).
+-define(wxBrush_SetColour_1, 1160).
+-define(wxBrush_SetColour_3, 1161).
+-define(wxBrush_SetStipple, 1162).
+-define(wxBrush_SetStyle, 1163).
+-define(wxPen_new_0, 1164).
+-define(wxPen_new_2, 1165).
+-define(wxPen_destruct, 1166).
+-define(wxPen_GetCap, 1167).
+-define(wxPen_GetColour, 1168).
+-define(wxPen_GetJoin, 1169).
+-define(wxPen_GetStyle, 1170).
+-define(wxPen_GetWidth, 1171).
+-define(wxPen_IsOk, 1172).
+-define(wxPen_SetCap, 1173).
+-define(wxPen_SetColour_1, 1174).
+-define(wxPen_SetColour_3, 1175).
+-define(wxPen_SetJoin, 1176).
+-define(wxPen_SetStyle, 1177).
+-define(wxPen_SetWidth, 1178).
+-define(wxRegion_new_0, 1179).
+-define(wxRegion_new_4, 1180).
+-define(wxRegion_new_2, 1181).
+-define(wxRegion_new_1_1, 1182).
+-define(wxRegion_new_1_0, 1184).
+-define(wxRegion_destruct, 1186).
+-define(wxRegion_Clear, 1187).
+-define(wxRegion_Contains_2, 1188).
+-define(wxRegion_Contains_1_0, 1189).
+-define(wxRegion_Contains_4, 1190).
+-define(wxRegion_Contains_1_1, 1191).
+-define(wxRegion_ConvertToBitmap, 1192).
+-define(wxRegion_GetBox, 1193).
+-define(wxRegion_Intersect_4, 1194).
+-define(wxRegion_Intersect_1_1, 1195).
+-define(wxRegion_Intersect_1_0, 1196).
+-define(wxRegion_IsEmpty, 1197).
+-define(wxRegion_Subtract_4, 1198).
+-define(wxRegion_Subtract_1_1, 1199).
+-define(wxRegion_Subtract_1_0, 1200).
+-define(wxRegion_Offset_2, 1201).
+-define(wxRegion_Offset_1, 1202).
+-define(wxRegion_Union_4, 1203).
+-define(wxRegion_Union_1_2, 1204).
+-define(wxRegion_Union_1_1, 1205).
+-define(wxRegion_Union_1_0, 1206).
+-define(wxRegion_Union_3, 1207).
+-define(wxRegion_Xor_4, 1208).
+-define(wxRegion_Xor_1_1, 1209).
+-define(wxRegion_Xor_1_0, 1210).
+-define(wxAcceleratorTable_new_0, 1211).
+-define(wxAcceleratorTable_new_2, 1212).
+-define(wxAcceleratorTable_destruct, 1213).
+-define(wxAcceleratorTable_Ok, 1214).
+-define(wxAcceleratorEntry_new_1_0, 1215).
+-define(wxAcceleratorEntry_new_1_1, 1216).
+-define(wxAcceleratorEntry_GetCommand, 1217).
+-define(wxAcceleratorEntry_GetFlags, 1218).
+-define(wxAcceleratorEntry_GetKeyCode, 1219).
+-define(wxAcceleratorEntry_Set, 1220).
+-define(wxAcceleratorEntry_destroy, 1221).
+-define(wxCaret_new_3, 1226).
+-define(wxCaret_new_2, 1227).
+-define(wxCaret_destruct, 1229).
+-define(wxCaret_Create_3, 1230).
+-define(wxCaret_Create_2, 1231).
+-define(wxCaret_GetBlinkTime, 1232).
+-define(wxCaret_GetPosition, 1234).
+-define(wxCaret_GetSize, 1236).
+-define(wxCaret_GetWindow, 1237).
+-define(wxCaret_Hide, 1238).
+-define(wxCaret_IsOk, 1239).
+-define(wxCaret_IsVisible, 1240).
+-define(wxCaret_Move_2, 1241).
+-define(wxCaret_Move_1, 1242).
+-define(wxCaret_SetBlinkTime, 1243).
+-define(wxCaret_SetSize_2, 1244).
+-define(wxCaret_SetSize_1, 1245).
+-define(wxCaret_Show, 1246).
+-define(wxSizer_Add_2_1, 1247).
+-define(wxSizer_Add_2_0, 1248).
+-define(wxSizer_Add_3, 1249).
+-define(wxSizer_Add_2_3, 1250).
+-define(wxSizer_Add_2_2, 1251).
+-define(wxSizer_AddSpacer, 1252).
+-define(wxSizer_AddStretchSpacer, 1253).
+-define(wxSizer_CalcMin, 1254).
+-define(wxSizer_Clear, 1255).
+-define(wxSizer_Detach_1_2, 1256).
+-define(wxSizer_Detach_1_1, 1257).
+-define(wxSizer_Detach_1_0, 1258).
+-define(wxSizer_Fit, 1259).
+-define(wxSizer_FitInside, 1260).
+-define(wxSizer_GetChildren, 1261).
+-define(wxSizer_GetItem_2_1, 1262).
+-define(wxSizer_GetItem_2_0, 1263).
+-define(wxSizer_GetItem_1, 1264).
+-define(wxSizer_GetSize, 1265).
+-define(wxSizer_GetPosition, 1266).
+-define(wxSizer_GetMinSize, 1267).
+-define(wxSizer_Hide_2_0, 1268).
+-define(wxSizer_Hide_2_1, 1269).
+-define(wxSizer_Hide_1, 1270).
+-define(wxSizer_Insert_3_1, 1271).
+-define(wxSizer_Insert_3_0, 1272).
+-define(wxSizer_Insert_4, 1273).
+-define(wxSizer_Insert_3_3, 1274).
+-define(wxSizer_Insert_3_2, 1275).
+-define(wxSizer_Insert_2, 1276).
+-define(wxSizer_InsertSpacer, 1277).
+-define(wxSizer_InsertStretchSpacer, 1278).
+-define(wxSizer_IsShown_1_2, 1279).
+-define(wxSizer_IsShown_1_1, 1280).
+-define(wxSizer_IsShown_1_0, 1281).
+-define(wxSizer_Layout, 1282).
+-define(wxSizer_Prepend_2_1, 1283).
+-define(wxSizer_Prepend_2_0, 1284).
+-define(wxSizer_Prepend_3, 1285).
+-define(wxSizer_Prepend_2_3, 1286).
+-define(wxSizer_Prepend_2_2, 1287).
+-define(wxSizer_Prepend_1, 1288).
+-define(wxSizer_PrependSpacer, 1289).
+-define(wxSizer_PrependStretchSpacer, 1290).
+-define(wxSizer_RecalcSizes, 1291).
+-define(wxSizer_Remove_1_1, 1292).
+-define(wxSizer_Remove_1_0, 1293).
+-define(wxSizer_Replace_3_1, 1294).
+-define(wxSizer_Replace_3_0, 1295).
+-define(wxSizer_Replace_2, 1296).
+-define(wxSizer_SetDimension, 1297).
+-define(wxSizer_SetMinSize_2, 1298).
+-define(wxSizer_SetMinSize_1, 1299).
+-define(wxSizer_SetItemMinSize_3_2, 1300).
+-define(wxSizer_SetItemMinSize_2_2, 1301).
+-define(wxSizer_SetItemMinSize_3_1, 1302).
+-define(wxSizer_SetItemMinSize_2_1, 1303).
+-define(wxSizer_SetItemMinSize_3_0, 1304).
+-define(wxSizer_SetItemMinSize_2_0, 1305).
+-define(wxSizer_SetSizeHints, 1306).
+-define(wxSizer_SetVirtualSizeHints, 1307).
+-define(wxSizer_Show_2_2, 1308).
+-define(wxSizer_Show_2_1, 1309).
+-define(wxSizer_Show_2_0, 1310).
+-define(wxSizer_Show_1, 1311).
+-define(wxSizerFlags_new, 1312).
+-define(wxSizerFlags_Align, 1313).
+-define(wxSizerFlags_Border_2, 1314).
+-define(wxSizerFlags_Border_1, 1315).
+-define(wxSizerFlags_Center, 1316).
+-define(wxSizerFlags_Centre, 1317).
+-define(wxSizerFlags_Expand, 1318).
+-define(wxSizerFlags_Left, 1319).
+-define(wxSizerFlags_Proportion, 1320).
+-define(wxSizerFlags_Right, 1321).
+-define(wxSizerFlags_destroy, 1322).
+-define(wxSizerItem_new_5_1, 1323).
+-define(wxSizerItem_new_2_1, 1324).
+-define(wxSizerItem_new_5_0, 1325).
+-define(wxSizerItem_new_2_0, 1326).
+-define(wxSizerItem_new_6, 1327).
+-define(wxSizerItem_new_3, 1328).
+-define(wxSizerItem_new_0, 1329).
+-define(wxSizerItem_destruct, 1330).
+-define(wxSizerItem_CalcMin, 1331).
+-define(wxSizerItem_DeleteWindows, 1332).
+-define(wxSizerItem_DetachSizer, 1333).
+-define(wxSizerItem_GetBorder, 1334).
+-define(wxSizerItem_GetFlag, 1335).
+-define(wxSizerItem_GetMinSize, 1336).
+-define(wxSizerItem_GetPosition, 1337).
+-define(wxSizerItem_GetProportion, 1338).
+-define(wxSizerItem_GetRatio, 1339).
+-define(wxSizerItem_GetRect, 1340).
+-define(wxSizerItem_GetSize, 1341).
+-define(wxSizerItem_GetSizer, 1342).
+-define(wxSizerItem_GetSpacer, 1343).
+-define(wxSizerItem_GetUserData, 1344).
+-define(wxSizerItem_GetWindow, 1345).
+-define(wxSizerItem_IsSizer, 1346).
+-define(wxSizerItem_IsShown, 1347).
+-define(wxSizerItem_IsSpacer, 1348).
+-define(wxSizerItem_IsWindow, 1349).
+-define(wxSizerItem_SetBorder, 1350).
+-define(wxSizerItem_SetDimension, 1351).
+-define(wxSizerItem_SetFlag, 1352).
+-define(wxSizerItem_SetInitSize, 1353).
+-define(wxSizerItem_SetMinSize_1, 1354).
+-define(wxSizerItem_SetMinSize_2, 1355).
+-define(wxSizerItem_SetProportion, 1356).
+-define(wxSizerItem_SetRatio_2, 1357).
+-define(wxSizerItem_SetRatio_1_1, 1358).
+-define(wxSizerItem_SetRatio_1_0, 1359).
+-define(wxSizerItem_SetSizer, 1360).
+-define(wxSizerItem_SetSpacer_1, 1361).
+-define(wxSizerItem_SetSpacer_2, 1362).
+-define(wxSizerItem_SetWindow, 1363).
+-define(wxSizerItem_Show, 1364).
+-define(wxBoxSizer_new, 1365).
+-define(wxBoxSizer_GetOrientation, 1366).
+-define(wxBoxSizer_destroy, 1367).
+-define(wxStaticBoxSizer_new_2, 1368).
+-define(wxStaticBoxSizer_new_3, 1369).
+-define(wxStaticBoxSizer_GetStaticBox, 1370).
+-define(wxStaticBoxSizer_destroy, 1371).
+-define(wxGridSizer_new_4, 1372).
+-define(wxGridSizer_new_2, 1373).
+-define(wxGridSizer_GetCols, 1374).
+-define(wxGridSizer_GetHGap, 1375).
+-define(wxGridSizer_GetRows, 1376).
+-define(wxGridSizer_GetVGap, 1377).
+-define(wxGridSizer_SetCols, 1378).
+-define(wxGridSizer_SetHGap, 1379).
+-define(wxGridSizer_SetRows, 1380).
+-define(wxGridSizer_SetVGap, 1381).
+-define(wxGridSizer_destroy, 1382).
+-define(wxFlexGridSizer_new_4, 1383).
+-define(wxFlexGridSizer_new_2, 1384).
+-define(wxFlexGridSizer_AddGrowableCol, 1385).
+-define(wxFlexGridSizer_AddGrowableRow, 1386).
+-define(wxFlexGridSizer_GetFlexibleDirection, 1387).
+-define(wxFlexGridSizer_GetNonFlexibleGrowMode, 1388).
+-define(wxFlexGridSizer_RemoveGrowableCol, 1389).
+-define(wxFlexGridSizer_RemoveGrowableRow, 1390).
+-define(wxFlexGridSizer_SetFlexibleDirection, 1391).
+-define(wxFlexGridSizer_SetNonFlexibleGrowMode, 1392).
+-define(wxFlexGridSizer_destroy, 1393).
+-define(wxGridBagSizer_new, 1394).
+-define(wxGridBagSizer_Add_3_2, 1395).
+-define(wxGridBagSizer_Add_3_1, 1396).
+-define(wxGridBagSizer_Add_4, 1397).
+-define(wxGridBagSizer_Add_1_0, 1398).
+-define(wxGridBagSizer_Add_2_1, 1399).
+-define(wxGridBagSizer_Add_2_0, 1400).
+-define(wxGridBagSizer_Add_3_0, 1401).
+-define(wxGridBagSizer_Add_1_1, 1402).
+-define(wxGridBagSizer_CalcMin, 1403).
+-define(wxGridBagSizer_CheckForIntersection_2, 1404).
+-define(wxGridBagSizer_CheckForIntersection_3, 1405).
+-define(wxGridBagSizer_FindItem_1_1, 1406).
+-define(wxGridBagSizer_FindItem_1_0, 1407).
+-define(wxGridBagSizer_FindItemAtPoint, 1408).
+-define(wxGridBagSizer_FindItemAtPosition, 1409).
+-define(wxGridBagSizer_FindItemWithData, 1410).
+-define(wxGridBagSizer_GetCellSize, 1411).
+-define(wxGridBagSizer_GetEmptyCellSize, 1412).
+-define(wxGridBagSizer_GetItemPosition_1_2, 1413).
+-define(wxGridBagSizer_GetItemPosition_1_1, 1414).
+-define(wxGridBagSizer_GetItemPosition_1_0, 1415).
+-define(wxGridBagSizer_GetItemSpan_1_2, 1416).
+-define(wxGridBagSizer_GetItemSpan_1_1, 1417).
+-define(wxGridBagSizer_GetItemSpan_1_0, 1418).
+-define(wxGridBagSizer_SetEmptyCellSize, 1419).
+-define(wxGridBagSizer_SetItemPosition_2_2, 1420).
+-define(wxGridBagSizer_SetItemPosition_2_1, 1421).
+-define(wxGridBagSizer_SetItemPosition_2_0, 1422).
+-define(wxGridBagSizer_SetItemSpan_2_2, 1423).
+-define(wxGridBagSizer_SetItemSpan_2_1, 1424).
+-define(wxGridBagSizer_SetItemSpan_2_0, 1425).
+-define(wxGridBagSizer_destroy, 1426).
+-define(wxStdDialogButtonSizer_new, 1427).
+-define(wxStdDialogButtonSizer_AddButton, 1428).
+-define(wxStdDialogButtonSizer_Realize, 1429).
+-define(wxStdDialogButtonSizer_SetAffirmativeButton, 1430).
+-define(wxStdDialogButtonSizer_SetCancelButton, 1431).
+-define(wxStdDialogButtonSizer_SetNegativeButton, 1432).
+-define(wxStdDialogButtonSizer_destroy, 1433).
+-define(wxFont_new_0, 1434).
+-define(wxFont_new_1, 1435).
+-define(wxFont_new_5, 1436).
+-define(wxFont_destruct, 1438).
+-define(wxFont_IsFixedWidth, 1439).
+-define(wxFont_GetDefaultEncoding, 1440).
+-define(wxFont_GetFaceName, 1441).
+-define(wxFont_GetFamily, 1442).
+-define(wxFont_GetNativeFontInfoDesc, 1443).
+-define(wxFont_GetNativeFontInfoUserDesc, 1444).
+-define(wxFont_GetPointSize, 1445).
+-define(wxFont_GetStyle, 1446).
+-define(wxFont_GetUnderlined, 1447).
+-define(wxFont_GetWeight, 1448).
+-define(wxFont_Ok, 1449).
+-define(wxFont_SetDefaultEncoding, 1450).
+-define(wxFont_SetFaceName, 1451).
+-define(wxFont_SetFamily, 1452).
+-define(wxFont_SetPointSize, 1453).
+-define(wxFont_SetStyle, 1454).
+-define(wxFont_SetUnderlined, 1455).
+-define(wxFont_SetWeight, 1456).
+-define(wxToolTip_Enable, 1457).
+-define(wxToolTip_SetDelay, 1458).
+-define(wxToolTip_new, 1459).
+-define(wxToolTip_SetTip, 1460).
+-define(wxToolTip_GetTip, 1461).
+-define(wxToolTip_GetWindow, 1462).
+-define(wxToolTip_destroy, 1463).
+-define(wxButton_new_3, 1465).
+-define(wxButton_new_0, 1466).
+-define(wxButton_destruct, 1467).
+-define(wxButton_Create, 1468).
+-define(wxButton_GetDefaultSize, 1469).
+-define(wxButton_SetDefault, 1470).
+-define(wxButton_SetLabel, 1471).
+-define(wxBitmapButton_new_4, 1473).
+-define(wxBitmapButton_new_0, 1474).
+-define(wxBitmapButton_Create, 1475).
+-define(wxBitmapButton_GetBitmapDisabled, 1476).
+-define(wxBitmapButton_GetBitmapFocus, 1478).
+-define(wxBitmapButton_GetBitmapLabel, 1480).
+-define(wxBitmapButton_GetBitmapSelected, 1482).
+-define(wxBitmapButton_SetBitmapDisabled, 1484).
+-define(wxBitmapButton_SetBitmapFocus, 1485).
+-define(wxBitmapButton_SetBitmapLabel, 1486).
+-define(wxBitmapButton_SetBitmapSelected, 1487).
+-define(wxBitmapButton_destroy, 1488).
+-define(wxToggleButton_new_0, 1489).
+-define(wxToggleButton_new_4, 1490).
+-define(wxToggleButton_Create, 1491).
+-define(wxToggleButton_GetValue, 1492).
+-define(wxToggleButton_SetValue, 1493).
+-define(wxToggleButton_destroy, 1494).
+-define(wxCalendarCtrl_new_0, 1495).
+-define(wxCalendarCtrl_new_3, 1496).
+-define(wxCalendarCtrl_Create, 1497).
+-define(wxCalendarCtrl_destruct, 1498).
+-define(wxCalendarCtrl_SetDate, 1499).
+-define(wxCalendarCtrl_GetDate, 1500).
+-define(wxCalendarCtrl_EnableYearChange, 1501).
+-define(wxCalendarCtrl_EnableMonthChange, 1502).
+-define(wxCalendarCtrl_EnableHolidayDisplay, 1503).
+-define(wxCalendarCtrl_SetHeaderColours, 1504).
+-define(wxCalendarCtrl_GetHeaderColourFg, 1505).
+-define(wxCalendarCtrl_GetHeaderColourBg, 1506).
+-define(wxCalendarCtrl_SetHighlightColours, 1507).
+-define(wxCalendarCtrl_GetHighlightColourFg, 1508).
+-define(wxCalendarCtrl_GetHighlightColourBg, 1509).
+-define(wxCalendarCtrl_SetHolidayColours, 1510).
+-define(wxCalendarCtrl_GetHolidayColourFg, 1511).
+-define(wxCalendarCtrl_GetHolidayColourBg, 1512).
+-define(wxCalendarCtrl_GetAttr, 1513).
+-define(wxCalendarCtrl_SetAttr, 1514).
+-define(wxCalendarCtrl_SetHoliday, 1515).
+-define(wxCalendarCtrl_ResetAttr, 1516).
+-define(wxCalendarCtrl_HitTest, 1517).
+-define(wxCalendarDateAttr_new_0, 1518).
+-define(wxCalendarDateAttr_new_2_1, 1519).
+-define(wxCalendarDateAttr_new_2_0, 1520).
+-define(wxCalendarDateAttr_SetTextColour, 1521).
+-define(wxCalendarDateAttr_SetBackgroundColour, 1522).
+-define(wxCalendarDateAttr_SetBorderColour, 1523).
+-define(wxCalendarDateAttr_SetFont, 1524).
+-define(wxCalendarDateAttr_SetBorder, 1525).
+-define(wxCalendarDateAttr_SetHoliday, 1526).
+-define(wxCalendarDateAttr_HasTextColour, 1527).
+-define(wxCalendarDateAttr_HasBackgroundColour, 1528).
+-define(wxCalendarDateAttr_HasBorderColour, 1529).
+-define(wxCalendarDateAttr_HasFont, 1530).
+-define(wxCalendarDateAttr_HasBorder, 1531).
+-define(wxCalendarDateAttr_IsHoliday, 1532).
+-define(wxCalendarDateAttr_GetTextColour, 1533).
+-define(wxCalendarDateAttr_GetBackgroundColour, 1534).
+-define(wxCalendarDateAttr_GetBorderColour, 1535).
+-define(wxCalendarDateAttr_GetFont, 1536).
+-define(wxCalendarDateAttr_GetBorder, 1537).
+-define(wxCalendarDateAttr_destroy, 1538).
+-define(wxCheckBox_new_4, 1540).
+-define(wxCheckBox_new_0, 1541).
+-define(wxCheckBox_Create, 1542).
+-define(wxCheckBox_GetValue, 1543).
+-define(wxCheckBox_Get3StateValue, 1544).
+-define(wxCheckBox_Is3rdStateAllowedForUser, 1545).
+-define(wxCheckBox_Is3State, 1546).
+-define(wxCheckBox_IsChecked, 1547).
+-define(wxCheckBox_SetValue, 1548).
+-define(wxCheckBox_Set3StateValue, 1549).
+-define(wxCheckBox_destroy, 1550).
+-define(wxCheckListBox_new_0, 1551).
+-define(wxCheckListBox_new_3, 1553).
+-define(wxCheckListBox_Check, 1554).
+-define(wxCheckListBox_IsChecked, 1555).
+-define(wxCheckListBox_destroy, 1556).
+-define(wxChoice_new_3, 1559).
+-define(wxChoice_new_0, 1560).
+-define(wxChoice_destruct, 1562).
+-define(wxChoice_Create, 1564).
+-define(wxChoice_Delete, 1565).
+-define(wxChoice_GetColumns, 1566).
+-define(wxChoice_SetColumns, 1567).
+-define(wxComboBox_new_0, 1568).
+-define(wxComboBox_new_3, 1570).
+-define(wxComboBox_destruct, 1571).
+-define(wxComboBox_Create, 1573).
+-define(wxComboBox_CanCopy, 1574).
+-define(wxComboBox_CanCut, 1575).
+-define(wxComboBox_CanPaste, 1576).
+-define(wxComboBox_CanRedo, 1577).
+-define(wxComboBox_CanUndo, 1578).
+-define(wxComboBox_Copy, 1579).
+-define(wxComboBox_Cut, 1580).
+-define(wxComboBox_GetInsertionPoint, 1581).
+-define(wxComboBox_GetLastPosition, 1582).
+-define(wxComboBox_GetValue, 1583).
+-define(wxComboBox_Paste, 1584).
+-define(wxComboBox_Redo, 1585).
+-define(wxComboBox_Replace, 1586).
+-define(wxComboBox_Remove, 1587).
+-define(wxComboBox_SetInsertionPoint, 1588).
+-define(wxComboBox_SetInsertionPointEnd, 1589).
+-define(wxComboBox_SetSelection_1, 1590).
+-define(wxComboBox_SetSelection_2, 1591).
+-define(wxComboBox_SetValue, 1592).
+-define(wxComboBox_Undo, 1593).
+-define(wxGauge_new_0, 1594).
+-define(wxGauge_new_4, 1595).
+-define(wxGauge_Create, 1596).
+-define(wxGauge_GetBezelFace, 1597).
+-define(wxGauge_GetRange, 1598).
+-define(wxGauge_GetShadowWidth, 1599).
+-define(wxGauge_GetValue, 1600).
+-define(wxGauge_IsVertical, 1601).
+-define(wxGauge_SetBezelFace, 1602).
+-define(wxGauge_SetRange, 1603).
+-define(wxGauge_SetShadowWidth, 1604).
+-define(wxGauge_SetValue, 1605).
+-define(wxGauge_Pulse, 1606).
+-define(wxGauge_destroy, 1607).
+-define(wxGenericDirCtrl_new_0, 1608).
+-define(wxGenericDirCtrl_new_2, 1609).
+-define(wxGenericDirCtrl_destruct, 1610).
+-define(wxGenericDirCtrl_Create, 1611).
+-define(wxGenericDirCtrl_Init, 1612).
+-define(wxGenericDirCtrl_CollapseTree, 1613).
+-define(wxGenericDirCtrl_ExpandPath, 1614).
+-define(wxGenericDirCtrl_GetDefaultPath, 1615).
+-define(wxGenericDirCtrl_GetPath, 1616).
+-define(wxGenericDirCtrl_GetFilePath, 1617).
+-define(wxGenericDirCtrl_GetFilter, 1618).
+-define(wxGenericDirCtrl_GetFilterIndex, 1619).
+-define(wxGenericDirCtrl_GetRootId, 1620).
+-define(wxGenericDirCtrl_GetTreeCtrl, 1621).
+-define(wxGenericDirCtrl_ReCreateTree, 1622).
+-define(wxGenericDirCtrl_SetDefaultPath, 1623).
+-define(wxGenericDirCtrl_SetFilter, 1624).
+-define(wxGenericDirCtrl_SetFilterIndex, 1625).
+-define(wxGenericDirCtrl_SetPath, 1626).
+-define(wxStaticBox_new_4, 1628).
+-define(wxStaticBox_new_0, 1629).
+-define(wxStaticBox_Create, 1630).
+-define(wxStaticBox_destroy, 1631).
+-define(wxStaticLine_new_2, 1633).
+-define(wxStaticLine_new_0, 1634).
+-define(wxStaticLine_Create, 1635).
+-define(wxStaticLine_IsVertical, 1636).
+-define(wxStaticLine_GetDefaultSize, 1637).
+-define(wxStaticLine_destroy, 1638).
+-define(wxListBox_new_3, 1641).
+-define(wxListBox_new_0, 1642).
+-define(wxListBox_destruct, 1644).
+-define(wxListBox_Create, 1646).
+-define(wxListBox_Deselect, 1647).
+-define(wxListBox_GetSelections, 1648).
+-define(wxListBox_InsertItems, 1649).
+-define(wxListBox_IsSelected, 1650).
+-define(wxListBox_Set, 1652).
+-define(wxListBox_HitTest, 1653).
+-define(wxListBox_SetFirstItem_1_0, 1654).
+-define(wxListBox_SetFirstItem_1_1, 1655).
+-define(wxListCtrl_new_0, 1656).
+-define(wxListCtrl_new_2, 1657).
+-define(wxListCtrl_Arrange, 1658).
+-define(wxListCtrl_AssignImageList, 1659).
+-define(wxListCtrl_ClearAll, 1660).
+-define(wxListCtrl_Create, 1661).
+-define(wxListCtrl_DeleteAllItems, 1662).
+-define(wxListCtrl_DeleteColumn, 1663).
+-define(wxListCtrl_DeleteItem, 1664).
+-define(wxListCtrl_EditLabel, 1665).
+-define(wxListCtrl_EnsureVisible, 1666).
+-define(wxListCtrl_FindItem_3_0, 1667).
+-define(wxListCtrl_FindItem_3_1, 1668).
+-define(wxListCtrl_GetColumn, 1669).
+-define(wxListCtrl_GetColumnCount, 1670).
+-define(wxListCtrl_GetColumnWidth, 1671).
+-define(wxListCtrl_GetCountPerPage, 1672).
+-define(wxListCtrl_GetEditControl, 1673).
+-define(wxListCtrl_GetImageList, 1674).
+-define(wxListCtrl_GetItem, 1675).
+-define(wxListCtrl_GetItemBackgroundColour, 1676).
+-define(wxListCtrl_GetItemCount, 1677).
+-define(wxListCtrl_GetItemData, 1678).
+-define(wxListCtrl_GetItemFont, 1679).
+-define(wxListCtrl_GetItemPosition, 1680).
+-define(wxListCtrl_GetItemRect, 1681).
+-define(wxListCtrl_GetItemSpacing, 1682).
+-define(wxListCtrl_GetItemState, 1683).
+-define(wxListCtrl_GetItemText, 1684).
+-define(wxListCtrl_GetItemTextColour, 1685).
+-define(wxListCtrl_GetNextItem, 1686).
+-define(wxListCtrl_GetSelectedItemCount, 1687).
+-define(wxListCtrl_GetTextColour, 1688).
+-define(wxListCtrl_GetTopItem, 1689).
+-define(wxListCtrl_GetViewRect, 1690).
+-define(wxListCtrl_HitTest, 1691).
+-define(wxListCtrl_InsertColumn_2, 1692).
+-define(wxListCtrl_InsertColumn_3, 1693).
+-define(wxListCtrl_InsertItem_1, 1694).
+-define(wxListCtrl_InsertItem_2_1, 1695).
+-define(wxListCtrl_InsertItem_2_0, 1696).
+-define(wxListCtrl_InsertItem_3, 1697).
+-define(wxListCtrl_RefreshItem, 1698).
+-define(wxListCtrl_RefreshItems, 1699).
+-define(wxListCtrl_ScrollList, 1700).
+-define(wxListCtrl_SetBackgroundColour, 1701).
+-define(wxListCtrl_SetColumn, 1702).
+-define(wxListCtrl_SetColumnWidth, 1703).
+-define(wxListCtrl_SetImageList, 1704).
+-define(wxListCtrl_SetItem_1, 1705).
+-define(wxListCtrl_SetItem_4, 1706).
+-define(wxListCtrl_SetItemBackgroundColour, 1707).
+-define(wxListCtrl_SetItemCount, 1708).
+-define(wxListCtrl_SetItemData, 1709).
+-define(wxListCtrl_SetItemFont, 1710).
+-define(wxListCtrl_SetItemImage, 1711).
+-define(wxListCtrl_SetItemColumnImage, 1712).
+-define(wxListCtrl_SetItemPosition, 1713).
+-define(wxListCtrl_SetItemState, 1714).
+-define(wxListCtrl_SetItemText, 1715).
+-define(wxListCtrl_SetItemTextColour, 1716).
+-define(wxListCtrl_SetSingleStyle, 1717).
+-define(wxListCtrl_SetTextColour, 1718).
+-define(wxListCtrl_SetWindowStyleFlag, 1719).
+-define(wxListCtrl_SortItems, 1720).
+-define(wxListCtrl_destroy, 1721).
+-define(wxListView_ClearColumnImage, 1722).
+-define(wxListView_Focus, 1723).
+-define(wxListView_GetFirstSelected, 1724).
+-define(wxListView_GetFocusedItem, 1725).
+-define(wxListView_GetNextSelected, 1726).
+-define(wxListView_IsSelected, 1727).
+-define(wxListView_Select, 1728).
+-define(wxListView_SetColumnImage, 1729).
+-define(wxListItem_new_0, 1730).
+-define(wxListItem_new_1, 1731).
+-define(wxListItem_destruct, 1732).
+-define(wxListItem_Clear, 1733).
+-define(wxListItem_GetAlign, 1734).
+-define(wxListItem_GetBackgroundColour, 1735).
+-define(wxListItem_GetColumn, 1736).
+-define(wxListItem_GetFont, 1737).
+-define(wxListItem_GetId, 1738).
+-define(wxListItem_GetImage, 1739).
+-define(wxListItem_GetMask, 1740).
+-define(wxListItem_GetState, 1741).
+-define(wxListItem_GetText, 1742).
+-define(wxListItem_GetTextColour, 1743).
+-define(wxListItem_GetWidth, 1744).
+-define(wxListItem_SetAlign, 1745).
+-define(wxListItem_SetBackgroundColour, 1746).
+-define(wxListItem_SetColumn, 1747).
+-define(wxListItem_SetFont, 1748).
+-define(wxListItem_SetId, 1749).
+-define(wxListItem_SetImage, 1750).
+-define(wxListItem_SetMask, 1751).
+-define(wxListItem_SetState, 1752).
+-define(wxListItem_SetStateMask, 1753).
+-define(wxListItem_SetText, 1754).
+-define(wxListItem_SetTextColour, 1755).
+-define(wxListItem_SetWidth, 1756).
+-define(wxImageList_new_0, 1757).
+-define(wxImageList_new_3, 1758).
+-define(wxImageList_Add_1, 1759).
+-define(wxImageList_Add_2_0, 1760).
+-define(wxImageList_Add_2_1, 1761).
+-define(wxImageList_Create, 1762).
+-define(wxImageList_Draw, 1764).
+-define(wxImageList_GetBitmap, 1765).
+-define(wxImageList_GetIcon, 1766).
+-define(wxImageList_GetImageCount, 1767).
+-define(wxImageList_GetSize, 1768).
+-define(wxImageList_Remove, 1769).
+-define(wxImageList_RemoveAll, 1770).
+-define(wxImageList_Replace_2, 1771).
+-define(wxImageList_Replace_3, 1772).
+-define(wxImageList_destroy, 1773).
+-define(wxTextAttr_new_0, 1774).
+-define(wxTextAttr_new_2, 1775).
+-define(wxTextAttr_GetAlignment, 1776).
+-define(wxTextAttr_GetBackgroundColour, 1777).
+-define(wxTextAttr_GetFont, 1778).
+-define(wxTextAttr_GetLeftIndent, 1779).
+-define(wxTextAttr_GetLeftSubIndent, 1780).
+-define(wxTextAttr_GetRightIndent, 1781).
+-define(wxTextAttr_GetTabs, 1782).
+-define(wxTextAttr_GetTextColour, 1783).
+-define(wxTextAttr_HasBackgroundColour, 1784).
+-define(wxTextAttr_HasFont, 1785).
+-define(wxTextAttr_HasTextColour, 1786).
+-define(wxTextAttr_GetFlags, 1787).
+-define(wxTextAttr_IsDefault, 1788).
+-define(wxTextAttr_SetAlignment, 1789).
+-define(wxTextAttr_SetBackgroundColour, 1790).
+-define(wxTextAttr_SetFlags, 1791).
+-define(wxTextAttr_SetFont, 1792).
+-define(wxTextAttr_SetLeftIndent, 1793).
+-define(wxTextAttr_SetRightIndent, 1794).
+-define(wxTextAttr_SetTabs, 1795).
+-define(wxTextAttr_SetTextColour, 1796).
+-define(wxTextAttr_destroy, 1797).
+-define(wxTextCtrl_new_3, 1799).
+-define(wxTextCtrl_new_0, 1800).
+-define(wxTextCtrl_destruct, 1802).
+-define(wxTextCtrl_AppendText, 1803).
+-define(wxTextCtrl_CanCopy, 1804).
+-define(wxTextCtrl_CanCut, 1805).
+-define(wxTextCtrl_CanPaste, 1806).
+-define(wxTextCtrl_CanRedo, 1807).
+-define(wxTextCtrl_CanUndo, 1808).
+-define(wxTextCtrl_Clear, 1809).
+-define(wxTextCtrl_Copy, 1810).
+-define(wxTextCtrl_Create, 1811).
+-define(wxTextCtrl_Cut, 1812).
+-define(wxTextCtrl_DiscardEdits, 1813).
+-define(wxTextCtrl_EmulateKeyPress, 1814).
+-define(wxTextCtrl_GetDefaultStyle, 1815).
+-define(wxTextCtrl_GetInsertionPoint, 1816).
+-define(wxTextCtrl_GetLastPosition, 1817).
+-define(wxTextCtrl_GetLineLength, 1818).
+-define(wxTextCtrl_GetLineText, 1819).
+-define(wxTextCtrl_GetNumberOfLines, 1820).
+-define(wxTextCtrl_GetRange, 1821).
+-define(wxTextCtrl_GetSelection, 1822).
+-define(wxTextCtrl_GetStringSelection, 1823).
+-define(wxTextCtrl_GetStyle, 1824).
+-define(wxTextCtrl_GetValue, 1825).
+-define(wxTextCtrl_IsEditable, 1826).
+-define(wxTextCtrl_IsModified, 1827).
+-define(wxTextCtrl_IsMultiLine, 1828).
+-define(wxTextCtrl_IsSingleLine, 1829).
+-define(wxTextCtrl_LoadFile, 1830).
+-define(wxTextCtrl_MarkDirty, 1831).
+-define(wxTextCtrl_Paste, 1832).
+-define(wxTextCtrl_PositionToXY, 1833).
+-define(wxTextCtrl_Redo, 1834).
+-define(wxTextCtrl_Remove, 1835).
+-define(wxTextCtrl_Replace, 1836).
+-define(wxTextCtrl_SaveFile, 1837).
+-define(wxTextCtrl_SetDefaultStyle, 1838).
+-define(wxTextCtrl_SetEditable, 1839).
+-define(wxTextCtrl_SetInsertionPoint, 1840).
+-define(wxTextCtrl_SetInsertionPointEnd, 1841).
+-define(wxTextCtrl_SetMaxLength, 1843).
+-define(wxTextCtrl_SetSelection, 1844).
+-define(wxTextCtrl_SetStyle, 1845).
+-define(wxTextCtrl_SetValue, 1846).
+-define(wxTextCtrl_ShowPosition, 1847).
+-define(wxTextCtrl_Undo, 1848).
+-define(wxTextCtrl_WriteText, 1849).
+-define(wxTextCtrl_XYToPosition, 1850).
+-define(wxNotebook_new_0, 1853).
+-define(wxNotebook_new_3, 1854).
+-define(wxNotebook_destruct, 1855).
+-define(wxNotebook_AddPage, 1856).
+-define(wxNotebook_AdvanceSelection, 1857).
+-define(wxNotebook_AssignImageList, 1858).
+-define(wxNotebook_Create, 1859).
+-define(wxNotebook_DeleteAllPages, 1860).
+-define(wxNotebook_DeletePage, 1861).
+-define(wxNotebook_RemovePage, 1862).
+-define(wxNotebook_GetCurrentPage, 1863).
+-define(wxNotebook_GetImageList, 1864).
+-define(wxNotebook_GetPage, 1866).
+-define(wxNotebook_GetPageCount, 1867).
+-define(wxNotebook_GetPageImage, 1868).
+-define(wxNotebook_GetPageText, 1869).
+-define(wxNotebook_GetRowCount, 1870).
+-define(wxNotebook_GetSelection, 1871).
+-define(wxNotebook_GetThemeBackgroundColour, 1872).
+-define(wxNotebook_HitTest, 1874).
+-define(wxNotebook_InsertPage, 1876).
+-define(wxNotebook_SetImageList, 1877).
+-define(wxNotebook_SetPadding, 1878).
+-define(wxNotebook_SetPageSize, 1879).
+-define(wxNotebook_SetPageImage, 1880).
+-define(wxNotebook_SetPageText, 1881).
+-define(wxNotebook_SetSelection, 1882).
+-define(wxNotebook_ChangeSelection, 1883).
+-define(wxChoicebook_new_0, 1884).
+-define(wxChoicebook_new_3, 1885).
+-define(wxChoicebook_AddPage, 1886).
+-define(wxChoicebook_AdvanceSelection, 1887).
+-define(wxChoicebook_AssignImageList, 1888).
+-define(wxChoicebook_Create, 1889).
+-define(wxChoicebook_DeleteAllPages, 1890).
+-define(wxChoicebook_DeletePage, 1891).
+-define(wxChoicebook_RemovePage, 1892).
+-define(wxChoicebook_GetCurrentPage, 1893).
+-define(wxChoicebook_GetImageList, 1894).
+-define(wxChoicebook_GetPage, 1896).
+-define(wxChoicebook_GetPageCount, 1897).
+-define(wxChoicebook_GetPageImage, 1898).
+-define(wxChoicebook_GetPageText, 1899).
+-define(wxChoicebook_GetSelection, 1900).
+-define(wxChoicebook_HitTest, 1901).
+-define(wxChoicebook_InsertPage, 1902).
+-define(wxChoicebook_SetImageList, 1903).
+-define(wxChoicebook_SetPageSize, 1904).
+-define(wxChoicebook_SetPageImage, 1905).
+-define(wxChoicebook_SetPageText, 1906).
+-define(wxChoicebook_SetSelection, 1907).
+-define(wxChoicebook_ChangeSelection, 1908).
+-define(wxChoicebook_destroy, 1909).
+-define(wxToolbook_new_0, 1910).
+-define(wxToolbook_new_3, 1911).
+-define(wxToolbook_AddPage, 1912).
+-define(wxToolbook_AdvanceSelection, 1913).
+-define(wxToolbook_AssignImageList, 1914).
+-define(wxToolbook_Create, 1915).
+-define(wxToolbook_DeleteAllPages, 1916).
+-define(wxToolbook_DeletePage, 1917).
+-define(wxToolbook_RemovePage, 1918).
+-define(wxToolbook_GetCurrentPage, 1919).
+-define(wxToolbook_GetImageList, 1920).
+-define(wxToolbook_GetPage, 1922).
+-define(wxToolbook_GetPageCount, 1923).
+-define(wxToolbook_GetPageImage, 1924).
+-define(wxToolbook_GetPageText, 1925).
+-define(wxToolbook_GetSelection, 1926).
+-define(wxToolbook_HitTest, 1928).
+-define(wxToolbook_InsertPage, 1929).
+-define(wxToolbook_SetImageList, 1930).
+-define(wxToolbook_SetPageSize, 1931).
+-define(wxToolbook_SetPageImage, 1932).
+-define(wxToolbook_SetPageText, 1933).
+-define(wxToolbook_SetSelection, 1934).
+-define(wxToolbook_ChangeSelection, 1935).
+-define(wxToolbook_destroy, 1936).
+-define(wxListbook_new_0, 1937).
+-define(wxListbook_new_3, 1938).
+-define(wxListbook_AddPage, 1939).
+-define(wxListbook_AdvanceSelection, 1940).
+-define(wxListbook_AssignImageList, 1941).
+-define(wxListbook_Create, 1942).
+-define(wxListbook_DeleteAllPages, 1943).
+-define(wxListbook_DeletePage, 1944).
+-define(wxListbook_RemovePage, 1945).
+-define(wxListbook_GetCurrentPage, 1946).
+-define(wxListbook_GetImageList, 1947).
+-define(wxListbook_GetPage, 1949).
+-define(wxListbook_GetPageCount, 1950).
+-define(wxListbook_GetPageImage, 1951).
+-define(wxListbook_GetPageText, 1952).
+-define(wxListbook_GetSelection, 1953).
+-define(wxListbook_HitTest, 1955).
+-define(wxListbook_InsertPage, 1956).
+-define(wxListbook_SetImageList, 1957).
+-define(wxListbook_SetPageSize, 1958).
+-define(wxListbook_SetPageImage, 1959).
+-define(wxListbook_SetPageText, 1960).
+-define(wxListbook_SetSelection, 1961).
+-define(wxListbook_ChangeSelection, 1962).
+-define(wxListbook_destroy, 1963).
+-define(wxTreebook_new_0, 1964).
+-define(wxTreebook_new_3, 1965).
+-define(wxTreebook_AddPage, 1966).
+-define(wxTreebook_AdvanceSelection, 1967).
+-define(wxTreebook_AssignImageList, 1968).
+-define(wxTreebook_Create, 1969).
+-define(wxTreebook_DeleteAllPages, 1970).
+-define(wxTreebook_DeletePage, 1971).
+-define(wxTreebook_RemovePage, 1972).
+-define(wxTreebook_GetCurrentPage, 1973).
+-define(wxTreebook_GetImageList, 1974).
+-define(wxTreebook_GetPage, 1976).
+-define(wxTreebook_GetPageCount, 1977).
+-define(wxTreebook_GetPageImage, 1978).
+-define(wxTreebook_GetPageText, 1979).
+-define(wxTreebook_GetSelection, 1980).
+-define(wxTreebook_ExpandNode, 1981).
+-define(wxTreebook_IsNodeExpanded, 1982).
+-define(wxTreebook_HitTest, 1984).
+-define(wxTreebook_InsertPage, 1985).
+-define(wxTreebook_InsertSubPage, 1986).
+-define(wxTreebook_SetImageList, 1987).
+-define(wxTreebook_SetPageSize, 1988).
+-define(wxTreebook_SetPageImage, 1989).
+-define(wxTreebook_SetPageText, 1990).
+-define(wxTreebook_SetSelection, 1991).
+-define(wxTreebook_ChangeSelection, 1992).
+-define(wxTreebook_destroy, 1993).
+-define(wxTreeCtrl_new_2, 1996).
+-define(wxTreeCtrl_new_0, 1997).
+-define(wxTreeCtrl_destruct, 1999).
+-define(wxTreeCtrl_AddRoot, 2000).
+-define(wxTreeCtrl_AppendItem, 2001).
+-define(wxTreeCtrl_AssignImageList, 2002).
+-define(wxTreeCtrl_AssignStateImageList, 2003).
+-define(wxTreeCtrl_Collapse, 2004).
+-define(wxTreeCtrl_CollapseAndReset, 2005).
+-define(wxTreeCtrl_Create, 2006).
+-define(wxTreeCtrl_Delete, 2007).
+-define(wxTreeCtrl_DeleteAllItems, 2008).
+-define(wxTreeCtrl_DeleteChildren, 2009).
+-define(wxTreeCtrl_EnsureVisible, 2010).
+-define(wxTreeCtrl_Expand, 2011).
+-define(wxTreeCtrl_GetBoundingRect, 2012).
+-define(wxTreeCtrl_GetChildrenCount, 2014).
+-define(wxTreeCtrl_GetCount, 2015).
+-define(wxTreeCtrl_GetEditControl, 2016).
+-define(wxTreeCtrl_GetFirstChild, 2017).
+-define(wxTreeCtrl_GetNextChild, 2018).
+-define(wxTreeCtrl_GetFirstVisibleItem, 2019).
+-define(wxTreeCtrl_GetImageList, 2020).
+-define(wxTreeCtrl_GetIndent, 2021).
+-define(wxTreeCtrl_GetItemBackgroundColour, 2022).
+-define(wxTreeCtrl_GetItemData, 2023).
+-define(wxTreeCtrl_GetItemFont, 2024).
+-define(wxTreeCtrl_GetItemImage_1, 2025).
+-define(wxTreeCtrl_GetItemImage_2, 2026).
+-define(wxTreeCtrl_GetItemText, 2027).
+-define(wxTreeCtrl_GetItemTextColour, 2028).
+-define(wxTreeCtrl_GetLastChild, 2029).
+-define(wxTreeCtrl_GetNextSibling, 2030).
+-define(wxTreeCtrl_GetNextVisible, 2031).
+-define(wxTreeCtrl_GetItemParent, 2032).
+-define(wxTreeCtrl_GetPrevSibling, 2033).
+-define(wxTreeCtrl_GetPrevVisible, 2034).
+-define(wxTreeCtrl_GetRootItem, 2035).
+-define(wxTreeCtrl_GetSelection, 2036).
+-define(wxTreeCtrl_GetSelections, 2037).
+-define(wxTreeCtrl_GetStateImageList, 2038).
+-define(wxTreeCtrl_HitTest, 2039).
+-define(wxTreeCtrl_InsertItem, 2041).
+-define(wxTreeCtrl_IsBold, 2042).
+-define(wxTreeCtrl_IsExpanded, 2043).
+-define(wxTreeCtrl_IsSelected, 2044).
+-define(wxTreeCtrl_IsVisible, 2045).
+-define(wxTreeCtrl_ItemHasChildren, 2046).
+-define(wxTreeCtrl_PrependItem, 2047).
+-define(wxTreeCtrl_ScrollTo, 2048).
+-define(wxTreeCtrl_SelectItem_1, 2049).
+-define(wxTreeCtrl_SelectItem_2, 2050).
+-define(wxTreeCtrl_SetIndent, 2051).
+-define(wxTreeCtrl_SetImageList, 2052).
+-define(wxTreeCtrl_SetItemBackgroundColour, 2053).
+-define(wxTreeCtrl_SetItemBold, 2054).
+-define(wxTreeCtrl_SetItemData, 2055).
+-define(wxTreeCtrl_SetItemDropHighlight, 2056).
+-define(wxTreeCtrl_SetItemFont, 2057).
+-define(wxTreeCtrl_SetItemHasChildren, 2058).
+-define(wxTreeCtrl_SetItemImage_2, 2059).
+-define(wxTreeCtrl_SetItemImage_3, 2060).
+-define(wxTreeCtrl_SetItemText, 2061).
+-define(wxTreeCtrl_SetItemTextColour, 2062).
+-define(wxTreeCtrl_SetStateImageList, 2063).
+-define(wxTreeCtrl_SetWindowStyle, 2064).
+-define(wxTreeCtrl_SortChildren, 2065).
+-define(wxTreeCtrl_Toggle, 2066).
+-define(wxTreeCtrl_ToggleItemSelection, 2067).
+-define(wxTreeCtrl_Unselect, 2068).
+-define(wxTreeCtrl_UnselectAll, 2069).
+-define(wxTreeCtrl_UnselectItem, 2070).
+-define(wxScrollBar_new_0, 2071).
+-define(wxScrollBar_new_3, 2072).
+-define(wxScrollBar_destruct, 2073).
+-define(wxScrollBar_Create, 2074).
+-define(wxScrollBar_GetRange, 2075).
+-define(wxScrollBar_GetPageSize, 2076).
+-define(wxScrollBar_GetThumbPosition, 2077).
+-define(wxScrollBar_GetThumbSize, 2078).
+-define(wxScrollBar_SetThumbPosition, 2079).
+-define(wxScrollBar_SetScrollbar, 2080).
+-define(wxSpinButton_new_2, 2082).
+-define(wxSpinButton_new_0, 2083).
+-define(wxSpinButton_Create, 2084).
+-define(wxSpinButton_GetMax, 2085).
+-define(wxSpinButton_GetMin, 2086).
+-define(wxSpinButton_GetValue, 2087).
+-define(wxSpinButton_SetRange, 2088).
+-define(wxSpinButton_SetValue, 2089).
+-define(wxSpinButton_destroy, 2090).
+-define(wxSpinCtrl_new_0, 2091).
+-define(wxSpinCtrl_new_2, 2092).
+-define(wxSpinCtrl_Create, 2094).
+-define(wxSpinCtrl_SetValue_1_1, 2097).
+-define(wxSpinCtrl_SetValue_1_0, 2098).
+-define(wxSpinCtrl_GetValue, 2100).
+-define(wxSpinCtrl_SetRange, 2102).
+-define(wxSpinCtrl_SetSelection, 2103).
+-define(wxSpinCtrl_GetMin, 2105).
+-define(wxSpinCtrl_GetMax, 2107).
+-define(wxSpinCtrl_destroy, 2108).
+-define(wxStaticText_new_0, 2109).
+-define(wxStaticText_new_4, 2110).
+-define(wxStaticText_Create, 2111).
+-define(wxStaticText_GetLabel, 2112).
+-define(wxStaticText_SetLabel, 2113).
+-define(wxStaticText_Wrap, 2114).
+-define(wxStaticText_destroy, 2115).
+-define(wxStaticBitmap_new_0, 2116).
+-define(wxStaticBitmap_new_4, 2117).
+-define(wxStaticBitmap_Create, 2118).
+-define(wxStaticBitmap_GetBitmap, 2119).
+-define(wxStaticBitmap_SetBitmap, 2120).
+-define(wxStaticBitmap_destroy, 2121).
+-define(wxRadioBox_new, 2122).
+-define(wxRadioBox_destruct, 2124).
+-define(wxRadioBox_Create, 2125).
+-define(wxRadioBox_Enable_2, 2126).
+-define(wxRadioBox_Enable_1, 2127).
+-define(wxRadioBox_GetSelection, 2128).
+-define(wxRadioBox_GetString, 2129).
+-define(wxRadioBox_SetSelection, 2130).
+-define(wxRadioBox_Show_2, 2131).
+-define(wxRadioBox_Show_1, 2132).
+-define(wxRadioBox_GetColumnCount, 2133).
+-define(wxRadioBox_GetItemHelpText, 2134).
+-define(wxRadioBox_GetItemToolTip, 2135).
+-define(wxRadioBox_GetItemFromPoint, 2137).
+-define(wxRadioBox_GetRowCount, 2138).
+-define(wxRadioBox_IsItemEnabled, 2139).
+-define(wxRadioBox_IsItemShown, 2140).
+-define(wxRadioBox_SetItemHelpText, 2141).
+-define(wxRadioBox_SetItemToolTip, 2142).
+-define(wxRadioButton_new_0, 2143).
+-define(wxRadioButton_new_4, 2144).
+-define(wxRadioButton_Create, 2145).
+-define(wxRadioButton_GetValue, 2146).
+-define(wxRadioButton_SetValue, 2147).
+-define(wxRadioButton_destroy, 2148).
+-define(wxSlider_new_6, 2150).
+-define(wxSlider_new_0, 2151).
+-define(wxSlider_Create, 2152).
+-define(wxSlider_GetLineSize, 2153).
+-define(wxSlider_GetMax, 2154).
+-define(wxSlider_GetMin, 2155).
+-define(wxSlider_GetPageSize, 2156).
+-define(wxSlider_GetThumbLength, 2157).
+-define(wxSlider_GetValue, 2158).
+-define(wxSlider_SetLineSize, 2159).
+-define(wxSlider_SetPageSize, 2160).
+-define(wxSlider_SetRange, 2161).
+-define(wxSlider_SetThumbLength, 2162).
+-define(wxSlider_SetValue, 2163).
+-define(wxSlider_destroy, 2164).
+-define(wxDialog_new_4, 2166).
+-define(wxDialog_new_0, 2167).
+-define(wxDialog_destruct, 2169).
+-define(wxDialog_Create, 2170).
+-define(wxDialog_CreateButtonSizer, 2171).
+-define(wxDialog_CreateStdDialogButtonSizer, 2172).
+-define(wxDialog_EndModal, 2173).
+-define(wxDialog_GetAffirmativeId, 2174).
+-define(wxDialog_GetReturnCode, 2175).
+-define(wxDialog_IsModal, 2176).
+-define(wxDialog_SetAffirmativeId, 2177).
+-define(wxDialog_SetReturnCode, 2178).
+-define(wxDialog_Show, 2179).
+-define(wxDialog_ShowModal, 2180).
+-define(wxColourDialog_new_0, 2181).
+-define(wxColourDialog_new_2, 2182).
+-define(wxColourDialog_destruct, 2183).
+-define(wxColourDialog_Create, 2184).
+-define(wxColourDialog_GetColourData, 2185).
+-define(wxColourData_new_0, 2186).
+-define(wxColourData_new_1, 2187).
+-define(wxColourData_destruct, 2188).
+-define(wxColourData_GetChooseFull, 2189).
+-define(wxColourData_GetColour, 2190).
+-define(wxColourData_GetCustomColour, 2192).
+-define(wxColourData_SetChooseFull, 2193).
+-define(wxColourData_SetColour, 2194).
+-define(wxColourData_SetCustomColour, 2195).
+-define(wxPalette_new_0, 2196).
+-define(wxPalette_new_4, 2197).
+-define(wxPalette_destruct, 2199).
+-define(wxPalette_Create, 2200).
+-define(wxPalette_GetColoursCount, 2201).
+-define(wxPalette_GetPixel, 2202).
+-define(wxPalette_GetRGB, 2203).
+-define(wxPalette_IsOk, 2204).
+-define(wxDirDialog_new, 2208).
+-define(wxDirDialog_destruct, 2209).
+-define(wxDirDialog_GetPath, 2210).
+-define(wxDirDialog_GetMessage, 2211).
+-define(wxDirDialog_SetMessage, 2212).
+-define(wxDirDialog_SetPath, 2213).
+-define(wxFileDialog_new, 2217).
+-define(wxFileDialog_destruct, 2218).
+-define(wxFileDialog_GetDirectory, 2219).
+-define(wxFileDialog_GetFilename, 2220).
+-define(wxFileDialog_GetFilenames, 2221).
+-define(wxFileDialog_GetFilterIndex, 2222).
+-define(wxFileDialog_GetMessage, 2223).
+-define(wxFileDialog_GetPath, 2224).
+-define(wxFileDialog_GetPaths, 2225).
+-define(wxFileDialog_GetWildcard, 2226).
+-define(wxFileDialog_SetDirectory, 2227).
+-define(wxFileDialog_SetFilename, 2228).
+-define(wxFileDialog_SetFilterIndex, 2229).
+-define(wxFileDialog_SetMessage, 2230).
+-define(wxFileDialog_SetPath, 2231).
+-define(wxFileDialog_SetWildcard, 2232).
+-define(wxPickerBase_SetInternalMargin, 2233).
+-define(wxPickerBase_GetInternalMargin, 2234).
+-define(wxPickerBase_SetTextCtrlProportion, 2235).
+-define(wxPickerBase_SetPickerCtrlProportion, 2236).
+-define(wxPickerBase_GetTextCtrlProportion, 2237).
+-define(wxPickerBase_GetPickerCtrlProportion, 2238).
+-define(wxPickerBase_HasTextCtrl, 2239).
+-define(wxPickerBase_GetTextCtrl, 2240).
+-define(wxPickerBase_IsTextCtrlGrowable, 2241).
+-define(wxPickerBase_SetPickerCtrlGrowable, 2242).
+-define(wxPickerBase_SetTextCtrlGrowable, 2243).
+-define(wxPickerBase_IsPickerCtrlGrowable, 2244).
+-define(wxFilePickerCtrl_new_0, 2245).
+-define(wxFilePickerCtrl_new_3, 2246).
+-define(wxFilePickerCtrl_Create, 2247).
+-define(wxFilePickerCtrl_GetPath, 2248).
+-define(wxFilePickerCtrl_SetPath, 2249).
+-define(wxFilePickerCtrl_destroy, 2250).
+-define(wxDirPickerCtrl_new_0, 2251).
+-define(wxDirPickerCtrl_new_3, 2252).
+-define(wxDirPickerCtrl_Create, 2253).
+-define(wxDirPickerCtrl_GetPath, 2254).
+-define(wxDirPickerCtrl_SetPath, 2255).
+-define(wxDirPickerCtrl_destroy, 2256).
+-define(wxColourPickerCtrl_new_0, 2257).
+-define(wxColourPickerCtrl_new_3, 2258).
+-define(wxColourPickerCtrl_Create, 2259).
+-define(wxColourPickerCtrl_GetColour, 2260).
+-define(wxColourPickerCtrl_SetColour_1_1, 2261).
+-define(wxColourPickerCtrl_SetColour_1_0, 2262).
+-define(wxColourPickerCtrl_destroy, 2263).
+-define(wxDatePickerCtrl_new_0, 2264).
+-define(wxDatePickerCtrl_new_3, 2265).
+-define(wxDatePickerCtrl_GetRange, 2266).
+-define(wxDatePickerCtrl_GetValue, 2267).
+-define(wxDatePickerCtrl_SetRange, 2268).
+-define(wxDatePickerCtrl_SetValue, 2269).
+-define(wxDatePickerCtrl_destroy, 2270).
+-define(wxFontPickerCtrl_new_0, 2271).
+-define(wxFontPickerCtrl_new_3, 2272).
+-define(wxFontPickerCtrl_Create, 2273).
+-define(wxFontPickerCtrl_GetSelectedFont, 2274).
+-define(wxFontPickerCtrl_SetSelectedFont, 2275).
+-define(wxFontPickerCtrl_GetMaxPointSize, 2276).
+-define(wxFontPickerCtrl_SetMaxPointSize, 2277).
+-define(wxFontPickerCtrl_destroy, 2278).
+-define(wxFindReplaceDialog_new_0, 2281).
+-define(wxFindReplaceDialog_new_4, 2282).
+-define(wxFindReplaceDialog_destruct, 2283).
+-define(wxFindReplaceDialog_Create, 2284).
+-define(wxFindReplaceDialog_GetData, 2285).
+-define(wxFindReplaceData_new_0, 2286).
+-define(wxFindReplaceData_new_1, 2287).
+-define(wxFindReplaceData_GetFindString, 2288).
+-define(wxFindReplaceData_GetReplaceString, 2289).
+-define(wxFindReplaceData_GetFlags, 2290).
+-define(wxFindReplaceData_SetFlags, 2291).
+-define(wxFindReplaceData_SetFindString, 2292).
+-define(wxFindReplaceData_SetReplaceString, 2293).
+-define(wxFindReplaceData_destroy, 2294).
+-define(wxMultiChoiceDialog_new_0, 2295).
+-define(wxMultiChoiceDialog_new_5, 2297).
+-define(wxMultiChoiceDialog_GetSelections, 2298).
+-define(wxMultiChoiceDialog_SetSelections, 2299).
+-define(wxMultiChoiceDialog_destroy, 2300).
+-define(wxSingleChoiceDialog_new_0, 2301).
+-define(wxSingleChoiceDialog_new_5, 2303).
+-define(wxSingleChoiceDialog_GetSelection, 2304).
+-define(wxSingleChoiceDialog_GetStringSelection, 2305).
+-define(wxSingleChoiceDialog_SetSelection, 2306).
+-define(wxSingleChoiceDialog_destroy, 2307).
+-define(wxTextEntryDialog_new, 2308).
+-define(wxTextEntryDialog_GetValue, 2309).
+-define(wxTextEntryDialog_SetValue, 2310).
+-define(wxTextEntryDialog_destroy, 2311).
+-define(wxPasswordEntryDialog_new, 2312).
+-define(wxPasswordEntryDialog_destroy, 2313).
+-define(wxFontData_new_0, 2314).
+-define(wxFontData_new_1, 2315).
+-define(wxFontData_destruct, 2316).
+-define(wxFontData_EnableEffects, 2317).
+-define(wxFontData_GetAllowSymbols, 2318).
+-define(wxFontData_GetColour, 2319).
+-define(wxFontData_GetChosenFont, 2320).
+-define(wxFontData_GetEnableEffects, 2321).
+-define(wxFontData_GetInitialFont, 2322).
+-define(wxFontData_GetShowHelp, 2323).
+-define(wxFontData_SetAllowSymbols, 2324).
+-define(wxFontData_SetChosenFont, 2325).
+-define(wxFontData_SetColour, 2326).
+-define(wxFontData_SetInitialFont, 2327).
+-define(wxFontData_SetRange, 2328).
+-define(wxFontData_SetShowHelp, 2329).
+-define(wxFontDialog_new_0, 2333).
+-define(wxFontDialog_new_2, 2335).
+-define(wxFontDialog_Create, 2337).
+-define(wxFontDialog_GetFontData, 2338).
+-define(wxFontDialog_destroy, 2340).
+-define(wxProgressDialog_new, 2341).
+-define(wxProgressDialog_destruct, 2342).
+-define(wxProgressDialog_Resume, 2343).
+-define(wxProgressDialog_Update_2, 2344).
+-define(wxProgressDialog_Update_0, 2345).
+-define(wxMessageDialog_new, 2346).
+-define(wxMessageDialog_destruct, 2347).
+-define(wxPageSetupDialog_new, 2348).
+-define(wxPageSetupDialog_destruct, 2349).
+-define(wxPageSetupDialog_GetPageSetupData, 2350).
+-define(wxPageSetupDialog_ShowModal, 2351).
+-define(wxPageSetupDialogData_new_0, 2352).
+-define(wxPageSetupDialogData_new_1_0, 2353).
+-define(wxPageSetupDialogData_new_1_1, 2354).
+-define(wxPageSetupDialogData_destruct, 2355).
+-define(wxPageSetupDialogData_EnableHelp, 2356).
+-define(wxPageSetupDialogData_EnableMargins, 2357).
+-define(wxPageSetupDialogData_EnableOrientation, 2358).
+-define(wxPageSetupDialogData_EnablePaper, 2359).
+-define(wxPageSetupDialogData_EnablePrinter, 2360).
+-define(wxPageSetupDialogData_GetDefaultMinMargins, 2361).
+-define(wxPageSetupDialogData_GetEnableMargins, 2362).
+-define(wxPageSetupDialogData_GetEnableOrientation, 2363).
+-define(wxPageSetupDialogData_GetEnablePaper, 2364).
+-define(wxPageSetupDialogData_GetEnablePrinter, 2365).
+-define(wxPageSetupDialogData_GetEnableHelp, 2366).
+-define(wxPageSetupDialogData_GetDefaultInfo, 2367).
+-define(wxPageSetupDialogData_GetMarginTopLeft, 2368).
+-define(wxPageSetupDialogData_GetMarginBottomRight, 2369).
+-define(wxPageSetupDialogData_GetMinMarginTopLeft, 2370).
+-define(wxPageSetupDialogData_GetMinMarginBottomRight, 2371).
+-define(wxPageSetupDialogData_GetPaperId, 2372).
+-define(wxPageSetupDialogData_GetPaperSize, 2373).
+-define(wxPageSetupDialogData_GetPrintData, 2375).
+-define(wxPageSetupDialogData_IsOk, 2376).
+-define(wxPageSetupDialogData_SetDefaultInfo, 2377).
+-define(wxPageSetupDialogData_SetDefaultMinMargins, 2378).
+-define(wxPageSetupDialogData_SetMarginTopLeft, 2379).
+-define(wxPageSetupDialogData_SetMarginBottomRight, 2380).
+-define(wxPageSetupDialogData_SetMinMarginTopLeft, 2381).
+-define(wxPageSetupDialogData_SetMinMarginBottomRight, 2382).
+-define(wxPageSetupDialogData_SetPaperId, 2383).
+-define(wxPageSetupDialogData_SetPaperSize_1_1, 2384).
+-define(wxPageSetupDialogData_SetPaperSize_1_0, 2385).
+-define(wxPageSetupDialogData_SetPrintData, 2386).
+-define(wxPrintDialog_new_2_0, 2387).
+-define(wxPrintDialog_new_2_1, 2388).
+-define(wxPrintDialog_destruct, 2389).
+-define(wxPrintDialog_GetPrintDialogData, 2390).
+-define(wxPrintDialog_GetPrintDC, 2391).
+-define(wxPrintDialogData_new_0, 2392).
+-define(wxPrintDialogData_new_1_1, 2393).
+-define(wxPrintDialogData_new_1_0, 2394).
+-define(wxPrintDialogData_destruct, 2395).
+-define(wxPrintDialogData_EnableHelp, 2396).
+-define(wxPrintDialogData_EnablePageNumbers, 2397).
+-define(wxPrintDialogData_EnablePrintToFile, 2398).
+-define(wxPrintDialogData_EnableSelection, 2399).
+-define(wxPrintDialogData_GetAllPages, 2400).
+-define(wxPrintDialogData_GetCollate, 2401).
+-define(wxPrintDialogData_GetFromPage, 2402).
+-define(wxPrintDialogData_GetMaxPage, 2403).
+-define(wxPrintDialogData_GetMinPage, 2404).
+-define(wxPrintDialogData_GetNoCopies, 2405).
+-define(wxPrintDialogData_GetPrintData, 2406).
+-define(wxPrintDialogData_GetPrintToFile, 2407).
+-define(wxPrintDialogData_GetSelection, 2408).
+-define(wxPrintDialogData_GetToPage, 2409).
+-define(wxPrintDialogData_IsOk, 2410).
+-define(wxPrintDialogData_SetCollate, 2411).
+-define(wxPrintDialogData_SetFromPage, 2412).
+-define(wxPrintDialogData_SetMaxPage, 2413).
+-define(wxPrintDialogData_SetMinPage, 2414).
+-define(wxPrintDialogData_SetNoCopies, 2415).
+-define(wxPrintDialogData_SetPrintData, 2416).
+-define(wxPrintDialogData_SetPrintToFile, 2417).
+-define(wxPrintDialogData_SetSelection, 2418).
+-define(wxPrintDialogData_SetToPage, 2419).
+-define(wxPrintData_new_0, 2420).
+-define(wxPrintData_new_1, 2421).
+-define(wxPrintData_destruct, 2422).
+-define(wxPrintData_GetCollate, 2423).
+-define(wxPrintData_GetBin, 2424).
+-define(wxPrintData_GetColour, 2425).
+-define(wxPrintData_GetDuplex, 2426).
+-define(wxPrintData_GetNoCopies, 2427).
+-define(wxPrintData_GetOrientation, 2428).
+-define(wxPrintData_GetPaperId, 2429).
+-define(wxPrintData_GetPrinterName, 2430).
+-define(wxPrintData_GetQuality, 2431).
+-define(wxPrintData_IsOk, 2432).
+-define(wxPrintData_SetBin, 2433).
+-define(wxPrintData_SetCollate, 2434).
+-define(wxPrintData_SetColour, 2435).
+-define(wxPrintData_SetDuplex, 2436).
+-define(wxPrintData_SetNoCopies, 2437).
+-define(wxPrintData_SetOrientation, 2438).
+-define(wxPrintData_SetPaperId, 2439).
+-define(wxPrintData_SetPrinterName, 2440).
+-define(wxPrintData_SetQuality, 2441).
+-define(wxPrintPreview_new_2, 2444).
+-define(wxPrintPreview_new_3, 2445).
+-define(wxPrintPreview_destruct, 2447).
+-define(wxPrintPreview_GetCanvas, 2448).
+-define(wxPrintPreview_GetCurrentPage, 2449).
+-define(wxPrintPreview_GetFrame, 2450).
+-define(wxPrintPreview_GetMaxPage, 2451).
+-define(wxPrintPreview_GetMinPage, 2452).
+-define(wxPrintPreview_GetPrintout, 2453).
+-define(wxPrintPreview_GetPrintoutForPrinting, 2454).
+-define(wxPrintPreview_IsOk, 2455).
+-define(wxPrintPreview_PaintPage, 2456).
+-define(wxPrintPreview_Print, 2457).
+-define(wxPrintPreview_RenderPage, 2458).
+-define(wxPrintPreview_SetCanvas, 2459).
+-define(wxPrintPreview_SetCurrentPage, 2460).
+-define(wxPrintPreview_SetFrame, 2461).
+-define(wxPrintPreview_SetPrintout, 2462).
+-define(wxPrintPreview_SetZoom, 2463).
+-define(wxPreviewFrame_new, 2464).
+-define(wxPreviewFrame_destruct, 2465).
+-define(wxPreviewFrame_CreateControlBar, 2466).
+-define(wxPreviewFrame_CreateCanvas, 2467).
+-define(wxPreviewFrame_Initialize, 2468).
+-define(wxPreviewFrame_OnCloseWindow, 2469).
+-define(wxPreviewControlBar_new, 2470).
+-define(wxPreviewControlBar_destruct, 2471).
+-define(wxPreviewControlBar_CreateButtons, 2472).
+-define(wxPreviewControlBar_GetPrintPreview, 2473).
+-define(wxPreviewControlBar_GetZoomControl, 2474).
+-define(wxPreviewControlBar_SetZoomControl, 2475).
+-define(wxPrinter_new, 2477).
+-define(wxPrinter_CreateAbortWindow, 2478).
+-define(wxPrinter_GetAbort, 2479).
+-define(wxPrinter_GetLastError, 2480).
+-define(wxPrinter_GetPrintDialogData, 2481).
+-define(wxPrinter_Print, 2482).
+-define(wxPrinter_PrintDialog, 2483).
+-define(wxPrinter_ReportError, 2484).
+-define(wxPrinter_Setup, 2485).
+-define(wxPrinter_destroy, 2486).
+-define(wxXmlResource_new_1, 2487).
+-define(wxXmlResource_new_2, 2488).
+-define(wxXmlResource_destruct, 2489).
+-define(wxXmlResource_AttachUnknownControl, 2490).
+-define(wxXmlResource_ClearHandlers, 2491).
+-define(wxXmlResource_CompareVersion, 2492).
+-define(wxXmlResource_Get, 2493).
+-define(wxXmlResource_GetFlags, 2494).
+-define(wxXmlResource_GetVersion, 2495).
+-define(wxXmlResource_GetXRCID, 2496).
+-define(wxXmlResource_InitAllHandlers, 2497).
+-define(wxXmlResource_Load, 2498).
+-define(wxXmlResource_LoadBitmap, 2499).
+-define(wxXmlResource_LoadDialog_2, 2500).
+-define(wxXmlResource_LoadDialog_3, 2501).
+-define(wxXmlResource_LoadFrame_2, 2502).
+-define(wxXmlResource_LoadFrame_3, 2503).
+-define(wxXmlResource_LoadIcon, 2504).
+-define(wxXmlResource_LoadMenu, 2505).
+-define(wxXmlResource_LoadMenuBar_2, 2506).
+-define(wxXmlResource_LoadMenuBar_1, 2507).
+-define(wxXmlResource_LoadPanel_2, 2508).
+-define(wxXmlResource_LoadPanel_3, 2509).
+-define(wxXmlResource_LoadToolBar, 2510).
+-define(wxXmlResource_Set, 2511).
+-define(wxXmlResource_SetFlags, 2512).
+-define(wxXmlResource_Unload, 2513).
+-define(wxXmlResource_xrcctrl, 2514).
+-define(wxHtmlEasyPrinting_new, 2515).
+-define(wxHtmlEasyPrinting_destruct, 2516).
+-define(wxHtmlEasyPrinting_GetPrintData, 2517).
+-define(wxHtmlEasyPrinting_GetPageSetupData, 2518).
+-define(wxHtmlEasyPrinting_PreviewFile, 2519).
+-define(wxHtmlEasyPrinting_PreviewText, 2520).
+-define(wxHtmlEasyPrinting_PrintFile, 2521).
+-define(wxHtmlEasyPrinting_PrintText, 2522).
+-define(wxHtmlEasyPrinting_PageSetup, 2523).
+-define(wxHtmlEasyPrinting_SetFonts, 2524).
+-define(wxHtmlEasyPrinting_SetHeader, 2525).
+-define(wxHtmlEasyPrinting_SetFooter, 2526).
+-define(wxGLCanvas_new_2, 2528).
+-define(wxGLCanvas_new_3_1, 2529).
+-define(wxGLCanvas_new_3_0, 2530).
+-define(wxGLCanvas_GetContext, 2531).
+-define(wxGLCanvas_SetCurrent, 2533).
+-define(wxGLCanvas_SwapBuffers, 2534).
+-define(wxGLCanvas_destroy, 2535).
+-define(wxAuiManager_new, 2536).
+-define(wxAuiManager_destruct, 2537).
+-define(wxAuiManager_AddPane_2_1, 2538).
+-define(wxAuiManager_AddPane_3, 2539).
+-define(wxAuiManager_AddPane_2_0, 2540).
+-define(wxAuiManager_DetachPane, 2541).
+-define(wxAuiManager_GetAllPanes, 2542).
+-define(wxAuiManager_GetArtProvider, 2543).
+-define(wxAuiManager_GetDockSizeConstraint, 2544).
+-define(wxAuiManager_GetFlags, 2545).
+-define(wxAuiManager_GetManagedWindow, 2546).
+-define(wxAuiManager_GetManager, 2547).
+-define(wxAuiManager_GetPane_1_1, 2548).
+-define(wxAuiManager_GetPane_1_0, 2549).
+-define(wxAuiManager_HideHint, 2550).
+-define(wxAuiManager_InsertPane, 2551).
+-define(wxAuiManager_LoadPaneInfo, 2552).
+-define(wxAuiManager_LoadPerspective, 2553).
+-define(wxAuiManager_SavePaneInfo, 2554).
+-define(wxAuiManager_SavePerspective, 2555).
+-define(wxAuiManager_SetArtProvider, 2556).
+-define(wxAuiManager_SetDockSizeConstraint, 2557).
+-define(wxAuiManager_SetFlags, 2558).
+-define(wxAuiManager_SetManagedWindow, 2559).
+-define(wxAuiManager_ShowHint, 2560).
+-define(wxAuiManager_UnInit, 2561).
+-define(wxAuiManager_Update, 2562).
+-define(wxAuiPaneInfo_new_0, 2563).
+-define(wxAuiPaneInfo_new_1, 2564).
+-define(wxAuiPaneInfo_destruct, 2565).
+-define(wxAuiPaneInfo_BestSize_1, 2566).
+-define(wxAuiPaneInfo_BestSize_2, 2567).
+-define(wxAuiPaneInfo_Bottom, 2568).
+-define(wxAuiPaneInfo_BottomDockable, 2569).
+-define(wxAuiPaneInfo_Caption, 2570).
+-define(wxAuiPaneInfo_CaptionVisible, 2571).
+-define(wxAuiPaneInfo_Centre, 2572).
+-define(wxAuiPaneInfo_CentrePane, 2573).
+-define(wxAuiPaneInfo_CloseButton, 2574).
+-define(wxAuiPaneInfo_DefaultPane, 2575).
+-define(wxAuiPaneInfo_DestroyOnClose, 2576).
+-define(wxAuiPaneInfo_Direction, 2577).
+-define(wxAuiPaneInfo_Dock, 2578).
+-define(wxAuiPaneInfo_Dockable, 2579).
+-define(wxAuiPaneInfo_Fixed, 2580).
+-define(wxAuiPaneInfo_Float, 2581).
+-define(wxAuiPaneInfo_Floatable, 2582).
+-define(wxAuiPaneInfo_FloatingPosition_1, 2583).
+-define(wxAuiPaneInfo_FloatingPosition_2, 2584).
+-define(wxAuiPaneInfo_FloatingSize_1, 2585).
+-define(wxAuiPaneInfo_FloatingSize_2, 2586).
+-define(wxAuiPaneInfo_Gripper, 2587).
+-define(wxAuiPaneInfo_GripperTop, 2588).
+-define(wxAuiPaneInfo_HasBorder, 2589).
+-define(wxAuiPaneInfo_HasCaption, 2590).
+-define(wxAuiPaneInfo_HasCloseButton, 2591).
+-define(wxAuiPaneInfo_HasFlag, 2592).
+-define(wxAuiPaneInfo_HasGripper, 2593).
+-define(wxAuiPaneInfo_HasGripperTop, 2594).
+-define(wxAuiPaneInfo_HasMaximizeButton, 2595).
+-define(wxAuiPaneInfo_HasMinimizeButton, 2596).
+-define(wxAuiPaneInfo_HasPinButton, 2597).
+-define(wxAuiPaneInfo_Hide, 2598).
+-define(wxAuiPaneInfo_IsBottomDockable, 2599).
+-define(wxAuiPaneInfo_IsDocked, 2600).
+-define(wxAuiPaneInfo_IsFixed, 2601).
+-define(wxAuiPaneInfo_IsFloatable, 2602).
+-define(wxAuiPaneInfo_IsFloating, 2603).
+-define(wxAuiPaneInfo_IsLeftDockable, 2604).
+-define(wxAuiPaneInfo_IsMovable, 2605).
+-define(wxAuiPaneInfo_IsOk, 2606).
+-define(wxAuiPaneInfo_IsResizable, 2607).
+-define(wxAuiPaneInfo_IsRightDockable, 2608).
+-define(wxAuiPaneInfo_IsShown, 2609).
+-define(wxAuiPaneInfo_IsToolbar, 2610).
+-define(wxAuiPaneInfo_IsTopDockable, 2611).
+-define(wxAuiPaneInfo_Layer, 2612).
+-define(wxAuiPaneInfo_Left, 2613).
+-define(wxAuiPaneInfo_LeftDockable, 2614).
+-define(wxAuiPaneInfo_MaxSize_1, 2615).
+-define(wxAuiPaneInfo_MaxSize_2, 2616).
+-define(wxAuiPaneInfo_MaximizeButton, 2617).
+-define(wxAuiPaneInfo_MinSize_1, 2618).
+-define(wxAuiPaneInfo_MinSize_2, 2619).
+-define(wxAuiPaneInfo_MinimizeButton, 2620).
+-define(wxAuiPaneInfo_Movable, 2621).
+-define(wxAuiPaneInfo_Name, 2622).
+-define(wxAuiPaneInfo_PaneBorder, 2623).
+-define(wxAuiPaneInfo_PinButton, 2624).
+-define(wxAuiPaneInfo_Position, 2625).
+-define(wxAuiPaneInfo_Resizable, 2626).
+-define(wxAuiPaneInfo_Right, 2627).
+-define(wxAuiPaneInfo_RightDockable, 2628).
+-define(wxAuiPaneInfo_Row, 2629).
+-define(wxAuiPaneInfo_SafeSet, 2630).
+-define(wxAuiPaneInfo_SetFlag, 2631).
+-define(wxAuiPaneInfo_Show, 2632).
+-define(wxAuiPaneInfo_ToolbarPane, 2633).
+-define(wxAuiPaneInfo_Top, 2634).
+-define(wxAuiPaneInfo_TopDockable, 2635).
+-define(wxAuiPaneInfo_Window, 2636).
+-define(wxAuiNotebook_new_0, 2637).
+-define(wxAuiNotebook_new_2, 2638).
+-define(wxAuiNotebook_AddPage, 2639).
+-define(wxAuiNotebook_Create, 2640).
+-define(wxAuiNotebook_DeletePage, 2641).
+-define(wxAuiNotebook_GetArtProvider, 2642).
+-define(wxAuiNotebook_GetPage, 2643).
+-define(wxAuiNotebook_GetPageBitmap, 2644).
+-define(wxAuiNotebook_GetPageCount, 2645).
+-define(wxAuiNotebook_GetPageIndex, 2646).
+-define(wxAuiNotebook_GetPageText, 2647).
+-define(wxAuiNotebook_GetSelection, 2648).
+-define(wxAuiNotebook_InsertPage, 2649).
+-define(wxAuiNotebook_RemovePage, 2650).
+-define(wxAuiNotebook_SetArtProvider, 2651).
+-define(wxAuiNotebook_SetFont, 2652).
+-define(wxAuiNotebook_SetPageBitmap, 2653).
+-define(wxAuiNotebook_SetPageText, 2654).
+-define(wxAuiNotebook_SetSelection, 2655).
+-define(wxAuiNotebook_SetTabCtrlHeight, 2656).
+-define(wxAuiNotebook_SetUniformBitmapSize, 2657).
+-define(wxAuiNotebook_destroy, 2658).
+-define(wxMDIParentFrame_new_0, 2659).
+-define(wxMDIParentFrame_new_4, 2660).
+-define(wxMDIParentFrame_destruct, 2661).
+-define(wxMDIParentFrame_ActivateNext, 2662).
+-define(wxMDIParentFrame_ActivatePrevious, 2663).
+-define(wxMDIParentFrame_ArrangeIcons, 2664).
+-define(wxMDIParentFrame_Cascade, 2665).
+-define(wxMDIParentFrame_Create, 2666).
+-define(wxMDIParentFrame_GetActiveChild, 2667).
+-define(wxMDIParentFrame_GetClientWindow, 2668).
+-define(wxMDIParentFrame_Tile, 2669).
+-define(wxMDIChildFrame_new_0, 2670).
+-define(wxMDIChildFrame_new_4, 2671).
+-define(wxMDIChildFrame_destruct, 2672).
+-define(wxMDIChildFrame_Activate, 2673).
+-define(wxMDIChildFrame_Create, 2674).
+-define(wxMDIChildFrame_Maximize, 2675).
+-define(wxMDIChildFrame_Restore, 2676).
+-define(wxMDIClientWindow_new_0, 2677).
+-define(wxMDIClientWindow_new_2, 2678).
+-define(wxMDIClientWindow_destruct, 2679).
+-define(wxMDIClientWindow_CreateClient, 2680).
+-define(wxLayoutAlgorithm_new, 2681).
+-define(wxLayoutAlgorithm_LayoutFrame, 2682).
+-define(wxLayoutAlgorithm_LayoutMDIFrame, 2683).
+-define(wxLayoutAlgorithm_LayoutWindow, 2684).
+-define(wxLayoutAlgorithm_destroy, 2685).
+-define(wxEvent_GetId, 2686).
+-define(wxEvent_GetSkipped, 2687).
+-define(wxEvent_GetTimestamp, 2688).
+-define(wxEvent_IsCommandEvent, 2689).
+-define(wxEvent_ResumePropagation, 2690).
+-define(wxEvent_ShouldPropagate, 2691).
+-define(wxEvent_Skip, 2692).
+-define(wxEvent_StopPropagation, 2693).
+-define(wxCommandEvent_getClientData, 2694).
+-define(wxCommandEvent_GetExtraLong, 2695).
+-define(wxCommandEvent_GetInt, 2696).
+-define(wxCommandEvent_GetSelection, 2697).
+-define(wxCommandEvent_GetString, 2698).
+-define(wxCommandEvent_IsChecked, 2699).
+-define(wxCommandEvent_IsSelection, 2700).
+-define(wxCommandEvent_SetInt, 2701).
+-define(wxCommandEvent_SetString, 2702).
+-define(wxScrollEvent_GetOrientation, 2703).
+-define(wxScrollEvent_GetPosition, 2704).
+-define(wxScrollWinEvent_GetOrientation, 2705).
+-define(wxScrollWinEvent_GetPosition, 2706).
+-define(wxMouseEvent_AltDown, 2707).
+-define(wxMouseEvent_Button, 2708).
+-define(wxMouseEvent_ButtonDClick, 2709).
+-define(wxMouseEvent_ButtonDown, 2710).
+-define(wxMouseEvent_ButtonUp, 2711).
+-define(wxMouseEvent_CmdDown, 2712).
+-define(wxMouseEvent_ControlDown, 2713).
+-define(wxMouseEvent_Dragging, 2714).
+-define(wxMouseEvent_Entering, 2715).
+-define(wxMouseEvent_GetButton, 2716).
+-define(wxMouseEvent_GetPosition, 2719).
+-define(wxMouseEvent_GetLogicalPosition, 2720).
+-define(wxMouseEvent_GetLinesPerAction, 2721).
+-define(wxMouseEvent_GetWheelRotation, 2722).
+-define(wxMouseEvent_GetWheelDelta, 2723).
+-define(wxMouseEvent_GetX, 2724).
+-define(wxMouseEvent_GetY, 2725).
+-define(wxMouseEvent_IsButton, 2726).
+-define(wxMouseEvent_IsPageScroll, 2727).
+-define(wxMouseEvent_Leaving, 2728).
+-define(wxMouseEvent_LeftDClick, 2729).
+-define(wxMouseEvent_LeftDown, 2730).
+-define(wxMouseEvent_LeftIsDown, 2731).
+-define(wxMouseEvent_LeftUp, 2732).
+-define(wxMouseEvent_MetaDown, 2733).
+-define(wxMouseEvent_MiddleDClick, 2734).
+-define(wxMouseEvent_MiddleDown, 2735).
+-define(wxMouseEvent_MiddleIsDown, 2736).
+-define(wxMouseEvent_MiddleUp, 2737).
+-define(wxMouseEvent_Moving, 2738).
+-define(wxMouseEvent_RightDClick, 2739).
+-define(wxMouseEvent_RightDown, 2740).
+-define(wxMouseEvent_RightIsDown, 2741).
+-define(wxMouseEvent_RightUp, 2742).
+-define(wxMouseEvent_ShiftDown, 2743).
+-define(wxSetCursorEvent_GetCursor, 2744).
+-define(wxSetCursorEvent_GetX, 2745).
+-define(wxSetCursorEvent_GetY, 2746).
+-define(wxSetCursorEvent_HasCursor, 2747).
+-define(wxSetCursorEvent_SetCursor, 2748).
+-define(wxKeyEvent_AltDown, 2749).
+-define(wxKeyEvent_CmdDown, 2750).
+-define(wxKeyEvent_ControlDown, 2751).
+-define(wxKeyEvent_GetKeyCode, 2752).
+-define(wxKeyEvent_GetModifiers, 2753).
+-define(wxKeyEvent_GetPosition, 2756).
+-define(wxKeyEvent_GetRawKeyCode, 2757).
+-define(wxKeyEvent_GetRawKeyFlags, 2758).
+-define(wxKeyEvent_GetUnicodeKey, 2759).
+-define(wxKeyEvent_GetX, 2760).
+-define(wxKeyEvent_GetY, 2761).
+-define(wxKeyEvent_HasModifiers, 2762).
+-define(wxKeyEvent_MetaDown, 2763).
+-define(wxKeyEvent_ShiftDown, 2764).
+-define(wxSizeEvent_GetSize, 2765).
+-define(wxMoveEvent_GetPosition, 2766).
+-define(wxEraseEvent_GetDC, 2767).
+-define(wxFocusEvent_GetWindow, 2768).
+-define(wxChildFocusEvent_GetWindow, 2769).
+-define(wxMenuEvent_GetMenu, 2770).
+-define(wxMenuEvent_GetMenuId, 2771).
+-define(wxMenuEvent_IsPopup, 2772).
+-define(wxCloseEvent_CanVeto, 2773).
+-define(wxCloseEvent_GetLoggingOff, 2774).
+-define(wxCloseEvent_SetCanVeto, 2775).
+-define(wxCloseEvent_SetLoggingOff, 2776).
+-define(wxCloseEvent_Veto, 2777).
+-define(wxShowEvent_SetShow, 2778).
+-define(wxShowEvent_GetShow, 2779).
+-define(wxIconizeEvent_Iconized, 2780).
+-define(wxJoystickEvent_ButtonDown, 2781).
+-define(wxJoystickEvent_ButtonIsDown, 2782).
+-define(wxJoystickEvent_ButtonUp, 2783).
+-define(wxJoystickEvent_GetButtonChange, 2784).
+-define(wxJoystickEvent_GetButtonState, 2785).
+-define(wxJoystickEvent_GetJoystick, 2786).
+-define(wxJoystickEvent_GetPosition, 2787).
+-define(wxJoystickEvent_GetZPosition, 2788).
+-define(wxJoystickEvent_IsButton, 2789).
+-define(wxJoystickEvent_IsMove, 2790).
+-define(wxJoystickEvent_IsZMove, 2791).
+-define(wxUpdateUIEvent_CanUpdate, 2792).
+-define(wxUpdateUIEvent_Check, 2793).
+-define(wxUpdateUIEvent_Enable, 2794).
+-define(wxUpdateUIEvent_Show, 2795).
+-define(wxUpdateUIEvent_GetChecked, 2796).
+-define(wxUpdateUIEvent_GetEnabled, 2797).
+-define(wxUpdateUIEvent_GetShown, 2798).
+-define(wxUpdateUIEvent_GetSetChecked, 2799).
+-define(wxUpdateUIEvent_GetSetEnabled, 2800).
+-define(wxUpdateUIEvent_GetSetShown, 2801).
+-define(wxUpdateUIEvent_GetSetText, 2802).
+-define(wxUpdateUIEvent_GetText, 2803).
+-define(wxUpdateUIEvent_GetMode, 2804).
+-define(wxUpdateUIEvent_GetUpdateInterval, 2805).
+-define(wxUpdateUIEvent_ResetUpdateTime, 2806).
+-define(wxUpdateUIEvent_SetMode, 2807).
+-define(wxUpdateUIEvent_SetText, 2808).
+-define(wxUpdateUIEvent_SetUpdateInterval, 2809).
+-define(wxMouseCaptureChangedEvent_GetCapturedWindow, 2810).
+-define(wxPaletteChangedEvent_SetChangedWindow, 2811).
+-define(wxPaletteChangedEvent_GetChangedWindow, 2812).
+-define(wxQueryNewPaletteEvent_SetPaletteRealized, 2813).
+-define(wxQueryNewPaletteEvent_GetPaletteRealized, 2814).
+-define(wxNavigationKeyEvent_GetDirection, 2815).
+-define(wxNavigationKeyEvent_SetDirection, 2816).
+-define(wxNavigationKeyEvent_IsWindowChange, 2817).
+-define(wxNavigationKeyEvent_SetWindowChange, 2818).
+-define(wxNavigationKeyEvent_IsFromTab, 2819).
+-define(wxNavigationKeyEvent_SetFromTab, 2820).
+-define(wxNavigationKeyEvent_GetCurrentFocus, 2821).
+-define(wxNavigationKeyEvent_SetCurrentFocus, 2822).
+-define(wxHelpEvent_GetOrigin, 2823).
+-define(wxHelpEvent_GetPosition, 2824).
+-define(wxHelpEvent_SetOrigin, 2825).
+-define(wxHelpEvent_SetPosition, 2826).
+-define(wxContextMenuEvent_GetPosition, 2827).
+-define(wxContextMenuEvent_SetPosition, 2828).
+-define(wxIdleEvent_CanSend, 2829).
+-define(wxIdleEvent_GetMode, 2830).
+-define(wxIdleEvent_RequestMore, 2831).
+-define(wxIdleEvent_MoreRequested, 2832).
+-define(wxIdleEvent_SetMode, 2833).
+-define(wxGridEvent_AltDown, 2834).
+-define(wxGridEvent_ControlDown, 2835).
+-define(wxGridEvent_GetCol, 2836).
+-define(wxGridEvent_GetPosition, 2837).
+-define(wxGridEvent_GetRow, 2838).
+-define(wxGridEvent_MetaDown, 2839).
+-define(wxGridEvent_Selecting, 2840).
+-define(wxGridEvent_ShiftDown, 2841).
+-define(wxNotifyEvent_Allow, 2842).
+-define(wxNotifyEvent_IsAllowed, 2843).
+-define(wxNotifyEvent_Veto, 2844).
+-define(wxSashEvent_GetEdge, 2845).
+-define(wxSashEvent_GetDragRect, 2846).
+-define(wxSashEvent_GetDragStatus, 2847).
+-define(wxListEvent_GetCacheFrom, 2848).
+-define(wxListEvent_GetCacheTo, 2849).
+-define(wxListEvent_GetKeyCode, 2850).
+-define(wxListEvent_GetIndex, 2851).
+-define(wxListEvent_GetColumn, 2852).
+-define(wxListEvent_GetPoint, 2853).
+-define(wxListEvent_GetLabel, 2854).
+-define(wxListEvent_GetText, 2855).
+-define(wxListEvent_GetImage, 2856).
+-define(wxListEvent_GetData, 2857).
+-define(wxListEvent_GetMask, 2858).
+-define(wxListEvent_GetItem, 2859).
+-define(wxListEvent_IsEditCancelled, 2860).
+-define(wxDateEvent_GetDate, 2861).
+-define(wxCalendarEvent_GetWeekDay, 2862).
+-define(wxFileDirPickerEvent_GetPath, 2863).
+-define(wxColourPickerEvent_GetColour, 2864).
+-define(wxFontPickerEvent_GetFont, 2865).
+-define(wxStyledTextEvent_GetPosition, 2866).
+-define(wxStyledTextEvent_GetKey, 2867).
+-define(wxStyledTextEvent_GetModifiers, 2868).
+-define(wxStyledTextEvent_GetModificationType, 2869).
+-define(wxStyledTextEvent_GetText, 2870).
+-define(wxStyledTextEvent_GetLength, 2871).
+-define(wxStyledTextEvent_GetLinesAdded, 2872).
+-define(wxStyledTextEvent_GetLine, 2873).
+-define(wxStyledTextEvent_GetFoldLevelNow, 2874).
+-define(wxStyledTextEvent_GetFoldLevelPrev, 2875).
+-define(wxStyledTextEvent_GetMargin, 2876).
+-define(wxStyledTextEvent_GetMessage, 2877).
+-define(wxStyledTextEvent_GetWParam, 2878).
+-define(wxStyledTextEvent_GetLParam, 2879).
+-define(wxStyledTextEvent_GetListType, 2880).
+-define(wxStyledTextEvent_GetX, 2881).
+-define(wxStyledTextEvent_GetY, 2882).
+-define(wxStyledTextEvent_GetDragText, 2883).
+-define(wxStyledTextEvent_GetDragAllowMove, 2884).
+-define(wxStyledTextEvent_GetDragResult, 2885).
+-define(wxStyledTextEvent_GetShift, 2886).
+-define(wxStyledTextEvent_GetControl, 2887).
+-define(wxStyledTextEvent_GetAlt, 2888).
+-define(utils_wxGetKeyState, 2889).
+-define(utils_wxGetMousePosition, 2890).
+-define(utils_wxGetMouseState, 2891).
+-define(utils_wxSetDetectableAutoRepeat, 2892).
+-define(utils_wxBell, 2893).
+-define(utils_wxFindMenuItemId, 2894).
+-define(utils_wxGenericFindWindowAtPoint, 2895).
+-define(utils_wxFindWindowAtPoint, 2896).
+-define(utils_wxBeginBusyCursor, 2897).
+-define(utils_wxEndBusyCursor, 2898).
+-define(utils_wxIsBusy, 2899).
+-define(utils_wxShutdown, 2900).
+-define(utils_wxShell, 2901).
+-define(utils_wxLaunchDefaultBrowser, 2902).
+-define(utils_wxGetEmailAddress, 2903).
+-define(utils_wxGetUserId, 2904).
+-define(utils_wxGetHomeDir, 2905).
+-define(utils_wxNewId, 2906).
+-define(utils_wxRegisterId, 2907).
+-define(utils_wxGetCurrentId, 2908).
+-define(utils_wxGetOsDescription, 2909).
+-define(utils_wxIsPlatformLittleEndian, 2910).
+-define(utils_wxIsPlatform64Bit, 2911).
+-define(wxPrintout_new, 2912).
+-define(wxPrintout_destruct, 2913).
+-define(wxPrintout_GetDC, 2914).
+-define(wxPrintout_GetPageSizeMM, 2915).
+-define(wxPrintout_GetPageSizePixels, 2916).
+-define(wxPrintout_GetPaperRectPixels, 2917).
+-define(wxPrintout_GetPPIPrinter, 2918).
+-define(wxPrintout_GetPPIScreen, 2919).
+-define(wxPrintout_GetTitle, 2920).
+-define(wxPrintout_IsPreview, 2921).
+-define(wxPrintout_FitThisSizeToPaper, 2922).
+-define(wxPrintout_FitThisSizeToPage, 2923).
+-define(wxPrintout_FitThisSizeToPageMargins, 2924).
+-define(wxPrintout_MapScreenSizeToPaper, 2925).
+-define(wxPrintout_MapScreenSizeToPage, 2926).
+-define(wxPrintout_MapScreenSizeToPageMargins, 2927).
+-define(wxPrintout_MapScreenSizeToDevice, 2928).
+-define(wxPrintout_GetLogicalPaperRect, 2929).
+-define(wxPrintout_GetLogicalPageRect, 2930).
+-define(wxPrintout_GetLogicalPageMarginsRect, 2931).
+-define(wxPrintout_SetLogicalOrigin, 2932).
+-define(wxPrintout_OffsetLogicalOrigin, 2933).
+-define(wxStyledTextCtrl_new_2, 2934).
+-define(wxStyledTextCtrl_new_0, 2935).
+-define(wxStyledTextCtrl_destruct, 2936).
+-define(wxStyledTextCtrl_Create, 2937).
+-define(wxStyledTextCtrl_AddText, 2938).
+-define(wxStyledTextCtrl_AddStyledText, 2939).
+-define(wxStyledTextCtrl_InsertText, 2940).
+-define(wxStyledTextCtrl_ClearAll, 2941).
+-define(wxStyledTextCtrl_ClearDocumentStyle, 2942).
+-define(wxStyledTextCtrl_GetLength, 2943).
+-define(wxStyledTextCtrl_GetCharAt, 2944).
+-define(wxStyledTextCtrl_GetCurrentPos, 2945).
+-define(wxStyledTextCtrl_GetAnchor, 2946).
+-define(wxStyledTextCtrl_GetStyleAt, 2947).
+-define(wxStyledTextCtrl_Redo, 2948).
+-define(wxStyledTextCtrl_SetUndoCollection, 2949).
+-define(wxStyledTextCtrl_SelectAll, 2950).
+-define(wxStyledTextCtrl_SetSavePoint, 2951).
+-define(wxStyledTextCtrl_GetStyledText, 2952).
+-define(wxStyledTextCtrl_CanRedo, 2953).
+-define(wxStyledTextCtrl_MarkerLineFromHandle, 2954).
+-define(wxStyledTextCtrl_MarkerDeleteHandle, 2955).
+-define(wxStyledTextCtrl_GetUndoCollection, 2956).
+-define(wxStyledTextCtrl_GetViewWhiteSpace, 2957).
+-define(wxStyledTextCtrl_SetViewWhiteSpace, 2958).
+-define(wxStyledTextCtrl_PositionFromPoint, 2959).
+-define(wxStyledTextCtrl_PositionFromPointClose, 2960).
+-define(wxStyledTextCtrl_GotoLine, 2961).
+-define(wxStyledTextCtrl_GotoPos, 2962).
+-define(wxStyledTextCtrl_SetAnchor, 2963).
+-define(wxStyledTextCtrl_GetCurLine, 2964).
+-define(wxStyledTextCtrl_GetEndStyled, 2965).
+-define(wxStyledTextCtrl_ConvertEOLs, 2966).
+-define(wxStyledTextCtrl_GetEOLMode, 2967).
+-define(wxStyledTextCtrl_SetEOLMode, 2968).
+-define(wxStyledTextCtrl_StartStyling, 2969).
+-define(wxStyledTextCtrl_SetStyling, 2970).
+-define(wxStyledTextCtrl_GetBufferedDraw, 2971).
+-define(wxStyledTextCtrl_SetBufferedDraw, 2972).
+-define(wxStyledTextCtrl_SetTabWidth, 2973).
+-define(wxStyledTextCtrl_GetTabWidth, 2974).
+-define(wxStyledTextCtrl_SetCodePage, 2975).
+-define(wxStyledTextCtrl_MarkerDefine, 2976).
+-define(wxStyledTextCtrl_MarkerSetForeground, 2977).
+-define(wxStyledTextCtrl_MarkerSetBackground, 2978).
+-define(wxStyledTextCtrl_MarkerAdd, 2979).
+-define(wxStyledTextCtrl_MarkerDelete, 2980).
+-define(wxStyledTextCtrl_MarkerDeleteAll, 2981).
+-define(wxStyledTextCtrl_MarkerGet, 2982).
+-define(wxStyledTextCtrl_MarkerNext, 2983).
+-define(wxStyledTextCtrl_MarkerPrevious, 2984).
+-define(wxStyledTextCtrl_MarkerDefineBitmap, 2985).
+-define(wxStyledTextCtrl_MarkerAddSet, 2986).
+-define(wxStyledTextCtrl_MarkerSetAlpha, 2987).
+-define(wxStyledTextCtrl_SetMarginType, 2988).
+-define(wxStyledTextCtrl_GetMarginType, 2989).
+-define(wxStyledTextCtrl_SetMarginWidth, 2990).
+-define(wxStyledTextCtrl_GetMarginWidth, 2991).
+-define(wxStyledTextCtrl_SetMarginMask, 2992).
+-define(wxStyledTextCtrl_GetMarginMask, 2993).
+-define(wxStyledTextCtrl_SetMarginSensitive, 2994).
+-define(wxStyledTextCtrl_GetMarginSensitive, 2995).
+-define(wxStyledTextCtrl_StyleClearAll, 2996).
+-define(wxStyledTextCtrl_StyleSetForeground, 2997).
+-define(wxStyledTextCtrl_StyleSetBackground, 2998).
+-define(wxStyledTextCtrl_StyleSetBold, 2999).
+-define(wxStyledTextCtrl_StyleSetItalic, 3000).
+-define(wxStyledTextCtrl_StyleSetSize, 3001).
+-define(wxStyledTextCtrl_StyleSetFaceName, 3002).
+-define(wxStyledTextCtrl_StyleSetEOLFilled, 3003).
+-define(wxStyledTextCtrl_StyleResetDefault, 3004).
+-define(wxStyledTextCtrl_StyleSetUnderline, 3005).
+-define(wxStyledTextCtrl_StyleSetCase, 3006).
+-define(wxStyledTextCtrl_StyleSetHotSpot, 3007).
+-define(wxStyledTextCtrl_SetSelForeground, 3008).
+-define(wxStyledTextCtrl_SetSelBackground, 3009).
+-define(wxStyledTextCtrl_GetSelAlpha, 3010).
+-define(wxStyledTextCtrl_SetSelAlpha, 3011).
+-define(wxStyledTextCtrl_SetCaretForeground, 3012).
+-define(wxStyledTextCtrl_CmdKeyAssign, 3013).
+-define(wxStyledTextCtrl_CmdKeyClear, 3014).
+-define(wxStyledTextCtrl_CmdKeyClearAll, 3015).
+-define(wxStyledTextCtrl_SetStyleBytes, 3016).
+-define(wxStyledTextCtrl_StyleSetVisible, 3017).
+-define(wxStyledTextCtrl_GetCaretPeriod, 3018).
+-define(wxStyledTextCtrl_SetCaretPeriod, 3019).
+-define(wxStyledTextCtrl_SetWordChars, 3020).
+-define(wxStyledTextCtrl_BeginUndoAction, 3021).
+-define(wxStyledTextCtrl_EndUndoAction, 3022).
+-define(wxStyledTextCtrl_IndicatorSetStyle, 3023).
+-define(wxStyledTextCtrl_IndicatorGetStyle, 3024).
+-define(wxStyledTextCtrl_IndicatorSetForeground, 3025).
+-define(wxStyledTextCtrl_IndicatorGetForeground, 3026).
+-define(wxStyledTextCtrl_SetWhitespaceForeground, 3027).
+-define(wxStyledTextCtrl_SetWhitespaceBackground, 3028).
+-define(wxStyledTextCtrl_GetStyleBits, 3029).
+-define(wxStyledTextCtrl_SetLineState, 3030).
+-define(wxStyledTextCtrl_GetLineState, 3031).
+-define(wxStyledTextCtrl_GetMaxLineState, 3032).
+-define(wxStyledTextCtrl_GetCaretLineVisible, 3033).
+-define(wxStyledTextCtrl_SetCaretLineVisible, 3034).
+-define(wxStyledTextCtrl_GetCaretLineBackground, 3035).
+-define(wxStyledTextCtrl_SetCaretLineBackground, 3036).
+-define(wxStyledTextCtrl_AutoCompShow, 3037).
+-define(wxStyledTextCtrl_AutoCompCancel, 3038).
+-define(wxStyledTextCtrl_AutoCompActive, 3039).
+-define(wxStyledTextCtrl_AutoCompPosStart, 3040).
+-define(wxStyledTextCtrl_AutoCompComplete, 3041).
+-define(wxStyledTextCtrl_AutoCompStops, 3042).
+-define(wxStyledTextCtrl_AutoCompSetSeparator, 3043).
+-define(wxStyledTextCtrl_AutoCompGetSeparator, 3044).
+-define(wxStyledTextCtrl_AutoCompSelect, 3045).
+-define(wxStyledTextCtrl_AutoCompSetCancelAtStart, 3046).
+-define(wxStyledTextCtrl_AutoCompGetCancelAtStart, 3047).
+-define(wxStyledTextCtrl_AutoCompSetFillUps, 3048).
+-define(wxStyledTextCtrl_AutoCompSetChooseSingle, 3049).
+-define(wxStyledTextCtrl_AutoCompGetChooseSingle, 3050).
+-define(wxStyledTextCtrl_AutoCompSetIgnoreCase, 3051).
+-define(wxStyledTextCtrl_AutoCompGetIgnoreCase, 3052).
+-define(wxStyledTextCtrl_UserListShow, 3053).
+-define(wxStyledTextCtrl_AutoCompSetAutoHide, 3054).
+-define(wxStyledTextCtrl_AutoCompGetAutoHide, 3055).
+-define(wxStyledTextCtrl_AutoCompSetDropRestOfWord, 3056).
+-define(wxStyledTextCtrl_AutoCompGetDropRestOfWord, 3057).
+-define(wxStyledTextCtrl_RegisterImage, 3058).
+-define(wxStyledTextCtrl_ClearRegisteredImages, 3059).
+-define(wxStyledTextCtrl_AutoCompGetTypeSeparator, 3060).
+-define(wxStyledTextCtrl_AutoCompSetTypeSeparator, 3061).
+-define(wxStyledTextCtrl_AutoCompSetMaxWidth, 3062).
+-define(wxStyledTextCtrl_AutoCompGetMaxWidth, 3063).
+-define(wxStyledTextCtrl_AutoCompSetMaxHeight, 3064).
+-define(wxStyledTextCtrl_AutoCompGetMaxHeight, 3065).
+-define(wxStyledTextCtrl_SetIndent, 3066).
+-define(wxStyledTextCtrl_GetIndent, 3067).
+-define(wxStyledTextCtrl_SetUseTabs, 3068).
+-define(wxStyledTextCtrl_GetUseTabs, 3069).
+-define(wxStyledTextCtrl_SetLineIndentation, 3070).
+-define(wxStyledTextCtrl_GetLineIndentation, 3071).
+-define(wxStyledTextCtrl_GetLineIndentPosition, 3072).
+-define(wxStyledTextCtrl_GetColumn, 3073).
+-define(wxStyledTextCtrl_SetUseHorizontalScrollBar, 3074).
+-define(wxStyledTextCtrl_GetUseHorizontalScrollBar, 3075).
+-define(wxStyledTextCtrl_SetIndentationGuides, 3076).
+-define(wxStyledTextCtrl_GetIndentationGuides, 3077).
+-define(wxStyledTextCtrl_SetHighlightGuide, 3078).
+-define(wxStyledTextCtrl_GetHighlightGuide, 3079).
+-define(wxStyledTextCtrl_GetLineEndPosition, 3080).
+-define(wxStyledTextCtrl_GetCodePage, 3081).
+-define(wxStyledTextCtrl_GetCaretForeground, 3082).
+-define(wxStyledTextCtrl_GetReadOnly, 3083).
+-define(wxStyledTextCtrl_SetCurrentPos, 3084).
+-define(wxStyledTextCtrl_SetSelectionStart, 3085).
+-define(wxStyledTextCtrl_GetSelectionStart, 3086).
+-define(wxStyledTextCtrl_SetSelectionEnd, 3087).
+-define(wxStyledTextCtrl_GetSelectionEnd, 3088).
+-define(wxStyledTextCtrl_SetPrintMagnification, 3089).
+-define(wxStyledTextCtrl_GetPrintMagnification, 3090).
+-define(wxStyledTextCtrl_SetPrintColourMode, 3091).
+-define(wxStyledTextCtrl_GetPrintColourMode, 3092).
+-define(wxStyledTextCtrl_FindText, 3093).
+-define(wxStyledTextCtrl_FormatRange, 3094).
+-define(wxStyledTextCtrl_GetFirstVisibleLine, 3095).
+-define(wxStyledTextCtrl_GetLine, 3096).
+-define(wxStyledTextCtrl_GetLineCount, 3097).
+-define(wxStyledTextCtrl_SetMarginLeft, 3098).
+-define(wxStyledTextCtrl_GetMarginLeft, 3099).
+-define(wxStyledTextCtrl_SetMarginRight, 3100).
+-define(wxStyledTextCtrl_GetMarginRight, 3101).
+-define(wxStyledTextCtrl_GetModify, 3102).
+-define(wxStyledTextCtrl_SetSelection, 3103).
+-define(wxStyledTextCtrl_GetSelectedText, 3104).
+-define(wxStyledTextCtrl_GetTextRange, 3105).
+-define(wxStyledTextCtrl_HideSelection, 3106).
+-define(wxStyledTextCtrl_LineFromPosition, 3107).
+-define(wxStyledTextCtrl_PositionFromLine, 3108).
+-define(wxStyledTextCtrl_LineScroll, 3109).
+-define(wxStyledTextCtrl_EnsureCaretVisible, 3110).
+-define(wxStyledTextCtrl_ReplaceSelection, 3111).
+-define(wxStyledTextCtrl_SetReadOnly, 3112).
+-define(wxStyledTextCtrl_CanPaste, 3113).
+-define(wxStyledTextCtrl_CanUndo, 3114).
+-define(wxStyledTextCtrl_EmptyUndoBuffer, 3115).
+-define(wxStyledTextCtrl_Undo, 3116).
+-define(wxStyledTextCtrl_Cut, 3117).
+-define(wxStyledTextCtrl_Copy, 3118).
+-define(wxStyledTextCtrl_Paste, 3119).
+-define(wxStyledTextCtrl_Clear, 3120).
+-define(wxStyledTextCtrl_SetText, 3121).
+-define(wxStyledTextCtrl_GetText, 3122).
+-define(wxStyledTextCtrl_GetTextLength, 3123).
+-define(wxStyledTextCtrl_GetOvertype, 3124).
+-define(wxStyledTextCtrl_SetCaretWidth, 3125).
+-define(wxStyledTextCtrl_GetCaretWidth, 3126).
+-define(wxStyledTextCtrl_SetTargetStart, 3127).
+-define(wxStyledTextCtrl_GetTargetStart, 3128).
+-define(wxStyledTextCtrl_SetTargetEnd, 3129).
+-define(wxStyledTextCtrl_GetTargetEnd, 3130).
+-define(wxStyledTextCtrl_ReplaceTarget, 3131).
+-define(wxStyledTextCtrl_SearchInTarget, 3132).
+-define(wxStyledTextCtrl_SetSearchFlags, 3133).
+-define(wxStyledTextCtrl_GetSearchFlags, 3134).
+-define(wxStyledTextCtrl_CallTipShow, 3135).
+-define(wxStyledTextCtrl_CallTipCancel, 3136).
+-define(wxStyledTextCtrl_CallTipActive, 3137).
+-define(wxStyledTextCtrl_CallTipPosAtStart, 3138).
+-define(wxStyledTextCtrl_CallTipSetHighlight, 3139).
+-define(wxStyledTextCtrl_CallTipSetBackground, 3140).
+-define(wxStyledTextCtrl_CallTipSetForeground, 3141).
+-define(wxStyledTextCtrl_CallTipSetForegroundHighlight, 3142).
+-define(wxStyledTextCtrl_CallTipUseStyle, 3143).
+-define(wxStyledTextCtrl_VisibleFromDocLine, 3144).
+-define(wxStyledTextCtrl_DocLineFromVisible, 3145).
+-define(wxStyledTextCtrl_WrapCount, 3146).
+-define(wxStyledTextCtrl_SetFoldLevel, 3147).
+-define(wxStyledTextCtrl_GetFoldLevel, 3148).
+-define(wxStyledTextCtrl_GetLastChild, 3149).
+-define(wxStyledTextCtrl_GetFoldParent, 3150).
+-define(wxStyledTextCtrl_ShowLines, 3151).
+-define(wxStyledTextCtrl_HideLines, 3152).
+-define(wxStyledTextCtrl_GetLineVisible, 3153).
+-define(wxStyledTextCtrl_SetFoldExpanded, 3154).
+-define(wxStyledTextCtrl_GetFoldExpanded, 3155).
+-define(wxStyledTextCtrl_ToggleFold, 3156).
+-define(wxStyledTextCtrl_EnsureVisible, 3157).
+-define(wxStyledTextCtrl_SetFoldFlags, 3158).
+-define(wxStyledTextCtrl_EnsureVisibleEnforcePolicy, 3159).
+-define(wxStyledTextCtrl_SetTabIndents, 3160).
+-define(wxStyledTextCtrl_GetTabIndents, 3161).
+-define(wxStyledTextCtrl_SetBackSpaceUnIndents, 3162).
+-define(wxStyledTextCtrl_GetBackSpaceUnIndents, 3163).
+-define(wxStyledTextCtrl_SetMouseDwellTime, 3164).
+-define(wxStyledTextCtrl_GetMouseDwellTime, 3165).
+-define(wxStyledTextCtrl_WordStartPosition, 3166).
+-define(wxStyledTextCtrl_WordEndPosition, 3167).
+-define(wxStyledTextCtrl_SetWrapMode, 3168).
+-define(wxStyledTextCtrl_GetWrapMode, 3169).
+-define(wxStyledTextCtrl_SetWrapVisualFlags, 3170).
+-define(wxStyledTextCtrl_GetWrapVisualFlags, 3171).
+-define(wxStyledTextCtrl_SetWrapVisualFlagsLocation, 3172).
+-define(wxStyledTextCtrl_GetWrapVisualFlagsLocation, 3173).
+-define(wxStyledTextCtrl_SetWrapStartIndent, 3174).
+-define(wxStyledTextCtrl_GetWrapStartIndent, 3175).
+-define(wxStyledTextCtrl_SetLayoutCache, 3176).
+-define(wxStyledTextCtrl_GetLayoutCache, 3177).
+-define(wxStyledTextCtrl_SetScrollWidth, 3178).
+-define(wxStyledTextCtrl_GetScrollWidth, 3179).
+-define(wxStyledTextCtrl_TextWidth, 3180).
+-define(wxStyledTextCtrl_GetEndAtLastLine, 3181).
+-define(wxStyledTextCtrl_TextHeight, 3182).
+-define(wxStyledTextCtrl_SetUseVerticalScrollBar, 3183).
+-define(wxStyledTextCtrl_GetUseVerticalScrollBar, 3184).
+-define(wxStyledTextCtrl_AppendText, 3185).
+-define(wxStyledTextCtrl_GetTwoPhaseDraw, 3186).
+-define(wxStyledTextCtrl_SetTwoPhaseDraw, 3187).
+-define(wxStyledTextCtrl_TargetFromSelection, 3188).
+-define(wxStyledTextCtrl_LinesJoin, 3189).
+-define(wxStyledTextCtrl_LinesSplit, 3190).
+-define(wxStyledTextCtrl_SetFoldMarginColour, 3191).
+-define(wxStyledTextCtrl_SetFoldMarginHiColour, 3192).
+-define(wxStyledTextCtrl_LineDown, 3193).
+-define(wxStyledTextCtrl_LineDownExtend, 3194).
+-define(wxStyledTextCtrl_LineUp, 3195).
+-define(wxStyledTextCtrl_LineUpExtend, 3196).
+-define(wxStyledTextCtrl_CharLeft, 3197).
+-define(wxStyledTextCtrl_CharLeftExtend, 3198).
+-define(wxStyledTextCtrl_CharRight, 3199).
+-define(wxStyledTextCtrl_CharRightExtend, 3200).
+-define(wxStyledTextCtrl_WordLeft, 3201).
+-define(wxStyledTextCtrl_WordLeftExtend, 3202).
+-define(wxStyledTextCtrl_WordRight, 3203).
+-define(wxStyledTextCtrl_WordRightExtend, 3204).
+-define(wxStyledTextCtrl_Home, 3205).
+-define(wxStyledTextCtrl_HomeExtend, 3206).
+-define(wxStyledTextCtrl_LineEnd, 3207).
+-define(wxStyledTextCtrl_LineEndExtend, 3208).
+-define(wxStyledTextCtrl_DocumentStart, 3209).
+-define(wxStyledTextCtrl_DocumentStartExtend, 3210).
+-define(wxStyledTextCtrl_DocumentEnd, 3211).
+-define(wxStyledTextCtrl_DocumentEndExtend, 3212).
+-define(wxStyledTextCtrl_PageUp, 3213).
+-define(wxStyledTextCtrl_PageUpExtend, 3214).
+-define(wxStyledTextCtrl_PageDown, 3215).
+-define(wxStyledTextCtrl_PageDownExtend, 3216).
+-define(wxStyledTextCtrl_EditToggleOvertype, 3217).
+-define(wxStyledTextCtrl_Cancel, 3218).
+-define(wxStyledTextCtrl_DeleteBack, 3219).
+-define(wxStyledTextCtrl_Tab, 3220).
+-define(wxStyledTextCtrl_BackTab, 3221).
+-define(wxStyledTextCtrl_NewLine, 3222).
+-define(wxStyledTextCtrl_FormFeed, 3223).
+-define(wxStyledTextCtrl_VCHome, 3224).
+-define(wxStyledTextCtrl_VCHomeExtend, 3225).
+-define(wxStyledTextCtrl_ZoomIn, 3226).
+-define(wxStyledTextCtrl_ZoomOut, 3227).
+-define(wxStyledTextCtrl_DelWordLeft, 3228).
+-define(wxStyledTextCtrl_DelWordRight, 3229).
+-define(wxStyledTextCtrl_LineCut, 3230).
+-define(wxStyledTextCtrl_LineDelete, 3231).
+-define(wxStyledTextCtrl_LineTranspose, 3232).
+-define(wxStyledTextCtrl_LineDuplicate, 3233).
+-define(wxStyledTextCtrl_LowerCase, 3234).
+-define(wxStyledTextCtrl_UpperCase, 3235).
+-define(wxStyledTextCtrl_LineScrollDown, 3236).
+-define(wxStyledTextCtrl_LineScrollUp, 3237).
+-define(wxStyledTextCtrl_DeleteBackNotLine, 3238).
+-define(wxStyledTextCtrl_HomeDisplay, 3239).
+-define(wxStyledTextCtrl_HomeDisplayExtend, 3240).
+-define(wxStyledTextCtrl_LineEndDisplay, 3241).
+-define(wxStyledTextCtrl_LineEndDisplayExtend, 3242).
+-define(wxStyledTextCtrl_HomeWrapExtend, 3243).
+-define(wxStyledTextCtrl_LineEndWrap, 3244).
+-define(wxStyledTextCtrl_LineEndWrapExtend, 3245).
+-define(wxStyledTextCtrl_VCHomeWrap, 3246).
+-define(wxStyledTextCtrl_VCHomeWrapExtend, 3247).
+-define(wxStyledTextCtrl_LineCopy, 3248).
+-define(wxStyledTextCtrl_MoveCaretInsideView, 3249).
+-define(wxStyledTextCtrl_LineLength, 3250).
+-define(wxStyledTextCtrl_BraceHighlight, 3251).
+-define(wxStyledTextCtrl_BraceBadLight, 3252).
+-define(wxStyledTextCtrl_BraceMatch, 3253).
+-define(wxStyledTextCtrl_GetViewEOL, 3254).
+-define(wxStyledTextCtrl_SetViewEOL, 3255).
+-define(wxStyledTextCtrl_SetModEventMask, 3256).
+-define(wxStyledTextCtrl_GetEdgeColumn, 3257).
+-define(wxStyledTextCtrl_SetEdgeColumn, 3258).
+-define(wxStyledTextCtrl_GetEdgeMode, 3259).
+-define(wxStyledTextCtrl_GetEdgeColour, 3260).
+-define(wxStyledTextCtrl_SetEdgeColour, 3261).
+-define(wxStyledTextCtrl_SearchAnchor, 3262).
+-define(wxStyledTextCtrl_SearchNext, 3263).
+-define(wxStyledTextCtrl_SearchPrev, 3264).
+-define(wxStyledTextCtrl_LinesOnScreen, 3265).
+-define(wxStyledTextCtrl_UsePopUp, 3266).
+-define(wxStyledTextCtrl_SelectionIsRectangle, 3267).
+-define(wxStyledTextCtrl_SetZoom, 3268).
+-define(wxStyledTextCtrl_GetZoom, 3269).
+-define(wxStyledTextCtrl_GetModEventMask, 3270).
+-define(wxStyledTextCtrl_SetSTCFocus, 3271).
+-define(wxStyledTextCtrl_GetSTCFocus, 3272).
+-define(wxStyledTextCtrl_SetStatus, 3273).
+-define(wxStyledTextCtrl_GetStatus, 3274).
+-define(wxStyledTextCtrl_SetMouseDownCaptures, 3275).
+-define(wxStyledTextCtrl_GetMouseDownCaptures, 3276).
+-define(wxStyledTextCtrl_SetSTCCursor, 3277).
+-define(wxStyledTextCtrl_GetSTCCursor, 3278).
+-define(wxStyledTextCtrl_SetControlCharSymbol, 3279).
+-define(wxStyledTextCtrl_GetControlCharSymbol, 3280).
+-define(wxStyledTextCtrl_WordPartLeft, 3281).
+-define(wxStyledTextCtrl_WordPartLeftExtend, 3282).
+-define(wxStyledTextCtrl_WordPartRight, 3283).
+-define(wxStyledTextCtrl_WordPartRightExtend, 3284).
+-define(wxStyledTextCtrl_SetVisiblePolicy, 3285).
+-define(wxStyledTextCtrl_DelLineLeft, 3286).
+-define(wxStyledTextCtrl_DelLineRight, 3287).
+-define(wxStyledTextCtrl_GetXOffset, 3288).
+-define(wxStyledTextCtrl_ChooseCaretX, 3289).
+-define(wxStyledTextCtrl_SetXCaretPolicy, 3290).
+-define(wxStyledTextCtrl_SetYCaretPolicy, 3291).
+-define(wxStyledTextCtrl_GetPrintWrapMode, 3292).
+-define(wxStyledTextCtrl_SetHotspotActiveForeground, 3293).
+-define(wxStyledTextCtrl_SetHotspotActiveBackground, 3294).
+-define(wxStyledTextCtrl_SetHotspotActiveUnderline, 3295).
+-define(wxStyledTextCtrl_SetHotspotSingleLine, 3296).
+-define(wxStyledTextCtrl_ParaDownExtend, 3297).
+-define(wxStyledTextCtrl_ParaUp, 3298).
+-define(wxStyledTextCtrl_ParaUpExtend, 3299).
+-define(wxStyledTextCtrl_PositionBefore, 3300).
+-define(wxStyledTextCtrl_PositionAfter, 3301).
+-define(wxStyledTextCtrl_CopyRange, 3302).
+-define(wxStyledTextCtrl_CopyText, 3303).
+-define(wxStyledTextCtrl_SetSelectionMode, 3304).
+-define(wxStyledTextCtrl_GetSelectionMode, 3305).
+-define(wxStyledTextCtrl_LineDownRectExtend, 3306).
+-define(wxStyledTextCtrl_LineUpRectExtend, 3307).
+-define(wxStyledTextCtrl_CharLeftRectExtend, 3308).
+-define(wxStyledTextCtrl_CharRightRectExtend, 3309).
+-define(wxStyledTextCtrl_HomeRectExtend, 3310).
+-define(wxStyledTextCtrl_VCHomeRectExtend, 3311).
+-define(wxStyledTextCtrl_LineEndRectExtend, 3312).
+-define(wxStyledTextCtrl_PageUpRectExtend, 3313).
+-define(wxStyledTextCtrl_PageDownRectExtend, 3314).
+-define(wxStyledTextCtrl_StutteredPageUp, 3315).
+-define(wxStyledTextCtrl_StutteredPageUpExtend, 3316).
+-define(wxStyledTextCtrl_StutteredPageDown, 3317).
+-define(wxStyledTextCtrl_StutteredPageDownExtend, 3318).
+-define(wxStyledTextCtrl_WordLeftEnd, 3319).
+-define(wxStyledTextCtrl_WordLeftEndExtend, 3320).
+-define(wxStyledTextCtrl_WordRightEnd, 3321).
+-define(wxStyledTextCtrl_WordRightEndExtend, 3322).
+-define(wxStyledTextCtrl_SetWhitespaceChars, 3323).
+-define(wxStyledTextCtrl_SetCharsDefault, 3324).
+-define(wxStyledTextCtrl_AutoCompGetCurrent, 3325).
+-define(wxStyledTextCtrl_Allocate, 3326).
+-define(wxStyledTextCtrl_FindColumn, 3327).
+-define(wxStyledTextCtrl_GetCaretSticky, 3328).
+-define(wxStyledTextCtrl_SetCaretSticky, 3329).
+-define(wxStyledTextCtrl_ToggleCaretSticky, 3330).
+-define(wxStyledTextCtrl_SetPasteConvertEndings, 3331).
+-define(wxStyledTextCtrl_GetPasteConvertEndings, 3332).
+-define(wxStyledTextCtrl_SelectionDuplicate, 3333).
+-define(wxStyledTextCtrl_SetCaretLineBackAlpha, 3334).
+-define(wxStyledTextCtrl_GetCaretLineBackAlpha, 3335).
+-define(wxStyledTextCtrl_StartRecord, 3336).
+-define(wxStyledTextCtrl_StopRecord, 3337).
+-define(wxStyledTextCtrl_SetLexer, 3338).
+-define(wxStyledTextCtrl_GetLexer, 3339).
+-define(wxStyledTextCtrl_Colourise, 3340).
+-define(wxStyledTextCtrl_SetProperty, 3341).
+-define(wxStyledTextCtrl_SetKeyWords, 3342).
+-define(wxStyledTextCtrl_SetLexerLanguage, 3343).
+-define(wxStyledTextCtrl_GetProperty, 3344).
+-define(wxStyledTextCtrl_GetStyleBitsNeeded, 3345).
+-define(wxStyledTextCtrl_GetCurrentLine, 3346).
+-define(wxStyledTextCtrl_StyleSetSpec, 3347).
+-define(wxStyledTextCtrl_StyleSetFont, 3348).
+-define(wxStyledTextCtrl_StyleSetFontAttr, 3349).
+-define(wxStyledTextCtrl_StyleSetCharacterSet, 3350).
+-define(wxStyledTextCtrl_StyleSetFontEncoding, 3351).
+-define(wxStyledTextCtrl_CmdKeyExecute, 3352).
+-define(wxStyledTextCtrl_SetMargins, 3353).
+-define(wxStyledTextCtrl_GetSelection, 3354).
+-define(wxStyledTextCtrl_PointFromPosition, 3355).
+-define(wxStyledTextCtrl_ScrollToLine, 3356).
+-define(wxStyledTextCtrl_ScrollToColumn, 3357).
+-define(wxStyledTextCtrl_SendMsg, 3358).
+-define(wxStyledTextCtrl_SetVScrollBar, 3359).
+-define(wxStyledTextCtrl_SetHScrollBar, 3360).
+-define(wxStyledTextCtrl_GetLastKeydownProcessed, 3361).
+-define(wxStyledTextCtrl_SetLastKeydownProcessed, 3362).
+-define(wxStyledTextCtrl_SaveFile, 3363).
+-define(wxStyledTextCtrl_LoadFile, 3364).
+-define(wxStyledTextCtrl_DoDragOver, 3365).
+-define(wxStyledTextCtrl_DoDropText, 3366).
+-define(wxStyledTextCtrl_GetUseAntiAliasing, 3367).
+-define(wxStyledTextCtrl_AddTextRaw, 3368).
+-define(wxStyledTextCtrl_InsertTextRaw, 3369).
+-define(wxStyledTextCtrl_GetCurLineRaw, 3370).
+-define(wxStyledTextCtrl_GetLineRaw, 3371).
+-define(wxStyledTextCtrl_GetSelectedTextRaw, 3372).
+-define(wxStyledTextCtrl_GetTextRangeRaw, 3373).
+-define(wxStyledTextCtrl_SetTextRaw, 3374).
+-define(wxStyledTextCtrl_GetTextRaw, 3375).
+-define(wxStyledTextCtrl_AppendTextRaw, 3376).
+-define(wxArtProvider_GetBitmap, 3377).
+-define(wxArtProvider_GetIcon, 3378).
+-define(wxTreeEvent_GetKeyCode, 3379).
+-define(wxTreeEvent_GetItem, 3380).
+-define(wxTreeEvent_GetKeyEvent, 3381).
+-define(wxTreeEvent_GetLabel, 3382).
+-define(wxTreeEvent_GetOldItem, 3383).
+-define(wxTreeEvent_GetPoint, 3384).
+-define(wxTreeEvent_IsEditCancelled, 3385).
+-define(wxTreeEvent_SetToolTip, 3386).
+-define(wxNotebookEvent_GetOldSelection, 3387).
+-define(wxNotebookEvent_GetSelection, 3388).
+-define(wxNotebookEvent_SetOldSelection, 3389).
+-define(wxNotebookEvent_SetSelection, 3390).
+-define(wxFileDataObject_new, 3391).
+-define(wxFileDataObject_AddFile, 3392).
+-define(wxFileDataObject_GetFilenames, 3393).
+-define(wxFileDataObject_destroy, 3394).
+-define(wxTextDataObject_new, 3395).
+-define(wxTextDataObject_GetTextLength, 3396).
+-define(wxTextDataObject_GetText, 3397).
+-define(wxTextDataObject_SetText, 3398).
+-define(wxTextDataObject_destroy, 3399).
+-define(wxBitmapDataObject_new_1_1, 3400).
+-define(wxBitmapDataObject_new_1_0, 3401).
+-define(wxBitmapDataObject_GetBitmap, 3402).
+-define(wxBitmapDataObject_SetBitmap, 3403).
+-define(wxBitmapDataObject_destroy, 3404).
+-define(wxClipboard_new, 3406).
+-define(wxClipboard_destruct, 3407).
+-define(wxClipboard_AddData, 3408).
+-define(wxClipboard_Clear, 3409).
+-define(wxClipboard_Close, 3410).
+-define(wxClipboard_Flush, 3411).
+-define(wxClipboard_GetData, 3412).
+-define(wxClipboard_IsOpened, 3413).
+-define(wxClipboard_Open, 3414).
+-define(wxClipboard_SetData, 3415).
+-define(wxClipboard_UsePrimarySelection, 3417).
+-define(wxClipboard_IsSupported, 3418).
+-define(wxClipboard_Get, 3419).
+-define(wxSpinEvent_GetPosition, 3420).
+-define(wxSpinEvent_SetPosition, 3421).
+-define(wxSplitterWindow_new_0, 3422).
+-define(wxSplitterWindow_new_2, 3423).
+-define(wxSplitterWindow_destruct, 3424).
+-define(wxSplitterWindow_Create, 3425).
+-define(wxSplitterWindow_GetMinimumPaneSize, 3426).
+-define(wxSplitterWindow_GetSashGravity, 3427).
+-define(wxSplitterWindow_GetSashPosition, 3428).
+-define(wxSplitterWindow_GetSplitMode, 3429).
+-define(wxSplitterWindow_GetWindow1, 3430).
+-define(wxSplitterWindow_GetWindow2, 3431).
+-define(wxSplitterWindow_Initialize, 3432).
+-define(wxSplitterWindow_IsSplit, 3433).
+-define(wxSplitterWindow_ReplaceWindow, 3434).
+-define(wxSplitterWindow_SetSashGravity, 3435).
+-define(wxSplitterWindow_SetSashPosition, 3436).
+-define(wxSplitterWindow_SetSashSize, 3437).
+-define(wxSplitterWindow_SetMinimumPaneSize, 3438).
+-define(wxSplitterWindow_SetSplitMode, 3439).
+-define(wxSplitterWindow_SplitHorizontally, 3440).
+-define(wxSplitterWindow_SplitVertically, 3441).
+-define(wxSplitterWindow_Unsplit, 3442).
+-define(wxSplitterWindow_UpdateSize, 3443).
+-define(wxSplitterEvent_GetSashPosition, 3444).
+-define(wxSplitterEvent_GetX, 3445).
+-define(wxSplitterEvent_GetY, 3446).
+-define(wxSplitterEvent_GetWindowBeingRemoved, 3447).
+-define(wxSplitterEvent_SetSashPosition, 3448).
+-define(wxHtmlWindow_new_0, 3449).
+-define(wxHtmlWindow_new_2, 3450).
+-define(wxHtmlWindow_AppendToPage, 3451).
+-define(wxHtmlWindow_GetOpenedAnchor, 3452).
+-define(wxHtmlWindow_GetOpenedPage, 3453).
+-define(wxHtmlWindow_GetOpenedPageTitle, 3454).
+-define(wxHtmlWindow_GetRelatedFrame, 3455).
+-define(wxHtmlWindow_HistoryBack, 3456).
+-define(wxHtmlWindow_HistoryCanBack, 3457).
+-define(wxHtmlWindow_HistoryCanForward, 3458).
+-define(wxHtmlWindow_HistoryClear, 3459).
+-define(wxHtmlWindow_HistoryForward, 3460).
+-define(wxHtmlWindow_LoadFile, 3461).
+-define(wxHtmlWindow_LoadPage, 3462).
+-define(wxHtmlWindow_SelectAll, 3463).
+-define(wxHtmlWindow_SelectionToText, 3464).
+-define(wxHtmlWindow_SelectLine, 3465).
+-define(wxHtmlWindow_SelectWord, 3466).
+-define(wxHtmlWindow_SetBorders, 3467).
+-define(wxHtmlWindow_SetFonts, 3468).
+-define(wxHtmlWindow_SetPage, 3469).
+-define(wxHtmlWindow_SetRelatedFrame, 3470).
+-define(wxHtmlWindow_SetRelatedStatusBar, 3471).
+-define(wxHtmlWindow_ToText, 3472).
+-define(wxHtmlWindow_destroy, 3473).
+-define(wxHtmlLinkEvent_GetLinkInfo, 3474).
+-define(wxAuiNotebookEvent_SetSelection, 3475).
+-define(wxAuiNotebookEvent_GetSelection, 3476).
+-define(wxAuiNotebookEvent_SetOldSelection, 3477).
+-define(wxAuiNotebookEvent_GetOldSelection, 3478).
+-define(wxAuiNotebookEvent_SetDragSource, 3479).
+-define(wxAuiNotebookEvent_GetDragSource, 3480).
+-define(wxAuiManagerEvent_SetManager, 3481).
+-define(wxAuiManagerEvent_GetManager, 3482).
+-define(wxAuiManagerEvent_SetPane, 3483).
+-define(wxAuiManagerEvent_GetPane, 3484).
+-define(wxAuiManagerEvent_SetButton, 3485).
+-define(wxAuiManagerEvent_GetButton, 3486).
+-define(wxAuiManagerEvent_SetDC, 3487).
+-define(wxAuiManagerEvent_GetDC, 3488).
+-define(wxAuiManagerEvent_Veto, 3489).
+-define(wxAuiManagerEvent_GetVeto, 3490).
+-define(wxAuiManagerEvent_SetCanVeto, 3491).
+-define(wxAuiManagerEvent_CanVeto, 3492).
+-define(wxLogNull_new, 3493).
+-define(wxLogNull_destroy, 3494).
diff --git a/lib/wx/src/wx.app.src b/lib/wx/src/wx.app.src
new file mode 100644
index 0000000000..e13982b0c1
--- /dev/null
+++ b/lib/wx/src/wx.app.src
@@ -0,0 +1,37 @@
+%% This is an -*- erlang -*- file.
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+
+{application, wx,
+ [{description, "Yet another graphics system"},
+ {vsn, "%VSN%"},
+ {modules,
+ [
+ %% Generated modules
+ %GEN_MODS%
+ %% Handcrafted modules
+ wx,
+ wx_object,
+ wxe_master,
+ wxe_server,
+ wxe_util
+ ]},
+ {registered, []},
+ {applications, [stdlib, kernel]},
+ {env, []}
+ ]}.
diff --git a/lib/asn1/test/asn1_bin_SUITE_data/a_SeqIn.erl b/lib/wx/src/wx.appup.src
index a447524358..c02edd2afb 100644
--- a/lib/asn1/test/asn1_bin_SUITE_data/a_SeqIn.erl
+++ b/lib/wx/src/wx.appup.src
@@ -1,31 +1,22 @@
+%% This is an -*- erlang -*- file.
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
-%% %CopyrightEnd%
-%%
%%
+%% %CopyrightEnd%
--module(a_SeqIn).
-
--export([record_name/0]).
-
--include("Seq.hrl").
-
-record_name()->
- Rec = #a_SeqIn{boolIn=true,intIn=12},
- element(1,Rec).
-
-
+{"%VSN%",
+ [ ]
+}.
diff --git a/lib/wx/src/wxe_master.erl b/lib/wx/src/wxe_master.erl
index 70872775fb..5ab76a77cf 100644
--- a/lib/wx/src/wxe_master.erl
+++ b/lib/wx/src/wxe_master.erl
@@ -1,19 +1,19 @@
%%
%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2009. All Rights Reserved.
-%%
+%%
+%% Copyright Ericsson AB 2008-2010. All Rights Reserved.
+%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
-%%
+%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
-%%
+%%
%% %CopyrightEnd%
%%%-------------------------------------------------------------------
%%% File : wxe_server.erl
@@ -33,7 +33,6 @@
%% gen_server callbacks
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
--compile(export_all).
-record(state, {cb_port, %% Callback port and to erlang messages goes via it.
users, %% List of wx servers, needed ??
diff --git a/lib/wx/test/Makefile b/lib/wx/test/Makefile
index 65d7d56650..71b79aa272 100644
--- a/lib/wx/test/Makefile
+++ b/lib/wx/test/Makefile
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2008-2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2008-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
@@ -28,7 +28,9 @@ APPDIR = $(shell dirname $(PWD))
ERL_COMPILE_FLAGS = -pa $(APPDIR)/ebin
Mods = wxt wx_test_lib \
- wx_basic_SUITE wx_event_SUITE \
+ wx_app_SUITE \
+ wx_basic_SUITE \
+ wx_event_SUITE \
wx_class_SUITE \
wx_xtra_SUITE \
wx_opengl_SUITE
diff --git a/lib/wx/test/wx_app_SUITE.erl b/lib/wx/test/wx_app_SUITE.erl
new file mode 100644
index 0000000000..8fff324913
--- /dev/null
+++ b/lib/wx/test/wx_app_SUITE.erl
@@ -0,0 +1,277 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+%%
+%%----------------------------------------------------------------------
+%% Purpose: Verify the application specifics of the Wx application
+%%----------------------------------------------------------------------
+-module(wx_app_SUITE).
+
+-compile(export_all).
+
+-include("wx_test_lib.hrl").
+
+
+t() -> wx_test_lib:t(?MODULE).
+t(Case) -> wx_test_lib:t({?MODULE, Case}).
+
+%% Test server callbacks
+init_per_testcase(Case, Config0) ->
+ Config1 = wx_test_lib:init_per_testcase(Case, Config0),
+ case is_app(wx) of
+ {ok, AppFile} ->
+ %% io:format("AppFile: ~n~p~n", [AppFile]),
+ [{app_file, AppFile} | Config1];
+ {error, Reason} ->
+ fail(Reason)
+ end.
+
+end_per_testcase(Func,Config) ->
+ wx_test_lib:end_per_testcase(Func, Config).
+
+fin_per_testcase(Case, Config) ->
+ wx_test_lib:end_per_testcase(Case, Config).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+all() ->
+ all(suite).
+
+all(suite) ->
+ [
+ fields,
+ modules,
+ exportall,
+ app_depend,
+ undef_funcs
+ ].
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+is_app(App) ->
+ LibDir = code:lib_dir(App),
+ File = filename:join([LibDir, "ebin", atom_to_list(App) ++ ".app"]),
+ case file:consult(File) of
+ {ok, [{application, App, AppFile}]} ->
+ {ok, AppFile};
+ Error ->
+ {error, {invalid_format, Error}}
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+fields(suite) ->
+ [];
+fields(doc) ->
+ [];
+fields(Config) when is_list(Config) ->
+ AppFile = key1search(app_file, Config),
+ Fields = [vsn, description, modules, registered, applications],
+ case check_fields(Fields, AppFile, []) of
+ [] ->
+ ok;
+ Missing ->
+ fail({missing_fields, Missing})
+ end.
+
+check_fields([], _AppFile, Missing) ->
+ Missing;
+check_fields([Field|Fields], AppFile, Missing) ->
+ check_fields(Fields, AppFile, check_field(Field, AppFile, Missing)).
+
+check_field(Name, AppFile, Missing) ->
+ io:format("checking field: ~p~n", [Name]),
+ case lists:keymember(Name, 1, AppFile) of
+ true ->
+ Missing;
+ false ->
+ [Name|Missing]
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+modules(suite) ->
+ [];
+modules(doc) ->
+ [];
+modules(Config) when is_list(Config) ->
+ AppFile = key1search(app_file, Config),
+ Mods = key1search(modules, AppFile),
+ EbinList = get_ebin_mods(wx),
+ case missing_modules(Mods, EbinList, []) of
+ [] ->
+ ok;
+ Missing ->
+ throw({error, {missing_modules, Missing}})
+ end,
+ case extra_modules(Mods, EbinList, []) of
+ [] ->
+ ok;
+ Extra ->
+ throw({error, {extra_modules, Extra}})
+ end,
+ {ok, Mods}.
+
+get_ebin_mods(App) ->
+ LibDir = code:lib_dir(App),
+ EbinDir = filename:join([LibDir,"ebin"]),
+ {ok, Files0} = file:list_dir(EbinDir),
+ Files1 = [lists:reverse(File) || File <- Files0],
+ [list_to_atom(lists:reverse(Name)) || [$m,$a,$e,$b,$.|Name] <- Files1].
+
+missing_modules([], _Ebins, Missing) ->
+ Missing;
+missing_modules([Mod|Mods], Ebins, Missing) ->
+ case lists:member(Mod, Ebins) of
+ true ->
+ missing_modules(Mods, Ebins, Missing);
+ false ->
+ io:format("missing module: ~p~n", [Mod]),
+ missing_modules(Mods, Ebins, [Mod|Missing])
+ end.
+
+
+extra_modules(_Mods, [], Extra) ->
+ Extra;
+extra_modules(Mods, [Mod|Ebins], Extra) ->
+ case lists:member(Mod, Mods) of
+ true ->
+ extra_modules(Mods, Ebins, Extra);
+ false ->
+ io:format("supefluous module: ~p~n", [Mod]),
+ extra_modules(Mods, Ebins, [Mod|Extra])
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+exportall(suite) ->
+ [];
+exportall(doc) ->
+ [];
+exportall(Config) when is_list(Config) ->
+ AppFile = key1search(app_file, Config),
+ Mods = key1search(modules, AppFile),
+ check_export_all(Mods).
+
+
+check_export_all([]) ->
+ ok;
+check_export_all([Mod|Mods]) ->
+ case (catch apply(Mod, module_info, [compile])) of
+ {'EXIT', {undef, _}} ->
+ check_export_all(Mods);
+ O ->
+ case lists:keysearch(options, 1, O) of
+ false ->
+ check_export_all(Mods);
+ {value, {options, List}} ->
+ case lists:member(export_all, List) of
+ true ->
+ throw({error, {export_all, Mod}});
+ false ->
+ check_export_all(Mods)
+ end
+ end
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+app_depend(suite) ->
+ [];
+app_depend(doc) ->
+ [];
+app_depend(Config) when is_list(Config) ->
+ AppFile = key1search(app_file, Config),
+ Apps = key1search(applications, AppFile),
+ check_apps(Apps).
+
+check_apps([]) ->
+ ok;
+check_apps([App|Apps]) ->
+ case is_app(App) of
+ {ok, _} ->
+ check_apps(Apps);
+ Error ->
+ throw({error, {missing_app, {App, Error}}})
+ end.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+undef_funcs(suite) ->
+ [];
+undef_funcs(doc) ->
+ [];
+undef_funcs(Config) when is_list(Config) ->
+ catch test_server:timetrap(timer:minutes(10)),
+ App = wx,
+ AppFile = key1search(app_file, Config),
+ Mods = key1search(modules, AppFile),
+ Root = code:root_dir(),
+ LibDir = code:lib_dir(App),
+ EbinDir = filename:join([LibDir,"ebin"]),
+ XRefTestName = undef_funcs_make_name(App, xref_test_name),
+ {ok, XRef} = xref:start(XRefTestName),
+ ok = xref:set_default(XRef,
+ [{verbose,false},{warnings,false}]),
+ XRefName = undef_funcs_make_name(App, xref_name),
+ {ok, XRefName} = xref:add_release(XRef, Root, {name,XRefName}),
+ {ok, App} = xref:replace_application(XRef, App, EbinDir),
+ {ok, Undefs} = xref:analyze(XRef, undefined_function_calls),
+ xref:stop(XRef),
+ analyze_undefined_function_calls(Undefs, Mods, []).
+
+analyze_undefined_function_calls([], _, []) ->
+ ok;
+analyze_undefined_function_calls([], _, AppUndefs) ->
+ exit({suite_failed, {undefined_function_calls, AppUndefs}});
+analyze_undefined_function_calls([{{Mod, _F, _A}, _C} = AppUndef|Undefs],
+ AppModules, AppUndefs) ->
+ %% Check that this module is ours
+ case lists:member(Mod,AppModules) of
+ true ->
+ {Calling,Called} = AppUndef,
+ {Mod1,Func1,Ar1} = Calling,
+ {Mod2,Func2,Ar2} = Called,
+ io:format("undefined function call: "
+ "~n ~w:~w/~w calls ~w:~w/~w~n",
+ [Mod1,Func1,Ar1,Mod2,Func2,Ar2]),
+ analyze_undefined_function_calls(Undefs, AppModules,
+ [AppUndef|AppUndefs]);
+ false ->
+ io:format("dropping ~p~n", [Mod]),
+ analyze_undefined_function_calls(Undefs, AppModules, AppUndefs)
+ end.
+
+%% This function is used simply to avoid cut-and-paste errors later...
+undef_funcs_make_name(App, PostFix) ->
+ list_to_atom(atom_to_list(App) ++ "_" ++ atom_to_list(PostFix)).
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+fail(Reason) ->
+ exit({suite_failed, Reason}).
+
+key1search(Key, L) ->
+ case lists:keysearch(Key, 1, L) of
+ false ->
+ fail({not_found, Key, L});
+ {value, {Key, Value}} ->
+ Value
+ end.
diff --git a/lib/xmerl/doc/src/notes.xml b/lib/xmerl/doc/src/notes.xml
index 0f30ae9eca..207f6fdf16 100644
--- a/lib/xmerl/doc/src/notes.xml
+++ b/lib/xmerl/doc/src/notes.xml
@@ -31,6 +31,30 @@
<p>This document describes the changes made to the Xmerl application.</p>
+<section><title>Xmerl 1.2.5</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ All Erlang files are now built by the test server instead of the test directory Makefile.
+ </p>
+ <p>
+ Erlang files in data directories are now built by the test suites instead of using
+ prebuilt versions under version control.
+ </p>
+ <p>
+ Removed a number of obsolete guards.
+ </p>
+ <p>
+ Own Id: OTP-8537
+ </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Xmerl 1.2.4</title>
<section><title>Improvements and New Features</title>
@@ -54,7 +78,7 @@
<item>
<p>
A continuation clause of <c>parse_reference/3</c> had
- it's parameters in wrong order.</p>
+ its parameters in wrong order.</p>
<p>
Own Id: OTP-8251 Aux Id: seq11429 </p>
</item>
diff --git a/lib/xmerl/vsn.mk b/lib/xmerl/vsn.mk
index 4162b52a80..83b9d4826f 100644
--- a/lib/xmerl/vsn.mk
+++ b/lib/xmerl/vsn.mk
@@ -17,14 +17,17 @@
# %CopyrightEnd%
#
-XMERL_VSN = 1.2.4
+XMERL_VSN = 1.2.5
TICKETS = \
- OTP-8343
+ OTP-8537
+
+TICKETS_1.2.5 = \
+ OTP-8537
TICKETS_1.2.4 = \
- OTP-8343
+ OTP-8343
TICKETS_1.2.3 = \
OTP-8251 \
diff --git a/make/emd2exml.in b/make/emd2exml.in
new file mode 100644
index 0000000000..17cb0a0b57
--- /dev/null
+++ b/make/emd2exml.in
@@ -0,0 +1,1285 @@
+#!/usr/bin/env escript
+%% -*- erlang -*-
+%%! -smp disable
+
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2010. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+
+%%%-------------------------------------------------------------------
+%%% File : emd2exml.in
+%%% Author : Rickard Green
+%%% Description : Erlangish MarkDown To Erlangish XML
+%%%
+%%% Note that this script has *one and only one*
+%%% specific purpose. That purpose is to generate XML
+%%% that fits into the Erlang/OTP documentation, so that
+%%% the Erlang/OTP "readme" files also can be part of
+%%% the Erlang/OTP HTML and Erlang/OTP PDF
+%%% documentation. Nothing more, nothing less. It is
+%%% *not* intended as some kind of a generic Markdown to
+%%% XML tool, and never will be.
+%%%
+%%% Created : 25 Feb 2010 by Rickard Green
+%%%-------------------------------------------------------------------
+
+-define(MAX_HEADING, 3).
+
+-define(DELAYED_COPYRIGHT_IX, 0).
+-define(DELAYED_TOC_IX, 1).
+-define(DELAYED_START_IX, 2).
+
+-mode(compile).
+
+-export([main/1]).
+
+-record(state,{h = 0,
+ p = false,
+ c = no,
+ note = false,
+ warning = false,
+ emphasis = no,
+ code = false,
+ code_blank = [],
+ bq_lvl = 0,
+ mlist = [],
+ list_p = false,
+ list_type_stack = [],
+ list_p_stack = [],
+ list_lvl = 0,
+ line_no = -1,
+ line = "",
+ type = blank,
+ bq_type = 0,
+ prev_line = "",
+ prev_type = blank,
+ next_line = "",
+ next_type = blank,
+ bq_next_type = 0,
+ delayed_array,
+ delayed_array_ix = ?DELAYED_START_IX,
+ delayed_tree,
+ out = [],
+ copyright = false,
+ copyright_data = [],
+ have_h1 = false,
+ smarker_ix = false,
+ toc = [],
+ ifile,
+ ofile}).
+
+main([I, O]) ->
+ IFD = file_ropen(I),
+ S0 = get_line(get_line(#state{ifile = IFD,
+ ofile = {O, undefined},
+ delayed_array = array:new(),
+ delayed_tree = gb_trees:empty()})),
+ S1 = complete_output(parse(S0)),
+ file_close(IFD),
+ OFD = file_wopen(O),
+ write_output(OFD, S1#state.out),
+ file_close(OFD),
+ stop();
+main(_) ->
+ io:format(standard_error,
+ "Usage: emd2exml <Input Markdown File> <Output XML file>~n",[]),
+ stop(1).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Parser
+%%
+
+%%
+%% Eof
+%%
+
+parse(#state{h = H, line = eof} = S) ->
+ sections(0, H, end_all(S));
+
+%%
+%% Note
+%%
+
+parse(#state{line = "> *NOTE*: " ++ Line,
+ note = false,
+ type = {bquote, 0, 1}} = S0) ->
+ S1 = put_line(end_all(S0#state{note = true, bq_lvl = 1}), "<note>"),
+ parse(S1#state{line = Line, type = type(Line), bq_type = 1});
+
+parse(#state{bq_lvl = 1, note = true, bq_type = 0} = S) ->
+ parse(put_line(end_all(S#state{bq_lvl = 0, note = false}), "</note>"));
+
+%%
+%% Warning
+%%
+
+parse(#state{line = "> *WARNING*: " ++ Line,
+ warning = false,
+ type = {bquote, 0, 1}} = S0) ->
+ S1 = put_line(end_all(S0#state{warning = true, bq_lvl = 1}), "<warning>"),
+ parse(S1#state{line = Line, type = type(Line), bq_type = 1});
+
+parse(#state{bq_lvl = 1, warning = true, bq_type = 0} = S) ->
+ parse(put_line(end_all(S#state{bq_lvl = 0, warning = false}), "</warning>"));
+
+%%
+%% Block quote
+%%
+
+parse(#state{note = false,
+ warning = false,
+ line = BQLine,
+ type = {bquote, TxtLvl, BQLvl}} = S0) ->
+ Line = rm_bquote(TxtLvl, BQLvl, BQLine),
+ S1 = chg_bq_lvl(BQLvl, S0),
+ parse(S1#state{line = Line, type = type(Line), bq_type = BQLvl});
+
+% This clause is also used by warning and note
+parse(#state{bq_lvl = BQLvl,
+ next_line = BQLine,
+ next_type = {bquote, TxtLvl, BQLvl}} = S) ->
+ Line = rm_bquote(TxtLvl, BQLvl, BQLine),
+ parse(S#state{next_line = Line,
+ next_type = type(Line),
+ bq_next_type = BQLvl});
+
+parse(#state{note = false,
+ warning = false,
+ bq_lvl = Lvl, bq_type = 0} = S) when Lvl /= 0->
+ parse(chg_bq_lvl(0, S));
+
+%%
+%% Multiple blank lines
+%%
+
+% Keep multiple blank lines in code otherwise get rid of them...
+parse(#state{code = false, type = blank, next_type = blank} = S) ->
+ parse(get_line(S));
+
+%%
+%% Heading
+%%
+
+parse(#state{type = {text, 0}, next_type = {marker, h1}} = S) ->
+ parse(get_line(get_line(setext_heading(1, end_all(S)))));
+parse(#state{type = {text, 0}, next_type = {marker, h2}} = S) ->
+ parse(get_line(get_line(setext_heading(2, end_all(S)))));
+parse(#state{line = "#" ++ _} = S) ->
+ parse(get_line(atx_heading(end_all(S))));
+
+%%
+%% List
+%%
+
+parse(#state{code = false,
+ list_lvl = Lvl,
+ type = blank,
+ next_type = {text, 0}} = S) when Lvl /= 0 ->
+ parse(get_line(chg_list_lvl(S, 0)));
+
+parse(#state{code = false,
+ list_lvl = Lvl,
+ type = blank,
+ next_type = {text, TxtLvl}} = S) when Lvl /= 0,
+ TxtLvl >= Lvl ->
+ parse(get_line(put_line(list_use_p(S, yes), "")));
+
+parse(#state{code = false,
+ list_lvl = Lvl,
+ type = blank,
+ next_type = {uolist, ListLvl}} = S) when Lvl /= 0,
+ ListLvl >= Lvl-1 ->
+ parse(get_line(put_line(list_use_p(S, yes), "")));
+
+parse(#state{code = false,
+ list_lvl = Lvl,
+ type = blank,
+ next_type = {olist, ListLvl}} = S) when Lvl /= 0,
+ ListLvl >= Lvl-1 ->
+ parse(get_line(put_line(list_use_p(S, yes), "")));
+
+parse(#state{code = false,
+ type = {ListType, ListLvl},
+ line = Line} = S0) when ListType == uolist; ListType == olist ->
+ S1 = list_item(end_p(S0), ListType, ListLvl),
+ S2 = list_chk_nxt_line(put_text(put_list_p(S1, start),
+ list_strip(ListType, Line))),
+ parse(get_line(S2));
+
+parse(#state{code = false,
+ list_lvl = Lvl,
+ list_p = true,
+ type = {text, _},
+ line = Line} = S0) when Lvl /= 0 ->
+ S1 = list_chk_nxt_line(put_text(S0, list_strip(Line))),
+ parse(get_line(S1));
+
+parse(#state{code = false,
+ list_lvl = Lvl,
+ list_p = false,
+ type = {text, NewLvl},
+ line = Line} = S0) when Lvl /= 0, NewLvl < Lvl ->
+ S1 = chg_list_lvl(S0, NewLvl),
+ S2 = list_chk_nxt_line(put_text(put_list_p(S1, start), list_strip(Line))),
+ parse(get_line(S2));
+
+parse(#state{code = false,
+ list_lvl = Lvl,
+ list_p = false,
+ type = {text, Lvl},
+ line = Line} = S0) when Lvl /= 0 ->
+ S1 = list_chk_nxt_line(put_text(put_list_p(S0, start), list_strip(Line))),
+ parse(get_line(S1));
+
+%%
+%% Code
+%%
+
+parse(#state{code = false,
+ list_lvl = Lvl,
+ p = false,
+ prev_type = blank,
+ type = {text, TxtLvl},
+ line = Line} = S) when TxtLvl > Lvl ->
+ Data = code(strip_lvls(Lvl+1, Line)),
+ parse(get_line(put_chars(S#state{code = true},
+ ["<code type=\"none\">", nl(), Data])));
+parse(#state{code = true, type = blank, line = CB, code_blank = CBs} = S) ->
+ parse(get_line(S#state{code_blank = [CB | CBs]}));
+parse(#state{code = true,
+ code_blank = CB,
+ list_lvl = Lvl,
+ type = {text, TxtLvl},
+ line = Line} = S) when TxtLvl > Lvl ->
+ Data = code(strip_lvls(Lvl+1, Line)),
+ parse(get_line(put_chars(S#state{code_blank = []},
+ [strip_code_blank(Lvl+1, CB), Data])));
+parse(#state{code = true,
+ prev_type = blank,
+ type = {text, 0}} = S) ->
+ parse(chg_list_lvl(end_code(S), 0));
+parse(#state{code = true} = S) ->
+ parse(end_code(S));
+
+%%
+%% Paragraph
+%%
+
+parse(#state{p = false,
+ prev_type = blank,
+ type = {text, 0},
+ next_type = blank,
+ line = Line} = S) ->
+ parse(get_line(put_line(put_text(put_line(S, "<p>"), Line), "</p>")));
+parse(#state{p = false,
+ prev_type = blank,
+ type = {text, 0},
+ line = Line} = S) ->
+ parse(get_line(put_text(put_line(S#state{p = true}, "<p>"), Line)));
+parse(#state{p = true,
+ type = {text, 0},
+ next_type = blank,
+ line = Line} = S) ->
+ parse(get_line(put_line(put_text(S#state{p = false}, Line), "</p>")));
+
+%%
+%% Resolve link
+%%
+
+parse(#state{type = resolve_link} = S) ->
+ parse(get_line(resolve_link(S)));
+
+%%
+%% Plain text
+%%
+
+parse(#state{line = Line} = S) ->
+ parse(get_line(put_text(S, Line))).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Auxilary functions
+%%%
+
+%%
+%% Text
+%%
+
+end_p(#state{p = false} = S) ->
+ S;
+end_p(#state{p = true} = S) ->
+ put_line(S#state{p = false}, "</p>").
+
+text(Line) ->
+ text(Line, []).
+
+text("%ERTS-VSN%" ++ Cs, Acc) ->
+ text(Cs, ["@ERTS_VSN@"|Acc]);
+text("%OTP-REL%" ++ Cs, Acc) ->
+ text(Cs, ["@OTP_REL@"|Acc]);
+
+text([$\\,C|Cs], Acc) ->
+ text(Cs, [C|Acc]);
+text([$<|Cs], Acc) ->
+ text(Cs, ["&lt;"|Acc]);
+text([$>|Cs], Acc) ->
+ text(Cs, ["&gt;"|Acc]);
+text([$&|Cs], Acc) ->
+ text(Cs, ["&amp;"|Acc]);
+text([$'|Cs], Acc) ->
+ text(Cs, ["&apos;"|Acc]);
+text([C|Cs], Acc) ->
+ text(Cs, [C|Acc]);
+text([], Acc) ->
+ lists:reverse(Acc).
+
+put_text(#state{c = CTag, emphasis = EmTag} = S, Line) ->
+ put_text(S, Line, CTag, EmTag, []).
+
+put_text(S, "%ERTS-VSN%"++Cs, CTag, EmTag, Acc) ->
+ put_text(S, Cs, CTag, EmTag, ["@ERTS_VSN@"|Acc]);
+put_text(S, "%OTP-REL%"++Cs, CTag, EmTag, Acc) ->
+ put_text(S, Cs, CTag, EmTag, ["@OTP_REL@"|Acc]);
+
+put_text(S, [$\\,C|Cs], no, EmTag, Acc) ->
+ put_text(S, Cs, no, EmTag, [C|Acc]);
+put_text(S, [C,C|Cs], no, b, Acc) when C == $*; C == $_ ->
+ put_text(S, Cs, no, no, ["</b>"|Acc]);
+put_text(S, [C,C|Cs], no, no, Acc) when C == $*; C == $_ ->
+ put_text(S, Cs, no, b, ["<b>"|Acc]);
+put_text(S, [C|Cs], no, em, Acc) when C == $*; C == $_ ->
+ put_text(S, Cs, no, no, ["</em>"|Acc]);
+put_text(S, [C|Cs], no, no, Acc) when C == $*; C == $_ ->
+ put_text(S, Cs, no, em, ["<em>"|Acc]);
+put_text(S, [$`,$`|Cs], double, EmTag, Acc) ->
+ put_text(S, Cs, no, EmTag, ["</c>"|Acc]);
+put_text(S, [$`,$`|Cs], no, EmTag, Acc) ->
+ put_text(S, Cs, double, EmTag, ["<c>"|Acc]);
+put_text(S, [$`|Cs], single, EmTag, Acc) ->
+ put_text(S, Cs, no, EmTag, ["</c>"|Acc]);
+put_text(S, [$`|Cs], no, EmTag, Acc) ->
+ put_text(S, Cs, single, EmTag, ["<c>"|Acc]);
+put_text(S, [$<|Cs], CTag, EmTag, Acc) when CTag /= no ->
+ put_text(S, Cs, CTag, EmTag, ["&lt;"|Acc]);
+put_text(S, [$>|Cs], CTag, EmTag, Acc) when CTag /= no ->
+ put_text(S, Cs, CTag, EmTag, ["&gt;"|Acc]);
+put_text(S, [$&|Cs], CTag, EmTag, Acc) when CTag /= no ->
+ put_text(S, Cs, CTag, EmTag, ["&amp;"|Acc]);
+put_text(S, [$'|Cs], CTag, EmTag, Acc)when CTag /= no ->
+ put_text(S, Cs, CTag, EmTag, ["&apos;"|Acc]);
+put_text(S, [$<|Cs], no, EmTag, Acc) ->
+ case auto_link(Cs) of
+ no -> put_text(S, Cs, no, EmTag, [$<|Acc]);
+ {URL, NewCs} -> put_text(S, NewCs, no, EmTag, [URL|Acc])
+ end;
+put_text(S0, "![" ++ Cs, no, EmTag, Acc) ->
+ put_text_link_or_image(S0, image, "![", Cs, EmTag, Acc);
+put_text(S0, [$[|Cs], no, EmTag, Acc) ->
+ put_text_link_or_image(S0, link, $[, Cs, EmTag, Acc);
+put_text(S, " \n", CTag, EmTag, Acc) ->
+ put_text(S, [], CTag, EmTag, ["<br/>\n"|Acc]);
+put_text(S, " \r", CTag, EmTag, Acc) ->
+ put_text(S, [], CTag, EmTag, ["<br/>\r"|Acc]);
+put_text(S, " \r\n", CTag, EmTag, Acc) ->
+ put_text(S, [], CTag, EmTag, ["<br/>\r\n"|Acc]);
+put_text(S, [C|Cs], CTag, EmTag, Acc) ->
+ put_text(S, Cs, CTag, EmTag, [C|Acc]);
+put_text(S0, [], CTag, EmTag, Acc) ->
+ S1 = put_chars(S0, [lists:reverse(Acc)]),
+ S1#state{c = CTag, emphasis = EmTag}.
+
+put_text_link_or_image(S0, Type, Head, Tail0, EmTag, Acc) ->
+ case link_or_image(Tail0, Type) of
+ no -> put_text(S0, Tail0, no, EmTag, [Head|Acc]);
+ {LnkOrImg, Tail1} -> put_text(S0, Tail1, no, EmTag, [LnkOrImg|Acc]);
+ {delayed, Type, Key, Text, Tail1} ->
+ chk_key(Type, Key, S0),
+ S1 = put_chars(S0, [lists:reverse(Acc)]),
+ S2 = put_delayed(S1, Key, {Type, Text, S1#state.line_no}),
+ put_text(S2, Tail1, no, EmTag, [])
+ end.
+
+%%
+%% Links
+%%
+
+chk_key(Type, [$?|_] = Key, #state{ifile = {File, _}, line_no = Line}) ->
+ error(File, Line, "~s definition name `~ts' begin with a `?' character",
+ [case Type of
+ image -> "Image";
+ _ -> "Link"
+ end,
+ Key]);
+chk_key(_, _, _) ->
+ ok.
+
+auto_link(Str) ->
+ case url(Str) of
+ no -> no;
+ Res -> Res
+ end.
+
+url(Str) ->
+ url(Str, false, []).
+
+url([$\\,C|Cs], Bool, Acc) ->
+ url(Cs, Bool, [C|Acc]);
+url([$>|_Cs], false, _Acc) ->
+ no;
+url([$>|Cs], true, Acc) ->
+ Url = text(lists:reverse(Acc)),
+ {["<url href=\"", Url, "\">", Url, "</url>"], Cs};
+url("://" ++ _Cs, true, _Acc) ->
+ no;
+url("://" ++ Cs, false, Acc) ->
+ url(Cs, true, [$/,$/,$:|Acc]);
+url([C|Cs], Bool, Acc) ->
+ url(Cs, Bool, [C|Acc]).
+
+link_or_image(Str, Type) ->
+ case link_or_image_text(Str, "") of
+ no -> no;
+ {Text, Cont1} ->
+ case link_or_image_data(Cont1, none, Type, "", "") of
+ no -> no;
+ {url, Url, _Title, Cont2} ->
+ {["<url href=\"", text(Url), "\">", text(Text), "</url>"],
+ Cont2};
+ {seealso, SeeAlso, _Title, Cont2} ->
+ {["<seealso marker=\"", text(SeeAlso), "\">",
+ text(Text), "</seealso>"],
+ Cont2};
+ {image, Image, Title, Cont2} ->
+ {["<image file=\"", text(Image), "\"><icaption>",
+ text(Title), "</icaption></image>"],
+ Cont2};
+ {delayed, text, Cont2} ->
+ {delayed, Type, Text, Text, Cont2};
+ {delayed, Key, Cont2} ->
+ {delayed, Type, Key, Text, Cont2}
+ end
+ end.
+
+link_or_image_text([$\\,C|Cs], Acc) ->
+ link_or_image_text(Cs, [C|Acc]);
+link_or_image_text([$]|_Cs], "") ->
+ no;
+link_or_image_text([$]|Cs], Acc) ->
+ {lists:reverse(Acc), Cs};
+link_or_image_text([C|Cs], Acc) ->
+ link_or_image_text(Cs, [C|Acc]);
+link_or_image_text([], _Acc) ->
+ no.
+
+link_or_image_data([C|Cs], none, link, "", "") when C == $ ; C == $\t ->
+ link_or_image_data(Cs, none, link, "", "");
+link_or_image_data([C|Cs], none, image, "", "") when C == $ ; C == $\t ->
+ link_or_image_data(Cs, none, image, "", "");
+
+link_or_image_data([$\\,C|Cs], How, Type, Eltit, Lru) when How /= none ->
+ link_or_image_data(Cs, How, Type, Eltit, [C|Lru]);
+
+link_or_image_data([$(|Cs], none, link, "", "") ->
+ link_or_image_data(Cs, {inline, read}, seealso, "", "");
+link_or_image_data([$(|Cs], none, image, "", "") ->
+ link_or_image_data(Cs, {inline, read}, image, "", "");
+link_or_image_data([$)|_Cs], {inline, _}, _Type, "", "") ->
+ no;
+link_or_image_data([$)|Cs], {inline, _}, Type, Eltit, Lru) ->
+ {Type, lists:reverse(ws_strip(Lru)), lists:reverse(ws_strip(Eltit)), Cs};
+link_or_image_data("://" ++Cs, {inline, read} = IR, seealso, Eltit, Lru) ->
+ link_or_image_data(Cs, IR, url, Eltit, [$/,$/,$:|Lru]);
+link_or_image_data([$"|Cs], {inline, read}, Type, "", Lru) ->
+ link_or_image_data(Cs, {inline, read_title}, Type, "", Lru);
+link_or_image_data([$"|Cs], {inline, read_title}, Type, Eltit, Lru) ->
+ link_or_image_data(Cs, {inline, drop}, Type, Eltit, Lru);
+link_or_image_data([C|Cs], {inline, read} = IR, Type, "", Lru) ->
+ link_or_image_data(Cs, IR, Type, "", [C|Lru]);
+link_or_image_data([C|Cs], {inline, read_title} = IRT, Type, Eltit, Lru) ->
+ link_or_image_data(Cs, IRT, Type, [C|Eltit], Lru);
+link_or_image_data([_|Cs], {inline, drop}, Type, Eltit, Lru) ->
+ link_or_image_data(Cs, {inline, drop}, Type, Eltit, Lru);
+
+link_or_image_data("[]"++Cs, none, _Type, "", "") ->
+ {delayed, text, Cs};
+link_or_image_data([$[|Cs], none, Type, "", "") ->
+ link_or_image_data(Cs, reference, Type, "", "");
+link_or_image_data(_, none, _Type, "", "") ->
+ no;
+link_or_image_data([$]|_Cs], reference, _Type, "", "") ->
+ no;
+link_or_image_data([$]|Cs], reference, _Type, "", Fer) ->
+ {delayed, lists:reverse(ws_strip(Fer)), Cs};
+link_or_image_data([C|Cs], reference, Type, "", Fer) ->
+ link_or_image_data(Cs, reference, Type, "", [C|Fer]).
+
+mk_image(Title, Url) ->
+ ["<image file=\"", text(Url), "\"><icaption>",
+ text(Title), "</icaption></image>"].
+
+mk_link(Text, Url) ->
+ case chk_proto(Url) of
+ true -> ["<url href=\"", text(Url), "\">", text(Text), "</url>"];
+ false -> ["<seealso marker=\"", text(Url), "\">", text(Text), "</seealso>"]
+ end.
+
+chk_proto("://" ++ _) ->
+ true;
+chk_proto([]) ->
+ false;
+chk_proto([_|Cs]) ->
+ chk_proto(Cs).
+
+%%
+%% Code
+%%
+
+code(Line) ->
+ code(Line, []).
+
+code("%ERTS-VSN%" ++ Cs, Acc) ->
+ code(Cs, ["@ERTS_VSN@"|Acc]);
+code("%OTP-REL%" ++ Cs, Acc) ->
+ code(Cs, ["@OTP_REL@"|Acc]);
+
+code([$<|Cs], Acc) ->
+ code(Cs, ["&lt;"|Acc]);
+code([$>|Cs], Acc) ->
+ code(Cs, ["&gt;"|Acc]);
+code([$&|Cs], Acc) ->
+ code(Cs, ["&amp;"|Acc]);
+code([$'|Cs], Acc) ->
+ code(Cs, ["&apos;"|Acc]);
+code([C|Cs], Acc) ->
+ code(Cs, [C|Acc]);
+code([], Acc) ->
+ lists:reverse(Acc).
+
+end_code(#state{code = true} = S) ->
+ put_line(S#state{code = false, code_blank = []}, "</code>");
+end_code(S) ->
+ S.
+
+strip_code_blank(_Lvls, []) ->
+ [];
+strip_code_blank(Lvls, CBs) ->
+ strip_code_blank(Lvls, CBs, []).
+
+strip_code_blank(_Lvls, [], Acc) ->
+ Acc;
+strip_code_blank(Lvls, [CB|CBs], Acc) ->
+ strip_code_blank(Lvls, CBs, [strip_lvls(Lvls, CB)|Acc]).
+
+strip_lvls(0, Str) ->
+ Str;
+strip_lvls(N, " " ++ Str) ->
+ strip_lvls(N-1, Str);
+strip_lvls(N, [$\t | Str]) ->
+ strip_lvls(N-1, Str);
+strip_lvls(_N, Str) ->
+ Str.
+
+%%
+%% Titles and sections
+%%
+
+put_title(S, 1, Title) ->
+ header(chk_h1(1, S#state{h = 1, mlist = [top]}), Title);
+put_title(#state{mlist = MList0,
+ toc = TOC,
+ smarker_ix = SMarkerIX} = S0, H, Title) ->
+ TitleStr = text(Title),
+ MList1 = [mk_lvl_marker(Title) | MList0],
+ Marker = mk_marker(MList1),
+ S1 = chk_h1(H,
+ S0#state{toc = [TOC,
+ lists:duplicate(H," "),
+ " ",
+ "<seealso marker=\"#",Marker,"\">",
+ TitleStr,"</seealso>",nl()],
+ h = H,
+ mlist = MList1,
+ smarker_ix = false}),
+ true = is_integer(SMarkerIX),
+ S2 = write_delayed(S1, SMarkerIX, ["<marker id=\"", Marker, "\"/>",nl()]),
+ {STag, ETag} = case H > ?MAX_HEADING of
+ true -> {"<p><b>", "</b></p>"};
+ false -> {"<title>", "</title>"}
+ end,
+ put_chars(S2, [STag, TitleStr, ETag, nl()]).
+
+setext_heading(H, #state{line = Line, h = OldH} = S0) ->
+ S1 = sections(H, OldH, S0),
+ put_title(S1, H, ws_strip(Line)).
+
+atx_heading(#state{line = Line, h = OldH} = S0) ->
+ {H, Title} = get_atx_title(Line),
+ S1 = sections(H, OldH, S0),
+ put_title(S1, H, ws_strip(Title)).
+
+
+get_atx_title(Line) ->
+ get_atx_title(Line, 0).
+
+get_atx_title("#" ++ Rest, H) ->
+ get_atx_title(Rest, H+1);
+get_atx_title(Rest, H) ->
+ {H, atx_strip(Rest)}.
+
+atx_strip(S) ->
+ strip(S, [$ ,$\t,$\n,$\r,$#]).
+
+chk_h1(1, #state{have_h1 = true, ifile = {File, _}, line_no = Line}) ->
+ error(File, Line, "Multiple H1 headings~n", []);
+chk_h1(1, #state{have_h1 = false} = S) ->
+ S#state{have_h1 = true};
+chk_h1(_H, S) ->
+ S.
+
+sections(0, 0, S) ->
+ S;
+sections(H, H, #state{mlist = [_|ML], toc = TOC} = S0) ->
+ S1 = S0#state{mlist = ML,
+ toc = [TOC,
+ lists:duplicate(H," "),
+ "</item><item>",nl()]},
+ S2 = end_section(H, S1),
+ begin_section(H, S2);
+sections(H, OldH, S) ->
+ sections_change(H, OldH, S).
+
+sections_change(H, H, S) ->
+ S;
+sections_change(H, OldH, #state{ifile = {File, _},
+ line_no = Line}) when H > OldH+1 ->
+ error(File, Line, "Level ~p heading without preceding level "
+ "~p heading~n", [H, H-1]);
+sections_change(H, OldH, #state{toc = TOC} = S0) when H == OldH+1 ->
+ S1 = case H > 1 of
+ false -> S0;
+ true-> S0#state{toc = [TOC, lists:duplicate(H-1," "),
+ "<list type=\"ordered\"><item>",nl()]}
+ end,
+ S2 = begin_section(H, S1),
+ sections_change(H, OldH+1, S2);
+sections_change(H, OldH, #state{mlist = [_|ML], toc = TOC} = S0) ->
+ S1 = case OldH > 1 of
+ false -> S0;
+ true-> S0#state{toc = [TOC, lists:duplicate(OldH-1," "),
+ "</item></list>",nl()]}
+ end,
+ S2 = end_section(OldH, S1),
+ sections(H, OldH-1, S2#state{mlist = ML}).
+
+begin_section(1, S) ->
+ put_line(S, "<chapter>");
+begin_section(H, #state{delayed_array_ix = IX} = S0) when H > ?MAX_HEADING ->
+ false = S0#state.smarker_ix,
+ true = is_integer(IX),
+ put_delayed(S0#state{smarker_ix = IX, delayed_array_ix = IX+1}, IX);
+begin_section(H, #state{delayed_array_ix = IX} = S0) when H > 1 ->
+ false = S0#state.smarker_ix,
+ true = is_integer(IX),
+ S1 = put_delayed(S0#state{smarker_ix = IX, delayed_array_ix = IX+1}, IX),
+ put_line(S1, "<section>");
+begin_section(_H, S) ->
+ S.
+
+end_section(1, S) ->
+ put_chars(S, ["</chapter>",nl(),nl()]);
+end_section(H, S) when H < 1; ?MAX_HEADING < H ->
+ S;
+end_section(_H, S) ->
+ put_chars(S, ["</section>",nl(),nl()]).
+
+mk_lvl_marker([C|Cs]) when $a =< C, C =< $z ->
+ [C|mk_lvl_marker(Cs)];
+mk_lvl_marker([C|Cs]) when $A =< C, C =< $Z ->
+ [C|mk_lvl_marker(Cs)];
+mk_lvl_marker([C|Cs]) when C == $ ; C == $\t ->
+ [$-|mk_lvl_marker(Cs)];
+mk_lvl_marker([_|Cs]) ->
+ mk_lvl_marker(Cs);
+mk_lvl_marker([]) ->
+ [].
+
+mk_marker([L|Ls]) ->
+ mk_marker(Ls, L).
+
+mk_marker([top], Res) ->
+ Res;
+mk_marker([L|Ls], Res) ->
+ mk_marker(Ls, [L,$_|Res]).
+
+header(#state{ofile = {File, _}} = S0, Title) ->
+ {Year, Month, Day} = erlang:date(),
+ S1 = put_line(S0, "<header>"),
+ S2 = put_delayed(S1, ?DELAYED_COPYRIGHT_IX),
+ S3 = put_chars(S2,
+ ["<title>", text(Title), "</title>", nl(),
+ "<prepared>emd2exml</prepared>", nl(),
+ "<responsible>emd2exml</responsible>", nl(),
+ "<docno>1</docno>", nl(),
+ "<approved>yes</approved>", nl(),
+ "<checked>yes</checked>", nl(),
+ "<date>",
+ integer_to_list(Year), "-",
+ integer_to_list(Month), "-",
+ integer_to_list(Day),
+ "</date>", nl(),
+ "<rev>1</rev>", nl(),
+ "<file>",File,"</file>", nl(),
+ "</header>", nl()]),
+ put_delayed(S3, ?DELAYED_TOC_IX).
+
+
+create_copyright_notice(#state{copyright_data = CRD} = S) ->
+ {From, To, Holder, Legal} = parse_crd(CRD, [], [], [], []),
+ write_delayed(S,
+ ?DELAYED_COPYRIGHT_IX,
+ ["<copyright>", nl(),
+ "<year>", From, "</year>", nl(),
+ "<year>", To, "</year>", nl(),
+ "<holder>", code(Holder),"</holder>", nl(),
+ "</copyright>", nl(),
+ "<legalnotice>", nl(),
+ code(Legal),
+ "</legalnotice>", nl(), nl()]).
+
+create_toc(#state{toc = TOC} = S) ->
+ case read_delayed(S, "?TOC") of
+ {value,{"true",[]}} ->
+ write_delayed(S,
+ ?DELAYED_TOC_IX,
+ ["<p><b>Table of Contents</b></p>", nl(), TOC]);
+ _ ->
+ write_delayed(S, ?DELAYED_TOC_IX, "")
+ end.
+
+parse_crd([], From, To, Holder, Legal) ->
+ {Year, _, _} = erlang:date(),
+ {case From of
+ [] -> integer_to_list(Year);
+ _ -> From
+ end,
+ case To of
+ [] -> integer_to_list(Year);
+ _ -> To
+ end,
+ case Holder of
+ [] -> "Ericsson AB. All Rights Reserved.";
+ _ -> Holder
+ end,
+ case Legal of
+ [] ->
+ ["The contents of this file are subject to the Erlang Public License,", nl(),
+ "Version 1.1, (the \"License\"); you may not use this file except in", nl(),
+ "compliance with the License. You should have received a copy of the", nl(),
+ "Erlang Public License along with this software. If not, it can be", nl(),
+ "retrieved online at http://www.erlang.org/.", nl(),
+ nl(),
+ "Software distributed under the License is distributed on an \"AS IS\"", nl(),
+ "basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See", nl(),
+ "the License for the specific language governing rights and limitations", nl(),
+ "under the License.", nl()];
+ _ -> Legal
+ end};
+parse_crd([Line|Lines], OldFrom, OldTo, OldHolder, Legal) ->
+ case copyright_line(Line) of
+ no -> parse_crd(Lines, OldFrom, OldTo, OldHolder, [code(Line)|Legal]);
+ {From, To, Holder} -> parse_crd(Lines, From, To, code(Holder), Legal)
+ end.
+
+copyright_line(Line) ->
+ case copyright_line(Line, start, [], []) of
+ {From, To} -> {From, To, Line};
+ _ -> no
+ end.
+
+copyright_line([], start, _, _) ->
+ no;
+copyright_line([], _, [], []) ->
+ {[], []};
+copyright_line([], _, F, []) ->
+ Year = lists:reverse(F),
+ {Year, Year};
+copyright_line("opyright "++Cs, start, [], []) ->
+ copyright_line(Cs, find_from, [], []);
+copyright_line([_|Cs], start, [], []) ->
+ copyright_line(Cs, start, [], []);
+copyright_line([C|Cs], find_from, [], []) when $0 =< C, C =< $9 ->
+ copyright_line(Cs, from, [C|[]], []);
+copyright_line([_|Cs], find_from, [], []) ->
+ copyright_line(Cs, find_from, [], []);
+copyright_line([C|Cs], from, F, []) when $0 =< C, C =< $9 ->
+ copyright_line(Cs, from, [C|F], []);
+copyright_line([_|Cs], from, F, []) ->
+ copyright_line(Cs, find_to, F, []);
+copyright_line([C|Cs], find_to, F, []) when $0 =< C, C =< $9 ->
+ copyright_line(Cs, to, F, [C|[]]);
+copyright_line([_|Cs], find_to, F, []) ->
+ copyright_line(Cs, find_to, F, []);
+copyright_line([C|Cs], to, F, T) when $0 =< C, C =< $9 ->
+ copyright_line(Cs, to, F, [C|T]);
+copyright_line(_, to, F, T) ->
+ {lists:reverse(F), lists:reverse(T)}.
+
+%%
+%% Lists
+%%
+
+put_list_p(#state{list_p_stack = [{_, IX} | _]} = S, start) ->
+ put_delayed(S#state{list_p = true}, IX);
+put_list_p(#state{list_p_stack = [{_, IX} | _]} = S, stop) ->
+ put_delayed(S#state{list_p = false}, IX+1).
+
+list_use_p(#state{list_p_stack = [{unknown, IX} | LPS]} = S0, yes) ->
+ S1 = write_delayed(S0, IX, "<p>"),
+ S2 = write_delayed(S1, IX+1, "</p>"),
+ S2#state{list_p_stack = [{yes, IX} | LPS]};
+list_use_p(#state{list_p_stack = [{unknown, IX} | LPS]} = S0, no) ->
+ S1 = write_delayed(S0, IX, ""),
+ S2 = write_delayed(S1, IX+1, ""),
+ S2#state{list_p_stack = [{no, IX} | LPS]};
+list_use_p(S, _) ->
+ S.
+
+list_chk_nxt_line(#state{list_p = false} = S) ->
+ S;
+list_chk_nxt_line(#state{next_type = {text, _}} = S) ->
+ S;
+list_chk_nxt_line(S) ->
+ put_line(put_list_p(S, stop), "").
+
+list_item(#state{list_lvl = OldLvl} = S0, ListType, ListLvl) ->
+ NewLvl = case ListLvl > OldLvl of
+ true -> OldLvl+1;
+ false -> ListLvl+1
+ end,
+ S1 = chg_list_lvl(S0, ListType, NewLvl),
+ case NewLvl =< OldLvl of
+ false ->
+ S1;
+ true ->
+ case S1#state.list_type_stack of
+ [ListType|_] ->
+ %% New item in old list
+ put_chars(S1, ["</item>", nl(), "<item>", nl()]);
+ [_|LTS] ->
+ %% New item in new list
+ [_ | LPS] = S1#state.list_p_stack,
+ IX = S1#state.delayed_array_ix,
+ S2 = list_use_p(S1, no), % Ignored if already determined
+ S3 = put_line(S2, list_end_tags()),
+ S4 = put_line(S3, list_begin_tags(ListType)),
+ S4#state{list_type_stack = [ListType|LTS],
+ list_p_stack = [{unknown, IX} | LPS],
+ delayed_array_ix = IX+2}
+ end
+ end.
+
+list_begin_tags(uolist) ->
+ "<list type=\"bulleted\"><item>";
+list_begin_tags(olist) ->
+ "<list type=\"ordered\"><item>".
+
+list_end_tags() ->
+ "</item></list>".
+
+chg_list_lvl(#state{list_lvl = Lvl} = S, Lvl) ->
+ S;
+chg_list_lvl(#state{list_lvl = OldLvl,
+ list_type_stack = [ListType|_]} = S,
+ NewLvl) when OldLvl > NewLvl ->
+ chg_list_lvl(S, ListType, NewLvl).
+
+chg_list_lvl(#state{list_lvl = Lvl} = S, _ListType, Lvl) ->
+ S;
+chg_list_lvl(#state{list_p_stack = LPS,
+ list_type_stack = LTS,
+ delayed_array_ix = IX,
+ list_lvl = OldLvl} = S,
+ ListType,
+ Lvl) when OldLvl < Lvl ->
+ chg_list_lvl(put_line(S#state{list_type_stack = [ListType|LTS],
+ list_p_stack = [{unknown, IX} | LPS],
+ delayed_array_ix = IX+2,
+ list_lvl = OldLvl+1},
+ list_begin_tags(ListType)),
+ Lvl);
+chg_list_lvl(#state{list_p_stack = [_ | LPS],
+ list_type_stack = [_|LTS],
+ list_lvl = OldLvl} = S0,
+ ListType,
+ Lvl) ->
+ S1 = list_use_p(S0, no), % Ignored if already determined
+ chg_list_lvl(put_line(S1#state{list_p_stack = LPS,
+ list_type_stack = LTS,
+ list_lvl = OldLvl-1},
+ list_end_tags()),
+ ListType,
+ Lvl).
+
+list_strip(uolist, Str) ->
+ case list_strip(Str) of
+ [C | Cs] when C == $*; C == $+; C == $- ->
+ list_strip(Cs);
+ _ ->
+ exit({unexpected_unordered_list_item, Str})
+ end;
+list_strip(olist, Str) ->
+ case strip_head(list_strip(Str), lists:seq($0, $9)) of
+ [$. | Cs] ->
+ list_strip(Cs);
+ _ ->
+ exit({unexpected_ordered_list_item, Str})
+ end.
+
+list_strip(S) ->
+ strip_head(S, [$ ,$\t]).
+
+%%
+%% Block quote
+%%
+
+rm_bquote(0, 0, Str) ->
+ Str;
+rm_bquote(0, BQLvl, [$>|Cs]) ->
+ rm_bquote(0, BQLvl-1, Cs);
+rm_bquote(0, BQLvl, [C|Cs]) when C == $ ; C == $\t ->
+ rm_bquote(0, BQLvl, Cs);
+rm_bquote(TxtLvl, BQLvl, " " ++ Cs) ->
+ " " ++ rm_bquote(TxtLvl-1, BQLvl, Cs);
+rm_bquote(TxtLvl, BQLvl, [$\t|Cs]) ->
+ [$\t | rm_bquote(TxtLvl-1, BQLvl, Cs)].
+
+chg_bq_lvl(Lvl, #state{bq_lvl = Lvl} = S) ->
+ S;
+chg_bq_lvl(NewLvl, #state{bq_lvl = Lvl} = S) when NewLvl > Lvl ->
+ chg_bq_lvl(NewLvl,
+ put_line(end_p(end_code(S#state{bq_lvl = Lvl+1})), "<blockquote>"));
+chg_bq_lvl(NewLvl, #state{bq_lvl = Lvl} = S) ->
+ chg_bq_lvl(NewLvl,
+ put_line(end_p(end_code(S#state{bq_lvl = Lvl-1})), "</blockquote>")).
+
+%%
+%% Resolve link
+%%
+
+resolve_link(#state{line = Line} = S) ->
+ {Key, Url, Title} = resolve_link(Line, start, "", "", ""),
+ write_delayed(S, Key, {Url, Title}).
+
+resolve_link("[" ++ Rest, start, "", "", "") ->
+ resolve_link(Rest, key, "", "", "");
+resolve_link([_|Cs], start, "", "", "") ->
+ resolve_link(Cs, start, "", "", "");
+resolve_link("]:" ++ Rest, key, Yek, "", "") ->
+ resolve_link(Rest, url, Yek, "", "");
+resolve_link([C|Cs], url, Yek, Lru, "") when C == $"; C == $' ->
+ resolve_link(Cs, {title, C}, Yek, Lru, "");
+resolve_link([$(|Cs], url, Yek, Lru, "") ->
+ resolve_link(Cs, {title, $)}, Yek, Lru, "");
+resolve_link([C|Cs], {title, C}, Yek, Lru, Eltit) ->
+ resolve_link(Cs, drop, Yek, Lru, Eltit);
+resolve_link([C|Cs], key, Yek, "", "") ->
+ resolve_link(Cs, key, [C|Yek], "", "");
+resolve_link([C|Cs], url, Yek, Lru, "") ->
+ resolve_link(Cs, url, Yek, [C|Lru], "");
+resolve_link([C|Cs], {title, _} = T, Yek, Lru, Eltit) ->
+ resolve_link(Cs, T, Yek, Lru, [C|Eltit]);
+resolve_link([_|Cs], drop, Yek, Lru, Eltit) ->
+ resolve_link(Cs, drop, Yek, Lru, Eltit);
+resolve_link([], _, Yek, Lru, Eltit) ->
+ {ws_strip(lists:reverse(Yek)),
+ ws_strip(lists:reverse(Lru)),
+ ws_strip(lists:reverse(Eltit))}.
+
+%%
+%% Misc
+%%
+
+ws_strip(S) ->
+ strip(S, [$ ,$\t,$\n,$\r]).
+
+%ws_strip_head(S) ->
+% strip_head(S, [$ ,$\t,$\n,$\r]).
+
+%hws_strip_head(S) ->
+% strip_head(S, [$ ,$\t]).
+
+%hws_strip(S) ->
+% strip(S, [$ ,$\t]).
+
+strip([], _StripList) ->
+ [];
+strip([C|Cs] = Str, StripList) ->
+ case lists:member(C, StripList) of
+ true -> strip(Cs, StripList);
+ false -> lists:reverse(pirts(lists:reverse(Str), StripList))
+ end.
+
+pirts([], _StripList) ->
+ [];
+pirts([C|Cs] = Str, StripList) ->
+ case lists:member(C, StripList) of
+ true -> pirts(Cs, StripList);
+ false -> Str
+ end.
+
+strip_head([C|Cs] = Str, StripList) ->
+ case lists:member(C, StripList) of
+ true -> strip_head(Cs, StripList);
+ false -> Str
+ end.
+
+type("[" ++ Cs) ->
+ type_resolve_link(Cs);
+type(" [" ++ Cs) ->
+ type_resolve_link(Cs);
+type("==" ++ Cs) ->
+ case type_same(Cs, $=) of
+ true -> {marker, h1};
+ _ -> {text, 0}
+ end;
+type("--" ++ Cs) ->
+ case type_same(Cs, $-) of
+ true -> {marker, h2};
+ _ -> {text, 0}
+ end;
+type(Str) ->
+ type_cont(Str).
+
+type_resolve_link([]) ->
+ {text, 0};
+type_resolve_link("]:" ++ _) ->
+ resolve_link;
+type_resolve_link([_|Cs]) ->
+ type_resolve_link(Cs).
+
+type_bquote(Str, N) ->
+ case type(Str) of
+ {bquote, N, M} ->
+ {bquote, N, M+1};
+ _ ->
+ {bquote, N, 1}
+ end.
+
+type_same([C|Cs], C) ->
+ type_same(Cs, C);
+type_same([_|Cs], _) ->
+ case type_cont(Cs) of
+ blank -> true;
+ _ -> false
+ end.
+
+type_cont(Str) ->
+ type_cont(Str, 0, true).
+
+type_cont(" " ++ Str, N, true) ->
+ type_cont(Str, N+1, true);
+type_cont([$\t| Str], N, true) ->
+ type_cont(Str, N+1, true);
+type_cont([C|Str], N, _) when C == $ ; C == $\t; C == $\n; C == $\r ->
+ type_cont(Str, N, false);
+type_cont([], _, _) ->
+ blank;
+type_cont(">" ++ Cs, N, _) ->
+ type_bquote(Cs, N);
+type_cont(" >" ++ Cs, N, _) ->
+ type_bquote(Cs, N);
+type_cont(" >" ++ Cs, N, _) ->
+ type_bquote(Cs, N);
+type_cont(" >" ++ Cs, N, _) ->
+ type_bquote(Cs, N);
+type_cont([C,$ |_], N, _) when C == $*; C == $+; C == $- ->
+ {uolist, N};
+type_cont([C,$\t |_], N, _) when C == $*; C == $+; C == $- ->
+ {uolist, N};
+type_cont([C|Cs], N, _) when $0 =< C, C =< $9 ->
+ case type_olist(Cs) of
+ true -> {olist, N};
+ false -> {text, N}
+ end;
+type_cont("%CopyrightBegin%" ++ _, _, _) ->
+ copyright_begin;
+type_cont("%CopyrightEnd%" ++ _, _, _) ->
+ copyright_end;
+type_cont(_, N, _) ->
+ {text, N}.
+
+type_olist([C|Cs]) when $0 =< C, C =< $9 ->
+ type_olist(Cs);
+type_olist([$.,$ |_]) ->
+ true;
+type_olist([$.,$\t|_]) ->
+ true;
+type_olist(_) ->
+ false.
+
+end_all(S) ->
+ chg_list_lvl(end_p(end_code(S)), 0).
+
+get_line(#state{next_line = eof} = S) ->
+ S#state{prev_line = S#state.line,
+ prev_type = S#state.type,
+ line = eof,
+ type = blank,
+ bq_type = 0};
+get_line(#state{ifile = IFile, line_no = LNO, copyright = CR} = S0) ->
+ NewLine = file_read_line(IFile, LNO),
+ S1 = case {CR, type(NewLine)} of
+ {false, copyright_begin} ->
+ S0#state{copyright = true,
+ next_line = "",
+ next_type = blank};
+ {true, copyright_end} ->
+ S0#state{copyright = false,
+ next_line = "",
+ next_type = blank};
+ {true, NextType} ->
+ S0#state{next_line = NewLine,
+ next_type = NextType,
+ copyright_data = [NewLine|S0#state.copyright_data]};
+ {false, NextType} ->
+ S0#state{next_line = NewLine,
+ next_type = NextType}
+ end,
+ S1#state{line_no = S0#state.line_no + 1,
+ line = S0#state.next_line,
+ type = S0#state.next_type,
+ bq_type = S0#state.bq_next_type,
+ prev_line = S0#state.line,
+ prev_type = S0#state.type,
+ bq_next_type = 0}.
+
+write_delayed(#state{delayed_array = DA} = S,
+ IX,
+ Value) when is_integer(IX) ->
+ S#state{delayed_array = array:set(IX, Value, DA)};
+write_delayed(#state{delayed_tree = DT} = S, Key, Value) ->
+ S#state{delayed_tree = gb_trees:enter(Key, Value, DT)}.
+
+read_delayed(#state{delayed_array = DA}, IX) when is_integer(IX) ->
+ array:get(IX, DA);
+read_delayed(#state{delayed_tree = DT}, Key) ->
+ gb_trees:lookup(Key, DT).
+
+put_delayed(#state{out = Out} = S, Key) ->
+ S#state{out = [{delayed, Key} | Out]}.
+
+put_delayed(#state{out = Out} = S, Key, Data) ->
+ S#state{out = [{delayed, Key, Data} | Out]}.
+
+put_chars(#state{out = Out} = S, Chars) ->
+ S#state{out = [[Chars] | Out]}.
+
+put_line(#state{out = Out} = S, String) ->
+ S#state{out = [[String, nl()] | Out]}.
+
+complete_output(#state{out = Out} = S) ->
+ complete_output(create_copyright_notice(create_toc(S)), Out, []).
+
+complete_output(S, [], Out) ->
+ S#state{delayed_array = [],
+ out = ["<?xml version=\"1.0\" encoding=\"utf8\" ?>", nl(),
+ "<!DOCTYPE chapter SYSTEM \"chapter.dtd\">", nl(),
+ Out]};
+complete_output(S, [{delayed, IX}|Rest], Out) ->
+ complete_output(S, Rest, [read_delayed(S, IX)|Out]);
+complete_output(S, [{delayed, Key, {link, Text, Line}}|Rest], Out) ->
+ case read_delayed(S, Key) of
+ {value, {Url, _Title}} ->
+ complete_output(S, Rest, [mk_link(Text, Url)|Out]);
+ none ->
+ {File, _} = S#state.ifile,
+ error(File, Line, "Link definition name `~ts' not found~n", [Key])
+ end;
+complete_output(S, [{delayed, Key, {image, _Text, Line}}|Rest], Out) ->
+ case read_delayed(S, Key) of
+ {value, {Url, Title}} ->
+ complete_output(S, Rest, [mk_image(Title, Url)|Out]);
+ none ->
+ {File, _} = S#state.ifile,
+ error(File, Line, "Image definition name `~ts' not found~n", [Key])
+ end;
+complete_output(S, [Next|Rest], Out) ->
+ complete_output(S, Rest, [Next|Out]).
+
+write_output(_OFD, []) ->
+ ok;
+write_output(OFD, [O|Os]) ->
+ file_write(OFD, O),
+ write_output(OFD, Os).
+
+error(FStr, Args) ->
+ io:format(standard_error, "ERROR: " ++ FStr ++ "~n", Args),
+ stop(1).
+
+error(File, Line, FStr, Args) ->
+ io:format(standard_error, "~s:~p: ERROR: " ++ FStr ++ "~n",
+ [File | [Line | Args]]),
+ stop(1).
+
+stop() -> init:stop(), receive after infinity -> ok end.
+stop(Status) -> init:stop(Status), receive after infinity -> ok end.
+
+%%
+%% I/O
+%%
+
+nl() ->
+ io_lib:nl().
+
+file_wopen(File) ->
+ case file:open(File, [write, delayed_write]) of
+ {ok, FD} -> {File, FD};
+ {error, Reason} -> error("Failed to open `~s' for writing: ~p~n",
+ [File, Reason])
+ end.
+
+file_ropen(File) ->
+ case file:open(File, [read, binary]) of
+ {ok, FD} -> {File, FD};
+ {error, Reason} -> error("Failed to open `~s' for reading: ~p~n",
+ [File, Reason])
+ end.
+
+file_read_line({File, FD}, LineNo) ->
+ case file:read_line(FD) of
+ {ok, Line} -> unicode:characters_to_list(Line, utf8);
+ eof -> eof;
+ {error, Error} -> error(File,LineNo,"Reading line failed: ~p~n",[Error])
+ end.
+
+file_write({File, FD}, Data) ->
+ case file:write(FD, unicode:characters_to_binary(Data, unicode, utf8)) of
+ ok -> ok;
+ {error, Reason} ->
+ error("Writing to file `~s' failed: ~p~n", [File, Reason])
+ end.
+
+file_close({File, FD}) ->
+ case file:close(FD) of
+ ok -> ok;
+ {error, Reason} -> error("Closing file `~s' failed: ~p~n",[File,Reason])
+ end.
+
+%%
+%% EOF
+%%
diff --git a/make/fakefop b/make/fakefop
new file mode 100755
index 0000000000..bbe81ef3b1
--- /dev/null
+++ b/make/fakefop
@@ -0,0 +1,113 @@
+#!/bin/sh
+#
+# Copyright Tuncer Ayaz 2010. All Rights Reserved.
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2010. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+# Author: Tuncer Ayaz
+#
+
+if [ $# -lt 4 ]
+then
+ echo "Usage: fakefop -fo IGNORED -pdf OUTFILE"
+ exit 1
+fi
+
+OUTFILE=$4
+NAME=`basename $4 .pdf`
+
+echo Write $OUTFILE
+cat > $OUTFILE <<EndOfFile
+%PDF-1.4
+1 0 obj
+ << /Type /Catalog
+ /Outlines 2 0 R
+ /Pages 3 0 R
+ >>
+endobj
+
+2 0 obj
+ << /Type /Outlines
+ /Count 0
+ >>
+endobj
+
+3 0 obj
+ << /Type /Pages
+ /Kids [4 0 R]
+ /Count 1
+ >>
+endobj
+
+4 0 obj
+ << /Type /Page
+ /Parent 3 0 R
+ /MediaBox [0 0 612 492]
+ /Contents 5 0 R
+ /Resources << /ProcSet 6 0 R
+ /Font << /F1 7 0 R >>
+ >>
+ >>
+endobj
+
+5 0 obj
+ << /Length 73 >>
+stream
+ BT
+ /F1 24 Tf
+ 10 400 Td
+ ($NAME) Tj
+ ET
+ BT
+ /F1 24 Tf
+ 10 350 Td
+ (\(placeholder PDF generated without FOP\)) Tj
+ ET
+endstream
+endobj
+
+6 0 obj
+ [/PDF /Text]
+endobj
+7 0 obj
+ << /Type /Font
+ /Subtype /Type1
+ /Name /F1
+ /BaseFont /Helvetica
+ /Encoding /MacRomanEncoding
+ >>
+endobj
+xref
+0 8
+0000000000 65535 f
+0000000009 00000 n
+0000000074 00000 n
+0000000120 00000 n
+0000000179 00000 n
+0000000364 00000 n
+0000000466 00000 n
+0000000496 00000 n
+
+trailer
+ << /Size 8
+ /Root 1 0 R
+ >>
+startxref
+625
+%%EOF
+EndOfFile
diff --git a/otp_build b/otp_build
index ad9d38ebca..67608138f7 100755
--- a/otp_build
+++ b/otp_build
@@ -915,7 +915,7 @@ do_primary_git ()
bootstrap/lib/compiler \
bootstrap/lib/orber/include \
bootstrap/bin
- git commit -m 'Update primary bootstrap'
+ git commit --no-verify -m 'Update primary bootstrap'
}
diff --git a/system/doc/efficiency_guide/advanced.xml b/system/doc/efficiency_guide/advanced.xml
index 0ec3afbd59..2383e3cf3d 100644
--- a/system/doc/efficiency_guide/advanced.xml
+++ b/system/doc/efficiency_guide/advanced.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2001</year><year>2009</year>
+ <year>2001</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Advanced</title>
@@ -47,11 +47,13 @@
<cell align="center" valign="middle">Memory size</cell>
</row>
<row>
- <cell align="left" valign="middle">Integer (-16#7FFFFFF &lt; i &lt;16#7FFFFFF)</cell>
- <cell align="left" valign="middle">1 word</cell>
+ <cell align="left" valign="middle">Small integer</cell>
+ <cell align="left" valign="middle">1 word<br></br>
+On 32-bit architectures: -134217729 &lt; i &lt; 134217728 (28 bits)<br></br>
+On 64-bit architectures: -576460752303423489 &lt; i &lt; 576460752303423488 (60 bits)</cell>
</row>
<row>
- <cell align="left" valign="middle">Integer (big numbers)</cell>
+ <cell align="left" valign="middle">Big integer</cell>
<cell align="left" valign="middle">3..N words</cell>
</row>
<row>
@@ -72,11 +74,11 @@ On 64-bit architectures: 3 words</cell>
</row>
<row>
<cell align="left" valign="middle">List</cell>
- <cell align="left" valign="middle">1 word per element + the size of each element</cell>
+ <cell align="left" valign="middle">1 word + 1 word per element + the size of each element</cell>
</row>
<row>
<cell align="left" valign="middle">String (is the same as a list of integers)</cell>
- <cell align="left" valign="middle">2 words per character</cell>
+ <cell align="left" valign="middle">1 word + 2 words per character</cell>
</row>
<row>
<cell align="left" valign="middle">Tuple</cell>
@@ -154,7 +156,8 @@ On 64-bit architectures: 4 words for a reference from the current local node, an
<item>255</item>
<tag><em>Atoms </em></tag>
<item> <marker id="atoms"></marker>
-The maximum number of atoms is 1048576. </item>
+ By default, the maximum number of atoms is 1048576.
+ This limit can be raised or lowered using the <c>+t</c> option.</item>
<tag><em>Ets-tables</em></tag>
<item>The default is 1400, can be changed with the environment variable <c>ERL_MAX_ETS_TABLES</c>.</item>
<tag><em>Elements in a tuple</em></tag>
@@ -175,7 +178,7 @@ The maximum number of atoms is 1048576. </item>
<tag><em>Total amount of data allocated by an Erlang node</em></tag>
<item>The Erlang runtime system can use the complete 32 (or 64) bit address space,
but the operating system often limits a single process to use less than that.</item>
- <tag><em>length of a node name</em></tag>
+ <tag><em>Length of a node name</em></tag>
<item>An Erlang node name has the form host@shortname or host@longname. The node name is
used as an atom within the system so the maximum size of 255 holds for the node name too.</item>
<tag><em>Open ports</em></tag>
diff --git a/system/doc/efficiency_guide/commoncaveats.xml b/system/doc/efficiency_guide/commoncaveats.xml
index e18e5aa510..61d13636c0 100644
--- a/system/doc/efficiency_guide/commoncaveats.xml
+++ b/system/doc/efficiency_guide/commoncaveats.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2001</year><year>2009</year>
+ <year>2001</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Common Caveats</title>
@@ -69,7 +69,7 @@
<p>Atoms are not garbage-collected. Once an atom is created, it will never
be removed. The emulator will terminate if the limit for the number
- of atoms (1048576) is reached.</p>
+ of atoms (1048576 by default) is reached.</p>
<p>Therefore, converting arbitrary input strings to atoms could be
dangerous in a system that will run continuously.
diff --git a/system/doc/efficiency_guide/functions.xml b/system/doc/efficiency_guide/functions.xml
index d55b60e39c..fe14a4f000 100644
--- a/system/doc/efficiency_guide/functions.xml
+++ b/system/doc/efficiency_guide/functions.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2001</year><year>2009</year>
+ <year>2001</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Functions</title>
@@ -179,7 +179,9 @@ explicit_map_pairs(Map, Xs0, Ys0) ->
A "tuple fun", <c>{Module,Function}</c>, is not a fun.
The cost for calling a "tuple fun" is similar to that
of <c>apply/3</c> or worse. Using "tuple funs" is <em>strongly discouraged</em>,
- as they may not be supported in a future release.</p></warning>
+ as they may not be supported in a future release,
+ and because there exists a superior alternative since the R10B
+ release, namely the <c>fun Module:Function/Arity</c> syntax.</p></warning>
<p><c>apply/3</c> must look up the code for the function to execute
in a hash table. Therefore, it will always be slower than a
diff --git a/system/doc/efficiency_guide/myths.xml b/system/doc/efficiency_guide/myths.xml
index 76a72368bb..65113c9372 100644
--- a/system/doc/efficiency_guide/myths.xml
+++ b/system/doc/efficiency_guide/myths.xml
@@ -168,8 +168,8 @@ vanilla_reverse([], Acc) ->
<p>Actually, string handling could be slow if done improperly.
In Erlang, you'll have to think a little more about how the strings
are used and choose an appropriate representation and use
- the <seealso marker="stdlib:re">re</seealso> instead of the obsolete
- <c>regexp</c> module if you are going to use regualr expressions.</p>
+ the <seealso marker="stdlib:re">re</seealso> module instead of the obsolete
+ <c>regexp</c> module if you are going to use regular expressions.</p>
</section>
<section>
diff --git a/system/doc/getting_started/robustness.xml b/system/doc/getting_started/robustness.xml
index 227da4c027..c141530fe0 100644
--- a/system/doc/getting_started/robustness.xml
+++ b/system/doc/getting_started/robustness.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2003</year><year>2009</year>
+ <year>2003</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Robustness</title>
@@ -146,7 +146,7 @@ after pong_timeout() -></code>
a process calls
<seealso marker="erts:erlang#link/1">link(Other_Pid)</seealso>
it sets up a bidirectional link between itself and the process
- called <c>Other_Pid</c>. When a process terminates its sends
+ called <c>Other_Pid</c>. When a process terminates, it sends
something called a <em>signal</em> to all the processes it has
links to.</p>
<p>The signal carries information about the pid it was sent from and
diff --git a/system/doc/installation_guide/Makefile b/system/doc/installation_guide/Makefile
index 854025765c..a47d77604d 100644
--- a/system/doc/installation_guide/Makefile
+++ b/system/doc/installation_guide/Makefile
@@ -31,6 +31,7 @@ APPLICATION=otp-system-documentation
# Release directory specification
# ----------------------------------------------------
RELSYSDIR = $(RELEASE_PATH)/doc/installation_guide
+REDIRECT_HTML_RELSYSDIR = $(RELSYSDIR)/source
# ----------------------------------------------------
# Target Specs
@@ -54,14 +55,11 @@ XML_FILES = \
$(XML_PART_FILES)
# ----------------------------------------------------
-# Install readme files
-# ----------------------------------------------------
-SOURCE_INSTALL_READMES = \
- $(ERL_TOP)/INSTALL.html \
- $(ERL_TOP)/INSTALL-CROSS.html \
- $(ERL_TOP)/INSTALL-WIN32.html
+GENERATED_XML_FILES = \
+ INSTALL.xml \
+ INSTALL-CROSS.xml \
+ INSTALL-WIN32.xml
-SOURCE_RELSYSDIR = $(RELSYSDIR)/source
# ----------------------------------------------------
HTML_FILES = \
@@ -71,6 +69,12 @@ HTMLDIR = ../html/installation_guide
HTML_UG_FILE = $(HTMLDIR)/users_guide.html
+REDIRECT_HTML_DIR = $(HTMLDIR)/source
+REDIRECT_HTML_FILES = \
+ $(REDIRECT_HTML_DIR)/INSTALL.html \
+ $(REDIRECT_HTML_DIR)/INSTALL-CROSS.html \
+ $(REDIRECT_HTML_DIR)/INSTALL-WIN32.html
+
# ----------------------------------------------------
# FLAGS
# ----------------------------------------------------
@@ -80,15 +84,32 @@ DVIPS_FLAGS +=
# ----------------------------------------------------
# Targets
# ----------------------------------------------------
-docs: html
+
+%.xml: $(ERL_TOP)/%.md $(ERL_TOP)/make/emd2exml
+ $(ERL_TOP)/make/emd2exml $< $@
+
+$(REDIRECT_HTML_DIR)/%.html: Makefile
+ test -d $(REDIRECT_HTML_DIR) || $(INSTALL_DIR) $(REDIRECT_HTML_DIR)
+ echo "<html><head><meta HTTP-EQUIV=\"REFRESH\"" > $@
+ echo " content=\"5; url=../"$(notdir $@)"\">" >> $@
+ echo "<title>This page has moved</title></head><body>" >> $@
+ echo "<h1>This page has moved</h1>" >> $@
+ echo "<p>You will be automatically redirected to its new" >> $@
+ echo "location in 5 seconds." >> $@
+ echo "This <a href=\"../"$(notdir $@)"\">link</a> will" >> $@
+ echo "take you there immediately.</p></body></html>" >> $@
+
+docs: $(GENERATED_XML_FILES) html
local_docs: PDFDIR=../../pdf
+local_docs: $(GENERATED_XML_FILES)
-html: $(GIF_FILES) $(HTML_UG_FILE)
+html: $(REDIRECT_HTML_FILES) $(GENERATED_XML_FILES) $(GIF_FILES) $(HTML_UG_FILE)
-debug opt:
+debug opt:
clean clean_docs:
+ rm -f $(GENERATED_XML_FILES)
rm -rf $(HTMLDIR)
rm -f $(TOP_PDF_FILE) $(TOP_PDF_FILE:%.pdf=%.fo)
rm -f errs core *~
@@ -102,8 +123,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_docs_spec: docs
$(INSTALL_DIR) $(RELSYSDIR)
$(INSTALL_DATA) $(GIF_FILES) $(HTMLDIR)/*.html $(RELSYSDIR)
- $(INSTALL_DIR) $(SOURCE_RELSYSDIR)
- $(INSTALL_DATA) $(SOURCE_INSTALL_READMES) $(SOURCE_RELSYSDIR)
+ $(INSTALL_DIR) $(REDIRECT_HTML_RELSYSDIR)
+ $(INSTALL_DATA) $(REDIRECT_HTML_FILES) $(REDIRECT_HTML_RELSYSDIR)
release_spec:
diff --git a/system/doc/installation_guide/install.xml b/system/doc/installation_guide/install-binary.xml
index c1b930a4bd..ac4192586d 100644
--- a/system/doc/installation_guide/install.xml
+++ b/system/doc/installation_guide/install-binary.xml
@@ -21,7 +21,7 @@
</legalnotice>
- <title>Installation</title>
+ <title>Installing the Binary Release</title>
<prepared>Peter H&ouml;gfeldt</prepared>
<responsible>Peter H&ouml;gfeldt</responsible>
<docno></docno>
@@ -29,27 +29,10 @@
<checked></checked>
<date>1997-05-26</date>
<rev>C</rev>
- <file>install.xml</file>
+ <file>install-binary.xml</file>
</header>
<section>
- <title>Source</title>
- <p>This document describes installation procedures for
- binary releases. Documentation of build and installation
- procedures for the source release can be found in the source
- tree at the following locations:</p>
- <taglist>
- <tag>Building and Installing Erlang/OTP</tag>
- <item><url href="source/INSTALL.html"><c>$ERL_TOP/INSTALL.md</c></url></item>
- <tag>Cross Compiling Erlang/OTP</tag>
- <item><url href="source/INSTALL-CROSS.html"><c>$ERL_TOP/INSTALL-CROSS.md</c></url></item>
- <tag>How to Build Erlang/OTP on Windows</tag>
- <item><url href="source/INSTALL-WIN32.html"><c>$ERL_TOP/INSTALL-WIN32.md</c></url></item>
- </taglist>
- <p>Where <c>$ERL_TOP</c> is the top directory in the source tree.</p>
- </section>
-
- <section>
<title>UNIX</title>
<section>
@@ -73,7 +56,7 @@
which is <c><![CDATA[<PREFIX>.tar.gz]]></c>, where <c><![CDATA[<PREFIX>]]></c> is a string
denoting the particular Erlang/OTP release, e.g.
<c>otp_LXA_11930_sunos5_R9B</c>.</p>
- <p>Wherever the string <c><![CDATA[<PREFIX>]]></c> is used below, it should
+ <p>Wherever the string <c><![CDATA[<PREFIX>]]></c> is used below, it should
be replaced by the actual name prefix of the compressed tar file.</p>
<p>The tape archive file does not have one single directory in which
all other files are rooted. Therefore the tape archive file must be
@@ -162,4 +145,3 @@ ln -s /usr/local/erlang/otp_r7b/bin/erl /usr/local/bin/erl </pre>
</section>
</section>
</chapter>
-
diff --git a/system/doc/installation_guide/make.dep b/system/doc/installation_guide/make.dep
index 3d1477935d..3878f4ac9d 100644
--- a/system/doc/installation_guide/make.dep
+++ b/system/doc/installation_guide/make.dep
@@ -9,5 +9,5 @@
# TeX files that the DVI file depend on
# ----------------------------------------------------
-book.dvi: book.tex install.tex part.tex verification.tex
+book.dvi: book.tex install-binary.tex part.tex verification.tex
diff --git a/system/doc/installation_guide/part.xml b/system/doc/installation_guide/part.xml
index 3019d2e118..fceacdd8f6 100644
--- a/system/doc/installation_guide/part.xml
+++ b/system/doc/installation_guide/part.xml
@@ -4,7 +4,7 @@
<part xmlns:xi="http://www.w3.org/2001/XInclude">
<header>
<copyright>
- <year>2000</year><year>2009</year>
+ <year>2000</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Installation Guide</title>
@@ -31,7 +31,10 @@
<description>
<p>How to install Erlang/OTP on UNIX or Windows.</p>
</description>
- <xi:include href="install.xml"/>
+ <xi:include href="install-binary.xml"/>
<xi:include href="verification.xml"/>
+ <xi:include href="INSTALL.xml"/>
+ <xi:include href="INSTALL-CROSS.xml"/>
+ <xi:include href="INSTALL-WIN32.xml"/>
</part>
diff --git a/system/doc/installation_guide/xmlfiles.mk b/system/doc/installation_guide/xmlfiles.mk
index 7e1235b64d..dee67b3c70 100644
--- a/system/doc/installation_guide/xmlfiles.mk
+++ b/system/doc/installation_guide/xmlfiles.mk
@@ -1,21 +1,24 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2009-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
INST_GUIDE_CHAPTER_FILES = \
- install.xml \
- verification.xml
+ install-binary.xml \
+ verification.xml \
+ INSTALL.xml \
+ INSTALL-CROSS.xml \
+ INSTALL-WIN32.xml
diff --git a/system/doc/reference_manual/expressions.xml b/system/doc/reference_manual/expressions.xml
index fa7870d96c..b56b8acbf0 100644
--- a/system/doc/reference_manual/expressions.xml
+++ b/system/doc/reference_manual/expressions.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2003</year><year>2009</year>
+ <year>2003</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Expressions</title>
@@ -1257,6 +1257,9 @@ end</pre>
<cell align="left" valign="middle"><c>is_bitstring/1</c></cell>
</row>
<row>
+ <cell align="left" valign="middle"><c>is_boolean/1</c></cell>
+ </row>
+ <row>
<cell align="left" valign="middle"><c>is_float/1</c></cell>
</row>
<row>
diff --git a/system/doc/reference_manual/records.xml b/system/doc/reference_manual/records.xml
index e2fe5fe8de..d01d883ef3 100644
--- a/system/doc/reference_manual/records.xml
+++ b/system/doc/reference_manual/records.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2003</year><year>2009</year>
+ <year>2003</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,12 +13,12 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Records</title>
@@ -145,6 +145,29 @@ is_person(_P) ->
</section>
<section>
+ <title>Nested records</title>
+ <p>Beginning with R14 parentheses when accessing or updating nested
+ records can be omitted. Assuming we have the following record
+ definitions:</p>
+ <pre>
+-record(nrec0, {name = "nested0"}).
+-record(nrec1, {name = "nested1", nrec0=#nrec0{}}).
+-record(nrec2, {name = "nested2", nrec1=#nrec1{}}).
+
+N2 = #nrec2{},
+ </pre>
+ <p>Before R14 you would have needed to use parentheses as following:</p>
+ <pre>
+"nested0" = ((N2#nrec2.nrec1)#nrec1.nrec0)#nrec0.name,
+N0n = ((N2#nrec2.nrec1)#nrec1.nrec0)#nrec0{name = "nested0a"},
+ </pre>
+ <p>Since R14 you can also write:</p>
+ <pre>
+"nested0" = N2#nrec2.nrec1#nrec1.nrec0#nrec0.name,
+N0n = N2#nrec2.nrec1#nrec1.nrec0#nrec0{name = "nested0a"},</pre>
+ </section>
+
+ <section>
<title>Internal Representation of Records</title>
<p>Record expressions are translated to tuple expressions during
compilation. A record defined as</p>
diff --git a/system/doc/tutorial/complex6.erl b/system/doc/tutorial/complex6.erl
new file mode 100644
index 0000000000..a5f51886c8
--- /dev/null
+++ b/system/doc/tutorial/complex6.erl
@@ -0,0 +1,11 @@
+-module(complex6).
+-export([foo/1, bar/1]).
+-on_load(init/0).
+
+init() ->
+ ok = erlang:load_nif("./complex6_nif", 0).
+
+foo(_X) ->
+ exit(nif_library_not_loaded).
+bar(_Y) ->
+ exit(nif_library_not_loaded).
diff --git a/system/doc/tutorial/complex6_nif.c b/system/doc/tutorial/complex6_nif.c
new file mode 100644
index 0000000000..b656ed43ce
--- /dev/null
+++ b/system/doc/tutorial/complex6_nif.c
@@ -0,0 +1,32 @@
+#include "erl_nif.h"
+
+extern int foo(int x);
+extern int bar(int y);
+
+static ERL_NIF_TERM foo_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{
+ int x, ret;
+ if (!enif_get_int(env, argv[0], &x)) {
+ return enif_make_badarg(env);
+ }
+ ret = foo(x);
+ return enif_make_int(env, ret);
+}
+
+static ERL_NIF_TERM bar_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{
+ int y, ret;
+ if (!enif_get_int(env, argv[0], &y)) {
+ return enif_make_badarg(env);
+ }
+ ret = bar(y);
+ return enif_make_int(env, ret);
+}
+
+static ErlNifFunc nif_funcs[] = {
+ {"foo", 1, foo_nif},
+ {"bar", 1, bar_nif}
+};
+
+ERL_NIF_INIT(complex6, nif_funcs, NULL, NULL, NULL, NULL)
+
diff --git a/system/doc/tutorial/nif.xmlsrc b/system/doc/tutorial/nif.xmlsrc
new file mode 100644
index 0000000000..f9197c69dd
--- /dev/null
+++ b/system/doc/tutorial/nif.xmlsrc
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>2000</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>NIFs</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ <file>nif.xml</file>
+ </header>
+ <p>This is an example of how to solve the <seealso marker="example">example problem</seealso>
+ by using NIFs. NIFs where introduced in R13B03 as an experimental
+ feature. It is a simpler and more efficient way of calling C-code
+ than using port drivers. NIFs are most suitable for synchronous functions like
+ <c>foo</c> and <c>bar</c> in the example, that does some
+ relatively short calculations without side effects and return the result.</p>
+ <section>
+ <title>NIFs</title>
+ <p>A NIF (Native Implemented Function) is a function that is
+ implemented in C instead of Erlang. NIFs appear as any other functions to
+ the callers. They belong to a module and are called like any other Erlang
+ functions. The NIFs of a module are compiled and linked into a dynamic
+ loadable shared library (SO in Unix, DLL in Windows). The NIF library must
+ be loaded in runtime by the Erlang code of the module.</p>
+ <p>Since a NIF library is dynamically linked into the emulator
+ process, this is the fastest way of calling C-code from Erlang (alongside
+ port drivers). Calling NIFs requires no context switches. But it is also
+ the least safe, because a crash in a NIF will bring the emulator down
+ too.</p>
+ </section>
+
+ <section>
+ <title>Erlang Program</title>
+ <p>Even if all functions of a module will be NIFs, you still need an Erlang
+ module for two reasons. First, the NIF library must be explicitly loaded
+ by Erlang code in the same module. Second, all NIFs of a module must have
+ an Erlang implementation as well. Normally these are minimal stub
+ implementations that throw an exception. But it can also be used as
+ fallback implementations for functions that do not have native
+ implemenations on some architectures.</p>
+ <p>NIF libraries are loaded by calling <c>erlang:load_nif/2</c>, with the
+ name of the shared library as argument. The second argument can be any
+ term that will be passed on to the library and used for
+ initialization.</p>
+
+ <codeinclude file="complex6.erl" tag="" type="none"></codeinclude>
+
+ <p>We use the directive <c>on_load</c> to get function <c>init</c> to be
+ automatically called when the module is loaded. If <c>init</c>
+ returns anything other than <c>ok</c>, such when the loading of
+ the NIF library fails in this example, the module will be
+ unloaded and calls to functions within it will fail.</p>
+ <p>Loading the NIF library will override the stub implementations
+ and cause calls to <c>foo</c> and <c>bar</c> to be dispatched to
+ the NIF implementations instead.</p>
+ </section>
+ <section>
+ <title>NIF library code</title>
+ <p>The NIFs of the module are compiled and linked into a
+ shared library. Each NIF is implemented as a normal C function. The macro
+ <c>ERL_NIF_INIT</c> together with an array of structures defines the names,
+ arity and function pointers of all the NIFs in the module. The header
+ file <c>erl_nif.h</c> must be included. Since the library is a shared
+ module, not a program, no main function should be present.</p>
+ <p>The function arguments passed to a NIF appears in an array <c>argv</c>,
+ with <c>argc</c> as the length of the array and thus the arity of the
+ function. The Nth argument of the function can be accessed as
+ <c>argv[N-1]</c>. NIFs also takes an environment argument that
+ serves as an opaque handle that is needed to be passed on to
+ most API functions. The environment contains information about
+ the calling Erlang process.</p>
+
+ <codeinclude file="complex6_nif.c" tag="" type="none"></codeinclude>
+
+ <p>The first argument to <c>ERL_NIF_INIT</c> must be the name of the
+ Erlang module as a C-identifier. It will be stringified by the
+ macro. The second argument is the array of <c>ErlNifFunc</c>
+ structures containing name, arity and function pointer of
+ each NIF. The other arguments are pointers to callback functions
+ that can be used to initialize the library. We do not use them
+ is this simple example so we set them all to <c>NULL</c>.</p>
+ <p>Function arguments and return values are represented as values
+ of type <c>ERL_NIF_TERM</c>. We use functions like <c>enif_get_int</c>
+ and <c>enif_make_int</c> to convert between Erlang term and C-type.
+ If the function argument <c>argv[0]</c> is not an integer then
+ <c>enif_get_int</c> will return false, in which case we return
+ by throwing a <c>badarg</c>-exception with <c>enif_make_badarg</c>.</p>
+ </section>
+
+ <section>
+ <title>Running the Example</title>
+ <p>1. Compile the C code.</p>
+ <pre>
+unix> <input>gcc -o complex6_nif.so -fpic -shared complex.c complex6_nif.c</input>
+windows> <input>cl -LD -MD -Fe complex6_nif.dll complex.c complex6_nif.c</input></pre>
+ <p>2. Start Erlang and compile the Erlang code.</p>
+ <pre>
+> <input>erl</input>
+Erlang R13B04 (erts-5.7.5) [64-bit] [smp:4:4] [rq:4] [async-threads:0] [kernel-poll:false]
+
+Eshell V5.7.5 (abort with ^G)
+1> <input>c(complex6).</input>
+{ok,complex6}</pre>
+ <p>3. Run the example.</p>
+<pre>
+3> <input>complex6:foo(3).</input>
+4
+4> <input>complex6:bar(5).</input>
+10
+5> <input>complex6:foo("not an integer").</input>
+** exception error: bad argument
+ in function complex6:foo/1
+ called as comlpex6:foo("not an integer")
+</pre>
+</section>
+</chapter>
diff --git a/system/doc/tutorial/part.xml b/system/doc/tutorial/part.xml
index 1a8a873242..ff73b668c0 100644
--- a/system/doc/tutorial/part.xml
+++ b/system/doc/tutorial/part.xml
@@ -4,7 +4,7 @@
<part xmlns:xi="http://www.w3.org/2001/XInclude">
<header>
<copyright>
- <year>2000</year><year>2009</year>
+ <year>2000</year><year>2010</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -13,19 +13,19 @@
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
-
+
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
-
+
</legalnotice>
<title>Interoperability Tutorial</title>
<prepared>Gunilla Hugosson</prepared>
<docno></docno>
<date>2000-01-18</date>
- <rev>R7B</rev>
+ <rev>R14A</rev>
</header>
<xi:include href="introduction.xml"/>
<xi:include href="overview.xml"/>
@@ -34,5 +34,6 @@
<xi:include href="erl_interface.xml"/>
<xi:include href="c_portdriver.xml"/>
<xi:include href="cnode.xml"/>
+ <xi:include href="nif.xml"/>
</part>
diff --git a/system/doc/tutorial/xmlfiles.mk b/system/doc/tutorial/xmlfiles.mk
index 794ef49774..95562bec60 100644
--- a/system/doc/tutorial/xmlfiles.mk
+++ b/system/doc/tutorial/xmlfiles.mk
@@ -1,19 +1,19 @@
#
# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2009. All Rights Reserved.
-#
+#
+# Copyright Ericsson AB 2009-2010. All Rights Reserved.
+#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
# compliance with the License. You should have received a copy of the
# Erlang Public License along with this software. If not, it can be
# retrieved online at http://www.erlang.org/.
-#
+#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
-#
+#
# %CopyrightEnd%
#
TUTORIAL_CHAPTER_FILES = \
@@ -23,7 +23,8 @@ TUTORIAL_CHAPTER_FILES = \
erl_interface.xml \
c_portdriver.xml \
example.xml\
- overview.xml
+ overview.xml\
+ nif.xml
# appendix.xml
# distribution.xml (to be part of tutorial later)
diff --git a/xcomp/README.md b/xcomp/README.md
index 9f638f46d7..2d79107283 100644
--- a/xcomp/README.md
+++ b/xcomp/README.md
@@ -1,20 +1,23 @@
Cross Compiling Erlang/OTP
==========================
-This document describes how to cross compile Erlang/OTP. Note that the support
-for cross compiling Erlang/OTP should be considered as experimental. As far as
-we know, the R13B04 release should cross compile fine, but since we currently
-have a very limited set of cross compilation environments to test with we
-cannot be sure. The cross compile support will stay in an experimental state
-until we get a lot more cross compilation environments to test with.
+Introduction
+------------
-You are encouraged to read the whole document before attempting to cross
-compile Erlang/OTP. Before reading this document you should read the
-[`$ERL_TOP/INSTALL.md`] [1] document which describes building Erlang/OTP in
-general. `$ERL_TOP` is the top directory in the source tree.
+This document describes how to cross compile Erlang/OTP-%OTP-REL%. Note that
+the support for cross compiling Erlang/OTP should be considered as
+experimental. As far as we know, the %OTP-REL% release should cross compile
+fine, but since we currently have a very limited set of cross compilation
+environments to test with we cannot be sure. The cross compilation support
+will remain in an experimental state until we get a lot more cross compilation
+environments to test with.
-`otp_build` Versus `configure`/`make`
--------------------------------------
+You are advised to read the whole document before attempting to cross
+compile Erlang/OTP. However, before reading this document, you should read
+the [$ERL_TOP/INSTALL.md][] document which describes building and installing
+Erlang/OTP in general. `$ERL_TOP` is the top directory in the source tree.
+
+### otp\_build Versus configure/make ###
Building Erlang/OTP can be done either by using the `$ERL_TOP/otp_build`
script, or by invoking `$ERL_TOP/configure` and `make` directly. Building using
@@ -27,18 +30,17 @@ unless `--enable-dynamic-ssl-lib` has been explicitly passed. The binary
releases that we deliver are built using `otp_build`. The defaults used by
`otp_build configure` may change at any time without prior notice.
-Cross Configuration
--------------------
+### Cross Configuration ###
The `$ERL_TOP/xcomp/erl-xcomp.conf.template` file contains all available cross
configuration variables and can be used as a template when creating a cross
-compilation configuration. All cross configuration variables are also listed
-at the end of this document. For examples of working cross configurations see
-the `$ERL_TOP/xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf` file and the
-`$ERL_TOP/xcomp/erl-xcomp-x86_64-saf-linux-gnu.conf` file. If the default
-behavior of a variable is satisfactory, the variable does not need to be set.
-However, the `configure` script will issue a warning when a default value is
-used. When a variable has been set, no warning will be issued.
+compilation configuration. All [cross configuration variables][] are also
+listed at the end of this document. For examples of working cross
+configurations see the `$ERL_TOP/xcomp/erl-xcomp-TileraMDE2.0-tilepro.conf`
+file and the `$ERL_TOP/xcomp/erl-xcomp-x86_64-saf-linux-gnu.conf` file. If the
+default behavior of a variable is satisfactory, the variable does not need to
+be set. However, the `configure` script will issue a warning when a default
+value is used. When a variable has been set, no warning will be issued.
A cross configuration file can be passed to `otp_build configure` using the
`--xcomp-conf` command line argument. Note that `configure` does not accept
@@ -51,15 +53,13 @@ invoking `make`; otherwise, the environment variables might set make variables
in some applications, or parts of some applications, and you may end up with
an erroneously configured build.
-What can be Cross Compiled?
----------------------------
+### What can be Cross Compiled? ###
All Erlang/OTP applications except the `wx` application can be cross compiled.
The build of the `wx` driver will currently be automatically disabled when
cross compiling.
-Compatibility
--------------
+### Compatibility ###
The build system, including cross compilation configuration variables used,
may be subject to non backward compatible changes without prior notice.
@@ -68,8 +68,7 @@ systems, but has only been partly tested for more esoteric platforms. The
VxWorks example file is highly dependent on our environment and is here more
or less only for internal use.
-Patches
--------
+### Patches ###
Please submit any patches for cross compiling in a way consistent with this
system. All input is welcome as we have a very limited set of cross compiling
@@ -91,13 +90,13 @@ General information on how to submit patches can be found at:
Build and Install Procedure
---------------------------
-If you are building in Git you want to read the "Building in Git" section
-of [`$ERL_TOP/INSTALL.md`] [1] before proceeding.
+If you are building in Git, you want to read the [Building in Git][] section
+of [$ERL_TOP/INSTALL.md][] before proceeding.
We will first go through the `configure`/`make` build procedure which people
probably are most familiar with.
-### Building With `configure`/`make` Directly ###
+### Building With configure/make Directly ###
(1)
@@ -116,7 +115,8 @@ cross compiling in, you currently need a full Erlang/OTP system of the same
release as the one being built for the build machine. If this is the case,
build and install one for the build machine (or use one already built) and add
it to the `$PATH` before cross building, and building the documentation. See
-[`$ERL_TOP/INSTALL.md`] [1] for information on building the documentation.
+the [How to Build the Documentation][] section in the [$ERL_TOP/INSTALL.md][]
+document for information on how to build the documentation.
If you want to build using a compatible Erlang/OTP system in the `$PATH`,
jump to (3).
@@ -152,24 +152,27 @@ build on. If you execute `$ERL_TOP/erts/autoconf/config.guess`, it will in
most cases print the triplet you want to use for this.
Pass the cross compilation variables as command line arguments to `configure`
-using a `<VARIABLE>=<VALUE>` syntax. Note that you can *not* pass a
-configuration file using `--xcomp-conf=<FILE>` when you invoke `configure`
-directly. The `--xcomp-conf=<FILE>` argument can only be passed to
-`otp_build configure`.
+using a `<VARIABLE>=<VALUE>` syntax.
+
+> *NOTE*: You can *not* pass a configuration file using the `--xcomp-conf`
+> argument when you invoke `configure` directly. The `--xcomp-conf` argument
+> can only be passed to `otp_build configure`.
`make` will verify that the Erlang/OTP system used when building is of the
same release as the system being built, and will fail if this is not the case.
It is possible, however not recommended, to force the cross compilation even
though the wrong Erlang/OTP system is used. This by invoking `make` like this:
-`make ERL_XCOMP_FORCE_DIFFERENT_OTP=yes`. Note that this build might fail,
-silently produce suboptimal code, or silently produce erroneous code.
+`make ERL_XCOMP_FORCE_DIFFERENT_OTP=yes`.
+
+> *WARNING*: Invoking `make ERL_XCOMP_FORCE_DIFFERENT_OTP=yes` might fail,
+> silently produce suboptimal code, or silently produce erroneous code.
#### Installing ####
You can either install using the installation paths determined by `configure`
(4), or install manually using (5).
-##### Installing Using Paths Determined by `configure` #####
+##### Installing Using Paths Determined by configure #####
(4)
@@ -179,7 +182,7 @@ You can either install using the installation paths determined by `configure`
`configure` arguments specifying where the installation should reside are for
example: `--prefix`, `--exec-prefix`, `--libdir`, `--bindir`, etc. By default
it will install under `/usr/local`. You typically do not want to install your
-cross build under `/usr/local` on your build machine. Using [`DESTDIR`] [2]
+cross build under `/usr/local` on your build machine. Using [DESTDIR][]
will cause the installation paths to be prefixed by `$DESTDIR`. This makes it
possible to install and package the installation on the build machine without
having to place the installation in the same directory on the build machine as
@@ -249,7 +252,7 @@ or:
$ cd <ABSOLUTE_INSTALL_DIR_ON_TARGET>
$ ./Install [-minimal|-sasl] <ABSOLUTE_INSTALL_DIR_ON_TARGET>
-### Building With the `otp_build` Script ###
+### Building With the otp\_build Script ###
(8)
@@ -297,13 +300,13 @@ visible throughout the whole execution of all `configure` scripts. Other
variables needs to be defined as arguments to `configure` or exported in
the environment.
-### Variables for `otp_build` Only ###
+### Variables for otp\_build Only ###
Variables in this section are only used, when configuring Erlang/OTP for
cross compilation using `$ERL_TOP/otp_build configure`.
-*NOTE*! These variables currently have *no* effect if you configure using
-the `configure` script directly.
+> *NOTE*: These variables currently have *no* effect if you configure using
+> the `configure` script directly.
* `erl_xcomp_build` - The build system used. This value will be passed as
`--build=$erl_xcomp_build` argument to the `configure` script. It does
@@ -354,9 +357,9 @@ All variables in this section can also be used when native compiling.
* `LIBS` - Libraries.
-#### *D*ynamic *E*rlang *D*river Linking ####
+#### Dynamic Erlang Driver Linking ####
-*NOTE*! Either set all or none of the `DED_LD*` variables.
+> *NOTE*: Either set all or none of the `DED_LD*` variables.
* `DED_LD` - Linker for Dynamically loaded Erlang Drivers.
@@ -367,7 +370,7 @@ All variables in this section can also be used when native compiling.
#### Large File Support ####
-*NOTE*! Either set all or none of the `LFS_*` variables.
+> *NOTE*: Either set all or none of the `LFS_*` variables.
* `LFS_CFLAGS` - Large file support C compiler flags.
@@ -403,12 +406,15 @@ All variables in this section can also be used when native compiling.
### Optional Feature, and Bug Tests ###
These tests cannot (always) be done automatically when cross compiling. You
-usually do not need to set these variables. Only set these if you really
-know what you are doing.
+usually do not need to set these variables.
-Note that some of these values will override results of tests performed
-by `configure`, and some will not be used until `configure` is sure that
-it cannot figure the result out.
+> *WARNING*: Setting these variables wrong may cause hard to detect
+> runtime errors. If you need to change these values, *really* make sure
+> that the values are correct.
+
+> *NOTE*: Some of these values will override results of tests performed
+> by `configure`, and some will not be used until `configure` is sure that
+> it cannot figure the result out.
The `configure` script will issue a warning when a default value is used.
When a variable has been set, no warning will be issued.
@@ -483,24 +489,35 @@ When a variable has been set, no warning will be issued.
Copyright and License
---------------------
-> %CopyrightBegin%
->
-> Copyright Ericsson AB 2009-2010. All Rights Reserved.
->
-> The contents of this file are subject to the Erlang Public License,
-> Version 1.1, (the "License"); you may not use this file except in
-> compliance with the License. You should have received a copy of the
-> Erlang Public License along with this software. If not, it can be
-> retrieved online at http://www.erlang.org/.
->
-> Software distributed under the License is distributed on an "AS IS"
-> basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-> the License for the specific language governing rights and limitations
-> under the License.
->
-> %CopyrightEnd%
-
-
-
- [1]: INSTALL.html "$ERL_TOP/INSTALL.md"
- [2]: http://www.gnu.org/prep/standards/html_node/DESTDIR.html "DESTDIR"
+%CopyrightBegin%
+
+Copyright Ericsson AB 2009-2010. All Rights Reserved.
+
+The contents of this file are subject to the Erlang Public License,
+Version 1.1, (the "License"); you may not use this file except in
+compliance with the License. You should have received a copy of the
+Erlang Public License along with this software. If not, it can be
+retrieved online at http://www.erlang.org/.
+
+Software distributed under the License is distributed on an "AS IS"
+basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+the License for the specific language governing rights and limitations
+under the License.
+
+%CopyrightEnd%
+
+Modifying This Document
+-----------------------
+
+Before modifying this document you need to have a look at the
+`$ERL_TOP/README.md.txt` document.
+
+
+
+ [$ERL_TOP/INSTALL.md]: INSTALL
+ [Building in Git]: INSTALL#How-to-Build-and-Install-ErlangOTP_Building-in-Git
+ [How to Build the Documentation]: INSTALL#The-ErlangOTP-Documentation_How-to-Build-the-Documentation
+ [cross configuration variables]: #Currently-Used-Configuration-Variables
+ [DESTDIR]: http://www.gnu.org/prep/standards/html_node/DESTDIR.html
+
+ [?TOC]: true